WO2019031037A1 - データ授受制御システム、方法およびプログラム - Google Patents

データ授受制御システム、方法およびプログラム Download PDF

Info

Publication number
WO2019031037A1
WO2019031037A1 PCT/JP2018/021345 JP2018021345W WO2019031037A1 WO 2019031037 A1 WO2019031037 A1 WO 2019031037A1 JP 2018021345 W JP2018021345 W JP 2018021345W WO 2019031037 A1 WO2019031037 A1 WO 2019031037A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
unit
combination
sensor
application
Prior art date
Application number
PCT/JP2018/021345
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 EP18843517.6A priority Critical patent/EP3667604A4/en
Priority to JP2019535618A priority patent/JP6852794B2/ja
Priority to US16/635,270 priority patent/US11100015B2/en
Publication of WO2019031037A1 publication Critical patent/WO2019031037A1/ja

Links

Images

Classifications

    • 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/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • G06Q10/087Inventory or stock management, e.g. order filling, procurement or balancing against orders
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06315Needs-based resource requirements planning or analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/085Payment architectures involving remote charge determination or related payment systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/26Government or public services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16YINFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
    • G16Y10/00Economic sectors
    • G16Y10/25Manufacturing
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16YINFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
    • G16Y40/00IoT characterised by the purpose of the information processing
    • G16Y40/20Analytics; Diagnosis

