(57)【要約】【課題】  本発明は、１つまたは複数のデバイス・オブジェクト（３２２、３２４、３２６、４１２）を作成し登録するためのデバイス・レジスタ（３２０、４１０）を含むコンピュータ・システム（３００、４００）を提供する。【解決手段】  １つまたは複数のデバイス・オブジェクトのうちの少なくとも１つのデバイス・オブジェクトは、ネットワーク接続（３１２、４１４）を介してセンサ・アプライアンス（３０６、３０８、３１０、４０２）のネットワーク・コネクタ（４０４）と通信するために構成される。デバイス・オブジェクトは、その機能を宣言することにより、センサ・アプライアンスの少なくとも１つのパラメータを公開するために構成される。このコンピュータ・システムは、少なくとも１つのデバイス・オブジェクトの少なくとも１つのパラメータを集約するための集約モデル（３３４、４２２）と、少なくとも１つのパラメータにおける変更または更新によって作成された発生イベントを記述した１組のワイヤリング定義（３４０、４１６）と、発生イベントに応じて集約モデルを更新するためのワイヤリング・ブローカ（３２８、４２０）とをさらに含む。【選択図】  図１
2015501473.tif 000002
【特許請求の範囲】
【請求項１】
１つまたは複数のデバイス・オブジェクト（３２２、３２４、３２６、４１２）を作成し登録するためのデバイス・レジスタ（３２０、４１０）であって、前記１つまたは複数のデバイス・オブジェクトのうちの少なくとも１つのデバイス・オブジェクトが、ネットワーク接続（３１２、４１４）を介してセンサ・アプライアンス（３０６、３０８、３１０、４０２）のネットワーク・コネクタ（４０４）と通信するために構成され、前記デバイス・オブジェクトが、その機能を宣言することにより、前記センサ・アプライアンスの少なくとも１つのパラメータ（３６４、３６６、３６８、９０８、９１０）を公開するために構成される、デバイス・レジスタ（３２０、４１０）と、
前記少なくとも１つのデバイス・オブジェクトの前記少なくとも１つのパラメータを集約するための集約モデル（３３４、４２２）と、
前記少なくとも１つのパラメータにおける変更または更新によって作成された発生イベントを記述した１組のワイヤリング定義（３４０、４１６）と、
前記発生イベントに応じて前記集約モデルを更新するためのワイヤリング・ブローカ（３２８、４２０）と
を含む、コンピュータ・システム（３００、４００）。
【請求項２】
前記コンピュータ・システムが、機械実行可能命令を保管するためのメモリ（３１８）をさらに含み、前記命令の実行により、
ａ．前記ネットワーク接続を使用して、ネットワーク接続可能デバイス（３０６、３０８、３１０、４０２）をネットワーク（３１２、４１４）に接続すること（１００、２００、５００）と、
ｂ．抽象化層（３２２、３２４、３２６、４１２）を使用して、ユーザ・インターフェース（３６２）上に前記ネットワーク接続可能デバイスを視覚化することであって、前記ネットワーク接続可能デバイスが、センサ、アクチュエータ、多機能デバイス、およびインターネット・サービスのうちのいずれか１つであることと、
ｃ．前記抽象化層を使用して前記デバイスを前記ユーザ・インターフェースに接続することにより、前記デバイス・レジスタを使用して前記デバイスを前記抽象化層に登録し（１０２、２０２、５０２）、その機能を宣言することと、
ｄ．切り離されたデバイスのコヒーレント・システムによりユーザ定義のコントローラ・ロジックを実現するために前記抽象化層を使用して前記ネットワーク接続可能デバイスをワイヤリングすることであって、前記抽象化層が、センサの状況変更を受信／ポーリングし、アクチュエータの状況変更をトリガするためのインフラストラクチャを提供し、前記抽象化層が、ソフトウェア抽象化層を使用することにより、デバイスあるいはサービスまたはその両方から独立したものであること
をプロセッサに実行させる、請求項１記載のコンピュータ・システム。
【請求項３】
前記コンピュータ・システムが、機械実行可能命令を保管するためのメモリ（３１８）をさらに含み、前記命令の実行により、
前記ネットワーク・コネクタを介して前記センサ・アプライアンスをネットワーク（３１２）に接続すること（１００、２００）と、
前記センサ・アプライアンスを前記デバイス・レジスタに登録すること（１０２、２０２）と、
前記デバイス・レジスタを使用して、前記登録されたセンサ・アプライアンスに関するデバイス・オブジェクトを作成すること（１０４、２０４）と、
前記デバイス・オブジェクトを介して前記センサ・アプライアンスの少なくとも１つのパラメータを提供すること（１０６、２０６）
をプロセッサに実行させる、請求項１または２記載のコンピュータ・システム。
【請求項４】
前記命令の実行により、
前記デバイス・アプライアンスから前記デバイス・オブジェクトによって更新値を受信すること（２０８）と、
前記更新値に応じて前記少なくとも１つのパラメータを更新すること（２１０）と、
前記少なくとも１つのパラメータを更新することによって引き起こされた少なくとも１つのイベントを発生させること（２１２）と、
前記少なくとも１つの発生イベントに応じて前記集約モデルを更新すること（２１４）と、
前記集約モデルに応じてＷｅｂページ・データを作成すること（２１６）と、
Ｗｅｂページ要求に応答して前記Ｗｅｂページ・データを提供すること（２１８）
を前記プロセッサにさらに実行させる、請求項３記載のコンピュータ・システム。
【請求項５】
前記コンピュータ・システムがポータル・サーバまたはＷｅｂサーバである、請求項１ないし４のいずれか１項記載のコンピュータ・システム。
【請求項６】
前記デバイス・オブジェクトが、前記センサ・アプライアンスの前記公開された少なくとも１つのパラメータの意味マッピングのために構成される、請求項１ないし５のいずれか１項記載のコンピュータ・システム。
【請求項７】
前記コンピュータ・システムが、前記集約モデルに応じて構築されたＷｅｂページ（３６２、９０６）を供するためのＷｅｂページ・アグリゲータ（３３６、４２４）をさらに含む、請求項１ないし６のいずれか１項記載のコンピュータ・システム。
【請求項８】
前記Ｗｅｂページが、前記デバイス・オブジェクトの前記公開されたパラメータの集約（３６２、９０６）を表示するために構成される、請求項７記載のコンピュータ・システム。
【請求項９】
前記デバイス・レジスタが、ＩＤ検証サービス（３７２）を使用して前記１つまたは複数のデバイス・オブジェクトのアクセス許可を検証するために構成される、請求項１ないし８のいずれか１項記載のコンピュータ・システム。
【請求項１０】
前記センサ・アプライアンスが、センサ（３６４）、アクチュエータ（３６６）、多機能デバイス、およびインターネット・サービス（３６８）のうちのいずれか１つである、請求項１ないし９のいずれか１項記載のコンピュータ・システム。
【請求項１１】
前記デバイス・オブジェクトが、プロパティ値の状況更新を送信すること、状況変更要求を受信すること、公開するためのセンサまたはアクチュエータ・パラメータ値を宣言すること、およびこれらの組み合わせのうちのいずれか１つのために構成される、請求項１ないし１０のいずれか１項記載のコンピュータ・システム。
【請求項１２】
前記公開されたパラメータが、取り出すべきデータ、設定すべきアクチュエータ・パラメータ、設定すべきデータ値、および設定すべき構成値のうちのいずれか１つである、請求項１ないし１１のいずれか１項記載のコンピュータ・システム。
【請求項１３】
前記デバイス・レジストリが、ソフトウェア・サービスに関するデバイス・オブジェクトを登録し作成するためにさらに適合される、請求項１ないし１２のいずれか１項記載のコンピュータ・システム。
【請求項１４】
前記ポータル・システム・サーバが、前記デバイス・レジストリの複数のインスタンスを含む、請求項１ないし１３のいずれか１項記載のコンピュータ・システム。
【請求項１５】
ユーザ・インターフェース（３６２、９０６）によりネットワーク接続可能独立デバイス（３０６、３０８、３１０、４０２）を接続するための方法であって、
ａ．センサまたはアクチュエータ・アプライアンスをネットワーク（３１２）に接続すること（１００、２００、５００）と、
ｂ．抽象化層（３２２、３２４、３２６、４１２）により、前記ユーザ・インターフェース上のそれぞれのネットワーク接続可能デバイスを視覚化することであって、前記ネットワーク接続可能デバイスが、「センサ」あるいは「アクチュエータ」またはその両方のタイプに属すことと、
ｃ．前記抽象化層を含む前記ユーザ・インターフェースにそれを接続することにより、それぞれのデバイスを前記抽象化層に登録し（１０２、２０２、５０２）、その機能を宣言することと、
ｄ．切り離されたデバイスのコヒーレント・システムによりユーザ定義のコントローラ・ロジックを実現するために前記抽象化層を介して選択されたネットワーク接続可能デバイスと選択されたその他のデバイスをワイヤリングすることであって、前記抽象化層が、センサの状況変更をポーリングし、アクチュエータの状況変更をトリガするためのインフラストラクチャを提供し、前記抽象化層が、ソフトウェア抽象化層を使用することにより、デバイスあるいはサービスまたはその両方から独立したものであること
を含む、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、センサあるいはアクチュエータまたはその両方の集約（aggregation）に関し、特に、デバイス・レジスタ（device register）およびワイヤリング・ブローカ（wiring broker）の使用によるセンサあるいはアクチュエータまたはその両方の集約に関する。
【背景技術】
【０００２】
様々なデバイスまたはセンサ・エレメントの接続は、１．交換すべきデータの種類の定義、２．適切なプロトコルに関する指定および合意、３．両側におけるプロトコルの実装、４．その後、通信を確立できるという諸ステップを必要とする。
【０００３】
その時点で確立される通信は、ステップ１で定義された限界に厳密に拘束される。この場合、どのエレメントを他のどのエレメントに接続するか、ならびにどのような特定の意図された動作モードまたは貢献が予想されるかは、設計時に分かっている。このような接続は、明確な低レベルの指定プロトコルに頼ることができる。システム設計者は、予想される情報交換を低レベルの意味論および構文の両面で明示的に計画することができる。多くの場合、このような設計はピアツーピアで行われる。コントローラは、双方で定義された方法でそのターゲット・エレメントに明示的に対処する。少なくとも何らかの抽象化を達成し、何らかの再利用を確立するために、ほとんど常に互換性のないいくつかの異なるプロトコルを定義して、アドレス可能度および相互接続性を一般化する場合もある。
【０００４】
ホーム・オートメーションの領域では、ＥｎＯＣｅａｎ、ＫＮＸ、Ｍｏｄｂｕｓ、Ｍ−Ｂｕｓなどの例がある。ときには、さらに他の高レベル・プロトコルが、これらの低レベル・プロトコルを共通項にマッピングしようと試みる。前記の例では、これはＯｂｉｘ（オブジェクト・ビルディング交換）になるであろう。Ｏｂｉｘは、４つの低レベル・プロトコルを１つの明確な共通ＸＭＬ構文に抽象化しようと試みる。
【０００５】
Ｏｂｉｘを使用すると、たとえば、低レベル・プロトコルのいずれについてもその詳細を把握せず、目下の特定のビルディング・インスタンスにおいてこれらのプロトコルのうちのどれが実際に使用されているかとは無関係に、そのビルディング内の照明をオンにすることが可能になるであろう。しかし、これを行うために、Ｏｂｉｘプロトコルは、すべての制御エレメントについて、意味論的および構文的に明確で厳格な低レベル・マッピングを必要とする。この例では、「照明をオンにする」というアクションと、これが低レベル・プロトコルにどのようにマッピングされるかについて明示的に把握しなければならない。システムが適切に機能するために、すべての可能なアクションおよびその意味を詳細に指定しなければならない。異なるセンサ／アクチュエータ／デバイスの接続性について明示的な意味論が必要である。
【０００６】
この手法の最も深刻な欠点の１つはそのスケーラビリティの欠如である。それぞれの新しいデバイスおよびそれぞれの新しい可能な接続ならびにセンサまたはアクチュエータ制御により、システムは、新しいエレメントが接続される可能性のあるすべてのその他の既存のエレメントに対する対話パターンについて明示的な定義を必要とする。これにより、遅かれ早かれ、収拾不可能なＮｘＭ関係の問題が発生することになる。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明は、独立クレームにおいて、ユーザ・インターフェースによりネットワーク接続可能デバイスを接続するためのコンピュータ・システムおよび方法を提供する。諸実施形態は従属クレームに示されている。
【課題を解決するための手段】
【０００８】
本発明の諸実施形態は、デバイス・レジスタを使用してセンサ・アプライアンス（sensor appliance）を統合することにより、上記その他の問題に対処するものである。デバイス・レジスタは、それぞれのセンサ・アプライアンスについてデバイス・オブジェクト（device object）を作成し、センサ・アプライアンスの少なくとも１つのパラメータを公開する（expose）。これにより、集約モデル（aggregation model）はそれぞれのセンサ・アプライアンスからの公開されたパラメータを集約することができる。センサの集約は、たとえば、デバイス・オブジェクトをＪａｖａポートレットとして実現することにより達成することができるであろう。次に、ワイヤリング・ブローカを使用して集約モデルを更新することができ、集約モデルはＷｅｂベースのユーザ・インターフェースを作成するために使用することができる。センサを集約することに加えて、これによりソフトウェア・サービスを集約モデルに結合することができる。これは、容易にスケーラブルであり、センサ・アプライアンス、ソフトウェア・サービス、あるいはＷｅｂサービス、またはこれらの組み合わせを統合するシステムを作成するという利点を有する可能性がある。
【０００９】
本明細書で使用する「コンピュータ可読記憶媒体」は、コンピューティング・デバイスのプロセッサによって実行可能な命令を保管することができる任意の有形記憶媒体を包含する。コンピュータ可読記憶媒体は、コンピュータ可読非一時的記憶媒体ということもできる。また、コンピュータ可読記憶媒体は、有形コンピュータ可読媒体ということもできる。いくつかの実施形態では、コンピュータ可読記憶媒体は、コンピューティング・デバイスのプロセッサによってアクセスすることができるデータを保管することもできる。コンピュータ可読記憶媒体の例としては、フレキシブル・ディスク、せん孔テープ、パンチカード、磁気ハード・ディスク・ドライブ、ソリッドステート・ハード・ディスク、フラッシュ・メモリ、ＵＳＢサムドライブ、ランダム・アクセス・メモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、光ディスク、光磁気ディスク、およびプロセッサのレジスタ・ファイルを含むが、これらに限定されない。光ディスクの例としては、コンパクト・ディスク（ＣＤ）およびデジタル多目的ディスク（ＤＶＤ）、たとえば、ＣＤ−ＲＯＭ、ＣＤ−ＲＷ、ＣＤ−Ｒ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＷ、またはＤＶＤ−Ｒディスクを含む。また、コンピュータ可読記憶媒体という用語は、ネットワークまたは通信リンクを介してコンピュータ・デバイスによってアクセスすることができる様々なタイプの記録媒体も指す。たとえば、データは、モデムにより、インターネットにより、またはローカル・エリア・ネットワークにより取り出すことができる。コンピュータ可読記憶媒体に対する言及は、おそらく複数のコンピュータ可読記憶媒体であるものと解釈すべきである。１つまたは複数のプログラムの様々な実行可能コンポーネントは種々の場所に保管することができる。コンピュータ可読記憶媒体は、たとえば、同じコンピュータ・システム内の複数のコンピュータ可読記憶媒体にすることができる。また、コンピュータ可読記憶媒体は、複数のコンピュータ・システムまたはコンピューティング・デバイス間に分散されたコンピュータ可読記憶媒体にすることもできる。
【００１０】
「コンピュータ・メモリ」または「メモリ」はコンピュータ可読記憶媒体の一例である。コンピュータ・メモリは、プロセッサにとって直接アクセス可能な任意のメモリである。コンピュータ・メモリの例としては、ＲＡＭメモリ、レジスタ、およびレジスタ・ファイルを含むが、これらに限定されない。「コンピュータ・メモリ」または「メモリ」に対する言及は、おそらく複数のメモリであるものと解釈すべきである。メモリは、たとえば、同じコンピュータ・システム内の複数のメモリにすることができる。また、メモリは、複数のコンピュータ・システムまたはコンピューティング・デバイス間に分散された複数のメモリにすることもできる。
【００１１】
「コンピュータ・ストレージ」または「ストレージ」はコンピュータ可読記憶媒体の一例である。コンピュータ・ストレージは任意の不揮発性コンピュータ可読記憶媒体である。コンピュータ・ストレージの例としては、ハード・ディスク・ドライブ、ＵＳＢサムドライブ、フレキシブル・ディスク・ドライブ、スマート・カード、ＤＶＤ、ＣＤ−ＲＯＭ、およびソリッドステート・ハード・ディスク・ドライブを含むが、これらに限定されない。いくつかの実施形態では、コンピュータ・ストレージはコンピュータ・メモリでもある可能性があり、逆もまた同様である。「コンピュータ・ストレージ」または「ストレージ」に対する言及は、おそらく複数のストレージであるものと解釈すべきである。ストレージは、たとえば、同じコンピュータ・システムまたはコンピューティング・デバイス内の複数のストレージ・デバイスにすることができる。また、ストレージは、複数のコンピュータ・システムまたはコンピューティング・デバイス間に分散された複数のストレージにすることもできる。
【００１２】
本明細書で使用する「コンピュータ・システム」は、プロセッサを含む任意のデバイスを包含する。本明細書で使用する「プロセッサ」は、プログラムまたは機械実行可能命令を実行することができる電子部品を包含する。「プロセッサ」を含むコンピューティング・デバイスに対する言及は、おそらく２つ以上のプロセッサまたはプロセッシング・コアを含むものと解釈すべきである。プロセッサは、たとえば、マルチコア・プロセッサにすることができる。また、プロセッサは、単一のコンピュータ・システム内にあるかまたは複数のコンピュータ・システム間に分散された複数プロセッサの集合を指すこともできる。また、コンピューティング・デバイスという用語は、おそらく、それぞれが１つまたは複数のプロセッサを含む複数コンピューティング・デバイスの集合またはネットワークを指すものと解釈すべきである。多くのプログラムは、同じコンピューティング・デバイス内にある可能性があるかまたは複数のコンピューティング・デバイス間に分散される可能性のある複数のプロセッサによってその命令が実行されている。
【００１３】
本明細書で使用する「ディスプレイ」または「表示装置」は、画像またはデータを表示するために適合させた出力装置またはユーザ・インターフェースを包含する。ディスプレイは、視覚データ、聴覚データ、あるいは触覚データ、またはこれらの組み合わせを出力することができる。
【００１４】
一態様では、本発明は、１つまたは複数のデバイス・オブジェクトを作成し登録するためのデバイス・レジスタを含むコンピュータ・システムを提供する。１つまたは複数のデバイス・オブジェクトのうちの少なくとも１つのデバイス・オブジェクトは、ネットワーク接続を介してセンサ・アプライアンスのネットワーク・コネクタと通信するために構成される。デバイス・オブジェクトは、その機能を宣言することにより、センサ・アプライアンスの少なくとも１つのパラメータを公開するために構成される。本明細書で使用するセンサ・アプライアンスは、物理的測定を行うか、あるいは物質界と対話するデバイスまたは装置を制御するか、またはその両方を行うために構成された任意のデバイスを包含する。たとえば、センサ・アプライアンスは、測定値を取るセンサを含むことができる。一例は温度センサになるであろう。また、センサ・アプライアンスは、物理的装置または機械を制御する何かを包含することもできる。たとえば、センサ・アプライアンスは、ソーラー・パネルまたはウィンドウ・システム上のアクチュエータを制御することができるであろう。このコンピュータ・システムは、少なくとも１つのデバイス・オブジェクトの少なくとも１つのパラメータを集約するための集約モデルをさらに含む。
【００１５】
集約モデルは、その他のデバイス・オブジェクトあるいはソフトウェア・サービスまたはその両方からパラメータを集約することができる。このコンピュータ・システムは、少なくとも１つのパラメータにおける変更または更新によって作成された発生イベント（raised event）を記述した１組のワイヤリング定義（wiringdefinition）をさらに含む。たとえば、あるパラメータの値が変更された場合、そのパラメータ変更がイベントを発生させる可能性がある。たとえば、温度の値は特定の値より上または下になる可能性がある。これは、ワイヤリング定義によって定義された応答を引き起こすイベントを発生させる。このコンピュータ・システムは、発生イベントに応じて集約モデルを更新するためのワイヤリング・ブローカをさらに含む。いくつかの実施形態では、デバイス・レジスタは、ワイヤリングを使用してまとめて接続することができるデバイス・オブジェクトを介してポートレットを提供する。たとえば、いくつかの実施形態でワイヤリング、集約モデル、およびワイヤリング・ブローカを提供するために、ＩＢＭ  ＷｅｂＳｐｈｅｒｅ  Ｐｏｒｔａｌシステムを使用することができる。この実施形態は、典型的にＷｅｂサービスを統合するために使用されるシステムにセンサ・アプライアンスを統合する方法を提供するので、有益である可能性がある。したがって、ネットワーク・アプライアンスは、Ｗｅｂブラウザ上に表示されたユーザ・インターフェースなどのユーザ・インターフェースを介して制御することができる。
【００１６】
他の実施形態では、このコンピュータ・システムはポータル・サーバである。
【００１７】
他の実施形態では、少なくとも１つのパラメータは、その機能を宣言することにより公開される。これは、デバイスのタイプ、ならびに抽象化層（abstraction layer）内の入力パラメータあるいは出力パラメータまたはその両方などのパラメータを含むことができる。
【００１８】
他の実施形態では、このコンピュータ・システムは、ハードウェアベースのセンサ情報を提供できるデバイス・オブジェクトによって表されるデバイスをさらに含む。これらはハードウェアベースのアクチュエータとして反応することができ、物理的な多機能デバイスまたはソフトウェアベースのインターネット・サービスも表すこともできる。
【００１９】
他の実施形態では、抽象化層は、センサの状況変更を受信するかあるいはポーリングするかまたはその両方を行い、アクチュエータの状況変更をトリガするためのインフラストラクチャを提供する。
【００２０】
他の実施形態では、ワイヤリング・ブローカは、状況アプリケーション（situational application）を構築するために、異なるデバイスのデバイス機能を相互に接続するために構成される。たとえば、状況アプリケーションはマッシュアップにすることができる。
【００２１】
他の実施形態では、このコンピュータ・システムは、機械実行可能命令を保管するためのメモリをさらに含む。命令の実行により、プロセッサは、ネットワーク接続を使用して、ネットワーク接続可能デバイスをネットワークに接続する。ネットワーク接続可能デバイスはセンサ・アプライアンスにすることができる。さらに、命令の実行により、プロセッサは、抽象化層を使用して、ユーザ・インターフェース上にネットワーク接続可能デバイスを視覚化する。抽象化層を使用して、ユーザ・インターフェース上にネットワーク接続可能デバイスを視覚化することは、ネットワーク接続可能デバイスから集約したデータをディスプレイのグラフィカル・ユーザ・インターフェース上に表示することと同等である可能性がある。また、ユーザ・インターフェース上にネットワーク接続可能デバイスを視覚化することは、Ｗｅｂブラウザによって描画されたグラフィカル・ユーザ・インターフェース上に集約データを表示することと同等である可能性もある。ネットワーク接続可能デバイスは、センサ、アクチュエータ、多機能デバイス、およびインターネット・サービスのうちのいずれか１つである。
【００２２】
さらに、命令の実行により、プロセッサは、抽象化層を使用してそのデバイスをユーザ・インターフェースに接続することにより、デバイス・レジスタを使用してそのデバイスを抽象化層に登録し、その機能を宣言する。いくつかの実施形態では、抽象化層は、デバイス・レジストリ（device registry）によって作成されたデバイス・オブジェクトと同等である可能性がある。
【００２３】
さらに、命令の実行により、プロセッサは、切り離されたデバイスのコヒーレント・システムによりユーザ定義のコントローラ・ロジックを実現するために抽象化層を使用してネットワーク接続可能デバイスをワイヤリングする。抽象化層は、センサの状況変更を受信するかあるいはポーリングするかまたはその両方を行い、アクチュエータの状況変更をトリガするためのインフラストラクチャを提供する。抽象化層は、ソフトウェア抽象化層を使用することにより、デバイスあるいはサービスまたはその両方から独立したものである。
【００２４】
他の実施形態では、ネットワークは、たとえば、インターネットである。
【００２５】
他の実施形態では、ユーザ・インターフェースは、たとえば、プラットフォームとして使用されるＷｅｂページにすることができる。これは、いくつかの実施形態では、Ｗｅｂページを介して行うことができる。
【００２６】
他の実施形態では、抽象化層に登録されたそれぞれのデバイスはその機能を宣言する。これは、デバイスのタイプと、入力および出力パラメータを含むことができる。
【００２７】
他の実施形態では、このコンピュータ・システムは、機械実行可能命令を保管するためのメモリをさらに含む。命令の実行により、プロセッサは、ネットワーク・コネクタを介してセンサ・アプライアンスをネットワークに接続する。さらに、命令の実行により、プロセッサは、センサ・アプライアンスをデバイス・レジスタに登録する。さらに、命令の実行により、プロセッサは、デバイス・レジスタを使用して、登録されたセンサ・アプライアンスに関するデバイス・オブジェクトを作成する。さらに、命令の実行により、プロセッサは、デバイス・オブジェクトを介してセンサ・アプライアンスの少なくとも１つのパラメータを提供する。この実施形態は、ユーザ・インターフェースにセンサ・アプライアンスを統合する容易な方法を提供するので、有益である可能性がある。これは、ポータル・サーバにセンサを統合するときに特に有益である可能性がある。
【００２８】
他の実施形態では、センサ・アプライアンスはＷｅｂサービスを介してネットワークに接続される。
【００２９】
他の実施形態では、さらに、命令の実行により、プロセッサはデバイス・オブジェクトによって更新値を受信し、デバイス・アプライアンスは更新値を提供する。さらに、命令の実行により、プロセッサは、更新値に応じて少なくとも１つのパラメータを更新する。デバイス・オブジェクトは少なくとも１つのパラメータを更新することができる。さらに、命令の実行により、プロセッサは、少なくとも１つのパラメータを更新することによって引き起こされた少なくとも１つのイベントを発生させる。さらに、命令の実行により、プロセッサは、少なくとも１つの発生イベントに応じて集約モデルを更新する。
【００３０】
さらに、命令の実行により、プロセッサは、集約モデルに応じてＷｅｂページ・データを作成する。本明細書で使用するＷｅｂページ・データは、グラフィカル・ユーザ・インターフェースを提供するためにＷｅｂブラウザによって表示または使用することができるデータを包含する。これは、ＨＴＭＬ、ＸＭＬ、ならびにＪａｖａアプレットなどのアプレットを含むことができる。さらに、命令の実行により、プロセッサは、Ｗｅｂページ要求に応答してＷｅｂページ・データを提供する。このコンピュータ・システムは、Ｗｅｂサーバとして機能し、Ｗｅｂページ要求に応答してＷｅｂページ・データを提供することができる。この実施形態は、Ｗｅｂブラウザ上に表示することができるグラフィカル・ユーザ・インターフェースにセンサを統合する効果的な方法を提供するので、有益である可能性がある。Ｗｅｂブラウザは、センサ・アプライアンスからのデータを表示するために、ならびにセンサ・アプライアンスの動作および機能を制御するためのデータを送信するためにも使用することができる。
【００３１】
他の実施形態では、コンピュータ・システムはポータル・サーバまたはＷｅｂサーバである。
【００３２】
他の実施形態では、デバイス・オブジェクトは、センサ・アプライアンスの公開された少なくとも１つのパラメータの意味マッピング（semantic mapping）のために構成される。たとえば、このコンピュータ・システムは、意味マッパ（semantic mapper）を実現するためのコンピュータ実行可能コードを含むことができる。本明細書で使用する意味マッパは、ある名前空間から他の名前空間にデータ・エレメントを変換する際に支援するツールまたはソフトウェア・サービスである。これは、意味のある方法でセンサ・アプライアンスをユーザ・インターフェースに統合するのに役立つ可能性があるので、特に有益である可能性がある。
【００３３】
他の実施形態では、このコンピュータ・システムは、集約モデルに応じて構築されたＷｅｂページを供するためのＷｅｂページ・アグリゲータ（webpage aggregator）をさらに含む。Ｗｅｂページ・アグリゲータは、Ｗｅｂページ要求に応答して送信することができるページ・データを構築するために使用されるコンピュータ実行可能コードにすることができる。Ｗｅｂページ・アグリゲータは、Ｗｅｂページを構築するために、集約モデルを使用してデータを集約する。
【００３４】
他の実施形態では、Ｗｅｂページは、デバイス・オブジェクトの公開されたパラメータの集約を表示するために構成される。この実施形態は、ひとまとめにして情報を使用するかあるいは様々なセンサ・アプライアンスを制御するかまたはその両方を行うためにユーザが使用できるユーザ・インターフェースを提供するので、特に有益である可能性がある。
【００３５】
他の実施形態では、デバイス・レジスタは、ＩＤ検証サービス（identity verification service）を使用して１つまたは複数のデバイス・オブジェクトのアクセス許可を検証するために構成される。これは、１つまたは複数のデバイス・オブジェクトがインターネットを介して接続することができ、複数の場所に存在することができるので、有益である可能性がある。ＩＤ検証サービスの使用により、デバイス・オブジェクトを介してセンサ・アプライアンスを統合することができる。個々のセンサ・アプライアンスには、そのデバイスでユーザ・プロファイル・データを取り出して適切な決定を行うことができる、個々のユーザＩＤを授与することができる。これにより、デバイスは、ユーザのために特定の状態情報または条件を設定するためにユーザ・プロファイル・データまたは何らかの種類の状態情報を変更することもできる。これにより、デバイスは相互に対話することもできる。また、これにより、デバイスは、これらのデバイス・アプライアンスによる特定のアクションをトリガするために自律的に動作することもできる。
【００３６】
他の実施形態では、センサ・アプライアンスはセンサである。
【００３７】
他の実施形態では、センサ・アプライアンスはアクチュエータである。
【００３８】
他の実施形態では、センサ・アプライアンスはコントローラである。
【００３９】
他の実施形態では、センサ・アプライアンスは多機能デバイスである。多機能デバイスは、センサ、アクチュエータ、およびコントローラの特徴を含むことができる。
【００４０】
他の実施形態では、センサ・アプライアンスはインターネット・サービスである。
【００４１】
他の実施形態では、デバイス・オブジェクトは、プロパティ値の状況更新を送信すること、状況変更要求を受信すること、公開するためのセンサまたはアクチュエータ・パラメータ値を宣言すること、およびこれらの組み合わせのうちのいずれか１つのために構成される。
【００４２】
他の実施形態では、公開されたパラメータは、受信すべきデータ、設定すべきアクチュエータ・パラメータ、設定すべきデータ値、および設定すべき構成値のうちのいずれか１つである。
【００４３】
他の実施形態では、デバイス・レジストリは、ソフトウェア・サービスに関するデバイス・オブジェクトを登録し作成するためにさらに適合される。この実施形態は、センサ・アプライアンスおよびソフトウェア・サービスを同等のものとして統合できるので、特に有利である。これにより、相互運用可能になり、連携機能を使用するように、センサ・アプライアンスおよびソフトウェア・サービスを容易に統合することができる。
【００４４】
他の実施形態では、サービス・システムは、１組のワイヤリング定義を変更するかあるいは作成するかまたはその両方を行うためのワイヤリング・エディタをさらに含む。
【００４５】
他の実施形態では、ポータル・サービス・システムはデバイス・レジストリの複数のインスタンスを含む。これは、異なるタイプのデバイスが多様なデバイス・レジストリを使用できるので、特に有利である可能性がある。たとえば、センサ・アプライアンスとして統合されたスマートフォンを有する場合、電気通信プロバイダは、このデバイス用のデバイス・レジストリを提供することができる。アラーム・システムまたはホーム・コントロール・システムは、そのアラーム・システムまたはホーム・コントロール・システムのサービス会社によって提供されるデバイス・レジストリを使用することができる。複数のデバイス・レジストリを使用することにより、センサ・アプライアンスのより多様なネットワークを統合することができる。
【００４６】
他の態様では、本発明は、センサまたはアクチュエータ・アプライアンスをネットワークに接続することを含み、ユーザ・インターフェースを介してネットワーク接続可能独立デバイスを接続する方法を提供する。この方法は、抽象化層により、ユーザ・インターフェース上のそれぞれのネットワーク接続可能デバイスを視覚化することをさらに含む。ネットワーク接続可能デバイスは、センサあるいはアクチュエータまたはその両方のタイプに属す。この方法は、抽象化層を含む前記ユーザ・インターフェースにそれを接続することにより、それぞれのデバイスを前記抽象化層に登録し、その機能を宣言するステップをさらに含む。この方法は、切り離されたデバイスのコヒーレント・システムによりユーザ定義の制御可能ロジックを実現するために抽象化層を使用して選択されたネットワーク接続可能デバイスと選択されたその他のデバイスをワイヤリングするステップをさらに含む。抽象化層は、センサの状況変更をポーリングし、アクチュエータの状況変更をトリガするためのインフラストラクチャを提供する。抽象化層は、ソフトウェア抽象化層を使用することにより、デバイスあるいはサービスまたはその両方から独立したものである。
【００４７】
他の態様では、本発明は、センサ・アプライアンスをポータル・サーバ・システムに接続する方法を提供する。この方法は、Ｗｅｂサービスを介してセンサ・アプライアンスをネットワークに接続するステップを含む。この方法は、Ｗｅｂサービスを使用してセンサ・アプライアンスをデバイス・レジスタに登録するステップをさらに含む。この方法は、登録されたセンサ・アプライアンスに関するデバイス・オブジェクトを作成するステップをさらに含む。この方法は、デバイス・オブジェクトを介してセンサ・アプライアンスの少なくとも１つのパラメータを提供するステップをさらに含む。
【００４８】
他の実施形態では、この方法は、デバイス・アプライアンスにより更新値を送信するステップをさらに含む。この方法は、更新値に応じて少なくとも１つのパラメータを更新するステップをさらに含む。この方法は、少なくとも１つのパラメータを更新することによって引き起こされた少なくとも１つのイベントを発生させるステップをさらに含む。この方法は、少なくとも１つの発生イベントに応じて集約モデルを更新するステップをさらに含む。この方法は、集約モデルに応じてＷｅｂページ・データを作成するステップをさらに含む。この方法は、Ｗｅｂページ要求に応答してＷｅｂページ・データを提供するステップをさらに含む。
【００４９】
他の態様では、本発明は、プロセッサによって実行するための機械実行可能命令を含む非一時的コンピュータ可読記憶媒体を提供する。命令の実行により、プロセッサは、Ｗｅｂサービスを介してセンサ・アプライアンスをネットワークに接続する。さらに、命令の実行により、プロセッサは、Ｗｅｂサービスを使用してセンサ・アプライアンスをデバイス・レジストリに登録する。さらに、命令の実行により、プロセッサは、登録されたセンサ・アプライアンスに関するデバイス・オブジェクトを作成する。さらに、命令の実行により、プロセッサは、デバイス・オブジェクトを使用してセンサ・アプライアンスの少なくとも１つのパラメータを公開する。
【００５０】
本発明の好ましい諸実施形態について、図面を参照して、一例としてのみ以下に詳細に説明する。
【図面の簡単な説明】
【００５１】
【図１】本発明の一実施形態による方法を示す流れ図である。
【図２】本発明の他の一実施形態による方法を示す流れ図である。
【図３】本発明の一実施形態によるコンピュータ・システムを示す図である。
【図４】本発明の一実施形態によるコンピュータ・システムの機能図である。
【図５】コンピュータ・システムへのデバイスまたはセンサ・アプライアンスの接続を示す流れ図である。
【図６】ワイヤリング・エディタの動作を示す流れ図である。
【図７】ワイヤリング・ブローカの動作を示す流れ図である。
【図８】ページ・アグリゲータの使用を示す流れ図である。
【図９】本発明の一実施形態によるコンピュータ・システムを使用するためのグラフィカル・ユーザ・インターフェースの使用を示す図である。
【発明を実施するための形態】
【００５２】
以下の説明では、上記の図で同様の番号が付けられた要素は、同様の要素であるか、または同等の機能を実行するものである。前に述べた要素については、機能が同等であれば、必ずしも以降の図で述べないものとする。
【００５３】
図１は、本発明の一実施形態による方法を示す流れ図を示している。ステップ１００では、センサ・アプライアンスがネットワークに接続される。次に、ステップ１０２では、センサ・アプライアンスがデバイス・レジスタに登録される。ステップ１０４では、デバイス・レジスタが、登録されたセンサ・アプライアンスに関するデバイス・オブジェクトを作成する。最後に、ステップ１０６では、デバイス・オブジェクトが、センサ・アプライアンスの少なくとも１つのパラメータを提供する。
【００５４】
図２は、本発明の他の一実施形態による方法を示す流れ図を示している。まず、ステップ２００では、センサ・アプライアンスがネットワークに接続される。次に、ステップ２０２では、センサ・アプライアンスがデバイス・レジスタに登録される。次に、ステップ２０４では、デバイス・レジスタが、登録されたセンサ・アプライアンスに関するデバイス・オブジェクトを作成する。ステップ２０６では、デバイス・オブジェクトが、センサ・アプライアンスの少なくとも１つのパラメータを提供する。次に、ステップ２０８では、センサ・アプライアンスからの更新値がデバイス・オブジェクトによって受信される。次に、ステップ２１０では、デバイス・オブジェクトが、更新値に応じて少なくとも１つのパラメータを更新する。次に、ステップ２１２では、少なくとも１つのパラメータの更新により、少なくとも１つのイベントが発生する。
【００５５】
次に、ステップ２１４では、少なくとも１つの発生イベントに応じて集約モデルが更新される。発生イベントは、集約モデルを更新する方法に関する指示を含む可能性がある。ステップ２１６では、集約モデルに応じてＷｅｂページ・データが作成される。最後に、ステップ２１８では、Ｗｅｂページ要求に応答してＷｅｂページ・データが提供される。これは、たとえば、インターネットを介して異なるコンピュータ・システムにＷｅｂページ・データを送信することである可能性がある。
【００５６】
図３は、本発明の一実施形態によるコンピュータ・システムを示している。コンピュータ・システム３００が示されている。第２のコンピュータ・システム３０２はネットワーク接続３０４によりコンピュータ・システム３００に接続されている。ネットワーク接続３０４は、たとえば、インターネット接続、またはイーサネット接続などのその他のタイプのネットワーク接続にすることができる。第１のネットワーク・アプライアンス３０６、第２のネットワーク・アプライアンス３０８、および第３のネットワーク・アプライアンス３１０など、いくつかのネットワーク・アプライアンスが存在し、そのそれぞれはネットワーク接続３１２によりコンピュータ・システム３００に接続されている。
【００５７】
コンピュータ・システム３００は、コンピュータ・ストレージ３１６およびコンピュータ・メモリ３１８に接続されたプロセッサ３１４を含む。コンピュータ・メモリ３１８内にはデバイス・レジスタ３２０が存在する。デバイス・レジスタ３２０は、デバイス・オブジェクト３２２、３２４、３２６を作成することができるデバイス・レジスタを実現するための機械実行可能コードを含む。コンピュータ・メモリ３１８は、第１のネットワーク・アプライアンス３０６を接続するための第１のデバイス・オブジェクト３２２と、第２のネットワーク・アプライアンス３０８を接続するための第２のデバイス・オブジェクト３２４と、第３のネットワーク・アプライアンス３１０を接続するための第３のデバイス・オブジェクト３２６とを収容している。メモリ３１８はワイヤリング・ブローカ３２８をさらに収容している。コンピュータ・メモリ３１８は、第１のネットワーク・アプライアンス３０６から受信した更新値３３０をさらに収容している。更新値３３０の結果、発生したものとしてメモリ３１８に収容されて示されているイベント３３２が得られる。発生イベント３３２により、集約モデル更新モジュール３３４は、コンピュータ・ストレージ３１６に保管されている集約モデル３３８を更新する。コンピュータ・メモリ３１８は、集約モデル３３８を使用してＷｅｂページ・データ３４２を生成するためのＷｅｂページ・アグリゲータ３３６をさらに収容している。Ｗｅｂページ・データ３４２は、コンピュータ・ストレージ３１６に保管されているものとして示されている。コンピュータ・ストレージ３１６は、更新値３３０がイベント３３２を発生させるかどうかを判断するために使用される１組のワイヤリング定義３４０をさらに収容している。
【００５８】
第２のコンピュータ・システム３０２は、コンピュータ・ストレージ３５２およびコンピュータ・メモリ３５４に接続されたプロセッサ３５０を含むものとして示されている。プロセッサはディスプレイ３５６にさらに接続されている。プロセッサ３５０は、Ｗｅｂページを供するための要求をコンピュータ・システム３００に送信する。Ｗｅｂページ・データ３４２は、ネットワーク接続３０４を介してコンピュータ・システムから第２のコンピュータ・システム３０２に転送されている。Ｗｅｂページ・データ３４２はコンピュータ・ストレージ３５２内に示されている。コンピュータ・メモリ３５４は、Ｗｅｂブラウザ３６０を含むものとして示されている。ディスプレイ３５６上には、Ｗｅｂページ・データ３４２を使用してＷｅｂブラウザ３６０によってグラフィカル・ユーザ・インターフェース３６２が描画されている。このグラフィカル・ユーザ・インターフェース内には、いくつかのデータ表示およびコントロール領域が存在する。パラメータ３６４はセンサ・データ３６４を表示している。パラメータ３６６はアクチュエータ・コントロールを示している。領域３６８は、たとえば、スマートフォンを制御するためのデバイス・コントロール３６８を示している。コントロール３７０はサービス・コントロール３７０を示している。これらは、オペレータのための責務または職務を実行するために提供されるソフトウェア・サービスにすることができるであろう。
【００５９】
ユーザ・インターフェース３６２に隣接して、ユーザ・アカウントおよびプロファイル３７４をホストとして処理するＩＤ検証サービス３７２を示すクラウドが存在する。第１のデバイス・オブジェクト３２２は、第１のセンサ・アプライアンス３０６の接続を使用し検証するために自動車プロファイル３７６を使用することができる。センサ・プロファイル３７８は第２のデバイス・オブジェクト３２４を使用することができ、第３のデバイス・オブジェクト３２６は第３のセンサ・アプライアンス３１０を接続するために電話プロファイル３８０を使用することができる。この例には、コンピュータ・システムのすべてのコンポーネントを実現する、単一のプロセッサ３１４と単一のコンピュータ・システム３００が存在する。しかし、任意の数のコンピュータ・システム内に任意の数のプロセッサ３１４を分散させることもできる。特に、デバイス・オブジェクト３２２、３２４、３２６およびデバイス・レジスタ３２０は、Ｗｅｂページ・アグリゲータ３３６とは別個のコンピュータ・システム上に実現することができる。
【００６０】
図４は、本発明の一実施形態によるコンピュータ・システム４００の機能図を示している。いくつかのデバイスまたはセンサ・アプライアンス４０２が存在し、そのそれぞれがそれ自体のネットワーク・コネクタ４０４を有する。ネットワーク・コネクタ４０４は、ネットワーク接続４０８を介してデバイス・レジストリ４１０に接続されている。センサ・アプライアンス４０２がデバイス・レジストリ４１０に登録された後、デバイス・レジストリ４１０はそれぞれのデバイス・アプライアンス４０２に関するデバイス・オブジェクト４１２を作成する。その場合、ネットワーク・コネクタ４０４は、ネットワーク接続４１４を使用して、デバイス・オブジェクト４１２と直接接続することができる。デバイス・レジストリは、デバイス・オブジェクト４１２を登録し作成する。ネットワーク接続４１４により、デバイス・オブジェクトおよび関連のネットワーク・コネクタ４０４は、ＷｅｂまたはＲＥＳＴサービスを介して、たとえば、センサに関するプロパティ値の状況更新を送信することができ、それは、Ｗｅｂ／ＲＥＳＴサービスを介して、たとえば、アクチュエータに関するプロパティ値の状況変更要求を受信することができる。
【００６１】
いくつかの実施形態では、ネットワーク・コネクタ４０４は、公開するためのセンサまたはアクチュエータ・パラメータを宣言することができる。デバイス・オブジェクト４１２は、公開されたパラメータの状態を保管するかあるいか取り出すかまたはその両方を行う。デバイス・オブジェクト４１２は様々なパラメータを公開する。１組のワイヤリング定義４１６は、公開されたパラメータの変更または更新の効果を制御するために使用される。ワイヤリング定義４１６を変更するために使用することができるワイヤリング・エディタ４１８と、ワイヤリング定義４１６を使用して設定値を変更させるかあるいは公開された変更または更新済みプロパティ値の効果を使用するワイヤリング・ブローカ４２０が存在する。公開されたパラメータの状態を取り出すかまたは公開されたパラメータの状態を設定するために使用される集約モデル４２２が存在する。集約モデル４２２は、デバイス・プロファイル情報によるページ集約４２４について可能である。集約したデバイス・プロファイル情報を使用してユーザ・インターフェースを描画するために、ワイヤリング・エディタ４１８を制御するかあるいはページ集約を要求するかまたはその両方を行うために使用することができるＷｅｂブラウザ４２６が存在する。
【００６２】
図５は、本発明の一実施形態によりデバイスまたはセンサ・アプライアンスをコンピュータ・システムに接続する方法を示す流れ図を示している。ステップ５００では、デバイスまたはセンサ・アプライアンスがＷｅｂサービスによりネットワークに接続する。ステップ５０２では、デバイスがＷｅｂサービスによりそれ自体をデバイス・レジストリに登録する。次に、ステップ５０４では、デバイス・レジスタがデバイス・オブジェクトを作成する。次に、ステップ５０６では、デバイスが、Ｗｅｂサービスによりそれがアクチュエータである場合に受信するかあるいはそれがセンサである場合に送信するかまたはその両方を行うことができるそのプリファレンスを宣言する。
【００６３】
図６は、ワイヤリング・エディタ４１８によって実行されるステップを示す流れ図を示している。ステップ６００では、ワイヤリング・エディタ内で、ユーザがイベントまたはワイヤのソースとしてデバイス・オブジェクトからプロパティを選択する。次に、ステップ６０２では、ユーザがイベントまたはワイヤのターゲットとしてデバイス・オブジェクトからプロパティを選択する。次に、ステップ６０４では、変更したワイヤリングが保管される。
【００６４】
図７は、本発明の一実施形態によるワイヤリング・ブローカの機能を示す流れ図を示している。ステップ７００では、デバイスがＷｅｂサービスによりセンサ・プロパティの更新値をサーバに送信する。次に、ステップ７０２では、新しい値を反映するためにデバイス・オブジェクトが更新される。ステップ７０４では、ワイヤリング・ブローカは、このプロパティに対してワイヤリングされたすべてのターゲット・プロパティを識別することにより、変更を聴取し、適切に変更するように反応する。次に、ステップ７０６では、ワイヤリング・ブローカは、ワイヤリングされたデバイス・オブジェクト内のターゲット・プロパティを更新する。次に、ステップ７０８では、ワイヤリング・ブローカは、ワイヤリングされたデバイス・オブジェクト内のターゲット・プロパティを更新する。最後に、ステップ７１０では、デバイス・オブジェクトが新しい値についてデバイスまたはセンサ・アプライアンスに通知する。この通知は、プッシュ・サービスによるかまたはデバイスに更新をポーリングさせることにより行うことができる。
【００６５】
図８は、ページ・アグリゲータの使用を示す流れ図を示している。ステップ８００では、ユーザは、ユーザ・インターフェースを使用して、自分のデバイス・プロファイルにログインする。次に、ステップ８０２では、ページ・アグリゲータは、すべての登録済みデバイスをリストし、宣言されたプロパティの現行値を表示する。
【００６６】
図９は、システム全体の機能を示すために使用されている。ワイヤリング・エディタを制御するためのユーザ・インターフェース９００が示されている。１つの領域には、アクチュエータ・ワイヤリング・インターフェース９０２が存在する。第２の領域には、センサ・ワイヤリング・インターフェース９０４が存在する。
【００６７】
グラフィカル・ユーザ・インターフェース９００内のワイヤリングによって指定されたページ集約の一例を示すグラフィカル・ユーザ・インターフェース９０６が示されている。センサ集約９０８およびアクチュエータ集約９１０が示されている。
【００６８】
グラフィカル・ユーザ・インターフェース９００および９０６は、サウナ加熱温度を制御するためにカーナビゲーション・システムをどのように使用するかを示している。自動車が自宅に接近し、自宅から７ｋｍ未満の距離にある場合、サウナの温度は摂氏８０度の温度に設定される。これは、ワイヤリング・ユーザ・インターフェース９００を使用して設定される。インターフェース９０６はこれらのワイヤリング・ルールの効果を示している。９０６では、自動車は７ｋｍの距離にあるものとして示され、したがって、サウナは摂氏８０度の温度に設定される。
【００６９】
本発明の諸実施形態を実現するためにＪａｖａポートレットを使用することができる。ポートレット・イベントは、ポートレット間の通信のために強力で柔軟な公開／加入メカニズムを提供する。これらのイベントを使用して、ポートレット間で複雑なデータを交換し、バックエンド・システムへの更新などのポートレット活動をトリガすることができる。ポータルでは、これらのイベントは、協調ポートレットおよびクリック・ツー・アクションなどのその他の通信メカニズムと相互運用することもできる。
【００７０】
Ｊａｖａポートレット規格２．０の概念：  ポートレット・イベントに関するプログラミングの詳細は、Ｊａｖａポートレット規格２．０に定義されている。ポートレットは、ｒｅｓｐｏｎｓｅ．ｓｅｔＥｖｅｎｔ（）呼び出しを使用することによってイベントを公開し、ｐｒｏｃｅｓｓＥｖｅｎｔメソッドでイベントを受信することができる。ＧｅｎｅｒｉｃＰｏｒｔｌｅｔクラスは、＠ＰｒｏｃｅｓｓＥｖｅｎｔ注釈に基づいてイベントをディスパッチする、デフォルト・イベント処理メカニズムを提供する。
【００７１】
ポートレット・プログラマとしては、ポートレットがｐｏｒｔｌｅｔ．ｘｍｌ配備記述子で公開または受信することができるすべてのイベントを宣言する。
【００７２】
ポータル内のイベント配信は制御することができる。Ｊａｖａポートレット規格は、ポートレット間でどのようにイベントが渡されるかについて開放状態のままであるが、どのように公開され受信されるかについてのみ指定している。ＩＢＭ  ＷｅｂＳｐｈｅｒｅ  Ｐｏｒｔａｌバージョン７．０では、イベント配信は、協調ポートレットを接続するために使用されるものと同じイベント・ブローカおよびワイヤリング技法に基づくものである。これは、あるページにポートレットを置いた場合、それが当初はどのイベントも公開または受信できないことを意味する。そのポートレットによって宣言されたイベントを他のポートレットの出力または入力に接続するためには、ポートレット・ワイヤリング・ツール・リンクを使用しなければならない。
【００７３】
ポートレットは、アプリケーション・リソース・バンドル内のポートレット・イベントについてローカライズされたディスプレイ名および記述を宣言することができる。ポートレット・ワイヤリング・ツールはイベント・ソースおよびターゲットを適切に表示するためにこの情報を必要とするので、少なくともディスプレイ名を提供する。
【００７４】
ワイヤは２つのポートレット間に作成することができる。２つのポートレット間にワイヤを作成するために、ソース・ポートレットが宣言する出力は、ターゲット・ポートレットが宣言する入力と一致しなければならない。この一致は以下の２つのレベルのいずれかにすることができる。
１．データの意味内容を記述するＸＭＬ名：
ａ．ＪＳＲ２８６イベントの場合、これはｐｏｒｔｌｅｔ．ｘｍｌで宣言されたイベント名によって表される。
ｂ．協調ポートレットの場合、これは協調ポートレットＷＳＤＬで宣言されたプロパティ・タイプのＸＭＬ名によって表される。
２．データの実際のＪａｖａクラス表現。
デフォルトでは、ワイヤリング・ツールは意味ＸＭＬ名の一致を必要とする。調整されたグローバル名前空間に関する要件を回避するために、ＪＳＲ２８６ポートレットは１つのイベントについて複数の別名を宣言することができる。これにより、１つのポートレットは、異なる命名規則を使用する複数の他のポートレットに接続することができる。ｐｏｒｔｌｅｔ．ｘｍｌのポートレット・セクション内の意味ＸＭＬ名がピリオド（．）で終わっている場合、それはワイルドカード文字として機能する。同じプレフィックスを有するｐｏｒｔｌｅｔ．ｘｍｌのポートレット・アプリケーション・セクションに定義された他の意味ＸＭＬ名と一致させるために、それを使用することができる。この一致方式は、同じペイロード・フォーマットを有する同様のポートレット・イベントのグループを均一に処理するために有用である可能性がある。
【００７５】
２つのポートレットが、たとえば、電子メール・アドレスなどの共通フォーマットについて、同じデータ・フォーマットを使用しているが、異なるＸＭＬ名を宣言していることが分かっている場合、ペイロード・タイプに関する一致に切り替えることができ、これにより、ＸＭＬ意味名にかかわらず、ソースとターゲットとの間にワイヤを作成することができる。これは、入力として任意の文字列を受け入れることができる、非常に総称的なターゲット・ポートレットにも有用である可能性がある。
【００７６】
本発明の諸実施形態は新しい方法で両方のエリアに対処するものであり、いずれも物理的あるいは論理的またはその両方の（サービス）インスタンスになり得るセンサとアクチュエータを接続し、ユーザは、低レベルの詳細について悩まずに非常に高い意味レベルで自分の希望および要求を指定することにより、本質的にまさしくその頂点で上記の説明のステップ４から直接開始する。複雑さは、特定の状況アプリケーションを定義／要求するときにユーザによって定義される意味論と、すべての参加エレメント間の単純な接続との組み合わせによって処理される。本明細書が実施される方法は、ワイヤリング・ポートレットからの概念を活用し、これを、物理的デバイスあるいはサービスまたはその両方に関するより一般的なケースに適用するものである。
【００７７】
ＭｙＣｏｌｌｅｃｔは、ユーザが自分のデバイス／センサ／アクチュエータのすべてを登録／登録抹消して維持することができるクラウド内の個別化された中心的な焦点とする。
【００７８】
本発明で提案された手法は、依然として、自分のセンサおよびアクチュエータをＭｙＣｏｌｌｅｃｔに登録すること（したがって、接続すること）を必要とする。しかし、インターフェースの定義は意味論的に非常に高レベルかつ抽象的なものにすることができる。たとえば、自分のスマートフォンを位置センサとして（とりわけ）ＭｙＣｏｌｌｅｃｔに知らせることができるであろう。自宅のサウナは、オン／オフすることができるアクチュエータとして、また任意選択でその状況のオン／オフに関するセンサとしてもＭｙＣｏｌｌｅｃｔに知らせることができるであろう。いずれの場合もこのインターフェースは技術的に単純にフラットな文字列型（またはオン／オフについてブールのようなその他の基本型）であり、その意図された用途または他の何かに関するさらなる意味論は付加されない。
【００７９】
図９を参照すると、スマートフォンの位置およびサウナのアクチュエータを日付／時刻サービスとともに（常に使用可能なセンサとして）使用すると、ユーザは単純に以下の状況アプリケーションを「ワイヤリング」することができる。すなわち、金曜日の１７時以降であって、３０ｋｍを超える距離まで自宅に接近中である場合、最終的に自宅に到着したときにサウナが使用できる状態になっているように、サウナを自動的にオンにしたいと希望する。
【００８０】
サウナもスマートフォンもタイミング・サービスも、それらが関連する状況アプリケーションの意味論について何も知る必要はない。接続はインテリジェント・ユーザによって意味論的に行われる。ユーザは、サウナまたはスマートフォンが使用するプロトコルについて何も知る必要はない。サウナおよびスマートフォンは非常に単純な高レベル・インターフェースを実現するだけでよい。システムは主として開放されスケーラブルである。ＭｙＣｏｌｌｅｃｔに知らされるエレメントが多いほど、多くの可能性および機能が使用可能になる。その他のエレメントがシステムに追加されるので、任意の既存のエレメントに対して何も変更を加える必要はない。「知能（smart）」は自分の希望／要求を表すユーザによって提供される。それぞれのエレメントは明示的にユーザに限定された登録を介し、すべての可能な情報フロー／アクションについてユーザ自身の管理下に置かれたままになるので、プライバシー面は適切に処理することができる。
【図１】
2015501473.tif 000003
【図２】
2015501473.tif 000004
【図３】
2015501473.tif 000005
【図４】
2015501473.tif 000006
【図５】
2015501473.tif 000007
【図６】
2015501473.tif 000008
【図７】
2015501473.tif 000009
【図８】
2015501473.tif 000010
【図９】
2015501473.tif 000011
【手続補正書】
【提出日】平成26年4月28日(2014.4.28)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
１つまたは複数のデバイス・オブジェクトを作成し登録するためのデバイス・レジスタであって、前記１つまたは複数のデバイス・オブジェクトのうちの少なくとも１つのデバイス・オブジェクトが、ネットワーク接続を介してセンサ・アプライアンスのネットワーク・コネクタと通信するために構成され、前記デバイス・オブジェクトが、その機能を宣言することにより、前記センサ・アプライアンスの少なくとも１つのパラメータを公開するために構成される、デバイス・レジスタと、
前記少なくとも１つのデバイス・オブジェクトの前記少なくとも１つのパラメータを集約するための集約モデルと、
前記少なくとも１つのパラメータにおける変更または更新によって作成された発生イベントを記述した１組のワイヤリング定義と、
前記発生イベントに応じて前記集約モデルを更新するためのワイヤリング・ブローカと
を含む、コンピュータ・システム。
【請求項２】
前記コンピュータ・システムが、機械実行可能命令を保管するためのメモリをさらに含み、前記命令の実行により、
前記ネットワーク接続を使用して、ネットワーク接続可能デバイスをネットワークに接続することと、
抽象化層を使用して、ユーザ・インターフェース上に前記ネットワーク接続可能デバイスを視覚化することであって、前記ネットワーク接続可能デバイスが、センサ、アクチュエータ、多機能デバイス、およびインターネット・サービスのうちのいずれか１つであることと、
前記抽象化層を使用して前記デバイスを前記ユーザ・インターフェースに接続することにより、前記デバイス・レジスタを使用して前記デバイスを前記抽象化層に登録し、その機能を宣言することと、
切り離されたデバイスのコヒーレント・システムによりユーザ定義のコントローラ・ロジックを実現するために前記抽象化層を使用して前記ネットワーク接続可能デバイスをワイヤリングすることであって、前記抽象化層が、センサの状況変更を受信／ポーリングし、アクチュエータの状況変更をトリガするためのインフラストラクチャを提供し、前記抽象化層が、ソフトウェア抽象化層を使用することにより、デバイスあるいはサービスまたはその両方から独立したものであること
をプロセッサに実行させる、請求項１記載のコンピュータ・システム。
【請求項３】
前記コンピュータ・システムが、機械実行可能命令を保管するためのメモリをさらに含み、前記命令の実行により、
前記ネットワーク・コネクタを介して前記センサ・アプライアンスをネットワークに接続することと、
前記センサ・アプライアンスを前記デバイス・レジスタに登録することと、
前記デバイス・レジスタを使用して、前記登録されたセンサ・アプライアンスに関するデバイス・オブジェクトを作成することと、
前記デバイス・オブジェクトを介して前記センサ・アプライアンスの少なくとも１つのパラメータを提供すること
をプロセッサに実行させる、請求項１または２記載のコンピュータ・システム。
【請求項４】
前記命令の実行により、
前記デバイス・アプライアンスから前記デバイス・オブジェクトによって更新値を受信することと、
前記更新値に応じて前記少なくとも１つのパラメータを更新することと、
前記少なくとも１つのパラメータを更新することによって引き起こされた少なくとも１つのイベントを発生させることと、
前記少なくとも１つの発生イベントに応じて前記集約モデルを更新することと、
前記集約モデルに応じてＷｅｂページ・データを作成することと、
Ｗｅｂページ要求に応答して前記Ｗｅｂページ・データを提供すること
を前記プロセッサにさらに実行させる、請求項３記載のコンピュータ・システム。
【請求項５】
前記コンピュータ・システムがポータル・サーバまたはＷｅｂサーバである、請求項１ないし４のいずれか１項記載のコンピュータ・システム。
【請求項６】
前記デバイス・オブジェクトが、前記センサ・アプライアンスの前記公開された少なくとも１つのパラメータの意味マッピングのために構成される、請求項１ないし５のいずれか１項記載のコンピュータ・システム。
【請求項７】
前記コンピュータ・システムが、前記集約モデルに応じて構築されたＷｅｂページを供するためのＷｅｂページ・アグリゲータをさらに含む、請求項１ないし６のいずれか１項記載のコンピュータ・システム。
【請求項８】
前記Ｗｅｂページが、前記デバイス・オブジェクトの前記公開されたパラメータの集約を表示するために構成される、請求項７記載のコンピュータ・システム。
【請求項９】
前記デバイス・レジスタが、ＩＤ検証サービスを使用して前記１つまたは複数のデバイス・オブジェクトのアクセス許可を検証するために構成される、請求項１ないし８のいずれか１項記載のコンピュータ・システム。
【請求項１０】
前記センサ・アプライアンスが、センサ、アクチュエータ、多機能デバイス、およびインターネット・サービスのうちのいずれか１つである、請求項１ないし９のいずれか１項記載のコンピュータ・システム。
【請求項１１】
前記デバイス・オブジェクトが、プロパティ値の状況更新を送信すること、状況変更要求を受信すること、公開するためのセンサまたはアクチュエータ・パラメータ値を宣言すること、およびこれらの組み合わせのうちのいずれか１つのために構成される、請求項１ないし１０のいずれか１項記載のコンピュータ・システム。
【請求項１２】
前記公開されたパラメータが、取り出すべきデータ、設定すべきアクチュエータ・パラメータ、設定すべきデータ値、および設定すべき構成値のうちのいずれか１つである、請求項１ないし１１のいずれか１項記載のコンピュータ・システム。
【請求項１３】
前記デバイス・レジストリが、ソフトウェア・サービスに関するデバイス・オブジェクトを登録し作成するためにさらに適合される、請求項１ないし１２のいずれか１項記載のコンピュータ・システム。
【請求項１４】
前記ポータル・システム・サーバが、前記デバイス・レジストリの複数のインスタンスを含む、請求項１ないし１３のいずれか１項記載のコンピュータ・システム。
【請求項１５】
ユーザ・インターフェースによりネットワーク接続可能独立デバイスを接続するための方法であって、
センサまたはアクチュエータ・アプライアンスをネットワークに接続することと、
抽象化層により、前記ユーザ・インターフェース上のそれぞれのネットワーク接続可能デバイスを視覚化することであって、前記ネットワーク接続可能デバイスが、「センサ」あるいは「アクチュエータ」またはその両方のタイプに属すことと、
前記抽象化層を含む前記ユーザ・インターフェースにそれを接続することにより、それぞれのデバイスを前記抽象化層に登録し、その機能を宣言することと、
切り離されたデバイスのコヒーレント・システムによりユーザ定義のコントローラ・ロジックを実現するために前記抽象化層を介して選択されたネットワーク接続可能デバイスと選択されたその他のデバイスをワイヤリングすることであって、前記抽象化層が、センサの状況変更をポーリングし、アクチュエータの状況変更をトリガするためのインフラストラクチャを提供し、前記抽象化層が、ソフトウェア抽象化層を使用することにより、デバイスあるいはサービスまたはその両方から独立したものであること
を含む、方法。
【国際調査報告】
2015501473.tif 000012
2015501473.tif 000013