(57)【特許請求の範囲】
【請求項１】
サブスクリプション通知を実施するための方法であって、
サブスクライバのサブスクリプションリソース作成要求を受信するステップであって、
前記サブスクリプションリソース作成要求は、サブスクライブされたリソースの一意の識別子を備えるステップと、
前記サブスクリプションリソース作成要求に従ってサブスクリプションリソースを作成
するステップと、
前記サブスクライバが前記サブスクライブされたリソースの最新のステータスを獲得する必要があると判定し、前記作成されたサブスクリプションリソースに最新のステータス識別子を割り当てるステップであって、前記最新のステータス識別子は、前記サブスクライバが前記サブスクライブされたリソースの前記最新のステータスを獲得する必要があることを示すのに使用されるステップと、
前記サブスクライブされたリソースのステータスが更新されると、前記サブスクリプションリソースに従って通知メッセージを生成し、前記通知メッセージを中間ノードに送信するステップであって、前記通知メッセージは、前記サブスクライブされたリソースの前記更新されたステータスと、前記最新のステータス識別子とを備え、および前記最新のステータス識別子は、メッセージ送信条件が満たされるときに、前記サブスクリプションリソースに従って生成された最新の通知メッセージだけを識別できるように使用される、該ステップと
を具えたことを特徴とする方法。
【請求項２】
前記サブスクライバが前記サブスクライブされたリソースの最新のステータスを獲得する必要があると判定する前記ステップは、特に、前記サブスクリプションリソース作成要求の中に備えられた指示情報に従って、前記サブスクライバが前記サブスクライブされたリソースの前記最新のステータスを獲得する必要があると判定するステップであることを特徴とする請求項１に記載の方法。
【請求項３】
前記サブスクライバが前記サブスクライブされたリソースの最新のステータスを獲得する必要があると判定する前記ステップは、特に、ローカルで記憶された、前記サブスクライバと関係するポリシー情報の中に備えられた指示情報に従って、前記サブスクライバが前記サブスクライブされたリソースの前記最新のステータスを獲得する必要があると判定するステップであることを特徴とする請求項１に記載の方法。
【請求項４】
前記最新のステータス識別子は、グローバルに一意の識別子であり、前記サブスクリプションリソースを識別するのに使用されることを特徴とする請求項１乃至３のいずれか１つに記載の方法。
【請求項５】
前記最新のステータス識別子は、ホスティング共通サービスエンティティ（ホスティングＣＳＥ）上の一意の識別子であり、前記サブスクリプションリソースを識別するのに使用されることを特徴とする請求項１乃至３のいずれか１つに記載の方法。
【請求項６】
すべてのサブスクリプションリソースは、同一の最新のステータス識別子を有することを特徴とする請求項１乃至３のいずれか１つに記載の方法。
【請求項７】
前記サブスクリプションリソースに従って通知メッセージを生成し、前記通知メッセージを中間ノードに送信する前記ステップは、
前記サブスクリプションリソースに従って前記通知メッセージを生成し、前記通知メッセージをカプセル化してＨＴＴＰメッセージの中に入れ、前記ＨＴＴＰメッセージを前記中間ノードに送信するステップと、
前記通知メッセージに従ってストアアンドフォワードリソースのリソース表現が生成された後、前記リソース表現をカプセル化してＲｅｓｔｆｕｌメッセージの中に入れ、前記Ｒｅｓｔｆｕｌメッセージを前記中間ノードに送信するステップと
の少なくとも１つを含むことを特徴とする請求項１乃至６のいずれか１つに記載の方法。
【請求項８】
サブスクリプション通知を実施するための方法であって、
通知メッセージを受信するステップであって、前記通知メッセージは、サブスクライブされたリソースの更新されたステータスを含み、
前記通知メッセージが最新のステータス識別子を含むと判定するステップと、
前記受信された通知メッセージを記憶するステップと、
サブスクリプションリソースに従って生成され、ローカルで記憶された通知メッセージのうちで最新の通知メッセージを判定するステップと、
メッセージ送信条件が満たされると、前記最新のステータス識別子に従って前記最新の通知メッセージだけを送信するステップと
を具えたことを特徴とする方法。
【請求項９】
前記受信された通知メッセージを記憶する前記ステップは、ローカルで記憶された他の通知メッセージを見出すステップであって、前記他の通知メッセージおよび前記通知メッセージは同一のサブスクリプションリソースに従って生成される、該ステップと、前記他の通知メッセージを置き換えることによって前記受信された通知メッセージを記憶するステップとを特に含み、
サブスクリプションリソースに従って生成され、ローカルで記憶された通知メッセージのうちで最新の通知メッセージを判定する前記ステップは、前記サブスクリプションリソースに従って生成されおよびローカルで記憶された通知メッセージが、前記最新の通知メッセージであると判定するステップを特に含むことを特徴とする請求項８に記載の方法。
【請求項１０】
サブスクリプションリソースに従って生成され、ローカルで記憶された通知メッセージのうちで最新の通知メッセージを判定する前記ステップは、ローカルで記憶された他の通知メッセージを見出すステップであって、前記他の通知メッセージおよび前記通知メッセージは同一のサブスクリプションリソースに従って生成される、該ステップと、ローカルで記憶された前記通知メッセージおよび前記他の通知メッセージのうちで、前記最新の通知メッセージを判定するステップとを特に含むことを特徴とする請求項８に記載の方法。
【請求項１１】
前記最新のステータス識別子は、グローバルに一意の識別子であり、前記サブスクリプションリソースを識別するのに使用され、
前記同一のサブスクリプションリソースに従って生成された前記他の通知メッセージおよび前記通知メッセージは、特に、前記同一の最新のステータス識別子を含む前記通知メッセージおよび前記他の通知メッセージであることを特徴とする請求項９に記載の方法。
【請求項１２】
前記最新のステータス識別子は、ホスティング共通サービスエンティティ（ホスティングＣＳＥ）上の一意の識別子であり、前記サブスクリプションリソースを識別するのに使用され、
前記同一のサブスクリプションリソースに従って生成された前記他の通知メッセージおよび前記通知メッセージは、特に、同一の最新のステータス識別子と同一のメッセージ送信源アドレスとを含む前記通知メッセージおよび前記他の通知メッセージであることを特徴とする請求項９に記載の方法。
【請求項１３】
前記同一のサブスクリプションリソースに従って生成された前記他の通知メッセージおよび前記通知メッセージは、特に、同一のサブスクリプションリソース一様リソース識別子（ＵＲＩ）を含む前記通知メッセージおよび前記他の通知メッセージであることを特徴とする請求項９ないし１２のいずれか１つに記載の方法。
【請求項１４】
前記サブスクリプションリソースに従って生成され、ローカルで記憶された前記通知メッセージを削除するステップをさらに具えたことを特徴とする請求項８ないし１３のいずれか１つに記載の方法。
【請求項１５】
コンピュータ実行可能なプログラムコードを格納するメモリと、
通信インターフェースと、
前記メモリおよび前記通信インターフェースに結合された、プロセッサと
を具え、
前記プログラムコードは、前記プロセッサによって実行されるとき、該プロセッサに、
サブスクライバのサブスクリプションリソース作成要求を受信することであって、前記サブスクリプションリソース作成要求は、サブスクライブされたリソースの一意の識別子を含む、該受信することと、
前記サブスクリプションリソース作成要求に従ってサブスクリプションリソースを作成することと、
前記サブスクライバが前記サブスクライブされたリソースの最新のステータスを獲得する必要があると判定すること、および、前記作成された前記サブスクリプションリソースに最新のステータス識別子を割当てることであって、前記最新のステータス識別子は、
前記サブスクライバが前記サブスクライブされたリソースの前記最新のステータスを獲得する必要があることを示すのに使用される、該割当てることと、
前記サブスクライブされたリソースのステータスが更新されると、前記サブスクリプションリソースに従って通知メッセージを生成すること、および、前記通知メッセージを中間ノードに送信することであって、前記通知メッセージは、前記サブスクライブされたリソースの前記更新されたステータスと前記最新のステータス識別子とを含み、および前記最新のステータス識別子は、メッセージ送信条件が満たされるときに、前記サブスクリプションリソースに従って生成された最新の通知メッセージだけが識別されるように使用される、該送信することと
を実行させる命令を含むことを特徴とするホスティング共通サービスエンティティ（ホスティングＣＳＥ）。
【請求項１６】
コンピュータ実行可能なプログラムコードを格納するメモリと、
通信インターフェースと、
前記メモリおよび前記通信インターフェースに結合された、プロセッサと
を具え、
前記プログラムコードは、前記プロセッサによって実行されるとき、該プロセッサに、    通知メッセージを受信することであって、前記通知メッセージは、サブスクライブされたリソースの更新されたステータスを含む、該受信することと、
前記通知メッセージが最新のステータス識別子を含むと判定することと、
前記受信された通知メッセージを記憶することと、
サブスクリプションリソースに従って生成され、ローカルで記憶された通知メッセージのうちで、最新の通知メッセージを判定することと、
メッセージ送信条件が満たされるときに、前記最新のステータス識別子に従って前記最新の通知メッセージだけを送信することと
を実行させる命令を含むことを特徴とする中間ノード。
【請求項１７】
コンピュータに請求項１ないし７のいずれかに記載の方法を実行させるプログラム。
【請求項１８】
コンピュータに請求項８ないし１４のいずれかに記載の方法を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マシンツーマシン通信（Ｍａｃｈｉｎｅ−ｔｏ−Ｍａｃｈｉｎｅ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ、Ｍ２Ｍ）技術の分野に関し、詳細には、サブスクリプション通知を実施するための方法および装置に関する。
【背景技術】
【０００２】
マシンツーマシン通信（Ｍａｃｈｉｎｅ−ｔｏ−Ｍａｃｈｉｎｅ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ、Ｍ２Ｍ）は、インテリジェントなマシンツーマシン対話に焦点を合わせたネットワークベースのアプリケーションおよびサービスである。Ｍ２Ｍ技術は、マシンにワイヤレス通信モジュールまたは有線通信モジュール、およびアプリケーション処理ロジックを埋め込むことによって、監視、指揮、およびスケジューリング、データ収集および測定などに関するユーザの情報化要件を満たすように、手動の介入なしにデータ通信を実施する。
【０００３】
図１は、通常のＭ２Ｍシステムアーキテクチャである。各端末装置（例えば、センサ）は、ゲートウェイを介してサービスプラットフォームに遠隔でアクセスする。サービスプラットフォームによって提供されるサービス能力を使用することによって、端末装置にインストールされた各アプリケーション（例えば、電気メータ読取りおよびインテリジェントトラフィック）は、他の端末装置によって収集されるデータを獲得する、または他の端末装置を遠隔で制御し、管理する。ゲートウェイとプラットフォームの両方が、共通サービスエンティティ（Ｃｏｍｍｏｎ  Ｓｅｒｖｉｃｅ  Ｅｎｔｉｔｙ、ＣＳＥ）を含む。端末装置上のアプリケーションが、その端末装置が接続されたゲートウェイに登録することが可能である。すべてのゲートウェイは、サービスプラットフォームに登録する必要がある。登録を受信するＣＳＥは、ローカルＣＳＥと呼ばれる。例えば、図１において、アプリケーション１のローカルＣＳＥは、ゲートウェイＡにあり、アプリケーション２のローカルＣＳＥは、ゲートウェイＢにあり、ゲートウェイＡとゲートウェイＢの両方のローカルＣＳＥは、サービスプラットフォームにある。登録が成功した後、ローカルＣＳＥは、登録者のための登録リソースを作成する。
【０００４】
いくつかのＭ２Ｍアプリケーションシナリオにおいて、端末装置ｂ上のアプリケーション２が、端末装置ａ上のアプリケーション１のステータス変化について絶え間なく知ることを望むが、アプリケーション１に頻繁にクエリを行うことは望まない。サブスクリプション通知機構が、欧州電気通信標準化機構（Ｅｕｒｏｐｅａｎ  Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎｓ  Ｓｔａｎｄａｒｄｓ  Ｉｎｓｔｉｔｕｔｅ、ＥＴＳＩ）によって策定された現行のＭ２Ｍ規格ＴＳ  １０２  ６９０およびＴＳ  １０２  ９２１において提供される。すなわち、アプリケーション２が、アプリケーション１のローカルＣＳＥ（すなわち、ゲートウェイＡ）上のアプリケーション１の登録リソースにサブスクライブし、アプリケーション１が変化すると、アプリケーション１は、そのローカルＣＳＥ、すなわち、ゲートウェイＡに対する登録リソースのステータスを更新し、ゲートウェイＡが、登録リソースの更新されたステータスに従ってアプリケーション２に通知メッセージを送信する。アプリケーション２は、サブスクライバと呼ばれる。アプリケーション１のローカルＣＳＥ上のアプリケーション１の登録リソースは、サブスクライブされたリソースと呼ばれる。サブスクライブされたリソースが位置するＣＳＥは、ホスティング共通サービスエンティティ（ホスティングＣＳＥ）と呼ばれる。ホスティングＣＳＥは、サブスクライバ（すなわち、アプリケーション２）のサブスクリプション要求に従ってサブスクリプションリソースを作成し、サブスクリプションリソースは、サブスクリプション関係を記述するのに使用される。サブスクリプションリソースの具体的なコンテンツは、サブスクライブされたリソースの識別子および通知送信アドレスを含むことが可能であり、オプションとして、サブスクリプション条件などをさらに含む。さらに、サブスクライブされたリソースとサブスクリプションリソースの間の関連付け関係が、サブスクライブされたリソースの中に記憶される。
【０００５】
前述のシナリオにおいて、ゲートウェイＡによって報告される通知メッセージは、別のＣＳＥを介してゲートウェイＢに転送される。本明細書では、例えば、通知メッセージは、１つだけのＣＳＥ（すなわち、サービスプラットフォーム）を介してゲートウェイＢに転送される。サービスプラットフォームとゲートウェイＢの間の接続オーバヘッドを低減するのに、ゲートウェイＡによって報告されたメッセージを受信した後、サービスプラットフォームは、サービスプラットフォームが、それが緊急メッセージではないと判定した場合、そのメッセージをローカルで一時的に記憶する。ゲートウェイＢに送信された他の緊急メッセージが受信されると、または一時的な記憶期間が満了すると、サービスプラットフォームは、ゲートウェイＢとの接続を確立し、すべての一時的に記憶されたメッセージを送信する。１つのＣＳＥからメッセージを受信し、そのメッセージをある期間、一時的に記憶した後、そのメッセージを別のＣＳＥに転送する機構は、ストアアンドフォワード（ｓｔｏｒｅ−ａｎｄ−ｆｏｒｗａｒｄ、ＳＡＦ）機構と呼ばれる。メッセージ送信プロセスにおいて、ストアアンドフォワード機構を実行するＣＳＥ、例えば、このシナリオにおけるサービスプラットフォームは、中間ノードと呼ばれ、メッセージが中間ノードの中に一時的に記憶される期間は、ストアアンドフォワード遅延と呼ばれる。
【０００６】
ストアアンドフォワード機構の存在のため、異なる時点で送信された複数の通知メッセージが、１つの接続を介してサブスクライバに着信する可能性がある。例えば、前述のシナリオにおいて、アプリケーション１が、気象情報を生成するのに使用され、アプリケーション２が、気象に従ってユーザに生活のリマインダを提供するのに使用され、気象変化情報についてリアルタイムで知る必要があり、したがって、アプリケーション１にサブスクライブして、サブスクリプションリソース１を作成する。気象情報が更新されると、気象部門のゲートウェイＡが、サブスクリプションリソース１に従ってアプリケーション２に通知メッセージを送信する。気象変化の通知は、緊急通知メッセージではないため、その通知メッセージがサービスプラットフォームに着信すると、サービスプラットフォームは、ストアアンドフォワードポリシーに従って通知メッセージを一時的に記憶する。通知メッセージが一時的に記憶される期間内に、気象が変化した場合、サービスプラットフォームは、サブスクリプションリソース１に従ってゲートウェイＡによってアプリケーション２に送信された新たな通知メッセージを受信する。既存のサブスクリプション通知機構において、その２つの通知メッセージは、１つの接続を介してアプリケーション２に着信することが可能であり、すなわち、サブスクライバは、１つの接続を介して、同一のサブスクリプションリソースに従って送信された複数の通知メッセージを受信することが可能である。しかし、いくつかのサブスクライバに関して、アプリケーション２は、最新の気象情報にだけ関心がある。したがって、より早期に送信された通知メッセージは、無効であり、ネットワークリソース、およびサブスクライバのコンピューティングリソースの浪費がもたらされる。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明では、サブスクリプション通知を実施するための改善された方法および装置を提供する。
【課題を解決するための手段】
【０００８】
本発明の実施形態は、同一のサブスクリプションリソースに従って送信される複数の通知メッセージが１つの接続を介してサブスクライバに同時に送信されるともたらされる、ネットワークリソースおよびコンピューティングリソースの浪費を回避することができるサブスクリプション通知を実施するための方法および装置を提供する。
【０００９】
第１の態様によれば、本発明の実施形態が、サブスクリプション通知を実施するためのホスティング共通サービスエンティティ、ホスティングＣＳＥを提供し、このホスティングＣＳＥは、サブスクライバのサブスクリプションリソース作成要求を受信するように構成された受信ユニットであって、そのサブスクリプションリソース作成要求は、サブスクライブされたリソースの一意の識別子を含む受信ユニットと、受信ユニットによって受信されたサブスクリプションリソース作成要求に従ってサブスクリプションリソースを作成するように構成されたリソース作成ユニットと、サブスクライバがサブスクライブされたリソースの最新のステータスを獲得する必要があると判定するように構成された判定ユニットと、判定ユニットが、サブスクライバがサブスクライブされたリソースの最新のステータスを獲得する必要があると判定した後、リソース作成ユニットによって作成されたサブスクリプションリソースに最新のステータス識別子を割り当てるように構成された割当てユニットであって、その最新のステータス識別子は、サブスクライバがサブスクライブされたリソースの最新のステータスを獲得する必要があることを示すのに使用される割当てユニットと、サブスクライブされたリソースのステータスが更新されると、リソース作成ユニットによって作成されたサブスクリプションリソースに従って通知メッセージを生成するように構成された生成ユニットであって、その通知メッセージは、サブスクライブされたリソースの更新されたステータスと、割当てユニットによって割り当てられた最新のステータス識別子とを含み、したがって、中間ノードが通知メッセージを受信した後、中間ノードは、メッセージ送信条件が満たされると、その最新のステータス識別子に従ってサブスクライバに、サブスクリプションリソースに従って生成された最新の通知メッセージだけを送信する生成ユニットと、生成ユニットによって生成された通知メッセージを中間ノードに送信するように構成された送信ユニットとを含む。
【００１０】
第１の態様の第１の可能な実施様態において、判定ユニットが、サブスクライバがサブスクライブされたリソースの最新のステータスを獲得する必要があると判定するように構成されることは、判定ユニットが、サブスクリプションリソース作成要求の中に含められた指示情報に従って、サブスクライバがサブスクライブされたリソースの最新のステータスを獲得する必要があると判定するように構成されることを特に含む。
【００１１】
第１の態様の第２の可能な実施様態において、判定ユニットが、サブスクライバがサブスクライブされたリソースの最新のステータスを獲得する必要があると判定するように構成されることは、判定ユニットが、ローカルで記憶された、サブスクライバと関係するポリシー情報の中に含められた指示情報に従って、サブスクライバがサブスクライブされたリソースの最新のステータスを獲得する必要があると判定するように構成されることを特に含む。
【００１２】
第２の態様によれば、本発明の実施形態が、サブスクリプション通知を実施するための中間ノードを提供し、この中間ノードは、通知メッセージを受信するように構成された受信ユニットであって、その通知メッセージは、サブスクライブされたリソースの更新されたステータスを含む受信ユニットと、受信ユニットによって受信された通知メッセージが最新のステータス識別子を含むと判定するように構成された判定ユニットと、受信ユニットによって受信された通知メッセージを記憶するように構成された記憶ユニットとを含み、判定ユニットは、サブスクリプションリソースに従って生成され、ローカルで記憶された通知メッセージのうちで最新の通知メッセージを判定するようにさらに構成され、かつこの中間ノードは、メッセージ送信条件が満たされると、最新のステータス識別子に従って最新の通知メッセージだけを送信するように構成された送信ユニットを含む。
【００１３】
第２の態様の第１の可能な実施様態において、中間ノードは、ローカルで記憶され、通知メッセージと同一のサブスクリプションリソースに従って生成された他の通知メッセージを見出すように構成された探索ユニットをさらに含み、記憶ユニットが、受信ユニットによって受信された通知メッセージを記憶するように構成されることは、特に、記憶ユニットが、探索ユニットによって見出されたそれらの他の通知メッセージを置き換えることによって、受信ユニットによって受信された通知メッセージをローカルで記憶するように構成されることであり、判定ユニットが、サブスクリプションリソースに従って生成され、ローカルで記憶された通知メッセージのうちで最新の通知メッセージを判定するようにさらに構成されることは、特に、判定ユニットが、サブスクリプションリソースに従って生成され、ローカルで記憶された通知メッセージが最新の通知メッセージであると判定するようにさらに構成されることである。
【００１４】
第２の態様の第２の可能な実施様態において、中間ノードは、ローカルで記憶され、通知メッセージと同一のサブスクリプションリソースによって生成された他の通知メッセージを見出すように構成された探索ユニットをさらに含み、判定ユニットが、サブスクリプションリソースに従って生成され、ローカルで記憶された通知メッセージのうちで最新の通知メッセージを判定するようにさらに構成されることは、特に、判定ユニットが、ローカルで記憶された通知メッセージ、および探索ユニットによって見出されたそれらの他の通知メッセージのうちで最新の通知メッセージを判定するようにさらに構成されることである。
【００１５】
第２の態様の第１の、または第２の可能な実施様態を参照して、第３の可能な実施様態において、最新のステータス識別子は、グローバルに一意の識別子であり、サブスクリプションリソースを識別するのに使用され、探索ユニットが、ローカルで記憶され、通知メッセージと同一のサブスクリプションリソースに従って生成された他の通知メッセージを見出すように構成されることは、特に、探索ユニットが、ローカルで記憶された他の通知メッセージを見出すように構成されることであって、受信ユニットによって受信された通知メッセージとそれらの他の通知メッセージは、同一の最新のステータス識別子を含むことである。
【００１６】
第２の態様の第１の、または第２の可能な実施様態を参照して、第４の可能な実施様態において、最新のステータス識別子は、ホスティング共通サービスエンティティ、ホスティングＣＳＥ上の一意の識別子であり、サブスクリプションリソースを識別するのに使用され、探索ユニットが、ローカルで記憶され、通知メッセージと同一のサブスクリプションリソースに従って生成された他の通知メッセージを見出すように構成されることは、特に、探索ユニットが、ローカルで記憶された他の通知メッセージを見出すように構成されることであって、受信ユニットによって受信された通知メッセージとそれらの他の通知メッセージは、同一の最新のステータス識別子と、同一のメッセージ送信源アドレスとを含むことである。
【００１７】
第２の態様の第１の、または第２の可能な実施様態を参照して、第５の可能な実施様態において、探索ユニットが、ローカルで記憶され、通知メッセージと同一のサブスクリプションリソースによって生成された他の通知メッセージを見出すように構成されることは、特に、探索ユニットが、ローカルで記憶された他の通知メッセージを見出すように構成されることであって、受信ユニットによって受信された通知メッセージとそれらの他の通知メッセージは、同一のサブスクリプションリソース一様リソース識別子（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｉｄｅｎｔｉｆｉｅｒ、ＵＲＩ）を含むことである。
【００１８】
第３の態様によれば、本発明の実施形態が、サブスクリプション通知を実施するための方法を提供し、この方法は、サブスクライバのサブスクリプションリソース作成要求を受信することであって、そのサブスクリプションリソース作成要求は、サブスクライブされたリソースの一意の識別子を含むこと、そのサブスクリプションリソース作成要求に従ってサブスクリプションリソースを作成すること、サブスクライバがサブスクライブされたリソースの最新のステータスを獲得する必要があると判定し、作成されたサブスクリプションリソースに最新のステータス識別子を割り当てることであって、その最新のステータス識別子は、サブスクライバがサブスクライブされたリソースの最新のステータスを獲得する必要があることを示すのに使用されること、およびサブスクライブされたリソースのステータスが更新されると、サブスクリプションリソースに従って通知メッセージを生成し、その通知メッセージを中間ノードに送信することであって、その通知メッセージは、サブスクライブされたリソースの更新されたステータスと、最新のステータス識別子とを含み、したがって、中間ノードが通知メッセージを受信した後、中間ノードは、メッセージ送信条件が満たされると、最新のステータス識別子に従ってサブスクライバに、サブスクリプションリソースに従って生成された最新の通知メッセージだけを送信することを含む。
【００１９】
第３の態様の第１の可能な実施様態において、サブスクライバがサブスクライブされたリソースの最新のステータスを獲得する必要があると判定することは、特に、サブスクリプションリソース作成要求の中に含められた指示情報に従って、サブスクライバがサブスクライブされたリソースの最新のステータスを獲得する必要があると判定することである。
【００２０】
第３の態様の第２の可能な実施様態において、サブスクライバがサブスクライブされたリソースの最新のステータスを獲得する必要があると判定することは、特に、ローカルで記憶された、サブスクライバと関係するポリシー情報の中に含められた指示情報に従って、サブスクライバがサブスクライブされたリソースの最新のステータスを獲得する必要があると判定することである。
【００２１】
第４の態様によれば、本発明の実施形態が、サブスクリプション通知を実施するための方法を提供し、この方法は、通知メッセージを受信することであって、その通知メッセージは、サブスクライブされたリソースの更新されたステータスを含み、通知メッセージが最新のステータス識別子を含むと判定すること、受信された通知メッセージを記憶すること、サブスクリプションリソースに従って生成され、ローカルで記憶された通知メッセージのうちで最新の通知メッセージを判定すること、およびメッセージ送信条件が満たされると、最新のステータス識別子に従って最新の通知メッセージだけを送信することを含む。
【００２２】
第４の態様の第１の可能な実施様態において、受信された通知メッセージを記憶することは、ローカルで記憶され、通知メッセージと同一のサブスクリプションリソースに従って生成された他の通知メッセージを見出した後、それらの他の通知メッセージを置き換えることによって受信された通知メッセージをローカルで記憶することを特に含み、サブスクリプションリソースに従って生成され、ローカルで記憶された通知メッセージのうちで最新の通知メッセージを判定することは、サブスクリプションリソースに従って生成され、ローカルで記憶された通知メッセージが最新の通知メッセージであると判定することを特に含む。
【００２３】
第４の態様の第２の可能な実施様態において、サブスクリプションリソースに従って生成され、ローカルで記憶された通知メッセージのうちで最新の通知メッセージを判定することは、ローカルで記憶され、通知メッセージと同一のサブスクリプションリソースに従って生成された他の通知メッセージを見出した後、ローカルで記憶された通知メッセージ、およびそれらの他の通知メッセージのうちで最新の通知メッセージを判定することを特に含む。
【００２４】
第４の態様の第１の、または第２の可能な実施様態を参照して、第３の可能な実施様態において、最新のステータス識別子は、グローバルに一意の識別子であり、サブスクリプションリソースを識別するのに使用され、ローカルで記憶され、通知メッセージと同一のサブスクリプションリソースに従って生成された他の通知メッセージを見出すことは、特に、ローカルで記憶されたそれらの他の通知メッセージを見出すことであって、通知メッセージとそれらの他の通知メッセージは、同一の最新のステータス識別子を含むことである。
【００２５】
第４の態様の第１の、または第２の可能な実施様態を参照して、第４の可能な実施様態において、最新のステータス識別子は、ホスティング共通サービスエンティティ、ホスティングＣＳＥ上の一意の識別子であり、サブスクリプションリソースを識別するのに使用され、ローカルで記憶され、通知メッセージと同一のサブスクリプションリソースに従って生成された他の通知メッセージを見出すことは、特に、ローカルで記憶されたそれらの他の通知メッセージを見出すことであって、通知メッセージとそれらの他の通知メッセージは、同一の最新のステータス識別子と、同一のメッセージ送信源アドレスとを含むことである。
【００２６】
第４の態様の第１の、または第２の可能な実施様態を参照して、第５の可能な実施様態において、ローカルで記憶され、通知メッセージと同一のサブスクリプションリソースによって生成された他の通知メッセージを見出すことは、特に、ローカルで記憶されたそれらの他の通知メッセージを見出すことであって、通知メッセージとそれらの他の通知メッセージは、同一のサブスクリプションリソース一様リソース識別子（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｉｄｅｎｔｉｆｉｅｒ、ＵＲＩ）を含むことである。
【００２７】
本発明の実施形態によって提供される技術的ソリューションにおいて、サブスクライバのサブスクリプションリソース作成要求が受信され、サブスクリプションリソースが、そのサブスクリプションリソース作成要求に従って作成され、サブスクライバがサブスクライブされたリソースの最新のステータスを獲得する必要があると判定されて、最新のステータス識別子が、作成されたサブスクリプションリソースに割り当てられ、サブスクライブされたリソースのステータスが更新されると、通知メッセージが、サブスクリプションリソースに従って生成されて、中間ノードに送信され、その通知メッセージは、最新のステータス識別子を含み、したがって、中間ノードがその通知メッセージを受信した後、中間ノードは、その最新のステータス識別子に従ってサブスクライバに、サブスクリプションリソースに従って生成された最新の通知メッセージだけを送信する。サブスクライブされたリソースの最新のステータスにだけ関心があるサブスクライバに関して、同一のサブスクリプションリソースに従って送信される複数の通知メッセージが、１つの接続を介してサブスクライバに同時に送信されることが回避されることが可能であり、したがって、ネットワークリソース、およびサブスクライバのコンピューティングリソースが低減される。
【図面の簡単な説明】
【００２８】
本発明の実施形態における技術的ソリューションをより明確に説明するのに、実施形態を説明するために要求される添付の図面を以下に簡単に説明する。明らかに、以下の説明における添付の図面は、本発明のいくつかの実施形態を示すに過ぎず、当業者は、それでも、これらの図面から、独創的な取組みなしに、他の図面を導き出すことが可能である。
【００２９】
【図１】従来技術におけるＭ２Ｍシステムを示す概略構造図である。
【図２】本発明の実施形態によるサブスクリプション通知を実施するためのシステムを示す構造図である。
【図３】本発明の実施形態によるサブスクリプション通知を実施するためのホスティングＣＳＥを示す構造図である。
【図４】本発明の実施形態によるサブスクリプション通知を実施するための中間ノードを示す構造図である。
【図５】本発明の実施形態によるサブスクリプション通知を実施するための方法を示す流れ図である。
【図６】本発明の別の実施形態によるサブスクリプション通知を実施するための方法を示す流れ図である。
【図７】本発明の実施形態によるサブスクリプション通知を実施するためのシグナリングを示す流れ図である。
【図８】本発明の別の実施形態によるサブスクリプション通知を実施するためのシグナリングを示す流れ図である。
【図９】本発明の実施形態によるコンピュータシステムに基づくホスティングＣＳＥを示す構造図である。
【図１０】本発明の実施形態によるコンピュータシステムに基づく中間ノードを示す構造図である。
【発明を実施するための形態】
【００３０】
以下に、本発明の実施形態において添付の図面を参照して、本発明の実施形態における技術的ソリューションを明確に説明する。明らかに、説明される実施形態は、本発明の実施形態のすべてではなく、いくつかに過ぎない。独創的な取組みなしに本発明の実施形態に基づいて当業者によって得られる他のすべての実施形態は、本発明の保護範囲に含まれるものとする。
【００３１】
本発明の実施形態が、サブスクリプション（ｓｕｂｓｃｒｉｐｔｉｏｎ）通知を実施するためのシステムを提供する。図２を参照すると、サブスクリプション通知を実施するためのシステム２００は、
サブスクライバのサブスクリプションリソース作成要求を受信することであって、そのサブスクリプションリソース作成要求は、サブスクライブされたリソースの一意の識別子を含むこと、そのサブスクリプションリソース作成要求に従ってサブスクリプションリソースを作成するように構成すること、サブスクライブされたリソースの最新のステータスを獲得する必要があると判定し、作成されたサブスクリプションリソースに最新のステータス識別子を割り当てることであって、その最新のステータス識別子は、サブスクライバがサブスクライブされたリソースの最新のステータスを獲得する必要があることを示すのに使用されること、およびサブスクライブされたリソースのステータスが更新されると、サブスクリプションリソースに従って通知メッセージを生成し、中間ノードにその通知メッセージを送信することであって、その通知メッセージは、サブスクライブされたリソースの更新されたステータスと、最新のステータス識別子とを含み、したがって、中間ノードが通知メッセージを受信した後、中間ノードは、メッセージ送信条件が満たされると、その最新のステータス識別子に従ってサブスクライバに、サブスクリプションリソースに従って生成された最新の通知メッセージだけを送信することを行うように構成されたホスティング共通サービスエンティティ、ホスティング（Ｈｏｓｔｉｎｇ）ＣＳＥ２０１と、
通知メッセージを受信し、その通知メッセージは、サブスクライブされたリソースの更新されたステータスを含み、その通知メッセージが最新のステータス識別子を含むと判定すること、受信された通知メッセージを記憶すること、サブスクリプションリソースに従って生成され、ローカルで記憶された通知メッセージのうちで最新の通知メッセージを判定すること、およびメッセージ送信条件が満たされると、最新のステータス識別子に従って最新の通知メッセージだけを送信することを行うように構成された中間ノード２０２とを含む。
【００３２】
サブスクリプション通知を実施するためのシステム２００に１つまたは複数の中間ノードが存在することが可能であり、すなわち、中間ノードは、他の中間ノードに接続されることが可能であり、それらは、本発明におけるサブスクリプション通知を実施するプロセスにおいて同一の動作を実行する。
【００３３】
本発明の実施形態が、サブスクリプション通知を実施するためのホスティング共通サービスエンティティ、ホスティングＣＳＥを提供する。図３を参照すると、ホスティングＣＳＥ３００は、
サブスクライバのサブスクリプションリソース作成要求を受信するように構成された受信ユニット３０１であって、そのサブスクリプションリソース作成要求は、サブスクライブされたリソースの一意の識別子を含む受信ユニット３０１と、
受信ユニット３０１によって受信されたサブスクリプションリソース作成要求に従ってサブスクリプションリソースを作成するように構成されたリソース作成ユニット３０２と、
サブスクライバがサブスクライブされたリソースの最新のステータスを獲得する必要があると判定するように構成された判定ユニット３０３と、
判定ユニット３０３が、サブスクライバがサブスクライブされたリソースの最新のステータスを獲得する必要があると判定した後、リソース作成ユニット３０２によって作成されたサブスクリプションリソースに最新のステータス識別子を割り当てるように構成された割当てユニット３０４であって、その最新のステータス識別子は、サブスクライバがサブスクライブされたリソースの最新のステータスを獲得する必要があることを示すのに使用される割当てユニット３０４と、
サブスクライブされたリソースのステータスが更新されると、リソース作成ユニットによって作成されたサブスクリプションリソースに従って通知メッセージを生成するように構成された生成ユニット３０５であって、その通知メッセージは、サブスクライブされたリソースの更新されたステータスと、割当てユニットによって割り当てられた最新のステータス識別子とを含み、したがって、中間ノードが通知メッセージを受信した後、中間ノードは、メッセージ送信条件が満たされると、その最新のステータス識別子に従ってサブスクライバに、サブスクリプションリソースに従って生成された最新の通知メッセージだけを送信する生成ユニット３０５と、
生成ユニット３０５によって生成された通知メッセージを中間ノードに送信するように構成された送信ユニット３０６とを含む。
【００３４】
オプションとして、判定ユニット３０３が、サブスクライバがサブスクライブされたリソースの最新のステータスを獲得する必要があると判定するように構成されることは、判定ユニット３０３が、サブスクリプションリソース作成要求の中に含められた指示情報に従って、サブスクライバがサブスクライブされたリソースの最新のステータスを獲得する必要があると判定するように構成されることを特に含む。
【００３５】
オプションとして、判定ユニット３０３が、サブスクライバがサブスクライブされたリソースの最新のステータスを獲得する必要があると判定するように構成されることは、判定ユニット３０３が、ローカルで記憶された、サブスクライバと関係するポリシー情報の中に含められた指示情報に従って、サブスクライバがサブスクライブされたリソースの最新のステータスを獲得する必要があると判定するように構成されることを特に含む。
【００３６】
オプションとして、割当てユニット３０４が、判定ユニットが、サブスクライバがサブスクライブされたリソースの最新のステータスを獲得する必要があると判定した後、リソース作成ユニットによって作成されたサブスクリプションリソースに最新のステータス識別子を割り当てるように構成されることであって、その最新のステータス識別子は、サブスクライバがサブスクライブされたリソースの最新のステータスを獲得する必要があることを示すのに使用されることは、その最新のステータス識別子が、グローバルに一意の識別子であり、サブスクリプションリソースを識別するのに使用されることをさらに含む。
【００３７】
オプションとして、割当てユニット３０４が、判定ユニットが、サブスクライバがサブスクライブされたリソースの最新のステータスを獲得する必要があると判定した後、リソース作成ユニットによって作成されたサブスクリプションリソースに最新のステータス識別子を割り当てるように構成されることであって、その最新のステータス識別子は、サブスクライバがサブスクライブされたリソースの最新のステータスを獲得する必要があることを示すのに使用されることは、その最新のステータス識別子が、ホスティング共通サービスエンティティ、ホスティングＣＳＥ上の一意の識別子であり、サブスクリプションリソースを識別するのに使用されることをさらに含む。
【００３８】
オプションとして、割当てユニット３０４が、判定ユニットが、サブスクライバがサブスクライブされたリソースの最新のステータスを獲得する必要があると判定した後、リソース作成ユニットによって作成されたサブスクリプションリソースに最新のステータス識別子を割り当てるように構成されることであって、その最新のステータス識別子は、サブスクライバがサブスクライブされたリソースの最新のステータスを獲得する必要があることを示すのに使用されることは、すべてのサブスクリプションリソースが、同一の最新のステータス識別子を有することをさらに含む。
【００３９】
オプションとして、送信ユニット３０６が、生成ユニットによって生成された通知メッセージを中間ノードに送信するように構成されることは、送信ユニット３０６が、生成ユニット３０５によって生成された通知メッセージをカプセル化してＨＴＴＰメッセージの中に入れ、そのＨＴＴＰメッセージを中間ノードに送信する、または通知メッセージに従ってストアアンドフォワードリソースのリソース表現が生成された後、そのリソース表現をカプセル化してＲｅｓｔｆｕｌメッセージの中に入れ、そのＲｅｓｔｆｕｌメッセージを中間ノードに送信するように構成されることを特に含む。
【００４０】
本発明の実施形態が、サブスクリプション通知を実施するための中間ノードを提供する。図４を参照すると、中間ノード４００は、
通知メッセージを受信するように構成された受信ユニット４０１であって、その通知メッセージは、サブスクライブされたリソースの更新されたステータスを含む受信ユニット４０１と、
受信ユニット４０１によって受信された通知メッセージが最新のステータス識別子を含むと判定するように構成された判定ユニット４０２と、
受信ユニット４０１によって受信された通知メッセージを記憶するように構成された記憶ユニット４０４とを含み、
判定ユニット４０２は、サブスクリプションリソースに従って生成され、ローカルで記憶された通知メッセージのうちで最新の通知メッセージを判定するようにさらに構成され、かつ中間ノード４００は、
メッセージ送信条件が満たされると、最新のステータス識別子に従って最新の通知メッセージだけを送信するように構成された送信ユニット４０５を含む。
【００４１】
オプションとして、中間ノード４００は、ローカルで記憶され、受信ユニット４０１によって受信された通知メッセージと同一のサブスクリプションリソースに従って生成された他の通知メッセージを見出すように構成された探索ユニット４０３をさらに含み、記憶ユニット４０４が、受信ユニット４０１によって受信された通知メッセージを記憶するように構成されることは、特に、記憶ユニット４０４が、探索ユニット４０３によって見出されたそれらの他の通知メッセージを置き換えることによって、受信ユニット４０１によって受信された通知メッセージをローカルで記憶するように構成されることであり、判定ユニット４０２が、サブスクリプションリソースに従って生成され、ローカルで記憶された通知メッセージのうちで最新の通知メッセージを判定するようにさらに構成されることは、特に、判定ユニット４０２が、サブスクリプションリソースに従って生成され、ローカルで記憶された通知メッセージが最新の通知メッセージであると判定するようにさらに構成されることである。
【００４２】
オプションとして、中間ノード４００は、ローカルで記憶され、受信ユニット４０１によって受信された通知メッセージと同一のサブスクリプションリソースによって生成された他の通知メッセージを見出すように構成された探索ユニット４０３をさらに含み、判定ユニット４０２が、サブスクリプションリソースに従って生成され、ローカルで記憶された通知メッセージのうちで最新の通知メッセージを判定するようにさらに構成されることは、特に、判定ユニット４０２が、ローカルで記憶された通知メッセージ、および探索ユニット４０３によって見出されたそれらの他の通知メッセージのうちで最新の通知メッセージを判定するようにさらに構成されることである。
【００４３】
オプションとして、最新のステータス識別子は、グローバルに一意の識別子であり、サブスクリプションリソースを識別するのに使用され、探索ユニット４０３が、ローカルで記憶され、通知メッセージと同一のサブスクリプションリソースに従って生成された他の通知メッセージを見出すように構成されることは、特に、探索ユニット４０３が、ローカルで記憶された他の通知メッセージを見出すように構成されることであって、受信ユニット４０１によって受信された通知メッセージとそれらの他の通知メッセージは、同一の最新のステータス識別子を含むことである。
【００４４】
オプションとして、最新のステータス識別子は、ホスティング共通サービスエンティティ、ホスティングＣＳＥ上の一意の識別子であり、サブスクリプションリソースを識別するのに使用され、探索ユニット４０３が、ローカルで記憶され、通知メッセージと同一のサブスクリプションリソースに従って生成された他の通知メッセージを見出すように構成されることは、特に、探索ユニット４０３が、ローカルで記憶された他の通知メッセージを見出すように構成されることであって、受信ユニット４０１によって受信された通知メッセージとそれらの他の通知メッセージは、同一の最新のステータス識別子と、同一のメッセージ送信源アドレスとを含むことである。
【００４５】
オプションとして、探索ユニット４０３が、ローカルで記憶され、通知メッセージと同一のサブスクリプションリソースによって生成された他の通知メッセージを見出すように構成されることは、特に、探索ユニット４０３が、ローカルで記憶された他の通知メッセージを見出すように構成されることであって、受信ユニット４０１によって受信された通知メッセージとそれらの他の通知メッセージは、同一のサブスクリプションリソース一様リソース識別子（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｉｄｅｎｔｉｆｉｅｒ、ＵＲＩ）を含むことである。
【００４６】
Ｍ２Ｍネットワークにおいて、Ｍ２Ｍサービスプラットフォームは、コンピュータ、またはプロセッサを有するデバイスである。Ｍ２Ｍゲートウェイは、デバイスの点でＭ２Ｍ端末装置と厳密には区別されない。例えば、ゲートウェイとして使用されるデバイスは、端末装置として使用されることも可能である。さらに、モバイル電話、コンピュータ、ＰＤＡ、ノートブックコンピュータ、リモコン、家庭用電化製品、様々な機器およびメータ、ならびにセンサなどの様々な端末デバイスがすべて、Ｍ２Ｍネットワークにおいてゲートウェイまたは端末装置として使用される。前述のモジュール実施形態において、含められたモジュールの分割は、機能論理だけに基づくが、この分割は、対応する機能が実施される限り、そのことに限定されない。さらに、それらの機能モジュールの特定の名前は、それらの機能モジュールを互いに区別するのに使用されることに限られ、本発明の保護範囲を限定するのには使用されない。
【００４７】
本発明の実施形態が、サブスクリプション通知を実施するための方法を提供し、この方法は、サブスクライブされたリソースが展開されるホスティング共通サービスエンティティ、ホスティングＣＳＥに適用される。図５を参照すると、この方法は、以下を含む。すなわち、
【００４８】
ステップ５０１：サブスクライバのサブスクリプションリソース作成要求を受信することであって、そのサブスクリプションリソース作成要求は、サブスクライブされたリソースの一意の識別子を含むこと。
【００４９】
ステップ５０２：サブスクリプションリソース作成要求に従ってサブスクリプションリソースを作成すること。
【００５０】
ステップ５０３：サブスクライバがサブスクライブされたリソースの最新のステータスを獲得する必要があると判定し、作成されたサブスクリプションリソースに最新のステータス識別子を割り当てることであって、その最新のステータス識別子は、サブスクライバがサブスクライブされたリソースの最新のステータスを獲得する必要があることを示すのに使用されること。
【００５１】
特に、サブスクライバがサブスクライブされたリソースの最新のステータスを獲得する必要があると判定することは、サブスクリプションリソース作成要求の中に含められた指示情報に従って、サブスクライバがサブスクライブされたリソースの最新のステータスを獲得する必要があると判定すること、またはローカルで記憶された、サブスクライバと関係するポリシー情報の中に含められた指示情報に従って、サブスクライバがサブスクライブされたリソースの最新のステータスを獲得する必要があると判定することである。
【００５２】
特に、最新のステータス識別子は、グローバルに一意の識別子であり、サブスクリプションリソースを識別するのに使用されることが可能であり、または最新のステータス識別子は、ホスティング共通サービスエンティティ、ホスティングＣＳＥ上の一意の識別子であり、サブスクリプションリソースを識別するのに使用されることが可能であり、またはすべてのサブスクリプションリソースが、同一の最新のステータス識別子を有する。
【００５３】
ステップ５０４：サブスクライブされたリソースのステータスが更新されると、サブスクリプションリソースに従って通知メッセージを生成し、その通知メッセージを中間ノードに送信することであって、その通知メッセージは、サブスクライブされたリソースの更新されたステータスと、最新のステータス識別子とを含み、したがって、中間ノードが通知メッセージを受信した後、中間ノードは、メッセージ送信条件が満たされると、最新のステータス識別子に従ってサブスクライバに、サブスクリプションリソースに従って生成された最新の通知メッセージだけを送信すること。
【００５４】
特に、サブスクリプションリソースに従って通知メッセージを生成し、その通知メッセージを中間ノードに送信することは、サブスクリプションリソースに従って通知メッセージを生成し、その通知メッセージをカプセル化してＨＴＴＰメッセージの中に入れ、そのＨＴＴＰメッセージを中間ノードに送信する、または通知メッセージに従ってストアアンドフォワードリソースのリソース表現が生成された後、そのリソース表現をカプセル化してＲｅｓｔｆｕｌメッセージの中に入れ、そのＲｅｓｔｆｕｌメッセージを中間ノードに送信することである。
【００５５】
本発明の別の実施形態が、サブスクリプション通知を実施するための方法を提供し、この方法は、通知メッセージを転送するための中間ノードに適用される。図６を参照すると、方法は、以下を含む。すなわち、
【００５６】
ステップ６０１：通知メッセージを受信し、その通知メッセージは、サブスクライブされたリソースの更新されたステータスを含み、その通知メッセージが最新のステータス識別子を含むと判定すること。
【００５７】
ステップ６０２：受信された通知メッセージを記憶すること。
【００５８】
ステップ６０３：サブスクリプションリソースに従って生成され、ローカルで記憶された通知メッセージのうちで最新の通知メッセージを判定すること。
【００５９】
オプションとして、ステップ６０２における受信された通知メッセージを記憶することは、ローカルで記憶され、通知メッセージと同一のサブスクリプションリソースによって生成された他の通知メッセージを見出した後、それらの他の通知メッセージを置き換えることによって、その受信された通知メッセージをローカルで記憶することを特に含み、ステップ６０３は、特に、サブスクリプションリソースに従って生成され、ローカルで記憶された通知メッセージが最新の通知メッセージであると判定することである。
【００６０】
オプションとして、ステップ６０３は、特に、ローカルで記憶され、通知メッセージと同一のサブスクリプションリソースに従って生成された他の通知メッセージを見出した後、ローカルで記憶された通知メッセージ、およびそれらの他の通知メッセージのうちで最新の通知メッセージを判定することである。
【００６１】
最新のステータス識別子は、グローバルに一意の識別子であり、サブスクリプションリソースを識別するのに使用され、ローカルで記憶され、通知メッセージと同一のサブスクリプションリソースによって生成された他の通知メッセージを見出すことは、特に、ローカルで記憶されたそれらの他の通知メッセージを見出すことであって、通知メッセージとそれらの他の通知メッセージは、同一の最新のステータス識別子を含むことであり、または最新のステータス識別子は、ホスティング共通サービスエンティティ、ホスティングＣＳＥ上の一意の識別子であり、サブスクリプションリソースを識別するのに使用され、ローカルで記憶され、通知メッセージと同一のサブスクリプションリソースによって生成された他の通知メッセージを見出すことは、特に、ローカルで記憶されたそれらの他の通知メッセージを見出すことであって、通知メッセージとそれらの他の通知メッセージは、同一の最新のステータス識別子と、同一のメッセージ送信源アドレスとを含むことであり、またはローカルで記憶され、通知メッセージと同一のサブスクリプションリソースに従って生成された他の通知メッセージを見出すことは、特に、ローカルで記憶されたそれらの他の通知メッセージを見出すことであって、通知メッセージとそれらの他の通知メッセージは、同一のサブスクリプションリソース一様リソース識別子（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｉｄｅｎｔｉｆｉｅｒ、ＵＲＩ）を含むことである。
【００６２】
ステップ６０４：メッセージ送信条件が満たされると、最新のステータス識別子に従って最新の通知メッセージだけを送信すること。
【００６３】
メッセージ送信条件が満たされると、最新の通知メッセージだけを送信した後、方法は、サブスクリプションリソースに従って生成され、ローカルで記憶された通知メッセージを削除することをさらに含む。
【００６４】
図７を参照すると、本発明の実施形態が、サブスクリプション通知を実施するためのシグナリングの流れ図を提供する。
【００６５】
この実施形態において、Ａｐｐ１が、Ａｐｐ１のローカルＣＳＥに登録する。ＣＳＥは、Ａｐｐ１のための登録リソースを作成し、その登録リソースにＩＤを割り当て、次に、その登録リソースのＵＲＩを生成し、その登録リソースのＵＲＩをＡｐｐ１に戻す。登録リソースのＩＤは、グローバルに一意の文字列、例えば、ａｐｐｌｉｃａｔｉｏｎ１であり、登録リソースのＵＲＩは、登録リソースのＩＤと、ローカルＣＳＥのＵＲＩとを含む。したがって、登録リソースのＵＲＩもまた、グローバルに一意の文字列であり、登録リソースのＩＤと登録リソースのＵＲＩはともに、登録リソースの一意の識別子である。例えば、この実施形態において、Ａｐｐ１のローカルＣＳＥのＵＲＩが、ｈｔｔｐ：／／ｅｘａｍｐｌｅ．ｃｏｍ／ｇａｔｅｗａｙ１である場合、登録リソースのＵＲＩは、ｈｔｔｐ：／／ｅｘａｍｐｌｅ．ｃｏｍ／ｇａｔｅｗａｙ１／ａｐｐｌｉｃａｔｉｏｎ１である。さらに、Ａｐｐ１は、登録プロセスにおいて、または登録が終了した後に登録リソースのアクセス許可を設定して、Ａｐｐ２を含む他のユーザが、その登録リソースにアクセスし、サブスクライブすることを可能にする。本明細書では、ローカルＣＳＥは、Ａｐｐ１のホスティングＣＳＥと呼ばれる。したがって、Ａｐｐ２がホスティングＣＳＥにアクセスすると、Ａｐｐ２は、ホスティングＣＳＥ上でＡｐｐ１の登録リソースを見出して、その登録リソースの一意の識別子を獲得した後、その登録リソースにサブスクライブすることが可能である。さらに、サブスクライバＡｐｐ２は、毎回、その登録リソースの最新のステータスを受信することを望む。特定の実施プロセスは、以下のとおりである。すなわち、
【００６６】
ステップ７０１：サブスクライバＡｐｐ２が、Ａｐｐ２が登録されたゲートウェイＣＳＥ２にサブスクリプションリソース作成要求を送信することであって、そのサブスクリプションリソース作成要求は、サブスクライブされたリソースの一意の識別子と、サブスクライバＡｐｐ２の一意の識別子とを含む。
【００６７】
この実施形態において、サブスクライブされたリソースは、ホスティングＣＳＥ上のＡｐｐ１の登録リソースでもある。したがって、このサブスクライブされたリソースの一意の識別子は、ホスティングＣＳＥ上のＡｐｐ１の登録リソースの一意の識別子でもある。
【００６８】
オプションとして、サブスクリプションリソース作成要求は、サブスクリプション条件をさらに含む。
【００６９】
オプションとして、Ａｐｐ２は、サブスクライバがサブスクライブされたリソースの最新のステータスを獲得する必要があることを示す指示情報をサブスクリプションリソース作成要求に追加する、またはＡｐｐ２は、前もってＭ２Ｍサービスプロバイダの設定システムにアクセスし、指示情報を構成ポリシー情報に追加する、または合意に署名する際、Ａｐｐ２とＭ２Ｍサービスプロバイダが、Ａｐｐ２がサブスクライブされたリソースの最新のステータス情報だけを獲得することに合意し、Ｍ２Ｍサービスプロバイダが、指示情報を構成ポリシー情報に追加し、またはサブスクライブされたリソースに関して、生成された最新のデータ、例えば、スマートホームにおける電化製品のスイッチのステータスを表示するためのデータだけが意味がある。このようにして、サブスクライブされたリソースが位置するホスティングＣＳＥ、またはＭ２Ｍサービスプロバイダが、Ａｐｐ２がサブスクライブされたリソースの最新のステータスを獲得する必要があることを示す指示情報を構成ポリシー情報に追加することが可能であり、その構成ポリシー情報は、ホスティングＣＳＥの中に記憶される。
【００７０】
サブスクライバがサブスクライブされたリソースの最新のステータスを獲得する必要があることを示す指示情報をサブスクリプションリソース作成要求または構成ポリシー情報に追加することは、特に、パラメータ、ＲｅｐｅａｔＣｈｅｃｋをサブスクリプションリソース作成要求または構成ポリシー情報に追加することであって、そのパラメータの値は、サブスクライバがサブスクライブされたリソースの最新のステータスを獲得する必要があることを示すための指定された有効な値であり、そのパラメータは、ブール型、整数型、文字列型、または他の型であることが可能である。例えば、この実施形態において、追加されるパラメータ、ＲｅｐｅａｔＣｈｅｃｋは、ブール型であり、そのパラメータの値が真である場合、そのことは、サブスクライバがサブスクライブされたリソースの最新のステータスだけを獲得することを示す。
【００７１】
ステップ７０２：サブスクリプションリソース作成要求を受信した後、ＣＳＥ２が、そのサブスクリプションリソース作成要求を、Ａｐｐ１の登録リソース（すなわち、サブスクライブされたリソース）を有するホスティングＣＳＥに転送する。特に、サブスクリプションリソース作成要求の中で伝送されるサブスクライブされたリソースの一意の識別子に従って、ＣＳＥ２が、そのサブスクリプションリソース作成要求を、そのサブスクライブされたリソースを有するホスティングＣＳＥに転送する。
【００７２】
ステップ７０３：ホスティングＣＳＥが、サブスクリプションリソース作成要求を受信した後、サブスクリプションリソースを作成し、サブスクライバがサブスクライブされたリソースの最新のステータスを獲得する必要があると判定した後、そのサブスクリプションリソースに最新のステータス識別子を割り当てる。ホスティングＣＳＥは、サブスクリプションリソースにサブスクリプションリソースＩＤを割り当て、サブスクリプションリソースＵＲＩを生成し、サブスクリプションリソースとサブスクライブされたリソースの間の関連付け関係を記憶する。
【００７３】
割り当てられるサブスクリプションリソースＩＤは、ホスティングＣＳＥにおける一意の文字列、例えば、ｓｕｂｓｃｒｉｐｔｉｏｎＢである。サブスクリプションリソースＵＲＩは、サブスクライブされたリソースＵＲＩと、サブスクリプションリソースＩＤとを含む。サブスクライブされたリソースＵＲＩは、グローバルに一意の文字列であるため、サブスクリプションリソースＵＲＩもまた、グローバルに一意の文字列である。例えば、この実施形態において、サブスクリプションリソースＵＲＩの値は、ｈｔｔｐ：／／ｅｘａｍｐｌｅ．ｃｏｍ／ｇａｔｅｗａｙ１／ａｐｐｌｉｃａｔｉｏｎ１／ｓｕｂｓｃｒｉｐｔｉｏｎＢである。特に、作成されたサブスクリプションリソースｓｕｂｓｃｒｉｐｔｉｏｎＢは、ｓｕｂｓｃｒｉｐｔｉｏｎＢとａｐｐｌｉｃａｔｉｏｎ１の間の関連付け関係を記憶するために、サブスクライブされたリソースａｐｐｌｉｃａｔｉｏｎ１のリソースツリーの子ノードとして使用される。作成されたサブスクリプションリソースは、サブスクライブされたリソースの一意の識別子と、サブスクリプションリソース作成要求の中で伝送されるＡｐｐ２の一意の識別子とを含む。オプションとして、サブスクリプションリソース作成要求がサブスクリプション条件を含む場合、サブスクリプションリソースは、そのサブスクリプション条件をさらに含む。
【００７４】
特に、ホスティングＣＳＥが、サブスクライバがサブスクライブされたリソースの最新のステータスを獲得する必要があると判定することは、特に、サブスクリプションリソース作成要求の中に含められた指示情報に従って、Ａｐｐ２がサブスクライブされたリソースの最新のステータスを獲得する必要があると判定すること、またはローカルで記憶された、Ａｐｐ２と関係するポリシー情報の中に含められた指示情報に従って、Ａｐｐ２がサブスクライブされたリソースの最新のステータスを獲得する必要があると判定することである。特に、ホスティングＣＳＥは、サブスクリプションリソース作成要求またはポリシー情報がパラメータ、ＲｅｐｅａｔＣｈｅｃｋを有するかどうか、およびそのパラメータが指定された有効な値を有するかどうかを確認することによって、Ａｐｐ２がサブスクライブされたリソースの最新のステータスを獲得する必要があると判定する。例えば、この実施形態において、ホスティングＣＳＥは、伝送されたブールパラメータ、ＲｅｐｅａｔＣｈｅｃｋ、およびその値、真を判定することによって、Ａｐｐ２がサブスクライブされたリソースの最新のステータスを獲得する必要があると判定する。
【００７５】
この実施形態の第１の例において、最新のステータス識別子は、グローバルに一意の識別子であり、サブスクリプションリソースを識別するのに使用される。特に、グローバルに一意の最新のステータス識別子は、サブスクリプションリソースＵＲＩであることが可能であり、または他の文字列であることが可能である。
【００７６】
この実施形態の第２の例において、最新のステータス識別子は、ホスティング共通サービスエンティティ、ホスティングＣＳＥ上の一意の識別子であり、サブスクリプションリソースを識別するのに使用される。特に、一意の最新のステータス識別子は、サブスクリプションリソースＩＤであることが可能であり、または他の文字列であることが可能である。
【００７７】
この実施形態の第３の例において、すべてのサブスクリプションリソースは、同一の最新のステータス識別子を有する。特に、最新のステータス識別子は、指定された文字列で有る。
【００７８】
サブスクリプションリソースに最新のステータス識別子を割り当てた後、ホスティングＣＳＥは、その最新のステータス識別子を、サブスクリプションリソースの属性として使用すること、またはサブスクリプションリソースとその最新のステータス識別子の間の関連付け関係を記憶するテーブルを作成することが可能である。
【００７９】
ステップ７０４：Ａｐｐ１のステータスが更新されると、Ａｐｐ１が、ステータス更新要求をホスティングＣＳＥに送信する。
【００８０】
特に、Ａｐｐ１のステータス更新は、アプリケーション登録解除と、Ａｐｐ１属性の変化とを含む。特に、ステータス更新要求は、ホスティングＣＳＥによってＡｐｐ１の登録リソースに割り当てられた登録リソースＵＲＩを含む。本発明のこの実施形態において、登録リソースＵＲＩは、サブスクライブされたリソースＵＲＩである。
【００８１】
ステップ７０５：ホスティングＣＳＥが、ステータス更新要求を受信した後、サブスクライブされたリソースのステータスを更新し、サブスクリプションリソースに従って第１の通知メッセージを生成し、第１の通知メッセージを中間ノードに送信し、第１の通知メッセージは、サブスクライブされたリソースの更新されたステータスと、最新のステータス識別子とを含む。
【００８２】
特に、ステップ７０５は、ステータス更新要求を受信した後、ホスティングＣＳＥが、ステータス更新要求の中で伝送されたサブスクライブされたリソースＵＲＩに従ってサブスクライブされたリソースのステータスを更新することを含む。さらに、ホスティングＣＳＥは、サブスクライブされたリソースとサブスクリプションリソースの間の対応に従ってサブスクリプションリソースを見出し、サブスクリプションリソースが最新のステータス識別子を含むと判定した後、サブスクリプションリソースに従って第１の通知メッセージを生成し、第１の通知メッセージは、送信源アドレス（すなわち、ホスティングＣＳＥ  ＵＲＩ）と、受信者アドレス（すなわち、Ａｐｐ２  ＵＲＩ）と、サブスクリプションリソースＵＲＩとを含み、第１の通知メッセージは、サブスクライブされたリソースの更新されたステータスと、最新のステータス識別子とを含む。特に、第１の通知メッセージは、プリミティブフォーマットのメッセージであることが可能であり、送信源アドレス、ホスティングＣＳＥ  ＵＲＩ、受信者アドレス、Ａｐｐ２  ＵＲＩ、および最新のステータス識別子は、第１の通知メッセージの属性部分の中に含められ、サブスクリプションリソースＵＲＩ、およびサブスクライブされたリソースの更新されたステータスは、第１の通知メッセージのリソース部分の中に含められる。オプションとして、第１の通知メッセージのリソース部分は、更新されたサブスクライブされたリソースを含むことが可能である。オプションとして、サブスクリプションリソースが、サブスクリプション条件を含む場合、第１の通知メッセージは、サブスクライブされたリソースのステータス変化がサブスクリプション条件を満たすと判定された後に限って生成される。受信者アドレスは、サブスクリプションリソースのＣｏｎｔａｃｔＵＲＩに従って獲得される。第１の通知メッセージを生成し、ルーティングテーブルにクエリを行って、中間ノードである次のホップを獲得した後、ホスティングＣＳＥは、その中間ノードに第１の通知メッセージを送信する。
【００８３】
ステップ７０５において、中間ノードに第１の通知メッセージを送信する前に、ホスティングＣＳＥが、ローカルで記憶された送信構成情報に従って第１の通知メッセージの配信様態を判定する。特に、以下の２つの配信様態が使用される。様態１において、第１の通知メッセージが、配信のためにカプセル化されてハイパーテキスト転送プロトコル（Ｈｙｐｅｒｔｅｘｔ  ｔｒａｎｓｆｅｒ  ｐｒｏｔｏｃｏｌ、ＨＴＴＰ）メッセージの中に入れられる。例えば、第１の通知メッセージは、ＨＴＴＰ  ＰＯＳＴを使用することによって送信される。好ましくは、プリミティブフォーマットの第１の通知メッセージの属性部分は、カプセル化されてＨＴＴＰメッセージヘッダの中に入れられ、第１の通知メッセージのリソース部分は、カプセル化されてＨＴＴＰメッセージ本文の中に入れられる。様態２において、第１の通知メッセージに従ってストアアンドフォワードリソースのリソース表現が生成された後、ストアアンドフォワードリソースのリソース表現が、配信のためにカプセル化されてＲｅｓｔｆｕｌメッセージの中に入れられる。例えば、＜ｄｅｌｉｖｅｒｙ＞というリソース表現が生成され、第１の通知メッセージが、＜ｄｅｌｉｖｅｒｙ＞というリソース表現のデータ属性値として使用され、次に、＜ｄｅｌｉｖｅｒｙ＞というリソース表現が、配信のためにカプセル化されてＲｅｓｔｆｕｌ  Ｃｒｅａｔｅメッセージの中に入れられる。
【００８４】
ステップ７０６：第１の通知メッセージを受信し、第１の通知メッセージが最新のステータス識別子を含むと判定した後、中間ノードが、第１の通知メッセージと同一のサブスクリプションリソースに従って生成された他の通知メッセージがローカルで記憶されているかどうかを確認する。この実施形態において、これが、Ａｐｐ１がサブスクライブされた後の最初のステータス更新であるため、第１の通知メッセージと同一のサブスクリプションリソースに従って生成された他の通知メッセージは全く、ローカルで記憶されておらず、中間ノードは、第１の通知メッセージをローカルで記憶する。
【００８５】
この実施形態の前述の第１の例において、最新のステータス識別子は、グローバルに一意の識別子であり、サブスクリプションリソースを識別するのに使用され、中間ノードが、第１の通知メッセージと同一のサブスクリプションリソースに従って生成された他の通知メッセージがローカルで記憶されているかどうかを確認することは、特に、中間ノードが、第１の通知メッセージと同一の最新のステータス識別子を含む他の通知メッセージを記憶しているかどうかを判定することである。
【００８６】
この実施形態の前述の第２の例において、最新のステータス識別子は、ホスティング共通サービスエンティティ、ホスティングＣＳＥ上の一意の識別子であり、サブスクリプションリソースを識別するのに使用され、中間ノードが、第１の通知メッセージと同一のサブスクリプションリソースに従って生成された他の通知メッセージがローカルで記憶されているかどうかを確認することは、特に、中間ノードが、第１の通知メッセージと同一の最新のステータス識別子および同一のメッセージ送信源アドレスを含む他の通知メッセージを記憶しているかどうかを判定することである。
【００８７】
この実施形態の前述の第３の例において、すべてのサブスクリプションリソースは、同一の最新のステータス識別子を有し、中間ノードが、第１の通知メッセージと同一のサブスクリプションリソースに従って生成された他の通知メッセージがローカルで記憶されているかどうかを確認することは、特に、中間ノードが、第１の通知メッセージと同一のサブスクリプションリソースＵＲＩを含む他の通知メッセージを記憶しているかどうかを判定することである。さらに、この実施形態の第１の例または第２の例において、第１の通知メッセージと同一のサブスクリプションリソースに従って生成された他の通知メッセージがローカルで記憶されているかどうかを確認する第３の様態が、使用されることも可能である。
【００８８】
この実施形態の第１の例において、ステップ７０６において、第１の通知メッセージが最新のステータス識別子を含むと判定された後、それらの他の通知メッセージのそれぞれに関して、メッセージのコンテンツが解析されて最新のステータス識別子が獲得される必要があり、判定することが１回、すなわち、得られた最新のステータス識別子が、第１の通知メッセージの中に含められた最新のステータス識別子と同一であるかどうかを判定することが実行され、この実施形態の第２の例において、ステップ７０６において、第１の通知メッセージが最新のステータス識別子を含むと判定された後、第１の通知メッセージの中に含められたメッセージ送信源アドレスが、さらに獲得される必要があり、それらの他の通知メッセージのそれぞれに関して、メッセージのコンテンツが解析されて最新のステータス識別子が獲得される必要があり、判定することが２回、すなわち、得られた最新のステータス識別子が、第１の通知メッセージの中に含められた最新のステータス識別子と同一であるかどうかを判定すること、および得られたメッセージ送信源アドレスが、第１の通知メッセージの中に含められたメッセージ送信源アドレスと同一であるかどうかを判定することが実行され、この実施形態の第３の例において、ステップ７０６において、第１の通知メッセージが最新のステータス識別子を含むと判定された後、第１の通知メッセージの中に含められたサブスクリプションリソースＵＲＩが、さらに獲得される必要があり、それらの他の通知メッセージのそれぞれに関して、メッセージのコンテンツが解析されてサブスクリプションリソースＵＲＩが獲得される必要があり、判定することが１回、すなわち、得られたサブスクリプションリソースＵＲＩが、第１の通知メッセージの中に含められたサブスクリプションリソースＵＲＩと同一であるかどうかを判定することが実行される。したがって、比較において、この実施形態の第１の例における処理効率が最高である。
【００８９】
ステップ７０５において第１の通知メッセージを配信するのに様態１が使用される場合、第１の通知メッセージと同一のサブスクリプションリソースに従って生成された他の通知メッセージがローカルで記憶されているかどうかを確認することは、特に、第１の通知メッセージと同一のサブスクリプションリソースに従って生成された他の通知メッセージがバッファ待ち行列の中に記憶されているかどうかを確認することであり、第１の通知メッセージをローカルで記憶することは、特に、第１の通知メッセージを中間ノードのバッファ待ち行列の中に記憶することである。中間ノードは、複数のバッファ待ち行列を含み、各バッファ待ち行列は、次のホップＣＳＥが同一である通知メッセージを記憶するのに使用され、中間ノードは、中間ノードのストアアンドフォワードポリシーに従ってバッファ待ち行列に関して関連付けられたタイマを設定し、バッファ待ち行列の中に通知メッセージを記憶する際、その通知メッセージがバッファ待ち行列のうちで最初の通知メッセージである場合、中間ノードは、その通知メッセージを記憶した後、バッファ待ち行列のタイマを開始する。
【００９０】
ステップ７０５において第１の通知メッセージを配信するのに様態２が使用される場合、第１の通知メッセージと同一のサブスクリプションリソースに従って生成された他の通知メッセージがローカルで記憶されているかどうかを確認することは、特に、第１の通知メッセージと同一のサブスクリプションリソースに従って生成された他の通知メッセージがストアアンドフォワードリソースの中に記憶されているかどうかを確認することであり、第１の通知メッセージをローカルで記憶することは、特に、中間ノードにおいてストアアンドフォワードリソースを作成し、そのストアアンドフォワードリソースの属性の中に第１の通知メッセージを記憶すること、例えば、＜ｄｅｌｉｖｅｒｙ＞リソースを作成し、＜ｄｅｌｉｖｅｒｙ＞リソースのデータ属性の中に第１の通知メッセージを記憶することである。中間ノードは、ストアアンドフォワードポリシーに従って、次のホップＣＳＥが同一である通知メッセージに関して一様なタイマを設定し、そのタイマと、通知メッセージを含むストアアンドフォワードリソースの間の関連付け関係をＣＳＥの中に記録し、毎回、ストアアンドフォワードリソースを作成する際に、ストアアンドフォワードリソースの中に含められた通知メッセージの次のホップがＣＳＥであると判定した後、そのタイマとストアアンドフォワードリソースの間の関連付け関係をレコード情報に追加し、そのタイマとストアアンドフォワードリソースの間の関連付け関係をレコード情報に追加する際、ストアアンドフォワードリソースがそのレコード情報のうちで最初のものである場合、そのタイマを開始する。
【００９１】
ステップ７０７：Ａｐｐ１のステータスが再び更新されると、Ａｐｐ１が、ステータス更新要求をホスティングＣＳＥに送信する。
【００９２】
ステップ７０７の実施に関して、ステップ７０４の詳細な説明が参照される。
【００９３】
ステップ７０８：ホスティングＣＳＥが、ステータス更新要求を受信した後、サブスクライブされたリソースのステータスを更新し、サブスクリプションリソースに従って第２の通知メッセージを生成し、第２の通知メッセージを中間ノードに送信することであって、第２の通知メッセージは、サブスクライブされたリソースの更新されたステータスと、最新のステータス識別子とを含む。
【００９４】
ステップ７０８においてサブスクライブされたリソースのステータスを更新することについての説明に関して、ステップ７０５が参照される。ホスティングＣＳＥによる、サブスクリプションリソースに従って第２の通知メッセージを生成し、サブスクライブされたリソースの更新されたステータスおよび最新のステータス識別子を第２の通知メッセージに追加することについての説明は、ステップ７０５における第１の通知メッセージの動作様態と同一である。
【００９５】
ホスティングＣＳＥによる第２の通知メッセージを送信する様態は、ステップ７０５における第１の通知メッセージを送信する様態と同一である。
【００９６】
ステップ７０９：第２の通知メッセージを受信し、第２の通知メッセージが最新のステータス識別子を含むと判定した後、中間ノードが、第２の通知メッセージと同一のサブスクリプションリソースに従って生成された他の通知メッセージがローカルで記憶されているかどうかを確認する。この実施形態において、第１の通知メッセージが、それまでに記憶されている。中間ノードは、第１の通知メッセージと第２の通知メッセージが同一のサブスクリプションリソースに従って生成されていると判定した後、第１の通知メッセージを第２の通知メッセージで置き換える。
【００９７】
中間ノードが、第２の通知メッセージと同一のサブスクリプションリソースに従って生成された他の通知メッセージがローカルで記憶されているかどうかを確認する実施様態は、ステップ７０６における第１の通知メッセージと同一のサブスクリプションリソースに従って生成された他の通知メッセージがローカルで記憶されているかどうかを確認する実施様態と同一である。
【００９８】
ステップ７０８が、第２の通知メッセージを配信するのにステップ７０５において様態１を使用する場合、第１の通知メッセージを第２の通知メッセージで置き換えることは、特に、バッファ待ち行列の中の第１の通知メッセージを第２の通知メッセージで置き換えることであり、ステップ７０８が、第２の通知メッセージを配信するのにステップ７０８において様態２を使用する場合、第１の通知メッセージを第２の通知メッセージで置き換えることは、特に、ストアアンドフォワードリソースの中の第１の通知メッセージを第２の通知メッセージで置き換えることである。
【００９９】
ステップ７１０：メッセージ送信条件が満たされると、中間ノードが、ローカルで記憶された通知メッセージを次のホップＣＳＥに送信し、ローカルで記憶された通知メッセージは、この実施形態において第２の通知メッセージであり、中間ノードは、第２の通知メッセージをＣＳＥ２に送信する。
【０１００】
オプションとして、ステップ７１０は、ステップ７０６の後に実行され、すなわち、メッセージ送信条件は、ステップ７０６の後に受信されたサブスクリプションリソースに従って生成された他の通知メッセージが存在しない場合に満たされ、ローカルで記憶された通知メッセージは、第１の通知メッセージであり、中間ノードは、第１の通知メッセージをＣＳＥ２に送信する。
【０１０１】
オプションとして、ステップ７１０の前に、中間ノードが、サブスクリプションリソースに従って生成された他の１つまたは複数の通知メッセージを再び受信し、それらの他の通知メッセージのうちの最後のものが、ローカルで記憶され、中間ノードは、それらの他の通知メッセージのうちのその最後のものをＣＳＥ２に送信する。
【０１０２】
ステップ７０５が、第１の通知メッセージを配信するのに様態１を使用する場合、ステップ７１０は、特に、バッファ待ち行列に関連付けられたタイマが満了すると、バッファ待ち行列の中に記憶された通知メッセージを次のホップＣＳＥに送信し、バッファ待ち行列に関連付けられたタイマをクリアし、バッファ待ち行列の中の通知メッセージを削除することである。
【０１０３】
ステップ７０５が、第１の通知メッセージを配信するのにステップ２を使用する場合、ステップ７１０は、特に、ストアアンドフォワードリソースに関連付けられたタイマが満了すると、レコード情報の中に記録されたすべてのストアアンドフォワードリソースの中に含められた通知メッセージを次のホップＣＳＥに送信し、ストアアンドフォワードリソースに関連付けられたタイマをクリアし、ストアアンドフォワードリソースを削除することである。
【０１０４】
オプションとして、中間ノードは、第２の中間ノードを介して第２の通知メッセージをＣＳＥ２に送信し、第２の中間ノードは、本明細書でさらに説明されない、中間ノードと同一の動作を実行する。
【０１０５】
ステップ７１１：ＣＳＥ２が、第２の通知メッセージを受信した後、第２の通知メッセージをＡｐｐ２に送信する。
【０１０６】
特に、ゲートウェイＣＳＥ２は、第２の通知メッセージの受信者アドレスに従って、Ａｐｐ２がゲートウェイに登録されていると判定し、第２の通知メッセージをＡｐｐ２に送信する。
【０１０７】
この実施形態において、サブスクライバがサブスクライブされたリソースの最新のステータスを獲得する必要があると判定した後、ホスティングＣＳＥは、最新のステータス識別子を含む通知メッセージを中間ノードに送信して、中間ノードが、受信された通知メッセージが最新のステータス識別子を含むと判定した後、中間ノードが、通知メッセージと同一のサブスクリプションリソースに従って生成され、ローカルで記憶された既存の通知メッセージを置き換えるようにし、このことは、中間ノードが、サブスクリプションリソースに従って生成された最新の通知メッセージだけを転送することを確実にすることができる。このようにして、サブスクライバが、１つの接続を介して、同一のサブスクリプションリソースに従って送信された複数の通知メッセージを受信することが回避され、したがって、ネットワークリソースおよびコンピューティングリソースが低減される。
【０１０８】
図８を参照すると、本発明の別の実施形態が、サブスクリプション通知を実施するためのシグナリングの流れ図を提供する。
【０１０９】
この実施形態において、Ａｐｐ１は、Ａｐｐ１のローカルＣＳＥに登録する。登録リソースのアクセス許可を設定するプロセスに関しては、図７に対応する実施形態の詳細な説明が参照される。Ａｐｐ２がホスティングＣＳＥにアクセスすると、Ａｐｐ２は、ホスティングＣＳＥ上のＡｐｐ１の登録リソースを見出し、その登録リソースの一意の識別子を獲得した後、その登録リソースにサブスクライブすることが可能である。さらに、サブスクライバＡｐｐ２は、毎回、その登録リソースの最新のステータスを受信することを望む。特定の実施プロセスは、以下のとおりである。すなわち、
【０１１０】
ステップ８０１からステップ８０５：図７に対応する実施形態のステップ７０１からステップ７０５を参照されたい。
【０１１１】
ステップ８０６：中間ノードが、第１の通知メッセージをローカルで記憶する。
【０１１２】
特に、第１の通知メッセージをローカルで記憶することの実施様態に関しては、図７に対応する実施形態のステップ７０６における第１の通知メッセージをローカルで記憶することについての説明を参照されたい。
【０１１３】
ステップ８０７およびステップ８０８：図７に対応する実施形態のステップ７０７およびステップ７０８を参照されたい。
【０１１４】
ステップ８０９：中間ノードが、第２の通知メッセージをローカルで記憶する。
【０１１５】
特に、第２の通知メッセージをローカルで記憶することの実施様態に関しては、図７に対応する実施形態のステップ７０６における第１の通知メッセージをローカルで記憶することについての説明を参照されたい。
【０１１６】
ステップ８１０：メッセージ送信条件が満たされると、ローカルで記憶された第１の通知メッセージが最新のステータス識別子を含むと判定した後、中間ノードが、第１の通知メッセージと同一のサブスクリプションリソースに従って生成された他の通知メッセージがローカルで記憶されているかどうかを確認し、それらの他の通知メッセージおよび第１の通知メッセージのうちで最新の通知メッセージを次のホップＣＳＥに送信する。この実施形態において、第１の通知メッセージおよび第２の通知メッセージは、ローカルで記憶される。第２の通知メッセージが最新の通知メッセージであると判定した後、中間ノードは、第２の通知メッセージをＣＳＥ２に送信する。
【０１１７】
オプションとして、ステップ８１０は、ステップ８０６の後に実行され、すなわち、メッセージ送信条件は、サブスクリプションリソースに従って生成された他の通知メッセージがステップ８０６の後に受信されない場合に満たされ、第１の通知メッセージだけがローカルで記憶され、中間ノードは、第１の通知メッセージをＣＳＥ２に送信する。
【０１１８】
オプションとして、ステップ８１０より前に、中間ノードが、サブスクリプションリソースに従って生成された他の１つまたは複数の通知メッセージを再び受信し、第１の通知メッセージ、第２の通知メッセージ、およびそれらの他の通知メッセージがローカルで記憶され、中間ノードは、第１の通知メッセージ、第２の通知メッセージ、およびそれらの他の通知メッセージのうちで最新の通知メッセージをＣＳＥ２に送信する。
【０１１９】
ステップ８０５が、第１の通知メッセージを配信するのに様態１を使用する場合、メッセージ送信条件が満たされることは、特に、バッファ待ち行列に関連付けられたタイマが満了することである。
【０１２０】
ステップ８０５が、第１の通知メッセージを配信するのに様態２を使用する場合、メッセージ送信条件が満たされることは、特に、ストアアンドフォワードリソースに関連付けられたタイマが満了することである。
【０１２１】
特に、第１の通知メッセージと同一のサブスクリプションリソースに従って生成された他の通知メッセージがローカルで記憶されているかどうかを確認することの実施に関しては、図７に対応する実施形態のステップ７０６における動作についての説明を参照されたい。
【０１２２】
特に、通知メッセージは、タイムスタンプ情報を含む。それらの他の通知メッセージおよび第１の通知メッセージのうちで最新の通知メッセージを次のホップＣＳＥに送信することは、特に、それらの他の通知メッセージおよび第１の通知メッセージの中に含められたタイムスタンプ情報に従ってそれらの他の通知メッセージおよび第１の通知メッセージのうちで最新の通知メッセージを次のホップＣＳＥに送信することである。
【０１２３】
特に、ステップ８１０において、それらの他の通知メッセージおよび第１の通知メッセージのうちで最新の通知メッセージを次のホップＣＳＥに送信した後、ステップ８１０は、中間ノードが、ローカルで記憶されたそれらの他の通知メッセージ、および第１の通知メッセージを削除することをさらに含む。
【０１２４】
オプションとして、中間ノードは、第２の中間ノードを介して第２の通知メッセージをＣＳＥ２に送信する。第２の中間ノードは、本明細書でさらに説明されない、中間ノードと同一の動作を実行する。
【０１２５】
ステップ８１１：図７に対応する実施形態のステップ７１１を参照されたい。
【０１２６】
この実施形態において、サブスクライバがサブスクライブされたリソースの最新のステータスを獲得する必要があると判定した後、ホスティングＣＳＥは、最新のステータス識別子を含む通知メッセージを中間ノードに送信し、中間ノードが、その通知メッセージを記憶し、その通知メッセージを送信する必要がある場合、その通知メッセージが最新のステータス識別子を含むと判定した後、中間ノードは、通知メッセージと同一のサブスクリプションリソースに従って生成され、ローカルで記憶された他の通知メッセージを見出し、その通知メッセージおよびそれらの他の通知メッセージのうちで最新の通知メッセージを配信し、このことは、中間ノードが、サブスクリプションリソースに従って生成された最新の通知だけを転送することを確実にすることができる。このようにして、サブスクライバが、１つの接続を介して、同一のサブスクリプションリソースに従って送信された複数の通知を受信することが回避され、したがって、ネットワークリソースおよびコンピューティングリソースが低減される。
【０１２７】
本発明の実施形態におけるホスティングＣＳＥは、コンピュータシステムに基づいて実施される。図５、図７、および図８に示される方法はすべて、コンピュータシステムに基づくホスティングＣＳＥによって実施される。図９は、コンピュータシステムに基づいて実施されたホスティングＣＳＥの実施形態を示す。この実施形態におけるホスティングＣＳＥは、プロセッサ９０１と、メモリ９０２と、通信インターフェース９０３とを含む。
【０１２８】
通信インターフェース９０３は、サブスクライバおよび中間ノードと通信するように構成される。ホスティングＣＳＥとサブスクライバと中間ノードの間で交換されるメッセージはすべて、通信インターフェース９０３を介して送信され、受信される。特に、通信インターフェース９０３は、サブスクライバのサブスクリプションリソース作成要求を受信するように、かつ中間ノードに通知メッセージを送信するように構成され、メモリ９０２は、プログラム命令を記憶するように構成され、プロセッサ９０１は、通信インターフェース９０３がサブスクライバからサブスクリプションリソース作成要求を受信した後、メモリ９０２の中に記憶されたプログラム命令を呼び出して、以下の動作、すなわち、サブスクリプションリソース作成要求に従ってサブスクリプションリソースを作成すること、サブスクライバがサブスクライブされたリソースの最新のステータスを獲得する必要があると判定した後、作成されたサブスクリプションリソースに最新のステータス識別子を割り当てることであって、その最新のステータス識別子は、サブスクライバがサブスクライブされたリソースの最新のステータスを獲得する必要があることを示すのに使用されること、サブスクライブされたリソースのステータスが更新されると、サブスクリプションリソースに従って通知メッセージを生成し、その通知メッセージを中間ノードに送信することであって、その通知メッセージは、サブスクライブされたリソースの更新されたステータスと、最新のステータス識別子とを含み、したがって、中間ノードがその通知メッセージを受信した後、中間ノードは、メッセージ送信条件が満たされると、最新のステータス識別子に従ってサブスクライバに、サブスクリプションリソースに従って生成された最新の通知メッセージだけを送信することを実行するように構成される。
【０１２９】
プロセッサ９０１は、中央処理装置（ｃｅｎｔｒａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ、ＣＰＵ）、特定用途向け集積回路（ａｐｐｌｉｃａｔｉｏｎ−ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ、ＡＳＩＣ）などである。この実施形態におけるホスティングＣＳＥは、バス９０４を含む。プロセッサ９０１、メモリ９０２、および通信インターフェース９０３は、バス９０４を使用することによって互いに接続され、通信することが可能である。メモリ９０２は、ランダムアクセスメモリ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ、ＲＡＭ）、読取り専用メモリ（ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ、ＲＯＭ）、および磁気ディスクなどの記憶機能を有するエンティティを含む。
【０１３０】
プロセッサ９０１は、方法実施形態において図５、図７、および図８において説明され、本発明のこの実施形態において本明細書でさらに説明されないホスティングＣＳＥのステップを実行するようにさらに構成される。
【０１３１】
本発明の実施形態における中間ノードは、コンピュータシステムに基づいて実施され得る。図６、図７、および図８において示される方法はすべて、コンピュータシステムに基づく中間ノードによって実施され得る。図１０は、コンピュータシステムに基づいて実施された中間ノードの実施形態を示す。この実施形態における中間ノードは、プロセッサ１００１と、メモリ１００２と、通信インターフェース１００３とを含む。
【０１３２】
通信インターフェース１００３は、前のホップＣＳＥと通信するように構成される。中間ノードと前のホップＣＳＥの間で交換されるメッセージはすべて、通信インターフェース１００３を介して送信され、受信される。特に、通信インターフェース１００３は、前のホップＣＳＥから通知メッセージを受信するように構成され、メモリ１００２は、プログラム命令を記憶するように構成され、プロセッサ１００１は、通信インターフェース１００３が前のホップＣＳＥから通知メッセージを受信した後、メモリ１００２の中に記憶されたプログラム命令を呼び出して、以下の動作、すなわち、通知メッセージが最新のステータス識別子を含むと判定すること、その受信された通知メッセージを記憶すること、サブスクリプションリソースに従って生成され、ローカルで記憶された通知メッセージのうちで最新の通知メッセージを判定すること、およびメッセージ送信条件が満たされると、最新のステータス識別子に従って最新の通知メッセージだけを送信することを実行するように構成される。
【０１３３】
プロセッサ１００１は、中央処理装置（ｃｅｎｔｒａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ、ＣＰＵ）、特定用途向け集積回路（ａｐｐｌｉｃａｔｉｏｎ−ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ、ＡＳＩＣ）などであり得る。この実施形態における中間ノードは、バス１００４を含み得る。プロセッサ１００１、メモリ１００２、および通信インターフェース１００３は、バス１００４を使用することによって互いに接続され、通信することが可能である。メモリ１００２は、ランダムアクセスメモリ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ、ＲＡＭ）、読取り専用メモリ（ＲＯＭ）、および磁気ディスクなどの記憶機能を有するエンティティを含み得る。
【０１３４】
プロセッサ１００１は、方法実施形態において図６、図７、および図８において説明され、本発明のこの実施形態において本明細書でさらに説明されない中間ノードのステップを実行するようにさらに構成される。
【０１３５】
前述の説明は、本発明の例示的な実施様態に過ぎず、本発明の保護範囲を限定することは意図されていない。本発明において開示される技術範囲内で当業者によって容易に考案されるいずれの変形または置換も、本発明の保護範囲に含まれるものとする。したがって、本発明の保護範囲は、特許請求の範囲の保護範囲の対象となるものとする。
【図１】
0006275837.tif 000002
【図２】
0006275837.tif 000003
【図３】
0006275837.tif 000004
【図４】
0006275837.tif 000005
【図５】
0006275837.tif 000006
【図６】
0006275837.tif 000007
【図７】
0006275837.tif 000008
【図８】
0006275837.tif 000009
【図９】
0006275837.tif 000010
【図１０】
0006275837.tif 000011