(57)【要約】  正規化されたユーザインタフェース記述子を使用したコラージュユーザインタフェースによってスマートオブジェクトを制御する方法、装置、及びコンピュータプログラムプロダクトが提供される。複数のユティリティデバイスからユーザインタフェース記述データを受信する方法が提供される。ユーザインタフェース記述データは、個々のユティリティデバイスと関連付けられたアクセス及び制御データを含む。又、この方法は、ユーザインタフェース記述データに基づいて、コラージュ化されたユーザインタフェースを生成するステップと、第一ユーザインタフェース記述データを第二ユーザインタフェース記述データと関連付ける第一ユーザインタフェース記述データと関連付けられた信号を受信するステップと、コラージュ化されたユーザインタフェースが、ユーザ機器ユーザインタフェース上において表示されるようにするステップと、をも具備する。
2017516239.tif 000002
【特許請求の範囲】
【請求項１】
方法であって、
複数のユティリティデバイスからユーザインタフェース記述データを受信するステップであって、該ユーザインタフェース記述データは、個々のユティリティデバイスと関連付けられたアクセス及び制御データを具備する、ステップと、
該ユーザインタフェース記述データに基づいて、コラージュ化されたユーザインタフェースを生成するステップと、
第一ユーザインタフェース記述データを第二ユーザインタフェース記述データと関連付ける該第一ユーザインタフェース記述データと関連付けられた信号を受信するステップと、
該コラージュ化されたユーザインタフェースが、ユーザ機器ユーザインタフェース上において表示されるようにするステップと、
を具備する方法。
【請求項２】
制御信号通知を受信するステップと、
該複数のユティリティデバイスのうちの少なくとも一つのユティリティデバイスへの制御信号の送信を起動するステップと、
を具備する、請求項１に記載の方法。
【請求項３】
該第一及び第二ユーザインタフェース記述データを関連付ける該信号は、サブスクライブ又はパブリッシュメッセージを具備する、請求項２に記載の方法。
【請求項４】
ユティリティデバイスデータを受信するステップと、
該受信されたユティリティデバイスデータに基づいて、該コラージュ化されたユーザインタフェースを更新するステップと、
を更に具備する、請求項２に記載の方法。
【請求項５】
該ユーザインタフェース記述データは、リソース識別子を更に具備する、請求項１に記載の方法。
【請求項６】
方法であって、
ユティリティデバイスのユーザインタフェース記述データの送信を起動するステップであって、該ユティリティデバイスのユーザインタフェース記述データは、該ユティリティデバイスと関連付けられたアクセス及び制御データを具備する、ステップと、
ユーザ機器から制御信号を受信するステップであって、該制御信号は該ユーザインタフェース記述データに基づいている、ステップと、
該制御信号に基づいてユティリティデバイスデータの送信を起動するステップと、
を具備する方法。
【請求項７】
該制御信号に基づいてコマンドを実行するステップ、
を更に具備する、請求項６に記載の方法。
【請求項８】
少なくとも一つのプロセッサと、コンピュータプログラムコードを含む少なくとも一つのメモリと、を具備する装置であって、該少なくとも一つのメモリ及びコンピュータプログラムコードは、該プロセッサとともに、該装置が、少なくとも、
複数のユティリティデバイスからユーザインタフェース記述データを受信し、ここで、該ユーザインタフェース記述データは、個々のユティリティデバイスと関連付けられたアクセス及び制御データを具備し、
該ユーザインタフェース記述データに基づいて、コラージュ化されたユーザインタフェースを生成し、
第一ユーザインタフェース記述データを第二ユーザインタフェース記述データと関連付ける該第一ユーザインタフェース記述データと関連付けられた信号を受信し、
該コラージュ化されたユーザインタフェースが、ユーザ機器のユーザインタフェース上において表示されるようにする、
ようにするべく構成されている、装置。
【請求項９】
該少なくとも一つのメモリ及び該コンピュータプログラムコードは、
制御信号通知を受信し、
該複数のユティリティデバイスのうちの少なくとも一つのユティリティデバイスへの制御信号の送信を起動する、
ように更に構成されている、請求項８に記載の装置。
【請求項１０】
該少なくとも一つのメモリ及び該コンピュータプログラムコードは、
ユティリティデバイスデータを受信し、
該受信されたユティリティデバイスデータに基づいて該コラージュ化されたユーザインタフェースを更新する、
ように更に構成されている、請求項８に記載の装置。
【請求項１１】
装置であって、
複数のユティリティデバイスからユーザインタフェース記述データを受信する手段であって、該ユーザインタフェース記述データは、個々のユティリティデバイスと関連付けられたアクセス及び制御データを具備する、手段と、
該ユーザインタフェース記述データに基づいて、コラージュ化されたユーザインタフェースを生成する手段と、
第一ユーザインタフェース記述データを第二ユーザインタフェース記述データと関連付ける該第一ユーザインタフェース記述データと関連付けられた信号を受信する手段と、
該コラージュ化されたユーザインタフェースが、ユーザ機器のユーザインタフェース上において表示されるようにする手段と、
を具備する装置。
【請求項１２】
制御信号通知を受信する手段と、
該複数のユティリティデバイスのうちの少なくとも一つのユティリティデバイスへの制御信号の送信を起動する手段と、
を具備する、請求項１１に記載の装置。
【請求項１３】
該第一及び第二ユーザインタフェース記述データを関連付ける該信号は、サブスクライブ又はパブリッシュメッセージを具備する、請求項８又は請求項１１に記載の装置。
【請求項１４】
該ユーザインタフェース記述データは、サポート許可要求データを更に具備する、請求項８又は請求項１１に記載の装置。
【請求項１５】
少なくとも一つのプロセッサと、コンピュータプログラムコードを含む少なくとも一つのメモリと、を具備する装置であって、該少なくとも一つのメモリ及びコンピュータプログラムコードは、該プロセッサとともに、該装置が、少なくとも、
ユティリティデバイスのユーザインタフェース記述データの送信を起動し、ここで、該ユティリティデバイスのユーザインタフェース記述データは、該ユティリティデバイスと関連付けられたアクセス及び制御データを具備し、
ユーザ機器から制御信号を受信し、ここで、該制御信号は該ユーザインタフェース記述データに基づいており、
該制御信号に基づいてユティリティデバイスデータの送信を起動する、
ようにするべく構成されている、装置。
【請求項１６】
該少なくとも一つのメモリ及び該コンピュータプログラムコードは、
該制御信号に基づいてコマンドを実行する、
ように更に構成されている、請求項１５に記載の装置。
【請求項１７】
装置であって、
ユティリティデバイスのユーザインタフェース記述データの送信を起動する手段であって、該ユティリティデバイスのユーザインタフェース記述データは、該ユティリティデバイスと関連付けられたアクセス及び制御データを具備する、手段と、
ユーザ機器から制御信号を受信する手段であって、該制御信号は該ユーザインタフェース記述データに基づいている、手段と、
該制御信号に基づいてユティリティデバイスデータの送信を起動する手段と、
を具備する装置。
【請求項１８】
該制御信号に基づいてコマンドを実行する手段、
を更に具備する、請求項１７に記載の装置。
【請求項１９】
コンピュータ実行可能プログラム部分が内部に保存された少なくとも一つの非一時的コンピュータ可読ストレージ媒体を具備するコンピュータプログラムプロダクトであって、該コンピュータ実行可能プログラムコード部分は、
複数のユティリティデバイスからユーザインタフェース記述データを受信し、ここで、該ユーザインタフェース記述データは、個々のユティリティデバイスと関連付けられたアクセス及び制御データを具備し、
該ユーザインタフェース記述データに基づいて、コラージュ化されたユーザインタフェースを生成し、
第一ユーザインタフェース記述データを第二ユーザインタフェース記述データと関連付ける該第一ユーザインタフェース記述データと関連付けられた信号を受信し、
該コラージュ化されたユーザインタフェースが、ユーザ機器のユーザインタフェース上において表示されるようにする、
ように構成されたプログラムコード命令を具備する、コンピュータプログラムプロダクト。
【請求項２０】
該コンピュータ実行可能プログラムコード部分は、
制御信号通知を受信し、
該複数のユティリティデバイスのうちの少なくとも一つのユティリティデバイスへの制御信号の送信を起動する、
ように構成されたプログラムコード命令を更に具備する、請求項１９に記載のコンピュータプログラムプロダクト。
【請求項２１】
該第一及び第二ユーザインタフェース記述データを関連付ける該信号は、サブスクライブ又はパブリッシュメッセージを具備する、請求項１９に記載のコンピュータプログラムプロダクト。
【請求項２２】
該コンピュータ実行可能プログラムコード部分は、
ユティリティデバイスデータを受信し、
該受信されたユティリティデバイスデータに基づいて該コラージュ化されたユーザインタフェースを更新する、
ように構成されたプログラムコード命令を更に具備する、請求項１９に記載のコンピュータプログラムプロダクト。
【請求項２３】
コンピュータ実行可能プログラム部分が内部に保存された少なくとも一つの非一時的コンピュータ可読ストレージ媒体を具備するコンピュータプログラムプロダクトであって、該コンピュータ実行可能プログラムコード部分は、
ユティリティデバイスのユーザインタフェース記述データの送信を起動し、ここで、該ユティリティデバイスのユーザインタフェース記述データは、該ユティリティデバイスと関連付けられたアクセス及び制御データを具備し、
ユーザ機器から制御信号を受信し、ここで、該制御信号は該ユーザインタフェース記述データに基づいており、
該制御信号に基づいてユティリティデバイスデータの送信を起動する、
ように構成されたプログラムコード命令を具備する、コンピュータプログラムプロダクト。
【請求項２４】
該コンピュータ実行可能プログラムコード部分は、
該制御信号に基づいてコマンドを実行する、
ように構成されたプログラムコード命令を更に具備する、請求項２３に記載のコンピュータプログラムプロダクト。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の例示用の実施形態は、スマートオブジェクトの制御に関し、且つ、更に詳しくは、正規化されたユーザインタフェース記述子を使用したコラージュユーザインタフェースによるスマートオブジェクトの制御に関する。
【背景技術】
【０００２】
例えば、スマート装置などの、モノのインターネット（internet of things）が増大するのに伴って、更に多くの且つ新しいタイプの装置の制御が可能となる。これらの装置のうちのいくつかは、インターネット接続性を有するように構成されることになり、且つ、その他のものは、インターネットには接続されない状態において、スマート化することになる。ユーザは、最大の容易性と最小限の遅延トラブルとにより、これらのすべての装置が制御されることを所望する。
【０００３】
いくつかの現時点におけるスマート装置の制御技術は、領域ごとに構築されており、それぞれの装置ごとに、専用のアプリケーション及び／又はウェブサイトを有する。この結果、ユーザに対して個々の装置の制御が提供されるが、複数の装置アプリケーションを稼働させるために大量の処理パワーが消費されることになり、且つ、装置とユーザインタフェースとの間における相互接続性が乏しくなる。
【発明の概要】
【０００４】
正規化されたユーザインタフェース記述子を使用してコラージュユーザインタフェースによってスマートオブジェクトを制御するべく、例示用の実施形態に従って、方法及び装置が提供される。例示用の実施形態においては、複数のユティリティデバイスからユーザインタフェース記述データを受信するステップを含む方法が提供される。ユーザインタフェース記述データは、個々のユティリティデバイスと関連付けられたアクセス及び制御データを含んでもよい。又、この方法は、ユーザインタフェース記述データに基づいてコラージュ化されたユーザインタフェースを生成するステップと、第一ユーザインタフェース記述データを第二ユーザインタフェース記述データと関連付ける第一ユーザインタフェース記述データと関連付けられた信号を受信するステップと、コラージュ化されたユーザインタフェースが、ユーザ機器のユーザインタフェース上において表示されるようにするステップと、をも含む。
【０００５】
又、例示用の実施形態においては、この方法は、制御信号通知を受信するステップと、複数のユティリティデバイスのうちの少なくとも一つのユティリティデバイスへの制御信号の送信を起動するステップと、をも含む。この方法の例示用の実施形態においては、第一及び第二ユーザインタフェース記述データを関連付ける信号は、サブスクライブ又はパブリッシュメッセージを有する。又、例示用の実施形態の方法は、ユティリティデバイスデータを受信するステップと、受信したユティリティデバイスデータに基づいて、コラージュ化されたユーザインタフェースを更新するステップと、をも含む。この方法の例示用の実施形態においては、ユーザインタフェース記述データは、リソース識別子を更に有する。
【０００６】
例示用の実施形態においては、ユティリティデバイスのユーザインタフェース記述データの送信を起動するステップを含む方法が提供されている。ユティリティデバイスのユーザインタフェース記述データは、ユティリティデバイスと関連付けられたアクセス及び制御データを有する。又、この方法は、ユーザインタフェース記述データに基づいてユーザ機器から制御信号を受信するステップと、ユティリティデバイスデータの送信を起動するステップと、をも含む。又、例示用の実施形態においては、この方法は、制御信号に基づいてコマンドを実行するステップをも含む。
【０００７】
例示用の実施形態においては、少なくとも一つのプロセッサと、コンピュータプログラムコードを含む少なくとも一つのメモリと、を含む装置が提供され、少なくとも一つのメモリ及びコンピュータプログラムコードは、プロセッサとともに、装置が、少なくとも、複数のユティリティデバイスからユーザインタフェース記述データを受信するようにするべく構成されている。ユーザインタフェース記述データは、個々のユティリティデバイスと関連付けられたアクセス及び制御データを有する。又、少なくとも一つのメモリ及びコンピュータプログラムコードは、ユーザインタフェース記述データに基づいて、コラージュ化されたユーザインタフェースを生成し、第一ユーザインタフェース記述データを第二ユーザインタフェース記述データと関連付ける第一ユーザインタフェース記述データと関連付けられた信号を受信し、且つ、コラージュ化されたユーザインタフェースがユーザ機器のユーザインタフェース上において表示されるようにするべく、構成されてもよい。
【０００８】
少なくとも一つのメモリ及びコンピュータプログラムコードは、プロセッサとともに、例示用の実施形態の装置が、制御信号通知を受信し、且つ、複数のユティリティデバイスのうちの少なくとも一つのユティリティデバイスへの制御信号の送信を起動するように更に構成されてもよい。この装置の例示用の実施形態においては、第一及び第二ユーザインタフェース記述データを関連付ける信号は、サブスクライブ又はパブリッシュメッセージを有する。少なくとも一つのメモリ及びコンピュータプログラムコードは、プロセッサとともに、例示用の実施形態の装置が、ユティリティデバイスデータを受信し、且つ、受信したユティリティデバイスデータに基づいて、コラージュ化されたインタフェースを更新するようにするべく、更に構成されてもよい。
【０００９】
例示用の実施形態においては、少なくとも一つのプロセッサと、コンピュータプログラムコードを含む少なくとも一つのメモリと、を含む装置が提供され、少なくとも一つのメモリ及びコンピュータプログラムコードは、プロセッサとともに、装置が、少なくとも、ユティリティデバイスのユーザインタフェース記述データの送信を起動するようにするべく、構成されている。ユティリティデバイスのユーザインタフェース記述データは、ユティリティデバイスと関連付けられたアクセス及び制御データを有する。又、少なくとも一つのメモリ及びコンピュータプログラムコードは、プロセッサとともに、装置が、ユーザインタフェース記述データに基づいてユーザ機器から制御信号を受信し、且つ、ユティリティデバイスデータの送信を起動するようにするべく、構成されてもよい。
【００１０】
少なくとも一つのメモリ及びコンピュータプログラムコードは、プロセッサとともに、例示用の実施形態の装置が、制御信号に基づいてコマンドを実行するようにするべく、更に構成されてもよい。装置の例示用の実施形態においては、ユーザインタフェース記述データは、サポート許可要求データを更に有する。
【００１１】
例示用の実施形態においては、コンピュータ実行可能プログラム部分が内部に保存された少なくとも一つの非一時的コンピュータ可読ストレージ媒体を含むコンピュータプログラムプロダクトが提供され、コンピュータ実行可能プログラム部分は、複数のユティリティデバイスからユーザインタフェース記述データを受信するように構成されたプログラムコード命令を含む。ユーザインタフェース記述データは、個々のユティリティデバイスと関連付けられたアクセス及び制御データを有する。又、コンピュータプログラムプロダクトの例示用の実施形態のコンピュータ実行可能プログラムコード部分は、ユーザインタフェース記述データに基づいて、コラージュ化されたユーザインタフェースを生成し、第一ユーザインタフェース記述データを第二ユーザインタフェース記述データと関連付ける第一ユーザインタフェース記述データと関連付けられた信号を受信し、且つ、コラージュ化されたユーザインタフェースが、ユーザ機器のユーザインタフェース上において表示されるようにするべく、構成されたプログラムコード命令を含んでもよい。
【００１２】
又、コンピュータプログラムプロダクトの例示用の実施形態のコンピュータ実行可能プログラムコード部分は、制御信号通知を受信し、且つ、複数のユティリティデバイスのうちの少なくとも一つのユティリティデバイスへの制御信号の送信を起動するように構成されたプログラムコード命令を含んでもよい。コンピュータプログラムプロダクトの例示用の実施形態においては、第一及び第二ユーザインタフェース記述データを関連付ける信号は、サブスクライブ又はパブリッシュメッセージを含む。
【００１３】
又、コンピュータプログラムプロダクトの例示用の実施形態のコンピュータ実行可能プログラムコード部分は、ユティリティデバイスデータを受信し、且つ、受信したユティリティデバイスデータに基づいて、コラージュ化されたユーザインタフェースを更新するように構成されたプログラムコード命令を含んでもよい。
【００１４】
例示用の実施形態においては、コンピュータ実行可能プログラム部分が内部に保存された少なくとも一つの非一時的コンピュータ可読ストレージ媒体を含むコンピュータプログラムプロダクトが提供され、コンピュータ実行可能プログラム部分は、ユティリティデバイスのユーザインタフェース記述データの送信を起動し、ここで、ユティリティデバイスのユーザインタフェース記述データは、ユティリティデバイスと関連付けられたアクセス及び制御データを有し、ユーザインタフェース記述データに基づいてユーザ機器から制御信号を受信し、且つ、ユティリティデバイスデータの送信を起動するように構成されている。又、コンピュータプログラムプロダクトの例示用の実施形態のコンピュータ実行可能プログラムコード部分は、制御信号に基づいてコマンドを実行するように構成されたプログラムコード命令を含んでもよい。
【００１５】
更に別の例示用の実施形態においては、複数のユティリティデバイスからユーザインタフェース記述データを受信する手段を含む装置が提供される。ユーザインタフェース記述データは、個々のユティリティデバイスと関連付けられたアクセス及び制御データを有する。又、この装置は、コラージュ化されたユーザインタフェースを生成する手段と、第一ユーザインタフェース記述データを第二ユーザインタフェース記述データと関連付ける第一ユーザインタフェース記述データと関連付けられた信号を受信する手段と、コラージュ化されたユーザインタフェースが、ユーザ機器のユーザインタフェース上において表示されるようにする手段と、を含んでもよい。又、例示用の実施形態においては、装置は、制御信号通知を受信し、且つ、複数のユティリティデバイスのうちの少なくとも一つのユティリティデバイスへの制御信号の送信を起動する手段をも含む。又、例示用の実施形態の装置は、ユティリティデバイスデータを受信し、且つ、受信したユティリティデバイスデータに基づいて、コラージュ化されたユーザインタフェースを更新する手段をも含む。
【００１６】
例示用の実施形態においては、ユティリティデバイスのユーザインタフェース記述データの送信を起動する手段を含む装置が提供される。ユティリティデバイスのユーザインタフェース記述データは、ユティリティデバイスと関連付けられたアクセス及び制御データを有する。又、この装置は、ユーザインタフェース記述データに基づいてユーザ機器から制御信号を受信する手段と、ユティリティデバイスデータの送信を起動する手段と、をも含む。又、例示用の実施形態においては、装置は、制御信号に基づいてコマンドを実行する手段をも含む。
【図面の簡単な説明】
【００１７】
本発明の例示用の実施形態の概略的な説明は、以上において終了し、以下、添付図面を参照することとするが、これらの図面は、必ずしも正確な縮尺で描かれてはいない。
【００１８】
【図１】図１は、本発明の例示用の実施形態による通信ダイアグラムを示す。
【図２】図２は、本発明の例示用の実施形態による正規化されたユーザインタフェース記述子を使用したコラージュユーザインタフェースによるスマートオブジェクトの制御のために特に構成され得る装置のブロックダイアグラムである。
【図３】図３は、本発明の実施形態による例示用の簡単なコラージュユーザインタフェースのレンダリングを示す。
【図４】図４及び図５は、本発明の例示用の実施形態による図２の装置などによって実行される動作を示すフローチャートである。
【図５】図４及び図５は、本発明の例示用の実施形態による図２の装置などによって実行される動作を示すフローチャートである。
【発明を実施するための形態】
【００１９】
以下、本発明の、すべてではなく、いくつかの実施形態が示されている添付図面を参照し、本発明のいくつかの実施形態について更に詳しく説明することとする。実際には、本発明の様々な実施形態は、多くの異なる形態において実施されてもよく、且つ、本明細書において記述されている実施形態に限定されるものと解釈してはならず、むしろ、これらの実施形態は、本開示が、適用可能な法的要件を充足するように、提供されるものである。同一の参照符号は、全体を通じて、同一の要素を示している。本明細書において使用されている「データ」、「コンテンツ」、「情報」という用語、並びに、これらに類似した用語は、本発明の実施形態に従って、送信、受信、及び／又は保存される能力を有するデータを意味するべく、相互交換可能な方式で使用されている場合がある。従って、任意のこのような用語の使用は、本発明の実施形態の精神及び範囲を限定するものと解釈してはならない。
【００２０】
更には、本明細書において使用されている「回路」という用語は、（ａ）ハードウェアのみの回路実装形態（例えば、アナログ回路及び／又はデジタル回路における実装形態）、（ｂ）回路と、装置が、本明細書において記述されている一つ又は複数の機能を実行するようにするべく協働する一つ又は複数のコンピュータ可読メモリ上において保存されたソフトウェア及び／又はファームウェア命令を有する一つ又は複数のコンピュータプログラムプロダクトの組合せ、並びに、（ｃ）ソフトウェア又はファームウェアが物理的に存在していない場合にも、動作のためのソフトウェア又はファームウェアを必要とする、例えば、一つ又は複数のマイクロプロセッサ又は一つ又は複数のマイクロプロセッサの一部分などの回路を意味している。この「回路」の定義は、任意の請求項を含む本明細書におけるこの用語のすべての使用に対して適用される。又、更なる例として、本明細書において使用されている「回路」という用語は、一つ又は複数のプロセッサ及び／又はその一部分と、付随するソフトウェア及び／又はファームウェアと、を有する実装形態をも含む。又、別の例として、本明細書において使用されている「回路」という用語は、例えば、携帯電話機用のベースバンド集積回路又はアプリケーションプロセッサ集積回路、又はサーバ、セルラーネットワーク装置、その他のネットワーク装置内の類似した集積回路、並びに／或いは、その他の演算装置をも含む。
【００２１】
一時的ではない物理的ストレージ媒体（例えば、揮発性又は不揮発性メモリデバイス）を意味する本明細書において定義されている「コンピュータ可読ストレージ媒体」は、電磁信号を意味する「コンピュータ可読送信媒体」とは弁別され得る。
【００２２】
正規化されたユーザインタフェース記述子を使用したコラージュユーザインタフェースによるスマートオブジェクトの制御のための例示用の実施形態に従って、方法、装置、及びコンピュータプログラムプロダクトが提供される。例示用の実施形態においては、ベンダからは独立した正規化されたユーザインタフェース記述データファイルをユーザ機器（ＵＥ：User Equipment）に提供する、スマート装置、ノードアクチュエータ、又はこれらに類似したものなどのユティリティデバイスが提供される。ユーザインタフェース記述データは、ＵＥ、外部装置、或いは、ＵＥ上において稼働しているソフトウェアモジュールによるユティリティデバイスのアクセス及び制御を許容してもよい。又、ユーザインタフェース記述データは、ベンダが所望する方式による制御ユーザインタフェースの生成及び表示をも許容している。いくつかの例においては、ユーザインタフェース記述データは、例えば、ユーザインタフェースがユティリティデバイス用に表示されることを伴わない、隠蔽された機能を許容してもよい。複数のユティリティデバイスのユーザインタフェース記述データが提供されている例示用の実施形態においては、ＵＥは、単一のユーザインタフェースにおいて、個々のユティリティデバイス用の制御ユーザインタフェースを含むコラージュユーザインタフェースを生成及び表示してもよい。
【００２３】
例示用の実施形態においては、ＵＥの有効範囲内に到来する一つ又は複数のユティリティデバイスから、アクセス及び制御情報を含むユーザインタフェース記述データを受信するべく、ＵＥが提供されている。ユーザインタフェース記述データは、異なるユーザインタフェース記述に含まれているソフトウェア、外部装置、Publish/Subscribe API（pubsub API）などの標準的なアプリケーションプログラミングインタフェース（ＡＰＩ）を使用してＵＥの内部において稼働しているソフトウェアモジュールの間における相互通信を許容してもよい。例示用の実施形態においては、ユーザインタフェース記述データは、相互通信許可を考慮してもよい。例えば、ユーザインタフェース記述子は、制限されたリソースと通信するために、ＵＥ又はユーザの許可を要求することが必要とされてもよい。
【００２４】
図１は、ＵＥ１１０と、ユティリティデバイス１３０と、外部システム１５０、１６０、及び１７０と、を含む通信ダイアグラムを示している。ＵＥ１１０は、ローカル接続１２０を通じてユティリティデバイス１３０との間におけるデータ通信状態にあってもよい。ＵＥ１１０は、インターネットサーバ１５０などの外部システムとの間における、ローカルエリアネットワークを通じた外部システム１６０との間における、且つ、インターネット接続１４０を通じた外部システム１７０との間における、データ通信状態にあってもよい。ユティリティデバイスは、メモリ１３５を有してもよい。外部システム１５０、１６０、及び１７０は、それぞれ、関連付けられたメモリ又はデータベース１５５、１６５、及び１７５を有してもよい。ＵＥ１１０は、ユティリティデバイス制御モジュール１８０を有してもよく、ユティリティデバイス制御モジュール１８０は、ＵＩ記述子を管理しており、且つ、ソフトウェアモジュール２００、ユティリティデバイス１３０、及び／又は外部リソース１５０、１６０、及び１７０との間において通信し、且つ、これらの間における通信を許容するべく、Publish/Subscribe API などの一つ又は複数のアプリケーションプログラムインタフェース１９０を利用してもよい。又、ＡＰＩ１９０は、後述するＵＩ記述データによって使用されてもよい。ユティリティデバイスは、スマート装置、ノード、センサ、アクチュエータ、又はこれらに類似したものを含んでもよい。ＵＥ１１０は、携帯電話機、タブレットコンピュータ、ラップトップコンピュータ、パーソナルデジタルアシスタント（ＰＤＡ：Personal Data Assistant）、デジタルテレビ、デスクトップコンピュータ、又はこれらに類似したものであってもよい。
【００２５】
ＵＥ１１０は、ローカル接続１２０を通じて、一つ又は複数のユティリティデバイス１３０に接続してもよい。ローカル接続は、無線近距離通信（ＮＦＣ：Near Field Communication）、省電力型 Bluetooth（登録商標）（ＢＬＥ：Bluetooth Low Energy）、Bluetooth（登録商標）、Wi-Fi、IEEE 802.15.4、ZigBee、Z-Wave、マルチキャスト送信、ブロードキャスト送信、或いは、IEEE 802.3、ＣＡＮバス、パワーライン通信（ＰＬＣ：Power-Line Communication）、又はこれらに類似したものなどの有線接続であってもよい。ユティリティデバイス１３０は、メモリ１３５内においてローカルに保存されたユーザインタフェース（ＵＩ：User Interface）記述データを有してもよい。ＵＩ記述データは、関連付けられたユティリティデバイス１３０用のベンダからは独立した且つ正規化された制御及びアクセス情報を含んでもよい。いくつかの例示用の実施形態においては、ＡＰＩ１９０を利用した実行可能コードが、ＵＩ記述データに含まれていてもよい。ユティリティデバイス１３０は、後述するように、ＵＩ記述データをＵＥ１１０に送信するか又はその他の方法で搬送してもよい。ＵＥ１１０が、ＵＩ記述データを受信し且つ読み込んだ後に、ＵＥは、ユティリティデバイス制御モジュール１８０を使用してＵＩ記述データを実行し、これにより、ユティリティデバイス１３０へのアクセスを許容してもよく、ユーザインタフェース上において制御又はコラージュＵＩをレンダリングしてもよく、且つ、ＵＩ記述データに含まれている制御を実行してもよい。ユティリティデバイス制御モジュール１８０は、単一のＵＩ記述データと関連付けられていてもよく、或いは、この代わりに、複数のＵＩ記述データと関連付けられていてもよい。コラージュＵＩの生成及び制御の実行の際に、ユティリティデバイス制御モジュール１８０は、例えば、要求されたデータをデータベース１５５内において保存された状態において有するインターネットサーバ１５０などの外部データ供給源に対して、データを要求してもよい。ＵＥ１１０は、インターネット接続１４０を通じて外部供給源と通信してもよく、インターネット接続１４０は、ＧＳＭ、ＧＰＲＳ、ＷＣＤＭＡ、ＣＤＭＡ、ＷｉＭＡＸ、ＬＴＥ、ＣＤＭＡ２０００、IEEE 802.11 Wi-Fi、又はこれらに類似した無線高周波接続として、或いは、IEEE 802.3 Ethernet、ｘＤＳＬ、ケーブルネットワーク、光ネットワーク、或いは、これらに類似したものなどの固定されたインターネット接続として、実装されてもよい。次いで、ユティリティデバイス制御モジュール１８０及びユティリティデバイス制御モジュール１８０によって実行されたＵＩ記述子は、ＡＰＩ１９０を使用し、互いに、ＵＥ１１０内のソフトウェアモジュール２００との間において、外部システム１６０との間において、ローカルエリアネットワーク内のデータ供給源１６５との間において、或いは、インターネット接続１４０を通じてデータリソース１７５を有する外部システム１７０との間において、通信してもよい。いくつかの例においては、ＵＥ１１０は、ＵＩ記述データをキャッシュメモリ内において保存し、これにより、ＵＥ１１０が、個々の使用の際にユティリティデバイス１３０に対して要求する代わりに、ＵＩ記述データをキャッシュから読み込むことを許容してもよい。
【００２６】
例示用の実施形態においては、ＵＩ記述データは、ハイパーテキストマークアップ言語（バージョン５）（ＨＴＭＬ、ＨＴＭＬ５）を含んでもよく、ハイパーテキストマークアップ言語は、大部分のＵＥによるＵＩのレンダリングを許容し得る。これに加えて、又はこの代わりに、ＵＩ記述マークアップ言語は、ＨＴＭＬ４、ＸＡＭＬ、ＸＭＬ、ＱＭＬ、言語の混合物、或いは、これらに類似したものであってもよい。いくつかの例においては、ＵＩ記述プログラミング言語は、JavaScript（登録商標）（又は、その他の形態のＥＣＭＡscript）、Ｑｔ、Ｊａｖａ、Ｃ＃、Ｃ、Ｃ＋＋、又はこれらに類似したものなどのインタプリタ型の言語であってもよい。ＵＩ記述データは、制御又はコラージュＵＩのユーザインタフェースレイアウトの外観及びフォーマットを規定するべく、カスケードスタイルシート（ＣＳＳ：Cascade Style Sheet）又は類似のスタイルシート言語を使用してもよい。
【００２７】
ＵＥ１１０は、ＵＩ記述データ又はＵＩ記述データの一部分をユティリティデバイス１３０から直接的又は間接的に受信してもよい。例えば、ＵＥ１１０は、ＮＦＣ、ＱＲコードの読取り、ユティリティデバイスからのＣｏＡＰリソースとしてのＵＩのフェッチ、ユティリティデバイスからのＨＴＭＬリソースとしてのＵＩ記述データのフェッチ、ユティリティデバイスからのＢＬＥリソースとしてのＵＩ記述のフェッチ、マルチキャスト送信の受信、マルチキャストメッセージングの使用、受動型広告のリスニング、或いは、これらに類似したものを通じて、ＵＩ記述データを受信してもよい。ＵＩ記述データが、ＣｏＡＰ又はＨＴＭＬリソースとしてフェッチされている例においては、リソースは、ＨＴＭＬ５又は類似したマークアップ言語であってもよい。ＵＩ記述データが、マルチキャスト送信を通じて受信されている例においては、ユティリティデバイスは、表示するべく、そのＵＩ記述データをユティリティデバイスデータと共にマルチキャストしてもよく、ユティリティデバイスデータは、温度、アクチュエータの状態、画像データ、スイッチの位置、又はこれらに類似したものなどのユティリティデバイスのセンサデータであってもよい。ＵＩ記述データが、マルチキャストメッセージングを使用して受信されている例においては、ＵＥ１１０は、すべてのノード用のマルチキャストＣｏＡＰ要求をリンク上において送信してもよく、且つ、ＵＩ記述リソースデータを要求してもよい。
【００２８】
例示用の実施形態においては、ＵＩ記述データは、最小限のエネルギー及び最小限のバイト数を使用したユティリティデバイス１３０からＵＥ１１０への送信を許容するべく、ジップされるなどのように、圧縮されてもよい。ＵＩ記述データの圧縮は、ＵＩマークアップ言語が人間に理解可能なフォーマットにおいて記述されている例においては、特に重要となる場合があり、その理由は、この場合には、格段に大きなデータ使用量が必要とされる場合があるからである。ＵＩマークアップ言語が、バイナリフォーマットにおいて記述されている例においては、送信されるデータが相対的に少ないことに起因し、圧縮の重要性は低下し得る。ＵＩ記述データの圧縮は、ＢＬＥ又はその他の低エネルギー高周波を使用したＵＩ記述データの送信において、利点となり得る。
【００２９】
ＵＩ記述データは、ＵＥ１１０内においてキャッシュ処理されてもよく、或いは、プロキシキャッシュ又はリポジトリノードにより、提供されてもよい。例えば、ホームルーターが、ホームネットワークに接続された個々のユティリティデバイスごとのＵＩ記述データを含むリポジトリをホスティングしてもよい。例えば、ＵＥ１１０は、それぞれの個々のユティリティデバイス１３０から受信する代わりに、ＵＩ記述データをホームルーターリポジトリから取得してもよい。
【００３０】
例示用の実施形態においては、ＵＩ記述データは、収集されてもよく、且つ、複数のＵＥ１１０の間において共有されてもよい。例えば、スマートフォンは、自動的に、又は要求に応じて、ＵＩ記述データセットを近傍のスマートフォンに送信してもよい。別の例においては、メッシュネットワークは、メッシュネットに参加しているすべてのノード用のＵＩ記述データを収集してもよく、これにより、メッシュのすべての現時点のメンバ用の集合的なＵＩ記述データセットを結果的にもたらしてもよい。例えば、四つのユティリティデバイス１３０が、ＵＥ１１０にとってアクセス可能である例においては、ＵＥは、すべての四つのユティリティデバイスのＵＩ記述データをメッシュネットワーク又は近傍のＵＥを通じて受信してもよい。これに加えて、又はこの代わりに、ＵＥ１１０は、複数のユティリティデバイス１３０を検出してもよく、且つ、検出されたそれぞれのユティリティデバイスからＵＩ記述データを受信してもよい。
【００３１】
ＵＩ記述データは、ユティリティデバイス以外の供給源から読み込まれ得る要素に対する参照を含んでいてもよい。例えば、ＵＩ記述データは、広告サービスに対する参照を含んでいてもよく、ユティリティデバイス制御モジュール１８０は、ユティリティデバイス１３０からの制御情報を静的に維持しつつ、ＵＥ１１０がインターネットリソースから広告を動的に読み込むようにしてもよい。
【００３２】
例示用の実施形態においては、JavaScript API などの pubsub API が、特定のプラットフォームソフトウェアを通じたＵＥ１１０のソフトウェアモジュール２００との間におけるやり取りを許容している。ユティリティデバイス制御モジュール１８０は、ＵＩ記述子が、pubsub API １９０を使用してＵＩ記述データリソース識別子及びリソース値をパブリッシュすることを許容してもよい。ＵＩ記述データリソース識別子及びリソース値は、ＵＥ１１０内において、マッピングされてもよく、且つ、分散させられてもよい。又、ユティリティデバイス制御モジュール１８０は、ＵＩ記述子が、新しいユティリティデバイス１３０をリスニングするべく、ソフトウェアモジュール２００にメッセージオブジェクトコマンドを送信する到来コマンドをサブスクライブすることを許容してもよい。ＵＥ１１０が、ユティリティデバイス１３０の出現を識別している例においては、ソフトウェアモジュール２００は、pubsub API モジュール１９０によって受信されるコマンドをオブジェクトメッセージコマンドの形態においてこれらの装置に送信してもよい。次いで、pubsub API １９０は、処理と、このようなコマンドを受信するべくサブスクライブしているＵＩ記述子への供給と、のために、オブジェクトメッセージコマンドをユティリティデバイス制御モジュール１８０に供給してもよい。この結果、ユティリティデバイスとＵＥ１１０内のアプリケーションのスムーズな統合及び相互運用が可能となる。
【００３３】
例えば、Android（登録商標）装置においては、pubsub API は、Android の Intent 及びブロードキャストフレームワークとの間において統合されてもよい。ユティリティデバイス制御モジュール１８０は、pubsub API １９０を使用してＵＩ記述データリソース識別子及びリソース値をパブリッシュしてもよい。リソース識別子及びリソース値は、ＵＥ１１０の内部において Intent ブロードキャストに対してマッピングされてもよい。更には、ユティリティデバイス制御モジュール１８０は、新しい BroadcastReceiver のインスタンスを生成する到来コマンドをサブスクライブしてもよい。ＵＥ１１０上において稼働しているソフトウェアは、スマートオブジェクト、ノード、又はこれらに類似したものなどの新しいユティリティデバイスの出現をリスニングするべく、BroadcastReceiver のインスタンスを生成してもよい。ユティリティデバイス１３０の出現を検出した際に、ソフトウェアモジュール２００は、コマンドを Intent の形態においてユティリティデバイス１３０に送信してもよく、このコマンドは、pubsub API １９０の BroadcastReceiver によって受信されることになり、且つ、処理のために、ユティリティデバイス制御モジュール１８０に供給されることになる。
【００３４】
アクセス情報が、例えば、インターネットサーバ１５０、ローカル外部システム１６０、又はインターネットアクセス可能な外部システム１７０などの別の装置内において保存されている例においては、リソース識別子は、外部装置を指し示してもよい。リソース識別子は、pubsub API １９０によって受信されてもよく、pubsub API １９０は、アクセスプロセスに関するユーザのやり取りを伴うことなしに、外部装置に対して自動的にアクセスしてもよい。いくつかの例示用の実施形態においては、pubsub API １９０は、ＣｏＡＰプロキシなどの外部装置との通信のために変換器を実装することもできよう。pubsub API １９０は、ローカルエリアネットワーク又はインターネット内のノードとの間における通信のために、pubsub API の動作を CoAP GET/REPLY メッセージに変換してもよい。
【００３５】
例示用の実施形態においては、pubsub API は、リソース識別子、リソースＵＲＬ、リソースデータ、パブリケーション／サブスクリプション範囲、又はこれらに類似したものを表現するためのパラメータを含んでもよい。パブリケーション／サブスクリプション範囲は、ＵＩ記述子を、その他のＵＩ記述子１８０との間における、ＵＥ１１０内のソフトウェアモジュール２００との間における、ローカルエリアネットワーク外部装置１６０との間における、インターネット外部装置１７０との間における、或いは、これらの任意の組合せとの間における、通信にのみ制限してもよい。
【００３６】
ＵＩ記述データが、ユティリティデバイス制御モジュール１８０が、外部装置からの、或いは、装置場所データ又は全地球測位システム（ＧＰＳ：Global Position System）などのＵＥ１１０内のその他のモジュールからの、サービスにアクセスするようにしている例においては、ＵＥ１１０は、ユーザに対して許可を要求してもよい。ＵＩ記述データは、許可フレームワークをサポートしてもよく、許可フレームワークは、ＵＥ１１０の様々な稼働フレームワークに対してマッピングされてもよい。例えば、ＵＩ記述子がＧＰＳ機能に対するアクセスを要求している例においては、ユティリティデバイス制御モジュール１８０は、ＧＰＳ機能に対してマッピングされ得る許可を要求してもよい。例として、Android プラットフォームにおいては、ユティリティデバイス制御モジュール１８０の許可要求は、ACCESS_FINE_LOCATION にマッピングされてもよい。
【００３７】
例示用の実施形態においては、ＵＩ記述データは、ユティリティデバイス制御モジュール１８０が、ＵＥ装置１１０のタイプ及びサポートされているＡＰＩを検証するようにしてもよい。ＵＥ１１０が、ユティリティデバイスのＵＩ記述データのすべての機能を実行する能力を有していない例においては、ＵＩ記述子又はユティリティデバイス制御モジュール１８０は、個々のユティリティデバイス用の専用のアプリケーションをインストールするべく、命令を生成し且つユーザインタフェース上において表示してもよい。
【００３８】
例示用の実施形態においては、ＵＩ記述データは、装置固有の属性及び関数名称を含んでもよい。装置固有の名称は、それぞれの装置ごとのメディアアクセス制御（ＭＡＣ：Media Access Control）アドレスなどのアドレスを利用してもよい。装置固有の名称の使用により、命名の矛盾を伴うことなしに、機能の実行時統合を可能にすることができる。例えば、同一のベンダからの二つのユティリティデバイスが存在している例においては、02030405_setup_function() 及び 03030405_setup_function() などの関数が利用されてもよい。上述のように、ＵＥ１１０は、ＵＩ記述子及びユティリティデバイス制御モジュール１８０が、ユティリティデバイス１３０の間において情報を共有するべく、自動的に、又はユーザのやり取りの際に、pubsub API １９０を利用することを許容してもよい。上述の通信の関連付けに加えて、ユティリティデバイス制御モジュール１８０は、ユーザ入力に基づいて、要素をバインドすることにより、或いは、自動的にＵＩ記述データ制御命令に基づいて、二つ以上のＵＩ記述データ要素を関連付けてもよい。
【００３９】
例示用の実施形態においては、ＵＥ１１０は、ユーザによって起動されたユティリティデバイス１３０のバインディングをサポートしてもよい。ユティリティデバイス１３０のバインディングは、第二ユティリティデバイス用の入力データとしてのユティリティデバイスの出力データの選択を含んでもよい。ユーザは、ユーザインタフェースを使用してＵＩ要素を選択してもよく、これに応答して、ＵＥ１１０は、pubsub API を利用することにより、第一ユティリティデバイス１３０と関連付けられたＵＩ記述データ要素を第二ＵＩ記述データのＵＩ記述データ要素と関連付けてもよい。例えば、ユーザは、センサ及びアクチュエータなどの二つのユティリティデバイス１３０と関連付けられた二つのＵＩ記述データ要素をバインドし、これにより、センサの出力が、アクチュエータに入力として送信されるようにしてもよい。この例においては、ＵＥ１１０は、一つ又は複数のユティリティデバイス制御モジュール１８０を使用することにより、データフロー用の仲介者として機能しており、従って、センサ及びアクチュエータは、互いの間において直接的にデータを送信する必要がなくなろう。例えば、ＵＩ要素のバインディングは、第一ＵＩ記述データが、関連付けられたユティリティデバイス制御モジュール１８０がユティリティデバイス出力データをパブリッシュするようにすることを起動又はトリガしてもよい。これに加えて、又はこの代わりに、ＵＩ記述データ要素のバインディングは、第二ＵＩ記述データが、関連付けられたユティリティデバイス制御モジュール１８０が第一ユティリティデバイス制御モジュール１８０からのパブリケーションをサブスクライブ又はリスニングするようにすることを起動又はトリガしてもよい。
【００４０】
例示用の実施形態においては、ＵＥ１１０は、ユティリティデバイスのうちの少なくとも一つのユティリティデバイスのＵＩ記述データに基づいてＵＩ記述データ要素を関連付けてもよい。いくつかの例示用の実施形態においては、ＵＩ記述データは、特定の第二ユティリティデバイス又はユティリティデバイスタイプの識別に応答して、第一ユティリティデバイスの記述データ要素を第二ＵＩ記述データに対してバインドするための命令を含んでもよい。例えば、第一ユティリティデバイスが住宅又は建物の照明制御装置である例においては、ＵＩ記述データは、ユーザ入力なしに、任意の新たに識別された照明ユティリティデバイスのＵＩ記述データを自動的に関連付けるための命令を含んでもよい。第一及び第二ユティリティデバイスと関連付けられたＵＩ記述データ要素は、上述のように、pubsub API を使用することにより、バインド又は関連付けされてもよい。
【００４１】
例示用の実施形態においては、ＵＥ１１０は、同一のランタイム環境において、専用のランタイム内において稼働するＵＩ記述データにおいて、ウェブブラウザにおいて、或いは、ネイティブアプリケーション上において、稼働するべく、個々のＵＩ記述データを含むコラージュＵＩを生成又はレンダリングしてもよい。コラージュＵＩは、図３に示されているように、単一の視覚的表現内におけるユーザインタフェース表示又は制御の集まりであってもよい。ＵＥ１１０が、コラージュＵＩを Windows（登録商標）８アプリケーションなどのネイティブアプリケーションにおいて生成及びレンダリングしている例においては、ネイティブアプリケーションは、図３に示されているように、別個のタイル内においてそれぞれのユティリティデバイスを有するパノラマビューを使用してもよい。
【００４２】
ＵＥ１１０のセキュリティ及びプライバシーとの関連において、ＵＥは、ユティリティデバイス制御モジュール１８０が、呼び出しており、且つ、アクセスが許容されているリソースにのみアクセスしていることを検証するべく、ＵＩ記述データによって含まれているコードを分析してもよい。複数のＵＩ記述子１８０が同一のランタイム環境内において稼働している実施形態においては、コードの検証は、相対的に重要なものとなり得る。これに加えて、又はこの代わりに、ＵＥ１１０は、それぞれのＵＩ記述子又はＵＩ記述子グループごとに、別個のランタイム環境を生成してもよい。上述のように、ＵＩ記述データは、別個のランタイム環境のユティリティデバイス制御モジュール１８０の間における通信のために、ＡＰＩ１９０を利用してもよい。ユティリティデバイス制御モジュール１８０が別個のランタイム環境内において存在している実施形態において、コラージュＵＩのレンダリングが、単一のランタイム環境の実施形態とは異なる方式で出現することにはならず、これにより、ユーザに対してトランスペアレントなセキュリティが提供され得る。
【００４３】
例示用の装置
ＵＥ１１０又はユティリティデバイス１３０は、図２に示されている装置２０を含んでもよく、或いは、これと関連付けられていてもよい。図２に示されているものなどの装置は、具体的には、正規化されたユーザインタフェース記述子を使用したコラージュユーザインタフェースによるスマートオブジェクトの制御を提供するべく、本発明の例示用の実施形態に従って構成されている。装置は、プロセッサ２２、メモリデバイス２４、通信インタフェース２６、及びユーザインタフェース２８を含んでもよく、或いは、さもなければ、これらとの通信状態にあってもよい。いくつかの実施形態においては、プロセッサ（且つ／又は、コプロセッサ又はプロセッサを支援する又はその他の方法でこれと関連付けられた任意のその他の処理回路）は、装置のコンポーネントの間において情報を伝達するべく、バスを介してメモリデバイスとの間における通信状態にあってもよい。メモリデバイスは、一時的ではないものであってもよく、且つ、例えば、一つ又は複数の揮発性及び／又は不揮発性メモリを含んでもよい。換言すれば、例えば、メモリデバイスは、機械（例えば、プロセッサのような演算装置）によって取得可能であり得るデータ（例えば、ビット）を保存するように構成されたゲートを有する電子ストレージ装置（例えば、コンピュータ可読ストレージ媒体など）であってもよい。メモリデバイスは、装置が、本発明の例示用の実施形態に従って、様々な機能を実行することを可能にするべく、情報、データ、コンテンツ、アプリケーション、命令、又はこれらに類似したものを保存するように構成されてもよい。例えば、メモリデバイスは、プロセッサによる処理のために入力データをバッファ処理するように構成することができよう。これに加えて、又はこの代わりに、メモリデバイスは、プロセッサによる実行のための命令を保存するように構成することもできよう。
【００４４】
上述のように、装置２０は、ＵＥ１１０又はユティリティデバイス１３０によって実施されてもよい。但し、いくつかの実施形態においては、装置は、チップ又はチップセットとして実施されてもよい。換言すれば、装置は、構造的組立体（例えば、ベースボード）上において材料、コンポーネント、及び／又はワイヤを含む一つ又は複数の物理的パッケージ（例えば、チップ）を有してもよい。構造的組立体は、その上部において含まれているコンポーネント回路の物理的強度、サイズの保持、及び／又は電気的相互作用の制限を提供してもよい。従って、装置は、いくつかのケースにおいては、単一のチップ上において、或いは、単一の「システムオンチップ」として、本発明の実施形態を実装するように構成されてもよい。従って、いくつかのケースにおいては、チップ又はチップセットは、本明細書において記述されている機能を提供するべく、一つ又は複数の動作を実行する手段を構成してもよい。
【００４５】
プロセッサ２２は、いくつかの異なる方法により、実施されてもよい。例えば、プロセッサは、コプロセッサ、マイクロプロセッサ、コントローラ、デジタル信号プロセッサ（ＤＳＰ：Digital Signal Processor）、付随するＤＳＰを有する又は有さない処理要素、或いは、例えば、ＡＳＩＣ（Application Specific Integrated Circuit）、ＦＰＧＡ（Field Programmable Gate Array）、マイクロコントローラユニット（ＭＣＵ：Microcontroller Unit）、ハードウェアアクセレレータ、特殊目的コンピュータチップ、又はこれらに類似したものなどの集積回路を含む様々なその他の処理回路などの様々なハードウェア処理手段のうちの一つ又は複数として、実施されてもよい。従って、いくつかの実施形態においては、プロセッサは、独立的に稼働するように構成された一つ又は複数の処理コアを含んでもよい。マルチコアプロセッサが、単一の物理的パッケージ内におけるマルチプロセッシングを可能にしてもよい。これに加えて、又はこの代わりに、プロセッサは、命令の独立的な実行、パイプライン処理、及び／又はマルチスレッド処理を可能にするように、バスを介して、タンデム状態において、構成された一つ又は複数のプロセッサを含んでもよい。
【００４６】
例示用の実施形態においては、プロセッサ２２は、メモリデバイス２４内において保存されている、或いは、プロセッサにとってその他の方法でアクセス可能である、命令を実行するように構成されてもよい。この代わりに、又はこれに加えて、プロセッサは、ハードコーディングされた機能を実行するように構成されてもよい。従って、ハードウェア又はソフトウェア方法により、或いは、これらの組合せにより、構成されているのかどうかとは無関係に、プロセッサは、相応して構成された状態において、本発明の実施形態に従って動作を実行する能力を有する（例えば、回路において物理的に実施された）エンティティを表してもよい。従って、例えば、プロセッサが、ＡＳＩＣ、ＦＰＧＡ、又はこれらに類似したものとして実施される際には、プロセッサは、本明細書において記述されている動作を実施するべく特別に構成されたハードウェアであってもよい。或いは、この代わりに、別の例として、プロセッサが、ソフトウェア命令の実行装置として実施される際には、命令は、命令が実施された際に、本明細書において記述されているアルゴリズム及び／又は動作を実行するように、プロセッサを特別に構成してもよい。但し、いくつかのケースにおいては、プロセッサは、本明細書において記述されているアルゴリズム及び／又は動作を実行するための命令によるプロセッサの更なる構成によって本発明の実施形態を利用するように構成された特定の装置（例えば、モバイル端末又は固定された演算装置）のプロセッサであってもよい。プロセッサは、例えば、プロセッサの動作をサポートするように構成されたクロック、論理演算装置（ＡＬＵ：Arithmetic Logic Unit）、及び論理ゲートを含んでもよい。
【００４７】
又、例示用の実施形態の装置２０は、通信インタフェース２６を含んでもよく、通信インタフェース２６は、例えば、一つ又は複数のユーザ機器１１０、ユティリティデバイス、又はこれらに類似したものとの間における通信を促進するべく、装置との通信状態にある通信デバイスとの間においてデータを受信及び／又は送信するように構成された、ハードウェア又はハードウェアとソフトウェアとの組合せにおいて実施された装置又は回路などの任意の手段であってもよい。この観点において、通信インタフェースは、例えば、一つのアンテナ（又は、複数のアンテナ）と、無線通信ネットワークとの間における通信を可能にするためのサポートティングハードウェア及び／又はソフトウェアと、を含んでもよい。これに加えて、又はこの代わりに、通信インタフェースは、一つ又は複数のアンテナを介した信号の送信を起動するべく、或いは、一つ又は複数のアンテナを介して受信された信号の受信を処理するべく、一つ又は複数のアンテナとの間においてやり取りするための回路を含んでもよい。いくつかの実施形態においては、通信インタフェースは、この代わりに、又はこれに加えて、有線通信をサポートしてもよい。従って、例えば、通信インタフェースは、ケーブル、デジタル加入者線（ＤＳＬ：Digital Subscriber Line）、ユニバーサルシリアルバス（ＵＳＢ：Universal Serial Bus）、又はその他のメカニズムを介した通信をサポートするための通信モデム及び／又はその他のハードウェア及び／又はソフトウェアを含んでもよい。
【００４８】
又、装置２０は、ユーザインタフェース２８を含んでもよく、ユーザインタフェース２８は、この場合に、出力をユーザに対して提供するべく、且つ、いくつかの実施形態においては、ユーザ入力の通知を受信するべく、プロセッサ２２との間における通信状態にあってもよい。従って、ユーザインタフェースは、ディスプレイを含んでもよく、且つ、いくつかの実施形態においては、キーボード、マウス、ジョイスティック、タッチスクリーン、タッチエリア、ソフトキー、一つ又は複数のマイクロフォン、複数のスピーカ、又はその他の入出力メカニズムを含んでもよい。一実施形態においては、プロセッサは、ディスプレイなどの一つ又は複数のユーザインタフェース要素のうちの少なくともいくつかの要素の機能を制御するように構成されたユーザインタフェース回路を有してもよく、且つ、いくつかの実施形態においては、複数のスピーカ、電鈴、一つ又は複数のマイクロフォン、及び／又はこれらに類似したものを有してもよい。プロセッサ及び／又はプロセッサを有するユーザインタフェース回路は、プロセッサにとってアクセス可能であるメモリ（例えば、メモリデバイス２４及び／又はこれに類似したもの）上において保存されたコンピュータプログラム命令（例えば、ソフトウェア及び／又はファームウェア）を通じて一つ又は複数のユーザインタフェース要素の一つ又は複数の機能を制御するように構成されてもよい。
【００４９】
例示用のコラージュＵＩのレンダリング
図３は、単純なコラージュＵＩのレンダリングの一例を示している。このコラージュＵＩのレンダリングは、JavaScript ファイルとＨＴＭＬファイルという二つのファイルをそれぞれが含む五つのＵＩ記述を含んでいる。コラージュＵＩは、JavaScript コードを含むＨＴＭＬフレームワークにより、ＵＥ１１０によって生成されてもよい。ＵＥ１１０上において稼働しているスクリプトは、まずは、フレームワークからのＨＴＭＬヘッダファイル、次に、ＵＩ記述データからの JavaScript ファイル、そして、フレームワークからの中間部分までのＨＴＭＬファイル、次いで、ＵＩ記述データからのＨＴＭＬファイル、次いで、ＨＴＭＬフレームワークからのフッタという順序でファイルをマージする。この結果、フレームワークは、すべてのセットアップ関数を呼び出してもよく、これにより、センサ１〜５などのそれぞれのユティリティデバイス１３０に関係するユティリティデバイス制御モジュール１８０の動作が開始及び起動される。ＵＩ記述データからのＨＴＭＬファイルは、それぞれの個々のセンサ用のそれぞれのファイルのサイズ、色、又はこれらに類似したものを定義している。この結果、ＵＥ１１０は、図３に示されているように、コラージュＵＩをレンダリングする。
【００５０】
センサ１は、その値を１秒ごとに増大させるユティリティデバイスのセンサタイマを示している。センサ２は、その値を２秒ごとに増大させるユティリティデバイスのセンサを示している。センサ３は、クリック又は選択されるたびに、その値を増大させるユティリティデバイスのセンサを示している。センサ４及び５は、ＵＥ１００によってバインドされている。センサ４は、その値を１秒ごとに増大させると共に、同一のフレームワーク内において稼働しているその他のユティリティデバイスが利用するべくその値をパブリッシュするユティリティデバイスのセンサを示している。センサ５は、センサ４によってパブリッシュされた出力値を受信し、この値に２を乗算し、且つ、結果値を表示している。
【００５１】
例示用の実施形態においては、タイルと関連付けられたＵＩ記述子は、例えば、ＢＬＥを通じてなどのように、リモートセンサからデータをフェッチするべく、或いは、データをこれらのユティリティデバイスセンサに対してプッシュするべく、ＡＰＩ１９０を利用してもよい。更なる実施形態においては、ＵＩ記述データの JavaScript コードは、ユティリティデバイス制御モジュール１８０をトリガして広告又はその他のメディアコンテンツをダウンロードするように、使用されてもよい。
【００５２】
ユティリティデバイスの制御の例示用のプロセス
次に図４を参照すれば、ユティリティデバイスを制御するべく、図２の装置２０などによって実行される動作が示されている。図４のブロック４０２において示されているように、装置は、ＵＩ記述データの送信を起動するように構成された、プロセッサ２２、メモリ２４、通信インタフェース２６、又はこれらに類似したものなどの手段を含んでもよい。ＵＩ記述データは、個々のユティリティデバイスと関連付けられたベンダからは独立した正規化された制御及びアクセスデータを含んでもよい。プロセッサ２２は、メモリ２４からＵＩ記述データを取得してもよい。プロセッサ２２は、通信インタフェース２５が、ＵＩ記述データをＵＥ１１０に、或いは、いくつかの例においては、ネットワーク内のその他の装置に、送信するようにしてもよい。通信インタフェース２６は、ＮＦＣ、ＢＬＥ、マルチキャスト送信、又はこれらに類似したものを使用することにより、ＵＩ記述データを送信してもよい。
【００５３】
例示用の実施形態においては、ＵＩ記述データは、ハイパーテキストマークアップ言語（バージョン５）（ＨＴＭＬ、ＨＴＭＬ５）を含んでもよく、ハイパーテキストマークアップ言語は、大部分のＵＥによるＵＩのレンダリングを許容してもよい。これに加えて、又はこの代わりに、ＵＩ記述マークアップ言語は、ＨＴＭＬ４、ＸＡＭＬ、ＸＭＬ、ＱＭＬ、言語の混合物、或いは、これらに類似したものであってもよい。いくつかの例においては、ＵＩ記述プログラミング言語は、JavaScript（登録商標）（或いは、その他の形態のＥＣＭＡscript）、Ｑｔ、Ｊａｖａ、Ｃ＃、Ｃ、Ｃ＋＋、又はこれらに類似したものなどのインタプリタ型の言語であってもよい。ＵＩ記述データは、制御又はコラージュＵＩのユーザインタフェースレイアウトの外観及びフォーマットを規定するべく、カスケードスタイルシート（ＣＳＳ）又は類似のスタイルシート言語を使用してもよい。
【００５４】
例示用の実施形態においては、ＵＩ記述データは、最小限のエネルギー及び最小限のバイト数を使用したユティリティデバイス１３０からＵＥ１１０への送信を許容するべく、例えば、ジップされるなどのように、圧縮されてもよい。ＵＩ記述データの圧縮は、ＵＩマークアップ言語が人間に理解可能なフォーマットにおいて記述されている例において、特に重要になる場合があり、その理由は、この場合には、格段に大きなデータ使用量が必要とされる場合があるからである。ＵＩマークアップ言語がバイナリフォーマットにおいて記述されている例においては、圧縮は、送信される相対的に少ないデータに起因し、その重要性が低下し得る。ＵＩ記述データの圧縮は、ＢＬＥ又はその他の低エネルギー高周波を使用したＵＩ記述データの送信において、利点となり得る。
【００５５】
図４のブロック４０４において示されているように、装置２０は、制御信号を受信するように構成された、プロセッサ２２、通信インタフェース２６、又はこれらに類似したものなどの手段を含んでもよい。通信インタフェースは、ＮＦＣ、ＢＬＥ、又はこれらに類似したものなどの無線通信を通じて、制御信号をＵＥ１１０から受信してもよい。制御信号は、装置によって実行されるべきコマンドを含んでもよい。例えば、コマンドは、オープン値であってもよく、サーボ位置を調節してもよく、ターオフしてもよく、ターンオンしてもよく、データを送信してもよく、或いは、これらに類似したものであってもよい。プロセスは、ユティリティデバイスデータの送信を起動する４０６において、或いは、制御信号に基づいてコマンドを実行する４０８において、継続してもよい。
【００５６】
図４のブロック４０６において示されているように、装置２０は、ユティリティデバイスデータの送信を起動するように構成された、プロセッサ２２、通信インタフェース２６、又はこれらに類似したものなどの手段を含んでもよい。プロセッサ２２は、通信インタフェース２６が、ユティリティデバイスデータをＵＥ１１０に送信するようにしてもよい。例えば、ユティリティデバイスがセンサである例においては、ユティリティデバイスデータは、温度データ、光データ、モーションデータ、位置データ、音響データ、画像データ、又はこれらに類似したものを含んでもよい。例示用の実施形態においては、プロセッサは、既定のインターバルにおいて、或いは、音響、運動、光、又はこれらに類似したものの検出などの刺激に応答して、ユティリティデバイスデータを送信してもよい。別の例においては、プロセッサ２２は、ブロック４０８において記述されているように、制御信号内のコマンドに応答して、ユティリティデバイスデータの送信を起動してもよい。
【００５７】
図４のブロック４０８において示されているように、装置２０は、制御信号に基づいてコマンドを実行するように構成された、プロセッサ２２、又はこれに類似したものなどの手段を含んでもよい。例えば、プロセッサ２２は、ユティリティデバイスが、それ自体又は第二装置をターンオフ又はオンさせ、弁を作動させ、サーボ位置を変更し、或いは、これに類似した内容を実行するようにしてもよい。制御信号が、ユティリティデバイスデータを送信するためのコマンドを含んでいる例においては、プロセスは、上述のように、４０６において継続してもよい。ユティリティデバイスデータを送信するためのコマンドは、いくつかの実施形態においては、例えば、満足できる状態において実行された、又は実行されなかった、などのコマンド実行状態の通知の送信を含んでもよい。
【００５８】
コラージュＵＩ及びユティリティデバイス制御信号の生成の例示用のプロセス
次に図５を参照すれば、コラージュＵＩ及びユティリティデバイス制御信号を生成するべく、図２の装置２０などによって実行される動作が示されている。図５のブロック５０２に示されているように、装置２０は、複数のユティリティデバイスからＵＩ記述データを受信するように構成された、プロセッサ２２、メモリ２４、通信インタフェース２６、又はこれらに類似したものなどの手段を含んでもよい。インタフェース記述データは、個々のユティリティデバイス１３０と関連付けられたベンダからは独立した正規化された制御及びアクセス情報を含んでもよい。又、例示用の実施形態においては、ＵＩ記述データは、装置内における且つその外部における通信を促進するべく、ＡＰＩを利用してもよい。通信インタフェース２６は、ユティリティデバイス１３０から直接的に又は間接的にＵＩ記述データを受信してもよい。例えば、通信インタフェース２６は、ＮＦＣ、ＱＲコードの読取り、ユティリティデバイスからのＣｏＡＰリソースとしてＵＩのフェッチ、ユティリティデバイスからのＨＴＭＬリソースとしてのＵＩ記述データのフェッチ、ユティリティデバイスからのＢＬＥリソースとしてのＵＩ記述のフェッチ、マルチキャスト送信の受信、マルチキャストメッセージングの使用、受動型広告のリスニング、又はこれらに類似したものを通じて、ＵＩ記述データを受信してもよい。ＵＩ記述データが、ＣｏＡＰ又はＨＴＭＬリソースとしてフェッチされている例においては、リソースは、ＨＴＭＬ５又は類似のマークアップ言語であってもよい。ＵＩ記述データが、マルチキャスト送信を通じて受信されている例においては、ユティリティデバイスは、表示するべく、値と共に、そのＵＩ記述データをマルチキャストしてもよい。ＵＩ記述が、マルチキャストメッセージングを使用して受信されている例においては、プロセッサ２２は、通信インタフェース２６が、リンク上におけるすべてのノード用のマルチキャストＣｏＡＰ要求を送信し、且つ、ＵＩ記述リソースデータを要求するようにしてもよい。
【００５９】
ＵＩ記述データは、メモリ２４内においてキャッシュ処理されてもよく、或いは、プロキシキャッシュ又はリポジトリノードにより、提供されてもよい。例えば、ホームルーターが、ホームネットワークに接続された個々のユティリティデバイス用のＵＩ記述データを含むリポジトリをホスティングしてもよい。プロセッサ２２は、通信インタフェース２６が、それぞれの個々のユティリティデバイス１３０から受信する代わりに、ホールルーターリポジトリからＵＩ記述データを取得するようにしてもよい。
【００６０】
例示用の実施形態においては、ＵＩ記述データは、収集されてもよく、且つ、ＵＥ１１０の間において共有されてもよい。例えば、スマートフォンは、自動的に、又は要求に応じて、ＵＩ記述データセットを近傍のスマートフォンに送信してもよい。別の例においては、メッシュネットワークは、メッシュネットワークに参加しているすべてのノード用のＵＩ記述データを収集してもよく、これにより、メッシュのすべての現時点のメンバ用の集合的なＵＩ記述データセットが結果的にもたらされ得る。
【００６１】
図５のブロック５０４に示されているように、装置２０は、複数のユティリティデバイス１３０用のコラージュ化されたＵＩを生成するように構成された、プロセッサ２２、通信モジュール２６、又はこれらに類似したものなどの手段を含んでもよい。プロセッサ２２は、ＵＩ記述データに基づいて、コラージュ化されたＵＩを生成してもよい。コラージュＵＩは、図３に示されているように、単一の視覚的表現内におけるユーザインタフェースディスプレイ又は制御の集まりであってもよい。
【００６２】
例示用の実施形態においては、JavaScript API などの pubsub API が、特定のプラットフォームソフトウェアを通じたＵＥ１１０のソフトウェアモジュール２００との間におけるプロセッサ２２のやり取りを許容している。プロセッサ２２は、pubsub API １９０を使用することにより、ＵＩ記述データリソース識別子及びリソース値をパブリッシュしてもよい。ＵＩ記述データリソース識別子及びリソース値は、装置２０内において、マッピング及び分散されてもよい。又、プロセッサ２２は、新しいユティリティデバイス１３０をリスニングするべく、ソフトウェアモジュール２００にメッセージオブジェクトコマンドを送信する到来コマンドをサブスクライブしてもよい。ＵＩ記述データは、ユティリティデバイス１３０以外の供給源から読み込まれ得る要素に対する参照を含んでもよい。例えば、ＵＩ記述データは、広告サービスに対する参照を含んでもよく、ＵＩ記述データは、プロセッサ２２が、ユティリティデバイス１３０からの制御情報を静的に維持しつつ、インターネットリソースから広告を動的に読み込むようにしてもよい。
【００６３】
アクセス情報が、例えば、インターネットサーバ１５０、ローカル外部システム１６０、又はインターネットアクセス可能な外部システム１７０などの別の装置内において保存されている例においては、リソース識別子は、外部装置を指し示してもよい。リソース識別子は、プロセッサ２２によって受信されてもよく、プロセッサ２２は、通信インタフェース２６が、アクセスプロセスに関するユーザのやり取りを伴うことなしに、自動的に外部装置にアクセスするようにしてもよい。いくつかの例示用の実施形態においては、プロセッサ２２は、ＣｏＡＰプロキシなどの外部装置との通信用の変換器を実装することもできよう。プロセッサ２２は、ローカルエリアネットワーク又はインターネット内のノードとの間における通信のために、pubsub API の動作を CoAP GET/REPLY メッセージに変換してもよい。
【００６４】
例示用の実施形態においては、pubsub API は、リソース識別子、リソースＵＲＬ、リソースデータ、パブリケーション／サブスクリプション範囲、又はこれらに類似したものを記述するべく、パラメータを含んでもよい。パブリケーション／サブスクリプション範囲は、プロセッサ２２上において稼働しているＵＩ記述データを装置２０内のその他のソフトウェアモジュール２００との間における、ローカルエリアネットワーク外部装置１６０との間における、インターネット外部装置１７０との間における、或いは、これらの任意の組合せとの間における、通信にのみ制限してもよい。
【００６５】
ＵＩ記述データが、外部装置からの、或いは、装置場所データ又は全地球測位システム（ＧＰＳ）などの装置内のその他のモジュールからの、サービスにアクセスしてもよい例においては、プロセッサ２２は、ユーザに対して許可を要求してもよい。ＵＩ記述データは、許可フレームワークをサポートしてもよく、許可フレームワークは、装置２０の様々な稼働フレームワークに対してマッピングされてもよい。例えば、ＵＩ記述データが、ＧＰＳ機能に対するアクセスを要求している例においては、プロセッサ２２は、ＧＰＳ機能に対してマッピングされ得る許可を要求してもよい。
【００６６】
例示用の実施形態においては、プロセッサ２２は、同一のランタイム環境において、専用のランタイムにおいて稼働しているＵＩ記述データにおいて、ウェブブラウザにおいて、又はネイティブのアプリケーション上において、稼働するべく、個々のＵＩ記述データを含むコラージュ化されたＵＩを生成してもよい。
【００６７】
図５のブロック５０６において示されているように、装置２０は、コラージュ化されたＵＩが、ユーザインタフェース２８上において表示されるようにするべく構成された、プロセッサ２２、ユーザインタフェース２８、又はこれらに類似したものなどの手段を含んでもよい。プロセッサが、コラージュ化されたＵＩを Windows（登録商標）８アプリケーションなどのネイティブアプリケーション内において表示している例においては、ネイティブアプリケーションは、図３に示されているように、別個のタイル内においてそれぞれのユティリティデバイスを有するパノラマビューを使用してもよい。コラージュ化されたＵＩは、それぞれのユティリティデバイス、ユティリティデバイスデータ、又はこれらに類似したものごとに、制御ＵＩを表示してもよい。例えば、コラージュ化されたＵＩは、例えば、開放又は閉鎖などの弁アクチュエータ用の制御ＵＩ、光及び音響センサデータ、並びに、サーボ位置制御を含んでもよい。
【００６８】
図５のブロック５０８において示されているように、装置２０は、制御信号通知を受信するように構成された、プロセッサ２２、ユーザインタフェース２８、又はこれらに類似したものなどの手段を含んでもよい。制御信号通知は、ユティリティデバイス１３０をターンオンするための選択、サーボの位置決め、又は弁の作動などの、コラージュ化されたＵＩとの間におけるユーザのやり取りによって生成されてもよい。例示用の実施形態においては、プロセッサは、例えば、ユーザのやり取りを伴うことなしに、自動的な制御信号通知を受信するように構成されてもよく、この通知は、例えば、ユティリティデバイスのデータ要求コマンドなどのＵＩ記述データの一部分であってもよい。
【００６９】
別の実施形態においては、制御信号通知は、ユティリティデバイスをバインドすることにより、少なくとも二つのユティリティデバイスのＵＩ記述子データ及び制御機能をリンクさせることを対象としたものであってもよい。プロセスは、少なくとも二つのユティリティデバイスをバインドする５１０において、或いは、ユティリティデバイス制御信号の送信を起動する５１２において、継続してもよい。
【００７０】
図５のブロック５１０において示されているように、装置２０は、少なくとも二つのユティリティデバイスをバインドするように構成された、プロセッサ２２、又はこれらに類似したものなどの手段を含んでもよい。ユティリティデバイス１３０のバインディングは、第二ユティリティデバイス用の入力データとしてのユティリティデバイスの出力データの選択を含んでもよい。プロセッサは、センサ及びアクチュエータなどの二つ以上のユティリティデバイス１３０と関連付けられた二つ以上のＵＩ記述データ要素をバインド又は関連付けし、これにより、センサの出力がアクチュエータに対して入力として送信されるようにしてもよい。ユティリティデバイス要素のバインディング又は関連付けは、ブロック５０８において記述されているように、制御信号の受信に応答したものであってもよく、或いは、ＵＩ記述データ制御情報に基づいたユーザのやり取りを伴うことなしに、自動的なものであってもよい。装置２０のプロセッサ２２は、ＵＩ記述データを使用してデータフロー用の仲介者として機能しており、従って、センサ及びアクチュエータは、互いの間において直接的にデータを送信する必要がなくなろう。プロセッサ２２は、第一ユティリティデバイス１３０のユティリティデバイス出力データと関連付けられたＵＩ記述データ要素をパブリッシュしてもよい。又、プロセッサは、第一ユティリティデバイスと関連付けられたＵＩ記述データ要素をサブスクライブ又はリスニングしてもよく、これは、第二ユティリティデバイス１３０用の入力データとして使用されてもよい。例えば、モーション又は音響センサは、ターンオンするべく、光などの、第二ユティリティデバイスへのトリガ入力として使用され得るモーション又は音響データを出力してもよい。例示用の実施形態においては、プロセッサ２２は、ユティリティデバイスデータに基づいて判定を実行してもよく、且つ、第二ユティリティデバイスへの入力として、トリガ又は制御信号を生成してもよい。プロセスは、ユティリティデバイスデータを受信するブロック５１４において継続してもよい。
【００７１】
図５のブロック５１２において示されているように、装置２０は、ユティリティデバイス制御信号の送信を起動するように構成された、プロセッサ２２、通信インタフェース２６、又はこれらに類似したものなどの手段を含んでもよい。プロセッサ２２は、通信インタフェースが、５０８において記述されているように、受信された制御通知に基づいて、或いは、５１０において記述されているように、トリガに基づいて、ユティリティデバイス制御信号を送信するようにしてもよい。ユティリティデバイス制御信号は、サーボの位置の調節、ターンオン、ターンオフ、アクチュエータの位置決め、又はこれらに類似したものなどの、ユティリティデバイスによって実行されるべきコマンドを含んでもよい。通信インタフェースは、ＮＦＣ、ＢＬＥ、又はこれらに類似したものを使用してユティリティデバイス制御信号を送信してもよい。
【００７２】
図５のブロック５１４に示されているように、装置２０は、ユティリティデバイスデータを受信するように構成された、プロセッサ２２、通信インタフェース２６、又はこれらに類似したものなどの手段を含んでもよい。通信インタフェースは、ユティリティデバイス１３０からユティリティデバイスデータを受信してもよく、ユティリティデバイスデータは、センサデータ、コマンド実行状態データ、位置通知データ、又はこれらに類似したものを含んでもよい。プロセッサ２２は、ブロック５１６において記述されているように、コラージュ化されたユーザインタフェースを更新してもよい。
【００７３】
ユティリティデバイスが、ユティリティデバイスデータにバインドされている例においては、プロセスは、ユティリティデバイス制御信号の送信を起動する５１２において継続してもよい。例えば、圧力センサが、弁アクチュエータに対してバインドされている例においては、プロセッサ２２は、既定の閾値を充足する圧力データのユティリティデバイスデータを受信してもよく、且つ、弁アクチュエータに対する開放するためのユティリティデバイス制御信号の送信を起動してもよい。
【００７４】
図５のブロック５１６において示されているように、装置２０は、コラージュ化されたＵＩを更新するように構成された、プロセッサ２２、ユーザインタフェース２８、又はこれらに類似したものなどの手段を含んでもよい。プロセッサ２２は、センサデータ又はコマンド実行状態などの受信されたユティリティデバイスデータに基づいて、コラージュ化されたＵＩを更新してもよい。プロセッサ２２は、更新済みのコラージュ化されたＵＩが、５０６において記述されているように、ユーザインタフェース２８上において表示されるようにしてもよい。
【００７５】
例示用の実施形態は、ネットワーク接続を伴うことなしに、専用アプリケーションのインストールを伴うことなしに、且つ、ユティリティデバイスを制御するためのコラージュ化されたＵＩを提供することにより、新しいユティリティデバイスの制御を許容している。pubsub API フレームワークは、ＵＩ記述子が、互いにやり取りし、且つ、ＵＥ内における且つその外部におけるサービスを提供すると共にこれに対してアクセスすることを許容している。
【００７６】
上述のように、図４及び図５は、本発明の例示用の実施形態による装置２０、方法、及びコンピュータプログラムプロダクトのフローチャートを示している。フローチャートのそれぞれのブロック及びフローチャート内のブロックの組合せは、ハードウェア、ファームウェア、プロセッサ、回路、並びに／或いは、一つ又は複数のコンピュータプログラム命令を含むソフトウェアの実行と関連付けられたその他の通信デバイスなどの様々な手段により、実装されてもよいことを理解されたい。例えば、上述の手順のうちの一つ又は複数は、コンピュータプログラム命令によって実施されてもよい。この観点において、上述の手順を実施するコンピュータプログラム命令は、本発明の実施形態を利用した装置のメモリデバイス２４によって保存されてもよく、且つ、装置のプロセッサ２２によって実行されてもよい。理解されるように、任意のこのようなコンピュータプログラム命令は、結果的に得られるコンピュータ又はその他のプログラム可能な装置が、フローチャートブロック内において規定されている機能を実装するように、機械を生成するべく、コンピュータ又はその他のプログラム可能な装置（例えば、ハードウェア）上に読み込まれてもよい。又、これらのコンピュータプログラム命令は、コンピュータ可読メモリ内において保存されている命令が、その実行がフローチャートブロック内において規定されている機能を実装する製品を生成するように、特定の方式によって機能するべく、コンピュータ又はその他のプログラム可能な装置を制御し得るコンピュータ可読メモリ内において保存されてもよい。又、コンピュータプログラム命令は、コンピュータ又はその他のプログラム可能な装置上において稼働する命令が、フローチャートブロック内において規定されている機能を実装するための動作を提供するように、一連の動作がコンピュータ又はその他のプログラム可能な装置上において実行されるようにすることにより、コンピュータ実装されたプロセスを生成するべく、コンピュータ又はその他のプログラム可能な装置上に読み込まれてもよい。
【００７７】
従って、フローチャートのブロックは、既定された機能を実行するための手段の組合せ及び規定された機能を実行するための動作の組合せをサポートしている。又、フローチャートの一つ又は複数のブロック及びフローチャート内のブロックの組合せは、既定された機能を実行する特殊目的ハードウェアに基づいたコンピュータシステムにより、或いは、特殊目的ハードウェア及びコンピュータ命令の組合せにより、実装することができることを理解されたい。
【００７８】
いくつかの実施形態においては、上述の動作のうちの特定のものは、変更されてもよく、或いは、更に増強されてもよい。更には、いくつかの実施形態においては、図４及び図５のブロック４０８、５０８、５１０、５１２、及び５１６の破線のアウトラインによって示されているものなどの更なる任意選択の動作が含まれてもよい。上述の動作に対する変更、追加、又は増強は、任意の順序において、且つ、任意の組合せにおいて、実行されてもよい。
【００７９】
以上の説明及び関連する図面において提示されている教示の利益を有する本明細書において記述されている本発明の多くの変更及びその他の実施形態が、当業者には想起されることになる。従って、本発明は、開示されている特定の実施形態に限定されるものではなく、且つ、変更及びその他の実施形態が、添付の請求項の範囲に含まれることを意図していることを理解されたい。更には、上述の説明及び関連する図面は、要素及び／又は機能の特定の例示用の組合せの文脈において例示用の実施形態について記述しているが、添付の請求項の範囲を逸脱することなしに、要素及び／又は機能の異なる組合せが代替実施形態によって提供され得ることを理解されたい。この観点において、添付の請求項のいくつかにおいて記述され得るように、例えば、明示的に上述されているもの以外の要素及び機能の異なる組合せも想定される。本明細書においては、特定の用語が利用されているが、これらの用語は、限定を目的としてではなく、一般的且つ記述的な意味においてのみ、使用されている。
【図１】
2017516239.tif 000003
【図２】
2017516239.tif 000004
【図３】
2017516239.tif 000005
【図４】
2017516239.tif 000006
【図５】
2017516239.tif 000007
【国際調査報告】
2017516239.tif 000008
2017516239.tif 000009
2017516239.tif 000010