KR102579275B1 - 전자 디바이스들 및 연관된 무선 액세서리들의 위치파악 - Google Patents

전자 디바이스들 및 연관된 무선 액세서리들의 위치파악 Download PDF

Info

Publication number
KR102579275B1
KR102579275B1 KR1020227018524A KR20227018524A KR102579275B1 KR 102579275 B1 KR102579275 B1 KR 102579275B1 KR 1020227018524 A KR1020227018524 A KR 1020227018524A KR 20227018524 A KR20227018524 A KR 20227018524A KR 102579275 B1 KR102579275 B1 KR 102579275B1
Authority
KR
South Korea
Prior art keywords
location
wireless
data
wireless accessory
beacon
Prior art date
Application number
KR1020227018524A
Other languages
English (en)
Other versions
KR20220079702A (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 KR1020237020350A priority Critical patent/KR20230098353A/ko
Publication of KR20220079702A publication Critical patent/KR20220079702A/ko
Application granted granted Critical
Publication of KR102579275B1 publication Critical patent/KR102579275B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W64/00Locating users or terminals or network equipment for network management purposes, e.g. mobility management
    • 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
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/50Secure pairing of devices
    • 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/04Details
    • G01S1/045Receivers
    • 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
    • G01S11/00Systems for determining distance or velocity not using reflection or reradiation
    • G01S11/02Systems for determining distance or velocity not using reflection or reradiation using radio waves
    • G01S11/06Systems for determining distance or velocity not using reflection or reradiation using radio waves using intensity measurements
    • 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/0009Transmission of position information to remote stations
    • G01S5/0018Transmission from mobile station to base station
    • G01S5/0036Transmission from mobile station to base station of measured values, i.e. measurement on mobile and position calculation on base station
    • 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/0009Transmission of position information to remote stations
    • G01S5/0045Transmission from base station to mobile station
    • 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
    • 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/0284Relative positioning
    • 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/0295Proximity-based methods, e.g. position inferred from reception of particular signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/03Protecting confidentiality, e.g. by encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • H04W12/041Key generation or derivation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/10Integrity
    • H04W12/104Location integrity, e.g. secure geotagging
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/12Detection or prevention of fraud
    • H04W12/126Anti-theft arrangements, e.g. protection against subscriber identity module [SIM] cloning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/60Context-dependent security
    • H04W12/63Location-dependent; Proximity-dependent
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/06Selective distribution of broadcast services, e.g. multimedia broadcast multicast service [MBMS]; Services to user groups; One-way selective calling services
    • 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/14Determining absolute distances from a plurality of spaced points of known location
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/30Security of mobile devices; Security of mobile applications
    • H04W12/33Security of mobile devices; Security of mobile applications using wearable devices, e.g. using a smartwatch or smart-glasses
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/18Information format or content conversion, e.g. adaptation by the network of the transmitted or received information for the purpose of wireless delivery to users or terminals
    • H04W4/185Information format or content conversion, e.g. adaptation by the network of the transmitted or received information for the purpose of wireless delivery to users or terminals by embedding added-value information into content, e.g. geo-tagging
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • H04W76/14Direct-mode setup
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/20Manipulation of established connections
    • H04W76/27Transitions between radio resource control [RRC] states
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/005Discovery of network devices, e.g. terminals

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Radar, Positioning & Navigation (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Remote Sensing (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephone Function (AREA)
  • Telephonic Communication Services (AREA)

Abstract

본 명세서에 설명된 실시예들은 광역 네트워크에 대한 연결이 없는 무선 디바이스들 및 액세서리들의 위치를 크라우드소싱하기 위한 시스템 및 방법들을 제공한다. 일 실시예는 전자 디바이스 상에 사용자 인터페이스를 로딩하는 것 - 사용자 인터페이스는 전자 디바이스와 연관된 무선 액세서리의 위치의 결정을 인에이블하기 위한 것임 -, 무선 액세서리에 의해 브로드캐스트되는 신호 내에 포함된 공개 키들의 세트를 생성하는 것 - 신호는 제1 기간 동안 브로드캐스트됨 -, 공개 키들의 세트 내의 공개 키에 대응하는 데이터를 반환하라는 요청과 함께 공개 키들의 세트를 서버로 전송하는 것, 공개 키와 연관된 개인 키를 사용하여 위치 데이터를 복호화하는 것, 및 무선 액세서리에 대한 가능성있는 위치를 결정하기 위해 위치 데이터를 프로세싱하는 것을 포함하는 동작들을 수행하도록 구성된 데이터 프로세싱 시스템을 제공한다.

Description

전자 디바이스들 및 연관된 무선 액세서리들의 위치파악{LOCATING ELECTRONIC DEVICES AND ASSOCIATED WIRELESS ACCESSORIES}
상호 참조
본 출원은 2019년 8월 16일자로 출원된 미국 특허 출원 제16/543,227호, 및 2018년 9월 28일자로 출원된 미국 가출원 제62/738,983호에 대한 우선권을 주장하며, 이 둘 모두는 본 명세서에 참조로서 포함된다.
기술분야
본 명세서에 설명된 실시예들은 일반적으로 무선 디바이스들 및 액세서리들을 위치파악하는 시스템 및 방법에 관한 것이다. 보다 구체적으로, 실시예들은 광역 네트워크에 연결되지 않은 무선 디바이스들 및 액세서리들의 위치를 크라우드소싱하는 것에 관한 것이다.
핸드헬드 및 휴대용 제품들에서의 현재 보안 특징들은, 제품이 분실 또는 도난되는 경우에서와 같이, 사용자에 의해 요청될 때 제품의 위치가 식별될 수 있게 한다. 무선 디바이스가 포지셔닝 기술을 포함하는 경우, 디바이스는 그의 마지막 위치를 서버 컴퓨터에 보고하도록 구성될 수 있으며, 이는 사용자에게 제시되는 지도 상에 서비스에 의해 디스플레이된다. 종종 무선 디바이스들은, 그들의 위치를 결정할 수 없고 광역 네트워크를 통해 원격 추적 서비스들과 통신할 수 없는 무선 액세서리 디바이스들과 함께 사용된다. 이러한 액세서리 디바이스들은, 예를 들어, 피어-투-피어 통신을 사용하여 무선 디바이스와 직접 통신하는 무선 이어버드, 헤드폰, 헤드셋 및 다른 웨어러블 디바이스(예를 들어, 스마트워치, 피트니스 밴드, 광학 헤드 마운트 디스플레이)를 포함할 수 있다. 그들의 위치를 결정할 수 없고 원격 추적 서비스와 통신할 수 없는 무선 액세서리 디바이스들의 경우, 그들 디바이스들은 분실 또는 도난될 때 서비스에 의해 추적될 수 없다.
본 명세서에 설명된 실시예들은 광역 네트워크에 대한 연결이 없는 무선 디바이스들 및 액세서리들의 위치를 크라우드소싱하기 위한 시스템 및 방법들을 제공한다. 일 실시예는 전자 디바이스 상에 사용자 인터페이스를 로딩하는 것 - 사용자 인터페이스는 전자 디바이스와 연관된 무선 액세서리의 위치의 결정을 인에이블하기 위한 것임 -, 무선 액세서리에 의해 브로드캐스트되는 신호 내에 포함된 공개 키들의 세트를 생성하는 것 - 신호는 제1 기간 동안 브로드캐스트됨 -, 공개 키들의 세트 내의 공개 키에 대응하는 데이터를 반환하라는 요청과 함께 공개 키들의 세트를 서버로 전송하는 것, 공개 키와 연관된 개인 키를 사용하여 위치 데이터를 복호화하는 것, 및 무선 액세서리에 대한 가능성있는 위치(probable location)를 결정하기 위해 위치 데이터를 프로세싱하는 것을 포함하는 동작들을 수행하도록 구성된 데이터 프로세싱 시스템을 제공한다.
일 실시예는 실행을 위한 명령어들을 저장하는 메모리 및 메모리에 저장된 명령어들을 실행하는 하나 이상의 프로세서들을 포함하는 데이터 프로세싱 시스템을 제공한다. 명령어들은, 실행될 때 하나 이상의 프로세서들로 하여금, 데이터 프로세싱 시스템을 포함하는 전자 디바이스 상에 사용자 인터페이스를 로딩하고 - 사용자 인터페이스는 전자 디바이스와 연관된 무선 액세서리의 위치의 결정을 인에이블하기 위한 것임 -, 무선 액세서리에 의해 브로드캐스트되는 신호 내에 포함된 공개 키들의 세트를 생성하고 - 신호는 제1 기간 동안 브로드캐스트됨 -, 공개 키들의 세트 내의 공개 키에 대응하는 데이터를 반환하라는 요청과 함께 공개 키들의 세트를 서버로 전송하고, 서버로부터의 위치 데이터의 수신에 응답하여 공개 키와 연관된 개인 키를 사용하여 위치 데이터를 복호화하고, 무선 액세서리에 대한 가능성있는 위치를 결정하기 위해 위치 데이터를 프로세싱하게 한다.
일 실시예는 전자 디바이스 상에서 구현되는 방법을 제공하며, 본 방법은 전자 디바이스의 기저대역 프로세서를 사용하여 비콘 스캔을 수행하는 단계를 포함한다. 비콘 스캔은 전자 디바이스의 애플리케이션 프로세서가 저전력 상태에 있는 동안 수행될 수 있다. 본 방법은 기저대역 프로세서에 결합된 무선 라디오(wireless radio)를 통해 비콘 데이터를 수신하는 단계를 추가로 포함하며, 비콘 데이터는 무선 액세서리를 식별하기 위한 것이다. 비콘 식별자는 무선 액세서리에 의해 생성된 공개 키일 수 있다. 본 방법은 타임스탬프 및 비콘 식별자를 비콘 스캔 버퍼에 저장하는 단계, 전자 디바이스의 애플리케이션 프로세서가 활성 상태에 있을 때 타임스탬프에 대응하는 전자 디바이스에 대한 위치를 결정하는 단계, 무선 액세서리에 대한 비콘 식별자를 사용하여 전자 디바이스에 대한 위치를 암호화하는 단계, 및 암호화된 위치 데이터, 비콘 식별자, 및 타임스탬프를 서버 디바이스로 송신하는 단계를 추가로 포함하며, 서버는 무선 액세서리와 연관된 전자 디바이스에 의한 검색을 위해 암호화된 위치 데이터를 저장하기 위한 것이다.
상기 발명의 내용은 본 개시내용에서의 모든 실시예들의 총망라한 목록을 포함하는 것은 아니다. 모든 시스템들 및 방법들은 위에서 요약된 다양한 양태들 및 실시예들의 모든 적합한 조합들, 및 또한 하기의 발명을 실시하기 위한 구체적인 내용에 개시된 것들로부터 실시될 수 있다.
본 발명이 첨부 도면의 도면들에 제한이 아닌 예로서 예시되며, 도면에서 유사한 도면 부호는 유사한 요소를 지시한다.
도 1은 일 실시예에 따른, 모바일 디바이스들에 대한 네트워크 동작 환경의 블록도이다.
도 2는 일 실시예에 따른, 광역 네트워크에 대한 액세스가 없는 무선 액세서리를 위치파악하기 위한 시스템을 예시한다.
도 3은 본 명세서에 설명된 실시예들에 따른, 무선 액세서리를 페어링하고 위치파악하기 위한 시스템을 예시한다.
도 4a 내지 도 4c는 본 명세서에 설명된 디바이스 위치파악 시스템(device locator system)들과 함께 사용하기 위한 방법들을 예시하는 흐름도들이다.
도 5는 일 실시예에 따른, 무선 액세서리에서 신호 비콘을 브로드캐스트하는 방법을 예시하는 흐름도이다.
도 6a 및 도 6b는 본 명세서에 설명된 실시예들에 따른, 탐지기 디바이스(finder device)에 의해 수행될 수 있는 방법의 동작들을 예시한다.
도 7은 일 실시예에 따른, 탐지기 디바이스에 의한 신호 및 레인징 데이터의 수집을 예시한다.
도 8은 일 실시예에 따른, 디바이스들 및 무선 액세서리들을 위치파악하기 위한 네트워크화된 시스템을 예시한다.
도 9a 내지 도 9c는 일 실시예에 따른, 디바이스 위치파악 사용자 인터페이스를 예시한다.
도 10은 일 실시예에 따른, 분실된 무선 액세서리와 페어링하려고 시도할 때 디스플레이되는 액세서리 페어링 사용자 인터페이스를 예시한다.
도 11은 본 발명의 일부 실시예들에서 사용될 수 있는 예시적인 API 아키텍처를 예시하는 블록도이다.
도 12는 일 실시예에 따른, 모바일 또는 임베디드 디바이스에 대한 디바이스 아키텍처의 블록도이다.
도 13은 일 실시예에 따른, 컴퓨팅 시스템의 블록도이다.
본 명세서에 설명된 실시예들은 광역 네트워크와 통신할 수 없는 분실되거나 잘못 배치된(misplaced) 디바이스들에 대한 보안 크라우드소싱된 위치파악 서비스들을 인에이블하는 기술들을 제공한다. 아래에서 논의되는 상세사항들을 참조하여 다양한 실시예들 및 양태들이 설명될 것이고, 첨부된 도면들은 다양한 실시예들을 예시할 것이다. 하기의 설명 및 도면들은 예시적이며, 제한적인 것으로 해석되어서는 안 된다. 많은 구체적인 상세사항들이 다양한 실시예들의 철저한 이해를 제공하기 위해 설명된다. 그러나, 특정 예들에서, 주지된 또는 종래의 상세사항들은 실시예들의 간결한 논의를 제공하기 위해 설명되지 않는다.
본 설명에서 사용되는 용어는 단지 특정 실시예들만을 설명하는 목적을 위한 것이고, 본 발명을 제한하려는 의도는 아니다. 본 발명의 설명 및 첨부된 청구범위에 사용되는 바와 같이, 단수의 형태들("a", "an" 및 "the")은 문맥상 명백히 다르게 나타나지 않는다면 복수의 형태들도 또한 포함하는 것으로 의도된다. 또한, 본 명세서에서 사용되는 바와 같은 용어 "및/또는"은 열거되는 연관된 항목들 중 하나 이상의 항목들의 임의의 그리고 모든 가능한 조합들을 나타내고 그들을 포괄하는 것임이 이해될 것이다. 본 명세서에서 사용될 때 "포함한다(comprise)" 및/또는 "포함하는(comprising)"이라는 용어들은 진술되는 특징들, 정수들, 단계들, 동작들, 요소들, 및/또는 컴포넌트들의 존재를 특정하지만, 하나 이상의 다른 특징들, 정수들, 단계들, 동작들, 요소들, 컴포넌트들 및/또는 이들의 그룹들의 존재 또는 부가를 배제하지 않는다는 것이 추가로 이해될 것이다.
본 개시내용의 일부는 저작권 보호의 대상이 되는 자료를 포함한다. 저작권 소유자는 특허청 특허 파일들 또는 기록들에 나타나는 것과 같은, 누군가에 의한 특허 문헌 또는 특허 개시내용의 팩시밀리 복제에 이의가 없지만, 그 이외에는 그게 무엇이든 모든 저작권 권한들을 보유한다. 저작권 2018 애플 인크.
이하의 논의에서, 터치 감응형 디스플레이를 포함하는 컴퓨팅 디바이스가 설명된다. 그러나, 컴퓨팅 디바이스가 하나 이상의 다른 물리적 사용자 인터페이스 디바이스들을 포함할 수 있다는 것이 이해되어야 한다. 디바이스 상에서 실행될 수 있는 다양한 애플리케이션들은 터치 감응형 표면과 같은 적어도 하나의 보편적인 물리적 사용자 인터페이스 디바이스를 사용할 수 있다. 터치 감응형 표면의 하나 이상의 기능들뿐만 아니라 디바이스 상에 디스플레이되는 대응하는 정보는 조정될 수 있고/있거나 하나의 애플리케이션으로부터 다음 애플리케이션으로 그리고/또는 개별 애플리케이션 내에서 변화될 수 있다. 이러한 방식으로, 디바이스의 (터치 감응형 표면과 같은) 보편적인 물리적 아키텍처는 직관적이고 명료한 사용자 인터페이스들을 이용하여 다양한 애플리케이션들을 지원할 수 있다.
일부 프로세스들은 일부 순차적 동작들의 관점들에서 아래에서 설명된다. 그러나, 설명된 동작들 중 일부가 상이한 순서들로 수행될 수 있다는 것을 인식해야 한다. 또한, 일부 동작들은 순차적인 대신에 동시에 수행될 수 있다.
도 1은 일 실시예에 따른, 모바일 디바이스들을 위한 네트워크 동작 환경(100)의 블록도이다. 네트워크 동작 환경(100)은 모바일 디바이스(102A) 및 모바일 디바이스(102B)와 같은 다수의 모바일 디바이스들을 포함한다. 모바일 디바이스들(102A, 102B) 각각은 무선 네트워크 및 무선 액세서리 디바이스와 통신할 수 있는 임의의 전자 디바이스일 수 있다. 일부 예시적인 모바일 디바이스들은 스마트폰, 태블릿 컴퓨터, 노트북 컴퓨터, 웨어러블 컴퓨터(예컨대, 스마트워치 또는 다른 웨어러블 컴퓨팅 액세서리), 모바일 미디어 플레이어, 개인 휴대 정보 단말기, 및 다른 유사한 디바이스들을 포함하지만 이들로 제한되지 않는다. 모바일 디바이스(102A) 및 모바일 디바이스(102B) 각각은 모바일 디바이스(102B)의 사용자 인터페이스(104)와 같은 사용자 인터페이스를 포함한다. 모바일 디바이스(102A) 및 모바일 디바이스(102B)는 데이터 통신을 수행하기 위해 하나 이상의 유선 및/또는 무선 네트워크들(110)을 통해 통신할 수 있다. 예를 들어, 무선 네트워크(112)(예컨대, 셀룰러 네트워크, Wi-Fi 네트워크)가 게이트웨이(116)의 사용에 의해 인터넷과 같은 광역 네트워크(114)와 통신할 수 있다. 마찬가지로, 모바일 핫스팟 무선 액세스 디바이스와 같은 액세스 디바이스(118)가 광역 네트워크(114)에 대한 통신 액세스를 제공할 수 있다. 이어서, 게이트웨이(116) 및 액세스 디바이스(118)는 유선 및/또는 무선 네트워크들의 조합을 통해 광역 네트워크(114)와 통신할 수 있다.
일부 구현예들에서, 음성 및 데이터 통신들 둘 모두가 무선 네트워크(112) 및/또는 액세스 디바이스(118)를 통해 확립될 수 있다. 예를 들어, 모바일 디바이스(102A)는 (예를 들어, VoIP 프로토콜들을 사용하여) 전화를 걸고 받을 수 있고, (예를 들어, POP3을 사용하여) 이메일 메시지들을 전송 및 수신할 수 있고, (예를 들어, TCP/IP 또는 UDP 프로토콜들을 사용하여) 무선 네트워크(112), 게이트웨이(116), 및 광역 네트워크(114)를 통해 웹 페이지들, 사진들, 및 비디오들과 같은 전자 문서들 및/또는 스트림들을 검색할 수 있다. 일부 구현예들에서, 모바일 디바이스(102A)는 전화를 걸고 받을 수 있고, 이메일 메시지들을 전송 및 수신할 수 있고, 액세스 디바이스(118) 및 광역 네트워크(114)를 통해 전자 문서들을 검색할 수 있다. 일부 구현예들에서, 모바일 디바이스(102A) 또는 모바일 디바이스(102B)는, 예를 들어, 하나 이상의 케이블들을 사용하여 액세스 디바이스(118)에 물리적으로 연결될 수 있으며, 여기서, 액세스 디바이스(118)는 개인용 컴퓨터이다. 이러한 구성에서, 모바일 디바이스(102A) 또는 모바일 디바이스(102B)는 "테더링된(tethered)" 디바이스로 지칭될 수 있다. 일 실시예에서, 모바일 디바이스(102A)는 무선 피어-투-피어 연결(120)을 통해 모바일 디바이스(102B)와 통신할 수 있다. 무선 피어-투-피어 연결(120)은 디바이스들 사이에서 데이터를 동기화시키는 데 사용될 수 있다.
모바일 디바이스(102A) 또는 모바일 디바이스(102B)는 하나 이상의 유선 및/또는 무선 네트워크들(110)을 통해 전화통신 서비스(130), 메시징 서비스(140), 미디어 서비스(150), 저장 서비스(160), 및 디바이스 위치파악 서비스(170)와 같은 하나 이상의 서비스들을 이용하여 통신할 수 있다. 예를 들어, 전화통신 서비스(130)는 모바일 디바이스(102A)와 모바일 디바이스(102B) 사이, 또는 모바일 디바이스와 유선 전화 디바이스 사이의 전화 통신을 가능하게 할 수 있다. 전화통신 서비스(130)는 광역 네트워크(114)를 통해 VoIP(voice over IP) 통화들을 라우팅할 수 있거나, 셀룰러 보이스 네트워크(예를 들어, 무선 네트워크(112))에 액세스할 수 있다. 메시징 서비스(140)는 예를 들어, 이메일 및/또는 다른 메시징 서비스들을 제공할 수 있다. 미디어 서비스(150)는 예를 들어, 노래 파일들, 오디오 북들, 영화 파일들, 비디오 클립들, 및 다른 미디어 데이터와 같은 미디어 파일들에 대한 액세스를 제공할 수 있다. 저장 서비스(160)는 문서들 및 미디어 파일들을 저장하기 위해 모바일 디바이스(102A) 및 모바일 디바이스(102B)에 네트워크 저장 능력들을 제공할 수 있다. 디바이스 위치파악 서비스(170)는 적어도 일부 지점에서 하나 이상의 유선 및/또는 무선 네트워크들(110)에 연결된 분실되거나 잘못 배치된 디바이스를 사용자가 위치파악하는 것을 가능하게 할 수 있다. 운영 체제 소프트웨어 또는 모바일 디바이스들 상의 클라이언트 소프트웨어를 업데이트하기 위한 소프트웨어 업데이트 서비스를 포함한 다른 서비스들이 또한 제공될 수 있다. 일 실시예에서, 메시징 서비스(140), 미디어 서비스(150), 저장 서비스(160), 및 디바이스 위치파악 서비스(170)는 각각 클라우드 서비스 제공자와 연관될 수 있으며, 여기서 다양한 서비스들은 모바일 디바이스들(102A, 102B)과 연관된 클라우드 서비스 계정을 통해 용이하게 된다.
도 2는 일 실시예에 따른, 광역 네트워크에 대한 액세스가 없는 무선 액세서리(201)를 위치파악하기 위한 시스템(200)을 예시한다. 일 실시예에서, 무선 액세서리(201)는 하나 이상의 무선 송수신기들을 포함하고, 무선 네트워크 또는 피어-투-피어 통신 링크를 통해 컴패니언 디바이스(예컨대, 모바일 디바이스(102))와 직접적으로 또는 간접적으로(예컨대, 다른 디바이스 또는 컴퓨터를 통해) 통신할 수 있다. 무선 액세서리 디바이스들의 일부 예들은 무선 이어버드, 헤드폰, 헤드셋 및 다른 웨어러블 디바이스들(예컨대, 스마트워치, 피트니스 밴드, 광학 헤드 마운트 디스플레이)을 포함하지만 이들로 제한되지 않는다. 무선 액세서리(201)는 또한 게임 제어기 또는 원격 제어부와 같은 다른 무선 디바이스들을 포함할 수 있다. 무선 액세서리(201)는 또한, 일 실시예에서, 적어도 일시적으로 인터넷과 같은 광역 네트워크(예컨대, 도 1에서와 같은 광역 네트워크(114))에 액세스할 수 없는 스마트폰, 태블릿 컴퓨터, 랩톱 컴퓨터, 스마트 스피커 디바이스, 텔레비전, 또는 텔레비전 셋톱 박스를 포함한다. 무선 액세서리는 또한, 다른 디바이스들에 부착되어 그들 디바이스들의 추적 또는 위치파악을 가능하게 하는 비콘들 또는 위치파악 태그들을 포함하는 임의의 다른 무선 디바이스일 수 있다. 일 실시예에서, 무선 액세서리(201)는 블루투스와 같은 그러나 이로 제한되지 않는 무선 기술 표준을 사용하여 모바일 디바이스(102)와 페어링될 수 있다. 무선 액세서리(201)는 또한 Wi-Fi 다이렉트(Wi-Fi direct), 지그비, 또는 에어플레이(AirPlay)와 같은 무선 기술들을 통해 모바일 디바이스(102)와 통신할 수 있다. 무선 액세서리(201)가 페어링되는 컴패니언 디바이스는 일반적으로 모바일 디바이스(102)로 지칭되지만, 컴패니언 디바이스들은 모바일 디바이스들로 제한되지 않는다. 일부 실시예들에서, 컴패니언 디바이스들은 또한 랩톱 또는 데스크톱 디바이스들을 포함할 수 있고, 스마트 워치 디바이스 또는 웨어러블 디스플레이와 같은 그러나 이들로 제한되지 않는 일부 웨어러블 액세서리들을 추가로 포함할 수 있다.
일 실시예에서, 무선 액세서리(201)는 무선 비콘 신호를 주기적으로 송신할 수 있다. 무선 액세서리(201)는 본 명세서에 설명된 다양한 무선 기술들(예컨대, 블루투스, Wi-Fi 등) 중 하나를 사용하여 비콘 신호를 송신할 수 있고, 일 실시예에서, 또한 초광대역(UWB) 라디오 기술을 사용하여 비코닝할 수 있다. 비콘 신호는 단일 무선 기술, 다수의 선택가능한 무선 기술들 중 하나, 또는 다수의 동시 무선 기술들을 사용하여 송신될 수 있다. 비콘 신호는 무선 액세서리(201)를 구체적으로 식별하기 위한 정보를 포함하는 비콘 식별자를 송신할 수 있다. 일 실시예에서, 비콘 식별자는 디바이스와 연관된 공개 암호화 키이다.
비콘 신호는 또한 비콘 유형, 디바이스 분류, 배터리 레벨과 같은 무선 액세서리(201)에 관한 정보를 전달할 수 있다. 일 실시예에서, 비콘 신호는 또한 분실된 상태, 알람 상태, 또는 소유자-근처(near-owner) 상태와 같은 디바이스 상태를 전달할 수 있다. 비콘 신호는 또한 배터리 수명, 충전 상태, 및/또는 다른 상태 정보를 특정하는 정보를 포함할 수 있다. 분실된 상태는 무선 액세서리(201)가 그 자신이 분실된 것으로 결정했거나 또는 디바이스의 소유자에 의해 분실된 상태에 배치되었음을 나타낼 수 있다. 알람 상태는, 무선 액세서리(201)가 현재 위치로부터 이동되는 경우 디바이스가 알람을 트리거해야 하는 상태에 배치되었음을 나타낼 수 있다. 소유자-근처 상태는, 무선 액세서리(201)가 액세서리의 소유자와 연관된 모바일 디바이스(102)의 인근 존재를 검출했음을 나타낼 수 있다.
비콘 신호는 무선 액세서리(201)에 국부적으로 근접해 있는 탐지기 디바이스(202)에 의해 검출될 수 있다. 탐지기 디바이스(202)는 모바일 디바이스(102)와 유사한 디바이스일 수 있고, 광역 네트워크(114)를 통해 데이터를 수신 및 송신할 수 있고, 무선 액세서리(201)와 유사한 무선 기술들(예컨대, 블루투스 등)을 사용하여 수신 및 송신할 수 있다. 특히, 탐지기 디바이스(202)는 비콘 신호가 송신되는 무선 프로토콜을 사용하여 데이터를 수신할 수 있다. 탐지기 디바이스(202)는 Wi-Fi 액세스 포인트들 또는 셀룰러 전화 네트워크의 셀 타워 송신기들과 같은 무선 기지국들(205)로부터 수신된 RF 신호들을 사용하는 위성 포지셔닝 서비스(206) 또는 지상 포지셔닝 시스템을 포함하지만 이들로 제한되지 않는 하나 이상의 위치 및/또는 포지셔닝 서비스들을 사용하여 위치를 결정할 수 있다. 일 실시예에서, 탐지기 디바이스(202)는 하나 이상의 위치 및/또는 포지셔닝 서비스들에 기초하여 결정되는 바와 같이 자신의 위치를 주기적으로 저장한다. 저장된 위치는 위치가 결정된 타임스탬프와 연관될 수 있다. 탐지기 디바이스(202)가 무선 액세서리(201)로부터 비콘 신호를 수신할 때, 탐지기 디바이스(202)는 탐지기 디바이스에 대한 위치를 광역 네트워크(114)를 통해 디바이스 위치파악 서버(203)로 송신할 수 있다. 탐지기 디바이스(202)에 대한 결정된 위치에 대한 타임스탬프는, 지리적 위치를 수신된 비콘 신호와 연관시키기 위해 비콘 신호가 수신된 타임스탬프와 상관될 수 있다.
무선 액세서리(201)가 비콘 신호 내에서 공개 키를 제공하는 경우, 탐지기 디바이스(202)는 결정된 위치 데이터를 암호화하고 암호화된 위치 데이터를 광역 네트워크(114)를 통해 디바이스 위치파악 서버(203)로 송신할 수 있다. 일 실시예에서, 추가 데이터가 암호화되고 위치 데이터와 함께 송신될 수 있거나, 또는 암호화되지 않은 상태로 디바이스 위치파악 서버(203)로 송신될 수 있다. 예를 들어, 비콘 신호에 대한 수신 신호 강도 표시자(received signal strength indicator, 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)는 사용자가 모바일 디바이스(102)를 무선 액세서리(201)와 페어링할 수 있는 액세서리 페어링 UI(302)를 제시할 수 있다. 모바일 디바이스(102)와 무선 액세서리 사이의 초기 페어링(305) 동안, 공개 키 교환(310)이 모바일 디바이스와 무선 액세서리 사이에서 수행될 수 있다. 일 실시예에서, 공개 키 교환(310) 동안, 모바일 디바이스(102) 및 무선 액세서리(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)가 공개 키들의 시퀀스 를 생성할 수 있게 하는 데 사용될 수 있다. 일 실시예에서, 공개 키들의 시퀀스 는 스칼라 또는 지수 값 와, 예를 들어, 타원 곡선 점들 P와 같은 그룹 요소들 사이의 그룹 연산을 정의한다. 스칼라 또는 지수 값 λ = KDF(AT, i), 여기서 KDF는 키 유도 함수이고, AT는 추적-방지 비밀이고, i는 카운터 또는 타임스탬프이다.
일 실시예에서, 무선 액세서리(201)가 위해되는(compromised) 경우에, 역추적 저항성(backtracking resistance)이 추적-방지 비밀을 보호하도록 인에이블될 수 있다. 역추적 저항성이 인에이블되는 경우, 추적-방지 비밀은 무선 액세서리(201)로 전달되지만 무선 액세서리에 의해 보유되지는 않는다. 대신에, 액세서리는 값 || time)을 계산하며, 는 암호화 해시 함수이다. 이어서, 무선 액세서리(201)는 주어진 기간 i 동안 를 저장한다. 무선 액세서리(201)가 위해되는 경우, i의 현재 및 미래 값들에 대한 만이 노출되면서, 추적-방지 비밀 AT는 노출시키지 않는다. 일 실시예에서, 역추적 저항성은 무선 액세서리(201)의 비휘발성 메모리에 를 주기적으로 기입함으로써 수행된다.
일 실시예에서, 무선 액세서리(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)의 세트에 의해 검출될 수 있는데, 이는 무선 액세서리에 의해 송신된 비콘 신호를 수신할 수 있고, 비콘 신호(301)와 연관된 위치 및 다른 데이터를 광역 네트워크(114)를 통해 디바이스 위치파악 서버(203)로 송신하는 다른 전자 디바이스들이다. 일 실시예에서, 탐지기 디바이스들(303)의 세트는 모바일 디바이스(102)의 변형들을 포함하거나, 또는 다른 유형의 전자 디바이스들일 수 있다. 탐지기 디바이스들(303)의 세트는 도 2의 탐지기 디바이스(202)의 변형을 포함할 수 있고, 유사한 위치 결정 기술들을 결정할 수 있다. 예를 들어, 탐지기 디바이스들의 세트는 무선 액세서리(201)로부터 수신된 비콘 신호(301)를 탐지기 디바이스와 연관된 디바이스 위치와 상관시키기 위한 동작들(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)의 디바이스 위치파악 애플리케이션 또는 특징과 연관될 수 있다. 디바이스 위치파악 UI(204)는 또한 모바일 디바이스(102) 또는 다른 유형의 전자 디바이스, 예컨대 랩톱 또는 데스크톱 디바이스로부터 액세스될 수 있는 웹-기반 인터페이스를 가질 수 있다. 모바일 디바이스(102)는, 디바이스 위치파악 UI(204)를 로딩할 시, 위치 데이터에 대한 요청(330)을 디바이스 위치파악 서버(203)로 전송할 수 있다. 요청(330)은 비콘 데이터에 대한 비콘 식별자들로서의 역할을 할 수 있는 공개 키들 또는 공개 키 해시들의 세트를 포함할 수 있다. 모바일 디바이스(102)는 모바일 디바이스(102) 및 무선 액세서리(201)에 의해 유지된 비밀 정보 및 모바일 디바이스(102)가 위치 데이터를 수신하기를 원하는 타임스탬프들에 기초하여 공개 키들의 세트를 생성할 수 있다. 일 실시예에서, 공개 키들의 세트는 추적-방지 비밀에 기초하여 생성되는 공개 키들의 시퀀스 이다. 공개 키들의 시퀀스 는 개인 키들의 매칭 시퀀스 에 대응한다. 모바일 디바이스(102)는 공개 키들의 시퀀스뿐만 아니라, 공개 키들의 대응하는 시퀀스 를 생성할 수 있으며, 여기서 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)는 소유자에 의해 잠금해제되지 않는 한 다른 디바이스와 페어링될 수 없다.
도 4a 내지 도 4c는 본 명세서에 설명된 디바이스 위치파악 시스템들과 함께 사용하기 위한 방법들을 예시하는 흐름도들이다. 도 4a는 모바일 디바이스를 무선 액세서리와 페어링하는 방법(400)을 예시한다. 도 4b는 디바이스 위치파악 서버를 통해 무선 액세서리에 대한 위치를 결정하는 방법(410)을 예시한다. 도 4c는 디바이스 위치파악 서버를 통해 무선 액세서리에 대한 위치를 결정하는 추가적인 방법(420)을 예시한다. 방법의 양태들(400, 410, 420)은 또한 전술된 바와 같이 도 2 및 도 3에 예시되어 있다. 예를 들어, 아래의 동작들의 설명은 모바일 디바이스(102), 무선 액세서리(201) 및 디바이스 위치파악 서버(203)를 참조한다.
도 4a에 도시된 바와 같이, 방법(400)은 무선 액세서리와의 초기 페어링을 수행하는 동작(블록 401)을 포함한다. 초기 페어링은 블루투스 페어링 또는 다른 무선 라디오 기술들을 사용하는 다른 유형의 페어링일 수 있다. 초기 페어링 동안, 모바일 디바이스 및 무선 액세서리는 모바일 또는 다른 전자 디바이스와 무선 액세서리 사이에서 무선 데이터 교환이 수행될 수 있게 하는 식별자들, 패스키(passkey)들, 또는 다른 크리덴셜들을 교환할 수 있다. 일 실시예에서, 무선 액세서리와의 초기 페어링은 페어링이 수행되는 무선 프로토콜과 연관된 크리덴셜들의 교환을 포함하여, 무선으로 교환되는 모든 데이터가 적어도 제1 암호화 층을 갖게 할 수 있다.
이어서, 모바일 디바이스는 공개/개인 키 쌍 및 하나 이상의 추가 공유 비밀들을 생성할 수 있다(블록 402). 이어서, 디바이스는 공개 키 및 하나 이상의 추가 공유 비밀들을 무선 액세서리로 전송할 수 있다(블록 403). 다양한 키 생성 기술이 사용될 수 있다. 일 실시예에서, ECDH의 변형이 암호화를 위한 공개 키 쌍을 생성하는 데 사용된다. 일 실시예에서, 하나 이상의 추가 공유 비밀들은 무선 액세서리가 기존의 공개 키에 기초하여 새로운 공개 키를 유도할 수 있게 하는 추적-방지 비밀을 포함할 수 있다.
공개/개인 키 쌍 및 하나 이상의 추가 공유 비밀들을 생성한 후, 모바일 디바이스는 공개/개인 키 쌍을 키스토어(keystore)에 저장할 수 있다(블록 404). 일 실시예에서, 키스토어는 모바일 디바이스 및 무선 액세서리가 연관되는 동일한 클라우드 서비스 계정 또는 클라우드 서비스 계정들의 패밀리와 연관된 다른 디바이스들과 동기화될 수 있는 클라우드-기반 키스토어이다. 클라우드-기반 키스토어는 무선 액세서리가 다른 동기화된 디바이스들에 의해 위치파악될 수 있게 한다. 이어서, 모바일 디바이스는 디바이스 관리 서버에 무선 액세서리를 등록할 수 있다(블록 405). 무선 액세서리를 디바이스 관리 서버에 등록하는 것은 모바일 디바이스가 연관되는 클라우드 서비스 계정과 무선 액세서리 사이에 연관을 형성할 수 있다. 디바이스 관리 서버는 도 2 및 도 3의 디바이스 위치파악 서버(203)와 같은, 모바일 디바이스에 액세스가능한 클라우드-기반 서비스들을 용이하게 하는 데 사용되는 다른 클라우드-기반 서버들과 연관될 수 있다.
도 4b에 도시된 바와 같이, 방법(410)은 전자 디바이스가 디바이스 위치파악 UI를 시작하는 동작을 포함한다(블록 411). 디바이스 위치파악 UI를 시작하는 것에 응답하여, 본 명세서에 설명된 바와 같은 모바일 디바이스일 수 있는 전자 디바이스, 또는 모바일 전자 디바이스와 동일한 클라우드 서비스 계정과 연관된 다른 전자 디바이스는, 제1 기간 동안 무선 액세서리에 의해 브로드캐스트된 비콘 신호 내에 포함된 공개 키들의 세트를 생성하는 동작을 수행할 수 있다(블록 412). 제1 기간은, 예를 들어, 이전 24시간일 수 있다. 전자 디바이스는 무선 액세서리가 새로운 공개 키들을 생성할 빈도를 인식하고, 무선 액세서리로 생성된 공유 비밀을 사용하여, 제1 기간에 걸쳐 무선 액세서리에 의해 생성된 키들에 대응하는 공개 키들의 세트를 생성할 수 있다. 이어서, 전자 디바이스는 공개 키들의 세트에 대응하는 위치 데이터를 전송하도록 하는 디바이스 위치파악 서버에 대한 요청 내에서 공개 키들의 세트를 전송할 수 있다(블록 413). 일 실시예에서, 요청에 응답하여 서버에 의해 전송된 위치 데이터는 무선 액세서리의 비콘 식별자로서 송신된 공개 키를 사용하여 암호화될 것이다. 전자 디바이스는 무선 액세서리와의 초기 페어링 동안 생성된 개인 키를 사용하여 서버에 의해 수신된 암호화된 위치 데이터를 복호화할 수 있다(블록 414). 이어서, 전자 디바이스는 무선 액세서리에 대한 가장 높은 확률 위치를 결정하기 위해 위치 데이터를 프로세싱할 수 있다(블록 415).
위치 데이터를 프로세싱하는 것은 다양한 상이한 동작들을 포함할 수 있다. 일 실시예에서, 위치 데이터는 위치가 결정된 타임스탬프와 함께 위도 및 경도 정보를 포함한다. 전자 디바이스는 타임스탬프들에 기초하여 삼각측량하고 노이즈 또는 이상치 위치들을 제거할 수 있다. 일 실시예에서, 위치 데이터는 비콘을 검출한 탐지기 디바이스의 위치를 특정한다. 위치 데이터는 탐지기 디바이스에 의해 검출된 비콘에 대한 UWB 레인징 정보 및/또는 RSSI 정보를 추가로 포함할 수 있다. 전자 디바이스는 무선 액세서리에 대한 보다 정확한 위치를 개발하기 위해 디바이스 위치들과 관련하여 UWB 레인징 정보 및/또는 RSSI 정보를 분석할 수 있다. 탐지기 디바이스에 의해 송신될 수 있고 위치 프로세싱을 위해 사용될 수 있는 데이터가 도 10에 도시되고 아래에 설명된다.
도 4c에 도시된 바와 같이, 방법(420)은, 디바이스 위치파악 서버가 요청에 응답하여 전자 디바이스에 제공할 위치 데이터를 갖지 않는 경우에 수행될 수 있는 동작들을 포함한다. 전자 디바이스는 제1 기간 동안 무선 액세서리에 의해 브로드캐스트된 비콘 신호 내에 포함된 공개 키들의 제1 세트를 생성할 수 있다(블록 421). 제1 기간은, 예를 들어, 24시간일 수 있지만, 다른 초기 탐색 기간이 사용될 수 있다. 전자 디바이스는 공개 키들의 제1 세트에 대응하는 위치 데이터를 전송하도록 디바이스 위치파악 서버에 요청하라는 후속 동작을 수행할 수 있다(블록 422). 데이터가 서버에 의해 반환되는 경우(블록 423, "예"), 전자 디바이스는 공개 키들의 세트에 대응하는 개인 키를 사용하여 서버로부터 수신된 위치 데이터를 복호화할 수 있다(블록 429).
데이터가 서버에 의해 반환되지 않는 경우(블록 423, "아니오"), 전자 디바이스는 제2 기간 동안 무선 액세서리에 의해 브로드캐스트된 비콘 신호 내에 포함된 공개 키들의 제2 세트를 생성할 수 있다(블록 424). 제2 기간은 제1 기간 이전의 24시간, 48시간, 또는 다른 시간일 수 있다. 이어서, 전자 디바이스는 공개 키들의 제2 세트에 대응하는 데이터를 전송하도록 디바이스 위치파악 서버에 요청할 수 있다(블록 425). 요청에 응답하여, 데이터가 서버에 의해 반환되는 경우(블록 426, "예"), 방법(420)은 블록(429)으로 진행할 수 있는데, 여기서 전자 디바이스는 수신된 데이터를 복호화한다. 데이터가 서버에 의해 반환되지 않거나(블록 426, "아니오"), 또는 서버가 데이터가 이용가능하지 않음을 나타내는 응답을 전송하는 경우, 방법(420)은, 전자 디바이스가 최대 기간에 도달할 때까지 연속적으로 더 오래된 기간들을 요청함으로써 탐색 시간을 확대할 수 있는 것을 포함한다(블록 427).
도 5는 일 실시예에 따른, 무선 액세서리에서 신호 비콘을 브로드캐스트하는 방법(500)을 예시하는 흐름도이다. 방법(500)의 양태들은 또한 도 2 및 도 3에 예시되어 있다. 방법(500)은 무선 액세서리가 공개 키를 유도하는 것을 포함한다(블록 502). 공개 키는 공유 비밀, 및 무선 액세서리의 클록 또는 시간 기록 디바이스에 기초하여 결정된 타임스탬프에 기초하여 유도될 수 있다. 이어서, 무선 액세서리는 제1 주파수에서 비콘 신호를 송신할 수 있으며, 여기서 비콘 신호는 공개 키를 포함한다(블록 503). 제1 주파수는 변할 수 있고, 일 실시예에서 2초마다 하나의 비콘이다.
비콘 신호를 송신한 후, 무선 액세서리는 소유자 디바이스로부터의 응답을 청취할 수 있다. 무선 신호가 소유자 디바이스로부터 응답을 수신하는 경우(블록 504, "예"), 무선 액세서리는 소유자-근처 상태에 진입할 수 있고(블록 505), 제2의 더 낮은 주파수에서 비콘 신호를 송신하기 시작할 수 있다(블록 507). 무선 액세서리가 소유자 디바이스로부터 응답을 수신하지 않는 경우(블록 504, "아니오"), 무선 액세서리는 제1 주파수에서 계속해서 비코닝할 수 있다(블록 506).
방법(500)은 무선 디바이스가, 비코닝하는 동안, M분마다 공개 키를 회전시키는 단계를 추가로 포함하며, 여기서 M의 값이 실시예들에 걸쳐 그리고/또는 디바이스 상태에 기초하여 변할 수 있다. 타이머 만료, 카운터, 또는 다른 메커니즘에 기초하여, 무선 액세서리는 액세서리가 새로운 키 주기에 진입했는지 여부를 결정할 수 있다(블록 508). 무선 액세서리가 새로운 키 기간에 진입하지 않은 동안(블록 508, "아니오"), 액세서리는 현재 공개 키를 사용하여 계속해서 비코닝할 수 있다(블록 510). 무선 액세서리가 그것이 새로운 키 기간에 진입했음을 검출할 때(블록 508, "예"), 액세서리는 현재 타임스탬프를 사용하여 새로운 공개 키를 유도할 수 있다(블록 509). 일 실시예에서, 새로운 공개 키는 기존의 공개 키, 타임스탬프, 및 추적-방지 비밀을 사용하여 유도될 수 있다.
도 6a 및 도 6b는 본 명세서에 설명된 실시예들에 따른, 탐지기 디바이스에 의해 수행될 수 있는 방법(600)의 동작들을 예시한다. 방법(600)의 양태들은 또한 도 2 및 도 3에 예시되어 있다.
도 6a에 도시된 바와 같이, 방법(600)은 탐지기 디바이스의 애플리케이션 프로세서가 저전력 모드에 있는 동안 탐지기 디바이스가 무선 기저대역 프로세서를 사용하여 주기적 비콘 스캔을 수행하는 단계를 포함한다(블록 601). 비콘 스캔은 또한 애플리케이션 프로세서가 활성일 때 수행될 수 있지만, 비콘 스캔들은, 탐지기 디바이스가 유휴, 비활성, 또는 그렇지 않으면 저전력 상태에 있는 동안 저전력 동작으로서 무선 프로세서 및 무선 라디오 수신기에 의해 수행될 수 있다. 탐지기 디바이스는 탐지기 디바이스에 의해 수신된 임의의 비콘 데이터에 대한 비콘 스캔 버퍼에 타임스탬프 및 비콘 식별자를 저장할 수 있다(블록 602). 비콘 식별자는, 일 실시예에서, 소유자의 모바일 디바이스로 생성된 공유 비밀 및 타임스탬프에 기초하여 무선 디바이스에 의해 생성되는 공개 키이다.
방법(600)은 애플리케이션 프로세서가 저전력 모드에 있는 동안 탐지기 디바이스가 무선 프로세서를 사용하여 주기적인 Wi-Fi 스캔들을 수행하는 단계를 추가로 포함한다(블록 603). Wi-Fi 스캔들은 또한 애플리케이션 프로세서가 활성일 때 수행될 수 있지만, Wi-Fi 스캔들은, 탐지기 디바이스가 유휴, 비활성, 또는 그렇지 않으면 저전력 상태에 있는 동안 저전력 동작으로서 무선 프로세서 및 무선 라디오 수신기에 의해 수행될 수 있다. 이어서, 탐지기 디바이스는 Wi-Fi 서비스 세트 식별자(service set identifier, SSID)들 및 스캔 타임스탬프들을 탐색기 디바이스 상의 Wi-Fi 스캔 버퍼에 저장할 수 있다(블록 604).
일 실시예에서, Wi-Fi 스캔 버퍼는, 가장 최근에 검출된 SSID들을 저장하는 동시에 더 오래된 검출된 SSID들을 오버라이팅하는, 롤링 버퍼이다. 일 실시예에서, 비콘 스캔 버퍼는 미리결정된 수의 엔트리들을 위한 공간을 갖는 고정-크기 버퍼일 수 있다. 탐색기 디바이스는 비콘 스캔 버퍼가 가득 찰 때 애플리케이션 프로세서를 웨이크할 수 있고(블록 605), 그러한 비콘 스캔을 Wi-Fi 스캔 버퍼에서 가장 최근에 검출된 SSID들과 상관시킬 수 있다. 그러한 상관은 탐지기 디바이스가 Wi-Fi 스캔 버퍼 데이터에 기초하여 수신된 비콘들에 대응하는 디바이스 위치들의 세트를 결정할 수 있게 할 수 있다(블록 606).
방법(600)은 도 6b에서 계속되고, 정제된 디바이스 위치들을 생성하기 위해, 탐지기 디바이스가, 다른 위치 데이터가 이용가능한 경우 Wi-Fi 스캔 버퍼 데이터로부터의 디바이스 위치들을 다른 위치 데이터와 상관시키는 단계를 포함한다(블록 607). 정제된 디바이스 위치들이 생성되는 경우, 탐지기 디바이스는 선택적으로 비콘 데이터를 정제된 디바이스 위치들과 조합할 수 있다(블록 608). 탐지기 디바이스는 또한 신호 강도(RSSI) 또는 레인징 데이터를 위치 데이터에 추가할 수 있다(블록 609). 신호 강도 및 레인징 데이터(예를 들어, UWB 레인징 데이터)는 비콘 신호가 탐지기 디바이스에 의해 수신될 때 수집될 수 있다. 이어서, 탐지기 디바이스는 위치 데이터를 비콘 데이터 내에서 수신된 하나 이상의 공개 키들로 암호화할 수 있다(블록 610). 신호 및 레인징 데이터는 위치 데이터와 함께 암호화될 수 있거나, 암호화된 위치 데이터와 함께 암호화되지 않은 상태로 전송될 수 있다. 탐지기 디바이스는 디바이스 위치파악 서버로의 송신을 위해 암호화된 위치 데이터를 인큐잉(enqueue)할 수 있다(블록 611). 디바이스 위치파악 서버는 통신이 일반적으로 일괄 처리(batch)되고 스로틀링된 방식으로 수행되는 다수의 클라우드 서비스 서버들 중 하나일 수 있다. 암호화된 데이터의 일괄 처리는 송신 간격이 도달할 때까지 수집되고 송신 큐에 배치될 수 있고, 그 동안에 탐지기 디바이스는 데이터를 클라우드 서비스 서버들로 송신할 수 있다(블록 612).
도 7은 일 실시예에 따른, 탐지기 디바이스에 의한 신호 및 레인징 데이터의 수집을 예시한다. 일 실시예에서, 탐지기 디바이스(202)는 다수의 위치들(702A 내지 702N)에 걸쳐 무선 액세서리(201)로부터 수신된 비콘 신호(301)에 대한 신호 강도 정보(예컨대, RSSI(704A 내지 704N))를 수집할 수 있다. 탐지기 디바이스(202)는 또한 도 3의 탐지기 디바이스들(303)의 세트와 같은 다수의 탐지기 디바이스들을 표현할 수 있으며, 여기서 각각의 탐지기 디바이스는 상이한 위치에서 비콘 신호를 검출한다. 각각의 탐지기 디바이스(202)는 상이한 위치들 및 신호 강도들을 전송할 수 있고, 다수의 탐지기 디바이스들로부터 수신된 위치 및 신호 강도 데이터는 디바이스 위치파악 서버에 의해 집계될 것이다. 하나의 실시예에서, 탐색기 디바이스 및 무선 디바이스 각각이 UWB 라디오들을 포함하는 경우, 탐지기 디바이스 및 무선 디바이스가 UWB 송신들의 범위 내에 있으면 UWB 레인징(706)이 수행될 수 있다. UWB 레인징 및 신호 강도 데이터는 탐지기 디바이스들에 대한 위치 데이터와 함께 디바이스 위치파악 서버로 송신될 수 있다.
소유자 디바이스는 위치 데이터와 함께 디바이스 위치파악 서버로부터 RSSI 또는 UWB 정보를 검색할 수 있으며, 이는 일 실시예에서 위치들이 결정된 타임스탬프들과 함께 위도 및 경도 정보의 형태로 제공된다. 이어서, 소유자 디바이스는 위치 데이터, 타임스탬프들, 및 신호 정보를 사용하여 무선 액세서리(201)에 대한 가장 가능성있는 위치를 삼각측량할 수 있다.
도 8은 일 실시예에 따른, 디바이스들 및 무선 액세서리들을 위치파악하기 위한 네트워크화된 시스템(800)을 예시한다. 시스템(800)은 또한 일 실시예에 따른, 디바이스 위치파악 서버(203)에 대한 예시적인 서버 아키텍처를 예시한다. 일 실시예에서, 디바이스 위치파악 서버(203)는 상호연결된 서버 디바이스들의 클러스터이며, 이는 단일 데이터센터 내의 물리적 또는 가상 서버들일 수 있거나 다수의 데이터센터들 및/또는 지리적 위치들에 걸쳐 분산될 수 있다. 전술된 바와 같이, 디바이스 위치파악 서버(203)는 광역 네트워크(114)를 통해 액세서리 소유자 또는 사용자의 모바일 디바이스(102) 및 탐지기 디바이스들(303)의 세트와 통신할 수 있다. 모바일 디바이스(102)는 무선 액세서리의 위치파악을 가능하게 하는 로컬 또는 웹 애플리케이션에 의해 제공된 UI를 포함하고, 탐지기 디바이스들(303)은 무선 액세서리들로부터 비콘 신호들을 수신하고 수신된 신호들과 연관된 위치 데이터를 디바이스 위치파악 서버(203)로 송신한다.
일 실시예에서, 디바이스 위치파악 서버(203)는 위치파악 서버 프론트-엔드(803), 계정 데이터베이스(825), 데이터베이스 클러스터 관리자(813), 및 데이터베이스 클러스터 노드들(823A 내지 823C)의 세트를 포함한다. 위치파악 서버 프론트-엔드(803)는 모바일 디바이스(102) 및 탐지기 디바이스들(303)의 세트가 통신할 수 있는 프론트-엔드 인터페이스이다. 계정 데이터베이스(825)는 모바일 디바이스(102) 및 탐지기 디바이스들(303)이 연관되는 클라우드 서비스 제공자의 계정들에 대한 계정 프로파일 데이터를 저장한다. 데이터베이스 클러스터 관리자(813)는 탐지기 디바이스들(303)의 세트에 의해 수신된 신호 비콘들에 대한 비콘 식별자들과 연관하여 위치, 신호, 및 레인징 데이터를 저장할 수 있는 분산 위치 데이터베이스로서 데이터베이스 클러스터 노드들(823A 내지 823C)을 구성할 수 있다.
일 실시예에서, 계정 데이터베이스(825)는 각각의 클라우드 서비스 계정과 연관되는 디바이스들의 목록을 포함할 수 있다. 본 명세서에 설명된 바와 같은 무선 액세서리를 포함하는 주어진 디바이스를 위치파악하라는 요청에 응답하여, 계정 데이터베이스(825)는, 그 요청이 주어진 디바이스의 위치를 요청하도록 인가된 디바이스로부터 오는 것임을 검증할 수 있다. 일 실시예에서, 사용자가 디바이스 위치파악 UI를 시작하고 위치파악 서비스 프론트-엔드(803)와 통신할 때, 위치파악 서비스 프론트-엔드는 계정 데이터베이스(825)와 통신하고, 요청하는 사용자와 연관된 각각의 디바이스 - 요청하는 사용자와 연관된 계정들의 패밀리 내에 있는 다른 사용자들과 연관된 디바이스들 및/또는 무선 액세서리들을 포함함 - 에 대한 현재 또는 마지막 알려진 위치를 제공할 수 있다.
일 실시예에서, 데이터베이스 클러스터 관리자(813)는 위치 데이터의 세트와 연관된 비콘 ID를 해싱함으로써 비콘 데이터가 저장될 데이터베이스 클러스터 노드(823A 내지 823C)를 선택할 수 있다. 각각의 데이터베이스 클러스터 노드(823A 내지 823C)는 해시 값들의 범위와 연관될 수 있다. 이어서, 데이터베이스 클러스터 관리자는 주어진 비콘 ID의 해시와 연관된 해시 값들의 범위에 대응하는 클러스터 노드에 위치 데이터를 저장할 수 있다. 3개의 데이터베이스 클러스터 노드들이 예시되어 있지만, 실시예들은 임의의 특정 수의 노드로 제한되지 않으며, 더 많거나 더 적은 노드들이 사용될 수 있다.
도 9a 내지 도 9c는 일 실시예에 따른, 디바이스 위치파악 UI(204)를 예시한다. 도 9a는 일 실시예에 따른 디바이스 위치파악 UI(204)의 제1 그래픽 사용자 인터페이스를 도시하며, 이는 사용자의 다양한 전자 디바이스들 및 무선 액세서리들에 대한 위치를 도시한다. 도 9b는 일 실시예에 따른 디바이스 위치파악 UI(204)의 제2 그래픽 사용자 인터페이스를 도시하며, 이는 무선 액세서리가 알람 모드로 설정될 수 있게 한다. 도 9c는 일 실시예에 따른 디바이스 위치파악 UI(204)의 제3 그래픽 사용자 인터페이스를 도시하며, 이는 무선 액세서리가 분실 모드로 설정될 수 있게 한다.
도 9a에 도시된 바와 같이, 디바이스 위치파악 UI(204)는 모바일 디바이스 또는 본 명세서에 설명된 임의의 다른 유형의 전자 디바이스일 수 있는 전자 디바이스(900) 상에 디스플레이될 수 있다. 디바이스 위치파악 UI(204)는, 네트워크 또는 셀룰러 액세스를 갖는 무선 디바이스들 및 고유 네트워크 액세스가 없는 무선 액세서리들을 포함하는, 다수의 상이한 유형의 디바이스들 및 액세서리들이 위치파악될 수 있는 통합형 그래픽 인터페이스를 제시할 수 있다. 디바이스 위치파악 UI(204)는 무선 디바이스 또는 액세서리의 현재 또는 마지막 알려진 위치를 보여주는 마커(902)를 갖는 지도(901)를 포함할 수 있다. 마커(902)는, 액세서리를 식별하고 액세서리에 대한 위치를 전달하는 아이콘, 이미지, 그래픽 또는 임의의 다른 사용자 인터페이스 요소일 수 있다. 디바이스 위치파악 UI 내의 선택가능한 요소(903)는 무선 디바이스 또는 액세서리의 설명 또는 명칭을 제시할 수 있고, 무선 디바이스 또는 액세서리와 전자 디바이스(900)의 현재 위치 사이의 추정된 거리를 보여줄 수 있다.
도 9b에 도시된 바와 같이, 디바이스 위치파악 UI(204)는 무선 액세서리가 알람 모드로 설정될 수 있게 하는 제2 사용자 인터페이스를 제시할 수 있다. 제2 사용자 인터페이스는, 일 실시예에서, 도 9a에 도시된 선택가능한 요소(903)의 선택에 응답하여 디스플레이될 수 있다. 제2 사용자 인터페이스는 해당 무선 액세서리를 표현하고/하거나 설명하는 사용자 인터페이스 요소(904)뿐만 아니라, 무선 액세서리의 현재 또는 마지막 알려진 위치를 보여주는 마커(902) 및 지도(901)를 제시할 수 있다. 일 실시예에서, 디바이스 위치파악 UI(204)는, 디바이스 위치파악 UI(204)의 사용자가 선택된 무선 액세서리를 알람 모드로 배치할 수 있게 하는, 버튼 또는 다른 사용자 인터페이스 요소와 같은, 선택가능한 요소(905)를 제시할 수 있다. 알람 모드에 있는 동안, 무선 액세서리는 무선 액세서리가 그의 현재 위치로부터 이동되는 경우 사용자에게 통지를 트리거하도록 구성될 수 있다.
일 실시예에서, 무선 액세서리는 가속도계 또는 무선 액세서리 내의 다른 유형의 모션 센서를 통해 이동을 검출할 수 있다. 통지는, 무선 액세서리 알람이 트리거되었음을 나타내는, 무선 액세서리의 비콘 신호에 의해 송신된 데이터 패킷 내의 플래그를 설정함으로써 무선 액세서리에 의해 개시될 수 있다. 다양한 실시예들에서, 다른 트리거 또는 통지 모드들이 사용될 수 있다. 일 실시예에서, 알람은 선택적으로, 무선 액세서리가 모바일 디바이스의 범위 밖으로 이동했고 더 이상 소유자-근처 상태에 있지 않다는 것을 검출 시, 모바일 디바이스에 의해 트리거될 수 있다. 일 실시예에서, 알람은 선택적으로, 무선 액세서리가 무선 액세서리가 연관되는 계정 또는 사용자 계정들의 패밀리와 연관된 디바이스들 중 임의의 디바이스의 범위 밖에 있거나, 그렇지 않으면 그에 의해 위치파악될 수 없을 때, 트리거될 수 있다.
도 9c에 도시된 바와 같이, 디바이스 위치파악 UI(204)는 무선 액세서리가 분실 모드로 설정될 수 있게 하는 제3 그래픽 사용자 인터페이스를 제시할 수 있다. 일 실시예에서, 무선 액세서리가 디바이스 위치파악 UI(204)를 통해 위치파악될 수 없을 때, 지도(901)는 액세서리에 대한 위치를 나타내는 마커를 디스플레이하지 않을 것이다. 디바이스 위치파악 UI(204)는 해당 무선 액세서리를 표현하고/하거나 설명하는 사용자 인터페이스 요소(904) 및 선택가능한 사용자 인터페이스 요소들의 세트를 제시할 수 있다. 하나의 선택가능한 사용자 인터페이스 요소(906)는 액세서리가 발견될 때 사용자에게 통지하기 위한 옵션을 제시할 수 있다. 발견될 때 통지하기가 인에이블될 때, 일 실시예에서, 무선 액세서리는 가벼운 분실 모드로 배치될 수 있다. 디바이스 위치파악 UI(204)와 연관된 전자 디바이스는, 무선 액세서리가 미래 시간 기간(예를 들어, 다음 24시간, 다음 48시간 등) 동안 비콘 신호와 함께 브로드캐스트할 공개 키들의 세트를 생성할 수 있다. 미래 키들 중 하나를 사용하여 탐지기 디바이스에 의해 신호가 검출되는 경우, 디바이스 위치파악 서버는 사용자와 연관된 하나 이상의 전자 디바이스들에 통지할 수 있다.
다른 선택가능한 사용자 인터페이스 요소(907)는 무선 액세서리를 명시적 분실 모드에 배치할 수 있다. 분실 모드로 명시적으로 배치될 때, 무선 액세서리는, 디바이스를 분실 모드로 배치하는 사용자 또는 소유자에 의해 액세서리가 잠금해제될 때까지, 다른 디바이스들과 페어링될 수 없을 것이다. 무선 액세서리를 분실 모드로 배치하라는 요청을 전송할 때, 요청 사용자는, 요청 사용자가 분실된 액세서리 상에서 분실 모드가 개시될 것을 요청하도록 인가되는 것을 보장하기 위해, 인증 정보를 입력하도록 요구될 수 있다. 인증 정보는 사용자, 전자 디바이스, 및 무선 액세서리가 연관되는 클라우드 서비스 계정과 같은 사용자의 계정과 연관된 사용자명 또는 패스워드를 포함할 수 있다. 인증 정보는 또한 지문 또는 얼굴 인식 데이터와 같은 생체측정 정보를 포함할 수 있다.
일 실시예에서, 분실된 무선 액세서리를 발견하는 사람에게 요청 사용자와 연락하는 방법에 관해 경보하기 위해, 요청 사용자에 의해 제공된 메시지 및 연락처 정보가 사용자 디바이스 상에 디스플레이될 수 있다. 일 실시예에서, 메시지 및 연락처 정보는, 다른 사용자가 다른 전자 디바이스를 분실된 액세서리와 페어링하려고 시도할 때 디스플레이될 수 있다.
도 10은 일 실시예에 따른, 분실된 무선 액세서리와 페어링하려고 시도할 때 디스플레이되는 액세서리 페어링 UI(302)를 예시한다. 일 실시예에서, 도 9의 전자 디바이스(9000)와 상이하고 무선 액세서리의 등록된 사용자 또는 소유자와 연관되지 않은 전자 디바이스(1000)가 분실된 무선 액세서리와 페어링하려고 시도할 때, 전자 디바이스의 액세서리 페어링 UI는 도 10에 도시된 바와 같이 디스플레이될 수 있다. 일 실시예에서, 액세서리 페어링 UI(302)는 무선 액세서리와 연관된 이름 또는 설명(1001)뿐만 아니라, 액세서리를 분실 모드로 배치할 시 액세서리의 사용자에 의해 입력된 메시지(1002)를 디스플레이할 수 있다. 연락처 정보(1004)는 또한, 제공된 연락처 정보(1004)를 사용함으로써 전자 디바이스(1000)가 요청 사용자에게 연락할 수 있게 하는, 버튼과 같은, 사용자 인터페이스 요소(1006)와 함께 디스플레이될 수 있다.
본 명세서에 설명된 실시예들은, 호출 프로그램 코드가 하나 이상의 프로그래밍 인터페이스들을 통해 호출되는 다른 프로그램 코드와 상호작용하는 환경에서의 하나 이상의 애플리케이션 프로그래밍 인터페이스(API)들을 포함한다. 다양한 종류의 파라미터들을 추가로 포함할 수 있는 다양한 함수 호출들, 메시지들 또는 다른 유형들의 인보케이션(invocation)들은 API들을 통해 호출 프로그램과 호출되는 코드 사이에서 전달될 수 있다. 또한, API는, API에서 정의되고, 호출된 프로그램 코드에서 구현되는 데이터 유형들 또는 클래스들을 사용하는 능력을 호출 프로그램 코드에 제공할 수 있다.
API는 API 호출 컴포넌트의 개발자(제3자의 개발자일 수 있음)가 API 구현 컴포넌트에 의해 제공되는 특정된 특징들을 레버리징하게 한다. 하나의 API 호출 컴포넌트가 있을 수 있거나, 하나 초과의 그러한 컴포넌트가 있을 수 있다. API는 애플리케이션으로부터의 서비스에 대한 요청을 지원하기 위하여 컴퓨터 시스템 또는 프로그램 라이브러리가 제공하는 소스 코드 인터페이스일 수 있다. 운영 체제(OS)는 다수의 API들을 가져서 OS 상에서 실행되는 애플리케이션들이 그 API들 중 하나 이상을 호출하게 할 수 있으며, (프로그램 라이브러리와 같은) 서비스는 다수의 API들을 가져서 그 서비스를 사용하는 애플리케이션이 그 API들 중 하나 이상을 호출하게 할 수 있다. API는 애플리케이션이 구축될 때 해석되거나 컴파일링될 수 있는 프로그래밍 언어에 의해 규정될 수 있다.
일부 실시예들에서, API 구현 컴포넌트는 하나 초과의 API를 제공할 수 있고, API는 각각 API 구현 컴포넌트에 의해 구현되는 기능성의 상이한 양태들에 액세스하는 상이한 양태들의 상이한 뷰 또는 상이한 양태들을 갖는 상이한 뷰를 제공한다. 예를 들어, API 구현 컴포넌트 중 하나의 API는 제1 기능 세트를 제공할 수 있고 제3자의 개발자에게 노출될 수 있으며, API 구현 컴포넌트 중 다른 API는 숨겨질(노출되지 않을) 수 있고 제1 기능 세트의 서브세트를 제공하고 또한 제1 기능 세트에는 없는 테스팅 및 디버깅 기능과 같은 다른 기능 세트를 제공할 수 있다. 다른 실시예들에서, API 구현 컴포넌트 자체는 기본 API를 통해 하나 이상의 다른 컴포넌트들을 호출할 수 있고, 따라서 API 호출 컴포넌트와 API 구현 컴포넌트 둘 모두가 될 수 있다.
API는 API 호출 컴포넌트들이 API 구현 컴포넌트의 특정된 특징들에 액세스하여 이를 사용할 때 API 호출 컴포넌트가 사용하는 언어와 파라미터를 정의한다. 예를 들면, API 호출 컴포넌트는 API에 의해 노출된 하나 이상의 API 호출들 또는 (예를 들면, 함수 또는 메소드 호출들에 의하여 구현된) 인보케이션들을 통해 API 구현 컴포넌트의 특정된 특징들에 액세스하고, API 호출들 또는 인보케이션들을 통해 파라미터들을 사용하여 데이터 및 제어 정보를 전달한다. API 구현 컴포넌트는 API 호출 컴포넌트로부터의 API 호출에 응답하여 API를 통해 값을 반환할 수 있다. API는 API 호출의 신택스(syntax) 및 결과(예를 들어, API 호출을 어떻게 작동시키는지 그리고 API 호출이 무엇을 하는지)를 정의하지만, API는 API 호출이 API 호출에 의하여 특정된 기능을 어떻게 성취하는지 드러내지 않을 수 있다. 호출(API 호출 컴포넌트)과 API 구현 컴포넌트 사이에서 하나 이상의 애플리케이션 프로그래밍 인터페이스들을 통해 다양한 API 호출들이 전달된다. API 호출들을 전달하는 것은 함수 호출 또는 메시지를 발행, 개시, 작동, 호출, 수신, 반환, 또는 그에 대해 응답하는 것을 포함할 수 있다. 다시 말하면, 전달은 API 호출 컴포넌트 또는 API 구현 컴포넌트 중 어느 하나에 의한 작용들을 설명할 수 있다. API의 함수 호출들 또는 다른 인보케이션들은 파라미터 리스트 또는 다른 구조를 통하여 하나 이상의 파라미터들을 주고 받을 수 있다. 파라미터는 상수, 키(key), 데이터 구조, 객체, 객체 클래스, 변수, 데이터 유형, 포인터, 배열, 리스트 또는 함수 또는 메소드에 대한 포인터, 또는 API를 통해 전달될 데이터 또는 다른 항목을 참조하기 위한 다른 방법일 수 있다.
또한, 데이터 유형 또는 클래스가 API에 의하여 제공되고 API 구현 컴포넌트에 의하여 구현될 수 있다. 따라서, API 호출 컴포넌트는 API에서 제공되는 정의들을 사용함으로써 그러한 유형들 또는 클래스들의 변수들을 선언하거나, 이들에 대한 포인터들을 사용하거나, 이들의 상수 값을 사용 또는 인스턴스화할(instantiate) 수 있다.
일반적으로, API를 사용하여 API 구현 컴포넌트에 의하여 제공되는 서비스 또는 데이터에 액세스하거나 API 구현 컴포넌트에 의하여 제공되는 동작 또는 연산의 수행을 개시할 수 있다. 예로서, API 구현 컴포넌트 및 API 호출 컴포넌트는 각각 운영 체제, 라이브러리, 디바이스 드라이버, API, 애플리케이션 프로그램, 또는 다른 모듈 중에서 임의의 것일 수 있다(API 구현 컴포넌트 및 API 호출 컴포넌트가 서로 동일하거나 상이한 유형의 모듈일 수 있음이 이해되어야 한다). API 구현 컴포넌트들은 일부 경우에 적어도 부분적으로 펌웨어, 마이크로코드 또는 다른 하드웨어 로직으로 구현될 수 있다. 일부 실시예들에서, API는 클라이언트 프로그램이 소프트웨어 개발 키트(Software Development Kit, SDK) 라이브러리에 의해 제공된 서비스들을 사용하도록 허용할 수 있다. 다른 실시예들에서, 애플리케이션 또는 다른 클라이언트 프로그램은 애플리케이션 프레임워크에 의해 제공되는 API를 사용할 수 있다. 이 실시예들에서, 애플리케이션 또는 클라이언트 프로그램은 SDK에 의해 제공되고 API에 의해 제공되는 함수들 또는 메소드들에 대한 호출들을 통합시킬 수 있거나, SDK에서 정의되고 API에 의해 제공되는 데이터 유형들 또는 객체들을 사용할 수 있다. 애플리케이션 프레임워크는 이 실시예들에서, 프레임워크에 의해 정의된 다양한 이벤트들에 응답하는 프로그램에 대한 메인 이벤트 루프(main event loop)를 제공할 수 있다. API는 애플리케이션이 애플리케이션 프레임워크를 사용하여 이벤트들 및 이벤트들에 대한 응답들을 특정하게 할 수 있다. 일부 구현예들에서, API 호출은 입력 능력들 및 상태, 출력 능력들 및 상태, 프로세싱 능력, 전원 상태, 저장 용량 및 상태, 통신 능력 등과 같은 측면들에 관계되는 것들을 포함하는 하드웨어 디바이스의 능력 또는 상태를 애플리케이션에 보고할 수 있고, API는 펌웨어, 마이크로코드, 또는 하드웨어 컴포넌트 상에서 부분적으로 실행되는 다른 저레벨 로직에 의하여 부분적으로 구현될 수 있다.
API 호출 컴포넌트는 로컬 컴포넌트(즉, API 구현 컴포넌트와 동일한 데이터 프로세싱 시스템 상의) 또는 네트워크를 통해 API를 통하여 API 구현 컴포넌트와 통신하는 원격 컴포넌트(즉, API 구현 컴포넌트와 상이한 데이터 프로세싱 시스템 상의)일 수 있다. API 구현 컴포넌트가 또한 API 호출 컴포넌트로서의 역할을 할 수도 있고(즉, 그것은 상이한 API 구현 컴포넌트에 의해 노출된 API에 API 호출을 행할 수 있다), 상이한 API 호출 컴포넌트에 노출되는 API를 구현함으로써 API 호출 컴포넌트가 또한 API 구현 컴포넌트로서의 역할을 할 수 있음이 이해되어야 한다.
API는 상이한 프로그래밍 언어들로 기록된 다수의 API 호출 컴포넌트들이 API 구현 컴포넌트와 통신하도록 허용할 수 있지만(따라서, API는 API 구현 컴포넌트와 API 호출 컴포넌트 사이에서 호출과 반환을 변환시키기 위한 특징들을 포함할 수 있음); API는 특정 프로그래밍 언어의 관점에서 구현될 수 있다. 일 실시예에서, API 호출 컴포넌트는 OS 공급자로부터의 API 세트, 플러그인 공급자로부터의 다른 API 세트, 다른 공급자로부터의 다른 API 세트(예를 들어, 소프트웨어 라이브러리의 공급자) 또는 다른 API 세트의 생성자와 같은, 상이한 공급자들로부터의 API들을 호출할 수 있다.
도 11은 본 발명의 일부 실시예들에서 사용될 수 있는 예시적인 API 아키텍처를 예시하는 블록도이다. 도 11에 도시된 바와 같이, API 아키텍처(1100)는 API(1120)를 구현하는 API 구현 컴포넌트(1110)(예컨대, 운영 체제, 라이브러리, 디바이스 드라이버, API, 애플리케이션 프로그램, 소프트웨어 또는 다른 모듈)를 포함한다. API(1120)는 하나 이상의 함수들, 메소드들, 클래스들, 객체들, 프로토콜들, 데이터 구조들, 포맷들, 및/또는 API 호출 컴포넌트(1130)에 의해 사용될 수 있는 API 구현 컴포넌트의 다른 특징들을 특정한다. API(1120)는 API 구현 컴포넌트 내의 함수가 어떻게 API 호출 컴포넌트로부터 파라미터들을 받는지, 그리고 이 함수가 어떻게 API 호출 컴포넌트로 결과를 반환하는지를 특정하는 적어도 하나의 호출 규약(calling convention)을 특정할 수 있다. API 호출 컴포넌트(1130)(예를 들어, 운영 체제, 라이브러리, 디바이스 드라이버, API, 애플리케이션 프로그램, 소프트웨어 또는 다른 모듈)는 API(1120)를 통해 API 호출을 행하여, API(1120)에 의해 특정되는 API 구현 컴포넌트(1110)의 특징들에 액세스하고 이를 사용한다. API 구현 컴포넌트(1110)는 API 호출에 응답하여 API(1120)를 통해 API 호출 컴포넌트(1130)로 값을 반환할 수 있다.
API 구현 컴포넌트(1110)가 API(1120)를 통해 특정되지 않고 API 호출 컴포넌트(1130)에 이용가능하지 않은 부가적인 함수들, 메소드들, 클래스들, 데이터 구조들, 및/또는 다른 특징들을 포함할 수 있음이 이해될 것이다. API 호출 컴포넌트(1130)가 API 구현 컴포넌트(1110)와 동일한 시스템 상에 있을 수 있거나, 원격으로 위치되어 네트워크를 통해 API(1120)를 사용하여 API 구현 컴포넌트(1110)에 액세스할 수 있다는 것을 이해해야 한다. 도 11이 API(1120)와 상호작용하는 단일 API 호출 컴포넌트(1130)를 예시하지만, API 호출 컴포넌트(1130)와는 상이한 언어(또는 동일한 언어)로 작성될 수 있는 다른 API 호출 컴포넌트들이 API(1120)를 사용할 수 있다는 것을 이해해야 한다.
API 구현 컴포넌트(1110), API(1120) 및 API 호출 컴포넌트(1130)는 기계(예를 들어, 컴퓨터 또는 다른 데이터 프로세싱 시스템)에 의해 판독가능한 형태로 정보를 저장하기 위한 임의의 메커니즘을 포함하는 기계 판독가능 매체에 저장될 수 있다. 예를 들어, 기계 판독가능 매체는 자기 디스크, 광 디스크, 랜덤 액세스 메모리; 판독 전용 메모리, 플래시 메모리 디바이스 등을 포함한다.
도 12는 일 실시예에 따른, 모바일 또는 임베디드 디바이스에 대한 디바이스 아키텍처(1200)의 블록도이다. 디바이스 아키텍처(1200)는 메모리 인터페이스(1202), 하나 이상의 데이터 프로세서들을 포함하는 프로세싱 시스템(1204), 이미지 프로세서들 및/또는 그래픽 프로세싱 유닛들, 및 주변기기 인터페이스(1206)를 포함한다. 다양한 컴포넌트들은 하나 이상의 통신 버스들 또는 신호 라인들에 의해 결합될 수 있다. 다양한 컴포넌트들은 별개의 논리 컴포넌트들 또는 디바이스들일 수 있거나, 시스템 온 칩 집적 회로에서와 같이 하나 이상의 집적 회로들 내에 통합될 수 있다.
메모리 인터페이스(1202)는 메모리(1250)에 결합될 수 있는데, 메모리(1250)는 정적 랜덤 액세스 메모리(SRAM) 또는 동적 랜덤 액세스 메모리(DRAM)와 같은 고속 랜덤 액세스 메모리 및/또는 플래시 메모리(예컨대, NAND 플래시, NOR 플래시 등)와 같은 그러나 이로 제한되지 않는 비휘발성 메모리를 포함할 수 있다.
센서들, 디바이스들 및 서브시스템들은 다수의 기능들을 용이하게 하기 위해 주변기기 인터페이스(1206)에 결합될 수 있다. 예를 들어, 모션 센서(1210), 광 센서(1212) 및 근접 센서(1214)는 모바일 디바이스 기능성을 용이하게 하기 위하여 주변기기 인터페이스(1206)에 결합될 수 있다. 지문 인식을 위한 지문 스캐너 또는 얼굴 인식을 위한 이미지 센서와 같은 하나 이상의 생체측정 센서(들)(1215)가 또한 존재할 수 있다. 다른 센서들(1216)이 또한 포지셔닝 시스템(예를 들어, GPS 수신기), 온도 센서, 또는 다른 감지 디바이스와 같은 주변기기 인터페이스(1206)에 연결되어 관련 기능들을 용이하게 할 수 있다. 카메라 서브시스템(1220) 및 광학 센서(1222), 예를 들어, CCD(charged coupled device) 또는 CMOS(complementary metal-oxide semiconductor) 광학 센서는, 사진들 및 비디오 클립들을 레코딩하는 것과 같은, 카메라 기능들을 용이하게 하기 위해 이용될 수 있다.
통신 기능들은 무선 주파수 수신기들과 송신기들 및/또는 광학(예컨대, 적외선) 수신기들과 송신기들을 포함할 수 있는, 하나 이상의 무선 통신 서브시스템들(1224)을 통해 용이하게 될 수 있다. 무선 통신 서브시스템들(1224)의 구체적인 설계 및 구현은 모바일 디바이스가 동작하도록 의도되어 있는 통신 네트워크(들)에 의존할 수 있다. 예를 들어, 예시된 디바이스 아키텍처(1200)를 포함하는 모바일 디바이스는 GSM 네트워크, CDMA 네트워크, LTE 네트워크, Wi-Fi 네트워크, 블루투스 네트워크, 또는 임의의 다른 무선 네트워크를 통해 동작하도록 설계된 무선 통신 서브시스템들(1224)을 포함할 수 있다. 특히, 무선 통신 서브시스템들(1224)은 통신 메커니즘을 제공할 수 있으며, 이를 통해 미디어 재생 애플리케이션이 원격 미디어 서버로부터 리소스들을 검색하거나 또는 원격 캘린더 또는 이벤트 서버로부터 스케줄링된 이벤트들을 검색할 수 있다.
오디오 서브시스템(1226)은 음성 인식, 음성 복제, 디지털 녹음, 및 전화통신 기능들과 같은 음성 지원 기능들을 용이하게 하기 위해 스피커(1228) 및 마이크로폰(1230)에 결합될 수 있다. 본 명세서에 설명된 스마트 미디어 디바이스들에서, 오디오 서브시스템(1226)은 가상 서라운드 사운드를 위한 지원을 포함하는 고품질 오디오 시스템일 수 있다.
I/O 서브시스템(1240)은 터치 스크린 제어기(1242) 및/또는 다른 입력 제어기(들)(1245)를 포함할 수 있다. 디스플레이 디바이스를 포함하는 컴퓨팅 디바이스들의 경우, 터치 스크린 제어기(1242)는 터치 감응형 디스플레이 시스템(1246)(예를 들어, 터치 스크린)에 결합될 수 있다. 터치 감응형 디스플레이 시스템(1246)과 터치 스크린 제어기(1242)는, 예를 들어, 용량성, 저항성, 적외선, 및 표면 탄성파(surface acoustic wave) 기술들 뿐만 아니라, 터치 감응형 디스플레이 시스템(1246)과의 하나 이상의 접촉점들을 결정하기 위한 다른 근접 센서 어레이들 또는 다른 요소들을 포함하는(그러나 이에 제한되지 않음) 복수의 터치 및 압력 감지 기술들 중 임의의 기술을 사용하여 접촉 및 이동 및/또는 압력을 검출할 수 있다. 터치 감응형 디스플레이 시스템(1246)에 대한 디스플레이 출력은 디스플레이 제어기(1243)에 의해 생성될 수 있다. 일 실시예에서, 디스플레이 제어기(1243)는 터치 감응형 디스플레이 시스템(1246)에 가변 프레임 레이트로 프레임 데이터를 제공할 수 있다.
일 실시예에서, 모션 센서(1210), 광 센서(1212), 근접 센서(1214), 또는 다른 센서들(1216) 중 하나 이상으로부터 수신된 데이터를 모니터링, 제어, 및/또는 프로세싱하도록 센서 제어기(1244)가 포함된다. 센서 제어기(1244)는 센서들로부터의 센서 데이터의 분석에 의해 하나 이상의 모션 이벤트들 또는 활동들의 발생을 결정하도록 센서 데이터를 해석하기 위한 로직을 포함할 수 있다.
일 실시예에서, I/O 서브시스템(1240)은 다른 입력/제어 디바이스들(1248), 예를 들어 하나 이상의 버튼들, 로커 스위치(rocker switch)들, 지동륜(thumb-wheel), 적외선 포트, USB 포트, 및/또는 스타일러스와 같은 포인터 디바이스, 또는 스피커(1228) 및/또는 마이크로폰(1230)의 볼륨 제어를 위한 업/다운 버튼과 같은 제어 디바이스들에 결합될 수 있는 다른 입력 제어기(들)(1245)를 포함한다.
일 실시예에서, 메모리 인터페이스(1202)에 결합된 메모리(1250)는 휴대용 운영 체제 인터페이스(portable operating system interface, POSIX) 호환 및 비-호환 운영 체제 또는 임베디드 운영 체제를 포함하는 운영 체제(1252)에 대한 명령어들을 저장할 수 있다. 운영 체제(1252)는 기본 시스템 서비스들을 취급하고 하드웨어 의존형 태스크들을 수행하기 위한 명령어들을 포함할 수 있다. 일부 구현예들에서, 운영 체제(1252)는 커널일 수 있다.
메모리(1250)는 또한 예를 들어, 원격 웹 서버들로부터 웹 리소스들을 검색하기 위해 하나 이상의 부가적인 디바이스들, 하나 이상의 컴퓨터들 및/또는 하나 이상의 서버들과의 통신을 용이하게 하기 위한 통신 명령어들(1254)을 저장할 수 있다. 메모리(1250)는 또한 그래픽 사용자 인터페이스 프로세싱을 용이하게 하기 위한 그래픽 사용자 인터페이스 명령어들을 포함한 사용자 인터페이스 명령어들(1256)을 포함할 수 있다.
추가적으로, 메모리(1250)는 센서 관련 프로세싱 및 기능들을 용이하게 하기 위한 센서 프로세싱 명령어들(1258); 전화 관련 프로세스들 및 기능들을 용이하게 하기 위한 전화통신 명령어들(1260); 전자 메시징 관련 프로세스들 및 기능들을 용이하게 하기 위한 메시징 명령어들(1262); 웹 브라우징 관련 프로세스들 및 기능들을 용이하게 하기 위한 웹 브라우저 명령어들(1264); 미디어 프로세싱 관련 프로세스들 및 기능들을 용이하게 하기 위한 미디어 프로세싱 명령어들(1266); 위치 기반 기능성을 용이하게 하기 위한 GPS 및/또는 내비게이션 명령어들(1268) 및 Wi-Fi 기반 위치 명령어들을 포함하는 위치 서비스 명령어들; 카메라 관련 프로세스들 및 기능들을 용이하게 하기 위한 카메라 명령어들(1270); 및/또는 다른 프로세스들 및 기능들, 예를 들어, 보안 프로세스들 및 기능들, 및 시스템들에 관련된 프로세스들 및 기능들을 용이하게 하기 위한 다른 소프트웨어 명령어들(1272)을 저장할 수 있다. 메모리(1250)는 또한 기타 소프트웨어 명령어들, 예를 들어 웹 비디오 관련 프로세스들 및 기능들을 용이하게 하기 위한 웹 비디오 명령어들; 및/또는 웹 쇼핑 관련 프로세스들 및 기능들을 용이하게 하기 위한 웹 쇼핑 명령어들을 저장할 수 있다. 일부 구현예들에서, 미디어 프로세싱 명령어들(1266)은 오디오 프로세싱 관련 프로세스들 및 기능들 및 비디오 프로세싱 관련 프로세스들 및 기능들을 각각 용이하게 하기 위한 오디오 프로세싱 명령어들 및 비디오 프로세싱 명령어들로 나뉜다. IMEI(International Mobile Equipment Identity)(1274)와 같은 모바일 장비 식별자 또는 유사한 하드웨어 식별자가 또한 메모리(1250)에 저장될 수 있다.
위에 식별된 명령어들 및 애플리케이션들 각각은 위에서 설명된 하나 이상의 기능들을 수행하기 위한 명령어들의 세트에 대응할 수 있다. 이들 명령어들은 별개의 소프트웨어 프로그램들, 절차들, 또는 모듈들로서 구현될 필요는 없다. 메모리(1250)는 추가의 명령어들 또는 더 적은 수의 명령어들을 포함할 수 있다. 또한, 다양한 기능들은, 하나 이상의 신호 프로세싱 및/또는 ASIC(application specific integrated circuit)들을 포함하여, 하드웨어로 그리고/또는 소프트웨어로 구현될 수 있다.
도 13은 일 실시예에 따른, 컴퓨팅 시스템(1300)의 블록도이다. 예시된 컴퓨팅 시스템(1300)은, 예를 들어, 데스크톱 컴퓨터 시스템, 랩톱 컴퓨터 시스템, 태블릿 컴퓨터 시스템, 셀룰러 전화기, 셀룰러-가능 PDA를 포함하는 개인 휴대 정보 단말기(PDA), 셋톱 박스, 엔터테인먼트 시스템 또는 다른 소비자 전자 디바이스들, 스마트 기기 디바이스, 또는 스마트 미디어 재생 디바이스의 하나 이상의 구현예들을 포함하는 다양한 컴퓨팅 시스템들(유선 또는 무선 중 어느 하나임)을 표현하도록 의도된다. 대안적인 컴퓨팅 시스템들은 더 많은, 더 적은 그리고/또는 상이한 컴포넌트들을 포함할 수 있다. 컴퓨팅 시스템(1300)은 컴퓨팅 디바이스 및/또는 컴퓨팅 디바이스가 연결될 수 있는 서버 디바이스를 제공하는 데 사용될 수 있다.
컴퓨팅 시스템(1300)은, 정보를 통신하기 위한 버스(1335) 또는 다른 통신 디바이스, 및 버스(1335)에 결합되고 정보를 프로세싱할 수 있는 프로세서(들)(1310)를 포함한다. 컴퓨팅 시스템(1300)이 단일 프로세서를 갖는 것으로 예시되지만, 컴퓨팅 시스템(1300)은 다수의 프로세서들 및/또는 코프로세서들을 포함할 수 있다. 컴퓨팅 시스템(1300)은 랜덤 액세스 메모리(RAM) 또는 버스(1335)에 결합된 다른 동적 저장 디바이스 형태의 메모리(1320)를 추가로 포함할 수 있다. 메모리(1320)는 프로세서(들)(1310)에 의해 실행될 수 있는 정보 및 명령어들을 저장할 수 있다. 메모리(1320)는 또한, 프로세서(들)(1310)에 의한 명령어들의 실행 동안 임시 변수들 또는 다른 중간 정보를 저장하는 데 사용되는 메인 메모리일 수 있다.
컴퓨팅 시스템(1300)은 또한, 버스(1335)에 결합되고, 프로세서(들)(1310)에 대한 정보 및 명령어들을 저장할 수 있는 판독 전용 메모리(ROM)(1330) 및/또는 다른 데이터 저장 디바이스(1340)를 포함할 수 있다. 데이터 저장 디바이스(1340)는 플래시 메모리 디바이스, 자기 디스크, 또는 광학 디스크와 같은 다양한 저장 디바이스들일 수 있거나 그를 포함할 수 있고, 버스(1335)를 통해 또는 원격 주변기기 인터페이스를 통해 컴퓨팅 시스템(1300)에 결합될 수 있다.
컴퓨팅 시스템(1300)은 또한 버스(1335)를 통해 디스플레이 디바이스(1350)에 결합되어, 사용자에게 정보를 디스플레이할 수 있다. 컴퓨팅 시스템(1300)은 또한, 정보 및 커맨드 선택들을 프로세서(들)(1310)에 통신하도록 버스(1335)에 결합될 수 있는 영숫자 및 다른 키들을 포함하는 영숫자 입력 디바이스(1360)를 포함할 수 있다. 다른 유형의 사용자 입력 디바이스는 방향 정보 및 커맨드 선택들을 프로세서(들)(1310)에 통신하고 디스플레이 디바이스(1350) 상에서의 커서 움직임을 제어하기 위한 터치패드, 마우스, 트랙볼, 또는 커서 방향 키들과 같은 커서 제어(1370) 디바이스를 포함한다. 컴퓨팅 시스템(1300)은 또한 하나 이상의 네트워크 인터페이스들(1380)을 통해 통신가능하게 결합되는 원격 디바이스로부터 사용자 입력을 수신할 수 있다.
컴퓨팅 시스템(1300)은 로컬 영역 네트워크와 같은 네트워크에 대한 액세스를 제공하기 위한 하나 이상의 네트워크 인터페이스(들)(1380)를 추가로 포함할 수 있다. 네트워크 인터페이스(들)(1380)는, 예를 들어, 하나 이상의 안테나(e)를 표현할 수 있는 안테나(1385)를 갖는 무선 네트워크 인터페이스를 포함할 수 있다. 컴퓨팅 시스템(1300)은 Wi-Fi, 블루투스®, 근거리 통신(NFC), 및/또는 셀룰러 전화통신 인터페이스들의 조합과 같은 다수의 무선 네트워크 인터페이스들을 포함할 수 있다. 예를 들어, 네트워크 인터페이스(들)(1380)는 또한, 예를 들어, 이더넷 케이블, 동축 케이블, 광섬유 케이블, 직렬 케이블, 또는 병렬 케이블일 수 있는 네트워크 케이블(1387)을 통해 원격 디바이스들과 통신하기 위한 유선 네트워크 인터페이스를 포함할 수 있다.
일 실시예에서, 네트워크 인터페이스(들)(1380)는, 예를 들어, IEEE 802.11 무선 표준들을 준수함으로써 로컬 영역 네트워크에 대한 액세스를 제공할 수 있고, 그리고/또는, 무선 네트워크 인터페이스는, 예를 들어, 블루투스 표준들을 준수함으로써 개인 영역 네트워크에 대한 액세스를 제공할 수 있다. 다른 무선 네트워크 인터페이스들 및/또는 프로토콜들이 또한 지원될 수 있다. 무선 LAN 표준들을 통한 통신에 부가하여 또는 그 대신, 네트워크 인터페이스(들)(1380)는, 예를 들어, 시분할 다중 액세스(TDMA) 프로토콜들, 모바일 통신들을 위한 글로벌 시스템(GSM) 프로토콜들, 코드 분할 다중 액세스(CDMA) 프로토콜들, 롱 텀 에볼루션(LTE) 프로토콜들, 및/또는 임의의 다른 유형의 무선 통신 프로토콜을 사용하여 무선 통신들을 제공할 수 있다.
컴퓨팅 시스템(1300)은 하나 이상의 에너지원들(1305) 및 하나 이상의 에너지 측정 시스템들(1345)을 추가로 포함할 수 있다. 에너지원들(1305)은 외부 전원에 결합된 AC/DC 어댑터, 하나 이상의 배터리들, 하나 이상의 전하 저장 디바이스들, USB 충전기, 또는 다른 에너지원을 포함할 수 있다. 에너지 측정 시스템들은 미리결정된 기간 동안 컴퓨팅 시스템(1300)에 의해 소비된 에너지를 측정할 수 있는 적어도 하나의 전압 또는 암페어수 측정 디바이스를 포함한다. 추가적으로, 예를 들어, 디스플레이 디바이스, 냉각 서브시스템, WiFi 서브시스템, 또는 다른 자주 사용되거나 높은-에너지 소비 서브시스템에 의해 소비된 에너지를 측정하는 하나 이상의 에너지 측정 시스템들이 포함될 수 있다.
일부 실시예들에서, 본 명세서에 설명된 해시 함수들은 시스템(클라이언트 디바이스 또는 서버)의 특수화된 하드웨어 회로부(또는 펌웨어)를 이용할 수 있다. 예를 들어, 함수는 하드웨어 가속 함수일 수 있다. 부가적으로, 일부 실시예들에서, 시스템은 특수화된 명령어 세트의 일부인 함수를 사용할 수 있다. 예를 들어, 특정 유형의 마이크로프로세서에 대한 명령어 세트 아키텍처로의 확장일 수 있는 명령어 세트를 사용할 수 있다. 따라서, 일 실시예에서, 시스템은 이들 명령어 세트들을 사용하여 본 명세서에 설명된 기능들을 수행하는 속도를 개선시키기 위해 암호화 동작들을 수행하기 위한 하드웨어 가속 메커니즘을 제공할 수 있다.
본 명세서에서의 "하나의 실시예" 또는 "일 실시예"에 대한 언급은 그 실시예와 관련하여 설명된 특정한 특징, 구조, 또는 특성이 본 발명의 적어도 하나의 실시예에 포함될 수 있음을 의미한다. 본 명세서 내의 여러 곳에 나오는 문구 "하나의 실시예에서"는 반드시 모두 동일한 실시예를 언급하는 것은 아니다. 뒤따르는 도면들에 묘사된 프로세스들은 하드웨어(예를 들어, 회로부, 전용 로직 등), (비일시적 기계 판독가능 저장 매체 상의 명령어들과 같은) 소프트웨어, 또는 하드웨어와 소프트웨어 둘 모두의 조합을 포함하는 프로세싱 로직에 의해 수행된다. 다양한 실시예들이 상세하게 참조될 것이며, 그 실시예들의 예들이 첨부 도면들에 예시된다. 하기의 상세한 설명에서, 많은 구체적인 상세사항들이 본 발명의 완전한 이해를 제공하기 위해 기재된다. 그러나, 본 발명이 이들 구체적인 상세사항들 없이 실시될 수 있다는 것은 당업자에게 명백할 것이다. 다른 예들에서, 잘 알려진 방법들, 절차들, 컴포넌트들, 회로들, 및 네트워크들은 실시예들의 양태들을 불필요하게 모호하게 하지 않기 위해 상세히 기술되지 않았다.
용어들 "제1", "제2" 등이 다양한 요소들을 설명하기 위해 본 명세서에서 사용될 수 있지만, 이들 요소들은 이들 용어들에 의해 제한되어서는 안 된다는 것이 또한 이해될 것이다. 이러한 용어들은 하나의 요소를 다른 요소와 구별하는 데에만 사용된다. 예를 들어, 본 발명의 범주로부터 벗어남이 없이, 제1 접촉이 제2 접촉으로 지칭될 수 있고, 유사하게, 제2 접촉이 제1 접촉으로 지칭될 수 있다. 제1 접촉 및 제2 접촉은 둘 다 접촉이지만, 그들이 동일한 접촉인 것은 아니다.
본 명세서에서 사용되는 용어는 단지 특정 실시예들만을 설명하는 목적을 위한 것이고, 모든 실시예들을 제한하도록 의도되지 않는다. 본 발명의 설명 및 첨부된 청구범위에 사용되는 바와 같이, 단수의 형태들("a", "an" 및 "the")은 문맥상 명백히 다르게 나타나지 않는다면 복수의 형태들도 또한 포함하는 것으로 의도된다. 또한, 본 명세서에서 사용되는 바와 같은 용어 "및/또는"은 열거되는 연관된 항목들 중 하나 이상의 항목들의 임의의 그리고 모든 가능한 조합들을 나타내고 그들을 포괄하는 것임이 이해될 것이다. 본 명세서에서 사용될 때 "포함한다(comprise)", 및/또는 포함하는(comprising)"이라는 용어들은 진술되는 특징들, 정수들, 단계들, 동작들, 요소들, 및/또는 컴포넌트들의 존재를 특정하지만, 하나 이상의 다른 특징들, 정수들, 단계들, 동작들, 요소들, 컴포넌트들 및/또는 이들의 그룹들의 존재 또는 추가를 배제하지 않는다는 것이 추가로 이해될 것이다.
본 명세서에서 사용되는 바와 같이, 용어 "~는 경우(if)"는 문맥에 따라 "~할 때(when)" 또는 "~할 시(upon)" 또는 "결정하는 것에 응답하여(in response to determining)" 또는 "검출하는 것에 응답하여(in response to detecting)"를 의미하는 것으로 해석될 수 있다. 유사하게, 구절 "~라고 결정되는 경우" 또는 "[언급된 조건 또는 이벤트가] 검출되는 경우"는, 문맥에 따라 "~라고 결정할 시" 또는 "~라고 결정하는 것에 응답하여" 또는 "[언급된 조건 또는 이벤트]를 검출할 시" 또는 "[언급된 조건 또는 이벤트]를 검출하는 것에 응답하여"를 의미하는 것으로 해석될 수 있다.
컴퓨팅 디바이스들, 그러한 디바이스들을 위한 사용자 인터페이스들, 및 그러한 디바이스들을 사용하기 위한 연관된 프로세스들의 실시예들이 설명된다. 일부 실시예들에서, 컴퓨팅 디바이스는 PDA 및/또는 음악 재생기 기능들과 같은 다른 기능들을 또한 포함하는, 이동 전화기와 같은 휴대용 통신 디바이스이다. 휴대용 다기능 디바이스들의 예시적인 실시예들은 미국 캘리포니아주 쿠퍼티노 소재의 애플 컴퓨터 인크.(Apple Computer, Inc.)로부터의 아이폰(iPhone)®, 아이패드(iPad®), 및 아이팟 터치(iPod Touch)® 디바이스들을 제한 없이 포함한다.
전술한 설명에서, 본 개시내용의 예시적인 실시예들이 설명되었다. 본 개시내용의 더 넓은 사상 및 범주를 벗어나지 않으면서 다양한 수정들이 본 개시내용에 행해질 수 있다는 것은 명백할 것이다. 명세서 및 도면들은, 그에 따라, 제한적 의미보다는 오히려 예시적 의미에서 고려되어야 한다. 제공된 설명들 및 예들의 세부 사항은 하나 이상의 실시예들에서 어디에서나 사용될 수 있다. 상이한 실시예들 또는 예들의 다양한 특징들은 포함된 일부 특징들과 다양하게 조합될 수 있고, 다른 특징들은 다양한 상이한 응용들에 적합하도록 배제될 수 있다. 예들은 방법, 방법의 동작들을 수행하기 위한 수단, 기계에 의해 수행될 때 기계로 하여금 방법의 동작들을 수행하게 명령어들을 포함하는 적어도 하나의 기계 판독가능 매체, 또는 본 명세서에 설명된 실시예들 및 예들에 따른 장치 또는 시스템과 같은 주제를 포함할 수 있다. 부가적으로, 본 명세서에 설명된 다양한 컴포넌트들은 본 명세서에 설명된 동작들 또는 기능들을 수행하기 위한 수단일 수 있다.
본 명세서에 설명된 실시예들은 광역 네트워크에 대한 연결이 없는 무선 디바이스들 및 액세서리들의 위치를 크라우드소싱하기 위한 시스템 및 방법들을 제공한다. 일 실시예는 전자 디바이스 상의 사용자 인터페이스를 시작하는 것 - 사용자 인터페이스는 전자 디바이스와 연관된 무선 액세서리의 위치의 결정을 인에이블하기 위한 것임 -, 무선 액세서리에 의해 브로드캐스트되는 비콘 신호 내에 포함된 공개 키들의 세트를 생성하는 것 - 비콘 신호는 제1 기간 동안 브로드캐스트됨 -, 공개 키들의 세트 내의 공개 키에 대응하는 데이터를 반환하라는 요청과 함께 공개 키들의 세트를 서버로 전송하는 것, 공개 키와 연관된 개인 키를 사용하여 위치 데이터를 복호화하는 것, 무선 액세서리에 대한 가능성있는 위치를 결정하기 위해 위치 데이터를 프로세싱하는 것, 및 사용자 인터페이스를 통해 무선 액세서리에 대한 가능성있는 위치를 디스플레이하는 것을 포함하는 동작들을 수행하도록 구성된 데이터 프로세싱 시스템을 제공한다.
일 실시예는 실행을 위한 명령어들을 저장하는 메모리 및 메모리에 저장된 명령어들을 실행하는 하나 이상의 프로세서들을 포함하는 데이터 프로세싱 시스템을 제공한다. 명령어들은, 실행될 때 하나 이상의 프로세서들로 하여금, 데이터 프로세싱 시스템을 포함하는 전자 디바이스 상의 사용자 인터페이스를 시작하고 - 사용자 인터페이스는 전자 디바이스와 연관된 무선 액세서리의 위치의 결정을 인에이블하기 위한 것임 -, 무선 액세서리에 의해 브로드캐스트되는 비콘 신호 내에 포함된 공개 키들의 세트를 생성하고 - 비콘 신호는 제1 기간 동안 브로드캐스트됨 -, 공개 키들의 세트 내의 공개 키에 대응하는 데이터를 반환하라는 요청과 함께 공개 키들의 세트를 서버로 전송하고, 서버로부터의 위치 데이터의 수신에 응답하여 공개 키와 연관된 개인 키를 사용하여 위치 데이터를 복호화하고, 무선 액세서리에 대한 가능성있는 위치를 결정하기 위해 위치 데이터를 프로세싱하고, 사용자 인터페이스를 통해 무선 액세서리에 대한 가능성있는 위치를 디스플레이하게 한다.
일 실시예는 전자 디바이스 상에서 구현되는 방법을 제공하며, 본 방법은 전자 디바이스의 기저대역 프로세서를 사용하여 비콘 스캔을 수행하는 단계를 포함한다. 비콘 스캔은 전자 디바이스의 애플리케이션 프로세서가 저전력 상태에 있는 동안 수행될 수 있다. 본 방법은 기저대역 프로세서에 결합된 무선 라디오를 통해 비콘 데이터를 수신하는 단계를 추가로 포함하며, 비콘 데이터는 무선 액세서리를 식별하기 위한 것이다. 비콘 식별자는 무선 액세서리에 의해 생성된 공개 키일 수 있다. 본 방법은 타임스탬프 및 비콘 식별자를 비콘 스캔 버퍼에 저장하는 단계, 전자 디바이스의 애플리케이션 프로세서가 활성 상태에 있을 때 타임스탬프에 대응하는 전자 디바이스에 대한 위치를 결정하는 단계, 무선 액세서리에 대한 비콘 식별자를 사용하여 전자 디바이스에 대한 위치를 암호화하는 단계, 및 암호화된 위치 데이터, 비콘 식별자, 및 타임스탬프를 서버 디바이스로 송신하는 단계를 추가로 포함하며, 서버는 무선 액세서리와 연관된 전자 디바이스에 의한 검색을 위해 암호화된 위치 데이터를 저장하기 위한 것이다.
당업자는 전술한 설명으로부터, 실시예들의 광범위한 기술들이 다양한 형태로 구현될 수 있음을 이해할 것이다. 따라서, 실시예들이 그들의 특정 예들과 관련하여 설명되었지만, 다른 수정들이 도면, 명세서, 및 하기의 청구범위의 연구 시에 당업자에게 명백하게 될 것이므로, 실시예들의 진정한 범주는 그렇게 제한되지 않아야 한다.

Claims (9)

  1. 전자 디바이스 상에서 구현되는 방법으로서,
    상기 전자 디바이스의 기저대역 프로세서를 사용하여 비콘 스캔을 수행하는 단계;
    상기 기저대역 프로세서에 결합된 무선 라디오(wireless radio)를 통해, 무선 액세서리로부터 비콘 데이터를 수신하는 단계 - 상기 비콘 데이터는 상기 무선 액세서리를 식별하기 위한 것이고 비콘 식별자는 상기 무선 액세서리에 의해 생성된 공개 암호화 키임 -;
    상기 비콘 데이터와 연관된 타임스탬프 및 상기 비콘 식별자를 비콘 스캔 버퍼에 저장하는 단계;
    상기 전자 디바이스의 애플리케이션 프로세서가 활성 상태에 있을 때 상기 타임스탬프에 대응하는 상기 전자 디바이스에 대한 위치를 결정하는 단계;
    상기 무선 액세서리에 대한 상기 비콘 식별자를 사용하여 상기 전자 디바이스에 대한 상기 위치를 암호화하는 단계 - 상기 비콘 식별자는 상기 전자 디바이스에 대한 위치를 암호화하기 위한 상기 공개 암호화 키임 -; 및
    암호화된 위치 데이터, 상기 비콘 식별자, 및 상기 타임스탬프를 서버 디바이스로 송신하는 단계를 포함하며, 상기 서버 디바이스는 상기 무선 액세서리와 연관된 전자 디바이스에 의한 검색을 위해 상기 암호화된 위치 데이터를 저장하기 위한 것인, 방법.
  2. 제1항에 있어서, 상기 비콘 데이터와 연관된 신호에 대한 신호 강도 측정치를 결정하고 상기 암호화된 위치 데이터와 함께 상기 신호 강도 측정치를 송신하는 단계를 추가로 포함하는, 방법.
  3. 제1항에 있어서, 초광대역 라디오를 사용하여 상기 무선 액세서리까지의 거리를 결정하는 단계를 추가로 포함하는, 방법.
  4. 제1항에 있어서, 상기 비콘 스캔 버퍼가 가득 찼다는 결정에 응답하여 상기 전자 디바이스의 상기 애플리케이션 프로세서를 상기 활성 상태에 배치하는 단계를 추가로 포함하는, 방법.
  5. 제1항에 있어서, 상기 전자 디바이스에 대한 상기 위치를 결정하는 단계는,
    상기 전자 디바이스의 범위 내에서 서비스 세트 식별자(service set identifier)들의 목록을 수집하기 위해 주기적 Wi-Fi 스캔을 수행하는 단계; 및
    상기 전자 디바이스에 대한 상기 위치를 결정하는 단계를 포함하며, 상기 위치는 상기 서비스 세트 식별자들의 목록에 적어도 부분적으로 기초하여 결정되는, 방법.
  6. 제1항에 있어서,
    상기 암호화된 위치 데이터를 상기 전자 디바이스의 메모리 내의 송신 큐에 저장하는 단계; 및
    송신 간격 동안 상기 암호화된 위치 데이터를 상기 서버 디바이스로 송신하는 단계를 추가로 포함하는, 방법.
  7. 제1항에 있어서, 상기 전자 디바이스의 애플리케이션 프로세서가 저전력 상태에 있는 동안 상기 전자 디바이스의 기저대역 프로세서를 사용하여 상기 비콘 스캔을 수행하는 단계를 추가로 포함하는, 방법.
  8. 삭제
  9. 제1항 내지 제7항 중 어느 한 항의 방법을 수행하기 위한 수단을 포함하는 시스템.
KR1020227018524A 2018-09-28 2019-08-29 전자 디바이스들 및 연관된 무선 액세서리들의 위치파악 KR102579275B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020237020350A KR20230098353A (ko) 2018-09-28 2019-08-29 전자 디바이스들 및 연관된 무선 액세서리들의 위치파악

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US201862738983P 2018-09-28 2018-09-28
US62/738,983 2018-09-28
US16/543,227 US11641563B2 (en) 2018-09-28 2019-08-16 System and method for locating wireless accessories
US16/543,227 2019-08-16
KR1020217005169A KR102447351B1 (ko) 2018-09-28 2019-08-29 전자 디바이스들 및 연관된 무선 액세서리들의 위치파악
PCT/US2019/048899 WO2020068359A1 (en) 2018-09-28 2019-08-29 Locating electronic devices and associated wireless accessories

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020217005169A Division KR102447351B1 (ko) 2018-09-28 2019-08-29 전자 디바이스들 및 연관된 무선 액세서리들의 위치파악

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020237020350A Division KR20230098353A (ko) 2018-09-28 2019-08-29 전자 디바이스들 및 연관된 무선 액세서리들의 위치파악

Publications (2)

Publication Number Publication Date
KR20220079702A KR20220079702A (ko) 2022-06-13
KR102579275B1 true KR102579275B1 (ko) 2023-09-14

Family

ID=69946329

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020217005169A KR102447351B1 (ko) 2018-09-28 2019-08-29 전자 디바이스들 및 연관된 무선 액세서리들의 위치파악
KR1020237020350A KR20230098353A (ko) 2018-09-28 2019-08-29 전자 디바이스들 및 연관된 무선 액세서리들의 위치파악
KR1020227018524A KR102579275B1 (ko) 2018-09-28 2019-08-29 전자 디바이스들 및 연관된 무선 액세서리들의 위치파악

Family Applications Before (2)

Application Number Title Priority Date Filing Date
KR1020217005169A KR102447351B1 (ko) 2018-09-28 2019-08-29 전자 디바이스들 및 연관된 무선 액세서리들의 위치파악
KR1020237020350A KR20230098353A (ko) 2018-09-28 2019-08-29 전자 디바이스들 및 연관된 무선 액세서리들의 위치파악

Country Status (6)

Country Link
US (4) US11641563B2 (ko)
EP (3) EP4084520A1 (ko)
KR (3) KR102447351B1 (ko)
CN (6) CN115175104A (ko)
AU (2) AU2019350588B2 (ko)
WO (1) WO2020068359A1 (ko)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110183629A1 (en) * 2010-01-26 2011-07-28 Broadcom Corporation Mobile Communication Devices Having Adaptable Features and Methods for Implementation
US10462600B2 (en) 2014-10-09 2019-10-29 Tile, Inc. Secure and private cloud based broadcast identification
WO2019164514A1 (en) * 2018-02-23 2019-08-29 Google Llc Transitioning between map view and augmented reality view
US11641563B2 (en) * 2018-09-28 2023-05-02 Apple Inc. System and method for locating wireless accessories
EP3905188A4 (en) * 2018-12-27 2021-12-29 NEC Corporation Information processing device, information processing method, and program
US11165491B2 (en) * 2018-12-31 2021-11-02 Hughes Network Systems, Llc Location management for satellite systems
US11863671B1 (en) 2019-04-17 2024-01-02 Apple Inc. Accessory assisted account recovery
WO2020214701A1 (en) * 2019-04-17 2020-10-22 Prestacom Services Llc Sharing keys for a wireless accessory
US11064441B2 (en) * 2019-06-11 2021-07-13 The Code Corporation Obtaining and processing information related to a mobile device accessory that includes a battery
US11057744B2 (en) * 2019-06-28 2021-07-06 Enseo, Llc Geolocationing system, personal locator device, and method for use of same
US11201748B2 (en) * 2019-08-20 2021-12-14 Tile, Inc. Data protection in a tracking device environment
US11265716B2 (en) * 2019-09-19 2022-03-01 Tile, Inc. End-to-end encryption with distributed key management in a tracking device environment
US11368290B2 (en) * 2019-10-20 2022-06-21 Tile, Inc. Key diversification in a tracking device environment
US11930356B2 (en) 2020-04-15 2024-03-12 Google Llc Three-party cryptographic handshake protocol
EP4184955A4 (en) * 2020-08-04 2023-05-31 Samsung Electronics Co., Ltd. PROCEDURE TO SEARCH FOR LOST DEVICES USING UWB AND AR AND DEVICE THEREOF
KR20220017328A (ko) * 2020-08-04 2022-02-11 삼성전자주식회사 전자 장치의 위치 확인 서비스를 제공하는 방법 및 그 장치
US11889302B2 (en) * 2020-08-28 2024-01-30 Apple Inc. Maintenance of wireless devices
CN112367612B (zh) * 2020-11-06 2023-03-24 歌尔科技有限公司 基于uwb的定位方法、uwb设备及定位系统
CN112434315B (zh) * 2020-11-20 2022-09-20 湖南快乐阳光互动娱乐传媒有限公司 一种附件访问方法、服务器和访问端
US20220232379A1 (en) * 2021-01-20 2022-07-21 Samsung Electronics Co., Ltd. Electronic device and method of controlling remote locking of external electronic device based on bluetooth
FR3120134A1 (fr) * 2021-02-22 2022-08-26 Marbeuf Conseil Et Recherche Procédé de géolocalisation d’un récepteur
US20220303281A1 (en) * 2021-03-17 2022-09-22 Lenovo (Singapore) Pte. Ltd. Ultra-wideband-based device use restrictions
US20220394428A1 (en) * 2021-06-04 2022-12-08 Apple Inc. Pairing Groups of Accessories
EP4285138A1 (en) 2021-07-28 2023-12-06 Samsung Electronics Co., Ltd. Method and electronic device for dynamically associating uwb tag with object
KR20230023231A (ko) * 2021-08-10 2023-02-17 삼성전자주식회사 그룹 계정 기반으로 전자 장치들을 관리하는 방법 및 이를 제공하는 장치
CN116744435A (zh) * 2022-03-01 2023-09-12 北京小米移动软件有限公司 终端设备的定位方法、装置、电子设备及存储介质
WO2023204426A1 (ko) * 2022-04-21 2023-10-26 삼성전자 주식회사 클라우드 기반의 스마트 액세서리 시스템
US20240129690A1 (en) * 2022-09-22 2024-04-18 Apple Inc. Distributed Device Location Finding

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170134898A1 (en) * 2015-11-11 2017-05-11 Tile, Inc. Location History Access for Lost Tracking Device

Family Cites Families (149)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4918425A (en) 1988-07-25 1990-04-17 Daniel E. Ely Monitoring and locating system for an object attached to a transponder monitored by a base station having an associated ID code
US5910776A (en) 1994-10-24 1999-06-08 Id Technologies, Inc. Method and apparatus for identifying locating or monitoring equipment or other objects
US6369706B1 (en) 1999-05-10 2002-04-09 Gateway, Inc. System and method for protecting a digital information appliance from environmental influences
GB2364203B (en) 2000-06-27 2004-03-17 Nokia Mobile Phones Ltd Synchronisation
JP3599097B2 (ja) 2000-10-10 2004-12-08 日本電気株式会社 周辺装置による携帯通信装置の呼出方法、それを用いた携帯通信装置および周辺装置
US7848905B2 (en) 2000-12-26 2010-12-07 Troxler Electronic Laboratories, Inc. Methods, systems, and computer program products for locating and tracking objects
US7516325B2 (en) * 2001-04-06 2009-04-07 Certicom Corp. Device authentication in a PKI
JP4487443B2 (ja) 2001-05-29 2010-06-23 日本電気株式会社 位置情報表示システム及びその表示方法
JP2002357444A (ja) 2001-05-31 2002-12-13 Nec Corp 移動端末を使用したナビゲーションシステム
CN1407780A (zh) 2001-08-13 2003-04-02 国际商业机器公司 在多种终端设备访问服务内容时保持过程持续性的方法和设备
US8706031B2 (en) 2001-11-13 2014-04-22 Intel Corporation Method for switching the use of a shared set of wireless I/O devices between multiple computers
JP4005348B2 (ja) 2001-12-12 2007-11-07 富士通テン株式会社 無線端末
US8332650B2 (en) 2002-03-22 2012-12-11 Microsoft Corporation Systems and methods for setting and resetting a password
WO2005029763A1 (en) 2003-09-22 2005-03-31 Impsys Digital Secuirty Ab Data communication security arrangement and method
US7119738B2 (en) 2004-03-01 2006-10-10 Symbol Technologies, Inc. Object location system and method using RFID
US7059182B1 (en) 2004-03-03 2006-06-13 Gary Dean Ragner Active impact protection system
US7274292B2 (en) 2004-06-25 2007-09-25 Intel Corporation Proximity management system and method using radio-frequency identification tags
US7342497B2 (en) 2004-08-26 2008-03-11 Avante International Technology, Inc Object monitoring, locating, and tracking system employing RFID devices
US20060111835A1 (en) 2004-11-23 2006-05-25 Texas Instruments Incorporated Location system for locating a parked vehicle, a method for providing a location of a parked vehicle and a personal wireless device incorporating the system or method
US7558529B2 (en) 2005-01-24 2009-07-07 Broadcom Corporation Earpiece/microphone (headset) servicing multiple incoming audio streams
US20080120196A1 (en) 2005-04-07 2008-05-22 Iofy Corporation System and Method for Offering a Title for Sale Over the Internet
US20080119953A1 (en) 2005-04-07 2008-05-22 Iofy Corporation Device and System for Utilizing an Information Unit to Present Content and Metadata on a Device
US7388491B2 (en) 2005-07-20 2008-06-17 Rockwell Automation Technologies, Inc. Mobile RFID reader with integrated location awareness for material tracking and management
US20070139199A1 (en) 2005-11-29 2007-06-21 Pango Networks, Inc. Method and apparatus for an active radio frequency identification tag
US8295819B1 (en) 2005-12-19 2012-10-23 Kyocera Corporation Picture caller ID systems, methods and apparatus
US7715831B2 (en) 2006-03-24 2010-05-11 Sony Ericssson Mobile Communications, Ab Methods, systems, and devices for detecting and indicating loss of proximity between mobile devices
CN101060654A (zh) 2006-04-21 2007-10-24 朗迅科技公司 用于控制无线网络中短消息传送的方法
EP3986043A1 (en) 2006-07-03 2022-04-20 Nokia Technologies Oy A user-portable electronic device
US8774827B2 (en) 2007-04-05 2014-07-08 Location Based Technologies, Inc. Apparatus and method for generating position fix of a tracking device in accordance with a subscriber service usage profile to conserve tracking device power
US8583915B1 (en) * 2007-05-31 2013-11-12 Bby Solutions, Inc. Security and authentication systems and methods for personalized portable devices and associated systems
CN101682508A (zh) * 2007-06-11 2010-03-24 Nxp股份有限公司 生成用于电子设备的公钥的方法以及电子设备
US8059573B2 (en) 2007-07-30 2011-11-15 Qualcomm Incorporated Method of pairing devices
CA2695841C (en) 2007-08-06 2016-11-08 Trx Systems, Inc. Locating, tracking, and/or monitoring personnel and/or assets both indoors and outdoors
US8457617B2 (en) 2007-08-30 2013-06-04 Centurylink Intellectual Property Llc System and method for a wireless device locator
KR20090052411A (ko) 2007-11-21 2009-05-26 엘지이노텍 주식회사 근거리 무선 통신을 이용한 위치 추적 시스템
US8464059B2 (en) 2007-12-05 2013-06-11 Netauthority, Inc. System and method for device bound public key infrastructure
US8213389B2 (en) 2008-04-15 2012-07-03 Apple Inc. Location determination using formula
US9456298B2 (en) 2008-08-04 2016-09-27 Apple Inc. Device-to-device location awareness
US8385913B2 (en) * 2008-09-08 2013-02-26 Proxicom Wireless, Llc Using a first wireless link to exchange identification information used to communicate over a second wireless link
CN101685504A (zh) 2008-09-26 2010-03-31 深圳富泰宏精密工业有限公司 Rfid信号接收系统及方法
US8326228B2 (en) 2008-12-19 2012-12-04 At&T Mobility Ii Llc Headset locator device
US20100273452A1 (en) 2009-04-26 2010-10-28 Qualcomm Incorporated Apparatus and Methods For Locating Tracking and/or Recovering a Wireless Communication Device
US20100289620A1 (en) 2009-05-14 2010-11-18 International Buisness Machines Corporation Connectionless location identification within a server system
GB2472192A (en) 2009-07-27 2011-02-02 Ceri Phillip Stagg A system for identifying lost pets
US20160006577A1 (en) 2009-10-08 2016-01-07 Bringrr Systems, Llc Method and device to set household parameters based on the movement of items
US20110124326A1 (en) 2009-11-21 2011-05-26 Susan Leeds Kudo Locator for finding lost or misplaced objects
US9258715B2 (en) 2009-12-14 2016-02-09 Apple Inc. Proactive security for mobile devices
CA2694500C (en) 2010-02-24 2015-07-07 Diversinet Corp. Method and system for secure communication
US8464061B2 (en) 2010-08-30 2013-06-11 Apple Inc. Secure wireless link between two devices using probes
US8750799B2 (en) 2010-09-30 2014-06-10 Apple Inc. Wireless accessory device pairing determination for multiple host devices
KR101821197B1 (ko) 2010-12-21 2018-01-23 엘지전자 주식회사 이동단말기 및 그 제어방법
US8971924B2 (en) 2011-05-23 2015-03-03 Apple Inc. Identifying and locating users on a mobile network
US8954177B2 (en) 2011-06-01 2015-02-10 Apple Inc. Controlling operation of a media device based upon whether a presentation device is currently being worn by a user
US20120328061A1 (en) 2011-06-27 2012-12-27 Nokia Corporation Method, apparatus, and computer program product for using discovered clock in a first communications protocol to synchronize networking activity in a second communications protocol
JP5789053B2 (ja) 2011-08-11 2015-10-07 インテル コーポレイション 低レートWi−Fi通信におけるショートビーコンのためのシステム、方法及び装置
US20160017402A1 (en) 2011-08-30 2016-01-21 Geoffrey N. Roth Method and apparatus utilizing enzyme substrates producing slow diffusing fluorescent product appearances and chromogens, and use in combination with fast diffusing product appearances
CN102325324A (zh) 2011-09-13 2012-01-18 中兴通讯股份有限公司 一种无线设备及移动终端定位方法、系统
US9021557B2 (en) 2011-10-27 2015-04-28 Stmicroelectronics Pte Ltd System and method for security using a sibling smart card
US9544075B2 (en) 2012-02-22 2017-01-10 Qualcomm Incorporated Platform for wireless identity transmitter and system using short range wireless broadcast
US20130290522A1 (en) * 2012-04-11 2013-10-31 Edward F. Behm, Jr. Engine, System and Method of Locating a Mobile Device and Reporting on Other Devices Proximately Located Thereto
US8639266B2 (en) 2012-04-18 2014-01-28 Google Inc. Using peer devices to locate a mobile device
FR2989799B1 (fr) 2012-04-24 2015-01-16 Oberthur Technologies Procede de transfert d'un dispositif a un autre de droits d'acces a un service
US9104896B2 (en) 2012-06-04 2015-08-11 Apple Inc. System and method for remotely initiating lost mode on a computing device
JP6175820B2 (ja) 2012-06-27 2017-08-09 株式会社リコー 通信装置及び通信システム
AU2013284447B2 (en) 2012-06-27 2016-09-22 Treefrog Developments, Inc. Tracking and control of personal effects
WO2014005004A1 (en) 2012-06-29 2014-01-03 Techlok, Llc Proximity aware security system for portable electronics with multi-factor user authentication and secure device identity verification
MY163289A (en) 2012-09-13 2017-09-06 Salutica Allied Solutions Sdn Bhd A wireless pairing and tracking system for locating lost items
US9779596B2 (en) 2012-10-24 2017-10-03 Apple Inc. Devices and methods for locating accessories of an electronic device
US9357348B2 (en) 2013-01-29 2016-05-31 Tile, Inc. Systems and methods for locating a tracking device
US8781502B1 (en) * 2013-02-01 2014-07-15 Swirl Networks, Inc. Systems and methods for display of supplemental content responsive to location
US10022086B1 (en) 2013-04-19 2018-07-17 Dp Technologies, Inc. Extended band system
US9706032B2 (en) 2013-06-06 2017-07-11 Apple Inc. Device locator disable authentication
US9749134B2 (en) * 2013-06-20 2017-08-29 Qualcomm Incorporated Wireless configuration using passive near field communication
JP6261910B2 (ja) 2013-08-26 2018-01-17 東芝メディカルシステムズ株式会社 コイルパッド及び磁気共鳴イメージング装置
US9445220B2 (en) * 2013-09-06 2016-09-13 Paypal, Inc. Systems and methods for enabling additional devices to check in to bluetooth low energy (BLE) beacons
US9271149B2 (en) 2013-10-18 2016-02-23 Verizon Patent And Licensing Inc. Managing hidden security features in user equipment
US9781106B1 (en) 2013-11-20 2017-10-03 Knowles Electronics, Llc Method for modeling user possession of mobile device for user authentication framework
US9679199B2 (en) 2013-12-04 2017-06-13 Microsoft Technology Licensing, Llc Fusing device and image motion for user identification, tracking and device association
US9820093B2 (en) 2013-12-20 2017-11-14 Apple Inc. Programmable beacon payloads
US9307429B2 (en) 2014-03-27 2016-04-05 Google Technology Holdings LLC Selective user notification for link termination events in wireless personal area network
US9591570B2 (en) 2014-04-07 2017-03-07 Aruba Networks, Inc. Method and system for tracking devices
US9426749B2 (en) 2014-05-05 2016-08-23 Intel IP Corporation Method and apparatus for Bluetooth-based Wi-Fi synchronization
US10574637B2 (en) 2014-05-14 2020-02-25 Huawei Technologies Co., Ltd. Terminal pairing method and pairing terminal
US9258713B2 (en) 2014-05-15 2016-02-09 Cisco Technology, Inc. Rogue wireless beacon device detection
US10382378B2 (en) 2014-05-31 2019-08-13 Apple Inc. Live location sharing
KR20150138735A (ko) * 2014-06-02 2015-12-10 삼성전자주식회사 전자 장치의 비콘 부가 서비스 방법 및 그 전자 장치
US9277386B1 (en) 2014-08-05 2016-03-01 Alberto Masiero Object location tracking system and method
US20160066184A1 (en) 2014-08-29 2016-03-03 Intel Corporation Pairing Computing Devices According To A Multi-Level Security Protocol
CN106664523A (zh) 2014-09-02 2017-05-10 高通股份有限公司 接近度应用发现和设置
US9520045B2 (en) 2014-09-02 2016-12-13 Apple Inc. Establishment and detection of breakage of wireless leash between devices
US9762316B2 (en) 2014-09-03 2017-09-12 Adobe Systems Incorporated Lightweight pairing and connection transfer protocol via gesture-driven shared secrets
KR102281019B1 (ko) * 2014-09-18 2021-07-26 삼성전자주식회사 전자 장치 및 전자 장치에서 데이터를 처리하는 방법
CN105516887B (zh) 2014-09-25 2019-03-26 阿里巴巴集团控股有限公司 基于蓝牙的定位方法及其装置
US10061914B2 (en) 2014-11-14 2018-08-28 Mcafee, Llc Account recovery protocol
EP3222114B1 (en) 2014-11-19 2020-07-15 Hewlett-Packard Development Company, L.P. Tracking a mobile device
US9565255B2 (en) 2014-12-04 2017-02-07 Apple Inc. Electronic accessory for detecting and communicating a connection attribute corresponding to another electronic accessory
US10506517B2 (en) 2014-12-05 2019-12-10 Huawei Technologies Co., Ltd. Apparatus and method for enabling broadcast of a wireless signal when switching operation mode
US20180035374A1 (en) 2015-02-09 2018-02-01 Gthrive, Inc Lockstep networking
CN104833945B (zh) * 2015-03-27 2018-06-01 南京旭品信息科技有限公司 基于移动终端实现失物无线标签定位的系统及方法
US10080185B2 (en) * 2015-04-10 2018-09-18 Qualcomm Incorporated Method and apparatus for securing structured proximity service codes for restricted discovery
US9848075B1 (en) 2015-05-14 2017-12-19 Invoy Technologies, Llc Communication system for pairing user devices with medical devices
US9842062B2 (en) 2015-05-31 2017-12-12 Apple Inc. Backup accessible by subset of related devices
US9798896B2 (en) 2015-06-22 2017-10-24 Qualcomm Incorporated Managing unwanted tracking on a device
US9801059B2 (en) 2015-07-09 2017-10-24 Google Inc. Security for wireless broadcasts
KR102224803B1 (ko) 2015-07-28 2021-03-08 주식회사 케이티 서비스 제공 시스템 및 방법
JP6555209B2 (ja) 2015-08-07 2019-08-07 株式会社デンソー 通信システム、管理ノード、通信ノード、カウンタ同期方法、カウント値配信方法、カウント値初期化方法、プログラム、記録媒体
JP6332194B2 (ja) 2015-08-07 2018-05-30 株式会社デンソー 通信装置、通信方法、及び通信プログラム
WO2017036768A1 (en) 2015-09-03 2017-03-09 Philips Lighting Holding B.V. Network node
US9876869B2 (en) 2015-10-28 2018-01-23 Sk Planet Co., Ltd. Method and apparatus for providing beacon service
WO2017107077A1 (en) 2015-12-22 2017-06-29 Motorola Solutions, Inc. Method, device, and system for device pairing for improved safety and security of first responders entering incident scene area
AU2017214547B2 (en) 2016-02-04 2020-02-06 Apple Inc. Controlling electronic devices and displaying information based on wireless ranging
KR102451687B1 (ko) 2016-02-19 2022-10-07 삼성전자주식회사 디바이스 대 디바이스 방식을 지원하는 통신 시스템에서 위치 검출 장치 및 방법
CN106792501A (zh) 2016-11-17 2017-05-31 广东工业大学 一种lbs用户位置及身份隐私保护方法
CN106412816A (zh) * 2016-12-19 2017-02-15 东软集团股份有限公司 定位方法、装置及服务器
US10735903B2 (en) 2016-12-20 2020-08-04 Apple Inc. Cloud-based emergency location service
KR20180072389A (ko) 2016-12-21 2018-06-29 삼성전자주식회사 액세서리에 대응하는 콘텐트를 제공하기 위한 방법 및 그 전자 장치
US9922531B1 (en) 2016-12-21 2018-03-20 Tile, Inc. Safe zones in tracking device environments
US10070309B2 (en) 2016-12-22 2018-09-04 Tile, Inc. Unauthorized tracking device detection and prevention
US10298398B2 (en) * 2016-12-28 2019-05-21 Google Llc Peer discovery, connection, and data transfer
KR20180086118A (ko) 2017-01-20 2018-07-30 삼성전자주식회사 통신 시스템에서 보안 정보 제공 및 관리 장치 및 방법
CN110521223A (zh) 2017-02-21 2019-11-29 蝎子保安产品公司 移动设备管理系统及方法
JP6861292B2 (ja) 2017-03-01 2021-04-21 アップル インコーポレイテッドApple Inc. モバイルデバイスを使用したシステムアクセス
US20180262907A1 (en) * 2017-03-10 2018-09-13 International Business Machines Corporation Location based authentication verification for internet of things
US10924461B2 (en) 2017-04-27 2021-02-16 Afero, Inc. Secure two-way beacon in an internet of things (IoT) system
US10366692B1 (en) 2017-05-15 2019-07-30 Amazon Technologies, Inc. Accessory for a voice-controlled device
US10447486B2 (en) 2017-07-19 2019-10-15 Spyrus, Inc. Remote attestation of a security module's assurance level
US10708843B2 (en) * 2017-07-28 2020-07-07 LGS Innovations LLC Methods and apparatuses for beacon assisted low power localization
US10117052B1 (en) 2017-08-16 2018-10-30 Tile, Inc. Tracking device operation in behavior-classified zone
US10616207B2 (en) * 2017-10-12 2020-04-07 Dell Products, L.P. Context and device state driven authorization for devices
US10455633B2 (en) 2017-11-14 2019-10-22 Knowmadics, Inc. Wireless communication system and method for monitoring and alerting a broken pairing between electronic devices
CN108223229A (zh) 2017-12-27 2018-06-29 沪东重机有限公司 一种大功率中速柴油机的起动控制装置
US11386420B2 (en) * 2017-12-29 2022-07-12 Intel Corporation Contextual authentication of an electronic wallet
CN108323229B (zh) * 2018-01-26 2021-01-15 香港应用科技研究院有限公司 用于基于位置的服务的安全ble广播系统
US10834170B2 (en) 2018-03-19 2020-11-10 Citrix Systems, Inc. Cloud authenticated offline file sharing
CN112567637B (zh) 2018-06-01 2023-08-01 X开发有限责任公司 智能跟踪系统及其方法和系统
WO2019241047A1 (en) 2018-06-11 2019-12-19 Apple Inc. Friend key sharing
US11450196B2 (en) * 2018-09-18 2022-09-20 PB, Inc. XCB tracking devices, methods and systems
US11641563B2 (en) * 2018-09-28 2023-05-02 Apple Inc. System and method for locating wireless accessories
US10448211B1 (en) 2018-11-07 2019-10-15 Adero, Inc. Organizing groups of physical objects using wireless tags
US11576040B2 (en) 2018-12-11 2023-02-07 Leviton Manufacturing Co., Inc. Simplified Wi-Fi and/or cloud enrollment for Wi-Fi devices
US10855483B1 (en) 2019-03-21 2020-12-01 Amazon Technologies, Inc. Device-state quality analysis
WO2020214701A1 (en) 2019-04-17 2020-10-22 Prestacom Services Llc Sharing keys for a wireless accessory
EP3957087A1 (en) 2019-04-17 2022-02-23 Apple Inc. Separation notifications for wireless accessories
EP3939340A1 (en) 2019-04-17 2022-01-19 Apple Inc. Finding a target device using augmented reality
US10609148B1 (en) 2019-09-17 2020-03-31 Ha Q Tran Smart vehicle
US11265716B2 (en) 2019-09-19 2022-03-01 Tile, Inc. End-to-end encryption with distributed key management in a tracking device environment
US10970989B1 (en) 2019-09-27 2021-04-06 Tereo Corporation, Inc. Proximity alert device and method
US11304246B2 (en) 2019-11-01 2022-04-12 Microsoft Technology Licensing, Llc Proximity-based pairing and operation of user-specific companion devices
US10841736B1 (en) 2019-12-18 2020-11-17 Tile, Inc. Notifications in a tracking device environment

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170134898A1 (en) * 2015-11-11 2017-05-11 Tile, Inc. Location History Access for Lost Tracking Device

Also Published As

Publication number Publication date
US20220394431A1 (en) 2022-12-08
KR20210033514A (ko) 2021-03-26
EP4084520A1 (en) 2022-11-02
EP3808143B1 (en) 2022-07-27
US11606669B2 (en) 2023-03-14
US20220386076A1 (en) 2022-12-01
EP3808143A1 (en) 2021-04-21
CN115190423A (zh) 2022-10-14
EP4068828A1 (en) 2022-10-05
KR20220079702A (ko) 2022-06-13
WO2020068359A1 (en) 2020-04-02
US20200107164A1 (en) 2020-04-02
KR102447351B1 (ko) 2022-09-23
CN110972070A (zh) 2020-04-07
AU2022268328A1 (en) 2022-12-15
CN115175104A (zh) 2022-10-11
AU2019350588B2 (en) 2022-08-11
KR20230098353A (ko) 2023-07-03
CN115190422A (zh) 2022-10-14
US20220360945A1 (en) 2022-11-10
CN115190428A (zh) 2022-10-14
US11641563B2 (en) 2023-05-02
AU2019350588A1 (en) 2021-02-18
CN115190429A (zh) 2022-10-14
CN110972070B (zh) 2022-07-15

Similar Documents

Publication Publication Date Title
KR102579275B1 (ko) 전자 디바이스들 및 연관된 무선 액세서리들의 위치파악
US20220201428A1 (en) Proximity Enhanced Location Query
US20220301410A1 (en) Separation notifications for wireless accessories
EP4266710A1 (en) Location data harvesting and pruning for wireless accessory devices
US20220200789A1 (en) Sharing keys for a wireless accessory
EP4099620A2 (en) Pairing groups of accessories
US20230379994A1 (en) Pairing Groups of Accessories
US20220358830A1 (en) Separation Alerts for Notification While Traveling

Legal Events

Date Code Title Description
A107 Divisional application of patent
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E701 Decision to grant or registration of patent right
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant