(57)【要約】      （修正有）【課題】動作環境内での制御システムの設置の設定方法及び装置を提供する。【解決手段】動作環境において制御システムは、分散型の物理アクセス制御システムを含む。コントローラと共用可能な周辺デバイスを設置するためのオプションを提供し９０２、少なくとも一つの選択された周辺デバイスの動作環境と関連付けられ、提供されたオプションに基づいた選択を受信する９０４。コントローラを少なくとも一つの選択された周辺デバイスに接続するために、コントローラに複数のピンから個別のピンを指定させる命令を生成する９０６。コントローラと関連付けられた指定された個別のピンと少なくとも一つの選択された周辺デバイスと関連付けられたワイヤとの間の接続を記述するレポートを後に生成する９０８。【選択図】図９
2015057705.tif 000002
【特許請求の範囲】
【請求項１】
動作環境内での制御システムの設置の設定をするための方法であって、
コントローラと共用可能な周辺デバイスを設置するためのオプションを提供するステップと、
前記提供されたオプションに基づいた選択を受信するステップと、
ここで、前記選択は、少なくとも一つの選択された周辺デバイスの動作環境と関連付けられており、
前記コントローラを前記少なくとも一つの選択された周辺デバイスに接続するために、前記コントローラに複数のピンから個別のピンを指定させる命令を生成するステップと、
前記コントローラと関連付けられた前記指定された個別のピンと前記少なくとも一つの選択された周辺デバイスと関連付けられたワイヤとの間の接続を記述するレポートを生成するステップと、
を含む、方法。
【請求項２】
前記複数のピンから個別のピンを指定するために、前記コントローラは、前記複数のピンから前記個別のピンを選択すること、および前記複数のピンから少なくとも一つの個別のピンを電気的に設定することをさらに命令される、請求項１に記載の方法。
【請求項３】
前記方法は、前記コントローラ上で実行し、
前記方法は、さらに、
前記コントローラを前記少なくとも一つの選択された周辺デバイスに接続するためのピン設定を前記生成された命令に基づいて決定するステップと、
前記コントローラ内に前記決定されたピン設定に基づいた個別のピンとの接続を確立するステップと、
前記決定されたピン設定に基づいた前記生成されたレポートを提供するステップと、を含む、請求項１または２に記載の方法。
【請求項４】
前記ピン設定を決定するステップは、前記コントローラと前記少なくとも一つの周辺デバイスとの間の配線の複雑さを減少させるアルゴリズムを実行するステップをさらに含む、請求項３に記載の方法。
【請求項５】
前記複数のピンは、ターミナルブロック内に配置される異なるグループに分けられ、
前記アルゴリズムは、特定の周辺デバイスと関連付けられた接続を同じターミナルブロックにグループ化する、請求項４に記載の方法。
【請求項６】
前記アルゴリズムは、前記コントローラと前記少なくとも一つの周辺デバイスとの間の接続の複雑さを減少させる最適化アルゴリズムであり、
前記最適化アルゴリズムは、各周辺デバイスについての接続の長さを減少させる前記個別のピンを選択する、請求項４または５に記載の方法。
【請求項７】
追加の周辺デバイスを導入するように前記制御システムを後に再設定することは、確立された接続においてすでに使用されている個別のピンを指定することを避けることをさらに含む、請求項３に記載の方法。
【請求項８】
前記個別のピンを指定することは、接続を確立するために特定のピンを使用しないためのオプションを含む、請求項１〜７のいずれか一項に記載の方法。
【請求項９】
前記方法は、管理デバイス上で実行し、
前記方法は、さらに、
前記コントローラとの接続を確立するステップと、
前記生成された命令を前記コントローラに提供するステップと、
前記コントローラからピン設定情報を受信するステップと、
前記生成されたレポートを表示するステップと、を含み、
前記生成されたレポートは、受信されたピン設定情報に基いている、請求項１〜８のいずれか一項に記載の方法。
【請求項１０】
前記レポートは、前記コントローラが前記個別のピンとの接続を確立する前に表示される、請求項９に記載の方法。
【請求項１１】
前記方法は、管理デバイス上で実行し、
前記方法は、さらに、
前記コントローラを前記少なくとも一つの選択された周辺デバイスに接続するために、前記複数のピンからピン設定を前記生成された命令に基づいて決定するステップと、
前記決定されたピン設定を含むファイルをエクスポートするステップと、を含む、請求項１〜１０のいずれか一項に記載の方法。
【請求項１２】
前記方法は、ネットワーク上で前記コントローラとの接続を確立するステップと、
前記決定されたピン設定に基づいて接続を確立することを前記コントローラに命令するための前記エクスポートされたファイルを提供するステップと、をさらに含む、請求項１１に記載の方法。
【請求項１３】
前記選択は、特定の種類の周辺デバイス、または周辺デバイスの一集合によって用いられる標準データ通信プロトコルに基づいており、
前記選択は、前記動作環境内のいくつかのドア、各ドアと関連付けられたいくつかのコントローラ、または、前記いくつかのドアおよび前記いくつかのコントローラの組み合わせを含む、請求項１〜１２のいずれか一項に記載の方法。
【請求項１４】
前記レポートは、前記コントローラ上での前記ピン設定の描画、および前記周辺デバイスと関連付けられた前記ワイヤとの前記関連付けられた電気的接続の描画を表示するグラフィックレイアウトをさらに含む、請求項３に記載の方法。
【請求項１５】
動作環境内での制御システムの設置の設定をするための装置であって、
プロセッサと、
前記プロセッサに連結され、請求項１〜１４のいずれか一項に記載の方法を前記プロセッサに実行させるソフトウェア命令を記憶するメモリと、
を含む、装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般的に、動作環境における制御システムの設置（installation）および設定（configuring）を補助するためのアプローチに関する。様々な実施形態において、設定アシスタントは、特定の環境における分散型の物理アクセス制御システムの設置および設定に関してユーザを案内することができる。
【背景技術】
【０００２】
データ収集システムおよび制御システムは、様々な空間、施設、および／もしくはプロセスを監視および／または制御するためのアプリケーションの領域をまたがってますます使用されている。これらのシステムは、様々な種類の周辺デバイスを利用して、様々な監視動作および制御動作を容易にすることができる。多様な異なる種類の周辺デバイスを有することにより、これらの制御システムの機能性および柔軟性が向上し得るが、動作環境におけるこれらのシステムの設置および設定の複雑さが増加し得る。
【発明の概要】
【０００３】
以下で開示される一実施形態は、動作環境内での制御システムの設置の設定をするための方法を含む。上記方法は、コントローラと共用可能な周辺デバイスを設置するためのオプションを提供し、そして上記提供されたオプションに基づいた選択を受信し得る。上記選択は、少なくとも一つの選択された周辺デバイスの動作環境と関連付けられ得る。上記方法は、上記コントローラを上記少なくとも一つの選択された周辺デバイスに接続するために、上記コントローラに複数のピンから個別のピンを指定させる命令をさらに生成し得る。上記方法は、上記コントローラと関連付けられた上記指定された個別のピンと上記少なくとも一つの選択された周辺デバイスと関連付けられたワイヤとの間の接続を記述するレポートを生成し得る。上記複数のピンから個別のピンを指定するとき、上記コントローラは、上記複数のピンから上記個別のピンを選択すること、および上記複数のピンから少なくとも一つの個別のピンを電気的に設定することを命令され得る。
【０００４】
別の実施形態では、上記方法は、上記コントローラ上で実行し得る。そして、上記方法は、さらに、上記コントローラを上記少なくとも一つの選択された周辺デバイスに接続するためのピン設定を上記生成された命令に基づいて決定するステップと、上記コントローラ内に上記決定されたピン設定に基づいた個別のピンとの接続を確立するステップと、上記生成されたレポートを管理デバイスに提供するステップと、を含み得る。上記生成されたレポートは、決定されたピン設定に基づき得る。
【０００５】
さらに別の実施形態では、上記ピン設定を決定するステップは、上記コントローラと上記少なくとも一つの周辺デバイスとの間の配線の複雑さを減少させるアルゴリズムを実行するステップをさらに含み得る。上記複数のピンは、ターミナルブロック内に配置される異なるグループに分けられ得る。上記アルゴリズムは、特定の周辺デバイスと関連付けられた接続を同じターミナルブロックにグループ化し得る。さらに、上記アルゴリズムは、上記コントローラと上記少なくとも一つの周辺デバイスとの間の接続の複雑さを減少させる最適化アルゴリズムであり得る。上記最適化アルゴリズムは、各周辺デバイスについての接続の長さを減少させる上記個別のピンを選択し得る。
【０００６】
別の実施形態では、追加の周辺デバイスを導入するように上記制御システムを後に再設定することは、確立された接続においてすでに使用されている個別のピンを指定することを避け得る。上記個別のピンを指定することは、接続を確立するために特定のピンを使用しないためのオプションをさらに含み得る。
【０００７】
別の実施形態では、上記方法は、管理デバイス上で実行し得る。そして、上記方法は、さらに、上記コントローラとの接続を確立するステップと、上記生成された命令を上記コントローラに提供するステップと、上記コントローラからピン設定情報を受信するステップと、上記生成されたレポートを表示するステップと、を含み得る。上記生成されたレポートは、受信されたピン設定情報に基き得る。別の実施形態では、上記レポートは、上記コントローラが上記個別のピンとの接続を確立する前に表示され得る。別の実施形態では、上記コントローラとの接続は、ネットワーク上で確立され得る。あるいは、上記コントローラとの接続は、シリアル接続で確立され得る。
【０００８】
さらに別の実施形態では、上記方法は、管理デバイス上で実行し得る。上記方法は、さらに、上記コントローラを上記少なくとも一つの選択された周辺デバイスに接続するために、上記複数のピンからピン設定を上記生成された命令に基づいて決定するステップを含み得る。上記方法は、さらに、上記決定されたピン設定を含むファイルをエクスポートし得る。上記方法は、さらに、ネットワーク上で上記コントローラとの接続を確立し、そして、上記決定されたピン設定に基づいたコントローラ内に接続を確立するように上記コントローラに命令するための上記エクスポートされたファイルを提供し得る。上記エクスポートされたファイルは、追加のコントローラにピア・ツー・ピアで提供され得る。
【０００９】
別の実施形態では、上記選択は、特定の種類の周辺デバイス、または周辺デバイスの一集合（class）によって用いられる標準（standard）データ通信プロトコルに基づき得る。上記選択は、上記動作環境内のいくつかのドア、および各ドアと関連付けられたいくつかのコントローラをさらに含み得る。上記レポートは、上記コントローラ上での上記ピン設定の描画、および上記周辺デバイスと関連付けられた上記ワイヤとの上記関連付けられた電気的接続の描画を表示するグラフィックレイアウトをさらに含む。上記方法は、上記決定されたピン設定を示す上記生成されたレポートを表示し得る。
【００１０】
動作環境内での制御システムの設置の設定をするための装置もまた、以下で開示される。上記装置は、プロセッサと、上記プロセッサに連結されたメモリとを含む。上記メモリは、コントローラと共用可能な周辺デバイスを設置するためのオプションを提供すること、および上記提供されたオプションに基づいた選択を受信することを上記プロセッサに実行させるソフトウェア命令を記憶する。上記選択は、少なくとも一つの選択された周辺デバイスの動作環境と関連付けられ得る。上記プロセッサは、上記コントローラを上記少なくとも一つの選択された周辺デバイスに接続するために、上記コントローラに複数のピンから個別のピンを指定させる命令をさらに生成し得る。上記プロセッサは、上記コントローラと関連付けられた上記指定された個別のピンと上記少なくとも一つの選択された周辺デバイスと関連付けられたワイヤとの間の接続を記述するレポートを生成し得る。上記複数のピンから個別のピンを指定するときに、上記コントローラは、上記複数のピンから上記個別のピンを選択すること、および上記複数のピンから少なくとも一つの個別のピンを電気的に設定することをさらに命令され得る。
【００１１】
別の実施形態では、上記プロセッサは、上記コントローラ内に含まれる。そして、上記ソフトウェア命令は、さらに、上記コントローラを上記少なくとも一つの選択された周辺デバイスに接続するためのピン設定を上記プロセッサに、上記生成された命令に基づいて決定させ得る。上記プロセッサは、上記コントローラ内に上記決定されたピン設定に基づいた個別のピンとの接続を確立し、そして上記生成されたレポートを管理デバイスに提供し得る。上記生成されたレポートは、決定されたピン設定に基づき得る。
【００１２】
別の実施形態では、上記ピン設定を決定するステップは、上記コントローラと上記少なくとも一つの周辺デバイスとの間の配線の複雑さを減少させるアルゴリズムを上記プロセッサにさらに実行させ得る。上記複数のピンは、ターミナルブロック内に配置される異なるグループに分けられ得る。上記アルゴリズムは、特定の周辺デバイスと関連付けられた接続を同じターミナルブロックにグループ化し得る。さらに、上記アルゴリズムは、上記コントローラと上記少なくとも一つの周辺デバイスとの間の接続の複雑さを減少させる最適化アルゴリズムを含み得る。上記最適化アルゴリズムは、各周辺デバイスについての接続の長さを減少させる上記個別のピンを選択し得る。
【００１３】
別の実施形態では、追加の周辺デバイスを導入するように上記制御システムを後に再設定することは、確立された接続においてすでに使用されている個別のピンを上記プロセッサに指定させない。上記個別のピンを指定することは、接続を確立するために特定のピンを使用しないためのオプションをさらに含み得る。
【００１４】
さらに別の実施形態では、上記プロセッサは、管理デバイス内に含まれ得る。そして、上記ソフトウェア命令は、さらに、上記コントローラとの接続を確立することと、上記生成された命令を上記コントローラに提供することと、上記コントローラからピン設定情報を受信することと、上記生成されたレポートを表示することと、をプロセッサに実行させる。上記生成されたレポートは、受信されたピン設定情報に基き得る。別の実施形態では、上記レポートは、上記コントローラが上記個別のピンとの接続を確立する前に表示され得る。上記コントローラとの接続は、ネットワーク上で確立され得る。あるいは、上記コントローラとの接続は、シリアル接続で確立され得る。
【００１５】
別の実施形態では、上記プロセッサは、管理デバイス内に含まれ得る。そして、上記ソフトウェア命令は、さらに、上記コントローラを上記少なくとも一つの選択された周辺デバイスに接続するために、上記複数のピンからピン設定を上記生成された命令に基づいて上記プロセッサに決定させる。上記プロセッサは、さらに、上記決定されたピン設定を含むファイルをエクスポートし得る。
【００１６】
別の実施形態では、上記ソフトウェア命令は、さらに、ネットワーク上で上記コントローラとの接続を確立すること、および上記決定されたピン設定に基づいて接続を確立するように上記コントローラに命令するための上記エクスポートされたファイルを提供することを上記プロセッサに実行させ得る。上記エクスポートされたファイルは、追加のコントローラにピア・ツー・ピアで提供され得る。
【００１７】
さらに別の実施形態では、上記選択は、特定の種類の周辺デバイス、または周辺デバイスの一集合によって用いられる標準データ通信プロトコルに基づき得る。上記選択は、上記動作環境内のいくつかのドア、および各ドアと関連付けられたいくつかのコントローラをさらに含み得る。
【００１８】
別の実施形態では、上記レポートは、上記コントローラ上での上記ピン設定の描画、および上記周辺デバイスと関連付けられた上記ワイヤとの上記関連付けられた電気的接続の描画を表示するグラフィックレイアウトをさらに含み得る。上記プロセッサは、上記決定されたピン設定を表示するように上記レポートを準備し得る。
【図面の簡単な説明】
【００１９】
【図１】本明細書に記載する実施形態による例示的な環境を示すブロック図である。
【図２Ａ】図１のシステムユニットの例示的な構成要素を示すブロック図である。
【図２Ｂ】図１のシステムユニットの例示的な構成要素を示すブロック図である。
【図３】図２のコントローラ内の構成要素の例示的なレイアウトを示すブロック図である。
【図４】一実施形態における図１のシステムユニットの例示的な物理的レイアウトを示す平面図である。
【図５】図１の分散制御システムの例示的な物理的レイアウトを示す平面図である。
【図６】図１の管理デバイスの例示的な構成要素を示すブロック図である。
【図７Ａ】制御システムを設定すること、および動作環境と関連付けられた周辺デバイスの選択についてのオプションを提供する例示的なユーザインターフェースを示す図である。
【図７Ｂ】制御システムを設定すること、および動作環境と関連付けられた周辺デバイスの選択についてのオプションを提供する例示的なユーザインターフェースを示す図である。
【図８】コントローラと関連付けられた個別のピン、および選択された周辺デバイスと関連付けられたワイヤの間の接続を記述する例示的なレポートを示す図である。
【図９】動作環境内の制御システムの設置の設定をするための例示的なプロセスのフローチャートである。
【図１０】コントローラ上で実行し得る制御システムの設置の設定をするための例示的なプロセスのフローチャートである。
【図１１】一実施形態による制御システムの設置の設定をするための例示的なプロセスのフローチャートである。
【図１２】別の実施形態による制御システムの設置の設定をするための例示的なプロセスのフローチャートである。
【発明を実施するための形態】
【００２０】
以下の詳細な説明では添付の図面を参照する。異なる図面の同じ参照番号は同じ要素または類似の要素を識別する。
【００２１】
異なる多様な周辺デバイスが制御システム内で使用され得る場合、システムの設置および設定は複雑になり、そして経験豊かな設置者（installer）にとって現在でもなお難題であり得る。
【００２２】
以下に記載する実施形態は、前述した複雑さを軽減し得る。これらの実施形態は、一般的に、動作環境における制御システムの設置および設定を補助し得るプロセスおよびシステムに関する。一実施形態では、設定アシスタントまたは「ウィザード」は、特定の環境における制御システムによって使用されるために選択されてきた１もしくは複数の周辺デバイスに関する情報を収集することによりユーザを案内することができる。設定アシスタントは、ソフトウェア内に実装され、そして、制御システムのコントローラ上で実行し得る。あるいは、設定アシスタントは、設定のプロセスの間に制御システムに電気的に連結され得る別個のプロセッサ上で実行し得る。別の実施形態では、設定アシスタントは、「オフライン」の別個のプロセッサ上で実行してもよい。そして、この設定アシスタントは、類似の動作環境を有する１もしくは複数の制御システムの設定のために後に使用され得るファイルを生成することができる。
【００２３】
ユーザフレンドリーなプロセスにするために、収集された情報は、ユーザから段階的に集められ得る。というのも、後の選択のためのオプションは、前の選択に依存し得るからである。追加の情報は、周辺デバイスが環境および／または電気的特性において実装される方法に応じて取得され得る。周辺デバイスに関する情報の最後の部分が入力された後に、ユーザは、選択のプロセスが完了したことを示す。設定アシスタントは、その後、コントローラの実際の設定のためのピン設定を作るために使用され得る命令を生成し得る。一実施形態では、命令は、ピン設定の生成のためにコントローラに提供され得る。別の実施形態では、設定アシスタントは、命令をコントローラに提供する、選択された周辺デバイスについてのピン設定を決定し得る。ピン設定のプロセスは、コントローラの回路基板上にあるＩ／Ｏピンのコネクターの割り当てを決定する。コントローラは、選択された各周辺デバイスについて回路基板上で適切なピンを選択するようにコントローラ自身を内的に設定することができる。ピン設定に基づいて、コントローラは、各ピンを、選択された周辺デバイス上の対応する各適切なワイヤに割り当てるだろう。この設定は、接続が選択された各周辺デバイスと共用可能なように、各ピンの適切なプロトコルおよび／または適切な電気的特性を設定することをさらに含み得る。
【００２４】
ピン設定に関する情報が一旦確立すると、設定アシスタントは、各周辺デバイスをコントローラに物理的に接続するときに設置者を案内するために使用され得るレポートを生成し得る。レポートは、コントローラの回路基板のレイアウトのグラフィック表示を含み得る。このグラフィック表示は、選択された各周辺デバイスからのワイヤが回路基板のピンに接続され方の地図とみなされ得る。
【００２５】
ここに記載する実施形態は、任意の種類の制御システムおよび動作環境に適用可能であり得る。例えば、設定アシスタントは、一つのコントローラおよび一つの周辺デバイスしか有しないような、とても単純な制御システムにおいても使用され得る。このような適用は、設置者が設置の経験が少ない家主であり得るような住宅環境に関して有用であり得る。他の適用では、設定アシスタントは、相互作用する複数のコントローラを有するような精巧な分散制御システムの設置を容易にし得る。この種類の適用では、設置者は、中枢の（mission-critical）環境において動作する複数の周辺デバイスの複雑な設定に挑んだ、経験豊かなプロであり得る。制御システムおよび／または動作環境の複雑さに関わりなく、設定アシスタントは、制御システムの設置および／または再設定を容易にし得る。したがって、設定アシスタントは、設置の回数を減少させ、そして動作の信頼性を向上させ得る。
【００２６】
図１は、以下に記載するシステムおよび方法に基づいて設置および設定がなされ得る例示的な環境１００のブロック図である。図１に示すように、環境１００は、分散制御システム１１０（例えば、分散型の物理アクセス制御システム）、ネットワーク１２０、および管理デバイス１３０を含み得る。
【００２７】
分散制御システム１１０は、システムユニット１１５‐Ａ〜１１５‐Ｎ（まとめて「システムユニット１１５」または「ユニット１１５」と呼ぶ。また、個別に「ユニット１１５」と呼ぶ）を含む分散コンピューティングシステムを含み得る。一実施形態では、システムユニット１１５は、物理アクセス制御デバイスを含む。例えば、システムユニット１１５は、部屋や部屋群といったセキュアな領域へのアクセスを制御するコントローラを含み得る。システムユニット１１５は、読取デバイスを介して認証情報（例えば、アクセスカード認証情報）を受信し、そして、認証情報が本物であり、セキュアな領域にアクセスする権限と関連付けられているかどうかを判定することができる。認証情報が本物である場合、コントローラは、ドアの錠を開くコマンドを発行し、またはセキュアな領域へのアクセスを許可することと関連付けられた他の動作を実行することができる。他の例は、例えばファンの始動、建物管理システムにおける警報の始動、産業オートメーションシステムにおけるロボットの起動などといった、動作環境内の様々なデバイスを制御するためのアクセスを含み得る。
【００２８】
分散制御システム１１０は、１もしくは複数の分散データセットを含み得る。分散データセットは、分散データセットと関連付けられたシステムユニット１１５に分散されて（おそらくは重複して）記憶されたデータを含む。一実施形態では、分散データセットは、複数のデバイス上で複製される。例えば、分散データセット全体は、すべてのユニット１１５に記憶されてもよい。別の実施形態では、１もしくは複数のユニット１１５は、分散データセットの一部を記憶することができる。また、分散データセットは、すべてのシステムユニット１１５と関連付けられてもよく、また、システムユニット１１５の一部と関連付けられてもよい。一実施形態では、分散データセットは、設定アシスタントによりオフラインモードで生成された設定ファイルを含む。設定ファイルについては図１２に関連してより詳細に論じる。
【００２９】
一実施形態では、分散データセット（例えば、合意ベースの（consensus-based）分散データベース）において変更を加えるために、ユニット１１５の間で合意に達し得る。システムユニット１１５は、合意ベースの分散データセットに変更を提案することができる。分散データセットと関連付けられた定足数のユニット１１５によって変更が受け入れられる場合、合意に達し、そして、関連付けられた各ユニット１１５内の分散データセットの各ローカルコピーに変更が伝搬されてもよい。したがって、分散データセットの変更に関する合意は、定足数の関連付けられたユニット１１５が変更に賛成した場合に達し得る。
定足数は、関連付けられたユニット１１５の最小多数に対応してもよい。したがって、分散データセットがＮ個のユニット１１５と関連付けられている場合、Ｎが偶数であり、かつ、Ｎ／２＋１個の関連付けられたユニット１１５が変更に賛成した場合に、または、Ｎが奇数であり、かつ、（Ｎ−１）／２＋１個の関連付けられたユニット１１５が変更に賛成した場合に、定足数は達せられ得る。定足数に達するのに最小多数を必要とすることによって、２つの競合する提案を考慮するときに、少なくとも１つのシステムユニット１１５が両方の提案を受け取り、そして合意のために両方の提案のうちの１つを選択することが保証され得る。
【００３０】
合意ベースの分散データセットは、分散データセットと関連付けられた任意のシステムユニット１１５が、分散データセットによって管理される情報（一実施形態におけるすべての情報など）を含むことを保証することができる。例えば、分散データセットはアクセスルールを含んでもよく、アクセスルールは、当該分散データセットと関連付けられる任意のシステムユニット１１５にとって利用可能であってよい。このように、１もしくは複数の分散データセットの結果として、一実施形態において、制御システム１１０は、サーバデバイスといった中央制御デバイスを伴わない非集中化型のシステムに相当し得る。他の実施形態において、制御システム１１０は、非集中化型のシステム及び（サーバデバイスといった）中央制御デバイスの双方を含んでもよい。制御システム１１０への変更は任意のシステムユニット１１５において設定され得る。そして、変更が、分散データセットと関連付けられる場合には、当該変更は、当該分散データセットと関連付けられた他のシステムユニット１１５へ伝搬され得る。さらに、制御システム１１０は、デバイス障害に関して、シングルポイントの障害が回避され得るようなロバスト性を呈し得る。例えば、特定のシステムユニット１１５が障害を起こした場合に、他のシステムユニット１１５は、データのロスなく（又はデータの最小限のロスのみで）動作を継続し得る。別の実施形態では、合意なしで、分散データセットへ変更が加えられてよい。
【００３１】
ネットワーク１２０は、ユニット１１５が相互に通信することを可能にし得る。かつ／または、ネットワーク１２０は、管理デバイス１３０が特定のユニット１１５と通信することを可能にし得る。ネットワーク１２０は、１もしくは複数の回線交換網および／またはパケット交換網を含んでもよい。例えば、ネットワーク１２０は、ローカル・エリア・ネットワーク（LAN:local area network）、ワイド・エリア・ネットワーク（WAN:wide
area network）、メトロポリタン・エリア・ネットワーク（MAN:metropolitan area
network）、公衆交換電話網（PSTN:Public Switched Telephone Network）、アドホックネットワーク、イントラネット、インターネット、光ファイバベースのネットワーク、無線ネットワーク、および／または上記その他の種類のネットワークの組み合わせを含んでもよい。
【００３２】
管理デバイス１３０は、制御システム１１０を設定し、制御システム１１０の設定を変更し、制御システム１１０から情報を受信し、かつ／またはそれ以外に制御システム１１０を管理するために、管理者が特定のユニット１１５に接続することを可能にする。例えば、設定アシスタントは、選ばれた環境において制御システム１１０を設置および設定するために管理デバイス１３０上で実行し得る。管理デバイス１３０は、１もしくは複数のユニット１１５と通信するように設定された任意のデバイスを含んでもよい。例えば、管理デバイス１３０は、携帯用通信デバイス（携帯電話、スマートフォン、ファブレットデバイス、全地球測位システム（GPS:global positioning system）デバイス、および／または別の種類の無線デバイスなど）、パーソナルコンピュータ、ワークステーション、サーバデバイス、ラップトップ、タブレット、または別の種類の携帯用コンピュータ、ならびに／または通信機能を備える任意の種類のデバイスを含んでもよい。一実施形態では、管理デバイス１３０は、ユニット１１５の一部であってもよい。よって、管理者は、１もしくは複数のユニット１１５から制御システム１１０を管理することができる。
【００３３】
図１には環境１００の例示的な構成要素が示されているが、他の実装では、環境１００は、図１に示すものと比べてより少数の構成要素、異なる構成要素、異なった配置の構成要素、または追加的な構成要素を含んでもよい。加えて、または代替として、環境１００内の任意の１つのデバイス（または任意のデバイス群）が、環境１００内の１もしくは複数の他のデバイスによって実行されるものとして記載された機能を実行してもよい。
【００３４】
図２Ａおよび図２Ｂは、ユニット１１５の例示的な構成要素を示すブロック図である。図２Ａに示すように、ユニット１１５は、コントローラ２１０、および１もしくは複数の周辺デバイス２３０を含み得る。コントローラ２１０は、ユニット１１５の動作を制御すること、他のユニット１１５と通信すること、管理デバイス１３０と通信すること、かつ／または周辺デバイス２３０を制御することができる。周辺デバイス２３０は、コントローラ２１０に情報を提供するデバイス、コントローラ２１０によって制御されるデバイス、および／またはそれ以外にコントローラ２１０と通信するデバイスを含んでもよい。一実施形態では、周辺デバイス２３０は、任意の種類のセキュリティデバイスを含んでもよい。例えば、周辺デバイス２３０は、読取デバイス２４０、施錠デバイス２５０、センサ２６０（カメラなど）、および／またはアクチュエータ２７０といったセキュリティデバイスを含んでもよい。周辺デバイス２３０は、認証情報を提供可能な任意の種類のセキュリティデバイスを含み得る。さらに、周辺デバイス２３０は、上記列挙した種類の周辺デバイスの組み合わせを含んでもよい。例えば、リーダは、認証情報を提供する任意の種類のデバイスであり得る。そして、リーダは、カメラおよび／またはマイクロフォンといった１もしくは複数のセンサを用いてタスクを達成し得る。
【００３５】
図２Ｂに示すように、コントローラ２１０は、バス２１２、プロセッサ２１４、メモリ２１６、ネットワークインターフェース２１８、周辺インターフェース２２０、および筐体２２２を含み得る。バス２１２は、コントローラ２１０の構成要素間の通信を許容する経路を含む。プロセッサ２１４は、任意の種類のシングルコアプロセッサ、マルチコアプロセッサ、マイクロプロセッサ、ラッチベースのプロセッサ、および／もしくは、命令を解釈し、実行する処理ロジック（またはプロセッサ、マイクロプロセッサ、および／もしくは処理ロジックのファミリ）を含んでもよい。他の実施形態では、プロセッサ２１４は、特定用途向け集積回路（ASIC:application-specific integrated circuit）、フィールド・プログラマブル・ゲート・アレイ（FPGA:field-programmable gate array）、および／または別の種類の集積回路もしくは処理ロジックを含んでもよい。
【００３６】
メモリ２１６は、情報、データ、および／または命令を記憶する。メモリ２１６は、任意の種類の動的記憶デバイス、揮発性記憶デバイス、および／または不揮発性記憶デバイスを含んでもよい。メモリ２１６は、プロセッサ２１４が実行するための命令、またはプロセッサ２１４が使用するための情報を記憶することができる。例えば、メモリ２１６は、ランダムアクセスメモリ（RAM:random access memory）もしくは別の種類の動的記憶デバイス、読取専用メモリ（ROM:read-only memory）デバイスもしくは別の種類の静的記憶デバイス、連想メモリ（CAM:content addressable memory）、磁気的記録メモリデバイスおよび／もしくは光学的記録メモリデバイスおよび当該デバイスに対応するドライブ（例えばハードディスクドライブ、光ドライブなど）、ならびに／またはフラッシュメモリといった取り外し可能な形態のメモリを含んでもよい。一実施形態では、メモリ２１６はまた、システムユニット１１５と共用可能ないくつかの周辺デバイスについての設定情報を記憶してもよい。
【００３７】
ネットワークインターフェース２１８は、コントローラ２１０が、有線通信リンク（例えば、導電性ワイヤ、ツイストペアケーブル、同軸ケーブル、伝送線、光ファイバケーブル、および／もしくは導波管など）、無線通信リンク（例えば、無線周波数、赤外線、および／もしくは可視光線など）、または無線通信リンクと有線通信リンクとの組み合わせを介して他のデバイスおよび／またはシステムと通信する（データの送信および／または受信を行う）送受信機（送信機および／または受信機など）を含み得る。ネットワークインターフェース２１８は、ベースバンド信号を無線周波数（RF:radio frequency）信号に変換する送信機、および／またはＲＦ信号をベースバンド信号に変換する受信機を含んでもよい。ネットワークインターフェース２１８は、ＲＦ信号を送受信するためのアンテナに結合されていてもよい。
【００３８】
ネットワークインターフェース２１８は、入力ポートおよび／または出力ポート、入力システムおよび／または出力システム、ならびに／または他のデバイスへのデータの伝送を円滑化する他の入力構成要素および出力構成要素を含む論理構成要素を含み得る。例えば、ネットワークインターフェース２１８は、有線通信のためのネットワークインターフェースカード（イーサネット（登録商標）カードなど）および／または無線通信のための無線ネットワークインターフェース（例えばＷｉＦｉ）カードを含んでもよい。また、ネットワークインターフェース２１８は、ケーブル上の通信のためのユニバーサル・シリアル・バス（USB:universal serial bus）ポート、Bluetooth（登録商標）無線インターフェース、RFID（radio-frequency identification）インターフェース、近距離無線通信（NFC:near-field communication）インターフェース、および／またはある形式から別の形式へデータを変換する任意の他の種類のインターフェースも含んでもよい。
【００３９】
周辺インターフェース２２０は、１もしくは複数の周辺デバイス２３０と通信するように設定され得る。例えば、周辺インターフェース２２０は、入力ポートおよび／または出力ポート、入力システムおよび／または出力システム、ならびに／または、周辺デバイス２３０へのデータの伝送を円滑化する他の入力構成要素および出力構成要素を含む１もしくは複数の論理構成要素を含んでもよい。一例として、周辺インターフェース２２０は、SPI（Serial Peripheral Interface）バスプロトコル（例えばＷｉｅｇａｎｄプロトコルおよび／またはＲＳ‐４８５プロトコル）を用いて周辺デバイス２３０と通信することができる。別の例として、周辺インターフェース２２０は、異なる種類のプロトコルを使用することができる。一実施形態では、ネットワークインターフェース２１８は、周辺デバイス２３０をコントローラ２１０に結合するための周辺インターフェースとして機能することもできる。
【００４０】
筐体２２２は、コントローラ２１０の構成要素を囲うことができる。また、筐体２２２は、コントローラ２１０の構成要素を環境から保護することができる。一実施形態では、筐体２２２は、１もしくは複数の周辺デバイス２３０を含んでもよい。別の実施形態では、筐体２２２は、管理デバイス１３０を含んでもよい。筐体２２２は、複数のシステムユニット１１５および／または複数のコントローラ２１０を有するシステムにおいて、１つのシステムユニット１１５および／またはコントローラ２１０と他のシステムユニット１１５および／またはコントローラ２１０との境界を定義することができる。
【００４１】
以下に記載するように、コントローラ２１０は、動作環境におけるシステムユニット１１５の設置および設定に関連した動作を実行することができる。コントローラ２１０はこれらの動作を、ＡＳＩＣの配線回路の結果として実行することができる。コントローラ２１０は、また（あるいは代替として）、これらの動作を、メモリ２１６といったコンピュータ可読媒体に含まれるソフトウェア命令をプロセッサ２１４が実行したことに応答して実行することもできる。コンピュータ可読媒体は、非一時的メモリデバイスを含んでもよい。メモリ２１６は、単一の物理的なメモリデバイス内で実装されてもよいし、複数の物理的なメモリデバイスにまたがって分散されて実装されてもよい。ソフトウェア命令は、別のコンピュータ可読媒体から、または別のデバイスからメモリ２１６に読み込まれてもよい。メモリ２１６に含まれるソフトウェア命令は、プロセッサ２１４に、本明細書に記載されたプロセスを実行させることができる。よって、本明細書に記載された実装は、ハードウェア回路とソフトウェアとの特定の組み合わせに限定されない。
【００４２】
周辺デバイス２３０に戻って説明を行う。読取デバイス２４０は、ユーザからの認証情報を読み取り、当該認証情報をコントローラ２１０に提供するデバイスを含み得る。例えば、読取デバイス２４０は、英数字の個人識別番号（PIN:personal identification number）をユーザから受け取るように設定されたキーパッドまたはキーボード、磁気ストリップ、またはタグといった他の種類の記憶デバイス上にカードコードを格納するカードを読み取るように設定されたカードリーダ、ユーザの指紋を読み取るように設定された指紋リーダ、ユーザの虹彩を読み取るように設定された虹彩リーダ、ユーザの声紋を記録するように設定されたマイクロフォンおよび声紋識別装置、ＮＦＣリーダ、ならびに／または別の種類の読取デバイスを含んでもよい。読取デバイス２４０は、認証情報を提供することが可能な任意の種類のセキュリティデバイスを含んでもよい。そして、読取デバイス２４０は、センサ２６０に関して以下で説明する任意のセンサデバイスといった、１もしくは複数のセンサを含んでもよい。例えば、読取デバイス２４０は、顔認識に使用されるカメラ、および／または音声認識に使用されるマイクロフォンを含んでもよい。これらの場合には、例えば、ユーザの音声および／または顔は、ユーザの認証情報として用いられ得る。
【００４３】
施錠デバイス２５０は、コントローラ２１０によって制御される錠を含み得る。施錠デバイス２５０は、ドア（例えば、ドアが開閉しないようにする）、窓、ＨＶＡＣ通気孔、および／またはセキュアな領域の開放可能部への他の種類のアクセスに施錠することができる。例えば、施錠デバイス２５０は、電磁錠、コントローラ２１０によって制御されるモータを備える機械錠、電気機械錠、および／または別の種類の錠を含んでもよい。
【００４４】
センサ２６０は、感知デバイスを含み得る。例として、センサ２６０は、ドアが開いているか閉じているかを感知するドアセンサ、可視光監視デバイス（例えば、カメラ）、赤外（ＩＲ）光監視デバイス、熱シグネチャ監視デバイス、オーディオ監視デバイス（例えば、マイクロフォン）、および／もしくは別の種類の監視デバイス、例えば動きセンサ、熱センサ、圧力センサ、および／もしくは別の種類の警報センサといった警報センサ、ユニット１１５内部に位置する位置センサといったタンパーセンサ、ならびに／またはユニット１１５と関連付けられたセキュリティ保護された領域内に位置する「退出要求（request-to-exit）」ボタン、ならびに／または別の種類のセンサデバイスを含んでもよい。以下の例では、センサ２６０を「カメラ２６０」と呼ぶこともある。
【００４５】
アクチュエータ２７０はアクチュエータデバイスを含み得る。一例として、アクチュエータ２７０は、照明デバイスを制御することができる。他の例として、アクチュエータ２７０は、盗難予防警報器、メッセージを再生しまたは警報信号を発生させるスピーカ、表示デバイス、センサ２６０を動かす（例えば、カメラもしくは他の監視デバイスの視野を制御する）モータ、例えばドア、窓、ＨＶＡＣ通気孔、および／または、セキュアな領域と関連付けられた別の開放可能部を開閉するためのモータ、施錠デバイス２５０を施錠位置もしくは開錠位置で固定するモータ、消火デバイス、ならびに／または別の種類のアクチュエータデバイスを含んでもよい。
【００４６】
図２Ａおよび図２Ｂは、ユニット１１５の例示的な構成要素を示しているが、他の実装では、ユニット１１５は、図２Ａおよび図２Ｂに示すものと比べてより少数の構成要素、異なる構成要素、追加的な構成要素、または異なった配置の構成要素を含んでもよい。例えば、図２Ａには単一の読取デバイス２４０、単一の施錠デバイス２５０、単一のセンサ２６０、および単一のアクチュエータ２７０が示されているが、実際には、周辺デバイス２３０は、複数の読取デバイス２４０、複数の施錠デバイス２５０、複数のセンサ２６０、および／または複数のアクチュエータ２７０を含んでもよい。また周辺デバイス２３０は、図２Ａに示すデバイスのうちの１もしくは複数を含まなくてもよい。加えて、または代替として、周辺デバイス２３０は、図２Ａまたは図２Ｂに示されていない他の種類のセキュリティデバイスを含んでもよい。加えて、または代替として、ユニット１１５の任意の構成要素（または任意の構成要素群）は、ユニット１１５が有する１もしくは複数の他の構成要素によって実行されるものとして記載された１もしくは複数のタスクを実行してもよい。
【００４７】
さらに、例示的な分散制御システム１１０は物理アクセス分散制御システムを含むが、他の実装は、物理アクセス以外のシステムを制御することができる。一方で、分散制御システム１１０は、（例えば、動作環境に）ドアを開閉するための制御システム、または建物もしくは施設への物理アクセスを制御するための制御システムといった任意の種類の物理アクセス制御システムを含んでもよい。また、分散制御システム１１０は、ファンを制御する（例えば始動または停止する）システム、建物管理システム内で警報を始動させるシステム（例えば、認証失敗、認証成功など）、または産業オートメーションシステムでロボットアームを制御するシステムを含んでもよい。
【００４８】
図３は、図２Ａおよび図２Ｂに示したコントローラ２１０内の様々な構成要素の例示的なレイアウトを示すブロック図である。構成要素は、プロセッサＩＣ３０２、１もしくは複数のメモリＩＣ３０４、ピンの第１のグループ３０６、ピンの第２のグループ３０８、ターミナルブロックの第１のグループ３０７、ターミナルブロックの第２のグループ３０９、および、１もしくは複数のリレー３１０を含み得る。これらの構成要素は、物理的に固定され得る、および／または回路基板３００を用いて電気的に相互接続され得る。追加の電気的な構成要素および／または接続は、コントローラ２１０の回路基板３００上に設けられ得る。なお、説明を簡潔にするために図３（および本明細書）には記載されていない。
【００４９】
一実施形態では、プロセッサＩＣ３０２は、ピンの第１のグループ３０６における１もしくは複数のピンと直接電気的な接続を確立するように設定され得る。これらの直接の電気的な接続は、電気的トレース３１２上で、そして、プロセッサＩＣ３０２内に位置する交換装置（図示省略）によって実現され得る。この交換装置は、例えば、クロスバースイッチにより具現化され得る。また、プロセッサＩＣ３０２は、ピンの第２のグループ３０８を１もしくは複数のリレー３１０を用いて制御し得る。プロセッサＩＣ３０２内の回路との直接の電気的な接続は、主としてピンの第２のグループ３０８とは確立されない。この理由は、これらのピンによって運ばれる電流はプロセッサＩＣ３０２の限度を超える可能性があるからである。また、プロセッサＩＣ３０２は、命令および／またはデータにアクセスするために１もしくは複数のメモリＩＣ３０４に連結され得る。別の実施形態では、物理的に隔てられたメモリコントローラ（図示省略）は、プロセッサＩＣ３０２およびメモリＩＣ３０４の間のインターフェースの役を果たし得る。
【００５０】
ユーザによって提供される情報に基いて（図７Ａおよび図７Ｂに関連して以下でより詳細に説明する）、設定アシスタントは、プロセッサＩＣ３０２にピン設定を生成させる命令を生成し得る。一実施形態では、ピン設定は、回路基板３００上の個別のピンを、選択された周辺デバイスに接続された適切なワイヤに割り当てる。例えば、ピン設定は、選択された各周辺デバイスについて、ピンの第１のグループ３０６から個別のピンを指定することができる。個別のピンの指定は、特定の周辺デバイスについて個別のピンを実際に選択することを含み得る。以下でより詳細に説明するように、回路基板３００上の特定のピンの選択は、設置者にとって配線の複雑さを減少させることにより動機付けされ得る。個別のピンの指定は、さらに、選択されたピンと関連付けられた信号の電気的設定を定めることを含んでもよい。電気的設定は、選択された周辺デバイスと共用可能な特定のプロトコル、および／またはユーザが選択可能な様々な電気的特性を含み得る。ユーザが選択可能な電気的特性は、例えば、信号の極性、電圧レベルなどを含み得る。そして、この電気的特性は、特定の動作環境と関連付けられ得る。
【００５１】
プロセッサＩＣ３０２は、ピン設定で指定された、ピンとの適切な接続を提供するように、プロセッサＩＣ３０２自身を内的に設定することができる。例えば、特定の周辺デバイスが選択された場合、プロセッサＩＣ３０２は、ピンの第１のグループ３０６から１もしくは複数の個別のピンを選択し、そしてまた、選択したピンの電気的設定を定める。プロセッサＩＣ３０２の設定は、例えば、内部にあるクロスバースイッチにより実行され得る。
【００５２】
一実施形態では、設定アシスタントが生成した命令は、システムユニット１１５の設定を容易にする、プロセッサＩＣ３０２内の利用可能なリソースにアクセスするためのアプリケーションプログラミングインターフェース（ＡＰＩ）の呼び出しを含み得る。さらに、プロセッサＩＣ３０２は、ピン設定の生成を補助するために、システムユニット１１５と共用可能なデバイスの指定を含むデータストアを使用することができる。データストアは、１もしくは複数のメモリＩＣ３０４においてコントローラ２１０にオンボードで保存され得る。別の実施形態では、データストアの少なくとも一部分は、遠隔的に保存され、そして、プロセッサＩＣ３０２によりネットワーク上でアクセスされ得る。
【００５３】
ピン設定に基づいて、設定アシスタントは、回路基板３００上の個別のピンと、選択された各周辺デバイスのワイヤとの間の接続を記述するレポートを生成し得る。このレポートは、選択された周辺デバイスに接続された各ワイヤについての、回路基板３００上の適切なピンの位置を示すことにより、設置者が各デバイスを物理的に接続することを可能にする。当該レポートについては、以下の図８の議論でさらに説明する。
【００５４】
ピンの第１のグループ３０６およびピンの第２のグループ３０８は、各個別のピンを周辺デバイス２３０の対応するワイヤに接続することを容易にする構造にさらに関連付けられ得る。例えば、このような構造の一つはターミナルブロックである。ターミナルブロックは、２以上のワイヤを一緒に固定する、絶縁された、モジュールのブロックである。ターミナルブロックは、個別のピンをワイヤに接続する、そしてさらに、これらの接続を区別可能なグループに組織化する便利な手段を提供する。図３を参照すると、ターミナルブロック３０７は、ピンの第１のグループ３０６と関連付けられる。ターミナルブロック３０９は、ピンの第２のグループ３０８と関連付けられ得る。各ターミナルブロックは、複数のピンの一部を一緒にグループ化することができ、回路基板３００への周辺デバイス２３０の配線を組織化する（整理する）のに役立つ。ある実施形態では、ターミナルブロックは、回路基板に固定された下部の部品と、ターミナルブロックの当該下部の部品に取り外し可能に付けられ得る上部の部品とを含み得る。個別のワイヤが上部の部品に接続された後で、上部の部品は、コネクターに類似した下部の部品に接続され得る。これらの種類のターミナルブロックは、標準のコネクターに類似して、ピンのサブグループの全てを素早く付けたり、外す能力を提供することができる。しかしながら、ターミナルブロックとともに、個別のピンとの接続は、ターミナルブロックがコネクターとして使用されるよりも前に、設置者によって個別のワイヤを用いて最初に確立される。
【００５５】
「ピン」という用語は、電気的な接続を確立するために設置者が使用し得る、回路基板３００に付けられた個別のコンダクタを表す。また、ピンは、回路基板３００上に固定的に置かれたターミナルブロック内の個別のコネクターを表し得る。ピンは、信号、電源、またはグラウンドについての一つの電気的な接続を提供する。ピンが導電性の物理的な接続を一つだけ確立するという点で、ピンはコネクターと区別される。コネクターは、しかしながら、導電性の物理的な接続を少なくとも２つ確立する。例えば、「オーディオジャック」とともに使用されるオーディオアプリケーションで一般に使用される、標準の３．５ｍｍの電話コネクターは、電話コネクターをオーディオジャックに挿入するときに信号の接続およびグラウンドの接続の両方を確立するために、少なくとも２つの別個の物理的な接続を有する。
【００５６】
プロセッサＩＣ３０２は、プロセッサ２１４の例示的な具現化を表す。さらに、プロセッサＩＣ３０２は、任意の種類のマイクロプロセッサ、コントローラ、ＡＳＩＣ、ＦＰＧＡ、他の適当な集積回路、または、これらの任意の組み合わせの形を取り得る。メモリＩＣ３０４は、設定アシスタントを起動するためのソフトウェア命令、および／またはピン設定を作るためのソフトウェア命令を保存し得る。ピン設定を決定するための命令は、ＡＰＩライブラリ、および／または、接続の配置を単純にし、改善するための最適化アルゴリズムを含み得る。メモリＩＣ３０４は、コントローラ２１０と共用可能な全ての周辺デバイス２３０についての仕様（列挙）データをさらに含んでもよい。
【００５７】
図４は、ユニット１１５の例示的な物理的レイアウト４００を示す平面図である。図４に示すように、物理的レイアウト４００は、壁４１０、ドア４２０、コントローラ２１０、読取デバイス２４０、施錠デバイス２５０、センサ２６０、およびアクチュエータ２７０を含み得る。
【００５８】
壁４１０は、建物内の部屋といったセキュアな領域４４０を取り囲む。ドア４２０は、セキュアな領域４４０へのユーザのアクセスを可能にする。この実施形態では、コントローラ２１０は、セキュアな領域４４０の内部に設置されている。他の実施形態では、コントローラ２１０は、セキュアでない領域４５０に設置されてもよい。読取デバイス２４０は、セキュアな領域４４０の外部に設置されており、施錠デバイス２５０−Ａはセキュアな領域４４０の内部における壁４１０とドア４２０とに設置されている。センサ２６０は、この例では、セキュアな領域４４０外部のセキュアでない領域４５０に取り付けられた監視デバイスである。アクチュエータ２７０は、この例の監視デバイスの視野を制御するために使用されるモータを含む。
【００５９】
ユーザが（例えば、ＰＩＮを入力する、アクセスカードをスキャンする、虹彩をスキャンするなどによって）読取デバイス２４０に認証情報を入力すると、コントローラ２１０は認証情報を使用してユーザの身元を認証することができ、そして、アクセスルールテーブル内で検索を実行して、ユーザの身元およびアクセスルールに基づいてユーザにアクセスを許可すべきかどうかを判定することができる。アクセスが許可されるべきであるとコントローラ２１０が判定した場合、コントローラ２１０は施錠デバイス２５０を作動させてドア４２０を開錠して、セキュアな領域４４０へのアクセスをユーザに許可する。
【００６０】
図４には、物理的レイアウト４００の例示的な構成要素が示されているが、他の実装では、物理的レイアウト４００は、図４に示すものと比べて、より少数の構成要素、異なる構成要素、追加的な構成要素、または異なった配置の構成要素を含んでもよい。加えて、または代替として、物理的レイアウト４００内のいずれか１つの構成要素（または構成要素群）が、物理的レイアウト４００の１もしくは複数の他の構成要素によって実行されるものと記載された１もしくは複数のタスクを実行してもよい。
【００６１】
図５は、制御システム１１０の例示的な物理的レイアウト５００を示す平面図である。図５に示すように、物理的レイアウト５００は、部屋５２０‐Ａ〜部屋５２０‐Ｆを有する建物５１０を含み得る。イーサネット（登録商標）ネットワークといったローカルネットワーク５３０が、システムユニット１１５‐Ａ〜システムユニット１１５‐Ｆを相互接続してもよい。この例では、システムユニット１１５‐Ａは部屋５２０‐Ａに通じる２つのドアを制御する。システムユニット１１５‐Ｂは部屋５２０‐Ｂに通じる外側のドアを制御する。システムユニット１１５‐Ｃは部屋５２０‐Ｂから部屋５２０‐Ｃへの１つのドアを制御する。システムユニット１１５‐Ｄは部屋５２０‐Ｃから部屋５２０‐Ｄへの１つのドアを制御する。システムユニット１１５‐Ｅは部屋５２０‐Ｄから部屋５２０‐Ｅへの１つのドアを制御する。ユニット１１５‐Ｆは部屋５２０‐Ｆに通じる外側のドアを制御する。
【００６２】
この例では、システムユニット１１５‐Ａ〜システムユニット１１５‐Ｆは、中央制御デバイス（例えば、サーバ）を含まず、１もしくは複数の分散データセットを含み得る。例えば、システムユニット１１５‐Ａ〜システムユニット１１５‐Ｆは、分散される認証情報テーブル、分散されるアクセスルールテーブル、および／または分散されるイベントログを保持することができる。管理者が管理デバイス１３０を使用してシステムユニット１１５‐Ａにログインして、ユーザを追加し、ユーザと関連付けられた認証情報を追加するものと仮定する。それらの追加される認証情報は、ユーザがアクセスできる部屋に通じるドアを制御する他のシステムユニット１１５に配布され得る。例えば、システムユニット１１５‐Ｂに障害が発生した場合、システムユニット１１５‐Ｂによって収集されたデータは、その他のシステムユニットに含まれる分散されたイベントログの結果として引き続き利用することができる。
【００６３】
図５では、各ユニット１１５はコントローラ２１０と関連付けられている。さらに、図５の実装では、各コントローラ２１０は、他のコントローラ２１０と異なった場所（例えば異なった部屋５２０）にある。他の実装では、あるコントローラ２１０およびユニット１１５が、他のコントローラ２１０およびユニット１１５とは異なった建物、異なった地理的区域、異なった国、異なった大陸などに位置してもよい。一実施形態では、ユニット１１５およびコントローラ２１０は、それらが多様な場所にあるにもかかわらず、相互に探索し合い（またはそうするよう最善を尽くし）、ピア・ツー・ピア・ネットワークを形成し、データセットを配布することができる。
【００６４】
図５には、物理的レイアウト５００の例示的な構成要素が示されているが、他の実装では、物理的レイアウト５００は、図５に示すものと比べて、より少数の構成要素、異なる構成要素、追加的な構成要素、または異なった配置の構成要素を含んでもよい。例えば、別の実施形態では、中央制御デバイス（例えば、サーバ）が、１もしくは複数の分散データセットと併用されてもよい。加えて、または代替として、物理的レイアウト５００の１もしくは複数の構成要素が、物理的レイアウト５００の１もしくは複数の他の構成要素によって実行されるものと記載された１もしくは複数のタスクを実行してもよい。
【００６５】
図６は、設定アシスタントを起動し得る管理デバイス１３０の例示的な構成要素を示すブロック図である。図６に示すように、管理デバイス１３０は、バス６１０、プロセッサ６２０、メモリ６３０、入力デバイス６４０、出力デバイス６５０、および通信インターフェース６６０を含み得る。
【００６６】
バス６１０は、管理デバイス１３０の構成要素間の通信を許容する経路を含む。プロセッサ６２０は、命令を解釈し、実行する、任意の種類のシングルコアプロセッサ、マルチコアプロセッサ、マイクロプロセッサ、ラッチベースのプロセッサ、および／または処理ロジック（または、プロセッサ、マイクロプロセッサ、および／または処理ロジックのファミリ）を含んでもよい。他の実施形態では、プロセッサ６２０は、ＡＳＩＣ、ＦＰＧＡ、および／または別の種類の集積回路もしくは処理ロジックを含んでもよい。
【００６７】
メモリ６３０は、情報、データ、および／または、設定アシスタントについてのコードを含む命令を記憶する。メモリ６３０は、動的記憶デバイス、揮発性記憶デバイス、および／または不揮発性記憶デバイスを含んでもよい。メモリ６３０は、プロセッサ６２０が実行するための命令、または、例えばパラメータといった、プロセッサ６２０が使用するための情報を記憶することができる。例えば、メモリ６３０は、ＲＡＭ、ＲＯＭ、ＣＡＭ、磁気的記録メモリデバイスおよび／または光学的記録メモリデバイスなどを含んでもよい。
【００６８】
入力デバイス６４０は、オペレータが管理デバイス１３０へ情報を入力することを可能にする。そして、当該入力は、周辺デバイス２３０の部品を実行することを含み得る。入力デバイス６４０は、例えば、キーボード、マウス、ペン、マイクロフォン、タッチスクリーンディスプレイなどを含んでもよい。出力デバイス６５０は、管理デバイス１３０のオペレータに情報を出力することができる。出力デバイス６５０は、ディスプレイ、プリンタ、スピーカ、および／または別の種類の出力デバイスを含んでもよい。そして、出力デバイス６５０は、コントローラ２１０および周辺デバイス２３０の間の接続を記述するレポートをユーザに提供するために用いられ得る。
【００６９】
通信インターフェース６６０は、コントローラ２１０が、有線通信リンク、無線通信リンク、または無線通信リンクと有線通信リンクとの組み合わせを介して、他のデバイスおよび／または他のシステムと通信する（例えば、データを送信し、かつ／またはデータを受信する）ことを可能にする機器（例えば、送信機および／または受信機）を含み得る。通信インターフェース６６０は、有線通信のためのネットワークインターフェースカード（例えば、イーサネット（登録商標）カード）、および／または無線通信のための無線ネットワークインターフェース（例えば、ＷｉＦｉ）カードを含んでもよい。
【００７０】
管理デバイス１３０は、システム１１０内のユニット１１５の管理に関連した動作を実行することができる。管理デバイス１３０は、これらの動作を、メモリ６３０といったコンピュータ可読媒体に含まれるソフトウェア命令をプロセッサ６２０が実行することに応答して行うこともできる。メモリ６３０に含まれるソフトウェア命令は、プロセッサ６２０にこれらの動作を実行させることができる。
【００７１】
図７Ａおよび図７Ｂは、システムユニット１１５を設定すること、および動作環境内の周辺デバイスの選択についてのオプションを提供する例示的なユーザインターフェースを示す図である。設定アシスタントは、一実施形態ではｗｅｂベースのＧＵＩとして実装される、ユーザインターフェースを生成する。生成されたユーザインターフェースは、管理デバイス１３０上で表示され得る。
【００７２】
図７Ａは、一つのドアについてドアロックおよびリーダを有するシステムを設定するための例示的な画面を示している。この画面は、システムユニット１１５、およびシステムユニット１１５の動作環境についての情報を入力するための様々なオプションを有する複数のウィンドウ（７０２、７０４）を含み得る。ユーザには、最初にウィンドウ７０２が提示され得る。ウィンドウ７０２は、コントローラ２１０の名前、および、システムユニット１１５内で使用されることになる周辺デバイスの数についての入力を受け付けることができる。周辺デバイスの数が一旦知られると、各周辺デバイスの名前を入力するために追加のフィールドが提供され得る。ウィンドウ７０２についてのデータ入力は、例えば、一度ユーザが「次へ（Next）」ボタンを選択すると完了する。そして、ウィンドウ７０４が、「ハードウェアラボのドアロック（Hardware Lab Door Lock）」という名前の周辺デバイスについてより具体的な情報を集めるために提供され得る。ウィンドウ７０４は、一つ目の名前の周辺デバイスに関するより詳細な情報を集めることができる。この例では、この周辺デバイスは、「ハードウェアラボのドアロック」という名前のドアロックである。ユーザは、プルダウンメニューから、デバイスの固定された選択肢（例えば、ドアロック、リーダ、センサ、アクチュエータなど）から周辺デバイスの概略の種類を指示することができる。図７Ａでは、この選択肢から「ドアロック」が選択されている。次のグラフィックコントロールは、ドアロックの種類およびドアの数を指示するために提示され得る。この例では、「デュアルロック（dual lock）」が、システムについて適切な種類のロックを提示するプルダウンメニューから選択される。追加のプルダウンが、当該ドアロックにより安全になるドアの数を入力するために提示される。ドアロックの数が知られた後で、追加のグラフィックコントロールがウィンドウ７０４において各ロックについて提示され得る。例えば、「ロック１（Lock 1）」についての電気的仕様が、ラジオダイヤルボタンを用いて指定されてもよい。図７Ａでは、ラジオダイヤルボタンが「ロック１」が１２ボルトで作動することを示し、そして、プルダウンメニューが、ドアロックの信号の極性が「ロック１」の状態にどのように影響するか（例えば、グラウンドが施錠された状態に対応し、１２ボルトが開錠された状態に対応する）を示している。ウィンドウ７０４のさらに下では、類似の情報が「ロック２（Lock 2）」について入力され得る。ここでは、「ロック２」がリレーと連結して機能するものとして指定され得る。プルダウンメニューは、リレーが開いているときに施錠された状態にあり、リレーが閉じているときに開錠された状態にあるように「ロック２」を設定することができる。ユーザがウィンドウ７０４で行った選択に満足すると、選択のプロセスを進めるために「次へ（Next）」ボタンが作動され得る。そして、「次へ」ボタンは、図７Ｂに示す別のウィンドウを提供する。
【００７３】
図７Ｂは、「ハードウェアラボのリーダ（Hardware Lab Reader）」という名前の周辺デバイスを設定するための例示的な画面を示している。ウィンドウ７０６は、周辺デバイスの概略の種類を指定するためのプルダウンメニューを最初に表示し得る。この例では、ユーザは、プルダウンメニューを作動させ、そしてデバイスの種類として「リーダ（Reader）」を選択する。この選択をすると、リーダに関する情報を集めるために特別に作られた、次のグラフィックコントロールが表示され得る。例えば、プルダウンメニューが、リーダが「カードリーダ（Card reader）」であることを指定するために提示され得る。この選択がされると、次のグラフィックコントロールが追加の情報を集めるために提示され得る。そして、この追加情報のうちいくつかはカードリーダに固有の情報であり得る。さらにウィンドウ７０６に関連して、領域への入場に固有のパラメータが設定アシスタントにより要求され得る。ここで、入場の際にリーダが使用されることを指示するために、ボックスがチェックされ得る。さらに、入場時に使用されるプロトコルに関する選択が、「全二重ＲＳ４８５（RS485 full duplex）」と名付けられたラジオダイヤルボタンを用いてなされ得る。さらに、追加のプルダウンメニューが、ＲＳ４８５プロトコルを「ＨＡＤＰ」を用いるものとして指定し得る。「ＯＳＤＰ」と名付けられたメニューのような、前の選択に基づいて無関係になったプルダウンメニューの項目は、灰色で表示され得る。設定アシスタントは、退場時のリーダに関する追加のパラメータをさらに要求し得る。そして、ユーザは、適当なラジオダイヤルボタンを用いてＷｉｅｇａｎｄプロトコルをさらに選択する。最後に、ユーザは、カードリーダについて「退出要求（Request to Exit）」（ＲＥＸ）オプションを選択し、そして、このリーダの接続をラジオダイヤルボタンにより「正論理（active high）」として指定することができる。
【００７４】
設定アシスタントが、システムユニット１１５およびシステムユニット１１５の動作環境に関する全ての情報を一旦集めると、ピン設定を生成するための情報が生成され得る。そして、ユーザ（設置者）がコントローラ２１０を選択された周辺デバイスに接続することを補助するために、レポートが提供され得る。
【００７５】
図８は、コントローラと関連付けられた個別のピンと、選択された周辺デバイスと関連付けられたワイヤとの間の接続を記述する例示的なレポート８０２を示す図である。図８に示した例では、レポートは、コントローラ２１０についての回路基板３００上のピンのレイアウトのレイアウト描画８０４を提供し得る。レイアウト描画８０４は、基板のレイアウトに物理的に似ているため、「地図」の役割を果たし得る。そして、レイアウト描画８０４は、特定のピンを番号と結び付け、そしてピンのグループ（ターミナルブロックに対応し得る）をデバイスと結び付け得る。図８に示した例では、個別のピンは、デバイスのラベル（例えば「リーダＩ／Ｏ  １（Reader I/O 1）」、「リーダデータ２（Reader Data 2）」など）およびピンの番号により識別される。例えば、各ピンが一意の番号および／もしくは英数字の名称を提供されるといった代替のアプローチが使用されてもよい。別の実施形態では、ピンのグループ（例えば、ターミナルブロック）は、選択されたデバイスによって色で塗り分けられてもよい。ピン設定ガイド８０６は、動作環境（例えば「ハードウェアラボ」）において選択されたデバイスについて提供され得る。ピン設定ガイド８０６は、選択された各デバイス上の関連するワイヤについて、回路基板３００上の各ピンとの適切な接続を具体的に指定する。ピン設定ガイド８０６は、デバイスおよびデバイスの様々な機能により情報をグループ化し、そして、選択されたデバイス上のワイヤが識別され、かつ接続され得るように各ピンをラベルで指定し得る。ピン設定ガイド８０６に示したように、各ピンは、選択された各デバイスについての信号の名前で指定される。
【００７６】
図９は、設定アシスタントにより実行される、例示的な最上位のプロセス９００のフローチャートである。プロセス９００は、動作環境内のシステムユニット１１５の設定を容易にする。そして、プロセス９００は、管理デバイス１３０、１もしくは複数のコントローラ２１０、オフラインプロセッサ、もしくはこれらの組み合わせにおいて実行し得る。プロセス９００は、コントローラ２１０、コントローラ２１０が動作する環境、および周辺デバイスが設置され、設定される環境に関する情報を含む情報をユーザに要求し得る。
【００７７】
プロセス９００は、最初に、コントローラ２１０と共用可能な周辺デバイスを設置するためのオプションを提供する（ブロック９０２）。そして、プロセス９００は、動作環境と関連付けられた周辺デバイス２３０の選択に関する情報を受信する（ブロック９０４）。後の選択についてのオプションは前の選択に依存し得るので、収集された情報は段階的にユーザから集められ得るように、ブロック９０２およびブロック９０４の間の相互作用が行われてもよい。例えば、設定アシスタントにおける後の選択およびオプションは、特定のカードリーダについての電気的プロトコルといった、前のステップにおいて何のハードウェアデバイスが選択されたかに依存し得る。加えて、設定アシスタントは、ユーザにとってプロセスを単純化するために、いくつかのステップにおけるオプションの数を制限することができる。そして、いくつかの制限は、最も一般的な実装、および／または最も賢明な実装を含むように選択され得る。いくつかの制限は、コントローラ２１０に接続され得る特定の周辺デバイスの最大可能数に基づいてもよい。別の例では、ある設定は、利用可能なコネクタ、配線、および／または作業場において設置者が遭遇し得る他の抑制の数および／または種類に基づいて制限され得る。様々な実施形態では、これらの制限は、システム管理者によって設定可能であってもよい。あるいは、このような制限は、設定アシスタント内にハードコードされ得る。従って、このような制限は、例えばコントローラ２１０の製造者によって定められ得る。
【００７８】
別の実施形態では、選択は、コントローラ２１０と共用可能な周辺デバイス２３０の電気的特性に基づいて実行され得る。ここで、選択は、周辺デバイスの一集合によって使用される標準データ通信プロトコルに基づいてもよい。例えば、ユーザは、データ伝送規格（例えば、ＲＳ２３２、ＲＳ４８５、またはＶｉｇａｎ）および／またはプロトコル（すなわち、ＯＳＤＰ／ＨＡＤＰ）の組み合わせを、コントローラ２１０とそれ以外に共用可能な各周辺デバイス２３０について選択することができる。この実施形態では、ユーザは、特定の周辺デバイス２３０自体を直接は要求しないが、その代わりに設定アシスタントが、ユーザが選択した規格および／またはプロトコルと共用可能な特定の周辺デバイス２３０についてのオプションを提供する。周辺デバイス２３０についてのオプションが提示され得る理由は、設定アシスタントが、選択された規格および／またはプロトコルと何の周辺デバイス２３０が機能するかの知識を有するからである。設定アシスタント内の選択プロセスは、木構造を用いて作られ、また、選択可能な全ての順列（並べ替え）を含むテーブル形式で実装され得る。
【００７９】
設定アシスタントは、単純な設定および設置と複雑な設定および設置との両方を許容するオプションを提供し得る。図７Ａおよび図７Ｂに関連して記載したように、単純なシステムユニット１１５についての設定は、一つのカードリーダおよび／または一つのピンコードリーダを用いる単一のドアアクセス制御を含み得る。別のシステムは、より複雑であり、虹彩スキャナを含んだり、または、監視カメラ、照明およびファンのスイッチ、コンピュータシステムへのアクセス、タイムレコーダなどを統合することにより、他の種類の認証情報を使用し得る。最終的に、設定アシスタントは、選択された周辺デバイス２３０の動作環境に関する情報を提供することができる。図７Ａでドアロックについて示した例で記載したように、ドアロックが制御するドアの数は指定され得る。あるいは、複数のコントローラが使用される場合、各ドアと関連付けられたコントローラの数が提供され得る。イメージセンサを利用する別の例では、ユーザは、センサの視野を指定することができる。あるいは、熱センサについては、熱センサが置かれた部屋の標準周囲温度（nominal ambient temperature）をユーザは指定することができる。
【００８０】
図９をさらに参照すると、全ての選択が一旦受信されると、設定アシスタントは、コントローラ２１０を選択された周辺デバイス２３０に接続するために、（回路基板３００上の複数のピンから）個別のピンをコントローラ２１０に指定させる命令を生成する（ブロック９０６）。個別のピンは、生成された「ピン設定」を用いて指定される。この「ピン設定」は、接続が確立されるために回路基板３００上にある特定のピンを選択するように通知し、さらに、ピンの電気的設定を指定し得る。電気的設定は、ピンが信号、電源線、またはグラウンド線を割り当てられるかどうかを指定することを含み得る。信号が指定される場合、電気的設定は、規格および／またはプロトコルと関連付けられた、信号の電気的パラメータ（例えば、電圧、周波数、電流など）をさらに含み得る。図１０に関連して以下に記載するように、コントローラ２１０は、ピン設定に基づいてコントローラ２１０自身を内的に設定する。前述したように、一実施形態では、設定アシスタントにより生成された、コントローラに対する命令は、アプリケーションプログラミングインターフェース（ＡＰＩ）の呼び出しを含む。別の実施形態では、設定アシスタントは、コントローラに対する命令を、例えばパラメータのリスト、ベクトル、および／またはテーブルのフォーマットで生成する。この場合では、フォーマットと一緒のパラメータは、コントローラに転送されるとき、コントローラを選択された周辺デバイスに接続するために個別のピンをコントローラに指定させる、生成された命令であり得る。
【００８１】
プロセス９００は、ピン設定に基づいたレポートを生成し得る。このレポートは、コントローラ２１０および周辺デバイス２３０の間の実際の接続を確立することをユーザに許容する（ブロック９０８）。レポートは、管理デバイス１３０のディスプレイ上で提供される、および／またはハードコピーとして提示され得る。例示的なレポートは図８に示されており、当該レポートは、コントローラ上のピン設定の描画、および周辺デバイスと関連付けられたワイヤとの、関連付けられた電気的接続の描画を表示するグラフィックレイアウトを含み得る。ある実施形態では、レポートは、コントローラ２１０がピン設定に基づいてコントローラ２１０自身を内的に設定した後に生成され得る。従って、設定アシスタントによる設定の後になされた任意の手作業の修正がレポートに含まれることを許容する。別の実施形態では、レポートは、コントローラ２１０の内的な設定より前に生成され得る。従って、レポートは、「オフラインでの使用（offline use）」が可能である。
【００８２】
図１０は、システムユニット１１５の設置の設定をするための例示的なプロセス１０００のフローチャートである。プロセス１０００は、コントローラ２１０上で実行し得る。適切な認証情報を持つユーザは、管理デバイス１３０を使用してコントローラ２１０にログインすることによりコントローラ２１０にアクセスすることができる。コントローラ２１０は、ネットワーク上で提供され得る。または、コントローラ２１０は、例えばローカルに確立されたシリアル接続といった、別の電気的な相互接続を用いて提供され得る。一実施形態では、管理デバイス１３０は、コントローラ２１０とやり取りすることをユーザに許容し、そして、様々な入力／出力の機能性をユーザに提供するために、ｗｅｂベースのＧＵＩを使用する。プロセス１０００は、最初に、周辺デバイス２３０を設置するためのオプションを提供し得る（ブロック１００２）。これらのオプションは、表示のために管理デバイス１３０に提供され得る。ｗｅｂベースのＧＵＩを使用して、ユーザは、周辺デバイスについての選択、および動作環境に関する情報を入力することができる。コントローラ２１０は、管理デバイス１３０からのこれらの選択をネットワーク１２０上で受信する（ブロック１００４）。ブロック１００２およびブロック１００４は、図９の議論において前述したブロック９０２およびブロック９０４に類似する。
【００８３】
プロセス１０００は、その後、コントローラ２１０を選択された周辺デバイス２３０に接続するために、（回路基板３００上の複数のピンから）個別のピンをコントローラ２１０に指定させる命令を生成し得る（ブロック１００６）。前述したように、個別のピンを指定することは、特定の周辺デバイスについて個別のピンを実際に選択することを含み得る。個別のピンを指定することは、さらに、選択されたピンと関連付けられた信号の電気的設定を定めることを含み得る。電気的設定は、選択された周辺デバイスと共用可能な特定のプロトコル、および／またはユーザが選択可能な様々な電気的特性を含み得る。ユーザが選択可能な電気的特性は、例えば、信号の極性、電圧レベルなどを含み、そして、特定の動作環境と関連付けられ得る。別の実施形態では、個別のピンの指定は、接続を確立するために特定のピンを使用しないためのオプションを含む。
【００８４】
ブロック１００８で生成された命令に基づいて、コントローラ２１０は、コントローラ２１０を選択された周辺デバイスに接続するためのピン設定を決定し得る（ブロック１００８）。前述したように、ピン設定は、接続を確立するために、回路基板３００上にある特定のピンの選択の仕方をコントローラ２１０に通知する。ピン設定は、さらに、ピンの電気的設定を指定し得る。電気的設定は、ピンが信号、電源線、またはグラウンド線を割り当てられるかどうかを指定することを含み得る。信号が指定された場合、電気的設定は、規格および／またはプロトコルと関連付けられた、信号の電気的なパラメータをさらに含み得る。コントローラ２１０は、コントローラ２１０および周辺デバイス２３０の間の配線の複雑さを減少させるアルゴリズムを実行することにより、ピンの設定を決定し得る。当該アルゴリズムは、特定の周辺デバイス２３０と関連付けられた接続をピンの隣接した集合にグループ分けすること、および／または１もしくは複数のターミナルブロック内でグループ分けすることにより配線を単純化し得る。当該アルゴリズムは、接続の複雑さを減少させる最適化アルゴリズムを含み得る。接続の複雑さを減少させるための一つのアプローチは、各周辺デバイスについて接続の長さを減少させるような個別のピンを最適化アルゴリズムに選択させることであり得る。この点において、例示的なアルゴリズムは、１もしくは複数のデバイスについての接続間の距離メトリック（distance metric）を減少させるように試み得る。例えば、当該アルゴリズムは、特定の周辺デバイスと関連付けられた接続をできるだけ互いに近くなるように配置することを試み得る。最も近い接続が利用できない場合、「二番目に近い接続」が試され得る。別の実施形態では、「貪欲法（greedy algorithm）」が使用され得る。貪欲法は、解を少しずつ形成し、そして、前の選択または次の選択からの任意の情報に関わりなく、最も明らかで、かつ即時の利益を提供する次のオプションを主として選択する。別の実施形態では、任意の種類の最適化アルゴリズムが、コントローラ２１０および周辺デバイス２３０の間の接続の複雑さを減少するために使用され得る。
【００８５】
コントローラ２１０は、その後、ピン設定に基づいてプロセッサＩＣ３０２内に接続を確立することによりコントローラ２１０自身を内的に設定し得る（ブロック１０１０）。また、ピン設定に基づいて、コントローラ２１０は、コントローラ２１０および選択された周辺デバイス２３０の間の接続を記述するレポートを生成し得る（ブロック１０１２）。レポートはピン設定に基づいて生成されるので、コントローラ２１０がコントローラ２１０自身を設定する前にレポートは生成され得る。ある実施形態では、ブロック１０１０におけるコントローラの内的な設定は省略されてもよい。この場合には、ピン設定は、ファイルに単純に書き込まれ、そして基板上に保存され得る。このファイルは、類似の環境内に配置された同じ周辺デバイス２３０を有する他のコントローラのオフラインでの設定を可能にし得る。あるいは、ピン設定ファイルは、類似の設定および環境を有するシステムユニット１１５を「バッチ設定する（batch configure）」ために、ネットワーク１２０上で他のシステムユニット１１５に配置され得る。最後に、コントローラは、ユーザが選択された周辺デバイスをコントローラ２１０に接続することを補助するためにレポートを提供する（ブロック１０１４）。レポートの例は前述しており、図８に示されている。一実施形態では、レポートは、ネットワーク１２０上で管理デバイス１３０に提供され得る。別の実施形態では、管理デバイス１３０は、独立した装置ではなく、システムユニット１１５自身の一部であり、そして、レポートは、ユーザに別の方法で提供され得る。例えば、レポートは、システムユニット１１５の一部であるディスプレイ上に表示され得る。
【００８６】
最後に、プロセス１０００の部分（aspect）が、最初の設定が実行された後で、システムユニット１１５を再設定するために使用され得る。再設定は、全部の設定および設置をやり直す必要なしに、システムユニット１１５の設定における変更（修正）を行うことをユーザに許容し得る。この再設定は、例えば、電気的設定を少し変更すること（例えば、極性の変更）を設置者に許容する。別の例では、再設定は、既存の周辺デバイスに対してすでに確立された接続を除去または再設定する必要なしに、新しい周辺デバイスを追加することをユーザに許容し得る。このような実施形態では、設定アシスタントは、既存の周辺デバイスとの確立された接続においてすでに使用されている個別のピンの指定を避け得る。
【００８７】
図１１は、動作環境についてのシステムユニット１１５の設置の設定をするための例示的なプロセス１１００のフローチャートである。この実施形態では、設定アシスタントは、管理デバイス１３０上で実行する。管理デバイス１３０は、ネットワーク１２０上でコントローラ２１０と通信し、そして最初にコントローラ２１０との接続を確立し得る（ブロック１１０２）。あるいは、管理デバイス１３０は、例えばシリアル接続といった、コントローラ２１０とのローカル接続上で通信を確立することができる。接続の確立は、設定アシスタント内でなされ、そして、設定アシスタントは、ｗｅｂベースのＧＵＩを使用してユーザとやり取りすることができる。一実施形態では、分散制御システム内の各システムユニット１１５は、各システムユニット１１５に別々にログインすることにより個別に設定され得る。
【００８８】
プロセス１１００は、周辺デバイス２３０を設置するためのオプションをユーザに提供し（ブロック１１０４）、そして、動作環境と関連付けられた周辺デバイスの選択を受信し得る（ブロック１１０６）。前述したように、ユーザおよび管理デバイス１３０のやり取りは、例えばｗｅｂベースのインターフェースといったＧＵＩを用いて行われ得る。ブロック１１０４およびブロック１１０６は、図９で前述したブロック９０２およびブロック９０４に類似する。プロセス１１００は、その後、コントローラ２１０を選択された周辺デバイス２３０に接続するために、（回路基板３００上の複数のピンから）個別のピンをコントローラ２１０に指定させる命令を生成し得る（ブロック１１０８）。この実施形態では、管理デバイスは、ピン設定自体を生成せず、ユーザによってなされた選択に一部基づいた適切な命令を提供することによりコントローラ２１０にタスクを押し付ける。命令の生成を単純化するために、設定ユーティリティは、図１０の記載において前述したように、ピン設定を生成するために、コントローラ２１０と一緒に機能するように設計されたＡＰＩを使用し得る。
【００８９】
ピン設定が一旦生成されると、管理デバイス１３０は、ピン設定をコントローラ２１０から受信し得る（ブロック１１１０）。ピン設定からの情報を使用して、管理デバイス１３０は、回路基板３００上の各ピンと、選択された各周辺デバイス上の適当なワイヤとの間の電気的接続を記述するレポートを生成する（ブロック１１１２）。管理デバイス１３０は、当該レポートをユーザに示し（ブロック１１１４）、および／またはハードコピーを提供する。レポートの例は、図８の記載において前述したものである。
【００９０】
図１２は、別の実施形態による、システムユニット１１５の設置の設定をするための例示的なプロセス１２００のフローチャートである。プロセス１２００は、管理デバイス１３０上で実行し得る。この実施形態では、管理デバイス１３０は、設定アシスタントを起動することに加えて、ピン設定情報を生成する。ピン設定は、ファイルに書き込まれ、そして後に、プロセッサＩＣ３０２の内的設定を実行するために１もしくは複数のコントローラ２１０により使用され得る。したがって、この実施形態は、設定アシスタントの「オフライン」での実行を許容する。そして、プロセス１２００は、コントローラ２１０に接続されていない間に実行され得る。この実施形態は、さらに、「バッチ」設定動作を許容する。この「バッチ」設定動作では、ユーザは、設定アシスタントを一回実行することができ、そして、ピン設定ファイルは、各コントローラが、類似の環境において動作する共通の周辺デバイスと一緒に設定を有するような、複数のコントローラ２１０上で使用され得る。
【００９１】
プロセス１２００は、コントローラ２１０と共用可能な周辺デバイス２３０を設置するためのオプションをユーザに提供し（ブロック１２０２）、そして、動作環境と関連付けられた周辺デバイスの選択を受信し得る（ブロック１２０４）。前述したように、ユーザおよび管理デバイス１３０のやり取りは、例えばｗｅｂベースのインターフェースといったＧＵＩを用いて行われ得る。ブロック１２０２およびブロック１２０４は、図９で前述したブロック９０２およびブロック９０４に類似する。プロセス１２００は、その後、コントローラ２１０を選択された周辺デバイス２３０に接続するために、（回路基板３００上の複数のピンから）個別のピンをコントローラ２１０に指定させる命令を生成し得る（ブロック１２０６）。この実施形態では、コントローラに対する生成された命令は、例えばパラメータのリスト、ベクトル、および／またはテーブルのフォーマットにおいて含み得る。この場合では、フォーマットと一緒のパラメータは、コントローラに転送されるとき、コントローラを選択された周辺デバイスに接続するために個別のピンをコントローラに指定させる、生成された命令であり得る。管理デバイスは、ピン設定情報自体を決定し、コントローラ２１０に頼らない。ピン設定の決定は、図１０に示したブロック１００８に関連して前述した内容と類似し得る（ブロック１２０８）。一旦決定されると、管理デバイス１３０は、後の使用のために、ピン設定をファイルにエクスポートする（ブロック１２１０）。ピン設定情報を使用して、管理デバイス１３０は、回路基板３００上の各ピンと、選択された各周辺デバイス上の適当なワイヤとの間の電気的接続を記述するレポートを生成する（ブロック１２１２）。管理デバイス１３０は、後に、例えば図８に示したように、レポートをユーザに示し、および／またはハードコピーを提供し得る。エクスポートされた設定ファイルは、プロセッサＩＣ３０２が内的に設定可能なように、現地で後にコントローラ２１０に提供され得る。このアプローチは、コントローラが、動作環境における外部のネットワークから分離されている状況において有用であり得る。別の実施形態では、エクスポートされた設定ファイルは、追加のコントローラ２１０にピア・ツー・ピアで提供され得る。
【００９２】
以上の明細書では、添付の図面を参照して様々な実施形態を説明した。しかし、添付の特許請求の範囲に記載される本発明のより広い範囲から逸脱することなく、実施形態に様々な改変および変更を加えることができ、追加的な実施形態を実現することができることは明らかであろう。本明細書および図面は、したがって、限定としてではなく例示とみなされるべきである。
【００９３】
例えば、図９〜図１２に関連して一連のブロックが記載されているが、各ブロックおよび／または信号フローの順序は、他の実装では変更されてもよい。さらに、非依存のブロックおよび／または信号フローは並列に実行されてもよい。
【００９４】
前述のシステムおよび／または方法は、各図に示す実装において、多くの異なる形態のソフトウェア、ファームウェア、およびハードウェアで実装され得ることが理解されるであろう。これらのシステムおよび方法を実装するのに使用される実際のソフトウェアコードまたは専用の制御ハードウェアは、各実施形態を限定するものではない。よって、システムおよび方法の動作および挙動は、特定のソフトウェアコードを参照せずに記載された。すなわち、ソフトウェアおよび制御ハードウェアは、本明細書の記載に基づくシステムおよび方法を実装するように設計され得ることが理解される。
【００９５】
さらに、前述のある特定の部分が、１もしくは複数の機能を実行する構成要素として実装されてもよい。構成要素とは、本明細書で使用される場合、プロセッサ、ＡＳＩＣ、ＦＰＧＡといったハードウェア、またはハードウェアとソフトウェアの組み合わせ（例えば、ソフトウェアを実行するプロセッサ）を含み得る。
【００９６】
「comprises」および／または「comprising」という用語は、本明細書で使用する場合、記述される特徴、整数、ステップまたは構成要素の存在を指定するが、１もしくは複数の他の特徴、整数、ステップ、構成要素またはそのグループを排除するものではない。さらに、「例示的な」（例えば「例示的な実施形態」、「例示的な構成」など）という用語は、「一例として」を意味し、「好ましい」、「最善の」などを意味するものではない。
【００９７】
本出願で使用されるいかなる要素、動作、または命令も、特に明示しない限り、実施形態にとって不可欠または本質的であると解釈すべきではない。また、本明細書で使用する場合、冠詞の「a」は１もしくは複数の項目を含むことが意図されている。さらに、「〜に基づいて（based
on）」という句は、特に明示しない限り、「少なくとも一部は〜に基づいて」を意味するものである。
【図１】
2015057705.tif 000003
【図２Ａ】
2015057705.tif 000004
【図２Ｂ】
2015057705.tif 000005
【図３】
2015057705.tif 000006
【図４】
2015057705.tif 000007
【図５】
2015057705.tif 000008
【図６】
2015057705.tif 000009
【図７Ａ】
2015057705.tif 000010
【図７Ｂ】
2015057705.tif 000011
【図８】
2015057705.tif 000012
【図９】
2015057705.tif 000013
【図１０】
2015057705.tif 000014
【図１１】
2015057705.tif 000015
【図１２】
2015057705.tif 000016