Definitions

  • the present invention relates to a data transfer control system for controlling data transfer between a data providing unit and a data acquisition unit, a data transfer control method, and a data transfer control program.
  • IoT Internet of Things
  • the data provider providing the data and the data user using the data were identical.
  • IoT spreads not only to the manufacturing industry, but also to general industries such as agriculture, forestry, construction and retailing, and further to the administrative field such as town planning, even when data providers and data users differ. It came to be assumed.
  • Patent Document 1 describes a device that performs matching between metadata on the sensor side and metadata on the application side, and controls data flow based on the result of the matching.
  • the device described in Patent Document 1 can prevent the data obtained by the sensor from being leaked to a third party.
  • Patent Document 2 describes a data structure for charging data obtained by a sensor.
  • Patent Document 3 describes a system for charging data obtained by a sensor. The data structure described in Patent Document 2 and the system described in Patent Document 3 can pay for the data obtained by the sensor.
  • Patent Document 4 describes a module (virtual sensor) that processes and outputs data obtained by a sensor.
  • Patent Document 5 describes a data structure for managing the module (virtual sensor).
  • Patent No. 5445722 gazette JP, 2015-38744, A JP, 2013-3816, A JP, 2015-62285, A JP, 2015-226102, A
  • the value of the data providing unit that provides data changes depending on the number of data acquiring units that are to receive the data provided from the data providing unit.
  • the value of the data providing unit is higher as the number of data acquiring units that are to receive the data provision from the data providing unit is larger. That is, the value of the data providing unit changes as the number of data acquisition units to receive data provision changes with the passage of time.
  • the data acquisition unit is an element that performs processing using data.
  • the present invention provides a data transfer control system, a data transfer control method, and a data transfer control program capable of generating an appropriate combination of the data providing unit and the data acquiring unit when the value of the data providing unit changes.
  • the purpose is to
  • the data transfer control system comprises a first data storage unit storing first data, which is information on a data providing unit providing data, and information on a data acquisition unit acquiring data provided by the data providing unit. And second data which is information including condition information indicating a condition that the data acquisition unit requests the data provision unit, and reference information serving as a reference when determining a combination of the data acquisition unit and the data provision unit. And a combination generation unit configured to generate a combination of the data acquisition unit and the data provision unit based on the second data storage unit to be stored, the condition information, and the first data, and the combination generation unit is configured to execute the first data storage.
  • the combination of the data acquisition unit and the data provision unit is Characterized in that it formed.
  • the data transfer control method relates to a first data storage unit storing first data, which is information on a data providing unit providing data, and a data acquisition unit acquiring data provided by the data providing unit.
  • the second information which is information including condition information indicating a condition that the data acquisition unit requests the data provision unit, and reference information serving as a reference when determining a combination of the data acquisition unit and the data provision unit.
  • a computer including a second data storage unit for storing data generates a combination of a data acquisition unit and a data providing unit based on the condition information and the first data, and the computer generates a first data storage unit.
  • a set of a data acquisition unit and a data provision unit when a change occurs in at least one of the first data stored by the second data storage unit and the second data stored by the second data storage unit. And generating an allowed.
  • the data transfer control program relates to a first data storage unit storing first data, which is information on a data providing unit providing data, and a data acquisition unit acquiring data provided by the data providing unit.
  • the second information which is information including condition information indicating a condition that the data acquisition unit requests the data provision unit, and reference information serving as a reference when determining a combination of the data acquisition unit and the data provision unit.
  • a data exchange control program mounted on a computer comprising a second data storage unit for storing data, the computer combining a data acquisition unit and a data provision unit based on condition information and first data.
  • the first data stored by the first data storage unit and the second data stored by the second data storage unit are executed. Even when a change occurs in either one, characterized in that to perform the combination generation processing.
  • the present invention in the case where the value of the data providing unit fluctuates, it is possible to generate an appropriate combination of the data providing unit and the data acquiring unit.
  • FIG. 1 is a block diagram showing a configuration example of a data transfer control system according to a first embodiment of this invention.
  • the data transfer control system 1 includes a sensor-side metadata storage unit 2, an application-side metadata storage unit 3, a combination generation unit 4, a combination determination unit 5, and a data transfer control unit 6. Prepare.
  • the data transfer control system 1 of the present embodiment controls data transfer between one or more sensors 11 and one or more applications 12.
  • the owner of the data transfer control system 1 can be called an intermediary.
  • the data exchange means that the sensor 11 provides data to the application 12 by communication.
  • each sensor 11 does not need to be a sensor of the same type, and each sensor 11 may be a sensor of a different type.
  • each application 12 does not have to be an application of the same type, and each application 12 may be an application of a different type. Further, the sensor 11 of the same type and the application 12 of the same type may be present.
  • the sensor 11 is a sensor owned by a data provider. The owners of the individual sensors 11 may be different.
  • the sensor 11 is an example of a data providing unit that provides data. That is, the sensor 11 corresponds to a data providing unit.
  • the sensor 11 provides the data obtained by the sensor 11 as it is to the data provider.
  • Information on the data providing unit is referred to as data providing unit-side metadata.
  • information on the sensor 11 is referred to as sensor-side metadata.
  • the sensor side metadata corresponds to the data providing unit side metadata.
  • the sensor-side metadata storage unit 2 stores sensor-side metadata. Specifically, the sensor-side metadata storage unit 2 stores sensor-side metadata of the sensor 11 of the data provider who has the intention of providing the data obtained by the sensor 11.
  • the data provider connects the sensor 11 to the sensor-side metadata storage unit 2 and stores the sensor-side metadata of the sensor 11 in the sensor-side metadata storage unit 2. This operation represents the intention of the data provider to provide the data obtained by the sensor 11.
  • an operation to delete sensor side metadata of the sensor 11 stored in the sensor side metadata storage unit 2 represents an operation that the data provider has lost the intention to provide the data obtained by the sensor 11 It can be said that For example, when the sensor 11 and the sensor-side metadata storage unit 2 are disconnected, the sensor-side metadata storage unit 2 deletes the sensor-side metadata of the sensor 11. In this case, the data provider may cause the sensor metadata storage unit 2 to delete the sensor metadata of the sensor 11 by disconnecting the sensor 11 from the sensor metadata storage unit 2.
  • the sensor-side metadata storage unit 2 may be configured to store sensor-side metadata of the sensor 11 of the data provider who has the intention of providing the data obtained by the sensor 11.
  • the operation for storing the sensor-side metadata in the sensor-side metadata storage unit 2 based on the intention of such a data provider is not limited to the above example. Further, the operation of causing the sensor-side metadata storage unit 2 to delete the sensor-side metadata is not limited to the above example.
  • a vehicle detection sensor is a sensor which irradiates a laser, for example, and detects whether the vehicle exists in a parking lot by the presence or absence of reflection of a laser.
  • FIG. 2 and FIG. 3 are explanatory diagrams showing an example of sensor side metadata.
  • FIG. 2 shows an example of sensor-side metadata when the sensor 11 is a camera.
  • ID Identity
  • Type indicates the type of the sensor 11, and in the example shown in FIG. 2, it indicates that the sensor 11 is a camera.
  • the “use fee” represents the fee for use of the sensor 11, and in the example shown in FIG. 2, the fee for use of the sensor 11 (camera) is “500 yen / minute”.
  • “Position” represents the position of the sensor 11. In this example, the position of the sensor 11 is represented by latitude and longitude.
  • Resolution is an example of an item provided when the sensor 11 is a camera, and represents the resolution of an image obtained by the camera.
  • the “file format” is also an example of an item provided when the sensor 11 is a camera, and represents a file format of an image obtained by the camera.
  • the “use fee” shown in FIG. 2 is rewritable. Also, if the installation position of the camera can be changed, the "position” can also be rewritten. In addition, if the camera has a function of changing the resolution and the file format, the "resolution” and the “file format” can also be rewritten.
  • FIG. 3 shows an example of sensor side metadata when the sensor 11 is a vehicle detection sensor.
  • ID”, “type”, “use fee” and “position” respectively indicate the ID of the sensor 11, the type of the sensor 11, the charge for the sensor 11, and the position of the sensor 11. This point is the same as the example shown in FIG. In the example shown in FIG. 3, the type of the sensor 11 is a vehicle detection sensor, and the usage fee of the sensor 11 is “100 yen / minute”.
  • the “cycle” is an example of an item provided when the sensor 11 is a vehicle detection sensor, and is a cycle in which the vehicle detection sensor detects whether a vehicle is present in the parking lot.
  • the “use fee” shown in FIG. 3 is rewritable.
  • the "position” can also be rewritten.
  • the vehicle detection sensor has a function of changing the detection cycle of the presence or absence of the vehicle, the "cycle” can also be rewritten.
  • the “period” is preferably short to some extent. As an example, the “period” is preferably about 5 minutes. For example, it is assumed that the "period” is one hour. Then, for example, at 10 o'clock, it is assumed that the presence of a vehicle is detected. Immediately after that (for example, 10:02), it is assumed that the vehicle leaves the parking lot and then the vehicle does not enter the parking lot. In this case, the next detection time of the vehicle presence is 11 o'clock, and the vehicle detection sensor is present from 10 o'clock to 11 o'clock from 10 o'clock to 11 o'clock despite the absence of the vehicle. Output data.
  • the cycle of the vehicle detection sensor is preferably, for example, about 5 minutes.
  • the cycle of about 5 minutes in the above description and “5 minutes” shown in FIG. 3 are examples, and the cycle of the vehicle detection sensor is limited to about 5 minutes or “5 minutes” Absent.
  • An example of a data acquisition unit that acquires data provided from the sensor 11 and executes processing using the data includes an information processing apparatus that operates according to an application (application software). Actually, it is such an information processing apparatus that receives data and performs processing, but for the sake of simplicity, the application receives data and executes processing for the sake of convenience. It explains as what to do. That is, in practice, each of the applications 12 shown in FIG. 1 is mounted on the information processing apparatus, and the information processing apparatus executes processing in accordance with the application 12. However, in the following description, for convenience, the application 12 is described as receiving data and executing processing. A plurality of applications 12 may be mounted on one information processing apparatus. Also, each application 12 may be mounted on a separate information processing apparatus.
  • the application 12 corresponds to a data acquisition unit.
  • the application 12 stores the application-side metadata of the application 12 in the application-side metadata storage unit 3 and makes a connection request to the sensor 11 that satisfies the condition required by the application 12. That is, the fact that the data user operates the application 12 and the application 12 causes the application-side metadata to be stored in the application-side metadata storage unit 3 according to the operation is a sensor that the data user satisfies the condition It means that we want to use the data provided by 11. Therefore, for example, that application-side metadata of a certain application (P) is stored in the application-side metadata storage unit 3 means that the application P is connected to the sensor 11 satisfying the condition requested by the application P. It means that you are making a request.
  • P application-side metadata of a certain application
  • the data user operates the application 12 and the application 12 causes the application-side metadata storage unit 3 to delete the application-side metadata of the application 12 in response to the operation.
  • the application-side metadata storage unit 3 deletes the application-side metadata of the application P in accordance with the request from the application P means that the application P has canceled the connection request to the sensor 11 .
  • 4 and 5 are explanatory diagrams showing examples of application-side metadata.
  • FIG. 4 shows an example of application-side metadata in the case where the application 12 is a video monitoring application.
  • ID is the ID of the application 12.
  • Type represents the type of application 12, and the example shown in FIG. 4 indicates that the application 12 is a "video monitoring application”.
  • “Sensor usage fee” is a usage fee for the sensor 11 when the application 12 uses the sensor 11 (ie, receiving data from the sensor 11).
  • the value of “sensor usage fee” is rewritable. In addition, that a value is rewritable means that a value may change with progress of time.
  • “Sensor usage fee” is one of the conditions required by the application 12.
  • “Priority” is a variable serving as a reference for determining an application 12 that exchanges data with the sensor 11 when a plurality of applications 12 are combined with one sensor 11.
  • the lower the priority value the higher the priority.
  • the priority value of the video surveillance application used by the police is set to "1”
  • the priority value of the video surveillance application used by the security company is set to "2”
  • the railway company The priority value of the video surveillance application being used is set to "3”.
  • the value of "priority” is also rewritable.
  • the priority value of the video surveillance application used by the railway company may normally be set to “1”, and may be rewritten to “3” in an emergency.
  • the priority value of the video surveillance application used by the police is normally set to "3", and may be rewritten to "1” in an emergency.
  • the “target area” is one of the conditions required by the application 12, and in the present example, the range is represented by latitude and longitude.
  • the range is represented by latitude and longitude.
  • the sensor-side metadata as shown in FIG. 2 and FIG. 3, it is assumed that latitude and longitude are set to the sixth decimal place as the “position”.
  • the application-side metadata it is assumed that the latitude and the longitude are determined by the number of digits less than the sixth decimal place as the “target area”. In this way, latitude and longitude can be used to represent the range.
  • latitude and longitude are set as the “target area” up to the fourth decimal place. In this case, in the example shown in FIG.
  • “Sensor to be used” is a variable indicating the type of sensor 11 that the application 12 intends to use. “Sensor to use” is also one of the conditions required by the application 12. The value of “sensor to be used” is also rewritable. However, when the function of the application 12 is limited, the value of the “sensor to be used” may not be rewritten. For example, in a monitoring application having a function of monitoring sound and a function of monitoring video, the value of “sensor to be used” may be rewritten from “microphone” to “camera”, and the reverse rewriting is performed. It is also good. Further, in a video monitoring application having only a video monitoring function, the value of “sensor to be used” is always set to “camera” even if it is rewritable.
  • resolution and the "file type” are variables provided when the "sensor to be used” is a camera. “Resolution” indicates the lower limit of resolution required for the camera. “File format” indicates the file format of an image required of the camera. “Resolution” and “file format” can also be rewritten. Also, “resolution” and “file format” are conditions required by the application 12.
  • FIG. 5 shows an example of application-side metadata when the application 12 is a parking lot management application.
  • ID "ID”, "type”, “use fee of sensor”, “priority”, “target area”, and “sensor to be used” shown in FIG. 5 are the same as those items shown in FIG. Omit.
  • Period of receiving data provision indicates that the parking lot management application provides data (data indicating whether a vehicle exists in the parking lot) from the vehicle detection sensor when the application 12 is a parking lot management application. It is a cycle to receive.
  • the “period for receiving provision of data” may be used as a condition for the application 12 to request the sensor 11. If the cycle in which the application receives data is shorter than the cycle in which the vehicle detection sensor detects the presence of a vehicle in the parking lot (see Fig. 3), the application receives the same data in duplicate. become meaningless. Therefore, the “period for receiving data provision” can be used as a condition that the application 12 requests the sensor 11. However, in the example illustrated in FIG.
  • the combination generation unit 4 collates the sensor-side metadata stored in the sensor-side metadata storage unit 2 with the application-side metadata stored in the application-side metadata storage unit 3 to obtain the application 12. A plurality of combinations with the sensor 11 satisfying the conditions required by the application 12 are generated. The combination generation unit 4 may generate all combinations of the application 12 and the sensor 11 satisfying the conditions required by the application 12.
  • the combination generation unit 4 sets a value of a first variable (a variable indicating a condition that the application 12 requests the sensor 11) in the application-side metadata stored in the application-side metadata storage unit 3 and By collating the content of the sensor-side metadata stored in the sensor-side metadata storage unit 2, all combinations of the application 12 and the sensor 11 satisfying the conditions required by the application 12 are generated. .
  • a first variable a variable indicating a condition that the application 12 requests the sensor 11
  • the sensor side metadata shown in FIG. 2 and the sensor side metadata shown in FIG. 3 are stored in the sensor side metadata storage unit 2.
  • the application-side metadata shown in FIG. 4 and the application-side metadata shown in FIG. 5 are stored in the application-side metadata storage unit 3.
  • the combination generation unit 4 uses the contents of the sensor-side metadata shown in FIG. 2 under the conditions described in the application-side metadata shown in FIG. 4 (“sensor usage fee”, “target area”, “use area It is judged that the sensor “,” “resolution”, “file type”) are all satisfied, and the application “11837 (see FIG. 4)” and the sensor “192.168.223.47 (see FIG. 2)” Generate a combination. Note that if there are other sensors 11 that satisfy the condition required by the application “11837”, the combination generation unit 4 also generates a combination of the application “11837” and the sensor 11 thereof.
  • the contents of the sensor side metadata shown in FIG. 3 are the conditions described in the application side metadata shown in FIG. 5 (“sensor usage fee”, “target area”, It is determined that all the sensors to be used are satisfied, and a combination of the application “11739 (see FIG. 5)” and the sensor “192.168.219.47 (see FIG. 3)” is generated. Note that if there are other sensors 11 that satisfy the condition required by the application “11739”, the combination generation unit 4 also generates a combination of the application “11739” and the sensor 11 thereof.
  • the value of “sensor to be used” is “camera”, and in the example shown in FIG. 3, the value of “type” is “vehicle detection sensor”, and “camera” and “vehicle detection sensor Does not match. Therefore, the combination of the application “11837 (see Fig. 4)” and the sensor “192.168.219.47 (see Fig. 3)” is not generated. Similarly, the combination of the application “11739 (see FIG. 5)” and the sensor “192.168.223.47 (see FIG. 2)” is not generated.
  • the combination generation unit 4 changes at least one of the sensor-side metadata stored in the sensor-side metadata storage unit 2 and the application-side metadata stored in the application-side metadata storage unit 3 In this case, as described above, all combinations of the application 12 and the sensor 11 satisfying the conditions required by the application 12 are generated.
  • the aspect of change includes the following aspects.
  • At least one sensor-side metadata is deleted from the sensor-side metadata already stored in the sensor-side metadata storage unit 2, or a new sensor side is stored in the sensor-side metadata storage unit 2. Metadata is additionally saved.
  • At least one application-side metadata of the application-side metadata already stored in the application-side metadata storage unit 3 is deleted or the application-side metadata storage unit 3 is newly added to the application side Metadata is saved.
  • the combination generation unit 4 generates a process of generating all combinations of the application 12 and the sensor 11 satisfying the conditions required by the application 12 each time any of the above (1) to (4) is detected. Run.
  • the combination generation unit 4 may periodically execute a process of generating all combinations of the application 12 and the sensor 11 satisfying the conditions required by the application 12.
  • the combination determination unit 5 determines, from among the combinations generated by the combination generation unit 4, a combination of the sensor 11 and the application 12 that transmits and receives data. Do. At this time, in the first embodiment, the combination determination unit 5 uses the combination 12 generated by the combination generation unit 4 as a reference for determining the combination of the sensor 11 and the application 12 that exchange data. Use the priority included in application-side metadata.
  • the combination determination unit 5 determines the combination of the sensor 11 and the application 12 as a combination of the sensor 11 and the application 12 that exchange data.
  • the combination determination unit 5 exchanges data between the combination of the application 12 with the highest priority among the applications 12 and the sensor 11 It is determined as a combination of the sensor 11 and the application 12.
  • the combination determining unit 5 includes the sensor “192.168.223.47 (see FIG. 2)” and the application “ The combination of “11837 (refer to FIG. 4)” is determined as a combination of the sensor 11 and the application 12 that exchange data.
  • the combination determination unit 5 specifies, for example, the application 12 in which the application-side metadata is stored earliest, and the combination of the application 12 and the sensor 11 You can decide the
  • the combination determination unit 5 specifies, for example, the application 12 with the highest priority for each of the sensors 11 forming the combination generated by the combination generation unit 4, thereby transmitting and receiving data between the sensor 11 and the application 12. It is sufficient to decide the combination.
  • the combination determination unit 5 may specify two applications 12 that receive data from the sensor 11 based on the priority. Then, the combination determination unit 5 exchanges data between the combination of the sensor 11 and one application 12 serving as a data providing destination and the combination of the sensor 11 and the other application 12 serving as a data providing destination. It may be determined as a combination of the sensor 11 and the application 12. This point is the same in the other embodiments described later.
  • the combination generation unit 4 when there are a plurality of sensors 11 satisfying the conditions required by one application 12, the combination generation unit 4 generates a combination of the application 12 and each of the plurality of sensors 11.
  • the combination determination unit 5 may determine the combination of each of the plurality of sensors 11 and the application 12 as a combination of the sensor 11 and the application 12 that perform data exchange.
  • the combination determination unit 5 may determine a plurality of combinations in which the application 12 is common.
  • the combination determination unit 5 may not allow the presence of a plurality of combinations in which the application 12 is common.
  • the combination determination unit 5 randomly selects one combination from among the combinations of the application 12 and each of the plurality of sensors 11, for example, the combination determination unit 5 transmits and receives data as described above
  • the combination with the application 12 may be determined. This point is the same in the other embodiments described later.
  • the data transfer control unit 6 transfers data between the sensor 11 and the application 12 for each combination of the sensor 11 performing the data transfer determined by the combination determination unit 5 and the application 12.
  • the data transfer control unit 6 transmits, for each combination determined by the combination determination unit 5, destination information of the application 12 serving as a data provision destination to the sensor 11 forming the combination.
  • the destination information is, for example, an IP (Internet Protocol) address of an information processing apparatus in which the application 12 is installed and a port number corresponding to the application 12.
  • IP Internet Protocol
  • the data transfer control unit 6 may transmit, to the sensor 11, the destination information according to the communication mode between the sensor 11 and the application 12.
  • the address information of the application 12 and the address information of the sensor 11 used when transmitting the address information to the sensor 11 are, for example, the data providers and data users who intend to use the data transfer control system 1 of the present invention. And may be registered in the data transfer control unit 6 in advance.
  • the sensor 11 having received the destination information from the data transfer control unit 6 may establish communication with the application 12 using the destination information, and transmit (provide) the data obtained by the sensor 11 to the application 12 .
  • the sensor-side metadata storage unit 2 and the application-side metadata storage unit 3 are realized by, for example, a storage device provided in a computer and a CPU (Central Processing Unit) of the computer operating according to a data transfer control program. Ru.
  • the combination generation unit 4, the combination determination unit 5, and the data transfer control unit 6 are realized by, for example, the CPU of the computer that operates according to the data transfer control program.
  • FIG. 6 is a flowchart showing an example of the process progress of the first embodiment. The detailed description of the items already described will be omitted.
  • the sensor-side metadata shown in FIG. 2 is stored in the sensor-side metadata storage unit 2 first. Further, it is assumed that the application-side metadata is not stored in the application-side metadata storage unit 3 yet. Therefore, the sensor 11 and the application 12 performing data exchange do not exist yet.
  • the combination generation unit 4 changes at least one of the sensor-side metadata stored in the sensor-side metadata storage unit 2 and the application-side metadata stored in the application-side metadata storage unit 3 Whether or not it is monitored (step S1). If no change has occurred (No in step S1), the combination generation unit 4 repeats the operation in step S1.
  • step S1 If a change occurs (Yes in step S1), the combination generation unit 4 generates a combination of the application 12 and the sensor 11 satisfying the conditions required by the application 12 (step S2a).
  • step S2b determines whether or not the combination of the application 12 and the sensor 11 satisfying the condition required by the application 12 is obtained. If the combination is not obtained (No in step S2b), the process proceeds to step S1. If the combination is obtained (Yes in step S2b), the process proceeds to step S3.
  • step S2a the combination generation unit 4 executes step S2a.
  • the combination generation unit 4 generates a combination of the sensor “192.168.223.47 (see FIG. 2)” and the application “11999 (see FIG. 7)”.
  • the process proceeds to step S3. .
  • step S3 the combination determination unit 5 determines, from among the combinations generated in step S2a, the combination of the sensor 11 and the application 12 that perform data exchange.
  • step S2a a combination of the sensor “192.168.223.47 (see FIG. 2)” and the application “11999 (see FIG. 7)” is generated. Also, there is no other application 12 combined with the sensor “192.168.223.47 (see FIG. 2)”. Therefore, the combination determination unit 5 combines the sensor “192.168.223.47 (see FIG. 2)” and the application “11999 (see FIG. 7)” as a combination of the sensor 11 and the application 12 that exchange data. Decide.
  • the data transfer control unit 6 determines whether there is a combination of the sensor 11 and the application 12 performing data transfer (step S4a).
  • the combination of the sensor 11 and the application 12 performing data exchange is a combination of the sensor 11 providing data by communication and the application 12 receiving the provision of the data.
  • step S4a If there is a combination of the sensor 11 and the application 12 performing data exchange (Yes in step S4a), the data exchange control unit 6 disconnects the communication between the sensor 11 and the application 12 (step S4b). After step S4b, the process proceeds to step S5. In step S4b, when the combination of the sensor 11 and the application 11 determined in the last step S3 communicates with each other, the data transfer control unit 6 does not have to disconnect the communication. Good.
  • step S4a if there is no combination of the sensor 11 and the application 12 performing data exchange (No in step S4a), the process proceeds to step S5 without executing step S4b.
  • step S4a since there is no combination of the sensor 11 and the application 12 performing data exchange at this time (No in step S4a), the process proceeds to step S5 without executing step S4b.
  • step S5 the data transfer control unit 6 transmits the destination information of the application 12 to the sensor 11 forming the combination determined in step S3 (step S5).
  • the data transfer control unit 6 transmits the destination information of the application “11999 (see FIG. 7)” to the sensor “192.168.223.47 (see FIG. 2)”.
  • the senor “192.168.223.47 (see FIG. 2)” establishes communication with the application “11999” using the destination information of the application “11999 (see FIG. 7)”, and the sensor “192” .168.223.47 “provides data to application” 11999 ".
  • step S5 the process after step S1 is repeated.
  • step S2a the combination generation unit 4 executes step S2a.
  • the content of the sensor-side metadata shown in FIG. 2 satisfies the condition indicated by the value of the first variable of the application-side metadata shown in FIG. 7.
  • the contents of the sensor-side metadata shown in FIG. 2 also satisfy the condition indicated by the value of the first variable of the application-side metadata shown in FIG. 4.
  • the combination generation unit 4 combines the sensor “192.168.223.47 (see FIG. 2)” with the application “11999 (see FIG. 7)” and the sensor “192.168.223.47 (see FIG. 7). 2) and the application “11837 (see FIG. 4)” are generated (step S2a).
  • step S2a since two combinations are obtained in step S2a (Yes in step S2b), the process proceeds to step S3.
  • step S3 the combination determination unit 5 determines, from among the combinations generated in step S2a, the combination of the sensor 11 and the application 12 that perform data exchange.
  • the sensor 11 is common. That is, there are two applications 12 in combination with one sensor 11.
  • the priority of the application “11837” is “1” (see FIG. 4)
  • the priority of the application “11999” is “3” (see FIG. 7). Therefore, the application 12 having the highest priority among the two applications 12 is the application “11837”. Therefore, the combination determination unit 5 combines the combination of the sensor “192.168.223.47 (see FIG. 2)” and the application “11837 (see FIG. 4)” among the two combinations generated in step S2a, It is determined as a combination of the sensor 11 and the application 12 that exchange data.
  • the data transfer control unit 6 determines whether there is a combination of the sensor 11 and the application 12 performing data transfer (step S4a).
  • the data transfer control unit 6 is a combination of the sensor 11 and the application 12 performing data transfer, the sensor “192.168.223.47 (see FIG. 2)” and the application “11999 (see FIG. 7)”. It is determined that there is a combination with (step S4a: Yes). Then, the data transfer control unit 6 disconnects the communication between the sensor “192.168.223.47 (see FIG. 2)” and the application “11999 (see FIG. 7)” (step S4 b).
  • the data transfer control unit 6 transmits the destination information of the application 12 to the sensor 11 forming the combination determined in step S3 (step S5).
  • the data transfer control unit 6 transmits the destination information of the application “11837 (see FIG. 4)” to the sensor “192.168.223.47 (see FIG. 2)”.
  • the senor "192.168.223.47 (see FIG. 2)" establishes communication with the application “11837” using the destination information of the application "11837 (see FIG. 4)", and the sensor "192" .168.223.47 “provides data to application” 11837 ".
  • the application side metadata illustrated in FIG. 4 is stored in the application side metadata storage unit 3, so that it can be said that two applications 12 are simultaneously requesting connection to one sensor 11.
  • the application “11837 (see FIG. 4)” has a higher priority than the application “11999 (see FIG. 7)”. Therefore, the data provision destination of the sensor “192.168.223.47” is switched from the application “11999” to the application “11837” by the operations of the steps S2a to S5.
  • step S2a is performed again.
  • the processing of S5 is executed.
  • steps S2a to S5 an appropriate combination of the sensor 11 and the application 12 for exchanging data is determined according to the priority order and the change of the condition requested by the application 12 to the sensor 11. Data exchange between the sensor 11 and the application 12 is realized.
  • the combination generation unit 4 generates a combination of the application 12 and the sensor 11 satisfying the condition required by the application 12. That is, the combination generation unit 4 can generate an appropriate combination of the data provision unit and the data acquisition unit when the value of the data provision unit changes. Then, the combination determination unit 5 determines the combination of the sensor 11 and the application 12 that performs data exchange based on the priority of the application 12, and the data exchange control unit 6 transmits the address of the application 12 to the sensor 11 forming the combination. Send information Therefore, under the situation where the value of the sensor 11 fluctuates as described above, the combination of the sensor 11 and the application 12 that performs data exchange is determined based on the priority, and the data between the sensor 11 and the application 12 is determined. Transfer can be realized.
  • Embodiment 2 The data transfer control system according to the second embodiment of the present invention can be represented by the block diagram shown in FIG. 1 as in the data transfer control system according to the first embodiment. Embodiments will be described. Descriptions of matters similar to those in the first embodiment will be omitted as appropriate.
  • Sensor-side metadata and application-side metadata in the second embodiment are similar to the sensor-side metadata and application-side metadata in the first embodiment (for example, see FIGS. 2 to 5). Good.
  • the combination determination unit 5 determines the combination of the sensor 11 and the application 12 that exchange data, based on the usage fee of the sensor 11 that the data user pays to the data provider. , And the combination of the sensor 11 and the application 12 are determined. Therefore, in the second embodiment, the application-side metadata includes the value of “sensor usage fee”.
  • the “sensor usage fee” in the application-side metadata also corresponds to a first variable (a variable indicating a condition that the application 12 requests the sensor 11), and a second variable (data) It also corresponds to a variable serving as a reference at the time of determining the combination of the sensor 11 and the application 12 that perform transfer.
  • “sensor usage fee” is also used as a condition, for example, the case where it is described to indicate the range of the amount of money, such as “600 yen or less / minute”, etc. will be described as an example Do.
  • the data provider may obtain more usage fees than the value of the “use fee” described in the sensor side metadata. For example, a data provider who sets the fee for use of the sensor 11 to "500 yen / min" may obtain more fee for use from the data user.
  • the application-side metadata may or may not include the value of “priority”.
  • the sensor-side metadata storage unit 2, the application-side metadata storage unit 3, the combination generation unit 4 and the data transfer control unit 6 in the second embodiment are the sensor-side metadata storage unit 2 in the first embodiment, the application side
  • the process is the same as that of the metadata storage unit 3, the combination generation unit 4 and the data transfer control unit 6, and the description will be omitted.
  • the combination determination unit 5 in the second embodiment combines the sensor 11 and the application 12 for exchanging data among the generated combinations. Decide. This point is the same as that of the first embodiment. However, in the second embodiment, the combination determination unit 5 uses the application 12 of the combination generated by the combination generation unit 4 as a reference for determining the combination of the sensor 11 and the application 12 that exchange data. Use the “sensor usage fee” included in the side metadata.
  • the combination determination unit 5 determines the combination of the sensor 11 and the application 12 as a combination of the sensor 11 and the application 12 that exchange data.
  • the combination determination unit 5 selects the combination of the application 12 with the highest “sensor usage fee” among the applications 12 and the sensor 11, It is determined as a combination of the sensor 11 for exchanging data and the application 12.
  • the sensor “192.168.223.47 (see FIG. 2)” In addition to the combination of the sensor “192.168.223.47 (see FIG. 2)” and the application “11837 (see FIG. 4)”, the sensor “192.168.223.47 (see FIG. 2)” It is assumed that a combination with another application (referred to as application B) in which the “sensor usage fee” is “600 yen or less / minute” is generated.
  • the “sensor usage fee” of the application “11837 (see FIG. 4)” is “500 yen or less per minute” (see FIG. 4), so the combination determining unit 5 can detect the sensor “192.168.223.47 (
  • the combination of “refer to FIG. 2)” and the application B is determined as a combination of the sensor 11 and the application 12 that exchange data.
  • the combination determination unit 5 specifies, for example, the application 12 in which the application-side metadata is stored earliest, and the application 12 and the sensor The combination with 11 may be determined. Also, for example, the combination determination unit 5 identifies the application 12 having the highest “priority” among the plurality of applications 12 having the highest “sensor usage fee”, and determines the combination of the application 12 and the sensor 11 You may
  • the combination determination unit 5 performs data exchange by specifying the application 12 with the highest “user charge for sensor” for each of the sensors 11 forming the combination generated by the combination generation unit 4.
  • the combination with the application 12 may be determined.
  • a flowchart showing the process progress of the second embodiment can also be represented as shown in FIG.
  • the situation where the application 12 provided with data from one sensor 11 is switched will be described with reference to the flowchart shown in FIG.
  • the detailed description of the items already described will be omitted.
  • the sensor-side metadata shown in FIG. 2 is stored in the sensor-side metadata storage unit 2 first. Further, it is assumed that the application-side metadata is not stored in the application-side metadata storage unit 3 yet. Therefore, the sensor 11 and the application 12 performing data exchange do not exist yet.
  • the combination generation unit 4 changes at least one of the sensor-side metadata stored in the sensor-side metadata storage unit 2 and the application-side metadata stored in the application-side metadata storage unit 3 Whether or not it is monitored (step S1). If no change has occurred (No in step S1), the combination generation unit 4 repeats the operation in step S1.
  • step S1 If a change occurs (Yes in step S1), the combination generation unit 4 generates a combination of the application 12 and the sensor 11 satisfying the conditions required by the application 12 (step S2a).
  • step S2b determines whether or not the combination of the application 12 and the sensor 11 satisfying the condition required by the application 12 is obtained. If the combination is not obtained (No in step S2b), the process proceeds to step S1. If the combination is obtained (Yes in step S2b), the process proceeds to step S3.
  • step S2a the combination generation unit 4 executes step S2a.
  • the combination generation unit 4 generates a combination of the sensor “192.168.223.47 (see FIG. 2)” and the application “11837 (see FIG. 4)”.
  • the process proceeds to step S3. .
  • step S3 the combination determination unit 5 determines, from among the combinations generated in step S2a, the combination of the sensor 11 and the application 12 that perform data exchange.
  • step S2a a combination of the sensor “192.168.223.47 (see FIG. 2)” and the application “11837 (see FIG. 4)” is generated. Also, there is no other application 12 combined with the sensor “192.168.223.47 (see FIG. 2)”. Therefore, the combination determination unit 5 combines the sensor “192.168.223.47 (see FIG. 2)” and the application “11837 (see FIG. 4)” as a combination of the sensor 11 and the application 12 for exchanging data. Decide.
  • step S3 the data transfer control unit 6 determines whether there is a combination of the sensor 11 and the application 12 performing data transfer (step S4a).
  • the combination of the sensor 11 and the application 12 performing data exchange is a combination of the sensor 11 providing data by communication and the application 12 receiving the provision of the data.
  • step S4a If there is a combination of the sensor 11 and the application 12 performing data exchange (Yes in step S4a), the data exchange control unit 6 disconnects the communication between the sensor 11 and the application 12 (step S4b). After step S4b, the process proceeds to step S5. In step S4b, when the combination of the sensor 11 and the application 11 determined in the last step S3 communicates with each other, the data transfer control unit 6 does not have to disconnect the communication. Good.
  • step S4a if there is no combination of the sensor 11 and the application 12 performing data exchange (No in step S4a), the process proceeds to step S5 without executing step S4b.
  • step S4a since there is no combination of the sensor 11 and the application 12 performing data exchange at this time (No in step S4a), the process proceeds to step S5 without executing step S4b.
  • step S5 the data transfer control unit 6 transmits the destination information of the application 12 to the sensor 11 forming the combination determined in step S3 (step S5).
  • the data transfer control unit 6 transmits the destination information of the application “11837 (see FIG. 4)” to the sensor “192.168.223.47 (see FIG. 2)”.
  • the senor "192.168.223.47 (see FIG. 2)" establishes communication with the application “11837” using the destination information of the application "11837 (see FIG. 4)", and the sensor "192" .168.223.47 “provides data to application” 11837 ".
  • step S5 the process after step S1 is repeated.
  • step S2a assume that the application-side metadata storage unit 3 newly stores application-side metadata shown in FIG. 8 in response to a request from another application 12. Then, since a change (addition of new data) has occurred in the stored application-side metadata, the combination generation unit 4 executes step S2a.
  • the contents of the sensor-side metadata shown in FIG. 2 satisfy the condition indicated by the value of the first variable of the application-side metadata shown in FIG. 4. Further, the contents of the sensor-side metadata shown in FIG. 2 satisfy the condition indicated by the value of the first variable of the application-side metadata shown in FIG. 8.
  • the combination generation unit 4 combines the sensor “192.168.223.47 (see FIG. 2)” and the application “11837 (see FIG. 4)” and the sensor “192.168.223.47 (see FIG. 4). 2) and the application “15777 (see FIG. 8)” are generated (step S2a).
  • step S2a since two combinations are obtained in step S2a (Yes in step S2b), the process proceeds to step S3.
  • step S3 the combination determination unit 5 determines, from among the combinations generated in step S2a, the combination of the sensor 11 and the application 12 that perform data exchange.
  • the sensor 11 is common. That is, there are two applications 12 in combination with one sensor 11. Of the two applications 12, the application 12 with the highest “sensor usage fee” is the application “15777”. Therefore, the combination determination unit 5 combines the combination of the sensor “192.168.223.47 (see FIG. 2)” and the application “15777 (see FIG. 8)” among the two combinations generated in step S2a, It is determined as a combination of the sensor 11 and the application 12 that exchange data.
  • the data transfer control unit 6 determines whether there is a combination of the sensor 11 and the application 12 performing data transfer (step S4a).
  • the data transfer control unit 6 is a combination of the sensor 11 and the application 12 performing data transfer, the sensor “192.168.223.47 (see FIG. 2)” and the application “11837 (see FIG. 4)”. It is determined that there is a combination with (step S4a: Yes). Then, the data transfer control unit 6 disconnects the communication between the sensor “192.168.223.47 (see FIG. 2)” and the application “11837 (see FIG. 4)” (step S4 b).
  • the data transfer control unit 6 transmits the destination information of the application 12 to the sensor 11 forming the combination determined in step S3 (step S5).
  • the data transfer control unit 6 transmits the destination information of the application “15777 (see FIG. 8)” to the sensor “192.168.223.47 (see FIG. 2)”.
  • the senor “192.168.223.47 (see FIG. 2)” establishes communication with the application “15777” using the destination information of the application “15777 (see FIG. 8),” and the sensor “192 .168.223.47 "provides data to application” 15777 ".
  • the application side metadata illustrated in FIG. 8 is stored in the application side metadata storage unit 3, so that it can be said that two applications 12 are simultaneously requesting connection to one sensor 11.
  • the application “15777 (see FIG. 8)” has a “sensor usage fee” higher than the application “11837 (see FIG. 4)”. Therefore, the destination of the data of the sensor “192.168.223.47” is switched from the application “11837” to the application “15777” by the operations of the steps S2a to S5.
  • steps S2a to S5 are executed again.
  • step S2a is performed again.
  • the processing of S5 is executed.
  • the sensor 11 and the application 12 that exchange data according to the “use fee of the sensor” and the change of the condition requested to the sensor 11 by the application 12 are appropriate. The combination is determined, and data exchange between the sensor 11 and the application 12 is realized.
  • the combination generation unit 4 generates a combination of the application 12 and the sensor 11 satisfying the condition required by the application 12. That is, the combination generation unit 4 can generate an appropriate combination of the data provision unit and the data acquisition unit when the value of the data provision unit changes. Then, the combination determination unit 5 determines the combination of the sensor 11 and the application 12 that performs data exchange based on the “sensor usage fee” defined in the application 12, and the data exchange control unit 6 makes the combination. The destination information of the application 12 is transmitted to the sensor 11. Therefore, under the situation where the value of the sensor 11 fluctuates, the combination of the sensor 11 and the application 12 that performs data exchange is determined based on the “sensor usage fee”, and the data between the sensor 11 and the application 12 is determined. Transfer can be realized.
  • the data provider who owns the sensor 11 with increased value can obtain more “sensor fee” from the data user. Then, the data provider can use the charge for maintenance of the sensor 11 and for broadening the communication path used by the sensor 11.
  • the combination determination unit 5 selects the application 12 with the highest “sensor usage fee” among the applications 12 and the application 12
  • the combination determining unit 5 is an application 12 that defines a “sensor usage fee” equal to the usage fee described in the sensor metadata, or the “sensor closest to the usage fee described in the sensor metadata.
  • the application 12 that defines the “use fee” may be identified, and the combination of the sensor 11 and the application 12 may be determined. In this case, the number of combinations of the sensor 11 and the application 12 determined by the combination determination unit 5 can be easily increased.
  • the combination determination unit 5 may change the reference at the time of determining the combination of the sensor 11 and the application 12 which exchange data, in accordance with an instruction from the outside.
  • the combination determination unit 5 normally generates a combination of the sensor 11 and the application 12 that transmits and receives data based on the “sensor usage fee” in the application-side metadata. You may decide. Then, in an emergency, for example, in accordance with an instruction from the mediator (the owner of the data transfer control system 1), the combination determination unit 5 changes the criteria for determining the combination, and is shown in the first embodiment.
  • the combination of the sensor 11 and the application 12 that performs data exchange may be determined based on the priority of the application 12.
  • Embodiment 3 In the first and second embodiments, the case where the data providing unit is the sensor 11 is shown.
  • the sensor 11 provides the data obtained by the sensor 11 to the data provision destination as it is.
  • the data providing unit may be a data processing unit that processes the data obtained by the sensor and provides the processed data to the data provision destination.
  • the data processing unit is not limited to data processing, but may be means for analyzing data obtained by the sensor and generating new data.
  • the metadata on the data providing unit side is information on the data processing unit.
  • the data processing unit is conveniently referred to as an engine.
  • metadata on the data providing unit side is referred to as engine side metadata for convenience.
  • FIG. 9 is a block diagram showing a configuration example of a data transfer control system according to a third embodiment of the present invention.
  • the data transfer control system 1 according to the third embodiment includes an engine-side metadata storage unit 7 instead of the sensor-side metadata storage unit 2 according to the first embodiment or the second embodiment.
  • the application-side metadata storage unit 3, the combination generation unit 4, the combination determination unit 5 and the data transfer control unit 6 in the third embodiment are the application-side metadata storage unit 3 in the first embodiment or the second embodiment. The same as the combination generation unit 4, the combination determination unit 5, and the data transfer control unit 6.
  • the engine-side metadata storage unit 7 stores engine-side metadata as data provision unit-side metadata. Specifically, the engine-side metadata storage unit 7 stores engine-side metadata of the engine 13 of the data provider who has the intention of providing the data obtained by the engine 13.
  • each engine 13 does not have to be an engine of the same type, and each engine 13 may be an engine of a different type.
  • the difference between the sensor 11 and the engine 13 is that the sensor 11 provides the data obtained by the sensor 11 as it is, whereas the engine 13 receives data obtained by the sensor 11 (not shown in FIG. 9). Process and provide post-process data. It can be said that the sensor 11 and the engine 13 have in common the essential point of providing data.
  • the engine-side metadata storage unit 7 differs from the sensor-side metadata storage unit 2 in that engine-side metadata is stored instead of sensor-side metadata, the sensor-side metadata storage is essentially It can be said that it is the same as Part 2.
  • the third embodiment is different from the first and second embodiments in that the engine 13 is used instead of the sensor 11.
  • the third embodiment is essentially the first or second embodiment. It can be said that it is similar to the embodiment of.
  • FIG. 10 is an explanatory view showing an example of engine side metadata.
  • ID is an ID of the engine 13.
  • Type indicates the type of the engine 13, and the example shown in FIG. 10 indicates that the engine 13 executes correlation analysis.
  • User fee represents the fee for use of the engine 13, and in the example shown in FIG. 10, represents that the fee for use of the engine 13 is "500 yen / minute”.
  • the “use fee” shown in FIG. 10 is rewritable.
  • FIG. 11 and 12 are explanatory diagrams showing an example of application-side metadata in the third embodiment.
  • ID is the ID of the application 12.
  • the type indicates the type of the application 12.
  • the type of the application 12 is “real estate evaluation application”, and in the example illustrated in FIG. 12, the type of the application 12 is “drink sales analysis application”.
  • the “engine charge” shown in FIGS. 11 and 12 is a charge for the engine 13 when the application 12 uses the engine 13 (ie, receives data from the engine 13).
  • the value of "usage of engine” is rewritable.
  • the “engine fee” is one of the conditions required by the application 12.
  • the “priority” shown in FIGS. 11 and 12 is the same as the “priority” in the first embodiment.
  • Engine to be used shown in FIGS. 11 and 12 is a variable indicating the type of engine 13 that the application 12 intends to use. “Used engine” is also one of the conditions required by the application 12. Also, the value of "engine to be used” can be rewritten.
  • the combination determination unit 5 determines the combination of the engine 13 and the application 12 based on the usage charge of the engine 13, “engine usage charge” and “engine to be used”
  • the first variable corresponds
  • the "engine charge” corresponds to the second variable. That is, in this case, the “engine charge” corresponds to both the first variable and the second variable.
  • the engine-side metadata illustrated in FIG. 10 is different from, for example, the sensor-side metadata illustrated in FIGS. 2 and 3.
  • the application-side metadata illustrated in FIGS. 11 and 12 is different from, for example, the application-side metadata illustrated in FIGS. 4 and 5.
  • the application-side metadata illustrated in FIGS. 11 and 12 includes the first variable and the second variable, and the operations of the combination generation unit 4, the combination determination unit 5, and the data transfer control unit 6 are The operation of those elements in one embodiment or the operation of those elements in the second embodiment is the same as that of the second embodiment, and the detailed description is omitted.
  • the combination generation unit 4 has a value of a first variable (a variable indicating a condition that the application 12 requests the engine 13) in the application-side metadata stored in the application-side metadata storage unit 3 and an engine-side metadata By collating the contents of the engine-side metadata stored in the storage unit 7, all combinations of the application 12 and the engine 13 satisfying the conditions required by the application 12 are generated.
  • a first variable a variable indicating a condition that the application 12 requests the engine 13
  • the engine-side metadata shown in FIG. 10 satisfies the conditions indicated by the “engine usage fee” value and the “engine to be used” value shown in FIG. Therefore, the combination generation unit 4 generates a combination of the engine “135 (see FIG. 10)” and the application “12237 (see FIG. 11)”.
  • the engine-side metadata shown in FIG. 10 does not satisfy the condition indicated by the value of “usage of the engine” shown in FIG. Thus, no combination of engine “135 (see FIG. 10)" and application "12299” is generated.
  • the combination determination unit 5 determines, from among the combinations generated by the combination generation unit 4, a combination of the engine 13 and the application 12 that exchange data. At this time, as in the first embodiment, the combination determination unit 5 transmits and receives the engine 13 and the application 12 that exchange data based on the priority included in the application-side metadata of the generated application 12 forming the combination. The combination of may be determined. Alternatively, as in the second embodiment, the combination determination unit 5 exchanges data with the engine 13 that transmits and receives data based on the “use fee of the engine” included in the application-side metadata of the generated application 12 forming the combination. The combination with the application 12 may be determined.
  • the same effect as that of the first embodiment or the second embodiment can be obtained.
  • the sensor described in the effects of the first embodiment and the effects of the second embodiment is replaced with an engine.
  • the combination determination unit 5 may change the reference at the time of determining the combination of the engine 13 and the application 12 that perform data exchange according to an instruction from the outside.
  • the combination determination unit 5 may normally determine the combination of the engine 13 and the application 12 that exchange data, based on the “engine charge” in the application-side metadata. Then, in an emergency, for example, in response to an instruction from the mediator (the owner of the data transfer control system 1), the combination determination unit 5 changes the criteria for determining the combination, and based on the priority of the application 12 The combination of the engine 13 and the application 12 for exchanging data may be determined.
  • FIG. 13 is a schematic block diagram showing a configuration example of a computer according to each embodiment of the present invention.
  • the computer 1000 includes a CPU 1001, a main storage 1002, an auxiliary storage 1003, an interface 1004, and a communication interface 1005.
  • the data transfer control system 1 of each embodiment is mounted on a computer 1000.
  • the operation of the data transfer control system 1 is stored in the auxiliary storage device 1003 in the form of a data transfer control program.
  • the CPU 1001 reads a program from the auxiliary storage device 1003 and develops the program in the main storage device 1002, and executes the above processing according to the program.
  • the communication interface 1005 is a communication interface used when the CPU 1001 receives sensor-side metadata (or engine-side metadata), application-side metadata, or transmits application destination information.
  • the auxiliary storage device 1003 is an example of a non-temporary tangible medium.
  • Other examples of non-transitory tangible media include magnetic disks connected via an interface 1004, magneto-optical disks, CD-ROMs (Compact Disk Read Only Memory), DVD-ROMs (Digital Versatile Disk Read Only Memory), Semiconductor memory etc. are mentioned.
  • the computer 1000 that has received the distribution may deploy the program in the main storage device 1002 and execute the above processing.
  • FIG. 14 is a block diagram showing an outline of the present invention.
  • the data transfer control system of the present invention includes a first data storage unit 72, a second data storage unit 73, and a combination generation unit 74.
  • the first data storage unit 72 (for example, the sensor-side metadata storage unit 2, the engine-side metadata storage unit 7) is a first data (for example, sensor-side metadata, engine Store side metadata).
  • the second data storage unit 73 (for example, the application-side metadata storage unit 3) is information related to a data acquisition unit that acquires data provided from the data provision unit, and a condition that the data acquisition unit requests the data provision unit Information (for example, the value of the first variable) indicating reference information, and reference information (for example, the value of the second variable) serving as a reference when determining the combination of the data acquisition unit and the data providing unit And store the second data (for example, application-side metadata).
  • data provision unit Information for example, the value of the first variable
  • reference information for example, the value of the second variable
  • the combination generation unit 74 (for example, the combination generation unit 4) generates a combination of the data acquisition unit and the data provision unit based on the condition information and the first data.
  • the combination generation unit 74 When a change occurs in at least one of the first data stored in the first data storage unit 72 and the second data stored in the second data storage unit 73, the combination generation unit 74 generates the data acquisition unit and the data Generate a combination with the provider.
  • a first data storage unit storing first data, which is information on a data providing unit providing data; Condition information indicating information on the data acquisition unit for acquiring the data provided from the data provision unit, the condition information indicating conditions for the data acquisition unit to request the data provision unit; a data acquisition unit and a data provision unit A second data storage unit that stores second data that is information including reference information that is a reference for determining a combination; A combination generation unit configured to generate a combination of the data acquisition unit and the data provision unit based on the condition information and the first data; The combination generation unit When a change occurs in at least one of the first data stored in the first data storage unit and the second data stored in the second data storage unit, the data acquisition unit and the data provision unit A data exchange control system characterized by generating a combination.
  • a combination determination unit that determines a combination of a data acquisition unit and a data provision unit based on reference information from among the combinations generated by the combination generation unit;
  • the data transfer control system according to claim 1, further comprising: a data transfer control unit configured to execute data transfer between the data acquisition unit and the data provision unit that are determined as the combination determination unit.
  • the second data storage unit is Storing, as reference information, second data including a priority when the data acquiring unit receives provision of data from the data providing unit;
  • the combination determination unit If there are a plurality of data acquisition units in combination with one data provision unit, a data acquisition unit in combination with the data provision unit is determined based on the priority order. Control system.
  • the second data storage unit is Storing second data including usage fee of the data providing unit as the reference information;
  • the combination determination unit If there are a plurality of data acquisition units in combination with one data provision unit, a data acquisition unit in combination with the data provision unit is determined based on the usage fee. Control system.
  • the first data storage unit is The data transfer control system according to any one of appendices 1 to 5, wherein information on a sensor is stored as the first data.
  • the first data storage unit is The data transfer control system according to any one of Appendixes 1 to 5, which stores information on a data processing unit that provides data obtained by processing the data output from the sensor as the first data.
  • a first data storage unit storing first data, which is information on a data providing unit providing data; Condition information indicating information on the data acquisition unit for acquiring the data provided from the data provision unit, the condition information indicating conditions for the data acquisition unit to request the data provision unit; a data acquisition unit and a data provision unit
  • a computer comprising: a second data storage unit storing second data, which is information including reference information that is a reference for determining a combination; Generating a combination of the data acquisition unit and the data provision unit based on the condition information and the first data; The computer When a change occurs in at least one of the first data stored in the first data storage unit and the second data stored in the second data storage unit, the data acquisition unit and the data provision unit A data transfer control method characterized in that a combination is generated.
  • a first data storage unit storing first data, which is information on a data providing unit providing data; Condition information indicating information on the data acquisition unit for acquiring the data provided from the data provision unit, the condition information indicating conditions for the data acquisition unit to request the data provision unit; a data acquisition unit and a data provision unit
  • a data transfer control program mounted on a computer comprising: a second data storage unit storing second data, which is information including reference information which is a reference at the time of determining a combination, On the computer A combination generation process is performed to generate a combination of the data acquisition unit and the data provision unit based on the condition information and the first data. Data transfer for executing the combination generation process when a change occurs in at least one of the first data stored in the first data storage unit and the second data stored in the second data storage unit Control program.
  • the present invention is suitably applied to a data transfer control system that controls data transfer between a data providing unit and a data acquisition unit.

