ユースケースを以下で紹介する。これらのユースケースによる支援は、IoTにおけるアプリケーション(例えば、M2M)が、オリジナルリソースをマッシュアップすることによって取得され得る推定された情報または知識を取得するように有益に設計され得るという見通しを提供する。以下のIoT(例えば、M2M)のユースケース(例えば、スマート農業、スマート駐車場等)は、オリジナルリソースを単独で取得することは好ましくないことを実証している。図15に示すスマート農業アプリケーションの状況では、土壌の水分レベルを監視するために多くの水分センサ1502が農地に配置されている。その一方で、天候センサ1504(例えば、温度計、気圧計、湿度計等)は、農地領域の測候所に配置されている。天候センサ1504によって生成されたデータ量は、農地領域における天候(例えば、雨、風または晴れ)を予測するために測候所によって使用される。したがって、農地のインテリジェント灌漑システムは、農地を灌漑するか否か、および灌漑にどの程度の水量が必要かを判断するために、(水分センサによって生成される)農地の水分レベルおよび(測候所によって配置されるさまざまな種類のセンサによって生成される)天気予報結果を一緒に分析する。しかしながら、水分センサを所有し自由にアクセスすることができる農地所有者は、測候所を所有していない(例えば、図15の測候所Aおよび測候所B)。このことにより、農地所有者が灌漑の判断を行うことは実行不可能となる。結果として、水分センサ1502および天候センサ1504の両方からのデータにアクセスし、インテリジェントな灌漑判断を生成し得る新たなサービスまたは機能が農地所有者に提供される必要がある。
スマート駐車場のユースケースでは、スマート駐車場はスマートシティにおける主要なアプリケーションであり得る。スマートシティでは、各駐車スポット(例えば、駐車ビル内および任意の路上駐車スポット)に駐車センサを装備することができる。駐車センサは、状態(例えば、空車か否か)、地理的位置およびその関連駐車スポットの駐車料金を提供し得る。図16は例示的なスマート駐車システムを示す。サーバAは、クライアントの目的地住所ならびにサーバB、サーバCおよびサーバDからの情報に基づいて、クライアントに適切な駐車スポットを計算し得る。サーバBはある地理位置から別の地理位置までの(徒歩、自転車または車による)時間費用推定値を提供し得る。サーバCは、駐車ビルの位置情報、異なる期間における駐車料金および駐車ビル内の利用可能な駐車スポットを提供し得る。サーバDは、各路上駐車スペースの位置情報、状態および費用を提供し得る。
図16に示すように、所与の建物Aの近くにいくつかの駐車ビルおよび多くの路上駐車スポットがあると仮定すると、これらの駐車ビル内の駐車センサはサーバCに登録され得るが、建物Aの近くの路上駐車場はサーバDに登録される。目的地が建物Aである場合の、ユーザ(例えば、クライアント)が適切な駐車スポットを見つけようと試みる場合を考える。適切な駐車スポットは、空の駐車スポットとして定義され得るが、これはより少ない時間費用(例えば、駐車スポットから目的地までの徒歩に要する時間がより少ない)およびより少ない駐車費用(例えば、より低い駐車料金)であることに留意されたい。したがって、ユーザは、クエリ(例えば、建物Aの近くの適切な駐車スポットを見つける)を、リアルタイム駐車サービスを提供するサーバAに送信し得る。クエリを受信した後、サーバAは建物Aの近くの駐車スポットの情報を検索し、ユーザに最適な駐車場を見つけ得る。具体的には、サーバAは、サーバCおよびサーバDから建物A近くの各駐車センサの状態、駐車料金および地理的位置を検索し得る。次に、サーバAは、各駐車スポットから建物Aまでの推定時間費用をクエリすることによって、サーバBからそれらの駐車スポットの費用を取得し得る。その後、サーバAはこれらの情報を分析して、ユーザに最適な駐車スポットを見つけ得る。例えば、最適な駐車場は、利用可能な駐車スポットを見つけることにより算出することができ、この駐車スポットは、建物A周辺の駐車スポットのうち「0.5×timeCost+0.5×parkingCost」の最小値をとる。基本的に、サーバAは、複数のサーバからリソース(例えば、駐車スポット情報および料金情報)を検索し、検索されたリソースの組み合わせに基づいて結果(例えば、最適な駐車スポット)を算出する必要がある。
スマート農業およびスマート駐車場のユースケースに記載されているように、ユーザまたはアプリケーションは、オリジナルリソース(例えば、スマート農業における特定の水分センサの水分レベルおよび特定の駐車場の駐車料金)を知り得ないかまたは知る必要がなく、むしろ、ユーザまたはアプリケーションは、サービス層に維持され得る複数のオリジナルリソースの組み合わせから推定される情報または知識(例えば、スマート農業での灌漑の提案およびスマート駐車場での適切な駐車場)により関心を持つ。アプリケーションはそれらのオリジナルリソースを検索し、オリジナルリソースのみから知識を計算または推定し得るが、このアプローチでは複数の問題がもたらされ得る。第1に、例えば、アプリケーションは、オリジナルリソースを複数回(例えば、各オリジナルのリソースにつき1回)検索する必要がある。これにより、特に多数のオリジナルリソースが関与している場合、アプリケーションに大きなオーバーヘッドが発生し得る。第2に、一部のオリジナルのリソースは慎重な扱いを要することがある。それらは、アプリケーションに公開されていないか、またはアプリケーションによって直接検索されることが許可されていないことがあり、サービスプロバイダによってのみアクセスされ得る。第3に、多くのアプリケーションが同じ知識を取得することに関心を持っている場合、それぞれがオリジナルリソースを検索し、共有することなく独立して知識を推定する必要がある。第4に、関与するオリジナルリソースが異なるドメインまたはバーティカルマーケット由来のものである場合、アプリケーションはオリジナルリソースを見つけて理解するために、さまざまなドメイン知識を有する必要があり、これはアプリケーションに余分な負担をかけることを避けられない。
図17は、以下の問題の例を示している。1)異なるオリジナルリソースを維持し得るいくつかのサービス層ノード(例えば、リソースホスト2804)が存在することがある、2)2つのアプリケーションが2つの要求(例えば、要求1711および要求1712)を生成する、3)要求1711は、サービス層ノード1701、サービス層ノード1702およびサービス層ノード1703それぞれからの、3つの選択されたリソースのみに基づいて回答され得る、3)要求1712は、サービス層ノードNに記憶され得る3つの選択されたリソースのみに基づいて回答され得る。この例では、アプリケーション1721またはアプリケーション2 1722は、マッシュアップ機能を実行するために頼るオリジナルリソースを3回検索する必要があり得る。サービス層ノード1701、サービス層ノード1702およびサービス層ノード1703が3つの異なる垂直ドメイン由来のものであり得る場合、アプリケーション1721はそれら3つの垂直のドメイン知識を有する必要がある。
さらに引き続き図17を参照すると、以下のように問題が提示され得る。アプリケーションは、各サービス層ノードから潜在的に関連性のあるリソースを直接発見および検索し得るが、最終的にそれ自体でクエリに回答し得る。しかし、このアプローチは、煩雑かつ非効率的であり得る。第1に、アプリケーションは、検索操作を複数回実行する必要があり、第2に、異なるアプリケーションが同じプロセスを繰り返す必要があるが、それらは同様の要求を発し得る。サービス層は新しいサービスを提供する必要があり、これは同じまたは異なるノードからさまざまなタイプのデータをインテリジェントに収集し、アプリケーションからの要求に効率的に回答し得る。データのタイプは、そのセマンティック注釈または記述情報によって指定され得る。セマンティックマッシュアップはそのようなサービスを提供し得るが、既存のサービス層(例えば、oneM2M)はまだこの機能をサポートしていない。この例では、要求1711は、どの単一のサービス層ノードによっても独立して回答されない場合がある。代わりに、要求1711は、サービス層ノード1701、ノード1702およびノード1703それぞれから選択されたリソース(√でラベル付けされている)のみに基づいて回答され得る。要求1712は、サービス層ノードNによって回答され得るが、単一のリソースには基づいていない。代わりに、要求1712は、複数の選択されたリソース(Xでラベル付けされている)のみに基づいて回答され得る。各サービス層ノードは、特定のリソースを維持しており、これらは類似しているか(例えば、ノード1701、ノード1702およびノード1703において)または多様(例えばノードN)であり得る。
従来のマッシュアップ解決策(例えば、ウェブマッシュアップアプリケーションおよびツール)は、相互運用性または再利用性にある制限を有する。例えば、Google Mashup Editorは、異なる垂直ドメインのリソースの動的なマッシュアップを十分にサポートしておらず(相互運用性の問題)、またモジュールマッシュアップ設計がないため、既存のマッシュアップ機能およびマッシュアップリソースを再利用するようにアプリケーションまたはユーザをサポートしない(再利用性の問題)。
要約すれば、従来のシステムに関して、以下の問題のうちの1つまたは複数が存在し得る。第1の問題は、既存のマッシュアップ解決策が相互運用性および再利用性に対するサポートが限られていることであり、これはM2M/IoTシステムにとって重要であり得る。第2の問題は、既存のM2M/IoTサービス層(例えば、oneM2M、OIC)にセマンティックマッシュアップ解決策がないことであり得る。
本明細書に開示される問題のうちの1つまたは複数を解決し得るさらなる詳細が以下で開示される。最初に、モジュール設計を有する新たなセマンティックマッシュアップサービスアーキテクチャについて説明する。加えて、方法(例えば、手順)および高度マッシュアップアーキテクチャの特徴を説明する。開示される方法およびシステムは、セマンティックマッシュアップの再利用性および相互運用性を解決し得る。開示される方法およびシステムは、SMPリソースの再利用性および相互運用性を改善するために、クライアント(例えば、SMS要求側1808)がSMPリソースを発見および検索する方法を指定する。開示される方法およびシステムは、VSMRの再利用性および相互運用性を改善するために、VSMRを生成する方法ならびにVSMRを発見および検索する方法の詳細を指定する。開示される方法およびシステムは、セマンティックマッシュアップシステム効率をさらに改善するために、VSMRを維持する方法をさらに指定する。
以下に開示されるのは、開示される頭字語のうちのいくつかを翻訳するために使用され得る表1であり、表2は、用語の多くについて何らかの見解を提供し得るいくつかの説明を提供し得る。
図18に示されているセマンティックマッシュアップサービス(SMS)アーキテクチャ1800に関する詳細を以下に提供する。これは、モジュール設計を特徴とし、より高い再利用性、より良好な相互運用性およびより高いシステム効率を達成し得る方法でセマンティクスを利用する。
第1に、SMSアーキテクチャ1800は、分離されたSMP1802およびVSMR1804を含み得る。SMP1802は、1)入力パラメータに関するセマンティック情報(例えば、inputDescriptor)、2)マッシュアップのためのマッシュアップメンバまたはメンバリソース(用語「メンバリソース」、「マッシュアップメンバ」および「マッシュアップメンバリソース」は区別なく使用され得る)がどのように選択されるべきかに関するセマンティック情報(例えば、memberFilter)、3)マッシュアップ機能に関するセマンティック情報(例えば、functionDescriptor)、または4)マッシュアップ結果に関するセマンティック情報(例えば、outputDescriptor)等、その関連マッシュアップサービスのプロファイル情報をセマンティックに記述する。
SMP1802によって説明されるようにマッシュアップサービスを活用するために、VSMRは、SMS要求側1808(例えば、ユーザまたはアプリケーション)のためのインタフェースとして生成され、マッシュアップサービスを実現し得る。VSMRはSMP1802を参照し、そのプロファイル情報を使用してセマンティックマッシュアップ結果を計算または生成する。VSMRは、複数のSMS要求側1808によって検索またはアクセスされ得るセマンティックマッシュアップ結果(例えば、SMRS1806)を維持する。VSMRはまた、各オリジナルメンバリソースへの参照を維持し得る。さらに、SMS要求側1808は、マッシュアップ機能を実行し、マッシュアップ結果を再計算するようにVSMRをトリガし得る。SMP1802は、アプリケーションまたはSMS要求側1808によって提供または生成され得るが、VSMR1804は、SMS要求側1808またはVSMRを作成するためのコマンドを発行するであろう他のアプリケーションによって生成される。SMP1802は多くのVSMR1804によって使用され得る。VSMRは他のSMS要求側1808(元々はVSMRを生成しない)によってアクセスされ得る。SMP1802をホストするサービス層ノードはSMPホスト1810と呼ばれるのに対し、VSMR1804をホストするサービス層ノードはVSMRホスト2302と呼ばれる。SMPホスト1810およびVSMRホスト2302は、異なる物理的ノードに位置していても、または同じ物理的ノードに一緒に位置していてもよい。例えば、SMSホストはSMP1802、VSMR、またはこの両方をホストし得る。
第2に、SMSアーキテクチャ1800下でのセマンティックマッシュアップ手順、例えば、SMP1802を発見および検索する手順、VSMRを生成する手順、VSMRを発見および検索する手順およびVSMRを維持する手順を記述し、簡潔に説明する。
第3に、高度SMSアーキテクチャ2200では、セマンティックマッシュアップ結果(例えば、SMRS1806)がVSMRから分離される。次に、SMRS1806をホストするサービス層ノードは、SMRSホスト2304と呼ばれる。VSMRとSMRS1806とのこの分離により、SMS要求側1808は、VSMR1804を知るかまたはこれとインタフェースをとる必要すらないだろう。またSMS要求側1808は、SMRSホスト2304からマッシュアップ結果を単に検索し得るが、SMRS1806は対応するVSMRへの参照を維持する。このアプローチは、1)VSMRは、対応するSMRS1806およびSMRS1806にアクセスするSMS要求側1808に大きな影響を与えることなく、あるVSMRホスト2302(例えば輻輳状態のホスト)から別のVSMRホスト2402(例えば軽負荷ホスト)に容易に移動または移行され得る、2)さらにVSMRの再利用性を向上し得るという利点をもたらし得る。
(セマンティックマッシュアップアーキテクチャ)
SMSを可能にするために、高い再利用性および相互運用性を達成するためにいくつかの問題を解決し得る。例えば、マッシュアップメンバ、必要な入力パラメータ、マッシュアップ機能、マッシュアップ結果等をモデル化するか否か、およびモデル化の方法が課題として挙げられる。マッシュアップメンバは異なるデータモデルを有する異なる垂直ドメイン由来であり得るため、マッシュアップメンバの記述方法は相互運用性には重要であり得る。さらに、マッシュアップ機能は、さまざまなドメイン由来の、さまざまな要件を持つアプリケーションにとって理解可能であるべきであり、これは再利用性に影響を与え得る。
図18に示すように、SMSアーキテクチャ1800は、SMSホスト1810、SMPライブラリ1802、VSMR1804またはSMS要求側1808を含み得る。SMSホスト1810は、SMS要求側1808にセマンティックマッシュアップサービスを提供し得る。SMSホストは、SMPホスト1810、VSMRホスト2302または両者の組み合わせであってよい。SMP1802のみを含み得るSMSホストは、SMPホスト1810であってよく、これは、SMP1802をホストするためにSMSのみを提供し得る。VSMR1804のみを含むSMSホストは、VSMRホスト2302であってよく、マッシュアップ結果を計算または公開することを含め、VSMR1804をホストするためにSMSのみを提供し得る。SMSホストがSMPライブラリとVSMR1804との両方を含む場合、フルSMSをサポートし得る(例えば、SMP1802とVSMR1804との両方をホストする)。SMSホストは、例えばデフォルトで、SMP1802とVSMR1804との両方を含む機能を有し得る。
SMPホスト1810は、SMP1802のセットを含むそれ自身のSMPライブラリを有し得る。SMP1802は、特定のマッシュアップ論理についてのプロファイル情報(例えば、スマート駐車場のユースケースで論じたような適切な駐車場)をセマンティックにモデル化し記述する。このアーキテクチャでは、SMP1802のプロファイル情報は、入力パラメータのセマンティック記述、メンバリソースのセマンティック記述、マッシュアップ機能のセマンティック記述、またはマッシュアップ結果のセマンティック記述を含み得るが、これらはSMP要素または表現と呼ばれ得る。マッシュアップ結果は、選択されるマッシュアップメンバおよびもしあれば入力パラメータに対してマッシュアップ機能を実行することによって計算され得る。SMP1802は、1)SMP1802を使用するために、どのタイプの入力パラメータが必要とされ得るか、2)SMP1802を使用するためにどのタイプのオリジナルリソースがマッシュアップメンバであることが要求され得るか、3)どのタイプのマッシュアップ機能がSMP1802に使用され得るか、または4)どのタイプのマッシュアップ結果がSMP1802を使用するために計算および生成され得るかを含み得る。SMP1802は通常、入力パラメータ、メンバリソースまたはマッシュアップ結果を含まない。
SMP1802のマッシュアップ機能は、図19に示すように、複数の操作を含み得るが、各操作は、異なる入力(SMS要求側1808、マッシュアップメンバの値もしくは表現または他の操作による出力によって提供され得る)および出力を有し得ることに留意されたい。さらに、マッシュアップ機能は、マッシュアップ結果がどのように計算されるべきかを指定するスクリプトであり得る。
VSMR1804は、SMS要求側1808にSMSインタフェースを提供する仮想リソースとみなされ得る。各VSMR1804は、マッシュアップメンバのセットを含み、少なくとも1つのSMP1802を適用し得る。VSMR1804の各マッシュアップメンバはオリジナルリソースと関連付けられる。SMP1802は、マッシュアップメンバによって提供されたコンテンツおよびSMS要求側1808からの入力パラメータに基づいてマッシュアップ結果を生成するためのマッシュアップ機能を提供する(例えば、findSuitableParkingLotアプリケーションでは、SMS要求側1808は目的地の地理位置をVSMR1804に提供し得る)。
図20は、VSMR1804がどのようにマッシュアップ結果を生成するかの例を示す。本質的に、マッシュアップ機能2002は、マッシュアップメンバのコンテンツおよびSMS要求側1808からの入力パラメータに基づいて結果を生成する(例えば、目的地の地理位置は、findSuitableParkingLotアプリケーションにおいてSMS要求側1808によって送信されるべき入力パラメータであるとみなされる)。生成されたマッシュアップ結果は、SMRS1806に記憶され編成され得るが、これはアーキテクチャ内のVSMR1804の子リソースとみなされ得る。VSMR1804は、その提供されたSMSをセマンティックにモデル化し記述しているため、このSMSを入手することに関心があり得る他のSMS要求側1808は、このVSMR1804を発見するか、またはこのVSMRのSMRS1806を検索できる。
SMS要求側1808がSMSを利用するための複数の方法が存在し得る。第1のアプローチでは、SMS要求側1808は、SMSホスト1810の利用可能なSMP1802を発見する。例えば、SMS要求側1808は、利用可能なSMP1802(例えば、スマート駐車場アプリケーションのminParkingRate、minTimeCostおよびsuitableParkingLot)を見つけるためにSMP発見要求を送信し得る。次に、SMS要求側1808は、関連するSMP1802を識別し、入力パラメータを提供することによって、VSMR生成要求をSMSホストに送信し得る。VSMR1804が生成された後、SMS要求側1808はVSMR1804からのセマンティックマッシュアップ結果をトリガし検索し得る。また、SMS要求側1808はさらに、VSMR1804が生成された後にVSMR1804を購読し得る。VSMR1804を購読した後、SMS要求側1808は、VSMR1804で何らかの変更が行われると通知を受けることができる。予測されるSMSに対して既に生成されたVSMR1804がある場合、SMS要求側1808は既存のVSMR1804に直接アクセスして、そのセマンティックマッシュアップ結果を検索するか、または既存のVSMR1804を直接購読し得る。SMS要求側1808およびオリジナルリソースは、アーキテクチャの外側にあるとみなされる部分であり得る(例えば、それらはSMSホストと対話し得るエンティティであり、これにはセマンティックマッシュアップアーキテクチャが含まれる)ことに留意されたい。
開示されるこのアーキテクチャは、以下の技術的効果を有し得る。SMP生成およびVSMR生成は、互いに別個のもので独立することができ、これによりSMP1802がシステム(または他のアプリケーション)によって提供され、さまざまなVSMR1804によって使用されることが可能になる。このような分離により、SMP1802およびVSMR1804は異なる場所に柔軟に、かつ場合によってより効率的に記憶され得る。その結果、再利用性およびシステム効率が改善され得る。
各SMPの表現は、セマンティックトリプルを使用してモデル化され得るが、このことは、特にマッシュアップメンバが異なるドメインから選択されるときに相互運用性を可能にする。SMP1802のこのようなセマンティクスベースのモデル化は、アプリケーションまたは機械が各SMP1802のプロファイル情報を十分に理解するのを手助けするため、再利用性も改善し得る。
図18~図20に示す機能は、後述の図51Cまたは図51Dに示されるもののうちの1つのような無線デバイスまたはその他装置(例えば、サーバ、ゲートウェイ、デバイスまたは他のコンピュータシステム)のメモリに記憶され、そのプロセッサで実行されるソフトウェア(例えば、コンピュータ実行命令)の形態で実装され得ることが理解されよう。さらに、図18~図20に示す機能は、仮想化ネットワーク機能のセットとして実装され得ることも理解されよう。ネットワーク機能は、必ずしも直接通信しなくてもよく、むしろ、転送または経路指定機能を介して通信し得る。
図21は、セマンティックマッシュアップの例示的な高度な手順を示す。各々についてのさらなる詳細は本明細書に開示される。ステップ2100は、SMP発見タスクとみなされ得る。ステップ2100では、SMS要求側1808は、SMSホスト内の既存のSMP1802を発見し得るため、これらのSMP1802を適用して対応するVSMR1804を生成し得る。例えば、SMS要求側1808は、セマンティック発見要求をSMSホスト1810に送信することによって、駐車場関連のSMP1802を発見し得る。このタスクの態様は、本明細書でより詳細に論じられる。ステップ2101は、VSMR生成タスクとみなされ得る。ステップ2012では、対応するSMP1802を発見した後、SMS要求側1808は、VSMR生成要求を送信することによってVSMR1804を生成するように要求し得る。この要求は、VSMR1804を生成するためにどのSMPが適用されるかを示し得る。VSMR生成要求を受信した後、SMSホストはまず、VSMR生成要求に一致する利用可能なVSMR1804があるかどうかを確認し得るが、もしそうであれば、SMSホストは別の新しいVSMR1804を生成することはできず、そうでない場合は、SMSホストは、適用されたSMP1802に基づいてそのマッシュアップメンバを確立することによりVSMR1804を生成し得るが、例えば、適用されたSMP1802は、VSMR1804のマッシュアップメンバとなるべきオリジナルリソースをどのように選択するかの基準を定義する。SMSホスト1810それ自体もまた、先回りしてVSMR1804を生成し得る。
引き続き図21を参照すると、ステップ2102はVSMR発見タスクとみなされ得る。ステップ2012では、VSMR1804が生成された後、このVSMR1804に関心がある他のSMS要求側(例えば、SMS要求側2108)は、セマンティック発見要求をSMSホスト1810に送信することによってVSMR1804を発見し得る。SMS要求側はまた、要求されたVSMR1804をまず発見し(例えばステップ2102)、次に必要なVSMR1804が見つからない場合にはVSMRを生成する(例えばステップ2103~ステップ2104)ことに留意されたい。ステップ2101およびステップ2012は、SMS要求側に適用される異なる戦略に基づいてスワップ可能であり得る。
ステップ2103およびステップ2014は、VSMRコンテンツ検索タスクとみなされ得る。ステップ2103およびステップ2014では、本明細書でより詳細に開示されるように、VSMR1804のコンテンツ(例えば、マッシュアップ結果)を検索し得る。例えば、これは、VSMR1804、SMS要求側1808およびSMS要求側2108のURIを発見した後に行われ得る。
ステップ2105は、VSMR維持タスクとみなされ得る。ステップ2105では、VSMR1804内のマッシュアップメンバは実際には、異なるリソースホスト2804によってホストされるオリジナルリソースにリンクするか、またはオリジナルリソースからコピーする。したがって、オリジナルリソースの表現が変更されると、VSMR1804の対応するマッシュアップメンバは更新され得るが、それに応じて、VSMR1804のマッシュアップ結果が再計算され得る。さらに、オリジナルリソースはそれらのリソースホスト2804で消去または追加され得るため、VSMR1804のマッシュアップメンバもそれに応じて修正され得る。
要約すると、A)タスク0-SMP発見(例えば、ステップ2100)、B)タスク1-VSMR生成(例えば、ステップ2011)、C)タスク2-VSMR発見(例えば、ステップ2102)、D)タスク3-VSMRコンテンツ検索(例えば、ステップ2103~2104)、E)タスク4-VSMR維持(例えば、ステップ2105)に分割され得る。
図21に示すステップを実行するエンティティは、無線通信もしくはネットワーク通信のための装置または図51Cもしくは図51Dに示されるもののようなコンピュータシステムのメモリに記憶され、そのプロセッサで実行されるソフトウェア(例えば、コンピュータ実行命令)の形態で実装され得る論理的エンティティであり得ることが理解されよう。すなわち、図21に示す方法は、図51Cまたは図51Dに示される装置またはコンピュータシステムのような装置のメモリに記憶されるソフトウェア(例えば、コンピュータ実行命令)の形態で実装され得るが、そのコンピュータ実行命令は、装置のプロセッサによって実行されたときに図21に示すステップを実行する。図21に示す機能は、仮想化ネットワーク機能のセットとして実施され得ることも理解されよう。ネットワーク機能は、必ずしも直接通信しなくてもよく、むしろ、転送または経路指定機能を介して通信し得る。また、図21に示す任意の送信および受信ステップは、装置のプロセッサおよびそれが実行するコンピュータ実行命令(例えばソフトウェア)の制御下で装置の通信回路によって実行され得ることも理解されよう。
図18に示すSMSアーキテクチャ1800では、VSMR1804のマッシュアップ結果は、VSMR1804下に位置するSMRS1806に記憶され編成され、例えば、SMRS1806は、VSMR1804の子リソースであるとみなされ得る。図22の高度SMSアーキテクチャ2200では、VSMR1804およびそのマッシュアップ結果は分離され得るが、例えば、マッシュアップ結果はそのVSMR1804とは異なる別個のリソースとみなされ得る。図22に示すように、SMRS1806は、1つまたは複数のVSMR1804によって生成されたマッシュアップ結果を含み得るリソースのタイプである。SMRS1806は、図23のSMRSホスト2304と呼ばれる異なるサービス層ノードでホストされ得る。VSMR1804は、smrsIDを含めることによってその関連SMRS1806を識別し得る。その結果、マッシュアップ結果はもはやVSMR1804に記憶され得ない。代わりに、対応するSMRS1806は、マッシュアップ結果を維持し得るが、マッシュアップ結果は、SMRSリソースのvsmrID属性によって示される関連VSMR1804によって生成される。SMRS1806のマッシュアップ結果は、マッシュアップ結果に関心を持ち得る他のSMS要求側が、対応するSMRS1806からマッシュアップ結果を直接検索し得るようにセマンティックにモデル化され記述され得る。
図22に示すステップを実行するエンティティは、無線通信もしくはネットワーク通信のための装置または図51Cもしくは図51Dに示されるもののようなコンピュータシステムのメモリに記憶され、そのプロセッサで実行されるソフトウェア(例えば、コンピュータ実行命令)の形態で実装され得る論理的エンティティであり得ることが理解されよう。すなわち、図22に示す方法は、図51Cまたは図51Dに示される装置またはコンピュータシステムのような装置のメモリに記憶されるソフトウェア(例えば、コンピュータ実行命令)の形態で実装され得るが、そのコンピュータ実行命令は、装置のプロセッサによって実行されたときに図22に示すステップを実行する。図22に示す機能は、仮想化ネットワーク機能のセットとして実施され得ることも理解されよう。ネットワーク機能は、必ずしも直接通信しなくてもよく、むしろ、転送または経路指定機能を介して通信し得る。また、図22に示す任意の送信および受信ステップは、装置のプロセッサおよびそれが実行するコンピュータ実行命令(例えばソフトウェア)の制御下で装置の通信回路によって実行され得ることも理解されよう。
図23は、高度SMSアーキテクチャ2200を適用することによってSMSをクライアント(例えば、SMS要求側)に提供するために、SMPホスト1810、VSMRホスト2302およびSMRSホスト2304がどのように互いと対話するかの主な手順を示す。
図23のステップ2311:VSMRホスト2302は、SMS要求側からVSMR生成要求を受信する。VSMR生成要求は、どのSMP1802が新しいVSMR1804に適用され得るかを識別し得る。
図23のステップ2312:VSMR生成要求を受信した後、VSMRホスト2302は対応するSMPホスト1810にSMP検索要求を送信し得る。ここで、SMPホスト1810およびVSMRホスト2302は異なるエンティティとみなされる(これは、SMP1802およびVMSRが両方ともSMSホストによってホストされる図18に示すアーキテクチャとはわずかに異なる)ため、VSMRホスト2302はSMPホスト1810から対応するSMP1802を検索し得ることに留意されたい。
図23のステップ2313:SMPホスト1810は、要求されたSMP1802の表現を返し得る。
図23のステップ2314:要求されたSMP1802の表現を取得した後、VSMRホスト2302は、ステップ2311においてSMS要求側によって要求されるVSMR1804を生成できる。また、新たなVSMR1804は、SMRS1806と関連付けて、そのマッシュアップ結果を記憶し得る。VSMR1804を生成した後、VSMRホスト2302は、その関連SMRS1806のURIを送信することによってVSMR1804が生成されたことをSMS要求側に通知し得る。
図23のステップ2315:VSMRホスト2302は、そのマッシュアップメンバの表現を検索し、これらの表現に対してマッシュアップ機能を実行することによってマッシュアップ結果を生成する。
図23のステップ2316:VSMRホスト2302は、生成されたマッシュアップ結果をSMRSホスト2304に送信し得るので、SMRSホスト2304は、結果として、生成されたマッシュアップ結果を記憶して編成する。
図23のステップ2317:SMRSホスト2304は、応答をVSMRホスト2302に送信し、マッシュアップ結果がSMRSホスト2304に首尾よく記憶されたか否かを示し得る。
図23のステップ2318:VSMRのマッシュアップ結果を記憶するための場所は、経時的に調整され得るが、例えば、VSMR1804は、経時的にそのマッシュアップ結果に対して異なるSMRSホストを選択し得る(例えば、オリジナルSMRSホスト2304はVSMR1804のマッシュアップ結果を記憶するのに十分な容量を有していない)。したがって、VSMRホスト2302は、VSMR1804とその対応するSMRS1806との間の関係を維持し得る。
図23のステップ2319:VSMR1804がそのSMRS1806を変更した後、VSMR1804は、新たなSMRS1806のURIについてSMS要求側に通知し得る。ここで、VSRMホストは、VSMR1804がメッセージをSMS要求側に送信し得るようにSMS要求側のアドレス(例えば、URI)を維持すると仮定する。例えば、SMS要求側は、VSMRホスト2302を購読し、VSMRホスト2302の購読中に通知URI(例えば、SMS要求側のURI)を付与し、次いで、VSMRホスト2302は、新たなSMRSホスト2304のURIをこの通知URIに送信し得るので、これはSMS要求側によって受信され得る。ステップ2315~ステップ2319は、VSMRホスト2302がセマンティックマッシュアッププロファイルを定期的に実行し、それ自体でマッシュアップ結果を生成するときに使用され得る。
図23のステップ2320:SMRS1806を取得したいSMS要求側(図示せず)は、SMRS1806を発見し、SMRS検索要求をSMRSホスト2304に送信し得る。
図23のステップ2321:SMRS検索要求を受信した後、SMRSホスト2304は、最新のマッシュアップ結果をSMS要求側に直接応答し得るか、またはSMRSホスト2304は、マッシュアップ結果更新要求を生成し、その関連付けられたVSMR1804がマッシュアップ結果を再計算し、更新マッシュアップ結果をSMRSホスト2304にフィードバックすることを可能にし得る。
図23のステップ2322:マッシュアップ要求を受信した後、VSMR1804は、そのマッシュアップメンバの表現を検索し、これらの表現に対してマッシュアップ機能を実行することによって、マッシュアップ結果を再生成し得る。
図23のステップ2323:VSMRホスト2302は、ステップ2321からのマッシュアップ要求に応答するために、新たなマッシュアップ結果をSMRSホスト2304に送信する。
図23のステップ2324:最新のマッシュアップ結果を受信した後、それに応じてSMRSホスト2304は最新のマッシュアップ結果を記憶し、マッシュアップ結果が記憶されたことを確認するためにVSMRホスト2302に応答し、次いで最新のマッシュアップ結果をSMS要求側に送信し得る。
図23に示すステップを実行するエンティティは、無線通信もしくはネットワーク通信のための装置または図51Cもしくは図51Dに示されるもののようなコンピュータシステムのメモリに記憶され、そのプロセッサで実行されるソフトウェア(例えば、コンピュータ実行命令)の形態で実装され得る論理的エンティティであり得ることが理解されよう。すなわち、図23に示す方法は、図51Cまたは図51Dに示される装置またはコンピュータシステムのような装置のメモリに記憶されるソフトウェア(例えば、コンピュータ実行命令)の形態で実装され得るが、そのコンピュータ実行命令は、装置のプロセッサによって実行されたときに図23に示すステップを実行する。図23に示す機能は、仮想化ネットワーク機能のセットとして実施され得ることも理解されよう。ネットワーク機能は、必ずしも直接通信しなくてもよく、むしろ、転送または経路指定機能を介して通信し得る。また、図23に示す任意の送信および受信ステップは、装置のプロセッサおよびそれが実行するコンピュータ実行命令(例えばソフトウェア)の制御下で装置の通信回路によって実行され得ることも理解されよう。
VSMR1804とそのマッシュアップ結果とを分離することの利点の1つは、VSMR移行を容易にすることであり、これは図24に示されている。具体的には、(VSMRホスト間の負荷分散等の何らかの理由により)VSMR1804があるVSMRホスト2302から新たなVSMRホスト2402への移行を試みると、VSMR1804とそのマッシュアップ結果とが分離されていれば、VSMR1804のマッシュアップ結果は移行される必要がなくなる。VSMRのマッシュアップ結果を移行しないことにより、移行トラフィックが減少し得る。また、SMS要求側1808は、VSMRとそのマッシュアップ結果とが分離されている場合、VSMRの移行を認識できないか、またはそうする必要がない。言い換えれば、SMS要求側1808は依然として、検索要求を同じSMRSホスト2304に送信することによってマッシュアップ結果を検索し得る。
特に図24を参照すると、最初のステップであり得るステップ2411では、VSMR1がVSMRホスト2302で生成されホストされる。対応するマッシュアップ結果は、VSMR1のsmrsID属性によって示されるようにSMRSホストで記憶される。ステップ2412では、VSMR1は、負荷分散等の理由で別のVSMRホスト2402に移行する。VSMR1全体をVSMRホスト1からVSMRホスト2402にコピーし得る。ステップ2413では、VSMRホスト2402におけるVSMR1のsmrsID属性は同じであり、依然としてSMRSホスト2304におけるSMRS1ホストを指している。依然として、VSMRホスト2402で生成されたマッシュアップ結果はSMRSホスト2304で記憶され得る。しかし、SMRS1は、その対応するVSMR1の新しいホストとしてVSMRホスト2402を記録し得る。ステップ2414では、SMS要求側1808は依然としてSMRSホスト2304から通常通りマッシュアップ結果を検索する。SMS要求側1808は、VSMRホスト2302からVSMRホスト2402へのVSMR1の移行を認識していない場合がある。
図24に示すステップを実行するエンティティは、無線通信もしくはネットワーク通信のための装置または図51Cもしくは図51Dに示されるもののようなコンピュータシステムのメモリに記憶され、そのプロセッサで実行されるソフトウェア(例えば、コンピュータ実行命令)の形態で実装され得る論理的エンティティであり得ることが理解されよう。すなわち、図24に示す方法は、図51Cまたは図51Dに示される装置またはコンピュータシステムのような装置のメモリに記憶されるソフトウェア(例えば、コンピュータ実行命令)の形態で実装され得るが、そのコンピュータ実行命令は、装置のプロセッサによって実行されたときに図24に示すステップを実行する。図24に示す機能は、仮想化ネットワーク機能のセットとして実施され得ることも理解されよう。ネットワーク機能は、必ずしも直接通信しなくてもよく、むしろ、転送または経路指定機能を介して通信し得る。また、図24に示す任意の送信および受信ステップは、装置のプロセッサおよびそれが実行するコンピュータ実行命令(例えばソフトウェア)の制御下で装置の通信回路によって実行され得ることも理解されよう。
セマンティックマッシュアッププロファイルの発見および検索(セマンティックマッシュアップのタスク0)-SMPリソース
SMPライブラリ内のSMP1802は、smpID、memberFilter、inputDescriptor、functionDescriptorおよびoutputDescriptorの属性を含み得るが、これらは以下で詳述される。smpID属性は、SMPのID(例えばそのURI)を示す。smpID属性は、SMP1802をホストするSMPホスト1810(またはSMSホスト)内の固有の識別子であるべきである。
memberFilter属性を使用して、同じリソースホストまたは異なるリソースホスト2804における複数のオリジナルリソースからマッシュアップメンバのセットを決定するための基準のセットを示し得る。memberFilter属性は、メタデータモデル、例えば、RDFトリプルによって記述され得る。SMSホストは、memberFilter属性のメタデータに基づいてセマンティッククエリを生成し得る。一例を図25に示す。ここで、memberFilter属性のメタデータは、近くの駐車場(例えば、駐車場と目的地との間の距離が1マイル未満である)が、このSMP1802を使用して新たなVSMR1804を生成し得る場合、VSMR1804のマッシュアップメンバであり得ることを意味する一方、各マッシュアップメンバは、4つの属性、例えば、駐車場のURI、状態、地理位置および駐車料金を有し得る。
inputDescriptor属性は、複数の入力パラメータおよびそれらのタイプを含み得る。これらの入力パラメータは、SMS要求側1808がこのSMP1802を適用してVSMR1804を生成しようとしたときに指定され得る。inputDescriptor属性は、セマンティックメタデータ、例えば、RDFトリプルによって記述される。inputDescriptor属性を取得することによって、SMS要求側1808は必要な入力パラメータの数および必要な入力パラメータ各々のタイプを理解し得る。一例を図25に示す。SMS要求側1808がこのSMP1802を適用してVSMR1804を生成しようと試みるときに、(その位置の経度および緯度の値を含む)1つの地理位置入力パラメータがSMS要求側1808によって提供されるべきである。
outputDescriptor属性は、出力パラメータの数およびそれらの対応するタイプを定義する。outputDescriptor属性は、セマンティックメタデータ、例えば、RDFトリプルによって記述される。一例を図25に示す。ここで、outputDescriptor属性のメタデータは、選択された駐車場のURI、状態、地理位置および駐車料金がSMS要求側に返され得ることを意味する。
functionDescriptor属性は、SMP1802のマッシュアップ機能を記述するためのものである。マッシュアップ機能は、出力(例えばマッシュアップ結果)を生成するためにマッシュアップメンバに対して適用され、この出力はoutputDescriptor属性で定義され得る。functionDescriptor属性のコンテンツは、SMSホストによって理解され得る任意のプログラミング言語によって記述されるスクリプトであり得る。一例を図25に示す。ここで、functionDescriptor属性は、マッシュアップメンバの中から最適な駐車場をどのように選択するかを示すプログラミングコードのセットによって記述され、マッシュアップ機能は、この適切な駐車場のURI、状態、位置情報および駐車料金を返す。
SMP1802はまた、以下に詳述される<semanticDescriptor>子リソースを含み得る。<semanticDescriptor>子リソースは、どの種類のマッシュアップメトリックが適用されるか、このSMP1802を記述するためにどのオントロジーが使用され得るか、およびどの種類のSMSでこのメトリックが適用され得るか(例えば、メトリックがどんな種類の適用状況で使用され得るか)を示すためのものである。<semanticDescriptor>リソースの記述子属性は、RDFトリプルとして記述される。一例を図25に示す。ここで、<semanticDescriptor>リソースのメタデータは、このSMP1802のタイプが“SuitableParkingLot”である(例えば、このSMP1802はFindParkingLotサービスに適用可能である)ことを示し、このSMP1802のマッシュアップメトリックは“jointOptimization”(例えば、駐車場の駐車料金および駐車場と目的地との間の距離を一緒に考慮する)である[手順を明確に説明するために、駐車場と目的地との間の距離が短いほど、この駐車場の時間費用が低くなると考える。言い換えれば、駐車場がはるかにその距離に近い場合、ユーザは駐車場から目的地に到達するのにかかる時間が少なくなる。]。
セマンティックマッシュアッププロファイルの発見および検索(セマンティックマッシュアップのタスク0)-SMP発見および検索
SMS要求側1808がSMSホスト(またはSMPホスト1810)のアドレスを提供されるかまたは発見すると仮定すると、以下のステップを適用することによってSMS要求側1808は特定のタイプのSMP1802を発見し、SMSホストからその表現を検索し得る。
図26のステップ2611:SMS要求側1808はSMP発見要求をSMPホストに送信する(SMS要求側1808はさらに、SMP発見要求を中央セマンティックグラフストアに送信し得るとともに、中央セマンティックグラフストアは要求に応答し得ることに留意されたい)。SMP発見要求はsmpFilterを含むことができ、これは通常、SMP1802のタイプまたはマッシュアップメトリックを指定する。例えば、SMS要求側1808が「FindParkingLot」アプリケーションに適用され得るSMPリソースを発見しようと試みる場合、smpFilterは以下の値を取り得る。
SELECT ?smp
WHERE { ?smp rdf:type smp:semanticMashupProfile .
?smp base: hasService smp:FindParkingLot .
}
図26のステップ2612:SMSホストは、SMS要求側1808に適格SMP1802のsmpIDを含む応答を送信し得るが、これは、<semanticDescriptor>子リソースに含まれ、smpFilterによって記述される基準を満たすセマンティック情報を有する。SMSホストは、SMS要求側1808が適格SMP1802を発見するための適切な特権を有するか否かを確認するためにアクセス制御を実行し得ることに留意されたい。言い換えれば、SMS要求側1808にSMPを発見する権限が与えられていなければ、SMSホストは対応するsmpIDをSMS要求側に送信できない。
図26のステップ2613:適格SMP1802のsmpIDを受信した後、SMS要求側1808は、SMP検索要求を送信して、ステップ2612で発見されたSMP1802のうちの1つを検索し得る。
図26のステップ2614:SMP検索要求を受信した後、SMSホストは、対応するSMP1802の表現を含む応答を送信し得る。SMSホストは、SMS要求者1808がSMPの表現を検索するための適切な特権を有するか否かを確認するためにアクセス制御を行い得ることに留意されたい。言い換えれば、SMS要求側1808にSMPの表現を検索する権限を与えられていない場合、SMSホストは適切なエラーコードをSMS要求側に送信し得る。
図26に示すステップを実行するエンティティは、無線通信もしくはネットワーク通信のための装置または図51Cもしくは図51Dに示されるもののようなコンピュータシステムのメモリに記憶され、そのプロセッサで実行されるソフトウェア(例えば、コンピュータ実行命令)の形態で実装され得る論理的エンティティであり得ることが理解されよう。すなわち、図26に示す方法は、図51Cまたは図51Dに示される装置またはコンピュータシステムのような装置のメモリに記憶されるソフトウェア(例えば、コンピュータ実行命令)の形態で実装され得るが、そのコンピュータ実行命令は、装置のプロセッサによって実行されたときに図26に示すステップを実行する。図26に示す機能は、仮想化ネットワーク機能のセットとして実施され得ることも理解されよう。ネットワーク機能は、必ずしも直接通信しなくてもよく、むしろ、転送または経路指定機能を介して通信し得る。また、図26に示す任意の送信および受信ステップは、装置のプロセッサおよびそれが実行するコンピュータ実行命令(例えばソフトウェア)の制御下で装置の通信回路によって実行され得ることも理解されよう。
(仮想セマンティックマッシュアップリソース生成(セマンティックマッシュアップのタスク1))
VSMR1804は、SMSホストまたはVSMRホストに存在し得るリソースのタイプとみなされる。任意のVSMR1804としては、vsmrID、smpID、smrsStoreType、smrsID、memberStoreType、mashupMemberID、resultGenType、periodForResultGen、smpInputPara、smrs、mashupMember、<semanticDescriptor>または<subscription>パラメータが挙げられ得る。これらのパラメータ各々は、VSMR1804の属性または子リソースであり得ることに留意されたい。
vsmrIDパラメータは、このVSMR1804のIDを示す。vsmrIDパラメータは、VSMRリソースのURIとして表され得る。
smpIDパラメータは、どのSMPリソースがVSMRリソースに適用されるかを示す。
smrsStoreTypeパラメータは、どのセマンティックマッシュアップ結果が記憶されるべきであるかを示す。具体的には、smrsStoreType=“Child Resource”である場合、このVSMR1804のマッシュアップ結果は、このVSMR1804の子リソースとして記憶され得る。smrsStoreType=“Reference”である場合、このVSMR1804のマッシュアップ結果は、SMRSリソース(VSMR1804とは異なるリソース)に記憶され得る。SMRSリソースがVSMR1804のマッシュアップ結果を記憶するために適用される場合、SMRSリソースのURIは、このVSMR1804のsmrsIDパラメータによって識別され得ることに留意されたい。
smrsIDパラメータは、このVSMR1804のマッシュアップ結果を記憶しているSMRSリソースの識別子を示す。smrsStoreTypeの値が“Reference“ではない場合、smrsIDパラメータは使用できないことに留意されたい。
memberStoreTypeパラメータは、このVSMR1804のマッシュアップメンバを記憶する方法を示す。具体的には、memberStoreType=“URI Only“である場合、VSMR1804は、各メンバリソースのURIを維持するためにmashupMemberIDパラメータ(次で説明する)を使用し得る。memberStoreType=“URI and Value“である場合、VSMR1804は、mashupMemberパラメータを使用して、各メンバリソースのURIおよび値の両方を維持し得る(例えば、“FindParkingLot”アプリケーションでは、VSMR1804は、各メンバリソースのparkingLotStatus、parkingLotLocation、parkingLotRateおよびparkingLotURIを維持し得る)。
mashupMemberIDパラメータは、VSMR1804のマッシュアップメンバの識別子を示す。このパラメータの値はリストである。mashupMemberパラメータが、その子リソースとしてVSMR1804の直下に位置している場合(例えば、memberStoreType=“URI Only“である場合)、このパラメータは使用できない。
mashupMemberパラメータは、smpIDパラメータによって示される、対応するSMP1802のmemberFilterに記述される基準に基づいてオリジナルリソースから選択され得るマッシュアップメンバのセットを含む。
resultGenTypeパラメータは、VSMR1804がマッシュアップ結果をどのように生成するかを意味する。具体的には、resultGenType=“When VSMR Is Created“である場合、マッシュアップ結果は、VSMR1804が生成されるときに生成され得る。resultGenType=“When SMS Requestor Requests“である場合、マッシュアップ結果は、SMS要求側1808がVSMR1804のマッシュアップ結果を検索しようとしたときに計算および生成される。resultGenType=“Periodically“である場合、マッシュアップ結果は定期的に計算および生成され得る(期間の長さはperiodForResultGen属性によって特定される)。resultGenType=“When A Mashup Member Is Updated“である場合、マッシュアップ結果はVSMR1804のマッシュアップメンバに対して更新が行われる度に計算および生成され得る。この属性の値はリストであり、例えば、複数のイベントは、VSMR1804に対するマッシュアップ結果を計算して生成するためにトリガされ得ることに留意されたい。
periodForResultGenパラメータは、VSMR1804に対してセマンティックマッシュアップ結果を再計算し生成するための期間を示す。セマンティックマッシュアップ結果を再計算する時間になったとき、VSMR1804をホストするSMSホストは、各マッシュアップメンバの最新表現がまだ取得されていなければ検索し得る。この属性は、resultGenType=“Periodically“である場合に使用され得る。
smpInputParaパラメータは、マッシュアップ結果を計算するために必要とされ得る入力パラメータの値を含む。これらの入力パラメータのタイプは、このVSMR1804のsmpIDパラメータによって識別される、対応するSMPリソースの<inputDescriptor>によって指定され得る。
smrsパラメータは、VSMRリソースのマッシュアップ結果を記憶する。smrsStoreTypeの値が“Child Resource”ではない場合、smrsパラメータは使用できないことに留意されたい。
<semanticDescriptor>パラメータは、どの種類のSMSがこのVSMR1804によって提供されるかを示す。
<subscription>パラメータは、このVSMR1804に関する購読情報を含む。
セマンティックマッシュアッププロファイル発見手順を介してSMPリソースを取得した後、SMS要求側1808は、発見されたSMPリソースを適用することによってVSMR1804を生成し得る。VSMR1804を生成する手順は以下で詳述する。
図28のステップ2811:SMS要求側1808がSMP1802を発見し検索した後、SMS要求側1808はVSMR生成要求をSMSホスト1810に送信し得る。VSMR生成要求は、適用されるSMP1802のURI(例えば、smpID属性の値)、resultGenTypeの値(マッシュアップ結果の生成方法を示す)、および入力パラメータ(適用されるSMP1802のinputDescriptor属性によって定義および記述され得る)を含み得る。入力パラメータは、メタデータモデル、例えば、RDFトリプルによって記述され得る。例えば、新しいVSMRを生成するために(図25に記述されている)“SuitableParkingLot”SMP1802が適用される場合、VSMR生成要求の入力パラメータは、図27のように記述され得る。
図28のステップ2812:VSMR生成要求を受信した後、SMSホスト1810は、入力パラメータがSMP1802(smpIDによって識別される)の要件(例えば、inputDescriptor属性のメタデータ)を満たし得るかどうかを最初に確認し得る。例えば、(図25に記述されている)「SuitableParkingLot」SMP1802が適用される場合、VSMR生成要求には2つの入力パラメータ(例えば目的地の経度および緯度)があるはずである。言い換えれば、SMSホストは、VSMR生成要求のみを受諾し得るが、VSMR生成要求には、正確に2つの入力パラメータ(そのタイプはそれぞれ経度および緯度であり得る)が含まれ、そうでなければ、SMSホストはVSMR生成要求を拒否し、SMS要求側にエラーコードを返し得る。
図28のステップ2813:受信したVSMR生成要求が有効である場合、SMSホストは、ステップ2811のVSMR生成要求に含まれるものと同じsmpIDおよび同じ入力パラメータを有する既存のVSMRが生成されたか否かを確認し得る。
図28のステップ2814:VSMR生成要求と同じsmpIDおよび入力パラメータを有する既存のVSMRがあり、かつSMS要求側1808がこの既存のVSMRにアクセスすることが許可される場合[通常、SMSホストは、事前設定され得るアクセス制御ポリシーのセットを維持し得る。SMSホスト内の各リソース(VSMRを含む)は、アクセス制御を実行するためにそれらのアクセス制御ポリシーのうちのいずれかを適用し得る。](例えば、ステップ2814(a))、SMSホストはこの既存のVSMRのURIをSMS要求側1808に返し得る(例えば、ステップ2820に進む)。そうでなければ(例えば、VSMR生成要求と同じsmpIDおよび入力パラメータを有する既存のVSMRが、SMS要求側1808にアクセスすることを許可しないか、またはそのような既存のVSMRが存在しない)、SMSホストは新しいVSMRを生成し始め得る(例えば、ステップ2825に進む)。
図28のステップ2815:SMSホストは、SMSホストに適用されるアクセス制御ポリシーを確認することによって、SMS要求側1808がこの対応するタイプのSMP1802に対してVSMRを生成することを許可されているかどうかを判断するべきである。SMS要求側1808がVSMRを生成する権限が与えられていない場合、SMSホストはその不許可を示す適切なエラーコードをSMS要求側1808に返し得るが、そうでなければ、ステップ2816に進む。
図28のステップ2816:SMSホストは、VSMR要求に与えられたsmpIDによって示される、対応するSMP1802のmemberFilter属性に含まれるセマンティック情報に基づいてSPARQLクエリを生成することによって、新たなVSMRのマッシュアップメンバとなるように適切なオリジナルリソースを最初に選択し得る。SPARQLクエリは、ステップ2817(a)およびステップ2817(b)において“semanticFilter”として含まれ得る。
図28のステップ2817:サービス層に集中セマンティックグラフストア2802が存在する場合、SMSホストは、適切なオリジナルリソースのURIを見つけるために、“semanticFilter”を含むセマンティック発見を集中セマンティックグラフストア2802に送信し得る(例えば、ステップ2817(a))。集中セマンティックグラフストア2802が存在しない場合、SMSホストは、適切なオリジナルリソースのURIを見つけるために、セマンティック発見をその登録されたリソースホスト2804に送信し得る(例えば、ステップ2817(b))。
図28のステップ2818:集中セマンティックグラフストア2802がセマンティック発見要求を受信すると(例えばステップ2818(a))、集中セマンティックグラフストア2802は維持されているRDFトリプルを検索し、適格オリジナルリソースのURIをSMSホストに返し得る[適格オリジナルリソースは、適用されるSMP1802のmemberFilter属性の要件または基準を満たすオリジナルリソースとして定義される。例えば、”SuitablePakringLot”SMP1802では、memberFilter属性は、目的地までの距離が1マイル未満の駐車場である適格リソースを定義する。]。リソースホストがセマンティック発見要求を受信すると(ステップ2818(b))、リソースホストはローカルセマンティックグラフストアを構築し、ローカルセマンティックグラフ全体でRDFトリプルを検索し、適格オリジナルリソースのURIをSMSホストに返し得る。適格オリジナルリソースのURIをSMSホストに返す前に、集中セマンティックグラフストア2802またはリソースホスト2804は、SMSホストがそれらのオリジナルリソースを発見するための適切な特権を有するか否かを確認できることに留意されたい[ローカルセマンティックグラフストアは、リソースホスト2804によって一時的に維持され、例えば、ローカルセマンティックグラフストアは、リソースホストの1つの機能または一部分である。]。集中セマンティックグラフストア2802またはリソースホスト2804はさらに、SMS要求側1808がVSMR1804にそれらのオリジナルリソースを含める(そうすることによって、SMS要求側の情報(例えばID)は、ステップ2817でセマンティック発見要求に含まれ得る)ための適切な特権を有するか否かを確認し得ると本明細書では考えられる。SMSホストがオリジナルリソースを発見する権限が与えられていない(あるいは、SMS要求側1808がVSMR1804にオリジナルリソースを含めることができない)場合、集中セマンティックグラフストア2802またはリソースホスト2804はオリジナルリソースのURIをSMS要求側1808に送信できない。
図28のステップ2819:適切なオリジナルリソースのURIを取得した後、SMSホストは対応するVSMR1804を生成し得る。新たなVSMRのsmpIDおよびresultGenTypeパラメータの値は、VSMR生成要求に含まれるものと一致し得るが、新たなVSMRのsmrsパラメータの値は空であり得る。mashupMemberパラメータは、ステップ2818から取得され得る適格オリジナルリソースおよびそれらのURIを含み、例えば、それらの適格オリジナルリソースは、対応するVSMRのマッシュアップメンバとなる。
図28のステップ2820:要求されたVSMRを首尾よく生成した後、SMSホストは、VSMRのURIまたはVSMRのSMRSのURIをSMS要求側1808に返し得るため、SMS要求側1808は、後でVSMRのコンテンツ(例えばマッシュ結果)を検索し得る。応答メッセージはまた、SMS要求側に対して生成されたVSMRのマッシュアップメンバの数を含み得る。この情報は、SMS要求側1808が、ステップ2818において適格メンバリソースが見つからない(例えば、VSMRがマッシュアップメンバを有していない)状況、または有効なマッシュアップ結果を生成するのに適格メンバリソースの数が十分ではない状況を認識し得るため有用であり得る。
図28に示すステップを実行するエンティティは、無線通信もしくはネットワーク通信のための装置または図51Cもしくは図51Dに示されるもののようなコンピュータシステムのメモリに記憶され、そのプロセッサで実行されるソフトウェア(例えば、コンピュータ実行命令)の形態で実装され得る論理的エンティティであり得ることが理解されよう。すなわち、図28に示す方法は、図51Cまたは図51Dに示される装置またはコンピュータシステムのような装置のメモリに記憶されるソフトウェア(例えば、コンピュータ実行命令)の形態で実装され得るが、そのコンピュータ実行命令は、装置のプロセッサによって実行されたときに図28に示すステップを実行する。図28に示す機能は、仮想化ネットワーク機能のセットとして実施され得ることも理解されよう。ネットワーク機能は、必ずしも直接通信しなくてもよく、むしろ、転送または経路指定機能を介して通信し得る。また、図28に示す任意の送信および受信ステップは、装置のプロセッサおよびそれが実行するコンピュータ実行命令(例えばソフトウェア)の制御下で装置の通信回路によって実行され得ることも理解されよう。
首尾よくVSMRを生成した後、他のSMS要求側1808はVSMRを発見し使用し得る(または同じSMS要求側1808はVSMRを使用できる)。
仮想セマンティックマッシュアップリソース発見(セマンティックマッシュアップのタスク2)
VSMR発見とは、生成されたVSMR1804が、VSMR1804によって提供されるサービスに関心がある他のSMS要求側1808によって発見され得ることを意味する。したがって、既存のVSMR1804は、システム効率を改善するために他のSMS要求側1808によって再利用され得る。例えば、スタジアムでフットボールの試合があるとき、何万人ものユーザがスタジアムの近くの適切な駐車場を見つけることを要求する(例えば目的地は同じである)場合がある。次に、スタジアム近くの適切な駐車場を見つけるサービスを提供するVSMR1804はユーザにより再利用され得るため、異なるユーザが必ずしも実際に同じタイプのSMSを提供する独自のVSMR1804を生成する必要がない。
図29に示すように、VSMR発見手順は以下のステップを含み得る。
図29のステップ2911:特定のSMSに関心があるSMS要求側は、VSMR発見要求をSMSホスト(またはVSMRホスト2302)に送信する。VSMR発見要求は、SMS要求側によって要求されたSMSのタイプに基づくSPARQLクエリを含むvsmrFilterを含み得る。
図29のステップ2912:VSMR発見要求を受信した後、SMSホストは、ローカルセマンティックグラフストアを構築し、ローカルセマンティックグラフストアでRDFトリプルを検索し、SMS要求側によって生成されるVSMR発見要求の要件と一致するVSMRのリストを返し得る。サービス層に中央セマンティックグラフストアがある場合、SMSホストはさらに、VSMR発見要求を中央セマンティックグラフストアにリレーし得る。中央セマンティックグラフストアは、RDFトリプルを検索し、一致したVSMRのURIのリストをSMSホストに返し得る。その結果、SMSホストは一致したVSMRリソースのURIのリストをSMS要求側にリレーする。SMSホストまたは中央グラフストアは、SMS要求側1808が一致したVSMRを発見するための適切な特権を有するか否かを確認するためにアクセス制御を行い得ることに留意されたい。言い換えれば、SMS要求側1808にVSMRを発見する権限が与えられていなければ、たとえVSMRがVSMR発見要求の要件に一致していてもSMSホストはVSMRのURIをSMS要求側1808に送信できない。
図29に示すステップを実行するエンティティは、無線通信もしくはネットワーク通信のための装置または図51Cもしくは図51Dに示されるもののようなコンピュータシステムのメモリに記憶され、そのプロセッサで実行されるソフトウェア(例えば、コンピュータ実行命令)の形態で実装され得る論理的エンティティであり得ることが理解されよう。すなわち、図29に示す方法は、図51Cまたは図51Dに示される装置またはコンピュータシステムのような装置のメモリに記憶されるソフトウェア(例えば、コンピュータ実行命令)の形態で実装され得るが、そのコンピュータ実行命令は、装置のプロセッサによって実行されたときに図29に示すステップを実行する。図29に示す機能は、仮想化ネットワーク機能のセットとして実施され得ることも理解されよう。ネットワーク機能は、必ずしも直接通信しなくてもよく、むしろ、転送または経路指定機能を介して通信し得る。また、図29に示す任意の送信および受信ステップは、装置のプロセッサおよびそれが実行するコンピュータ実行命令(例えばソフトウェア)の制御下で装置の通信回路によって実行され得ることも理解されよう。
仮想セマンティックマッシュアップリソース検索(セマンティックマッシュアップのタスク3)
SMS要求側1808は、以下のステップを適用することによってマッシュアップ結果のコンテンツを検索し得る。
図30のステップ3010:VSMR1804のマッシュアップ結果を検索する前に、SMS要求側1808は、まず対応するVSMR1804を生成または発見し得る。
図30のステップ3011:VSMR1804を生成または発見した後、SMS要求側1808はVSMRリソースのURIを知っているはずである。したがって、SMS要求側1808は、VSMRリソースのURIを含むVSMR検索要求をSMSホストに送信し得る[本質的に、VSMR検索要求とは、VSMR1804のマッシュアップ結果を検索することである。また、SMS要求側1808は、SMRS検索要求を送信して対応するVSMR1804のマッシュアップ結果を検索し得る。]。
図30のステップ3012:SMSホストは、SMS要求側1808がVSMR1804にアクセスするための適切な特権を有するか否かを確認すべきである。SMS要求側1808がVSMR1804にアクセスできない場合、SMSホストはその不許可を示す適切なエラーコードを返し得るが、そうでなければ、ステップ3013に進む。
図30のステップ3013:VSMR1804がマッシュアップ結果を生成するためにさまざまな方法があり得るが、これは、resultGenType(例えば、VSMR1804の1つの属性)によって定義され得る。具体的には、VSMRリソースのresultGenTypeパラメータの値が“When SMS Requestor Requests”である場合、VSMR検索要求を受信すると、VSMR1804はそのマッシュアップメンバの表現を検索し始め得る(例えば、ステップ3013に進む)。そうでなければ、VSMR1804は、現在のマッシュアップ結果を用いて直接応答することができ(例えば、ステップ3017に進む)、これは、VSMRリソースの<smrs>子リソースによって暗示される。resultGenTypeの詳細な説明を表10に示す。
図30のステップ3014:(SMS要求側1808がタイムアウト期間中に応答を受信しないという理由故に)SMS要求側1808がVSMR検索要求を再送信するのを回避するために、マッシュアップ結果を計算するには長い時間がかかる場合があり、SMSホストは、SMSホストがVSMR検索要求を受信してマッシュアップ結果を計算していることを示すために、(VSMR1804のマッシュアップ結果を含めることなく)確認を直ちにSMS要求側1808に送信し得る。
図30のステップ3015:SMSホストは、マッシュアップメンバリソース検索要求を各マッシュアップメンバに送信し得る。各マッシュアップメンバリソース検索要求は、対応するマッシュアップメンバのURIを含み得る。
図30のステップ3016:マッシュアップメンバリソース検索要求を受信した後、リソースホストは対応するメンバリソースの表現を用いてSMSホストに応答し得る。リソースホストはまた、SMSホストがメンバリソースを検索するための適切な特権を有するか否かを確認するためのアクセス制御を実行し得ることに留意されたい(一例では、リソースホストはSMS要求側1808がメンバリソースを検索するための適切な特権を有することも確認し得るが、そうすることによって、SMS要求側の情報(例えば、ID)は、ステップ3015において、メンバリソース検索要求に含まれ得る)。SMSホストがメンバリソースを検索する権限を与えられていない場合(またはSMS要求側1808がメンバリソースを検索する権限を与えられていない場合)、リソースホストはメンバリソースの表現をSMS要求側に送信できず、代わりに、適切なエラーコードを返し得る。
図30のステップ3017:マッシュアップメンバの表現を受信した後、SMSホストはこれらの表現をVSMRリソースに記憶し得る(これらの表現を記憶する満了期限は、オリジナルリソースにおけるこれらの表現の満了期限に基づき得ることに留意されたい)。例えば、findParkingLotの例では、VSMRリソースは、(目的地近くの駐車場として記述される)そのマッシュアップメンバの状態、位置情報および駐車料金情報を取得し得る。したがって、図31に示すように、この情報はVSMRリソース下に記憶され得る(これは、この情報をVSMR1804下に記憶するために使用されなくてもよい、例えば、VSMR1804はオリジナルリソースのURIを単に記憶し、それらの表現を必要に応じて検索し得ることに留意されたい。)。その後、SMSホストはマッシュアップ機能を実行するが、このマッシュアップ機能は、(このVSMR1804によって適用される)対応するSMP1802のfunctionDescriptor属性に記述されている。マッシュアップ機能の出力は、VSMR1804内またはSMRS1806内に記憶され得る。findParkingLotの例では、出力は、最適な駐車場の状態、位置および駐車料金情報であり得る。
図30のステップ3018:SMSホストは、ステップ3011からのVSMR検索要求に応答するために、SMRS1806に記憶されているマッシュアップ結果をSMS要求側1808に送信する。
図30に示すステップを実行するエンティティは、無線通信もしくはネットワーク通信のための装置または図51Cもしくは図51Dに示されるもののようなコンピュータシステムのメモリに記憶され、そのプロセッサで実行されるソフトウェア(例えば、コンピュータ実行命令)の形態で実装され得る論理的エンティティであり得ることが理解されよう。すなわち、図30に示す方法は、図51Cまたは図51Dに示される装置またはコンピュータシステムのような装置のメモリに記憶されるソフトウェア(例えば、コンピュータ実行命令)の形態で実装され得るが、そのコンピュータ実行命令は、装置のプロセッサによって実行されたときに図30に示すステップを実行する。図30に示す機能は、仮想化ネットワーク機能のセットとして実施され得ることも理解されよう。ネットワーク機能は、必ずしも直接通信しなくてもよく、むしろ、転送または経路指定機能を介して通信し得る。また、図30に示す任意の送信および受信ステップは、装置のプロセッサおよびそれが実行するコンピュータ実行命令(例えばソフトウェア)の制御下で装置の通信回路によって実行され得ることも理解されよう。
また、SMS要求側1808は、マッシュアップ結果が更新されるとSMSホストがマッシュアップ結果をSMS要求側1808に自動的に送信するようにVSMRリソースを購読し得る(例えば、resultGenType=“Periodically“である場合、マッシュアップ結果は定期的に計算されるべきであり、SMSホストは、更新されたマッシュアップ結果を、VSMR1804を購読するSMS要求側に送信し得る)。以下のステップが適用され得る。
ステップ3210:VSMR1804を購読する前に、SMS要求側1808は対応するVSMR1804を既に生成または発見している可能性がある。
図32のステップ3211:図32に示すように、SMS要求側1808は、VSMR購読要求をSMSホストに送信する。VSMR購読要求は、SMS要求側1808のURI(例えば、どこに通知が送信されるべきかを意味する購読者のURI)、notificationContentType(通知のコンテンツタイプを示す)、およびeventNotificationCriteria(SMS要求側に通知を送信するSMSホストのためのトリガイベントを示す)を含む。通常、VSMRリソースについては、マッシュアップ結果が更新され、通知メッセージのコンテンツが更新されたマッシュアップ結果(例えば、findParkingLotアプリケーションでは、マッシュアップ結果は、最適な駐車場のURI、状態、位置情報および駐車料金であり得る)になると、SMSホストは通知をSMS要求側1808に送信するようにトリガする。
図32のステップ3212:VSMR購読要求を受信した後、SMSホストは、そのnotificationContentTypeおよびeventNotificationCriteriaに関連するVSMRリソースの購読リストにSMS要求側1808を追加し得る。
図32のステップ3213:SMSホストは、SMS要求側1808が首尾よくVSMRリソースを購読したことを示す応答メッセージをSMS要求側1808に送信し得る。
図32のステップ321:VSMR1804のマッシュアップ結果が更新されると、SMSホストは直ちに通知をSMS要求側に送信し得る。通知メッセージのコンテンツはnotificationContentTypeによって示される。
図32のステップ3215:SMS要求側1808は、SMS要求側1808が首尾よく通知メッセージを受信したことを示す応答メッセージをSMSホストに送信し得る。
図32に示すステップを実行するエンティティは、無線通信もしくはネットワーク通信のための装置または図51Cもしくは図51Dに示されるもののようなコンピュータシステムのメモリに記憶され、そのプロセッサで実行されるソフトウェア(例えば、コンピュータ実行命令)の形態で実装され得る論理的エンティティであり得ることが理解されよう。すなわち、図32に示す方法は、図51Cまたは図51Dに示される装置またはコンピュータシステムのような装置のメモリに記憶されるソフトウェア(例えば、コンピュータ実行命令)の形態で実装され得るが、そのコンピュータ実行命令は、装置のプロセッサによって実行されたときに図32に示すステップを実行する。図32に示す機能は、仮想化ネットワーク機能のセットとして実施され得ることも理解されよう。ネットワーク機能は、必ずしも直接通信しなくてもよく、むしろ、転送または経路指定機能を介して通信し得る。また、図32に示す任意の送信および受信ステップは、装置のプロセッサおよびそれが実行するコンピュータ実行命令(例えばソフトウェア)の制御下で装置の通信回路によって実行され得ることも理解されよう。
(共同仮想セマンティックマッシュアップリソース生成および検索)
前述の通り、SMS要求側1808は、まずVSMR1804を生成し得るが、その後、生成されたVSMRリソースをホストするSMSホストは、生成されたVSMRリソースを将来再利用するために生成されたVSMRリソースのURIをSMS要求側1808に通知する(例えば、SMS要求側1808は、将来的にVSMR検索要求をURIに送信することによってVSMRリソースのコンテンツを検索し得る)。
しかしながら、SMS要求側1808は将来的にVSMRのマッシュアップ結果を検索できないため、VMSRリソースのURIについてSMS要求側1808に通知することが必要ではない状況が存在する。言い換えれば、マッシュアップ結果を取得した後、SMS要求側1808は、もはやVSMR1804の将来のマッシュアップ結果に関心を持たない場合がある。したがって、生成されたVSMR1804のURIをSMS要求側に送信する代わりに、SMSホストは、VSMR1804を生成した後にマッシュアップ結果を直ちに計算し、マッシュアップ結果をSMS要求側に送信し得る。これは、共同仮想セマンティックマッシュアップリソース生成および検索と呼ばれる。
SMS要求側1808は、以下のステップを適用して、VSMR1804を共同で生成し、生成されたVSMR1804のマッシュアップ結果を検索し得る。
図33のステップ3310:新たなVSMRリソースを共同で生成および検索する前に、SMS要求側1808は、SMSホストから対応するSMPリソースを既に発見している可能性がある。
図33のステップ3311:共同VSMR生成および検索手順は、(VSMR生成手順においてVSMR生成要求を送信するのではなく)SMS要求側1808がセマンティッククエリ要求を送信することによってトリガされる。セマンティッククエリは、smpIDおよびsmpInputParaの値を含み得る。例えば、findSuitablePakingLotingアプリケーションでは、セマンティッククエリ要求は、”find the SuitableParkingLot for me where my destination is [-73.985833°,40.748417°]”と表現され得るが、青色で強調されている情報(SuitableParkingLot)は、smpIDの値を含み、オレンジ色で強調されている情報([-73.985833°,40.748417°]”)は、smpInputParaの値を含む。共同VSMR生成および検索法が適用される場合、resultGenTypeの値は、デフォルトで“When VSMR Is Created”に設定される(resultGenTypeの詳細な説明は、表10に示される)のであり、例えば、VSMR1804のマッシュアップ結果は、VSMR1804がSMSホストで生成されたときに計算され得ることに留意されたい。
図33のステップ3312:セマンティッククエリ要求を受信した後、SMSホストは、セマンティッククエリ要求のsmpID値によって特定される対応するSMPリソースを適用することによって、まずVSMR1804を生成し得る。SMSホストがVSMR1804を生成する手順は、図28で説明したステップ2812~2819に続く。
図33のステップ3313:首尾よくリソースを生成した後、SMSホストは、図30のステップ3014~3016を実行することによって、VSMRリソースにマッシュアップ結果を生成するように直ちにトリガし得る。
図33のステップ3314:VSMR1804において首尾よくマッシュアップ結果を生成した後、SMSホストは、ステップ3311においてセマンティッククエリに応答するためにマッシュアップ結果をSMS要求側1808に送信し得る。次いで、SMSホストは、生成されたVSMRリソースを消去し得る。
図33に示すステップを実行するエンティティは、無線通信もしくはネットワーク通信のための装置または図51Cもしくは図51Dに示されるもののようなコンピュータシステムのメモリに記憶され、そのプロセッサで実行されるソフトウェア(例えば、コンピュータ実行命令)の形態で実装され得る論理的エンティティであり得ることが理解されよう。すなわち、図33に示す方法は、図51Cまたは図51Dに示される装置またはコンピュータシステムのような装置のメモリに記憶されるソフトウェア(例えば、コンピュータ実行命令)の形態で実装され得るが、そのコンピュータ実行命令は、装置のプロセッサによって実行されたときに図33に示すステップを実行する。図33に示す機能は、仮想化ネットワーク機能のセットとして実施され得ることも理解されよう。ネットワーク機能は、必ずしも直接通信しなくてもよく、むしろ、転送または経路指定機能を介して通信し得る。また、図33に示す任意の送信および受信ステップは、装置のプロセッサおよびそれが実行するコンピュータ実行命令(例えばソフトウェア)の制御下で装置の通信回路によって実行され得ることも理解されよう。
(仮想セマンティックマッシュアップリソース維持(セマンティックマッシュアップのタスク4))
VSMR1804維持は、1)VSMRリソースのマッシュアップメンバとなる新たな適格リソースを追加すること、2)VSMRリソースの削除されたもしくは適格でないマッシュアップメンバを消去すること、または3)VSMRリソースのマッシュアップメンバの表現を更新することを含み得る。VMSRリソース維持は、SMSホストまたはリソースホストによって初期化され得る。
SMSホストによるオリジナルリソースの変更確認を以下に開示する。SMSホストは、以下のステップを適用することによってVSMRリソース維持を開始し得る。
図34のステップ3410:SMSホスト1810がVSMRリソース維持を開始する前に、VSMR1804はSMSホスト1810内に既に作成されている可能性がある。VSMR1804のマッシュアップメンバの1つがリソースホスト1 3402内のオリジナルリソース(例えばrsc1)であると仮定する。
図34のステップ3411:SMSホストは、リソース検索要求をそのマッシュアップメンバに送信することによって、オリジナルリソースの変更を確認し得る(例えば、VSMR維持を実行する)。図34に示すように、SMSホストは、VSMRのマッシュアップメンバの1つ、例えばリソースホスト1 3402によってホストされるrsc1にリソース検索要求を送信する。
図34のステップ3412:リソース検索要求を受信した後、リソースホスト1は対応する応答をSMSホスト1810に送信し得る。
図34のステップ3413(a):ステップ3412の応答メッセージが単にrsc1の表現を含み、rsc1が依然としてVSMR1804のマッシュアップメンバに該当する(例えば、rsc1は、(VSMR1804によって適用されるSMPの1つの属性である)memberFilterに記述される基準を満たす)場合、SMSホスト1810は、rsc1の表現に基づいてマッシュアップメンバの表現を更新し、ステップ3414に進み得る。
図34のステップ3413(b):ステップ3412の応答メッセージが、rsc1が存在しない(例えば、“findSuitableParkingLot”アプリケーションで道路工事中にいくつかの路上駐車メータが取り除かれている場合がある)ことを示すか、またはSMSホスト1810が、rsc1がもはやVSMRリソースのマッシュアップメンバに該当しないと知った場合、rsc1はVSMRリソースのマッシュアップメンバから消去され得る。あるいは、SMSホスト1810は、セマンティック発見を送信することによって、新たなリソースがVSMR1804のマッシュアップメンバになることを確認し得る(VSMRリソースの新たなマッシュアップメンバを見つける手順は、図28のステップ2815~2817に適用され得ることに留意されたい)。新たなリソース(VSMRリソースのマッシュアップメンバに該当する)を見つけることができた場合、これらの新たなリソースを追加してVSMR1804のマッシュアップメンバにすることができ、SMSホスト1810はこれらの新たなリソースの表現を検索し得る。
図34のステップ3414:VSMR1804リソースのマッシュアップメンバおよびそれらの対応する表現を更新した後、SMSホスト1810は、resultGenTypeの値が“When A Mashup Member Is Updated”である場合、そのマッシュアップメンバにVSMR1804の(適用されたSMPリソースのfunctionDescriptor属性に記述される)マッシュアップ機能を実行することによってマッシュアップ結果を再計算し得る(例えば、SMSホスト1810は、何らかの更新がVSMR1804のマッシュアップメンバに対して行われたときにマッシュアップ結果を再計算し得る)。そうでない場合(例えば、resultGenTypeの値が“When A Mashup Member Is Updated”ではない)、SMSホスト1810はマッシュアップ結果を再計算しなくてもよい。
図34のステップ3415:マッシュアップ結果を更新した後、SMSホストは、マッシュアップ結果をSMRS1806に記憶し、保留中の検索要求に基づいて、またはコンテンツ(例えば、VSMR1804のマッシュアップ結果)の購読により、それらをSMS要求側1808に送信し得る。
図34に示すステップを実行するエンティティは、無線通信もしくはネットワーク通信のための装置または図51Cもしくは図51Dに示されるもののようなコンピュータシステムのメモリに記憶され、そのプロセッサで実行されるソフトウェア(例えば、コンピュータ実行命令)の形態で実装され得る論理的エンティティであり得ることが理解されよう。すなわち、図34に示す方法は、図51Cまたは図51Dに示される装置またはコンピュータシステムのような装置のメモリに記憶されるソフトウェア(例えば、コンピュータ実行命令)の形態で実装され得るが、そのコンピュータ実行命令は、装置のプロセッサによって実行されたときに図34に示すステップを実行する。図34に示す機能は、仮想化ネットワーク機能のセットとして実施され得ることも理解されよう。ネットワーク機能は、必ずしも直接通信しなくてもよく、むしろ、転送または経路指定機能を介して通信し得る。また、図34に示す任意の送信および受信ステップは、装置のプロセッサおよびそれが実行するコンピュータ実行命令(例えばソフトウェア)の制御下で装置の通信回路によって実行され得ることも理解されよう。
リソースホストによるオリジナルリソースの変更報告を以下に開示する。リソースホスト2804はまた、オリジナルリソースへの変更を先回りして報告することによってVSMR維持を開始し得る。リソースホストがオリジナルリソースに対する何らかの変更を先回りして報告する前に、SMSホスト1810(またはVSMRホスト2302)は、対応するVSMRリソースのマッシュアップメンバであるこれらのオリジナルリソースをまず購読し得る。次のステップが適用される。
図35のステップ3510:VMSRのマッシュアップメンバを購読する前に、SMSホストは既にVSMRリソースを生成している可能性がある。rsc1(リソースホスト1によってホストされているリソースである)はVSMRリソースの1つのマッシュアップメンバであると仮定し、図35は、rsc1を購読しているSMSホストのための手順を示す。他のオリジナルリソースを購読しているSMSホスト1810は、rsc1を購読しているSMSホスト1810と同じステップを実行し得ることに留意されたい。
図35のステップ3511:SMSホスト1810は、rsc1を購読するために、リソース購読要求をリソースホスト1に送信し得る。リソース購読要求は、notificationContentType、eventNotificationCriteriaおよびmashupMemURIを含み得る。notificationContentTypeは、通知メッセージ内のコンテンツタイプを意味する。eventNotificationCriteriaは、リソースホスト1 3402が通知をSMSホスト1810に送信するためのトリガイベントを示す。通常、rsc1に対して行われたいかなる変更も、リソースホスト1による通知の送信をトリガし得る。mashupMemURIは、VSMRのマッシュアップメンバのURIを示し、これは通知がどこに送信されるべきかを識別する。
図35のステップ3512:リソース購読要求を受信した後、リソースホスト1は、そのnotificationContentTypeおよびeventNotificationCriteriaに関連するrsc1の購読リストにmashupMemURIを追加し得る。
図35のステップ3513:リソースホスト1 3402は、SMSホストがリソースホスト1のrsc1を首尾よく購読したことを示す応答メッセージをSMSホストに送信し得る。
図35のステップ3514:SMSホスト1810がrsc1を購読した後、rsc1の表現に対して何らかの更新が行われると、リソースホスト1 3402は、リソース購読要求のmashupMemURIによって識別されるURIに通知を送信し得る。
図35のステップ3515:通知を受信した後、SMSホスト1810は対応するマッシュアップメンバの表現を変更し得る。
図35のステップ3516:首尾よく通知を受信した後、SMSホスト1810は、通知が首尾よく受信されたことを示すために、応答をリソースホスト1 3402に送信し得る。
図35に示すステップを実行するエンティティは、無線通信もしくはネットワーク通信のための装置または図51Cもしくは図51Dに示されるもののようなコンピュータシステムのメモリに記憶され、そのプロセッサで実行されるソフトウェア(例えば、コンピュータ実行命令)の形態で実装され得る論理的エンティティであり得ることが理解されよう。すなわち、図35に示す方法は、図51Cまたは図51Dに示される装置またはコンピュータシステムのような装置のメモリに記憶されるソフトウェア(例えば、コンピュータ実行命令)の形態で実装され得るが、そのコンピュータ実行命令は、装置のプロセッサによって実行されたときに図35に示すステップを実行する。図35に示す機能は、仮想化ネットワーク機能のセットとして実施され得ることも理解されよう。ネットワーク機能は、必ずしも直接通信しなくてもよく、むしろ、転送または経路指定機能を介して通信し得る。また、図35に示す任意の送信および受信ステップは、装置のプロセッサおよびそれが実行するコンピュータ実行命令(例えばソフトウェア)の制御下で装置の通信回路によって実行され得ることも理解されよう。
ステップ3515でrsc1の表現が変更された後、rsc1はVSMR1804の適格マッシュアップメンバではない可能性があることに留意されたい。したがって、VSMR1804は、そのマッシュアップメンバからrsc1を消去し、購読削除要求をリソースホスト1に送信し得る。VSMRのマッシュアップメンバからrsc1を消去した後、VSMR1804は、図34のステップ3413(b)およびステップ3414を実行することによって、そのマッシュアップメンバとなる新たな適格オリジナルリソースの検索をトリガし得る。
リソースホストによるオリジナルリソースの消去報告を以下に開示する。(VSMR1804のマッシュアップメンバである)いくつかのオリジナルリソースは、それらのオリジナルリソースの生成側または他のサービス層エンティティによってリソースホストから消去され得る。次いで、リソースホストは、通知を送信し、対応するオリジナルリソースの消去についてVSMR1804に通知し得る。リソースホストがオリジナルリソースの消去を報告するステップは、次のように示され得る。
図36のステップ3610:SMSホスト1810が既にVSMRリソースを作成し、rsc1(リソースホスト1によってホストされるリソースである)がVSMRリソースの1つのマッシュアップメンバであると仮定する一方、SMSホスト1810は既にrsc1を購読しており、例えば、rsc1に何らかの変更が行われていれば、リソースホストは通知をSMSホストに送信し得る。
図36のステップ3611:図36に示すように、rsc1がリソースホスト1から消去された場合、リソースホスト1は通知メッセージをSMSホスト1810に送信し、rsc1が消去されたことをVSMR1804に通知し得る。
図36のステップ3612:首尾よく通知メッセージを受信した後、SMSホストは、通知メッセージが受信されたことを確認するために応答メッセージを送信し得る。
図36のステップ3613:SMSホスト1810は、VSMR1804の、rsc1に関連付けられた対応するマッシュアップメンバを削除し得る。
図36のステップ3614:SMSホスト1810は、VSMR1804のマッシュアップメンバになり得る新たなリソースを見つけるためにトリガし得る。VSMRリソースの新たなマッシュアップメンバを見つけるための手順は、図28のステップ2816~2818を適用し得る。(VSMRリソースのマッシュアップメンバに該当する)新たなリソースが見つかった場合、これらの新たなリソースを追加してVSMRリソースのマッシュアップメンバにすることができ、SMSホスト1810はさらにこれらの新たなリソースの表現を検索し得る。
図36のステップ3615:VSMRリソースのマッシュアップメンバを更新した後、SMSホスト1810は、resultGenTypeの値が“When A Mashup Member Is Updated”である場合、そのマッシュアップメンバにVSMR1804の(適用されたSMPリソースのfunctionDescriptor属性に記述される)マッシュアップ機能を実行することによってマッシュアップ結果を更新または再計算し得る(例えば、SMSホスト1810は、更新がVSMR1804のマッシュアップメンバに対して行われたときにマッシュアップ結果を再計算し得る)。そうでない場合(例えば、resultGenTypeの値が“When A Mashup Member Is Updated”ではない)、SMSホスト1810はマッシュアップ結果を再計算しなくてもよい。
図36のステップ3616:マッシュアップ結果を更新した後、SMSホスト1810は、マッシュアップ結果をSMRS1806に記憶し、それらをSMS要求側1808に送信し得る。SMS要求側1808は、VSMRリソースのコンテンツを検索するかまたはVSMR1804のコンテンツ(例えば、マッシュアップ結果)を購読することを要求する。
図36に示すステップを実行するエンティティは、無線通信もしくはネットワーク通信のための装置または図51Cもしくは図51Dに示されるもののようなコンピュータシステムのメモリに記憶され、そのプロセッサで実行されるソフトウェア(例えば、コンピュータ実行命令)の形態で実装され得る論理的エンティティであり得ることが理解されよう。すなわち、図36に示す方法は、図51Cまたは図51Dに示される装置またはコンピュータシステムのような装置のメモリに記憶されるソフトウェア(例えば、コンピュータ実行命令)の形態で実装され得るが、そのコンピュータ実行命令は、装置のプロセッサによって実行されたときに図36に示すステップを実行する。図36に示す機能は、仮想化ネットワーク機能のセットとして実施され得ることも理解されよう。ネットワーク機能は、必ずしも直接通信しなくてもよく、むしろ、転送または経路指定機能を介して通信し得る。また、図36に示す任意の送信および受信ステップは、装置のプロセッサおよびそれが実行するコンピュータ実行命令(例えばソフトウェア)の制御下で装置の通信回路によって実行され得ることも理解されよう。
リソースホストによる新たなオリジナルリソースの報告
新たなオリジナルリソースがリソースホストに追加され得るが、これらの新たなオリジナルリソースは、VMSRのマッシュアップメンバに該当し得る。したがって、リソースホストは、新たなオリジナルリソースがそのマッシュアップメンバになり得るかどうかをVMSRに通知し得る。具体的には、以下となる。
図37のステップ3710:SMSホスト1810が既にVSMR1804を生成しており、rsc1(リソースホスト1 3402によってホストされるリソースである)がVSMR1804の1つのマッシュアップメンバであると仮定する一方、SMSホストのVSMR1804は既にリソースホスト1 3402を購読している。購読要求は、VSMR1804のURI(例えば、購読者のURI)、notificationContentTypeおよびeventNotificationCriteriaを含む。notificationContentTypeパラメータは、通知メッセージ内のコンテンツタイプを意味する。eventNotificationCriteriaパラメータは、いずれかのホストリソースがVSMRのマッシュアップメンバに該当すると、リソースホスト1 3402が通知を送信し得ることを示す。eventNotificationCriteriaパラメータは、ホストリソースがVSMRのマッシュアップメンバに該当するか否かを判断するための情報を含み得る。この情報は、セマンティック発見のsemanticFilterと同じであり得る。
図37のステップ3711:新たなオリジナルリソース、例えばrsc2がリソースホスト1 3402に追加され、rsc2がVSMRのマッシュアップメンバに該当すると仮定する。
図37のステップ3712:リソースホスト1 3402は、(通知とみなされる)VSMRマッシュアップメンバ共同要求をSMSホストに送信し得る。VSMRマッシュアップメンバ共同要求は、VSMRのURI、rsc2のURIおよびrsc2の対応する表現を含み得る。
図37のステップ3713:VMSRは、新たなオリジナルリソースがマッシュアップメンバに該当しているか否か、例えば、VMSRは、新たなオリジナルリソースが(VSMR1804によって適用される対応するSMP1802の1つの属性である)memberFilterに記述された基準を満たすか否かを確認し得る。
図37のステップ3714(a):rsc2がVSMRマッシュアップメンバに該当していない場合、SMSホストは応答を送信し、rsc2の不適格を示し得る。
図37のステップ3714(b):rsc2がVSMRマッシュアップメンバに該当する場合、SMSホストはrsc2をVSMRリソースのマッシュアップメンバに追加し得るとともに、SMSホストは応答を送信してrsc2が適格であることを示し得る。
図37のステップ3715:VSMR1804は、図35のステップ3511~ステップ3513を適用することによって、rsc2を購読し、rsc2の表現への変更に関する自動通知を得ることができる。
図37のステップ3716:SMSホストは、resultGenTypeの値が“When A Mashup Member Is Updated”である場合、そのマッシュアップメンバにVSMR1804のマッシュアップ機能を実行することによってマッシュアップ結果を再計算し得る(例えば、SMSホストは、更新がVSMR1804のマッシュアップメンバに対して行われたときにマッシュアップ結果を再計算し得る)。そうでない場合(例えば、resultGenTypeの値が“When A Mashup Member Is Updated”ではない)、SMSホストはマッシュアップ結果を再計算しなくてもよい。
図37のステップ3717:マッシュアップ結果を更新した後、SMSホストは、マッシュアップ結果をSMRS1806に記憶し、それらをSMS要求側1808に送信し得る。SMS要求側1808は、VSMRリソースのコンテンツを検索するかまたはVSMR1804のコンテンツ(例えば、マッシュアップ結果)を購読することを要求する。
図37に示すステップを実行するエンティティは、無線通信もしくはネットワーク通信のための装置または図51Cもしくは図51Dに示されるもののようなコンピュータシステムのメモリに記憶され、そのプロセッサで実行されるソフトウェア(例えば、コンピュータ実行命令)の形態で実装され得る論理的エンティティであり得ることが理解されよう。すなわち、図37に示す方法は、図51Cまたは図51Dに示される装置またはコンピュータシステムのような装置のメモリに記憶されるソフトウェア(例えば、コンピュータ実行命令)の形態で実装され得るが、そのコンピュータ実行命令は、装置のプロセッサによって実行されたときに図37に示すステップを実行する。図37に示す機能は、仮想化ネットワーク機能のセットとして実施され得ることも理解されよう。ネットワーク機能は、必ずしも直接通信しなくてもよく、むしろ、転送または経路指定機能を介して通信し得る。また、図37に示す任意の送信および受信ステップは、装置のプロセッサおよびそれが実行するコンピュータ実行命令(例えばソフトウェア)の制御下で装置の通信回路によって実行され得ることも理解されよう。
このセクションでは、リソースホストがそれらのオリジナルリソースに対する変更を報告するときのVSMR維持のための全体的な手順が提供される。
図38のステップ3810:VSMR1804がSMS要求側1808によって既に生成されており、rsc1およびrsc2が現在VSMR1804のマッシュアップメンバであると仮定する。rsc1およびrsc2は、それぞれリソースホスト1 3402およびリソースホスト2 3802によってホストされ得ることに留意されたい。VSMR1804は周期的にマッシュアップ結果を生成する、例えば、resultGenType=“Periodically”であると仮定する。
図38のステップ3811~3814:前述の通り、リソースホスト2804がそれらのオリジナルリソースに対する変更を報告することを可能にするために、SMSホストはVSMR1804のオリジナルリソースを購読し得る。したがって、図38に示すように、(VSMR1804をホストする)SMSホストは、リソースホスト1 3402およびリソースホスト2 3802が(rsc1およびrsc2に対して行われる)変更をSMSホストに報告することを可能にするために、VSMR購読要求をリソースホスト1 3402およびリソースホスト2 3802それぞれに送信し得る。その結果、リソースホスト1 3402およびリソースホスト2 3802は、VSMR購読要求に応答し、SMSホストが対応するオリジナルリソースを首尾よく購読したかどうかを知らせ得る。
図38のステップ3815~3816:rsc1のある表現が変更された場合、リソースホスト1 3402は通知をSMSホストにおいてVSMR1804の対応するマッシュアップメンバに送信し得る。
図38のステップ3817~3818:SMSホストが通知を受信すると、SMSホストは、ステップ3816において、受信した通知のコンテンツに基づいて対応するマッシュアップメンバの表現を更新し得る。次に、SMSホストは、通知を首尾よく受信したことを示すメッセージをリソースホスト1 3402に送信し得る。resultGenType=“When A Mashup Member Is Updated”である場合、SMSホストはマッシュアップ結果を再生成し始め得る。
図38のステップ3819~3820:rsc2がリソースホスト2 3802から消去された場合、リソースホスト2 3802は、通知をSMSホストにおいてVSMR1804の対応するマッシュアップメンバに送信し得る。
ステップ3821~3822:SMSホストが通知を受信すると、VSMR1804はrsc2に関連付けられているマッシュアップメンバを消去し得る。次に、SMSホストは、通知を首尾よく受信したことを示すメッセージをリソースホスト2 3802に送信し得る。
図38のステップ3823:通常、マッシュアップメンバを削除すると、SMSホストがトリガされ、VSMR1804のマッシュアップメンバとなる新たな適格オリジナルリソースを発見するが、このプロセスはVSMR維持を実施するために使用することはできない。セマンティック発見を行った後に、リソースホスト3 3804のrsc3が、適格オリジナルリソースであることが判明したと仮定する。次に、VSMR1804は、そのマッシュアップメンバとなるrsc3を追加する。
図38のステップ3824~3825:SMSホストは、マッシュアップメンバリソース要求をリソースホスト3 3804に送信することによって、rsc3の表現を検索し得る。リソースホスト3 3804は、rsc3の表現をSMSホストに応答し得る。
図38のステップ3826:SMSホストが応答メッセージを受信した後、VSMR1804は、rsc3に関連付けられているリソースメンバの表現を更新し得る。resultGenType=“When A Mashup Member Is Updated”である場合、SMSホストはVSMR1804のマッシュアップ結果を再生成し始め得る。
図38のステップ3827~3828:リソースホスト3 3804がrsc3に対する変更を報告することを可能にするために、SMSホストは、VSMR購読要求をリソースホスト3 3804に送信することによってrsc3を購読し得る。その結果、リソースホスト3 3804は、VSMR購読要求に応答し、SMSホストがrsc3を首尾よく購読したかどうかを知らせ得る。
図38のステップ3829:(最後の期間の終了時からの累積経過時間をカウントする)タイマが(VSMR1804のperiodForResultGen属性によって特定される)期間の長さに達すると、VSMR1804は、マッシュアップメンバに対してマッシュアップ機能を実行することによって直ちにマッシュアップ結果を生成し得る。タイマは各期間の終了時にリセットされ得ることに留意されたい。
図38のステップ3830:マッシュアップ結果を更新した後、SMSホストは、マッシュアップ結果をSMRS1806に記憶し、それらをSMS要求側1808に送信し得る。SMS要求側1808は、VSMRリソースのコンテンツを検索することを要求する。いくつかのSMS要求側1808が以前にVSMR1804を購読している場合、SMSホストは直ちに通知をそれらのSMS要求側1808に送信し得ることに留意されたい。
図38に示すステップを実行するエンティティは、無線通信もしくはネットワーク通信のための装置または図51Cもしくは図51Dに示されるもののようなコンピュータシステムのメモリに記憶され、そのプロセッサで実行されるソフトウェア(例えば、コンピュータ実行命令)の形態で実装され得る論理的エンティティであり得ることが理解されよう。すなわち、図38に示す方法は、図51Cまたは図51Dに示される装置またはコンピュータシステムのような装置のメモリに記憶されるソフトウェア(例えば、コンピュータ実行命令)の形態で実装され得るが、そのコンピュータ実行命令は、装置のプロセッサによって実行されたときに図38に示すステップを実行する。図38に示す機能は、仮想化ネットワーク機能のセットとして実施され得ることも理解されよう。ネットワーク機能は、必ずしも直接通信しなくてもよく、むしろ、転送または経路指定機能を介して通信し得る。また、図38に示す任意の送信および受信ステップは、装置のプロセッサおよびそれが実行するコンピュータ実行命令(例えばソフトウェア)の制御下で装置の通信回路によって実行され得ることも理解されよう。
oneM2Mを以下でより詳細に説明する。このセクションでは、oneM2M機能アーキテクチャ下でSMSをサポートするための、いくつかのアーキテクチャ構成、新たなoneM2Mリソースおよび新たな共通属性、ならびに新たなoneM2M手順を説明する。
第1に、oneM2M機能アーキテクチャ下でセマンティックマッシュアップサービスをサポートするためのアーキテクチャ構成が例示される。
第2に、リソースおよび属性を説明する。新たなリソース各々を操作するためのRESTfulな手順も説明する。SMP1802をモデル化し、それらに対する操作(例えば、SMPの生成、SMPの検索、SMPの更新およびSMPの削除)を可能にするために、新たな<smp>リソースについて説明する。VSMRをモデル化し、それらに対する操作(例えば、VSMRの生成、VSMRの検索、VSMRの更新およびVSMRの削除)を可能にするために、<vsmr>リソースについて説明する。SMRS1806をモデル化し、それらに対する操作(例えば、SMRSの生成、SMRSの検索、SMRSの更新およびSMRSの削除)を可能にするために、<smrs>リソースについて説明する。parentVSMRは、それらがメンバリソースとして<vsmr>によって使用される場合、それらを<vsmr>と関連付けるために既存のoneM2Mリソースのための属性(例えば、「共通」属性)として記述される。smpIDは、既存のoneM2Mリソースの属性として記述され、それらが<smp>下でセマンティックマッシュアップサービスのためのメンバリソースとして使用されることを示す。
第3に、oneM2M機能アーキテクチャ下にセマンティックマッシュアップサービスを実装するための全体的な手順例について説明する。
oneM2MアーキテクチャにおけるSMS構成を以下に開示する。上記セクションでは、SMP1802、VSMR1804およびSMRS1806(これらは一緒にSMSを提供する)のモジュール設計によってセマンティックマッシュアップがどのように行われるかについて説明する。このようなSMSは、新たなCSF(例えば、SMS CSF)として、oneM2M機能アーキテクチャ下に実装され得る。このSMS CSFは、(例えば、図39において)CSEに配置され得る。SMS CSFは、SMPホスト1810、VSMRホスト2302、SMRSホスト2304、または3つの組み合わせ(例えば、SMSホスト)の機能の実現であり得る。
図39は、SMS CSFがIN-CSEに位置している実施例を示す(SMS CSFもASN-CSEまたはMN-CSEによってホストされ得ることに留意されたい)。SMS CSFは、親VSMRを生成し、マッシュアップ結果を計算するためのマッシュアップメンバとして、ASN-CSE1ならびにMN-CSE2 4608およびMN-CSE3のオリジナルリソース、場合によってはサードパーティのサービスまたは他のサービス層を活用する。IN-AE1およびIN-AE2は、SMS CSFを活用してVSMRを生成するため、マッシュアップ結果の計算をトリガするため、またはマッシュアップ結果にアクセスするために、IN-CSEとインタフェースをとるSMS要求側1808であり得る。
図39に示す機能は、後述の図51Cまたは図51Dに示されるもののうちの1つのような無線デバイスまたはその他装置(例えば、サーバ、ゲートウェイ、デバイスまたは他のコンピュータシステム)のメモリに記憶され、そのプロセッサで実行されるソフトウェア(例えば、コンピュータ実行命令)の形態で実装され得ることが理解されよう。図39に示す機能は、仮想化ネットワーク機能のセットとして実施され得ることも理解されよう。ネットワーク機能は、必ずしも直接通信しなくてもよく、むしろ、転送または経路指定機能を介して通信し得る。IN-CSEは、そのローカルリソース、他のMN-CSEおよびASN-CSEからのリソース、サードパーティからのサービス、またはさらにはOIC等の他のサービス層からのサービスに基づいてSMSを提供し得る。SMS要求側としてのIN-AEは、IN-CSEからのSMSを使用し得る。MN-CSEおよびASN-CSEはリソースホストであり得る。IN-CSEは、SMSホストおよびリソースホストの両方として機能する。
セマンティックマッシュアッププロファイルリソース<smp>リソースは、セマンティックマッシュアッププロファイルをモデル化し表現するように記述される。<smp>リソースは、セマンティックマッシュアップサービスを提供するoneM2M CSEに提供され得る。あるいは、特別な管理アプリケーションまたはCSEがoneM2M CSEで<smp>リソースを生成するように要求し得る。<smp>リソースがoneM2M CSE(例えばSMSホスト)で提供または生成されると、SMS要求側1808として機能する他のoneM2M CSEまたはAEが<smp>リソースを発見および検索し得る。
<smp>リソースは、表3で指定された子リソースおよび表4で指定された属性を含み得る。<smp>リソースの構造も図40に示す。本明細書では、いくつかのセマンティックマッシュアッププロファイルは必要ではない場合があり、したがって表3および表4の特定の態様、例えばinpuDescriptorを使用しない場合があると考えられる。
図41は、受信側4102および発信側4104を用いて<smp>リソースを操作する(例えば、<smp>リソースの生成、検索、更新または削除)例示的な手順を示す。
図41に示すステップを実行するエンティティは、無線通信もしくはネットワーク通信のための装置または図51Cもしくは図51Dに示されるもののようなコンピュータシステムのメモリに記憶され、そのプロセッサで実行されるソフトウェア(例えば、コンピュータ実行命令)の形態で実装され得る論理的エンティティであり得ることが理解されよう。すなわち、図41に示す方法は、図51Cまたは図51Dに示される装置またはコンピュータシステムのような装置のメモリに記憶されるソフトウェア(例えば、コンピュータ実行命令)の形態で実装され得るが、そのコンピュータ実行命令は、装置のプロセッサによって実行されたときに図41に示すステップを実行する。図41に示す機能は、仮想化ネットワーク機能のセットとして実施され得ることも理解されよう。ネットワーク機能は、必ずしも直接通信しなくてもよく、むしろ、転送または経路指定機能を介して通信し得る。また、図41に示す任意の送信および受信ステップは、装置のプロセッサおよびそれが実行するコンピュータ実行命令(例えばソフトウェア)の制御下で装置の通信回路によって実行され得ることも理解されよう。
図41では、ステップ4111において、発信側4104は発信側で何らかの処理を行う。これは、oneM2M-TS-0001 oneM2M Functional Architecture-V2.9.0の第10.1.1.1節(以下10.1.1.1)等に従うことができる。ステップ4112では、発信側4104は要求メッセージを受信側4102に送信し得る。要求メッセージは、<smp>に対する生成メッセージ、検索メッセージ、更新メッセージまたは削除メッセージであり得る。ステップ4113では、ステップ4112のメッセージを処理する。ステップ4114では、ステップ4113の処理に基づく。これらのステップは、表5~表8でさらに説明する。<smp>を生成する手順は、表5に記載されるように<smp>リソースを生成するために用いられ得る。
<smp>を検索する手順は、表6に記載されるように<smp>リソースの属性を検索するために用いられ得る。
表7に記載されている<smp>を更新する手順を用いて、既存の<smp>を更新し得る、例えば、そのinputDescriptorへの更新を行う。一般的な更新手順は、oneM2M-TS-0001 oneM2M Functional Architecture-V2.9.0の第10.1.3節に記載されている。
表8に記載されている<smp>を削除する手順を用いて、既存の<smp>を削除し得る。一般的な削除手順は、oneM2M-TS-0001 oneM2M Functional Architecture-V2.9.0の第10.1.4.1節に記載されている。
仮想セマンティックマッシュアップリソース<vsmr>リソースを用いて、仮想セマンティックマッシュアップリソースをモデル化し表現し得る。SMS要求側1808としてのoneM2M CSEまたはAEは、SMS CSFを実装し、SMSホストまたはVSMRホスト2302として機能する別のoneM2M CSEで<vsmr>リソースを生成するように要求し得る。生成された各<vsmr>リソースはセマンティックマッシュアッププロファイル(例えば<smp>リソース)に対応し得る。マッシュアップ結果を計算するために<vsmr>リソースがどのようにマッシュアップ操作を実行すべきかは、対応する<smp>リソースで指定され得る。<vmsr>およびその対応する<smp>リソースは、同じCSEまたは異なるoneM2M CSEに配置され得るが、<vsmr>のsmpID属性により、対応する<smp>リソースを位置づけることができることに留意されたい。<vsmr>リソース(例えばマッシュアップ結果)がその子リソースとして<smrs>を有する場合、マッシュアップ結果を検索するためにSMS要求側1808(例えばoneM2M CSEまたはAE)またはさらにはSMSホストが<vsmr>リソースに来ることができる。
<vsmr>リソースは、表9で指定された子リソースおよび表10で指定された属性を含み得る。<vsmr>リソースの構造も図42に示す。
図43は、<vsmr>リソースを操作する(例えば、<vsmr>リソースの生成、検索、更新または削除)例示的な手順を示す。
図43に示すステップを実行するエンティティは、無線通信もしくはネットワーク通信のための装置または図51Cもしくは図51Dに示されるもののようなコンピュータシステムのメモリに記憶され、そのプロセッサで実行されるソフトウェア(例えば、コンピュータ実行命令)の形態で実装され得る論理的エンティティであり得ることが理解されよう。すなわち、図43に示す方法は、図51Cまたは図51Dに示される装置またはコンピュータシステムのような装置のメモリに記憶されるソフトウェア(例えば、コンピュータ実行命令)の形態で実装され得るが、そのコンピュータ実行命令は、装置のプロセッサによって実行されたときに図43に示すステップを実行する。図43に示す機能は、仮想化ネットワーク機能のセットとして実施され得ることも理解されよう。ネットワーク機能は、必ずしも直接通信しなくてもよく、むしろ、転送または経路指定機能を介して通信し得る。また、図43に示す任意の送信および受信ステップは、装置のプロセッサおよびそれが実行するコンピュータ実行命令(例えばソフトウェア)の制御下で装置の通信回路によって実行され得ることも理解されよう。
図43では、ステップ4311において、発信側4104は発信側で何らかの処理を行う。これは、oneM2M-TS-0001 oneM2M Functional Architecture-V2.9.0の第10.1.1.1節(以下10.1.1.1)等に従うことができる。ステップ4312では、発信側4104は要求メッセージを受信側4102に送信し得る。要求メッセージは、<smp>に対する生成メッセージ、検索メッセージ、更新メッセージまたは削除メッセージであり得る。ステップ4313では、ステップ4312のメッセージを処理する。ステップ4314では、ステップ4313の処理に基づく。これらのステップは、表11~表15でさらに説明する。<vsmr>を生成する手順は、表11に記載されるように<vsmr>リソースを生成するために用いられ得る。
<vsmr>を検索する手順は、表12に記載されるように<vsmr>リソースの属性を検索するために用いられ得る。
<vsmr>/mashupを検索する手順は、表13に記載されるように、<vsmr>をホストするCSEをトリガしてマッシュアップ結果を再計算し、マッシュアップ結果をこの検索要求の要求側1808(例えば、AE)に返すために用いられ得る。
表14に記載されている<vsmr>を更新する手順を用いて、既存の<vsmr>を更新し得る、例えば、そのmemberStoreTypeへの更新を行う。一般的な更新手順は、oneM2M-TS-0001 oneM2M Functional Architecture-V2.9.0の第10.1.3節に記載され得る。
表15に記載されている<vsmr>を削除する手順を用いて、既存の<vsmr>を削除し得る。一般的な削除手順は、oneM2M-TS-0001 oneM2M Functional Architecture-V2.9.0の第10.1.4.1節に記載されている。
セマンティックマッシュアップ結果リソースである<smrs>リソースを用いて、仮想セマンティックマッシュアップリソースのマッシュアップ結果をモデル化し表現し得る。<smrs>リソースは、その子リソースとして<vsmr>下に配置され得る。あるいは、<vsmr>リソースは<smrs>リソースを指すsmrsID属性を有し得るため、<smrs>リソースは別の場所(例えば、<vsmr>の子リソースではない)に記憶され得る。マッシュアップ操作の実行結果として、<smrs>リソースが自動的に生成され得る。<smrs>リソースは、oneM2M CSE又はoneM2M AEであり得るSMS要求側1808に公開され得る。SMS要求側として、oneM2M CSEまたはAEは、<smrs>リソースにアクセスしてマッシュアップ結果の再計算をトリガするか、またはマッシュアップ結果を検索し得る。<smrs>および対応する<vsmr>が異なる場所(例えば、親子関係ではない)に配置される場合、VSMRホスト2302(例えば、<vsmr>が配置される場所)は、<smrs>リソースにアクセスしてマッシュアップ結果を更新し得る。同様に、SMRSホスト2304(例えば、<smrs>が維持される場所)は、<vsmr>にアクセスして、マッシュアップ操作の実行をトリガし、新たなマッシュアップ結果を得ることができる。
<smrs>リソースは、表16で指定された子リソースおよび表17で指定された属性を含み得る。<smrs>リソースの構造も図44に示す。
図45は、<smrs>リソースを操作する(例えば、<smrs>リソースの生成、検索、更新または削除)手順を示す。
図45に示すステップを実行するエンティティは、無線通信もしくはネットワーク通信のための装置または図51Cもしくは図51Dに示されるもののようなコンピュータシステムのメモリに記憶され、そのプロセッサで実行されるソフトウェア(例えば、コンピュータ実行命令)の形態で実装され得る論理的エンティティであり得ることが理解されよう。すなわち、図45に示す方法は、図51Cまたは図51Dに示される装置またはコンピュータシステムのような装置のメモリに記憶されるソフトウェア(例えば、コンピュータ実行命令)の形態で実装され得るが、そのコンピュータ実行命令は、装置のプロセッサによって実行されたときに図45に示すステップを実行する。図45に示す機能は、仮想化ネットワーク機能のセットとして実施され得ることも理解されよう。ネットワーク機能は、必ずしも直接通信しなくてもよく、むしろ、転送または経路指定機能を介して通信し得る。また、図45に示す任意の送信および受信ステップは、装置のプロセッサおよびそれが実行するコンピュータ実行命令(例えばソフトウェア)の制御下で装置の通信回路によって実行され得ることも理解されよう。
図45では、ステップ4511において、発信側4104は発信側で何らかの処理を行う。これは、oneM2M-TS-0001 oneM2M Functional Architecture-V2.9.0の第10.1.1.1節(以下10.1.1.1)等に従うことができる。ステップ4512では、発信側4104は要求メッセージを受信側4102に送信し得る。要求メッセージは、<smp>に対する生成メッセージ、検索メッセージ、更新メッセージまたは削除メッセージであり得る。ステップ4513では、ステップ4512のメッセージを処理する。ステップ4514では、ステップ4513の処理に基づく。これらのステップは、表18~表22でさらに説明する。<smrs>を生成する手順は、表18に記載されるように<smrs>リソースを生成するために用いられ得る。
<smrs>を検索する手順は、表19に記載されるように<smrs>リソースの属性を検索するために用いられ得る。
<smrs>/mashupを検索する手順は、表20に記載されるように<smrs>リソースの仮想子リソースmashupを検索するために用いられ得る。
表21に記載されている<smrs>を更新する手順を用いて、既存の<smrs>を更新し得る、例えば、そのmashupResultFormatへの更新を行う。一般的な更新手順は、oneM2M-TS-0001 oneM2M Functional Architecture-V2.9.0の第10.1.3節に記載されている。
表22に記載されている<smrs>を削除する手順は、既存の<smrs>を削除するために用いられ得る。一般的な削除手順は、oneM2M-TS-0001 oneM2M Functional Architecture-V2.9.0の第10.1.4.1節に記載されている。
oneM2M共通属性の表23は、いくつかのoneM2Mリソース(例えば、<container>、<group>等)の共通属性として追加され得る新たな属性を列挙している。
図46A~図46C(本明細書では図46)は、oneM2M機能アーキテクチャにおいてセマンティックマッシュアップをサポートするための全体的な手順例を示す。これには以下の部分が含まれ得る。SMP1802の発見および検索(例えば図46のステップ4611~4615)、VSMRの生成(例えば図46のステップ466~4612)、またはマッシュアップ結果の検索(例えば図46のステップ4613~4615)。この例では、以下の仮定がなされ得る。IN-AE4602はSMS要求側であり、IN-CSE4604は、SMSホストとして機能し、<smp>リソース、<vsmr>リソース、および<smrs>リソースをホストして、セマンティックマッシュアップサービスを提供し、マッシュアップのための<vsmr>リソースのメンバリソースは、MN-CSE1 4606およびMN-CSE2 4608由来のものであり得る。<smp>リソース、<vsmr>リソースおよび<smrs>リソースを記述するためのセマンティックトリプルは、セマンティックグラフストア(Semantic Graph Store:SGS)に記憶され、セマンティックリソースの発見を可能にし得る。MN-CSE1 4606およびMN-CSE2 4608におけるオリジナルリソース(例えば、メンバリソース)を記述するためのセマンティックトリプルは、セマンティックリソースの発見を可能にするために同様にSGSに記憶され得る。リソースURI(例えば、<smp>、<vsmr>、<smrs>およびオリジナルメンバリソース)はそれらのセマンティックトリプルに含まれており、それらはSGSに記憶され得るが、セマンティックリソース発見を用いて発見されるかまたは除外され得る。
図46に示すステップについては以下でより詳細に説明する。図46のステップ4611:IN-AE4602は、IN-CSE4604にRETRIEVE操作を送信して、“SuitableParkingService”と呼ばれる、特定のマッシュアップサービスをサポートし得る<smp>リソースを発見する。このメッセージはsmpFilter(または既存のoneM2M semanticFilterパラメータを使用)を含み、これは実際にはSPARQLクエリパターンである。smpFilterの例を以下に示す。
(Line1) @PREFIX smp: <http://smp.example.com> .
(Line2) select ?smp
(Line3) where {
(Line4) ?smp rdf:type smp:SMPResource .
(Line5) ?smp smp:hasService “SuitableParkingService”
(Line6) }
あるいは、セマンティックマッシュアップオントロジーでSuitableParkingServiceがクラスとして定義されている場合は、Line5を次のトリプルに変更してもよい。
?smp rdf:type smp:SuitableParkingService
図46のステップ4612:IN-CSE4604は、ステップ4611でSPARQLクエリパターンをSGSに送信することによってセマンティックリソースの発見または除外を実行する。
図46のステップ4612.a:IN-CSE4604はSPARQLクエリをSGSに送信し、予想される<smp>リソースを発見する。SPARQLクエリは、実際にはステップ4611から受信したSPARQLクエリパターンである。
図46のステップ4612.b:SGSは、SPARQLクエリを実行し、対応する<smp>リソースを見つけ、IN-CSE4604またはIN-AE4602がそれらの<smp>リソースを発見するための適切な権限を有しているかどうかを確認するためにアクセス制御を実行する[前述のアクセス制御戦略は、単にoneM2Mシステムの既存のアクセス制御ポリシーを採用する]。IN-CSE4604またはIN-AE4602に<smp>リソースのURIを発見する権限が与えられていない場合、SGSは<smp>リソースのURIを返さなくてもよいことに留意されたい。
図46のステップ4612.c:SGSは、IN-CSE4604に応答を送信する。この応答メッセージは、SPARQLクエリの条件を満たし、IN-CSE4604またはIN-AE4602によって発見された<smp>URIのリストを含む。
図46のステップ4613:IN-CSE4604は発見された<smp>URIをIN-AE4602に返す。
図46のステップ4614:IN-AE4602は、ステップ4613に含まれる<smp>URIリストから<smp>を選ぶ。次いで、IN-AE4602は、RETRIEVE操作を送信し、この<smp>の属性および子リソースを検索する。このステップの目的は、IN-AE4602がこの<smp>に必要な入力パラメータのタイプ(例えばinputDescriptor属性)と、この<smp>によって生成され得るマッシュアップ結果のタイプ(例えばoutputDescriptor属性)を理解することである。
図46のステップ4615:IN-CSE4604は、IN-AE4602が対応する<smp>リソースを検索するための適切な権限を有しているかどうかを確認するためにアクセス制御を実行する。IN-AE4602に<smp>リソースを検索する権限が与えられていない場合、IN-CSE4604は適切なエラーコードを送信し得ることに留意されたい。
図46のステップ4616:IN-AE4602に<smp>リソースを検索する権限が与えられている場合、IN-CSE4604は応答をIN-AE4602に送信する。この応答メッセージは、<smp>の表現(またはその子リソースの表現と一緒に)を含む。
図46のステップ4617:検索された<smp>に基づいて、IN-AE4602は<vsmr>リソースを生成するためにIN-CSE4604にCREATE操作を送信する。このメッセージは、生成される<vsmr>リソースの表現(例えば、そのsmpID属性)を含み得る。IN-AE4602は、<vsmr>の以下の属性を設定し得る。
smpID=ステップ4613で発見され、ステップ4614で選択された<smp>URI。
smrsStoreType=“Child Resource”。これは、セマンティックマッシュアップ結果が、この<vsmr>の子リソースとして生成され得ることを意味する。
memberStoreType=“URI Only“。
resultGenType=“When VSMR Is Created“および“When SMS Requestor Requests“。これは、<vsmr>が生成され、IN-AE4602が<smrs>の仮想子リソースmashupにRETRIEVE要求を送信したときに、IN-CSE4604がセマンティックマッシュアップ結果を計算し得ることを意味する。
図46のステップ4618:IN-CSE4604は、IN-AE4602が<vsmr>リソースを生成するための適切な権限を有しているかどうかを確認するためにアクセス制御を実行する。IN-AE 4602に<vsmr>リソースを生成する権限が与えられていない場合、IN-CSE4604は適切なエラーコードをIN-AE4602に送信し得ることに留意されたい。
図46のステップ4619:IN-AE4602に<vsmr>リソースを生成する権限が与えられている場合、IN-CSE4604は、ステップ4617で与えられたsmpIDに従って対応する<smp>リソースを見つける。これば、<smp>リソースのmemberFilter属性に従ってSPARQLクエリを構成する。SPARQLクエリは、SGSに送信され、ステップ4622で生成される<vsmr>のためのメンバリソースを発見し得る。
図46のステップ4619.a:ステップ4619で構成されたSPARQLクエリはIN-CSE4604からSGSに送信される。
図46のステップ4619.b:SGSは、SPARQLクエリを実行し、対応するメンバリソースを見つけ、IN-CSE4604またはIN-AE4602がこれらメンバリソースを発見するための適切な権限を有しているかどうかを確認するためにアクセス制御を実行する。IN-CSE4604またはIN-AE4602にメンバリソースのURIを発見する権限が与えられていない場合、SGSはメンバリソースのURIを返さなくてもよいことに留意されたい。
図46のステップ4619.c:SGSは、発見されたメンバリソース(例えば、それらのURI)のリストを含む応答をIN-CSE4604に送信する。
図46のステップ4620:IN-CSE4604は、ステップ4619.cで返されたリスト内のリソースを、ステップ4622で生成される<vsmr>のメンバリソースとして選択する。
図46のステップ4621:ステップ4617でresultGenType=“When VSMR Is Created“が与えられたため、IN-CSE4604は各メンバリソースのコンテンツ値または表現を検索し得る。この例では、MN-CSE1 4606およびMN-CSE2 4608によってそれぞれホストされる2つのメンバリソースrsc1およびrsc2があると仮定する。
図46のステップ4621.a:IN-CSE4604は、MN-CSE1 4606にRETRIEVE操作を送信し、第1のメンバリソースrsc1を検索する。
図46のステップ4621.b:MN-CSE1 4606は、IN-CSE4604またはIN-AE4602がメンバリソース(例えばrsc1)を検索するための適切な権限を有しているかどうかを確認するためにアクセス制御を実行する。IN-CSE4604またはIN-AE4602にメンバリソースを検索する権限が与えられていない場合、MN-CSE1 4606は適切なエラーコードを送信し得ることに留意されたい。
図46のステップ4621.c:IN-CSE4604またはIN-AE4602にメンバリソースを検索する権限が与えられていない場合、第1のメンバリソースrsc1のコンテンツ値または表現はIN-CSE4604に返される。
図46のステップ4621.d:IN-CSE4604は、MN-CSE2 4608にRETRIEVE操作を送信し、第2のメンバリソースrsc2を検索する。
図46のステップ4621.e:MN-CSE2 4608は、IN-CSE4604またはIN-AE4602がメンバリソース(例えばrsc2)を検索するための適切な権限を有しているかどうかを確認するためにアクセス制御を実行する。IN-CSE4604またはIN-AE4602にメンバリソースを検索する権限が与えられていない場合、MN-CSE2 4608は適切なエラーコードを送信し得ることに留意されたい。
図46のステップ4621.f:IN-CSE4604またはIN-AE4602にメンバリソースを検索する権限が与えられていない場合、第2のメンバリソースrsc2のコンテンツ値または表現はIN-CSE4604に返される。
図46のステップ4622:IN-CSE4604は、ステップ4617で与えられた属性値、ステップ4620で決定されたメンバリソースに基づいて<vsmr>リソースを生成する。ステップ4617で与えられたようにsmrsStoreType=“Child Resource”であるため、IN-CSE4604はさらに、セマンティックマッシュアップ結果リソース<smrs>を、生成した<vsmr>の子リソースとして生成し、配置し得る。
図46のステップ4623:resultGenType=“When VSMR Created“であるため、IN-CSE4604は、対応する<smp>リソースのfunctionDescriptor属性で指定されたようにマッシュアップ操作を実行する。マッシュアップ操作は、(ステップ4621.cおよびステップ4621.fで検索された)各メンバリソースのコンテンツ値および(ステップ4617に含まれる)入力パラメータに対して実行され得る。次いで、IN-CSE4604は、計算されたマッシュアップ結果を、<vsmr>/<smrs>リソースのmashupResult属性に記憶する。
図46のステップ4624:IN-CSE4604は、IN-AE4602に応答を送信する。この応答メッセージは、生成された<vmsr>のURIを含み得、セマンティックマッシュアップ結果を検索するためのURI(例えば、<vsmr>/<smrs>)も含み得る。
図46のステップ4625:IN-AE4602は、IN-CSE4604にRETRIEVE操作を送信し、セマンティックマッシュアップ結果を検索する。この要求のターゲットとされるURIは、<vsmr>/<smrs>であるが、セマンティックマッシュアップ結果はステップ4623で計算されているため、<smrs>リソースのmashupResult属性を検索するためのものである。
あるいは、ステップ4617でresultGenType=“When SMS Requestor Requests“であると示されているため、IN-AE4602はRETRIEVE操作を<vsmr>/<smrs>/mashupに送信し、IN-CSE4604をトリガしてセマンティックマッシュアップ結果を再計算し得る。この場合、以下のステップ4626を用いてもよい。
図46のステップ4626:ステップ4625のターゲットURIが<vsmr>/<smrs>/mashupである場合、このステップが使用され得る。RETRIEVE操作を受信した後、IN-CSE4604は、IN-AE4602が<vsmr>/<smrs>/mashupリソースを検索するための適切な権限を有しているかどうかを確認するためにアクセス制御をまず実行し得る。IN-AE4602に<vsmr>/<smrs>/mashupリソースを検索する権限が与えられている場合、IN-CSE4604はステップ4621およびステップ4623を実行してマッシュアップ結果を再計算し、そうでない場合、適切なエラーコードを送信する。
図46のステップ4627:IN-CSE4604はセマンティックマッシュアップ結果をIN-AE4602に返す。
図46に示すステップを実行するエンティティは、無線通信もしくはネットワーク通信のための装置または図51Cもしくは図51Dに示されるもののようなコンピュータシステムのメモリに記憶され、そのプロセッサで実行されるソフトウェア(例えば、コンピュータ実行命令)の形態で実装され得る論理的エンティティであり得ることが理解されよう。すなわち、図46に示す方法は、図51Cまたは図51Dに示される装置またはコンピュータシステムのような装置のメモリに記憶されるソフトウェア(例えば、コンピュータ実行命令)の形態で実装され得るが、そのコンピュータ実行命令は、装置のプロセッサによって実行されたときに図46に示すステップを実行する。図46に示す機能は、仮想化ネットワーク機能のセットとして実施され得ることも理解されよう。ネットワーク機能は、必ずしも直接通信しなくてもよく、むしろ、転送または経路指定機能を介して通信し得る。また、図46に示す任意の送信および受信ステップは、装置のプロセッサおよびそれが実行するコンピュータ実行命令(例えばソフトウェア)の制御下で装置の通信回路によって実行され得ることも理解されよう。
あるいは、oneM2M CSEは、新たな<vsmr>リソースを生成する代わりに、既存のoneM2M<group>リソースを活用してSMSを実装し得る。これは以下の通り機能する。<group>リソースは、表10に定義されているように、<vsmr>リソースのほとんどの属性(例えばsmpID、smpInputPara、resultGenType等)を有し得る。この<group>リソースは、基本的に特定のSMSを提供する。<group>リソースをホストするCSEは、実際にはSMSホストである。さらに、<group>はその子リソースとして<smrs>有していてもよく、またはマッシュアップ結果を記憶するために単純に新たな属性”smrs”を有する。<group>リソースの各メンバは、マッシュアップメンバ(オリジナルリソース等)としてみなされる。その結果、<group>リソースのmemberID属性を用いて、セマンティックマッシュアップに関連または要求されるマッシュアップメンバのリストを含めることができる。
<group>リソースは、新たな仮想リソース“mashup”を有し得る。別のCSEまたはAEが、<group>リソースによって提供されるSMSを利用したい場合、この新たな仮想リソース“mashup”をターゲットとするRETRIEVE要求を送信する(例えば、/<group>/mashup)。“mashup”仮想リソースをターゲットとするRETRIEVE要求を受信する度、<group>リソースをホストするCSEは、smpInputPara属性に含まれる入力パラメータ、新たなsmpID属性で示される<smp>リソースのマッシュアッププロファイル情報、および各マッシュアップメンバの表現(この<group>リソースの“fanOutPoint”仮想リソースを使用して検索され得る)を用いてマッシュアップ結果を計算し得る。次に、<group>リソースをホストするCSEは、要求側のCSEまたはAEに応答を送信する。応答メッセージには、計算されたマッシュアップ結果が含まれ得る。計算されたマッシュアップ結果は、新たな属性“smrs”に、または<group>リソースが子リソースとして<smrs>を有する場合は<smrs>子リソースに記憶され得る。
さらに、<group>リソースをホストするCSEは、(<group>リソースのmemberID属性に含まれる)各マッシュアップメンバの表現を定期的に検索し、マッシュアップメンバの新たな表現に基づいてマッシュアップ結果を再計算し得る。他のCSEまたはAEは、“mashup”仮想リソースを購読し得る。次に、<group>リソースをホストするCSEは、それらの他のCSEまたはAEに自動通知(新たなマッシュアップ結果を含む)を送信し得る。それらの他のCSEまたはAEは、実際にはマッシュアップ結果の購読者であり得る。
また、<group>リソースをホストするCSEは、(<group>リソースのmemberID属性に含まれている)各マッシュアップメンバを購読し得る。マッシュアップメンバに変更があると、CSEは自動通知を受け取り得る。次いで、CSEは、既存のメンバが使用不可になった場合は別のマッシュアップメンバを見つける必要があるか、または1つもしくは複数のマッシュアップメンバの表現が変更された場合、マッシュアップ結果を再計算する必要があり得る。他のCSEまたはAEは、“mashup”仮想リソースを購読し得る。次に、<group>リソースをホストするCSEは、新たなマッシュアップ結果が生成されるとそれらの他のCSEまたはAEに自動通知(新たなマッシュアップ結果を含む)を送信し得る。
VSMRは、VSMRのマッシュアップメンバであり得るオリジナルリソースを購読し得る。VSMRによって送信される購読要求は、オリジナルリソースのURI、mashupMemURI、notificationContentType、およびeventNotificationCriteriaを含み得る。mashupMemURIパラメータは、通知がどこに送達されるべきかを示し、notificationContentTypeは、通知のコンテンツタイプを示し、eventNotificationCriteriaパラメータは、通知を送信するリソースホストのためのトリガイベントを示す。eventNotificationCriteriaパラメータの条件は、oneM2M規格[oneM2M-TS-0001 oneM2M Functional Architecture-V2.9.0]で提供されているものと同様であってよい。具体的には、eventNotificationCriteriaパラメータのeventType条件タグは、通知を送信するようにリソースホストをトリガし得るイベントのタイプ(購読先リソースで発生する可能性がある)を示す。
(オリジナルリソースを購読するVSMRに適用され得る)eventType条件の例示的な値は、A)購読先リジナルリソースの属性への更新(VSMRはさらに、属性条件タグを使用して、購読先のオリジナルリソースのどの属性がリソースホストによる通知の送信をトリガするかを指定し得ることに留意されたい)、B)購読先オリジナルリソースの削除、C)購読先オリジナルリソースの直接の子の生成、またはD)購読先オリジナルリソースの直接の子の削除である。
購読先オリジナルリソースの直接の子の生成に関して、ここでは、購読先オリジナルリソースのどの種類の子の生成がリソースホストによる通知の送信をトリガし得るかを指定するために、新たな条件タグ、例えばcreationFilterを導入することに留意されたい。この条件タグは、新たなオリジナルリソースがVSMRのマッシュアップメンバに該当するかどうかをリソースホストが確認するために使用され得る(新たなオリジナルリソースが適格であった場合、リソースホストは、通知を送信して、新たな適格マッシュアップメンバに関してVSMRに通知すべきであり、そうでない場合、リソースホストは通知を送信すべきではない)。creationFilterの値は、プログラミングコードのセットであり得る。
オープンインターコネクトコンソーシアム(OIC)の例を以下に開示する。OICアーキテクチャは、OICサーバおよびOICクライアントを含み得る。リソースプロバイダとみなされるOICサーバはOICリソースをホストするが、OICクライアントは、OICサーバでホストされているリソースにアクセスして操作するリソース消費側である。リソースは、要求または応答モデルに基づいて操作され得る。基本的に、OICクライアントは、OICサーバのリソースをターゲットとするRESTful要求(例えば、生成、検索、更新、削除、および通知)を送信し、次に、OICサーバはRESTful要求を処理し、対応する応答をOICクライアントに送信し得る。OIC規格は、さまざまなタイプのリソースを定義しており、各タイプのリソースは、複数のプロパティを持つことができ、各プロパティは読み取り専用または読み書き可能であってよく、異なるリソースインタフェースによってアクセスされ得る。さらに、いくつかの共通プロパティ、例えば、リソースタイプ(“rt”)、インタフェース(“if”)、名称(“n”)およびリソースアイデンティティ(“id”)についても詳述されている。その結果、OICサーバからOICクライアントへの応答メッセージのコンテンツは、以下のような複数の要因に依存し得る。1)OICクライアントからOICサーバへ送信されるRESTful要求のタイプ、2)RESTful操作の対象となっているリソースのタイプ、または3)RESTful操作のクエリパラメータに含まれるインタフェースのタイプ。
SMSをOICアーキテクチャに実装するための複数の選択肢がある。OICサーバはリソースをホストし、OICクライアントから要求を受信し得るため、OICサーバはリソースホストまたはSMSホストとみなされ得る。言い換えれば、SMSホストおよびリソースホストの機能は、OICサーバ内に実装され得る。対照的に、OICクライアントは、SMS要求側1808の機能を実装し得る。方法1または方法2に関して示され開示されている以下の例示的な方法は、OICアーキテクチャでSMSを実装している。
方法1では、OICサーバ1 4702は、マッシュアップメンバとして使用されるそのローカルリソースに基づいてSMSを提供し得る。図47(a)に示すように、OICサーバ1 4702はSMSホストおよびリソースホストとして機能する。リソースホストとしては、そのOICリソースはマッシュアップメンバとして活用されてもよく、SMSホストとしては、SMS機能および手順を実装する。このSMSは、既存のOICコレクションリソースを活用してVSMR機能を実装し得る。OICサーバ1 4702は、この場合、ローカルOICリソース由来のものであり得るマッシュアップメンバの表現に基づいてマッシュアップ結果を計算する。OICクライアント2およびOICクライアント3は、OIC CRUDN操作を用いてOICサーバ1 4702でSMSにアクセスする2つのSMS要求側1808であり得る。
方法2では、OICサーバ1 4702はSMSを提供し得るが、マッシュアップメンバは他のOICサーバ由来のものであり得る。図47(b)に示すように、OICサーバ1 4702は依然としてSMSホストとして機能するが、マッシュアップメンバはそのローカルリソース由来のものでない場合があり、代わりに、OICサーバ2 4708およびOICサーバ3 4710由来のOICリソースがマッシュアップメンバとして使用され得る。これらのマッシュアップメンバ(例えば、OICサーバ2 4708またはOICサーバ3 4710のオリジナルリソース)にアクセスするために、OICサーバ1 4702はOICクライアント1を活用してOICサーバ2 4708およびOICサーバ3 4710と対話する。ここでは、OICサーバ1 4702およびOICクライアント1が同じ物理的デバイスに存在しており、OICサーバ1 4702とOICクライアント1との間に内部インタフェースがあると仮定する。図47(a)に示すように、OICサーバ1 4702は依然として、そのローカルコレクションリソースを使用してVSMR機能を実装する。図47(a)との違いは、この場合のマッシュアップメンバはローカルリソース由来のものではない場合があるということである。マッシュアップ結果を計算するために、OICサーバ1 4702は、(OICクライアント1を介して)OICサーバ2 4708およびOICサーバ3 4710からマッシュアップメンバの表現を検索し得る。計算されたマッシュアップ結果は、OIC CRUDN操作を用いてOICクライアント2およびOICクライアント3(両方ともSMS要求側であり得る)によってアクセスされ得るOICサーバ1 4702でローカルに維持され得る。
図47A~図47Bに示すステップを実行するエンティティは、無線通信もしくはネットワーク通信のための装置または図51Cもしくは図51Dに示されるもののようなコンピュータシステムのメモリに記憶され、そのプロセッサで実行されるソフトウェア(例えば、コンピュータ実行命令)の形態で実装され得る論理的エンティティであり得ることが理解されよう。すなわち、図47A~図47Bに示す方法は、図51Cまたは図51Dに示される装置またはコンピュータシステムのような装置のメモリに記憶されるソフトウェア(例えば、コンピュータ実行命令)の形態で実装され得るが、そのコンピュータ実行命令は、装置のプロセッサによって実行されたときに図47A~図47Bに示すステップを実行する。図47A~図47Bに示す機能は、仮想化ネットワーク機能のセットとして実施され得ることも理解されよう。ネットワーク機能は、必ずしも直接通信しなくてもよく、むしろ、転送または経路指定機能を介して通信し得る。また、図47A~図47Bに示す任意の送信および受信ステップは、装置のプロセッサおよびそれが実行するコンピュータ実行命令(例えばソフトウェア)の制御下で装置の通信回路によって実行され得ることも理解されよう。
方法1-OICサーバはSMSを提供し、そのローカルリソースはマッシュアップメンバである。SMSをサポートするために、図48を参照して以下が用いられ得る。新たなリソースプロパティおよび新たなリソースインタフェースが存在し得る(表24および表25)。セマンティックマッシュアッププロファイル(“smp”)は、コレクションリソースのリンクに対してマッシュアップがどのように実行されるべきかを記述するために、コレクションリソースの新たなプロパティとして使用され得る。この場合、コレクションリソースのリンクは、マッシュアップ操作のためのメンバリソースとみなされ得る。セマンティック入力パラメータ(“sip”)は、コレクションリソースの新たなプロパティとして使用され、“smp”プロパティに記述されたマッシュアップに必要とされ得る入力パラメータを含めることができる。セマンティックマッシュアップ結果(“smrs”)は、コレクションリソースの新たなプロパティとして使用され、マッシュアップリソースを維持し得る。新たなリソースインタフェース(例えば、mashup1及びmashup2)は、コレクションリソースに使用され得る。mashup1インタフェースを使用してコレクションリソースの“smrs”プロパティを検索し得るのに対し、mashup2インタフェースを使用して、マッシュアップ操作をトリガし、マッシュアップ結果を再計算し、次に最新のマッシュアップ結果を取得し得る。
図48は例示的なセマンティックマッシュアップ手順を示す。図48のステップ4811~4813について、コレクションソース(例えば、/oic/collectionA)は、OICクライアント(またはOICサーバそれ自体)によってOICサーバで生成され得る。コレクションリソースは、いくつかのリンクを含むことができ、各リンクはセマンティックマッシュアップメンバである。コレクションリソースは新たなプロパティ“smp”、“sip”または“smrs”を有し得る。SMP1802に関するプロファイル情報(特にセマンティックマッシュアップ機能の記述およびマッシュアップ結果の記述)が“smp”プロパティに含まれ得る。“smp”プロパティの値は、コレクションリソースが生成されると設定され得る。“sip”プロパティは、各入力パラメータの名称および値を与え得る。“sip”プロパティの値は、コレクションリソースが生成されると設定され得る。マッシュアップ結果が“smp”プロパティのプロファイル情報に従ってリンク(例えばマッシュアップメンバ)に対してOICサーバにより計算されると、“smrs”プロパティを使用してマッシュアップ結果を記憶し得る。
図48のステップ4815~4816について、OICクライアント4802は、mashup1インタフェースを使用してマッシュアップ結果を直接検索し得る。例えば、OICクライアント4802はOICサーバに次の要求を送信し得る。この要求を受信すると、OICサーバ4702は、“smrs”プロパティの値を含む応答メッセージをOICクライアント4802に送信し得る。(OICサーバに送信される要求メッセージ)GET /oic/collectionA ?oic.if.mashup1
あるいは、図48のステップ4816~4818では、OICクライアント4802は、mashup2インタフェースを使用してOICサーバ4702がマッシュアップ結果を再計算するようにトリガし得る。例えば、OICクライアント4802はOICサーバ4702に次の要求を送信し得る。(OICサーバに送信される要求メッセージ)GET /oic/collectionA ?oic.if.mashup2。この要求メッセージは、“sip”プロパティの値を含み得る。この要求を受信すると、OICサーバ4702は、コレクションリソースのリンクに対してマッシュアップ結果を再計算し(例えばそれらをマッシュアップメンバリソースと見なす)、新たなマッシュアップ結果を“smrs”プロパティに記憶し、“smrs”プロパティの更新された値を含む応答メッセージをOICクライアント4802に送信し得る。
図48に示すステップを実行するエンティティは、無線通信もしくはネットワーク通信のための装置または図51Cもしくは図51Dに示されるもののようなコンピュータシステムのメモリに記憶され、そのプロセッサで実行されるソフトウェア(例えば、コンピュータ実行命令)の形態で実装され得る論理的エンティティであり得ることが理解されよう。すなわち、図48に示す方法は、図51Cまたは図51Dに示される装置またはコンピュータシステムのような装置のメモリに記憶されるソフトウェア(例えば、コンピュータ実行命令)の形態で実装され得るが、そのコンピュータ実行命令は、装置のプロセッサによって実行されたときに図48に示すステップを実行する。図48に示す機能は、仮想化ネットワーク機能のセットとして実施され得ることも理解されよう。ネットワーク機能は、必ずしも直接通信しなくてもよく、むしろ、転送または経路指定機能を介して通信し得る。また、図48に示す任意の送信および受信ステップは、装置のプロセッサおよびそれが実行するコンピュータ実行命令(例えばソフトウェア)の制御下で装置の通信回路によって実行され得ることも理解されよう。
あるいは、コレクションリソースを活用する代わりに、新たなOICリソース(VSMRと呼ばれる)が導入されてもよい。新たなOIC VSMRリソースは、表24に定義される“smp”、“sip”および“smrs”プロパティを有し、表25で説明されるmashup1およびmashup2の両方のインタフェースをサポートする。加えて、コレクションリソースと同様に、VSMRリソースはマッシュアップメンバとしてリンクのセットを有する。マッシュアップ結果は、“smp”プロパティに含まれるマッシュアッププロファイル情報(例えばマッシュアップ機能)、“sip”プロパティに含まれる入力パラメータ、および各マッシュアップメンバの値(例えばVSMRに含まれるすべてのリンク)に基づいて計算される。マッシュアップの結果は、mashup1インタフェースを介してOICクライアントに公開される。言い換えれば、OICクライアントは、mashup1インタフェースを使用してマッシュアップ結果を検索するためにVSMRリソースに来ることができる(例えば、GET/oic/vsmrExample?mashup1、ここで/oic/vsmrExampleはVSMRリソースの例である)。OICクライアントがマッシュアップ結果を再計算するようにOICサーバをトリガしたい場合、OICクライアントは、mashup2インタフェースを使用し得、GET/oic/vsmsExample?mashup2(ここで/oic/vsmrExampleはVSMRリソース例である)のようなメッセージをOICサーバに送信し得る。図48と同様の手順が適用可能である。
方法2-OICサーバはSMSを提供するが、マッシュアップメンバは他のOICサーバ由来のものである。図49に示すように、OICサーバ1 4702は、コレクションリソース(例えば、/oic/collectionA)をホストすることによってSMSを提供する。上記の方法1と同様に、/oic/collectionAは新たなプロパティ(例えば、“smp”、“sip”および“smrs”)を有し、新たなインタフェース(例えばmashup1およびmashup2)をサポートする。しかし、方法1とは異なり、/oic/collectionAリソースのリンクは、OICサーバ1 4702ではなく、それぞれOICサーバ2 4708およびOICサーバ3 4710でそれぞれホストされている。OICサーバ1 4702がマッシュアップ結果を計算するとき、OICサーバ1 4702は/oic/collectionAの各リンクの表現を検索し得る。言い換えれば、マッシュアップメンバは、OICサーバ1 4702に記憶されるのではなく、他のOICサーバ(例えば、OICサーバ2 4708およびOICサーバ3 4710)由来のものであり得る。加えて、OICクライアント1 4802およびOICサーバ1 4702は物理的に同じ場所に配置され、同じM2Mデバイスまたはゲートウェイに属し得ると仮定される。図49の手順を以下で説明する。
図49のステップ4911~4913は図48のステップ4811~4813と同様である。図49のステップ4912では、OICサーバ1 4702は、生成される/oic/collectionAの2つのリンク(すなわち、OICサーバ2 4708の/oic/rsc2リソースおよびOICサーバ3 4710の/oic/rsc3リソース)を既に知っていると仮定する。
図49のステップ4914~4918は、新たなmashup2インタフェースを使用してOICサーバ1 4702からマッシュアップ結果を検索するためにOICクライアント2 4704によって使用される。
図49のステップ4914は、図48のステップ6と同じである。内部インタフェースを介して、OICサーバ1 4702はOICクライアント1と対話し、それを活用して/oic/collectionAのこれら2つのリンクを検索する。
図49のステップ4915aおよび4915b:OICクライアント1は、OICサーバ2 4708およびOICサーバ3 4710それぞれにRETRIEVEを送信し、OICサーバ2 4708からは/oic/rsc2、OICサーバ2 4708からは/oic/rsc3を検索する。
図49のステップ4916aおよび4916b:/oic/rsc2および/oic/rsc3の表現は、OICクライアント1に送り返され得るが、OICクライアント1はこれらをOICサーバ1 4702に転送し得る。
図49のステップ4917:OICサーバ1 4702は、その“smp”および“sip”プロパティ値ならびにステップ6a/6bからの応答(例えば、マッシュアップメンバの表現)に基づいてマッシュアップ結果を計算し得る。計算されたマッシュアップ結果は、プロパティ“smrs”に記憶され得る。
図49のステップ4918:OICサーバ1 4702は応答をOICクライアント2に送信し得る。この応答メッセージは、“smrs”プロパティの値(例えば、ステップ4917で計算されたマッシュアップ結果)を含み得る。
図49のステップ4919~4920:OICクライアント2は、新たなmashup1インタフェースを使用してOICサーバ1 4702からマッシュアップ結果を検索し得る。これらは、図48のステップ4814~4815と同じであり得る。
図49に示すステップを実行するエンティティは、無線通信もしくはネットワーク通信のための装置または図51Cもしくは図51Dに示されるもののようなコンピュータシステムのメモリに記憶され、そのプロセッサで実行されるソフトウェア(例えば、コンピュータ実行命令)の形態で実装され得る論理的エンティティであり得ることが理解されよう。すなわち、図49に示す方法は、図51Cまたは図51Dに示される装置またはコンピュータシステムのような装置のメモリに記憶されるソフトウェア(例えば、コンピュータ実行命令)の形態で実装され得るが、そのコンピュータ実行命令は、装置のプロセッサによって実行されたときに図49に示すステップを実行する。図49に示す機能は、仮想化ネットワーク機能のセットとして実施され得ることも理解されよう。ネットワーク機能は、必ずしも直接通信しなくてもよく、むしろ、転送または経路指定機能を介して通信し得る。また、図49に示す任意の送信および受信ステップは、装置のプロセッサおよびそれが実行するコンピュータ実行命令(例えばソフトウェア)の制御下で装置の通信回路によって実行され得ることも理解されよう。
グラフィカルユーザインタフェース(Graphical User Interface:GUI)等のインタフェースを使用して、セマンティックマッシュアップに関連する機能をユーザが制御または構成するのを支援し得る。図50は、セマンティックマッシュアッププロファイル(例えば、<smp>リソース)、仮想セマンティックマッシュアップリソース(例えば、<vsmr>リソース)、またはオリジナルリソース間の関係をユーザが表示または構成することを可能にする例示的インタフェース5002を示す図である。各セマンティックマッシュアッププロファイルの各リソース構造は、表示または構成され得る。同じセマンティックマッシュアッププロファイルを用いる仮想セマンティックマッシュアップリソースが表示または構成され得る。例えば、セマンティックマッシュアッププロファイル1は、仮想セマンティックマッシュアップリソース11および仮想セマンティックマッシュアップリソース12によって使用され得ることが示される。
引き続き図50を参照すると、セマンティックマッシュアッププロファイル2は、3つの仮想セマンティックマッシュアップリソース(例えば、仮想セマンティックマッシュアップリソース21、仮想セマンティックマッシュアップリソース22および仮想セマンティックマッシュアップリソース23)によって使用され得る。各仮想セマンティックマッシュアップリソースのメンバリソースが表示または構成され得る。例えば、仮想セマンティックマッシュアップリソース12は、2つのメンバリソース(例えば、オリジナルリソース12ー1およびオリジナルリソース12ー2)を有する。このインタフェースを通じて、メンバリソースは、仮想セマンティックマッシュアップリソースから消去されても、または新たなメンバリソースが仮想セマンティックマッシュアップリソースに追加されてもよい。インタフェース5002は、図51C~図51Dに示されるようなディスプレイを使用して生成され得ることが理解されよう。
図51Aは、モノのインターネット(IoT)においてセマンティックマッシュアップを可能にすることに関連する1つまたは複数の開示された概念が実施され得る(例えば、図17~図50および関連する説明)、例示的な機械対機械(M2M)、IoT、またはモノのWeb(Web of Things:WoT)通信システム10の例示図を示す。一般に、M2M技術は、IoT/WoTのための構築ブロックを提供し、任意のM2Mデバイス、M2Mゲートウェイ、またはM2Mサービスプラットフォームは、IoT/WoTのコンポーネントおよびIoT/WoTサービス層等であり得る。通信システム10は、開示される実施例の機能を実装するために使用され得るとともに、また機能および論理的エンティティ、例えば、SMSアーキテクチャ1800、SMP1802、VSMR1804、SMRS1806、要求側1808、SMSホスト1810、オリジナルリソース、マッシュアップ機能2002、高度SMSアーキテクチャ2200、VSMRホスト2302、SMRSホスト2304、2402、リソースホスト2804、3402、セマンティックグラフストア2802、受信側4102、発信側4104、MN-CSE4606、4608、IN-CSE4604、IN-AE4602、OICサーバ4702、4708、4710、OICクライアント4704、4706、4802、センサ1502、1504、およびGUI5002等のGUIを生成するための論理的エンティティを含み得る。
図51Aに示すように、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は、コアネットワーク、インターネット、センサネットワーク、産業用制御ネットワーク、パーソナルエリアネットワーク、融合パーソナルネットワーク、衛星ネットワーク、家庭用ネットワーク、または企業ネットワーク等の他のネットワークを含んでもよい。
図51Aに示すように、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(登録商標))、直接無線リンク、および有線を含む種々のネットワークを介して通信し得る。
図51Bを参照すると、フィールドドメイン内の図示されているM2Mサービス層22は、M2Mアプリケーション20(例えば、アプリケーション1721またはアプリケーション2 1722)、M2Mゲートウェイデバイス14、M2M端末デバイス18、および通信ネットワーク12にサービスを提供する。通信ネットワーク12は、開示される実施例の機能を実装するために使用され得るとともに、また機能および論理的エンティティ、例えば、基本SMSアーキテクチャ1800、SMP1802、VSMR1804、SMRS1806、要求側1808、SMSホスト1810、オリジナルリソース、マッシュアップ機能2002、高度SMSアーキテクチャ2200、VSMRホスト2302、SMRSホスト2304、2402、リソースホスト2804、3402、セマンティックグラフストア2802、受信側4102、発信側4104、MN-CSE4606、4608、IN-CSE4604、IN-AE4602、OICサーバ4702、4708、 4710、OICクライアント4704、4706、4802、センサ1502、1504、およびGUI5002等のGUIを生成するための論理的エンティティを含み得る。M2Mサービス層22は、必要に応じて、任意の数のM2Mアプリケーション、M2Mゲートウェイデバイス14、M2M端末デバイス18、および通信ネットワーク12と通信し得る。M2Mサービス層22は、1つまたは複数のサーバ、コンピュータ等によって実装され得る。M2Mサービス層22は、M2M端末デバイス18、M2Mゲートウェイデバイス14およびM2Mアプリケーション20に適用されるサービス機能を提供する。M2Mサービス層22の機能は、例えばウェブサーバとして、セルラーコアネットワークにおいて、クラウドにおいて等、種々の方法で実装され得る。
図示された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つまたは複数のサーバ、コンピュータ、仮想マシン(例えば、クラウド/コンピュータ/ストレージファーム等)等によって実装され得る。
さらに図51Bを参照すると、M2Mサービス層22および22’は、多様なアプリケーションおよび垂直が活用し得るサービス提供機能のコアセットを提供する。これらのサービス機能により、M2Mアプリケーション20および20’は、デバイスと対話し、データ収集、データ分析、デバイス管理、セキュリティ、請求、サービス/デバイス発見等の機能を実行することが可能になる。基本的に、これらのサービス機能により、アプリケーションにこれらの機能を実装する負担が加わらなくなるため、アプリケーション開発を簡素化し、製品化までの費用および時間を削減する。サービス層22および22’によってさらに、M2Mアプリケーション20および20’はサービス層22および22’が提供するサービスに関連する種々のネットワーク12および12’を介して通信できる。
いくつかの例では、M2Mアプリケーション20および20’は、本明細書で開示されるように、IoTにおいてセマンティックマッシュアップを可能にすることに関する方法を用いて通信する所望のアプリケーションを含み得る。M2Mアプリケーション20および20’としては、これらに限定しないが交通、健康およびウェルネス、コネクテッドホーム、エネルギー管理、資産管理、セキュリティおよび監視等の種々の産業におけるアプリケーションを挙げることができる。上述のように、システムのデバイス、ゲートウェイおよび他のサーバを横断して動作するM2Mサービス層は、例えば、データ収集、デバイス管理、セキュリティ、請求、位置追跡/ジオフェンス、デバイス/サービス発見、およびレガシーシステム統合等の機能をサポートし、それらの機能をサービスとしてM2Mアプリケーション20および20’に提供する。
本願のIoTにおいてセマンティックマッシュアップを可能にすることは、サービス層の一部として実装され得る。サービス層は、アプリケーションプログラミングインタフェース(Application Programming Interface:API)および下層ネットワークインタフェースを通じて付加価値サービス機能をサポートするミドルウェア層である。M2Mエンティティ(例えば、デバイス、ゲートウェイ、またはハードウェアに実装されるサービス/プラットフォーム等のM2M機能エンティティ)は、アプリケーションまたはサービスを提供し得る。ETSI M2MおよびoneM2Mの両方は、本出願のIoTにおいてセマンティックマッシュアップを可能にすることを含み得るサービス層を使用する。oneM2Mサービス層は、共通サービス機能(CSF)(例えば、サービス機能)のセットをサポートする。1つまたは複数の特定の種類のCSFのセットのインスタンス化は、共通サービスエンティティ(CSE)と呼ばれ、これは、異なるタイプのネットワークノード(例えば、インフラストラクチャノード、中間ノード、特定用途向けノード)でホストされ得る。さらに、本願のIoTにおいてセマンティックマッシュアップを可能にすることは、サービス指向アーキテクチャ(Service Oriented Architecture:SOA)またはリソース指向アーキテクチャ(Resource-Oriented Architecture:ROA)を使用して本願のIoTにおいてセマンティックマッシュアップを可能にすること等のサービスにアクセスするM2Mネットワークの一部として実装され得る。
本明細書に開示されるように、サービス層は、ネットワークサービスアーキテクチャ内の機能層であり得る。サービス層は典型的には、HTTP、CoAPまたはMQTT等のアプリケーションプロトコル層上に位置し、クライアントアプリケーションに付加価値サービスを提供する。サービス層はまた、例えば制御層およびトランスポート/アクセス層等のより低いリソース層でコアネットワークへのインタフェースを提供する。サービス層は、サービス定義、サービスランタイムの有効化、ポリシー管理、アクセス制御およびサービスクラスタリングを含む、複数のカテゴリの(サービス)能力または機能をサポートする。近年、いくつかの業界標準化団体、例えば、oneM2Mは、インターネット/ウェブ、セルラー、企業、および家庭用ネットワーク等の展開へのM2Mタイプのデバイスおよびアプリケーションの統合に関連する課題を解決するためにM2Mサービス層を開発している。M2Mサービス層は、CSEまたはSCLと呼ばれ得るサービス層によってサポートされる上述の能力または機能の集合またはセットへのアクセスにより、種々のデバイスにアプリケーションに提供し得る。いくつかの例としては、セキュリティ、課金、データ管理、デバイス管理、発見、プロビジョニングおよび接続性管理(種々のアプリケーションによって共通して用いられ得る)が挙げられるが、これらに限定されない。これらの能力または機能は、M2Mサービス層によって定義されたメッセージフォーマット、リソース構造およびリソース表現を利用するAPIを介してそのような種々のアプリケーションで利用可能となる。CSEまたはSCLは、ハードウェアまたはソフトウェアによって実装され得るとともに、種々のアプリケーションまたはデバイス(例えば機能エンティティ間の機能インタフェース)が(サービス)能力または機能を使用するために、それらに公開されるそのような能力または機能を提供する機能エンティティである。
一例では、論理的エンティティ、例えば、基本SMSアーキテクチャ1800、SMP1802、VSMR1804、SMRS1806、要求側1808、SMSホスト1810、オリジナルリソース、マッシュアップ機能2002、高度SMSアーキテクチャ2200、VSMRホスト2302、SMRSホスト2304、2402、リソースホスト2804、3402、セマンティックグラフストア2802、受信側4102、発信側4104、MN-CSE4606、4608、IN-CSE4604、IN-AE4602、OICサーバ4702、4708、4710、OICクライアント4704、4706、4802、センサ1502、1504、およびGUI5002等のGUIを生成するための論理的エンティティは、図51Bに示すように、M2Mサーバ、M2MゲートウェイまたはM2Mデバイス等のM2MノードによってホストされるM2Mサービス層インスタンス内でホストされ得る。例えば、論理的エンティティ、例えば、基本SMSアーキテクチャ1800、SMP1802、VSMR1804、SMRS1806、要求側1808、SMSホスト1810、オリジナルリソース、マッシュアップ機能2002、高度SMSアーキテクチャ2200、VSMRホスト2302、SMRSホスト2304、2402、リソースホスト2804、3402、セマンティックグラフストア2802、受信側4102、発信側4104、MN-CSE4606、4608、IN-CSE4604、IN-AE4602、OICサーバ4702、4708、4710、OICクライアント4704、4706、4802、センサ1502、1504、およびGUI5002等のGUIを生成するための論理的エンティティは、M2Mサービス層インスタンス内において、または既存のサービス機能内のサブ機能として個々のサービス機能を構成し得る。
図51Cは、例えばM2M端末デバイス18(OICクライアント2 4704または要求側1808を含み得る)またはM2Mゲートウェイデバイス14(図26、図28、図41、図49等の1つまたは複数のコンポーネントを含み得る)等の例示的なM2Mデバイス30の例示的なシステム図を示す。図51Cに示されるように、M2Mデバイス30は、プロセッサ32、トランシーバ34、送信/受信要素36、スピーカ/マイクロフォン38、キーパッド40、ディスプレイ/タッチパッド42、取り外し不能メモリ44、取り外し可能メモリ46、電源48、全地球測位システム(Global Positioning System:GPS)チップセット50およびその他周辺機器52を備え得る。M2Mデバイス30は、開示された主題との整合性を保ちながら、前述の要素の任意の副組み合わせを備え得ることが理解され得る。M2Mデバイス30(例えば、VSMRホスト2302、SMRSホスト2304、2402、リソースホスト2804、3402、セマンティックグラフストア2802、受信側4102、発信側4104、MN-CSE4606、4608、IN-CSE4604、IN-AE4602、OICサーバ4702、4708等)は、IoTにおいてセマンティックマッシュアップを可能にするための開示されたシステムおよび方法を実行する例示的な実施態様であり得る。
プロセッサ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と接続され得る。図51Cは、プロセッサ32およびトランシーバ34を別個のコンポーネントとして図示しているが、プロセッサ32およびトランシーバ34は、電子パッケージまたはチップに一緒に統合されてもよいことが理解され得る。プロセッサ32は、アプリケーション層プログラム(例えばブラウザ)または無線アクセス層(RAN)プログラムまたは通信を実行し得る。プロセッサ32は、例えばアクセス層またはアプリケーション層等での認証、セキュリティ鍵合意または暗号操作等のセキュリティ操作を実行し得る。
送信/受信要素36は、M2Mサービスプラットフォーム22に信号を送信するか、またはM2Mサービスプラットフォーム22から信号を受信するように構成され得る。例えば、送信/受信要素36は、RF信号を送信または受信するように構成されたアンテナであり得る。送信/受信要素36は、WLAN、WPAN、セルラー等の種々のネットワークおよび電波インタフェースをサポートし得る。一例では、送信/受信要素36は、例えばIR、UVまたは可視光信号を送信または受信するように構成されたエミッタ/検出器であり得る。さらに別の例では、送信/受信要素36は、RF信号および光信号の両方を送信および受信するように構成され得る。送信/受信要素36は、無線信号または有線信号の任意の組み合わせを送信または受信するように構成され得ることが理解され得る。
加えて、送信/受信要素36は図51Cに単一の要素として図示されているが、M2Mデバイス30は、任意の数の送信/受信要素36を備え得る。より具体的には、M2Mデバイス30は、MIMO技術を採用し得る。したがって、一例では、M2Mデバイス30は、無線信号を送信および受信するための2つ以上の送信/受信要素36(例えば、複数のアンテナ)を備え得る。
トランシーバ34は、送信/受信要素36によって送信される信号を変調し、送信/受信要素36によって受信される信号を復調するように構成され得る。上述のように、M2Mデバイス30はマルチモード機能を有し得る。したがって、トランシーバ34は、M2Mデバイス30が、例えばUTRAおよびIEEE802.11等の複数のRATを介して通信することを可能にするための複数のトランシーバを含み得る。
プロセッサ32は、取り外し不能メモリ44または取り外し可能メモリ46等の任意のタイプの適切なメモリから情報にアクセスし、そこにデータを記憶し得る。取り外し不能メモリ44としては、ランダムアクセスメモリ(Random-Access Memory:RAM)、読み取り専用メモリ(Read-Only Memory:ROM)、ハードディスク、または他の任意のタイプのメモリ記憶デバイスを挙げることができる。取り外し可能メモリ46としては、加入者識別モジュール(Subscriber Identity Module:SIM)カード、メモリスティック、セキュアデジタル(Secure Digital:SD)メモリカード等を挙げることができる。他の例では、プロセッサ32は、サーバまたは家庭用コンピュータ等、M2Mデバイス30に物理的に配置されていないメモリからの情報にアクセスし、そこにデータを記憶し得る。プロセッサ32は、本明細書に記載の例のいくつかにおける、IoTにおいてセマンティックマッシュアップを可能にすることが成功したか失敗したか(例えば、セマンティック発見、セマンティックマッシュアップ、<smrs>検索等)に応じて、ディスプレイまたはインジケータ42上の照明パターン、画像または色を制御し、そうでない場合は、IoTおよび関連コンポーネントでセマンティックマッシュアップを可能にする状態を示すように構成され得る。ディスプレイまたはインジケータ42上の制御照明パターン、画像または色は、本明細書に図示または説明されている図(例えば、図26、図28、図41、図49等)中の方法の流れまたはコンポーネントのいずれかの状態を反映し得る。IoTにおいてセマンティックマッシュアップを可能にするメッセージおよび手順(例えば、方法)が本明細書で開示される。メッセージおよび手順は、入力ソース(例えば、スピーカ/マイクロフォン38、キーパッド40、またはディスプレイ/タッチパッド42)を介してIoTにおいてセマンティックマッシュアップを可能にすることを要求するためのユーザ用のインタフェース/APIを提供するように拡張され得る。さらなる例では、とりわけディスプレイ42上に表示され得るセマンティックマッシュアップ方法の要求、構成またはクエリがあり得る。
プロセッサ32は、電源48から電力を受け取ることができ、M2Mデバイス30内の他のコンポーネントに電力を分配または制御するように構成され得る。電源48は、M2Mデバイス30に電力供給する任意の適切なデバイスであり得る。例えば、電源48としては、1つまたは複数の乾電池(例えば、ニッケル-カドミウム(NiCd)、ニッケル-亜鉛(NiZn)、ニッケル水素(NiMH)、リチウムイオン(Liイオン)等)、太陽電池、燃料電池等を挙げることができる。
プロセッサ32はさらに、M2Mデバイス30の現在位置に関する位置情報(例えば、経度および緯度)を提供するように構成されたGPSチップセット50と接続され得る。M2Mデバイス30は、本明細書に開示された情報と整合性を保ちながら、任意の適切な位置決定方法によって位置情報を取得し得ることが理解され得る。
プロセッサ32はさらに、他の周辺機器52と接続され得るが、他の周辺機器52としては、追加の特徴、機能または有線もしくは無線接続性を提供する1つまたは複数のソフトウェアまたはハードウェアモジュールを挙げることができる。例えば、周辺機器52としては、種々のセンサ、例えば、加速度計、バイオメトリクス(例えば指紋)センサ、e-コンパス、衛星トランシーバ、センサ、デジタルカメラ(写真またはビデオ用)、ユニバーサルシリアルバス(Universal Serial Bus:USB)ポート、または他の相互接続インタフェース、振動デバイス、テレビトランシーバ、ハンズフリーヘッドセット、Bluetooth(登録商標)モジュール、周波数変調(Frequency Modulated:FM)無線ユニット、デジタル音楽プレーヤ、メディアプレーヤ、ビデオゲームプレーヤモジュール、インターネットブラウザ等を挙げることができる。
送信/受信要素36は、センサ、家庭用電化製品、スマートウォッチまたはスマート衣類等のウェアラブルデバイス、医療デバイスまたはeヘルスデバイス、ロボット、産業機器、ドローン、自動車、トラック、電車または航空機等の車両のような他の装置またはデバイスに組み込まれ得る。送信/受信要素36は、周辺機器52のうちの1つを備え得る相互接続インタフェース等の1つまたは複数の相互接続インタフェースを介してそのような装置またはデバイスの他のコンポーネント、モジュールまたはシステムに接続し得る。
図51Dは、例えば、図51Aおよび図51BのM2Mサービスプラットフォーム22が実装され得る例示的なコンピューティングシステム90の例示的なブロック図を示す。コンピューティングシステム90(例えば、M2M端末デバイス18またはM2Mゲートウェイデバイス14)は、コンピュータまたはサーバを含み得、そのような命令が記憶またはアクセスされるあらゆる手段によって、主にコンピュータ可読命令によって制御され得る。そのようなコンピュータ可読命令は、コンピューティングシステム90に作業をさせるために中央処理装置(Central Processing Unit:CPU)91内で実行され得る。多くの既知のワークステーション、サーバおよびパーソナルコンピュータでは、中央処理装置91はマイクロプロセッサと呼ばれるシングルチップCPUによって実装される。他の機械では、中央処理装置91は複数のプロセッサを含んでいてもよい。コプロセッサ81は、追加の機能を実行する、またはCPU91を支援する、メインCPU91とは異なる任意選択のプロセッサである。CPU91またはコプロセッサ81は、マッシュアップ結果の計算等、IoTにおいてセマンティックマッシュアップを可能にするための開示されたシステムおよび方法に関するデータを受信し、生成し、処理し得る。
動作中、CPU91は、命令をフェッチし、復号し、実行し、コンピュータのメインデータ転送経路であるシステムバス80を介して他のリソースとの間で情報を転送する。このようなシステムバスはコンピューティングシステム90のコンポーネント同士を接続し、データ交換用の媒体を規定する。典型的には、システムバス80は、データを送信するデータ回線、アドレスを送信するアドレス回線、および割込みを送信し、システムバスを動作させる制御回線を備える。そのようなシステムバス80の例は、PCI(Peripheral Component Interconnect)バスである。
システムバス80に接続されたメモリデバイスは、ランダムアクセスメモリ(RAM)82および読み取り専用メモリ(ROM)93を含む。このようなメモリは、情報を記憶および検索することを可能にする回路機構を備える。ROM93は一般に、容易に修正できない記憶データを含む。RAM82に記憶されたデータは、CPU91または他のハードウェアデバイスによって読み取りまたは変更され得る。RAM82またはROM93へのアクセスは、メモリコントローラ92によって制御され得る。メモリコントローラ92は、命令が実行されるときに仮想アドレスを物理アドレスに変換するアドレス変換機能を提供し得る。メモリコントローラ92はまた、システム内のプロセスを隔離し、システムプロセスをユーザプロセスから隔離するメモリ保護機能を提供し得る。したがって、第1のモードで動作しているプログラムは、それ自身のプロセス仮想アドレス空間によってマップされたメモリのみにアクセスでき、プロセス間のメモリ共有が設定されていない限り、他のプロセスの仮想アドレス空間内のメモリにはアクセスできない。
さらに、コンピューティングシステム90は、CPU91からの命令をプリンタ94、キーボード84、マウス95およびディスクドライブ85等の周辺機器に伝達する役割を果たす周辺機器コントローラ83を備え得る。
ディスプレイコントローラ96によって制御されるディスプレイ86は、コンピューティングシステム90によって生成された視覚的出力を表示するために使用され得る。そのような視覚的出力としては、テキスト、グラフィックス、動画およびビデオを挙げることができる。ディスプレイ86は、CRTベースのビデオディスプレイ、LCDベースのフラットパネルディスプレイ、ガスプラズマベースのフラットパネルディスプレイまたはタッチパネルを用いて実現され得る。ディスプレイコントローラ96は、ディスプレイ86に送信されるビデオ信号を生成するのに必要な電子部品を備える。
さらに、コンピューティングシステム90は、コンピューティングシステム90を図51Aおよび図51Bのネットワーク12等の外部通信ネットワークに接続するために使用され得るネットワークアダプタ97を備え得る。
本明細書に記載のシステム、方法およびプロセスのいずれかまたはすべては、コンピュータ可読記憶媒体に記憶されたコンピュータ実行可能命令(例えばプログラムコード)の形で具現化され得るが、この命令は、コンピュータ、サーバ、M2M端末デバイス、M2Mゲートウェイデバイス等の機械により実行されたときに、本明細書に記載のシステム、方法およびプロセスを実行または実施することを理解されたい。具体的には、上記のステップ、操作または機能のいずれも、そのようなコンピュータ実行可能命令の形で実施され得る。コンピュータ可読記憶媒体は、情報を記憶するための任意の方法または技術において実装される揮発性および不揮発性、取り外し可能および取り外し不能の媒体の両方を含むことができるが、そのようなコンピュータ可読記憶媒体は信号自体を含まない。本明細書の説明から明らかなように、記憶媒体は法定で定められた主題であると解釈されるべきである。コンピュータ可読記憶媒体としては、RAM、ROM、EEPROM、フラッシュメモリもしくは他のメモリ技術、CD-ROM、デジタル汎用ディスク(Digital Versatile Disk:DVD)もしくは他の光学ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶デバイスもしくは他の磁気記憶デバイス、または所望の情報を格納するために使用可能で、コンピュータによってアクセス可能な任意の他の物理的媒体が挙げられる。コンピュータ可読記憶媒体には、コンピュータプログラムが記憶されていてもよい。コンピュータプログラムは、データ処理ユニットにロード可能であり得、コンピュータプログラムがデータ処理ユニットによって実行されるときにデータ処理ユニットに方法ステップを実行させるように構成され得る。
図中に示す本開示の主題(IoTにおいてセマンティックマッシュアップを可能にすること)の好ましい方法、システムまたは装置を説明するにあたって、明確さを期して特定の用語が使用される。しかしながら、特許請求される主題は、そのように選択された特定の用語に限定されることを意図しておらず、各特定の要素は、類似の目的を果たすために同様の方法で動作するすべての技術的等価物を包含することを理解されたい。
本明細書に記載の種々の技術は、ハードウェア、ファームウェア、ソフトウェア、または適切な場合にはそれらの組み合わせと関連して実施され得る。そのようなハードウェア、ファームウェアおよびソフトウェアは、通信ネットワークのさまざまなノードに配置されている装置に常駐し得る。装置は、本明細書に記載の方法を実現するために、単独でまたは互いに組み合わせて動作し得る。本明細書で使用されるとき、用語「装置」、「ネットワーク装置」、「ノード」、「デバイス」、「ネットワークノード」等は同じ意味で用いられ得る。さらに、「または」という語の使用は、本明細書で別段の定めがない限り、一般に包括的に用いられる。
本明細書は、最良の形態を含む本発明を開示するために、また任意のデバイスまたはシステムを製造および使用すること、ならびに任意の組み込まれた方法を実行することを含め、当業者が本発明を実践することを可能にするために実施例を用いる。本発明の特許性のある範囲は特許請求の範囲によって定義され、当業者が思い付く他の実施例(例えば、本明細書に開示されている例示的方法のステップの省略、ステップの組み合わせまたはステップの追加)を含み得る。本明細書で提供される異なる実施例から、リソースまたは属性のうちのいくつかを消去するか、または属性もしくはリソース(例えば子リソース)を追加してもよいことが本明細書で企図される。例えば、図(例えば、図40、図42または図44等)または表(例えば、表4、表9または表10等)に示されるリソースまたは属性のいくつかは、図または表間で組み合わされても、または省略されてもよい(例えば、5つの属性を有する代わりに3つの属性があってもよい)。そのような他の実施例は、特許請求の範囲内にあることが意図され、これにより本明細書に開示されるように、IoTにおいてセマンティックマッシュアップを可能にするために特許請求の範囲を広げるかまたは狭めることができる。
とりわけ、本明細書に記載の方法、システムおよび装置は、IoTにおいてセマンティックマッシュアップを可能にするための手段を提供し得る。方法、システム、コンピュータ可読記憶媒体または装置は、プロファイルを取得し、プロファイルを使用して、プロファイルにより示される複数のオリジナルリソースからデータを収集する仮想リソースを生成し、収集されたデータに基づいて仮想リソースの結果を計算し、仮想リソースの結果を要求側に提供する手段を有する。プロファイルはセマンティックマッシュアップであり得る。セマンティックマッシュアッププロファイルは、マッシュアップ機能を含み得る。マッシュアップ機能は、複数のオリジナルリソースからデータを使用し得る。マッシュアップ機能は、要求側からの入力を使用し得る。仮想リソースは仮想セマンティックリソースであり、結果はセマンティックマッシュアップ結果である。仮想セマンティックリソースは、別の要求側によって発見および使用され得る。オリジナルリソースが修正されると、仮想セマンティックリソースが更新され得る。仮想セマンティックリソースは新たな場所に移動し得る。結果は仮想リソースとは別個に記憶され得る。方法、システム、コンピュータ可読記憶媒体または装置は、セマンティックマッシュアップリソースを生成する要求を受信し、要求メッセージに基づいてセマンティックマッシュアッププロファイルを識別し、セマンティックマッシュアッププロファイルに基づいて、生成されるセマンティックマッシュアップリソースのためのマッシュアップメンバリソースを決定し、セマンティックマッシュアップ結果を生成し、決定されたマッシュアップメンバリソースに基づいてセマンティックマッシュアップリソースを生成し、セマンティックマッシュアップリソースの結果のアドレスおよびセマンティックマッシュアップリソースのアドレスを送信する命令を提供する手段を有する。セマンティックマッシュアッププロファイルは、マッシュアップ機能に関するセマンティック情報を含み得る。マッシュアップ機能は、セマンティックマッシュアッププロファイルによって示されるように複数のオリジナルリソースからデータを使用し得る。セマンティックマッシュアッププロファイルは、マッシュアップメンバリソースがどのように選択されるべきかに関する情報を含み得る。セマンティックマッシュアップリソースは、複数の要求側によって発見または使用され得る。セマンティックマッシュアップリソースは、対応するオリジナルリソースが修正された後に更新され得る。要求メッセージは、セマンティックマッシュアップ挙動を示すタイプ属性を含み得る。本段落における、また発明を実施するための形態を通して開示されているすべての組み合わせ(ステップの削除または追加を含む)が企図される。