(58)【調査した分野】(Int.Cl.,DB名)
前記要求メッセージは、前記時間のウィンドウのタイプの指示を備え、前記時間のウィンドウのタイプは、スライディング時間ウィンドウを備えている、請求項1に記載の装置。
前記動作は、前記複数の標的リソースのうちの第1のリソースへのサブスクリプションの要求を提供することをさらに含み、前記第1のリソースへのサブスクリプションの要求は、前記複数の標的リソースの状態が満たすべき前記基準のうち、前記第1のリソースの状態が満たすべき基準を備えている、請求項1に記載の装置。
前記クロスリソースサブスクリプションは、1つ以上の特定のタイプの共通サービス機能の組を含む共通サービスエンティティによって実現される、請求項1に記載の装置。
コンピュータプログラムが記憶されたコンピュータ読み取り可能な記憶媒体であって、前記コンピュータプログラムは、前記装置内のデータ処理ユニット内にロードされ、前記コンピュータプログラムが前記データ処理ユニットによって実行されると、請求項10〜13のいずれか一項に記載の方法のステップを前記データ処理ユニットに行わせるように適合されている、コンピュータ読み取り可能な記憶媒体。
監視対象となる複数の標的リソースに予め定められた変化が起こった場合に通知を行うクロスリソースサブスクリプションのための装置、複数のリソースホスト、遠隔デバイスを少なくとも含むシステムであって、
前記遠隔デバイスから前記クロスリソースサブスクリプションのための装置に対して、クロスリソースサブスクリプションのための要求メッセージを送信することであって、前記要求メッセージは、前記複数の標的リソースに関する情報および時間のウィンドウに関する情報を含み、前記遠隔デバイスによる、サブスクリプションのための要求を示し、前記サブスクリプションは、前記時間のウィンドウ内で基準を満たす前記複数の標的リソースの変更を通知されるべき前記遠隔デバイスのためのものであることと、
前記クロスリソースサブスクリプションのための装置によって、前記要求メッセージに基づいて、前記複数の標的リソースが前記装置とは異なる一又は複数のリソースホストにホストされていることを決定することと、
前記決定に基づいて、前記複数の標的リソースをホストする一又は複数のリソースホストとの間で、サブスクリプションに関するメッセージの交換を行うことと、
前記サブスクリプションに関するメッセージの交換に基づいて、前記クロスリソースサブスクリプションを実現するためのローカルサブスクリプションリソースを前記装置が生成することであって、前記ローカルサブスクリプションリソースは、前記遠隔デバイスへの通知を行う際に参照される前記基準を含むこととを含み、
前記遠隔デバイスは、前記複数の標的リソースの状態が前記基準を満たす場合に、前記クロスリソースサブスクリプションのための装置から通知を享受可能である、
システム。
【背景技術】
【0001】
(関連出願の引用)
本願は、米国仮特許出願第62/255,649号(2015年11月16日出願、名称「Cross−Resource Subscription For M2M Service Layer」)の利益を主張し、上記出願の内容は、参照により本明細書に引用される。
【0002】
(サービス層)
図1は、サービス層100をサポートする例示的プロトコルスタックを図示する。
図1に示されるように、プロトコルスタックの視点から、サービス層100は、アプリケーションプロトコル層の上方に位置し、付加価値サービスをアプリケーションに、または別のサービス層に提供し得る。故に、サービス層は、多くの場合、「ミドルウェア」サービスとして分類される。例えば、
図1は、IPネットワークスタックとアプリケーションとの間の例示的サービス層を示す。
【0003】
M2Mサービス層は、M2Mタイプデバイスおよびアプリケーションのための付加価値サービスを提供することに特に目標を定められた1つのタイプのサービス層の例である。近年、いくつかの業界規格団体(例えば、oneM2M−TS−0001、oneM2M Functional Architecture、V−2.3.0(以降ではoneM2M))が、インターネット/ウェブ、セルラー、企業、およびホームネットワーク等の展開へのM2MタイプデバイスならびにM2Mタイプアプリケーションの統合に関連付けられる課題に対処するために、M2Mサービス層を開発している。
【0004】
M2Mサービス層は、サービス層によってサポートされるM2M指向能力の集合へのアクセスをアプリケーションおよびデバイスに提供し得る。いくつかの例は、セキュリティ、課金、データ管理、デバイス管理、発見、プロビジョニング、および接続性管理を含む。これらの能力は、M2Mサービス層によって定義されるようなメッセージフォーマット、リソース構造、リソース表現、および関数呼び出しを利用するアプリケーションプログラミングインターフェース(API)を介して、アプリケーションに利用可能にされる。例えば、M2Mサービス層は、それらのアクセス権に基づいてM2Mアプリケーションによって読み出されること、またはサブスクライブされることができる大量のM2Mデータを維持し得る。サブスクリプションベースのデータアクセスは、それが、サブスクライブされたリソースに対する所望の変化が起こるまでメッセージをM2Mアプリケーションに導入しないので、読み出しベースのデータアクセスよりも効率的であり得る。
【0005】
(oneM2Mサービス層アーキテクチャ)
oneM2Mは、種々のハードウェアおよびソフトウェア内に容易に組み込まれることができる共通M2Mサービス層の必要性に対処する技術的仕様を提供し、その技術的仕様は、フィールド内の多種多様なデバイスを世界中のM2Mアプリケーションサーバと接続するために依拠されることができる。
【0006】
oneM2M共通サービス層は、
図2に示されるように、共通サービス機能(CSF)(例えば、サービス能力)の組をサポートする。1つ以上の特定のタイプのCSFの組のインスタンス化は、共通サービスエンティティ(CSE)と称され、CSEは、異なるタイプのネットワークノード(例えば、インフラストラクチャノード(IN)、中間ノード(MN)、アプリケーションサービスノード(ASN))上にホストされることができる。CSFは、サービスの組をアプリケーションエンティティ(AE)または他のCSEに提供する。
【0007】
図3は、oneM2M機能的アーキテクチャ、すなわち、リソース指向アーキテクチャ(ROA)を図示する。ROAアーキテクチャにおいて、リソースは、アーキテクチャ内の一意にアドレス可能な要素であり、要素は、作成、読み出し、更新、および削除等のRESTful方法を介して操作されることができる表現を有する。これらのリソースは、ユニフォームリソース識別子(URI)を使用してアドレス可能にされる。リソースは、同様に一意にアドレス可能であり得る子リソースと、属性とを含み得る。子リソースは、親リソースと包含関係を有するリソースである。親リソース表現は、その子リソースへの参照を含む。子リソースの存続期間は、親リソースの存続期間によって限定される。各リソースは、リソースの情報を記憶する、「属性」の組をサポートする。
【0008】
CSE(例えば、CSE109)は、別のCSE(例えば、CSE111)に登録することができる。例えば、M2Mゲートウェイ(例えば、MN−CSE/CSE109)は、それ自体をM2Mサーバ(例えば、IN−CSE/CSE111)に登録し、M2Mサーバは、M2MゲートウェイのレジストラCSEになる。同様に、IN−AEがIN−CSEに登録するとき、IN−CSEは、IN−AEのレジストラCSEと称される。CSE111は、登録されたAE103またはAE118のための<application>リソースを作成し得る。
【0009】
図3では、アプリケーションエンティティ(AE)101およびAE118またはAE117およびAE103は、異なるM2Mアプリケーションを指し、それぞれ、インフラストラクチャドメイン107またはフィールドドメイン105の中に常駐し得る。oneM2M−TS−0011−Definitions and Acronyms−V0.7.0によると、フィールドドメイン107が、「M2Mデバイス、M2Mゲートウェイ、感知および作動(S&A)機器、ならびにM2Mエリアネットワークから成る」一方、インフラストラクチャドメイン105は、「アプリケーションインフラストラクチャおよびM2Mサービスインフラストラクチャから成る」。AE101は、Mcaインターフェース108を介して、CSE109の中のCSFにアクセスし、それを活用することができる。加えて、CSE109は、一式のCSFを提供し、CSE109は、Mccインターフェース110を介して別のCSE111と通信することができる。CSE109は、Mcnインターフェース112を介して、下層ネットワークからネットワークサービスエンティティ(NSE)113を活用することもできる。
【0010】
oneM2M Functionalal Archnitecture Baselineによると、oneM2M参照点は、Mca108、Mcc110、Mcc’114、およびMcn112を含む。Mca参照点108(Mcaインターフェースとしても公知である)は、AE(例えば、AE101)とCSE(例えば、CSE109)との間の通信フローを指定する。Mca参照点108は、AE101がCSE109によって提供されるサービスを使用することと、CSE109がAE101と通信することとを可能にする。Mcc参照点110は、2つのCSE(例えば、CSE109およびCSE111)の間の通信フローを指定する。Mcc参照点110は、必要とされる機能性を提供するために、CSE109がCSE111のサービスを使用することを可能にする。Mcc参照点110を介して提供されるサービスは、CSE109およびCSE111によってサポートされる機能性に依存する。
【0011】
Mcc’参照点114は、oneM2M対応であり、異なるM2M SPドメイン内に常駐するインフラストラクチャノード内の2つのCSEの間の通信フローを指定する。故に、これは、M2Mサービスプロバイダのネットワークドメイン内に常駐するインフラストラクチャノード105のCSE111が、別のM2Mサービスプロバイダ115のネットワークドメイン内に常駐する別のインフラストラクチャノード(図示せず)のCSEと通信し、そのサービスを使用すること、および逆も同様に可能にする。Mcn参照点112は、CSE109と下層NSE113との間の通信フローを指定する。Mcn参照点112は、必要とされる機能性を提供するために、CSE109が下層NSE113によって提供されるサービス(トランスポートおよび接続性サービス以外)を使用することを可能にする。
【0012】
登録(REG)CSF、アプリケーションおよびサービス層管理(ASM)CSF、デバイス管理(DM)CSF、データ管理およびリポジトリ(DMR)CSF、通信およびメッセージ配信ハンドリング(CMDH)CSF、サービス課金および会計(SCA)CSF等を含むいくつかのCSFが、oneM2M Functionalal Archnitecture Baselineで定義されている。例えば、CSE(例えば、M2Mサーバ)は、CSEによって提供される他のCSFを活用するために、AEが最初にそれ自体をCSEに登録することができるように、REG CSFを提供する。このアーキテクチャは、複数のAEが独立して同一のCSEに登録することを可能にする。登録が成功した後、CSEは、各AEのために別個のリソース(例えば、<application>リソース)を作成する。従来のoneM2M Functionalal Archnitecture Baselineは、異なるアプリケーションの間の関係をサポートする機能を欠いている。
【0013】
(oneM2Mサブスクリプションおよび通知CSF)
oneM2M機能的アーキテクチャは、CSFの組を定義し、CSFは、M2Mサーバ等のCSEによって他のCSEまたはAEに提供されることができる。定義されたCSFのうちの1つは、リソースにおける変更(例えば、リソースの削除)を追跡するサブスクリプションに関する通知を提供するサブスクリプションおよび通知(SUB)である。
【0014】
SUB CSFは、アクセス制御ポリシ(ACP)の対象である、リソースへのサブスクリプションを管理し、対応する通知を、リソースサブスクライバがそれらを受信することを欲するアドレスに送信する。oneM2Mによると、ACPは、oneM2M ROAアーキテクチャで規定されるように、リソースへのアクセスを制御するためにCSEによって使用されるものとする。ACPは、アクセス制御リスト、役割ベースのアクセス制御、または属性ベースのアクセス制御等の異なるアクセス制御モデルに適合するように設計される。<accessControlPolicy>リソースは、種々のACPをサポートするように規定され、種々のACPは、privilegesおよびselfPrivileges属性を含み、それらは、規定状況内である動作を行う特権を有するM2Mエンティティを定義するアクセス制御規則の組を表し、特定のリソースへのアクセス決定を行うことにおいてCSEによって使用される。AEまたはCSEは、サブスクリプションリソースサブスクライバである。AEおよびCSEは、他のCSEのリソースにサブスクライブする。サブスクリプションホスティングCSEは、リソースに対する修正が行われると、通知をリソースサブスクライバによって規定されるアドレスに送信する。リソースサブスクリプションの範囲は、サブスクライブ先リソースの属性および直接の子リソースの変更および動作を追跡することを含む。それは、子リソースの属性の変更を追跡することを含まない。各サブスクリプションは、どの通知が、いつ、どのようにして送信されるかを規定する通知基準を含み得る。これらの通知基準は、oneM2Mの通信管理および配信ハンドリング(CMDH)ポリシと共に機能し得る。
【0015】
サブスクリプションは、CSEリソース構造内でリソース<subscription>として表される。
【0016】
SUB CSFによってサポートされる機能は、以下の通りである。
・リソースサブスクリプション要求ごとのリソースサブスクライバID、ホスティングCSE−ID、およびサブスクライブ先リソースアドレスの包含。それは、他の基準(例えば、着目リソース修正および通知ポリシ)、および通知を送信する場所のアドレスも含み得る。
・単一のサブスクリプションを介して単一のリソースにサブスクライブする能力、または、数のリソースがグループ化され、単一のグループリソースとして表される場合、単一のサブスクリプションを介して複数のリソースにサブスクライブする能力。サブスクライバがリソースのグループにサブスクリプションを行うとき、同一のイベント通知基準がグループ中の全てのリソースに使用され、次に、ホスティングCSEは、(全てではないが)個々のリソースへの変更が生じる度に通知を生成し得る。
【0017】
oneM2Mでは、サブスクライバが、AEまたはCSEであり得る一方、ホスティングノードまた通過ノードは、CSEである必要がある。例えば、サブスクライバとしてのIN−AEは、IN−CSE(すなわち、ホスティングノード)によってホストされるリソースへのサブスクリプションを行い得る。別の例では、MN−CSEは、サブスクライバとしてのIN−AEがサブスクライブすることを欲するいくつかのリソースを有するが、IN−AEのサブスクリプション要求は、そのIN−CSE(すなわち、通過ノード)を通過し、MN−CSEに到達する必要がある。
【0018】
図4は、サブスクライバ132(例えば、IN−AE)がホスティングCSE131(例えば、IN−CSE/<subscribed−to−resource>)上のリソースへのサブスクリプションを行うoneM2M仕様による例示的プロシージャを図示する。それを行うために、ステップ134で、サブスクライバ132は、<subscribed−to−resource>の下に<subscription>リソースを作成するために、CREATE要求を発行する。サブスクライバ132は、ステップ134において、eventNotificationCriteriaおよび複数のnotificationURIを示し得る。eventNotificationCriteriaは、サブスクライバ132が関心を持つ<subscribed−to−resource>についてのイベントを示す。通知は、サブスクライバ132またはnotificationURI(例えば、サブスクライバ132のためのnotificationURI1およびこの例では別の通知標的である通知標的133のためのnotificationURI2)によって示されるような通知標的に送信されることができる。ステップ135では、ホスティングCSE131は、ホスティングCSEとして、ステップ134でサブスクリプション要求を受信した後、最初に、<subscribed−to−resource>のサブリソースとして<subscription>を作成する。ステップ136では、ホスティングCSE131は、ステップ134のサブスクリプション要求の成功または失敗を示し得るサブスクリプション応答を提供し得る。ステップ137では、eventNotificationCriteria(例えば、ステップ134で提供される基準)を満たすイベントが起こる。続いて、イベントが起こり、eventNotificationCriteriaを満たすとき、ステップ138および139において、ホスティングCSE131は、2つの通知を、それぞれ、それぞれのnotificationURIによって示されるサブスクライバ132および通知標的133に自動的に送信する。通知標的133は、ステップ134におけるnotificationURIがそのURIを含む場合、それ自体がサブスクライバであり得る。加えて、ステップ134のサブスクリプション要求は、サブスクライバ132が、将来の通知が複数の通知標的に送信されることを要求していることを意味する複数のnotificationURIを含み得る。そのような場合において、eventNotificationCriteriaは、同一であり、全てのnotificationURIに適用される。
図4に示されていないが、oneM2Mは、pendingNotification(sendAllPending)が使用される場合、そのホスティングCSE131がバッチ通知を行うことをサポートする。ホスティングCSE131は、1つのメッセージで複数の通知を同じnotificationURIに送信し得る。
【発明を実施するための形態】
【0024】
従来のoneM2Mアーキテクチャでは、サブスクライバは、単一のリソースへのサブスクリプションのみを行い、そのリソースへの予期される変更が存在すると自動通知を受信することができる(本明細書では「単一リソースサブスクリプション」または「単一リソース通知」としても知られる)。本明細書では、サブスクライバが複数のリソースへのサブスクリプションを行い、通知条件が複数のリソース(本明細書では「標的リソース」と称される)への依存に基づく、クロスリソースサブスクリプションおよびクロスリソース通知(随時、同義的に使用される)が開示される。oneM2Mで定義されるような標的リソースの例は、<container>リソースである。サブスクライバは、標的リソースに関連付けられる合致基準に基づいて通知を受信する。
【0025】
図5は、種々のタイプのセンサが、温度(例えば、温度センサ147)および煙(例えば、煙センサ148)等の建築物環境情報を監視するために展開される、スマートビルディングシナリオを図示する。センサからの読み取り値は、ローカルM2Mゲートウェイ144において記憶され得る。デスクトップコンピュータまたはスマートフォン上にあり得る、M2Mアプリケーション141は、必ずしも全ての個々のセンサ読み取り値に関心を持つわけではないが、「温度が25℃よりも高く」かつ「煙が検出された」ときに自動通知を受信することを欲する。これは、本開示におけるクロスリソースサブスクリプションの例である。クロスリソースサブスクリプションは、自動通知が、単一のリソースだけではなく、2つ以上のリソースに依存するサブスクリプションと考えられ得る。換言すると、通知は、複数のリソースへの変更が起こるときに生成される。この例では、自動通知は、単一のリソースではなく、2つのリソース(例えば、各々が標的リソースである、温度読み取り値および煙読み取り値)に依存し、クロスリソース通知と称される。(
図5には図示せず)別の例では、サブスクライバ(例えば、M2Mアプリケーション141)は、1)読み出し動作が第1のリソースに行われ、かつ、2)削除動作がほぼ同時に第2のリソースに行われるとき、通知を得るためにサブスクライブし得る。
【0026】
図5を参照して説明されるように、センサからの読み取り値は、リソースホストと称され得るローカルM2Mゲートウェイ144において記憶され得る。M2Mアプリケーション141は、サブスクライバとして、M2Mゲートウェイ144におけるリソースへのサブスクリプションを行う。oneM2Mにおける既存のoneM2Mリソースサブスクリプション機構が、単一のリソース、または同じイベント通知基準(例えば、複数の温度センサが華氏90度の温度を示した後に通知する)を伴うリソースのグループへのサブスクリプションのみをサポートするので、M2Mアプリケーション141は、従来、M2Mゲートウェイ144への2つの別個のサブスクリプションを行う必要がある(
図6参照)。
図6は、
図5のユースケースを実装しようとし得る例示的な従来のoneM2Mサブスクリプション機構を図示する。ステップ151では、M2Mゲートウェイ144は、温度センサ読み取り値(例えば、「25℃よりも高い温度」)に関するサブスクリプション要求を受信する。ステップ152では、M2Mゲートウェイ144は、煙センサ読み取り値(例えば、「煙が検出された」)に関する別のサブスクリプション要求を受信する。ステップ153では、M2Mゲートウェイ144は、温度センサ上で着目イベントが起こったことを決定し、ステップ154では、続いて、イベントに関する通知をM2Mアプリケーション141に送信する。ステップ155では、M2Mゲートウェイ144は、煙センサ上で着目イベントが起こったことを決定し、ステップ156では、続いて、イベントに関する通知をM2Mアプリケーション141に送信する。ステップ157では、M2Mアプリケーション141は、着目イベントが起こった(「温度が25℃よりも高い」および「煙が検出された」)かどうかを決定するために、ステップ154の通知およびステップ156の通知を分析する。従来のoneM2Mシステムの使用は、M2Mアプリケーション141において余分な通知(例えば、ステップ154およびステップ156)ならびにオーバーヘッド(例えば、さらなる処理)を導入する。M2Mアプリケーション141は、温度センサまたは煙センサが変化を有する度に、M2Mゲートウェイから別個の通知を受信し、次いで、それ自身の知能に依拠して、予期されるイベントが起こったかどうかを決定する。従来のグループサブスクリプションに関して、oneM2Mは、全てのグループメンバへの同一のイベント通知基準を伴うサブスクリプションのみをサポートし、したがって、このユースケースをサポートできないことを理解されたい。例えば、<group>リソースは、2つのメンバ(例えば、温度センサおよび煙センサ)を伴って、M2Mゲートウェイ144において作成されることができるが、M2Mアプリケーションは、それが同一のタイプでなければならない(例えば、第1の温度センサおよび第2の温度センサが25℃よりも高い)ので、本明細書で議論されるようなユースケース(例えば、「温度が25℃よりも高く」かつ「煙が検出された」)を実現する<group>/<subscription>リソース(換言すると、グループのためのサブスクリプション機構)を作成することができない。従来、M2Mアプリケーション141は、各メンバリソースのために異なるイベント通知基準を示すことができず、クロスリソース通知が既存のoneM2Mグループサブスクリプションに基づいて生成されるであろう方法を示すことができない。
【0027】
以下は、従来のoneM2Mサブスクリプションに関する複数の問題の議論である。(本明細書で議論されるような)クロスリソースサブスクリプションおよび通知を実装する試行は、サブスクライバからリソースホストへの余分なサブスクリプション要求メッセージを導入し得る。試行は、リソースホストからサブスクライバへの余分な通知メッセージも導入し得る。従来のoneM2Mを使用するリソースホストは、クロスリソース通知を決定する能力を有していない。余分な処理およびオーバーヘッドが、サブスクライバにおいて必要とされる。換言すると、サブスクライバは、最初に、個々のサブスクリプション間の関係および依存関係についての論理を維持する必要がある。次いで、それは、真の着目イベントが起こっているかどうかを決定するために、各受信された個々の通知を分析する必要がある。最後に、個々の通知が伝送中に失われた場合、サブスクライバは、着目イベントがリソースホストの中で起こったことを把握することができないこともある。失われた伝送が再伝送される場合、再伝送されたメッセージは、本明細書で議論されるようなクロスリソースサブスクリプションおよび通知と比較して、有意により多くのメッセージを通信チャネルに追加し得る。
【0028】
クロスリソースサブスクリプションおよびクロスリソース通知に関して本明細書で開示されるサブスクライバは、複数のリソースにサブスクライブし得る。通知条件は、複数のリソース(標的リソースと称される)への依存に基づき、受信される通知は、標的リソース上の予期される変更に基づく。
【0029】
サブスクライバは、概して、通知標的であると仮定されるが、そうではない場合があることに留意されたい。サブスクライバが通知標的ではない場合、通知がリソースホストからサブスクライバの代わりに特定の通知標的に発行されるであろうことを除いて、本明細書の説明されるプロシージャは、類似するであろう。
【0030】
基本クロスリソースサブスクリプションのためのプロシージャが、以下で議論される。基本クロスリソースサブスクリプションに対して、サブスクライバは、複数の標的リソースへのサブスクリプションを要求するために、単一メッセージをリソースホストに発行する。リソースホストは、これらの標的リソースをローカルで維持する。リソースホストは、基準が時間ウィンドウ内で標的リソースのために満たされるとき、クロスリソース通知をサブスクライバ(または指定通知標的)に発行する。
【0031】
図7−
図12に図示されるステップを行うエンティティは、
図20Cまたは
図20Dに図示されるもの等のデバイス、サーバ、もしくはコンピューティングシステムのメモリ内に記憶され、そのプロセッサ上で実行するソフトウェア(例えば、コンピュータ実行可能命令)の形態で実装され得る例示的論理エンティティであることが理解される。すなわち、
図7−
図12に図示される方法は、
図20Cまたは
図20Dに図示されるデバイスまたはコンピューティングシステム等のコンピューティングデバイスのメモリの中に記憶されるソフトウェア(例えば、コンピュータ実行可能命令)の形態で実装され得、そのコンピュータ実行可能命令は、コンピューティングデバイスのプロセッサによって実行されると、
図7−
図12に図示されるステップを行う。例では、M2Mデバイスの相互作用に関する以下のさらなる詳細に関し、
図35のAE741が、
図20AのM2M端末デバイス18上に常駐し得る一方、
図35のCSE732およびSscl742は、
図20AのM2Mゲートウェイデバイス14上に常駐し得る。
【0032】
図7は、基本クロスリソースサブスクリプションのための例示的フローを図示する。M2Mエンティティ161は、リソースホスト(例えば、oneM2M IN−CSE)であり、M2Mエンティティ162は、サブスクライバ(例えば、oneM2M IN−AE)である。ステップ164では、M2Mエンティティ162は、要求メッセージをM2Mエンティティ161に送信する。この要求メッセージは、M2Mエンティティ162が複数のリソース(例えば、標的リソース)の変更に関心を持ち、基準が満たされるときに単一の通知を受信することを期待することをM2Mエンティティ161に知らせるクロスリソースサブスクリプションのためのものである。以下のパラメータ、すなわち、listOfTargetResources、listOfEventNotificationCriteria、numOfTargetResourcesForNotification、timeWindowType、およびtimeWindowSizeが、ステップ164のメッセージの中に含まれ得る。listOfTargetResourcesは、M2Mエンティティ162が関心を持つ複数の標的リソース(例えば、標的リソースの識別子)のリストである。表1の中の例を参照されたい。listOfEventNotificationCriteriaは、標的リソースのためのイベント通知基準のリストである。1つのイベント通知基準が、listOfTargetResourcesの中の各リソースに適用される。各イベント通知基準は、oneM2Mで定義されるようなeventNotificationCriteriaに類似する。全ての標的リソースが同一のイベント通知基準を有する場合、このパラメータは、全ての標的リソースに適用される1つだけのイベント通知基準を含む。numOfTargetResourcesForNotificationは、基準が満たされる(例えば、標的リソース上で変更が起こる)場合にM2Mエンティティ162が通知を受信することを期待する標的リソースの数である。デフォルトにより、このパラメータの値は、listOfTargetResourcesに含まれる標的リソースの数に等しい。この場合、通知は、標的リソース上で変更が起こり、基準を満たすとき、M2Mエンティティ161によって生成される。numOfTargetResourcesForNotificationの値は、listOfTargetResourcesに含まれる標的リソースの数よりも少なくあり得る。この場合、M2Mエンティティ162は、標的リソース上で変更が起こり、基準を満たすとき、通知を生成し得る。timeWindowTypeは、M2Mエンティティ161がクロスリソース通知を決定するために使用し得る、時間ウィンドウのタイプ(例えば、周期的時間ウィンドウまたはスライディング時間ウィンドウ)を示す。timeWindowSizeは、この時間ウィンドウ中に標的リソース上で変更が起こり、基準を満たすとき、通知をM2Mエンティティ162に送信するようにM2Mエンティティ161にアラートする時間ウィンドウ持続時間である。timeWindowTypeおよびtimeWindowSizeは、本明細書でさらに詳細に議論される。
【0033】
【表1】
ステップ164を継続して参照すると、M2Mエンティティ162がM2Mエンティティ161と個々のサブスクリプションを前もって確立している場合、M2Mエンティティ162は、クロスリソースサブスクリプションを要求するために、おいて前もって確立されたサブスクリプションのURIをステップ164において含み得ることが考えられる。加えて、ステップ164に関して上で説明されるlistOfTargetResourcesへのlistOfEventNotificationCriteriaのマッピングは、listOfEventNotificationCriteriaおよびlistOfTargetResourcesを(targetResource,eventNotificationCriteria)タプルのリストと置換する等の他のマッピングオプションを有する。さらに、別の例は、listOfEventNotificationCriteriaおよびlistOfTargetResourcesを、単一のイベント通知基準に割り当てられた標的リソースのリスト、例えば、(targetResource1,targetResource2,targetResource3,eventNotificationCriteria1)、(targetResource4,targetResource5,eventNotificationCriteria2)等と置換することであり得る。
【0034】
ステップ165では、M2Mエンティティ161は、ステップ164のクロスリソースサブスクリプション要求メッセージを処理する。M2Mエンティティ161は、M2Mエンティティ162が標的リソース(例えば、その全体としてlistOfTargetResources)へのアクセス権を有していない場合、受信されたクロスリソースサブスクリプション要求メッセージを拒否し得る。要求が承認された場合、M2Mエンティティ161は、M2Mエンティティ162のためのlistOfTargetResources、listOfEventNotificationCriteria、numOfTargetResourcesForNotification、およびtimeWindowの記録を作成し得る。換言すると、M2Mエンティティ161によって承認されるM2Mエンティティ162からの各クロスリソースサブスクリプション要求のために、M2Mエンティティ161は、この承認されたクロスリソース要求を維持するためにローカルサブスクリプションリソースを作成する。そのようなリソース構造についての詳細は、oneM2Mとの関連において以降で議論される。
【0035】
ステップ166では、M2Mエンティティ161は、応答をM2Mエンティティ162に送信する。応答は、ステップ165で作成されるローカルサブスクリプションリソースのユニフォームリソース識別子(URI)、ならびにステップ164の要求メッセージの成功の指示を含み得る。ステップ167では、M2Mエンティティ161は、標的リソース上でイベントが生じることを観察する。ステップ168では、M2Mエンティティ161は、通知をM2Mエンティティ162に送信する必要があるかどうかを決定するために、時間ウィンドウアルゴリズムを行う。ステップ164に関して記述されるように、全てまたはいくつかの標的リソースへの変更(数がパラメータnumOfTargetResourcesForNotificationによって規定される)がパラメータtimeWindowSizeによる設計された時間ウィンドウ内で起こる場合、通知が生成されるであろう。リソースホストとしてのM2Mエンティティ161で実装される、そのような時間ウィンドウ機構は、クロスリソースサブスクリプションの知能を可能にし、それは、単一リソースサブスクリプションが使用された場合、そうでなければサブスクライバ(例えば、M2Mエンティティ162)に課され得る。
【0036】
図7のステップ168を継続して参照すると、基準が(numOfTargetResourceForNotificationによって表される)標的リソースの数で満たされる場合のみ、通知が生成され得ることが開示される。これは、論理および動作と考えられ得る。以下で議論されるような他のより先進的な動作も、M2Mエンティティ161によって適用され得る。この場合、M2Mエンティティ162は、ステップ164において動作タイプを要求し、M2Mエンティティ161に示し得る。M2Mエンティティ161は、任意の標的リソースが時間ウィンドウ内で予期される変更を有する(例えば、基準が満たされる)場合、クロスリソース通知を生成する。他の動作は、以下を含み得る:M2Mエンティティ161は、標的リソースのうちのいずれも時間ウィンドウ内で予期される変更を有していない場合、クロスリソース通知を生成する;M2Mエンティティ161は、いくつかの標的リソースが時間ウィンドウ内で予期される変更を有し、別のいくつかの標的リソースが同一の時間ウィンドウ内で予期される変更を有していない場合、クロスリソース通知を生成する;M2Mエンティティ161は、いくつかの標的リソースがいくつかの時間ウィンドウ内で予期される変更を連続的に有する場合、クロスリソース通知を生成する;M2Mエンティティ161は、いくつかの時間ウィンドウ内で予期される変更が連続的に存在しない場合、クロスリソース通知を生成する。別の例は、listOfTargetResourcesおよびlistOfEventNotificationCriteriaの両方が、2つの順序付けられたリストであることであり得る。よって、M2Mエンティティ161は、第1のnumOfTargetResourcesForNotification標的リソースのためのイベント通知基準が満たされる場合、クロスリソース通知を生成するか、またはM2Mエンティティ161は、第1のある数のイベント通知基準が満たされる場合、クロスリソース通知を生成する。
【0037】
ステップ169では、M2Mエンティティ161は、ステップ168からの決定が「はい」であると仮定して、通知をM2Mエンティティ162およびnotificationURIによって規定される他のエンティティに送信する。
【0038】
図8は、例示的進化型クロスリソースサブスクリプションを図示する。
図8は、M2Mエンティティ162(例えば、oneM2M IN−AE)が、依然としてM2Mエンティティ161(例えば、oneM2M IN−CSE)へのクロスリソースサブスクリプションを行うが、M2Mエンティティ161が、いかなる標的リソースもホストしないシナリオである。代わりに、各標的リソースは、異なるM2Mエンティティ(例えば、
図8に示される例として、M2Mエンティティ163およびM2Mエンティティ160(例えば、oneM2M MN−CSE))の中でホストされる。
図7のステップ164に類似するステップ171では、
図8のM2Mエンティティ162は、クロスリソースサブスクリプション要求メッセージをM2Mエンティティ161に送信する。M2Mエンティティ161は、M2Mエンティティ163およびM2Mエンティティ160上にオリジナルリソースのアドレスを有し得るか、またはM2Mエンティティ162は、それらのアドレスを直接発見し、パラメータlistOfTargetResourcesを介してM2Mエンティティ161に知らせ得ることが考えられる。
【0039】
図8を継続して参照すると、ステップ172では、M2Mエンティティ161は、サブスクリプション要求を処理する。そして、それは、ステップ171で示される標的リソースがローカルでホストされていないことを見出す。結果として、それは、他のリソースホストにコンタクトする必要がある。ステップ171は、M2Mエンティティ163およびM2Mエンティティ160において維持される2つの標的リソースの要求を含むことが仮定される。M2Mエンティティ162(サブスクライバ)は、oneM2Mで定義される既存のリソース発見プロシージャを使用して、M2Mエンティティ163またはM2Mエンティティ160において維持されるローカルリソースを発見し得る。このステップ171では、M2Mエンティティ161によって承認されるM2Mエンティティ162からの各クロスリソースサブスクリプション要求のために、M2Mエンティティ161は、承認されたクロスリソース要求を維持するためにローカルサブスクリプションリソースを作成し得る。そのようなリソース構造についての詳細は、oneM2Mとの関連において本明細書でさらに詳細に議論される。
【0040】
ステップ173では、M2Mエンティティ161は、単一の標的リソースのために、単一リソースサブスクリプション要求(例えば、oneM2Mで定義されるようなサブスクリプション要求)をM2Mエンティティ163に送信する。この標的リソースのためのイベント通知基準は、ステップ171に由来する。notificationURIは、M2Mエンティティ161であり得る。ステップ171では、M2Mエンティティ161は、このサブスクリプションがM2Mエンティティ162のクロスリソースサブスクリプションのためのものであることを示し得るか、またはM2Mエンティティ161は、M2Mエンティティ162のクロスリソースサブスクリプションについてのいかなる情報も示さないこともある。クロスリソースサブスクリプションの指示がある場合、M2Mエンティティ161は、このメッセージの中にM2Mエンティティ162の識別子を含み得る。
【0041】
図8を継続して参照すると、ステップ174では、M2Mエンティティ163は、応答をM2Mエンティティ161に送信する。M2Mエンティティ162の識別子がステップ173に含まれる場合、M2Mエンティティ163は、M2Mエンティティ162に対して(またはM2Mエンティティ161とともに)承認を行い、承認結果に基づいて、成功または失敗応答のいずれかをM2Mエンティティ161に送信し得る。そうでなければ、M2Mエンティティ163は、M2Mエンティティ161に対して承認を行い、応答をそれに送信するのみであり得る。ステップ175では、M2Mエンティティ161は、単一の標的リソースのために、単一リソースサブスクリプション要求(例えば、oneM2Mで定義されるようなサブスクリプション要求)をM2Mエンティティ160に送信する。この標的リソースのためのイベント通知基準は、ステップ161に由来する。notificationURIは、M2Mエンティティ161にリンクされ得る。ステップ171では、M2Mエンティティ161は、このサブスクリプションがM2Mエンティティ162のクロスリソースサブスクリプションのためのものであることを示し得るか、またはM2Mエンティティ161は、M2Mエンティティ162のクロスリソースサブスクリプションについてのいかなる情報も示さないこともある。クロスリソースサブスクリプションの指示がある場合、M2Mエンティティ161は、このメッセージの中にM2Mエンティティ162の識別子を含み得る。
【0042】
ステップ176では、M2Mエンティティ160は、応答をM2Mエンティティ161に送信する。M2Mエンティティ162の識別子がステップ175に含まれる場合、M2Mエンティティ160は、M2Mエンティティ162に対して(またはM2Mエンティティ161とともに)承認を行い、承認結果に基づいて、成功または失敗応答のいずれかをM2Mエンティティ161に送信し得る。そうでなければ、M2Mエンティティ160は、M2Mエンティティ161に対して承認を行い、応答をそれに送信するのみであり得る。ステップ177では、M2Mエンティティ161は、成功または失敗であり得るステップ171の結果を示すために、応答をM2Mエンティティ162に送信する。ステップ178では、標的リソース上のイベントが、M2Mエンティティ163において起こる。ステップ179では、M2Mエンティティ163は、通知をM2Mエンティティ161に送信する。M2Mエンティティ161は、この通知をバッファリングし、ステップ182において等、以降の期間で追加の処理を行い得る。ステップ180では、標的リソース上のイベントが、M2Mエンティティ160において起こる。ステップ181では、M2Mエンティティ160は、通知をM2Mエンティティ161に送信する。M2Mエンティティ161は、ステップ182における以降の処理のために、この通知をバッファリングし得る。ステップ179およびステップ181の通知は、満たされた基準に合致する、ステップ178およびステップ180のイベントに応答することが仮定される。基準は、最初に、ステップ171においてM2Mエンティティ161に提供され、次いで、続いて、M2Mエンティティ160およびM2Mエンティティ163等のM2Mエンティティに別個に配布され得る。
図7のステップ165に類似するステップ182では、
図8のM2Mエンティティ161は、通知がM2Mエンティティ162に送信されるものであるかどうかを決定するために、時間ウィンドウ機構を実施する。ステップ179およびステップ181からの両方の通知が、ステップ171で規定されるような指定時間ウィンドウ中に受信された場合、M2Mエンティティ161は、通知を生成し、通知をM2Mエンティティ162に送信する(ステップ183)。時間ウィンドウ機構についての詳細は、本明細書で議論される。ステップ183では、M2Mエンティティ161は、通知をM2Mエンティティ162に送信する。ステップ183の通知メッセージは、ステップ178および180で起こったイベントを含み得る。または、ステップ183の通知メッセージは、用途依存性であるが、M2Mエンティティ161によって決定される事前構成された規則に基づいて、アクションをトリガする指示のみであり得る。例えば、M2Mエンティティ162は、水道を開くためのコマンドをセンサに送信し得る(またはコマンドを受信し得る)。ステップ183における通知は、火災イベントの検出に関連付けられ得る。
【0043】
図8に関するいくつかの追加の考慮事項が、以下で議論される。
図8では、単一リソースサブスクリプション要求(例えば、ステップ173またはステップ175)が失敗する場合があり得る。この場合、M2Mエンティティ162からのクロスリソースサブスクリプションも失敗し、それは、ステップ177の応答メッセージの中に含まれ得る。ステップ173が最初に失敗する場合、M2Mエンティティ161は、M2Mエンティティ160にコンタクトしないこともあり、代わりに、失敗応答をM2Mエンティティ162に送信し得る。ステップ173が成功しているが、ステップ175が成功していない場合、M2Mエンティティ161は、(例えば、ステップ177において)失敗応答をM2Mエンティティ162に送信し得る。さらに、M2Mエンティティ163に関連付けられる、ステップ173および174において作成されるサブスクリプションは、非アクティブに(例えば、削除)され得る。ステップ173およびステップ175が両方とも成功しているが、M2Mエンティティ163(またはM2Mエンティティ160)における標的リソースが後に利用不可能になるか、または既存のサブスクリプションが無効になる場合、M2Mエンティティ161は、M2Mエンティティ162のためのそのローカルで作成されたクロスリソースサブスクリプションを除去し、失敗応答を送信し得る。加えて、M2Mエンティティ161は、他のリソースホスト(例えば、M2Mエンティティ160)との既存の単一リソースサブスクリプションを非アクティブにし得る。
【0044】
図8を継続して参照すると、別の考慮事項は、ステップ172に関する。ステップ172では、M2Mエンティティ161は、任意の数の理由により、M2Mエンティティ162のクロスリソースサブスクリプション要求を拒否し得る。1つの理由は、要求が特定の閾値を上回って処理またはメモリを増加させるであろうことであり得る。別の理由は、特定のサービスの品質が満たされることができないことであり得る。概して、理由は、要求が特定の基準に適合しないことであり得、複雑すぎること、または特定の時間ウィンドウ内に適合することができない/適合する可能性が低いことを含み得る。結果として、ステップ173−ステップ176は、省略されることができる(およびステップ178−ステップ183は、起こらないであろう)。M2Mエンティティ161は、M2Mエンティティ162への失敗の通知を含む応答メッセージを送信するために、ステップ177を使用するのみであり得る。
【0045】
図9は、既存のクロスリソースサブスクリプションを更新するための例示的メッセージフローを図示する。既存のクロスリソースサブスクリプションは、オリジナルサブスクライバ(または他の適格なエンティティ)によって更新され得る。例えば、標的リソースが除去されること、または新しい標的リソースが追加されることができる。イベント通知基準または時間ウィンドウサイズも、変更されることができる。ステップ191では、オリジナルサブスクライバとしてのM2Mエンティティ162は、例えば、
図7または
図8のプロシージャに従って作成されている既存のクロスリソースサブスクリプションの属性を更新するために、クロスリソースサブスクリプションのための更新メッセージをM2Mエンティティ161に送信する。ステップ191の更新メッセージは、以下のパラメータを含み得る:subscriptionID、listofTargetResource、eventNotificationCriteria、numOfTargetResourcesForNotification、timeWindowType、またはtimeWindowSize。subscriptionIDは、更新されるであろう既存のクロスリソースサブスクリプションのURIと考えられ得る。listOfTargetResourceは、全ての新しい標的リソースのリストと考えられ得る。listOfTargetResourceは、単純に、削除されるべき既存の標的リソースまたは付加されるべき新しい標的リソースを示し得る。eventNotificationCriteriaは、新しいイベント通知基準と考えられ得る。追加される任意の新しい標的リソースがある場合、eventNotificationCriteriaは、これらの新しい標的リソースのための通知基準を示す。numOfTargetResourcesForNotificationは、通知を生成するための要求される標的リソースの新しい数と考えられ得る。timeWindowTypeは、新しい時間ウィンドウタイプである。timeWindowSizeは、通知を決定するための時間ウィンドウの新しいサイズと考えられ得る。
【0046】
ステップ192では、M2Mエンティティ161は、既存のクロスリソースサブスクリプションを見出し、ステップ191に含まれるパラメータに従って、その属性を更新するために、subscriptionIDを使用する。timeWindowTypまたはtimeWindowSizeが変化するように要求される場合、M2Mエンティティ161は、既存のイベントを無視して現在の時間ウィンドウをリセットし、新しい時間ウィンドウを再開するであろう。numOfTargetResourcesForNotificationが変更される場合、M2Mエンティティ161は、現在の時間ウィンドウを保ち得るが、クロスリソース通知は、より早く(例えば、numOfTargetResourcesForNotificationが低減させられる)、またはより遅く(例えば、numOfTargetResourcesForNotificationが増加させられる)生成され得る。
【0047】
図9を継続して参照すると、ステップ193では、M2Mエンティティ161は、更新されたクロスリソースサブスクリプションに関与するいくつかの標的リソースが常駐する他のリソースホスト(例えば、M2Mエンティティ163)にコンタクトし得る。M2Mエンティティ162が、M2Mエンティティ163に常駐する標的リソース上のイベント通知基準を更新することを要求する場合、M2Mエンティティ161は、新しいイベント通知基準をM2Mエンティティ163に知らせることができる。M2Mエンティティ162がlistOfTargetResouceから標的リソースを除去することを要求し、標的リソースがM2Mエンティティ163に位置する場合、M2Mエンティティ161は、この標的リソースに関連付けられる前もって作成された単一リソースサブスクリプションを削除するために、M2Mエンティティ163にコンタクトするであろう。M2Mエンティティ162が新しい標的リソースをlistOfTargetResourceに追加することを要求し、この標的リソースがM2Mエンティティ163に位置する場合、M2Mエンティティ161は、M2Mエンティティ163において新しい単一リソースサブスクリプションを作成するためにM2Mエンティティ163にコンタクトし得る。ステップ194では、M2Mエンティティ161は、とりわけ、成功または失敗を示す情報等のステップ192およびステップ193における更新動作結果について、応答をM2Mエンティティ162に送信する。
【0048】
図10は、既存のクロスリソースサブスクリプションを更新するための例示的メッセージフローを図示する。既存のクロスリソースサブスクリプションは、オリジナルサブスクライバ(または他の適格エンティティ)によって削除されることができる。ステップ201では、M2Mエンティティ162(例えば、オリジナルサブスクライバ)は、例えば、
図7または
図8のプロシージャに従って作成されている既存のクロスリソースサブスクリプションを削除するためのメッセージをM2Mエンティティ161に送信する。ステップ201のこの削除メッセージは、削除されるであろう既存のクロスリソースサブスクリプションのURIであり得るsubscriptionIDを含み得る。ステップ202では、M2Mエンティティ161は、削除すべき既存のクロスリソースサブスクリプションを見出すために、subscriptionIDを使用する。ステップ203では、M2Mエンティティ161は、削除されるクロスリソースサブスクリプションに関連付けられる既存の単一リソースサブスクリプションを削除するために、削除されるクロスリソースサブスクリプションに関与するいくつかの標的リソースが常駐する他のリソースホスト(例えば、M2Mエンティティ163)にコンタクトし得る。ステップ204では、M2Mエンティティ161は、とりわけ、成功または失敗を示す情報等のステップ202およびステップ203における削除動作結果について、応答をM2Mエンティティ162に送信する。
【0049】
以下では、クロスリソース通知を送信すべきかどうかを決定することにおいて使用される時間ウィンドウ機構について議論される。各クロスリソースサブスクリプションにおいて、複数の標的リソースが関与し、各標的リソースのためのイベントが異なる時間に起こり得る。結果として、リソースホスト(例えば、M2Mエンティティ161)は、オリジナルサブスクライバによって示されるパラメータtimeWindowSizeに従って、通知をオリジナルサブスクライバに発行する必要があるかどうかを決定し得る。時間ウィンドウ機構「周期的時間ウィンドウ」および「スライディング時間ウィンドウ」が、本明細書で議論される。周期的時間ウィンドウに関して、時間は、同一のサイズを伴う時間ウィンドウに分割される。各時間ウィンドウに対して、リソースホストは、基準がその時間ウィンドウ内で標的リソースについて満たされるときに通知を発行する。スライディング時間ウィンドウに関して、時間ウィンドウの開始時間は、クロスリソース通知が生成された後、または事前設定された時間ウィンドウが満了した後、毎回動的に変化する。リソースホストは、(例えば、標的リソースのための予期されるイベントが時間ウィンドウ内で起こる場合のみ)通知を発行するために同様の論理を使用する。
【0050】
timeWindowSizeは、ゼロに設定されることができることに留意されたい。ゼロ値を伴うそのような時間ウィンドウを実装するために、指定イベント条件のうちの1つがトリガされるとき、リソースホストは、他のイベント通知基準も満たされているかどうかをチェックする必要がある。通知は、条件が実質的に同時に満たされる場合に送信される。例えば、{“event1:(temperature>25)”AND“event2:(smokeSensor=’Detected’)”}が起こるときにサブスクライバが通知を欲する場合、サブスクライバは、2つのイベントが同時に起こっている必要があることを意味するようにゼロの時間ウィンドウを規定し得る。
【0051】
図11は、周期的時間ウィンドウのための例示的方法を図示する。ステップ211では、リソースホスト(例えば、M2Mエンティティ161またはM2Mエンティティ160)は、時間ウィンドウ(tWin)と、空であり得るイベントリスト(eList)とを作成する。ステップ212では、M2Mエンティティ161は、標的リソースの次のイベントまたは時間ウィンドウ(tWin)の満了を待つ。ステップ213では、標的リソース上で新しいイベントが起こる場合、ステップ214に移行し、そうでなければ、時間ウィンドウが満了する場合、ステップ215に移行する。ステップ214では、M2Mエンティティ161は、このイベントをeListにバッファリングし得る。ステップ215では、M2Mエンティティ161は、eListが標的リソースのための予期されるイベントを含んでいる(すなわち、基準を満たす)かどうかをチェックする。該当する場合、ステップ216に移行し、そうでなければ、ステップ217に進む。ステップ216では、M2Mエンティティ161は、通知を生成し、notificationURIによって表される標的等の標的にそれを送信し得る。ステップ217では、M2Mエンティティ161は、時間ウィンドウ(tWin)を除去し、全てのバッファリングされたイベントを除去することによってeListを空にする。ステップ218では、M2Mエンティティ161は、新しい時間ウィンドウを作成し、その開始時間を現在の時間として設定する。リソースホストは、通知を送信するために時間ウィンドウの終了まで待つ必要がないことを理解されたい。リソースホストは、基準が時間ウィンドウ内で満たされると通知を送信する。例えば、通知は、
図13のtWin252におけるt14において送信され得る。
【0052】
図12は、スライディング時間ウィンドウのための例示的方法を図示する。ステップ220では、リソースホスト(例えば、M2Mエンティティ161またはM2Mエンティティ163)は、標的リソースの次のイベントまたは開始された時間ウィンドウ(tWin)の満了を待つ。ステップ220後、ステップ221では、標的リソースの新しいイベントが起こる場合、起こるリソース上のイベントに関するブロック244の開始であるステップ225に移行し、そうでなければ、時間ウィンドウが満了する場合、ステップ222に移行する。ステップ222は、時間ウィンドウ満了に関するステップのブロック241の開始である。
【0053】
ブロック241内で、ステップ222では、M2Mエンティティ161は、eListの中に含まれるイベントの数をチェックする。2つ以上のイベントがある場合(はい)、ステップ223に移行し、そうでなければ(いいえ)、ステップ235に移行する。ステップ223では、M2Mエンティティ161は、バッファリングされたイベントリスト(例えば、eList)のリストの中の第2のイベントに従って、現在の時間ウィンドウをスライドさせる。換言すると、時間ウィンドウの開始時間は、第2のイベントの発生時間に更新されるであろう。eListが1つだけのイベントを含む場合、リソースホストは、単純に、現在の時間ウィンドウを除去するのみであることに留意されたい。例えば、
図13では、「スライディング時間ウィンドウ」を指す、説明
図270の中のtWin273は、時間t4で起こる1つのみのイベント(イベントリソースタイプ281)を有する。時間t5では、tWin273が満了し、eListおよび時間は、1つのイベントしかなかったのでリセットされるであろう。次いで、新しい時間ウィンドウ(例えば、tWin274)が、新しいイベント(イベントリソースタイプ282)が起こるときに時間t6で再開されるであろう。リセットは、全ての標的リソースが時間ウィンドウ内で基準に合致しない場合にも起こり得る。ステップ2247では、eListの中の第1のイベントが、除去されるであろう。ここで、第2のイベントが、eListの中の第1のイベントになる。次いで、ステップ220が、次のステップである。
【0054】
ステップ225では、M2Mエンティティ161は、すでに作成されている時間ウィンドウがあるかどうかをチェックする。該当する場合、ステップ226に移行し、そうでなければ、時間ウィンドウが存在する場合、ステップ228に移行する。ステップ226では、M2Mエンティティ161は、所定の基準に合致したイベントの指示を受信するおよその時間であり得る現在の時間として、その開始時間を設定する時間ウィンドウ(本明細書ではtWinと称される)を作成する。ステップ227では、M2Mエンティティ161は、イベントリスト(eListと称される)を作成し、このイベントを第1のイベントとしてそれに挿入する。eListが作成された後、次いで、ステップ220が起こり得る。ステップ228では、すでに作成されているeListがある。リソースホストは、このイベントをeListの最後に付加する。ステップ229では、M2Mエンティティ161は、このイベントが標的リソースのための第1のイベントであるかどうかをチェックする。該当しない場合、ステップ230に移行し、そうでなければ、該当する場合、ステップ233に移行する。ステップ230では、同一の標的リソースのためのより古いイベントが、eListから除去される。ステップ231では、リソースホストは、除去されたより古いイベントがeListの中の第1のイベントであったかどうかをチェックする。ステップ231が該当する場合、ステップ232に移行し、そうでなければ、ステップ220に進む。ステップ232では、M2Mエンティティ161は、更新されたeListに従って時間ウィンドウをスライドさせ得る。換言すると、時間ウィンドウの開始時間は、更新されたeListの中の第1のイベントの発生時間に設定される。ステップ233では、M2Mエンティティ161は、eListが標的リソースのための予期されるイベントを含むかどうかをチェックする。該当する場合、ステップ234に移行し、そうでなければ、ステップ220に進む。ステップ234では、M2Mエンティティ161は、通知を生成し、notificationURIによって表されるような通知標的にそれを送信する。ステップ235では、M2Mエンティティ161は、時間ウィンドウおよびeListを除去し、次いで、ステップ220に進む。
【0055】
図13は、周期的時間ウィンドウおよびスライディング時間ウィンドウのための例を図示する。この例では、2つの標的リソース、すなわち、イベントリソースタイプ281およびイベントリソースタイプ282があることが仮定される。示されるイベントリソースタイプは、少なくとも1つの基準が時間段階(例えば、t11、t12、t13、t14、t15)において1つの標的リソースのために満たされていることを示す。周期的時間ウィンドウは、新しい時間ウィンドウの開始時間が、通常、固定された時間段階または時限において出現する時間ウィンドウ機構である。
図13に示されるように、説明
図250(周期的時間ウィンドウ)に対して、3つの連続時間ウィンドウ(例えば、tWin251、tWin252、およびtWin253)が作成されるが、tWin252およびtWin253のみが、両方のリソースのイベントを含む。結果として、tWin251における通知はないが、通知は、tWin252およびtWin253のために生成されるであろう。換言すると、tWin251が、標的リソースのための基準を満たさないことに基づいてトリガされる通知を伴わない時間ウィンドウである一方、tWin252およびtWin253は、標的リソースのための基準を満たすことに基づいてトリガされる通知を有する時間ウィンドウである。
図13に示されるように、説明
図270(スライディング時間ウィンドウ)に関して、4つの時間ウィンドウ(例えば、tWin271、tWin272、tWin273、およびtWin274)が生成される。各時間ウィンドウは、実際には、標的リソースのための基準に合致するイベントの発生によって時間段階(例えば、t1、t2、t3、t4、t6、t7)において開始されることに留意されたい。説明
図270は、tWin272およびtWin274が標的リソースの各々の所定の基準を満たすイベントを含み、通知を生成するであろうことを示す。
図13では、イベントリソースタイプ281およびイベントリソースタイプ282のみが通知をトリガするために必要とされる標的リソースであることが、ここで仮定される。
【0056】
以下は、oneM2Mアーキテクチャでクロスリソースサブスクリプションを実装するための例である。以下では、高レベルアーキテクチャオプション、新しいリソースおよび属性、ならびに対応するコールフローについて議論される。ユーザインターフェースも、クロスリソースサブスクリプション関連パラメータおよび情報の例示的表示または構成に関して議論される。
【0057】
oneM2Mに関して、リソースホスト(例えば、M2Mエンティティ161)に関連するプロシージャおよびプロセスは、CSE(例えば、
図20AのM2Mサービス層22)で実装され得る。そして、プロシージャおよびプロセスは、AE(またはサブスクライバである場合はCSE)の中のサブスクライバ(例えば、
図8のM2Mエンティティ162)に関連する。
【0058】
図14は、oneM2Mに基づく拡張サブスクリプションおよび通知(eSUB)CSF292を形成するために、既存のSUB CSFに対してクロスリソースサブスクリプションまたは通知に関して開示されるものを実装するための例を図示する。この新しいeSUB292は、本明細書に説明されるようなリソースホストに関連するプロシージャおよびプロセスをサポートする。eSUB292は、IN−CSE、MN−CSE、またはASN−CSEの中に常駐し得る。
【0059】
図15は、oneM2Mにおけるクロスリソースサブスクリプションの3つの例示的展開を図示する。
図15Aは、リソースホストがeSUBを伴うホスティングCSEである一方、AE(例えば、IN−AE、MN−AE、ASN−AE、またはADN−AE)としてサブスクライバを伴う例を図示する。本明細書で議論されるプロシージャは、ホスティングCSE294(リソースホスト)とAE296(サブスクライバ)との間のMca参照点295に適用される。提案される新しいリソース<xRsrcSub>は、eSubを伴うホスティングCSE(例えば、IN−CSE、MN−CSE、またはASN−CSE)の中に常駐するであろう。
図15Bは、リソースホストがeSUBを伴うホスティングCSE297である一方、CSE299(例えば、MN−CSE、IN−CSE)としてサブスクライバを伴う例を図示する。本明細書で議論されるプロシージャは、ホスティングCSE297とサブスクライバであるCSE299との間のMcc/Mcc’参照点298に適用される。開示される新しいリソース<xRsrcSub>は、eSubを伴うホスティングCSE(例えば、IN−CSE)の中に常駐するであろう。
図15Cは、その標的リソースが3つのCSE(例えば、eSUBを伴うホスティングCSE303、MN−CSE305、およびMN−CSE307)の中で分配されている一方、AE(例えば、IN−AE)としてサブスクライバを伴う例を図示する。本明細書で議論されるプロシージャは、eSUBを伴うホスティングCSEとサブスクライバAE301との間のMca参照点302に適用される。この場合、MN−CSE305およびMN−CSE307は、eSUBをサポートしないが、oneM2Mにおける既存のSUB機能性のみを有する。開示される新しいリソース<xRsrcSub>は、eSubを伴うホスティングCSE303(例えば、IN−CSE)の中に常駐するであろう。
【0060】
図7−
図10に関するプロシージャをサポートするために、新しいサブスクリプションリソース(<xRsrcSub>と称される)が、例えば、oneM2Mのために本明細書で議論される。<xRsrcSub>は、eventNotificationCriteriaおよび表1に示されるようないくつかの新しい属性を除いて、既存のリソース<subscription>の全ての子リソースおよび属性(例えば、notificationURI)を有し得る。表1は、新しい属性の例である。標的リソースが専用の属性listOfTargetResourcesによって表されるので、<xRsrcSub>が<sclBase>リソースツリーの下に作成される場場合、問題にならないであろう。
図17は、本明細書で議論されるようなクロスリソースサブスクリプションおよび通知システムの効果の例を図示する。種々の場所(例えば、<AE>の子リソース、<CSE>の子リソース、<CSEBase>の子リソース、または<group>の子リソース)に設置されることができ、それは、基本的に、<xRsrcSub>は、oneM2Mアーキテクチャにおける従来の<subscription>リソースと異なる。
図16は、従来のリソース構造の例を図示し、サブスクリプションは、関連リソースに対する子である。
【0061】
【表1-1】
<xRsrcSub>リソースプロシージャは、listOfTargetResourcesによって表される複数の標的リソースの修正のために通知されるべき新しい<xRsrcSub>リソースの作成を要求するために、使用され得る。一般的な作成プロシージャは、oneM2M(oneM2M−TS−0001,oneM2M Functional Architecture,V−2.3.0、以降では[1])の中の第10.1.1.1節で説明される。表2は、例示的<xRsrcSub>CREATEを図示する。
【0062】
【表2】
プロシージャは、<xRsrcSub>リソースの属性および子リソース情報を読み出すために使用され得る。一般的な読み出しプロシージャは、[1]の中の第10.1.2節で説明される。表3は、例示的<xRsrcSub>RETRIEVEである。
【0063】
【表3】
プロシージャが、既存のクロスリソースサブスクリプション(例えば、<xRsrcSub>リソース)、例えば、listOfTargetResources等のその属性の修正を更新するために使用され得る。一般的な更新プロシージャは、[1]の中の第10.1.3節で説明される。表4は、例示的<xRsrcSub>UPDATEである。
【0064】
【表4】
プロシージャが、既存のクロスリソースサブスクリプション(すなわち、<xRsrcSub>リソース)をサブスクライブ解除するために使用され得る。一般的な削除プロシージャは、[1]の中の第10.1.4.1節で説明される。表5は、<xRsrcSub>DELETEの例である。
【0065】
【表5】
ホスティングCSEが<xRsrcSub>creation(または<xRsrcSub>update)を受信した後、通知が発行される必要があるかどうかを決定するために、それは、本明細書に説明されるような時間ウィンドウ機構を実施する。標的リソース上の予期される変更が時間ウィンドウ内で起こるときのみ、ホスティングCSEが通知を発信側またはその指定通知受信側に発行する。
【0066】
oneM2Mにおける従来の<subscription>リソースは、例えば、表6に説明されるようないくつかの新しい属性を追加することによって、開示されるクロスリソースサブスクリプションをサポートするように拡張され得る。換言すると、これらの新しい属性を使用することによって、サブスクライバ(例えば、作成側または<subscription>)は、クロスリソースサブスクリプションをトリガし得るか、またはそれを可能にし得る。例では、IN−CSEが、2つのメンバ<container1>および<container2>を有する<group>リソース(例えば、<inCSEBase>/<group>)を有することを仮定されたい。IN−AEが、両方のコンテナリソースの値が閾値を超えるときに自動通知を受信することを欲する場合、この<group>リソースの子リソースとして<subscription>を作成し、以下のCREATEコマンドを使用して、新しい属性のための適切な値を設定し得る。次いで、IN−CSEは、両方のコンテナリソースの値がtimeWindowSize(例えば、60秒)内で閾値を超えるように変更される場合に通知を発行する。例示的CREATEコマンド:CREATE<inCSEBase>/<group>/<subscription>;payload:subType=1(クロスリソースサブスクリプション)、timeWindowType=1(例えば、周期的時間ウィンドウ)、timeWindowSize=60秒である。
【0068】
【表6-2】
<subscription>リソースへの提案される新しい属性を用いて、oneM2Mにおいて<subscription>を作成するためのプロシージャが更新され得る。しかし、<subscription>を読み出し、<subscription>を更新し、<subscription>を削除するためのプロシージャは、oneM2M[1]の中の既存のものと同一であり得る。
【0069】
(<subscription>を作成する)
このプロシージャは、複数の標的リソースにわたる修正のために通知される新しい<subscription>リソースの作成を要求するために、使用されるものとする。一般的な作成プロシージャは、[1]の中の第10.1.1.1節で説明される。
【0070】
【表7】
ホスティングCSEが<subscription>creationを受信した後、通知が発行される必要があるかどうかを決定するために、本明細書に説明されるような時間ウィンドウ機構を実施する。標的リソース上の予期される変更が時間ウィンドウ内で起こるときのみ、ホスティングCSEが通知を発信側またはその指定通知受信側に発行する。
【0071】
ユーザインターフェースは、標的リソースのリスト、イベント通知基準のリスト、および時間ウィンドウサイズ等のクロスリソースサブスクリプションのパラメータを構成または表示するために、サブスクライバ(例えば、AE)と相互作用し得る(
図18参照)。
図19は、本明細書で議論される方法およびシステムに基づいて生成され得る、例示的ディスプレイ(例えば、グラフィカルユーザインターフェース)を図示する。
図19を参照すると、リソースホストに関して、ユーザインターフェース321は、ブロック322のクロスリソースサブスクリプションパラメータに加えて、(例えば、ほぼリアルタイムで)標的リソース情報323の発生イベントを表示し得る。ディスプレイインターフェース321(例えば、タッチスクリーンディスプレイ)は、表1から表7のパラメータ等のクロスリソースサブスクリプションに関連付けられる他のテキストをブロック322の中で提供し得る。別の例では、本明細書で議論されるステップのうちのいずれかの進捗度(例えば、送信されたメッセージまたは
図7−
図12のステップの成功)が、ディスプレイ321によって表示され得る。加えて、グラフィカル出力324が、ディスプレイインターフェース324上に表示され得る。グラフィカル出力324は、デバイスのトポロジ、本明細書で議論される任意の方法もしくはシステムの進捗度のグラフィカル出力等であり得る。
【0072】
図20Aは、クロスリソースサブスクリプションに関連付けられる1つ以上の開示される概念が実装され得る(例えば、
図7−
図19および付随する議論)、例示的マシンツーマシン(M2M)、モノのインターネット(IoT)、またはモノのウェブ(WoT)通信システム10の略図である。概して、M2M技術は、IoT/WoTのための構築ブロックを提供し、任意のM2Mデバイス、M2Mゲートウェイ、またはM2Mサービスプラットフォームは、IoT/WoTのコンポーネントならびにIoT/WoTサービス層等であり得る。
【0073】
図20Aに示されるように、M2M/IoT/WoT通信システム10は、通信ネットワーク12を含む。通信ネットワーク12は、固定ネットワーク(例えば、Ethernet(登録商標)、Fiber、ISDN、PLC等)または無線ネットワーク(例えば、WLAN、セルラー等)、もしくは異種ネットワークのネットワークであり得る。例えば、通信ネットワーク12は、音声、データ、ビデオ、メッセージング、ブロードキャスト等のコンテンツを複数のユーザに提供する複数のアクセスネットワークから成り得る。例えば、通信ネットワーク12は、符号分割多重アクセス(CDMA)、時分割多重アクセス(TDMA)、周波数分割多重アクセス(FDMA)、直交FDMA(OFDMA)、単一キャリアFDMA(SC−FDMA)等の1つ以上のチャネルアクセス方法を採用し得る。さらに、通信ネットワーク12は、例えば、コアネットワーク、インターネット、センサネットワーク、工業制御ネットワーク、パーソナルエリアネットワーク、融合個人ネットワーク、衛星ネットワーク、ホームネットワーク、または企業ネットワーク等の他のネットワークを備え得る。
【0074】
図20Aに示されるように、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(登録商標))、直接無線リンク、および有線を含む、種々のネットワークを介して通信し得る。
【0075】
図20Bを参照すると、フィールドドメイン内の図示されるM2Mサービス層22(例えば、本明細書に説明されるようなホスティングCSE294)は、M2Mアプリケーション20、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の機能は、例えば、ウェブサーバとして、セルラーコアネットワークで、クラウドで等、種々の方法で実装され得る。
【0076】
図示される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つ以上のサーバ、コンピュータ、仮想マシン(例えば、クラウド/計算/記憶ファーム等)等によって実装され得る。
【0077】
図20Bをさらに参照すると、M2Mサービス層22および22’は、多様なアプリケーションおよびバーティカルが活用することができるサービス配信能力のコアセットを提供する。これらのサービス能力は、M2Mアプリケーション20および20’がデバイスと相互作用し、データ収集、データ分析、デバイス管理、セキュリティ、請求、サービス/デバイス発見等の機能を果たすことを可能にする。本質的に、これらのサービス能力は、これらの機能性を実装する負担をアプリケーションから取り除き、したがって、アプリケーション開発を単純化し、市場に出す費用および時間を削減する。サービス層22および22’は、M2Mアプリケーション20および20’が、サービス層22および22’が提供するサービスと関連して、種々のネットワーク12および12’を通して通信することも可能にする。
【0078】
いくつかの例では、M2Mアプリケーション20および20’は、本明細書に議論されるようなクロスリソースサブスクリプションに関連付けられる方法を使用して通信する、所望のアプリケーションを含み得る。M2Mアプリケーション20および20’は、限定ではないが、輸送、保健および健康、コネクテッドホーム、エネルギー管理、アセット追跡、ならびにセキュリティおよび監視等の種々の業界でのアプリケーションを含み得る。上記のように、システムのデバイス、ゲートウェイ、および他のサーバを横断して起動するM2Mサービス層は、例えば、データ収集、デバイス管理、セキュリティ、請求、場所追跡/ジオフェンシング、デバイス/サービス発見、およびレガシーシステム統合等の機能をサポートし、サービスとしてこれらの機能をM2Mアプリケーション20および20’に提供する。
【0079】
本願のクロスリソースサブスクリプションに関連付けられるシステムは、サービス層の一部として実装され得る。サービス層(例えば、ホスティングCSE294)は、アプリケーションプログラミングインターフェース(API)および下層ネットワーキングインターフェースの組を通して付加価値サービス能力をサポートするソフトウェアミドルウェア層である。M2Mエンティティ(例えば、ハードウェアおよびソフトウェアの組み合わせによって実装され得るデバイス、ゲートウェイ、またはサービス/プラットフォーム等のM2M機能エンティティ)は、アプリケーションまたはサービスを提供し得る。ETSI M2MおよびoneM2Mは両方とも、本願のクロスリソースサブスクリプションに関連付けられる方法を含み得るサービス層を使用する。ETSI M2Mのサービス層は、サービス能力層(SCL)と称される。SCLは、M2Mデバイス(デバイスSCL(DSCL)と称される)、ゲートウェイ(ゲートウェイSCL(GSCL)と称される)、またはネットワークノード(ネットワークSCL(NSCL)と称される)内で実装され得る。oneM2Mサービス層は、共通サービス機能(CSF)(すなわち、サービス能力)の組をサポートする。1つ以上の特定のタイプのCSFの組のインスタンス化は、異なるタイプのネットワークノード(例えば、インフラストラクチャノード、中間ノード、特定用途向けノード)上でホストされることができる共通サービスエンティティ(CSE)と称される。さらに、本願のクロスリソースサブスクリプションに関連付けられるシステムは、本願のクロスリソースサブスクリプションに関連付けられるシステム等のサービスにアクセスするために、サービス指向アーキテクチャ(SOA)またはリソース指向アーキテクチャ(ROA)を使用するM2Mネットワークの一部として実装されることができる。
【0080】
本明細書で議論されるように、サービス層は、ネットワークサービスアーキテクチャ内の機能的層と考えられ得る。サービス層は、典型的には、HTTP、CoAP、またはMQTT等のアプリケーションプロトコル層の上方に位置し、付加価値サービスをクライアントアプリケーションに提供する。サービス層はまた、インターフェースを、例えば、制御層およびトランスポート/アクセス層等の下位リソース層におけるコアネットワークに提供する。サービス層は、サービス定義、サービス実行時間有効化、ポリシ管理、アクセス制御、およびサービスクラスタリングを含む、(サービス)能力または機能性の複数のカテゴリをサポートする。近年、いくつかの業界規格団体、例えば、oneM2Mが、インターネット/ウェブ、セルラー、企業、およびホームネットワーク等の展開へのM2Mタイプのデバイスならびにアプリケーションの統合に関連付けられる課題に対処するために、M2Mサービス層を開発している。M2Mサービス層は、CSEまたはSCLと称され得る、サービス層によってサポートされる上記の能力もしくは機能性の集合または組へのアクセスをアプリケーションまたは種々のデバイスに提供することができる。いくつかの例は、種々のアプリケーションによって一般に使用されることができるセキュリティ、課金、データ管理、デバイス管理、発見、プロビジョニング、および接続性管理を含むが、それらに限定されない。これらの能力または機能性は、M2Mサービス層によって定義されるメッセージフォーマット、リソース構造、およびリソース表現を利用するAPIを介して、そのような種々のアプリケーションに利用可能にされる。CSEまたはSCLは、ハードウェアまたはソフトウェアによって実装され得、それらがそのような能力もしくは機能を使用するために、種々のアプリケーションまたはデバイス(すなわち、そのような機能エンティティ間の機能インターフェース)にエクスポーズされる(サービス)能力もしくは機能性を提供する、機能エンティティである。
【0081】
図20Cは、例えば、M2M端末デバイス18またはM2Mゲートウェイデバイス14等の例示的M2Mデバイス30の系統図である。
図20Cに示されるように、M2Mデバイス30は、プロセッサ32と、送受信機34と、伝送/受信要素36と、スピーカ/マイクロホン38と、キーパッド40と、ディスプレイ/タッチパッド42と、非取り外し可能メモリ44と、取り外し可能メモリ46と、電源48と、全地球測位システム(GPS)チップセット50と、他の周辺機器52とを含み得る。M2Mデバイス30は、開示される主題と一致したままで、先述の要素の任意の副次的組み合わせを含み得ることが理解されるであろう。M2Mデバイス30(例えば、M2Mエンティティ161、M2Mエンティティ160、M2Mエンティティ163、M2Mエンティティ162、ホスティングCSE294、AE296、MN−CSE305、およびその他)は、クロスリソースサブスクリプションのための開示されるシステムおよび方法を行う、例示的実装であり得る。
【0082】
プロセッサ32は、汎用プロセッサ、特殊目的プロセッサ、従来のプロセッサ、デジタル信号プロセッサ(DSP)、複数のマイクロプロセッサ、DSPコアと関連する1つ以上のマイクロプロセッサ、コントローラ、マイクロコントローラ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)回路、任意の他のタイプの集積回路(IC)、状態マシン等であり得る。プロセッサ32は、信号符号化、データ処理、電力制御、入出力処理、またはM2Mデバイス30が無線環境で動作することを可能にする任意の他の機能性を果たし得る。プロセッサ32は、伝送/受信要素36に結合され得る送受信機34に結合され得る。
図20Cは、プロセッサ32および送受信機34を別個のコンポーネントとして描写するが、プロセッサ32および送受信機34は、電子パッケージまたはチップの中に一緒に統合され得ることが理解されるであろう。プロセッサ32は、アプリケーション層プログラム(例えば、ブラウザ)または無線アクセス層(RAN)プログラムもしくは通信を実施し得る。プロセッサ32は、例えば、アクセス層またはアプリケーション層等で、認証、セキュリティキー一致、もしくは暗号化動作等のセキュリティ動作を実施し得る。
【0083】
伝送/受信要素36は、信号をM2Mサービスプラットフォーム22に伝送し、またはM2Mサービスプラットフォーム22から信号を受信するように構成され得る。例えば、伝送/受信要素36は、RF信号を伝送または受信するように構成されるアンテナであり得る。伝送/受信要素36は、WLAN、WPAN、セルラー等の種々のネットワークならびにエアインターフェースをサポートし得る。例では、伝送/受信要素36は、例えば、IR、UV、または可視光信号を伝送もしくは受信するように構成されるエミッタ/検出器であり得る。さらに別の例では、伝送/受信要素36は、RFおよび光信号の両方を伝送ならびに受信するように構成され得る。伝送/受信要素36は、無線または有線信号の任意の組み合わせを伝送もしくは受信するように構成され得ることが理解されるであろう。
【0084】
加えて、伝送/受信要素36は、単一の要素として
図20Cで描写されているが、M2Mデバイス30は、任意の数の伝送/受信要素36を含み得る。より具体的には、M2Mデバイス30は、MIMO技術を採用し得る。したがって、例では、M2Mデバイス30は、無線信号を伝送および受信するための2つ以上の伝送/受信要素36(例えば、複数のアンテナ)を含み得る。
【0085】
送受信機34は、伝送/受信要素36によって伝送される信号を変調するように、および伝送/受信要素36によって受信される信号を復調するように構成され得る。上記のように、M2Mデバイス30は、マルチモード能力を有し得る。したがって、送受信機34は、M2Mデバイス30が、例えば、UTRAおよびIEEE 802.11等の複数のRATを介して通信することを可能にするための複数の送受信機を含み得る。
【0086】
プロセッサ32は、非取り外し可能メモリ44または取り外し可能メモリ46等の任意のタイプの好適なメモリから情報にアクセスし、その中にデータを記憶し得る。非取り外し可能メモリ44は、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、ハードディスク、または任意の他のタイプのメモリ記憶デバイスを含み得る。取り外し可能メモリ46は、サブスクライバ識別モジュール(SIM)カード、メモリスティック、セキュアデジタル(SD)メモリカード等を含み得る。他の例では、プロセッサ32は、サーバまたはホームコンピュータ上等のM2Mデバイス30上に物理的に位置しないメモリから情報にアクセスし、その中にデータを記憶し得る。プロセッサ32は、本明細書に説明される例のうちのいくつかでは、クロスリソースサブスクリプションが成功または不成功であるかどうか(例えば、サブスクリプション設定、受信される通知、更新された時間ウィンドウ等)に応答して、ディスプレイまたはインジケータ42上の照明パターン、画像、もしくは色を制御する、または別様にクロスリソースサブスクリプションおよび関連付けられるコンポーネントのステータスを示すように構成され得る。ディスプレイまたはインジケータ42上の制御照明パターン、画像、もしくは色は、本明細書に図示または議論される図(例えば、
図7−
図19等)の方法フローもしくはコンポーネントのうちのいずれかのステータスを反映し得る。本明細書では、クロスリソースサブスクリプションのメッセージおよびプロシージャが開示される。メッセージおよびプロシージャは、ユーザが入力ソース(例えば、スピーカ/マイクロホン38、キーパッド40、またはディスプレイ/タッチパッド42)を介して関連リソースを要求し、ディスプレイ42上に表示され得るものの中でも、リソースのクロスリソースサブスクリプション情報を要求する、構成する、またはクエリを行うためのインターフェース/APIを提供するように拡張されることができる。
【0087】
プロセッサ32は、電源48から受電し得、M2Mノード30内の他のコンポーネントへの電力を分配および/または制御するように構成され得る。電源48は、M2Mデバイス30に給電するための任意の好適なデバイスであり得る。例えば、電源48は、1つ以上の乾電池バッテリ(例えば、ニッケルカドミウム(NiCd)、ニッケル亜鉛(NiZn)、ニッケル水素(NiMH)、リチウムイオン(Li−ion)等)、太陽電池、燃料電池等を含み得る。
【0088】
プロセッサ32はまた、M2Mデバイス30の現在の場所に関する場所情報(例えば、経度および緯度)を提供するように構成されるGPSチップセット50に結合され得る。M2Mデバイス30は、本明細書で開示される情報と一致したままで、任意の好適な場所決定方法を介して場所情報を獲得し得ることが理解されるであろう。
【0089】
プロセッサ32はさらに、追加の特徴、機能性、または有線もしくは無線接続性を提供する、1つ以上のソフトウェアもしくはハードウェアモジュールを含み得る他の周辺機器52に結合され得る。例えば、周辺機器52は、加速度計、バイオメトリック(例えば、指紋)センサ等の種々のセンサ、e−コンパス、衛星送受信機、センサ、デジタルカメラ(写真またはビデオ用)、ユニバーサルシリアルバス(USB)ポートまたは他の相互接続インターフェース、振動デバイス、テレビ送受信機、ハンズフリーヘッドセット、Bluetooth(登録商標)モジュール、周波数変調(FM)無線ユニット、デジタル音楽プレーヤ、メディアプレーヤ、ビデオゲームプレーヤモジュール、インターネットブラウザ等を含み得る。
【0090】
伝送/受信要素36は、センサ、消費者電子機器、スマートウォッチまたはスマート衣類等のウェアラブルデバイス、医療またはe−ヘルスデバイス、ロボット、産業機器、ドローン、車、トラック、電車、または飛行機等の車両等の他の装置もしくはデバイスで具現化され得る。伝送/受信要素36は、周辺機器52のうちの1つを備え得る相互接続インターフェース等の1つ以上の相互接続インターフェースを介して、そのような装置もしくはデバイスの他のコンポーネント、モジュール、またはシステムに接続し得る。
【0091】
図20Dは、例えば、
図20Aおよび
図20BのM2Mサービスプラットフォーム22が実装され得る例示的なコンピューティングシステム90のブロック図である。コンピューティングシステム90(例えば、M2M端末デバイス18またはM2Mゲートウェイデバイス14)は、コンピュータまたはサーバを備え得、主に、そのようなソフトウェアが記憶またはアクセスされる場所もしくは手段にかかわらず、ソフトウェアの形態であり得るコンピュータ読み取り可能な命令によって制御され得る。そのようなコンピュータ読み取り可能な命令は、コンピューティングシステム90を稼働させるように、中央処理装置(CPU)91内で実行され得る。多くの公知のワークステーション、サーバ、およびパーソナルコンピュータでは、中央処理装置91は、マイクロプロセッサと呼ばれる単一チップCPUによって実装される。他のマシンでは、中央処理装置91は、複数のプロセッサを備え得る。コプロセッサ81は、追加の機能を果たす、またはCPU91を支援する、主要CPU91とは明確に異なる、随意のプロセッサである。CPU91またはコプロセッサ81は、複数の標的リソースに関連付けられる1つ以上の基準を満たすことに基づいて通知を生成すること等のクロスリソースサブスクリプションのための開示されるシステムおよび方法に関連するデータを受信、生成、ならびに処理し得る。
【0092】
動作時、CPU91は、命令をフェッチ、復号、および実行し、コンピュータの主要データ転送パスであるシステムバス80を介して、情報を他のリソースへ、およびそこから転送する。そのようなシステムバスは、コンピューティングシステム90内のコンポーネントを接続し、データ交換のための媒体を定義する。システムバス80は、典型的には、データを送信するためのデータラインと、アドレスを送信するためのアドレスラインと、インタラプトを送信するので、およびシステムバスを動作させるための制御ラインとを含む。そのようなシステムバス80の例は、PCI(周辺コンポーネント相互接続)バスである。
【0093】
システムバス80に結合されているメモリデバイスは、ランダムアクセスメモリ(RAM)82および読み取り専用メモリ(ROM)93を含む。そのようなメモリは、情報が記憶されて読み出されることを可能にする回路を含む。ROM93は、概して、容易に修正されることができない記憶されたデータを含む。RAM82内に記憶されたデータは、CPU91または他のハードウェアデバイスによって読み取られること、もしくは変更されることができる。RAM82またはROM93へのアクセスは、メモリコントローラ92によって制御され得る。メモリコントローラ92は、命令が実行されると、仮想アドレスを物理的アドレスに変換するアドレス変換機能を提供し得る。メモリコントローラ92はまた、システム内のプロセスを分離し、ユーザプロセスからシステムプロセスを分離するメモリ保護機能を提供し得る。したがって、第1のモードで起動するプログラムは、それ自身のプロセス仮想アドレス空間によってマップされるメモリのみにアクセスすることができ、プロセス間のメモリ共有が設定されていない限り、別のプロセスの仮想アドレス空間内のメモリにアクセスすることができない。
【0094】
加えて、コンピューティングシステム90は、CPU91からプリンタ94、キーボード84、マウス95、およびディスクドライブ85等の周辺機器に命令を通信する責任がある、周辺機器コントローラ83を含み得る。
【0095】
ディスプレイコントローラ96によって制御されるディスプレイ86は、コンピューティングシステム90によって生成される視覚出力を表示するために使用される。そのような視覚出力は、テキスト、グラフィックス、動画グラフィックス、およびビデオを含み得る。ディスプレイ86は、CRTベースのビデオディスプレイ、LCDベースのフラットパネルディスプレイ、ガスプラズマベースのフラットパネルディスプレイ、またはタッチパネルを伴って実装され得る。ディスプレイコントローラ96は、ディスプレイ86に送信されるビデオ信号を生成するために要求される、電子コンポーネントを含む。
【0096】
さらに、コンピューティングシステム90は、
図20Aおよび
図20Bのネットワーク12等の外部通信ネットワークにコンピューティングシステム90を接続するために使用され得る、ネットワークアダプタ97を含み得る。
【0097】
本明細書に説明されるシステム、方法、およびプロセスのうちのいずれかまたは全ては、コンピュータ読み取り可能な記憶媒体上に記憶されたコンピュータ実行可能命令(すなわち、プログラムコード)の形態で具現化され得、その命令は、コンピュータ、サーバ、M2M端末デバイス、M2Mゲートウェイデバイス等のマシンによって実行されると、本明細書に説明されるシステム、方法、およびプロセスを実施もしくは実装することが理解される。具体的には、上で説明されるステップ、動作、または機能のうちのいずれかは、そのようなコンピュータ実行可能命令の形態で実装され得る。コンピュータ読み取り可能な記憶媒体は、情報の記憶のための任意の方法または技術で実装される、揮発性および不揮発性媒体、取り外し可能および非取り外し可能媒体の両方を含むが、そのようなコンピュータ読み取り可能な記憶媒体は、信号を含まない。本明細書の説明から明白であるように、記憶媒体は、合衆国法典第35編第101条(35 U.S.C.§101)の下の法定主題であると解釈されるべきである。コンピュータ読み取り可能な記憶媒体は、RAM、ROM、EEPROM、フラッシュメモリまたは他のメモリ技術、CD−ROM、デジタル多用途ディスク(DVD)または他の光学ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置または他の磁気記憶デバイス、もしくは所望の情報を記憶するために使用されることができ、かつコンピュータによってアクセスされることができる、任意の他の物理媒体を含む。
【0098】
図に例証されるように、本開示の主題の好ましい方法、システム、または装置、すなわち、クロスリソースサブスクリプションのためのシステムおよび方法を説明することにおいて、具体的用語が、明確にするために採用される。しかしながら、請求される主題は、そのように選択された具体的用語に限定されることを意図せず、各特定の要素は、類似目的を達成するように同様に動作する全ての技術的均等物を含むことを理解されたい。
【0099】
本明細書に説明される種々の技法は、ハードウェア、ファームウェア、ソフトウェア、もしくは適切である場合、それらの組み合わせに関連して実装され得る。そのようなハードウェア、ファームウェア、およびソフトウェアは、通信ネットワークの種々のノードに位置する装置の中に常駐し得る。本装置は、本明細書に説明される方法を達成するように、単独で、または相互と組み合わせて動作し得る。本明細書で使用されるように、「装置」、「ネットワーク装置」、「ノード」、「デバイス」、および「ネットワークノード」等という用語は、同義的に使用され得る。加えて、「または」という言葉の使用は、概して、本明細書で別様に提供されない限り、包含的に使用される。
【0100】
本明細書は、最良の様態を含む、本発明を開示するために、また、当業者が、任意のデバイスまたはシステムを作製して使用することと、任意の組み込まれた方法を行うこととを含む、本発明を実践することを可能にするために、例を使用する。本発明の特許性のある範囲は、請求項によって定義され、当業者に想起される他の例を含み得る(例えば、本明細書に開示される例示的方法の間でステップを省略する、ステップを組み合わせる、またはステップを追加する)。そのような他の例は、請求項の文字通りの言葉とは異ならない構造要素を有する場合、または請求項の文字通りの言葉とのごくわずかな差異を伴う同等の構造要素を含む場合、請求項の範囲内であることを意図している。
【0101】
とりわけ、本明細書に説明されるような方法、システム、および装置は、クロスリソースサブスクリプションのための手段を提供し得る。方法、システム、コンピュータ読み取り可能な記憶媒体、または装置は、クロスリソースサブスクリプションのためのメッセージを受信する手段であって、メッセージは、遠隔デバイスによる、サブスクリプションが時間のウィンドウ内で基準を満たす複数の標的リソースの変更を通知されるための要求を示す、手段と、遠隔デバイスがクロスリソースサブスクリプションのために承認されていることを決定する手段と、ローカルサブスクリプションリソースを生成し、クロスリソースサブスクリプションを維持する手段とを有する。方法、システム、コンピュータ読み取り可能な記憶媒体、または装置は、クロスリソースサブスクリプションの承認の指示を備えている応答メッセージを送信する手段を有する。方法、システム、コンピュータ読み取り可能な記憶媒体、または装置は、複数の標的リソースのうちの第1のリソースへのサブスクリプションを要求する手段を備え、要求は、基準のうちのある基準を備えている。方法、システム、コンピュータ読み取り可能な記憶媒体、または装置は、基準のうちの基準が満たされたという通知を受信する手段と、通知を受信することに基づいて、基準が満たされていることを決定する手段と、基準が満たされていることを決定することに基づいて、遠隔デバイスに通知する手段とを有する。方法、システム、コンピュータ読み取り可能な記憶媒体、または装置は、ローカルサブスクリプションリソースの情報の指示をディスプレイに公開する手段を有する。方法、システム、コンピュータ読み取り可能な記憶媒体、または装置は、クロスリソースサブスクリプションのためのメッセージのパラメータをディスプレイに公開する手段を有する。方法、システム、コンピュータ読み取り可能な記憶媒体、または装置は、時間のウィンドウのグラフィック表現内に基準を満たすイベントをディスプレイに公開する手段を有する。装置は、共通サービスエンティティを含み得る。標的リソースのうちのリソースは、遠隔デバイス上に位置し得る。メッセージは、時間のウィンドウのタイプの指示を含み得、時間のウィンドウのタイプは、連続時間ウィンドウを備えている。メッセージは、時間のウィンドウのタイプの指示を含み得る。メッセージは、基準が満たされたときに通知が受信されることを期待されている標的リソースの数を含み得る。メッセージは、複数の標的リソースのためのイベント通知基準のリストを含み得る。本段落における全ての組み合わせ(ステップの除去または追加を含む)は、発明を実施するための形態の他の部分と一貫する様式で考慮される。