Abstract

データ提供部の価値が変動する場合において、データ提供部とデータ取得部の適切な組合せを生成することができるデータ授受制御システムを提供する。第1データ記憶部72は、データを提供するデータ提供部に関する情報である第1データを記憶する。第2データ記憶部73は、データ提供部から提供されるデータを取得するデータ取得部に関する情報であって、データ取得部がデータ提供部に要求する条件を示す条件情報と、データ取得部とデータ提供部との組合せを決定する際の基準となる基準情報とを含む情報である第2データを記憶する。組合せ生成部74は、条件情報と、第1データとに基づいて、データ取得部とデータ提供部との組合せを生成する。組合せ生成部74は、第1データと第2データの少なくともいずれか一方に変化が生じた場合に、データ取得部とデータ提供部との組合せを生成する。

Description

データ授受制御システム、方法およびプログラム
 本発明は、データ提供部とデータ取得部との間のデータ授受を制御するデータ授受制御システム、データ授受制御方法およびデータ授受制御プログラムに関する。
 近年、センサからデータを収集し、収集したデータを分析し、分析されたデータに基づいて物を制御する仕組みであるIoT(Internet of Things)が普及している。これまで、IoTは、製造業を中心に普及してきた。製造業向けのIoTでは、データを提供するデータ提供者と、そのデータを使用するデータ使用者が同一であることが前提であった。
 IoTが、製造業だけでなく、例えば、農業、林業、建設業、小売業等の産業全般、さらに、街づくりといった行政分野にも普及するにつれて、データ提供者とデータ使用者とが異なる場合も想定されるようになった。
 また、特許文献1には、センサ側のメタデータと、アプリケーション側のメタデータとのマッチングを行い、マッチングの結果に基づいてデータフローを制御する装置が記載されている。特許文献1に記載の装置により、センサによって得られたデータの第三者への流出を防ぐことができる。
 また、特許文献2には、センサによって得られたデータに対して課金するためのデータ構造が記載されている。特許文献3には、センサによって得られたデータに課金するシステムが記載されている。特許文献2に記載のデータ構造や、特許文献3に記載のシステムによって、センサによって得られたデータに対して、対価を支払うことができる。
 特許文献4には、センサによって得られたデータを加工して出力するモジュール(仮想センサ)が記載されている。特許文献5には、そのモジュール(仮想センサ)を管理するためのデータ構造が記載されている。
