KR20230130008A - 데이터 정규화를 이용한 궤적 예측 - Google Patents
데이터 정규화를 이용한 궤적 예측 Download PDFInfo
- Publication number
- KR20230130008A KR20230130008A KR1020237023575A KR20237023575A KR20230130008A KR 20230130008 A KR20230130008 A KR 20230130008A KR 1020237023575 A KR1020237023575 A KR 1020237023575A KR 20237023575 A KR20237023575 A KR 20237023575A KR 20230130008 A KR20230130008 A KR 20230130008A
- Authority
- KR
- South Korea
- Prior art keywords
- access control
- observed
- points
- control device
- predicted
- Prior art date
Links
- 238000010606 normalization Methods 0.000 title 1
- 238000000034 method Methods 0.000 claims abstract description 112
- 238000012549 training Methods 0.000 claims abstract description 78
- 238000010801 machine learning Methods 0.000 claims abstract description 65
- 238000012545 processing Methods 0.000 claims abstract description 16
- 238000005259 measurement Methods 0.000 claims description 96
- 230000001133 acceleration Effects 0.000 claims description 88
- 238000013475 authorization Methods 0.000 claims description 74
- 238000004891 communication Methods 0.000 claims description 60
- 238000005070 sampling Methods 0.000 claims description 43
- 230000006870 function Effects 0.000 claims description 39
- 230000004044 response Effects 0.000 claims description 20
- 238000013528 artificial neural network Methods 0.000 claims description 12
- 230000009471 action Effects 0.000 claims description 7
- 238000005516 engineering process Methods 0.000 description 25
- 230000008569 process Effects 0.000 description 15
- 230000005540 biological transmission Effects 0.000 description 11
- 230000001413 cellular effect Effects 0.000 description 9
- 230000007246 mechanism Effects 0.000 description 9
- 239000008186 active pharmaceutical agent Substances 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 230000033001 locomotion Effects 0.000 description 8
- 238000009499 grossing Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000008878 coupling Effects 0.000 description 4
- 238000010168 coupling process Methods 0.000 description 4
- 238000005859 coupling reaction Methods 0.000 description 4
- 230000004807 localization Effects 0.000 description 4
- 230000004913 activation Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 239000007789 gas Substances 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 230000007774 longterm Effects 0.000 description 3
- 230000001934 delay Effects 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 238000001228 spectrum Methods 0.000 description 2
- 238000010521 absorption reaction Methods 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 230000002730 additional effect Effects 0.000 description 1
- 230000036772 blood pressure Effects 0.000 description 1
- 230000036760 body temperature Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 230000001143 conditioned effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 239000003344 environmental pollutant Substances 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 230000008921 facial expression Effects 0.000 description 1
- 238000005562 fading Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 231100001261 hazardous Toxicity 0.000 description 1
- 239000007788 liquid Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 231100000719 pollutant Toxicity 0.000 description 1
- 230000008261 resistance mechanism Effects 0.000 description 1
- 230000002207 retinal effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 239000013598 vector Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 230000001755 vocal effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/20—Instruments for performing navigational calculations
- G01C21/206—Instruments for performing navigational calculations specially adapted for indoor navigation
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/10—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
- G01C21/12—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C9/00—Individual registration on entry or exit
- G07C9/00174—Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys
- G07C9/00571—Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys operated by interacting with a central unit
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C9/00—Individual registration on entry or exit
- G07C9/20—Individual registration on entry or exit involving the use of a pass
- G07C9/28—Individual registration on entry or exit involving the use of a pass the pass enabling tracking or indicating presence
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/60—Context-dependent security
- H04W12/63—Location-dependent; Proximity-dependent
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/60—Context-dependent security
- H04W12/69—Identity-dependent
- H04W12/71—Hardware identity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/30—Services specially adapted for particular environments, situations or purposes
- H04W4/33—Services specially adapted for particular environments, situations or purposes for indoor environments, e.g. buildings
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Automation & Control Theory (AREA)
- Mobile Radio Communication Systems (AREA)
- Feedback Control In General (AREA)
- Lock And Its Accessories (AREA)
- Radar Systems Or Details Thereof (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Traffic Control Systems (AREA)
Abstract
궤적 예측을 위한 방법들 및 시스템들(100)이 제공된다. 방법들 및 시스템들(100)은, 복수의 관찰된 속력 포인트들을 수신하는 동작(501); 복수의 예측된 속력 포인트들을 생성하기 위해 머신 러닝 기술에 의해 관찰된 궤적에 대응하는 복수의 관찰된 속력 포인트들을 처리하는 동작 - 머신 러닝 기술은 복수의 트레이닝용 관찰된 속력 포인트들과 트레이닝용 예측된 속력 포인트들 사이의 관계를 설정하도록 트레이닝되어 있음 -(502); 복수의 예측된 속력 포인트들에 기초하여 미래 궤적을 결정하는 동작 - 복수의 예측된 속력 포인트들 각각은 미래 궤적의 복수의 슬라이스들 중 상이한 슬라이스에 대응함 -(503); 대상 접근 통제 디바이스가 미래 궤적의 임계 범위 내에 있다고 결정하는 동작(504); 및 대상 접근 통제 디바이스(110)와 연관된 동작을 수행하는 동작(505)을 포함하는 동작들을 포함한다.
Description
우선권 출원
본 출원은 2020년 12월 14일에 출원된 미국 가특허 출원 제63/125,041호에 대한 우선권을 주장하며, 그 개시는 참조에 의해 그 전체가 본 명세서에 포함된다.
궤적 예측은 지능형 접근 통제 시스템들과 같이 많은 작업들에서 중요한 역할을 한다. 이는 일반적으로, 특정 기간에 걸쳐 관찰된 부분 궤적들에 기초하여, 미리 정의된 미래 시간 간격 내의 각각의 시간 단계(time step)에서 이동 가능한 에이전트(예를 들면, 사람, 차량 또는 모바일 디바이스)의 포지션들을 예측하는 것으로서 정의된다.
일부 양태들에서, 방법이 제공되며, 상기 방법은: 하나 이상의 프로세서에 의해, 복수의 관찰된 속력 포인트들을 수신하는 단계 - 복수의 관찰된 속력 포인트들 각각은 관찰된 궤적의 복수의 슬라이스들 중 상이한 슬라이스에 대응함 -; 복수의 예측된 속력 포인트들을 생성하기 위해 머신 러닝 기술에 의해 관찰된 궤적에 대응하는 복수의 관찰된 속력 포인트들을 처리하는 단계 - 머신 러닝 기술은 복수의 트레이닝용 관찰된 속력 포인트들과 트레이닝용 예측된 속력 포인트들 사이의 관계를 설정하도록 트레이닝되어 있음 -; 복수의 예측된 속력 포인트들에 기초하여 미래 궤적을 결정하는 단계 - 복수의 예측된 속력 포인트들 각각은 미래 궤적의 복수의 슬라이스들 중 상이한 슬라이스에 대응함 -; 대상 접근 통제 디바이스가 미래 궤적의 임계 범위 내에 있다고 결정하는 단계; 및 대상 접근 통제 디바이스가 미래 궤적의 임계 범위 내에 있다고 결정하는 것에 응답하여, 대상 접근 통제 디바이스와 연관된 동작을 수행하는 단계를 포함한다.
일부 양태들에서, 복수의 관찰된 속력 포인트들은 가속도 측정값들을 포함하고, 복수의 예측된 속력 포인트들은 복수의 가속도 측정값들을 포함하며, 대상 접근 통제 디바이스는 출입문(door)과 연관된 잠금 장치(lock)를 포함하고; 여기서 동작을 수행하는 단계는 출입문을 잠금 해제하는 단계를 포함한다.
일부 양태들에서, 상기 방법은 사용자의 모바일 디바이스와 대상 접근 통제 디바이스 사이에 무선 통신 링크를 설정하는 단계; 무선 통신 링크를 통해 인가 정보(authorization information)를 교환하는 단계; 및 인가 정보에 기초하여, 사용자가 대상 접근 통제 디바이스에 접근하도록 인가되어 있다고 결정한 후에 동작을 수행하는 단계를 포함한다.
일부 양태들에서, 상기 방법은 동작을 수행하기 전에, 인가 정보에 기초하여, 사용자가 대상 접근 통제 디바이스에 접근하도록 인가되어 있다고 결정하는 단계; 및 사용자가 인가되어 있다고 결정한 후에 대상 접근 통제 디바이스가 미래 궤적의 임계 범위 내에 있는 것으로 결정될 때까지 동작을 수행하는 것을 지연시키는 단계를 포함한다.
일부 양태들에서, 무선 통신 링크는 BLE(Bluetooth Low Energy) 통신 프로토콜을 포함하며; 여기서 복수의 관찰된 속력 포인트들은 UWB(ultra-wideband) 통신 프로토콜을 통해 수신된다.
일부 양태들에서, 대상 접근 통제 디바이스는 실내에 위치한다.
일부 양태들에서, 상기 방법은 동작을 수행하기 전에, 인가 정보에 기초하여, 사용자가 대상 접근 통제 디바이스에 접근하도록 인가되어 있다고 결정하는 단계; 및 사용자가 인가되어 있다고 결정한 후에 대상 접근 통제 디바이스가 미래 궤적의 임계 범위 밖에 있다고 결정하는 것에 응답하여 동작을 수행하는 것을 방지하는 단계를 포함한다.
일부 양태들에서, 머신 러닝 기술은 신경 네트워크를 포함한다.
일부 양태들에서, 상기 방법은 제1 시점에서 제1 2차원(2D) 또는 3차원(3D) 직교 좌표(Cartesian coordinate)를 나타내는 제1 데이터 포인트를 수신하는 것; 제2 시점에서 제2 2D 또는 3D 직교 좌표를 나타내는 제2 데이터 포인트를 수신하는 것 - 제1 및 제2 데이터 포인트들 각각은 복수의 슬라이스들 중 제1 슬라이스에 대응함 -; 및 제1 및 제2 2D 또는 3D 직교 좌표들 사이의 차이 및 제1 및 제2 시점들 사이의 차이의 함수로서 복수의 관찰된 속력 포인트들의 제1 관찰된 속력 포인트를 계산하는 것에 의해 복수의 관찰된 속력 포인트들을 수신하는 단계를 포함한다.
일부 양태들에서, 상기 머신 러닝 기술은 복수의 관찰된 속력 포인트들의 샘플링 레이트와 독립적으로 복수의 예측된 속력 포인트들을 생성한다.
일부 양태들에서, 상기 방법은 복수의 관찰된 속력 포인트들 중 제1 관찰된 속력 포인트의 제1 타임스탬프와 복수의 관찰된 속력 포인트들 중 제2 관찰된 속력 포인트의 제2 타임스탬프 사이의 차이에 기초하여 복수의 관찰된 속력 포인트들이 수신되는 샘플링 레이트를 결정하는 것; 및 복수의 예측된 속력 포인트들, 사용자의 현재 위치, 및 복수의 관찰된 속력 포인트들이 수신되는 샘플링 레이트에 기초하여 미래 궤적의 2D 또는 3D 직교 좌표들을 계산하는 것에 의해 복수의 예측된 속력 포인트들에 기초하여 미래 궤적을 결정하는 단계를 포함한다.
일부 양태들에서, 상기 방법은 복수의 트레이닝용 관찰된 속력 포인트들의 제1 세트 및 상기 트레이닝용 예측된 속력 포인트들의 대응하는 제1 세트를 포함하는 제1 트레이닝 데이터 배치(batch of training data)를 획득하는 것; 복수의 추정된 속력 포인트들을 생성하기 위해 머신 러닝 기술로 트레이닝용 관찰된 속력 포인트들의 제1 세트를 처리하는 것; 손실 함수에 기초하여, 복수의 추정된 속력 포인트들과 트레이닝용 예측된 속력 포인트들의 대응하는 제1 세트 사이의 편차에 기초한 손실을 계산하는 것; 및 계산된 손실 함수에 기초하여 머신 러닝 기술의 파라미터들을 업데이트하는 것에 의해 머신 러닝 기술을 트레이닝시키는 단계를 포함한다.
일부 양태들에서, 복수의 트레이닝용 관찰된 속력 포인트들의 제1 세트는 제1 샘플링 레이트에 대응하고, 복수의 트레이닝용 관찰된 속력 포인트들의 제2 세트를 포함하는 제2 트레이닝 데이터 배치를 획득하는 단계 - 복수의 트레이닝용 관찰된 속력 포인트들의 제2 세트는 제2 샘플링 레이트에 대응함 -; 제2 복수의 추정된 속력 포인트들을 생성하기 위해 머신 러닝 기술로 트레이닝용 관찰된 속력 포인트들의 제2 세트를 처리하는 단계; 손실 함수에 기초하여, 제2 복수의 추정된 속력 포인트들과 트레이닝용 예측된 속력 포인트들의 대응하는 제1 세트 사이의 편차에 기초한 제2 손실을 계산하는 단계; 및 제2 손실에 기초하여 머신 러닝 기술의 파라미터들을 업데이트하는 단계를 더 포함한다.
일부 양태들에서, 하나 이상의 프로세서에 의해 실행될 때, 동작들을 수행하는 비일시적 컴퓨터 명령어들을 포함하는 메모리에 결합되는 하나 이상의 프로세서를 포함하는 시스템이 제공되며, 상기 동작들은: 복수의 관찰된 속력 포인트들을 수신하는 동작 - 복수의 관찰된 속력 포인트들 각각은 관찰된 궤적의 복수의 슬라이스들 중 상이한 슬라이스에 대응함 -; 복수의 예측된 속력 포인트들을 생성하기 위해 머신 러닝 기술에 의해 관찰된 궤적에 대응하는 복수의 관찰된 속력 포인트들을 처리하는 동작 - 머신 러닝 기술은 복수의 트레이닝용 관찰된 속력 포인트들과 트레이닝용 예측된 속력 포인트들 사이의 관계를 설정하도록 트레이닝되어 있음 -; 복수의 예측된 속력 포인트들에 기초하여 미래 궤적을 결정하는 동작 - 복수의 예측된 속력 포인트들 각각은 미래 궤적의 복수의 슬라이스들 중 상이한 슬라이스에 대응함 -; 대상 접근 통제 디바이스가 미래 궤적의 임계 범위 내에 있다고 결정하는 동작; 및 대상 접근 통제 디바이스가 미래 궤적의 임계 범위 내에 있다고 결정하는 것에 응답하여, 대상 접근 통제 디바이스와 연관된 동작을 수행하는 동작을 포함한다.
일부 양태들에서, 복수의 관찰된 속력 포인트들은 가속도 측정값들을 포함하고, 복수의 예측된 속력 포인트들은 복수의 가속도 측정값들을 포함하며, 대상 접근 통제 디바이스는 출입문과 연관된 잠금 장치를 포함하고; 동작을 수행하는 동작은 출입문을 잠금 해제하는 동작을 포함한다.
일부 양태들에서, 상기 동작들은: 사용자의 모바일 디바이스와 대상 접근 통제 디바이스 사이에 무선 통신 링크를 설정하는 동작; 무선 통신 링크를 통해 인가 정보를 교환하는 동작; 및 인가 정보에 기초하여, 사용자가 대상 접근 통제 디바이스에 접근하도록 인가되어 있다고 결정한 후에 동작을 수행하는 동작을 더 포함한다.
일부 양태들에서, 상기 동작들은: 동작을 수행하기 전에, 인가 정보에 기초하여, 사용자가 대상 접근 통제 디바이스에 접근하도록 인가되어 있다고 결정하는 동작; 및 사용자가 인가되어 있다고 결정한 후에 대상 접근 통제 디바이스가 미래 궤적의 임계 범위 내에 있는 것으로 결정될 때까지 동작을 수행하는 것을 지연시키는 동작을 더 포함한다.
일부 양태들에서, 동작들을 수행하기 위한 비일시적 컴퓨터 판독 가능 명령어들을 포함하는 비일시적 컴퓨터 판독 가능 매체가 제공되며, 상기 동작들은: 복수의 관찰된 속력 포인트들을 수신하는 동작 - 복수의 관찰된 속력 포인트들 각각은 관찰된 궤적의 복수의 슬라이스들 중 상이한 슬라이스에 대응함 -; 복수의 예측된 속력 포인트들을 생성하기 위해 머신 러닝 기술에 의해 관찰된 궤적에 대응하는 복수의 관찰된 속력 포인트들을 처리하는 동작 - 머신 러닝 기술은 복수의 트레이닝용 관찰된 속력 포인트들과 트레이닝용 예측된 속력 포인트들 사이의 관계를 설정하도록 트레이닝되어 있음 -; 복수의 예측된 속력 포인트들에 기초하여 미래 궤적을 결정하는 동작 - 복수의 예측된 속력 포인트들 각각은 미래 궤적의 복수의 슬라이스들 중 상이한 슬라이스에 대응함 -; 대상 접근 통제 디바이스가 미래 궤적의 임계 범위 내에 있다고 결정하는 동작; 및 대상 접근 통제 디바이스가 미래 궤적의 임계 범위 내에 있다고 결정하는 것에 응답하여, 대상 접근 통제 디바이스와 연관된 동작을 수행하는 동작을 포함한다.
일부 양태들에서, 복수의 관찰된 속력 포인트들은 가속도 측정값들을 포함하고, 복수의 예측된 속력 포인트들은 복수의 가속도 측정값들을 포함하며, 대상 접근 통제 디바이스는 출입문과 연관된 잠금 장치를 포함하고; 동작을 수행하는 동작은 출입문을 잠금 해제하는 동작을 포함한다.
일부 양태들에서, 상기 동작들은: 사용자의 모바일 디바이스와 대상 접근 통제 디바이스 사이에 무선 통신 링크를 설정하는 동작; 무선 통신 링크를 통해 인가 정보를 교환하는 동작; 및 인가 정보에 기초하여, 사용자가 대상 접근 통제 디바이스에 접근하도록 인가되어 있다고 결정한 후에 동작을 수행하는 동작을 더 포함한다.
도 1은 일부 실시예들에 따른, 예시적인 접근 통제 시스템의 블록 다이어그램이다.
도 2는 예시적인 실시예들에 따른, 궤적 예측에 기초한 예시적인 접근 통제 시스템을 예시한다.
도 3은 일부 실시예들에 따른, 도 1의 접근 통제 시스템 내에 배포될 수 있는 예시적인 궤적 예측 시스템의 블록 다이어그램이다.
도 4는 일부 실시예들에 따른, 도 1 내지 도 3의 시스템 내에 배포될 수 있는 예시적인 데이터베이스이다.
도 5는 예시적인 실시예들에 따른, 접근 통제 시스템의 예시적인 동작들을 예시하는 플로차트이다.
도 6은 본 명세서에서 설명되는 다양한 하드웨어 아키텍처들과 함께 사용될 수 있는, 예시적인 소프트웨어 아키텍처를 예시하는 블록 다이어그램이다.
도 7은 일부 예시적인 실시예들에 따른, 머신의 컴포넌트들을 예시하는 블록 다이어그램이다.
도 2는 예시적인 실시예들에 따른, 궤적 예측에 기초한 예시적인 접근 통제 시스템을 예시한다.
도 3은 일부 실시예들에 따른, 도 1의 접근 통제 시스템 내에 배포될 수 있는 예시적인 궤적 예측 시스템의 블록 다이어그램이다.
도 4는 일부 실시예들에 따른, 도 1 내지 도 3의 시스템 내에 배포될 수 있는 예시적인 데이터베이스이다.
도 5는 예시적인 실시예들에 따른, 접근 통제 시스템의 예시적인 동작들을 예시하는 플로차트이다.
도 6은 본 명세서에서 설명되는 다양한 하드웨어 아키텍처들과 함께 사용될 수 있는, 예시적인 소프트웨어 아키텍처를 예시하는 블록 다이어그램이다.
도 7은 일부 예시적인 실시예들에 따른, 머신의 컴포넌트들을 예시하는 블록 다이어그램이다.
궤적 예측에 기초한 접근 통제 시스템(예를 들면, 물리적 또는 논리적 접근 통제 시스템)에 대한 예시적인 방법들 및 시스템들이 설명된다. 이하의 설명에서, 설명 목적으로, 예시적인 실시예들의 완전한 이해를 제공하기 위해 수많은 구체적인 세부 사항들이 제시되어 있다. 그렇지만, 본 개시의 실시예들이 이러한 구체적인 세부 사항들이 없어도 실시될 수 있다는 것이 본 기술분야의 통상의 기술자에게는 명백할 것이다.
전형적인 접근 통제 시스템들에서, 사용자는 자격 증명 세트(set of credentials)(예를 들면, 인가 정보)를 포함하는 물리적 카드 또는 디바이스를 휴대한다. 물리적 카드 또는 디바이스가 접근 통제 디바이스로부터 약 20cm(가까운 근접) 내로 들어올 때 그러한 자격 증명들이 접근 통제 디바이스(예를 들면, 전자식 출입문 잠금 장치, 카드 판독기 등)와 교환된다. 그 지점에서, 접근 통제 디바이스는 자격 증명들이 사용자가 접근 통제 디바이스에 접근하도록 인가하는지를 결정하고, 만약 그렇다면, 접근 통제 디바이스는 접근을 승인한다(예를 들면, 출입문 잠금 장치를 연다). 그러한 시스템들은 일반적으로 잘 작동하지만, 이들은 사용자가 접근 통제 디바이스를 작동시키기 위해 접근 통제 디바이스에 매우 가까이 있을 것을 요구한다. 이것은 디바이스들을 작동시킬 때 다양한 지연들을 야기할 수 있으며 사용자들에게 좌절감을 줄 수 있다.
모바일 디바이스들이 더 보편화됨에 따라, 그러한 모바일 디바이스들은 전형적으로 사용되는 물리적 카드들과 동일한 자격 증명 세트를 지니도록 프로그래밍될 수 있다. 이러한 모바일 디바이스들은, 예컨대, BLE(Bluetooth Low Energy) 통신 프로토콜을 사용하여, 더 먼 거리에서 접근 통제 디바이스들과 통신할 수 있다. 예를 들어, 모바일 디바이스들은 최대 100 미터의 범위에 걸쳐 접근 통제 디바이스와 자격 증명들을 송신 및 교환할 수 있다. 그러한 경우에, 물리적 카드 또는 디바이스를 사용하는 것보다 사용자가 접근 통제 디바이스로부터 더 먼 거리에 있을 때 접근 통제 디바이스가 작동될 수 있다. 이러한 방식으로, 사용자가 최종적으로 접근 통제 디바이스에 도달할 때, 접근 통제 디바이스는 이미 자격 증명들을 수신 및 인가하였고 사용자에게 접근을 승인하거나 거부하였다. 사용자가 디바이스에 도달할 때 디바이스를 작동시키기 위해 사용자로부터의 추가 액션이 필요하지 않다(예를 들면, 사용자는 물리적 카드를 접근 통제 디바이스에 근접하게 가져올 필요가 없다).
그렇지만, BLE를 통해 자격 증명들을 교환하는 이러한 다른 접근 방식들은 다른 문제를 야기한다. 즉, BLE 통신 프로토콜의 범위 내에 다수의 접근 통제 디바이스들이 존재하는 경우, 사용자가 작동시키려고 의도하지 않은 디바이스와 자격 증명들이 교환될 수 있다. 예를 들어, 사용자가 접근하기 위한 자격 증명들을 가진 사용자의 모바일 디바이스의 범위 내에 다수의 접근 통제 디바이스들이 존재할 수 있다. 그렇지만, 사용자는 하나의 디바이스에만 접근하려고 의도할 수 있다. 다른 예로서, 사용자는 사용자가 접근하도록 인가되어 있지만 주어진 출입문 또는 접근 통제 디바이스를 통과하거나 작동시킬 의도가 없을 수 있는 주어진 출입문 또는 접근 통제 디바이스 옆을 지나갈 수 있다. 그러한 경우에, 사용자의 궤적을 결정하는 것은 다수의 올바른 물리적 접근 디바이스들 중 어느 것을 작동시킬 것인지 및 그러한 디바이스들을 작동시키는 것에 관한 사용자의 의도를 결정하는 데 중요한 역할을 할 수 있다.
전형적인 궤적 예측 시스템들은 관찰된 궤적들의 몇 단계들을 입력으로서 수신하고 미래 타임라인에서의 여러 개의 연속적인 위치들을 생성한다. 그러한 전형적인 궤적 예측 시스템들은 특정의 알려진 샘플링 주파수로 획득되는 데이터에 의존한다. 이것은 그들의 일반 적용을 제한하는데, 그 이유는, 실세계 시나리오들에서, 상이한 유형들의 위치 센서들이 상이한 주파수들에서 신호들을 방출하고 센서들이 하드웨어 및 통신 제한들로 인한 일관되지 않은 샘플링 레이트들로 인해 어려움을 겪을 수 있기 때문에 실제 데이터가 이상적이지 않기 때문이다. 일부 궤적 예측 시스템들은 다수의 샘플링 주파수들에 대해 트레이닝될 수 있지만, 이것은 그들의 복잡성을 더욱 증가시키고 그들을 모바일 디바이스들 및 플랫폼들에서 적용하는 데 적합하지 않게 만든다.
개시된 실시예들은 접근 통제 시스템이 높은 보안을 유지하면서 사용자들에게 사전 대응적이고 원활한 경험을 제공할 수 있도록 사용자의 미래 포지션들을 정확하게 예측할 수 있는 지능형 해결책을 제공한다. 개시된 실시예들은 들어오는 또는 관찰된 데이터 또는 궤적 포인트들의 샘플링 레이트에 관계없이 사용자의 궤적을 예측하는 궤적 예측 시스템을 제공한다. 예측된 궤적에 기초하여, 주어진 접근 통제 디바이스가 해당 궤적의 범위 내에 있고 (예를 들면, 예컨대, BLE를 통해, 자격 증명들의 장거리 교환에 의해 결정되는 바와 같이) 사용자에 의한 접근에 대해 인가되는 경우, 주어진 접근 통제 디바이스가 작동된다. 예로서, 주어진 접근 통제 디바이스(예를 들면, 출입문 잠금 장치)는 초기에 인가 데이터(예를 들면, 자격 증명들)를 교환하기 위해 하나의 통신 프로토콜(예를 들면, BLE)을 통해 사용자의 모바일 디바이스와 통신할 수 있다. 이어서, 주어진 접근 통제 디바이스가 사용자의 예측된 궤적의 범위 내에 있는 것으로 결정되는 경우, 주어진 접근 통제 디바이스는 작동되도록 지시받는다(예를 들면, 출입문 잠금 장치가 열린다). 이러한 방식으로, 사용자가 주어진 접근 통제 디바이스에 도달할 때, 주어진 접근 통제 디바이스는 사용자가 물리적 접근 카드를 주어진 접근 통제 디바이스에 근접하게 가져올 필요 없이 작동될 준비가 된다.
일부 실시예들에서, 개시된 실시예들은 궤적 예측에 기초하여 장거리 접근 통제를 수행하기 위한 시스템들 및 방법들을 제공한다. 개시된 실시예들에 따르면, 복수의 관찰된 속력 포인트들이 수신된다. 관찰된 궤적에 대응하는 복수의 관찰된 속력 포인트들은 복수의 예측된 속력 포인트들을 생성하기 위해 머신 러닝 기술에 의해 처리된다. 머신 러닝 기술은 복수의 트레이닝용 관찰된 속력 포인트들과 트레이닝용 예측된 속력 포인트들 사이의 관계를 설정하도록 트레이닝되어 있다. 개시된 실시예들은 복수의 예측된 속력 포인트들 - 복수의 예측된 속력 포인트들 각각은 미래 궤적의 복수의 슬라이스들 중 상이한 슬라이스에 대응함 - 에 기초하여 미래 궤적을 결정하고, 대상 접근 통제 디바이스가 미래 궤적의 임계 범위 내에 있다고 결정한다. 대상 접근 통제 디바이스가 미래 궤적의 임계 범위 내에 있다고 결정하는 것에 응답하여, 개시된 실시예들은 대상 접근 통제 디바이스와 연관된 동작을 수행한다.
일부 실시예들에서, 개시된 실시예들은 궤적 예측에 기초하여 장거리 접근 통제를 수행하기 위한 시스템들 및 방법들을 제공한다. 개시된 실시예들에 따르면, 복수의 관찰된 가속도 포인트들이 수신된다. 관찰된 궤적에 대응하는 복수의 관찰된 가속도 포인트들은 복수의 예측된 가속도 포인트들을 생성하기 위해 머신 러닝 기술에 의해 처리된다. 머신 러닝 기술은 복수의 트레이닝용 관찰된 가속도 포인트들과 트레이닝용 예측된 가속도 포인트들 사이의 관계를 설정하도록 트레이닝되어 있다. 개시된 실시예들은 복수의 예측된 가속도 포인트들 - 복수의 예측된 가속도 포인트들 각각은 미래 궤적의 복수의 슬라이스들 중 상이한 슬라이스에 대응함 - 에 기초하여 미래 궤적을 결정하고, 대상 접근 통제 디바이스가 미래 궤적의 임계 범위 내에 있다고 결정한다. 대상 접근 통제 디바이스가 미래 궤적의 임계 범위 내에 있다고 결정하는 것에 응답하여, 개시된 실시예들은 대상 접근 통제 디바이스와 연관된 동작을 수행한다.
속력 또는 속도를 예측하기 위해 다수의 속력, 가속도 또는 속도 포인트들에 대해 머신 러닝 기술을 트레이닝시키는 것에 의해, 개시된 실시예들은 관찰된 궤적의 위치 좌표들이 획득되거나 수신되는 샘플링 레이트와 독립적으로 미래 궤적을 예측할 수 있다. 즉, 머신 러닝 기술은 상이한 시간들에서 획득되는 2개의 3차원(3D) 포지션의 3D 좌표들 사이의 차이를 계산하고, 이 차이를 3D 좌표들이 수신된 타임스탬프들의 차이로 나눈다. 이것은 관찰되는 주어진 궤적을 따라 있는 슬라이스 세트에 대한 전체 속력을 제공한다. 이어서 이 속력은 미래 속력을 예측하기 위해 처리될 수 있다. 미래 궤적은 3D 위치들의 추정된 또는 알려진 샘플링 레이트에 기초하여 미래 3D 좌표들을 도출하는 것에 의해 결정될 수 있다. 예를 들어, 거리 또는 예측된 세그먼트(예를 들면, 2개의 예측된 3D 좌표 사이의 차이에 대응함)를 식별하기 위해 각각의 예측된 속력 측정값이 샘플링 레이트(예를 들면, 측정값들 사이의 시간 양)와 곱해질 수 있다. 예측된 세그먼트는 알려진 사용자의 현재 포지션에 의해 오프셋될 수 있고, 예측된 궤적을 생성하기 위해 추가적인 예측된 3D 좌표들과 어셈블링되거나 결합될 수 있다.
대안적인 실시예에서, 관찰된 포지션들 및 미래 궤적들은 2차원 공간에 있고 2D 좌표들로 표현된다. 예를 들어, 머신 러닝 기술은 상이한 시간들에서 획득되는 2개의 2D 포지션의 2D 좌표들 사이의 차이를 계산하고, 이 차이를 2D 좌표들이 수신된 타임스탬프들의 차이로 나눈다. 이것은 관찰되는 주어진 궤적을 따라 있는 슬라이스 세트에 대한 전체 속력을 제공한다. 이어서 이 속력은 미래 속력을 예측하기 위해 처리될 수 있다. 미래 궤적은 2D 위치들의 추정된 또는 알려진 샘플링 레이트에 기초하여 미래 2D 좌표들을 도출하는 것에 의해 결정될 수 있다. 예를 들어, 거리 또는 예측된 세그먼트(예를 들면, 2개의 예측된 2D 좌표 사이의 차이에 대응함)를 식별하기 위해 각각의 예측된 속력 측정값이 샘플링 레이트(예를 들면, 측정값들 사이의 시간 양)와 곱해질 수 있다. 예측된 세그먼트는 알려진 사용자의 현재 포지션에 의해 오프셋될 수 있고, 예측된 궤적을 생성하기 위해 추가적인 예측된 2D 좌표들과 어셈블링되거나 결합될 수 있다.
도 1은 다양한 예시적인 실시예들에 따른, 예시적인 시스템(100)을 도시하는 블록 다이어그램이다. 시스템(100)은 네트워크(130)(예를 들면, 인터넷, BLE, UWB(ultra-wideband) 통신 프로토콜, 전화 네트워크(telephony network), 또는 다른 유선 또는 무선 통신 프로토콜들)를 통해 통신 가능하게 결합되는, 클라이언트 디바이스(120), 예컨대, 잠글 수 있는 출입문을 통해, 보호된 자산 또는 자원에 대한 접근을 통제하는 하나 이상의 접근 통제 디바이스(110), 및 인가 관리 시스템(140)을 포함하는 접근 통제 시스템일 수 있다.
UWB는 넓은 주파수 스펙트럼에 걸쳐 짧은 저전력 펄스들을 사용하는 RF(radio frequency) 기술이다. 펄스들은 초당 수백만 개의 정도의 개별 펄스들이다. 주파수 스펙트럼의 폭은 일반적으로 500 메가헤르츠보다 크거나 산술 중심 주파수(arithmetic center frequency)의 20%보다 크다.
UWB는, 예컨대, 시간 변조(예를 들면, 펄스 포지션 인코딩)를 통해 데이터를 인코딩하는 것에 의해, 통신에 사용될 수 있다. 여기에서, 심벌들은 이용 가능한 시간 단위들의 세트 중 시간 단위들의 서브세트에 대한 펄스들에 의해 지정된다. UWB 인코딩들의 다른 예들은 진폭 변조 및/또는 극성 변조를 포함할 수 있다. 광대역 송신은 반송파 기반 송신 기술들보다 다중 경로 페이딩(multipath fading)에 더 강한 경향이 있다. 게다가, 임의의 주어진 주파수에서 펄스들의 더 낮은 전력은 반송파 기반 통신 기술들과의 간섭을 감소시키는 경향이 있다.
UWB는 수십 센티미터 정도의 위치 정확도들을 제공하는 레이다 동작들에서 사용될 수 있다. 펄스에서 상이한 주파수들의 흡수 및 반사가 가변적일 수 있기 때문에, 물체의 표면 및 가려진(예를 들면, 덮인) 특징부들 양쪽 모두가 검출될 수 있다. 일부 경우에, 측위(localization)는 거리 외에도 입사각을 제공한다.
클라이언트 디바이스(120) 및 접근 통제 디바이스들(110)은 전자 메시지들(예를 들면, 인터넷, BLE, UWB, WiFi Direct 또는 임의의 다른 프로토콜을 통해 교환되는 패킷들)을 통해 통신 가능하게 결합될 수 있다. 도 1이 단일 접근 통제 디바이스(110) 및 단일 클라이언트 디바이스(120)를 예시하지만, 다른 실시예들에서 복수의 접근 통제 디바이스들(110) 및 복수의 클라이언트 디바이스들(120)이 시스템(100)에 포함될 수 있다는 것이 이해된다. 본 명세서에서 사용되는 바와 같이, "클라이언트 디바이스"라는 용어는 접근 통제 디바이스(110)에 의해 보호되는 자산 또는 자원에 대한 접근 권한을 획득하기 위해 접근 통제 디바이스(110), 인가 관리 시스템(140), 다른 클라이언트 디바이스(120) 또는 임의의 다른 컴포넌트와 자격 증명들을 교환하기 위해 (네트워크(130)와 같은) 통신 네트워크와 인터페이싱하는 임의의 머신을 지칭할 수 있다. 일부 실시예들에서, 클라이언트 디바이스(120)는 UWB를 사용하여 위치 정보를 획득할 수 있고 클라이언트 디바이스(120)의 현재 궤적에 대한 속력, 속도 및/또는 가속도 정보를 계산할 수 있다. 클라이언트 디바이스(120)는 위치 정보를 획득하고 속력, 속도 및/또는 가속도 정보를 계산할 수 있으며, 그러한 정보를 인가 관리 시스템(140)에 제공할 수 있다. 일부 실시예들에서, 접근 통제 디바이스들(110)은 UWB를 사용하여 위치 정보를 획득할 수 있고 주어진 클라이언트 디바이스(120) 또는 클라이언트 디바이스 세트(120)의 현재 궤적에 대한 속력, 속도 및/또는 가속도 정보를 계산할 수 있다. 접근 통제 디바이스들(110)은 위치 정보를 획득하고 속력, 속도 및/또는 가속도 정보를 계산할 수 있으며, 그러한 정보를 인가 관리 시스템(140)에 제공할 수 있다.
일부 경우에, 인가 관리 시스템(140)의 컴포넌트 및 기능의 일부 또는 전부가 클라이언트 디바이스(120)에 포함될 수 있다(예를 들면, 인가 관리 시스템(140)과 관련하여 논의되는 머신 러닝 기술들 중 임의의 것이 각자의 클라이언트 디바이스들(120)에서 구현될 수 있다). 시스템(100)에서 궤적 예측을 수행하는 임의의 컴포넌트는 인가 관리 시스템(140), 클라이언트 디바이스(120) 또는 접근 통제 디바이스(110) 중 어느 하나의 독립형 컴포넌트로서 구현될 수 있다. 시스템(100)에서 궤적 예측을 수행하는 임의의 컴포넌트의 기능들이 인가 관리 시스템(140), 클라이언트 디바이스(120) 및/또는 접근 통제 디바이스(110) 중 어느 하나에 걸쳐 분산 방식으로 구현될 수 있다.
클라이언트 디바이스(120)는 모바일 폰, 데스크톱 컴퓨터, 랩톱, PDA(portable digital assistant), 스마트 폰, 웨어러블 디바이스(예를 들면, 스마트 워치), 태블릿, 울트라북, 넷북, 랩톱, 다중 프로세서 시스템, 마이크로프로세서 기반 또는 프로그래밍 가능한 소비자 전자제품, 또는 사용자가 네트워크에 액세스하기 위해 사용할 수 있는 임의의 다른 통신 디바이스일 수 있지만, 이에 제한되지 않는다.
접근 통제 디바이스(110)는 자원(예를 들면, 출입문 잠금 메커니즘)을 제어하는 자원(예를 들면, 출입문 잠금 메커니즘 또는 백엔드 서버)에 연결되는 접근 판독기 디바이스(access reader device)를 포함할 수 있다. 접근 통제 디바이스(110)와 연관된 자원은 출입문 잠금 장치, 차량에 대한 점화 시스템, 또는 물리적 컴포넌트에 대한 접근을 승인하거나 거부하고 물리적 컴포넌트에 대한 접근을 승인하거나 거부하도록 작동될 수 있는 임의의 다른 디바이스를 포함할 수 있다. 예를 들어, 출입문 잠금 장치의 경우에, 접근 통제 디바이스(110)는 접근을 거부할 수 있거나 - 이 경우에는 출입문 잠금 장치가 잠겨 있어 출입문을 열 수 없음 -, 접근을 승인할 수 있다 - 이 경우에는 출입문이 열릴 수 있도록 출입문 잠금 장치가 잠금 해제됨 -. 다른 예로서, 점화 시스템의 경우에, 접근 통제 디바이스(110)는 접근을 거부할 수 있거나 - 이 경우에는 차량 점화 시스템이 디스에이블되어 차량의 시동이 걸릴 수 없음 -, 접근을 승인할 수 있다 - 이 경우에는 차량의 시동이 걸릴 수 있도록 차량 점화가 인에이블됨 -.
물리적 접근 통제는 보안 구역들 또는 보안 자산들에 대한, 예를 들어, 사람에 의한, 접근을 통제하는 다양한 시스템들 및 방법들을 포괄한다. 물리적 접근 통제는 인가된 사용자들 또는 디바이스들(예를 들면, 차량들, 드론들 등)의 식별 및 구역을 보호하는 데 사용되는 게이트, 출입문, 또는 다른 시설의 작동 또는 보안 자산에 대한 접근을 허용하는 통제 메커니즘, 예를 들면, 물리적 또는 전자적/소프트웨어 통제 메커니즘의 작동을 포함한다. 접근 통제 디바이스(110)는 물리적 접근 통제 시스템(physical access control system)(PACS)들의 일부를 형성하며, PACS는, 인가 데이터를 보유할 수 있고 (예를 들면, 카드들, 포브(fob)들, 또는 모바일 폰들과 같은 개인 전자 디바이스들 내의 RFID(radio frequency identification) 칩들과 같은 자격 증명 또는 키 디바이스들로부터의) 자격 증명들이 액추에이터 또는 통제 메커니즘(예를 들면, 출입문 잠금 장치, 출입문 개폐 장치(door opener), 소프트웨어 통제 메커니즘, 경보 끄기, 등)에 대해 인가되는지 여부를 결정할 수 있는, 판독기(예를 들면, 온라인 또는 오프라인 판독기)를 포함할 수 있거나, PACS는 중앙집중식으로 관리되는 구성(centrally managed configuration)에서 (예를 들면, 컨트롤러를 통해) 판독기들 및 액추에이터들에 연결되는 호스트 서버를 포함할 수 있다. 중앙집중식으로 관리되는 구성들에서, 판독기들은 자격 증명 또는 키 디바이스들로부터 자격 증명들을 획득하고 해당 자격 증명들을 PACS 호스트 서버 또는 헤드엔드 시스템에 전달할 수 있다. 이어서 호스트 서버는 자격 증명들이 보안 구역 또는 보안 자산에 대한 접근을 인가하는지 여부를 결정하고 그에 따라 액추에이터 또는 다른 통제 메커니즘에 명령을 내린다. 본 명세서에서는 물리적 접근 통제의 예들이 사용되지만, 본 개시는 논리적 접근 통제 시스템(logical access control system)(LACS) 사용 사례들(예를 들면, 개인 전자 디바이스들에 대한 논리적 접근, 운송 서비스들에서의 승차자 식별, 무인 매장에서의 접근 및 자산 통제 등)에 동일하게 적용된다.
무선 접근 통제 시스템들, 예를 들면, 판독기와 자격 증명 또는 키 디바이스 사이의 무선 통신을 활용하는 것들은, IEEE 802.15.1, 블루투스, BLE, NFC(near field communications), ZigBee, GSM, CDMA, Wi-Fi 등과 같은, RFID 또는 PAN(personal area network) 기술들을 사용할 수 있다. 이러한 기술들 중 다수는 원활한 사용자 경험에 대해 단점들이 있다. 예를 들어, NFC의 범위가 너무 짧아, 전형적으로 사용자가 보안 구역 또는 자산 바로 근처에 있고 접근하려고 시도할 때까지 자격 증명 교환이 발생하지 않는다. 판독기로의 자격 증명 전송 및 판독기 또는 호스트 서버에 의한 응답은 몇 초가 걸릴 수 있어, 좌절감을 주는 사용자 경험을 결과할 수 있다. 게다가, 사용자는 일반적으로, 예를 들어, 주머니에서 디바이스를 꺼내고, 프로세스가 시작하도록 판독기 위에 또는 바로 근처에 놓아야 한다.
반면에, BLE 디바이스들은 수십 미터(예를 들면, 10 내지 20 미터)의 범위를 갖는다. 따라서, 사용자가 판독기에 접근할 때 자격 증명 교환이 달성될 수 있다. 그렇지만, BLE는 물론 많은 다른 PAN 표준들은 디바이스들의 정확한 물리적 추적(예를 들면, 거리 측정(ranging), 위치 결정 등)을 제공하지 않는다. 따라서, 판독기가 어떤 추가적인 의도의 증거 없이 사용자가 실제로 보안 구역 또는 자산에 접근하려고 의도하는지 여부를 결정하는 것이 어려울 수 있다. 예를 들어, 인가된 사용자가 홀에서 판독기 옆을 지나가기만 하면 출입문이 잠금 해제되거나 열리는 경우 문제가 된다. 의도의 증거는 출입문 손잡이를 만지는 것, 키 디바이스로 제스처를 하는 것 등과 같은 것들을 포함할 수 있다. 그렇지만, 이것은 사용자가 단순히 판독기까지 걸어가서 사용자 측에서의 추가 액션이나 상호 작용 없이 보안 구역에 접근하는 것과 비교할 때 이상적이 아닌 사용자 경험일 수 있다.
이들 또는 다른 문제들 중 하나 이상을 해결하는 데 도움을 주기 위해, 측위 기술들(예를 들면, 보안 UWB 거리 측정의 사용)이 사용될 수 있으며 PAN 발견(PAN discovery) 및 키 교환(key exchange)과 결합될 수 있다. UWB의 측위 기술들은 일부 종래의 기술들보다 더 정확할 수 있으며, 예를 들어, 수십 센티미터까지 정확할 수 있다. UWB 측위 기술들은 판독기에 대한 자격 증명 또는 키 디바이스의 범위와 방향 둘 모두를 제공할 수 있다. 이 정확도는 판독기들이 코디네이션되지 않을 때, 예를 들어, BLE의 약 10 미터 정확도를 훨씬 능가한다. UWB 정확도의 정밀도는 사용자 의도(예를 들면, 사용자가 보안 구역이나 자산에 접근하려고 시도하는지 단순히 옆을 지나가는지) 및 사용자의 현재 또는 예측된 궤적을 원활하게 결정하는 데 유용한 도구일 수 있다. 예를 들어, 사용자 의도를 이해하기 위한 상이한 콘텍스트들을 제공하기 위해, 예컨대, 판독기 근처, 판독기 등에 여러 존(zone)들이 정의될 수 있다. 추가적으로 또는 대안적으로, 추적의 정확도는 의도를 파악할 수 있는 바탕이 되는 사용자의 이동 방향 또는 사용자 모션의 정확한 모델을 제공하는 데 도움이 된다. 따라서, 판독기는 사용자 모션을, 예를 들어, 판독기에 다가올 가능성 있음 또는 단순히 지나침으로 분류할 수 있다.
일단 의도 트리거(intent trigger)가 발생하면, 판독기는, 예를 들어, PAN 기술을 통해 교환되는 자격 증명들에 따라 행동할 수 있다. 오프라인 판독기, 예를 들면, 제어 패널 또는 호스트 서버에 연결되지 않은 판독기의 경우, 판독기는 액추에이터 또는 다른 통제 메커니즘(예를 들면, 연결 해제된 출입문 상의 잠금 장치)을 직접 제어할 수 있다. 중앙집중식으로 관리되는 접근 통제 시스템에서, (온라인) 판독기는 자격 증명들에 따라 행동하기 위해 자격 증명들을 제어 패널 또는 호스트 서버로 포워딩할 수 있다.
일반적으로, 접근 통제 디바이스(110)는 메모리, 프로세서, 하나 이상의 안테나, 통신 모듈, 네트워크 인터페이스 디바이스, 사용자 인터페이스 및 전원 또는 전력 공급 장치 중 하나 이상을 포함할 수 있다.
접근 통제 디바이스(110)의 메모리는 접근 통제 디바이스(110)의 프로세서에 의한 애플리케이션 프로그래밍 또는 명령어들의 실행과 관련하여, 그리고 프로그램 명령어들 또는 명령어 세트들 및/또는, 자격 증명 데이터, 자격 증명 인가 데이터 또는 접근 통제 데이터 또는 명령어들과 같은, 자격 증명 또는 인가 데이터의 임시 또는 장기 저장을 위해 사용될 수 있다. 예를 들어, 메모리는 접근 통제 디바이스(110)의 다른 컴포넌트들을 실행하기 위해 및/또는 자격 증명 또는 인가 데이터에 기초하여 접근 결정을 내리기 위해 프로세서에 의해 사용되는 실행 가능한 명령어들을 포함할 수 있다. 접근 통제 디바이스(110)의 메모리는 접근 통제 디바이스(110)에 의해 또는 접근 통제 디바이스(110)와 관련하여 사용하기 위한 데이터, 프로그램 코드 또는 명령어들을 포함하거나, 저장하거나, 통신하거나 전송할 수 있는 임의의 매체일 수 있는 컴퓨터 판독 가능 매체를 포함할 수 있다. 컴퓨터 판독 가능 매체는, 예를 들어, 전자, 자기, 광학, 전자기, 적외선, 또는 반도체 시스템, 장치, 또는 디바이스일 수 있지만, 이에 제한되지 않는다. 적합한 컴퓨터 판독 가능 매체의 보다 구체적인 예들은 하나 이상의 전선을 갖는 전기적 연결부(electrical connection) 또는 휴대용 컴퓨터 디스켓, 하드 디스크, 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 소거 가능 프로그래밍 가능 판독 전용 메모리(EPROM 또는 플래시 메모리), 동적 RAM(DRAM), 임의의 솔리드 스테이트 저장 디바이스, 일반적인 콤팩트 디스크 판독 전용 메모리(CD-ROM), 또는 다른 광학 또는 자기 저장 디바이스와 같은 유형적 저장 매체(tangible storage medium)를 포함하지만, 이에 제한되지 않는다. 컴퓨터 판독 가능 매체들은 컴퓨터 판독 가능 매체들의 모든 물리적, 비일시적 또는 유사한 실시예들을 포괄하는 것으로 의도되는 컴퓨터 판독 가능 저장 매체를 포함하지만 이와 혼동해서는 안 된다.
접근 통제 디바이스(110)의 프로세서는 하나 이상의 컴퓨터 처리 디바이스 또는 자원에 대응할 수 있다. 예를 들어, 프로세서는 실리콘으로서, FPGA(Field Programmable Gate Array), ASIC(Application-Specific Integrated Circuit), 임의의 다른 유형의 IC(Integrated Circuit) 칩, IC 칩들의 집합체 등으로서 제공될 수 있다. 보다 구체적인 예로서, 프로세서는 접근 통제 디바이스(110)의 내부 메모리 및/또는 메모리에 저장된 명령어 세트들을 실행하도록 구성된 마이크로프로세서, CPU(Central Processing Unit) 또는 복수의 마이크로프로세서들 또는 CPU들로서 제공될 수 있다.
접근 통제 디바이스(110)의 안테나는 하나 또는 다수의 안테나에 대응할 수 있고 접근 통제 디바이스(110)와 자격 증명 또는 키 디바이스(예를 들면, 클라이언트 디바이스(120)) 사이의 무선 통신을 제공하도록 구성될 수 있다. 안테나는 IEEE 802.15.1, 블루투스, BLE, NFC, ZigBee, GSM, CDMA, Wi-Fi, RF, UWB 등을 포함하지만 이에 제한되지 않는, 하나 이상의 무선 통신 프로토콜 및 작동 주파수를 사용하여 작동하도록 배열될 수 있다. 예로서, 안테나(들)는 RF 안테나(들)일 수 있고, 그와 같이, RF 트랜시버를 갖는 자격 증명 또는 키 디바이스에 의해 수신/전송되도록 자유 공간을 통해 RF 신호들을 송신/수신할 수 있다. 일부 경우에, 적어도 하나의 안테나는 판독기가 UWB 기술들을 사용하여 클라이언트 디바이스(120)와 통신할 수 있도록 UWB 신호들을 송신 및/또는 수신하도록 설계되거나 구성된 안테나(본 명세서에서 단순함을 위해 "UWB 안테나"라고 지칭됨)이다.
접근 통제 디바이스(110)의 통신 모듈은, 하나 이상의 클라이언트 디바이스(120) 및/또는 인가 관리 시스템(140)과 같은, 접근 통제 디바이스(110)에 원격이거나 로컬인 하나 이상의 상이한 시스템 또는 디바이스와 임의의 적합한 통신 프로토콜에 따라 통신하도록 구성될 수 있다.
접근 통제 디바이스(110)의 네트워크 인터페이스 디바이스는 다수의 전송 프로토콜들(예를 들면, 프레임 릴레이, IP(internet protocol), TCP(transmission control protocol), UDP(user datagram protocol), HTTP(hypertext transfer protocol) 등) 중 어느 하나를 활용하여, 네트워크(130)와 같은, 통신 네트워크를 통해, 하나 이상의 클라이언트 디바이스(120) 및/또는 인가 관리 시스템(140)과 같은, 다른 디바이스들과의 통신을 용이하게 하는 하드웨어를 포함한다. 예시적인 통신 네트워크들은, 그 중에서도 특히, LAN(local area network), WAN(wide area network), 패킷 데이터 네트워크(예를 들면, 인터넷), 모바일 전화 네트워크들(예를 들면, 셀룰러 네트워크들), POTS(Plain Old Telephone) 네트워크들, 무선 데이터 네트워크들(예를 들면, Wi-Fi라고 알려진 IEEE 802.11 계열의 표준들, WiMax라고 알려진 IEEE 802.16 계열의 표준들), IEEE 802.15.4 계열의 표준들, 및 P2P(peer-to-peer) 네트워크들을 포함할 수 있다. 일부 예들에서, 네트워크 인터페이스 디바이스는 이더넷 포트 또는 다른 물리적 잭, Wi-Fi 카드, 네트워크 인터페이스 카드(NIC), 셀룰러 인터페이스(예를 들면, 안테나, 필터들, 및 연관된 회로) 등을 포함할 수 있다. 일부 예들에서, 네트워크 인터페이스 디바이스는 SIMO(single-input multiple-output), MIMO(multiple-input multiple-output), 또는 MISO(multiple-input single-output) 기술들 중 적어도 하나를 사용하여 무선으로 통신하기 위해 복수의 안테나들을 포함할 수 있다.
접근 통제 디바이스(110)의 사용자 인터페이스는 하나 이상의 입력 디바이스 및/또는 디스플레이 디바이스를 포함할 수 있다. 사용자 인터페이스에 포함될 수 있는 적합한 사용자 입력 디바이스들의 예들은 하나 이상의 버튼, 키보드, 마우스, 터치 감응 표면(touch-sensitive surface), 스타일러스, 카메라, 마이크로폰 등을, 제한 없이, 포함한다. 사용자 인터페이스에 포함될 수 있는 적합한 사용자 출력 디바이스들의 예들은 하나 이상의 LED, LCD 패널, 디스플레이 스크린, 터치스크린, 하나 이상의 라이트(light), 스피커 등을, 제한 없이, 포함한다. 사용자 인터페이스가, 터치 감응 디스플레이 등과 같은, 사용자 입력 및 사용자 출력 겸용 디바이스(combined user input and user output device)를 또한 포함할 수 있음을 이해해야 한다.
네트워크(130)는 애드혹 네트워크, 인트라넷, 엑스트라넷, VPN(virtual private network), LAN, 무선 네트워크, WLAN(wireless LAN), WAN(wide area network), WWAN(wireless WAN), MAN(metropolitan area network), BLE, UWB, 인터넷, 인터넷의 일 부분, PSTN(Public Switched Telephone Network)의 일 부분, POTS(plain old telephone service) 네트워크, 셀룰러 전화 네트워크, 무선 네트워크, Wi-Fi® 네트워크, 다른 유형의 네트워크, 또는 2개 이상의 그러한 네트워크의 조합을 포함할 수 있거나 이들과 함께 작동할 수 있다. 예를 들어, 네트워크 또는 네트워크의 일 부분은 무선 또는 셀룰러 네트워크를 포함할 수 있고, 결합(coupling)은 CDMA(Code Division Multiple Access) 연결, GSM(Global System for Mobile communications) 연결, 또는 다른 유형의 셀룰러 또는 무선 결합일 수 있다. 이 예에서, 결합은, 1xRTT(Single Carrier Radio Transmission Technology), EVDO(Evolution-Data Optimized) 기술, GPRS(General Packet Radio Service) 기술, EDGE(Enhanced Data rates for GSM Evolution) 기술, 3G, 4G(fourth generation) 무선 네트워크들, 5G(fifth generation) 무선 네트워크들, UMTS(Universal Mobile Telecommunications System), HSPA(High Speed Packet Access), WiMAX(Worldwide Interoperability for Microwave Access), LTE(Long Term Evolution) 표준을 포함한 3GPP(third Generation Partnership Project), 다양한 표준 제정 기구들에 의해 정의되는 다른 표준들, 다른 단거리 또는 장거리 프로토콜들, 또는 다른 데이터 전송 기술과 같은, 다양한 유형들의 데이터 전송 기술 중 임의의 것을 구현할 수 있다.
예에서, 클라이언트 디바이스(120)가 접근 통제 디바이스(110)에 접근함(예를 들면, BLE 통신 프로토콜의 범위 내에 들어옴)에 따라, 클라이언트 디바이스(120)는 네트워크(130)를 통해 클라이언트 디바이스(120)의 자격 증명들을 송신한다. 일부 경우에, 자격 증명들은 클라이언트 디바이스(120)의 현재 지리적 위치에 기초하여 복수의 자격 증명들 중에서 선택될 수 있다. 예를 들어, 상이한 지리적 위치와 각각 연관된 다수의 자격 증명들이 클라이언트 디바이스(120)에 저장될 수 있다. 클라이언트 디바이스(120)가 자격 증명들 중 하나와 연관된 지리적 위치로부터 특정 거리 내에(예를 들면, 10 미터 내에) 들어올 때, 클라이언트 디바이스(120)는 로컬 메모리로부터 연관된 자격 증명들을 검색한다.
일 예에서, 클라이언트 디바이스(120)는 자격 증명들을 접근 통제 디바이스(110)에 직접 제공한다. 그러한 경우에, 접근 통제 디바이스(110)는 인가 관리 시스템(140)과 자격 증명들을 통신한다. 도 1에서의 인가 관리 시스템(140)은 인가 시스템(142) 및 궤적 예측 시스템(144)을 포함한다. 인가 관리 시스템(140)은 도 6 및 도 7과 관련하여 설명되는 요소들, 예컨대, 프로세서 및, 프로세서에 의해 실행될 때, 프로세서로 하여금 인가 관리 시스템(140)의 기능들을 제어하게 하는 명령어들이 저장되어 있는 메모리를 더 포함할 수 있다.
인가 관리 시스템(140)은 수신된 자격 증명들이 접근 통제 디바이스(110)에 의해 보호되는 보안 자산 또는 자원(예를 들면, 출입문 또는 보안 구역)에 접근하기 위한 인가된 자격 증명들의 목록으로부터의 자격 증명들과 일치하는지 여부를 결정하기 위해 인가 시스템(142)에 저장된 자격 증명들의 목록을 탐색한다. 수신된 자격 증명들이 접근 통제 디바이스(110)에 접근하도록 인가되어 있다고 결정하는 것에 응답하여, 아래에서 더 상세히 논의되는 바와 같이, 인가 관리 시스템(140)은 클라이언트 디바이스(120)의 궤적이 접근 통제 디바이스(110)의 지정된 범위(예를 들면, 2 미터) 내에 있는 것으로 예측되는지 여부를 결정하기 위해 궤적 예측 시스템(144)에 액세스한다. 일단 궤적 예측 시스템(144)이 클라이언트 디바이스(120)가 접근 통제 디바이스(110)의 지정된 범위 내에 있는 궤적을 따라갈 것으로 예측된다는 것을 인가 관리 시스템(140)에 알리면, 인가 관리 시스템(140)은 접근 통제 디바이스(110)에게 클라이언트 디바이스(120)에 대해 접근을 승인하는 동작을 수행하도록 지시한다(예를 들면, 접근 통제 디바이스(110)에게 출입문의 잠금 장치를 잠금 해제하도록 지시함).
다른 예에서, 클라이언트 디바이스(120)는 자격 증명들을 인가 관리 시스템(140)에 제공한다. 인가 관리 시스템(140)은 수신된 자격 증명들이 접근 통제 디바이스(110)에 의해 보호되는 보안 자산 또는 자원(예를 들면, 출입문 또는 보안 구역)에 접근하기 위한 인가된 자격 증명들의 목록으로부터의 자격 증명들과 일치하는지 여부를 결정하기 위해 인가 시스템(142)에 저장된 자격 증명들의 목록을 탐색한다. 수신된 자격 증명들이 접근 통제 디바이스(110)에 접근하도록 인가되어 있다고 결정하는 것에 응답하여, 아래에서 더 상세히 논의되는 바와 같이, 인가 관리 시스템(140)은 클라이언트 디바이스(120)의 궤적이 접근 통제 디바이스(110)의 지정된 범위(예를 들면, 2 미터) 내에 있는 것으로 예측되는지 여부를 결정하기 위해 궤적 예측 시스템(144)에 액세스한다. 일단 궤적 예측 시스템(144)이 클라이언트 디바이스(120)가 접근 통제 디바이스(110)의 지정된 범위 내에 있는 궤적을 따라갈 것으로 예측된다는 것을 인가 관리 시스템(140)에 알리면, 인가 관리 시스템(140)은 (수신된 자격 증명들과 연관되고 클라이언트 디바이스(120)로부터 어떤 지리적 거리 내에 있는) 접근 통제 디바이스(110)에게 클라이언트 디바이스(120)에 대해 접근을 승인하는 동작을 수행하도록 지시한다(예를 들면, 접근 통제 디바이스(110)에게 출입문의 잠금 장치를 잠금 해제하도록 지시함).
궤적 예측 시스템(144)은 관찰된 속력, 속도 및/또는 가속도 측정값들의 세트 또는 집합체(collection)에 기초하여 클라이언트 디바이스(120)에 대한 속력, 속도 및/또는 가속도를 예측하기 위해 인가 관리 시스템(140)에 의해 구현되는 머신 러닝 기술을 트레이닝시킨다. 궤적 예측 시스템(144)은 클라이언트 디바이스(120)가 이동할 것으로 예측되는 예측된 궤적 또는 경로를 생성하기 위해 예측된 속력, 속도 및/또는 가속도에 함수를 적용한다.
궤적 예측 시스템(144)은 복수의 트레이닝용 관찰된 속력, 속도 및/또는 가속도 측정값들 및 대응하는 트레이닝용 예측된 측정값 세트들(예를 들면, 하나 이상의 속력, 속도, 및/또는 가속도 측정값들을 뒤따르는, 관찰되는 속력, 속도, 및/또는 가속도 측정값들)을 수신한다. 도 3과 관련하여 더 상세히 설명되는 바와 같이, 궤적 예측 시스템(144)은 머신 러닝 기술을 트레이닝시키기 위해 트레이닝용 관찰된 속력, 속도 및/또는 가속도 측정값들과 (관찰된 속력, 속도 및/또는 가속도 측정값들을 뒤따르는 위치들에 대한) 정답(ground-truth) 속력 측정값들의 쌍들을 처리한다. 예를 들어, 머신 러닝 기술(예를 들면, 신경 네트워크)은 주어진 관찰된 속력, 속도 및/또는 가속도에 대한 추정된 속력, 속도 및/또는 가속도를 추정한다. 신경 네트워크는 추정된 속력, 속도 및/또는 가속도를 대응하는 정답 속력, 속도 및/또는 가속도 측정값과 비교하여 오차를 생성한다. 손실 함수를 사용하여 그리고 이 오차에 기초하여, 신경 네트워크가 업데이트되고 트레이닝용 관찰된 속력 측정값들 및 정답 속력 측정값들의 다른 세트에 적용된다. 신경 네트워크 파라미터들은 또다시 조정되며, 손실 함수가 중지 기준(stopping criterion)을 충족시킬 때, 관찰된 속력, 속도 및/또는 가속도 측정값들의 세트가 주어진 경우 신경 네트워크가 트레이닝되어 궤적 예측 시스템(144)에 의해 속력, 속도 및/또는 가속도 측정값을 예측하는 데 활용된다. 본 명세서에서 논의되는 머신 러닝 기술들은, LSTM(Long-Short Term Memory) 신경 네트워크, 오토인코더, 변분 오토인코더(variational auto-encoder), 조건부 변분 오토인코더(conditioned variational auto-encoder), 콘볼루션 신경 네트워크, 방사형 기저 네트워크(radial basis network), 딥 피드포워드 네트워크(deep feed-forward network), 순환 신경 네트워크, 게이트 순환 유닛(gated recurrent unit), 잡음 제거 오토인코더(denoising autoencoder), 희소 오토인코더(sparse autoencoder), 마르코프 체인(Markov chain), 홉필드 네트워크(Hopfield network), 볼츠만 머신(Boltzmann machine), 심층 신뢰 네트워크(deep belief network), 심층 콘볼루션 네트워크(deep convolutional network), 디콘볼루션 신경 네트워크(deconvolutional neural network), 생성적 적대 네트워크(generative adversarial network), 액체 상태 기계(liquid state machine), 극한 학습 기계(extreme learning machine), 에코 상태 네트워크(echo state network), 심층 잔차 네트워크(deep residual network), 서포트 벡터 기계(support vector machine), 코호넨 네트워크(Korhonen network) 또는 이들의 임의의 조합과 같은, 신경 네트워크들을 포함한다.
예를 들어, 궤적 예측 시스템(144)은 클라이언트 디바이스(120)로부터 하나 이상의 관찰된 속력, 속도 및/또는 가속도 측정값을 수신한다. 예를 들어, 궤적 예측 시스템(144)은 이전 시간 단계들에서의 관찰된 속력, 속도 및/또는 가속도: 및 각각의 미래 시간 단계에서의 속력, 속도 및/또는 가속도: 를 수신한다. T 및 T'은, 제각기, 과거 및 예측된 궤적들의 시퀀스 길이(sequence length)(또는 슬라이스 길이(slice length))를 나타낸다. 시간 단계 t에서 i의 관찰 입력들 및 예측 출력들은 3D 직교 좌표계 또는 공간에서의 속력 벡터들에 의해 로서 특징지어지며, 여기서 원래 직교 좌표들은 속력, 속도 및/또는 가속도 정보로서 정규화된다: .
일 예에서, 클라이언트 디바이스(120)(또는 대안으로, 접근 디바이스(110))는 UWB(선택적으로 하나 이상의 다른 위치 측정 기술과 조합하여)를 사용하여 클라이언트 디바이스(120)의 현재 3D 좌표를 계산한다. 일부 경우에, 클라이언트 디바이스(120)(또는 대안으로, 접근 디바이스(110))는 UWB를 사용하여 3D 좌표들을 계산한다. 일부 경우에, 순차적인 3D 좌표들을 수집한 후에, 클라이언트 디바이스(120)(또는 대안으로, 접근 디바이스(110))는 속력 특징들로 변환하기 전에 순차적인 3D 좌표들에 잡음 제거(denoising) 및/또는 평활화(smoothing) 기술들을 적용한다. 그러한 잡음 제거 및/또는 평활화 기술들은: 칼만 필터, 이동 평균, 다항 회귀(polynomial regression), 국소 가중 산점도 평활화(locally weighted scatterplot smoothing) 및/또는 가우시안 평활화(Gaussian smoothing)를 포함할 수 있다.
각자의 타임스탬프와 각각 연관된, 2개의 순차적인 3D 좌표를 수집한 후에(그리고 선택적으로 3D 좌표들을 잡음 제거 및 평활화한 후에), 클라이언트 디바이스(120)(또는 대안으로, 접근 디바이스(110))는 (예를 들면, x축, y축 및 z축을 따라) 2개의 3D 좌표 사이의 차이를 계산한다. 클라이언트 디바이스(120)(또는 대안으로, 접근 디바이스(110))는 주어진 경로 또는 궤적을 따른 클라이언트 디바이스(120)의 관찰된 속력을 결정하기 위해(예를 들면, 을 계산하기 위해) 해당 차이를 2개의 3D 좌표의 각자의 타임스탬프들의 차이로 나눈다. 즉, 2개의 3D 좌표 사이의 차이는 관찰된 궤적을 따른 3D에서의 이동 거리(distance of travel)를 제공하고, 해당 거리를 타임스탬프들로 나눈 값(division)은 이동 속력(speed of travel)을 나타낸다. 일부 경우에, 2개의 특정 포인트에서 측정되는 이동 속력은 가속도 측정값을 계산하는 데 사용될 수 있다. 예를 들어, 속도 측정값들 사이의 차이를 타임스탬프들 사이의 차이로 나누면 특정 시점 또는 세그먼트에 대한 가속도를 제공할 수 있다.
클라이언트 디바이스(120)는 3D 좌표 세트의 추가적인 순차적 3D 좌표들에 대한 추가적인 속력, 속도 및/또는 가속도 측정값들을 계산하고, 이러한 속력, 속도 및/또는 가속도 측정값들을 관찰된 궤적을 따른 관찰된 속력, 속도 및/또는 가속도로서 궤적 예측 시스템(144)에 제공한다. 일부 경우에, 클라이언트 디바이스(120)는 또한 평균 샘플링 레이트(예를 들면, 각자의 속도 측정값들을 계산하는 데 사용되는 타임스탬프들의 차이들의 평균)를 궤적 예측 시스템(144)에 제공한다. 궤적 예측 시스템(144)은 주어진 관찰된 속력 측정값 세트(예를 들면, )에 대한 미래 이동 속도(예를 들면, )를 예측한다. 본 명세서에서 논의되는, 궤적 예측 및/또는 속력, 속도 및/또는 가속도 예측은 클라이언트 디바이스(120)에서, 접근 통제 디바이스(110)에서, 인가 관리 시스템(140)에서, 또는 이들의 임의의 조합으로 수행될 수 있다.
일단 궤적 예측 시스템(144)이 속력, 속도 및/또는 가속도 측정값, 또는 속도, 속력 및/또는 가속도 측정값 세트를 예측하면, 궤적 예측 시스템(144)은 클라이언트 디바이스(120)(또는 대안으로, 접근 디바이스(110))로부터 샘플링 레이트를 획득한다. 샘플링 레이트는 클라이언트 디바이스(120)가 관찰한 각각의 3D 좌표의 수집 사이의 시간 길이를 나타낸다. 일부 경우에는, 샘플링 레이트가 고정되고 알려져 있으며, 다른 경우에는, 3D 좌표들이 수집될 때 실시간으로 클라이언트 디바이스(120)에 의해 샘플링 레이트가 계산된다. 궤적 예측 시스템(144)은 예측된 속력, 속도 및/또는 가속도 측정값들 및 클라이언트 디바이스(120)로부터 획득되는 샘플링 레이트에 기초하여 예측된 경로를 따라 대응하는 미래 세그먼트들을 계산한다. 예를 들어, 궤적 예측 시스템(144)은 예측된 궤적의 예측된 3D 이동 거리 또는 예측된 세그먼트 또는 슬라이스를 획득하기 위해 제1 예측된 속력, 속도 및/또는 가속도 측정값을 샘플링 레이트와 곱한다. 이어서 궤적 예측 시스템(144)은 예측된 궤적의 제2 예측된 3D 이동 거리 또는 예측된 세그먼트 또는 슬라이스를 획득하기 위해 제2 예측된 속력 측정값을 샘플링 레이트와 곱한다. 궤적 예측 시스템(144)은 클라이언트 디바이스(120)가 이동할 것으로 예측되는 예측된 경로 또는 궤적을 형성하기 위해 예측된 세그먼트들 또는 슬라이스들을 함께 결합시킨다.
대안적인 실시예에서, 일단 궤적 예측 시스템(144)이 속력, 속도 및/또는 가속도 측정값, 또는 속도, 속력 및/또는 가속도 측정값 세트를 예측하면, 궤적 예측 시스템(144)은 클라이언트 디바이스(120)(또는 대안으로, 접근 디바이스(110))로부터 샘플링 레이트를 획득한다. 샘플링 레이트는 클라이언트 디바이스(120)가 관찰한 각각의 2D 좌표의 수집 사이의 시간 길이를 나타낸다. 일부 경우에는, 샘플링 레이트가 고정되고 알려져 있으며, 다른 경우에는, 2D 좌표들이 수집될 때 실시간으로 클라이언트 디바이스(120)에 의해 샘플링 레이트가 계산된다. 궤적 예측 시스템(144)은 예측된 속력, 속도 및/또는 가속도 측정값들 및 클라이언트 디바이스(120)로부터 획득되는 샘플링 레이트에 기초하여 예측된 경로를 따라 대응하는 미래 세그먼트들을 계산한다. 예를 들어, 궤적 예측 시스템(144)은 예측된 궤적의 예측된 2D 이동 거리 또는 예측된 세그먼트 또는 슬라이스를 획득하기 위해 제1 예측된 속력, 속도 및/또는 가속도 측정값을 샘플링 레이트와 곱한다. 이어서 궤적 예측 시스템(144)은 예측된 궤적의 제2 예측된 2D 이동 거리 또는 예측된 세그먼트 또는 슬라이스를 획득하기 위해 제2 예측된 속력 측정값을 샘플링 레이트와 곱한다. 궤적 예측 시스템(144)은 클라이언트 디바이스(120)가 이동할 것으로 예측되는 예측된 경로 또는 궤적을 형성하기 위해 예측된 세그먼트들 또는 슬라이스들을 함께 결합시킨다.
궤적 예측 시스템(144)은 접근 통제 디바이스(110)의 지정된 활성화 또는 작동 범위를 획득한다. 일 예에서, 궤적 예측 시스템(144)이 접근 통제 디바이스(110)로부터 멀리 떨어진 서버에서 구현되는 경우, 궤적 예측 시스템(144)은 접근 통제 디바이스(110)의 고유 식별자를 획득하며, 접근 통제 디바이스(110)의 고유 식별자와 연관된 범위를 식별 및 검색하기 위해 데이터베이스(400)(도 4)에 저장된 접근 통제 디바이스 범위(들)(430)를 탐색한다. 상이한 접근 통제 디바이스들(110) 또는 상이한 유형들의 접근 통제 디바이스들(110)은 상이한 활성화 또는 작동 범위들과 연관될 수 있고, 각각은 접근 통제 디바이스 범위(들)(430)에 그 각자의 고유 식별자와 함께 저장된다. 일부 경우에, 접근 통제 디바이스 범위(들)(430)는 디바이스 유형들을 각자의 범위들과 함께 저장한다. 그러한 상황에서, 고유 식별자가 아니라 디바이스 유형이 접근 통제 디바이스 범위(들)(430)로부터 연관된 범위를 검색하는 데 사용된다. 궤적 예측 시스템(144)은 예측된 궤적이 접근 통제 디바이스(110)의 지정된 범위 내에 속하는지 여부를 결정한다. 만약 그렇다면, 궤적 예측 시스템(144)은 클라이언트 디바이스(120)에 대해 접근을 승인하기 위해 접근 통제 디바이스(110)를 활성화 또는 작동시키도록 인가 관리 시스템(140)에게 지시한다.
다른 예에서, 궤적 예측 시스템(144)은 접근 통제 디바이스(110) 상에 로컬로 구현된다. 그러한 경우에, 접근 통제 디바이스(110)는 대응하는 활성화 범위(예를 들면, 접근 통제 디바이스(110)에 대한 접근 통제 디바이스 범위(들)(430)에 저장된 범위)로 하드 프로그래밍된다(hard programmed). 접근 통제 디바이스(110) 상에 구현되는 궤적 예측 시스템(144)은 예측된 궤적이 하드 코딩된(hard coded) 범위 내에 속하는지 여부를 결정한다. 만약 그렇다면, 궤적 예측 시스템(144)은 접근 통제 디바이스(110)로 하여금 클라이언트 디바이스(120)에 대해 접근을 승인하게 한다. 다른 예에서, 궤적 예측 시스템(144)은 클라이언트 디바이스(120) 상에 구현되고 궤적 예측을 접근 통제 디바이스(110)에 제공한다. 이어서 접근 통제 디바이스(110)는 클라이언트 디바이스(120)에 대해 접근을 승인/거부하기 위해 클라이언트 디바이스(120)가 접근 통제 디바이스(110)와 연관된 범위 내에 있는지 여부를 결정한다.
일부 경우에, 궤적 예측 시스템(144)은 어떠한 범위 정보에도 액세스하지 않고, 단순히 예측된 궤적 또는 궤적 세트를 인가 관리 시스템(140), 클라이언트 디바이스(120) 및/또는 접근 통제 디바이스(110)에 제공한다. 이러한 디바이스들은 집합적으로 또는 개별적으로 예측된 궤적이 임계 범위 내에 있는지 여부에 대한 결정을 내린다.
도 2는 예시적인 실시예들에 따른, 궤적 예측에 기초한 예시적인 접근 통제 시스템(200)을 예시한다. 예를 들어, 사용자(210)는, 모바일 디바이스 또는 전화와 같은, 클라이언트 디바이스(120)(도시되지 않음)를 휴대하고 있을 수 있다. 클라이언트 디바이스(120)는 관찰된 3D 좌표들(230)의 세트를 수집할 수 있다. 클라이언트 디바이스(120)는 좌표들의 각자의 타임스탬프들에 기초하여 인접한 3D 좌표들의 각각의 쌍에 대한 각자의 속력 측정값들을 계산할 수 있다. 다른 실시예에서, 속력 정보는 클라이언트 디바이스(120) 대신에 또는 그에 추가하여 접근 통제 디바이스(110)에 의해 측정될 수 있다.
클라이언트 디바이스(120)는 2개의 접근 통제 디바이스(220 및 222)가 클라이언트 디바이스(120)의 지정된 범위 내에 있다고 결정할 수 있다. 예를 들어, 접근 통제 디바이스들(220 및 222) 각각은 클라이언트 디바이스(120)와 BLE 통신 범위 내에 있다. 이에 응답하여, 클라이언트 디바이스(120)는 접근 통제 디바이스들(220 및 222) 둘 모두의 자격 증명들을 검색하고, 해당 자격 증명들을 인가 관리 시스템(140)으로 송신한다. 인가 관리 시스템(140)은 클라이언트 디바이스(120)가 접근 통제 디바이스들(220 및 222) 둘 모두에 접근하도록 인가되어 있다고 결정한다. 이에 응답하여, 인가 관리 시스템(140)은 클라이언트 디바이스(120)가 각자의 접근 통제 디바이스들(220 또는 222)의 특정 범위(250) 내에 있는 예측된 궤적을 따라 이동하고 있는 것으로 결정될 때까지 접근 통제 디바이스들(220 또는 222) 중 특정 하나에 대한 접근을 승인하는 것을 지연시킨다.
다른 예에서, 단일 접근 통제 디바이스(110)에 의해 보호되는 구역에 대한 접근을 보장하는 단일 접근 통제 디바이스(110)가 있을 수 있다. 그러한 경우에, 주어진 클라이언트 디바이스(120)에 대해 접근을 승인하도록 접근 통제 디바이스(110)에 지시하기 전에, 보안 구역에 진입하려는 사용자의 의도가 결정된다. 구체적으로, 클라이언트 디바이스(120)에 대해 접근을 승인하도록 접근 통제 디바이스(110)에 지시하기 전에, 사용자의 예측된 궤적이 접근 통제 디바이스(110)의 범위 내에 속하는지 여부에 대한 결정이 이루어진다.
예를 들어, 클라이언트 디바이스(120)는 관찰된 속력, 속도 및/또는 가속도 측정값들을 궤적 예측 시스템(144)에 제공한다. 궤적 예측 시스템(144)은 관찰된 속력, 속도 및/또는 가속도 측정값들로부터 속력, 속도 및/또는 가속도 측정값들을 예측한다. 이어서 궤적 예측 시스템(144)은 클라이언트 디바이스(120) 및/또는 접근 통제 디바이스(110)의 샘플링 레이트 또는 추정된 샘플링 레이트에 기초하여 클라이언트 디바이스(120)가 이동할 것으로 예측되는 예측된 궤적(240)을 계산한다. 예측된 궤적(240)이 제1 접근 통제 디바이스(220)의 범위 내에 속한다고 결정하는 것에 응답하여, 궤적 예측 시스템(144)은 제1 접근 통제 디바이스(220)로 하여금 클라이언트 디바이스(120)에 대해 접근을 승인하게 하도록 인가 관리 시스템(140)에게 지시한다(예를 들면, 제1 접근 통제 디바이스(220)는, 전자식 출입문 잠금 장치를 잠금 해제하는 것과 같은, 동작을 수행하도록 지시받는다). 예측된 궤적(240)이 제2 접근 통제 디바이스(222)의 범위 내에 속하지 않는다고 결정하는 것에 응답하여, 궤적 예측 시스템(144)은 제2 접근 통제 디바이스(222)로 하여금 클라이언트 디바이스(120)에 대해 접근을 거부하게 하도록 인가 관리 시스템(140)에게 지시한다(예를 들면, 클라이언트 디바이스(120)의 자격 증명들이 제2 접근 통제 디바이스(222)에 접근하도록 인가되어 있더라도, 제2 접근 통제 디바이스(222)는 잠금된 채로 있도록 지시받는다).
도 3은 일부 실시예들에 따른, 도 1의 시스템 내에 배포될 수 있는 예시적인 궤적 예측 시스템(144)의 블록 다이어그램(300)이다. 트레이닝 입력(310)은 모델 파라미터들(312) 및 트레이닝 데이터(320)를 포함하며, 트레이닝 데이터(320)는 쌍을 이룬 트레이닝 데이터 세트들(322)(예를 들면, 입력-출력 트레이닝 쌍들) 및 제약들(326)을 포함할 수 있다. 모델 파라미터들(312)은 머신 러닝 모델들 중 대응하는 것들의 파라미터들 또는 계수들을 저장하거나 제공한다. 트레이닝 동안, 이러한 파라미터들(312)은 트레이닝 데이터(320)의 입력-출력 트레이닝 쌍들에 기초하여 적응된다. 파라미터들(312)이 적응된 후에(트레이닝 이후에), 파라미터들은 새로운 데이터 세트(370)에 대해 트레이닝된 머신 러닝(ML) 모델들을 구현하기 위해 트레이닝된 모델들(360)에 의해 사용된다.
트레이닝 데이터(320)는 주어진 궤적의 제약들을 정의할 수 있는 제약들(326)을 포함한다. 쌍을 이룬 트레이닝 데이터(320)는, 복수의 트레이닝용 관찰된 속력, 속도 및/또는 가속도 측정값들 및 대응하는 트레이닝용 미래 속력, 속도 및/또는 가속도 측정값들(정답 속력, 속도 및/또는 가속도 측정값들)의 쌍들과 같은, 입력-출력 쌍 세트들(322)을 포함할 수 있다. 정답 속력, 속도 및/또는 가속도 측정값들은 이전 시점들에서 측정되는 관찰된 속력, 속도 및/또는 가속도를 뒤따르는 하나 이상의 미래 시점에서의 실제 측정된 속력, 속도 및/또는 가속도를 나타낸다. 예를 들어, 관찰된 속력 측정값은 경로의 제1 세그먼트에 대해 제1 시점에서 획득될 수 있다. 정답 속력 측정값은 제1 세그먼트를 뒤따르는 제2 세그먼트에 대해 제2 시점에서 측정되는 실제 관찰된 속력, 속도 및/또는 가속도를 나타낸다. 트레이닝 입력(310)의 일부 컴포넌트들은 트레이닝 입력(310)의 다른 컴포넌트들과 상이한 외부(off-site) 시설 또는 시설들에 별도로 저장될 수 있다.
머신 러닝 모델(들) 트레이닝(330)은 쌍을 이룬 트레이닝 데이터(322)의 입력-출력 쌍 세트들에 기초하여 하나 이상의 머신 러닝 기술을 트레이닝시킨다. 예를 들어, 모델 트레이닝(330)은 하나 이상의 정답 속력 측정값에 기초하여 손실 함수를 최소화하는 것에 의해 ML 모델 파라미터들(312)을 트레이닝시킬 수 있다. 특히, 미래 경로 또는 궤적을 따라 속력 측정값들을 추정하기 위해 관찰된 경로 또는 궤적을 따른 관찰된 속력, 속도 및/또는 가속도 측정값들의 트레이닝 세트에 ML 모델이 적용될 수 있다. 일부 구현들에서, 추정된 속력 측정값들과 정답 속력 측정값들의 비교에 기초하여 손실 함수의 도함수(derivative)가 계산되고, 계산된 손실 함수의 도함수에 기초하여 ML 모델의 파라미터들이 업데이트된다.
다수의 트레이닝 데이터 세트들에 대해 손실 함수를 최소화한 결과는 대응하는 ML 모델들의 모델 파라미터들(312)을 트레이닝시키거나, 적응시키거나 최적화한다. 이러한 방식으로, 복수의 트레이닝용 관찰된 속력, 속도 및/또는 가속도 측정값들과 대응하는 복수의 예측된 속력, 속도 및/또는 가속도 측정값들 사이의 관계를 설정하도록 ML 모델이 트레이닝된다.
일 구현에서 트레이닝용 속력 측정값들로부터 속력 측정값들을 추정하기 위해 지도 학습(supervised learning) 기술들에 따라 ML 모델이 트레이닝된다. 그러한 경우에, ML 모델을 트레이닝시키기 위해, 복수의 트레이닝용 관찰된 속력, 속도 및/또는 가속도 측정값들이 이들의 대응하는 트레이닝용 예측된 또는 추정된 속력, 속도 및/또는 가속도 측정값들과 함께 검색된다. 예를 들어, 트레이닝용 관찰된 속력, 속도 및/또는 가속도 측정값들은 데이터베이스(400)(도 4)에 저장된 트레이닝용 관찰된 및 예측된 속력 포인트들(410)로부터 검색된다. 주어진 속력, 속도 및/또는 가속도 측정값 세트를 추정하기 위해 트레이닝용 속력, 속도 및/또는 가속도 측정값들의 제1 배치(batch)에 ML 모델이 적용된다. 트레이닝용 속도 측정값들의 배치(batch)는 ML 모델의 동일한 파라미터들로 ML 모델을 트레이닝시키는 데 사용될 수 있으며, 하나의 트레이닝 속력, 속도 및/또는 가속도 측정값으로부터 트레이닝용 속력, 속도 및/또는 가속도 측정값들 모두에 이르기까지 다양할 수 있다. 일부 구현들에서, ML 모델의 출력 또는 결과는 알려진 또는 계산된 샘플링 레이트에 기초하여 예측된 궤적의 예측된 3D 좌표 및 제1 속력, 속도 및/또는 가속도 측정값을 계산하거나 예측하는 데 사용된다.
추정된 속력, 속도 및/또는 가속도 측정값이 손실 함수에 적용되고, 손실 함수의 기울기(gradient) 또는 도함수가 예상된 또는 정답 속력, 속도 및/또는 가속도 측정값에 기초하여 계산된다. 손실 함수의 기울기 또는 도함수에 기초하여, ML 모델에 대한 업데이트된 파라미터들이 계산된다. 예를 들어, ML 모델의 파라미터들은 데이터베이스(400)의 트레이닝된 머신 러닝 기술(420)에 저장된다. 이어서 ML 모델은 주어진 속력, 속도 및/또는 가속도 측정값 세트를 또다시 추정하기 위해 업데이트된 파라미터들로 트레이닝용 속력 측정값들의 제2 배치에 적용되고, 속력, 속도 및/또는 가속도 측정값들을, 이들의 대응하는 정답 속력, 속도 및/또는 가속도 측정값들과의 비교를 위해, 손실 함수에 적용한다. ML 모델의 파라미터들은 또다시 업데이트되고, 이 트레이닝 프로세스의 반복들이 지정된 횟수의 이터레이션(iteration)들 또는 에포크(epoch)들 동안 또는 주어진 수렴 기준이 충족될 때까지 계속된다.
머신 러닝 모델이 트레이닝된 후에, 모델 사용(model usage)(350)은, 수신될 수 있는 하나 이상의 속력, 속도 및/또는 가속도 측정값을 포함한, 새로운 데이터(370)에 모델을 적용하는 것을 보여준다. 트레이닝된 머신 러닝 기술은 예측된 경로 또는 궤적을 따른 예측된 속력, 속도 및/또는 가속도 측정값들을 포함하는 생성된 결과들(380)을 생성하기 위해 새로운 데이터(370)에 적용될 수 있다.
도 5는 예시적인 실시예들에 따른, 접근 통제 시스템(100)의 예시적인 프로세스(500)를 예시하는 플로차트이다. 프로세스(500)는, 프로세스(500)의 동작들이 시스템(100)의 기능 컴포넌트들에 의해 부분적으로 또는 전체적으로 수행될 수 있도록, 하나 이상의 프로세서에 의해 실행하기 위한 컴퓨터 판독 가능 명령어들로 구체화될 수 있고; 그에 따라, 프로세스(500)는 이를 참조하여 예로서 아래에서 설명된다. 그렇지만, 다른 실시예들에서, 프로세스(500)의 동작들 중 적어도 일부는 다양한 다른 하드웨어 구성들에 배포될 수 있다. 프로세스(500)의 동작들 중 일부 또는 전부는 병렬이거나, 비순차적(out of order)이거나, 완전히 생략될 수 있다.
동작(501)에서, 인가 관리 시스템(140)은 복수의 관찰된 속력 포인트들을 수신하며, 복수의 관찰된 속력 포인트들 각각은 관찰된 궤적의 복수의 슬라이스들 중 상이한 슬라이스에 대응한다. 예를 들어, 인가 관리 시스템(140)은 클라이언트 디바이스(120)에 의해 계산되는 속력 포인트 세트를 수신한다. 클라이언트 디바이스(120)는 각자의 인접한 3D 좌표들 사이의 3D 차이를 그 각자의 타임스탬프들 사이의 차이로 나눈 것으로서 각각의 속력 포인트를 계산한다.
일부 실시예들에서, 클라이언트 디바이스(120) 또는 인가 관리 시스템(140)은 속력, 속도 또는 가속도 측정값 시퀀스가 하나 이상의 데이터 포인트를 누락하고 있다고 결정한다. 구체적으로, 클라이언트 디바이스(120) 또는 인가 관리 시스템(140)은 관찰된 속력 포인트들을 생성하는 데 사용되는 평균 샘플링 간격을 결정할 수 있다. 예를 들어, 클라이언트 디바이스(120) 또는 인가 관리 시스템(140)은 관찰된 속력 포인트들이 7개의 관찰된 속력 포인트의 시퀀스를 포함한다고 결정할 수 있다. 관찰된 속력 포인트들의 서브세트(예를 들면, 7개 중 6개)는 제1 샘플링 간격(예를 들면, 속력 측정값들을 계산하는 데 사용되는 2개의 타임스탬프 사이의 차이가 제1 값일 수 있음)에 기초하여 계산되었을 수 있고, 다른 서브세트(예를 들면, 7개 중 1개)는 제1 샘플링 간격보다 크거나 두 배인 제2 샘플링 간격에 기초하여 계산되었을 수 있다. 이 경우에, 클라이언트 디바이스(120) 또는 인가 관리 시스템(140)은 더 큰 샘플링 간격을 결과한 누락된 타임스탬프로 인해 하나의 속력 포인트가 시퀀스로부터 누락되었다고 결정할 수 있다. 그러한 상황에서, 클라이언트 디바이스(120) 또는 인가 관리 시스템(140)은, 누락된 데이터를 채우고(fill-in) 하나 이상의 보간된 속력 측정값에 의해 속력 측정값들의 수를 증가시키기 위해, 보간 기술들(선형 보간, 다항식 보간(polynomial interpolation), 스플라인 보간(spline interpolation), 가우시안 프로세스(Gaussian process) 등)을 수행할 수 있다. 이 결과, 미래 궤적을 예측하기 위한 총 8개의 측정값(7개가 관찰되었을 때)을 포함하는 속력 측정값 시퀀스가 얻어진다. 이러한 보간된 속력 측정값 시퀀스는 속력 측정값을 예측하기 위해 인가 관리 시스템(140)에 제공될 수 있다. 속도 또는 가속도 측정값 시퀀스를 생성하기 위해 유사한 기술들이 적용될 수 있다.
동작(502)에서, 인가 관리 시스템(140)은 복수의 예측된 속력 포인트들을 생성하기 위해 머신 러닝 기술에 의해 관찰된 궤적에 대응하는 복수의 관찰된 속력 포인트들을 처리하며, 머신 러닝 기술은 복수의 트레이닝용 관찰된 속력 포인트들과 트레이닝용 예측된 속력 포인트들 사이의 관계를 설정하도록 트레이닝되어 있다. 예를 들어, 궤적 예측 시스템(144)은 미래 속력 포인트들을 예측하기 위해 클라이언트 디바이스(120)로부터 수신되는 속력 포인트 세트에 트레이닝된 머신 러닝 모델을 적용한다.
동작(503)에서, 인가 관리 시스템(140)은 복수의 예측된 속력 포인트들에 기초하여 미래 궤적을 결정하며, 복수의 예측된 속력 포인트들 각각은 미래 궤적의 복수의 슬라이스들 중 상이한 슬라이스에 대응한다. 예를 들어, 궤적 예측 시스템(144)은 예측된 경로의 미래 3D 좌표 또는 3D 미래 슬라이스 세트를 도출하기 위해 예측된 속력 측정값들을 계산된, 추정된 또는 알려진 샘플링 레이트와 곱한다.
동작(504)에서, 인가 관리 시스템(140)은 대상 접근 통제 디바이스가 미래 궤적의 임계 범위 내에 있다고 결정한다. 예를 들어, 인가 관리 시스템(140)은 클라이언트 디바이스(120)로부터 특정 지리적 거리 내에 있는(예를 들면, 또는 BLE 통신 프로토콜 범위 내에 있는) 접근 통제 디바이스(110)에 대한 범위를 획득한다. 인가 관리 시스템(140)은 클라이언트 디바이스(120)의 미래 궤적이 획득된 범위 내에 속하는지 여부를 결정한다.
동작(505)에서, 인가 관리 시스템(140)은, 대상 접근 통제 디바이스가 미래 궤적의 임계 범위 내에 있다고 결정하는 것에 응답하여, 대상 접근 통제 디바이스(110)와 연관된 동작을 수행한다. 예를 들어, 인가 관리 시스템(140)은 (예를 들면, 전자식 출입문 잠금 장치를 잠금 해제하는 것에 의해) 클라이언트 디바이스(120)에 대해 접근을 승인하도록 접근 통제 디바이스(110)에게 지시한다. 일부 경우에, 인가 관리 시스템(140)은 접근 통제 디바이스(110)를 우회하여 직접 잠금 장치 또는 보안 자원을 제어한다.
도 6은 본 명세서에서 설명되는 다양한 하드웨어 아키텍처들과 함께 사용될 수 있는, 예시적인 소프트웨어 아키텍처(606)를 예시하는 블록 다이어그램이다. 도 6은 소프트웨어 아키텍처의 비제한적 예이며, 많은 다른 아키텍처들이 본 명세서에서 설명되는 기능을 용이하게 하기 위해 구현될 수 있다는 것이 이해될 것이다. 소프트웨어 아키텍처(606)는, 그 중에서도 특히, 프로세서(704), 메모리(714), 및 입력/출력(I/O) 컴포넌트들(718)을 포함하는 도 7의 머신(700)과 같은 하드웨어 상에서 실행될 수 있다. 대표적인 하드웨어 계층(652)이 예시되어 있으며, 예를 들어, 도 7의 머신(700)을 나타낼 수 있다. 대표적인 하드웨어 계층(652)은 연관된 실행 가능한 명령어들(604)을 갖는 처리 유닛(654)을 포함한다. 실행 가능한 명령어들(604)은 본 명세서에서 설명되는 방법들, 컴포넌트들 등의 구현을 포함한, 소프트웨어 아키텍처(606)의 실행 가능한 명령어들을 나타낸다. 하드웨어 계층(652)은, 실행 가능한 명령어들(604)을 또한 갖는, 메모리 및/또는 저장 디바이스들 메모리/저장소(656)를 또한 포함한다. 하드웨어 계층(652)은 다른 하드웨어(658)를 또한 포함할 수 있다. 소프트웨어 아키텍처(606)는 도 1에 도시된 컴포넌트들 중 임의의 하나 이상에 배포될 수 있다.
도 6의 예시적인 아키텍처에서, 소프트웨어 아키텍처(606)는 계층들의 스택으로서 개념화될 수 있으며, 여기서 각각의 계층은 특정 기능을 제공한다. 예를 들어, 소프트웨어 아키텍처(606)는 운영 체제(602), 라이브러리들(620), 프레임워크들/미들웨어(618), 애플리케이션들(616), 및 프레젠테이션 계층(presentation layer)(614)과 같은 계층들을 포함할 수 있다. 작동 중에, 계층들 내의 애플리케이션들(616) 및/또는 다른 컴포넌트들은 소프트웨어 스택을 통해 API 호출(API call)들(608)을 호출(invoke)하고 API 호출들(608)에 응답하여 메시지들(612)을 수신할 수 있다. 예시된 계층들은 본질적으로 대표적인 것이며 소프트웨어 아키텍처들 모두가 모든 계층들을 갖는 것은 아니다. 예를 들어, 일부 모바일 또는 특수 목적 운영 체제들은 프레임워크들/미들웨어(618)를 제공하지 않을 수 있는 반면, 다른 것들은 그러한 계층을 제공할 수 있다. 다른 소프트웨어 아키텍처들은 추가적인 또는 상이한 계층들을 포함할 수 있다.
운영 체제(602)는 하드웨어 자원들을 관리하고 공통 서비스들을 제공할 수 있다. 운영 체제(602)는, 예를 들어, 커널(622), 서비스들(624), 및 드라이버들(626)을 포함할 수 있다. 커널(622)은 하드웨어 계층과 다른 소프트웨어 계층들 사이의 추상화 계층(abstraction layer)으로서 역할할 수 있다. 예를 들어, 커널(622)은 메모리 관리, 프로세서 관리(예를 들면, 스케줄링), 컴포넌트 관리, 네트워킹, 보안 설정 등을 담당하고 있을 수 있다. 서비스들(624)은 다른 소프트웨어 계층들에 대한 다른 공통 서비스들을 제공할 수 있다. 드라이버들(626)은 기반 하드웨어(underlying hardware)를 제어하거나 그와 인터페이싱하는 일을 담당하고 있다. 예를 들어, 드라이버들(626)은 하드웨어 구성에 따라 디스플레이 드라이버들, 카메라 드라이버들, BLE 드라이버들, UWB 드라이버들, Bluetooth® 드라이버들, 플래시 메모리 드라이버들, 직렬 통신 드라이버들(예를 들면, USB(Universal Serial Bus) 드라이버들), Wi-Fi® 드라이버들, 오디오 드라이버들, 전력 관리 드라이버들 등을 포함한다.
라이브러리들(620)은 애플리케이션들(616) 및/또는 다른 컴포넌트들 및/또는 계층들에 의해 사용되는 공통 인프라스트럭처를 제공한다. 라이브러리들(620)은 다른 소프트웨어 컴포넌트들이 기반 운영 체제(underlying operating system)(602) 기능(예를 들면, 커널(622), 서비스들(624) 및/또는 드라이버들(626))과 직접 인터페이싱하는 것보다 더 용이한 방식으로 작업들을 수행할 수 있게 하는 기능을 제공한다. 라이브러리들(620)은 메모리 할당 함수들, 문자열 조작 함수들, 수학 함수들 등과 같은 함수들을 제공하는 시스템 라이브러리들(644)(예를 들면, C 표준 라이브러리)을 포함할 수 있다. 추가적으로, 라이브러리들(620)은 미디어 라이브러리들(예를 들면, MPREG4, H.264, MP3, AAC, AMR, JPG, PNG와 같은 다양한 미디어 포맷의 프레젠테이션 및 조작을 지원하는 라이브러리들), 그래픽 라이브러리들(예를 들면, 디스플레이 상에 그래픽 콘텐츠를 2차원 및 3차원으로 렌더링하는 데 사용될 수 있는 OpenGL 프레임워크), 데이터베이스 라이브러리들(예를 들면, 다양한 관계형 데이터베이스 함수들을 제공할 수 있는 SQLite), 웹 라이브러리들(예를 들면, 웹 브라우징 기능을 제공할 수 있는 WebKit) 등과 같은 API 라이브러리들(646)을 포함할 수 있다. 라이브러리들(620)은 많은 다른 API들을 애플리케이션들(616) 및 다른 소프트웨어 컴포넌트들/디바이스들에 제공하기 위해 매우 다양한 다른 라이브러리들(648)을 또한 포함할 수 있다.
프레임워크들/미들웨어(618)(때로는 미들웨어라고도 지칭됨)는 애플리케이션들(616) 및/또는 다른 소프트웨어 컴포넌트들/디바이스들에 의해 사용될 수 있는 상위 레벨 공통 인프라스트럭처를 제공한다. 예를 들어, 프레임워크들/미들웨어(618)는 다양한 그래픽 사용자 인터페이스 기능들, 상위 레벨 자원 관리, 상위 레벨 위치 서비스들 등을 제공할 수 있다. 프레임워크들/미들웨어(618)는 애플리케이션들(616) 및/또는 다른 소프트웨어 컴포넌트들/디바이스들에 의해 활용될 수 있는 광범위한 다른 API들을 제공할 수 있으며, 이들 중 일부는 특정 운영 체제(602) 또는 플랫폼에 특정적(specific)일 수 있다.
애플리케이션들(616)은 내장형(built-in) 애플리케이션들(638) 및/또는 서드 파티(third-party) 애플리케이션들(640)을 포함한다. 대표적인 내장형 애플리케이션들(638)의 예들은 연락처 애플리케이션, 브라우저 애플리케이션, 북 리더 애플리케이션(book reader application), 위치 애플리케이션, 미디어 애플리케이션, 메시징 애플리케이션, 및/또는 게임 애플리케이션을 포함할 수 있지만, 이들로 제한되지 않는다. 서드 파티 애플리케이션들(640)은 특정 플랫폼의 벤더 이외의 엔티티에 의해 ANDROID™ 또는 IOS™ SDK(software development kit)를 사용하여 개발되는 애플리케이션을 포함할 수 있으며, IOS™, ANDROID™, WINDOWS® Phone, 또는 다른 모바일 운영 체제들과 같은 모바일 운영 체제 상에서 실행되는 모바일 소프트웨어일 수 있다. 서드 파티 애플리케이션(640)은 본 명세서에서 설명되는 기능을 용이하게 하기 위해 모바일 운영 체제(예컨대, 운영 체제(602))에 의해 제공되는 API 호출들(608)을 호출할 수 있다.
애플리케이션들(616)은 시스템의 사용자들과 상호 작용하는 UI들을 생성하기 위해 내장형 운영 체제 기능(built in operating system function)들(예를 들면, 커널(622), 서비스들(624), 및/또는 드라이버들(626)), 라이브러리들(620), 및 프레임워크들/미들웨어(618)를 사용할 수 있다. 대안적으로 또는 추가적으로, 일부 시스템들에서, 사용자와의 상호 작용들은, 프레젠테이션 계층(614)과 같은, 프레젠테이션 계층을 통해 발생할 수 있다. 이러한 시스템들에서, 애플리케이션/컴포넌트 "로직"은 사용자와 상호 작용하는 애플리케이션/컴포넌트의 측면들과 분리될 수 있다.
도 7은 머신 판독 가능 매체(예를 들면, 머신 판독 가능 저장 매체)로부터 명령어들을 판독하고 본 명세서에서 논의되는 방법들 중 임의의 하나 이상의 방법을 수행할 수 있는, 일부 예시적인 실시예들에 따른, 머신(700)의 컴포넌트들을 예시하는 블록 다이어그램이다. 구체적으로, 도 7은 컴퓨터 시스템의 예시적인 형태의 머신(700)의 다이어그램 표현을 도시하고 있으며, 머신(700) 내에서 머신(700)으로 하여금 본 명세서에서 논의되는 방법들 중 임의의 하나 이상의 방법을 수행하게 하기 위한 명령어들(710)(예를 들면, 소프트웨어, 프로그램, 애플리케이션, 애플릿, 앱, 또는 다른 실행 가능한 코드)이 실행될 수 있다.
그와 같이, 명령어들(710)은 본 명세서에서 설명되는 디바이스들 또는 컴포넌트를 구현하는 데 사용될 수 있다. 명령어들(710)은 일반적인 프로그래밍되지 않은 머신(700)을 설명되고 예시된 기능들을 설명된 방식으로 수행하도록 프로그래밍된 특정 머신(700)으로 변환시킨다. 대체 실시예들에서, 머신(700)은 독립형 디바이스(standalone device)로서 작동하거나, 다른 머신들에 결합(예를 들면, 네트워크로 연결)될 수 있다. 네트워크로 연결된 배포(networked deployment)에서, 머신(700)은 서버-클라이언트 네트워크 환경에서 서버 머신 또는 클라이언트 머신으로서, 또는 피어 투 피어(또는 분산) 네트워크 환경에서 피어 머신으로서 작동할 수 있다. 머신(700)은 서버 컴퓨터, 클라이언트 컴퓨터, 개인용 컴퓨터(PC), 태블릿 컴퓨터, 랩톱 컴퓨터, 넷북, STB, PDA, 엔터테인먼트 미디어 시스템, 셀룰러 전화, 스마트 폰, 모바일 디바이스, 웨어러블 디바이스(예를 들면, 스마트 워치), 스마트 홈 디바이스(예를 들면, 스마트 가전제품), 다른 스마트 디바이스들, 웹 어플라이언스(web appliance), 네트워크 라우터, 네트워크 스위치, 네트워크 브리지, 또는 머신(700)에 의해 취해질 액션들을 지정하는 명령어들(710)을, 순차적으로 또는 다른 방식으로, 실행할 수 있는 임의의 머신을 포함할 수 있지만, 이들로 제한되지 않는다. 게다가, 단일 머신(700)만이 예시되어 있지만, "머신"이라는 용어는 또한 본 명세서에서 논의되는 방법들 중 임의의 하나 이상의 방법을 수행하기 위해 명령어들(710)을 개별적으로 또는 공동으로 실행하는 머신들의 집합체를 포함하는 것으로 해석되어야 한다.
머신(700)은, 예컨대, 버스(702)를 통해, 서로 통신하도록 구성될 수 있는 프로세서들(704), 메모리/저장소(706), 및 I/O 컴포넌트들(718)을 포함할 수 있다. 예시적인 실시예에서, 프로세서들(704)(예를 들면, CPU, RISC(reduced instruction set computing) 프로세서, CISC(complex instruction set computing) 프로세서, GPU(graphics processing unit), DSP(digital signal processor), ASIC(application-specific integrated circuit), RFIC(radio-frequency integrated circuit), 다른 프로세서, 또는 이들의 임의의 적합한 조합)은, 예를 들어, 명령어들(710)을 실행할 수 있는 프로세서(708) 및 프로세서(712)를 포함할 수 있다. "프로세서"라는 용어는 명령어들을 동시에 실행할 수 있는 2개 이상의 독립적인 프로세서(때때로 "코어들"이라고 지칭됨)를 포함할 수 있는 멀티코어 프로세서들(704)을 포함하는 것으로 의도되어 있다. 도 7이 다수의 프로세서들(704)을 도시하고 있지만, 머신(700)은 단일 코어를 갖는 단일 프로세서, 다수의 코어들을 갖는 단일 프로세서(예를 들면, 멀티코어 프로세스), 단일 코어를 갖는 다수의 프로세서들, 다수의 코어들을 갖는 다수의 프로세서들, 또는 이들의 임의의 조합을 포함할 수 있다.
메모리/저장소(706)는, 메인 메모리, 또는 다른 메모리 저장소와 같은, 메모리(714), 데이터베이스(710), 및 저장 유닛(716) - 양쪽 모두, 예컨대, 버스(702)를 통해 프로세서들(704)에 의해 액세스 가능함 - 을 포함할 수 있다. 저장 유닛(716) 및 메모리(714)는 본 명세서에서 설명되는 방법들 또는 기능들 중 임의의 하나 이상을 구체화하는 명령어들(710)을 저장한다. 명령어들(710)은 또한, 머신(700)에 의한 그들의 실행 동안, 전체적으로 또는 부분적으로, 메모리(714) 내에, 저장 유닛(716) 내에, 프로세서들(704) 중 적어도 하나 내에(예를 들면, 프로세서의 캐시 메모리 내에), 또는 이들의 임의의 적절한 조합으로 상주할 수 있다. 그에 따라, 메모리(714), 저장 유닛(716), 및 프로세서들(704)의 메모리는 머신 판독 가능 매체의 예들이다.
I/O 컴포넌트들(718)은 입력을 수신하고, 출력을 제공하며, 출력을 생성하고, 정보를 송신하며, 정보를 교환하고, 측정값들을 캡처하는 등을 위한 매우 다양한 컴포넌트들을 포함할 수 있다. 특정 머신(700)에 포함되는 특정 I/O 컴포넌트들(718)은 머신 유형에 의존할 것이다. 예를 들어, 모바일 폰들과 같은 휴대용 머신들은 터치 입력 디바이스 또는 다른 그러한 입력 메커니즘들을 포함할 가능성이 있을 것인 반면, 헤드리스 서버 머신(headless server machine)은 그러한 터치 입력 디바이스를 포함하지 않을 가능성이 있을 것이다. I/O 컴포넌트들(718)이 도 7에 도시되지 않은 많은 다른 컴포넌트들을 포함할 수 있다는 것이 이해될 것이다. I/O 컴포넌트들(718)은 단지 이하의 논의를 단순화하기 위해 기능에 따라 그룹화되어 있고, 이 그룹화는 결코 제한하는 것이 아니다. 다양한 예시적인 실시예들에서, I/O 컴포넌트들(718)은 출력 컴포넌트들(726) 및 입력 컴포넌트들(728)을 포함할 수 있다. 출력 컴포넌트들(726)은 비주얼 컴포넌트들(예를 들면, PDP(plasma display panel), LED 디스플레이, LCD, 프로젝터, 또는 CRT(cathode ray tube)와 같은 디스플레이), 음향 컴포넌트들(예를 들면, 스피커들), 햅틱 컴포넌트들(예를 들면, 진동 모터, 저항 메커니즘들), 다른 신호 생성기들 등을 포함할 수 있다. 입력 컴포넌트들(728)은 영숫자 입력 컴포넌트들(예를 들면, 키보드, 영숫자 입력을 수신하도록 구성된 터치 스크린, 포토-옵티컬 키보드(photo-optical keyboard), 또는 다른 영숫자 입력 컴포넌트들), 포인트 기반 입력 컴포넌트들(예를 들면, 마우스, 터치패드, 트랙볼, 조이스틱, 모션 센서, 또는 다른 포인팅 기구), 촉각 입력 컴포넌트들(예를 들면, 물리적 버튼, 터치들 또는 터치 제스처들의 위치 및/또는 힘을 제공하는 터치 스크린, 또는 다른 촉각 입력 컴포넌트들), 오디오 입력 컴포넌트들(예를 들면, 마이크로폰) 등을 포함할 수 있다.
추가의 예시적인 실시예들에서, I/O 컴포넌트들(718)은, 매우 다양한 다른 컴포넌트들 중에서도, 생체 측정 컴포넌트들(739), 모션 컴포넌트들(734), 환경 컴포넌트들(736), 또는 포지션 컴포넌트들(738)을 포함할 수 있다. 예를 들어, 생체측정 컴포넌트들(739)는 표현들(예를 들면, 손 표현(hand expression)들, 얼굴 표현(facial expression)들, 음성 표현(vocal expression)들, 보디 제스처(body gesture)들, 또는 눈 추적)을 검출하는, 생체신호(biosignal)들(예를 들면, 혈압, 심박수, 체온, 발한(perspiration) 또는 뇌파)을 측정하는, 사람을 식별하는(예를 들면, 음성 식별, 망막 식별, 얼굴 식별, 지문 식별, 또는 뇌파 기반 식별(electroencephalogram based identification)) 등을 하는 컴포넌트들을 포함할 수 있다. 모션 컴포넌트들(734)은 가속도 센서 컴포넌트들(예를 들면, 가속도계), 중력 센서 컴포넌트들, 회전 센서 컴포넌트들(예를 들면, 자이로스코프) 등을 포함할 수 있다. 환경 컴포넌트들(736)은, 예를 들어, 조명 센서 컴포넌트들(예를 들면, 광도계), 온도 센서 컴포넌트들(예를 들면, 주변 온도를 검출하는 하나 이상의 온도계), 습도 센서 컴포넌트들, 압력 센서 컴포넌트들(예를 들면, 기압계), 음향 센서 컴포넌트들(예를 들면, 배경 잡음을 검출하는 하나 이상의 마이크로폰), 근접 센서 컴포넌트들(예를 들면, 인근의 물체들을 검출하는 적외선 센서들), 가스 센서들(예를 들면, 안전을 위해 유해 가스들의 농도들을 검출하거나 대기 중의 오염물질들을 측정하는 가스 검출 센서들), 또는 주변의 물리적 환경에 대응하는 표시들, 측정값들, 또는 신호들을 제공할 수 있는 다른 컴포넌트들을 포함할 수 있다. 포지션 컴포넌트들(738)은 위치 센서 컴포넌트(location sensor component)들(예를 들면, GPS 수신기 컴포넌트), 고도 센서 컴포넌트들(예를 들면, 기압 - 이로부터 고도가 도출될 수 있음 - 을 검출하는 고도계들 또는 기압계들), 배향 센서 컴포넌트들(예를 들면, 자력계들) 등을 포함할 수 있다.
통신은 매우 다양한 기술들을 사용하여 구현될 수 있다. I/O 컴포넌트들(718)은 커플링(coupling)(724) 및 커플링(722)을 통해, 제각기, 머신(700)을 네트워크(737) 또는 디바이스들(729)에 결합시키기 위해 작동 가능한 통신 컴포넌트들(740)을 포함할 수 있다. 예를 들어, 통신 컴포넌트들(740)은 네트워크(737)와 인터페이싱하기 위한 네트워크 인터페이스 컴포넌트 또는 다른 적합한 디바이스를 포함할 수 있다. 추가의 예들에서, 통신 컴포넌트들(740)은 유선 통신 컴포넌트들, 무선 통신 컴포넌트들, 셀룰러 통신 컴포넌트들, NFC(Near Field Communication) 컴포넌트들, 블루투스® 컴포넌트들(예를 들면, 블루투스® 저 에너지), Wi-Fi® 컴포넌트들, 및 다른 모달리티들을 통해 통신을 제공하는 다른 통신 컴포넌트들을 포함할 수 있다. 디바이스들(729)은 다른 머신 또는 매우 다양한 주변 디바이스들 중 임의의 것(예를 들면, USB를 통해 결합되는 주변 디바이스)일 수 있다.
더욱이, 통신 컴포넌트들(740)은 식별자들을 검출할 수 있거나 식별자들을 검출하도록 작동 가능한 컴포넌트들을 포함할 수 있다. 예를 들어, 통신 컴포넌트들(740)은 RFID 태그 판독기 컴포넌트들, NFC 스마트 태그 검출 컴포넌트들, 광학 판독기 컴포넌트들(예를 들면, UPC(Universal Product Code) 바코드와 같은 1차원 바코드들, QR(Quick Response) 코드, Aztec 코드, Data Matrix, Dataglyph, MaxiCode, PDF417, Ultra Code, UCC RSS-2D 바코드와 같은 다차원 바코드들, 및 다른 광학 코드들을 검출하는 광학 센서), 또는 음향 검출 컴포넌트들(예를 들면, 태깅된 오디오 신호들을 식별하는 마이크로폰들)을 포함할 수 있다. 추가적으로, IP(Internet Protocol) 지오로케이션(geo-location)을 통한 위치, Wi-Fi® 신호 삼각측량을 통한 위치, 특정 위치를 표시할 수 있는 NFC 비콘 신호를 검출하는 것을 통한 위치 등과 같은, 다양한 정보가 통신 컴포넌트들(740)을 통해 도출될 수 있다.
용어:
"반송파 신호"는, 이 맥락에서, 머신에 의해 실행하기 위한 일시적 또는 비일시적 명령어들을 저장하거나, 인코딩하거나, 또는 반송할 수 있는 임의의 무형적 매체(intangible medium)를 지칭하고, 그러한 명령어들의 통신을 용이하게 하기 위한 디지털 또는 아날로그 통신 신호들 또는 다른 무형적 매체들을 포함한다. 명령어들은 네트워크 인터페이스 디바이스를 통해 일시적 또는 비일시적 송신 매체를 사용하여 그리고 다수의 잘 알려진 전송 프로토콜들 중 어느 하나를 사용하여 네트워크를 통해 송신되거나 수신될 수 있다.
"클라이언트 디바이스"는, 이 맥락에서, 하나 이상의 서버 시스템 또는 다른 클라이언트 디바이스로부터의 자원들을 획득하기 위해 통신 네트워크와 인터페이싱하는 임의의 머신을 지칭한다. 클라이언트 디바이스는 모바일 폰, 데스크톱 컴퓨터, 랩톱, PDA, 스마트 폰, 태블릿, 울트라북, 넷북, 랩톱, 멀티프로세서 시스템, 마이크로프로세서 기반 또는 프로그래밍 가능한 소비자 전자제품, 게임 콘솔, 셋톱 박스, 또는 사용자가 네트워크에 액세스하는 데 사용할 수 있는 임의의 다른 통신 디바이스일 수 있지만, 이에 제한되지 않는다.
"통신 네트워크"는, 이 맥락에서, 애드혹 네트워크, 인트라넷, 엑스트라넷, VPN, LAN, BLE 네트워크, UWB 네트워크, WLAN, WAN, WWAN, MAN(metropolitan area network), 인터넷, 인터넷의 일 부분, PSTN의 일 부분, POTS(plain old telephone service) 네트워크, 셀룰러 전화 네트워크, 무선 네트워크, Wi-Fi® 네트워크, 다른 유형의 네트워크, 또는 2개 이상의 그러한 네트워크의 조합일 수 있는 네트워크의 하나 이상의 부분을 지칭한다. 예를 들어, 네트워크 또는 네트워크의 일 부분은 무선 또는 셀룰러 네트워크를 포함할 수 있고, 결합은 CDMA(Code Division Multiple Access) 연결, GSM(Global System for Mobile communications) 연결, 또는 다른 유형의 셀룰러 또는 무선 결합일 수 있다. 이 예에서, 결합은, 1xRTT(Single Carrier Radio Transmission Technology), EVDO(Evolution-Data Optimized) 기술, GPRS(General Packet Radio Service) 기술, EDGE(Enhanced Data rates for GSM Evolution) 기술, 3G, 4G(fourth generation) 무선 네트워크들, UMTS(Universal Mobile Telecommunications System), HSPA(High Speed Packet Access), WiMAX(Worldwide Interoperability for Microwave Access), LTE(Long Term Evolution) 표준을 포함한 3GPP(third Generation Partnership Project), 다양한 표준 제정 기구들에 의해 정의되는 다른 표준들, 다른 장거리 프로토콜들, 또는 다른 데이터 전송 기술과 같은, 다양한 유형들의 데이터 전송 기술 중 임의의 것을 구현할 수 있다.
"머신 판독 가능 매체"는, 이 맥락에서, 명령어들 및 데이터를 일시적으로 또는 영구적으로 저장할 수 있는 컴포넌트, 디바이스, 또는 다른 유형적 매체를 지칭하며, RAM, ROM, 버퍼 메모리, 플래시 메모리, 광학 매체, 자기 매체, 캐시 메모리, 다른 유형들의 저장소(예를 들면, EEPROM(Erasable Programmable Read-Only Memory)) 및/또는 이들의 임의의 적합한 조합을 포함할 수 있지만, 이에 제한되지 않는다. "머신 판독 가능 매체"라는 용어는 명령어들을 저장할 수 있는 단일 매체 또는 다수의 매체들(예를 들면, 중앙집중형 또는 분산형 데이터베이스, 또는 연관된 캐시들 및 서버들)을 포함하는 것으로 보아야 한다. "머신 판독 가능 매체"라는 용어는 또한, 명령어들이, 머신의 하나 이상의 프로세서에 의해 실행될 때, 머신으로 하여금 본 명세서에서 설명되는 방법들 중 임의의 하나 이상의 방법을 수행하게 하도록, 머신에 의해 실행하기 위한 명령어들(예를 들면, 코드)을 저장할 수 있는 임의의 매체 또는 다수의 매체들의 조합을 포함하는 것으로 보아야 한다. 그에 따라, "머신 판독 가능 매체"는 단일 저장 장치 또는 디바이스는 물론, 다수의 저장 장치들 또는 디바이스들을 포함하는 "클라우드 기반" 저장 시스템들 또는 저장 네트워크(storage network)들을 지칭한다. "머신 판독 가능 매체"라는 용어는 신호들 자체를 배제한다.
"컴포넌트"는, 이 맥락에서, 특정 처리 또는 제어 기능들의 분할(partitioning) 또는 모듈화(modularization)를 제공하는 함수 또는 서브루틴 호출들, 분기점들, API들 또는 다른 기술들에 의해 정의되는 경계들을 갖는 디바이스, 물리적 엔티티 또는 로직을 지칭한다. 컴포넌트들은 머신 프로세스를 수행하기 위해 자신의 인터페이스들을 통해 다른 컴포넌트들과 결합(combine)될 수 있다. 컴포넌트는 다른 컴포넌트들과 함께 사용하도록 설계된 패키징된 기능적 하드웨어 유닛 및 일반적으로 관련 기능들 중 특정 기능을 수행하는 프로그램의 일부일 수 있다. 컴포넌트들은 소프트웨어 컴포넌트들(예를 들면, 머신 판독 가능 매체 상에 구체화된 코드) 또는 하드웨어 컴포넌트들을 구성(constitute)할 수 있다. "하드웨어 컴포넌트"는 특정 동작들을 수행할 수 있는 유형적 유닛(tangible unit)이고, 특정 물리적 방식으로 구성되거나 배열될 수 있다. 다양한 예시적인 실시예들에서, 하나 이상의 컴퓨터 시스템(예를 들면, 독립형 컴퓨터 시스템, 클라이언트 컴퓨터 시스템, 또는 서버 컴퓨터 시스템) 또는 컴퓨터 시스템의 하나 이상의 하드웨어 컴포넌트(예를 들면, 프로세서 또는 프로세서 그룹)는 본 명세서에서 설명되는 바와 같이 특정 동작들을 수행하도록 작동하는 하드웨어 컴포넌트로서 소프트웨어(예를 들면, 애플리케이션 또는 애플리케이션 부분)에 의해 구성될 수 있다.
하드웨어 컴포넌트는 또한 기계적으로, 전자적으로, 또는 이들의 임의의 적합한 조합으로 구현될 수 있다. 예를 들어, 하드웨어 컴포넌트는 특정 동작들을 수행하도록 영구적으로 구성된 전용 회로 또는 로직을 포함할 수 있다. 하드웨어 컴포넌트는, FPGA 또는 ASIC과 같은, 특수 목적 프로세서일 수 있다. 하드웨어 컴포넌트는 특정 동작들을 수행하도록 소프트웨어에 의해 일시적으로 구성되는 프로그래밍 가능한 로직 또는 회로를 또한 포함할 수 있다. 예를 들어, 하드웨어 컴포넌트는 범용 프로세서 또는 다른 프로그래밍 가능한 프로세서에 의해 실행되는 소프트웨어를 포함할 수 있다. 일단 그러한 소프트웨어에 의해 구성되면, 하드웨어 컴포넌트들은 구성된 기능들을 수행하도록 고유하게 맞춤화된(uniquely tailored) 특정 머신들(또는 머신의 특정 컴포넌트들)이 되고 더 이상 범용 프로세서들이 아니다. 하드웨어 컴포넌트를 기계적으로, 전용의 영구적으로 구성된 회로에, 또는 일시적으로 구성된 회로(예컨대, 소프트웨어에 의해 구성됨)에 구현하기로 하는 결정이 비용 및 시간 고려사항들에 의해 주도될 수 있다는 것이 이해될 것이다. 그에 따라, "하드웨어 컴포넌트"(또는 "하드웨어로 구현된 컴포넌트")라는 문구는, 엔티티가 특정 방식으로 작동하도록 또는 본 명세서에서 설명되는 특정 동작들을 수행하도록 물리적으로 구성되든, 영구적으로 구성되든(예를 들면, 고정 배선되든) 또는 일시적으로 구성되든(예를 들면, 프로그래밍되든) 관계없이, 유형적 엔티티를 포괄하는 것으로 이해되어야 한다. 하드웨어 컴포넌트들이 일시적으로 구성(예를 들면, 프로그래밍)되는 실시예들을 고려할 때, 하드웨어 컴포넌트들 각각이 임의의 하나의 시간 인스턴스에서 구성 또는 인스턴스화될 필요는 없다. 예를 들어, 하드웨어 컴포넌트가 특수 목적 프로세서가 되도록 소프트웨어에 의해 구성되는 범용 프로세서를 포함하는 경우에, 범용 프로세서는 상이한 시간들에서 (예를 들면, 상이한 하드웨어 컴포넌트들을 포함하는) 제각기 상이한 특수 목적 프로세서들로서 구성될 수 있다. 소프트웨어는 그에 따라, 예를 들어, 하나의 시간 인스턴스에서는 특정 하드웨어 컴포넌트를 구성하고 상이한 시간 인스턴스에서는 상이한 하드웨어 컴포넌트를 구성하도록 특정의 프로세서 또는 프로세서들을 구성한다.
하드웨어 컴포넌트들은 다른 하드웨어 컴포넌트들에 정보를 제공하고 이들로부터 정보를 수신할 수 있다. 그에 따라, 설명된 하드웨어 컴포넌트들은 통신 가능하게 결합되는 것으로 간주될 수 있다. 다수의 하드웨어 컴포넌트들이 동시에 존재하는 경우에, 하드웨어 컴포넌트들 중 2개 이상의 하드웨어 컴포넌트 사이의 (예를 들면, 적절한 회로들 및 버스들을 통한) 신호 송신을 통해 통신이 달성될 수 있다. 다수의 하드웨어 컴포넌트들이 상이한 시간들에서 구성되거나 인스턴스화되는 실시예들에서, 그러한 하드웨어 컴포넌트들 사이의 통신은, 예를 들어, 다수의 하드웨어 컴포넌트들이 액세스할 수 있는 메모리 구조들에서의 정보의 저장 및 검색을 통해 달성될 수 있다. 예를 들어, 하나의 하드웨어 컴포넌트는 동작을 수행하고, 그에 통신 가능하게 결합되는 메모리 디바이스에 해당 동작의 출력을 저장할 수 있다. 추가의 하드웨어 컴포넌트는 이어서, 나중에, 저장된 출력을 검색 및 프로세싱하기 위해 메모리 디바이스에 액세스할 수 있다.
하드웨어 컴포넌트들은 또한 입력 또는 출력 디바이스들과 통신을 개시할 수 있고, 자원(예를 들면, 정보의 집합체) 상에서 작동할 수 있다. 본 명세서에서 설명되는 예시적인 방법들의 다양한 동작들이 관련 동작들을 수행하도록 (예를 들면, 소프트웨어에 의해) 일시적으로 구성되거나 영구적으로 구성되는 하나 이상의 프로세서에 의해, 적어도 부분적으로, 수행될 수 있다. 일시적으로 구성되든 영구적으로 구성되든 간에, 그러한 프로세서들은 본 명세서에서 설명되는 하나 이상의 동작 또는 기능을 수행하도록 작동하는 프로세서로 구현된 컴포넌트들을 구성할 수 있다. 본 명세서에서 사용되는 바와 같이, "프로세서로 구현된 컴포넌트"는 하나 이상의 프로세서를 사용하여 구현되는 하드웨어 컴포넌트를 지칭한다. 유사하게, 본 명세서에서 설명되는 방법들은 적어도 부분적으로 프로세서로 구현될 수 있고, 특정 프로세서 또는 프로세서들은 하드웨어의 예이다. 예를 들어, 방법의 동작들 중 적어도 일부가 하나 이상의 프로세서 또는 프로세서로 구현된 컴포넌트에 의해 수행될 수 있다. 더욱이, 하나 이상의 프로세서는 또한 "클라우드 컴퓨팅" 환경에서 또는 "SaaS(software as a service)"로서 관련 동작들을 수행하는 것을 지원하도록 작동할 수 있다. 예를 들어, 동작들 중 적어도 일부는 (프로세서들을 포함한 머신들의 예들로서) 컴퓨터 그룹에 의해 수행될 수 있고, 이러한 동작들은 네트워크(예를 들면, 인터넷)를 통해 그리고 하나 이상의 적절한 인터페이스(예를 들면, API)를 통해 액세스 가능하다. 동작들 중 일부의 수행이, 단일 머신 내에 상주할 뿐만 아니라 다수의 머신들에 걸쳐 배포되어 있는, 프로세서들 간에 분산될 수 있다. 일부 예시적인 실시예들에서, 프로세서들 또는 프로세서로 구현된 컴포넌트들은 단일 지리적 위치에(예를 들면, 가정 환경, 사무실 환경, 또는 서버 팜(server farm) 내에) 위치할 수 있다. 다른 예시적인 실시예들에서, 프로세서들 또는 프로세서로 구현된 컴포넌트들이 다수의 지리적 위치들에 걸쳐 분산될 수 있다.
"프로세서"는, 이 맥락에서, 제어 신호들(예를 들면, "명령들", "op 코드들", "머신 코드" 등)에 따라 데이터 값들을 조작하고 머신을 작동시키기 위해 적용되는 대응하는 출력 신호들을 생성하는 임의의 회로 또는 가상 회로(실제 프로세서 상에서 실행되는 로직에 의해 에뮬레이션되는 물리적 회로)를 지칭한다. 프로세서는, 예를 들어, CPU, RISC 프로세서, CISC 프로세서, GPU, DSP, ASIC, RFIC, 또는 이들의 임의의 조합일 수 있다. "프로세서"는 추가로 명령어들을 동시에 실행할 수 있는 2개 이상의 독립적인 프로세서(때때로 "코어"라고 지칭됨)를 갖는 멀티코어 프로세서일 수 있다.
"타임스탬프"는, 이 맥락에서, 언제 특정 이벤트가 발생했는지를 식별해 주는, 예를 들어, 날짜 및 하루 중 시간 - 때때로 몇 분의 1초까지 정확함 - 을 제공하는 인코딩된 정보 또는 문자들의 시퀀스를 지칭한다.
본 개시의 범위를 벗어나지 않으면서 개시된 실시예들에 대해 변경들 및 수정들이 이루어질 수 있다. 이들 및 다른 변경들 또는 수정들은, 이하의 청구항들에 표현된 바와 같은, 본 개시의 범위 내에 포함되는 것으로 의도된다.
읽는 사람이 기술적 개시의 본질을 신속하게 확인할 수 있도록 하기 위해 본 개시의 요약서가 제공된다. 요약서는 청구항들의 범위 또는 의미를 해석하거나 제한하는 데 사용되지 않을 것이라는 이해 하에 제공된다. 추가적으로, 전술한 발명을 실시하기 위한 구체적인 내용에서, 본 개시를 간소화하기 위해 다양한 특징들이 단일의 실시예에 함께 그룹화되어 있다는 것을 알 수 있다. 이러한 개시 방법이 청구된 실시예들이 각각의 청구항에 명확하게 기재되어 있는 것보다 더 많은 특징들을 필요로 한다는 의도를 반영하는 것으로 해석되어서는 안 된다. 오히려, 이하의 청구항들이 반영하는 바와 같이, 발명 주제는 단일의 개시된 실시예의 특징들 전부가 아닌 일부(less than all)에 있을 수 있다. 따라서, 이하의 청구항들은 이로써 발명을 실시하기 위한 구체적인 내용에 포함되며, 각각의 청구항은 그 자체로서 별도의 실시예로서의 지위를 갖는다.
Claims (20)
- 방법으로서,
하나 이상의 프로세서에 의해, 복수의 관찰된 속력 포인트들을 수신하는 단계 - 상기 복수의 관찰된 속력 포인트들 각각은 관찰된 궤적의 복수의 슬라이스들 중 상이한 슬라이스에 대응함 -;
복수의 예측된 속력 포인트들을 생성하기 위해 머신 러닝 기술에 의해 상기 관찰된 궤적에 대응하는 상기 복수의 관찰된 속력 포인트들을 처리하는 단계 - 상기 머신 러닝 기술은 복수의 트레이닝용 관찰된 속력 포인트들과 트레이닝용 예측된 속력 포인트들 사이의 관계를 설정하도록 트레이닝되어 있음 -;
상기 복수의 예측된 속력 포인트들에 기초하여 미래 궤적을 결정하는 단계 - 상기 복수의 예측된 속력 포인트들 각각은 상기 미래 궤적의 복수의 슬라이스들 중 상이한 슬라이스에 대응함 -;
대상 접근 통제 디바이스(target access control device)가 상기 미래 궤적의 임계 범위 내에 있다고 결정하는 단계; 및
상기 대상 접근 통제 디바이스가 상기 미래 궤적의 임계 범위 내에 있다고 결정하는 것에 응답하여, 상기 대상 접근 통제 디바이스와 연관된 동작을 수행하는 단계
를 포함하는, 방법. - 제1항에 있어서, 상기 복수의 관찰된 속력 포인트들은 가속도 측정값들을 포함하고, 상기 복수의 예측된 속력 포인트들은 복수의 가속도 측정값들을 포함하며, 상기 대상 접근 통제 디바이스는 출입문과 연관된 잠금 장치(lock)를 포함하고;
상기 동작을 수행하는 단계는 상기 출입문을 잠금 해제하는 단계를 포함하는, 방법. - 제2항에 있어서,
사용자의 모바일 디바이스와 상기 대상 접근 통제 디바이스 사이에 무선 통신 링크를 설정하는 단계;
상기 무선 통신 링크를 통해 인가 정보를 교환하는 단계; 및
상기 인가 정보에 기초하여, 상기 사용자가 상기 대상 접근 통제 디바이스에 접근하도록 인가되어 있다고 결정한 후에 상기 동작을 수행하는 단계
를 더 포함하는, 방법. - 제3항에 있어서,
상기 동작을 수행하기 전에, 상기 인가 정보에 기초하여, 상기 사용자가 상기 대상 접근 통제 디바이스에 접근하도록 인가되어 있다고 결정하는 단계; 및
상기 사용자가 인가되어 있다고 결정한 후에 상기 대상 접근 통제 디바이스가 상기 미래 궤적의 임계 범위 내에 있는 것으로 결정될 때까지 상기 동작을 수행하는 것을 지연시키는 단계
를 더 포함하는, 방법. - 제3항 또는 제4항에 있어서, 상기 무선 통신 링크는 BLE(Bluetooth Low Energy) 통신 프로토콜을 포함하며;
상기 복수의 관찰된 속력 포인트들은 UWB(ultra-wideband) 통신 프로토콜을 통해 수신되는, 방법. - 제5항에 있어서, 상기 대상 접근 통제 디바이스는 실내에 위치하는, 방법.
- 제3항 내지 제6항 중 어느 한 항에 있어서,
상기 동작을 수행하기 전에, 상기 인가 정보에 기초하여, 상기 사용자가 상기 대상 접근 통제 디바이스에 접근하도록 인가되어 있다고 결정하는 단계; 및
상기 사용자가 인가되어 있다고 결정한 후에 상기 대상 접근 통제 디바이스가 상기 미래 궤적의 임계 범위 밖에 있다고 결정하는 것에 응답하여 상기 동작을 수행하는 것을 방지하는 단계
를 더 포함하는, 방법. - 제1항 내지 제7항 중 어느 한 항에 있어서, 상기 머신 러닝 기술은 신경 네트워크를 포함하는, 방법.
- 제1항 내지 제8항 중 어느 한 항에 있어서, 상기 복수의 관찰된 속력 포인트들을 수신하는 단계는:
제1 시점에서 제1 2차원(2D) 또는 3차원(3D) 직교 좌표를 나타내는 제1 데이터 포인트를 수신하는 단계;
제2 시점에서 제2 2D 또는 3D 직교 좌표를 나타내는 제2 데이터 포인트를 수신하는 단계 - 상기 제1 및 제2 데이터 포인트들 각각은 상기 복수의 슬라이스들 중 제1 슬라이스에 대응함 -; 및
상기 제1 및 제2 2D 또는 3D 직교 좌표들 사이의 차이 및 상기 제1 및 제2 시점들 사이의 차이의 함수로서 상기 복수의 관찰된 속력 포인트들의 제1 관찰된 속력 포인트를 계산하는 단계
를 포함하는, 방법. - 제1항 내지 제9항 중 어느 한 항에 있어서, 상기 머신 러닝 기술은 상기 복수의 관찰된 속력 포인트들의 샘플링 레이트와 독립적으로 상기 복수의 예측된 속력 포인트들을 생성하는, 방법.
- 제1항 내지 제10항 중 어느 한 항에 있어서, 상기 복수의 예측된 속력 포인트들에 기초하여 상기 미래 궤적을 결정하는 단계는:
상기 복수의 관찰된 속력 포인트들 중 제1 관찰된 속력 포인트의 제1 타임스탬프와 상기 복수의 관찰된 속력 포인트들 중 제2 관찰된 속력 포인트의 제2 타임스탬프 사이의 차이에 기초하여 상기 복수의 관찰된 속력 포인트들이 수신되는 샘플링 레이트를 결정하는 단계; 및
상기 복수의 예측된 속력 포인트들, 사용자의 현재 위치, 및 상기 복수의 관찰된 속력 포인트들이 수신되는 상기 샘플링 레이트에 기초하여 상기 미래 궤적의 3차원 직교 좌표들을 계산하는 단계
를 포함하는, 방법. - 제1항 내지 제12항 중 어느 한 항에 있어서,
상기 복수의 트레이닝용 관찰된 속력 포인트들의 제1 세트 및 상기 트레이닝용 예측된 속력 포인트들의 대응하는 제1 세트를 포함하는 제1 트레이닝 데이터 배치를 획득하는 것;
복수의 추정된 속력 포인트들을 생성하기 위해 상기 머신 러닝 기술로 상기 트레이닝용 관찰된 속력 포인트들의 제1 세트를 처리하는 것;
손실 함수에 기초하여, 상기 복수의 추정된 속력 포인트들과 상기 트레이닝용 예측된 속력 포인트들의 상기 대응하는 제1 세트 사이의 편차에 기초한 손실을 계산하는 것; 및
상기 계산된 손실 함수에 기초하여 상기 머신 러닝 기술의 파라미터들을 업데이트하는 것
에 의해 상기 머신 러닝 기술을 트레이닝시키는 단계를 더 포함하는, 방법. - 제12항에 있어서, 상기 복수의 트레이닝용 관찰된 속력 포인트들의 제1 세트는 제1 샘플링 레이트에 대응하고,
상기 복수의 트레이닝용 관찰된 속력 포인트들의 제2 세트를 포함하는 제2 트레이닝 데이터 배치를 획득하는 단계 - 상기 복수의 트레이닝용 관찰된 속력 포인트들의 제2 세트는 제2 샘플링 레이트에 대응함 -;
제2 복수의 추정된 속력 포인트들을 생성하기 위해 상기 머신 러닝 기술로 상기 트레이닝용 관찰된 속력 포인트들의 제2 세트를 처리하는 단계;
상기 손실 함수에 기초하여, 상기 제2 복수의 추정된 속력 포인트들과 상기 트레이닝용 예측된 속력 포인트들의 상기 대응하는 제1 세트 사이의 편차에 기초한 제2 손실을 계산하는 단계; 및
상기 제2 손실에 기초하여 상기 머신 러닝 기술의 파라미터들을 업데이트하는 단계
를 더 포함하는, 방법. - 시스템으로서,
비일시적 컴퓨터 명령어들을 포함하는 메모리에 결합되는 하나 이상의 프로세서
를 포함하고, 상기 명령어들은 상기 하나 이상의 프로세서에 의해 실행될 때, 동작들을 수행하고, 상기 동작들은:
복수의 관찰된 속력 포인트들을 수신하는 동작 - 상기 복수의 관찰된 속력 포인트들 각각은 관찰된 궤적의 복수의 슬라이스들 중 상이한 슬라이스에 대응함 -;
복수의 예측된 속력 포인트들을 생성하기 위해 머신 러닝 기술에 의해 상기 관찰된 궤적에 대응하는 상기 복수의 관찰된 속력 포인트들을 처리하는 동작 - 상기 머신 러닝 기술은 복수의 트레이닝용 관찰된 속력 포인트들과 트레이닝용 예측된 속력 포인트들 사이의 관계를 설정하도록 트레이닝되어 있음 -;
상기 복수의 예측된 속력 포인트들에 기초하여 미래 궤적을 결정하는 동작 - 상기 복수의 예측된 속력 포인트들 각각은 상기 미래 궤적의 복수의 슬라이스들 중 상이한 슬라이스에 대응함 -;
대상 접근 통제 디바이스가 상기 미래 궤적의 임계 범위 내에 있다고 결정하는 동작; 및
상기 대상 접근 통제 디바이스가 상기 미래 궤적의 임계 범위 내에 있다고 결정하는 것에 응답하여, 상기 대상 접근 통제 디바이스와 연관된 동작을 수행하는 동작
을 포함하는, 시스템. - 제14항에 있어서, 상기 복수의 관찰된 속력 포인트들은 가속도 측정값들을 포함하고, 상기 복수의 예측된 속력 포인트들은 복수의 가속도 측정값들을 포함하며, 상기 대상 접근 통제 디바이스는 출입문과 연관된 잠금 장치를 포함하고; 상기 동작을 수행하는 동작은 상기 출입문을 잠금 해제하는 동작을 포함하는, 시스템.
- 제15항에 있어서, 상기 동작들은:
사용자의 모바일 디바이스와 상기 대상 접근 통제 디바이스 사이에 무선 통신 링크를 설정하는 동작;
상기 무선 통신 링크를 통해 인가 정보를 교환하는 동작; 및
상기 인가 정보에 기초하여, 상기 사용자가 상기 대상 접근 통제 디바이스에 접근하도록 인가되어 있다고 결정한 후에 상기 동작을 수행하는 동작
을 더 포함하는, 시스템. - 제16항에 있어서, 상기 동작들은:
상기 동작을 수행하기 전에, 상기 인가 정보에 기초하여, 상기 사용자가 상기 대상 접근 통제 디바이스에 접근하도록 인가되어 있다고 결정하는 동작; 및
상기 사용자가 인가되어 있다고 결정한 후에 상기 대상 접근 통제 디바이스가 상기 미래 궤적의 임계 범위 내에 있는 것으로 결정될 때까지 상기 동작을 수행하는 것을 지연시키는 동작
을 더 포함하는, 시스템. - 동작들을 수행하기 위한 비일시적 컴퓨터 판독 가능 명령어들을 포함하는 비일시적 컴퓨터 판독 가능 매체로서, 상기 동작들은:
복수의 관찰된 속력 포인트들을 수신하는 동작 - 상기 복수의 관찰된 속력 포인트들 각각은 관찰된 궤적의 복수의 슬라이스들 중 상이한 슬라이스에 대응함 -;
복수의 예측된 속력 포인트들을 생성하기 위해 머신 러닝 기술에 의해 상기 관찰된 궤적에 대응하는 상기 복수의 관찰된 속력 포인트들을 처리하는 동작 - 상기 머신 러닝 기술은 복수의 트레이닝용 관찰된 속력 포인트들과 트레이닝용 예측된 속력 포인트들 사이의 관계를 설정하도록 트레이닝되어 있음 -;
상기 복수의 예측된 속력 포인트들에 기초하여 미래 궤적을 결정하는 동작 - 상기 복수의 예측된 속력 포인트들 각각은 상기 미래 궤적의 복수의 슬라이스들 중 상이한 슬라이스에 대응함 -;
대상 접근 통제 디바이스가 상기 미래 궤적의 임계 범위 내에 있다고 결정하는 동작; 및
상기 대상 접근 통제 디바이스가 상기 미래 궤적의 임계 범위 내에 있다고 결정하는 것에 응답하여, 상기 대상 접근 통제 디바이스와 연관된 동작을 수행하는 동작
을 포함하는, 비일시적 컴퓨터 판독 가능 매체. - 제18항에 있어서, 상기 복수의 관찰된 속력 포인트들은 가속도 측정값들을 포함하고, 상기 복수의 예측된 속력 포인트들은 복수의 가속도 측정값들을 포함하며, 상기 대상 접근 통제 디바이스는 출입문과 연관된 잠금 장치를 포함하고; 상기 동작을 수행하는 동작은 상기 출입문을 잠금 해제하는 동작을 포함하는, 비일시적 컴퓨터 판독 가능 매체.
- 제19항에 있어서, 상기 동작들은:
사용자의 모바일 디바이스와 상기 대상 접근 통제 디바이스 사이에 무선 통신 링크를 설정하는 동작;
상기 무선 통신 링크를 통해 인가 정보를 교환하는 동작; 및
상기 인가 정보에 기초하여, 상기 사용자가 상기 대상 접근 통제 디바이스에 접근하도록 인가되어 있다고 결정한 후에 상기 동작을 수행하는 동작
을 더 포함하는, 비일시적 컴퓨터 판독 가능 매체.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063125041P | 2020-12-14 | 2020-12-14 | |
US63/125,041 | 2020-12-14 | ||
PCT/EP2021/084591 WO2022128627A1 (en) | 2020-12-14 | 2021-12-07 | Trajectory prediction with data normalization |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20230130008A true KR20230130008A (ko) | 2023-09-11 |
Family
ID=79231147
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020237023575A KR20230130008A (ko) | 2020-12-14 | 2021-12-07 | 데이터 정규화를 이용한 궤적 예측 |
Country Status (9)
Country | Link |
---|---|
US (1) | US20240094006A1 (ko) |
EP (1) | EP4260010A1 (ko) |
JP (1) | JP2023552878A (ko) |
KR (1) | KR20230130008A (ko) |
CN (1) | CN116710731A (ko) |
AU (1) | AU2021399704A1 (ko) |
CA (1) | CA3202173A1 (ko) |
MX (1) | MX2023007035A (ko) |
WO (1) | WO2022128627A1 (ko) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107730663A (zh) * | 2017-05-10 | 2018-02-23 | 西安艾润物联网技术服务有限责任公司 | 门禁控制方法及装置 |
CN113016203A (zh) * | 2018-10-22 | 2021-06-22 | 多玛卡巴瑞士股份公司 | Uwb访问权限更新 |
WO2020193576A1 (en) * | 2019-03-25 | 2020-10-01 | Assa Abloy Ab | Physical access control systems with localization-based intent detection |
-
2021
- 2021-12-07 EP EP21836060.0A patent/EP4260010A1/en active Pending
- 2021-12-07 CA CA3202173A patent/CA3202173A1/en active Pending
- 2021-12-07 CN CN202180090559.6A patent/CN116710731A/zh active Pending
- 2021-12-07 JP JP2023535893A patent/JP2023552878A/ja active Pending
- 2021-12-07 AU AU2021399704A patent/AU2021399704A1/en active Pending
- 2021-12-07 KR KR1020237023575A patent/KR20230130008A/ko unknown
- 2021-12-07 WO PCT/EP2021/084591 patent/WO2022128627A1/en active Application Filing
- 2021-12-07 MX MX2023007035A patent/MX2023007035A/es unknown
- 2021-12-07 US US18/257,172 patent/US20240094006A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
JP2023552878A (ja) | 2023-12-19 |
MX2023007035A (es) | 2023-08-21 |
EP4260010A1 (en) | 2023-10-18 |
US20240094006A1 (en) | 2024-03-21 |
AU2021399704A1 (en) | 2023-07-27 |
CN116710731A (zh) | 2023-09-05 |
WO2022128627A1 (en) | 2022-06-23 |
CA3202173A1 (en) | 2022-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20240096155A1 (en) | Trajectory and intent prediction | |
US20160139662A1 (en) | Controlling a visual device based on a proximity between a user and the visual device | |
US10473762B2 (en) | Wireless radio module | |
EP3007030B1 (en) | Portable device and control method via gestures | |
US20180357321A1 (en) | Sequentialized behavior based user guidance | |
US20230015030A1 (en) | Credential gateway | |
US20160325832A1 (en) | Distributed drone flight path builder system | |
EP3776294B1 (en) | User authentication in hybrid environments | |
US20240094006A1 (en) | Trajectory prediction with data normalization | |
US10839056B2 (en) | System and method for unlocking devices associated with a carrying bag | |
US20190311368A1 (en) | Facilitating user engagement in offline transactions | |
WO2022161817A1 (en) | Authentication based on interaction and noise patterns | |
US20190355079A1 (en) | Methods and systems for inventory yield management | |
US11906647B2 (en) | Person location determination using multipath | |
US11956226B2 (en) | Medical records access system | |
US20240012109A1 (en) | Radar identification of persons via vital signs | |
US12051242B2 (en) | Scanning-based video analysis | |
WO2024119072A1 (en) | Service robot recovery from a blocked path | |
WO2024046571A1 (en) | Dependent credentials | |
WO2023096885A1 (en) | Contactless monitoring of photoplethysmography using radar | |
Meena et al. | About this Appendix | |
CA3236239A1 (en) | Identifying position and determining intent based on uwb temporal signatures |