(57)【特許請求の範囲】
【請求項１】
照明デバイスの制御を容易にするためのシステムであって、
少なくとも１つの受信機と、
少なくとも１つの送信機と、
少なくとも１つのプロセッサであって、
どのように前記照明デバイスが制御されるべきかを指定する光スクリプトを、前記少なくとも１つの受信機を介して受信する、
前記光スクリプトに従って同様に制御されるべき照明デバイスを識別するために、前記光スクリプトを分析する、
前記光スクリプトの分析に基づいて、識別された照明デバイスのグループを形成する、及び
前記グループの識別された前記照明デバイスを識別し、前記グループの識別子を含む、少なくとも１つのメッセージを、前記少なくとも１つの送信機を介して送信するよう構成され、前記少なくとも１つのメッセージが、前記識別子を含む後続のコマンドを実行するように、前記識別された照明デバイスを構成させる、少なくとも１つのプロセッサと、を備える、システム。
【請求項２】
前記光スクリプトが、複数のコマンドを含み、前記複数のコマンドのそれぞれが、制御される１つ以上の照明デバイスの所要の特性を指定する、請求項１に記載のシステム。
【請求項３】
前記少なくとも１つのプロセッサが、前記１つ以上のコマンドのそれぞれに関する前記所要の特性を有する、１つ以上の照明デバイスを識別するよう構成される、請求項２に記載のシステム。
【請求項４】
前記少なくとも１つのプロセッサが、前記コマンドを分析することによって、識別された前記１つ以上の照明デバイスから、識別された照明デバイスの前記グループを形成するよう構成される、請求項３に記載のシステム。
【請求項５】
前記光スクリプトが、複数の識別された照明デバイスを制御するための、複数のコマンドを含み、前記複数の識別された照明デバイスが、少なくとも、前記グループの前記識別された照明デバイスを含む、請求項１に記載のシステム。
【請求項６】
前記光スクリプトが、前記複数の識別された照明デバイスのうちの１つ以上の、少なくとも１つの以前に形成されたグループを識別する、請求項５に記載のシステム。
【請求項７】
前記少なくとも１つのプロセッサが、前記少なくとも１つの送信機を使用して、識別された照明デバイスの１つ以上のグループ、及び／又は１つ以上の個別に識別された照明デバイスを制御するための、１つ以上のコマンドを送信するよう構成され、前記識別された照明デバイスの１つ以上のグループが、識別された照明デバイスの前記グループを含む、請求項１乃至６のいずれか一項に記載のシステム。
【請求項８】
前記少なくとも１つのプロセッサが、前記コマンドのうちのいずれかを送信する前に、前記グループを形成して、前記少なくとも１つのメッセージを送信するよう構成される、請求項７に記載のシステム。
【請求項９】
前記少なくとも１つのプロセッサが、前記コマンドのうちの少なくとも１つを送信した後に、前記グループを形成して、前記少なくとも１つのメッセージを送信するよう構成される、請求項７に記載のシステム。
【請求項１０】
前記少なくとも１つのプロセッサが、前記光スクリプトを分析することによって、識別された照明デバイスの１つ以上の更なるグループを形成するよう構成され、前記１つ以上の更なるグループのそれぞれの前記識別された照明デバイスが、前記光スクリプトに従って同様に制御される、請求項１に記載のシステム。
【請求項１１】
照明デバイスの制御を容易にする方法であって、
どのように前記照明デバイスが制御されるべきかを指定する光スクリプトを、少なくとも１つの受信機を介して受信するステップと、
前記光スクリプトに従って同様に制御されるべき照明デバイスを識別するために、前記光スクリプトを分析するステップと、
前記光スクリプトの分析に基づいて、識別された照明デバイスのグループを形成するステップと、
前記グループの識別された前記照明デバイスを識別し、前記グループの識別子を含む、少なくとも１つのメッセージを、少なくとも１つの送信機を介して送信するステップであって、前記少なくとも１つのメッセージが、前記識別子を含む後続のコマンドを実行するように、前記識別された照明デバイスを構成させる、ステップと、を含む、方法。
【請求項１２】
前記光スクリプトが、複数のコマンドを含み、前記複数のコマンドのそれぞれが、制御される１つ以上の照明デバイスの所要の特性を指定する、請求項１１に記載の方法。
【請求項１３】
前記光スクリプトが、複数の識別された照明デバイスを制御するための、複数のコマンドを含み、前記複数の識別された照明デバイスが、少なくとも、前記グループの前記識別された照明デバイスを含む、請求項１１に記載の方法。
【請求項１４】
識別された照明デバイスの１つ以上のグループ、及び／又は１つ以上の個別に識別された照明デバイスを制御するための、１つ以上のコマンドを送信するステップを含み、前記識別された照明デバイスの１つ以上のグループが、識別された照明デバイスの前記グループを含む、請求項１１に記載の方法。
【請求項１５】
少なくとも１つのソフトウェアコード部分を含むコンピュータプログラム若しくはコンピュータプログラム一式、又は、少なくとも１つのソフトウェアコード部分を含むコンピュータプログラム若しくはコンピュータプログラム一式を記憶しているコンピュータ可読記憶媒体であって、前記ソフトウェアコード部分が、コンピュータシステム上で実行されると、請求項１１乃至１４のいずれか一項に記載の方法を実行するよう構成される、コンピュータプログラム若しくはコンピュータプログラム一式又はコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デバイスの制御を容易にする(facilitate)ためのシステムに関する。
【０００２】
本発明は更に、デバイスの制御を容易にする方法に関する。
【０００３】
本発明はまた、そのような方法をコンピュータシステムが実行することを可能にする、コンピュータプログラム製品にも関する。
【背景技術】
【０００４】
Ｐｈｉｌｉｐｓ  Ｈｕｅは、携帯電話又はタブレットを介して制御されることが可能な、ＬＥＤランプのラインである。Ｐｈｉｌｉｐｓ  Ｈｕｅは、携帯電話又はタブレットと、ローカルに設置されているランプとの間に、ブリッジを採用している。ブリッジと、ローカルに設置されているランプとは、パーソナルエリアネットワーク（personal area network；ＰＡＮ）を形成する。ランプを制御するために、ブリッジは、ＩｎｔｅｒＰＡＮ通信を介して、範囲内の全てのランプにメッセージをブロードキャストする。全てのランプには、アドレスが割り当てられており、全てのメッセージは、アドレス−値の対のリストを含む。各ランプは、自身のアドレスに関する値を読み取り、対応する値に基づいた光状態に自身を設定する。
【０００５】
現在のＰｈｉｌｉｐｓ  Ｈｕｅ製品の限界は、単一のメッセージ内に列挙されることが可能なアドレス−値の対の数に、制限があることであり、この制限は、典型的にはそれほど高くはなく、例えば１２である。この制限を取り除くことは、多くの場合不可能なこと、又は望ましくないこと、ではない。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明の第１の目的は、制御メッセージのサイズを増大させることなく、より多くのデバイスが制御されることを可能にする、デバイスの制御を容易にするためのシステムを提供することである。
【０００７】
本発明の第２の目的は、制御メッセージのサイズを増大させることなく、より多くのデバイスが制御されることを可能にする、デバイスの制御を容易にする方法を提供することである。
【課題を解決するための手段】
【０００８】
本発明の第１の態様では、（コントローラによる）デバイスの制御を容易にするためのシステムは、少なくとも１つの受信機と、少なくとも１つの送信機と、少なくとも１つのプロセッサであって、少なくとも１つの受信機を使用して、デバイス制御情報を受信し、デバイス制御情報が、どのようにデバイスが（コントローラによって）制御されるべきかを指定するものであり、デバイス制御情報を分析することによって、識別されたデバイスのグループを形成し、グループの識別されたデバイスが、デバイス制御情報に従って同様に（コントローラによって）制御され、少なくとも１つの送信機を使用して、グループの識別子を含む少なくとも１つのメッセージを送信し、識別されたデバイスが、識別子を含む１つ以上のコマンドを、そのような１つ以上のコマンドを受信した場合に実行するように、構成されることを可能にし、少なくとも１つのメッセージが、グループの識別されたデバイスを識別する（すなわち、メッセージは、グループの識別されたデバイスのそれぞれの、アイデンティティに関連する情報を含む）よう構成される、少なくとも１つのプロセッサとを備える。デバイス制御情報は、例えば、特定のデバイスを識別してもよく、又はデバイス要件を指定してもよい。デバイスは、例えば、ライトであってもよい。デバイスは、コントローラによって制御されてもよい。次いで、本システムは、デバイスのグループ化を提供し、コントローラは、デバイスに対する制御を提供する。換言すれば、本システムは、デバイスの制御を容易にする。コントローラは、別個のデバイスであってもよいが、あるいは、本システムの一部、例えば、少なくとも１つのプロセッサの一部とすることもできる。このことは、コントローラ機能が、部分的にシステム内に実装され、部分的に別個のエンティティによって実装される（すなわち、分散される）ことを排除するものではない。
【０００９】
本発明者らは、特定のデバイス制御情報の分析に基づいて、この特定のデバイス制御情報に従って同様に制御されることが予想されるか又はわかっている、識別されたデバイスのグループを形成することによって、制御メッセージのサイズを増大させることなく（例えば、単一のメッセージ内に列挙されることが可能な、アドレス−値の対の数を超過することなく）、より多くのデバイスを制御することが可能であり得る点を認識している。
【００１０】
デバイス制御情報は、デバイススクリプトを含んでもよく、デバイススクリプトは、複数のコマンドを含んでもよく、複数のコマンドのそれぞれが、制御される１つ以上のデバイスの所要の特性(required property)を指定してもよい。デバイススクリプトの分析は、レンダリングデバイス、例えば、モバイルデバイス、ＰＣ、又はインターネットサーバ上で特に有益であるが、これは、レンダリングデバイスが、通常、デバイススクリプトをレンダリングするために、いずれにせよデバイススクリプトを取得することが必要となるためである。デバイススクリプトの分析の利点は、デバイススクリプトが、多くの場合、レンダリングが開始される前に、その全体が取得され得ることにより、グループが最適に形成されることを可能にする点である。デバイススクリプトは、典型的には、データ要素のセットを含み、セット内では、各データ要素が、デバイスによって生成される出力の特性を示しており、それらデータ要素のシーケンスが定義されている（すなわち、スクリプトは、時系列式である）。デバイスがライトである場合には、デバイスによって生成される出力は、光特性、例えば、光強度及び／又は光の色である。デバイススクリプトは、典型的には、特定のデバイスを識別しない。
【００１１】
少なくとも１つのプロセッサは、１つ以上のコマンドのそれぞれに関する所要の特性を有している、１つ以上のデバイスを識別するよう構成されてもよい。デバイススクリプトは、通常、いずれの特定のデバイスも識別せず、それゆえ、システムが、デバイススクリプトのコマンド内で指定されている所要の特性に基づいて、これらの特定のデバイスを識別することを試みるのであれば有益である。
【００１２】
少なくとも１つのプロセッサは、コマンドを分析することによって、識別された１つ以上のデバイスから、識別されたデバイスのグループを形成するよう構成されてもよい。特定のデバイスが識別された後、少なくとも１つのプロセッサは、いずれの識別されたデバイスが、デバイススクリプトに従って同様に制御されることになるかを決定してもよく、この決定を使用して、識別されたデバイスのグループを形成してもよい。
【００１３】
デバイス制御情報は、複数の識別されたデバイスを制御するための複数のコマンドを含んでもよく、複数の識別されたデバイスは、少なくとも、グループの識別されたデバイスを含んでもよい。デバイススクリプトの代わりに、識別されたデバイスにアドレス指定される、下位レベルのコマンドが分析されてもよい。これらの下位レベルのコマンドの分析は、ブリッジ上で実行される場合に特に有益であるが、これは、ブリッジが通常、そのようなコマンドをいずれにせよ受信することになるためである。このことは、デバイススクリプトをレンダリングするレンダリングデバイスが、グループ形成をサポートしない場合には、特に有利である。
【００１４】
デバイス制御情報は、複数の識別されたデバイスのうちの１つ以上の、少なくとも１つの以前に形成されたグループを識別してもよい。レンダリングデバイスは、既にグループを形成していてもよいが、レンダリングデバイスが、グループ形成をサポートしている場合であっても、より最適にグループが形成されることが可能か否かを、ブリッジにチェックさせることが有利であり得る。
【００１５】
少なくとも１つのプロセッサは、少なくとも１つの送信機を使用して、識別されたデバイスの１つ以上のグループ、及び／又は１つ以上の個別に識別されたデバイスを制御するための、１つ以上のコマンドを送信するように更に構成されてもよく、識別されたデバイスの１つ以上のグループは、識別されたデバイスのグループを含む。識別されたデバイスのグループが形成された後、例えばアドレス−値の対を有する（下位レベルの）コマンドが、通常、識別されたデバイスに、グループアドレス（識別子）を使用して送信される必要がある。これらのコマンドは、例えば、識別されたデバイスに、レンダリングデバイスによって直接送信されてもよく、識別されたデバイスに、ブリッジによって直接送信されてもよく、又は、識別されたデバイスに、レンダリングデバイスによってブリッジを介して送信されてもよい。
【００１６】
少なくとも１つのプロセッサは、コマンドのうちのいずれかを送信する前に、グループを形成して、少なくとも１つのメッセージを送信するよう構成されてもよい。好ましくは、デバイス制御情報は、デバイススクリプトのレンダリングが開始される前に全体が取得されている、デバイススクリプトであり、それにより、デバイススクリプトが分析されることができ、識別されたデバイスに（下位レベルの）コマンドのうちのいずれかが送信される前に、グループが形成されることができる。このことは、グループが最適に形成されることを可能にする。
【００１７】
少なくとも１つのプロセッサは、コマンドのうちの少なくとも１つを送信した後に、グループを形成して、少なくとも１つのメッセージを送信するよう構成されてもよい。例えば、デバイススクリプトがストリーミングされているために、システムが、デバイススクリプトを取得することが不可能なブリッジであるために、又は、デバイススクリプトが、（例えば、ゲームによって）オンザフライで生成されているために、デバイススクリプトのレンダリングが開始される前にデバイススクリプトの全体を取得することが不可能である場合には、（下位レベルの）コマンドの送信を既に開始して、その後、確実にグループを形成することが可能となるために十分なコマンドが処理されると直ちに、グループを形成することが必要であり得る。デバイス制御情報の分析に基づいて、グループが形成される前に、デバイス制御情報とは無関係の、デフォルトのグループが使用されてもよい。グループは、デバイススクリプトのレンダリングの間に、微調整されてもよい。グループは、レンダリングが終了した場合、例えば、全ての（下位レベルの）コマンドがデバイスに送信された場合に、解消されてもよい。
【００１８】
少なくとも１つのプロセッサは、デバイス制御情報を分析することによって、識別されたデバイスの１つ以上の更なるグループを形成するように、更に構成されてもよく、１つ以上の更なるグループのそれぞれの識別されたデバイスは、デバイス制御情報に従って同様に制御される。更なるグループの形成は、（制御コマンドを含む）制御メッセージのサイズを増大させることなく、より多くのデバイスが制御されることを可能にし得る。
【００１９】
本発明の第２の態様では、デバイスの制御を容易にする方法は、デバイス制御情報を受信するステップであって、デバイス制御情報が、どのようにデバイスが制御されるべきかを指定する、ステップと、デバイス制御情報を分析することによって、識別されたデバイスのグループを形成するステップであって、デバイスのグループの識別されたデバイスが、デバイス制御情報に従って同様に制御される、ステップと、グループの識別子を含む少なくとも１つのメッセージを送信して、識別されたデバイスが、識別子を含む１つ以上のコマンドを、そのような１つ以上のコマンドを受信した場合に実行するように、構成されることを可能にするステップであって、少なくとも１つのメッセージが、グループの識別されたデバイスを識別する、ステップとを含む。この方法は、ハードウェア及び／又はソフトウェアとして実装されてもよい。
【００２０】
デバイス制御情報は、デバイススクリプトを含んでもよく、デバイススクリプトは、複数のコマンドを含んでもよく、複数のコマンドのそれぞれが、制御される１つ以上のデバイスの所要の特性を指定してもよい。
【００２１】
デバイス制御情報は、複数の識別されたデバイスを制御するための複数のコマンドを含んでもよく、複数の識別されたデバイスは、少なくとも、グループの識別されたデバイスを含んでもよい。
【００２２】
上述の方法は、識別されたデバイスの１つ以上のグループ、及び／又は１つ以上の個別に識別されたデバイスを制御するための、１つ以上のコマンドを送信するステップを更に含んでもよく、識別されたデバイスの１つ以上のグループは、識別されたデバイスのグループを含む。
【００２３】
更には、本明細書で説明される方法を実践するためのコンピュータプログラム、並びに、そのコンピュータプログラムを記憶している非一時的コンピュータ可読記憶媒体が提供される。コンピュータプログラムは、例えば、既存のデバイスによってダウンロードされるか、又は、既存のデバイスにアップロードされてもよく、あるいは、これらのシステムの製造時に記憶されてもよい。
【００２４】
非一時的コンピュータ可読記憶媒体は、少なくとも１つのソフトウェアコード部分を記憶しており、ソフトウェアコード部分は、コンピュータによって実行又は処理されると、デバイス制御情報を受信するステップであって、デバイス制御情報が、どのようにデバイスが制御されるべきかを指定する、ステップと、デバイス制御情報を分析することによって、識別されたデバイスのグループを形成するステップであって、デバイスのグループの識別されたデバイスが、デバイス制御情報に従って同様に制御される、ステップと、グループの識別子を含む少なくとも１つのメッセージを送信して、識別されたデバイスが、識別子を含む１つ以上のコマンドを、そのような１つ以上のコマンドを受信した場合に実行するように、構成されることを可能にするステップであって、少なくとも１つのメッセージが、グループの識別されたデバイスを識別する、ステップとを含む、実行可能動作を実行するよう構成される。
【００２５】
当業者には理解されるように、本発明の諸態様は、デバイス、方法、又はコンピュータプログラム製品として具現化されてもよい。したがって、本発明の諸態様は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態（ファームウェア、常駐ソフトウェア、マイクロコードなどを含む）、あるいは、ソフトウェアの態様とハードウェアの態様とを組み合わせた実施形態の形態を取ってもよく、それらは全て、本明細書では「回路」、「モジュール」、又は「システム」と総称されてもよい。本開示で説明される機能は、コンピュータのプロセッサ／マイクロプロセッサによって実行される、アルゴリズムとして実装されてもよい。更には、本発明の諸態様は、１つ以上のコンピュータ可読媒体として具現化されている、コンピュータプログラム製品の形態を取ってもよく、１つ以上のコンピュータ可読媒体は、その上に具現化されている、例えば記憶されている、コンピュータ可読プログラムコードを有する。
【００２６】
１つ以上のコンピュータ可読媒体の任意の組み合わせが、利用されてもよい。コンピュータ可読媒体は、コンピュータ可読信号媒体又はコンピュータ可読記憶媒体であってもよい。コンピュータ可読記憶媒体は、例えば、限定するものではないが、電子的、磁気的、光学的、電磁気的、赤外線の、又は半導体の、システム、装置、若しくはデバイス、あるいは、上述の任意の好適な組み合わせであってもよい。より具体的なコンピュータ可読記憶媒体の例としては、限定するものではないが、１つ以上のワイヤを有する電気的接続、ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ（random access memory；ＲＡＭ）、読み出し専用メモリ（read-only memory；ＲＯＭ）、消去可能プログラマブル読み出し専用メモリ（erasable programmable read-only memory；ＥＰＲＯＭ又はフラッシュメモリ）、光ファイバ、ポータブルコンパクトディスク読み出し専用メモリ（portable compact disc read-only memory；ＣＤ−ＲＯＭ）、光学記憶デバイス、磁気記憶デバイス、又は上述の任意の好適な組み合わせを挙げることができる。本発明の文脈では、コンピュータ可読記憶媒体は、命令実行システム、装置、若しくはデバイスで、又はそれらに関連して使用するためのプログラムを含むか、又は記憶することが可能な、任意の有形媒体であってもよい。
【００２７】
コンピュータ可読信号媒体としては、例えばベースバンド内又は搬送波の一部として、内部に具現化されているコンピュータ可読プログラムコードを有する、伝搬データ信号を挙げることができる。そのような伝搬信号は、限定するものではないが、電磁気的、光学的、又はこれらの任意の好適な組み合わせを含めた、様々な形態のうちのいずれを取ってもよい。コンピュータ可読信号媒体は、コンピュータ可読記憶媒体ではなく、命令実行システム、装置、若しくはデバイスによって、又はそれらに関連して使用するためのプログラムを、通信する、伝搬する、又は伝送することが可能な、任意のコンピュータ可読媒体であってもよい。
【００２８】
コンピュータ可読媒体上に具現化されているプログラムコードは、限定するものではないが、無線、有線、光ファイバ、ケーブル、ＲＦなど、又は上述の任意の好適な組み合わせを含めた、任意の適切な媒体を使用して送信されてもよい。本発明の諸態様に関する動作を実施するためのコンピュータプログラムコードは、Ｊａｖａ（登録商標）、Ｓｍａｌｌｔａｌｋ、Ｃ＋＋などのオブジェクト指向プログラミング言語、及び、「Ｃ」プログラミング言語又は同様のプログラミング言語などの従来の手続き型プログラミング言語を含めた、１つ以上のプログラミング言語の任意の組み合わせで書かれてもよい。このプログラムコードは、スタンドアロン型ソフトウェアパッケージとして、完全にユーザのコンピュータ上で実行されてもよく、部分的にユーザのコンピュータ上で実行されてもよく、部分的にユーザのコンピュータ上かつ部分的にリモートコンピュータ上で実行されてもよく、又は完全にリモートコンピュータ若しくはサーバ上で実行されてもよい。後者のシナリオでは、リモートコンピュータは、ローカルエリアネットワーク（local area network；ＬＡＮ）若しくは広域ネットワーク（wide area network；ＷＡＮ）を含めた任意のタイプのネットワークを通じて、ユーザのコンピュータに接続されてもよく、又は、この接続は、外部コンピュータに対して（例えば、インターネットサービスプロバイダを使用してインターネットを通じて）実施されてもよい。
【００２９】
本発明の実施形態による方法、装置（システム）、及びコンピュータプログラム製品の、フローチャート図及び／又はブロック図を参照して、本発明の諸態様が以下で説明される。フローチャート図及び／又はブロック図の各ブロック、並びに、フローチャート図及び／又はブロック図内のブロックの組み合わせは、コンピュータプログラム命令によって実施されることができる点が理解されるであろう。これらのコンピュータプログラム命令は、マシンを作り出すために、汎用コンピュータ、専用コンピュータ、又は他のプログラマブルデータ処理装置の、プロセッサ、特にマイクロプロセッサ又は中央処理ユニット（central processing unit；ＣＰＵ）に提供されてもよく、それにより、コンピュータ、他のプログラマブルデータ処理装置、又は他のデバイスのプロセッサを介して実行される命令が、フローチャート及び／又はブロック図のブロック内で指定されている機能／行為を実施するための手段を作り出す。
【００３０】
これらのコンピュータプログラム命令はまた、コンピュータ、他のプログラマブルデータ処理装置、又は他のデバイスに、特定の方式で機能するように指示することが可能な、コンピュータ可読媒体内に記憶されてもよく、それにより、コンピュータ可読媒体内に記憶されている命令が、フローチャート及び／又はブロック図のブロック内で指定されている機能／行為を実施する命令を含む、製品を作り出す。
【００３１】
コンピュータプログラム命令はまた、コンピュータ実施プロセスを作り出すために、コンピュータ、他のプログラマブルデータ処理装置、又は他のデバイス上にロードされて、それらのコンピュータ、他のプログラマブルデータ処理装置、又は他のデバイス上で一連の動作ステップを実行させてもよく、それにより、コンピュータ又は他のプログラマブル装置上で実行される命令が、フローチャート及び／又はブロック図のブロック内で指定されている機能／行為を実施するためのプロセスを提供する。
【００３２】
図におけるフローチャート及びブロック図は、本発明の様々な実施形態によるデバイス、方法、及びコンピュータプログラム製品の可能な実施の、アーキテクチャ、機能性、及び動作を示す。この点に関して、フローチャート又はブロック図内の各ブロックは、指定されている論理機能を実現するための１つ以上の実行可能命令を含む、コードのモジュール、セグメント、又は部分を表してもよい。また、一部の代替的実装形態では、ブロック内に記されている機能は、それらの図に記されている順序と異なる順序で行われてもよい点にも留意されたい。例えば、連続して示されている２つのブロックは、実際には、実質的に同時に実行されてもよく、又は、それらのブロックは、関与している機能性に応じて、逆の順序で実行される場合があってもよい。また、ブロック図及び／又はフローチャート図の各ブロック、並びに、それらブロック図及び／又はフローチャート図内のブロックの組み合わせは、指定されている機能若しくは行為を実行する専用ハードウェアベースのシステム、又は、専用ハードウェアとコンピュータ命令との組み合わせによって実施されることができる点にも留意されたい。
【図面の簡単な説明】
【００３３】
本発明のこれらの態様及び他の態様は、以下の図面から明らかであり、例として、それらの図面を参照して更に解明されるであろう。
【００３４】
【図１】本発明のシステムの第１の実施形態のブロック図である。
【図２】本発明のシステムの第２の実施形態のブロック図である。
【図３】本発明のシステムの第３の実施形態のブロック図である。
【図４】本発明のシステムの第４の実施形態のブロック図である。
【図５】本発明のシステムの第５の実施形態のブロック図である。
【図６】リビングルーム内でのライトのグループ化の一実施例を示す。
【図７】本発明の方法の一実施形態のフローチャートである。
【図８】本発明の方法を実行するための、例示的なデータ処理システムのブロック図である。
【発明を実施するための形態】
【００３５】
図面中の対応する要素は、同じ参照番号によって示される。
【００３６】
第１の実施形態では、本発明は、レンダリングデバイス、すなわちモバイルデバイス１内に実装されている（図１を参照）。モバイルデバイス１は、送受信機３、プロセッサ５、メモリ７、及びディスプレイ９を備える。５つのライト、すなわちライト２１〜２５が存在している。ライト２１〜２５は、ブリッジ３１を介して制御されることができる。ブリッジ３１は、例えば、ＺｉｇＢｅｅ、ＺｉｇＢｅｅに基づくプロトコル、又は別のＰＡＮプロトコルを介して、ライト２１〜２５にコマンドを送信する。ブリッジ３１は、無線ＬＡＮアクセスポイント２７を介して、無線ＬＡＮに接続される。モバイルデバイス１のプロセッサ５は、ブリッジ３１を介して、ライト２１〜２５を制御するよう構成される。この実施形態では、モバイルデバイス１は、同じ無線ＬＡＮアクセスポイント２７を介して、ブリッジ３１と同じ無線ＬＡＮに接続される。
【００３７】
モバイルデバイス１のプロセッサ５は、送受信機３を使用して、インターネット２９上の別のデバイスから、デバイススクリプト（例えば、光スクリプト）を受信するよう構成される。モバイルデバイス１は、デバイススクリプト全体（「予めロードされているコンテンツ」とも称されるもの）を受信して、次いで、そのデバイススクリプトのレンダリングを開始してもよく、又は、モバイルデバイス１は、デバイススクリプトをストリーミングしてもよく（すなわち、第１の部分が受信されると直ちに、デバイススクリプトのレンダリングを開始してもよいが、その一方で残部は、レンダリングの間に受信されている）、又は、モバイルデバイス１は、例えば、モバイルデバイス１がゲームを実行している場合には、オンザフライでデバイススクリプトを生成してもよい。
【００３８】
デバイススクリプトは、例えば、「氷効果」、「自分の雰囲気０１」、「自分の雰囲気０２」、「冷風」、及び「暖炉」などの、レンダリングされる特定の効果を定義してもよい。各効果に関しては、色及び／又は強度、持続時間、及び遷移速度などの、特定の特性が定義されてもよい。単純な効果は、単に色及び／又は強度を指定してもよい。第１のタイプの高度な効果は、例えば、瞬間ｔ０において第１の色及び／又は強度が生成され（効果の開始）、瞬間ｔ１において第２の色及び／又は強度が生成されることを指定してもよい（また場合により、更なる瞬間に関して、更なる色及び／又は強度が指定されてもよい）。第２のタイプの高度な効果は、例えば、第１の色及び／又は強度が、指定された遷移速度で第２の色及び／又は強度に遷移することを指定してもよい。
【００３９】
デバイススクリプトは、複数のコマンド（要素とも称されるもの）を指定してもよく、各コマンドに関して、いずれの効果が、いずれの位置及びいずれの瞬間においてレンダリングされるかを、指定してもよい。瞬間は、例えば、レンダリングの開始からのオフセットとして指定されてもよい。位置は、例えば、「左」、「右」、「前」、「後」、及び「全て」として、あるいは、「全て」、「左」、「右」、「前」、「後」、「左前」、「右後」などとして指定されてもよい。
【００４０】
デバイススクリプトはまた、利用可能である必要があるデバイスの最小数、利用可能である必要があるデバイスのタイプ、及び利用可能である必要があるタイプごとのデバイスの最小数を指定してもよい。光スクリプトは、例えば、少なくとも２つのライトが利用可能であることを要求してもよい。他のタイプのデバイスは、例えば、スピーカ及び／又はファンを含んでもよい。
【００４１】
デバイススクリプトをレンダリングする前に、モバイルデバイス１は、最初に、いずれの制御可能デバイスが、デバイススクリプトをレンダリングするために利用可能であるかを決定する。モバイルデバイス１は、ブリッジ３１から、利用可能な識別されたデバイス、すなわちライト２１〜２５のリスト、及び、それらのライトの特性を受信する。これらの特性は、それらのライトの能力、及びそれらのライトの位置を含む。次いで、モバイルデバイス１は、これらのデバイスを使用して、デバイススクリプトがレンダリングされることができるか否かを、チェックしてもよい。例えば、デバイススクリプトは、少なくとも２つのライトが利用可能であることを要求してもよく、５つのライト（ライト２１〜２５）が利用可能であるため、モバイルデバイス１は、デバイススクリプトがレンダリングされることができると決定してもよい。
【００４２】
デバイススクリプトをレンダリングすることは、デバイススクリプトの各要素（コマンド）を、識別されたデバイスのうちの１つ以上にマッピングすることを伴う。例えば、レンダリングが開始された１５秒後に、部屋の前方に、赤色及び黄色を伴う「暖炉」効果がレンダリングされるべきであることを、要素が指定する場合には、モバイルデバイス１は、ライト２１〜２５のうちのいずれが、赤色及び黄色を出力することができる（例えば、カラーライト）か、及び、ライト２１〜２５のうちのいずれが、部屋の前方に配置されているか（例えば、第１のライトは、位置「左前」を有し、第２のライトは、位置「右前」を有する）を決定することになる。デバイスが、要素内で指定されている所要の特性を有さない場合には、その要素をレンダリングするために制御されるデバイスとしては選択されない。
【００４３】
デバイススクリプト全体が利用可能である場合には、レンダリングが開始される前に、全ての要素が、識別されたデバイスにマッピングされてもよい。あるいは、デバイススクリプトが、ストリーミングされるか、又はオンザフライで生成される場合には、要素は、受信又は生成されると直ちに、識別されたデバイスにマッピングされてもよい。マッピングの後、識別されたデバイスに関して、コマンドが生成される。これらのコマンドは、デバイススクリプトのコマンド（要素）よりも下位レベルである。デバイススクリプトは、第１の種類のデバイス制御情報である。下位レベルのコマンドは、第２の種類のデバイス制御情報である。双方の場合において、デバイス制御情報は、どのようにデバイスが制御されるべきかを指定するものであるが、デバイススクリプトのコマンドは、いずれの特定のデバイスも識別しない一方で、識別されたデバイスに関するコマンドは、当然ながらデバイスを識別する（それゆえ、下位レベルであると見なされる）。
【００４４】
プロセッサ５は、デバイス制御情報を分析することによって、識別されたデバイスのグループを形成するよう構成され、デバイスのグループの識別されたデバイスは、デバイス制御情報に従って同様に制御される。図１の実施形態では、プロセッサ５は、デバイススクリプトのコマンド（要素）を分析することによって、識別された１つ以上のデバイスから、識別されたデバイスのグループを形成するよう構成される。プロセッサ５は、送受信機３を使用して、グループの識別子を含む少なくとも１つのメッセージを送信し、識別されたデバイスが、識別子を含む１つ以上のコマンドを、そのような１つ以上のコマンドを受信した場合に実行するように構成されることを、可能にするように構成される。少なくとも１つのメッセージは、グループの識別されたデバイスを識別する。
【００４５】
図１の実施形態では、少なくとも１つのメッセージは、ブリッジ３１のアプリケーションプログラミングインタフェース（Application Programming Interface；ＡＰＩ）を介して、ブリッジ３１に送信される。次いで、ブリッジ３１は、ライト２１〜２５に、いずれのグループに割り当てられているかを通知する。次いで、ライト２１〜２５のそれぞれは、自身がメンバーであるグループを識別するグループ識別子を含むコマンドを、実行する必要があることを知る。ブリッジ３１は、ユニキャスト、マルチキャスト、又はブロードキャストメッセージを使用して、ライト２１〜２５に通知してもよい。ライト２１〜２５は、このメッセージの受信を確認してもよい。レンダリングが終了した後、グループ割り当てが削除されてもよい。ブリッジ３１は、グループ割り当てを削除するように、ライト２１〜２５に指示してもよい。モバイルデバイス１は、レンダリングが終了したことを、ブリッジ３１に通知してもよい。
【００４６】
プロセッサ５は、デバイス制御情報を分析することによって、識別されたデバイスの１つ以上の更なるグループを形成するように、更に構成され、１つ以上の更なるグループのそれぞれの識別されたデバイスは、デバイス制御情報に従って同様に制御される。このようにして、識別されたデバイスの複数のグループが作成されてもよい。特定の識別されたデバイスが、例えば、他の識別されたデバイスとは、部屋のもう一つの側に存在して、異なる能力を有しているために、その別の識別されたデバイスと同様の方式で制御されない場合には、このデバイスをグループ化しない方が良く、その代わりに個別に制御してもよい。デバイスのグループを形成して、制御メッセージ内で、個別アドレスの代わりにグループアドレス（識別子）を使用することによって、これらの制御メッセージのサイズが低減されることができ、それにより、コマンドが送信され得る頻度を低減することなく、より多くのデバイスが、同じサイズの制御メッセージで制御されることを可能にする。
【００４７】
プロセッサ５は、送受信機３を使用して、識別されたデバイスの１つ以上のグループ、及び／又は１つ以上の個別に識別されたデバイスを制御するための、１つ以上のコマンドを送信するように、更に構成される。デバイススクリプト全体が利用可能である場合には、これらの１つ以上の（下位レベルの）コマンドは全て、第１のコマンドが送信される前に全て決定されてもよい。あるいは、デバイススクリプトが、ストリーミングされるか、又はオンザフライで生成される場合には、新たなデバイススクリプトのコマンド（要素）が受信又は生成されると直ちに、（下位レベルの）コマンドが決定されてもよい。前者の場合には、プロセッサ５は、好ましくは、コマンドのうちのいずれかを送信する前に、グループを形成して、少なくとも１つのメッセージを送信するよう構成される。後者の場合には、プロセッサ５は、好ましくは、コマンドのうちの少なくとも１つを送信した後に、グループを形成して、少なくとも１つのメッセージを送信するよう構成される。このコマンドのうちの少なくとも１つは、個別に識別されたデバイスを制御することのみを目的としているが、これは、デバイス制御情報の分析に基づいて、識別されたデバイスのグループを形成するためには、その時点で十分な情報が存在していないためである。図１の実施形態では、１つ以上の（下位レベルの）コマンドは、ブリッジ３１のアプリケーションプログラミングインタフェース（ＡＰＩ）を介して、ブリッジ３１に送信される。
【００４８】
図１に示される実施形態では、モバイルデバイス１は、１つのプロセッサ５を備える。代替的実施形態では、モバイルデバイス１は、複数のプロセッサを備える。モバイルデバイス１のプロセッサ５は、例えばＡＲＭ若しくはＱｕａｌｃｏｍｍ製の汎用プロセッサ、又は、特定用途向けプロセッサであってもよい。モバイルデバイス１のプロセッサ５は、例えば、ｉＯＳ、Ｗｉｎｄｏｗｓ、又はＡｎｄｒｏｉｄオペレーティングシステムを実行してもよい。本発明は、１つ以上のプロセッサ上で実行される、コンピュータプログラムを使用して実装されてもよい。図１に示される実施形態では、受信機及び送信機が、送受信機３に組み合わされている。代替的実施形態では、１つ以上の別個の受信機構成要素と、１つ以上の別個の送信機構成要素とが使用される。代替的実施形態では、単一の送受信機の代わりに、複数の送受信機が使用される。送受信機３は、１つ以上の無線通信技術、例えば、ＬＴＥ、Ｗｉ−Ｆｉ、ＺｉｇＢｅｅ、及び／又はＢｌｕｅｔｏｏｔｈ（登録商標）を使用して、データを送受信してもよい。メモリ７は、１つ以上のメモリユニットを含んでもよい。メモリ７は、例えば、固体メモリを含んでもよい。ディスプレイ９は、例えば、ＬＣＤ又はＯＬＥＤディスプレイパネルを含んでもよい。ディスプレイ９は、例えば、タッチスクリーンであってもよい。
【００４９】
第２の実施形態では、本発明は、ブリッジ１１内に実装されている（図２を参照）。ブリッジ１１は、送受信機１３、プロセッサ１５、及びメモリ１７を備える。モバイルデバイス３３は、図１に関連して説明されたデバイススクリプトを受信及び処理するが、モバイルデバイス３３によって、識別されたデバイスのグループは形成されず、モバイルデバイス３３によって送信される下位レベルのコマンドは、個別に識別されたデバイスを制御することのみを目的としている。モバイルデバイス３３は、ブリッジ１１から、存在している利用可能な識別されたデバイス、すなわちライト２１〜２５のリスト、及び、それらのライトの特性を受信して、デバイススクリプトの要素を、識別されたデバイスにマッピングする。
【００５０】
図２の実施形態では、プロセッサ１５は、モバイルデバイス３３から受信した下位レベルのコマンドを分析することによって、識別された１つ以上のデバイスから、識別されたデバイスのグループを形成するよう構成される。換言すれば、デバイス制御情報は、複数の識別されたデバイスを制御するための複数のコマンドを含み、複数の識別されたデバイスは、少なくとも、グループの識別されたデバイスを含む。プロセッサ１５は、デバイス制御情報を分析することによって、識別されたデバイスのグループを形成するよう構成され、グループの識別されたデバイスは、デバイス制御情報に従って同様に制御される。プロセッサ１５は、送受信機３を使用して、グループの識別子を含む少なくとも１つのメッセージを送信し、識別されたデバイスが、識別子を含む１つ以上のコマンドを、そのような１つ以上のコマンドを受信した場合に実行するように構成されることを、可能にするように構成される。少なくとも１つのメッセージは、グループの識別されたデバイスを識別する。
【００５１】
プロセッサ１５は、送受信機３を使用して、識別されたデバイスの１つ以上のグループ、及び／又は１つ以上の個別に識別されたデバイスを制御するための、１つ以上のコマンドを送信するように、更に構成される。それゆえ、ブリッジ１１は、モバイルデバイス３３から受信した下位レベルのコマンドを、他の下位レベルのコマンドに変換し、次いで、ブリッジ１１は、この下位レベルのコマンドを、ライト２１〜２５に送信する。プロセッサ１５は、好ましくは、コマンドのうちの少なくとも１つを送信した後に、グループを形成して、少なくとも１つのメッセージを送信するよう構成されるが、これは、モバイルデバイス３３から１つのみの下位レベルのコマンドを受信した後では、デバイス制御情報の分析に基づいて、識別されたデバイスのグループを形成するためには、十分な情報を有していないためである。
【００５２】
図２に示される実施形態では、ブリッジ１１は、１つのプロセッサ１５を備える。代替的実施形態では、ブリッジ１１は、複数のプロセッサを備える。ブリッジ１１のプロセッサ１５は、例えばＡＲＭ若しくはＱｕａｌｃｏｍｍ製の汎用プロセッサ、又は、特定用途向けプロセッサであってもよい。ブリッジ１１のプロセッサ１５は、例えば、Ｌｉｎｕｘ（登録商標）ベースのオペレーティングシステムを実行してもよい。本発明は、１つ以上のプロセッサ上で実行される、コンピュータプログラムを使用して実施されてもよい。図２に示される実施形態では、受信機及び送信機が、送受信機１３に組み合わされている。代替的実施形態では、１つ以上の別個の受信機構成要素と、１つ以上の別個の送信機構成要素とが使用される。代替的実施形態では、単一の送受信機の代わりに、複数の送受信機が使用される。送受信機１３は、１つ以上の無線通信技術、例えば、ＬＴＥ、Ｗｉ−Ｆｉ、ＺｉｇＢｅｅ、及び／又はＢｌｕｅｔｏｏｔｈ（登録商標）を使用して、データを送受信してもよい。メモリ１７は、１つ以上のメモリユニットを含んでもよい。メモリ１７は、例えば、固体メモリを含んでもよい。
【００５３】
図２の実施形態の変形例では、プロセッサ１５は、送受信機１３を使用して、例えばモバイルデバイス３３から、デバイススクリプトを受信するように、及び、デバイススクリプトのコマンド（要素）を分析することによって、識別された１つ以上のデバイスから、利用可能なデバイスのグループを形成するように、構成されてもよい。
【００５４】
第３の実施形態では、本発明は両方とも、モバイルデバイス１内及びブリッジ１１内に実装されている（図３を参照）。図３のモバイルデバイス１は、図１のモバイルデバイス１に対応している。図３のブリッジ１１は、図２のブリッジ１１に対応している。この第３の実施形態では、ブリッジ１１は、モバイルデバイス１から下位レベルのコマンドを受信するが、第２の実施形態の場合とは異なり、これらの下位レベルのコマンドはまた、識別されたデバイスの１つ以上のグループを制御するためのコマンドも含む。換言すれば、デバイス制御情報は、複数の識別されたデバイスのうちの１つ以上の、少なくとも１つの以前に形成されたグループを識別する。ブリッジ１１は、モバイルデバイス１とは異なるグループ、例えば、より多いグループ又はより少ないグループを形成してもよく、それゆえ、ブリッジ１１によってライト２１〜２５に送信される下位レベルのコマンドは、モバイルデバイス１からブリッジによって受信される下位レベルのコマンドとは異なるグループ化を使用してもよい。
【００５５】
第４の実施形態では、本発明は、モバイルデバイス１内に実装されており、モバイルデバイス１は、ライト２１〜２５と直接通信するように、すなわち、ブリッジを使用せずに通信するよう構成される（図４を参照）。この実施形態では、モバイルデバイス１は、ランプ２１〜２５によって理解されるプロトコル、例えば、ＺｉｇＢｅｅ、又はＺｉｇＢｅｅに基づく独自プロトコルを使用して、無線信号を送信することが可能である。モバイルデバイス１は、図１に関連して説明されたモバイルデバイスと同様に実行するが、ただし、モバイルデバイス１は、ライトの特性もまた含む、ライト２１〜２５から直接受信された情報に基づいて、モバイルデバイス１自身で、識別されたデバイスのリストをコンパイルし、下位レベルのコマンドを、モバイルデバイス１がライト２１〜２５に直接送信する。
【００５６】
第５の実施形態では、本発明はモバイルデバイス１内に実装されており、モバイルデバイス１は、ブリッジを使用せずに、無線ＬＡＮアクセスポイント２７を介して、ライト２１〜２５と通信するよう構成される（図５を参照）。この実施形態では、ライト２１〜２５は、無線ＬＡＮアクセスポイント２７によって送信された無線ＬＡＮ（例えば、Ｗｉ−Ｆｉ）信号を、受信及び復号することが可能である。モバイルデバイス１は、図４に関連して説明されたモバイルデバイスと同様に挙動する。
【００５７】
図６は、テレビジョン４３及びライト２１〜２５を備えるリビングルーム４１内での、ライトのグループ化の一実施例を示している。第１のグループ４５は、例えば、レンダリングされているデバイススクリプトの効果の少なくとも一部が、「前」位置を指定しているため、ライト２１及びライト２２を含む。第２のグループ４６は、例えば、レンダリングされているデバイススクリプトの効果の少なくとも一部が、「右」位置を指定しているため、ライト２２及びライト２４を含む。第３のグループ４７は、例えば、レンダリングされているデバイススクリプトの効果の少なくとも一部が、「中央」位置を指定しているため、ライト２３及びライト２５を含む。第４のグループ４８は、５つのライト全てを含む。ライトは、典型的には、同様の位置又は同様の能力を有する場合には、同様に制御されるため、自動的にグループ化される。
【００５８】
それゆえ、ライト２１は、グループ４５及びグループ４８の一部である。それゆえ、ライト２２は、グループ４５、グループ４６、及びグループ４８の一部である。それゆえ、ライト２３は、グループ４７及びグループ４８の一部である。それゆえ、ライト２４は、グループ４６及びグループ４８の一部である。それゆえ、ライト２５は、グループ４７及びグループ４８の一部である。図１〜図３の実施形態を説明するために、これらのライトのグループが使用される。
【００５９】
図１の実施形態では、モバイルデバイス１がグループを形成し、ブリッジ３１が、ライト２１〜２５に下位レベルのコマンドを直接転送する。例えば、ブリッジ３１は、モバイルデバイス１から、コマンド「Ｌ２１−赤、Ｇ４７−白、Ｇ４６−緑」（Ｌ２１はライト２１を識別し、Ｇ４７はグループ４７を識別している）を受信して、ライト２１〜２５に、コマンド「Ｌ２１−赤、Ｇ４７−白、Ｇ４６−緑」を送信する。フォーマット「Ｌ２１−赤、Ｇ４７−白、Ｇ４６−緑」は、例示目的のために使用されている。実際には、フォーマットは、可能な限り短くなるように符号化されてもよい。
【００６０】
図２の実施形態では、モバイルデバイス３３は、グループ化を無視して、個々のライトに関する下位レベルのコマンドを、ブリッジ１１に送信する。ブリッジ１１は、図６のグループ化を使用して、受信した下位レベルのコマンドを、異なる下位レベルのコマンドに変換し、その異なる下位レベルのコマンドをライト２１〜２５に送信する。例えば、ブリッジ１１は、モバイルデバイス３３から、コマンド「Ｌ２１−赤、Ｌ２２−緑、Ｌ２３−白、Ｌ２４−緑、Ｌ２５−白」を受信して、ライト２１〜２５に、コマンド「Ｌ２１−赤、Ｇ４７−白、Ｇ４６−緑」を送信する。
【００６１】
図３の実施形態では、モバイルデバイス１は、部分的なグループ化を実行し、ブリッジ１１が、必要に応じて、チェック及び再グループ化する。ブリッジ１１は、図６のグループ化を使用して、受信した下位レベルのコマンドを、必要に応じて、異なる下位レベルのコマンドに変換し、ライト２１〜２５に、受信した下位レベルのコマンドを転送するか、又は、異なる下位レベルのコマンドを送信する。後者の一実施例として、ブリッジ１１は、モバイルデバイス１から、コマンド「Ｌ２１−赤、Ｌ２２−緑、Ｌ２４−緑、Ｇ４７−白」を受信して、ライト２１〜２５に、コマンド「Ｌ２１−赤、Ｇ４７−白、Ｇ４６−緑」を送信する。
【００６２】
デバイスの制御を容易にする方法の第１の実施形態が、図７に示されている。ステップ６１は、デバイス制御情報を受信するステップを含む。デバイス制御情報は、どのようにデバイスが制御されるべきかを指定する。ステップ６３は、デバイス制御情報を分析することによって、識別されたデバイスのグループを形成するステップを含み、グループの識別されたデバイスは、デバイス制御情報に従って同様に制御される。ステップ６５は、グループの識別子を含む少なくとも１つのメッセージを送信して、識別されたデバイスが、識別子を含む１つ以上のコマンドを、そのような１つ以上のコマンドを受信した場合に実行するように、構成されることを可能にするステップを含む。少なくとも１つのメッセージは、グループの識別されたデバイスを識別する。
【００６３】
デバイス制御情報は、複数の未だ識別されていないデバイスを制御するための複数のコマンド、又は、複数の識別されたデバイスを制御するための複数のコマンドを有する、デバイススクリプトを含んでもよい。複数の識別されたデバイスは、少なくとも、グループの識別されたデバイスを含む。複数の未だ識別されていないデバイスを制御するための複数のコマンドは、制御される１つ以上のデバイスの所要の特性を指定する。
【００６４】
図７の実施形態では、本方法は、識別されたデバイスの１つ以上のグループ、及び／又は１つ以上の個別に識別されたデバイスを制御するための、１つ以上のコマンドを送信するステップ６７を更に含む。識別されたデバイスの１つ以上のグループは、識別されたデバイスのグループを含む。
【００６５】
図８は、図７を参照して説明されたような方法を実行し得る、例示的なデータ処理システムを説明するブロック図を示している。
【００６６】
図８に示されるように、データ処理システム３００は、システムバス３０６を介してメモリ要素３０４に結合されている、少なくとも１つのプロセッサ３０２を含んでもよい。それゆえ、データ処理システムは、メモリ要素３０４内にプログラムコードを記憶してもよい。更には、プロセッサ３０２は、システムバス３０６を介してメモリ要素３０４からアクセスしたプログラムコードを実行してもよい。一態様では、データ処理システムは、プログラムコードを記憶及び／又は実行するために好適な、コンピュータとして実装されてもよい。しかしながら、データ処理システム３００は、本明細書内で説明される機能を実行することが可能な、プロセッサ及びメモリを含む任意のシステムの形態で実装されてもよい点を理解されたい。
【００６７】
メモリ要素３０４は、例えば、ローカルメモリ３０８及び１つ以上の大容量記憶デバイス３１０などの、１つ以上の物理メモリデバイスを含んでもよい。ローカルメモリとは、プログラムコードの実際の実行中に一般に使用される、ランダムアクセスメモリ又は他の非永続的メモリデバイスを指してもよい。大容量記憶デバイスは、ハードドライブ又は他の永続的データ記憶デバイスとして実装されてもよい。処理システム３００はまた、実行中に大容量記憶デバイス３１０からプログラムコードが取得されなければならない回数の量を低減するために、少なくとも一部のプログラムコードの一時記憶を提供する、１つ以上のキャッシュメモリ（図示せず）を含んでもよい。
【００６８】
入力デバイス３１２及び出力デバイス３１４として示される、入出力（input/output；Ｉ／Ｏ）デバイスが、オプションとして、データ処理システムに結合されることができる。入力デバイスの例としては、限定するものではないが、キーボード、マウスなどのポインティングデバイスなどを挙げることができる。出力デバイスの例としては、限定するものではないが、モニタ又はディスプレイ、スピーカなどを挙げることができる。入力デバイス及び／又は出力デバイスは、直接、又は介在Ｉ／Ｏコントローラを介して、データ処理システムに結合されてもよい。
【００６９】
一実施形態では、入力デバイス及び出力デバイスは、複合型入力／出力デバイス（入力デバイス３１２及び出力デバイス３１４を取り囲む破線で図８に示されるもの）として実装されてもよい。そのような複合型デバイスの一例は、「タッチスクリーンディスプレイ」又は単に「タッチスクリーン」と称される場合もある、タッチ感知ディスプレイである。そのような実施形態では、デバイスへの入力は、タッチスクリーンディスプレイ上、又はタッチスクリーンディスプレイの近くでの、例えばスタイラス又はユーザの指などの、物理的物体の移動によって提供されてもよい。
【００７０】
ネットワークアダプタ３１６もまた、データ処理システムに結合されて、介在する私設ネットワーク又は公衆ネットワークを介して、そのデータ処理システムが、他のシステム、コンピュータシステム、リモートネットワークデバイス、及び／又はリモート記憶デバイスに結合されることを可能にしてもよい。ネットワークアダプタは、上述のシステム、デバイス、及び／又はネットワークによってデータ処理システム３００に送信されるデータを受信するための、データ受信機と、データ処理システム３００から上述のシステム、デバイス、及び／又はネットワークにデータを送信するための、データ送信機とを含んでもよい。モデム、ケーブルモデム、及びＥｔｈｅｒｎｅｔカードは、データ処理システム３００と共に使用されてもよい、種々のタイプのネットワークアダプタの例である。
【００７１】
図８に示されるように、メモリ要素３０４は、アプリケーション３１８を記憶してもよい。様々な実施形態では、アプリケーション３１８は、ローカルメモリ３０８、１つ以上の大容量記憶デバイス３１０内に記憶されてもよく、あるいは、それらローカルメモリ及び大容量記憶デバイスとは別個であってもよい。データ処理システム３００は、アプリケーション３１８の実行を容易にすることが可能なオペレーティングシステム（図８には示さず）を、更に実行してもよい点を理解されたい。アプリケーション３１８は、実行可能プログラムコードの形態で実装されており、データ処理システム３００によって、例えばプロセッサ３０２によって、実行されることができる。アプリケーションの実行に応答して、データ処理システム３００は、本明細書で説明される１つ以上の動作又は方法ステップを実行するよう構成されてもよい。
【００７２】
本発明の様々な実施形態は、コンピュータシステムと共に使用するためのプログラム製品として実装されてもよく、このプログラム製品のプログラムは、（本明細書で説明される方法を含めた）実施形態の機能を定義する。一実施形態では、このプログラムは、様々な非一時的コンピュータ可読記憶媒体上に含まれることができ、本明細書で使用されるとき、「非一時的コンピュータ可読記憶媒体」という表現は、全てのコンピュータ可読媒体を含むが、唯一の例外は一時的な伝搬信号である。別の実施形態では、このプログラムは、様々な一時的コンピュータ可読記憶媒体上に含まれることができる。例示的なコンピュータ可読記憶媒体としては、限定するものではないが、（ｉ）情報が永続的に記憶される、書き込み不可記憶媒体（例えば、ＣＤ−ＲＯＭドライブによって読み取り可能なＣＤ−ＲＯＭディスク、ＲＯＭチップ、又は任意のタイプの不揮発性固体半導体メモリなどの、コンピュータ内部の読み出し専用メモリデバイス）、及び（ｉｉ）変更可能な情報が記憶される、書き込み可能記憶媒体（例えば、フラッシュメモリ、ディスケットドライブ内部のフロッピーディスク、又はハードディスクドライブ、又は任意のタイプのランダムアクセス固体半導体メモリ）が挙げられる。コンピュータプログラムは、本明細書で説明されるプロセッサ３０２上で実行されてもよい。
【００７３】
本明細書で使用される用語法は、特定の実施形態を説明することのみを目的とするものであり、本発明を限定することを意図するものではない。本明細書で使用されるとき、単数形「ａ」、「ａｎ」、及び「ｔｈｅ」は、文脈がそうではないことを明確に示さない限り、複数形も含むことが意図される。本明細書で使用されるとき、用語「含む（comprises）」及び／又は「含んでいる（comprising）」は、記述された特徴、整数、ステップ、動作、要素、及び／又は構成要素の存在を指すものであるが、１つ以上の他の特徴、整数、ステップ、動作、要素、構成要素、及び／又はそれらの群の存在若しくは追加を排除するものではない点が、更に理解されるであろう。
【００７４】
以下の請求項における全てのミーンズプラスファンクション又はステッププラスファンクションの要素の、対応する構造、材料、行為、及び等価物は、具体的に特許請求される他の特許請求要素と組み合わせて機能を実行するための、任意の構造、材料、又は行為を含むことが意図される。本発明の実施形態の説明は、例示を目的として提示されてきたが、網羅的であるか、又は開示された形態の実装形態に限定されることを意図するものではない。本発明の範囲及び趣旨から逸脱することなく、多くの修正形態及び変形形態が当業者には明らかとなるであろう。実施形態は、本発明の原理及び一部の実際的応用を最良に説明し、想到される特定の用途に適するような様々な修正を有する様々な実施形態に関して、他の当業者が本発明を理解することを可能にするために、選択及び説明されるものとした。
【図１】
0006783956.tif 000002
【図２】
0006783956.tif 000003
【図３】
0006783956.tif 000004
【図４】
0006783956.tif 000005
【図５】
0006783956.tif 000006
【図６】
0006783956.tif 000007
【図７】
0006783956.tif 000008
【図８】
0006783956.tif 000009