特許第5445722号公報 特開2015-38744号公報 特開2013-3816号公報 特開2015-62285号公報 特開2015-226102号公報
 データを提供するデータ提供部(または、データ提供部が提供するデータ)の価値は、そのデータ提供部からデータの提供を受けようとするデータ取得部の数によって変化すると言える。また、データ提供部からデータの提供を受けようとするデータ取得部の数が多いほど、そのデータ提供部の価値は高いと言える。すなわち、時間の経過に伴い、データの提供を受けようとするデータ取得部の数が変化することで、データ提供部の価値は変化する。なお、データ取得部は、データを使用して処理を実行する要素である。
 このように、データ提供部の価値が変動する場合において、データ提供部とデータ取得部の適切な組合せを生成できることが好ましい。
 そこで、本発明は、データ提供部の価値が変動する場合において、データ提供部とデータ取得部の適切な組合せを生成することができるデータ授受制御システム、データ授受制御方法およびデータ授受制御プログラムを提供することを目的とする。
 本発明によるデータ授受制御システムは、データを提供するデータ提供部に関する情報である第1データを記憶する第1データ記憶部と、データ提供部から提供されるデータを取得するデータ取得部に関する情報であって、データ取得部がデータ提供部に要求する条件を示す条件情報と、データ取得部とデータ提供部との組合せを決定する際の基準となる基準情報とを含む情報である第2データを記憶する第2データ記憶部と、条件情報と、第1データとに基づいて、データ取得部とデータ提供部との組合せを生成する組合せ生成部とを備え、組合せ生成部が、第1データ記憶部が記憶する第1データと、第2データ記憶部が記憶する第2データの少なくともいずれか一方に変化が生じた場合に、データ取得部とデータ提供部との組合せを生成することを特徴とする。
 また、本発明によるデータ授受制御方法は、データを提供するデータ提供部に関する情報である第1データを記憶する第1データ記憶部と、データ提供部から提供されるデータを取得するデータ取得部に関する情報であって、データ取得部がデータ提供部に要求する条件を示す条件情報と、データ取得部とデータ提供部との組合せを決定する際の基準となる基準情報とを含む情報である第2データを記憶する第2データ記憶部とを備えるコンピュータが、条件情報と、第1データとに基づいて、データ取得部とデータ提供部との組合せを生成し、そのコンピュータが、第1データ記憶部が記憶する第1データと、第2データ記憶部が記憶する第2データの少なくともいずれか一方に変化が生じた場合に、データ取得部とデータ提供部との組合せを生成することを特徴とする。
 また、本発明によるデータ授受制御プログラムは、データを提供するデータ提供部に関する情報である第1データを記憶する第1データ記憶部と、データ提供部から提供されるデータを取得するデータ取得部に関する情報であって、データ取得部がデータ提供部に要求する条件を示す条件情報と、データ取得部とデータ提供部との組合せを決定する際の基準となる基準情報とを含む情報である第2データを記憶する第2データ記憶部とを備えるコンピュータに搭載されるデータ授受制御プログラムであって、コンピュータに、条件情報と、第1データとに基づいて、データ取得部とデータ提供部との組合せを生成する組合せ生成処理を実行させ、第1データ記憶部が記憶する第1データと、第2データ記憶部が記憶する第2データの少なくともいずれか一方に変化が生じた場合に、組合せ生成処理を実行させることを特徴とする。
 本発明によれば、データ提供部の価値が変動する場合において、データ提供部とデータ取得部の適切な組合せを生成することができる。
本発明の第1の実施形態のデータ授受制御システムの構成例を示すブロック図である。 センサ側メタデータの例を示す説明図である。 センサ側メタデータの例を示す説明図である。 アプリケーション側メタデータの例を示す説明図である。 アプリケーション側メタデータの例を示す説明図である。 第1の実施形態の処理経過の例を示すフローチャートである。 アプリケーション側メタデータの例を示す説明図である。 アプリケーション側メタデータの例を示す説明図である。 本発明の第3の実施形態のデータ授受制御システムの構成例を示すブロック図である。 エンジン側メタデータの例を示す説明図である。 第3の実施形態におけるアプリケーション側メタデータの例を示す説明図である。 第3の実施形態におけるアプリケーション側メタデータの例を示す説明図である。 本発明の各実施形態に係るコンピュータの構成例を示す概略ブロック図である。 本発明の概要を示すブロック図である。
 以下、本発明の実施形態を図面を参照して説明する。
