IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ビュー, インコーポレイテッドの特許一覧

特表2023-517910自己オーケストレーティングネットワーク
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-04-27
(54)【発明の名称】自己オーケストレーティングネットワーク
(51)【国際特許分類】
   H04L 41/044 20220101AFI20230420BHJP
   H04L 41/045 20220101ALI20230420BHJP
   H04L 41/0803 20220101ALI20230420BHJP
【FI】
H04L41/044
H04L41/045
H04L41/0803
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2022554275
(86)(22)【出願日】2021-03-11
(85)【翻訳文提出日】2022-10-12
(86)【国際出願番号】 US2021021833
(87)【国際公開番号】W WO2021183726
(87)【国際公開日】2021-09-16
(31)【優先権主張番号】17/194,795
(32)【優先日】2021-03-08
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】62/988,861
(32)【優先日】2020-03-12
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.BLUETOOTH
2.HDMI
3.ANDROID
(71)【出願人】
【識別番号】509335373
【氏名又は名称】ビュー, インコーポレイテッド
【住所又は居所原語表記】195 S. Milpitas Blvd., Milpitas, CA 95035 U.S.A.
(74)【代理人】
【識別番号】110000877
【氏名又は名称】弁理士法人RYUKA国際特許事務所
(72)【発明者】
【氏名】カンナ、ニティーン
(72)【発明者】
【氏名】ファム、ダレル、キュー.
(72)【発明者】
【氏名】タイ、ダニエル、ダー
(57)【要約】
本明細書では、様々なクラスタが開示される。クラスタは、監督役割及び従属者役割を有する処理ノードを含む。クラスタ内のノードは、監督役割又は従属者役割を有することができる。クラスタは、その役割を自己オーケストレートすることができる。ノードの役割は、クラスタによって(例えば、自律的に及び/又は自動的に)割り当てる、及び/又は再割り当てすることができる。そのようなシステムは、例えば、施設内で、クラスタの自動コミッショニングを達成し得る。
【選択図】図9

