"電池駆動型のサーモスタットとネットワークを通じて通信しながらエネルギーを節約するサーモスタット通信サーバであって、1つまたは複数の命令を実行するように構成されたプロセッサと、1つまたは複数の処理を実行させる命令を前記プロセッサに実行される際に保持するように構成されたメモリと、を有し、前記1つまたは複数の処理が、前記プロセッサに、前記ネットワークを通じて確立された前記サーモスタットと前記サーモスタット通信サーバとの間の通信チャネルを通じて提供される前記電池に関する電池レベルであって、前記サーモスタットに関する前記電池の残りエネルギーの指標を提供する電池レベルを保存する電池レベル収集処理と、前記通信チャネルを通じて前記サーモスタットに送信すべきデータの1つまたは複数のタイプを、サーモスタット管理システムおよび前記サーモスタットの動作にとってあまり重要でないデータを含む低優先度データタイプから、前記低優先度データタイプよりも前記サーモスタット管理システムおよび前記サーモスタットの動作に重要なデータを含む高優先度データタイプまでのデータ優先度に従って分類するデータ優先度処理と、前記サーモスタットに関する電池レベルが高電池レベルである場合には、低優先度データタイプから高優先度データタイプまでの範囲に分類されたデータを送信し、前記ネットワーク接続されたサーモスタットに関する前記電池レベルが低電池レベルである場合には、前記高優先度データタイプに分類され前記低優先度データタイプに分類されないデータを送信しする電力優先送信処理と、を含むことを特徴とするサーバ。前記サーモスタット管理システムが、パブリックネットワーク上に配置され、インターネットに登録されたパブリックネットワークアドレスを有する前記サーモスタット管理システムと、プライベートネットワーク上のルータからネットワークアドレス変換テーブルを通じて提供されたパブリックネットワークアドレスを有する前記サーモスタットとの間の前記通信チャネルを確立する要求を、前記ネットワークを通じて前記サーモスタットから受信する機器ロングポーリング処理をさらに有し、前記機器ロングポーリング処理はさらに、前記サーモスタット管理システムと前記サーモスタットとの間の前記通信チャネルを通じ、前記サーモスタット管理システムから前記ネットワーク接続されたサーモスタットにキープアライブパケットを、ルータ機器のNATタイムアウト期間を超えない最大間隔で送信するようにネットワーク通信プロトコルを設定することを特徴とする請求項1記載のシステム。前記サーモスタットから前記通信チャネルを通じて提供される前記電池レベルは、前記サーモスタットに関する前記電池の前記残りエネルギーが容量の少なくとも80である場合に高電池レベルとみなされ、前記サーモスタットに関する前記電池の前記残りエネルギーが容量の少なくとも30である場合に低電池レベルとみなされることを特徴とする請求項1記載のシステム。サーモスタット通信サーバが電池のエネルギーを節約する方法で電池駆動型サーモスタットとネットワークを通じて通信するための、コンピュータが実施する方法であって、前記サーモスタット通信サーバがアクセス可能な記憶領域に、前記ネットワークを通じて確立された通信チャネルを通じて前記サーモスタットから供給されるとともに前記サーモスタットに関する前記電池の残りエネルギーの指標を提供する、前記電池に関する電池レベルを保存するステップと、前記通信チャネルを通じて前記サーモスタットに送信すべきデータの1つまたは複数のタイプを、サーモスタット管理システムおよび前記サーモスタットの動作にとってあまり重要でないデータを含む低優先度データタイプから、前記低優先度データタイプよりも前記サーモスタット管理システムおよび前記サーモスタットの動作にとって重要なデータを含む高優先度データタイプまでのデータ優先度に従って分類するステップと、前記サーモスタットが用いる前記電池に関する前記電池レベルが低電池レベルであると判定された場合、高優先度データタイプに分類されたデータのみを前記通信チャネルを通じて前記サーモスタットに送信するステップと、前記サーモスタットが用いる前記電池に関する前記電池レベルが高電池レベルであると判定された場合、低優先度データタイプから高優先度データタイプまでの範囲に分類されたデータを前記通信チャネルを通じて前記サーモスタットに送信するステップと、を有することを特徴とする、コンピュータが実施する方法。前記サーモスタット通信サーバがさらに、前記通信チャネルを通じて前記サーモスタットに送信すべきデータを、前記サーモスタット管理システムおよび前記サーモスタットの動作にとって前記高優先度データタイプよりも重要でなく、前記低優先度データタイプよりも重要なデータを含む中優先度データタイプに分類するステップと、前記サーモスタットが用いる前記電池に関する前記電池レベルが中電池レベルであると判定された場合、前記高優先度データタイプおよび前記中優先度データタイプに分類されたデータのみを送信するステップと、を有することを特徴とする請求項4記載のコンピュータが実施する方法。前記サーモスタットから前記通信チャネルを通じて提供される前記電池レベルは、前記サーモスタットに関する前記電池の前記残りエネルギーが容量の少なくとも80である場合に前記高電池レベルとみなされ、前記サーモスタットに関する前記電池の前記残りエネルギーが容量の少なくとも50である場合に前記中電池レベルとみなされ、前記サーモスタットに関する前記電池の前記残りエネルギーが容量の少なくとも30である場合に前記低電池レベルとみなされることを特徴とする請求項4記載のコンピュータが実施する方法。前記サーモスタット通信サーバがさらに、パブリックネットワーク上に配置され、インターネットに登録されたパブリックネットワークアドレスを有する前記サーモスタット通信サーバと、プライベートネットワーク上のルータが生成したネットワークアドレス変換テーブルを通じて提供されたパブリックネットワークアドレスを有する前記プライベートネットワーク上の前記サーモスタットとの間の前記通信チャネルを確立する要求を、前記ネットワークを通じて前記サーモスタットから受信するステップと、前記サーモスタット通信サーバから前記通信チャネルを通じて前記サーモスタットに、キープアライブパケットを、前記ルータのNATタイムアウト期間を超えない最大時間間隔で送信するために、前記サーモスタット通信サーバに関連付けられたネットワーク通信プロトコルにロングポーリング間隔を設定するステップと、を有することを特徴とする請求項4記載のコンピュータが実施する方法。サーモスタット通信サーバが電池のエネルギーを節約する方法で電池駆動型サーモスタットとネットワークを通じて通信するための、コンピュータが実施する方法であって、サーモスタット通信サーバにおいて、サーモスタットから、前記サーモスタット通信サーバと前記サーモスタットとの間に複数の通信チャネルを確立する要求を受信するステップと、前記複数の通信チャネルを通じて前記サーモスタットに送信すべきデータの1つまたは複数のタイプを、前記サーモスタット管理システムおよび前記サーモスタットの動作にとってあまり重要でないデータを含む低優先度データタイプから、前記低優先度データタイプよりも前記サーモスタット管理システムおよび前記サーモスタットの動作にとって重要なデータを含む高優先度データタイプまでのデータ優先度に従って分類するステップと、前記低優先度データタイプに分類されたデータを低優先度データに関連付けられた第1ネットワーク通信チャネルを通じて送信するステップと、前記高優先度データタイプに分類されたデータを高優先度データに関連付けられた第2ネットワーク通信チャネルを通じて前記サーモスタットに送信するステップとを有し、前記サーモスタットは、前記サーモスタットに関する電池レベルが低電池レベルであると判定した場合、前記第1ネットワーク通信チャネルを通じて受信したデータに対する処理を行わなくてよく、前記サーモスタットは、前記サーモスタットに関する前記電池レベルが高電池レベルであると判定した場合、前記第1ネットワーク通信チャネルおよび前記第2ネットワーク通信チャネルを通じて受信したデータを処理してよいことを特徴とする、コンピュータが実施する方法。前記サーモスタット通信サーバがさらに、前記通信チャネルを通じて前記サーモスタットに送信すべきデータを、前記サーモスタット管理システムおよび前記サーモスタットの動作にとって前記高優先度データタイプよりも重要でなく、前記低優先度データタイプよりも重要なデータを含む中優先度データタイプに分類するステップと、前記中優先度データタイプに分類されたデータを中優先度データに関連付けられた第3ネットワーク通信チャネルを通じて前記サーモスタットに送信するステップとを有し、前記サーモスタットは、前記サーモスタットに関する前記電池レベルが中電池レベルであると判定した場合、前記第2ネットワーク通信チャネルおよび前記第3ネットワーク通信チャネルを通じて受信したデータを処理してよいことを特徴とする請求項8記載のコンピュータが実施する方法。前記サーモスタットは、前記サーモスタットに関する前記電池の前記電池レベルを、前記サーモスタットに関する前記電池の前記残りエネルギーが容量の少なくとも80である場合に前記高電池レベルと判定し、前記サーモスタットに関する前記電池の前記残りエネルギーが容量の少なくとも50である場合に前記中電池レベルと判定し、前記サーモスタットに関する前記電池の前記残りエネルギーが容量の少なくとも30である場合に前記低電池レベルと判定することを特徴とする請求項9記載のコンピュータが実施する方法。複数の通信チャネルを確立するステップがさらに、前記複数の通信チャネルがパブリックネットワーク上でパブリックネットワークアドレスを有する前記サーモスタット通信サーバとプライベートネットワーク上で複数のプライベートネットワークアドレスを有する前記サーモスタットとの間で確立されていることを判定するステップであって、前記サーモスタット通信サーバが用いる前記パブリックネットワークアドレスはインターネットに登録され、前記サーモスタット用の前記複数のプライベートネットワークアドレスが、前記サーモスタットが設けられた前記プライベートネットワーク上のルータが生成するネットワークアドレス変換テーブルを通じて複数のパブリックネットワークにマッピングされるステップと、前記サーモスタット通信サーバと前記サーモスタットとの間の前記複数の通信チャネルの各々を通じて、前記サーモスタット通信サーバから前記サーモスタットに、キープアライブパケットを前記ルータのNATタイムアウト期間を超えない最大時間間隔で送信するために、前記サーモスタット通信サーバに関連付けられたネットワーク通信プロトコルにロングポーリング間隔を設定するステップと、を有することを特徴とする請求項8記載のコンピュータが実施する方法。電池駆動型サーモスタットがサーモスタット通信サーバと前記電池のエネルギーを節約する方法でネットワークを通じて通信するための、コンピュータが実施する方法であって、前記サーモスタットからサーモスタット通信サーバに、前記サーモスタットと前記サーモスタット通信サーバとの間に複数の通信チャネルの確立を要求するステップと、低優先度データタイプに分類されたデータを前記サーモスタット通信サーバから受信するための第1通信チャネルを前記サーモスタット上で予約するステップと、高優先度データタイプに分類されたデータを前記サーモスタット通信サーバから受信するための第2通信チャネルを前記サーモスタット上で予約するステップと、前記サーモスタット通信サーバから前記第1通信チャネルおよび前記第2通信チャネルを通じて受信したデータを処理するステップと、前記サーモスタットに関する前記電池の電池レベルが、低電池レベル以下かどうかを判定するステップと、前記判定が前記電池レベルが前記低電池レベル以下であることを示す場合、前記第1通信チャネルを通じてその後受信する低優先度データタイプに分類された受信データを破棄するとともに前記第2通信チャネルを通じてその後受信する高優先度データタイプに分類された受信データの処理は有効とするステップであって、前記第1通信チャネルを通じてその後受信するデータの破棄が、前記電池から使用されるエネルギーを節約する働きをするステップと、前記判定が前記電池レベルが前記低電池レベルを超えており、前記第1通信チャネルおよび前記第2通信チャネルの両方を通じて受信されるデータの引き続く処理をサポートするのに十分であることを示す場合、前記第1通信チャネルを通じてその後受信する低優先度データタイプに分類された受信データの処理を有効とするともに前記第2通信チャネルを通じてその後受信する高優先度データタイプに分類された受信データの処理を有効とするステップ、とを有することを特徴とする、コンピュータが実施する方法。前記第1通信チャネルを通じてその後受信されるデータの処理を有効にするステップが、前記サーモスタットのWiFiモジュールからウェイクオンLAN機能を用いるステップを含み、前記第1通信チャネルを通じてその後受信されるデータを破棄するステップが、前記WiFiモジュールからの前記ウェイクオンLAN機能を無視するステップを含むことを特徴とする請求項12記載のコンピュータが実施する方法。前記低優先度データタイプが、前記サーモスタットおよび前記サーモスタット通信システムの動作にとって重要な高優先度データタイプに分類されたデータよりも前記サーモスタットおよび前記サーモスタット通信システムの動作にとって重要でないデータを含むことを特徴とする請求項12記載のコンピュータが実施する方法。サーモスタットがサーモスタットイベントをイベントログに収集して中央サーバに保存するための方法であって、ネットワーク上の複数の電池駆動型サーモスタットであって、それぞれが自身の動作に対応するログにイベントを記録している複数の電池駆動型サーモスタットからサーモスタット報告グループを生成するステップと、前記サーモスタット報告グループ内の他の電池駆動型サーモスタットと比較して最も高い電池レベルを有する代理報告サーモスタットを、前記サーモスタット報告グループから選択するステップと、前記サーモスタット報告グループ内の前記複数のサーモスタットの各々が記録した前記イベントを前記代理報告サーモスタットに関連付けられた記憶領域に収集するステップと、前記代理報告サーモスタットに関連付けられた前記記憶領域が満たされ、中央サーバへのアップロードが必要であるかどうかを判定するステップと、前記記憶領域が満たされていることを前記判定が示す場合、前記代理報告サーモスタットと前記中央サーバとの間で通信チャネルを確立するステップと、前記代理報告サーモスタットに関連付けられた前記記憶領域に収集された前記イベントを、前記通信チャネルを通じて、前記中央サーバに関連付けられたサーバ記憶領域にアップロードするステップとを有し、前記イベントの各々には、該イベントがどのサーモスタットで発生したかの表示を提供するサーモスタット識別子が関連付けられていることを特徴とする、コンピュータが実施する方法。以下の詳細な説明においては、説明を目的として、本発明の様々な実施形態の完全な理解を提供するために多くの具体的な詳細が説明される。本技術分野に属する当業者は、本発明のこれら様々な実施形態が、例示のみを目的としたものであって、多少なりとも限定する意図が存在しないことを理解するであろう。ここでの開示の利益を享受する当業者は、本発明の他の実施形態に容易に到達するであろう。さらに、明瞭さを目的として、ここで説明される実施形態の所定の機能については必ずしも全てが図示または説明されてはいない。本技術分野に属する当業者は、本当の実施時には、特定の設計目標を達成するために実施固有の多数の決定が必要となりうることを容易に理解するであろう。これら設計目標は実施形態ごとに、また開発者ごとに異なりうる。さらに、そういった開発努力は複雑かつ時間を要しうるものであるが、本開示の利益を享受する当業者にとってはありふれた作業であることが理解されよう。1つ以上の実施形態は、例えば一戸建て住宅のような住居で使用される典型的なHVACシステムに関して説明されるが、本教示の範囲はそのように限定されるものではないことを理解されたい。より一般的には、1つ以上の好適な実施形態に係るサーモスタットは、1つ以上のHVACシステムを有する広範な筐体に適用可能であり、そのような筐体の非限定的な例には、2世帯住宅、タウンハウス、集合住宅、ホテル、小売店、オフィスビル、および工業用建物が含まれる。さらに、ここで説明する1つ以上のシナリオの文脈上、ユーザ、顧客、設置者、住宅所有者、占有者、ゲスト、テナント、家主、修理人などの単語が、サーモスタット、他の機器またはユーザインタフェースを対話的に操作する1人以上の人物を言及するために用いられるかもしれないが、それらの参照は、本教示の範囲が、そのような動作を実行している1人以上の人物に限定されるものとは決して解されてはならない。本特許明細書の主題は、本出願人による以下の出願の主題に関連するものであり、これら出願の各々は参照により本明細書に組み込まれる。米国特許出願第12881430号2010年9月14日出願;米国特許出願第12881463号2010年9月14日出願米国特許仮出願61415771号2010年11月19日出願米国特許仮出願61429093号2010年12月31日出願米国特許出願第12984602号2011年1月4日出願米国特許出願第12987257号2011年1月10日出願米国特許出願第13033573号2011年2月23日出願米国特許出願第29386021号2011年2月23日出願米国特許出願第13034666号2011年2月24日出願米国特許出願第13034674号2011年2月24日出願米国特許出願第13034678号2011年2月24日出願米国特許出願第13038191号2011年3月1日出願米国特許出願第13038206号2011年3月1日出願米国特許出願第29399609号2011年8月16日出願米国特許出願第29399614号2011年8月16日出願米国特許出願第29399617号2011年8月16日出願米国特許出願第29399618号2011年8月16日出願米国特許出願第29399621号2011年8月16日出願米国特許出願第29399623号2011年8月16日出願米国特許出願第29399625号2011年8月16日出願米国特許出願第29399627号2011年8月16日出願米国特許出願第29399630号2011年8月16日出願米国特許出願第29399632号2011年8月16日出願米国特許出願第29399633号2011年8月16日出願米国特許出願第29399636号2011年8月16日出願米国特許出願第29399637号2011年8月16日出願米国特許出願第13199108号2011年8月17日出願米国特許出願第13267871号2011年10月6日出願米国特許出願第13267877号2011年10月6日出願米国特許出願第13269501号2011年10月7日出願米国特許出願第29404096号2011年10月14日出願米国特許出願第29404097号2011年10月14日出願米国特許出願第29404098号2011年10月14日出願米国特許出願第29404099号2011年10月14日出願米国特許出願第29404101号2011年10月14日出願米国特許出願第29404103号2011年10月14日出願米国特許出願第29404104号2011年10月14日出願米国特許出願第29404105号2011年10月14日出願米国特許出願第13275307号2011年10月17日出願米国特許出願第13275311号2011年10月17日出願米国特許出願第13317423号2011年10月17日出願米国特許出願第13279151号2011年10月21日出願米国特許出願第13317557号2011年10月21日出願および米国特許仮出願61627996号2011年10月21日出願。図1は、1以上の環境条件の制御に、本発明の実施形態に従って実施されたサーモスタット110を用いる例示的な筐体を示す図である。例えば、筐体100は、HVACシステム120が提供する暖房および冷房の制御に学習型サーモスタット110便宜上サーモスタット110とも呼ぶを用いている一戸建て住宅タイプの筐体を示している。本発明の代替実施形態は、2世帯住宅、集合住宅内の1区画、オフィスや小売店といった小規模商業建築物、またはこれらと他のタイプの筐体との組み合わせからなる建築物または筐体を含む、他のタイプの筐体にも適用されてよい。図1におけるサーモスタット110の一部の実施形態は、筐体100に関する環境からデータを収集するための1つまたは複数のセンサを内蔵している。サーモスタット110に内蔵されるセンサは、占有状態、温度、明るさおよび他の環境条件を検出し、HVACシステム120の制御および動作に影響を与えてもよい。サーモスタット110に内蔵されるセンサはサーモスタット110から突き出ることはなく、それによって住宅又は他の筐体内の占有者に気付かれることのない、スタイリッシュかつ洗練されたデザインを提供する。そのため、サーモスタット110はインテリアデザインの全体的な見栄えを向上させつつ、ほとんどの装飾と容易にフィットする。本明細書において学習型サーモスタットとは、少なくとも1つの自動的に検知されるイベントおよび/または少なくとも1つの過去又は現在のユーザ入力に基づいて、暖房および/または冷房スケジュールにおける1つ以上の将来の設定値を自動的に確立および/または変更する能力を有する、1つのサーモスタットまたはマルチサーモスタットネットワーク内の複数の通信サーモスタットの1つを意味する。本明細書において主サーモスタットとは、HVACシステムに通じるHVAC制御線例えばW,G,Yなどへの電気接続などにより、HVACシステムの全部または一部を作動させるために電気的に接続されているサーモスタットを意味する。本明細書において補助サーモスタットとは、HVACシステムに電気的に接続されてはいないが、少なくとも1つのセンサを有し、主サーモスタットとのデータ通信により、主サーモスタットによるHVACシステムの制御に影響を与えたり制御を助けたりするサーモスタットを意味する。ある特定の有用なシナリオにおいて、サーモスタット110は主学習型サーモスタットであり、壁に取り付けられるとともにHVAC制御線の全てに接続されている。一方、リモートサーモスタット112は補助学習型サーモスタットであり、寝室用照明またはドレッサーに配置されている。補助学習型サーモスタットの外観およびユーザインタフェースの機能は主学習型サーモスタットと同様であり、補助学習型サーモスタットはさらに、主学習型サーモスタットと同様の検知能力例えば温度、湿度、動き、周辺光、近接を有するが、HVAC制御線のどれにも接続されていない。HVAC制御線には接続されていないが、補助学習型サーモスタットは、筐体内の設置位置で追加温度データを提供したり、占有者情報を提供したり、ユーザに追加のユーザインタフェースを提供したりといったように、HVACシステムの制御を向上させるために主学習型サーモスタットと無線通信したり強力したりする。サーモスタット110が主学習型サーモスタットでありリモートサーモスタット112が補助学習型サーモスタットである所定の実施形態は特に有利ではあるが、本教示の範囲はそのような形態に限定されないことを理解すべきである。従って、例えば、ネットワーク接続サーモスタットとオンラインユーザアカウントとを自動的に組にするか関連付ける、ある初期プロビジョニング方法は、サーモスタットが主学習型サーモスタットである場合に特に有利であるが、主非学習型サーモスタット、補助学習型サーモスタット、補助非学習型サーモスタット、または他のタイプのネットワーク接続サーモスタットおよび/またはネットワーク接続センサを用いるシナリオに対してより広範に適用可能である。さらなる例として、サーモスタットを遠隔制御するための所定のグラフィカルユーザインタフェースは、サーモスタットが主学習型サーモスタットである場合に特に有利であるかもしれないが、主非学習型サーモスタット、補助学習型サーモスタット、補助非学習型サーモスタット、または他のタイプのネットワーク接続サーモスタットおよび/またはネットワーク接続センサを用いるシナリオに対してより広範に適用可能である。さらに別の例として、クラウドベースのリモート管理サーバによる、協調的な電池を節約する情報ポーリングのための所定の方法は、サーモスタットが主学習型サーモスタットである場合に特に有利かもしれないが、主非学習型サーモスタット、補助学習型サーモスタット、補助非学習型サーモスタット、または他のタイプのネットワーク接続サーモスタットおよび/またはネットワーク接続センサを用いるシナリオに対してより広範に適用可能である。筐体100はさらに、無線によっても有線接続によってアクセス可能なプライベートネットワークローカルエリアネットワークまたはLANと呼ばれてもよいを含んでいる。プライベートネットワーク上のネットワーク機器は、コンピュータ124と、本発明の一部の実施形態に係るサーモスタット110、およびリモートサーモスタット112を含んでいる。一実施形態において、プライベートネットワークは、ルーティング、無線アクセスポイント機能、ファイアウォールおよびコンピュータ124のような様々な有線ネットワーク機器を接続するための複数の有線コネクションポートを提供する統合ルータ122を用いて実装されている。各機器は統合ルータ122から、DHCPのようなサービスを通じて動的に、またはネットワーク管理者の作業を通じて静的に、プライベートネットワークアドレスが割り当てられる。これらプライベートネットワークアドレスは、機器がLANを通じて互いに直接通信できるようにするために用いることができる。他の実施形態では代わりに、統合ルータ122が提供する機能に加え、さらに別のネットワーク機能を実行するため、複数の独立したスイッチ、ルータおよび他の機器不図示を用いてよい。統合ルータ122はさらに、筐体100が一般的にはケーブルモデム、DSLモデムおよびインターネットサービスプロバイダまたは他のパブリックネットワークサービスのプロバイダを通じた、インターネットのようなパブリックネットワークへのコネクションを有していれば、ネットワーク機器に対してパブリックネットワークへのアクセスを提供する。インターネットのようなパブリックネットワークは、ワイドエリアネットワークまたはWANと呼ばれることもある。インターネットの場合、インターネット上の他の機器によって直接アドレス指定されることが許された特定の機器に対してパブリックアドレスが割り当てられる。これらインターネット上のパブリックアドレスは量が限られているため、プライベートネットワーク上の機器およびコンピュータは、ネットワークアドレス変換テーブル内の複数のエントリを通じて1つのパブリックアドレスを共有するために統合ルータ122のようなルータ機器を用いることが多い。ルータは、プライベートネットワーク上の機器と、インターネット上の機器、サーバ、またはサービスとの間でオープンされた通信チャネルの各々に対し、NATテーブル内にエントリを作る。プライベートネットワーク上の機器から送信されたパケットは最初、送信機器のプライベートネットワークアドレスを含んだソースアドレスと、インターネット上のサーバ又はサービスのパブリックネットワークアドレスに対応するデスティネーションアドレスとを有している。パケットがプライベートネットワークの内部からルータを通過する際、ルータはソースアドレスを、ルータのパブリックネットワークアドレスとNATテーブル内のエントリを参照するソースポートに置き換える。このパケットを受信するインターネット上のサーバは、プライベートネットワーク上のルータにパケットを送り返すためにソースアドレスおよびソースポートを用い、ルータは対応する参照をNATテーブル内のエントリで行い、プライベートネットワーク上の適切な機器にパケットを転送する。NATテーブル内のエントリにより、コンピュータ機器124およびサーモスタット110の両方が、インターネットのようなパブリックネットワーク上に配置されたサーモスタット管理システム不図示と個別の通信チャネルを確立することを可能にする。いくつかの実施形態によれば、サーモスタット管理システム上のサーモスタット管理アカウントが、筐体100内のコンピュータ機器124がサーモスタット110にリモートアクセスすることを可能にする。サーモスタット管理システムはサーモスタット管理アカウントがサーモスタット110に関連付けされているか、サーモスタット110と組にされていれば、コンピュータ機器124からの情報をインターネットを通じてサーモスタット110へ渡す。従って、サーモスタット110で収集されたデータもまた、筐体100に関連付けられたプライベートネットワークから統合ルータ122を通り、パブリックネットワークを通じてサーモスタット管理システムに到達する。スマートフォン、ラップトップコンピュータおよびタブレットコンピュータのような、筐体100内に存在しない他のコンピュータ機器図1に不図示もまた、サーモスタット管理システムにアクセス可能であり、サーモスタット管理アカウントへアクセスされてよいなら、サーモスタット110を制御することができる。本発明の実施形態に係る、インターネットのようなパブリックネットワークのアクセスおよびサーモスタット110のようなサーモスタットへのリモートアクセスのさらなる詳細については、以下でより詳細に説明する。いくつかの実施形態において、サーモスタット110はリモートサーモスタット112とプライベートネットワークまたはリモートサーモスタット112が直接形成するアドホックネットワークを通じて無線通信することができる。リモートサーモスタット112との通信中、サーモスタット110はユーザからおよびリモートサーモスタット112によって検出された環境から遠隔的に情報を収集することができる。例えば、リモートサーモスタット112は、リモートサーモスタット112から離れた位置からのユーザ入力を提供するサーモスタット110と無線通信したり、ユーザに情報を表示するために用いられたり、その両方のために用いられたりしてよい。サーモスタット110と同様に、リモートサーモスタット112の実施形態も、占有者、温度、明るさおよび他の環境条件に関するデータを収集するためのセンサを含むことができる。代替実施形態において、リモートサーモスタット112は筐体100の外に配置されてもよい。図2は、本発明の実施形態に従って設計されたサーモスタットを用いて制御されるHVACシステムの模式図である。HVACシステム120は、図1に示すような一戸建て住宅のような筐体100に、暖房、冷房、換気、および/または空気処理を提供する。他の実施形態では放射熱ベースのシステム、ヒートポンプベースのシステムなど、他のタイプのHVACシステムを用いてもよいが、システム120は強制空気タイプの暖房および冷房システムを示している。暖房時、エアハンドラ240内部の加熱コイルまたは素子242はライン236からの電気又はガスを用いる熱源を提供する。ファン238を用いてリターンエアダクト246およびフィルタ270を通じて筐体から引き込まれた冷気は、加熱コイル又は素子242を通じて加熱される。加熱された空気流は、供給エアダクトシステム252およびレジスタ250のような供給エアレジスタを通じて1つ又は複数の場所で筐体内に戻る。冷房時、戸外コンプレッサー230がフレオンのようなガスを冷却するため、熱交換器コイル群244を通過させる。ガスはライン232を通じてエアハンドラ240内の冷却コイル234に達し、そこで膨張して冷たくなり、ファン238によって循環させられている空気を冷却する。様々な実施形態において、空気がダクトシステム252を通過する前に空気に水分を戻す加湿器254が、必要に応じて用いられてよい。図2には示していないが、HVACシステム120の代替実施形態は、戸外との間で換気する機能や、ダクトシステム252内部の気流を制御するための1つ又は複数のダンパーや、緊急加熱ユニットのような他の機能を有してもよい。HVACシステム120の全体動作は、制御線248を通じてサーモスタット110と通信する制御電気回路212によって選択的に作動させられる。図3A~3Bは、本発明の実施形態に従って設計されたサーモスタットを示している。サーモスタット110の内部には、サーモスタット110を図1および図2に示すHVACシステム120のようなHVACシステムに電気的に接続する制御回路がある。サーモスタット110内部の1つまたは複数のマイクロプロセッサ不図示は、HVACシステム120の動作および制御に関連する情報を処理するための、バックプレート314内のバックプレートプロセッサを含み、様々な計算を実行するために利用可能である。サーモスタット110のヘッドユニット312部分のディスプレイおよびユーザインタフェース部分とネットワークプロトコルとを制御するために、別の、ヘッドユニットプロセッサ不図示を用いてもよい。LANおよびパブリックネットワークまたは、インターネットのようなワイドエリアネットワークを通じた無線通信を可能とするために、サーモスタット110の内部にはネットワークインタフェースコントローラまたはNIC不図示が設けられている。図示した実施形態において、サーモスタット110は、カバー304およびグリル部材308を含む、前に向いた面を有する筐体316に内蔵されている。グリル部材308は、サーモスタットの筐体316内に配置されたセンサの統合および動作を容易にしつつ、サーモスタット110のスタイリッシュで、シンプルで、整頓されかつ洗練されたデザインに合うようにデザインされている。特に、いくつかの好ましい実施形態に係るサーモスタットには、グリル部材308の裏にパッシブ赤外線方式の占有状態センサおよび温度センサが設けられる。追加センサはさらに、環境光センサ不図示および、カバー304のすぐ裏の、サーモスタットの最上部付近に配置されるアクティブ近接センサ不図示を含んでもよい。筐体316のいくつかの実施形態は、バックプレート314およびヘッドユニット312を含む。筐体316は、サーモスタット110に用いられ、かつ含まれる1つまたは複数の内蔵センサに、魅力的かつ耐久性のある構造を提供する。カバー304の周辺領域310が塗装または曇った仕上げにより不透明されてよいのに対し、カバー304の中央表示領域306にはサーモスタットの動作に関する情報の表示が可能である。例えば、中央表示領域306は図3Aに75度を示す数字75によって示されるように、現在の温度を表示するために用いられてよい。中央表示領域306はまた、筐体100内で利用可能な無線ネットワークを表示したり、無線ネットワークの1つを選択、アクセス、および利用するためにサーモスタット110を設定するためのユーザインタフェースを提示したりするために用いられてもよい。サーモスタット110のいくつかの実施形態は円形で、ユーザ入力を受け付けるための周縁リング302を有している。サーモスタット110の側面図である図3Bでは、周縁リング302の対応する表面部分とマッチする、湾曲した球状のカバー304および、外側に向かって緩やかに弧を描くグリル部材308をさらに強調している。いくつかの実施形態において、カバー304の曲率は中央表示領域306に表示されている情報を拡大するようにされてよく、それによってユーザが情報を読みやすくなる。サーモスタット110の形状は壁に設置された際に視覚的に魅力的なアクセントを与えるだけでなく、ユーザが手で触れて調整するのに自然な形状を提供する。従って、サーモスタット110の直径は、約80mmか、手に馴染む他の直径とすることができる。様々な実施形態において、回転する外縁リング302は、新たな目標温度の選択などの調整をユーザが行うことを可能にする。例えば、目標温度が、外縁リング302を時計回りに回転させると上がり、外縁リング302を反時計回りに回転させると下がるようにしてもよい。マイクロプロセッサ、無線NICおよび他の電気回路の動作は、サーモスタット110内部に配置された充電池不図示によって電力が供給される。いくつかの実施形態において電池は、HVACシステムから引かれたC線からの24VAC電力もしくはサーモスタット110に直接接続されたACDC変換器を用いて直接充電される。あるいは、これらの直接的な方法が利用できなければ、例えば上述した米国特許出願第13034678号および同13267871号に記載されるような1つまたは複数のタイプのエネルギーハーベスティングも内蔵電池の充電に用いてよい。本発明のいくつかの実施形態は、HVACシステムを高いレベルの性能および応答性で制御するサーモスタットの動作を維持しながら、電池の効率的な使用を促進する方法で、サーモスタット110と通信し、動作させる。いくつかの実施形態は、インターネットのようなパブリックネットワーク上に位置するサーモスタット管理システムがサーモスタット110といつ通信することができるかを決定するために、電池レベル充電および通信の優先度や相対的な重要性を用いることができる。図4A~4Bは、本発明の実施形態に従って設計されたサーモスタットを操作するユーザの手を示している。図示の通り、サーモスタット110は円形で、壁に設置されており、ユーザ入力を受け付けるための回転可能な外縁リング302を有している。サーモスタット110上のカバー304は、サーモスタット110の動作前、動作中および動作後に、情報およびフィードバックをユーザに提供するための中央表示領域306を含んでいる。いくつかの実施形態において、カバー304の周辺部310はユーザがサーモスタット110を押下したり他の操作をしたりするための領域を明確に示し、そのために塗装や曇り仕上げを用いて不透明とされる。サーモスタット110のヘッドユニット312は、バックプレート不図示上に配置され、ヘッドユニット前部402とヘッドユニットフレーム404を含んでいる。ヘッドユニット前部402は、本発明の実施形態に従って設計された外縁リング302、カバー304の中央表示領域306および周辺部310、ならびにグリル部材308を含んでいる。いくつかの実施形態によれば、ユーザに自身を持たせるとともに視覚的かつ機能的な洗練さを進展させるという複合的な目的で、サーモスタット110は、図4Aに示すような、外縁リング302を回転させる第1のユーザ入力リング回転とも呼ぶと、図4Bに示すような、ヘッドユニット前部402を可聴的および/または触感的なクリックが生じるまで内側に押し込む第2のユーザ入力という2つのタイプのユーザ入力だけで制御される。いくつかの実施形態によれば、図4Bに示す内側への押下は外縁リング302のみを前方へ移動させ、別のいくつかの実施形態によれば、ヘッドユニット前部402全体が押下とともに内側へ移動する。いくつかの実施形態においてカバー304およびグリル部材308は外縁リング302と一体には回転しない。いくつかの実施形態によれば、ヘッドユニット前部402の内側への押下を生じさせる方法に応じて複数のユーザ入力が生成されてもよい。いくつかの実施形態において、ヘッドユニット前部402を可聴的および/または触感的なクリックが生じるまでの1回の短い押下後の開放シングルクリックを、ユーザ入力の1つのタイプとして認識することができる内側クリックとも呼ぶ。いくつかの実施形態において、ヘッドユニット前部402を押下し、そのまま1~3秒程度の時間内側に押下し続ける操作を、ユーザ入力の別のタイプとして認識することができるプレスアンドホールドとも呼ぶ。別のいくつかの実施形態によれば、ダブルおよび/または複数回のクリックおよび、より長いおよび/またはより短い時間のプレスアンドホールドのようなユーザ入力の他のタイプが、ユーザによってもたらされてもよい。別のいくつかの実施形態によれば、ユーザ入力のさらに他のタイプを生成するために、速度や加速度を考慮した回転入力を実装してもよい例えば、非常に大きく早い左方向への回転が、不在占有状態を指定する一方、非常に大きく早い右方向への回転が人がいる占有状態を指定する。図5は、本発明の見地に従って設計されたクラウドベースのサーモスタット管理サーバ516に接続された、プライベートネットワーク502上のサーモスタットおよびコンピュータを示す図である。一実施形態において、プライベートネットワーク502は、スマートフォン508、タブレット510、コンピュータ512、サーモスタット110およびリモートサーモスタット112のような様々な機器をまとめて接続しながら、主に、図1における筐体100のような筐体の内部もしくは近くでネットワーク接続性を提供するように設計される。図1の統合ルータ122のようなプライベートネットワーク502内のルータ不図示は、これら機器間の有線および無線接続性をTCPIPのようなネットワークプロトコルを用いて提供する。サーモスタットの近隣で有線接続が使用できないかもしれないこと、および/または有線接続ソケットをサーモスタット110やリモートサーモスタット112に含めることが望ましくないことから、サーモスタット110およびリモートサーモスタット112は無線でプライベートネットワーク502に接続されることが好ましい。サーモスタットアクセスクライアント514は、パブリックネットワーク504を通じてクラウドベースの管理サーバ516にアクセスするために本発明の見地に従って設計されたクライアントアプリケーションである。本明細書においてサーモスタット管理システムという用語は、サーモスタットに関してはクラウドベースの管理サーバとも呼んだり、あるいはさらに簡単にクラウドサーバとも呼んだりする。サーモスタットアクセスクライアント514は、異なる機器上で実行するために設計され、マルチクライアントアプリケーションはデバイスプラットフォームまたはOSの要求に基づく様々な技術を用いて開発することができる。いくつかの実施形態について、サーモスタットアクセスクライアント514は、エンドユーザが、クラウドベースの管理サーバ516にアクセスしたり、管理サーバ516とやりとりしたりすることが可能な、自身のインターネットアクセス可能な機器例えばデスクトップコンピュータ、ノート型コンピュータ、インターネット利用可能なモバイル機器、レンダリングエンジンを有する携帯電話機、などを操作するように実装される。エンドユーザマシンまたは機器は、ウェブブラウザ例えばInternetExplorerFirefoxChromeSafariや、一般にはAJAX技術例えばXHTMLXMLCSSDOMJSONなどと互換性を有する他のレンダリングエンジンを有する。AJAX技術はマークアップや情報にスタイルを付与するためのXHTML拡張可能HTMLおよびCSSカスケーディングスタイルシート、クライアント側のスクリプト言語を用いてアクセスされるDOMドキュメントオブジェクトモデルの利用、XMLおよび他のテキストデータをHTMLを用いるサーバとの間で非同期に送受信するためのXMLHttpRequestオブジェクトスクリプト言語が用いるAPIの利用、およびサーバ=クライアント間でデータ転送するための様式としてのXMLまたはJSONJavaスクリプトオブジェクトノーテーション、軽量データ交換フォーマットの利用を含む。ウェブ環境においてエンドユーザは、通常の方法、すなわちサービスプロバイダドメインに関連付けられたURLをブラウザで開くことにより、サイトにアクセスする。ユーザはユーザ名およびパスワードの入力により、サイト又はその一部に認証される。エンドユーザエンティティマシンとシステムとの間のコネクションは、プライベート例えばSSLを用いるであってよい。システムのサーバ側は、IPスイッチ、ウェブサーバ、アプリケーションサーバ、管理サーバ、データベースなど、従前のホスティング要素を有してよい。クライアント側でAJAXが用いられる場合、クライアント側のコードAJAXshimはエンドユーザのウェブブラウザまたは他のレンダリングエンジンでネイティブに実行される。このコードはクライアントマシンに持続的に常駐してもよいが、典型的にはエンドユーザがサイトにアクセスした際にクライアントマシンに供給される。最後に、インターネットプロトコル上のウェブベースアプリケーションを説明したが、これは限定ではなく、固定回線でもモバイル回線であっても、任意のランタイムアプリケーションにおいてスタンドアロンアプリケーションによって提供されうる技術およびユーザインタフェーステクノロジーとしてである。クラウドベースの管理サーバ516、サーモスタットアクセスクライアント514、および他の機器間における通信に用いられるネットワークプロトコルとして、いくつかの実施形態ではTCPIPプロトコルを説明したが、それは限定ではなく例として説明されたものであって、特にUDPオーバIPのような他のいかなる好適なプロトコルも、本教示の範囲内で用いることができる。さらに別の実施形態において、サーモスタットアクセスクライアント514は、スタンドアロンアプリケーションまたは、アップル社のiOSオペレーティングシステム、グーグル社のAndroidオペレーティングシステムなどが稼動するスマートフォン508やタブレット510のような特定の機器にダウンロードされ稼動するように設計されたappであってよい。本明細書で説明した実施形態は、サーモスタット110/112とクラウドベースの管理サーバ516との間の温度調節に関するデータの信頼できる通信のための、電池を意識した方法を有利に提供するが、家庭および企業の大集団をサービスする多種多様な従来の統合ルータと互換性を有するようにも有利に構成される。従って、限定ではなく例として、プライベートネットワーク502をサービスするルータ不図示は、例えばDLink社製DIR655ExtremeN無線ルータNetgear社製のWNDR3700RangeMaxデュアルバンド無線USBギガビットルータバッファローテクノロジー社製NfinitiWZRHPG300NH無線NルータAsus社製RTN16無線ルータシスコ社製LinksysE4200デュアルバンド無線ルータ又はシスコ社製LinksysE4200デュアルバンド無線ルータであってよい。一実施形態において、図5に示すクラウドメースの管理サーバ516は、サーモスタットアクセスクライアント514が稼動するプライベートネットワーク502上のコンピュータ機器により、パブリックネットワーク504を通じてアクセスされてよい。サーモスタットアクセスクライアント514はまた、パブリックネットワーク504に直接接続されたタブレット506のようなコンピュータ機器で実行されまたは稼動してもよい。サーモスタットアクセスクライアント514が様々な異なる方法でサーモスタット110またはリモートサーモスタット112とやりとりできるように、各サーモスタットアクセスクライアント514がクラウドベースの管理サーバ516上のサーモスタット管理アカウントにアクセス可能であることが好ましい。いくつかの実施形態において、サーモスタットアクセスクライアント514はサーモスタット110およびリモートサーモスタット112から過去に収集され、クラウドベースの管理サーバ516に保存されたセンサデータにアクセスするために用いられてよい。別のいくつかの実施形態において、例えば、サーモスタットアクセスクライアント514は、サーモスタット110の遠隔制御や遠隔的な設定のために用いられてよい。サーモスタットアクセスクライアント514はまた、電池レベル測定値、ファームウェア更新レベル、診断データ、またはサーモスタットによってサーモスタットアクセスクライアント514に明らかにされる他の任意のデータを含む、サーモスタット110またはリモートサーモスタット112上の他の情報を収集してもよい。サーモスタット110およびリモートサーモスタット112の各々は、パブリックネットワーク504を通じて確立された1つ又はいくつかの通信チャネルを通じてクラウドベースの管理サーバ516とも通信する。プライベートネットワーク502上の他の機器と同様、サーモスタット110およびリモートサーモスタット112はパブリックネットワークアドレスを有さないので、ルータおよびNATテーブル518の対応するエントリの助けを受けずに、インターネットや他のパブリックネットワーク上で直接通信することはできない。図5における例では、サーモスタット110はプライベートネットワークアドレス1921681108とプライベートポート番号60720を有し、リモートサーモスタット112にはプライベートネットワークアドレス1921681110と3つの異なるプライベートポート番号60744、60743および60722が設定されている。この例において、サーモスタット110は、パブリックネットワークアドレス1072022412およびパブリックポート番号443を有するクラウドベースの管理サーバ516との通信チャネルの確立を開始する。従って、プライベートネットワーク502上のルータ不図示は、サーモスタット110のソースアドレス1921681108およびソースポート60720と、クラウドベースの管理サーバ516のデスティネーションアドレス1072022412およびデスティネーションポート443との間の通信のための、NATポート1022で識別されるエントリをNATテーブル518に作成する。別の構成において、サーモスタット110および112は、サーモスタット110とともに図示されているような1つのコネクションではなく、クラウドベースの管理サーバ516への複数の通信チャネルを設定されてよい。一例として、サーモスタット112が3つのポート60744、60743、および60722を通じて複数の通信チャネルの確立を開始すると、ルータは、NATポート1044、1921、および1758で識別される3つのエントリをさらにNATテーブル518に作成する。NATポート1044、1921、および1758で識別されるNATテーブル518内の追加対応エントリはソースアドレス1921681110およびソースポート60744、60743、および60722を含み、それぞれ、クラウドベースの管理サーバ516のデスティネーションアドレス1072022412およびデスティネーションポート443に関連付けられる。本発明の様々な実施形態において、クラウドベースの管理サーバ516と他のサーモスタットとの間の通信はサーモスタット110に設定されるように1つの通信チャネル上で発生してよく、他の実施形態はリモートサーモスタット112に提供されるような複数の通信チャネルを用いてもよい。TCPIPのようなプロトコルを用いてデータが伝送される場合、プライベートネットワーク502内のルータは、プライベートネットワークと、クラウドベースの管理サーバ516のようなパブリックネットワーク上のサーバ又は機器との間で通信チャネル上を通過するデータのパケット内のアドレスを変更する。一例において、ルータはリモートサーモスタット110から、クラウドベースの管理サーバ516のデスティネーションアドレス1072022412およびデスティネーションポート443とともにソースアドレスフィールド1921681108とソースポート60720を有するパケットを受信するであろう。ルータはこのパケットをインターネットに出す前に、NATテーブル518を参照し、ソースアドレスフィールドおよびソースポートフィールドの値をルータに割り当てられているパブリックアドレス76213203と対応するNATポート1022にそれぞれ置き換える。パブリックネットワーク上に送信される、図5の変更後のパケットヘッダ520は、デスティネーションアドレスおよびデスティネーションポートは元のままだが、ソースアドレスおよびソースポートがルータのパブリックネットワークアドレスとNATテーブル518からのポート番号に変更されている。NATテーブル518内のエントリが存在する限り、サーモスタット110および112はクラウドベースの管理サーバ516へのパブリックネットワーク504上の個別の通信チャネルを通じて通信することができる。これら通信の間、本発明のいくつかの実施形態は、サーモスタットの電池レベルおよびサーモスタットの性能への影響を考慮する。サーモスタットの電池レベルが低い場合、サーモスタットとのさらなる通信は、HVACシステムの制御やネットワーク上での通信といった不可欠な機能を実施するためのサーモスタットの能力に影響を与えうる。図5に示すように、サーモスタット110に隣接する電池拡大イメージ110Aはサーモスタット110内の電池の電池レベルを模式的に示している。本例における電池イメージ110Aは、約80充電された状態を示しており、サーモスタット110の内蔵電池レベルがほぼ満充電であることを表している。同様に、サーモスタット112に隣接する電池拡大イメージ112Aは約20の充電状態を示しており、サーモスタット112の内蔵電池の電池レベルが低いことを示している。このような異なる、かつばらばらな電池レベルに対応するため、本発明のいくつかの実施形態は、サーモスタットの通信および動作に1つ又は複数の異なる戦略を導入することができる。図6Aに示す一実施形態において、クラウドベースの管理サーバ516はサーモスタットの電池レベルを監視し、データに割り当てられた優先度に従って通信を賢く制御する。いくつかの実施形態において、クラウドベースの管理サーバ516が本発明の複数の見地を実施するが、別の実施形態ではクラウドベースの管理サーバ516の機能をシステム内の1つまたは複数のサーバに分散してもよい。この例では、サーモスタット110およびサーモスタット112がクラウドベースの管理サーバ516とのそれぞれの通信チャネルを開始並びに確立済みであり、プライベートネットワーク502上のルータが図5に示したようなNATテーブル518を作成済みである。電池を節約するため、サーモスタット110/112は、特定の温度閾値が温度センサで検出された場合のような、目覚めるに値するローカルイベントまたは目覚めるに値する次のイベントまたはクラウドベースの管理サーバ516からの要求、を待機する間、低電力状態に移行してよい。低電力状態への以降に先立って、各サーモスタット110/112はコネクションオープニングロングポーリングパケットをサーモスタット通信サーバ620に送信する。通常の動作目的については応答が不要である場合すなわち、クラウドベースの管理サーバ516が提供する命令または要求を有さない場合、クラウドベースの管理サーバ516はサーモスタット110/112とのロングポーリング通信を維持することで、実際のデータ交換の頻度が非常に低い場合や、大きな遅延を受けている場合であっても通信チャネルをオープンした状態に保つことができる。これはサーモスタットの電池を効率的に使用するだけでなく、各データ送信のための通信チャネルの再確立に関するオーバヘッドおよび遅延を削減する。一実施形態において、クラウドベースの管理サーバ516は、キープアライブ優先パケットを規則的なキープアライブ間隔で送信することにより、NATテーブル518内のエントリを維持する方法により、ロングポーリング通信を維持する。一実施形態において、キープアライブ優先パケットはTCPIPプロトコルスタックに組み込まれたキープアライブ機能と一致する。ロングポーリング時間間隔内にサーモスタット110/112に送信すべきメッセージがなければ、プロトコルスタックは1つ以上のキープアライブパケットを、ロングポーリング時間間隔より短いキープアライブ間隔ごとにプライベートネットワーク502上のルータに送信することで、NATテーブル518を維持する。好ましくは、キープアライブ間隔は、多くの一般的なルータがその特定のコネクションに関するNATテーブルを消去するであろう間隔よりずっと短い。所定の時間間隔またはイベント発生に応じて、サーモスタット110および112は自身の電池レベルをチェックし、他の管理機能を実行するために低電力状態から目覚める。いくつかの実施形態によれば、電池レベルは各サーモスタット110および112から無線接続によって送信され、プライベートネットワーク上のアクセスポイント606を通って、サーモスタットサーバ620に将来の参照のために保存される。例えば、約80充電を示す電池イメージ110Aは、サーモスタット110内の電池レベルがほぼ満充電であることを表し、約20充電を示す電池イメージ112Aは、サーモスタット112内の電池が低レベルであることを表している。クラウドベースの管理サーバ516の一実施形態は、機器アドレス、電池レベル、および対応する通信チャネルで用いるためのキープアライブ間隔を含む機器電池充電率テーブル616内の、そのデータを更新する。例えば、機器電池充電率テーブル616はNATテーブル518によってサーモスタット110に対応付けられている機器アドレス762132031022に、高い電池レベルと5000単位時間に設定されたキープアライブ間隔を与える。対照的に、機器電池充電率テーブル616におけるNATテーブル518によってサーモスタット112に対応する機器アドレス762132031044、762132031921、および762132031758はいずれも、低い電池レベルと10000にセットされたより長いキープアライブ間隔を有している。クラウドベースの管理サーバ516のいくつかの実施形態は、NATテーブル518内のエントリがルータに消去される可能性を削減するため、電池レベルが高い場合にはより短いキープアライブ間隔を設定してもよい。電池レベルが低い場合、キープアライブ間隔は、ほとんどのルータ機器のNATタイムアウト期間を超えないであろう最大の時間間隔を表す最大ロングポーリング間隔に設定されてよい。クラウドベースの管理サーバ516のいくつかの実施形態は、クラウドベースの管理サーバ516から1つまたは複数のサーモスタットへいつデータを通信すべきかの決定の補助に、機器電池充電率テーブル616をさらに用いてよい。実施するため、一実施形態はさらに、各サーモスタットから報告される低および高電池レベルを高温度調節重要度データまたは低温度調節重要度データに関連付ける電力優先度テーブル618をさらに生成してもよい。これら実施形態において、電力優先度テーブル618は、通信されているデータに割り当てられた重要度と、サーモスタットに関連付けられた現在の電池充電率の消費とのトレードオフを規定する。例えば、高温度調節重要度データに分類されたデータを用いたデータ通信は、そのデータが、クラウドベースの管理サーバ516およびサーモスタットの全体動作にとって高い重要性を有するものと見なされるため、バッテリレベルが低い場合でも抽出されて送信されるであろう。一実施形態において、低電池レベルは0から39の充電率であってよい。低温度調節重要度に分類されたデータ通信は、電力優先度テーブル618に示されるように、電池レベルが低い場合には送信されないであろう。電池が十分には充電されていないため、サーモスタットの電池のエネルギーを節約するため、低温度調節重要度データは電力優先度テーブル618に従って送信されないであろう。従って、いくつかの実施形態によれば、電池レベルが高いか、充電率が80~100の範囲であると検出された場合、低および高温度調節重要度データタイプが送信される。図6Bに示す代替実施形態において、電力優先度テーブル618は、3つの電池レベルと3レベルの温度調節重要度を有する。低電池レベルの場合、高温度調節重要度と見なされるデータは送信され、中温度調節重要度データおよび低温度調節重要度データは送信されない。電池レベルが中レベルの場合、高および中温度調節重要度と見なされるデータが送信される。電池レベルが少なくとも高レベルであれば、低、中、および高温度調節重要度と見なされるデータが送信される。さらに別の実施形態は、特定の設計および実施要件に応じて、3つより多い電池レベルおよび3つより多いデータ優先度レベルタイプを用いてもよい。さらに、低、中、および高電池レベルに対する充電率は、上述したような0~39が低電池レベル、40~79が中電池レベル、80~100が高電池レベルである必要はなく、他の範囲を含んでもよいいくつかの実施形態において、データ通信は複数の異なる方法で分類されてよく、クラウドベースの管理サーバ516の特定の実施要件およびサーモスタットに対する要求性能に基づいて決定されることが多い。一実施形態において、高優先度データタイプはサーモスタットに何かの機能を能動的に要求するデータ通信を含んでよい。これはクラウドベースの管理サーバ516がサーモスタット110または112に温度設定値の変更を要求するデータ通信を含んでよい。別の高優先度データタイプは、サーモスタット110または112に冷房機能のオンまたはオフを要求するデータ通信を含んでもよい。対照的に、低優先度データタイプはサーモスタットにとってすぐに実行することがさほど重要でない所定の動作や機能を含んでよい。ソフトウェアアップデートをクラウドベースの管理サーバ516からサーモスタットにダウンロードする動作は、低優先度通信の一例である。ソフトウェアアップデートはサーモスタットの当座の動作にはとって不要で、かつ影響を与える可能性が低いためである。さらに、アップデートが途中までしか完了しなかった場合にはサーモスタットが動作不能になる可能性があるため、サーモスタットの電池レベルが低い場合にはソフトウェアアップデートをダウンロードしない方が好ましい。図7は、本発明の実施形態に従って設計された、エネルギーを節約しつつ、サーモスタットの高性能動作を促進する、クラウドベースの管理サーバ516を示す図である。本実施形態において、クラウドベースの管理サーバ516は、1つまたは複数の命令を実行するように構成されたプロセッサ704と、プロセッサで実行可能な命令を保持するメモリ702と、インターネットのようなネットワーク上で通信可能なネットワークインタフェースコントローラ706と、記憶装置710と、サーバからの情報をモニタ上に表示するためのディスプレイアダプタおよびモニタ712と、キーボード、マウス、およびサーバを制御するための他のインタフェースを含んだ周辺ドライバおよび機器714とを含んでいる。例えば、CDROMDVD機器716および媒体は、コンピュータプログラム製品の形式で有体的に実施された本発明の様々な実施形態を保持し、周辺ドライバおよび機器714に取り付けられてよい。一実施形態において、メモリ702内の処理は、サーモスタットに電力を供給するために用いられている電池に関する電池レベルを保存する電池レベル収集処理718を含んでよい。先に説明したように、いくつかの実施形態における電池レベルは、サーモスタット管理システムとサーモスタットとの間で確立された通信チャネルを通じてサーモスタットから提供され、そのサーモスタットに付随する電池の残エネルギーの指標を提供する。電池レベル収集処理はサーモスタットとクラウドベースの管理サーバ516との間の通信チャネルをオープンさせ続けるロングポーリング処理を含み、サーモスタットとクラウドベースの管理サーバ516との間で継続中の通信の結果として、これら電池レベルを長期間にわたって収集することができる。いくつかの実施形態において電池レベルデータは、図6に示すような機器電池充電率テーブル616に保存され、クラウドベースの管理サーバ516上のローカル記憶領域に存在するか、またはデータベースや他の遠隔記憶領域で遠隔的にアクセスされてよい。いくつかの実施形態はさらに、通信チャネルを通じてサーモスタットに送信すべき1つまたは複数のタイプのデータを分類するとともに優先度を付加するデータ優先度処理720をメモリ702内に含んでもよい。実装に応じてデータ優先度処理720は、低温度調節重要度データタイプから高温度調節重要度データタイプまでのデータ優先度範囲に従い、データ送信を分類する。いくつかの実施形態において、低温度調節重要度データは、サーモスタット管理システムおよびサーモスタットの動作に対して重要度が低い。ソフトウェアアップデートはサーモスタットが動作するために必須ではないであろうから、例えば、低温度調節重要度データタイプはソフトウェアアップデートを含んでよい。一方、高温度調節重要度データタイプは、サーモスタットにおける設定値の変更要求やHVACシステムの暖房または冷房オンの要求など、サーモスタット管理システムの動作にとってより高い重要性を有するデータを含むことができる。さらに別の実施形態は、データの分類とサーモスタットに関する電池レベルとに応じてサーモスタットにデータを送信する電力分類送信処理722をさらに含んでもよい。上述の通り、低温度調節重要度データタイプから高温度調節重要度データタイプまでの範囲を有するデータ優先度分類は、クラウドベースの管理サーバ516およびサーモスタットの全体動作に対するデータの重要性に依存する。従って、低温度調節重要度データはサーモスタットの電池残量を節約するため、電池レベルが低い場合には送信されなくてもよい。しかし、電力分類送信処理722は、サーモスタットに関する電池レベルが満充電または高い場合には、全てのデータ分類を送信してよい。本発明の複数の実施形態はまた、サーモスタットとの通信チャネルをオープン状態に維持することを容易にするロングポーリング処理724をメモリ702に含んでもよい。このロングポーリング処理724はまず、サーモスタットからネットワークを通じて、パブリックネットワーク上に位置するクラウドベースの管理サーバ516とプライベートネットワーク上に位置するサーモスタットとの間の通信チャネルの確立要求を受信する。いくつかの実施形態において、クラウドベースの管理サーバ516はインターネットに登録されたパブリックネットワークアドレスを有する一方、プライベートネットワーク上のルータから図5のNATテーブル518のようなNATテーブル内のエントリを通じて提供される共有パブリックネットワークアドレスを有する。ロングポーリング処理724はさらに、通信チャネルを通じてサーモスタット管理システムからネットワークに接続されたサーモスタットへキープアライブパケットを時折送信するようにTCPIPのようなネットワーク通信プロトコルを設定する。いくつかの実施形態において、サーモスタットに送信されるキープアライブパケットは、通信チャネルの確立を肯定応答するが、処理を必要とするペイロードやデータを含まなくてよい。ロングポーリング処理724は、ルータ機器のNATタイムアウト期間を超えない最大の時間間隔でこれらキープアライブパケットを送信するための時間間隔を設定してよい。NATタイムアウト期間前のキープアライブパケットの受信は、NATテーブルにその時点のおけるエントリを維持し、通信チャネルが切断されないようにする。図8Aは、電池駆動型サーモスタットとの通信を調整するためにサーモスタット通信サーバが用いる動作のフローチャートであり、この動作は、電池エネルギーを節約するとともにサーモスタットの性能を進展させる。図6に示すクラウドベースの管理サーバ516のようなサーモスタット通信サーバは、電池駆動されるサーモスタットから、サーモスタットとサーモスタット通信サーバとの間でネットワークを通じた通信チャネルの確立の要求を受信する802。サーモスタットが通信チャネルを開始する際、ルータは図5におけるNATテーブル518のようなNATテーブルにエントリを作成し、ルータの背後に存在するプライベートネットワーク上のサーモスタットがパブリックネットワークであるインターネット上のサーモスタット通信サーバとその後通信できるようにする。NATテーブル内のエントリは、サーモスタット通信サーバおよびサーモスタットからの通信の間隔がルータに関連付けられたNATタイムアウト値を超えない限り削除されず、通信チャネルは維持される。次に、サーモスタット通信サーバは、通信チャネルを通じてサーモスタットに送信すべきデータを低温度調節重要度から高温度調節重要度区分までの温度調節重要度に従って1つ以上のタイプに分類する804。一つの実装では、低温度調節重要度データタイプはサーモスタット管理システムおよびサーモスタットの全体の動作にとってさほど重要でないデータを含む。これらはソフトウェアアップデートや他のメンテナンスのような、サーモスタットで実行されるオプション機能を含んでよい。反対に、高温度調節重要度データタイプは、サーモスタット管理システムおよびサーモスタットの動作にとってより重要性が高いデータを含み、一般には設定値の変更、暖房または冷房のオン/オフ、またはサーモスタットが配置された住居または商業施設内の場所の周辺温度のチェックといった、サーモスタット上の動作を能動的に実行することの要求を含む。次に、サーモスタット通信サーバはサーモスタットに関する電池レベルを、サーモスタット通信サーバがアクセス可能な記憶領域に保存する806。いくつかの実施形態において、各サーモスタットは周期的に自身の電池レベルをチェックし、ネットワークを通じて確立された通信チャネルを通じて電池レベルをサーモスタット通信サーバに提供する。各サーモスタットに関する電池レベル情報は、図6に示した機器電池充電率テーブル616のような機器電池充電率テーブルに保存されてよい。通信チャネルをオープンした状態に保つため、サーモスタット通信サーバは通信チャネルを通じてサーモスタットにキープアライブパケットを送信するためのロングポーリング間隔を設定してよい808。いくつかの実施形態においてサーモスタット通信サーバは、ほとんどのルータが用いるNATタイムアウト期間約100分であることが多いを超えない最大値をロングポーリング間隔に設定する。サーモスタット通信サーバとサーモスタットとの間を通過するデータが無ければ810,No、元々ロングポーリング間隔に設定されたタイマ値を通信プロトコルスタック内の時間に対して削減し、処理を継続する。結局、ロングポーリング間隔が経過し、サーモスタット通信サーバ上のTCPIPのような通信プロトコルスタックがロングポーリング間隔内で通信アクティビティを検出しなければ、ルータ上のNATエントリを保持するとともに通信チャネルをオープンした状態に保つために内蔵キープアライブ機能がパケットを送信する812。いくつかの実施形態において、サーモスタット通信サーバはロングポーリング間隔が満了すると通信チャネルを切断するよう要求し、サーモスタットによって新たな通信チャネルが確立されるのを待ってもよい。あるいは、送信すべきデータがあれば、サーモスタット通信サーバは送信前にサーモスタットの最新電池レベルをチェックする810、Yes。一実施形態では、そのサーモスタットに関連付けられた低電池レベルがあれば814、Yes、高温度調節重要度データタイプに分類されたデータのみが送信されるべきである816。低温度調節重要度データを送信しないことで、サーモスタット内の電池容量のいくらかが節約される。いくつかの実施形態においてサーモスタット通信サーバは、特定の設定要求に従った予め定められた分類設定を事前に有している。サーモスタット管理システムの動作に対する重要度が高いデータであれば、そのデータは高温度調節重要度データタイプと分類され、低い電池レベルであっても送信されるべきである。例えば、高温度調節重要度データはサーモスタットに温度設定値または他の設定を変更するように積極的に要求する、サーモスタットに送信される命令を含んでよい。サーモスタットに関連付けられた電池レベルが低レベルでなければ814,No、サーモスタット上の電池は満充電されていると見なされ、温度調整重要度が低から高までに分類された全てのデータは送信されるであろう818。図8Bのデータ流れ図の例は、サーモスタットの電池レベルおよびデータに関連付けられた優先度に基づいてサーモスタット通信サーバがデータを送信する際のデータの流れおよびイベントを示している。この例では、サーモスタット通信サーバとの通信チャネルの確立を開始するサーモスタットが、ルータにNATテーブルを生成させる826。エネルギーを節約するため、サーモスタットは低電力モードに移行し、次のイベントを待つ828。ある時間経過後、管理サーバはNATテーブルエントリが削除される前にキープアライブパケットを送信する830。一実施形態において、サーモスタットは低電力モードから目覚めて低電池レベルをサーモスタット通信サーバに送信し、サーモスタットの電池レベルが放電間近であることを知らせる832。そして、サーモスタットは電池を節約するために再び低電力モードに戻る834。サーモスタット通信サーバはそのサーモスタットに低電池レベルを関連付け、その結果を記憶領域に保存する836。この時点で、図5においてサーモスタットアクセスクライアント514を実行しているタブレット506のようなクライアント機器は、サーモスタット通信サーバにサーモスタット設定の変更を要求する838。サーモスタット通信サーバはこの要求を、サーモスタット上の電池がローレベルであっても送信されるべき高温度調節重要度データタイプに分類する840,842。その結果、サーモスタットはデータ送信を受信し、サーモスタット設定の変更要求を実行する844。別の実施形態は、3つ以上の電池レベルと、低、中、高温度調節重要度区分データタイプを用いる3つの分類システムのように、データに関して3つ以上の対応する温度重要度分類を用いてもよい。別の実施形態において、図9A~9Bに示す電池駆動型サーモスタットおよびシステムは、本発明の実施形態に従って、異なる優先度を有するデータを交換するために複数の通信チャネルを用いる。したがって、この実施形態においてサーモスタット112は異なる優先度のデータを対応する異なる通信チャネルを通じてクラウドベースの管理サーバ516から受信し、電池レベルに応じて受信データを処理または破棄してよい。有利なことに、本実施形態に関する処理は、クラウドベースの管理サーバ516とサーモスタット112とに分散されている。1つの目立った利点として、サーモスタット112がポーリングを行ったり間接的にデータを収集することなく電池レベルを判定可能であるため、サーモスタット通信サーバ620から受信したデータパケットをより正確に処理することができることがある。例えば、図9Aにおけるサーモスタット112はプライベートネットワークアドレスとポートの組み合わせを2つ192168111060744と192168111060743用いて2つの無線通信チャネルを確立している。サーモスタット112上のこれらのプライベートネットワークアドレスは、図5のNATテーブル518内に、NATポート1044および1921で識別される対応エントリを有している。図9Aにおけるクラウドベースの管理サーバ516は、サーモスタット112について対応するパブリックアドレスおよびポート番号762132031044と762132031921を優先度送信テーブル902に保存するとともに、図示のように各アドレスに対して高優先度データタイプおよび低優先度データタイプを関連付けている。いくつかの実施形態によれば、クラウドベースの管理サーバ516は、優先度送信テーブル902に示すように、サーモスタットに送信すべきデータを低または高優先度データタイプに分類するとともに、適切な通信チャネルまたはパブリックアドレス上に送信する。データは、パブリックネットワーク504、プライベートネットワーク502を通り、図9Aに示すように無線によってアクセスポイント606からサーモスタット112へと到達する。サーモスタット112のWiFiモジュール不図示内の設定が、どの通信チャネルを通じてデータを受信したかに応じてデータを処理すべきか破棄すべきかを決定する。WiFiモジュール内の設定に基づいて、電力優先度テーブル904は、サーモスタット112の最近の電池レベルが電池イメージ112Aに示されるように低レベルであることおよび、ポート60744および60743がそれぞれ高および低データタイプの処理に用いられることを識別する。直近の電池レベルが低であるため、本例の電力優先度テーブル904はWiFiモジュールがポート60743上に到来した低優先度データは無視または破棄し、ポート60744上で受信した高優先度データのみを処理するように設定されていることを示している。その後サーモスタット112は、サーモスタット112が検出した電池レベルに応じて、パケットを受け入れるか破棄するようにWiFiモジュールの設定を更新してもよい。後になって電池レベルが高であるとサーモスタット112が判定した場合、サーモスタット112は両方のポートに到達する低優先度データパケットおよび高優先度データパケットのいずれも処理するようにWiFiモジュールを再設定する。別の実施形態において、WiFiモジュールはさらに、より多くの、あるいはより少ないデータ優先度タイプについて、より多くの、あるいはより少ないポートおよびプロセスを用いるように設定されてもよい。例えば、単に高優先度および低優先度データタイプだけでなく、高優先度、中優先度、または低優先度データタイプのいずれかを処理するために3つの通信チャネルが用いられてよい。本発明の実施形態に係るサーモスタットの内部部品の一部の概要を示す模式的なブロック図である図9Bを参照する。サーモスタット908は図9Aのサーモスタット112と類似しているが、WiFiモジュール912およびアンテナ、付随メモリ915を有するヘッドユニットプロセッサ914、付随メモリを有するバックプレートプロセッサ916、およびセンサ922例えば温度、湿度、動き、周辺光、近接を含む、選ばれた内部部品を図示および強調している点で異なる。一実施形態において、ヘッドユニットプロセッサ914はテキサスインスツルメンツ社製のAM3703SitaraARMマイクロプロセッサであってよく、より具体的にマイクロコントローラと呼んでもよいバックプレートプロセッサ916はテキサスインスツルメンツ社製のMSP430Fマイクロコントローラであってよい。サーモスタットヘッドユニット、バックプレート、および他の物理要素の物理的な配置および構成の詳細については、上述した米国特許出願第13199108に記載されている。いくつかの実施形態について、バックプレートプロセッサ916はいくらかの計算能力を有するものの、ヘッドユニットプロセッサ914より大幅に性能が劣る超低電力デバイスである。バックプレートプロセッサ916は温湿度センサ、動きセンサ、周辺光センサ、および近接センサを含むセンサ922のほとんどまたは全てに接続されるとともに、定期的にポーリングを行う。バックプレートハードウェア自身に配置されなくてもよく、むしろヘッドユニット内に配置されるセンサ922については、ヘッドユニットとバックプレートとの間にリボンケーブルや他の電気的な接続手段が設けられる。特に、ヘッドユニットプロセッサ914が受け持つ他のセンサ不図示があってもよく、一例としては外縁リング302前述の図4A~4Bを参照のユーザによる回転を検知するリング回転センサがある。ヘッドユニットプロセッサ914およびバックプレートプロセッサ916はそれぞれ、スリープ状態に移行し、その後様々なタスクを実行するために目覚めるすることができる。いくつかの実施形態において単に低いクロックスピードに対応する低電力スリープ状態を有するバックプレートプロセッサ916は、通常、より能力の高いヘッドユニットプロセッサ914よりもかなり頻繁にスリープモードとの行き来を繰り返す。バックプレートプロセッサ916はヘッドユニットプロセッサ914をスリープ状態から目覚めさせることができる。最適な電池節約を目的とした1つの好適な実施形態について、ヘッドユニットプロセッサ914は自身の動作が要求されていない際にスリープすることが許される一方、バックプレートプロセッサ916はセンサ922のポーリングを継続的に実施し、メモリ917内のセンサ測定結果を維持する。バックプレートプロセッサ916は現在有効な暖房設定値を現在温度が下回った場合のように、HVAC動作が要求されうることをセンサデータが示している場合や、メモリ917が満杯になり、メモリ915に保存するためにセンサデータをヘッドユニットプロセッサ914に転送する必要が生じた場合に、ヘッドユニットプロセッサ914を目覚めさせるであろう。そして、センサデータはクラウドサーバとヘッドユニットプロセッサ914との間のその後の有効な通信セッション中にクラウドサーバサーモスタット管理サーバに送信されてよい。WiFiモジュール912について、一実施形態では80211bgnWLAN規格をサポートするテキサスインスツルメンツ社製WL1270チップセットに基づく村田無線ソリューションズ社製のLBWA19XSLZモジュールを用いて実施することができる。本発明のいくつかの実施形態は、エネルギーを節約するため、1つまたはいくつかのイベントが発生するまでサーモスタット908が低電力またはスリープモードに移行することができるようにWiFiモジュール912を構成並びにプログラミングする。例えば、いくつかの実施形態においてWiFiモジュール912は、図4Aおよび4Bに示したようにユーザがサーモスタット908を物理的に操作した際にこの低電力モードから離れ、それによって、図3Bに示すサーモスタット110のヘッドユニット312およびバックプレート314部分における機能を制御するためにヘッドユニットプロセッサ914およびバックプレートプロセッサ916の両方が起動されてもよい。WiFiモジュール912を、無線アクセスポイント912からのビーコンに応答して一定周期で低電力モードから目覚めるようにしてもよい。エネルギーを節約するため、WiFiモジュール912は適切な無線規格によって決定されるようにビーコンの確認応答を行うために低電力モードを短期間離れ、図9Bにおけるサーモスタット908のプロセッサおよび他の部品を起動させることなく低電力モードに戻ってよい。別の実施形態において、WiFiモジュール912はまた、短期間目覚めた後にセンサ922を通じてデータを収集し、後で参照するために結果をタイムスタンプ、イベントタイプおよび対応するデータの一覧とともにデータログ926に保存するためにバックプレートプロセッサ916、ヘッドユニットプロセッサ914、またはサーモスタット908の他の部分を起動させることによってビーコンに応答してもよい。一実施形態によれば、バックプレートプロセッサ916はデータログ926にデータを収集し、ある期間またはログが最大所定サイズに達するまでメモリ920に保存してもよい。その時点でバックプレートプロセッサ916は、メモリ920に保存されているデータログ926を、インターネットのようなパブリックネットワークを通じてクラウドベースの管理サーバ516にアップロードする動作を連携して行うために、ヘッドユニットプロセッサ914を目覚めさせてよい。データログ926のアップロード頻度を少なくすることで、個々のレコードまたはログエントリのより頻繁な送信に関する時間およびエネルギーを節約することができる。さらに別の実施形態において、WiFiモジュール912は、ヘッダが単に確認応答パケットすなわち、キープアライブパケットであるか、さらなる処理が必要なペイロードを含んでいるかを判定するために、入来データパケットを選択的にフィルタリングしてもよい。パケットがヘッダのみを含み、ペイロードを含まない場合、WiFiモジュール912はそのパケットを無視するか、サーモスタット管理システムまたはその受信パケットの他のソースに返信確認応答を送信するように構成されてよい。別の実施形態においてWiFiモジュール912は、図9Aに説明および図示したようにサーモスタット112とクラウドベースの管理サーバ516との間で複数の通信チャネルを確立するために用いられてもよい。上述の通り、サーモスタット112は異なる優先度を用いて分類された異なるタイプのデータを受信するために複数の通信チャネルを用いる。一実施形態においてWiFiモジュール912は1つまたは複数のフィルタおよびウェイクオンLAN機能を用い、その後それらの通信チャネルの1つまたは複数に到来するデータを選択的に無視または破棄するようにプログラミングされてよい。例えば、WiFiモジュール912のポートに到来した低優先度のデータは、そのポートに関連付けられた対応するウェイクオンLAN機能を無効とすることにより破棄されてよい。低優先度のパケットを破棄または無視することで、さらに電池の電力を節約しつつ、通信チャネルが継続して動作できるようになる。図9C~9Dは図9Aおよび9Bに示したような本発明の実施形態に係るクラウドベースの管理サーバ516とサーモスタット112における動作に関するフローチャートである。一実施形態において、図9Cにおけるフローチャートはサーモスタット通信サーバが電池駆動型のサーモスタットと複数の通信チャネルを通じて通信するために用いる動作を提供する。この実施形態において、図9Aに示すクラウドベースの管理サーバ516のようなサーモスタット通信サーバは、電池駆動されるサーモスタットから、サーモスタットとサーモスタット通信サーバとの間でネットワークを通じた複数の通信チャネルの確立の要求を受信する928。サーモスタットが通信チャネルを開始する際、ルータは図5におけるNATテーブル518のようなNATテーブルに複数のエントリを作成し、サーモスタットがパブリックネットワークであるインターネット上のサーモスタット通信サーバと通信するための複数の通信チャネルを提供する。上述したように、NATテーブル内のこれらのエントリは、サーモスタット通信サーバおよびサーモスタットからの通信の間隔がルータに関連付けられたNATタイムアウト値を超えない限り削除されず、通信チャネルはオープンし続ける。次に、サーモスタット通信サーバは、低優先度データタイプから高優先度データタイプまでのデータ優先度に従い、通信チャネルを通じてサーモスタットに送信すべき1つ以上のデータタイプを分類する930。一実施形態において、低優先度データタイプはサーモスタット管理システムおよびサーモスタット全体の動作に対してさほど重要でないデータを含む。これらはソフトウェアアップデートや他のメンテナンスのような、サーモスタットで実行されるオプション機能を含んでよい。反対に、高温度調節重要度データタイプは、サーモスタット管理システムおよびサーモスタットの動作にとってより重要性が高いデータを含み、一般には設定値の変更、暖房または冷房のオン/オフ、またはサーモスタットが配置された住居または商業施設内の場所の周辺温度のチェックといった、サーモスタットで動作を能動的に実行することの要求を含む。通信チャネルをオープンした状態に保つため、サーモスタット通信サーバは複数の通信チャネルを通じてサーモスタットにキープアライブパケットを送信するためのロングポーリング間隔を設定してよい932。いくつかの実施形態においてサーモスタット通信サーバは、ほとんどのルータが用いるNATタイムアウト期間約100分であることが多いを超えない最大値をロングポーリング間隔に設定する。サーモスタット通信サーバとサーモスタットとの間を通過するデータが無ければ934,No、当初ロングポーリング間隔に設定されたタイマ値を通信プロトコルスタック内の時間に対して削減し、処理を継続する。結局、ロングポーリング間隔が経過し、サーモスタット通信サーバ上のTCPIPのような通信プロトコルスタックがロングポーリング間隔内で通信アクティビティを検出しなければ、ルータ上のNATエントリを保持するとともに複数の通信チャネルをオープンさせ続けるために内蔵キープアライブ機能がパケットを送信する938。いくつかの実施形態において、サーモスタット通信サーバはロングポーリング間隔に関連付けられたタイマが満了すると、通信チャネルが利用可能でかつ適切に動作することの確認を支援するため、通信チャネルを切断して再確立するよう要求してもよい。あるいは、送信すべきデータがあれば、サーモスタット通信サーバはそのデータの優先度をチェックし、適切な通信チャネルを通じて送信する。一実施形態によれば、データが低優先度に分類されている場合940,Yes、サーモスタット通信サーバは低優先度データ送信用に予約された通信チャネルを通じてデータを送信する942。あるいは、データが高優先度に分類された場合940,No、サーモスタット通信サーバは高優先度データ送信用に予約された通信チャネルを通じてデータを送信する948。本実施形態において、サーモスタット通信サーバは異なる通信チャネル上にデータを分離しているが、サーモスタットはより簡単に電池レベルデータを取得可能であり、決定を行うことができるため、データを処理するか破棄するかの決定をサーモスタットが行えるようにしている。図9Dはデータを高レベルのパフォーマンスで処理しつつ電池エネルギーを節約するためにサーモスタットで実施される相補的な動作のフローチャートである。本実施形態において、図9Aのサーモスタット112のようなサーモスタットは、電池レベルまたは、1つまたはいくつかの通信チャネルを通じて受信する可能性のあるデータパケットをチェックするために低電力状態から目覚めることができる950。例えば、サーモスタットは、アクセスポイント924からの無線ストローブに応答するため電池レベルのチェックも行ってよい、低電力状態から100msに1回目覚めてもよい。ウェイクオンLANイベントがサーモスタットを低電力状態から遷移させ、1つまたは異なるデータ優先レベルに対して予約されたいくつかの通信チャネルを通じて受信したデータパケットを処理させることにより、サーモスタットを目覚めさせてもよい。いくつかの実施形態において、サーモスタットは、サーモスタット通信サーバ620のようなサーモスタット通信サーバとの通信チャネルが確立されていないことを判定してもよい952,No。従って、本発明の一実施形態は、サーモスタット通信サーバとサーモスタットとの間に2つの通信チャネルを要求し、確立してもよい954。いくつかの実施形態によれば、サーモスタットは低優先度データタイプおよび高優先度データタイプに分類されたデータを受信するためにサーモスタット上に第1および第2通信チャネルを予約する。サーモスタットはまず、図9BのWiFiモジュール912のような自身のWiFiモジュールを、内蔵ウェイクオンLAN機能を用いていくつかの通信チャネルの各々から低および高優先度データパケットを受信するように設定する956。そして、サーモスタットは、電力消費を削減するために低電力状態に戻り、次のイベントまたはデータの受信を待ってもよい958。あるいは、通信チャネルが確立されたら952,Yes、サーモスタットはデータパケットが受信されさらなる処理を要求しているかどうかを判定する960。いくつかの実施形態において、サーモスタット上のWiFiモジュールは、データパケットヘッダまたはペイロードを検査し、そのデータパケットがデータパケットがさらなる処理を必要とするか、破棄してもよいものかを判定してもよい960,No。例えば、データパケットがルータ内のNATテーブルエントリの維持を意図したキープアライブパケットである場合またはそのパケットが関連付けられたペイロードを有さない場合に、データパケットは破棄されてよい。パケットが破棄される場合、サーモスタットのヘッドユニットプロセッサ914やバックプレートプロセッサ916といった他の部品は低電力状態を維持できるので、サーモスタットは全体的な電力消費を節約できる962。パケットがさらなる処理を必要とする場合960,Yes、サーモスタットは受信したデータパケットにサービスを提供するため、サーモスタットの他の部分を起動したり、電源を投入したりしてよい964。いくつかの実施形態において、サーモスタットはサーモスタットの設定値の変更や他の機能を実行するためにヘッドユニットプロセッサ914を起動したり、サーモスタット通信サーバ620から要求されるようにセンサ情報を収集するためにバックプレートプロセッサ916を起動したりしてよい。一旦パケットが処理もしくは破棄されると、本発明の実施形態はサーモスタットの現在の電池レベルをチェックし、その後のデータパケットを受け入れるか破棄するために通信チャネルを調整する。サーモスタットが電池充電率を低電池レベル以下であると判定すると968,Yes、WiFiモジュールは低優先度データに予約された第1通信チャネルを通じて受信されるその後のデータを破棄するように設定される972。上述の通り、いくつかの実施形態はWiFiモジュールのある通信チャネルおよびポート上のパケットを、そのチャネルのウェイクオンLAN機能をオフにすることによって破棄する。これにより、そのチャネル上でその後受信される低優先度パケットは無視または破棄されることになる。いくつかの実施形態において、WiFiモジュールは第2通信チャネル上のパケットを適切なポート番号を見いだすためのフィルタを用いて処理するとともに、その選択されたフィルタに対するウェイクオンLAN機能を有効にするように設定される。最後に、電池充電率が低電池レベルより高い場合968,No、本発明の実施形態は第1および第2通信チャネルを通じてその後受信するパケットの処理を有効にする978。例えば、電池レベル充電率が高い場合、本発明の実施形態はより多くのデータを処理するように調整され、サーモスタットの能力と、命令および要求への応答能力とを向上させる。電池レベルのチェックおよびWiFiモジュールの調整後、エネルギー消費を節約するためサーモスタットは低電力状態に戻り、次のイベントおよび/または処理すべきデータを待つ958。図9Eにおけるデータの流れの例は、データの流れと異なる優先度のデータを送信するために複数の通信チャネルを用いるイベントを示している。この例において、サーモスタットはサーモスタット通信サーバと複数の通信チャネルの確立を開始し、それによってルータはNATテーブルに対応するエントリを作成することになる960。いくつかの実施形態において、第1通信チャネルは低優先度データタイプ用に予約され、第2通信チャネルは高優先度データ用に予約されている。エネルギーを節約するため、サーモスタットは低電力モードに移行し、次のイベントを待つ964。ある時間経過後、ロングポーリングインターバルが満了すると、サーモスタット通信サーバはNATテーブルエントリが削除される前にキープアライブパケットを送信する962。一実施形態において、サーモスタットは低電力モードから目覚め、低電池レベルを検知するとともに周辺状況を記録する。この例において、受信データパケットを処理するかどうかの判断はサーモスタットにゆだねられているため、サーモスタットはサーモスタット通信サーバに転送しない。代わりにサーモスタットは高優先度データタイプを受信するポート以外の全てのポートに対するウェイクオンLAN機能をオフする970。例えば、第1通信チャネルは低優先度データ用に予約されているため、第1通信チャネルを通じてその後受信するパケットは破棄されるであろう。その後のある時点で、図5における、サーモスタットアクセスクライアント514を実行するタブレット506のようなクライアント機器が、サーモスタットへソフトウェアアップデートをダウンロードするようサーモスタット通信サーバに要求する972。サーモスタット通信サーバはその要求を低優先度データタイプに分類し、サーモスタットの電池レベルとは無関係に第1通信チャネルを通じて送信する974。いくつかの実施形態において、サーモスタット通信サーバは異なる優先度データタイプを異なる通信チャネルに振り分け、受信パケットを破棄するか処理するかをサーモスタットに決定させる。サーモスタットはソフトウェアアップデート要求を受信するが、電池レベルが低く、また第1通信チャネルはそれが受信しうる低優先度データを無視するように設定されているため、結局はパケットを破棄する976。図10A~10Bは複数のサーモスタットでサーモスタット報告グループを生成し、報告イベントを1つの共通イベントログにまとめるための模式的なブロック図およびフローチャートを提供する。図10Aにおいて、サーモスタット報告グループ1002は、サーモスタット1004,1006,1008,1010を含む、ネットワーク内のいくつかのサーモスタットから形成されており、各サーモスタットの現在の電池レベルは電池イメージ1004A,1006A,1008A,1010Aでそれぞれ表されている。エネルギーを節約するため、イベントログ情報を他のグループメンバから受信し、ネットワークを通じて中央サーバにアップロードするための代理報告サーモスタットがサーモスタット報告グループから選択される。この例では、電池イメージ1004Aで表される電池レベルがサーモスタット報告グループ内で最高であることから、サーモスタット1004が代理報告サーモスタットとして選択されている。選択されると、サーモスタット1004はネットワーク上で他のサーモスタット1006,1008,および1010からそれぞれローカルトランスファー1012,1014,および1016を通じてログデータを収集する。これらローカルトランスファーは、各エントリについてタイムスタンプ、イベントタイプ、機器IDおよびデータコンテンツを特定する1つの共通ログ1016にまとめられる、各サーモスタットからのログデータを含んでいる。ある時間経過後、またはサーモスタット1004内のメモリ不図示が満たされると、共通ログ1016は通信チャネルを通じてクラウドベースの管理サーバ516のような中央サーバにアップロードされる。この手法は、各サーモスタットが別個にアップロードしなければならない場合よりも少ない回数でイベントログ情報を収集することを可能にする。またこの手法は、低電池レベルを有するサーモスタットが電池を節約することを可能にしながら、図5のクラウドベースの管理サーバ516のようなサーバでそのようなデータを収集ならびに解析することを可能にする。図10Bは、本発明の実施形態に従って、代理報告サーモスタットおよび共通イベントログに報告イベントを収集する動作のフローチャートである。一実施形態において、サーモスタット報告グループはネットワーク上の複数の電池駆動型サーモスタットから生成される1016。電池駆動型サーモスタットはそれぞれ別個に、サーモスタットで生じている1つ以上の動作およびイベントに対応する個々のイベントログに、イベントを記録する。場合によっては、イベントは、各サーモスタットに内蔵されている湿度センサ、温度センサ、パッシブ赤外線センサ、周辺光センサ、アクティブ近接センサや他のセンサから提供されるセンサ情報を含んでもよい。イベントログはまた、サーモスタットの現在または変更された設定を記述する情報および、それら設定が変更された時刻に関するタイムスタンプを含んでもよい。上述の通り、本発明の実施形態は他のサーモスタットを代表する代理報告サーモスタットを選択する1018。いくつかの実施形態において、代理報告サーモスタットはサーモスタット報告グループ内の他の電池駆動型サーモスタットと比較して最も高い電池レベルを有することに基づいて選択される。例えば、図10Aにおけるサーモスタット1004はグループ内で最高に充電された電池を有するため、代理報告サーモスタットとして選択される。時間とともに、代理報告サーモスタットはサーモスタット報告グループ内の各サーモスタットから記録されたイベントを収集する1020。代理報告サーモスタットは、無線アドホック接続やネットワークアクセスポイントまたはルータを通じて利用可能な無線接続を用いてサーモスタット報告グループ内の各サーモスタットからこれらのイベントを収集してよい。代理報告サーモスタットは通常、自身の記憶装置が一杯になるか、それらログに対する最大割り当てに達するまで、他のサーモスタットからデータを収集し続ける1022。例えば、サーモスタットは、アップロード処理を起動する前に複数のサーモスタットからのログ情報を保存するために500メガバイトを割り当ててよい。代理報告サーモスタット上の記憶装置が満たされると、代理報告サーモスタットの一実施形態はサーモスタットイベントを保存するためにサーモスタット管理システムへ複数の通信チャネルを確立する1024。例えば、これはプライベートネットワーク上のサーモスタットとサーモスタット管理システムとの間の、インターネットを通じた接続であってよい。次に、一実施形態は、サーモスタット報告グループ内の複数のサーモスタットを代理して、代理報告サーモスタットに収集されたイベントをサーモスタット管理システムに、通信チャネルを通じてアップロードする1026。共通イベントログ内のデータのアップロードが成功すると、本発明の実施形態は代理報告サーモスタット内の、サーモスタット報告グループから収集されたイベントの記憶領域を消去する1028。これにより、代理報告サーモスタットはさらなるイベントをイベントログに含めることができる。複数の例および実施形態を説明してきたが、それらは本発明のいかなる見地も限定するものではない。従って、本発明の精神および範囲を離れること無しに様々な変更がなされうる。実際、サーモスタット、HVACおよび他の機器の通信および動作のための方法およびシステムが提供されてきたが、これらの方法およびシステムは単なる例示を目的としたものであって、全体的な発明の範囲を限定する意味はない。本明細書で用いられるサーモスタットという用語は、HVACシステムへの直接制御線を有するサーモスタットを含むことができるが、HVACシステムへに直接的には接続されていないが、筐体内の1カ所で周辺温度を検知し、同じ筐体内の別のどこかに配置されたかつHVACシステムへの直接制御線を有する別個のサーモスタットユニットとの有線または無線データ接続を用いて協調的に通信するサーモスタットも含むことができると解すべきである。従って、本発明は上述した実施形態に限定されず、等価物を踏まえた、添付した特許請求の範囲によって規定される。"