The present invention relates to a data generation apparatus, a data generation method, and a program.
Japanese Unexamined Patent Application Publication No. 2014-153797 (Patent Literature 1) describes a sensor network including a virtual sensor. The virtual sensor analyzes and processes sensing data obtained by other sensors (e.g., real sensors), and outputs the resultant data as new sensing data. In this sensor network, metadata about the virtual sensor (attribute information for identifying the virtual sensor) is entered into a virtual sensor master database (DB) (refer to Patent Literature 1).
Patent Literature 1: Japanese Unexamined Patent Application Publication No. 2014-153797
A virtual sensor receives sensing data input from real sensors. Thus, metadata about the virtual sensor is affected by metadata about the real sensors that each output sensing data to the virtual sensor. In other words, the metadata about the virtual sensor is to avoid inconsistency with the metadata about the real sensors. Thus, the metadata about the virtual sensor is generated to reflect the metadata about the real sensors. However, Patent Literature 1 describes no specific method for generating metadata about the virtual sensor.
In response to the above issue, one or more aspects of the present invention are directed to a data generation apparatus, a data generation method, and a program for generating appropriate metadata to be associated with a virtual sensor.
In response to the above issue, the sensor management unit, method, and program according to one or more aspects of the present invention have the structure described below.
More specifically, a data generation apparatus according to one aspect of the present invention generates first metadata to be associated with a virtual sensor. The virtual sensor receives input sensing data obtained by a real sensor sensing a target and outputs new sensing data. The data generation apparatus includes an obtaining unit that obtains second metadata about the real sensor, a reception unit that receives tentatively input first metadata, a determination unit that determines consistency between the first metadata tentatively input through the reception unit and the second metadata obtained by the obtaining unit, and a generation unit that generates final first metadata based on a determination result obtained by the determination unit.
The data generation apparatus determines the consistency between the tentatively input first metadata (metadata about the virtual sensor) and the second metadata (metadata about the real sensor), and thus can generate final first metadata based on the determination result. The data generation apparatus determines the consistency between the first metadata and the second metadata before generating the first metadata, and thus generates the first metadata consistent with the second metadata.
In the data generation apparatus according to the above aspect, the reception unit may receive information for a predefined input item to receive the tentatively input first metadata.
The data generation apparatus has predefined input items for tentatively inputting the first metadata. This facilitates a user to tentatively input the first metadata.
The data generation apparatus according to the above aspect may further include an output unit that outputs a screen to receive the tentatively input first metadata. The screen may include the input item.
In this data generation apparatus, the output unit outputs the screen containing such input items. This facilitates a user to tentatively input the first metadata while viewing the input items.
The data generation apparatus according to the above aspect may further include a transmission unit that transmits data to an external device located external to the data generation apparatus. The external device may store the second metadata. The transmission unit may transmit the first metadata generated by the generation unit to the external device. The external device may receive and store the first metadata.
This data generation apparatus stores the generated first metadata (metadata about the virtual sensor) into the external device. The first metadata once generated can be used to facilitate subsequent selection of the virtual sensor associated with the first metadata.
In the data generation apparatus according to the above aspect, the first metadata transmitted by the transmission unit may have identification information indicating that the first metadata is metadata about the virtual sensor.
This data generation apparatus generates the first metadata having the identification information (identification information indicating that the first metadata is metadata about the virtual sensor). This allows differentiation between the first metadata and the second metadata.
In the data generation apparatus according to the above aspect, the first metadata transmitted by the transmission unit may have identification information indicating that the first metadata is metadata about sensing data output by the virtual sensor.
This data generation apparatus generates the first metadata having the identification information (identification information indicating that the first metadata is metadata about sensing data output by the virtual sensor). This allows differentiation between the first metadata and the second metadata.
A data generation method according to another aspect of the present invention is a data generation method for generating first metadata to be associated with a virtual sensor. The virtual sensor receives input sensing data obtained by a real sensor sensing a target and outputs new sensing data. The method includes obtaining second metadata about the real sensor, receiving tentatively input first metadata, determining consistency between the tentatively input first metadata and the obtained second metadata, and generating final first metadata based on a determination result obtained in determining the consistency.
This data generation method determines the consistency between the tentatively input first metadata and the second metadata, and generates the final first metadata based on the determination result. This data generation method determines the consistency between the first metadata and the second metadata before generating the first metadata, and thus can generate the first metadata consistent with the second metadata.
A program according to another aspect of the present invention causes a computer to generate first metadata to be associated with a virtual sensor. The virtual sensor receives input sensing data obtained by a real sensor sensing a target and outputs new sensing data. The program causes the computer to implement obtaining second metadata about the real sensor, receiving tentatively input first metadata, determining consistency between the tentatively input first metadata and the obtained second metadata, and generating final first metadata based on a determination result obtained in determining the consistency.
This program determines the consistency between the tentatively input first metadata and the second metadata, and generates the final first metadata based on the determination result. This program determines the consistency between the first metadata and the second metadata before generating the first metadata, and thus can generate the first metadata consistent with the second metadata.
The data generation apparatus, the data generation method, and the program according to the aspects of the present invention generate appropriate metadata to be associated with a virtual sensor.
One or more embodiments of the present invention (hereafter, the present embodiment) will now be described in detail with reference to the drawings. The same or corresponding components in the figures are given the same reference numerals, and will not be described repeatedly. The present embodiment described below is a mere example of the present invention in any aspect. The present embodiment may be variously modified or altered within the scope of the present invention. More specifically, the present invention may be implemented as appropriate using any configuration specific to each embodiment.
As shown in
In the sensor network system 100, for example, the management system 3 implementing a virtual sensor or the sensor network unit 1 (real sensors 10) serves as a data provider, and each application server 2 serves as a data user. A virtual sensor refers to, for example, a virtually created sensor that receives input sensing data generated by one or more sensors (e.g., real sensors 10), and outputs new sensing data. The present embodiment focuses on distribution of sensing data generated by the virtual sensor.
The sensor network unit 1 includes, for example, multiple sensor network adapters 11. Each sensor network adapter 11 is connected to multiple real sensors 10. The real sensors 10 are connected to the Internet 90 through each sensor network adapter 11.
Each real sensor 10 senses a target to provide sensing data. Each real sensor 10 may be an image sensor (camera), a temperature sensor, a humidity sensor, an illumination sensor, a force sensor, a sound sensor, a radio frequency identification (RFID) sensor, an infrared sensor, a posture sensor, a rain sensor, a radiation sensor, or a gas sensor. Each real sensor 10 may be any other sensor. Each real sensor 10 may be a stationary sensor, or a mobile sensor, such as a mobile phone, a smartphone, or a tablet. Each real sensor 10 may be a single sensing device, or may include multiple sensing devices. The real sensors 10 may be installed for any purposes. For example, the real sensors 10 may be installed for factory automation (FA) and production management at a factory, urban traffic control, weather or other environmental measurement, healthcare, or crime prevention.
In the sensor network unit 1, the sensor network adapters 11 are located at different sites (remote from one another), and the real sensors 10 connected to each sensor network adapter 11 are located at the same site (or close sites). The sensor network adapters 11 and the real sensors 10 may be located in a different manner.
Each application server 2 executes an application that uses sensing data, and is implemented by, for example, a general-purpose computer. The application server 2 obtains sensing data for use through the Internet 90. Each application server 2 according to the present embodiment may operate as a data user in the sensor network system 100 as described above.
The management system 3 includes a first server 4 and a second server 7. The first server 4 enables distribution of sensing data in the sensor network system 100. Although described in detail later, the first server 4 may perform matching (a search for a data provider satisfying a request from a data user) for a data provider and a data user in the sensor network system 100. The second server 7 implements a virtual sensor. Although described in detail later, the second server 7 may implement a virtual sensor that receives input sensing data generated by one or more real sensors 10, and outputs new sensing data. The second server 7 corresponds to a data generation apparatus in an aspect of the present invention.
The first server 4 includes a real sensor metadata database (DB) 41, an application metadata DB 42, a virtual sensor metadata DB 43, and a metadata matching unit 40. To enable distribution of sensing data, a provider data catalog (DC) is preliminarily entered into the real sensor metadata DB 41 and the virtual sensor metadata DB 43, and a user DC is preliminarily entered into the application metadata DB 42.
A user DC indicates the attributes of a sensor to be used by a data user (e.g., the application server 2). A provider DC indicates the attributes of a data provider (e.g., the real sensor 10) that provides sensing data to an external device (e.g., the application server 2). For example, a provider DC indicating the attributes of a real sensor 10 that provides sensing data to an external device is entered into the real sensor metadata DB 41. For example, a provider DC indicating the attributes of a virtual sensor that provides sensing data to an external device is entered into the virtual sensor metadata DB 43. The virtual sensor metadata DB 43 includes a virtual sensor instance table 44 (described later).
Referring back to
When the real sensor metadata DB 41 contains no provider DC satisfying a request from the user DC, the metadata matching unit 40 refers to the virtual sensor metadata DB 43 and the application metadata DB 42. The metadata matching unit 40 then transmits a data flow control command to the second server 7 when determining that the virtual sensor metadata DB 43 contains a provider DC satisfying a request from the user DC entered in the application metadata DB 42.
The second server 7 includes a virtual sensor DB 5 and a virtual sensor simulator 6. The virtual sensor DB 5 stores information used for generating a virtual sensor (e.g., a virtual sensor class library 54, described later). The virtual sensor DB 5 will be described in detail later.
The virtual sensor simulator 6 simulates a virtual sensor before the virtual sensor is actually created. The virtual sensor simulator 6 simulates a virtual sensor as well as metadata about the virtual sensor (e.g., information contained in a provider DC that can be entered into the virtual sensor metadata DB 43). In creating a virtual sensor, for example, the virtual sensor simulator 6 receives metadata about the virtual sensor tentatively input by a virtual sensor definer, and simulates metadata based on the tentatively input metadata.
The virtual sensor receives sensing data input from one or more real sensors 10. Thus, metadata about the virtual sensor is affected by metadata about the real sensors 10 (hereafter also referred to as input sensors) that each output sensing data to the virtual sensor. To maintain the reliability of sensing data generated by the virtual sensor, metadata about the virtual sensor is to be consistent with metadata about the real sensors 10. Thus, the metadata about the virtual sensor is to be generated to reflect the metadata about the real sensors 10.
The virtual sensor simulator 6 according to the present embodiment determines, in simulating metadata about the virtual sensor, the consistency between metadata tentatively input by the virtual sensor definer, or first metadata, and metadata about the real sensors 10 (input sensors) that each output sensing data to the virtual sensor, or second metadata. The virtual sensor simulator 6 then generates final metadata based on the determination result.
The second server 7 according to the present embodiment determines, in simulating the virtual sensor, the consistency between metadata tentatively input by the virtual sensor definer and metadata about input sensors (real sensors 10). This enables generation of metadata about the virtual sensor consistent with metadata about the input sensors. An example configuration and an example operation of the second server 7 implementing the virtual sensor will now be described sequentially.
As shown in
The control unit 300 includes, for example, a central processing unit (CPU) 310, a random access memory (RAM) 320, and a read only memory (ROM) 330. The control unit 300 controls each unit in accordance with intended information processing. The control unit 300 will be described in detail later.
The communication I/F 510 communicates with external devices external to the second server 7 (e.g., the first server 4, the application server 2, and the sensor network unit 1) through the Internet 90. The communication I/F 510 includes, for example, a wired local area network (LAN) module and a wireless LAN module.
The storage 400 is an auxiliary storage device such as a hard disk drive or a solid state drive. The storage 400 stores, for example, a virtual sensor simulator program 60 and the virtual sensor DB 5.
The virtual sensor simulator program 60 is a control program for the second server 7 executable by the control unit 300. The virtual sensor simulator program 60 simulates a virtual sensor before the virtual sensor is actually created. The processing performed by the control unit 300 in accordance with the virtual sensor simulator program 60 will be described in detail later.
The virtual sensor DB 5 stores information to be used for implementing the virtual sensor. The virtual sensor DB 5 includes the virtual sensor class library 54. The virtual sensor class library 54 manages multiple classes that are abstractions of the virtual sensor. A virtual sensor instance (an object or an entity) is generated based on a relevant class.
For example, the data I/O unit 51 receives sensing data input from one or more real sensors 10, and outputs sensing data for a virtual sensor generated by the virtual sensor calculation unit 53 to an external device.
For example, the virtual sensor calculation unit 53 is capable of executing a virtual sensor function associated with each virtual sensor class, and calculates sensing data for a virtual sensor using sensing data input from one or more real sensors 10 through the data I/O unit 51.
The virtual sensor simulator 6 is a functional module implementable by the virtual sensor simulator program 60, and includes a virtual sensor simulator application programming interface (API) unit 61, a virtual sensor metadata generation simulator 62, and a virtual sensor metadata generation unit 63. The virtual sensor simulator 6 simulates a virtual sensor before the virtual sensor is actually created.
The virtual sensor simulator API unit 61 selects one or more input sensors (real sensors 10) in response to an instruction from the virtual sensor definer.
In the present embodiment, as described above, metadata about a virtual sensor is tentatively input by the virtual sensor definer in simulating the virtual sensor. The virtual sensor metadata generation simulator 62 determines whether the tentatively input metadata is consistent with metadata about each input sensor. The virtual sensor metadata generation simulator 62 will be described in detail later.
The virtual sensor metadata generation unit 63 generates metadata about the virtual sensor based on the simulation result, and transmits the generated metadata to (enters the metadata into) the virtual sensor metadata DB 43.
The obtaining unit 621 obtains metadata about each input sensor from the real sensor metadata DB 41. The reception unit 622 receives metadata about the virtual sensor tentatively input by the virtual sensor definer. The determination unit 623 determines whether metadata about each real sensor 10 obtained by the obtaining unit 621 is consistent with the metadata about the virtual sensor tentatively input through the reception unit 622.
To newly create a virtual sensor, the virtual sensor definer accesses the second server 7 through a user terminal (not shown), such as a smartphone, a personal computer (PC), or a tablet. This causes a screen received from the second server 7 to appear on the monitor of the user terminal.
For example, a screen for selecting a virtual sensor class appears on the monitor of the user terminal. For example, a graphical user interface (GUI) shown in
As shown in
Referring back to
The four real sensors 10 selected as input sensors also appear in the input field 203. The temperature sensors R010, R011, R012, and R013 are all installed around Kyoto station. A virtual sensor connected with the temperature sensors R010, R011, R012, and R013 as input sensors (a virtual sensor appearing in the description field 201) is created as an average temperature sensor around Kyoto station.
The screen also includes a setting field 204. The setting field 204 receives tentatively input virtual sensor metadata and option settings from the user.
In this example, the setting field 204 includes a virtual sensor metadata setting section and the options. Examples of items in the virtual sensor metadata setting section include a measurement target, a measurement site, time, a price, and a sensing data type. Examples of the options include data unit selection, data output intervals, accuracy, timer function, trigger input (yes/no), and emergency email setting. In the present embodiment, as described above, items for tentatively inputting metadata about the virtual sensor are predefined (appearing on the screen), thus facilitating the virtual sensor definer to tentatively input metadata.
The virtual sensor metadata setting section and the options include items preliminarily provided for each class. For a class selected by the virtual sensor definer, relevant items appear on the screen.
In addition, the virtual sensor definer may tentatively input each metadata piece in the virtual sensor metadata setting section. After tentatively inputting metadata, the virtual sensor definer can press the calculation start button 210.
As shown in
A determination result icon 227 indicating the result of the determination as to whether the tentatively input metadata about the virtual sensor is consistent with metadata about the input sensors appears in the setting field 204. Items without inconsistency (in other words, consistent items) are labeled with OK, whereas items with inconsistency (in other words, inconsistent items) are labeled with Error.
In this example, the temperature sensors R010, R011, R012, and R013 each measure outside air temperature around Kyoto station at 10:00 on Mar. 14, 2017. The items are thus labeled with OK. For measurement sites, for example, Kyoto station Hachijo gate and Kyoto station front both include Kyoto station as a common keyword. Setting the metadata indicating Kyoto station thus causes no inconsistency. For example, when metadata tentatively input for a virtual sensor indicates Osaka station as the measurement site for the virtual sensor in this example, where Kyoto station Hachijo gate and Kyoto station front are the measurement sites for the input sensors, the metadata about the input sensors is inconsistent with the metadata about the virtual sensor. In this case, the determination result icon 227 shows Error.
After simulating the virtual sensor is complete, the virtual sensor definer can set, for example, options for the virtual sensor. For example, the definer may select the data unit for sensing data. Such option settings may be eliminated.
Subsequently, the metadata generation button 220 is pressed to actually create the simulated virtual sensor. The metadata about the virtual sensor is then entered into the virtual sensor metadata DB 43 (
In the present embodiment, as described above, the second server 7 determines, in simulating virtual sensor metadata, the consistency between metadata (first metadata) tentatively input by the virtual sensor definer and metadata (second metadata) about input sensors (real sensors 10). The virtual sensor simulator 6 then generates final metadata based on the determination result. The second server 7 thus generates metadata about the virtual sensor consistent with metadata about the input sensors.
As shown in
Subsequently, the control unit 300 determines whether a simulation instruction is received (or whether the calculation start button 210 in
When determining that the simulation in step S9 is complete, or that no simulation instruction is received (No in step S7), the control unit 300 sets option data for the virtual sensor in accordance with the settings by the definer (step S11).
Subsequently, when the definer presses the metadata generation button 220 (
In the present embodiment, as described above, the metadata once generated about the virtual sensor is entered into the virtual sensor metadata DB 43. This facilitates subsequent selection of the virtual sensor associated with the metadata.
Also, the metadata to be entered into the virtual sensor metadata DB 43 has identification information (identification information indicating that the metadata is not metadata about a real sensor but is metadata about a virtual sensor). This allows easy differentiation between metadata about a virtual sensor and metadata about a real sensor 10.
Subsequently, the control unit 300 determines the consistency between the metadata tentatively input for the virtual sensor and the obtained metadata about the input sensors (step S92). The control unit 300 outputs the determination result (step S93).
As described above, the second server 7 according to the present embodiment determines, in simulating metadata about the virtual sensor, the consistency between metadata (first metadata) tentatively input from the virtual sensor definer and metadata (second metadata) about one or more real sensors 10 that each output sensing data to the virtual sensor. The virtual sensor simulator 6 then generates final metadata based on the determination result. The second server 7 thus generates metadata about the virtual sensor consistent with metadata about the input sensors.
In the above embodiment, metadata about the virtual sensor is first simulated, and then the definer presses the metadata generation button 220 to generate metadata about the virtual sensor. However, metadata about a virtual sensor may be generated upon being triggered in a different manner. For example, metadata about a virtual sensor may be generated when a determination result after the simulation is affirmative, rather than when the metadata generation button 220 is pressed.
In the above embodiment, metadata can be generated in response to the metadata generation button 220 being pressed by the definer although the determination result in simulating metadata about the virtual sensor is negative. In some embodiments, the metadata generation button 220 may be disabled from being pressed when the determination result obtained in the simulation is negative. In some embodiments, when the determination result in the simulation is negative, candidates for correcting the metadata may be output on the screen, or a display simply prompting correction of the metadata may be output on the screen. When the real sensor metadata DB 41 stores no real sensor 10 having metadata consistent with tentatively input metadata, a notification indicating no consistent metadata may be output on the screen.
Although the first server 4 and the second server 7 are separate servers in the above embodiment, a single server may be used to implement the same functions as achieved by both the first server 4 and the second server 7.
Although the second server 7 simulates the virtual sensor in the above embodiment, the simulation may be performed by another unit. For example, a program for simulating a virtual sensor may be installed on the application server 2 to simulate the virtual sensor.
In the above embodiment, the second server 7 transmits metadata about the virtual sensor together with identification information indicating that the metadata is metadata about the virtual sensor to the virtual sensor metadata DB 43. However, the identification information is not limited to the information in the above embodiment. For example, the second server 7 may generate metadata about sensing data for a virtual sensor, and transmit the metadata together with identification information indicating that the metadata is metadata about the sensing data by the virtual sensor to the virtual sensor metadata DB 43.
Number | Date | Country | Kind |
---|---|---|---|
2017-149978 | Aug 2017 | JP | national |
2017-228186 | Nov 2017 | JP | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/JP2018/023420 | 6/20/2018 | WO | 00 |