WO2015128954A1 - デバイス情報提供システム、デバイス情報提供方法 - Google Patents

デバイス情報提供システム、デバイス情報提供方法 Download PDF

Info

Publication number
WO2015128954A1
WO2015128954A1 PCT/JP2014/054632 JP2014054632W WO2015128954A1 WO 2015128954 A1 WO2015128954 A1 WO 2015128954A1 JP 2014054632 W JP2014054632 W JP 2014054632W WO 2015128954 A1 WO2015128954 A1 WO 2015128954A1
Authority
WO
WIPO (PCT)
Prior art keywords
processing module
output
virtual
requirement
extracted
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
PCT/JP2014/054632
Other languages
English (en)
French (fr)
Inventor
徹 上野山
敦司 久野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Original Assignee
Omron Corp
Omron Tateisi Electronics Co
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 Omron Corp, Omron Tateisi Electronics Co filed Critical Omron Corp
Priority to PCT/JP2014/054632 priority Critical patent/WO2015128954A1/ja
Priority to US14/437,920 priority patent/US9679032B2/en
Priority to EP14854884.5A priority patent/EP2940601B1/en
Priority to JP2015518669A priority patent/JP5822050B1/ja
Publication of WO2015128954A1 publication Critical patent/WO2015128954A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/70Services for machine-to-machine communication [M2M] or machine type communication [MTC]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/248Presentation of query results
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/338Presentation of query results
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9538Presentation of query results
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Definitions

  • the present invention relates to a technique for making it possible to easily search for a device that matches a purpose from a large number of devices in various places.
  • the sensor network is a technology that enables collection, management, and seamless use of sensing data by installing sensor devices having a detection function and a communication function in various places and networking them. If a sensor network is realized, it will be easy to quickly and accurately grasp the situation of every place from anywhere, so it can be applied to industrial fields such as manufacturing sites and logistics, as well as social systems such as transportation and various infrastructures. It is expected to have a wide range of applications in fields related to life such as medicine and education.
  • sensor networks have the advantage that as the number and types of sensors increase, the overall system capabilities (resolution, wide area of support, types of sensing data that can be acquired, etc.) increase. If the amount is too large, it will be difficult to find an optimal sensor for obtaining the target information, and there is a concern that the convenience may be reduced.
  • a method is proposed in which a sensor management system accepts a user's sensor request, searches for a sensor service corresponding to the sensor request, and provides it to the user. Has been.
  • the present inventors are paying attention to a technology called “virtual sensor” as one of the possibilities of the sensor network.
  • the virtual sensor is a sensor that analyzes and processes sensing data obtained from another sensor and outputs it as new sensing data. That is, the substance of the virtual sensor is a combination of one or a plurality of real sensors and a program module that performs data processing. By encapsulating them as virtual sensors and providing them to the sensor network user, the user can use the virtual sensor without distinction from the actual sensor. By introducing such virtual sensors, various effects can be expected, such as improving the utilization rate of resources (actual sensors) and providing sensing data with new added value.
  • the same problem may occur in the case of an actuator (controller) network.
  • Sensors and “actuators (controllers)” have some difference in whether they “detect (acquire) the state” or “change the state”, but they perform some action on the target area within a predetermined range. The point is common.
  • the term “device” is used as a concept including “sensor” and “actuator”. Note that a virtual actuator means a combination of outputs from a plurality of actual actuators that creates new added value.
  • the present invention has been made in view of the above circumstances, and an object of the present invention is to automatically generate a virtual device in response to a user request, thereby providing information on a device that satisfies the user request.
  • the aim is to provide technology to expand the possibilities.
  • the present invention adopts the following configuration. That is, the device information providing system according to the present invention includes a search request receiving means for receiving a search request including an output requirement for specifying a desired output result as a search request for searching for a device, and one or more other search requests.
  • the information about the processing module that takes the output from the device as an input and generates a new output by combining these inputs, at least the input requirements for specifying the input of the processing module, and the output of the processing module A processing module DB registered for a plurality of processing modules together with output requirements for the device, a device DB registered for a plurality of devices together with output requirements for specifying the output of the device at least, and the search request.
  • Processing module extraction means for extracting a processing module that can acquire the desired output result specified in the search request from the processing module DB, input requirements for the extracted processing module, and each device By comparing with the output requirement, one or more devices having an output usable as input of the extracted processing module are extracted from the device DB, and the extracted one or more devices and the extracted are extracted.
  • Virtual device generation means for generating a virtual device comprising a combination of processing modules; and device information provision means for providing information on the virtual device generated by the virtual device generation means to a user as a search result
  • a processing module that can acquire a user-desired output result and a device that has an output that can be used as an input of the processing module are automatically selected based on a user search request, and a virtual device is selected. Generated automatically. Therefore, even if there is no device that matches the user's request (not registered in the search database in advance), it is possible to meet the user's request by creating a new virtual device. Effective use of network resources and increase of usage opportunities by users can be achieved.
  • the system extracts, from the device DB, devices that can obtain the desired output result specified in the search request by comparing the output requirements included in the search request with the output requirements of each device. It is preferable that the device information providing unit further includes device information extracted by the device extracting unit as a search result. Thereby, both the information on the existing device registered in the device DB and the information on the new virtual device generated by the virtual device generation unit can be provided to the user. For the user, it is possible to search for existing devices and virtual devices without distinction, and convenience is improved. Furthermore, rationalization of the system configuration can be expected by utilizing the device DB as a database for searching for existing devices.
  • the device extraction process by the device extraction unit is performed preferentially over the processing module extraction process by the processing module extraction unit and the virtual device generation process by the virtual device generation unit. Since the virtual device uses the output of another device, there are cases in which the use cost is high, the processing load is large, or the accuracy is reduced due to data processing, as compared with the existing device. Therefore, if there is an existing device that satisfies the user's request, it is more appropriate to preferentially provide information about the existing device. In addition, by performing device extraction processing that is lighter than processing module extraction processing and virtual device generation processing first, the time required to provide search results to the user can be reduced, and high-speed search can be performed. There is also an advantage that it can be realized.
  • the processing module extraction processing by the processing module extraction means and the virtual device generation processing by the virtual device generation means may be performed.
  • “The case where the predetermined condition is not reached” is, for example, a case where no device is extracted, or a case where the number of extracted devices is less than a predetermined number. According to this configuration, when the existing device extraction result is sufficient, the processing module extraction processing and the virtual device generation processing are not executed, so that the processing load on the system can be reduced.
  • the device DB includes a real device DB in which information on physical devices that physically exist is registered, and a virtual device DB in which information on virtual devices is registered.
  • the device is searched from the three categories of the existing real device registered in the real device DB, the existing virtual device registered in the virtual device DB, and the newly generated virtual device. It is possible to further expand the possibility of providing information on devices that meet the requirements.
  • the virtual device generation means includes a device having an output that can be used as an input of the extracted processing module, among a real device registered in the real device DB and a virtual device registered in the virtual device DB. It is preferable to extract from. This makes it possible to use an existing virtual device as an input for a new virtual device, greatly increasing the degree of freedom in creating a virtual device. Therefore, the possibility of generating a virtual device that matches the user's request can be further expanded.
  • the virtual device generation means when a new virtual device is generated by the virtual device generation means, information on the new virtual device is automatically registered in the virtual device DB. If the virtual device information once generated is registered in the virtual device DB in this manner, when a similar search request is received from another user, the virtual device generation processing is not performed and only the virtual device DB search is performed. Since it is possible to cope with it, the processing load of the system can be reduced.
  • the present invention can also be understood as a device information providing system having at least one of the above means, or as a device network system including a device information providing system and a plurality of devices.
  • the present invention can also be understood as a device information providing method including at least one of the above processes, a program for causing a computer to execute each step of the device information providing method, and a storage medium storing the program Can also be taken as.
  • the present invention by automatically generating a virtual device in response to a user request, the possibility of providing information on a device that satisfies the user request can be expanded.
  • the figure which shows the structure of a device network system The figure which shows the usage example of a device search process.
  • the device network system includes a device network 1 and a device management system 2.
  • the device network 1 is a network constituted by a large number of devices 10 existing in various places.
  • the network configuration, communication method, and the like can be arbitrarily designed and are not particularly limited.
  • Each device 10 can communicate with the device management system 2 via a wide area network such as the Internet.
  • the device management system 2 manages information about the devices 10 constituting the device network 1 and information collected from the devices, and provides various services for users who want to use the devices 10 (device search is one of them).
  • Server device A user can access a service provided by the device management system 2 from the user terminal 3 through a wide area network such as the Internet.
  • the device information providing system and the device information providing method according to the present invention are implemented as one function of the device management system 2.
  • the device management system 2 has a function for registering a new device in the system and a function for changing information about the device as functions for the owner of the device.
  • the device management system 2 also provides a function for creating and registering a virtual device, which will be described later, and a processing module used in the virtual device, as a function for a third party.
  • a person who creates or registers a virtual device or processing module is called a “creator”.
  • the device management system 2 functions to mediate between the user of the device and the owner or creator (verification / arbitration of usage conditions and provision conditions, charging to the user and the owner or creation) It is also preferable to have a consideration payment to a person.
  • Each device 10 is a device that acts on a target area defined in space or space-time, and can be roughly classified into “sensor” and “actuator”.
  • space is a region defined by two dimensions (x, y) or three dimensions (x, y, z)
  • time space is a dimension of “time (t)” in “space”. That is, an area defined by three dimensions (x, y; t) or four dimensions (x, y, z; t).
  • the term “sensor” is used to mean a device that detects (acquires) the state of the target region
  • actuator is used to mean a device that changes the state of the target region.
  • sensors examples include image sensors (cameras), temperature sensors, humidity sensors, illuminance sensors, force sensors, sound sensors, RFID sensors, infrared sensors, attitude sensors, rainfall sensors, radioactivity sensors, gas sensors, and the like.
  • image sensors cameras
  • humidity sensors humidity sensors
  • illuminance sensors force sensors
  • sound sensors RFID sensors
  • infrared sensors attitude sensors
  • rainfall sensors radioactivity sensors
  • gas sensors gas sensors
  • any type of sensor can be used in this system.
  • actuators such as motors, solenoids, controllers, robots, lighting, speakers, displays, digital signage, and air conditioning are applicable, and any type of actuator can be used in this system.
  • devices including both sensors (image sensors and the like) and actuators (display, speakers and the like) such as mobile phones, smartphones, and slate terminals.
  • Various types of devices can be mixed in the device network 1.
  • the device management system 2 includes a search request receiving unit 20, a DB search unit 21, a device combination reasoning unit 22, a device information providing unit 23, a physical device master DB 24, a virtual device master DB 25, as functions related to device search and information provision. It has functions such as the algorithm master DB 26.
  • the device management system 2 can be configured by a computer including a CPU, a main storage device (memory), an auxiliary storage device (HDD, SSD, etc.), a communication device, an input device, a display device, and the like in hardware.
  • Each functional block shown in FIG. 1 is implemented by loading a computer program stored in the auxiliary storage device into the main storage device and executing the program by the CPU.
  • the device management system 2 may be configured by a single computer or a plurality of computers that cooperate.
  • the user terminal 3 for example, a personal computer, a mobile phone, a smartphone, a slate type terminal, or the like can be used.
  • a user searches for a device via the Internet.
  • a configuration in which the user operates the device management system itself, or a part or all of the functions of the device management system is provided on the user terminal 3 side. It may be configured to be mounted.
  • the device information providing service is a search service for facilitating the user to find the optimum device for achieving the purpose from among the many devices 10 constituting the device network 1.
  • a specific usage example of the sensor information providing service will be described with reference to FIGS.
  • FIG. 2 (a) When the user accesses the device information providing service using the user terminal 3, a search condition input screen as shown in FIG. 2 (a) is displayed.
  • the search condition (purpose of search) can be input in free text, for example, “I want to know the weather in Kusatsu City”.
  • FIG. 2B is another example of the search condition input screen.
  • the desired sensing data type and sensing target area are entered in separate boxes.
  • the search button is pressed, a search request is transmitted from the user terminal 3 to the device management system 2, and device search processing is executed in the device management system 2. Details of the device search process will be described later.
  • FIG. 2C is an example of a search result screen returned from the device management system 2.
  • two types of sensors that can acquire the weather of Kusatsu City are presented, and further, sensors that can acquire the weather of the southern part of Shiga Prefecture where Kusatsu City exists are also presented.
  • a plurality of sensors that may satisfy the search condition input by the user are searched, and a list is displayed in order from the sensor having the highest matching degree with the search condition.
  • the search result list also displays information such as device specifications, usage fees, contract conditions, and device providers as necessary. The user can select a sensor while looking at the search result and comparing which sensor is used.
  • FIG. 2D shows an example of an actuator information providing service.
  • a condition (purpose) “I want to send an advertisement to people in front of Kyoto Station” is input.
  • a digital signage (DS) As means for transmitting information to people in front of the station, for example, a digital signage (DS), a speaker, a large display installed in a nearby building, an electric bulletin board, and the like can be considered.
  • a search result a list of these available devices (actuators) is displayed.
  • the device information provision service of this system is characterized by providing not only information on physically existing devices (actual sensors, actual actuators) but also information on virtual devices (virtual sensors, virtual actuators) as search results.
  • a virtual device is a virtual device configured by a combination of one or a plurality of devices and a processing module.
  • the search request from the user is “Camera image of Kyoto station front concourse”. If there is a monitoring camera in the device network 1 that shoots and exposes the Kyoto station front concourse, information on the monitoring camera (actual device) may be first provided to the user. However, when there is no real device that completely matches the search request from the user, or even when there is an actual device, information on another device may be provided as the second and third candidates. For example, if there is no camera that captures the entire concourse in front of Kyoto Station, but there are multiple surveillance cameras that partially photograph each part of the concourse, these multiple surveillance cameras and multiple camera images A combination of a processing module that outputs a wide range of video by panoramicly combining images can be provided as a virtual sensor.
  • a combination with a processing module that selects a video image can be provided as a virtual sensor.
  • the search request from the user is “the direction and the number of people who went out of the front gate of Kyoto Station on weekday morning”. It is rare that an actual sensor that can directly obtain such special sensing data is installed. Even in this case, for example, if there are a monitoring camera shooting the front ticket gate and a monitoring camera shooting the vicinity of the ticket gate, these monitoring cameras and a processing module for identifying the same person from a plurality of images By combining with a processing module that counts the number of people by direction, a virtual sensor that satisfies the user's search request can be configured.
  • a virtual actuator combine the outputs of multiple actuators (synchronize or link). For example, it is assumed that a search request from a user is “I want to broadcast a video to a person in front of Kyoto Station”. In this case, for example, a video with audio can be output by synchronizing video output from a large electric bulletin board installed in a building in front of Kyoto Station and audio output from multiple speakers installed in front of Kyoto Station.
  • a virtual actuator can be provided.
  • the utilization rate of resources (real devices) in the device network 1 can be improved and new added value can be added.
  • Various effects such as providing sensing data or actuator output can be expected.
  • FIGS. 3 to 5 are diagrams showing configuration examples of the physical device master DB 24, the algorithm master DB 26, and the virtual device master DB 25, respectively.
  • the physical device master DB 24 is a database in which information related to physical devices (real sensors and real actuators) that physically exist is registered, and is also referred to as a real device DB.
  • information of all devices 10 constituting the device network 1 is registered.
  • Device registration in the physical device master DB 24 is performed by the owner of the device 10 or the operator of this system.
  • FIG. 3 registered contents of “monitoring camera” which is an example of a sensor and “electronic bulletin board” and “speaker” which are examples of an actuator are illustrated.
  • Device ID is information for identifying a device, and a different ID is assigned to each device.
  • “Device information” is a part in which basic information of a device is described, and “device address” (network address when communicating with the device, such as an IP address), “owner ID” (device owner) ), “Installation location” (information specifying the location where the device is installed. For example, latitude and longitude information), “device type” (information indicating the type or application of the sensor or actuator. For example, monitoring Information such as camera, temperature sensor, electric bulletin board ).
  • “Output requirement” is information for specifying the output of the device.
  • information relating to sensing data output from the sensor includes “output type” (information indicating the data type of sensing data. For example, video, image, weather, temperature,...), “Target area” (sensing data).
  • Information specifying the target area for example, latitude / longitude for a single point, central latitude / longitude + radius for an area), and “constraint conditions” (for example, time zone and period for which output can be obtained) Including.
  • information relating to output from the actuator includes “output type” (information indicating the output form of the actuator.
  • Target area identifying the area where the action acts. For example, latitude and longitude for one point, latitude and longitude of the center for an area), “constraint conditions” (for example, available time zone and period), etc. Contains information.
  • “Contract requirement” is information indicating a use condition when using the device, and “use amount” and “contract condition” are set for each of one or more “use patterns” for each device.
  • the following three types of usage patterns are prepared for the monitoring camera with the device ID “P001”.
  • ⁇ Commercial 1 Usage fee is ⁇ 100 per month. No contract terms.
  • ⁇ Academic 1 Usage fee is free. However, the resolution is limited to QVGA and limited to academic use.
  • the algorithm master DB 26 is a database in which information on processing modules used in the virtual device is registered, and is also called a processing module DB.
  • a processing module is an algorithm or rule that takes an output from one or more devices as an input and generates a new output by combining these inputs. Creation / registration of a processing module is performed by the creator of the processing module or the operator of this system.
  • FIG. 4 illustrates a processing module that predicts the weather based on weather map data obtained from one sensor, and a processing module that realizes video broadcast by combining two actuator outputs of image output and audio output. ing.
  • Processing ID is information for identifying a processing module, and a different ID is assigned to each processing module.
  • Cosmetic ID is information for identifying the creator of the processing module. When a processing module is used, a price corresponding to a contract condition described later is paid to the creator of the processing module.
  • Output requirement is information for specifying the output of the processing module. Basically, information in the same format as the “output requirement” in the physical device master DB 24 is registered. However, for the “target region”, not only a fixed value such as latitude and longitude, but also a relative position based on the position described by the variable (X1) such as “region having a radius of 10 km centered on the coordinate X1”. The target area can also be defined with. If the position of the device combined with the processing module in the real space is determined, the value of this variable is determined based on the target area of the device.
  • Constract requirement is information indicating a use condition when using the processing module, and “use amount” and “contract condition” are set for each or one “use pattern” for each process module.
  • Input requirement is information for specifying the input of the processing module.
  • One or more input requirements are defined for one processing module.
  • Input requirements include “type” (data type of sensing data in the case of sensors, output form of actuator in the case of actuators), “device type” (information indicating the type and application of the sensor or actuator), and “constraint conditions”.
  • Information on the sensing target area, time zone, period, etc. in the case of a sensor, and in the case of an actuator, information on the range, time zone, period, etc. on which the output of the actuator acts is included.
  • Processing content is information such as a processing program for analyzing and processing sensing data obtained from the sensor and a processing program for controlling the actuator. For example, a URI indicating the storage destination of the processing program is registered.
  • the virtual device master DB 25 is a database in which information related to virtual devices (virtual sensors and virtual actuators) is registered, and is also referred to as a virtual device DB. Information about a plurality of virtual devices can be registered in the virtual device master DB 25.
  • the creation / registration of a virtual device may be performed by the creator of the virtual device or the operator of this system, or may be performed dynamically in the device search process as will be described later.
  • FIG. 5 registered contents of an example of a virtual sensor (ID: V001) that senses the weather of 10 km around Kusatsu and an example of a virtual actuator (ID: V002) that performs video broadcasting in an area with a radius of 10 m in front of the station today are illustrated. Yes.
  • Device ID is information for identifying a device, and a different ID is assigned to each device. Of course, device IDs do not overlap between a virtual device and a real device.
  • “Device information” is a part in which basic information of a virtual device is described. “Process ID”, “Device ID of input 1”, “Device ID of input 2”,..., “Creator ID”, “Installation” Information such as “location” and “device type” is included.
  • the process ID is an ID of a process module used in the virtual device.
  • the device ID of input n is the ID of another device used as input. One or more input devices are registered.
  • the creator ID is an ID indicating the creator of the virtual device
  • the installation location is information indicating the virtual installation location of the virtual device
  • the device type is information indicating the virtual device type of the virtual device.
  • the creator ID, installation location, and device type may be undefined (for example, when a virtual device is dynamically generated by the system, the creator ID is undefined).
  • Output requirement is information for specifying the output of the virtual device
  • contract requirement is information relating to the virtual device usage contract.
  • the “output requirement” and “contract requirement” are information having the same significance as the information of the same name of the physical device, and thus description thereof is omitted.
  • FIG. 6 is a flowchart showing the overall flow of the device search process
  • FIG. 7 is a flowchart showing details of the component search process called in the device search process.
  • FIG. 8 is a diagram for explaining a procedure for dynamically generating a virtual device.
  • the search request receiving unit 20 acquires a search request from the user terminal 3 (step S60), and extracts and searches information (output requirement) for specifying an output result desired by the user from the search request.
  • a query is generated (step S61). For example, when a search request “I want to know the weather in Kusatsu city” is given as shown in FIG. 2A, the search request receiving unit 20 performs morphological analysis and semantic analysis to search from this text. Information “weather” indicating the data type and information “Kusatsu City” indicating the target area are extracted, and a search query including an output requirement “data type: weather, target area: Kusatsu City” is generated.
  • the DB search unit 21 searches the physical device master DB 24 based on the search query (step S62). Specifically, the DB search unit 21 compares the content of the output requirement included in the search query with the content of the output requirement included in the record of each device in the physical device master DB 24, and the desired specified in the search request.
  • the real device that can obtain the output result of is extracted. For example, if the output requirement of the search query is “data type: weather, target area: Kusatsu city”, the output type matches or is similar to “weather” and the target area matches “Kusatsu city”. Alternatively, when “Kusatsu City” is included, the device is extracted.
  • the DB search unit 21 performs a similar search for the virtual device master DB 25 (step S63). Also in this case, the corresponding virtual device is extracted by comparing the content of the output requirement included in the search query with the content of the output requirement included in the record of each virtual device of the virtual device master DB 25. If the number of devices extracted by the search processing in steps S62 and S63 is equal to or greater than the threshold, the process proceeds to search result provision processing. If the number of extracted devices is less than the threshold, The process proceeds to the virtual device dynamic generation process (step S64).
  • the threshold can be set arbitrarily.
  • the threshold is set to 1, the dynamic generation process of the virtual device is skipped when at least one real device or virtual device that satisfies the user search request is found by the DB search. Conversely, if the threshold is set to a very large value, it is possible to control so that the dynamic generation process of the virtual device is always performed. Note that the search processing in steps S62 and S63 may be executed in parallel.
  • the device combination reasoning unit 22 first performs processing module extraction processing (step S65).
  • processing module extraction process a process capable of obtaining an output result desired by the user by comparing the content of the output requirement included in the search query with the content of the output requirement included in the record of each processing module of the algorithm master DB 26. Extract the module. For example, if the output requirement of the search query is “data type: weather, target area: Kusatsu city”, the output type is the same as or similar to “weather”, and the range is determined by the target area and the constraint condition. When “Kusatsu City” can be included, the processing module is extracted.
  • the target area is defined as a variable “radius 10 km from the center of X1” as in the processing module (A001) of FIG. 4, the coordinates of the central point of Kusatsu City are applied to the variable X1. You can judge whether the requirement is satisfied.
  • the device combination inference unit 22 executes a component element search process for the extracted processing module (step S66).
  • the configuration requirement search process is to extract a device having an output that can be used as an input of the processing module by comparing each input requirement of the processing module and the output requirement of each device. Is a process for generating a new virtual device.
  • the argument of the configuration requirement search process is a search query and the ID of a processing module, and the return value is a list of generated virtual devices.
  • a loop L00 indicates that the same processing is repeated for each processing module when one or more processing modules are extracted.
  • Fig. 7 shows the detailed flow of the component search process.
  • a loop L01 indicates that the same processing is repeated for each input requirement included in the processing module.
  • the device combination reasoning unit 22 generates a new search query from the contents of the “type”, “constraint condition”, and the content of the original search query. (Step S70). For example, in the case of the processing module (A001) of FIG. 4, since the “type” of the input requirement is “weather map” and the “restriction condition” is “radius 500 km at the center of X1,” “data type: weather map, target area” : A search query with a content of “500 km radius from the center of Kusatsu City” is generated.
  • the device combination reasoning unit 22 searches the physical device master DB 24, the virtual device master DB 25, and the algorithm master DB 26 using the search query generated in step S70 (step S71).
  • the search process here is the same as that described in steps S62, S63, and S65.
  • real devices, virtual devices, and processing modules that satisfy the search query “data type: weather map, target area: radius 500 km from the center of Kusatsu City” are extracted (the extracted devices and modules are used as items). Call).
  • step S71 the device combination reasoning unit 22 determines whether the target item is a real device, a virtual device, or a processing module (step S72), and if it is a processing module, recursively executes a configuration requirement search process. (Step S74). In order to prevent the recursive process from continuing indefinitely, in step S73, a determination is made to stop the recursive process when the number of searches or the search time exceeds the upper limit. By repeating steps S72 to S74 for all items (loop L02), a list of devices (real devices or virtual devices) that can meet the first input requirement of the processing module is obtained.
  • the above process is repeated for all the input requirements of the processing module (loop L01), thereby obtaining a list of devices for each input requirement of the processing module.
  • the device combination reasoning unit 22 generates a virtual device from the processing module and the list of devices for each input requirement (step S75).
  • virtual devices may be generated for all combinations of devices, or by selecting a representative device for each input requirement (for example, real device> existing virtual device> newly generated in step 74). Only one virtual device may be generated.
  • FIG. 8 schematically shows a procedure for dynamically generating a virtual device based on a user search request.
  • a processing module capable of obtaining an output result desired by the user is extracted by comparing the output requirement included in the search request with the output requirement of the processing module (S80).
  • a device having an output corresponding to each input requirement is extracted by comparing each input requirement of the processing module with the output requirement of each device (S81, S82).
  • a new virtual device record is generated from the processing ID, output requirement, and contract requirement of the extracted processing module (S83, S84) and the device ID of each extracted device (S85, S86). Can do.
  • the process exits the loop L00. Thereafter, the device information providing unit 23 creates a device list in which the real device extracted in step S62, the virtual device extracted in step S63, and the new virtual device generated in step S66 are collected. Then, a device list is transmitted from the device information providing unit 23 to the user terminal 2 and presented to the user as a search result (step S67). This completes the device search process.
  • a processing module that can acquire a user-desired output result and a device that has an output that can be used as an input of the processing module are automatically generated based on a user search request.
  • the virtual device is selected and automatically created. Therefore, even if there is no device that matches the user's request (not registered in the search database in advance), it is possible to meet the user's request by creating a new virtual device. Effective use of network resources and increase of usage opportunities by users can be achieved.
  • the devices are searched from the three categories of existing real devices registered in the physical device master DB, existing virtual devices registered in the virtual device master DB, and newly generated virtual devices, the user's The possibility of providing device information that meets the requirements can be further expanded.
  • the search for the real device and the search for the existing virtual device are preferentially executed (steps S62 and S63), and the virtual device generation process (steps S65 to S66) is performed only when the result is not sufficient. It was decided to do. As a result, it is possible to reduce the frequency of occurrence of virtual device generation processing that requires more processing load than DB search, and to reduce the processing load of the system.
  • the degree of freedom in creating the virtual device can be greatly improved, and thereby the virtual device that meets the user's request The possibility that can be generated can be further expanded.
  • the device combination inference unit 22 may automatically register information on the newly generated virtual device in the virtual device master DB 25. If the virtual device information once generated is registered in the virtual device master DB 25 in this way, when a similar search request is received from another user, the virtual device generation processing (steps S65 to S66) is not performed. Since it is possible to deal with only by searching the virtual device DB (step S63), it is possible to reduce the processing load of the system.
  • Device network 2 Device management system 3: User terminal 10: Device 20: Search request receiving unit 21: DB search unit 22: Device combination reasoning unit 23: Device information providing unit 24: Physical device master DB 25: Virtual device master DB 26: Algorithm master DB

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

 デバイス情報提供システムは、ユーザの検索要求に含まれる出力要件と、各処理モジュールの出力要件とを比較することによって、検索要求で指定された所望の出力結果を取得可能な処理モジュールを処理モジュールDBから抽出し、前記抽出された処理モジュールの入力要件と、各デバイスの出力要件とを比較することによって、前記抽出された処理モジュールの入力として利用可能な出力をもつ1又は複数のデバイスをデバイスDBから抽出して、前記抽出した1又は複数のデバイスと前記抽出した処理モジュールの組み合わせからなる仮想デバイスを生成し、前記仮想デバイスの情報を検索結果としてユーザに提供する。

