(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-05-25
(45)【発行日】2022-06-02
(54)【発明の名称】期限付セキュアアクセス
(51)【国際特許分類】
G06F 21/33 20130101AFI20220526BHJP
G06F 21/35 20130101ALI20220526BHJP
【FI】
G06F21/33
G06F21/35
【外国語出願】
(21)【出願番号】P 2020053592
(22)【出願日】2020-03-25
(62)【分割の表示】P 2018178739の分割
【原出願日】2018-09-25
【審査請求日】2020-03-25
(32)【優先日】2017-09-25
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】506329306
【氏名又は名称】アマゾン テクノロジーズ インコーポレイテッド
(74)【代理人】
【識別番号】100137969
【氏名又は名称】岡部 憲昭
(74)【代理人】
【識別番号】100104824
【氏名又は名称】穐場 仁
(74)【代理人】
【識別番号】100121463
【氏名又は名称】矢口 哲也
(72)【発明者】
【氏名】ムサベヨーグル,アーメット
(72)【発明者】
【氏名】クリシュナムルティ,プラカシュ
(72)【発明者】
【氏名】チェグーリ,ドゥシュヤント ラオ
(72)【発明者】
【氏名】バラスブラマニアム,バララヤン
(72)【発明者】
【氏名】ナハール,ペーユシュ,チャンパラル
(72)【発明者】
【氏名】マニ,カウシク
(72)【発明者】
【氏名】ハヴァール,カール
(72)【発明者】
【氏名】チャン,ツィイー
(72)【発明者】
【氏名】タクムラドフ,ホシュゲルディ
【審査官】小林 秀和
(56)【参考文献】
【文献】特開2014-055438(JP,A)
【文献】米国特許出願公開第2019/0312737(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/33
G06F 21/35
(57)【特許請求の範囲】
【請求項1】
1つ以上のプロセッサと、
前記1つ以上のプロセッサで実行されると、リモートサーバに、少なくとも、
ユーザデバイスから、物理領域または物理リソースへの物理アクセスのためのアクセス要求を受信することであって、前記物理アクセスはユニバーサルアクセス制御デバイスによって部分的に制御され、前記アクセス要求は前記物理アクセスのための時間範囲を識別する、受信することと、
前記ユーザデバイスに許可すべきアクセスのレベルを決定することと、
前記物理アクセスのための前記時間範囲で有効であり、前記アクセスのレベルに対応する第1のアクセストークンを生成することと、
前記第1のアクセストークンを前記リモートサーバのデータストアに記憶することと、
前記第1のアクセストークンを前記ユーザデバイスに送信することと、
前記ユニバーサルアクセス制御デバイスから、第2のアクセストークン
および前記ユーザデバイスのロケーションに対応するロケーション情報を含む認証要求を受信することと、
少なくとも前記第2のアクセストークンを
前記データストアに記憶された前記第1のアクセストークンと比較
し、前記ユーザデバイスの前記ロケーションを前記ユニバーサルアクセス制御デバイスの記憶されたロケーションと比較することにより、前記第2のアクセストークンを認証することと、
前記第2のアクセストークンを認証したとき、前記アクセスのレベルに対応する前記物理アクセスを許可するために、アクセス命令を前記ユニバーサルアクセス制御デバイスに送信することと、をさせる命令を含むメモリと
を含む、前記ユニバーサルアクセス制御デバイスから離れて位置するリモートサーバ。
【請求項2】
ユーザデバイスから、物理領域または物理リソースへの物理アクセスのためのアクセス要求を受信することであって、前記物理アクセスはユニバーサルアクセス制御デバイスによって部分的に制御され、前記アクセス要求は前記物理アクセスのための時間範囲を識別する、受信することと、
前記ユーザデバイスに許可すべきアクセスのレベルを決定することと、
前記物理アクセスのための前記時間範囲で有効であり、前記アクセスのレベルに対応する第1のアクセストークンを生成することと、
前記第1のアクセストークンをデータストアに記憶することと、
前記第1のアクセストークンを前記ユーザデバイスに送信することと、
前記ユニバーサルアクセス制御デバイスから、第2のアクセストークン
および前記ユーザデバイスのロケーションに対応するロケーション情報を含む認証要求を受信することと、
少なくとも前記第2のアクセストークンを前記データストアに記憶された前記第1のアクセストークンと比較
し、前記ユーザデバイスの前記ロケーションを前記ユニバーサルアクセス制御デバイスの記憶されたロケーションと比較することにより、前記第2のアクセストークンを認証することと、
前記第2のアクセストークンを認証したとき、前記アクセスのレベルに対応する前記物理アクセスを許可するために、アクセス命令を前記ユニバーサルアクセス制御デバイスに送信することと、
を含む、コンピュータで実行される方法。
【請求項3】
コンピュータ実行可能命令がコンピュータシステムによって実行されると、
ユーザデバイスから、物理領域または物理リソースへの物理アクセスのためのアクセス要求を受信することであって、前記物理アクセスはユニバーサルアクセス制御デバイスによって部分的に制御され、前記アクセス要求は前記物理アクセスのための時間範囲を識別する、受信することと、
前記ユーザデバイスに許可すべきアクセスのレベルを決定することと、
前記物理アクセスのための前記時間範囲で有効であり、前記アクセスのレベルに対応する第1のアクセストークンを生成することと、
前記第1のアクセストークンを前記コンピュータシステムのデータストアに記憶することと、
前記第1のアクセストークンを前記ユーザデバイスに送信することと、
前記ユニバーサルアクセス制御デバイスから、第2のアクセストークン
および前記ユーザデバイスのロケーションに対応するロケーション情報を含む認証要求を受信することと、
少なくとも前記第2のアクセストークンを前記データストアに記憶された前記第1のアクセストークンと比較
し、前記ユーザデバイスの前記ロケーションを前記ユニバーサルアクセス制御デバイスの記憶されたロケーションと比較することにより、前記第2のアクセストークンを認証することと、
前記第2のアクセストークンを認証したとき、前記アクセスのレベルに対応する前記物理アクセスを許可するために、アクセス命令を前記ユニバーサルアクセス制御デバイスに送信することと、
を含む動作を実行するように前記コンピュータシステムを構成する、前記コンピュータ実行可能命令を記憶する非一時的なコンピュータ可読記憶媒体。
【請求項4】
前記命令は、前記1つ以上のプロセッサで実行されると、前記1つまたは複数のプロセッサに、少なくとも、
前記ユーザデバイスから、ネットワークページのための要求を受信することと、
前記ネットワークページのための要求に応答して、ネットワークページデータを前記ユーザデバイスに送信することであって、前記ユーザデバイスは前記ネットワークページデータに部分的に基づいてユーザインターフェースを提供するように構成され、前記ネットワークページは前記ユーザインターフェースに対応する、送信することと、をさらにさせ、
前記物理アクセスのためのアクセス要求は、前記ネットワークページを介して受信される、請求項1に記載のリモートサーバ。
【請求項5】
前記認証要求は、ユニバーサルアクセス制御デバイスが、前記ユニバーサルアクセス制御デバイスに近づくユーザデバイスを検出することに応答して、前記ユニバーサルアクセス制御デバイスから受信される、請求項1に記載のリモートサーバ。
【請求項6】
前記ユニバーサルアクセス制御デバイスは、Bluetoothペアリングを部分的に介して前記ユーザデバイスを検出する、請求項5に記載のリモートサーバ。
【請求項7】
前記時間範囲は、開始時間および終了時間を含む、請求項1に記載のリモートサーバ。
【請求項8】
前記認証要求は、時刻を記号化するタイムスタンプをさらに含み、
前記ロケーション情報は、前記時刻における前記ユーザデバイスの前記ロケーションに対応し、
前記第2のアクセストークンを認証することは、前記時刻が前記開始
時間と前記終了
時間の内にあることを判定することを含む、請求項7に記載のリモートサーバ。
【請求項9】
前記アクセスのレベルを決定することは、
アクセス許可を持つユーザデバイスに関連付けられた1つ以上のアクセス制御ポイントを識別することと、
前記物理領域または前記物理リソースが前記1つ以上のアクセス制御ポイントの1つであることを決定することと、
を含む、請求項2に記載の方法。
【請求項10】
前記
物理アクセスは、配送アクセスであり、
前記物理領域は、安全なロケーションである、請求項9に記載の方法。
【請求項11】
前記認証要求は、前記ユニバーサルアクセス制御デバイスに近づくユーザデバイスを検出することに応答して、前記ユニバーサルアクセス制御デバイスから受信される、請求項2に記載の方法。
【請求項12】
前記ユニバーサルアクセス制御デバイスは、Bluetoothペアリングを部分的に介して前記ユーザデバイスを検出する、請求項11に記載の方法。
【請求項13】
前記時間範囲は、開始時間および終了時間を含む、請求項2に記載の方法。
【請求項14】
前記認証要求は、時刻を記号化するタイムスタンプをさらに含み、
前記ロケーション情報は、前記時刻における前記ユーザデバイスの前記ロケーションに対応し、
前記第2のアクセストークンを認証することは、前記時刻が前記開始
時間と前記終了
時間の内にあることを判定することを含む、請求項13に記載の方法。
【請求項15】
前記認証要求は、前記ユニバーサルアクセス制御デバイスに近づくユーザデバイスを検出することに応答して、前記ユニバーサルアクセス制御デバイスから受信される、請求項3に記載のコンピュータ可読記憶媒体。
【請求項16】
前記ユニバーサルアクセス制御デバイスは、Bluetoothペアリングを部分的に介して前記ユーザデバイスを検出する、請求項15に記載のコンピュータ可読記憶媒体。
【請求項17】
前記時間範囲は、開始時間および終了時間を含む、請求項3に記載のコンピュータ可読記憶媒体。
【請求項18】
前記認証要求は、時刻を記号化するタイムスタンプをさらに含み、
前記ロケーション情報は、前記時刻における前記ユーザデバイスの前記ロケーションに対応し、
前記第2のアクセストークンを認証することは、前記時刻が前記開始
時間と前記終了
時間の内にあることを判定することを含む、請求項17に記載のコンピュータ可読記憶媒体。
【請求項19】
前記ユニバーサルアクセス制御デバイスから、前記認証要求を受信することは、前記ユーザデバイスが前記ユニバーサルアクセス制御デバイスから前記認証要求を受信した後に、前記ユーザデバイスから前記認証要求を受信することを含む、請求項1に記載のリモートサーバ。
【請求項20】
前記ユニバーサルアクセス制御デバイスは、前記Bluetoothペアリングを介して前記ユーザデバイスから前記第1のアクセストークンを受信し、前記第1のアクセストークンと前記第2のアクセストークンは同一である、請求項6に記載のリモートサーバ。
【発明の詳細な説明】
【背景技術】
【0001】
本明細書で使用されるように、用語「物理アクセス制御」または単に「アクセス制御」は、安全領域または物理リソースへのアクセスまたは入場を、権限が付与された者に制限する慣行を指す。安全領域及び/またはリソースへのアクセスを制限するために利用可能
ないくつかのアクセス制御システムが存在する。それらの安全領域及び/またはリソースのうちのいくつかへのアクセスは、各々のアクセス制御システムに対して適切なアクセスデバイスを提示することによって得られることがある。例えば、アクセスは、物理ロックを開放する正確な物理鍵を有するユーザに制限されることがある。いくつかの建物では、アクセスは、建物に取り付けられたアクセス制御ユニットにおいてユーザがスワイプすることができるアクセスカードの使用を通じて可能にされることがある。しかしながら、ユーザが物理鍵または入場カードなしに建物にアクセスするために利用可能なオプションは制限される。
【0002】
最近の開発は、PIN(個人識別番号)のようなデータを共有することに基づいて、ユーザがロケーションにアクセスすることを許可している。例えば、ユーザは、正確なPINの知識を有するソースからPINを受信することによって、ロケーションへのアクセスが許可されることがある。ユーザは、建物に取り付けられたアクセス制御ユニットのキーパッドにPINをタイプすることができる。しかしながら、このPINを受信することは、建物が人口密度の高い領域に位置し、またはアクセス制御ユニットがネットワークアクセスを有さない領域内の地下に位置するとき、アクセス制御を危険にさらすことがある。例えば、ユーザがPINを含むネットワーク通信を受信することができないことを理由に、ユーザは、建物に到達する前にPINを受信しなければならないことがある。いくつかの例では、ユーザは、紙にPINを書き込むように、建物についてのアクセス制御ユニットに到達する前に特定の建物についてのPINを維持するより安全でない方法を使用することを強いられることがあり、それは、権限が付与されていないアクセスにつながることがある。
【発明の概要】
【0003】
ロケーションへのアクセスを許可し、アクセス方法のセキュリティを維持する改善された方法が必要とされる。本発明の実施形態は、それらの問題及び他の問題に、個々に及び集合的に対処する。
【0004】
本開示に従った様々な実施形態が図面を参照して説明される。
【図面の簡単な説明】
【0005】
【
図1】開示の実施形態に従った、ロケーションへのアクセスを提供するように構成されたサンプルシステムを示す。
【
図2】開示の実施形態に従った、ロケーションへのアクセスを許可することができる例示的なコンピューティングデバイスを示す。
【
図3】開示の実施形態に従った、ユーザデバイスの例示的な構成要素を示す。
【
図4】開示の実施形態に従った、アクセス制御システムの例示的な構成要素を示す。
【
図5】開示の実施形態に従った、コンピューティングデバイスまたはリモートサーバの例示的な構成要素を示す。
【
図6】開示の実施形態に従った、ユーザデバイス及び/またはコンピューティングデバイスに記憶されたトークンのサンプル実例を示す。
【
図7】開示の実施形態に従った、ロケーションへのアクセスについての要求を送信するためのユーザインタフェースの例を示す。
【
図8】開示の実施形態に従った、要求を生成及び送信する例示的な方法を示す。
【
図9】開示の実施形態に従った、ロケーションへのアクセスについての要求を送信するためのユーザインタフェースの例を示す。
【
図10】開示の実施形態に従った、要求を生成及び送信する例示的な方法を示す。
【
図11】開示の実施形態に従った、要求を生成及び送信する代替する例示的な方法を示す。
【
図12】開示の実施形態に従った、ロケーションへのアクセスを許可するための例示的なフローチャートを示す。
【
図13】様々な実施形態を実装することができる例示的な環境を示す。
【発明を実施するための形態】
【0006】
以下の説明では、様々な実施形態が説明される。説明を目的として、実施形態の完全な理解を提供するために特定の構成及び詳細が示される。しかしながら、特定の詳細なしに実施形態を実施することができることも当業者にとって明らかであろう。更に、説明される実施形態を曖昧にしないように、公知の特徴が省略または簡易化されてもよい。
【0007】
本開示の実施形態は、とりわけ、期限付セキュアアクセスを提供するためのシステム及び方法に向けられる。例えば、コンピューティングデバイスは、時間範囲の間に物理ロケーションへのアクセスを取得する第1の要求を受信してもよい。第1の要求は、第1の通信プロトコル(例えば、インターネットプロトコルなど)を介してアクセス可能であり、リモートサーバにおいて受信されるネットワークドキュメントによって生成されてもよい。第1の要求は、本開示全体を通じて説明されるロケーションへのセキュアアクセスに対応する様々な値を有する様々なタイプのデータフィールドを含んでもよい。第1の要求は、第1の時間において受信されてもよく、ユーザデバイスからのデジタル署名を含んでもよい。コンピューティングデバイスは、第1の要求に少なくとも部分的に基づいて、ユーザデバイスと関連付けられたトークンを生成してもよく、コンピューティングデバイスにおけるデータストアにトークンを記憶してもよい。トークンは、ユーザデバイスに送信及び記憶されてもよい。デジタル署名及びトークンは、例えば、公開鍵または非対称暗号化に少なくとも部分的に基づいた暗号化署名及び暗号化トークンを含んでもよい。ユーザデバイス及びコンピューティングデバイスは、デジタル署名を生成するために、トークンによって署名されることになる電子データの一方向ハッシュを生成してもよい。第2の時間において、コンピューティングデバイスは、ロケーションへのアクセスを取得する第2の要求を受信することができる。第2の要求は、ユーザデバイスとアクセス制御ユニットとの間で第2の通信プロトコル(例えば、Bluetooth(登録商標)など)を介して開始されてもよく、アクセス制御ユニットは、コンピューティングデバイスに対して要求を送信してもよい(または、新たな要求を生成してもよい)。第2の要求は、ユーザデバイスに記憶されたトークンを使用して第2の要求を電子的に署名することによって生成された、ユーザデバイスからのデジタル署名を含んでもよい。ローカルに記憶されたトークン、及び公開鍵または非対称暗号化を使用して、コンピューティングデバイスにおいて同様の署名処理を使用してデジタル署名を認証すると、ロケーションへのアクセスは、要求された認可された時間範囲に対応してユーザデバイスに対して許可されてもよい。
【0008】
サンプル実例では、ユーザデバイスは、特定の期間の間に建物にアクセスする要求を受け付けるネットワークページにアクセスしてもよい。ユーザデバイスは、建物へのアクセスを要求するためにネットワークページと対話してもよく、リモートコンピューティングデバイスにそれらの命令を送信してもよい。それに応じて、リモートコンピューティングデバイスは、要求された時間の間に建物へのアクセスが許可されることを確認することができる確認受信を生成してもよく、また、建物、ユーザデバイス、及び特定の期間に対応するトークンをユーザデバイスに送信してもよい。いくつかの例では、データはまた、リモートコンピューティングデバイスと関連付けられたデータストアに記憶されてもよく、トークンは、建物、ユーザデバイス、及び特定の時間と関連付けられた情報を復号するために構文解析することができない文字列を含んでもよい。第2の時間において、ユーザは、それらのユーザデバイスにローカルに記憶されたトークンにより、建物に到達することができる。ユーザデバイスは、記憶されたトークンを使用してデジタル署名を生成することができ、建物と関連付けられたアクセス制御ユニットにデジタル署名を送信するために、第1のプロトコル(例えば、Bluetooth(登録商標)など)を介して通信してもよい。アクセス制御ユニットは、ユーザの認証を確認するために、第2のプロトコル(例えば、イン
ターネットプロトコル、ハイパーテキストトランスファープロトコル(HTTP)、トランスポートレイヤセキュリティまたはセキュアソケットレイヤによって暗号化された接続内のHTTP(HTTPS)など)を介してリモートコンピューティングデバイスにデジタル署名を送信してもよい。いくつかの例では、リモートコンピューティングデバイスは、ローカルに記憶されたトークンを使用してデジタル署名を復号してもよい。ユーザデバイスにおけるトークンに対応する受信されたデジタル署名が、リモートコンピューティングデバイスに記憶されたトークンに対応するデジタル署名と一致するとき、ユーザデバイスが認証されてもよい。いくつかの例では、要求のタイミングはまた、認可された時間の間にユーザデバイスが建物にアクセスしていることを確認するために、アクセスについての元の要求において要求された時間と比較されてもよい。リモートコンピューティングデバイスは、認証の確認を送信してもよく、建物へのアクセスが認可されてもよい。アクセス制御ユニットは、ユーザデバイスについてのドアまたは他のアクセスポイントをアンロックしてもよい。
【0009】
別のサンプル実例では、ユーザデバイスは、特定の期間の間に駐車場にアクセスする要求を受け付けるネットワークページにアクセスしてもよい。ユーザデバイスは、駐車場を使用する予約を要求するためにネットワークページと対話してもよい。ユーザは、アクセスのためのトランザクションを開始するために、支払または他の情報を提供してもよく、また、駐車場にアクセスするために特定の時間を要求してもよい。前の実例に示されたように、リモートコンピューティングデバイスは、ユーザデバイスが特定の期間の間に駐車場へのアクセスを提供することができるトークンをユーザデバイスに送信してもよい。別の例では、リモートコンピューティングデバイスは、駐車場を定期的に監視する駐車監視員によってチェックされる駐車場デバイスに予約の確認を提供してもよい。同様の処理が続いてもよく、そこでは、ユーザは、安全領域のアクセス制御ユニットに送信し、リモートコンピューティングデバイスに転送されるデジタル署名を生成してもよい。リモートコンピューティングデバイスは、ローカルに記憶されたトークンを使用してデジタル署名を復号してもよい。ユーザデバイスにおけるトークンに対応する受信されたデジタル署名が、リモートコンピューティングデバイスに記憶されたトークンに対応するデジタル署名と一致するとき、ユーザデバイスが認証されてもよい。要求のタイミングはまた、予約に対応するように比較及び確認されてもよい。
【0010】
開示の実施形態は、他のシステムに対していくつかの技術的利点をもたらす。例えば、ユーザデバイスは、ユーザがネットワークへのアクセスを有するための要件なしに、特定の時間の間にユーザにアクセスを提供することができる複数のトークンを記憶することができる。ユーザは、ユーザがロケーションにアクセスすることを試みる時間の前に、予約またはトランザクションの確認を受信することができる。特に、地下のロケーション及び人口密度が高い領域など、ネットワークアクセス性が制限されたロケーションでは、複数のトークンをユーザデバイスにローカルに記憶すると共に、制限された時間フレームの間に認証を確認する能力が有益である。建物についてのセキュリティは、アクセス(例えば、配送ドライバ、建物の住人のゲストなどに対する)のための期間を制限することによって維持されてもよく、ネットワークの制約によって制限されるネットワーク通信は、他の手段を通じて送信されてもよい。
【0011】
図1は、開示の実施形態に従った、ロケーションへのアクセスを提供するように構成されたサンプルシステムを示す。実例100では、アクセス制御リーダ102は、アクセス制御ポイント104へのアクセスを制御するために使用されてもよい。アクセス制御リーダ102は、アクセス証明書106に応答するように構成されてもよい。アクセス制御リーダ102は、ユーザデバイス112から無線通信を受信し、アクセス制御システムにアクセス制御ポイント104へのアクセスを可能にさせるように構成されてもよい。
【0012】
いくつかの実施形態では、アクセス制御リーダ102は、アクセス証明書106を受信し、受信されたアクセス証明書106に基づいてアクセス制御ポイント104へのアクセスを許可または拒否するかのいずれかが可能な、いずれかの適切な電子デバイスであってもよい。アクセス証明書106がアクセス制御リーダ102に提示されるとき(例えば、第1のネットワーク接続を介したアクセス証明書106を介して)、アクセス制御リーダ102は、第2のネットワーク110を介して、リモートサーバ122に、証明書を示す情報を送信する。
【0013】
いくつかの実施形態では、アクセス制御リーダ102は、第2のネットワーク110を介してユーザデバイス112から受信されたデジタル署名120を送信してもよい。デジタル署名120は、ユーザデバイス112のユーザ識別子、アクセス制御リーダ102と関連付けられたコード、及び/または時間範囲に対応してもよい。デジタル署名120は、例えば、ユーザデバイス112の識別子とデジタル署名を相関付けることによって、デバイス固有またはデバイス固定であってもよい。暗号化ハッシュ機能は、公開ハッシュ機能に対応してもよいが、デバイス固有トークンの使用を通じてデバイス固有デジタル署名の生成を可能にすることができる。デジタル署名は、いくつかの例では、トークンが特定のユーザデバイス112に対して一意であることを理由に、ユーザデバイスに対して一意であってもよい。ユーザ識別子またはトークンは、ユーザデバイス112を識別することができる。時間は、ユーザデバイスがアクセス制御ポイント104にアクセスすることを要求するときの要求に対応してもよい。
【0014】
リモートサーバ122は、様々なユーザデバイスと関連付けられた、記憶されたトークン126を含むデータストア124にアクセスする。リモートサーバ122は、記憶されたトークンを使用して証明書を生成してもよい。例えば、ユーザデバイス112及びリモートサーバ122の両方は、各々のデバイスにローカルに記憶された証明書生成モジュールを実行してもよい。証明書生成モジュールは、証明書を生成するために、各々のデバイスにローカルに記憶されたトークンを使用してもよい。例えば、リモートサーバ122に記憶されたトークンを使用して、第1の証明書が生成されてもよく、ユーザデバイス112に記憶されたトークンを使用して、第2の証明書が生成されてもよい。第1の証明書及び第2の証明書が比較されてもよく、証明書が一致するとき、ユーザデバイスが認証されてもよく、アクセスが許可されてもよい。いくつかの例では、証明書生成モジュールは、証明書を生成するためにハッシュ機能を使用してもよい。いずれかの適切な暗号化ハッシュ機能が利用されてもよい。
【0015】
いくつかの実施形態では、リモートサーバ122は、受信された証明書と生成された証明書を比較し、その比較に基づいて、提示された要求を許可または拒否する。アクセスが拒否される場合、アクセス制御ポイント104は、アクセス不能なままでいる。アクセス証明書106と、リモートサーバ122と関連付けられたデータストアにおけるエントリとの間に一致がある場合、リモートサーバ122は、アクセス制御ポイント104へのアクセスを許可する中継器を動作させる。いくつかの実施形態では、プロセッサデバイスはまた、ドア開放信号を無視してもよく、それは、周囲からのアラームを防止する。
【0016】
いくつかの実施形態では、アクセス制御リーダ102は、アクセスが拒否されたときに赤色の発光ダイオード(LED)のフラッシュを表示し、アクセスが許可されたときに緑色のLEDのフラッシュを表示するなど、ユーザにフィードバックを提供してもよい。いくつかの非限定的な例では、アクセス制御リーダ102は、コードがカードリーダ、キーフォブ受信機、無線周波数識別子(RFID)リーダ、または生体認証リーダに入力されるキーパッドである。
【0017】
いくつかの実施形態では、アクセス制御ポイント104は、それに対してアクセスを制
御することができるいずれかの適切な境界であってもよい。いくつかの実施形態では、アクセス制御ポイント104は、物理設備またはコンピュータベースの情報システムであってもよい。いくつかの実施形態では、アクセス制御ポイント104は、ドア、回転ドア、駐車場ゲート、エレベータ、または他の物理境界であってもよく、そこでは、アクセスを許可することを電子的に制御することができる。アクセス制御ポイント104は、アクセス制御システムによって動作する電子ロックを含んでもよい。いくつかの実施形態では、アクセス制御ポイント104はまた、アクセス制御ポイント104が適切にアクセスされたときを検出し、アラームをトリガするためのセンサを含んでもよい。
【0018】
いくつかの例では、アクセス制御ポイント104は、ロケーションにおけるユーザインタフェースにおいて確認を提供することなく、ロケーションが予約されるときを識別する、ネットワークドキュメントにおける電子予約リストに対応してもよい。これは、駐車場またはロケーションへの安全でないアクセスを可能にする同様のロケーションに対応してもよいが、アクセスはなお制限されてもよい。
【0019】
いくつかの実施形態では、アクセス証明書106は、いずれかの適切な物理/有形オブジェクト、データ、1つの情報、または所与のアクセス制御ポイント104への個々のアクセスを可能にするユーザの物理的存在のファセット上で具体化されてもよい。いくつかの実施形態では、アクセスデバイス106は、人々が知る何か(トークン、デジタル署名、もしくはPINなど)、人々が有する何か(アクセスバッジなど)、人々がそれである何か(生体的特徴など)、またはそれらのいくつかの組み合わせであってもよい。
【0020】
いくつかの実施形態では、アクセス制御ポイント104は、ユニバーサルアクセス制御デバイスに対応してもよく、ユニバーサルアクセス制御デバイスは、ユーザデバイス112からアクセス要求を受信し、アクセス制御システムにアクセス制御ポイント104へのアクセスを許可させることが可能な電子デバイスである。いくつかの実施形態では、ユニバーサルアクセス制御デバイスは、アクセス制御システムにおけるアクセス制御リーダ102とアクセス制御ボードとの間に設置されてもよい。それらの実施形態の少なくともいくつかでは、アクセス制御デバイスは、スプリッタデバイス及び受信機デバイスを含んでもよい。アクセス制御リーダ102が無線通信受信機を含む実施形態では、アクセス制御デバイスは、少なくとも受信機デバイス及び送信機デバイスを含んでもよい。この例では、アクセス制御デバイスは、ユーザデバイス112から信号を受信してもよく、アクセスがユーザデバイス112のオペレータに対して許可されるべきかを判定してもよく、アクセス制御リーダ102に、ユーザデバイス112のオペレータへのアクセスを許可させるために信号をそれに送信してもよい。それらの実施形態の各々は、以下で更に詳細に説明される。
【0021】
いくつかの実施形態では、ネットワーク110は、ケーブルネットワーク、インターネット、無線ネットワーク、セルラネットワーク、並びに他のプライベート及び/またはパブリックネットワークなど、多くの異なるタイプの通信ネットワークのうちのいずれか1つまたは組み合わせを含んでもよい。加えて、ネットワーク110は、キオスクを介した陸線電話を通じて、またはいずれかの他の適切な方式で送信される通信を表してもよい。
【0022】
明確にするために、特定の数の構成要素が
図1及び本開示全体を通じて示される。しかしながら、本発明の実施形態が各々の構成要素のうちの2つ以上を含んでもよいことが理解されよう。加えて、本発明のいくつかの実施形態は、
図1に示される構成要素のうちの全てよりも少ないまたは多い構成要素を含んでもよい。加えて、
図1における構成要素は、いずれかの適切な通信プロトコルを使用して、いずれかの適切な通信媒体を介して(インターネットを含む)通信してもよい。
【0023】
図2は、開示の実施形態に従った、ロケーションへのアクセスを許可することができる例示的なコンピューティングデバイスを示す。実例200では、1人以上のユーザは、第1のネットワーク204を介してリモートサーバ206と通信するためにユーザデバイス202を利用してもよい。ユーザデバイス202はまた、無線通信プロトコル210または第2のネットワークを介してアクセス制御システム212と通信してもよい。アクセス制御システム212は、第3のネットワーク214を介してリモートサーバ206と通信してもよい。
【0024】
ユーザデバイス202は、第1のネットワーク204を介してリモートサーバ206と通信するために、インターネット通信プロトコルを介してデータまたは他のメッセージを送信してもよい。通信プロトコルは、国際標準化機構(ISO)に対応してもよい。それらのメッセージでは、ユーザデバイス202は、アクセス制御システム212からのアクセスを要求する前に、トークンを要求してもよい。
【0025】
ユーザデバイス202はまた、第2のネットワーク210を介してアクセス制御システム212に対応してもよい。ユーザデバイス202は、第2のネットワーク210上での通信を可能にする無線受信機を使用して、アクセス制御システム212のアクセス制御ユニットを検出してもよい。無線受信機は、無線通信標準のBluetooth(登録商標)シリーズに従って製造されてもよい。ユーザデバイス202は、通信プロトコルによって可能にされる発見処理を通じてアクセス制御ユニットを検出してもよい。この例では、アクセス制御ユニットは、無線受信機に近接して位置してもよい。
【0026】
アクセス制御システム212はまた、第3のネットワーク214を介してリモートサーバ206に対応してもよい。第3のネットワーク214は、第1のネットワーク204または本分野で既知の他のネットワークのインターネット通信プロトコルに対応してもよい。
【0027】
図3は、開示の実施形態に従った、ユーザデバイスの例示的な構成要素を示す。いくつかの実施形態では、1人以上のユーザ302は、1つ以上のユーザデバイス304を操作してもよい。ユーザデバイス304は、それらに限定されないが、携帯電話、スマートフォン、携帯情報端末(PDA)、ラップトップコンピュータ、デスクトップコンピュータ、サーバコンピュータ、シンクライアントデバイス、タブレットPCなどのいずれかの適切なタイプのコンピューティングデバイスであってもよい。加えて、ユーザデバイス304は、時計、イヤホン、眼鏡などのいずれかのタイプのウェアラブル技術デバイスであってもよい。ユーザデバイス304は、通信接続311(例えば、アンテナ、センサなど)を介した無線通信手段を介して(例えば、Bluetooth(登録商標)を介して)通信するように構成されてもよい。いくつかの実施形態では、ユーザデバイス304は、アクセス制御システム212へのアクセスを可能にすることを含む、1つ以上の通信プロトコルを介して通信を可能にする様々なモバイルアプリケーション(すなわち、コンピュータ実行可能命令のセット)を含んでもよい。
【0028】
ユーザデバイス304は、ユーザ入力を処理することが可能な1つ以上のプロセッサ310を含んでもよい。ユーザデバイス304はまた、ユーザ入力及び/またはユーザデバイス304と関連付けられた状態を受信するための1つ以上の入力センサ312を含んでもよい。本分野において既知なように、加速度計、カメラ、マイクロフォンなど、ユーザ入力を検出することが可能な様々な入力センサ312が存在する。入力センサによって取得されるユーザ入力は、音声データ、視覚データ、または生体データを含むがそれらに限定されない、様々なデータ入力タイプからであってもよい。ユーザデバイス304上のアプリケーションの実施形態は、そのメモリ314に記憶されてもよく、またはそのメモリ314から実行されてもよい。
【0029】
メモリ314の内容を更に詳細に考えると、メモリ314は、ブラウザアプリケーション316を含んでもよい。ブラウザアプリケーション316は、建物、駐車場、または他のアクセスが制限された領域へのアクセスを要求するために、ネットワークドキュメンへのアクセスを可能にすることができる。ネットワークドキュメント及び対応するユーザインタフェースの例は、少なくとも
図7と共に提供される。
【0030】
ブラウザアプリケーション316は、データを記憶、アクセス、及び/もしくは管理し、コンピュータアプリケーションを開発及び/もしくは配置し、並びに/またはウェブコンテンツと対話するためになど、ユーザ302が1つ以上のリモートサーバと対話することを可能にすることができる。いくつかの実施形態では、おそらくはサーバのクラスタに配置され、またはサーバファームとして配置される、1つ以上のリモートサーバのうちの少なくともいくつかは、ブラウザアプリケーション316を介して、またはアクセス制御アプリケーション318を介して、ユーザデバイス304にアクセス証明書を提供するように構成されてもよい。この例ではユーザデバイス304のメモリにおいて表されるが、いくつかの実施形態では、ブラウザアプリケーション316は、サーバにおいてホストされてもよい。例えば、ユーザデバイス304は、ブラウザアプリケーション316にリモートにアクセスすることが可能なシンクライアントデバイスであってもよい。ブラウザアプリケーション316は、多くのユーザ302からの要求を処理し、それに応じて、それに限定されないがウェブサイトなどのユーザデバイス304においてレンダリングすることができる様々なユーザインタフェースをサービスすることが可能であってもよい。ブラウザアプリケーション316は、ソーシャルネットワーキングサイト、電子リテーラ、情報サイト、ブログサイト、検索エンジンサイト、並びにニュース及びエンターテイメントサイトなど、ユーザ対話を有するそれらを含む、ウェブサイトとのユーザ対話をサポートするいずれかのタイプのアプリケーションまたはインタフェースであってもよい。上記議論されたように、説明される技術は、ユーザデバイス304上で稼働する他のアプリケーションと共になど、ブラウザアプリケーション316の外側で同様に実装されてもよい。
【0031】
メモリ314はまた、アクセス制御システムのアクセス制御ユニットにアクセス証明書を通信することが可能な、アクセス制御アプリケーション318を含んでもよい。アクセス制御アプリケーション318は、ユーザデバイス304に、アクセス証明書をアクセス制御ユニットに提供させるように構成されてもよい。いくつかの実施形態では、アクセス制御アプリケーション318は、アクセス制御アプリケーションに対するバックエンドのサポートを提供する1つ以上のリモートサーバと通信してもよい。1つ以上のリモートサーバは、ユーザデバイス304がどのアクセス制御ポイントへのアクセスを得ることに権限が付与されるかを判定し、アクセスを得る際に使用されることになる証明書を提供するように構成されてもよい。例えば、リモートサーバは、ユーザが安全なロケーションに配送すると判定してもよい。その判定を行うと、リモートサーバは、特定の時間内に安全のロケーションへのアクセスを得る要求をデジタルに署名するために使用することができるトークンを生成してもよい。リモートサーバは次いで、ユーザデバイス304上のアクセス制御アプリケーション318にトークンを送信してもよい。
【0032】
メモリ314はまた、要求モジュール320を含んでもよい。要求モジュール320は、ブラウザアプリケーション316を通じてアクセスを要求するのではなく、リモートサーバにアクセスを要求することに専念してもよい。いくつかの例では、要求モジュール320は、ブラウザアプリケーション316の機能性を複製してもよい。ネットワークドキュメント及び対応するユーザインタフェースの例は、以下で提供される。
【0033】
要求モジュール320は、デジタル署名を含む要求を生成するように構成されてもよい。例えば、要求モジュールは、要求と関連付けられたデジタル署名を生成するために、ト
ークンによって署名されることになる電子データの一方向ハッシュを生成してもよい。要求モジュール320は、第1の通信プロトコルを介してアクセス制御ユニットにデジタル署名を電子的に送信してもよく、または第2の通信プロトコルを介してリモートサーバにデジタル署名を電子的に送信してもよい。データの送信は、要求が送信される時間においてアクセス制御ユニットまたはユーザデバイスのネットワークアクセス性によって制限されてもよい。要求モジュール320は、認可されたアクセスの時間範囲と現在の時間を比較することができるように、現在の時間を要求に組み込むように構成されてもよい。
【0034】
ユーザデバイス304は、ブラウザアプリケーション316を介して、または要求モジュール320において、アクセスについての要求に応じてリモートサーバから1つ以上のトークンを受信してもよい。トークンは、トークンデータストア322に記憶されてもよい。トークンは、ユーザデバイス304において暗号化された方式または暗号化されていない方式で記憶されてもよい。
【0035】
図4は、開示の実施形態に従った、アクセス制御システムの例示的な構成要素を示す。実例400では、アクセス制御システムが提供される。アクセス制御システムは、アクセス制御デバイス、アクセス制御リーダユニット、及び1つ以上の構成要素を含んでもよい。いくつかの例では、アクセス制御ユニットは、アクセスポイントへのアクセスのために建物に設置されてもよい。アクセス制御ユニットは、
図4に示されるように、リモートサーバと通信してもよく、リモートサーバは、ユニバーサルアクセス制御デバイス406を複製もしくは交換する機能性を含んでもよい。本分野で既知なアクセス制御システムを含む、アクセス制御システムの様々な実施形態も利用可能である。
【0036】
いくつかの実施形態では、ユニバーサルアクセス制御デバイス406は、ユーザデバイスから情報を受信し、ユーザがアクセス制御ポイントへのアクセスを許可されるべきかを判定し、ユーザがアクセス制御ポイントにアクセスすることに権限が付与されると判定すると、アクセス制御システムに有効なアクセス証明書を送信するように構成されたコンピューティングデバイスであってもよい。
【0037】
いくつかの実施形態では、ユニバーサルアクセス制御デバイス406は、
図5に示されるリモートコンピューティングデバイスについてのパススルーまたはプロキシであってもよい。例えば、ユーザデバイスは、リーダデバイス434に証明書またはデジタル署名を提供するためにリーダデバイス434と対話してもよい。リーダデバイス434は、ユニバーサルアクセス制御デバイス406に送信してもよく(有線または無線で)、ユニバーサルアクセス制御デバイス406は次いで、認証のためにリモートコンピューティングデバイスに証明書またはデジタル署名を送信する。ユニバーサルアクセス制御デバイス406は、データを変更しなくてもよい。いくつかの例では、ユーザデバイスは、リモートコンピューティングデバイスの公開鍵を使用して証明書またはデジタル署名を暗号化してもよい。暗号化されたデータは、リーダデバイス434に提供されてもよく、リーダデバイス434は、ユニバーサルアクセス制御デバイス406にデータを送信し、ユニバーサルアクセス制御デバイス406は、認証のためにリモートコンピューティングデバイスにデータを送信する。
【0038】
いくつかの例では、ユニバーサルアクセス制御デバイス406は、リモートコンピューティングデバイスによって要求されるデータフォーマットに対応するように証明書またはデジタル署名を変更してもよい。これは、例えば、証明書またはデジタル署名にヘッダを付加することによって、及びリモートコンピューティングデバイスの公開鍵を使用して証明書またはデジタル署名を暗号化することによってなどを含んでもよい。
【0039】
いくつかの実施形態では、ユニバーサルアクセス制御デバイス406と関連して説明さ
れる機能性の少なくとも一部は、
図5に示されるリモートコンピューティングデバイスにおいてリモートに実行されてもよい。例えば、説明される機能性のうちのいくつかは、ホストされたコンピューティング環境において実装されるもう1つの仮想マシンによって実行されてもよい。ホストされたコンピューティング環境は、1つ以上の急速にプロビジョニングされ、リリースされるコンピューティングリソースを含んでもよく、コンピューティングリソースは、コンピューティングデバイス、ネットワーキングデバイス、及び/または記憶デバイスを含んでもよい。ホストされたコンピューティング環境はまた、クラウドコンピューティング環境と称されてもよい。
【0040】
1つの実例的な構成では、ユニバーサルアクセス制御デバイス406は、少なくとも1つのメモリ420及び1つ以上のプロセシングユニット(または、プロセッサ)422を含んでもよい。プロセッサ422は、必要に応じて、ハードウェア、コンピュータ実行可能命令、ファームウェア、またはそれらの組み合わせで実装されてもよい。プロセッサ422のコンピュータ実行可能命令またはファームウェアの実装態様は、説明される様々な機能を実行するためのいずれかの適切なプログラミング言語で記述されたコンピュータ実行可能命令または機械実行可能命令を含んでもよい。
【0041】
メモリ420は、プロセッサ422上でロード可能及び実行可能なプログラム命令と共に、それらのプログラムの実行の間に生成されるデータを記憶してもよい。ユニバーサルアクセス制御デバイス406の構成及びタイプに応じて、メモリ420は、揮発性(ランダムアクセスメモリ(RAM)など)及び/または不揮発性(リードオンリメモリ(ROM)、フラッシュメモリなど)であってもよい。ユニバーサルアクセス制御デバイス406はまた、磁気記憶装置、光ディスク、及び/またはテープ記憶装置を含むがそれらに限定されない、着脱可能記憶装置または着脱不能記憶装置のいずれかなど、追加の記憶装置を含んでもよい。ディスクドライブ及びそれらの関連するコンピュータ可読媒体は、コンピューティングデバイスについてのコンピュータ可読命令、データ構造、プログラムモジュール、及び他のデータの不揮発性の記憶をもたらすことができる。いくつかの実装態様では、メモリ420は、スタティックランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM)、またはROMなどの複数の異なるタイプのメモリを含んでもよい。メモリ420の内容を更に詳細に考えると、メモリ420は、オペレーティングシステム424、及びアクセス制御システムにアクセス制御ポイントをアンロックさせるためのモジュール(アクセス制御モジュール426)を少なくとも含む、本明細書で開示される特徴を実装するための1つ以上のアプリケーションプログラムまたはサービスを含んでもよい。メモリ420はまた、アクセス制御ポイントへのアクセスを得るために使用することができるアクセス証明書を含む、アクセス証明書データ428を含んでもよい。いくつかの実施形態では、アクセス証明書データ428は、データベースに記憶されてもよい。
【0042】
メモリ420は、着脱可能メモリ及び着脱不能メモリのいずれかであってもよく、非一時的なコンピュータ可読記憶媒体を含んでもよい。例えば、コンピュータ可読記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの情報の記憶のためのいずれかの方法または技術で実装される揮発性または不揮発性、着脱可能または着脱不能媒体を含んでもよい。本明細書で使用されるように、モジュールは、ユーザデバイスまたはユニバーサルアクセス制御デバイス406の一部であるコンピューティングシステム(例えば、プロセッサ)によって実行されるプログラミングモジュールを指してもよい。ユニバーサルアクセス制御デバイス406はまた、ユニバーサルアクセス制御デバイス406が記憶されたデータベース、別のコンピューティングデバイスもしくはサーバ、ユーザ端末、並びに/または他のデバイス(例えばユーザデバイス及び/もしくはアクセス制御システム)と通信することを可能にする通信接続(複数可)430を含んでもよい。例えば、通信接続430は、無線受信機(例えば、Bluetooth(登録商標)受信機)を含んでもよい。
【0043】
メモリ420の内容を更に詳細に考えると、メモリ420は、オペレーティングシステム424、アクセス証明書データ428を含むデータベース、並びにアクセス制御モジュール426及びアクセス検査モジュール427を含む、本明細書で開示される特徴を実装するための1つ以上のアプリケーションプログラムまたはサービスを含んでもよい。
【0044】
いくつかの実施形態では、アクセス制御モジュール426は、アクセス証明書をアクセス証明書データ428に記録するように構成されてもよい。例えば、ユニバーサルアクセス制御デバイス406は、アクセス制御システム内でリーダデバイス434とアクセス制御ボード436との間に設置されてもよい。リーダデバイス434がアクセス証明書を受信するとき、それは、ユニバーサルアクセス制御デバイス406を介してアクセス制御ボード436にアクセス証明書を中継してもよい。加えて、ユニバーサルアクセス制御デバイス406は、アクセス証明書データ428に記憶されたアクセス証明書を無効にすることによってアクセス証明書を記録してもよい。いくつかの実施形態では、アクセス証明書データ428は、アクセスが許可されたことを示すためにアクセス制御ボード436がリーダデバイス434に信号を送信する場合のみ、新たに受信されたアクセス証明書で上書きされてもよい。アクセス制御モジュール426はまた、ユーザデバイスからアクセストークンを受信し、ユーザデバイスのオペレータがアクセス制御ポイントへのアクセスを許可されるべきかを判定するように構成されてもよい。これを行うために、アクセス制御モジュール426は、検証されることになるアクセストークンをリモートサーバに送信してもよい。ユーザがアクセス制御ポイントにアクセスすることに権限を付与されることを示す応答を受信すると、アクセス制御モジュール426は、アクセス証明書データ428に記憶されたアクセス証明書を取り出し、アクセス制御ボード436にそれを中継するように構成されてもよい。
【0045】
いくつかの実施形態では、アクセス検査モジュール427は、リモートコンピューティングデバイスからのデジタル署名を確認するように構成されてもよい。いくつかの例では、ユニバーサルアクセス制御デバイス406は、ユーザデバイスに対して安全なロケーションへのアクセスを可能にする前に、リモートコンピューティングデバイスから第2のデジタル署名を受信してもよく、デジタル署名を認証してもよい。いくつかの例では、アクセス証明書データは、アクセス証明書データストア428に記憶されてもよく、アクセス証明書データストア428は、リモートコンピューティングデバイスにより記憶されてもよく、またはネットワークのロケーションにおける二次的メモリから受信されてもよい。
【0046】
アクセス証明書データ428は、直近に使用された有効なアクセス証明書で上書きされてもよい。新たなアクセス証明書がアクセス制御システム408のリーダデバイス434に提示される都度、アクセス証明書データ428に現在記憶されているアクセス証明書は、新たなアクセス証明書で上書きされてもよい。
【0047】
いくつかの実施形態では、アクセス制御システムは、リーダデバイス434及びアクセス制御ボード436を含んでもよい。リーダデバイス434は、
図1に表されるアクセス制御リーダ102の例であってもよい。アクセス制御機構からアクセス証明書を受信すると、リーダデバイス434は、ユニバーサルアクセス制御デバイス406にアクセス証明書を中継してもよく、続いて、アクセス制御ボード436にアクセス証明書を中継してもよい。アクセス制御ボード436は、アクセス制御データ438内に記憶された制御リスト上のエントリとアクセス証明書を比較してもよい。いくつかの実施形態では、アクセス制御データ438は、アクセス制御システムにローカルに記憶されてもよい。いくつかの実施形態では、アクセス制御データ438は、アクセス制御ボード436と通信するリモートサーバに記憶されてもよい。アクセス証明書が有効であると判定すると(例えば、ア
クセス制御データ438におけるエントリに一致する)、アクセス制御ボード436は、アクセス制御ポイントへのアクセスを許可してもよい(例えば、電子ロックを開放させる)。
【0048】
ユニバーサルアクセス制御デバイスは、アクセス制御システムによって使用されるアクセスデバイスのタイプに関わらず、既に市場にあるそのアクセス制御システムと共に使用されてもよい。加えて、ユニバーサルアクセス制御デバイスによって使用されるアクセストークンは、リモートサーバによって管理されてもよい(例えば、クラウドコンピューティング環境を使用して)。
【0049】
いくつかの実施形態では、ユニバーサルアクセス制御デバイスは、アクセス制御システムのリーダデバイスに近接した距離内に設置されてもよい。それらの実施形態では、リーダデバイスは、アクセスデバイスから証明書の無線送信を受信するように構成されてもよい。ユニバーサルアクセス制御デバイスは、アクセス制御システムに対して適切な証明書情報でプログラムされてもよい。例えば、ユニバーサルアクセス制御デバイスは、有効なアクセス要求が受信されるときに活性化される事前に権限が付与された証明書を含んでもよい。ユーザがアクセス制御システムによって管理されるアクセス制御ポイントへのアクセスを得る必要があるとき、そのユーザは、リモートサーバにアクセストークンについての要求を提出してもよい。リモートサーバは、ユーザと関連付けられたユーザデバイスに要求されたアクセストークンを提供してもよい。ユーザは次いで、ユニバーサルアクセス制御デバイスにアクセストークンを通信するために、ユーザデバイスを使用することが可能である。ユニバーサルアクセス制御デバイスは、提供されたアクセストークンを検証する。検証されると、ユニバーサルアクセス制御デバイスは、ユーザがエントリを得ることを可能にするために、メモリに記憶された証明書を取り出し、リーダデバイスにそれを送信する。
【0050】
いくつかの実施形態では、ユニバーサルアクセス制御デバイスは、アクセス制御システムのリーダデバイスとアクセス制御システムのアクセス制御ボードとの間に設置されてもよい。いくつかのケースでは、ユニバーサルアクセス制御デバイスは、複数のデバイスを含んでもよい。例えば、ユニバーサルアクセス制御デバイスは、ネットワーク接続を介してリモートサーバと通信するスプリッタデバイスを含んでもよい。
【0051】
この例示的なユニバーサルアクセス制御デバイスはまた、ネットワーク接続を介してリモートサーバと通信することも可能なスプリッタデバイスからリモートに位置する受信機デバイスを含んでもよい。ユニバーサルアクセス制御デバイスは、ユーザがエントリを得るためにアクセスデバイスを提示するとき、リーダデバイスから証明書を受信してもよい(例えば、スプリッタデバイスを介して)。ユニバーサルアクセス制御デバイスは、ユニバーサルアクセス制御デバイスに受信された証明書をアクセス制御ボードに中継させることができるコンピュータ実行可能命令をそのメモリに含んでもよい。証明書が有効であるとアクセス制御ボードが判定すると(ローカルまたはリモートのいずれかで維持された制御リストを参照することによって)、アクセス制御ボードは、証明書が有効であることのインジケーションをユニバーサルアクセス制御デバイスに提供してもよい(例えば、アクセス制御ボードは、インジケータを点灯する信号またはドアを開放する信号を中継スイッチに送信してもよい)。
【0052】
インジケーションを受信すると、ユニバーサルアクセス制御デバイスは、後に使用されることになる受信された証明書をメモリに記憶してもよい。ユニバーサルアクセス制御デバイスは、この方式でいくつかの証明書を記憶してもよい。例えば、ユニバーサルアクセス制御デバイスは、有効なアクセスデバイスを有するユーザによって提示される最後のX個の証明書を記憶してもよく、Xはいくつかの予め定められた数である。いくつかの実施
形態では、ユニバーサルアクセス制御デバイスは、それがアクセス制御システムに提供するX個の証明書を通じて循環するように構成されてもよい。ユーザがアクセス制御システムによって管理されるアクセス制御ポイントへのアクセスを得る必要があるとき、そのユーザは、リモートサーバにアクセストークンについての要求を提出してもよい。リモートサーバは、ユーザと関連付けられたユーザデバイスに要求されたアクセストークンを提供してもよい。ユーザは次いで、ユニバーサルアクセス制御デバイスにアクセストークンを通信するために(例えば、Bluetooth(登録商標)受信機を介して)、ユーザデバイスを使用することが可能である。ユニバーサルアクセス制御デバイスは、提供されたアクセストークンを検証する(例えば、検証のためにリモートサーバにそれを送信することによって)。
【0053】
検証されると、ユニバーサルアクセス制御デバイスは、ユーザがエントリを得ることを可能にするために、メモリに記憶された証明書を取り出し、アクセス制御ボードにそれを提供する。ユニバーサルアクセス制御デバイスのいくつかの実施形態は、受信機デバイスを含まなくてもよいことに留意するべきである。例えば、システムは、ユーザがアクセス制御リーダに近接して侵入するときを検出するためにジオフェンシングを使用してもよい。この例では、アクセス要求は、ユーザがアクセス制御ポイントに近づいていることを検出すると自動的に提出されてもよい。
【0054】
図5は、開示の実施形態に従った、コンピューティングデバイスまたはリモートサーバの例示的な構成要素を示す。実例500では、リモートサーバ502は、ネットワーク508を介して、アクセス制御システム506及び1つ以上のユーザデバイス504と通信してもよい。ネットワーク508は、ケーブルネットワーク、インターネット、無線ネットワーク、セルラネットワーク、並びに他のプライベート及び/またはパブリックネットワークなど、多くの異なるタイプのネットワークのうちのいずれか1つまたは組み合わせを含んでもよい。
【0055】
リモートサーバ502は、それらに限定されないが、携帯電話、スマートフォン、携帯情報端末(PDA)、ラップトップコンピュータ、デスクトップコンピュータ、サーバコンピュータ、シンクライアントデバイス、タブレットPCなど、いずれかのタイプのコンピューティングデバイスであってもよい。加えて、いくつかの実施形態では、リモートサーバ502は、ホストされたコンピューティング環境において実装されるもう1つの仮想マシンによって実行されてもよいことに留意するべきである。ホストされたコンピューティング環境(例えば、クラウドコンピューティング環境)は、1つ以上の急速にプロビジョニングされ、リリースされるコンピューティングリソースを含んでもよく、コンピューティングリソースは、コンピューティングデバイス、ネットワーキングデバイス、及び/または記憶デバイスを含んでもよい。
【0056】
1つの実例的な構成では、リモートサーバ502は、少なくとも1つのメモリ520及び1つ以上のプロセシングユニット(または、プロセッサ)536を含んでもよい。プロセッサ536は、必要に応じて、ハードウェア、コンピュータ実行可能命令、ファームウェア、またはそれらの組み合わせで実装されてもよい。プロセッサ536のコンピュータ実行可能命令またはファームウェアの実装態様は、説明される様々な機能を実行するためにいずれかの適切なプログラミング言語で記述されたコンピュータ実行可能命令または機械実行可能命令を含んでもよい。
【0057】
メモリ520は、プロセッサ536上でロード可能及び実行可能なプログラム命令と共に、それらのプログラムの実行の間に生成されるデータを記憶してもよい。リモートサーバ502の構成及びタイプに応じて、メモリ520は、揮発性(ランダムアクセスメモリ(RAM)など)及び/または不揮発性(リードオンリメモリ(ROM)、フラッシュメ
モリなど)であってもよい。リモートサーバ502はまた、磁気記憶装置、光ディスク、及び/またはテープ記憶装置を含むがそれらに限定されない、着脱可能記憶装置または着脱不能記憶装置のいずれかなど、追加の記憶装置538を含んでもよい。ディスクドライブ及びそれらの関連するコンピュータ可読媒体は、コンピューティングデバイスについてのコンピュータ可読命令、データ構造、プログラムモジュール、及び他のデータの不揮発性の記憶をもたらすことができる。いくつかの実装態様では、メモリ520は、スタティックランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM)、またはROMなどの複数の異なるタイプのメモリを含んでもよい。
【0058】
リモートサーバ502はまた、リモートサーバ502がネットワーク(複数可)508上で、記憶されたデータベース、別のコンピューティングデバイスもしくはサーバ、ユーザ端末、及び/または他のデバイスと通信することを可能にする通信接続(複数可)540を含んでもよい。リモートサーバ502はまた、キーボード、マウス、ペン、発話入力デバイス、タッチ入力デバイス、ディスプレイ、スピーカ、プリンタなどとの接続を可能にするなどのための、入力/出力(I/O)デバイス(複数可)及び/またはポート542を含んでもよい。
【0059】
メモリ520の内容を更に詳細に考えると、メモリ520は、オペレーティングシステム522、並びに少なくともトークン生成モジュール526、クロックモジュール528、リフレッシュモジュール530、無効化モジュール532、及び認証モジュール534を含む、本明細書で開示される特徴を実装するための1つ以上のアプリケーションプログラムまたはサービスを含んでもよい。
【0060】
メモリ520は、トークン生成モジュール526を含んでもよい。トークン生成モジュール526は、ユーザに許可されることになるアクセスのレベルを判定してもよく、アクセス制御ポイントへのアクセスを取得するために使用されることになるトークンを生成してもよい。トークンは、クリアまたは暗号化して送信することができるテキストを含んでもよい。いくつかの例では、生成されたトークンは、単一のユーザデバイス、時間、及びロケーションに対応してもよい。
【0061】
アクセストークンは、要求と関連付けられたパーミッションに要求をマッピングするために使用されるいずれかの適切な文字列であってもよい。トークンは、数字、文字、またはいずれかの他の適切な字の文字列であってもよい。アクセストークンは、トークンの投機的推測の奇数が効果的にゼロになるような大きなランダムの数であってもよい。アクセストークンは、数値(例えば、4桁の数値)とすることができる満了日と関連付けられてもよい。いくつかの実施形態では、トークンの満了日は、発行の時間から測定されるような期間として表現されてもよい。アクセストークンを生成するために使用されるトークンサービスシステムは、生成されたトークンが記憶されたトークンボールトを含んでもよく、またはトークンボールトと通信してもよい。アクセストークンは、いくつかの方式で生成されてもよい。いくつかの実施形態では、アクセストークンは、リモートサーバによって受信された各々の要求に対してランダムに生成及び割り当てられてもよい。
【0062】
アクセストークンは、1つのタイムスタンプから開始して、別のタイムスタンプで終了する対応するロケーションへのアクセスを許可することができるような期限付であってもよい。望ましい場合、アクセスは、アクセスがユーザデバイスによって要求されるときに対応する現在の時間に開始してもよい。アクセストークンは、第三者から秘密に保持されてもよい。
【0063】
いくつかの実施形態では、トークン生成モジュール526は、安全領域にアクセスすることに関連した要求を受信するように構成されてもよい。例えば、ユーザは、特定の期間
の間に安全領域にアクセスする要求を提出してもよい。リモートサーバは、ユーザがアクセスを許可されるべきと判定すると、そのアクセスを許可する際に使用されることになるトークン生成モジュール526を使用して、トークンを生成または割り当ててもよい。トークンは、1つ以上の使用条件(例えば、その間にトークンが有効である期間または使用回数)に関連してトークンデータストア524に記憶されてもよい。トークンは次いで、ユーザデバイス504が認証及びアクセスのためにデジタル署名を生成するためにトークンを使用する前に、ユーザデバイス504に送信されてもよい(例えば、通信接続(複数可)540を使用して)。
【0064】
いくつかの実施形態では、リモートサーバ502は、要求を受信すると、要求に現在マッピングされていないアクセストークンを識別してもよく、要求にそのアクセストークンをマッピングしてもよい。アクセストークンを受信すると、リモートサーバ502は、トークンがユニバーサルアクセス制御デバイスの条件に一致するパーミッションと関連付けられているかを判定するために、トークンデータストア524にクエリすることによって、アクセストークンが有効であると判定してもよく、ユニバーサルアクセス制御デバイスから、デジタル署名を有する電子要求が受信されている。例えば、リモートサーバ502は、デジタル署名がアクセス制御システムと関連付けられたローカルに記憶されたトークンにマッピングされるかを判定してもよい。
【0065】
メモリ520は、クロックモジュール528を含んでもよい。例えば、リモートサーバは、アクセス制御システムから証明書またはデジタル署名を受信してもよい。リモートサーバは、ユーザ及びロケーションと関連付けられた記憶されたトークンを使用して別の証明書を生成してもよい。特定のトークンは、クロックモジュール528によって判定された時間に対応してもよい。例えば、トークンは、開始時間の後、及び終了時間の前に、または時間範囲内で有効であってもよく、ロケーションの特定の時間帯と関連付けられてもよい。クロックモジュール528は、現在の時間を判定し、証明書を受信することに対応する時間と現在の時間を比較することによって、ユーザデバイスから証明書を受信することに対応する時間が開始時間及び終了時間内にあるかを判定してもよい。証明書が受信される時間が許可可能なアクセスの時間範囲内にあるとき、クロックモジュール528は次いで、証明書が少なくとも1つの態様において有効であると判定してもよい。
【0066】
メモリ520は、リフレッシュモジュール530を含んでもよい。例えば、ユーザデバイスは、障害が起きたデバイスの存在を検出するモバイルデバイス管理アプリケーション(例えば、デバイス上の「jailbroken」または「rooted」オペレーティングシステム)に登録してもよい。いくつかの例では、ユーザデバイスは、ユーザデバイスのスキャンを開始してもよく、スキャンに少なくとも部分的に基づいて、マルウェアの存在を識別するメッセージをリモートサーバに送信してもよい。いくつかの例では、リモートサーバはまた、リモートサーバがマルウェアを検出するようにデバイスをスキャンすることが可能にされるとき、ユーザデバイスからリモートにマルウェアの存在を検出してもよい。いくつかの例では、ユーザは、紛失または盗難されたものとしてユーザデバイスをリモートサーバまたは第三者エンティティに報告してもよく、障害が起きたデバイスの識別は、データストアに記録されてもよい。いくつかの例では、障害が起きたユーザデバイスは、データストアにおいてタグ付けされてもよい。
【0067】
いくつかの例では、リフレッシュモジュール530は、ユーザデバイスに障害が起きたと判定した後、トークンをリフレッシュするように構成されてもよい。例えば、障害が起きたユーザデバイスに対応するトークンは、無効化モジュール532を使用して無効化されてもよい。リフレッシュモジュール530は、ユーザデバイスについてのトークンデータストア524に記憶された複数のトークンを判定してもよく、トークン生成モジュール526を使用して複数のトークンの各々についての新たなトークンを生成してもよい。新
たなトークン(複数可)は、ユーザデバイスにおいて前に送信された(及び、潜在的に障害が起きた)トークンを上書きするためにユーザデバイスに送信されてもよい。新たなトークン(複数可)はまた、トークンデータストア524に記憶されてもよい。満了し、及び/または障害が起きたトークンについて、トークン生成モジュール526は、新たなトークンを生成しなくてもよい。
【0068】
メモリ520は、無効化モジュール532を含んでもよい。例えば、無効化モジュール532は、ユーザデバイス及び/またはトークンに障害が起きたと判定してもよい。無効化モジュール532は、トークンデータストア524から記憶されたトークンを削除してもよく、または記憶されたトークンを削除することなく、トークンデータストア524において記憶されたトークンをタグ付けしてもよい。記憶されたトークンをタグ付けすることは、トークンを使用できないようにすることができる。いくつかの例では、無効化モジュール532は、ユーザデバイスが無効なトークンによって生成された安全なロケーションにアクセスする要求の証明書またはデジタル署名を送信するとき、ユーザデバイスを認証しなくてもよい。
【0069】
メモリ520は、認証モジュール534を含んでもよい。認証モジュール534は、ユニバーサルアクセス制御デバイス506からトークンを受信し、アクセスが許可されるべきかを判定するように構成されてもよい。ユニバーサルアクセス制御デバイス506からデジタル署名を受信すると、認証モジュール534は、ユーザデバイスの認証を判定するために、トークンデータストア524に記憶されたアクセストークンと、デジタル署名を生成するために使用される対応するアクセストークンを比較してもよい。デジタル署名を生成するために使用されるトークンが有効であると判定すると、認証モジュール534は、ユーザデバイス504のオペレータへのアクセスを許可するために、ユニバーサルアクセス制御デバイス506に命令を提供するように構成されてもよい。
【0070】
いくつかの例では、認証モジュール534は、記憶されたトークンを使用して証明書を生成してもよく、ユーザデバイス504から受信された証明書と生成された証明書を比較してもよい。両方のデバイスは、ユーザデバイス504及び認証モジュール534とリモートに記憶されたハッシュ機能を使用してもよい。
【0071】
メモリ306はまた、トークンデータストア524を含んでもよい。トークンデータストア524は、アクセス制御において使用される1つ以上のトークンを含んでもよい。例えば、トークンは、ハッシュ機能のために入力されてもよく、出力は、トークンに対応する証明書またはデジタル署名であってもよい。
【0072】
いくつかの例では、リモートサーバ502のモジュール及び機能性は、ユニバーサルアクセス制御デバイス506のメモリにより記憶されてもよい。例えば、ユニバーサルアクセス制御デバイス406は、ユーザデバイス504から受信された証明書と生成された証明書を比較するための認証モジュール534を含んでもよい。両方のデバイスは、ユーザデバイス504及びユニバーサルアクセス制御デバイス506とリモートに記憶されたハッシュ機能を使用してもよい。これは、ユニバーサルアクセス制御デバイス506とリモートサーバ502との間のネットワーク接続性が一貫せず、またはロストするときに、安全なロケーションへのアクセスを可能にすることができる。
【0073】
図6は、開示の実施形態に従った、ユーザデバイス及び/またはコンピューティングデバイスに記憶されたトークンのサンプル実例を示す。実例600では、ユーザデバイス602は、1つ以上のトークン604を記憶してもよく、リモートサーバ606(例えば、コンピューティングデバイス)はまた、1つ以上のトークン610をデータストア608に記憶してもよい。1つ以上のトークン604は、ユーザデバイス602のセキュア要素
及び/またはユーザデバイス602における暗号化されたファイルフォーマットに記憶されてもよい。ユーザデバイス602の1つ以上のトークン604及びリモートサーバ606の1つ以上のトークン610は、ユーザデバイス602によるアクセスポイントへのアクセスを得るために、アクセス制御システム612に送信されなくてもよい。
【0074】
いくつかの例では、ユーザデバイス602の1つ以上のトークン604は、リモートサーバ608に送信されなくてもよい。代わりに、ユーザデバイス602は、アクセス制御システム612にデジタル署名または他の証明書を送信してもよく、アクセス制御システム612は、認証のためにリモートサーバ606にそれを送信する。
【0075】
1つ以上のトークン604がアクセス制御システム612に送信されるとき、アクセス制御システム612は、リモートサーバ606ではなく、ユーザデバイスが安全なロケーションへのアクセスを要求するときの時間に、キャッシュされまたはローカルに記憶された証明書を使用して、ユーザデバイス602を認証することを可能にされてもよい。例えば、第1の時間において、1つ以上のトークン604は、安全なロケーションにアクセスする第1の要求に応じてアクセス制御システム612に送信される。第2の時間において、1つ以上のトークン604を使用して、アクセス制御システム612は、デジタル署名を生成するために、トークンによって署名されることになる電子データの一方向ハッシュを生成してもよい。アクセス制御システム612は、ロケーションへのアクセスを取得する第2の要求を受信することができる。第2の要求は、アクセス制御ユニット612とユーザデバイスとの間で通信プロトコル(例えば、Bluetooth(登録商標)など)を介して開始されてもよい。
【0076】
アクセス制御システム612及びリモートサーバは、ユーザデバイスを通じて提供された通信チャネルを介して通信してもよい。例えば、アクセス制御システム612は、それらのデバイスの間の通信プロトコルが動作可能でないときに(例えば、不良な受信領域、ロストしたサービスなど)、リモートサーバと通信しなくてもよい。代わりに、アクセス制御システム612は、認証のためのデジタル署名を生成してもよく、ユーザデバイスの通信機能性を使用して(例えば、Wi-Fiを介してなど)リモートサーバにこの第2のデジタル署名を送信してもよい。ユーザデバイスは次いで、アクセス制御システム612の代わりに、通信プロトコルを介してリモートサーバに、1つがユーザデバイスによって生成され、1つがアクセス制御システム612によって生成された両方のデジタル署名を送信してもよい。
【0077】
いくつかの例では、アクセス制御システム612は、ローカルに記憶されたトークン、及び公開鍵または非対称暗号化を使用して、アクセス制御システム612における同様の署名処理を使用した1つ以上のトークン604を使用して、デジタル署名を生成してもよい。アクセス制御システム612は次いで、例えば、安全なロケーションへのドアをアンロックする命令を送信することによって要求された、認可された時間範囲に対応するユーザデバイス602に対してロケーションへのアクセスを許可してもよい。
【0078】
いくつかの例では、リモートサーバ606は、トークンの有効性を追跡してもよい。例えば、トークンが満了したとき、リモートサーバ606は、データストア608において無効なものとしてトークンを識別してもよく、またはデータストア608からトークンを削除してもよい。いくつかの例では、リモートサーバ606は、ユーザデバイス602に障害が起きたと識別してもよい。リモートサーバ606は、データストア608から記憶されたトークンを削除してもよく、または記憶されたトークンを削除することなく、データストアにおいて記憶されたトークンをタグ付けしてもよい。記憶されたトークンをタグ付けすることは、トークンを使用できないようにすることができ、リモートサーバ606は、ユーザデバイスが無効なトークンによって生成された証明書またはデジタル署名を送
信するとき、ユーザデバイス602を認証しなくてもよい。
【0079】
図7は、開示の実施形態に従った、ロケーションへのアクセスについての要求を送信するためのユーザインタフェースの例を示す。実例700では、コンピューティングデバイス704(例えば、リモートサーバ、第三者エンティティなど)は、安全なロケーションへのアクセスを取得することを要求するために、ユーザデバイス702によってアクセスされるユーザインタフェース706を提供してもよい。例えば、ユーザデバイス702は、複数のロケーション、時間オプション、時間範囲(例えば、開始時間、終了時間など)、及び対応するロケーションへのアクセスを要求するためのツールを識別するネットワークページ706と対話してもよい。いくつかの例では、ユーザデバイス702は、ユーザデバイス702がロケーションにアクセスすることを計画する開始時間及び終了時間を選択するために、ユーザインタフェース706と対話してもよい。ユーザインタフェース706は、ユーザデバイス702がアクセスすることを許可されるロケーション及び時間範囲をユーザインタフェースにおいて表示してもよい。他のタイプの情報は、本開示の範囲から逸脱することなく、ネットワークページ706において提示されてもよい。
【0080】
いくつかの例では、ユーザインタフェース706は、ロケーションへのアクセスを許可することと関連付けられたトランザクションを開始するように構成されてもよい。例えば、ユーザインタフェース706は、時間範囲の間にロケーションへのアクセスを許可するために、ユーザ識別子及び/または支払オプションを受信してもよい。トランザクションの詳細は、ロケーション及び時間範囲の期間に少なくとも部分的に基づいて変化してもよい。いくつかの例では、トランザクションの詳細は、ユーザ識別子にも少なくとも部分的に基づいて変化してもよい。
【0081】
いくつかの例では、ユーザインタフェース706は、ロケーションにアクセスする複数の要求を一度に受信するように構成されてもよい。例えば、ユーザは、ユーザインタフェース706において複数のロケーション及び複数の時間範囲を識別してもよく、単一のトランザクションを開始してもよい。いくつかの例では、リモートサーバは、単一のトランザクションと関連付けられた複数のトークンを送信してもよい。複数のトークンの各々は、単一のトランザクションにおいて要求を開始したユーザデバイスに対応してもよく、各々の個々のトークンは、各々の個々のロケーション及び時間範囲に対応してもよい。複数のトークンは、異なる時間範囲内でアクセスするための単一のロケーションに対応してもよい。
【0082】
図8は、開示の実施形態に従った、要求を生成及び送信する例示的な方法を示す。実例800では、ユーザデバイス802(
図3に表されるユーザデバイス304の例であってもよい)は、1つ以上のロケーション、時間オプション、及び対応するロケーションへのアクセスを要求するためのツールを選択するために、
図7に示されるネットワークページにアクセスしてもよい。リモートサーバ806を含む、本出願全体を通じて説明される1つ以上のコンピューティングデバイスは、要求されたロケーション(複数可)へのアクセスを許可するためにトークンを生成及び提供するためのユーザデバイス802に対応してもよい。
【0083】
ステップ820において、ユーザデバイス802は、リモートサーバ806によって提供されるネットワークページを介してアクセストークンを要求してもよい。ネットワークページは、ユーザデバイス802から情報を受信してもよく、リモートサーバ806に情報を送信してもよい。いくつかの例では、情報は、ユーザ識別子、所望のロケーション、支払またはトランザクションの開始の確認、及び時間を含んでもよい。情報は、ネットワークページにおいて提示されるロケーションにアクセスするための所望の時間を識別することができる。リモートサーバ806は、リモートサーバ806と関連付けられたデータ
ストア808に情報を記憶してもよい。
【0084】
ステップ822において、リモートサーバ806は、ユーザデバイス802についてのトークンを生成してもよい。トークンは、要求と関連付けられたパーミッションに要求をマッピングするために使用されるいずれかの適切な文字列を含んでもよい。ステップ824において、リモートサーバ806は、リモートサーバ806と関連付けられたデータストア808にトークンを記憶してもよい。
【0085】
ステップ826において、リモートサーバ806は、ユーザデバイス802にトークンを送信してもよい。リモートサーバ806は、第1の通信プロトコルを介してユーザデバイス802にトークンを送信してもよい。第1の通信プロトコルは、インターネットプロトコル、ハイパーテキストトランスファープロトコル(HTTP)、トランスポートレイヤセキュリティまたはセキュアソケットレイヤによって暗号化された接続内のHTTP(HTTPS)などを含んでもよい。トークンを送信するとき、ユーザデバイス802は、ユーザデバイス802がアクセス制御ユニット804と共にロケーションに位置しないことがあるので、第1の通信プロトコルへのアクセスを容易に有することがあるが、後のために、ロケーションへのアクセスを予約していることがある。いくつかの例では、第1の通信プロトコルを介した送信は、ユーザデバイス802が第1の通信プロトコルと関連付けられた通信ネットワークへのアクセスを有するときに開始されてもよい。ユーザデバイス802は、ユーザデバイス802のメモリにトークンをローカルに記憶してもよい。
【0086】
図9は、開示の実施形態に従った、ロケーションへのアクセスについての要求を送信するためのユーザインタフェースの例を示す。900に示されるように、ユーザデバイス902は、ロケーションへのアクセスを可能にするためのモジュールまたはソフトウェアアプリケーションを含んでもよい。ユーザデバイス902は、ユーザデバイスが安全なロケーションにおいてアクセス制御ユニットの近接した距離内にあるときにモジュールにアクセスしてもよい。
【0087】
安全なロケーションにおいて、ユーザは、認証処理を開始し、ロケーションへのアクセスを得るために、ユーザデバイス902のユーザインタフェースを介してツール906を活性化してもよい。ツール906を活性化すると、ユーザデバイス902は、リモートサーバによって前に提供されたトークンにアクセスしてもよい。ユーザデバイス902は、アクセス制御ユニットに提供するデジタル署名または証明書を生成するために、ハッシュ機能への入力としてトークンを使用してもよい。デジタル署名は、安全なロケーションへのアクセスを前に要求したユーザデバイス902を識別することができ、ユーザデバイス902が安全なロケーションにアクセスすることを試みている時間を識別することができ、また、アクセス制御ユニットにトークンを送信することなく、ユーザデバイス902がトークンへのアクセスを有することを確認することができる。
【0088】
ユーザデバイス902は、ユーザデバイス902の一時的または永続的記憶装置にデジタル署名または証明書を記憶してもよい。いくつかの例では、デジタル署名または証明書は、デジタル署名または証明書を記憶することなく、アクセス制御ユニットに送信されてもよく、その結果、デジタル署名または証明書がほぼリアルタイムで生成及び送信される。デジタル署名または証明書は、認証処理の間にアクセス制御ユニットに送信されてもよい。
【0089】
いくつかの例では、ユーザデバイス902は、デジタル署名または証明書と共にユーザデバイス902のロケーションを送信してもよい。ユーザデバイス902のロケーションが認証のためにリモートコンピューティングデバイスによって受信されるとき、ユーザデバイス902のロケーションは、ロケーションが相互に閾値の距離内にあることを確認す
るために、アクセス制御ユニットの記憶されたロケーションと比較されてもよい。アクセス制御ユニットの記憶されたロケーションは、ユーザデバイス902とアクセス制御ユニットとの間の対話の前に、リモートコンピューティングデバイスによって判定されてもよい。
【0090】
図10は、開示の実施形態に従った、要求を生成及び送信する例示的な方法を示す。実例1000では、第1の実例的な例が提供され、そこでは、ユーザデバイス1002を操作するユーザが、本明細書で説明されるアクセス制御デバイス1004及びリモートサーバ1006を使用して、安全なドア1010または駐車場ガレージへの入場を得ることを望む。この実例的な例を目的として、ユーザが、ガレージが位置する建物に配送を行っていることを想定する。この例では、ユーザは、アクセス制御ユニット1004に対してバックエンドのサポートを提供するリモートサーバ1006と通信してアクセストークンを要求するために、ユーザデバイス1002を使用してもよい。この例では、リモートサーバ1006は、ユーザの配送スケジュールへのアクセスを有してもよく、ユーザがドア1010へのアクセスを必要とする配送を有すると判定してもよい。リモートサーバ1006は次いで、ユーザのユーザデバイス1002にアクセストークンを送信してもよい。ガレージに到達すると、ユーザのモバイルデバイスは、発見処理を通じて無線受信機(例えば、無線通信標準のBluetooth(登録商標)シリーズに従った無線受信機)を使用してアクセス制御ユニット1004を検出してもよい。このシナリオでは、アクセス制御ユニット1004は、自動化ガレージドア開放システムにおいて使用されるドア1010の無線受信機に近接して位置してもよい。
【0091】
ステップ1020において、ユーザデバイス1002は、無線信号を介してアクセス制御デバイス1004にデジタル署名または証明書を送信してもよい。例えば、ユーザデバイス902は、第1の通信プロトコルを介してロケーションのアクセスポイントにおいて、アクセス制御ユニット1004と対話してもよく、第1の通信プロトコルを介してデジタル署名または証明書を送信してもよい。
【0092】
トークンは、デジタル署名を生成するためにユーザデバイス1002によって使用されてもよい。例えば、ユーザデバイス1002は、デジタル署名のデータマップにトークンの文字を相関付けるためにハッシュ機能を記憶してもよい。この例では、同一のハッシュ機能を使用するいずれかの他のデバイスは、ハッシュ機能が同一のトークンを使用するときに同一のデジタル署名を生成することが可能であってもよい。この例では、2つのデジタル署名が異なるデバイスによって生成されてもよいが、デバイスが同一のハッシュ機能及び同一のトークンの複製を使用するときに同一のデジタル署名を生成してもよい。デジタル署名を生成した第1のトークンは、第2のトークンと比較されてもよく、それらが一致するとき、デジタル署名を生成したデバイスは、デジタル署名を生成するために正確なトークを受信したとして認証されてもよい。
【0093】
ステップ1022において、アクセス制御デバイス1004は、第2の通信プロトコルを介してリモートサーバ1006にデジタル署名を含む要求を送信するために、リモートサーバ1006と通信してもよい。要求は、ユーザデバイス1002のデジタル署名、及びユーザデバイス1002から対話を受信するアクセス制御ユニット1004の識別子を含んでもよい。アクセス制御ユニット1004の識別子は、ユーザデバイス1002がアクセスすることを試みているロケーションを識別するために使用されてもよい。
【0094】
ステップ1024において、リモートサーバ1006は、アクセス制御ユニット1004及び/またはユーザデバイス1002に対応する、記憶されたアクセストークンをフェッチしてもよい。
【0095】
ステップ1026において、リモートサーバ1006は、記憶されたトークンを使用して第2のデジタル署名を計算してもよく、ユーザデバイス1002に記憶されたトークンを使用して、受信されたデジタル署名と、記憶されたトークンを使用した第2のデジタル署名を比較してもよい。リモートサーバ1006は、一致を判定してもよい。許可されたロケーション及び時間はまた、データストア126において識別されてもよい。
【0096】
ステップ1028において、リモートサーバ1006は、他の制御ロジックを実行してもよい。例えば、リモートサーバ1006は、受信されたデータに少なくとも部分的に基づいて、デジタル署名、トークン、またはアクセスが要求された時間が許可されるかを判定してもよい。
【0097】
サンプル実例では、リモートサーバ1006は、データストア1008においてメインストリート上の建物Aに対応するトークンAを識別してもよい。アクセス制御ユニット1004からの要求は、午後1時に受信されてもよい。リモートサーバ1006は、データストア1008においてトークンAを識別してもよく、安全なロケーションにアクセスするために許可された時間が午後2時~午後4時にあるかを判定してもよい。この例では、アクセスの要求された時間が要求された時間範囲内にないことを理由に、ロケーションへのアクセスが拒否されてもよい。ロケーションにアクセスするための要求された時間がデータストア1008において識別された時間範囲内にあるとき、ロケーションへのアクセスが許可されてもよい。
【0098】
ステップ1030において、リモートサーバ1006は、権限付与メッセージ(例えば、ユーザデバイス1002に対してアクセスの認可または拒否を示す)を送信してもよい。権限付与メッセージは、計算されたデジタル署名及び受信されたデジタル署名が一致するかに少なくとも部分的に基づいてもよい。
【0099】
ステップ1032において、アクセス制御ユニット1004は、リモートサーバ1006からの応答を検証してもよい。例えば、アクセス制御ユニット1004は、権限が付与されたデータを有する権限付与メッセージの送信者または内容を確認するアクセス制御システムに対応してもよい。
【0100】
ステップ1034において、アクセス制御ユニット1004は、ドアを開放する命令を送信し、及び/または安全領域へのアクセスを可能にする。例えば、アクセストークンが有効であると判定すると、アクセス制御ユニット1004は、自動化ガレージ-ドア開放システムのドア1010において使用される無線受信機に権限付与コードを送信して、それにガレージのドアを開放させるように構成されてもよい。ユーザは次いで、ガレージに入場し、配送を行うことが可能である。
【0101】
別の例では、ロケーションへのアクセスが許可されてもよい。例えば、リモートサーバ1006は、通信プロトコルを介してアクセス制御ユニット1004に確認メッセージを送信してもよい。別の例では、ドアはアンロックされてもよく、ユーザデバイスは、アンロックされたドアを通じて入場することが許可されてもよい。
【0102】
ステップ1036において、アクセス制御ユニット1004は、ユーザデバイス1002に第2の権限付与メッセージを送信する。例えば、アクセスのパーミッションは、ユーザに提供されるユーザインタフェース上で表示されてもよい。
【0103】
図11は、開示の実施形態に従った、要求を生成及び送信する代替する例示的な方法を示す。実例1100では、第2の実例的な例が提供され、そこでは、ユーザデバイス1002を操作するユーザ、駐車場へのアクセスを得ることを望む。駐車場は、安全でないロ
ケーションにあってもよいが、監視されてもよい。例えば、ユーザデバイスは、時間範囲の間にネットワークドキュメントにおいて駐車場を予約してもよく、駐車監視員は、どの駐車場が予約されたかを判定するためにネットワークドキュメントにアクセスしてもよい。車両が予約されていない駐車場に位置するとき、駐車監視員は、車両に対して違反を発行してもよい。別の例では、駐車監視員は、特定の時間に駐車場に位置する車両がネットワークドキュメントにおいて識別されることを確認してもよく、違反は発行されなくてもよい。
【0104】
別の実例的な実施形態では、駐車場1110は、駐車場のロケーションに位置する駐車デバイス1104(例えば、メータデバイスなど)に対応してもよい。駐車デバイス1104は、車両が駐車場にアクセスすることを許可されることのインジケーションを受信してもよく、駐車場へのアクセスが許可されることをユーザインタフェース上で表示してもよい(例えば、アクセスが許可されたことを示す緑色の光、アクセスが拒否されたことを示す赤色の光など)。いくつかの例では、車両が許可されることのインジケーションは、
図7と共に示されるように、ナンバープレート、駐車場番号、またはアクセスについての要求と共に提供される車両の他の識別子に対応してもよい。インジケーションは、いくつかの例では、本開示全体を通じて議論されるデジタル署名、証明書、またはトークンに対応してもよい。いくつかの例では、駐車場へのアクセスの確認はまた、ユーザデバイス1102が駐車場1110に到達する前に、ユーザデバイス1102に送信されてもよい。これは、ユーザが駐車場1110にアクセスすることを試みるのと同時に、ユーザデバイス1102が通信ネットワークへのアクセスを有するための要件なしに、アクセスが許可されることを確認することができる。
【0105】
別の実例的な実施形態では、駐車場1110はまた、
図10と共に議論される方法を含む、本開示全体を通じて議論されるセキュアアクセスのロケーションに対応してもよい。いくつかの例では、ユーザデバイス1102は、駐車場1110と関連付けられた安全領域にアクセスするために、暗号化ハッシュ機能と共に使用することができるトークンを受信してもよい(例えば、証明書をデジタルに署名し、駐車場1110と関連付けられたアクセスポイントユニットにデジタル署名を提供し、駐車場1110と関連付けられた安全領域へのアクセスを得ることによってなど)。
【0106】
ステップ1120において、ユーザデバイス1102は、駐車場1110を使用する予約を要求するために、リモートサーバ1106によって提供されるネットワークドキュメントにアクセスしてもよい。ユーザデバイス1102は、駐車場1110にアクセスする第1の要求を提供してもよい。第1の要求は、駐車場1110にアクセスすることと関連付けられた開始時間、終了時間、ロケーションの識別子、車両もしくはユーザデバイス1102の識別子、及び/または支払情報を含んでもよい。
【0107】
ステップ1124において、リモートサーバ1106は、データストア1108に、第1の要求からのデータ(例えば、開始時間、終了時間、ロケーションの識別子、及び/または車両もしくはユーザデバイス1102の識別子)を記憶してもよい。いくつかの例では、リモートサーバ1106は、駐車場1110及び/またはユーザデバイス1102に対応する記憶されたアクセストークンをフェッチしてもよい。
【0108】
ステップ1130において、リモートサーバ1106は、駐車デバイス1104に確認を送信してもよい。駐車デバイス1104は、駐車場が予約されたかを識別するために駐車場1110に隣接した距離内に位置する、プロセッサ及びメモリを有するコンピューティングデバイスであってもよい。駐車監視員は、この情報にもアクセスするために駐車デバイス1104にアクセスしてもよい。いくつかの例では、駐車デバイス1104に記憶されたデータは、駐車監視員によってもアクセス可能なネットワークドキュメントにリモ
ートに記憶されてもよい。
【0109】
ステップ1134において、リモートサーバ1106は、開始時間と終了時間との間に駐車場1110にアクセスする予約を確認するために、ユーザデバイス1102にトークンを送信してもよい。いくつかの例では、リモートサーバ1106は、ユーザデバイス1102が駐車場1110にアクセスする第2の要求をデジタルに署名するために使用することができるトークンを送信してもよい。いくつかの例では、第2の要求は、駐車デバイス1104に送信されてもよい。
【0110】
ステップ1136において、ユーザデバイス1102は、特定の時間に駐車場1110にアクセスしてもよい。特定の時間において、駐車監視員は、駐車デバイス1104において駐車場1110の予約を確認し、またはリモートサーバ1106によって提供されたネットワークドキュメントにおいて予約を確認することによって、駐車場1110の使用が許可されることを確認してもよい。特定の時間は、アクセスが許可されることを確認するために、第1の要求からの開始時間及び終了時間と比較されてもよい。
【0111】
図12は、開示の実施形態に従った、ロケーションへのアクセスを許可するための例示的なフローチャートを示す。処理1200は、論理フローチャートとして示され、その各々の動作は、ハードウェア、コンピュータ命令、またはそれら組み合わせで実装することができる一連の動作を表す。コンピュータ命令のコンテキストでは、動作は、1つ以上のプロセッサによって実行されるとき、記載された動作を実行する1つ以上のコンピュータ可読記憶媒体に記憶されたコンピュータ実行可能命令を表す。概して、コンピュータ実行可能命令は、特定の機能を実行し、または特定のデータタイプを実装する、ルーチン、プログラム、オブジェクト、構成要素、及びデータ構造などを含む。動作が説明される順序は、限定として解釈されることを意図しておらず、いずれかの数の説明される動作は、本明細書で説明されるこの処理及びいずれかの他の処理を実装するために、省略されてもよく、またはいずれかの順序で、及び/もしくは並列して組み合わされてもよい。
【0112】
処理1200(または、本明細書で説明されるいずれかの他の処理、もしくはそれらの変形及び/もしくは組み合わせ)のうちのいくつかまたは全ては、実行可能命令で構成された1つ以上のコンピュータシステムの制御の下で実行されてもよく、コード(例えば、実行可能命令、1つ以上のコンピュータプログラム、または1つ以上のアプリケーション)として実装されてもよい。少なくとも1つの実施形態に従って、
図12の処理1200は、
図2~6に示されるコンピューティングデバイスのうちの少なくとも1つ以上によって実行されてもよい。コードは、例えば、1つ以上のプロセッサによって実行可能な複数の命令を含むコンピュータプログラムの形式で、コンピュータ可読記憶媒体に記憶されてもよい。コンピュータ可読記憶媒体は、非一時的であってもよい。
【0113】
処理1200は、1202において開始してもよく、方法120は、コンピューティングデバイス(例えば、リモートサーバなど)において、終了時間を有する時間範囲の間にロケーションへのアクセスを取得する第1の要求を受信することを含む。例えば、第1の要求は、ユーザデバイスからのデジタル署名を含んでもよい。第1の要求は、第1の時間において受信されてもよい。
【0114】
1204において、方法1200は、デジタル署名と関連付けられたトークンを生成し、コンピューティングデバイスのデータストアに記憶することを含んでもよい。例えば、トークンは、第1の要求に少なくとも部分的に基づいて生成及び記憶されてもよい。
【0115】
1206において、方法1200は、コンピューティングデバイスによって、ユーザデバイスにトークンを送信することを含んでもよい。例えば、ユーザデバイスは、コンピュ
ーティングデバイスからトークンを受信してもよい。ユーザデバイスは、トークンを使用して、例えば、ハッシュ機能を使用して、デジタル署名を生成することを可能にされてもよい。
【0116】
1208において、方法1200は、第2の時間において、ロケーションへのアクセスを取得する第2の要求を受信することを含んでもよい。例えば、コンピューティングデバイスは、アクセス制御ユニットからドアまたは駐車場と関連付けられた第2の要求を受信してもよい。ロケーションへのアクセスは、第2の時間及びユーザデバイスからのデジタル署名を含む第2の要求に対応してもよい。
【0117】
1210において、方法1200は、記憶されたトークンと受信されたデジタル署名との間の比較に少なくとも部分的に基づいて、デジタル署名を認証することを含んでもよい。
【0118】
1212において、方法1200は、認証に少なくとも部分的に基づいて、アクセスを許可することを含んでもよい。例えば、認証は、第1の要求において識別された時間範囲内にある第2の時間及びデジタル署名の成功した認証に少なくとも部分的に基づいてもよい。アクセスは、第2の時間と第1の要求において識別された終了時間との間で許可されてもよい。
【0119】
図13は、様々な実施形態に従った、態様を実装するための例示的な環境1300を示す。認識されるように、ウェブベースの環境が説明を目的として使用されるが、様々な実施形態を実装するために、異なる環境が必要に応じて使用されてもよい。環境は、適切なネットワーク1304を通じて要求、メッセージ、または情報を送信及び受信し、デバイスのユーザに情報を再度伝達するように動作可能ないずれかの適切なデバイスを含むことができる、電子クライアントデバイス1302を含む。そのようなクライアントデバイスの例は、パーソナルコンピュータ、携帯電話、ハンドヘルドメッセージングデバイス、ラップトップコンピュータ、セットトップボックス、携帯情報端末、及び電子ブックリーダなどを含む。ネットワークは、イントラネット、インターネット、セルラネットワーク、ローカルエリアネットワーク、もしくはいずれかの他のそのようなネットワーク、またはそれらの組み合わせを含む、いずれかの適切なネットワークを含むことができる。そのようなシステムに対して使用される構成要素は、選択されるネットワーク及び/または環境のタイプに少なくとも部分的に依存することがある。そのようなネットワークを介して通信するためのプロトコル及び構成要素は公知であり、本明細書で詳細に議論されない。ネットワークを通じた通信は、有線または無線接続、及びそれらの組み合わせによって可能にされてもよい。この例では、要求を受信し、それらに応じてコンテンツをサービスするためのウェブサーバ1306を環境が含むので、ネットワークはインターネットを含むが、他のネットワークについて、当業者のうちの1人によって明らかなように、同様の目的をサービスする代替するデバイスが使用されてもよい。
【0120】
実例的な環境は、少なくとも1つのアプリケーションサーバ1308及びデータストア1310を含む。適切なデータストアからデータを取得することなどのタスクを実行するように対話することができる、連結し、またはそうでない場合、構成することができる、いくつかのアプリケーションサーバ、レイヤ、もしくは他の要素、処理、または構成要素が存在してもよいことを理解するべきである。本明細書で使用されるように、用語「データストア」は、いずれかの標準、分散、またはクラスタ環境にある、いずれかの組み合わせ及び数のデータサーバ、データベース、データ記憶装置、及びデータ記憶媒体を含むことができる、データを記憶し、アクセスし、及び取り出すことが可能ないずれかのデバイスまたはデバイスの組み合わせを指す。アプリケーションサーバは、クライアントデバイスについての1つ以上のアプリケーションの態様を実行する必要に応じてデータストアと
統合し、アプリケーションについてのデータアクセス及びビジネスロジックの大部分を処理するためのいずれかの適切なハードウェア及びソフトウェアを含むことができる。アプリケーションサーバは、データストアと協働してアクセス制御サービスを提供し、この例では、ハイパーテキストマークアップ言語(「HTML」)、拡張可能マークアップ言語(「XML」)、または別の適切な構造化言語の形式でウェブサーバによってユーザにサービスすることができる、ユーザに転送されることになるテキスト、グラフィック、音声、及びビデオなどのコンテンツを生成することが可能である。全ての要求及び応答の処理と共に、クライアントデバイス1302とアプリケーションサーバ1308との間のコンテンツの配信は、ウェブサーバによって処理されてもよい。本明細書で議論される構造化コードを、本明細書で他に議論されるいずれかの適切なデバイスまたはホストマシン上で実行することができるので、ウェブ及びアプリケーションサーバは必須ではなく、例示的な構成要素にすぎないことを理解するべきである。
【0121】
データストア1310は、いくつかの別個のデータテーブル、データベース、または特定の態様に関連してデータを記憶するための他のデータ記憶機構及び媒体を含むことができる。例えば、示されるデータストアは、製造側についてコンテンツをサービスするために使用することができる、製造データ1312及びユーザ情報1316を記憶するための機構を含む。データストアはまた、報告、分析、または他のそのような目的のために使用することができる、ログデータ1314を記憶するための機構を含むように示される。上記表示された機構のうちのいずれかに必要に応じて、またはデータストア1310における追加の機構に記憶することができる、ページ画像情報について、及び権限情報にアクセスするためになど、データストアに記憶することが必要なことがある多くの他の態様が存在してもよいことを理解するべきである。データストア1310は、それらと関連するロジックを通じて、アプリケーションサーバ1308から命令を受信し、それに応じてデータを取得、更新、またはそうでない場合、処理するように動作可能である。1つの例では、ユーザは、特定のタイプの項目についての検索要求を提出してもよい。このケースでは、データストアは、ユーザの識別を検査するためにユーザ情報にアクセスしてもよく、そのタイプの項目に関する情報を取得するためにカタログ詳細情報にアクセスすることができる。情報は次いで、ユーザデバイス1302上のブラウザを介してユーザが閲覧することが可能なウェブページ上に表示する結果などにおいて、ユーザに返されてもよい。対象の特定の項目についての情報は、専用ページまたはブラウザのウインドウにおいて閲覧されてもよい。
【0122】
各々のサーバは、典型的には、全体的な管理及びそのサーバの動作のための実行可能なプログラム命令を提供するオペレーティングシステムを含み、典型的には、サーバのプロセッサによって実行されるとき、サーバがその意図された機能を実行することを可能にする命令を記憶したコンピュータ可読記憶媒体(例えば、ハードディスク、ランダムアクセスメモリ、リードオンリメモリなど)を含む。オペレーティングシステム及びサーバの全体的な機能性についての適切な実装態様は既知であり、商業的に利用可能であり、特に、本明細書における開示を考慮して、当業者によって容易に実装される。
【0123】
1つの実施形態における環境は、通信リンクを介して、1つ以上のコンピュータネットワークまたは直接接続を使用して相互接続された、いくつかのコンピュータシステム及び構成要素を利用した分散コンピューティング環境である。しかしながら、そのようなシステムは、
図13に示される構成要素よりも少ないまたは多い数の構成要素を有するシステムにおいて良好に等しく動作することが当業者によって認識されよう。よって、
図13におけるシステム1300の表示は、本質的に実例的であり、本開示の範囲を限定しないものと見なされるべきである。
【0124】
様々な実施形態は、いくつかのケースでは、いくつかのアプリケーションのうちのいず
れかを動作させるために使用することができる、1つ以上のユーザコンピュータ、コンピューティングデバイス、または処理装置を含むことができる、広範囲な動作環境で更に実装されてもよい。ユーザまたはクライアントデバイスは、標準オペレーティングシステムを稼働させるデスクトップまたはラップトップコンピュータと共に、モバイルソフトウェアを稼働させ、いくつかのネットワーキング及びメッセージングプロトコルをサポートすることが可能なセルラ、無線、及びハンドヘルドデバイスなど、いくつかの汎用パーソナルコンピュータのうちのいずれかを含むことができる。そのようなシステムはまた、様々な商業的に利用可能なオペレーティングシステム、並びに開発及びデータベース管理などを目的とした他の既知のアプリケーションのうちのいずれかを稼働させるいくつかのワークステーションを含むことができる。それらのデバイスはまた、ダミー端末、シンクライアント、ゲーミングシステム、及びネットワークを介して通信することが可能な他のデバイスなど、他の電子デバイスを含むことができる。
【0125】
ほとんどの実施形態は、伝送制御プロトコル/インターネットプロトコル(「TCP/IP」)、オープンシステムインターコネクト(「OSI」)、ファイル転送プロトコル(「FTP」)、ユニバーサルプラグアンドプレイ(「UpnP」)、ネットワークファイルシステム(「NFS」)、コモンインターネットファイルシステム(「CIFS」)、及びAppleTalkなど、様々な商業的に利用可能なプロトコルのうちのいずれかを使用して通信をサポートするための、当業者が精通した少なくとも1つのネットワークを利用する。ネットワークは、例えば、ローカルエリアネットワーク、ワイドエリアネットワーク、仮想プライベートネットワーク、インターネット、イントラネット、エクストラネット、公衆交換電話網、赤外線ネットワーク、無線ネットワーク、及びそれらのいずれかの組み合わせであってもよい。
【0126】
ウェブサーバを利用する実施形態では、ウェブサーバは、ハイパーテキストトランスファープロトコル(HTTP)サーバ、FTPサーバ、コモンゲートウェイインタフェース(「CGI」)サーバ、データサーバ、Java(登録商標)サーバ、及びビジネスアプリケーションサーバを含む、様々なサーバまたはミッドティアアプリケーションのうちのいずれを稼働させることができる。サーバ(複数可)はまた、Java(登録商標)、C、C#、もしくはC++などのいずれかのプログラミング言語、またはPerl、Python、もしくはTCLなどのいずれかのスクリプト言語と共に、それらの組み合わせで記述された1つ以上のスクリプトまたはプログラムとして実装することができる、1つ以上のウェブアプリケーションを実行することによってなど、ユーザデバイスからの要求に応じてプログラムまたはスクリプトを実行することが可能であってもよい。サーバ(複数可)はまた、Oracle(登録商標)、Microsoft(登録商標)、Sybase(登録商標)、及びIBM(登録商標)からの商業的に利用可能なデータベースサーバを含むがそれらに限定されない、データベースサーバを含んでもよい。
【0127】
環境は、上記議論された様々なデータストア、並びに他のメモリ及び記憶媒体を含むことができる。それらは、コンピュータのうちの1つ以上にローカルに(及び/もしくはそれに存在する)、またはネットワークにわたってコンピュータのいずれかのもしくは全てからリモートに存在することができる。実施形態の特定の組では、情報は、当業者が精通したストレージエリアネットワーク(「SAN」)に存在してもよい。同様に、コンピュータ、サーバ、または他のネットワークデバイスに起因した機能を実行するためのいずれかの必要なファイルは、必要に応じてローカル及び/またはリモートに記憶されてもよい。システムがコンピュータ化されたデバイスを含む場合、各々のそのようなデバイスは、バスを介して電気的に結合することができるハードウェア要素を含むことができ、要素は、例えば、少なくとも1つの中央処理装置(「CPU」)、少なくとも1つの入力デバイス(例えば、マウス、キーボード、コントローラ、タッチスクリーン、またはキーパッド)、及び少なくとも1つの出力デバイス(例えば、ディスプレイデバイス、プリンタ、ス
ピーカ)を含む。そのようなシステムはまた、ランダムアクセスメモリ(「RAM」)またはリードオンリメモリ(「ROM」)などのディスクドライブ、光学式記憶装置、及びソリッドステート記憶装置などと共に、着脱可能媒体装置、メモリカード、フラッシュカードなどの1つ以上の記憶装置を含んでもよい。
【0128】
そのようなデバイスはまた、上記説明されたコンピュータ可読記憶媒体リーダ、通信デバイス(例えば、モデム、ネットワークカード(無線または有線)、赤外線通信デバイスなど)、及びワーキングメモリを含むことができる。コンピュータ可読記憶媒体リーダは、リモート、ローカル、固定、及び/または着脱可能記憶装置を表すコンピュータ可読記憶媒体と共に、コンピュータ可読情報を一時的及び/もしくはより永続的に含み、記憶し、送信し、及び取り出すための記憶媒体と接続されてもよく、またはそれらを受けるように構成されてもよい。システム及び様々なデバイスはまた、典型的には、オペレーティングシステム、及びクライアントアプリケーションまたはウェブブラウザなどのアプリケーションプログラムを含む、少なくとも1つのワーキングメモリデバイス内に位置するいくつかのソフトウェアアプリケーション、モジュール、サービス、または他の要素を含む。代替的な実施形態は、上記説明されたものからの多数の変形を有してもよいことを認識するべきである。例えば、カスタマイズされたハードウェアも使用されてもよく、及び/または特定の要素がハードウェア、ソフトウェア(アプレットなどのポータブルソフトウェアを含む)、もしくはその両方で実装されてもよい。更に、ネットワーク入力/出力デバイスなどの他のコンピューティングデバイスへの接続が採用されてもよい。
【0129】
コード、またはコードの一部を含む記憶媒体のコンピュータ可読媒体は、それらに限定されないが、RAM、ROM、電気的消去可能リードオンリメモリ(「EEPROM」)、フラッシュメモリもしくは他のメモリ技術、コンパクトディスクリードオンリメモリ(「CD-ROM」)、デジタル多用途ディスク(DVD)もしくは他の光学式記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置もしくは他の磁気記憶装置、または所望の情報を記憶するために使用することができ、システムデバイスによってアクセスすることができる、いずれかの他の媒体を含む、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータの記憶及び/または送信のためのいずれかの方法または技術で実装された揮発性及び不揮発性、着脱可能及び着脱不能媒体など、記憶媒体及び通信媒体を含む、本分野において既知であり、または使用されるいずれかの適切な媒体を含むことができる。本明細書で提供される開示及び教示に基づいて、当業者は、様々な実施形態を実装するための他の方式及び/または方法を認識するであろう。
【0130】
したがって、明細書及び図面は、限定的な意味ではなく、実例的であると見なされることになる。しかしながら、特許請求の範囲に示されるように、本開示のより広い精神及び範囲から逸脱することなく、それらに様々な修正及び変更が行われてもよいことが明白である。
【0131】
他の変形が本開示の精神の中にある。よって、開示される技術は、様々な修正及び代替する構造の影響を受け、それらの特定の示される実施形態は、図面に示され、上記で詳細に説明されている。しかしながら、本開示を開示される特定の形式または形式(複数)に限定することを意図しておらず、逆に、添付の特許請求の範囲において定義されるように、本開示の精神及び範囲内にある全ての修正、代替する構造、及び同等物をカバーすることを意図している。
【0132】
用語「a」、「an」、「the」、及び開示される実施形態を説明するコンテキスト(特に、以下の特許請求の範囲のコンテキスト)における同様の指示語の使用は、本明細書で他に示されない限り、またはコンテキストによって明確に相反しない限り、単数形及び複数形の両方をカバーすると解釈されることになる。用語「comprising(含
む)」、「having(有する)」、「including(含む)」、「containing(含む)」は、他に述べられない限り、制限がない用語(すなわち、「including,but not limited to(それに限定されないが含む)」を意味する)として解釈されることになる。用語「connected(接続される)」は、仲介する何かが存在する場合であっても、部分的または全体的に中に含まれ、取り付けられ、または共に結合されるものとして解釈されることになる。本明細書における値の範囲の記載は、本明細書で他に示されない限り、その範囲内にある各々の別個の値を個々に指す簡略方法としての役割を果たすことが意図されるにすぎず、各々の別個の値は、それが本明細書で個々に記載されたように本明細書に組み込まれる。本明細書で説明される全ての方法は、本明細書で他に示されない限り、またはコンテキストによって明確に相反しない限り、いずれかの適切な順序で実行されてもよい。本明細書で提供されるいずれか及び全ての例、または例示的な言語(例えば、「such as(など)」)は、本開示の実施形態をより良好に理解を容易にすることを意図しているにすぎず、他に特許請求されない限り、本開示の範囲の限定を引き起こさない。本明細書におけるいずれの言語も本開示の実施に必須であるいずれかの特許請求されていない要素として解釈でされるできではない。
【0133】
フレーズ「at least one of X,Y,or Z(X、Y、またはZのうちの少なくとも1つ)」などの選言的言語は、他に特に述べられない限り、項目、用語などがX、Y、もしくはZ、またはそれらのいずれかの組み合わせ(例えば、X、Y、及び/またはZ)のいずれかであってもよいことを全体的に示すために使用されるものとしてコンテキスト内で理解されることを意図している。よって、そのような選言的言語は、概して、存在する各々に対しXのうちの少なくとも1つ、Yのうちの少なくとも1つ、またはZのうちの少なくとも1つを特定の実施形態が必要とすることを意図しておらず、そのように暗に意味されるべきではない。
【0134】
本開示を実施するための発明者にとって既知の最良の形態を含む、本開示の好ましい実施形態が本明細書で説明される。それらの好ましい実施形態の変形は、前述の説明を読むと当業者にとって明らかになることができる。発明者は、そのような変形を必要に応じて採用する当業者を予期し、発明者は、本開示が特に本明細書で説明される以外に実施されることを意図している。したがって、本開示は、適用可能な法によって許容されるように、以下に添付される特許請求の範囲に記載される主題の全ての修正及び同等物を含む。更に、それらの全てのとり得る変形における上記説明された要素のいずれかの組み合わせは、本明細書で他に示されない限り、またはコンテキストによって明確に相反しない限り、本開示に含まれる。
【0135】
本明細書で引用される出願公開、特許出願、特許を含む全ての参考文献は、各々の参考文献が参照によって個々に且つ特に組み込まれるものと示されるたように、その全体が本明細書で示されたように同じ程度に参照によって本明細書に組み込まれる。