(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-04-27
(45)【発行日】2022-05-11
(54)【発明の名称】分散されたセマンティック記述子に対するセマンティッククエリ
(51)【国際特許分類】
G06F 16/2458 20190101AFI20220428BHJP
G06F 16/907 20190101ALI20220428BHJP
【FI】
G06F16/2458
G06F16/907
(21)【出願番号】P 2019516949
(86)(22)【出願日】2017-09-29
(86)【国際出願番号】 US2017054230
(87)【国際公開番号】W WO2018064442
(87)【国際公開日】2018-04-05
【審査請求日】2020-09-23
(32)【優先日】2016-09-29
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】515222713
【氏名又は名称】コンヴィーダ ワイヤレス, エルエルシー
(74)【代理人】
【識別番号】110002147
【氏名又は名称】特許業務法人酒井国際特許事務所
(72)【発明者】
【氏名】リ,シュウ
(72)【発明者】
【氏名】ワン,チョンガン
(72)【発明者】
【氏名】リ,クァン
(72)【発明者】
【氏名】シード,デイル
【審査官】三橋 竜太郎
(56)【参考文献】
【文献】米国特許出願公開第2014/0067762(US,A1)
【文献】特表2014-505896(JP,A)
【文献】米国特許出願公開第2015/0227618(US,A1)
【文献】特表2016-518635(JP,A)
【文献】米国特許出願公開第2016/0275190(US,A1)
【文献】Hongkun Li, 外4名,“Enabling Semantics in an M2M/IoT Service Delivery Platform”,[online],2016 IEEE Tenth International Conference on Semantic Computing (ICSC),米国,IEEE Computer Society,2016年02月04日,p.206-213,[令和3年8月12日検索],インターネット<https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=7439335>
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
(57)【特許請求の範囲】
【請求項1】
分散されたセマンティック記述子に対するセマンティッククエリのための装置であって、
プロセッサと、
前記プロセッサに接続されたメモリと、を備え、
前記メモリは実行可能な命令を備え、前記実行可能な命令は前記プロセッサによって実行されたとき、前記プロセッサに、
センサに関連する情報を取得することと、
前記センサに関連する前記情報を通常のリソースに提供することと、
前記情報をトリプルとして表す、前記情報のための第1semanticDescriptorリソースを作成することと、
前記第1semanticDescriptorリソースが作成されたことに基づいて、前記情報がトリプルとして複製されていることを、前記通常のリソースの属性において示すことと、を含む動作を実行させ、
前記第1semanticDescriptorリソースは、前記センサからの測定値である更新された情報を前記センサから取得するための、別の装置の第2semanticDescriptorリソースとリンクされることを特徴とす
る装置。
【請求項2】
分散されたセマンティック記述子に対するセマンティッククエリのための装置であって、
プロセッサと、
前記プロセッサに接続されたメモリと、を備え、
前記メモリは実行可能な命令を備え、前記実行可能な命令は前記プロセッサによって実行されたとき、前記プロセッサに、
センサに関連する情報を取得することと、
前記センサに関連する前記情報を通常のリソースに提供することと、
前記情報をトリプルとして表す、前記情報のための第1semanticDescriptorリソースを作成することと、
前記第1semanticDescriptorリソースが作成されたことに基づいて、前記情報がトリプルとして複製されていることを、前記通常のリソースの属性において示すことと、を含む動作を実行させ、
前記第1semanticDescriptorリソースは、更新された情報を前記センサから取得するための、別の装置の第2semanticDescriptorリソースとリンクされ、第1semanticDescriptorリソースは統一資源識別子(Uniform Resource Identifier:URI)を介して第2semanticDescriptorリソースとリンクされることを特徴とす
る装置。
【請求項3】
前記通常のリソースはcontentInstanceリソースであることを特徴とする、請求項1
又は2に記載の装置。
【請求項4】
前記動作は、前記情報の測定単位を示すセマンティックメタデータを取得することをさらに含むことを特徴とする、請求項1
~3のうちいずれか1つに記載の装置。
【請求項5】
前記動作は、セマンティック推論を用いて前記情報の測定単位を取得することをさらに含むことを特徴とする、請求項1
~4のうちいずれか1つに記載の装置。
【請求項6】
前記第1semanticDescriptor
リソースは前記通常のリソースの子リソースであることを特徴とする、請求項1
~5のうちいずれか1つに記載の装置。
【請求項7】
センサに関連する情報を取得することと、
前記センサに関連する前記情報を通常のリソースに提供することと、
前記情報をトリプルとして表す、前記情報のための第1semanticDescriptorリソースを作成することと、
前記第1semanticDescriptorリソースが作成されたことに基づいて、前記情報がトリプルとして複製されていることを、前記通常のリソースの属性において示すことを含み、
前記第1semanticDescriptorリソースは、前記センサからの測定値である更新された情報を前記センサから取得するための、別の装置の第2semanticDescriptorリソースとリンクされることを特徴とす
る方法。
【請求項8】
センサに関連する情報を取得することと、
前記センサに関連する前記情報を通常のリソースに提供することと、
前記情報をトリプルとして表す、前記情報のための第1semanticDescriptorリソースを作成することと、
前記第1semanticDescriptorリソースが作成されたことに基づいて、前記情報がトリプルとして複製されていることを、前記通常のリソースの属性において示すことを含み、
前記第1semanticDescriptorリソースは、更新された情報を前記センサから取得するための、別の装置の第2semanticDescriptorリソースとリンクされ、前記第1semanticDescriptorリソースは統一資源識別子(Uniform Resource Identifier:URI)を介して第2semanticDescriptorリソースとリンクされることを特徴とす
る方法。
【請求項9】
前記通常のリソースはcontentInstanceリソースであることを特徴とする、請求項
7又は8に記載の方法。
【請求項10】
前記情報の測定単位を示すセマンティックメタデータを取得することをさらに含むことを特徴とする、請求項
7~9のうちいずれか1つに記載の方法。
【請求項11】
セマンティック推論を用いて前記情報の測定単位を取得することをさらに含むことを特徴とする、請求項
7~10のうちいずれか1つに記載の方法。
【請求項12】
前記第1semanticDescriptor
リソースは前記通常のリソースの子リソースであることを特徴とする、請求項
7~11のうちいずれか1つに記載の方法。
【請求項13】
コンピュータ実行可能命令を記憶するコンピュータ可読記憶媒体であって、前記コンピュータ実行可能命令はコンピューティングデバイスによって実行されたとき、前記コンピューティングデバイスに、
センサに関連する情報を取得することと、
前記センサに関連する前記情報を通常のリソースに提供することと、
前記情報をトリプルとして表す、前記情報のための第1semanticDescriptorリソースを作成することと、
前記第1semanticDescriptorリソースが作成されたことに基づいて、前記情報がトリプルとして複製されていることを、前記通常のリソースの属性において示すことと、を含む動作を実行させ、
前記第1semanticDescriptorリソースは、更新された情報を前記センサから取得するための、別の装置の第2semanticDescriptorリソースとリンクされ、第1semanticDescriptorリソースは統一資源識別子(Uniform Resource Identifier:URI)を介して第2semanticDescriptorリソースとリンクされることを特徴とす
るコンピュータ可読記憶媒体。
【請求項14】
コンピュータ実行可能命令を記憶するコンピュータ可読記憶媒体であって、前記コンピュータ実行可能命令はコンピューティングデバイスによって実行されたとき、前記コンピューティングデバイスに、
センサに関連する情報を取得することと、
前記センサに関連する前記情報を通常のリソースに提供することと、
前記情報をトリプルとして表す、前記情報のための第1semanticDescriptorリソースを作成することと、
前記第1semanticDescriptorリソースが作成されたことに基づいて、前記情報がトリプルとして複製されていることを、前記通常のリソースの属性において示すことと、を含む動作を実行させ、
前記第1semanticDescriptorリソースは、前記センサからの測定値である更新された情報を前記センサから取得するための、別の装置の第2semanticDescriptorリソースとリンクされることを特徴とす
るコンピュータ可読記憶媒体。
【請求項15】
前記通常のリソースはcontentInstanceリソースであることを特徴とする、請求項
13又は14に記載のコンピュータ可読記憶媒体。
【請求項16】
前記動作は、前記情報の測定単位を示すセマンティックメタデータを取得することをさらに含むことを特徴とする、請求項
13~15のうちいずれか1つに記載のコンピュータ可読記憶媒体。
【請求項17】
前記動作は、セマンティック推論を用いて前記情報の測定単位を取得することをさらに含むことを特徴とする、請求項
13~16のうちいずれか1つに記載のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願の相互参照)
本出願は、「分散されたセマンティック記述子に対するセマンティッククエリ処理」と題する2016年9月29日出願の米国仮特許出願第62/401,640号の利益を主張する。上記出願の内容は参照により本明細書に組み込まれる。
【背景技術】
【0002】
(セマンティックウェブ)
セマンティックウェブは、ワールドワイドウェブコンソーシアム(World Wide Web Consortium:W3C)による規格を通したウェブの拡張である。この規格は、ウェブ上での共通データフォーマットおよび交換プロトコル、最も基本には、リソース記述フレームワーク(Resource Description Framework:RDF)を促進する。
【0003】
セマンティックウェブは、データのために特に設計された言語、すなわちリソース記述フレームワーク(RDF)、ウェブオントロジー言語(Web Ontology Language: OWL)、および拡張マークアップ言語(Extensible Markup Language:XML)でパブリッシュすることを伴う。これらの技術を組み合わせて、リンクされたデータのウェブを介してウェブ文書のコンテンツを補足または置換する記述を提供する。したがって、コンテンツはそれ自身を、ウェブアクセス可能データベース内に記憶される記述データとして、または特に、XMLが組み込まれた拡張HTML(Extensible HTML:XHTML)文書、もしくはより多くの場合、別個に記憶されるレイアウトまたはレンダリングの指図を伴う純粋なXML文書におけるマークアップとして現し得る。
【0004】
(セマンティックウェブスタック)
セマンティックウェブスタックは、
図1に示されるように、W3Cによって規定されたセマンティックウェブのアーキテクチャを例示する。コンポーネントの機能および関係は、
図1に示され、以下に説明する。XMLは、文書内のコンテンツ構造のための基本的な構文を提供するが、その中に含まれるコンテンツの意味にセマンティクスを関連付けしない。Turtle等の代替構文が存在するため、XMLは現在、ほとんどの場合でセマンティックウェブ技術に必要なコンポーネントではない。Turtleは事実上の業界標準だが、正式な標準化プロセスを経ていない。XMLスキーマは、XML文書内に含まれる要素の構造およびコンテンツを提供および制限するための言語である。RDFは、データモデルを表すための単純な言語であり、主語-述語-目的語、例えば、S-P-OトリプルまたはRDFトリプルの形態でオブジェクト(「ウェブリソース」)およびその関係を参照する。RDFベースのモデルは、種々の構文、例えば、RDF/XML、N3、TurtleおよびRDFaで表され得る。RDFは、セマンティックウェブの基本的な規格である。
【0005】
RDFグラフは、エッジがRDFトリプルの「述語」を表すのに対し、グラフのノードは、RDFトリプルの「主語」および/または「目的語」を表す有向グラフである。すなわち、RDFトリプルに記述されるリンク構造は、そのような有向RDFグラフを形成する。RDFスキーマ(例えば、RDF Schema 1.1)は、RDFを拡張し、プロパティおよびクラスの一般化された階層のためのセマンティクスを用いてRDFベースのリソースのプロパティおよびクラスを記述するための語彙である。OWLは、プロパティおよびクラス、とりわけ、クラス間の関係(例えば、離接)、基数(例えば、「正確に1つ」)、相等性、より豊富なタイプのプロパティ、プロパティの特性(例えば、対称性)、および列挙されたクラスを記述するために、より多くの語彙を追加する。
【0006】
SPARQL(例えば、SPARQL1.1)は、ウェブ上またはRDFストア(例えば、セマンティックグラフストア)においてRDFグラフのコンテンツ(例えば、RDFトリプル)をクエリおよび操作するための、セマンティックウェブデータソースのためのプロトコルおよびクエリ言語である。SPARQL1.1クエリ(RDFグラフのためのクエリ言語)は、データがRDFとしてネイティブに記憶されているか、またはミドルウェアを介してRDFとして見なされるかに関わらず、多様なデータソースにわたるクエリを表すために使用され得る。SPARQLは、その論理積および論理和と一緒に、必要とされるグラフパターンおよび随意のグラフパターンをクエリするための機能を含む。SPARQLは、集約、サブクエリ、否定、式による値の作成、拡張値試験、およびソースRDFグラフによるクエリの制約もサポートする。SPARQLクエリの結果は、結果のセットまたはRDFグラフであり得る。SPARQL1.1更新は、RDFグラフのための更新言語である。SPARQL1.1更新は、RDFのためにSPARQLクエリ言語由来の構文を使用する。更新動作は、セマンティックグラフストアにおけるグラフの集合に対して行われる。動作は、セマンティックグラフストア内のRDFグラフを更新、作成、および除去するために提供される。RIFは、W3Cルール交換フォーマットである。RIFは、コンピュータが実行可能なウェブルールを表すためのXML言語である。RIFは、ダイアレクトと呼ばれる複数のバージョンを提供する。ダイアレクトは、RIF基本論理ダイアレクト(RIF Basic Logic Dialect: RIF-BLD)およびRIF生成ルールダイアレクト(RIF Production Rules Dialect: RIF PRD)を含む。
【0007】
(セマンティック検索とセマンティッククエリ)
リレーショナルデータベースは、データ間の関係を暗示的に含む。例えば、(2つのコンテンツテーブルに記憶され、追加のリンクテーブルと連結された)顧客と製品との関係は、開発者によって書かれたクエリステートメント(例えば、リレーショナルデータベースの場合、SQLが使用される)の中でだけ発生する。クエリを書くには、データベーススキーマに関する正確な知識を必要とする。多くのリレーショナルデータベースは、データをツリー構造に構成した階層型データベースとしてモデル化される。データは、リンクを介して相互結合されたレコードとして記憶される。階層型データベースモデルにおけるレコードは、リレーショナルデータベースモデルにおける行(またはタプル)に対応し、エンティティタイプはテーブル(または関係、たとえば、親と子の関係)に対応する。レコードの検索またはクエリは、SQLまたは非SQL検索エンジンによって実行され得る。
【0008】
図2に示すように、階層型データベースでは、各子レコードは1つの親レコードしか持てないが、各親レコードは1つまたは複数の子レコードを持つことができる。階層型データベースからデータを読み出すには、ルートノードから始めて、ツリー全体をトラバースする必要がある。この構造は単純であるが、関係が一対多の関係に限られるため、柔軟性に欠ける。
【0009】
リンクトデータは、データ間のすべての関係を明示的に含む。リレーショナルデータベースに関して説明された上記例では、クエリコードを書く必要はない。各顧客のための正しい製品を自動的にフェッチすることができる。この簡単な例は取るに足りないものであるが、情報のネットワーク(顧客に関しては都市、州、および国家等の地理空間情報、製品に関しては下位および上位カテゴリー内のカテゴリー)が作成されると、リンクトデータは真価を発揮し始める。すると、システムは、特定の場所と製品カテゴリーの結びつきを探すさらに複雑なクエリや分析に自動的に回答することができる。このクエリに対する開発努力については省略される。セマンティッククエリは、情報のネットワークのウォークと、一致の検索(データグラフトラバーサルとも呼ばれる)をすることによって、実行される。
【0010】
セマンティック検索は、検索者の意図と、ウェブ上であるかクローズドシステム内であるかに関わらず、検索可能なデータ空間内に現れるときの文脈上の意味とを理解することによって検索精度を改善して、より関連性の高い結果を生成しようとする。セマンティック検索システムは、検索の文脈、場所、意図、ならびに単語、同義語、一般化および特殊クエリ、概念一致、および自然言語クエリの変形例を含む種々の点を考慮し、関連する検索結果を提供する。GoogleおよびBingのような主要なウェブ検索エンジンは、セマンティック検索のいくつかの要素を取り込んでいる。セマンティック検索は、セマンティクスを使用して、非常に関連性の高い検索結果を生成する。ほとんどの場合、その目標は、大まかに関連したキーワード結果のリストをユーザに分類させるのではなく、ユーザがクエリした情報を届けることである。例えば、セマンティクスは、階層型リレーショナルデータベース内のレコード検索またはクエリを強化するために使用され得る。
【0011】
セマンティッククエリは、連想的および文脈的性質のクエリおよび分析を可能にする。セマンティッククエリは、データ内に含まれる構文情報、セマンティック情報および構造情報に基づいて、明示的に導かれる情報および暗示的に導かれる情報の両方の読み出しを可能にする。セマンティッククエリは、正確な結果(おそらく、ただ1つの情報の独特の選択)を届けるように、またはパターン照合およびデジタル推論を通してよりファジィかつ制限のない質問に回答するように設計される。
【0012】
セマンティッククエリは、名前付きグラフ、リンクされたデータまたはトリプルに働きかける。このことにより、クエリが、情報間の実際の関係を処理し、データのネットワークからの回答を推測することを可能にする。これは、セマンティック検索とは対照的であり、セマンティック検索は、セマンティックを非構造化されたテキストにおいて使用し、より良好な検索結果を生成する(例えば、自然言語処理)。
【0013】
技術的観点から、セマンティッククエリは、データベースクエリとよく似た正確なリレーション型の動作である。セマンティッククエリは、構造化されたデータに働きかける。したがって、演算子(例えば、>、<、および=)、名前空間、パターン照合、サブクラス化、推移関係、セマンティックルール、および文脈全文検索のような広範囲の特徴を利用する可能性を有する。W3Cのセマンティックウェブ技術スタックは、セマンティッククエリをSQLに類似した構文で公式化するためのSPARQLを提供する。セマンティッククエリは、トリプルストア、グラフデータベース、セマンティックウィキ、自然言語および人工知能システムにおいて使用される。
【0014】
セマンティッククエリの別の側面は、関係のタイプをシステムへの知能の組み込みに使用し得ることである。顧客と製品との関係は、近隣地域とその都市との関係とは基本的に異なる性質を有する。後者は、セマンティッククエリエンジンが、マンハッタンに住んでいる顧客がニューヨーク市にも住んでいることを推測することを可能にする一方、他の関係は、より複雑なパターンおよび「文脈分析」を有し得る。このプロセスは、推測または推論と呼ばれ、所与の事実に基づいて新しい情報を導くためのソフトウェアの能力である。
【0015】
(oneM2M機能アーキテクチャ)
開発中のoneM2M規格(oneM2M-TS-0001 oneM2M Functional Architecture-V2.9.0)は、「共通サービスエンティティ(Common Service Entity:CSE)」と呼ばれるサービス層を定義する。サービス層の目的は、異なる「垂直」M2Mシステムおよびアプリケーションによって利用可能な「水平」サービスを提供することである。CSEは、
図3に示すような参照点をサポートする。Mca参照点は、アプリケーションエンティティ(Application Entity:AE)とインタフェースする。Mcc参照点は、同一サービスプロバイダドメイン内の別のCSEとインタフェースし、Mcc’参照点は、異なるサービスプロバイダドメイン内の別のCSEとインタフェースする。Mcn参照点は、下層のネットワークサービスエンティティ(Network Service Entity:NSE)とインタフェースする。NSEは、デバイス管理、ロケーションサービスおよびデバイストリガリング等の下層ネットワークサービスをCSEに提供する。
【0016】
CSEは、「発見」、「データ管理およびリポジトリ」等の共通サービス機能(Common Service Function: CSF)と呼ばれる、複数の論理機能を含む。
図4は、oneM2Mによって規定されるCSFをいくつか図示している。
【0017】
oneM2Mアーキテクチャは、
図3に示すようなタイプのノードを可能にする。アプリケーションサービスノード(Application Service Node: ASN)は、1つのCSEを含みかつ少なくとも1つのアプリケーションエンティティ(AE)を含むノードである。ASNは、M2Mエンドデバイス内に常駐し得る。アプリケーション専用ノード(Application Dedicated Node: ADN)は、少なくとも1つのAEを含むが、CSEを含まないノードである。ゼロ以上のADNが、oneM2Mシステムのフィールドドメイン内に存在し得る。物理的マッピングの例:アプリケーション専用ノードは、制約付きM2Mデバイス内に常駐し得る。中間ノード(Middle Node: MN)は、1つのCSEを含みかつゼロ以上のAEを含むノードである。ゼロ以上のMNが、oneM2Mシステムのフィールドドメイン内に存在し得る。MNは、M2Mゲートウェイ内に常駐し得る。インフラストラクチャノード(Infrastructure Node: IN)は、1つのCSEを含みかつゼロ以上のAEを含むノードである。INは、oneM2Mサービスプロバイダごとにインフラストラクチャドメイン内に1つだけ存在する。IN内のCSEは、他のノードタイプには適用できないCSE機能を含み得る。物理的マッピングの例:INは、M2Mサービスインフラストラクチャ内に常駐し得る。非oneM2Mノード(Non-oneM2M Node: NoDN)は、oneM2Mエンティティ(AEまたはCSEのいずれでもない)を含まないノードである。このようなノードは、管理を含む、インターワーク目的のために、oneM2Mシステムにアタッチされたデバイスを表す。
【0018】
(oneM2Mにおけるセマンティクスの適用性検討)
図5に示す<semanticDescriptor>リソースは、リソースおよび場合によりサブリソースに関するセマンティック記述を記憶するために使用される。このような記述は、オントロジーに従って提供され得る。セマンティック情報は、oneM2Mシステムのセマンティック機能によって使用され、アプリケーションまたはCSEにも使用される。<semanticDescriptor>リソースは、表1に規定される属性を含むものとする。
【表1】
【0019】
(oneM2Mのセマンティックフィルタリングの提案)
一般フィルタリングは、要求動作に規定されたフィルタ基準を有することによってサポートされる(oneM2M-TS-0001 oneM2M Functional Architecture-V2.9.0 第8.1.2節)。セマンティックフィルタリングを提供するために、要求動作フィルタ基準のための追加の値がoneM2M TR-0007-Study_on_Abstraction_and_Semantics_Enablement-V2.11.0 第8.5.4節に提案されており、その定義を下表に示す。複数のインスタンスを使用することができ、これは、フィルタ基準を評価するための一般的ルールに従い、「OR」セマンティクスが適用され、例えば、セマンティックフィルタのうちの1つまたは複数がセマンティック記述に一致する場合、セマンティックフィルタ基準のための総合的な結果が真であることを意味する。下表のセマンティクスは、oneM2M TR-0007-Study_on_Abstraction_and_Semantics_Enablement-V2.11.0に定義され、oneM2M-TS-0001 oneM2M Functional Architecture-V2.9.0の要求パラメータsemanticFilterに対応することに留意されたい。semanticFilterパラメータに含まれるSPAQRLクエリが、親リソースの<semanticDescriptor>子リソースのうちの1つのセマンティックトリプルと一致する場合、これは、このセマンティックフィルタリングが成功しており、対応する親リソースは返されることを意味する。
【表2】
【0020】
上記の提案は、以下の仮定を使用する:セマンティック記述は、RDFトリプル(表現、例えば、RDF/XML、Turtle、oneM2M内にまだ完全に規定されていない記述フォーマット)として規定され、セマンティックフィルタ基準は、セマンティック記述に対して実行されるべきSPARQL要求のために使用されるであろう。
【0021】
以下は、oneM2M TR-0007に示されているセマンティックフィルタリング例である。
【表3】
【0022】
これは、my:myDevice1によって記述されるAEリソースは結果セットに含まれるが、my:myDevice2によって記述されるAEリソースは含まれないことを意味する。
【0023】
場合によっては、1回の検索のための関連セマンティック情報は、異なる<semanticDescriptor>リソース間に分散されている場合がある。
図6で与えられる例はこの場合を示す。ボックスは、セマンティックフィルタの範囲を表し、例えば、このボックスは、それを評価するために必要な情報である。主語-述語-目的語関係を表すセマンティックグラフが図示されており、このグラフの異なる部分(楕円で表される)は異なる<semanticDescriptor>リソースに記憶されている。セマンティックフィルタリングは、完全なセマンティックグラフ(の一部)に適用される必要があり、このことにより、グラフのいくつかの異なる部分をセマンティック動作の実行のために一緒にする必要があるという問題が生じる。
【0024】
この問題は概して、セマンティックウェブの領域では明らかではない。クラスインスタンスを識別するURIが直接デリファレンスし得ることから、概念(例えば、クラス、関係)情報をそのURIに基づいて発見し得るからである。oneM2Mの場合、アクセスされ得るリソースおよびセマンティクスのみが、リソースのコンテンツとして記憶される。
【0025】
現在SPARQL1.1は、SERVICEキーワードを使用してフェデレーテッドクエリをサポートし、遠隔SPARQLエンドポイントのURLが指定され得る。このアプローチに関して、要求側は、どのセマンティック記述子が検索に要求されるセマンティックインスタンスを含むかを予め把握しているであろう。したがって、セマンティック記述子がリソースツリー内に分散されている場合、このアプローチは一般に適用できなくなる。
【0026】
提示される<semanticDescriptor>リソースをまたいで記憶されているセマンティック記述に対してセマンティックフィルタリングを可能にするための解決策は、resourceDescriptorLink OWL注釈プロパティの形態で注釈リンクを導入する。この注釈プロパティは、任意のクラスインスタンスのために指定でき、その値は、<semanticDescriptor>リソースのURLであり、所与のクラスインスタンスのための追加のRDFトリプルが見出され得る。以下の例は、
図8のグラフを作成するために、oneM2Mベースオントロジー(
図7)に定義されたクラスおよび関係を用いる。
【0027】
この解決策は、受信側におけるSPARQLベースのセマンティックフィルタリングエンジンのための以下の機能フローを伴う:
・SPARQL要求として公式化されるセマンティックフィルタは、候補リソースのセマンティック記述子リソースのコンテンツに対して実行される。
・実行の過程で、1つまたは複数のresourceDescriptorLink注釈を伴うクラスインスタンスに遭遇した場合、実行は停止される。
・resourceDescriptorLinkが参照する<semanticDescriptor>リソースの各々のコンテンツが、SPARQL要求が実行されているコンテンツに追加される
・SPARQL要求の実行が、拡大されたコンテンツに対して継続される。
【0028】
(oneM2M文脈中のセマンティックフィルタリング/発見とセマンティッククエリ)
oneM2Mは、セマンティックフィルタを通して、セマンティックリソース発見をサポートする。一般に、セマンティッククエリは、連想的および文脈的性質のクエリおよび分析を可能にする。セマンティッククエリは、データ内に含まれる構文情報、セマンティック情報、または構造情報に基づいて、明示的に導かれる情報および暗示的に導かれる情報の両方の読み出しを可能にする。
【0029】
以下は、セマンティッククエリとセマンティックリソース発見の相違点をまとめたものである。セマンティッククエリは、RDFデータインフラストラクチャに関する有用な知識を抽出するものである。セマンティックリソース発見は、リソースのセマンティックメタデータおよびセマンティックフィルタに基づいてリソースを発見してリソースURIを返すことを目標としている(セマンティッククエリは、リソースURIを返すこともでき、例えば、セマンティックリソース発見以上のことをすることができることに留意されたい)。
図9は、種々のセマンティッククエリのクエリ結果の例を示す。
図9に示す例として、クエリ3はホームページに対するクエリを行い、このクエリに対するリターン結果は一組のリソースURI(例えば、ホームページアドレス)である。セマンティッククエリは、トリプルストアのようなセマンティック中心のインフラストラクチャとより関連し、一方、セマンティックリソース発見は、サービス層内で定義されるoneM2Mリソースツリーのようなリソースツリーインフラストラクチャとより関連している。セマンティッククエリは、リソースのURIのみならず、「知識」の観点における任意のフォーマットのクエリ結果を返すことができる。
【発明の概要】
【発明が解決しようとする課題】
【0030】
セマンティッククエリは、データ(例えば、RDFトリプルの観点における)内に含まれる構文情報、セマンティック情報、および構造情報に基づいて、明示的に導かれる情報/知識および暗示的に導かれる情報/知識の両方の読み出しを可能にする。現在、oneM2M文脈において、セマンティック関連の特徴をサポートするための主として2つのアーキテクチャ選択肢があるが、1つは、集中型アプローチであり、そこでは、システム中に集中的トリプルストアがあり、セマンティック処理、例えば、セマンティッククエリが集中的トリプルストアに対して実行される。もう1つは、トリプルはリソースツリー内に分散され、異なる<semanticDescriptor>リソース内に記憶されるという意味で、分散型アプローチである。
【課題を解決するための手段】
【0031】
現時点では、分散されたセマンティック記述子(例えば、oneM2M<semanticDescriptor>リソース)に対して直接セマンティッククエリ処理を行うための既存の解決策は存在しない。本明細書では、分散されたセマンティック記述子に対するセマンティッククエリのための複数のアプリケーションについて説明する。第1の例示的な方法では、情報が単一のセマンティック記述子内に記憶されている場合のセマンティッククエリを考える。第2の例示的な方法では、要求または他の方法で必要とされる情報がセマンティック記述子内に記憶されていない場合のセマンティッククエリを考える。第3の例示的な方法では、異なるが関連するセマンティック記述子内に情報が分散されている場合のセマンティッククエリを考える。第4の例示的な方法では、異なっており関連もしないか、もしくはピア(peer)セマンティック記述子内に情報が分散されている場合のセマンティッククエリを考える。第5の方法では、既存のセマンティックリソース発見メカニズムの利用による、目標とするリソースからの情報に対する間接的なクエリがあり得る。
【0032】
この概要は、発明を実施するための形態において以下でさらに説明される概念の選択を簡単な形式で紹介するために提供されている。この概要は、特許請求される主題の重要な特徴または本質的な特徴を特定することを意図しておらず、また特許請求される主題の範囲を限定するために用いられることを意図していない。さらに、特許請求される主題は、本開示の任意の部分に記述される任意のまたはすべての不都合を解決する制限に限定されない。
【図面の簡単な説明】
【0033】
添付の図面と共に例として示される以下の説明から、より詳細な理解を得ることができる。
【0034】
【
図1】
図1は、セマンティックウェブのアーキテクチャを示す。
【
図2】
図2は、例示的な階層型データベースを示す。
【
図3】
図3は、oneM2Mアーキテクチャを示す。
【
図4】
図4は、oneM2M共通サービス機能を示す。
【
図5】
図5は、リソースツリー中の<semanticDescriptor>リソースの構造を示す。
【
図6】
図6は、異なるリソース内に記憶されたセマンティック情報を横切るセマンティックフィルタの範囲例を示す。
【
図7】
図7は、例示的なoneM2Mベースオントロジーを示す。
【
図8】
図8は、例示的なresourceDescriptionLinkを示す。
【
図9】
図9は、ワールドワイドウェブコンソーシアムによって提供されるセマンティッククエリの例示的なクエリ結果を示す。
【
図10】
図10は、セマンティック層によって制御される、階層化された構造内のアクセス制御を示す。
【
図11】
図11は、第1シナリオに対するセマンティッククエリ処理の手順を示す。
【
図12】
図12は、<semanticDescriptor>リソース内に記憶されていないセマンティッククエリ要求情報を示す。
【
図13】
図13は、シナリオ2Aに対する新情報のためにRDFトリプルを作成/記憶する方法に関するオプション1を示す。
【
図14】
図14は、シナリオ2Aのオプション1に対する情報クローン化手順を示す。
【
図15】
図15は、シナリオ2Aのオプション1に対するセマンティッククエリ処理手順を示す。
【
図16】
図16は、シナリオ2Aのオプション1に対する、オンデマンド情報クローン化に基づく代替的なセマンティッククエリ処理手順を示す。
【
図17】
図17は、シナリオ2Aの新情報のためにRDFトリプルを作成/記憶する方法に関するオプション2を示す。
【
図18】
図18は、シナリオ2Aのオプション2に対する情報クローン化手順を示す。
【
図20】
図20は、シナリオ2Bに対する情報リンク手順を示す。
【
図21】
図21は、シナリオ2Bに対するセマンティッククエリ処理手順を示す。
【
図22】
図22は、異なるが関連する<semanticDescriptor>リソース内に分散されているセマンティッククエリ要求情報のための例示的なシナリオを示す。
【
図24】
図24は、第3シナリオに対するセマンティッククエリ処理手順を示す。
【
図25】
図25は、異なっており関連もしない<semanticDescriptor>リソース内に分散されているセマンティッククエリ要求情報を示す。
【
図26】
図26は、シナリオ4に対するセマンティッククエリ処理のための関連リソースを示す。
【
図27】
図27は、シナリオ4の基本解決策のためのセマンティッククエリ処理手順を示す。
【
図29】
図29は、シナリオ4のより強力な解決策のアプローチ1のためのセマンティッククエリ処理手順を示す。
【
図30】
図30は、シナリオ4に対する解決策Bにおけるアプローチ2の動作の詳細を示す。
【
図31】
図31は、シナリオ4のより強力な解決策のアプローチ2のためのセマンティッククエリ処理手順を示す。
【
図32】
図32は、既存のセマンティックリソース発見メカニズムの利用による、目標とするリソースからの間接的クエリ情報を示す。
【
図33】
図33は、シナリオ5Aに対するセマンティッククエリ処理手順を示す。
【
図34】
図34は、シナリオ5Bに対するセマンティッククエリ処理手順を示す。
【
図35】
図35は、oneM2Mサービス層のためのDAS CSFを示す。
【
図36】
図36は、<QueryPortal>リソースを示す。
【
図37】
図37は、<QueryPortal>リソースを通じた、シナリオ4に対するセマンティッククエリ処理のためのoneM2M中心の手順を示す。
【
図38】
図38は、セマンティッククエリ範囲チェッカのための例示的なユーザインタフェースを示す。
【
図39】
図39は、セマンティッククエリランチャのための例示的なユーザインタフェースを示す。
【
図40】
図40は、セマンティッククエリ結果表示のための例示的なユーザインタフェースを示す。
【
図41A】
図41Aは、本発明を実現し得る例示的なマシンツーマシン(Machine-to-Machine: M2M)またはモノのインターネット(Internet of Things: IoT)通信システムを示す。
【
図41C】
図41Cは、
図41Aに図示された通信システム内で使用し得る例示的なM2M/IoT端末またはゲートウェイデバイスを示す。
【発明を実施するための形態】
【0035】
現在、oneM2M文脈において、セマンティック関連の特徴をサポートするための主として2つのアーキテクチャ選択肢があるが、1つは、集中型アプローチであり、そこでは、システム中に集中的トリプルストアがあり、セマンティック処理、例えば、セマンティッククエリがトリプルストアに対して実行される。言い換えれば、集中的トリプルストアがあり、この集中的トリプルストアには、セマンティック処理の大半をサポートするために、RDFトリプルが記憶されている。もう1つは、トリプルはリソースツリー内に分散され、異なる<semanticDescriptor>リソース内に記憶されるという意味で、分散型アプローチである。それらの<semanticDescriptor>リソースは、通常のoneM2Mリソースの子リソースであることが多く、主としてセマンティック注釈の目的のために役立ち、さらに、セマンティックリソース発見を可能にすることができる。特に、この分散型アプローチにおいて、各CSEは、異なる<semanticDescriptor>リソースから情報を集めて、それに対してセマンティック処理を施すために、局所的/一時的なトリプルストアを形成する必要がある。
【0036】
開示される、分散されたセマンティック記述子に対するセマンティッククエリのための方法およびシステムに文脈を与え得る複数のシナリオがある。シナリオのうちのいくつかは、以下を含む:1)ただ1つの<semanticDescriptor>リソースからの情報、2)セマンティッククエリは、<semanticDescriptor>リソース内に記憶されていない情報を要求する、3)セマンティッククエリは、分散されているが異なる<semanticDescriptor>リソース内に記憶されている可能性のある情報を要求する、4)異なっており関連もしない<semanticDescriptor>リソース内に分散されているセマンティッククエリ要求情報、または5)既存のセマンティックリソース発見メカニズムの利用による、目標とするリソースからの情報に対する間接的なクエリ。上記シナリオ中で用いられるような、分散型セマンティッククエリのために用い得る方法、システムおよび装置を以下に説明する。シナリオについて、以下にさらに詳細に説明する。
【0037】
本明細書に例示されるステップを実行する、
図10~
図37中のエンティティのようなエンティティは論理エンティティであり得ることが理解される。ステップは、
図41Cまたは
図41Dに図示されるようなデバイス、サーバ、またはコンピュータシステムのメモリ内に記憶され、プロセッサ上で実行され得る。一例においては、M2Mデバイスの相互作用に関して以下でさらに詳述するが、
図37のAE295は、
図41AのM2M端末デバイス18上に常駐することができ、一方、
図37のCSE296は、
図41AのM2Mゲートウェイデバイス14上に常駐することができる。
【0038】
表3は、本明細書で使用する一般的に用いられる用語の定義を提供する。
【表4】
【0039】
第1シナリオに関して、
図10は、部分的リソースツリー構造を示し、そこでは、<Device>111は、operation114、operation115、および、RDFトリプルの意味において関連するセマンティック記述を含む子である<semanticDescriptor>116リソースを有する温度センサを表す。<semanticDescriptor>116リソース内に記憶されているRDFトリプルは、論理的に、ブロック110内のグラフと見なすことができる。クエリ記述の意図は以下の通りであり得る:「デバイス<Device>111によってサポートされている動作の数を返すこと。」SPARQL表現を以下のようにすることができる:
SELECT SUM (?operation)
WHERE { ?device rdf:type base:Device.
?device base:hasService ?service.
?service base:hasOperation ?operation.
}
【0040】
このクエリを処理する方法に関して詳細に規定したものは(例えば、oneM2Mの中に)従来存在しない。
図11は、第1シナリオに対するセマンティッククエリ処理のための例示的方法を示す。ステップ130で、SQI121は、RH-SLN122に関する何らかの情報を問い合わせたい。そこで、SQI121は、その質問を記述するために、上記のようなSPARQLクエリステートメントを作成する。サービス層セマンティッククエリイニシエータ(SQI)121は、セマンティッククエリを開始する論理エンティティであり得る。リソースホスティングサービス層ノード(RH-SLN)122は、RESTfulアーキテクチャで構築されるサービス層ノードであり得る。RH-SLN122のサービス層は、リソースツリーを操作インタフェースとして公開することができる。
【0041】
ステップ131で、SQI121は、要求がセマンティッククエリに関するものであることを示す要求メッセージをRH-SLN122に送信する。メッセージは、さらに詳細には後述する以下のパラメータを含み得る:セマンティッククエリインジケータ(SQ)、単一リソース評価インジケータ(SE)、クエリステートメント(QS)、または結果フォーマット(RF)。SQは、ステップ131のSQI121からの要求は実行すべきセマンティッククエリであることを示し得る情報を含む。言い換えれば、SQは、要求がセマンティックリソース発見のためのものではなく、RDFトリプルに基づいている可能性がある何らかの派生情報または知識を、意味論的に問い合わせまたは読み出すためのものであることを示す。SEは、このクエリが単一の<semanticDescriptor>リソースに適用されるべきであることを示すことができる。例えば、この要求メッセージの「To」パラメータが<semanticDescriptor>リソースを直接対象にしている場合、この<semanticDescriptor>リソースが、セマンティッククエリが実行されるリソースとなる。しかし、この要求メッセージの「To」パラメータが通常のリソースを直接対象にしている場合、そのすぐ隣または最も近い<semanticDescriptor>子リソースが、セマンティッククエリが実行されるリソースとなる。SQI121が、ただ1つの<semanticDescriptor>リソースに対するセマンティッククエリの実行を意図する場合、適切な値のSEパラメータを要求メッセージに含めなければならないという必要性があり得る。言い換えれば、特定の値のSEパラメータが要求メッセージに含まれていない場合、初期設定の範囲は、この要求メッセージの「To」パラメータによって示されるようなURIのすべての子リソースであり得る(この状況については第4シナリオに関する説明で触れる)。QSは、SQI121によって指定されたクエリステートメントを記憶する。このクエリステートメントはSPARQLクエリステートメントであり得る。あるいは、SQI121は、そのクエリをセマンティクスfilterCriteriaに入れて伝達することもできる。RFは、クエリ結果を、どのように表現すべきかを示す。表現は、プレーンテキスト、JSON、またはXMLフォーマットとすることができる。前述の例を用いて、SQ、SE、QS、およびRFの値の例を以下に示す:
SQ=1 //「1」は、これがセマンティッククエリの要求であることを示す。
SE=1 //「1」は、このクエリがただ1つのリソースを対象にすることを示す。
QS= SELECT SUM (?operation)
WHERE { ?device rdf:type base:Device .
?device base:hasService ?service .
?service base:hasOperation ?operation .
}
RF=JSON //クエリ結果をJSONフォーマットにすることを指示する。
【0042】
図11を引き続き参照して、ステップ132で、RH-SLN122は、SQI121から要求を受信し、開始点から、SQI121に指示されたように、セマンティッククエリ処理を実行する。「To」パラメータに基づいて、対象となる<semanticDescriptor>リソースがクエリを受ける。対象となる<semanticDescriptor>リソースが特定されると、対象となる<semanticDescriptor>リソース上でセマンティッククエリが実行され、クエリ結果が生成される。ステップ132で、RH-SLN122は応答メッセージをSQI121に送信する。応答メッセージには、SQI121によって示されたフォーマットを用いたクエリ結果が含まれている。
【0043】
第2シナリオに関して、
図12は、部分的リソースツリー構造を示し、そこでは、<Device>111は、温度センサを表し、その子である<semanticDescriptor>116リソースは、RDFトリプルの意味において関連するセマンティック記述を含む。<reading>113は、最新の温度読取値を記憶する<contentInstance>リソースであり、この<reading>113のコンテンツ属性117には値「32」が記憶されている。<contentInstance>リソースは、<container>リソース内のデータインスタンスを表すことができる。セマンティッククエリは、<semanticDescriptor>リソース内に記憶されていない情報の読み出しに関連付けることができる。例えば、情報によっては、RDFトリプルとして表され得ず、通常のリソースに記憶されているだけである可能性がある。ここで、通常リソースとは、基本的に、<semanticDescriptor>リソース以外のリソースのことであり、例えば、oneM2M文脈中では<CSE>、<AE>、<container>等のリソースであり得る。クエリ記述の意図は以下の通りであり得る:「現在の温度が20を超えるセンサを返すこと。」
SELECT ?device
WHERE { ?device rdf:type base:Device .
?device base:hasService ?service .
?service base:hasOperation ?operatoin
?operation base:hasOutput ?output
?output hasCurrentValue ?tempValue .
FILTER (?tempValue temp:hasValue >= 20)
}
【0044】
上記クエリを、<Device>111の<semanticDescriptor>リソースに対して直接適用した場合、従来は、SPARQL内の「FILTER (?tempValue temp:hasValue >= 20)」を満たすことができないため、結果が返されない可能性がある。その理由は、現時点では、温度値がRDFトリプルとして<semanticDescriptor>リソース内に記憶されていないためである。このことは、RDF形式で記憶された情報は、そのほとんどがメタデータ記述であるため、ほとんど静的であるという意味で、既存のセマンティックインフラストラクチャの典型的な特性を表している。それと比べて、動的データはリソースツリー内に記憶されることが多い。例えば、
図12に示すように、<Device>111のセマンティック記述では、OutputX118が温度状況を記述していると記述しているが、OutputX118の現在値(例えば、Device111の現在温度値)は、この情報は時間と共に変化するため、RDFトリプルとして直接記述されず、この<semanticDescriptor>リソースに記憶されていない。本明細書に開示されているように、「複数トリプル」と表示されている場合、1つの「トリプル」の場合もありうると考えられる。
【0045】
第2シナリオを参照すると、それに対処するために検討すべきことは複数ある。本明細書では、第2シナリオに関して、検討すべきことはシナリオ2Aおよびシナリオ2Bによって示される。本明細書で開示される複数の例示的な特徴、例えば、<contentInstance>リソースのコンテンツ属性内に記憶されているデータコンテンツは、RDFトリプルとして表現し直して、<semanticDescriptor>リソース内に記憶することもできる。さらに、新しい属性は、データコンテンツがRDFトリプルとして表現し直されているか否かを示し得る。「resourceDescriptorLink」プロパティの使用は、2つの<semanticDescriptor>リソースをリンクするだけでなく、<semanticDescriptor>リソースと通常のoneM2M contentInstanceリソース間をリンクするようにも拡張することができる。
【0046】
シナリオ2Aでは、本来は<semanticDescriptor>リソース内では利用できない情報、例えば、本来は<reading>113リソースのコンテンツ属性117だけに記憶されていた温度値を表すために、一般的により多くのRDFトリプルを追加することが検討される。言い換えれば、元々は通常のリソースに記憶されていた情報は、RDFトリプルとして表現され、特定の<semanticDescriptor>リソース内に記憶されることができる。注目すべきことは、シナリオ2Aでは、クエリ処理に加えて、通常のリソースに記憶されている元の情報に対するいかなる変更(例えば、元の情報の作成、修正、削除、更新等)も、この情報がRDFトリプルとして表され、特定の<semanticDescriptor>リソース内に記憶されていた場合は、関連する<semanticDescriptor>リソースに対しても影響を及ぼすべきであるという意味で、RDFトリプルに対する保守手順もあるということである。この保守関連処理をサポートするために、いくつかの既存の解決策を使用することができる。
【0047】
シナリオ2Aの重要な問題は、トリプルをどこに記憶するかということである。代替的な実施オプションを以下に論じる。シナリオ2Aに関連する第1オプションでは、通常のリソースからの情報(例えば、
図16中にあるような、<reading>113リソースに記憶されている現在温度値32)については、<reading>113リソースが、現在、<semanticDescriptor>子リソースを有していない場合、RH-SLN122は、その情報を表す新しいRDFトリプルを記憶するため、新しい<semanticDescriptor>子リソース(例えば、<semanticDescriptor>119)を<reading>113リソースに対して作成する。一方、この新しい<semanticDescriptor>119リソースは、「resourceDescriptorLink」プロパティ、または既存の<semanticDescriptor>リソースの「relatedSemantics」属性を用いて、他の既存の<semanticDescriptor>リソース (例えば、<semanticDescriptor>116リソース)とリンクする必要がある。
【0048】
図13は、第1オプションがシナリオ2Aに対していかに有効であるかを示すのに役立つ。ブロック140を参照されたい。図に見られるように、この<reading>113リソースの作成に沿って、<reading>113に対して新しい<semanticDescriptor>子リソースが作成される。一方、以下に論じるように、「TemperatureValue」ノード141を介して2つの<semanticDescriptor>リソースを共にリンクするために「resourceDescriptorLink」プロパティをさらに使用できるように、いくつかの新しいトリプルも<Device>121の<semanticDescriptor>子リソース内に作成される。
【0049】
オプション1では、本来はRDFトリプルとして記憶されていない情報をクローン化することが主な作業であることに留意されたい。ここで、クローン化の意味は、以前は通常のリソースにのみ記憶されていた情報を複製し、RDFトリプルとして表すことである。特に、RH-SLN122がクローン化する必要のある新しい情報を受信する限り、クローン化プロセスを実行する必要がある。例示的な情報クローン化プロセスを、
図14に示すような手順として説明し、
図13に示す例を用いて、以下に詳述する。
【0050】
ステップ150で、Device111はM2M温度デバイスであり、RH-SLN122に登録済みであり、自身の読取値をRH-SLN122に送信することができる。RH-SLN122上の<Device>111リソースは、そのセマンティック記述を含む<semanticDescriptor>116子リソースを有する。ステップ151で、Device111は新しい読取値をRH-SLN122に送信する。
【0051】
ステップ152で、新しい読取値がDevice111から取得される(例えば、受信される)と、データは<contentInstance>リソース、例えば、
図13に示すように<reading>113リソースに記憶され得る。一方、この<reading>113リソースの作成に伴い、完了すべき複数のアクションがある。ステップ152に関する第1アクションでは、<reading>113リソースに対して、関連する<semanticDescriptor>リソースも作成される。例えば、現在の読取値(例えば、値32)は、RDFトリプルとして表され、この新しく作成された<semanticDescriptor>119リソース内に記憶され得る。
図13の例に示すように、新しく作成された<semanticDescriptor>119リソースのセマンティックグラフには、2つのリンクを持つ「TemperatureValue」ノード142がある。1つのリンクは、このノードの値が「32」であることを表すもので、もう1つのリンクは、温度の単位が摂氏であることを示すものである。このステップでは、RH-SLN122は、適切なRDFトリプルを生成するために、特定の知能を持っていることに留意されたい。例えば、Device111が読取値を送信するとき、読取値が摂氏の単位であることをRH-SLN122が認識できるように示すために、何らかのセマンティックメタデータを含むこともできる。あるいは、そのような情報が<reading>113の親である<container>リソース(例えば、<OutputX>118リソース)のセマンティック記述子に既に記憶されている場合、この情報もRH-SLN122によって参照される。別のアプローチとして、RH-SLN122は、このデバイスのセマンティック記述に基づいてデバイスの読取値の単位を決めるために、セマンティック推論を用いることもできる(例えば、会社Aによって製造されたデバイスのすべてが摂氏を用いるよう初期設定されている)。セマンティック記述を、このデバイスのsemanticDescriptor子リソース内に記憶されている情報(例えば、RDFトリプル)と見なすことができる。
【0052】
図14のステップ152の下での第2アクションでは、resourceDescriptorLinkを利用して、この新しく作成された<semanticDescriptor>119リソースを別の<semanticDescriptor>リソース(例えば、<semanticDescriptor>116リソース)にリンクするために、2つの<semanticDescriptor>リソースを重複させる必要がある(例えば、重複ノード)。しかし、
図13に示すように、<Device>111の<semanticDescriptor>116リソースは、新しく作成された<semanticDescriptor>119リソースと重複するいかなるノードも持っていない。したがって、次のステップは、<Device>111の<semanticDescriptor>116リソースに対するフック(例えば、リンクする方法)として、いくつかの新しいトリプルを追加することである。
図13に見られるように、「hasCurrentValue」プロパティを介してOutputX118ノードにリンクされた「TemperatureValue」ノード141も追加される。「TemperatureValue」ノード141はトリプル内の値である。例えば、TemperatureValue(主語部分)は32(目的語部分)をhasValue(述語部分)。TemperatureValueは主語部分にある。<Device>111の<semanticDescriptor>リソース内には、以前の時間単位の読取値を参照する「TemperatureValue」ノード141が既に存在し得るという可能性に留意されたい。その場合、新しい「TemperatureValue」ノードを<Device>111の<semanticDescriptor>リソース内に追加する必要はなく、その代わり、resourceDescriptorLinkを、新しく作成された<reading>113の<semanticDescriptor>119リソースを参照するように変更することができるように、「TemperatureValue」ノード141のresourceDescriptorLinkプロパティと関連するトリプルを単に修正する。
【0053】
第2アクションを引き続き参照して、各RDFトリプル(S,P,O)では、各部分はURIを通じて参照されることを理解されたい。各oneM2Mリソースが固有のURIを持つのと同様に、与えられたトリプルの主語、述語、または目的語の部分に現れたエンティティも固有のURIを持つ。2つの<semanticDescriptor>リソース内の「TemperatureValue」ノード(ノード141およびノード142)のURIに値を割り当てることに関して、以下のオプションを検討することができる。第1オプションは、現在の<reading>113のURIの使用に関する。この場合、新しい読取値が受信されるたびに、<Device>111の<semanticDescriptor>リソース内に現れた既存「TemperatureValue」ノード141のURIが更新され、新しく受信した読取値を記憶しているリソースのURIを持つようになる。第2オプションは、最新の読取値を記憶する「TemperatureValue」ノード141を表すために<Device>111によって使用されるシステム全体の特別URIに関する。この場合、新たに作成された<reading>113の<semanticDescriptor>119リソース内であっても、その「TemperatureValue」ノード142は、<reading>113のURIを持つ代わりに、このシステム全体の特別URIを持つこともできる。比較すると、後者のオプションの方が、拡張性がよく、保守が容易であり得る。
【0054】
ステップ152の下での第3アクションでは、resourceDescriptorLinkが、両方の<semanticDescriptor>リソース(116および119)内に現れる「TemperatureValue」ノード上で利用され、それら2つのリソースが共にリンクされることができるようにする。
【0055】
ステップ153で、RH-SLN122は、Device111から送信された読取値の受信確認を行う。
【0056】
セマンティッククエリ処理段階に関して、第2シナリオで指定されたようなセマンティッククエリがRH-SLN122によって受信され、<Device>111の<semanticDescriptor>116子リソース上で実行されることになっているとき、この時点で欠落している情報はない(例えば、値「32」も、今や、RDFトリプルとして使用可能である)ため、有効なクエリ結果が生成され得る。このようなセマンティッククエリ処理は、
図15に示すような手順として形式的に記述される。
図15のセマンティッククエリ処理の一般的手順は、
図11に示すものと類似しているが、RH-SLN122がセマンティッククエリを処理する方法に関して、
図11のステップ132と
図15のステップ155の間には相違点があることに留意されたい。したがって、ステップ155では、SQI121からセマンティッククエリを受信すると、RH-SLN122におけるクエリ処理は、以下のアクションで実行される。第1アクションでは、<Device>111の子である<semanticDescriptor>116リソース上でSPARQLクエリが実行される。第2アクションでは、実行の過程で1つまたは複数のresourceDescriptorLink注釈を伴うクラスインスタンスまたはノードに遭遇した場合、実行は停止される。
図13に示す例では、「TemperatureValue」ノード141は、現在の温度値「32」を記憶する新たに作成された<semanticDescriptor>119リソースを参照するresourceDescriptorLinkを有している。第3アクションでは、resourceDescriptorLinkが参照する<semanticDescriptor>リソースごとに、SPARQLクエリが実行されている元のコンテンツにコンテンツが追加される。例えば、Device111の現在の温度値が32であるという事実を記述するRDFトリプルが追加される。第4アクションでは、拡大されたコンテンツに対してSPARQLクエリの実行が継続され、クエリ結果が生成される。
【0057】
図14は、新しい情報が利用可能になると情報クローン化プロセスが発生する場合を示すことに留意されたい。したがって、
図15に示すようなセマンティッククエリ処理は情報クローン化プロセスとは無関係である。あるいは、情報クローン化プロセスはセマンティッククエリ処理によって引き起こされるという意味で、オンデマンドアプローチが発生し得る。
図13に示す例として、<reading>113の新しい<semanticDescriptor>子リソースの作成は、RH-SLN122におけるセマンティッククエリ受信イベントによって引き起こされ得る。したがって、以下にさらに詳細に説明するように、新しいセマンティッククエリ処理手順が
図16に開示される。
【0058】
図16を参照すると、ステップ160では、Device111は温度デバイスであり、RH-SLN122に登録済みである。一方、RH-SLN122上の<Device>111リソースは、そのセマンティック記述を含む<semanticDescriptor>116子リソースも有する。Device111は、その読取値を定期的にRH-SLN122に送信し、それらの読取値は<OutputX>118リソース下の<contentInstance>子リソース内に記憶される。SQI121側では、必要性に基づいて、SQI121は、後ほど、RH-SLN122に関する何らかの情報を問い合わせる必要がある。そこで、SQI121は、その質問を記述するためにSPARQLクエリステートメントを作成する。例えば、
図13に示す例において論じたように、SQI121は、Device111の現在の読取値に関するクエリの実行を意図すると仮定する。ステップ161で、SQI121は、要求メッセージをRH-SLN122に送信し、その中で、この要求がセマンティッククエリであることを示す。
【0059】
ステップ162で、SQI121からセマンティッククエリを受信すると、RH-SLN122は受信したセマンティッククエリを調べる。クエリが、現在はRDF形式で利用可能ではないが、他の通常のリソース内に見つかる可能性のある何らかの情報を探すものである場合、RH-SLN122はその情報を抽出して、RDFトリプルとして表す。このステップ162のために、RH-SLN122は特定の知能を有し得る。例えば、RH-SLN122は、<OutputX>118または<Device>111リソースのセマンティック記述子内に記憶された何らかの有用情報を学習済みであり得る(例えば、<OutputX>118は、Device111のすべての読取値を記憶する<container>リソースであり、読取値の単位は摂氏である)。この情報を知ることによって、RH-SLN122は、セマンティッククエリによって必要とされたときに、<OutputX>118リソース下の読取値情報を見つけることができる。さらに、より進んだアプローチは、RH-SLN122がデバイスのセマンティック記述に基づいてデバイスの測定単位を決めるためにセマンティック推論を用いるというものであり得る(例えば、会社Aによって製造されたデバイスのすべてが摂氏を用いるよう初期設定されている)。
【0060】
図16のステップ162を引き続き参照して、第2シナリオ中に示された例では、<OutputX>118リソースのセマンティック記述に基づいて、RH-SLN122は、このリソースが<Device>111の読取値を記憶していることを理解する。したがって、クエリが<Device>111の現在の読取値を探すものであるとき、RH-SLN122は、<reading>113が最新の読取値を記憶しているリソースであると特定し、次に、値32を抽出して、それをRDFトリプルとして表す。その後、関連する<semanticDescriptor>119リソースが<reading>113リソース用に作成され、このリソースにも最新の読取値情報が、ただしRDF形式で、記憶される。さらに、新しく作成された<semanticDescriptor>119リソースは、resourceDescriptorLinkプロパティを介して、他の<semanticDescriptor>リソース(例えば、例中の<Device>111の<semanticDescriptor>116リソース)とリンクされることもできる。したがって、それは将来のセマンティッククエリをサポートし得る。
【0061】
続いて、ステップ163で、対応する
図15(ステップ155)と類似したクエリ処理がRH-SLN122で実行される。ステップ164で、RH-SLN122は応答メッセージをSQI121に送り返す。応答メッセージには、SQI121によって示されたような(ステップ161で提示されたように)フォーマットを用いて、クエリ結果が含まれている。
【0062】
図17は、第2オプションがシナリオ2Aに対していかに有効であるかを示すのに役立つ。要約すれば(
図13および
図17を参照して)、通常のリソース(例えば、<reading>113リソース)からの情報については、<reading>113リソースが、現在、<semanticDescriptor>119子リソースを持っていない場合、RH-SLN122は、<Device>111リソース(親または先祖)の<semanticDescriptor>116リソースに対する情報を直接表している新しいRDFトリプルを追加する。<reading>113リソースが、現在、<semanticDescriptor>119子リソースを既に持っている場合、この<semanticDescriptor>119リソースに、新しいRDFトリプルが直接追加される。
【0063】
図17を引き続き参照して、この時点では、<contentInstance>リソース用に作成された<semanticDescriptor>リソースは存在せず、すべての新しいトリプルは、<Device>111の<semanticDescriptor>116子リソースに直接追加される。
図14と同様に、シナリオ2Aの第2オプションのための情報クローン化プロセスは
図18に示す手順として形式的に記述される(各ステップは、ステップ152を除き、
図14のものと類似している)。ステップ170で、Device111は、例えば、M2M温度デバイスであり、RH-SLN122に登録済みである。Device111は、その読取値をRH-SLN122に送信することができる。一方、RH-SLN122上の<Device>111リソースは、そのセマンティック記述を含む<semanticDescriptor>116子リソースを有する。ステップ171で、Device111は新しい読取値をRH-SLN122に送信する。
【0064】
図17のステップ172で、Device111から新しい読取値が受信されると、データは<contentInstance>リソース、例えば、
図17に示すような<reading>113リソースに記憶され得る。一方、<reading>113リソースの作成に伴い、他のアクションが完了する。第1アクションでは、現在の読取値、例えば、値32がRDFトリプルとして表される。例えば、それらのトリプルは、2つのリンクを有する「TemperatureValue」ノード141を持つグラフを記述し得る。1つのリンクは、このノードの値が「32」であることを表すもので、もう1つのリンクは、温度の単位が摂氏であることを示すものである。第2アクションでは、それらの新たに作成されたRDFトリプルが、既存の関連する<semanticDescriptor>116リソースに直接追加され得る。この例では、<Device>111の<semanticDescriptor>116リソースが、それらの新たに作成されたトリプルの記憶場所となり得る。
図17に示すように、新しいトリプルが追加されると、「TemperatureValue」ノード141も、「hasCurrentValue」プロパティを介して、OutputX118ノードにリンクされる。以前の時間単位の読取値を参照する「TemperatureValue」ノード(例えば、<Device>111の<semanticDescriptor>リソース内の「TemperatureValue」ノード142)が既に存在し得るという可能性もあることに留意されたい。その場合、いかなる新しいトリプルを作成する必要もなく、その代わり、現実あるいは最新の読取値、例えば、32を反映させるために、既存のRDFトリプルを更新して、Device111の最新読取値を表すために使用することができる。同様に、第2アクションのもう1つの検討事項は、「TemperatureValue」ノードのURIは<Device>111の<semanticDescriptor>リソース内に現れ、以下のオプションを持つ可能性があるということである。第1オプションでは、<reading>113の現在のURIを利用する。この場合、毎回、新しい読取値が受信される限り、<Device>111の<semanticDescriptor>116リソース内に現れた既存の「TemperatureValue」ノード141のURIは更新されて、新たに受信された読取値を記憶するリソースのURI値を持つ必要がある。第2オプションでは、システム全体の特別URIが、最新の読取値を記憶する「TemperatureValue」ノード141を表すために、<Device>111によって使用され得る。比較すると、後者のオプションの方が、拡張性または保守の容易性によって役立つ可能性がある。
【0065】
ステップ173で、RH-SLN122は、Device111から送信された読取値の受信確認を行う。したがって、この<Device>111の単一<semanticDescriptor>116子リソース内には欠落している情報はなく、クエリを処理する際には、ただ1つの<semanticDescriptor>116リソースしか関与しないため、この第2シナリオにおけるクエリに対するクエリ処理はより簡便であり得る。
【0066】
シナリオ2Bでは、本来は通常のリソースに記憶されていた情報は、RDFトリプルとして表現されていないか、<semanticDescriptor>リソース内に記憶されていない可能性がある。特に、通常のリソースA(例えば、
図19中のような<reading>113リソース)からの情報については、oneM2Mに定義されているように、<reading>113リソース自体は、<semanticDescriptor>116リソースの「resourceDescriptorLink」プロパティまたは「relatedSemantics」属性によって参照される。言い換えれば、特定の<semanticDescriptor>116リソース内のRDFトリプルが、<reading>113リソース内に記憶された情報に関連する場合、この<semanticDescriptor>116リソースは<reading>113リソースにリンクされる(<reading>113リソースは通常のoneM2Mリソースであることに留意されたい)。言い換えれば、「resourceDescriptorLink」プロパティの使用は、今や、(oneM2Mによって定義されているように)2つの<semanticDescriptor>リソースをリンクするだけでなく、<semanticDescriptor>リソースと通常のoneM2Mリソース間をリンクするようにも拡張されている。あるいは、既存のresourceDescriptorLinkプロパティをオーバーロードする代わりに、この目的をサポートするために、「informationLink」と呼ばれる新しいプロパティを提案することができる。
【0067】
図19を参照して、図に見られるように、<Device>111の<semanticDescriptor>子リソース内の「TemperatureValue」ノード141については、resourceDescriptorLinkプロパティを有し、それは、今や、<contentInstance>リソース、例えば、<reading>113を参照する。
図20は、シナリオ2Bに対する情報リンク方法を示す。ステップ152を除く大半のステップは
図14中のものと類似しているが、情報リンク手順を比較すると、情報クローン化プロセスはこの時点では採用されていないことに留意されたい。以下に、
図19を参照して、
図20の方法のフローを説明する。
【0068】
ステップ180で、Device111はM2M温度デバイスであり、RH-SLN122に登録済みであり、自身の読取値をRH-SLN122に送信することができる。一方、RH-SLN122上の<Device>111リソースは、そのセマンティック記述を含む<semanticDescriptor>子リソースを有する。ステップ181で、Device111は新しい読取値をRH-SLN122に送信する。
【0069】
ステップ183で、Device111から新しい読取値が受信されると、データは<contentInstance>リソース(例えば、
図19に示すような<reading>113リソース)に記憶され得る。シナリオ2Bの例において、全温度デバイスの最新の読取値がセマンティッククエリを通じて読み出し可能であるように、RH-SLN122が管理者によって構成されていると仮定すると、RH-SLN122は、それらのデバイスに対して読取値の提示を追跡する。したがって、<reading>113リソースの作成に伴い、以下のアクションが引き起こされ得る。第1アクションでは、RH-SLN122は、まず、<reading>113リソース内に記憶されている情報のリンクに使用可能な、<Device>111の最適な<semanticDescriptor>子リソースを特定する。通常、それは、利用可能であれば、直接の親の<semanticDescriptor>116子リソースであり得る。そうでなければ、この例では、<Device>111の<semanticDescriptor>子リソースが選択される。
【0070】
ステップ183の下での第2アクションでは、「現在の温度読取値」、例えば、
図19に示すような「TemperatureValue」ノード141を表すために、<Device>111の<semanticDescriptor>116子リソース内にいくつかの新しいトリプルを追加することができる。一方、「TemperatureValue」ノード141も、「hasCurrentValue」プロパティを介して、OutputX118ノードにリンクされる。以前の時間単位の読取値を参照する<Device>111の<semanticDescriptor>116リソース内に「TemperatureValue」ノード141が存在し得るという可能性もあることに留意されたい。その場合、新しいトリプルを作成する必要はなく、その代わり、「TemperatureValue」ノード141のresourceDescriptorLinkが最新の読取値、例えば、<reading>113リソースを参照できるように、既存のRDFトリプルを更新することができる。あるいは、「TemperatureValue」ノード141のresourceDescriptorLinkは、<container>タイプのリソースで、<reading>113リソースを含む<OutputX>118の<latest>子リソースを参照することができる。同様に、<Device>111の<semanticDescriptor>116リソース内に現れる「TemperatureValue」ノード141のURIについては、この場合、システム全体の特別URIが、最新の読取値を記憶する「TemperatureValue」ノード141を常に表すために、<Device>111によって使用され得ることが開示される。したがって、「TemperatureValue」ノード141のresourceDescriptorLinkが<reading>113を参照するように、以下のトリプルを追加することができる:
「TemperatureValue」ノード141のURI
oneM2M:resourceDescriptorLink
<reading>113リソースのURI
【0071】
ステップ183で、RH-SLN122は、Device111から送信された読取値の受信確認を行う。
【0072】
シナリオ2Bのセマンティッククエリ処理段階に関して、指定されたようなセマンティッククエリがRH-SLN122によって受信され、<Device>111の子である<semanticDescriptor>116子リソース上で実行されることになっているとき、この時点で欠落している情報はない(例えば、「TemperatureValue」ノード141のresourceDescriptorLinkが、今や、<reading>113を参照しているので、値「32」も、今や使用可能である)ため、有効なクエリ結果が生成され得る。このようなセマンティッククエリ処理は、
図21に示すような手順として形式的に記述される。
図21のセマンティッククエリ処理の一般的手順は、
図11に示すものと類似しているが、RH-SLN122がセマンティッククエリを処理する方法に関して、
図11のステップ132と
図21のステップ182の間には相違点があることに留意されたい。
【0073】
ステップ192で、SQI121からセマンティッククエリを受信すると、RH-SLN122におけるクエリ処理が実行される。<Device>111の<semanticDescriptor>116リソース上でSPARQLが実行され得る。実行の過程で、1つまたは複数のresourceDescriptorLink注釈を伴うクラスインスタンスまたはノードに遭遇した場合、実行は停止される。
図19に示すこの例では、「TemperatureValue」ノード141は、<contentInstance>リソース、例えば、最新の温度値「32」を記憶する<reading>113を参照するresourceDescriptorLinkを有している。resourceDescriptorLinkが参照するそのようなリソースごとに、SPARQLクエリが実行されている元のコンテンツにコンテンツが追加される。例えば、Device111の現在の温度値が32であるという事実を表すために、新しいRDFトリプルが作成され、追加される。元のコンテンツへの前述の追加に基づいている拡大されたコンテンツに対して、SPARQLクエリの実行が継続され、クエリ結果が生成される。
【0074】
あるいは、単純な「32」を<contentInstance>リソース内に記憶する代わりに、<contentInstance>がRDFトリプルを直接記憶し得るという可能性もある。例えば、「『TemperatureValue』ノード141のURIは32をhasValue」というトリプルが<contentInstance>リソース内に直接記憶され得る。さらに、このシナリオに関して、上記の節で論じたように、情報クローン化プロセス(すなわち、<contentInstance>リソース内のコンテンツをRDFトリプルに転送し、そのRDFトリプルを<semanticDescriptor>リソース内に記憶すること)を実行できるすべての可能なケースについて以下に説明する。以下のオプションはすべて代替的解決策である:1)データ読取値がRL-SLNによって受信されると、元の読取値がクローン化され、RDFトリプルとして表され、<semanticDescriptor>子リソース内に記憶される。上記の節で論じたように、これが主要なケースである。2)別のケースとして、発信元としてのデバイスが読取値をRL-SLNに送信する場合、デバイス自体がセマンティック能力を持っているなら、その読取値をRDFトリプルとしてRL-SLNに直接送信することもでき、元の読取値/コンテンツを記憶している、以前に作成された<contentInstance>リソースに対して、<semanticDescriptor>子リソースを作成する。3)デバイスがデータ読取値をRL-SLNに送信し、元の読取値を記憶するために<contentInstance>が作成される。このデバイスとRL-SLNの両方がセマンティック能力を持っていない場合、他のエンティティが役立つ可能性もある。例えば、後で、セマンティック能力を持つ別のエンティティ(例えば、oneM2Mの文脈における別のAEまたはCSE)が<contentInstance>リソース内の元のコンテンツを読み取り、そのコンテンツをRDFトリプルとして複製してから、<semanticDescriptor>子リソースを作成してRDFトリプルを記憶させることができる。
【0075】
第3シナリオを参照して、セマンティッククエリは、複数の異なる<semanticDescriptor>リソース内に記憶し得る情報を要求することができる。特に、それらの<semanticDescriptor>リソースは、それらの異なる<semanticDescriptor>リソースの中にいくつかの重複したノードがある可能性があるかもしれないという意味で、互いに関連している可能性がある。<semanticDescriptor>リソース内のセマンティック記述は概念的にグラフ(例えば、
図22のブロック118とブロック144)およびノード(例えば、
図22のDevice111)を形成することに留意されたい。
【0076】
以下は、第3シナリオに関するさらなる説明である。
図22は、部分的リソースツリー構造を示し、そこでは、<Device>111は、温度センサを表し、その子リソースである<semanticDescriptor>は、RDFトリプルの意味において関連するセマンティック記述を含む。一方、<Device>111リソースは、その動作を表す子リソース(例えば、<Operation>114)を有し、<Operation>114もそれ自身の<semanticDescriptor>143リソースを有する。<semanticDescriptor>116リソースと<semanticDescriptor>143リソースは、両方とも<Device>111のいくつかの側面を記述し、両方とも「Operation」114を代表する同じノードを持つため、互いに関連している。クエリ記述の意図は以下の通りであり得る:「与えられたデバイスに対するサービスの利用可能時間を返すこと、そして、このサービスには温度状況を記述する出力を出す動作がある。」SPARQL表現を以下のようにすることができる:
SELECT ?availableTime
WHERE { ?device rdf:type base:Device
?device base:hasService ?service
?service base:hasAvailableTime ?availableTime
?service base:hasOperation ?operation
?operation base:hasOutput ?output
?output base:describe temp:TemperatureAspect
}
【0077】
この例では、従来の状況で上記クエリを、<Device>111の<semanticDescriptor>116子リソースに対して直接適用した場合、<Operation>114に関連するセマンティック情報の一部が<Device>111の<semanticDescriptor>子リソースから欠落しているため、結果が返されない可能性がある。特に、情報は<Operation>114の<semanticDescriptor>子リソース内に記憶されている。この状況を、セマンティッククエリ処理に照らして、以下により詳細に検討する。
【0078】
第3シナリオの検討はシナリオ2A(オプション1)と類似しており、そこでは、(例えば、oneM2Mの中で)定義された従来の既存のresourceDescriptorLinkが利用される。
図23に示すように、2つの<semanticDescriptor>リソースがOperation114ノードを介して共にリンクされ得るように、「resourceDescriptorLink」プロパティが使用される。
【0079】
セマンティッククエリ処理段階に関して、ユースケース3で指定されたようなセマンティッククエリがRH-SLN122によって受信されたとき、<Device>111の子である<semanticDescriptor>リソース上でこのクエリが実行され、さらに、<OperationA>の<semanticDescriptor>子リソース内のトリプルを発見してアクセスすることもでき、最終的に有効なクエリ結果を生成する。
図24に示すような第3シナリオのセマンティッククエリ処理の一般的手順は
図11に示すものと類似しており、最も大きな相違点は、RH-SLN122がセマンティッククエリを処理する方法に関わる
図24のステップ202に関するものであることに留意されたい。ステップ202では、SQI121からセマンティッククエリが受信されると、RH-SLN122におけるクエリ処理が以下のように実行される。<Device>111の子である<semanticDescriptor>リソース上でSPARQLクエリが実行される。実行の過程で、1つまたは複数のresourceDescriptorLink注釈を伴うクラスインスタンスまたはノードに遭遇した場合、実行は停止される。この例では、operation114ノードは、<Operation>114リソースの子である<semanticDescriptor>リソースを参照するresourceDescriptorLinkを有している。そのような、resourceDescriptorLinkが参照するリソースごとに、SPARQLクエリが実行されている元のコンテンツにコンテンツが追加される。例えば、<Operation>114の<semanticDescriptor>子リソース内のRDFトリプルが追加され得る。(前述のRDFトリプルの追加に基づいて)拡大されたコンテンツに対して、SPARQLクエリの実行が継続され、クエリ結果が生成される。
【0080】
第4シナリオを参照して、セマンティッククエリは、複数の異なる<semanticDescriptor>リソース内に記憶し得る情報を要求することができる。特に、それらの<semanticDescriptor>リソースは、相互関連さえもしていない可能性がある(このことは第3シナリオと異なる)。「ピア(peer)」とは、基本的に、これらの<semanticDescriptor>リソースは無関係であり、個々に異なるリソース(例えば、領域内の多くの<温度センサ>リソース)を記述するが、それらの温度センサは相互にピアであり、同種の機能を持っていることに留意されたい。例えば、2つの<semanticDescriptor>リソースは2つの個別温度デバイスをそれぞれ記述することができ、それら2つの温度デバイス、またはそれらのそれぞれの<semanticDescriptor>リソースは、例えば、同種または同領域内等であるため、ピアと見なされ得る。このことは、2つの<semanticDescriptor>が同一のデバイスを記述するものであり、さらに共通点を持ち得るとしている第3シナリオとは相違する。
【0081】
以下は、第3シナリオに関するさらなる説明である。
図25は、部分的リソースツリー構造を示し、そこでは、<Device>111、<Device>146、および<Device>147は3つのデバイスを表し、その各々は、それぞれのセマンティック記述を記憶する<semanticDescriptor>子リソースを持つ。したがって、それら3つの<semanticDescriptor>リソースは、異なるデバイスを記述しているため、相互にピアである。さらに、それら3つのセンサは異なる会社に属している(例えば、<Device>111は<CompanyA>の子リソースであるが、<Device>146と<Device>147は<CompanyB>の子リソースである)可能性がある。クエリ記述の意図は以下の通りであり得る:「会社Aと会社Bのすべてのデバイスの動作の動作モードを返すこと。」SPARQL表現を以下のようにすることができる:
SELECT ?mode
WHERE { ?device rdf:type base:Device
?device rdf:is-from CompanyA or CompanyB.
?device base:hasService ?service
?service base:hasOperation ?operation
?operation base:hasWorkingmode ?mode
}
【0082】
この例では、上記クエリを、CSEノードのルートソースである<CSEBase>210に対して直接適用した場合、3つの異なる無関係の<semanticDescriptor>リソースを評価する必要があるが、それは、各々が異なるデバイスを表すからである。しかし、現在のところ、複数のピアまたは無関係の<semanticDescriptor>リソースからの情報が必要な場合に、そのようなクエリを処理する方法に関して(例えば、oneM2Mの中に)定義した従来の詳細な説明はない。
【0083】
基本的な解決策においては、与えられたセマンティッククエリに関して、関与する可能性のある<semanticDescriptor>リソースに対するクエリ範囲を決定するために、複数のアプローチを利用し得る。第1アプローチでは、セマンティッククエリを伝達する要求メッセージに示されるように「To」パラメータが与えられると、「To」パラメータによって示されるようなURIの下のすべての<semanticDescriptor>リソースが関与する。 例えば、「To」パラメータによって示されるようなURIの下の子リソースが範囲に含まれる。さらに、oneM2Mは検索範囲を限定するための「level」および「offset」パラメータも定義する。したがって、これら2つのパラメータが設定されていると、それに応じてクエリ範囲も影響される。第2アプローチでは、「peerSemantics」と称する新たな属性が<semanticDescriptor>リソースに対して提案される。特に、第1アプローチで特定された<semanticDescriptor>リソースについて、それらの「peerSemantics」属性もチェックされる可能性があり、それを通じて、さらに多くの<semanticDescriptor>リソースが関与するリソースとして特定される可能性がある(すなわち、開示された「peerSemantics」属性によって示される<semanticDescriptor>リソースもクエリ範囲に含まれる)。oneM2Mによって定義された既存の「relatedSemantics」属性は、単一のSPARQL処理のために、関連する<semanticDescriptor>リソースを共にリンクするものであることに留意されたい。
【0084】
それと比べて、提案された「peerSemantics」はピアである<semanticDescriptor>リソースをリンクするものであり、セマンティッククエリはそれらのピア<semanticDescriptor>リソースの各々に対して実行される。これが、既存の「relatedSemantics」属性に加えて、新しい「peerSemantics」を提案する主な理由である(そうしなければ、システムには、2つの<semanticDescriptor>リソース間の実際の関係を伝える手段を持ち得ない)。例えば、SPARQL Query-1が特定の<semanticDescriptor-1>リソースに適用される状況を考える:別の<semanticDescriptor-2>リソースにリンクする「relatedSemantics」があれば、<semanticDescriptor-2>リソース内のコンテンツは<semanticDescriptor-1>リソース内のコンテンツと統合され、次に、統合されたコンテンツに対してQuery-1が実行される。比較すると、別の<semanticDescriptor-2>リソースにリンクする「peerSemantics」がある場合、Query-1は<semanticDescriptor-1>リソースと<semanticDescriptor-2>リソースの両方に個別に適用され、各々の実行は部分的なクエリ結果を返し得るという意味で、クエリ処理は異なる。第1のアプローチおよび第2のアプローチを通じて特定されるようなそれらの<semanticDescriptor>リソースは、実行されるべき特定のクエリ処理のためのリソースセットであり得る。
【0085】
さらに、第4シナリオについて以下に論じる。
図26は、「peerSemantics」がクエリ範囲の問題への対処にどのように役立ち得るかを示す。ここでは、SQI121は、RH-SLN122におけるリソース構造に関して限られた知識しか持っておらず、<CompanyB>のURIを以前のリソース発見を通じて知っているだけであると仮定する。SQI121は、現在、「すべての会社のすべてのデバイスの動作の動作モードを返すこと。」という意味の新しいクエリを持っている。SQI121がこのクエリを送信する方法の一つは、<CSEBase>210の下のデバイスを発見できるように、<CSEBase>210をターゲットにすることである。しかし、この動作に対するオーバーヘッドはかなり大きくなり得る。提案された「peerSemantics」プロパティによれば、SQI121は、そのクエリをさらに<CompanyB>に向けて送信することができる可能性がある。したがって、<CompanyB>の下のデバイスの1つ(例えば、例に示すような<Device>147)が、他所の別のデバイス(例えば、異なる会社<CompanyA>のデバイス<Device>111)にリンクするための「relatedSemantics」を持つ場合、クエリ処理によって、「peerSemantics」プロパティの助けを借りて、すべての必要なデバイス発見することは依然として可能である。
【0086】
図26に見られるように、基本的な解決策においては、同時に使用することができる提案されたアプローチ1とアプローチ2を通じて、可能性のある関与する<semanticDescriptor>リソースを発見することができる。一方、クエリ要求は単一のRETRIEVEメッセージにマッピングされている可能性があり、クエリ開始点は「To」パラメータで指定されたようなURIに基づいている可能性がある。一方、アプローチ1は、「To」パラメータで指定されたようなURIの下の関与する<semanticDescriptor>リソースの発見を可能にするが、アプローチ2は、「To」パラメータで指定されたようなURIの下に存在しないかもしれない、例えば、リソースツリー内のどこにでもあり得る(ただし、特定のアクセス制御ポリシーに準拠する必要があり得る)他の関与する<semanticDescriptor>リソースの発見を可能にする。例えば、第4シナリオの中で指定されたようなセマンティッククエリがRH-SLN122によって受信され、「To」パラメータが<CompanyB>のURIに向けられているとき、欠落している情報はない(例えば、この時点で<Device>111が見逃されることはない)ため、正確なクエリ結果が生成され得る。
【0087】
セマンティッククエリ処理段階については、
図27に示すような手順として形式的に記述される。
図27に示すようなセマンティッククエリ処理の一般的手順は
図11に示すものと類似しており、唯一の相違点は、RH-SLN122がセマンティッククエリを処理する方法に関わるステップ222に関するものであることに留意されたい。ステップ222について以下に詳述する。ステップ222で、SQI121からセマンティッククエリが受信されると、RH-SLN122におけるクエリ処理が以下のアクションで実行される。第1アクションでは、SQI(例えば、SQI121)から要求を受信すると、受信側(例えば、RH-SLN122)は、要求メッセージ内の「To」パラメータによって示されるような開始点から、セマンティッククエリ処理を開始することができる。特に、RH-SLN122は、まず、先に示したように、アプローチ1とアプローチ2を用いて、すべての可能性のある関与するリソースを特定することができる。この例では、
図26に示すように、<Device>111、<Device>146、および<Device>147が特定され得る。
図26を参照すると、第2アクションでは、RH-SLN122は、特定のアクセス制御ポリシーに基づいて、関与する可能性のある<semanticDescriptor>リソースごとに、それに対してセマンティッククエリを実行できるかどうかをさらに評価する。実行できる場合、そのようなリソースは、正式な関与するリソースとなり得る。
【0088】
ステップ222の第3アクションでは、正式な関与する<semanticDescriptor>リソースごとに、それに対するセマンティッククエリが実行される。有効なクエリ結果がある場合、そのクエリ結果は最終結果セットに追加され得る。一方、これらの正式な関与するリソースに対するクエリ処理は互いに独立して実行され得る。第4アクションで、正式な関与するリソースがクエリに従って評価された後は、最終結果セットは最終クエリ結果を含み、SQI121に返される。
【0089】
前述の基本的な解決策においては、「To」パラメータによって示されるようなリソースURIが、クエリ処理がどこから開始するかを概ね決定する、例えば、「To」(または同様の)パラメータが既定のクエリ範囲の決定に用いられると仮定される。実際、特に、与えられたセマンティッククエリが複数の<semanticDescriptor>リソースを伴う場合、クエリ範囲は、セマンティッククエリ処理に影響を及ぼす可能性がある重要問題となり得る。以下に論じる機能強化によって、クエリ範囲に関連する問題への対処を試みる。
【0090】
クエリ範囲に関連する重要問題は、クエリ範囲が既存のoneM2M仕様に準拠している場合、例えば、それは、特定のセマンティッククエリに対する正確な回答に成功するために必要なクエリ範囲と等しくなり得えないということである。例えば、
図28に見られるように、SQIは、<CSEBase>210をルートとするリソースツリーをホストするRH-SLN122に、セマンティッククエリ要求を送信し、セマンティッククエリ要求において、「To」パラメータは<CompanyB>212のURIに向けられており、セマンティッククエリは、要約すれば、「CompanyA211とCompanyB212のすべてのデバイスの動作の動作モードを返すこと。」と指示していると仮定する。そのような場合、既存のoneM2M仕様に基づいて、<Device>146と<Device>147の<semanticDescriptor>子リソースが関与する可能性がある。しかし、このクエリに正確に答えるためには、<Device>111の<semanticDescriptor>116子リソースも関与する必要がある(ここでは、アクセス制御は問題ではないと仮定して)。したがって、セマンティッククエリは「すべてのデバイスにわたる」結果を求めているため、<Device>146、<Device>147、およびそれらの<semanticDescriptor>子リソースに基づくだけの最終クエリ結果は正確であり得ない(<Device>111が見逃されているので)。
【0091】
以下に論じる機能強化は、クエリ範囲の問題に対処し得る複数のアプローチを含むことができる。第1強化アプローチでは、SQI121は、それが望む任意の特定のセマンティッククエリを指定することが依然として可能であり、RH-SLN122については、関与する<semanticDescriptor>子リソースを特定するためにクエリ範囲を決定するために、(次に開示するように)特定の運用ポリシーに従うことができる。まず、SQI121とRH-SLN122の両方は、以下の3つのケースを含むクエリ範囲の決定方法に関して、以下の合意を交わしている。言い換えれば、SQI121は、クエリは合意されたクエリ範囲でのみ実行可能であることを事前に把握することができる。
【0092】
第1強化アプローチのケース1では、SQI121は、そのセマンティッククエリ要求を、<CSEBase>210リソースの下のすべての<semanticDescriptor>子リソースがチェックされ得るように、<CSEBase>210リソースに向けて直接送信することができる。例えば、この場合、クエリ範囲は現在のRH-SLN122のリソースツリー全体である。より一般的には、前節で提案した解決策を利用することもできる。例えば、<CSEBase>210の下の<semanticDescriptor>子リソースも「peerSemantics」属性を持つことができ、別のCSEの他の<semanticDescriptor>リソースにリンクすることができる。
【0093】
第1強化アプローチのケース2では、セマンティッククエリ要求を<CSEBase>210に向けて送信する代わりに、<queryPortal>と呼ばれる新しいリソースが開示される。したがって、SQI121は、そのセマンティッククエリ要求を、この<queryPortal>に向けて直接送信することができる。特に、この<queryPortal>は、それ自身のクエリ範囲を示す「queryScope」と呼ばれる属性を持つことができる(この新たなリソースに関する詳細について本明細書で論じる)。したがって、この<queryPortal>リソースに送信されるすべてのセマンティッククエリは、この<queryPortal>リソースの「queryScope」属性によって示されるようなクエリ範囲内で実行される。それはURIであってもよく、対応するクエリ範囲はこのURIの下のすべての子リソースであり得る。さらに、与えられたRH-SLN122は複数の<queryPortal>リソースを持つことができ、それらの各々はそれ自身のクエリ範囲を持つことができる可能性がある。それらの<queryPortal>リソースを、例えば、通常のリソース発見を通じて発見し、実行すべきクエリにとって望ましいものを選択することはSQIに委ねられる。
【0094】
第1強化アプローチのケース3では、SQI121は、そのセマンティッククエリ要求を、(「To」パラメータによって指定されるような)任意のリソースURIに向けて直接送信することができ、そして、これは、クエリ範囲がこのURIの下のすべての<semanticDescriptor>子リソースであってもよいということを意味する。同様に、前節で提案した解決策を利用することもできる。例えば、「To」パラメータによって指定されたURIの下の<semanticDescriptor>子リソースも、このCSEのリソースツリーの任意の位置にある他の<semanticDescriptor>リソースにリンクするための「peerSemantics」属性を持つことができる。留意すべきことは、このケースは基本的な解決策について検討したものであるが、本節は、改良し得る追加的な変更を提供するということである。例えば、この場合、SQI122は、それが望む任意のクエリを提示し得るが、RH-SLN122によって使用されるクエリ範囲が不完全であるため正確なクエリ結果を与えられない場合、ある種の不正確性が存在する可能性がある。したがって、ここで必要なことは、RH-SLN122は、クエリ結果をSQIに認識させるために返すとき、クエリ結果/品質の要約を示すことができるということである。
【0095】
セマンティッククエリ処理段階については、
図29に示すような手順として形式的に記述される(詳細な説明は、
図28に示す例を用いて例示されている)。ステップ230に、前提条件がある。必要性に基づいて、SQI121は、RH-SLN122に関する何らかの情報を問い合わせることができる。そこで、SQI121は、その質問を記述するために、SPARQLクエリステートメントを作成する。例えば、SQI121が、シナリオ4に例示するようなクエリの実行を意図すると仮定する。
【0096】
図29を参照すると、ステップ231で、SQI121は、要求メッセージをRH-SLN122に送信し、その中で、この要求が、処理すべきセマンティッククエリに関するものであることを示す。メッセージは、
図11のステップ291で開示されたようなパラメータに加えて、新たなパラメータneed_query_summary(nqs)を含むことができる:この情報は、RH-SLN122がクエリ結果をSQI121に返すとき、SQI121が、関連クエリ結果または品質の要約情報も返すことを要望するのかどうかを示す。
【0097】
ステップ232では、SQI121からセマンティッククエリが受信されると、RH-SLN122におけるクエリ処理が以下のように実行される。第1アクションでは、「To」が<CSEBase>リソースに向けられている場合、可能性のある関与する<semanticDescriptor>リソースを特定するために、ケース1で導入されたような詳細に従って、このクエリ処理を行うことができる。あるいは、「To」が<queryPortal>リソースに向けられている場合、可能性のある関与する<semanticDescriptor>リソースを特定するために、ケース2で導入されたような詳細に従って、このクエリ処理を行うことができる。あるいは、「To」がRH-SLN122のリソースツリー内の任意のリソースに向けられている場合、可能性のある関与する<semanticDescriptor>リソースを特定するために、ケース3で導入されたような詳細に従って、このクエリ処理を行うことができる。ステップ232のための第2アクションでは、RH-SLN122は、特定のアクセス制御ポリシーに基づいて、可能性のある関与する<semanticDescriptor>リソースごとに、それに対してセマンティッククエリを実行できるかどうかをさらに評価する。実行できる場合、そのようなリソースは、正式な関与するリソースとなる。ステップ232のための第3アクションでは、正式な関与する<semanticDescriptor>リソースごとに、それに対するセマンティッククエリが実行される。有効なクエリ結果がある場合、そのクエリ結果は最終結果セットに追加され得る。一方、これらの正式な関与するリソースに対するクエリ処理は互いに独立して実行され得る。正式な関与するリソースがクエリに従って評価された後は、最終結果セットは最終クエリ結果を含むことができ、SQI121に返され得る。
【0098】
ステップ233で、RH-SLN122は、SQI121によって示されたようなフォーマットを用いたクエリ結果を含む応答メッセージをSQI121に返信することができる。メッセージは、
図11のステップ231で提案されたようなパラメータに加えて、以下の新しいパラメータを含むことができる:query_summary(qs)。query_summaryパラメータは、クエリ結果品質または要約情報を含むことができる。それは、例えば、クエリがどの<semanticDescriptor>リソース上で実行されたかを示すことができる。SQI121は、この情報を利用することにより、返されたクエリ結果が望ましく、かつ十分に正確であるかどうかを評価することができる。その他の情報は、クエリ処理時間費用等を含み得る。
【0099】
第2強化アプローチでは、RH-SLN122側で、既存の<group>および<semanticGroup>リソースを用いて、いくつかの関連するリソースを積極的に集約することができる。<group>および<semanticGroup>のいくつかの特徴は、既存のTS-0001およびTR-0007に定義されている通りである。要約すると、セマンティッククエリ処理を、セマンティック記述子コレクションと切り離すことができる。例えば、受信側では、セマンティッククエリを処理することなく、既存の<group>または<semanticGroup>リソースを用いて、いくつかの関連する<semanticDescriptor>リソースを積極的に集約することができる。したがって、SQI121は、まず、それらのリソースを発見して、次に、処理のために、セマンティッククエリをそれらのリソースに送信することができる。特に、そのようなアプローチでは、クエリ範囲は、それらの<group>または<semanticGroup>リソースのメンバーリソースによって決定済みであるため、SQI121によって提起されたセマンティッククエリは、クエリ範囲関連のステートメントを伝達する必要はない。
【0100】
第2強化アプローチを引き続き参照して、例えば、RH-SLN122において、(例えば、既存の<semanticGroup>リソースの「semanticGroupLinks」属性または<group>リソースの「memberIDs」属性を用いることによって)、<Device>111、<Device>146、および<Device>147のすべての<semanticDescriptor>子リソースを含むことができる<semanticGroup>リソース(または<group>リソース)を作成することができる。
図30は、それらの2つのケースについての2つの例を示す。したがって、<semanticGroup>リソース内では、このグループはどのようなグループか(概要として、例えば、「全デバイス」)を示し、さらにデバイスのすべての参照を含めることができる。したがって、SQI121が「全デバイスの動作名を問い合わせる」というようなクエリを送信する必要があるアプローチ1とは違って、アプローチ2では、SQI121は、CompanyAとCompanyBのすべてのデバイスをメンバーとして含む特定の<semanticGroup>リソースを最初に発見することができる。この<semanticGroup>リソースの概要を知ることによって、SQI121は、この<semanticGroup>リソースが全デバイスの参照を持つことを理解することができる。次に、SQI121は、クエリ範囲を示さずに(例えば、「全デバイスの」)「動作名を問い合わせる」クエリ要求を送信するだけでよく、そのようなクエリはこの<semanticGroup>のすべてのメンバーリソースに自動的に適用され、<Device>111、<Device>146、および<Device>147のすべての関与する<semanticDescriptor>子リソースがチェックされ得る。第2強化アプローチに見られるように、クエリ範囲が積極的にRH-SLN122側で決定され、SQI121は、セマンティッククエリを送出する前に、クエリ範囲または関与する<semanticDescriptor>子リソースを知る。したがって、SQI121とRH-SLN122の両者は、クエリ範囲について同じ理解を有しているため、第2強化アプローチにおいては、クエリ結果は正確である。
【0101】
以下は、第2強化アプローチにおいてセマンティッククエリがどのように処理され得るかに関するさらなる詳細である。ステップ251で、SQI121は、<semanticGroup>240または<group>242リソースを発見する。ステップ252で、SQI121は、このリソースに、クエリ要求を含み得るセマンティッククエリを送信することができる。特に、セマンティッククエリ要求は、この<group>または<semanticGroup>リソースの<semanticFanOutPoint>子リソースに向けたRETRIVE動作にマッピングされ得る。<semanticFanOutPoint>リソースは、表現を持たないため、仮想リソースである。それは、<semanticDescriptor>型のメンバーを持つ<group>リソースの子リソースである。セマンティッククエリ要求が<semanticFanOutPoint>リソースに送信されるときには、常に、ホスト(例えば、この場合、RH-SLN122)は、親である<group>リソースまたは<semanticGroup>リソースのmemberIDs属性を用いて、すべての関連セマンティック記述子にアクセスする。他のRH-SLNに記憶されたセマンティック記述子がある場合、外部セマンティック記述子を読み出すために、個別のRETRIVE要求が、RH-SLN122から他のRH-SLNの各々に送信される。セマンティック記述子は、それぞれのアクセス制御ポリシーに基づいてアクセスされる。
【0102】
特に、それらのリソースに対する既存のセマンティック発見処理とは違って、セマンティッククエリ処理では、関与する<semanticDescriptor>リソースが<group>または<semanticGroup>リソースを通じて特定されると、それらの関与する<semanticGroup>リソースの各々に対して、クエリが直接かつ個別に実行され得る。一方、関与する<semanticDescriptor>リソースが、セマンティッククエリ処理能力を持たない別のRH-SLN上にある場合、この関与する<semanticDescriptor>リソースのコンテンツは、セマンティッククエリ要求を受信して、かつ、<group>または<semanticGroup>リソースをホストする、元のRH-SLNによって読み出される可能性が依然としてあり、そこからクエリが実行され得る(ただし、依然として、個別に)。最終的に、関与する<semanticDescriptor>リソースの各々に対する個別クエリ結果のすべてを合成することによって、最終クエリ結果を生成することができる(ステップ253)。
【0103】
図30は、上記の動作の詳細を示す例を示す。例えば、RH-SLN122側では、<semanticGroup-1>240リソースが作成され得る。<semanticGroup-1>240リソース内のsemanticGroupLinksは、全デバイスへの参照、例えば、<Device>111、<Device>146、および<Device>147の<semanticDescriptor>(116、148、49)子リソース(または、単に、<Device>111、<Device>146、または<Device>147でもよい)を含む。このグループにすべての会社のすべてのデバイスが含まれていることを記述するために、この<semanticGroup>リソースに、新たな「Description」属性をさらに定義することもできる。パラメータは他の有益な情報をも含むことができる。例えば、この<semanticGroup>リソースがどの種類のクエリをサポートできるかを記述/指示することができる。この方法は、SQI121が、後ほどセマンティッククエリを送信するために、適正な<semanticGroup>リソースを発見することを容易にし、支援する。
【0104】
あるいは、このグループを、<group>242リソースによって表すこともできる。特に、<Group-1>242の<semanticDescriptor>リソースを用いて、このリソースグループはどのようなグループかを記述することができる。手順については、SQI121は、まず、それらの<semanticGroup>240または<group>242リソースを発見することができる(ステップ251)。適切なものが選択されると、SQI121は、そのセマンティッククエリを、この選択された<semanticGroup>240または<group>242リソースに送信することができ(ステップ252)、クエリは、この選択された<semanticGroup>240または<group>242リソースによって示されたように、メンバーリソース上で実行される(ステップ253)。ステップ254で、クエリ結果がSQI121に返される。
【0105】
セマンティッククエリ処理段階については、
図31に示すように記述される。ステップ261で、SQI121はリソース発見要求メッセージをRH-SLN122に送信し、その中で、この要求は、後ほどセマンティッククエリを実行する対象となる可能性のある<semanticDescriptor>リソースを発見するためのものであることを示す。この要求の中で、新しいパラメータresource_discovery_purpose(rdp)がこのリソース発見要求の目的を示すことができる。resource_discovery_purpose(rdp)情報は、SQI121が、セマンティッククエリを実行するための<semanticDescriptor>リソースを探していることを示す。ステップ262で、rdpパラメータを通じて、RH-SLN122は、このリソース発見が特定の<group>242または<semanticGroup>240リソースに限られているだけであることを知る。そこで、RH-SLN122は、通常のリソース発見プロセスを実行し、セマンティッククエリをサポートするために使用可能な<group>242または<semanticGroup>240リソースのリストを返す。ステップ263で、RH-SLN122は、<group>242または<semanticGroup>240リソースに関する記述情報と共にそれらのリソースのリストを含む応答メッセージを、SQI121に返信する。
【0106】
ステップ264で、SQI121は、返された<group>242または<semanticGroup>240リソースの各々を評価して、所望のリソースはどれかを決定する。このプロセスの間に、SQI121は、より多くの情報を得るために、それらのリソースにさらにアクセスすることができる。ステップ265で、特定の<group>242または<semanticGroup>240リソースを決定した後、SQI121は、例えば、選択された<semanticGroup>240リソースの<semanticFanOutPoint>子リソースに向けて、新しいセマンティッククエリ要求を送信する。新しいパラメータ、クエリステートメント(QS)、結果フォーマット(RF)、またはクエリ要約要求(need query summary:NQS)を使用することができる。クエリステートメント(qs)は、SQI121によって指定された、SPARQLクエリステートメントであり得るクエリステートメントを記憶することを指示する情報を提供する。あるいは、SQI121は、そのクエリをセマンティクスfilterCriteriaに入れて伝達することもできる。結果フォーマット(rf)は、クエリ結果をどのような表現方法で記憶するかを指示する情報を提供し、プレーンテキスト、JSON、またはXMLフォーマットであり得る。need_query_summary(nqs)は、SQI121が、RH-SLN122がクエリ結果をSQI121に返すときに関連クエリ結果または品質の要約情報も返すことを要望するのかどうかを示す情報を提供する。
【0107】
ステップ266で、RH-SLN122がこのセマンティッククエリ要求を受信した後、RH-SLN122は、親<group>リソースまたは<semanticGroup>240リソースのmemberIDs属性を用いて、関連セマンティック記述子にアクセスする。言い換えれば、<semanticGroup>240リソースに含まれるメンバーの<semanticDescriptor>子リソースが、可能性のある関与する<semanticDescriptor>リソースである可能性がある。特に、クエリ処理は以下のように機能し得る。第1アクションでは、RH-SLN122は、特定のアクセス制御ポリシーに基づいて、可能性のある関与する<semanticDescriptor>リソースごとに、それに対してセマンティッククエリを実行できるかどうかをさらに評価する。実行できる場合、そのようなリソースは、正式な関与するリソースとなり得る。第2アクションでは、特定の正式な関与する<semanticDescriptor>リソースに対して、複数のケースがあり得る。ケース1では、<semanticDescriptor>リソースがRH-SLN122によってホストされている場合、セマンティッククエリはそれに対して直接実行される。ケース2では、<semanticDescriptor>リソースが、別の、やはりセマンティッククエリ処理能力を持つRH-SLN-2(図示せず)にホストされている場合、RH-SLN122は、セマンティッククエリを別のRH-SLN-2上で直接実行するために、セマンティッククエリを別のRH-SLN-2に送信することができる。ケース3では、<semanticDescriptor>リソースが、別の、セマンティッククエリ処理能力を持たないRH-SLN-3(図示せず)にホストされている場合、RH-SLN122は、この関与する<semanticDescriptor>リソース内に含まれるすべてのコンテンツをRH-SLN-3から読み出した後、セマンティッククエリをRH-SLN122上でローカルに実行することができる。正式な関与するリソースがクエリに従って評価された後は、最終結果セットは、最終クエリ結果を含むことができ、SQI121に返され得る。あるいは、RH-SLNは、すべての関与する<semanticDescriptor>リソースを読み出すことができ、そして、それらは、統合されたRDFデータ基盤を形成する。次に、この統合されたRDFデータ基盤上でセマンティッククエリステートメントが実行され、セマンティッククエリ結果が生成され得る。ステップ267で、RH-SLN122は、SQI121によって示されたようなフォーマットを用いたクエリ結果を含む応答メッセージをSQI121に返信する。品質の要約情報も必要に応じて返すことができる。
【0108】
第5シナリオを参照すると、セマンティッククエリは、<semanticDescriptor>リソース内に記憶されていない情報を要求する。例えば、何らかの要求された情報は、RDFトリプルとして表され得ず、通常のリソース内に記憶されているだけである可能性がある。しかし、前述の第2シナリオでは、セマンティッククエリを実行するために、どの<semanticDescriptor>リソースが関与することになるかは、例えば、セマンティッククエリ要求メッセージに含まれる「To」パラメータに基づいて、既に知られていると仮定される。シナリオ5では、ユーザがいくつかの「目標とするリソース」(それらの目標とするリソースは特定の制約を満たす必要がある)からの情報を必要としているが、それらの目標とするリソースは事前に特定されていないという状況を論じる。第5シナリオは、前述の第2シナリオと第4シナリオとの組み合わせと類似であり得る。ここで、この第5シナリオでは、セマンティッククエリは、任意の関与する<semanticDescriptor>上で実行され得るということが重要である。第1シナリオの第1ステップは、「目標とするリソース」を特定して、次に、それらの目標とするリソースから必要な情報を抽出することである。したがって、ユーザは情報を問い合わせているにもかかわらず、セマンティッククエリ処理に直接頼らず、間接的に、既存のセマンティックリソース発見処理を遂行し得ることが分かる。
【0109】
以下は、第5シナリオに関するさらなる説明である。
図32は、部分的リソースツリー構造を示し、そこでは、<Device>111、<Device>146、および<Device>147は3つの温度デバイスを表し、それらの各々は、それぞれのセマンティック記述を記憶する子リソース<semanticDescriptor>を持つ。一方、それらの3つのデバイスの各々は「OperationA」を持ち、この動作は「現在の動作状態」と呼ばれる属性を持つ。クエリ記述の意図は以下の通りであり得る:「CompanyAとCompanyBのすべての温度デバイスの現在の動作状態を返すこと。」現在のところ、本明細書で論じるものとしては、セマンティッククエリをさらに処理するために既存のセマンティックリソース発見メカニズムを利用する方法を示す解決策はない。
【0110】
セマンティッククエリ要求を処理するために既存のセマンティックリソース発見プロセスを利用する方法は複数ある。本明細書には、シナリオ5Aやシナリオ5B等の、既存のセマンティックリソース発見プロセスを利用するいくつかの例がある。
【0111】
シナリオ5Aを参照すると、SQI121は、そのクエリを指定するために、依然として、既存のセマンティックフィルタインタフェースを使用する。一方、セマンティックフィルタは、目標とするリソースを特定する方法を指定することができる。SQI121は、目標とするリソースが特定されると、どの情報を抽出して返す必要があるかということも示す。同様に、RH-SLN122は、SQI121から要求を受信すると、まず、既存のセマンティックリソース発見によってサポートされ得るセマンティックフィルタに含まれる制約を用いて、目標とするリソースを特定する。リソースが目標とするリソースとして特定されると、RH-SLN122は、さらに、この目標とするリソースから情報を抽出することができる。
【0112】
図33は、
図32を考慮した例示的な方法を示す。ステップ270に、前提条件があり得る。前提条件。必要性に基づいて、SQIは、RL-SLNに関する何らかの情報を問い合わせる必要がある。例えば、SQIが、シナリオ5に例示するようなクエリの実行を意図すると仮定する。ステップ271で、SQI121は、要求メッセージをRH-SLN122に送信し、その中で、この要求が、処理すべきセマンティッククエリに関するものであることを示す。ステップ271のセマンティッククエリは以下を含むことができる:セマンティックフィルタ、必要情報(NI)、または結果フォーマット(RF)。既存のセマンティックフィルタを利用して、可能性のある目標となるリソースをセマンティックリソース発見を通じて特定する方法を指定することができる。第5シナリオに示される例では、セマンティックフィルタを以下のように(すなわち、すべてのOperationAリソースを発見するように)書くことができる:
SELECT ?operation
WHERE { ?device rdf:type base:Device
?device rdf:is-from CompanyA or CompanyB.
?device base:hasService ?service
?service base:hasOperation ?operation
?operation base:hasName OperationA
}
【0113】
必要情報(NI)は、目標とするリソースが特定されたら抽出されるべき情報である。結果フォーマット(RF)は、クエリ結果を記憶する方法を指示する情報で、プレーンテキスト、JSON、またはXMLフォーマットであり得る。
【0114】
あるいは、SQI121は、既存のセマンティックフィルタを使用せず、完全なセマンティッククエリを直接送信することができる。そうであれば、第1シナリオで提案されたように、完全なセマンティッククエリを、以前に提案されたクエリステートメント(QS)パラメータに含むことができる。
図32に関連付けられた第5シナリオに示される例では、完全なセマンティッククエリを以下のように書くことができる:
SELECT ?operationStatus
WHERE { ?device rdf:type base:Device
?device rdf:is-from CompanyA or CompanyB.
?device base:hasService ?service
?service base:hasOperation ?operation
?operation base:hasName OperationA
?operation base:hasStatus operationStatus
}
【0115】
完全なセマンティッククエリをRH-SLN122に提示することもできることに留意されたい。RH-SLN122は、このクエリを処理するために、依然として、既存のセマンティックリソース発見を使用することができる。
【0116】
ステップ272で、SQI121からセマンティッククエリを受信すると、RH-SLN122は、セマンティックフィルタに記憶された情報に基づいて、目標とするリソースを特定するために、既存のセマンティックリソース発見を実行する。特に、SQI121が完全なセマンティッククエリを送信した場合でも、RH-SLN122は、まず、関連するリソースを特定する。例えば、第5シナリオでは、3つの<OperationA>リソースが、目標とするリソースとして特定され得る。ステップ273で、目標とするリソースごとに、RH-SLN122は、このリソースから必要情報をさらに抽出して、それを最終結果セットに追加する。目標とするリソースから情報が抽出されると、それはSQI121に返信される。例えば、第5シナリオでは、3つの<OperationA>リソースの動作状態がセマンティッククエリ結果として抽出される。ステップ274では、RH-SLN122は、SQI121によって示されたようなフォーマットを用いたクエリ結果を含む応答メッセージをSQI121に返信する。あるいは、クエリ結果があまりに大量で、単一の応答メッセージで伝達できないため、RH-SLN122が、例えば、<request>リソースを用いて、クエリ結果を記憶するための新しいリソースを作成する可能性がある。次に、RH-SLN122は、SQI121に、クエリ結果を直接返さず、クエリ結果を記憶する新しく作成されたリソースのURIだけを返す。そこで、SQI121は、後ほど、自身でクエリ結果を読み出すことを選択することができる。
【0117】
シナリオ5Bを参照すると、SQI121は、そのクエリを指定するために、依然として、既存のセマンティックフィルタインタフェースを使用することができる。一方、セマンティックフィルタは、目標とするリソースを特定する方法を指定することができる。シナリオ5Aとは違って、SQI121は、目標とするリソースからどの情報を抽出する必要があるかということを指定しない。言い換えれば、SQI121は、目標とするリソース発見のために、RH-SLN122に依存するだけである。目標とするリソースが特定され、SQI121に返信されると、SQI121は、さらに、自身で情報をそれらの目標とするリソースから抽出することができる。
【0118】
図43は、例示的なステップを示す。ステップ280に、前提条件があり得る。必要性に基づいて、SQIは、RH-SLNに関する何らかの情報を問い合わせる必要がある。例えば、SQIが、シナリオ5に例示するようなクエリの実行を意図すると仮定する。
図34を参照すると、ステップ281で、SQI121は、要求メッセージをRH-SLN122に送信し、その中で、セマンティックリソース発見を要求するだけである。セマンティックフィルタは要求メッセージに含まれ得る。セマンティックフィルタは、セマンティックリソース発見を通じて可能性のある目標となるリソースを特定する方法を指定することができる。第5シナリオに関して示される例では、セマンティックフィルタを以下のように(すなわち、すべてのOperationAリソースを発見するように)書くことができる:
SELECT ?operation
WHERE { ?device rdf:type base:Device
?device rdf:is-from CompanyA or CompanyB.
?device base:hasService ?service
?service base:hasOperation ?operation
?operation base:hasName OperationA
}
【0119】
図34を引き続き参照して、セマンティッククエリインジケータ(sq)は、SQI121が実行すべきセマンティッククエリを送信していること、すなわち、この要求はセマンティックリソース発見のためではなく、いくつかのRDFトリプルに基づく何らかの派生情報または知識を、意味論的に問い合わせまたは読み出すためであることを示す。oneM2Mの実施形態では、そのようなsqパラメータは新しい要求パラメータであり得る。あるいは、sqの効果を実現するために、filterCriteriaの既存のfilterUsageを使用することもできる。例えば、filterUsageに対して新しい値を定義して、この新しい値が出現していればセマンティッククエリ動作が引き起こされることを意味するようにすることができる。
【0120】
ステップ282で、SQI121からセマンティッククエリを受信すると、RH-SLN122は、セマンティックフィルタに記憶された情報に基づいて、目標とするリソースを特定するために、既存のセマンティックリソース発見を実行する。ステップ283で、特定された目標とするリソースに対して、RH-SLN122は、それらの目標とするリソースを含むための<group>242リソースを作成することができる。ステップ284で、RH-SLN122は、<group>リソースのURIを返す応答メッセージをSQI121に返信する。ステップ285で、SQI121は、この<group>242リソースのfanoutPointにRETRIEVEを送信して、発見または目標とされたリソースから必要な値を読み出すことができる。
【0121】
セマンティッククエリCSFおよび論理エンティティの例について、以下に論じる。oneM2Mは、現在、oneM2Mサービス層によってサポートされる能力の定義の過程にある。これらの機能は、能力サービス機能(Capability Service Function:CSF)と呼ばれる。oneM2Mサービス層は、能力サービスエンティティ(Capability Services Entity:CSE)287と呼ばれる。したがって、分散された<semanticDescriptor>リソースに対する開示されたセマンティッククエリは、
図35に示すように、サービス層における新しいCSF288と見なし得る。あるいは、それは、oneM2M TS-0001において定義された既存のセマンティック関連CSFの一部でもあり得る。本明細書に開示されている手順および新しいパラメータは、
図35に示すように、主としてmcaおよびmcc/mcc’参照点上で発生する。M2Mゲートウェイ、M2Mサーバ、M2Mデバイス等のような異なるタイプのM2Mノードが、セマンティッククエリサービスを実装し得る。特に、それらのノードのための異なるハードウェアまたはソフトウェア容量に応じて、それらのノードによって実装されるセマンティッククエリサービスの機能性または能力も変わる可能性がある。さらに、oneM2Mの文脈において、論理エンティティRH-SLN122は、物理的CSEとして具現化されてもよい。論理エンティティSQI121は、AEまたはCSEとして具現化されてもよい。
【0122】
通常のoneM2Mリソースの属性について、以下に論じる。シナリオ2では、アプローチの1つは、本来はRDFフォーマットで提供されておらず、<semanticDescriptor>リソース内に記憶されている情報を表すために、RDFトリプルをさらに追加するというものであった。例えば、通常の通常のリソースAからの情報Info-X(例えば、<reading>113リソースに記憶されている現在温度値32)の場合、情報Info-Xを表すために新しいRDFトリプルが作成されたら、リソースAのどの情報がRDFフォーマットで表されたかという事象を示すことも有益であり得る。これを行うために、新しい属性「duplicatedAsRDF」がリソースAに対して定義され、「duplicatedAsRDF」の詳細な説明が表4に示されている。リソースAは、<AE>、<CSE>、<container>、<contentInstance>等の、任意の既存または将来のリソースタイプであり得ることに留意されたい。
【表5】
【0123】
図42は、第2シナリオおよび第4シナリオに関連する例示的な方法を示す。ステップ4201で、RH-SLN122は、センサに関連付けられた情報を取得することができる(例えば、<reading>113)。例示的なセンサは、加速度計、バイオメトリクスセンサ、または温度センサを含み得る。ステップ4202で、RH-SLN122は、センサに関連付けられた情報を<contentInstance>のような通常のリソースに組み込むことができる。ステップ4203で、RH-SLN122は、情報をトリプルとして表すsemanticDescriptorリソースをその情報のために作成することができる。ステップ4204で、RH-SLN122は、通常のリソース情報がトリプルとして複製されているというフラグを立てることができる。
【0124】
新しい要求パラメータについて、以下に論じる。oneM2Mにおいて、SQI121はAE-1として具現化されることができ、RH-SLN122はCSE-1として具現化されることができる。第1ステップで、AE-1はCSE-1にセマンティッククエリを含む要求を送信する。第2ステップで、要求を受信すると、CSE-1はセマンティッククエリ処理を実行して、クエリ結果を出す。このステップは、本開示において最も焦点となる革新的なステップであり、このステップで行われるクエリ処理は場合によって異なることに留意されたい。第3ステップで、CSE-1はクエリ結果をAE-1に返す。oneM2Mの場合、AE-1がCSE-1に要求を送信するとき、その要求は、oneM2M RETRIEVE要求であり得る。本明細書で提示されたシナリオでは、セマンティッククエリ処理に若干の違いがあるため、例えば、新しいパラメータはRETRIEVE要求または応答メッセージに入れて伝達されてもよい。
【0125】
以下は、これらのパラメータの概要であり、パラメータはoneM2Mリクエストまたは応答メッセージに含まれ得る。シナリオ1では、RETRIEVEメッセージは、とりわけ、以下の新しいパラメータを含むことができる:SQ、SE、QS、またはRF。シナリオ2およびシナリオ3では、RETRIEVEメッセージは、とりわけ、以下を含むことができる:SQ、QS、またはRF。シナリオ4に関連する基本的な解決策およびより強力な解決策の第1アプローチの場合、RETRIEVEメッセージは、とりわけ、SQ、QS、NQS、またはRFを含むことができ、一方、応答メッセージはQSを含むことができる。シナリオ4に関連するより強力な解決策の第2アプローチの場合、RETRIEVEメッセージはRDPを含むことができ、別のRETRIEVEメッセージは、とりわけ、SQ、QS、NQS、またはRFを含むことができ、一方、応答メッセージはQSを含むことができる。シナリオ5Aの場合、RETRIEVEメッセージは、とりわけ、NIまたはSQを含むことができる。
【0126】
新しいセマンティッククエリポータルリソース<queryPortal>。シナリオ4に対するより強力な解決策の第1アプローチのために、<queryPortal>290と呼ばれる新しいリソースが開示される(
図36参照)。<queryPortal>290は、それ自身のクエリ範囲を示す「queryScope」291と呼ばれる属性を持つことができる。したがって、<queryPortal>290リソースに送信されたすべてのセマンティッククエリは、その「queryScope」291属性によって示されるように、クエリ範囲内で実行される可能性がある。さらに、与えられたCSEが複数の<queryPortal>290リソースを含むことができ、それらの各々がそれ自身の「queryScope」291を持つ可能性がある。それらの<queryPortal>290リソースを通常のリソース発見等を通じて発見し、実行すべきクエリにとって望ましいものを選択することはSQI(例えば、AEまたはCSE)に委ねられる。<queryPortal>290リソースは、リソースが容易に発見されるように、<CSEBase>210の下に存することができる。<queryPortal>290リソースは、通常の作成、読み出し、更新、削除(Create, Read, Update, and Delete:CRUD)操作を通じて構成し得る。例えば、ホスティングCSEは、その知識に基づいて、<queryPortal>290リソースを管理するための自身のタスクを設定し、通常のリソース上で操作を実行することができる。その結果、セマンティッククエリが特定の<QueryPortal>リソースに送信されると、queryScope291属性に含まれるような関与する<semanticDescriptor>リソースが読み出され得る。その後、各<semanticDescriptor>リソース上でクエリが実行され、クエリ結果が返され得る。<queryPortal>290リソースは、表5に指定された属性を含むことができる。
【表6】
【0127】
<queryPortal>リソースに対する作成/読み出し/更新/削除操作を以下に開示する。表6に記載されているように、<queryPortal>リソースを作成するために作成<queryPortal>手順を用いることができる。
【表7】
【0128】
この<queryPortal>読み出し手順は、表7に記載されているように、<QueryPortal>リソースの属性を読み出すために使用され得る。
【表8】
【0129】
表8に記載されているような<queryPortal>更新手順は、既存の<queryPortal>の更新、例えば、そのqueryScopeの更新を行うために使用され得る。一般的な更新手順は[9]の10.1.3項に記載されている。
【表9】
【0130】
既存の<queryPortal>を削除するには、表9に記載されているような<queryPortal>削除手順を使用するものとする。一般的な削除手順は[9]の10.1.4.1項に記載されている。
【表10】
【0131】
<queryPortal>リソースを介したセマンティッククエリ処理手順。本節は、<queryPortal>リソースを介したセマンティッククエリ処理手順に関するoneM2Mの例を示す。
図37は、シナリオ4に対する<queryPortal>リソースを介したセマンティッククエリ処理のためのoneM2M中心の手順を示す。ステップ300で、クエリポータルを作成するために、CSE296自身によって<queryPortal-1>リソースが作成された。ステップ301で、AE295は、CSE296によってホストされている<queryPortal-1>リソースを、通常のリソース発見を通じて発見する。ステップ302aおよびステップ302bで、AE295は、クエリ範囲を示す「queryScope」属性にアクセスする。例えば、<queryPortal-1>リソースの「queryScope」は、<CSE>/<CompanyA>と<CSE>/<CompanyB>の2つのURIを含んでいる可能性がある。ステップ303で、AE295は、会社Aと会社Bのデバイスに関する情報を問い合わせることを意図して、<queryPortal-1>リソースを望ましいクエリポータルとして選択する。AE295のクエリは、「会社Aと会社Bのすべてのデバイスの動作の動作モードを返すこと。」であり得る。
【0132】
ステップ304で、AE295は、(「To」パラメータによって示されるように)CSE296上の<queryPortal-1>リソースに向けたRETRIEVEを送信する。要求メッセージは、とりわけ、以下の新しいパラメータを含むことができる:SQ、QS、RF、またはNQS。ステップ305で、AE295からセマンティッククエリを受信すると、CSE296におけるクエリ処理が実行される。<queryPortal-1>リソースの「queryScope」は、<CSE-1>/<CompanyA>と<CSE-1>/<CompanyB>の2つのURIを含むため、それら2つのURIの下の<semanticDescriptor>リソースの特定を開始し得る。特に、すべての会社の<Device>111、<Device>146、および<Device>147の<semanticDescriptor>子リソースが、関与する<semanticDescriptor>リソースとして特定される。
図26を参照されたい。ステップ306で、CSE296は、特定のアクセス制御ポリシーに基づいて、可能性のある関与する<semanticDescriptor>リソースごとに、それに対してセマンティッククエリを実行できるかどうかをさらに評価する。実行できる場合、そのようなリソースは、正式な関与するリソースとなり得る。ステップ307で、正式な関与する<semanticDescriptor>リソースごとに、それに対するセマンティッククエリが実行される。有効なクエリ結果がある場合、そのクエリ結果は最終結果セットに追加され得る。一方、これらの正式な関与するリソースに対するクエリ処理は互いに独立して実行され得る。
【0133】
ステップ308で、正式な関与するリソースがクエリに従って評価された後は、最終結果セットは、最終クエリ結果を含むことができ、AE295に返され得る。シナリオ4の例では、<Device>111、<Device>146、および<Device>147の動作の動作モードは、最終クエリ結果であり得る。ステップ309で、CSE-1は、AE295によって示されたような(ステップ4で示されたような)フォーマットを用いたクエリ結果を含む応答メッセージをAE295に返信する。さらに、メッセージはパラメータQSを含むことができる。パラメータQSはクエリ結果品質または要約情報を含む。それは、例えば、クエリがどの<semanticDescriptor>リソース上で実行されたかを示すことができる。AE295は、この情報を利用することにより、返されたクエリ結果が望ましく、かつ十分に正確であるかどうかを評価することができる。その他の情報は、クエリ処理時間費用等を含み得る。
【0134】
本明細書で論じるように、分散されたセマンティック記述子に対するセマンティッククエリのための例示的なユーザインタフェースについて、以下に論じる。
図38は、セマンティッククエリ範囲チェックのための例示的なユーザインタフェースを示す。グラフィカルユーザインタフェース(Graphical User Interface:GUI)310は、特定の<semanticGroup>リソースのクエリ範囲をチェックするために使用され得る。チェックの対象となる<semanticDescriptor>リソースのURIをブロック311に入力することによって、そのメンバーリソース、例えば、関与する<semanticDescriptor>リソースを表示することができる。特に、メンバーリソースの中には、それに応じて受信したURIと同じノード上になり得ない。URI入力が指しているノード上のメンバーリソースのチェックするためのオプション312がある。
【0135】
図39は、セマンティッククエリランチャのための例示的なユーザインタフェースを示す。GUIインタフェース320は、セマンティッククエリを起動するために使用され得る。理解できるように、パラメータの値は、本明細書に開示されているように受信することができる。ロック316は<semanticQuery>リソース用に使用することができ、ブロック317はクエリステートメント入力用に使用することができ、ブロック318はクエリ結果のフォーマット用に使用することができ、クエリ要約が必要かどうかを示すブロック319があってもよい。したがって、入力に基づいて、セマンティッククエリメッセージを生成して、処理のために送信することができる。
図40は、セマンティッククエリ結果表示のための例示的なユーザインタフェースを示す。セマンティッククエリ結果が返された後、結果をブロック321内のセマンティッククエリ結果GUI320上に表示することができる。ブロック322はクエリ要約を表示する。例においては、
図40に示す結果は、(ユーザによって要求されたような)会社Aと会社BのすべてのデバイスのOperationAの動作状態である。さらに、クエリ要約情報も返され、そこにはクエリ処理関連情報が示されている。
【0136】
本明細書に記載の特許請求の範囲、解釈、または適用を決して過度に限定することなく、本明細書に開示されている1つまたは複数の例の技術的効果は、セマンティッククエリを調整することである。現在、分散されたセマンティック記述子(例えば、oneM2M<semanticDescriptor>リソース)に対して直接的にセマンティッククエリを処理するための既存の解決策はない。本明細書で論じた方法およびシステムは、本明細書で論じたようなセマンティッククエリを可能にする。開示された主題は、単一のリソースに対する直接的なクエリ処理を直接実行する(例えば、単一の<semanticDescriptor>だけからの情報のみを使用する)ことを可能にする。開示された主題は、セマンティック記述子内に記憶されていない情報を用いたセマンティッククエリを可能にする。開示された主題は、異なった無関係のセマンティック記述子に分散されたセマンティッククエリを可能にする。これは、セマンティッククエリに対する「クエリ範囲」を決定することを含み得る。開示された主題は、異なるが関連するセマンティック記述子内に分散されたセマンティッククエリを可能にする。これは、セマンティッククエリに要する十分な情報を提供するために、既存の「resourceDescriptorLink」プロパティの使用を用いて、関連する<semanticDescriptor>リソースを共にリンクできるようにすることを含み得る。開示されている主題は、既存のセマンティックリソース発見を利用することによって、目標とするリソースからの情報を間接的に問い合わせることを可能にする。これは、セマンティッククエリのユーザから問い合わされ、求められている、リソースツリー内に記憶された情報をさらに読み出すために、セマンティックリソース発見メカニズムを利用する手順を含み得る。
【0137】
図41Aは、分散されたセマンティック記述子に対するセマンティッククエリに関連する1つまたは複数の開示された概念(例えば、
図10~
図39および付随する説明)を実装することができる例示的なマシンツーマシン(M2M)、モノのインターネット(IoT)、またはモノのウェブ(Web of Things:WoT)通信システム10の図である。一般に、M2M技術は、IoT/WoTのためのビルディングブロックを提供し、任意のM2Mデバイス、M2Mゲートウェイ、またはM2Mサービスプラットフォームは、IoT/WoTおよびIoT/WoTサービス層等の構成要素であり得る。
【0138】
図41Aに示すように、M2M/IoT/WoT通信システム10は、通信ネットワーク12を含む。通信ネットワーク12は、固定ネットワーク(例えば、Ethernet(登録商標)、ファイバ、ISDN、PLC等)または無線ネットワーク(例えばWLAN、セルラー等)または異種ネットワークからなるネットワークであり得る。例えば、通信ネットワーク12は、音声、データ、ビデオ、メッセージ通信、放送等のコンテンツを複数のユーザに提供する多元接続ネットワークから構成され得る。例えば、通信ネットワーク12は、符号分割多元接続(Code Division Multiple Access:CDMA)、時分割多元接続(Time Division Multiple Access:TDMA)、周波数分割多元接続(Frequency Division Multiple Access:FDMA)、直交FDMA(Orthogonal FDMA:OFDMA)、単一キャリアFDMA(Single-Carrier FDMA:SC-FDMA)等の1つまたは複数のチャネルアクセス方式を採用し得る。さらに、通信ネットワーク12は、コアネットワーク、インターネット、センサネットワーク、産業用制御ネットワーク、パーソナルエリアネットワーク、融合パーソナルネットワーク、衛星ネットワーク、家庭用ネットワーク、または企業ネットワーク等の他のネットワークを含んでもよい。
【0139】
図41Aに示すように、M2M/IoT/WoT通信システム10は、インフラストラクチャドメインおよびフィールドドメインを含み得る。インフラストラクチャドメインとはエンドツーエンドM2M展開のネットワーク側を指し、フィールドドメインとは通常M2Mゲートウェイの背後にあるエリアネットワークを指す。フィールドドメインは、M2Mゲートウェイ14および端末デバイス18を含む。必要に応じて、任意の数のM2Mゲートウェイデバイス14およびM2M端末デバイス18がM2M/IoT/WoT通信システム10に含まれ得ることが理解され得る。M2Mゲートウェイデバイス14およびM2M端末デバイス18のそれぞれは、通信ネットワーク12または直接無線リンクを介して信号を送受信するように構成されている。M2Mゲートウェイデバイス14により、無線M2Mデバイス(例えばセルラーおよび非セルラー)ならびに固定ネットワークM2Mデバイス(例えばPLC)は通信ネットワーク12または直接無線リンク等のオペレータネットワークを介して通信できる。例えば、M2Mデバイス18は、データを収集し、通信ネットワーク12または直接無線リンクを介してM2Mアプリケーション20またはM2Mデバイス18にデータを送信し得る。M2Mデバイス18はまた、M2Mアプリケーション20またはM2Mデバイス18からデータを受信し得る。さらに、以下に説明するように、データおよび信号は、M2Mサービス層22を介してM2Mアプリケーション20に送受信され得る。M2Mデバイス18およびゲートウェイ14は、例えば、セルラー、WLAN、WPAN(例えば、Zigbee、6LoWPAN、Bluetooth)、直接無線リンク、および有線を含む種々のネットワークを介して通信し得る。
【0140】
図41Bを参照すると、フィールドドメイン内の図示されているM2Mサービス層22(例えば、本明細書で説明されるようなRH-SLN122またはCSE296)は、M2Mアプリケーション20(例えば、AE295またはSQI121)、M2Mゲートウェイデバイス14、M2M端末デバイス18、および通信ネットワーク12にサービスを提供する。M2Mサービス層22は、必要に応じて、任意の数のM2Mアプリケーション、M2Mゲートウェイデバイス14、M2M端末デバイス18、および通信ネットワーク12と通信し得ることが理解され得る。M2Mサービス層22は、1つまたは複数のサーバ、コンピュータ等によって実装され得る。M2Mサービス層22は、M2M端末デバイス18、M2Mゲートウェイデバイス14およびM2Mアプリケーション20に適用されるサービス機能を提供する。M2Mサービス層22の機能は、例えばウェブサーバとして、セルラーコアネットワークにおいて、クラウドにおいて等、種々の方法で実装され得る。
【0141】
図示されたM2Mサービス層22と同様に、インフラストラクチャドメイン内にM2Mサービス層22’がある。M2Mサービス層22’は、インフラストラクチャドメインにおいてM2Mアプリケーション20’および下層通信ネットワーク12’にサービスを提供する。M2Mサービス層22’はさらに、フィールドドメインにおいてM2Mゲートウェイデバイス14およびM2M端末デバイス18にサービスを提供する。M2Mサービス層22’は、任意の数のM2Mアプリケーション、M2MゲートウェイデバイスおよびM2M端末デバイスと通信し得ることが理解され得る。M2Mサービス層22’は、異なるサービスプロバイダによってサービス層と対話し得る。M2Mサービス層22’は、1つまたは複数のサーバ、コンピュータ、仮想マシン(例えば、クラウド/コンピュータ/ストレージファーム等)等によって実装され得る。
【0142】
さらに
図41Bを参照すると、M2Mサービス層22および22’は、多様なアプリケーションおよびバーティカルが活用し得るサービス提供機能のコアセットを提供する。これらのサービス機能により、M2Mアプリケーション20および20’は、デバイスと対話し、データ収集、データ分析、デバイス管理、セキュリティ、請求、サービス/デバイス発見等の機能を実行することが可能になる。基本的に、これらのサービス機能により、アプリケーションにこれらの機能を実装する負担が加わらなくなるため、アプリケーション開発を簡素化し、製品化までの費用および時間を削減する。サービス層22および22’によってさらに、M2Mアプリケーション20および20’はサービス層22および22’が提供するサービスに関連する種々のネットワーク12および12’を介して通信できる。
【0143】
いくつかの例では、M2Mアプリケーション20および20’には、分散されたセマンティック記述子に対するセマンティッククエリに関連するメッセージを用いて通信する望ましいアプリケーションが含まれ得る。M2Mアプリケーション20および20’には、運輸、健康およびウェルネス、コネクテッドホーム、エネルギー管理、資産管理、セキュリティ、および監視等であるが、これらに限られない各種業界におけるアプリケーションが含まれ得る。上述のように、システムのデバイス、ゲートウェイ、および他のサーバを横断するM2Mサービス層は、データ収集、デバイス管理、セキュリティ、請求、位置追跡/ジオフェンシング、デバイス/サービス発見、およびレガシーシステム統合等の機能をサポートし、これらの機能をM2Mアプリケーション20および20’に対するサービスとして提供する。
【0144】
本出願の分散されたセマンティック記述子に対するセマンティッククエリは、サービス層の一部として実装され得る。サービス層は、アプリケーションプログラミングインタフェース(Application Programming Interface:API)および下層のネットワークインタフェースのセットを介して付加価値サービス能力をサポートするミドルウェア層である。M2Mエンティティ(例えば、デバイス、ゲートウェイ、またはハードウェア上に実装されるサービス/プラットフォーム等のM2M機能エンティティ)は、アプリケーションまたはサービスを提供することができる。欧州電気通信標準化機構(European Telecommunications Standards Institute:ETSI)のM2MとoneM2Mは、両方とも、本出願の分散されたセマンティック記述子に対するセマンティッククエリを含むことができるサービス層を使用する。oneM2Mサービス層は、共通サービス機能(CSF)のセット(すなわち、サービス能力)をサポートする。1つまたは複数の特定の種類のCSFのセットのインスタンス化は、共通サービスエンティティ(CSE)と呼ばれ、異なるタイプのネットワークノード(例えば、インフラストラクチャノードや、中間ノードや、アプリケーション固有ノード)上でホストされ得る。さらに、本出願の分散されたセマンティック記述子に対するセマンティッククエリは、サービス指向アーキテクチャ(Service Oriented Architecture:SOA)またはリソース指向アーキテクチャ(Resource Oriented Architecture:ROA)を使用して本出願の分散されたセマンティック記述子に対するセマンティッククエリ等のサービスにアクセスするM2Mネットワークの一部として実装され得る。
【0145】
本明細書で論じるように、サービス層は、ネットワークサービスアーキテクチャ内の機能層であり得る。サービス層は典型的には、HTTP、CoAPまたはMQTT等のアプリケーションプロトコル層上に位置し、クライアントアプリケーションに付加価値サービスを提供する。サービス層はまた、例えば制御層およびトランスポート/アクセス層等のより低いリソース層でコアネットワークへのインタフェースを提供する。サービス層は、サービス定義、サービスランタイムの有効化、ポリシー管理、アクセス制御およびサービスクラスタリングを含む、複数のカテゴリーの(サービス)能力または機能をサポートする。近年、いくつかの業界標準化団体、例えば、oneM2Mは、インターネット/ウェブ、セルラー、企業、および家庭用ネットワーク等の展開へのM2Mタイプのデバイスおよびアプリケーションの統合に関連する課題を解決するためにM2Mサービス層を開発している。M2Mサービス層は、CSEまたはSCLと呼ばれ得るサービス層によってサポートされる上述の能力または機能の集合またはセットへのアクセスにより、種々のデバイスにおけるアプリケーションに提供し得る。いくつかの例としては、セキュリティ、課金、データ管理、デバイス管理、発見、プロビジョニングおよび接続性管理(種々のアプリケーションによって共通して用いられ得る)が挙げられるが、これらに限定されない。これらの能力または機能は、M2Mサービス層によって定義されたメッセージフォーマット、リソース構造およびリソース表現を利用するAPIを介してそのような種々のアプリケーションで利用可能となる。CSEまたはSCLは、ハードウェアまたはソフトウェアによって実装され得、かつ種々のアプリケーションまたはデバイス(すなわち、機能エンティティ間の機能インタフェース)が(サービス)能力または機能を使用するために、それらに公開されるそのような能力または機能を提供する機能エンティティである。
【0146】
図41Cは、例えばM2M端末デバイス18(AE295またはSQI121を含み得る)またはM2Mゲートウェイデバイス14(
図30または
図20の1つまたは複数のコンポーネントを含み得る)等の例示的なM2Mデバイス30のシステム図である。
図41Cに示されるように、M2Mデバイス30は、プロセッサ32、トランシーバ34、送信/受信要素36、スピーカ/マイクロフォン38、キーパッド40、ディスプレイ/タッチパッド42、取り外し不能メモリ44、取り外し可能メモリ46、電源48、全地球測位システム(Global Positioning System:GPS)チップセット50およびその他周辺機器52を備え得る。M2Mデバイス30は、開示された主題との整合性を保ちながら、前述の要素の任意の副組み合わせを備え得ることが理解され得る。M2Mデバイス30(例えば、AE295、SQI121、RH-SLN122、CSE296等)は、分散されたセマンティック記述子に対するセマンティッククエリのための開示されたシステムおよび方法を実行する例示的な実施態様であり得る。
【0147】
プロセッサ32は、汎用プロセッサ、専用プロセッサ、従来のプロセッサ、デジタル信号プロセッサ(Digital Signal Processor:DSP)、複数のマイクロプロセッサ、DSPコアに関連する1つまたは複数のマイクロプロセッサ、コントローラ、マイクロコントローラ、特定用途向け集積回路(Application Specific Integrated Circuit:ASIC)、フィールドプログラマブルゲートアレイ(Field Programmable Gate Array:FPGA)回路、任意の他のタイプの集積回路(Integrated Circuit:IC)、状態機械等であり得る。プロセッサ32は、信号符号化、データ処理、出力制御、入力/出力処理、またはM2Mデバイス30が無線環境で動作することを可能にする他の任意の機能を実行し得る。プロセッサ32はトランシーバ34と結合され得、トランシーバ34は送信/受信要素36と結合され得る。
図41Cは、プロセッサ32およびトランシーバ34を別個のコンポーネントとして図示しているが、プロセッサ32およびトランシーバ34は、電子パッケージまたはチップに一緒に統合されてもよいことが理解され得る。プロセッサ32は、アプリケーション層プログラム(例えばブラウザ)または無線アクセス層(RAN)プログラムまたは通信を実行し得る。プロセッサ32は、例えばアクセス層またはアプリケーション層等での認証、セキュリティ鍵合意または暗号操作等のセキュリティ操作を実行し得る。
【0148】
送信/受信要素36は、M2Mサービスプラットフォーム22に信号を送信するか、またはM2Mサービスプラットフォーム22から信号を受信するように構成され得る。例えば、送信/受信要素36は、RF信号を送信または受信するように構成されたアンテナであり得る。送信/受信要素36は、WLAN、WPAN、セルラー等の種々のネットワークおよびエアインタフェースをサポートし得る。一例では、送信/受信要素36は、例えばIR、UVまたは可視光信号を送信または受信するように構成されたエミッタ/検出器であり得る。さらに別の例では、送信/受信要素36は、RF信号および光信号の両方を送信および受信するように構成され得る。送信/受信要素36は、無線信号または有線信号の任意の組み合わせを送信または受信するように構成され得ることが理解され得る。
【0149】
加えて、送信/受信要素36は
図41Cに単一の要素として図示されているが、M2Mデバイス30は、任意の数の送信/受信要素36を備え得る。より具体的には、M2Mデバイス30は、MIMO技術を採用し得る。したがって、一例では、M2Mデバイス30は、無線信号を送信および受信するための2つ以上の送信/受信要素36(例えば、複数のアンテナ)を備え得る。
【0150】
トランシーバ34は、送信/受信要素36によって送信される信号を変調し、送信/受信要素36によって受信される信号を復調するように構成され得る。上述のように、M2Mデバイス30はマルチモード機能を有し得る。したがって、トランシーバ34は、M2Mデバイス30が、例えばUTRAおよびIEEE802.11等の複数のRATを介して通信することを可能にするための複数のトランシーバを含み得る。
【0151】
プロセッサ32は、取り外し不可能なメモリ44または取り外し可能なメモリ46等の任意のタイプの適切なメモリからの情報にアクセスし、そこにデータを記憶させることができる。取り外し不可能なメモリ44は、ランダムアクセスメモリ(Random-access Memory:RAM)、読み出し専用メモリ(Read-Only Memory:ROM)、ハードディスク、または他の任意のタイプのメモリ記憶装置を含み得る。取り外し可能なメモリ46は、加入者識別モジュール(Subscriber Identity Module:SIM)カード、メモリスティック、セキュアデジタル(secure digital:SD)メモリカード等を含み得る。他の例では、プロセッサ32は、例えば、サーバまたは家庭用コンピュータ上などの、M2Mデバイス30上に物理的に位置していないメモリからの情報にアクセスし、そこにデータを記憶させることができる。プロセッサ32は、本明細書に記載のいくつかの例における分散されたセマンティック記述子に対するセマンティッククエリが成功か不成功かに応じて、ディスプレイまたはインジケータ42上の点灯パターン、画像、または色を制御するか、そうでなければ、分散されたセマンティック記述子に対するセマンティッククエリの状態を示すように構成され得る。ディスプレイまたはインジケータ42上の点灯パターン、画像、または色の制御は、本明細書で図示されるか説明されている図中(例えば、
図10~
図37等)の方法のフローまたは構成要素のうちのどれかの状態を反映することができる。本明細書では、分散されたセマンティック記述子と関連するコンポーネントに対するセマンティッククエリのメッセージおよび手順が開示されている。メッセージおよび手順は、ユーザが、分散されたセマンティック記述子に対するセマンティッククエリを入力源(例えば、スピーカ/マイクロフォン38、キーパッド40、またはディスプレイ/タッチパッド42)を介して要求し、とりわけ、ディスプレイ42上に表示可能なリソースの分散されたセマンティック情報を要求、構成、または問い合わせるためのインタフェース/APIを提供するように拡張され得る。
【0152】
プロセッサ32は、電源48から電力を受け取ることができ、M2Mデバイス30内の他のコンポーネントに電力を分配または制御するように構成され得る。電源48は、M2Mデバイス30に電力供給する任意の適切なデバイスであり得る。例えば、電源48としては、1つまたは複数の乾電池(例えば、ニッケル-カドミウム(NiCd)、ニッケル-亜鉛(NiZn)、ニッケル水素化物(NiMH)、リチウムイオン(Liイオン)等)、太陽電池、燃料電池等を挙げることができる。
【0153】
プロセッサ32はさらに、M2Mデバイス30の現在位置に関する位置情報(例えば、経度および緯度)を提供するように構成されたGPSチップセット50と結合され得る。M2Mデバイス30は、本明細書に開示された情報と整合性を保ちながら、任意の適切な位置決定方法によって位置情報を取得し得ることが理解され得る。
【0154】
プロセッサ32はさらに、他の周辺機器52と結合され得、他の周辺機器52としては、追加の特徴、機能または有線もしくは無線接続性を提供する1つまたは複数のソフトウェアまたはハードウェアモジュールを挙げることができる。例えば、周辺機器52としては、種々のセンサ、例えば、加速度計、バイオメトリクス(例えば指紋)センサ、e-コンパス、衛星トランシーバ、デジタルカメラ(写真またはビデオ用)、ユニバーサルシリアルバス(Universal Serial Bus:USB)ポート、または他の相互接続インタフェース、振動デバイス、テレビトランシーバ、ハンズフリーヘッドセット、Bluetooth(登録商標)モジュール、周波数変調(Frequency Modulated:FM)無線ユニット、デジタル音楽プレーヤ、メディアプレーヤ、ビデオゲームプレーヤモジュール、インターネットブラウザ等を挙げることができる。
【0155】
送信/受信要素36は、センサ、家庭用電化製品、スマートウォッチまたはスマート衣類等のウェアラブルデバイス、医療デバイスまたはeヘルスデバイス、ロボット、産業機器、ドローン、自動車、トラック、電車または航空機等の車両のような他の装置またはデバイスに組み込まれ得る。送信/受信要素36は、周辺機器52のうちの1つを備え得る相互接続インタフェース等の1つまたは複数の相互接続インタフェースを介してそのような装置またはデバイスの他のコンポーネント、モジュールまたはシステムに接続し得る。
【0156】
図41Dは、例えば、
図41Aおよび
図41BのM2Mサービスプラットフォーム22を実装することができる、例示的なコンピューティングシステム90のブロック図である。コンピューティングシステム90(例えば、M2M端末デバイス18またはM2Mゲートウェイデバイス14)は、コンピュータまたはサーバを備えることができ、主としてコンピュータ可読命令によって、そのような命令が記憶またはアクセスされるいかなる手段によっても制御され得る。そのようなコンピュータ可読命令は、コンピューティングシステム90を稼働させる中央処理装置(Central Processing Unit:CPU)91内で実行されてもよい。多くの公知のワークステーション、サーバ、およびパーソナルコンピュータでは、中央処理装置91はマイクロプロセッサと呼ばれるシングルチップCPUによって実装される。他のマシンでは、中央処理装置91は複数のプロセッサを含むことができる。コプロセッサ81は、メインCPU91とは異なり、追加機能を実行したりCPU91を支援したりするオプションのプロセッサである。CPU91またはコプロセッサ81は、分散されたセマンティック記述子に対するセマンティッククエリのための開示されたシステムおよび方法に関連する、queryScope、QS、NI、NQS、RF等のデータを受信、生成、および処理することができる。
【0157】
動作中、CPU91は、命令をフェッチし、復号し、実行し、コンピュータのメインデータ転送経路であるシステムバス80を介して他のリソースとの間で情報を転送する。このようなシステムバスはコンピューティングシステム90のコンポーネント同士を接続し、データ交換用の媒体を規定する。典型的には、システムバス80は、データを送信するデータ回線、アドレスを送信するアドレス回線、および割込みを送信し、システムバスを動作させる制御回線を備える。そのようなシステムバス80の例は、PCI(Peripheral Component Interconnect)バスである。
【0158】
システムバス80に結合されたメモリデバイスは、ランダムアクセスメモリ(RAM)82および読み取り専用メモリ(ROM)93を含む。このようなメモリは、情報を記憶および検索することを可能にする回路機構を備える。ROM93は一般に、容易に修正できない記憶データを含む。RAM82に記憶されたデータは、CPU91または他のハードウェアデバイスによって読み取りまたは変更され得る。RAM82またはROM93へのアクセスは、メモリコントローラ92によって制御され得る。メモリコントローラ92は、命令が実行されるときに仮想アドレスを物理アドレスに変換するアドレス変換機能を提供し得る。メモリコントローラ92はまた、システム内のプロセスを隔離し、システムプロセスをユーザプロセスから隔離するメモリ保護機能を提供し得る。したがって、第1のモードで動作しているプログラムは、それ自身のプロセス仮想アドレス空間によってマップされたメモリのみにアクセスでき、プロセス間のメモリ共有が設定されていない限り、他のプロセスの仮想アドレス空間内のメモリにはアクセスできない。
【0159】
さらに、コンピューティングシステム90は、CPU91からの命令をプリンタ94、キーボード84、マウス95およびディスクドライブ85等の周辺機器に伝達する役割を果たす周辺機器コントローラ83を備え得る。
【0160】
ディスプレイコントローラ96によって制御されるディスプレイ86は、コンピューティングシステム90によって生成された視覚的出力を表示するために使用される。そのような視覚的出力としては、テキスト、グラフィックス、動画およびビデオを挙げることができる。ディスプレイ86は、CRTベースのビデオディスプレイ、LCDベースのフラットパネルディスプレイ、ガスプラズマベースのフラットパネルディスプレイまたはタッチパネルを用いて実現され得る。ディスプレイコントローラ96は、ディスプレイ86に送信されるビデオ信号を生成するのに必要な電子部品を備える。
【0161】
さらに、コンピューティングシステム90は、コンピューティングシステム90を
図41Aおよび
図41Bのネットワーク12等の外部通信ネットワークに接続するために使用され得るネットワークアダプタ97を備え得る。
【0162】
本明細書に記載のシステム、方法およびプロセスのいずれかまたはすべては、コンピュータ可読記憶媒体に記憶されたコンピュータ実行可能命令(すなわち、プログラムコード)の形で具現化され得、この命令は、コンピュータ、サーバ、M2M端末デバイス、M2Mゲートウェイデバイス等の機械により実行されたときに、本明細書に記載のシステム、方法およびプロセスを実行または実施することを理解されたい。具体的には、上記のステップ、操作または機能のいずれも、そのようなコンピュータ実行可能命令の形で実施され得る。コンピュータ可読記憶媒体は、情報を記憶するための任意の方法または技術において実装される揮発性および不揮発性、取り外し可能および取り外し不能の媒体の両方を含むことができるが、そのようなコンピュータ可読記憶媒体は信号自体を含まない。本明細書の説明から明らかなように、記憶媒体は法定で定められた主題であると解釈されるべきである。コンピュータ可読記憶媒体としては、RAM、ROM、EEPROM、フラッシュメモリもしくは他のメモリ技術、CD-ROM、デジタルバーサタイルディスク(Digital Versatile Disk:DVD)もしくは他の光学ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶デバイスもしくは他の磁気記憶デバイス、または所望の情報を格納するために使用可能で、コンピュータによってアクセス可能な任意の他の物理的媒体が挙げられる。
【0163】
図中に示す本開示の主題(分散されたセマンティック記述子に対するセマンティッククエリ)の好ましい方法、システムまたは装置を説明するにあたって、明確さを期して特定の用語が使用される。しかしながら、特許請求される主題は、そのように選択された特定の用語に限定されることを意図しておらず、各特定の要素は、類似の目的を果たすために同様の方法で動作するすべての技術的等価物を包含することを理解されたい。
【0164】
本明細書に記載の種々の技術は、ハードウェア、ファームウェア、ソフトウェア、または適切な場合にはそれらの組み合わせと関連して実施され得る。そのようなハードウェア、ファームウェアおよびソフトウェアは、通信ネットワークのさまざまなノードに配置されている装置に常駐し得る。装置は、本明細書に記載の方法を実現するために、単独でまたは互いに組み合わせて動作し得る。本明細書で使用されるとき、用語「装置」、「ネットワーク装置」、「ノード」、「デバイス」、「ネットワークノード」等は同じ意味で用いられ得る。
【0165】
本明細書は、実施例を使用して、最良の形態を含む本発明を開示し、また、当業者が任意のデバイスまたはシステムを製造および使用することおよび任意の組み込まれた方法を実行することを含めて、本発明を実施することを可能にする。本発明の特許性のある範囲は特許請求の範囲によって定義されており、当業者が想起する他の例(例えば、本明細書に開示されている例示的方法のステップの省略、ステップの組み合わせ、またはステップの追加)を含み得る。そのような他の例は、それらが請求項の文字通りの言語と異ならない構造要素を有する場合、またはそれらが請求項の文字通りの言語との非実質的な相違を伴う同等の構造要素を含む場合、請求項の範囲内にあることが意図されている。
【0166】
とりわけ、本明細書で説明されるような方法、システム、および装置は、分散されたセマンティック記述子に対するセマンティッククエリのための手段を提供することができる。方法、システム、コンピュータ可読記憶媒体、または装置は、セマンティック記述子リソースがリソース記述子リンク注釈を有するクラスインスタンスを含むことを決定し、そして、セマンティック記述子リソースが第1リソースへのリソース記述子リンク注釈を有するクラスインスタンスを含むとの決定に応答して、リソース記述子リンク注釈によってリンクされた第1リソースのコンテンツをセマンティック記述子リソースに追加するための手段を有する。セマンティック記述子リソースがリソース記述子リンク注釈を有するクラスインスタンスを含むとの決定は、セマンティック記述子リソースのセマンティッククエリに対する応答であり得る。第1リソースのコンテンツは、トリプルまたはリソース記述フレームワークトリプルを含む。方法、システム、コンピュータ可読記憶媒体、または装置は、第1リソースのコンテンツを追加した後にセマンティック記述子リソースに対してセマンティッククエリを実行するための手段を有する。方法、システム、コンピュータ可読記憶媒体、または装置は、実行されたセマンティッククエリの結果を提供するための手段を有し、その結果は、セマンティッククエリの要求において受信されたフォーマット命令に基づき得る。セマンティッククエリの要求は、セマンティック記述子リソースがリソース記述子リンク注釈を有するクラスインスタンスを含むとの決定の前に行われる。セマンティック記述子リソースは子リソースであり得る。方法、システム、コンピュータ可読記憶媒体、または装置は、実行されたクエリに関連する結果をディスプレイに提供するための手段を有し、その結果はクエリ要約を含む。ディスプレイは携帯機器と接続され得る。いくつかの実装においては、セマンティック記述子リソースは他の代わりのリソースであり得る。本段落におけるすべての組み合わせ(ステップの削除または追加を含む)は、詳細な説明の他の部分と整合するように意図されている。
【0167】
とりわけ、本明細書で説明されるような方法、システム、および装置は、分散されたセマンティック記述子に対するセマンティッククエリのための手段を提供することができる。方法、システム、コンピュータ可読記憶媒体、または装置は、センサからの、またはセンサに関連した情報(例えば、センサからの読取値)の取得と、センサに関連した情報の通常のリソースへの提供と、その情報のために第1semanticDescriptorリソースの作成、ここで第1semanticDescriptorリソースはその情報をトリプルとして表し、そして第1semanticDescriptorリソースの作成に基づいて、情報がトリプルとして複製されていることを通常のリソースの属性において示すことを実行するための手段を有する。センサを開示しているが、他のデバイス(特にM2Mデバイス)を使用してもよいと考えられる。本段落におけるすべての組み合わせ(ステップの削除または追加を含む)は、詳細な説明の他の部分と整合するように意図されている。
【0168】
とりわけ、本明細書で説明されるような方法、システム、および装置は、分散されたセマンティック記述子に対するセマンティッククエリのための手段を提供することができる。方法、システム、コンピュータ可読記憶媒体、または装置は、セマンティッククエリを含む要求メッセージの受信と、要求メッセージの受信に応答した、セマンティック記述子リソースに対するセマンティッククエリの実行と、そしてセマンティック記述子リソースがリソース記述子リンク注釈を有するノードを含むとの決定に基づいた、セマンティッククエリの実行の停止を行うための手段を有する。方法、システム、コンピュータ可読記憶媒体、または装置は、単一のリソースに対して直接クエリ処理を実行するための手段を有する。方法、システム、コンピュータ可読記憶媒体、または装置は、セマンティッククエリによって必要とされる十分な情報を提供するために、「resourceDescriptorLink」プロパティを用いて、関連するセマンティック記述子リソースが共にリンクされるようにするための手段を有する。方法、システム、コンピュータ可読記憶媒体、または装置は、どのセマンティック記述子を使用するかを決定するためにセマンティッククエリのための「クエリ範囲」を使用するための手段を有する。方法、システム、コンピュータ可読記憶媒体、または装置は、セマンティッククエリに応答して、セマンティックリソース発見を使用して、リソースツリーに記憶されている情報を読み出すための手段を有する。方法、システム、コンピュータ可読記憶媒体、または装置は、センサのデータ読取値の取得と、データ読取値の通常のリソース(例えば、constentInstance)への提供と、そして、データ読取値の通常のリソースへの提供に基づいて、データ読取値をトリプル(例えば、RDFトリプル)として表す、通常のリソースのための第1semanticDescriptorリソースの作成を実行するための手段を有する。第1semanticDescriptorリソースは、センサの更新されたデータ読取値を取得するために、別の装置の第2semanticDescriptorリソースとリンクされ得る。第1semanticDescriptorリソースは、統一資源識別子(Uniform Resource Identifier:URI)を介して第2semanticDescriptorリソースとリンクされ得る。方法、システム、コンピュータ可読記憶媒体、または装置は、セマンティック推論を用いてデータ読取値の測定単位を取得するための手段を有する。属性の記憶情報が既にRDFフォーマットとして表されていることを示すフラグがあり得る。方法、システム、コンピュータ可読記憶媒体、または装置は、センサに関連する情報の取得と、センサに関連する情報の通常のリソースへの提供と、そして、その情報のための第1semanticDescriptorリソースの作成を実行するための手段を有する。第1semanticDescriptorリソースは、情報をトリプルとして表すことができる。情報は、第1semanticDescriptorリソースの作成に基づいて、トリプルとして複製されたものとして示され得る。方法、システム、コンピュータ可読記憶媒体、または装置は、セマンティッククエリを含む要求メッセージを取得し、そして、第1セマンティック記述子リソースが複数ノードのうちリソース記述子リンク注釈を有する第1ノードを含むとの決定に基づいて、セマンティッククエリの実行を停止するための手段を有する。本段落におけるすべての組み合わせ(ステップの削除または追加を含む)は、詳細な説明の他の部分と整合するように意図されている。