Description

デバイス情報提供システム、デバイス情報提供方法
 本発明は、様々な場所にある多数のデバイスの中から目的に合致するものを簡単に検索できるようにするための技術に関する。
 ユビキタス社会を実現するための一手段として、センサネットワークが注目を集めている。センサネットワークとは、検知機能と通信機能をもつセンサデバイスを様々な場所に設置しそれらをネットワーク化することで、センシングデータの収集、管理、シームレスな利用を可能化する技術である。センサネットワークが実現すれば、あらゆる場所の状況を何処からでも素早く正確に把握することが容易となるので、製造現場や物流などの産業分野への応用はもちろんのこと、交通・各種インフラといった社会システムや、医療・教育などの生活に関わる分野まで、幅広い応用が期待されている。
 ところで、センサネットワークにおいては、センサの数や種類が増えるほどシステム全体としての能力(分解能、対応エリアの広さ、取得可能なセンシングデータの種別など)が高くなるという利点がある一方で、選択肢が多すぎると、目的とする情報を得るために最適なセンサを見つけるのが難しくなり、利便性が低下するといった弊害が懸念される。このような問題を解決すべく、たとえば特許文献1のセンサネットワークでは、センサ管理システムが、利用者のセンサ要求を受け付け、そのセンサ要求に対応するセンササービスを探索し利用者に提供する方法が提案されている。