実施形態1.
 図1は、本発明の第1の実施形態のデータ授受制御システムの構成例を示すブロック図である。
 第1の実施形態のデータ授受制御システム1は、センサ側メタデータ保存部2と、アプリケーション側メタデータ保存部3と、組合せ生成部4と、組合せ決定部5と、データ授受制御部6とを備える。
 本実施形態のデータ授受制御システム1は、1つまたは複数のセンサ11と、1つまたは複数のアプリケーション12との間のデータ授受を制御する。データ授受制御システム1の所有者は、仲介者と称することができる。ここで、データ授受とは、通信によってセンサ11がアプリケーション12にデータを提供することである。
 図1では、3つのセンサ11を示しているが、センサの数は特に限定されない。同様に、図1では、3つのアプリケーション12を示しているが、アプリケーションの数は特に限定されない。また、各センサ11は、同一の種別のセンサである必要はなく、各センサ11は、異なる種別のセンサであってもよい。同様に、各アプリケーション12は、同一の種別のアプリケーションである必要はなく、各アプリケーション12は、異なる種別のアプリケーションであってもよい。また、同じ種別のセンサ11や、同じ種別のアプリケーション12が存在していていもよい。
 センサ11は、データ提供者が所有するセンサである。個々のセンサ11の所有者は、それぞれ異なっていてもよい。
 センサ11は、データを提供するデータ提供部の一例である。すなわち、センサ11は、データ提供部に該当する。
 センサ11は、センサ11が得たデータをそのまま、データの提供先に提供する。
 データ提供部に関する情報を、データ提供部側メタデータと記す。本発明の実施形態では、センサ11に関する情報を、センサ側メタデータと記す。センサ側メタデータは、データ提供部側メタデータに該当する。
 センサ側メタデータ保存部2は、センサ側メタデータを保存する。具体的には、センサ側メタデータ保存部2は、センサ11が得たデータを提供する意思を有するデータ提供者のセンサ11のセンサ側メタデータを保存する。
 例えば、データ提供者は、センサ11をセンサ側メタデータ保存部2に接続させ、そのセンサ11のセンサ側メタデータをセンサ側メタデータ保存部2に保存させる。この操作は、センサ11が得たデータを提供するというデータ提供者の意思を表している。
 また、例えば、センサ側メタデータ保存部2に保存されたセンサ11のセンサ側メタデータを削除する操作は、そのセンサ11によって得られるデータを提供する意思をデータ提供者がなくしたことを表す操作であると言える。例えば、センサ11とセンサ側メタデータ保存部2との接続が断たれた場合に、センサ側メタデータ保存部2がそのセンサ11のセンサ側メタデータを削除するものとする。この場合、データ提供者は、センサ11とセンサ側メタデータ保存部2との接続が断つことによって、センサ側メタデータ保存部2にそのセンサ11のセンサ側メタデータを削除させてもよい。
 センサ側メタデータ保存部2は、センサ11が得たデータを提供する意思を有するデータ提供者のセンサ11のセンサ側メタデータを保存する構成であればよい。このようなデータ提供者の意思に基づいて、センサ側メタデータ保存部2にセンサ側メタデータを保存させる操作は、上記の例に限定されない。また、センサ側メタデータ保存部2にセンサ側メタデータを削除させる操作も、上記の例に限定されない。
 また、センサ11の例として、カメラ、マイクロフォン、照度計、車両検知センサ等が挙げられるが、センサ11は、これらの例に限定されない。なお、車両検知センサは、例えば、レーザを照射し、レーザの反射の有無によって、駐車場に車両が存在しているか否かを検出するセンサである。
 図2および図3は、センサ側メタデータの例を示す説明図である。
 図2は、センサ11がカメラである場合のセンサ側メタデータの例を示す。「ID(Identification)」は、センサ11のIDである。「種別」はセンサ11の種別を表し、図2に示す例では、センサ11がカメラであることを示している。「使用料」は、センサ11の使用料を表し、図2に示す例では、センサ11(カメラ)の使用料が「500円/分」であることを表している。「位置」は、センサ11の位置を表す。本例では、センサ11の位置を緯度および経度で表している。「解像度」は、センサ11がカメラである場合に設けられる項目の一例であり、カメラによって得られる画像の解像度を表している。「ファイル形式」も、センサ11がカメラである場合に設けられる項目の一例であり、カメラによって得られる画像のファイル形式を表している。図2に示す「使用料」は、書き換え可能である。また、カメラの設置位置が変えられるのであれば、「位置」も書き換え可能である。また、カメラが解像度やファイル形式を変更する機能を有しているのであれば、「解像度」や「ファイル形式」も書き換え可能である。
 図3は、センサ11が車両検知センサである場合のセンサ側メタデータの例を示す。「ID」、「種別」、「使用料」および「位置」は、それぞれ、センサ11のID、センサ11の種別、センサ11の使用料、および、センサ11の位置を表している。この点は、図2に示す例と同様である。図3に示す例では、センサ11の種別は、車両検知センサであり、センサ11の使用料は、「100円/分」である。「周期」は、センサ11が車両検知センサである場合に設けられる項目の一例であり、車両検知センサが、駐車場に車両が存在しているか否かを検出する周期である。図3に示す「使用料」は、書き換え可能である。また、車両検知センサの設置位置が変えられるのであれば、「位置」も書き換え可能である。また、車両検知センサが、車両の有無の検出周期を変更する機能を有しているのであれば、「周期」も書き換え可能である。
 なお、「周期」は、ある程度、短いことが好ましい。一例として、「周期」は、5分程度であることが好ましい。例えば、「周期」が1時間であるとする。そして、例えば、10時に、車両が存在することを検出したとする。その直後(例えば、10時2分)に、その車両が駐車場から出発し、その後、その駐車場に車両が入ってこなかったとする。この場合、車両有無の次回の検出時刻は11時であり、10時2分から11時までの間、車両は存在しないにも関わらず、車両検知センサは10時から11時まで、車両が存在しているというデータを出力することになる。その結果、車両検知センサの出力データを使用するアプリケーション(例えば、車両が存在しない駐車場に車両を誘導するためのアプリケーション)も、11時までは、車両が存在していると認識し、空きの駐車場に車両を誘導できない等の機会損失が生じる。このため、車両検知センサの周期は、例えば、5分程度であることが好ましい。ただし、上記の説明における5分程度という周期や、図3に示す「5分」は、例示であり、車両検知センサの周期は、5分程度、または、「5分」に限定されるものではない。
 センサ11から提供されるデータを取得し、データを使用して処理を実行するデータ取得部の例として、アプリケーション(アプリケーションソフトウェア)に従って動作する情報処理装置が挙げられる。実際に、データの提供を受け、処理を実行するのは、このような情報処理装置であるが、以下、説明を簡単にするため、便宜的に、アプリケーションがデータの提供を受け、処理を実行するものとして説明する。すなわち、実際には、図1に示すアプリケーション12はそれぞれ、情報処理装置に搭載され、情報処理装置が、アプリケーション12に従って処理を実行する。しかし、以下の説明では、便宜的に、アプリケーション12が、データの提供を受け、処理を実行するものとして説明する。なお、複数のアプリケーション12が1つの情報処理装置に搭載されていてもよい。また、各アプリケーション12がそれぞれ別々の情報処理装置に搭載されていてもよい。
 アプリケーション12は、データ取得部に該当する。
 データ取得部に関する情報であって、そのデータ取得部がデータ提供部に要求する条件を示す書き換え可能な第1の変数の値と、データ授受を行うデータ取得部とデータ提供部との組合せを決定する際の基準となる書き換え可能な第2の変数の値とを含む情報を、データ取得部側メタデータと記す。本発明の実施形態では、アプリケーション12に関する情報であって、そのアプリケーション12がデータ提供部に要求する条件を示す書き換え可能な第1の変数の値と、データ授受を行うアプリケーション12とデータ提供部との組合せを決定する際の基準となる書き換え可能な第2の変数の値とを含む情報を、アプリケーション側メタデータと記す。アプリケーション側メタデータは、データ取得部側メタデータに該当する。
 アプリケーション12は、そのアプリケーション12のアプリケーション側メタデータをアプリケーション側メタデータ保存部3に保存させることによって、そのアプリケーション12が要求する条件を満たすセンサ11への接続要求を行う。すなわち、データ使用者がアプリケーション12を操作し、その操作に応じてアプリケーション12がアプリケーション側メタデータをアプリケーション側メタデータ保存部3に保存させたということは、そのデータ使用者が、条件を満たすセンサ11が提供するデータの使用を希望していることを意味する。従って、例えば、あるアプリケーション(Pとする。)のアプリケーション側メタデータがアプリケーション側メタデータ保存部3に保存されているということは、アプリケーションPが、要求している条件を満たすセンサ11への接続要求を行っていることを意味する。
 また、データ使用者がアプリケーション12を操作し、その操作に応じてアプリケーション12が、アプリケーション側メタデータ保存部3に、そのアプリケーション12のアプリケーション側メタデータを削除させたとする。このことは、そのデータ使用者が、条件を満たすセンサ11が提供するデータの使用を希望しなくなったことを意味する。従って、例えば、アプリケーション側メタデータ保存部3が、アプリケーションPからの要求に従って、アプリケーションPのアプリケーション側メタデータを削除したということは、アプリケーションPがセンサ11への接続要求を解除したことを意味する。
 図4および図5は、アプリケーション側メタデータの例を示す説明図である。
 図4は、アプリケーション12が、映像監視アプリケーションである場合のアプリケーション側メタデータの例を示す。「ID」は、アプリケーション12のIDである。「種別」はアプリケーション12の種別を表し、図4に示す例では、アプリケーション12が「映像監視アプリケーション」であることを示している。
 「センサの使用料」は、アプリケーション12がセンサ11を使用する(すなわち、センサ11からデータの提供を受ける)際の、センサ11の使用料である。「センサの使用料」の値は、書き換え可能である。なお、値が書き換え可能であるということは、時間経過に伴い、値が変化し得ることを意味する。「センサの使用料」は、アプリケーション12が要求する条件の1つである。
 「優先順位」は、一のセンサ11に対して、複数のアプリケーション12が組み合わされることになった場合に、そのセンサ11とデータ授受を行うアプリケーション12を決定する際の基準となる変数である。優先順位の値が小さいほど、優先順位は高い。例えば、警察が使用している映像監視アプリケーションの優先順位の値は“1”に設定され、警備会社が使用している映像監視アプリケーションの優先順位の値は“2”に設定され、鉄道会社が使用している映像監視アプリケーションの優先順位の値は“3”に設定される。「優先順位」の値も書き換え可能である。例えば、鉄道会社が使用している映像監視アプリケーションの優先順位の値は通常は“1”に設定され、緊急時には“3”に書き換えられてもよい。同様に、警察が使用している映像監視アプリケーションの優先順位の値は通常は“3”に設定され、緊急時には“1”に書き換えられてもよい。
 「対象エリア」は、アプリケーション12が要求する条件の1つであり、本例では、緯度および経度によって範囲を表す。例えば、センサ側メタデータでは、図2や図3に示すように、「位置」として、緯度および経度を小数点以下第6位まで定めることとなっているとする。一方、アプリケーション側メタデータでは、「対象エリア」として、緯度および経度を、小数点以下第6位よりも少ない桁数で定めることになっていることとする。このようにすることで、緯度および経度を用いて範囲を表すことができる。例えば、図4に示す例では、「対象エリア」として、緯度および経度を、小数点以下第4位まで定めている。この場合、図4に示す例では、北緯35.681200~35.681299、東経139.766200~139.766299の範囲を示していることを意味する。「対象エリア」の値も、書き換え可能である。なお、範囲の表し方は、図4に示す例に限定されず、例えば、中心位置と半径を指定することによって、範囲を表してもよい。
 「使用するセンサ」は、アプリケーション12が使用しようとするセンサ11の種別を示す変数である。「使用するセンサ」も、アプリケーション12が要求する条件の1つである。「使用するセンサ」の値も、書き換え可能である。ただし、アプリケーション12の機能が限定されている場合には、「使用するセンサ」の値が書き換えられない場合があってもよい。例えば、音を監視する機能および映像を監視する機能を有する監視アプリケーションにおいて、「使用するセンサ」の値は、「マイク」から「カメラ」に書き換えられてもよく、その逆の書き換えが行われてもよい。また、映像を監視する機能しか有しない映像監視アプリケーションにおいて、「使用するセンサ」の値は、書き換え可能であっても、常時「カメラ」に設定される。
 「解像度」および「ファイル形式」は、「使用するセンサ」がカメラである場合に設けられる変数である。「解像度」は、カメラに要求する解像度の下限を示す。「ファイル形式」は、カメラに要求する画像のファイル形式を示す。「解像度」および「ファイル形式」も書き換え可能である。また、「解像度」および「ファイル形式」も、アプリケーション12が要求する条件である。
 図4に示す例において、「センサの使用料」、「対象エリア」、「使用するセンサ」、「解像度」、「ファイル形式」は、前述の第1の変数に該当する。また、「優先順位」は、前述の第2の変数に該当する。
 図5は、アプリケーション12が、駐車場管理アプリケーションである場合のアプリケーション側メタデータの例を示す。図5に示す「ID」、「種別」、「センサの使用料」、「優先順位」、「対象エリア」、および「使用するセンサ」は、図4に示すそれらの項目と同様であり、説明を省略する。
 「データの提供を受ける周期」は、アプリケーション12が駐車場管理アプリケーションである場合において、駐車場管理アプリケーションが車両検知センサからデータ(駐車場に車両が存在するか否かを示すデータ)の提供を受ける周期である。「データの提供を受ける周期」を、アプリケーション12がセンサ11に要求する条件として用いてもよい。車両検知センサが、駐車場に車両が存在しているか否かを検出する周期(図3参照)よりも、アプリケーションがデータの提供を受ける周期が短いと、アプリケーションは同一データを重複して受け取ることになり、意味がない。従って、「データの提供を受ける周期」を、アプリケーション12がセンサ11に要求する条件として用いることができる。ただし、図5に例示する例では、「10分以下」という範囲を示していて、1分であっても、9分であっても「10分以下」に該当する。従って、「データの提供を受ける周期」を条件として用いる場合、「10分以下」等の範囲ではなく、1つの数値を記述する。アプリケーション12がセンサ11からデータの提供を受ける周期を変更する機能を有しているのであれば、「データの提供を受ける周期」は書き換え可能である。
 図5に示す例において、「センサの使用料」、「対象エリア」、「使用するセンサ」は、前述の第1の変数に該当する。また、「優先順位」は、前述の第2の変数に該当する。
 組合せ生成部4は、センサ側メタデータ保存部2に保存されているセンサ側メタデータと、アプリケーション側メタデータ保存部3に保存されているアプリケーション側メタデータとを照合して、アプリケーション12と、そのアプリケーション12が要求する条件を満たしているセンサ11との組合せを複数生成する。組合せ生成部4は、アプリケーション12と、そのアプリケーション12が要求する条件を満たしているセンサ11との全ての組合せを生成してもよい。
 具体的には、組合せ生成部4は、アプリケーション側メタデータ保存部3に保存されているアプリケーション側メタデータ内の第1の変数(アプリケーション12がセンサ11に要求する条件を示す変数)の値と、センサ側メタデータ保存部2に保存されているセンサ側メタデータの内容とを照合することよって、アプリケーション12と、そのアプリケーション12が要求する条件を満たしているセンサ11との組合せを全て生成する。
 例えば、図2に示すセンサ側メタデータおよび図3に示すセンサ側メタデータがセンサ側メタデータ保存部2に保存されているとする。また、図4に示すアプリケーション側メタデータおよび図5に示すアプリケーション側メタデータがアプリケーション側メタデータ保存部3に保存されているとする。
 例えば、組合せ生成部4は、図2に示すセンサ側メタデータの内容は、図4に示すアプリケーション側メタデータに記述されている条件(「センサの使用料」、「対象エリア」、「使用するセンサ」、「解像度」、「ファイル形式」)を全て満たしていると判断して、アプリケーション“11837(図4参照)”と、センサ“192.168.223.47(図2参照)”との組合せを生成する。なお、アプリケーション“11837”が要求する条件を満たすセンサ11が他にも存在するならば、組合せ生成部4は、アプリケーション“11837”とそのセンサ11との組合せも生成する。
 また、例えば、組合せ生成部4は、図3に示すセンサ側メタデータの内容は、図5に示すアプリケーション側メタデータに記述されている条件(「センサの使用料」、「対象エリア」、「使用するセンサ」)を全て満たしていると判断して、アプリケーション“11739(図5参照)”と、センサ“192.168.219.47(図3参照)”との組合せを生成する。なお、アプリケーション“11739”が要求する条件を満たすセンサ11が他にも存在するならば、組合せ生成部4は、アプリケーション“11739”とそのセンサ11との組合せも生成する。
 また、図4に示す例では「使用するセンサ」の値が「カメラ」であり、図3に示す例では「種別」の値が「車両検知センサ」であり、「カメラ」と「車両検知センサ」とは合致しない。従って、アプリケーション“11837(図4参照)”とセンサ“192.168.219.47(図3参照)”との組合せは、生成されない。同様に、アプリケーション“11739(図5参照)”とセンサ“192.168.223.47(図2参照)”との組合せも生成されない。
 組合せ生成部4は、センサ側メタデータ保存部2が保存しているセンサ側メタデータと、アプリケーション側メタデータ保存部3が保存しているアプリケーション側メタデータの少なくともいずれか一方に変化が生じた場合に、上記のように、アプリケーション12と、そのアプリケーション12が要求する条件を満たしているセンサ11との組合せを全て生成する。
 ここで、変化の態様には、以下のような態様がある。
 (1)既にセンサ側メタデータ保存部2が保存しているセンサ側メタデータのうち、少なくとも1つのセンサ側メタデータの内容の一部または全部が書き換えられる。
 (2)既にアプリケーション側メタデータ保存部3が保存しているアプリケーション側メタデータのうち、少なくとも1つのアプリケーション側メタデータの内容の一部または全部が書き換えられる。
 (3)既にセンサ側メタデータ保存部2が保存しているセンサ側メタデータのうち、少なくとも1つのセンサ側メタデータが削除されるか、または、センサ側メタデータ保存部2に新たなセンサ側メタデータが追加で保存される。
 (4)既にアプリケーション側メタデータ保存部3が保存しているアプリケーション側メタデータのうち、少なくとも1つのアプリケーション側メタデータが削除されるか、または、アプリケーション側メタデータ保存部3に新たなアプリケーション側メタデータが保存される。
 組合せ生成部4は、上記の(1)~(4)のいずれかを検出する毎に、アプリケーション12と、そのアプリケーション12が要求する条件を満たしているセンサ11との組合せを全て生成する処理を実行する。
 なお、組合せ生成部4は、アプリケーション12と、そのアプリケーション12が要求する条件を満たしているセンサ11との組合せを全て生成する処理を定期的に実行してもよい。
 組合せ生成部4がアプリケーション12とセンサ11との組合せを生成すると、組合せ決定部5は、組合せ生成部4によって生成された組合せの中から、データ授受を行うセンサ11とアプリケーション12との組合せを決定する。このとき、第1の実施形態では、組合せ決定部5は、データ授受を行うセンサ11とアプリケーション12との組合せを決定する際の基準として、組合せ生成部4によって生成された組合せをなすアプリケーション12のアプリケーション側メタデータに含まれる優先順位を用いる。
 センサ11と組合せをなすアプリケーション12が1つであれば、組合せ決定部5は、そのセンサ11とそのアプリケーション12の組合せを、データ授受を行うセンサ11とアプリケーション12との組合せとして決定する。
 また、一のセンサ11と組合せをなすアプリケーション12が複数存在する場合、組合せ決定部5は、そのアプリケーション12の中で優先順位が最も高いアプリケーション12とそのセンサ11との組合せを、データ授受を行うセンサ11とアプリケーション12との組合せとして決定する。
 例えば、センサ“192.168.223.47(図2参照)”とアプリケーション“11837(図4参照)”との組合せの他に、センサ“192.168.223.47(図2参照)”と、優先順位が“2”である別のアプリケーション12との組合せが生成されているとする。とアプリケーション“11837(図4参照)”の優先順位は“1”であるので(図4参照)、組合せ決定部5は、センサ“192.168.223.47(図2参照)”とアプリケーション“11837(図4参照)”との組合せを、データ授受を行うセンサ11とアプリケーション12との組合せとして決定する。
 なお、「優先順位」が最も高いアプリケーション12が複数存在する場合、組合せ決定部5は、例えば、アプリケーション側メタデータが最も早く保存されたアプリケーション12を特定し、そのアプリケーション12とセンサ11との組合せを決定すればよい。
 組合せ決定部5は、例えば、組合せ生成部4によって生成された組合せをなすセンサ11毎に、優先順位が最も高いアプリケーション12を特定していくことによって、データ授受を行うセンサ11とアプリケーション12との組合せを決定していけばよい。
 また、センサ11が複数(例えば、2つとする。)のアプリケーション12にデータを提供可能なセンサであるとする。この場合、組合せ決定部5は、優先順位に基づいて、そのセンサ11からデータの提供を受けるアプリケーション12を2つ特定してもよい。そして、組合せ決定部5は、そのセンサ11とデータ提供先となる一方のアプリケーション12との組合せと、そのセンサ11とデータ提供先となるもう一方のアプリケーション12との組合せをそれぞれ、データ授受を行うセンサ11とアプリケーション12との組合せとして決定してもよい。この点は、後述の他の実施形態でも同様である。
 また、1つのアプリケーション12が要求している条件を満たすセンサ11が複数存在する場合には、組合せ生成部4は、そのアプリケーション12と、その複数のセンサ11それぞれとの組合せを生成する。この結果、組合せ決定部5が、データ授受を行うセンサ11とアプリケーション12との組合せとして、その複数のセンサ11それぞれと、そのアプリケーション12との組合せを決定することもあり得る。このように、組合せ決定部5が、アプリケーション12が共通である複数の組合せを決定してもよい。あるいは、組合せ決定部5が、アプリケーション12が共通である複数の組合せが存在することを許容しなくてもよい。この場合、組合せ決定部5は、アプリケーション12と、その複数のセンサ11それぞれとの組合せの中から、例えば、ランダムに1つの組合せを選択した後に、上記のように、データ授受を行うセンサ11とアプリケーション12との組合せを決定すればよい。この点は、後述の他の実施形態でも同様である。
 データ授受制御部6は、組合せ決定部5によって決定されたデータ授受を行うセンサ11とアプリケーション12との組合せ毎に、センサ11とアプリケーション12の間でデータを授受させる。
 例えば、データ授受制御部6は、組合せ決定部5によって決定された組合せ毎に、組合せをなすセンサ11に対して、データの提供先となるアプリケーション12の宛先情報を送信する。宛先情報は、例えば、アプリケーション12が搭載されている情報処理装置のIP(Internet Protocol )アドレスおよびアプリケーション12に応じたポート番号である。ここでは、センサ11とアプリケーション12とが、インターネットを介してデータを授受する場合における宛先情報を例示した。データ授受制御部6は、センサ11とアプリケーション12との通信形態に応じた宛先情報をセンサ11に送信すればよい。
 なお、アプリケーション12の宛先情報や、宛先情報をセンサ11に送信する際に用いるセンサ11のアドレス情報は、例えば、本発明のデータ授受制御システム1を使用しようとするデータ提供者やデータ使用者によって、予め、データ授受制御部6に登録されていればよい。
 データ授受制御部6から宛先情報を受信したセンサ11は、その宛先情報を用いて、アプリケーション12との間で通信を確立し、センサ11が得たデータをアプリケーション12に送信(提供)すればよい。
 センサ側メタデータ保存部2、および、アプリケーション側メタデータ保存部3は、例えば、コンピュータに設けられた記憶装置および、データ授受制御プログラムに従って動作するそのコンピュータのCPU(Central Processing Unit )によって、実現される。組合せ生成部4、組合せ決定部5、データ授受制御部6は、例えば、データ授受制御プログラムに従って動作するそのコンピュータのCPUによって実現される。
 次に、第1の実施形態の処理経過の例を示すフローチャートを参照しながら、1つのセンサ11からデータを提供されるアプリケーション12が切り替えられる状況を説明する。図6は、第1の実施形態の処理経過の例を示すフローチャートである。なお、既に説明した事項については、詳細な説明を省略する。
 ここでは、説明を簡単にするために、最初に、センサ側メタデータ保存部2に、図2に示すセンサ側メタデータが保存されているものとする。また、アプリケーション側メタデータ保存部3には、まだ、アプリケーション側メタデータは保存されていないものとする。従って、データ授受を行っているセンサ11およびアプリケーション12はまだ存在していない。
 組合せ生成部4は、センサ側メタデータ保存部2が保存しているセンサ側メタデータと、アプリケーション側メタデータ保存部3が保存しているアプリケーション側メタデータの少なくともいずれか一方に変化が生じた否かをモニタする(ステップS1)。変化が生じていなければ(ステップS1のNo)、組合せ生成部4は、ステップS1の動作を繰り返す。
 変化が生じたならば(ステップS1のYes)、組合せ生成部4は、アプリケーション12と、そのアプリケーション12が要求する条件を満たすセンサ11の組合せを生成する(ステップS2a)。
 そして、組合せ生成部4は、アプリケーション12と、そのアプリケーション12が要求する条件を満たすセンサ11の組合せが得られたか否かを判定する(ステップS2b)。組合せが得られなかった場合(ステップS2bのNo)、ステップS1に移行する。組合せが得られた場合(ステップS2bのYes)、ステップS3に移行する。
 ここで、アプリケーション側メタデータ保存部3が、アプリケーション12からの要求に応じて、図7に示すアプリケーション側メタデータを新たに保存したとする。すると、変化が生じたので、組合せ生成部4は、ステップS2aを実行する。
 ここで、図2に示すセンサ側メタデータの内容は、図7に示すアプリケーション側メタデータの第1の変数の値が示す条件を満たしている。従って、組合せ生成部4は、センサ“192.168.223.47(図2参照)”と、アプリケーション“11999(図7参照)”との組合せを生成する。本例では、センサ“192.168.223.47(図2参照)”と、アプリケーション“11999(図7参照)”との組合せが得られたので(ステップS2bのYes)、ステップS3に移行する。
 ステップS3において、組合せ決定部5は、ステップS2aで生成された組合せの中から、データ授受を行うセンサ11とアプリケーション12の組合せを決定する。
 ステップS2aでは、センサ“192.168.223.47(図2参照)”と、アプリケーション“11999(図7参照)”との組合せが生成されている。また、センサ“192.168.223.47(図2参照)”と組み合わされている他のアプリケーション12は存在しない。そのため、組合せ決定部5は、データ授受を行うセンサ11とアプリケーション12の組合せとして、センサ“192.168.223.47(図2参照)”と、アプリケーション“11999(図7参照)”との組合せを決定する。
 ステップS3の後、データ授受制御部6は、データ授受を行っているセンサ11とアプリケーション12の組合せがあるか否かを判定する(ステップS4a)。ここで、データ授受を行っているセンサ11とアプリケーション12の組合せとは、通信によってデータを提供しているセンサ11と、そのデータの提供を受けているアプリケーション12の組合せである。
 データ授受を行っているセンサ11とアプリケーション12の組合せがあれば(ステップS4aのYes)、データ授受制御部6は、そのセンサ11とアプリケーション12の通信を断とする(ステップS4b)。ステップS4bの後、ステップS5に移行する。なお、ステップS4bにおいて、直近のステップS3で決定された組合せをなすセンサ11とアプリケーション11とが通信を行っている場合には、データ授受制御部6は、その通信については、断としなくてもよい。
 また、データ授受を行っているセンサ11とアプリケーション12の組合せがなければ(ステップS4aのNo)、ステップS4bを実行せずに、ステップS5に移行する。
 本例においてこの時点では、データ授受を行っているセンサ11とアプリケーション12の組合せはないので(ステップS4aのNo)、ステップS4bを実行せずに、ステップS5に移行する。
 ステップS5では、データ授受制御部6は、ステップS3で決定された組合せをなすセンサ11に、アプリケーション12の宛先情報を送信する(ステップS5)。本例では、データ授受制御部6は、アプリケーション“11999(図7参照)”の宛先情報を、センサ“192.168.223.47(図2参照)”に送信する。
 この結果、センサ“192.168.223.47(図2参照)”は、アプリケーション“11999(図7参照)”の宛先情報を用いて、アプリケーション“11999”との通信を確立し、センサ“192.168.223.47”は、アプリケーション“11999” にデータを提供する。
 ステップS5の後、ステップS1以降の処理を繰り返す。
 次に、アプリケーション側メタデータ保存部3が、別のアプリケーション12からの要求に応じて、図4に示すアプリケーション側メタデータを新たに保存したとする。すると、保存されているアプリケーション側メタデータに変化(新たなデータの追加)が生じたので、組合せ生成部4は、ステップS2aを実行する。
 前述のように、図2に示すセンサ側メタデータの内容は、図7に示すアプリケーション側メタデータの第1の変数の値が示す条件を満たしている。また、図2に示すセンサ側メタデータの内容は、図4に示すアプリケーション側メタデータの第1の変数の値が示す条件も満たしている。
 従って、組合せ生成部4は、センサ“192.168.223.47(図2参照)”とアプリケーション“11999(図7参照)”との組合せ、および、センサ“192.168.223.47(図2参照)”とアプリケーション“11837(図4参照)”との組合せを生成する(ステップS2a)。本例では、ステップS2aで2つの組合せが得られたので(ステップS2bのYes)、ステップS3に移行する。
 ステップS3において、組合せ決定部5は、ステップS2aで生成された組合せの中から、データ授受を行うセンサ11とアプリケーション12の組合せを決定する。
 ここで、ステップS2aで生成された2つの組合せにおいて、センサ11は共通である。すなわち、一のセンサ11と組合せをなすアプリケーション12が2つ存在する。ここで、アプリケーション“11837”の優先順位は“1”であり(図4参照)、アプリケーション“11999”の優先順位は“3”である(図7参照)。従って、この2つのアプリケーション12のうち、優先順位が最も高いアプリケーション12は、アプリケーション“11837”である。よって、組合せ決定部5は、ステップS2aで生成された2つの組合せのうち、センサ“192.168.223.47(図2参照)”とアプリケーション“11837(図4参照)”との組合せを、データ授受を行うセンサ11とアプリケーション12の組合せとして決定する。
 次に、データ授受制御部6は、データ授受を行っているセンサ11とアプリケーション12の組合せがあるか否かを判定する(ステップS4a)。ここでは、データ授受制御部6は、データ授受を行っているセンサ11とアプリケーション12の組合せとして、センサ“192.168.223.47(図2参照)”とアプリケーション“11999(図7参照)”との組合せがあると判定する(ステップS4aのYes)。そして、データ授受制御部6は、センサ“192.168.223.47(図2参照)”と、アプリケーション“11999(図7参照)”との通信を断とする(ステップS4b)。
 次に、データ授受制御部6は、ステップS3で決定された組合せをなすセンサ11に、アプリケーション12の宛先情報を送信する(ステップS5)。ここでは、データ授受制御部6は、アプリケーション“11837(図4参照)”の宛先情報を、センサ“192.168.223.47(図2参照)”に送信する。
 この結果、センサ“192.168.223.47(図2参照)”は、アプリケーション“11837(図4参照)”の宛先情報を用いて、アプリケーション“11837”との通信を確立し、センサ“192.168.223.47”は、アプリケーション“11837”にデータを提供する。
 図4に例示するアプリケーション側メタデータがアプリケーション側メタデータ保存部3に保存されたことで、2つのアプリケーション12が、一のセンサ11に同時に接続要求を行っている状態になったと言える。そして、アプリケーション“11837(図4参照)”の方が、アプリケーション“11999(図7参照)”よりも優先順位が高い。そのため、上記のステップS2a~S5の動作によって、センサ“192.168.223.47”のデータの提供先が、アプリケーション“11999”からアプリケーション“11837”に切り替えられた。
 その後、例えば、アプリケーション“11837(図4参照)”の優先順位が例えば“4”に書き換えられたりした場合には、再度、ステップS2a~S5が実行される。また、センサ側メタデータの内容が書き換えられたり、アプリケーション12がセンサ11に要求する条件(アプリケーション側メタデータに含まれる第1の変数の値)が書き換えられたりしたときにも、再度、ステップS2a~S5の処理が実行される。そして、ステップS2a~S5の処理が実行されることによって、優先順位や、アプリケーション12がセンサ11に要求する条件の変化に応じて、データ授受を行うセンサ11とアプリケーション12の適切な組合せが決定され、そのセンサ11とアプリケーション12との間でのデータ授受が実現される。
 上記の例のように、センサ11に接続要求するアプリケーション12の数が変化することによって、センサ11の価値は変動していると言える。第1の実施形態によれば、組合せ生成部4が、アプリケーション12と、そのアプリケーション12が要求する条件を満たすセンサ11との組合せを生成する。すなわち、組合せ生成部4は、データ提供部の価値が変動する場合において、データ提供部とデータ取得部の適切な組合せを生成することができる。そして、組合せ決定部5が、アプリケーション12の優先順位に基づいて、データ授受を行うセンサ11とアプリケーション12の組合せを決定し、データ授受制御部6が、その組合せをなすセンサ11にアプリケーション12の宛先情報を送信する。従って、上記のようにセンサ11の価値が変動する状況の下で、優先順位に基づいて、データ授受を行うセンサ11とアプリケーション12の組合せを決定し、そのセンサ11とアプリケーション12との間のデータ授受を実現することができる。
