図6は、ユーザが道路状況データにサブスクライブするインテリジェント交通シナリオを図示する。このシナリオでは、Turnpike Company Aが、M2Mサーバに道路状況を報告することができる路傍カメラを展開し、M2Mサーバは、クラウド内に常駐し、M2MサービスプロバイダBによって動作させられる。交通状況情報は、通行車両から受信されることができるが、この使用例に焦点を当てるものではない。M2MサービスプロバイダBは、M2Mサーバ602(すなわち、IN−CSE)を展開し、ほぼリアルタイムの道路状況をM2MユーザC、D、およびE(例えば、通勤者のスマートフォン上にインストールされたIN−AE)に提供する。この使用例では、M2Mデバイスとしての路傍カメラは、M2Mサービス層能力(例えば、データリポジトリおよび管理)を有すると仮定される。路傍カメラによって生成される大量のビデオファイルに起因して、関心状況またはイベント(例えば、軽度の交通渋滞、中程度の交通渋滞、および重度の交通渋滞)のみが、M2Mサーバ602に報告され、最終的に、サブスクリプション/通知機構に基づいて、M2Mユーザに転送されるであろう。そのような交通状況(すなわち、軽度の渋滞等)は、画像処理および分析を通して路傍カメラによって結論を下されることができることに留意されたい。例えば、M2MユーザC610が、M2Mサーバを介して、交通渋滞レベルに関する路傍カメラへのサブスクリプションを行う。路傍カメラが重度の渋滞を検出すると、それは、通知をM2Mサーバに送信し、M2Mサーバは、M2MユーザC、D、およびEが、M2MサービスプロバイダBと取引関係さえ有し得るならば、通知をM2MユーザC610に中継するであろう(但し、路傍カメラは、M2MユーザCのURIを維持する場合、通知をM2MユーザCに同様に直接送信することができる)。加えて、通勤者ユーザは、道路状況データにおいて類似の関心(例えば、出口における渋滞レベル)を有し得る。このシナリオでは、路傍カメラに記憶される道路状況データは、サブスクリプション/通知機構に基づいて、M2Mユーザ610、612、および614によってアクセスされる。しかし、道路状況データ自体は、公共情報と見なされ、あまりプライバシー懸念を伴わずに、使用のために全ての人にアクセス可能であるが、ある使用ベースの料金が、課金され得る。
図7は、高齢者702が、その身体上にセンサ704等のいくつかのセンサを有し、リアルタイム身体状態を監視する別のシナリオを図示する。身体状態、特に、検出された異常は、その人のスマートデバイス706(すなわち、MN−CSE)を介して、M2Mサーバ(すなわち、IN−CSE)に報告されることができる。M2Mサーバは、M2MサービスプロバイダF 708によって動作させられる。M2Mデバイスとしてのスマートデバイス706は、M2Mサービス層能力も同様に有する。言い換えると、M2Mユーザ710、712、714、716、および718によってサブスクライブされ得る身体状態データを記憶する。その人は、M2MサービスプロバイダF 708と関係を有する。その人の身体状態データに関心があり、それへのサブスクリプションを行う何人かのユーザが存在し、例えば、その人の保護者、その人の主治医、その人の仮想医師(例えば、医師オンデマンドアプリケーション)、その人の保険会社、およびその人のフィットネスコーチである。これらのユーザは、その人と関係を有し、異なるタイプの身体状態に関心があり得、身体状態データへのそれらのサブスクリプションは、異なり得る。このシナリオでは、スマートデバイス706に記憶される身体状態データは、スマートヘルスエコシステムにおける異なるアクタ/ユーザによってサブスクライブされる。さらに、身体状態データについてのプライバシー懸念があり、ユーザは、その人の身体状態データへの異なるアクセス権を有する。加えて、M2MユーザA 710は、複数の通知受信側(例えば、M2MユーザB 712、M2MユーザC 714等)への通知を依頼するためのサブスクリプション要求を発行し得る。
図6−7に図示される機能性は、以下に説明される図23Cまたは23Dに図示されるもののうちの1つ等、M2Mネットワークの装置(例えば、サーバ、ゲートウェイ、デバイス、または他のコンピュータシステム)のメモリ内に記憶され、そのプロセッサ上で実行するソフトウェア(すなわち、コンピュータ実行可能命令)の形態で実装され得ることを理解されたい。
前述の使用例に説明されるように、エンドデバイスにおいて生成または収集されるデータ(すなわち、インテリジェント交通における交通状況データおよびスマートヘルスにおける身体状態データ)は、M2Mサーバを介して、種々のアプリケーションによってサブスクライブされる。そのようなサブスクリプションベースのデータアクセスは、図8に要約および描写され、M2Mユーザとしての3つ以上のM2Mアプリケーションは、M2Mノード1(例えば、M2Mサーバ)を介して、M2Mノード2(例えば、インテリジェント交通における路傍カメラまたはスマートヘルスにおける身体センサ)において生成されるデータへのサブスクリプションを行う。そのようなサブスクリプションは、M2Mノード1を通してルーティングされる。
図8が示すように、サブスクライバとしての各アプリケーションエンティティ802、804、および806は、別個のサブスクリプションをM2Mノード2 808に発行する。関心イベントが発生すると、M2Mノード2 808は、3つの通知を、それぞれ、各M2Mアプリケーションに送信する。インテリジェント交通において前述されたように、それらのM2Mアプリケーション(例えば、通勤者のスマートフォン上にインストールされたアプリケーション)は全て、交通負荷状況に関心があり、ほぼ同一サブスクリプション要求を発行する。言い換えると、ステップ1、ステップ2、およびステップ3におけるサブスクリプション要求は、同一である。次いで、M2Mノード2 808によって発行されるそれらの3つの通知も、同一である。言い換えると、M2Mアプリケーションが類似サブスクリプションを有するとき、複数のサブスクリプション要求が、M2Mノード2 808(すなわち、ホストノード)に送信され、M2Mノード2 808も、M2Mノード1 810(すなわち、通過ノード)を介して、複数の通知をM2Mアプリケーションに送信するであろう。通過ノード810とホストノード808との間のそれらの複数のサブスクリプション要求および通知は、非効率的であり、特に、サブスクライバとしてのM2Mアプリケーションが多数存在するとき、余分なオーバーヘッドを導入する。さらに、既存のoneM2Mサービス層は、異なるサブスクリプション要求間の関係を分析および活用する機能性を欠いている。
図8に図示されるステップを行うエンティティは、図23Cまたは図23Dに図示されるもの等、ネットワークノードまたはコンピュータシステムのメモリ内に記憶され、そのプロセッサ上で実行するソフトウェア(すなわち、コンピュータ実行可能命令)の形態で実装され得る論理エンティティであることを理解されたい。すなわち、図8に図示される方法は、図23Cまたは図23Dに図示される装置もしくはコンピュータシステム等のネットワーク装置のメモリ内に記憶されるソフトウェア(すなわち、コンピュータ実行可能命令)の形態で実装され得、そのコンピュータ実行可能命令は、ノードのプロセッサによって実行されると、図8に図示されるステップを行う。図8に図示される任意の伝送および受信ステップは、ノードのプロセッサおよびそれが実行するコンピュータ実行可能命令(例えば、ソフトウェア)の制御下でノードの通信回路によって行われ得ることも理解されたい。
前述の問題を解決し、oneM2Mにおける既存のサブスクリプション機構を最適化するために、本開示は、サブスクリプション分析およびグループ化を可能にするための新しいアーキテクチャおよび方法を提案する。不可欠なアイディアは、サブスクライバのサブスクリプション要求をホストノード(または通過ノード)において分析およびグループ化することである。ホストノードは、次いで、通過ノードへの集約された通知を生成し、通過ノードは、次いで、個々の通知をオリジナルサブスクライバに配信するであろう。oneM2Mにおける既存のサブスクリプション機構と比較して、提案されるアプローチは、サブスクリプション要求および通知メッセージの数を低減させ、サブスクライバとホストノードとの間のサブスクリプションをより効率的にする。
図9は、M2Mノード2 808が、集約されたサブスクリプション要求を受信し、集約された通知をM2Mノード1 810に送信する例示的実施形態のコールフローを示す。M2Mノード1 810は、M2M AE 802、804、および806からのサブスクリプション要求を集約する。M2Mノード1 810はまた、集約された通知をM2Mノード2 808から受信後、個々の通知をM2M AE 802、804、および806に送信する。
図9に図示されるステップを行うエンティティは、図23Cまたは図23Dに図示されるもの等、ネットワークノードまたはコンピュータシステムのメモリ内に記憶され、そのプロセッサ上で実行するソフトウェア(すなわち、コンピュータ実行可能命令)の形態で実装され得る論理エンティティであることを理解されたい。すなわち、図9に図示される方法は、図23Cまたは図23Dに図示される装置もしくはコンピュータシステム等のネットワーク装置のメモリ内に記憶されるソフトウェア(すなわち、コンピュータ実行可能命令)の形態で実装され得、そのコンピュータ実行可能命令は、ノードのプロセッサによって実行されると、図9に図示されるステップを行う。図9に図示される任意の伝送および受信ステップは、ノードのプロセッサおよびそれが実行するコンピュータ実行可能命令(例えば、ソフトウェア)の制御下、ノードの通信回路によって行われ得ることも理解されたい。
最初に、2つのサブスクリプション分析およびグループ化アーキテクチャオプション、すなわち、それぞれ、ホストノードおよび通過ノードにおけるサブスクリプション分析ならびにグループ化が、提示される。提案されるアーキテクチャは、2つの新しいサービス、SAGS1002、NODS1004を含む。SAGS1002およびNODS1004の機能性が、説明される。ホストおよび通過ノードにおけるサブスクリプション分析ならびにグループ化が、議論される。新しいプロシージャが、アナウンスされたリソースを介したサブスクリプションに対して説明される。
全体的に、本開示における提案されるアイディアは、以下のシナリオに対してサブスクリプション集約を行うことができる。
複数のサブスクライバが、同一イベント通知基準を用いて、同一リソースへのサブスクリプションを行う。それらのサブスクライバからのサブスクリプション要求は、集約されることができ、それらへの通知も、集約されることができる。
複数のサブスクライバが、同一リソースへのサブスクリプションを行うが、異なるイベント通知基準を用いる。それらのサブスクライバからのサブスクリプション要求は、集約されることができ、それらへの通知も、集約されることができる。
サブスクライバは、リソースへのサブスクリプションを行い、複数の通知受信側を与える。それらの複数の受信側への通知は、集約されることができる。
図10は、提案されるサブスクリプション分析およびグループ化アーキテクチャを図示し、2つの新しいサービス、すなわち、SAGS1002およびNODS1004が、提案される。SAGS1002は、ホストノード内に常駐する一方、NODS1004は、通過ノード内に設置される。3つ以上のサブスクライバからのオリジナルサブスクリプション要求(例えば、ステップ1−3)が、それぞれ、ホストノードに到着する(直接または通過ノードを介して間接的にのいずれかにおいて)。各サブスクリプション要求は、通知が送信されることになる通知URIを有することに留意されたい。SAGS1002は、受信されたサブスクリプション要求を分析し、それらをサブスクリプショングループと称される異なるグループに割り当てる。例えば、ステップ1−3におけるサブスクリプション要求は、それらが類似イベント通知基準を伴う同一のサブスクライブされるリソースに関心がある場合、同一グループ内に設置されるであろう。次いで、SAGS1002は、グループ化されるサブスクリプション要求と各オリジナルサブスクリプション要求の通知URIとについての情報でNODS1004(すなわち、ステップ4)を構成する必要があり得る。NODS1004は、そのような構成情報に依拠し、後に、通知をサブスクライバに配信することが可能である(すなわち、ステップ6−8)。そうでなければ、SAGS1002は、NODS1004が集約された通知を解釈し、それを適切なサブスクライバに配信することが可能になるように(すなわち、図10のステップ6−8)、そのような情報(特に、通知URI)を各集約された通知内に含む必要がある(すなわち、ステップ5)。オリジナルサブスクリプション要求は、NODS1004が常駐するものと異なる通過ノードを通してパスされ得ることに留意されたい。このアーキテクチャにおける各ステップの詳細は、後の節において議論されるであろう。
より多くのサブスクリプション分析およびグループ化機会を促進するために、各リソースがホストノードによって事前に構成されることができる相互排他的イベント通知基準の組を有することが提案される。次いで、サブスクライバは、それらのイベント通知基準に基づいて、サブスクリプションを行うであろう。例えば、以下の基準が、図6のインテリジェント交通使用例において交通状況リソースに対して構成されることができる。それらの構成されるイベント通知基準に従うことによって、各サブスクライバによって発行されるランダムイベント通知基準とは対照的に、サブスクライバからの類似サブスクリプション要求がグループ化されるより高い可能性およびより多くの機会が存在し得る。
イベント通知基準#1:「交通状況」=「無渋滞」
イベント通知基準#2:「交通状況」=「散発的渋滞」
イベント通知基準#3:「交通状況」=「軽度の渋滞」
イベント通知基準#4:「交通状況」=「中程度の渋滞」
イベント通知基準#5:「交通状況」=「重度の渋滞」
単一サブスクライバに対しても、サブスクライバが複数の通知受信側を示す場合、対応する通知は、依然として集約されることができることに留意されたい。この場合、SAGS1002は、NODS1004を全通知受信側のアドレスで構成する。次いで、集約された通知をNODS1004に送信する。最後に、NODS1004は、通知を全通知受信側に配信するであろう。
代替として、サブスクリプション要求も、サブスクリプション要求が中継またはルーティングされるであろう通過ノード810においてグループ化されることができ、それは、図11に図示される。最初に、ホストノード808は、随意に、そのリソースのイベント通知基準を通過ノード810にパブリッシュし得る(図11のステップ0)。次いで、サブスクライバ1006、1008、および1010は、それらのイベント通知基準を発見し、それらにサブスクライブすることができる。複数のサブスクライバが、同一イベント通知基準に関する同一リソースへのサブスクリプションを行う場合(すなわち、図11のステップ1、ステップ2、およびステップ3)、通過ノード810内のSAGS1002は、それらのサブスクリプション要求をグループ化し、次に、1つの単一であるが集約されたサブスクリプション要求をホストノード808に送信することができる(すなわち、ステップ4)。SAGS1002は、NODS1004に、そのようなサブスクリプショングループ化を知らせるであろう。関心イベントが発生すると、ホストノード808は、通常通知をNODS1004に送信する(すなわち、ステップ5)。NODS1004は、通知をオリジナルサブスクライバに配信するであろう(すなわち、ステップ6、ステップ7、およびステップ8)。SAGS1002およびNODS1004は、図11では、同一通過ノード810に示されるが、SAGS1002およびNODS1004は、異なる通過ノードに位置することもできる。各ステップの詳細は、以下に説明されるであろう。
アーキテクチャB内のSAGS1002は、アーキテクチャA(すなわち、図10)のものと類似機能性を有するが、集約されたサブスクリプション要求をホストノードに送信するための新しい機能を伴う(すなわち、図11におけるステップ4)ことに留意されたい。アーキテクチャB内のNODS1004は、アーキテクチャA内のものと同一機能性を有する。
サブスクライバがそのサブスクリプション要求内で異なるイベント通知基準を示しても、そのサブスクリプション要求は、例えば、同一のサブスクライブされるリソースを標的にすると、依然としてグループ化されることができることに留意されたい。
3つのサブスクライバ10006、1008、および1010が、同一の<subscriber−to−resource>に関心があると仮定する。それらは、3つのサブスクリプション要求を通過ノード810に発行する。その要求では、サブスクライバ1は、eventNotificationCriteria1を示し、サブスクライバ2は、eventNotificationCriteria2を示し、サブスクライバ3は、eventNotificationCriteria3を示す。eventNotificationCriteria1、eventNotificationCriteria2、およびeventNotificationCriteria3が互いに相互排他的であることも仮定される。
通過ノード810は、それらの3つの要求を分析およびグループ化し、eventNotificationCriteria1、eventNotificationCriteria2、およびeventNotificationCriteria3を含む集約されたサブスクリプション要求を生成する。
イベントが発生し、eventNotificationCriteria1、eventNotificationCriteria2、またはeventNotificationCriteria3のいずれかを満たすと、通知を通過ノード810に送信する。この通知は、対応するイベント通知基準を含むであろう。通過ノード810は、そのイベント通知基準に基づいて、この通知を受信するためのサブスクライバを把握する。eventNotificationCriteria1、eventNotificationCriteria2、およびeventNotificationCriteria3が、互いに相互排他的ではないとき、通過ノード810は、いくつかの相互排他的eventNotificationCriteriaを決定し、それらをホストノードへの集約されたサブスクリプション内に含むことができる。次いで、通知をホストノードから受信すると、依然としてこの通知を受信するための正しいサブスクライバを判断することが可能である。
図10および11に図示されるステップを行うエンティティは、図23Cまたは図23Dに図示されるもの等、ネットワークノードもしくはコンピュータシステムのメモリ内に記憶され、そのプロセッサ上で実行するソフトウェア(すなわち、コンピュータ実行可能命令)の形態で実装され得る論理エンティティであることを理解されたい。すなわち、図10および11に図示される方法は、図23Cまたは図23Dに図示される装置もしくはコンピュータシステム等のネットワーク装置のメモリ内に記憶されるソフトウェア(すなわち、コンピュータ実行可能命令)の形態で実装され得、そのコンピュータ実行可能命令は、ノードのプロセッサによって実行されると、図10および11に図示されるステップを行う。図10および11に図示される任意の伝送および受信ステップは、ノードのプロセッサおよびそれが実行するコンピュータ実行可能命令(例えば、ソフトウェア)の制御下でノードの通信回路によって行われ得ることも理解されたい。
SAGS1002およびNODS1004の機能性ならびに動作は、図12−16に関して以下に説明される。
SAGS1002は、以下を含む、いくつかの機能性を有する。
図12は、SAGS1002が新しいサブスクリプション要求SR(i)を受信するときの動作を示す。
図13は、SAGS1002が既存のサブスクリプション要求SR(i)を削除するための要求を受信するときの動作を示す。
図14は、SAGS1002が既存のサブスクリプション要求SR(i)を更新するための要求を受信するときの動作を示す。
図16は、イベントが発生し、SAGS1002が集約された通知をNODS1004に送信する必要があるときの動作を示す。
NODS1004機能性は、図15に与えられる。
図12は、新しいサブスクリプション要求SR(i)を受信するときのSAGS1002の動作を図示する。
図12のステップ1では、新しいサブスクリプション要求SR(i)が到着する。
図12のステップ2では、SAGS1002が、SR(i)を分析し、サブスクライブされるリソースr(i)、イベント通知基準enc(i)、および通知URI nu(i)等の情報を得る。受信されたSR(i)から、SAGS1002は、通過ノード810のアドレス(すなわち、tn(i))も把握および記録し得る。
SAGS1002がホストノード内に常駐するアーキテクチャAに対して、通過ノード810が、SAGS1002に転送する前にそのアドレスをSR(i)に挿入することができるか、または、サブスクライバが、通過ノード810アドレスをそれらのサブスクリプション要求内に含むことができる。
SAGS1002が通過ノード810内に常駐するアーキテクチャBに対して、tn(i)は、同一通過ノード810、またはサブスクライバによってサブスクリプション要求内に示され得る異なる通過ノードであり得る。
図12のステップ3では、SAGS1002が、そのローカルデータベース(すなわち、以前に作成された全サブスクリプショングループ)を検索し、SR(i)を収容し得る、既存のサブスクリプショングループSG(j)を見出す。本開示におけるサブスクリプショングループは、類似サブスクリプション要件(例えば、同一のサブスクライブされるリソースおよび同一通過ノード810ならびに類似イベント通知基準等)を有するサブスクリプション要求の組として定義されることに留意されたい。サブスクリプショングループの各メンバは、受信されたサブスクリプション要求である。言い換えると、各サブスクリプショングループは、全てのそのメンバサブスクリプション要求によって共有される3つの共通属性:サブスクライブされるリソース、通過ノード810、およびイベント通知基準を有する。SAGS1002は、サブスクリプショングループが有することができるサブスクリプション要求の数の限界を設定し得る。
SG(j)が見出される場合、SR(i)がSG(j)内の他の要求と同一のサブスクライブされるリソースおよび類似イベント通知基準を有することを意味する。次いで、ステップ6に進み、SG(j)が依然として新しい要求を収容することができる場合、SR(i)をSG(j)にグループ化する。SG(j)が新しい要求をもはや収容することができない場合、ステップ4に進む。
そのようなSG(j)が存在しない場合、ステップ4に進む。
図12のステップ4では、SAGS1002が、そのローカルデータベース(すなわち、以前に受信されたが、まだグループ化されていない、全サブスクリプション要求)を検索し、SR(i)と同一のサブスクライブされるリソース、SR(i)と同一通過ノード810、およびSR(i)と類似イベント通知基準を有するグループ化されていないサブスクリプション要求(USR)を見出す。
USRが見出される場合、それは、SR(i)およびESRが一緒にグループ化され、新しいサブスクリプショングループを編成することができることを意味する。次いで、ステップ8に進む。
そのようなUSRが見出されない場合、ステップ5に進む。
図12のステップ5では、SAGS1002が、どんなサブスクリプション集約も伴わずに、SR(i)をバッファする。次いで、このSR(i)を処理するためのプロシージャは、完了する。
図12のステップ6では、ステップ4から、SAGS1002は、SR(i)をSG(j)によって含まれるサブスクリプション要求のリストに追加する。SG(j)は、ここで変更されるので、SAGS1002は、更新を対応するNODS1004に送信し、この変更(すなわち、追加されるSR(i)、特に、その通知URI nu(i))をそれに知らせる必要があり得る。ステップ9は、新しく作成されたサブスクリプショングループのための適切なNODS1004を決定する方法を議論することに留意されたい。
図12のステップ7では、SAGS1002が、メッセージをNODS1004に送信し、新しいSR(i)がSG(j)に追加されることを通知する。基本的に、NODS1004は、SG(j)の全サブスクリプション要求の通知URIを維持する。ここで、SAGS1002は、NODS1004に、SR(i)の通知URIを伝える。次いで、このSR(i)を処理するためのプロシージャは、完了される。
図12のステップ8では、SAGS1002が、2つのサブスクリプション要求SR(i)およびUSRを含む新しいサブスクリプショングループSG(k)を作成する。SR(i)およびUSRは両方とも、同一のサブスクライブされるリソース、同一通過ノード810、および類似イベント通知基準を有することに留意されたい。この共通通過ノード810は、NODS1004が常駐すべきノードとして選択されるであろう。
図12のステップ9では、SAGS1002が、SR(i)およびUSRの共通通過ノード810をSG(k)にサービスを提供するためのNODS1004をホストすべきノードとして選択する。
SR(i)は、NODS1004のアドレスを示し得ることに留意されたい。同様に、USRも、NODS1004アドレスを含み得る。SR(i)およびUSRは両方とも、同一NODS1004アドレスを有すると仮定される。そうでなければ、それらは、集約されないであろう。言い換えると、サブスクリプション要求がNODS1004アドレスを示す場合、サブスクリプショングループ内のサブスクリプション要求の共通NODS1004アドレスは、このサブスクリプショングループのためのNODS1004として選択されるであろう。
図12のステップ10では、SAGS1002が、メッセージをNODS1004に送信し、新しく作成されたSG(k)を知らせる。基本的に、SAGS1002は、NODS1004に、SR(i)およびUSRの通知URIを伝える。そのような情報は、NODS1004によって維持され、NODS1004によって後に活用され、通知をSR(i)およびUSRのサブスクライバに配信するであろう。
図12のステップ11では、SAGS1002が、新しいサブスクリプション要求SR(i)の処理を終了する。
図12に図示されるステップを行うエンティティは、図23Cまたは図23Dに図示されるもの等、ネットワークノードもしくはコンピュータシステムのメモリ内に記憶され、そのプロセッサ上で実行するソフトウェア(すなわち、コンピュータ実行可能命令)の形態で実装され得る論理エンティティであることを理解されたい。すなわち、図12に図示される方法は、図23Cまたは図23Dに図示される装置もしくはコンピュータシステム等のネットワーク装置のメモリ内に記憶されるソフトウェア(すなわち、コンピュータ実行可能命令)の形態で実装され得、そのコンピュータ実行可能命令は、ノードのプロセッサによって実行されると、図12に図示されるステップを行う。図12に図示される任意の伝送および受信ステップは、ノードのプロセッサならびにそれが実行するコンピュータ実行可能命令(例えば、ソフトウェア)の制御下でノードの通信回路によって行われ得ることも理解されたい。
図13は、既存のサブスクリプション要求SR(i)を削除するための要求を受信するときのSAGS1002の動作を図示する。
図13のステップ1では、SAGS1002が、既存のサブスクリプション要求SR(i)を削除するための要求を受信する(例えば、サブスクライバから)。
図13のステップ2では、SAGS1002が、以前に編成され、SR(i)を含む、既存のサブスクリプショングループSG(j)を見出すことを試みる。
そのようなSG(j)が見出される場合、ステップ3に進む。そうでなければ、ステップ5に進む。
図13のステップ3では、SAGS1002が、SR(i)をSG(j)から除去する。
図13のステップ4では、SAGS1002が、更新をNODS1004に送信し、SR(i)の除去を知らせる。基本的に、NODS1004が維持しているSR(i)の通知URIは、削除されるであろう。
SG(j)が、SR(i)を除去後、1つのみのサブスクリプション要求を含む場合、SAGS1002は、単に、SG(j)をそのローカルデータベースから削除し、また、ステップ4において、NODS1004に、全SG(j)情報を除去するように伝えてもよい。
図13のステップ5では、SAGS1002が、NODS1004からの応答の受信を待つ。しかし、SAGS1002は、NODS1004からの応答が成功または失敗であるかどうかにかかわらず、SR(i)を削除する必要があるであろう。
図13のステップ6では、SAGS1002が、SR(i)をそのローカルデータベースから削除する。
図13のステップ7では、SAGS1002が、ステップ1において受信された要求の処理を終了する。
図13に図示されるステップを行うエンティティは、図23Cまたは図23Dに図示されるもの等のネットワークノードもしくはコンピュータシステムのメモリ内に記憶され、そのプロセッサ上で実行するソフトウェア(すなわち、コンピュータ実行可能命令)の形態で実装され得る論理エンティティであることを理解されたい。すなわち、図13に図示される方法は、コンピュータ実行可能命令が、ノードのプロセッサによって実行されると、図13に図示されるステップを行う、図23Cまたは図23Dに図示される装置もしくはコンピュータシステム等のネットワークノードのメモリ内に記憶されるソフトウェア(すなわち、コンピュータ実行可能命令)の形態で実装され得る。図13に図示される任意の伝送および受信ステップは、ノードのプロセッサならびにそれが実行するコンピュータ実行可能命令(例えば、ソフトウェア)の制御下でノードの通信回路によって行われ得ることも理解されたい。
図14は、既存のサブスクリプション要求SR(i)を更新するための要求を受信するときのSAGS1002の動作を図示する。
図14のステップ1では、SAGS1002が、既存のサブスクリプション要求SR(i)を更新するための要求(例えば、その通知URIの変更)を受信する。
図14のステップ2では、SAGS1002が、以前に編成され、SR(i)を含む、既存のサブスクリプショングループSG(j)を見出すことを試みる。
そのようなSG(j)が見出される場合、ステップ3に進む。そうでなければ、ステップ5に進む。
図14のステップ3では、SAGS1002が、ステップ1において受信された要求に従って、SR(i)を更新する。
図14のステップ4では、SAGS1002が、更新されたSR(i)を新しいサブスクリプション要求と見なし、図12における全ステップに従う。次いで、ステップ10に進む。
図14のステップ5では、SAGS1002が、ステップ1において受信された要求に従って、SR(i)を更新する。
図14のステップ6では、SAGS1002が、SR(i)が依然としてその現在のグループSG(j)内に含まれることができるかどうかを決定する。回答が「はい」である場合、ステップ9に進む。回答が「いいえ」である場合、ステップ7に進む。
図14のステップ7では、SAGS1002が、SR(i)をSG(j)から除去する。
図14のステップ8では、SAGS1002が、更新をNODS1004に送信する。基本的に、NODS1004が維持するSR(i)についての情報、例えば、SR(i)の通知URIは、除去されるであろう。次いで、ステップ4に進む。
図14のステップ9では、SAGS1002が、更新をNODS1004に送信する必要があるかどうかを決定する。例えば、ステップ1における要求がSR(i)の通知URIの更新を求める場合、SAGS1002は、NODS1004を新しい通知URIで更新する必要がある。
更新が必要とされる場合、ステップ10に進む。そうでなければ、ステップ11に進む。
図14のステップ10では、ステップ8と同様に、SAGS1002が、更新をNODS1004に送信する。
図14のステップ11では、SAGS1002が、ステップ1において受信された要求の処理を終了する。
図14に図示されるステップを行うエンティティは、図23Cまたは図23Dに図示されるもの等のネットワークノードもしくはコンピュータシステムのメモリ内に記憶され、そのプロセッサ上で実行するソフトウェア(すなわち、コンピュータ実行可能命令)の形態で実装され得る論理エンティティであることを理解されたい。すなわち、図14に図示される方法は、コンピュータ実行可能命令が、ノードのプロセッサによって実行されると、図14に図示されるステップを行う、図23Cまたは図23Dに図示される装置もしくはコンピュータシステム等のネットワーク装置のメモリ内に記憶されるソフトウェア(すなわち、コンピュータ実行可能命令)の形態で実装され得る。図14に図示される任意の伝送および受信ステップは、ノードのプロセッサならびにそれが実行するコンピュータ実行可能命令(例えば、ソフトウェア)の制御下、ノードの通信回路によって行われ得ることも理解されたい。
図15は、NODS1004の動作を図示する。
図15のステップ1では、NODS1004が、メッセージをSAGS1002から受信する。
図15のステップ2では、このメッセージは、集約された通知またはNODS1004構成であり得る。前者である場合、ステップ5に進む。そうでなければ、ステップ3に進む。
図15のステップ3では、NODS1004が、サブスクリプショングループ情報(すなわち、SG(i))をステップ1において受信されたメッセージから抽出し、対応する通知グループNG(i)を構成する。NG(i)は、以下の情報または属性を含む。
NG(i)の識別子。
SG(i)が含む全サブスクリプション要求の通知URIのリスト。各通知URIは、NG(i)のメンバと見なされ得る。
図15のステップ4では、NODS1004が、NG(i)の識別子またはURIをSAGS1002に送信する。SAGS1002は、NG(i)の識別子またはURIをSG(i)の新しい属性として追加するであろう。次いで、ステップ11に進む。
図15のステップ5では、NODS1004が、ステップ1において受信された集約された通知を分析し、既存のNG(i)の識別子またはURIを含むかどうかを決定する。回答が「はい」である場合、ステップ6に進む。そうでなければ、ステップ8に進む。
図15のステップ6では、NODS1004が、NG(i)をそのローカルデータベースから特定し、そのメンバ(すなわち、オリジナルサブスクライバのための通知URI)を見出す。
図15のステップ7では、NODS1004が、通知コンテンツ(ステップ1において受信されたメッセージ内に含まれるような)を各通知URIに配信する。次いで、ステップ11に進む。
図15のステップ8では、NODS1004が、通知URI情報を受信された集約された通知メッセージから抽出する。
図15のステップ9では、NODS1004が、通知コンテンツを各通知URIまたはサブスクライバに配信する。
図15のステップ10では、NODS1004が、サブスクライバからの応答を待つ。応答が返されない場合、NODS1004は、ステップ9に進み、通知を再伝送し得る。
図15のステップ11では、NODS1004が、ステップ1において受信されたメッセージの処理を終了する。
図15に図示されるステップを行うエンティティは、図23Cまたは図23Dに図示されるもの等のネットワークノードもしくはコンピュータシステムのメモリ内に記憶され、そのプロセッサ上で実行するソフトウェア(すなわち、コンピュータ実行可能命令)の形態で実装され得る論理エンティティであることを理解されたい。すなわち、図15に図示される方法は、コンピュータ実行可能命令が、ノードのプロセッサによって実行されると、図15に図示されるステップを行う、図23Cまたは図23Dに図示される装置もしくはコンピュータシステム等のネットワークノードのメモリ内に記憶されるソフトウェア(すなわち、コンピュータ実行可能命令)の形態で実装され得る。図15に図示される任意の伝送および受信ステップは、ノードのプロセッサならびにそれが実行するコンピュータ実行可能命令(例えば、ソフトウェア)の制御下、ノードの通信回路によって行われ得ることも理解されたい。
図16は、イベントが発生し、SAGS1002が集約された通知をNODS1004に送信する必要があるときのSAGS1002の動作を図示する。このプロシージャは、提案されるアーキテクチャA、または、SAGS1002およびNODS1004が共同設置されない場合の提案されるアーキテクチャBのために要求される。
図16のステップ1では、ホストノード上のサブスクライブされるリソースに関連するイベントが発生する。
図16のステップ2では、その結果、SAGS1002が、このイベントに関連する任意のサブスクリプショングループが存在するかどうかをチェックする必要がある必要があり、必要とされる場合、集約された通知をNODS1004に送信する。
回答が「はい」である場合、図16のステップ3に進む。そうでなければ、ステップ8に進む。
図16のステップ3では、SAGS1002が、各見出されたサブスクリプショングループSG(i)を処理し、SG(i)の以下の情報を得る。
対応するNODS1004のアドレス。
該当する場合、SAGS1002がNODS1004内で以前に構成した対応するNG(i)のURIの識別子。
SG(i)が含む、全サブスクリプション要求の通知URI。
図16のステップ4では、SAGS1002が、SG(i)がNODS1004内で以前に構成されている対応するNG(i)を有するかどうかをチェックする。
回答が「はい」である場合、図16のステップ5に進む。そうでなければ、図16のステップ6に進む。
図16のステップ5では、SAGS1002が、集約された通知をこのSG(i)に関連付けられたNODS1004に送信する。このメッセージは、対応するNG(i)の識別子またはURIに向けられる。次いで、図16のステップ7に進む。
図16のステップ6では、SAGS1002が、集約された通知をこのSG(i)に関連付けられたNODS1004に送信する。SAGS1002は、NG(i)をNODS1004内で構成していなかったので、このメッセージは、SG(i)内に含まれるように全サブスクリプション要求の通知URIを含むであろう。
図16のステップ7では、SAGS1002が、SG(i)が図16のステップ2において見出された最後のサブスクリプショングループであるかどうかをチェックする。
回答が「はい」である場合、図16のステップ2において見出される全サブスクリプショングループが処理されたことを意味し、図16のステップ10に進む。そうでなければ、図16のステップ3に戻る。次いで、図16のステップ10に進む。
図16のステップ8では、SAGS1002が、図16のステップ1におけるイベントに関連する任意のグループ化されていないサブスクリプション要求が存在するかどうかを見出すことを試みる。
回答が「はい」である場合、図16のステップ9に進む。そうでなければ、図16のステップ10に進む。
図16のステップ9では、SAGS1002が、通常通知を図16のステップ8において見出される各サブスクリプション要求に関連付けられたサブスクライバに送信する。
図16のステップ10では、SAGS1002が、ステップ1において発生したイベントの処理を終了する。
図16に図示されるステップを行うエンティティは、図23Cまたは図23Dに図示されるもの等のネットワークノードまたはコンピュータシステムのメモリ内に記憶され、そのプロセッサ上で実行するソフトウェア(すなわち、コンピュータ実行可能命令)の形態で実装され得る論理エンティティであることを理解されたい。すなわち、図16に図示される方法は、コンピュータ実行可能命令が、ノードのプロセッサによって実行されると、図16に図示されるステップを行う、図23Cまたは図23Dに図示される装置もしくはコンピュータシステム等のネットワーク装置のメモリ内に記憶されるソフトウェア(すなわち、コンピュータ実行可能命令)の形態で実装され得る。図16に図示される任意の伝送および受信ステップは、ノードのプロセッサならびにそれが実行するコンピュータ実行可能命令(例えば、ソフトウェア)の制御下、ノードの通信回路によって行われ得ることも理解されたい。
図17では、複数のサブスクライバ(例えば、M2Mアプリケーション)が、ホストノード(例えば、M2Mゲートウェイ)における同一のサブスクライブされるリソースへのサブスクリプションを行う。ホストノードは、SAGS1002を有し、SAGS1002は、これらのサブスクリプションをグループ化し、通知グループを通過ノード810内のNODS1004において構成し、順に、集約された通知を通過ノード810内のNODS1004に送信する。NODS1004は、最終的に、別個の通知を各サブスクライバに配信するであろう。詳細なプロシージャは、以下に説明される。
図17のステップ1では、サブスクライバ1が、サブスクリプション要求をホストノードに送信する。このメッセージは、以下のパラメータを含み得る。
resourceID:サブスクライバ1がサブスクリプションを行っているサブスクライブされるリソースの識別子を表す。
notifURI:サブスクライバ1が通知が送信されることを欲するURIまたはアドレスを表す。
eventNotifCriteria:notifURIへの通知の送信をトリガするための条件を表す。
aggrgFlag:このサブスクリプション要求が集約されることができるかどうかを示す。
NODS1004URI:サブスクライバ1が集約された通知が送信されることを欲するNODS1004のURIを表す。例えば、サブスクライバ1は、NODS1004URIをそのレジストラCSEに設定することができる。
aggrgFlag=FALSEの場合、それは、サブスクライバ1は、サブスクリプション集約を欲せず、次に、NODS1004URIは、必要とされなくてもよいことを意味する。
図17のステップ2では、サブスクライバ2が、サブスクリプション要求をホストノードに送信する。メッセージは、図17のステップ1におけるメッセージと同一パラメータを含む。
図17のステップ3では、ホストノード内のSAGS1002が、同一resourceID、類似eventNotifCriteria、および同一NODS1004URIを有するので、ステップ1およびステップ3において受信されたサブスクリプション要求の両方を集約する。その結果、SAGS1002は、両要求のためのサブスクリプショングループを作成する。
例証を容易にするために、2つのみのサブスクライバおよび2つのみのサブスクリプション要求が図17に示されることに留意されたい。しかし、SAGS1002は、より多くのサブスクライバおよびそのサブスクリプション要求を集約することができる。
図17のステップ4では、SAGS1002が、NODS1004において通知グループを作成または更新するために、メッセージをNODS1004に送信する(NODS1004のアドレスは、図17のステップ1および図17のステップ2に示されることに留意されたい)。メッセージは、以下のパラメータを含み得る。
図17のステップ1に含まれるnotifURI1。
図17のステップ2に含まれるnotifURI2。
随意に、サブスクライバ1およびサブスクライバ2の識別子。
図17のステップ5では、故に、NODS1004が、2つのメンバ(すなわち、ステップ1およびステップ2において受信されたnotifURI1ならびにnotifURI2)を有する通知グループを作成する。NODS1004は、識別子をこの通知グループに割り当てる。
図17のステップ6では、NODS1004が、作成された通知グループの識別子をSAGS1002に送信する。
図17のステップ7では、ステップ1およびステップ2におけるeventNotifCriteriaを満たすイベントが、発生する。
図17のステップ8では、発生したイベントに起因して、SAGS1002が、集約された通知をNODS1004に送信する。このメッセージは、ステップ6において受信されるような通知グループを標的化する。言い換えると、このメッセージは、標的化された通知グループの識別子を含む。
NODS1004のアドレスは、ステップ1およびステップ2で示されることに留意されたい。
図17のステップ9では、NODS1004が、図17のステップ5において作成されるような標的化された通知グループおよびそのメンバ(すなわち、notifURI1ならびにnotifURI2)を特定する。
図17のステップ10では、NODS1004が、集約された通知をnotifURI2に転送する。
図17のステップ11では、NODS1004が、集約された通知をnotifURI1に転送する。
図17のステップ12では、NODS1004が、応答をSAGS1002に送信し、NODS1004が通知を正常に送達しなかったnotifURI(すなわち、サブスクライバ)の通知またはリストを正常に受信したnotifURI(すなわち、サブスクライバ)のリストを知らせる。
図17について、いくつかのオプションまたは代替が存在する。
注記1:サブスクライバ1およびサブスクライバ2は、そのサブスクリプション要求をそのレジストラCSE(例えば、図中の通過ノード810)を介して送信し得る。随意に、両サブスクライバは、NODS1004URIをそのサブスクリプション要求内に示さないが、レジストラCSE自体が、そのアドレスをNODS1004URIとして各サブスクリプション要求の中に挿入することができる。
図17に図示されるステップを行うエンティティは、図23Cまたは図23Dに図示されるもの等のネットワークノードまたはコンピュータシステムのメモリ内に記憶され、そのプロセッサ上で実行するソフトウェア(すなわち、コンピュータ実行可能命令)の形態で実装され得る論理エンティティであることを理解されたい。すなわち、図17に図示される方法は、コンピュータ実行可能命令が、ノードのプロセッサによって実行されると、図17に図示されるステップを行う、図23Cまたは図23Dに図示される装置もしくはコンピュータシステム等のネットワーク装置のメモリ内に記憶されるソフトウェア(すなわち、コンピュータ実行可能命令)の形態で実装され得る。図17に図示される任意の伝送および受信ステップは、ノードのプロセッサならびにそれが実行するコンピュータ実行可能命令(例えば、ソフトウェア)の制御下、ノードの通信回路によって行われ得ることも理解されたい。
サブスクリプション分析およびグループ化はまた、通過ノード(例えば、図18における通過ノード2)においても行われることができる。この場合、通過ノードは、SAGS1002およびNODS1004の両方を有する。通過ノードにおけるサブスクリプション分析およびグループ化を促進するために、ホストノードは、最初に、そのイベント通知基準を通過ノードにパブリッシュする必要があり得る。次いで、サブスクライバは、それらのイベント通知基準に従って、サブスクリプションを行うであろう。詳細なプロシージャは、以下に説明され、それは、3段階:サブスクリプション分析およびグループ化(すなわち、図18のステップ1−10)、既存のサブスクリプショングループへの新しいサブスクリプションの追加(すなわち、図18のステップ11−14)、および通知配信(すなわち、図18のステップ15−23)から成る。
図18のステップ1では、ホストノードが、そのリソースおよび関連付けられたイベント通知基準を、ホストノードのレジストラCSEであり得る通過ノード2にパブリッシュする。このメッセージは、以下の3つのパラメータのリストを含む。
resourceID:サブスクライブされることができるソースの識別子。
eventNotifCriteria:resourceIDによって示されるようなリソースに関連付けられたイベント通知基準。
whiteSubList:resourceIDによって示されるようなリソースへのサブスクリプションを行うことが許可されるサブスクライバのリスト。
blackSubList:resourceIDによって示されるようなリソースへのサブスクリプションを行うことが許可されないサブスクライバのリスト。
サブスクライバを許可または却下するためのアクセス制御基準。アクセス制御基準は、サブスクライバの場所、サブスクライバのサービスまたはアプリケーションタイプ等に基づき得ることに留意されたい。
図18のステップ2では、通過ノード2が、resouceIDおよびそのeventNotifCriteriaのリストを維持する。応答をホストノードに返信する。
図18のステップ3では、サブスクライバ1が、サブスクリプション要求を通過ノード2に送信する。resourceID、notifURI、およびeventNotifCriteriaに加え、このメッセージは、随意に、2つの新しいパラメータaggrgFlagおよびNODS1004URIを含み得る。このメッセージの宛先が通過ノード2であることに留意されたい。
aggrgFlag:サブスクライバ1が、このサブスクリプション要求が集約されることを欲するか(例えば、aggrgFlag=TRUEの場合)または欲しないか(例えば、aggrgFlag=FALSEの場合)を示すためのフラグ。
NODS URIは、サブスクライバ1が集約された通知が送信されることを欲する、NODS1004のURIを表す。例えば、サブスクライバ1は、NODS1004URIをそのレジストラCSEに設定することができる。このパラメータは、随意である。
aggrgFlag=FALSEの場合、サブスクライバ1は、サブスクリプション集約を欲せず、次に、NODS URIは、必要とされないことを意味する。
図18のステップ4では、サブスクライバ2が、サブスクリプション要求を通過ノード2に送信する。このメッセージは、ステップ3に類似する。このメッセージの宛先は、通過ノード2であることに留意されたい。
図18のステップ5では、通過ノード2内のSAGS1002が、ステップ3およびステップ4における両要求が集約されることができる(例えば、同一resourceIDおよびeventNotifCriteriaを有し、両方とも、ステップ1において受信されるようなwhiteSubList内にある)ことを見出す。次いで、両要求を集約し、サブスクリプショングループSG(i)を作成する。
図18のステップ6では、通過ノード2 1802内のSAGS1002が、メッセージを通過ノード1 810に送信し、通過ノード1 810は、通知グループを作成または更新するNODS1004を有する。このメッセージは、notifURI1(サブスクライバ1 1006から)およびnotifURI2(サブスクライバ2から)を含む。通過ノード1 810は、サブスクライバまたはそれらの通知受信側により近接し得る。したがって、それがNODS1004を行うことがより効率的である。
SAGS1002およびNODS1004は、同一通過ノード内に共同設置され得ることに留意されたい。例えば、M2Mネットワークアプリケーションは、サブスクリプション要求をそのレジストラM2Mサーバに送信する。レジストラM2Mサーバは、SAGS1002およびNODS1004の両方を有する。M2Mネットワークアプリケーションは、NODS1004URIもaggrgFlagも示す必要はない。レジストラM2Mサーバは、そのサブスクリプション要求を集約することができる。
通過ノード1は、通過ノード2によって選択され得、通過ノード2は、例えば、通過ノード2における高交通負荷または通過ノード1がサブスクライバにより近接することに起因して、そのNODS1004を通過ノード1に委任することに留意されたい。ステップ6は、そのようなNODS1004委任を同時に行うことができ、追加のメッセージの必要性はない。
図18のステップ7では、通過ノード1内のNODS1004が、対応する通知グループNG(i)を作成/更新する。NG(i)は、2つのメンバ(すなわち、notifURI1およびnotifURI2)を有する。
図18のステップ8では、NODS1004が、応答をSAGS1002に送信し、NG(i)の識別子を知らせる。
図18のステップ9では、通過ノード2 1802が、集約されたサブスクリプション要求をホストノードに送信する。このメッセージは、SG(i)に関連付けられた以下のパラメータを含み得る。加えて、SAGS1002は、SG(i)とNG(i)との間のマッピング関係を維持する。
resourceID:サブスクライバ1 1006およびサブスクライバ2 1008の両方が関心があるリソースの識別子。
eventNotifCriteria:サブスクライバ1 1006およびサブスクライバ2 1008の両方が示すイベント通知基準。
newNotifURI:ホストノード808が通知を送信すべきアドレスを示す。通過ノード2 1802がこのパラメータを設定するための2つのオプションが、存在する。
オプション1:newNotifURIを通過ノード2に設定するか、またはSG(i)の識別子がサブスクライバ1 1006およびサブスクライバ2 1008のために作成される。図18は、このオプションを示す。
オプション2:newNotifURIをNODS1004のアドレス(すなわち、NODS1004URI)に設定する。このオプションが使用される場合、ステップ16は、直接、ホストノード808からNODS1004となるであろう。
subscriberList:SG(i)内に含まれるオリジナルサブスクライバのリスト。このパラメータは、随意である。
図18のステップ10では、ホストノードが、応答を通過ノード2に返信する。
subscriberListが図18のステップ9に含まれる場合、ホストノードは、一部のサブスクライバを承認しないこともある。これが生じる場合、通過ノード2内のSAGS1002は、図18のステップ6−8を繰り返し、NODS1004内のNG(i)を更新するであろう。
図18のステップ11では、別のサブスクライバ3が、ステップ3およびステップ4に類似する、サブスクリプション要求を行う。
図18のステップ12では、SAGS1002が、この要求がSG(i)に集約されることができる(例えば、同一resourceIDおよび同一eventNotifCriteriaを伴う)ことを見出す。その結果、サブスクライバ3をSG(i)に追加する。
図18のステップ13では、SAGS1002が、メッセージを送信し、NODS1004をサブスクライバ3のnotifURI3で更新する。
図18のステップ14では、NODS1004が、notifURI3をNG(i)に新しいメンバとして追加する。
図18のステップ15では、ステップ3/4/11におけるeventNotifCriteriaに対応するイベントが、発生する。
図18のステップ16では、ホストノード808が、通知をステップ9に示されるnewNotifURIに送信する。
図18のステップ17では、通過ノード2が、この通知を受信し、通知をNG(i)に転送する。
図18のステップ18では、通過ノード1 810内のNODS1004が、通知を受信する。この通知から標的NG(i)を見出し、その結果、通知をNG(i)の全メンバ(すなわち、notifURI1、notifURI2、およびnotifURI3)に配信する。
図18のステップ19−21では、NODS1004が、通知を、それぞれ、3つのサブスクライバに配信する。
図に示されないが、各サブスクライバは、応答をNODS1004に返信し、通知の受信を肯定応答し得る。NODS1004への応答メッセージでは、各サブスクライバはまた、将来の通知を受信するための新しいnotifURIを示し得る。
図18のステップ22では、NODS1004が、応答をSAGS1002に送信し、オリジナルサブスクライバが通知を正常に受信したことを知らせる。
図18のステップ23では、SAGS1002が、応答をホストノードに返信する。
図18に図示されるステップを行うエンティティは、図23Cまたは図23Dに図示されるもの等、ネットワークノードまたはコンピュータシステムのメモリ内に記憶され、そのプロセッサ上で実行するソフトウェア(すなわち、コンピュータ実行可能命令)の形態で実装され得る論理エンティティであることを理解されたい。すなわち、図18に図示される方法は、図23Cまたは図23Dに図示される装置もしくはコンピュータシステム等のネットワーク装置のメモリ内に記憶されるソフトウェア(すなわち、コンピュータ実行可能命令)の形態で実装され得、そのコンピュータ実行可能命令は、ノードのプロセッサによって実行されると、図18に図示されるステップを行う。図18に図示される任意の伝送および受信ステップは、ノードのプロセッサならびにそれが実行するコンピュータ実行可能命令(例えば、ソフトウェア)の制御下でノードの通信回路によって行われ得ることも理解されたい。
既存のoneM2Mでは、各アナウンスされたリソースは、対応するオリジナルリソースを有し、アナウンスされたリソースは、サブスクライブされることができる。言い換えると、M2Mエンティティは、アナウンスされたリソースの変更についての通知を得るためのサブスクリプション要求をアナウンスされたリソースに発行することができる。しかし、この要求は、オリジナルリソースのイベントまたは変更についての通知を得ることができない。図19は、M2Mエンティティがサブスクリプション要求をアナウンスされたリソースに送信するが、意図がオリジナルリソースの変更についての将来的通知を得ることである場合を示す。
図19のステップ1では:ホストノード808が、修正リソースアナウンスメントメッセージを通過ノードに送信する。オリジナルリソースの識別子(すなわち、resourceID)に加え、このメッセージは、図19のステップ4におけるサブスクリプションを促進するための以下の新しいパラメータを含む。これらの新しいパラメータは、図19のステップ2において作成されるべきアナウンスされたリソースのための新しい属性として追加されるであろう。
eventNotifCriteria:アナウンスされているリソースのイベント通知基準を表す。
subPolicy:アナウンスされているリソースに対するサブスクリプションポリシを表す(例えば、前述の節において定義されるようなwhiteSubListおよびblackSubList)。
subToOriginalResourceEnable:このパラメータがTRUEである場合のみ、オリジナルリソースが、通過ノードにおいて図19のステップ2において作成されるべきそのアナウンスされたリソースを介してサブスクライブされることができる。
図19のステップ2では:通過ノードは、対応するアナウンスされたリソース(例えば、<rsc1Annc>)を作成する。このリソースは、図19のステップ1において伝達されるような3つの新しい属性subToOriginalResourceEnable、subPolicy、eventNotifCriteriaを有する。
subToOriginalResourceEnable=TRUEの場合、サブスクライバは、このアナウンスされたリソースを介して、オリジナルリソースへのサブスクリプションを行うことができる(例えば、ステップ4、ステップ5、およびステップ8)。
図19のステップ3では、通過ノードが、応答をホストノードに返信する。
図19のステップ4では、サブスクライバ1が、サブスクリプション要求を通過ノードに送信する。このメッセージは、以下のパラメータを含む。
resourceID:例として、<rsc1Annc>に設定する。それは、サブスクリプション要求がこのアナウンスされたリソース(subType=ANNNOUNCEのとき)またはそのオリジナルリソース(subType=ORIGINALのとき)を標的化することを意味する。
eventNotifCriteria:このサブスクリプションに関連付けられたイベント通知基準を示す。このパラメータは、図19のステップ1に含まれる「eventNotifCriteria」の一部である。
subType:サブスクライバがオリジナルリソースの変更(subType=ORIGINALのとき)またはアナウンスされたリソースの変更(subType=ANNNOUNCEのとき)に関心があるかどうかを示す。
notifURI1:サブスクライバ1が将来的通知を受信することを期待するアドレスを示す。
図19のステップ5では、サブスクライバ2 1008が、サブスクリプション要求を通過ノード810に送信する。このメッセージは、図19のステップ4に類似する。
図19のステップ6では、通過ノードが、図19のステップ1において受信されたsubPolicyを使用して、サブスクライバ1 1006およびサブスクライバ2 1008からのサブスクリプション要求が承認されるべき(例えば、サブスクライバ1 1006およびサブスクライバ2 1008の両方がwhiteSubList内にある)かどうかを決定する。この例では、両要求を承認する。次いで、通過ノードは、図19のステップ4およびステップ5における要求が同一resourceIDならびにeventNotifCriteriaを有することを見出す。次いで、サブスクリプショングループをアナウンスされたリソースの子リソース(すなわち、<rsc1Annc>/<subGroup1>)として作成する。<subGroup1>は、2つのメンバ(すなわち、図19のステップ4およびステップ5において受信されるようなnotifURI1ならびにnotifURI2)および仮想リソース「論理出力数」を有する。仮想リソース「論理出力数」は、<subGroup1>の各メンバへの通知の配信をトリガするために使用されるであろう。
図19のステップ7では、通過ノードが、通常サブスクリプション要求をホストノードに以下のパラメータとともに送信する。
resourceID:図19のステップ4およびステップ5における同一resourceIDに設定する。
eventNotifCriteria:図19のステップ4およびステップ5における同一eventNotifCriteriaに設定する。
notifURI:「<rsc1Annc>/<subGroup1>/論理出力数」に設定する。
図19のステップ8では、サブスクライバ3 1010が、サブスクリプション要求を通過ノードに送信する。このメッセージは、図19のステップ4に類似するが、異なるnotifURI3を伴う。
図19のステップ9では、通過ノードが、図19のステップ8における要求が図19のステップ4およびステップ5におけるものに類似することを見出す。その結果、notifURI3を<subGroup1>に追加する。しかし、通過ノード810は、図19のステップ7においてサブスクリプション要求をホストノード808にすでに送信しているので、要求を再び送信せず、したがって、それとホストノード808との間のメッセージオーバーヘッドを節約するであろう。
図19のステップ10では、ステップ7におけるeventNotifCriteriaに対応するイベントが、発生する。
図19のステップ11では、ホストノード808が、通知を通過ノード810における「<rsc1Annc>/<subGroup1>/論理出力数」に送信する。キーワード「論理出力数」は、通過ノード810が通知を<subGroup1>の各メンバ(すなわち、notifURI1、notifURI2、およびnotifURI3)に配信することをトリガするために使用される。
図19のステップ12では、通過ノード810が、通知をnotifURI1に転送する。
図19のステップ13では、通過ノード810が、通知をnotifURI2に転送する。
図19のステップ14では、通過ノード810が、通知をnotifURI3に転送する。
図19に図示されるステップを行うエンティティは、図23Cまたは図23Dに図示されるもの等、ネットワークノードまたはコンピュータシステムのメモリ内に記憶され、そのプロセッサ上で実行するソフトウェア(すなわち、コンピュータ実行可能命令)の形態で実装され得る論理エンティティであることを理解されたい。すなわち、図19に図示される方法は、図23Cまたは図23Dに図示される装置もしくはコンピュータシステム等のネットワーク装置のメモリ内に記憶されるソフトウェア(すなわち、コンピュータ実行可能命令)の形態で実装され得、そのコンピュータ実行可能命令は、ノードのプロセッサによって実行されると、図19に図示されるステップを行う。図19に図示される任意の伝送および受信ステップは、ノードのプロセッサならびにそれが実行するコンピュータ実行可能命令(例えば、ソフトウェア)の制御下でノードの通信回路によって行われ得ることも理解されたい。
前述のように、既存のoneM2Mは、オリジナル属性とアナウンスされた属性との間の同期を可能にする機構(アナウンスメント同期と称される)を説明する。しかし、そのようなアナウンスメント同期を実装する方法に関する詳細を与えていない。図19における構成を例として検討すると、アナウンスメント同期は、リソースサブスクリプションと一緒に統合され得る。
代替実施形態のステップ1では、ホストノード(例えば、MN−CSE)が、そのリソース(すなわち、オリジナルリソース)を通過ノード(例えば、IN−CSE)にアナウンスする。
代替実施形態のステップ2では、通過ノード810が、対応するアナウンスされたリソースを作成する。
代替実施形態のステップ3では、サブスクライバ1 1006(例えば、IN−AE1)が、通過ノード上のアナウンスされたリソースにサブスクライブする。
代替実施形態のステップ4では、ホストノード808が、そのオリジナルリソースとアナウンスされたリソースとの間の同期を維持する。言い換えると、ホストノード808は、アナウンスされたリソースがオリジナルリソースと同期されたままであろうように、オリジナルリソースに変更がある度に、通知を通過ノード810に送信することができる。
代替実施形態のステップ5では、通過ノード810が、ホストノード808から受信された通知に基づいて、アナウンスされたリソースを更新する。次いで、その最新値を使用して、サブスクライバ1 1006からのサブスクリプションにサービスを提供する。例えば、アナウンスされたリソースの新しい値がサブスクライバ1 1006によって示されるイベント通知基準を満たす場合、通過ノード810は、通知をサブスクライバ1 1006に送信するであろう。
しかしながら、そのようなアナウンスメント同期は、図19に提示されるソリューションと比較して、いくつかの不利点または短所を有する。
第1に、oneM2M仕様は、そのようなアナウンスメント同期が実装されるであろう方法に関する詳細を与えていない。
第2に、oneM2M仕様では、「オリジナルリソースによってアナウンスされた属性とアナウンスされたリソースとの間の同期は、オリジナルリソースホストCSEの責任である」と定めている。それは、ホストCSEがアナウンスメント同期が行われるであろう方法を決定することを含意する。したがって、それは、リソースサブスクリプションから独立する。言い換えると、アナウンスされたリソースに対するリソースサブスクリプションは、独立し、アナウンスメント同期によって影響されないであろう。
そのようなアナウンスメント同期は、オリジナルリソースの新しい値がどんなサブスクライバによっても関心が示されなくとも、ホストCSE810が通知を通過ノード808に送信し続ける必要があるであろう。図19に提示されるソリューションと比較して、そのようなアナウンスメント同期は、より多くの通知およびオーバーヘッドをホストCSE810と通過CSEとの間に生じさせる。
一部のサブスクライバは、イベントに関心があり得る(例えば、オリジナルリソースに関するUPDATE動作が存在する)。アナウンスメント同期を単に使用することでは、アナウンスメント同期がそのようなイベントをアナウンスされたリソースに報告しないので、この目標を達成することはできない。
3つの新しい属性が、表4に列挙されるように、既存のoneM2M<subscription>リソースのために提案される。
3つの新しい属性が、表5に列挙されるように、既存のoneM2Mアナウンスリソースのために提案される。
新しい共通属性が、サブスクライバによってサブスクライブされ得る任意のリソースのために提案される(表6)。
前述のように、SAGS1002からNODS1004への集約された通知は、各オリジナルサブスクライバへの全notifURIを含み得る。この特徴をサポートするために、既存のoneM2M通知メッセージが、通知がSAGS1002からNODS1004に送信される集約された通知であるとき、以下のパラメータ/情報を含むことが提案される。
notifURIList:各オリジナルサブスクライバへのnotifURIのリストを示す。言い換えると、このリスト内の各アイテムは、異なるサブスクライバへのnotifURIである。NODS1004が集約通知をSAGS1002から受信すると、NODS1004は、このパラメータ内に含まれる全notifURIを抽出し、通知を各notifURIに配信するであろう。
サブスクライバが通知メッセージを受信すると、サブスクライバは、応答を返信する必要がある。この通知応答メッセージは、新しいパラメータnotifURIを含むことが提案される。新しいnotifURIは、基本的に、ホストノード(または通過ノード)に、将来的通知を受信するためのアドレスを伝える。
図20は、提案されるアイディアを既存のSUB CSFに実装し、現在のoneM2M機能アーキテクチャに基づいて、拡張サブスクリプションおよび通知(eSUB)CSF2002を形成するための一例示的実施形態を示す。
この新しいeSUB2002は、提案されるSAGS1002および/またはNODS1004サービスをサポートする。それは、アナウンスされたリソースを介したサブスクリプションもサポートする。eSUB2002は、IN−CSE、MN−CSE、および/またはASN−CSE内に常駐することができる。図21は、oneM2MにおけるeSUB2002の2つの例示的展開を図示し、提案されるeSUBは、MccおよびMca参照点上のメッセージング相互作用に影響を及ぼすであろう。
図21Aでは、サブスクライバは、IN−AEであり、ホストノードは、MN−CSEであり、通過ノードは、IN−AEのレジストラCSEであるIN−CSEである。eSUB2002は、MN−CSEおよびIN−CSEの両方内に含まれる。MN−CSE内のeSUBは、SAGS1002のみをサポートする一方、IN−CSE内のeSUBは、SAGS1002およびNODS1004の両方をサポートし得る。通知受信側は、IN−AEである。
図21Bでは、サブスクライバは、ADN−AEであり、ホストノードは、IN−CSEであり、通過ノードは、ADN−AEのレジストラCSEであるMN−CSEである。IN−CSEは、MN−CSEのレジストラCSEである。eSUBは、MN−CSEおよびIN−CSEの両方内に含まれる。IN−CSE内のeSUBは、SAGS1002のみをサポートする一方、MN−CSE内のeSUBは、SAGS1002およびNODS1004の両方をサポートし得る。通知受信側は、ADN−AEである。
図20−21に図示される機能性は、以下に説明される図23Cまたは23Dに図示されるもののうちの1つ等、M2Mネットワークの装置(例えば、サーバ、ゲートウェイ、デバイス、または他のコンピュータシステム)のメモリ内に記憶され、そのプロセッサ上で実行するソフトウェア(すなわち、コンピュータ実行可能命令)の形態で実装され得ることを理解されたい。
グラフィカルユーザインターフェース(GUI)等のインターフェースが、サブスクリプション集約に関連するパラメータおよび/または結果を表示ならびに/もしくは調節するために使用されることができる。図22は、インターフェース2202および2204を図示する略図である。
ユーザインターフェース2202は、ホストノード(例えば、M2Mゲートウェイ)に追加され、SAGS1002によって作成されるサブスクリプショングループおよび各グループのメンバ等のサブスクリプション集約に関連する情報を表示することができる。
ユーザインターフェース2204も、通過ノード(例えば、M2Mサーバ)に追加され、以下等のサブスクリプション集約および通知配信に関連する情報を表示することができる。
SAGS1002によって作成されるサブスクリプショングループおよびそのメンバ
NODS1004によって作成される通知グループおよびそのメンバ
各通知グループについての統計(例えば、各メンバに正常に配信された通知の数)
インターフェース2202および2204は、以下で説明される図23C−Dに示されるもの等のディスプレイを使用して生成されることができることを理解されたい。
(例示的M2M/IoT/WoT通信システム)
本明細書に説明される種々の技法は、ハードウェア、ファームウェア、ソフトウェア、もしくは適切である場合、それらの組み合わせに関連して実装され得る。そのようなハードウェア、ファームウェア、およびソフトウェアは、通信ネットワークの種々のノードに位置する装置の中に常駐し得る。装置は、本明細書に説明される方法をもたらすように、単独で、または互いに組み合わせて動作し得る。本明細書で使用される場合、用語「装置」、「ネットワーク装置」、「ノード」、「デバイス」、および「ネットワークノード」は、同義的に使用され得る。
用語「サービス層」は、ネットワークサービスアーキテクチャ内の機能層を指す。サービス層は、典型的には、HTTP、CoAP、またはMQTT等のアプリケーションプロトコル層の上方に位置し、付加価値サービスをクライアントアプリケーションに提供する。サービス層はまた、インターフェースを、例えば、制御層およびトランスポート/アクセス層等の下位リソース層におけるコアネットワークに提供する。サービス層は、サービス定義、サービスランタイム有効化、ポリシ管理、アクセス制御、およびサービスクラスタリングを含む(サービス)能力または機能性の複数のカテゴリをサポートする。最近、いくつかの産業規格団体、例えば、oneM2Mが、インターネット/ウェブ、セルラー、企業、およびホームネットワーク等の展開へのM2Mタイプのデバイスならびにアプリケーションの統合に関連付けられた課題に対処するためのM2Mサービス層を開発している。M2Mサービス層は、アプリケーションおよび/または種々のデバイスに、CSEもしくはSCLと称され得る、サービス層によってサポートされる前述の能力または機能性の集合もしくは組へのアクセスを提供することができる。いくつかの例として、限定ではないが、種々のアプリケーションによって一般に使用され得る、セキュリティ、課金、データ管理、デバイス管理、発見、プロビジョニング、およびコネクティビティ管理が挙げられる。これらの能力または機能性は、M2Mサービス層によって定義されたメッセージフォーマット、リソース構造、およびリソース表現を利用するAPIを介して、そのような種々のアプリケーションに利用可能にされる。CSEまたはSCLは、それらにそのような能力もしくは機能性を使用するために、ハードウェアおよび/もしくはソフトウェアによって実装され得、種々のアプリケーションならびに/もしくはデバイスにエクスポーズされる(サービス)能力または機能性を提供する機能エンティティ(例えば、そのような機能エンティティ間の機能インターフェース)である。
図23Aは、1つ以上の開示される実施形態が実装され得る例示的マシンツーマシン(M2M)、モノのインターネット(IoT)、またはモノのウェブ(WoT)通信システム10の略図である。概して、M2M技術は、IoT/WoTのための構築ブロックを提供し、任意のM2Mデバイス、M2Mゲートウェイ、またはM2Mサービスプラットフォームは、IoT/WoTのコンポーネントまたはノードならびにIoT/WoTサービス層等であり得る。通信システム10は、開示される実施形態の機能性を実装するために使用されることができ、CSE202、M2Mサーバ602、708、通過ノード810および1802、ホストノード808、M2M AE802、804、および806、SAGS1002、NODS1004 1004、サブスクライバ1006、1008、および1010、eSUB CSF2002を含むCSF、ならびにインターフェース2202および2204を生成するための論理エンティティ等の機能性ならびに論理エンティティを含むことができる。
図23Aに示されるように、M2M/IoT/WoT通信システム10は、通信ネットワーク12を含む。通信ネットワーク12は、固定ネットワーク(例えば、イーサネット(登録商標)、ファイバ、ISDN、PLC等)もしくは無線ネットワーク(例えば、WLAN、セルラー等)もしくは異種ネットワークのネットワークであり得る。例えば、通信ネットワーク12は、音声、データ、ビデオ、メッセージング、ブロードキャスト等のコンテンツを複数のユーザに提供する多重アクセスネットワークから成り得る。例えば、通信ネットワーク12は、符号分割多重アクセス(CDMA)、時分割多重アクセス(TDMA)、周波数分割多重アクセス(FDMA)、直交FDMA(OFDMA)、単一キャリアFDMA(SC−FDMA)等の1つ以上のチャネルアクセス方法を採用し得る。さらに、通信ネットワーク12は、例えば、コアネットワーク、インターネット、センサネットワーク、工業制御ネットワーク、パーソナルエリアネットワーク、融合個人ネットワーク、衛星ネットワーク、ホームネットワーク、または企業ネットワーク等の他のネットワークを備え得る。
図23Aに示されるように、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(登録商標))、直接無線リンク、および有線を含む、種々のネットワークを介して通信し得る。
例示的M2M端末デバイス18は、タブレット、スマートフォン、医療デバイス、温度および天候モニタ、コネクテッドカー、スマートメータ、ゲームコンソール、携帯情報端末、健康およびフィットネスモニタ、照明、サーモスタット、電気器具、車庫のドアおよび他のアクチュエータベースのデバイス、セキュリティデバイス、ならびにスマートコンセントを含むが、それらに限定されない。
図23Bを参照すると、フィールドドメイン内の図示されるM2Mサービス層22は、M2Mアプリケーション20、M2Mゲートウェイデバイス14、およびM2M端末デバイス18、ならびに通信ネットワーク12のためのサービスを提供する。通信システムネットワーク12は、開示される実施形態の機能性を実装するために使用されることができ、CSE202、M2Mサーバ602、708、通過ノード810および1802、ホストノード808、M2M AE802、804、および806、SAGS1002、NODS1004 1004、サブスクライバ1006、1008、および1010、eSUB CSF2002を含むCSF、ならびにインターフェース2202および2204を生成するための論理エンティティ等の機能性および論理エンティティを含むことができる。M2Mサービス層22は、例えば、以下で説明される図23Cおよび23Dで図示されるデバイスを含む1つ以上のサーバ、コンピュータ、デバイス、仮想マシン(例えば、クラウド/記憶ファーム等)等によって実装され得る。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つ以上のノードによって実装され得る。
図23Bも参照すると、M2Mサービス層22および22’は、多様なアプリケーションおよびバーティカルが活用することができるサービス送達能力のコアの組を提供する。これらのサービス能力は、M2Mアプリケーション20および20’がデバイスと相互作用し、データ収集、データ分析、デバイス管理、セキュリティ、課金、サービス/デバイス発見等の機能を果たすことを可能にする。本質的に、これらのサービス能力は、これらの機能性を実装する負担をアプリケーションから取り除き、したがって、アプリケーション開発を単純化し、市場に出すコストおよび時間を削減する。サービス層22および22’はまた、M2Mアプリケーション20および20’が、サービス層22および22’が提供するサービスと関連して、ネットワーク12を通して通信することも可能にする。
本願の方法は、サービス層22および22’の一部として実装され得る。サービス層22および22’は、アプリケーションプログラミングインターフェース(API)および下層ネットワーキングインターフェースの組を通して付加価値サービス能力をサポートする、ソフトウェアミドルウェア層である。ETSI M2MおよびoneM2Mの両方は、本願の接続方法を含み得るサービス層を使用する。ETSI M2Mのサービス層は、サービス能力層(SCL)と称される。SCLは、M2Mデバイス(デバイスSCL(DSCL)と称される)、ゲートウェイ(ゲートウェイSCL(GSCL)と称される)、および/またはネットワークノード(ネットワークSCL(NSCL)と称される)内に実装され得る。oneM2Mサービス層は、共通サービス機能(CSF)(すなわち、サービス能力)の組をサポートする。1つ以上の特定のタイプのCSFの組のインスタンス化は、異なるタイプのネットワークノード(例えば、インフラストラクチャノード、中間ノード、特定用途向けノード)上にホストされ得る共通サービスエンティティ(CSE)と称される。さらに、本願の接続方法は、本願の接続方法等のサービスにアクセスするために、サービス指向アーキテクチャ(SOA)および/またはリソース指向アーキテクチャ(ROA)を使用する、M2Mネットワークの一部として実装されることができる。
いくつかの実施形態では、M2Mアプリケーション20および20’は、開示されるシステムおよび方法と併せて使用され得る。M2Mアプリケーション20および20’は、UEまたはゲートウェイと相互作用するアプリケーションを含み得、他の開示されるシステムおよび方法と併せて使用され得る。
一実施形態では、CSE202、M2Mサーバ602、708、通過ノード810および1802、ホストノード808、M2M AE802、804、および806、SAGS1002、NODS1004 1004、サブスクライバ1006、1008、および1010、eSUB CSF2002を含むCSF、ならびにインターフェース2202および2204を生成するための論理エンティティ等の論理エンティティは、図23Bに示されるように、M2Mサーバ、M2Mゲートウェイ、またはM2Mデバイス等のM2MノードによってホストされるM2Mサービス層インスタンス内でホストされ得る。例えば、CSE202、M2Mサーバ602、708、通過ノード810および1802、ホストノード808、M2M AE802、804、および806、SAGS1002、NODS1004 1004、サブスクライバ1006、1008、および1010、eSUB CSF2002を含むCSF、ならびにインターフェース2202および2204を生成するための論理エンティティ等の論理エンティティは、M2Mサービス層インスタンス内で、または既存のサービス能力内のサブ機能として、個々のサービス能力を備え得る。
M2Mアプリケーション20および20’は、限定ではないが、輸送、保健ならびに健康、コネクテッドホーム、エネルギー管理、アセット追跡、ならびにセキュリティおよび監視等の種々の業界でのアプリケーションを含み得る。前述のように、本システムのデバイス、ゲートウェイ、サーバ、および他のノードにわたって作動するM2Mサービス層は、例えば、データ収集、デバイス管理、セキュリティ、課金、場所追跡/ジオフェンシング、デバイス/サービス発見、およびレガシーシステム統合等の機能をサポートし、サービスとしてこれらの機能をM2Mアプリケーション20および20’に提供する。
概して、サービス層22および22’は、アプリケーションプログラミングインターフェース(API)および下層ネットワーキングインターフェースの組を通して付加価値サービス能力をサポートする、ソフトウェアミドルウェア層を定義する。ETSI M2MおよびoneM2Mアーキテクチャの両方は、サービス層を定義する。ETSI M2Mのサービス層は、サービス能力層(SCL)と称される。SCLは、ETSI M2Mアーキテクチャの種々の異なるノード内に実装され得る。例えば、サービス層のインスタンスは、M2Mデバイス(デバイスSCL(DSCL)と称される)、ゲートウェイ(ゲートウェイSCL(GSCL)と称される)、および/またはネットワークノード(ネットワークSCL(NSCL)と称される)内で実装され得る。oneM2Mサービス層は、共通サービス機能(CSF)(すなわち、サービス能力)の組をサポートする。1つ以上の特定のタイプのCSFの組のインスタンス化は、異なるタイプのネットワークノード(例えば、インフラストラクチャノード、中間ノード、特定用途向けノード)上にホストされ得る、共通サービスエンティティ(CSE)と称される。第3世代パートナーシッププロジェクト(3GPP)はまた、マシンタイプ通信(MTC)のためのアーキテクチャも定義している。そのアーキテクチャでは、サービス層、およびそれが提供するサービス能力は、サービス能力サーバ(SCS)の一部として実装される。ETSI M2MアーキテクチャのDSCL、GSCL、またはNSCLで具現化されようと、3GPP MTCアーキテクチャのサービス能力サーバ(SCS)で具現化されようと、oneM2MアーキテクチャのCSFまたはCSEで具現化されようと、もしくはネットワークのある他のノードとして具現化されようと、サービス層のインスタンスは、サーバ、コンピュータ、および他のコンピュータデバイスまたはノードを含む、ネットワーク内の1つ以上の独立型ノード上で実行される論理エンティティ(例えば、ソフトウェア、コンピュータ実行可能命令等)として、もしくは1つ以上の既存のノードの一部としてのいずれかで実装され得る。例として、サービス層またはそのコンポーネントのインスタンスは、以下で説明される図23Cまたは図23Dで図示される一般アーキテクチャを有する、ネットワークノード(例えば、サーバ、コンピュータ、ゲートウェイ、デバイス等)上で作動するソフトウェアの形態において実装され得る。
さらに、CSE202、M2Mサーバ602、708、通過ノード810および1802、ホストノード808、M2M AE802、804、および806、SAGS1002、NODS1004 1004、サブスクライバ1006、1008、および1010、eSUB CSF2002を含むCSF、ならびにインターフェース2202および2204を生成するための論理エンティティ等の論理エンティティは、本願のサービスにアクセスするために、サービス指向アーキテクチャ(SOA)および/またはリソース指向アーキテクチャ(ROA)を使用する、M2Mネットワークの一部として実装されることができる。
図23Cは、M2Mデバイス18、M2Mゲートウェイ14、M2Mサーバ等のM2Mネットワークノード30の例示的ハードウェア/ソフトウェアアーキテクチャのブロック図である。ノード30は、CSE202、M2Mサーバ602、708、通過ノード810および1802、ホストノード808、M2M AE802、804、および806、SAGS1002、NODS1004 1004、サブスクライバ1006、1008、および1010、eSUB CSF2002を含むCSF、ならびにインターフェース2202および2204を生成するための論理エンティティ等の論理エンティティを実行すること、または含むことができる。デバイス30は、図23A−Bに示されるようなM2Mネットワークの一部または非M2Mネットワークの一部であり得る。図23Cに示されるように、M2Mノード30は、プロセッサ32と、非取り外し可能メモリ44と、取り外し可能メモリ46と、スピーカ/マイクロホン38と、キーパッド40と、ディスプレイ、タッチパッド、および/またはインジケータ42と、電源48と、全地球測位システム(GPS)チップセット50と、他の周辺機器52とを含み得る。ノード30はまた、送受信機34および伝送/受信要素36等の通信回路を含み得る。M2Mノード30は、実施形態と一致したままで、先述の要素の任意の副次的組み合わせを含み得ることが理解されるであろう。このノードは、本明細書に説明されるSMSF機能性を実装する、ノードであり得る。
プロセッサ32は、汎用プロセッサ、特殊目的プロセッサ、従来のプロセッサ、デジタル信号プロセッサ(DSP)、複数のマイクロプロセッサ、DSPコアと関連する1つ以上のマイクロプロセッサ、コントローラ、マイクロコントローラ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)回路、任意の他のタイプの集積回路(IC)、状態マシン等であり得る。一般に、プロセッサ32は、ノードの種々の要求される機能を果たすために、ノードのメモリ(例えば、メモリ44および/またはメモリ46)内に記憶されるコンピュータ実行可能命令を実行し得る。例えば、プロセッサ32は、信号符号化、データ処理、電力制御、入出力処理、および/またはM2Mノード30が無線もしくは有線環境内で動作することを可能にする任意の他の機能性を行い得る。プロセッサ32は、アプリケーション層プログラム(例えば、ブラウザ)および/または無線アクセス層(RAN)プログラムならびに/もしくは他の通信プログラムを起動させてもよい。プロセッサ32はまた、例えば、アクセス層および/またはアプリケーション層等で、認証、セキュリティキー一致、ならびに/もしくは暗号化動作等のセキュリティ動作を行い得る。
図23Cに示されるように、プロセッサ32は、その通信回路(例えば、送受信機34および伝送/受信要素36)に結合される。プロセッサ32は、ノード30に、それが接続されるネットワークを介して他のノードと通信させるために、コンピュータ実行可能命令の実行を通して、通信回路を制御し得る。特に、プロセッサ32は、本明細書および請求項に説明される伝送および受信ステップを行うために、通信回路を制御し得る。図23Cは、プロセッサ32および送受信機34を別個のコンポーネントとして描写するが、プロセッサ32および送受信機34は、電子パッケージまたはチップ内に一緒に統合され得ることが理解されるであろう。
伝送/受信要素36は、M2Mサーバ、ゲートウェイ、デバイス等を含む、他のM2Mノードに信号を伝送するように、またはそこから信号を受信するように構成され得る。例えば、ある実施形態では、伝送/受信要素36は、RF信号を伝送および/または受信するように構成されるアンテナであり得る。伝送/受信要素36は、WLAN、WPAN、セルラー等の種々のネットワークならびにエアインターフェースをサポートし得る。ある実施形態では、伝送/受信要素36は、例えば、IR、UV、または可視光信号を伝送ならびに/もしくは受信するように構成されるエミッタ/検出器であり得る。さらに別の実施形態では、伝送/受信要素36は、RFおよび光信号の両方を伝送ならびに受信するように構成され得る。伝送/受信要素36は、無線または有線信号の任意の組み合わせを伝送ならびに/もしくは受信するように構成され得ることが理解されるであろう。
加えて、伝送/受信要素36は、単一の要素として図23Cに描写されているが、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等の任意のタイプの好適なメモリから情報にアクセスし、その中にデータを記憶し得る。例えば、プロセッサ32は、前述のように、セッションコンテキストをそのメモリ内に記憶し得る。非取り外し可能メモリ44は、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、ハードディスク、または任意の他のタイプのメモリ記憶デバイスを含み得る。取り外し可能メモリ46は、サブスクライバ識別モジュール(SIM)カード、メモリスティック、セキュアデジタル(SD)メモリカード等を含み得る。他の実施形態では、プロセッサ32は、サーバまたはホームコンピュータ上等、M2Mノード30上に物理に位置しないメモリから情報にアクセスし、その中にデータを記憶し得る。プロセッサ32は、ディスプレイまたはインジケータ42上の照明パターン、画像、または色を制御し、M2Mサービス層セッション移行または共有のステータスを反映させる、もしくはノードのセッション移行または共有能力、もしくは設定についての入力をユーザから得るように、または情報をユーザに表示するように構成され得る。別の例では、ディスプレイは、セッション状態に関する情報を示し得る。本開示は、oneM2M実施形態においてRESTfulユーザ/アプリケーションAPIを定義する。ディスプレイ上に示され得る、グラフィカルユーザインターフェースは、APIの上部に層化され、ユーザが、本明細書に説明される下層サービス層セッション機能性を介して、E2Eセッションまたはその移行もしくは共有を双方向に確立および管理することを可能にし得る。
プロセッサ32は、電源48から電力を受け取り得、M2Mノード30内の他のコンポーネントへの電力を配信および/または制御するように構成され得る。電源48は、M2Mノード30に給電するための任意の好適なデバイスであり得る。例えば、電源48は、1つ以上の乾電池バッテリ(例えば、ニッケルカドミウム(NiCd)、ニッケル亜鉛(NiZn)、ニッケル水素(NiMH)、リチウムイオン(Li−ion)等)、太陽電池、燃料電池等を含み得る。
プロセッサ32はまた、M2Mノード30の現在の場所に関する場所情報(例えば、経度および緯度)を提供するように構成される、GPSチップセット50に結合され得る。M2Mノード30は、実施形態と一致したままで、任意の好適な場所決定方法を介して場所情報を獲得し得ることが理解されるであろう。
プロセッサ32はさらに、追加の特徴、機能性、および/または有線もしくは無線接続を提供する、1つ以上のソフトウェアならびに/もしくはハードウェアモジュールを含み得る、他の周辺機器52に結合され得る。例えば、周辺機器52は、加速度計、e−コンパス、衛星送受信機、センサ、デジタルカメラ(写真またはビデオ用)、ユニバーサルシリアルバス(USB)ポート、振動デバイス、テレビ送受信機、ハンズフリーヘッドセット、Bluetooth(登録商標)モジュール、周波数変調(FM)無線ユニット、デジタル音楽プレーヤ、メディアプレーヤ、ビデオゲームプレーヤモジュール、インターネットブラウザ等を含み得る。
図23Dは、M2Mサーバ、ゲートウェイ、デバイス、または他のノード等、M2Mネットワークの1つ以上のノードを実装するためにも使用され得る例示的コンピューティングシステム90のブロック図である。コンピューティングシステム90は、コンピュータまたはサーバを備え得、主に、ソフトウェアの形態であり得るコンピュータ読み取り可能な命令によって制御され得、どこでもまたはどのような手段を用いても、そのようなソフトウェアが記憶またはアクセスされる。コンピューティングシステム90は、CSE202、M2Mサーバ602、708、通過ノード810および1802、ホストノード808、M2M AE802、804、および806、SAGS1002、NODS1004
1004、サブスクライバ1006、1008、および1010、eSUB CSF2002を含むCSF、ならびにインターフェース2202および2204を生成するための論理エンティティ等の論理エンティティを実行すること、または含むことができる。コンピューティングシステム90は、M2Mデバイス、ユーザ機器、ゲートウェイ、UE/GW、または、例えば、モバイルコアネットワーク、サービス層ネットワークアプリケーションプロバイダ、端末デバイス18、もしくはM2Mゲートウェイデバイス14のノードを含む、任意の他のノードであり得る。そのようなコンピュータ読み取り可能な命令は、コンピューティングシステム90を稼働させるように、中央処理装置(CPU)91等のプロセッサ内で実行され得る。多くの既知のワークステーション、サーバ、およびパーソナルコンピュータでは、中央処理装置91は、マイクロプロセッサと呼ばれる単一チップCPUによって実装される。他のマシンでは、中央処理装置91は、複数のプロセッサを備え得る。コプロセッサ81は、追加の機能を果たすか、またはCPU91を支援する、主要CPU91とは明確に異なる随意的なプロセッサである。CPU91および/またはコプロセッサ81は、セッション証明書の受信またはセッション証明書に基づく認証等、E2E M2Mサービス層セッションのための開示されるシステムおよび方法に関連するデータを受信、生成、ならびに処理し得る。
動作時、CPU91は、命令をフェッチ、復号、および実行し、コンピュータの主要データ転送パスであるシステムバス80を介して、情報を他のリソースへ、およびそこから転送する。そのようなシステムバスは、コンピューティングシステム90内のコンポーネントを接続し、データ交換のための媒体を定義する。システムバス80は、典型的には、データを送信するためのデータラインと、アドレスを送信するためのアドレスラインと、割り込みを送信するため、およびシステムバスを動作するための制御ラインとを含む。そのようなシステムバス80の例は、PCI(周辺コンポーネント相互接続)バスである。
システムバス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は、例えば、図23Aおよび図23Bのネットワーク12等の外部通信ネットワークにコンピューティングシステム90を接続するために使用され得る、ネットワークアダプタ97等の通信回路を含み、コンピューティングシステム90が、ネットワークの他のノードと通信することを可能にし得る。
ユーザ機器(UE)は、通信するためにエンドユーザによって使用される任意のデバイスであることができる。それは、携帯電話、モバイルブロードバンドアダプタを装備するラップトップコンピュータ、または任意の他のデバイスであることができる。例えば、UEは、図23A−BのM2M端末デバイス18または図23Cのデバイス30として実装されることができる。
本明細書で説明されるシステム、方法、およびプロセスのうちのいずれかまたは全ては、コンピュータ読み取り可能な記憶媒体上に記憶されたコンピュータ実行可能命令(すなわち、プログラムコード)の形態で具現化され得、その命令は、例えば、M2Mサーバ、ゲートウェイ、デバイス等を含む、M2Mネットワークのノード等のマシンによって実行されると、本明細書に説明されるシステム、方法、およびプロセスを行うならびに/もしくは実装することが理解される。具体的には、ゲートウェイ、UE、UE/GW、またはモバイルコアネットワーク、サービス層、もしくはネットワークアプリケーションプロバイダのノードのうちのいずれかの動作を含む、前述の説明されるステップ、動作、または機能のうちのいずれかは、そのようなコンピュータ実行可能命令の形態において実装され得る。CSE202、M2Mサーバ602、708、通過ノード810および1802、ホストノード808、M2M AE802、804、および806、SAGS1002、NODS1004 1004、サブスクライバ1006、1008、および1010、eSUB CSF2002を含むCSF、ならびにインターフェース2202および2204を生成するための論理エンティティ等の論理エンティティは、コンピュータ読み取り可能な記憶媒体上に記憶されるコンピュータ実行可能命令の形態において具現化され得る。コンピュータ読み取り可能な記憶媒体は、情報の記憶のための任意の非一過性(すなわち、有形または物理)方法もしくは技術で実装される、揮発性および不揮発性、取り外し可能および非取り外し可能媒体の両方を含むが、そのようなコンピュータ読み取り可能な記憶媒体は、信号を含まない。コンピュータ読み取り可能な記憶媒体は、RAM、ROM、EEPROM、フラッシュメモリもしくは他のメモリ技術、CD−ROM、デジタル多用途ディスク(DVD)もしくは他の光学ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置もしくは他の磁気記憶デバイス、または所望の情報を記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の有形または物理媒体を含むが、それらに限定されない。
図に図示されるような本開示の主題の好ましい実施形態を説明することにおいて、明確にするために、具体的用語が採用される。しかしながら、請求される主題は、そのように選択された具体的用語に限定されることを意図しておらず、各具体的要素は、類似目的を達成するように同様に動作する、全ての技術的均等物を含むことを理解されたい。
本明細書は、最良の様態を含む、本発明を開示するために、また、当業者が、任意のデバイスまたはシステムを作製して使用することと、任意の組み込まれた方法を行うこととを含む、本発明を実践することを可能にするために、例を使用する。本発明の特許性のある範囲は、請求項によって定義され、当業者に想起される他の例を含み得る。そのような他の実施例は、請求項の文字通りの言葉とは異ならない要素を有する場合に、または請求項の文字通りの言葉とのごくわずかな差異を伴う同等の要素を含む場合に、請求項の範囲内であることを意図している。