特開2005-260914号公報
 本発明者らは、センサネットワークの可能性の一つとして「仮想センサ」と呼ばれる技術に注目している。仮想センサとは、他のセンサから得られたセンシングデータを分析加工して新たなセンシングデータとして出力するものをいう。すなわち、仮想センサの実体は1個又は複数個の実センサとデータ加工を行うプログラムモジュールの組み合わせである。それらをカプセル化したものを仮想センサとして用意し、センサネットワークの利用者に提供すれば、利用者は実センサとの区別なく仮想センサを利用できる。このような仮想センサの導入により、リソース(実センサ)の利用率の向上、新たな付加価値をもつセンシングデータの提供など、様々な効果が期待できる。
 ところで、上述したようにセンサネットワークサービスの実現・普及にあたっては、目的とするセンサを簡易に検索できる仕組みを整えることが肝要である。それゆえ、仮想センサについてもその検索を可能とすべく、実センサとプログラムモジュールの組み合わせ、出力されるセンシングデータの種別などを定義し、その情報を検索用のデータベースに登録しておくことが望ましい。しかしながら、実センサの組み合わせ方やデータの加工方法は無限にあり、アイデア次第で様々な機能の仮想センサを創りだせる可能性があるところ、その全てを予め作成しデータベースに登録しておくことは現実的に不可能である。とはいえ、登録された限られた種類の仮想センサしか利用できないとなれば、せっかくのリソースを有効活用することができず勿体無い。
 なお、ここまでセンサネットワークを例に挙げて説明をしたが、アクチュエータ(コントローラ)のネットワークの場合にも、全く同様の課題が発生し得る。「センサ」と「アクチュエータ(コントローラ)」とは、「状態を検知(取得)する」のか「状態を変化させる」のかという違いはあるものの、所定の範囲の対象領域に対して何らかの作用を行うという点では共通である。以下、「センサ」と「アクチュエータ」を包含する概念として「デバイス」という用語を用いる。なお、仮想アクチュエータとは、複数個の実アクチュエータの出力を組み合わせて新たな付加価値を生むものをいう。
 本発明は、上記実情に鑑みなされたものであって、その目的とするところは、ユーザの要求に応じて仮想デバイスを自動で生成することによって、ユーザの要求を満足するデバイスの情報を提供できる可能性を拡大するための技術を提供することにある。
 上記目的を達成するために、本発明では以下の構成を採用する。すなわち、本発明に係るデバイス情報提供システムは、デバイスを検索するための検索要求として、所望の出力結果を特定するための出力要件を含む検索要求を受け付ける検索要求受付手段と、1又は複数の他のデバイスからの出力を入力とし、それらの入力を組み合わせて新たな出力を生成する処理モジュールに関する情報を、少なくとも、処理モジュールの入力を特定するための入力要件、及び、処理モジュールの出力を特定するための出力要件と共に、複数の処理モジュールについて登録した処理モジュールDBと、デバイスに関する情報を、少なくとも、デバイスの出力を特定するための出力要件と共に、複数のデバイスについて登録したデバイスDBと、前記検索要求に含まれる出力要件と、各処理モジュールの出力要件とを比較することによって、前記検索要求で指定された前記所望の出力結果を取得可能な処理モジュールを前記処理モジュールDBから抽出する処理モジュール抽出手段と、前記抽出された処理モジュールの入力要件と、各デバイスの出力要件とを比較することによって、前記抽出された処理モジュールの入力として利用可能な出力をもつ1又は複数のデバイスを前記デバイスDBから抽出して、前記抽出した1又は複数のデバイスと前記抽出した処理モジュールの組み合わせからなる仮想デバイスを生成する仮想デバイス生成手段と、前記仮想デバイス生成手段で生成された仮想デバイスの情報を検索結果としてユーザに提供するデバイス情報提供手段と、を有することを特徴とする。
 上記構成によれば、ユーザの検索要求に基づいて、ユーザ所望の出力結果を取得可能な処理モジュールと、その処理モジュールの入力として利用可能な出力をもつデバイスとが自動で選定され、仮想デバイスが自動で生成される。したがって、ユーザの要求に合致するデバイスが存在しない(予め検索用のデータベースに登録されていない)場合であっても、新たな仮想デバイスを創りだすことでユーザの要求に応じることができるため、デバイスネットワークのリソースの有効利用、ユーザによる利用機会の増大などを図ることができる。
 本システムが、前記検索要求に含まれる出力要件と、各デバイスの出力要件とを比較することによって、前記検索要求で指定された前記所望の出力結果を取得可能なデバイスを前記デバイスDBから抽出するデバイス抽出手段をさらに有し、前記デバイス情報提供手段は、前記デバイス抽出手段で抽出されたデバイスの情報を検索結果としてユーザに提供することが好ましい。これにより、デバイスDBに登録されている既存のデバイスの情報と、仮想デバイス生成手段で生成した新たな仮想デバイスの情報の両方をユーザに提供することができる。また、ユーザにとっては、既存のデバイスと仮想デバイスとを区別なく検索可能となり、利便性が向上する。さらに、デバイスDBを既存のデバイスの検索用データベースとして活用することで、システム構成の合理化も期待できる。
 ここで、前記デバイス抽出手段によるデバイスの抽出処理は、前記処理モジュール抽出手段による処理モジュールの抽出処理及び前記仮想デバイス生成手段による仮想デバイスの生成処理よりも優先的に行われることが好ましい。仮想デバイスは他のデバイスの出力を利用することから、既存のデバイスに比べて、利用コストが高いとか、処理負荷が大きいとか、データ加工により精度が低下するといった不利な面がある場合がある。したがって、既存のデバイスでユーザの要求を満たすものが存在するのであれば、既存のデバイスに関する情報を優先的に提供する方が妥当だからである。また、処理モジュールの抽出処理や仮想デバイスの生成処理に比べて軽い処理であるデバイスの抽出処理を先に行うことで、ユーザへ検索結果を提供するまでに要する時間を短縮でき、高速な検索を実現できるという利点もある。
 さらに、前記デバイス抽出手段によるデバイスの抽出結果が所定の条件に達しない場合にのみ、前記処理モジュール抽出手段による処理モジュールの抽出処理及び前記仮想デバイス生成手段による仮想デバイスの生成処理が行われることが好ましい。「所定の条件に達しない場合」とは、例えば、デバイスが抽出されなかった場合、抽出されたデバイスの数が所定数より少ない場合、などである。この構成によれば、既存のデバイスの抽出結果で十分な場合には、処理モジュールの抽出処理及び仮想デバイスの生成処理が実行されないため、システムの処理負荷を軽減することができる。
 前記デバイスDBは、物理的に存在する実デバイスに関する情報を登録した実デバイスDBと、仮想デバイスに関する情報を登録した仮想デバイスDBとを有することが好ましい。これにより、実デバイスDBに登録された既存の実デバイス、仮想デバイスDBに登録された既存の仮想デバイス、新たに生成される仮想デバイスの3つのカテゴリから、デバイスが検索されるので、ユーザの要求に合致したデバイスの情報を提供できる可能性を一層拡大することができる。
 前記仮想デバイス生成手段は、前記抽出された処理モジュールの入力として利用可能な出力をもつデバイスを、前記実デバイスDBに登録されている実デバイスと前記仮想デバイスDBに登録されている仮想デバイスのなかから抽出することが好ましい。これにより、既存の仮想デバイスを新たな仮想デバイスの入力として利用することが可能となるので、仮想デバイスを創りだす際の自由度が大幅に拡大する。よって、ユーザの要求に合致した仮想デバイスを生成できる可能性を一層拡大することができる。
 前記仮想デバイス生成手段によって新たに仮想デバイスが生成された場合に、当該新たな仮想デバイスに関する情報が前記仮想デバイスDBに自動で登録されることが好ましい。このように一度生成した仮想デバイスの情報を仮想デバイスDBに登録すれば、他のユーザから類似の検索要求を受け付けたときに、仮想デバイスの生成処理を行わずに、仮想デバイスDBの検索だけで対処可能となるため、システムの処理負荷を軽減することが可能となる。
 なお、本発明は、上記手段の少なくともいずれかを有するデバイス情報提供システムとして捉えることもできるし、デバイス情報提供システムと複数のデバイスとから構成されるデバイスネットワークシステムとして捉えることもできる。また、本発明は、上記処理の少なくともいずれかを含むデバイス情報提供方法として捉えることもできるし、このデバイス情報提供方法の各ステップをコンピュータに実行させるためのプログラムや、このプログラムを記録した記憶媒体として捉えることもできる。
 本発明によれば、ユーザの要求に応じて仮想デバイスを自動で生成することによって、ユーザの要求を満足するデバイスの情報を提供できる可能性を拡大することができる。
デバイスネットワークシステムの構成を示す図。 デバイス検索処理の使用例を示す図。 物理デバイスマスターDBの構成例を示す図。 アルゴリズムマスターDBの構成例を示す図。 仮想デバイスマスターDBの構成例を示す図。 デバイス検索処理の流れを示すフローチャート。 構成要素検索処理の詳細を示すフローチャート。 仮想デバイスを動的に生成する手順を説明する図。
 <システム構成>
 図1を参照して、本発明の実施形態に係るデバイスネットワークシステムの構成例を説明する。
 デバイスネットワークシステムは、デバイスネットワーク1とデバイス管理システム2とから構成されている。デバイスネットワーク1は、様々な場所に存在する多数のデバイス10によって構成されるネットワークである。ネットワークの構成や通信方式などは任意に設計でき、特に限定されない。各々のデバイス10は、例えばインターネットなどの広域ネットワークを介してデバイス管理システム2と通信可能である。デバイス管理システム2は、デバイスネットワーク1を構成するデバイス10に関する情報やデバイスから収集した情報などを管理すると共に、デバイス10を利用したいと望むユーザ向けの各種サービス(デバイス検索もその一つ)を提供するサーバ装置である。ユーザは、ユーザ端末3から、インターネットなどの広域ネットワークを通じて、デバイス管理システム2の提供するサービスにアクセスすることが可能である。本発明に係るデバイス情報提供システムやデバイス情報提供方法は、デバイス管理システム2の一機能として実装されている。
 ところで、デバイスネットワーク1を構成する数々のデバイス10はデバイス管理システム2の運営者がすべて所有しているとは限らず、運営者とは別の、個人や企業体といった多数の者がデバイスを所有し又は運営管理していることもあり得る(以下、デバイスを所有・運営管理する者を「デバイスの所有者」と呼ぶ)。それゆえ、デバイス管理システム2は、デバイスの所有者に対する機能として、本システムに新たなデバイスを登録する機能や、デバイスに関する情報を変更したりする機能を有する。また、デバイス管理システム2は、第三者に対する機能として、後述する仮想デバイスや仮想デバイスで利用される処理モジュールを作成・登録する機能も提供する。仮想デバイスや処理モジュールを作成・登録する者を「作成者」と呼ぶ。また、詳しく説明しないが、デバイス管理システム2が、デバイスの利用者と所有者又は作成者のあいだを仲介する機能(利用条件と提供条件の照合・調停、利用者への課金と所有者又は作成者への対価支払など)を有していることも好ましい。
 各々のデバイス10は、空間又は時空間で規定される対象領域に対して作用するデバイスであって、「センサ」と「アクチュエータ」とに大別できる。ここで「空間」とは2次元(x,y)又は3次元(x,y,z)で規定される領域であり、「時空間」とは「空間」に「時間(t)」の次元を加えたもの、つまり3次元(x,y;t)又は4次元(x,y,z;t)で規定される領域をいう。なお本明細書では、「センサ」の語を、対象領域の状態を検知(取得)するデバイスという意味で用い、「アクチュエータ」の語を、対象領域の状態を変化させるデバイスという意味で用いる。このようなセンサには、例えば、画像センサ(カメラ)、温度センサ、湿度センサ、照度センサ、力センサ、音センサ、RFIDセンサ、赤外線センサ、姿勢センサ、降雨センサ、放射能センサ、ガスセンサなどが該当し、本システムではいかなる種類のセンサも利用することができる。またアクチュエータには、例えば、モータ、ソレノイド、コントローラ、ロボット、照明、スピーカ、ディスプレイ、デジタルサイネージ、空調など様々なものが該当し、本システムではいかなる種類のアクチュエータも利用することができる。携帯電話、スマートフォン、スレート型端末のように、センサ(画像センサなど)とアクチュエータ(ディスプレイ、スピーカなど)の両方を備えるデバイスも存在する。なお、デバイスネットワーク1の中には、様々な種類のデバイスを混在させることが可能である。
 デバイス管理システム2は、デバイスの検索及び情報提供に関わる機能として、検索要求受付部20、DB検索部21、デバイス組合せ推論部22、デバイス情報提供部23、物理デバイスマスターDB24、仮想デバイスマスターDB25、アルゴリズムマスターDB26などの機能を有している。デバイス管理システム2は、ハードウエア的には、CPU、主記憶装置(メモリ)、補助記憶装置(HDD、SSDなど)、通信装置、入力装置、表示装置などを備えるコンピュータにより構成することができる。図1に示す各機能ブロックは、補助記憶装置に格納されたコンピュータプログラムを主記憶装置にロードし、CPUが当該プログラムを実行することで具現化されるものである。なお、デバイス管理システム2は単体のコンピュータで構成してもよいし、協働する複数のコンピュータで構成することもできる。
 ユーザ端末3としては、例えば、パーソナルコンピュータ、携帯電話、スマートフォン、スレート型端末などを利用可能である。なお、本実施形態では、インターネット経由でユーザがデバイス検索を行う例を挙げるが、デバイス管理システム自体をユーザが操作する構成、或いは、デバイス管理システムの一部又は全部の機能をユーザ端末3側に実装する構成でも構わない。
 <デバイス情報提供サービス>
 以下、デバイス管理システム2が提供するデバイス情報提供サービスについて、詳しく説明する。デバイス情報提供サービスとは、デバイスネットワーク1を構成する多数のデバイス10の中から、ユーザが目的達成に最適なデバイスを見つけることを容易化するための検索サービスである。センサを検索するためのセンサ情報提供サービスと、アクチュエータを検索するためのアクチュエータ情報提供サービスとがある。まずは図2(a)~(c)を用いてセンサ情報提供サービスの具体的な使用例から説明する。
 ユーザがユーザ端末3を用いてデバイス情報提供サービスにアクセスすると、図2(a)のような検索条件入力画面が表示される。この画面では、例えば「草津市の天気を知りたい。」というように、検索条件(検索の目的)を自由文で入力することができる。図2(b)は検索条件入力画面の別の例である。この画面の場合は、所望のセンシングデータの種別とセンシング対象領域を別々のボックスに入力する。検索ボタンが押されると、検索要求がユーザ端末3からデバイス管理システム2へ送信され、デバイス管理システム2においてデバイス検索処理が実行される。デバイス検索処理の詳細は後述する。
 図2(c)はデバイス管理システム2から返信される検索結果画面の一例である。この例では、草津市の天気を取得可能なセンサが2種類提示され、さらに、草津市が存在する滋賀県南部の天気を取得可能なセンサも提示されている。このようにデバイス情報提供サービスでは、ユーザが入力した検索条件を満たす可能性がある複数のセンサが索出され、検索条件との一致度が高いセンサから順にリスト表示される。また、この検索結果リストには、必要に応じて、デバイスの仕様、利用金額、契約条件、デバイスの提供者などの情報も表示される。ユーザは、検索結果を見て、どのセンサを利用するかを比較検討しながら選定することができる。
 図2(d)はアクチュエータ情報提供サービスの例を示している。図2(d)の検索条件入力画面では、「京都駅前にいる人に向けて広告を発信したい。」という条件(目的)が入力されている。駅前にいる人々に情報を伝達する手段としては、例えば、デジタルサイネージ(DS)、スピーカ、近隣のビルに設置された大型ディスプレイや電光掲示板などが考えられる。検索結果としては、これらの利用可能なデバイス(アクチュエータ)が一覧表示される。
 (仮想デバイス)
 本システムのデバイス情報提供サービスは、検索結果として、物理的に存在する実デバイス(実センサ、実アクチュエータ)の情報だけでなく、仮想デバイス(仮想センサ、仮想アクチュエータ)の情報も提供するところに特徴を有している。仮想デバイスとは、1又は複数個のデバイスと処理モジュールとの組み合わせで構成される、仮想的なデバイスのことである。
 例えば、ユーザからの検索要求が「京都駅正面コンコースのカメラ画像」であったとする。デバイスネットワーク1の中に、京都駅正面コンコースを撮影し公開している監視カメラが存在していれば、まずはその監視カメラ(実デバイス)の情報をユーザに提供すればよい。しかし、ユーザからの検索要求に完全に合致する実デバイスが存在しない場合や、存在する場合でも第2、第3の候補として別のデバイスの情報を提供することもある。例えば、京都駅正面コンコースの全体を撮影するカメラは存在しないが、コンコースの各所を部分的に撮影する複数の監視カメラが存在する場合は、それらの複数の監視カメラと、複数のカメラ映像をパノラマ合成して広範囲の映像を出力する処理モジュールとを組み合わせたものを、仮想センサとして提供することができる。同様に、京都駅正面コンコースを、日中撮影している可視監視カメラと、夜間撮影している遠赤外線カメラとが存在する場合に、それらのカメラと、複数のカメラ映像からより明りょうに映っている映像を選択する処理モジュールとを組み合わせたものを、仮想センサとして提供することができる。
 ユーザからの検索要求が「平日の朝に京都駅の正面改札を出た人が向かった方向とその人数」というものであったとする。このような特殊なセンシングデータを直接得ることのできる実センサが設置されていることは稀である。この場合でも、例えば、正面改札を撮影している監視カメラと、改札付近を撮影している監視カメラとが存在すれば、これらの監視カメラと、複数の画像から同一人物を同定する処理モジュールと、方向別人数カウントを行う処理モジュールとを組み合わせることで、ユーザの検索要求を満足する仮想センサを構成できる。
 仮想アクチュエータの場合は、複数のアクチュエータの出力を組み合わせる(同期又は連携させる)。例えば、ユーザからの検索要求が「京都駅前にいる人にビデオを放映したい」というものであったとする。この場合、例えば、京都駅前のビルに設置されている大型の電光掲示板による映像出力と、京都駅前に設置されている複数のスピーカによる音声出力とを同期させることで、音声付き動画を出力可能な仮想アクチュエータを提供することができる。
 これらの例から分かるように、本システムにおいて仮想デバイス(仮想センサ、仮想アクチュエータ)の利用を可能にすることで、デバイスネットワーク1のリソース(実デバイス)の利用率の向上や、新たな付加価値をもつセンシングデータ又はアクチュエータ出力の提供など、様々な効果が期待できる。
 (データベース構造)
 次に、デバイス情報提供サービスに利用されるデータベースの構造について説明する。図3~図5は、それぞれ、物理デバイスマスターDB24、アルゴリズムマスターDB26、仮想デバイスマスターDB25の構成例を示す図である。
 (1)物理デバイスマスターDB
 物理デバイスマスターDB24は、物理的に存在する実デバイス(実センサ及び実アクチュエータ)に関する情報を登録したデータベースであり、実デバイスDBとも呼ばれる。物理デバイスマスターDB24には、デバイスネットワーク1を構成している全てのデバイス10の情報が登録されている。物理デバイスマスターDB24へのデバイス登録は、デバイス10の所有者又は本システムの運営者により行われる。図3では、センサの一例である「監視カメラ」と、アクチュエータの一例である「電光掲示板」及び「スピーカ」の登録内容が例示されている。
 「デバイスID」はデバイスを識別するための情報であり、デバイスごとに異なるIDが割り当てられる。「デバイス情報」は、デバイスの基本情報が記述される部分であり、「デバイスアドレス」(デバイスと通信を行う際のネットワークアドレス。例えばIPアドレスなど。)、「所有者ID」(デバイスの所有者を識別する情報。)、「設置箇所」(デバイスが設置されている場所を特定する情報。例えば緯度経度情報。)、「デバイス種別」(センサ又はアクチュエータの種類や用途を示す情報。例えば、監視カメラ、温度センサ、電光掲示板…。)などの情報を含んでいる。
 「出力要件」は、デバイスの出力を特定するための情報である。センサの場合は、センサから出力されるセンシングデータに関する情報として、「出力種別」(センシングデータのデータ種別を示す情報。例えば、ビデオ、画像、天気、温度…。)、「対象領域」(センシングの対象領域を特定する情報。例えば、一点の場合は緯度経度、エリアの場合は中心の緯度経度+半径。)、「制約条件」(例えば、出力を得られる時間帯、期間。)などの情報を含む。一方、アクチュエータの場合は、アクチュエータからの出力に関する情報として、「出力種別」(アクチュエータの出力形態を示す情報。例えば、画像出力、音声出力、熱出力…。)、「対象領域」(アクチュエータの出力が作用を及ぼす領域を特定する情報。例えば、一点の場合は緯度経度、エリアの場合は中心の緯度経度+半径。)、「制約条件」(例えば、利用可能な時間帯、期間。)などの情報を含む。
 「契約要件」は、当該デバイスを利用する際の利用条件を示す情報であり、各デバイスについて1又は複数の「利用パターン」ごとに「利用金額」と「契約条件」が設定される。図3の例では、デバイスID「P001」の監視カメラについて、以下の3種類の利用パターンが用意されている。
 ・Commercial 1:利用料は月額100円。契約条件はなし。
 ・Academic 1:利用料はフリー。ただし、解像度がQVGAまでに制限され、学術的利用に限られる。
 ・Academic 2:利用料は月額50円。ただし、解像度がVGAまでに制限される。
 (2)アルゴリズムマスターDB
 アルゴリズムマスターDB26は、仮想デバイスで利用される処理モジュールに関する情報を登録したデータベースであり、処理モジュールDBとも呼ばれる。処理モジュールとは、1又は複数個のデバイスからの出力を入力とし、それらの入力を組み合わせて新たな出力を生成するアルゴリズム又はルールのことである。処理モジュールの作成・登録は、処理モジュールの作成者又は本システムの運営者により行われる。図4には、1つのセンサから得られる天気図のデータを元に天気を予測する処理モジュールと、画像出力と音声出力の2つのアクチュエータ出力を組み合わせてビデオ放映を実現する処理モジュールとが例示されている。
 「処理ID」は処理モジュールを識別するための情報であり、処理モジュールごとに異なるIDが割り当てられる。「作成者ID」は処理モジュールの作成者を識別するための情報である。処理モジュールが利用された場合には、後述する契約条件に応じた対価が処理モジュールの作成者に支払われる仕組みとなっている。
 「出力要件」は、処理モジュールの出力を特定するための情報である。基本的には、物理デバイスマスターDB24の「出力要件」と同じ形式の情報が登録される。ただし、「対象領域」については、緯度経度のような固定値だけでなく、「座標X1を中心とする半径10kmの領域」というように変数(X1)で記述された位置を基準とした相対位置で対象領域を定義することもできる。この変数の値は、処理モジュールに組み合わせるデバイスの実空間での位置が決まれば、そのデバイスの対象領域に基づき確定する。
 「契約要件」は、当該処理モジュールを利用する際の利用条件を示す情報であり、各処理モジュールについて1又は複数の「利用パターン」ごとに「利用金額」と「契約条件」が設定される。
 「入力要件」は、処理モジュールの入力を特定するための情報である。1つの処理モジュールに対し、1つ以上の入力要件が定義される。入力要件には、「種別」(センサの場合はセンシングデータのデータ種別、アクチュエータの場合はアクチュエータの出力形態)、「デバイス種別」(センサ又はアクチュエータの種類や用途を示す情報)、「制約条件」(センサの場合はセンシングの対象領域、時間帯、期間など、アクチュエータの場合はアクチュエータの出力が作用を及ぼす範囲、時間帯、期間など)の情報が含まれる。
 「処理内容」は、センサから得られるセンシングデータを分析加工する処理プログラムや、アクチュエータを制御する処理プログラムなどの情報である。例えば、処理プログラムの格納先を示すURIなどが登録される。
 (3)仮想デバイスマスターDB
 仮想デバイスマスターDB25は、仮想デバイス(仮想センサ及び仮想アクチュエータ)に関する情報を登録したデータベースであり、仮想デバイスDBとも呼ばれる。仮想デバイスマスターDB25には、複数の仮想デバイスの情報を登録することが可能である。仮想デバイスの作成・登録は、仮想デバイスの作成者又は本システムの運営者により行われる場合もあるし、後述するように、デバイス検索処理の中で動的に行われる場合もある。図5では、草津周辺10kmの天気をセンシングする仮想センサの一例(ID:V001)と、今日駅前半径10mのエリアにビデオ放映を行う仮想アクチュエータの一例(ID:V002)の登録内容が例示されている。
 「デバイスID」はデバイスを識別するための情報であり、デバイスごとに異なるIDが割り当てられる。当然、仮想デバイスと実デバイスとの間でもデバイスIDは重ならない。
 「デバイス情報」は、仮想デバイスの基本情報が記述される部分であり、「処理ID」、「入力1のデバイスID」、「入力2のデバイスID」、…、「作成者ID」、「設置箇所」、「デバイス種別」などの情報を含む。処理IDは、仮想デバイスで利用する処理モジュールのIDである。入力nのデバイスIDは、入力として利用する他のデバイスのIDである。1個以上の入力デバイスが登録される。作成者IDは仮想デバイスの作成者を示すIDであり、設置箇所は仮想デバイスの仮想的な設置場所を示す情報であり、デバイス種別は仮想デバイスの仮想的なデバイス種別を示す情報である。作成者ID、設置箇所、デバイス種別は未定義になることもある(例えば仮想デバイスが本システムにより動的に生成された場合には作成者IDは未定義となる)。
 「出力要件」は、仮想デバイスの出力を特定するための情報であり、「契約要件」は、仮想デバイスの利用契約に関わる情報である。「出力要件」及び「契約要件」は、物理デバイスの同名の情報と同じ意義をもつ情報であるため、説明を割愛する。
 (デバイス検索処理)
 続いて、図6~図8を参照して、デバイス管理システム2によるデバイス検索処理を説明する。図6はデバイス検索処理の全体フローを示すフローチャートであり、図7はデバイス検索処理の中で呼び出される構成要素検索処理の詳細を示すフローチャートである。また、図8は仮想デバイスを動的に生成する手順を説明する図である。
 まず、検索要求受付部20がユーザ端末3から検索要求を取得し(ステップS60)、検索要求の中から、ユーザが所望している出力結果を特定するための情報(出力要件)を抽出し検索クエリを生成する(ステップS61)。例えば、図2(a)のように「草津市の天気が知りたい。」という検索要求が与えられた場合、検索要求受付部20は形態素解析や意味解析を行うことで、このテキストの中からデータ種別を示す情報「天気」と対象領域を示す情報「草津市」を抽出し、「データ種別:天気、対象領域:草津市」という出力要件を含む検索クエリを生成する。
 次に、DB検索部21が、検索クエリに基づき物理デバイスマスターDB24の検索を実行する(ステップS62)。具体的には、DB検索部21は、検索クエリに含まれる出力要件の内容と、物理デバイスマスターDB24の各デバイスのレコードに含まれる出力要件の内容とを比較し、検索要求で指定された所望の出力結果を取得可能な実デバイスを抽出する。例えば、検索クエリの出力要件が「データ種別:天気、対象領域:草津市」の場合であれば、出力種別が「天気」と一致又は類似し、且つ、対象領域が「草津市」と一致し又は「草津市」を包含する場合に、当該デバイスが抽出される。
 また、DB検索部21は、仮想デバイスマスターDB25に対しても同様の検索を実行する(ステップS63)。この場合も、検索クエリに含まれる出力要件の内容と、仮想デバイスマスターDB25の各仮想デバイスのレコードに含まれる出力要件の内容とを比較することで、該当する仮想デバイスが抽出される。そして、ステップS62とS63の検索処理により抽出されたデバイスの数が閾値以上であった場合には、検索結果の提供処理へと進み、抽出されたデバイスの数が閾値に満たない場合には、仮想デバイスの動的生成処理へと進む(ステップS64)。閾値は任意に設定できる。例えば閾値を1に設定すれば、DB検索によりユーザの検索要求を満たす実デバイス又は仮想デバイスが1つでも発見されたら、仮想デバイスの動的生成処理がスキップされる。逆に閾値を極めて大きい値に設定すれば、仮想デバイスの動的生成処理が必ず行われるように制御できる。なお、ステップS62とS63の検索処理は並列に実行してもよい。
 次に、デバイス組合せ推論部22による仮想デバイスの動的生成処理の説明に入る。デバイス組合せ推論部22は、まず処理モジュール抽出処理を行う(ステップS65)。処理モジュール抽出処理では、検索クエリに含まれる出力要件の内容と、アルゴリズムマスターDB26の各処理モジュールのレコードに含まれる出力要件の内容とを比較することで、ユーザ所望の出力結果を取得可能な処理モジュールを抽出する。例えば、検索クエリの出力要件が「データ種別:天気、対象領域:草津市」の場合であれば、出力種別が「天気」と一致又は類似し、且つ、対象領域と制約条件とで決まる範囲に「草津市」を含み得る場合に、当該処理モジュールが抽出される。なお、図4の処理モジュール(A001)のように、対象領域が「X1中心から半径10km」と変数で規定されている場合には、その変数X1に草津市の中心地点の座標を当てはめた上で要件の充足を判断すればよい。
 そして、デバイス組合せ推論部22は、抽出された処理モジュールについて構成要素検索処理を実行する(ステップS66)。構成要件検索処理とは、処理モジュールの各入力要件と、各デバイスの出力要件とを比較することによって、当該処理モジュールの入力として利用可能な出力をもつデバイスを抽出し、そのデバイスと処理モジュールとを組み合わせて新たな仮想デバイスを生成する処理である。構成要件検索処理の引数は、検索クエリと処理モジュールのIDであり、返り値は、生成された仮想デバイスのリストである。ループL00は、1つ以上の処理モジュールが抽出された場合に、処理モジュールごとに同じ処理を繰り返すことを示している。
 図7に構成要素検索処理の詳細フローを示す。ループL01は、処理モジュールに含まれる入力要件ごとに同じ処理を繰り返すことを示している。まず、デバイス組合せ推論部22は、処理モジュールから一つ目の入力要件を抽出すると、その「種別」と「制約条件」の内容と元の検索クエリの内容とから、新たな検索クエリを生成する(ステップS70)。例えば、図4の処理モジュール(A001)の場合、入力要件の「種別」が「天気図」であり、「制約条件」が「X1中心で半径500km」ゆえ、「データ種別:天気図、対象領域:草津市の中心から半径500km」という内容の検索クエリが生成される。
 次に、デバイス組合せ推論部22は、ステップS70で生成した検索クエリを用いて、物理デバイスマスターDB24、仮想デバイスマスターDB25、アルゴリズムマスターDB26をそれぞれ検索する(ステップS71)。ここでの検索処理は、ステップS62、S63、S65で述べたものと同様である。この結果、検索クエリ「データ種別:天気図、対象領域:草津市の中心から半径500km」を満たす実デバイス、仮想デバイス、及び処理モジュールが抽出される(ここで抽出されたデバイス及びモジュールをアイテムと呼ぶ)。
 ループL02では、ステップS71で抽出されたアイテムごとに同じ処理を繰り返す。すなわち、デバイス組合せ推論部22は、対象アイテムが実デバイス、仮想デバイス、処理モジュールのうちのいずれであるかを判断し(ステップS72)、処理モジュールである場合は再帰的に構成要件検索処理を実行する(ステップS74)。なお、再帰処理が無限に続くのを防止するため、ステップS73では、検索回数又は検索時間が上限を超えた場合に再帰処理を止めるという判断を行う。ステップS72~S74をすべてのアイテムについて繰り返すことで(ループL02)、処理モジュールの一つ目の入力要件に対応できるデバイス(実デバイス又は仮想デバイス)のリストが得られる。
 さらに、上記の処理が処理モジュールの全ての入力要件に対して繰り返されることで(ループL01)、処理モジュールの入力要件ごとにデバイスのリストが得られる。その後、デバイス組合せ推論部22は、処理モジュールと入力要件ごとのデバイスのリストとから、仮想デバイスを生成する(ステップS75)。このとき、デバイスの全ての組み合わせについて仮想デバイスを生成してもよいし、各入力要件について代表的なデバイスを選定することで(例えば、実デバイス>既存の仮想デバイス>ステップ74で新たに生成された仮想デバイスという優先順位で選ぶ)、一つの仮想デバイスのみを生成してもよい。
 図8はユーザの検索要求に基づき仮想デバイスを動的に生成する手順を模式的に示している。図8に示すように、まず検索要求に含まれる出力要件と処理モジュールの出力要件との比較により、ユーザ所望の出力結果を取得可能な処理モジュールが抽出される(S80)。次に、処理モジュールのそれぞれの入力要件と、各デバイスの出力要件との比較により、各入力要件に対応する出力をもつデバイスが抽出される(S81,S82)。そうすると、抽出された処理モジュールの処理ID、出力要件、及び契約要件と(S83,S84)、抽出されたデバイスそれぞれのデバイスIDとから(S85,S86)、新たな仮想デバイスのレコードを生成することができる。
 ステップS65において抽出されたすべての処理モジュールについて、上記のように仮想デバイスの生成が行われたら、ループL00を抜ける。その後、デバイス情報提供部23が、ステップS62で抽出された実デバイス、ステップS63で抽出された仮想デバイス、ステップS66で生成された新たな仮想デバイスをまとめたデバイスリストを作成する。そして、デバイス情報提供部23からユーザ端末2にデバイスリストが送信され、ユーザに検索結果として提示される(ステップS67)。以上でデバイスの検索処理が完了である。
 <本実施形態の利点>
 以上述べた本実施形態の構成によれば、ユーザの検索要求に基づいて、ユーザ所望の出力結果を取得可能な処理モジュールと、その処理モジュールの入力として利用可能な出力をもつデバイスとが自動で選定され、仮想デバイスが自動で生成される。したがって、ユーザの要求に合致するデバイスが存在しない(予め検索用のデータベースに登録されていない)場合であっても、新たな仮想デバイスを創りだすことでユーザの要求に応じることができるため、デバイスネットワークのリソースの有効利用、ユーザによる利用機会の増大などを図ることができる。また、ユーザにとっては、既存のデバイスと仮想デバイスとを区別なく検索可能となり、利便性が向上する。さらに、物理デバイスマスターDBに登録された既存の実デバイス、仮想デバイスマスターDBに登録された既存の仮想デバイス、新たに生成される仮想デバイスの3つのカテゴリから、デバイスが検索されるので、ユーザの要求に合致したデバイスの情報を提供できる可能性を一層拡大することができる。
 また、本実施形態では、実デバイスの検索と既存の仮想デバイスの検索を優先的に実行し(ステップS62、S63)、その結果が十分でない場合にのみ仮想デバイスの生成処理(ステップS65~S66)を行うこととした。これにより、DB検索に比べて処理負荷のかかる仮想デバイス生成処理の発生頻度を下げることができ、システムの処理負荷を軽減することができる。
 また、本実施形態では、仮想デバイスの入力として他の仮想デバイスを利用できるようにしたので、仮想デバイスを創りだす際の自由度を大幅に向上でき、これにより、ユーザの要求に合致した仮想デバイスを生成できる可能性を一層拡大することができる。
 なお、上述した実施形態は本発明の一具体例を示したものであり、本発明の範囲をそれらの具体例に限定する趣旨のものではない。例えば、ステップS75において、デバイス組合せ推論部22が、新たに生成された仮想デバイスの情報を仮想デバイスマスターDB25に自動で登録してもよい。このように一度生成した仮想デバイスの情報を仮想デバイスマスターDB25に登録すれば、他のユーザから類似の検索要求を受け付けたときに、仮想デバイスの生成処理(ステップS65~S66)を行わずに、仮想デバイスDBの検索(ステップS63)だけで対処可能となるため、システムの処理負荷を軽減することが可能となる。
1:デバイスネットワーク
2:デバイス管理システム
3:ユーザ端末
10:デバイス
20:検索要求受付部
21:DB検索部
22:デバイス組合せ推論部
23:デバイス情報提供部
24:物理デバイスマスターDB
25:仮想デバイスマスターDB
26:アルゴリズムマスターDB

Claims (11)

  1.  デバイスを検索するための検索要求として、所望の出力結果を特定するための出力要件を含む検索要求を受け付ける検索要求受付手段と、
     1又は複数の他のデバイスからの出力を入力とし、それらの入力を組み合わせて新たな出力を生成する処理モジュールに関する情報を、少なくとも、処理モジュールの入力を特定するための入力要件、及び、処理モジュールの出力を特定するための出力要件と共に、複数の処理モジュールについて登録した処理モジュールDBと、
     デバイスに関する情報を、少なくとも、デバイスの出力を特定するための出力要件と共に、複数のデバイスについて登録したデバイスDBと、
     前記検索要求に含まれる出力要件と、各処理モジュールの出力要件とを比較することによって、前記検索要求で指定された前記所望の出力結果を取得可能な処理モジュールを前記処理モジュールDBから抽出する処理モジュール抽出手段と、
     前記抽出された処理モジュールの入力要件と、各デバイスの出力要件とを比較することによって、前記抽出された処理モジュールの入力として利用可能な出力をもつ1又は複数のデバイスを前記デバイスDBから抽出して、前記抽出した1又は複数のデバイスと前記抽出した処理モジュールの組み合わせからなる仮想デバイスを生成する仮想デバイス生成手段と、
     前記仮想デバイス生成手段で生成された仮想デバイスの情報を検索結果としてユーザに提供するデバイス情報提供手段と、を有する
    ことを特徴とするデバイス情報提供システム。
  2.  前記検索要求に含まれる出力要件と、各デバイスの出力要件とを比較することによって、前記検索要求で指定された前記所望の出力結果を取得可能なデバイスを前記デバイスDBから抽出するデバイス抽出手段をさらに有し、
     前記デバイス情報提供手段は、前記デバイス抽出手段で抽出されたデバイスの情報を検索結果としてユーザに提供する
    ことを特徴とする請求項1に記載のデバイス情報提供システム。
  3.  前記デバイス抽出手段によるデバイスの抽出処理は、前記処理モジュール抽出手段による処理モジュールの抽出処理及び前記仮想デバイス生成手段による仮想デバイスの生成処理よりも優先的に行われる
    ことを特徴とする請求項2に記載のデバイス情報提供システム。
  4.  前記デバイス抽出手段によるデバイスの抽出結果が所定の条件に達しない場合にのみ、前記処理モジュール抽出手段による処理モジュールの抽出処理及び前記仮想デバイス生成手段による仮想デバイスの生成処理が行われる
    ことを特徴とする請求項3に記載のデバイス情報提供システム。
  5.  前記デバイスDBは、物理的に存在する実デバイスに関する情報を登録した実デバイスDBと、仮想デバイスに関する情報を登録した仮想デバイスDBとを有する
    ことを特徴とする請求項1~4のうちいずれか1項に記載のデバイス情報提供システム。
  6.  前記仮想デバイス生成手段は、前記抽出された処理モジュールの入力として利用可能な出力をもつデバイスを、前記実デバイスDBに登録されている実デバイスと前記仮想デバイスDBに登録されている仮想デバイスのなかから抽出する
    ことを特徴とする請求項5に記載のデバイス情報提供システム。
  7.  前記仮想デバイス生成手段によって新たに仮想デバイスが生成された場合に、当該新たな仮想デバイスに関する情報が前記仮想デバイスDBに自動で登録される
    ことを特徴とする請求項5又は6に記載のデバイス情報提供システム。
  8.  センサを検索するための検索要求として、所望のセンシングデータを特定するためのデータ要件を含む検索要求を受け付ける検索要求受付手段と、
     1又は複数のセンシングデータを加工して新たなセンシングデータを生成する処理モジュールに関する情報を、少なくとも、入力として用いるセンシングデータのデータ要件である入力要件、及び、生成する新たなセンシングデータのデータ要件である出力要件と共に、複数の処理モジュールについて登録した処理モジュールDBと、
     センサに関する情報を、少なくとも、出力するセンシングデータのデータ要件である出力要件と共に、複数のセンサについて登録したセンサDBと、
     前記検索要求に含まれるデータ要件と、各処理モジュールの出力要件とを比較することによって、前記検索要求で指定された前記所望のセンシングデータを生成可能な処理モジュールを前記処理モジュールDBから抽出する処理モジュール抽出手段と、
     前記抽出された処理モジュールの入力要件と、各センサの出力要件とを比較することによって、前記抽出された処理モジュールの入力として用いるセンシングデータを取得可能な1又は複数のセンサを前記センサDBから抽出して、前記抽出した1又は複数のセンサと前記抽出した処理モジュールの組み合わせからなる仮想センサを生成する仮想センサ生成手段と、
     前記仮想センサ生成手段で生成された仮想センサの情報を検索結果としてユーザに提供するセンサ情報提供手段と、を有する
    ことを特徴とするデバイス情報提供システム。
  9.  1又は複数の他のデバイスからの出力を入力とし、それらの入力を組み合わせて新たな出力を生成する処理モジュールに関する情報を、少なくとも、処理モジュールの入力を特定するための入力要件、及び、処理モジュールの出力を特定するための出力要件と共に、複数の処理モジュールについて登録した処理モジュールDBと、
     デバイスに関する情報を、少なくとも、デバイスの出力を特定するための出力要件と共に、複数のデバイスについて登録したデバイスDBと、を有するコンピュータが、
     デバイスを検索するための検索要求として、所望の出力結果を特定するための出力要件を含む検索要求を受け付けるステップと、
     前記検索要求に含まれる出力要件と、各処理モジュールの出力要件とを比較することによって、前記検索要求で指定された前記所望の出力結果を取得可能な処理モジュールを前記処理モジュールDBから抽出するステップと、
     前記抽出された処理モジュールの入力要件と、各デバイスの出力要件とを比較することによって、前記抽出された処理モジュールの入力として利用可能な出力をもつ1又は複数のデバイスを前記デバイスDBから抽出して、前記抽出した1又は複数のデバイスと前記抽出した処理モジュールの組み合わせからなる仮想デバイスを生成するステップと、
     前記生成された仮想デバイスの情報を検索結果としてユーザに提供するステップと、を実行する
    ことを特徴とするデバイス情報提供方法。
  10.  1又は複数のセンシングデータを分析加工して新たなセンシングデータを生成する処理モジュールに関する情報を、少なくとも、入力として用いるセンシングデータのデータ要件である入力要件、及び、生成する新たなセンシングデータのデータ要件である出力要件と共に、複数の処理モジュールについて登録した処理モジュールDBと、
     センサに関する情報を、少なくとも、出力するセンシングデータのデータ要件である出力要件と共に、複数のセンサについて登録したセンサDBと、を有するコンピュータが、
     センサを検索するための検索要求として、所望のセンシングデータを特定するためのデータ要件を含む検索要求を受け付けるステップと、
     前記検索要求に含まれるデータ要件と、各処理モジュールの出力要件とを比較することによって、前記検索要求で指定された前記所望のセンシングデータを生成可能な処理モジュールを前記処理モジュールDBから抽出するステップと、
     前記抽出された処理モジュールの入力要件と、各センサの出力要件とを比較することによって、前記抽出された処理モジュールの入力として用いるセンシングデータを取得可能な1又は複数のセンサを前記センサDBから抽出して、前記抽出した1又は複数のセンサと前記抽出した処理モジュールの組み合わせからなる仮想センサを生成するステップと、
     前記生成された仮想センサの情報を検索結果としてユーザに提供するステップと、を実行する
    ことを特徴とするデバイス情報提供方法。
  11.  請求項9又は10に記載のデバイス情報提供方法の各ステップをコンピュータに実行させる
    ことを特徴とするプログラム。
