WO2023007834A1 - 情報処理装置、情報処理システム、情報処理方法、および情報処理プログラム - Google Patents
情報処理装置、情報処理システム、情報処理方法、および情報処理プログラム Download PDFInfo
- Publication number
- WO2023007834A1 WO2023007834A1 PCT/JP2022/013150 JP2022013150W WO2023007834A1 WO 2023007834 A1 WO2023007834 A1 WO 2023007834A1 JP 2022013150 W JP2022013150 W JP 2022013150W WO 2023007834 A1 WO2023007834 A1 WO 2023007834A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- iotsp
- data
- information processing
- node
- information
- Prior art date
Links
- 230000010365 information processing Effects 0.000 title claims abstract description 91
- 238000003672 processing method Methods 0.000 title claims description 6
- 238000000034 method Methods 0.000 claims abstract description 85
- 238000004891 communication Methods 0.000 claims abstract description 44
- 230000008859 change Effects 0.000 claims description 44
- 230000006870 function Effects 0.000 claims description 20
- 238000012545 processing Methods 0.000 claims description 15
- 230000004044 response Effects 0.000 description 120
- 238000010586 diagram Methods 0.000 description 83
- SPBWHPXCWJLQRU-FITJORAGSA-N 4-amino-8-[(2r,3r,4s,5r)-3,4-dihydroxy-5-(hydroxymethyl)oxolan-2-yl]-5-oxopyrido[2,3-d]pyrimidine-6-carboxamide Chemical compound C12=NC=NC(N)=C2C(=O)C(C(=O)N)=CN1[C@@H]1O[C@H](CO)[C@@H](O)[C@H]1O SPBWHPXCWJLQRU-FITJORAGSA-N 0.000 description 56
- 238000013475 authorization Methods 0.000 description 51
- 102100021677 Baculoviral IAP repeat-containing protein 2 Human genes 0.000 description 49
- 101000896157 Homo sapiens Baculoviral IAP repeat-containing protein 2 Proteins 0.000 description 49
- 102100021662 Baculoviral IAP repeat-containing protein 3 Human genes 0.000 description 19
- 101000896224 Homo sapiens Baculoviral IAP repeat-containing protein 3 Proteins 0.000 description 19
- 238000009434 installation Methods 0.000 description 19
- 230000004048 modification Effects 0.000 description 12
- 238000012986 modification Methods 0.000 description 12
- 238000012217 deletion Methods 0.000 description 11
- 230000037430 deletion Effects 0.000 description 11
- 238000005259 measurement Methods 0.000 description 11
- 101100264195 Caenorhabditis elegans app-1 gene Proteins 0.000 description 8
- 238000012790 confirmation Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 101150053844 APP1 gene Proteins 0.000 description 4
- 101100189105 Homo sapiens PABPC4 gene Proteins 0.000 description 4
- 102100039424 Polyadenylate-binding protein 4 Human genes 0.000 description 4
- 102100037024 E3 ubiquitin-protein ligase XIAP Human genes 0.000 description 3
- 101000804865 Homo sapiens E3 ubiquitin-protein ligase XIAP Proteins 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 102100021663 Baculoviral IAP repeat-containing protein 5 Human genes 0.000 description 2
- 101000896234 Homo sapiens Baculoviral IAP repeat-containing protein 5 Proteins 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/907—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/907—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/909—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using geographical or spatial information, e.g. location
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16Y—INFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
- G16Y10/00—Economic sectors
- G16Y10/75—Information technology; Communication
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16Y—INFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
- G16Y30/00—IoT infrastructure
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16Y—INFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
- G16Y40/00—IoT characterised by the purpose of the information processing
- G16Y40/30—Control
Definitions
- the present disclosure relates to an information processing device, an information processing system, an information processing method, and an information processing program.
- IoT Internet of Things
- Examples include collection of information on factory equipment, collection of inventory information, and collection of environmental information (see, for example, Non-Patent Document 1).
- IoT systems are closed and used by themselves, but it is believed that more advanced services can be provided to users by linking multiple IoT systems.
- the "user” here refers to people who use the services provided by the IoT system, as well as things other than people that connect and communicate with the IoT system (IoT devices, sensor devices, machine type communication devices, etc.), people
- IoT devices IoT devices, sensor devices, machine type communication devices, etc.
- sensor devices such as surveillance cameras installed in shopping malls are often not integrated as IoT systems, but if such sensor devices can be integrated into existing IoT systems and used, the types of data that can be acquired will increase. It increases, and the area from which data can be acquired expands.
- oneM2M is a standardization body for M2M (Machine to Machine) systems and IoT systems, and defines connections between these IoT systems (see, for example, non-patent documents 3 and 4).
- Patent Documents 1 to 5 also propose various technologies related to cooperation of IoT systems.
- IoT Service Provider an organization that holds only sensor devices that have not been integrated as an IoT system.
- the present disclosure proposes a new and improved information processing device, information processing system, information processing method, and information processing program that can easily realize cooperation between multiple IoTSPs and sensor providers.
- an information processing device that operates as a first IoTSP that provides a service that allows a user to acquire sensor data, and performs communication with a second IoTSP other than the first IoTSP a communication unit; and a control unit that searches for the sensor data corresponding to the acquisition request of the user via an application and responds to the user with the searched sensor data, wherein the control unit responds to the acquisition request. Search the sensor data from the second IoTSP via the communication unit based on the included identifier of the second IoTSP and policy information indicating whether information can be shared between IoTSPs, and when searching for the sensor data, An information processing device is provided that uses a protocol interface that includes the same procedures between an application and the first IoTSP.
- an information processing method using an information processing device that operates as a first IoTSP that provides a service for allowing a user to acquire sensor data, wherein the second IoTSP other than the first IoTSP , searching for the sensor data corresponding to the user's acquisition request via an application, and responding to the user with the searched sensor data, wherein the responding
- the sensor data is retrieved from the second IoTSP through executing the communication based on the identifier of the second IoTSP included in the acquisition request and policy information indicating whether or not information can be shared between IoTSPs. and using a protocol interface including the same procedures between said application and said first IoTSP when retrieving said sensor data.
- an information processing program for causing a computer that operates as a first IoTSP that provides a service for acquiring sensor data to a user to function, wherein the computer includes, other than the first IoTSP executing communication with a second IoTSP, searching for the sensor data corresponding to the user's acquisition request via an application, and responding to the user with the searched sensor data; The responding is performed from the second IoTSP to the sensor through executing the communication based on the identifier of the second IoTSP included in the acquisition request and policy information indicating whether information can be shared between IoTSPs.
- An information processing program is provided for retrieving data and using a protocol interface including the same procedures between said application and said first IoTSP when retrieving said sensor data.
- FIG. 2 illustrates the architecture of oneM2M
- FIG. 3 illustrates CSE in oneM2M
- FIG. 4 is a diagram showing the relationship between each class of Area, Pseudo Sink, Node, and Mobile Node.
- FIG. 4 is a diagram showing the relationship between instances of Area, Pseudo Sink, Node, and Mobile Node
- 1 is a diagram illustrating a configuration example of an IoTSP cooperation system proposed in an embodiment of the present disclosure
- FIG. 10 is a diagram showing an example of Area instance data of Area11 (initial state); It is a figure which shows the installation procedure of Node.
- FIG. 10 is a diagram illustrating an example structure of a node installation request message;
- FIG. 10 is illustrating an example structure of a node installation request message
- FIG. 10 is a diagram showing an example structure of instance data of Pseudo Sink 11 in a node installation request message;
- FIG. 10 is a diagram showing a structure example of instance data of Node 11 in a Node installation request message;
- FIG. 10 is a diagram showing a structure example of instance data of Node 12 in a Node installation request message;
- FIG. 10 is a diagram showing a structural example of an authentication authorization request message (1);
- FIG. 10 is a diagram showing a structural example of an authentication authorization response message;
- FIG. 10 is a diagram illustrating an example structure of a Node registration request message;
- FIG. 10 is a diagram illustrating a structural example of instance data of Area 11 after Node 11 registration;
- FIG. 10 is a diagram showing an example structure of instance data of Pseudo Sink 11 after Node 11 registration;
- FIG. 10 is a diagram illustrating an example structure of a Node registration response message;
- FIG. 10 is a diagram illustrating an example structure of a Node installation response message;
- FIG. 4 is a diagram showing an example of the structure of instance data of Pseudo Sink 21;
- 4 is a diagram showing a structural example of instance data of Node 21;
- FIG. It is a figure which shows the removal procedure of Node.
- FIG. 10 is a diagram illustrating an example structure of a Node removal request message;
- FIG. 10 is a diagram showing an example structure of a Node deletion request message;
- FIG. 10 is a diagram illustrating an example structure of a Node deletion response message
- FIG. 10 is a diagram illustrating an example structure of a Node removal response message
- FIG. 4 is a diagram showing a configuration change notification procedure between IoTSPs
- FIG. 11 is a diagram showing an example structure of a change acquisition request message
- FIG. 10 is a diagram illustrating an example structure of a change acquisition response message
- FIG. 10 is a diagram showing a structural example of a change notification message (1)
- FIG. 10 is a diagram showing an example structure of a change registration request message
- FIG. 11 is a diagram showing an example structure of a change registration response message
- FIG. 13 is a diagram showing a structural example of a change notification message (2); It is a figure which shows the notification procedure (1) of sensor data from Node.
- FIG. 10 is a diagram showing an example structure of a data notification message (1);
- FIG. 10 is a diagram showing a structural example of a data registration request message (1);
- It is a figure which shows the structure example of a data registration response message.
- It is a figure which shows the notification procedure (2) of sensor data from Node.
- FIG. 10 is a diagram showing a structural example of a data notification message (2);
- FIG. 10 is a diagram showing an example structure of a data notification request message;
- FIG. 10 is a diagram showing a structural example of an authentication authorization request message (2);
- FIG. 10 is a diagram showing a structural example of a data registration request message (2); FIG. 10 is a diagram showing an example structure of a data notification response message; FIG. 10 is a diagram showing a sensor data notification procedure (3) from a Node; Fig. 10 shows an example structure of a mobile data notification message; FIG. 10 is a diagram showing a structural example of an authentication authorization request message (3); FIG. 10 is a diagram showing a structural example of a data registration request message (3); FIG. 10 is a diagram showing a data acquisition procedure by IoT APP; FIG. 11 is a diagram showing an example of a search range; FIG. FIG. 10 is a diagram showing an example structure of a data acquisition request message; FIG.
- FIG. 10 is a diagram showing a structural example of an authentication authorization request message (4);
- FIG. 10 is a diagram showing an example structure of a data acquisition response message;
- FIG. 10 illustrates a graph solution procedure;
- FIG. 4 is a diagram showing an example structure of a graph resolution request message (1);
- FIG. 10 is a diagram showing an example structure of a graph search request message (1);
- FIG. 10 is a diagram showing an example structure of a graph search response message (1);
- FIG. 10 is a diagram showing an example structure of a graph resolution response message (1);
- FIG. 10 is a diagram showing an example structure of a graph resolution request message (2);
- FIG. 10 is a diagram showing an example structure of a graph resolution response message (2); It is a figure which shows a graph search procedure.
- FIG. 10 is a diagram showing a structural example of an authentication authorization request message (4);
- FIG. 10 is a diagram showing an example structure of a data acquisition response message;
- FIG. 10 illustrates a graph
- FIG. 13 is a diagram showing an example structure of a graph resolution request message (3);
- FIG. 10 is a diagram showing a structural example of an authentication authorization request message (5);
- FIG. 10 is a diagram showing an example structure of a graph search request message (2);
- FIG. 10 is a diagram showing an example structure of a graph search response message (2);
- FIG. 10 is a diagram showing an example structure of a graph resolution response message (3); It is a figure which shows a data solution procedure (1).
- FIG. 10 is a diagram showing an example structure of a data resolution request message (1);
- FIG. 10 is a diagram showing an example structure of a data search request message (1);
- It is a figure which shows the structure example of a data search response message.
- FIG. 10 is a diagram showing an example structure of a data resolution response message;
- FIG. 10 is a diagram showing an example structure of a data resolution response message;
- FIG. 10 is a diagram showing an example structure of a data resolution response message;
- FIG. 10 is a diagram showing a data resolution procedure (2);
- FIG. 10 is a diagram showing an example structure of a data resolution request message (2);
- FIG. 10 is a diagram showing an example structure of a data search request message (2);
- 1 is an explanatory diagram showing a functional configuration example of an information processing device according to an embodiment of the present disclosure;
- FIG. It is explanatory drawing (1) of a modification.
- FIG. 11 is an explanatory diagram (part 3) of a modified example; It is explanatory drawing (4) of a modification. It is explanatory drawing (5) of a modification.
- IoTSP linking Also, hereinafter, linking multiple IoTSPs and sensor providers is referred to as "IoTSP linking”.
- Notification of sensor data from Node (2) 1.4.13. Notification of sensor data from Node (3) 1.4.14. Data Acquisition by IoT App 1.4.15. Pseudo Sink Resolution Procedure 1.4.16. Node resolution procedure 1.4.17. Data resolution procedure (1) 1.4.18. Data resolution procedure (2) 1.5. Functional configuration example of information processing apparatus 2 . Summary 2.1. Effect 2.2. Modification
- FIG. 1 is a diagram showing the architecture of oneM2M.
- FIG. 2 is a diagram showing a CSE (Common Services Entity) in oneM2M.
- each oneM2M service provider has one IN (Infrastructure Node), and a CSE exists within the IN. Connects to other oneM2M service domains with an interface called Mcc' owned by CSE (IN-CSE) within IN.
- CSE CSE
- the CSE contains many functions and is complex, so connection between oneM2M service providers is not easy. Therefore, it can be said that it is necessary to simplify the interface between IoT systems in order to realize connection between IoT systems, that is, IoTSP cooperation.
- management information such as the areas covered by each IoTSP and the installation locations of sensors, as well as sensor measurement data.
- the IoTSP that publishes the information can determine the IoTSP to which it is published.
- oneM2M defines an interface for IoT system cooperation, but it is very complicated and difficult to implement. Therefore, in the embodiment of the present disclosure, the interface of the IoT system (IoTSP) is unified into a query language (for example, GraphQL) to facilitate cooperation between IoTSPs. Specifically, the proposed interface consists of queries to graph databases and queries to time-series databases.
- an App API Application Programming Interface
- the App API converts a request from the application into a query language so that the application can easily access the IoTSP.
- IoTSP In addition to sensor nodes, which are devices equipped with sensors, IoTSP requires servers and databases that accept queries. Therefore, in the embodiment of the present disclosure, an individual or a small organization that owns a sensor node but is difficult to operate as an IoTSP is positioned as a sensor provider, and the sensor provider provides (sells) sensor data to the IoTSP.
- the Pseudo Sink installed in the sensor provider and the Pseudo Sink installed in the IoTSP cooperate to provide the sensor data of the sensor provider to the IoTSP.
- shared information is propagated along a predetermined route.
- the IoTSP that is the source of the information has a policy of sharing information with which IoTSP and not sharing information with which IoTSP.
- a field called policy is provided as a data property of a Pseudo Sink instance or a Node instance, and an IoTSP that permits sharing or an IoTSP that does not permit sharing can be described in the policy field. .
- Patent Literature 1 proposes a connection device for connecting a robot and an IoT platform and connecting different IoT platforms.
- connections are made between IoT platforms (IoTSPs) without using connection devices.
- Patent Document 2 proposes a method of setting a relay device or the like on the network side in order to eliminate the need to add functions to an IoT terminal.
- the relay device or the like has functions such as name resolution, L3 address allocation, and configuration information distribution.
- the embodiments of the present disclosure focus on connections between IoT networks (IoTSPs) on the premise that the IoT terminals are properly connected to the IoT networks (IoTSPs).
- IoT gateway that connects IoT devices such as temperature and humidity sensors to networks is also known.
- a method is adopted in which a whitelist, which lists permitted communications, is installed in the IoT gateway.
- Patent Literature 3 proposes a method of quickly creating a whitelist for an IoT gateway.
- the embodiments of the present disclosure focus on connections between IoT networks (IoTSPs) on the premise that the IoT terminals are securely connected to the IoT networks (IoTSPs).
- Patent Document 4 proposes a technique for realizing such network separation.
- the embodiments of the present disclosure focus on connections between IoT networks (IoTSPs) on the premise that the IoT terminals are securely connected to the IoT networks (IoTSPs).
- a device to connect a device to a restricted network that requires access credentials, such as a Wi-Fi network
- the user scans for available networks, requests to connect to an available network, and then Manually enter the credentials to connect to the network.
- WO 2005/010002 proposes a technique for automatically enabling devices to connect to allow automatic configuration to restricted networks that require access credentials.
- the embodiments of the present disclosure focus on connections between IoT networks (IoTSPs) on the premise that the IoT terminals are securely connected to the IoT networks (IoTSPs).
- IoTSP that provides weather data (temperature, humidity, wind direction, wind speed, atmospheric pressure, etc.) to users, and cooperation between sensor providers that have sensor devices that measure weather data, that is, IoTSPs and sensor providers that provide similar sensor data
- IoTSP-A one IoTSP
- IoTSP-B another IoTSP
- sensor provider-A provides measured weather data to IoTSP-A.
- the cooperation of IoTSP-A, IoTSP-B, and sensor provider-A enables the user to obtain meteorological data in a wider area.
- IoTSP-A for example, we assume cooperation with IoTSP-C that provides data on the number of people in each downtown area in the Kanto region, that is, cooperation between IoTSP and sensor providers that provide heterogeneous sensor data.
- IoTSP-C by linking IoTSP-A and IoTSP-C, the user can know the relationship between weather conditions and crowds.
- a configuration example for realizing IoTSP cooperation will be specifically described below.
- Node A device equipped with a sensor is called a "node”. Since nodes are installed in real space in IoT systems, how to handle location information plays an important role. Node is assumed to be fixed and installed. On the other hand, a Node that moves by mounting a sensor such as a car or a smart phone is called a "Mobile Node”. In addition, below, Node may be written as a "node” with a katakana. A Node is an example of a “sensor node”.
- a geographical area is represented by a 0.1 minute (6 seconds) square surrounded by longitude and latitude lines. 0.1 minute of latitude and longitude is about 185m near Japan. Note that the length of one side of Area may be arbitrary.
- Nodes and Mobile Nodes transmit sensor data via wireless communication, but we will introduce a "Pseudo Sink” as a module that terminates wireless communication from Nodes and connects to the wired network.
- a wireless base station may serve as a pseudo sink, or a dedicated device may be installed as a pseudo sink.
- Pseudo Sink is installed in Area and has latitude and longitude information.
- the relationship between geographic information and nodes is represented by an ontology.
- ontology relationships between things are represented by a subject, a predicate (property), and an object (object).
- the object can be the subject of another triad, so the relations of things spread out in a web.
- a type of thing is called a "class”, and a concrete thing is expressed as an "instance" of the corresponding class.
- object property A predicate that expresses the relationship between classes or instances
- a predicate that expresses the relationship between a class or instance and its attributes is called a "data property”.
- FIG. 3 shows the relationship between the Area class, Pseudo Sink class, Node class, and Mobile Node class.
- FIG. 3 is a diagram showing the relationship between each class of Area, Pseudo Sink, Node, and Mobile Node.
- the Area class has object properties of "isEastOf", “isWestOf”, “isSouthOf”, “isNorthOf” and an Area Represents the north, south, east, and west adjacencies between instances.
- the Area class has data properties such as Area ID (Area identifier), SW Lat, Lon (latitude and longitude of the southwest corner), NW Lat, Lon (latitude and longitude of the northeast corner), and Description (annotation).
- An example of the annotation of the Area instance is "within Shinagawa-ku, Tokyo".
- the Area class expresses the relationship with the Pseudo Sink instance by the object property "contains”.
- the Pseudo Sink class has data properties such as IoTSP ID (IoTSP identifier), Pseudo Sink ID (Pseudo Sink identifier), Lat, Lon (latitude and longitude), Description (annotation), Policy (policy for disclosure of management information to other IoTSPs), etc. have.
- An example of an annotation for a Pseudo Sink instance is "Osaki Station”.
- An example of Policy may be a list of IoTSP identifiers that permit disclosure of information about the Pseudo Sink instance.
- the Pseudo Sink class expresses the relationship with the Area instance by the object property "isInstalledIn", and the relationship with the Node instance by the object property "collectsDataFrom".
- the Node class has data properties such as Node ID (Node identifier), Capabilities (function), Description (annotation), Policy (whether or not information can be disclosed to other IoTSPs).
- the Node class expresses the relationship between Node instances by the object property "isCollocatedWith (located in the same Pseudo Sink)", and expresses the relationship between Pseudo Sink instances by the object property "sendsDataTo (sends data)”.
- the Mobile Node class Define the Mobile Node class as a subclass of the Node class.
- the Mobile Node subclass has data properties such as IoTSP ID (IoTSP identifier), Date, Time (date and time), Lat, Lon (latitude and longitude), and Credential (authentication information) in addition to the data properties possessed by the Node class.
- IoTSP ID IoTSP identifier
- Date Date
- Time date and time
- Lat Lat
- Lon latitude and longitude
- Credential authentication information
- FIG. 4 shows an example of the relationship between Area instances, Pseudo Sink instances, Node instances, and Mobile Node instances.
- FIG. 4 is a diagram showing the relationship between instances of Area, Pseudo Sink, Node, and Mobile Node.
- Area 11 is connected to adjacent Areas 12 to 15 by object properties "isEastOf", “isWestOf”, “isSouthOf", or “isNorthOf". Furthermore, Area 11 is connected to Pseudo Sink 11 by object properties "contains” and “isInstalledIn”.
- Pseudo Sink 11 is connected to Node 11 and Node 12 with object properties "CollectsDataFrom” and “sendsDataTo". Also, Node11 and Node12 are connected by an object property "isCollocatedWith".
- Pseudo Sink 11 is connected to Mobile Node 13 by object properties "CollectsDataFrom" and "sendsDataTo".
- Mobile Node 13 is temporarily connected to Pseudo Sink 11 because it entered the wireless communication range of Pseudo Sink 11 while moving.
- the above instance information is stored in a Graph DB, which will be described later.
- the connection relationship between the Mobile Node instance and the Pseudo Sink instance is temporary, it is not stored in GraphDB.
- Area 11 has data properties of the southwest corner latitude "35 degrees 37 minutes 6 seconds" and longitude "139 degrees 43 minutes 36 seconds", and the northeast corner latitude "35 degrees 37 minutes 12 seconds” and longitude "139 seconds”. degree 43 minutes 42 seconds".
- Pseudo Sink 11 has as data properties the IoTSP identifier "IdIoTSP_1", the Pseudo Sink identifier "IdPSink_11", the Description “Osaki Station”, the latitude “35 degrees 37 minutes 11.85 seconds", and the longitude “139 degrees 43 minutes 41. 06 seconds”. Also, the Policy values are "IdIoTSP_ALL” and “except IdIoTSP_3", indicating that disclosure is possible to all IoTSPs except IoTSP3.
- Node 11 has the following data properties: Node identifier "IdNode_11”, Capability "Temperature” and “Humidity”, Description “Outdoor Module”, and Policy "IdIoTSP_ALL (open to all other IoTSPs)".
- Node 12 also has the same data property value as Node 11, but the Policy value is "IoTP_None (undisclosed to other IoTSPs)".
- Mobile Node 13 has, as data properties, a Node identifier of "IdNode_13", an IoTSP identifier (identifier of IoTSP to which Mobile Node 13 has a contract) of "idIoTSP_1", Capability of "Speed”, Description of "Vehicle”, and Date and Time of "2021". February 10, 10:00:00", latitude and longitude is "35 degrees 37 minutes 12.0 seconds north latitude, 139 degrees 43 minutes 41.0 seconds east longitude", Credential is "CredNode_13", Policy is "IoTSP_ALL" has a value of
- FIG. 5 shows a configuration example of the proposed system.
- FIG. 5 is a diagram showing a configuration example of an IoTSP cooperation system proposed in an embodiment of the present disclosure.
- the IoTSP cooperation system corresponds to an example of an "information processing system.”
- Fig. 5 shows four IoTSPs ("IoTSP1" to "IoTSP4") and one sensor provider ("Sensor Provider5").
- IoTSP1 shows internal details, and IoTSP2 to IoTSP4 are omitted.
- the number of IoTSPs may be four or more and the number of sensor providers may be two or more.
- IoTSP1 to IoTSP4 are connected in a straight chain, but the connection form between IoTSPs is not limited to a straight chain. It is assumed that this connection is logical and connected through a secure communication channel. It is also assumed that all IoTSPs are aware of the connection relationship between IoTSPs.
- each IoTSP determines the connection relationship between IoTSPs and registers it in each IoTSP.
- all IoTSPs recognize that IoTSP1 to IoTSP4 are connected in a straight chain.
- each IoTSP has a private key and a public key in a public key cryptosystem. It is assumed that the private key is kept secret by each IoTSP and the public key is shared by all other IoTSPs. Sensor providers may also be included in the concept of "user" herein.
- User is a user who has a contract with IoTSP.
- "User1" has a contract with IoTSP1, and obtains sensor data and the like from IoTSP1 using "IoT App1", which is an application for the user.
- the App API is an application API that converts a request from the application into a query language and accesses the Query Server.
- 'App API1' receives a request from 'IoT App1', converts it into a query language, and accesses 'Query Server1'.
- the App API realizes inter-IoTSP cooperation using a query language.
- App API1 cooperates with "App API2" in IoTSP2, and realizes cooperation between IoTSP1 and IoTSP2 using a query language.
- Admin is the administrator of the IoTSP.
- 'Admin1' manages and operates IoTSP1 via the management API 'Admin API1'.
- Query Server accepts query language from App API and accesses Sensing DB and Graph DB.
- Query Server 1 accepts the query language from App API 1 and accesses "Sensing DB 1" and "Graph DB 1".
- ⁇ AAA (Authentication, Authorization, and Accounting) ⁇ Server is a module that authenticates and authorizes users, administrators, IoTSP, sensor providers, and Mobile Nodes.
- AAA Server1 authenticates User1, Admin1, and “Mobile Node13".
- AAA Server2 in App API2 performs authentication and authorization for IoTSP1, etc.
- Graph DB is a database that stores Area instances, Pseudo Sink instances, Node instances, and Mobile Node instances. It also has functions for registering and searching instance information in the database.
- Graph DB1 is the Graph DB within IoTSP1.
- the Sensing DB is a database that stores time-series data of sensor measurements. It also has functions for registering and searching sensor data in the database.
- Sensing DB1 is the Sensing DB in IoTSP1.
- Pseudo Sink is a module that collects sensor data from Node.
- "Pseudo Sink 11” collects sensor data from Node 11 and Mobile Node 13. Furthermore, it is also connected to "Pseudo Sink 51" and collects sensor data from Sensor Provider 5.
- Nodes and Mobile Nodes are physical modules equipped with sensors.
- Node 11 and the like are connected to Pseudo Sink 11, and since Mobile Node 13 has entered the wireless communication range of Pseudo Sink 11, Mobile Node 13 is temporarily connected to Pseudo Sink 11.
- Node 51 is connected to Pseudo Sink 51, and Pseudo Sink 51 is connected to Pseudo Sink 11 in IoTSP1.
- the "Type" field represents the type of message.
- Message types include AA Request/Response (authentication authorization request/response), Data Registration Request/Response (data registration request/response), Data Report (data notification), Data Report Request/Response (data notification request/response), DataResolution Request/Response, Data retrieve Request/Response, Data Search Request/Response, Graph Resolution Request/Response , Graph Search Request/Response, Mobile Data Report, Modified Data Report, Modified Data Registration Request/Response, Modified Data Request/Response (update information request/response), Node Delete Request/Response (node deletion request/response), Node Installation Request/Response (node installation request/response), Node Registration Request/Response (noo
- the “Capability” field represents the functions that the Node has.
- the “Credential” field represents credit information. Credential information includes passwords, electronic certificates, and the like.
- the "Data Format ID” field represents the identifier of the sensor data format.
- the “End Time” field represents the end date and time.
- the “ID” field represents the identifier of the entity performing the action. The subjects are the users and administrators of the IoTSP, the IoTSP itself, and the sensor provider itself.
- the “IoTSP ID” field represents the identifier of the IoTSP.
- the “Lat” and “Lon” fields represent the latitude and longitude of the Pseudo Sink.
- the "NE Lat” field and “NE Lon” field represent the latitude and longitude of the northeast corner of the Area.
- the "No of Nodes” field indicates the number of target Nodes.
- the “No of Pseudo Sinks” field indicates the number of target pseudo sinks.
- the "No of Queries” field represents the number of queries.
- the “No of Values” field represents the number of values.
- the "Node ID” field represents the identifier of the Node.
- the “Node Instance Data” field represents Node instance data.
- the "Pseudo Sink ID” field represents the identifier of the Pseudo Sink.
- the “Pseudo Sink Instance Data” field represents the instance data of the Pseudo Sink.
- the "Query” field represents the content of the query.
- the "Sensor Provider ID” field represents the identifier of the sensor provider.
- the "Start Time” field represents the start date and time.
- the “Status” field represents the end state of the operation.
- the "SW Lat” field and the “SW Lon” field represent the latitude and longitude of the southwest corner of the Area.
- the “Timestamp” field represents the date and time.
- the "Value” field represents the answer to the query.
- the "Area ID” field represents the identifier of the Area instance.
- the “Area Instance Data” field represents all or part of the Area instance data.
- the “Capability” field represents the functions possessed by the Node instance. For example, "temperature” and “humidity”.
- the "collectsDataFrom” field indicates identifiers of Node instances and Mobile Node instances that are connected to the Pseudo Sink instance and collectsDataFrom, which is an object property.
- the "contains” field represents the identifier of the Pseudo Sink instance that connects the Area instance and the object property “contains”.
- the "Description” field represents user-friendly annotations.
- the Description of an Area instance is "inside Shinagawa-ku, Tokyo"
- the Description of a Pseudo Sink instance is “Osaki Station”
- the Description of a Node instance is "Outdoor Module”.
- the "End Time” field represents the end date and time.
- the "isCollocatedWith” field represents the identifier of the Node instance that is connected to the Node instance by the object property isCollocatedWith.
- the "isEastOf” field represents the identifier of the Area instance that is connected to the Area instance by the object property isEastOf.
- the "isInstalledIn” field represents the identifier of the Area instance that is connected to the Pseudo Sink instance with the object property isInstalledIn.
- the "isNorthOf” field represents the identifier of the Area instance that is connected to the Area instance by the object property isNorthOf.
- the "isSouthOf” field represents the identifier of the Area instance that is connected to the Area instance by the object property isSouthOf.
- the "isWestOf” field represents the identifier of the Area instance that is connected to the Area instance by the object property isWestOf.
- the "NE Lat” and “NE Lon” fields represent the latitude and longitude of the northeast corner of the Area instance.
- the “Lat” and “Lon” fields represent the latitude and longitude of the Pseudo Sink instance.
- the "No of Nodes” field represents the number of Node instances of interest.
- the "No of Pseudo Sinks” field represents the number of Pseudo Sink instances of interest.
- a "Node ID” field represents an identifier of a Node instance or a Mobile Node instance.
- the "Node Instance Data” field represents all or part of the Node or Mobile Node instance data.
- the 'Policy' field represents the IoTSP that publishes the information. The value may be, for example, a list of identifiers of IoTSPs that are permitted to be disclosed, "IdIoTSP_ALL” that permits all IoTSPs, or "IdIoTSP_None” that disallows all IoTSPs.
- the “Pseudo Sink ID” field represents the identifier of the Pseudo Sink instance.
- the “Pseudo Sink Instance Data” field represents all or part of the Pseudo Sink instance data.
- the “sendsDataTo” field indicates the identifier of the Node instance or Mobile Node instance that is connected to the Pseudo Sink instance by means of object property sendsDataTo.
- the "Start Time” field represents the start date and time.
- the "SW Lat” field and the “SW Lon” field represent the latitude and longitude of the southwest corner of the Area.
- the “Timestamp” field represents the date and time.
- each IoTSP assumes that the instance data of Area shown in FIG. 4 is already stored in the Graph DB.
- the Area instance data of Area11 before installation of Pseudo Sink 11 is as shown in FIG.
- FIG. 6 is a diagram showing an example (initial state) of Area instance data of Area11.
- the identifier for this Area instance is "IdArea_11”.
- the last modification date and time of this Area instance is “January 15, 2021, 10:00:00”.
- the latitude and longitude of the southwest corner of this Area are "35 degrees 37 minutes 06 seconds north latitude" and "139 degrees 43 minutes 36 seconds east longitude”.
- the latitude and longitude of the northeast corner of this Area are "35 degrees 37 minutes 12 seconds north latitude” and "139 degrees 43 minutes 42 seconds east longitude”.
- the annotation of this Area is "within Shinagawa Ward, Tokyo”.
- Identifiers of Area instances connected to this Area by isEastOf, isWestOf, isSouthOf, and isNorthOf are respectively "IdArea_12", “IdArea_13", “IdArea_14", and "IdArea_15".
- FIG. 7 is a diagram illustrating a procedure for installing a Node.
- FIG. 8 shows a node installation request message.
- the value of the ID field is "IdAdmin_1”.
- the value of the Credential field is "CredAdmin_1”.
- the Pseudo Sink Instance Data field stores instance data of Pseudo Sink 11, which is a Pseudo Sink that collects data from Node 11 and Node 12.
- the value of the No of Nodes field is "2". Below, the instance data of Node11 and the instance data of Node12 are stored.
- Fig. 9 shows the instance data of Pseudo Sink 11.
- the identifier of this Pseudo Sink instance is "IdPSink_11".
- the last modification date and time of this Pseudo Sink instance is "February 1, 2021, 10:00:00".
- the information of this Pseudo Sink instance is "disclosure to all other IoTSPs other than IoTSP3".
- the latitude and longitude of this Pseudo Sink are "35 degrees 37 minutes 11.85 seconds north latitude” and "139 degrees 43 minutes 41.06 seconds east longitude".
- the annotation on this Pseudo Sink is "Osaki Station”.
- the Area instance connected to this Pseudo Sink instance by isInstalledIn is "undecided”.
- the identifiers of the Node instances connected to this Pseudo Sink instance by collectsDataFrom are "IdNode_11" and "IdNode_12".
- Figure 10 shows the instance data of Node11.
- the identifier for this Node instance is "IdNode_11”.
- the date and time when this Node was installed is “February 1, 2021, 10:00 am”.
- the measurement data of this Node is "openable to all other IoTSPs”.
- the annotation of this Node is "Outdoor Module”.
- the functions of this Node are "temperature” and "humidity”.
- the identifier of the Pseudo Sink instance connected to this Node instance by sendsDataTo is "IdPSink_11".
- the identifier of the Node instance connected to this Node instance by isCollocatedWith is "IdNode_12".
- FIG. 11 shows a Node instance representing Node12.
- the content is the same as in FIG. 10, but since the value of the Policy field is "IdIoTSP_None", the measurement data of this Node is not disclosed to other IoTSPs.
- Admin API1 When Admin API1 receives the Node installation request message, it sends an authentication authorization request message to AAA Server1 (step S102).
- FIG. 12 shows an authentication authorization request message.
- the value of the ID field is "IdAdmin_1”.
- the value of the Credential field is "CredAdmin_1”.
- AAA Server 1 When AAA Server 1 receives the authentication authorization request message, it verifies the authenticity and authority of the entity indicated by the ID field. If the confirmation succeeds, AAA Server1 sends an authentication authorization response message to Admin API1 (step S103).
- FIG. 13 shows an authentication authorization response message. The value of the Status field is "OK" indicating normal termination of processing.
- Admin API 1 When Admin API 1 receives the authentication authorization response message, it sends a Node registration request message to Graph DB 1 (step S104).
- FIG. 14 shows the Node registration request message.
- the values of the Pseudo Sink Instance Data field, No of Nodes field, and Node Instance Data field of the Node registration request message are the same as those of the Node installation request message shown in FIG.
- Graph DB1 When Graph DB1 receives the Node registration request message, it stores Pseudo Sink instance data and Node instance data in the database. Furthermore, the instance data of Area 11 where Pseudo Sink 11 is installed is updated as shown in FIG. The value of the Timestamp field has been updated with respect to FIG. In addition, a contains field is added with a value of "IdPSink_11". Along with this, the instance data of Pseudo Sink 11 is updated as shown in FIG. That is, the value of the isInstalledIn field is "IdArea — 11".
- FIG. 17 shows the Node registration response message.
- the value of the Status field is "OK" indicating normal termination of processing.
- Admin API1 When Admin API1 receives the Node registration response message, it sends a Node installation response message to Admin APP1 (step S106).
- FIG. 18 shows a Node installation response message.
- the Status field is "OK" indicating normal termination.
- FIG. 19 shows the instance data of Pseudo Sink 21.
- FIG. 20 shows the instance data of Node21.
- FIG. 21 shows a procedure for removing a Node in IoTSP1.
- FIG. 21 is a diagram illustrating a Node removal procedure.
- Admin1 sends a Node removal request message to Admin API1 via Admin APP1 (step S201).
- FIG. 22 shows a Node removal request message.
- the value of the ID field is "IdAdmin_1”.
- the value of the Credential field is "CredAdmin_1”.
- the No of Nodes field represents the number of Nodes to be removed. Below, the Node ID field follows the number of values in the No of Nodes field.
- Admin API1 When Admin API1 receives the Node removal request message, it sends an authentication authorization request message to AAA Server1 (step S202).
- FIG. 12 shows an authentication authorization request message.
- AAA Server 1 When AAA Server 1 receives the authentication authorization request message, it verifies the authenticity and authority of the entity indicated by the ID field. If the confirmation succeeds, AAA Server1 sends an authentication authorization response message to Admin APP1 (step S203).
- FIG. 13 shows an authentication authorization response message.
- FIG. 23 shows a Node deletion request message.
- the values of the No of Nodes field and the Node ID field of the Node deletion request message are the same as those of the Node removal request message shown in FIG.
- Graph DB1 When Graph DB1 receives the Node deletion response message, it deletes the Node instance indicated by the Node ID field from the database. Along with this, for the Pseudo Sink instance indicated by the sendsDataTo field of the Node instance to be deleted, the corresponding collectsDataFrom field is deleted. If the number of the collectsDataFrom field becomes 0 as a result of deletion, the corresponding Pseudo Sink Instance Data is also deleted.
- Graph DB1 sends a Node deletion response message to Admin API1 (step S205).
- FIG. 24 shows the Node deletion response message.
- the Status field is "OK" indicating normal termination.
- Admin API1 When Admin API1 receives the Node deletion response message, it sends a Node removal response message to IoTSP Admin1 (step S206).
- FIG. 25 shows the Node removal response message.
- the Status field is "OK" indicating normal termination.
- FIG. 26 shows an example of a procedure for notifying other IoTSPs of the configuration change of IoTSP1.
- FIG. 26 is a diagram showing a configuration change notification procedure between IoTSPs.
- App API1 in IoTSP1 sends a change acquisition request message to Query Server1 in order to know the configuration change in IoTSP1 (step S301).
- FIG. 27 shows the change acquisition request message.
- the Timestamp field indicates that information updated after the date and time indicated in this field is requested, and in this example, it is "February 1, 2021, 00:00:00".
- Query Server 1 When Query Server 1 receives the change acquisition request message, it queries Graph DB 1 for configuration information changed after the time indicated by the Timestamp field (step S302). In addition, in FIG. 26, the procedure for querying the Graph DB1 is omitted.
- FIG. 28 shows the change acquisition response message.
- the Status field is "OK” indicating normal termination. Since one Pseudo Sink (Pseudo Sink 11) was added after the specified time, the value of the No of Pseudo Sinks field becomes "1". The contents of the Pseudo Sink Instance Data field are the same as the instance data of the Pseudo Sink 11 shown in FIG.
- App API1 When App API1 receives the change acquisition response message, it sends a change notification message to App API2 in IoTSP2, which is the predetermined transfer destination (step S304).
- FIG. 29 shows the change notification message.
- the value of the No of Pseudo Sinks field is "1".
- the value of the Pseudo Sink Instance Data field is the Pseudo Sink 11 instance data shown in FIG. 16 encrypted with the IoTSP2 public key. That is, at this time, App API 1 determines public/non-disclosure destinations based on the Policy field shown in FIG. 16 (see step S304). In the case of the example of FIG. 16, only IoTSP3 is the private party, so App API1 encrypts the instance data of Pseudo Sink11 with the public key of IoTSP2.
- App API2 When App API2 receives the change notification message, it uses its own private key to decrypt the Pseudo Sink Instance Data field. Next, App API2 sends a change registration request message to Query Server2 (step S305).
- FIG. 30 shows the change registration request message.
- the value of the No of Pseudo Sinks field is "1".
- the value of the Pseudo Sink Instance Data field is the same as the instance data of Pseudo Sink 11 shown in FIG.
- Query Server 2 When Query Server 2 receives the change registration request message, it accesses Graph DB 2 and registers the change information (step S306). In addition, in FIG. 26, the procedure for registration in the Graph DB2 is omitted.
- Query Server 2 sends a change registration response message to App API 2 (step S307).
- FIG. 31 shows the change registration response message.
- the value of the Status field is "OK" indicating normal termination.
- App API2 sends a change registration request message to Query Server2 and also sends a change notification message to App API3 in IoTSP3 (step S308).
- FIG. 32 shows the change notification message.
- the value of the No of Pseudo Sinks field is "1".
- App API2 refers to the policy field of the instance data of Pseudo Sink 11 shown in FIG.
- the instance data of Pseudo Sink 11 is encrypted with the public key of IoTSP4, which is the transfer destination, and stored in the Pseudo Sink Instance Data field. That is, at this time, App API 2 determines public/non-disclosure destinations based on the Policy field shown in FIG. 16 (see step S308).
- IoTSP3 is the private party, so AppAPI2 encrypts the instance data of Pseudo Sink 11 with the public key of IoTSP4.
- App API3 When App API3 receives the change notification message, it attempts to decrypt the Pseudo Sink Instance Data field with its own private key, but this field cannot be decrypted because it is encrypted with the public key of IoTSP4. Therefore, App API3 sends a change notification message to App API4 in IoTSP4, which is the next transfer destination (step S309).
- FIG. 32 shows the change notification message. That is, at this time, App API 3 can be said to determine the public/private party of the Policy field by not being able to decrypt the Pseudo Sink Instance Data field with its own private key (see step S309).
- App API4 When App API4 receives the change notification message, it uses its own private key to decrypt the Pseudo Sink Instance Data field. Next, App API 4 sends a change registration request message to Query Server 4 (step S310).
- FIG. 30 shows the change registration request message.
- Query Server 4 When Query Server 4 receives the change registration request message, it accesses Graph DB 4 and registers the change information (step S311). In addition, in FIG. 26, the procedure for registration in the Graph DB 4 is omitted.
- Query Server 4 sends a change registration response message to App API 4 (step S312).
- FIG. 31 shows the change registration response message.
- IoTSP2, IoTSP3, and IoTS4 also notify other IoTSPs of the configuration change.
- the information of Pseudo Sink 21 shown in FIG. 19 is notified from IoTSP2 to IoTSP1, IoTSP3, and IoTSP4.
- FIG. 33 shows a procedure for the Node 11 installed in the IoTSP1 in FIG. 5 to register measurement data in the IoTSP1.
- FIG. 33 is a diagram depicting a sensor data notification procedure (1) from a Node; Such notification procedure (1) indicates a data notification procedure within the IoTSP.
- Node 11 periodically transmits measured data such as temperature to Pseudo Sink 11 in a data notification message (step S401). Assume that communication between Node 11 and Pseudo Sink 11 is secure.
- FIG. 34 shows the data notification message.
- the value of the Node ID field is "IdNode_11".
- the Timestamp field represents the date and time when the sensor data was measured, which is "February 8, 2021, 10:00:00" in this example.
- the Data Format ID field represents the format identifier of the data stored in the Data field. Sensor data is stored in the Data field.
- Pseudo Sink 11 When Pseudo Sink 11 receives the data notification message, it sends a data registration request message to Sensing DB 1 (step S402).
- FIG. 35 shows a data registration request message.
- the values of the Node ID field, Timestamp field, Data Format ID field, and Data field are the same as in FIG.
- Sensing DB1 is a database that stores the time series of sensor data for each Node. That is, one line (one record) consists of at least the date and time, Node identifier, Capability, sensor data value, Pseudo Sink identifier, and latitude and longitude.
- the Sensing DB 1 receives the data registration request message, it stores the value of the Node ID field, the value of the Timestamp field, and the value of the Data field in the database. After that, Sensing DB 1 sends a data registration response message to Pseudo Sink 11 (step S403).
- FIG. 36 shows the data registration response message.
- the Status field is "OK" indicating normal termination.
- FIG. 37 shows a procedure for the Sensor 51 installed in the Sensor Provider 5 in FIG. 5 to register measurement data in the IoTSP1.
- FIG. 37 is a diagram depicting a sensor data notification procedure (2) from a Node; Such notification procedure (2) indicates a data notification procedure from Sensor Provider1 to IoTSP1.
- the Sensor 51 periodically transmits measured data such as temperature to the Pseudo Sink 51 as a data notification message (step S501). Assume that communication between Sensor 51 and Pseudo Sink 51 is secure.
- FIG. 38 shows the data notification message.
- the value of the Node ID field is "IdNode_51”.
- the Timestamp field represents the date and time when the sensor data was measured, which is "February 8, 2021, 10:00:00" in this example.
- the Data Format ID field represents the format identifier of the data stored in the Data field. Sensor data is stored in the Data field.
- Pseudo Sink 51 When Pseudo Sink 51 receives the data notification message, it sends a data notification request message to Pseudo Sink 11 in IoTSP1 (step S502).
- FIG. 39 shows a data registration request message.
- the value of the Sensor Provider ID field is "IdSensP_5".
- the value of the Credential field is "CredSensP_5".
- the values of the Node ID field, Timestamp field, Data Format ID field, and Data field are the same as in the data notification message shown in FIG.
- Pseudo Sink 11 When Pseudo Sink 11 receives the data registration request message, it sends an authentication authorization request message to AAA Server 1 in IoTSP 1 (step S503).
- FIG. 40 shows an authentication authorization request message.
- the value of the ID field is "IdSensP_5".
- the value of the Credential field is "CredSensP_5".
- AAA Server 1 When AAA Server 1 receives the authentication authorization request message, it confirms the authenticity and authority of the subject indicated by the ID field. If the confirmation succeeds, AAA Server 1 sends an authentication authorization response message to Pseudo Sink 11 (step S504).
- FIG. 13 shows an authentication authorization response message.
- Pseudo Sink 11 When Pseudo Sink 11 receives the authentication authorization response message, it sends a data registration request message to Sensing DB 1 (step S505).
- FIG. 41 shows the data registration request message.
- the values of the Node ID field, Timestamp field, Data Format ID field, and Data field are the same as in the data notification message shown in FIG.
- the Sensing DB 1 When the Sensing DB 1 receives the data registration request message, it stores the data in the database and sends a data registration response message to the Pseudo Sink 11 (step S506).
- FIG. 36 shows the data registration response message.
- the pseudo sink 11 When the pseudo sink 11 receives the data registration response message, it sends a data notification response message to the pseudo sink 51 (step S507).
- FIG. 42 shows the data notification response message.
- the Status field is OK indicating normal termination.
- FIG. 43 shows a procedure for the Mobile Node 13 contracting with the IoTSP1 to register measurement data in the IoTSP1.
- FIG. 43 is a diagram depicting a sensor data notification procedure (3) from a Node; Such notification procedure (3) indicates a data notification procedure from the Mobile Node 13 to the IoTSP1.
- Mobile Node 13 detects that it has entered the wireless communication range of Pseudo Sink 11 in IoTSP1 to which it has a contract, and transmits measurement data to Pseudo Sink 11 in a mobile data notification message (step S601).
- FIG. 44 shows the mobile data notification message.
- the value of the Node ID field is "IdNode_13".
- the value of the Credential field is "CredNode_13”.
- the Timestamp field represents the date and time when the sensor data is transmitted, which is "February 8, 2021, 10:00:00" in this example.
- the Lat field represents the latitude of Mobile Node 13 when sending sensor data, and in this example it is "35 degrees 37 minutes 12 seconds north latitude”.
- the Lon field represents the longitude of Mobile Node 13 when sending sensor data, and in this example it is "139 degrees 43 minutes 41 seconds east longitude”.
- the Data Format ID field represents the format identifier of the data stored in the Data field. Sensor data is stored in the Data field.
- Pseudo Sink 11 When Pseudo Sink 11 receives the mobile data notification message, it sends an authentication authorization request message to AAA Server 1 (step S602).
- FIG. 45 shows an authentication authorization request message.
- the value of the ID field is "IdNode_13”.
- the value of the Credential field is "CredNode_13”.
- AAA Server 1 When AAA Server 1 receives the authentication authorization request message, it confirms the authenticity and authority of the subject indicated by the ID field. If the confirmation succeeds, AAA Server 1 sends an authentication authorization response message to Pseudo Sink 11 (step S603).
- FIG. 13 shows an authentication authorization response message.
- Pseudo Sink 11 When Pseudo Sink 11 receives the authentication authorization response message, it sends a data registration request message to Sensing DB 1 (step S604).
- FIG. 46 shows the data registration request message.
- the Sensing DB 1 When the Sensing DB 1 receives the data registration request message, it registers the data and sends a data registration response message to the Pseudo Sink 11 (step S605).
- FIG. 36 shows the data registration response message.
- the values of the Node ID field, Timestamp field, Data Format ID field, and Data field are the same as in the mobile data notification message shown in FIG.
- IoT App1 is an application that acquires sensor data via App API1.
- FIG. 47 shows a procedure for IoT App1 to acquire data.
- FIG. 47 is a diagram showing a data acquisition procedure by IoT APP.
- App API1 that is, User1
- App API1 specifies the range of the solid line shown in FIG. Explain the procedure.
- IoT App1 sends a data acquisition request message to App API1 (step S701).
- FIG. 49 shows the data search request message.
- the value of the ID field is "IdUser_1".
- the value of the Credential field is "CredUser_1".
- the values of the SW Lat field, SW Long field, NE Lat field, and NE Long field are respectively "35 degrees 37 minutes 09 seconds north latitude”, “139 degrees 43 minutes 21 seconds east longitude", “35 degrees 37 minutes 39 seconds north latitude”, It is "139 degrees 43 minutes 45 seconds east longitude”.
- the value of the Capability field is "temperature”.
- the values of the Start Time field and the End Time field are "February 10, 2021, 00:00:00” and “February 10, 2021, 23:59:59”, respectively.
- App API1 When App API1 receives the data acquisition request message, it sends an authentication authorization request message to AAA Server1 (step S702).
- FIG. 50 shows an authentication authorization request message.
- the value of the ID field is "IdUser_1”.
- the value of the Credential field is "CredUser_1”.
- AAA Server 1 When AAA Server 1 receives the authentication authorization request message, it verifies the authenticity and authority of the entity indicated by the ID field. When the confirmation succeeds, AAA Server1 sends an authentication authorization response message to App API1 (step S703).
- FIG. 13 shows an authentication authorization response message.
- App API1 When App API1 receives the authentication authorization response message, it executes Pseudo Sink resolution (steps S704, S705). The details of the Pseudo Sink solution procedure will be described later. As a result, App API1 obtains a list of Pseudo Sink instance data existing in the area where IoT App1 is requesting data acquisition. In this example, App API1 obtains the instance data of Pseudo Sink 11 shown in FIG. 16 and the instance data of Pseudo Sink 21 shown in FIG.
- App API1 executes node resolution (steps S706 to S709). Details of the node resolution procedure will be described later. Thus, the interface between App API1 and Query Server1 and the interface between App API1 and App API2 are the same. As a result of node resolution, App API1 obtains a list of Node instance data existing in the area where IoT App1 is requesting data acquisition. In this example, App API1 obtains the instance data of Node11 shown in FIG. 10, the instance data of Node12 shown in FIG. 11, and the instance data of Node21 shown in FIG.
- App API1 executes data resolution (steps S710 to S713). Details of the data search procedure will be described later. Thus, the interface between App API1 and Query Server1 and the interface between App API1 and App API2 are the same. As a result of data resolution, App API1 can obtain temperature data measured by Node11, Node12, and Node13.
- FIG. 51 shows an example of a data acquisition response message.
- the No of Nodes field indicates the number of Nodes from which sensor values have been acquired, and in this example there are three Node11, Node12, and Node21. Three sets of Node ID field, No of Values field, and Value field follow.
- the Node ID field represents the identifier of the Node that acquired the sensor value.
- the Capability field represents the capabilities of the Node.
- the Value field represents sensor values.
- the Pseudo Sink solution shown in FIG. 47 is a process of searching for a Pseudo Sink that exists in a specified Area, and is a type of graph search.
- the Pseudo Sink solving procedure will be explained using the graph solving procedure shown in FIG.
- FIG. 52 is a diagram showing a graph solution procedure.
- FIG. 53 shows the graph solution request message.
- the IoTSP ID field represents the identifier of the IoTSP that performs graph resolution, which is "IdIoTSP_1" in this example
- the No of Queries field represents the number of Queries, which is "30" in this example. This is the number of Areas shown in FIG.
- the contents of the 30 Queries are to search for a Pseudo Sink instance connected with the object property "contains" for each Area.
- FIG. 54 shows the graph retrieval request message.
- the values of the No of Queries field and the Query field are the same as those of the graph resolution request message shown in FIG.
- FIG. 55 shows the graph search response message.
- the Status field is "OK" indicating normal termination.
- the graph search response message includes 30 Value fields.
- the contents of Pseudo Sink 11 shown in FIG. 16 are returned as Value in response to a Query about Area 11.
- the contents of Pseudo Sink 21 shown in FIG. 19 are returned as Value in response to a Query about Area 21. Value for Query regarding other Areas is empty.
- Query Server 1 When Query Server 1 receives the graph search response message, it sends a graph resolution response message to App API 1 (step S804).
- FIG. 56 shows the graph resolution response message.
- the Status field is "OK" indicating normal termination.
- the values of the No of Values field and the Value field are the same as those of the graph search response message shown in FIG.
- App API1 obtains the instance data of Pseudo Sink 11 shown in FIG. 16 and the instance data of Pseudo Sink 21 shown in FIG.
- the node solution shown in FIG. 47 is a process of retrieving a node that satisfies a specified condition in a specified Pseudo Sink, and is a kind of graph retrieval.
- App API1 first performs node resolution for Pseudo Sink 11 according to the procedure shown in FIG. FIG. 57 shows a graph solution request message sent by App API1.
- the value of the IoTSP ID field is "IdIoTSP_1".
- the value of the No of Queries field is "1".
- the content of the Query field is to search for a node installed in the Pseudo Sink 11 and capable of measuring temperature.
- App API1 receives the graph resolution response message shown in FIG.
- the Status field is "OK” indicating normal termination.
- the value of the No of Values field is "2".
- the Value field contains instance data of Node11 and Node12 shown in FIGS.
- FIG. 59 is a diagram showing a graph search procedure.
- App API1 sends a graph resolution request message to App API2 in IoTSP2 (step S901).
- FIG. 60 shows the graph resolution request message.
- the value of the ID field is "IdIoTSP_1".
- the value of the Credential field is "CredIoTSP_1”.
- the value of the IoTSP ID field is "IdIoTSP_2”.
- the value of the No of Queries field is "1".
- the content of the Query field is to search for a node that is installed in the Pseudo Sink 21 and capable of measuring temperature.
- FIG. 61 shows an authentication authorization request message.
- the value of the ID field is "IdIoTSP_1”.
- the value of the Credential field is "CredIOTSP_1”.
- AAA Server 2 When AAA Server 2 receives the authentication authorization request message, it verifies the authenticity and authority of the entity indicated by the ID field. If the confirmation succeeds, AAA Server 2 sends an authentication authorization response message to App API 2 (step S903).
- FIG. 13 shows an authentication authorization response message.
- App API2 When App API2 receives the authentication authorization response message, it sends a graph search request message to Query Server2 (step S904).
- FIG. 62 shows the graph search request message.
- the value of the No of Queries field is "1".
- the content of the Query field is to search for a node that is installed in the Pseudo Sink 21 and capable of measuring temperature.
- Query Server 2 When Query Server 2 receives the graph search request message, it sends the graph search request message to Graph DB 2 (step S905).
- Graph DB2 When Graph DB2 receives the graph search request message, it searches the database indicated by the Query field. Next, Graph DB 2 sends a graph search response to Query Server 2 and notifies the result of the search (step S906).
- FIG. 63 shows the graph search response message.
- the Status field is "OK" indicating normal termination. In this example, there is one Query field in the graph search request message, so the value of the No of Values field is "1".
- the value of the Value field is the instance data of Node 21 shown in FIG.
- Query Server 2 When Query Server 2 receives the graph search response message, it sends the graph search response message to App API 2 (step S907).
- App API2 When App API2 receives the graph search response message, it sends a graph solution response message to App API1 (step S908).
- FIG. 64 shows the graph resolution response message.
- the value of the Status field is "OK" indicating normal termination.
- the values of the No of Values field and the Value field are the same as those of the graph search response message shown in FIG.
- step S901, S908 the interface between App API1 and App API12
- step S904, S907 the interface between App API2 and Query Server2
- the data solution shown in FIG. 47 is a process of obtaining measured values from the designated Node, measurement item, and measurement time.
- App API1 acquires temperature data from Node11 and Node12 by the data solution procedure shown in FIG.
- FIG. 65 is a diagram showing the data solution procedure (1).
- FIG. 66 shows the data resolution request message.
- the value of the IoTSP ID field is "IdIoTSP_1".
- the value of the No of Queries field is "2".
- Two quadruplets of Node ID field, Capability field, Start Time field, and End Time field follow.
- the value of the Node ID field is "IdNode_11”.
- the value of the Capability field is "temperature”.
- the value of the Start Time field is "February 10, 2021, 00:00:00”.
- the value of the End Time field is "February 10, 2021, 23:59:59”.
- the value of the Node ID field is "IdNode_12" and the other fields are the same.
- Query Server 1 When Query Server 1 receives the data resolution request message, it sends a data search request message to Sensing DB 1 (step S1002).
- FIG. 67 shows the data search request message.
- the values of the No of Queries field, Node ID field, Capability field, Start Time field, and End Time field are the same as those of the data resolution request message shown in FIG.
- Sensing DB1 When Sensing DB1 receives the data search request message, it searches the database indicated by the Query field. Next, Sensing DB 1 transmits a data search response to Query Server 1 and notifies the result of the search (step S1003).
- FIG. 68 shows the data search response message.
- the Status field is "OK" indicating normal termination.
- the No of Values field indicates the number of data serving as answers.
- the 4-tuples of the Node ID field, the Capability field, the Timestamp field, and the Value field continue for the number of values in the No of Values field.
- Query Server 1 When Query Server 1 receives the data search response message, it sends a data resolution response message to App API 1 (step S1004).
- FIG. 69 shows the data resolution response message. Fields other than the Type field are the same as those of the data resolution response message shown in FIG.
- FIG. 70 is a diagram showing the data solution procedure (2).
- FIG. 71 shows the data resolution request message.
- the value of the ID field is "IdIoTSP_1".
- the value of the Credential field is "CredIoTSP_1".
- the value of the IoTSP ID field is "IdIoTSP_2”.
- the value of the No of Queries field is "1".
- the value of the Node ID field is "IdNode_21”.
- the value of the Capability field is "temperature”.
- the value of the Start Time field is "February 10, 2021, 00:00:00”.
- the value of the End Time field is "February 10, 2021, 23:59:59”.
- App API2 When App API2 receives the data resolution request message, it sends an authentication authorization request message to AAA Server2 (step S1102).
- FIG. 61 shows an authentication authorization request message.
- AAA Server 2 When AAA Server 2 receives the authentication authorization request message, it verifies the authenticity and authority of the entity indicated by the ID field. When the confirmation succeeds, AAA Server 2 sends an authentication authorization response message to App API 2 (step S1103).
- FIG. 13 shows an authentication authorization response message.
- App API2 When App API2 receives the authentication authorization response message, it sends a data search request message to Query Server2 (step S1104).
- FIG. 72 shows the data retrieval request message.
- the values of the No of Queries field, Node ID field, Capability field, Start Time field, and End Time field are the same as those of the data resolution request message shown in FIG.
- Query Server 2 When Query Server 2 receives the data search request message, it sends the data search request message to Sensing DB 2 (step S1105).
- Sensing DB2 When Sensing DB2 receives the data search request message, it searches the database indicated by the Query field. Next, Sensing DB 2 transmits a data search response to Query Server 2 and notifies the result of the search (step S1106).
- FIG. 68 shows the data search response message.
- Query Server 2 When Query Server 2 receives the data search response message, it sends the data search response message to App API 2 (step S1107).
- App API2 When App API2 receives the data search response message, it sends a data resolution response message to App API1 (step S1108).
- FIG. 69 shows the data resolution response message.
- FIG. 73 is an explanatory diagram showing a functional configuration example of the information processing device 100 according to the embodiment of the present disclosure.
- FIG. 73 shows the functional conceptual configuration of the information processing apparatus 100, which is a computer that can function as an IoTSP, node, module, etc., and imposes physical restrictions on the configuration of the information processing apparatus 100. isn't it. Therefore, the information processing apparatus 100 may be physically composed of one device, or may be physically composed of a plurality of devices. When composed of multiple devices, each device may be scattered at various locations. Further, when configured by a plurality of devices, each device may function as an individual information processing device 100 or may virtually function as one information processing device 100 .
- the information processing device 100 includes a communication section 110, a storage section 120, and a control section .
- the communication unit 110 executes communication with another information processing device 100, for example, communication with another IoTSP if the information processing device 100 is regarded as one IoTSP.
- the form of communication may be wired or wireless. From the communication unit 110, each of the above-described messages and the like is transmitted from a predetermined port to another information processing apparatus 100 under the control of the control unit 130 and received at a predetermined port.
- the storage unit 120 stores various information and programs used in the IoTSP linkage architecture described above.
- the storage unit 120 stores the above-mentioned Graph DB, Sensing DB, and the like.
- the storage unit 120 stores an information processing program according to the embodiment of the present disclosure.
- the storage unit 120 can be composed of semiconductor memory devices such as RAM (Random Access Memory) and flash memory, storage devices such as hard disks and optical discs, auxiliary storage devices such as SSDs (Solid State Drives), and the like.
- the control unit 130 is configured by a processor such as a CPU (Central Processing Unit), for example, and by executing the information processing program according to the embodiment of the present disclosure stored in the storage unit 120 using the RAM as a work area, Various processes are executed based on the architecture of the IoTSP cooperation described above. For example, the control unit 130 performs Node installation processing, Node removal processing, configuration change notification processing between IoTSPs, based on various requests from users, that is, User1 and Admin1, or automatically, and Executes sensor data notification processing, data acquisition processing by IoT App, Pseudo Sink resolution processing, node resolution processing, data resolution processing, etc.
- a processor such as a CPU (Central Processing Unit)
- control unit 130 via the communication unit 110 based on the identifier of the other IoTSP included in the acquisition request of the user via the application and the policy information indicating whether information can be shared between the IoTSP, from the other IoTSP sensor It retrieves data and uses a protocol interface that includes the same procedures between the application and IoTSP1 when retrieving the sensor data.
- the user makes various requests to the information processing apparatus 100 via, for example, a user terminal (not shown).
- a user terminal is a terminal device used by a user.
- the user terminal is, for example, a mobile phone including a smart phone, a tablet terminal, a desktop PC, a notebook PC, or an information processing device such as a PDA (Personal Digital Assistant).
- User terminals also include wearable devices, which are spectacle-type or watch-type information processing terminals.
- the user terminal acquires various information according to the operation by the user and the functions of the user terminal (for example, the function of executing an application for using the service provided by each IoTSP, the browser function, etc.) Generate and transmit information according to the information received.
- the functions of the user terminal for example, the function of executing an application for using the service provided by each IoTSP, the browser function, etc.
- the user terminal presents an area range specification screen and causes User1 to specify the solid line range shown in FIG. 48 during data acquisition processing by the IoT APP.
- an information processing apparatus is provided that can easily realize cooperation between IoTSPs.
- each step in the processing executed by each device in this specification does not necessarily have to be processed chronologically in the order described as a sequence diagram or flowchart.
- each step in the process executed by each device may be processed in an order different from the order described as the flowchart, or may be processed in parallel.
- the information processing apparatus 100 is an information processing apparatus that operates as an IoTSP1 (corresponding to an example of a "first IoTSP") that provides a service that allows a user to acquire sensor data.
- IoTSP1 corresponding to an example of a "first IoTSP”
- a control unit 130 that searches for the sensor data and responds to the user with the searched sensor data, and the control unit 130 controls the identifier of the other IoTSP included in the acquisition request and information sharing between IoTSP
- the sensor data is retrieved from the other IoTSP via the communication unit 110 based on the policy information indicating whether or not it is possible, and when retrieving the sensor data, a protocol interface including the same procedure as between the application and the IoTSP1 is used.
- the information processing apparatus 100 by unifying the interface of the IoT system (IoTSP) into a query language (for example, GraphQL), cooperation between IoTSPs is facilitated, and implementation of each IoTSP Differences can be hidden.
- IoT system IoTSP
- a query language for example, GraphQL
- the App API is introduced between the IoT application and the IoTSP, and the App API converts the request from the application into a query language, making the application easier.
- the proposed interface consists of queries to the graph database (Graph DB) and queries to the time series database (Sensing DB).
- the query language GraphQL and the GraphQL server are used.
- the information processing apparatus 100 also considers cooperation with a sensor provider that provides only sensors. Therefore, according to the information processing apparatus 100 according to the embodiment of the present disclosure, the sensor data collected by the sensor provider can be stored in the IoTSP Sensing DB via the Pseudo Sink.
- the information processing apparatus 100 realizes cooperation between IoTSPs by sharing the information of the Pseudo Sink among the configuration information of the IoTSPs between the IoTSPs.
- the Pseudo Sink contains information on the location where the sensor node is installed, but does not contain information on the sensor node itself, so it is considered to be the minimum necessary information to be shared between IoTSPs.
- the amount of information to be exchanged between IoTSPs is suppressed as much as possible, and cooperation between IoTSPs is enabled without exposing too much configuration information inside the IoTSPs.
- the IoTSP that owns the information of the Pseudo Sink and Node can set a public policy.
- the Policy field is specified for the IoTSP level (for example, the values "IdIoTSP_ALL" and "except IdIoTSP_3" specify that disclosure is possible to all IoTSPs except IoTSP3).
- such designation is not limited to the IoTSP level, and may be designated by the data level such as the Node level or the Capability level. That is, disclosure/non-disclosure may be specified for each Node in the IoTSP, or disclosure/non-disclosure may be specified for each capability level such as “temperature” or “humidity”. As a result, information protection settings can be made on a detailed level such as for each Node or for each capability level.
- IoTSP1 always forms a mesh network without making a one-to-one connection to other IoTSP2, 3, 4 . . . It is possible to perform IoTSP without
- IoTSP1 can indirectly acquire necessary sensor data from, for example, IoTSP4 through a linearly connected connection relationship, but not necessarily directly from other IoTSP5. It does not limit the acquisition of sensor data that is Therefore, the IoTSP 1 may acquire necessary sensor data directly as appropriate according to the relationship between the IoTSPs, for example, the contractual relationship.
- the contractual relationship referred to here includes examples such as those shown in FIGS. 77 and 78.
- FIG. 77 for example, when two IoTSPs each include the same type of sensor and are in a so-called equal relationship, a contractual relationship in which data is provided free of charge to each other in business can also be established.
- IoTSP2 when the sensor group included in one of the two IoTSPs (IoTSP2) is more substantial than the other (IoTSP1), it can be said that IoTSP2 is the main and IoTSP1 is the secondary. It is easy to become a master-servant relationship. In such a case, from a business point of view, a contractual relationship in which IoTSP2 provides data to IoTSP1 for a fee may also be established.
- IoTSP1 may indirectly acquire necessary data from other equivalent IoTSPs including IoTSP2.
- IoTSP1 may always obtain necessary data directly from IoTSP5.
- the present technology can also take the following configuration.
- An information processing device that operates as a first IoTSP that provides a service that allows a user to acquire sensor data, a communication unit that performs communication with a second IoTSP other than the first IoTSP; a control unit that searches for the sensor data corresponding to the acquisition request of the user via an application and responds to the user with the searched sensor data, The control unit Searching for the sensor data from the second IoTSP via the communication unit based on the identifier of the second IoTSP included in the acquisition request and policy information indicating whether or not information can be shared between IoTSPs, and acquiring the sensor data
- An information processing device that uses a protocol interface that includes the same procedures as between the application and the first IoTSP when retrieving.
- the control unit The information processing apparatus according to (1), wherein the sensor data is obtained indirectly from the second IoTSP via a third IoTSP other than the first IoTSP and the second IoTSP.
- the third IoTSP The information processing device according to (2), wherein one or more are connected in a straight chain between the first IoTSP and the second IoTSP.
- the control unit The information processing device according to (3), which executes the same procedure using a query language.
- the first IoTSP and the second IoTSP are Each has a first database that stores configuration information of each and a second database that stores the sensor data of the sensor nodes managed by each,
- the control unit The information processing device according to (4), wherein the sensor data is obtained by querying the first database and the second database using the query language.
- the configuration information includes the policy information; the policy information of the first IoTSP is set by an administrator of the first IoTSP;
- the control unit The information processing apparatus according to (5), wherein the configuration information is shared between the second IoTSP and the third IoTSP, which are allowed to share the information, based on the policy information.
- the control unit When the configuration information of the first IoTSP is changed, change registration using the query language to the first database of each of the second IoTSP and the third IoTSP that allows the information sharing.
- the information processing device according to (6), wherein the configuration information of the first IoTSP is shared upon request.
- the configuration information includes: According to any one of (5) to (8) above, having a data structure that expresses the relationship between the geographic information about the area managed by the first IoTSP and the sensor node managed in the area by an ontology.
- the configuration information includes: The information processing apparatus according to (9), having the data structure represented by the ontology in which classes are the area, the sensor node, and a point installed in the area and terminating the sensor node. (11)
- the control unit The information processing apparatus according to (10), wherein the sensor data corresponding to the point included in the search range specified by the user via the application is searched. (12)
- the sensor node is The information processing apparatus according to (10) or (11), including a moving body that is temporarily connected to the point.
- a first information processing device which is the information processing device according to any one of (1) to (12); and a second information processing device that operates as the second IoTSP.
- An information processing method using an information processing device that operates as a first IoTSP that provides a service that allows a user to acquire sensor data, performing communication with a second IoTSP other than the first IoTSP; retrieving the sensor data corresponding to the acquisition request of the user via an application, and responding to the user with the retrieved sensor data; Said responding includes: Searching the sensor data from the second IoTSP through executing the communication based on the identifier of the second IoTSP included in the acquisition request and policy information indicating whether information can be shared between IoTSPs, A method of information processing using a protocol interface including the same procedures as between said application and said first IoTSP when retrieving sensor data.
- An information processing program for functioning a computer that operates as a first IoTSP that provides a service that allows a user to acquire sensor data, to the computer; performing communication with a second IoTSP other than the first IoTSP; searching for the sensor data corresponding to the acquisition request of the user via an application, and responding to the user with the searched sensor data; Said responding includes: Searching the sensor data from the second IoTSP through executing the communication based on the identifier of the second IoTSP included in the acquisition request and policy information indicating whether information can be shared between IoTSPs, An information processing program that uses a protocol interface that includes the same procedures as between said application and said first IoTSP when retrieving sensor data.
Landscapes
- Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Library & Information Science (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Medical Informatics (AREA)
- Development Economics (AREA)
- General Business, Economics & Management (AREA)
- Business, Economics & Management (AREA)
- Health & Medical Sciences (AREA)
- Economics (AREA)
- Accounting & Taxation (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
情報処理装置(100)は、センサデータをユーザへ取得させるサービスを提供するIoTSP1(「第1のIoTSP」の一例に相当)として動作する情報処理装置であって、他のIoTSP(「第1のIoTSP以外の第2のIoTSP」の一例に相当)との間の通信を実行する通信部(110)と、アプリケーションを介した上記ユーザの取得要求に該当する上記センサデータを検索し、検索した上記センサデータを上記ユーザに対し応答する制御部(130)とを備え、制御部(130)は、上記取得要求に含まれる上記他のIoTSPの識別子およびIoTSP間の情報共有の可否を示すポリシ情報に基づいて通信部(110)を介し上記他のIoTSPから上記センサデータを検索し、当該センサデータの検索時に、上記アプリケーションおよびIoTSP1間と同一の手続きを含むプロトコルインタフェースを用いる。
Description
本開示は、情報処理装置、情報処理システム、情報処理方法、および情報処理プログラムに関する。
従来、あらゆるモノをインターネットに接続するIoT(Internet of Things)は、モノからの情報を収集してビッグデータとして活用することを可能にする。例としては、工場設備の情報収集、在庫情報収集、環境情報収集などがある(例えば、非特許文献1参照)。
一方、IoTシステムではさまざまなデバイスを利用するため、オントロジを定義してデバイスの属性やデバイス間の関係を定義し、デバイスへの統一的なアクセス方法を実現している例もある(例えば、非特許文献2参照)。
ところで、多くのIoTシステムはそれ自体で閉じて利用されているが、複数のIoTシステムが連携することにより、より高度なサービスをユーザに提供可能であると考えられる。なお、ここに言う「ユーザ」は、IoTシステムが提供するサービスを利用する人、ならびに人以外にもIoTシステムと接続・通信するモノ(IoTデバイス、センサデバイス、Machine Type Communicationデバイスなど)や、人やモノで構成された組織・事業者まで概念に含むものとする。また、商店街に設置された監視カメラなどのセンサ機器はIoTシステムとして統合されていない場合も多いが、このようなセンサ機器を既存のIoTシステムに統合して使用できれば、取得できるデータの種類が増えたり、データを取得できるエリアが広がったりする。
「oneM2M」はM2M(Machine to Machine)システムやIoTシステムの標準化団体であり、こうしたIoTシステム間の接続を定義している(例えば、非特許文献3,4参照)。また、特許文献1~5にも、IoTシステムの連携に関する各種の技術が提案されている。
なお、以下では、IoTシステムで得られたセンサデータをユーザに提供する事業者もしくは当該事業者と同視しうるシステム、装置を「IoTSP(IoT Service Provider)」と称する。また、IoTシステムとして統合されていないセンサ機器のみを保持する組織を「センサプロバイダ」と称する。
KDDI. IoT 活用事例. https://iot.kddi.com/iot/.
Cheng Xie, Beibei Yu, Zuoying Zeng, and Yun Yang. Multiplayer Internet-of-Things Middleware Based on Knowledge Graph. IEEE Internet of Things Journal, Vol. 8, No. 4, pp. 2635-2648, 2021.
oneM2M. oneM2M Technical Specification: Functional Architecture, February 2021. TS-0001-V4.10.1.
oneM2M. Standards for M2M and the Internet of Things. https://onem2m.org.
しかしながら、上述した従来技術には、複数のIoTSPやセンサプロバイダの連携を容易に実現するうえで、さらなる改善の余地がある。
そこで、本開示では、複数のIoTSPやセンサプロバイダの連携を容易に実現することが可能な、新規かつ改良された情報処理装置、情報処理システム、情報処理方法、および情報処理プログラムを提案する。
本開示によれば、センサデータをユーザへ取得させるサービスを提供する第1のIoTSPとして動作する情報処理装置であって、前記第1のIoTSP以外の第2のIoTSPとの間の通信を実行する通信部と、アプリケーションを介した前記ユーザの取得要求に該当する前記センサデータを検索し、検索した前記センサデータを前記ユーザに対し応答する制御部とを備え、前記制御部は、前記取得要求に含まれる前記第2のIoTSPの識別子およびIoTSP間の情報共有の可否を示すポリシ情報に基づいて前記通信部を介し前記第2のIoTSPから前記センサデータを検索し、当該センサデータの検索時に、前記アプリケーションおよび前記第1のIoTSP間と同一の手続きを含むプロトコルインタフェースを用いる、情報処理装置が提供される。
また、本開示によれば、センサデータをユーザへ取得させるサービスを提供する第1のIoTSPとして動作する情報処理装置を用いた情報処理方法であって、前記第1のIoTSP以外の第2のIoTSPとの間の通信を実行することと、アプリケーションを介した前記ユーザの取得要求に該当する前記センサデータを検索し、検索した前記センサデータを前記ユーザに対し応答することとを含み、前記応答することは、前記取得要求に含まれる前記第2のIoTSPの識別子およびIoTSP間の情報共有の可否を示すポリシ情報に基づいて前記通信を実行することを介し前記第2のIoTSPから前記センサデータを検索し、当該センサデータの検索時に、前記アプリケーションおよび前記第1のIoTSP間と同一の手続きを含むプロトコルインタフェースを用いる、情報処理方法が提供される。
また、本開示によれば、センサデータをユーザへ取得させるサービスを提供する第1のIoTSPとして動作するコンピュータを機能させるための情報処理プログラムであって、前記コンピュータに、前記第1のIoTSP以外の第2のIoTSPとの間の通信を実行すること、アプリケーションを介した前記ユーザの取得要求に該当する前記センサデータを検索し、検索した前記センサデータを前記ユーザに対し応答することを実行させ、前記応答することは、前記取得要求に含まれる前記第2のIoTSPの識別子およびIoTSP間の情報共有の可否を示すポリシ情報に基づいて前記通信を実行することを介し前記第2のIoTSPから前記センサデータを検索し、当該センサデータの検索時に、前記アプリケーションおよび前記第1のIoTSP間と同一の手続きを含むプロトコルインタフェースを用いる、情報処理プログラムが提供される。
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書および図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
また、以下では、複数のIoTSPやセンサプロバイダを連携させることを「IoTSP連携」と称する。
また、説明は以下の順序で行うものとする。
1.本開示の実施の形態
1.1.IoTSP連携を実現するうえでの問題点
1.2.問題点の整理と解決策のポイント
1.3.既存技術との比較
1.4.IoTSP連携の具体的な説明
1.4.1.地理情報の表現方法
1.4.2.Area,Pseudo Sink,Node,Mobile Nodeのオントロジによる表現
1.4.3.システム構成
1.4.4.識別子および信用情報の定義
1.4.5.メッセージのフィールドの定義
1.4.6.インスタンスデータのフィールドの定義
1.4.7.Areaインスタンス
1.4.8.Nodeの設置
1.4.9.Nodeの撤去
1.4.10.IoTSP間での構成変更の通知
1.4.11.Nodeからのセンサデータ通知(1)
1.4.12.Nodeからのセンサデータ通知(2)
1.4.13.Nodeからのセンサデータ通知(3)
1.4.14.IoT Appによるデータ取得
1.4.15.Pseudo Sink解決手順
1.4.16.ノード解決手順
1.4.17.データ解決手順(1)
1.4.18.データ解決手順(2)
1.5.情報処理装置の機能構成例
2.まとめ
2.1.効果
2.2.変形例
1.本開示の実施の形態
1.1.IoTSP連携を実現するうえでの問題点
1.2.問題点の整理と解決策のポイント
1.3.既存技術との比較
1.4.IoTSP連携の具体的な説明
1.4.1.地理情報の表現方法
1.4.2.Area,Pseudo Sink,Node,Mobile Nodeのオントロジによる表現
1.4.3.システム構成
1.4.4.識別子および信用情報の定義
1.4.5.メッセージのフィールドの定義
1.4.6.インスタンスデータのフィールドの定義
1.4.7.Areaインスタンス
1.4.8.Nodeの設置
1.4.9.Nodeの撤去
1.4.10.IoTSP間での構成変更の通知
1.4.11.Nodeからのセンサデータ通知(1)
1.4.12.Nodeからのセンサデータ通知(2)
1.4.13.Nodeからのセンサデータ通知(3)
1.4.14.IoT Appによるデータ取得
1.4.15.Pseudo Sink解決手順
1.4.16.ノード解決手順
1.4.17.データ解決手順(1)
1.4.18.データ解決手順(2)
1.5.情報処理装置の機能構成例
2.まとめ
2.1.効果
2.2.変形例
<1.本開示の実施の形態>
[1.1.IoTSP連携を実現するうえでの問題点]
本開示の実施の形態について詳細に説明する前に、まずIoTSP連携を実現するうえでの問題点について具体的に説明する。図1は、oneM2Mのアーキテクチャを示す図である。また、図2は、oneM2MにおけるCSE(Common Services Entity)を示す図である。
[1.1.IoTSP連携を実現するうえでの問題点]
本開示の実施の形態について詳細に説明する前に、まずIoTSP連携を実現するうえでの問題点について具体的に説明する。図1は、oneM2Mのアーキテクチャを示す図である。また、図2は、oneM2MにおけるCSE(Common Services Entity)を示す図である。
図1および図2に示すように、各oneM2Mサービスプロバイダには1台のIN(Infrastructure Node)が存在し、IN内にはCSEが存在する。IN内のCSE(IN-CSE)が持つMcc’というインタフェースで他のoneM2Mサービスドメインと接続する。図2に示すようにCSEは多くの機能を含み、複雑なため、oneM2Mサービスプロバイダ間の接続は容易ではない。したがって、IoTシステム間の接続、すなわちIoTSP連携を実現するには、IoTシステム間のインタフェースを簡素にする必要があると言える。
また、IoTSP同士が連携するには、各IoTSPがカバーするエリアやセンサの設置場所などの管理情報やセンサの測定データを相互に交換する必要がある。管理情報や測定データの交換においては、情報を公開するIoTSPが公開先のIoTSPを決定可能であることが求められる。
[1.2.問題点の整理と解決策のポイント]
こうしたIoTSP連携における問題点について整理し、解決策のポイントをまとめると、まず、oneM2MではIoTシステムが連携するうえでのインタフェースを定義しているが、とても複雑であり、実装が困難である。そこで、本開示の実施の形態では、IoTシステム(IoTSP)のインタフェースをクエリ言語(例えばGraphQL)に統一することによりIoTSP間の連携を容易にすることとした。具体的には、提案するインタフェースはグラフデータベースへの問合せと時系列データベースへの問合せにより構成される。また、アプリケーションとIoTSP間にApp API(Application Programming Interface)を導入し、App APIがアプリケーションからの要求をクエリ言語に変換することにより、アプリケーションも容易にIoTSPにアクセスできるようにする。
こうしたIoTSP連携における問題点について整理し、解決策のポイントをまとめると、まず、oneM2MではIoTシステムが連携するうえでのインタフェースを定義しているが、とても複雑であり、実装が困難である。そこで、本開示の実施の形態では、IoTシステム(IoTSP)のインタフェースをクエリ言語(例えばGraphQL)に統一することによりIoTSP間の連携を容易にすることとした。具体的には、提案するインタフェースはグラフデータベースへの問合せと時系列データベースへの問合せにより構成される。また、アプリケーションとIoTSP間にApp API(Application Programming Interface)を導入し、App APIがアプリケーションからの要求をクエリ言語に変換することにより、アプリケーションも容易にIoTSPにアクセスできるようにする。
また、IoTSPにはセンサ搭載機器であるセンサノードの他に、クエリを受け付けるサーバやデータベースなどが必要になる。そこで、本開示の実施の形態では、センサノードは所有しているが、IoTSPとして運用することが困難な個人や小規模組織をセンサプロバイダと位置付け、センサプロバイダがIoTSPにセンサデータを提供(販売)するアーキテクチャを提案することとした。具体的には、センサプロバイダ内に設置したPseudo SinkとIoTSP内に設置したPseudo Sinkが協調し、センサプロバイダのセンサデータをIoTSPに提供する。
また、IoTSPが連携する際、IoTSP間での情報の共有が必要である。そこで、本開示の実施の形態では、あらかじめ決められた経路にしたがって共有情報を伝播させることとした。なお、その際、情報の発信元のIoTSPはどのIoTSPとは情報を共有し、どのIoTSPとは情報を共有しないというポリシを持つことが考えられる。この点については、本開示の実施の形態では、Pseudo SinkインスタンスやNodeインスタンスのデータプロパティとしてpolicyというフィールドを設け、policyフィールドに共有を許可するIoTSP、あるいは共有を許可しないIoTSPを記述できるようにした。
[1.3.既存技術との比較]
なお、上記した特許文献1は、ロボットとIoTプラットフォームの接続、および異なるIoTプラットフォーム間の接続のための接続装置を提案している。これに対し、本開示の実施の形態では、接続装置を用いることなくIoTプラットフォーム(IoTSP)間を接続する。
なお、上記した特許文献1は、ロボットとIoTプラットフォームの接続、および異なるIoTプラットフォーム間の接続のための接続装置を提案している。これに対し、本開示の実施の形態では、接続装置を用いることなくIoTプラットフォーム(IoTSP)間を接続する。
また、IoTネットワークでは多様な端末が接続するため、IoTサービス毎にVPN(Virtual Private Network)等の閉域網を構築し、サービス間での相互干渉を防止する手法が一般的であるが、IoT端末への機能追加が必要になる。上記した特許文献2はIoT端末への機能追加を不要にするため、ネットワーク側に中継装置等を設定する手法を提案している。中継装置等は名前解決、L3アドレス割り当て、構成情報配布などの機能を有する。これに対し、本開示の実施の形態では、IoT端末がIoTネットワーク(IoTSP)に適切に接続していることを前提とし、IoTネットワーク(IoTSP)間の接続に焦点を当てている。
また、温湿度センサ等のIoT機器をネットワークにつなげるIoTゲートウェイが知られている。このようなIoT機器のセキュリティ対策として、許可する通信をリスト化したホワイトリストをIoTゲートウェイに設置する方法が取られる。特許文献3はIoTゲートウェイに迅速にホワイトリストを作成する手法を提案している。これに対し、本開示の実施の形態では、IoT端末がIoTネットワーク(IoTSP)に安全に接続していることを前提とし、IoTネットワーク(IoTSP)間の接続に焦点を当てている。
また、IoTデバイスがゲートウェイ等のエッジノードを介してインターネットに接続する形態において、同一地点で異なる事業者A,Bが設置するIoTデバイスによるモニタや制御が行われることが予想される。このような形態では事業者A,Bはネットワークを分離したいと考える。特許文献4はこのようなネットワーク分離を実現する手法を提案している。これに対し、本開示の実施の形態では、IoT端末がIoTネットワーク(IoTSP)に安全に接続していることを前提とし、IoTネットワーク(IoTSP)間の接続に焦点を当てている。
また、Wi-Fi(登録商標)ネットワークなどのアクセスクレデンシャルを必要とする制限されたネットワークにデバイスを接続するには、ユーザは利用できるネットワークをスキャンし、利用できるネットワークへの接続要求をしてからネットワークに接続するためのクレデンシャルを手動で入力する。特許文献5は、アクセスクレデンシャルを必要とする制限されたネットワークに対する自動構成を可能にするために、デバイスを自動的に接続可能にするための手法を提案している。これに対し、本開示の実施の形態では、IoT端末がIoTネットワーク(IoTSP)に安全に接続していることを前提とし、IoTネットワーク(IoTSP)間の接続に焦点を当てている。
なお、IoTSP連携により、以下のような利点が生じる。まず、例えば気象データ(温度、湿度、風向、風速、気圧等)をユーザに提供するIoTSPや、気象データを測定するセンサ機器を有するセンサプロバイダの連携、すなわち同種センサデータを提供するIoTSPやセンサプロバイダの連携を想定する。ここで、あるIoTSP(IoTSP-A)は関東地方をカバーしており、別のIoTSP(IoTSP-B)は東北地方をカバーしているとする。また、センサプロバイダ-AはIoTSP-Aに測定した気象データを提供しているとする。かかる場合、IoTSP-A、IoTSP-B、センサプロバイダ-Aが連携することにより、ユーザはより広範囲な地域における気象データを得ることができる。
また、上記のIoTSP-Aに加え、例えば関東地方での各繁華街における人出のデータを提供するIoTSP-Cの連携、すなわち異種センサデータを提供するIoTSPやセンサプロバイダの連携を想定する。かかる場合、IoTSP-AとIoTSP-Cが連携することにより、ユーザは気象状況と人出の関係を知ることができる。以下、IoTSP連携を実現するための構成例について、具体的に説明する。
[1.4.IoTSP連携の具体的な説明]
(1.4.1.地理情報の表現方法)
センサを搭載した機器を「Node」と呼ぶこととする。IoTシステムではNodeが実空間に設置されるため、位置情報の扱い方が重要な役割を果たす。Nodeは固定して設置されることを想定している。一方、自動車やスマートフォンなどのセンサを搭載して移動するNodeを「Mobile Node」と呼ぶこととする。なお、以下では、Nodeを「ノード」とカタカナで表記する場合がある。Node(ノード)は、「センサノード」の一例に相当する。
(1.4.1.地理情報の表現方法)
センサを搭載した機器を「Node」と呼ぶこととする。IoTシステムではNodeが実空間に設置されるため、位置情報の扱い方が重要な役割を果たす。Nodeは固定して設置されることを想定している。一方、自動車やスマートフォンなどのセンサを搭載して移動するNodeを「Mobile Node」と呼ぶこととする。なお、以下では、Nodeを「ノード」とカタカナで表記する場合がある。Node(ノード)は、「センサノード」の一例に相当する。
本開示の実施の形態では、地理的な領域(Area)を経線と緯線で囲まれた0.1分(6秒)四方の矩形で表現する。緯度経度の0.1分は、日本付近では約185mとなる。なお、Areaの1辺の長さは任意でよい。NodeやMobile Nodeはセンサデータを無線通信で送信するが、Nodeからの無線通信を終端して有線ネットワークに接続するモジュールとして「Pseudo Sink」を導入する。無線基地局がPseudo Sinkの役割を果たしてもよいし、Pseudo Sinkとしての専用機器を設置してもよい。Pseudo SinkはArea内に設置され、緯度経度の情報を持つ。
(1.4.2.Area,Pseudo Sink,Node,Mobile Nodeのオントロジによる表現)
本開示の実施の形態では、地理情報とノードの関係をオントロジにより表現する。オントロジでは、物事の関係を主語(subject)、述語(property)、目的語(object)の三つ組みで表現する。目的語は別の三つ組みの主語になり得るので、物事の関係は網目状に広がっていく。物事の型を「クラス」と呼び、具体的な物事は該当するクラスの「インスタンス」として表現する。クラス間やインスタンス間の関係を表す述語を「オブジェクトプロパティ(object property)」と呼び、クラスやインスタンスとその属性との関係を表す述語を「データプロパティ(data property)」と呼ぶ。
本開示の実施の形態では、地理情報とノードの関係をオントロジにより表現する。オントロジでは、物事の関係を主語(subject)、述語(property)、目的語(object)の三つ組みで表現する。目的語は別の三つ組みの主語になり得るので、物事の関係は網目状に広がっていく。物事の型を「クラス」と呼び、具体的な物事は該当するクラスの「インスタンス」として表現する。クラス間やインスタンス間の関係を表す述語を「オブジェクトプロパティ(object property)」と呼び、クラスやインスタンスとその属性との関係を表す述語を「データプロパティ(data property)」と呼ぶ。
図3にAreaクラス、Pseudo Sinkクラス、Nodeクラス、Mobile Nodeクラスの関係を示す。図3は、Area,Pseudo Sink,Node,Mobile Nodeの各クラス間の関係を示す図である。Areaクラスは、「isEastOf(東に隣接する)」、「isWestOf(西に隣接する)」、「isSouthOf(南に隣接する)」、「isNorthOf(北に隣接する)」というオブジェクトプロパティを持ち、Areaインスタンス間の東西南北の隣接関係を表現する。AreaクラスはArea ID(Area識別子)、SW Lat,Lon(南西隅の緯度経度)、NW Lat,Lon(北東隅の緯度経度)、Description(注釈)などのデータプロパティを持つ。Areaインスタンスの注釈の例としては、「東京都品川区内」などが考えられる。また、Areaクラスは「contains(包含する)」というオブジェクトプロパティによりPseudo Sinkインスタンスとの関係を表す。
Pseudo SinkクラスはIoTSP ID(IoTSP識別子)、Pseudo Sink ID(Pseudo Sink識別子)、Lat,Lon(緯度経度)、Description(注釈)、Policy(他のIoTSPへの管理情報開示に関するポリシ)などのデータプロパティを持つ。Pseudo Sinkインスタンスの注釈の例としては、「大崎駅」などが考えられる。Policyの例としては、当該Pseudo Sinkインスタンスの情報開示を許可するIoTSP識別子のリストなどが考えられる。Pseudo Sinkクラスは「isInstalledIn(設置されている)」というオブジェクトプロパティによりAreaインスタンスとの関係を表し、「collectsDataFrom(データを収集する)」というオブジェクトプロパティによりNodeインスタンスとの関係を表す。
NodeクラスはNode ID(Node識別子)、Capabilities(機能)、Description(注釈)、Policy(他のIoTSPへの情報開示の可否)などのデータプロパティを持つ。Nodeクラスは、「isCollocatedWith(同一Pseudo Sinkに設置されている)」というオブジェクトプロパティによりNodeインスタンス間の関係を表し、「sendsDataTo(データを送信する)」というオブジェクトプロパティによりPseudo Sinkインスタンスの関係を表す。
NodeクラスのサブクラスとしてMobile Nodeクラスを定義する。Mobile NodeサブクラスはNodeクラスが持つデータプロパティに加えてIoTSP ID(IoTSP識別子)、Date,Time(日付と時刻)、Lat,Lon(緯度経度)、Credential(認証情報)などのデータプロパティを持つ。
図4にAreaインスタンス、Pseudo Sinkインスタンス、Nodeインスタンス、Mobile Nodeインスタンスの関係の例を示す。図4は、Area,Pseudo Sink,Node,Mobile Nodeの各インスタンス間の関係を示す図である。Area11は隣接するArea12~15とは「isEastOf」、「isWestOf」、「isSouthOf」、あるいは「isNorthOf」というオブジェクトプロパティで接続している。さらにArea11はPseudo Sink11と「contains」および「isInstalledIn」というオブジェクトプロパティで接続している。Pseudo Sink11はNode11およびNode12と「CollectsDataFrom」および「sendsDataTo」というオブジェクトプロパティで接続している。また、Node11とNode12は「isCollocatedWith」というオブジェクトプロパティで接続している。さらにPseudo Sink11はMobile Node13と「CollectsDataFrom」および「sendsDataTo」というオブジェクトプロパティで接続している。この例では、Mobile Node13は移動中にPseudo Sink11の無線通信圏内に入ったため、一時的にPseudo Sink11と接続している。本開示の実施の形態では、以上のようなインスタンスの情報を後述するGraph DBに格納する。ただし、Mobile NodeインスタンスとPseudo Sinkインスタンスの接続関係は一時的であるので、GraphDBには格納しない。
このように表現することにより、ある1つのAreaインスタンス、Pseudo Sinkインスタンス、Nodeインスタンス、あるいはMobile Nodeインスタンスから、それと関係を持つインスタンスを順次見つけることができる。例えば、Areaインスタンスを指定することにより、その中に設置されているNodeインスタンスを検索することができる。また、Nodeインスタンスを指定することにより、そのNodeインスタンスと関係を持つ別のNodeインスタンスを知ることができる。
Area11はデータプロパティとして南西隅の緯度が「35度37分6秒」、経度が「139度43分36秒」であり、北東隅の緯度が「35度37分12秒」、経度が「139度43分42秒」という値を持つ。
Pseudo Sink11はデータプロパティとしてIoTSP識別子が「IdIoTSP_1」、Pseudo Sink識別子が「IdPSink_11」、Descriptionが「大崎駅」、緯度が「35度37分11.85秒」、経度が「139度43分41.06秒」という値を持つ。またPolicyの値は「IdIoTSP_ALL」、「except IdIoTSP_3」であり、IoTSP3を除くすべてのIoTSPに公開可能であることを示す。
Node11はデータプロパティとしてNode識別子が「IdNode_11」、Capabilityが「Temperature」と「Humidity」、Descriptionが「Outdoor Module」、Policyが「IdIoTSP_ALL(他の全IoTSPに公開)」という値を持つ。Node12もNode11と同様のデータプロパティの値を持つが、Policyの値が「IoTSP_None(他のIoTSPには非公開)」となっている。
Mobile Node13はデータプロパティとしてNode識別子が「IdNode_13」、IoTSP識別子(Mobile Node13が契約しているIoTSPの識別子)が「idIoTSP_1」、Capabilityが「Speed」、Descriptionが「Vehicle」、Date,Timeが「2021年2月10日,10時0分0秒」、緯度経度が「北緯35度37分12.0秒,東経139度43分41.0秒」、Credentialが「CredNode_13」、Policyが「IoTSP_ALL」という値を持つ。
(1.4.3.システム構成)
次に、図5に、提案するシステムの構成例を示す。図5は、本開示の実施の形態で提案するIoTSP連携システムの構成例を示す図である。IoTSP連携システムは「情報処理システム」の一例に相当する。
次に、図5に、提案するシステムの構成例を示す。図5は、本開示の実施の形態で提案するIoTSP連携システムの構成例を示す図である。IoTSP連携システムは「情報処理システム」の一例に相当する。
図5にはIoTSPが4つ(「IoTSP1」から「IoTSP4」)、センサプロバイダが1つ(「Sensor Provider5」)示されている。IoTSP1は内部の詳細を示しており、IoTSP2からIoTSP4は内部が省略されている。IoTSPの数は4以上でもよく、センサプロバイダの数は2以上でもよい。また、この例ではIoTSP1からIoTSP4が直鎖状に接続しているが、IoTSP間の接続形態は直鎖状に限らない。この接続は論理的なものであり、安全な通信路で接続されているとする。またすべてのIoTSPはIoTSP間の接続関係を認識しているものとする。例えば各IoTSPの管理者がIoTSP間の接続関係を決定し、それぞれのIoTSP内に登録するなどの方法が考えられる。この例では、すべてのIoTSPはIoTSP1からIoTSP4が直鎖状に接続していることを認識しているとする。さらに各IoTSPは公開鍵暗号系における秘密鍵と公開鍵を有しているとする。秘密鍵は各IoTSPが秘匿し、公開鍵は他のすべてのIoTSPが共有しているとする。また、センサプロバイダは、本明細書では「ユーザ」の概念に含まれ得る。
UserはIoTSPと契約を結んでいるユーザである。この例では、「User1」はIoTSP1と契約を結んでおり、ユーザ用のアプリケーションである「IoT App1」を利用してIoTSP1からセンサデータ等を得る。
App APIはアプリケーション用APIであり、アプリケーションからの要求をクエリ言語に変換し、Query Serverにアクセスする。この例では、「App API1」は「IoT App1」からの要求を受付けてクエリ言語に変換し、「Query Server1」にアクセスする。さらにApp APIはクエリ言語によりIoTSP間連携を実現する。この例では、App API1はIoTSP2内の「App API2」と連携し、クエリ言語によりIoTSP1とIoTSP2間の連携を実現する。
AdminはIoTSPの管理者である。この例では、「Admin1」は管理用APIである「Admin API1」を介してIoTSP1を管理・運用する。
Query ServerはApp APIからクエリ言語を受け付け、Sensing DBやGraph DBにアクセスする。この例ではQuery Server1はApp API1からのクエリ言語を受け付け、「Sensing DB1」や「Graph DB1」にアクセスする。
AAA(Authentication, Authorization, and Accounting) Serverはユーザ、管理者、IoTSP、センサプロバイダ、Mobile Nodeの認証認可を行うモジュールである。この例では、「AAA Server1」はUser1、Admin1、「Mobile Node13」の認証認可を行う。図には示していないが、App API2内の「AAA Server2」はIoTSP1等の認証認可を行う。
Graph DBはAreaインスタンス、Pseudo Sinkインスタンス、Nodeインスタンス、Mobile Nodeインスタンスを保存するデータベースである。さらにデータベースへのインスタンス情報の登録や検索の機能も有する。この例では、Graph DB1はIoTSP1内のGraph DBである。
Sensing DBはセンサの測定値の時系列データを保存するデータベースである。さらにデータベースへのセンサデータの登録や検索の機能も有する。この例では、Sensing DB1はIoTSP1内のSensing DBである。
Pseudo SinkはNodeからセンサデータを収集するモジュールである。この例では、「Pseudo Sink11」はNode11やMobile Node13からセンサデータを収集している。さらに「Pseudo Sink51」とも接続し、Sensor Provider5からのセンサデータも収集している。
NodeやMobile Nodeはセンサを搭載した物理的モジュールである。この例では、Node11等がPseudo Sink11に接続されており、さらにMobile Node13がPseudo Sink11の無線通信範囲に入ったため、一時的にMobile Node13はPseudo Sink11に接続している。
Sensor Provider5では「Node51」がPseudo Sink51に接続しており、Pseudo Sink51はIoTSP1内のPseudo Sink11に接続している。
(1.4.4.識別子および信用情報の定義)
次に、識別子および信用情報を定義する。図5に示すIoTSP1~IoTSP4の識別子を「IdIoTSP_1」~「IdIoTSP_4」とする。IoTSP1~IoTSP4の信用情報を「CredIoTSP_1」~「CredIoTSP_4」とする。Sensor Provider5の識別子を「IdSensP_5」とする。Sensor Provider5の信用情報を「CredSensP_5」とする。Admin1の識別子を「IdAdmin_1」とする。Admin1の信用情報を「CredAdmin_1」とする。User1の識別子を「IdUser_1」とする。User1の信用情報を「CredUser_1」とする。
次に、識別子および信用情報を定義する。図5に示すIoTSP1~IoTSP4の識別子を「IdIoTSP_1」~「IdIoTSP_4」とする。IoTSP1~IoTSP4の信用情報を「CredIoTSP_1」~「CredIoTSP_4」とする。Sensor Provider5の識別子を「IdSensP_5」とする。Sensor Provider5の信用情報を「CredSensP_5」とする。Admin1の識別子を「IdAdmin_1」とする。Admin1の信用情報を「CredAdmin_1」とする。User1の識別子を「IdUser_1」とする。User1の信用情報を「CredUser_1」とする。
図4に示すArea11~Area15の識別子を「IdArea_11」~「IdArea_15」とする。Pseudo Sink11の識別子を「IdPSink_11」とする。Pseudo Sink21の識別子を「IdPSink_21」とする。Node11の識別子を「IdNode_11」とする。Node12の識別子を「IdNode_12」とする。Mobile Node13の識別子を「IdNode_13」とする。Mobile Node13の信用情報を「CredNode_13」とする。
(1.4.5.メッセージのフィールドの定義)
次に、メッセージのフィールドを定義する。「Type」フィールドはメッセージのタイプを表す。メッセージタイプには、AA Request/Response(認証認可要求/応答)、Data Registration Request/Response(データ登録要求/応答)、Data Report(データ通知)、Data Report Request/Response(データ通知要求/応答)、DataResolution Request/Response(データ解決要求/応答)、Data Retrieve Request/Response(データ取得要求/応答)、Data Search Request/Response(データ検索要求/応答)、Graph Resolution Request/Response(グラフ解決要求/応答)、Graph Search Request/Response(グラフ検索要求/応答)、Mobile Data Report(モバイルデータ通知)、Modified Data Report(変更通知)、Modified Data Registration Request/Response(更新登録要求/応答)、Modified Data Request/Response(更新情報要求/応答)、Node Delete Request/Response(ノード削除要求/応答)、Node Installation Request/Response(ノード設置要求/応答)、Node Registration Request/Response(ノード登録要求/応答)、Node Removal Request/Response(ノード撤去要求/応答)がある。
次に、メッセージのフィールドを定義する。「Type」フィールドはメッセージのタイプを表す。メッセージタイプには、AA Request/Response(認証認可要求/応答)、Data Registration Request/Response(データ登録要求/応答)、Data Report(データ通知)、Data Report Request/Response(データ通知要求/応答)、DataResolution Request/Response(データ解決要求/応答)、Data Retrieve Request/Response(データ取得要求/応答)、Data Search Request/Response(データ検索要求/応答)、Graph Resolution Request/Response(グラフ解決要求/応答)、Graph Search Request/Response(グラフ検索要求/応答)、Mobile Data Report(モバイルデータ通知)、Modified Data Report(変更通知)、Modified Data Registration Request/Response(更新登録要求/応答)、Modified Data Request/Response(更新情報要求/応答)、Node Delete Request/Response(ノード削除要求/応答)、Node Installation Request/Response(ノード設置要求/応答)、Node Registration Request/Response(ノード登録要求/応答)、Node Removal Request/Response(ノード撤去要求/応答)がある。
「Capability」フィールドはNodeが持つ機能を表す。「Credential」フィールドは信用情報を表す。信用情報とはパスワードや電子証明書などである。「Data Format ID」フィールドはセンサデータのフォーマットの識別子を表す。「End Time」フィールドは終了日時を表す。「ID」フィールドは動作を行う主体の識別子を表す。主体とはIoTSPの利用者や管理者、IoTSP自体、センサプロバイダ自体である。「IoTSP ID」フィールドはIoTSPの識別子を表す。「Lat」フィールドと「Lon」フィールドはPseudo Sinkの緯度と経度を表す。「NE Lat」フィールドと「NE Lon」フィールドはArea北東隅の緯度と経度を表す。「No of Nodes」フィールドは対象となるNodeの個数を表す。「No of Pseudo Sinks」フィールドは対象となるPseudo Sinkの個数を表す。「No of Queries」フィールドはクエリの個数を表す。「No of Values」フィールドは値の個数を表す。「Node ID」フィールドはNodeの識別子を表す。「Node Instance Data」フィールドはNodeインスタンスデータを表す。「Pseudo Sink ID」フィールドはPseudo Sinkの識別子を表す。「Pseudo Sink Instance Data」フィールドはPseudo Sinkのインスタンスデータを表す。「Query」フィールドはクエリの内容を表す。「Sensor Provider ID」フィールドはセンサプロバイダの識別子を表す。「Start Time」フィールドは開始日時を表す。「Status」フィールドは動作の終了状態を表す。「SW Lat」フィールドと「SW Lon」フィールドはArea西南隅の緯度と経度を表す。「Timestamp」フィールドは日時を表す。「Value」フィールドはクエリに対する回答を表す。
(1.4.6.インスタンスデータのフィールドの定義)
次に、インスタンスデータのフィールドを定義する。「Area ID」フィールドはAreaインスタンスの識別子を表す。「Area Instance Data」フィールドはAreaインスタンスデータの全部または一部を表す。「Capability」フィールドはNodeインスタンスが有する機能を表す。例えば「温度(temperature)」や「湿度(humidity)」などである。「collectsDataFrom」フィールドは当該Pseudo SinkインスタンスとオブジェクトプロパティであるcollectsDataFromで接続するNodeインスタンスやMobile Nodeインスタンスの識別子を表す。「contains」フィールドは当該Areaインスタンスとオブジェクトプロパティであるcontainsで接続するPseudo Sinkインスタンスの識別子を表す。「Description」フィールドはユーザにとって理解しやすい注釈を表す。例えばAreaインスタンスのDescriptionであれば「東京都品川区内」、Pseudo SinkインスタンスのDescriptionであれば「大崎駅」、NodeインスタンスのDescriptionであれば「Outdoor Module」などである。「End Time」フィールドは終了日時を表す。「isCollocatedWith」フィールドは当該NodeインスタンスとオブジェクトプロパティであるisCollocatedWithで接続するNodeインスタンスの識別子を表す。「isEastOf」フィールドは当該AreaインスタンスとオブジェクトプロパティであるisEastOfで接続するAreaインスタンスの識別子を表す。「isInstalledIn」フィールドは当該Pseudo SinkインスタンスとオブジェクトプロパティであるisInstalledInで接続するAreaインスタンスの識別子を表す。「isNorthOf」フィールドは当該AreaインスタンスとオブジェクトプロパティであるisNorthOfで接続するAreaインスタンスの識別子を表す。「isSouthOf」フィールドは当該AreaインスタンスとオブジェクトプロパティであるisSouthOfで接続するAreaインスタンスの識別子を表す。「isWestOf」フィールドは当該AreaインスタンスとオブジェクトプロパティであるisWestOfで接続するAreaインスタンスの識別子を表す。「NE Lat」フィールドと「NE Lon」フィールドはAreaインスタンスの北東隅の緯度と経度を表す。「Lat」フィールドと「Lon」フィールドはPseudo Sinkインスタンスの緯度と経度を表す。「No of Nodes」フィールドは対象となるNodeインスタンスの数を表す。「No of Pseudo Sinks」フィールドは対象となるPseudo Sinkインスタンスの数を表す。「Node ID」フィールドはNodeインスタンスやMobile Nodeインスタンスの識別子を表す。「Node Instance Data」フィールドはNode またはMobile Nodeのインスタンスデータの全部または一部を表す。「Policy」フィールドは情報を公開するIoTSPを表す。値としては、例えば公開を許可するIoTSPの識別子のリストでもよいし、すべてのIoTSPに許可する「IdIoTSP_ALL」や、すべてのIoTSPに不許可である「IdIoTSP_None」でもよい。「Pseudo Sink ID」フィールドはPseudo Sinkインスタンスの識別子を表す。「Pseudo Sink Instance Data」フィールドはPseudo Sinkインスタンスデータの全部または一部を表す。「sendsDataTo」フィールドは当該Pseudo SinkインスタンスとオブジェクトプロパティであるsendsDataToで接続するNodeインスタンスやMobile Nodeインスタンスの識別子を表す。「Start Time」フィールドは開始日時を表す。「SW Lat」フィールドと「SW Lon」フィールドはArea西南隅の緯度と経度を表す。「Timestamp」フィールドは日時を表す。
次に、インスタンスデータのフィールドを定義する。「Area ID」フィールドはAreaインスタンスの識別子を表す。「Area Instance Data」フィールドはAreaインスタンスデータの全部または一部を表す。「Capability」フィールドはNodeインスタンスが有する機能を表す。例えば「温度(temperature)」や「湿度(humidity)」などである。「collectsDataFrom」フィールドは当該Pseudo SinkインスタンスとオブジェクトプロパティであるcollectsDataFromで接続するNodeインスタンスやMobile Nodeインスタンスの識別子を表す。「contains」フィールドは当該Areaインスタンスとオブジェクトプロパティであるcontainsで接続するPseudo Sinkインスタンスの識別子を表す。「Description」フィールドはユーザにとって理解しやすい注釈を表す。例えばAreaインスタンスのDescriptionであれば「東京都品川区内」、Pseudo SinkインスタンスのDescriptionであれば「大崎駅」、NodeインスタンスのDescriptionであれば「Outdoor Module」などである。「End Time」フィールドは終了日時を表す。「isCollocatedWith」フィールドは当該NodeインスタンスとオブジェクトプロパティであるisCollocatedWithで接続するNodeインスタンスの識別子を表す。「isEastOf」フィールドは当該AreaインスタンスとオブジェクトプロパティであるisEastOfで接続するAreaインスタンスの識別子を表す。「isInstalledIn」フィールドは当該Pseudo SinkインスタンスとオブジェクトプロパティであるisInstalledInで接続するAreaインスタンスの識別子を表す。「isNorthOf」フィールドは当該AreaインスタンスとオブジェクトプロパティであるisNorthOfで接続するAreaインスタンスの識別子を表す。「isSouthOf」フィールドは当該AreaインスタンスとオブジェクトプロパティであるisSouthOfで接続するAreaインスタンスの識別子を表す。「isWestOf」フィールドは当該AreaインスタンスとオブジェクトプロパティであるisWestOfで接続するAreaインスタンスの識別子を表す。「NE Lat」フィールドと「NE Lon」フィールドはAreaインスタンスの北東隅の緯度と経度を表す。「Lat」フィールドと「Lon」フィールドはPseudo Sinkインスタンスの緯度と経度を表す。「No of Nodes」フィールドは対象となるNodeインスタンスの数を表す。「No of Pseudo Sinks」フィールドは対象となるPseudo Sinkインスタンスの数を表す。「Node ID」フィールドはNodeインスタンスやMobile Nodeインスタンスの識別子を表す。「Node Instance Data」フィールドはNode またはMobile Nodeのインスタンスデータの全部または一部を表す。「Policy」フィールドは情報を公開するIoTSPを表す。値としては、例えば公開を許可するIoTSPの識別子のリストでもよいし、すべてのIoTSPに許可する「IdIoTSP_ALL」や、すべてのIoTSPに不許可である「IdIoTSP_None」でもよい。「Pseudo Sink ID」フィールドはPseudo Sinkインスタンスの識別子を表す。「Pseudo Sink Instance Data」フィールドはPseudo Sinkインスタンスデータの全部または一部を表す。「sendsDataTo」フィールドは当該Pseudo SinkインスタンスとオブジェクトプロパティであるsendsDataToで接続するNodeインスタンスやMobile Nodeインスタンスの識別子を表す。「Start Time」フィールドは開始日時を表す。「SW Lat」フィールドと「SW Lon」フィールドはArea西南隅の緯度と経度を表す。「Timestamp」フィールドは日時を表す。
(1.4.7.Areaインスタンス)
図5に示すシステム構成例において、各IoTSPは図4に示すAreaのインスタンスデータをGraph DBに格納済とする。例えば、Pseudo Sink11の設置前のArea11のAreaインスタンスデータは図6のようになる。図6は、Area11のAreaインスタンスデータの例(初期状態)を示す図である。このAreaインスタンスの識別子は「IdArea_11」である。このAreaインスタンスの最終変更日時は「2021年1月15日10時0分0秒」である。このAreaの南西隅の緯度と経度は「北緯35度37分06秒」、「東経139度43分36秒」である。このAreaの北東隅の緯度と経度は「北緯35度37分12秒」、「東経139度43分42秒」である。このAreaの注釈は「東京都品川区内」である。このAreaとisEastOf、isWestOf、isSouthOf、isNorthOfで接続するAreaインスタンスの識別子はそれぞれ「IdArea_12」、「IdArea_13」、「IdArea_14」、「IdArea_15」である。
図5に示すシステム構成例において、各IoTSPは図4に示すAreaのインスタンスデータをGraph DBに格納済とする。例えば、Pseudo Sink11の設置前のArea11のAreaインスタンスデータは図6のようになる。図6は、Area11のAreaインスタンスデータの例(初期状態)を示す図である。このAreaインスタンスの識別子は「IdArea_11」である。このAreaインスタンスの最終変更日時は「2021年1月15日10時0分0秒」である。このAreaの南西隅の緯度と経度は「北緯35度37分06秒」、「東経139度43分36秒」である。このAreaの北東隅の緯度と経度は「北緯35度37分12秒」、「東経139度43分42秒」である。このAreaの注釈は「東京都品川区内」である。このAreaとisEastOf、isWestOf、isSouthOf、isNorthOfで接続するAreaインスタンスの識別子はそれぞれ「IdArea_12」、「IdArea_13」、「IdArea_14」、「IdArea_15」である。
(1.4.8.Nodeの設置)
次に、図5に示すIoTSP1が図4に示すNode11とNode12を新たに設置する場合の手順について、図7を用いて説明する。図7は、Nodeの設置手順を示す図である。
次に、図5に示すIoTSP1が図4に示すNode11とNode12を新たに設置する場合の手順について、図7を用いて説明する。図7は、Nodeの設置手順を示す図である。
Admin1はAdmin APP1を介してAdmin API1にNode設置要求メッセージを送信する(ステップS101)。図8にNode設置要求メッセージを示す。IDフィールドの値は「IdAdmin_1」である。Credentialフィールドの値は「CredAdmin_1」である。Pseudo Sink Instance DataフィールドにはNode11とNode12からデータを収集するPseudo SinkであるPseudo Sink11のインスタンスデータが格納される。No of Nodesフィールドの値は「2」である。以下、Node11のインスタンスデータとNode12のインスタンスデータが格納される。
図9にPseudo Sink11のインスタンスデータを示す。このPseudo Sinkインスタンスの識別子は「IdPSink_11」である。このPseudo Sinkインスタンスの最終変更日時は「2021年2月1日午前10時0分0秒」である。このPseudo Sinkインスタンスの情報は「IoTSP3以外の他のすべてのIoTSPに公開可」である。このPseudo Sinkの緯度と経度は「北緯35度37分11.85秒」、「東経139度43分41.06秒」である。このPseudo Sinkの注釈は「大崎駅」である。このPseudo SinkインスタンスとisInstalledInで接続するAreaインスタンスは「未定」である。このPseudo SinkインスタンスとcollectsDataFromで接続するNodeインスタンスの識別子は「IdNode_11」と「IdNode_12」である。
図10にNode11のインスタンスデータを示す。このNodeインスタンスの識別子は「IdNode_11」である。このNodeを設置した日時は「2021年2月1日午前10時」である。このNodeの測定データは「他のすべてのIoTSPに公開可」である。このNodeの注釈は「Outdoor Module」である。このNodeの機能は「温度」と「湿度」である。このNodeインスタンスとsendsDataToで接続するPseudo Sinkインスタンスの識別子は「IdPSink_11」である。このNodeインスタンスとisCollocatedWithで接続するNodeインスタンスの識別子は「IdNode_12」である。
図11にNode12を表すNodeインスタンスを示す。内容は図10と同様であるが、Policyフィールドの値が「IdIoTSP_None」であるので、このNodeの測定データは他のIoTSPには公開されない。
Admin API1はNode設置要求メッセージを受信するとAAA Server1に認証認可要求メッセージを送信する(ステップS102)。図12に認証認可要求メッセージを示す。IDフィールドの値は「IdAdmin_1」である。Credentialフィールドの値は「CredAdmin_1」である。
AAA Server1は認証認可要求メッセージを受信すると、IDフィールドが示すエンティティの真正性と権限を確認する。確認が成功すると、AAA Server1はAdmin API1に認証認可応答メッセージを送信する(ステップS103)。図13に認証認可応答メッセージを示す。Statusフィールドの値は処理の正常終了を示す「OK」である。
Admin API1は認証認可応答メッセージを受信するとGraph DB1にNode登録要求メッセージを送信する(ステップS104)。図14にNode登録要求メッセージを示す。Node登録要求メッセージのPseudo Sink Instance Dataフィールド、No of Nodesフィールド、Node Instance Dataフィールドの値は図8に示すNode設置要求メッセージと同一である。
Graph DB1はNode登録要求メッセージを受信するとPseudo SinkインスタンスデータとNodeインスタンスデータをデータベースに格納する。さらにPseudo Sink11が設置されるArea11のインスタンスデータを図15に示すように更新する。図6に対してTimestampフィールドの値が更新されている。さらにcontainsフィールドが追加され、値は「IdPSink_11」となる。これに伴い、Pseudo Sink11のインスタンスデータは図16に示すように更新される。すなわち、isInstalledInフィールドの値は「IdArea_11」となる。
次にGraph DB1はAdmin API1にNode登録応答メッセージを送信する(ステップS105)。図17にNode登録応答メッセージを示す。Statusフィールドの値は処理の正常終了を示す「OK」である。
Admin API1はNode登録応答メッセージを受信するとAdmin APP1にNode設置応答メッセージを送信する(ステップS106)。図18にNode設置応答メッセージを示す。Statusフィールドは正常終了を表す「OK」である。
さらに、上記と同様の手順によりIoTSP2においてPseudo Sink21にNode21が設置されたとする。図19にPseudo Sink21のインスタンスデータを示す。図20にNode21のインスタンスデータを示す。
(1.4.9.Nodeの撤去)
次に、図21にIoTSP1においてNodeを撤去する手順を示す。図21は、Nodeの撤去手順を示す図である。
次に、図21にIoTSP1においてNodeを撤去する手順を示す。図21は、Nodeの撤去手順を示す図である。
Admin1はAdmin APP1を介してAdmin API1にNode撤去要求メッセージを送信する(ステップS201)。図22にNode撤去要求メッセージを示す。IDフィールドの値は「IdAdmin_1」である。Credentialフィールドの値は「CredAdmin_1」である。No of Nodesフィールドは撤去するNodeの個数を表す。以下、Node IDフィールドがNo of Nodesフィールドの値の個数続く。
Admin API1はNode撤去要求メッセージを受信するとAAA Server1に認証認可要求メッセージを送信する(ステップS202)。図12に認証認可要求メッセージを示す。
AAA Server1は認証認可要求メッセージを受信すると、IDフィールドが示すエンティティの真正性と権限を確認する。確認が成功すると、AAA Server1はAdmin APP1に認証認可応答メッセージを送信する(ステップS203)。図13に認証認可応答メッセージを示す。
Admin API1は認証認可応答メッセージを受信するとGraph DB1にNode削除要求メッセージを送信する(ステップS204)。図23にNode削除要求メッセージを示す。Node削除要求メッセージのNo of NodesフィールドとNode IDフィールドの値は図22に示すNode撤去要求メッセージと同様である。
Graph DB1はNode削除応答メッセージを受信するとNode IDフィールドが示すNode インスタンスをデータベースから削除する。これに伴い、削除するNode インスタンスのsendsDataToフィールドが示すPseudo Sinkインスタンスについて、該当するcollectsDataFromフィールドを削除する。削除の結果collectsDataFromフィールドの数が0になった場合、該当するPseudo Sink Instance Dataも削除する。
次にGraph DB1はAdmin API1にNode削除応答メッセージを送信する(ステップS205)。図24にNode削除応答メッセージを示す。Statusフィールドは正常終了を表す「OK」である。
Admin API1はNode削除応答メッセージを受信するとIoTSP Admin1にNode撤去応答メッセージを送信する(ステップS206)。図25にNode撤去応答メッセージを示す。Statusフィールドは正常終了を表す「OK」である。
(1.4.10.IoTSP間での構成変更の通知)
上記の例において、IoTSP1は自身の管理下にPseudo Sink11を設置した。本開示の実施の形態ではこのような構成変更をIoTSP間で共有する。図26に、IoTSP1の構成変更を他のIoTSPに通知する手順の例を示す。図26は、IoTSP間での構成変更通知手順を示す図である。
上記の例において、IoTSP1は自身の管理下にPseudo Sink11を設置した。本開示の実施の形態ではこのような構成変更をIoTSP間で共有する。図26に、IoTSP1の構成変更を他のIoTSPに通知する手順の例を示す。図26は、IoTSP間での構成変更通知手順を示す図である。
IoTSP1内のApp API1はIoTSP1内の構成変更を知るためQuery Server1に変更取得要求メッセージを送信する(ステップS301)。図27に変更取得要求メッセージを示す。Timestampフィールドは、このフィールドに示す日時以降に更新された情報を要求することを表し、この例では「2021年2月1日,0時0分0秒」である。
Query Server1は変更取得要求メッセージを受信すると、Timestampフィールドが示す時刻以降に変更された構成情報をGraph DB1に問合せる(ステップS302)。なお、図26ではGraph DB1への問合せ手順を省略している。
Query Server1はGraph DB1から変更された構成情報を受信するとApp API1に変更取得応答メッセージを送信する(ステップS303)。図28に変更取得応答メッセージを示す。Statusフィールドは正常終了を表す「OK」である。指定された時刻以降には1つのPseudo Sink(Pseudo Sink11)が追加されていたので、No of Pseudo Sinksフィールドの値は「1」となる。Pseudo Sink Instance Dataフィールドの内容は図16に示すPseudo Sink11のインスタンスデータと同一である。
App API1は変更取得応答メッセージを受信すると、あらかじめ決められた転送先であるIoTSP2内のApp API2に変更通知メッセージを送信する(ステップS304)。図29に変更通知メッセージを示す。No of Pseudo Sinksフィールドの値は「1」である。Pseudo Sink Instance Dataフィールドの値は、図16に示すPseudo Sink11のインスタンスデータをIoTSP2の公開鍵で暗号化したものである。すなわち、このときApp API1は、図16に示すPolicyフィールドによって公開先/非公開先を判定している(ステップS304参照)。図16の例の場合、IoTSP3のみが非公開先であるので、App API1はPseudo Sink11のインスタンスデータをIoTSP2の公開鍵で暗号化している。
App API2は変更通知メッセージを受信すると、自身の秘密鍵を使用してPseudo Sink Instance Dataフィールドを復号する。次にApp API2はQuery Server2に変更登録要求メッセージを送信する(ステップS305)。図30に変更登録要求メッセージを示す。No of Pseudo Sinksフィールの値は「1」である。Pseudo Sink Instance Dataフィールドの値は、図16に示すPseudo Sink11のインスタンスデータと同一である。
Query Server2は変更登録要求メッセージを受信すると、Graph DB2にアクセスし、変更情報を登録する(ステップS306)。なお、図26ではGraph DB2への登録手順を省略している。
次にQuery Server2はApp API2に変更登録応答メッセージを送信する(ステップS307)。図31に変更登録応答メッセージを示す。Statusフィールドの値は正常終了を示す「OK」である。
App API2はQuery Server2に変更登録要求メッセージを送信するとともに、IoTSP3内のApp API3に変更通知メッセージを送信する(ステップS308)。図32に変更通知メッセージを示す。No of Pseudo Sinksフィールの値は「1」である。App API2は図16に示すPseudo Sink11のインスタンスデータのpolicyフィールドを参照し、変更通知メッセージの次の転送先であるIoTSP3には当該Pseudo Sinkの情報公開が禁止されていることを知り、その次の転送先であるIoTSP4の公開鍵でPseudo Sink11のインスタンスデータを暗号化し、Pseudo Sink Instance Dataフィールドに格納する。すなわち、このときApp API2は、図16に示すPolicyフィールドによって公開先/非公開先を判定している(ステップS308参照)。図16の例の場合、IoTSP3のみが非公開先であるので、App API2はPseudo Sink11のインスタンスデータをIoTSP4の公開鍵で暗号化している。
App API3は変更通知メッセージを受信すると自身の秘密鍵でPseudo Sink Instance Dataフィールドの復号を試みるが、当該フィールドはIoTSP4の公開鍵で暗号化されているため復号できない。そこで、App API3は変更通知メッセージを次の転送先であるIoTSP4内のApp API4に送信する(ステップS309)。図32に変更通知メッセージを示す。すなわち、このときApp API3は、いわば自身の秘密鍵でPseudo Sink Instance Dataフィールドを復号できないことによって、Policyフィールドの公開先/非公開先を判定していると言える(ステップS309参照)。
App API4は変更通知メッセージを受信すると、自身の秘密鍵を使用してPseudo Sink Instance Dataフィールドを復号する。次にApp API4はQuery Server4に変更登録要求メッセージを送信する(ステップS310)。図30に変更登録要求メッセージを示す。
Query Server4は変更登録要求メッセージを受信すると、Graph DB4にアクセスし、変更情報を登録する(ステップS311)。なお、図26ではGraph DB4への登録手順を省略している。
次にQuery Server4はApp API4に変更登録応答メッセージを送信する(ステップS312)。図31に変更登録応答メッセージを示す。
同様にしてIoTSP2、IoTSP3、およびIoTS4も構成変更を他のIoTSPに通知する。この例では、図19に示すPseudo Sink21の情報がIoTSP2からIoTSP1、IoTSP3、およびIoTSP4に通知される。
(1.4.11.Nodeからのセンサデータ通知(1))
Nodeは測定したデータを定期的にPseudo Sinkに送信する。図5において、IoTSP1内に設置されたNode11が測定データをIoTSP1内に登録する手順を図33に示す。図33は、Nodeからのセンサデータ通知手順(1)を示す図である。かかる通知手順(1)は、IoTSP内におけるデータ通知手順を示す。
Nodeは測定したデータを定期的にPseudo Sinkに送信する。図5において、IoTSP1内に設置されたNode11が測定データをIoTSP1内に登録する手順を図33に示す。図33は、Nodeからのセンサデータ通知手順(1)を示す図である。かかる通知手順(1)は、IoTSP内におけるデータ通知手順を示す。
Node11は定期的に温度などの測定データをPseudo Sink11にデータ通知メッセージで送信する(ステップS401)。Node11とPseudo Sink11間の通信は安全であると仮定する。図34にデータ通知メッセージを示す。Node IDフィールドの値は「IdNode_11」である。Timestampフィールドはセンサデータを計測した日時を表し、この例では「2021年2月8日,10時0分0秒」である。Data Format IDフィールドは、Dataフィールドに格納されたデータのフォーマットの識別子を表す。Dataフィールドにセンサデータが格納される。
Pseudo Sink11はデータ通知メッセージを受信するとSensing DB1にデータ登録要求メッセージを送信する(ステップS402)。図35にデータ登録要求メッセージを示す。Node IDフィールド、Timestampフィールド、Data Format IDフィールド、およびDataフィールドの値は図34と同一である。
Sensing DB1はNodeごとのセンサデータの時系列を保存するデータベースである。すなわち、1行(1レコード)は少なくとも日時、Nodeの識別子、Capability、センサデータの値、Pseudo Sinkの識別子、緯度経度で構成される。Sensing DB1はデータ登録要求メッセージを受信するとNode IDフィールドの値、Timestampフィールドの値、およびDataフィールドの値をデータベースに格納する。その後、Sensing DB1はPseudo Sink11にデータ登録応答メッセージを送信する(ステップS403)。図36にデータ登録応答メッセージを示す。Statusフィールドは正常終了を表す「OK」である。
(1.4.12.Nodeからのセンサデータ通知(2))
次に、図5において、Sensor Provider5内に設置されたSensor51がIoTSP1に測定データを登録する手順を図37に示す。図37は、Nodeからのセンサデータ通知手順(2)を示す図である。かかる通知手順(2)は、Sensor Provider1からIoTSP1へのデータ通知手順を示す。
次に、図5において、Sensor Provider5内に設置されたSensor51がIoTSP1に測定データを登録する手順を図37に示す。図37は、Nodeからのセンサデータ通知手順(2)を示す図である。かかる通知手順(2)は、Sensor Provider1からIoTSP1へのデータ通知手順を示す。
Sensor51は定期的に温度などの測定データをPseudo Sink51にデータ通知メッセージで送信する(ステップS501)。Sensor51とPseudo Sink51間の通信は安全であると仮定する。図38にデータ通知メッセージを示す。Node IDフィールドの値は「IdNode_51」である。Timestampフィールドはセンサデータを計測した日時を表し、この例では「2021年2月8日,10時0分0秒」である。Data Format IDフィールドは、Dataフィールドに格納されたデータのフォーマットの識別子を表す。Dataフィールドにセンサデータが格納される。
Pseudo Sink51はデータ通知メッセージを受信すると、IoTSP1内のPseudo Sink11にデータ通知要求メッセージを送信する(ステップS502)。図39にデータ登録要求メッセージを示す。Sensor Provider IDフィールドの値は「IdSensP_5」である。Credentialフィールドの値は「CredSensP_5」である。Node IDフィールド、Timestampフィールド、Data Format IDフィールド、およびDataフィールドの値は図38に示すデータ通知メッセージと同一である。
Pseudo Sink11はデータ登録要求メッセージを受信するとIoTSP1内のAAA Server1に認証認可要求メッセージを送信する(ステップS503)。図40に認証認可要求メッセージを示す。IDフィールドの値は「IdSensP_5」である。Credentialフィールドの値は「CredSensP_5」である。
AAA Server1は認証認可要求メッセージを受信すると、IDフィールドが示す主体の真正性と権限を確認する。確認が成功すると、AAA Server1はPseudo Sink11に認証認可応答メッセージを送信する(ステップS504)。図13に認証認可応答メッセージを示す。
Pseudo Sink11は認証認可応答メッセージを受信するとSensing DB1にデータ登録要求メッセージを送信する(ステップS505)。図41にデータ登録要求メッセージを示す。Node IDフィールド、Timestampフィールド、Data Format IDフィールド、およびDataフィールドの値は図38に示すデータ通知メッセージと同一である。
Sensing DB1はデータ登録要求メッセージを受信するとデータをデータベースに格納し、Pseudo Sink11にデータ登録応答メッセージを送信する(ステップS506)。図36にデータ登録応答メッセージを示す。
Psuedo Sink11はデータ登録応答メッセージを受信するとPseudo Sink51にデータ通知応答メッセージを送信する(ステップS507)。図42にデータ通知応答メッセージを示す。Statusフィールドは正常終了を表すOKである。
(1.4.13.Nodeからのセンサデータ通知(3))
次に、図5において、IoTSP1と契約しているMobile Node13がIoTSP1に測定データを登録する手順を図43に示す。図43は、Nodeからのセンサデータ通知手順(3)を示す図である。かかる通知手順(3)は、Mobile Node13からIoTSP1へのデータ通知手順を示す。
次に、図5において、IoTSP1と契約しているMobile Node13がIoTSP1に測定データを登録する手順を図43に示す。図43は、Nodeからのセンサデータ通知手順(3)を示す図である。かかる通知手順(3)は、Mobile Node13からIoTSP1へのデータ通知手順を示す。
Mobile Node13は自身が契約しているIoTSP1内のPseudo Sink11の無線通信範囲内に入ったことを検知し、Pseudo Sink11にモバイルデータ通知メッセージで測定データを送信する(ステップS601)。図44にモバイルデータ通知メッセージを示す。Node IDフィールドの値は「IdNode_13」である。Credentialフィールドの値は「CredNode_13」である。Timestampフィールドはセンサデータを送信する日時を表し、この例では「2021年2月8日,10時0分0秒」である。Latフィールドはセンサデータを送信するときのMobile Node13の緯度を表し、この例では「北緯35度37分12秒」である。Lonフィールドはセンサデータを送信するときのMobile Node13の経度を表し、この例では「東経139度43分41秒」である。Data Format IDフィールドは、Dataフィールドに格納されたデータのフォーマットの識別子を表す。Dataフィールドにセンサデータが格納される。
Pseudo Sink11はモバイルデータ通知メッセージを受信するとAAA Server1に認証認可要求メッセージを送信する(ステップS602)。図45に認証認可要求メッセージを示す。IDフィールドの値は「IdNode_13」である。Credentialフィールドの値は「CredNode_13」である。
AAA Server1は認証認可要求メッセージを受信すると、IDフィールドが示す主体の真正性と権限を確認する。確認が成功すると、AAA Server1はPseudo Sink11に認証認可応答メッセージを送信する(ステップS603)。図13に認証認可応答メッセージを示す。
Pseudo Sink11は認証認可応答メッセージを受信すると、Sensing DB1にデータ登録要求メッセージを送信する(ステップS604)。図46にデータ登録要求メッセージを示す。
Sensing DB1はデータ登録要求メッセージを受信するとデータを登録し、Pseudo Sink11にデータ登録応答メッセージを送信する(ステップS605)。図36にデータ登録応答メッセージを示す。Node IDフィールド、Timestampフィールド、Data Format IDフィールド、およびDataフィールドの値は図44に示すモバイルデータ通知メッセージと同一である。
(1.4.14.IoT Appによるデータ取得)
図5において、IoT App1はApp API1を介してセンサデータを取得するアプリケーションである。図47にIoT App1がデータを取得する手順を示す。図47は、IoT APPによるデータ取得手順を示す図である。例として、App API1(すなわち、User1)が図48に示す実線の範囲を指定し、2021年2月10日0時0分0秒から23時59分59秒までの温度データを取得する場合の手順を説明する。
図5において、IoT App1はApp API1を介してセンサデータを取得するアプリケーションである。図47にIoT App1がデータを取得する手順を示す。図47は、IoT APPによるデータ取得手順を示す図である。例として、App API1(すなわち、User1)が図48に示す実線の範囲を指定し、2021年2月10日0時0分0秒から23時59分59秒までの温度データを取得する場合の手順を説明する。
IoT App1はApp API1にデータ取得要求メッセージを送信する(ステップS701)。図49にデータ検索要求メッセージを示す。IDフィールドの値は「IdUser_1」である。Credentialフィールドの値は「CredUser_1」である。SW Latフィールド、SW Longフィールド、NE Latフィールド、およびNE Longフィールドの値はそれぞれ「北緯35度37分09秒」、「東経139度43分21秒」、「北緯35度37分39秒」、「東経139度43分45秒」である。Capabilityフィールドの値は「温度」である。Start TimeフィールドとEnd Timeフィールドの値はそれぞれ「2021年2月10日,0時0分0秒」と「2021年2月10日,23時59分59秒」である。
App API1はデータ取得要求メッセージを受信するとAAA Server1に認証認可要求メッセージを送信する(ステップS702)。図50に認証認可要求メッセージを示す。IDフィールドの値は「IdUser_1」である。Credentialフィールドの値は「CredUser_1」である。
AAA Server1は認証認可要求メッセージを受信すると、IDフィールドが示すエンティティの真正性と権限を確認する。確認が成功するとAAA Server1はApp API1に認証認可応答メッセージを送信する(ステップS703)。図13に認証認可応答メッセージを示す。
App API1は認証認可応答メッセージを受信するとPseudo Sink解決を実行する(ステップS704,S705)。Pseudo Sink解決手順の詳細は後述する。その結果、App API1はIoT App1がデータ取得を要求しているエリアに存在するPseudo Sinkインスタンスデータのリストを得る。この例では、App API1は図16に示すPseudo Sink11のインスタンスデータと図19に示すPseudo Sink21のインスタンスデータを得る。
次にApp API1はノード解決を実行する(ステップS706~S709)。ノード解決手順の詳細は後述する。このように、App API1とQuery Server1の間のインタフェースと、App API1とApp API2間のインタフェースは同一となっている。ノード解決の結果、App API1はIoT App1がデータ取得を要求しているエリアに存在するNodeインスタンスデータのリストを得る。この例では、App API1は図10に示すNode11のインスタンスデータ、図11に示すNode12のインスタンスデータ、および図20に示すNode21のインスタンスデータを得る。
次にApp API1はデータ解決を実行する(ステップS710~S713)。データ検索手順の詳細は後述する。このように、App API1とQuery Server1の間のインタフェースと、App API1とApp API2間のインタフェースは同一となっている。データ解決の結果、App API1はNode11、Node12、およびNode13が測定した温度データを得ることができる。
次にApp API1はIoT App1にデータ取得応答を送信する(ステップS714)。図51にデータ取得応答メッセージの例を示す。No of Nodesフィールドはセンサ値を取得したNodeの個数を表し、この例ではNode11、Node12、およびNode21の3個である。以下、Node IDフィールド、No of Valuesフィールド、およびValueフィールドの組が3組続く。Node IDフィールドはセンサ値を取得したNodeの識別子を表す。CapabilityフィールドはNodeの機能を表す。Valueフィールドはセンサ値を表す。
(1.4.15.Pseudo Sink解決手順)
図47に示すPseudo Sink解決とは、指定されたAreaに存在するPseudo Sinkを検索する処理であり、グラフ検索の一種である。図52に示すグラフ解決手順を用い、Pseudo Sink解決手順を説明する。図52は、グラフ解決手順を示す図である。
図47に示すPseudo Sink解決とは、指定されたAreaに存在するPseudo Sinkを検索する処理であり、グラフ検索の一種である。図52に示すグラフ解決手順を用い、Pseudo Sink解決手順を説明する。図52は、グラフ解決手順を示す図である。
App API1はQuery Server1にグラフ解決要求メッセージを送信する(ステップS801)。図53にグラフ解決要求メッセージを示す。IoTSP IDフィールドはグラフ解決を行うIoTSPの識別子を表し、この例では「IdIoTSP_1」である、No of QueriesフィールドはQueryの個数を表し、この例では「30」である。これは、図48に示すAreaの数である。30個のQueryは、それぞれのAreaに関してcontainsというオブジェクトプロパティで接続するPseudo Sinkインスタンスを検索するという内容である。
Query Server1はグラフ解決要求メッセージを受信すると、Graph DB1にグラフ検索要求メッセージを送信する(ステップS802)。図54にグラフ検索要求メッセージを示す。No of QueriesフィールドとQueryフィールドの値は、図53に示すグラフ解決要求メッセージと同一である。
Graph DB1はグラフ検索要求メッセージを受信すると、データベースに対しQueryフィールドが示す検索を行う。次に、Graph DB1はApp API1にグラフ検索応答を送信し、検索の結果を伝える(ステップS803)。図55にグラフ検索応答メッセージを示す。Statusフィールドは正常終了を表す「OK」である。この例ではグラフ検索要求メッセージにQueryフィールドが30個あったので、グラフ検索応答メッセージはValueフィールドを30個含む。この例では、Area11に関するQueryに対し、図16に示すPseudo Sink11の内容がValueとして返る。また、Area21に関するQueryに対し、図19に示すPseudo Sink21の内容がValueとして返る。その他のAreaに関するQueryに対するValueは空となる。
Query Server1はグラフ検索応答メッセージを受信すると、App API1にグラフ解決応答メッセージを送信する(ステップS804)。図56にグラフ解決応答メッセージを示す。Statusフィールドは正常終了を表す「OK」である。No of ValuesフィールドとValueフィールドの値は、図55に示すグラフ検索応答メッセージと同一である。結果として、App API1は図16に示すPseudo Sink11のインスタンスデータと、図19に示すPseudo Sink21のインスタンスデータを得る。
(1.4.16.ノード解決手順)
図47に示すノード解決とは、指定されたPseudo Sinkにおいて指定された条件を満たすノードを検索する処理であり、グラフ検索の一種である.App API1はまず図52に示す手順でPseudo Sink11についてノード解決を行う。図57にApp API1が送信するグラフ解決要求メッセージを示す。IoTSP IDフィールドの値は「IdIoTSP_1」である。No of Queriesフィールドの値は「1」である。Queryフィールドの内容は、Pseudo Sink11に設置され、温度を計測可能なノードを検索することである。結果としてApp API1は図58に示すグラフ解決応答メッセージを受信する。Statusフィールドは正常終了を表す「OK」である。No of Valuesフィールドの値は「2」である。Valueフィールドには図10と図11に示すNode11とNode12のインスタンスデータが含まれる。
図47に示すノード解決とは、指定されたPseudo Sinkにおいて指定された条件を満たすノードを検索する処理であり、グラフ検索の一種である.App API1はまず図52に示す手順でPseudo Sink11についてノード解決を行う。図57にApp API1が送信するグラフ解決要求メッセージを示す。IoTSP IDフィールドの値は「IdIoTSP_1」である。No of Queriesフィールドの値は「1」である。Queryフィールドの内容は、Pseudo Sink11に設置され、温度を計測可能なノードを検索することである。結果としてApp API1は図58に示すグラフ解決応答メッセージを受信する。Statusフィールドは正常終了を表す「OK」である。No of Valuesフィールドの値は「2」である。Valueフィールドには図10と図11に示すNode11とNode12のインスタンスデータが含まれる。
次にApp API1は図59に示す手順でPseudo Sink21についてノード解決を行う。図59は、グラフ検索手順を示す図である。
App API1はIoTSP2内のApp API2にグラフ解決要求メッセージを送信する(ステップS901)。図60にグラフ解決要求メッセージを示す。IDフィールドの値は「IdIoTSP_1」である。Credentialフィールドの値は「CredIoTSP_1」である。IoTSP IDフィールドの値は「IdIoTSP_2」である。No of Queriesフィールドの値は「1」である。Queryフィールドの内容は、Pseudo Sink21に設置され、温度を計測可能なノードを検索することである。
App API2はグラフ解決要求メッセージを受信すると、AAA Server2に認証認可要求メッセージを送信する(ステップS902)。図61に認証認可要求メッセージを示す。IDフィールドの値は「IdIoTSP_1」である。Credentailフィールドの値は「CredIoTSP_1」である。
AAA Server2は認証認可要求メッセージを受信すると、IDフィールドが示すエンティティの真正性と権限を確認する。確認が成功するとAAA Server2はApp API2に認証認可応答メッセージを送信する(ステップS903)。図13に認証認可応答メッセージを示す。
App API2は認証認可応答メッセージを受信すると、Query Server2にグラフ検索要求メッセージを送信する(ステップS904)。図62にグラフ検索要求メッセージを示す。No of Queriesフィールドの値は「1」である。Queryフィールドの内容は、Pseudo Sink21に設置され、温度を計測可能なノードを検索することである。
Query Server2はグラフ検索要求メッセージを受信すると、Graph DB2にグラフ検索要求メッセージを送信する(ステップS905)。
Graph DB2はグラフ検索要求メッセージを受信すると、データベースに対しQueryフィールドが示す検索を行う。次に、Graph DB2はQuery Server2にグラフ検索応答を送信し、検索の結果を伝える(ステップS906)。図63にグラフ検索応答メッセージを示す。Statusフィールドは正常終了を表す「OK」である。この例ではグラフ検索要求メッセージにQueryフィールドが1個あったので、No of Valuesフィールドの値は「1」である。Valueフィールドの値は、図20に示すNode21のインスタンスデータである。
Qeury Server2はグラフ検索応答メッセージを受信すると、App API2にグラフ検索応答メッセージを送信する(ステップS907)。
App API2はグラフ検索応答メッセージを受信すると、App API1にグラフ解決応答メッセージを送信する(ステップS908)。図64にグラフ解決応答メッセージを示す。Statusフィールドの値は正常終了を示す「OK」である。No of VaulesフィールドとValueフィールドの値は図63に示すグラフ検索応答メッセージと同一である。
このように、App API1とApp API12の間のインタフェース(ステップS901,S908)と、App API2とQuery Server2間のインタフェース(ステップS904,S907)は同一となっている。
(1.4.17.データ解決手順(1))
図47に示すデータ解決は、指定されたNode、測定項目、測定時間から測定値を取得する処理である。App API1は図65に示すデータ解決手順でNode11とNode12から温度データを取得する。図65は、データ解決手順(1)を示す図である。
図47に示すデータ解決は、指定されたNode、測定項目、測定時間から測定値を取得する処理である。App API1は図65に示すデータ解決手順でNode11とNode12から温度データを取得する。図65は、データ解決手順(1)を示す図である。
App API1はQuery Server1にデータ解決要求を送信する(ステップS1001)。図66にデータ解決要求メッセージを示す。IoTSP IDフィールドの値は「IdIoTSP_1」である。No of Queriesフィールドの値は「2」である。以下、Node IDフィールド、Capabilityフィールド、Start Timeフィールド、およびEnd Timeフィールドの4つ組が2組続く。1つ目の4つ組では、Node IDフィールドの値は「IdNode_11」である。Capabilityフィールドの値は「温度」である。Start Timeフィールドの値は「2021年2月10日,0時0分0秒」である。End Timeフィールドの値は「2021年2月10日,23時59分59秒」である。2つ目の4つ組ではNode IDフィールドの値は「IdNode_12」であり、他のフィールドは同一である。
Query Server1はデータ解決要求メッセージを受信すると、Sensing DB1にデータ検索要求メッセージを送信する(ステップS1002)。図67にデータ検索要求メッセージを示す。No of Queriesフィールド、Node IDフィールド、Capabilityフィールド、Start Timeフィールド、およびEnd Timeフィールドの値は図66に示すデータ解決要求メッセージと同一である。
Sensing DB1はデータ検索要求メッセージを受信すると、データベースに対しQueryフィールドが示す検索を行う。次に、Sensing DB1はQuery Server1にデータ検索応答を送信し、検索の結果を伝える(ステップS1003)。図68にデータ検索応答メッセージを示す。Statusフィールドは正常終了を表す「OK」である。No of Valuesフィールドは回答となるデータの個数を示す。以下、Node IDフィールド、Capabilityフィールド、Timestampフィールド、およびValueフィールドの4つ組がNo of Valuesフィールドの値の数だけ続く。
Query Server1はデータ検索応答メッセージを受信すると、App API1にデータ解決応答メッセージを送信する(ステップS1004)。図69にデータ解決応答メッセージを示す。Typeフィールド以外のフィールドは図68に示すデータ解決応答メッセージと同一である。
(1.4.18.データ解決手順(2))
次にApp API1は図70に示すデータ解決手順でNode21から温度データを取得する。図70は、データ解決手順(2)を示す図である。
次にApp API1は図70に示すデータ解決手順でNode21から温度データを取得する。図70は、データ解決手順(2)を示す図である。
App API1はQuery Server1にデータ解決要求メッセージを送信する(ステップS1101)。図71にデータ解決要求メッセージを示す。IDフィールドの値は「IdIoTSP_1」である。Credentialフィールドの値は「CredIoTSP_1」である。IoTSP IDフィールドの値は「IdIoTSP_2」である。No of Queriesフィールドの値は「1」である。Node IDフィールドの値は「IdNode_21」である。Capabilityフィールドの値は「温度」である。Start Timeフィールドの値は「2021年2月10日,0時0分0秒」である。End Timeフィールドの値は「2021年2月10日,23時59分59秒」である。
App API2はデータ解決要求メッセージを受信すると、AAA Server2に認証認可要求メッセージを送信する(ステップS1102)。図61に認証認可要求メッセージを示す。
AAA Server2は認証認可要求メッセージを受信すると、IDフィールドが示すエンティティの真正性と権限を確認する。確認が成功するとAAA Server2はApp API2に認証認可応答メッセージを送信する(ステップS1103)。図13に認証認可応答メッセージを示す。
App API2は認証認可応答メッセージを受信すると、Query Server2にデータ検索要求メッセージを送信する(ステップS1104)。図72にデータ検索要求メッセージを示す。No of Queriesフィールド、Node IDフィールド、Capabilityフィールド、Start Timeフィールド、およびEnd Timeフィールドの値は図71に示すデータ解決要求メッセージと同一である。
Query Server2はデータ検索要求メッセージを受信するとSensing DB2にデータ検索要求メッセージを送信する(ステップS1105)。
Sensing DB2はデータ検索要求メッセージを受信すると、データベースに対しQueryフィールドが示す検索を行う。次に、Sensing DB2はQuery Server2にデータ検索応答を送信し、検索の結果を伝える(ステップS1106)。図68にデータ検索応答メッセージを示す。
Query Server2はデータ検索応答メッセージを受信すると、App API2にデータ検索応答メッセージを送信する(ステップS1107)。
App API2はデータ検索応答メッセージを受信すると、App API1にデータ解決応答メッセージを送信する(ステップS1108)。図69にデータ解決応答メッセージを示す。
このように、App API1とApp API2の間のインタフェース(ステップS1101,S1108)と、App API2とQuery Server2間のインタフェース(ステップS1104,S1107)は同一となっている。
以上、本開示の実施の形態について説明した。続いて、本開示の実施の形態に係るIoTSPやノード、モジュール等として機能しうる情報処理装置の機能構成例を説明する。
[1.5.情報処理装置の機能構成例]
図73は、本開示の実施の形態に係る情報処理装置100の機能構成例を示す説明図である。なお、図73は、IoTSPやノード、モジュール等として機能しうるコンピュータである情報処理装置100の機能概念的な構成を示すものであって、情報処理装置100の構成に物理的な制約を課すものではない。したがって、情報処理装置100は、物理的に1つの装置によって構成されてもよいし、物理的に複数の装置によって構成されてもよい。複数の装置によって構成される場合、各装置は、種々の場所に点在してもよい。また、複数の装置によって構成される場合、各装置が、それぞれ個別の情報処理装置100として機能してもよいし、仮想的に1つの情報処理装置100として機能してもよい。
図73は、本開示の実施の形態に係る情報処理装置100の機能構成例を示す説明図である。なお、図73は、IoTSPやノード、モジュール等として機能しうるコンピュータである情報処理装置100の機能概念的な構成を示すものであって、情報処理装置100の構成に物理的な制約を課すものではない。したがって、情報処理装置100は、物理的に1つの装置によって構成されてもよいし、物理的に複数の装置によって構成されてもよい。複数の装置によって構成される場合、各装置は、種々の場所に点在してもよい。また、複数の装置によって構成される場合、各装置が、それぞれ個別の情報処理装置100として機能してもよいし、仮想的に1つの情報処理装置100として機能してもよい。
この点は、後述する通信部110、記憶部120、および制御部130についても同様であって、例えば、各ブロックの分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することが可能である。
図73に示すように、情報処理装置100は、通信部110、記憶部120、および制御部130を含んで構成される。
通信部110は、他の情報処理装置100との間の通信、例えば情報処理装置100を1つのIoTSPと見なせば、他のIoTSPとの間の通信を実行する。通信形態は有線であってもよく、無線であってもよい。通信部110からは、上述してきた各メッセージ等が、制御部130の制御の基で他の情報処理装置100との間で、所定のポートより送信および所定のポートで受信される。
記憶部120は、上述してきたIoTSP連携のアーキテクチャで用いられる各種情報やプログラムを記憶する。例えば、記憶部120は、上述したGraph DBやSensing DB等を記憶する。また、例えば、記憶部120は、本開示の実施の形態に係る情報処理プログラムを記憶する。記憶部120は、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子や、ハードディスク、光ディスク等の記憶装置、SSD(Solid State Drive)等の補助記憶装置等で構成されうる。
制御部130は、例えばCPU(Central Processing Unit)等のプロセッサで構成され、記憶部120に記憶されている本開示の実施の形態に係る情報処理プログラムがRAMを作業領域として実行されることにより、上述してきたIoTSP連携のアーキテクチャに基づく各種の処理を実行する。例えば、制御部130は、ユーザ、すなわちUser1やAdmin1の各種の要求等に基づいて、あるいは自動的に、Nodeの設置処理、Nodeの撤去処理、IoTSP間での構成変更の通知処理、Nodeからのセンサデータ通知処理、IoT Appによるデータ取得処理、Pseudo Sink解決処理、ノード解決処理、データ解決処理、等を実行する。
また、例えば、制御部130は、アプリケーションを介したユーザの取得要求に含まれる他のIoTSPの識別子およびIoTSP間の情報共有の可否を示すポリシ情報に基づいて通信部110を介し他のIoTSPからセンサデータを検索し、当該センサデータの検索時に、アプリケーションおよびIoTSP1間と同一の手続きを含むプロトコルインタフェースを用いる。
なお、ユーザは、例えば図示略のユーザ端末を介して情報処理装置100に対し各種の要求を行う。
ユーザ端末は、ユーザによって利用される端末装置である。ユーザ端末は、例えば、スマートフォンを含む携帯電話機や、タブレット端末や、デスクトップ型PCや、ノート型PCや、PDA(Personal Digital Assistant)等の情報処理装置である。また、ユーザ端末には、眼鏡型や時計型の情報処理端末であるウェアラブルデバイス(wearable device)も含まれる。
ユーザ端末は、ユーザによる操作や、ユーザ端末が有する機能(例えば、各IoTSPが提供するサービスを利用するためのアプリを実行する機能や、ブラウザ機能等)に応じて、各種情報を取得し、取得した情報に応じた情報を生成して送信する。
例えば、ユーザ端末は、IoT APPによるデータ取得処理に際しては、エリアの範囲指定画面を提示して、User1に図48に示す実線の範囲を指定させる。
<2.まとめ>
以上説明したように本開示の実施の形態によれば、IoTSP間の連携を容易に実現することが可能な情報処理装置が提供される。
以上説明したように本開示の実施の形態によれば、IoTSP間の連携を容易に実現することが可能な情報処理装置が提供される。
本明細書の各装置が実行する処理における各ステップは、必ずしもシーケンス図またはフローチャートとして記載された順序に沿って時系列に処理する必要はない。例えば、各装置が実行する処理における各ステップは、フローチャートとして記載した順序と異なる順序で処理されても、並列的に処理されてもよい。
また、各装置に内蔵されるCPU、ROM(Read Only Memory)およびRAM(Random Access Memory)などのハードウェアを、上述した各装置の構成と同等の機能を発揮させるためのコンピュータプログラムも作成可能である。また、該コンピュータプログラムを記憶させた記憶媒体も提供されることが可能である。また、機能ブロック図で示したそれぞれの機能ブロックをハードウェアで構成することで、一連の処理をハードウェアで実現することもできる。
以上、添付図面を参照しながら本開示の好適な実施の形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
[2.1.効果]
上述してきたように、本開示の実施の形態に係る情報処理装置100は、センサデータをユーザへ取得させるサービスを提供するIoTSP1(「第1のIoTSP」の一例に相当)として動作する情報処理装置であって、他のIoTSP(「第1のIoTSP以外の第2のIoTSP」の一例に相当)との間の通信を実行する通信部110と、アプリケーションを介した上記ユーザの取得要求に該当する上記センサデータを検索し、検索した上記センサデータを上記ユーザに対し応答する制御部130とを備え、制御部130は、上記取得要求に含まれる上記他のIoTSPの識別子およびIoTSP間の情報共有の可否を示すポリシ情報に基づいて通信部110を介し上記他のIoTSPから上記センサデータを検索し、当該センサデータの検索時に、上記アプリケーションおよびIoTSP1間と同一の手続きを含むプロトコルインタフェースを用いる。
上述してきたように、本開示の実施の形態に係る情報処理装置100は、センサデータをユーザへ取得させるサービスを提供するIoTSP1(「第1のIoTSP」の一例に相当)として動作する情報処理装置であって、他のIoTSP(「第1のIoTSP以外の第2のIoTSP」の一例に相当)との間の通信を実行する通信部110と、アプリケーションを介した上記ユーザの取得要求に該当する上記センサデータを検索し、検索した上記センサデータを上記ユーザに対し応答する制御部130とを備え、制御部130は、上記取得要求に含まれる上記他のIoTSPの識別子およびIoTSP間の情報共有の可否を示すポリシ情報に基づいて通信部110を介し上記他のIoTSPから上記センサデータを検索し、当該センサデータの検索時に、上記アプリケーションおよびIoTSP1間と同一の手続きを含むプロトコルインタフェースを用いる。
したがって、本開示の実施の形態に係る情報処理装置100によれば、IoTSP連携を容易に実現することができる。
すなわち、本開示の実施の形態に係る情報処理装置100によれば、IoTシステム(IoTSP)のインタフェースをクエリ言語(例えばGraphQL)に統一することによりIoTSP間の連携を容易にし、各IoTSPの実装の違いを隠蔽することができる。
また、本開示の実施の形態に係る情報処理装置100によれば、IoTアプリケーションとIoTSP間にApp APIを導入し、App APIがアプリケーションからの要求をクエリ言語に変換することにより、アプリケーションも容易にIoTSPにアクセスできる。具体的には、提案するインタフェースはグラフデータベース(Graph DB)への問合せと時系列データベース(Sensing DB)への問合せにより構成される。なお、実際にはクエリ言語GraphQLとGraphQLサーバを使用することとなる。
また、本開示の実施の形態に係る情報処理装置100は、センサのみを提供するセンサプロバイダとの連携も考慮している。したがって、本開示の実施の形態に係る情報処理装置100によれば、センサプロバイダが収集したセンサデータを、Pseudo Sinkを介してIoTSPのSensing DBに格納することができる。
また、本開示の実施の形態に係る情報処理装置100は、IoTSPの構成情報のうち、Pseudo Sinkの情報をIoTSP間で共有することによりIoTSP間の連携を実現する。Pseudo Sinkはセンサノードが設置されている場所の情報は含むが、センサノード自体の情報は含まないため、IoTSP間で共有すべき必要最低限の情報であると考えられる。これにより、IoTSP間で交換する情報量をなるべく抑え、IoTSP内部の構成情報を過度に公開することなく、IoTSP間の連携を可能にする。
また、本開示の実施の形態に係る情報処理装置100によれば、Pseudo SinkやNodeの情報について、それらを所有するIoTSPが公開ポリシを設定することが可能である。
[2.2.変形例]
また、その他の変形例についても説明する。図74~図78は、変形例の説明図(その1)~(その5)である。
また、その他の変形例についても説明する。図74~図78は、変形例の説明図(その1)~(その5)である。
上述した本開示の実施の形態では、PolicyフィールドにIoTSPレベルの指定(例えば、値「IdIoTSP_ALL」、「except IdIoTSP_3」により、IoTSP3を除くすべてのIoTSPに公開可能であることを指定)を行った。
しかし、図74に示すように、かかる指定はIoTSPレベルに限らず、Nodeレベルや、Capabilityレベル等のデータレベルによって指定されてもよい。すなわち、IoTSP内のNodeごとに公開/非公開を指定したり、「温度」や「湿度」といったCapabilityレベルごとに公開/非公開を指定したりすることができるようにしてもよい。これにより、NodeごとやCapabilityレベルごとといった詳細なレベルでの情報保護設定が可能となる。
また、本開示の実施の形態によれば、図75に示すように、例えばIoTSP1が他のIoTSP2、3,4…に対し、常に1対1の接続を行うことなく、すなわちメッシュネットワークを形成することなくIoTSPを行うことが可能である。
すなわち、図76に示すように、IoTSP1は、直鎖状に接続された接続関係を介して例えばIoTSP4から必要なセンサデータを間接的に取得可能であるが、必ずしもその他のIoTSP5から直接的に必要となるセンサデータを取得することを制限するものではない。したがって、IoTSP1は、IoTSP間の関係、例えば契約関係等に応じて適宜直接的に必要となるセンサデータを取得するようにしてもよい。
なお、ここに言う契約関係とは、例えば図77や図78に示すような例を挙げることができる。図77に示すように、例えば2つのIoTSPがそれぞれ同種のセンサを含んでおり、いわば対等関係にある場合には、ビジネス的には互いにデータを無償提供する契約関係も成り立ちうる。
これに対し、図78に示すように、2つのIoTSPのうちの一方(IoTSP2)に含まれるセンサ群が他方(IoTSP1)に比べて充実している場合、いわばIoTSP2を主とし、IoTSP1を従とする主従関係となりやすい。かかる場合、ビジネス的にはIoTSP2がIoTSP1に対しデータを有償提供する契約関係も成り立ちうる。
したがって、例えば図77に示すユースケースには、IoTSP1はIoTSP2を含む対等な他のIoTSPに対しては、必要なデータを間接的に取得するようにしてもよい。一方、例えば図78に示すユースケースには、IoTSP1はIoTSP5から常に直接的に必要なデータを取得するようにしてもよい。
なお、本明細書に記載された効果はあくまで例示であって限定されるものでは無く、また他の効果があってもよい。
また、本技術は以下のような構成も取ることができる。
(1)
センサデータをユーザへ取得させるサービスを提供する第1のIoTSPとして動作する情報処理装置であって、
前記第1のIoTSP以外の第2のIoTSPとの間の通信を実行する通信部と、
アプリケーションを介した前記ユーザの取得要求に該当する前記センサデータを検索し、検索した前記センサデータを前記ユーザに対し応答する制御部と
を備え、
前記制御部は、
前記取得要求に含まれる前記第2のIoTSPの識別子およびIoTSP間の情報共有の可否を示すポリシ情報に基づいて前記通信部を介し前記第2のIoTSPから前記センサデータを検索し、当該センサデータの検索時に、前記アプリケーションおよび前記第1のIoTSP間と同一の手続きを含むプロトコルインタフェースを用いる、情報処理装置。
(2)
前記制御部は、
前記第2のIoTSPから、前記第1のIoTSPおよび前記第2のIoTSP以外の第3のIoTSPを介して間接的に前記センサデータを取得する、前記(1)に記載の情報処理装置。
(3)
前記第3のIoTSPは、
前記第1のIoTSPおよび前記第2のIoTSPの間に直鎖状に1以上接続される、前記(2)に記載の情報処理装置。
(4)
前記制御部は、
クエリ言語を用いて前記同一の手続きを実行する、前記(3)に記載の情報処理装置。
(5)
前記第1のIoTSPおよび前記第2のIoTSPは、
各々の構成情報を保存する第1のデータベースおよび各々が管理するセンサノードの前記センサデータを保存する第2のデータベースをそれぞれ有しており、
前記制御部は、
前記クエリ言語を用いた前記第1のデータベースおよび前記第2のデータベースに対する問合せによって、前記センサデータを取得する、前記(4)に記載の情報処理装置。
(6)
前記構成情報は、前記ポリシ情報を含み、
前記第1のIoTSPの前記ポリシ情報は、前記第1のIoTSPの管理者によって設定され、
前記制御部は、
前記ポリシ情報に基づいて、前記情報共有を可とする前記第2のIoTSPおよび前記第3のIoTSPとの間で前記構成情報を共有させる、前記(5)に記載の情報処理装置。
(7)
前記制御部は、
前記第1のIoTSPの前記構成情報が変更された場合に、前記情報共有を可とする前記第2のIoTSPおよび前記第3のIoTSPそれぞれの前記第1のデータベースに対する前記クエリ言語を用いた変更登録要求によって、前記第1のIoTSPの前記構成情報を共有させる、前記(6)に記載の情報処理装置。
(8)
前記制御部は、
前記情報共有を可とする前記第2のIoTSPまたは前記第3のIoTSPのみ復号可能となるように、変更された前記構成情報の内容を暗号化する、前記(7)に記載の情報処理装置。
(9)
前記構成情報は、
前記第1のIoTSPが管理するエリアに関する地理情報と前記エリアにおいて管理される前記センサノードとの関係をオントロジにより表現したデータ構造を有する、前記(5)~(8)のいずれか一つに記載の情報処理装置。
(10)
前記構成情報は、
前記エリア、前記センサノード、前記エリアに設置されて前記センサノードを終端する地点をそれぞれクラスとする前記オントロジにより表現した前記データ構造を有する、前記(9)に記載の情報処理装置。
(11)
前記制御部は、
前記アプリケーションを介して前記ユーザにより指定された検索範囲に含まれる前記地点に該当する前記センサデータを検索する、前記(10)に記載の情報処理装置。
(12)
前記センサノードは、
前記地点に対して一時的に接続する移動体を含む、前記(10)または(11)に記載の情報処理装置。
(13)
前記(1)~(12)のいずれか一つに記載の情報処理装置である第1の情報処理装置と、
前記第2のIoTSPとして動作する第2の情報処理装置と
を備える、情報処理システム。
(14)
センサデータをユーザへ取得させるサービスを提供する第1のIoTSPとして動作する情報処理装置を用いた情報処理方法であって、
前記第1のIoTSP以外の第2のIoTSPとの間の通信を実行することと、
アプリケーションを介した前記ユーザの取得要求に該当する前記センサデータを検索し、検索した前記センサデータを前記ユーザに対し応答することと
を含み、
前記応答することは、
前記取得要求に含まれる前記第2のIoTSPの識別子およびIoTSP間の情報共有の可否を示すポリシ情報に基づいて前記通信を実行することを介し前記第2のIoTSPから前記センサデータを検索し、当該センサデータの検索時に、前記アプリケーションおよび前記第1のIoTSP間と同一の手続きを含むプロトコルインタフェースを用いる、情報処理方法。
(15)
センサデータをユーザへ取得させるサービスを提供する第1のIoTSPとして動作するコンピュータを機能させるための情報処理プログラムであって、
前記コンピュータに、
前記第1のIoTSP以外の第2のIoTSPとの間の通信を実行すること、
アプリケーションを介した前記ユーザの取得要求に該当する前記センサデータを検索し、検索した前記センサデータを前記ユーザに対し応答すること
を実行させ、
前記応答することは、
前記取得要求に含まれる前記第2のIoTSPの識別子およびIoTSP間の情報共有の可否を示すポリシ情報に基づいて前記通信を実行することを介し前記第2のIoTSPから前記センサデータを検索し、当該センサデータの検索時に、前記アプリケーションおよび前記第1のIoTSP間と同一の手続きを含むプロトコルインタフェースを用いる、情報処理プログラム。
(1)
センサデータをユーザへ取得させるサービスを提供する第1のIoTSPとして動作する情報処理装置であって、
前記第1のIoTSP以外の第2のIoTSPとの間の通信を実行する通信部と、
アプリケーションを介した前記ユーザの取得要求に該当する前記センサデータを検索し、検索した前記センサデータを前記ユーザに対し応答する制御部と
を備え、
前記制御部は、
前記取得要求に含まれる前記第2のIoTSPの識別子およびIoTSP間の情報共有の可否を示すポリシ情報に基づいて前記通信部を介し前記第2のIoTSPから前記センサデータを検索し、当該センサデータの検索時に、前記アプリケーションおよび前記第1のIoTSP間と同一の手続きを含むプロトコルインタフェースを用いる、情報処理装置。
(2)
前記制御部は、
前記第2のIoTSPから、前記第1のIoTSPおよび前記第2のIoTSP以外の第3のIoTSPを介して間接的に前記センサデータを取得する、前記(1)に記載の情報処理装置。
(3)
前記第3のIoTSPは、
前記第1のIoTSPおよび前記第2のIoTSPの間に直鎖状に1以上接続される、前記(2)に記載の情報処理装置。
(4)
前記制御部は、
クエリ言語を用いて前記同一の手続きを実行する、前記(3)に記載の情報処理装置。
(5)
前記第1のIoTSPおよび前記第2のIoTSPは、
各々の構成情報を保存する第1のデータベースおよび各々が管理するセンサノードの前記センサデータを保存する第2のデータベースをそれぞれ有しており、
前記制御部は、
前記クエリ言語を用いた前記第1のデータベースおよび前記第2のデータベースに対する問合せによって、前記センサデータを取得する、前記(4)に記載の情報処理装置。
(6)
前記構成情報は、前記ポリシ情報を含み、
前記第1のIoTSPの前記ポリシ情報は、前記第1のIoTSPの管理者によって設定され、
前記制御部は、
前記ポリシ情報に基づいて、前記情報共有を可とする前記第2のIoTSPおよび前記第3のIoTSPとの間で前記構成情報を共有させる、前記(5)に記載の情報処理装置。
(7)
前記制御部は、
前記第1のIoTSPの前記構成情報が変更された場合に、前記情報共有を可とする前記第2のIoTSPおよび前記第3のIoTSPそれぞれの前記第1のデータベースに対する前記クエリ言語を用いた変更登録要求によって、前記第1のIoTSPの前記構成情報を共有させる、前記(6)に記載の情報処理装置。
(8)
前記制御部は、
前記情報共有を可とする前記第2のIoTSPまたは前記第3のIoTSPのみ復号可能となるように、変更された前記構成情報の内容を暗号化する、前記(7)に記載の情報処理装置。
(9)
前記構成情報は、
前記第1のIoTSPが管理するエリアに関する地理情報と前記エリアにおいて管理される前記センサノードとの関係をオントロジにより表現したデータ構造を有する、前記(5)~(8)のいずれか一つに記載の情報処理装置。
(10)
前記構成情報は、
前記エリア、前記センサノード、前記エリアに設置されて前記センサノードを終端する地点をそれぞれクラスとする前記オントロジにより表現した前記データ構造を有する、前記(9)に記載の情報処理装置。
(11)
前記制御部は、
前記アプリケーションを介して前記ユーザにより指定された検索範囲に含まれる前記地点に該当する前記センサデータを検索する、前記(10)に記載の情報処理装置。
(12)
前記センサノードは、
前記地点に対して一時的に接続する移動体を含む、前記(10)または(11)に記載の情報処理装置。
(13)
前記(1)~(12)のいずれか一つに記載の情報処理装置である第1の情報処理装置と、
前記第2のIoTSPとして動作する第2の情報処理装置と
を備える、情報処理システム。
(14)
センサデータをユーザへ取得させるサービスを提供する第1のIoTSPとして動作する情報処理装置を用いた情報処理方法であって、
前記第1のIoTSP以外の第2のIoTSPとの間の通信を実行することと、
アプリケーションを介した前記ユーザの取得要求に該当する前記センサデータを検索し、検索した前記センサデータを前記ユーザに対し応答することと
を含み、
前記応答することは、
前記取得要求に含まれる前記第2のIoTSPの識別子およびIoTSP間の情報共有の可否を示すポリシ情報に基づいて前記通信を実行することを介し前記第2のIoTSPから前記センサデータを検索し、当該センサデータの検索時に、前記アプリケーションおよび前記第1のIoTSP間と同一の手続きを含むプロトコルインタフェースを用いる、情報処理方法。
(15)
センサデータをユーザへ取得させるサービスを提供する第1のIoTSPとして動作するコンピュータを機能させるための情報処理プログラムであって、
前記コンピュータに、
前記第1のIoTSP以外の第2のIoTSPとの間の通信を実行すること、
アプリケーションを介した前記ユーザの取得要求に該当する前記センサデータを検索し、検索した前記センサデータを前記ユーザに対し応答すること
を実行させ、
前記応答することは、
前記取得要求に含まれる前記第2のIoTSPの識別子およびIoTSP間の情報共有の可否を示すポリシ情報に基づいて前記通信を実行することを介し前記第2のIoTSPから前記センサデータを検索し、当該センサデータの検索時に、前記アプリケーションおよび前記第1のIoTSP間と同一の手続きを含むプロトコルインタフェースを用いる、情報処理プログラム。
100 情報処理装置
110 通信部
120 記憶部
130 制御部
110 通信部
120 記憶部
130 制御部
Claims (15)
- センサデータをユーザへ取得させるサービスを提供する第1のIoTSP(Internet of Things Service Provider)として動作する情報処理装置であって、
前記第1のIoTSP以外の第2のIoTSPとの間の通信を実行する通信部と、
アプリケーションを介した前記ユーザの取得要求に該当する前記センサデータを検索し、検索した前記センサデータを前記ユーザに対し応答する制御部と
を備え、
前記制御部は、
前記取得要求に含まれる前記第2のIoTSPの識別子およびIoTSP間の情報共有の可否を示すポリシ情報に基づいて前記通信部を介し前記第2のIoTSPから前記センサデータを検索し、当該センサデータの検索時に、前記アプリケーションおよび前記第1のIoTSP間と同一の手続きを含むプロトコルインタフェースを用いる、情報処理装置。 - 前記制御部は、
前記第2のIoTSPから、前記第1のIoTSPおよび前記第2のIoTSP以外の第3のIoTSPを介して間接的に前記センサデータを取得する、請求項1に記載の情報処理装置。 - 前記第3のIoTSPは、
前記第1のIoTSPおよび前記第2のIoTSPの間に直鎖状に1以上接続される、請求項2に記載の情報処理装置。 - 前記制御部は、
クエリ言語を用いて前記同一の手続きを実行する、請求項3に記載の情報処理装置。 - 前記第1のIoTSPおよび前記第2のIoTSPは、
各々の構成情報を保存する第1のデータベースおよび各々が管理するセンサノードの前記センサデータを保存する第2のデータベースをそれぞれ有しており、
前記制御部は、
前記クエリ言語を用いた前記第1のデータベースおよび前記第2のデータベースに対する問合せによって、前記センサデータを取得する、請求項4に記載の情報処理装置。 - 前記構成情報は、前記ポリシ情報を含み、
前記第1のIoTSPの前記ポリシ情報は、前記第1のIoTSPの管理者によって設定され、
前記制御部は、
前記ポリシ情報に基づいて、前記情報共有を可とする前記第2のIoTSPおよび前記第3のIoTSPとの間で前記構成情報を共有させる、請求項5に記載の情報処理装置。 - 前記制御部は、
前記第1のIoTSPの前記構成情報が変更された場合に、前記情報共有を可とする前記第2のIoTSPおよび前記第3のIoTSPそれぞれの前記第1のデータベースに対する前記クエリ言語を用いた変更登録要求によって、前記第1のIoTSPの前記構成情報を共有させる、請求項6に記載の情報処理装置。 - 前記制御部は、
前記情報共有を可とする前記第2のIoTSPまたは前記第3のIoTSPのみ復号可能となるように、変更された前記構成情報の内容を暗号化する、請求項7に記載の情報処理装置。 - 前記構成情報は、
前記第1のIoTSPが管理するエリアに関する地理情報と前記エリアにおいて管理される前記センサノードとの関係をオントロジにより表現したデータ構造を有する、請求項5に記載の情報処理装置。 - 前記構成情報は、
前記エリア、前記センサノード、前記エリアに設置されて前記センサノードを終端する地点をそれぞれクラスとする前記オントロジにより表現した前記データ構造を有する、請求項9に記載の情報処理装置。 - 前記制御部は、
前記アプリケーションを介して前記ユーザにより指定された検索範囲に含まれる前記地点に該当する前記センサデータを検索する、請求項10に記載の情報処理装置。 - 前記センサノードは、
前記地点に対して一時的に接続する移動体を含む、請求項10に記載の情報処理装置。 - 請求項1に記載の情報処理装置である第1の情報処理装置と、
前記第2のIoTSPとして動作する第2の情報処理装置と
を備える、情報処理システム。 - センサデータをユーザへ取得させるサービスを提供する第1のIoTSP(Internet of Things Service Provider)として動作する情報処理装置を用いた情報処理方法であって、
前記第1のIoTSP以外の第2のIoTSPとの間の通信を実行することと、
アプリケーションを介した前記ユーザの取得要求に該当する前記センサデータを検索し、検索した前記センサデータを前記ユーザに対し応答することと
を含み、
前記応答することは、
前記取得要求に含まれる前記第2のIoTSPの識別子およびIoTSP間の情報共有の可否を示すポリシ情報に基づいて前記通信を実行することを介し前記第2のIoTSPから前記センサデータを検索し、当該センサデータの検索時に、前記アプリケーションおよび前記第1のIoTSP間と同一の手続きを含むプロトコルインタフェースを用いる、情報処理方法。 - センサデータをユーザへ取得させるサービスを提供する第1のIoTSP(Internet of Things Service Provider)として動作するコンピュータを機能させるための情報処理プログラムであって、
前記コンピュータに、
前記第1のIoTSP以外の第2のIoTSPとの間の通信を実行すること、
アプリケーションを介した前記ユーザの取得要求に該当する前記センサデータを検索し、検索した前記センサデータを前記ユーザに対し応答すること
を実行させ、
前記応答することは、
前記取得要求に含まれる前記第2のIoTSPの識別子およびIoTSP間の情報共有の可否を示すポリシ情報に基づいて前記通信を実行することを介し前記第2のIoTSPから前記センサデータを検索し、当該センサデータの検索時に、前記アプリケーションおよび前記第1のIoTSP間と同一の手続きを含むプロトコルインタフェースを用いる、情報処理プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202280051020.4A CN117693745A (zh) | 2021-07-28 | 2022-03-22 | 信息处理装置、信息处理系统、信息处理方法和信息处理程序 |
US18/580,167 US20240340344A1 (en) | 2021-07-28 | 2022-03-22 | Information processing apparatus, information processing system, information processing method, and information processing program |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021-123308 | 2021-07-28 | ||
JP2021123308 | 2021-07-28 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2023007834A1 true WO2023007834A1 (ja) | 2023-02-02 |
Family
ID=85087817
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2022/013150 WO2023007834A1 (ja) | 2021-07-28 | 2022-03-22 | 情報処理装置、情報処理システム、情報処理方法、および情報処理プログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US20240340344A1 (ja) |
CN (1) | CN117693745A (ja) |
WO (1) | WO2023007834A1 (ja) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170187807A1 (en) * | 2015-12-28 | 2017-06-29 | Verizon Patent And Licensing Inc. | Internet of things provisioning |
US20200014660A1 (en) * | 2017-03-15 | 2020-01-09 | Abb Schweiz Ag | Rule-based information exchange in internet of things |
-
2022
- 2022-03-22 US US18/580,167 patent/US20240340344A1/en active Pending
- 2022-03-22 WO PCT/JP2022/013150 patent/WO2023007834A1/ja active Application Filing
- 2022-03-22 CN CN202280051020.4A patent/CN117693745A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170187807A1 (en) * | 2015-12-28 | 2017-06-29 | Verizon Patent And Licensing Inc. | Internet of things provisioning |
US20200014660A1 (en) * | 2017-03-15 | 2020-01-09 | Abb Schweiz Ag | Rule-based information exchange in internet of things |
Also Published As
Publication number | Publication date |
---|---|
US20240340344A1 (en) | 2024-10-10 |
CN117693745A (zh) | 2024-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8589372B2 (en) | Method and system for automated document registration with cloud computing | |
US9342806B2 (en) | Method and system for automated project management | |
JP4612817B2 (ja) | グループ管理装置及び情報処理方法、ならびにコンピュータプログラム及び記録媒体 | |
EP2738672B1 (en) | Communications network, computer architecture, computer-implemented method and computer program product for development and management of femtocell-based applications | |
KR101631618B1 (ko) | 가상 개인화 그룹 생성 방법 및 가상 개인화 그룹을 이용하는 통신 기기와 허브를 포함하는 네트워크 | |
JP2021527349A (ja) | サービス加入者のプライバシのためのデータ匿名化 | |
US20140081932A1 (en) | Method and system for secure automated document registration from social media networks | |
CN111742531B (zh) | 简档信息共享 | |
JP2005293004A (ja) | アクセス権管理システム及びアクセス権管理方法 | |
US20200228986A1 (en) | Unified data repository proxy | |
CN104520836A (zh) | 用于促进应用之间的服务提供的系统和方法 | |
WO2022062889A1 (zh) | 一种切片管理方法、装置及通信设备 | |
US10091134B2 (en) | Open M2M system and method | |
JP2009075688A (ja) | 携帯装置の位置に関する情報とファイル用暗号鍵とを管理するためのプログラムおよび方法 | |
JP2005051475A (ja) | 個人情報管理システム、個人情報管理方法及びそのプログラム | |
US20160308870A1 (en) | Network access method and apparatus | |
CN101283540B (zh) | 在数字权限管理中共享权限对象的方法及其装置和系统 | |
US20210282009A1 (en) | Integrity for mobile network data storage | |
Hao et al. | Dbac: Directory-based access control for geographically distributed iot systems | |
JP2008250930A (ja) | データ利用制限システム、ユーザ情報管理装置、データ利用判定装置及び移動機並びにデータ利用制限方法 | |
WO2023007834A1 (ja) | 情報処理装置、情報処理システム、情報処理方法、および情報処理プログラム | |
JP2000250832A (ja) | 分散ディレクトリ管理システム | |
US9286305B2 (en) | Virtual storage gate system | |
US20220311600A1 (en) | Time-Aware Blockchain Staged Regulatory Control of Internet of Things Data | |
JP4915463B2 (ja) | 情報処理装置 |
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: 22848918 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 202280051020.4 Country of ref document: CN |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 22848918 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: JP |