(57)【特許請求の範囲】
【請求項１】
サーモスタットであって、
前記サーモスタットに動作電力を供給するように構成された電池と、
前記電池に接続され、スリープモードとウェイクモードで動作するように構成されたプロセッサと、
前記プロセッサに接続され、アクセスポイントを介してサーモスタット管理サーバと無線通信するように構成された無線通信モジュールと、を有し、
前記プロセッサは、前記ウェイクモードで動作している間、前記サーモスタットと前記サーモスタット管理サーバとの間の通信チャネルの確立要求を、前記無線通信モジュールを通じて前記サーモスタット管理サーバに送信するようにさらに構成され、
前記プロセッサは、前記サーモスタットと前記サーモスタット管理サーバとの間の通信チャネルの前記確立要求を送信した後、自身の動作モードを前記ウェイクモードから前記スリープモードへ変更するようにさらに構成され、
前記無線通信モジュールは、前記プロセッサが前記スリープモードで動作している間、前記通信チャネルを監視するようにさらに構成され、
前記無線通信モジュールがさらに、
前記プロセッサが前記スリープモードで動作している間、前記サーモスタット管理サーバからデータパケットを受信し、
前記受信したデータパケットの優先度を判定し、
前記受信したデータパケットを、各パケットの前記判定された優先度に基づいてフィルタリングし、
前記プロセッサの動作モードを前記スリープモードから前記ウェイクモードに変更させるために、前記フィルタリングで抽出されたデータパケットを前記プロセッサに転送する、
ように構成され、
前記各パケットの前記優先度が標準優先度かキープアライブ優先度であり、前記受信したデータパケットが、前記キープアライブ優先度のパケットが破棄され、前記標準優先度のパケットが前記プロセッサに転送されるようにフィルタリングされることを特徴とするサーモスタット。
【請求項２】
前記無線通信モジュールが、複数のポートを通じて前記アクセスポイントと通信するようにさらに構成され、前記受信したデータパケットの前記優先度が、前記受信したデータパケットが前記複数のポートのどのポートで受信されたかに基づいて判定されることを特徴とする請求項１記載のサーモスタット。
【請求項３】
前記プロセッサがさらに、
前記電池に関する充電レベル情報を受信し、
前記充電レベル情報の少なくとも一部を前記無線通信モジュールを介して前記サーモスタット管理サーバに送信する、ように構成されることを特徴とする請求項１記載のサーモスタット。
【請求項４】
サーモスタットとサーモスタット管理サーバとの間でデータを通信する方法であって、
サーモスタットのプロセッサを、ウェイクモードとスリープモードを含む前記サーモスタットの複数の動作モードから選択された、前記ウェイクモードで動作させるステップと、
前記プロセッサが前記ウェイクモードで動作している間、前記サーモスタットと前記サーモスタット管理サーバとの間の通信チャネルの確立要求を、前記サーモスタットから、前記サーモスタットに含まれて前記プロセッサに接続された無線通信モジュールを介し、アクセスポイントを通じて前記サーモスタット管理サーバへ送信するステップと、
前記サーモスタットと前記サーモスタット管理サーバとの間の通信チャネルの前記確立要求を送信した後、前記サーモスタットにおいて、前記サーモスタットの動作モードを前記ウェイクモードから前記スリープモードへ変更するステップと、
前記無線通信モジュールにより、前記プロセッサが前記スリープモードで動作している間、前記通信チャネルを監視するステップと、
を有し、
前記無線通信モジュールがさらに、
前記プロセッサが前記スリープモードで動作している間、前記サーモスタット管理サーバからデータパケットを受信し、
前記受信したデータパケットの優先度を判定し、
前記受信したデータパケットを、各パケットの前記判定された優先度に基づいてフィルタリングし、
前記プロセッサに前記プロセッサの動作モードを前記スリープモードから前記ウェイクモードに変更させるために、前記フィルタリングで抽出されたデータパケットを前記プロセッサに転送する、
ように構成され、
前記各パケットの前記優先度が標準優先度かキープアライブ優先度であり、前記受信したデータパケットが、前記キープアライブ優先度のパケットが破棄され、前記標準優先度のパケットが前記プロセッサに転送されるようにフィルタリングされることを特徴とする方法。
【請求項５】
前記プロセッサが前記スリープモードで動作している間、前記無線通信モジュールにおいて、キープアライブパケットを前記サーモスタット管理サーバから受信するステップと、
前記プロセッサが前記スリープモードで動作している間、前記無線通信モジュールから前記サーモスタット管理サーバへ、前記キープアライブパケットの返信確認応答を送信するステップと、
をさらに有することを特徴とする請求項４記載の方法。
【請求項６】
前記無線通信モジュールにおいて、前記サーモスタット管理サーバから、前記通信チャネルの切断および再確立の要求を受信するステップと、
前記サーモスタットから前記アクセスポイントを通じて前記サーモスタット管理サーバへ、前記サーモスタットと前記サーモスタット管理サーバとの間の前記通信チャネルの再確立要求を送信するステップと、
をさらに有することを特徴とする請求項４記載の方法。
【請求項７】
前記アクセスポイントが、前記サーモスタットに対してローカルなプライベートネットワークである第１のネットワーク上の前記サーモスタットのネットワークアドレスと、前記サーモスタット管理サーバを含むパブリックネットワークである第２のネットワーク上の前記アクセスポイントのネットワークアドレスとを変換するアドレス変換テーブルを保存することを特徴とする請求項４記載の方法。
【請求項８】
前記無線通信モジュールにおいて、前記アクセスポイントを介して前記サーモスタット管理サーバから伝送を受信するステップをさらに有し、
前記伝送は、前記アクセスポイントが、前記アドレス変換テーブルから前記サーモスタットに関するエントリを削除することを妨げる、
ことを特徴とする請求項７記載の方法。
【請求項９】
サーモスタット管理サーバであって、
アクセスポイントを通じてサーモスタットと通信するように構成されたネットワークインタフェースコントローラと、
前記ネットワークインタフェースコントローラを通じて前記サーモスタットと通信するように構成されたプロセッサと、
前記サーモスタットとの通信チャネルを維持するためのキープアライブ間隔の長さを記憶するように構成されたメモリと、を有し、
前記プロセッサは、前記サーモスタットと前記サーモスタット管理サーバとの間の前記通信チャネルの確立要求を前記サーモスタットから受信するようにさらに構成され、
前記プロセッサは、前記ネットワークインタフェースコントローラを通じて、前記サーモスタットと複数のキープアライブパケットを通信するようにさらに構成され、前記キープアライブパケットは前記サーモスタット管理サーバが前記サーモスタットと他の通信を行わない限り前記記憶されたキープアライブ間隔で周期的に送信され、
前記プロセッサは、
前記サーモスタットへ送信すべきデータが存在するか否かを判定し、
前記サーモスタットへ送信すべきデータが存在するとの判定に応答して、前記送信すべきデータを高優先度データと低優先度データとに優先づけし、
前記サーモスタットへ、前記送信すべきデータを通信するようにさらに構成され、
前記送信すべきデータの少なくとも一部の通信が、前記優先度に基づき、
前記プロセッサは、
前記サーモスタットの電池レベルを判定するようにさらに構成され、
前記送信すべきデータを通信することが、前記サーモスタットの前記電池レベルに関わらず前記高優先度データを通信することと、前記サーモスタットの前記電池レベルが低くない場合に前記低優先度データを送信することとを有することを特徴とするサーモスタット管理サーバ。
【請求項１０】
前記キープアライブ間隔の前記長さが、前記アクセスポイントがアドレス変換テーブル内の前記サーモスタットに関するエントリを維持することが予期される最小時間に基づくことを特徴とする請求項９記載のサーモスタット管理サーバ。
【請求項１１】
前記キープアライブ間隔の前記長さが、前記サーモスタットの電池に関する充電レベルに基づくことを特徴とする請求項９記載のサーモスタット管理サーバ。
【請求項１２】
前記キープアライブ間隔の前記長さが、約１分から約５分の間であることを特徴とする請求項９記載のサーモスタット管理サーバ。
【請求項１３】
前記複数のキープアライブパケットが、TCP/IP ACKパケットを有することを特徴とする請求項９記載のサーモスタット管理サーバ。
【請求項１４】
サーモスタット管理サーバとサーモスタットとの間でデータを通信する方法であって、
前記サーモスタット管理サーバにおいて、前記サーモスタットと前記サーモスタット管理サーバとの間の通信チャネルの確立要求を前記サーモスタットから受信するステップと、
前記サーモスタット管理サーバにおいて、キープアライブパケットが前記サーモスタット管理サーバから前記サーモスタットへ送信されねばならない時間間隔を示すキープアライブ間隔を決定するステップと、
前記サーモスタット管理サーバから前記サーモスタットへ、複数のキープアライブパケットを通信するステップと、を有し、
前記キープアライブパケットは前記サーモスタット管理サーバが前記サーモスタットと他の通信を行わない限り前記決定されたキープアライブ間隔で周期的に送信され、
前記方法は、
前記サーモスタット管理サーバにおいて、前記サーモスタット管理サーバから前記サーモスタットへ送信すべきデータが存在するか否かを判定するステップと、
前記サーモスタット管理サーバから前記サーモスタットへ送信すべきデータが存在するとの判定に応答して、前記送信すべきデータを高優先度データと低優先度データとに優先づけするステップと、
前記サーモスタット管理サーバから前記サーモスタットへ、前記送信すべきデータを通信するステップと、をさらに有し、
前記送信すべきデータの少なくとも一部の通信が、前記優先度に基づき、
前記方法は、
前記サーモスタット管理サーバにおいて、前記サーモスタットの電池レベルを判定するステップをさらに有し、
前記送信すべきデータを通信する前記ステップが、前記サーモスタットの前記電池レベルに関わらず前記高優先度データを通信するステップと、前記サーモスタットの前記電池レベルが低くない場合に前記低優先度データを送信するステップとを有することを特徴とする方法。
【請求項１５】
前記サーモスタット管理サーバにおいて、前記通信チャネルの確立を維持するための最大時間を示すロングポーリング間隔を決定するステップと、
前記サーモスタット管理サーバから前記サーモスタットへ、前記ロングポーリング間隔の間、前記複数のキープアライブパケットを通信するステップと、
をさらに有することを特徴とする請求項１４記載の方法。
【請求項１６】
前記ロングポーリング間隔が約１００分であることを特徴とする請求項１５記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は２０１１年１１月１８日にＰＣＴ国際特許出願として出願されており、米国を除く全指定国についての出願人は米国国籍企業Nest Labs. Incであり、イタリア人Andrea NUCIGNAT、米国人Oliver STEELE、米国人Senthilvasan SUPRAMANIAM、米国人Osborne B. HARDISON、および米国人Rechard J. SCHULTZは米国の指定に関してのみ出願人である。本願は２０１０年１１月１９日出願の米国仮出願第61/415,771号、２０１０年１２月３１日出願の米国仮出願第61/429,093号、および２０１１年１０月１７日出願の米国仮出願第13/275,307号の優先権主張出願であり、これらの開示内容を参照により本明細書に組み入れる。
【０００２】
本特許明細書は、暖房、換気、および空調(HVAC)システムの監視および制御のようなシステム監視および制御に関する。本特許明細書は特に、ネットワークを利用可能な電池駆動型サーモスタットを用い、電池からのエネルギー利用を節約しながらHVACを監視および制御するためのシステムおよび方法に関する。
【背景技術】
【０００３】
より新しく、よりサステナブルなエネルギー供給の開発に向けて、多くの努力や関心が注がれ続けている。エネルギー効率を向上させてエネルギーを節約することは、世界のエネルギーの将来にとって依然として極めて重大である。米国エネルギー省の２０１０年１０月のレポートによれば、典型的な米国の家庭におけるエネルギー消費の５６％が冷暖房で占められており、大部分の家庭で最大のエネルギー出費である。大幅なエネルギー効率の上昇は、住宅冷暖房に関する施設の改良（例えば、進化した断熱材、高効率炉）とともに、住宅冷暖房機器のよりよい制御および調整によって実現することができる。思慮深く選択された間隔、かつ注意深く選択された動作レベルで暖房、換気、および空調(HVAC)機器を動作させることにより、住空間を居住者にとって適切に快適な状態に維持しながら、相当なエネルギーを節約することができる。
【０００４】
社会レベルでも、各住居単位でも、居住者を快適な状態に保ちながらエネルギーを節約可能な進歩したHVAC制御能力を有する、より新しい、マイクロプロセッサ制御の「インテリジェントな」サーモスタットで既存の古いサーモスタットを交換することは多くの住居において有益であろう。これを実現するために、これらのサーモスタットは設置場所の環境ならびに居住者からより多くの情報を必要とするであろう。現在および予想される戸外の気象データを取得したり、所謂デマンドレスポンスプログラム（例えば異常気象(extreme weather)の間に電力会社(utility companies)が発しうる電力警報への自動適合）と協力したり、ユーザが自身のネットワーク接続機器（例えばスマートフォン、タブレットコンピュータ、ＰＣベースのウェブブラウザ）を通じてサーモスタットにリモートアクセスおよび／または制御することを可能にしたり、ネットワーク接続性を必要としうる他の進んだ能力を利用できるように、好ましくは、これらのサーモスタットが、ローカルエリアネットワーク（または他の「プライベートな」ネットワーク）およびインターネット（または他の「パブリック」ネットワーク）のようなワイドエリアネットワークの両方を含むコンピュータネットワークに接続する能力をも有することが好ましい。
【０００５】
インテリジェントでネットワーク接続されたサーモスタットを、多数の家庭および企業において広く、現実的に日常利用されるようにするためには、とりわけ、必要なプロビジョニング、データ管理、およびサポートを提供可能なコンピュータ、ネットワーク、ソフトウェアシステムおよび他のネットワークインフラストラクチャの配備を必要とする。インテリジェントサーモスタットと、集中的に提供される管理サーバ（「クラウドベースの」管理サーバと呼ぶこともできる）との間のデータ通信方法は、良好な応答性、堅牢性およびスケーラビリティを必要とする。しかし同時に、ネットワーク接続されたインテリジェントサーモスタットの広範な導入が商業的に実現可能であるように、用いられるハードウェアおよび方法論は、家庭や企業における既存の従来のルータおよびネットワークサービスの多くの設置基盤と互換性を有し、かつ機能できなければならない。
【０００６】
サーモスタットについての別の問題は、多くの家庭および企業においてサーモスタットが利用可能な外部電力が限られることである。本技術分野において知られているように、電子サーモスタットはHVACシステム変圧器からサーモスタットに通じる24VAC「共通」線（「Ｃ線」）を用いて直接電力を供給されてもよい。Ｃ線が設けられる場合、Ｃ線は電子サーモスタットに電力を供給するという特定の目的を有する。しかしながら、多くのHVAC装置は、サーモスタットに提供されるＣ線を有さない。そのような場合、多くの電子サーモスタットはHVACコールリレーコイルに至るHVAC制御線から電力を取る「パワースティーリング」、「パワーシェアリング」、または「パワーハーベスティング」と呼ばれる方法によって電力を抽出するように設計されている。そういったサーモスタットは、コールリレーコイルの応答閾値未満の少量の電流が自身を通じてコールリレーコイルに流れるようにして、自身の電力を、暖房または冷房システムの「オフ」または「活動していない(inactive)」期間に「盗む」「シェアする」または「収穫する」。暖房または冷房システムの「オン」または「活動している(active)」期間、サーモスタットは少しの電圧降下を許可することにより、電力を取るように設計されてよい。HVACコールリレーを誤って作動させたり作動させなかったりすることなくパワースティーリング法によって安全に供給可能な瞬時電力量は、通常、非常に限られている。これらの制限は、パワースティーリングサーモスタットに提供することのできる処理およびネットワーク通信能力についても大幅に制限しうる。
【０００７】
居住者を快適に維持しつつエネルギーを節約することの可能な、進歩したHVAC制御能力を有するマイクロプロセッサ制御のインテリジェントサーモスタットを提供することは望ましいであろう。ネットワーク接続能力のあるそのようなサーモスタットの提供はさらに望ましいであろう。プロビジョニング、データ管理、および多数のそのようなネットワーク接続可能なインテリジェントサーモスタットのサポートを促進するため、クラウドベースのサーモスタット管理インフラストラクチャを提供することもさらに望ましいであろう。そのようなインテリジェントサーモスタットがそのような進歩した処理、HVAC制御、およびネットワーク機能を実施可能であり、同時に、家庭および企業における現実的なHVAC取り付けの多くとサーモスタットが互換性を有するよう、Ｃ線または住宅壁面のコンセントを必要としないパワースティーリングによって電力供給をうけることができるようにすることがさらに望ましいであろう。クラウドベースのサーモスタット管理サーバおよびそのようなネットワーク接続サーモスタットとの間のデータ通信を容易にするためのネットワーク通信アーキテクチャ、方法論、およびプロトコルを提供することも望ましいであろう。そのようなサーモスタットおよびクラウドベースの管理サーバを、従来のルータおよびネットワークサービスの多くの設置基盤と互換性を有する方法で提供することも望ましいであろう。ここでの開示により、本技術分野に属する当業者は、他の事項も理解するであろう。
【発明の概要】
【０００８】
共通出願人による米国特許出願第13/269,501および、上述した他の組み込まれた共通出願人の出願は、１つ以上の好適な実施形態に特に好適な、進歩した、マルチセンシングかつマイクロプロセッサ制御されたインテリジェントまたは「学習型」サーモスタットの１つ以上を示している。このサーモスタットは処理能力、直感的かつ見た目の洗練されたユーザインタフェース、およびネットワーク接続性の豊かな組み合わせを提供すると同時に、内在する必須構成であるサーモスタットハードウェアがパワースティーリングによって安全に提供可能な瞬時電力を超える電力を必要としても、Ｃ線（またはコンセントのような家庭の110V電源からの有線電力）を必要としない。説明するサーモスタットはこれらの目標を、少なくとも、ハードウェアの消費電力がパワースティーリングで安全に提供可能な電力を下回る期間に蓄電し、ハードウェアの消費電力がパワースティーリングで安全に提供可能な電力を上回る期間に必要な追加の電力を提供するために放電する充電池（または同等のオンボード電力ストレージ媒体）を利用を通じて達成する。ここで開示される１つ以上の実施形態により、HVACシステムに好適かつ適切なタイミングでの制御を行うためのサーモスタットとクラウドベースの管理との間のタイムリーなデータ転送を実現しながら、サーモスタットとクラウドベースの管理サーバとの間のネットワーク通信を、電力消費の低減と充電池の長寿命化を促進するような方法で手助けする方法、システムおよび関連するアーキテクチャが提供される。
【０００９】
好適な一実施形態によれば、サーモスタットは、自身の充電池の充電レベル（「電池レベル」）を検出するための回路と、少なくとも１つの「スリープ」モード（低めの電力）および少なくとも１つの「ウェイク」モード（高めの電力）を含む複数の異なる電力消費モードを有するマイクロプロセッサと、Wi-Fiチップのような無線通信モジュールを含む。無線通信モジュールは、サーモスタットが設置される家庭、企業または他の構成（「筐体」）にサービスを提供するローカルエリアネットワーク（「プライベートネットワーク」）に関連付けられた、統合ルータと通信する。統合ルータはネットワークアドレス変換(NAT)機能を含み、筐体のプライベートネットワークとインターネットのような外部パブリックネットワーク上の外部機器との間のデータ接続を手助けする。インターネットのパブリックアクセスを有するクラウドベースの管理サーバ（「クラウドサーバ」）は、サーモスタットの無線通信モジュールへデータパケットを送信するとともに、無線通信モジュールから送信されたデータパケットを受信するように構成およびプログラムされる。無線通信モジュールは、サーモスタットマイクロプロセッサから受信したデータパケットを、クラウドサーバに配信するために統合ルータへ転送するようにプログラムされかつ構成される。無線通信モジュールはさらに、クラウドサーバから送信されたデータパケットを統合ルータから受信するとともに、受信したデータパケットを、クラウドサーバがデータパケットに割り当てている優先度に基づいて選択的にマイクロプロセッサに転送するようにプログラムされかつ構成される。一実施形態について、受信データパケットには標準優先度とキープアライブ優先度を含む２つの優先度のうちの１つが割り当てられている。標準優先度パケットはマイクロプロセッサに転送される。キープアライブ優先度パケットは廃棄される。マイクロプロセッサがスリープモードであれば、無線通信チップからマイクロプロセッサへの標準優先度パケットの転送が、マイクロプロセッサをウェイクモードに移行させる。ウェイクモードの間、マイクロプロセッサは必要に応じてコネクションをオープンおよびクローズしながら、クラウドサーバからの標準優先度を有する関連パケットを用い、必要に応じて無線通信モジュールを通じてクラウドサーバと通信することができる。これらの通信には、サーモスタットからクラウドサーバへの、サーモスタットの現電池レベルの継続的な通知(ongoing notifications)が含まれている。クラウドサーバはサーモスタットから受信した最新の電池レベルを記録する。他の通信目的で確立されたオープンコネクションがない場合、マイクロプロセッサは無線通信モジュールにコネクションオープニングロングポーリングパケットをクラウドサーバに送信させ、３０〜６０分と言った比較的長いロングポーリング間隔についてコネクションをオープン状態に保つ。必要なアクティビティがない場合、サーモスタットマイクロプロセッサはその後ロングポーリング間隔の間スリープモードに移行してもよい。（マイクロプロセッサスリープ期間に対応しうる）サーモスタットからの音信がない期間、クラウドサーバは、例えばブラウザまたはスマートフォンユーザインタフェースからのリモートユーザコマンド、外部通知または公共事業会社からのデマンドレスポンス要求、スケジュールされたソフトウェア更新など、サーモスタットに対して通信を潜在的に要求する１つ以上のイベントを処理してもよい。好適な一実施形態によれば、クラウドサーバは、潜在的に通信を開始させうるイベントの各々を、複数の温度調節重要度クラスの１つに分類し、対応する標準優先度の（従ってマイクロプロセッサをウェイクモードとする）通信をサーモスタットと行う(instantiate)かどうかを(i)サーモスタットの最新電池レベルおよび(ii)温度調節重要度クラスに基づいて判定するように構成されかつプログラムされる。最新電池レベルが高いか問題のないレベルであれば、標準優先度の通信が全てのイベントについて実施され、最新電池レベルが低いか問題のあるレベルであれば、標準優先度の通信は高い温度調節重要度クラスのイベントだけについて実施される。最後に、クラウドサーバは、送信すべき標準優先度パケットがない場合には、１〜５分ごとのような予め定められたキープアライブ間隔でキープアライブパケットを無線通信モジュールに送信するように構成されかつプログラムされる。ある簡単な例では、無線通信モジュールが廃棄するようにプログラムされている単なる「ACK」パケットがクラウドサーバからキープアライブ優先度パケットとして送信され、一方でクラウドサーガからの他の全てのパケットは標準優先度パケットと見なされて無線通信モジュールからサーモスタットマイクロプロセッサに転送される。しかしながら、「キープアライブ優先度パケット」がTCP「ACK」パケットに限定されるものと解されるべきではなく、ルータを通過し、Wi-Fiチップに到達し、Wi-Fiチップにマイクロプロセッサを目覚めさせないメッセージと解釈されるいかなるタイプのメッセージをも含みうることを理解すべきである。簡単な例において、セットポイント温度変更コマンドがユーザのスマートフォンリモコンを通じてユーザから受信されたイベントは、クラウドサーバによって「高い」温度調節重要性を有するものとして分類され、その結果クラウドサーバは、マイクロプロセッサを目覚めさせる標準優先度メッセージをロングポーリング間隔中に、電池レベルとは無関係に送信させるであろう。そして、そのメッセージはマイクロプロセッサを目覚めさせ、マイクロプロセッサにセットポイント温度を変更するように命令するであろう。対照的に、スケジュールされた周期的なソフトウェア更新イベントはクラウドサーバに「低い」温度調節重要性として分類されるであろう。その結果、最新電池レベルが低いか問題のあるレベルであれば、クラウドサーバはサーモスタットへの対応する標準優先度データ通信を送信せず、スリープしているマイクロプロセッサをスリープしたままとして、電池が再度許容レベルまで充電されるチャンスを広げるであろう。都合の良いことに、全てのコネクションは上述したロングポーリングの機能を利用してプライベートネットワーク内から実施されるため、少なくとも上述したロングポーリング態様のおかげで、上述した電池コンシャスな節電手法はプライベートネットワークの統合ルータに内蔵されたセキュリティファイアウォール機能と互換性を有する。同時に、上述したキープアライブパケット少なくとも用いることにより、上述した電池コンシャスな節電手法は、ロングポーリング間隔が満了する前に関連するトラフィックがない場合にNATテーブルエントリをシャットダウンすることが多い、多くの共通ルータのネットワークアドレス変換(NAT)テーブル感度と互換性を有する。同時に、説明した手法は、電池コンシャスかつ、電池容量が少ない場合には、処理が必要な温度調節重要イベントが無い限り、スリープ状態のサーモスタットマイクロプロセッサがクラウドサーバに目覚めさせられないようにして電池を保持するものである。ここでさらに説明する別の好ましい実施形態によれば、２つより多くの温度調節重要度クラスがクラウドサーバによって割り当てられ、通信パケットを送信するとのクラウドサーバの決定において２つより多くの異なる電池レベルが考慮され、また２つより多くのパケット優先度がクラウドサーバによって割り当てられる。さらなる好ましい実施形態によれば、異なる重要度を表すために、送信されるパケット上の異なるポート番号を用いるなどすることにより、より多くの異なるレベルのイベント又はパケット重要性が無線通信モジュールからマイクロプロセッサに通信されてよい。
【００１０】
本発明のいくつかの見地は、一部が充電池のような電池で駆動されるサーモスタットのネットワークと通信するためのネットワークシステムおよび関連するアーキテクチャである。本発明の一見地において、サーモスタット通信サーバは電池駆動のサーモスタットとネットワークを通じて通信する。インターネットのようなパブリックネットワークを用い、サーモスタットはサーモスタット通信サーバと確立した通信チャネルを通じて電池レベルを提供する。サーモスタット通信サーバは、サーモスタットに何のデータを送信すべきかを決定するため、サーバの記憶エリアに電池レベルを保存する。さらに、サーモスタット通信サーバは、低優先度データタイプから高優先度データタイプまでのデータ優先度に従い、通信チャネルを通じてサーモスタットに送信すべき１つ以上のデータタイプを分類する。低優先度データタイプはサーモスタット通信サーバおよびサーモスタットの動作に余り重要でないデータを含み、高優先度データタイプはずっと重要なデータを含む。サーモスタットが用いる電池に関する電池レベルが低電池レベルであれば、サーモスタット通信サーバは高優先度データタイプに分類されたデータだけを通信チャネルを通じてサーモスタットに送信してよい。これによってサーモスタットが消費する電力を節約し、サーモスタット上の電池に充電や他の機能の実行するための時間を与えることができる。しかし、サーモスタットの電池レベルが高レベルであると判定されれば、サーモスタット通信サーバは低優先度タイプから高優先度データタイプに分類されたデータを通信チャネルを通じてサーモスタットに送信してよい。
【００１１】
本発明の別の見地において、通信チャネルはサーモスタット通信サーバについてインターネットに登録されたパブリックネットワークアドレスとプライベートネットワーク上のサーモスタットについてルータのネットワークアドレス変換(NAT)テーブルを通じて提供されるパブリックネットワークアドレスとを用いて確立される。通信チャネルを利用可能に保つため、サーモスタット通信サーバは、サーモスタット通信サーバから通信チャネルを通じてサーモスタットへ、ルータのNATタイムアウト期間を超えない最大の時間間隔でキープアライブパケットを送信する、TCPオーバIPのようなネットワーク通信プロトコルを用いてロングポーリング間隔を設定する。
【００１２】
本発明のさらに別の見地において、サーモスタット通信サーバは、異なるデータ優先度タイプをサーモスタットに送信するために複数の通信チャネルを用いる。一実施形態において、サーモスタット通信サーバは、サーモスタット通信サーバとサーモスタットとの間に複数の通信チャネルを確立するための要求をサーモスタットから受信する。さらに、サーモスタット通信サーバは、低優先度データタイプから高優先度データタイプまでのデータ優先度に従い、サーモスタットに送信すべき１つ以上のデータタイプを分類する。サーモスタット通信サーバは低優先度データタイプに分類されたデータを低優先度データタイプに関連付けられた第１ネットワーク通信チャネルを通じて送信し、高優先度データタイプに分類されたデータを高優先度データタイプに関連付けられた第２ネットワーク通信チャネルを通じて送信する。
【００１３】
本発明の別の見地において、サーモスタットは、低優先度データタイプに分類された受信データ用にサーモスタット上の第１通信チャネルを予約するとともに、高優先度データタイプに分類された受信データ用にサーモスタット上の第２通信チャネルを予約する。サーモスタットは第１通信チャネルおよび第２通信チャネルを通じてサーモスタット通信サーバから受信したデータを処理し、サーモスタットに付随する電池の電池レベルが低電池レベル以下かどうかを判定する。電池レベルが低電池レベル以下の場合、サーモスタットは、第２通信チャネルを通じてその後受信する、高優先度データタイプに分類されたデータの処理を有効としつつ、第１通信チャネルを通じてその後受信する、低優先度データタイプに分類されたデータを廃棄するように自身を設定する。電池レベルが低電池レベルより高い場合、サーモスタットは、第１通信チャネルを通じてその後受信する、低優先度データタイプに分類されたデータの処理と、第２通信チャネルを通じてその後受信する、高優先度データタイプに分類されたデータの処理をいずれも有効とするように自身を設定する。
【００１４】
本発明の別の見地は、ネットワーク上の複数のサーモスタットからサーモスタットイベントを収集し、中央サーバに保存するための代理報告サーモスタットの利用を含む。代理報告サーモスタットは電池駆動される複数のサーモスタットから構成されるサーモスタット報告グループの一部である。いくつかの実施形態では、サーモスタット報告グループから最高電池レベルチャージを有するサーモスタットが代理報告サーモスタットに選択される。グループ内の各サーモスタットは自身のイベントを、各サーモスタットでの動作および発生するイベントに対応するログに記録する。各サーモスタットによって記録されたこれらイベントはネットワークを通じて送信され、収集され、代理報告サーモスタットに関連付けられた記憶エリアに保存される。各イベントに含まれるサーモスタット識別子は、各イベントがどのサーモスタットで発生したかを示す。所定時間後、もしくは記憶エリアが一杯になると、代理報告サーモスタットはイベントをサーモスタット報告グループから中央サーバにアップロードする。コネクションが未確立であれば、代理報告サーモスタットは一般的にインターネット上に存在する中央サーバとの通信チャネルを確立する。代理報告サーモスタットに関連付けられた記憶エリアに収集されたイベントがアップロードされると、グループからの新たなイベントを保存できるよう、代理報告サーモスタット上の記憶エリアを消去することができる。
【図面の簡単な説明】
【００１５】
【図１】１以上の環境条件の制御に、本発明の実施形態に従って実施されたサーモスタットを用いる例示的な筐体を示す図である。
【図２】本発明の実施形態に従って設計されたサーモスタットを用いて制御されるHVACシステムの模式図である。
【図３Ａ】本発明の実施形態に従って設計されたサーモスタットの前向きの面および表示を示す図である。
【図３Ｂ】本発明の実施形態に従って設計されたサーモスタットの前向きの面および表示を示す図である。
【図４Ａ】本発明の実施形態に従って設計されたサーモスタットを操作するユーザの手を示す図である。
【図４Ｂ】本発明の実施形態に従って設計されたサーモスタットを操作するユーザの手を示す図である。
【図５】本発明の実施形態に従って実施されたサーモスタット管理システムに接続されたプライベートネットワーク上のサーモスタットおよびコンピュータを示す図である。
【図６Ａ】本発明の実施形態に従って、データに割り当てられたデータ優先度およびサーモスタット上の電池レベルを用いて通信を制御するサーモスタット通信サーバを示す図である。
【図６Ｂ】本発明の実施形態に従って、データに割り当てられたデータ優先度およびサーモスタット上の電池レベルを用いて通信を制御するサーモスタット通信サーバを示す図である。
【図７】本発明の実施形態に従って、エネルギーの節約とサーモスタットの高性能動作の促進とを両立させる、サーモスタット管理システムのサーモスタット通信サーバ部分を示す図である。
【図８Ａ】本発明の実施形態に従って、電池エネルギーの節約およびサーモスタットの性能進展を両立させながら電池駆動型サーモスタットと通信するために、サーモスタット通信サーバが行う動作のフローチャートである。
【図８Ｂ】本発明の実施形態に従って、サーモスタットの電池レベルおよびデータに関連付けられたデータ優先度タイプに基づいてサーモスタット通信サーバがデータを送信する際のデータの流れおよびイベントを示す、データの流れ図である。
【図９Ａ】本発明の実施形態に係る、異なるデータ優先度タイプに分類されたデータを受信するために複数の通信チャネルを用いる模式的な電池駆動型サーモスタットと通信システムとを示す図である。
【図９Ｂ】本発明の実施形態に係る、異なるデータ優先度タイプに分類されたデータを受信するために複数の通信チャネルを用いる模式的な電池駆動型サーモスタットと通信システムとを示す図である。
【図９Ｃ】本発明の実施形態に従って、複数の通信チャネルを通じて通信するためにサーモスタット通信サーバが行う動作のフローチャートである。
【図９Ｄ】本発明の実施形態に従って、複数の通信チャネルを通じて通信するためにサーモスタットが行う動作のフローチャートである。
【図９Ｅ】本発明の実施形態に従って異なるデータ優先度タイプを送信する複数の通信チャネルを用いる、データおよびイベントの流れを示す例示的なデータの流れ図である。
【図１０Ａ】本発明の実施形態に係る、共通イベントログにイベントを収集する複数のサーモスタットを有する報告グループについての模式的なブロック図およびフローチャートである。
【図１０Ｂ】本発明の実施形態に係る、共通イベントログにイベントを収集する複数のサーモスタットを有する報告グループについての模式的なブロック図およびフローチャートである。
【発明を実施するための形態】
【００１６】
以下の詳細な説明においては、説明を目的として、本発明の様々な実施形態の完全な理解を提供するために多くの具体的な詳細が説明される。本技術分野に属する当業者は、本発明のこれら様々な実施形態が、例示のみを目的としたものであって、多少なりとも限定する意図が存在しないことを理解するであろう。ここでの開示の利益を享受する当業者は、本発明の他の実施形態に容易に到達するであろう。
【００１７】
さらに、明瞭さを目的として、ここで説明される実施形態の所定の機能については必ずしも全てが図示または説明されてはいない。本技術分野に属する当業者は、本当の実施時には、特定の設計目標を達成するために実施固有の多数の決定が必要となりうることを容易に理解するであろう。これら設計目標は実施形態ごとに、また開発者ごとに異なりうる。さらに、そういった開発努力は複雑かつ時間を要しうるものであるが、本開示の利益を享受する当業者にとってはありふれた作業であることが理解されよう。
【００１８】
１つ以上の実施形態は、例えば一戸建て住宅のような住居で使用される典型的なHVACシステムに関して説明されるが、本教示の範囲はそのように限定されるものではないことを理解されたい。より一般的には、１つ以上の好適な実施形態に係るサーモスタットは、１つ以上のHVACシステムを有する広範な筐体(enclosure)に適用可能であり、そのような筐体の非限定的な例には、２世帯住宅(duplexs)、タウンハウス(townhomes)、集合住宅、ホテル、小売店、オフィスビル、および工業用建物が含まれる。さらに、ここで説明する１つ以上のシナリオの文脈上、ユーザ、顧客、設置者(installer)、住宅所有者、占有者、ゲスト、テナント、家主、修理人などの単語が、サーモスタット、他の機器またはユーザインタフェースを対話的に操作する１人以上の人物を言及するために用いられるかもしれないが、それらの参照は、本教示の範囲が、そのような動作を実行している１人以上の人物に限定されるものとは決して解されてはならない。
【００１９】
本特許明細書の主題は、本出願人による以下の出願の主題に関連するものであり、これら出願の各々は参照により本明細書に組み込まれる。米国特許出願第12/881,430号（2010年9月14日出願）；米国特許出願第12/881,463号（2010年9月14日出願）;米国特許仮出願61/415,771号（2010年11月19日出願）;米国特許仮出願61/429,093号（2010年12月31日出願）;米国特許出願第12/984,602号（2011年１月4日出願）;米国特許出願第12/987,257号（2011年１月10日出願）;米国特許出願第13/033,573号（2011年2月23日出願）;米国特許出願第29/386,021号（2011年2月23日出願）;米国特許出願第13/034,666号（2011年2月24日出願）;米国特許出願第13/034,674号（2011年2月24日出願）;米国特許出願第13/034,678号（2011年2月24日出願）;米国特許出願第13/038,191号（2011年3月1日出願）;米国特許出願第13/038,206号（2011年3月1日出願）;米国特許出願第29/399,609号（2011年8月16日出願）;米国特許出願第29/399,614号（2011年8月16日出願）;米国特許出願第29/399,617号（2011年8月16日出願）;米国特許出願第29/399,618号（2011年8月16日出願）;米国特許出願第29/399,621号（2011年8月16日出願）;米国特許出願第29/399,623号（2011年8月16日出願）;米国特許出願第29/399,625号（2011年8月16日出願）;米国特許出願第29/399,627号（2011年8月16日出願）;米国特許出願第29/399,630号（2011年8月16日出願）;米国特許出願第29/399,632号（2011年8月16日出願）;米国特許出願第29/399,633号（2011年8月16日出願）;米国特許出願第29/399,636号（2011年8月16日出願）;米国特許出願第29/399,637号（2011年8月16日出願）;米国特許出願第13/199,108号（2011年8月17日出願）;米国特許出願第13/267,871号（2011年10月6日出願）;米国特許出願第13/267,877号（2011年10月6日出願）;米国特許出願第13/269,501号（2011年10月7日出願）;米国特許出願第29/404,096号（2011年10月14日出願）;米国特許出願第29/404,097号（2011年10月14日出願）;米国特許出願第29/404,098号（2011年10月14日出願）;米国特許出願第29/404,099号（2011年10月14日出願）;米国特許出願第29/404,101号（2011年10月14日出願）;米国特許出願第29/404,103号（2011年10月14日出願）;米国特許出願第29/404,104号（2011年10月14日出願）;米国特許出願第29/404,105号（2011年10月14日出願）;米国特許出願第13/275,307号（2011年10月17日出願）;米国特許出願第13/275,311号（2011年10月17日出願）;米国特許出願第13/317,423号（2011年10月17日出願）;米国特許出願第13/279,151号（2011年10月21日出願）;米国特許出願第13/317,557号（2011年10月21日出願）;および米国特許仮出願61/627,996号（2011年10月21日出願）。
【００２０】
図１は、１以上の環境条件の制御に、本発明の実施形態に従って実施されたサーモスタット１１０を用いる例示的な筐体を示す図である。例えば、筐体１００は、HVACシステム１２０が提供する暖房および冷房の制御に学習型サーモスタット１１０（便宜上「サーモスタット１１０」とも呼ぶ）を用いている一戸建て住宅タイプの筐体を示している。本発明の代替実施形態は、２世帯住宅、集合住宅内の１区画、オフィスや小売店といった小規模商業建築物、またはこれらと他のタイプの筐体との組み合わせからなる建築物または筐体を含む、他のタイプの筐体にも適用されてよい。
【００２１】
図１におけるサーモスタット１１０の一部の実施形態は、筐体１００に関する環境からデータを収集するための１つまたは複数のセンサを内蔵している。サーモスタット１１０に内蔵されるセンサは、占有状態(occupancy)、温度、明るさおよび他の環境条件を検出し、HVACシステム１２０の制御および動作に影響を与えてもよい。サーモスタット１１０に内蔵されるセンサはサーモスタット１１０から突き出ることはなく、それによって住宅又は他の筐体内の占有者に気付かれることのない、スタイリッシュかつ洗練されたデザインを提供する。そのため、サーモスタット１１０はインテリアデザインの全体的な見栄えを向上させつつ、ほとんどの装飾と容易にフィットする。
【００２２】
本明細書において「学習型」サーモスタットとは、少なくとも１つの自動的に検知されるイベントおよび／または少なくとも１つの過去又は現在のユーザ入力に基づいて、暖房および／または冷房スケジュールにおける１つ以上の将来の設定値を自動的に確立および／または変更する能力を有する、１つのサーモスタットまたはマルチサーモスタットネットワーク内の複数の通信サーモスタットの１つを意味する。本明細書において「主」サーモスタットとは、HVACシステムに通じるHVAC制御線（例えばＷ，Ｇ，Ｙなど）への電気接続などにより、HVACシステムの全部または一部を作動させるために電気的に接続されているサーモスタットを意味する。本明細書において「補助」サーモスタットとは、HVACシステムに電気的に接続されてはいないが、少なくとも１つのセンサを有し、主サーモスタットとのデータ通信により、主サーモスタットによるHVACシステムの制御に影響を与えたり制御を助けたりするサーモスタットを意味する。ある特定の有用なシナリオにおいて、サーモスタット１１０は主学習型サーモスタットであり、壁に取り付けられるとともにHVAC制御線の全てに接続されている。一方、リモートサーモスタット１１２は補助学習型サーモスタットであり、寝室用照明またはドレッサーに配置されている。補助学習型サーモスタットの外観およびユーザインタフェースの機能は主学習型サーモスタットと同様であり、補助学習型サーモスタットはさらに、主学習型サーモスタットと同様の検知能力（例えば温度、湿度、動き、周辺光、近接）を有するが、HVAC制御線のどれにも接続されていない。HVAC制御線には接続されていないが、補助学習型サーモスタットは、筐体内の設置位置で追加温度データを提供したり、占有者情報を提供したり、ユーザに追加のユーザインタフェースを提供したりといったように、HVACシステムの制御を向上させるために主学習型サーモスタットと無線通信したり強力したりする。
【００２３】
サーモスタット１１０が主学習型サーモスタットでありリモートサーモスタット１１２が補助学習型サーモスタットである所定の実施形態は特に有利ではあるが、本教示の範囲はそのような形態に限定されないことを理解すべきである。従って、例えば、ネットワーク接続サーモスタットとオンラインユーザアカウントとを自動的に組にするか関連付ける、ある初期プロビジョニング方法は、サーモスタットが主学習型サーモスタットである場合に特に有利であるが、主非学習型サーモスタット、補助学習型サーモスタット、補助非学習型サーモスタット、または他のタイプのネットワーク接続サーモスタットおよび／またはネットワーク接続センサを用いるシナリオに対してより広範に適用可能である。さらなる例として、サーモスタットを遠隔制御するための所定のグラフィカルユーザインタフェースは、サーモスタットが主学習型サーモスタットである場合に特に有利であるかもしれないが、主非学習型サーモスタット、補助学習型サーモスタット、補助非学習型サーモスタット、または他のタイプのネットワーク接続サーモスタットおよび／またはネットワーク接続センサを用いるシナリオに対してより広範に適用可能である。さらに別の例として、クラウドベースのリモート管理サーバによる、協調的な電池を節約する情報ポーリングのための所定の方法は、サーモスタットが主学習型サーモスタットである場合に特に有利かもしれないが、主非学習型サーモスタット、補助学習型サーモスタット、補助非学習型サーモスタット、または他のタイプのネットワーク接続サーモスタットおよび／またはネットワーク接続センサを用いるシナリオに対してより広範に適用可能である。
【００２４】
筐体１００はさらに、無線によっても有線接続によってアクセス可能なプライベートネットワーク（ローカルエリアネットワークまたはLANと呼ばれてもよい）を含んでいる。プライベートネットワーク上のネットワーク機器は、コンピュータ１２４と、本発明の一部の実施形態に係るサーモスタット１１０、およびリモートサーモスタット１１２を含んでいる。一実施形態において、プライベートネットワークは、ルーティング、無線アクセスポイント機能、ファイアウォールおよびコンピュータ１２４のような様々な有線ネットワーク機器を接続するための複数の有線コネクションポートを提供する統合ルータ１２２を用いて実装されている。各機器は統合ルータ１２２から、DHCP(Dynamic Hopt Configuration Protocol)のようなサービスを通じて動的に、またはネットワーク管理者の作業を通じて静的に、プライベートネットワークアドレスが割り当てられる。これらプライベートネットワークアドレスは、機器がLANを通じて互いに直接通信できるようにするために用いることができる。他の実施形態では代わりに、統合ルータ１２２が提供する機能に加え、さらに別のネットワーク機能を実行するため、複数の独立したスイッチ、ルータおよび他の機器（不図示）を用いてよい。
【００２５】
統合ルータ１２２はさらに、筐体１００が一般的にはケーブルモデム、DSLモデムおよびインターネットサービスプロバイダまたは他のパブリックネットワークサービスのプロバイダを通じた、インターネットのようなパブリックネットワークへのコネクションを有していれば、ネットワーク機器に対してパブリックネットワークへのアクセスを提供する。インターネットのようなパブリックネットワークは、ワイドエリアネットワークまたはWANと呼ばれることもある。インターネットの場合、インターネット上の他の機器によって直接アドレス指定されることが許された特定の機器に対してパブリックアドレスが割り当てられる。これらインターネット上のパブリックアドレスは量が限られているため、プライベートネットワーク上の機器およびコンピュータは、ネットワークアドレス変換(NAT)テーブル内の複数のエントリを通じて１つのパブリックアドレスを共有するために統合ルータ１２２のようなルータ機器を用いることが多い。ルータは、プライベートネットワーク上の機器と、インターネット上の機器、サーバ、またはサービスとの間でオープンされた通信チャネルの各々に対し、NATテーブル内にエントリを作る。プライベートネットワーク上の機器から送信されたパケットは最初、送信機器のプライベートネットワークアドレスを含んだ「ソース」アドレスと、インターネット上のサーバ又はサービスのパブリックネットワークアドレスに対応する「デスティネーション」アドレスとを有している。パケットがプライベートネットワークの内部からルータを通過する際、ルータは「ソース」アドレスを、ルータのパブリックネットワークアドレスとNATテーブル内のエントリを参照する「ソースポート」に置き換える。このパケットを受信するインターネット上のサーバは、プライベートネットワーク上のルータにパケットを送り返すために「ソース」アドレスおよび「ソースポート」を用い、ルータは対応する参照をNATテーブル内のエントリで行い、プライベートネットワーク上の適切な機器にパケットを転送する。
【００２６】
NATテーブル内のエントリにより、コンピュータ機器１２４およびサーモスタット１１０の両方が、インターネットのようなパブリックネットワーク上に配置されたサーモスタット管理システム（不図示）と個別の通信チャネルを確立することを可能にする。いくつかの実施形態によれば、サーモスタット管理システム上のサーモスタット管理アカウントが、筐体１００内のコンピュータ機器１２４がサーモスタット１１０にリモートアクセスすることを可能にする。サーモスタット管理システムはサーモスタット管理アカウントがサーモスタット１１０に関連付けされているか、サーモスタット１１０と組にされていれば、コンピュータ機器１２４からの情報をインターネットを通じてサーモスタット１１０へ渡す。従って、サーモスタット１１０で収集されたデータもまた、筐体１００に関連付けられたプライベートネットワークから統合ルータ１２２を通り、パブリックネットワークを通じてサーモスタット管理システムに到達する。スマートフォン、ラップトップコンピュータおよびタブレットコンピュータのような、筐体１００内に存在しない他のコンピュータ機器（図１に不図示）もまた、サーモスタット管理システムにアクセス可能であり、サーモスタット管理アカウントへアクセスされてよいなら、サーモスタット１１０を制御することができる。本発明の実施形態に係る、インターネットのようなパブリックネットワークのアクセスおよびサーモスタット１１０のようなサーモスタットへのリモートアクセスのさらなる詳細については、以下でより詳細に説明する。
【００２７】
いくつかの実施形態において、サーモスタット１１０はリモートサーモスタット１１２とプライベートネットワークまたはリモートサーモスタット１１２が直接形成するアドホックネットワークを通じて無線通信することができる。リモートサーモスタット１１２との通信中、サーモスタット１１０はユーザからおよびリモートサーモスタット１１２によって検出された環境から遠隔的に情報を収集することができる。例えば、リモートサーモスタット１１２は、リモートサーモスタット１１２から離れた位置からのユーザ入力を提供するサーモスタット１１０と無線通信したり、ユーザに情報を表示するために用いられたり、その両方のために用いられたりしてよい。サーモスタット１１０と同様に、リモートサーモスタット１１２の実施形態も、占有者、温度、明るさおよび他の環境条件に関するデータを収集するためのセンサを含むことができる。代替実施形態において、リモートサーモスタット１１２は筐体１００の外に配置されてもよい。
【００２８】
図２は、本発明の実施形態に従って設計されたサーモスタットを用いて制御されるHVACシステムの模式図である。HVACシステム１２０は、図１に示すような一戸建て住宅のような筐体１００に、暖房、冷房、換気、および／または空気処理を提供する。他の実施形態では放射熱ベースのシステム、ヒートポンプベースのシステムなど、他のタイプのHVACシステムを用いてもよいが、システム１２０は強制空気タイプの暖房および冷房システムを示している。
【００２９】
暖房時、エアハンドラ２４０内部の加熱コイルまたは素子２４２はライン２３６からの電気又はガスを用いる熱源を提供する。ファン２３８を用いてリターンエアダクト２４６およびフィルタ２７０を通じて筐体から引き込まれた冷気は、加熱コイル又は素子２４２を通じて加熱される。加熱された空気流は、供給エアダクトシステム２５２およびレジスタ２５０のような供給エアレジスタを通じて１つ又は複数の場所で筐体内に戻る。冷房時、戸外コンプレッサー２３０がフレオンのようなガスを冷却するため、熱交換器コイル群２４４を通過させる。ガスはライン２３２を通じてエアハンドラ２４０内の冷却コイル２３４に達し、そこで膨張して冷たくなり、ファン２３８によって循環させられている空気を冷却する。様々な実施形態において、空気がダクトシステム２５２を通過する前に空気に水分を戻す加湿器２５４が、必要に応じて用いられてよい。図２には示していないが、HVACシステム１２０の代替実施形態は、戸外との間で換気する機能や、ダクトシステム２５２内部の気流を制御するための１つ又は複数のダンパーや、緊急加熱ユニットのような他の機能を有してもよい。HVACシステム１２０の全体動作は、制御線２４８を通じてサーモスタット１１０と通信する制御電気回路２１２によって選択的に作動させられる。
【００３０】
図３Ａ〜３Ｂは、本発明の実施形態に従って設計されたサーモスタットを示している。サーモスタット１１０の内部には、サーモスタット１１０を図１および図２に示すHVACシステム１２０のようなHVACシステムに電気的に接続する制御回路がある。サーモスタット１１０内部の１つまたは複数のマイクロプロセッサ（不図示）は、HVACシステム１２０の動作および制御に関連する情報を処理するための、バックプレート３１４内のバックプレートプロセッサを含み、様々な計算を実行するために利用可能である。サーモスタット１１０のヘッドユニット３１２部分のディスプレイおよびユーザインタフェース部分とネットワークプロトコルとを制御するために、別の、ヘッドユニットプロセッサ（不図示）を用いてもよい。LANおよびパブリックネットワークまたは、インターネットのようなワイドエリアネットワーク(WAN)を通じた無線通信を可能とするために、サーモスタット１１０の内部にはネットワークインタフェースコントローラまたはNIC（不図示）が設けられている。
【００３１】
図示した実施形態において、サーモスタット１１０は、カバー３０４およびグリル部材３０８を含む、前に向いた面を有する筐体３１６に内蔵されている。グリル部材３０８は、サーモスタットの筐体３１６内に配置されたセンサの統合および動作を容易にしつつ、サーモスタット１１０のスタイリッシュで、シンプルで、整頓されかつ洗練されたデザインに合うようにデザインされている。特に、いくつかの好ましい実施形態に係るサーモスタットには、グリル部材３０８の裏にパッシブ赤外線(PIR)方式の占有状態センサおよび温度センサが設けられる。追加センサはさらに、環境光センサ（不図示）および、カバー３０４のすぐ裏の、サーモスタットの最上部付近に配置されるアクティブ近接センサ（不図示）を含んでもよい。筐体３１６のいくつかの実施形態は、バックプレート３１４およびヘッドユニット３１２を含む。筐体３１６は、サーモスタット１１０に用いられ、かつ含まれる１つまたは複数の内蔵センサに、魅力的かつ耐久性のある構造を提供する。
【００３２】
カバー３０４の周辺領域３１０が塗装または曇った仕上げにより不透明されてよいのに対し、カバー３０４の中央表示領域３０６にはサーモスタットの動作に関する情報の表示が可能である。例えば、中央表示領域３０６は図３Ａに７５度を示す数字「７５」によって示されるように、現在の温度を表示するために用いられてよい。中央表示領域３０６はまた、筐体１００内で利用可能な無線ネットワークを表示したり、無線ネットワークの１つを選択、アクセス、および利用するためにサーモスタット１１０を設定するためのユーザインタフェースを提示したりするために用いられてもよい。
【００３３】
サーモスタット１１０のいくつかの実施形態は円形で、ユーザ入力を受け付けるための周縁リング３０２を有している。サーモスタット１１０の側面図である図３Ｂでは、周縁リング３０２の対応する表面部分とマッチする、湾曲した球状のカバー３０４および、外側に向かって緩やかに弧を描くグリル部材３０８をさらに強調している。いくつかの実施形態において、カバー３０４の曲率は中央表示領域３０６に表示されている情報を拡大するようにされてよく、それによってユーザが情報を読みやすくなる。サーモスタット１１０の形状は壁に設置された際に視覚的に魅力的なアクセントを与えるだけでなく、ユーザが手で触れて調整するのに自然な形状を提供する。従って、サーモスタット１１０の直径は、約80mmか、手に馴染む他の直径とすることができる。様々な実施形態において、回転する外縁リング３０２は、新たな目標温度の選択などの調整をユーザが行うことを可能にする。例えば、目標温度が、外縁リング３０２を時計回りに回転させると上がり、外縁リング３０２を反時計回りに回転させると下がるようにしてもよい。
【００３４】
マイクロプロセッサ、無線NICおよび他の電気回路の動作は、サーモスタット１１０内部に配置された充電池（不図示）によって電力が供給される。いくつかの実施形態において電池は、HVACシステムから引かれた「Ｃ」線からの24VAC電力もしくはサーモスタット１１０に直接接続されたAC-DC変換器を用いて直接充電される。あるいは、これらの直接的な方法が利用できなければ、例えば上述した米国特許出願第13/034,678号および同13/267,871号に記載されるような１つまたは複数のタイプのエネルギーハーベスティングも内蔵電池の充電に用いてよい。本発明のいくつかの実施形態は、HVACシステムを高いレベルの性能および応答性で制御するサーモスタットの動作を維持しながら、電池の効率的な使用を促進する方法で、サーモスタット１１０と通信し、動作させる。いくつかの実施形態は、インターネットのようなパブリックネットワーク上に位置するサーモスタット管理システムがサーモスタット１１０といつ通信することができるかを決定するために、電池レベル充電(battery-level charge)および通信の優先度や相対的な重要性を用いることができる。
【００３５】
図４Ａ〜４Ｂは、本発明の実施形態に従って設計されたサーモスタットを操作するユーザの手を示している。図示の通り、サーモスタット１１０は円形で、壁に設置されており、ユーザ入力を受け付けるための回転可能な外縁リング３０２を有している。サーモスタット１１０上のカバー３０４は、サーモスタット１１０の動作前、動作中および動作後に、情報およびフィードバックをユーザに提供するための中央表示領域３０６を含んでいる。いくつかの実施形態において、カバー３０４の周辺部３１０はユーザがサーモスタット１１０を押下したり他の操作をしたりするための領域を明確に示し、そのために塗装や曇り仕上げを用いて不透明とされる。
【００３６】
サーモスタット１１０のヘッドユニット３１２は、バックプレート（不図示）上に配置され、ヘッドユニット前部４０２とヘッドユニットフレーム４０４を含んでいる。ヘッドユニット前部４０２は、本発明の実施形態に従って設計された外縁リング３０２、カバー３０４の中央表示領域３０６および周辺部３１０、ならびにグリル部材３０８を含んでいる。
【００３７】
いくつかの実施形態によれば、ユーザに自身を持たせるとともに視覚的かつ機能的な洗練さを進展させるという複合的な目的で、サーモスタット１１０は、図４Ａに示すような、外縁リング３０２を回転させる第１のユーザ入力（「リング回転」とも呼ぶ）と、図４Ｂに示すような、ヘッドユニット前部４０２を可聴的および／または触感的な「クリック」が生じるまで内側に押し込む第２のユーザ入力という２つのタイプのユーザ入力だけで制御される。いくつかの実施形態によれば、図４Ｂに示す内側への押下は外縁リング３０２のみを前方へ移動させ、別のいくつかの実施形態によれば、ヘッドユニット前部４０２全体が押下とともに内側へ移動する。いくつかの実施形態においてカバー３０４およびグリル部材３０８は外縁リング３０２と一体には回転しない。
【００３８】
いくつかの実施形態によれば、ヘッドユニット前部４０２の内側への押下を生じさせる方法に応じて複数のユーザ入力が生成されてもよい。いくつかの実施形態において、ヘッドユニット前部４０２を可聴的および／または触感的なクリックが生じるまでの１回の短い押下後の開放（シングルクリック）を、ユーザ入力の１つのタイプとして認識することができる（「内側クリック」とも呼ぶ）。いくつかの実施形態において、ヘッドユニット前部４０２を押下し、そのまま１〜３秒程度の時間内側に押下し続ける操作を、ユーザ入力の別のタイプとして認識することができる（「プレスアンドホールド」とも呼ぶ）。別のいくつかの実施形態によれば、ダブルおよび／または複数回のクリックおよび、より長いおよび／またはより短い時間のプレスアンドホールドのようなユーザ入力の他のタイプが、ユーザによってもたらされてもよい。別のいくつかの実施形態によれば、ユーザ入力のさらに他のタイプを生成するために、速度や加速度を考慮した回転入力を実装してもよい（例えば、非常に大きく早い左方向への回転が、「不在(away)」占有状態を指定する一方、非常に大きく早い右方向への回転が「人がいる(occupied)」占有状態を指定する）。
【００３９】
図５は、本発明の見地に従って設計されたクラウドベースのサーモスタット管理サーバ５１６に接続された、プライベートネットワーク５０２上のサーモスタットおよびコンピュータを示す図である。一実施形態において、プライベートネットワーク５０２は、スマートフォン５０８、タブレット５１０、コンピュータ５１２、サーモスタット１１０およびリモートサーモスタット１１２のような様々な機器をまとめて接続しながら、主に、図１における筐体１００のような筐体の内部もしくは近くでネットワーク接続性を提供するように設計される。図１の統合ルータ１２２のようなプライベートネットワーク５０２内のルータ（不図示）は、これら機器間の有線および無線接続性をTCP/IPのようなネットワークプロトコルを用いて提供する。サーモスタットの近隣で有線接続が使用できないかもしれないこと、および／または有線接続ソケットをサーモスタット１１０やリモートサーモスタット１１２に含めることが望ましくないことから、サーモスタット１１０およびリモートサーモスタット１１２は無線でプライベートネットワーク５０２に接続されることが好ましい。
【００４０】
サーモスタットアクセスクライアント５１４は、パブリックネットワーク５０４を通じてクラウドベースの管理サーバ５１６にアクセスするために本発明の見地に従って設計されたクライアントアプリケーションである。本明細書において「サーモスタット管理システム」という用語は、サーモスタットに関しては「クラウドベースの管理サーバ」とも呼んだり、あるいはさらに簡単に「クラウドサーバ」とも呼んだりする。サーモスタットアクセスクライアント５１４は、異なる機器上で実行するために設計され、マルチクライアントアプリケーションはデバイスプラットフォームまたはＯＳの要求に基づく様々な技術を用いて開発することができる。いくつかの実施形態について、サーモスタットアクセスクライアント５１４は、エンドユーザが、クラウドベースの管理サーバ５１６にアクセスしたり、管理サーバ５１６とやりとりしたりすることが可能な、自身のインターネットアクセス可能な機器（例えばデスクトップコンピュータ、ノート型コンピュータ、インターネット利用可能なモバイル機器、レンダリングエンジンを有する携帯電話機、など）を操作するように実装される。エンドユーザマシンまたは機器は、ウェブブラウザ（例えば Internet Explorer, Firefox, Chrome, Safari）や、一般にはAJAX技術（例えばXHTML, XML, CSS, DOM, JSONなど）と互換性を有する他のレンダリングエンジンを有する。AJAX技術はマークアップや情報にスタイルを付与するためのXHTML（拡張可能HTML）およびCSS（カスケーディングスタイルシート）、クライアント側のスクリプト言語を用いてアクセスされるDOM（ドキュメントオブジェクトモデル）の利用、XMLおよび他のテキストデータをHTMLを用いるサーバとの間で非同期に送受信するためのXMLHttpRequestオブジェクト（スクリプト言語が用いるAPI）の利用、およびサーバ＝クライアント間でデータ転送するための様式としてのXMLまたはJSON（Javaスクリプトオブジェクトノーテーション、軽量データ交換フォーマット）の利用を含む。ウェブ環境においてエンドユーザは、通常の方法、すなわちサービスプロバイダドメインに関連付けられたURLをブラウザで開くことにより、サイトにアクセスする。ユーザはユーザ名およびパスワードの入力により、サイト（又はその一部）に認証される。エンドユーザエンティティマシンとシステムとの間のコネクションは、プライベート（例えばSSLを用いる）であってよい。システムのサーバ側は、IPスイッチ、ウェブサーバ、アプリケーションサーバ、管理サーバ、データベースなど、従前のホスティング要素を有してよい。クライアント側でAJAXが用いられる場合、クライアント側のコード（AJAX shim)はエンドユーザのウェブブラウザまたは他のレンダリングエンジンでネイティブに実行される。このコードはクライアントマシンに持続的に常駐してもよいが、典型的にはエンドユーザがサイトにアクセスした際にクライアントマシンに供給される。最後に、インターネットプロトコル(IP)上のウェブベースアプリケーションを説明したが、これは限定ではなく、固定回線でもモバイル回線であっても、任意のランタイムアプリケーションにおいてスタンドアロンアプリケーションによって提供されうる技術およびユーザインタフェーステクノロジーとしてである。クラウドベースの管理サーバ５１６、サーモスタットアクセスクライアント５１４、および他の機器間における通信に用いられるネットワークプロトコルとして、いくつかの実施形態ではTCP/IPプロトコルを説明したが、それは限定ではなく例として説明されたものであって、特にUDPオーバIPのような他のいかなる好適なプロトコルも、本教示の範囲内で用いることができる。さらに別の実施形態において、サーモスタットアクセスクライアント５１４は、スタンドアロンアプリケーションまたは、アップル社のiOSオペレーティングシステム、グーグル社のAndroidオペレーティングシステムなどが稼動するスマートフォン５０８やタブレット５１０のような特定の機器にダウンロードされ稼動するように設計された「app」であってよい。
【００４１】
本明細書で説明した実施形態は、サーモスタット１１０／１１２とクラウドベースの管理サーバ５１６との間の温度調節に関するデータの信頼できる通信のための、電池を意識した方法を有利に提供するが、家庭および企業の大集団をサービスする多種多様な従来の統合ルータと互換性を有するようにも有利に構成される。従って、限定ではなく例として、プライベートネットワーク５０２をサービスするルータ（不図示）は、例えば D-Link社製 DIR-655 Extreme N無線ルータ, Netgear社製の WNDR3700 RangeMax デュアルバンド無線 USB ギガビットルータ, バッファローテクノロジー社製Nfiniti WZR-HP-G300NH 無線Nルータ, Asus社製 RT-N 16無線ルータ,シスコ社製Linksys E4200デュアルバンド無線ルータ, 又はシスコ社製Linksys E4200デュアルバンド無線ルータであってよい。
【００４２】
一実施形態において、図５に示すクラウドメースの管理サーバ５１６は、サーモスタットアクセスクライアント５１４が稼動するプライベートネットワーク５０２上のコンピュータ機器により、パブリックネットワーク５０４を通じてアクセスされてよい。サーモスタットアクセスクライアント５１４はまた、パブリックネットワーク５０４に直接接続されたタブレット５０６のようなコンピュータ機器で実行されまたは稼動してもよい。サーモスタットアクセスクライアント５１４が様々な異なる方法でサーモスタット１１０またはリモートサーモスタット１１２とやりとりできるように、各サーモスタットアクセスクライアント５１４がクラウドベースの管理サーバ５１６上のサーモスタット管理アカウントにアクセス可能であることが好ましい。いくつかの実施形態において、サーモスタットアクセスクライアント５１４はサーモスタット１１０およびリモートサーモスタット１１２から過去に収集され、クラウドベースの管理サーバ５１６に保存されたセンサデータにアクセスするために用いられてよい。別のいくつかの実施形態において、例えば、サーモスタットアクセスクライアント５１４は、サーモスタット１１０の遠隔制御や遠隔的な設定のために用いられてよい。サーモスタットアクセスクライアント５１４はまた、電池レベル測定値、ファームウェア更新レベル、診断データ、またはサーモスタットによってサーモスタットアクセスクライアント５１４に明らかにされる他の任意のデータを含む、サーモスタット１１０またはリモートサーモスタット１１２上の他の情報を収集してもよい。
【００４３】
サーモスタット１１０およびリモートサーモスタット１１２の各々は、パブリックネットワーク５０４を通じて確立された１つ又はいくつかの通信チャネルを通じてクラウドベースの管理サーバ５１６とも通信する。プライベートネットワーク５０２上の他の機器と同様、サーモスタット１１０およびリモートサーモスタット１１２はパブリックネットワークアドレスを有さないので、ルータおよびNATテーブル５１８の対応するエントリの助けを受けずに、インターネットや他のパブリックネットワーク上で直接通信することはできない。図５における例では、サーモスタット１１０はプライベートネットワークアドレス192.168.1.108とプライベートポート番号60720を有し、リモートサーモスタット１１２にはプライベートネットワークアドレス192.168.1.110と３つの異なるプライベートポート番号60744、60743および60722が設定されている。この例において、サーモスタット１１０は、パブリックネットワークアドレス107.20.224.12およびパブリックポート番号443を有するクラウドベースの管理サーバ５１６との通信チャネルの確立を開始する。従って、プライベートネットワーク５０２上のルータ（不図示）は、サーモスタット１１０のソースアドレス192.168.1.108およびソースポート60720と、クラウドベースの管理サーバ５１６のデスティネーションアドレス107.20.224.12およびデスティネーションポート443との間の通信のための、NATポート1022で識別されるエントリをNATテーブル５１８に作成する。
【００４４】
別の構成において、サーモスタット１１０および１１２は、サーモスタット１１０とともに図示されているような１つのコネクションではなく、クラウドベースの管理サーバ５１６への複数の通信チャネルを設定されてよい。一例として、サーモスタット１１２が３つのポート60744、60743、および60722を通じて複数の通信チャネルの確立を開始すると、ルータは、NATポート1044、1921、および1758で識別される３つのエントリをさらにNATテーブル５１８に作成する。NATポート1044、1921、および1758で識別されるNATテーブル５１８内の追加対応エントリはソースアドレス192.168.1.110およびソースポート60744、60743、および60722を含み、それぞれ、クラウドベースの管理サーバ５１６のデスティネーションアドレス107.20.224.12およびデスティネーションポート443に関連付けられる。本発明の様々な実施形態において、クラウドベースの管理サーバ５１６と他のサーモスタットとの間の通信はサーモスタット１１０に設定されるように１つの通信チャネル上で発生してよく、他の実施形態はリモートサーモスタット１１２に提供されるような複数の通信チャネルを用いてもよい。
【００４５】
TCP/IPのようなプロトコルを用いてデータが伝送される場合、プライベートネットワーク５０２内のルータは、プライベートネットワークと、クラウドベースの管理サーバ５１６のようなパブリックネットワーク上のサーバ又は機器との間で通信チャネル上を通過するデータのパケット内のアドレスを変更する。一例において、ルータはリモートサーモスタット１１０から、クラウドベースの管理サーバ５１６のデスティネーションアドレス107.20.224.12およびデスティネーションポート443とともにソースアドレスフィールド192.168.1.108とソースポート60720を有するパケットを受信するであろう。ルータはこのパケットをインターネットに出す前に、NATテーブル５１８を参照し、ソースアドレスフィールドおよびソースポートフィールドの値をルータに割り当てられているパブリックアドレス76.21.3.203と対応するNATポート1022にそれぞれ置き換える。パブリックネットワーク上に送信される、図５の変更後のパケットヘッダ５２０は、デスティネーションアドレスおよびデスティネーションポートは元のままだが、ソースアドレスおよびソースポートがルータのパブリックネットワークアドレスとNATテーブル５１８からのポート番号に変更されている。NATテーブル５１８内のエントリが存在する限り、サーモスタット１１０および１１２はクラウドベースの管理サーバ５１６へのパブリックネットワーク５０４上の個別の通信チャネルを通じて通信することができる。
【００４６】
これら通信の間、本発明のいくつかの実施形態は、サーモスタットの電池レベルおよびサーモスタットの性能への影響を考慮する。サーモスタットの電池レベルが低い場合、サーモスタットとのさらなる通信は、HVACシステムの制御やネットワーク上での通信といった不可欠な機能を実施するためのサーモスタットの能力に影響を与えうる。図５に示すように、サーモスタット１１０に隣接する電池拡大イメージ１１０Ａはサーモスタット１１０内の電池の電池レベルを模式的に示している。本例における電池イメージ１１０Ａは、約８０％充電された状態を示しており、サーモスタット１１０の内蔵電池レベルがほぼ満充電であることを表している。同様に、サーモスタット１１２に隣接する電池拡大イメージ１１２Ａは約２０％の充電状態を示しており、サーモスタット１１２の内蔵電池の電池レベルが低いことを示している。このような異なる、かつばらばらな電池レベルに対応するため、本発明のいくつかの実施形態は、サーモスタットの通信および動作に１つ又は複数の異なる戦略を導入することができる。
【００４７】
図６Ａに示す一実施形態において、クラウドベースの管理サーバ５１６はサーモスタットの電池レベルを監視し、データに割り当てられた優先度に従って通信を賢く制御する。いくつかの実施形態において、クラウドベースの管理サーバ５１６が本発明の複数の見地を実施するが、別の実施形態ではクラウドベースの管理サーバ５１６の機能をシステム内の１つまたは複数のサーバに分散してもよい。この例では、サーモスタット１１０およびサーモスタット１１２がクラウドベースの管理サーバ５１６とのそれぞれの通信チャネルを開始並びに確立済みであり、プライベートネットワーク５０２上のルータが図５に示したようなNATテーブル５１８を作成済みである。電池を節約するため、サーモスタット１１０／１１２は、(i)特定の温度閾値が温度センサで検出された場合のような、目覚めるに値するローカルイベントまたは(ii)目覚めるに値する次のイベントまたはクラウドベースの管理サーバ５１６からの要求、を待機する間、低電力状態に移行してよい。
【００４８】
低電力状態への以降に先立って、各サーモスタット１１０／１１２はコネクションオープニングロングポーリングパケットをサーモスタット通信サーバ６２０に送信する。通常の動作目的については応答が不要である場合（すなわち、クラウドベースの管理サーバ５１６が提供する命令または要求を有さない場合）、クラウドベースの管理サーバ５１６はサーモスタット１１０／１１２とのロングポーリング通信を維持することで、実際のデータ交換の頻度が非常に低い場合や、大きな遅延を受けている場合であっても通信チャネルをオープンした状態に保つことができる。これはサーモスタットの電池を効率的に使用するだけでなく、各データ送信のための通信チャネルの再確立に関するオーバヘッドおよび遅延を削減する。一実施形態において、クラウドベースの管理サーバ５１６は、キープアライブ優先パケットを規則的なキープアライブ間隔で送信することにより、NATテーブル５１８内のエントリを維持する方法により、ロングポーリング通信を維持する。一実施形態において、キープアライブ優先パケットはTCP/IPプロトコルスタックに組み込まれたキープアライブ機能と一致する。ロングポーリング時間間隔内にサーモスタット１１０／１１２に送信すべきメッセージがなければ、プロトコルスタックは１つ以上の「キープアライブ」パケットを、ロングポーリング時間間隔より短いキープアライブ間隔ごとにプライベートネットワーク５０２上のルータに送信することで、NATテーブル５１８を維持する。好ましくは、キープアライブ間隔は、多くの一般的なルータがその特定のコネクションに関するNATテーブルを消去するであろう間隔よりずっと短い。
【００４９】
所定の時間間隔またはイベント発生に応じて、サーモスタット１１０および１１２は自身の電池レベルをチェックし、他の管理機能を実行するために低電力状態から目覚める。いくつかの実施形態によれば、電池レベルは各サーモスタット１１０および１１２から無線接続によって送信され、プライベートネットワーク上のアクセスポイント６０６を通って、サーモスタットサーバ６２０に将来の参照のために保存される。例えば、約８０％充電を示す電池イメージ１１０Ａは、サーモスタット１１０内の電池レベルがほぼ満充電であることを表し、約２０％充電を示す電池イメージ１１２Ａは、サーモスタット１１２内の電池が低レベルであることを表している。クラウドベースの管理サーバ５１６の一実施形態は、機器アドレス、電池レベル、および対応する通信チャネルで用いるためのキープアライブ間隔を含む機器電池充電率テーブル６１６内の、そのデータを更新する。例えば、機器電池充電率テーブル６１６は（NATテーブル５１８によってサーモスタット１１０に対応付けられている）機器アドレス76.21.3.203:1022に、「高い」電池レベルと5000単位時間に設定されたキープアライブ間隔を与える。対照的に、機器電池充電率テーブル６１６における（NATテーブル５１８によってサーモスタット１１２に対応する）機器アドレス76.21.3.203 : 1044、76.21.3.203 : 1921、および76.21.3.203 : 1758はいずれも、「低い」電池レベルと10000にセットされたより長いキープアライブ間隔を有している。クラウドベースの管理サーバ５１６のいくつかの実施形態は、NATテーブル５１８内のエントリがルータに消去される可能性を削減するため、電池レベルが高い場合にはより短いキープアライブ間隔を設定してもよい。電池レベルが「低い」場合、キープアライブ間隔は、ほとんどのルータ機器のNATタイムアウト期間を超えないであろう最大の時間間隔を表す最大ロングポーリング間隔に設定されてよい。
【００５０】
クラウドベースの管理サーバ５１６のいくつかの実施形態は、クラウドベースの管理サーバ５１６から１つまたは複数のサーモスタットへいつデータを通信すべきかの決定の補助に、機器電池充電率テーブル６１６をさらに用いてよい。実施するため、一実施形態はさらに、各サーモスタットから報告される低および高電池レベルを高温度調節重要度データまたは低温度調節重要度データに関連付ける電力優先度テーブル６１８をさらに生成してもよい。これら実施形態において、電力優先度テーブル６１８は、通信されているデータに割り当てられた重要度と、サーモスタットに関連付けられた現在の電池充電率の消費とのトレードオフを規定する。例えば、高温度調節重要度データに分類されたデータを用いたデータ通信は、そのデータが、クラウドベースの管理サーバ５１６およびサーモスタットの全体動作にとって高い重要性を有するものと見なされるため、バッテリレベルが低い場合でも抽出されて送信されるであろう。一実施形態において、低電池レベルは０から３９％の充電率であってよい。
【００５１】
低温度調節重要度に分類されたデータ通信は、電力優先度テーブル６１８に示されるように、電池レベルが低い場合には送信されないであろう。電池が十分には充電されていないため、サーモスタットの電池のエネルギーを節約するため、低温度調節重要度データは電力優先度テーブル６１８に従って送信されないであろう。従って、いくつかの実施形態によれば、電池レベルが高いか、充電率が８０〜１００％の範囲であると検出された場合、低および高温度調節重要度データタイプが送信される。
【００５２】
図６Ｂに示す代替実施形態において、電力優先度テーブル６１８は、３つの電池レベルと３レベルの温度調節重要度を有する。低電池レベルの場合、高温度調節重要度と見なされるデータは送信され、中温度調節重要度データおよび低温度調節重要度データは送信されない。電池レベルが中レベルの場合、高および中温度調節重要度と見なされるデータが送信される。電池レベルが少なくとも高レベルであれば、低、中、および高温度調節重要度と見なされるデータが送信される。さらに別の実施形態は、特定の設計および実施要件に応じて、３つより多い電池レベルおよび３つより多いデータ優先度レベルタイプを用いてもよい。さらに、低、中、および高電池レベルに対する充電率は、上述したような０〜３９％が低電池レベル、４０〜７９％が中電池レベル、８０〜１００％が高電池レベルである必要はなく、他の範囲を含んでもよい
【００５３】
いくつかの実施形態において、データ通信は複数の異なる方法で分類されてよく、クラウドベースの管理サーバ５１６の特定の実施要件およびサーモスタットに対する要求性能に基づいて決定されることが多い。一実施形態において、高優先度データタイプはサーモスタットに何かの機能を能動的に要求するデータ通信を含んでよい。これはクラウドベースの管理サーバ５１６がサーモスタット１１０または１１２に温度設定値の変更を要求するデータ通信を含んでよい。別の高優先度データタイプは、サーモスタット１１０または１１２に冷房機能のオンまたはオフを要求するデータ通信を含んでもよい。対照的に、低優先度データタイプはサーモスタットにとってすぐに実行することがさほど重要でない所定の動作や機能を含んでよい。ソフトウェアアップデートをクラウドベースの管理サーバ５１６からサーモスタットにダウンロードする動作は、低優先度通信の一例である。ソフトウェアアップデートはサーモスタットの当座の動作にはとって不要で、かつ影響を与える可能性が低いためである。さらに、アップデートが途中までしか完了しなかった場合にはサーモスタットが動作不能になる可能性があるため、サーモスタットの電池レベルが低い場合にはソフトウェアアップデートをダウンロードしない方が好ましい。
【００５４】
図７は、本発明の実施形態に従って設計された、エネルギーを節約しつつ、サーモスタットの高性能動作を促進する、クラウドベースの管理サーバ５１６を示す図である。本実施形態において、クラウドベースの管理サーバ５１６は、１つまたは複数の命令を実行するように構成されたプロセッサ７０４と、プロセッサで実行可能な命令を保持するメモリ７０２と、インターネットのようなネットワーク上で通信可能なネットワークインタフェースコントローラ７０６と、記憶装置７１０と、サーバからの情報をモニタ上に表示するためのディスプレイアダプタおよびモニタ７１２と、キーボード、マウス、およびサーバを制御するための他のインタフェースを含んだ周辺ドライバおよび機器７１４とを含んでいる。例えば、CD-ROM/DVD機器７１６および媒体は、コンピュータプログラム製品の形式で有体的に実施された本発明の様々な実施形態を保持し、周辺ドライバおよび機器７１４に取り付けられてよい。
【００５５】
一実施形態において、メモリ７０２内の処理は、サーモスタットに電力を供給するために用いられている電池に関する電池レベルを保存する電池レベル収集処理７１８を含んでよい。先に説明したように、いくつかの実施形態における電池レベルは、サーモスタット管理システムとサーモスタットとの間で確立された通信チャネルを通じてサーモスタットから提供され、そのサーモスタットに付随する電池の残エネルギーの指標を提供する。電池レベル収集処理はサーモスタットとクラウドベースの管理サーバ５１６との間の通信チャネルをオープンさせ続けるロングポーリング処理を含み、サーモスタットとクラウドベースの管理サーバ５１６との間で継続中の通信の結果として、これら電池レベルを長期間にわたって収集することができる。いくつかの実施形態において電池レベルデータは、図６に示すような機器電池充電率テーブル６１６に保存され、クラウドベースの管理サーバ５１６上のローカル記憶領域に存在するか、またはデータベースや他の遠隔記憶領域で遠隔的にアクセスされてよい。
【００５６】
いくつかの実施形態はさらに、通信チャネルを通じてサーモスタットに送信すべき１つまたは複数のタイプのデータを分類するとともに優先度を付加するデータ優先度処理７２０をメモリ７０２内に含んでもよい。実装に応じてデータ優先度処理７２０は、低温度調節重要度データタイプから高温度調節重要度データタイプまでのデータ優先度範囲に従い、データ送信を分類する。いくつかの実施形態において、低温度調節重要度データは、サーモスタット管理システムおよびサーモスタットの動作に対して重要度が低い。ソフトウェアアップデートはサーモスタットが動作するために必須ではないであろうから、例えば、低温度調節重要度データタイプはソフトウェアアップデートを含んでよい。一方、高温度調節重要度データタイプは、サーモスタットにおける設定値の変更要求やHVACシステムの暖房または冷房オンの要求など、サーモスタット管理システムの動作にとってより高い重要性を有するデータを含むことができる。
【００５７】
さらに別の実施形態は、データの分類とサーモスタットに関する電池レベルとに応じてサーモスタットにデータを送信する電力分類送信処理７２２をさらに含んでもよい。上述の通り、低温度調節重要度データタイプから高温度調節重要度データタイプまでの範囲を有するデータ優先度分類は、クラウドベースの管理サーバ５１６およびサーモスタットの全体動作に対するデータの重要性に依存する。従って、低温度調節重要度データはサーモスタットの電池残量を節約するため、電池レベルが低い場合には送信されなくてもよい。しかし、電力分類送信処理７２２は、サーモスタットに関する電池レベルが満充電または「高い」場合には、全てのデータ分類を送信してよい。
【００５８】
本発明の複数の実施形態はまた、サーモスタットとの通信チャネルをオープン状態に維持することを容易にするロングポーリング処理７２４をメモリ７０２に含んでもよい。このロングポーリング処理７２４はまず、サーモスタットからネットワークを通じて、パブリックネットワーク上に位置するクラウドベースの管理サーバ５１６とプライベートネットワーク上に位置するサーモスタットとの間の通信チャネルの確立要求を受信する。いくつかの実施形態において、クラウドベースの管理サーバ５１６はインターネットに登録されたパブリックネットワークアドレスを有する一方、プライベートネットワーク上のルータから図５のNATテーブル５１８のようなNATテーブル内のエントリを通じて提供される共有パブリックネットワークアドレスを有する。ロングポーリング処理７２４はさらに、通信チャネルを通じてサーモスタット管理システムからネットワークに接続されたサーモスタットへキープアライブパケットを時折送信するようにTCP/IPのようなネットワーク通信プロトコルを設定する。いくつかの実施形態において、サーモスタットに送信されるキープアライブパケットは、通信チャネルの確立を肯定応答するが、処理を必要とするペイロードやデータを含まなくてよい。ロングポーリング処理７２４は、ルータ機器のNATタイムアウト期間を超えない最大の時間間隔でこれらキープアライブパケットを送信するための時間間隔を設定してよい。NATタイムアウト期間前のキープアライブパケットの受信は、NATテーブルにその時点のおけるエントリを維持し、通信チャネルが切断されないようにする。
【００５９】
図８Ａは、電池駆動型サーモスタットとの通信を調整するためにサーモスタット通信サーバが用いる動作のフローチャートであり、この動作は、電池エネルギーを節約するとともにサーモスタットの性能を進展させる。図６に示すクラウドベースの管理サーバ５１６のようなサーモスタット通信サーバは、電池駆動されるサーモスタットから、サーモスタットとサーモスタット通信サーバとの間でネットワークを通じた通信チャネルの確立の要求を受信する（８０２）。サーモスタットが通信チャネルを開始する際、ルータは図５におけるNATテーブル５１８のようなNATテーブルにエントリを作成し、ルータの背後に存在するプライベートネットワーク上のサーモスタットがパブリックネットワークであるインターネット上のサーモスタット通信サーバとその後通信できるようにする。NATテーブル内のエントリは、サーモスタット通信サーバおよびサーモスタットからの通信の間隔がルータに関連付けられたNATタイムアウト値を超えない限り削除されず、通信チャネルは維持される。
【００６０】
次に、サーモスタット通信サーバは、通信チャネルを通じてサーモスタットに送信すべきデータを低温度調節重要度から高温度調節重要度区分までの温度調節重要度に従って１つ以上のタイプに分類する（８０４）。一つの実装では、低温度調節重要度データタイプはサーモスタット管理システムおよびサーモスタットの全体の動作にとってさほど重要でないデータを含む。これらはソフトウェアアップデートや他のメンテナンスのような、サーモスタットで実行されるオプション機能を含んでよい。反対に、高温度調節重要度データタイプは、サーモスタット管理システムおよびサーモスタットの動作にとってより重要性が高いデータを含み、一般には設定値の変更、暖房または冷房のオン／オフ、またはサーモスタットが配置された住居または商業施設内の場所の周辺温度のチェックといった、サーモスタット上の動作を能動的に実行することの要求を含む。
【００６１】
次に、サーモスタット通信サーバはサーモスタットに関する電池レベルを、サーモスタット通信サーバがアクセス可能な記憶領域に保存する（８０６）。いくつかの実施形態において、各サーモスタットは周期的に自身の電池レベルをチェックし、ネットワークを通じて確立された通信チャネルを通じて電池レベルをサーモスタット通信サーバに提供する。各サーモスタットに関する電池レベル情報は、図６に示した機器電池充電率テーブル６１６のような機器電池充電率テーブルに保存されてよい。
【００６２】
通信チャネルをオープンした状態に保つため、サーモスタット通信サーバは通信チャネルを通じてサーモスタットにキープアライブパケットを送信するためのロングポーリング間隔を設定してよい（８０８）。いくつかの実施形態においてサーモスタット通信サーバは、ほとんどのルータが用いるNATタイムアウト期間（約100分であることが多い）を超えない最大値をロングポーリング間隔に設定する。
【００６３】
サーモスタット通信サーバとサーモスタットとの間を通過するデータが無ければ（８１０，Ｎｏ）、元々ロングポーリング間隔に設定されたタイマ値を通信プロトコルスタック内の時間に対して削減し、処理を継続する。結局、ロングポーリング間隔が経過し、サーモスタット通信サーバ上の（TCP/IPのような）通信プロトコルスタックがロングポーリング間隔内で通信アクティビティを検出しなければ、ルータ上のNATエントリを保持するとともに通信チャネルをオープンした状態に保つために内蔵キープアライブ機能がパケットを送信する（８１２）。いくつかの実施形態において、サーモスタット通信サーバはロングポーリング間隔が満了すると通信チャネルを切断するよう要求し、サーモスタットによって新たな通信チャネルが確立されるのを待ってもよい。
【００６４】
あるいは、送信すべきデータがあれば、サーモスタット通信サーバは送信前にサーモスタットの最新電池レベルをチェックする（８１０、Ｙｅｓ）。一実施形態では、そのサーモスタットに関連付けられた低電池レベルがあれば（８１４、Ｙｅｓ）、高温度調節重要度データタイプに分類されたデータのみが送信されるべきである（８１６）。低温度調節重要度データを送信しないことで、サーモスタット内の電池容量のいくらかが節約される。いくつかの実施形態においてサーモスタット通信サーバは、特定の設定要求に従った予め定められた分類設定を事前に有している。サーモスタット管理システムの動作に対する重要度が高いデータであれば、そのデータは高温度調節重要度データタイプと分類され、低い電池レベルであっても送信されるべきである。例えば、高温度調節重要度データはサーモスタットに温度設定値または他の設定を変更するように積極的に要求する、サーモスタットに送信される命令を含んでよい。
【００６５】
サーモスタットに関連付けられた電池レベルが低レベルでなければ（８１４，Ｎｏ）、サーモスタット上の電池は満充電されていると見なされ、温度調整重要度が低から高までに分類された全てのデータは送信されるであろう（８１８）。
【００６６】
図８Ｂのデータ流れ図の例は、サーモスタットの電池レベルおよびデータに関連付けられた優先度に基づいてサーモスタット通信サーバがデータを送信する際のデータの流れおよびイベントを示している。この例では、サーモスタット通信サーバとの通信チャネルの確立を開始するサーモスタットが、ルータにNATテーブルを生成させる（８２６）。エネルギーを節約するため、サーモスタットは低電力モードに移行し、次のイベントを待つ（８２８）。ある時間経過後、管理サーバはNATテーブルエントリが削除される前にキープアライブパケットを送信する（８３０）。一実施形態において、サーモスタットは低電力モードから目覚めて低電池レベルをサーモスタット通信サーバに送信し、サーモスタットの電池レベルが放電間近であることを知らせる（８３２）。そして、サーモスタットは電池を節約するために再び低電力モードに戻る（８３４）。サーモスタット通信サーバはそのサーモスタットに低電池レベルを関連付け、その結果を記憶領域に保存する（８３６）。この時点で、図５においてサーモスタットアクセスクライアント５１４を実行しているタブレット５０６のようなクライアント機器は、サーモスタット通信サーバにサーモスタット設定の変更を要求する（８３８）。サーモスタット通信サーバはこの要求を、サーモスタット上の電池がローレベルであっても送信されるべき高温度調節重要度データタイプに分類する（８４０，８４２）。その結果、サーモスタットはデータ送信を受信し、サーモスタット設定の変更要求を実行する（８４４）。別の実施形態は、３つ以上の電池レベルと、低、中、高温度調節重要度区分データタイプを用いる３つの分類システムのように、データに関して３つ以上の対応する温度重要度分類を用いてもよい。
【００６７】
別の実施形態において、図９Ａ〜９Ｂに示す電池駆動型サーモスタットおよびシステムは、本発明の実施形態に従って、異なる優先度を有するデータを交換するために複数の通信チャネルを用いる。したがって、この実施形態においてサーモスタット１１２は異なる優先度のデータを対応する異なる通信チャネルを通じてクラウドベースの管理サーバ５１６から受信し、電池レベルに応じて受信データを処理または破棄してよい。有利なことに、本実施形態に関する処理は、クラウドベースの管理サーバ５１６とサーモスタット１１２とに分散されている。１つの目立った利点として、サーモスタット１１２がポーリングを行ったり間接的にデータを収集することなく電池レベルを判定可能であるため、サーモスタット通信サーバ６２０から受信したデータパケットをより正確に処理することができることがある。
【００６８】
例えば、図９Ａにおけるサーモスタット１１２はプライベートネットワークアドレスとポートの組み合わせを２つ（192.168.1.110 : 60744と192.168.1.110 : 60743）用いて２つの無線通信チャネルを確立している。サーモスタット１１２上のこれらのプライベートネットワークアドレスは、図５のNATテーブル５１８内に、NATポート1044および1921で識別される対応エントリを有している。図９Ａにおけるクラウドベースの管理サーバ５１６は、 サーモスタット１１２について対応するパブリックアドレスおよびポート番号76.21.3.203 : 1044と76.21.3.203 : 1921を優先度送信テーブル９０２に保存するとともに、図示のように各アドレスに対して高優先度データタイプおよび低優先度データタイプを関連付けている。いくつかの実施形態によれば、クラウドベースの管理サーバ５１６は、優先度送信テーブル９０２に示すように、サーモスタットに送信すべきデータを低または高優先度データタイプに分類するとともに、適切な通信チャネルまたはパブリックアドレス上に送信する。データは、パブリックネットワーク５０４、プライベートネットワーク５０２を通り、図９Ａに示すように無線によってアクセスポイント６０６からサーモスタット１１２へと到達する。
【００６９】
サーモスタット１１２のWiFiモジュール（不図示）内の設定が、どの通信チャネルを通じてデータを受信したかに応じてデータを処理すべきか破棄すべきかを決定する。WiFiモジュール内の設定に基づいて、電力優先度テーブル９０４は、サーモスタット１１２の最近の電池レベルが電池イメージ１１２Ａに示されるように低レベルであることおよび、ポート60744および60743がそれぞれ高および低データタイプの処理に用いられることを識別する。直近の電池レベルが低であるため、本例の電力優先度テーブル９０４はWiFiモジュールがポート60743上に到来した低優先度データは無視または破棄し、ポート60744上で受信した高優先度データのみを処理するように設定されていることを示している。その後サーモスタット１１２は、サーモスタット１１２が検出した電池レベルに応じて、パケットを受け入れるか破棄するようにWiFiモジュールの設定を更新してもよい。後になって電池レベルが高であるとサーモスタット１１２が判定した場合、サーモスタット１１２は両方のポートに到達する低優先度データパケットおよび高優先度データパケットのいずれも処理するようにWiFiモジュールを再設定する。別の実施形態において、WiFiモジュールはさらに、より多くの、あるいはより少ないデータ優先度タイプについて、より多くの、あるいはより少ないポートおよびプロセスを用いるように設定されてもよい。例えば、単に高優先度および低優先度データタイプだけでなく、高優先度、中優先度、または低優先度データタイプのいずれかを処理するために３つの通信チャネルが用いられてよい。
【００７０】
本発明の実施形態に係るサーモスタットの内部部品の一部の概要を示す模式的なブロック図である図９Ｂを参照する。サーモスタット９０８は図９Ａのサーモスタット１１２と類似しているが、WiFiモジュール９１２およびアンテナ、付随メモリ９１５を有するヘッドユニットプロセッサ９１４、付随メモリを有するバックプレートプロセッサ９１６、およびセンサ９２２（例えば温度、湿度、動き、周辺光、近接）を含む、選ばれた内部部品を図示および強調している点で異なる。一実施形態において、ヘッドユニットプロセッサ９１４はテキサスインスツルメンツ社製のAM3703 Sitara ARMマイクロプロセッサであってよく、より具体的に「マイクロコントローラ」と呼んでもよいバックプレートプロセッサ９１６はテキサスインスツルメンツ社製のMSP430Fマイクロコントローラであってよい。サーモスタットヘッドユニット、バックプレート、および他の物理要素の物理的な配置および構成の詳細については、上述した米国特許出願第13/199,108に記載されている。
【００７１】
いくつかの実施形態について、バックプレートプロセッサ９１６はいくらかの計算能力を有するものの、ヘッドユニットプロセッサ９１４より大幅に性能が劣る超低電力デバイスである。バックプレートプロセッサ９１６は温湿度センサ、動きセンサ、周辺光センサ、および近接センサを含むセンサ９２２のほとんどまたは全てに接続されるとともに、定期的にポーリングを行う。バックプレートハードウェア自身に配置されなくてもよく、むしろヘッドユニット内に配置されるセンサ９２２については、ヘッドユニットとバックプレートとの間にリボンケーブルや他の電気的な接続手段が設けられる。特に、ヘッドユニットプロセッサ９１４が受け持つ他のセンサ（不図示）があってもよく、一例としては外縁リング３０２（前述の図４Ａ〜４Ｂを参照）のユーザによる回転を検知するリング回転センサがある。ヘッドユニットプロセッサ９１４およびバックプレートプロセッサ９１６はそれぞれ、「スリープ」状態に移行し、その後様々なタスクを実行するために「目覚める(wake up)」することができる。
【００７２】
いくつかの実施形態において単に低いクロックスピードに対応する低電力スリープ状態を有するバックプレートプロセッサ９１６は、通常、より能力の高いヘッドユニットプロセッサ９１４よりもかなり頻繁にスリープモードとの行き来を繰り返す。バックプレートプロセッサ９１６はヘッドユニットプロセッサ９１４をスリープ状態から目覚めさせることができる。最適な電池節約を目的とした１つの好適な実施形態について、ヘッドユニットプロセッサ９１４は自身の動作が要求されていない際にスリープすることが許される一方、バックプレートプロセッサ９１６はセンサ９２２のポーリングを継続的に実施し、メモリ９１７内のセンサ測定結果を維持する。バックプレートプロセッサ９１６は(i)現在有効な暖房設定値を現在温度が下回った場合のように、HVAC動作が要求されうることをセンサデータが示している場合や、(ii)メモリ９１７が満杯になり、メモリ９１５に保存するためにセンサデータをヘッドユニットプロセッサ９１４に転送する必要が生じた場合に、ヘッドユニットプロセッサ９１４を目覚めさせるであろう。そして、センサデータはクラウドサーバとヘッドユニットプロセッサ９１４との間のその後の有効な通信セッション中にクラウドサーバ（サーモスタット管理サーバ）に送信されてよい。
【００７３】
WiFiモジュール９１２について、一実施形態では802.11b/g/n WLAN規格をサポートするテキサスインスツルメンツ社製WL1270チップセットに基づく村田無線ソリューションズ社製のLBWA19XSLZモジュールを用いて実施することができる。本発明のいくつかの実施形態は、エネルギーを節約するため、１つまたはいくつかのイベントが発生するまでサーモスタット９０８が低電力または「スリープ」モードに移行することができるようにWiFiモジュール９１２を構成並びにプログラミングする。例えば、いくつかの実施形態においてWiFiモジュール９１２は、図４Ａおよび４Ｂに示したようにユーザがサーモスタット９０８を物理的に操作した際にこの低電力モードから離れ、それによって、図３Ｂに示すサーモスタット１１０のヘッドユニット３１２およびバックプレート３１４部分における機能を制御するためにヘッドユニットプロセッサ９１４およびバックプレートプロセッサ９１６の両方が起動されてもよい。
【００７４】
WiFiモジュール９１２を、無線アクセスポイント９１２からのビーコンに応答して一定周期で低電力モードから目覚めるようにしてもよい。エネルギーを節約するため、WiFiモジュール９１２は適切な無線規格によって決定されるようにビーコンの確認応答を行うために低電力モードを短期間離れ、図９Ｂにおけるサーモスタット９０８のプロセッサおよび他の部品を起動させることなく低電力モードに戻ってよい。別の実施形態において、WiFiモジュール９１２はまた、短期間目覚めた後にセンサ９２２を通じてデータを収集し、後で参照するために結果をタイムスタンプ、イベントタイプおよび対応するデータの一覧とともにデータログ９２６に保存するためにバックプレートプロセッサ９１６、ヘッドユニットプロセッサ９１４、またはサーモスタット９０８の他の部分を起動させることによってビーコンに応答してもよい。一実施形態によれば、バックプレートプロセッサ９１６はデータログ９２６にデータを収集し、ある期間またはログが最大所定サイズに達するまでメモリ９２０に保存してもよい。その時点でバックプレートプロセッサ９１６は、メモリ９２０に保存されているデータログ９２６を、インターネットのようなパブリックネットワークを通じてクラウドベースの管理サーバ５１６にアップロードする動作を連携して行うために、ヘッドユニットプロセッサ９１４を目覚めさせてよい。データログ９２６のアップロード頻度を少なくすることで、個々のレコードまたはログエントリのより頻繁な送信に関する時間およびエネルギーを節約することができる。
【００７５】
さらに別の実施形態において、WiFiモジュール９１２は、ヘッダが単に確認応答パケット（すなわち、キープアライブパケット）であるか、さらなる処理が必要なペイロードを含んでいるかを判定するために、入来データパケットを選択的にフィルタリングしてもよい。パケットがヘッダのみを含み、ペイロードを含まない場合、WiFiモジュール９１２はそのパケットを無視するか、サーモスタット管理システムまたはその受信パケットの他のソースに返信確認応答を送信するように構成されてよい。
【００７６】
別の実施形態においてWiFiモジュール９１２は、図９Ａに説明および図示したようにサーモスタット１１２とクラウドベースの管理サーバ５１６との間で複数の通信チャネルを確立するために用いられてもよい。上述の通り、サーモスタット１１２は異なる優先度を用いて分類された異なるタイプのデータを受信するために複数の通信チャネルを用いる。一実施形態においてWiFiモジュール９１２は１つまたは複数のフィルタおよびウェイクオンLAN機能を用い、その後それらの通信チャネルの１つまたは複数に到来するデータを選択的に無視または破棄するようにプログラミングされてよい。例えば、WiFiモジュール９１２のポートに到来した低優先度のデータは、そのポートに関連付けられた対応するウェイクオンLAN機能を無効とすることにより破棄されてよい。低優先度のパケットを破棄または無視することで、さらに電池の電力を節約しつつ、通信チャネルが継続して動作できるようになる。
【００７７】
図９Ｃ〜９Ｄは図９Ａおよび９Ｂに示したような本発明の実施形態に係るクラウドベースの管理サーバ５１６とサーモスタット１１２における動作に関するフローチャートである。一実施形態において、図９Ｃにおけるフローチャートはサーモスタット通信サーバが電池駆動型のサーモスタットと複数の通信チャネルを通じて通信するために用いる動作を提供する。この実施形態において、図９Ａに示すクラウドベースの管理サーバ５１６のようなサーモスタット通信サーバは、電池駆動されるサーモスタットから、サーモスタットとサーモスタット通信サーバとの間でネットワークを通じた複数の通信チャネルの確立の要求を受信する（９２８）。サーモスタットが通信チャネルを開始する際、ルータは図５におけるNATテーブル５１８のようなNATテーブルに複数のエントリを作成し、サーモスタットがパブリックネットワークであるインターネット上のサーモスタット通信サーバと通信するための複数の通信チャネルを提供する。上述したように、NATテーブル内のこれらのエントリは、サーモスタット通信サーバおよびサーモスタットからの通信の間隔がルータに関連付けられたNATタイムアウト値を超えない限り削除されず、通信チャネルはオープンし続ける。
【００７８】
次に、サーモスタット通信サーバは、低優先度データタイプから高優先度データタイプまでのデータ優先度に従い、通信チャネルを通じてサーモスタットに送信すべき１つ以上のデータタイプを分類する（９３０）。一実施形態において、低優先度データタイプはサーモスタット管理システムおよびサーモスタット全体の動作に対してさほど重要でないデータを含む。これらはソフトウェアアップデートや他のメンテナンスのような、サーモスタットで実行されるオプション機能を含んでよい。反対に、高温度調節重要度データタイプは、サーモスタット管理システムおよびサーモスタットの動作にとってより重要性が高いデータを含み、一般には設定値の変更、暖房または冷房のオン／オフ、またはサーモスタットが配置された住居または商業施設内の場所の周辺温度のチェックといった、サーモスタットで動作を能動的に実行することの要求を含む。
【００７９】
通信チャネルをオープンした状態に保つため、サーモスタット通信サーバは複数の通信チャネルを通じてサーモスタットにキープアライブパケットを送信するためのロングポーリング間隔を設定してよい（９３２）。いくつかの実施形態においてサーモスタット通信サーバは、ほとんどのルータが用いるNATタイムアウト期間（約100分であることが多い）を超えない最大値をロングポーリング間隔に設定する。
【００８０】
サーモスタット通信サーバとサーモスタットとの間を通過するデータが無ければ（９３４，Ｎｏ）、当初ロングポーリング間隔に設定されたタイマ値を通信プロトコルスタック内の時間に対して削減し、処理を継続する。結局、ロングポーリング間隔が経過し、サーモスタット通信サーバ上の（TCP/IPのような）通信プロトコルスタックがロングポーリング間隔内で通信アクティビティを検出しなければ、ルータ上のNATエントリを保持するとともに複数の通信チャネルをオープンさせ続けるために内蔵キープアライブ機能がパケットを送信する（９３８）。いくつかの実施形態において、サーモスタット通信サーバはロングポーリング間隔に関連付けられたタイマが満了すると、通信チャネルが利用可能でかつ適切に動作することの確認を支援するため、通信チャネルを切断して再確立するよう要求してもよい。
【００８１】
あるいは、送信すべきデータがあれば、サーモスタット通信サーバはそのデータの優先度をチェックし、適切な通信チャネルを通じて送信する。一実施形態によれば、データが低優先度に分類されている場合（９４０，Ｙｅｓ）、サーモスタット通信サーバは低優先度データ送信用に予約された通信チャネルを通じてデータを送信する（９４２）。あるいは、データが高優先度に分類された場合（９４０，Ｎｏ）、サーモスタット通信サーバは高優先度データ送信用に予約された通信チャネルを通じてデータを送信する（９４８）。本実施形態において、サーモスタット通信サーバは異なる通信チャネル上にデータを分離しているが、サーモスタットはより簡単に電池レベルデータを取得可能であり、決定を行うことができるため、データを処理するか破棄するかの決定をサーモスタットが行えるようにしている。
【００８２】
図９Ｄはデータを高レベルのパフォーマンスで処理しつつ電池エネルギーを節約するためにサーモスタットで実施される相補的な動作のフローチャートである。本実施形態において、図９Ａのサーモスタット１１２のようなサーモスタットは、電池レベルまたは、１つまたはいくつかの通信チャネルを通じて受信する可能性のあるデータパケットをチェックするために低電力状態から目覚めることができる（９５０）。例えば、サーモスタットは、アクセスポイント９２４からの無線ストローブに応答するため（電池レベルのチェックも行ってよい）、低電力状態から100msに１回目覚めてもよい。ウェイクオンLANイベントがサーモスタットを低電力状態から遷移させ、１つまたは異なるデータ優先レベルに対して予約されたいくつかの通信チャネルを通じて受信したデータパケットを処理させることにより、サーモスタットを目覚めさせてもよい。
【００８３】
いくつかの実施形態において、サーモスタットは、サーモスタット通信サーバ６２０のようなサーモスタット通信サーバとの通信チャネルが確立されていないことを判定してもよい（９５２，Ｎｏ）。従って、本発明の一実施形態は、サーモスタット通信サーバとサーモスタットとの間に２つの通信チャネルを要求し、確立してもよい（９５４）。いくつかの実施形態によれば、サーモスタットは低優先度データタイプおよび高優先度データタイプに分類されたデータを受信するためにサーモスタット上に第１および第２通信チャネルを予約する。サーモスタットはまず、図９ＢのWiFiモジュール９１２のような自身のWiFiモジュールを、内蔵ウェイクオンLAN機能を用いていくつかの通信チャネルの各々から低および高優先度データパケットを受信するように設定する（９５６）。そして、サーモスタットは、電力消費を削減するために低電力状態に戻り、次のイベントまたはデータの受信を待ってもよい（９５８）。
【００８４】
あるいは、通信チャネルが確立されたら（９５２，Ｙｅｓ）、サーモスタットはデータパケットが受信されさらなる処理を要求しているかどうかを判定する（９６０）。いくつかの実施形態において、サーモスタット上のWiFiモジュールは、データパケットヘッダまたはペイロードを検査し、そのデータパケットがデータパケットがさらなる処理を必要とするか、破棄してもよいものかを判定してもよい（９６０，Ｎｏ）。例えば、データパケットがルータ内のNATテーブルエントリの維持を意図したキープアライブパケットである場合またはそのパケットが関連付けられたペイロードを有さない場合に、データパケットは破棄されてよい。パケットが破棄される場合、サーモスタットのヘッドユニットプロセッサ９１４やバックプレートプロセッサ９１６といった他の部品は低電力状態を維持できるので、サーモスタットは全体的な電力消費を節約できる（９６２）。
【００８５】
パケットがさらなる処理を必要とする場合（９６０，Ｙｅｓ）、サーモスタットは受信したデータパケットにサービスを提供するため、サーモスタットの他の部分を起動したり、電源を投入したりしてよい（９６４）。いくつかの実施形態において、サーモスタットはサーモスタットの設定値の変更や他の機能を実行するためにヘッドユニットプロセッサ９１４を起動したり、サーモスタット通信サーバ６２０から要求されるようにセンサ情報を収集するためにバックプレートプロセッサ９１６を起動したりしてよい。一旦パケットが処理もしくは破棄されると、本発明の実施形態はサーモスタットの現在の電池レベルをチェックし、その後のデータパケットを受け入れるか破棄するために通信チャネルを調整する。
【００８６】
サーモスタットが電池充電率を低電池レベル以下であると判定すると（９６８，Ｙｅｓ）、WiFiモジュールは低優先度データに予約された第１通信チャネルを通じて受信されるその後のデータを破棄するように設定される（９７２）。上述の通り、いくつかの実施形態はWiFiモジュールのある通信チャネルおよびポート上のパケットを、そのチャネルのウェイクオンＬＡＮ機能をオフにすることによって破棄する。これにより、そのチャネル上でその後受信される低優先度パケットは無視または破棄されることになる。いくつかの実施形態において、WiFiモジュールは第２通信チャネル上のパケットを適切なポート番号を見いだすためのフィルタを用いて処理するとともに、その選択されたフィルタに対するウェイクオンＬＡＮ機能を有効にするように設定される。最後に、電池充電率が低電池レベルより高い場合（９６８，Ｎｏ）、本発明の実施形態は第１および第２通信チャネルを通じてその後受信するパケットの処理を有効にする（９７８）。例えば、電池レベル充電率が高い場合、本発明の実施形態はより多くのデータを処理するように調整され、サーモスタットの能力と、命令および要求への応答能力とを向上させる。電池レベルのチェックおよびWiFiモジュールの調整後、エネルギー消費を節約するためサーモスタットは低電力状態に戻り、次のイベントおよび／または処理すべきデータを待つ（９５８）。図９Ｅにおけるデータの流れの例は、データの流れと異なる優先度のデータを送信するために複数の通信チャネルを用いるイベントを示している。
【００８７】
この例において、サーモスタットはサーモスタット通信サーバと複数の通信チャネルの確立を開始し、それによってルータはNATテーブルに対応するエントリを作成することになる（９６０）。いくつかの実施形態において、第１通信チャネルは低優先度データタイプ用に予約され、第２通信チャネルは高優先度データ用に予約されている。エネルギーを節約するため、サーモスタットは低電力モードに移行し、次のイベントを待つ（９６４）。ある時間経過後、ロングポーリングインターバルが満了すると、サーモスタット通信サーバはNATテーブルエントリが削除される前にキープアライブパケットを送信する（９６２）。一実施形態において、サーモスタットは低電力モードから目覚め、低電池レベルを検知するとともに周辺状況を記録する。この例において、受信データパケットを処理するかどうかの判断はサーモスタットにゆだねられているため、サーモスタットはサーモスタット通信サーバに転送しない。代わりにサーモスタットは高優先度データタイプを受信するポート以外の全てのポートに対するウェイクオンＬＡＮ(WOL)機能をオフする（９７０）。例えば、第１通信チャネルは低優先度データ用に予約されているため、第１通信チャネルを通じてその後受信するパケットは破棄されるであろう。その後のある時点で、図５における、サーモスタットアクセスクライアント５１４を実行するタブレット５０６のようなクライアント機器が、サーモスタットへソフトウェアアップデートをダウンロードするようサーモスタット通信サーバに要求する（９７２）。サーモスタット通信サーバはその要求を低優先度データタイプに分類し、サーモスタットの電池レベルとは無関係に第１通信チャネルを通じて送信する（９７４）。いくつかの実施形態において、サーモスタット通信サーバは異なる優先度データタイプを異なる通信チャネルに振り分け、受信パケットを破棄するか処理するかをサーモスタットに決定させる。サーモスタットはソフトウェアアップデート要求を受信するが、電池レベルが低く、また第１通信チャネルはそれが受信しうる低優先度データを無視するように設定されているため、結局はパケットを破棄する（９７６）。図１０Ａ〜１０Ｂは複数のサーモスタットでサーモスタット報告グループを生成し、報告イベントを１つの共通イベントログにまとめるための模式的なブロック図およびフローチャートを提供する。
【００８８】
図１０Ａにおいて、サーモスタット報告グループ１００２は、サーモスタット１００４，１００６，１００８，１０１０を含む、ネットワーク内のいくつかのサーモスタットから形成されており、各サーモスタットの現在の電池レベルは電池イメージ１００４Ａ，１００６Ａ，１００８Ａ，１０１０Ａでそれぞれ表されている。エネルギーを節約するため、イベントログ情報を他のグループメンバから受信し、ネットワークを通じて中央サーバにアップロードするための代理報告サーモスタットがサーモスタット報告グループから選択される。この例では、電池イメージ１００４Ａで表される電池レベルがサーモスタット報告グループ内で最高であることから、サーモスタット１００４が代理報告サーモスタットとして選択されている。選択されると、サーモスタット１００４はネットワーク上で他のサーモスタット１００６，１００８，および１０１０からそれぞれローカルトランスファー１０１２，１０１４，および１０１６を通じてログデータを収集する。
【００８９】
これらローカルトランスファーは、各エントリについてタイムスタンプ、イベントタイプ、機器IDおよびデータコンテンツを特定する１つの共通ログ１０１６にまとめられる、各サーモスタットからのログデータを含んでいる。ある時間経過後、またはサーモスタット１００４内のメモリ（不図示）が満たされると、共通ログ１０１６は通信チャネルを通じてクラウドベースの管理サーバ５１６のような中央サーバにアップロードされる。この手法は、各サーモスタットが別個にアップロードしなければならない場合よりも少ない回数でイベントログ情報を収集することを可能にする。またこの手法は、低電池レベルを有するサーモスタットが電池を節約することを可能にしながら、図５のクラウドベースの管理サーバ５１６のようなサーバでそのようなデータを収集ならびに解析することを可能にする。図１０Ｂは、本発明の実施形態に従って、代理報告サーモスタットおよび共通イベントログに報告イベントを収集する動作のフローチャートである。
【００９０】
一実施形態において、サーモスタット報告グループはネットワーク上の複数の電池駆動型サーモスタットから生成される（１０１６）。電池駆動型サーモスタットはそれぞれ別個に、サーモスタットで生じている１つ以上の動作およびイベントに対応する個々のイベントログに、イベントを記録する。場合によっては、イベントは、各サーモスタットに内蔵されている湿度センサ、温度センサ、パッシブ赤外線センサ、周辺光センサ、アクティブ近接センサや他のセンサから提供されるセンサ情報を含んでもよい。イベントログはまた、サーモスタットの現在または変更された設定を記述する情報および、それら設定が変更された時刻に関するタイムスタンプを含んでもよい。上述の通り、本発明の実施形態は他のサーモスタットを代表する代理報告サーモスタットを選択する
【００９１】
（１０１８）。いくつかの実施形態において、代理報告サーモスタットはサーモスタット報告グループ内の他の電池駆動型サーモスタットと比較して最も高い電池レベルを有することに基づいて選択される。例えば、図１０Ａにおけるサーモスタット１００４はグループ内で最高に充電された電池を有するため、代理報告サーモスタットとして選択される。時間とともに、代理報告サーモスタットはサーモスタット報告グループ内の各サーモスタットから記録されたイベントを収集する（１０２０）。
【００９２】
代理報告サーモスタットは、無線アドホック接続やネットワークアクセスポイントまたはルータを通じて利用可能な無線接続を用いてサーモスタット報告グループ内の各サーモスタットからこれらのイベントを収集してよい。代理報告サーモスタットは通常、自身の記憶装置が一杯になるか、それらログに対する最大割り当てに達するまで、他のサーモスタットからデータを収集し続ける（１０２２）。例えば、サーモスタットは、アップロード処理を起動する前に複数のサーモスタットからのログ情報を保存するために500メガバイトを割り当ててよい。代理報告サーモスタット上の記憶装置が満たされると、代理報告サーモスタットの一実施形態はサーモスタットイベントを保存するためにサーモスタット管理システムへ複数の通信チャネルを確立する（１０２４）。
【００９３】
例えば、これはプライベートネットワーク上のサーモスタットとサーモスタット管理システムとの間の、インターネットを通じた接続であってよい。次に、一実施形態は、サーモスタット報告グループ内の複数のサーモスタットを代理して、代理報告サーモスタットに収集されたイベントをサーモスタット管理システムに、通信チャネルを通じてアップロードする（１０２６）。共通イベントログ内のデータのアップロードが成功すると、本発明の実施形態は代理報告サーモスタット内の、サーモスタット報告グループから収集されたイベントの記憶領域を消去する（１０２８）。これにより、代理報告サーモスタットはさらなるイベントをイベントログに含めることができる。複数の例および実施形態を説明してきたが、それらは本発明のいかなる見地も限定するものではない。
【００９４】
従って、本発明の精神および範囲を離れること無しに様々な変更がなされうる。実際、サーモスタット、HVACおよび他の機器の通信および動作のための方法およびシステムが提供されてきたが、これらの方法およびシステムは単なる例示を目的としたものであって、全体的な発明の範囲を限定する意味はない。本明細書で用いられる「サーモスタット」という用語は、HVACシステムへの直接制御線を有するサーモスタットを含むことができるが、HVACシステムへに直接的には接続されていないが、筐体内の１カ所で周辺温度を検知し、同じ筐体内の別のどこかに配置された（かつHVACシステムへの直接制御線を有する）別個のサーモスタットユニットとの有線または無線データ接続を用いて協調的に通信するサーモスタットも含むことができると解すべきである。従って、本発明は上述した実施形態に限定されず、等価物を踏まえた、添付した特許請求の範囲によって規定される。
【図１】
0005925796.tif 000002
【図２】
0005925796.tif 000003
【図３Ａ】
0005925796.tif 000004
【図３Ｂ】
0005925796.tif 000005
【図４Ａ】
0005925796.tif 000006
【図４Ｂ】
0005925796.tif 000007
【図５】
0005925796.tif 000008
【図６Ａ】
0005925796.tif 000009
【図６Ｂ】
0005925796.tif 000010
【図７】
0005925796.tif 000011
【図８Ａ】
0005925796.tif 000012
【図８Ｂ】
0005925796.tif 000013
【図９Ａ】
0005925796.tif 000014
【図９Ｂ】
0005925796.tif 000015
【図９Ｃ】
0005925796.tif 000016
【図９Ｄ】
0005925796.tif 000017
【図９Ｅ】
0005925796.tif 000018
【図１０Ａ】
0005925796.tif 000019
【図１０Ｂ】
0005925796.tif 000020