KR20230173205A - 디바이스 위치 탐지 - Google Patents

디바이스 위치 탐지 Download PDF

Info

Publication number
KR20230173205A
KR20230173205A KR1020237041423A KR20237041423A KR20230173205A KR 20230173205 A KR20230173205 A KR 20230173205A KR 1020237041423 A KR1020237041423 A KR 1020237041423A KR 20237041423 A KR20237041423 A KR 20237041423A KR 20230173205 A KR20230173205 A KR 20230173205A
Authority
KR
South Korea
Prior art keywords
ranging
wireless
location
wireless device
target wireless
Prior art date
Application number
KR1020237041423A
Other languages
English (en)
Other versions
KR102691009B1 (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 애플 인크.
Priority to KR1020247025462A priority Critical patent/KR20240122570A/ko
Publication of KR20230173205A publication Critical patent/KR20230173205A/ko
Application granted granted Critical
Publication of KR102691009B1 publication Critical patent/KR102691009B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W64/00Locating users or terminals or network equipment for network management purposes, e.g. mobility management
    • H04W64/003Locating users or terminals or network equipment for network management purposes, e.g. mobility management locating network equipment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/029Location-based management or tracking services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W64/00Locating users or terminals or network equipment for network management purposes, e.g. mobility management
    • H04W64/006Locating users or terminals or network equipment for network management purposes, e.g. mobility management with additional information processing, e.g. for direction or speed determination
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/10Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
    • G01C21/12Navigation; 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
    • G01C21/16Navigation; 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 by integrating acceleration or speed, i.e. inertial navigation
    • G01C21/165Navigation; 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 by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments
    • G01C21/1652Navigation; 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 by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments with ranging devices, e.g. LIDAR or RADAR
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S1/00Beacons or beacon systems transmitting signals having a characteristic or characteristics capable of being detected by non-directional receivers and defining directions, positions, or position lines fixed relatively to the beacon transmitters; Receivers co-operating therewith
    • G01S1/02Beacons or beacon systems transmitting signals having a characteristic or characteristics capable of being detected by non-directional receivers and defining directions, positions, or position lines fixed relatively to the beacon transmitters; Receivers co-operating therewith using radio waves
    • G01S1/68Marker, boundary, call-sign, or like beacons transmitting signals not carrying directional information
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S13/00Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/74Systems using reradiation of radio waves, e.g. secondary radar systems; Analogous systems
    • G01S13/76Systems using reradiation of radio waves, e.g. secondary radar systems; Analogous systems wherein pulse-type signals are transmitted
    • G01S13/765Systems using reradiation of radio waves, e.g. secondary radar systems; Analogous systems wherein pulse-type signals are transmitted with exchange of information between interrogator and responder
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S13/00Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/86Combinations of radar systems with non-radar systems, e.g. sonar, direction finder
    • G01S13/867Combination of radar systems with cameras
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/02Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves
    • G01S5/0257Hybrid positioning
    • G01S5/0263Hybrid positioning by combining or switching between positions derived from two or more separate positioning systems
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/02Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves
    • G01S5/0294Trajectory determination or predictive filtering, e.g. target tracking or Kalman filtering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/88Detecting or preventing theft or loss
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/04Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/52Network services specially adapted for the location of the user terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/535Tracking the activity of the user
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/023Services making use of location information using mutual or relative location information between multiple location based services [LBS] targets or of distance thresholds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/025Services making use of location information using location based information parameters
    • H04W4/026Services making use of location information using location based information parameters using orientation information, e.g. compass
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/025Services making use of location information using location based information parameters
    • H04W4/027Services making use of location information using location based information parameters using movement velocity, acceleration information
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S13/00Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/02Systems using reflection of radio waves, e.g. primary radar systems; Analogous systems
    • G01S13/06Systems determining position data of a target
    • G01S13/42Simultaneous measurement of distance and other co-ordinates
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S2205/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S2205/01Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations specially adapted for specific applications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2111Location-sensitive, e.g. geographical location, GPS

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Automation & Control Theory (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Position Fixing By Use Of Radio Waves (AREA)

Abstract

디바이스 위치파악 애플리케이션에 대한 실시예들이 설명된다. 일 실시예에서, 하나 이상의 관성 변위 측정 값들이 관성 센서 및 수신된 카메라 센서 데이터를 사용하여 수신될 수 있고, 하나 이상의 관성 변위 측정 값들에 기초한 궤적이 결정될 수 있고, 타겟 무선 디바이스로부터 비콘 신호가 수신될 수 있고 비콘 신호로부터 적어도 하나의 신호 강도 값을 결정할 수 있고, 궤적을 따른 적어도 하나의 위치에 대응하는 적어도 하나의 신호 강도 값에 기초하여 타겟 무선 디바이스에 대한 적어도 하나의 근접 값이 추정될 수 있고, 사용자 인터페이스에서 궤적을 따라 타겟 무선 디바이스에 대한 적어도 하나의 근접 값의 표시자가 제시될 수 있다.

Description

디바이스 위치 탐지
관련 출원의 상호 참조
본 출원은 2021년 6월 4일자로 출원된 발명의 명칭이 "Device Location Finding"인 미국 가출원 제63/197,228호, 및 2021년 12월 6일자로 출원된 발명의 명칭이 "Device Location Finding"인 미국 특허 출원 제17/543,421호의 우선권의 이익을 주장하며, 이들 각각은 본 명세서에 참고로 포함된다.
기술분야
본 명세서에 설명된 실시예들은 디바이스 위치파악 서비스들을 사용하여 디바이스들을 위치파악하는 것에 관한 것이다.
이전 디바이스 위치파악 서비스들은 디바이스들 사이의 연결이 확립되지 않았을 때 디바이스를 위치파악하는 데 있어서 의미있는 지원을 제공하지 않는다. 특히, 사용자들은 종종 이전 접근법들로 반복적으로 동일한 경로 상에서 이동하면서 디바이스를 위치파악하는 것을 시도할 수 있고, 그들을 분실된 디바이스로 안내하는 데 도움을 줄 추가 정보를 필요로 한다. 이와 같이, 개선된 위치파악 서비스들을 제공할 필요가 있다.
실시예들은 전자 디바이스, 비일시적 기계 판독가능 매체, 및 방법을 포함한다. 일부 실시예들에서, 전자 디바이스는 통신 라디오, 관성 센서, 카메라 센서, 디스플레이 디바이스, 명령어들을 저장하기 위한 메모리, 및 명령어들을 실행하기 위한 하나 이상의 프로세서들을 포함한다. 실시예들은 하나 이상의 프로세서들로 하여금, 관성 센서 및 수신된 카메라 센서 데이터를 사용하여 하나 이상의 관성 변위 측정 값들을 수신하고, 하나 이상의 관성 변위 측정 값들에 기초하여 궤적을 결정하고, 타겟 무선 디바이스로부터 비콘 신호를 수신하고 비콘 신호로부터 적어도 하나의 신호 강도 값을 결정하고, 궤적을 따른 적어도 하나의 위치에 대응하는 적어도 하나의 신호 강도 값에 기초하여 타겟 무선 디바이스에 대한 적어도 하나의 근접 값을 추정하고, 사용자 인터페이스에서 궤적을 따라 타겟 무선 디바이스에 대한 적어도 하나의 근접 값의 표시자를 제시하게 하는 명령어들을 가질 수 있다.
하나 이상의 실시예들에서, 하나 이상의 프로세서들은 명령어들을 실행하고, 명령어들은, 추가로, 하나 이상의 프로세서들로 하여금, 신호 강도 값들에 대한 복수의 카테고리들로부터 카테고리를 결정하고, 결정된 카테고리에 따라 근접 값의 표시자를 제시하게 한다.
하나 이상의 실시예들에서, 하나 이상의 프로세서들은 명령어들을 실행하고, 명령어들은, 추가로, 하나 이상의 프로세서들로 하여금, 사용자 인터페이스 내의 궤적을 따라 2차원 히트 맵(heat map) 상에 근접 값의 표시자를 제시하게 한다.
하나 이상의 실시예들에서, 하나 이상의 프로세서들은 명령어들을 실행하고, 명령어들은, 추가로, 하나 이상의 프로세서들로 하여금, 육각형 그리드(hexagonal grid) 상에 근접 값의 표시자를 제시하게 한다.
하나 이상의 실시예들에서, 레인징 센서(ranging sensor)를 포함하는 무선 제어기, 하나 이상의 프로세서들은 명령어들을 실행하고, 명령어들은, 추가로, 하나 이상의 프로세서들로 하여금, 레인징 뷰, 신호 강도 근접 뷰, 또는 레인징 및 신호 강도 근접 뷰 중 적어도 하나를 사용자 인터페이스 내에 선택적으로 제시하게 하며, 레인징 뷰를 제시하는 것은, 양방향 레인징 동작 동안 무선 제어기의 레인징 센서를 통해 타겟 무선 디바이스에 대한 범위 및 방향을 결정하는 것, 타겟 무선 디바이스에 대한 범위 및 방향에 기초하여 전자 디바이스에 대해 타겟 무선 디바이스에 대한 타겟 위치 추정치를 결정하는 것, 및 레인징 뷰를 제시하는 것은, 타겟 무선 디바이스에 대한 타겟 위치 추정치 및 타겟 무선 디바이스에 대한 방향에 대한 표시자 중 적어도 하나를 디스플레이하는 것을 포함한다. 하나 이상의 실시예들에서, 레인징 뷰를 제시하도록 선택하는 것은, 타겟 무선 디바이스와의 무선 라디오 연결을 확립하는 것에 응답하여 수행된다. 하나 이상의 실시예들에서, 하나 이상의 프로세서들은 명령어들을 실행하고, 명령어들은, 추가로, 하나 이상의 프로세서들로 하여금, 비코닝 레이트를 증가시키도록 타겟 무선 디바이스에 요청하게 한다. 하나 이상의 실시예들에서, 하나 이상의 무선 레인징 동작들은 초광대역 라디오를 통해 수행되는 레인징 동작을 포함한다. 하나 이상의 실시예들에서, 신호 강도 근접 뷰 및 레인징 뷰를 제시하는 것은, 사용자 인터페이스에서 궤적을 따라, 타겟 무선 디바이스에 대한 근접 값의 적어도 하나의 표시자 및 타겟 무선 디바이스에 대한 방향에 대한 표시자를 제시하는 것을 포함한다.
도 1a 및 도 1b는 본 명세서에 설명된 실시예들에 따른 디바이스 위치파악 사용자 인터페이스를 예시한다.
도 1c는 일 실시예에 따른, 모바일 디바이스들에 대한 네트워크 동작 환경(100)의 블록도이다.
도 2는 일 실시예에 따른, 무선 액세서리들을 위치파악하는 시스템을 예시한다.
도 3은 본 명세서에 설명된 실시예들에 따른, 무선 액세서리를 페어링하고 위치파악하기 위한 시스템을 예시한다.
도 4는 본 명세서에 설명된 디바이스 위치파악 시스템들과 함께 사용하기 위한 방법들을 예시한 흐름도들이다.
도 5는 본 명세서에 설명된 디바이스 위치파악 시스템들과 함께 사용하기 위한 디바이스 위치파악 사용자 인터페이스를 제시하기 위한 방법들을 예시한 시퀀스 다이어그램이다.
도 6은 일 실시예에 따른, 타겟 디바이스의 타겟 위치 추정치를 생성하기 위해 레인징 및 포즈 추정들을 인에이블하는 시스템을 예시한다.
도 7은 디바이스 위치파악 애플리케이션에 대해 근접 향상들이 인에이블될 수 있는 시스템을 예시한다.
도 8은 일 실시예에서 디바이스 위치파악 사용자 인터페이스를 위한 방법을 예시한 흐름도이다.
도 9는 디바이스 위치파악 애플리케이션에 대한 근접 강화 사용자 인터페이스를 인에이블하는 방법을 예시한다.
도 10은 디바이스 위치파악 서버를 통해 무선 액세서리에 대한 위치를 결정하는 방법을 예시한다.
도 11은 디바이스 위치파악 서버를 통해 무선 액세서리에 대한 위치를 결정하는 추가적인 방법을 예시한다.
도 12는 일 실시예에 따른, 무선 액세서리에서 신호 비콘을 브로드캐스트하는 방법을 예시한 흐름도이다.
도 13 및 도 14는 본 명세서에 설명된 실시예들에 따른, 탐지기 디바이스(finder device)에 의해 수행될 수 있는 방법의 동작들을 예시한다.
도 15는 일 실시예에 따른, 탐지기 디바이스에 의한 신호 및 레인징 데이터의 수집을 예시한다.
도 16 내지 도 21은 하나 이상의 실시예들에 따른 디바이스 위치파악 사용자 인터페이스들을 예시한다.
도 22는 일부 실시예들에서 사용될 수 있는 예시적인 API 아키텍처를 예시한 블록도이다.
도 23은 일 실시예에 따른, 모바일 또는 임베디드 디바이스에 대한 디바이스 아키텍처의 블록도이다.
도 24는 일 실시예에 따른 컴퓨팅 시스템의 블록도이다.
본 명세서에 설명된 실시예들은 일반적으로 사용자가 타겟 디바이스를 위치파악하는 데 능동적으로 관여하는 것을 안내하거나 돕기 위해 모바일 디바이스 상에 정보를 제시하기 위한 기술들을 제공한다. 모바일 디바이스는 다양한 데이터 소스들 및/또는 신호들을 사용하여 타겟 디바이스 자체로부터 수신된 신호들을 포함하는, 타겟 디바이스를 위치파악하는 것을 돕기 위한 정보를 제시할 수 있다. 타겟 디바이스로부터 수신된 신호들의 유형들의 액세스가능성은 모바일 디바이스가 타겟 디바이스의 위치 환경 내에서 이동함에 따라 달라질 수 있다. 데이터 소스들/신호들이 모바일 디바이스에 액세스가능할 때의 정보를 표현하기 위해 모바일 디바이스의 사용자 인터페이스 내에 다양한 사용자 인터페이스 뷰(view)들이 제시될 수 있다.
일 실시예에서, 모바일 디바이스에 수신된 신호들로부터의 신호 강도 측정들은 모바일 디바이스가 타겟 디바이스에 근접한 때를 나타내기 위해 사용자 인터페이스 내의 타겟 디바이스에 대한 근접성을 나타내는 데 사용될 수 있다. 도 1a도 1b는 본 명세서에 설명된 실시예들에 따른, 모바일 디바이스(2100) 상의 디바이스 위치파악 사용자 인터페이스(204)를 예시한다. 도 1a에 도시된 바와 같은 "근접 뷰"(2104)는 시각화 기술들을 사용하여 근접 정보를 제시하여 타겟 무선 액세서리 디바이스와 관련된 근접 정보를 제시할 수 있다. 일 실시예에서, 근접 뷰(2104)는 사용자가 그들의 탐색 중에 취했던 경로를 나타내기 위해, 사용자 인터페이스(204) 내에 제시된 궤적(2118)을 따라 위치되는 사용자 인터페이스 요소들과 같은 시각적 표시자들을 갖는다. 일부 실시예들에서, 시각적 표시자들은 신호 강도 값들 및 타겟 디바이스에 대한 대응하는 정의된 근접 카테고리(예컨대, 원거리, 근처, 인접 등)를 표현하기 위해 구배, 색상, 색상 구배, 크기, 형상, 및/또는 임의의 다른 시각화 기술로 디스플레이되는 사용자 인터페이스 요소들일 수 있다. "토미의 에어팟들"을 탐지하기 위한 근접 뷰(2104)는 사용자 인터페이스(204) 내의 궤적(2118)을 따라 다양한 위치들에 표시자들(2102, 2106, 2110, 2112, 및 2114)을 갖는다. 근접 뷰(2104) 내의 각각의 표시자는 사용자 인터페이스(204) 내의 크기 및 색상 구배에 의해 타겟 무선 액세서리 디바이스에 대한 근접성을 나타내는 사용자 인터페이스 요소일 수 있다. 예를 들어, 근접 뷰(2104)에서, 표시자(2106)는, 다른 표시자들(예컨대, 2102, 2110, 2112, 2114)에 비해 더 어두운 색상 및/또는 더 큰 크기로 표현된 바와 같이, 사용자가 타겟 무선 액세서리 디바이스를 탐지하기 위해 취했던 궤적(2118)을 따라 타겟 무선 액세서리 디바이스에 가장 가깝다. 실시예들은 사용자 인터페이스(204) 내에서 사용자가 그들의 탐색 중에 취했던 궤적(2118)을 결정하기 위해 시각 관성 주행 거리 측정(visual inertial odometry, VIO) 측정들을 사용할 수 있다. VIO는 임의의 초기 좌표계에서 모바일 디바이스의 이동을 추적하는 능력을 제공한다. VIO 기술들은 이미지들의 시퀀스에 걸쳐 카메라 모션을 추정하기 위한, 모바일 디바이스로 수집된 이미지들의 시퀀스의 분석을 포함한다.
일부 실시예들에서, 모바일 디바이스는 타겟 디바이스의 임계 범위 내에 놓이도록 이동할 수 있어서, 모바일 디바이스와 타겟 디바이스 사이의 통신을 사용하여 타겟 디바이스로부터의 거리 및 그에 대한 방향을 결정하는 레인징 프로세스를 허용할 수 있다. 도 1b에 도시된 바와 같이, 사용자 인터페이스(204)의 "레인징 뷰"(2120)는 선택적으로 디스플레이될 수 있는 타겟 디바이스에 대한 방향(2108)에 더하여 거리 측정(2116)을 제공할 수 있다. 일부 실시예들에서, 타겟 디바이스를 탐지하기 위한 근접 뷰(2104)는 타겟 디바이스가 모바일 디바이스의 임계 범위 내에 있지 않은 것, 타겟 디바이스 송신기가 모바일 디바이스에서 수신기의 시야에 있지 않은 것, 및/또는 모바일 디바이스가 타겟 디바이스에 거의 방해받지 않는 뷰를 갖지 않는 것으로 인해 레인징 뷰(2120)에 대한 레인징 데이터가 이용가능하지 않을 때 사용될 수 있다. 타겟 디바이스는 모바일 디바이스에서의 수신기가 타겟 디바이스 송신기의 뷰를 가질 때 모바일 디바이스의 시야에 있을 수 있다.
일부 실시예들에서, 초광대역(UWB) 무선 기술을 사용하는 레인징은 타겟 디바이스에 대한 비교적 정밀한 위치 또는 거리 데이터를 제공할 수 있지만, 블루투스 기술에 비해 비교적 단거리 무선 주파수(RF) 기술 무선 통신이다. 일부 실시예들에서, 최적의 레인징 위치 데이터를 획득하기 위해 모바일 디바이스 UWB 수신기가 타겟 디바이스 송신기에 대한 가시선(line of sight) 또는 타겟 디바이스의 거의 방해받지 않는 뷰를 갖는 것이 바람직할 수 있다. 신호 강도 정보의 형태의 근접 정보는 UWB와 비교하여 비교적 덜 정확할 수 있지만, 더 넓은 범위를 커버하여 더 긴 거리를 제공할 수 있고 무선 라디오 연결이 확립되기 전에 광고들로부터 획득될 수 있다. 일부 실시예들에서, 모바일 디바이스와 타겟 디바이스 사이의 연결로 양방향 통신이 확립되지는 않을 수 있지만, 모바일 디바이스에서 수신된 광고들은 연결을 확립하기 전에 신호 강도 정보를 제공하여 사용자를 타겟 디바이스로 지향시키도록 도울 수 있다. 기술들의 조합은 사용자가 타겟 무선 액세서리 디바이스를 위치파악하는 것을 도울 수 있다.
다양한 실시예들에서, 도면들을 참조하여 설명이 이루어진다. 그렇지만, 특정 실시예들은 이러한 특정 세부 사항들 중 하나 이상을 사용함이 없이, 또는 다른 알려진 방법들 및 구성들과 조합되어 실시될 수 있다. 이하의 설명에서, 실시예들의 완전한 이해를 제공하기 위해 특정 구성들, 치수들 및 프로세스들 등과 같은 많은 특정 세부 사항들이 기재된다. 다른 경우들에서, 잘 알려진 반도체 프로세스들 및 제조 기술들은 실시예들을 불필요하게 불명료하게 하지 않기 위해 특별히 상세히 기술되지 않았다. 본 명세서 전반에 걸쳐 "일 실시예"에 대한 언급은 그 실시예와 관련되어 설명되는 특정 특징, 구조, 구성 또는 특성이 적어도 하나의 실시예에 포함된다는 것을 의미한다. 따라서, 본 명세서 전반에 걸쳐 다양한 곳에서 나오는 문구 "일 실시예에서"는 반드시 동일한 실시예를 지칭하지는 않는다. 또한, 특정 특징들, 구조들, 구성들 또는 특성들은 하나 이상의 실시예들에서 임의의 적합한 방식으로 조합될 수 있다.
이하의 논의에서, 터치 감응형 디스플레이를 포함하는 컴퓨팅 디바이스가 설명된다. 그러나, 컴퓨팅 디바이스가 하나 이상의 다른 물리적 사용자 인터페이스 디바이스들을 포함할 수 있다는 것이 이해되어야 한다. 디바이스 상에서 실행될 수 있는 다양한 애플리케이션들은 터치 감응형 표면과 같은 적어도 하나의 보편적인 물리적 사용자 인터페이스 디바이스를 사용할 수 있다. 터치 감응형 표면의 하나 이상의 기능들뿐만 아니라 디바이스 상에 디스플레이되는 대응하는 정보는 조정될 수 있고/있거나 하나의 애플리케이션으로부터 다음 애플리케이션으로 그리고/또는 개별 애플리케이션 내에서 변화될 수 있다. 이러한 방식으로, 디바이스의 (터치 감응형 표면과 같은) 보편적인 물리적 아키텍처는 직관적이고 명료한 사용자 인터페이스들을 이용하여 다양한 애플리케이션들을 지원할 수 있다.
일부 프로세스들이 일부 순차적 동작들의 관점들에서 아래에서 설명된다. 그러나, 설명된 동작들 중 일부가 상이한 순서들로 수행될 수 있다는 것을 인식해야 한다. 게다가, 일부 동작들은 순차적으로 대신에 병렬로 수행될 수 있다.
도 1c는 일 실시예에 따른, 모바일 디바이스들에 대한 네트워크 동작 환경(100)의 블록도이다. 네트워크 운영 환경(100)은 액세서리 디바이스(101)뿐만 아니라 모바일 디바이스(102)와 같은 다수의 모바일 디바이스들을 포함한다. 액세서리 디바이스(101)는 모바일 디바이스(102)와 페어링될 수 있다. 일 실시예에서, 모바일 디바이스(101)는 디바이스 그룹으로 페어링될 수 있는 액세서리 디바이스들의 쌍일 수 있다. 선택적으로, 액세서리 디바이스들(101)을 갖는 디바이스 그룹은 액세서리 디바이스들(101)을 보유하기 위한 케이스와 같은 유선 연결을 갖는 모바일 디바이스에 저장될 수 있다. 케이스는 또한 일부 실시예들에서 모바일 디바이스(102)와 페어링될 수 있는 액세서리 디바이스일 수 있다. 예로서, 액세서리 디바이스(101)는 집합적으로 애플 에어팟® 또는 이어팟®과 같은 디바이스들일 수 있다. 일부 실시예들에서, 액세서리 디바이스(101)는 광역 네트워크를 통해 통신할 수 없을 수 있다. 다른 실시예들에서, 모바일 디바이스들(101, 102)은 각각 무선 네트워크 및 무선 액세서리 디바이스와 통신할 수 있는 임의의 전자 디바이스일 수 있다. 일부 예시적인 모바일 디바이스들은 스마트폰, 태블릿 컴퓨터, 노트북 컴퓨터, 웨어러블 컴퓨터(예컨대, 스마트워치 또는 다른 웨어러블 컴퓨팅 액세서리), 모바일 미디어 플레이어, 개인 휴대 정보 단말기, 에어팟®, 이어팟®, 위치파악 태그들, 헤드폰, 헤드 장착형 디스플레이, 건강 장비 및 다른 유사한 디바이스들을 포함하지만 이들로 제한되지 않는다. 모바일 디바이스들(101) 및 모바일 디바이스(102) 각각은 선택적으로 모바일 디바이스(102)의 사용자 인터페이스(104)와 같은 사용자 인터페이스를 포함할 수 있다. 다른 실시예들에서, 모바일 디바이스(101)는 액세서리 디바이스로서 사용자 인터페이스를 갖지 않을 수 있다. 모바일 디바이스들(101, 102)은 디바이스 위치파악 서비스들에 액세스하기 위해 애플리케이션 프로그래밍 인터페이스를 활용하는 제3자 디바이스일 수 있다. 제3자 디바이스는 상이한 디바이스 제조자에 의해 제공되거나 모바일 디바이스(101, 102)와는 상이한 에코시스템(예컨대, 운영 체제)의 일부일 수 있다. 모바일 디바이스들(101, 102)은 데이터 통신을 수행하기 위해 하나 이상의 유선 및/또는 무선 네트워크들(110)을 통해 통신할 수 있다. 예를 들어, 무선 네트워크(112)(예컨대, 셀룰러 네트워크, Wi-Fi 네트워크)가 게이트웨이(116)의 사용에 의해 인터넷과 같은 광역 네트워크(114)와 통신할 수 있다. 마찬가지로, 모바일 핫스팟 무선 액세스 디바이스와 같은 액세스 디바이스(118)가 광역 네트워크(114)에 대한 통신 액세스를 제공할 수 있다. 이어서, 게이트웨이(116) 및 액세스 디바이스(118)는 유선 및/또는 무선 네트워크들의 조합을 통해 광역 네트워크(114)와 통신할 수 있다.
일부 구현예들에서, 음성 및 데이터 통신들 둘 모두가 무선 네트워크(112) 및/또는 액세스 디바이스(118)를 통해 확립될 수 있다. 예를 들어, 모바일 디바이스(102)는 (예컨대, VoIP 프로토콜들을 사용하여) 전화를 걸고 받을 수 있고, (예컨대, POP3 프로토콜을 사용하여) 이메일 메시지들을 전송 및 수신할 수 있고, (예컨대, TCP/IP 또는 UDP 프로토콜들을 사용하여) 무선 네트워크(112), 게이트웨이(116), 및 광역 네트워크(114)를 통해 웹 페이지들, 사진들, 및 비디오들과 같은 전자 문서들 및/또는 스트림들을 검색할 수 있다. 일부 구현예들에서, 모바일 디바이스(102)는 전화를 걸고 받을 수 있고, 이메일 메시지들을 전송 및 수신할 수 있고, 액세스 디바이스(118) 및 광역 네트워크(114)를 통해 전자 문서들을 검색할 수 있다. 일부 구현예들에서, 모바일 디바이스(101) 및/또는 모바일 디바이스(102)는, 예를 들어, 하나 이상의 케이블들을 사용하여 액세스 디바이스(118)에 물리적으로 연결될 수 있으며, 여기서, 액세스 디바이스(118)는 개인용 컴퓨터이다. 이러한 구성에서, 모바일 디바이스(101) 또는 모바일 디바이스(102)는 "테더링된(tethered)" 디바이스로 지칭될 수 있다. 일 실시예에서, 모바일 디바이스(101)는 무선 피어-투-피어 연결(120)을 통해 모바일 디바이스(102)와 통신할 수 있다. 무선 피어-투-피어 연결(120)은 디바이스들 사이에서 데이터를 동기화시키는 데 사용될 수 있다.
모바일 디바이스(101) 또는 모바일 디바이스(102)는 하나 이상의 유선 및/또는 무선 네트워크들(110)을 통해 전화통신 서비스(130), 메시징 서비스(140), 미디어 서비스(150), 저장 서비스(160), 및 디바이스 위치파악 서비스(170)와 같은 하나 이상의 서비스들을 이용하여 통신할 수 있다. 예를 들어, 전화통신 서비스(130)는 모바일 디바이스들 사이, 또는 모바일 디바이스와 유선 전화 디바이스 사이의 전화 통신을 가능하게 할 수 있다. 전화통신 서비스(130)는 광역 네트워크(114)를 통해 VoIP(voice over IP) 통화들을 라우팅할 수 있거나, 셀룰러 보이스 네트워크(예컨대, 무선 네트워크(112))에 액세스할 수 있다. 메시징 서비스(140)는 예를 들어, 이메일 및/또는 다른 메시징 서비스들을 제공할 수 있다. 미디어 서비스(150)는 예를 들어, 노래 파일들, 오디오 북들, 영화 파일들, 비디오 클립들, 및 다른 미디어 데이터와 같은 미디어 파일들에 대한 액세스를 제공할 수 있다. 저장 서비스(160)는 문서들 및 미디어 파일들을 저장하기 위해 모바일 디바이스(101) 및 모바일 디바이스(102)에 네트워크 저장 능력들을 제공할 수 있다. 디바이스 위치파악 서비스(170)는 적어도 일부 지점에서 하나 이상의 유선 및/또는 무선 네트워크들(110)에 연결된 분실되거나 잘못 배치된 디바이스를 사용자가 위치파악하는 것을 가능하게 할 수 있다. 운영 체제 소프트웨어 또는 모바일 디바이스들 상의 클라이언트 소프트웨어를 업데이트하기 위한 소프트웨어 업데이트 서비스를 포함한 다른 서비스들이 또한 제공될 수 있다. 일 실시예에서, 메시징 서비스(140), 미디어 서비스(150), 저장 서비스(160), 및 디바이스 위치파악 서비스(170)는 각각 클라우드 서비스 제공자와 연관될 수 있으며, 여기서 다양한 서비스들은 모바일 디바이스들(101, 102)과 연관된 클라우드 서비스 계정을 통해 용이하게 된다.
일부 실시예들에서, 액세서리 디바이스(101), 모바일 디바이스(102), 및/또는 디바이스 그룹은 인증 기관(106)에 등록될 수 있다. 일부 실시예들에서, 인증 기관(106)은 디지털 인증서들을 발행하는 엔티티이고, 서비스는 디바이스 제조자, 서비스 제공자, 또는 등록 서비스에 의해 관리되는 서버들의 세트를 사용하여 구현될 수 있다. 인증 기관(106)에 의해 제공되는 인증서는 디바이스에 대한 특정 제조자, 일련번호, 디바이스 그룹의 식별자 또는 기타 식별자, 디바이스가 디바이스 그룹의 일부임을 나타내는 표시자, 및/또는 임의의 기타 검증가능한 정보와 같은, 디바이스에 대한 수신된 검증가능한 정보의 유효성을 증명할 수 있다. 일부 실시예들에서, 디바이스 제조자는 액세서리 디바이스들의 일련 번호들을 디바이스 그룹에 그룹화함으로써 디바이스 그룹을 확립할 수 있다. 추가 실시예들에서, 인증서는 제3자로 전송되기 전에 디바이스(101, 102)에 의해 암호화될 수 있고, 제3자가 디바이스 그룹 내의 액세서리 디바이스(101), 모바일 디바이스(102), 및/또는 디바이스들에 의해 제공된 정보의 검증을 요청할 때 증명 서비스(예컨대, 인증 기관 또는 다른 증명 서비스)에서 복호화될 수 있다. 일부 실시예들에서, 페어링하기 위한 요청들에 액세서리 디바이스(101)에 의해 보안 토큰이 제공될 수 있다. 위치 서비스들을 사용하는 페어링된 디바이스들의 추가적인 예들이, 2021년 3월 21일자로 출원되고 발명의 명칭이 "Secure Pairing and Pairing Lock for Accessory Devices"인 미국 특허 출원 제17/219,595호에서 발견될 수 있으며, 상기 출원은 그 전체가 참조로 본 명세서에 통합된다.
모바일 디바이스(101, 102)는 위치 서비스들(180)을 포함하는 디바이스들 상에서 로컬로 액세스가능한 애플리케이션들, 서비스들 및 기능을 가질 수 있다. 특히, 모바일 디바이스들(101 및/또는 102)은 디바이스 위치파악 서비스들(170) 및 위치 서비스들(180)을 활용하기 위한 디바이스 위치파악 애플리케이션(예컨대, "Find my" 애플리케이션)(190)을 가질 수 있다. 로컬로 액세스가능한 데이터는 알려진 위치들(182) 및 안전하거나 신뢰된 위치들(184)에 저장될 수 있다. 일부 경우들에서, 기계 학습 알고리즘들(186)은 알려진 위치들(182) 및/또는 신뢰된 위치들(184)을 식별하는 데 사용될 수 있다. 사용될 수 있는 기계 학습 알고리즘들의 예로서 클러스터 분석이 제공되지만, 당업자들은 잠재적으로 알려진 또는 신뢰된 위치들을 식별하기 위해 다른 알고리즘들이 사용될 수 있음을 인식할 것이다. 예로서, 클러스터 데이터 분석은, 사용자가 빈번하게 방문하는 위치들과 같은 위치들을 식별 및 분류하고, 그에 대한 의미론적 라벨들을 제공하는 데 사용될 수 있다. 안전한, 또는 신뢰된 위치들(184)은 데이터 분석 후에 디바이스(102A-B)의 사용자에 의해 명시적으로 지정되거나 그와 같이 확인될 수 있다. 다른 경우들에서, 알려진 위치들(182) 또는 신뢰된 위치들(184)은 오프라인으로 분류되고 디바이스 위치파악 서비스(170) 또는 제3자(예컨대, 맵 정보를 갖는 데이터베이스)에 의해 제공될 수 있다.
사용자에 의해 자주 방문된 위치들, 알려진 위치들 및/또는 기타 위치들을 포함하여, 자주 다닌 위치들에 관한 로컬로 저장된 데이터의 분석에 기초하여 사용자와 위치들 사이의 관계들을 추론하기 위해, 온-디바이스 휴리스틱(on-device heuristics) 및/또는 기계 학습 모델들이 사용될 수 있다. 예를 들어, 가정, 차량, 작업장과 같은 자주 방문된 위치, 모바일 디바이스(예컨대, 액세서리 디바이스들(101) 및 모바일 디바이스(102))를 지닌 사용자가 자주 다닌 임의의 위치 및/또는 사용자에 의해 신뢰된 위치(184)로 지정된 임의의 기타 위치. 알려진 위치들(182)은 비즈니스 위치들, 공공 공간들, 공원들, 박물관들, 및/또는 사용자가 빈번하게 다닐 수 있는 임의의 다른 위치일 수 있다. 각각의 저장된 위치들에 대한 경계 정보는 위치에 대한 분류 유형 및 위치에 할당된 임의의 의미론적 라벨과 함께 저장될 수 있다. 저장된 정보는 그 위치에 대한 지오펜스(geofence)의 생성을 허용하기 위해 포인트 위치 주위의 반경 거리 또는 경계들의 정의된 세트를 포함할 수 있다. 지오펜스는 실세계 지리적 영역에 대한 가상 둘레이다. 글로벌 포지셔닝 시스템(GPS)은 위치 주위에 가상 펜스를 생성하고, 지오펜스 경계 내의 모바일 디바이스(101, 102)의 물리적 위치 뿐만 아니라 제한된 영역의 입구 및 출구를 추적하는 데 사용될 수 있다.
기계 학습 알고리즘들(186)은, 일정 시간 기간 동안 특정 위치에서 "이동중(in transit)" 상태 또는 "안착된(settled)" 상태에 있는 것으로 지정될 디바이스의 움직임 또는 이동을 분석하고 그에 관한 라벨을 할당하기 위한 온-디바이스 휴리스틱, 기계 학습 알고리즘들, 또는 이들의 조합을 포함할 수 있다. 분석은 다음을 포함하지만 그에 제한되지 않는, 모바일 디바이스(102)에 이용가능한 데이터 소스들로부터의 다양한 신호들을 사용하여 수행될 수 있다: 센서 데이터, 포지셔닝 데이터, 캘린더 데이터, 교통 카드 사용 데이터, 애플리케이션 데이터, 이동의 패턴들/루틴들에 대한 이력 데이터 및/또는 모바일 디바이스(102)에 액세스가능한 임의의 다른 데이터. 일부 실시예들에서, 모바일 디바이스(102)는 정의된 시간 기간 동안 위치(예컨대, 신뢰된 위치(184))를 정의하는 지리적 경계들 내에 유지된 후에 "안착된" 의미론적 라벨로 분류될 수 있다. 가장 간단한 경우에, 모바일 디바이스(102)에 대한 포지셔닝 데이터는 일정 시간 지속기간(예컨대, 5분) 동안 특정 위치에 대한 지오펜스의 경계들 내에 유지될 수 있다. 가속도계 데이터와 같은 센서 데이터는 안착된 것에 대한 추론을 지원하기 위해 모바일 디바이스(102)가 정지되어 있음을 나타낼 수 있다. 애플리케이션 데이터는, 모바일 디바이스가 캘린더 약속 위치에 위치되는 것과 같이, 모바일 디바이스(102)가 안착되어 있다는 추론을 지원할 수 있다. 사용중인 애플리케이션의 유형을 나타내는 애플리케이션 데이터는 또한, 미디어 애플리케이션을 사용하는 것과 같이, 디바이스가 안착된 것에 대한 추론을 제공할 수 있다. 모바일 디바이스(102)가 안착되는지 여부를 결정하기 위해, 집 또는 호텔 위치에서의 취침 시간 루틴과 같은, 이동중 루틴들 또는 패턴들에 대한 사용자에 대한 이력 데이터가 사용될 수 있다. 모바일 디바이스(102)는 사용자에 대한 그리고 모바일 디바이스(102) 상에서 분석된 이전 행동, 패턴들 또는 루틴들에 기초하여 "이동중" 라벨을 갖는 것으로 분류될 수 있다. 예를 들어, 사용자는 매일 거의 동일한 시간에 일하러 가는 루틴을 가질 수 있고, 디바이스 상의 데이터가 패턴이 반복되고 있음을 지원하면, "이동중" 상태가 할당될 수 있다. 가장 간단한 경우에, 모바일 디바이스가 (예컨대, 지오펜스들을 사용하여) 이동하거나 알려진 지리적 영역들에 진입하고 빠져나가는 속도는 모바일 디바이스(102)가 이동중이라는 추론을 허용할 수 있다. 모바일 디바이스(102)가 알려진 이동 영역들(예컨대, 도로들, 고속도로들, 기차 루트들 등)에서 가속하는 것으로 검출되면, 모바일 디바이스(102)에는 "이동중"의 상태가 주어질 수 있다. 유사하게, 교통 애플리케이션들/카드들이 사용되면/사용중이면, 모바일 디바이스(102)는 "이동중"으로 지정될 수 있다.
도 2는 일 실시예에 따른, 무선 액세서리(201)를 위치파악하기 위한 시스템(200)을 예시한다. 일 실시예에서, 무선 액세서리들(201)은 디바이스 그룹의 일부로서 페어링될 수 있는 액세서리 디바이스들(101)(및 선택적으로 케이스)의 다른 실시예이다. 다른 실시예들에서, 액세서리 디바이스(201)는 디바이스 그룹의 일부가 아닌 별개의 액세서리 디바이스들이고, 각각 모바일 디바이스(102)에 별개로 페어링된다. 각각의 액세서리 디바이스(201)는 하나 이상의 무선 송수신기들을 포함하고, 무선 네트워크 또는 피어-투-피어 통신 링크를 통해 컴패니언 디바이스(companion device)(예컨대, 모바일 디바이스(102))와 직접적으로 또는 간접적으로(예컨대, 다른 디바이스 또는 컴퓨터를 통해) 통신할 수 있다. 액세서리 디바이스들(201)은 케이스 및 케이스 내의 임의의 액세서리들에 대한 비콘 신호를 제공할 수 있다. 액세서리 디바이스(201)는 케이스로부터 분리되고 독립적으로 그리고 개별적으로 비콘 신호를 제공함으로써 발견될 수 있다. 무선 액세서리 디바이스들(201)의 일부 예들은 무선 이어버드들, 이어팟들, 에어팟들, 입력 디바이스들, 충전 디바이스, 액세서리들의 케이스, 헤드폰들, 헤드셋들, 피트니스 장비, 건강 장비, 디스플레이 디바이스들, 외부 하드 드라이브들, 다른 웨어러블 디바이스들(예컨대, 스마트워치들, 피트니스 밴드들, 광학 헤드 장착형 디스플레이들) 어댑터들, 스피커들, 및/또는 다른 디바이스들을 포함하지만 이로 제한되지 않는다. 액세서리들의 페어링된 그룹들은 동일한 유형의 디바이스(예컨대, 스피커들, 에어팟들, 피트니스 웨이트들 등) 또는 상이한 유형들의 디바이스들(예컨대, 스마트폰 및 신용 카드 판독기 등)일 수 있다. 무선 액세서리(201)는 또한 신용 카드 판독 디바이스들, 스타일러스 디바이스들, 마우스, 키보드, 게임 제어기들 또는 원격 제어부들을 포함하지만 이로 제한되지 않는 입력 디바이스들과 같은 다른 무선 디바이스들을 포함할 수 있다. 일 실시예에서, 무선 액세서리(201)는 또한, 인터넷(예컨대, 도 1에서와 같은 광역 네트워크(114))와 같은 광역 네트워크에 적어도 일시적으로 액세스할 수 없는 스마트폰들, 태블릿 컴퓨터들, 랩톱 컴퓨터들, 스마트 스피커 디바이스들, 텔레비전들 또는 텔레비전 셋톱 박스들을 포함한다. 무선 액세서리(201)는 또한, 다른 디바이스들에 부착되어 그들 디바이스들의 추적 또는 위치파악을 가능하게 할 수 있는 비콘들 또는 위치파악 태그들을 포함하는 임의의 다른 무선 디바이스일 수 있다. 일 실시예에서, 무선 액세서리(201)는 블루투스와 같은 그러나 이로 제한되지 않는 무선 기술 표준을 사용하여 모바일 디바이스(102)와 페어링되는 액세서리 디바이스들의 디바이스 그룹으로부터 나올 수 있다. 무선 액세서리(201)는 또한 Wi-Fi 다이렉트, 지그비, 또는 에어플레이와 같은 임의의 무선 표준들 및 프로토콜들의 구현을 포함하는 무선 기술들을 통해 모바일 디바이스(102)와 통신할 수 있다. 무선 액세서리들(201)이 페어링되는 컴패니언 디바이스는 일반적으로 모바일 디바이스(102)로 지칭되지만, 컴패니언 디바이스들은 모바일 디바이스들로 제한되지 않는다. 일부 실시예들에서, 컴패니언 디바이스들은 또한 랩톱 또는 데스크톱 디바이스들을 포함할 수 있고, 스마트 워치 디바이스 또는 웨어러블 디스플레이와 같은 그러나 이들로 제한되지 않는 일부 웨어러블 액세서리들을 더 포함할 수 있다.
일 실시예에서, 무선 액세서리(201)는 무선 비콘 신호를 주기적으로 송신할 수 있다. 무선 액세서리(201)는 본 명세서에 설명된 다양한 무선 기술들(예컨대, 블루투스, Wi-Fi 등) 중 하나를 사용하여 비콘 신호를 송신할 수 있고, 일 실시예에서, 또한 초광대역(UWB) 라디오 기술을 사용하여 비코닝할 수 있다. 비콘 신호는 단일 무선 기술, 다수의 선택가능한 무선 기술들 중 하나, 또는 다수의 동시 무선 기술들을 사용하여 송신될 수 있다. 비콘 신호는 개별 무선 액세서리(201) 및/또는 디바이스 그룹을 구체적으로 식별하기 위한 정보를 포함하는 비콘 식별자를 송신할 수 있다. 일 실시예에서, 비콘 식별자는 디바이스와 연관된 공개 암호화 키이다.
비콘 신호는 또한 무선 액세서리(201), 그러한 디바이스 상태 정보 및/또는 검증가능한 정보에 관한 정보를 전달할 수 있다. 비콘 신호에서의 디바이스 상태 정보는 다음을 포함할 수 있지만 이로 제한되지 않는다: 비콘 유형, 디바이스 분류, 배터리 레벨, 임의의 미리정의된 디바이스 상태, 디바이스 상태, 분실 상태, 알람 상태, 소유자로부터의 분리된 상태, 소유자-근처 상태, 디바이스 그룹 내의 하나 이상의 액세서리 디바이스들에 근접한 상태, 유선 또는 무선 연결 상태, 디바이스 그룹 내의 하나 이상의 액세서리 디바이스에 물리적으로 연결된 상태, 액세서리 디바이스가 페어링되는지 여부를 나타내는 페어링 상태, 페어링 보류 상태, 배터리 수명 상태, 충전 상태 및/또는 임의의 다른 상태 정보. 분실된 또는 "소유자로부터 분리된" 상태는 무선 액세서리(201)가 그 자신이 분실된 것으로 결정했거나 또는 디바이스의 소유자에 의해 분실된 상태에 배치되었음을 나타낼 수 있다. 알람 상태는, 무선 액세서리(201)가 현재 위치로부터 이동되는 경우 디바이스가 알람을 트리거해야 하는 상태에 배치되었음을 나타낼 수 있다. 소유자-근처 상태는, 무선 액세서리(201)가 액세서리의 소유자와 연관된 모바일 디바이스(102)의 인근 존재를 검출했음을 나타낼 수 있다.
일부 실시예들에서, 검증가능한 정보는, 검증가능한 정보를 제시하는 디바이스와 페어링 프로세스 및/또는 탐지 프로세스가 진행될 수 있다는 신뢰 또는 권한을 확립하는 데 필요할 수 있는 임의의 정보를 포함할 수 있다. 예로서, 검증가능한 정보는 디바이스 제조자에 의해 확립된 정보, 예컨대 디바이스 그룹 내의 일련 번호 또는 일련 번호들의 세트를 포함할 수 있다. 일부 실시예들에서, 검증가능한 정보는 디바이스에 대한 상태 또는 상태 정보를 포함할 수 있다. 검증가능한 정보는 다음을 포함할 수 있지만 이로 제한되지 않는다: 디바이스 유형, 디바이스 그룹의 수, 일련 번호, 디바이스 그룹, 디바이스 그룹 내의 다른 디바이스들의 일련 번호들, 상태 또는 상태 정보, 소프트웨어 버전, 및/또는 임의의 다른 검증가능한 정보. 검증가능한 정보는 디바이스에 의해 다른 디바이스에 제시된 수신된 정보를 검증하기 위해 인증 기관(106) 또는 다른 증명 서비스로 전송될 수 있다. 검증가능한 정보는 디바이스의 추가 검증을 허용하기 위해 암호화되고/되거나 토큰과 함께 전송될 수 있다.
일부 실시예들에서, 비콘 신호는, 분실된 무선 액세서리(201)를 위치파악하기 위해 크라우드소싱을 사용하기 위해 무선 액세서리(201)에 로컬로 근접한 탐지기 디바이스(202)에 의해 검출될 수 있다. 탐지기 디바이스(202)는 모바일 디바이스(102)와 유사한 디바이스일 수 있고, 광역 네트워크(114)를 통해 데이터를 수신 및 송신할 수 있고, 무선 액세서리(201)와 유사한 무선 기술들(예컨대, 블루투스 등)을 사용하여 수신 및 송신할 수 있다. 특히, 탐지기 디바이스(202)는 비콘 신호가 송신되는 무선 프로토콜을 사용하여 데이터를 수신할 수 있다. 탐지기 디바이스(202)는 Wi-Fi 액세스 포인트들 또는 셀룰러 전화 네트워크의 셀 타워 송신기들과 같은 무선 기지국들(205)로부터 수신된 RF 신호들을 사용하는 위성 포지셔닝 서비스(206) 또는 지상 포지셔닝 시스템을 포함하지만 이들로 제한되지 않는 하나 이상의 위치 및/또는 포지셔닝 서비스들을 사용하여 위치를 결정할 수 있다. 일 실시예에서, 탐지기 디바이스(202)는 하나 이상의 위치 및/또는 포지셔닝 서비스들에 기초하여 결정되는 바와 같이 자신의 위치를 주기적으로 저장한다. 저장된 위치는 위치가 결정된 타임스탬프와 연관될 수 있다. 탐지기 디바이스(202)가 무선 액세서리(201)로부터 비콘 신호를 수신할 때, 탐지기 디바이스(202)는 광역 네트워크(114)를 통해 탐지기 디바이스(202)에 대한 위치를 디바이스 위치파악 서버(203)로 송신할 수 있다. 탐지기 디바이스(202)에 대해 결정된 위치에 대한 타임스탬프는 지리적 위치를 수신된 비콘 신호와 연관시키기 위해 비콘 신호가 수신되었던 타임스탬프와 상관될 수 있다.
무선 액세서리(201)가 비콘 신호 내에 공개 키를 제공하는 경우, 탐지기 디바이스(202)는 결정된 위치 데이터를 암호화하고 암호화된 위치 데이터를 광역 네트워크(114)를 통해 디바이스 위치파악 서버(203)로 송신할 수 있다. 일 실시예에서, 추가적인 데이터는 암호화되어 위치 데이터와 함께 송신되거나 암호화되지 않은 상태로 디바이스 위치파악 서버(203)로 송신될 수 있다. 예를 들어, 비콘 신호에 대한 수신된 신호 강도 표시자(RSSI)가 위치 데이터와 함께 송신될 수 있다. 이어서, RSSI 데이터는 탐지기 디바이스(202)로부터의 무선 액세서리(201)의 거리를 결정하고 소유자 디바이스 상에서 삼각측량을 돕는 데 사용될 수 있다. RSSI 데이터가 암호화되지 않은 상태로 송신되는 경우, 일 실시예에서, 서버는 다른 더 강한 신호들이 존재하는 경우 매우 약한 신호들을 폐기함으로써 노이즈를 감소시키기 위해 RSSI 정보를 사용할 수 있다. 일 실시예에서, 그러한 데이터가 이용가능한 경우, UWB 레인징 데이터가 또한 제공될 수 있다.
일 실시예에서, 탐지기 디바이스(202)는 무선 액세서리(201)에 의해 전달되는 디바이스 상태에 따라 무선 액세서리(201)로부터 비콘 신호를 수신할 시에 상이하게 거동할 수 있다. 표준 비콘 신호들의 경우, 탐지기 디바이스(202)는 암호화된 위치 데이터를 큐 내에 배치하고, 주기적 송신 윈도우 동안 위치 데이터를 디바이스 위치파악 서버(203)로 송신할 수 있다. 그러나, 무선 액세서리(201)가 알람 상태를 나타내고 있는 경우, 탐지기 디바이스(202)는 위치 데이터를 디바이스 위치파악 서버(203)로 즉시 송신할 수 있다. 추가적으로, 무선 액세서리(201)의 비콘 신호가 액세서리가 액세서리의 소유자 근처에 있음을 나타내는 경우, 탐지기 디바이스(202)는 위치 데이터를 디바이스 위치파악 서버(203)로 송신하지 않을 수 있다. 대안적으로, 탐지기 디바이스(202)는 암호화된 위치 데이터의 송신을 지연시킬 수 있다.
무선 액세서리(201)의 소유자가 무선 액세서리를 위치파악하기를 원하는 경우, 소유자는 모바일 디바이스(102) 상의 디바이스 위치파악 사용자 인터페이스(204)에 액세스할 수 있다. 디바이스 위치파악 사용자 인터페이스(204)는, 사용자의 온라인 계정, 이를테면, 클라우드 서비스 계정 또는 다른 유형의 온라인 계정에 등록된 전자 디바이스들 및 액세서리들을 위치파악하는 데 사용되는 디바이스 위치파악 애플리케이션과 연관될 수 있다. 디바이스 위치파악 UI(204)를 사용하는 디바이스 소유자는, 무선 액세서리(201)의 탐지기 디바이스(202)에 의해 디바이스 위치파악 서버로 송신되었을 수 있는 위치 데이터에 대해 디바이스 위치파악 서버(203)에 질의할 수 있다. 일 실시예에서, 모바일 디바이스(102)는 무선 액세서리(201)와 연관된 공개 암호화 키를 디바이스 위치파악 서버(203)로 송신할 수 있다. 이어서, 디바이스 위치파악 서버(203)는 공개 암호화 키에 대응하는 임의의 저장된 위치 데이터를 반환할 수 있다. 모바일 디바이스(102)로 반환된 위치 데이터는, 공개 암호화 키를 사용하여 탐지기 디바이스(202)에 의해 암호화되는 암호화된 데이터일 수 있다. 모바일 디바이스(102)는 암호화된 위치 데이터를 복호화하기 위해 연관된 개인 키를 사용할 수 있다. 이어서, 복호화된 위치 데이터는 무선 액세서리(201)에 대한 가장 가능성있는 위치를 결정하기 위해 모바일 디바이스(102)에 의해 프로세싱될 수 있다. 다양한 실시예들에서, 무선 액세서리(201)에 대한 가장 가능성있는 위치는 다수의 수신된 위치들로부터의 삼각측량에 의해 결정될 수 있고, 그리고 각각의 위치 및 타임스탬프와 연관된 비콘 신호 RSSI 또는 위치 데이터 내에 포함된 UWB 레인징 데이터와 같은 다른 데이터를 사용하여 결정될 수 있다.
도 3은 본 명세서에 설명된 실시예들에 따른, 무선 액세서리를 페어링하고 위치파악하기 위한 시스템(300)을 예시한다. 일 실시예에서, 무선 액세서리(201)의 사용자의 모바일 디바이스(102)(예컨대, 디바이스(101)의 예)는 액세서리 페어링 UI(302)를 제시할 수 있으며, 이에 의해 사용자는 모바일 디바이스(102)를 무선 액세서리(201)와 페어링할 수 있다. 모바일 디바이스(102)와 무선 액세서리(201) 사이의 초기 페어링(305) 동안, 공개 키 교환(310)이 모바일 디바이스와 무선 액세서리(201) 사이에서 수행될 수 있다. 일 실시예에서, 공개 키 교환(310) 동안, 모바일 디바이스(102) 및 무선 액세서리(201)는 디바이스 및 액세서리(201)에 의해 생성된 공개 키 쌍들의 공개 키들을 교환한다. 일 실시예에서, 공개 키 교환(310)은 모바일 디바이스(102)가 공개/개인 키 쌍의 공개 키를 무선 액세서리(201)로 송신하는 일방향 전달이다. 대안적으로 또는 추가적으로, 공개 키 교환(310)은 디바이스 및 액세서리가 두 당사자들 사이에서 공유 비밀(shared secret)을 확립하는 디피-헬만 키 교환(Diffie-Hellman key exchange)일 수 있다. 일 실시예에서, 공개 키 교환(310)은 추가적으로, 공유 비밀을 확립하기 위해 타원 곡선 암호화를 사용한다. 예를 들어, 타원-곡선 디피-헬만(Elliptic-curve Diffie-Hellman, ECDH)이 공개 키 쌍 및 하나 이상의 공유 비밀들의 확립을 가능하게 하는 데 사용될 수 있다. 일 실시예에서, 하나 이상의 공유 비밀들은 무선 액세서리(201)가 추가 공개 키들을 주기적으로 유도할 수 있는 추적-방지 비밀(anti-tracking secret)을 포함한다.
무선 액세서리(201)가 모바일 디바이스(102)와 페어링된 후, 무선 액세서리(201)는 디바이스 상태 정보 및 비콘 식별자를 포함하는 비콘 신호(301)를 주기적으로 브로드캐스트할 수 있다. 일 실시예에서, 비콘 식별자는 공개 키 교환(310) 동안 확립되는 공유 비밀로부터 유도된 공개 키이다. 추가적으로, 무선 액세서리(201)는 새로운 공개 키를 생성하고 새로운 공개 키를 비콘 식별자로서 브로드캐스트하기 시작하기 위해 공개 키 유도(315)를 주기적으로 수행할 수 있다. 공개 키는 K-바이트 키로서, M 분마다 새로운 K-바이트 키가 생성된다. 값 K 및 M은 실시예들 사이에서 다를 수 있다. 일 실시예에서, 28 바이트의 K 값이 사용된다. 일 실시예에서, 27 바이트의 K 값이 사용된다. 값 K는 비콘 신호(301)를 송신하는 데 사용되는 무선 프로토콜과 연관된 비콘 길이에 적어도 부분적으로 기초하여 결정될 수 있다. 일 실시예에서, 비콘 신호는 저전력 블루투스와 같은 저-에너지 라디오 프로토콜과 연관된 비콘 광고 패킷의 변형을 송신할 수 있다.
일 실시예에서, 값 M은 15분이어서, 새로운 K-바이트 키가 15분마다 생성되게 한다. 공개 키는 공개 키 교환(310) 동안 생성된 타임스탬프 및 추적-방지 비밀에 기초하여 결정론적으로 유도될 수 있다. 공개 키 유도(315) 프로세스는 무선 액세서리(201)가 시간 경과에 따라 상이한 키들을 사용할 수 있게 하여, 특정 디바이스와 특정 키와의 장기적인 연관을 방지한다. 키는 모바일 디바이스(102) 및 무선 액세서리(201)에만 알려진 추적-방지 비밀에 기초하여 유도될 수 있어서, 모바일 디바이스(102)가, 그리고 모바일 디바이스만이, 임의의 주어진 타임스탬프에서 무선 액세서리(201)에 의해 어떤 공개 키가 브로드캐스트될 것인지를 결정할 수 있게 한다. 추적-방지 비밀은 ECDH 공개 키와 함께 생성되고 무선 액세서리(201)로 전달될 수 있다. 이어서, 추적-방지 비밀은 무선 액세서리(201)가 공개 키들의 시퀀스 Pi를 생성할 수 있게 하는 데 사용될 수 있다. 일 실시예에서, 공개 키들의 시퀀스 Pj = λi ㆍ P이고, 이는 스칼라 또는 지수 값 λi 와, 예를 들어, 타원 곡선 포인트들 P와 같은 그룹 요소들 사이의 그룹 연산을 정의한다. 스칼라 또는 지수 값 λ = KDF(AT, i)이고, 여기서 KDF는 키 유도 함수이고, AT는 추적-방지 비밀이고, i는 카운터 또는 타임스탬프이다.
일 실시예에서, 무선 액세서리(201)가 위해되는(compromised) 경우에, 역추적 저항성(backtracking resistance)이 추적-방지 비밀을 보호하도록 인에이블될 수 있다. 역추적 저항성이 인에이블되는 경우, 추적-방지 비밀은 무선 액세서리(201)로 전달되지만 무선 액세서리에 의해 보유되지는 않는다. 대신에, 액세서리는 값 λi+1 = H(λi || time)을 컴퓨팅하며, 이때 λ0 = AT이고 H는 암호화 해시 함수이다. 이어서, 무선 액세서리(201)는 주어진 시간 기간 i 동안 λi 저장한다. 무선 액세서리(201)가 위해되면, 추적-방지 비밀 AT를 노출시키지 않으면서, i의 현재 및 미래 값들에 대한 λi 만이 노출된다. 일 실시예에서, 역추적 저항성은 무선 액세서리(201)의 비휘발성 메모리에 λi 주기적으로 기입함으로써 수행된다.
일 실시예에서, 무선 액세서리(201)는 2초마다 비콘 신호(301)를 송신할 수 있지만, 다른 비콘 레이트들이 사용될 수 있고, 비콘 레이트는 특정 상황들 하에서 변할 수 있다. 예를 들어, 무선 액세서리(201)는 소유자-근처 상태에 있을 때 비콘 레이트를 감소시킬 수 있다. 비콘 레이트는 또한 가속도계 트리거된 이벤트들에 기초하여 변할 수 있다. 예를 들어, 무선 액세서리(201)는 무선 액세서리(201) 상의 가속도계에 의해 트리거될 수 있는 알람 상태에 있을 때 비콘 레이트를 증가시킬 수 있다.
무선 액세서리(201)는, 비콘 신호(301)를 송신한 후에, 무선 액세서리(201)가 액세서리의 사용자와 연관된 모바일 디바이스(102)로부터 응답을 수신하는 경우 - 이는 모바일 디바이스(102)가 무선 액세서리의 범위 내에 있음을 나타냄 - 소유자-근처 상태에 진입할 수 있다. 추가적으로, 무선 액세서리가 소유자-근처 상태에 있는 동안, 비콘 신호(301)에 의해 송신되는 데이터의 양은 감소될 수 있다. 일 실시예에서, 새로운 공개 키들이 생성되는 레이트는 또한, 무선 액세서리가 소유자-근처 상태에 있는 동안 감소될 수 있다.
무선 액세서리(201)는 무선 액세서리(201)가 알람 상태에 진입해야 한다는 것을 나타내는 메시지를 모바일 디바이스(102)로부터 수신할 시 알람 상태에 진입할 수 있다. 알람 상태에 있을 때, 무선 액세서리는 초기에 무선 액세서리(201)가 위치파악 비콘 신호들의 송신을 감소시키거나 중지시킬 수 있는 무장 상태(armed state)에 진입할 수 있지만, 다른 유형의 무선 시그널링이 지속될 수 있다. 무선 액세서리(201)는, 상태가 모바일 디바이스(102)에 의해 비활성화되거나 알람이 트리거될 때까지 무장 상태에서 유지될 수 있다. 일 실시예에서, 알람은 예를 들어, 무선 액세서리(201) 내의 가속도계를 통한 이동의 검출 시 트리거될 수 있다. 알람은 또한, 일 실시예에서, 무선 액세서리가 모바일 디바이스의 범위 밖으로 이동했고 더 이상 소유자-근처 상태에 있지 않다는 것을 검출 시, 트리거될 수 있다. 알람이 트리거될 때, 무선 액세서리(201)가 위치파악될 수 있는 속도를 증가시키기 위해, 비콘 신호(301)의 레이트는 증가될 수 있다.
무선 액세서리(201)에 의해 송신된 비콘 신호(301)는 탐지기 디바이스들(303)의 세트(탐지기 디바이스들은 탐지기 디바이스(202)일 수 있음) 및/또는 모바일 디바이스(102)에 의해 검출될 수 있으며, 이들은 무선 액세서리에 의해 송신된 비콘 신호를 수신할 수 있고, 비콘 신호(301)와 연관된 위치 및 다른 데이터를 광역 네트워크(114)를 통해 디바이스 위치파악 서버(203)로 송신하는 다른 전자 디바이스들이다. 일 실시예에서, 탐지기 디바이스들(303)의 세트는 모바일 디바이스(102)의 변형들을 포함하거나, 또는 다른 유형의 전자 디바이스들일 수 있다. 예를 들어, 탐지기 디바이스들(303)의 세트는 무선 액세서리(201)로부터 수신된 비콘 신호(301)를 탐지기 디바이스(303)와 연관된 디바이스 위치와 상관시키기 위한 동작들(320)을 수행할 수 있다. 도 2와 관련하여 설명된 바와 같이, 디바이스 위치는 무선 기지국들(예컨대, Wi-Fi 액세스 포인트들 또는 셀 타워 송신기들)로부터 수신된 RF 신호들을 사용하는 위성 포지셔닝 서비스 또는 지상 포지셔닝 시스템을 통해 결정될 수 있다. 일 실시예에서, 탐지기 디바이스들(303)의 세트는 또한 비콘 신호(301)를 수신할 수 있는 스마트 스피커 디바이스, 텔레비전, 또는 텔레비전 셋톱 박스와 같은 고정 디바이스들을 포함할 수 있다.
탐지기 디바이스들(303)의 세트는 비콘 신호(301) 내에서 수신된 비콘 식별자(예컨대, 공개 키)로 위치 데이터를 암호화하고, 위치 데이터를 디바이스 위치파악 서버(203)로 전송할 수 있다(325). 탐지기 디바이스들(303)의 세트에 의해 전송된 데이터는 익명으로 전송되고, 탐지기 디바이스들에 대한 식별 정보는 탐지기 디바이스들에 의해 전송된 데이터와 함께 저장된다.
디바이스 위치파악 서버(203)는 암호화된 위치 데이터를 데이터 저장소(304)에 저장할 수 있으며, 이는 일 실시예에서 다수의 노드들을 갖는 분산 데이터베이스일 수 있다. 액세서리의 비콘 식별자/공개 키의 해시들은 암호화된 위치 데이터와 함께 전송될 수 있다. 암호화된 위치 데이터는 비콘 식별자의 해시에 기초하여 데이터베이스 노드에 저장될 수 있다. 암호화된 위치 데이터는 비콘 식별자의 해시를 사용하여 디바이스 위치파악 서버(203)에 의해 인덱싱될 수 있다. 전체 비콘 식별자 대신에 비콘 식별자의 해시를 전송하는 것은 전체 비콘 식별자를 서버에 저장하는 것을 방지한다. 다른 정보는 또한, 암호화된 또는 암호화되지 않은 상태로, 위치 데이터와 함께 전송 및 저장될 수 있다. 다른 정보는 비콘 신호(301)가 수신되었을 때의 타임스탬프들, 수신된 비콘에 대한 RSSI 정보, 및/또는 예를 들어, UWB 레인징을 통해 결정된 레인징 정보를 포함할 수 있다.
무선 액세서리(201)의 사용자 또는 소유자가 액세서리를 위치파악하기를 원할 때, 사용자 또는 소유자는 모바일 디바이스(102) 상의 디바이스 위치파악 UI(204)에 액세스할 수 있다. 디바이스 위치파악 UI(204)는 모바일 디바이스(102)의 위치파악 애플리케이션(190) 또는 특징과 연관될 수 있다. 디바이스 위치파악 UI(204)는 또한 모바일 디바이스(102) 또는 다른 유형의 전자 디바이스, 예컨대 랩톱 또는 데스크톱 디바이스로부터 액세스될 수 있는 웹-기반 인터페이스를 가질 수 있다. 모바일 디바이스(102)는, 디바이스 위치파악 UI(204)를 로딩할 시, 위치 데이터에 대한 요청(330)을 디바이스 위치파악 서버(203)로 전송할 수 있다. 요청(330)은 비콘 데이터에 대한 비콘 식별자들로서의 역할을 할 수 있는 공개 키들 또는 공개 키 해시들의 세트를 포함할 수 있다. 모바일 디바이스(102)는 모바일 디바이스(102) 및 무선 액세서리(201)에 의해 유지된 비밀 정보 및 모바일 디바이스(102)가 위치 데이터를 수신하기를 원하는 타임스탬프들에 기초하여 공개 키들의 세트를 생성할 수 있다. 일 실시예에서, 공개 키들의 세트는 추적-방지 비밀에 기초하여 생성되는 공개 키들의 시퀀스 Pi이다. 공개 키들의 시퀀스 Pi는 개인 키들의 매칭 시퀀스 dj에 대응한다. 모바일 디바이스(102)는 공개 키들의 시퀀스뿐만 아니라, 공개 키들의 대응하는 시퀀스 dj를 생성할 수 있으며, 여기서 i는 카운터 또는 타임스탬프이다. 일 실시예에서, 모바일 디바이스(102)는 요청(330) 내에서 이전 24시간의 공개 키들(또는 24시간의 공개 키들의 해시들)을 생성하고 전송할 수 있다. 24시간의 공개 키들에 대한 데이터가 발견되지 않는 경우, 모바일 디바이스(102)는 다시 미리결정된 위치 데이터 유지 한계까지, 더 이른 기간 동안 키들을 전송 생성할 수 있다.
일 실시예에서, 암호화된 위치 데이터는 공개 키 대신에 공개 키의 해시에 기초하여 저장 및 인덱싱되어, 위치 서비스 데이터의 제공자가 암호화된 위치 데이터를 특정 디바이스, 및 따라서 특정 사용자 또는 사용자 계정에 결부시키는 데 사용될 수 있는 데이터를 저장하는 것을 방지한다. 탐지기 디바이스는 관찰 위치와 연관된 비콘 신호(301) 내에서 브로드캐스트되는 공개 키의 해시를 전송할 수 있다. 디바이스의 소유자는 질의 주기 동안 결정되는 공개 키의 해시를 사용하여 디바이스 위치파악 서버(203)에 질의할 수 있다.
일부 실시예들에서, 위치 질의가 랩톱 또는 데스크톱 디바이스와 같은 전자 디바이스로부터 웹-기반 인터페이스를 통해 수행되어야 하는 경우, 위치 데이터의 복호화를 가능하게 하는 키들이 전자 디바이스로 전송될 것이 요구될 수 있다. 일 실시예에서, 위치 데이터에 대한 복호화 키들은, 적어도 위치 데이터가 웹-기반 인터페이스를 통해 보여지고 있는 동안, 서버가 위치 데이터를 복호화할 수 있게 하기 위한 웹-기반 인터페이스를 제공하는 서버로 전송될 수 있다. 위치 데이터가 웹-기반 인터페이스를 통해 디스플레이되기 전에, 위치 데이터가 복호화되고 제시되는 것을 가능하게 하기 위해 위치 복호화 키들이 웹-기반 인터페이스 서버와 일시적으로 공유되고 있음을 사용자에게 알리기 위해 통지가 제시될 수 있다. 일 실시예에서, 위치 복호화 키들의 공유는 웹-기반 인터페이스와 연관된 프록시 계정으로 위치 질의 권한의 자동적이고 일시적인 위임을 통해 수행될 수 있다.
일 실시예에서, 무선 액세서리(201)는 가벼운 분실 모드(light lost mode)에 배치될 수 있다. 가벼운 분실 모드에서, 미래 공개 키들의 세트가 무선 액세서리에 대해 생성되고 디바이스 위치파악 서버(203)로 송신될 수 있다. 이어서, 디바이스 위치파악 서버(203)는, 미래 공개 키들의 세트 내의 키에 대응하는 임의의 위치 데이터가 수신되는 경우, 모바일 디바이스(102)에 통지할 수 있다. 일 실시예에서, 가벼운 분실 모드에 있는 무선 액세서리에 대한 위치를 전송하는 탐지기 디바이스는, 가벼운 분실 모드에 있다는 것을 무선 액세서리에 통지하는 메시지를 무선 액세서리(201)에 중계하도록 디바이스 위치파악 서버(203)에 의해 지시될 수 있다. 액세서리를 명시적 분실 모드(explicit lost mode)에 배치하는 메시지를 무선 액세서리(201)에 중계하기 위해 유사한 메커니즘이 사용될 수 있다. 명시적 분실 모드는 디바이스 위치파악 UI(204)를 통해 사용자에 의해 인에이블될 수 있다. 명시적 분실 모드에서, 무선 액세서리(201)는 소유자에 의해 잠금해제되지 않는 한 다른 디바이스와 페어링될 수 없다. 위치 서비스들을 사용하는 페어링된 디바이스들의 추가적인 예들은, 2019년 8월 16일자로 출원되고 발명의 명칭이 "A System and Method for Locating Wireless Accessories"인 미국 특허 출원 제16/543,227호에서 발견될 수 있으며, 상기 출원은 그 전체가 참조로 본 명세서에 통합된다.
도 4는 본 명세서에 설명된 디바이스 위치파악 시스템들과 함께 사용하기 위한 방법들을 예시한 흐름도들이다. 도 4는 모바일 디바이스를 무선 액세서리와 페어링하는 방법(400)을 예시한다. 방법(400)의 양태들은 또한 전술된 바와 같이 도 2 및 도 3에 예시되어 있다. 예를 들어, 아래의 동작들의 설명은 모바일 디바이스(102), 무선 액세서리(201) 및 디바이스 위치파악 서버(203)를 참조한다.
도 4에 도시된 바와 같이, 방법(400)은 무선 액세서리와의 초기 페어링을 수행하는 동작(402)을 포함한다. 초기 페어링은 블루투스 페어링 또는 다른 무선 라디오 기술들을 사용하는 다른 유형의 페어링일 수 있다. 초기 페어링 동안, 모바일 디바이스 및 무선 액세서리는 모바일 또는 다른 전자 디바이스와 무선 액세서리 사이에서 무선 데이터 교환이 수행될 수 있게 하는 식별자들, 패스키(passkey)들, 또는 다른 크리덴셜들을 교환할 수 있다. 일 실시예에서, 무선 액세서리와의 초기 페어링은 페어링이 수행되는 무선 프로토콜과 연관된 크리덴셜들의 교환을 포함하여, 무선으로 교환되는 모든 데이터가 적어도 제1 암호화 층을 갖게 할 수 있다.
이어서, 모바일 디바이스는 공개/개인 키 쌍 및 하나 이상의 추가 공유 비밀들을 생성할 수 있다(404). 이어서, 디바이스는 공개 키 및 하나 이상의 추가 공유 비밀들을 무선 액세서리로 전송할 수 있다(406). 다양한 키 생성 기술이 사용될 수 있다. 일 실시예에서, ECDH의 변형이 암호화를 위한 공개 키 쌍을 생성하는 데 사용된다. 일 실시예에서, 하나 이상의 추가 공유 비밀들은 무선 액세서리가 기존의 공개 키에 기초하여 새로운 공개 키를 유도할 수 있게 하는 추적-방지 비밀을 포함할 수 있다.
공개/개인 키 쌍 및 하나 이상의 추가 공유 비밀들을 생성한 후, 모바일 디바이스는 공개/개인 키 쌍을 키스토어(keystore)에 저장할 수 있다(408). 일 실시예에서, 키스토어는 모바일 디바이스 및 무선 액세서리가 연관되는 동일한 클라우드 서비스 계정 또는 클라우드 서비스 계정들의 패밀리와 연관된 다른 디바이스들과 동기화될 수 있는 클라우드-기반 키스토어이다. 클라우드-기반 키스토어는 무선 액세서리가 다른 동기화된 디바이스들에 의해 위치파악될 수 있게 한다. 이어서, 모바일 디바이스는 디바이스 관리 서버에 무선 액세서리를 등록할 수 있다(410). 무선 액세서리를 디바이스 관리 서버에 등록하는 것은 모바일 디바이스가 연관되는 클라우드 서비스 계정과 무선 액세서리 사이에 연관을 형성할 수 있다. 일부 실시예들에서, 모바일 디바이스는 무선 액세서리 및 디바이스 그룹(104)을 등록할 수 있다. 디바이스 그룹에 대한 디바이스 그룹 프로파일에 저장된 정보는 또한 클라우드 서비스 계정(예컨대, 사용자 계정)에 결부된 디바이스들 사이에서 동기화될 수 있다. 디바이스 관리 서버는 도 2 및 도 3의 디바이스 위치파악 서버(203)와 같은, 모바일 디바이스에 액세스가능한 클라우드-기반 서비스들을 용이하게 하는 데 사용되는 다른 클라우드-기반 서버들과 연관될 수 있다.
도 5는 본 명세서에 설명된 디바이스 위치파악 시스템들과 함께 사용하기 위한 디바이스 위치파악 사용자 인터페이스를 제시하기 위한 방법들을 예시한 시퀀스 다이어그램(500)이다. 모바일 디바이스(102)는 디바이스 위치파악 애플리케이션(204)을 개시할 수 있다(506). 모바일 디바이스(102)는 광고들(508)을 포함하는 액세서리 디바이스(201)로부터의 비콘 신호를 수신할 수 있다. 광고들은 애플리케이션을 개시하기 전에 그리고/또는 디바이스 위치파악 애플리케이션(204)의 개시 후에 전송될 수 있다(506). 일부 실시예들에서, BLE 광고들은 모바일 디바이스(102)에 무선 라디오 연결을 확립하기 전에 전송될 수 있다. 일 실시예에서, BLE 광고들은 2초마다 수신될 수 있다. 신호 강도 측정들은 비콘 신호로부터 결정될 수 있고, 프로세스는 사용자 인터페이스(204)에 대한 근접 뷰로 모바일 디바이스(102)에 페어링된(510) 적어도 하나의 액세서리 디바이스(201)를 탐지하도록 시작할 수 있다(510). 디바이스 위치파악 애플리케이션(204) 사용자 인터페이스에 대한 근접 뷰는 타겟 액세서리 디바이스(201)의 근접성을 표현하는 시각적 표시자로 제시될 수 있다. 시각적 표시자는 모바일 디바이스(102)에서 수신된 광고들로부터의 신호 강도 측정들(512)에 대응할 수 있다. 선택적으로, 일부 실시예들에서, 무선 라디오 연결은 타겟 액세서리 디바이스(201)와 모바일 디바이스(102) 사이에 형성될 수 있으며(514), 이는 모바일 디바이스(102)가, 타겟 액세서리 디바이스(201)가 사운드를 재생하도록 요청할 수 있게 한다. 일부 실시예들에서, 무선 라디오 연결은 타겟 액세서리 디바이스(201)와 모바일 디바이스(102) 사이에 형성될 수 있고, 모바일 디바이스는 레인징 프로세스가 수행되도록 요청할 수 있다. 모바일 디바이스(102)가 타겟 액세서리 디바이스의 임계 범위 내에 있을 때(515), 레인징 프로세스는 타겟 무선 액세서리 디바이스(201)로부터의 거리 및 그로의 방향을 결정하기 위해 수행될 수 있다. 디바이스 위치파악 애플리케이션(204) 사용자 인터페이스에 대한 레인징 뷰가 제시될 수 있다(516). 레인징 뷰는 액세서리 디바이스(201)를 탐지하는 것을 돕기 위해 무선 타겟에 대한 방향 및 산출된 거리를 제공할 수 있다(518). 레인징 뷰는 선택적으로 근접 뷰와 함께, 그리고/또는 독립적으로 사용자 인터페이스(204) 내에서 제시될 수 있다. 디바이스 위치파악 애플리케이션(204) 사용자 인터페이스가 제시되어 액세서리 디바이스(201)가 발견되었는지 여부에 대해 사용자에게 질의할 수 있다(520).
도 6은 일 실시예에 따른, 타겟 디바이스의 타겟 위치 추정치를 생성하기 위해 레인징 및 포즈 추정들을 인에이블하는 시스템(600)을 예시한다. 일 실시예에서, 시스템(600)은 본 명세서에 설명된 바와 같이, 무선 제어기(630), iMU(612), 및 모바일 디바이스(102)의 애플리케이션 프로세서 상에서 실행되는 프레임워크들의 세트를 포함한다. 프레임워크들의 세트는 증강 현실(AR) 프레임워크(610) 및 센서 융합 프레임워크(611)를 포함할 수 있다. 무선 제어기(630)는 범위 측정들 (601)을 센서 프레임워크(611) 내의 보간기 로직(604)으로 전송할 수 있다. AR 프레임워크(610)는 IMU(612)로부터 센서 측정들(603)을 수신하고 모바일 디바이스(102)에 대한 포즈 추정치들(602)을 생성할 수 있다. 포즈 추정치들(602)은 센서 프레임워크(611) 내의 보간기 로직(604)으로 전송될 수 있다. 보간기 로직(604)은 범위 측정들(601) 및 포즈 추정치들(602)을 프로세싱하여 정렬된 포즈를 갖는 측정(605)을 생성할 수 있다. 보간기 로직(604)은 측정들 및 추정치들이 결정되었던 시간들에 기초하여 범위 측정들(601)과 포즈 추정치들(602)을 보간 및 정렬함으로써 정렬된 포즈를 갖는 측정(605)을 생성할 수 있다. 정렬된 포즈를 갖는 측정(605)은 추정기 로직(606)에 제공될 수 있다. 이어서, 추정기 로직(606)은 모바일 디바이스에 의한 사용을 위한 3차원 타겟 위치 추정치(607)를 생성할 수 있다. 이러한 타겟 위치 추정치는 위치 환경의 뷰들을 생성하기 위해 모바일 디바이스(102)에 의해 사용될 수 있다.
보간기 로직(604) 및 추정기 로직(606)은 삼차원 타겟 위치 추정치(607)의 정밀도를 향상시키기 위해 이상(anomalous) 데이터 및 센서 간섭을 극복하기 위한 다양한 알고리즘 기술들을 포함할 수 있다. 일 실시예에서, 시스템(600)은 시각 관성 주행 거리 측정(VIO)을 수행하기 위해 하나 이상의 카메라들을 통해 캡처된 이미지들로 IMU(612)로부터 수집된 관성 데이터를 융합할 수 있다. VIO 기술들은 이미지들의 시퀀스에 걸쳐 카메라 모션을 추정하기 위한 이미지들의 시퀀스의 분석을 포함한다. 동일한 기간에 걸쳐 캡처된 이미지 기반 카메라 모션 추정치 및 관성 측정들을 사용하여, 좌표계를 통한 모바일 디바이스의 모션이 추정되어 시스템(600)의 소프트웨어에 모바일 디바이스(102)(또는 임의의 탐지기 디바이스)의 위치와 3차원 좌표 공간 내에 위치될 타겟 디바이스 둘 모두를 추정하는 능력을 제공할 수 있다.
일 실시예에서, 타겟 위치 추정치는 비선형 최소 제곱(NLLS) 배치(batch) 필터를 사용하여 풀릴 수 있는 비선형 최소 제곱 문제의 형태를 취할 수 있다. 예를 들어, r i 가 시간 t i 에서의 범위 측정으로서 주어지고, p(t i )가 동시에 VIO 좌표계의 중심에 대한 포즈 추정치로서 주어지면, 비용 함수를 최소화하는 타겟 위치 x = [x y z]T가 결정될 수 있다:
사용된 특정 포즈 추정치는 모바일 디바이스 상의 무선 레인징 무선 안테나의 위치에 기초하거나 그에 대한 것일 수 있다. 대안적으로, 칼만 필터 또는 공간 점유 그리드-기반 접근법이 적용될 수 있다.
일 실시예에서, 일단 무선 디바이스에 대한 초기 타겟 위치가 3차원 좌표 공간 내에서 결정되면, 무선 디바이스(102)와 액세서리 디바이스(201) 사이의 업데이트된 범위 측정들의 부재 하에서도 무선 디바이스의 상대 타겟 위치는 AR 데이터를 사용하여 업데이트될 수 있다. 이러한 시나리오에서, 무선 레인징 동작들의 빈도는 타겟 디바이스(201) 및 모바일 디바이스(102)에 의한 전력 소비를 감소시키기 위해 스로틀링될 수 있다.
도 7은 디바이스 위치파악 애플리케이션(204)에 대해 근접 향상들이 인에이블될 수 있는 시스템(700)을 예시한다. 일 실시예는 위치파악될 아이템 또는 타겟 디바이스(201)에 근접한 위치 환경(708)에 있을 때 디바이스 위치파악 애플리케이션(204)의 기능을 향상시키기 위한 시스템(700)을 제공한다. 위치 환경(708)은 모바일 디바이스(102)(예컨대, 스마트폰, 웨어러블, 태블릿 등)를 포함할 수 있다. 모바일 디바이스(102)는 라디오(719)를 포함하는 무선 디바이스(101)와 무선으로 통신할 수 있다. 모바일 디바이스(102)는 또한 무선 디바이스(102) 내의 라디오(719)의 변형을 포함할 수 있다. 무선 디바이스(201)는 또한 모바일 디바이스일 수 있거나, 본 명세서에 설명된 바와 같은 무선 액세서리(201)일 수 있다.
디바이스들은, 무선 채널들을 스캐닝함으로써 서로 검출하고/하거나, 무선 채널들 상에서 비콘들 또는 비콘 프레임들을 송신 및 수신하고/하거나, (예를 들어, 접속 요청들을 송신함으로써) 연결들을 확립하고/하거나, 패킷들 또는 프레임들(이들은 페이로드들로서 요청 및/또는 추가 정보, 예컨대, 데이터를 포함할 수 있음)을 송신하고 수신함으로써 무선 통신 신호들(705)을 통해 무선으로 통신할 수 있다. 무선 통신 신호들(705)은 Wi-Fi 또는 블루투스와 같은, 그러나 이로 제한되지 않는 무선 통신 기술들에 순응하는 캐리어 신호들일 수 있다. 무선 통신에 더하여, 모바일 디바이스(102) 및 무선 디바이스(201)는 무선 레인징 신호들(706)을 사용하여 무선 레인징 동작들을 수행한다. 예를 들어, 무선 레인징 신호들은 본 명세서에 설명된 기술들을 사용하여 무선 디바이스(201)와 모바일 디바이스(102) 사이의 거리 및/또는 각도를 결정하는 데 사용될 수 있는 초광대역 신호들일 수 있다. 일 실시예에서, 무선 레인징 신호들(706)에 의해 제공되는 데이터는 무선 통신 신호들(705)의 RSSI와 같은 다른 메트릭들과 상관될 수 있다. 일 실시예에서, 모바일 디바이스(102) 및 무선 디바이스(201)의 통신 프로세서는 다수의 유형들의 무선 데이터에 기초하여 통합된 거리 및/또는 각도 추정치를 제공하기 위해 다수의 유형들의 레인징을 융합할 수 있다.
모바일 디바이스(102)는 위치 환경(708)의 맵 및/또는 뷰를 제시하는 디바이스 위치파악 UI(204)를 제공할 수 있다. 맵 및/또는 뷰는 무선 디바이스(201)의 가상 표현을 제시할 수 있다. 가상 표현은 모바일 디바이스(102)의 사용자에 의해 무선 디바이스(201)를 위치파악하는 프로세스를 간소화할 수 있다. 예를 들어, 무선 디바이스(201)의 검출된 위치를 가리키는 방향 표시자를 사용하는 것은 무선 디바이스(201)의 대략적인 위치를 탐지하는 프로세스를 단순화할 수 있다. 방향 표시자는 위치 환경(708)의 맵과 페어링될 수 있으며, 여기서 맵은 무선 디바이스(201)의 가상 표현을 포함할 수 있다. 무선 통신 신호들(705) 및/또는 레인징 신호들(706)을 포함하는 비콘 신호가 제시될 수 있도록 모바일 디바이스(102)가 무선 디바이스(201)에 근접할 때, 위치 환경(708)의 근접 뷰 및/또는 레인징 뷰가 제시될 수 있으며, 이는 사용자로 하여금 무선이 뷰로부터 은닉될 때 무선 디바이스(201)를 식별할 수 있게 할 수 있다.
하나의 시나리오에서, 무선 디바이스(201)는 아이템에 의해 은폐될 수 있다. 예를 들어, 아이템은 재킷 또는 다른 의류 물품일 수 있고, 무선 디바이스(201)는 아이템의 주머니 안에 있는 스마트폰 또는 태블릿 디바이스일 수 있다. 아이템 및 무선 디바이스(201)는 각각, 백팩, 보관함, 수하물 품목, 또는 사용자가 들을 수 있는 사운드를 재생하기 위해 무선 디바이스(201)에 의존하는 오디오-기반 위치 기술들의 효율을 감소시키는 다른 아이템과 같은 용기 내에 있을 수 있다.
다른 시나리오에서, 무선 디바이스(201)는 아이템에 부착된 비콘 주변장치 또는 위치파악 태그일 수 있다. 아이템을 탐지하기 위해, 사용자는 모바일 디바이스(102) 상의 디바이스 위치파악 UI(204)를 사용하여 무선 디바이스(201)를 탐지하여, 사용자가 무선 디바이스(201)가 부착된 아이템을 위치파악하게 할 수 있다. 본 명세서에 설명된 근접 향상들은 디바이스 위치파악 UI(204)를 증강시키는 데 사용되어, 사용자가 무선 디바이스(201)를 통해, 아이템이 용기 또는 다른 물리적 아이템에 의해 은폐될 수 있는 경우들에서 아이템의 위치를 신속하게 결정할 수 있게 할 수 있다.
일 실시예에서, 모바일 디바이스(102)는 (예컨대, 무선 통신 신호들(705)을 통해) 무선 디바이스(201)와 보안 무선 통신 연결(예컨대, 블루투스 연결)을 확립할 수 있고, 예를 들어 UWB 신호들일 수 있는 무선 레인징 신호들(706)을 사용하여 무선 디바이스(201)가 무선 레인징 프로세스를 시작하도록 명령할 수 있다. 무선 레인징 신호들(706)은 모바일 디바이스(102)가 무선 디바이스(201)에 대한 범위 및 각도들의 측정들을 수신할 수 있게 한다. 일부 실시예들에서, 모바일 디바이스(102)는 무선 디바이스(201) 탐지하는 데 도움을 주기 위해, 타겟 무선 디바이스(201)가 광고들을 (예컨대, 2s 마다에서 30 ms 마다로) 전송하는 속도를 증가시키도록 요청할 수 있다.
일 실시예에서, 보안 무선 통신 접속을 확립하기 전에 그리고/또는 확립된 무선 연결에 의해, 신호 강도 측정들은 수신된 광고들로부터 결정될 수 있고, 사용자를 무선 디바이스(201)로 지향시키는 데 도움을 줄 수 있다.
본 명세서에 설명된 실시예들에서, 무선 레인징은 임의의 표준 또는 독점적 레인징 기술, 또는 표준 및/또는 독점적 레인징 기술들의 임의의 조합을 이용하여 수행될 수 있다. 무선 레인징 동작은 디바이스들 사이(예컨대, 개시자와 응답자 사이)의 거리, 디바이스들 사이의 방향, 또는 양측 모두를 결정하도록 수행될 수 있다. 예를 들어, 전파 시간(Time of Flight, ToF)/도착 시간(Time of Arrival, ToA)은 디바이스들 사이의 하나 이상의 메시지들에 대해 결정될 수 있는데, 이들은 거리의 측정을 확립하는 데 이용될 수 있다. 하나 이상의 메시지들은 임의의 포맷을 가질 수 있고, 임의의 무선 프로토콜을 사용하여 송신될 수 있다. 일부 실시예들에서, ToF/ToA는 둘 이상의 메시지들의 양방향 교환을 사용하여 결정될 수 있다. 일부 실시예들에서, 레인징을 수행하는 데 이용되는 하나 이상의 메시지들은, 예컨대 콘텐츠의 적어도 일부분을 암호화 또는 달리 보호함으로써 보안될 수 있다. 또한, 일부 실시예들에서, 하나 이상의 무선 신호들의 소스의 방향은 도래각(Angle of Arrival, AoA)과 같은 기술을 이용하여 결정될 수 있다. 예를 들어, AoA 추정은 다수의 수신 요소들(예컨대, 안테나 어레이의 요소들)을 사용하여 수행되어, 신호의 도착 시간차(TDOA) 및/또는 도착 위상차(PDOA)를 측정할 수 있다. 추가로 또는 대안적으로, 일부 실시예들에서, 지향성이, 도플러 시프트를 측정하여 도착 주파수차(frequency difference of arrival, FDOA)를 확립함으로써 결정될 수 있다. 무선 레인징 기술들이 개별적으로 또는 조합하여 적용되어, 단일 레인징 동작을 수행하게 할 수 있다. 또한, 무선 레인징 기술들은 연속적인 또는 간헐적인 레인징과 같은 진행 중인 레인징 동작들을 수행하기 위해 개별적으로 또는 조합하여 적용될 수 있으며, 측정들의 이력이 범위 및/또는 방향에 기초하여 동작들을 수행할 시에 캡처되고 이용될 수 있다.
착신 측정들은 측정 잡음을 감소시키고 분실된 아이템의 추정된 위치를 안정화하도록 프로세싱될 수 있다. 일 실시예에서, 모바일 디바이스(102)는 디바이스 위치의 최상의 추정치에 도달하기 위해 측정들의 다수의 스트림들에 의존하는 센서 융합 기술을 사용할 수 있다. 예를 들어, 착신 범위 및/또는 각도 측정들은 모바일 디바이스(102)의 위치 및 배향 측정들과 융합될 수 있다. 위치 및 배향 측정들은, 카메라 데이터를 사용하여 IMU 및 컴퓨터 비전을 사용하여 디바이스 위치 및 배향을 결정하는 시각 관성 주행 거리 측정(VIO)을 사용하여 수집될 수 있다. VIO 데이터는 모바일 디바이스(102) 상의 소프트웨어가 디바이스의 이동 및 배향을 인식할 수 있게 한다. 무선 레인징 신호들(706)을 통해 결정된 범위 및/또는 각도 측정들과 VIO 데이터를 조합하는 것은 무선 디바이스의 가장 가능성 있는 위치의 추정을 가능하게 하고 사용자가 무선 디바이스(201)를 향해 지향될 수 있게 한다. 추가적으로, VIO 데이터를 무선 통신 신호들(705)을 통해 신호 강도 측정들과 조합하는 것은 근접 뷰로 그/또는 레인징 뷰와 조합하여 사용자를 무선 디바이스(201)로 지향시키는 것을 도울 수 있다. VIO 데이터는 다중 경로 신호 전파 효과들로 인해 하나 이상의 범위 또는 각도 측정들이 부정확할 수 있는 시나리오들에서 특히 유용할 수 있다.
분실된 아이템의 위치를 결정하기 위한 알고리즘은 디바이스 위치파악 UI(204)를 통해 액세스될 수 있다. 사용자가 아이템을 위치파악하려고 의도할 때, 사용자는 등록된 디바이스들의 목록으로부터 아이템을 선택하고 디바이스 위치파악 UI(204)를 통해 제시되는"탐지" 버튼을 선택할 수 있다. 다양한 실시예들에서, 다수의 사용자 인터페이스들이 제시될 수 있다. 일부 인터페이스들은 사용자를 탐지될 타겟 아이템 또는 디바이스로 안내하는 2차원 화살표를 갖는 2차원 나침반 유사 뷰와 비슷하다. 디바이스 위치파악 UI(204)의 근접 뷰 및/또는 근접 및 레인징 뷰의 조합은, 취했던 경로를 따라 제시되는 근접 표시자들로 사용자가 그들의 탐색 중에 취했던 궤적을 제시하는 것에 더하여, 사용자를 안내하는 화살표를 제공할 수 있다.
도 8은 일 실시예에서 디바이스 위치파악 사용자 인터페이스(204)를 위한 방법을 예시한 흐름도(800)이다. 하나 이상의 관성 변위 측정 값들은 수신된 관성 센서 데이터 및 수신된 카메라 센서 데이터를 사용하여 결정될 수 있다(802). 하나 이상의 관성 변위 측정들은 VIO를 사용하여 임의적인 2D 또는 3D 좌표계 내의 원점으로부터 결정된다. 일 실시예에서, 원점(예컨대, ([0,0,0] x, y, 및 z 축)은 사용자가 타겟 무선 디바이스(201)를 탐지하기 위해 프로세스를 개시하도록 선택할 때 확립된다. 타겟 무선 디바이스는 도 1 내지 도 3에 도시된 바와 같은 무선 액세서리 디바이스(201) 및/또는 무선 액세서리 디바이스(101)일 수 있다. 궤적은 수집된 하나 이상의 관성 변위 측정 값들에 기초하여 결정될 수 있다(804). 사용자가 위치 환경 내에서 이동함에 따라 수집된 원점으로부터의 변위 측정 값들 및 변위 측정들은 위치 환경 내에서 사용자에 의해 취해진 경로를 나타내기 위해 사용자 인터페이스(204) 내의 궤적을 플로팅하는 데 사용될 수 있다. 궤적은 사용자가 이미 취했던 경로에 대해 사용자에게 경고하기 위해 사용자 인터페이스 내에 제시될 수 있어서, 사용자는 이 정보를 사용하여 디바이스를 위치파악하기 위한 다른 루트들을 시도하거나 루트를 유지할 수 있다.
비콘 신호가 타겟 무선 디바이스(201)로부터 수신될 수 있다(806). 모바일 디바이스(102)는 무선 라디오 연결을 확립하기 전에 그리고/또는 타겟 무선 디바이스(201)가 모바일 디바이스(102)에 대한 무선 라디오 연결을 확립하는 동안 하나 이상의 광고들로 타겟 무선 디바이스(201)로부터 비콘 신호들을 수신할 수 있다. 모바일 디바이스(102)와 타겟 무선 디바이스(201) 사이에 양방향 통신이 확립되지 않을 수 있지만, 모바일 디바이스(102)에 의해 수신된 광고들은 타겟 무선 디바이스(201)에 대한 근접성을 결정하는 데 사용될 수 있다. 신호 강도 값은 수신된 비콘 신호로부터 결정될 수 있다(806). 신호 강도 값은 사용자가 궤적 상의 영역에 위치되는 동안 수신된 비콘 신호 내의 광고들로부터 결정된 신호 강도 측정 값들의 평균일 수 있다. 일부 실시예들에서, (예컨대, 시간에 따라 취해진 것과는 대조적으로) 영역에 걸쳐 취해진 신호 강도 값들의 평균은 페이딩(fading)의 효과들을 감소시킬 수 있다. 페이딩은 모바일 디바이스(102) 상의 무선 라디오 수신기에서 수신된 비콘 신호들이 신호 강도 값들의 감소(dip)를 동시에 야기할 때 발생한다. 대안적인 실시예들은 시간 경과에 따라 취해진 신호 강도 값의 평균을 사용할 수 있다. 타겟 무선 디바이스(201)에 대한 근접 값은 신호 강도 값들이 수신된 영역 내에서 궤적에 따른 위치에 대응하는 신호 강도 값들에 기초하여 추정될 수 있다(808).
타겟 무선 디바이스에 대한 근접 값의 표시자는 궤적을 따라 디스플레이될 수 있다(810). 신호 강도 값에 대한 정의된 카테고리는 궤적을 따른 영역에 대해 평균화된 하나 이상의 신호 강도 값들의 각각의 세트에 대해 결정될 수 있고, 근접 값의 표시자는 정의된 카테고리에 따라 제시될 수 있다. 예를 들어, 인접, 근처 및 원거리 카테고리들 및/또는 무선 액세서리 디바이스(201)에 대한 근접성에 대해 사용자에게 정보를 제공하는 임의의 다른 카테고리들을 지정하기 위해 버킷들의 세트 각각에 대해 값들의 범위가 정의될 수 있다. 시각적 표시자는, 마커, 특정 색상 또는 구배, 형상, 또는 사용자 인터페이스 상에 디스플레이될 수 있는 임의의 다른 시각적 표시를 포함하지만 이로 제한되지 않는 임의의 유형의 사용자 인터페이스 요소일 수 있다.
레인징 뷰, 신호 강도 근접 뷰, 및/또는 레인징 및 신호 강도 근접 뷰의 조합(도 21에 도시된 바와 같음)은 사용자 인터페이스 내에 선택적으로 제시될 수 있다(812). 예로서, 레인징 뷰는 무선 라디오 연결이 확립되었을 때에만 도시될 수 있다.
레인징 뷰
거리, 베어링, 및 범위 계산들의 성능 및 정확도는 다양한 알고리즘 접근법들을 사용하여 향상될 수 있다. 하나의 시나리오에서, 디바이스가 공간을 통해 타겟을 향한 궤적을 추적함에 따라, 디바이스는 타겟에 레인징할 때 다중 경로 신호 전파 효과들에 직면할 수 있다. 다중 경로 전파는 2개 이상의 경로들에 의해 수신 안테나에 도달하는 무선 신호들에 초래되는 현상이다. 다중 경로 전파는 타겟에 대한 가시선이 환경에서 장애물에 의해 가려지거나, 안테나 패턴이 가시선 신호를 심하게 감쇠시키거나, 사용자 자신이 신호를 차단하는 경우에 발생할 수 있다. 모바일 디바이스가 공간을 통해 타겟을 향한 궤적을 추적함에 따라, 타겟에 대한 측정된 범위는 궤적을 통해 이동된 거리와 함께 시간이 지남에 따라 진화할 수 있다. 이러한 진화 동안, 이상들 및 간섭이 발생할 수 있다.
때때로, 센서 데이터로부터 결정된 측정된 범위는 공간을 통해 이동된 거리보다 더 많이 급등하는 것으로 보일 수 있다. 일정 기간에 걸쳐 이동된 거리와는 상이한 측정된 범위의 갑작스런 증가는 다중 경로 조건들이 변경되었을 때를 결정하는 데 사용될 수 있다. 범위의 변화가 포지티브이고 이동된 거리보다 큰 경우, 다중 경로로 인한 측정에 대한 바이어스가 증가될 수 있다. 유사하게, 범위의 변화가 네거티브이고 이동된 거리보다 크기가 더 큰 경우, 다중 경로 구성 요소가 이전에 존재했을 가능성이 높으며 효과가 감소했다. 다중 경로 전파가 감소된 것으로 검출될 때, 잠재적 다중 간섭을 고려하기 위해 이전 측정들의 불확실성이 증가될 수 있다. 일 실시예에서, 다중 경로 측정들로서 간주되었던 이전 측정들은 이들 측정들과 연관된 가중치들을 0으로 설정함으로써 측정 이력으로부터 제거될 수 있다. 다중 경로 간섭이 증가된 것으로 검출될 때, 검출된 증가 후에 수신된 측정들은 유사하게 가중해제(de-weight)될 수 있거나 또는 그러한 측정들이 거부될 수 있다.
일 실시예에서, 범위 측정들은 시간의 경과로 인해 가중해제될 수 있다. 범위 측정들이 디바이스의 궤적에 걸쳐 수집됨에 따라, 타겟의 위치에 대한 솔루션이 과다 결정된다. 범위 측정들은 측정들이 시간이 경과되고/되거나 VIO 에러들이 누적됨에 따라 가중해제될 수 있다. 이동 타겟의 경우에, 시간의 함수로서인 범위 측정들의 분석이 특히 중요할 수 있는데, 그 이유는 범위 측정들의 시계열을 사용하여 임의의 하나의 레인징 동작과 연관된 각도 측정들에 의존하지 않으면서 디바이스에 대한 각도 측정을 결정할 수 있기 때문이다. 따라서, 더 오래된 측정들과 연관된 가중치들은 시간 함수에 기초하여 감쇠될 수 있다.
일 실시예에서, 범위 측정들은 측정된 및/또는 추정된 타겟까지의 거리로 인해 가중해제될 수 있다. 측정들이 추가 범위들을 나타냄에 따라, 다중경로 간섭의 가능성이 증가하고, 측정들은 덜 유용하게 된다. 솔루션이 형성됨에 따라, 측정이 형성된 각각의 위치까지의 추정된 거리가 계산될 수 있다. 그 거리에 기초하여, 측정은 재가중화(reweigh)될 수 있다. 추가적으로, 측정 자체는 범위이고, 측정 불확실성을 추론하는 데 사용될 수 있다.
일 실시예에서, 범위-전용 솔루션이 타겟이 디바이스의 시야에 있음을 나타낼 때 타겟 위치를 추가로 정제하기 위해 도래각 측정들이 사용될 수 있다. 디바이스에 대한 위치 솔루션은 단지 레인징 측정들만을 사용하여 형성될 수 있다(예컨대, 각도 측정들이 없음). 위치 솔루션을 고려하면, 타겟이 디바이스의 시야에 있을 때 각각의 각도 측정들이 모바일 디바이스로부터 이루어졌을 확률들이 계산될 수 있다. 확률이 임계치를 충족하는 경우, 각도 측정은 새로운 위치 솔루션을 형성하는 데 사용될 수 있다. 각도 측정의 사용은 디바이스 궤적이 대부분 단일 평면(예컨대, xy 평면)에 있음으로 인해 특히 z 축을 따른 범위 솔루션에 존재할 수 있는 모호성을 해결할 수 있다.
측정들이 위치 솔루션을 형성하는 데 사용된 후, 개별 기여 측정들의 측정 에러가 산출될 수 있다. 과잉 결정된 솔루션에서, 측정 에러들은 0이 아닐 것이고, 위치 고정(position fix)의 품질의 일부 표시를 제공할 것이다. 큰 오차들이 보이는 경우, 위치 고정의 신뢰도가 감소될 수 있다. 신뢰도에 대한 임계치는 위치가 사용자에게 도시되어야 하는지 여부를 결정하는 데 사용될 수 있다. 모든 측정들이 소량으로 불일치하는 것으로 나타나는 경우, 에러들은 위치의 불확실성을 증가시키는 데 사용될 수 있다.
도 9는 디바이스 위치파악 애플리케이션에 대한 근접 강화 사용자 인터페이스를 인에이블하는 방법(900)을 예시한다. 방법(900)은 무선 제어기에 의해 결정된 범위 측정들이 IMU로부터의 센서 데이터에 기초하여 결정된 포즈 추정치들과 융합되어 포즈 정렬된 측정들 및 3차원 또는 2차원 타겟 위치 추정치들을 생성하는 동작들을 포함한다. 일부 실시예들에서, 3차원 타겟 위치 추정치들은 위치파악될 타겟 디바이스 또는 아이템을 포함하는 위치 환경의 AR 뷰를 가능하게 하는데 사용될 수 있다. 무선 제어기에 의해 결정된 범위 측정들 및 IMU로부터의 센서 데이터에 기초하여 결정된 추정치들은 또한 2차원 타겟 위치 추정치들을 결정하는 데 사용될 수 있다. 방법(900)은 본 명세서에 설명된 바와 같이 모바일 디바이스(예컨대, 모바일 디바이스(102))에 의해 수행되어, 타겟 무선 액세서리 디바이스(예컨대, 무선 디바이스(101)) 또는 본 명세서에 설명된 타겟 무선 액세서리 디바이스(예컨대, 무선 액세서리 디바이스(201)), 또는 비콘 또는 위치파악 태그로 태깅된 아이템과 같은 무선 액세서리 디바이스(201)와 연관된 아이템을 위치파악할 수 있다.
일 실시예에서, 방법(900)은, 모바일 디바이스(102)에서, 타겟 무선 액세서리 디바이스의 지리적 위치를 선택적으로 수신하기 위한 동작들을 포함한다(901). 타겟 무선 액세서리 디바이스(201)에 대한 지리적 위치는 모바일 디바이스(102)의 사용자 계정에 액세스할 수 있는 모바일 디바이스(102)에 의해 결정된 위치, 또는 디바이스 위치파악 서버(203)로부터 수신된 위치일 수 있다.
이어서, 모바일 디바이스(102)는 모바일 디바이스(102)에 의해 실행되는 디바이스 위치파악 애플리케이션(204)의 인터페이스 상에 타겟 무선 액세서리 디바이스(201)에 대한 표시자를 제시할 수 있다(902). 표시자는 근처 환경의 맵 상의 타겟 무선 액세서리 디바이스의 위치를 보여주는 맵 표시자일 수 있다. 예를 들어, 도 17 내지 도 20에 도시된 바와 같이 맵 표시자를 갖는 맵이 제시될 수 있다. 타겟 무선 액세서리 디바이스(201)에 대한 거리 및 범위 측정은, 타겟 무선 액세서리 디바이스의 위치를 보여주는 맵 표시자와 함께 맵 상에 제시될 수 있다. 이어서, 모바일 디바이스(102)의 사용자는 타겟 무선 액세서리 디바이스(201)의 위치를 향해 이동할 수 있다.
모바일 디바이스(102)가 타겟 무선 액세서리 디바이스(201)의 임계 범위 내에 있을 때, 무선 액세서리 디바이스(201)는 하나 이상의 무선 레인징 동작들을 사용하여 타겟 무선 액세서리 디바이스(201)에 대한 범위 및/또는 방향을 결정할 수 있다(903). 하나 이상의 레인징 동작들은 연속적 또는 주기적 초광대역 레인징 동작들을 포함할 수 있다. 초광대역 레인징 동작들은 RSSI-기반 거리 결정들과 같은 다른 범위 결정 기술들과 함께 수행될 수 있다. 일 실시예에서, 초광대역 레인징 동작들은 교환된 레인징 패킷들이 암호화되는 보안 레인징 동작들이다. 일 실시예에서, 범위 및 방향 결정들 둘 모두는 하나 이상의 레인징 동작들에 기초하여 이루어질 수 있다. 일 실시예에서, 범위-전용 결정들이 이루어질 수 있고, 방향은 다수의 범위 측정들의 분석에 기초하여 결정될 수 있다. 범위 및 각도 측정들 둘 모두가 순간 무선 레인징 신호 분석에 기초하여 결정될 수 있는 경우, 결정된 각도 측정들의 정확도를 증가시키기 위해 범위 측정들의 이력이 사용될 수 있다.
이어서, 모바일 디바이스(102)는 모바일 디바이스(102) 내의 관성 측정 유닛으로부터 수신된 센서 데이터를 통해 모바일 디바이스(102)의 포즈를 결정할 수 있다(904). 관성 측정 유닛 데이터는 모바일 디바이스(102)의 포즈를 결정하기 위해 시스템에 의해 프로세싱될 수 있다. 포즈 데이터는 무선 레인징 센서들에 기초하여 타겟 무선 액세서리 디바이스(201)에 대해 이루어진 방향 결정들을 추가로 향상시키기 위해 사용될 수 있다.
이어서, 모바일 디바이스(102)는 범위, 방향, 및 포즈에 기초하여 타겟 무선 액세서리 디바이스(201)의 위치 추정치를 결정할 수 있다(905). 일 실시예에서, 타겟 무선 액세서리 디바이스(201) 및 모바일 디바이스(102)에 대해 결정된 특정 범위, 방향, 및 포즈는 무선 레인징 시스템으로부터의 센서 데이터와 모바일 디바이스(102)의 시스템의 융합에 기초하여 결정된다. 위치 추정치는 모바일 디바이스(102)에 대한 위치 또는 3D 및/또는 2D 좌표 공간 내의 절대 위치일 수 있다. 이어서, 모바일 디바이스(102)는 무선 액세서리 디바이스(201)의 위치 추정치를 포함하는 디바이스 위치파악 UI(204)를 생성 및 디스플레이할 수 있다(906). 예를 들어, 도 21에 도시된 바와 같이, 디바이스 위치파악 UI는 무선 액세서리 디바이스(201)에 대한 거리(2116) 및 방향 정보(2108)를 갖는 레인징 뷰일 수 있다. 도 21에 또한 도시된 근접 뷰는 신호 강도 측정들에 의해 결정된 바와 같이 타겟 무선 액세서리 디바이스(201)에 대한 근접성에 대한 시각적 표시자들을 갖는 2D 좌표 공간에 궤적을 제공한다.
도 10은 디바이스 위치파악 서버를 통해 무선 액세서리에 대한 위치를 결정하는 방법(1000)을 예시한다. 도 11은 디바이스 위치파악 서버를 통해 무선 액세서리에 대한 위치를 결정하는 추가적인 방법(1100)을 예시한다. 도 10에 도시된 바와 같이, 방법(1000)은 전자 디바이스가 디바이스 위치파악 UI를 개시하는 동작을 포함한다(1001). 디바이스 위치파악 UI를 개시하는 것에 응답하여, 본 명세서에 설명된 바와 같은 모바일 디바이스일 수 있는 전자 디바이스, 또는 모바일 전자 디바이스와 동일한 클라우드 서비스 계정과 연관된 다른 전자 디바이스는, 제1 기간 동안 무선 액세서리에 의해 브로드캐스트된 비콘 신호 내에 포함된 공개 키들의 세트를 생성하는 동작을 수행할 수 있다(1002). 제1 기간은, 예를 들어, 이전 24시간일 수 있다. 전자 디바이스는 무선 액세서리가 새로운 공개 키들을 생성할 빈도를 인식하고, 무선 액세서리로 생성된 공유 비밀을 사용하여, 제1 기간에 걸쳐 무선 액세서리에 의해 생성된 키들에 대응하는 공개 키들의 세트를 생성할 수 있다. 이어서, 전자 디바이스는 공개 키들의 세트에 대응하는 위치 데이터를 전송하도록 하는 디바이스 위치파악 서버에 대한 요청 내에서 공개 키들의 세트를 전송할 수 있다(1003). 일 실시예에서, 요청에 응답하여 서버에 의해 전송된 위치 데이터는 무선 액세서리의 비콘 식별자로서 송신된 공개 키를 사용하여 암호화될 것이다. 전자 디바이스는 무선 액세서리와의 초기 페어링 동안 생성된 개인 키를 사용하여 서버에 의해 수신된 암호화된 위치 데이터를 복호화할 수 있다(1004). 이어서, 전자 디바이스는 무선 액세서리에 대한 가장 높은 확률 위치를 결정하기 위해 위치 데이터를 프로세싱할 수 있다(1005). 일 실시예에서, 위치 데이터는 디바이스 그룹 내의 액세서리 디바이스들(201)에 대한 데이터를 포함할 수 있다.
위치 데이터를 프로세싱하는 것은 다양한 상이한 동작들을 포함할 수 있다. 일 실시예에서, 위치 데이터는 위치가 결정된 타임스탬프와 함께 위도 및 경도 정보를 포함한다. 전자 디바이스는 타임스탬프들에 기초하여 삼각측량하고 노이즈 또는 이상치 위치들을 제거할 수 있다. 일 실시예에서, 위치 데이터는 비콘을 검출한 탐지기 디바이스의 위치를 특정한다. 위치 데이터는 탐지기 디바이스에 의해 검출된 비콘에 대한 UWB 레인징 정보 및/또는 RSSI 정보를 더 포함할 수 있다. 전자 디바이스는 무선 액세서리에 대한 보다 정확한 위치를 개발하기 위해 디바이스 위치들과 관련하여 UWB 레인징 정보 및/또는 RSSI 정보를 분석할 수 있다. 탐지기 디바이스에 의해 송신될 수 있고 위치 프로세싱을 위해 사용될 수 있는 데이터가 도 12에 도시되고 아래에 설명된다.
도 11에 도시된 바와 같이, 방법(11)은, 디바이스 위치파악 서버가 요청에 응답하여 전자 디바이스에 제공할 위치 데이터를 갖지 않는 경우에 수행될 수 있는 동작들을 포함한다. 디바이스 그룹의 경우에, 전자 디바이스(예컨대, 모바일 디바이스(102))는 디바이스 그룹 내의 디바이스들에 대한 위치 데이터를 제공할 수 있다. 전자 디바이스는 제1 기간 동안 무선 액세서리에 의해 브로드캐스트된 비콘 신호 내에 포함된 공개 키들의 제1 세트를 생성할 수 있다(1101). 제1 기간은, 예를 들어, 24시간일 수 있지만, 다른 초기 탐색 기간이 사용될 수 있다. 전자 디바이스는 공개 키들의 제1 세트에 대응하는 위치 데이터를 전송하도록 디바이스 위치파악 서버에 요청하기 위한 후속 동작을 수행할 수 있다(1102). 데이터가 서버에 의해 반환되는 경우(1103, "예"), 전자 디바이스는 공개 키들의 세트에 대응하는 개인 키를 사용하여 서버로부터 수신된 위치 데이터를 복호화할 수 있다(블록 1109).
데이터가 서버에 의해 반환되지 않는 경우(1103, "아니오"), 전자 디바이스는 제2 기간 동안 무선 액세서리에 의해 브로드캐스트된 비콘 신호 내에 포함된 공개 키들의 제2 세트를 생성할 수 있다(1104). 제2 기간은 제1 기간 이전의 24시간, 48시간, 또는 다른 시간일 수 있다. 이어서, 전자 디바이스는 공개 키들의 제2 세트에 대응하는 데이터를 전송하도록 디바이스 위치파악 서버에 요청할 수 있다(1105). 요청에 응답하여, 데이터가 서버에 의해 반환되는 경우(1106, "예"), 방법(1100)은 블록(1109)으로 진행할 수 있고, 여기서 전자 디바이스는 수신된 데이터를 복호화한다. 데이터가 서버에 의해 반환되지 않거나(1106, "아니오"), 또는 서버가 데이터가 이용가능하지 않음을 나타내는 응답을 전송하는 경우, 방법(1100)은 전자 디바이스가 최대 기간에 도달할 때까지 계속해서 더 오래전 시간 기간들을 요청함으로써 검색 시간을 넓힐 수 있도록 포함한다(1107).
도 12는 일 실시예에 따른, 무선 액세서리에서 신호 비콘을 브로드캐스트하는 방법(1200)을 예시한 흐름도이다. 방법(1200)의 양태들은 또한 도 2 및 도 3에 예시되어 있다. 방법(1200)은 무선 액세서리가 공개 키를 유도하는 것을 포함한다(블록 1202). 공개 키는 공유 비밀, 및 무선 액세서리의 클록 또는 시간 기록 디바이스에 기초하여 결정된 타임스탬프에 기초하여 유도될 수 있다. 선택적으로, 무선 액세서리가 디바이스 그룹의 일부인지 여부에 대한 결정이 이루어진다(1204). 무선 액세서리가 디바이스 그룹의 일부인 경우, 디바이스 그룹 내의 다른 액세서리 디바이스들(201)에 대한 상태 정보 및/또는 검증가능한 정보가 비콘 신호에서 제공된다(1206). 무선 액세서리는 디바이스 그룹 내의 임의의 다른 무선 액세서리가 근접하고, (물리적으로 또는 무선으로) 연결되었는지 여부, 및/또는 디바이스 그룹(105) 내의 다른 무선 액세서리들에 대한 임의의 다른 정보와 같은 상태 정보 및/또는 검증가능한 정보를 나타낼 수 있다. 일 실시예에서, 비콘 신호에 포함된 비트들의 세트는 디바이스 그룹 내의 각각의 액세서리를 나타낼 수 있고, 부울 값(예컨대, 참(1) 또는 거짓(0))을 설정하는 것은 각자의 액세서리가 비콘 신호를 전송하는 액세서리 디바이스에 근접한지 그리고/또는 연결되어 있는지 여부를 나타낼 수 있다. 대안적으로, 무선 액세서리가 디바이스 그룹의 일부가 아닌 경우, 정보는 디바이스 그룹에 대해 제공되지 않는다(1204). 이어서, 무선 액세서리는 제1 주파수에서 비콘 신호를 송신할 수 있으며, 여기서 비콘 신호는 공개 키를 포함한다(1208). 제1 주파수는 변할 수 있고, 일 실시예에서 2초마다 하나의 비콘이다.
비콘 신호를 송신한 후, 무선 액세서리는 소유자 디바이스로부터의 응답을 청취할 수 있다(1210). 무선 신호가 소유자 디바이스로부터 응답을 수신하는 경우(1210, "예"), 무선 액세서리는 소유자-근처 상태에 진입할 수 있고(1212), 제2의 더 낮은 주파수에서 비콘 신호를 송신하기 시작할 수 있다(1216). 무선 액세서리가 소유자 디바이스로부터 응답을 수신하지 않는 경우(1210, "아니오"), 무선 액세서리는 제1 주파수에서 계속해서 비코닝할 수 있다(1214).
방법(1200)은 무선 디바이스가, 비코닝하는 동안, M분마다 공개 키를 회전시키는 단계를 추가로 포함하며, 여기서 M의 값이 실시예들에 걸쳐 그리고/또는 디바이스 상태에 기초하여 변할 수 있다. 타이머 만료, 카운터, 또는 다른 메커니즘에 기초하여, 무선 액세서리는 액세서리가 새로운 키 주기에 진입했는지 여부를 결정할 수 있다(1218). 무선 액세서리가 새로운 키 기간에 진입하지 않은 동안(1218, "아니오"), 액세서리는 현재 공개 키를 사용하여 계속해서 비코닝할 수 있다(1222). 무선 액세서리가 그것이 새로운 키 기간에 진입했음을 검출할 때(1218, "예"), 액세서리는 현재 타임스탬프를 사용하여 새로운 공개 키를 유도할 수 있다(1220). 일 실시예에서, 새로운 공개 키는 기존의 공개 키, 타임스탬프, 및 추적-방지 비밀을 사용하여 유도될 수 있다.
도 13 및 도 14는 본 명세서에 설명된 실시예들에 따른, 탐지기 디바이스에 의해 수행될 수 있는 방법(1300)의 동작들을 예시한다. 방법(1300)의 양태들은 또한 도 2 및 도 3에 예시되어 있다.
도 13에 도시된 바와 같이, 방법(1300)은 탐지기 디바이스의 애플리케이션 프로세서가 저전력 모드에 있는 동안 탐지기 디바이스가 무선 기저대역 프로세서를 사용하여 주기적 비콘 스캔을 수행하는 단계를 포함한다(1301). 비콘 스캔은 또한 애플리케이션 프로세서가 활성일 때 수행될 수 있지만, 비콘 스캔은, 탐지기 디바이스가 유휴, 비활성, 또는 그렇지 않으면 저전력 상태에 있는 동안 저전력 동작으로서 무선 프로세서 및 무선 라디오 수신기에 의해 수행될 수 있다. 탐지기 디바이스는 탐지기 디바이스에 의해 수신된 임의의 비콘 데이터에 대한 비콘 스캔 버퍼에 타임스탬프 및 비콘 식별자를 저장할 수 있다(1302). 비콘 식별자는, 일 실시예에서, 소유자의 모바일 디바이스로 생성된 공유 비밀 및 타임스탬프에 기초하여 무선 디바이스에 의해 생성되는 공개 키이다.
방법(1300)은 애플리케이션 프로세서가 저전력 모드에 있는 동안 탐지기 디바이스가 무선 프로세서를 사용하여 주기적인 Wi-Fi 스캔을 수행하는 단계를 추가로 포함한다(1303). Wi-Fi 스캔은 또한 애플리케이션 프로세서가 활성일 때 수행될 수 있지만, Wi-Fi 스캔은, 탐지기 디바이스가 유휴, 비활성, 또는 그렇지 않으면 저전력 상태에 있는 동안 저전력 동작으로서 무선 프로세서 및 무선 라디오 수신기에 의해 수행될 수 있다. 이어서, 탐지기 디바이스는 Wi-Fi 서비스 세트 식별자(service set identifier, SSID)들 및 스캔 타임스탬프들을 탐지기 디바이스 상의 Wi-Fi 스캔 버퍼에 저장할 수 있다(1304).
일 실시예에서, Wi-Fi 스캔 버퍼는 가장 최근에 검출된 SSID들을 저장하는 동시에 더 오래된 검출된 SSID들을 오버라이팅하는 롤링 버퍼이다. 일 실시예에서, 비콘 스캔 버퍼는 미리결정된 수의 엔트리들을 위한 공간을 갖는 고정-크기 버퍼일 수 있다. 탐지기 디바이스는 비콘 스캔 버퍼가 가득 찰 때 애플리케이션 프로세서를 웨이크할 수 있고(1305), 그러한 비콘 스캔을 Wi-Fi 스캔 버퍼에서 가장 최근에 검출된 SSID들과 상관시킬 수 있다. 비콘이 디바이스 그룹으로부터 비콘 신호가 수신되었음을 나타내는 경우(1306), Wi-Fi 스캔 버퍼 데이터에 기초하여 수신된 비콘들에 대응하는 디바이스 위치들의 세트가 디바이스 그룹으로부터의 비콘 신호들에 대해 수행될 수 있다(1310). 예를 들어, 비콘 신호가 디바이스 그룹(105)의 제1 액세서리 디바이스로부터 수신되고, 제1 액세서리 디바이스에 물리적으로 또는 무선으로 연결된 근접 디바이스들의 세트에 대한 정보를 포함하는 경우, 제1 액세서리 디바이스에 대한 최종 알려진 위치는 디바이스 그룹(105) 내의 각각의 근접 디바이스들 및 제1 액세서리 디바이스에 기인할/저장될 수 있다. 대안적으로, 그러한 상관은 탐지기 디바이스가 Wi-Fi 스캔 버퍼 데이터에 기초하여 수신된 비콘들에 대응하는 디바이스 위치들의 세트를 결정할 수 있게 할 수 있다(1308).
방법(1300)은 도 14에서 계속되고, 정제된 디바이스 위치들을 생성하기 위해, 탐지기 디바이스가, 다른 위치 데이터가 이용가능한 경우 Wi-Fi 스캔 버퍼 데이터로부터의 디바이스 위치들을 다른 위치 데이터와 상관시키는 단계를 포함한다(1407). 정제된 디바이스 위치들이 생성되는 경우, 탐지기 디바이스는 선택적으로 비콘 데이터를 정제된 디바이스 위치들과 조합할 수 있다(1408). 탐지기 디바이스는 또한 신호 강도(RSSI) 및/또는 레인징 데이터를 위치 데이터에 추가할 수 있다(1409). 신호 강도 및 레인징 데이터(예컨대, UWB 레인징 데이터)는 비콘 신호가 탐지기 디바이스에 의해 수신될 때 수집될 수 있다. 이어서, 탐지기 디바이스는 위치 데이터를 비콘 데이터 내에서 수신된 하나 이상의 공개 키들로 암호화할 수 있다(1410). 신호 및 레인징 데이터는 위치 데이터와 함께 암호화될 수 있거나, 암호화된 위치 데이터와 함께 암호화되지 않은 상태로 전송될 수 있다. 탐지기 디바이스는 디바이스 위치파악 서버로의 송신을 위해 암호화된 위치 데이터를 인큐잉(enqueue)할 수 있다(1411). 디바이스 위치파악 서버는 통신이 일반적으로 일괄 처리(batch)되고 스로틀링된 방식으로 수행되는 다수의 클라우드 서비스 서버들 중 하나일 수 있다. 암호화된 데이터의 일괄 처리는 송신 간격이 도달할 때까지 수집되고 송신 큐에 배치될 수 있고, 그 동안에 탐지기 디바이스는 데이터를 클라우드 서비스 서버들로 송신할 수 있다(1412).
도 15는 일 실시예에 따른, 탐지기 디바이스에 의한 신호 및 레인징 데이터의 수집을 예시한다. 일 실시예에서, 탐지기 디바이스(202)는 다수의 위치들(1502A 내지 1502N)에 걸쳐 무선 액세서리(201)로부터 수신된 비콘 신호(301)에 대한 신호 강도 정보(예컨대, RSSI(1504A 내지 1504N))를 수집할 수 있다. 탐지기 디바이스(202)는 또한 도 3의 탐지기 디바이스들(303)의 세트와 같은 다수의 탐지기 디바이스들을 표현할 수 있으며, 여기서 각각의 탐지기 디바이스는 상이한 위치에서 비콘 신호를 검출한다. 각각의 탐지기 디바이스(202)는 상이한 위치들 및 신호 강도들을 전송할 수 있고, 다수의 탐지기 디바이스들로부터 수신된 위치 및 신호 강도 데이터는 디바이스 위치파악 서버에 의해 집계될 것이다. 하나의 실시예에서, 탐지기 디바이스 및 무선 디바이스 각각이 UWB 라디오들을 포함하는 경우, 탐지기 디바이스 및 무선 디바이스가 UWB 송신들의 범위 내에 있으면 UWB 레인징(1506)이 수행될 수 있다. UWB 레인징 및 신호 강도 데이터는 탐지기 디바이스들에 대한 위치 데이터와 함께 디바이스 위치파악 서버로 송신될 수 있다.
소유자 디바이스는 위치 데이터와 함께 디바이스 위치파악 서버로부터 RSSI 및/또는 UWB 정보를 검색할 수 있으며, 이는 일 실시예에서 위치들이 결정된 타임스탬프들과 함께 위도 및 경도 정보의 형태로 제공된다. 이어서, 소유자 디바이스는 위치 데이터, 타임스탬프들, 및 신호 정보를 사용하여 무선 액세서리(201)에 대한 가장 가능성있는 위치를 삼각측량할 수 있다.
도 16 내지 도 21은 일 실시예에 따른 디바이스 위치파악 UI(204)를 예시한다. 도 16은 일 실시예에 따른 디바이스 위치파악 UI(204)의 제1 그래픽 사용자 인터페이스를 도시하며, 이는 사용자의 다양한 무선 액세서리들에 대한 통지를 도시한다. 디바이스 위치파악 UI(204)는 전자 디바이스(1600)의 홈 스크린(1601) 상에 분리 통지들(1602)의 제시를 야기할 수 있다. 도 17은 일 실시예에 따른 디바이스 위치파악 UI(204)의 제2 그래픽 사용자 인터페이스를 도시하며, 이는 뒤에 남겨진 액세서리 디바이스가 맵 상에서 보여지게 하거나, 신뢰된 위치를 추가하거나, 또는 아이템들에 대한 중단 통지들을 요청하는 것을 가능하게 한다.
도 18은 일 실시예에 따른 디바이스 위치파악 UI(204)의 제3 그래픽 사용자 인터페이스를 도시하며, 이는 디바이스 그룹 내의 디바이스들을 포함하는 액세서리 디바이스들(201)이 맵 상에서 발견될 수 있게 한다. 도 19는 일 실시예에 따른 디바이스 위치파악 UI(204)의 제4 그래픽 사용자 인터페이스를 도시하며, 이는 무선 액세서리가 분실 모드로 설정되거나 발견될 때 이를 통지할 수 있게 한다. 디바이스 위치파악 UI(204)는 모바일 디바이스(102) 또는 본 명세서에 설명된 임의의 다른 유형의 전자 디바이스일 수 있는 전자 디바이스 상에 디스플레이될 수 있다. 도 20은 일 실시예에 따른 디바이스 위치파악 UI(204)의 제5 그래픽 사용자 인터페이스를 도시하며, 이는 무선 액세서리가 신뢰된 위치들을 추가할 수 있게 한다. 도 21은 일 실시예에 따른 디바이스 위치파악 UI(203)의 제6 그래픽 사용자 인터페이스를 도시하며, 이는 신호 강도 측정들을 사용하여 근접 뷰를 가능하게 한다.
도 17에 도시된 바와 같이, 디바이스 위치파악 UI(204)는, 네트워크 또는 셀룰러 액세스를 갖는 무선 디바이스들 및 고유 네트워크 액세스가 없는 무선 액세서리들을 포함하는, 다수의 상이한 유형들의 디바이스들 및 액세서리들이 위치파악될 수 있게 하는 전자 디바이스(1700) 상의 통합형 그래픽 인터페이스를 제시할 수 있다. 디바이스 위치파악 UI(204)는 무선 액세서리 디바이스(201)의 현재 또는 최종 알려진 위치를 보여주는 마커(1705)를 갖는 맵(1704)을 포함할 수 있다. 마커(1705)는, 액세서리를 식별하고 액세서리에 대한 위치를 전달하는 아이콘, 이미지, 그래픽 또는 임의의 다른 사용자 인터페이스 요소일 수 있다. 디바이스 위치파악 UI(204) 내의 선택가능 요소(1707)는 특정 아이템들에 대해 통지되지 않도록 요청하기 위한 옵션을 제시할 수 있다. 디바이스 위치파악 UI(204) 내의 선택가능한 요소(1706)는 무선 디바이스 또는 액세서리의 설명 또는 명칭을 제시할 수 있고, 도 18에 도시된 바와 같이 무선 디바이스 또는 액세서리와 전자 디바이스(1800)의 현재 위치 사이의 추정된 거리를 도시할 수 있다.
도 18에 도시된 바와 같이, 디바이스 위치파악 UI(204)는 무선 액세서리가 전자 디바이스(1800)로부터의 거리뿐만 아니라 아이템(1803, 1805)을 볼 수 있게 하는 사용자 인터페이스를 제시할 수 있다. 일 실시예에서, 제3 사용자 인터페이스는 도 17에 도시된 선택가능한 요소(1706)의 선택에 응답하여 디스플레이될 수 있다. 제3 사용자 인터페이스는 해당 무선 액세서리를 표현하고/하거나 설명하는 사용자 인터페이스 요소(1802)뿐만 아니라, 무선 액세서리의 현재 또는 최종 알려진 위치를 보여주는 마커(1802) 및 맵(1801)을 제시할 수 있다.
도 19에 도시된 바와 같이, 디바이스 위치파악 UI(204)는 무선 액세서리가 분실 모드로 설정될 수 있게 하는 제4 그래픽 사용자 인터페이스를 제시할 수 있다. 일 실시예에서, 무선 액세서리가 디바이스 위치파악 UI(204)를 통해 위치파악될 수 없을 때, 맵(1901)은 액세서리에 대한 위치를 나타내는 마커를 디스플레이하지 않을 것이다. 디바이스 위치파악 UI(204)는 해당 무선 액세서리를 표현하고/하거나 설명하는 사용자 인터페이스 요소(1904) 및 선택가능한 사용자 인터페이스 요소들의 세트를 제시할 수 있다. 하나의 선택가능한 사용자 인터페이스 요소(1906)는 액세서리가 발견될 때 사용자에게 통지하기 위한 옵션을 제시할 수 있다. 발견될 때 통지하기가 인에이블될 때, 일 실시예에서, 무선 액세서리는 가벼운 분실 모드로 배치될 수 있다. 디바이스 위치파악 UI(204)와 연관된 전자 디바이스는, 무선 액세서리가 미래 시간 기간(예컨대, 다음 24시간, 다음 48시간 등) 동안 비콘 신호와 함께 브로드캐스트할 공개 키들의 세트를 생성할 수 있다. 미래 키들 중 하나를 사용하여 탐지기 디바이스에 의해 신호가 검출되는 경우, 디바이스 위치파악 서버는 사용자와 연관된 하나 이상의 전자 디바이스들에 통지할 수 있다.
다른 선택가능한 사용자 인터페이스 요소(1907)는 무선 액세서리를 명시적 분실 모드에 배치할 수 있다. 분실 모드로 명시적으로 배치될 때, 무선 액세서리는, 디바이스를 분실 모드로 배치하는 사용자 또는 소유자에 의해 액세서리가 잠금해제될 때까지, 다른 디바이스들과 페어링될 수 없을 것이다. 무선 액세서리를 분실 모드로 배치하기 위한 요청을 전송할 때, 분실된 액세서리에 대해 분실 모드가 개시되도록 요청 사용자가 요청하도록 인가되는 것을 보장하기 위해 요청 사용자는 인증 정보를 입력하도록 요구받을 수 있다. 인증 정보는 사용자, 전자 디바이스, 및 무선 액세서리가 연관되는 클라우드 서비스 계정과 같은 사용자의 계정과 연관된 사용자명 또는 패스워드를 포함할 수 있다. 인증 정보는 또한 지문 또는 얼굴 인식 데이터와 같은 생체측정 정보를 포함할 수 있다.
일 실시예에서, 분실된 무선 액세서리를 발견하는 사람에게 요청 사용자와 연락하는 방법에 관해 경보하기 위해, 요청 사용자에 의해 제공된 메시지 및 연락처 정보가 사용자 디바이스 상에 디스플레이될 수 있다. 일 실시예에서, 메시지 및 연락처 정보는, 다른 사용자가 다른 전자 디바이스를 분실된 액세서리와 페어링하려고 시도할 때 디스플레이될 수 있다.
도 20에 도시된 바와 같이, 디바이스 위치파악 UI(204)는 2004와 함께 맵 상에 도시된 알려진 위치(2006)의 지정이 선택가능한 요소(2003)의 선택으로 신뢰된 위치가 되는 것을 가능하게 하는 제5 그래픽 사용자 인터페이스를 전자 디바이스(2000)에 제시할 수 있다. 일 실시예에서, 제5 사용자 인터페이스는 도 17에 도시된 선택가능한 요소(1703)의 선택에 응답하여 디스플레이될 수 있다. 디바이스 위치파악 UI(204)는 해당 무선 액세서리를 표현하고/하거나 설명하는 사용자 인터페이스 요소(2005)를 제시할 수 있다.
도 21에 도시된 바와 같이, 디바이스 위치파악 UI(204)는 신호 강도 측정들을 사용하여 근접 뷰를 갖는 전자 디바이스(2100) 내의 제6 그래픽 사용자 인터페이스를 제시할 수 있다. "토미의 에어팟들"을 탐지하기 위한 근접 뷰(2124)는 사용자 인터페이스(204) 내의 궤적(2138)을 따라 다양한 위치들에 표시자들(2122, 2126, 2130, 2132, 2134, 2128)을 갖는다. 각각의 표시자는 사용자 인터페이스 내의 시각적 표시자에 대한 크기, 색상, 형상, 색상 구배, 음영, 패턴, 및/또는 임의의 다른 기술에 의해 타겟 무선 액세서리 디바이스(201)에 대한 근접성을 나타내는 사용자 인터페이스 요소일 수 있다. 표시자들은 사용자가 위치 환경을 통해 이동함에 따라 궤적(2138)을 따라 디스플레이될 수 있다. 예를 들어, 근접 뷰(2104)에서 표시자(2106)는 다른 표시자들에 비해 더 어두운 색상 및/또는 더 큰 크기로 표현되는 바와 같이, 사용자가 타겟 무선 액세서리 디바이스(201)를 탐지하기 위해 취했던 궤적(2138)을 따라 타겟 무선 액세서리 디바이스(201)에 가장 가깝다. 일부 실시예들에서, 사용자 인터페이스(204) 근접 뷰는 레인징 측정들을 사용하여 레인징 정보를 제시할 수 있고, 타겟 무선 액세서리 디바이스(201)의 방향 및 타겟 무선 액세서리 디바이스(201)까지의 거리(2136)를 표시하는 화살표(2128)를 제시할 수 있다. 다른 실시예들에서, 레인징 정보는 도 1b에 도시된 바와 같이 근접 표시자들(2122, 2126, 2130, 2132, 2134) 없이 별개의 사용자 인터페이스 내에 제시될 수 있다. 다른 실시예들에서, 궤적은 각각의 영역들에서 관찰된 신호 강도에 대한 근접 값들을 나타내기 위해 그리드 상에 플로팅된 궤적을 따른 색상들, 구배들, 음영, 및/또는 임의의 다른 마킹으로 지정된 그리드의 영역들로 이루어진 시각적 표시자들을 갖는, 육각형 그리드와 같은 그리드로 도시될 수 있다.
도 22는 본 발명의 일부 실시예들에서 사용될 수 있는 예시적인 API 아키텍처를 예시한 블록도이다. 도 22에 도시된 바와 같이, API 아키텍처(2200)는 API(2220)를 구현하는 API 구현 컴포넌트(2210)(예컨대, 운영 체제, 라이브러리, 디바이스 드라이버, API, 애플리케이션 프로그램, 소프트웨어 또는 다른 모듈)를 포함한다. API(2220)는 하나 이상의 함수들, 메소드들, 클래스들, 객체들, 프로토콜들, 데이터 구조들, 포맷들, 및/또는 API 호출 컴포넌트(2230)에 의해 사용될 수 있는 API 구현 컴포넌트의 다른 특징들을 특정한다. API(2220)는 API 구현 컴포넌트 내의 함수가 어떻게 API 호출 컴포넌트로부터 파라미터들을 받는지, 그리고 이 함수가 어떻게 API 호출 컴포넌트로 결과를 반환하는지를 특정하는 적어도 하나의 호출 규약(calling convention)을 특정할 수 있다. API 호출 컴포넌트(2230)(예컨대, 운영 체제, 라이브러리, 디바이스 드라이버, API, 애플리케이션 프로그램, 소프트웨어 또는 다른 모듈)는 API(2220)를 통해 API 호출을 행하여, API(2220)에 의해 특정되는 API 구현 컴포넌트(2210)의 특징들에 액세스하고 이를 사용한다. API 구현 컴포넌트(2210)는 API 호출에 응답하여 API(2220)를 통해 API 호출 컴포넌트(2230)로 값을 반환할 수 있다.
API 구현 컴포넌트(2210)가 API(2220)를 통해 특정되지 않고 API 호출 컴포넌트(2230)에 이용가능하지 않은 부가적인 함수들, 메소드들, 클래스들, 데이터 구조들, 및/또는 다른 특징들을 포함할 수 있음이 이해될 것이다. API 호출 컴포넌트(2230)가 API 구현 컴포넌트(2210)와 동일한 시스템 상에 있을 수 있거나, 원격으로 위치되어 네트워크를 통해 API(2220)를 사용하여 API 구현 컴포넌트(2210)에 액세스할 수 있다는 것을 이해해야 한다. 도 22가 API(2220)와 상호작용하는 단일 API 호출 컴포넌트(2230)를 예시하지만, API 호출 컴포넌트(2230)와는 상이한 언어(또는 동일한 언어)로 작성될 수 있는 다른 API 호출 컴포넌트들이 API(2220)를 사용할 수 있다는 것을 이해해야 한다.
API 구현 컴포넌트(2210), API(2220) 및 API 호출 컴포넌트(2230)는 기계(예컨대, 컴퓨터 또는 다른 데이터 프로세싱 시스템)에 의해 판독가능한 형태로 정보를 저장하기 위한 임의의 메커니즘을 포함하는 기계 판독가능 매체에 저장될 수 있다. 예를 들어, 기계 판독가능 매체는 자기 디스크, 광 디스크, 랜덤 액세스 메모리; 판독 전용 메모리, 플래시 메모리 디바이스 등을 포함한다.
도 23은 일 실시예에 따른, 모바일 또는 임베디드 디바이스에 대한 디바이스 아키텍처(2000)의 블록도이다. 디바이스 아키텍처(2300)는 메모리 인터페이스(2302), 하나 이상의 데이터 프로세서들을 포함하는 프로세싱 시스템(2304), 이미지 프로세서들 및/또는 그래픽 프로세싱 유닛들, 및 주변기기 인터페이스(2306)를 포함한다. 다양한 컴포넌트들은 하나 이상의 통신 버스들 또는 신호 라인들에 의해 결합될 수 있다. 다양한 컴포넌트들은 별개의 논리 컴포넌트들 또는 디바이스들일 수 있거나, 시스템 온 칩 집적 회로에서와 같이 하나 이상의 집적 회로들 내에 통합될 수 있다.
메모리 인터페이스(2302)는 메모리(2350)에 결합될 수 있는데, 메모리(2350)는 정적 랜덤 액세스 메모리(SRAM) 또는 동적 랜덤 액세스 메모리(DRAM)와 같은 고속 랜덤 액세스 메모리 및/또는 플래시 메모리(예컨대, NAND 플래시, NOR 플래시 등)와 같은 그러나 이로 제한되지 않는 비휘발성 메모리를 포함할 수 있다.
센서들, 디바이스들 및 서브시스템들은 다수의 기능들을 용이하게 하기 위해 주변기기 인터페이스(2306)에 결합될 수 있다. 예를 들어, 모션 센서(2310), 광 센서(2312) 및 근접 센서(2314)는 모바일 디바이스 기능성을 용이하게 하기 위하여 주변기기 인터페이스(2306)에 결합될 수 있다. 지문 인식을 위한 지문 스캐너 또는 얼굴 인식을 위한 이미지 센서와 같은 하나 이상의 생체측정 센서(들)(2315)가 또한 존재할 수 있다. 다른 센서들(2316)이 또한 포지셔닝 시스템(예컨대, GPS 수신기), 온도 센서, 또는 다른 감지 디바이스와 같은 주변기기 인터페이스(2306)에 연결되어 관련 기능들을 용이하게 할 수 있다. 카메라 서브시스템(2320) 및 광학 센서(2322), 예를 들어, CCD(charged coupled device) 또는 CMOS(complementary metal-oxide semiconductor) 광학 센서는, 사진들 및 비디오 클립들을 레코딩하는 것과 같은, 카메라 기능들을 용이하게 하기 위해 이용될 수 있다.
통신 기능들은 무선 주파수 수신기들과 송신기들 및/또는 광학(예컨대, 적외선) 수신기들과 송신기들을 포함할 수 있는, 하나 이상의 무선 통신 서브시스템들(2324)을 통해 용이하게 될 수 있다. 무선 통신 서브시스템들(2324)의 구체적인 설계 및 구현은 모바일 디바이스가 동작하도록 의도되어 있는 통신 네트워크(들)에 의존할 수 있다. 예를 들어, 예시된 디바이스 아키텍처(2300)를 포함하는 모바일 디바이스는 GSM 네트워크, CDMA 네트워크, LTE 네트워크, Wi-Fi 네트워크, 블루투스 네트워크, 또는 임의의 다른 무선 네트워크를 통해 동작하도록 설계된 무선 통신 서브시스템들(2324)을 포함할 수 있다. 특히, 무선 통신 서브시스템들(2324)은 통신 메커니즘을 제공할 수 있으며, 이를 통해 미디어 재생 애플리케이션이 원격 미디어 서버로부터 리소스들을 검색하거나 또는 원격 캘린더 또는 이벤트 서버로부터 스케줄링된 이벤트들을 검색할 수 있다.
오디오 서브시스템(2326)은 음성 인식, 음성 복제, 디지털 녹음, 및 전화통신 기능들과 같은 음성 지원 기능들을 용이하게 하기 위해 스피커(2328) 및 마이크로폰(2330)에 결합될 수 있다. 본 명세서에 설명된 스마트 미디어 디바이스들에서, 오디오 서브시스템(2326)은 가상 서라운드 사운드를 위한 지원을 포함하는 고품질 오디오 시스템일 수 있다.
I/O 서브시스템(2340)은 터치 스크린 제어기(2342) 및/또는 다른 입력 제어기(들)(2345)를 포함할 수 있다. 디스플레이 디바이스를 포함하는 컴퓨팅 디바이스들의 경우, 터치 스크린 제어기(2342)는 터치 감응형 디스플레이 시스템(2346)(예컨대, 터치 스크린)에 결합될 수 있다. 터치 감응형 디스플레이 시스템(2346)과 터치 스크린 제어기(2342)는, 예를 들어, 용량성, 저항성, 적외선, 및 표면 탄성파(surface acoustic wave) 기술들 뿐만 아니라, 터치 감응형 디스플레이 시스템(2346)과의 하나 이상의 접촉점들을 결정하기 위한 다른 근접 센서 어레이들 또는 다른 요소들을 포함하는(그러나 이에 제한되지 않음) 복수의 터치 및 압력 감지 기술들 중 임의의 기술을 사용하여 접촉 및 이동 및/또는 압력을 검출할 수 있다. 터치 감응형 디스플레이 시스템(2346)에 대한 디스플레이 출력은 디스플레이 제어기(2343)에 의해 생성될 수 있다. 일 실시예에서, 디스플레이 제어기(2343)는 터치 감응형 디스플레이 시스템(2346)에 가변 프레임 레이트로 프레임 데이터를 제공할 수 있다.
일 실시예에서, 모션 센서(2310), 광 센서(2312), 근접 센서(2314), 또는 다른 센서들(2316) 중 하나 이상으로부터 수신된 데이터를 모니터링, 제어, 및/또는 프로세싱하도록 센서 제어기(2344)가 포함된다. 센서 제어기(2344)는 센서들로부터의 센서 데이터의 분석에 의해 하나 이상의 모션 이벤트들 또는 활동들의 발생을 결정하도록 센서 데이터를 해석하기 위한 로직을 포함할 수 있다.
일 실시예에서, I/O 서브시스템(2340)은 다른 입력/제어 디바이스들(2348), 예를 들어 하나 이상의 버튼들, 로커 스위치(rocker switch)들, 지동륜(thumb-wheel)들, 적외선 포트, USB 포트, 및/또는 스타일러스와 같은 포인터 디바이스, 또는 스피커(2328) 및/또는 마이크로폰(2330)의 볼륨 제어를 위한 업/다운 버튼과 같은 제어 디바이스들에 결합될 수 있는 다른 입력 제어기(들)(2345)를 포함한다.
일 실시예에서, 메모리 인터페이스(2302)에 결합된 메모리(2350)는 휴대용 운영 체제 인터페이스(portable operating system interface, POSIX) 호환 및 비-호환 운영 체제 또는 임베디드 운영 체제를 포함하는 운영 체제(2352)에 대한 명령어들을 저장할 수 있다. 운영 체제(2352)는 기본 시스템 서비스들을 취급하고 하드웨어 의존형 태스크들을 수행하기 위한 명령어들을 포함할 수 있다. 일부 구현예들에서, 운영 체제(2352)는 커널일 수 있다.
메모리(2350)는 또한 예를 들어, 원격 웹 서버들로부터 웹 리소스들을 검색하기 위해 하나 이상의 부가적인 디바이스들, 하나 이상의 컴퓨터들 및/또는 하나 이상의 서버들과의 통신을 용이하게 하기 위한 통신 명령어들(2354)을 저장할 수 있다. 메모리(2350)는 또한 그래픽 사용자 인터페이스 프로세싱을 용이하게 하기 위한 그래픽 사용자 인터페이스 명령어들을 포함한 사용자 인터페이스 명령어들(2356)을 포함할 수 있다.
추가적으로, 메모리(2350)는 센서 관련 프로세싱 및 기능들을 용이하게 하기 위한 센서 프로세싱 명령어들(2358); 전화 관련 프로세스들 및 기능들을 용이하게 하기 위한 전화통신 명령어들(2360); 전자 메시징 관련 프로세스들 및 기능들을 용이하게 하기 위한 메시징 명령어들(2362); 웹 브라우징 관련 프로세스들 및 기능들을 용이하게 하기 위한 웹 브라우저 명령어들(2364); 미디어 프로세싱-관련 프로세스들 및 기능들을 용이하게 하기 위한 미디어 프로세싱 명령어들(2366); 위치 기반 기능성을 용이하게 하기 위한 GPS 및/또는 내비게이션 명령어들(2368) 및 Wi-Fi 기반 위치 명령어들을 포함하는 위치 서비스 명령어들; 카메라 관련 프로세스들 및 기능들을 용이하게 하기 위한 카메라 명령어들(2370); 및/또는 다른 프로세스들 및 기능들, 예를 들어, 보안 프로세스들 및 기능들, 및 시스템들에 관련된 프로세스들 및 기능들을 용이하게 하기 위한 다른 소프트웨어 명령어들(2372)을 저장할 수 있다. 메모리(2350)는 또한 기타 소프트웨어 명령어들, 예를 들어 웹 비디오 관련 프로세스들 및 기능들을 용이하게 하기 위한 웹 비디오 명령어들; 및/또는 웹 쇼핑 관련 프로세스들 및 기능들을 용이하게 하기 위한 웹 쇼핑 명령어들을 저장할 수 있다. 일부 구현예들에서, 미디어 프로세싱 명령어들(2366)은 오디오 프로세싱-관련 프로세스들 및 기능들 및 비디오 프로세싱-관련 프로세스들 및 기능들을 각각 용이하게 하기 위한 오디오 프로세싱 명령어들 및 비디오 프로세싱 명령어들로 나뉜다. IMEI(International Mobile Equipment Identity)(2374)와 같은 모바일 장비 식별자 또는 유사한 하드웨어 식별자가 또한 메모리(2350)에 저장될 수 있다.
위에 식별된 명령어들 및 애플리케이션들 각각은 위에서 설명된 하나 이상의 기능들을 수행하기 위한 명령어들의 세트에 대응할 수 있다. 이들 명령어들은 별개의 소프트웨어 프로그램들, 절차들, 또는 모듈들로서 구현될 필요는 없다. 메모리(2350)는 추가의 명령어들 또는 더 적은 수의 명령어들을 포함할 수 있다. 또한, 다양한 기능들은, 하나 이상의 신호 프로세싱 및/또는 ASIC(application specific integrated circuit)들을 포함하여, 하드웨어로 그리고/또는 소프트웨어로 구현될 수 있다.
도 24는 일 실시예에 따른 컴퓨팅 시스템(2400)의 블록도이다. 예시된 컴퓨팅 시스템(2400)은, 예를 들어, 데스크톱 컴퓨터 시스템, 랩톱 컴퓨터 시스템, 태블릿 컴퓨터 시스템, 셀룰러 전화기, 셀룰러-가능 PDA를 포함하는 개인 휴대 정보 단말기(PDA), 셋톱 박스, 엔터테인먼트 시스템 또는 다른 소비자 전자 디바이스들, 스마트 기기 디바이스, 또는 스마트 미디어 재생 디바이스의 하나 이상의 구현예들을 포함하는 다양한 컴퓨팅 시스템들(유선 또는 무선 중 어느 하나임)을 표현하도록 의도된다. 대안적인 컴퓨팅 시스템들은 더 많은, 더 적은 그리고/또는 상이한 컴포넌트들을 포함할 수 있다. 컴퓨팅 시스템(2400)은 컴퓨팅 디바이스 및/또는 컴퓨팅 디바이스가 연결될 수 있는 서버 디바이스를 제공하는 데 사용될 수 있다.
컴퓨팅 시스템(2400)은, 정보를 통신하기 위한 버스(2435) 또는 다른 통신 디바이스, 및 버스(2435)에 결합되고 정보를 프로세싱할 수 있는 프로세서(들)(2410)를 포함한다. 컴퓨팅 시스템(2400)이 단일 프로세서를 갖는 것으로 예시되지만, 컴퓨팅 시스템(2400)은 다수의 프로세서들 및/또는 코프로세서들을 포함할 수 있다. 컴퓨팅 시스템(2400)은 랜덤 액세스 메모리(RAM) 또는 버스(2435)에 결합된 다른 동적 저장 디바이스 형태의 메모리(2420)를 추가로 포함할 수 있다. 메모리(2420)는 프로세서(들)(2410)에 의해 실행될 수 있는 정보 및 명령어들을 저장할 수 있다. 메모리(2420)는 또한, 프로세서(들)(2410)에 의한 명령어들의 실행 동안 임시 변수들 또는 다른 중간 정보를 저장하는 데 사용되는 메인 메모리일 수 있다.
컴퓨팅 시스템(2400)은 또한, 버스(2435)에 결합되고, 프로세서(들)(2410)에 대한 정보 및 명령어들을 저장할 수 있는 판독 전용 메모리(ROM)(2430) 및/또는 다른 데이터 저장 디바이스(2440)를 포함할 수 있다. 데이터 저장 디바이스(2440)는 플래시 메모리 디바이스, 자기 디스크, 또는 광학 디스크와 같은 다양한 저장 디바이스들일 수 있거나 그를 포함할 수 있고, 버스(2435)를 통해 또는 원격 주변기기 인터페이스를 통해 컴퓨팅 시스템(2400)에 결합될 수 있다.
컴퓨팅 시스템(2400)은 또한 버스(2435)를 통해 디스플레이 디바이스(2450)에 결합되어, 사용자에게 정보를 디스플레이할 수 있다. 컴퓨팅 시스템(2400)은 또한, 정보 및 커맨드 선택들을 프로세서(들)(2410)에 통신하도록 버스(2435)에 결합될 수 있는 영숫자 및 다른 키들을 포함하는 영숫자 입력 디바이스(2460)를 포함할 수 있다. 다른 유형의 사용자 입력 디바이스는 방향 정보 및 커맨드 선택들을 프로세서(들)(2410)에 통신하고 디스플레이 디바이스(2450) 상에서의 커서 움직임을 제어하기 위한 터치패드, 마우스, 트랙볼, 또는 커서 방향 키들과 같은 커서 제어(2470) 디바이스를 포함한다. 컴퓨팅 시스템(2400)은 또한 하나 이상의 네트워크 인터페이스(들)(2480)을 통해 통신가능하게 결합되는 원격 디바이스로부터 사용자 입력을 수신할 수 있다.
컴퓨팅 시스템(2400)은 로컬 영역 네트워크와 같은 네트워크에 대한 액세스를 제공하기 위한 하나 이상의 네트워크 인터페이스(들)(2480)를 추가로 포함할 수 있다. 네트워크 인터페이스(들)(2480)는, 예를 들어, 하나 이상의 안테나(들)를 표현할 수 있는 안테나(2485)를 갖는 무선 네트워크 인터페이스를 포함할 수 있다. 컴퓨팅 시스템(2400)은 Wi-Fi, 블루투스®, 근거리 통신(NFC), 및/또는 셀룰러 전화통신 인터페이스들의 조합과 같은 다수의 무선 네트워크 인터페이스들을 포함할 수 있다. 예를 들어, 네트워크 인터페이스(들)(2480)는 또한, 예를 들어, 이더넷 케이블, 동축 케이블, 광섬유 케이블, 직렬 케이블, 또는 병렬 케이블일 수 있는 네트워크 케이블(2487)을 통해 원격 디바이스들과 통신하기 위한 유선 네트워크 인터페이스를 포함할 수 있다.
일 실시예에서, 네트워크 인터페이스(들)(2480)는, 예를 들어, IEEE 802.11 무선 표준들을 준수함으로써 로컬 영역 네트워크에 대한 액세스를 제공할 수 있고, 그리고/또는, 무선 네트워크 인터페이스는, 예를 들어, 블루투스 표준들을 준수함으로써 개인 영역 네트워크에 대한 액세스를 제공할 수 있다. 다른 무선 네트워크 인터페이스들 및/또는 프로토콜들이 또한 지원될 수 있다. 무선 LAN 표준들을 통한 통신에 부가하여 또는 그 대신, 네트워크 인터페이스(들)(2480)는, 예를 들어, 시분할 다중 액세스(TDMA) 프로토콜들, 모바일 통신들을 위한 글로벌 시스템(GSM) 프로토콜들, 코드 분할 다중 액세스(CDMA) 프로토콜들, 롱 텀 에볼루션(LTE) 프로토콜들, 및/또는 임의의 다른 유형의 무선 통신 프로토콜을 사용하여 무선 통신들을 제공할 수 있다.
컴퓨팅 시스템(2400)은 하나 이상의 에너지원들(2405) 및 하나 이상의 에너지 측정 시스템들(2445)을 추가로 포함할 수 있다. 에너지원들(2405)은 외부 전원에 결합된 AC/DC 어댑터, 하나 이상의 배터리들, 하나 이상의 전하 저장 디바이스들, USB 충전기, 또는 다른 에너지원을 포함할 수 있다. 에너지 측정 시스템들은 미리결정된 기간 동안 컴퓨팅 시스템(2400)에 의해 소비된 에너지를 측정할 수 있는 적어도 하나의 전압 또는 암페어수 측정 디바이스를 포함한다. 추가적으로, 예를 들어, 디스플레이 디바이스, 냉각 서브시스템, WiFi 서브시스템, 또는 다른 자주 사용되거나 높은-에너지 소비 서브시스템에 의해 소비된 에너지를 측정하는 하나 이상의 에너지 측정 시스템들이 포함될 수 있다.
실시예들이 구조적 특징들 및/또는 방법론적 동작들에 대해 특정한 표현으로 설명되었지만, 첨부된 청구항들이 반드시 설명된 특정 특징들 또는 동작들로 제한되지는 않는다는 것이 이해되어야 한다. 대신에, 개시된 특정 특징들 및 동작들은 예시하는 데 유용한 청구항들의 실시예들로서 이해되어야 한다.

Claims (20)

  1. 전자 디바이스로서,
    통신 라디오;
    관성 센서;
    카메라 센서;
    디스플레이 디바이스;
    명령어들을 저장하는 메모리; 및
    상기 명령어들을 실행하는 하나 이상의 프로세서들을 포함하고, 상기 명령어들은 상기 하나 이상의 프로세서들로 하여금,
    상기 관성 센서 및 수신된 카메라 센서 데이터를 사용하여 하나 이상의 관성 변위 측정 값들을 수신하고;
    상기 하나 이상의 관성 변위 측정 값들에 기초하여 궤적을 결정하고;
    타겟 무선 디바이스로부터 비콘 신호를 수신하고 상기 비콘 신호로부터 적어도 하나의 신호 강도 값을 결정하고;
    상기 궤적을 따른 적어도 하나의 위치에 대응하는 상기 적어도 하나의 신호 강도 값에 기초하여 상기 타겟 무선 디바이스에 대한 적어도 하나의 근접 값을 추정하고;
    사용자 인터페이스에서 상기 궤적을 따라 상기 타겟 무선 디바이스에 대한 상기 적어도 하나의 근접 값의 표시자를 제시하게 하는, 전자 디바이스.
  2. 제1항에 있어서, 상기 하나 이상의 프로세서들은 상기 명령어들을 실행하고, 상기 명령어들은, 추가로, 상기 하나 이상의 프로세서들로 하여금,
    신호 강도 값들에 대한 복수의 카테고리들로부터 카테고리를 결정하고;
    상기 결정된 카테고리에 따라 상기 근접 값의 상기 표시자를 제시하게 하는, 전자 디바이스.
  3. 제1항에 있어서, 상기 하나 이상의 프로세서들은 상기 명령어들을 실행하고, 상기 명령어들은, 추가로, 상기 하나 이상의 프로세서들로 하여금,
    상기 사용자 인터페이스 내의 상기 궤적을 따라 2차원 히트 맵(heat map) 상에 상기 근접 값의 상기 표시자를 제시하게 하는, 전자 디바이스.
  4. 제1항에 있어서, 상기 하나 이상의 프로세서들은 상기 명령어들을 실행하고, 상기 명령어들은, 추가로, 상기 하나 이상의 프로세서들로 하여금,
    육각형 그리드(hexagonal grid) 상에 상기 근접 값의 상기 표시자를 제시하게 하는, 전자 디바이스.
  5. 제1항에 있어서,
    레인징 센서(ranging sensor)를 포함하는 무선 제어기를 추가로 포함하고,
    상기 하나 이상의 프로세서들은 상기 명령어들을 실행하고, 상기 명령어들은, 추가로, 상기 하나 이상의 프로세서들로 하여금,
    레인징 뷰, 신호 강도 근접 뷰, 또는 레인징 및 신호 강도 근접 뷰 중 적어도 하나를 상기 사용자 인터페이스 내에 선택적으로 제시하게 하며, 상기 레인징 뷰를 제시하는 것은,
    양방향 레인징 동작 동안 상기 무선 제어기의 상기 레인징 센서를 통해 상기 타겟 무선 디바이스에 대한 범위 및 방향을 결정하는 것;
    상기 타겟 무선 디바이스에 대한 상기 범위 및 방향에 기초하여 상기 전자 디바이스에 대해 상기 타겟 무선 디바이스에 대한 타겟 위치 추정치를 결정하는 것을 포함하고,
    상기 레인징 뷰를 제시하는 것은, 상기 타겟 무선 디바이스에 대한 상기 타겟 위치 추정치 및 상기 타겟 무선 디바이스에 대한 상기 방향에 대한 표시자 중 적어도 하나를 디스플레이하는 것을 포함하는, 전자 디바이스.
  6. 제5항에 있어서, 상기 레인징 뷰를 제시하도록 선택하는 것은, 상기 타겟 무선 디바이스와의 무선 라디오 연결을 확립하는 것에 응답하여 수행되는, 전자 디바이스.
  7. 제1항에 있어서, 상기 하나 이상의 프로세서들은 상기 명령어들을 실행하고, 상기 명령어들은, 추가로, 상기 하나 이상의 프로세서들로 하여금,
    비코닝 레이트를 증가시키도록 상기 타겟 무선 디바이스에 요청하게 하는, 전자 디바이스.
  8. 제5항에 있어서, 상기 하나 이상의 무선 레인징 동작들은 초광대역 라디오를 통해 수행되는 레인징 동작을 포함하는, 전자 디바이스.
  9. 제5항에 있어서, 상기 신호 강도 근접 뷰 및 상기 레인징 뷰를 제시하는 것은, 상기 사용자 인터페이스에서 상기 궤적을 따라, 상기 타겟 무선 디바이스에 대한 상기 근접 값의 적어도 하나의 표시자 및 상기 타겟 무선 디바이스에 대한 상기 방향에 대한 상기 표시자를 제시하는 것을 포함하는, 전자 디바이스.
  10. 디바이스의 하나 이상의 프로세서들로 하여금 동작들을 수행하게 하는 명령어들을 저장하는 비일시적 기계 판독가능 매체로서, 상기 동작들은,
    상기 관성 센서 및 수신된 카메라 센서 데이터를 사용하여 하나 이상의 관성 변위 측정 값들을 수신하는 동작;
    상기 하나 이상의 관성 변위 측정 값들에 기초하여 궤적을 결정하는 동작;
    타겟 무선 디바이스로부터 비콘 신호를 수신하고 상기 비콘 신호로부터 적어도 하나의 신호 강도 값을 결정하는 동작;
    상기 궤적을 따른 적어도 하나의 위치에 대응하는 상기 적어도 하나의 신호 강도 값에 기초하여 상기 타겟 무선 디바이스에 대한 적어도 하나의 근접 값을 추정하는 동작; 및
    사용자 인터페이스에서 상기 궤적을 따라 상기 타겟 무선 디바이스에 상기 적어도 하나의 근접 값의 표시자를 제시하는 동작을 포함하는, 비일시적 기계 판독가능 매체.
  11. 제10항에 있어서, 상기 동작들은,
    신호 강도 값들에 대한 복수의 카테고리들로부터 카테고리를 결정하는 동작; 및
    상기 결정된 카테고리에 따라 상기 근접 값의 상기 표시자를 제시하는 동작을 추가로 포함하는, 비일시적 기계 판독가능 매체.
  12. 제10항에 있어서, 상기 동작들은,
    상기 사용자 인터페이스 내의 상기 궤적을 따라 2차원 히트 맵 상에 상기 근접 값의 상기 표시자를 제시하는 동작을 추가로 포함하는, 비일시적 기계 판독가능 매체.
  13. 제10항에 있어서, 상기 동작들은,
    육각형 그리드 상에 상기 근접 값의 상기 표시자를 제시하는 동작을 추가로 포함하는, 비일시적 기계 판독가능 매체.
  14. 제10항에 있어서, 상기 동작들은,
    레인징 뷰, 신호 강도 근접 뷰, 또는 레인징 및 신호 강도 근접 뷰 중 적어도 하나를 상기 사용자 인터페이스 내에 선택적으로 제시하는 동작을 추가로 포함하고, 상기 레인징 뷰를 제시하는 동작은,
    양방향 레인징 동작 동안 상기 무선 제어기의 상기 레인징 센서를 통해 상기 타겟 무선 디바이스에 대한 범위 및 방향을 결정하는 동작;
    상기 타겟 무선 디바이스에 대한 상기 범위 및 방향에 기초하여 상기 전자 디바이스에 대해 상기 타겟 무선 디바이스에 대한 타겟 위치 추정치를 결정하는 동작을 포함하고,
    상기 레인징 뷰를 제시하는 동작은, 상기 타겟 무선 디바이스에 대한 상기 타겟 위치 추정치 및 상기 타겟 무선 디바이스에 대한 상기 방향에 대한 표시자 중 적어도 하나를 디스플레이하는 동작을 포함하는, 비일시적 기계 판독가능 매체.
  15. 제14항에 있어서, 상기 레인징 뷰를 제시하도록 선택하는 동작은 상기 타겟 무선 디바이스와의 무선 라디오 연결을 확립하는 것에 응답하여 수행되는, 비일시적 기계 판독가능 매체.
  16. 제10항에 있어서, 상기 동작들은,
    비코닝 레이트를 증가시키도록 상기 타겟 무선 디바이스에 요청하는 동작을 추가로 포함하는, 비일시적 기계 판독가능 매체.
  17. 제14항에 있어서, 상기 하나 이상의 무선 레인징 동작들은 초광대역 라디오를 통해 수행되는 레인징 동작을 포함하는, 비일시적 기계 판독가능 매체.
  18. 제14항에 있어서, 상기 신호 강도 근접 뷰 및 상기 레인징 뷰를 제시하는 동작은, 상기 사용자 인터페이스에서 상기 궤적을 따라, 상기 타겟 무선 디바이스에 대한 상기 근접 값의 적어도 하나의 표시자 및 상기 타겟 무선 디바이스에 대한 상기 방향에 대한 상기 표시자를 제시하는 동작을 포함하는, 비일시적 기계 판독가능 매체.
  19. 방법으로서,
    상기 관성 센서 및 수신된 카메라 센서 데이터를 사용하여 하나 이상의 관성 변위 측정 값들을 수신하는 단계;
    상기 하나 이상의 관성 변위 측정 값들에 기초하여 궤적을 결정하는 단계;
    타겟 무선 디바이스로부터 비콘 신호를 수신하고 상기 비콘 신호로부터 적어도 하나의 신호 강도 값을 결정하는 단계;
    상기 궤적을 따른 적어도 하나의 위치에 대응하는 상기 적어도 하나의 신호 강도 값에 기초하여 상기 타겟 무선 디바이스에 대한 적어도 하나의 근접 값을 추정하는 단계; 및
    사용자 인터페이스에서 상기 궤적을 따라 상기 타겟 무선 디바이스에 대한 상기 적어도 하나의 근접 값의 표시자를 제시하는 단계를 포함하는, 방법.
  20. 제19항에 있어서,
    레인징 뷰, 신호 강도 근접 뷰, 또는 레인징 및 신호 강도 근접 뷰 중 적어도 하나를 상기 사용자 인터페이스 내에 선택적으로 제시하는 단계를 추가로 포함하고, 상기 레인징 뷰를 제시하는 단계는,
    양방향 레인징 동작 동안 상기 무선 제어기의 상기 레인징 센서를 통해 상기 타겟 무선 디바이스에 대한 범위 및 방향을 결정하는 단계;
    상기 타겟 무선 디바이스에 대한 상기 범위 및 방향에 기초하여 상기 전자 디바이스에 대해 상기 타겟 무선 디바이스에 대한 타겟 위치 추정치를 결정하는 단계를 포함하고,
    상기 레인징 뷰를 제시하는 단계는, 상기 타겟 무선 디바이스에 대한 상기 타겟 위치 추정치 및 상기 타겟 무선 디바이스에 대한 상기 방향에 대한 표시자 중 적어도 하나를 디스플레이하는 단계를 포함하는, 방법.
KR1020237041423A 2021-06-04 2022-06-01 디바이스 위치 탐지 KR102691009B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020247025462A KR20240122570A (ko) 2021-06-04 2022-06-01 디바이스 위치 탐지

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202163197228P 2021-06-04 2021-06-04
US63/197,228 2021-06-04
US17/543,421 US20220394660A1 (en) 2021-06-04 2021-12-06 Device Location Finding
US17/543,421 2021-12-06
PCT/US2022/031819 WO2022256438A1 (en) 2021-06-04 2022-06-01 Device location finding

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020247025462A Division KR20240122570A (ko) 2021-06-04 2022-06-01 디바이스 위치 탐지

Publications (2)

Publication Number Publication Date
KR20230173205A true KR20230173205A (ko) 2023-12-26
KR102691009B1 KR102691009B1 (ko) 2024-08-05

Family

ID=82016198

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020237041423A KR102691009B1 (ko) 2021-06-04 2022-06-01 디바이스 위치 탐지
KR1020247025462A KR20240122570A (ko) 2021-06-04 2022-06-01 디바이스 위치 탐지

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020247025462A KR20240122570A (ko) 2021-06-04 2022-06-01 디바이스 위치 탐지

Country Status (6)

Country Link
US (1) US20220394660A1 (ko)
EP (1) EP4099727A1 (ko)
JP (1) JP2024521935A (ko)
KR (2) KR102691009B1 (ko)
CN (1) CN115442884A (ko)
WO (1) WO2022256438A1 (ko)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9779596B2 (en) 2012-10-24 2017-10-03 Apple Inc. Devices and methods for locating accessories of an electronic device
US11641563B2 (en) 2018-09-28 2023-05-02 Apple Inc. System and method for locating wireless accessories
EP3957089A1 (en) * 2019-04-17 2022-02-23 Apple Inc. Sharing keys for a wireless accessory
US12073705B2 (en) 2021-05-07 2024-08-27 Apple Inc. Separation alerts for notification while traveling
US12004046B2 (en) 2021-09-13 2024-06-04 Motorola Mobility Llc Object tracking based on UWB tags
US12069120B2 (en) 2021-11-29 2024-08-20 Motorola Mobility Llc Digital media playback based on UWB radios
US11990012B2 (en) 2021-11-29 2024-05-21 Motorola Mobility Llc Object contextual control based on UWB radios
US12063059B2 (en) * 2022-01-20 2024-08-13 Motorola Mobility Llc UWB accessory for a wireless device
US20240129690A1 (en) * 2022-09-22 2024-04-18 Apple Inc. Distributed Device Location Finding
WO2024173279A1 (en) * 2023-02-13 2024-08-22 Apple Inc. Find my using delegated location
EP4425213A1 (en) * 2023-03-02 2024-09-04 Nxp B.V. Communication devices and operating methods
US11852713B1 (en) 2023-03-23 2023-12-26 Link Labs, Inc. Real-time location system using dual wireless communications protocols in a time difference of arrival framework for ranging between nodes
US12078713B1 (en) 2023-03-23 2024-09-03 Link Labs, Inc. Real-time location system using sequenced wireless communications protocols for scheduling timings of node synchronization and time difference of arrival ranging between nodes
US11877233B1 (en) * 2023-03-23 2024-01-16 Link Labs, Inc. Real-time location system for selectively coordinating operative wireless communications protocols when ranging between supporting nodes

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6414629B1 (en) * 2001-04-19 2002-07-02 Tektrack, Llc Tracking device
KR100866487B1 (ko) * 2007-01-03 2008-11-03 삼성전자주식회사 사용자 행적 추적 장치 및 방법
US8848924B2 (en) * 2008-06-27 2014-09-30 University Of Washington Privacy-preserving location tracking for devices
US10111032B2 (en) * 2015-11-11 2018-10-23 Tile, Inc. Location history access for lost tracking device
US11641563B2 (en) * 2018-09-28 2023-05-02 Apple Inc. System and method for locating wireless accessories
WO2020214708A1 (en) * 2019-04-17 2020-10-22 Prestacom Services Llc Finding a target device using augmented reality

Also Published As

Publication number Publication date
KR20240122570A (ko) 2024-08-12
EP4099727A1 (en) 2022-12-07
JP2024521935A (ja) 2024-06-04
WO2022256438A1 (en) 2022-12-08
CN115442884A (zh) 2022-12-06
KR102691009B1 (ko) 2024-08-05
US20220394660A1 (en) 2022-12-08

Similar Documents

Publication Publication Date Title
KR102691009B1 (ko) 디바이스 위치 탐지
US20220201428A1 (en) Proximity Enhanced Location Query
KR102447351B1 (ko) 전자 디바이스들 및 연관된 무선 액세서리들의 위치파악
US20220394428A1 (en) Pairing Groups of Accessories
US20230328635A1 (en) Non-Waking Maintenance of Near Owner State
US20240129690A1 (en) Distributed Device Location Finding
US20230379994A1 (en) Pairing Groups of Accessories
US12073705B2 (en) Separation alerts for notification while traveling
US20240276177A1 (en) Find My using Delegated Location
WO2024173279A1 (en) Find my using delegated location
WO2023200693A1 (en) Non-waking maintenance of near owner state
KR20240154681A (ko) 전자 디바이스들 및 연관된 무선 액세서리들의 위치파악

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant