KR20150032193A - 이벤트 타임라인 생성 - Google Patents

이벤트 타임라인 생성 Download PDF

Info

Publication number
KR20150032193A
KR20150032193A KR20140121853A KR20140121853A KR20150032193A KR 20150032193 A KR20150032193 A KR 20150032193A KR 20140121853 A KR20140121853 A KR 20140121853A KR 20140121853 A KR20140121853 A KR 20140121853A KR 20150032193 A KR20150032193 A KR 20150032193A
Authority
KR
South Korea
Prior art keywords
event
timeline
segment
interest
selecting
Prior art date
Application number
KR20140121853A
Other languages
English (en)
Other versions
KR101804768B1 (ko
Inventor
엘룸쿠비스트 불간 엘리아스
구스타프슨 오스카
에녹슨 자카리아
Original Assignee
엑시스 에이비
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엑시스 에이비 filed Critical 엑시스 에이비
Publication of KR20150032193A publication Critical patent/KR20150032193A/ko
Application granted granted Critical
Publication of KR101804768B1 publication Critical patent/KR101804768B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/323Visualisation of programs or trace data
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0428Safety, monitoring
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2477Temporal data queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/26Visual data mining; Browsing structured data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/285Clustering or classification

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Automation & Control Theory (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Fuzzy Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Alarm Systems (AREA)
  • Closed-Circuit Television Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

본 발명은 타임라인에 따른 표현을 위하여 이벤트 로그로부터 이벤트를 선택하는 방법에 관한 것이다. 상기 방법은 관심 구간 및 파티션 사이즈를 정의하기 위한 상기 타임라인에 연관된 정보를 수신할 수 있고, 상기 타임라인을 상기 파티션 사이즈를 바탕으로 다수의 세그먼트들로 나눌 수 있다. 상기 방법은 상기 세그먼트 내부에 적어도 하나의 관련 이벤트를 가지는 각 세그먼트를 더 식별할 수 있고, 관련 이벤트는 세그먼트 내에서 시작하고 상기 관심 구간과 오버랩 되는 이벤트이다. 상기 방법은 각 식별된 세그먼트에 대한 적어도 하나의 관련 이벤트에 연관된 파라미터를 결정할 수 있고, 상기 각 식별된 세그먼트를 가리키는 인덱스와 함께 상기 결정된 파라미터를 제공할 수 있다. 상기 결정된 파라미터는 상기 적어도 하나의 관련 이벤트의 타임라인을 생성하기 위하여 클라이언트에 제공될 수 있다. 장치는 정의된 시간 구간에 연관된 이벤트를 이벤트 로그로부터 선택하기 위하여 상기 방법을 구현할 수 있다.

Description

이벤트 타임라인 생성{EVENT TIMELINE GENERATION}
본 발명은 이벤트 타림라인 생성에 관한 것이다. 보다 자세하게는, 타임라인에 따른 표현을 위하여 이벤트 로그로부터 이벤트를 선택하는 방법 및 장치에 관한 것이다.
데이터 수집 및 제어 시스템은 다양한 공간, 시설 및/또는 공정을 감독하거나/하고 제어하기 위한 폭넓은 응용분야에 걸쳐서 점차적으로 이용되고 있다. 이러한 데이터 수집 시스템은 디지털 및/또는 아날로그 형식으로 대규모의 데이터를 생산하는 동시대의 주변 장치들을 이용할 수 있다. 전력 및 데이터 저장 능력 분야에서의 상응하는 발전은 장기간에 걸친 복수의 데이터 흐름에 대한 수집을 할 수 있게 하고, 이에 따라 저장을 위한 상당한 양의 데이터를 생성하게 한다.
본 발명이 해결하고자 하는 기술적 과제는 타임라인에 따른 표현을 위하여 이벤트 로그로부터 이벤트를 선택하는 방법을 제공하는 것이다.
본 발명이 해결하고자 하는 다른 기술적 과제는 타임라인에 따른 표현을 위하여 이벤트 로그로부터 이벤트를 선택하는 장치를 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해 될 수 있을 것이다.
이하에서 일 실시예는 타임라인에 따른 표현을 위하여 이벤트 로그로부터 이벤트를 선택하는 방법을 포함한다. 상기 방법은 관심 구간과 파티션 사이즈를 정의하기 위하여 상기 타임라인과 관계된 정보를 수신할 수 있고, 상기 파티션 사이즈를 바탕으로 상기 타임 라인을 복수의 세그먼트(segment)로 분할 할 수 있다. 상기 방법은 더 나아가 내부에 관련 이벤트를 포함하는 각 세그먼트를 식별할 수 있다. 관련 이벤트는 세그먼트 내부에서 시작하고 상기 관심 구간과 중첩되는 이벤트일 수 있다. 상기 방법은 각 식별된 세그먼트에 대하여 상기 적어도 하나의 관련 이벤트에 연관된 파라미터를 결정할 수 있고, 각 식별된 세그먼트를 가리키는 인덱스에 따라 상기 결정된 파라미터를 제공할 수 있다. 상기 결정된 파라미터와 인덱스는 적어도 하나의 관련 이벤트의 타임라인을 생성하기 위하여 클라이언트에 제공될 수 있다.
또 다른 실시예에 따르면, 상기 방법은 다음과 같은 것을 수행함으로써 각 식별된 세그먼트에 대하여 적어도 하나의 관련 이벤트에 연관된 상기 파라미터를 결정할 수 있다. 추가적으로, 상기 방법은 상기 적어도 하나의 관련 이벤트에 연관된 가장 빠른 시작 시간을 결정할 수 있고, 상기 적어도 하나의 관련 이벤트에 연관된 가장 늦은 종료 시각을 결정할 수 있으며, 상기 적어도 하나의 관련 이벤트의 횟수를 결정할 수 있다. 상기 방법은 더 나아가 관심 이벤트를 식별하는 관심 구간과 오버랩 되는 이벤트를 결정하기 위하여 상기 이벤트 로그를 조회함으로써 하나 이상의 세그먼트를 식별할 수 있다. 상기 방법은 어떠한 관심 이벤트가 상기 조회된 세그먼트 안에서 시작하는지 여부를 확인하기 위하여 각 세그먼트에 대한 상기 이벤트 로그를 조회할 수 있고, 만일 그렇다면, 상기 확인된 이벤트를 상기 조회된 세그먼트에 대한 관련 이벤트로 분류할 수 있다.
또 다른 실시예에 따르면, 상기 방법은 관심 구간을 정의하는 정보를 수신하는 것을 포함할 수 있으며, 상기 타임라인 상에서 상기 관심 구간을 정의하기 위한 시작 시간과 종료 시간을 수신하는 것을 포함할 수 있다. 상기 수신된 시작 시간, 종료 시간 및 파티션 사이즈는 상기 클라이언트에서 초기에 그래픽적으로 정의될 수 있다.
또 다른 실시예에 따르면, 상기 이벤트는 적어도 하나의 주변 장치에 의해 생성된 데이터에 의해서 표현된다. 상기 방법은 이벤트와 연관된 주변 장치를 바탕으로 이벤트를 분류하는 것을 더 포함할 수 있으며, 상기 분류를 바탕으로 이벤트를 필터링하는 것을 포함할 수 있다. 상기 주변 장치는 상기 타임라인과 일치하는 시간 데이터와 함께, 이미지 데이터, 비디오 데이터 또는 이것의 조합된 데이터를 수집할 수 있다. 상기 방법은 상기 이미지 또는 비디오 데이터와 연관된 메타데이터를 바탕으로 이벤트를 필터링 할 수 있으며, 상기 메타데이터는 초당 프레임 수, 해상도, 형식 및 관련된 오디오 데이터를 포함할 수 있다. 상기 주변 장치는 카메라, 창문 센서(window sensor), 문 센서(door sensor), 온도 조절기, 근접 센서 또는 이들의 어떠한 조합을 포함할 수 있다.
또 다른 실시예에 따르면, 상기 방법을 상기 생성된 데이터로부터 결정된 상기 정보를 바탕으로 이벤트를 분류하며, 상기 분류를 바탕으로 이벤트를 필터링할 수 있다. 상기 필터링은 상기 주변 장치에 의해 생성된 메타데이터를 바탕으로 수행될 수 있으며, 상기 메타데이터는 상기 주변 장치의 위치, 상기 주변 장치의 식별(identification) 및 상기 이벤트에 연관된 매체 타입을 포함할 수 있다.
또 다른 실시예는, 정의된 시간 구간에 연관된 이벤트 로그로부터 이벤트를 선택하기 위한 장치를 포함할 수 있다. 상기 장치는 프로세서 및 상기 프로세서에 결합된 메모리를 포함할 수 있다. 상기 메모리는 상기 프로세서가 다음 사항을 수행하게 하는 인스트럭션(instruction)을 저장한다. 상기 프로세서는 관심 구간과 파티션 사이즈를 정의하기 위한 타임라인과 연관된 정보를 수신할 수 있다. 상기 프로세서는 상기 파티션 사이즈를 바탕으로 상기 타임라인을 다수의 세그먼트로 분할할 수 있고, 내부에 적어도 하나의 관련 이벤트를 가지는 각 세그먼트를 식별할 수 있다. 관련 이벤트는 세그먼트 내부에서 시작하고 상기 관심 구간과 오버랩 되는 이벤트를 포함할 수 있다. 상기 프로세서는 각 식별된 세그먼트에 대하여 상기 적어도 하나의 관련 이벤트에 연관된 파라미터를 결정할 수 있고, 각 식별된 세그먼트를 가리키는 인덱스와 함께 상기 결정된 파라미터를 제공할 수 있다. 상기 프로세서는 상기 결정된 파라미터 및 상기 인덱스를 클라이언트에 제공하여 상기 적어도 하나의 관련 이벤트의 상기 타임라인을 생성할 수 있다.
또 다른 실시예에 따르면, 각 식별된 세그먼트에 대한 적어도 하나의 관련 이벤트에 연관된 파라미터를 결정하기 위한 상기 인스트럭션은 상기 프로세서가 상기 적어도 하나의 관련 이벤트에 연관된 가장 빠른 시작 시간을 결정하고 상기 적어도 하나의 관련 이벤트에 연관된 가장 늦은 종료 시간을 결정할 수 있게 하며, 상기 적어도 하나의 관련 이벤트의 횟수를 결정할 수 있게 하는 것을 포함할 수 있다.
또 다른 실시예에 따르면, 식별을 위한 상기 인스트럭션은 상기 프로세서가 관심 이벤트를 식별하기 위한 관심 구간과 오버랩 되는 이벤트를 결정하기 위하여 이벤트 로그를 조회하게 하고, 어떠한 관심 이벤트가 상기 조회된 세그먼트 안에서 시작하는지 여부를 확인하기 위하여 각 세그먼트에 대한 상기 이벤트 로그를 조회하게 하며, 만일 그렇다면, 상기 확인된 이벤트를 상기 조회된 세그먼트에 대한 관련 이벤트로 분류하게 할 수 있다.
또 다른 실시예에 따르면, 관심 구간을 정의하는 정보를 수신하기 위한 인스트럭션은 상기 프로세서가 상기 타임라인 상에서 상기 관심 구간을 정의하기 위한 시작 시간과 종료 시간을 수신하게 할 수 있다. 상기 수신된 시작 시간, 종료 시간 및 파티션 사이즈는 상기 클라이언트에서 초기에 그래픽적으로 정의될 수 있다.
또 다른 실시예에 따르면, 상기 이벤트는 적어도 하나의 주변 장치에 의해 생성된 데이터에 의해서 표현될 수 있다. 상기 프로세서는 이벤트를 그것에 연관된 주변 장치를 바탕으로 분류할 수 있고, 상기 분류를 바탕으로 관련 이벤트를 필터링할 수 있다. 상기 주변 장치 중에서 적어도 하나는 상기 타임라인과 일치하는 시간 데이터와 함께, 이미지 데이터, 비디오 데이터 또는 이들의 조합으로 된 데이터를 수집할 수 있다. 상기 프로세서는 상기 이미지 또는 비디오 데이터와 연관된 메타데이터를 바탕으로 이벤트를 필터링할 수 있으며, 상기 메타데이터는 초당 프레임 수, 해상도, 형식 및 관련된 오디오 데이터를 포함할 수 있다. 또 다른 실시예에 따르면, 상기 프로세서는 상기 생성된 데이터로부터 결정된 상기 정보를 바탕으로 이벤트를 분류할 수 있으며, 상기 분류를 바탕으로 관련 이벤트를 필터링 할 수 있다.
또 다른 실시예에 따르면, 상기 필터링은 상기 적어도 하나의 주변 장치에 의해 생성된 메타데이터를 바탕으로 수행될 수 있으며, 상기 메타데이터는 상기 주변 장치의 위치, 상기 주변 장치의 식별(identification), 상기 이벤트에 연관된 매체 타입을 포함할 수 있다. 상기 주변 장치는 카메라, 창문 센서(window sensor), 문 센서(door sensor), 온도 조절기, 근접 센서 또는 이들의 어떠한 조합을 포함할 수 있다.
다른 실시예들은 아래에 기술되어 있다. 명확성을 위하여 모든 실시예들이 위에서 기술된 것은 아니다.
도 1은, 이벤트 타임라인 생성을 위하여 효율적인 이벤트 검색을 수행할 수 있는 예시적인 클라이언트 서버 환경을 도시하고 있는 블록도이다.
도 2a 내지 2b는, 타임라인 생성과 효율적인 검색을 위하여 복수의 이벤트와 연관된 데이터를 처리하기 위한 예시적인 접근을 도시하고 있는 도면이다.
도3은, 이벤트 타임라인 생성을 위하여 이벤트의 효율적인 검색을 수행하는 분산 신체 출입 시스템의 예시적인 환경을 도시하고 있는 블록도이다.
도 4는, 도 3의 분산 신체 출입 시스템의 예시적인 구성 요소를 도시하고 있는 블록도이다.
도 5는, 도 3의 분산 신체 출입 시스템 유닛의 예시적인 물리적 배치를 도시하고 있는 평면도이다.
도 6은, 도 3의 분산 신체 출입 시스템의 예시적인 물리적 배치를 도시하고 있는 평면도이다.
도 7은, 도 1의 서버의 예시적인 구성 요소를 도시하고 있는 블록도이다.
도 8은, 이벤트 데이터의 효율적인 검색을 위한 예시적인 절차를 도시하고 있는 순서도이다.
도 9는, 관련 이벤트를 표시하고 관심 이벤트를 특정하기 위한 타임라인을 이용할 수 있는 예시적인 그래픽 사용자 인터페이스를 도시하고 있는 도면이다.
이하에서 자세한 설명은 첨부된 도면을 참조한다. 다른 도면에서 같은 참조 번호는 동일하거나 유사한 요소를 나타낸다.
제어 시스템이 임의의 시간 기간 동안 생성하고 저장한 다량의 데이터가 주어지면, 상기 저장된 데이터를 검색하고 처리하는 것은, 특히 처리 및/또는 네트워크 자원의 관점에서, 자원 집약적일 수 있다. 예를 들어, 사용자가 네트워크를 통해서 상당한 양의 이벤트 중에서 선택된 특정 이벤트에 연관된 데이터에 접근하거나 검토하려고 할 때, 상기 데이터를 검색하기 위한 종래의 기술은 상기 사용자에게 상기 데이터를 제시하기 이전에 현저한 지연을 초래할 수 있다.
이하에서 기술된 실시예들은 일반적으로 효율적인 데이터 검색을 수행할 수 있는 절차 및 시스템에 관련되어 있으며, 보다 자세하게는, 데이터 수집 및 (예를 들어, 분산 신체 출입 제어 시스템 같은) 제어 시스템에 관련된 것일 수 있다. 이하에서 기술된 실시예들은 주변 장치를 포함한다. 상기 주변 장치는 대량의 데이터를 생산할 수 있는 이미지 센서 또는 비디오 카메라 같은 감시 장치의 어떠한 종류를 포함할 수 있다. 상기 소개된 실시예들은, 예를 들어, 상기 검색된 이벤트를 특징짓는데 사용되는 데이터의 양을 줄임으로써 이벤트 로그에서 이벤트를 검색하는 것을 효율적으로 수행할 수 있다. 상기 검색된 데이터는, 예를 들어, 상기 검색된 이벤트에 연관된 타임라인을 생성하기 위하여 데이터를 요청하는 클라이언트 장치에 의해서 사용될 수 있다.
도 1은, 일 실시예에 따른 예시적인 환경(100)을 도시하는 블록도이다. 도 1에 나타난 것과 같이, 환경(100)은 서버(110), 이벤트 로그(120), 네트워크(130) 및 클라이언트(140)를 포함할 수 있다. 서버(110)는 이벤트 로그(120)에 저장된 데이터에 접근하고, 상기 데이터를 유지하고 제어하고기 위하여 이벤트 로그(120)에 기능적으로 결합될 수 있다. 이벤트 로그(120)는 시간 참조(예를 들어, “타임라인”으로 정의된 공통 시간 참조)에 연관될 수 있는 “이벤트” 형식의 데이터를 저장할 수 있으며, 주변 장치 및/또는 다른 메타데이터에 관한 정보 같은 다른 데이터를 저장할 수 있다. 이벤트는 데이터 수집 시스템에 의해서 발견된 사건일 수 있으며, 예를 들어, 타임라인에 기초한 시작 시간과 종료 시간으로 특징지어 질 수 있다. 이러한 이벤트는, 예를 들어, 비디오 데이터를 생성하는 이미지 센서와 같은 다양한 주변 장치를 사용하여 수집될 수 있다. 클라이언트(140)는 사용자에게 특정한 관심 이벤트를 선택할 수 있는 인터페이스(interface)를 제공할 수 있다. 예를 들어, 클라이언트(140)는 상기 사용자에게 타임라인을 표현한 그래픽에 관심 구간을 특정(예를 들어, 상기 구간에 대한 시작 시간 과 종료 시간을 정의함)할 수 있게 하는 그래픽 사용자 인터페이스(GUI)를 제공할 수 있다. 클라이언트(140)는 상기 사용자에 의해 선택된 관심 구간에 연관된 이벤트를 이벤트 로그(120)로부터 검색하기 위한 요청을 서버(110)에 전송(예를 들어, 네트워크(130)을 통해서) 할 수 있다.
서버(110)는 네트워크(130)를 통해서 클라이언트(140)에 상기 이벤트에 관한 정보를 되돌려 제공하는 응답을 생성할 수 있다. 이러한 응답 정보는 시간 참조를 포함할 수 있으며 클라이언트(140)는 타임라인과 상기 이벤트를 연관 지을 수 있다. 예를 들어, 상기 서버(110)에 의해서 제공되는 상기 정보는 클라이언트(140)가, 상기 타임라인에 대한 참조와 함께, 일시적으로 관심 구간(예를 들어, 상기 사용자에 의해서 특정된 관심 구간)과 겹치는 각 이벤트의 시작 시간을 표시하게 할 수 있다. 서버(110)에 의해 생성된 상기 응답은 이러한 방식으로 구조화됨으로써 네트워크(130)를 통해서 신속하게 교환 될 수 있다. 서버(110)로부터 수신한 상기 응답을 바탕으로, 상기 클라이언트는 상기 수신된 정보를 효율적으로 처리할 수 있고 상기 관심 구간에 연관된 상기 이벤트와 관련된 타임라인을 생성할 수 있다.
도 1을 계속 참조하면, 서버(110)는 하나 이상의 클라이언트(140)로부터의 요청을 처리하고, 이벤트 로그(120)로부터 추출된 데이터를 처리하며, 하나 이상의 클라이언트(140)에 의해서 요청된 정보를 생성하고, 이벤트 로그(120)를 유지하기에 적합한 어떠한 종류의 기구일 수도 있다. 이벤트 로그(120)는 데이터베이스에 저장될 수 있기 때문에, 서버(110)는, 예를 들어, MySQL, 오라클 데이터베이스, 마이크로소프트 SQL 서버 등등 과 같은 어떠한 종류의 데이터베이스 소프트웨어를 이벤트 로그(120)에서 레코드를 삭제, 추가 및/또는 갱신하기 위하여 사용할 수 있다. 서버(110)는 소프트웨어 내에서 여기에 기술된 예시적인 처리를 수행할 수 있으며, 상기 처리 과정은 상기 이벤트의 타임라인을 생성하기 위해 사용될 수 있는 데이터 구조를 생성하고 이벤트 데이터를 효율적으로 검색하기 위하여 응용 프로그램 인터페이스(API)를 사용할 수 있다. 게다가 상기 API는 효율적인 SQL 데이터베이스 및 커맨드를 위하여 설계될 수 있다. 서버(110)는 어떠한 운영 체계를 사용하는 컴퓨터의 어떠한 종류일 수 있으며, 상기 컴퓨터의 예시적인 구성 요소는 도 7에 도시되어 있고 아래에서 더 자세히 기술한다.
이벤트 로그(120)는 하나 이상의 주변 장치에 의해서 수집될 수 있는 이벤트를 나타내는 데이터를 저장할 수 있으며, 상기 이벤트는 타임라인 상에서 어떤 시간(예를 들어, 시간 구간)과 연관될 수 있다. 아래에서 자세히 기술된 것처럼, 상기 주변 장치는 비디오, 오디오 및/또는 이미지 데이터를 수집할 수 있거나/있고 사람, 공간 및/또는 물체(예를 들어, 의료 장치, 영역 동작 감지 센서, 문 및/또는 창문 센서, 기타 등등)를 감시할 수 있는 장치를 포함할 수 있다. 상기 주변 장치는, 도 3내지 도 6에 도시되어 있고 아래에서 더 자세히 설명되어 있는, 분산 신체 출입 제어(DPAC, Distributed Physical Access Control) 시스템의 일 부분일 수 있다. 또한, 이벤트 로그(120)는 상기 연관된 주변 장치에 대한 정보를 제공할 수 있고/있거나 상기 주변 장치에 의해서 수집된 상기 데이터를 특징지을 수 있는 메타데이터를 저장할 수 있다.
예를 들어, 상기 메타데이터는 상기 주변 장치의 위치 정보(예를 들어, 주소, zip 코드, 표준 참조 구조의 지리적 위치 좌표, 기타 등등), 상기 이벤트를 생성한 장치의 종류(카메라 이름, 시리얼 번호, 기타 등등), 상기 이벤트와 연결된 미디어의 종류 및, 예를 들어, 초당 비디오 프레임 수, 해상도, 형식, 오디오 기타 등등과 같은 그것의 어떠한 정보를 포함할 수 있다. 또한, 이벤트에 대한 상기 데이터의 내용을 특징지을 수 있는 추가적인 메타데이터가 저장될 수 있다. 예를 들어, 메타데이터는 비디오에서 물체 인식 및/또는 움직임 분석, 이미지에서 얼굴 인식, 오디오에서 음성 인식의 결과 정보, 기타 등등을 포함할 수 있다. 위에서 지적한 것과 같이, 상기 이벤트를 나타내는 상기 데이터는 SQL 데이터베이스와 같은 데이터베이스 내의 레코드로 저장될 수 있다. 서버(110)는 이벤트 로그(120)를 저장하기 위하여 사용되는 실제적인 저장 장치(예를 들어, 내부 하드 디스크, RAID 어레이, 기타 등등)를 포함할 수 있다. 대안적으로, 상기 저장 장치는 따로 떨어져 있지만 서버(110)에 직접적으로 장착되거나(예를 들어, 다이렉트 액세스 저장 유닛(Direct Access Storage unit), RAID 어레이, 기타 등등), 상기 저장 장치는 네트워크(130)를 통해서(예를 들어, 네트워크 접근 저장 유닛(Network Access Storage unit)) 서버(110)에 접근 가능할 수 있다.
네트워크(130)는 하나 이상의 회선 교환 망(circuit-switched network) 및/또는 패킷 교환 망(packet switched network)을 포함할 수 있다. 예를 들어, 네트워크(130)는 근거리 망(LAN; Local Area Network), 원거리 망(WAN; Wide Area Network), 대도시 통신망(MAN; Metropolitan Area Network), 공중 교환 전화망(PSTN; Public Switched Telephone Network), 애드혹 망(ad hoc network), 내부 전산망(intranet), 인터넷(internet), 광 섬유망(fiber optic-based network), 무선망(wireless network) 및/또는 이것들 또는 다른 네트워크 종류의 조합을 포함할 수 있다.
클라이언트(140)는 관심 이벤트를 식별하고, 이벤트 로그(120)에 저장된 관심 이벤트에 관한 정보를 서버(110)로부터 요청하기 위하여 사용자가 서버(110)와 상호작용하게 할 수 있다. 상기 관심 이벤트를 식별하는 상기 정보는 클라이언트(140)에서 사용자에 의해, 예를 들어, GUI를 사용하여, 수동으로 입력될 수 있다. 일 실시예에 따르며, 상기 GUI는 타임라인 그래픽을 제공할 있고 상기 사용자는 관심 이벤트를 식별하기 위하여 관심 구간에 대응되는 타임라인 상의 시간 영역을 지정할 수 있다. 서버(110)는 상기 요청을 처리할 있고, 클라이언트(140)는 관련 이벤트에 관한 정보를 제공하는 (예를 들어, 간단하게) 구조화된 데이터를 서버(110)로부터 수신할 수 있다. 클라이언트(140)는 상기 관련 이벤트에 관한 정보를 상기 GUI를 사용하여 그래픽적으로 표시할 수 있다. 예를 들어, 각 관련 이벤트의 상기 시작 시간은 상기 타임 라인을 나타내는 그래픽 상의 적정한 지점에 표시될 수 있다.
클라이언트(140)는 상기 사용자와 상호작용하기 위하여 GUI를 제공할 수 있는 적합한 어떠한 장치일 수 있고, 네트워크(130)를 통해서 서버(110)와 인터페이스(interface) 하기 위한 적절한 능력을 가질 수 있다. 클라이언트 장치(140)는, 예를 들어, 어떠한 종류의 연산 장치, 이동식 통신 장치(예를 들어, 모바일 폰(mobile phone), 스마트 폰(smart phone), 패블렛(phablet) 및/또는 또 다른 종류의 무선 장치), 개인 컴퓨터 또는 워크스테이션(workstation); 서버 장치(server device); 랩탑(laptop), 태블릿(tablet), 또는 또 다른 종류의 이동식 컴퓨터; 및/또는 어떠한 종류의 통신 능력을 가진 장치를 포함할 수 있다.
도 2a 내지 도 2b는 효율적인 검색과 타임라인 생성을 위한 복수의 이벤트에 연관된 데이터를 처리하기 위한 실시예를 도시하고 있다. 도 2a는 상기 이벤트에 대한 공통 시간 참조로써 역할을 하는 예시적인 타임라인(202)를 도시하고 있다. 타임라인(202)은 관심 이벤트를 선택하고 관련 이벤트에 연관된 결과를 표시하기 위한 유용한 방법을 제공할 수도 있다. 도 2b는, 관련 이벤트를 식별하기 위해 서버(110)에 의해서 생성될 수 있고 상기 관련 이벤트의 타임라인을 생성하기 위해 클라이언트(140)에 의해 사용될 수 있는, 예시적인 데이터 구조(230)이다.
도 2a에 도시된 것과 같이, 타임라인(202)은 시간 t=0일 때 시작할 수 있고 임의의 시간 구간 동안 계속될 수 있다. 복수의 이벤트(204-222)는 타임라인(202) 위쪽에 표시되며, 그곳에서 각 이벤트는 시간 구간과 연관된(예를 들어, 주변 장치에 의해 수집된) 데이터에 대응된다. 예를 들어, 하나 이상의 이벤트(204-222)는 타임라인 상의 적절한 위치를 따라 나열된 시간 구간에 걸쳐서 촬영된 비디오 데이터를 나타낼 수 있다. 상기 그래프의 수직 면에 걸쳐 있는 개별 수평 라인은 서로 다른 사건에 대응된다. 공통 시간 또는 시간 구간에 연관된 라인에 의해서 표현된 이벤트들은 최소한 부분적으로 일치하고, 서로 다른 주변 장치, 예를 들어 복수의 비디오 카메라, 에 의해서 생성된 이벤트를 나타낼 수 있다. 시간 구간 동안, 이벤트의 상기 번호는 중요해질 수 있다. 예를 들어, 타임라인(202)이 대략 일주일(one week) 연장되면, 십만 개 이상의 이벤트가 신체 출입 제어 시스템에 있는 이벤트 로그(120)에 기록될 수 있다.
타임라인(202)은 파티션 사이즈에 따라서 Np 세그먼트로 나누어 질 수 있다. 일 실시예에 따르면, 상기 파티션 사이즈는 클라이언트(140)에 의해서 입력 파라미터로 지정될 수 있다. 그러 하기에, 상기 사용자의 입력은 클라이언트(140)에 의해서 수신될 수 있다. 클라이언트(140)는 타임라인(202) 상에서 “관심 구간”이라고 불리는 하나의 시간 구간을 지정할 수 있다. 상기 관심 구간은 시작 시간과 종료 시간을 바탕으로 사용자로부터 지정될 수 있다. 만일 클라이언트(140)가 GUI를 시용한다면, 상기 구간은 상기 사용자에 의해서 그래픽적으로 표현될 수 있다. 관심 구간의 적어도 어느 한 부분과 겹치는 이벤트는 “관심 이벤트”로 표현된다. 예를 들어, 도 2a를 참조하면, 타임라인(202)과 겹치는 적어도 하나의 부분을 가지는 이벤트는, 수직의 점선 사이에 표시된 것과 같이, 관심 이벤트이다. 따라서, 이벤트(204) 및 이벤트(208) 내지 이벤트(220)는 관심 이벤트로 분류된다. 상기 수직의 점선에 의해서 형성된 시간 경계 밖의 위치한 선을 가지는 이벤트(206) 및 이벤트(222)는 관심 이벤트로 분류되지 않는다.
상기 사용자의 요청 마다 이벤트 타임라인을 생성하기 위하여 관련 이벤트를 식별하기 위한 목적으로, 서버(110)는 다음과 같은 처리 과정을 수행할 수 있다. 상기 서버는, 상기 타임라인에 속한 모든 상기 세그먼트들에 관한 각 세그먼트들(n=1:Np)에 대하여, 하나 이상의 관심 이벤트가 세그먼트 n내에서 시작하는지 여부를 결정한다. 하나 이상의 관심 이벤트가 세그먼트 n 에서 시작하는지 여부를 결정한 것을 바탕으로, 이러한 이벤트들은 “관련 이벤트”로 식별된다. 즉, 주어진 세그먼트에 대한 관련 이벤트는 상기 세그먼트 내에서 시작하는 이벤트이고, 관심 구간과 오버랩 되는 이벤트이다. 세그먼트 n 내에서 관련 이벤트를 식별한 것을 바탕으로, 상기 다음 파라미터가 세그먼트 n에 대하여 결정될 수 있다: 세그먼트 n 내에서 시작하는 상기 이벤트의 상기 제일 빠른 시작 시간(tns), 세그먼트 n 내에서 시작하는 상기 이벤트의 가장 늦은 종료 시간(tnE) 및 세그먼트 n 에 대한 (횟수로 정의된) 관련 이벤트의 개수. 0이 아닌 횟수를 가진 각 세그먼트 n 에 대하여, tns, tnE 및 횟수는 클라이언트(140)에 제공될 수 있다. 이 정보는 상기 모든 세그먼트 Np에 대하여 세그먼트 별 기반으로 결정될 수 있고, 서버(110)에 의하여, 예를 들어 도 2b에 도시된 테이블(230) 같은, 자료 구조 형식으로 클라이언트(140)에 제공될 수 있다.
도 2a 및 도 2b를 더 참조하여, 이하에서 테이블(230)이 어떻게 생성되는지에 대한 예시를 설명한다. 타임라인(202)에 관하여, 세그먼트 n=0이 그것 내부에서 시작하는 어떠한 관련 세그먼트를 가지지 않는 것으로 평가될 것이고, 이러한 이 세그먼트에 연관된 정보는 테이블(230)에 저장되지 않을 것이다. 상기 처리 과정은, 세그먼트 내부에서 시작하는 관련 이벤트(예를 들어 관심 이벤트(204))를 가진 첫 번째 세그먼트인, 세그먼트 n=1 에 대해서도 진행될 것이다. 따라서, 상기 처리 과정은, 첫 번째 세그먼트를 식별하기 위한 색인 n=1, 첫 번째 시작 시간 t1S, 마지막 종료 시간 t1E 및 관련 이벤트의 개수(횟수=1) 을 비롯하여 이벤트 204에 연관된 모든 것을 포함한, 테이블(230)의 첫 번째 행(231)을 생성할 수 있다.
이 예시에서, 상기 처리 과정은 세그먼트에 연관된 관련 이벤트가 없는 세그먼트 n=2를 지나쳐 넘어갈 것이고, 세그먼트 n=3에 대해 진행된다. 세그먼트 n=3은 그 내부에서 시작하는 두 개의 관련 이벤트, 이벤트(208) 과 이벤트(210)을 가진다. 따라서, 상기 처리 과정은, 세 번째 세그먼트를 식별하기 위한 색인 n=3, 이벤트(208)에 연관된 세 번째 시작 시간 t3S, 이벤트(210) 에 연관된 마지막 종료 시간 t3E 을 포함한, 테이블(230)의 두 번째 행(232)을 생성할 수 있다. 세그먼트 n=3 내에서 시작하는 (이벤트(208) 및 이벤트(210)을 반영하는) 두 개의 이벤트가 존재한다.
상기 처리 과정은 내부에서 시작하는 관련 이벤트(212)를 가지는 세그먼트 n=4에 대해 계속한다. 따라서, 상기 처리 과정은, 네 번째 세그먼트를 식별하기 위한 색인 n=4, 이벤트(212)에 연관된 첫 번째 시작 시간 t4S 및 마지막 종료 시간 t4E 을 포함한, 테이블(230)의 세 번째 행(233)을 생성할 수 있다. 세그먼트 n=4 내에서 시작하는 관련 이벤트의 개수는 (이벤트(212)를 반영하는) 하나이다.
상기 처리 과정은 세그먼트 n=5 에 연관된 관련 이벤트가 없기 때문에 세그먼트 n=5를 건너뛰고, 세그먼트 n=6에 대해 진행된다. 세그먼트 n=6는 그 내부에서 시작하는 세 개의 관련 이벤트(이벤트(214), 이벤트(216), 이벤트 (218))를 가지고 있다. 여기서, 상기 처리 과정은, 여섯 번째 세그먼트를 식별하기 위한 색인 n=6, 이벤트(214)에 연관된 첫 번째 시작 시간 t6S 및 이벤트(216)에 연관된 마지막 종료 시간 t6E 을 포함한, 테이블(230)의 네 번째 행(234)을 생성할 수 있다. 세그먼트 n=6 내에서 관련 이벤트(214, 216, 218)가 시작하기 때문에, 이 일례에서는 횟수가 3이다.
상기 처리 과정은 그 내부에서 시작하는 관련 이벤트(220)를 가지는 세그먼트 n=7에 대해서 진행된다. 여기서, 상기 처리 과정은, 일곱 번째 세그먼트를 식별하기 위한 색인 n=7, 이벤트(220)에 연관된 첫 번째 시작 시간 t7S, 마지막 종료 시간 t7E 및 횟수=1과 이벤트(220)에 연관된 모든 것을 포함한, 테이블(230)의 다섯 번째 행(235)을 생성할 수 있다. 세그먼트 n=8 내지 Np는 그 내부에서 시작하는 어떠한 관련 이벤트를 가지고 있지 않기 때문에, 테이블(230)은 행(231)에서 행(235)를 가지고 완성된다.
일단 서버(110)가 타임라인(202) 및 테이블(230)의 모든 세그먼트들에 대한 분석을 완료하면, 테이블(230)은 클라이언트(140)에 제공될 수 있다. 클라이언트(140)는타임라인 상에서 상기 관련 이벤트의 상기 시작 시간을 GUI 상에 표시되도록 보여주기 위하여 테이블(230) 내의 상기 정보를 손쉽게 이용할 수 있다. 상기 클라이언트는 테이블(230) 내에 나열된 각 세그먼트들에 연관된 횟수에 관한 정보도 보여줄 수 있다. 테이블(230)은 상기 정보에 대해 “손실 압축”을 효과적으로 수행함으로써 상기 관련 이벤트에 관한 상기 정보를 압축한다는 것을 주목해야 한다. 이 예시에서, 테이블(230)은 네트워크(130)를 통한 효율적인 전송을 위하여 작은 크기인 반면에, 상기 시작 시간 tnS 및 종료 시간 tnE은 테이블(230)에 나열된 각 세그먼트 n내에서 시작하는 상기 관련 이벤트의 전체에 대한 경계만을 제공하기 때문에, 상기 개별적인 관련 이벤트는 테이블(230)로부터 복원될 수 없다.
도 3은 이벤트 타임라인 생성을 위하여 이벤트의 효율적인 검색을 수행하는 분산 신체 출입 시스템의 예시적인 환경(300)을 도시하고 있다. 도 3에 도시된 것과 같이, 환경(300)은 분산 제어 시스템(310, 예를 들어 분산 신체 출입 제어 시스템 또는 DPACS), 네트워크(130), 관리 장치(340) 및 이벤트 로그(120)를 포함할 수 있다.
제어 시스템(310)은 시스템 유닛(315a) 내지 시스템 유닛(315n) (집합적으로 “시스템 유닛들(315)”로 참조되고 개별적으로 “시스템 유닛(315)” 또는 “유닛(315)”로 참조됨)을 포함하는 분산된 컴퓨팅 시스템을 포함할 수 있다. 시스템 유닛(315)는 신체 출입 제어 장치를 포함할 수 있다. 예를 들어, 유닛(315)은, 방이나 방들의 그룹 같은, 보안 영역에 대한 출입을 제어하는 출입 제어기를 포함할 수 있다. 시스템 유닛(315)는 인증 정보(예를 들어, 출입 카드 인증 정보)를 판독 장치로부터 수신할 수 있고 상기 인증 정보가 자격이 있는지 여부를 결정하고, 상기 인증 정보에 나타난 사용자/장치가 상기 보안 영역에 출입할 수 있는 자격을 가졌는지 여부를 결정할 수 있다. 만일 자격이 있다면, 상기 출입 제어기는 문에 대한 잠금을 열거나 상기 보안 영역에 대한 승인된 출입과 관련된 다른 동작을 수행하기 위한 커맨드를 생성할 수 있다.
제어 시스템(310)은 하나 이상의 분산 데이터세트(dataset)를 포함할 수 있다. 분산 데이터세트는 유닛들(315)의 내부에 분산되고 잠재적으로 중복된 방식으로 저장되는 데이터를 포함한다. 일 실시예에 따르면, 분산 데이터세트는 하나 이상의 장치에 복제된다. 예를 들어, 상기 전체 분산 데이터세트는 모든 유닛들(315)에 저장될 수 있다. 다른 실시예에 따르면, 하나 이상의 유닛들(315)은 상기 분산 데이터세트의 부분세트(subset)를 저장할 수 있다. 또한, 분산 데이터세트는 모든 시스템 유닛들(315)에 연관될 수 있거나 시스템 유닛들(315)의 부분 집합에 연관될 수도 있다.
일 실시예에 따르면, 어떤 변경이 상기 분산 데이터세트(예를 들어, 컨센서스(consensus)에 기반한 분산 데이터세트) 내에 만들어지기 위해서 유닛들(315) 사이에서 컨센서스에 도달해야 한다. 시스템 유닛(315)은 컨센서스에 기반한 분산 데이터세트에 변경을 제안할 수 있다. 상기 변경이 상기 분산 데이터세트에 연관된 유닛들(315) 의 정족수에 의해서 받아 들여진다면, 컨센서스에 도달할 수 있고, 상기 변경은 각 연관된 유닛들(315)에 있는 상기 분산 데이터세트의 각 지역 복사본에 전달될 수 있다. 따라서, 상기 변경에 대하여 상기 연관된 유닛(315)의 정족수가 투표를 한다면, 상기 분산 데이터세트 내의 변경에 대한 컨센서스에 도달할 수 있다. 정족수는 상기 연관된 유닛들(315)의 가장 작은 다수와 일치할 수 있다. 따라서, 분산 데이터세트가 N개의 유닛들(315)에 연관된다면, N이 짝수 일 때N/2+1 개의 연관 유닛들(315)이 상기 변경에 대해서 투표하거나 N이 홀수 일 때 (N-1)/2+1개의 연관 유닛들(315)이 상기 변경에 대해서 투표하는 경우, 정족수는 충족될 수 있다. 정족수를 충족하기 위하여 가장 작은 다수를 요구하는 것은, 두 개의 충돌되는 제안을 고려했을 때 최소한 하나의 시스템 유닛(315)이 양쪽 제안을 수신하고 일치를 위하여 상기 제안 중에서 하나를 선택하는 것을 보장하기 위해서이다.
컨센서스에 기반한 분산 데이터세트는 상기 분산 데이터세트에 연관된 모든 시스템 유닛(315)이 상기 분산 데이터세트에 의해서 관리되는 상기 정보(예를 들어, 일 실시예에 따른 모든 상기 정보)를 포함할 수 있도록 보장할 수 있다. 예를 들어, 분산 데이터세트는 출입 규정을 포함할 수 있고, 상기 출입 규정은 상기 분산 데이터세트에 연관된 모든 시스템 유닛(315)에 유효할 수 있다. 따라서, 상기 하나 이상의 분산 데이터세트의 결과로써, 일 실시예에 따르면, 제어 시스템(310)은 중앙 제어 장치를 가지지 않는 분산 시스템에 해당할 수 있다. 다른 실시예에 따르면, 제어 시스템(310)은 분산 시스템 또는 (서버 장치와 같은) 중앙 제어 장치 모두를 포함할 수 있다. 제어 시스템(310)에 대한 변경은 모든 시스템 유닛(315)에서 설정될 수 있고, 상기 변경이 분산 데이터세트에 연관되어 있다면 상기 변경은 상기 분산 데이터세트에 연관된 다른 시스템 유닛들(315)에 전파될 수 있다. 더 나아가서, 제어 시스템(310)은, 고장난 단일 지점이 회피됨으로써, 장치 고장에 관하여 견고함을 보여줄 수 있다. 예를 들어, 특정 시스템 유닛(315)이 고장 나면, 다른 유닛들(315)이 데이터의 손실 없이 (또는 데이터의 손실을 최소화하여) 작동을 계속할 수 있다. 또 다른 실시예에 따르면, 변경은 컨센서스 없이 상기 분산 데이터세트에 생성될 수 있다.
일 실시예에 따르면, 하나 이상의 유닛(315)은 이벤트 데이터를 생성하고 네트워크(130)를 통해서 이벤트 로그(120)에 상기 이벤트 데이터를 제공할 수 있다. 이것은 분산된 방식으로 수행될 수 있고, 위에서 설명한 컨센서스에 바탕을 둔 접근에 의해서 조율될 수 있다. 추가적으로, 제어 시스템은 이벤트 로그(120)를 유지하고 이벤트 로그(120)에 접근하기 위한 소프트웨어를 실행할 수 있다. 상기 소프트웨어는 제어 시스템(310) 환경에서 실행이 가능하도록 특별히 고안된 데이터 베이스 소프트웨어를 포함할 수 있다. 다른 실시예에 따르면, 제어 시스템(310)은 분산 시스템 및, (도 3에는 도시되지 않은) 위에서 설명한 서버(110)와 같은, 중앙 제어 장치를 모두 포함할 수 있다. 이 실시예에 따르면, 상기 서버는 도 1의 설명에서 위와 같이 제공된 것처럼 이벤트 로그(120)와 상호 작용할 수 있다.
네트워크(130)는 유닛들(315)이, 이벤트 로그(120)와 함께, 서로 통신할 수 있도록 활성화시킬 수 있고/있거나, 관리 장치(340)가 특정 유닛들(315)과 통신할 수 있도록 활성화시킬 수 있다.
관리 장치(340)는 관리자가, 제어 시스템(310)을 설정하기 위하여, 제어 시스템(310)의 설정 변경, 제어 시스템(310)으로부터 정보 수신, 및/또는 다른 방식으로 제어 시스템(310)을 관리하기 위하여, 특정 유닛(315)에 접속할 수 있게 할 수 있다. 관리 장치(340)는 유닛(315)과 통신하기 위하여 설정된 어떠한 장치를 포함할 수 있다. 예를 들어, 관리 장치(340)는 이동식 통신 장치(예를 들어 모바일 폰(mobile phone), 스마트 폰(smart phone), 패블릿 장치(phablet device), 글로벌 위치 시스템(GPS; global positioning system) 장치 및/또는 또 다른 방식의 무선 장치), 개인용 컴퓨터 또는 워크스테이션(workstation); 서버 장치; 랩탑(laptop), 태블릿(tablet) 또는 이동식 컴퓨터의 또 다른 종류; 및/또는 통신 기능을 구비한 어떠한 종류의 장치를 포함할 수 있다.
일 실시예에 따르면, 관리 장치(340)는 도 1을 참조하여 위에서 설명한 것처럼 클라이언트(140)의 기능도 수행할 수도 있고, 상기 사용자가 상기 관심 구간 및/또는 타임라인의 상기 파티션 사이즈를 지정할 수 있게 할 수도 있다. 추가적으로, 관리 장치(340)는 타임라임을 생성하기 위하여 관련 이벤트에 관한 정보를 수신하기 위한 하나 이상의 유닛들(315) 및/또는 (도 3에 도시되어 있지 않은) 서버(110)와 상호 작용할 수 있다. 다른 대안적인 실시예에서, (도 3에 도시되어 있지 않은) 독립된 클라이언트 장치(140) 는 상기 유닛들(315) 및/또는 독립된 서버(110)와 상호 작용을 제공을 받을 수 있다.
도 3에 환경(300)의 예시적인 구성 요소들을 나타내고 있지만, 다른 구현에서, 환경(300)은 더 적은 구성 요소, 다른 구성 요소, 다르게 배치된 구성 요소 또는 도 3에 도시된 것보다 더 추가된 구성 요소를 포함할 수 있다. 추가적으로 또는 대안적으로, 환경(300)의 어떤 한 장치는 환경(300)에 있는 하나 이상의 다른 장치들에 의해서 수행되는 것처럼 설명된 기능을 수행할 수 있다. 더 나아가, 예시적인 분산 제어 시스템(310)이 물리적 출입 분산 제어 시스템을 포함할 수 있어도, 다른 구현은 물리적 출입이 아닌 시스템을 제어할 수 있다. 반면에, 분산 제어 시스템(310)은 (예를 들어, 사용 가능한 환경에서) 문을 열고/거나 닫기 또는 건물 또는 시설에 물리적 출입을 제어하기 위한 제어 시스템과 같은, 신체 출입 제어 시스템의 모든 타입을 포함할 수 있다. 분산 제어 시스템(310)은 팬을 제어(예를 들어, 작동 또는 종료)하기 위한 시스템, 건물 관리 시스템에서 경보(예를 들어, 인증 실패, 인증 성공 등등)를 시작시키기 위한 시스템 또는 공장 자동화 시스템에서 로봇 팔을 제어하기 위한 시스템도 포함할 수 있다.
도 4는 유닛(315)의 예시적인 구성 요소를 도시하는 블록도이다. 도 3에 도시된 것과 같이, 유닛(315)은 제어기(410) 및 하나 이상의 주변 장치(430)를 포함할 수 있다. 제어기(410)는 유닛(310)의 상기 동작을 제어할 수 있고/있거나, 다른 유닛(315)과 통신할 수 있고/있거나, 관리 장치(340)와 통신할 수 있고/있거나, 주변 장치(430)를 제어할 수 있다. 제어기(410)는 버스(412), 프로세서(414), 메모리(416), 네트워크 인터페이스(418), 주변 인터페이스(420) 및 하우징(422)을 포함할 수 있다.
버스(412)는 제어기(410)의 구성 요소들 사이에 통신을 허용하는 경로를 포함할 수 있다. 프로세서(414)는 싱글 코어 프로세서, 멀티 코어 프로세서, 마이크로프로세서, 래치 기반 프로세서 및/또는 인스트럭션을 해석하고 실행하는 처리 로직(logic) (또는 프로세서, 마이크로프로세서 및/또는 처리 로직의 일족)의 어떠한 타입을 포함할 수 있다. 다른 실시예에 따르면, 프로세서(414)는 특정 용도의 집적 회로(ASIC, application-specific integrated circuit), 필드 프로그래머블 게이트 어레이(FPGA, field-programmable gate array) 및/또는 집적 회로 또는 처리 로직의 또 다른 타입을 포함할 수 있다.
메모리(416)는, 프로세서(414)에 의한 수행을 위하여 정보 및/또는 인스트럭션을 저장할 수 있는 동적 저장 장치의 모든 타입을 포함할 수 있고/있거나, 프로세서(414)에 의한 사용을 위하여 정보를 저장할 수 있는 비휘발성 저장 장치의 모든 타입을 포함할 수 있다. 예를 들어, 메모리(416)는 랜덤 액세스 메모리(RAM) 또는 동적 저장 장치의 또 다른 타입, 읽기 전용 메모리(ROM) 장치 또는 정적 저장 장치의 또 다른 타입, 연상 기억 장치(CAM; content addressable memory), 자기적 및/또는 광학적 기록 메모리 장치 및 그것에 상응하는 드라이브(예를 들어, 하드 디스크 드라이브, 광학 드라이브, 기타 등등), 및/또는 플래시 메모리(flash memory) 같은 이동할 수 있는 형태의 메모리를 포함할 수 있다.
네트워크 인터페이스(418)는 제어기(410)가 다른 장치 및/또는 시스템과 유선 통신 링크(예를 들어, 도전성 와이어, 꼬임 쌍선 케이블, 동축 케이블, 전송선, 광섬유 케이블 및/또는 도파관(waveguide), 기타 등등), 무선 통신 링크(예를 들어, 방사주파수(RF; radio frequency), 적외선 및/또는 시광학(visual optic), 기타 등등) 또는 유선 및 무선 통신 링크의 조합을 통해서 통신(예를 들어, 데이터를 전송 하고/하거나 수신)하게 할 수 있게 하는 송수신기(예를 들어, 전송기 및/또는 수신기)를 포함할 수 있다. 네트워크 인터페이스(418)는 기저 대역(baseband) 신호를 RF 신호로 변환하는 송신기 및/또는 RF 신호를 기저 대역 신호로 변환하는 수신기를 포함할 수 있다. 네트워크 인터페이스(418)는 RF 신호를 송신하고 수신하기 위한 안테나와 결합될 수 있다.
네트워크 인터페이스(418)는 입력 및/또는 출력 포트(port), 입력 및/또는 출력 시스템, 및/또는 다른 장치에 데이터를 전송하는 것을 돕는 다른 입력 및 출력 구성 요소를 포함하는 논리적 구성 요소를 포함할 수 있다. 예를 들어, 네트워크 인터페이스(418)은 유선 통신을 위하여 네트워크 인터페이스 카드(예를 들어, 이더넷(ethernet) 카드) 및/또는 무선 통신을 위하여 무선 네트워크 인터페이스(예를 들어, WiFi) 카드를 포함할 수 있다. 네트워크 인터페이스(418)는 또한, 케이블 상에서 통신을 위한 유니버설 시리얼 버스(USB; universal serial bus), 블루투스(Bluetooth) 무선 인터페이스, 방사주파수 식별(RFID; radio-frequency identification) 인터페이스, 근거리 통신(NFC; near-field communication) 무선 인터페이스, 및/또는 한 형식에서 다른 형식으로 데이터를 변환할 수 있는 인터페이스의 모든 다른 타입을 포함할 수 있다.
주변 인터페이스(420)는 하나 이상의 주변 장치(430)와 통신하도록 설정될 수 있다. 예를 들어, 주변 인터페이스(420)는 입력 및/또는 출력 포트, 입력 및/또는 출력 시스템, 및/또는 주변 장치(430)에 데이터를 전송하는 것을 돕는 다른 입력 및 출력 구성 요소를 포함하는 하나 이상의 논리적 구성 요소를 포함할 수 있다. 예시로써, 주변 인터페이스(420)는 시리얼 주변 인터페이스 버스 프로토콜(Serial Peripheral Interface Bus protocol)을 사용하여 주변 장치와 통신할 수 있다. 또 다른 예시로써, 주변 인터페이스(420)는 프로토콜의 다른 타입을 이용할 수 있다. 하우징(housing, 422)은 제어기(410)의 구성 요소를 둘러쌀 수 있고 환경으로부터 제어기(410)의 구성 요소를 보호할 수 있다.
이하에서 설명된 것처럼, 제어기(410)는 이벤트 타임라인 생성을 위한 이벤트의 효율적인 검색을 수생하는 것에 관련된 어떤 동작을 수행할 수 있고/있거나, 제어기(410)에서 실행되기 위해 특별히 고안된 데이터베이스를 이용하는 것을 포함하는 이벤트 로그(120)를 관리하기 위한 동작을 수행할 수 있다. 제어기(410)는 ASIC 의 하드웨어 전기 회로의 결과로써 이러한 동작을 수행할 수 있다. 제어기(410)는 메모리(416)와 같은 컴퓨터가 읽을 수 있는 매체에 포함된 소프트웨어 인스트럭션을 수행하는 프로세서(414)에 대한 반응으로 이러한 동작을 또한(또는 대안적으로) 수행할 수 있다. 컴퓨터가 읽을 수 있는 매체는 비일시적 메모리 장치로 정의될 수 있다. 메모리 장치는 하나의 물리적 메모리 장치 내에서 구현되거나 또는 복수의 물리적 메모리 장치에 퍼져 있을 수 있다. 상기 소프트웨어 인스트럭션은 또 다른 컴퓨터가 읽을 수 있는 매체 또는 또 다른 장치로부터 메모리(416)로 읽어 들여 질 수 있다. 메모리(416)에 포함된 상기 소프트웨어 인스트럭션은 프로세서(414)가 여기서 설명된 처리를 수행하게 할 수 있다. 따라서, 여기서 설명된 구현은 하드웨어 회로 및 소프트웨어의 어떠한 특정 조합에 한정되지는 않는다.
주변 장치(430)는 제어기(410)에 정보를 제공하고, 제어기(410)에 의해서 제어를 받으며, 그렇지 않으면 제어기(410)와 통신하거나/하는 하나 이상의 장치를 포함할 수 있다. 일 실시예에 따르면, 주변 장치(430)는 보안 장치의 어떠한 타입을 포함할 수 있다. 예를 들어, 주변 장치(430)는 판독 장치(440), 잠금 장치(450), 센서(460) 및/또는 구동기(470) 와 같은 보안 장치를 포함할 수 있다. 주변 장치는 인증 정보를 제공할 수 있는 어떠한 타입의 보안 장치를 포함할 수 있고, 더 나아가 위에 나열된 주변 장치의 타입의 조합을 포함할 수 있다. 예를 들어, 판독 장치는 인증 정보를 제공하는 장치의 어떠한 타입일 수 있고, 그것의 임무를 수행하기 위하여, 카메라 및/또는 마이크로폰과 같은 하나 이상의 센서를 이용할 수 있다. 단독의 판독 장치(440), 단독의 잠금 장치(450), 단독의 센서(460) 및 단독의 구동기(470)는 설명의 목적으로 도 4에 도시되어 있고, 실제적으로, 주변 장치(430)은 복수의 판독 장치(440), 복수의 잠금 장치(450), 복수의 센서(460) 및/또는 복수의 구동기(470)을 포함할 수 있다. 몇몇 실시예에 따르면, 주변 장치(430)는 도 4에 도시된 장치 중에서 하나 이상을 포함하지 않을 수도 있다. 또한, 상기 주변 장치(430)는 시간에 연관된 데이터의 배열을 생산할 수 있는 어떠한 타입의 감시 장치를 포함할 수 있고, 따라서 이벤트 로그(120)에 저장된 상기 이벤트에 연관된 데이터를 제공할 수 있다.
판독 장치(440)는 사용자로부터 인증 정보를 판독할 수 있는 장비를 포함할 수 있고 제어기(410)에 상기 인증 정보를 제공할 수 있다. 예를 들어, 판독 장치(440)는 사용자로부터 알파벳으로 된 개인 식별 번호(PIN; personal identification number)를 수신하도록 설정된 키패드(keypad); 자기대(magnetic strip) 또는 RFID 태그와 같은 저장 장치의 또 다른 타입에 카드 코드를 저장하는 카드를 설정하는 카드 판독기; 사용자의 지문을 판독하도록 설정된 지문 판독기, 사용자의 홍채를 판독하도록 설정된 홍채 판독기, 마이크로폰과 사용자의 목소리 서명을 기록하도록 설정된 목소리 서명 식별기 및/또는 또 다른 타입의 판독 장치를 포함할 수 있다. 판독 장치(440)는 인증 정보를 제공할 수 있는 어떠한 타입의 보안 장치도 포함할 수 있고, 센서(460)에 관련하여 설명된 어떠한 센서 장치와 같은 하나 이상의 센서 장치를 포함할 수 있다. 예를 들어, 판독 장치(440)는 안면 인식을 위해 사용되는 카메라 및/또는 목소리 인식을 위해 사용되는 마이크로폰을 포함할 수 있다. 이러한 경우에, 사용자의 목소리 또는 얼굴은 사용자의 인증 정보로써 사용될 수 있다.
잠금 장치(450)는 제어기(410)에 의해 제어되는 자물쇠를 포함할 수 있다. 잠금 장치(450)는 문(예를 들어, 열리거나 닫히는 것을 방지한다), 창문, HAVC 환풍구 및/또는 보안 영역에 개방된 출입의 또 다른 타입을 잠글 수 있다. 예를 들어, 잠금 장치(450)는 전자기 자물쇠; 제어기(410)에 의해서 제어되는 모터를 가진 기계적 자물쇠; 전자 기계적 자물쇠; 및/또는 자물쇠의 또 다른 타입을 포함할 수 있다.
센서(460)는 센서 장치의 어떠한 타입을 포함할 수 있다. 예를 들어, 센서(460)는 문이 열렸는지 닫혔는지 여부를 감지할 수 있는 문 센서; 창문이 열렸는지 닫혔는지 여부를 감지할 수 있는 창문 센서; 근접 센서, 가시 광선 감시 장치, 적외선 감시 장치, 열 신호 감시 장치 및/또는 또 다른 타입의 감시 장치; 동작 센서와 같은 경보 센서, 열 센서, 압력 센서 및/또는 또 다른 타입의 경보 센서; 유닛(315) 내부에 위치한 위치 센서와 같은 탬퍼 센서(tamper sensor), 접촉 센서(예를 들어, 유닛(315)에 연관된 보안 영역 내부에 위치한 “나가기 요청”버튼) 및/또는 센서 장치의 또 다른 타입을 포함할 수 있다. 센서(460)는 더 나아가 시간 데이터와 함께 이미지 데이터, 비디오 데이터 또는 이들의 조합을 수집하는 센서의 어떠한 타입을 포함할 수 있다. 상기 수집된 데이터는 상기 타임라인과 부합되는 형식으로 저장되거나, 또는 더 나아가 상기 타임라인과 부합되도록 처리(예를 들어, 센서(460) 내에서 시간 오프셋에 대한 보상 또는 시계 드리프트(clock drift)) 될 수 있다.
구동기(470)는 구동 장치를 포함할 수 있다. 예를 들어, 구동기(470)는 조명 장치를 제어할 수 있다. 다른 예를 들면, 구동기(470)는 도난 경보 활성 장치; 경보 신호를 생성하거나 메시지를 재생하는 스피커; 디스플레이 장치; 센서(460)를 움직이기 위한 (예를 들어, 카메라 또는 다른 감시 장치의 시야를 제어하는) 모터; 문, 창문, 냉난방 환기구 및/또는 보안 영역에 연관된 또 다른 입구를 열거나 닫기 위한 모터; 잠금 또는 잠금 해제 위치에 있는 잠금 장치(450)를 보호하기 위한 모터; 소화 장치; 및/또는 구동 장치의 또 다른 타입을 포함할 수 있다.
도 4가 유닛(315)의 예시적인 구성 요소를 도시하고 있지만, 다른 구현에서, 유닛(315)는 도 4에 도시된 것보다 더 적은 구성 요소, 다른 구성 요소, 추가적인 구성 요소 또는 다르게 배치된 구성 요소를 포함할 수 있다. 추가적으로 또는 대안적으로, 유닛(315)의 어떠한 구성 요소(또는 구성 요소의 모든 그룹)는 유닛(315)의 하나 이상의 다른 구성 요소와 조합될 수도 있다. 반대로, 유닛(315)의 한 구성 요소의 상기 기능은 하나 이상의 구성 요소들에 분산되어 있을 수 있다.
도 5는 유닛(315)의 예시적인 물리적 배치(500)을 도시한 평면도이다. 도 5에 도시된 것과 같이, 물리적 배치(500)는 벽(510), 문(520), 제어기(410), 판독 장치(440), 잠금 장치(450), 센서(460) 및 구동기(470)을 포함할 수 있다.
벽(510)은 건물에 있는 방과 같은 보안 영역(540)을 둘러싸고 있다. 문(520)은 사용자에게 보안 영역(540)에 대합 출입을 제공한다. 이 실시예에 따르면, 제어기(410)는 보안 영역(540) 내부에 설치될 수 있다. 다른 실시예에 따르면, 제어기(410)는 비보안 영역(550)에 설치될 수 있다. 판독 장치(440)는 보안 영역(540) 바깥에 설치되고 잠금 장치(450)는 보안 영역(540) 내부에 벽(510)과 문(520) 쪽으로 설치된다. 센서(460)는, 이 예시에서, 보안 영역(540)의 외부이며 비보안 영역(540)의 내부에 장착된 감시 장치이다. 이 예시에서, 구동기(470)는 감시 장치(460)의 시야를 제어하는데 사용되는 모터를 포함한다.
사용자가 판독 장치(440)에 인증 정보를 입력하면(예를 들어, PIN을 입력함, 출입 카드를 스캐닝(scanning) 함, 홍채를 스캐닝 함, 기타 등등), 제어기(410)는 상기 사용자의 신원을 인증하기 위하여 상기 인증 정보를 이용할 수 있고 상기 사용자의 신원과 상기 출입 룰에 바탕을 두고 상기 사용자의 출입을 승인할지 여부를 결정하기 위하여 출입 룰 테이블에 대한 검색을 수행할 수 있다. 만일 제어기(410)가 출입이 승인되어야 한다고 결정한다면, 제어기(410)는 잠금 장치(450)가 문(520)을 잠금 해제하도록 활성화 시킬 수 있고, 이에 따라서 상기 사용자가 보안 영역(540)에 출입하는 것을 승인한다.
도 5가 물리적 배치(500)의 예시적인 구성 요소들을 도시하고 있어도, 다른 구현에서, 물리적 배치(500)은 도 5에 도시된 것보다 더 적은 구성 요소들, 다른 구성 요소들, 추가적인 구성 요소들 또는 다르게 배치된 구성 요소들을 포함할 수 있다. 추가적으로 또는 대안적으로, 물리적 배치(500)에 있는 모든 하나의 구성 요소(또는 구성 요소들의 그룹)은 물리적 배치(500)의 하나 이상의 다른 구성 요소들에 의해 수행되는 것처럼 기술된 하나의 임무 또는 임무들을 수행할 수 있다.
도 6은 제어 시스템(310)의 예시적인 물리적 배치(600)을 도시한 평면도이다. 도 6에 도시된 것과 같이, 물리적 배치(600)는 룸(620a) 내지 룸(620f)를 가진 건물(610)을 포함할 수 있다. 이더넷 네트워크(ethernet network)와 같은 지역 네트워크(630)는 유닛(315a) 내지 유닛(315f)을 서로 연결할 수 있다. 이 예시에서, 유닛(315a)는 룸(620a)에 들어가는 두 개의 문을 제어하고, 유닛 (315b)는 룸(620b)에 들어가는 바깥쪽 문을 제어하며, 유닛(315c)는 룸(620b)에서 룸(620c)에 들어가는 하나의 문을 제어하고, 유닛(315d)는 룸(620c)에서 룸(620d)로 들어가는 하나의 문을 제어하며, 유닛(315e)는 룸(620d)에서 룸(620e)로 들어가는 하나의 문을 제어하며, 유닛(315f)는 룸(620f)로 들어가는 바깥쪽 문을 제어한다.
이 실시예에서, 유닛(315a) 내지 유닛(315f)는 중앙 제어 장치(예를 들어, 서버)를 포함하지 않으며 하나 이상의 분산 데이터세트를 포함할 수 있다. 예를 들어, 유닛(315a) 내지 유닛(315f)는 분산 인증 정보 테이블, 분산 출입 규정 테이블 및/또는 분산 이벤트 로그를 관리할 수 있다. 관리자가 사용자를 추가하고 사용자에 관한 인증 정보를 추가하기 위하여 관리 장치(340)가 유닛(315a)에 접속한다고 가정한다. 상기 추가된 인증 정보는 상기 사용자가 출입 권한을 가진 룸에 대한 문을 제어하는 상기 다른 유닛들(315)에 분산될 수 있다. 예를 들어, 만일 유닛(315b)가 고장 나면, 상기 다른 DPACS 유닛들에 포함된 분산 이벤트 로그의 결과로써 유닛(315b)에 의해서 수집된 데이터는 계속 이용 가능할 수 있다.
도 6은 물리적 배치(600)의 예시적인 구성 요소를 도시하고 있어도, 다른 구현에서, 물리적 배치(600)은 도 6에 도시된 것보다 더 적은 구성 요소들, 다른 구성 요소들, 추가적인 구성 요소들 또는 다르게 배치된 구성 요소들을 포함할 수 있다. 예를 들어, 또 다른 실시예에 따르면, 중앙 제어 장치(예를 들어, 서버(110))는 하나 이상의 분산 데이터세트와 함께 사용될 수 있다. 추가적으로 또는 대안적으로, 물리적 배치(600)의 하나 이상의 구성 요소들은 물리적 배치(600)의 하나 이상의 다른 구성 요소들에 의해서 수행된 것처럼 기술된 하나 이상의 임무를 수행할 수 있다.
도 7은 서버(110)의 예시적인 구성 요소들을 도시한 블록도이다. 도 7에 도시된 것처럼, 서버(110)는 버스(710), 프로세서(720), 메모리(730), 대규모 저장장치(740), 입력 장치(750), 출력 장치(760) 및 통신 인터페이스(770)을 포함할 수 있다.
버스(710)는 서버(110)의 상기 구성 요소들 사이에 통신을 허용하는 경로를 포함할 수 있다. 프로세서(720)는 싱글 코어 프로세서(single core processor), 멀티 코어 프로세서(multi core processor), 마이크로프로세서(microprocessor), 래치 기반 프로세서(latch-based processor) 및/또는 인스트럭션을 해석하고 실행하는 처리 로직(또는 프로세서, 마이크로프로세서 및/또는 처리 로직의 일족)의 어떠한 타입을 포함할 수 있다. 다른 실시예에 따르면, 프로세서(620)는 특정 용도의 집적 회로(ASIC), 필드 프로그래머블 게이트 어레이(FPGA) 및/또는 집적 회로 또는 처리 로직의 또 다른 타입을 포함할 수 있다. 예를 들어, 상기 프로세서(720)는 x86 기반 CPU일 수 있고, 어떠한 운영 체계를 사용할 수 있고, 상기 운영 체계는 다양한 종류의 윈도우즈, UNIX 및/또는 리눅스를 포함할 수 있다. 상기 프로세서(720)는 또한 고차원 분석 소프트웨어 패키지 및/또는 어떠한 프로그래밍 및/또는 스크립트 언어로 쓰여진 맞춤형 소프트웨어를 사용할 수 있다. 예를 들어, 서버(110)는 이벤트 로그(120)으로부터 레코드를 추가, 업데이트 및/또는 삭제를 하기 위하여, 예를 들면, MySQL, 오라클 데이터베이스, 마이크로소프트 SQL 서버, 기타 등등과 같은, 데이터베이스 소프트웨어의 어떠한 타입을 사용할 수 있다.
메모리(730)는, 프로세서(414)에 의한 실행을 위해서, 정보 및/또는 인스트럭션을 저장할 수 있는 동적 저장 장치의 어떠한 타입을 포함할 수 있고/있거나, 프로세서(414)에 의한 사용을 위해서 정보를 저장할 수 있는 비휘발성 저장 장치의 어떠한 타입을 포함할 수 있다. 예를 들어, 메모리(416)는 RAM 또는 동적 저장 장치의 또 다른 타입, ROM 장치 또는 정적 저장 장치의 또 다른 타입, CAM, 자기적 및/또는 광학적 기록 메모리 장치 및 그것에 상응하는 드라이브(예를 들어, 하드 디스크 드라이브, 광학 드라이브, 기타 등등), 및/또는 플래시 메모리(flash memory) 같은 이동할 수 있는 형태의 메모리를 포함할 수 있다. 대규모 저장 장치(740)는 대량의 데이터를 저장하기에 적합한 일체형 장치의 어떠한 타입을 포함할 수 있고, 하나 이상의 하드 드라이브, 솔리드 스테이트 드라이브(solid state drive) 및/또는 다양한 타입의 RAID 어레이를 포함할 수 있다. 대규모 저장 장치(740)는, 데이터베이스 파일의 어떠한 타입을 포함할 수 있는, 이벤트 로그(120)에 연관된 파일을 저장하기에 적합할 수 있다.
선택 사항일 수 있는, 입력 장치(750)는, 만약 요청이 있다면, 운영자가 관리 서버(110)에 정보를 입력하게 할 수 있다. 입력 장치(750)는, 예를 들어, 키보드, 마우스, 펜, 마이크로폰, 원격 제어기, 음성 획득 장치, 이미지 또는 비디오 획득 장치, 터치 스크린 디스플레이 및 입력 장치의 또 다른 타입을 포함할 수 있다. 몇몇 실시예에서, 서버(110)는 원격으로 관리되고 입력 장치(750)를 포함하지 않을 수 있다.
출력 장치(760)는 서버(110)의 운영자에게 정보를 출력할 수 있다. 출력 장치(760)는 디스플레이, 프린터, 스피커 및/또는 출력 장치의 또 다른 타입을 포함할 수 있다. 예를 들어, 서버는 액정 디스플레이(LCD)를 포함하는 디스플레이를 포함할 수 있다. 몇몇 실시예에서, 서버(110)는 원격으로 관리되고 출력 장치(760)를 포함하지 않을 수 있다.
통신 인터페이스(770)는 서버(110)가 네트워크(130)를 통해서 다른 장치 및/또는 시스템과 통신할 수 있게 하는 송수신기를 포함할 수 있다. 통신 인터페이스(770)는 무선 통신(예를 들어, RF, 적외선 및/또는 광학, 기타 등등), 유선 통신(예를 들어, 도전성 와이어, 꼬임 쌍선 케이블, 동축 케이블, 송전선, 광학 섬유 케이블, 및/또는 도파관(waveguide)), 또는 무선 및 유선 통신의 조합일 수 있다. 통신 인터페이스(770)는 기저 대역 신호(baseband signal)을 RF 신호로 바꾸는 전송기를 포함할 수 있고/있거나 RF 신호는 기저 대역 신호로 바꿀 수 있는 수신기를 포함할 수 있다. 통신 인터페이스(770)는 RF 신호를 전송하고 수신하기 위한 안테나와 결합될 수 있다.
통신 인터페이스(770)는 입력 및/또는 출력 포트, 입력 및/또는 출력 시스템, 및/또는 다른 장치에 데이터를 전송하고 다른 장치로부터 데이터를 수신하는 것을 용이하게 하는 다른 입력과 출력 구성 요소를 포함하는 논리적 구성 요소를 포함할 수 있다. 예를 들어, 통신 인터페이스(760)는 유선 통신을 위하여 네트워크 인터페이스(예를 들어, 이더넷 카드)를 포함 하고/하거나 무선 통신을 위하여 무선 네트워크 인터페이스(예를 들어, WiFi)를 포함할 수 있다. 통신 인터페이스(770)는 케이블을 통한 통신, 블루투스 무선 인터페이스, RFID 인터페이스, NFC 무선 인터페이스, 및/또는 데이터를 한 형식에서 또 다른 형식으로 변환하는 인터페이스의 어떠한 다른 타입에 대한 USB 포트를 포함할 수 있다.
아래에서 기술한 것처럼, 서버(110)는 타임 라인 생성을 위한 이벤트의 효율적인 검색에 관련된 어떤 동작을 수행할 수 있다. 서버(110)는, 메모리(730) 및/또는 대규모 저장장치(740)와 같은, 컴퓨터로 판독 가능한 매체에 포함된 소프트웨어 인스트럭션을 실행하는 프로세서(720)에 반응하여 이러한 동작을 수행할 수 있다. 상기 소프트웨어 인스트럭션은 또 다른 컴퓨터로 판독 가능한 매체 또는 또 다른 장치로부터 메모리(730)로 읽혀질 수 있다. 메모리(730)에 저장된 상기 소프트웨어 인스트럭션은 프로세서(720)가 여기서 기술된 처리 과정을 수행하게 할 수 있다. 대안적으로, 하드웨어 전기 회로(hardwired circuitry)는 여기서 기술된 처리 과정을 구현하는 소프트웨어 인스트럭션과 조합이 되거나 대신할 수 있다. 따라서, 여기서 기술된 구현은 하드웨어 회로 및 소프트웨어의 어떠한 특정 조합에 한정되지는 않는다.
도 7이 서버(110)의 예시적인 구성 요소를 도시하고 있어도, 다른 구현에서, 서버(110)는 도 7에 도시된 것보다 더 적은 구성 요소, 다른 구성 요소, 추가적인 구성 요소, 또는 다르게 배치된 구성 요소를 포함할 수 있다. 추가적으로 또는 대안적으로 서버(110)의 하나 이상의 구성 요소는 서버(110)의 하나 이상의 다른 구성 요소에 의해 수행되는 것처럼 기술된 하나 이상의 임무를 수행할 수 있다.
도 8은 이벤트 데이터를 효율적으로 검색하기 위한 예시적인 처리 과정(800)을 도시하고 있는 순서도이다. 처리 과정(800)은 서버(110) 상에서 수행될 수 있고, 또는 다른 실시예에서, 하나 이상의 시스템 유닛(315) 상에서 수행될 수 있다.
처리 과정(800)은 파티션 사이즈(블록(810))와 관심 구간을 정의하기 위한 정보를 처음에 수신할 수 있다. 상기 수신된 정보는 클라이언트(140)로부터 보내진 것일 수 있다. 상기 수신된 정보는 타임 라인에 관련되어 제공될 수 있고, 관심 구간을 정의하기 위한 시작 시간 및 종료 시간을 수신하는 것을 포함할 수 있다. 상기 수신된 정보는, 상기 수신된 시작 시간, 종료 시간, 및 파티션 사이즈가 클라이언트(140)에서 그래픽적으로 정의된, GUI를 통해서 사용자에 의해 제공될 수 있다. 이러한 메타데이터는 위치 정보(예를 들어, GPS 좌표, 주소, 기타 등등), 상기 이벤트에 연관된 데이터를 생성하는 주변 장치의 종류(예를 들어, 카메라 종류, 제조사, 시리얼 넘버, 기타 등등), 상기 이벤트에 연관된 매체 타입(예를 들어, 비디오, 이미지, 기타 등등) 및 상기 매체에 연관된 메타데이터(예를 들어, 초당 프레임 수, 압축 방식, 형식, 오디오, 기타 등등)를 포함할 수 있다.
처리 과정(800)은 타임라인(202)을 상기 파티션 사이즈(블록(812))를 바탕으로 세그먼트들로 나누는 것을 또한 포함한다. 상기 세그먼트 크기는 클라이언트(140)에서 그래픽 사용자 인터페이스를 통해서 상기 사용자에 의해서 특정될 수 있다.
처리 과정(800)은 세그먼트(블록(814)) 내에서 하나 이상의 관련 이벤트를 가지는 각 세그먼트를 식별하는 것도 포함한다. 관련 이벤트는 세그먼트 내에서 시작하고 상기 관심 구간과 오버랩 되는 이벤트일 수 있다. 블록(814) 내에서 상기 식별은 위에서 기술된 상기 메타데이터에 바탕을 둔 필터링에 의해서 더 정제될 수 있다.
예를 들어, 일 실시예에서, 서버(110)는 상기 이벤트에 연관된 주변 장치(430)를 바탕으로 (예를 들어, 상기 이벤트는 다른 장치들에서 관찰된다) 이벤트를 분류하고, 상기 분류를 바탕으로 관련 이벤트를 필터링한다. 대안적으로, 상기 서버는 수집된 데이터로부터 결정된 정보를 바탕으로 이벤트를 분류할 수 있고, 상기 분류를 바탕으로 관련 이벤트를 필러팅할 수 있다. 일 실시예에서, 주변 장치(430)는 상기 이벤트에 연관된 비디오 데이터를 수집하기 위하여 하나 이상의 비디오 카메라를 포함할 수 있다. 상기 수집된 데이터는, 예를 들어, 상기 이미지 내에 있는 객체의 움직임(예를 들어, 방의 진출입)을 기술하거나, 이미지 또는 비디오 내에서 인식된 객체를 식별하거나, 오디오를 특징짓거나, 기타 등등을 기술할 수 있다.
또 다른 실시예에서, 서버(110)는 두 개의 SQL 쿼리를 사용하여 블록(814) 내의 이벤트를 식별한다. 서버(110)는 관심 이벤트를 식별하는 관심 구간과 시간적으로 겹치는 이벤트를 결정하기 위하여 이벤트 로그(120)에 대해서 첫 번째 SQL 쿼리를 수행할 수 있다. 그리고 나서 서버(110)는 어떠한 관심 이벤트가 상기 조회된 세그먼트 내에서 시작하는지 여부를 확인하기 위하여 각 세그먼트에 대하여 상기 이벤트 로그에 두 번째 SQL 쿼리를 수행한다. 만일 그렇다면, 서버(110)는 상기 확인된 이벤트를 상기 조회된 세그먼트에 대한 관련 이벤트로 분류한다. 그리고 나서 서버(110)는 각 식별된 세그먼트(블록(816))에 대한 하나 이상의 관련 이벤트에 연관된 파라미터를 결정하고, 그리고 나서 타임라인(블록(818)) 상의 표현에 대한 각 식별된 세그먼트를 지정하는 인덱스를 따라 상기 결정된 파라미터를 제공한다. 상기 파라미터는, 이하 도 9에서 설명되는 것처럼, 타임라인의 생성을 위하여 클라이언트(140)에 제공될 수 있다.
도 9는 주변 장치(430)가 네 개의 비디오 카메라를 포함하는 예시적인 그래픽 사용자 인터페이스(GUI, 900)를 도시한 블록도이다. 일 실시예에 따르면, 클라이언트(140)는 상기 사용자에게 정보를 제공하기 위하여 GUI(900)을 생성하고 표시한다. 클라이언트(140)는 상기 사용자가 다양한 입력을 넣을 수 있게 하는 그래픽적인 제어를 생성한다. GUI(900)는 메인 비디오 윈도우(902), 타임라인 그래픽(9040), 시간 항목 제어(910), 파티션 사이즈 항목 제어 및 카메라 선택 제어(918)를 포함할 수 있다.
상기 사용자는 상기 데이터가 수집된 상기 일시(date)를 특정할 수 있고/있거나 시간 항목 제어(910)를 사용하여 타임라인 그래픽(904)의 크기를 조정할 수 있다. 예를 들어, 특정 일시가 좌측에 도시된 달력 형태의 위젯(widget)을 사용하여 입력될 수 있다. 타임라인 그래픽(904)의 상기 크기는 서로 다른 버튼 제어를 사용하여 특정될 수 있다. 도 9에 도시된 것과 같이, 상기 “시간” 버튼이 선택되고, 이에 따라 타임라인 그래픽(904)는 타임라인 그래픽(904) 상에 4 시간씩 증가하는 라벨이 붙은 시간 단위로 표현된다.
일 실시예에서, 클라이언트(140)는 상기 사용자가, 하나 이상의 그래픽 입력 지시자(906)를 바탕으로, 그래픽적으로 하나 이상의 관심 구간을 선택함으로써 상기 타임라인 그래픽(904)를 사용하는 특정 관심 이벤트를 선택할 수 있게 한다. 타임라인 그래픽(904) 상에서 상기 그래픽 입력 지시자(906)의 위치는 상기 관심 구간이 발생한 시간을 가리키고, 상기 그래픽 입력 지시자(906)의 크기 및/또는 모양은 관심 구간의 지속 기간을 가리킬 수 있다. 클라이언트(140)는 상기 픽셀 위치 및/또는 범위를 받아들일 수 있고 이것을 타임라인 그래픽(904)의 상기 크기를 바탕으로 시간값으로 변환할 수 있고, 그리고 나서 이 값을, 예를 들어, 각 관심 구간의 시작 및 종료 시간으로 서버(110)에 제공할 수 있다. 추가적으로, 상기 사용자는 입력 제어(914)를 바탕으로, 서버(110)에 의한 처리를 위하여 타임라인(202)이 얼마나 미세하게 세그먼트화될 것인지 특정하기 위한, 파티션 사이즈를 특정할 수도 있다. 관심 구간을 특정하는 것에 덧붙여, 상기 사용자는 시간 외에 파라미터를 사용하여 관심 이벤트를 특정하는 추가적인 기준 및/또는 (위에서 언급한) 메타데이터를 특정할 수 있는 이벤트 필터 제어(916)을 사용하여 이벤트를 더 필터링할 수 있다. 예를 들어, 이벤트는 위치, 장치 타입, 메타데이터, 주제, 기타 등등을 바탕으로 필터링될 수 있다.
클라이언트(140)가 하나 이상의 상기 전술한 사용자 입력을 받으면, 요청의 형태로 서버(110)에 상기 사용자 입력 정보를 제공할 수 있다. 그러면 서버(110)는 상기 사용자게 제공한 입력에 연관된 이벤트를 이벤트 로그(120)로부터 검색하고, 관련 이벤트에 관한 정보를 네트워크(130)을 통해 클라이언트(140)에 다시 제공하는 응답을 생성할 수 있다. 클라이언트(140)는 그래픽 출력 지시자(908)의 형태로 타임라인 그래픽(904) 상에 서버(110)로부터 수신한 상기 정보를 표시할 수 있다. 그래픽 출력 지시자(908)는 타인라인 그래픽(904) 상에서 그들의 상대적인 배치에 의해 상기 관련 이벤트를 가리킬 수 있다. 예를 들어, 그래픽 출력 지시자(908)는, 데이터 구조(230)에 나열된 것처럼, 그것이 발견된 n번째 세그먼트에 대한 그것의 가장 빠른 시작 시간(tns)을 바탕으로 타임라인 그래픽(904) 상에 배치될 수 있다. 추가적으로, 데이터 구조(230)에서 제공되는 것과 같은 상기 횟수에 대응되는 숫자가 각 그래픽 출력 지시자(908)에 표시될 수 있다. 다른 실시예에 따르면, 상기 횟수는 그래픽 출력 지시자(908)의 크기에 의해서 지정될 수 있다.
클라이언트(140)가 위에서 기술된 것처럼 타임라인 그래프(904) 상에 상기 사용자에게 상기 관련 이벤트를 제시하면, 상기 사용자는 상기 이벤트에 연관된 상기 데이터를 검사하기 위하여 어떠한 그래픽 출력 지시자(908)을 선택할 수 있다. 예를 들어, 상기 이벤트가 비디오 데이터에 연관되었다면, 그래픽 출력 지시자(908)을 선택하는 것은 클라이언트(140)가 상기 이벤트에 연관된 비디오를 더 검색하게 하고 메인 비디오 윈도우(902) 상에 상기 비디오를 디스플레이하게 할 수 있다. 복수의 카메라에 상기 선택된 이벤트가 연관된다면, 상기 사용자는 카메라 선택 제어(918)를 사용하여 어느 카메라의 비디오를 디스플레이 할지 선택할 수 있다.
앞의 명세서 내용에서, 다양한 실시예가 상기 첨부된 도면에 관하여 설명되었다. 그러나 다양한 수정과 변경이 그것에 만들어 질 수 있고, 이하의 청구항에서 설명된 발명의 가장 넓은 범위를 벗어나지 않고 추가적인 실시예가 구현될 수 있다. 명세서 및 도면에 한정되는 것은 아니며, 명세서 및 도면은 설명적인 것으로 이해되어야 한다.
예를 들어, 일련의 블록들이 도면 1, 3, 4 및 7에 관하여 기술되었고, 신호의 순서 및/또는 로직이 도 2a, 2b 및 8에 관하여 기술되었지만, 블록의 순서, 로직 흐름 및/또는 신호 흐름은 다른 구현에서 수정될 수 있다. 더 나아가, 의존적이지 않은 블록 및/또는 신호 흐름은 병렬적으로 수행될 수 있다.
위에서 설명한 시스템 및/또는 처리 과정은 도면들에 도시된 구현에서 소프트웨어, 펌웨어 및 하드웨어의 매우 다양한 형태로 구현될 수 있다. 상기 실제적인 소프트웨어 코드 또는 이러한 시스템 및 처리 과정을 구현하는데 사용된 특화된 제어 하드웨어는 실시예에 한정되지는 않는다. 따라서, 상기 시스템 및 처리 과정의 구동과 동작은 특정 소프트웨어 코드에 대한 참조 없이 기술되었다. 소프트웨어 및 컨트롤 하드웨어는 여기의 설명을 바탕으로 상기 시스템 및 처리 과정을 구현하도록 설계될 수 있다.
더 나아가, 위에서 기술한 어떤 부분은 하나 이상의 기능을 수행하는 구성 요소로 구현될 수 있다. 구성 요소는, 여기서 사용된 것처럼, 프로세서, ASIC 또는 FPGA 같은 하드웨어 또는 하드웨어 및 소프트웨어의 조합(예를 들어, 소프트웨어를 수행하는 프로세서)을 포함할 수 있다.
"포함한다" 및 "포함하는"이라는 용어는, 설명된 특징들, 숫자들, 단계들 또는 구성 요소들의 존재를 특정하지만, 하나 이상의 다른 특징들, 숫자들, 단계들, 구성 요소들 또는 그들의 그룹들의 존재나 추가를 배제하는 것은 아니다. "예시적인"이라는 용어는 하나의 예시라기보다는 “예시, 사례 또는 설명 같은 역할을 하는 것”을 의미하기 위해 사용된다. “예시적인”으로 여기에 설명된 어떠한 실시예는 다른 실시예들에 대하여 선호된다거나 유리하다는 것을 필수적으로 의미하는 것은 아니다.
본 출원에서 사용된 어떠한 요소, 동작 또는 인스트럭션도 명시적으로 기재되어 있지 않는 한 실시예들에 대해 임계적이거나 필수적인 것으로 해석되어서는 안된다. 또한, 여기에 사용된 것처럼, 관사 “a”는 하나 이상의 항목들을 포함하도록 의도된 것이다. 더 나아가, “바탕으로”라는 문구는 명시적으로 다르게 기재되어 있지 않는 한, “적어도 부분적으로 바탕을 두고”를 의미하도록 의도된 것이다.
110 : 서버 120 : 이벤트 로그
130 : 네트워크 140 : 클라이언트
310 : 분산 제어 시스템 315a-315f : 시스템 유닛
340 : 관리 장치
410 : 제어기 412 : 버스
414 : 프로세서 416 : 메모리
418 : 네트워크 인터페이스 420 : 주변 인터페이스
422 : 하우징 430 : 주변 장치
440 : 판독 장치 450 : 잠금 장치
460 : 센서 470 : 구동기
510 : 벽 520 : 문
540 : 보안 영역 550 : 비보안 영역
610 : 빌딩 620a-620f : 룸

Claims (13)

  1. 관심 구간 및 파티션 사이즈를 정의하기 위한 타임라인에 연관된 정보를 수신하는 단계;
    상기 파티션 사이즈를 바탕으로 상기 타임라인을 복수의 세그먼트들로 나누는 단계;
    내부에 적어도 하나의 관련 이벤트를 가진 각 세그먼트를 식별하되, 상기 관련 이벤트는 상기 세그먼트 내부에서 시작하고 상기 관심 구간과 오버랩 되는 이벤트인 단계;
    상기 각 식별된 세그먼트에 대하여 상기 적어도 하나의 관련 이벤트와 연관된 파라미터를 결정하는 단계; 및
    상기 적어도 하나의 관련 이벤트의 상기 타임라인을 생성하는 클라이언트에게, 상기 각 식별된 세그먼트를 가리키는 인덱스와 함께 상기 결정된 파라미터를 제공하는 단계를 포함하되,
    관심 구간과 오버랩 되는,
    타임라인에 따른 표현을 위하여 이벤트 로그로부터 이벤트를 선택하는 방법.
  2. 제1항에 있어서,
    상기 결정하는 단계는,
    상기 적어도 하나의 관련 이벤트에 연관된 가장 빠른 시작 시간을 결정하는 단계;
    상기 적어도 하나의 관련 이벤트에 연관된 가능 늦은 종료 시간을 결정하는 단계; 및
    상기 적어도 하나의 관련 이벤트의 횟수를 결정하는 단계를 포함하는,
    타임라인에 따른 표현을 위하여 이벤트 로그로부터 이벤트를 선택하는 방법.
  3. 제1항 또는 제2항에 있어서,
    상기 식별하는 단계는,
    관심 이벤트를 식별하기 위하여 상기 관심 구간과 오버랩 되는 이벤트를 결정하기 위해 상기 이벤트 로그(120)에 조회하는 단계; 및
    하나의 관심 이벤트라도 상기 조회된 상기 세그먼트 내에서 시작하는지 여부를 확인하기 위하여, 상기 각 세그먼트에 대하여 상기 이벤트 로그에 조회하고, 상기 세그먼트 내에서 시작하는 하나의 관심 이벤트라도 확인된다면, 상기 확인된 이벤트를 상기 조회된 세그먼트에 대한 관련 이벤트로 분류하는 단계를 포함하는,
    타임라인에 따른 표현을 위하여 이벤트 로그로부터 이벤트를 선택하는 방법.
  4. 제1항 내지 제3항 중 어느 한 항 있어서,
    상기 타임라인 연관 정보를 수신하는 단계는,
    상기 타임라인 상에서 상기 관심 구간을 정의하기 위한 시작 시간 및 종료 시간을 수신하는 단계를 포함하는,
    타임라인에 따른 표현을 위하여 이벤트 로그로부터 이벤트를 선택하는 방법.
  5. 제4항에 있어서,
    상기 수신된 시작 시간, 종료 시간 및 파티션 사이즈는 상기 클라이언트에서 초기에 그래픽적으로 정의된,
    타임라인에 따른 표현을 위하여 이벤트 로그로부터 이벤트를 선택하는 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 이벤트는 적어도 하나의 주변 장치에 의해서 생성된 데이터에 의해 표현되는,
    타임라인에 따른 표현을 위하여 이벤트 로그로부터 이벤트를 선택하는 방법.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서,
    이벤트에 연관된 주변 장치를 바탕으로 상기 이벤트를 분류하는 단계; 및
    상기 분류를 바탕으로 상기 이벤트들을 필터링 하는 단계를 더 포함하는,
    타임라인에 따른 표현을 위하여 이벤트 로그로부터 이벤트를 선택하는 방법.
  8. 제1항 내지 제7항 중 어느 한 항에 있어서,
    적어도 하나의 상기 주변장치는 상기 타임라인과 일치하는 시간 데이터에 따라서, 이미지 데이터, 비디오 데이터 또는 이것의 조합을 수집한 것인,
    타임라인에 따른 표현을 위하여 이벤트 로그로부터 이벤트를 선택하는 방법.
  9. 제8항에 있어서,
    상기 이미지 또는 비디오 데이터에 연관된, 초당 프레임 수, 해상도, 형식 및 관련 오디오 데이터를 포함하는 메타데이터를 바탕으로 상기 이벤트들을 필터링하는 단계를 더 포함하는,
    타임라인에 따른 표현을 위하여 이벤트 로그로부터 이벤트를 선택하는 방법.
  10. 제1항 내지 제9항 중 어느 한 항에 있어서,
    상기 생성된 데이터로부터 결정된 상기 정보를 바탕으로 이벤트를 분류하는 단계; 및
    상기 분류를 바탕으로 상기 이벤트를 필터링 하는 단계를 더 포함하는,
    타임라인에 따른 표현을 위하여 이벤트 로그로부터 이벤트를 선택하는 방법.
  11. 제10항에 있어서,
    상기 필터링은 상기 적어도 하나의 주변 장치에 의해서 생성된 메타데이터를 바탕으로 하고,
    상기 메타데이터는 상기 주변 장치의 위치, 상기 주변 장치의 식별 및 상기 이벤트에 연관된 매체 타입을 포함하는,
    타임라인에 따른 표현을 위하여 이벤트 로그로부터 이벤트를 선택하는 방법.
  12. 제1항 내지 제11항 중 어느 한 항에 있어서,
    상기 적어도 하나의 주변 장치는 카메라, 창문 센서, 문 센서, 온도 조절기, 근접 센서 또는 이것들의 어떠한 조합을 포함하는,
    타임라인에 따른 표현을 위하여 이벤트 로그로부터 이벤트를 선택하는 방법.
  13. 프로세서; 및
    상기 프로세서가 상기 제1 항 내지 제12항 중에서 어느 한 항의 방법을 수행하게 하는 인스트럭션을 저장하며, 상기 프로세서에 결합된 메모리를 포함하는,
    이벤트 로그로부터 정의된 시간 구간에 연관된 이벤트를 선택하기 위한 장치.
KR1020140121853A 2013-09-16 2014-09-15 이벤트 타임라인 생성 KR101804768B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/028,218 US9430509B2 (en) 2013-09-16 2013-09-16 Event timeline generation
US14/028,218 2013-09-16

Publications (2)

Publication Number Publication Date
KR20150032193A true KR20150032193A (ko) 2015-03-25
KR101804768B1 KR101804768B1 (ko) 2017-12-05

Family

ID=49223666

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140121853A KR101804768B1 (ko) 2013-09-16 2014-09-15 이벤트 타임라인 생성

Country Status (6)

Country Link
US (1) US9430509B2 (ko)
EP (1) EP2849069B1 (ko)
JP (1) JP6196595B2 (ko)
KR (1) KR101804768B1 (ko)
CN (2) CN109189779B (ko)
TW (1) TWI606334B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018066742A1 (ko) * 2016-10-06 2018-04-12 한화테크윈 주식회사 영상 제공 장치 및 방법

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9876985B2 (en) * 2014-09-03 2018-01-23 Harman International Industies, Incorporated Providing a log of events to an isolated user
US9998788B1 (en) 2015-07-01 2018-06-12 Comcast Cable Communications, Llc Methods and systems for content storage
EP3345184A1 (en) * 2015-09-02 2018-07-11 THOMSON Licensing Method, apparatus and system for facilitating navigation in an extended scene
MX2018006970A (es) 2015-12-09 2018-09-05 Fujitsu Ltd Metodo de presentacion visual, medio de grabacion y dispositivo de control de presentacion visual.
WO2017134706A1 (ja) * 2016-02-03 2017-08-10 パナソニックIpマネジメント株式会社 映像表示方法及び映像表示装置
US11386213B2 (en) * 2016-06-21 2022-07-12 Unisys Corporation Systems and methods for efficient access control
WO2018191120A1 (en) * 2017-04-10 2018-10-18 Carrier Corporation Monitoring station with synchronised playback of detected events
US10719722B2 (en) * 2017-11-12 2020-07-21 Bendix Commercial Vehicle Systems Llc Driving oriented digital video recorder system
JP6969447B2 (ja) * 2018-03-05 2021-11-24 日本電産株式会社 ロボット制御装置、記録の作成方法およびプログラム
WO2022259559A1 (ja) * 2021-06-11 2022-12-15 日本電信電話株式会社 判定装置、判定方法および判定プログラム

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1421505A1 (en) * 2001-08-22 2004-05-26 Koninklijke Philips Electronics N.V. Timeline display apparatus
US20050132414A1 (en) * 2003-12-02 2005-06-16 Connexed, Inc. Networked video surveillance system
JP2007531940A (ja) * 2004-04-01 2007-11-08 テックスミス コーポレイション ユーザビリティテストを実施する自動化システムおよび方法
US7562299B2 (en) * 2004-08-13 2009-07-14 Pelco, Inc. Method and apparatus for searching recorded video
US7512617B2 (en) 2004-12-29 2009-03-31 Sap Aktiengesellschaft Interval tree for identifying intervals that intersect with a query interval
AU2005200888B2 (en) * 2005-02-28 2009-01-08 Canon Kabushiki Kaisha Visualising camera position in recorded video
US7843491B2 (en) * 2005-04-05 2010-11-30 3Vr Security, Inc. Monitoring and presenting video surveillance data
WO2007009238A1 (en) * 2005-07-19 2007-01-25 March Networks Corporation Temporal data previewing system
US9824107B2 (en) 2006-10-25 2017-11-21 Entit Software Llc Tracking changing state data to assist in computer network security
CN101388899B (zh) * 2007-09-12 2011-07-27 北京启明星辰信息技术股份有限公司 一种Web服务器前后台关联审计方法及系统
GB0719129D0 (en) * 2007-10-01 2007-11-07 Torridon Solutions Ltd Improvements relating to graphical user interfaces
JP2009163643A (ja) * 2008-01-09 2009-07-23 Sony Corp 映像検索装置、編集装置、映像検索方法およびプログラム
WO2011024163A1 (en) 2009-08-25 2011-03-03 Ben Gurion University Of The Negev Research And Development Authority Method and system for selecting, retrieving, visualizing and exploring time-oriented data in multiple subject records.
US9811553B2 (en) 2010-03-11 2017-11-07 Entegrity LLC Methods and systems for data aggregation and reporting
JP5641763B2 (ja) * 2010-04-07 2014-12-17 三菱電機株式会社 映像監視レコーダ装置
EP2541356B1 (en) * 2011-06-30 2013-08-28 Axis AB Processing monitoring data in a monitoring system
US20130039634A1 (en) * 2011-08-12 2013-02-14 Honeywell International Inc. System and method of creating an intelligent video clip for improved investigations in video surveillance
US9009159B2 (en) * 2012-01-23 2015-04-14 Microsoft Technology Licensing, Llc Population and/or animation of spatial visualization(s)
JP2013157061A (ja) * 2012-01-31 2013-08-15 Sony Corp 情報処理装置、情報処理方法、及びプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018066742A1 (ko) * 2016-10-06 2018-04-12 한화테크윈 주식회사 영상 제공 장치 및 방법
US11074291B2 (en) 2016-10-06 2021-07-27 Hanwha Techwin Co., Ltd. Apparatus and method for providing image

Also Published As

Publication number Publication date
JP6196595B2 (ja) 2017-09-13
US20150081706A1 (en) 2015-03-19
EP2849069B1 (en) 2020-08-12
EP2849069A1 (en) 2015-03-18
CN109189779B (zh) 2022-01-11
CN109189779A (zh) 2019-01-11
TWI606334B (zh) 2017-11-21
KR101804768B1 (ko) 2017-12-05
TW201527966A (zh) 2015-07-16
US9430509B2 (en) 2016-08-30
JP2015057706A (ja) 2015-03-26
CN104468177A (zh) 2015-03-25

Similar Documents

Publication Publication Date Title
KR101804768B1 (ko) 이벤트 타임라인 생성
JP6426174B2 (ja) 接続された装置のデータ管理
JP6303023B2 (ja) 一時的なイベンティングに関するシステム及び方法
US20190205293A1 (en) Systems and methods for concurrent summarization of indexed data
US20080273088A1 (en) Intelligent surveillance system and method for integrated event based surveillance
US20160075027A1 (en) Systems and Methods for Automated Cloud-Based Analytics for Security and/or Surveillance
US11924217B2 (en) Data security systems and methods
US9646394B2 (en) Case data visualization application
US20100058248A1 (en) Graphical user interfaces for building management systems
US11328514B2 (en) Centralized monitoring of confined spaces
CA2846350A1 (en) Mobile reports
CN110178110B (zh) 电子设备及用于通过其显示屏幕的方法
US20070124420A1 (en) Method and apparatus for providing reference information, method of displaying reference information, and computer program product
US20220215706A1 (en) Monitoring area setting device, monitoring area setting method, and alert notification method
US20230195779A1 (en) Image management method, apparatus, and system, and terminal device
US10599928B2 (en) Method and system for enabling information in augmented reality applications
US11785186B2 (en) Centralized monitoring of confined spaces
JP2020166847A (ja) 製造現場において装置再配列を検出する方法及びシステム
JP2020021346A (ja) 表示制御プログラム、表示制御方法、情報処理装置およびヘッドマウントユニット
US20230401228A1 (en) Techniques for automatically identifying and fixing one way correctness issues between two large computing systems
EP3588323B1 (en) Parameterized states for customized views of resources
JP2008287663A (ja) リソース管理装置
JP2023074337A (ja) データ管理装置、データ管理システム、データ管理方法、及び、プログラム
KR20180067224A (ko) 사용자 장치 및 그의 로그 관리 방법

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right