PCT/JP2014/054632 2014-02-26 2014-02-26 デバイス情報提供システム、デバイス情報提供方法 Ceased WO2015128954A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
PCT/JP2014/054632 WO2015128954A1 (ja) 2014-02-26 2014-02-26 デバイス情報提供システム、デバイス情報提供方法
US14/437,920 US9679032B2 (en) 2014-02-26 2014-02-26 Device information providing system and device information providing method
EP14854884.5A EP2940601B1 (en) 2014-02-26 2014-02-26 Device information providing system and device information providing method
JP2015518669A JP5822050B1 (ja) 2014-02-26 2014-02-26 デバイス情報提供システム、デバイス情報提供方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/054632 WO2015128954A1 (ja) 2014-02-26 2014-02-26 デバイス情報提供システム、デバイス情報提供方法

Publications (1)

Publication Number Publication Date
WO2015128954A1 true WO2015128954A1 (ja) 2015-09-03

Family

ID=54008326

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/054632 Ceased WO2015128954A1 (ja) 2014-02-26 2014-02-26 デバイス情報提供システム、デバイス情報提供方法

Country Status (4)

Country Link
US (1) US9679032B2 (ja)
EP (1) EP2940601B1 (ja)
JP (1) JP5822050B1 (ja)
WO (1) WO2015128954A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022163415A1 (ja) * 2021-01-28 2022-08-04 パナソニックホールディングス株式会社 可搬型仮想IoT装置、それを用いた仮想デバイスデータの生成方法、及びそのプログラム
US11422914B2 (en) 2018-02-27 2022-08-23 Omron Corporation Metadata generation apparatus, metadata generation method, and program

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6465012B2 (ja) * 2015-12-14 2019-02-06 オムロン株式会社 データフロー制御装置およびデータフロー制御方法
JP6406341B2 (ja) * 2016-12-15 2018-10-17 オムロン株式会社 センシングデータ流通システムとその装置およびプログラム
US10866950B2 (en) 2017-12-06 2020-12-15 Motorola Solutions, Inc. Method and system for modifying a search request corresponding to a person, object, or entity (POE) of interest
US11301273B2 (en) * 2020-03-11 2022-04-12 Atlassian Pty Ltd. Computer user interface for a virtual workspace having multiple application portals displaying context-related content
JP7262688B2 (ja) * 2021-01-21 2023-04-21 三菱電機株式会社 情報処理装置、情報処理方法及び情報処理プログラム
EP4321947A1 (en) * 2022-08-09 2024-02-14 Abb Schweiz Ag Communicating with field devices based on semantically identified variables

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005260914A (ja) 2003-12-11 2005-09-22 Sony Internatl Europ Gmbh 動的な情報ソース管理
JP2011118950A (ja) * 2011-03-18 2011-06-16 Hitachi Ltd センサネットワークシステム、センサデータの検索方法
WO2013024673A1 (ja) * 2011-08-12 2013-02-21 オムロン株式会社 情報管理装置、ネットワークシステム、情報管理プログラム、および情報管理方法
WO2013153890A1 (ja) * 2012-04-12 2013-10-17 オムロン株式会社 デバイス管理装置及びデバイス検索方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060284839A1 (en) * 1999-12-15 2006-12-21 Automotive Technologies International, Inc. Vehicular Steering Wheel with Input Device
JP4885463B2 (ja) * 2005-03-03 2012-02-29 株式会社日立製作所 センサネットワークシステム、センサデータの処理方法及びプログラム
US8655939B2 (en) * 2007-01-05 2014-02-18 Digital Doors, Inc. Electromagnetic pulse (EMP) hardened information infrastructure with extractor, cloud dispersal, secure storage, content analysis and classification and method therefor
US8385971B2 (en) * 2008-08-19 2013-02-26 Digimarc Corporation Methods and systems for content processing
WO2011149558A2 (en) * 2010-05-28 2011-12-01 Abelow Daniel H Reality alternate
US9275093B2 (en) * 2011-01-28 2016-03-01 Cisco Technology, Inc. Indexing sensor data
US9225793B2 (en) * 2011-01-28 2015-12-29 Cisco Technology, Inc. Aggregating sensor data
US20120197856A1 (en) * 2011-01-28 2012-08-02 Cisco Technology, Inc. Hierarchical Network for Collecting, Aggregating, Indexing, and Searching Sensor Data
US9171079B2 (en) * 2011-01-28 2015-10-27 Cisco Technology, Inc. Searching sensor data
US9417754B2 (en) * 2011-08-05 2016-08-16 P4tents1, LLC User interface system, method, and computer program product
US20140063061A1 (en) * 2011-08-26 2014-03-06 Reincloud Corporation Determining a position of an item in a virtual augmented space
WO2013032955A1 (en) * 2011-08-26 2013-03-07 Reincloud Corporation Equipment, systems and methods for navigating through multiple reality models
US9325516B2 (en) * 2014-03-07 2016-04-26 Ubiquiti Networks, Inc. Power receptacle wireless access point devices for networked living and work spaces

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005260914A (ja) 2003-12-11 2005-09-22 Sony Internatl Europ Gmbh 動的な情報ソース管理
JP2011118950A (ja) * 2011-03-18 2011-06-16 Hitachi Ltd センサネットワークシステム、センサデータの検索方法
WO2013024673A1 (ja) * 2011-08-12 2013-02-21 オムロン株式会社 情報管理装置、ネットワークシステム、情報管理プログラム、および情報管理方法
WO2013153890A1 (ja) * 2012-04-12 2013-10-17 オムロン株式会社 デバイス管理装置及びデバイス検索方法

