(57)【要約】      （修正有）【課題】匿名の分散型アクセス制御方法を提供する。【解決手段】コントローラデバイスは、分散型の物理アクセス制御システムにおける物理アクセスコントローラに該当し、複数のコントローラデバイスについてのアクセス制御情報を含むグローバルデータベースへのアクセス権を取得するように構成されたロジックを含む。ロジックは、グローバルデータベースからローカルアクセスルールテーブルを取得し、ローカル認証情報テーブルを取得する。ローカルアクセスルールテーブルは、ユーザをアクセスルールと関連付け、かつ、ローカルアクセスルール鍵で暗号化される。ローカル認証情報テーブルは、ハッシュ化された認証情報をユーザと関連付け、かつ、ユーザと関連付けられた非ハッシュ化認証情報で暗号化されたローカルアクセスルール鍵をユーザのために記憶する。【選択図】図９
2015057884.tif 000002
【特許請求の範囲】
【請求項１】
コントローラデバイスによって実行される方法であって、
前記コントローラデバイスにより、複数のコントローラデバイスについてのアクセス制御情報を含むグローバルデータベースにアクセスするステップと、
前記コントローラデバイスにより、前記グローバルデータベースからローカルアクセスルールテーブルを取得するステップと、
ここで、前記ローカルアクセスルールテーブルは、ユーザをアクセスルールと関連づけ、前記ローカルアクセスルールテーブルは、ローカルアクセスルール鍵で暗号化され、
前記コントローラデバイスにより、前記グローバルデータベースからローカル認証情報テーブルを取得するステップと、
ここで、前記ローカル認証情報テーブルは、ハッシュ化された認証情報をユーザと関連づけ、前記ローカル認証情報テーブルは、ユーザと関連付けられた非ハッシュ化認証情報で暗号化された前記ローカルアクセスルール鍵を前記ユーザのために記憶し、前記非ハッシュ化認証情報は、前記コントローラデバイスに記憶されず、
前記コントローラデバイスにより、読取デバイスから認証情報値を受信するステップと、
ユーザと関連付けられた認証情報エントリが前記取得されたローカル認証情報テーブルに存在するときに、前記コントローラデバイスにより、前記取得されたローカル認証情報テーブルに基づいて、前記受信された認証情報値と関連付けられた前記ユーザを特定するステップと、
前記ユーザについてのアクセスルールエントリが前記取得されたローカルアクセスルールテーブルに存在するときに、前記コントローラデバイスにより、前記取得されたローカルアクセスルールテーブルに基づいて、前記ユーザと関連付けられた１もしくは複数のアクセスルールを実行するステップと
を含む方法。
【請求項２】
前記受信された認証情報値をハッシュ化するステップと、
前記ローカル認証情報テーブルに前記ハッシュ化された認証情報値についての前記認証情報エントリが存在するかどうか判定するステップと、
前記ローカル認証情報テーブルに前記ハッシュ化された認証情報値についての前記認証情報エントリが存在するときに、前記ローカル認証情報テーブル内で前記受信された認証情報値と関連付けられた前記ユーザを特定するステップと
をさらに含む、請求項１に記載の方法。
【請求項３】
前記受信された認証情報値を用いて、前記認証情報エントリと関連付けられた前記ローカルアクセスルール鍵を解読するステップと、
前記解読されたローカルアクセスルール鍵を用いて前記ローカルアクセスルールテーブルを解読するステップと、
前記ユーザについて前記解読されたローカルアクセスルールテーブルに前記アクセスルールエントリが存在するかどうか判定するステップと
をさらに含む、請求項２に記載の方法。
【請求項４】
前記グローバルデータベースについての更新を取得するステップと、
前記更新が前記コントローラデバイスと関連付けられたアクセスエンティティまたは前記ユーザと関連付けられていることに基づいて、前記更新が前記ローカルアクセスルールテーブルまたは前記ローカル認証情報テーブルの少なくとも一方に関連したものであると判定するステップと、
前記更新が前記ローカルアクセスルールテーブルまたは前記ローカル認証情報テーブルに関連したものであると判定したことに基づいて、前記更新されたグローバルデータベースを用いて、前記ローカルアクセスルールテーブルまたは前記ローカル認証情報テーブルの少なくとも一方を更新するステップと
をさらに含む、請求項１に記載の方法。
【請求項５】
前記ローカル認証情報テーブルはローカル認証情報鍵を用いて暗号化され、
前記方法は、
前記ローカル認証情報鍵を用いて前記ローカル認証情報テーブルを解読するステップと、
前記ローカル認証情報テーブルでハッシュ化された認証情報値を更新するステップと、
前記解読されたグローバルデータベースから暗号化されていないローカルアクセスルール鍵を取得するステップと、
前記ローカルアクセスルール鍵を非ハッシュ化認証情報値で暗号化するステップと、
をさらに含み、
前記暗号化されたローカルアクセスルール鍵は前記ハッシュ化された認証情報値と関連付けられる、請求項４に記載の方法。
【請求項６】
解読された前記グローバルデータベースから暗号化されていないローカルアクセスルール鍵を取得するステップと、
前記取得した暗号化されていないローカルアクセスルール鍵を用いて前記ローカルアクセスルールテーブルを解読するステップと、
前記ローカルアクセスルールテーブルを更新するステップと、
前記更新されたローカルアクセスルールテーブルを暗号化するステップと
をさらに含む、請求項４に記載の方法。
【請求項７】
前記複数のコントローラデバイスのうちの別のコントローラデバイスのために前記グローバルデータベースから遠隔のローカルアクセスルールテーブルを取得するステップと、
前記別のコントローラデバイスのために前記グローバルデータベースから遠隔のローカル認証情報テーブルを取得するステップと、
前記別のコントローラデバイスが、前記遠隔のローカルアクセスルールテーブルおよび前記遠隔のローカル認証情報テーブルにアクセスすることを可能にするステップと
をさらに含む、請求項１〜６のいずれか一項に記載の方法。
【請求項８】
ユーザが前記グローバルデータベースでグローバルデータベース行番号と関連付けられており、
前記ユーザは、前記ローカルアクセスルールテーブルで前記グローバルデータベース行番号と関連付けられており、
前記ユーザは、前記ローカル認証情報テーブルで前記グローバルデータベース行番号と関連付けられている、請求項１〜７のいずれか一項に記載の方法。
【請求項９】
前記複数のコントローラデバイスは分散型の物理アクセス制御システムに該当し、
前記コントローラデバイスは物理アクセス制御ユニットに該当する、請求項１〜８のいずれか一項に記載の方法。
【請求項１０】
複数のコントローラデバイスについてのアクセス制御情報を含むグローバルデータベースにアクセスし、
前記グローバルデータベースからローカルアクセスルールテーブルを取得し、
ここで、前記ローカルアクセスルールテーブルは、ユーザをアクセスルールと関連付け、前記ローカルアクセスルールテーブルは、ローカルアクセスルール鍵で暗号化され、
前記グローバルデータベースから、ローカル認証情報テーブルを取得し、
ここで、前記ローカル認証情報テーブルは、ハッシュ化された認証情報をユーザと関連付け、かつ、ユーザと関連付けられた非ハッシュ化認証情報で暗号化された前記ローカルアクセスルール鍵を前記ユーザのために記憶し、前記非ハッシュ化認証情報は、前記コントローラデバイスに記憶されず、
読取デバイスから認証情報値を受信し、
前記取得されたローカル認証情報テーブルにユーザと関連付けられた認証情報エントリが存在するときに、前記取得されたローカル認証情報テーブルに基づいて、前記受信された認証情報値と関連付けられた前記ユーザを特定し、
前記取得されたローカルアクセスルールテーブルに前記ユーザについてのアクセスルールエントリが存在するときに、前記取得されたローカルアクセスルールテーブルに基づいて、前記ユーザと関連付けられた１もしくは複数のアクセスルールを実行する
ように構成されたロジック、
を含むコントローラデバイス。
【請求項１１】
前記ロジックは、
前記受信された認証情報値をハッシュ化し、
前記ローカル認証情報テーブルに前記ハッシュ化された認証情報値についての前記認証情報エントリが存在するかどうか判定し、
前記ローカル認証情報テーブルに前記ハッシュ化された認証情報値についての前記認証情報エントリが存在するときに、前記ローカル認証情報テーブルで前記受信された認証情報値と関連付けられた前記ユーザを特定する
ようにさらに構成されている、請求項１０に記載のコントローラデバイス。
【請求項１２】
前記ロジックは、
前記受信された認証情報値を用いて、前記認証情報エントリと関連付けられた前記ローカルアクセスルール鍵を解読し、
前記解読されたローカルアクセスルール鍵を用いて前記ローカルアクセスルールテーブルを解読し、
前記ユーザについて前記解読されたローカルアクセスルールテーブルに前記アクセスルールエントリが存在するかどうか判定する
ようにさらに構成されている、請求項１０または請求項１１に記載のコントローラデバイス。
【請求項１３】
前記ロジックは、
前記グローバルデータベースを保存し、
複数の他のコントローラデバイスが前記グローバルデータベースにアクセスすることを可能にする
ようにさらに構成されている、請求項１０〜１２のいずれか一項に記載のコントローラデバイス。
【請求項１４】
前記ロジックは、
別のコントローラデバイスのために前記グローバルデータベースから遠隔のローカルアクセスルールテーブルを取得し、
前記別のコントローラデバイスのために前記グローバルデータベースから遠隔のローカル認証情報テーブルを取得し、
前記別のコントローラデバイスに前記遠隔のローカルアクセスルールテーブルおよび前記遠隔のローカル認証情報テーブルを提供する
ようにさらに構成されている、請求項１０〜１３のいずれか一項に記載のコントローラデバイス。
【請求項１５】
前記複数のコントローラデバイスは分散型の物理アクセス制御システムに該当し、
前記コントローラデバイスは物理的アクセス制御ユニットに該当する、請求項１０〜１４のいずれか一項に記載のコントローラデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は一般にアクセス制御システムに関し、より具体的には、アクセス制御システムにおける匿名のアクセス制御決定に関する。
【背景技術】
【０００２】
施設への物理的アクセスを制御するのにアクセス制御システムが使用される場合がある。アクセス制御システム（ならびに他の種類の制御システム）は、各々システムの異なる部分を制御する多数のコントローラを備えることができる。各コントローラは、構成情報、周辺デバイスの設定などといったデバイス固有の情報を記憶することができる。
【発明の概要】
【０００３】
一態様によれば、コントローラデバイスによって実行される方法は、コントローラデバイスにより、複数のコントローラデバイスについてのアクセス制御情報を含むグローバルデータベースへのアクセス権を取得するステップと、コントローラデバイスにより、グローバルデータベースからローカルアクセスルールテーブルを取得するステップと、ここで、上記ローカルアクセスルールテーブルは、ユーザをアクセスルールと関連付け、上記ローカルアクセスルールテーブルは、ローカルアクセスルール鍵で暗号化されており、上記コントローラデバイスにより、グローバルデータベースからローカル認証情報テーブルを取得するステップとを含み、上記ローカル認証情報テーブルは、ハッシュ化された認証情報をユーザと関連付け、上記ローカル認証情報テーブルは、ユーザと関連付けられた非ハッシュ化認証情報で暗号化されたローカルアクセスルール鍵をユーザのために記憶し、上記非ハッシュ化認証情報は、上記コントローラデバイスに記憶されなくてもよい。
【０００４】
加えて、上記方法は、読取デバイスから認証情報値を受信するステップと、受信された認証情報値をハッシュ化するステップと、ローカル認証情報テーブルにハッシュ化された認証情報値についての認証情報エントリが存在するかどうか判定するステップと、ローカル認証情報テーブルにハッシュ化された認証情報値についての認証情報エントリが存在するときに、ローカル認証情報テーブルでハッシュ化された認証情報値と関連付けられたユーザを特定するステップとを含んでもよい。
【０００５】
加えて、上記方法は、受信された認証情報値を用いて、認証情報エントリと関連付けられたローカルアクセスルール鍵を解読するステップと、解読されたローカルアクセスルール鍵を用いてローカルアクセスルールテーブルを解読するステップと、ユーザについて解読されたローカルアクセスルールテーブルにアクセスルールエントリが存在するかどうか判定するステップと、ユーザについて解読されたローカルアクセスルールテーブルにアクセスルールエントリが存在するときに、アクセスルールエントリに基づいてユーザと関連付けられた１もしくは複数のアクセスルールを実行するステップとを含んでもよい。
【０００６】
加えて、コントローラデバイスは複数のコントローラデバイスを含む分散システムに属してもよく、グローバルデータベースは、分散システム内の分散データセットに該当してもよい。
【０００７】
加えて、上記方法は、管理デバイスからグローバルデータベースへの更新を受信するステップと、更新を複数のデバイスのうちの他のデバイスに配布するステップと、受信された更新を用いてグローバルデータベースを更新するステップとを含み、上記グローバルデータベースは複数のデバイスのうちの他のデバイスにおいて更新されてもよい。
【０００８】
加えて、上記方法は、グローバルデータベースを記憶するステップと、複数のコントローラデバイスがグローバルデータベースにアクセスすることを可能にするステップとを含んでもよい。
【０００９】
加えて、コントローラデバイスは、複数のコントローラデバイスを含む分散システムに属してもよく、グローバルデータベースは、複数のコントローラデバイスのうちの別のコントローラデバイスに記憶されてもよく、グローバルデータベースへのアクセス権を取得するステップは、別のコントローラデバイスにおけるグローバルデータベースにアクセスするステップを含んでもよい。
【００１０】
加えて、上記方法は、グローバルデータベースについての更新を取得するステップと、更新がローカルアクセスルールテーブルまたはローカル認証情報テーブルの少なくとも一方に関連したものであると判定するステップと、更新がローカルデータベースに関連したものであると判定したことに基づいて、更新されたグローバルデータベースを用いて、ローカルアクセスルールテーブルまたはローカル認証情報テーブルの少なくとも一方を更新するステップとを含んでもよい。
【００１１】
加えて、ローカル認証情報テーブルはローカル認証情報鍵を用いて暗号化されてもよく、上記方法は、ローカル認証情報鍵を用いてローカル認証情報テーブルを解読するステップと、ローカル認証情報テーブルでハッシュ化された認証情報値を更新するステップと、解読されたグローバルデータベースから暗号化されていないローカルアクセスルール鍵を取得するステップと、ローカルアクセスルール鍵を非ハッシュ化認証情報値で暗号化するステップと、をさらに含み、上記暗号化されたローカルアクセスルール鍵はハッシュ化された認証情報値と関連付けられてもよい。
【００１２】
加えて、上記方法は、解読されたグローバルデータベースから暗号化されていないローカルアクセスルール鍵を取得するステップと、取得した暗号化されていないローカルアクセスルール鍵を用いてローカルアクセスルールテーブルを解読するステップと、ローカルアクセスルールテーブルを更新するステップと、更新されたローカルアクセスルールテーブルを暗号化するステップとを含んでもよい。
【００１３】
加えて、ローカルアクセスルールテーブルは、特定のアクセス位置を、特定のユーザグループおよび特定のアクセスルールセットと関連付けてもよい。
【００１４】
加えて、上記方法は、複数のコントローラデバイスのうちの別のコントローラデバイスのためにグローバルデータベースから遠隔のローカルアクセスルールテーブルを取得するステップと、別のコントローラデバイスのためにグローバルデータベースから遠隔のローカル認証情報テーブルを取得するステップと、別のコントローラデバイスが、遠隔のローカルアクセスルールテーブルおよび遠隔のローカル認証情報テーブルにアクセスすることを可能にするステップとを含んでもよい。
【００１５】
加えて、ユーザはグローバルデータベースでグローバルデータベース行番号と関連付けられてもよく、ユーザは、ローカルアクセスルールテーブルでグローバルデータベース行番号と関連付けられてもよく、ユーザは、ローカル認証情報テーブルでグローバルデータベース行番号と関連付けられてもよい。
【００１６】
加えて、コントローラデバイスは、組み込みシステムに該当してもよい。
【００１７】
加えて、複数のコントローラデバイスは分散型の物理アクセス制御システムに該当してもよく、コントローラデバイスは、物理的アクセス制御ユニットに該当してもよい。
【００１８】
別の態様によれば、コントローラデバイスは、複数のコントローラデバイスについてのアクセス制御情報を含むグローバルデータベースへのアクセス権を取得し、グローバルデータベースからローカルアクセスルールテーブルを取得し、ここで、上記ローカルアクセスルールテーブルは、ユーザをアクセスルールと関連付け、上記ローカルアクセスルールテーブルは、ローカルアクセスルール鍵で暗号化されており、グローバルデータベースからローカル認証情報テーブルを取得するように構成されたロジックを含み、上記ローカル認証情報テーブルは、ハッシュ化された認証情報をユーザと関連付け、上記ローカル認証情報テーブルは、ユーザと関連付けられた非ハッシュ化認証情報で暗号化されたローカルアクセスルール鍵をユーザのために記憶し、上記非ハッシュ化認証情報は、コントローラデバイスに記憶されなくてもよい。
【００１９】
加えて、ロジックは、読取デバイスから認証情報値を受信し、受信された認証情報値をハッシュ化し、ローカル認証情報テーブルにハッシュ化された認証情報値についての認証情報エントリが存在するかどうか判定し、ローカル認証情報テーブルにハッシュ化された認証情報値についての認証情報エントリが存在するときに、ローカル認証情報テーブルでハッシュ化された認証情報値と関連付けられたユーザを特定するようにさらに構成されてもよい。
【００２０】
加えて、認証情報値は、一連のキーパッド文字列、キーカードから取得された値、虹彩スキャンから取得された特徴ベクトル、音声サンプルから取得された特徴ベクトル、指紋スキャンから取得された特徴ベクトルのうちの１もしくは複数を含んでもよい。
【００２１】
加えて、ロジックは、受信された認証情報値を用いて、認証情報エントリと関連付けられたローカルアクセスルール鍵を解読し、解読されたローカルアクセスルール鍵を用いてローカルアクセスルールテーブルを解読し、ユーザについて解読されたローカルアクセスルールテーブルにアクセスルールエントリが存在するかどうか判定し、ユーザについて解読されたローカルアクセスルールテーブルにアクセスルールエントリが存在するときに、アクセスルールエントリに基づいてユーザと関連付けられた１もしくは複数のアクセスルールを実行するようにさらに構成されてもよい。
【００２２】
加えて、コントローラデバイスは、複数のコントローラデバイスを含む分散システムに属してもよく、グローバルデータベースは、分散システム内の分散データセットに該当してもよい。
【００２３】
加えて、ロジックは、管理デバイスからグローバルデータベースへの更新を受信し、更新を複数のデバイスのうちの他のデバイスに配布し、受信された更新を用いてグローバルデータベースを更新するようにさらに構成され、上記グローバルデータベースは複数のデバイスのうちの他のデバイスにおいて更新されてもよい。
【００２４】
加えて、ロジックは、グローバルデータベースを記憶し、複数の他のコントローラデバイスがグローバルデータベースにアクセスすることを可能にするようにさらに構成されてもよい。
【００２５】
加えて、コントローラデバイスは、複数のコントローラデバイスを含む分散システムに属してもよく、グローバルデータベースは、複数のコントローラデバイスのうちの別のコントローラデバイスに記憶されてもよく、ロジックは、別のコントローラデバイスのところのグローバルデータベースにアクセスするようにさらに構成されてもよい。
【００２６】
加えて、ロジックは、別のコントローラデバイスのためにグローバルデータベースから遠隔のローカルアクセスルールテーブルを取得し、別のコントローラデバイスのためにグローバルデータベースから遠隔のローカル認証情報テーブルを取得し、別のコントローラデバイスに遠隔のローカルアクセスルールテーブルおよび遠隔のローカル認証情報テーブルを提供するようにさらに構成されてもよい。
【００２７】
加えて、複数のコントローラデバイスは分散型の物理アクセス制御システムに該当してもよく、コントローラデバイスは、物理的アクセス制御ユニットに該当してもよい。
【００２８】
さらに別の態様によれば、分散システムは、複数の物理的アクセスコントローラデバイスを含み、上記複数の物理的アクセスコントローラデバイスの個々のコントローラデバイスは、複数のコントローラデバイスについてのアクセス制御情報を含むグローバルデータベースへのアクセス権を取得し、グローバルデータベースからローカルアクセスルールテーブルを取得し、ここで、上記ローカルアクセスルールテーブルは、ユーザをアクセスルールと関連付け、上記ローカルアクセスルールテーブルは、ローカルアクセスルール鍵で暗号化され、グローバルデータベースからローカル認証情報テーブルを取得するように構成され、上記ローカル認証情報テーブルは、ハッシュ化された認証情報をユーザと関連付け、上記ローカル認証情報テーブルは、ユーザと関連付けられた非ハッシュ化認証情報で暗号化されたローカルアクセスルール鍵をユーザのために記憶し、上記非ハッシュ化認証情報は、上記複数の物理的アクセスコントローラデバイスの個々のコントローラデバイスに記憶されなくてもよい。
【図面の簡単な説明】
【００２９】
【図１】本明細書に記載する実施形態による例示的な環境を示すブロック図である。
【図２】図１のシステムユニットの例示的な構成要素を示すブロック図である。
【図３Ａ】図１のシステムユニットの例示的な機能構成要素を示すブロック図である。
【図３Ｂ】図１のシステムユニットの例示的な機能構成要素を示すブロック図である。
【図４Ａ】図３Ｂのデータベースに記憶されうる例示的な情報の図である。
【図４Ｂ】図３Ｂのデータベースに記憶されうる例示的な情報の図である。
【図４Ｃ】図３Ｂのデータベースに記憶されうる例示的な情報の図である。
【図５】１もしくは複数の実施形態によるグローバルデータベースからローカルデータベースを取得するためのフローチャートである。
【図６】１もしくは複数の実施形態によるグローバルデータベースを更新するためのフローチャートである。
【図７】１もしくは複数の実施形態によるローカルアクセスルールテーブルを更新するためのフローチャートである。
【図８】１もしくは複数の実施形態によるローカル認証情報テーブルを更新するためのフローチャートである。
【図９】本明細書に記載する１もしくは複数の実施態様によるローカル認証情報テーブルおよびローカルアクセスルールテーブルを使用するためのフローチャートである。
【図１０】図１のシステムユニットの例示的な物理的レイアウトを示す平面図である。
【図１１】図１のシステムユニットの例示的な物理的レイアウトを示す平面図である。
【図１２Ａ】１もしくは複数の実施形態によるグローバルデータベースの例示的な実施態様を示す図である。
【図１２Ｂ】１もしくは複数の実施形態によるグローバルデータベースの例示的な実施態様を示す図である。
【図１２Ｃ】１もしくは複数の実施形態によるグローバルデータベースの例示的な実施態様を示す図である。
【図１２Ｄ】１もしくは複数の実施形態によるグローバルデータベースの例示的な実施態様を示す図である。
【図１３Ａ】１もしくは複数の実施形態による例示的なデータベース使用シナリオの図である。
【図１３Ｂ】１もしくは複数の実施形態による例示的データベース使用シナリオの図である。
【図１３Ｃ】１もしくは複数の実施形態による例示的データベース使用シナリオの図である。
【発明を実施するための形態】
【００３０】
以下の詳細な説明では添付の図面を参照する。異なる図面の同じ参照番号は同じ要素または類似の要素を識別する。
【００３１】
以下で説明する実施形態は制御システムにおける匿名のデータベースに関するものである。制御システムのためにグローバルデータベースが維持され得る。グローバルデータベースは、ユーザの識別情報といったユーザ情報を含んでもよい。ユーザ情報はさらにユーザの認証情報値を含んでもよい。認証情報値は、制御システムの特定のコントローラデバイスと接続しているユーザを認証するのに使用することができる。例えば、認証情報値はユーザのアクセスカードに記憶されてもよく、読取デバイスがアクセスカードをスキャンして、ユーザへアクセス権を付与すべきかどうか判定することができる。グローバルデータベースは、時刻、アクセス領域などといったパラメータに基づく、どのユーザにアクセス権が付与されるべきかといった、アクセス制御情報をさらに含んでもよい。
【００３２】
グローバルデータベースは、制御システム内の特定のデバイスについての匿名のローカルアクセスルールテーブル、および／または特定のデバイスについての匿名のローカル認証情報テーブルを取得するのに使用することができる。ローカルアクセスルールテーブルは、ユーザまたはユーザグループを、特定のデバイスに関連したアクセスルールと関連付けることができる。ローカルアクセスルールテーブルはローカルアクセスルール鍵で暗号化されてもよい。本明細書で使用する「鍵」という用語は暗号化／解読鍵をいう。ローカル認証情報テーブルは、ハッシュ化された認証情報値をユーザと関連付けることができ、ユーザごとのローカルアクセスルール鍵の暗号化バージョンを記憶することができる。ここで、ローカルアクセスルール鍵はユーザの非ハッシュ化認証情報値で暗号化される。非ハッシュ化認証情報値は特定のデバイスによって記憶されなくてもよく、ユーザがアクセスを要求するときに読取デバイス（アクセス・カード・リーダなど）によって取得されてもよい。「匿名の」とは、ユーザについての情報（例えばユーザの名前、従業員番号など）の特定を除外することを意味しうる。さらに、「データベース」という用語と「テーブル」という用語とは区別なく使用される。よって、ローカルアクセスルールテーブルおよびローカル認証情報テーブルはいかなる個人ユーザ情報も含んでいなくてもよく、したがって、アクセスデバイスのセキュリティが損なわれた場合には、アクセスデバイス内のローカルテーブルから個人ユーザ情報は取得され得ない。
【００３３】
ある実施態様では、制御システムは分散制御システムを含んでもよい。分散制御システムは、分散型の物理アクセス制御システムを含んでもよい。物理アクセス制御システムは、各アクセス制御ユニットが施設の領域への物理的アクセスを制御する１もしくは複数のアクセス制御ユニットを含んでもよい。例えば、アクセス制御ユニットは、ユーザから認証情報を取得することができ、ユーザの認証情報が認証された場合にドアの錠を開錠することができる。他の実施態様では、分散制御システムは、分散建物管理システム、分散監視システム、分散セキュリティシステム、および／または別の種類の分散制御システムを含んでもよい。
【００３４】
ある実施態様では、グローバルデータベースは分散データセットに該当してもよく、システム内の各制御ユニットは、分散グローバルデータベースのローカルコピーを記憶することができ、各制御ユニットは、分散グローバルデータベースのローカルコピーからローカルアクセスルールテーブルおよび／またはローカル認証情報テーブルを取得することができる。他の実施態様では、いくつかの制御ユニットが分散グローバルデータベースのコピーを含まなくてもよい。例えば、高リスク領域にある制御ユニットは、分散グローバルデータベースのコピーを含まなくてもよい。その代わりに、別の制御ユニットが高リスク制御ユニットのためにローカルアクセスルールテーブルおよび／またはローカル認証情報テーブルを取得することができ、当該ローカルアクセスルールテーブルおよび／または当該ローカル認証情報テーブルを高リスク制御ユニットに提供することができる。他の実施態様では、１つの制御ユニットがグローバルデータベースを含むように指定されてもよく、他の制御ユニットは、当該グローバルデータベースにアクセスしてそれぞれのローカルアクセスルールテーブルおよび／またはローカル認証情報テーブルを取得することができる。他の実施態様では、グローバルデータベースは、制御システムの外部、例えば、管理デバイスに記憶され得る。
【００３５】
他の実施態様では、制御システムは、分散システムに該当しなくてもよい。例えば、制御システムは、グローバルデータベースへのアクセス権を有する、ネットワークで接続されたコントローラデバイスのグループを含んでもよい。そして、グローバルデータベースは、ネットワークで接続されたコントローラデバイスのうちの１つもしくは複数によって記憶されていてもよく、管理デバイスといった別のデバイスによって記憶されていてもよい。
【００３６】
図１は、以下に記載するシステムおよび／または方法が実装されうる例示的な環境１００のブロック図である。図１に示すように、環境１００は、分散制御システム１１０（分散型の物理アクセス制御システムなど）、ネットワーク１２０、および管理デバイス１３０を含む。
【００３７】
分散制御システム（ＤＣＳ：ｄｉｓｔｒｉｂｕｔｅｄ  ｃｏｎｔｒｏｌ  ｓｙｓｔｅｍ）１１０は、システムユニット１１５‐Ａ〜１１５‐Ｎ（まとめて「システムユニット１１５」と呼ぶ。また、個別に「システムユニット１１５」と呼ぶ）を含む分散コンピューティングシステムを含んでもよい。システムユニット１１５は、組み込みシステムとして実装することができる。ある実施態様では、システムユニット１１５は、物理的アクセスコントローラデバイスを含んでもよい。例えば、システムユニット１１５は、部屋や部屋群といったセキュアな領域へのアクセスを制御するアクセスコントローラを含んでもよい。システムユニット１１５は、読取デバイスを介して認証情報（アクセスカード認証情報など）を受信して、認証情報が本物であること、および認証情報がセキュアな領域にアクセスする権限と関連付けられているかどうか判定することができる。認証情報が正当である場合、アクセスコントローラは、ドアの錠を開くコマンドを発行し、またはセキュアな領域へのアクセスを許可することと関連付けられた他の動作を実行してもよい。他の実施態様では、システムユニット１１５は、監視デバイス、機械の動作を制御するデバイスなどといった、別の種類のセキュリティデバイスを含んでもよい。他の実施態様では、システムユニット１１５は、別の種類の組み込みシステムを含んでもよい。
【００３８】
ＤＳＣ１１０は、１もしくは複数の分散データセットを含んでもよい。分散データセットは複数のデバイスと関連付けられたデータセットを含み、一実施形態では、複数のデバイスは相互に通信し、協調し合ってデータセットに変更を加えることができる。一実施形態では、分散データセットのローカルコピーが、分散データセットと関連付けられた各デバイスによって維持される。そして、変更がそれら各デバイスによって同意された場合、変更は分散データセットの各ローカルコピーへ複製される。別の実施形態では、例えば、一部のデバイスだけが分散データセットのローカルコピーを記憶する。
【００３９】
一部の実施形態では、分散データセット（合意ベース（ｃｏｎｓｅｎｓｕｓ−ｂａｓｅｄ）の分散データベースなど）において変更を加えるために、合意を達成する。他の実施形態では、合意なしで分散データセットに変更を加えることができる。分散データセットは、すべてのシステムユニット１１５と関連付けられていてもよく、システムユニット１１５の一部と関連付けられていてもよい。システムユニット１１５は、合意ベースの分散データセットに変更を提案することができる。分散データセットと関連付けられた定足数のシステムユニット１１５によって変更が受け入れられる場合、合意を達成することができ、変更は、関連付けられた各システムユニット１１５内の分散データセットの各ローカルコピーに伝搬されてもよい。よって、分散データセットの変更に関する合意は、定足数の関連付けられたシステムユニット１１５が変更に賛成した場合に達成することができる。定足数は関連付けられたシステムユニット１１５の最小多数に対応してもよい。よって、分散データセットがＮ個のシステムユニット１１５と関連付けられている場合、定足数は、Ｎが偶数の場合はＮ／２＋１個の関連付けられたシステムユニット１１５が変更に賛成した場合に、またはＮが奇数の場合は（Ｎ−１）／２＋１個の関連付けられたシステムユニット１１５が変更に賛成した場合に達成することができる。定足数を達成するのに最小多数を必要とすることによって、２つの競合する提案を考慮するときに、少なくとも１つのシステムユニット１１５が両方の提案を受け取り、合意のために提案のうちの１つを選択することが保証されうる。
【００４０】
合意ベースの分散データセットは、分散データセットと関連付けられた任意のシステムユニット１１５が、分散データセットによって管理される情報（一実施形態におけるすべての情報など）を含むことを保証することができる。例えば、分散データセットはアクセスルールを含んでもよく、アクセスルールは、分散データセットと関連付けられた任意のシステムユニット１１５から利用できてもよい。よって、１もしくは複数の分散データセットの結果として、一実施形態では、ＤＣＳ１１０は、サーバデバイスといった中央制御デバイスのない非集中システムに対応しうる。他の実施形態では、ＤＣＳ１１０は、非集中システムと、（サーバデバイスといった）中央制御デバイスとの両方を含んでもよい。ＤＣＳ１１０への変更は任意のシステムユニット１１５において構成することができ、変更が分散データセットと関連付けられる場合には、変更を分散データセットと関連付けられた他のシステムユニット１１５へ伝搬することができる。さらに、ＤＣＳ１１０は、デバイス障害に関して、シングルポイントの障害が回避され得るようなロバスト性を呈し得る。例えば、特定のシステムユニット１１５に障害が発生した場合、その他のシステムユニット１１５は、データ損失なしで（または最小限のデータ損失で）引き続き動作することができる。さらに、ＤＳＣ１１０は動的に変更され得る。例えば、アプリケーションを随時追加することもでき、新しいデータベースを必要に応じてシステムユニット１１５に記憶することもできる。
【００４１】
また、ＤＣＳ１１０は分散されていないデータセットを含んでもよい。一例として、第１のシステムユニット１１５が、他のどのシステムユニット１１５にも含まれないローカルデータセットを含んでいてもよい。別の例として、第１のシステムユニット１１５が、ミラーリングなどの非分散方式で第２のシステムユニット１１５に複製されるローカルデータセットを含んでいてもよい。別の例として、第１のシステムユニット１１５がローカルデータセットの第１のバージョンを含み、第２のシステムユニット１１５がローカルデータセットの第２のバージョンを含んでいてもよい。この場合、第１のシステムユニット１１５はローカルデータセットの第１のバージョンを維持し、第２のシステムユニット１１５はローカルデータセットの第２のバージョンを維持する。別の例では、第１のシステムユニット１１５は分散データセットから第１のローカルデータセットを取得することができ、第２のシステムユニット１１５は分散データセットから第２のローカルデータセットを取得することができる。ここで、第１のローカルデータセットは第２のローカルデータセットと異なる。
【００４２】
ネットワーク１２０は、システムユニット１１５が相互に通信することを可能にし、かつ／または管理デバイス１３０が個々のシステムユニット１１５と通信することを可能にし得る。ネットワーク１２０は、１もしくは複数の回線交換網および／またはパケット交換網を含んでもよい。例えば、ネットワーク１２０は、ローカル・エリア・ネットワーク（ＬＡＮ：ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）、広域ネットワーク（ＷＡＮ：ｗｉｄｅ  ａｒｅａ  ｎｅｔｗｏｒｋ）、メトロポリタン・エリア・ネットワーク（ＭＡＮ：ｍｅｔｒｏｐｏｌｉｔａｎ  ａｒｅａ  ｎｅｔｗｏｒｋ）、公衆交換電話網（ＰＳＴＮ：Ｐｕｂｌｉｃ  Ｓｗｉｔｃｈｅｄ  Ｔｅｌｅｐｈｏｎｅ  Ｎｅｔｗｏｒｋ）、アドホックネットワーク、イントラネット、インターネット、光ファイバベースのネットワーク、無線ネットワーク、および／または上記または他の種類のネットワークの組み合わせを含んでもよい。
【００４３】
管理デバイス１３０は、管理者が、ＤＣＳ１１０を構成し、ＤＣＳ１１０の構成を変更し、ＤＣＳ１１０から情報を受信し、かつ／またはそれ以外にＤＣＳ１１０を管理するために、特定のシステムユニット１１５に接続することを可能にし得る。管理デバイス１３０は、システムユニット１１５と通信するように構成された任意のデバイスを含んでもよい。例えば、管理デバイス１３０は、携帯用通信デバイス（携帯電話、スマートフォン、ファブレットデバイス、全地球測位システム（ＧＰＳ：ｇｌｏｂａｌ  ｐｏｓｉｔｉｏｎｉｎｇ  ｓｙｓｔｅｍ）デバイス、および／もしくは別の種類の無線デバイスなど）、パーソナルコンピュータもしくはワークステーション、サーバデバイス、ラップトップ、タブレット、もしくは別の種類の携帯用コンピュータ、ならびに／または通信機能を備える任意の種類のデバイスを含んでもよい。
【００４４】
図１には環境１００の例示的な構成要素が示されているが、他の実装では、環境１００は、図１に示すものと比べてより少数の構成要素、異なった構成要素、異なった配置の構成要素、または追加的な構成要素を含んでもよい。加えて、または代替として、環境１００内の任意の１つのデバイス（または任意のデバイス群）が、環境１００内の１もしくは複数の他のデバイスによって実行されると記載した機能を実行してもよい。例えば、ある実施態様では、システムユニット１１５が入力デバイスおよび／または出力デバイス（例えば、キーボード／キーパッド、ディスプレイ、タッチスクリーンなど）を含んでもよく、また管理デバイス１３０を必要としなくてもよい。
【００４５】
図２は、システムユニット１１５の例示的な構成要素を示すブロック図である。図２に示すように、システムユニット１１５は、コントローラ２１０、および１もしくは複数の周辺デバイス２３０を含んでもよい。コントローラ２１０は、システムユニット１１５の動作を制御すること、他のシステムユニット１１５と通信すること、管理デバイス１３０と通信すること、かつ／または周辺デバイス２３０を制御することができる。コントローラ２１０は、バス２１２、プロセッサ２１４、メモリ２１６、ネットワークインターフェース２１８、周辺インターフェース２２０、および筐体２２２を含んでもよい。
【００４６】
バス２１２は、コントローラ２１０の構成要素間の通信を可能にする経路を含んでもよい。プロセッサ２１４は、命令を解釈し、実行する任意の種類のシングルコアプロセッサ、マルチコアプロセッサ、マイクロプロセッサ、ラッチベースのプロセッサ、および／もしくは処理ロジック（またはプロセッサ、マイクロプロセッサ、および／もしくは処理ロジックのファミリ）を含んでもよい。他の実施形態では、プロセッサ２１４は、ＡＳＩＣ、ＦＰＧＡ、および／または別の種類の集積回路もしくは処理ロジックを含んでもよい。
【００４７】
メモリ２１６は、プロセッサ２１４が実行するための情報および／もしくは命令を記憶することができる任意の種類の動的記憶デバイス、ならびに／またはプロセッサ２１４が使用するための情報を記憶することができる任意の種類の不揮発性記憶デバイスを含んでもよい。例えば、メモリ２１６は、ランダム・アクセス・メモリ（ＲＡＭ：ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）もしくは別の種類の動的記憶デバイス、読取専用メモリ（ＲＯＭ：ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）デバイスもしくは別の種類の静的記憶デバイス、連想メモリ（ＣＡＭ：ｃｏｎｔｅｎｔ  ａｄｄｒｅｓｓａｂｌｅ  ｍｅｍｏｒｙ）、磁気的記録メモリデバイスおよび／もしくは光学的記録メモリデバイスおよびこれらに対応するドライブ（例えばハードディスクドライブ、光ドライブなど）、ならびに／またはフラッシュメモリといった取り外し可能な形態のメモリを含んでもよい。
【００４８】
ネットワークインターフェース２１８は、コントローラ２１０が、有線通信リンク（例えば、導電性ワイヤ、ツイストペアケーブル、同軸ケーブル、伝送線、光ファイバケーブル、および／もしくは導波管など）、無線通信リンク（例えば、無線周波数、赤外線、および／もしくは可視光線など）、または無線通信リンクと有線通信リンクとの組み合わせを介して他のデバイスおよび／またはシステムと通信する（データの送信および／または受信を行う）送受信機（送信機および／または受信機など）を含んでもよい。ネットワークインターフェース２１８は、ベースバンド信号を無線周波数（ＲＦ：ｒａｄｉｏ  ｆｒｅｑｕｅｎｃｙ）信号に変換する送信機、および／またはＲＦ信号をベースバンド信号に変換する受信機を含んでもよい。ネットワークインターフェース２１８は、ＲＦ信号を送受信するためのアンテナに結合されてもよい。
【００４９】
ネットワークインターフェース２１８は、入力ポートおよび／もしくは出力ポート、入力システムおよび／もしくは出力システム、ならびに／または他のデバイスへのデータの伝送を円滑化する他の入力構成要素および出力構成要素を含む論理構成要素を含んでもよい。例えば、ネットワークインターフェース２１８は、有線通信のためのネットワーク・インターフェース・カード（イーサネット（登録商標）カードなど）および／または無線通信のための無線ネットワークインターフェース（例えばＷｉＦｉ）カードを含んでもよい。また、ネットワークインターフェース２１８は、ケーブル上の通信のためのユニバーサル・シリアル・バス（ＵＳＢ：ｕｎｉｖｅｒｓａｌ  ｓｅｒｉａｌ  ｂｕｓ）ポート、Ｂｌｕｅｔｏｏｔｈ（登録商標）無線インターフェース、ＲＦＩＤ（ｒａｄｉｏｆｒｅｑｕｅｎｃｙ  ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）インターフェース、近距離無線通信（ＮＦＣ：ｎｅａｒ‐ｆｉｅｌｄ  ｃｏｍｍｕｎｉｃａｔｉｏｎ）インターフェース、および／またはある形式から別の形式へデータを変換する任意の他の種類のインターフェースを含んでもよい。
【００５０】
周辺インターフェース２２０は、１もしくは複数の周辺デバイス２３０と通信するように構成されてもよい。例えば、周辺インターフェース２２０は、入力ポートおよび／または出力ポート、入力システムおよび／または出力システム、ならびに／または周辺デバイス２３０へのデータの伝送を円滑化する他の入力構成要素および出力構成要素を含む１もしくは複数の論理構成要素を含んでもよい。一例として、周辺インターフェース２２０は、ＳＰＩ（Ｓｅｒｉａｌ  Ｐｅｒｉｐｈｅｒａｌ  Ｉｎｔｅｒｆａｃｅ）バスプロトコル（例えばＷｉｅｇａｎｄプロトコル、ＲＳ‐４８５プロトコルおよび／または他の種類のプロトコル）を用いて周辺デバイス２３０と通信することができる。別の例として、周辺インターフェース２２０は、異なる種類のプロトコルを使用することもできる。一実施形態では、ネットワークインターフェース２１８は、周辺デバイス２３０をコントローラ２１０に結合するための周辺インターフェースとして機能することもできる。
【００５１】
筐体２２２は、コントローラ２１０の構成要素を囲ってもよく、コントローラ２１０の構成要素を環境から保護することができる。一実施形態では、筐体２２２は、周辺デバイス２３０のうちの１もしくは複数を含んでもよい。別の実施形態では、筐体２２２は、管理デバイス１３０を含んでもよい。筐体２２２は、複数のシステムユニット１１５および／または複数のコントローラ２１０を有するシステムにおいて１つのシステムユニット１１５および／またはコントローラ２１０と他のシステムユニット１１５および／またはコントローラ２１０との境界を定義することができる。
【００５２】
以下で説明するように、コントローラ２１０は、分散システム内のデータベースの管理に関連した特定の動作を実行することができる。コントローラ２１０はこれらの動作を、ＡＳＩＣの配線回路の結果として実行することができる。コントローラ２１０は同時に（または代替として）、これらの動作を、プロセッサ２１４がメモリ２１６といったコンピュータ可読媒体に含まれるソフトウェア命令を実行することに応答して行うこともできる。コンピュータ可読媒体は、非一時的メモリデバイスとして定義されてもよい。メモリデバイスは、単一の物理的なメモリデバイス内に実装されてもよいし、複数の物理的なメモリデバイスにまたがって分散されて実装されてもよい。ソフトウェア命令は、別のコンピュータ可読媒体から、または別のデバイスからメモリ２１６に読み込まれてもよい。メモリ２１６に含まれるソフトウェア命令は、プロセッサ２１４に、本明細書に記載するプロセスを実行させることができる。よって、本明細書に記載する実装形態は、ハードウェア回路とソフトウェアとのいかなる特定の組み合わせにも限定されない。
【００５３】
周辺デバイス２３０は、コントローラ２１０に情報を提供し、コントローラ２１０によって制御され、かつ／またはそれ以外にコントローラ２１０と通信する１もしくは複数のデバイスを含んでもよい。例えば、周辺デバイス２３０は、読取デバイス２４０、施錠デバイス２５０、センサ２６０、および／またはアクチュエータ２７０を含んでもよい。図２には例示のために単一の読取デバイス２４０、単一の施錠デバイス２５０、単一のセンサ２６０、および単一のアクチュエータ２７０が示されているが、実際には、周辺デバイス２３０は、複数の読取デバイス２４０、複数の施錠デバイス２５０、複数のセンサ２６０、および／または複数のアクチュエータ２７０を含んでもよい。ある実施態様では、周辺デバイス２３０は、図２に示すデバイスのうちの１もしくは複数を含まなくてもよい。加えて、または代替として、周辺デバイス２３０は、図２に示されていない任意の他の種類のセキュリティデバイスを含んでもよい。
【００５４】
読取デバイス２４０は、ユーザから認証情報を読み取り、当該認証情報をコントローラ２１０に提供するデバイスを含んでもよい。例えば、読取デバイス２４０は、ユーザから英数字の個人識別番号（ＰＩＮ：ｐｅｒｓｏｎａｌ  ｉｄｅｎｔｉｆｉｃａｔｉｏｎ  ｎｕｍｂｅｒ）を受け取るように構成されたキーパッド、磁気ストリップまたはＲＦＩＤタグといった別の種類の記憶デバイス上にカードコードを記憶するカードを構成するカードリーダ、ユーザの指紋を読み取るように構成された指紋リーダ、ユーザの虹彩を読み取るように構成された虹彩リーダ、ユーザの声紋を記録するように構成されたマイクロフォンおよび声紋識別装置、ＮＦＣリーダ、ならびに／または別の種類の読取デバイスを含んでもよい。読取デバイス２４０は、認証情報を提供することのできる任意の種類のセキュリティデバイスを含んでもよく、センサ２６０に関連して以下で説明する任意のセンサデバイスといった１もしくは複数のセンサを含んでもよい。例えば、読取デバイス２４０は、顔認識に使用されるカメラおよび／または音声認識に使用されるマイクロフォンを含んでもよい。
【００５５】
施錠デバイス２５０は、コントローラ２１０によって制御される錠を含んでもよい。施錠デバイス２５０は、ドア（例えば、ドアが開閉しないようにする）、窓、ＨＶＡＣ通気孔、および／またはセキュアな領域への別の種類のアクセス開口部に施錠することができる。例えば、施錠デバイス２５０は、電磁錠、コントローラ２１０によって制御されるモータを備える機械錠、電気機械錠、および／または別の種類の錠を含んでもよい。さらに、施錠デバイス２５０は、機械、輸送車両、エレベータ、および／または電気機器の動作をロック／ロック解除することもできる。
【００５６】
センサ２６０は、感知デバイスを含んでもよい。例として、センサ２６０は、ドアが開いているか閉じているか感知するドアセンサ、可視光監視カメラ、赤外（ＩＲ）光監視カメラ、熱シグネチャ監視カメラ、および／もしくは別の種類の監視デバイス、例えば動きセンサ、熱センサ、圧力センサ、および／もしくは別の種類の警報センサといった警報センサ、オーディオ記録デバイス（マイクロフォンなど）、システムユニット１１５内部に位置する位置センサといったタンパーセンサ、ならびに／またはシステムユニット１１５と関連付けられたセキュリティ保護された領域内に位置する「退出要求（ｒｅｑｕｅｓｔ‐ｔｏ‐ｅｘｉｔ）」ボタン、ならびに／または別の種類のセンサデバイスを含んでもよい。
【００５７】
アクチュエータ２７０はアクチュエータデバイスを含んでもよい。一例として、アクチュエータ２７０は、照明デバイスを制御することができる。他の例として、アクチュエータ２７０は、盗難予防警報器、メッセージを再生しまたは警報信号を発生させるスピーカ、表示デバイス、センサ２６０を動かす（例えば、カメラもしくは他の監視デバイスの視野を制御する）モータ、例えばドア、窓、ＨＶＡＣ通気孔、および／もしくはセキュアな領域と関連付けられた別の開口部を開閉するためのモータ、施錠デバイス２５０を施錠位置もしくは開錠位置で固定するモータ、消火デバイス、ならびに／または別の種類のアクチュエータデバイスを含んでもよい。
【００５８】
図２には、システムユニット１１５の例示的な構成要素が示されているが、他の実装では、システムユニット１１５は、図２に示すものと比べて、より少数の構成要素、異なった構成要素、追加的な構成要素、または異なった配置の構成要素を含んでもよい。加えて、または代替として、システムユニット１１５のいずれか１つの構成要素（または構成要素群）が、システムユニット１１５の１もしくは複数の他の構成要素によって実行されると記載した１もしくは複数のタスクを実行してもよい。加えて、または代替として、システムユニット１１５の任意の構成要素（または任意の構成要素群）が、システムユニット１１５の１もしくは複数の他の構成要素によって実行されると記載した１もしくは複数のタスクを実行してもよい。例えば、ある実施態様では、周辺インターフェース２２０はネットワークインターフェースに該当してもよい。別の例として、ある実施態様では、周辺デバイス２３０は、周辺インターフェース２２０を介してではなく、ネットワークインターフェース２１８を介してコントローラ２１０に接続されてもよい。
【００５９】
さらに、ＤＣＳ１１０は分散型の物理アクセス制御システムを含むが、他の実装は、物理的アクセスシステム以外のシステムを制御してもよい。一方で、ＤＣＳ１１０は、（例えば、動作環境内に）ドアを開閉するための制御システムおよび／または建物もしくは施設への物理的アクセスを制御するための制御システムといった任意の種類の物理的アクセス制御システムを含んでもよい。またＤＣＳ１１０は、ファンを制御する（例えば始動または停止する）システム、建物管理システムで警報を始動させるシステム（例えば、認証失敗、認証成功など）、または産業オートメーションシステムでロボットアームを制御するシステムを含んでもよい。
【００６０】
図３Ａおよび図３Ｂは、システムユニット１１５の例示的な機能構成要素を示すブロック図である。システムユニット１１５の機能構成要素は、例えば、１もしくは複数のＡＳＩＣの配線回路によって実装することができる。加えて、または代替として、システムユニット１１５の機能構成要素は、メモリ２１６からの命令を実行するプロセッサ２１４によって実装することもできる。図３Ａは、システムユニット１１５の機能層を示す図である。図３Ａに示すように、システムユニット１１５は、アプリケーションプログラミングインターフェース（ＡＰＩ：ａｐｐｌｉｃａｔｉｏｎ  ｐｒｏｇｒａｍｍｉｎｇ  ｉｎｔｅｒｆａｃｅ）層３１０、アプリケーション層３２０、配布層３４０、および記憶層３５０を含んでもよい。
【００６１】
ＡＰＩ層３１０は、例えば、管理デバイス１３０と通信するように構成されたＡＰＩを含む。一例として、管理者が管理デバイス１３０を使用してシステムユニット１１５にログインするときに、ＡＰＩ層３１０は、管理デバイス１３０と通信して管理者を認証することができる。別の例として、ＡＰＩ層３１０は、管理デバイス１３０と通信してシステムユニット１１５の構成を変更することもできる。ＡＰＩ層３１０は、管理デバイス１３０からデータを受信し、当該データを配布層３４０および／または記憶層３５０に提供することができる。またＡＰＩ層３１０は、管理デバイス１３０と通信してアプリケーション層３２０にアプリケーションをインストールすることもできる。ＡＰＩ層３１０は、様々な種類の管理者を取り扱うように構成されてもよい。例えば、ＡＰＩ層３１０は、ウェブサービス管理者、Ｌｉｎｕｘ管理者、オープン・ネットワーク・ビデオ・インターフェース・フォーラム（ＯＮＶＩＦ：Ｏｐｅｎ  Ｎｅｔｗｏｒｋ  Ｖｉｄｅｏ  Ｉｎｔｅｒｆａｃｅ  Ｆｏｒｕｍ）管理者を取り扱うＡＰＩ、および／または別の種類のＡＰＩを含んでもよい。
【００６２】
アプリケーション層３２０は、システムユニット１１５上にインストールされた１もしくは複数のアプリケーションを含む。図３Ｂに例示的なアプリケーションを示す。図３Ｂに示すように、アプリケーション層３２０は、アクセス制御ロジックアプリケーション３２２、ドア制御アプリケーション３２４、リーダ制御アプリケーション３２６、イベント処理アプリケーション３２８、スケジュール処理アプリケーション３３０、および／またはデータベースマネージャアプリケーション３３２を含んでもよい。
【００６３】
アクセス制御ロジックアプリケーション３２２は、受信された認証情報に基づいて、また記憶されたアクセスルールに基づいて、アクセス権を付与すべきかどうか判定することができる。ドア制御アプリケーション３２４は、１もしくは複数のドアおよび／または関連付けられた施錠デバイス２５０を制御することができる。例えば、ドア制御アプリケーション３２４は、ドアが開いているかそれとも閉じているか、かつ／または施錠されているかそれとも開錠されているか判定することができる。そして、ドア制御アプリケーション３２４は、１もしくは複数のデバイスを、ドアを開きもしくは閉じるように、かつ／またはドアを施錠しもしくは開錠するように動作させることができる。リーダ制御アプリケーション３２６は、１もしくは複数の読取デバイス２４０を制御することができ、１もしくは複数の読取デバイス２４０から受信された認証情報を取得し、処理することができる。イベント処理アプリケーション３２８は、システムユニット１１５によって記録され、もしくは生成されたイベント、および／または別のシステムユニット１１５によって記録されたイベントのログを維持することができる。イベント処理アプリケーション３２８は、すべての（または少なくとも一部の）システムユニット１１５において分散されたシステムイベントログを維持するために、ローカルで記録され、または生成されたイベントがＤＣＳ１１０内の他のシステムユニット１１５に分散されることを保証することができる。よって、ログに記録されたイベントは、システムイベントログと関連付けられた任意のシステムユニット１１５から取得され得る。スケジュール処理アプリケーション３３０は、システムユニット１１５と関連付けられた１もしくは複数のスケジュールを管理することができる。例えば、特定のユーザグループについてのアクセスルールが、特定の時刻に基づいて変化してもよい。
【００６４】
データベースマネージャアプリケーション３３２は、グローバルデータベース３５４からローカルアクセスルールデータベース３５６および／またはローカル認証情報テーブル３５８を取得することができる。ある実施態様では、システムユニット１１５はグローバルデータベース３５４を含まなくてもよい。例えば、データベースマネージャアプリケーション３３２は、別のシステムユニット１１５または管理デバイス１３０といった別のデバイスのところのグローバルデータベース３５４にアクセスすることができる。さらに他の実施態様では、ローカルアクセスルールデータベース３５６および／またはローカル認証情報テーブル３５８は、別のシステムユニット１１５のところのグローバルデータベース３５４から取得され、システムユニット１１５に提供され得る。
【００６５】
（図３Ｂには示されていないが）他のアプリケーションがアプリケーション層３２０に含まれてもよい。一例として、警報アプリケーションが報告および／または警報を生成し、当該報告および／または警報を管理デバイス１３０（および／または別の指定されたデバイス）および／または１もしくは複数の他のシステムユニット１１５へ送信してもよい。別の例として、タスク固有の制御アプリケーションが、ドア開放イベント、センサイベント、アクチュエータイベント、および／または他の種類のイベントといった、システムユニット１１５と関連付けられたイベントを処理してもよい。
【００６６】
配布層３４０は、システムユニット１１５と関連付けられた１もしくは複数の分散データセットを管理することができる。例えば、配布層３４０は、ネットワーク１２０上の、他のシステムユニット１１５とのセキュアな接続（トランスポート層セキュリティ（ＴＬＳ：Ｔｒａｎｓｐｏｒｔ  Ｌａｙｅｒ  Ｓｅｃｕｒｉｔｙ）接続など）を維持することができる。さらに、配布層３４０は、プロトコル（ＰＡＸＯＳプロトコルなど）を使用して、特定の合意ベースの分散データセットの変更に関する合意を確立することができる。一例として、配布層３４０は、分散データセットと関連付けられた他のシステムユニット１１５へ変更の提案を送信することができ、他のシステムユニット１１５から変更のための定足数を受信することができる。別の例として配布層３４０は、別のシステムユニット１１５から受信された提案に賛成投票することもできる。さらに別の例として、配布層３４０は、変更に賛成投票せずに、変更についての合意に達したという指示を受信することもできる。変更についての合意の指示が受信されると、配布層３４０は、分散データセットのローカルコピーの変更を行うことができる。
【００６７】
記憶層３５０は、システムユニット１１５と関連付けられた１もしくは複数のデータセットを記憶する。記憶層３５０に記憶されたデータセットは、ローカルデータセットに対応してもよく、分散データセットに対応してもよい。ローカルデータセットは、ローカルデータセットを記憶する特定のシステムユニット１１５と関連付けられた（かつ／または特定のシステムユニット１１５とだけ関連付けられた）情報を記憶することができる。分散データセットは、当該分散データセットと関連付けられた他のシステムユニット１１５と関連付けられた情報を記憶することができる。
【００６８】
記憶層３５０に含まれうる例示的な情報が図３Ｂに示されている。図３Ｂに示すように、記憶層３５０は、構成データベース３５２、グローバルデータベース３５４、ローカルアクセスルールデータベース３５６、およびローカル認証情報データベース３５８を含んでもよい。
【００６９】
構成データベース３５２は、コントローラ２１０のハードウェア構成、コントローラ２１０に接続された周辺デバイス２３０、アプリケーション層３２０にインストールされたアプリケーション、および／または他の種類の構成情報といった、特定のシステムユニット１１５と関連付けられた構成データを記憶することができる。構成データベース３５２は、システムユニット１１５と関連付けられたアクセスエンティティのリストを記憶することができる。
【００７０】
グローバルデータベース３５４は、ＤＣＳ１１０と関連付けられたグローバルデータベースを記憶することができる。グローバルデータベース３５４に記憶されうる例示的な情報については以下で図４Ａを参照して説明する。ローカルアクセスルールデータベース３５６は、システムユニット１１５と関連付けられたアクセスルールを記憶することができる。ローカルアクセスルールデータベース３５６に記憶されうる例示的な情報については以下で図４Ｂを参照して説明する。ローカル認証情報データベース３５８は、システムユニット１１５と関連付けられたローカル認証情報を記憶することができる。ローカル認証情報データベース３５８に記憶されうる例示的な情報については以下で図４Ｃを参照して説明する。
【００７１】
図３Ａおよび図３Ｂには、システムユニット１１５の例示的な機能構成要素が示されているが、他の実装では、システムユニット１１５は、図３Ａおよび図３Ｂに示すものと比べて、より少数の機能構成要素、異なった機能構成要素、異なった配置の機能構成要素、または追加的な機能構成要素を含んでもよい。加えて、システムユニット１１５の構成要素のうちのいずれか１つ（またはいずれかの構成要素群）が、システムユニット１１５の１もしくは複数の他の機能構成要素によって実行されると記載した機能を実行してもよい。
【００７２】
図４Ａは、グローバルデータベース３５４に記憶されうる例示的な情報の図である。図４Ａに示すように、グローバルデータベース３５４は、１もしくは複数のグローバルデータベースエントリ４１０、グループテーブル４２０、およびアクセスルールテーブル４３０を含んでもよい。各グローバルデータベースエントリ４１０は、特定のユーザについての情報を記憶することができる。グローバルデータベースエントリ４１０は、行番号フィールド４１２、ユーザＩＤフィールド４１４、認証情報タイプフィールド４１６、および認証情報値フィールド４１８を含んでもよい。
【００７３】
行番号フィールド４１２は、グローバルデータベース３５４内のユーザについての特定の行を含んでもよい。ある実施態様では、同一の行番号は、一人のユーザについて複数のデータベース／テーブルにおいて使用され得る。複数のデータベース／テーブルにまたがって一人のユーザについて同一の行番号を使用することは、情報の処理および取得を簡略化し得る。ユーザＩＤフィールド４１４は、ユーザの名前、従業員番号、連絡先情報、および／または他の種類のユーザ情報といった、ユーザと関連付けられた識別情報を記憶することができる。認証情報タイプフィールド４１６は、カード認証情報タイプ、個人識別番号（ＰＩＮ）タイプ、虹彩スキャンタイプ、指紋タイプ、声紋タイプ、および／または別の認証情報タイプといった、ユーザと関連付けられた特定の認証情報タイプを識別することができる。認証情報値４１８は、アクセスカード値、ＰＩＮ値、虹彩スキャンデータ、指紋データ、声紋データ、および／または別の種類の認証情報タイプのデータといった、認証情報タイプと関連付けられた認証情報値を記憶することができる。ユーザは、複数の認証情報タイプと関連付けられてもよい。ある実施態様では、各認証情報タイプは、グローバルデータベース３５４内の別々の行を割り当てられ得る。他の実施態様では、複数の認証情報タイプは、同じ行に記憶され得る。
【００７４】
グループテーブル４２０は、各グループに属する特定のユーザと共に特定のユーザグループを識別するテーブルを含んでもよい。例えば、グループテーブル４２０は、技術者のユーザグループ、事務職ユーザグループ、技能者のユーザグループなどを識別することができる。各グループは、特定のアクセスルールと関連付けられ得る。アクセスルールテーブル４３０は、ユーザグループのアクセスルールを記憶することができる。
【００７５】
図４Ａにはグローバルデータベース３５４に記憶されうる例示的なフィールドが示されているが、他の実施態様では、グローバルデータベース３５４は、図４Ａに示すものと比べて、より少ないフィールド、異なったフィールド、異なった配置のフィールド、または追加的なフィールドを含んでもよい。
【００７６】
図４Ｂは、ローカルアクセスルールデータベース３５６に記憶されうる例示的な情報の図である。図４Ｂに示すように、ローカルアクセスルールデータベース３５６は、１もしくは複数のアクセスルールエントリ４４０を含んでもよい。各アクセスルールエントリ４４０は、１もしくは複数のアクセスエンティティに関して１もしくは複数のユーザについてのアクセスルール情報を記憶することができる。アクセスルールエントリ４４０は、行番号フィールド４４２、アクセスエンティティフィールド４４４、およびアクセスルールフィールド４４６を含んでもよい。
【００７７】
行番号フィールド４４２は、特定のアクセスルールと関連付けられた、グローバルデータベース３５４内のユーザに対応する１もしくは複数の行番号を識別することができる。ある実施態様では、行番号フィールド４４２は、特定のユーザグループを識別することができる。他の実施態様では、行番号フィールド４４２は、グローバルデータベース３５４内のユーザに対応する他の種類の匿名の情報（グローバルデータベース３５４内のユーザに割り当てられた文字列など）を記憶することができる。よって、ユーザを識別する情報はローカルアクセスルールデータベース３５６に記憶されなくてもよく、そして、ローカルアクセスルールデータベース３５６は、匿名のデータベースに該当してもよい。アクセスエンティティフィールド４４４は、特定のアクセスルールと関連付けられた１もしくは複数のアクセスエンティティを識別することができる。アクセスエンティティは、特定の部屋といった特定の領域、例えばドア、窓、ＨＶＡＣ通気孔、および／もしくは別の種類の開口部といった特定のアクセス開口部、機械、輸送車両、エレベータ、および／もしくは電気機器、ならびに／または別の種類のアクセスエンティティに該当してもよい。ある実施態様では、アクセスエンティティフィールド４４４は、アクセスエンティティと関連付けられた特定の施錠デバイス２５０を識別することができる。
【００７８】
アクセスルールフィールド４４６は、アクセスエンティティおよびユーザグループと関連付けられた１もしくは複数のアクセスルールを記憶することができる。アクセスルールは、アクセス権を付与するのに必要とされる認証情報のタイプを指定すること、アクセス権が付与される間の特定の時間を指定すること、かつ／または、アクセス権を付与するために満たされる必要のある他の条件（システムユニット１１５と関連付けられた特定の状態など）を指定することができる。例として、アクセスルールは、火災警報イベント時にすべてのユーザに特定のアクセスエンティティへのアクセス権を付与することができる。別の例として、アクセスルールは、システムユニット１１５がセキュリティ違反を検知した場合に、すべてのユーザに対してアクセスを拒否することもできる。また別の例として、アクセスルールは、同じシステムユニット１１５または別のシステムユニット１１５と関連付けられた第２のドアが閉じている場合にのみ、第１のドアへのアクセス権を付与することもできる。
【００７９】
図４Ｂにはローカルアクセスルールデータベース３５６に記憶されうる例示的なフィールドが示されているが、他の実施態様では、ローカルアクセスルールデータベース３５６は、図４Ｂに示されているものと比べて、より少ないフィールド、異なったフィールド、異なった配置のフィールド、または追加的なフィールドを含んでもよい。
【００８０】
図４Ｃは、ローカル認証情報データベース３５８に記憶されうる例示的な情報の図である。図４Ｃに示すように、ローカル認証情報データベース３５８は、１もしくは複数の認証情報エントリ４５０を含んでもよい。各認証情報エントリ４５０は、特定のユーザと関連付けられた特定の認証情報についての情報を記憶することができる。よって、特定のユーザは、複数の認証情報エントリ４５０と関連付けられ得る。
【００８１】
行番号４５２は、特定のユーザと関連付けられた、グローバルデータベース３５４内の特定の行番号を識別することができる。よって、ユーザを識別する情報がローカル認証情報データベース３５８に記憶されなくてもよく、そして、ローカル認証情報データベース３５８は、匿名のデータベースに該当してもよい。ハッシュ化された認証情報値４５４は、特定のユーザと関連付けられた特定のハッシュ化された認証情報値を記憶することができる。よって、実際の認証情報値は、ローカル認証情報データベース３５８に記憶されなくてもよい。暗号化されたローカルアクセスルール鍵４５６は、ローカルアクセスルールテーブル３５６へのローカルアクセスルール鍵を記憶することができ、ローカルアクセスルール鍵は暗号化され得る。ローカルアクセスルール鍵は、非ハッシュ化認証情報値を持続性のメモリに記憶せずに、非ハッシュ化認証情報値で暗号化されなくてもよい。読取デバイス２４０がユーザから認証情報値を取得すると、当該認証情報値はハッシュ化され、そしてハッシュ化された認証情報値は、認証情報エントリ４５０を識別するために使用され得る。次いで、非ハッシュ化認証情報値は、暗号化されたローカルアクセスルール鍵を解読するために使用され得る。そして、解読されたローカルアクセスルール鍵は、ローカルアクセスルールテーブルを解読するために使用され得る。非ハッシュ化認証情報値はシステムユニット１１５によって記憶されないので、システムユニット１１５のセキュリティが損なわれた場合、非ハッシュ化認証情報値は、損なわれたシステムユニット１１５から取得され得ない。
【００８２】
図４Ｃには、ローカル認証情報データベース３５８に記憶されうる例示的なフィールドが示されているが、他の実施態様では、ローカル認証情報データベース３５８は、図４Ｃに示されているものと比べて、より少ないフィールド、異なったフィールド、異なった配置のフィールド、または追加的なフィールドを含んでもよい。
【００８３】
図５は、１もしくは複数の実施形態による、グローバルデータベースからローカルデータベースを取得するためのフローチャートである。ある実施態様では、図５のプロセスはコントローラ２１０によって実行されてもよい。他の実施態様では、図５のプロセスの一部または全部が、コントローラ２１０とは別個のデバイスまたはデバイスグループ、かつ／またはコントローラ２１０を含む別のデバイスまたはデバイスグループによって実行されてもよい。
【００８４】
図５のプロセスは、グローバルデータベースへのアクセス権を取得するステップ（ブロック５１０）を含む。ある実施態様では、システムユニット１１５は、グローバルデータベースの暗号化されたコピーを含んでもよい。グローバルデータベースへのアクセス権を取得するために、コントローラ２１０は、管理デバイス１３０からパスワードを取得する必要があり得る。取得したパスワードは、グローバルデータベースを解読するための鍵を取得するのに使用され得る。他の実施態様では、グローバルデータベースは別のシステムユニット１１５に記憶されてもよく、そして別のシステムユニット１１５はパスワードを取得し、グローバルデータベースを解読することができる。コントローラ２１０は、その後、別のシステムユニット１１５のところの解読されたグローバルデータベースにアクセスすることができる。さらに他の実施態様では、グローバルデータベースは、管理デバイス１３０（および／またはＤＣＳ１１０に含まれない別のデバイス）によって維持されてもよく、そしてコントローラ２１０は、管理デバイス１３０のところのグローバルデータベースにアクセスすることができる。ローカルアクセスルールテーブルは、グローバルデータベースから取得される（ブロック５２０）。例えば、データベースマネージャアプリケーション３３２は、構成データベース３５２にアクセスして、どのアクセスエンティティがシステムユニット１１５と関連付けられているか特定することができ、そして、アクセスルールテーブル４３０から、特定されたアクセスエンティティに関連したアクセスルールを取得することができる。データベースマネージャアプリケーション３３２は、アクセスルールテーブル４３０から取得された情報に基づいて、ローカルアクセスルールデータベース３５６を生成することができる。データベースマネージャアプリケーション３３２は、ローカルアクセスルール鍵を生成することができ、そして、生成されたローカルアクセスルール鍵でローカルアクセスルールデータベース３５６を暗号化することができる。
【００８５】
ローカル認証情報テーブルがグローバルデータベースから取得される（ブロック５３０）。例えば、データベースマネージャアプリケーション３３２は、生成されたローカルアクセスルールデータベース３５６にアクセスして、ローカルアクセスルールデータベース３５６に含まれるアクセスルールとどのユーザが関連付けられているか、および、アクセスルールに基づいたアクセスのためにユーザごとのどの認証情報タイプが必要であるかを判定することができる。データベースマネージャアプリケーション３３２は、ユーザごとに行を生成することができ、そして、グローバルデータベースから、ユーザごとの認証情報値、および、ユーザと関連付けられた認証情報タイプごとの認証情報値を取得することができる。認証情報値は、ローカルアクセスルール鍵を暗号化するのに使用され得、そして、暗号化されたローカルアクセスルール鍵は、ユーザと関連付けられた行に記憶され得る。さらに、認証情報値は、ＳＨＡ‐２５６ハッシュといった一方向ハッシュを用いてハッシュ化され得る。ここで、ＳＨＡ‐２５６ハッシュは任意の長さの入力について２５６ビットのハッシュ値を生成する。他の実施態様では、異なる種類のハッシュ化プロセスを使用することができる。
【００８６】
他の実施態様では、システムユニット１１５は、認証情報値を取得せず、そして、ローカル認証情報テーブルは、例えば、別のシステムユニット１１５によって、または管理デバイス１３０によって遠隔で生成される。一例として、ある実施態様では、第１のシステムユニット１１５はグローバルデータベース３５４を含んでもよく、そして、第２のシステムユニット１１５はグローバルデータベース３５４を含まなくてもよい。第１のシステムユニット１１５は、第１のシステムユニット１１５のための、第１のローカルアクセスルールテーブル３５６および第１のローカル認証情報テーブル３５８を取得することができる。第１のシステムユニット１１５は、さらに、第２のシステムユニット１１５のための、遠隔のローカルアクセスルールテーブル３５６および遠隔のローカル認証情報テーブル３５８を取得することができる。ある実施態様では、第１のシステムユニット１１５は、遠隔のローカルアクセスルールテーブル３５６および遠隔のローカル認証情報テーブル３５８を第２のシステムユニット１１５に提供することができる。別の実施態様では、第１のシステムユニット１１５は、遠隔のローカルアクセスルールテーブル３５６および遠隔のローカル認証情報テーブル３５８を維持することができ、そして、第２のシステムユニット１１５は、第１のシステムユニット１１５のところの、遠隔のローカルアクセスルールテーブル３５６および遠隔のローカル認証情報テーブル３５８へのアクセスを必要とし得る。
【００８７】
図６は、１もしくは複数の実施形態による、グローバルデータベースを更新するためのフローチャートである。図６では、グローバルデータベースは分散データセットとして構成されており、そして、グローバルデータベースの暗号化バージョンは、当該分散データセットと関連付けられたシステムユニット１１５において記憶されている。ある実施態様では、グローバルデータベースは、すべてのシステムユニット１１５に分散され得る。他の実施態様では、いくつかのシステムユニット１１５がグローバルデータベースの分散データセットと関連付けられなくてもよく、よって、当該システムユニット１１５は、グローバルデータベースのコピーを含まなくてもよい。ある実施態様では、図６のプロセスは、コントローラ２１０によって実行されてもよい。他の実施態様では、図６のプロセスの一部または全部が、コントローラ２１０とは別個のデバイスまたはデバイスグループ、かつ／またはコントローラ２１０を含む別のデバイスまたはデバイスグループによって実行されてもよい。
【００８８】
図６のプロセスは、管理デバイスからのログインを認証するステップ（ブロック６１０）を含む。例えば、管理者が、グローバルデータベース３５４が更新される必要があると判断する。例えば、管理者は、ユーザを追加すること、ユーザの認証情報を変更すること、特定のアクセスエンティティについてのアクセスルールを変更することなどを必要とし得る。管理者は、当該管理者によって供給されたパスワードを用いて特定のシステムユニット１１５にログインすることができる。グローバルデータベースへの更新が受信され（ブロック６２０）、分散システム内の他のデバイスへ配布される（ブロック６３０）。例えば、システムユニット１１５は、管理デバイス１３０からグローバルデータベース３５４についての更新を受信することができ、そして、配布層３４０は当該更新を、ＤＣＳ１１０内の他のシステムユニット１１５内のグローバルデータベース３５４のローカルコピーに配布することができる。
【００８９】
グローバルデータベースの関連部分が解読され（ブロック６４０）、そして、グローバルデータベースが更新される（ブロック６５０）。更新は、グローバルデータベース３５４のどの部分が解読される必要があるかを判定するのに使用され得る。例えば、特定の行番号４１２の更新は、当該特定の行番号４１２を含むグローバルデータベース３５４の一部が解読される必要があることだけを要求すればよい。同様に、グループテーブル４２０またはアクセスルールテーブル４３０への更新も、それぞれ、グループテーブル４２０またはアクセスルールテーブル４３０の解読だけを要求すればよい。グローバルデータベース３５４は、管理パスワードから取得されたグローバルデータベース鍵で暗号化され得る。そして、管理パスワードは管理デバイス１３０から受信され、グローバルデータベース鍵を取得するのに使用され得る。そして、グローバルデータベース鍵は、グローバルデータベース３５４の判定された関連部分を解読するのに使用され得る。解読後に、グローバルデータベース３５４は、受信された更新に基づいて更新され得る。同様に、更新は、更新が配布された他のシステムユニット１１５のところのグローバルデータベース３５４のローカルコピーに対しても行われ得る。
【００９０】
更新がローカルアクセスルールテーブルに関連したものであるかどうかの判定が行われる（ブロック６５５）。例えば、更新を受信した個々のシステムユニット１１５ごとのデータベースマネージャアプリケーション３３２は、更新が、当該特定のシステムユニット１１５と関連付けられたアクセスエンティティを含んでいたかどうか判定することができる。更新がローカルアクセスルールテーブルに関連したものである場合（ブロック６５５‐ＹＥＳ）、ローカルアクセスルールデータベース３５６が当該特定のシステムユニット１１５において更新される（ブロック６６０）。更新がローカルアクセスルールテーブルに関連したものでない場合（ブロック６５５‐ＮＯ）、処理はブロック６６５に進む。
【００９１】
更新がローカル認証情報テーブルに関連したものであるかどうかの判定が行われる（ブロック６６５）。例えば、更新を受信した個々のシステムユニット１１５ごとのデータベースマネージャアプリケーション３３２は、更新が、当該特定のシステムユニット１１５のローカルアクセスルールデータベース３５６に含まれるユーザを含んでいたかどうか判定することができる。更新がローカル認証情報テーブルに関連したものである場合（ブロック６６５‐ＹＥＳ）、ローカル認証情報データベース３５８が当該特定のシステムユニット１１５において更新される（ブロック６７０）。更新がローカル認証情報テーブルに関連したものでない場合（ブロック６６５‐ＮＯ）、処理はブロック６８０に進む。他の実施態様では、ローカルアクセスルールテーブルおよび／またはローカル認証情報テーブルは、特定のシステムユニット１１５に関連したユーザについてではなく、ＤＣＳ１１０のすべてのユーザについての情報を含んでもよい。
【００９２】
いずれかの更新の後で、グローバルデータベースの解読された部分は除去される（ブロック６８０）。例えば、個々のシステムユニット１１５ごとのデータベースマネージャアプリケーション３３２は、グローバルデータベース３５４の解読された部分を記憶するのに使用されたメモリ空間の割り当てを解除することができる。ある実施態様では、割り当てを解除されたメモリ空間は、さらに、消去され得る。
【００９３】
図７は、１もしくは複数の実施形態による、ローカルアクセスルールテーブルを更新するためのフローチャートである。ある実施態様では、図７のプロセスは、コントローラ２１０によって実行されてもよい。他の実施態様では、図７のプロセスの一部または全部が、コントローラ２１０とは別個のデバイスまたはデバイスグループ、かつ／またはコントローラ２１０を含む別のデバイスまたはデバイスグループによって実行されてもよい。
【００９４】
図７のプロセスは、ローカル認証情報鍵を用いてローカル認証情報テーブルを解読するステップを含む（ブロック７１０）。例えば、ローカル認証情報テーブル３５８は、ローカル認証情報鍵を用いてローカルで暗号化され、そして更新を行うために解読され得る。ハッシュ化された認証情報値がローカル認証情報テーブルで更新される（ブロック７２０）。例えば、更新がユーザの認証情報値を変更する場合、新しいハッシュ化された認証情報値が生成され、そして、ユーザと関連付けられたハッシュ化された認証情報値フィールド４５４に記憶され得る。認証情報値が変更される場合には、ローカルアクセスルール鍵も新しい認証情報値で再暗号化され得る。よって、ローカルアクセスルール鍵がグローバルデータベースから取得され（ブロック７３０）、そして、ローカルアクセスルール鍵は、非ハッシュ化認証情報値で暗号化され、ローカル認証情報テーブルに記憶される（ブロック７４０）。
【００９５】
図８は、１もしくは複数の実施形態による、ローカル認証情報テーブルを更新するためのフローチャートである。ある実施態様では、図８のプロセスは、コントローラ２１０によって実行されてもよい。他の実施態様では、図８のプロセスの一部または全部が、コントローラ２１０とは別個のデバイスまたはデバイスグループ、かつ／またはコントローラ２１０を含む別のデバイスまたはデバイスグループによって実行されてもよい。
【００９６】
ローカルアクセスルールデータベース３５６を更新するためには、ローカルアクセスルールデータベース３５６を解読する必要がある。しかし、ローカルアクセスルール鍵は、ローカル認証情報データベース３５８において、ユーザの認証情報値を用いた暗号化バージョンにのみ記憶されているので、ローカルアクセスルール鍵はグローバルデータベースから取得される必要がある。よって、図８のプロセスは、グローバルデータベースからローカルアクセスルール鍵を取得するステップ（ブロック８１０）と、ローカルアクセスルール鍵でローカルアクセスルールテーブルを解読するステップ（ブロック８２０）とを含む。ローカルアクセスルールテーブルは更新され（ブロック８３０）、そして暗号化される（ブロック８４０）。ローカルアクセスルールテーブルが暗号化された後で、ローカルアクセスルール鍵の非暗号化バージョンは、システムユニット１１５から削除され得る。
【００９７】
図９は、１もしくは複数の実施形態による、ローカル認証情報テーブルおよびローカルアクセスルールテーブルを使用するためのフローチャートである。ある実施態様では、図９のプロセスは、コントローラ２１０によって実行されてもよい。他の実施態様では、図９のプロセスの一部または全部が、コントローラ２１０とは別個のデバイスまたはデバイスグループ、かつ／またはコントローラ２１０を含む別のデバイスまたはデバイスグループによって実行されてもよい。
【００９８】
図９のプロセスは、読取デバイスから認証情報値を取得するステップを含む（ブロック９１０）。例えば、ユーザは、読取デバイス２４０に認証情報を提供することによってアクセスエンティティへのアクセス権を要求することができる。ユーザは、一連のキーパッド文字列をキーパッドに入力すること、カードリーダの近くにアクセスカードを配置すること、虹彩スキャンリーダの前に虹彩を位置させること、指紋スキャナの上に指を配置すること、マイクロフォンに話しかけて音声サンプルを提供すること、顔認識ソフトウェアと関連付けられたカメラの方を向くこと、かつ／または別の種類の認証情報値を提供すること、のうちの１つもしくは複数を実行することができる。読取デバイス２４０は、キーパッドからのＰＩＮ、カードリーダからのカード値、虹彩スキャンから取得された特徴ベクトル、指紋スキャンから取得された特徴ベクトル、音声サンプルから取得された特徴ベクトル、顔認識ソフトウェアから取得された顔認識ＩＤ、および／または別の種類の認証情報値を提供することによってコントローラ２１０に認証情報値を提供することができる。取得された認証情報値は、特定のアクセスエンティティ（コントローラ２１０によって制御される特定のドアなど）と関連付けられ得る。
【００９９】
取得された認証情報値はハッシュ化され（ブロック９２０）、そして、エントリがローカル認証情報テーブルにおいて特定される（ブロック９３０）。例えば、アクセス制御ロジック３２２は、取得された認証情報値をハッシュ化し、そして、ハッシュ化された認証情報値と一致する、ローカル認証情報データベース３５８内の認証情報エントリ４５０を探し出そうと試みることができる。一致するエントリが見つからない場合、アクセスは拒否される。加えて、または代替として、一致するエントリが見つからない場合、警報、ユーザへのエラーメッセージ、および／または別の種類のイベントが生成されてもよい。さらに、状況によっては、たとえ一致するエントリが見つからない場合でもアクセス権を付与することができ、そして、付与されたアクセス権と関連して、警報、ログイベント、および／または別の種類のイベントが生成され得る。
【０１００】
一致するエントリが見つかった場合、一致したエントリと関連付けられた使用ＩＤが特定される（ブロック９４０）。例えば、アクセス制御ロジック３２２は、特定されたローカル認証情報エントリ４５０と関連付けられた行番号を特定することができる。行番号は、ローカルアクセスルールデータベース３５６内のユーザについてのエントリを識別するのに使用され得る。
【０１０１】
特定された認証情報エントリ４５０に記憶されたローカルアクセスルール鍵が、取得された非ハッシュ化認証情報値を用いて解読され（ブロック９５０）、そして、ローカルアクセスルールテーブルが、解読されたローカルアクセスルール鍵で解読される（ブロック９６０）。例えば、アクセス制御ロジック３２２は、非ハッシュ化認証情報値でローカルアクセスルール鍵を解読することができる。非ハッシュ化認証情報値は、システムユニット１１５によって記憶されなくてもよい。例えば、非ハッシュ化認証情報値は、読取デバイス２４０から取得され、ローカルアクセスルール鍵を解読するのに使用され、次いで、システムユニット１１５から削除され得る。アクセス制御ロジック３２２は、次いで、解読されたローカルアクセスルール鍵でローカルアクセスルールデータベース３５６を解読することができる。解読されたローカルアクセスルールテーブルを使用し、１もしくは複数のアクセスルールを適用して、アクセス権を付与すべきかどうかが判定される（ブロック９７０）。例えば、アクセス制御ロジック３２２は、ローカルアクセスルールデータベース３５６に、特定されたユーザについてのエントリが存在するかどうか判定することができる。特定されたユーザについてのエントリが存在しない場合、アクセスは拒否される。取得された認証情報値と関連付けられたアクセスエンティティで、ユーザについてのエントリが特定された場合、アクセスルールがユーザへのアクセス権を付与するかどうかの判定が行われる。一例として、アクセスルールは、認証情報値の特定の組み合わせ（カード値とＰＩＮなど）が受信される場合に、ユーザがアクセス権を付与されるべきであると指定することができる。別の例として、アクセスルールは、特定の時刻および／または特定の曜日に、ユーザがアクセス権を付与されるべきであると指定することができる。別の例として、アクセスルールは、別のユーザが存在する場合に限り（例えば、当該別のユーザから受信された認証情報値に基づいて）、ユーザがアクセス権を付与されるべきであると指定することができる。別の例として、アクセスルールは、別のデバイスが特定の状態にある（例えば、別のシステムユニット１１５と関連付けられたドアセンサが、ドアが閉じていることを示している）場合に限り、ユーザがアクセス権を付与されるべきであると指定することができる。ユーザがアクセス権を付与された場合、ドア制御ロジックアプリケーション３２４（および／または別のアクセス制御アプリケーション）は、施錠デバイス２５０を開錠することができ、また、アクチュエータデバイス２７０を動作させてドアを開けたり、エレベータなどといった特定のデバイスを作動させることができる。ある実施態様では、アクセスルールが満たされない場合、ローカルアクセスルールデータベース３５６に記憶された情報に基づいて、アクセス権が付与されなかった理由を説明するメッセージがユーザに提供され得る。
【０１０２】
図１０は、システムユニット１１５の例示的な物理的レイアウト１０００を示す平面図である。図１０に示すように、物理的レイアウト１０００は、壁１０１０、ドア１０２０、コントローラ２１０、読取デバイス２４０、施錠デバイス２５０、センサ２６０、およびアクチュエータ２７０を含んでもよい。
【０１０３】
壁１０１０は、建物内の部屋といったセキュアな領域１０３０を取り囲む。ドア１０２０は、ユーザのセキュアな領域１０３０へのアクセスを可能にする。この実施形態では、コントローラ２１０は、セキュアな領域１０３０の内部に設置されている。他の実施形態では、コントローラ２１０は、セキュアでない領域に設置されてもよい。読取デバイス２４０は、セキュアな領域１０３０の外部に設置されており、施錠デバイス２５０はセキュアな領域１０３０内部で壁１０１０とドア１０２０とに設置されている。センサ２６０は、この例では、セキュアな領域１０３０外部に取り付けられた監視デバイスである。アクチュエータ２７０は、この例の監視デバイスの視野を制御するのに使用されるモータを含む。
【０１０４】
ユーザが（例えば、ＰＩＮを入力する、アクセスカードをスキャンする、虹彩をスキャンするなどによって）読取デバイス２４０に認証情報を入力すると、コントローラ２１０は認証情報を使用してユーザの身元を認証することができ、そして、ローカル認証情報テーブル３５８内で、さらに続けて、ローカルアクセスルールデータベース３５６で検索を実行して、ユーザの身元およびアクセスルールに基づいてユーザにアクセスを許可すべきかどうか判定することができる。コントローラ２１０が、アクセスが許可されるべきであると判定した場合、コントローラ２１０は施錠デバイス２５０を作動させてドア１０２０を開錠して、ユーザにセキュアな領域１０３０へのアクセスを許可する。
【０１０５】
図１０には、物理的レイアウト１０００の例示的な構成要素が示されているが、他の実装では、物理的レイアウト１０００は、図１０に示すものと比べて、より少数の構成要素、異なった構成要素、追加的な構成要素、または異なった配置の構成要素を含んでもよい。加えて、または代替として、物理的レイアウト１０００内のいずれか１つの構成要素（または構成要素群）が、物理的レイアウト１０００の１もしくは複数の他の構成要素によって実行されると記載した１もしくは複数のタスクを実行してもよい。
【０１０６】
図１１は、ＤＣＳ１１０の例示的な物理的レイアウト１１００を示す平面図である。図１１に示すように、物理的レイアウト１１００は、部屋１１２０‐Ａ〜部屋１１２０‐Ｆを有する建物１１１０、および高リスク領域１１３０を含んでもよい。イーサネット（登録商標）ネットワークといったローカルネットワーク１１３０が、システムユニット１１５‐Ａ〜システムユニット１１５‐Ｈを相互接続してもよい。この例では、システムユニット１１５‐Ａは部屋１１２０‐Ａに通じるドアを制御する。システムユニット１１５‐Ｂは部屋１１２０‐Ｂに通じる外側のドアを制御する。システムユニット１１５‐Ｃは部屋１１２０‐Ｂから部屋１１２０‐Ｃへの１つのドアを制御する。システムユニット１１５‐Ｄは部屋１１２０‐Ｃから部屋１１２０‐Ｄへの１つのドアを制御する。システムユニット１１５‐Ｅは部屋１１２０‐Ｄから部屋１１２０‐Ｅへの１つのドアを制御する。システムユニット１１５‐Ｆは部屋１１２０‐Ｆに通じる外側のドアを制御する。システムユニット１１５‐Ｇは部屋１１２０‐Ｅに通じる１つのドアと、部屋１１２０‐Ａに通じる１つのドアとを制御する。システムユニット１１５‐Ｈは高リスク領域１１３０に通じるドアを制御する。高リスク領域１１３０は、建物１１１０の外部に位置してもよく、よって、セキュリティリスクが高いとみなされうる。
【０１０７】
この例では、システムユニット１１５‐Ａ〜システムユニット１１５‐Ｈは、中央制御デバイス（サーバなど）を含まず、そして１もしくは複数の分散データセットを含んでもよい。例えば、システムユニット１１５‐Ａ〜システムユニット１１５‐Ｈは、分散されたグローバルデータベース、および／または分散されたイベントログを保持することができる。管理者が管理デバイス１３０を使用してシステムユニット１１５‐Ａにログインして、ユーザを追加し、そして、ユーザと関連付けられた認証情報を追加するものと仮定する。当該追加される認証情報は、図５〜図８に記載のプロセスを介してユーザがアクセスできる部屋に通じるドアを制御する他のシステムユニット１１５に配布され得る。
【０１０８】
図１１には、物理的レイアウト１１００の例示的な構成要素が示されているが、他の実装では、物理的レイアウト１１００は、図１１に示すものと比べて、より少数の構成要素、異なった構成要素、追加的な構成要素、または異なった配置の構成要素を含んでもよい。例えば、別の実施形態では、中央制御デバイス（サーバなど）が、１もしくは複数の分散データセットと併用されてもよい。加えて、または代替として、物理的レイアウト１１００の１もしくは複数の構成要素が、物理的レイアウト１１００の１もしくは複数の他の構成要素によって実行されると記載した１もしくは複数のタスクを実行してもよい。
【０１０９】
図１２Ａ〜図１２Ｄは、図１１に記載したシステムのためのグローバルデータベースの例示的な実施態様を示す図である。図１２Ａには、グローバルデータベースが分散データセットに該当する、グローバルデータベース実施態様１２１０が示されている。グローバルデータベース実施態様１２１０では、各システムユニット１１５は、グローバルデータベース３５４のローカルコピーを含み、そして、ローカルアクセスルールデータベース３５６およびローカル認証情報データベース３５８をグローバルデータベース３５４から取得する。
【０１１０】
図１２Ｂは、特定のシステムユニット１１５が別のシステムユニット１１５のための、ローカルアクセスルールデータベース３５６およびローカル認証情報テーブル３５８を取得する、グローバルデータベース実施態様１２２０を示す。例えば、システムユニット１１５‐Ｈは高リスク領域１１３０に位置するので、システムユニット１１５‐Ｈはグローバルデータベース３５４なしで構成されうる。代わりに、システムユニット１１５‐Ａ（またはシステムユニット１１５‐Ａ〜システムユニット１１５‐Ｇのうちの別のもの）がシステムユニット１１５‐Ｈのための、ローカルアクセスルールデータベース３５６‐Ｈおよびローカル認証情報データベース３５８‐Ｈを取得することができ、そして、ローカルアクセスルールデータベース３５６‐Ｈおよびローカル認証情報データベース３５８‐Ｈをシステムユニット１１５‐Ｈに提供することができる。
【０１１１】
図１２Ｃには、１つのシステムユニット１１５がグローバルデータベース３５４を記憶し、そして、他のシステムユニット１１５がグローバルデータベース３５４にアクセスすることを可能にする、グローバルデータベース実施態様１２３０が示されている。例えば、システムユニット１１５‐Ａは、グローバルデータベース３５４を記憶することができ、そして、ローカルアクセスルールデータベース３５６‐Ａおよびローカル認証情報データベース３５８‐Ａをグローバルデータベース３５４から取得することができる。システムユニット１１５‐Ｂは、システムユニット１１５‐Ａのところのグローバルデータベース３５４にアクセスすることによって、ローカルアクセスルールデータベース３５６‐Ｂおよびローカル認証情報データベース３５８‐Ｂをグローバルデータベース３５４から取得することができる。同様に、システムユニット１１５‐Ｃ〜システムユニット１１５‐Ｈも、システムユニット１１５‐Ａのところのグローバルデータベース３５４にアクセスすることによって、ローカルアクセスルールデータベース３５６‐Ｃ〜３５６‐Ｈおよびローカル認証情報データベース３５８‐Ｃ〜３５８‐Ｈをグローバルデータベース３５４から取得する。あるいは、図１２Ｂと同様に、システムユニット１１５‐Ａがシステムユニット１１５‐Ｈのための、ローカルアクセスルールデータベース３５６‐Ｈおよびローカル認証情報データベース３５８‐Ｈを取得し、そして、ローカルアクセスルールデータベース３５６‐Ｈおよびローカル認証情報データベース３５８‐Ｈをシステムユニット１１５‐Ｈに提供してもよい。
【０１１２】
図１２Ｄには、管理デバイス１３０がグローバルデータベース３５４を記憶し、そして各システムユニット１１５がグローバルデータベース３５４にアクセスすることを可能にする、グローバルデータベース実施態様１２４０が示されている。よって、システムユニット１１５‐Ａ〜システムユニット１１５‐Ｈは、管理デバイス１３０のところのグローバルデータベース３５４にアクセスすることによって、それぞれ、ローカルアクセスルールデータベース３５６‐Ａ〜３５６‐Ｈおよびローカル認証情報データベース３５８‐Ａ〜３５８‐Ｈをグローバルデータベース３５４から取得する。
【０１１３】
図１３Ａ〜図１３Ｃは、１もしくは複数の実施形態による例示的なデータベース使用シナリオの図である。図１３Ａには、図１１に示したシステムについてのグローバルデータベース３５４の一部が示されている。図１３Ａには示されていないが、グローバルデータベース３５４は、また、グループテーブル４２０および／またはアクセスルールテーブル４３０も含んでもよい。図１３Ａに示すように、グローバルデータベース３５４は、各行において、特定のユーザについての、特定の認証情報タイプおよび対応する認証情報値を記憶することができる。図１３Ａには例示のために行ＩＤ＝２１と関連付けられたユーザについて複数の行が示されているが、実際には、行ＩＤ＝２１のユーザについての異なる認証情報タイプはグローバルデータベース３５４の同じ行に記憶され得る。図１３Ａ〜図１３Ｃでは、グローバルデータベース３５４の行ＩＤが匿名のユーザ識別子として使用されているが、他の実施態様では、異なる種類の匿名のユーザ識別子が使用されてもよい。
【０１１４】
図１３Ｂにはシステムユニット１１５‐Ｇのためのローカルアクセスルールデータベース３５６‐Ｇが示されている。図１１に示すように、システムユニット１１５‐Ｇは、２つのドア、すなわち、部屋１１２０‐Ｅに通じるドアと部屋１１２０‐Ａに通じるドアとを制御することができる。よって、ローカルアクセスルールデータベース３５６‐Ｇがグローバルデータベース３５４から取得されるときには、部屋１１２０‐Ａおよび部屋１１２０‐Ｅと関連付けられたアクセスルールが含まれうる。図１３Ｂにはローカルアクセスルールデータベース３５６‐Ｇ内の４つのエントリが示されている。第１のエントリは、すべてのユーザが午前８時から午後５時までの間にアクセスカードを用いて部屋１１２０‐Ｅにアクセスすることができると指定している。第２のエントリは、グローバルデータベース内の行２１、行５５、および行７６と関連付けられたユーザが、非営業時間中に、アクセスカードおよびＰＩＮの組み合わせを用いて部屋１１２０‐Ｅにアクセスすることができると指定している。第３のエントリは、グローバルデータベース内の行４４、行５５、行６６、および行７８と関連付けられたユーザが、いつでも虹彩スキャンを用いて部屋１１２０‐Ａにアクセスすることができると指定している。第４のエントリは、グローバルデータベース内の行３３、行４４、および行６６と関連付けられたユーザが、午後５時から午前８時までの間に、アクセスカードおよび虹彩スキャンの組み合わせを用いて部屋１１２０‐Ａにアクセスすることができると指定している。
【０１１５】
図１３Ｃには、システムユニット１１５‐Ｇのためのローカル認証情報データベース３５８‐Ｇが示されている。図１３Ｃには、ローカル認証情報データベース３５８‐Ｇ内の４つのエントリが示されている。第１のエントリは、グローバルデータベースの行ＩＤ＝２１と関連付けられたユーザのハッシュ化カード認証情報値、および非ハッシュ化認証情報値（値４０ＡＰＣＥ）で暗号化されたローカルアクセスルール鍵を含む。第２のエントリは、グローバルデータベースの行ＩＤ＝２１と関連付けられたユーザについての、カード認証情報値とＰＩＮの組み合わせであるハッシュ化された値、および、カード認証情報値４０ＡＰＣＥとＰＩＮ値１２３４との組み合わせである鍵で暗号化されたローカルアクセスルール鍵を含む。第３のエントリは、グローバルデータベースの行ＩＤ＝４４と関連付けられたユーザの虹彩スキャン値のハッシュ化バージョン、および、非ハッシュ化虹彩スキャン認証情報値で暗号化されたローカルアクセスルール鍵を含む。第４のエントリは、グローバルデータベースの行ＩＤ＝４４と関連付けられたユーザについての、カード認証情報値と虹彩スキャン値の組み合わせであるハッシュ化された値、および、行ＩＤ＝４４のユーザについての、カード認証情報値と虹彩スキャン値の組み合わせである鍵で暗号化されたローカルアクセスルール鍵を含む。
【０１１６】
行ＩＤ＝２１のユーザが非営業時間中に部屋１１２０‐Ｅにアクセスすることを希望しているものと仮定する。ユーザは、部屋１１２０‐Ｅのドアに隣接した読取デバイス２４０に自分のカードをかざし、そして、読取デバイス２４０はカードから４０ＡＰＣＥというカード認証情報値を取得する。読取デバイス２４０は、４０ＡＰＣＥというカード認証情報値をシステムユニット１１５‐Ｇのコントローラ２１０に提供する。コントローラ２１０は、読取デバイス２４０が部屋１１２０‐Ｅと関連付けられていると判定する。コントローラ２１０は、認証情報値をハッシュ化し、そして、ハッシュ化された値と一致するローカル認証情報データベース３５８‐Ｇ内のエントリを特定する。コントローラ２１０は、行ＩＤ＝２１のユーザを特定し、そして、取得した４０ＡＰＣＥという認証情報値を使用してローカルアクセスルール鍵を解読する。コントローラ２１０は、次いで、解読されたローカルアクセスルール鍵を使用してローカルアクセスルールデータベース３５６‐Ｇを解読する。
【０１１７】
ローカルアクセスルールデータベース３５６‐Ｇが解読されると、コントローラ２１０は、行２１のユーザを含む、部屋１１２０‐Ｅについてのエントリを特定する。コントローラ２１０は複数のエントリ（第１のエントリおよび第２のエントリ）を特定することができるので、コントローラ２１０は、現在時刻に基づいて第２のエントリを選択する。コントローラ２１０は、カード認証情報値とＰＩＮの両方をユーザが提供する必要があると判定する。ユーザはＰＩＮを提供しなかったので、ユーザにアクセス権は付与されない。ある実施態様では、例えば、ＰＩＮを入力する必要があることをユーザに知らせることによって、アクセス権が付与されなかった理由をユーザに知らせることができる。ユーザがカードを再度スキャンさせ、特定の時間内にＰＩＮを入力した場合、プロセスは繰り返され、そして、部屋１１２０‐Ｅに通じるドアがコントローラ２１０によって開かれる。
【０１１８】
以上の明細書では、添付の図面を参照して様々な好適な実施形態を説明した。しかし、添付の特許請求の範囲に記載される本発明のより広い範囲から逸脱することなく、実施形態に様々な改変および変更を加えることができ、追加的な実施形態を実現することができることは明らかであろう。本明細書および図面は、したがって、限定としてではなく例示とみなされるべきである。
【０１１９】
例えば、図５〜図９に関連して一連のブロックが記載されているが、各ブロックの順序は、他の実装では変更されてもよい。さらに、非依存のブロックは並列に実行されてもよい。
【０１２０】
前述のシステムおよび／または方法は、各図に示す実装形態において、多くの異なる形態のソフトウェア、ファームウェア、およびハードウェアで実装されうることが理解されるであろう。これらのシステムおよび方法を実装するのに使用される実際のソフトウェアコードまたは専用の制御ハードウェアは、各実施形態を限定するものではない。よって、システムおよび方法の動作および挙動は、特定のソフトウェアコードを参照せずに記載された。すなわち、ソフトウェアおよび制御ハードウェアは、本明細書の記載に基づくシステムおよび方法を実装するように設計することができることが理解される。
【０１２１】
さらに、前述のある特定の部分が、１もしくは複数の機能を実行する構成要素として実装されてもよい。構成要素とは、本明細書で使用する場合、プロセッサ、ＡＳＩＣ、ＦＰＧＡといったハードウェア、またはハードウェアとソフトウェアの組み合わせ（ソフトウェアを実行するプロセッサなど）を含んでもよい。
【０１２２】
「ｃｏｍｐｒｉｓｅｓ」および「ｃｏｍｐｒｉｓｉｎｇ」という用語は、本明細書で使用する場合、記述される特徴、整数、ステップまたは構成要素の存在を指定するが、しかし１もしくは複数の他の特徴、整数、ステップ、構成要素またはそのグループの存在または追加を排除するものではない。
【０１２３】
本出願で使用されるいかなる要素、動作、または命令も、特に明示しない限り、実施形態にとって不可欠または本質的であると解釈すべきではない。また、冠詞の「ａ」は１もしくは複数の項目を含むことが意図されている。さらに、「〜に基づいて（ｂａｓｅｄ  ｏｎ）」という句は、特に明示しない限り、「少なくとも一部は〜に基づいて」を意味するものである。
【図１】
2015057884.tif 000003
【図２】
2015057884.tif 000004
【図３Ａ】
2015057884.tif 000005
【図３Ｂ】
2015057884.tif 000006
【図４Ａ】
2015057884.tif 000007
【図４Ｂ】
2015057884.tif 000008
【図４Ｃ】
2015057884.tif 000009
【図５】
2015057884.tif 000010
【図６】
2015057884.tif 000011
【図７】
2015057884.tif 000012
【図８】
2015057884.tif 000013
【図９】
2015057884.tif 000014
【図１０】
2015057884.tif 000015
【図１１】
2015057884.tif 000016
【図１２Ａ】
2015057884.tif 000017
【図１２Ｂ】
2015057884.tif 000018
【図１２Ｃ】
2015057884.tif 000019
【図１２Ｄ】
2015057884.tif 000020
【図１３Ａ】
2015057884.tif 000021
【図１３Ｂ】
2015057884.tif 000022
【図１３Ｃ】
2015057884.tif 000023