従来のoneM2Mアーキテクチャは、それらの不可欠な機能性を含む種々のCSFを定義すること、およびそれらが他のCSEまたはAEによって実装され、利用される方法に焦点を合わせる。従来のoneM2Mアーキテクチャはまた、異なるM2Mアプリケーション(例えば、AE)間のリソースアクセスおよびメッセージ交換もサポートする。このアーキテクチャは、複数のAEが同一のCSEに登録することを可能にするが、各AEは、独立してCSEへのアプリケーション登録を行う。従来のM2M/IoTサービス層(例えば、oneM2M機能的アーキテクチャベースライン、oneM2M−TS−0001−V−2014−08)は、異なるアプリケーション間の関係を効率的にサポートし、かつそれを利用する機能を欠いている。本明細書では、M2MまたはIoTサービス層(以降では「M2Mサービス層」)においてアプリケーション関係(例えば、親/子)を利用する方法が開示される。
M2M使用事例は、スマートトランスポーテーション、スマートホーム、スマートヘルス、スマートグリッド、スマートシティ等を含み得る。各使用事例は、(例えば、M2Mアプリケーションサーバ内の)インフラストラクチャドメインおよび(例えば、M2Mデバイス内の)フィールドドメインの両方において複数の関連アプリケーションを生成し得る。これらのM2Mアプリケーションは、異なるバーティカルドメインからのアプリケーションに対してさえも、完全には互いから独立していない。以下で説明されるジム使用事例および環境監視事例は、関係が異なるM2Mアプリケーション間に存在し得ることを実証する。
図2は、親/子関係があり得る、顧客のモバイルデバイス上に3つのアプリケーションがあるジム使用事例を図示する。AE134は、モバイルデバイス132とタブレット137(例えば、コーチ)との間のトレーニングアプリケーションである。AE133は、モバイルデバイス132とトレッドミル136との間のトレッドミルアプリケーションである。AE135は、モバイルデバイス132と自転車138との間の自転車アプリケーションである。AE133、AE134、およびAE135は、それら自体をジムゲートウェイ131(例えば、oneM2M CSE)に登録する。AE134は、タブレット137からトレーニング計画にアクセスするために使用される。そして、顧客は、AE134によって提供されるようなトレーニングプログラムで指定される機器(例えば、トレッドミル136および自転車138)との相互作用のために、AE133またはAE135を使用する。例えば、顧客は、AE133を介してトレッドミル136を動的に減速または加速するコマンドを送信することができる。この例では、AE134は、情報(例えば、トレーニングプログラム)をAE133およびAE135に提供する、親アプリケーションと見なされ得る。AE133およびAE135は、子アプリケーションと見なされ得、両方とも、フィードバックとしてトレーニング結果をAE134に提供し得る。加えて、AE134は、AE133またはAE135の動作を制御するためのアクセス権、およびオーバーライドさえするためのアクセス権を有し得る。
図3は、複合/入力関係の例を含む環境監視のための使用事例を図示する。図3では、いくつかのタイプのセンサ(例えば、湿度センサ145、煙センサ142、温度センサ144、および風センサ143)が、物理的領域141内に展開される。センサは、異なる密度で異なる場所に配置され得る。各センサは、それ自体をセンサアプリケーションとしてM2Mゲートウェイ149に登録する。センサは、M2Mゲートウェイ149を通してインターネットからアクセスされ得る。
図3を続けて参照すると、1つの展開では、M2Mゲートウェイ149は、異なる目的のために2つのゲートウェイアプリケーション(例えば、AE147およびAE148)をインストールするが、両方ともセンサアプリケーションに依存し得る。例えば、AE147は、気象予測のために、湿度センサ145の湿度センサアプリケーションおよび温度センサ144の温度センサアプリケーションの組み合わせを利用し得る。一方で、AE148は、火災予測のために、温度センサ144の温度センサアプリケーション、煙センサ142の煙センサアプリケーション、および風センサ143の風センサアプリケーションの組み合わせを利用し得る。センサアプリケーションは、出力を生成するためにゲートウェイアプリケーション(複合アプリケーション)が依存する入力である。個々のセンサアプリケーションは、インターネットから他のネットワークアプリケーションによって利用され得る。
従来のM2Mサービス層(例えば、OneM2M機能的アーキテクチャベースライン、oneM2M−TS−0001−V−2014−08)は、異なるアプリケーション間の関係を効率的にサポートし、かつそれを利用する機能を欠いている。従来のoneM2Mでは、M2Mアプリケーション(例えば、AE)は、単純に、Mcaインターフェースを介して、独立してサービスプラットフォーム(例えば、CSE)に登録し、McaまたはMca/Mcc/Mcaインターフェースの組み合わせを介して、他のM2Mアプリケーションと通信する。M2Mアプリケーション間の依存性または関係は、oneM2Mアーキテクチャにおけるアプリケーション登録または他のアプリケーション関連プロシージャ(例えば、アプリケーション加入)ではサポートされない。
従来のM2Mサービス層におけるアプリケーション関係無認識は、複数の欠点を有し得る。第1に、継承されるかまたは要求されるアプリケーション関係を伴う使用事例(例えば、図2のジム使用事例)をサポートするために、従来のM2Mサービス層は、対応するサービスを提供せず、アプリケーションレベルでそれに対処するようにアプリケーション自体に頼り、それは、アプリケーションの負担(例えば、増加したアプリケーション開発複雑性および減少したソフトウェア再利用可能性)を増加させ得る。第2に、従来のM2Mサービス層に対して、アプリケーション関係の動的変化は、アプリケーション自体によって効率的にサポートされない場合がある。
本明細書で開示されるように、M2Mサービス層における共通サービス(例えば、oneM2Mにおける登録サービス)は、異なるアプリケーションの関係が管理されるとき、強化され得る(例えば、メッセージオーバーヘッドの低減)。アプリケーション関係管理は、とりわけ、アプリケーション関係を作成すること、アプリケーション関係を更新すること、アプリケーション関係を読み出すこと、アプリケーション関係を削除すること、またはアプリケーション関係を発見することを行う共通サービス層機能を必要とし得る。
図4Aは、例示的親/子関係を図示する。子アプリケーションとしてのAE152およびAE153は、親アプリケーションAE151の一部である。AE151は、AE152およびAE153への実質的なアクセスならびにそれらの制御を有し得る。子アプリケーションAE152およびAE153の登録は、親アプリケーションAE151の成功した登録に依拠し得る。AE151は、AE152およびAE153の前に登録または起動され得る。代替として、親/子関係は、AE151、AE152、およびAE153が独立して登録した後に確立され得る。例えば、AE152およびAE153は、たとえ親アプリケーションAE151がまだ登録されていなくても登録することを許可され得るが、AE152およびAE153のある機能性(例えば、アクセス権)は、適用可能ではない場合、または有効にされない場合がある。AE151が登録すると、AE152およびAE153は、AE151を発見し、AE151は、AE152およびAE153との関係を確立し得る。したがって、そして、無効にされた機能性が有効にされ得る。一方、子アプリケーションAE152およびAE153は、親アプリケーションAE151が削除または登録解除されると、自動的に除去され得る。親アプリケーションAE151ならびに子アプリケーションAE152およびAE153は両方とも、同一のローカルサービス層インスタンスに登録し得るが、同一の物理的M2Mデバイス、ゲートウェイ、またはサーバ上に常駐する場合も、常駐しない場合もある。要約すると、親アプリケーションAE151は、子アプリケーションAE152およびAE153を実質的に制御し得、AE152およびAE153は、AE151に依拠し、AE151にサービス提供し得る。本明細書では、親アプリケーションが任意の数の子アプリケーションを有し得ることが想定される。
図4Bは、例示的複合/入力関係を図示する。AE156は、入力アプリケーションと称されるAE154およびAE155上に構築される。AE156は、入力またはリソースのためにAE154およびAE155に依拠するが、それらに対して実質的な制御を有していない。AE156は、複合アプリケーションと称され得る。例えば、複合アプリケーションAE156は、入力アプリケーションAE154およびAE155のリソースにアクセスし得るが、AE156の除去または登録解除は、AE154もしくはAE155の自動削除につながらない場合がある。しかしながら、AE154またはAE155の除去もしくは登録解除は、複合アプリケーションAE156に影響を及ぼす。概して、複合アプリケーションは、複数の入力アプリケーションを有し得、複合アプリケーションは、別の複合アプリケーションへの入力アプリケーションであり得る。
図5Aおよび図5Bは、アプリケーションリソースおよび対応する関係を記述し、リンクするためのアプローチを図示する。図5Aは、リンクするための特別なアプリケーション関係記録リソースを用いるアプローチを図示する。図5Aに示されるように、各アプリケーション関係は、アプリケーション関係管理(ARM)機能によって記録されるアプリケーション関係として作成および捕捉され得る。本明細書でさらに詳細に開示されるように、ARMは、アプリケーション関係記録を記憶するための特別なデータベースを維持する。そして、アプリケーションが、他のアプリケーションとのその関係を記述する対応する関係記録にリンクするために、新しい属性(例えば、リンキング)が導入される。アプリケーション関係記録データベースが、ARMによってサービス層において維持される。データベースは、異なるアプリケーションによってアクセスまたは利用されることができる一般的機能である。ARMは、アクセスされ得る記録、またはアプリケーションと共有され得る記録の制御を有し得る。例えば、アプリケーションは、それ自体をサービス層に登録した後、他のアプリケーションに関する特定のアプリケーション関係記録に対してデータベースを検索することができる。別の実施例では、アプリケーションは、別のアプリケーションとのその関係を示すための新しいアプリケーション関係記録を追加することによって、データベースを更新し得る。
図5Bは、特別なアプリケーション関係記録リソースを用いないアプローチを図示する。各アプリケーション関係は、対応するアプリケーションリソースに添付される追加情報または属性として作成される。例えば、アプリケーション関係は、oneM2Mアーキテクチャとの関連において、新しい属性を<application>リソースに追加することによって、記述されることができる。このアプローチでは、ARMは、図5Aのアプローチ1のようにいかなる関係記録も維持する必要がない。
図5Bのアプローチを続けて参照すると、随意に、既存のアプリケーションリソース(例えば、oneM2Mにおける<application>)が、別のアプリケーションリソース(例えば、oneM2Mにおける別の<application>)のサブリソースとして追加され、アプリケーションリソースの階層構造を形成することができ、それがアプリケーション関係を示唆し、アプリケーション関係を明示的に示すために新しい属性を必要としないこともある。アプリケーションは、そのサブリソース(例えば、子アプリケーション)として、その親アプリケーションを追加することを制限され得ることに留意されたい。この制限を達成するために、アプリケーションは、追加される新しいサブリソース(例えば、子アプリケーション)が階層構造上に出現していないことを保証するために、階層構造全体をチェックすることができる。階層構造の深度は、潜在的ループ関係を回避するために限定され得ることに留意されたい。
アプリケーション関係記録に対して、サービス層(例えば、ARMサービス)は、アプリケーション関係記録を維持する責任があり得る。アプリケーション関係記録は、随意に、アプリケーションリソースのサブリソースまたは属性として追加され得る。表1に示されるように、各アプリケーション関係記録は、とりわけ、アプリケーション関係記録識別子(ARRI)フィールド、アプリケーション関係タイプフィールド、アプリケーションのリストフィールド、主要アプリケーションフィールド、関係存続期間フィールド、または許可されたエンティティのリストフィールド等のフィールドを含み得る。ARRIは、各アプリケーション関係記録の識別子である。それは、記録が記憶され、アクセスされることができる場所を示すユニバーサルリソース識別子(URI)であり得る。アプリケーション関係に関与するアプリケーションは、それの属性として1つ以上のARRIを追加することができ、それによって、アプリケーションについての全てのアプリケーション関係は、ARRIに基づいて読み出され得る。
表1は、アプリケーション関係記録に使用され得る、異なるフィールドを示す。アプリケーション関係タイプフィールドは、アプリケーション関係のタイプ(例えば、親/子関係または複合/入力関係)を示す。このパラメータは、他の関係タイプを対象とするように拡張され得る。アプリケーションのリストフィールドは、直接関係している全てのアプリケーションの名称、標識、または識別子を示す。識別子は、URIの形態であり得る。主要アプリケーションフィールドは、親/子関係のための親アプリケーションまたは複合/入力関係のための複合アプリケーションの名称、標識、もしくは識別子を示す。関係存続期間フィールドは、アプリケーション関係の存続期間を示す。許可されたエンティティのリストフィールド(表1では明示的に示されていない)は、アプリケーション関係記録にアクセスすることを許可されるアプリケーションまたは他のM2Mエンティティ(例えば、M2M/IoTサーバ、ゲートウェイ、デバイス等)のリストである。ARMサービスは、アプリケーション関係記録データベース全体に1つの「許可されたエンティティのリスト」を使用し得る。
表1は、図4Aおよび図4Bによる、2つの例示的アプリケーション関係記録を示す。図4Aと対応する表1の第1の記録は、<URI1>を介してアクセスされ得る。このアプリケーション関係では、AE151が、親アプリケーションである一方で、AE152およびAE153は、子アプリケーションである。図4Bに対応する表1の第2の記録は、<URI2>を介してアクセスされ得る。このアプリケーション関係では、AE156が、複合アプリケーションである一方で、AE154およびAE155は、入力アプリケーションである。
アプリケーション関係属性(ARA)は、アプリケーションが他のアプリケーションと有し得る関係を記述するために定義され得る。ARAは、各アプリケーションリソース(例えば、図24および図25に示されるようなoneM2Mにおける<application>)のための属性として追加され得、次に、各属性は、それを通してアクセスされ得るアドレス(例えば、URI)を有し得る。例えば、ARAは、parentApp、childApp、siblingApp、inputApp、compositeApp、またはrelationshipLifetimeを含み得る。parentAppは、親アプリケーション名称または識別子のリストであり得、childAppは、子アプリケーション名称または識別子のリストであり得、siblingAppは、兄弟アプリケーション名称または識別子のリストであり得、inputAppは、入力アプリケーション名称または識別子のリストであり得、compositeAppは、複合アプリケーション名称または識別子のリストであり得、relationshipLifetimeは、各存続期間が個別アプリケーション関係のためのものである、存続期間情報のリストであり得る。
M2Mアプリケーションがそれら自体をサービス層(例えば、oneM2M CSE)に登録するので、サービス層は、アプリケーション関係を管理するために使用され得る。アプリケーション関係管理(ARM)サービスは、既存のアプリケーションまたは新たに登録されたアプリケーション間の関係を管理するために、一般的動作を行うことを促進するM2Mサービス層における新しい共通サービスと見なされ得る。動作は、新しいアプリケーション関係を作成すること、既存のアプリケーション関係を読み出すこと、既存のアプリケーション関係を更新すること、既存のアプリケーション関係を削除すること、および既存のアプリケーション関係の発見を含み得る。ARMサービスは、アプリケーション関係に関連してはいるが、サポートし得、かつ種々のアプリケーションによって使用され得る一般的機能を提供し得る。なぜなら、ARMサービスは、1)本明細書に開示されるタイプのアプリケーション関係が十分に一般的であり(異なるアプリケーション特定ではない)、2)前述の一般的ARM動作が特定のアプリケーションに依存せず、同様に一般的であるからである。
一般的動作は、新しいアプリケーション関係を作成することを伴い得る。例えば、M2M/IoTサーバ(以降ではM2Mサーバ)は、M2Mサーバに登録された2つ以上のアプリケーションのために、親/子もしくは複合/入力関係を作成することに役立ち得る。したがって、新しいアプリケーション関係記録が、図5Aのアプローチに従って、M2Mサーバによって維持されるアプリケーション関係記録データベースの中へ追加されるか、または新しい属性/リンクが、図5Bのアプローチに従って、他の関与するアプリケーションのために作成されるであろう。これらのプロセスは、既存のアプリケーション関係を読み出すこと、更新すること、削除すること、および発見することを行うために使用され得る。
図6−図21に、および全体を通して図示されるステップを行うエンティティは、図27Cまたは図27Dに図示されるもの等のデバイス、ゲートウェイ、サーバ、もしくはコンピュータシステムのメモリに記憶され、そのプロセッサ上で実行するソフトウェア(すなわち、コンピュータ実行可能命令)の形態で実装され得る論理エンティティであり得ることが本明細書で想定される。換言すると、図6−図21に、および全体を通して図示される方法は、図27Cまたは図27Dに図示されるデバイスもしくはコンピュータシステム等のコンピュータデバイスのメモリに記憶される、ソフトウェア(すなわち、コンピュータ実行可能命令)の形態で実装され得、そのコンピュータ実行可能命令は、コンピュータデバイスのプロセッサによって実行されると、図6−図21等に図示される任意のステップを行う。
図6は、一組の既存の登録されたアプリケーション間のアプリケーション関係を作成する例示的方法を図示する。ステップ174では、要求側171(例えば、oneM2M AEまたはoneM2M CSE)が、アプリケーション関係を作成するための要求(例えば、アプリケーション関係作成要求)をサービス層172(例えば、ARMサービスを伴うoneM2M CSE)に送信する。ステップ174の要求は、アプリケーション関係タイプ、サービス層172に登録されるアプリケーションのリスト、主要アプリケーション、または関係存続期間に関するARAを備え得る。ステップ175では、ステップ174で受信される情報に基づいて、サービス層172は、対応するアプリケーション関係リソースを作成し得る。アプリケーション関係リソースは、表1に図示されるようなアプリケーション関係記録であり得る。代替として、ステップ174に関して列挙されるもの等の対応するARAが、各関与するアプリケーションに追加され得る。ステップ176では、サービス層172が、応答を要求側171に返信し得る。このメッセージは、作成されたアプリケーションリソース(例えば、アプリケーション関係記録またはARA)の識別子(例えば、そのURI)を含み得る。ステップ177では、サービス層172が、通知をステップ174のアプリケーションのリスト上の他のアプリケーションに送信する。
図7は、親/子アプリケーション関係を作成する例示的方法を図示する。同様に図4Aに図示されるように、AE151が親アプリケーションである一方で、AE152およびAE153は、子アプリケーションである。ステップ184では、AE151が、サービス層172(例えば、oneM2M CSE−ARMサービス)に登録する。ステップ185では、サービス層172が、AE151のためのリソースを作成する。ステップ186では、AE152が、サービス層172に登録する。ステップ187では、サービス層172が、AE152のためのリソースを作成する。ステップ188では、AE153が、サービス層172に登録する。ステップ189では、サービス層172が、AE153のためのリソースを作成する。oneM2Mのための従来のアプリケーション登録プロシージャが、ステップ184からステップ189に利用され得る。
ステップ190では、要求側171が、AE151、AE152、およびAE153の親/子関係を作成または更新するためのプリケーション関係作成要求メッセージをサービス層172に送信する。要求側171は、AE151、AE152、AE153、別のアプリケーション、または別のサービス層172エンティティ(例えば、別のCSE)であり得る。同じサービス層172も、AE151、AE152、およびAE153の間の親/子関係を確立するためにトリガし得、この場合、ステップ190は、省略され得る。アプリケーション関係作成要求メッセージは、以下の情報を含み得る:AE151、AE152、およびAE153の間の関係;ステップ185、ステップ187、およびステップ189においてそれぞれ作成される、AE151、AE152、およびAE153のためのリソースへのリンク;および、AE151、AE152、およびAE153の名称、標識、または識別子。ステップ191では、サービス層172が、AE151、AE152、およびAE153アプリケーションの間の親/子関係を確立するために、AE151、AE152、およびAE153のためのリソースを更新し得る。AE151のリソースは、AE152およびAE153のためのリソースに接続する子ポインタまたはリンクを追加され得る。AE152(またはAE153)のリソースは、AE151のためのリソースに接続する親ポインタまたはリンクを追加され得る。子ポインタまたはリンクは、AE151のリソースの新しい属性もしくはサブリソースとなり、その値は、AE152およびAE153のためのリソースのURIである。同様に、追加された親ポインタまたはリンクは、AE152(またはAE153)のリソースの新しい属性もしくはサブリソースとなり、その値は、AE151のためのリソースのURIである。AE152(またはAE153)のリソースは、AE153(またはAE152)のためのリソースに接続する兄弟ポインタもしくはリンクを追加され得る。この兄弟ポインタまたはリンクは、AE152およびAE153がアプリケーション関係に関与し、同一の親アプリケーションを有することを示すために使用され得る。新しい属性またはサブリソースとしてAE152のリソースに追加される兄弟ポインタもしくはリンクは、AE153のリソースのURIの値を有する。新しい属性またはサブリソースとしてAE153のリソースに追加される兄弟ポインタもしくはリンクは、AE152のリソースのURIの値を有する。
ステップ192では、サービス層172が、AE151、AE152、およびAE153の間の親/子関係の成功した作成を通知するための応答を要求側171に返信し得る。ステップ193では、サービス層172が、アプリケーション関係通知をAE151に送信する。ステップ193のアプリケーション関係通知は、以下の情報を有し得る:AE151、AE152、およびAE153の間の関係;ステップ187およびステップ189においてそれぞれ作成されたAE152およびAE153のためのリソースへのリンク;または、AE152およびAE153の名称、標識、もしくは識別子。ステップ194では、サービス層172が、アプリケーション関係通知をAE152に送信し得る。ステップ194のアプリケーション関係通知は、以下の情報を含み得る:AE151、AE152、およびAE153の間の関係;ステップ185およびステップ189においてそれぞれ作成されたAE151およびAE153のためのリソースへのリンク;または、AE151およびAE153の名称、標識、もしくは識別子。ステップ195では、サービス層172が、アプリケーション関係通知をAE153に送信し得る。このメッセージは、以下の情報を含み得る:AE151、AE152、およびAE153の間の関係;ステップ185およびステップ187においてそれぞれ作成されたAE151およびAE152のためのリソースへのリンク;または、AE151およびAE152の名称、標識、もしくは識別子。
図7に示されるものに類似するプロシージャが、AE156、AE154、およびAE155の間の複合/入力アプリケーション関係を作成するように適用され得、AE156は、複合アプリケーションであり、AE154およびAE155は、入力アプリケーションである。
別の一般的動作は、既存のアプリケーション関係を読み出すことを伴い得る。例えば、M2Mアプリケーションは、図5Aのアプローチ1に従って、特定のアプリケーション関係を読み出すために、M2Mサーバにおいて維持されるアプリケーション関係記録データベースにアクセスし得るか、または図5Bのアプローチ2に従って、関与するアプリケーションのために作成される新しい属性/リンクにアクセスし得る。図8は、既存の登録されたアプリケーション間のアプリケーション関係を読み出すための例示的方法を図示する。ステップ197では、要求側171(例えば、oneM2M AE、oneM2M CSE)が、アプリケーションの1つ以上の関係を読み出すための要求(例えば、アプリケーション関係読み出し要求)をサービス層172(例えば、ARMサービスを伴うoneM2M CSE)に送信し得る。アプリケーション関係読み出し要求は、ARRI(例えば、読み出されるべきアプリケーション関係記録の識別子)等のアプリケーション関係リソースのアドレスを含み得るか、または本明細書で定義されるようなARAのアドレスを含み得る。ステップ198では、ステップ197で受信される情報に基づいて、サービス層172が、表1に示される情報等の対応するアプリケーション関係記録の場所を特定する。ステップ199では、サービス層172が、応答を要求側171に返信し得る。ステップ199の応答は、所望のアプリケーション関係記録またはARAの表現を含み得る。
別の一般的動作は、既存のアプリケーション関係を更新することを伴い得る。例えば、M2Mアプリケーションは、図5Aのアプローチに従って、既存のアプリケーション関係を更新するために(例えば、子アプリケーションまたは入力アプリケーションを変更するために)、M2Mサーバにおいて維持されるアプリケーション関係記録データベースを更新し得るか、または図5Bのアプローチに従って、関与するアプリケーションのために作成される新しい属性/リンクを更新し得る。図9は、既存の登録されたアプリケーション間のアプリケーション関係を更新する例示的方法を図示する。ステップ201では、要求側171が、アプリケーション関係を更新するための要求(例えば、アプリケーション関係更新要求)をサービス層172に送信し得る。アプリケーション関係更新要求は、以下の情報を含み得る:ARRI(例えば、更新されるアプリケーション関係記録の識別子)、アプリケーションのリスト等の所望のアプリケーション関係記録に対して更新されるべき他の属性、または本明細書で議論されるようなARAのアドレスもしくは値。ステップ202では、ステップ201で受信される情報に基づいて、サービス層172が、ステップ201における要求のように、対応するアプリケーション関係記録またはARAの場所を特定し、更新し得る。ステップ203では、サービス層172が、応答を要求側171に返信し得る。ステップ203の応答は、更新されたアプリケーション関係記録またはARAの表現を含み得る。ステップ204では、サービス層172が、アプリケーション関係記録またはARAの変更について、更新されたアプリケーションのリスト上の関与するアプリケーション205に通知を送信し得る。
一般的動作は、既存のアプリケーション関係を削除することを伴い得る。例えば、M2Mアプリケーションは、図5Aのアプローチに従って、M2Mサーバにおいて維持されるようなアプリケーション関係記録データベースから、その既存のアプリケーション関係を削除するか、または図5Bのアプローチに従って、関与するアプリケーションのために作成された新しい属性/リンクを削除することができる。図10は、既存の登録されたアプリケーション間のアプリケーション関係を削除する例示的方法を図示する。ステップ206では、要求側171が、アプリケーション関係を削除するための要求(例えば、アプリケーション関係削除要求)をサービス層172に送信する。このアプリケーション関係削除要求は、ARRI(例えば、削除されるアプリケーション関係記録の識別子)またはアプリケーション関係属性のアドレスを含み得る。ステップ206では、要求側171が、ARRIを明示的に示さないが、削除されるべきアプリケーション関係記録についてある基準を与えることを選定し得る。例えば、1つ以上の特定のアプリケーション(例えば、AE151)が関与するアプリケーション関係記録を削除すること。ステップ207では、ステップ206で受信される情報に基づいて、サービス層172が、対応するアプリケーション関係記録またはARAの場所を特定して削除する。ステップ208では、サービス層172が、応答を要求側171に返信する。ステップ208のこの応答は、削除結果(例えば、成功または失敗)を含み得る。ステップ209では、サービス層172が、通知をアプリケーション(例えば、親/子または複合/入力アプリケーション)のリスト上の全ての関与するアプリケーション(例えば、アプリケーション173)に送信し得る。
一般的動作は、既存のアプリケーション関係を発見することを伴い得る。例えば、M2Mアプリケーションは、図5Aのアプローチに従って、それが他のアプリケーションと有するアプリケーション関係を発見するために、M2Mサーバにおいて維持されるアプリケーション関係記録データベースにアクセスするか、または対応するアプリケーション関係を発見するために、図5Bのアプローチに従って、関与するアプリケーションのために作成された新しい属性/リンクにアクセスすることができる。図11は、既存の登録されたアプリケーション間のアプリケーション関係を発見する例示的方法を図示する。ステップ211では、要求側171が、アプリケーション関係を発見するための要求(例えば、アプリケーション関係発見要求)をサービス層172に送信する。このアプリケーション関係発見要求は、特定のアプリケーション名称/識別子に関連付けられるアプリケーション関係を発見すること、一組の特定のアプリケーション間のアプリケーション関係を発見すること、特定のタイプのアプリケーション関係を発見すること、または特定の数の関与するアプリケーションを有するアプリケーション関係を発見すること等のある検索基準を含み得る。ステップ212では、ステップ211で受信される情報に基づいて、サービス層172が、対応するアプリケーション関係記録またはアプリケーション関係属性の場所を特定する。ステップ213では、サービス層172が、応答を要求側171に返信する。ステップ213の応答は、発見されたアプリケーション関係記録またはARA(例えば、それらの識別子もしくはアドレス)のリストを含み得る。
以下では、強化アプリケーション登録サービス、強化アプリケーション発表サービス、強化アプリケーションソフトウェア管理サービス、関係認識アプリケーション発見、またはアプリケーション関係の加入および通知等、アプリケーション関係(例えば、親/子関係および複合/入力関係)を使用し得るいくつかの新しい付加価値(強化)サービスが議論されている。強化アプリケーション登録は、親/子アプリケーション、複合/入力アプリケーション、および他の関係に適用され得る強化登録プロシージャならびに登録解除プロシージャを含み得る。強化登録プロセス中、アプリケーション関係記録またはARAは、自動的に作成され得る。強化登録解除プロセス中、アプリケーション関係記録またはARAは、自動的に更新もしくは除去され得る。例では、親アプリケーションおよび子アプリケーションは、ジム使用事例におけるもの等、同一のM2Mデバイス、ゲートウェイ、またはサーバにおける同一場所に位置し得る。登録を行う前、アプリケーションは、最初に、それら自体とサービス層との間に個々のセキュアな接続をブートストラップし、確立し得る。このブートストラッププロセスでは、親アプリケーションは、それ自身のセキュリティブートストラッププロセス中、子アプリケーションがサービス層とのそれらのセキュアな接続を確立することを助け得る。
図12は、親/子アプリケーション登録プロセスのための例示的方法を図示する。AE151が、親アプリケーションである一方で、AE152およびAE153は、子アプリケーションである。ステップ215では、AE151が、アプリケーションを登録するための要求(例えば、アプリケーション登録要求)をサービス層172に送信する。このアプリケーション登録要求は、以下の情報を含み得る:AE151、AE152、およびAE153等の関係;AE151、AE152、またはAE153の記述;または、AE151、AE152、またはAE153の名称、標識、または識別子。ステップ216では、サービス層172が、AE151、AE152、またはAE153のための対応するリソースを作成する。ステップ217では、サービス層172が、対応するアプリケーション関係記録またはARAを作成し得る。作成されたARAは、各作成されたアプリケーションリソースのための属性を作成するために使用され得る。例えば、AE151のための作成されたリソースは、AE152およびAE153のためのリソースに接続する子ポインタまたはリンクを有し得る。別の実施例では、AE151(またはAE153)のための作成されたリソースは、AE152のためのリソースに接続する親ポインタもしくはリンクを有し得る。別の実施例では、AE152(またはAE153)のための作成されたリソースは、AE153(またはAE152)のためのリソースに接続する、兄弟ポインタもしくはリンクを有し得る。ステップ218では、サービス層172が、AE151、AE152、またはAE153のために作成されたリソースのリンクを含み得る応答をAE151に返信する。
図13は、親/子アプリケーション登録のための別の例示的方法を図示する。AE151が、親アプリケーションであり得る一方で、AE152およびAE153は、子アプリケーションである。ステップ220では、AE151が、AE151のみを登録するために、アプリケーション登録要求をサービス層172に送信し得る。ステップ221では、サービス層172が、AE151のための対応するリソースを作成し得る。ステップ222では、サービス層172が、応答をAE151に返信する。ステップ222における応答は、AE151のためのリソースを作成することの結果、例えば、成功または失敗、ならびに作成されたリソースのコンテンツを含み得る。ステップ223では、AE151が、AE151を登録するために、別のアプリケーション登録要求をサービス層172に送信し得る。ステップ223のアプリケーション登録要求は、ステップ221において作成されるAE151のためのリソースへのリンク、AE151とAE152との間の関係、AE152の記述、またはAE151およびAE152の名称、標識、もしくは識別子等の情報を含み得る。ステップ224では、サービス層172が、AE152のための対応するリソースを作成する。ステップ225では、サービス層172が、対応するアプリケーション関係記録またはARAを作成する。作成されたARAは、各作成されたアプリケーションリソースの新しい属性を作成するために使用され得る。AE152のための作成されたリソースは、AE151のためのリソースに接続する親ポインタまたはリンクを有し得る。サービス層172は、AE152のためのリソースに接続する子ポインタまたはリンクを追加するために、AE151のリソースを更新し得る。
ステップ226では、サービス層172が、応答をAE151に送信し得る。ステップ226のこの応答は、AE152のために作成されたリソースのリンクを含み得る。ステップ227では、AE151が、AE153を登録するために、別のアプリケーション登録要求をサービス層172に返信し得る。ステップ227のこのアプリケーション登録要求は、ステップ221において作成されるAE151のためのリソースへのリンク、AE151とAE153との間の関係、AE153の記述、またはAE151およびAE153の名称、標識、もしくは識別子等の情報を含み得る。ステップ228では、サービス層172が、AE153のための対応するリソースを作成する。ステップ229では、サービス層172が、ステップ191において作成されるようなアプリケーション関係記録またはARAを更新する。ARAは、各作成されたアプリケーションリソースのための属性に使用され得る。AE153のための作成されたリソースは、AE151のためのリソースに接続する親ポインタまたはリンクを有し得る。サービス層172は、AE153のためのリソースに接続する子ポインタまたはリンクを追加するために、AE151のためのリソースを更新し得る。ステップ230では、サービス層172が、応答をAE151に返信し得る。ステップ230の応答は、AE153のために作成されるリソースのリンクを含み得る。
図14は、複合アプリケーション登録のための例示的方法を図示する。AE156が、複合アプリケーションである一方で、AE154およびAE155は、入力アプリケーションである。また、この登録プロセスは、AE155のための初めての登録ではないこともあり、AE156は、AE154およびAE155についての知識を有し得る。ステップ233からステップ236では、AE154およびAE155が、それらをサービス層172に独立して登録する。ステップ233では、サービス層172(例えば、ARM)が、AE154のための登録メッセージを交換し得る。ステップ234では、サービス層172が、AE154のためのリソースを作成し得る。ステップ235では、サービス層172が、AE155のための登録メッセージを交換し得る。ステップ236では、サービス層172が、AE155のためのリソースを作成し得る。ステップ237では、AE156が、それ自体(AE156)を登録するためのアプリケーション登録要求をサービス層172に送信し得、その間に、AE156が2つの入力アプリケーションとしてAE154およびAE155を伴う複合アプリケーションであることをサービス層172に知らせる。ステップ237のアプリケーション登録要求は、AE156、AE154、およびAE155の間の関係、AE156、AE154、およびAE155の記述、AE156、AE154、およびAE155の名称、標識、または識別子、もしくは、ステップ234ならびにステップ236においてそれぞれ作成される、AE154またはAE155のリソースへのリンク等の情報を含み得る。AE156がこの情報を取得するための1つの方法は、発見機能(例えば、oneM2Mにおける発見CSF)を使用することである。
ステップ238では、サービス層172が、AE151のためのリソースを作成し、AE154およびAE155のためのリソースを更新し得る。ステップ239では、サービス層172が、対応するアプリケーション関係記録またはARAを作成し得る。作成されたARAは、以下等の各作成されたアプリケーションリソースのための属性を有し得る:AE154およびAE155のためのリソースに接続する入力ポインタまたはリンクを含むAE156のためのリソース;AE156のためのリソースに接続する複合リンクを含むAE154のためのリソース;または、AE156のためのリソースに接続する複合リンクを含むAE155のためのリソース。ステップ240では、サービス層172が、アプリケーション登録応答をAE156に送信し得る。ステップ241では、サービス層172が、アプリケーション関係通知をAE154に送信し得る。このアプリケーション関係通知は、AE156とAE154との間の関係、AE156のためのリソースへのリンク、またはAE156の名称、標識、もしくは識別子等の情報を含み得る。ステップ242では、サービス層172が、アプリケーション関係通知をAE155に送信し得る。このアプリケーション関係通知は、AE156とAE155との間の関係、AE156のためのリソースへのリンク、AE156の名称、標識、または識別子等の情報を含み得る。
図15は、親/子アプリケーション登録解除のための例示的プロシージャを示す。ここでは、AE151が、親アプリケーションである一方で、AE152およびAE153は、子アプリケーションである。ブロック243が、子アプリケーションを登録解除することを伴う一方で、ブロック251は、親アプリケーションを登録解除することを伴う。ステップ245では、AE151が、子アプリケーション(例えば、AE152)のうちの1つを登録解除するために、サービス層からアプリケーションを登録解除するための要求(例えば、アプリケーション登録解除要求)をサービス層172に送信する。ステップ245のこのアプリケーション登録解除要求は、登録解除されるべき子アプリケーションの名称、標識、または識別子、もしくは登録解除される子アプリケーションのリソースへのリンク等の情報を含み得る。ステップ246では、サービス層172が、登録解除されるべき子アプリケーションのリソース(例えば、AE152のリソース)を除去する。サービス層172はまた、AE151のリソースから、AE152に接続する子ポインタまたはリンクを除去し得る。サービス層172はまた、AE153のリソースから、AE152に接続する兄弟ポインタまたはリンクを除去し得る。加えて、サービス層172はまた、対応するアプリケーション関係記録を更新し得る。ステップ247では、サービス層172が、応答をAE151に返信し得る。
図15のブロック251において親アプリケーションを登録解除することに対して、ステップ252では、AE151が、それ自体(AE151)を登録解除するために、アプリケーション登録解除要求をサービス層172に送信する。ステップ253では、AE153がAE151の子アプリケーションであるので、サービス層172が、AE151およびAE153のためのリソースを除去し得る。サービス層172はまた、対応するアプリケーション関係記録を除去し得る。ステップ254では、サービス層172が、応答をAE151に送信し得る。ブロック243またはブロック251に示されるステップの代替として、子アプリケーションが、それ自体を登録解除し、そして、その親アプリケーションに通知し得る。
図16は、複合アプリケーション登録解除のための例示的方法を図示する。ここでは、AE156が、複合アプリケーションである一方で、AE154およびAE155は、入力アプリケーションである。ブロック261が、入力アプリケーションを登録解除することを伴う一方で、ブロック266は、複合アプリケーションを登録解除することを伴う。ステップ262では、AE155が、それ自体を登録解除するために、アプリケーション登録解除要求をサービス層172に送信し得る。このアプリケーション登録解除要求は、登録解除されるべき入力アプリケーションの名称、標識、または識別子、もしくは登録解除される入力アプリケーションのリソースへのリンク等の情報を含み得る。ステップ263では、サービス層172が、登録解除されるべき入力アプリケーションのリソース(例えば、AE155のリソース)を除去し得る。サービス層172はまた、AE156のリソースから、AE155に接続する入力ポインタまたはリンクを除去し得る。サービス層172はまた、対応するアプリケーション関係記録を更新し得る。ステップ264では、サービス層172が、応答をAE155に返信し得る。ステップ265では、サービス層172が、アプリケーション関係通知をAE156に送信し得る。このアプリケーション関係通知は、登録解除された入力アプリケーション(例えば、AE155)の名称、標識、または識別子、もしくは登録解除された入力アプリケーションのリソース(例えば、AE155のリソース)へのリンク等の情報を含み得る。
図16のブロック266に関して、ステップ267では、AE156が、それ自体(AE156)を登録解除するために、アプリケーションが登録解除するための要求(例えば、アプリケーション登録解除要求)をサービス層172に送信し得る。ステップ268では、サービス層172が、AE156のリソースを除去し得る。サービス層172はまた、AE154のリソースから、AE156に接続する複合ポインタまたはリンクを除去し得る。加えて、サービス層172は、対応するアプリケーション関係記録を除去し得る。ステップ269では、サービス層172が、応答をAE156に送信する。ステップ270では、サービス層172が、アプリケーション関係通知をAE154に送信し得る。このアプリケーション関係通知は、登録解除された複合アプリケーション(例えば、AE156)の名称、標識、または識別子、登録解除された複合アプリケーションのリソース(例えば、AE156のリソース)へのリンク等の情報を含み得る。図16に関する別の実施例では、サービス層172は、ステップ264後に(例えば、入力アプリケーションが登録解除された後、またはある数の入力アプリケーションが登録解除された後に)複合アプリケーションAE156を自動的に登録解除し得る。
強化アプリケーション発表は、親/子アプリケーションまたは複合/入力アプリケーションを発表するためのプロシージャを指し得る。図17は、親/子アプリケーション発表のための例示的プロシージャを図示する。ここでは、アプリケーションブロック272が、親/子関係(例えば、図4A)、複合/入力関係(例えば、図4B)等を伴うアプリケーションを表すことが仮定される。ステップ274では、アプリケーションブロック272のアプリケーションが、それら自体をサービス層172に登録し得、それは、本明細書に議論されるプロシージャを用いて完了され得る。ステップ275では、サービス層172が、アプリケーション発表要求をサービス層273に送信し得る。ステップ275のこのアプリケーション発表要求は、アプリケーションブロック272のアプリケーションの関係、アプリケーションブロック272のアプリケーションの名称、標識、または識別子、もしくはアプリケーションブロック272のアプリケーションのリソースへのリンク等の情報を含み得る。ステップ276では、サービス層273が、ブロック272のアプリケーションのための発表リソースを作成し得る。作成された発表リソースは、ブロック272のアプリケーションの関係が組み込まれた、1つの階層リソースであり得る。別の実施例では、作成された発表リソースは、それぞれ、ブロック272のアプリケーションに対して各アプリケーションのために別個であるが、相互参照されたリソースであり得る。ステップ277では、サービス層273が、応答をサービス層172に送信する。
サービス層は、オープンモバイルアライアンス(OMA)ソフトウェアコンポーネント管理オブジェクト(SCOMO)等のデバイス管理(DM)技術に基づいて、アプリケーションソフトウェアを管理(例えば、アップグレード)し得る。以下は、アプリケーションソフトウェア管理を増進するために、アプリケーション関係を利用し得る。図18は、親/子アプリケーションに対する等、関係を認識しているソフトウェア管理のための例示的方法を図示する。ステップ284では、サービス層172が、M2Mデバイス281上に位置する子アプリケーション283のためのソフトウェアを読み出す。ソフトウェアは、サービス層172と同一の装置、または示されていない別の装置(例えば、サーバ)上に位置し得る。ここで、子アプリケーション283は、サービス層172の援助を受けてソフトウェアをダウンロードする。ステップ285では、サービス層172が、対応する親アプリケーション(例えば、親アプリケーション282)を発見するために、アプリケーション関係記録またはARAを分析し得る。ステップ286では、サービス層172が子アプリケーションのためのソフトウェアの読み出しに役立った後(ソフトウェアが子アプリケーション283のためにまだインストールされていない)、サービス層172が、通知をM2Mデバイス281の親アプリケーション282に送信し得る。通知は、以下の情報を含み得る:1)ダウンロードされた新しいソフトウェアを伴う子アプリケーションの名称、標識、または識別子、または、2)新しいソフトウェアバージョン。ステップ287では、親アプリケーション282が、新しいソフトウェアをインストールするように子アプリケーション283をトリガし得る。ステップ287のこのトリガは、インストールされるべきソフトウェアバージョンを含み得る。この例では、親アプリケーション282は、子アプリケーション283へのダウンロードされたソフトウェアのインストールを可能にするための許可を与えることを決定し得る。許可を与える決定は、ダウンロードされたソフトウェアがインストールされた場合、悪影響または他の問題があるかどうかを決定することに基づき得る。インストールの効果は、親アプリケーション282、子アプリケーション283、または親アプリケーション282の他の関連子アプリケーション(図示せず)に直接であり得る。ステップ288では、子アプリケーション283が、対応するアプリケーションをインストールし得る。ステップ289では、親アプリケーション282が、確認メッセージをサービス層172に送信し得る。ステップ289におけるメッセージは、子アプリケーション283の最新ソフトウェアバージョンの指示、またはステップ284のソフトウェアがインストールされたという指示を含み得る。
図19は、関係認識複合/入力アプリケーションソフトウェア管理のための例示的方法を図示する。ステップ293では、サービス層172が、入力アプリケーション292のソフトウェアを更新し得る。ステップ294では、サービス層172が、対応する複合アプリケーションを発見するために、アプリケーション関係記録またはARAを分析し得る。ステップ295では、サービス層172が、更新された新しいソフトウェアまたは新しいソフトウェアバージョンを伴う入力アプリケーション292の名称、標識、または識別子を知らせるための通知を複合アプリケーション291に送信し得る。複合アプリケーション291は、新しいバージョンの通知およびステップ295で受信される任意の他の詳細に基づいて、入力を受信する方法を変更するか、または他の動作を調節し得る。変更は、複合アプリケーション291のソフトウェアを更新することを含み得る。ステップ296では、複合アプリケーション291は、通知を承認する確認メッセージをサービス層172に送信し得、複合アプリケーション291に関する他の詳細を含み得る。詳細は、入力アプリケーション292との関係を終了させる通知を含み得、それは、ソフトウェアの不適合性に起因し得る。
図20は、関係を認識しているという関連でのアプリケーション発見のための例示的プロシージャを図示する。ステップ301では、要求側171が、アプリケーションを発見するための要求(例えば、アプリケーション発見要求)をサービス層172に送信し得る。ステップ301のアプリケーション発見要求は、特定のアプリケーションの親アプリケーションを発見すること、特定のアプリケーションの子アプリケーションを発見すること、特定のアプリケーションの入力アプリケーションを発見すること、特定のアプリケーションの複合アプリケーションを発見すること、特定のアプリケーション関係内のアプリケーションを発見すること、または一組のアプリケーション関係内の共通プリケーションを発見すること等の検索基準を含み得る。ステップ302では、ステップ301において受信される情報に基づいて、サービス層172が、対応するアプリケーションの場所を特定する。ステップ303では、サービス層172が、応答を要求側171に送信する。ステップ303の応答は、発見されたアプリケーションのリスト(例えば、それらの識別子または名称)を含み得る。
図21は、アプリケーション関係についての加入および通知のためのプロシージャを図示し、加入および通知を通して、アプリケーションは、それが他のアプリケーションと有する任意の新しい関係についての自動通知、または他のアプリケーションとのその既存の関係に対する任意の変更についての自動通知を受信し得る。ステップ305では、要求側171が、アプリケーション関係に基づいて加入するための要求(例えば、アプリケーション関係加入要求)をサービス層172に送信し得る。ステップ305の要求は、標的アプリケーションのリスト(例えば、それらの識別子または名称)を含み得る。ステップ306では、サービス層172が、加入要求が承認されているかどうかを示すためのアプリケーション関係加入応答メッセージを要求側307に送信し得る。ステップ307では、ある時間量後、標的アプリケーションについて、またはそれに関連する関係が変更される。例えば、新しい関係が、ステップ305のリストの中の標的アプリケーションのうちの1つと作成され得る。ステップ308では、サービス層172が、アプリケーション関係通知を要求側171に送信し得る。ステップ308の通知は、ステップ307に関して起こり得る関係変化を含み得る。
以下では、oneM2Mアーキテクチャにおいて本明細書で議論される方法を適用または実装することに関する追加の詳細が開示されている。方法は、oneM2M CSF(例えば、図22のアプリケーション関係管理(ARM)CSF)として実装され得る。図22の構造は、以下でさらに詳述される。前述のプロシージャにおける「サービス層」アクタ(例えば、サービス層172)は、ARM CSFと置換され得る。換言すると、ARM CSFは、サービス層に関して本明細書に説明された機能性を果たす。前述のプロシージャにおける「要求側」(例えば、要求側171)は、oneM2M AE、ARM CSF、またはoneM2M CSEであり得る。本明細書に開示される方法は、既存のoneM2M基準点(例えば、McaおよびMcc)に影響を及ぼし得る。換言すると、メッセージ交換は、oneM2M基準点の一部として実装され得る。例えば、アプリケーションとサービス層(例えば、CSE)との間のメッセージは、Mca基準点を経由して移動し、別様にそれを伴い得る。別の例では、サービス層(例えば、CSE)間のメッセージは、Mcc基準点を伴い得る。
本明細書で議論される強化アプリケーション登録サービスは、機能性を増進するためのREG CSFにおいて実装され得る。本明細書で議論されるソフトウェア管理方法は、例えば、DM CSFまたはASM CSFにおいて実装され得る。
図23および図24は、強化または新しいリソースの例示的リソースツリーを図示する。アプリケーション関係記録(例えば、<appRelationRecord>321)は、提案されたアプリケーション関係管理を可能にし得る。<appRelationRecord>321は、<application>331リソースのサブリソースとして、<application>331が関与する記録アプリケーション関係に追加され得る。図23に示されるように、<appRelationRecord>321は、description322、lifetime323、type324、lifeOfApp325、およびprimaryApp326等の属性を有し得る。description322は、<appRelationRecord>321のテキスト記述の指示である。lifetime323は、<appRelationRecord>321の存続期間の指示であり得る。type324は、<appRelationRecord>321のアプリケーション関係タイプ(例えば、親/子アプリケーションまたは複合/入力アプリケーション)の指示であり得る。listOfApp325は、<appRelationRecord>に関与するアプリケーションのリストの指示であり得る。この属性の値は、リスト上のアプリケーションの名称、標識、または識別子であり得る。primaryApp326は、<appRelationRecord>321の主要アプリケーション(例えば、親アプリケーションまたは複合アプリケーション)の指示である。
図24は、新しい<application>331リソースの例示的構造を図示する。<application>331は、開示されるアプリケーション管理(例えば、アプリケーション登録、アプリケーション更新、アプリケーション登録解除、アプリケーション発表、およびアプリケーションソフトウェア管理)をサポートするサブリソースまたは属性を含み得る。<application>331は、属性arri333、parentApp334、childApp335、siblingApp336、compositeApp337、およびinputApp338を有し得る。arri333は、<application>331が関与し得る、ARRIの指示であり得る。各arri333は、<appRelationRecord>321リソースを指し示す。parentApp334は、該当する場合、本<application>331リソースの親アプリケーションの指示であり得る。childApp335は、該当する場合、<application>331リソースの子アプリケーションの指示であり得る。siblingApp336は、該当する場合、<application>331リソースの兄弟アプリケーションの指示であり得る。compositeApp337は、該当する場合、<application>331リソースの複合アプリケーションの指示であり得る。inputApp338は、該当する場合、<application>331リソースの入力アプリケーションの指示であり得る。
図25は、開示される階層<application>構造の別の例示的構造を図示する。<application>342は、アプリケーションを表す。lifetime343は、<application>と<sub−application>345との間のアプリケーション関係タイプの存続期間の指示であり得る。type344は、<application>341(第1のアプリケーション)と<sub−application>344との間のアプリケーション関係タイプの指示であり得る。<sub−application>345は、<application>341の子アプリケーション(タイプ=「親/子関係」である場合)または入力アプリケーション(タイプ=「複合/入力関係」である場合)を示す。<application>341は、そのサブリソースとして複数の<sub−application>を有し得る。
図25を続けて参照すると、<sub−application>リソースは、そのサブリソースとして別の<sub−application>リソース(例えば、<sub−application>346)を有し得る。この場合、<sub−application>は、上記で説明されるような「type」属性を有し得る。<sub−application>の値は、実際の<sub−application>リソースにリンクする、ポインタまたはURIであり得る。<sub−application>は、arri、parentApp、childApp、siblingApp、compositeApp、およびinputAppを含む、図24に示されるものと同一<application>331の構造を有し得る。CoAPを伴うoneM2Mアーキテクチャが、本明細書で背景として説明され、以降で説明される種々の実施例を例証するために使用され得るが、本開示の範囲内にとどまりながら、以降で説明される実施例の実装が変動し得ることが理解される。当業者は、開示された実施例は、上記で議論されるoneM2Mアーキテクチャを使用する実装に限定されないが、むしろETSI M2M、MQTT、ならびに他のM2Mシステムおよびアーキテクチャ等の他のアーキテクチャおよびシステムで実装され得ることも認識するであろう。
図26は、本明細書で議論される方法およびシステムに基づいて生成され得る、例示的ディスプレイ(例えば、グラフィカルユーザインターフェース)を図示する。ディスプレイインターフェース350(例えば、タッチスクリーンディスプレイ)は、表1のパラメータ、複合または親アプリケーションのリスト等のアプリケーション関係に関連付けられるブロック352の中でテキストを提供し得る。デバイスが制約されたデバイスであるかどうかに基づいて、デバイスが制約されたデバイスまたは簡略化されたインターフェースであるかどうかに対して、追加の情報(図示せず)があり得る。別の実施例では、本明細書で議論されるステップのうちのいずれかの進展(例えば、送信されたメッセージまたはステップの成功)が、ブロック352の中で表示され得る。加えて、グラフィカル出力354が、ディスプレイインターフェース350上に表示され得る。グラフィカル出力354は、アプリケーション関係、本明細書で議論される任意の方法またはシステムの進展のグラフィカル出力等に関する、デバイスまたはアプリケーションのトポロジであり得る。
図27Aは、1つ以上の開示された実施例が実装され得る、例示的マシンツーマシン(M2M)、モノのインターネット(IoT)、もしくはモノのウェブ(WoT)通信システム10の略図である。概して、M2M技術は、IoT/WoTのための構築ブロックを提供し、任意のM2Mデバイス、ゲートウェイ、またはサービスプラットフォームは、IoT/WoTのコンポーネントならびにIoT/WoTサービス層等であり得る。
図27Aに示されるように、M2M/IoT/WoT通信システム10は、通信ネットワーク12を含む。通信ネットワーク12は、固定ネットワーク(例えば、Ethernet(登録商標)、ファイバ、ISDN、PLC等)または無線ネットワーク(例えば、WLAN、セルラー等)、もしくは異種ネットワークのネットワークであり得る。例えば、通信ネットワーク12は、音声、データ、ビデオ、メッセージング、ブロードキャスト等のコンテンツを複数のユーザに提供する複数のアクセスネットワークから成り得る。例えば、通信ネットワーク12は、符号分割多重アクセス(CDMA)、時分割多重アクセス(TDMA)、周波数分割多重アクセス(FDMA)、直交FDMA(OFDMA)、単一キャリアFDMA(SC−FDMA)等の1つ以上のチャネルアクセス方法を採用し得る。さらに、通信ネットワーク12は、例えば、コアネットワーク、インターネット、センサネットワーク、工業制御ネットワーク、パーソナルエリアネットワーク、融合個人ネットワーク、衛星ネットワーク、ホームネットワーク、または企業ネットワーク等の他のネットワークを備え得る。
図27Aに示されるように、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(登録商標))、直接無線リンク、および有線を含む、種々のネットワークを介して通信し得る。
図27Bを参照すると、フィールドドメイン内の図示されるM2Mサービス層22(例えば、本明細書に説明されるような図1のCSE109)は、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の機能は、例えば、ウェブサーバとして、セルラーコアネットワークで、クラウドで等、種々の方法で実装され得る。
図示される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つ以上のサーバ、コンピュータ、仮想マシン(例えば、クラウド/計算/記憶ファーム等)等によって実装され得る。
図27Bも参照すると、M2Mサービス層22および22’は、多様なアプリケーションおよびバーティカルが活用することができるサービス配信能力のコアの組を提供する。これらのサービス能力は、M2Mアプリケーション20および20’がデバイスと相互作用し、データ収集、データ分析、デバイス管理、セキュリティ、課金、サービス/デバイス発見等の機能を果たすことを可能にする。本質的に、これらのサービス能力は、これらの機能性を実装する負担をアプリケーションから取り除き、したがって、アプリケーション開発を単純化し、市場に出す費用および時間を削減する。サービス層22および22’は、M2Mアプリケーション20および20’が、サービス層22および22’が提供するサービスと関連して、種々のネットワーク12および12’を通して通信することも可能にする。
いくつかの実施例では、M2Mアプリケーション20および20’は、本明細書で議論されるように、それぞれ、それらのアプリケーション関係に関してCSEに通信する親ならびに子を含み得る。M2Mアプリケーション20および20’は、限定ではないが、輸送、保健および健康、コネクテッドホーム、エネルギー管理、アセット追跡、ならびにセキュリティおよび監視等の種々の業界での用途を含み得る。上記のように、システムのデバイス、ゲートウェイ、および他のサーバにわたって作動するM2Mサービス層は、例えば、データ収集、デバイス管理、セキュリティ、課金、場所追跡/ジオフェンシング、デバイス/サービス発見、およびレガシーシステム統合等の機能をサポートし、サービスとしてこれらの機能をM2Mアプリケーション20および20’に提供する。
本願のアプリケーション関係の管理は、サービス層の一部として実装され得る。サービス層(例えば、サービス層172)は、アプリケーションプログラミングインターフェース(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ネットワークの一部として実装されることができる。
図27Cは、例えば、M2M端末デバイス18またはM2Mゲートウェイデバイス14等の例示的M2Mデバイス30の系統図である。図27Cに示されるように、M2Mデバイス30は、プロセッサ32と、送受信機34と、伝送/受信要素36と、スピーカ/マイクロホン38と、キーパッド40と、ディスプレイ/タッチパッド42と、非取り外し可能メモリ44と、取り外し可能メモリ46と、電源48と、全地球測位システム(GPS)チップセット50と、他の周辺機器52とを含み得る。M2Mデバイス30は、開示される主題と一致したままで、先述の要素の任意の副次的組み合わせを含み得ることが理解されるであろう。M2Mデバイス30(例えば、サービス層172、AE151、M2Mデバイス281、およびその他)は、アプリケーション関係を管理するための開示されるシステムおよび方法を行う、例示的実装であり得る。
プロセッサ32は、汎用プロセッサ、特殊目的プロセッサ、従来のプロセッサ、デジタル信号プロセッサ(DSP)、複数のマイクロプロセッサ、DSPコアと関連する1つ以上のマイクロプロセッサ、コントローラ、マイクロコントローラ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)回路、任意の他のタイプの集積回路(IC)、状態マシン等であり得る。プロセッサ32は、信号符号化、データ処理、電力制御、入出力処理、および/またはM2Mデバイス30が無線環境で動作することを可能にする任意の他の機能性を果たし得る。プロセッサ32は、伝送/受信要素36に結合され得る送受信機34に結合され得る。図27Cは、プロセッサ32および送受信機34を別個のコンポーネントとして描写するが、プロセッサ32および送受信機34は、電子パッケージまたはチップに一緒に組み込まれ得ることが理解されるであろう。プロセッサ32は、アプリケーション層プログラム(例えば、ブラウザ)または無線アクセス層(RAN)プログラムもしくは通信を実施し得る。プロセッサ32は、例えば、アクセス層またはアプリケーション層等で、認証、セキュリティキー一致、もしくは暗号化動作等のセキュリティ動作を実施し得る。
伝送/受信要素36は、信号をM2Mサービスプラットフォーム22に伝送するか、またはM2Mサービスプラットフォーム22から信号を受信するように構成され得る。例えば、伝送/受信要素36は、RF信号を伝送および/または受信するように構成されるアンテナであり得る。伝送/受信要素36は、WLAN、WPAN、セルラー等の種々のネットワークならびにエアインターフェースをサポートし得る。実施例では、伝送/受信要素36は、例えば、IR、UV、または可視光信号を伝送もしくは受信するように構成されるエミッタ/検出器であり得る。さらに別の実施例では、伝送/受信要素36は、RFおよび光信号の両方を伝送ならびに受信するように構成され得る。伝送/受信要素36は、無線または有線信号の任意の組み合わせを伝送もしくは受信するように構成され得ることが理解されるであろう。
加えて、伝送/受信要素36は、単一の要素として図27Cで描写されているが、M2Mデバイス30は、任意の数の伝送/受信要素36を含み得る。より具体的に、M2Mデバイス30は、MIMO技術を採用し得る。したがって、実施例では、M2Mデバイス30は、無線信号を伝送および受信するための2つ以上の伝送/受信要素36(例えば、複数のアンテナ)を含み得る。
送受信機34は、伝送/受信要素36によって伝送される信号を変調するために、および伝送/受信要素36によって受信される信号を復調するように構成され得る。上記のように、M2Mデバイス30は、マルチモード能力を有し得る。したがって、送受信機34は、M2Mデバイス30が、例えば、UTRAおよびIEEE802.11等の複数のRATを介して通信することを可能にするための複数の送受信機を含み得る。
プロセッサ32は、非取り外し可能メモリ44および/または取り外し可能メモリ46等の任意のタイプの好適なメモリから情報にアクセスし、そこにデータを記憶し得る。非取り外し可能メモリ44は、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、ハードディスク、または任意の他のタイプのメモリ記憶デバイスを含み得る。取り外し可能メモリ46は、加入者識別モジュール(SIM)カード、メモリスティック、セキュアデジタル(SD)メモリカード等を含み得る。他の実施例では、プロセッサ32は、サーバまたはホームコンピュータ上等のM2Mデバイス30上に物理的に位置しないメモリから情報にアクセスし、そこにデータを記憶し得る。プロセッサ32は、アプリケーション関係(例えば、親/子関係または複合/入力関係)に応答して、ディスプレイまたはインジケータ42上の照明パターン、画像、もしくは色を制御するように構成され得る。例えば、ディスプレイ上の照明パターン、画像、もしくは色のうちのいくつかは、アプリケーション関係の能力、アプリケーション関係の成功した登録、適用可能な関係記録にリンクすること、ならびに既存のアプリケーション関係を読み出すこと、更新すること、削除すること、および発見することに関する他のもの等のアプリケーション関係を管理することのインジケータであり得る。
プロセッサ32は、本明細書に説明される実施例のうちのいくつかにおけるLMSが成功であるか不成功であるか(例えば、アプリケーション関係に加入すること、関係に基づいてアプリケーションを登録すること、関係を発見すること等)に応答して、ディスプレイもしくはインジケータ42上の照明パターン、画像、または色を制御するか、もしくは別様にアプリケーション関係および関連コンポーネントのステータスを示すように構成され得る。ディスプレイまたはインジケータ42上の制御照明パターン、画像、もしくは色は、図に図示されるか、または本明細書で議論される(例えば、図6−図21等)方法フローもしくはコンポーネントのうちのいずれかのステータスを反映し得る。本ここでは、M2Mにおけるアプリケーション関係のメッセージおよびプロシージャが開示される。メッセージおよびプロシージャは、ユーザが、入力源(例えば、スピーカ/マイクロホン38、キーパッド40、またはディスプレイ/タッチパッド42)を介して、アプリケーション関係および管理コンポーネントを要求し、とりわけ、ディスプレイ42上に表示され得るアプリケーション関係を要求、構成、またはクエリするために、インターフェース/APIを提供するように拡張されることができる。
プロセッサ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)ラジオユニット、デジタル音楽プレーヤ、メディアプレーヤ、ビデオゲームプレーヤモジュール、インターネットブラウザ等を含み得る。
図27Dは、例えば、図27Aおよび27BのM2Mサービスプラットフォーム22が実装され得る例示的コンピュータシステム90のブロック図である。コンピュータシステム90は、コンピュータまたはサーバを備え得、主に、ソフトウェアの形態であり得るコンピュータ読み取り可能な命令によって制御され得、どこでも、もしくはどのような手段を用いても、そのようなソフトウェアが記憶またはアクセスされる。そのようなコンピュータ読み取り可能な命令は、コンピュータシステム90を稼働させるように、中央処理装置(CPU)91内で実行され得る。多くの既知のワークステーション、サーバ、およびパーソナルコンピュータでは、中央処理装置91は、マイクロプロセッサと呼ばれる単一チップCPUによって実装される。他のマシンでは、中央処理装置91は、複数のプロセッサを備え得る。コプロセッサ81は、追加の機能を果たすか、またはCPU91を支援する、主要CPU91とは明確に異なる随意のプロセッサである。CPU91またはコプロセッサ81は、強化アプリケーション登録を受信すること(例えば、一度に複数のアプリケーションの登録)等のアプリケーション関係の管理のための開示されるシステムおよび方法に関連するデータを受信、生成、ならびに処理し得る。
動作時、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は、図27Aおよび27Bのネットワーク12等の外部通信ネットワークにコンピュータシステム90を接続するために使用され得るネットワークアダプタ97を含み得る。
本明細書に説明されるシステム、方法、およびプロセスのうちのいずれかまたは全ては、コンピュータ読み取り可能な記憶媒体上に記憶されたコンピュータ実行可能命令(すなわち、プログラムコード)の形態で具現化され得、その命令は、コンピュータ、サーバ、M2M端末デバイス、M2Mゲートウェイデバイス等のマシンによって実行されると、本明細書に説明されるシステム、方法、ならびにプロセスを実施および/または実装することが理解される。特に、上記で説明されるステップ、動作、または機能のうちのいずれかは、そのようなコンピュータ実行可能命令の形態で実装され得る。コンピュータ読み取り可能な記憶媒体は、情報の記憶のための任意の方法もしくは技術で実装される、揮発性および不揮発性、取り外し可能および非取り外し可能媒体の両方を含むが、そのようなコンピュータ読み取り可能な記憶媒体は、信号を含まない。コンピュータ読み取り可能な記憶媒体は、RAM、ROM、EEPROM、フラッシュメモリまたは他のメモリ技術、CD−ROM、デジタル多用途ディスク(DVD)または他の光学ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置または他の磁気記憶デバイス、もしくは所望の情報を記憶するために使用することができ、かつコンピュータによってアクセスされることができる、任意の他の物理的媒体を含むが、それらに限定されない。
とりわけ、本明細書に説明されるような方法、システム、および装置は、とりわけ、アプリケーション関係を要求、構成、または決定するための手段を提供し得る。方法、システム、コンピュータ読み取り可能な記憶媒体、または装置は、第1のアプリケーションのためのソフトウェアの読み出しを支援するための手段と、第2のアプリケーションに対する第1のアプリケーションの関係を決定するための手段であって、第2のアプリケーションは、親アプリケーションである、手段と、第2のアプリケーションに対する第1のアプリケーションの関係に基づいて、第1のメッセージを第2のアプリケーションに送信するための手段であって、メッセージは、第1のアプリケーションのためのソフトウェアの読み出しのアラートを含む、手段とを有する。第2のアプリケーションは、第1のアプリケーションに対する親アプリケーションであり得る。メッセージは、第2のアプリケーションに対する第1のアプリケーションの関係を含み得る。メッセージは、第1のアプリケーションの識別子またはソフトウェアのバージョンであり得る。方法、システム、コンピュータ読み取り可能な記憶媒体、または装置は、第1のアプリケーションのソフトウェアの直近でインストールされたバージョンの通知を受信することを含み得る、さらなる動作のための手段を有する。第1のアプリケーションは、第2のアプリケーションに対する入力アプリケーションであり得る。メッセージは、第1のアプリケーションが読み出されたソフトウェアをインスールしたことを第2のアプリケーションに通知し得る。第2のアプリケーションは、第1のアプリケーションが読み出されたソフトウェアをインスールしたという通知に基づいて、第1のアプリケーションからのデータを処理するためのプロセスを変更し得る。
方法、システム、ンピュータ読み取り可能な記憶媒体、または装置は、アプリケーション関係のためのリソースを作成するための要求を送信する手段であって、要求は、アプリケーション関係のタイプを含む、手段と、アプリケーション関係のためのリソースの作成を確認する応答を受信する手段であって、応答は、アプリケーション関係のためのリソースの識別子を含む、手段とを有する。要求はさらに、サービス層に登録されたアプリケーションのリスト、またはアプリケーション関係が存在した期間を含み得る。
方法、システム、コンピュータ読み取り可能な記憶媒体、または装置は、第1の登録要求に基づいて、第1のアプリケーションのための第1のリソースを作成する手段と、第2の登録要求に基づいて、第2のアプリケーションのための第2のリソースを作成する手段と、第1の要求を受信する手段であって、第1の要求は、第1のアプリケーションと第2のアプリケーションとの間の関係を作成するための要求を含む、手段と、第1の要求に基づいて、第1のアプリケーションと第2のアプリケーションとの間の関係を作成する手段とを有する。関係の作成は、第1のリソースおよび第2のリソースを更新することを含み得る。方法、システム、コンピュータ読み取り可能な記憶媒体、または装置は、
第1のリソースを第2のリソースと接続するポインタで更新する手段であって、ポインタは、第1のアプリケーションが第2のアプリケーションの親であることを示、手段を有する。方法、システム、コンピュータ読み取り可能な記憶媒体、または装置は、第1のアプリケーションと第2のアプリケーションとの間の関係の作成を第1のアプリケーションに通知する手段を有する。関係は、第1のアプリケーションと第2のアプリケーションとの間の親/子関係を含み得る。関係は、第1のアプリケーションと第2のアプリケーションとの間の複合/入力関係を含み得る。関係は、第1のリソース内の第1のアプリケーション関係属性を更新することを含み得る。第1の要求は、共通サービスエンティティのアプリケーション関係管理サービスにおいて受信され得る。
図に例証されるような本開示の主題の好ましい方法、システム、または装置を説明する際に、明確にするために具体的用語が採用される。しかしながら、請求される主題は、そのように選択される具体的用語に限定されることを意図せず、各具体的要素は、類似目的を達成するように同様に動作する、全ての技術的均等物を含むことを理解されたい。
本明細書は、最良の様態を含む本発明を開示するために、さらに、当業者が、任意のデバイスまたはシステムを作製して使用すること、および任意の組み込まれた方法を行うことを含む本発明を実践することを可能にするために実施例を使用する。本発明の特許性のある範囲は、請求項によって定義され、当業者に想起される他の実施例を含み得る(例えば、本明細書に開示される例示的方法の間でステップを省略すること、ステップを組み合わせること、またはステップを追加すること)。そのような他の実施例は、請求項の文字通りの言葉とは異ならない構造要素を有する場合、または請求項の文字通りの言葉とのごくわずかな差異を伴う同等の構造要素を含む場合、請求項の範囲内であることを意図している。