実施形態2.
 本発明の第2の実施形態のデータ授受制御システムは、第1の実施形態のデータ授受制御システムと同様に、図1に示すブロック図で表すことができるので、図1を用いて第2の実施形態を説明する。第1の実施形態と同様の事項については、適宜説明を省略する。
 第2の実施形態におけるセンサ側メタデータおよびアプリケーション側メタデータは、第1の実施形態におけるセンサ側メタデータおよびアプリケーション側メタデータ(例えば、図2から図5を参照。)と同様であってもよい。
 ただし、第2の実施形態では、組合せ決定部5は、データ授受を行うセンサ11とアプリケーション12との組合せを決定するときに、データ使用者がデータ提供者に支払うセンサ11の使用料に基づいて、センサ11とアプリケーション12との組合せを決定する。従って、第2の実施形態において、アプリケーション側メタデータは、「センサの使用料」の値を含む。
 第2の実施形態では、アプリケーション側メタデータ内の「センサの使用料」は、第1の変数(アプリケーション12がセンサ11に要求する条件を示す変数)にも該当し、第2の変数(データ授受を行うセンサ11とアプリケーション12との組合せを決定する際の基準となる変数)にも該当する。
 第2の実施形態では、「センサの使用料」は条件としても用いられるので、例えば、「600円以下/分」等のように金額の範囲を示すように記載される場合を例にして説明する。また、以下の説明では、実際に、データ使用者がセンサ11を使用して、センサ11の使用料をデータ提供者に支払うときには、その範囲の上限(上記の例では「600円/分」)の金額を支払うものとして説明する。この結果、データ提供者は、センサ側メタデータに記述した「使用料」の値よりも多くの使用料を得ることがある。例えば、センサ11の使用料を「500円/分」と定めたデータ提供者は、データ使用者からそれ以上の使用料を得る場合がある。
 また、第2の実施形態において、アプリケーション側メタデータは、「優先順位」の値を含んでいても、含んでいなくてもよい。
 第2の実施形態におけるセンサ側メタデータ保存部2、アプリケーション側メタデータ保存部3、組合せ生成部4およびデータ授受制御部6は、第1の実施形態におけるセンサ側メタデータ保存部2、アプリケーション側メタデータ保存部3、組合せ生成部4およびデータ授受制御部6と同様であり、説明を省略する。
 第2の実施形態における組合せ決定部5は、組合せ生成部4がアプリケーション12とセンサ11との組合せを生成すると、その生成された組合せの中から、データ授受を行うセンサ11とアプリケーション12との組合せを決定する。この点は、第1の実施形態と同様である。ただし、第2の実施形態では、組合せ決定部5は、データ授受を行うセンサ11とアプリケーション12との組合せを決定する際の基準として、組合せ生成部4によって生成された組合せをなすアプリケーション12のアプリケーション側メタデータに含まれる「センサの使用料」を用いる。
 センサ11と組合せをなすアプリケーション12が1つであれば、組合せ決定部5は、そのセンサ11とそのアプリケーション12の組合せを、データ授受を行うセンサ11とアプリケーション12との組合せとして決定する。
 また、一のセンサ11と組合せをなすアプリケーション12が複数存在する場合、組合せ決定部5は、そのアプリケーション12の中で「センサの使用料」が最も高いアプリケーション12とそのセンサ11との組合せを、データ授受を行うセンサ11とアプリケーション12との組合せとして決定する。
 例えば、センサ“192.168.223.47(図2参照)”とアプリケーション“11837(図4参照)”との組合せの他に、センサ“192.168.223.47(図2参照)”と、「センサの使用料」が「600円以下/分」である別のアプリケーション(アプリケーションBとする。)との組合せが生成されているとする。アプリケーション“11837(図4参照)”の「センサの使用料」は、「500円以下/分」であるので(図4参照)、組合せ決定部5は、センサ“192.168.223.47(図2参照)”と、アプリケーションBとの組合せを、データ授受を行うセンサ11とアプリケーション12との組合せとして決定する。
 なお、「センサの使用料」が最も高いアプリケーション12が複数存在する場合には、組合せ決定部5は、例えば、アプリケーション側メタデータが最も早く保存されたアプリケーション12を特定し、そのアプリケーション12とセンサ11との組合せを決定すればよい。また、例えば、組合せ決定部5は、「センサの使用料」が最も高い複数のアプリケーション12のうち、「優先順位」が最も高いアプリケーション12を特定し、そのアプリケーション12とセンサ11との組合せを決定してもよい。
 組合せ決定部5は、例えば、組合せ生成部4によって生成された組合せをなすセンサ11毎に、「センサの使用料」が最も高いアプリケーション12を特定していくことによって、データ授受を行うセンサ11とアプリケーション12との組合せを決定していけばよい。
 第2の実施形態の処理経過を示すフローチャートも、図6に示すように表すことができる。以下、図6に示すフローチャートを参照しながら、1つのセンサ11からデータを提供されるアプリケーション12が切り替えられる状況を説明する。なお、既に説明した事項については、詳細な説明を省略する。
 ここでは、説明を簡単にするために、最初に、センサ側メタデータ保存部2に、図2に示すセンサ側メタデータが保存されているものとする。また、アプリケーション側メタデータ保存部3には、まだ、アプリケーション側メタデータは保存されていないものとする。従って、データ授受を行っているセンサ11およびアプリケーション12はまだ存在していない。
 組合せ生成部4は、センサ側メタデータ保存部2が保存しているセンサ側メタデータと、アプリケーション側メタデータ保存部3が保存しているアプリケーション側メタデータの少なくともいずれか一方に変化が生じた否かをモニタする(ステップS1)。変化が生じていなければ(ステップS1のNo)、組合せ生成部4は、ステップS1の動作を繰り返す。
 変化が生じたならば(ステップS1のYes)、組合せ生成部4は、アプリケーション12と、そのアプリケーション12が要求する条件を満たすセンサ11の組合せを生成する(ステップS2a)。
 そして、組合せ生成部4は、アプリケーション12と、そのアプリケーション12が要求する条件を満たすセンサ11の組合せが得られたか否かを判定する(ステップS2b)。組合せが得られなかった場合(ステップS2bのNo)、ステップS1に移行する。組合せが得られた場合(ステップS2bのYes)、ステップS3に移行する。
 ここで、アプリケーション側メタデータ保存部3が、アプリケーション12からの要求に応じて、図4に示すアプリケーション側メタデータを新たに保存したとする。すると、変化が生じたので、組合せ生成部4は、ステップS2aを実行する。
 ここで、図2に示すセンサ側メタデータの内容は、図4に示すアプリケーション側メタデータの第1の変数の値が示す条件を満たしている。従って、組合せ生成部4は、センサ“192.168.223.47(図2参照)”と、アプリケーション“11837(図4参照)”との組合せを生成する。本例では、センサ“192.168.223.47(図2参照)”と、アプリケーション“11837(図4参照)”との組合せが得られたので(ステップS2bのYes)、ステップS3に移行する。
 ステップS3において、組合せ決定部5は、ステップS2aで生成された組合せの中から、データ授受を行うセンサ11とアプリケーション12の組合せを決定する。
 ステップS2aでは、センサ“192.168.223.47(図2参照)”と、アプリケーション“11837(図4参照)”との組合せが生成されている。また、センサ“192.168.223.47(図2参照)”と組み合わされている他のアプリケーション12は存在しない。そのため、組合せ決定部5は、データ授受を行うセンサ11とアプリケーション12の組合せとして、センサ“192.168.223.47(図2参照)”と、アプリケーション“11837(図4参照)”との組合せを決定する。
 ステップS3の後、データ授受制御部6は、データ授受を行っているセンサ11とアプリケーション12の組合せがあるか否かを判定する(ステップS4a)。既に説明したように、データ授受を行っているセンサ11とアプリケーション12の組合せとは、通信によってデータを提供しているセンサ11と、そのデータの提供を受けているアプリケーション12の組合せである。
 データ授受を行っているセンサ11とアプリケーション12の組合せがあれば(ステップS4aのYes)、データ授受制御部6は、そのセンサ11とアプリケーション12の通信を断とする(ステップS4b)。ステップS4bの後、ステップS5に移行する。なお、ステップS4bにおいて、直近のステップS3で決定された組合せをなすセンサ11とアプリケーション11とが通信を行っている場合には、データ授受制御部6は、その通信については、断としなくてもよい。
 また、データ授受を行っているセンサ11とアプリケーション12の組合せがなければ(ステップS4aのNo)、ステップS4bを実行せずに、ステップS5に移行する。
 本例においてこの時点では、データ授受を行っているセンサ11とアプリケーション12の組合せはないので(ステップS4aのNo)、ステップS4bを実行せずに、ステップS5に移行する。
 ステップS5では、データ授受制御部6は、ステップS3で決定された組合せをなすセンサ11に、アプリケーション12の宛先情報を送信する(ステップS5)。本例では、データ授受制御部6は、アプリケーション“11837(図4参照)”の宛先情報を、センサ“192.168.223.47(図2参照)”に送信する。
 この結果、センサ“192.168.223.47(図2参照)”は、アプリケーション“11837(図4参照)”の宛先情報を用いて、アプリケーション“11837”との通信を確立し、センサ“192.168.223.47”は、アプリケーション“11837”にデータを提供する。
 ステップS5の後、ステップS1以降の処理を繰り返す。
 次に、アプリケーション側メタデータ保存部3が、別のアプリケーション12からの要求に応じて、図8に示すアプリケーション側メタデータを新たに保存したとする。すると、保存されているアプリケーション側メタデータに変化(新たなデータの追加)が生じたので、組合せ生成部4は、ステップS2aを実行する。
 前述のように、図2に示すセンサ側メタデータの内容は、図4に示すアプリケーション側メタデータの第1の変数の値が示す条件を満たしている。また、図2に示すセンサ側メタデータの内容は、図8に示すアプリケーション側メタデータの第1の変数の値が示す条件を満たしている。
 従って、組合せ生成部4は、センサ“192.168.223.47(図2参照)”とアプリケーション“11837(図4参照)”との組合せ、および、センサ“192.168.223.47(図2参照)”とアプリケーション“15777(図8参照)”との組合せを生成する(ステップS2a)。本例では、ステップS2aで2つの組合せが得られたので(ステップS2bのYes)、ステップS3に移行する。
 ステップS3において、組合せ決定部5は、ステップS2aで生成された組合せの中から、データ授受を行うセンサ11とアプリケーション12の組合せを決定する。
 ここで、ステップS2aで生成された2つの組合せにおいて、センサ11は共通である。すなわち、一のセンサ11と組合せをなすアプリケーション12が2つ存在する。この2つのアプリケーション12のうち、「センサの使用料」が最も高いアプリケーション12は、アプリケーション“15777”である。従って、組合せ決定部5は、ステップS2aで生成された2つの組合せのうち、センサ“192.168.223.47(図2参照)”とアプリケーション“15777(図8参照)”との組合せを、データ授受を行うセンサ11とアプリケーション12の組合せとして決定する。
 次に、データ授受制御部6は、データ授受を行っているセンサ11とアプリケーション12の組合せがあるか否かを判定する(ステップS4a)。ここでは、データ授受制御部6は、データ授受を行っているセンサ11とアプリケーション12の組合せとして、センサ“192.168.223.47(図2参照)”とアプリケーション“11837(図4参照)”との組合せがあると判定する(ステップS4aのYes)。そして、データ授受制御部6は、センサ“192.168.223.47(図2参照)”と、アプリケーション“11837(図4参照)”との通信を断とする(ステップS4b)。
 次に、データ授受制御部6は、ステップS3で決定された組合せをなすセンサ11に、アプリケーション12の宛先情報を送信する(ステップS5)。ここでは、データ授受制御部6は、アプリケーション“15777(図8参照)”の宛先情報を、センサ“192.168.223.47(図2参照)”に送信する。
 この結果、センサ“192.168.223.47(図2参照)”は、アプリケーション“15777(図8参照)”の宛先情報を用いて、アプリケーション“15777”との通信を確立し、センサ“192.168.223.47”は、アプリケーション“15777”にデータを提供する。
 図8に例示するアプリケーション側メタデータがアプリケーション側メタデータ保存部3に保存されたことで、2つのアプリケーション12が、一のセンサ11に同時に接続要求を行っている状態になったと言える。アプリケーション“15777(図8参照)”の方が、アプリケーション“11837(図4参照)”よりも、「センサの使用料」が高い。そのため、上記のステップS2a~S5の動作によって、センサ“192.168.223.47”のデータの提供先が、アプリケーション“11837”からアプリケーション“15777”に切り替えられた。
 その後、例えば、アプリケーション“11837(図4参照)”の「センサの使用料」が例えば「700円以下/分」に書き換えられたりした場合には、再度、ステップS2a~S5が実行される。また、センサ側メタデータの内容が書き換えられたり、アプリケーション12がセンサ11に要求する条件(アプリケーション側メタデータに含まれる第1の変数の値)が書き換えられたりしたときにも、再度、ステップS2a~S5の処理が実行される。そして、ステップS2a~S5の処理が実行されることによって、「センサの使用料」や、アプリケーション12がセンサ11に要求する条件の変化に応じて、データ授受を行うセンサ11とアプリケーション12の適切な組合せが決定され、そのセンサ11とアプリケーション12との間でのデータ授受が実現される。
 本実施形態においても、センサ11に接続要求するアプリケーション12の数が変化することによって、センサ11の価値は変動していると言える。本実施形態では、組合せ生成部4が、アプリケーション12と、そのアプリケーション12が要求する条件を満たすセンサ11との組合せを生成する。すなわち、組合せ生成部4は、データ提供部の価値が変動する場合において、データ提供部とデータ取得部の適切な組合せを生成することができる。そして、組合せ決定部5が、アプリケーション12に定められた「センサの使用料」に基づいて、データ授受を行うセンサ11とアプリケーション12の組合せを決定し、データ授受制御部6が、その組合せをなすセンサ11にアプリケーション12の宛先情報を送信する。従って、センサ11の価値が変動する状況の下で、「センサの使用料」に基づいて、データ授受を行うセンサ11とアプリケーション12の組合せを決定し、そのセンサ11とアプリケーション12との間のデータ授受を実現することができる。
 また、この結果、価値の高まったセンサ11を所有するデータ提供者は、より多くの「センサの使用料」をデータ使用者から得ることができる。そして、データ提供者は、その料金を、センサ11のメンテナンスや、センサ11が用いる通信経路の広帯域化等のために使用することができる。
 なお、第2の実施形態では、一のセンサ11と組合せをなすアプリケーション12が複数存在する場合、組合せ決定部5が、そのアプリケーション12の中で「センサの使用料」が最も高いアプリケーション12とそのセンサ11との組合せを、データ授受を行うセンサ11とアプリケーション12との組合せとして決定する場合を説明した。組合せ決定部5は、センサ側メタデータに記載されている使用料と同額の「センサの使用料」を定めたアプリケーション12、または、センサ側メタデータに記載されている使用料に最も近い「センサの使用料」を定めたアプリケーション12を特定し、センサ11とそのアプリケーション12との組合せを決定してもよい。この場合、組合せ決定部5によって決定されるセンサ11とアプリケーション12との組合せの数を多くしやすくすることができる。
 また、本発明において、組合せ決定部5は、外部からの指示に応じて、データ授受を行うセンサ11とアプリケーション12との組合せを決定する際の基準を変更してもよい。例えば、組合せ決定部5は、通常時に、第2の実施形態で示したように、アプリケーション側メタデータにおける「センサの使用料」に基づいて、データ授受を行うセンサ11とアプリケーション12との組合せを決定してもよい。そして、緊急時には、例えば、仲介者(データ授受制御システム1の所有者)からの指示に応じて、組合せ決定部5は、組合せを決定する際の基準を変更し、第1の実施形態で示したように、アプリケーション12の優先順位に基づいて、データ授受を行うセンサ11とアプリケーション12との組合せを決定してもよい。
実施形態3.
 第1の実施形態および第2の実施形態では、データ提供部がセンサ11である場合を示した。センサ11は、そのセンサ11が得たデータをそのまま、データの提供先に提供する。
 データ提供部は、センサが得たデータに対して加工を行い、加工後のデータをデータの提供先に提供するデータ加工部であってもよい。第3の実施形態では、データ提供部が、上記のデータ加工部である場合を説明する。なお、データ加工部は、データの加工に限らず、センサが得たデータを分析して新たなデータを生成する手段であってもよい。
 第3の実施形態では、データ提供部側メタデータは、データ加工部に関する情報である。
 以下の説明では、データ加工部を、便宜的に、エンジンと記す。また、データ提供部側メタデータを、便宜的に、エンジン側メタデータと記す。
 図9は、本発明の第3の実施形態のデータ授受制御システムの構成例を示すブロック図である。第3の実施形態のデータ授受制御システム1は、第1の実施形態や第2の実施形態におけるセンサ側メタデータ保存部2の代わりに、エンジン側メタデータ保存部7を備える。
 第3の実施形態におけるアプリケーション側メタデータ保存部3、組合せ生成部4、組合せ決定部5およびデータ授受制御部6は、第1の実施形態または第2の実施形態におけるアプリケーション側メタデータ保存部3、組合せ生成部4、組合せ決定部5およびデータ授受制御部6と同様である。
 エンジン側メタデータ保存部7は、データ提供部側メタデータとして、エンジン側メタデータを保存する。具体的には、エンジン側メタデータ保存部7は、エンジン13によって得られたデータを提供する意思を有するデータ提供者のエンジン13のエンジン側メタデータを保存する。
 図9では、3つのエンジン13を図示しているが、エンジンの数は特に限定されない。各エンジン13は、同一の種別のエンジンである必要はなく、各エンジン13は、異なる種別のエンジンであってもよい。
 ここで、センサ11とエンジン13との違いは、センサ11は、そのセンサ11が得たデータをそのまま提供するのに対して、エンジン13は、センサ11(図9において図示略)が得たデータを加工し、加工後のデータを提供するという点である。センサ11とエンジン13は、データを提供するという本質的な点では共通していると言える。
 従って、エンジン側メタデータ保存部7は、センサ側メタデータの代わりにエンジン側メタデータを保存する点がセンサ側メタデータ保存部2と異なっているが、本質的には、センサ側メタデータ保存部2と同様であると言える。
 また、第3の実施形態は、センサ11の代わりエンジン13を用いる点が、第1の実施形態および第2の実施形態と異なっているが、本質的には、第1の実施形態や第2の実施形態と同様であると言える。
 図10は、エンジン側メタデータの例を示す説明図である。「ID」は、エンジン13のIDである。「種別」はエンジン13の種別を表し、図10に示す例では、エンジン13が相関分析を実行することを示している。「使用料」は、エンジン13の使用料を表し、図10に示す例では、エンジン13の使用料が「500円/分」であることを表している。図10に示す「使用料」は、書き換え可能である。
 図11および図12は、第3の実施形態におけるアプリケーション側メタデータの例を示す説明図である。図11および図12に示す例において、「ID」は、アプリケーション12のIDである。また、種別は、アプリケーション12の種別を表している。図11に示す例では、アプリケーション12の種別は、「不動産評価アプリケーション」であり、図12に示す例では、アプリケーション12の種別は、「飲料売上分析アプリケーション」である。
 図11および図12に示す「エンジンの使用料」は、アプリケーション12がエンジン13を使用する(すなわち、エンジン13からデータの提供を受ける)際の、エンジン13の使用料である。「エンジンの使用料」の値は、書き換え可能である。「エンジンの使用料」は、アプリケーション12が要求する条件の1つである。
 図11および図12に示す「優先順位」は、第1の実施形態における「優先順位」と同様である。
 図11および図12に示す「使用するエンジン」は、アプリケーション12が使用しようとするエンジン13の種別を示す変数である。「使用するエンジン」も、アプリケーション12が要求する条件の1つである。また、「使用するエンジン」の値も、書き換え可能である。
 第1の実施形態と同様に、組合せ決定部5が、優先順位に基づいてエンジン13とアプリケーション12の組合せを決定する場合、「エンジンの使用料」および「使用するエンジン」が第1の変数に該当し、「優先順位」が第2の変数に該当する。
 また、第2の実施形態と同様に、組合せ決定部5が、エンジン13の使用料に基づいてエンジン13とアプリケーション12の組合せを決定する場合、「エンジンの使用料」および「使用するエンジン」が第1の変数に該当し、「エンジンの使用料」が第2の変数に該当する。すなわち、この場合、「エンジンの使用料」は、第1の変数と第2の変数の両方に該当する。
 図10に例示したエンジン側メタデータは、例えば、図2および図3で例示したセンサ側メタデータとは異なる。また、図11および図12で例示したアプリケーション側メタデータは、例えば、図4および図5で例示したアプリケーション側メタデータとは異なる。しかし、図11および図12で例示したアプリケーション側メタデータは、第1の変数および第2の変数を含んでおり、組合せ生成部4、組合せ決定部5およびデータ授受制御部6の動作は、第1の実施形態におけるそれらの要素の動作、または、第2の実施形態におけるそれらの要素の動作と同様であり、詳細な説明を省略する。
 組合せ生成部4は、アプリケーション側メタデータ保存部3に保存されているアプリケーション側メタデータ内の第1の変数(アプリケーション12がエンジン13に要求する条件を示す変数)の値と、エンジン側メタデータ保存部7に保存されているエンジン側メタデータの内容とを照合することによって、アプリケーション12と、そのアプリケーション12が要求する条件を満たしているエンジン13との組合せを全て生成する。
 図10に示すエンジン側メタデータは、図11に示す「エンジンの使用料」の値および「使用するエンジン」の値が示す条件を満たしている。従って、組合せ生成部4は、エンジン“135(図10参照)”とアプリケーション“12237(図11参照)”との組合せを生成する。一方、図10に示すエンジン側メタデータは、図12に示す「エンジンの使用料」の値が示す条件を満たしていない。従って、エンジン“135(図10参照)”とアプリケーション“12299”との組合せは生成されない。
 組合せ決定部5は、組合せ生成部4によって生成された組合せの中から、データ授受を行うエンジン13とアプリケーション12との組合せを決定する。このとき、組合せ決定部5は、第1の実施形態と同様に、生成された組合せをなすアプリケーション12のアプリケーション側メタデータに含まれる優先順位に基づいて、データ授受を行うエンジン13とアプリケーション12との組合せを決定してもよい。または、組合せ決定部5は、第2の実施形態と同様に、生成された組合せをなすアプリケーション12のアプリケーション側メタデータに含まれる「エンジンの使用料」に基づいて、データ授受を行うエンジン13とアプリケーション12との組合せを決定してもよい。
 第3の実施形態では、第1の実施形態や第2の実施形態と同様の効果が得られる。ただし、第1の実施形態の効果や第2の実施形態の効果で述べているセンサは、エンジンに置き換えられる。
 また、組合せ決定部5は、外部からの指示に応じて、データ授受を行うエンジン13とアプリケーション12との組合せを決定する際の基準を変更してもよい。例えば、組合せ決定部5は、通常時に、アプリケーション側メタデータにおける「エンジンの使用料」に基づいて、データ授受を行うエンジン13とアプリケーション12との組合せを決定してもよい。そして、緊急時には、例えば、仲介者(データ授受制御システム1の所有者)からの指示に応じて、組合せ決定部5は、組合せを決定する際の基準を変更し、アプリケーション12の優先順位に基づいて、データ授受を行うエンジン13とアプリケーション12の組合せを決定してもよい。
 図13は、本発明の各実施形態に係るコンピュータの構成例を示す概略ブロック図である。コンピュータ1000は、CPU1001と、主記憶装置1002と、補助記憶装置1003と、インタフェース1004と、通信インタフェース1005とを備える。
 各実施形態のデータ授受制御システム1は、コンピュータ1000に実装される。データ授受制御システム1の動作は、データ授受制御プログラムの形式で補助記憶装置1003に記憶されている。CPU1001は、プログラムを補助記憶装置1003から読み出して主記憶装置1002に展開し、そのプログラムに従って上記の処理を実行する。なお、通信インタフェース1005は、CPU1001が、センサ側メタデータ(またはエンジン側メタデータ)や、アプリケーション側メタデータを受信したり、アプリケーションの宛先情報を送信したりする際に用いる通信インタフェースである。
 補助記憶装置1003は、一時的でない有形の媒体の例である。一時的でない有形の媒体の他の例として、インタフェース1004を介して接続される磁気ディスク、光磁気ディスク、CD-ROM(Compact Disk Read Only Memory )、DVD-ROM(Digital Versatile Disk Read Only Memory )、半導体メモリ等が挙げられる。また、このプログラムが通信回線によってコンピュータ1000に配信される場合、配信を受けたコンピュータ1000がそのプログラムを主記憶装置1002に展開し、上記の処理を実行してもよい。
 次に、本発明の概要について、説明する。図14は、本発明の概要を示すブロック図である。本発明のデータ授受制御システムは、第1データ記憶部72と、第2データ記憶部73と、組合せ生成部74とを備える。
 第1データ記憶部72(例えば、センサ側メタデータ保存部2、エンジン側メタデータ保存部7)は、データを提供するデータ提供部に関する情報である第1データ(例えば、センサ側メタデータ、エンジン側メタデータ)を記憶する。
 第2データ記憶部73(例えば、アプリケーション側メタデータ保存部3)は、データ提供部から提供されるデータを取得するデータ取得部に関する情報であって、データ取得部がデータ提供部に要求する条件を示す条件情報(例えば、第1の変数の値)と、データ取得部とデータ提供部との組合せを決定する際の基準となる基準情報(例えば、第2の変数の値)とを含む情報である第2データ(例えば、アプリケーション側メタデータ)を記憶する。
 組合せ生成部74(例えば、組合せ生成部4)は、条件情報と、第1データとに基づいて、データ取得部とデータ提供部との組合せを生成する。
 組合せ生成部74は、第1データ記憶部72が記憶する第1データと、第2データ記憶部73が記憶する第2データの少なくともいずれか一方に変化が生じた場合に、データ取得部とデータ提供部との組合せを生成する。
 そのような構成によって、データ提供部の価値が変動する場合において、データ提供部とデータ取得部の適切な組合せを生成することができる。
 上記の本発明の各実施形態は、以下の付記のようにも記載され得るが、以下に限定されるわけではない。