【特許請求の範囲】
【請求項1】
施設のローカルネットワーク内での少なくとも1つのワークオーダのデプロイメントのための方法であって、
(a)複数のノードであって、前記複数のノードがクラスタを形成しており、前記複数のノードが施設内に配置されており、かつ前記施設の前記ローカルネットワークに動作可能に結合されている、複数のノードをオブザーバエージェント群としてアクティブにすることと、
(b)前記オブザーバエージェント群のうちのオブザーバエージェントを使用して、前記クラスタにクエリであって、前記クエリは、前記複数のノードのうちのいずれかにマスタノードの役割が割り当てられているかどうかを問い合わせる、クエリをブロードキャストし、応答を待つことと、
(c)前記オブザーバエージェントが前記クエリに対する肯定応答を受信しない場合、(i)前記オブザーバエージェントに前記マスタノードの前記役割を割り当て、(ii)前記マスタノードとは異なる前記複数のノードのうちのいずれかのノードにワーカノードの役割を割り当てて、少なくとも1つのワーカノードを形成することと、
(d)前記マスタノードを使用して、(I)少なくとも1つのワークオーダを取得し、(II)前記少なくとも1つのワークオーダを前記少なくとも1つのワーカノードのうちのいずれかの間でオーケストレートすることと、を含む、方法。
【請求項2】
前記マスタノードが、前記少なくとも1つのワークオーダを前記少なくとも1つのワーカノードにデプロイする、請求項1に記載の方法。
【請求項3】
前記少なくとも1つのワーカノードが、前記施設内に配置された少なくとも1つのデバイスに通信可能に結合されており、前記少なくとも1つのワークオーダが、前記少なくとも1つのデバイスを動作させるための1つ以上のコマンドを含む、請求項1に記載の方法。
【請求項4】
前記少なくとも1つのデバイスが、複数のセンサ又は1つのセンサ及びエミッタを含むデバイスアンサンブルに含まれる、請求項3に記載の方法。
【請求項5】
前記ネットワークが、通信及び電力を1つのケーブル上で伝送するように構成されている、請求項1に記載の方法。
【請求項6】
前記通信が、少なくとも第3世代(3G)、第4世代(4G)、又は第5世代(5G)セルラー通信プロトコルに準拠するセルラー通信を含む、請求項5に記載の方法。
【請求項7】
前記通信が、メディア又は制御通信を含む、請求項5に記載の方法。
【請求項8】
前記ネットワークが、環境を制御するように構成された制御システム、又は前記施設のメッセージングシステムに動作可能に結合されている、請求項1に記載の方法。
【請求項9】
複数のオブザーバエージェントが、マスタノードの前記役割を前記複数のノードのうちの2つ以上のノードに割り当てて、複数のマスタノードを形成し、前記複数のマスタノードが、ワークオーダのデプロイメントを処理する、請求項1に記載の方法。
【請求項10】
前記複数のマスタノードが、ワークオーダのデプロイメントを共同で処理する、請求項9に記載の方法。
【請求項11】
前記複数のマスタノードが、ワークオーダのデプロイメントを階層的に処理する、請求項9に記載の方法。
【請求項12】
前記複数のマスタノードの第1のマスタノードが、ワークオーダの第1のグループのデプロイメントを処理し、前記複数のマスタノードの第2のマスタノードが、ワークオーダの第2のグループのデプロイメントを処理する、請求項9に記載の方法。
【請求項13】
ワークオーダの前記第1のグループ及びワークオーダの前記第2のグループが、それらのオーダタイミング、デプロイメントタイミング、それらが標的とするデバイスタイプ、及び/又はそれらが標的とするデバイス位置において異なる、請求項12に記載の方法。
【請求項14】
前記マスタノードの前記割り当てが、(a)前記マスタノードによって行われる1つ以上のアサーション及び(b)前記1つ以上のアサーションが発生する時間順に、少なくとも部分的に従っている、請求項1に記載の方法。
【請求項15】
前記マスタノードが第1のマスタノードであり、前記オブザーバエージェントが第1のオブザーバエージェントであり、前記クエリが第1のクエリであり、前記方法が、前記オブザーバエージェント群のうちの第2のオブザーバエージェントを使用して、前記第1のクエリのブロードキャストの時間と少なくとも部分的に重複する第2のクエリを前記クラスタにブロードキャストすることを更に含み、前記第2のクエリは、前記複数のノードのうちのいずれかにマスタノードの役割が割り当てられているかどうかを問い合わせる、請求項1に記載の方法。
【請求項16】
(A)前記クラスタを構成するノードの数を決定することと、
(B)前記数が閾値を超えている場合、少なくとも1つのワーカノードの役割をマスタノードの前記役割に昇格させることと、を更に含む、請求項1に記載の方法。
【請求項17】
前記ワーカノードを昇格させた後のマスタノードの総数が奇数である、請求項16に記載の方法。
【請求項18】
前記昇格されるワーカノードがランダムに選択される、請求項16に記載の方法。
【請求項19】
複数のワーカノードがマスタノードの前記役割に昇格され、前記昇格されるワーカノードが、オブザーバエージェントによって送信されたブロードキャストメッセージに応答するワーカノードから選択される、請求項16に記載の方法。
【請求項20】
前記マスタノードが前記クラスタを初期化すること、を更に含む、請求項1に記載の方法。
【請求項21】
施設のローカルネットワーク内での少なくとも1つのワークオーダのデプロイメントのための装置であって、(i)クラスタを形成し、(ii)施設内に配置されおり、(iii)前記施設のローカルネットワークに動作可能に結合されており、(iv)回路を含む、複数のノードを備え,(v)前記回路は、
(a)前記複数のノードをオブザーバエージェント群としてアクティブにし、
(b)前記オブザーバエージェント群のうちのオブザーバエージェントを使用して、前記複数のノードのうちのいずれかにマスタノードの役割が割り当てられているかどうかを問い合わせる、クエリを前記クラスタにブロードキャストし、応答を待ち、
(c)前記オブザーバエージェントが前記クエリに対する肯定応答を受信しない場合、(i)前記オブザーバエージェントに前記マスタノードの前記役割を割り当て、(ii)前記マスタノードとは異なる前記複数のノードのうちのいずれかのノードにワーカノードの役割を割り当てて、少なくとも1つのワーカノードを形成し、
(d)前記マスタノードを使用して、(I)少なくとも1つのワークオーダを取得し、(II)前記少なくとも1つのワークオーダを前記少なくとも1つのワーカノードのうちのいずれかの間でオーケストレートするように構成されている、装置。
【請求項22】
前記装置は、前記マスタノードが、前記少なくとも1つのワークオーダを前記少なくとも1つのワーカノードにデプロイするように構成されている、請求項21に記載の装置。
【請求項23】
前記装置は、前記少なくとも1つのワーカノードが、前記施設内に配置された少なくとも1つのデバイスに通信可能に結合されているように構成されており、前記少なくとも1つのワークオーダが、前記少なくとも1つのデバイスを動作させるための1つ以上のコマンドを含む、請求項21に記載の装置。
【請求項24】
前記少なくとも1つのデバイスが、複数のセンサ又は1つのセンサ及びエミッタを含むデバイスアンサンブルに含まれる、請求項23に記載の装置。
【請求項25】
前記ネットワークが、通信及び電力を1つのケーブル上で伝送するように構成されている、請求項21に記載の装置。
【請求項26】
前記通信が、少なくとも第3世代(3G)、第4世代(4G)、又は第5世代(5G)セルラー通信プロトコルに準拠するセルラー通信を含む、請求項25に記載の装置。
【請求項27】
前記通信が、メディア又は制御通信を含む、請求項25に記載の装置。
【請求項28】
前記ネットワークが、環境を制御するように構成された制御システム、又は前記施設のメッセージングシステムに動作可能に結合されている、請求項21に記載の装置。
【請求項29】
前記装置は、複数のオブザーバエージェントが、マスタノードの前記役割を前記複数のノードのうちの2つ以上のノードに割り当てて、複数のマスタノードを形成するように構成されており、前記複数のマスタノードが、ワークオーダのデプロイメントを処理する、請求項21に記載の装置。
【請求項30】
前記装置は、前記マスタノードの前記割り当てが、(a)前記マスタノードによって行われる1つ以上のアサーション及び(b)前記1つ以上のアサーションが発生する時間順に、少なくとも部分的に従うように構成されている、請求項21に記載の装置。
【請求項31】
前記装置は、前記マスタノードが第1のマスタノードであるように構成されており、前記オブザーバエージェントが第1のオブザーバエージェントであり、前記クエリが第1のクエリであり、前記オブザーバエージェント群のうちの第2のオブザーバエージェントが、前記第1のクエリのブロードキャストの時間と重複する第2のクエリを前記クラスタにブロードキャストし、前記第2のクエリは、前記複数のノードのうちのいずれかにマスタノードの役割が割り当てられているかどうかを問い合わせる、請求項21に記載の装置。
【請求項32】
前記装置は、
(A)前記クラスタを構成するノードの数を決定し、
(B)前記数が閾値を超えている場合、少なくとも1つのワーカノードの役割をマスタノードの前記役割に昇格させるように構成されている、請求項21に記載の装置。
【請求項33】
前記装置は、前記ワーカノードを昇格させた後のマスタノードの総数が奇数であるように構成されている、請求項32に記載の装置。
【請求項34】
前記装置は、前記昇格されるワーカノードがランダムに選択されるように構成されている、請求項32に記載の装置。
【請求項35】
前記装置は、複数のワーカノードがマスタノードの前記役割に昇格されるように構成されており、前記昇格される複数のワーカノードが、タイムシーケンスに従って選択される、請求項32に記載の装置。
【請求項36】
前記装置は、前記タイムシーケンスが、前記クラスタにワーカノードが参加した順序を含む連続的なリストからなるように構成されている、請求項35に記載の装置。
【請求項37】
前記装置は、複数のワーカノードがマスタノードの前記役割に昇格されるように構成されており、前記昇格されるワーカノードが、オブザーバエージェントによって送信されたブロードキャストメッセージに応答するワーカノードから選択される、請求項32に記載の装置。
【請求項38】
前記マスタノードが前記クラスタを初期化するように、更に構成されている、請求項21に記載の装置。
【請求項39】
施設のローカルネットワーク内での少なくとも1つのワークオーダのデプロイメントのための非一時的なコンピュータプログラム製品であって、前記非一時的なコンピュータプログラム製品は、書き込まれた命令を含み、前記命令は、1つ以上のプロセッサによって実行されると、前記1つ以上のプロセッサに、
(a)複数のノードであって、前記複数のノードがクラスタを形成し、前記複数のノードが施設内に配置され、かつ前記施設の前記ローカルネットワークに動作可能に結合されている、複数のノードをオブザーバエージェント群としてアクティブにすることと、
(b)前記オブザーバエージェント群のうちのオブザーバエージェントを使用して、前記クラスタにクエリであって、前記クエリは、前記複数のノードのうちのいずれかにマスタノードの役割が割り当てられているかどうかを問い合わせる、クエリをブロードキャストし、応答を待つことと、
(c)前記オブザーバエージェントが前記クエリに対する肯定応答を受信しない場合、(i)前記オブザーバエージェントに前記マスタノードの前記役割を割り当て、(ii)前記マスタノードとは異なる前記複数のノードのうちのいずれかのノードにワーカノードの役割を割り当てて、少なくとも1つのワーカノードを形成することと、
(d)前記マスタノードを使用して、(I)少なくとも1つのワークオーダを取得し、(II)前記少なくとも1つのワークオーダを前記少なくとも1つのワーカノードのうちのいずれかの間でオーケストレートすることと、を含む動作を実行させる、非一時的なコンピュータプログラム製品。
【請求項40】
前記マスタノードが、前記少なくとも1つのワークオーダを前記少なくとも1つのワーカノードにデプロイする、請求項39に記載の非一時的なコンピュータプログラム製品。
【請求項41】
前記複数のノードが、前記1つ以上のプロセッサを含む、請求項39に記載の非一時的なコンピュータプログラム製品。
【請求項42】
前記1つ以上のプロセッサが、前記複数のノードを含む、請求項39に記載の非一時的なコンピュータプログラム製品。
【請求項43】
前記少なくとも1つのワーカノードが、前記施設内に配置された少なくとも1つのデバイスに通信可能に結合されており、前記少なくとも1つのワークオーダが、前記少なくとも1つのデバイスを動作させるための1つ以上のコマンドを含む、請求項39に記載の非一時的なコンピュータプログラム製品。
【請求項44】
前記少なくとも1つのデバイスが、複数のセンサ又は1つのセンサ及びエミッタを含むデバイスアンサンブルに含まれる、請求項43に記載の非一時的なコンピュータプログラム製品。
【請求項45】
前記ネットワークが、通信及び電力を1つのケーブル上で伝送するように構成されている、請求項39に記載の非一時的なコンピュータプログラム製品。
【請求項46】
前記通信が、少なくとも第3世代(3G)、第4世代(4G)、又は第5世代(5G)セルラー通信プロトコルに準拠するセルラー通信を含む、請求項45に記載の非一時的なコンピュータプログラム製品。
【請求項47】
前記通信が、メディア又は制御通信を含む、請求項45に記載の非一時的なコンピュータプログラム製品。
【請求項48】
前記ネットワークが、環境を制御するように構成された制御システム、又は前記施設のメッセージングシステムに動作可能に結合されている、請求項39に記載の非一時的なコンピュータプログラム製品。
【請求項49】
複数のオブザーバエージェントが、マスタノードの前記役割を前記複数のノードのうちの2つ以上のノードに割り当てて、複数のマスタノードを形成し、前記複数のマスタノードが、ワークオーダのデプロイメントを処理する、請求項39に記載の非一時的なコンピュータプログラム製品。
【請求項50】
前記複数のマスタノードが、ワークオーダのデプロイメントを共同で処理する、請求項49に記載の非一時的なコンピュータプログラム製品。
【請求項51】
前記複数のマスタノードが、ワークオーダのデプロイメントを階層的に処理する、請求項49に記載の非一時的なコンピュータプログラム製品。
【請求項52】
前記複数のマスタノードの第1のマスタノードが、ワークオーダの第1のグループのデプロイメントを処理し、前記複数のマスタノードの第2のマスタノードが、ワークオーダの第2のグループのデプロイメントを処理する、請求項49に記載の非一時的なコンピュータプログラム製品。
【請求項53】
ワークオーダの前記第1のグループ及びワークオーダの前記第2のグループが、それらのオーダタイミング、デプロイメントタイミング、それらが標的とするデバイスタイプ、及び/又はそれらが標的とするデバイス位置において異なる、請求項52に記載の非一時的なコンピュータプログラム製品。
【請求項54】
前記マスタノードの前記割り当てが、(a)前記マスタノードによって行われる1つ以上のアサーション及び/又は(b)前記1つ以上のアサーションが発生する時間順に、少なくとも部分的に従っている、請求項39に記載の非一時的なコンピュータプログラム製品。
【請求項55】
マスタノードが第1のマスタノードであり、前記オブザーバエージェントが第1のオブザーバエージェントであり、前記クエリが第1のクエリであり、前記動作が、前記オブザーバエージェント群のうちの第2のオブザーバエージェントを使用して、前記第1のクエリのブロードキャストの時間と重複する第2のクエリを前記クラスタにブロードキャストすることを更に含み、前記第2のクエリは、前記複数のノードのうちのいずれかにマスタノードの役割が割り当てられているかどうかを問い合わせる、請求項39に記載の非一時的なコンピュータプログラム製品。
【請求項56】
前記動作が、
(A)前記クラスタを構成するノードの数を決定することと、
(B)前記数が閾値を超えている場合、少なくとも1つのワーカノードの役割をマスタノードの前記役割に昇格させることと、を更に含む、請求項39に記載の非一時的なコンピュータプログラム製品。
【請求項57】
前記ワーカノードを昇格させた後のマスタノードの総数が奇数である、請求項56に記載の非一時的なコンピュータプログラム製品。
【請求項58】
前記昇格されるワーカノードがランダムに選択される、請求項56に記載の非一時的なコンピュータプログラム製品。
【請求項59】
複数のワーカノードがマスタノードの前記役割に昇格され、前記昇格されるワーカノードが、タイムシーケンスに従って選択される、請求項56に記載の非一時的なコンピュータプログラム製品。
【請求項60】
複数のワーカノードがマスタノードの前記役割に昇格され、前記昇格されるワーカノードが、オブザーバエージェントによって送信されたブロードキャストメッセージに応答するワーカノードから選択される、請求項56に記載の非一時的なコンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願)
本出願は、参照によりその全体が本明細書に組み込まれる2020年3月12日に出願された「SELF ORCHESTRATING NETWORK」と題された米国特許仮出願第62/988,861号の優先権を主張する。本出願はまた、2019年2月19日に出願された「CLOUD-BASED TECHNIQUES FOR MANAGING SITES HAVING SWITCHABLE OPTICAL DEVICES」と題された米国特許仮出願第62/807,668号の優先権を主張する。2020年2月18日に出願された「REMOTE MANAGEMENT OF A FACILITY」と題された国際特許出願第PCT/US20/18677号の国内移行である、2021年3月8日に出願された「REMOTE MANAGEMENT OF A FACILITY」と題された米国特許出願第17/194,795号の一部継続出願であり、各々は、参照によりその全体が本明細書に組み込まれる。
【背景技術】
【0002】
処理システムは、ネットワーク内で互いにリンクされ得る複数のノードを有し得る。処理システムは、いくつかのノードが、1つ以上の施設(すなわち、エンクロージャ)内の様々なシステムを動作させるように構成され得るソフトウェア及び/又はハードウェアを含み得る、制御システムとすることができる。施設は、少なくとも1つの建物又は建物の任意の部分を含むことができる。制御されるオペレーティングシステムとしては、スマートウィンドウ(例えば、エレクトロクロミックデバイスなどの絶縁ガラスユニットを有する)、建物管理システム、環境センサ、及び/又はアクチュエータ(例えば、HVACシステム)を挙げることができる。オンプレミスの階層的なコントローラネットワークを作成及び維持するために、複数の処理ノードを含む処理ハードウェア(例えば、及びソフトウェア)システムをデプロイする場合、それは時々、全体的に又は少なくとも部分的に手動である、ノード(例えば、多くの制御及び機能要素の間の制御ノード)の労働集約的かつ冗長な割り当てによってコミッションされる。予め形成されたシステムに新しいノードが追加されるとき、これらの新たに追加されるノードもまた、典型的には、そのシステムへの手動による、又は少なくとも部分的に手動による割り当てを必要とし、これにはしばしば、新しいノードを収容するために既存のシステムを再プログラミングすることが含まれる。そのような手動設置方法は、かなりのコストをもたらす可能性があり、及び/又は人的過誤を起こりやすくする可能性がある。人的過誤は、そのような複雑なシステムの有害な機能不全及び/又はデータセキュリティの低下につながり得る。
【発明の概要】
【0003】
本明細書に開示される様々な態様は、オンプレミスネットワーク内の複数の処理ノードをコミッションすることに関連する欠点の少なくとも一部(as least part)を軽減する。
【0004】
一態様では、ノードのソフトウェアセットアップ及び設置(すなわち、コミッショニング)を、例えば、ノード(例えば、プロセッサ)の各々に自己オーケストレーティング制御スキームを事前に設置することによって、自動的に行うことができる。人的過誤の多くの潜在的な発生源を回避すると同時に、処理システムのデプロイメントに関連するコスト、労働、メンテナンス、及び/又はサポートを低減することができる。自己オーケストレーティングシステムは、単一の故障点(例えば、単一のノードの機能不全によるもの)を回避することによって堅牢性を向上させることができる。
【0005】
別の態様では、少なくとも1つのワークオーダのデプロイメントのための方法であり、この方法は、(a)複数のノードであって、この複数のノードがクラスタを形成する、複数のノードをオブザーバエージェント群としてアクティブにすることと、(b)オブザーバエージェント群のうちのオブザーバエージェントを使用して、クラスタにクエリであって、このクエリは、複数のノードのうちのいずれかにマスタノードの役割が割り当てられているかどうかを問い合わせる、クエリをブロードキャストし、応答を待つことと、(c)オブザーバエージェントがクエリに対する肯定応答を受信しない場合、(i)オブザーバエージェントにマスタノードの役割を割り当て、(ii)マスタノードとは異なる複数のノードのうちのいずれかのノードにワーカノードの役割を割り当てて、少なくとも1つのワーカノードを形成することと、(d)マスタノードを使用して、(I)少なくとも1つのワークオーダを取得し、(II)少なくとも1つのワークオーダを少なくとも1つのワーカノードのうちのいずれかの間でオーケストレートすることと、を含む。
【0006】
いくつかの実施形態では、少なくとも1つのワークオーダのデプロイメントは、施設のローカルネットワーク(例えば、施設の構築時に施設内に実装された第1のネットワーク、及び/又は施設の外部エンベロープ内に少なくとも部分的に配置されたネットワーク)内での少なくとも1つのワークオーダのデプロイメントである。いくつかの実施形態では、複数のノードは、施設内に配置され、施設のローカルネットワークに動作可能に結合されている。いくつかの実施形態では、マスタノードは、少なくとも1つのワークオーダを少なくとも1つのワーカノードにデプロイする。いくつかの実施形態では、少なくとも1つのワーカノードは、施設内に(例えば、施設のエンクロージャ内に)配置された少なくとも1つのデバイスに通信可能に結合されている。いくつかの実施形態では、少なくとも1つのデバイスは、複数のセンサ又は1つのセンサ及びエミッタを含むデバイスアンサンブルに含まれる。いくつかの実施形態では、ネットワークは、通信及び電力を1つのケーブル(例えば、同軸ケーブル)上で伝送するように構成されている。いくつかの実施形態では、通信は、少なくとも第3世代(3G)、第4世代(4G)、又は第5世代(5G)セルラー通信プロトコルに準拠するセルラー通信を含む。いくつかの実施形態では、通信は、メディア又は制御通信を含む。いくつかの実施形態では、ネットワークは、環境を制御するように構成された制御システム、又は施設のメッセージングシステム(例えば、警報システム、安全システム、健康システム、娯楽システム、又は教育システム)に動作可能に結合されている。いくつかの実施形態では、少なくとも1つのワークオーダは、デバイスを動作させるための1つ以上のコマンドを含む。いくつかの実施形態では、複数のオブザーバエージェントが、マスタノードの役割を複数のノードのうちの2つ以上のノードに割り当てて、複数のマスタノードを形成し、この複数のマスタノードは、ワークオーダのデプロイメントを処理する。いくつかの実施形態では、複数のマスタノードは、ワークオーダのデプロイメントを共同で処理する。いくつかの実施形態では、複数のマスタノードは、ワークオーダのデプロイメントを階層的に処理する。いくつかの実施形態では、複数のマスタノードの第1のマスタノードが、ワークオーダの第1のグループのデプロイメントを処理し、複数のマスタノードの第2のマスタノードが、ワークオーダの第2のグループのデプロイメントを処理する。いくつかの実施形態では、ワークオーダの第1のグループ及びワークオーダの第2のグループは、それらのオーダタイミング、デプロイメントタイミング、それらが標的とするデバイスタイプ、及び/又はそれらが標的とするデバイス位置において異なる。いくつかの実施形態では、マスタノードの割り当ては、(A)マスタノードによって行われる1つ以上のアサーション及び(B)1つ以上のアサーションが発生する時間順に、少なくとも部分的に従っている。いくつかの実施形態では、マスタノードは第1のマスタノードであり、オブザーバエージェントは第1のオブザーバエージェントであり、クエリは第1のクエリであり、方法は、オブザーバエージェント群のうちの第2のオブザーバエージェントを使用して、第1のクエリのブロードキャストの時間と少なくとも部分的に重複する第2のクエリをクラスタにブロードキャストすることを更に含み、第2のクエリは、複数のノードのうちのいずれかにマスタノードの役割が割り当てられているかどうかを問い合わせる。いくつかの実施形態では、方法は、(A)クラスタを構成するノードの数を決定することと、(B)数が閾値を超えている場合、少なくとも1つのワーカノードの役割をマスタノードの役割に昇格させることと、を更に含む。いくつかの実施形態では、ワーカノードを昇格させた後のマスタノードの総数は奇数である。いくつかの実施形態では、昇格されるワーカノードはランダムに選択される。いくつかの実施形態では、複数のワーカノードがマスタノードの役割に昇格され、昇格されるワーカノードは、タイムシーケンスに従って選択される。いくつかの実施形態では、タイムシーケンスは、クラスタにワーカノードが参加した順序を含む連続的なリストからなる。いくつかの実施形態では、複数のワーカノードがマスタノードの役割に昇格され、昇格されるワーカノードは、オブザーバエージェントによって送信されたブロードキャストメッセージに応答するワーカノードから選択される。いくつかの実施形態では、方法は、マスタノードがクラスタを初期化することを更に含む。いくつかの実施形態では、クラスタを初期化することは、クラスタの外側の所定の場所から遠隔転送を介してサービスデプロイメントドキュメントを電子的に取得することを含む。いくつかの実施形態では、クラスタを初期化することは、サービスデプロイメントドキュメントに従って、ワーカノード内のそれぞれのオーケストレータを構成することを含む。
【0007】
別の態様では、少なくとも1つのワークオーダのデプロイメントのための装置が、クラスタを形成する複数のノードを含み、複数のノードは、(a)複数のノードをオブザーバエージェント群としてアクティブにし、(b)オブザーバエージェント群のうちのオブザーバエージェントを使用して、複数のノードのうちのいずれかにマスタノードの役割が割り当てられているかどうかを問い合わせるクエリをクラスタにブロードキャストし、応答を待ち、(c)オブザーバエージェントがクエリに対する肯定応答を受信しない場合、(i)オブザーバエージェントにマスタノードの役割を割り当て、(ii)マスタノードとは異なる複数のノードのうちのいずれかのノードにワーカノードの役割を割り当てて、少なくとも1つのワーカノードを形成し、(d)マスタノードを使用して、(I)少なくとも1つのワークオーダを取得し、(II)少なくとも1つのワークオーダを少なくとも1つのワーカノードのうちのいずれかの間でオーケストレートするように構成された回路を含む。
【0008】
いくつかの実施形態では、装置は、施設のローカルネットワーク内での少なくとも1つのワークオーダのデプロイメントのための装置であり、(i)施設内に配置されている、及び/又は(iii)施設のローカルネットワーク(例えば、施設の構築時に施設内に実装された第1のネットワーク、及び/又は施設の外部エンベロープ内に少なくとも部分的に配置されたネットワーク)に動作可能に結合されている、複数のノードを含む。いくつかの実施形態では、装置は、マスタノードが、少なくとも1つのワークオーダを少なくとも1つのワーカノードにデプロイするように構成されている。いくつかの実施形態では、装置は、少なくとも1つのワーカノードが、施設内に(例えば、施設のエンクロージャ内に)配置された少なくとも1つのデバイスに通信可能に結合されるように構成されている。いくつかの実施形態では、少なくとも1つのワークオーダは、少なくとも1つのデバイスを動作させるための1つ以上のコマンドを含む。いくつかの実施形態では、少なくとも1つのデバイスは、複数のセンサ又は1つのセンサ及びエミッタを含むデバイスアンサンブルに含まれる。いくつかの実施形態では、ネットワークは、通信及び電力を1つのケーブル(例えば、同軸ケーブル)上で伝送するように構成されている。いくつかの実施形態では、通信は、少なくとも第3世代(3G)、第4世代(4G)、又は第5世代(5G)セルラー通信プロトコルに準拠するセルラー通信を含む。いくつかの実施形態では、通信は、メディア又は制御通信を含む。いくつかの実施形態では、ネットワークは、環境を制御するように構成された制御システム、又は施設のメッセージングシステム(例えば、警報システム、安全システム、健康システム、娯楽システム、又は教育システム)に動作可能に結合されている。いくつかの実施形態では、装置は、複数のオブザーバエージェントがマスタノードの役割を複数のノードのうちの2つ以上のノードに割り当てて複数のマスタノードを形成するように構成されており、この複数のマスタノードは、ワークオーダのデプロイメントを処理する。いくつかの実施形態では、複数のマスタノードは、ワークオーダのデプロイメントを共同で処理する。いくつかの実施形態では、複数のマスタノードは、ワークオーダのデプロイメントを階層的に処理する。いくつかの実施形態では、複数のマスタノードの第1のマスタノードが、ワークオーダの第1のグループのデプロイメントを処理し、複数のマスタノードの第2のマスタノードが、ワークオーダの第2のグループのデプロイメントを処理する。いくつかの実施形態では、ワークオーダの第1のグループ及びワークオーダの第2のグループは、それらのオーダタイミング、デプロイメントタイミング、それらが標的とするデバイスタイプ、及び/又はそれらが標的とするデバイス位置において異なる。いくつかの実施形態では、装置は、マスタノードの割り当てが、(AB)マスタノードによって行われる1つ以上のアサーション及び()1つ以上のアサーションが発生する時間順に、少なくとも部分的に従うように構成されている。いくつかの実施形態では、装置は、マスタノードが第1のマスタノードであるように構成されており、オブザーバエージェントは第1のオブザーバエージェントであり、クエリは第1のクエリであり、オブザーバエージェント群のうちの第2のオブザーバエージェントが、第1のクエリのブロードキャストの時間と重複する第2のクエリをクラスタにブロードキャストし、第2のクエリは、複数のノードのうちのいずれかにマスタノードの役割が割り当てられているかどうかを問い合わせる。いくつかの実施形態では、装置は、(A)クラスタを構成するノードの数を決定し、(B)数が閾値を超えている場合、少なくとも1つのワーカノードの役割をマスタノードの役割に昇格させるように構成されている。いくつかの実施形態では、装置は、ワーカノードを昇格させた後のマスタノードの総数が奇数であるように構成されている。いくつかの実施形態では、装置は、昇格されるワーカノードがランダムに選択されるように構成されている。いくつかの実施形態では、装置は、複数のワーカノードがマスタノードの役割に昇格されるように構成されており、昇格されるワーカノードは、タイムシーケンスに従って選択される。いくつかの実施形態では、装置は、タイムシーケンスが、クラスタにワーカノードが参加した順序を含む連続的なリストからなるように構成されている。いくつかの実施形態では、装置は、複数のワーカノードがマスタノードの役割に昇格されるように構成されており、昇格されるワーカノードは、オブザーバエージェントによって送信されたブロードキャストメッセージに応答するワーカノードから選択される。いくつかの実施形態では、装置は、マスタノードがクラスタを初期化するように、更に構成されている。いくつかの実施形態では、装置は、クラスタを初期化することがクラスタの外側の所定の場所から遠隔転送を介してサービスデプロイメントドキュメントを電子的に取得することを含むように構成されている。いくつかの実施形態では、装置は、クラスタを初期化することがサービスデプロイメントドキュメントに従ってワーカノード内のそれぞれのオーケストレータを構成することを含む。
【0009】
別の態様では、少なくとも1つのワークオーダのデプロイメントのための非一時的なコンピュータプログラム製品であって、この非一時的なコンピュータプログラム製品は、書き込まれた命令を含み、命令は、1つ以上のプロセッサによって実行されると、1つ以上のプロセッサに、(a)複数のノードであって、この複数のノードはクラスタを形成する、複数のノードをオブザーバエージェント群としてアクティブにすることと、(b)オブザーバエージェント群のうちのオブザーバエージェントを使用して、クラスタにクエリであって、このクエリは、複数のノードのうちのいずれかにマスタノードの役割が割り当てられているかどうかを問い合わせる、クエリをブロードキャストし、応答を待つことと、(c)オブザーバエージェントがクエリに対する肯定応答を受信しない場合、(i)オブザーバエージェントにマスタノードの役割を割り当て、(ii)マスタノードとは異なる複数のノードのうちのいずれかのノードにワーカノードの役割を割り当てて、少なくとも1つのワーカノードを形成することと、(d)マスタノードを使用して、(I)少なくとも1つのワークオーダを取得し、(II)少なくとも1つのワークオーダを少なくとも1つのワーカノードのうちのいずれかの間でオーケストレートすることと、を含む、動作を実行させる。
【0010】
いくつかの実施形態では、少なくとも1つのワークオーダのデプロイメントは、施設のローカルネットワーク(例えば、施設の構築時に施設内に実装された第1のネットワーク、及び/又は施設の外部エンベロープ内に少なくとも部分的に配置されたネットワーク)内でのものである。いくつかの実施形態では、複数のノードは、施設内に配置され、施設のローカルネットワークに動作可能に結合されている。いくつかの実施形態では、複数のノードは1つ以上のプロセッサを含む。いくつかの実施形態では、1つ以上のプロセッサは複数のノードを含む。いくつかの実施形態では、マスタノードは、少なくとも1つのワークオーダを少なくとも1つのワーカノードにデプロイする。いくつかの実施形態では、少なくとも1つのワーカノードは、施設内に(例えば、施設のエンクロージャ内に)配置された少なくとも1つのデバイスに通信可能に結合されている。いくつかの実施形態では、少なくとも1つのワークオーダは、少なくとも1つのデバイスを動作させるための1つ以上のコマンドを含む。いくつかの実施形態では、少なくとも1つのデバイスは、複数のセンサ又は1つのセンサ及びエミッタを含むデバイスアンサンブルに含まれる。いくつかの実施形態では、ネットワークは、通信及び電力を1つのケーブル(例えば、同軸ケーブル)上で伝送するように構成されている。いくつかの実施形態では、通信は、少なくとも第3世代(3G)、第4世代(4G)、又は第5世代(5G)セルラー通信プロトコルに準拠するセルラー通信を含む。いくつかの実施形態では、通信は、メディア又は制御通信を含む。いくつかの実施形態では、ネットワークは、環境を制御するように構成された制御システム、又は施設のメッセージングシステム(例えば、警報システム、安全システム、健康システム、娯楽システム、又は教育システム)に動作可能に結合されている。いくつかの実施形態では、複数のオブザーバエージェントが、マスタノードの役割を複数のノードのうちの2つ以上のノードに割り当てて、複数のマスタノードを形成し、この複数のマスタノードは、ワークオーダのデプロイメントを処理する。いくつかの実施形態では、複数のマスタノードは、ワークオーダのデプロイメントを共同で処理する。いくつかの実施形態では、複数のマスタノードは、ワークオーダのデプロイメントを階層的に処理する。いくつかの実施形態では、複数のマスタノードの第1のマスタノードが、ワークオーダの第1のグループのデプロイメントを処理し、複数のマスタノードの第2のマスタノードが、ワークオーダの第2のグループのデプロイメントを処理する。いくつかの実施形態では、ワークオーダの第1のグループ及びワークオーダの第2のグループは、それらのオーダタイミング、デプロイメントタイミング、それらが標的とするデバイスタイプ、及び/又はそれらが標的とするデバイス位置において異なる。いくつかの実施形態では、マスタノードの割り当ては、(A)マスタノードによって行われる1つ以上のアサーション及び/又は(B)1つ以上のアサーションが発生する時間順に、少なくとも部分的に従っている。いくつかの実施形態では、マスタノードは第1のマスタノードであり、オブザーバエージェントは第1のオブザーバエージェントであり、クエリは第1のクエリであり、動作は、オブザーバエージェント群のうちの第2のオブザーバエージェントを使用して、第1のクエリのブロードキャストの時間と重複する第2のクエリをクラスタにブロードキャストすることを更に含み、第2のクエリは、複数のノードのうちのいずれかにマスタノードの役割が割り当てられているかどうかを問い合わせる。いくつかの実施形態では、動作は、(A)クラスタを構成するノードの数を決定することと、(B)数が閾値を超えている場合、少なくとも1つのワーカノードの役割をマスタノードの役割に昇格させることと、を更に含む。いくつかの実施形態では、ワーカノードを昇格させた後のマスタノードの総数は奇数である。いくつかの実施形態では、昇格されるワーカノードはランダムに選択される。いくつかの実施形態では、複数のワーカノードがマスタノードの役割に昇格され、昇格されるワーカノードは、タイムシーケンスに従って選択される。いくつかの実施形態では、タイムシーケンスは、クラスタにワーカノードが参加した順序を含む連続的なリストからなる。いくつかの実施形態では、複数のワーカノードがマスタノードの役割に昇格され、昇格されるワーカノードは、オブザーバエージェントによって送信されたブロードキャストメッセージに応答するワーカノードから選択される。いくつかの実施形態では、非一時的なコンピュータプログラム製品は、クラスタを初期化するマスタノードを更に含む。いくつかの実施形態では、クラスタを初期化することは、クラスタの外側の所定の場所から遠隔転送を介してサービスデプロイメントドキュメントを電子的に取得することを含む。いくつかの実施形態では、クラスタを初期化することは、サービスデプロイメントドキュメントに従って、ワーカノード内のそれぞれのオーケストレータを構成することを含む。
【0011】
別の態様では、本開示は、本明細書に開示される方法のいずれかを実装するシステム、装置(例えば、コントローラ)、及び/又は非一時的なコンピュータ可読媒体(例えば、ソフトウェア)を提供する。
【0012】
別の態様では、本開示は、例えばそれらの意図された目的のために、本明細書に開示されたシステム、コンピュータ可読媒体、及び/又は装置のいずれかを使用する方法を提供する。
【0013】
別の態様では、装置は、本明細書に開示される方法のいずれかを実装する(例えば、実施する)ために使用される機構に指示するようにプログラムされた少なくとも1つのコントローラを備え、この少なくとも1つのコントローラは、機構に動作可能に結合するように構成されている。いくつかの実施形態では、(例えば、方法の)少なくとも2つの動作が、同じコントローラによって指示/実行される。いくつかの実施形態では、少なくとも(at less at)2つの動作が、異なるコントローラによって指示/実行される。
【0014】
別の態様では、装置は、本明細書に開示される方法のいずれかを実装する(例えば、実施する)ように構成された(例えば、プログラムされた)少なくとも1つのコントローラを備える。少なくとも1つのコントローラは、本明細書に開示される方法のいずれかを実装することができる。いくつかの実施形態では、(例えば、方法の)少なくとも2つの動作が、同じコントローラによって指示/実行される。いくつかの実施形態では、少なくとも2つの動作が、異なるコントローラによって指示/実行される。
【0015】
別の態様では、システムは、少なくとも1つの別の装置(又はその構成要素)の動作を指示するようにプログラムされた少なくとも1つのコントローラと、装置(又はその構成要素)とを備え、少なくとも1つのコントローラは、装置に(又はその構成要素に)動作可能に結合されている。装置(又はその構成要素)は、本明細書に開示される任意の装置(又はその構成要素)を含むことができる。少なくとも1つのコントローラは、本明細書に開示される任意の装置(又はその構成要素)に指示するように構成することができる。少なくとも1つのコントローラは、本明細書に開示される任意の装置(又はその構成要素)に動作可能に結合するように構成することができる。いくつかの実施形態では、(例えば、装置の)少なくとも2つの動作が、同じコントローラによって指示される。いくつかの実施形態では、少なくとも2つの動作が、異なるコントローラによって指示される。
【0016】
別の態様では、プログラム命令が記憶され、その命令が、少なくとも1つのプロセッサ(例えば、コンピュータ)によって読み取られると、少なくとも1つのプロセッサに、本明細書に開示された方法のいずれかを実装する(例えば、実施する)ように本明細書に開示された機構を指示させる、非一時的なコンピュータ可読媒体を備えるコンピュータソフトウェア製品であって、少なくとも1つのプロセッサが、機構に動作可能に結合するように構成されている。機構は、本明細書に開示される任意の装置(又はその任意の構成要素)を備えることができる。いくつかの実施形態では、(例えば、装置の)少なくとも2つの動作が、同じプロセッサによって指示/実行される。いくつかの実施形態では、少なくとも2つの動作が、異なるプロセッサによって指示/実行される。
【0017】
別の態様では、本開示は、1つ以上のプロセッサによって実行されると、本明細書に開示される方法のいずれかを実装する、機械実行可能コードを備える非一時的なコンピュータ可読媒体を提供する。いくつかの実施形態では、(例えば、方法の)少なくとも2つの動作が、同じプロセッサによって指示/実行される。いくつかの実施形態では、少なくとも2つの動作が、異なるプロセッサによって指示/実行される。
【0018】
別の態様では、本開示は、1つ以上のプロセッサによって実行されると、(例えば、本明細書に開示されるように)コントローラの指示を実施する機械実行可能コードを備える非一時的なコンピュータ可読媒体を提供する。いくつかの実施形態では、(例えば、コントローラの)少なくとも2つの動作が、同じプロセッサによって指示/実行される。いくつかの実施形態では、少なくとも2つの動作が、異なるプロセッサによって指示/実行される。
【0019】
別の態様では、本開示は、1つ以上のコンピュータプロセッサと、それに結合された非一時的なコンピュータ可読媒体とを備えるコンピュータシステムを提供する。非一時的なコンピュータ可読媒体は、1つ以上のプロセッサによって実行されると、本明細書に開示される方法のいずれかを実装し、及び/又は本明細書に開示されるコントローラの指示を実施する機械実行可能コードを備える。
【0020】
この概要セクションの内容は、本開示の簡略化された紹介として提供されており、本明細書に開示される任意の発明の範囲又は添付の特許請求の範囲を限定するために使用されることを意図するものではない。
【0021】
本開示の追加の態様及び利点は、以下の詳細な説明から当業者にとって容易に明らかになり、本開示の例示的な実施形態のみが示されて説明される。理解されるように、本開示は、他の異なる実施形態が可能であり、そのいくつかの詳細は、すべて本開示から逸脱することなく、様々な自明な点で変更することができる。したがって、図面及び説明は、本質的に例示的なものと見なされるべきであり、限定的なものとして見なされるべきではない。
【0022】
これらの及び他の特徴並びに実施形態は、図面を参照して以下に更に詳細に説明される。
参照による援用
【0023】
本明細書に記載されているすべての刊行物、特許、及び特許出願は、個々の刊行物、特許、又は特許出願の各々が参照により組み込まれることが具体的且つ個別に示された場合と同程度に、参照により本明細書に組み込まれる。
【図面の簡単な説明】
【0024】
本発明の新規の特徴は、添付の特許請求の範囲に具体的に記載されている。本発明の特徴及び利点のより良い理解は、本発明の原理が利用される例示的な実施形態を記載する以下の詳細な説明、及び添付の図面又は図(また、本明細書では「図」及び「複数の図」)を参照することによって得られる。
図1】関連する処理/制御システムを有するエンクロージャ(例えば、建物)の斜視図を示す。
図2】制御システムアーキテクチャの例を示す。
図3】ネットワーク又はローカルコントローラの例示的なモジュールのブロック図を示す。
図4】建物のフロアなどの様々なエンクロージャ内に配置されたネットワークノードを概略的に示す
図5】クラスタ内の複数のノードを概略的に示す。
図6】マスタノードのオーケストレータ構成要素に例示的な機能が関連付けられているブロック図を示す。
図7】コントローラの概略図を示す。
図8】ネットワークアーキテクチャのブロック図を示す。
図9】ノードのブート動作のフロー図を示す。
図10】マスタノード役割を割り当てるためのフロー図を示す。
図11】マスタノードのフロー図を示す。
図12】要求に対するマスタノードの応答のフロー図を示す。
図13】複数のマスタノードを割り当てるためのフロー図を示す。
図14】複数のマスタノードを割り当てるためのフロー図を示す。
図15】複数のマスタノードを割り当てるためのフロー図を示す。
図16A】クラスタの様々な例のブロック図を概略的に示す。
図16B】クラスタの様々な例のブロック図を概略的に示す。
図16C】クラスタの様々な例のブロック図を概略的に示す。
図17】処理システムを概略的に示す。
図18】一体型ガラスユニット(IGU)の断面を概略的に示す。
図19】動作の様々な段階のフロー図を示す。
【0025】
図及び図内の構成要素は、縮尺どおりに描かれていない場合がある。本明細書に記載されている図の様々な構成要素は、縮尺どおりに描かれていない場合がある。
【発明を実施するための形態】
【0026】
本発明の様々な実施形態が示され、本明細書に記載されているが、そのような実施形態が例としてのみ提供されていることは当業者にとって明らかであろう。多数の変形、変更、及び置換が、本発明から逸脱することなく当業者に起こり得る。本明細書に記載の本発明の実施形態に対する様々な代替例が使用され得ることを理解されたい。
【0027】
「a」、「an」、「the」などの用語は、単一のエンティティのみを指すことを意図したものではなく、特定の例が説明に使用されることができる一般的なクラスを含む。本明細書の用語は、本発明の特定の実施形態を説明するために使用されるが、それらの使用法は、本発明を画定するものではない。
【0028】
範囲が言及されている場合、特に明記されていない限り、範囲は包括的であることを意味する。例えば、値1と値2の間との範囲は包括的であり、値1及び値2を含むことを意味する。包括的範囲は、約値1から約値2までの任意の値に及ぶ。本明細書で使用される「隣接する(adjacent)」又は「隣接する(adjacent to)」という用語は、「隣接する(next to)」、「隣接する(adjoining)」、「接触する(in contact with)」、及び「近接する(in proximity to)」を含む。
【0029】
特許請求の範囲を含め、本明細書で使用されるとき、「X、Y、及び/又はZを含む」などの語句における「及び/又は」という接続詞は、任意の組み合わせ又は複数のX、Y、及びZを含むことを指す。例えば、そのような語句はXを含むことを意味する。例えば、そのような語句はYを含むことを意味する。例えば、そのような語句はZを含むことを意味する。例えば、そのような語句はX及びYを含むことを意味する。例えば、そのような語句はX及びZを含むことを意味する。例えば、そのような語句はY及びZを含むことを意味する。例えば、そのような語句は複数のXを含むことを意味する。例えば、そのような語句は複数のYを含むことを意味する。例えば、そのような語句は複数のZを含むことを意味する。例えば、そのような語句は複数のX及び複数のYを含むことを意味する。例えば、そのような語句は複数のX及び複数のZを含むことを意味する。例えば、そのような語句は複数のY及び複数のZを含むことを意味する。例えば、そのような語句は複数のX、及びYを含むことを意味する。例えば、そのような語句は複数のX、及びZを含むことを意味する。例えば、そのような語句は複数のY、及びZを含むことを意味する。例えば、そのような語句はX及び複数のYを含むことを意味する。例えば、そのような語句はX及び複数のZを含むことを意味する。例えば、そのような語句はY及び複数のZを含むことを意味する。
【0030】
「動作可能に結合された」又は「動作可能に接続された」という用語は、第2の要素及び/又は第1の要素の意図された動作を可能にするために、第2の要素に結合(例えば、接続)される第1の要素(例えば、機構)を指す。結合は、物理的又は非物理的結合を含むことができる。非物理的結合は、信号誘導結合(例えば、無線結合)を含むことができる。結合は、物理的結合(例えば、物理的に接続されている)、又は非物理的結合(例えば、無線通信を介して)を含むことができる。
【0031】
機能を実行するように「構成された」要素(例えば、機構)は、要素にこの機能を実行させる構造的特徴を含む。構造的特徴は、回路又は回路要素などの電気的特徴を含むことができる。構造的特徴は、アクチュエータを含むことができる。構造的特徴は、回路(例えば、電気回路又は光学回路を備える)を含むことができる。電気回路は、1つ以上のワイヤを備えることができる。光学回路は、少なくとも1つの光学要素(例えば、ビームスプリッタ、ミラー、レンズ、及び/又は光ファイバ)を備えることができる。構造的特徴は、機械的特徴を含むことができる。機械的特徴は、ラッチ、ばね、クロージャ、ヒンジ、シャーシ、サポート、ファスナ、又はカンチレバーなどを備えることができる。機能を実行することは、論理的特徴を利用することを含むことができる。論理的特徴は、プログラミング命令を含むことができる。プログラミング命令は、少なくとも1つのプロセッサによって実行可能とすることができる。プログラミング命令は、1つ以上のプロセッサによってアクセス可能な媒体に記憶又は符号化されることができる。加えて、以下の説明において、「~するように動作可能」、「~するように適合される」、「~するように構成される」、「~するように設計される」、「~するようにプログラムされる」又は「~することが可能である」という語句は、必要に応じて互換的に使用され得る。
【0032】
いくつかの実施形態では、エンクロージャは、少なくとも1つの構造によって画定される領域を含む。少なくとも1つの構造は、少なくとも1つの壁を含み得る。エンクロージャは、1つ以上のサブエンクロージャを含む及び/又は囲み得る。少なくとも1つの壁は、金属(例えば、鋼)、粘土、石、プラスチック、ガラス、プラスター(例えば、石膏)、ポリマー(例えば、ポリウレタン、スチレン、又はビニル)、アスベスト、繊維ガラス、コンクリート(例えば、鉄筋コンクリート)、木材、紙、又はセラミックを含み得る。少なくとも1つの壁は、ワイヤ、レンガ、ブロック(例えば、シンダーブロック)、タイル、乾式壁、又はフレーム(例えば、鋼フレーム)を含み得る。
【0033】
いくつかの実施形態では、エンクロージャは1つ以上の開口部を含む。1つ以上の開口部は、可逆的に閉鎖可能であり得る。1つ以上の開口部は、恒久的に開放され得る。1つ以上の開口部の基本長さスケールは、エンクロージャを画定する壁の基本長さスケールに対してより小さいものであり得る。基本長さスケールは、境界円の直径、長さ、幅、又は高さを含み得る。1つ以上の開口部の表面は、エンクロージャを画定する壁の表面に対してより小さいものであり得る。開口表面は、壁の全表面のパーセンテージであり得る。例えば、開口表面は、壁の最大で約30%、20%、10%、5%、又は1%あることができる。壁は、床、天井、又は側壁を含み得る。閉鎖可能な開口部は、少なくとも1つの窓又はドアによって閉鎖され得る。エンクロージャは、施設の少なくとも一部であり得る。エンクロージャは、建物の少なくとも一部を含み得る。建物は、私的建物及び/又は商業的建物であり得る。建物は、1つ以上のフロアを含み得る。建物(例えば、そのフロア)は、部屋、ホール、ホワイエ、屋根裏、地階、バルコニー(例えば、内側又は外側のバルコニー)、階段吹抜け、廊下、エレベータシャフト、ファサード、中二階、ペントハウス、ガレージ、ポーチ(例えば、囲まれたポーチ)、テラス(例えば、囲まれたテラス)、カフェテリア、及び/又はダクトのうちの少なくとも1つを含み得る。いくつかの実施形態では、エンクロージャは、固定及び/又は可動(例えば、列車、飛行機、船、車両、又はロケット)であり得る。
【0034】
いくつかの実施形態では、エンクロージャは雰囲気を取り囲む。雰囲気は1種以上のガスを含み得る。ガスは、不活性ガス(例えば、アルゴン又は窒素)及び/又は非不活性ガス(例えば、酸素又は二酸化炭素)を含み得る。エンクロージャ雰囲気は、温度、相対ガス含有量、ガスタイプ(例えば、湿度、及び/又は酸素レベル)、デブリ(例えば、粉塵及び/又は花粉)、及び/又はガス速度を含む少なくとも1つの外部雰囲気特性において、エンクロージャの外部の雰囲気(例えば、周囲雰囲気)に類似し得る。エンクロージャ雰囲気は、温度、相対ガス含有量、ガスタイプ(例えば、湿度、及び/又は酸素レベル)、デブリ(例えば、粉塵及び/又は花粉)、及び/又はガス速度を含む少なくとも1つの外部雰囲気特性において、エンクロージャの外部の雰囲気とは異なり得る。例えば、エンクロージャ雰囲気は、外部(例えば、周囲)雰囲気よりも湿気が少なくてもよい(例えば、より乾いていてもよい)。例えば、エンクロージャ雰囲気は、エンクロージャの外部の雰囲気と同じ(例えば、又は実質的に同様の)酸素対窒素比を含有し得る。エンクロージャ内のガスの速度は、エンクロージャ全体で(例えば、実質的に)同様であり得る。エンクロージャ内のガスの速度は、(例えば、エンクロージャと結合された通気孔にガスを流すことによって)エンクロージャの異なる部分では異なり得る。
【0035】
特定の開示された実施形態は、エンクロージャ(例えば、建物などの施設)内のネットワークインフラストラクチャを提供する。このネットワークインフラストラクチャは、通信及び/又は電力サービスを提供するためなど、様々な目的のために利用可能である。通信サービスは、高帯域幅の(例えば、無線及び/又は有線)通信サービスを含み得る。通信サービスは、施設の現住者及び/又は施設(例えば、建物)の外側のユーザに対するものであり得る。ネットワークインフラストラクチャは、1つ以上のセルラー通信事業者のインフラストラクチャと協力して、又はそのインフラストラクチャの一部の置き換えとして機能し得る。ネットワークインフラストラクチャは、電気的に切り替え可能な窓を含む施設内に提供することができる。ネットワークインフラストラクチャの構成要素の例としては、高速バックホールが挙げられる。ネットワークインフラストラクチャは、少なくとも1つのケーブル、スイッチ、物理アンテナ、トランシーバ、センサ、エミッタ、送信機、受信機、無線、プロセッサ、及び/又はコントローラ(プロセッサを含み得る)を含み得る。ネットワークインフラストラクチャは、無線ネットワークに動作可能に結合され得、及び/又は無線ネットワークを含み得る。ネットワークインフラストラクチャは配線を含み得る。1つ以上のセンサを、ネットワークを設置することの一部として、及び/又はネットワークを設置した後に、環境内にデプロイ(例えば、設置)することができる。
【0036】
いくつかの実施形態では、建物管理システム(BMS)は、建物を監視し、及び別様に制御する(例えば、調節する、操作する、制限する、指示する、監視する、調整する、変調する、変化させる、変更する、拘束する、チェックする、ガイドする、及び/又は管理する)、建物内に設置されたコンピュータベースの制御システムである。例えば、BMSは、換気、照明、電力システム、エレベータ、防火システム、及び/又はセキュリティシステムなどの機械的及び/又は電気的機器を制御し得る。例えば、本明細書に記載されるような、コントローラ(例えば、ノード及び/又はプロセッサ)は、BMSとの統合に適し得る。BMSは、建物内の1つ以上の条件を維持するための1つ以上のコンピュータ(例えば、及び関連するソフトウェア)への通信チャネルによる相互接続を含む、ハードウェアからなり得る。建物内の1つ以上の条件は、ユーザ(例えば、現住者及び/又は建物管理者)によって設定された好みに従うものであり得る。例えば、BMSは、イーサネットなどのローカルエリアネットワークを使用して実装されることができる。ソフトウェアは、例えば、インターネットプロトコル及び/又はオープンスタンダードに基づくことができる。一例は、Tridium,Inc.(バージニア州リッチモンド)製のソフトウェアである。BMSと共に使用することができる1つの通信プロトコルは、BACnet(建物自動化及び制御ネットワーク)である。ノードは、任意のアドレス指定可能な回路とすることができる。例えば、ノードは、インターネットプロトコル(IP)アドレスを有する回路とすることができる。
【0037】
いくつかの実施形態では、BMSは、建物、例えば、高層建物内に実装され得る。BMSは、建物内の環境の1つ以上の特性を制御するように(も)機能することができる。1つ以上の特性は、建物内の温度、二酸化炭素レベル、ガス流、及び/又は湿度を含み得る。ヒータ、エアコン、送風機、及び/又は通気孔など、BMSによって制御される多くの機械デバイスがあり得る。建物環境を制御するために、BMSは、定義された条件下でこれらの様々なデバイスをオン及びオフにすることができる。BMSのコア機能は、冷暖房のコスト/需要を最小限に抑えながら、環境の現住者にとって快適な環境を維持することであり得る。BMSは、様々なシステムを制御するために使用することができる。BMSは、様々なシステム間の相乗効果を最適化するために使用され得る。例えば、BMSは、エネルギを節約し、建物運用コストを下げるために使用され得る。高層建物は、制御システムによって制御される少なくとも2、8、10、25、50、80、100、120、140、又は160個のフロアを有することができる。制御システムによって制御される数は、前述の数の間の任意数(例えば、2から50個、25から100個、又は80から160個)とすることができる。フロアは、少なくとも約150m、250m、500m、1000m、1500m、又は2000平方メートル(m)の面積のものとすることができる。フロアは、前述の床面積値のいずれかの間の面積を有することができる(例えば、約150mから約2000m、約150mから約500m、約250mから約1000m、又は約1000mから約2000m)。
【0038】
いくつかの実施形態では、窓コントローラは、BMSと統合することができる。例えば、窓コントローラは、1つ以上の着色可能な窓(例えば、エレクトロクロミック窓)を制御するように構成することができる。一実施形態では、1つ以上のエレクトロクロミック窓は、少なくとも1つの全固体型及び無機エレクトロクロミックデバイスを含むが、例えば、IGUの各ライト又はペインが着色可能である場合、2つ以上のエレクトロクロミックデバイスを含み得る。一実施形態では、1つ以上のエレクトロクロミック窓は、全固体型及び無機エレクトロクロミックデバイスのみを含む。一実施形態では、エレクトロクロミック窓は、多状態型エレクトロクロミック窓である。着色可能な窓の例は、2010年8月5日に出願された「Multipane Electrochromic Windows」と題する米国特許出願第12/851,514号に見出すことができ、その全体が参照により本明細書に組み込まれる。
【0039】
図1は、建物101の複数のシステムを管理する、BMS100の実施形態の概略図の例を示す。建物内のシステムは、セキュリティシステム、暖房/換気/空調(HVAC)、建物の照明、電力システム、エレベータ、及び/又は防火システムを含むことを含むことができる。セキュリティシステムは、磁気カードアクセス、回転ドア、ソレノイド駆動ドアロック、監視カメラ、盗難警報機、及び/又は金属探知機を含み得る。防火システムは、火災警報器及び/又は火災抑制システム(例えば、給水配管制御を含む)を含み得る。照明システムは、室内照明、屋外照明、緊急警報灯、非常口標識、及び/又は非常階出口照明を含み得る。電力システムは、主電源、バックアップ発電機、及び/又は無停電電源(UPS)グリッドを含み得る。BMS100は、マスタ窓コントローラであるマスタコントローラ103を管理することができる。マスタコントローラ103は、マスタコントローラ103、中間コントローラ105a及び105b、並びにエンドコントローラ(又はリーフコントローラ)110を含む窓コントローラの分散ネットワークとして、図1に示される例において示されている。エンド(又はリーフ)コントローラは、本明細書では「ローカルコントローラ」と呼ぶことができる。エンド(又はリーフ)コントローラ110は、図7に関して説明されるコントローラ700と同様のものであり得る。例えば、マスタコントローラ103は、BMS100に近接し得、建物101の少なくとも1つのフロアは、1つ以上の中間コントローラ105a及び105bを有し得るが、建物の少なくとも1つのデバイス(例えば、窓)は、それ自体のローカル(例えば、エンド)コントローラ110を有する。コントローラ110のうちの少なくとも1つは、建物101の特定のエレクトロクロミック窓を制御することができる。ローカルコントローラ(例えば、窓コントローラ)は、最大で1、2、3、4、5、6、7、8、9、又は10個のデバイスを制御することができる。ローカルコントローラは、前述のデバイス数間の複数のデバイス(例えば、1~10、1~8、又は5~10個のデバイス)を制御することができる。マスタコントローラは、建物の1つのフロア内に存在する最大で1、2、3、4、5、又は6個の中間コントローラを制御することができる。マスタコントローラは、単一のフロア内に存在する前述の中間コントローラ数間の複数の中間コントローラ(例えば、1~6、1~4、又は3~6個の中間コントローラ)を制御することができる。
【0040】
いくつかの実施形態では、ローカルコントローラは、少なくとも1つのデバイスに通信可能に結合されている。ローカルコントローラは、それが制御するデバイス(例えば、エレクトロクロミック窓、センサ、又はエミッタ)から離れた場所に配置するか、又はそのデバイスに統合することができる。簡単にするために、図1に示す例では、建物101の10個のローカルコントローラ110が、マスタ窓コントローラ103によって制御されるものとして示されているが、より多い又はより少ない数のローカルコントローラを、マスタコントローラによって直接的又は間接的に制御することができる。図1に示す例では、3つのローカルコントローラ110が、マスタコントローラ103によって制御される中間コントローラ105aによって制御され、7つのローカルコントローラ110が、マスタコントローラ103によって制御される中間コントローラ105bによって制御される。1つ以上のデバイス(例えば、着色可能な窓、センサ、又はエミッタ)は、ローカルコントローラによって制御することができる。典型的な設定では、マスタコントローラによって制御される多数のエレクトロクロミック窓が建物内にあり得る。マスタ窓コントローラは、窓コントローラの分散ネットワークである必要はない。例えば、単一の着色可能な窓の機能を制御する単一のエンドコントローラもまた、本明細書に開示されている実施形態の範囲内に含まれ得る。
【0041】
いくつかの実施形態では、BMSは、例えば、本明細書に記載されるような、多目的コントローラを含む。(例えば、コントローラの)フィードバックを組み込むことによって、BMSは、例えば、強化された、1)環境制御、2)省エネルギ、3)セキュリティ、4)制御オプションの柔軟性、5)他のシステムの改善された信頼性及び有効寿命(例えば、他のシステムへの依存性の減少及び/又は他のシステムの保守の低減に起因する)、6)情報の可用性及び/又は診断法、7)建物内の人員(例えばスタッフ)からのより高い生産性、並びにこれらの様々な組み合わせを提供することができる。これらの強化は、デバイスのいずれかを自動的に制御することに由来し得る。いくつかの実施形態では、BMSは存在しなくてもよい。いくつかの実施形態では、BMSは存在し得、マスタネットワークコントローラと通信しなくてもよい。いくつかの実施形態では、BMSは、コントローラの階層内のレベルの一部分と通信し得る。例えば、BMSは、マスタネットワークコントローラと(例えば、高レベルで)通信し得る。いくつかの実施形態では、BMSは、制御システムのコントローラの階層内のレベルの一部分と通信しなくてもよい。例えば、BMSは、ローカルコントローラ及び/又は中間コントローラと通信しなくてもよい。特定の実施形態では、BMSに対する保守は、制御システムに通信可能に結合されたデバイスの制御を妨げないであろう。
【0042】
いくつかの実施形態では、処理システムは、階層的制御構造を維持し得る。処理システム(例えば、プログラマブルプロセッサベースのネットワーク及び/又はコントローラネットワーク)は、エンクロージャに設置された電子部品(例えば、電子デバイス及び/又はシステム)の動作を連携させ得る。エンクロージャは、建物など、エンティティ/企業の施設であり得る。しかしながら、これらの階層的役割を実現する物理的な処理デバイス又はユニット(例えば、ノード)は、示されている層と異なる(例えば、それらを反映しなくてもよい)レイアウト又は相互接続を有し得る。ノードは、不安定な様式で動作するように適合させることができる。不安定な様式は、ノードが変更可能な階層的制御構造をエミュレートすることを可能にし得る。
【0043】
いくつかの実施形態では、処理ノードは階層構造に編成される。処理システムは階層的制御スキームを実装し得るが、個々のプロセッサ及び/又はノードの構造並びに階層的スキームを生じさせるそれらの相互接続は、そのような階層に物理的に適合しなくてもよいように編成され得る(及び動作中に動的に変化し得る)。階層的制御スキームは、機能のレベル及び/又は編成を有することができる。例えば、階層は、2、3、4、又は5個のレベルを含むことができる。
【0044】
いくつかの実施形態では、制御システムは階層構造を有する。階層構造(制御スキーム及び/又はハードウェア編成)は、(I)より高いレベルのノードがより高いレベルの機能(例えば、計算、コマンド生成、データ収集、データ分配、データ通信、及び/又はデータ認証)を実行し、(II)より低いレベルのノードがより低いレベルの機能(例えば、センサ測定及び/又はAIを使用することによる、IGUなどの動作デバイスの直接制御)を実行する、より大きなシステムに有用であり得る。より低いレベルのノードの機能は、プログラミングに従って、並びに/又はより高いレベル及び/若しくはユーザ入力を介したコマンドに応答して、実行され得る。より高いレベルの入力は、コントローラの階層内のより高いレベルからの入力を指し得る。階層システムのいくつかの例としては、(a)スマート建物(例えば、相互作用システムを有する)、(b)絶縁ガラスユニット又はIGU(エレクトロクロミックデバイスを含む)、(c)BMS、(d)センサのネットワーク、(e)制御デバイス(例えば、HVAC構成要素)の集合体、(f)データセンタ(ローカル又は分散型のいずれか)、(g)サーバファーム、(h)データストレージ施設、(i)データセキュリティサービス、(j)セルラー基地局などのセルラーサービスプロバイダの施設(例えば、ハンドセット追跡及びコールプロビジョニングのため)が挙げられる。スマート建物は施設とすることができる。施設は、部屋、建物、いくつかの建物、又は1つ以上の建物からの部分の集合体を含み得る。
【0045】
いくつかの実施形態では、施設内のコントローラの階層のデプロイメントは、精巧であり得る。制御システムは、設置のスケーリング及び信頼性において利点を提供し得る。いくつかの既知の階層システムは、例えば、個々の設置の意図された構造及び/又は能力に従って、ノードの広範な手動によるレイアウト、選択、及び/又は構成を必要としてきた。ノード及び/又は機能の数が増加するにつれて、ネットワークに対する設定及び修正は、ますます複雑かつ労働集約的になる可能性がある。そのような手動設置方法は、かなりのコストをもたらす可能性があり、及び/又は人的過誤を起こりやすくする可能性がある。人的過誤は、そのような複雑なシステムの(例えば、有害な)機能不全及び/又はデータセキュリティの低下につながり得る。
【0046】
いくつかの実施形態では、処理システムは、最高レベルにマスタコントローラ、中間レベルにフロアコントローラ(例えば、ネットワークコントローラを含み得る)、及び最低レベルにローカルコントローラ(例えば、窓コントローラ)を含む階層構造を有する。図2は、フロアコントローラ204を制御するマスタコントローラ202を含む制御システムアーキテクチャ200の例を示しており、フロアコントローラ204は、ローカルコントローラ206を制御する。いくつかの実施形態では、1つ以上のlGU、1つ以上のセンサ、1つ以上の出力デバイス(例えば、1つ以上のエミッタ)、又はそれらの任意の組み合わせを制御する。図2は、マスタコントローラが、建物管理システム(BMS)208に、及びデータベース210に、動作可能に(例えば、無線及び/又は有線で)結合されている構成の例を示す。図2の矢印は、通信経路を表す。コントローラは、外部ソース212に動作可能に(例えば、直接的に/間接的に並びに/又は有線及び無線で)結合され得る。外部ソースはネットワークを含み得る。外部ソースは、1つ以上のセンサ又は出力デバイスを含み得る。外部ソースは、クラウドベースのアプリケーション及び/又はデータベースを備えることができる。1つ以上のより高い階層レベルは、施設の外に(例えば、異なる場所に又はクラウド内に)配置され得る。通信は、有線及び/又は無線とすることができる。外部ソースは、施設外に配置されることができる。例えば、外部ソースは、例えば、施設の壁又は天井に配置された1つ以上のセンサ及び/又はアンテナを備えることができる。通信は、一方向又は双方向であり得る。図2に示される例では、すべての通信の矢印が双方向であることを意味している。
【0047】
いくつかの実施形態では、センサは、少なくとも1つのコントローラ及び/又はプロセッサに動作可能に(例えば、通信可能に)結合されている。センサ読み取り値は、1つ以上のプロセッサ及び/又はコントローラによって取得され得る。コントローラは、処理ユニット(例えば、CPU又はGPU)を備えることができる。コントローラは、(例えば、少なくとも1つのセンサからの)入力を受信することができる。コントローラは、回路、電気配線、光配線、ソケット、及び/又はコンセントを備えることができる。コントローラは、出力を送達することができる。コントローラは、複数の(例えば、サブ)コントローラを備えることができる。コントローラは、制御システムの一部とすることができる。制御システムは、マスタコントローラ、フロア(例えば、ネットワークコントローラを備える)コントローラ、又はローカルコントローラを備えることができる。ローカルコントローラは、窓コントローラ(例えば、光学的に切り替え可能な窓を制御する)、エンクロージャコントローラ、又は構成要素コントローラとすることができる。例えば、コントローラは、階層的制御システム(例えば、1つ以上のコントローラ、例えば、フロアコントローラ、ローカルコントローラ(例えば、窓コントローラ)、エンクロージャコントローラ、及び/又は構成要素コントローラを指示するメインコントローラを備える)の一部とすることができる。階層的制御システム内のコントローラタイプの物理的位置は、変化し得る。例えば、(I)第1の時間では、第1のプロセッサがメインコントローラの役割を引き受け得、第2のプロセッサがフロアコントローラの役割を引き受け得、第3のプロセッサがローカルコントローラの役割を引き受け得、(II)第2の時間では、第2のプロセッサがメインコントローラの役割を引き受け得、第1のプロセッサがフロアコントローラの役割を引き受け得、第3のプロセッサがローカルコントローラの役割のままであり得、(III)第3の時間では、第3のプロセッサがメインコントローラの役割を引き受け得、第2のプロセッサがフロアコントローラの役割を引き受け得、第1のプロセッサがローカルコントローラの役割を引き受け得る。コントローラは、(例えば、デバイスに直接結合された)1つ以上のデバイスを制御することができる。第1のコントローラと第1のデバイスとの間の直接結合は、第1のコントローラと第1のデバイスとの間に他の(第2の)コントローラ又は(第2の)デバイスが存在しないことを指し得る。結合は、直接通信を容易にし得る。結合は、無線及び/又は有線であり得る。コントローラは、それが制御している1つ以上のデバイスの近位に配置されることができる。例えば、コントローラは、光学的に切り替え可能なデバイス(例えば、IGU)、アンテナ、センサ、及び/又は出力デバイス(例えば、光源、音源、匂い源、ガス源、HVAC出口、又はヒータ)を制御することができる。出力デバイスは、本明細書では「エミッタ」と称されることがある。
【0048】
一実施形態では、フロアコントローラは、少なくとも1つのローカルコントローラに指示する。フロアコントローラは、1つ以上の窓コントローラ、1つ以上のエンクロージャコントローラ、1つ以上の構成要素コントローラ、又はそれらの任意の組み合わせに指示することができる。フロアコントローラは、ネットワークコントローラを含み得る。フロア(例えば、ネットワークを備える)コントローラは、複数のローカル(例えば、窓を備える)コントローラを制御することができる。複数のローカルコントローラは、施設の一部(例えば、建物の一部)に配置されることができる。施設の一部は、施設のフロアとすることができる。例えば、フロアコントローラはフロアに割り当てられ得る。いくつかの実施形態では、フロアは、例えば、フロアサイズ及び/又はフロアコントローラに結合されたローカルコントローラの数に応じて、複数のフロアコントローラを備えることができる。例えば、フロアコントローラは、フロアの一部に割り当てられることができる。施設のフロア内には1つ以上のフロアコントローラがあり得る(例えば、フロアサイズ及び/又は制御システムに結合されているフロア内のデバイスの数に依存する)。例えば、フロアコントローラは、施設内に配置されたローカルコントローラの一部に割り当てられることができる。例えば、フロアコントローラは、施設のフロアの一部に割り当てられることができる。マスタコントローラは、1つ以上のフロアコントローラに結合されることができる。フロアコントローラは、施設内に配置されることができる。マスタコントローラは、施設内に配置されることも、又は施設外に配置されることもできる。マスタコントローラは、クラウド内に配置されることができる。コントローラは、建物管理システムの一部であり得るか、又は建物管理システムに動作可能に結合され得る。
【0049】
いくつかの実施形態では、複数のデバイスは、制御システムに動作可能に(例えば、通信可能に)結合されることができる。複数のデバイスは、施設(例えば、建物及び/又は部屋を含む)内に配置されることができる。制御システムは、コントローラの階層を含むことができる。デバイスは、エミッタ、センサ、又は窓(例えば、IGU)を備えることができる。デバイスは、本明細書に開示される任意のデバイスとすることができる。複数のデバイスのうちの少なくとも2つは、同じ種類のものとすることができる。例えば、2つ以上のIGUは、制御システムに結合されることができる。複数のデバイスのうちの少なくとも2つは、異なる種類のものとすることができる。例えば、センサ及びエミッタは、制御システムに結合されることができる。時々、複数のデバイスは、少なくとも20、50、100、500、1000、2500、5000、7500、10000、50000、100000、又は500000個のデバイスを備えることができる。複数のデバイスは、前述の数の間の任意数のものとすることができる(例えば、20個のデバイスから500000個のデバイス、20個のデバイスから50個のデバイス、50個のデバイスから500個のデバイス、500個のデバイスから2500個のデバイス、1000個のデバイスから5000個のデバイス、5000個のデバイスから10000個のデバイス、10000個のデバイスから100000個のデバイス、又は100000個のデバイスから500000個のデバイス)。例えば、フロアの窓の数は、少なくとも5、10、15、20、25、30、40、又は50枚とすることができる。フロアの窓の数は、前述の数の間の任意数とすることができる(例えば、5から50枚、5から25枚、又は25から50枚)。時々、デバイスは、高層建物にある場合がある。高層建物のフロアの少なくとも一部は、制御システムによって制御されるデバイスを有することができる(例えば、高層建物のフロアの少なくとも一部は、制御システムによって制御されることができる)。例えば、高層建物は、制御システムによって制御される少なくとも2、8、10、25、50、80、100、120、140、又は160個のフロアを有することができる。制御システムによって制御されるフロア(例えば、その中のデバイス)の数は、前述の数の間の任意数(例えば、2から50個、25から100個、又は80から160個)とすることができる。フロアは、少なくとも約150m、250m、500m、1000m、1500m、又は2000平方メートル(m)の面積のものとすることができる。フロアは、前述の床面積値のいずれかの間の面積を有することができる(例えば、約150mから約2000m、約150mから約500m、約250mから約1000m、又は約1000mから約2000m)。施設は、商業用又は住宅用建物を含み得る。住宅施設は、複数家族又は単一家族の建物を含み得る。1つ以上のデバイスは、センサを含み得る。センサは、1つ以上の環境特性、例えば、温度、湿度、周囲ノイズ、二酸化炭素、VOC、粒子状物質、酸素、及び/又は環境(例えばその雰囲気)の任意の他の態様を測定するように構成(例えば、設計)され得る。制御システムは、施設(施設のエンクロージャを含む)の少なくとも1つの環境特性を制御するように構成され得る。少なくとも1つの環境特性は、温度、湿度、微細な噴霧(例えば、エアロゾル)、音、電磁波(例えば、光グレア、及び/又は色)、ガス構成、ガス濃度、ガス速度、振動、揮発性化合物(VOC)、デブリ(例えば、粉塵)、又は生物学的物質(例えば、ガス中の細菌及び/又はウイルス)を含み得る。ガスは、酸素、窒素、二酸化炭素、一酸化炭素、硫化水素、一酸化窒素(NO)及び二酸化窒素(NO)、不活性ガス、ノーベルガス(Nobel gas)(例えば、ラドン)、クロロフォア(chlorophore)、オゾン、ホルムアルデヒド、メタン、又はエタンを含み得る。例えば、制御システムは、エンクロージャ内の温度、二酸化炭素レベル、及び/又は湿度を制御し得る。制御システムは、例えば、環境制御のために、建物管理システム(BMS)を利用し得る。1つ以上のデバイスは、音響システム、照明、換気システム、暖房システム、冷房システム、暖房換気及び空調システム(HVAC)、入場管理システム(例えば、電気ドア)、窓(例えば、エレクトロクロミック窓などの着色可能な窓)、ディスペンサ、サードパーティサービスデバイス(例えば、自動販売機)、機械(例えば、重機械などの工場機械)、メディアディスプレイ(例えば、テレビ画面などのデジタルデータ画面)、通信ハブ、アンテナ、空気循環システム空気衛生システム、他の衛生システム、安全(例えば、警報)システム、メッセージングシステム、サーバ(例えば、データサーバ)、感知システム、放出システム(例えば、光、ガス、及び/又は香り調整剤などの揮発性化合物)、又はそれらの任意の組み合わせを含み得る。ディスペンサは、液体、発泡体、ゲル、又はガスを分配し得る。ディスペンサは、1つ以上の製品(例えば、注射器、薬剤、ゴーグル、及び/又はマスク)を分配し得る。ディスペンサは、安全製品、健康製品、及び/又は身分証明製品(例えば、IDカード)を分配し得る。ディスペンサは、娯楽、及び/又は製造関連製品(例えば、ナット、ボルト、ねじ、又はねじ回し)を分配し得る。ディスペンサは、作業工具を分配し得る。制御は、センサデータに依存し得る(例えば、フィードバック及び/又は閉ループ制御スキームを使用する)。
【0050】
いくつかの実施形態では、制御システムは、少なくとも1つのコントローラを含む。コントローラは、本明細書に記載の装置、ソフトウェア、及び/又は方法の動作条件の(例えば、物理的な)変更を監視及び/又は指示し得る。制御するとは、調節する、操作する、制限する、指示する、監視する、調整する、変調する、変化させる、変更する、拘束する、チェックする、ガイドする、又は管理することを含み得る。制御される(例えば、コントローラによって)とは、減じられる、変調される、変化させられる、管理される、抑制される、訓練される、調節される、拘束される、監督される、操作される、及び/又はガイドされることを含み得る。制御は、制御変数(例えば、温度、電力、電圧、及び/又はプロファイル)を制御することを含み得る。制御は、リアルタイム又はオフライン制御を含むことができる。コントローラによって利用される計算は、リアルタイムで、及び/又はオフラインで行うことができる。コントローラは、手動又は非手動のコントローラとすることができる。コントローラは、自動コントローラとすることができる。コントローラは、要求時に動作することができる。コントローラは、プログラム可能なコントローラとすることができる。コントローラはプログラムされ得る。コントローラは、処理ユニット(例えば、CPU又はGPU)を備えることができる。コントローラは、(例えば、少なくとも1つのセンサからの)入力を受信することができる。コントローラは、出力を送達することができる。コントローラは、複数の(例えば、サブ)コントローラを備えることができる。コントローラは、制御システムの一部とすることができる。制御システムは、マスタコントローラ、フロアコントローラ、ローカルコントローラ(例えば、エンクロージャコントローラ、又は窓コントローラ)を含み得る。コントローラは、1つ以上の入力を受信することができる。コントローラは、1つ以上の出力を生成することができる。コントローラは、単一入力単一出力コントローラ(SISO)又は多入力多出力コントローラ(MIMO)とすることができる。コントローラは、受信した入力信号を解釈することができる。コントローラは、1つ以上のセンサからデータを取得することができる。取得は、受信又は抽出を含むことができる。データは、測定、推定、判定、生成、又はそれらの任意の組み合わせを含むことができる。コントローラは、フィードバック制御を含むことができる。コントローラは、フィードフォワード制御を含むことができる。制御は、オンオフ制御、比例制御、比例積分(PI)制御、又は比例積分微分(PID)制御を含むことができる。制御は、開ループ制御、又は閉ループ制御を含むことができる。コントローラは、閉ループ制御を含むことができる。コントローラは、開ループ制御を含むことができる。コントローラは、ユーザインターフェースを含むことができる。ユーザインターフェースは、キーボード、キーパッド、マウス、タッチスクリーン、マイクロフォン、音声認識パッケージ、カメラ、撮像システム、又はそれらの任意の組み合わせを含む(又は動作可能に結合される)ことができる。出力は、ディスプレイ(例えば、画面)、スピーカ、又はプリンタを含むことができる。
【0051】
いくつかの実施形態では、フロアコントローラ(例えば、ネットワークコントローラ)は、回路を含む。コントローラ(例えば、及びその回路)の例は、2019年12月3日に登録された「CONTROLLERS FOR OPTICALLY-SWITCHABLE DEVICES」と題する米国特許第10,495,939号に記載されており、その全体が参照により本明細書に組み込まれる。いくつかの実施形態では、フロアコントローラは、マスタコントローラの機能、プロセス、及び/又は動作のうちのいくつかを引き継ぐことができる。フロアコントローラは、マスタコントローラを参照して説明されていない追加の機能及び/又は能力を含むことができる。図3は、ネットワークコントローラのモジュールのブロック図の例を示す。図3のモジュールは、ハードウェア、ファームウェア及びソフトウェアの任意の好適な組み合わせでフロアコントローラ内に実装することができる。コンピュータ内で実行するネットワークコントローラアプリケーションとしてフロアコントローラが実装されるいくつかの実施形態では、図3のモジュールの各々は、ネットワークコントローラアプリケーション内で実行するアプリケーション及び/又はタスク(又はサブタスク)として実装することができる。フロアコントローラは、(例えば、それらの役割交換時に)マスタコントローラとして機能することができる。いくつかの実施形態では、フロアコントローラによって実行される機能は、プロトコル変換、データロギング、分析、データベース管理、色調の決定、電力管理、及び/又はコミッショニングを含むことができる。フロアコントローラは、下流のネットワークインターフェースによって1つ以上のローカルコントローラ(例えば、窓コントローラ)に通信可能に結合され得る。フロアコントローラは、上流のネットワークインターフェースによってマスタコントローラ(例えば、フロアコントローラがマスタコントローラとして機能していないとき)及びデータベースに通信可能に結合され得る。ローカルコントローラと比較して、フロアコントローラ及び又はマスタコントローラは、より高い階層のコントローラ(本明細書では「HHC」と略される)を含む。通信結合は、有線及び/又は無線通信であり得る。
【0052】
いくつかの実施形態では、より高い階層のコントローラ(HHC)は、1つ以上のモジュール(例えば、機能)を含む。例えば、HCCは、プロトコル変換モジュール、データロガー、分析モジュール、データベースマネージャ、色調決定モジュール、電力管理モジュール、及び/又はコミッショニングモジュールを含む1つ以上のモジュールを有することができる。HCCは、例えば、HHCを1つ以上のより低い階層のコントローラ(例えば、HHCよりも低い階層のローカルコントローラ又は中間コントローラ)にリンクする、下流のネットワークインターフェースリンクを含むことができる。HHCは、上流のネットワークインターフェースによって、HHCよりも高い階層にあるマスタコントローラ又は任意の中間コントローラに接続することができる。HCCは、データベースを含むか、又はデータベースに通信可能に結合することができる。図3は、HHC300が、プロトコル変換モジュール306、データロガー307、分析モジュール308、データベースマネージャ309、色調決定モジュール310、電力管理モジュール311、及びコミッショニングモジュール312を含む、フロアコントローラの例を示す。下流のネットワークインターフェース305は、HHC300を1つ以上のローカルコントローラ303にリンクする。HHC300は、上流のネットワークインターフェース304によってマスタコントローラ301及びデータベース302に接続されている。
【0053】
いくつかの実施形態では、処理システムの複数のノードが、施設全体にわたって提供され得る。図4は、エンクロージャ内の処理システム(すなわち、コントローラネットワーク)の概略例を示す。図4の例では、エンクロージャ400は、フロア1、フロア2、及びフロア3を有する建物である。エンクロージャ400は、構成要素(例えば、ノード)410のコミュニティを通信可能に結合するために提供されるネットワーク420(例えば、有線ネットワーク)を含む。図4に示す例では、3つのフロアは、エンクロージャ400内のサブエンクロージャである。
【0054】
いくつかの実施形態では、複数の設置されたノードは、自動的に実行されるプロセスを使用して(例えば、自律的に)コミッションされる。ノードは、クラスタとして相互接続されて、所望の階層的スキーム及び機能による処理システムを形成することができる。ノードは、例えば、クラスタ内へのノードの物理的配置及び/又は相互接続を、処理システムの意図された構成の事前知識を必要とする手動の選択、構成、及び/又は割り当てを最小限に抑えて(例えば、それらなしで)行うことができるように、(例えば、実質的に)同一のハードウェア及び/又はソフトウェア機能を有し得る。任意のノードの物理的位置は重要でなくてもよい。自己オーケストレーティングノードは、ローカル通信リンクに通信可能に結合され得る。
【0055】
いくつかの実施形態では、少なくとも1つのマスタ(例えば、監督者)ノードがクラスタ内で割り当てられ、少なくとも1つのスレーブ(例えば、従属者)ノードがクラスタ内で割り当てられ、このスレーブノードはマスタノードによって制御され得る。例えば、マスタは、1つ以上の要求をスレーブノードに指示することができる。マスタノードを割り当てることは、スケジューリング及び/又は組織化スキーム(例えば、アルゴリズム)に従い得る。スケジューリングスキームは、投票ベースのスキーム、巡回順序(例えば、循環実行スキーム)、ランダム、先入れ先出し(本明細書では「FIFO」と略される)、又は(例えば、所定の)アンカーからの距離に基づくものを含み得る。巡回順序によれば、ノードの割り当ては、優先順位のない所定の順序(例えば、巡回順序)で行われ得る。FIFOスキーム(例えば、先着順)によれば、第1のレポーティングノード(例えば、ノードのキューの「先頭」)は、最初にマスタとして割り当てられ得る。巡回順序スキーム(ラウンドロビンとしても知られている)によれば、ノードの割り当ては、優先順位のない所定の順序(例えば、巡回順序)で行われ得る。順序は、(例えば、本明細書に開示されるような)クラスタの複雑さ、施設の少なくとも一部分の構造的態様、又は施設の少なくとも一部分の機能的態様を含む、費用又はより多くの基準に基づいて事前に決定され得る。ランダムスキームでは、マスタは、システム内のノード間でランダムに割り当てられる。アンカーは、施設の少なくとも一部分(例えば、クラスタがデプロイされるエンクロージャ)でのデバイスの特定のクライアント(例えば、デバイス)密度の位置、構造的な施設の態様、機能的な施設の態様、任意の特別な関心点、ネットワーク関連の位置(例えば、クラウド及び/又はメインコントローラへの通信ゲート)に少なくとも部分的に基づいて決定され得る。アンカーは、施設内のノードの少なくとも一部分の物理的密度に関連し得る。
【0056】
いくつかの実施形態では、各ノードは、オブサーバエージェントを実装する。いくつかの実施形態では、オブザーバエージェントは、ホスト(例えば、それらの処理ハードウェア及び/又はソフトウェアを含む、他のノード)の可用性を相互にスキャンする。相互スキャンは、処理システムの初期化(例えば、起動)中に、及び/又は動作中の様々な時間に行うことができる。オブザーバエージェントは、発見されたホストに役割を協調的に定義するために相互作用し得る。割り当てられる役割は、マスタ(すなわち、監督者)役割、及びワーカ(すなわち、スレーブ)役割を含むことができる。いくつかの実施形態では、マスタノードとなるように割り当てられたノードは、サービスデプロイメントドキュメントを(例えば、クラウドから、及び/又はより高い階層レベルのノードから)取得し得る。ノードは、例えば、サービスデプロイメントドキュメント内に指示(例えば、定義)されているように、リンクされたノードのプロビジョニングを(例えば、続いて)連携させ得る。リンクされたノードのプロビジョニングは、構成データ及び/又はソフトウェアアプリケーションをダウンロード及びインストールすることによるものであり得る。マスタノードは、ユーザから及び/又は他の処理要素から要求を受け取って、ワークオーダをワーカノードにデプロイし得る(例えば、コマンドを実行する要求、又はデータを取得する要求)。マスタノードは、ワークオーダの完了を監視し得る。マスタノードは、ワークオーダに関連した処理負荷を管理(例えば、分配)し得る。いくつかの実施形態では、ワーカノードは、マスタノードから受信したコマンドに応答して、(例えば、IGU、HVACシステム、又はセンサを制御する)制御されたオペレーティングシステムの作業タスクの性能を制御する。コマンドは、(例えば、マスタノードによる)所定の条件に応答して、又は人間のユーザからの入力に応答して生成され得る。ワーカノードは、インテリジェントサービス、ストレージ、及び/又はデバイス構成を支配し得る。インテリジェントサービスは、人工知能(本明細書では「AI」と略される)を含み得る。
【0057】
いくつかの実施形態では、処理システム(本明細書で「クラスタ」とも呼ばれる)は、複数のノードを含む。ノードは、処理システム内のコントローラのうちのいずれか(例えば、図2に示されるような任意のコントローラ)を表すことができる。ノードは、例えば、ローカルリンクによって、クラスタ内で通信可能に結合することができる。リンクは、相互接続されたノードの発見可能性を促進することができる通信チャネル(例えば、イーサネットなどのネットワークケーブル)を含むことができる。各ノードは、自己オーケストレーティングフレームワークを構成するために一緒に作業するオブザーバエージェント及びオーケストレータを含むことができる。自己オーケストレーティングフレームワークは、役割の自動割り当て及び全体的なサービスデプロイメントを処理することができる。少なくとも1つのオブザーバエージェントは、他のオブザーバエージェントと協働して、ノードの各々に割り当てられた役割を定義及び維持するように動作し得る。オーケストレータは、Kubernetesなどのオーケストレーションソフトウェアアプリケーションを含むことができる。他のオーケストレーションソフトウェアが利用されてもよい。
図5は、複数のノード501、502、及び503を含む処理システム(例えば、「クラスタ」)500の例を示す。図5に示す例では、ノード501、502、及び503は、ローカルリンク506によってクラスタ500内で通信可能に結合されている。ノード501は、オブザーバエージェント504及びオーケストレータ505を含む。他のノードの各々は、同様に、それぞれのオブザーバエージェント及びオーケストレータを含むことができる。他のオブザーバエージェントと協働するオブザーバエージェント504は、本明細書に記載されるように、ノード501、502、及び503の各々に割り当てられた役割を定義及び維持するように動作し得る。
【0058】
いくつかの実施形態では、任意の特定のノード内のオーケストレータは、マスタ役割又はワーカ(例えば、従属者)役割に従って動作するように構成されている。一例では、複数のノード内のオーケストレータは、コンテナ化されたアプリケーションを管理するクラスタ化された環境を形成することができる。コンテナ化されたアプリケーションは、デプロイメント、スケーリング、構成、バージョニング、及び/又はローリングアップデートなどの様々な機能を実行することができる。オーケストレータ環境(例えば、Kubernetes)では、マスタノードは、クラスタを制御(例えば、指示及び/又は監視)し得る。制御は、作業をスケジュールすること、ワーカノードを再構成すること、及び/又は所定のイベントに応答することを含み得る。いくつかの実施形態では、Kubernetesマスタノードサーバは、(i)アプリケーション状態を宣言し、並びに/又は(ii)ワークオーダを検証及び/若しくはデプロイするためのマニフェストファイルを維持する。サーバは、アプリケーションプログラミングインターフェース(本明細書では「API」と略される)を含み得る。サーバは、ウェブベースのサーバ及び/又は少なくとも1つの固定サーバ(例えば、ローカルサーバ)を含み得る。固定サーバは、施設内にあり得る。固定サーバは、施設以外の場所にあり得る。サーバは、1つ以上の(例えば、定義された要求-応答メッセージシステムに)公開されたエンドポイントを含み得る。スケジューラ(マスタノードの一部として)は、例えば、作業負荷をバランスさせることができるように、リソース利用を追跡することができる。クラスタストア(マスタノードの一部として)は、例えば、連携及び/又は状態管理のために、クラスタ全体で使用されるオーケストレーションデータを複製することができる。いくつかの実施形態(Kubernetesなど)では、マスタコントローラ(マスタノードの一部として)は、(i)サーバを監視することによって、及び/又は(ii)所望の状態に向かってクラスタを調整することによって、クラスタの要求された状態を実現する。図6は、オーケストレートされたクラスタ内のマスタノード600の例を示す。マスタノード600は、コントローラブロック601、クラスタストア602、スケジューラ603、及びサーバ604を有する。オーケストレータ(マスタ内及び/又はワーカノード内)は、インフラストラクチャの上のソフトウェア層として、及び/又は、例えば、コントローラ(例えば、処理ユニット)で具体化される、ハードウェア層として実装することができる。
【0059】
いくつかの実施形態では、処理ユニットは、少なくとも1つのノードに(例えば、各ノードに)含まれる。処理ユニットは、オブザーバエージェント及びオーケストレータを具体化するための十分な計算能力を有するように構成され得る。例えば、ノードは、オブザーバエージェント及びオーケストレータでプロビジョニングされることに加えて、少なくとも1つの絶縁ガラスユニット(「IGU」)を制御するように構成されたローカルコントローラ(例えば、窓コントローラ)とすることができる。ノードは、マスタノード又はワーカノードの役割を有するように割り当てることができる。ノードは、機械学習アプリ、メッセージブローカ、及び/又は気象予測などの1つ以上の機能及び/又はサービスのためのダウンロード可能なアプリを受信及び実行することができる。いくつかの実施形態では、ローカルコントローラ(例えば、処理ユニット)は、例えば、その全体が参照により本明細書に組み込まれる、2020年1月14日に登録された「MULTI-SENSOR DEVICE AND SYSTEM WITH A LIGHT DIFFUSING ELEMENT AROUND A PERIPHERY OF A RING OF PHOTOSENSORS AND AN INFRARED SENSOR」と題する米国特許第10,533,892号に開示されているような、窓コントローラを含むことができる。
【0060】
いくつかの実施形態では、窓コントローラは、一般に、1つ以上の結合された光学的に切り換え可能なデバイス(例えば、エレクトロクロミックデバイス(ECD))内の光学的状態遷移を駆動するか、又はそのデバイスの光学的状態を維持するように、動作可能であり、かつ/又は適合される。いくつかの実装形態では、処理ユニットは、任意の好適な論理デバイスで実装することができる。論理デバイスは、プロセッサを含み得る。論理デバイスは、本明細書に記載の機能及び/又はプロセスのいずれかを実行するように構成され得る。いくつかの実装形態では、処理ユニットは、マイクロコントローラ(「マイクロコントローラユニット」(本明細書では「MCU」と略される)とも呼ばれる)を含む。処理ユニットは、組み込みアプリケーションのために設計されたマイクロコントローラを含むことができる。例えば、処理ユニットは、プロセッサコア(例えば、200MHzのプロセッサコア)及びプログラムメモリ(例えば、2018KB又は他の適切な不揮発性メモリ)、ランダムアクセスメモリ(RAM)(例えば、512KB又は他の好適なRAM)、並びに1つ以上の入出力(本明細書では「I/O」と略される)インターフェースを含み得る。プログラムメモリは、例えば、処理ユニットの機能、動作、又はプロセスを実装するために、プロセッサコアによって実行可能なコードを含むことができる。図7は、1つ以上のECDを含むIGU701に結合された窓コントローラの形態のローカルコントローラ700の例を示す。コントローラ700は、データバストランシーバ704を介してネットワークリンク703にインターフェース接続された処理ユニット702を有する。リンク703は、処理ユニット702をリンク703上の他のノードに通信可能に結合する。いくつかの実施形態では、処理ユニット702は、オブザーバエージェント、オーケストレータ、及び/又は1つ以上のソフトウェアアプリで事前にインストールされ得る(又はそれらで更新され得る)。
【0061】
いくつかの実施形態では、複数(例えば、すべて)のノードが通信可能に結合されている。ノードの物理的位置は、重要でなくてもよい。いくつかの実施形態では、1つ以上(例えば、すべて)の自己オーケストレーティングノードが、ローカルリンクを介して接続されている。いくつかの実施形態では、1つ以上(例えば、すべて)のノードは、単一の施設(例えば、サイト)に、又は単一のエンクロージャに位置することができる。施設及び/又はエンクロージャは、クラウドを介して、及び/又は遠隔でアクセス可能であり得る。ノードは、コントローラ、アクチュエータ、BMSシステム(例えば、HVACシステム)を含むか、又はそれらに通信可能に結合され得る。
【0062】
いくつかの実施形態では、クラスタを形成する複数のノードは、(例えば、ファイアウォールを介して)安全に接続されている。クラスタは、処理システム用であり得る。安全な接続は、例えば、処理システム及びそれが実行するサービスを構成及び/又は管理するために、複数のノードを1つ以上の遠隔リソースに通信可能に結合し得る。例えば、処理システムは、遠隔リソースへの通信を認証するエッジサービスを含み得る。遠隔リソースは、クラウドベースの遠隔リソースを含み得る。遠隔リソースは、固定遠隔リソースを含み得る。固定遠隔リソースは、施設の外側に(例えば、施設の場所とは異なる場所に)配置され得る。エッジサービスは、サードパーティ(例えば、サービスプロバイダ)が処理システムの性能パラメータ及び/又は構成を定義することを可能にするデータ及び/又はコマンドを、遠隔地から取得することができる。サードパーティは、中央のエンティティであり得る。オンサイトの(例えば、手動による)ノードの構成及び/又はカスタマイズは不要になり得る。いくつかの実施形態では、遠隔リソースは、認証エンジン、サービスドキュメントストア、コンテナレジストリ、及びグローバルオーケストレータ(例えば、サービスプロバイダのためのハブ)を含む。サービスドキュメントストアは、特定のエンクロージャのための(例えば、特定の建物内のコントローラネットワークのための)処理システムの構成データを定義するサービスデプロイメントドキュメントのためのリポジトリであり得る。構成データの例としては、ノードレイアウト、カーディナリティ、ノード能力(例えば、センサ、アクチュエータ、及び/又はエミッタ)、及び/又はターゲットアプリケーションが挙げられる。コンテナレジストリは、マスタノード及びワーカノードの動作をオーケストレートする際に使用される1つ以上のソフトウェアエンティティ(コンテナとして知られる)を記憶することができる。グローバルオーケストレータは、サービスドキュメントストア、コンテナレジストリ、及び/又は認証エンジンにデータを入力する役割を担い得る。データ入力は、カスタマイズされたデータ、例えば、サードパーティ(例えば、サービスプロバイダの1つ以上の顧客)のデータなどの1つ以上の処理システムに対応するデータを含み得る。
【0063】
図8は、クラウドベースの遠隔リソースとそれぞれのエンクロージャ内にデプロイされた1つ以上の処理システムとの間の相互作用の例を示す。各エンクロージャは、異なる顧客サイト(例えば、複数のサイトを有する単一の顧客又はそれぞれのサイトを有する複数の顧客)を表し得る。いくつかの実施形態では、特定の施設(例えば、サイト)に対応する処理システムを作成するために、複数のノードがサイトに設置される。いくつかの実施形態では、設置前のノードの事前構成が、オブザーバエージェント及び/又はオーケストレータを含めることに限定されることは、問題ない。オブザーバエージェントは、ノードクラスタを自動的に形成する(例えば、マスタノード及び/又はワーカノードの割り当てを含む)ように適合されたソフトウェアルーチンを含み得る。オーケストレータは、マスタノードとして、又はワーカノードとしてノードを動作させるように適合されたソフトウェアルーチンを含み得る。マスタノードは(例えば、また)、エッジサービスを動作させ得る。エッジサービスは、階層的コントローラスキームを、例えば、遠隔リソースからのサービスデプロイメントドキュメント及び/又はコンテナの取得に少なくとも部分的に基づいて、構成及び/又は更新するために使用され得る。いくつかの実施形態では、サービスデプロイメントドキュメント及び/又はコンテナは、サードパーティ(例えば、サービスプロバイダ)によって定義される。サードパーティは、建物内に設置された少なくとも1つのハードウェアアイテム(例えば、IGU及び/又はコントローラノード)を供給し得る。サードパーティは、設計、デプロイメント、及び/又はネットワークサービスを含む1つ以上のサービスを供給し得る。
【0064】
いくつかの実施形態では、顧客サイトは、複数のノードを有するオンプレミスのクラスタを備えている(例えば、図19を参照)。第1の動作段階では、ノードは、それらのオブザーバエージェントが(例えば、自動的に)相互作用してクラスタを作成するようにアクティブ化され得る。相互作用は、通信を含む。1つ以上のクラスタ参加動作が、各ノードによって実行され得る。クラスタ参加動作は、自動クラスタ参加動作を含み得る(例えば、自動クラスタ参加動作であり得る)。クラスタ参加動作は完全に自動であり得る。クラスタ参加動作は、役割(例えば、マスタノード及び/又はワーカノードとして)の割り当てをもたらし得る。いくつかの実施形態では、(例えば、第1の段階で)マスタノードとして割り当てられたノードは、続けて、所望の構成に従って処理システムをコミッションし得る。所望の構成は、少なくとも1つのサービスデプロイメントドキュメント内に定義され得る。任意選択の第2の動作段階では、マスタノードは、認証エンジンに対して認証するために(例えば、事前構成された)クレデンシャルを使用し得る。認証エンジンは、クラウド内にあり得る。認証は、少なくとも部分的にエッジサービスを介し得る。例えば、セキュリティを強化するために、サイトとクラウドとの間にファイアウォールが使用され得る。サービスデプロイメントドキュメントがマスタノードによってドキュメントストアに要求される、第3の動作段階が行われ得る。第3の段階は、第2の段階に続き得るか、又は(第2の段階がない場合)第3の段階は、第1の段階に続き得る。サービスデプロイメントドキュメントは、YAMLなどの人間が読めるデータシリアライゼーション言語を使用して定義され得る。第4の段階では、要求されたドキュメントは、例えば、ネットワーク接続を介して、マスタノードによって受信することができる。
【0065】
図8に示す例では、第1の顧客サイト800は、ノード802、803、804、805、及び806を含むオンプレミスのクラスタ801を有する。第1の動作段階の一例では、ノード802~806がアクティブ化されると、それらのオブザーバエージェントは自動的に相互作用してクラスタを作成する。自動クラスタ参加動作は、ノード802がマスタノードの役割を割り当てられ、ノード803~806がワーカノードの役割を割り当てられることをもたらし得る。いくつかの実施形態では、マスタノードとして割り当てられたノード(例えば、ノード802)は、続いて、少なくとも1つのサービスデプロイメントドキュメントに定義された所望の構成に従って処理システムをコミッションする。第2の動作段階の一例では、マスタノード802は、エッジサービス807を介してクラウド810内に存在する認証エンジン811に対して認証するために、事前構成されたクレデンシャルを使用する。セキュリティを強化するために、サイト800とクラウド810との間にファイアウォール808が使用され得る。認証後、サービスデプロイメントドキュメントがマスタノード802によってドキュメントストア812に要求される、第3の動作段階が行われ得る。要求されたドキュメントは、例えば、ネットワーク接続を介して、第4の動作段階でマスタノード802によって受信される。
【0066】
いくつかの実施形態では、既存のクラスタが変更を必要とし得る。クラスタ変更の一部として、第5の動作段階が実行され得る。第5の段階は、取得されたサービスデプロイメントドキュメントを使用して、クラスタ内のノードのうちの1つ以上をコミッション(例えば、構成及び/又は再デプロイ)することを含み得る。クラスタ変更は、(i)クラスタノードのうちの1つ以上の再構成及び/又はクラスタへの1つ以上の新しいノードの導入を含み得る。例えば、第5の段階は、クラスタのノード間でマスタ及びワーカの役割を再割り当てすることを含み得る。再割り当ては、古いワーカが新しいマスタになり、古いマスタが新しいワーカになるような役割の対称交換を含み得る。再割り当ては、古いワーカが新しいマスタになり、古いマスタが(例えば、機能不全、又は別のクラスタ内のノードとしての利用により)排除されるような、役割の非対称交換を含み得る。クラスタ変更は、新しいノード(例えば、新しいマスタノード又は新しいワーカノード)をクラスタに導入することを含むことができる。新しいノードの導入は、古いノードの機能不全(例えば、故障)によるものであり得る。新しいノードの導入は、ノードの総数を増加させる目的であり得る。ノードの総数を増加させることは、ノードが供給するクライアントの数を増加させることにつながり得る。クライアントは、IGU、センサ、エミッタ、又はアンテナを含み得る。いくつかの実施形態の第6の動作段階では、マスタノードは、例えば、クラウド内にあるコンテナレジストリから所定のコンテナを取得する。コンテナは、それぞれのドッカーを含み得る。コンテナは、それぞれのアプリケーション機能を実行するように事前構成され得る。コンテナ及び/又はサービスデプロイメントドキュメントの事前構成は、グローバルオーケストレータによって制御され得る。いくつかの実施形態では、マスタノードがコンテナ及びサービスデプロイメントドキュメントをロールアウトした後、処理システムは、コミッション済みであり、意図された機能を実行し始める。いくつかの実施形態では、1つ以上のノードがクラスタから離脱することができ、及び/又は1つ以上の新しいノードがクラスタに参加することができる。オブザーバエージェント及びオーケストレータは、(i)任意の変更を監視し続け得、(ii)新しい役割割り当てを生成し得、及び/又は(iii)継続的にノードを構成(又は再構成)し得る。いくつかの実施形態では、第7の動作段階は、他の顧客サイトでの別個のコミッショニングを含む。
【0067】
図8は、マスタノードが、第6の動作段階中にクラウド810内のコンテナレジストリ813から(例えば、所定の)コンテナを取得する例を示す。コンテナ及び/又はサービスデプロイメントドキュメントの事前構成は、例えば、グローバルオーケストレータ814によって、制御することができる。マスタノードが、コンテナ及びサービスデプロイメントドキュメントを実装した後、ノード802~806は、それらの意図された機能を実行する(例えば、これらのノードに通信可能に結合された任意のクライアントに指示する)。いくつかの実施形態では、オブザーバエージェント及びオーケストレータは、(i)任意の変更を監視し続け、(ii)新しい役割割り当てを行い得、及び/又は(iii)継続的にノードを構成又は再構成し得る。図8の例では、他の顧客サイト814、815、及び816は、第7の動作段階中に(例えば、同様の方法で)コミッションすることができる。少なくとも2つの顧客サイトは、同時にコミッションされ得る。少なくとも2つの顧客サイトは、順次にコミッションされ得る。少なくとも2つの顧客サイトをコミッションする際に時間重複が存在し得る。
【0068】
図19は、動作段階の例を示す。動作段階は、サービスプロバイダによって使用され得るビジネスモデルに関連し得る。ブロック1901では、第1の段階は、クラスタ内のノードのアクティブ化(例えば、起動)を含む。アクティブ化すると、ノード内のオブザーバエージェント(例えば、ノードあたり1つのオブザーバエージェント)は、少なくとも1つのノード(例えば、各ノード)ノードがクラスタに参加し、(アルファ)マスタノードが決定されるように、相互作用する。ブロック1902では、(アルファ)マスタノードは、第2の段階でクラウドベースのサーバ(例えば、サービスプロバイダのサービスセンタ内にある)に対して認証する。ブロック1903では、第3の段階は、アクティブ化されたクラスタのサービスデプロイメントドキュメントを受信するためのマスタノードからの要求を含む。ブロック1904では、サービスドキュメントが、第4の段階でマスタノードに送信される。ブロック1905では、第5の動作段階は、例えば、サービスドキュメントに従った、マスタノードによるクラスタ内のノードのコミッショニングを含む。ブロック1906では、マスタノード及び/又はコミッションされたノード自体は、レジストリから1つ以上のコンテナ(例えば、アプリケーションソフトウェア)を取得し得る。レジストリは、例えば、クラウドサービス内に遠隔に位置することができる。一般的な顧客のための複数のエンクロージャ(例えば、建物)にまたがり得る全体的なサービスの一部として、ブロック1907内の第7の動作段階は、(例えば、第1のクラスタと連携する)他のクラスタの自己オーケストレーション及び/又はコミッショニングを含む。これらの動作段階のうちの1つ以上は、任意選択の段階であり得る。例えば、第3の段階~第7の段階のいずれかは、任意選択の段階であり得る。
【0069】
いくつかの実施形態では、第1の動作段階は、複数のノードがエンクロージャ内に設置され、ローカルネットワークリンクによって互いに接続され、電源がオンにされたときに、トリガされる。システム起動プロセスは、例えば、すべてのノードがクラスタに参加することにつながる方法を、各ノード内のそれぞれのオブザーバエージェントが実行するときに、各ノードで自動的に開始され得る。参加プロセスは、参加したノードにマスタ及びワーカの役割を割り当てることを含み得る。いくつかの実施形態では、1つ以上のノードが、マスタ役割を有するものとして最初に確立される。少なくとも1つのマスタノードが確立されると、クラスタの階層を初期化することができる。続いて、他のノードは、例えば、参加要求をマスタノードに提出することによって、クラスタに(例えば、ワーカ役割で)参加することが可能になり得る。
【0070】
図9は、ブロック900で始まるシステム起動ルーチンがオブザーバエージェントによって実行され得る例を示す。ブロック901では、ローカルリンク上の任意の他のオブザーバエージェントがすでにマスタの役割を割り当てられているかどうかを問い合わせるためのクエリが、オブザーバエージェントによってブロードキャストされる。いくつかの実施形態では、クエリは、例えば、メッセージキューを使用して送信することができる。メッセージキューは、ゼロ構成サービスを利用し得る(例えば、マルチキャストドメインネームシステム(本明細書では「MDNS」と略される)プロトコル及び/又はドメインネームシステムサービスディスカバリ(本明細書では「DNS-SD」と略される)を使用する。オブザーバエージェントは、例えば、所定の時間、応答を待つことができる。図9に示す例では、マスタノードを識別する応答が受信されたかどうかを判定するためのチェックが、ブロック902で実行される。受信された場合、オブザーバエージェントは、識別されたマスタノードに参加要求903を送信する。オブザーバエージェントは、ブロック904でマスタノードを介して(例えば、ワーカノードとして)クラスタ参加動作を実行する。参加後、ノードは、ブロック905で、オーケストレートされた動作に進み得る。ブロック902で応答したマスタノードがない場合、オブザーバエージェントは、ブロック906でマスタの役割を引き受けることができる。マスタノードとして動作すると、オブザーバエージェントは、ブロック907でクラスタを初期化する。初期化は、クラスタ内のノードのディレクトリをコンパイルすること、及びマスタノードによって取得することができるサービスデプロイメントドキュメントに従ってノードをコミッションすることを含み得る。コミッショニング後、ノードは、ブロック908で、オーケストレートされた動作に進む。
【0071】
いくつかの実施形態では、例えば、マスタ役割の1つ以上の追加の割り当てを行うことによって、ノード間の連携の強化が提供される。これらの実施形態は、通信可能に結合された(例えば、対応するネットワークリンクによって互いに接続された)ノードを有する大きなクラスタを含み得る。クラスタは、少なくとも2、3、5、10、50、又は100個のノードを含み得る。クラスタは、クラスタ内に前述のノード数の間の任意の数のノードを含み得る(例えば、2~100、2~10、又は10~100個の、クラスタ内のノード)。大きなクラスタは、少なくとも101、250、500、750、1000、5000、又は10000個のノードを含み得る。大きなクラスタは、前述のノード数の間の任意の数のノードを含み得る(例えば、101~10000、101~1000、又は1000~10000個の、大きなクラスタ内のノード)。1つ又は2つ以上のマスタノード割り当てが行われているかどうかにかかわらず、いくつかの例では、マスタとしてステータスを取得するためのノード間の可能な競合を処理することは有益であり得る。いくつかの実施形態では、マスタになるという主張をブロードキャストするオブザーバエージェントは、所与の時間にわたって(通信ネットワークを介して到来する)他のそのような主張を監視し続ける。オブザーバエージェントは、マスタになるという請求を待ち時間中にブロードキャストし続け得る。他の競合が検出されなければ、マスタになるという請求をブロードキャストしているノードが、マスタ役割を引き受け得る。別のノードによる競合が検出されると、競合手順が開始され得る。競合手順は、マスタノードになるという主張のブロードキャスティングの別のラウンドの開始を含み得る。新しいラウンドの間、進行中の競合の可能性を低減するために、競合するノードは、マスタノードになるという主張をブロードキャストする前にランダムな待ち時間、待ち得る。ネットワーク上でマスタノードを主張する最初のノードが、マスタ役割を引き受け得る。
【0072】
図10は、マスタ役割を取得するために各オブザーバエージェントが従う例示的なプロセスを示す。プロセスは、ブロック1000で開始する。起動時に、オブザーバエージェントは、ローカルリンク上の任意の他のオブザーバエージェントがすでにマスタの役割を割り当てられているかどうかを問い合わせるために、ブロック1001でクエリをブロードキャストする。いくつかの実施形態では、クエリは送信することができる。オブザーバエージェントは、例えば、所定の時間、応答を待つ。マスタノードを識別する応答が受信されたかどうかを判定するためのチェックが、ブロック1002で実行される。応答が受信されたと判定された場合、オブザーバエージェントは、ブロック1003で、識別されたマスタノードに(例えば、ワーカノードとして)参加要求を送信する。参加後、ノードは、ブロック1004で、オーケストレートされた動作に進む。
ブロック1002で応答したマスタノードがない場合、オブザーバエージェントは、ブロック1005でマスタ役割を引き受けるという主張をブロードキャストする。ブロック1006で、オブザーバエージェントは、マスタ役割に対する主張(すなわち、競合する主張)を同様にアサートし得る任意の他のノードからのブロードキャストを監視する。競合が検出されない場合、競合段階が完了したかどうかを判定するチェックが、ブロック1007で実行される。競合段階の完了は、例えば、所定の時間の満了からなり得る。この段階が完了した場合、マスタ役割のアサーションがブロック1008で成功する。マスタノードは、ブロック1010でクラスタを初期化する。段階が完了していない場合、マスタとしての主張がブロック1005で繰り返される。競合する主張がブロック1006で検出される場合、オブザーバエージェントはメッセージ(例えば、否定応答)をブロードキャストする。メッセージは、競合が発生したことを他のノードに通知する。競合メッセージのブロードキャストは、マスタノードになるためのすべての保留中のアサーションをキャンセルする。ブロック1012でランダムな時間量を待った後、オブザーバエージェントは、ブロック1001に戻って、既存のマスタに対する新しいクエリをブロードキャストする。前に競合していたノードの各々は異なるランダムな時間待ってから続行するので、マスタ役割を取得するという主張が同時には再発しない可能性が高い。オブザーバエージェントのうちの1つがランダムに最短待ち時間を有し、(例えば、ブロック1001の)クエリに対する応答としてマスタ役割を最初に確立することが可能になる。クエリは、ネットワーク内の少なくとも1つのノードによって(例えば、ノードがマスタを見つけられないときに)ブロードキャストすることができる。
【0073】
いくつかの実施形態では、2つ以上のノードがマスタノードとして指定される。2つ以上のマスタがある場合、マスタのうちの1つは、アルファ又は第1のマスタとして指定され得る。マスタは、マスタ役割の責務を共有するために協調して動作し得る。別の例では、アルファマスタは単独の責務を担うことができ、他のマスタはバックアップとして機能する。各役割(例えば、マスタ及びワーカ)のカーディナリティ(すなわち、ノード数)が、クラスタを形成及び構成するときに、マスタノードによって決定及び使用され得る。マスタノードは、自身が第1の(アルファ)マスタであるかどうかを判定するためにチェックし得る。自身が第1のマスタであることがわかると、ノードは、デプロイメント仕様を適用し得る(例えば、デプロイメント仕様に定義された役割/機能に従って他のノードをコミッションする)。第1のマスタノードではない場合、ノードは、デプロイメントドキュメントを適用しないで、マスタノードとして動作し続ける。マスタノードは、作業ノードに対するワークオーダ(例えば、ワークオーダの実体、実行、及び/又は流れ)を制御し得る。
【0074】
図11は、マスタノードでのクラスタ形成及びコミッショニングのプロセスの例を示す。ブロック1100では、ノードが、マスタとしての割り当てを完了させ、クラスタのカーディナリティについてカウントを更新する。このノードは、ブロック1101でクラスタを初期化する。他のノードからの要求に応答して、マスタノードは、ブロック1102で、他のノードがワーカノードとして、又は時には(例えば、予測されたクラスタの複雑さに応じて)別のマスタノードとして参加することを可能にする。マスタノードは、ブロック1103でデプロイメント仕様(例えば、サービスデプロイメントドキュメント)を取得する。例えば、取得は、エッジサービスを利用してクラウドにアクセスし得る。ブロック1104では、ノードは、自身が第1の(アルファ)マスタであるかどうかをチェックする。自身が第1ではない場合、1106で、オーケストレートされた動作に進む。自身が第1である場合、ノードは、デプロイメント仕様を適用する(例えば、デプロイメント仕様に定義された役割/機能に従って他のノードをコミッションする)。次いで、1106で、オーケストレートされた動作に進む。クラスタの複雑さは、クラスタ内のノードの総数、ノードによってサービスされるクライアントのタイプ、クライアントに向けられる割り当てのタイプ、及び/又は施設のサイズに少なくとも部分的に依存し得る。
【0075】
いくつかの実施形態では、追加の新しいノードが初期コミッショニング後に既存のクラスタに接続され、通常のオーケストレーション動作が確立される。例えば、クラスタによって必要とされる及び/又は許可されるとき、新しいノードが、クラスタに参加すること、及び対応する役割を受信することを許可され得る。新しいノードがクラスタに通信可能にリンクされたとき(例えば、及び電源投入されたとき)、そのオブザーバエージェントが起動し、参加要求を生成し得る。既存のマスタノードが参加要求を受信し得、新しいノードをワーカノードとして、又は別のマスタノードとして追加すべきかを判定し得る。いくつかの実施形態では、最大で1、3、5、7、又は9個のマスタノードが存在し得る。例えば、クラスタ内のノードの総数が閾値数(例えば、5)であるか、又はそれよりも大きくなる場合、ノードの閾値数を下回る任意の数のノードがマスタノードになるように割り当てられ得る。いくつかの実施形態では、マスタノードの数(カーディナリティ)が奇数になるように選択される。奇数のマスタノードは、マスタノードになることを要求しているノードの競合(例えば、本明細書に記載の競合手順)中に、及び/又はマスタノードが処理システムの制御を共有し、かつ競合するアクションを生成するときに、競合を解決すること(例えば、均衡を破ること)を容易にする。
【0076】
いくつかの実施形態では、新しいノードを追加するときに発生するコミッショニングは、既存のマスタノードへのワーカノードの割り当て、特定のクライアント(例えば、IGUなどのデバイス)へのワーカノードの割り当て、及び/又は(例えば、追加の)マスタノードの割り当てを含む。ノードは、例えば、プラグアンドプレイ方式で追加することができ、自動化された水平スケーリングをもたらす。図12は、新しいノードを既存のクラスタに追加するためのプロセスの例を示す。ブロック1200では、新しいノードが、クラスタを相互接続するリンクを介して参加要求をブロードキャストする。参加要求を受信したマスタノードは、ノードに割り当てられる役割(例えば、マスタノード又はワーカノード)を決定する。決定は、総ノードカウント(カーディナリティ)を、カーディナリティのために必要とされるマスタノードの数と相関する1つ以上の閾値と比較することを含むことができる。ノードの追加によって閾値に達すると、新しいノード(例えば、及び場合によっては1つ以上の既存のワーカノード)は、マスタ役割を有するように割り当てることができる。ブロック1202では、マスタノードは、新しいノードにメッセージを送信して、選択された役割を新しいノードに通知する。ブロック1203では、新しいノードは、ワーカノードになるように割り当てられたかどうかをチェックする。そうである場合、新しいノードは、ブロック1204でワーカノードとしてクラスタに参加する。そうでない場合、新しいノードは、ブロック1205でマスタノードとしてクラスタに参加する。
【0077】
いくつかの実施形態では、1つ以上のノードへの役割の割り当てが、初期設置中に、新しいノードの追加時に、及び/又はクラスタからの1つ以上のノードの離脱(例えば、故障又は除去)時に発生する。例えば、マスタノード又はワーカノード内のオブザーバエージェントは、他のノードの活動を監視することができる。オブザーバエージェントは、所定の時間にわたってサイレントのままである、及び/又は直接クエリに応答することができないノードの機能不全を推測することができる。故障の検出時に役割を自動的に再割り当てすることにより、例えば、単一の故障点の発生が低減(例えば、回避)され得るので、処理システムの復元性が改善される。マスタノード(例えば、監督ノード)は、復元性目的などで、割り当てる、交換する(例えば、切り替える)、又はマスタノードの数を増加させることができる。いくつかの実施形態では、ノードの割り当て及び/又は選択は、確率モデルを使用して行われる。いくつかの実施形態では、手動オーバーライドを使用して、確率分布を置き換える(例えば、監督者割り当てのために)。いくつかの実施形態では、ノードの初期セットアップは確率的であるが、マスタの再割り当ては非確率的である。いくつかの実施形態では、ノードの初期セットアップは非確率的であるが、マスタの再割り当ては確率的である。いくつかの実施形態では、ワーカノードがマスタを有しないことを認識すると(例えば、クラスタが少なくとも1つのマスタを失うと)、新しいマスタが割り当てられる。一例では、マスタの喪失を最初に検出したワーカノードは、新しいマスタになることができる。一例では、クラスタ内のワーカノードは、新しいマスタがクラスタ内の他の利用可能なマスタから割り当てられるように要求することができる。一例では、マスタをクラウドから一時的に割り当てることができる。一例では、ワーカノードは、システム全体が別のマスタ割り当てを割り当てる及び/又は要求する間、マスタなしで一時的に(例えば、事前に決定することができる、限定された時間にわたって)機能し得る。処理システムは、(例えば、監督者ノードの、及び/又はワーカノードの)冗長性を有し得る。処理システムは、バックアップマスタノード、例えば、少なくとも1つのトリガリングイベントが発生するとマスタノードになるという命令を有するワーカノードを有することができる。トリガリングイベントは、マスタが(例えば、本明細書に開示されるように)機能不全、保守、又はクラスタの複雑さの増加に起因してシステムから離脱すること、を含むことができる。処理システムは、完全に又は部分的に冗長となることができる。例えば、システムは、少なくとも部分的なマスタノード冗長性を有し得る。例えば、システムは、少なくとも部分的なワーカノード冗長性を有し得る。システムは、(i)施設若しくはその任意のセクション(例えば、部屋)、及び/又は(ii)ネットワークセクションの重要性に応じて冗長性を有し得る。
【0078】
図13は、(例えば、ノードがクラスタから離脱する、又は新しいノードがクラスタに参加するときに)マスタ役割を割り当てるための確率的方法の例を示す。プロセスは、ブロック1300で始まり、続けて、ブロック1301でカーディナリティをチェックする。カーディナリティ(例えば、ノードカウント)が閾値よりも大きいかどうかを判定するためのチェックが、ブロック1302で実行される。閾値よりも大きくなければ、プロセスは、マスタ役割を変更せずに終了する。新しいノードが参加していれば、それにワーカ役割が割り当てられる。カーディナリティが閾値よりも大きい場合、既存のマスタノードは、ブロック1303で、少なくとももう1つの(例えば、ランダムに又は非ランダムに選択された)ワーカノードにマスタ役割を割り当てる(例えば、それに昇格させる)ことができ、新しいマスタ役割割り当ての数は、閾値に依存する。
【0079】
図14は、(例えば、ノードがクラスタから離脱する、又は新しいノードがクラスタに参加するときに)タイムシーケンスに従ってマスタ役割を割り当てるための方法の例を示す。プロセスは、ブロック1400で始まり、続けて、ブロック1401でカーディナリティをチェックする。カーディナリティ(例えば、ノードカウント)が5より大きいかどうかを判定するためのチェックが、ブロック1402で実行される(5という数は、この例ではマスタノード閾値として提供される)。マスタノード閾値よりも大きくなければ、プロセスは、マスタ役割を変更せずに終了する。新しいノードが参加していれば、それにワーカ役割が割り当てられる。カーディナリティが閾値(この例では5)よりも大きい場合、既存のマスタノードは、ブロック1403で、2つの他の既存のワーカノードにマスタ役割を割り当てる(例えば、それに昇格させる)ことができる。一例では、選択されるワーカノードは、リストから連続的な順序で選択することができる。リストは、それぞれのノードがクラスタに参加したときの時間に従ってコンパイルすることができる。割り当てのための利用可能なノードが見つかることなくリストの最後に達した場合、プロセスは、追加のノードがクラスタに参加するまで、ブロック1403で待ち得る。
【0080】
いくつかの実施形態では、ノードの競合を解決するために、投票方法が使用され得る(例えば、競合手順を行うために)。いくつかの実施形態では、マスタ役割は、投票方法に従って割り当てられる。投票方法は、初期起動中にクラスタ内で呼び出され得る。投票方法は、ノードが、1つ以上の既存のマスタノード割り当てを有するクラスタから離脱及び/又はそれに参加するときに、クラスタ内で呼び出され得る。例えば、1つのマスタノードがあり、かつ追加のノードがクラスタに参加するとき、カーディナリティは、閾値に達したかどうかを判定するためにチェックすることができる。閾値に達すると、より多くのマスタノードに許可(例えば、及びその後のそれらの形成)がトリガされ得る。マスタノードが追加されるべきであると判定されると、投票プロセスが利用され得る。投票プロセスは、例えば、クラスタ内のノードに(例えば、マスタノード内のオブザーバエージェントによって)ブロードキャストされる、要請メッセージを含み得る。各ノードは、例えば、ノード上で(例えば、所定の)処理能力が利用可能であるときに、要請メッセージに応答するようにプログラムされ得る。閾値よりも大きい数のノードである、必要とされる数のノードが応答すると、マスタノードは選択を行い得る。選択は、ランダムに行われ得る。選択は、ノードのタイプ又は処理能力などの基準を使用することであり得る。選択は、本明細書に開示される任意の選択基準及び/又はスキーム、例えば、任意のスケジューリング及び/又は組織化スキームを用い得る。
【0081】
図15は、(例えば、ノードがクラスタから離脱する、又は新しいノードがクラスタに参加するときに)投票方法に従ってマスタ役割を割り当てるための方法の例を示す。プロセスは、ブロック1500で始まり、続けて、ブロック1501でカーディナリティをチェックする。カーディナリティ(例えば、ノードカウント)が閾値(例えば、5)よりも大きいかどうかを判定するためのチェックが、ブロック1502で実行される。閾値よりも大きくなければ、プロセスは、マスタ役割を変更せずに終了する。新しいノードが参加していれば、それにワーカ役割が割り当てられる。カーディナリティが閾値よりも大きい場合、既存のマスタノードは、任意の他の既存のワーカノードに対して、閾値よりも低い任意の残りの数の利用可能なマスタノード役割にマスタ役割を割り当てる(例えば、それに昇格させる)ことができる。ブロック1503では、マスタ役割を引き受けることができ得る任意のノードに応答を要請するためのメッセージが、ローカルネットワークリンクを介してクラスタにブロードキャストされる。例えば、十分な予備の処理能力を有するワーカノードが、このメッセージに応答し得る。既存のマスタノードは、ブロック1504で、メッセージに応答する2つのワーカノードにマスタ役割を割り当て得る。メッセージに応答するノードの数が不十分である場合、既存のマスタは、例えば、ランダムな選択に基づいてマスタ役割の新しい割り当てを行うことができる。
【0082】
いくつかの実施形態では、オブザーバエージェントは、適切な数のマスタノードを維持することと、ノードがクラスタにいつ参加するか、又はクラスタからいつ離脱するかを調整することとを目的とした連続動作中である。一例では、十分な数のマスタノードを確保するための役割の調整は、既存のクラスタを2つ以上の異なるクラスタに分離することによってトリガされ得る。例えば、1つの顧客によって以前に占有されていた建物又は建物の一部における占有は、一部が異なる顧客によって占有された状態になるように細分化され得る。例えば、クラスタによってサポートされるクライアント(例えば、デバイス)の数は、クラスタが(例えば、確実に)処理することができるサイズを増加させる。ローカルネットワークリンクは、クラスタをサブクラスタに別個に分離する点で切断され得る。サブクラスタへのクラスタの分離は、異なる顧客によって占有される空間によるものであり得る。これは、異なる顧客間のセキュリティ及び/又は機密性を維持する目的で行われ得る。サブクラスタへのクラスタの分離は、クラスタの複雑さによるものであり得る(例えば、クライアント数及び/又はノード数が閾値を超えて増加する場合)。これは、クラスタの信頼性の高い及び/又は安全な動作を維持する目的で行われ得る。安全な動作は、クラスタの崩壊を伴わないクラスタ動作(例えば、制御)の実行であり得る。安全な動作は、管轄の要件に依存し得る(例えば、施設内の現住者の健康及び安全を確保する)。クラスタをサブクラスタに分割することに応答して、オブザーバエージェントは、必要に応じて各サブクラスタ内の役割を(例えば、自動的に)調整し得る。
【0083】
図16Aは、クラスタ1600がローカルネットワークリンク1601によって相互接続されている実施例を示す。複数のノードが、通信リンク1601に接続されている。各ノードは、マスタ(文字「M」によって示される)又はワーカ(文字「W」で示される)の役割によって指定される。図16Bでは、通信リンク1601は、リンクに沿った点1602で切断されており、この点において、ネットワークは、もはや互いに通信しない2つのサブクラスタに分離されている。通信リンクを切断することは、物理的なもの(ケーブルを切断又は切り離す)又は仮想的なもの(例えば、ソフトウェアブロック)とすることができる。図16Cに示すように、サブクラスタ1603は、ローカルリンク1601Aによって相互接続されており、サブクラスタ1604は、ローカルリンク1601Bによって相互接続されている。分離前は、サブクラスタ1604に含まれるノードはすべて、ワーカノードであった。分離後、オブザーバエージェントは、サブクラスタ1604内の少なくとも1つのワーカノードを昇格させてマスタノードとするように動作する。
【0084】
本明細書に記載の方法、システム、及び/又は装置は、制御システムを備えることができる。制御システムは、本明細書に記載の装置(例えば、センサ)のいずれかと通信することができる。センサは、例えば、本明細書に記載されるように、同じタイプのもの又は異なるタイプのものであり得る。例えば、制御システムは、第1のセンサと、及び/又は第2のセンサと通信し得る。制御システムは、1つ以上のセンサを制御し得る。制御システムは、建物管理システムの1つ以上の構成要素(例えば、照明、セキュリティ、及び/又は空調システム)を制御することができる。コントローラは、エンクロージャの少なくとも1つの(例えば、環境)特性を調節することができる。制御システムは、建物管理システムの任意の構成要素を使用してエンクロージャ環境を調節することができる。例えば、制御システムは、暖房要素及び/又は冷房要素によって供給されるエネルギを調節することができる。例えば、制御システムは、ベントを通ってエンクロージャに及び/又はエンクロージャから流れる空気の速度を調節することができる。制御システムは、プロセッサを備えることができる。プロセッサは、処理ユニットとすることができる。コントローラは、処理ユニットを備えることができる。処理ユニットは、中央であり得る。処理ユニットは、中央処理装置(本明細書では「CPU」と略される)を備えることができる。処理ユニットは、グラフィック処理装置(本明細書では「GPU」と略される)とすることができる。コントローラ又は制御機構(例えば、コンピュータシステムを備える)は、本開示の1つ以上の方法を実装するようにプログラムされることができる。プロセッサは、本開示の方法を実装するようにプログラムされることができる。コントローラは、本明細書に開示される成形システム及び/又は装置の少なくとも1つの構成要素を制御することができる。
【0085】
図17は、本明細書で提供される方法のうちのいずれかの1つ以上の動作にプログラムされるか、又はさもなければ構成されているコンピュータシステム1700の概略例を示す。クラスタは、コンピュータシステムを含み得る。例えば、ノードは、回路(例えば、プロセッサ)を含み得る。例えば、ノードは、論理デバイス(例えば、プロセッサ)を含み得る。コンピュータシステムは、例えば、エンクロージャの暖房、冷房、照明、及び/若しくは通気、又はそれらの任意の組み合わせを制御するなど、本開示の方法、装置、及びシステムの様々な特徴を制御(例えば、指示、監視、及び/又は調節)することができる。コンピュータシステムは、本明細書に開示される任意のセンサ又はセンサアンサンブルの一部とすることができるか、又はそれらと通信することができる。コンピュータは、本明細書に開示される1つ以上の機構、及び/又はその任意の部分に結合されることができる。例えば、コンピュータは、1つ以上のセンサ、バルブ、スイッチ、ライト、窓(例えば、IGU)、モータ、ポンプ、光学部品、又はそれらの任意の組み合わせに結合されることができる。
【0086】
コンピュータシステムは、処理ユニット(例えば、1706)(また本明細書において使用される「プロセッサ」、「コンピュータ」及び「コンピュータプロセッサ」)を含むことができる。コンピュータシステムは、メモリ又はメモリ位置(例えば、1702)(例えば、ランダムアクセスメモリ、読み取り専用メモリ、フラッシュメモリ)、電子ストレージユニット(例えば、1704)(例えば、ハードディスク)、1つ以上の他のシステムと通信するための通信インターフェース(例えば、1703)(例えば、ネットワークアダプタ)、及びキャッシュ、他のメモリ、データストレージ、及び/又は電子ディスプレイアダプタなどの周辺装置(例えば、1705)を含み得る。図17に示す例では、メモリ1702、ストレージユニット1704、インターフェース1703、及び周辺装置1705は、マザーボードなどの通信バス(実線)を介して処理ユニット1706と通信する。ストレージユニットは、データを記憶するためのデータストレージユニット(又はデータリポジトリ)であり得る。コンピュータシステムは、通信インターフェースの助けを借りて、コンピュータネットワーク(「ネットワーク」)(例えば、1701)に動作可能に結合され得る。ネットワークは、インターネット、インターネット及び/又はエクストラネット、あるいはインターネットと通信するイントラネット及び/又はエクストラネットであり得る。場合によっては、ネットワークは、電気通信及び/又はデータネットワークである。ネットワークは、クラウドコンピューティングなどの分散コンピューティングを可能にする1つ以上のコンピュータサーバを含む得る。ネットワークは、場合によってはコンピュータシステムの助けを借りて、ピアツーピアネットワークを実装することができ、これにより、コンピュータシステムに結合されたデバイスがクライアントとして、又はサーバとして挙動するのを可能にし得る。
【0087】
処理ユニットは、プログラム又はソフトウェアで具体化されることができる一連の機械可読命令を実行し得る。命令は、メモリ1702などのメモリ位置に記憶され得る。命令は、処理ユニットに指示され得、処理ユニットは、その後、本開示の方法を実装するように処理ユニットをプログラムするか、さもなければ構成し得る。処理ユニットによって実行される動作の例は、フェッチ、復号、実行、及び書き戻しを含み得る。処理ユニットは、命令を解釈及び/又は実行し得る。プロセッサは、マイクロプロセッサ、データプロセッサ、中央処理装置(CPU)、グラフィカル処理装置(GPU)、システムオンチップ(SOC)、コプロセッサ、ネットワークプロセッサ、特定用途向け集積回路(ASIC)、特定用途向け命令セットプロセッサ(ASIP)、コントローラ、プログラマブルロジックデバイス(PLD)、チップセット、フィールドプログラマブルゲートアレイ(FPGA)、又はそれらの任意の組み合わせを含むことができる。処理ユニットは、集積回路などの回路の一部であり得る。システム1700の1つ以上の他の構成要素は、回路内に含められ得る。
【0088】
ストレージユニットは、ドライバ、ライブラリ、及び保存されたプログラムなどのファイルを記憶することができる。ストレージユニットは、ユーザデータ(例えば、ユーザ設定及びユーザプログラム)を記憶することができる。場合によっては、コンピュータシステムは、イントラネット又はインターネットを介してコンピュータシステムと通信している遠隔サーバ上に配置されるなど、コンピュータシステムの外部にある1つ以上の追加のデータストレージユニットを含むことができる。
【0089】
処理ユニット(例えば、コンピュータシステム)は、ネットワークを介して1つ以上の遠隔コンピュータシステムと通信することができる。例えば、コンピュータシステムは、ユーザ(例えば、オペレータ)の遠隔コンピュータシステムと通信し得る。遠隔コンピュータシステムの例は、パーソナルコンピュータ(例:ポータブルPC)、スレート若しくはタブレットPC(例えば、Apple(登録商標)iPad、Samsung(登録商標)Galaxy Tab)、電話、スマートフォン(例えば、Apple(登録商標)iPhone、Android対応デバイス、Blackberry(登録商標))、又は携帯情報端末を含む。ユーザは、ネットワークを介してコンピュータシステムにアクセスすることができる。処理ユニットは、CPU又はGPUを備え得る。処理ユニットは、メディアプレーヤを備え得る。処理ユニットは、回路基板に含まれ得る。回路基板は、NVIDIA(登録商標)によるJetson Nano(商標)Developer Kit(例えば、2GB又は4GBのデベロッパキット)又はRaspberry-Piキット(例えば、1GB、2GB、4GB、又は8GBのデベロッパキット)を含み得る。処理ユニットは、少なくとも1つのメディアポート(例えば、DisplayPort、HDMI、及び/又はマイクロHDMI)、USB、又は、例えば、回路基板に含まれ得る、オーディオビデオジャックを含む複数のポートに動作可能に結合され得る。処理ユニットは、例えば、回路基板の一部として、カメラシリアルインターフェース(CSI)、又はディスプレイシリアルインターフェース(DSI)に動作可能に結合され得る。処理ユニットは、イーサネット(例えば、ギガビットイーサネット)などの通信をサポートするように構成されている。回路基板は、Wi-Fi機能、Bluetooth機能、又は無線アダプタを含み得る。無線アダプタは、802.11プロトコルセット(例えば、USB 802.11ac)内の無線ネットワーキング規格に準拠するように構成され得る。無線アダプタは、例えば、少なくとも約5GHzのバンド上で、高スループットの無線ローカルエリアネットワーク(WLAN)を提供するように構成され得る。USBポートは、少なくとも約480メガビット/秒(Mbps)、4,800Mbps、又は10,000Mbpsの転送速度を有し得る。少なくとも1つのプロセッサは、同期式(例えば、クロック式)プロセッサを含み得る。プロセッサのクロック速度は、少なくとも約1.2ギガヘルツ(GHz)、1.3GHz、1.4GHz、1.5GHz、又は1.6GHzであり得る。処理ユニットは、ランダムアクセスメモリ(RAM)を含み得る。RAMは、ダブルデータレートシンクロナスダイナミックRAM(SDRAM)を含み得る。RAMは、モバイルデバイス(例えば、ラップトップ、パッド、又は携帯電話などの移動電話)用に構成され得る。RAMは、低消費電力ダブルデータレート(LPDDR)RAMを含み得る。RAMは、少なくとも約16、32、又は64ビット幅であるチャネルを許容するように構成され得る。
【0090】
本明細書に記載の方法は、例えば、メモリ1702又は電子ストレージユニット1704などのコンピュータシステムの電子記憶位置に記憶された機械(例えば、コンピュータプロセッサ)実行可能コードによって実装され得る。機械実行可能又は機械可読コードは、ソフトウェアの形態で提供され得る。使用中、プロセッサ1706は、コードを実行し得る。場合によっては、コードは、プロセッサによるアクセスの準備のために、ストレージユニットから取得されてメモリに記憶され得る。状況によっては、電子ストレージユニットは除外され得、機械実行可能命令がメモリに記憶される。
【0091】
コードは、事前にコンパイルされて、コードを実行するように適合されたプロセッサを有するマシンによって使用するように構成されることができるか、実行時にコンパイルされることができる。コードは、コードが事前コンパイル済み又はコンパイル済みの方法で実行することができるように選択されることができるプログラミング言語で提供されることができる。
【0092】
いくつかの実施形態では、プロセッサは、コードを備える。コードは、プログラム命令とすることができる。プログラム命令は、少なくとも1つのプロセッサ(例えば、コンピュータ)に、フィードフォワード及び/又はフィードバック制御ループを指示させることができる。いくつかの実施形態では、プログラム命令は、少なくとも1つのプロセッサに、閉ループ及び/又は開ループ制御スキームを指示させる。制御は、少なくとも部分的に、1つ以上のセンサ読み取り値(例えば、センサデータ)に基づくことができる。1つのコントローラは、複数の動作を指示することができる。少なくとも2つの動作は、異なるコントローラによって指示されることができる。いくつかの実施形態では、1つの異なるコントローラは、動作(a)、(b)、及び(c)のうちの少なくとも2つを指示することができる。いくつかの実施形態では、複数の異なるコントローラは、動作(a)、(b)、及び(c)のうちの少なくとも2つを指示することができる。いくつかの実施形態では、非一時的なコンピュータ可読媒体は、それぞれ異なるコンピュータに、動作(a)、(b)、及び(c)のうちの少なくとも2つを指示させる。いくつかの実施形態では、異なる非一時的なコンピュータ可読媒体は、それぞれ異なるコンピュータに、動作(a)、(b)、及び(c)のうちの少なくとも2つを指示させる。コントローラ及び/又はコンピュータ可読媒体は、本明細書に開示される装置又はその構成要素のいずれかを指示することができる。コントローラ及び/又はコンピュータ可読媒体は、本明細書に開示される方法の任意の動作を指示することができる。
【0093】
いくつかの実施形態では、クライアントは、デバイスを備える。デバイスは、処理システムによって制御され得る。デバイスは、絶縁ガラスユニット(「IGU」)内の着色可能な窓を含み得る。「IGU」、「着色可能な窓」、及び「光学的に切り換え可能な窓」という用語は、本明細書では互換的に使用することができる。建物内の設置のために提供されるときに、エレクトロクロミックペイン(本明細書で「ライト」とも呼ばれる)を保持するための基礎構成としてIGUを機能させることが所望され得る。IGUライトは、単一基板又は多基板構成であり得る。ライトは、例えば、2つの基板からなる、積層体を含み得る。IGU(例えば、二重又は三重ペイン構成を有する)は、単一ペイン構成よりも多くの利点を提供することができる。例えば、多重ペイン構成は、単一ペイン構成と比較した場合、強化された断熱、防音、環境保護、及び/又は耐久性を提供することができる。多重ペイン構成は、ECDの保護の向上を提供することができる。例えば、エレクトロクロミックフィルム(例えば、並びに関連する層及び導電性相互接続部)は、多重ペインIGUの内部表面上に形成し、IGUの内部容積内の不活性ガス充填によって保護することができる。不活性ガス充填は、IGUに対する少なくともいくらかの(熱)絶縁機能を提供する。エレクトロクロミックIGUは、例えば、熱及び光を吸収(及び/又は反射)する着色可能なコーティングの効力によって、熱遮断能力を有し得る。
【0094】
いくつかの実施形態では、「IGU」は、2つ(又はそれより多く)の実質的に透明な基板を含む。例えば、IGUは、ガラスの2つのペインを含み得る。IGUの少なくとも1つの基板は、その上に配置されたエレクトロクロミックデバイスを含むことができる。IGUの1つ以上のペインは、それらの間に配置されたセパレータを有し得る。IGUは、例えば、周囲環境から隔離された内部領域を有する、密封封止された構成とすることができる。「窓アセンブリ」は、IGUを含み得る。「窓アセンブリ」は、(例えば、独立型の)積層体を含み得る。「窓アセンブリ」は、例えば、IGU及び/又は積層体を接続するために、1つ以上の電気リードを含み得る。電気リードは、1つ以上のエレクトロクロミックデバイスを電圧源、スイッチなどに動作可能に結合(例えば接続)し得、IGU又は積層体を支持するフレームを含み得る。窓アセンブリは、窓コントローラ、及び/又は窓コントローラの構成要素(例えば、ドック)を含み得る。
【0095】
いくつかの実装形態では、第1及び第2のペインは、例えば、少なくとも可視スペクトルの光に対して、透明又は半透明である。例えば、第1のペイン及び/又は第2のペインは、可視スペクトル内で少なくとも部分的に透明である硬化材料を含むことができる。硬化材料は、ポリマー又は樹脂であり得る。硬化材料は、有機ポリマーであり得る。硬化材料は、ガラスであり得る。例えば、第1のペイン及び/又は第2のペイン(例えば、ライト)は、ガラス材料で形成することができる。ガラス材料は、建築用ガラス、及び/又は耐破砕性ガラスを含み得る。ガラスは、酸化ケイ素(SO)を含み得る。ガラスは、ソーダ石灰ガラス又はフロートガラスを含み得る。ガラスは、少なくとも約75%のシリカ(SiO)を含み得る。ガラスは、NaO、又はCaOなどの酸化物を含み得る。ガラスは、アルカリ又はアルカリ土類酸化物を含み得る。ガラスは、1種以上の添加物を含み得る。第1及び/又は第2のペインは、好適な光学的性質、電気的性質、熱的性質、及び/又は機械的性質を有する任意の材料を含むことができる。第1及び/又は第2のペインに含めることができる他の材料(例えば、基板)は、可塑性、半可塑性及び/又は熱可塑性材料、例えば、ポリ(メチルメタクリレート)、ポリスチレン、ポリカーボネート、アリルジグリコールカーボネート、SAN(スチレンアクリロニトリルコポリマー)、ポリ(4-メチル-1-ペンテン)、ポリエステル、及び/又はポリアミドである。第1及び/又は第2のペインは、鏡材(例えば、銀)を含み得る。いくつかの実装形態では、第1及び/又は第2のペインは、強化することができる。強化することは、焼戻しすること、加熱すること、及び/又は化学的に強化することを含み得る。
【0096】
様々な実施形態では、ネットワークインフラストラクチャは、エレクトロクロミック(例えば、着色可能な)窓などの1つ以上の窓に対する制御システムをサポートする。制御システムは、1つ以上の窓に(例えば、直接的又は間接的に)動作可能に結合された1つ以上のコントローラを含み得る。開示された実施形態は、エレクトロクロミック窓(本明細書では「光学的に切り替え可能な窓」、「着色可能な窓」、又は「スマートウィンドウ」とも呼ばれる)を説明するが、本明細書に開示された概念は、例えば、液晶デバイス、又は懸濁粒子デバイスを含む、他のタイプの切り替え可能な光学デバイスに適用し得る。例えば、液晶デバイス及び/又は懸濁粒子デバイスは、エレクトロクロミックデバイスの代わりに、又はそれに加えて実装され得る。
【0097】
様々な実施形態では、ネットワークインフラストラクチャは、着色可能な(例えば、エレクトロクロミック)窓などの1つ以上の窓に対する制御システムをサポートする。制御システムは、1つ以上の窓に(例えば、直接的又は間接的に)動作可能に結合された1つ以上のコントローラを含み得る。開示された実施形態は、エレクトロクロミック窓などの着色可能な窓(本明細書では「光学的に切り換え可能な窓」、又は「スマートウィンドウ」とも呼ばれる)を説明するが、本明細書に開示される概念は、液晶デバイス、エレクトロクロミックデバイス、懸濁粒子デバイス(SPD)、NanoChromicsディスプレイ(NCD)、有機エレクトロルミネッセンスディスプレイ(OELD)、懸濁粒子デバイス(SPD)、NanoChromicsディスプレイ(NCD)、又は有機エレクトロルミネッセンスディスプレイ(OELD)を含む他のタイプの切り替え可能な光学デバイスに適用し得る。ディスプレイ要素は、透明な本体(窓など)の一部に取り付けられ得る。着色可能な窓は、建物などの(非一時的な)施設内に、及び/又は車、RV、バス、列車、航空機、ヘリコプター、船、若しくはボートなどの一時的な施設(例えば、車両)内に配置され得る。
【0098】
いくつかの実施形態では、着色可能な窓は、例えば、刺激が適用されると、窓の少なくとも1つの光学的性質において(例えば、制御可能な、かつ/又は可逆的な)変化を示す。変化は、連続的な変化であり得る。変化は、離散的な色調レベル(例えば、少なくとも約2、4、8、16、又は32段階の色調レベル)になり得る。光学的性質は、色相、又は透過率を含み得る。色相は、色を含み得る。透過率は、1つ以上の波長のものであり得る。波長は、紫外線波長、可視波長、又は赤外波長を含み得る。刺激は、光学的、電気的、及び/又は磁気的刺激を含むことができる。例えば、刺激は、印加された電圧及び/又は電流を含むことができる。1つ以上の着色可能な窓は、例えば、それらを通って伝播する太陽エネルギの伝達を調節することによって、照明条件及び/又はグレア条件を制御するために使用することができる。1つ以上の着色可能な窓は、例えば、窓を通って伝播する太陽エネルギの伝達を調節することによって、建物内の温度を制御するために使用することができる。太陽光エネルギの制御は、施設(例えば、建物)の内部に課せられる熱負荷を制御し得る。制御は、手動及び/又は自動であり得る。制御は、1つ以上の要求された(例えば、環境)条件、例えば、現住者の快適さを維持するために使用され得る。制御は、暖房、換気、空調、及び/又は照明システムのエネルギ消費を低減することを含み得る。暖房、換気、及び空調のうちの少なくとも2つは、別個のシステムによって引き起こされ得る。暖房、換気、及び空調のうちの少なくとも2つは、1つのシステムによって引き起こされ得る。暖房、換気、及び空調は、単一のシステム(本明細書では「HVAC」と略される)によって引き起こされ得る。場合によっては、着色可能な窓は、1つ以上の環境センサ及び/又はユーザ制御に応答し(例えば、かつ通信可能に結合され)得る。着色可能な窓は、エレクトロクロミック窓を含み得る(例えば、エレクトロクロミック窓であり得る)。窓は、構造(例えば、施設、例えば、建物)の内部から外部までの範囲内に位置し得る。ただし、これに当てはまる必要はない。着色可能な窓は、液晶デバイス、懸濁粒子デバイス、微小電気機械システム(MEMS)デバイス(マイクロシャッターなど)、又は窓を通した光透過を制御するように構成された現在知られているか、又は後に開発される任意の技術を使用して動作し得る。窓(例えば、着色するためのMEMSデバイスを有する)は、2015年5月15日に出願され、2019年7月23日に登録された「MULTI-PANE WINDOWS INCLUDING ELECTROCHROMIC DEVICES AND ELECTROMECHANICAL SYSTEMS DEVICES」と題する米国特許第10,359,681号に記載されており、参照によりその全体が本明細書に組み込まれる。場合によっては、1つ以上の着色可能な窓は、建物の内部、例えば、会議室と廊下との間に位置することができる。場合によっては、1つ以上の着色可能な窓は、自動車、列車、航空機、及び他の車両において、例えば、受動的なかつ/又は非着色の窓の代わりに使用することができる。
【0099】
いくつかの実施形態では、着色可能な窓は、エレクトロクロミックデバイス(本明細書では「ECデバイス」と呼ばれる(本明細書ではECD、又は「EC」デバイスと略される)を含む。ECデバイスは、少なくとも1つの層を含む少なくとも1つのコーティングを含み得る。少なくとも1つの層は、エレクトロクロミック材料を含むことができる。いくつかの実施形態では、エレクトロクロミック材料は、例えば、ECデバイスの両端間に電位が印加されると、1つの光学的状態から別の光学的状態への変化を示す。1つの光学的状態から別の光学的状態へのエレクトロクロミック層の遷移は、例えば、エレクトロクロミック材料内への可逆的な、準可逆的な、又は不可逆的なイオン挿入(例えば、インターカレーションによる)及び電荷平衡電子の対応する注入によって、引き起こすことができる。例えば、1つの光学的状態から別の光学的状態へのエレクトロクロミック層の遷移は、例えば、エレクトロクロミック材料内への可逆的イオン挿入(例えば、インターカレーションによる)及び電荷平衡電子の対応する注入によって、引き起こすことができる。可逆的なのは、ECDの耐用期間の間であり得る。準可逆的とは、1つ以上の着色サイクルにわたる窓の色調の可逆性における測定可能な(例えば、顕著な)劣化を指す。場合によっては、光学的な遷移を担うイオンの一部が、エレクトロクロミック材料内で不可逆的に結合される(例えば、したがって、窓の誘導された(変更された)色調状態は、その元の着色状態に可逆的ではない)。様々なECデバイスでは、不可逆的に結合したイオンのうちの少なくともいくつか(例えば、すべて)が、材料(例えば、ECD)内の「隠れ電荷」を補うのに使用され得る。
【0100】
いくつかの実装形態では、好適なイオンとしては、カチオンが挙げられる。カチオンとしては、リチウムイオン(Li+)及び/又は水素イオン(H+)(すなわち、プロトン)が挙げられ得る。いくつかの実装形態では、他のイオンが好適であり得る。カチオンのインターカレーションは、(例えば、金属)酸化物内への反応であり得る。酸化物内へのイオン(例えばカチオン)のインターカレーション状態の変化は、酸化物の色調(例えば、色)の目に見える変化を誘発し得る。例えば、酸化物は、無色から色付き状態に遷移し得る。例えば、タングステン酸化物(WO3-y(0<y≦約0.3))へのリチウムイオンのインターカレーションは、タングステン酸化物に、透明状態から色付き(青色)状態への変化を引き起こさせ得る。本明細書に記載されるようなECデバイスコーティングは、着色可能な窓の可視部分内に配置され、その結果、ECデバイスコーティングの着色を使用して、着色可能な窓の光学的状態を制御することができる。
【0101】
図18は、第1の表面S1及び第2の表面S2を有する第1のペイン1804を含む、いくつかの実施形態によるIGU1800の例示的な実装形態を示す。いくつかの実装形態では、第1のペイン1804の第1の表面S1は、戸外又は外側の環境など、外部環境に面する。IGUはまた、第1の表面S3及び第2の表面S4を有する第2のペイン1806も含む。いくつかの実装形態では、第2のペイン(例えば、1806)の第2の表面(例えば、S4)は、家、建物、車両、又はそれらのコンパートメント(例えば、部屋など、それらの中にあるエンクロージャ)の内側の環境など、内部環境に面する。エレクトロクロミック(EC)デバイスは、表面S2に取り付けられており、第1の透明導電層(TCL)1801と第2のTCL1802との間にエレクトロクロミック層(EC)又はスタック1803(イオン伝導層又は領域(IC)及び対電極層(CE)と共にカソード色付け層又はカソード着色層を含み得る)を含み得る。
【0102】
例えば、クリア状態から着色状態へのエレクトロクロミックコーティングの遷移をもたらすために、電圧源が、エレクトロクロミックスタック1803の両端間に電位を印加するように動作可能に接続され得る。他の実施形態では、層の順序は、基板に対して反転される。すなわち、それらの層は、以下の順序にすることができる:基板、TCL、対電極層、イオン伝導層、エレクトロクロミック材料層、TCL。
【0103】
いくつかの実施形態では、イオン伝導体領域は、EC層の一部分から、及び/又はCE層の一部分から形成される。エレクトロクロミックスタックは、アノード色付け対電極材料(CE層)と直接物理的に接触するカソード色付けエレクトロクロミック材料(EC層)を含むように堆積され得る。イオン伝導体領域(界面領域、又はイオン伝導性の実質的に電子的に絶縁する層又は領域と呼ばれることもある)は、例えば加熱及び/又は他の処理ステップを通じて、EC層とCE層とが接する場所に形成され得る。エレクトロクロミックデバイスの例(例えば、別個のイオン伝導体材料を堆積させることなく製造されたものを含む)は、2012年5月2日に出願された「ELECTROCHROMIC DEVICES」と題する米国特許出願第13/462,725号に見出すことができ、その全体が参照により本明細書に組み込まれる。いくつかの実施形態では、ECデバイスコーティングは、1つ以上の受動層などの1つ以上の追加の層を含み得る。受動層は、特定の光学的性質を向上させるため、湿りを与えるため、及び/又は耐擦傷性をもたらすために使用することができる。これらの受動層及び/又は他の受動層は、ECスタック1803を密封するように機能することができる。透明導電層(1801及び1802など)を含む様々な層が、反射防止層及び/又は保護層(たとえば、酸化物層及び/又は窒化物層)を用いて処理されることができる。
【0104】
特定の実施形態では、エレクトロクロミックデバイスは、クリア状態と着色状態との間で(実質的に)可逆的に繰り返すように構成されている。可逆的なのは、ECDの耐用期間内であり得る。耐用期間は、少なくとも約5、10、15、25、50、75、又は100年とすることができる。耐用期間は、前述の値の間(例えば、約5年~約100年、約5年~約50年、又は約50年~約100年)の任意の値とすることができる。窓が第1の色調状態(例えば、クリア)にあるとき、エレクトロクロミック材料を着色状態にすることができるスタック内の利用可能なイオンが主に対電極内に存在するように、電位をエレクトロクロミックスタックに印加することができる。エレクトロクロミックスタックに印加された電位が反転すると、イオンは、イオン伝導層を横切ってエレクトロクロミック材料に輸送され、材料を第2の色調状態(例えば、着色状態)に入らせることができる。
【0105】
更に、クリア状態と着色状態との間の移行への言及は、非限定的であり、かつ実装され得るエレクトロクロミック移行の、多くの例の中の一例のみを示唆することを理解されたい。本明細書で特に明記しない限り、クリア-着色移行への言及がされるときは常に、対応するデバイス又はプロセスは、非反射-反射、及び/又は透明-不透明などの他の光学的状態遷移を包含する。いくつかの実施形態では、「クリア」及び「色褪せ」という用語は、光学的に中立な状態、例えば、無着色、透明及び/又は半透明を指す。いくつかの実施形態では、エレクトロクロミック遷移の「色」又は「色調」は、いかなる波長又は波長範囲にも限定されない。適切なエレクトロクロミック材料及び対電極材料の選択は、関連する光学的遷移(例えば、着色状態から無着色状態)を支配し得る。
【0106】
特定の実施形態では、エレクトロクロミックスタックを構成する材料の少なくとも一部(例えば、すべて)は、無機、固体(すなわち、固体状態)、又は無機及び固体の両方である。各種有機材料は、特に着色された建物の窓のように熱及びUV光にさらされると、経時的に劣化する傾向があるため、無機材料は、長期間機能することができる信頼性の高いエレクトロクロミックスタックの利点を提供する。いくつかの実施形態では、固体状態の材料は、液体状態の材料で時々起こるような、汚染される問題及び漏れの問題を最小限に抑えるという利点を提供することができる。スタック内の層のうちの1つ以上は、いくらかの量の有機材料(例えば、測定可能なもの)を含有し得る。ECD又はその任意の部分(例えば、層のうちの1つ以上)は、測定可能な有機物をほとんど又はまったく含有しなくてもよい。ECD又はその任意の部分(例えば、層のうちの1つ以上)は、少量で存在し得る1種以上の液体を含有し得る。「ほとんどない(little)」とは、ECDの最大で約100ppm、10ppm、又は1ppmであり得る。固体状態材料は、ゾル-ゲル、物理蒸着、及び/又は化学蒸着を用いる特定のプロセスなど、液体構成要素を用いる1つ以上のプロセスを使用して堆積(又は別様に形成)され得る。
【0107】
いくつかの実施形態では、少なくとも1つのセンサは、制御システム(例えば、コンピュータ制御システム)に動作可能に結合される。センサは、光センサ、音響センサ、振動センサ、化学センサ、電気センサ、磁気センサ、流動性センサ、運動センサ、速度センサ、位置センサ、圧力センサ、力センサ、密度センサ、距離センサ、又は近接センサを含み得る。センサは、温度センサ、重量センサ、材料(例えば、粉末)レベルセンサ、計測センサ、ガスセンサ、又は湿度センサを含み得る。計測センサは、測定センサ(例えば、高さ、長さ、幅、角度、及び/又は体積)を含み得る。計測センサは、磁気、加速度、配向、又は光学センサを含み得る。センサは、音(例えば、エコー)、磁気、電子、又は電磁信号を送信及び/又は受信し得る。電磁信号は、可視、赤外線、紫外線、超音波、電波、又はマイクロ波信号を含み得る。センサは、深度に基づいて区別するように構成され得る(例えば、深度カメラ)。ガスセンサは、本明細書に記載されるガスのうちのいずれかを感知し得る。距離センサは、計測センサの一タイプであり得る。距離センサは、光学センサ又は静電容量センサを含み得る。温度センサは、ボロメータ、バイメタル板、熱量計、排気温度計、火炎検出、ガードンゲージ、ゴーレイセル、熱流束センサ、赤外線放射温度計、マイクロボロメータ、マイクロ波放射計、純放射計、水晶温度計、抵抗温度検出器、測温抵抗体、シリコンバンドギャップ温度センサ、特殊センサマイクロ波/イメージャー、温度ゲージ、サーミスタ、熱電対、温度計(例えば、測温抵抗体)、又はパイロメータを含むことができる。温度センサは、光学センサを備え得る。温度センサは、画像処理を含み得る。温度センサは、カメラ(例えば、IRカメラ、電荷結合素子(CCD)カメラ)を備え得る。圧力センサは、自記気圧計、気圧計、ブースト計、ブルドン管真空計、熱フィラメント電離真空計、電離真空計、マクラウド真空計、発振U字管、永久ダウンホールゲージ、ピエゾメータ、ピラニ真空計、圧力センサ、圧力計、触覚センサ、又は時間圧力計を含み得る。位置センサは、生長計、容量性変位センサ、容量感知、自由落下センサ、重力計、ジャイロセンサ、衝撃センサ、傾斜計、集積回路圧電センサ、レーザ距離計、レーザ表面速度計、レーダ、LIDAR、リニアエンコーダ、線形可変差動変圧器(LVDT)、液体容量性傾斜計、オドメータ、光電センサ、圧電加速度計、レートセンサ、ロータリエンコーダ、ロータリ可変差動変圧器、セルシン、衝撃検出器、衝撃データロガー、傾斜センサ、タコメータ、超音波厚さ計、可変リラクタンスセンサ、又は速度受信器を含み得る。光学センサは、電荷結合素子、比色計、密着型イメージセンサ、電気光学センサ、赤外線センサ、運動インダクタンス検出器、発光ダイオード(例えば、光センサ)、光アドレス指定可能な電位差測定センサ、ニコルス放射計、光ファイバセンサ、光位置センサ、光検出器、光ダイオード、光電子増倍管、フォトトランジスタ、光電センサ、光イオン化検出器、光電子増倍器、光抵抗器、光電スイッチ、光電管、シンチロメータ、Shack-Hartmann、単一光子アバランシェダイオード、超伝導ナノワイヤ単一光子検出器、超伝導転移端センサ、可視光光子計数器、又は波面センサを含み得る。1つ以上のセンサは、制御システムに(例えば、プロセッサに、コンピュータに)接続され得る。
【0108】
本発明の好ましい実施形態が示され、本明細書に記載されてきたが、そのような実施形態が例としてのみ提供されることは当業者にとって明らかであろう。本発明は、本明細書内で提供される特定の例によって限定されることを意図するものではない。本発明は、前述の明細書を参照して記載されてきたが、本明細書の実施形態の説明及び図解は、限定的な意味で解釈されることを意図するものではない。多数の変形、変更、及び置換が、本発明から逸脱することなく、当業者にとって今や起こるであろう。更にまた、本発明のすべての態様は、様々な条件及び変数に依存する、本明細書に記載の特定の描写、構成、又は相対的な比率に限定されないことを理解されたい。本明細書に記載の本発明の実施形態に対する様々な代替例が、本発明を実施する際に使用されることができることを理解されたい。したがって、本発明は、そのような代替、変更、変形、又は均等物もカバーするものとすることが企図される。以下の特許請求の範囲は、本発明の範囲を定義し、これらの特許請求の範囲内の方法及び構造、並びにそれらの均等物は、それによってカバーされることが意図されている。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16A
図16B
図16C
図17
図18
図19
【国際調査報告】