(57)【要約】システムは、ブロードバンド接続経由でサービスプロバイダネットワーク（１０）に接続された多数のエンドユーザデバイス（１２）、多数のエンドユーザデバイス（１２）およびサービスプロバイダネット枠（１０）に結合された少なくとも第１のバックエンドエンティティ（１４，１５）と通信を行うように適合されたパブリッシュ／サブスクライブブローカ（１１）を備える。第１のバックエンドエンティティは、パブリッシュ／サブスクライブブローカに接続して、制御データチャネル経由でエンドユーザデバイスのデバイス管理を行うための第１のクライアントソフトウェアアプリケーションを含む。エンドユーザは、制御データチャネルをサブスクライブし、制御データチャネルを受信し、そして制御データによる指示に基づいてデバイスデータおよびアクションデータをパブリッシュするためにパブリッシュ／サブスクライブブローカに接続する第２のクライアントソフトウェアアプリケーションを含む。バックエンドエンティティ承認は、具体的には制御データ署名を使用することによって確認される。
2015500520.tif 000002
【特許請求の範囲】
【請求項１】
ブロードバンド接続経由でサービスプロバイダネットワーク（１０）に結合された多数のエンドユーザデバイス（１２）を備えるシステムであって、
前記システムは、前記多数のエンドユーザデバイス（１２）と通信を行うように適合されたパブリック／サブスクライブブローカ（１１）および前記サービスプロバイダネットワーク（１０）に結合された少なくとも第１のバックエンドエンティティ（１４、１５）をさらに備え、前記第１のバックエンドエンティティ（１４、１５）は、前記パブリック／サブスクライブブローカ（１１）に接続するためおよび前記エンドユーザデバイス（１２）のデバイス管理を行うために制御データチャネル経由で制御データをパブリッシュする第１のクライアントソフトウェアアプリケーションを含み、
前記エンドユーザデバイス（１２）は、前記パブリック／サブスクライブブローカ（１１）に接続して前記制御データチャネルをサブスクライブし前記制御データを受信するため、および前記制御データによる指示に基づいてデバイスデータおよびアクションデータをパブリッシュするための第２のクライアントソフトウェアアプリケーションを含む、前記システム。
【請求項２】
前記第２のクライアントソフトウェアアプリケーションは、それぞれのエンドユーザデバイスのスタートアップ時に各エンドユーザデバイス（１２）上で開始され、および事前構成されたユニフォームリソースロケータを使用することによって前記エンドユーザデバイスの前記パブリック／サブスクライブブローカ（１１）への接続を確立する、請求項１に記載のシステム。
【請求項３】
前記サービスプロバイダネットワーク（１０）は、インターネットサービスを提供するネットワークサービスプロバイダネットワークであり、および前記エンドユーザデバイス（１２）の前記デバイス管理を提供する、請求項１または２に記載のシステム。
【請求項４】
前記パブリック／サブスクライブブローカ（１１）は、前記ネットワークサービスプロバイダネットワークを運用するネットワークサービスプロバイダによって提供される、請求項３に記載のシステム。
【請求項５】
前記パブリック／サブスクライブブローカ（１１）は、インターネットサービスプロバイダによって提供される、請求項１、２または３に記載のシステム。
【請求項６】
各エンドユーザデバイス（１２）は、そのデバイス管理を行う実行コマンドを受信するための少なくとも１つの制御チャネルをサブスクライブし、および各エンドユーザデバイス（１２）は、デバイスデータチャネル経由で前記デバイスデータをパブリッシュし、およびアクションデータチャネル経由でアクションデータをパブリッシュする、請求項１ないし５のいずれか１項に記載のシステム。
【請求項７】
前記パブリック／サブスクライブブローカ（１１）に接続する第３のクライアントソフトウェアアプリケーションを含む第２のバックエンドエンティティ（１４）を備え、前記第２のバックエンドエンティティ（１４）は、前記多数のエンドユーザデバイス（１２）のインベントリを保持するために前記エンドユーザデバイス（１２）のデバイスデータ、制御データおよびアクションデータをサブスクライブするが、前記エンドユーザデバイス（１２）の制御データはパブリッシュしない、請求項１ないし６のいずれか１項に記載のシステム。
【請求項８】
前記第２のバックエンドエンティティ（１４）は、前記エンドユーザデバイス（１２）のメーカーまたはベンダーによって提供されるサーバである、請求項７に記載のシステム。
【請求項９】
前記第１のバックエンドエンティティ（１５）は、前記ネットワークサービスプロバイダによって提供されるサーバである、請求項４に記載のシステム。
【請求項１０】
前記エンドユーザデバイスの管理は、新しいファームウェアまたはミドルウェアバージョンへのアップグレード、インストール、ソフトウェアアプリケーションのアップデートまたはアンインストール、プログラムまたはスクリプトファイルの実行、前記エンドユーザデバイス（１２）コンフィギュレーションまたはステータスデータに対する構造化クエリの実行、または前記エンドユーザデバイス（１２）のリセットもしくはリブートを含む、請求項１ないし９のいずれか１項に記載のシステム。
【請求項１１】
前記エンドユーザデバイスは、制御データ署名によりバックエンドエンティティ承認の有効性を確認する、請求項の１ないし１０のいずれか１項に記載のシステム。
【請求項１２】
請求項１ないし１１のいずれか１項に記載のシステムとオペレーションを行うように適合されたエンドユーザデバイス（１２）。
【請求項１３】
前記エンドユーザデバイス（１２）は、住居用ゲートウェイ、セットトップボックス、スマートフォンもしくはセル電話、タブレットＰＣ、スマートテレビまたはその他のネットワークもしくはインターネットに接続された家電製品である、請求項１２に記載のエンドユーザデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、エンドユーザデバイスの分野に関し、より具体的にはサービスプロバイダネットワークとのブロードバンド接続経由で動作するカスタマ構内設備デバイスなどの、遠隔管理されたインターネット接続のエンドユーザデバイスに関する。
【背景技術】
【０００２】
カスタマ構内設備（ＣＰＥ）デバイスは、例えば、住居用ゲートウェイ、ルータ、スイッチ、電話機、セットトップボックスなどである。住居用ゲートウェイは、今日ではカスタマの住居内のデバイスをインターネットまたはその他の広域ネットワーク（ＷＡＮ）に接続するために広く使用されている。住宅用ゲートウェイは、例えば、銅線を介して高データレート伝送を可能にするデジタル加入者線（ＤＳＬ）、または例えば、ファイバー・トゥ・ザ・ホーム（ＦＴＴＨ）およびファイバー・トゥ・ザ・プレミシズ（ＦＴＴＰ）などの、光ファイバーブロードバンド伝送システムを使用する。
【０００３】
ネットワークサービスプロバイダ（ＮＳＰ）、さらに一部のインターネットサービスプロバイダ（ＩＳＰ）は、例えば、ブロードバンドインターネットアクセスまたはＩＰテレビのサービスの一環としてそれらのサービスプロバイダが設置した数百万にものぼる大量のＣＰＥデバイスを管理しなければならない場合もある。ＣＰＥデバイスの遠隔管理は、個々のＣＰＥデバイスと対話してそれらのデバイスにコンフィギュレーション設定を提供し、そして特定のアプリケーション層プロトコルを使用して診断情報を抽出する、中央コンフィギュレーションサーバ（ＣＣＳ）によって実現することができる。
【０００４】
広く使用されているＣＰＥ遠隔管理通信プロトコルの例として、ＣＰＥ  ＷＡＮ管理プロトコル（ＣＷＭＰ）が知られており、そのプロトコルは、ブロードバンドフォーラムによって発展したものであり、技術レポート番号０６９で規定され、一般にＴＲ−０６９とも呼ばれている。ＣＷＭＰは、ＣＰＥデバイスと自動コンフィギュレーションサーバ（ＡＣＳ）との通信プロトコルを設けることによって、ＣＰＥデバイスを遠隔管理するアプリケーション層プロトコルを規定している。
【０００５】
ＣＰＥデバイスにブロードバンドサービスを提供するこの種の広域ネットワークは、図１に概略的に示されている。即ち、ネットワークサービスプロバイダネットワーク１は、インターネットサービスを例えば、ＤＳＬ／ケーブル／ファイバーなどのブロードバンド接続５経由で多数の住居用ゲートウェイ２およびセットトップボックス３に提供するために用意されている。さらに、ＮＳＰネットワーク１は、住居用ゲートウィ２およびセットトップボックス３を遠隔管理するＡＣＳ４を含む。ＴＲ−０６９プロトコルの使用により、ＡＣＳ４は、例えば、自動コンフィギュレーションおよび動的なサービスプロビジョニング、ソフトウェア／ファームウェア画像の管理、住居用ゲートウェイ２およびセットトップボックス３のステータスおよび性能のモニタリングおよび診断を行う能力を有する。
【０００６】
ＣＷＭＰ、さらに例えば、ＯＭＡデバイスマネジメント(OMA Device Management)またはウェブサービスベースのプロトコルなどの、他のプロトコルは、「従来の」クライアント／サーバおよび要求／応答モデルにおいて機能する。ＨＴＴＰ(Hypertext Transfer Protocol)のクライアントとして機能するデバイスは、１または一群のＨＴＴＰサーバに接続してＨＴＴＰリクエストを送信し、そして１または一群のサーバは、ＨＴＴＰ応答で応答する。ＣＷＭＰは、それに応じてワールドワイドウェブ(World Wide Web)サービングウェブ（ＨＴＭＬ）ページと同じプリンシパルを適用する。
【０００７】
最近では、http：//www.w3.org/TR/htm15/を参照すればわかるように、最新の(upcoming)ＨＴＭＬ５標準の範囲において進化が見られ、Ｗ３Ｃの寄与による規定：“http://tools.ietf.org/html/draft-ietf-hybi-thewebsoketprotocol-17”に従った新しいウェブソケットプロトコルが存在する。ウェブソケットは、ウェブソケットクライアントとウェブソケットサーバとの全二重双方向通信をサポートし、従来の要求／応答モデルを上回るが、サーバがデータをクライアントに送信するための中間非標準機構が存在し、その例は、コメット(comet)：http://svn.cometd.com/trunk/bayeux/bayeux.html、ｈｔｔｐロングポーリングなどを含む。
【０００８】
管理に関連するロジックおよびＨＴＴＰ要求／応答モデルのすべてを含む完全に集中化されたサーバに対する重大な制約および問題がいくつかある。即ち、
−集中サーバモデルにおいて、数百万のデバイスが（リクエストを送信する）サーバに頻繁に接続すると、ヘルプデスクおよび他のエンティティがサーバのいくつかのアプリケーション（モニタリング、診断など）を処理しなければならないことからスケーラビリティが課題となる。
−ＡＣＳまたは他のバックエンドアプリケーションから特定のデバイスにできるだけ高速に通信することは厄介である。例えば、ＴＲ−０６９は、ＡＣＳがＨＴＴＰリクエストをＣＰＥに送信する接続要求機構を規定し、典型的にはＨＴＴＰダイジェスト認証を使用して認証し、その後ＣＰＥデバイスが、ＨＴＴＰリクエストを送信するＡＣＳに接続する。
−多数のＣＰＥデバイスの問い合わせ(interrogation)では、中央サーバが各デバイスとコンタクトし、要求／応答の反復を個々に処理してデータを収集し、そしてこれらの収集データをサーバ側で分析する必要がある。
−すべてのロジックは、一つの場所、例えば、ＡＣＳサーバに集中化され、以下のようになる。
○ＡＣＳサーバは、潜在的に低速なネットワーク接続を介してコマンドをデバイスに送らなければならない。
○ＡＣＳサーバは、ＣＰＥデバイスからの応答（成功／失敗および見込まれる必要なデータ）を待ち、この結果を分析し、そしてこの結果に基づいて次に取るべきステップを決定しなければならない。
○典型的には、膨大な数のＣＰＥデバイスに共通であるこのロジックを個々のＣＰＥデバイスに実行する。
【０００９】
特許文献１では、広域ネットワーク経由でさまざまなユーザ宅内のゲートウェイデバイスと通信し、ゲートウェイデバイスと関連するカスタマのサービスサブスクリプションに基づいて、ゲートウェイデバイスによるアプリケーションサービスおよび／またはフィーチャの配信を遠隔管理する、サービス管理システムが説明されている。サブスクリプションマネージャは、ＷＡＮを介して使用可能なアプリケーションサービスまたはフィーチャを特定する情報をそれぞれのゲートウェイデバイスに提供する。サブスクリプションマネージャによって制御されるサービスマネージャは、ゲートウェイデバイスからのリクエストに応答して、ゲートウェイデバイスのアプリケーションサービスにサービス機能性を実装するロジックにサービス専用のコンフィギュレーションデータを配布する。
【００１０】
非特許文献１では、ネットワーク管理のアプリケーション設計が説明されている。第１に、プルモデルは、要求／応答パラダイムに基づいている。第２に、プッシュモデルは、アドミニストレータがネットワーク帯域幅ならびにＣＰＵ時間を管理局で保存できるようにさせる、パブリッシュ／サブスクライブパラダイムに依存している。第３のモデルは、上記２つのモデルが共存する、折り畳み式の（collapsed）ネットワーク管理プラットフォームの概念を導入している。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】米国特許出願公開第２０１０／０２３５４３３
【非特許文献】
【００１２】
【非特許文献１】“Push vs. Pull in WEB-Based Network Management” by Jean-Philippe Martin-Flatin, Lausanne, Switzerland, Technical Report SSC/1998/022
【発明の概要】
【００１３】
本システムは、ブロードバンド接続経由でサービスプロバイダネットワークに結合された多数のエンドユーザデバイス、多数のエンドユーザデバイスとサービスプロバイダネットワークに結合された少なくとも第１のバックエンドエンティティと通信するように適合されたパブリッシュ／サブスクライブブローカを備える。第１のバックエンドエンティティは、パブリッシュ／サブスクライブブローカに接続して、エンドユーザデバイスのデバイス管理を行うために制御データチャネル経由で制御データをパブリッシュする、第１のクライアントソフトウェアアプリケーションを含む。エンドユーザデバイスのそれぞれは、パブリッシュ／サブスクライブブローカに接続し、制御データチャネルをサブスクライブし、制御データを受信し、そしてさらに制御データによる指示に基づいてデバイスデータおよびアクションデータをパブリッシュする、第２のクライアントソフトウェアアプリケーションを含む。バックエンドエンティティの承認は、具体的には制御データ署名を使用することによって確認される。
【００１４】
好適な実施形態において、サービスプロバイダネットワークは、インターネットサービスを、例えば、ネットワークサービスプロバイダネットワークに提供し、エンドユーザデバイスのデバイス管理を提供するネットワークであり、そしてパブリッシュ／サブスクライブブローカも、ネットワークサービスプロバイダネットワークを運営するネットワークサービスプロバイダによって提供される。各エンドユーザデバイスは具体的には、そのデバイス管理を行う管理コマンドを受信するために少なくとも１つの制御データチャネルをサブスクライブし、そして各エンドユーザデバイスは、そのデバイスデータをデバイスデータチャネル経由でパブリッシュし、アクションデータをアクションデータチャネル経由でパブリッシュする。
【００１５】
本発明のさらなる態様において、システムは、パブリッシュ／サブスクライブブローカに接続する第３のクライアントソフトウェアアプリケーションを有する第２のバックエンドエンティティを含み、ブローカは、多数のエンドユーザデバイスのインベントリを保持するためにエンドユーザデバイスのデバイスデータ、制御データおよびアクションデータをサブスクライブするが、エンドユーザデバイスの制御データはパブリッシュしない。第２のバックエンドエンティティは、例えば、エンドユーザデバイスのメーカーによって提供されるサーバであり、第１のバックエンドエンティティは、ネットワークサービスプロバイダによって提供されるサーバである。
【００１６】
デバイス管理は具体的には、新しいファームウェアまたはミドルウェアバージョンへのアップグレードを行い、ソフトウェアアプリケーションのインストール、更新またはアンインストールを行い、プログラムまたはスクリプトファイルを実行し、エンドユーザデバイスのコンフィギュレーションまたはステータスデータに対する構造化クエリを実行し、どのデータをエンドユーザがパブリッシュする必要があるか、またはエンドユーザデバイスのリセットまたはリブートについてのポリシーを提供することを含む。
【００１７】
システムと動作するように適合されたエンドユーザデバイスは、具体的にはＣＰＥデバイスであり、例えば、住居用ゲートウェイおよびセットトップボックス、さらにスマートフォン、セル電話、タブレットＰＣ、スマートテレビ、および他の遠隔管理されたネットワークまたはインターネット接続の家電製品である。
【図面の簡単な説明】
【００１８】
本発明の好適な実施形態は、概略図を参照し、例として以下により詳細に説明される。
【図１】ＣＰＥデバイス、およびインターネットサービスを提供するネットワークサービスプロバイダネットワークを含む、先行技術に係る広域ネットワークの図である。
【図２】本発明に係る多数のエンドユーザデバイス、パブリッシュ／サブスクライブブローカ、および２つのバックエンドエンティティを備えるシステムの図である。
【図３】図２のシステムの好適な実施形態の図である。
【図４】図２および図３に示されたようにバックエンドエンティティの実行アクションを実行する方法の図である。
【図５】図３に示されたようにシステムの例示的なオペレーション方法を説明する図である。
【発明を実施するための形態】
【００１９】
以下の記載において、ブロードバンド接続経由でサービスプロバイダネットワークに結合された多数のエンドユーザデバイスを備えるシステムが説明されている。説明を目的として、好適な実施形態への完全な理解を与えるために、多数の具体的な詳細が示されている。しかしながら、本発明がそのような具体的な詳細を用いずに実施され得ることは当業者には明らかである。
【００２０】
エンドユーザデバイスは、具体的にはＣＰＥデバイスであり、例えば、住居用ゲートウェイ、ルータ、スイッチおよびセットトップボックス、さらにその他のネットワークまたはインターネット接続の家電製品であり、そして各デバイスに、マイクロプロセッサ、オペレーティングシステムおよびアプリケーションが格納された不揮発性メモリ、およびＣＰＲデバイスが動作するための揮発性メモリを含む。ＣＰＥデバイスのオペレーティングシステムは、例えば、ＬＩＮＵＸ(登録商標)オペレーティングシステムおよびＣＰＥデバイス専用ミドルウェアであり、ミドルウェアは、デバイス実行環境を表す。デバイス実行環境は、例えば、ＤＳＬモデム機能を提供するソフトウェアコンポーネント、ゲートウェイおよびスイッチング機能、ＦＸＳ機能、ＶｏＩＰ機能性およびＷｉ−Ｆｉオペレーションを含む。
【００２１】
本発明に係るシステムは、図２に示された好適な実施形態において、各デバイスがブロードバンド接続１３経由でサービスプロバイダネットワーク１０、具体的にはネットワークサービスプロバイダ（ＮＳＰ）ネットワークに結合された多数のＣＰＥデバイス１２、および多数のＣＰＥデバイスと通信するように適合されたパブリッシュ／サブスクライブブローカ１１を含む。システムは、ブロードバンド接続１６経由でサービスプロバイダネットワークに結合された少なくとも第１のバックエンドエンティティ１４を含み、バックエンドエンティティ１４は、ＣＰＥデバイス１２に遠隔ＣＰＥデバイス管理を行うパブリッシュ／サブスクライブブローカ１１に接続するクライアントソフトウェアアプリケーションを含む。パブリッシュ／サブスクライブブローカ１１は、例えば、ＮＳＰネットワーク１０の一部であるかまたはインターネットサービスプロバイダによって提供され、具体的にはＣＰＥデバイス１２に遠隔ＣＰＥデバイス管理を行うためにＣＰＥデバイス１２の通信および制御サービスを管理する。パブリッシュ／サブスクライブブローカ１１は、ＮＳＰネットワーク１０またはインターネットサービスプロバイダネットワーク外部のデータセンタに配置されたクラウドプラットフォームにホストされることも可能である。ＣＰＥデバイス１２は、パブリッシュ／サブスクライブブローカ１１に接続しているクライアントソフトウェアアプリケーションも含み、従ってパブリッシュ／サブスクライブブローカ１１およびバックエンドエンティティ１４の「管理下にある」デバイスである。ＣＰＥデバイス１２は、１またはいくつかの特定のトピック、例えば、１またはいくつかの制御チャネルをサブスクライブし、そして１またはいくつかの特定のトピック、例えば、データチャネルにデータをパブリッシュする。
【００２２】
また、ブロードバンド接続１７経由でパブリッシュ／サブスクライブブローカ１１に接続されたさらなるバックエンドエンティティ１５は、ＣＰＥデバイス１２のＣＰＥデバイス管理を提供またはサポートするためにパブリッシュ／サブスクライブブローカ１１に接続するクライアントアプリケーションソフトウェアを含む。バックエンドエンティティ１４および／または１５は、具体的なアプリケーションまたはユースケースによって、特定のトピック、例えば、制御チャネルに制御データをパブリッシュし、そして特定のトピック、例えば、データチャネルをサブスクライブする。
【００２３】
バックエンドエンティティ１４および１５を異なる技術、例えば、異なるソフトウェアプログラミング言語で実装し、そして同じサーバまたは異なるサーバおよび場所、例えば、インターネット接続性を有する世界中の任意の場所に配置することができる。他のデバイスと同様に、それらのエンティティは、パブリッシュ／サブスクライブブローカ１１を介してインターネット上で通信する。本発明は具体的には、任意の場所に常駐する１、２、または任意の数のバックエンドエンティティをサポートする。
【００２４】
パブリッシュ／サブスクライブシステムにおいて、パブリッシャは、中間メッセージブローカ、パブリッシュ／サブスクライブブローカ１１にメッセージをポストし、そしてサブスクライバは、そのブローカの登録サブスクリプションをサブスクライブし、ブローカは、パブリッシュされたメッセージの転送およびフィルタリングを実行する。ブローカは通常、格納を実行して、パブリッシャからサブスクライバへのメッセージをルートする機能をできるだけ効率的なやり方で転送するように最適化されている。メッセージブローカは、例えば、http://en.wikipedia.org/wiki/message_brokerに説明されている。パブリッシュ／サブスクライブ機構は、疎結合されたエンティティ間で一対一、一対多および多対多通信を可能にする。疎結合とは、本発明の文脈においてエンティティが互いの存在またはロケーションについて知る必要がないことを意味する。ブローカは、各クライアント、ＣＰＥデバイスまたはバックエンドエンティティを認証し、そしてメッセージが一部のチャネルにパブリッシュされるときに、どのバックエンドエンティティがどのメッセージをサブスクライブして受信することを許可されているかについての承認制約条件を課す。
【００２５】
パブリッシュ／サブスクライブ機構は、例えば、スケーラブルな高リアルタイム性能およびパブリッシャとサブスクライバ間で相互運用可能なデータ拡張を可能にする、オブジェクト管理グループ（ＯＭＧ）によって提供されるデータ配布サービス（ＤＤＳ）によっても使用される。別の例は、ＩＢＭによって出されたオープンプロトコル仕様である、ＭＱＴＴ(Message Queue Telemetry Transport)プロトコルである。この発明は、特定のパブリッシュ／サブスクライブ技術に依存していない。
【００２６】
パブリッシュ／サブスクライブブローカ１１を使用することによって、各々がパブリッシュ／サブスクライブブローカ１１に接続するクライアントソフトウェアアプリケーションを有する、いくつかまたは任意の数のバックエンドエンティティ１４、１５は、ＣＰＥデバイス１２を管理するために使用することができる。このソリューションは具体的には、ＴＲ−０６９  ＣＷＭＰプロトコルまたはＯＭＡ  ＤＭプロトコルなどの、現在の参照規格よりもスケーラブルで費用効率が良い。パブリッシュ／サブスクライブブローカ１１は、例えば、Ｐｕｓｈｅｒ  http://pusher.comと同様のサービスを使用してもよく、Ｐｕｓｈｅｒは、ウェブアプリケーション、Ｂｅａｃｏｎｐｕｓｈ，http://beaconpush.com、ＰｕｂＮｕｂ，http://www.pubnub.com、ＭＱＴＴブローカまたは超大規模ＤＤＳ(Distributed Data Services)，http://www.omg.org/news/meetings/GOV-WS/pr/rte-pres/ultra-large-scale-dds.pdfにリアルタイム双方向機能性を迅速で容易かつ安全に付加するための簡易なホストＡＰＩである。
【００２７】
本システムは以下のように動作する。
１．各ＣＰＥデバイス１２は、第１のステップにおいてウェブベースのパブリッシュ／サブスクライブインフラストラクチャ、パブリッシュ／サブスクライブブローカ１１（ウェブベースとは、ブローカがインターネット経由で到達可能であることを意味する）に接続する。
【００２８】
ａ．ＣＰＥデバイス１２のスタートアップ時に各ＣＰＥデバイス１２上で稼動するクライアントソフトウェアアプリケーションは、例えば、ＴＣＰ、パブリッシュ／サブスクライブプロトコル経由で（事前に）構成されたＵＲＬ(uniform resource locator)を使用することによってパブリッシュ／サブスクライブブローカ１１への接続を確立する。クライアントソフトウェアアプリケーションは、認証を行って、パブリッシュ／サブスクライブブローカがクライアントアイデンティティを確認できるようにさせるＴＬＳ(Transport Layer Security)証明書を提供しなければならない場合もある。
【００２９】
ｂ．ＣＰＥデバイス１２は、そのデバイスデータを事前構成されたチャネル／トピック、例えば、デバイスデータチャネルにパブリッシュできる。
【００３０】
ｉ．そのデバイスデータは具体的には、シリアルナンバー、ハードウェアバージョン、ソフトウェアバージョン、現在のパブリック（インターネット）ＩＰアドレスなどを含む。
【００３１】
ｉｉ．バックエンドエンティティ１４、１５のいずれもデバイスデータをサブスクライブでき、例えば、バックエンドエンティティは、ＣＰＥデバイスを結び付けるデバイスデータを一緒に格納している、バックエンドデバイスインベントリアプリケーションを備える。
【００３２】
ｉｉｉ．デバイスデータは、特定のイベント時、例えば、スタートアップまたはソフトウェアバージョンまたはＩＰアドレスの任意の変更時に各ＣＰＥデバイス１２によって定期的にパブリッシュされ得る。
【００３３】
ｃ．ＣＰＥデバイス１２は、１または複数の制御チャネルまたはトピックをさらにサブスクライブする。
【００３４】
ｉ．サブスクライブするチャネル／トピックは、事前に受信した制御データによって決定されるか、または他の基準によって決定されるかのいずれかで事前構成されている。
【００３５】
１．チャネルサブスクリプションをＮＳＰごと、領域ごと、サブスクライバグループごとに行って、制御データが特定の領域内かまたは特定のサービスをサブスクライブすると見込まれる、特定のＮＳＰのカスタマをターゲットにすることができるようにする。
【００３６】
２．チャネルサブスクリプションは、時間が経つと変更することができ、例えば、所与のＣＰＥ製品（ハードウェアバージョン）およびソフトウェアバージョンを有するＮＳＰカスタマは、アップグレードを指示する制御データの特定のチャネル／トピックをサブスクライブすることができる。例えば、住居用ゲートウェイまたはセットトップボックスデバイスは、＜ＮＳＰ−ＨＷ−ＳＷ＞チャネルをサブスクライブできるので、そのチャネルにパブリッシュされた制御データがそれらのＣＰＥデバイス１２を新しいファームウェア／ソフトウェアバージョンにする、大規模なアップグレードを行うことができる。アップグレードした後、各ＣＰＥデバイス１２は、新しくアップグレードされた制御データをリスンして、＜ＮＳＰ−ＨＷ−ＳＷ２＞チャネルをサブスクライブできる。
【００３７】
３．選択的なチャネル／トピックサブスクリプションを用いて、ＣＰＥデバイス１２の大規模なセットは、特定の遠隔管理アプリケーションごとに区分されるので、パブリッシュされたデータは、ＣＰＥデバイス１２の特定のセットを対象とすることができる。
【００３８】
ｉｉ．パブリッシュ／サブスクライブブローカは、構成可能なポリシーに基づいて、ＣＰＥデバイス１２が特定のチャネル／トピックをサブスクライブするのを拒否できる。
２．バックエンドエンティティ１４および／または１５は、制御データを特定の制御チャネルまたはトピックにパブリッシュする。
【００３９】
ａ．１または複数のバックエンドエンティティ１４、１５は、制御データを特定の制御チャネルまたはトピックにパブリッシュすることができる。従来の集中化されたＣＷＭＰサーバと違い、パブリッシュ／サブスクライブ機構は、疎結合された通信：一対一、一対多、多対多通信を可能にする。バックエンドエンティティ１４、１５を別個にすることによって、例えば、スケーラビリティに伴う中央ボトルネックを避けることができる。
【００４０】
ｂ．各バックエンドエンティティ１４、１５は、ウェブパブリッシュ／サブスクライブインフラストラクチャ、パブリッシュ／サブスクライブブローカ１１を認証して、パブリッシュ制御データが許可されるようにしなければならない場合もある。
【００４１】
ｃ．制御データは、例えば、異なるデータフィールドを包含できるが、以下に限定されない：
ｉ．ターゲットＣＰＥデバイス：サブスクライブするＣＰＥデバイスに制御アクションを適用しなければならない任意の制限である。この制限は、ＣＰＥデバイス特性のセットの形式、例えば、ＨＷ／ＳＷバージョン、ＩＰアドレス範囲など、またはサブスクライバ特性の形式、例えば、ｐｐｐ認証情報のセット、ＶｏＩＰ電話番号（範囲）、アクティブサービスなどで表現できる。
【００４２】
ｉｉ．アクション：ＣＰＥデバイス１２によって実行されるアクション。例示的なアクションは以下のものが含まれるが、これらに限定されない：
１．ファームウェアのアップグレード
２．アプリケーションのインストール／更新／アンインストール
３．プログラムまたはスクリプトファイルの実行
４．パブリッシュ：ＣＰＥデバイスデータまたは固定データをデバイスまたはデータチャネルまたはトピックに無条件でパブリッシュする
５．クエリ：ＣＰＥコンフィギュレーションデータまたはステータスデータに対する構造化クエリを行う（クエリが、ＣＰＥデバイスによってパブリッシュされるデータが存在するという結果を有する場合のみ）
６．リブート
ｉｉｉ．ＵＲＬ：ファイルを指し示す任意選択のＵＲＬ。これは、特定のアクションのみに適用する場合があり、例えば、ファームウェアのアップグレードの場合、ＵＲＬは、ダウンロードして適用するファームウェア画像を指し示し、アクションとして実行する場合、ＵＲＬは、ダウンロードして実行するソフトウェアプログラムまたはスクリプトファイルを指し示す。
【００４３】
ｉｖ．データチャネル：アクションの結果をパブリッシュするチャネル／トピック名。任意選択で、従来のＨＴＴＰ要求／応答ウェブサービスを使用してアクションの結果データをパブリッシュするＵＲＬでもよく、例えば、ＨＴＴＰ  ＰＯＳＴは、このＵＲＬに対してＪＳＯＮ(JavaScript(登録商標) Object Notation)がエンコードされたデータを用いる。
【００４４】
ｖ．タイミングに関する基準：例えば、任意のタイミング制限であるが、以下に限定されない：
１．循環アクションを実行する間隔、例えば、モニタリングする理由によるスクリプトの定期的な実行間隔において、０値は、一回限りで循環しないアクションを示し得る。
【００４５】
２．相対遅延、例えば、アクションを実行する前の、固定またはランダムな範囲の相対遅延
３．アクションを実行する絶対時間範囲、例えば、同日の午前２時と午前４時の間
ｖｉ．セキュリティ署名：メッセージの署名は、見込まれる多数のバックエンドエンティティ１４および１５に対する分散アプローチにおいて必要なレベルのセキュリティを提供する、本発明の主要な要素である。中央認証機関は、許可された機能性を包含する拡張フィールドをバックエンドエンティティのデジタル証明書、例えば、Ｘ．５０９に付加し、バックエンドエンティティ自身の証明書で署名することにより、バックエンドエンティティにいくつかの管理機能性を実行する権利を付与する。クライアントデバイスは、中央認証機関証明書の公開鍵を埋め込み、受信したメッセージごとに、メッセージを署名した証明書が適切な管理権を有していて、中央認証機関によって署名されたかどうかを確認する。
３．パブリッシュ／サブスクライブブローカ１１にサブスクライブして、バックエンドエンティティ１４、１５のいずれかから制御データを受信する各ＣＰＥデバイス１２は、要求されるアクションを実行する：
ａ．第１のステップでは、制御データの発信元、信頼性および整合性を検証する：
ｉ．制御データは、例えば、署名、制御データメッセージにハッシュ値が暗号化された非対称鍵を包含することができる。
【００４６】
ｉｉ．メッセージ（バックエンドエンティティに対応する）の署名に使用される証明書秘密鍵は、その拡張フィールドに適切な管理権を包含し、そしてＣＰＥデバイス１２に格納された中央認証機関の事前に準備された (pre-provisioned)秘密鍵を使用して確認される。
【００４７】
ｂ．第２のステップでは、ＣＰＥデバイス１２が実際にアクションを実行すべきかどうかを評価する任意のターゲットＣＰＥデバイス制約を確認する。ＣＰＥデバイス１２がターゲット制約の適用を受けていなければ、制御データメッセージは、それ以上のアクションを持たずに廃棄される。
【００４８】
ｃ．アクションは、一部の任意の制御データフィールドが重要であるか否かを決定する。ＣＰＥデバイス１２は、例えば、任意のタイミング制約を考慮に入れたアクションを実行するが、以下に限定されない：
１．ファームウェアのアップグレード：ファームウェア画像をロケーションＵＲＬ（ロケーションＵＲＬは、スキーマとして使用されるプロトコルを包含する）においてダウンロードし、ファームウェアをフラッシュ／適用した後にデバイスをリブートする。
【００４９】
２．アプリケーションのインストール／更新／アンインストール：ＵＲＬ、例えば、file:// スキーマを用いて特定される、特定のアプリケーションをインストールまたはアンインストールするアプリケーションバイナリをデバイスにダウンロードする。
【００５０】
３．プログラムまたはスクリプトファイルを実行する：ＵＲＬロケーションにおいてプログラムまたはスクリプトファイルをダウンロードして、プログラムまたはスクリプトファイルを実行する。
【００５１】
４．パブリッシュ：ＣＰＥデバイスデータまたは固定データをデバイスデータチャネルまたはトピックに無条件でパブリッシュする。
【００５２】
５．クエリ：ＣＰＥデバイス１２のＣＰＥデバイスコンフィギュレーションまたはステータスデータへの構造化クエリ（クエリが、ＣＰＥデバイスによってパブリッシュされるデータが存在するという結果を有する場合のみ）。
【００５３】
６．リブート：ＣＰＥデバイス１２のウォームリセットまたはウォームリスタート。
４．ＣＰＥデバイス１２は、アクションの結果をアクションデータチャネルまたはトピックにパブリッシュすることができる。
【００５４】
ａ．例えば、データは、特定のアクションによって異なるが、以下に限定されない：
１．ファームウェアのアップグレード：結果データは、故障障害コードであってもよい。成功した場合、デバイスは、デバイスデータをリパブリッシュできる（ステップ１．ｂ参照）。
【００５５】
２．アプリケーションのインストール／更新／アンインストール：結果データは、成功表示または失敗表示になり得る。
【００５６】
３．プログラムまたはスクリプトファイルを実行する：結果データは、プログラムまたはスクリプト実行の結果である任意のデータであってもよい。それらのデータは、例えば、モニタリングデータ、診断結果コード、特定のクエリの結果、集合データなどになり得る。
【００５７】
４．パブリッシュ：ＣＰＥデバイスデータまたは固定データ
５．クエリ：クエリは、結果を有する場合と有しない場合があり、結果データは、例えば、ＣＰＥコンフィギュレーションデータおよび／またはステータスデータに対して実行される、実際のクエリによって異なり、例えば、ブロードバンドフォーラムＴＲ−１８１ｉ２データモデルなどの標準ゲートウェイデータモデルを参照する。
【００５８】
６．リブート：例えば、リブートした後、結果データがなければＣＰＥは、そのデバイスデータをリパブリッシュできる。
【００５９】
ｂ．データをパブリッシュするデータチャネルまたはトピックは、アクションをトリガした初期制御データによって決定される。
【００６０】
ｉ．各アクションのデータチャネルまたはトピックは、異なることもあり、これは、制御データを管理するバックエンドアドミニストレータによって完全に決定される。
【００６１】
ｉｉ．１または複数のバックエンドエンティティ１４、１５が関心を示してアクションデータチャネルまたはトピックをサブスクライブすることもある。
５．ＣＰＥデバイス１２は、実行する新しいアクションを用いて、サブスクライブされる制御チャネルまたはトピックで新しい制御データを受信できる。
【００６２】
システムのより詳細な実施形態が図３に示されている。このシステムは、多数のＣＰＥデバイス１２および１８を含み、それらのデバイスはそれぞれ、ブロードバンド接続１３経由でサービスプロバイダネットワーク１０とインターネットとに結合されている。システムは、パブリッシュ／サブスクライブブローカ１１をさらに備え、そのブローカは、サービスプロバイダネットワーク１０、例えば、ＮＳＰネットワーク内に配置されるか、またはインターネット内のどこかに配置される。システムは、数百万のＣＰＥデバイス１２を含むことができ、各デバイスは、パブリッシュ／サブスクライブブローカ１１との接続、ＣＰＥデバイス１２のＣＰＥデバイス管理を行うためのクライアントソフトウェアアプリケーションを有する。それぞれのＣＰＥデバイス１２は、パブリッシュ／サブスクライブブローカ１１の１または複数の制御チャネル（複数）をサブスクライブし、そしてそれぞれのＣＰＥデバイス１２は、データチャネル、例えば、デバイスデータチャネルおよびアクションデータチャネルにパブリッシュし、それらのチャンネルを経由して、ＣＰＥデバイス１２は、そのデバイスデータ、例えば、ハードウェアおよびソフトウェアデータ、ＩＰアドレスなどを送信することができる。
【００６３】
システムは、第１および第２のバックエンドエンティティ１４、１５をさらに含み、それらのエンティティは、パブリッシュ／サブスクライブブローカ１１にも接続されている。好適な実施形態において、バックエンドエンティティ１４、１５の両方は、ＣＰＥデバイス１２のデータチャネルをサブスクライブして、どのＣＰＥデバイス１２がインストールされていて、現在アクティブであるかをそれらのエンティティが認識できるようにする。別の例示的な実施形態において、バックエンドエンティティ１４のみがデバイスデータをサブスクライブする。なぜなら、そのエンティティは、単なる一例として、すべてのＣＰＥデバイス１２のインベントリを保持し、ＣＰＥデバイス１２の最も不可欠な情報、例えば、ハードウェアおよびソフトウェアデータ、ＣＰＥデバイス１２がいつデータをパブリッシュしたか、どの制御データを実行したか、などのデータを格納するからである。バックエンドエンティティ１５は、制御データチャネルおよびアクションデータチャネル経由でパブリッシュ／サブスクライブブローカ１１に結合されている。制御データチャネル経由で、バックエンドエンティティ１５は、ＵＲＬを含む実行アクションをＣＰＥデバイス１２に送信することができ、そこでＵＲＬは、ＣＰＥデバイス１２によって実行されるプログラムまたはスクリプトを指し示す。
【００６４】
バックエンドエンティティ１４は、パブリッシュ／サブスクライブブローカ１１によって提供される、制御データチャネル、デバイスデータチャネルおよびアクションデータチャネルをサブスクライブして、バックエンドエンティティ１５から制御データおよびＣＰＥデバイス１２のデバイスデータおよびアクションデータを受信する。
【００６５】
２または多数のバックエンドエンティティがロジックまたは必要性に従ってどのようにチャネル／トピックおよびメッセージの一部またはすべてをサブスクライブするかについての例がある。特定のバックエンドエンティティは、特定のチャネル部をサブスクライブして、あるＮＳＰ、ある領域などからのデバイスへパブリッシュのみ、または当該デバイスからメッセージの受信のみを行うことができる。バックエンドエンティティは、他のすべての機能性を維持しながらシステムに動的に付加されるまたは除去されることもできる。
【００６６】
上記の例において、ＣＰＥデバイス１２は具体的には、パブリッシュ／サブスクライブブローカ１１によって提供される制御データチャネルをサブスクライブし、そしてデバイスデータチャネルおよびアクションデータチャネル経由でパブリッシュ／サブスクライブブローカ１１にパブリッシュする。ＣＰＥデバイス１２は、従って、バックエンドエンティティ１５によって提供される制御データチャネル経由で任意のアクションデータを受信し、制御データによる指示に基づいてプログラムまたはスクリプトをダウンロードして、それを実行する。プログラムまたはスクリプトを実行した後、ＣＰＥデバイス１２は、アクションデータとしての結果をアクションデータチャネルにパブリッシュし、その情報は、パブリッシュ／サブスクライブブローカ１１によって第１および第２のバックエンドエンティティ１４、１５に転送される。バックエンドエンティティ１５は、例えば、ネットワークサービスプロバイダのサーバであり、ＣＰＥデバイス１２のアクションの進行を追跡する制御データを使用する。また、バックエンドエンティティ１４は、例えば、ＣＰＥデバイス１２のベンダーのサーバであり、ＣＰＥデバイス１２のオペレーションを追跡して、ＣＰＥデバイス１２がアクションを完了した情報を格納する。
【００６７】
ＣＰＥデバイス１８は、デバイスデータチャネル経由でデバイスデータのみをパブリッシュ／サブスクライブブローカ１１にパブリッシュする。なぜならば、ＣＰＥデバイス１８は、異なるネットワークサービスプロバイダに属し、バックエンドエンティティ１５によって制御されていないからである。ＣＰＥデバイス１２は具体的には、同じネットワークサービスプロバイダによって提供され、および／またはＮＳＰネットワークの一部である。
【００６８】
第１のバックエンドデバイス１５の実行アクションを経由して、例えば、新しいソフトウェアアプリケーションをＣＰＥデバイス１２にインストールすることができ、またはファームウェアのアップデートをＣＰＥデバイス１２に実行することができる。バックエンドエンティティ１５の実行アクションを実行する方法について、バックエンドエンティティ１５とＣＰＥデバイス１２との間のデータフローを示した図４と関連して概略的に説明する。バックエンドエンティティ１５は、ＣＰＥデバイス１２の制御データを制御データチャネル経由でパブリッシュ／サブスクライブブローカ１１にパブリッシュし、パブリッシュ／サブスクライブブローカは、例えば、ＵＲＬを含む実行アクションを送信することによってその制御データをＣＰＥデバイス１２に転送する（ステップ２０）。実行アクションは、例えば、以下の種類のＪＳＯＮ(JavaScript(登録商標) Object Notation)メッセージである：
{"ctrl″:{"action″:"exec″,″key″: ″45335435″., ″url ″:https://username:password@tchbackend.com/files/sdghsdg.lua, ″data″: ″dsdghf321″,″target″: ″*″}、"signature″: ″<base64encoded signature over ctrl data>″}。ＪＳＯＮは、メッセージを直列化するほんの一例であり、他の例は、ＸＭＬ(Extensible Markup Language)、ＡＳＮ．１、ＣＳＶ(Comma Separated Values)を含むが、これらに限定されない。
【００６９】
次のステップ２１において、ＣＰＥデバイス１２は、ＪＳＯＮファイルにおいて指示されＵＲＬにおいて位置が特定されるスクリプトファイルをダウンロードする。スクリプトファイルは、例えば、Ｌｕａスクリプトファイルである。ＣＰＥデバイス１２は、スクリプトファイルに含まれている制御データの署名の有効性を確認し、そしてその署名が信頼のあるバックエンド秘密鍵によって署名されたかどうかを確認する。有効性の確認には、基本的識別またはダイジェストの識別、例えば、ユーザ名およびパスワードが、ＨＴＴＰ  Ｇｅｔコマンドを使用して、ｈｔｔｐ経由でＵＲＬ：https://tchbackend.com/files/sdghsdg.luaから要求される。
【００７０】
有効な秘密鍵および署名の場合、ＣＰＥデバイス１２は、このスクリプトを実行する（ステップ２２）。スクリプトは、任意の条件付きまたは無条件の対話、例えば、コンフィギュレーションを変更し、状態または統計をチェックし、統計を読み出してそれを合計するかまたはそれを警告閾値でチェックするなどを実行することができる。スクリプト結果は、例えば、成功、詳細な故障コードを含む失敗表示、状態／統計、特定のクエリ結果であるかまたは含むことができ、そしてアクションデータチャネルのアクションデータとしてパブリッシュ／サブスクライブブローカ１１にパブリッシュされ、パブリッシュ／サブスクライブブローカは、その結果をバックエンドエンティティ１５に転送する（ステップ２３）。
【００７１】
図３と関連して説明したシステムの例示的なオペレーションを図５と関連して説明する。第１のＣＰＥデバイス１２  ｃｌｉｅｎｔ１は、そのデバイスデータをパブリッシュ／サブスクライブブローカ１１にパブリッシュする（ステップ３０）。パブリッシュ／サブスクライブブローカ１１は、ｄｅｖｉｃｅ１データを第１のバックエンドエンティティ１４  ｂａｃｋｅｎｄ１および第２のバックエンドエンティティ１５  ｂａｃｋｅｎｄ２に転送する（ステップ３１、３２）。ステップ３３において、第２のＣＰＥデバイス１２  ｃｌｉｅｎｔ２は、そのデバイスデータをパブリッシュ／サブスクライブブローカ１１にパブリッシュし、パブリッシュ／サブスクライブブローカは、ｄｅｖｉｃｅ２データをそれに対応してｂａｃｋｅｎｄ１サーバ１４およびｂａｃｋｅｎｄ２サーバ１５に転送する（ステップ３４、３５）。さらに、ＣＰＥデバイス１６  ｃｌｉｅｎｔ３は、そのデバイスデータをパブリッシュ／サブスクライブブローカ１１に転送し、パブリッシュ／サブスクライブブローカは、これらのデバイスデータをｂａｃｋｅｎｄ１バックエンドエンティティ１４およびｂａｃｋｅｎｄ２バックエンドエンティティ１５に転送する（ステップ３６〜３８）。バックエンドエンティティ１５は具体的には、ネットワークサービスプロバイダのサーバであり、バックエンドエンティティ１４は、ＣＰＥデバイス１２のベンダーのサーバである。ステップ３９において、ｄｅｖｉｃｅ１〜ｄｅｖｉｃｅ３のデバイスデータは、サーバ１４，１５によってログインされる。
【００７２】
次のステップ４０において、ｂａｃｋｅｎｄ２サーバは、制御アクションを開始して、制御データをパブリッシュ／サブスクライブブローカ１１にパブリッシュする（ステップ４１）。パブリッシュ／サブスクライブブローカ１１は、これらの制御データをｃｌｉｅｎｔ１ＣＰＥデバイスおよびｃｌｉｅｎｔ２ＣＰＥデバイスに転送するが（ステップ４２、４３）、ｃｌｉｅｎｔ３ＣＰＥデバイスには転送しない。制御データもパブリッシュ／サブスクライブブローカ１１によってｂａｃｋｅｎｄ１サーバ１４に転送され、このサーバは、制御データをログに記録する（ステップ４４、４５）。ステップ４６、４７において、制御データはｃｌｉｅｎｔ１ＣＰＥデバイスおよびｃｌｉｅｎｔ２ＣＰＥデバイスによって処理され、実行される（ステップ４６、４７）。ｃｌｉｅｎｔ１デバイスがアクションを終了したとき、このデバイスは、アクションデータをパブリッシュ／サブスクライブブローカ１１にパブリッシュし（ステップ４８）、パブリッシュ／サブスクライブブローカは、アクションデータをｂａｃｋｅｎｄ１サーバ１４およびｂａｃｋｅｎｄ２サーバ１５に転送する（ステップ４９、５０）。ｃｌｉｅｎｔ２デバイスが終了してアクションを実行したとき、このデバイスは、そのアクションデータをパブリッシュ／サブスクライブブローカ１１にパブリッシュし、パブリッシュ／サブスクライブブローカは、アクションデータをｂａｃｋｅｎｄ１サーバ１４およびｂａｃｋｅｎｄ２サーバ１５に転送する（ステップ５１〜５３）。アクションデータは、ｂａｃｋｅｎｄ１サーバおよびｂａｃｋｅｎｄ２サーバによってログインされ（ステップ５４）、その後、実行アクションおよび制御が完了する（ステップ５５）。
【００７３】
図３と関連して説明されたシステムは、従ってパブリッシュ／サブスクライブブローカ１１と多数のＣＰＥデバイス１２と１またはいくつかのバックエンドエンティティ１４，１５との間で一対一、一対多、多対多通信を可能にする。バックエンドエンティティ１４，１５は、具体的にはＮＳＰネットワーク１０のネットワークサービスプロバイダによって、任意のインターネットサービスプロバイダによって、またはＣＰＥデバイス１２のベンダーまたはメーカーによって提供および／または管理されるサーバである。バックエンドエンティティ１５は、例えば、ネットワークサービスプロバイダによって提供されるサーバであり、バックエンドエンティティ１４は、ＣＰＥデバイス１２のメーカーによって提供されるサーバである。
【００７４】
本発明は、一つの特定のパブリッシュ／サブスクライブ技術に頼るのではなく、見込まれる多数のバックエンドエンティティによるエンドユーザデバイス管理の発明概念を加えることで、今日の業界の参照プロトコルよりもスケーラブルで費用効率が良い代替的な総合的ソリューションを提供する。
【００７５】
本システムは、以下の利点を有する：このアプローチは、例えば、通信オーバーヘッド、バックエンドエンティティがサポートすることができるデバイスの数に関して、従来の集中化された要求／応答ベースの管理アプローチよりもスケーラブルである。それによってバックエンドエンティティが中央ＡＣＳに依存する必要がなくなる。さらに、このアプローチは、エンドユーザデバイスとバックエンドエンティティとの一対一、一対多および多対多通信を疎結合された形式でサポートし、デバイスとエンティティがどこにでも常駐できる。
【００７６】
本システムは、さらに高速のバックエンド−デバイス間通信をサポートする。なぜならば、ＡＣＳは最初に接続要求をＣＰＥデバイスに送信しなければならず、その後でＣＰＥデバイスが管理セッションを行うためにＡＣＳに接続するという事例を有する、ＴＲ−０６９のような既存のソリューションに比べ、バックエンドエンティティは、データを常時送信／パブリッシュすることができるからである。このシステムによって、典型的にはＣＰＥデバイス自体から多数のＣＰＥデバイスに適用されるバックエンドロジックを配布することがさらに可能になり（集中化されたＴＲ−０６９  ＡＣＳロジックに対し）、スケーラビリティがかなり改善する。なぜならば、中央場所へ費用のかかる通信を行う必要がなくなるからである（典型的にはＡＣＳロジックは、デバイス上でデータを取り出すかまたは更新し、その結果／成果に基づいて次のステップをとる）。
【００７７】
本システムはさらに、従来の中央サーバが、例えば、ＡＣＳをサポートするのと違い、任意の数のバックエンドエンティティをサポートし、そして現在の最高水準（ＴＲ−０６９、ＳＮＭＰ、ＯＭＡ−ＤＭ）と比べて非常に広範囲の管理アプリケーションをサポートする。本システムは、（集中化されたブローカ、マルチキャストベースのパブリッシュ／サブスクライブブローカなどを用いて）下層の任意のウェブパブリッシュ／サブスクライブインフラストラクチャもサポートする。ＣＰＥデバイス１２は、具体的には小規模なデータ配布サービスに基づいてオペレーションを行う、ミドルウェアを使用できる。この種のミドルウェアは、パブリッシュ／サブスクライブ機構を経由してパブリッシュ／サブスクライブブローカ１１と動作するように容易に適用される。
【００７８】
さらに本発明の他の実施形態は、本発明の範囲から逸脱することなく当業者によって利用されてもよい。本発明は、具体的にはｘＤＳＬ、ＤＯＣＳＩＳまたはファイバー伝送を使用したワイドエリアネットワークであり、その他の有線または無線ブロードバンド技術、例えば、テレビ分配ケーブル、任意の光伝送、電力線ブロードバンド、ＷｉＭａｘまたは３Ｇ無線接続性にも適用可能であるが、これらに限定されない。説明したように本システムは、具体的にはＣＰＥデバイス、例えば、住居用ゲートウェイ、ルータ、スイッチ、電話機およびセットトップボックス、および家電機器、例えば、セル電話またはスマートフォン、タブレットＰＣ、およびスマートテレビなどの、あらゆる種類のネットワーク接続のエンドユーザデバイスに使用され得る。本発明は、従って以下に添付された本明細書の特許請求の範囲に属する。
【図１】
2015500520.tif 000003
【図２】
2015500520.tif 000004
【図３】
2015500520.tif 000005
【図４】
2015500520.tif 000006
【図５】
2015500520.tif 000007
【国際調査報告】
2015500520.tif 000008
2015500520.tif 000009
2015500520.tif 000010