(付記1)
 データを提供するデータ提供部に関する情報である第1データを記憶する第1データ記憶部と、
 前記データ提供部から提供される前記データを取得するデータ取得部に関する情報であって、前記データ取得部が前記データ提供部に要求する条件を示す条件情報と、データ取得部とデータ提供部との組合せを決定する際の基準となる基準情報とを含む情報である第2データを記憶する第2データ記憶部と、
 前記条件情報と、前記第1データとに基づいて、前記データ取得部と前記データ提供部との組合せを生成する組合せ生成部とを備え、
 前記組合せ生成部は、
 前記第1データ記憶部が記憶する第1データと、前記第2データ記憶部が記憶する第2データの少なくともいずれか一方に変化が生じた場合に、前記データ取得部と前記データ提供部との組合せを生成する
 ことを特徴とするデータ授受制御システム。
(付記2)
 組合せ生成部によって生成された組合せの中から、基準情報に基づいて、データ取得部とデータ提供部との組合せを決定する組合せ決定部と、
 前記組合せ決定部に決定された組合せをなすデータ取得部とデータ提供部との間でデータ授受を実行させるデータ授受制御部とを備える
 付記1に記載のデータ授受制御システム。
(付記3)
 第2データ記憶部は、
 基準情報として、データ取得部がデータ提供部からデータの提供を受ける際の優先順位を含む第2データを記憶し、
 組合せ決定部は、
 一のデータ提供部と組合せをなすデータ取得部が複数存在する場合に、前記優先順位に基づいて、前記データ提供部と組合せをなすデータ取得部を決定する
 付記1または付記2に記載のデータ授受制御システム。
(付記4)
 第2データ記憶部は、
 基準情報として、データ提供部の使用料金を含む第2データを記憶し、
 組合せ決定部は、
 一のデータ提供部と組合せをなすデータ取得部が複数存在する場合に、前記使用料金に基づいて、前記データ提供部と組合せをなすデータ取得部を決定する
 付記1または付記2に記載のデータ授受制御システム。
(付記5)
 組合せ決定部は、データ取得部とデータ提供部との組合せを決定する際の基準を、外部からの指示に応じて変更する
 付記1から付記4のうちのいずれかに記載のデータ授受制御システム。
(付記6)
 第1データ記憶部は、
 第1データとして、センサに関する情報を保存する
 付記1から付記5のうちのいずれかに記載のデータ授受制御システム。
(付記7)
 第1データ記憶部は、
 第1データとして、センサが出力したデータを加工したデータを提供するデータ加工部に関する情報を保存する
 付記1から付記5のうちのいずれかに記載のデータ授受制御システム。
(付記8)
 データを提供するデータ提供部に関する情報である第1データを記憶する第1データ記憶部と、
 前記データ提供部から提供される前記データを取得するデータ取得部に関する情報であって、前記データ取得部が前記データ提供部に要求する条件を示す条件情報と、データ取得部とデータ提供部との組合せを決定する際の基準となる基準情報とを含む情報である第2データを記憶する第2データ記憶部とを備えるコンピュータが、
 前記条件情報と、前記第1データとに基づいて、前記データ取得部と前記データ提供部との組合せを生成し、
 前記コンピュータが、
 前記第1データ記憶部が記憶する第1データと、前記第2データ記憶部が記憶する第2データの少なくともいずれか一方に変化が生じた場合に、前記データ取得部と前記データ提供部との組合せを生成する
 ことを特徴とするデータ授受制御方法。
(付記9)
 データを提供するデータ提供部に関する情報である第1データを記憶する第1データ記憶部と、
 前記データ提供部から提供される前記データを取得するデータ取得部に関する情報であって、前記データ取得部が前記データ提供部に要求する条件を示す条件情報と、データ取得部とデータ提供部との組合せを決定する際の基準となる基準情報とを含む情報である第2データを記憶する第2データ記憶部とを備えるコンピュータに搭載されるデータ授受制御プログラムであって、
 前記コンピュータに、
 前記条件情報と、前記第1データとに基づいて、前記データ取得部と前記データ提供部との組合せを生成する組合せ生成処理を実行させ、
 前記第1データ記憶部が記憶する第1データと、前記第2データ記憶部が記憶する第2データの少なくともいずれか一方に変化が生じた場合に、前記組合せ生成処理を実行させる
 ためのデータ授受制御プログラム。
 以上、実施形態を参照して本願発明を説明したが、本願発明は上記の実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
 この出願は、2017年8月8日に出願された日本特許出願2017-153103を基礎とする優先権を主張し、その開示の全てをここに取り込む。
産業上の利用の可能性
 本発明は、データ提供部とデータ取得部との間のデータ授受を制御するデータ授受制御システムに好適に適用される。
 1 データ授受制御システム
 2 センサ側メタデータ保存部
 3 アプリケーション側メタデータ保存部
 4 組合せ生成部
 5 組合せ決定部
 6 データ授受制御部
 11 センサ
 12 アプリケーション

Claims (9)

  1.  データを提供するデータ提供部に関する情報である第1データを記憶する第1データ記憶部と、
     前記データ提供部から提供される前記データを取得するデータ取得部に関する情報であって、前記データ取得部が前記データ提供部に要求する条件を示す条件情報と、データ取得部とデータ提供部との組合せを決定する際の基準となる基準情報とを含む情報である第2データを記憶する第2データ記憶部と、
     前記条件情報と、前記第1データとに基づいて、前記データ取得部と前記データ提供部との組合せを生成する組合せ生成部とを備え、
     前記組合せ生成部は、
     前記第1データ記憶部が記憶する第1データと、前記第2データ記憶部が記憶する第2データの少なくともいずれか一方に変化が生じた場合に、前記データ取得部と前記データ提供部との組合せを生成する
     ことを特徴とするデータ授受制御システム。
  2.  組合せ生成部によって生成された組合せの中から、基準情報に基づいて、データ取得部とデータ提供部との組合せを決定する組合せ決定部と、
     前記組合せ決定部に決定された組合せをなすデータ取得部とデータ提供部との間でデータ授受を実行させるデータ授受制御部とを備える
     請求項1に記載のデータ授受制御システム。
  3.  第2データ記憶部は、
     基準情報として、データ取得部がデータ提供部からデータの提供を受ける際の優先順位を含む第2データを記憶し、
     組合せ決定部は、
     一のデータ提供部と組合せをなすデータ取得部が複数存在する場合に、前記優先順位に基づいて、前記データ提供部と組合せをなすデータ取得部を決定する
     請求項1または請求項2に記載のデータ授受制御システム。
  4.  第2データ記憶部は、
     基準情報として、データ提供部の使用料金を含む第2データを記憶し、
     組合せ決定部は、
     一のデータ提供部と組合せをなすデータ取得部が複数存在する場合に、前記使用料金に基づいて、前記データ提供部と組合せをなすデータ取得部を決定する
     請求項1または請求項2に記載のデータ授受制御システム。
  5.  組合せ決定部は、データ取得部とデータ提供部との組合せを決定する際の基準を、外部からの指示に応じて変更する
     請求項1から請求項4のうちのいずれか1項に記載のデータ授受制御システム。
  6.  第1データ記憶部は、
     第1データとして、センサに関する情報を保存する
     請求項1から請求項5のうちのいずれか1項に記載のデータ授受制御システム。
  7.  第1データ記憶部は、
     第1データとして、センサが出力したデータを加工したデータを提供するデータ加工部に関する情報を保存する
     請求項1から請求項5のうちのいずれか1項に記載のデータ授受制御システム。
  8.  データを提供するデータ提供部に関する情報である第1データを記憶する第1データ記憶部と、
     前記データ提供部から提供される前記データを取得するデータ取得部に関する情報であって、前記データ取得部が前記データ提供部に要求する条件を示す条件情報と、データ取得部とデータ提供部との組合せを決定する際の基準となる基準情報とを含む情報である第2データを記憶する第2データ記憶部とを備えるコンピュータが、
     前記条件情報と、前記第1データとに基づいて、前記データ取得部と前記データ提供部との組合せを生成し、
     前記コンピュータが、
     前記第1データ記憶部が記憶する第1データと、前記第2データ記憶部が記憶する第2データの少なくともいずれか一方に変化が生じた場合に、前記データ取得部と前記データ提供部との組合せを生成する
     ことを特徴とするデータ授受制御方法。
  9.  データを提供するデータ提供部に関する情報である第1データを記憶する第1データ記憶部と、
     前記データ提供部から提供される前記データを取得するデータ取得部に関する情報であって、前記データ取得部が前記データ提供部に要求する条件を示す条件情報と、データ取得部とデータ提供部との組合せを決定する際の基準となる基準情報とを含む情報である第2データを記憶する第2データ記憶部とを備えるコンピュータに搭載されるデータ授受制御プログラムであって、
     前記コンピュータに、
     前記条件情報と、前記第1データとに基づいて、前記データ取得部と前記データ提供部との組合せを生成する組合せ生成処理を実行させ、
     前記第1データ記憶部が記憶する第1データと、前記第2データ記憶部が記憶する第2データの少なくともいずれか一方に変化が生じた場合に、前記組合せ生成処理を実行させる
     ためのデータ授受制御プログラム。
PCT/JP2018/021345 2017-08-08 2018-06-04 データ授受制御システム、方法およびプログラム WO2019031037A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP18843517.6A EP3667604A4 (en) 2017-08-08 2018-06-04 SYSTEM, METHOD AND PROGRAM FOR CONTROLLING DATA TRANSMISSION / RECEPTION
JP2019535618A JP6852794B2 (ja) 2017-08-08 2018-06-04 データ授受制御システム、方法およびプログラム
US16/635,270 US11100015B2 (en) 2017-08-08 2018-06-04 Data transmission/reception control system, method and program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017153103 2017-08-08
JP2017-153103 2017-08-08

Publications (1)

Publication Number Publication Date
WO2019031037A1 true WO2019031037A1 (ja) 2019-02-14

Family

ID=65272198

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/021345 WO2019031037A1 (ja) 2017-08-08 2018-06-04 データ授受制御システム、方法およびプログラム

Country Status (4)

Country Link
US (1) US11100015B2 (ja)
EP (1) EP3667604A4 (ja)
JP (1) JP6852794B2 (ja)
WO (1) WO2019031037A1 (ja)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120101912A1 (en) * 2010-10-20 2012-04-26 Cisco Technology, Inc. Providing a Marketplace for Sensor Data
JP2013003816A (ja) 2011-06-16 2013-01-07 Hitachi Ltd 仮想化ホームゲ−トウェイシステム
WO2014030510A1 (ja) * 2012-08-22 2014-02-27 オムロン株式会社 デバイス管理装置及びデバイス管理方法
JP5445722B1 (ja) 2012-09-12 2014-03-19 オムロン株式会社 データフロー制御指令発生装置およびセンサ管理装置
JP2015038744A (ja) 2014-09-19 2015-02-26 オムロン株式会社 センシングデータの提供契約及び利用契約のデータ構造
JP2015062285A (ja) 2014-09-19 2015-04-02 オムロン株式会社 センサ管理装置
JP2015226102A (ja) 2014-05-26 2015-12-14 オムロン株式会社 仮想センサのメタデータ構造
JP2017153103A (ja) 2017-03-24 2017-08-31 日立マクセル株式会社 放送受信装置及びキャッシュ制御方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100749820B1 (ko) 2006-11-06 2007-08-17 한국전자통신연구원 센서 네트워크로부터의 센싱 데이터 처리 시스템 및 그방법
KR101087134B1 (ko) * 2007-12-10 2011-11-25 한국전자통신연구원 체감 정보를 이용한 디지털 데이터 태깅 장치, 태깅 및검색서비스 제공 시스템 및 방법

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120101912A1 (en) * 2010-10-20 2012-04-26 Cisco Technology, Inc. Providing a Marketplace for Sensor Data
JP2013003816A (ja) 2011-06-16 2013-01-07 Hitachi Ltd 仮想化ホームゲ−トウェイシステム
WO2014030510A1 (ja) * 2012-08-22 2014-02-27 オムロン株式会社 デバイス管理装置及びデバイス管理方法
JP5445722B1 (ja) 2012-09-12 2014-03-19 オムロン株式会社 データフロー制御指令発生装置およびセンサ管理装置
WO2014041826A1 (ja) * 2012-09-12 2014-03-20 オムロン株式会社 データフロー制御指令発生装置およびセンサ管理装置
JP2015226102A (ja) 2014-05-26 2015-12-14 オムロン株式会社 仮想センサのメタデータ構造
JP2015038744A (ja) 2014-09-19 2015-02-26 オムロン株式会社 センシングデータの提供契約及び利用契約のデータ構造
JP2015062285A (ja) 2014-09-19 2015-04-02 オムロン株式会社 センサ管理装置
JP2017153103A (ja) 2017-03-24 2017-08-31 日立マクセル株式会社 放送受信装置及びキャッシュ制御方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3667604A4 *

Also Published As

Publication number Publication date
JPWO2019031037A1 (ja) 2020-07-02
EP3667604A1 (en) 2020-06-17
US20200183865A1 (en) 2020-06-11
EP3667604A4 (en) 2020-06-17
US11100015B2 (en) 2021-08-24
JP6852794B2 (ja) 2021-03-31

Similar Documents

Publication Publication Date Title
US10896347B2 (en) Dataflow control apparatus and dataflow control method for metadata matching and device extraction
CN110618671B (zh) 空中(ota)移动服务平台
JP6365519B2 (ja) データフロー制御装置およびデータフロー制御方法
JP6340866B2 (ja) 相乗り依頼方法、相乗り依頼装置およびプログラム
CN109472678B (zh) 一种基于区块链的会计账本管理方法、电子装置及可读存储介质
WO2015182416A1 (ja) 仮想センサのメタデータ構造
US20190325522A1 (en) Blockchain driven unified multi-party system and method for monitored transactions of urban assets
US20100153530A1 (en) Network-based application late binding
US20170331898A1 (en) Data mediation system and method
JP2017084134A (ja) データ流通管理システム
Kaiser et al. Towards a privacy-preserving way of vehicle data sharing–a case for blockchain technology?
US20210389138A1 (en) Vehicle Communication System for Optimizing Traffic Flow
JP2019029013A (ja) 取引システム、提供端末、利用端末、及び、ノード
EP4146493A1 (en) Transport battery recharging via virtual power plant
KR102324455B1 (ko) 무인 매장 원격 관리 시스템 및 방법
Berkers et al. Constructing a multi-sided business model for a smart horizontal IoT service platform
US20220058647A1 (en) Data transaction system
JP6852794B2 (ja) データ授受制御システム、方法およびプログラム
US20220139122A1 (en) Method for monitoring a functionality of a vehicle information system of a motor vehicle, and electronic computing device, computer program and data carrier
WO2009107511A1 (ja) 複合イベント検出/配信システム、複合イベント検出/配信方法、及び複合イベント検出/配信用プログラム
KR20200064707A (ko) 블록체인 기반의 제보 보상 서비스 제공 방법 및 이를 위한 장치
JPWO2013038905A1 (ja) 情報管理装置、ネットワークシステム、情報管理プログラム、および情報管理方法
EP3432593B1 (en) Data-flow control device and data-flow control method
JP2014092985A (ja) 情報処理システム、携帯型情報処理装置、情報処理システムプログラム及び情報処理プログラム
US20240109449A1 (en) Determining vehicle charging locations

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2019535618

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2018843517

Country of ref document: EP

Effective date: 20200309