Non-Patent Citations (1)

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

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11422914B2 (en) 2018-02-27 2022-08-23 Omron Corporation Metadata generation apparatus, metadata generation method, and program
WO2022163415A1 (ja) * 2021-01-28 2022-08-04 パナソニックホールディングス株式会社 可搬型仮想IoT装置、それを用いた仮想デバイスデータの生成方法、及びそのプログラム

Also Published As

Publication number Publication date
US9679032B2 (en) 2017-06-13
EP2940601B1 (en) 2018-01-03
JP5822050B1 (ja) 2015-11-24
EP2940601A1 (en) 2015-11-04
JPWO2015128954A1 (ja) 2017-03-30
EP2940601A4 (en) 2016-10-12
US20160299902A1 (en) 2016-10-13

Similar Documents

Publication Publication Date Title
JP5822050B1 (ja) デバイス情報提供システム、デバイス情報提供方法
JP6791569B2 (ja) ユーザプロファイル生成方法および端末
JP6365519B2 (ja) データフロー制御装置およびデータフロー制御方法
US9542440B2 (en) Enterprise graph search based on object and actor relationships
US10528816B2 (en) System and method for retrieving and displaying supplemental information and pertinent data using augmented reality
KR102325310B1 (ko) 데이터 중개 시스템 및 방법
US20140343984A1 (en) Spatial crowdsourcing with trustworthy query answering
EP2902913A1 (en) Device management apparatus and device search method
WO2015084678A1 (en) Systems and methods for geo-location based message streams
US20170070462A1 (en) System, apparatus, method, and non-transitory computer readable medium for providing location information using image in communication session
US20150331930A1 (en) Method and apparatus for classification of media based on metadata
KR101612362B1 (ko) 자동 크라우드소스 데이터 수집을 위한 자동 코드 생성
US10599380B2 (en) Method and system for automatically managing content in an electronic device
US10003620B2 (en) Collaborative analytics with edge devices
JP2014153797A (ja) デバイス情報提供システム、デバイス情報提供方法
US20130151553A1 (en) Method and apparatus for processing a composite context event
Aamir et al. Social-sensor composition for scene analysis
US10455365B1 (en) System and method for optimized tracking and identification of user equipment
Hussain et al. Searching for IoT Resources in Intelligent Transportation Cyberspace (T-CPS)—Requirements, Use-Cases and Security Aspects
KR20140073073A (ko) 전화번호 조회 방법 및 시스템
US20150310108A1 (en) Apparatus and method for collecting media
CN104301361B (zh) 一种基于m2m系统的智能导览方法和系统
WO2023105568A1 (ja) 情報提供装置、情報提供方法及びプログラム
Ichou et al. Mobile user profile in the context of mobile crowd sensing
Reddy et al. ParkAI: Real-Time Smart Parking Management using Hybrid YOLOv11-SSD Detection

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2015518669

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 14437920

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2014854884

Country of ref document: EP

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14854884

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE