DATA GENERATION APPARATUS, DATA GENERATION METHOD, AND PROGRAM
20210144209 · 2021-05-13
Assignee
Inventors
Cpc classification
H04Q9/00
ELECTRICITY
H04L67/12
ELECTRICITY
G06F16/9035
PHYSICS
International classification
G06F16/9035
PHYSICS
Abstract
A data generation apparatus generates first metadata to be associated with a virtual sensor. The apparatus includes an obtaining unit that obtains second metadata about a 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.
Claims
1. A data generation apparatus for generating first metadata to be associated with a virtual sensor, the virtual sensor being configured to receive input sensing data obtained by a real sensor sensing a target and to output new sensing data, the data generation apparatus comprising: an obtaining unit configured to obtain second metadata about the real sensor; a reception unit configured to receive tentatively input first metadata; a determination unit configured to determine consistency between the first metadata tentatively input through the reception unit and the second metadata obtained by the obtaining unit; and a generation unit configured to generate final first metadata based on a determination result obtained by the determination unit.
2. The data generation apparatus according to claim 1, wherein the reception unit is configured to receive information for a predefined input item to receive the tentatively input first metadata.
3. The data generation apparatus according to claim 2, further comprising: an output unit configured to output a screen to receive the tentatively input first metadata, wherein the screen includes the input item.
4. The data generation apparatus according to claim 1, further comprising: a transmission unit configured to transmit data to an external device located external to the data generation apparatus, wherein the external device is configured to store the second metadata, the transmission unit transmits the first metadata generated by the generation unit to the external device, and the external device is configured to receive and store the first metadata.
5. The data generation apparatus according to claim 4, wherein the first metadata transmitted by the transmission unit has identification information indicating that the first metadata is metadata about the virtual sensor.
6. The data generation apparatus according to claim 4, wherein the first metadata transmitted by the transmission unit has identification information indicating that the first metadata is metadata about sensing data output by the virtual sensor.
7. A data generation method for generating first metadata to be associated with a virtual sensor, the virtual sensor being configured to receive input sensing data obtained by a real sensor sensing a target and to output new sensing data, the method comprising: 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.
8. A non-transitory computer-readable medium storing a program causing a computer to generate first metadata to be associated with a virtual sensor, the virtual sensor being configured to receive input sensing data obtained by a real sensor sensing a target and to output new sensing data, the program causing 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.
9. The data generation apparatus according to claim 2, further comprising: a transmission unit configured to transmit data to an external device located external to the data generation apparatus, wherein the external device is configured to store the second metadata, the transmission unit transmits the first metadata generated by the generation unit to the external device, and the external device is configured to receive and store the first metadata.
10. The data generation apparatus according to claim 3, further comprising: a transmission unit configured to transmit data to an external device located external to the data generation apparatus, wherein the external device is configured to store the second metadata, the transmission unit transmits the first metadata generated by the generation unit to the external device, and the external device is configured to receive and store the first metadata.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0024]
[0025]
[0026]
[0027]
[0028]
[0029]
[0030]
[0031]
[0032]
[0033]
[0034]
[0035]
[0036]
[0037]
[0038]
DETAILED DESCRIPTION
1. Example Use
[0039] 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.
[0040]
[0041] As shown in
[0042] 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.
[0043] 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.
[0044] 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.
[0045] 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.
[0046] 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.
[0047] 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.
[0048] 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.
[0049] 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).
[0050]
[0051] Referring back to
[0052] 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.
[0053] 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.
[0054] 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.
[0055] 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.
[0056] 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.
[0057] 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.
2. Example Configuration
2-1. Hardware Configuration of Second Server
[0058]
[0059] As shown in
[0060] 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.
[0061] 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.
[0062] 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.
[0063] 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.
[0064] 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.
[0065]
2-2. Functional Configuration of Second Server
[0066]
[0067] 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.
[0068] 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.
[0069] 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.
[0070] 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.
[0071] 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.
[0072] 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.
[0073]
[0074] 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.
3. Operation Example
3-1. Operation Procedure for Virtual Sensor Definer
[0075] 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.
[0076] 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
[0077]
[0078] As shown in
[0079]
[0080] Referring back to
[0081]
[0082] 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.
[0083]
[0084] The screen also includes a setting field 204. The setting field 204 receives tentatively input virtual sensor metadata and option settings from the user.
[0085] 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.
[0086] 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.
[0087] 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.
[0088]
[0089] As shown in
[0090] 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.
[0091] 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.
[0092] 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.
[0093] 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 (
[0094]
[0095] 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.
3-2. Specific Procedure
[0096]
[0097] As shown in
[0098] Subsequently, the control unit 300 determines whether a simulation instruction is received (or whether the calculation start button 210 in
[0099] 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).
[0100] Subsequently, when the definer presses the metadata generation button 220 (
[0101] 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.
[0102] 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.
[0103]
[0104] 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).
4. Features
[0105] 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.
5. Modifications
5-1
[0106] 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.
5-2
[0107] 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.
5-3
[0108] 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.
5-4
[0109] 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.
5-5
[0110] 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.
Reference Signs List
[0111] 1 sensor network unit [0112] 2 application server [0113] 3 management system [0114] 4 first server [0115] 5 virtual sensor DB [0116] 6 virtual sensor simulator [0117] 7 second server [0118] 10 real sensor [0119] 11 sensor network adapter [0120] 40 metadata matching unit [0121] 41 real sensor metadata DB [0122] 42 application metadata DB [0123] 43 virtual sensor metadata DB [0124] 44 virtual sensor instance table [0125] 51 data I/O unit [0126] 52 virtual sensor function [0127] 53 virtual sensor calculation unit [0128] 54 virtual sensor class library [0129] 56 selection button [0130] 61 virtual sensor simulator API unit [0131] 62 virtual sensor metadata generation simulator [0132] 63 virtual sensor metadata generation unit [0133] 90 Internet [0134] 100 sensor network system [0135] 101 brace [0136] 201 description field [0137] 202, 205 display field [0138] 203 input field [0139] 204 setting field [0140] 210 calculation start button [0141] 220 metadata generation button [0142] 225, 226 representative data [0143] 227 determination result icon [0144] 300 control unit [0145] 310 CPU [0146] 320 RAM [0147] 330 ROM [0148] 350 bus [0149] 400 storage [0150] 510 communication I/F [0151] 621 obtaining unit [0152] 622 reception unit [0153] 623 determination unit