(57)【要約】      （修正有）【課題】関連イベントのタイムラインを生成する。【解決手段】方法は、タイムラインに沿って提示するためにイベントログからイベントを選択する。興味のある区間及びパーティションサイズを定義するための、タイムラインに関連付けられる情報を受信し、当該パーティションサイズに基づいてタイムラインを複数のセグメントに分割する。さらに、セグメントの中に少なくとも１つの関連イベントを有する各セグメントを識別する。関連イベントは、セグメント内で開始され、且つ興味のある区間と重複するイベントである。識別された各セグメントについて少なくとも１つの関連イベントと関係付けられるパラメータを判定し、識別された各セグメントを指定するインデックスとともに、判定されたパラメータを提供する。判定されたパラメータ及びインデックスは、少なくとも１つの関連イベントのタイムラインを生成するためにクライアントに提供される。【選択図】図１
2015057706.tif 000002
【特許請求の範囲】
【請求項１】
タイムライン（２０２）に沿って提示するために、イベントログ（１２０）からイベントを選択するための方法（８００）であって、
興味のある区間及びパーティションサイズを定義するための、前記タイムライン（２０２）に関連付けられる情報を受信（８１０）することと、
前記パーティションサイズに基づいて、前記タイムライン（２０２）を複数のセグメントに分割（８１２）することと、
関連イベント（２０４、２０８、２１０、２１２〜２２０）は、セグメント内で開始され、且つ前記興味のある区間と重複するイベントであり、セグメントの中に少なくとも１つの関連イベントを有する各セグメントを識別（８１４）することと、
識別された各セグメントについて、前記少なくとも１つの関連イベントと関係付けられるパラメータ（２３０）を判定（８１６）することと、
前記少なくとも１つの関連イベントの前記タイムライン（２０２）をクライアント（１４０）が生成するために、識別された各セグメントを指定するインデックス（２３１〜２３５）とともに、前記判定されたパラメータ（２３０）を提供（８１８）することと、
を含む、方法（８００）。
【請求項２】
識別された各セグメントについて、前記少なくとも１つの関連イベントに関連付けられるパラメータを判定することは、
前記少なくとも１つの関連イベントに関連付けられる最も早い開始時間を判定することと、
前記少なくとも１つの関連イベントに関連付けられる最も遅い終了時間を判定することと
前記少なくとも１つの関連イベントのカウントを判定することと、
をさらに含む、請求項１に記載の方法（８００）。
【請求項３】
前記識別することは、
興味のあるイベントを識別するため、前記興味のある区間と重複するイベントを判定するために前記イベントログ（１２０）を問い合わせることと、
興味のあるイベントが前記問い合わせたセグメント内で開始するかどうかを確認するために、各セグメントについて前記イベントログ（１２０）を問い合わせ、開始する場合、前記確認されたイベントを前記問い合わせたセグメントについての関連イベントとして分類することと、
をさらに含む、請求項１又は２に記載の方法（８００）。
【請求項４】
興味のある区間を定義する情報を受信することは、
前記タイムライン上で前記興味のある区間を定義するための開始時間及び終了時間を受信することをさらに含む、請求項１〜３のうちいずれか１項に記載の方法（８００）。
【請求項５】
前記受信された開始時間、終了時間及びパーティションサイズは、前記クライアントにおいて最初にグラフィカルに（９０６）定義される、請求項４に記載の方法（８００）。
【請求項６】
前記イベントは、少なくとも１つの周辺装置（４３０）により生成されるデータによって表される、請求項１〜５のうちいずれか１項に記載の方法（８００）。
【請求項７】
イベントに関連する周辺装置（４３０）に基づいてイベントを分類することと、
前記分類に基づいてイベントにフィルタをかけることと、
をさらに含む、請求項１〜６のうちいずれか１項に記載の方法（８００）。
【請求項８】
少なくとも１つの前記周辺装置（４３０）は、前記タイムラインと一致する時間データとともに、画像データ、映像データ、又はそれらの組み合わせを収集する、請求項１〜７のうちいずれか１項に記載の方法（８００）。
【請求項９】
１秒当たりのフレーム数、解像度、フォーマット及び関連する音声データを含む、画像又は映像データに関連するメタデータに基づいて、イベントにフィルタをかけることをさらに含む、請求項８に記載の方法（８００）。
【請求項１０】
前記生成されたデータから判定される前記情報に基づいてイベントを分類することと、
前記分類に基づいてイベントにフィルタをかけることと、
をさらに含む、請求項１〜９のうちいずれか１項に記載の方法（８００）。
【請求項１１】
前記フィルタをかけることは、前記少なくとも１つの周辺装置により生成されるメタデータに基づき、前記メタデータは、前記周辺装置の位置、前記周辺装置の識別子、及び前記イベントに関連付けられる媒体の種類を含む、請求項１０に記載の方法（８００）。
【請求項１２】
前記少なくとも１つの周辺装置（４６０）は、カメラ、窓センサ、ドアセンサ、温度調節器、近接センサ、又はこれらの任意の組み合わせである、請求項１〜１１のうちいずれか１項に記載の方法（８００）。
【請求項１３】
イベントログ（１２０）から、定義された時間の区間に関連するイベントを選択するための装置（１１０、３１５）であって、
プロセッサ（７２０、４１４）と、
前記プロセッサ（７２０、４１４）に結合され、前記プロセッサに請求項１〜１２のうちいずれか１つの方法を実行させる命令を格納するメモリ（７３０、４３６）と、
を含む、装置（１１０、３１５）。
【発明の詳細な説明】
【背景技術】
【０００１】
データ収集及び制御システムは、様々な場所、施設、及び／又は処理を監視及び／又は制御するために広範なアプリケーションに渡り、ますます使用されてきている。これらのデータ収集システムは、デジタル及び／又はアナログのいずれかのフォーマットで大量のデータを生産し得る、現代の周辺装置を活用することができる。処理能力及びデータ格納ケイパビリティにおける対応する進歩は、長期間に渡る複数のデータストリームの収集を可能にし、したがって、格納するための大量のデータを生成する。
【発明の概要】
【課題を解決するための手段】
【０００２】
以下に開示される一実施形態は、タイムラインに沿って提示するために、イベントログからイベントを選択するための方法を含む。当該方法は、興味のある区間及びパーティションサイズを定義するための、タイムラインに関連付けられる情報を受信し、当該パーティションサイズに基づいて、タイムラインをいくつかのセグメントに分割し得る。当該方法は、さらに、セグメントの中に少なくとも１つの関連イベントを有する各セグメントを識別し得る。関連イベントは、セグメント内で開始され、且つ興味のある区間と重複するイベントであり得る。当該方法は、識別された各セグメントについて、少なくとも１つの関連イベントと関係付けられるパラメータを判定し、識別された各セグメントを指定するインデックスとともに、判定されたパラメータを提供し得る。判定されたパラメータ及びインデックスは、少なくとも１つの関連イベントのタイムラインを生成するために、クライアントに提供され得る。
【０００３】
別の実施形態では、当該方法は、以下を実行することにより識別された各セグメントについて、少なくとも１つの関連イベントに関連付けられるパラメータを判定し得る。追加的に、当該方法は、少なくとも１つの関連イベントに関連付けられる最も早い開始時間を判定し、少なくとも１つの関連イベントに関連付けられる最も遅い終了時間を判定し、少なくとも１つの関連イベントのカウントを判定し得る。当該方法は、興味のあるイベントを識別するため、興味のある区間と重複するイベントを判定するためにイベントログを問い合わせることにより、さらに、１つ以上のセグメントを識別し得る。当該方法は、任意の興味のあるイベントが、問い合わせたセグメント内で開始するかどうかを確認するために、各セグメントについてイベントログを問い合わせ、開始する場合、確認されたイベントを問い合わせたセグメントについての関連イベントとして分類し得る。
【０００４】
さらに別の実施形態では、当該方法は、興味のある区間を定義する情報を受信することと、タイムライン上で興味のある区間を定義するための開始時間及び終了時間を受信することと、を含み得る。受信された開始時間、終了時間、及びパーティションサイズは、クライアントにおいて最初にグラフィカルに定義され得る。
【０００５】
別の実施形態では、イベントは、少なくとも１つの周辺装置により生成されるデータによって表される。当該方法は、イベントに関連する周辺装置に基づいてイベントを分類することと、当該分類に基づいてイベントにフィルタをかけることと、をさらに含み得る。周辺装置は、タイムラインと一致する時間データとともに、画像データ、映像データ、又はそれらの組み合わせを収集し得る。当該方法は、１秒当たりのフレーム数、解像度、フォーマット及び関連する音声データを含む、画像又は映像データに関連するメタデータに基づいて、イベントにフィルタをかけ得る。周辺装置は、カメラ、窓センサ、ドアセンサ、温度調節器、近接センサ、又はこれらの任意の組み合わせを含み得る。
【０００６】
さらに別の実施形態では、当該方法は、生成されたデータから判定される情報に基づいてイベントを分類し、当該分類に基づいてイベントにフィルタをかける。フィルタをかけることは、周辺装置により生成されるメタデータに基づき得る。当該メタデータは、周辺装置の位置、周辺装置の識別子、及びイベントに関連付けられる媒体の種類を含む。
【０００７】
他の実施形態は、イベントログから、定義された時間の区間に関連するイベントを選択するための装置を含む。当該装置は、プロセッサと、当該プロセッサに結合されるメモリとを含み得る。当該メモリは、プロセッサに以下のことを行わせる命令を格納する。プロセッサは、興味のある区間及びパーティションサイズを定義するための、タイムラインに関連付けられる情報を受信し得る。プロセッサは、パーティションサイズに基づいて、タイムラインをいくつかのセグメントに分割し、セグメントの中に少なくとも１つの関連イベントを有する各セグメントを識別し得る。関連イベントは、セグメント内で開始され、且つ興味のある区間と重複するイベントであり得る。プロセッサは、識別された各セグメントについて、少なくとも１つの関連イベントと関係付けられるパラメータを判定し、識別された各セグメントを指定するインデックスとともに、判定されたパラメータを提供し得る。プロセッサは、少なくとも１つの関連イベントのタイムラインを生成し得るように、判定されたパラメータ及びインデックスをクライアントに提供し得る。
【０００８】
別の実施形態では、識別された各セグメントについて、少なくとも１つの関連イベントに関連付けられるパラメータを判定するための命令は、プロセッサに、少なくとも１つの関連イベントに関連付けられる最も早い開始時間を判定し、少なくとも１つの関連イベントに関連付けられる最も遅い終了時間を判定し、少なくとも１つの関連イベントのカウントを判定させる要因を含み得る。
【０００９】
さらに別の実施形態では、識別するための命令は、プロセッサに、興味のあるイベントを識別するために、興味のある区間と重複するイベントを判定するためのイベントログを問い合わせ、任意の興味のあるイベントが問い合わせたセグメント内で開始するかどうかを確認するために各セグメントについてイベントログを問い合わせ、開始する場合、確認されたイベントを問い合わせたセグメントについての関連イベントとして分類させ得る。
【００１０】
別の実施形態では、興味のある区間を定義する情報を受信するための命令は、プロセッサに、タイムライン上で興味のある区間を定義するための開始時間及び終了時間を受信させ得る。受信された開始時間、終了時間、及びパーティションサイズは、クライアントにおいて最初にグラフィカルに定義され得る。
【００１１】
さらに別の実施形態では、イベントは、少なくとも１つの周辺装置により生成されるデータによって表される。プロセッサは、イベントに関連する周辺装置に基づいてイベントを分類し、当該分類に基づいて関連イベントにフィルタをかけ得る。周辺装置のうち少なくとも１つは、タイムラインと一致する時間データとともに、画像データ、映像データ、又はそれらの組み合わせを収集する。プロセッサは、１秒当たりのフレーム数、解像度、フォーマット及び関連する音声データを含む、画像又は映像データに関連するメタデータに基づいて、イベントにフィルタをかけ得る。さらに別の実施形態では、プロセッサは、生成されたデータから判定される情報に基づいてイベントを分類し、当該分類に基づいて関連イベントにフィルタをかけ得る。
【００１２】
別の実施形態では、フィルタをかけることは、少なくとも１つの周辺装置により生成されるメタデータに基づき得る。当該メタデータは、周辺装置の位置、周辺装置の識別子、及びイベントに関連付けられる媒体の種類を含み得る。周辺装置は、カメラ、窓センサ、ドアセンサ、温度調節器、近接センサ、又はこれらの任意の組み合わせを含み得る。
【００１３】
他の実施形態は、以下に記載される。つまり、明確化のために、全ての実施形態が上述されているのではない。
【図面の簡単な説明】
【００１４】
【図１】イベントタイムライン生成のための効率的なイベント取得を実行し得る、例示的なクライアント−サーバ環境を示すブロック図である。
【図２Ａ】効率的な取得及びタイムライン生成のための複数のイベントに関連付けられたデータを処理するための、例示的なアプローチを示す図である。
【図２Ｂ】効率的な取得及びタイムライン生成のための複数のイベントに関連付けられたデータを処理するための、例示的なアプローチを示す図である。
【図３】イベントタイムライン生成のためのイベントを効率的な取得を実行し得る、分散型物理アクセスシステムの例示的な環境を示すブロック図である。
【図４】図３の分散型物理アクセスシステムユニットの例示的なコンポーネントを示すブロック図である。
【図５】図３の分散型物理アクセスシステムユニットの例示的な物理レイアウトを示す平面図である。
【図６】図３の分散型物理アクセスシステムユニットの例示的な物理レイアウトを示す平面図である。
【図７】図１のサーバの例示的なコンポーネントを示すブロック図である。
【図８】イベントデータの効率的な取得のための例示的な処理を示すフローチャートである。
【図９】興味のあるイベントを指定するため、及び関連イベントを表示するためにタイムラインを利用し得る例示的なグラフィカルユーザインタフェースを示す図である。
【発明を実施するための形態】
【００１５】
以下の詳細な説明は、添付図面を参照する。異なる図面における同一の参照番号は、同一又は類似のエレメントを識別する。
【００１６】
所与の大量データ制御システムは、任意の時間ピリオドを超えて生成し格納することができ、格納されたデータを取得し処理することは、特に処理及び／又はネットワークリソースについて、リソースが集中的になる可能性がある。例えば、ユーザがネットワークを介して大量のイベントから選択された特定のイベントに関連するデータにアクセスし見直そうとする場合に、データを取得するための従来技術は、データをユーザに提示する前に著しい遅延を起こす恐れがある。
【００１７】
以下に記載される実施形態は、概して、効率的なデータ取得を実行することができる処理及びシステムに関し、より詳細には、（例えば、分散型物理アクセス制御システムなどの）データ収集及び制御システムに関し得る。以下に記載される実施形態は、周辺装置を含む。周辺装置は、大量のデータを生産する可能性があるイメージセンサやビデオカメラなどの、任意の種類の監視装置を含み得る。提示される実施形態は、例えば、取得されるイベントを特徴づけるために用いられるデータの量を減少させることによって、イベントログからの効率的なイベント取得を実行し得る。取得されたデータは、例えば、クライアント装置が、取得されたイベントに関連付けられるタイムラインを生成するためにデータを要求することにより、使用され得る。
【００１８】
図１は、一実施形態における例示的な環境１００を示すブロック図である。図１に示されるように、環境１００は、サーバ１１０、イベントログ１２０、ネットワーク１３０及びクライアント１４０を含み得る。サーバ１１０は、その中に格納されたデータを制御し、維持し、及びアクセスするために、イベントログ１２０に機能的に結合され得る。イベントログ１２０は、タイムリファレンス（例えば、“タイムライン”として定義される共通のタイムリファレンス）に関連付けられ得る“イベント”の形式のデータ、及び周辺装置に関する情報及び／又は他のメタデータ等の他のデータを格納し得る。イベントは、データ収集システムにより発生が観測されることができ、例えば、タイムラインに基づく開始時間及び終了時間により特徴付けられ得る。そのようなイベントは、例えば、ビデオデータを生成するイメージセンサ等による多様な周辺装置を使用してキャプチャされ得る。クライアント１４０は、ユーザが興味のある特定のイベントを選択できることを可能にするインタフェースを提供し得る。例えば、クライアント１４０は、（例えば、当該区間の開始時間及び終了時間を定義する）タイムラインを表すグラフィック上で“興味のある区間”をユーザが指定できるようにするＧＵＩ（Graphical  User  Interface）を提示し得る。クライアント１４０は、（例えば、ネットワーク１３０を介して）ユーザが選択した興味のある区間に関連付けられるイベントをイベントログ１２０から取得するためにリクエストをサーバ１１０に送信し得る。
【００１９】
サーバ１１０は、ネットワーク１３０を介してクライアント１４０に返すイベントに関する情報を提供するレスポンスを生成し得る。このレスポンスの情報は、クライアント１４０がイベントをタイムラインと関連付けることができるように、タイムリファレンスを含むことができる。例えば、サーバ１１０により提供される情報は、クライアント１４０が、（例えば、ユーザにより指定された）興味のある区間に時間的に重複する各イベントの開始時間をタイムラインに関連して表示することを可能にすることができる。サーバ１１０により生成されるレスポンスは、ネットワーク１３０を介して素早く交換され得るように、このような方法で構築され得る。サーバ１１０からのレスポンスを受信するとすぐに、クライアントは、受信された情報を効率的に処理し、興味のある区間に関連付けられるイベントに関するタイムラインを生成し得る。
【００２０】
引き続き図１について、サーバ１１０は、１以上のクライアント１４０からリクエストをサービスし、イベントログ１２０から抽出されたデータを処理し、１以上のクライアント１４０によりリクエストされた情報を生産し、イベントログ１２０を維持するために好適な任意の種類の機械であってもよい。なぜならば、イベントログ１２０は、データベース内に格納され得るため、サーバ１１０は、イベントログ１２０にレコードを追加し、更新し、及び／又は削除するために、例えば、ＭｙＳＱＬ、Ｏｒａｃｌｅ  Ｄａｔａｂａｓｅ、Ｍｉｃｒｏｓｏｆｔ  ＳＱＬ  Ｓｅｒｖｅｒ等の、任意の種類のデータベースソフトウェアを使用することができる。サーバ１１０は、ソフトウェア内でここに記載される例示的な処理を実行することができ、当該ソフトウェアは、イベントデータを効率的に取得し、イベントのタイムラインを生成するために使用され得るデータ構造を生成するために、ＡＰＩ（Application  Programming  Interface）を使用することができる。さらに、ＡＰＩは、効率の良いＳＱＬデータベース及びコマンドのために設計され得る。サーバ１１０は、任意のオペレーティングシステムを使用する任意の種類のコンピュータであってもよく、その中の例示的なコンポーネントは、図７にさらに図示され、以下に記載されている。
【００２１】
イベントログ１２０は、１以上の周辺装置により収集されることができるイベントを表すデータを格納することができ、当該イベントは、タイムライン上の時間（例えば時間間隔）に関連付けられることができる。以下でより詳細に記載されるように、周辺装置は、映像、音声及び／又は画像データを収集し、及び／又は人間、場所及び又は物体の任意の状態を監視することができる装置（例えば、医療機器、エリア運動センサ（area  motion  sensors）、ドア及び／又は窓センサ、等）を含んでもよい。周辺装置は、図３から６に示され以下でより詳細に記載される、分散型物理アクセス制御（ＤＰＡＣ：Distributed  Physical  Access  Control）システムの一部であってもよい。さらに、イベントログ１２０は、関連する周辺装置に関する情報及び／又は周辺装置により収集されたデータを特徴付けることができる情報を提供することができるメタデータも格納してもよい。
【００２２】
例えば、メタデータは、周辺装置の位置情報（例えば、住所、郵便番号、標準参照フレーム内の地理的位置の座標等）、イベントを生成された装置の種類（カメラの名前、シリアルナンバー等）、イベントに関連するメディアの種類、及び、例えば、１秒あたりのビデオフレーム、解像度、フォーマット、音声等のこれらの任意の説明を含んでもよい。さらに、イベントについてのデータの内容を特徴付ける追加的なメタデータが格納されてもよい。例えば、メタデータは、映像内の物体認識及び／又は動作分析、画像内の顔認識、音声内の声認識等の結果発生する情報を含んでもよい。上述したように、イベントを表すデータは、ＳＱＬデータベース等のデータベース内にレコードとして格納され得る。サーバ１１０は、イベントログ１２０を格納するために使用される実際の記憶装置（例えば、内部ハードディスク、ＲＡＩＤアレイ等）を含んでもよい。あるいは、記憶装置は、サーバ１１０と分離されているが直接結合されてもよく（例えば、直接アクセス記憶ユニット、ＲＡＩＤアレイ等）、又はネットワーク１２０を介してサーバ１１０にアクセス可能であり得る記憶装置（例えば、ネットワークアクセス記憶ユニット）であってもよい。
【００２３】
ネットワーク１３０は、１以上の回線交換ネットワーク及び／又はパケット交換ネットワークを含むことができる。例えば、ネットワーク１３０は、ローカルエリアネットワーク（ＬＡＮ）、広域ネットワーク（ＷＡＮ）、メトロポリタンエリアネットワーク（ＭＡＮ）、公衆交換電話網（ＰＳＴＮ）、アドホックネットワーク、イントラネット、インターネット、光ファイバーベースのネットワーク、ワイヤレスネットワーク及び／又はこれら又は他の種類のネットワークの組み合わせを含んでもよい。
【００２４】
クライアント１４０は、興味のあるイベントを識別するため、及びイベントログ１２０に格納されている、興味のあるイベントに関するサーバ１１０からの情報をリクエストするために、ユーザがサーバ１１０とやり取りすることを可能にすることができる。興味のあるイベントを識別する情報は、例えばＧＵＩを使用して、クライアント１４０においてユーザにより手動で入力され得る。一実施形態では、ＧＵＩは、ユーザが興味のあるイベントを識別するために、興味のある区間に対応するタイムライン上の時間の一部を示すことができる、タイムライングラフィックを提示することができる。サーバ１１０は、リクエストを処理することができ、クライアント１４０は、関連イベントに関する情報を提供するために（例えば、コンパクトに）構造化されたデータをサーバ１１０から受信し得る。クライアント１４０は、ＧＵＩを使用して、関連イベントに関する情報を、グラフィカルに表示し得る。例えば、各関連イベントの開始時間は、タイムラインを表すグラフィック上の適当な点で表示されてもよい。
【００２５】
クライアント１４０は、ユーザとやり取りするためのＧＵＩを提供し、ネットワーク１３０を介してサーバ１１０とインタフェース接続されるための適当なケイパビリティを有する、任意の好適な装置であってもよい。クライアント装置１４０は、例えば、任意の種類のコンピュータ装置、ポータブル通信装置（例えば、携帯電話、スマートフォン、ファブレット、及び／又は他の種類の無線装置）、パーソナルコンピュータ若しくはワークステーション、サーバ装置、ラップトップ、タブレット若しくは他の種類のポータブルコンピュータ、及び／又は通信ケイパビリティを有する任意の種類の装置であってもよい。
【００２６】
図２Ａ及び２Ｂは、効率的な取得及びタイムライン生成のための複数のイベントに関連付けられるデータを処理するための実施形態を示す。図２Ａは、イベントについての共通のタイムリファレンスとしてサービスされ得る、例示的なタイムライン２０２を示す。タイムライン２０２は、興味のあるイベントを選択するため、及び関連イベントに関連付けられる結果を表示するための有用なメカニズムとしても、サービスされ得る。図２Ｂは、関連イベントを識別するためにサーバ１１０により生成され、関連イベントのタイムラインを生成するためにクライアント１４０により使用され得る、例示的なデータ構造２３０である。
【００２７】
図２Ａに示されるように、タイムライン２０２は、時間ｔ＝０において始まり、任意の時間ピリオドの間継続し得る。複数のイベント（２０４−２２２）が、タイムライン２０２の上に示され、タイムライン２０２では、各イベントが、時間ピリオドに関連付けられる（例えば、周辺装置により収集される）データに対応する。例えば、１以上のイベント２０４−２２２は、タイムライン上の適当な位置と並んでいる時間ピリオドを超えて取られる映像データを表すことができる。グラフの垂直方向に渡る離れた水平方向の直線は、異なるイベントに対応する。共通の時間又は時間間隔に関連付けられる直線により表されるイベントは、少なくとも部分的に並行しており、例えば複数のビデオカメラ等の異なる周辺装置により生成されるイベントを表し得る。時間ピリオドにわたって、イベントの数は膨大になる可能性がある。例えば、タイムライン２０２が約１週間延長する場合、１０万以上のイベントが、物理アクセス制御システム内のイベントログ１２０に記録される可能性がある。
【００２８】
タイムライン２０２は、パーティションサイズに基づいてＮｐ個のセグメントに分割され得る。一実施形態では、パーティションサイズは、クライアント１４０による入力パラメータとして指定され得る。このように、ユーザの入力はクライアント１４０により受信され得る。クライアント１４０は、また、“興味のある区間（interval  of  interest）”と呼ばれる時間ピリオドをタイムライン２０２上で指定し得る。興味のある区間は、開始時間及び終了時間に基づき、ユーザにより指定され得る。クライアント１４０がＧＵＩを使用する場合、区間はユーザによりグラフィカルに表され得る。興味のある区間の少なくとも一部分と重複するイベントは、“興味のあるイベント（events  of  interest）”と呼ばれる。例えば、図２Ａを参照すると、垂直な点線の間に示される、タイムライン２０２と少なくとも一部重複するイベントは、興味のあるイベントである。したがって、イベント２０４及び２０８〜２２０が、興味のあるイベントに分類される。垂直な点線により定められる時間の境界の外側に線があるイベント２０６及び２２２は、興味のあるイベントとして分類されない。
【００２９】
ユーザのリクエストごとにイベントタイムラインを生成するための関連イベントを識別するために、サーバ１１０は、次のプロセスを実行し得る。サーバ１１０は、タイムライン（ｎ＝１:Ｎｐ）内の全てのセグメントに渡る各セグメントについて、興味のある１以上のイベントが、セグメントｎ内で開始するかを判定し得る。興味のある１以上のイベントがセグメントｎ内で開始すると判定すると、これらのイベントが、“関連イベント”として識別される。言い換えると、所与のセグメントについての関連イベントは、そのセグメント内で始まり、興味のある区間と重複するイベントである。セグメントｎ内の関連イベントを識別すると、次のパラメータ、セグメントｎ内で始まるイベントのうち最も早い開始時間（ｔｎＳ）、セグメントｎ内で始まるイベントのうち最も遅い終了時間（ｔｎＥ）、セグメントｎについての関連イベントの数（カウントとして定義される）が、セグメントｎについて判定され得る。カウントがゼロではない各セグメントｎについて、パラメータｔｎＳ、ｔｎＥ及びカウントがクライアント１４０に提供され得る。この情報は、セグメントＮｐの全てについてセグメント毎を基本として判定され、例えば図２Ｂに示すテーブル２３０のようなデータ構造で、サーバ１１０によりクライアント１４０に提供され得る。
【００３０】
さらに図２Ａ及び２Ｂを参照して、以下の説明は、テーブル２３０が生成され得る方法の例を示す。タイムライン２０２を参照して、セグメントｎ＝０は、その中で始まる任意の関連するセグメントを有しないと評価されたであろう。したがってこのセグメントに関連付けられる情報は、テーブル２３０に記録されないであろう。処理は、セグメントｎ＝１に進み、その中で始まる関連イベント（即ち、興味のあるイベント２０４）を有する第１のセグメントである。その結果、プロセスは、第１のセグメントを識別するためのインデックスｎ＝１、最初の開始時間ｔ１Ｓと共に最後の終了時間ｔ１Ｅ、及び関連イベントの数（カウント＝１）、イベント２０４に関連付けられるものの全てを含む、第１の行２３１をテーブル２３０に生成し得る。セグメントｎ＝１について、イベント２０６は、興味のある区間と重複しないため関連イベントとしてカウントできず、したがって、テーブル２３０には含まれないことに留意する。
【００３１】
この例では、セグメントｎ＝２に関連付けられる関連イベントがないため、プロセスはセグメントｎ＝２をスキップしてセグメントｎ＝３に進むであろう。セグメントｎ＝３は、その中で始まる２つの関連イベント、イベント２０８及び２１０を有する。したがって、プロセスは、第３のセグメントを識別するためのインデックスｎ＝３、イベント２０８に関する最初の開始時間ｔ３Ｓと共にイベント２１０に関する最後の終了時間ｔ３Ｅを含む、第２の行２３２をテーブル２３０に生成し得る。セグメントｎ＝３の中で始まるイベントは（イベント２０８及び２１０を反映して）２つ存在する。
【００３２】
プロセスは、その中で開始する関連イベント２１２を有するセグメントｎ＝４に進むであろう。したがって、プロセスは、第４のセグメントを識別するためのインデックスｎ＝４、いずれもイベント２１２に関連付けられる最初の開始時間ｔ４Ｓと共に最後の終了時間ｔ４Ｅを含む、第３の行２３３をテーブル２３０に生成し得る。セグメントｎ＝４の中で始まる関連イベントの数は（イベント２１２を反映して）１つである。
【００３３】
セグメントｎ＝５に関連付けられる関連イベントは存在しないため、プロセスは、セグメントｎ＝５をスキップしてセグメントｎ＝６に進むであろう。セグメントｎ＝６は、その中で始まる３つの関連イベント、イベント２１４、２１６及び２１８を有する。ここで、プロセスは、第６のセグメントを識別するためのインデックスｎ＝６、イベント２１４に関連付けられる最初の開始時間ｔ６Ｓと共にイベント２１６に関連付けられる最後の終了時間ｔ６Ｅを含む、第４の行２３４をテーブル２３０内に生成し得る。関連イベント２１４、２１６及び２１８がセグメントｎ＝６内で始まるため、このインスタンスにおけるカウントは３である。
【００３４】
プロセスは、その中で開始する関連イベント２２０を有するセグメントｎ＝７に進むであろう。ここで、プロセスは、第７のセグメントを識別するためのインデックスｎ＝７、イベント２２０に全て関連付けられる最初の開始時間ｔ７Ｓと共に最後の終了時間ｔ７Ｅ、及びカウント＝１を含む、第５の行２３５をテーブル２３０内に生成し得る。セグメントｎ＝８からＮｐは、その中で開始するいかなる関連イベントも有しないため、テーブル２３０は、行２３１から２３５で完成される。
【００３５】
サーバ１１０が、タイムライン２０２中の全てのセグメントの分析を完了したら、テーブル２３０は完成し、テーブル２３０は、クライアント１４０に提供され得る。クライアント１４０は、ＧＵＩ上に表示され得るタイムライン上の関連イベントの開始時間を見せるために、テーブル２３０の情報を容易に使用することができる。クライアントは、テーブル２３０に列挙されている各セグメントに関連付けられたカウントに関する情報も見せることができる。テーブル２３０は、情報の“不可逆圧縮”を効果的に実行することにより、関連イベントに関する情報を凝縮することに留意する。この例では、テーブル２３０が、ネットワーク１３０を介した効率的な送信のためにコンパクトであるが、開始時間ｔｎＳ及び終了時間ｔｎＥは、テーブル２３０に列挙された各セグメントｎの全ての関連イベントが開始する境界を提供するだけであるため、個々の関連イベントはテーブル２３０から再構築されることができない。
【００３６】
図３は、イベントタイムライン生成のための効率的なイベントの取得を実行し得る、分散型物理アクセスシステムの例示的な環境３００を示すブロック図である。図３に示されるように、環境３００は、分散制御システム３１０（例えば、分散型物理アクセス制御システム又はＤＰＡＣＳ）、ネットワーク１３０、管理装置３４０、及びイベントログ１２０を含むことができる。
【００３７】
制御システム３１０は、システムユニット３１５−Ａ〜３１５−Ｎ（集合としては「システムユニット３１５」と呼び、個別には“システムユニット３１５”又は“ユニット３１５”と呼ぶ）を含む分散コンピューティングシステムを含み得る。システムユニット３１５は、物理アクセス制御装置を含み得る。例えば、ユニット３１５は、部屋や部屋の集合といったセキュアな領域へのアクセスを制御するアクセスコントローラを含み得る。システムユニット３１５は、リーダ（reader）装置を介して認証情報（例えば、アクセスカード認証情報）を受信し、認証情報が真正であるかを判定し、当該認証情報により表されるユーザ／装置がセキュアな領域にアクセスする権限を有するかどうか判定し得る。権限を有する場合、アクセスコントローラは、ドアのロックを開くコマンドを発行し、又はセキュアな領域へのアクセスを許可することと関連付けられる他の動作を実行し得る。
【００３８】
制御システム３１０は、１つ以上の分散されたデータセットを含み得る。分散されたデータセットは、ユニット３１５に分散されおそらくは重複して格納されたデータを含む。一実施形態では、分散されたデータセットは、複数の装置上で複製される。例えば、分散されたデータセット全体を全てのユニット３１５に格納してもよい。別の実施形態では、１つ以上のユニット３１５が、分散されたデータセットのサブセットを格納してもよい。また、分散されたデータセットは、全てのシステムユニット３１５と関連付けられてもよく、システムユニット３１５のサブセットと関連付けられてもよい。
【００３９】
一実施形態では、分散されたデータセット（例えば、合意ベース（consensus  based）の分散データベース）において変更を加えるために、ユニット３１５の間で合意が達成される。システムユニット３１５は、合意ベースの分散されたデータセットに変更を提案することができる。分散されたデータセットと関連付けられた定足数のユニット３１５によって変更が受け入れられる場合、合意が達成されることができ、変更は、関連付けられる各ユニット３１５内の分散されたデータセットの各ローカルコピーに伝播され得る。よって、定足数の関連付けられるユニット３１５が変更について賛成票を投じる場合に、分散されたデータセットにおける変更に関する合意が達成され得る。定足数とは、関連付けられるユニット３１５を支配する最小限の数に相当し得る。よって、分散されたデータセットがＮ個のユニット３１５と関連付けられている場合、Ｎが偶数の場合はＮ／２＋１個の関連付けられるユニット３１５が変更に賛成票を投じれば定足数に達し、Ｎが奇数の場合は（Ｎ−１）／２＋１個の関連付けられるユニット３１５が変更に賛成票を投じれば定足数に達し得る。定足数を達成するのに最小限の多数を必要とすることによって、２つの競合する提案が検討される場合に、少なくとも１つのシステムユニット３１５が双方の提案を受信し、合意のためにそれらの提案のうちの１つを選択することが保証され得る。
【００４０】
合意ベースの分散されたデータセットは、分散されたデータセットと関連付けられる任意のシステムユニット３１５が、分散されたデータセットによって管理される情報（例えば、一実施形態におけるすべての情報）を含むことを保証し得る。例えば、分散されたデータセットはアクセスルールを含んでもよく、アクセスルールは、分散されたデータセットと関連付けられる任意のシステムユニット３１５にとって利用可能であってもよい。このように、１つ以上の分散されたデータセットの結果として、一実施形態では、制御システム３１０は、サーバ装置といった中央制御装置のない非集中型システムに対応しうる。他の実施形態では、制御システム３１０は、非集中型システムと、（サーバ装置といった）中央制御装置の両方を含み得る。制御システム３１０への変更は任意のシステムユニット３１５において構成されることができ、変更が分散されたデータセットと関連付けられる場合には、変更は分散されたデータセットと関連付けられた他のシステムユニット３１５に伝播され得る。さらに、制御システム３１０は、デバイス障害に関して、シングルポイントの障害が回避され得るようなロバスト性を呈し得る。例えば、特定のシステムユニット３１５に障害が発生した場合、他のユニット３１５は、データのロスなしで（又はデータの最小限のロスのみで）動作を継続し得る。別の実施形態では、合意なしで分散されたデータセットへの変更が行われてもよい。
【００４１】
一実施形態では、１以上のユニット３１５は、イベントデータを生成し、ネットワーク１３０を介してイベントログ１２０にイベントデータを提供し得る。これは、非集中的な方法で実行され、上述した合意ベースのアプローチにより調整され得る。さらに、制御システム３１０は、イベントログ１２０を維持し、アクセスするために、ソフトウェアを実行し得る。ソフトウェアは、制御システム３１０の環境内で実行されるように具体的に設計されたデータベースソフトウェアを含み得る。他の実施形態では、制御システム３１０は、非集中的なシステムと、上述したサーバ１１０（図３には示さず）のような中央制御装置の両方を含んでもよい。この実施形態では、サーバは、図１の説明において上述したように、イベントログ１２０とやり取りすることができる。
【００４２】
ネットワーク１３０は、ユニット３１５が相互に通信し、イベントログ１２０と通信することを可能にすることができ、及び／又は管理装置３４０が特定のユニット３１５と通信することを可能にすることができる。
【００４３】
管理装置（administration  device）３４０は、制御システム３１０を構成し、制御システム３１０の構成を変更し、制御システム３１０から情報を受信し、及び／又はそれ以外に制御システム３１０を管理するために、管理者が特定のユニット３１５に接続することを可能にする。管理装置３４０は、ユニット３１５と通信するように構成される任意の装置を含み得る。例えば、管理装置３４０は、携帯用通信機器（携帯電話、スマートフォン、ファブレット機器、ＧＰＳ（global  positioning  system）装置、及び／若しくは別の種類の無線装置など）、パーソナルコンピュータ若しくはワークステーション、サーバ装置、ラップトップ、タブレット、若しくは別の種類の携帯用コンピュータ、並びに／又は通信ケイパビリティを有する任意の種類の装置を含み得る。
【００４４】
一実施形態では、管理装置３４０は、図１を参照して上述したようにクライアント１１０の機能も実行することができ、ユーザが興味のある区間及び又はタイムラインのパーティションサイズを指定することを可能にする。さらに、管理装置３４０は、タイムラインを生成するために関連イベントに関する情報を受信するため、１以上のユニット３１５及びサーバ１１０（図３に図示せず）とやり取りすることができる。代替的な実施形態では、別個のクライアント装置１４０（図３に図示せず）が、ユニット３１５及び／又は別個のサーバ１１０とやり取りするために提供され得る。
【００４５】
図３には環境３００の例示的なコンポーネントが示されているが、他の実装では、環境３００は、図３に示すものと比べてより少数のコンポーネント、異なるコンポーネント、異なる配置のコンポーネント、又は追加的なコンポーネントを含んでもよい。追加的又は代替的に、環境３００内の任意の１つの装置（又は任意の装置群）は、環境３００内の１つ以上の他の装置によって実行されるとして記載されている機能を実行し得る。さらに、例示的な分散制御システム３１０は、物理アクセス分散制御システムを含み得るが、他の実装は、物理アクセス以外の制御システムを含んでもよい。他方、分散制御システム３１０は、ドアを開閉するため及び／又は建物若しくは施設への物理的アクセスを制御するための制御システムといった、任意の種類の物理アクセス制御システムを（例えば、動作環境において）含んでもよい。また、分散制御システム３１０は、ファン（fan）を制御する（例えば始動若しくは停止する）システム、建物管理システムで警報を始動させるシステム（例えば、認証失敗、認証成功など）、又は産業オートメーションシステムでロボットアームを制御するシステムを含んでもよい。
【００４６】
図４は、ユニット３１５の例示的なコンポーネントを示すブロック図である。図３に示すように、ユニット３１５は、コントローラ４１０、及び１つ以上の周辺装置４３０を含み得る。コントローラ４１０は、ユニット３１５の動作を制御することができ、他のユニット３１５と通信することができ、管理装置３４０と通信することができ、及び／又は周辺装置４３０を制御することができる。コントローラ４１０は、バス４１２、プロセッサ４１４、メモリ４１６、ネットワークインタフェース４１８、周辺インタフェース４２０、及びハウジング４２２を含み得る。
【００４７】
バス４１２は、コントローラ４１０のコンポーネント間の通信を可能にするパスを含む。プロセッサ４１４は、命令を解釈し、実行する任意の種類のシングルコアプロセッサ、マルチコアプロセッサ、マイクロプロセッサ、ラッチベースのプロセッサ、及び／若しくは処理ロジック（又はプロセッサ、マイクロプロセッサ、及び／若しくは処理ロジックのファミリ）を含み得る。他の実施形態では、プロセッサ４１４は、ＡＳＩＣ（application-specific  integrated  circuit）、ＦＰＧＡ（field-programmable  gate  array）、及び／又は別の種類の集積回路若しくは処理ロジックを含み得る。
【００４８】
メモリ４１６は、プロセッサ４１４が実行するための情報及び／又は命令を格納し得る任意の種類の動的記憶デバイス、及び／又はプロセッサ４１４が使用するための情報を格納し得る不揮発性記憶デバイスを含み得る。例えば、メモリ４１６は、ＲＡＭ（random  access  memory）若しくは別の種類の動的記憶デバイス、ＲＯＭ（read-only  memory）若しくは別の種類の静的記憶デバイス、ＣＡＭ（content  addressable  memory）、磁気的記録メモリデバイス及び／若しくは光学的記録メモリデバイス及びそれに対応するドライブ（例えばハードディスクドライブ、光学的ドライブなど）、並びに／又はフラッシュメモリといった着脱可能な形態のメモリを含み得る。
【００４９】
ネットワークインタフェース４１８は、有線通信リンク（例えば、導線、ツイストペアケーブル、同軸ケーブル、伝送回線、光ファイバケーブル、及び／若しくは導波管など）、無線通信リンク（例えば、無線周波数（ＲＦ：radio  frequency）、赤外線、及び／若しくは可視光線など）、又は有線通信リンクと無線通信リンクとの組み合わせを介して、コントローラ４１０が他の装置及び／又はシステムと通信する（データの送信及び／又は受信を行う）送受信機（送信機及び／又は受信機など）を含んでもよい。ネットワークインタフェース４１８は、ベースバンド信号をＲＦ（radio  frequency）信号に変換する送信機、及び／又はＲＦ信号をベースバンド信号に変換する受信機を含み得る。ネットワークインタフェース４１８は、ＲＦ信号を送受信するためのアンテナと連結されてもよい。
【００５０】
ネットワークインタフェース４１８は、他の装置へのデータの送信を遂行する入力ポート及び／若しくは出力ポート、入力システム及び／若しくは出力システム、並びに／又は他の入力コンポーネント及び出力コンポーネントを含むロジックコンポーネントを含み得る。例えば、ネットワークインタフェース４１８は、有線通信のためのネットワークインタフェースカード（イーサネット（登録商標）カードなど）及び／又は無線通信のための無線ネットワークインタフェース（例えば、ＷｉＦｉ）カードを含み得る。また、ネットワークインタフェース４１８は、ケーブル上の通信のためのＵＳＢ（universal  serial  bus）ポート、Ｂｌｕｅｔｏｏｔｈ（登録商標）無線インタフェース、ＲＦＩＤ（radio-frequency  identification）インタフェース、ＮＦＣ（near-field  communication）無線インタフェース、及び／又はある形態から別の形態へデータを変換する任意の他の種類のインタフェースをも含み得る。
【００５１】
周辺インタフェース４２０は、１つ以上の周辺装置４３０と通信するように構成され得る。例えば、周辺インタフェース４２０は、周辺装置４３０へのデータの送信を遂行する入力ポート及び／若しくは出力ポート、入力システム及び／若しくは出力システム、並びに／又は他の入力コンポーネント及び出力コンポーネントを含む１つ以上のロジックコンポーネントを含み得る。一例として、周辺インタフェース４２０は、ＳＰＩ（Serial  Peripheral  Interface）バスプロトコルを用いて周辺装置と通信し得る。別の例として、周辺インタフェース４２０は、異なる種類のプロトコルを使用してもよい。ハウジング４２２は、コントローラ４１０のコンポーネント群を収容し、コントローラ４１０のコンポーネント群を環境から保護し得る。
【００５２】
以下に記載するように、コントローラ４１０は、イベントタイムライン生成のためのイベントの効率的な取得の実行、及び／又はコントローラ４１０上で実行するように特に設計されるデータベースを使用することを含み得る、イベントログ１２０を維持するための動作の実行に関連する特定の動作を実行し得る。コントローラ４１０はこれらの動作を、ＡＳＩＣの配線回路の結果として実行してもよい。コントローラ４１０はまた（あるいは代替的に）、これらの動作を、プロセッサ４１４がメモリ４１６といったコンピュータ可読媒体に含まれるソフトウェア命令を実行したことに応答して実行してもよい。コンピュータ可読媒体は、非一時的メモリデバイスとして定義され得る。メモリデバイスは、単一の物理的なメモリデバイス内で実装されてもよく、複数の物理的なメモリデバイスにまたがって拡散されてもよい。ソフトウェア命令は、別のコンピュータ可読媒体から又は別の装置からメモリ４１６に読み込まれてもよい。メモリ４１６に含まれるソフトウェア命令は、プロセッサ４１４に、本明細書に記載されるプロセスを実行させ得る。よって、本明細書に記載する実装は、ハードウェア回路とソフトウェアとのいかなる特定の組み合わせにも限定されない。
【００５３】
周辺装置４３０は、コントローラ４１０に情報を提供し、コントローラ４１０により制御され、及び／又は、そうでなければコントローラ４１０と通信関係にある、１以上の装置を含むことができる。一実施形態では、周辺装置４３０は、任意の種類のセキュリティ装置を含んでもよい。例えば、周辺装置４３０は、リーダ装置４４０、ロック装置４５０、センサ４６０、及び／又はアクチュエータ４７０等のセキュリティ装置を含んでもよい。周辺装置は、認証情報を提供することができる任意の種類のセキュリティ装置を含んでもよく、上に列挙された種類の周辺装置の組み合わせをさらに含んでもよい。例えば、リーダは、認証情報を提供する任意の種類の装置であることができ、そのタスクを達成するために、カメラ及び／又はマイクロフォン等の１以上のセンサを使用し得る。例示的な目的のため、単一のリーダ装置４４０、単一のロック装置４５０、単一のセンサ、及び単一のアクチュエータ４７０が図４に示されているが、実際には、周辺装置４３０は、複数のリーダ装置４４０、複数のロック装置４５０、複数のセンサ４６０、及び／又は複数のアクチュエータ４７０を含んでもよい。いくつかの実施形態では、周辺装置４３０は、図４に示す１以上の装置を含まなくてもよい。さらに、周辺装置４３０は、時間に関連付けられる一連のデータを生産することができる任意の種類の監視装置を含んでもよく、したがって、イベントログ１２０に格納されるイベントに関連付けられるデータを提供してもよい。
【００５４】
周辺装置２３０に戻って、リーダ装置２４０は、ユーザから認証情報を読み取り、当該認証情報をコントローラ２１０に提供する装置を含み得る。例えば、リーダ装置２４０は、ユーザから英数字の個人識別番号（ＰＩＮ：personal  identification  number）を受け取るように構成されるキーパッド、磁気ストリップ又はＲＦＩＤタグといった別の種類の記憶デバイス上にカードコードを格納するカードを構成されるカードリーダ、ユーザの指紋を読み取るように構成される指紋リーダ、ユーザの虹彩を読み取るように構成される虹彩リーダ、ユーザの声紋を記録するように構成されるマイクロフォン及び声紋識別器；ＮＦＣリーダ、顔認識ソフトウェアと関連付けられるカメラ、並びに／又は別の種類のリーダ装置を含み得る。リーダ装置２４０は、認証情報を提供することのできる任意の種類のセキュリティ装置を含んでもよく、センサ２６０を参照して以下で説明する任意のセンサ装置といった１つ以上のセンサ装置を含んでもよい。例えば、リーダ装置２４０は、顔認識に使用されるカメラ及び／又は音声認識に使用されるマイクロフォンを含んでもよい。この場合、例えば、ユーザの音声又は顔をユーザの認証情報とすることができる。
【００５５】
ロック装置４５０は、コントローラ４１０によって制御されるロック（錠）を含み得る。ロック装置４５０は、ドア（例えば、ドアが開閉しないようにする）、窓、ＨＶＡＣ通気孔、及び／又はセキュアな領域への別の種類のアクセス開口部をロック（施錠）し得る。例えば、ロック装置４５０は、電磁式ロック、コントローラ４１０によって制御されるモータを備える機械式ロック、電気機械式ロック、及び／又は別の種類のロックを含み得る。
【００５６】
センサ４６０は、任意の種類のセンサ装置を含み得る。例として、センサ４６０は、ドアが開いているか閉じているかを感知するドアセンサ、窓が開いているか閉じているかを感知する窓センサ、近接センサ、可視光監視装置、赤外（ＩＲ）光監視装置、熱シグ二チャ監視装置、及び／若しくは別の種類の監視装置、動きセンサ、熱センサ、圧力センサ、及び／若しくは別の種類の警報センサといった警報センサ、ユニット３１５内部に位置する位置センサといったタンパセンサ、タッチセンサ（ユニット３１５と関連付けられるセキュリティ保護される領域内に位置する「退出要求（request-to-exit）」ボタンなど）、並びに／又は別の種類のセンサ装置を含んでもよい。センサ４６０は、時間データと共に、画像データ、映像データ又はそれらの組み合わせを収集する、任意の種類のセンサをさらに含んでもよい。収集されたデータは、（センサ４６０内のタイムオフセット又はクロックドリフトを補って）タイムラインと一致するフォーマットで記録されるか、又はタイムラインと一致するようにさらに処理されるかのいずれかであり得る。
【００５７】
アクチュエータ４７０は、アクチュエータ装置を含み得る。一例として、アクチュエータ４７０は、照明装置を制御し得る。他の例として、アクチュエータ４７０は、侵入警報起動器（burglar  alarm  activator）、メッセージを再生し、若しくは警報信号を発生させるスピーカ、ディスプレイ装置、センサ４６０を動かす（例えば、カメラ若しくは他の監視装置の視野を制御する）モータ、ドア、窓、ＨＶＡＣ通気孔及び／若しくはセキュアな領域と関連付けられる別の開口部を開閉するためのモータ、ロック装置４５０を施錠位置若しくは開錠位置で固定するモータ、消火装置、並びに／又は別の種類のアクチュエータ装置を含んでもよい。
【００５８】
図４には、ユニット３１５の例示的なコンポーネントが示されているが、他の実装では、ユニット３１５は、図４に示すものと比べてより少数のコンポーネント、異なるコンポーネント、追加的なコンポーネント、又は異なる配置のコンポーネントを含んでもよい。追加的又は代替的に、ユニット３１５の任意のコンポーネント（又は任意のコンポーネント群）が、ユニット３１５の１つ以上の他のコンポーネントと組み合わされてもよい。反対に、ユニット３１５のコンポーネントの機能は、１つ以上のコンポーネントに渡って分散されてもよい。
【００５９】
図５は、ユニット３１５の例示的な物理レイアウト５００を示す平面図である。図５に示すように、物理レイアウト５００は、壁５１０、ドア５２０、コントローラ４１０、リーダ装置４４０、ロック装置４５０、センサ４６０、及びアクチュエータ４７０を含み得る。
【００６０】
壁５１０は、建物内の部屋といったセキュアな領域５４０を囲む。ドア５２０は、セキュアな領域５４０へのアクセスをユーザに提供する。この実施形態では、コントローラ４１０は、セキュアな領域５４０の内部に設置されている。他の実施形態では、コントローラ４１０は、セキュアでない領域５５０に設置されてもよい。リーダ装置４４０は、セキュアな領域５４０の外部に設置されており、ロック装置４５０はセキュアな領域５４０の内部において壁５１０及びドア５２０に設置されている。センサ４６０は、この例では、セキュアな領域５４０の外部のセキュアでない領域５５０に取り付けられた監視装置である。アクチュエータ４７０は、この例の監視装置４６０の視野を制御するのに使用されるモータを含む。
【００６１】
ユーザが（例えば、ＰＩＮを入力する、アクセスカードをスキャンする、虹彩をスキャンするなどによって）リーダ装置４４０に認証情報を入力すると、コントローラ４１０は認証情報を使用してユーザのアイデンティティを認証し、アクセスルールテーブルでルックアップを実行して、ユーザのアイデンティティ及びアクセスルールに基づいてユーザにアクセスを許可すべきかどうかを判定し得る。コントローラ４１０は、アクセスが許可されるべきであると判定した場合、ロック装置４５０を作動させてドア５２０を開錠し、ユーザにセキュアな領域５４０へのアクセスを許可する。
【００６２】
図５には、物理レイアウト５００の例示的なコンポーネントが示されているが、他の実装では、物理レイアウト５００は、図５に示すものと比べて、より少数のコンポーネント、異なるコンポーネント、追加的なコンポーネント、又は異なる配置のコンポーネントを含んでもよい。追加的又は代替的に、物理レイアウト５００内のいずれか１つのコンポーネント（又はコンポーネント群）は、物理レイアウト５００の１つ以上の他のコンポーネントによって実行されるものとして記載されている１つ以上のタスクを実行してもよい。
【００６３】
図６は、制御システム３１０の例示的な物理レイアウト６００を示す平面図である。図６に示すように、物理レイアウト６００は、部屋６２０−Ａ〜部屋６２０−Ｆを有する建物６１０を含み得る。イーサネット（登録商標）ネットワークといったローカルネットワーク６３０は、ユニット３１５−Ａ〜ユニット３１５−Ｆを相互接続し得る。この例では、ユニット３１５−Ａは部屋６２０−Ａに通じる２つのドアを制御し、ユニット３１５−Ｂは部屋６２０−Ｂに通じる外側のドアを制御し、ユニット３１５−Ｃは部屋６２０−Ｂから部屋６２０−Ｃへの１つのドアを制御し、ユニット３１５−Ｄは部屋６２０−Ｃから部屋６２０−Ｄへの１つのドアを制御し、ユニット３１５−Ｅは部屋６２０−Ｄから部屋６２０−Ｅへの１つのドアを制御し、ユニット３１５−Ｆは部屋６２０−Ｆに通じる外側のドアを制御する。
【００６４】
この例では、ユニット３１５−Ａ〜ユニット３１５−Ｆは、中央制御装置（サーバなど）を含まず、１つ以上の分散されたデータセットを含み得る。例えば、ユニット３１５−Ａ〜ユニット３１５−Ｆは、分散された認証情報テーブル、分散されたアクセスルールテーブル、及び／又は分散されたイベントログを維持し得る。管理者が管理装置３４０を使用して、ユーザを追加するためにユニット３１５−Ａにログインし、ユーザと関連付けられる認証情報を追加するものと仮定する。当該追加された認証情報は、ユーザがアクセス権を有する部屋に通じるドアを制御する他のユニット３１５に配信され得る。例えば、ユニット３１５−Ｂに障害が発生した場合、ユニット３１５−Ｂによって収集されたデータは、他のＤＰＡＣＳユニットに含まれる分散されたイベントログの結果として、利用可能であり続け得る。
【００６５】
図６には、物理レイアウト６００の例示的コンポーネントが示されているが、他の実装では、物理レイアウト６００は、図６に示すものと比べて、より少数のコンポーネント、異なるコンポーネント、追加的なコンポーネント、又は異なる配置のコンポーネントを含んでもよい。例えば、別の実施形態では、中央制御装置（サーバ１１０など）が、１つ以上の分散されたデータセットと併用されてもよい。追加的又は代替的に、物理レイアウト６００の１つ以上のコンポーネントは、物理レイアウト６００の１つ以上の他のコンポーネントによって実行されるものとして記載されている１つ以上のタスクを実行してもよい。
【００６６】
図７は、サーバ１１０の例示的なコンポーネントを示すブロック図である。図７に示すように、サーバ１１０は、バス７１０、プロセッサ７２０、メモリ７３０、大容量記憶装置７４０、入力装置７５０、出力装置７６０、及び通信インタフェース７７０を含み得る。
【００６７】
バス７１０は、サーバ１１０のコンポーネント間の通信を可能にするパスを含む。プロセッサ７２０は、命令を解釈し、実行する任意の種類のシングルコアプロセッサ、マルチコアプロセッサ、マイクロプロセッサ、ラッチベースのプロセッサ、及び／若しくは処理ロジック（又はプロセッサ、マイクロプロセッサ、及び／若しくは処理ロジックのファミリ）を含んでもよい。他の実施形態では、プロセッサ７２０は、ＡＳＩＣ、ＦＰＧＡ、及び／又は別の種類の集積回路若しくは処理ロジックを含んでもよい。例えば、プロセッサ７２０は、ｘ８６ベースのＣＰＵであってもよく、Windows（登録商標）、UNIX（登録商標）、及び／又はLinux等の種類を含み得る、任意のオペレーティングシステムを使用してもよい。プロセッサ７２０は、任意のプログラミング及び／又はスクリプト言語で書かれた高水準解析ソフトウェアパッケージ及び／又はカスタムソフトウェアも使用し得る。例えば、サーバ１１０は、イベントログ１２０にレコードを追加し、更新し、及び／又は削除するために、例えば、MySQL、Oracleデータベース、Microsoft  SQL  Serverといった、任意の種類のデータベースソフトウェアを使用してもよい。
【００６８】
メモリ７３０は、情報及び／又はプロセッサ７２０により実行される命令を格納し得る任意の種類の動的記憶装置、及び／又はプロセッサにより使用される情報を格納し得る任意の種類の不揮発性記憶装置を含むことができる。例えば、メモリ７３０は、ＲＡＭ若しくは他の種類の動的記憶装置、ＲＯＭ装置若しくは他の種類の静的記憶装置、ＣＡＭ、磁気及び／若しくは光記録メモリ装置及びその対応するドライブ（例えば、ハードディスクドライブ、光ドライブ等）並びに／又はフラッシュメモリ等の着脱可能な形式のメモリを含んでもよい。大容量記憶装置７４０は、大量のデータを格納するのに好適な任意の種類の内蔵装置を含んでもよく、１以上のハードドライブ、半導体ドライブ、及び／又は多様な種類のＲＡＩＤアレイを含んでもよい。大容量記憶装置７４０は、任意の種類のデータベースファイルを含み得る、イベントログ１２０に関連付けられるファイルを格納するのに好適であろう。
【００６９】
入力装置７５０は、任意であってもよく、もし必要であれば、オペレータが管理サーバ１１０に情報を入力することを可能にすることができる。入力装置７５０は、例えば、キーボード、マウス、ペン、マイクロフォン、リモコン、音声キャプチャ装置、画像及び／若しくは映像キャプチャ装置、タッチスクリーンディスプレイ、並びに／又は他の種類の入力装置を含んでもよい。いくつかの実施形態では、サーバ１１０は、リモートで管理されることができ、入力装置７５０を含まないこともできる。
【００７０】
出力装置７６０は、サーバ１１０のオペレータに対し情報を出力することができる。出力装置７６０は、ディスプレイ、プリンタ、スピーカ、及び／又は他の種類の出力装置を含んでもよい。例えば、サーバ１１０は、液晶ディスプレイ（ＬＣＤ）を含み得る、ディスプレイを含んでもよい。いくつかの実施形態では、サーバ１１０は、リモートで運用されることができ、出力装置７６０を含まないこともできる。
【００７１】
通信インタフェース７７０は、サーバ１１０が他の装置及び／又はシステムとネットワーク１３０を介して通信することを可能にする送受信機を含むことができる。通信インタフェース７７０は、無線通信（例えば、ＲＦ、赤外線、及び／又は可視光等）、有線通信（例えば、導線、ツイストペアケーブル、同軸ケーブル、伝送線、光ファイバケーブル、及び／又は導波管等）、又は無線及び有線通信の組み合わせであってもよい。通信インタフェース７７０は、ベースバンド信号をＲＦ信号に変換する送信機、及び／又はＲＦ信号をベースバンド信号に変換する受信機を含み得る。通信インタフェース７７０は、ＲＦ信号を送信し及び受信するためのアンテナに結合され得る。
【００７２】
通信インタフェース７７０は、入力及び／若しくは出力ポート、入力及び／若しくは出力システム、並びに／又は、他の装置へ／からのデータの送信／受信を遂行する他の入力及び出力コンポーネントを含む、論理コンポーネントを含んでもよい。例えば、通信インタフェース７６０は、有線通信のためのネットワークインタフェースカード（例えば、イーサネット（登録商標）カード）及び／又は無線通信のための無線ネットワークインタフェース（例えば、ＷｉＦｉ）カードを含んでもよい。通信インタフェース７７０は、また、ケーブル、Bluetooth（登録商標）無線インタフェース、ＲＦＩＤインタフェース、ＮＦＣ無線インタフェース、及び／又は一の形式から他の形式にデータを変換する任意の他の種類のインタフェースを介した通信のためのＵＳＢポートを含んでもよい。
【００７３】
以下に記載するように、サーバ１１０は、タイムライン生成のための効率的なイベント取得に関係する特定の動作を実行することができる。サーバ１１０は、メモリ７３０及び／又は大容量記憶装置７４０等のコンピュータ可読媒体に含まれるソフトウェア命令をプロセッサ７２０が実行するのに応答して、これらの動作を実行し得る。ソフトウェア命令は、他のコンピュータ可読媒体又は他の装置からメモリ７３０に読み込まれてもよい。メモリ７３０に含まれるソフトウェア命令は、ここに記載されたプロセスをプロセッサ７２０に実行させ得る。あるいは、ここに記載されたプロセスを実装するために、ハードウェアに組み込まれた回路が、ソフトウェア命令の代わりに、又は組み合わせて使用されてもよい。したがって、ここに記載された実装は、ハードウェア回路及びソフトウェアのいかなる特定の組み合わせにも限定されるものではない。
【００７４】
図７は、サーバ１１０の例示的なコンポーネントを示しているが、他の実施形態では、サーバ１１０は、図７に示されるのより少数のコンポーネント、異なるコンポーネント、追加のコンポーネント、又は異なる配置のコンポーネントを含んでもよい。追加的又は代替的に、サーバ１１０の１以上のコンポーネントは、サーバ１１０の１以上の他のコンポーネントにより実行されるように記載される１以上のタスクを実行してもよい。
【００７５】
図８は、イベントデータを効率的に取得するための例示的なプロセス８００を示すフローチャートである。プロセス８００は、サーバ１１０上で、又は他の実施形態では１以上のシステムユニット３１５上で実行され得る。
【００７６】
プロセス８００は、興味のある区間及びパーティションサイズを定義するための情報を受信すること（ブロック８１０）を最初に含む。受信された情報は、クライアント１４０から送信されてくることができる。受信された情報は、タイムラインに対して提供されることができ、興味のある区間を定義するための開始時間及び終了時間を受信することを含み得る。受信された情報は、ＧＵＩを通じてユーザにより提供されることができ、当該ＧＵＩでは、受信された開始時間、終了時間及びパーティションサイズがクライアント１４０においてグラフィカルに定義されている。代替的な実施形態では、情報は、イベントにフィルタをかけるための使用されることができる、メタデータをさらに含み得る。そのようなメタデータは、位置情報（例えば、ＧＰＳ座標、住所等）、当該イベントに関連付けられるデータを生成した周辺装置４３０の種類（例えば、カメラの種類、製造者、シリアルナンバー等）、当該イベントに関連付けられるメディアの種類（例えば、映像、画像等）、及び当該メディアに関連付けられるメタデータ（例えば、１秒当たりのフレーム数、圧縮の種類、フォーマット、音声等）を含んでもよい。
【００７７】
プロセス８００は、パーティションサイズに基づいて、タイムライン２０２をセグメントに分割すること（ブロック８１２）も含む。パーティションサイズは、クライアント１４０においてグラフィカルユーザインタフェースを介してユーザにより指定され得る。
【００７８】
プロセス８００は、また、セグメント内の１以上の関連イベントを有する各セグメントを識別すること（ブロック８１４）を含む。関連イベントは、セグメント内で開始し、興味のある区間と重複するイベントであり得る。ブロック８１４における識別は、上述したメタデータに基づいてフィルタリングされることにより、さらに精密にされてもよい。
【００７９】
例えば、実施形態では、サーバ１１０は、イベント（例えば、別の装置において観測されるイベント）に関連付けられる周辺装置４３０に基づいてイベントを分類し、当該分類に基づいて関連イベントにフィルタをかける。あるいは、サーバは、収集されたデータから判定される情報に基づいてイベントを分類し、当該分類に基づいて関連イベントにフィルタをかけてもよい。実施形態では、周辺装置４３０は、イベントに関連付けられる映像データを収集するための１以上のビデオカメラを含み得る。収集されたデータは、例えば、画像中の物体の動き（例えば、部屋に入る、又は出ていく）を表現し、画像又は映像中の認識された物体を識別し、音声等の特性を示し得る。
【００８０】
他の実施形態では、サーバ１１０は、２つのＳＱＬクエリを使用して、ブロック８１４でイベントを識別する。サーバ１１０は、イベントログ１２０上で第１のＳＱＬクエリを実行して、興味のあるイベントを識別するために興味のある区間と時間内に重複するイベントを判定する。サーバ１１０は、その後、イベントログ上で各セグメントに対し第２のＳＱＬクエリを実行し、興味のあるイベントが問い合わせたセグメント内で開始するかどうかを確認する。開始する場合、サーバ１１０は、確認したイベントを問い合わせたセグメントについての関連イベントとして分類する。サーバ１１０は、その後、識別された各セグメントについて１以上の関連イベントに関連付けられるパラメータを判定し（ブロック８１６）、その後、タイムライン上に提示するための識別された各セグメントを指定するインデックスと共に判定されるパラメータを提供する（ブロック８１８）。パラメータは、以下図９で述べるように、タイムラインの生成のためにクライアント１４０に提供され得る。
【００８１】
図９は、周辺装置４３０が４つのビデオカメラを含む、例示的なＧＵＩ（graphical  user  interface）９００を示す図である。一実施形態では、クライアント１４０は、ユーザに情報を提供するためにＧＵＩ９００を生成し表示する。クライアント１４０は、また、ユーザが多様な入力を行うことを可能にするためのグラフィカルな制御を生じさせる。ＧＵＩ９００は、メインビデオウィンドウ９０２、タイムライングラフィック９０４、時間入力コントロール９１０、パーティションサイズ入力コントロール９１４、カメラ選択コントロール９１８を含み得る。
【００８２】
ユーザは、データが収集された日付を指定し、及び／又は時間入力コントロール９１０を使用してタイムライングラフィック９０４の目盛りを調整することができる。例えば、左に図示されたカレンダー形式のウィジェットを使用して特定の日付が入力されてもよい。タイムライングラフィック９０４の目盛りは、別のボタン制御を使用して指定されてもよい。図９に示すように、“時間”ボタンが選択されると、タイムライングラフィック９０４は、時間単位で提示され、タイムライングラフィック９０４の上部に４時間単位でラベルが付される。
【００８３】
実施形態では、クライアント１４０は、１以上のグラフィック入力インジケータ９０６に基づき１以上の興味のある区間をグラフィカルに選択することによってタイムライングラフィック９０４を使用して、ユーザが特定の興味あるイベントを選択することを可能にする。タイムライングラフィック９０４上のグラフィック入力インジケータ９０６の位置は、興味のある区間が発生した時を示し、グラフィック入力インジケータ９０６の大きさ及び／又は形は、興味のある区間の継続時間を示し得る。クライアント１４０は、ピクセルの位置及び／又は範囲を受け取り、タイムライングラフィック９０４の目盛りに基づいてこれらを時間の値に変換し、その後、これらの値を、例えば興味のある各区間についての開始及び終了時間として、サーバ１１０に提供し得る。さらに、ユーザは、また、入力コントロール９１４に基づいて、タイムライン２０２がサーバ１１０による処理のためにどのくらい細かくセグメントに分割されるかを指定するためのパーティションサイズを指定し得る。興味のある区間を指定するのに加えて、ユーザは、さらにイベントフィルタ制御９１６を使用してイベントにフィルタをかけることができる。イベントフィルタ制御９１６は、時間以外のパラメータを使用して興味のあるイベントを指定するための追加的な基準及び／又は（上述の）メタデータを指定することができる。例えば、イベントは、位置、デバイスタイプ、メタデータ、題材等に基づいてさらにフィルタをかけられることができる。
【００８４】
クライアント１４０が、１以上の前述のユーザ入力を受信すると、リクエストの形式でサーバ１１０にユーザ入力情報を提供し得る。サーバ１１０は、入力を提供されたユーザに関連付けられるイベントログ１２０からイベントを取得し、ネットワーク１３０を介してクライアント１４０に関連イベントに関する情報を提供するレスポンスを生成し得る。クライアント１４０は、グラフィック出力インジケータ９０８の形式でタイムライングラフィック９０４上に、サーバ１１０から受信される情報を表示し得る。グラフィック出力インジケータ９０８は、タイムライングラフィック９０４上の関連する配置により、関連イベントを示し得る。例えば、グラフィック出力インジケータ９０８は、データ構造２３０に列挙されるように、それが見つけられたｎ番目のセグメントについての最も早い開始時間（ｔｎＳ）に基づいて、タイムライングラフィック９０４上に配置され得る。さらに、データ構造２３０において提供されるような、カウントに対応し得る数字が各グラフィック出力インジケータ９０８に表示され得る。他の実施形態では、カウントは、グラフィック出力インジケータ９０８の大きさにより示されてもよい。
【００８５】
クライアント１４０が、上述のようなタイムライングラフ９０４上でユーザに関連イベントを提示すると、ユーザは、イベントに関連付けられたデータを調べるために、いずれかのグラフィック出力インジケータ９０８を選択し得る。例えば、イベントが映像データに関連付けられている場合、グラフィック出力インジケータ９０８を選択することにより、クライアント１４０は、さらにイベントに関連付けられた映像を取得し、メインビデオウィンドウ９０２に映像を表示させることができる。複数のカメラが選択されたイベントに関連付けられている場合、ユーザは、カメラ選択コントロール９１８を使用して、どのカメラの映像を表示するかを選択することができる。
【００８６】
以上の明細書では、添付の図面を参照して様々な実施形態を説明した。しかし、添付の特許請求の範囲に記載される本発明の広範な範囲から逸脱することなく、実施形態に様々な改変及び変更を加えることができ、追加的な実施形態を実現することができることは明らかであろう。本明細書及び図面は、したがって、限定としてではなく例示とみなされるべきである。
【００８７】
例えば、図１、３、４及び７に関連して一連のブロックが記載され、図２Ａ、２Ｂ及び８に関連して信号及び／又はロジックの順序が記載されているが、ブロック、ロジックフロー及び／又は信号フローの順序は、他の実装では変更されてもよい。さらに、依存関係の無いブロック及び／又は信号フローは並列に実行されてもよい。
【００８８】
上述のシステム及び／又はプロセスは、各図に示す実装形態において、多くの異なる形態のソフトウェア、ファームウェア、及びハードウェアで実装され得ることが理解されるであろう。これらのシステム及びプロセスを実装するのに使用される実際のソフトウェアコード又は専用の制御ハードウェアは、各実施形態を限定するものではない。よって、システム及びプロセスの動作及び振る舞いは、特定のソフトウェアコードを参照せずに記載された。すなわち、ソフトウェア及び制御ハードウェアは、本明細書の記載に基づくシステム及びプロセスを実装するように設計することができることが理解される。
【００８９】
さらに、上述のある特定の部分が、１つ以上の機能を実行するコンポーネントとして実装されてもよい。コンポーネントとは、本明細書で使用する場合、プロセッサ、ＡＳＩＣ、ＦＰＧＡといったハードウェア、又はハードウェアとソフトウェアの組み合わせ（ソフトウェアを実行するプロセッサなど）を含み得る。
【００９０】
“comprises”及び“comprising”（含む／備える）との用語は、記述された特徴、整数、ステップ又はコンポーネントの存在を特定するが、１つ以上の他の特徴、整数、ステップ、コンポーネント又はそれらの集合の存在又は追加を除外しない。“exemplary”（例示的な）との用語は、１つより多くの例の“例（example）、事例（instance）又は実例（illustration）となること”を意味するために使用される。“exemplary”として本明細書で記載されているいかなる実施形態も、他の実施形態よりも好適又は有利であることを必ずしも暗示しない。
【００９１】
本出願におけるいかなるエレメント、動作又は命令も、そのように明示的に説明されていない限り、実施形態にとって決定的又は必要不可欠であると解釈されるべきではない。また、ここでの冠詞“a”は１つ以上の項目を含むものと意図される。さらに、“based  on”（基づいて）とのフレーズは、他の明示的な説明が無い限り、「少なくとも部分的に基づく」ことを意味するものと意図される。
【図１】
2015057706.tif 000003
【図２Ａ】
2015057706.tif 000004
【図２Ｂ】
2015057706.tif 000005
【図３】
2015057706.tif 000006
【図４】
2015057706.tif 000007
【図５】
2015057706.tif 000008
【図６】
2015057706.tif 000009
【図７】
2015057706.tif 000010
【図８】
2015057706.tif 000011
【図９】
2015057706.tif 000012