KR102564520B1 - 모바일 디바이스들 사이의 레인징 - Google Patents

모바일 디바이스들 사이의 레인징 Download PDF

Info

Publication number
KR102564520B1
KR102564520B1 KR1020217019842A KR20217019842A KR102564520B1 KR 102564520 B1 KR102564520 B1 KR 102564520B1 KR 1020217019842 A KR1020217019842 A KR 1020217019842A KR 20217019842 A KR20217019842 A KR 20217019842A KR 102564520 B1 KR102564520 B1 KR 102564520B1
Authority
KR
South Korea
Prior art keywords
ranging
mobile device
devices
user
list
Prior art date
Application number
KR1020217019842A
Other languages
English (en)
Other versions
KR20210082549A (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 KR1020237026485A priority Critical patent/KR20230119262A/ko
Publication of KR20210082549A publication Critical patent/KR20210082549A/ko
Application granted granted Critical
Publication of KR102564520B1 publication Critical patent/KR102564520B1/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
    • 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
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72448User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions
    • H04M1/72457User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions according to geographic location
    • 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/0209Systems with very large relative bandwidth, i.e. larger than 10 %, e.g. baseband, pulse, carrier-free, ultrawideband
    • 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/08Systems for measuring distance only
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04817Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/58Message adaptation for wireless communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0869Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/03Protecting confidentiality, e.g. by encryption
    • H04W12/033Protecting confidentiality, e.g. by encryption of the user plane, e.g. user's traffic
    • 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/06Authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/50Secure pairing of devices
    • 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/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/12Messaging; Mailboxes; Announcements
    • 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
    • H04W8/00Network data management
    • H04W8/18Processing of user or subscriber data, e.g. subscribed services, user preferences or user profiles; Transfer of user or subscriber data
    • H04W8/183Processing at user equipment or user record carrier
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/107Computer-aided management of electronic mailing [e-mailing]
    • GPHYSICS
    • G08SIGNALLING
    • G08BSIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
    • G08B21/00Alarms responsive to a single specified undesired or abnormal condition and not otherwise provided for
    • G08B21/02Alarms for ensuring the safety of persons
    • G08B21/0202Child monitoring systems using a transmitter-receiver system carried by the parent and the child
    • G08B21/0266System arrangements wherein the object is to detect the exact distance between parent and child or surveyor and item
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/48Message addressing, e.g. address format or anonymous messages, aliases
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72409User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories
    • H04M1/72412User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories using two-way short-range wireless interfaces
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/7243User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality with interactive means for internal management of messages
    • H04M1/72436User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality with interactive means for internal management of messages for text messaging, e.g. SMS or e-mail

Abstract

모바일 디바이스는 다른 모바일 디바이스까지의 거리를 결정하기 위한 레인징(ranging) 회로부를 포함할 수 있다. 제1 무선 프로토콜은 인증을 수행하고/하거나 레인징 설정들을 교환하기 위한 초기 통신 세션을 설정할 수 있다. 제2 프로토콜은 레인징을 수행할 수 있고, 다른 무선 프로토콜들은 콘텐츠를 송신할 수 있다. 일 예에서, 거리 정보는 전송 디바이스의 사용자 인터페이스 상에 다른 디바이스의 상대 위치를 디스플레이하는 데 사용될 수 있다. 사용자 인터페이스는 사용자가 데이터 항목을 전송하기 위한 수신자 디바이스를 신속하고 정확하게 선택할 수 있게 할 수 있다. 다른 예로서, 레인징으로부터 획득된 거리 정보는 제1 모바일 디바이스로부터 출력될 통지(예컨대, 리마인더)를 트리거하는 데 사용될 수 있거나 수신 디바이스 상에 시각적 표시자를 디스플레이하는 데 사용될 수 있다. (예컨대, 거리에 의해 결정되는 바와 같은) 디바이스의 근접도는 새로운 통신을 위한 수신자를 제안하는 데 사용될 수 있다.

Description

모바일 디바이스들 사이의 레인징{RANGING BETWEEN MOBILE DEVICES}
관련 출원들의 상호 참조
본 출원은, 2018년 9월 28일자로 출원되고 발명의 명칭이 "Ranging Between Mobile Devices"인 미국 가출원 제62/738,915호의 우선권의 이익을 주장한다. 본 출원들의 개시내용은 전체가 본 명세서에 참고로 포함된다.
모바일 디바이스들(예컨대, 스마트폰)은 다양한 콘텐츠를 저장하고 다양한 기능들을 수행할 수 있다. 사용자들은 전형적으로 어디로 가든지 스마트폰을 휴대하고, 용이하게 사용할 수 있다. 그러나, 오늘날의 바쁜 세상에서, 사용자들은 이러한 모바일 디바이스들이 그들의 삶을 보다 용이하고 생산적으로 만들 것을 더욱 많이 요구하고 있다. 따라서, 모바일 디바이스들에서 개선된 기능(예컨대, 통신 어시스턴스 및 시기적절한 통지들)을 제공하는 것이 바람직하다.
다양한 실시예들에 따르면, 모바일 디바이스는 모바일 디바이스들 사이의 상대 거리를 결정할 수 있는 레인징(ranging) 회로부를 포함할 수 있다. 예를 들어, 비행시간(time-of-flight) 측정들은 모바일 디바이스들 사이에서 송신되는 초광대역(ultra-wideband, UWB) 펄스들을 사용하여 수행될 수 있다. 레인징은 다른 디바이스의 상대 위치, 예컨대, 2개의 디바이스들 사이의 거리 값 및/또는 각도(배향) 정보를 결정하는 데 사용될 수 있는 거리 정보를 제공할 수 있다. 레인징 기능은 예컨대, 인증을 수행하고/하거나 레인징 설정들을 교환하기 위해 초기 통신 세션을 설정할 수 있는 다른 무선 프로토콜과 조합하여 구현될 수 있다. 예컨대, 하나의 디바이스로부터 다른 디바이스로의 콘텐츠의 송신을 위해 추가의 무선 프로토콜들이 또한 사용될 수 있다.
레인징으로부터 획득된 거리 정보는 다양한 방식들로 사용될 수 있다. 예를 들어, 거리 정보는 데이터 항목을 전송하는 전송 모바일 디바이스의 화면 상에 수신 모바일 디바이스의 상대 위치를 디스플레이하는 데 사용될 수 있다. 그러한 사용자 인터페이스는 애플리케이션 내의 특정 위치(예컨대, 페이지)에서 애플리케이션을 핸드오프하는 데 사용될 수 있는 바와 같이, 사용자가 데이터 항목, 예컨대, 비디오, 오디오, 또는 애플리케이션에 대한 링크를 전송하기 위한 수신자 디바이스를 신속하고 정확하게 선택할 수 있게 한다. 다른 예로서, 레인징으로부터 획득된 거리 정보는 제1 모바일 디바이스로부터 출력될 통지(예컨대, KILPATRICK TOWNSEND & STOCKTON LLP 리마인더)를 트리거하는 데 사용될 수 있다. 또 다른 예로서, 거리 정보는, 예컨대, 거리 정보가 2개의 인증된 디바이스들에 대해 충분히 가까운 경우 2개의 디바이스들 사이의 공유 세션을 수행하는 데 사용될 수 있다.
일부 실시예들에 따르면, 무선 통신들을 사용하여 결정되는 바와 같이, 이웃 디바이스의 존재 또는 거리 정보를 포함할 수 있는 근접도 정보가 사용될 수 있다. 사용자 디바이스의 공지된 연락처들에 속하는 이웃 디바이스들에 대한 연락처 정보가 검색될 수 있고, 새로운 통신(예컨대, 새로운 이메일 또는 텍스트 메시지)에 대한 수신자를 제안하기 위해 이웃 디바이스의 근접도가 사용될 수 있다.
본 개시내용의 이들 및 다른 실시예들이 아래에서 더 상세히 설명된다. 예를 들어, 다른 실시예들은 본 명세서에 설명된 방법들과 연관되는 시스템들, 디바이스들, 및 컴퓨터 판독가능 매체들에 관한 것이다.
본 개시내용의 실시예들의 속성 및 장점들의 더 양호한 이해가 다음의 상세한 설명 및 첨부 도면들을 참조하여 얻어질 수 있다.
도 1은 본 개시내용의 실시예들에 따른, 2개의 모바일 디바이스들 사이에서 레인징 측정을 수행하기 위한 시퀀스 다이어그램을 도시한다.
도 2는 본 개시내용의 실시예들에 따른, 3개의 안테나들을 갖는 모바일 디바이스를 수반하는 레인징 동작의 시퀀스 다이어그램을 도시한다.
도 3은 본 개시내용의 실시예들에 따른, 제1(전송) 모바일 디바이스에 의해, 2개의 무선 프로토콜들을 수반하는 제2(수신) 모바일 디바이스를 이용한 레인징 동작을 수행하기 위한 방법을 예시하는 흐름도이다.
도 4는 본 개시내용의 실시예들에 따른, BLE 및 UWB 프로토콜들을 수반하는 전송 디바이스와 수신 디바이스 사이의 통신들의 시퀀스 다이어그램을 도시한다.
도 5는 본 개시내용의 실시예들에 따른, 레인징을 수행하도록 동작가능한 모바일 디바이스의 컴포넌트들의 블록 다이어그램이다.
도 6은 본 개시내용의 실시예들에 따른, 데이터 항목을 다른 디바이스와 공유하는 것을 용이하게 하기 위해 레인징을 사용하는 모바일 디바이스의 예시적인 공유 시나리오를 도시한다.
도 7은 본 개시내용의 실시예들에 따른, 전송 모바일 디바이스와 수신 모바일 디바이스 사이의 데이터를 공유하는 방법(700)의 흐름도이다.
도 8은 본 개시내용의 실시예들에 따른, 3개의 무선 프로토콜들을 사용하여 콘텐츠를 공유하기 위한 예시적인 통신 시퀀스를 도시하는 시퀀스 다이어그램이다.
도 9는 본 개시내용의 실시예들에 따른, 제1 모바일 디바이스와 제2 모바일 디바이스 사이의 레인징을 사용하는 제1 모바일 디바이스에 대한 예시적인 통지를 도시한다.
도 10은 본 개시내용의 실시예들에 따른, 레인징 동작을 사용하는 통지들을 제공하기 위한 방법의 흐름도이다.
도 11a는 문자의 사용자 입력에 응답하여, 제안된 수신자들의 목록을 제공하는 통신 애플리케이션의 스크린샷을 도시한다. 도 11b는 본 개시내용의 실시예들에 따른, 새로운 메시지를 시작하는 사용자에 응답하여, 문자의 사용자 입력 없이, 제안된 수신자들의 목록을 제공하는 통신 애플리케이션의 스크린샷을 도시한다.
도 12는 본 개시내용의 실시예들에 따른, 다른 디바이스들에 대한 근접도를 사용하여 통신들을 위한 수신자들을 제안하는 프로세스의 시퀀스 다이어그램이다.
도 13은 본 개시내용의 실시예들에 따른, 통신 애플리케이션에 수신자들을 제안하는 데 사용하기 위해 다른 디바이스들과 레인징을 수행하는 제1 디바이스를 도시한다.
도 14는 본 개시내용의 실시예들에 따른, 사용자에게 통신 인터페이스를 제공하는 방법을 예시하는 흐름도이다.
도 15는 본 개시내용의 실시예들에 따른, 하나의 디바이스로부터 다른 디바이스로 콘텐츠를 공유하기 위한 기술을 예시한다.
도 16은 본 개시내용의 실시예들에 따른, 제1 디바이스와 제2 모바일 디바이스 사이에서 통신하기 위한 방법을 예시하는 흐름도이다.
도 17은 본 개시내용의 실시예들에 따른, 레인징 정보를 사용하기 위한 예시적인 아키텍처를 도시한다.
도 18은 본 개시내용의 실시예들에 따른, 예시적인 디바이스의 블록 다이어그램이다.
모바일 디바이스들은 GPS 또는 다른 위치 회로부를 사용하여 모바일 디바이스의 위치를 결정할 수 있다. 예를 들어, 지도 애플리케이션은 지도 상의 모바일 디바이스의 대략적인 위치를 도시할 수 있다. 그러나, 위치를 결정하기 위한 그러한 기술들은 전형적으로 고정된 일부 외부 기준 프레임에 대해 결정되며, 가변 기준 프레임, 예컨대, 다른 모바일 디바이스에 대해 결정되는 것이 아니다.
일부 실시예들에서, 모바일 디바이스는 모바일 디바이스와 다른 모바일 디바이스 사이의 상대 거리를 결정할 수 있는 레인징 회로부를 포함할 수 있다. 예를 들어, 비행시간 측정들은 모바일 디바이스들 사이에서 송신되는 초광대역(UWB) 펄스들을 사용하여 수행될 수 있다. 레인징은 거리 정보를 제공할 수 있으며, 이는 하나의 모바일 디바이스의 다른 모바일 디바이스에 대한 상대 위치를 결정하는 데 사용될 수 있다. 예들로서, 상대 위치는 2개의 디바이스들 사이의 거리 값, 각도(배향) 정보, 또는 둘 모두를 포함할 수 있다.
레인징 기능은 예컨대, 인증을 수행하고/하거나 레인징 설정들을 교환하기 위해 초기 통신 세션을 설정할 수 있는 다른 무선 프로토콜과 조합하여 구현될 수 있다. 예컨대, 하나의 디바이스로부터 다른 디바이스로의 콘텐츠의 송신을 위해 추가의 무선 프로토콜들이 또한 사용될 수 있다. 예를 들어, 비디오 또는 오디오 파일은 레인징이 수행된 후에 하나의 디바이스로부터 다른 디바이스로 전송될 수 있다.
레인징으로부터 획득된 거리 정보는 다양한 방식들로 사용될 수 있다. 예를 들어, 거리 정보는 데이터 항목을 전송하는 전송 모바일 디바이스의 화면 상에 수신 모바일 디바이스의 상대 위치를 디스플레이하는 데 사용될 수 있다. 그러한 사용자 인터페이스는 애플리케이션 내의 특정 위치(예컨대, 페이지)에서 애플리케이션을 핸드오프하는 데 사용될 수 있는 바와 같이, 사용자가 데이터 항목, 예컨대, 비디오, 오디오, 또는 애플리케이션에 대한 링크를 전송하기 위한 수신자 디바이스를 신속하고 정확하게 선택할 수 있게 한다.
다른 예로서, 레인징으로부터 획득된 거리 정보는 제1 모바일 디바이스로부터 출력될 통지(예컨대, 리마인더)를 트리거하는 데 사용될 수 있다. 예를 들어, 제1 모바일 디바이스의 제1 사용자는, 제2 모바일 디바이스를 갖는 제2 사용자에 제1 사용자가 가까워질 때 리마인더를 받기를 원할 수 있다. 레인징 능력은 제1 사용자가 적절한 시간에, 예컨대, 2명의 사용자들이 대화하는 중에 리마인드받을(reminded) 수 있게 할 수 있다. 종종, 2명의 사용자들이 이미 걸어서 서로 멀어진 후가 될 때까지도 누군가가 논의를 제기하는 것(예컨대, 빌려준 돈을 돌려 받거나 또는 작업 프로젝트에 대한 논의)을 잊을 수 있다. 2개의 모바일 디바이스들 사이의 레인징으로부터 획득된 거리 정보를 사용하는 그러한 리마인더 기능이 그러한 문제를 해결할 수 있다. 다른 예로서, 예컨대, 제1 디바이스의 사용자인 부모의 자녀가 다른 한 디바이스를 소유한 경우, 사용자는 2개의 디바이스들 사이의 거리가 임계치보다 클 때, 통지(예컨대, 경고)를 원할 수 있다.
또 다른 예로서, 거리 정보는, 예컨대, 거리 정보가 2개의 인증된 디바이스들에 대해 충분히 가까운 경우 2개의 디바이스들 사이의 공유 세션을 수행하는 데 사용될 수 있다. 예를 들어, 사용자는 제1 모바일 디바이스로부터 컴퓨터로 콘텐츠를 공유하고자 하는 요구를 나타내기 위해 제1 모바일 디바이스를 컴퓨터에 충분히 가깝게, 그리고 잠재적으로 특정 배향으로(예컨대, 컴퓨터의 좌측에 위로 향하게) 배치할 수 있다. 콘텐츠는, 예컨대, 인증 후에, 및 시각적 표시자 또는 오디오 표시자와 같은, 컴퓨터 상의/그로부터의 표시자의 사용자 선택 후에 전송될 수 있다.
일부 실시예들에서, 무선 통신들을 사용하여 결정되는 바와 같이, 이웃 디바이스의 존재 또는 거리 정보를 포함할 수 있는 근접도 정보가 사용될 수 있다. 근처에 있는 연락처의 디바이스의 존재는, 그 연락처를 새로운 통신, 예컨대, 이메일 또는 텍스트 메시지의 제안된 수신자로서 제공하도록 사용될 수 있다.
I. 레인징
일부 실시예들에서, 모바일 디바이스는 레인징 측정들을 수행하기 위한 회로부를 포함할 수 있다. 그러한 회로부는 하나 이상의 전용 안테나들(예컨대, 3개) 및 측정된 신호들을 프로세싱하기 위한 회로부를 포함할 수 있다. 레인징 측정들은 2개의 모바일 디바이스들 사이의 펄스들의 비행시간을 사용하여 수행될 수 있다. 일부 구현예들에서, 예컨대, 안테나들 각각에 대한 거리 정보를 결정하기 위해 왕복 시간(round-trip time, RTT)이 사용된다. 다른 구현예들에서, 일 방향으로의 편도 시간(single-trip time)이 사용될 수 있다. 펄스들은 초광대역(UWB) 무선 기술을 사용하여 형성될 수 있다.
A. 시퀀스 다이어그램
도 1은 본 개시내용의 실시예들에 따른, 2개의 모바일 디바이스들 사이에서 레인징 측정을 수행하기 위한 시퀀스 다이어그램을 도시한다. 2개의 모바일 디바이스들은 2명의 상이한 사용자들에게 소유된 것일 수 있다. 2명의 사용자들은 서로를 아는 사이일 수 있고, 따라서 서로의 전화 번호들 또는 다른 식별자들을 가질 수 있다. 이후에 보다 상세히 설명되는 바와 같이, 그러한 식별자는 예컨대, 레인징이 미지의(unknown) 디바이스들과 수행되지 않도록 인증 목적들을 위해 사용될 수 있다. 도 1이 단일 측정을 도시하지만, 프로세스는 레인징 세션의 일부로서 시간 간격에 걸쳐 다수의 측정들을 수행하기 위해 반복될 수 있으며, 그러한 측정들은 평균되거나 달리 분석되어, 예컨대, 각각의 안테나에 대해 단일 거리 값을 제공할 수 있다.
모바일 디바이스(110)(예컨대, 스마트폰)는 모바일 디바이스(120)에 레인징 요청(101)을 송신함으로써 레인징 측정(동작)을 개시할 수 있다. 레인징 요청(101)은 제1 세트의 하나 이상의 펄스들을 포함할 수 있다. 레인징 측정은 레인징 무선 프로토콜(예컨대, UWB)을 사용하여 수행될 수 있다. 레인징 측정은 예컨대, 사용자 입력 및/또는 다른 무선 프로토콜, 예컨대, 저전력 블루투스(BLE)를 사용한 인증에 기초하여, 다양한 방식들로 트리거될 수 있다.
T1에서, 모바일 디바이스(110)는 레인징 요청(101)을 송신한다. T2에서, 모바일 디바이스(120)는 레인징 요청(101)을 수신한다. T2는 다수의 펄스들이 제1 세트 내에 있을 때 평균 수신 시간일 수 있다. 모바일 디바이스(120)는 예컨대, 다른 무선 프로토콜을 사용하는 이전 통신들에 기초하여 소정 시간 윈도우 내에서 레인징 요청(101)을 예상하고 있을 수 있다. 레인징 무선 프로토콜 및 다른 무선 프로토콜은, 모바일 디바이스(120)가 레인징 안테나(들) 및 연관 회로부를 특정 시간 윈도우 동안 턴 온할 수 있도록 동기화될 수 있으며, 이는 그것들을 전체 레인징 세션 동안 온 상태로 유지하는 것과 대조된다.
레인징 요청(101)을 수신하는 것에 응답하여, 모바일 디바이스(120)는 레인징 응답(102)을 송신할 수 있다. 도시된 바와 같이, 레인징 응답(102)은 시간(T3), 예컨대, 펄스의 송신된 시간 또는 펄스들의 세트에 대한 평균 송신 시간에 송신된다. T2 및 T3은 또한 각각의 펄스들에 대한 시간들의 세트일 수 있다. 레인징 응답(102)은 모바일 디바이스(110)가 거리 정보를 계산할 수 있도록 시간들(T2, T3)을 포함할 수 있다. 대안으로서, 2개의 시간들 사이의 델타(예컨대, T3 - T2)가 전송될 수 있다.
T4에서, 모바일 디바이스(110)는 레인징 응답(102)을 수신할 수 있다. 다른 시간들과 마찬가지로, T4는 단일 시간 값 또는 시간 값들의 세트일 수 있다.
103에서, 모바일 디바이스(110)는 거리 단위들(예컨대, 미터), 또는 시간(예컨대, 밀리초)과 같은 다양한 단위들을 가질 수 있는 거리 정보(130)를 산출한다. 시간은 광의 속도에 대응하는 비례 계수(proportionality factor)를 갖고 거리와 동등할 수 있다. 일부 실시예들에서, 거리는 총 왕복 시간으로부터 계산될 수 있으며, 이는 (T2 - T1) + (T4 -T3)과 동일할 수 있다. 더 복잡한 계산들이 또한 사용될 수 있으며, 예컨대, 시간들이 펄스들의 세트에 대한 시간들의 세트에 대응할 경우와 주파수 정정이 구현될 경우이다.
B. 삼각측량
일부 실시예들에서, 모바일 디바이스는 예컨대, 삼각측량을 수행하기 위해 다수의 안테나들을 가질 수 있다. 상이한 안테나들로부터의 별개의 측정들은 2차원(2D)위치를 결정하는 데 사용될 수 있으며, 이는 모바일 디바이스 주위의 원/구 상의 임의의 위치에서 생성될 수 있는 단일 거리 값과 대조된다. 2차원 위치는 다양한 좌표들, 예컨대, 직교 좌표 또는 극좌표로 특정될 수 있으며, 극좌표는 각도 값 및 반경방향 값을 포함할 수 있다.
도 2는 본 개시내용의 실시예들에 따른, 3개의 안테나들(211 내지 213)을 갖는 모바일 디바이스(210)를 수반하는 레인징 동작의 시퀀스 다이어그램을 도시한다. 안테나들(211 내지 213)은 상이한 배향들을 갖도록, 예컨대, 레인징 측정들을 수행하기 위한 시야(field of view)를 정의하도록 배열될 수 있다.
도 2의 이러한 예에서, 안테나들(211 내지 213) 각각은 모바일 디바이스(220)에 의해 수신되는 패킷(하나 이상의 펄스들을 포함함)을 송신한다. 이들 패킷들은 레인징 요청들(201)의 일부일 수 있다. 패킷들은 각각 시간(T1)에서 송신될 수 있지만, 다른 구현예들에서 상이한 시간들에서 송신될 수 있다.
일부 실시예들에서, 모바일 디바이스(220)는 다수의 안테나들 그 자체를 가질 수 있다. 그러한 구현예에서, 모바일 디바이스(210)의 안테나는 (방송과는 대조적으로) 모바일 디바이스(220)의 특정 안테나에 패킷을 전송할 수 있으며, 이는 그 특정 패킷에 응답할 수 있다. 모바일 디바이스(220)는 특정된 안테나에서 청취할 수 있어서, 양자 모두의 디바이스들이 어느 안테나들이 관련되어 있는지를 알거나, 또는 패킷이 메시지가 어느 안테나에 대한 것인지를 나타낼 수 있다. 예를 들어, 제1 안테나가 수신된 패킷에 응답할 수 있고; 응답이 수신되면, 다른 패킷이 상이한 안테나로 전송될 수 있다. 이러한 대안적인 절차에는 더 많은 시간 및 전력이 들 수 있다.
레인징 요청들(201)의 3개의 패킷들은 각각 시간들(T2, T3, T4)에서 수신된다. 따라서, 모바일 디바이스(220)의 안테나(들)(예컨대, UWB 안테나들)는 실질적으로 동시에 청취하고 독립적으로 응답할 수 있다. 모바일 디바이스(220)는 각각 시간들(T5, T6, T7)에 전송되는 레인징 응답들(202)을 제공한다. 모바일 디바이스(210)는 각각 시간들(T8, T9, T10)에 레인징 응답들을 수신한다.
203에서, 모바일 디바이스(210)의 프로세서(214)는, 예컨대, 본 명세서에 설명된 바와 같이, 거리 정보(230)를 계산한다. 프로세서(214)는 안테나들로부터, 더 구체적으로는 안테나들(211 내지 213)로부터의 신호들을 분석하는 회로부(예컨대, UWB 회로부)로부터 시간들을 수신할 수 있다. 후술되는 바와 같이, 프로세서(214)는 더 일반적인 기능을 수행할 수 있는 애플리케이션 프로세서보다 더 적은 전력을 사용하는 올웨이즈-온-프로세서(always-on-processor)일 수 있다. 거리 정보(230)는 모바일 디바이스(220)의 2D 또는 3D 위치를 결정하는 데 사용될 수 있으며, 그러한 위치는 모바일 디바이스(210)의 디스플레이 화면을 구성하는 데 사용될 수 있다. 예를 들어, 이 위치는 모바일 디바이스(220)에 대응하는 아이콘을 디스플레이할 위치, 예컨대, 목록 내의 어느 위치에, 2D 그리드 내의 어느 위치에, 또는 1D, 2D, 또는 3D 거리/위치 범위들의 어느 클러스터 내에 아이콘을 디스플레이할지를 결정하는 데 사용될 수 있다.
일부 실시예들에서, 어느 레인징 응답이 어느 안테나로부터의 것인지를 결정하기 위해, 모바일 디바이스(220)는, 예컨대, 다른 무선 프로토콜을 사용하여 발생할 수 있는 레인징 설정 핸드쉐이크 동안, 전송될 응답 메시지들의 순서를 모바일 디바이스(210)에 알릴 수 있다. 다른 실시예들에서, 레인징 응답들은 어느 안테나가 메시지를 전송했는지를 나타내는 식별자들을 포함할 수 있다. 이들 식별자들은 레인징 설정 핸드쉐이크에서 협상될 수 있다.
레인징 요청들(201) 및 레인징 응답들(202)의 메시지들은, 예컨대, 적은 펄스들을 포함함으로써, 페이로드 내의 매우 적은 데이터를 포함할 수 있다. 적은 펄스들을 사용하는 것은 유리할 수 있다. 모바일 디바이스(잠재적으로 주머니 내에 있음)의 환경은 측정들을 어렵게 할 수 있다. 다른 예로서, 한 디바이스의 안테나는 다른 디바이스가 접근하고 있는 방향과 상이한 방향을 향할 수 있다. 따라서, 각각의 펄스에 대해 높은 전력을 사용하는 것이 바람직하지만, 특정된 시간 윈도우(예컨대, 1밀리초에 걸쳐 평균됨) 내에서 얼마나 많은 전력이 사용될 수 있는지에 대한 정부 규제들(뿐만 아니라 배터리 문제들)이 존재한다. 이들 메시지들 내의 패킷 프레임들은 대략 150 내지 180마이크로초 길이일 수 있다.
C. UWB
레인징에 사용되는 무선 프로토콜은 레인징 설정들의 초기 인증 또는 통신에 사용되는 제1 무선 프로토콜(예컨대, 블루투스)보다 더 좁은 펄스(예컨대, 더 좁은 반치전폭(full width at half maximum, FWHM))를 가질 수 있다. 일부 구현예들에서, 레인징 무선 프로토콜(예컨대, UWB)은 5 cm 이상의 거리 정확도를 제공할 수 있다. 다양한 실시예들에서, 주파수 범위는 3.1 내지 10.6 ㎓일 수 있다. 다수의 채널들이 사용될 수 있는데, 예컨대, 6.5 ㎓의 하나의 채널 및 8 ㎓의 다른 채널이 사용될 수 있다. 따라서, 일부 경우들에서, 레인징 무선 프로토콜은 제1 무선 프로토콜의 주파수 범위(예컨대, 2.4 내지 2.485 ㎓)와 중첩되지 않는다.
레인징 무선 프로토콜은 UWB의 유형인 IEEE 802.15.4에 의해 특정될 수 있다. 펄스 기반 UWB 시스템에서의 각각의 펄스는 전체 UWB 대역폭(예컨대, 500 ㎒)을 점유하여, 이에 의해 펄스가 시간적으로 국소화되게 할 수 있다(즉, 시간적으로, 예컨대, 0.5 ns 내지 수 나노초의 좁은 폭이 되게 할 수 있음). 거리의 관점에서, 펄스들은 500 ㎒ 폭의 펄스에 대해 폭이 60 cm 미만일 수 있고 1.3 ㎓ 대역폭 펄스에 대해 23 cm 미만일 수 있다. 대역폭이 너무 넓고 실제 공간에서의 폭이 너무 좁기 때문에, 매우 정밀한 비행시간 측정들이 획득될 수 있다.
레인징 메시지들(프레임들 또는 패킷들로도 지칭됨) 중 각각의 메시지는 변조되는 정보를 나타낼 수 있는 펄스들의 시퀀스를 포함할 수 있다. 프레임 내의 각각의 데이터 심볼은 시퀀스일 수 있다. 패킷들은, 예컨대, 물리 계층 및 MAC 계층의 헤더 정보를 포함하는 프리앰블을 가질 수 있고, 목적지 어드레스를 포함할 수 있다. 일부 구현예들에서, 패킷 프레임은 타이밍을 라인업시킬 수 있는 동기화 부분 및 시작 프레임 구분자(start frame delimiter)를 포함할 수 있다.
패킷은 어떻게 보안이 구성되는지를 포함할 수 있고, 암호화된 정보, 예컨대, 어느 안테나가 패킷을 전송했는지의 식별자를 포함할 수 있다. 암호화된 정보는 추가인증에 사용될 수 있다. 그러나, 레인징 동작을 위해, 데이터의 콘텐츠는 결정될 필요가 없을 수 있다. 일부 실시예들에서, 특정 데이터 피스의 펄스에 대한 타임스탬프는 송신과 수신 사이의 차이를 추적하도록 사용될 수 있다. 콘텐츠(예컨대, 복호화된 콘텐츠)는, 시간들의 올바른 차이들이 계산될 수 있도록 펄스들을 매칭시키는 데 사용될 수 있다. 일부 구현예들에서, 암호화된 정보는 메시지가 어느 스테이지에 대응하는지를 인증하는 표시자를 포함할 수 있는데, 예컨대, 레인징 요청들(201)은 스테이지 1에 대응할 수 있고, 레인징 응답들(202)은 스테이지 2에 대응할 수 있다. 표시자의 그러한 사용은 2개 초과의 디바이스들이 서로 근접하여 레인징 동작들을 수행할 때 도움이 될 수 있다.
좁은 펄스들(예컨대, 약 1 ns 폭)이 거리를 정확하게 결정하는 데 사용될 수 있다. 높은 대역폭(예컨대, 500 ㎒의 스펙트럼)은 좁은 펄스 및 정확한 위치 결정을 허용한다. 펄스들의 교차 상관은 펄스의 폭의 작은 분율인 타이밍 정확도를 제공할 수 있는데, 예컨대, 수백 또는 수십 피코초 내에 정확도를 제공할 수 있으며, 이는 서브-미터 레벨의 레인징 정확도를 제공한다. 펄스들은 수신기에 의해 인식되는 일부 패턴으로 플러스 1 및 마이너스 1의 레인징 파형(ranging wave form)을 나타낼 수 있다. 거리 측정은 비행시간 측정으로도 지칭된, 왕복 시간 측정을 사용할 수 있다. 전술된 바와 같이, 모바일 디바이스는 타임스탬프들의 세트를 전송할 수 있고, 이는 2개의 디바이스들 사이의 클록 동기화의 필요성을 제거할 수 있다.
II. 2개의 프로토콜들을 사용하는 설정 및 레인징
전술된 바와 같이, 2개의 무선 프로토콜이 사용될 수 있다. 인증 및 설정 단계가 제1 무선 프로토콜(예컨대, BLE 또는 다른 블루투스)을 사용하여 구현될 수 있다. 제2(레인징) 무선 프로토콜이 레인징 측정들을 수행하는 데 사용될 수 있다. 따라서, 모바일 디바이스(예컨대, 전화, 태블릿, 또는 시계)와 다른 모바일 디바이스 사이의 제1 무선 프로토콜 링크가 인증을 위해 사용될 수 있고, 이어서 거리 정보의 레인징 및 교환을 위해 제2 무선 프로토콜(예컨대, UWB)을 개시 및 제어하는 데 사용될 수 있다. 예를 들어, 제1 무선 프로토콜은 보안 키(security key)들, 레인징 간격들을 협상하고, UWB에 걸쳐서 레인징을 개시하도록 저전력 프레임워크를 제공할 수 있다.
A. 흐름도
도 3은 본 개시내용의 실시예들에 따른, 제1(전송) 모바일 디바이스에 의해, 2개의 무선 프로토콜들을 수반하는 제2(수신) 모바일 디바이스를 이용한 레인징 동작을 수행하기 위한 방법(300)을 예시하는 흐름도이다. 제1 무선 프로토콜(예컨대, 블루투스)이 인증에 사용될 수 있고, 제2 무선 프로토콜(예컨대, UWB)이 레인징 측정을 위해 사용될 수 있다.
블록(310)에서, 모바일 디바이스들은 제1 무선 프로토콜, 예컨대, BLE를 사용하여 광고들을 통신한다. 모바일 디바이스는 특정 레이트(rate)로 광고들을 송신할 수 있고, 특정 레이트로 다른 모바일 디바이스들로부터의 광고들에 대해 스캔할 수 있다. 광고들은, 서로를 인증하기 위해, 예컨대, 그들이 모바일 기기의 제조자와 같은 제3자에 등록되었다는 것을 확인하기 위해, 모바일 디바이스들 각각에 대한 인증 태그를 포함할 수 있다. 그러한 제3자(인증 서버로도 불림)는 모바일 디바이스로부터의(또는 모바일 디바이스의 사용자로부터의) 식별자를 사용하여 인증 태그를 생성하고 모바일 디바이스에 제공할 수 있으며, 이는 이어서 광고 내의 인증 태그를 송신할 수 있다. 일례로서, 해시 함수를 사용하여 인증 태그가 생성될 수 있다.
예들로서, 인증 태그이거나 인증 태그를 생성하는 데 사용되는 식별자는 아이덴티티 어드레스(예컨대, 미디어 액세스 제어(MAC) 어드레스)를 포함할 수 있다. 예를 들어, 고유한 48 비트 어드레스가 각각의 모바일 디바이스에 대해 사용될 수 있다. 인증 태그는 주기적으로 업데이트될 수 있다. 광고들은 또한 (예컨대, 공개 인증서와 같은 추가 정보를 검색하기 위한) 인증 태그와 연관된 ID 및 예컨대, 수신 모바일 디바이스가 웨이크업하기 위한 하나 이상의 커맨드들을 포함할 수 있다.
블록(320)에서, 모바일 디바이스들은 제1 무선 프로토콜을 사용하여 인증된다. 예를 들어, 수신 모바일 디바이스는 광고를 검출하고 인증 태그를 획득할 수 있다. 인증 태그는, 예컨대, 연락처 목록에 대응하는 모바일 디바이스 상에 저장된 인증 태그들의 목록과 비교될 수 있다. 모바일 디바이스가 연락처를 추가할 때, 대응하는 인증 태그는 인증 서버로부터 획득될 수 있다. 이어서, 모바일 디바이스는 광고가 모바일 디바이스 상에 이미 저장된 인증 태그를 포함할 때를 검출할 수 있다. 일부 구현예들에서, 식별자 및 인증 태그가 매칭됨을 확인하기 위해 새로운 인증 태그가 인증 서버에 전송될 수 있다.
수신 모바일 디바이스에 의한 인증 또는 일반적으로 광고 모드로서의 인증에 응답하여, 수신 모바일 디바이스는 또한 인증 태그를 포함하는 광고를 전송할 수 있다. 다른 실시예들에서, 인증은 수행되지 않는다.
제1 무선 프로토콜을 사용하는 통신의 일부로서, 메시지들이 암호화될 수 있도록 보안 통신 채널이 설정될 수 있다. 예를 들어, 통신은 공유 비밀이 양자 모두의 디바이스들 상에 저장되도록 야기할 수 있고, 여기서 공유 비밀은 모바일 디바이스들 사이의 메시지들의 암호화 및/또는 (예컨대, 챌린지 응답을 통한) 향후 인증들을 위해 사용될 수 있다.
블록(330)에서, 모바일 디바이스들은 제1 무선 프로토콜을 사용하여 레인징 능력들(설정들)을 교환할 수 있다. 레인징 능력들의 교환은 모바일 디바이스들 사이의 시그널링이 양자 모두의 디바이스들에 의해 일관된 방식으로 수행되는 것을 보장할 수 있다. 그러한 교환은 모바일 디바이스가 상이한 디바이스들, 예컨대, 상이한 수들 및 유형들의 안테나 유닛들을 갖는 디바이스들에 적응하게 할 수 있다. 예시적인 레인징 능력들은 모바일 디바이스들 사이의 레인징 메시지들에 대한 포맷, 사용할 주파수 범위, 각각의 디바이스에 대한 다수의 안테나 유닛들, 및 제2 무선 프로토콜을 사용하는 레인징 메시지들에 대한 암호화 프로토콜들을 특정하는 것을 포함할 수 있다.
블록(340)에서, 제1 무선 프로토콜을 사용하여 레인징이 개시될 수 있다. 일부 구현예들에서, 전송 모바일 디바이스로부터 전송된 레인징 요청 메시지에 의해 개시가 시작될 수 있다. 응답 디바이스는 시작 통지 이벤트(메시지)로 응답할 수 있다. 일단 시작 통지 이벤트가 발생하면, 제2 무선 프로토콜을 사용하여, 예컨대, 시작 메시지를 수신하는 특정된 시간 내에 대응하는 무선통신장치(radio)들을 턴 온시킴으로써, 레인징이 수행될 수 있다. 제1 무선 프로토콜과 제2 무선 프로토콜 사이의 그러한 조정은 제2 프로토콜의 안테나(들)가 항상 켜져야 할 필요가 없도록 디바이스들을 동기화하며, 그에 의해 전력을 절감할 수 있다.
블록(350)에서, 제2 무선 프로토콜(예컨대, UWB)을 사용하여 레인징이 수행될 수 있다. 제1 무선 프로토콜을 사용하는 개시 신호들 후에, 수신 디바이스는 제2 무선 프로토콜에 해당하는 하나 이상의 안테나들을 사용하여 특정된 시간에 레인징 신호들에 대해 스캔을 시작할 수 있다. 하나 이상의 안테나들은 하나 이상의 레인징 요청 메시지들을 수신하고 하나 이상의 레인징 응답 메시지들을 전송할 수 있다.
수신 디바이스의 회로부는, 예컨대, 타임 스탬프들을 결정하기 위해, 그러한 레인징 메시지들의 다양한 레벨들의 프로세싱을 수행할 수 있다. 예컨대, 도 1 및 도 2에 도시된 바와 같이, 전송 디바이스는 레인징 응답 메시지들을 수신하고, 하나 이상의 레인징 요청 메시지들의 송신에 대한 타임 스탬프들 및 하나 이상의 레인징 응답 메시지들에 대한 타임 스탬프들을 결정할 수 있다. 전송 디바이스는 모바일 디바이스들 사이의 거리를 결정하기 위해 시간들을 사용할 수 있다. 레인징은 1회 수행되거나, 특정된 횟수로 수행되거나, 또는 정지 레인징 요청이 프로세싱될 때까지 계속될 수 있다.
모바일 디바이스는 제1 무선 프로토콜(예컨대, BLE와 같은 다양한 형태의 블루투스(BT))을 위한 다수의 안테나들을 가질 수 있다. BT는 2.4 내지 2.485 ㎓의 ISM 대역에서 단파장 초고주파수(UHF) 무선파들을 사용할 수 있다. 제1 무선 프로토콜의 소정 모드들은 비교적 긴 범위에 걸쳐 사용될 수 있다. 예를 들어, 하나의 BT 무선통신장치는 125 kbps 또는 500 kbps의 하부 패킷 코딩을 사용함으로써 그리고 최대 송신 전력을 (예컨대, +20 dBm으로) 증가시킴으로써 통신 범위를 증가시킬 수 있다. 그러한 무선통신장치는 광고 및 데이터 패킷들 양자 모두에 사용될 수 있고, 단지 최대 20 미터까지 작동할 수 있는 더 낮은 전력 모드와 대조적으로, 최대 100 미터까지의 범위를 제공할 수 있다.
따라서, 사용자가 초당 1.5 미터의 레이트로 이동하는 다른 모바일에 접근하고 있었으면, 100 미터 범위는 인증을 위해 그리고 레인징 파라미터들을 협상할 뿐만 아니라 레인징 시작 메시지를 전송하기에 충분한 시간을 여전히 제공할 것이다. 통신을 설정하기 위한 그러한 여분의 시간은 다른 디바이스들로부터의 간섭이 있을 수 있는 경우에 유리할 수 있는데, 이는 그렇지 않은 경우 모바일 디바이스의 검출 및 레인징의 시작을 지연시킬 수 있다.
그러나, 이들 패킷들은 대략 2배 내지 8배 더 긴 지속기간, 예컨대, 최대 약 16밀리초일 수 있으며, 이는 그것들을 레인징에 적합하게 만들지 않는다. 하나의 마이크로초 펄스는 +/-300 미터인 범위를 제공한다. 그리고, BT에 대한 일반적인 전력 모드들조차도 레인징에 적합하지 않은 펄스들을 제공한다.
B. 시퀀스 다이어그램
도 4는 본 개시내용의 실시예들에 따른, BT 및 UWB 프로토콜들을 수반하는 전송 디바이스(410)와 수신 디바이스(420) 사이의 통신들의 시퀀스 다이어그램을 도시한다. 모바일 디바이스들은 화면 오프 상태에 있을 수 있거나, 또는 사용자에 의해 활동적으로 사용 중일 수 있다. 시퀀스 다이어그램의 소정 단계들은 선택적일 수 있다.
401에서, 전송 디바이스(410)의 BLE 안테나(411)는 광고 신호를 송신하고, BLE 안테나(421)는 광고 신호를 송신한다. 디바이스들은, 사용자가 어떠한 사용자 입력도 제공할 필요 없이, 특정된 듀티 사이클에서 광고 신호들을 방송할 수 있다. 도시된 바와 같이, 광고 신호는 디바이스 정보 및 인증 태그를 포함한다. 디바이스 정보는 디바이스의 유형(예컨대, 시계, 태블릿, 또는 전화), 디바이스의 상태(예컨대, 잠금해제 여부, 또는 손목 상인지 또는 주머니 안인지와 같은 배향), 및 프로토콜 또는 다른 소프트웨어의 버전과 같은, 디바이스에 관한 정보에 대응할 수 있다. 디바이스들은 또한 일부 듀티 사이클에서 스캔할 수 있다. 인증은 401의 일부로서 발생할 수 있다.
인증 서버에 등록된 각각의 디바이스는 고유 인증 태그를 가질 수 있다. 다양한 실시예들에서, 인증 태그는 공개 키들, 인증서들, 및 디지털 서명들의 사용을 수반할 수 있다. 예를 들어, 디바이스는 그들의 연락처 목록 내에 누군가의 공개 키들을 저장할 수 있고, 공개 키를 사용하여 전송 디바이스로부터의 디지털 서명을 인증할 수 있다. 다른 실시예들에서, 공유된 암호화 키는 비대칭 공개 키와 개인 키를 사용하는 것과 대조적으로, 암호화 및 복호화(또는 디지털 서명의 생성 및 검증)에 사용될 수 있다.
402에서, 이벤트가 전송 디바이스(410)에서 검출된다. 일례로서, 이벤트는 사용자 입력, 예컨대, 데이터를 공유하려는 의도의 표시일 수 있다. 다른 예로서, 이벤트는, 예컨대, 전송 디바이스의 사용자에게 리마인더를 제공하기 위한, 전송 디바이스에 의해 추적되고 있는 수신 디바이스로부터의 광고의 검출일 수 있다. 그러한 예들에 대한 추가의 상세 사항들이 이후에 제공된다.
403에서, BLE 안테나(411)는 더 높은 듀티 사이클에서 송신 및 스캔한다. 증가된 광고 및 스캐닝은, 2개의 디바이스들이 접속이 생성될 수 있도록 서로를 검출하기 위한 발견 프로세스의 부분일 수 있다. 예를 들어, 전송 디바이스(410)가 레인징 동작이 요청되었거나 요청될 가능성이 있다는 입력을 검출하는 경우, 증가된 광고/스캔은 제1 무선 프로토콜을 사용하여 통신 세션의 더 빠른 설정을 제공할 수 있다.
404에서, 전송 디바이스(410) 및 수신 디바이스(420)는 인증 태그를 사용하여 다른 디바이스를 인증한다. 2개의 디바이스들에 의한 인증들은 상이한 시간들 또는 동일하거나 유사한 시간에 발생할 수 있다. 인증은 이후의 단계들 후에, 예컨대, 레인징 설정들(405) 및 레인징 요청 메시지들(407)을 갖는 광고의 송신이 시작된 후에 발생할 수 있다. 이 시점에서, 2개의 디바이스들 사이에 생성된 바와 같은 BLE 접속이 고려될 수 있다.
일부 실시예들에서, BLE 접속을 설정하는 것의 일부로서, 각각의 디바이스는 암호화된(보안) 통신들을 수행하기 위한 키들을 획득할 수 있다. 접속이 이전에 이루어진 경우, 키들이 재사용될 수 있다. 인증 태그는 미래의 BLE 메시지들의 암호화/복호화를 수행하기 위해 저장된 키(들)를 검색하는 데 사용될 수 있다.
405에서, BLE 안테나(411)는 액션 커맨드(예컨대, 레인징이 요청되고 있음) 및 하나 이상의 레인징 설정들을 포함하는 광고 신호를 송신한다. 광고는 또한 인증 태그를 포함할 수 있다. 도시된 바와 같이, 레인징 설정들은 레이트(rate), dt_tx, 및 N을 포함한다. 레이트는 시간(예컨대, 디폴트 송신/스캔 레이트에 대한 300 ms 또는 증가된 송신/스캔에 대한 30 ms)을 특정할 수 있고 N은 배수를 특정할 수 있어서, 이에 의해 각각의 레인징 요청 메시지 사이에 시간 지연을 제공할 수 있다. 시간 오프셋 dt_tx는 레인징 요청 메시지가 전송된다는 광고 신호 이후의 시간을 특정한다. 이러한 방식으로, 수신 디바이스(420)는 UWB 안테나(422)가 턴 온되어야 할 때를 알게 된다. 그러한 광고 신호는, 인증이 전송 디바이스(410)에 의해 수행된 후에, 그리고 잠재적으로 수신 디바이스(420)가 그의 인증을 수행했음을 확인응답한(acknowledge) 후에 전송될 수 있다. 일부 실시예들에서, 광고 내의 액션 커맨드는 수신 디바이스(420)의 프로세서가 웨이크업하게 할 수 있거나, 적어도 UWB 회로부(또는 제1 무선 프로토콜의 다른 회로부)가 초기화되게 할 수 있다.
405에서의 광고는 레인징 설정 핸드셰이크의 일부로 간주될 수 있다. 일부 실시예들에서, 수신 디바이스(420)는 전송 디바이스(410)에 메시지를 전송하여 레인징 설정들의 수신을 확인응답하거나, 또는 잠재적으로 설정들에 대한 변경을 제안할 수 있다. 레인징 설정 핸드쉐이크는 2개의 디바이스들의 레인징 능력들을 포함할 수 있다. UWB 안테나들에 관한 정보가 제공될 수 있는데, 이는 상이한 디바이스들이 상이한 수들의 UWB 안테나들을 가질 수 있거나, 또는 디바이스가 단지 몇 개만 턴 온시키기를 원할 수도 있기 때문이다. 대략적인 레인징이 먼저 발생할 수 있고, 모바일 디바이스들이 더 가까워진 후에 더 많은 UWB 수신기들을 사용한 더 미세한 레인징이 발생할 수 있다. 레인징 동작들 사이에, 예컨대, 동적 결정 또는 소프트웨어 또는 물리적 컴포넌트들의 업데이트의 일부로서 다른 설정들/파라미터들이 제공될 수 있다.
레인징 능력들에 대한 다른 예들은 다수의 안테나들, 이들 안테나들의 위치(예컨대, 안테나들 사이의 상대 거리), 얼마나 많은 안테나들을 사용할지, 암호화 프로토콜들, 패킷 포맷, 동작 모드들, 및 지원되는 주파수 범위를 포함한다. 그러한 능력들은 두 디바이스의 소프트웨어 업데이트를 반영하여, 새로운 또는 상이한 능력을 야기할 수 있다. 레인징 설정 핸드쉐이크는 레인징을 어떻게 수행할지, 예컨대, 얼마나 자주 레인징할지 또는 레인징을 어떻게 스케줄링할지에 관한 협상(예컨대, 다수의 수신 디바이스들이 존재하는 경우 - 라운드 로빈(round robin), 한 번에 하나, 또는 다른 옵션들)을 포함할 수 있다. 전송 디바이스는 그것이 3개의 상이한 디바이스들에 접속되어 있다는 것을 알 수도 있고, 따라서 모바일 디바이스는 각각의 디바이스에 대한 더 낮은 레이트의 범위 측정들(예컨대, 25밀리초)을 원할 수 있거나, 또는 각각의 디바이스로 레인징을 수행하도록 특정 시간/주파수를 스케줄링할 수 있다. UWB 무선통신장치들이 온 상태에 있는 동안 듀티 사이클, 예컨대, 1 ㎑ 또는 10 ㎑가 특정될 수 있다. 예를 들어, 시작 메시지가 수신될 때, 405에서, 디바이스들은 광고로부터 100밀리초(또는 여분의 마진에 대해 90밀리초) 레인징에서 시작하고, 이어서 그 후에 1 ㎑마다 시작하는 것에 동의할 수 있다.
레인징 설정 핸드쉐이크는 또한 예컨대, UWB 레인징에 대한 세션 키들의 새로운 세트를 도출함으로써 UWB 메시지들의 암호화를 관리할 수 있다. 키들은 주기적으로, 예컨대, 각각의 세션에 대해 또는 N번째 세션마다 업데이트될 수 있다. 일부 실시예들에서, 세션 키들은 인증에 대한 챌린지-응답으로 사용되었던 공통 공유 비밀로부터 도출될 수 있으며, 여기서 도출은 디폴트 또는 협상된 절차들을 사용한다. 따라서, 레인징 설정 핸드쉐이크는 레인징에 대해 예상되는 것에 관한 정보를 수신 디바이스에 알리도록 제어 채널로서 작용할 수 있다. 레인징 설정 핸드셰이크 메시지들은 임의의 다른 근처의 디바이스들과의 혼란을 야기하지 않도록 목적지 어드레스를 특정할 수 있다.
406에서, 수신 디바이스(420)는 UWB 안테나(422) 또는 다수의 UWB 안테나들을 턴 온하기 위한 액션들을 개시한다. 그러한 초기 단계들은, UWB 안테나(422)가 준비 상태에 있지만 잠재적으로 완전히 턴 온되지 않도록 일부 회로부를 프라이밍(prime)할 수 있다. 이는 수신 디바이스(420)가 레인징 설정들로 광고 신호를 디코딩할 수 있는 제1 시간일 수 있다. 그러한 디코딩은 수신 디바이스(420)가 이전 광고 신호에 의해 전송 디바이스(410)를 인증할 수 있고 난 후에 발생할 수 있다.
407에서, 전송 디바이스(410)는 UWB 안테나(412)를 사용하여 레인징 요청 메시지를 전송한다. 레인징 요청 메시지는 405에서 광고 신호 이후 dt_tx 밀리초에 전송된다. 수신 디바이스(420)는 이러한 타이밍 오프셋을 알고, 따라서 405에서 광고를 검출한 후에 시간 윈도우 내에서 UWB 안테나(422)를 턴 온시킬 수 있다. 다른 레인징 요청 메시지들이 이전에 전송되었지만 수신 디바이스(420)에 의해 검출되지 않았을 수 있다. 설명의 편의를 위해, 단지 하나의 레인징 요청 메시지가 도시되어 있다. 다른 광고들이 또한 405 이전에 전송될 수 있지만, 수신 디바이스(420)에 의해 검출되지 않았다. 레인징 요청 메시지는 수신 디바이스(420)의 목적지 어드레스를 특정할 수 있으며, 이는 다른 근처의 디바이스들이 레인징 요청 메시지에 대해 허용할 수 있게 한다.
408에서, 수신 디바이스(420)는 UWB 안테나(422)를 사용하여 레인징 응답 메시지를 전송한다. 레인징 응답 메시지는 도 1 및 도 2에 대해 설명된 바와 같은 시간들을 포함할 수 있다.
409에서, 전송 디바이스(410)는 레인징 요청 메시지가 전송되었을 때의 시간들, 레인징 응답 메시지 내의 시간들, 및 레인징 응답 메시지가 수신될 때의 시간들을 사용하여 거리 정보를 결정한다. 거리 정보를 결정하기 위한 예시적인 기술들이 본 명세서에서 예컨대, 도 1 및 도 2에 설명되어 있다.
일부 실시예들에서, 주파수 보정이 결정될 수 있다. 예를 들어, 전송 발진기에 대한 수신 발진기의 주파수 오프셋(클록)은 상당히 정확한 범위 내의 거리, 예컨대, 약 20 cm, 30 cm, 또는 40 cm 이내의 거리의 결정을 허용할 수 있다. 주파수 오프셋을 사용하는 것과 관련하여, 전송 디바이스는 그의 클록이 특정 레이트에서, 예컨대 5 또는 9와 같은 특정 채널 상에서 실행되고 있음을 방송할 수 있다. 생성된 주파수 오차는 클록들 사이의 상대적 클록 드리프트 레이트(drift rate)를 보정하는 데 사용될 수 있으며, 이는 정확도를 개선할 수 있다. 다른 공식들에서는, 예컨대, 모든 목적들을 위해 전체적으로 포함된 미국 특허 공개 제2019/0135229호에 기재된 바와 같이, 레인징 측정의 정확도를 추가로 개선하기 위해 추가의 메시지들이 사용될 수 있다.
추가의 레인징이 수행될 수 있다. 예를 들어, 궤적을 결정하거나, 더 큰 정확도를 결정하거나, 또는 (예컨대, 회의 또는 대화 중에 발생할 수 있는 바와 같이, 2명의 사용자가 서로 상호작용하고 있음을 추정하기 위해) 2개의 디바이스들이 서로 안정되게 근접해 있다는 것을 확인하는 데 사용될 수 있는 하나 초과의 거리가 결정될 수 있다. 안정된 근접도에 관한 그러한 정보는 리마인더를 트리거하는 데 사용될 수 있다.
C. 예시적인 레인징 프로토콜
레인징 서비스 메시지 포맷에 대한 예시적인 포맷은 메시지의 유형을 나타내는 코드(예컨대, 하나의 옥텟 길이)를 제공할 수 있다. 길이 필드(예컨대, 2개의 옥텟 길이)는, 코드 및 길이 필드들을 포함하지 않을 수도 있는 메시지의 데이터 필드의 옥텟들에서의 크기를 나타낼 수 있다. 데이터 필드는 길이가 가변적일 수 있다. 따라서, 코드 필드는 데이터 필드의 포맷을 결정할 수 있고, 길이 필드는 데이터 필드의 길이를 나타낼 수 있다.
레인징 설정(능력) 핸드쉐이크는 모바일 디바이스들 상의 UWB 디바이스들의 상태를 교환하도록 매 접속의 시작 시에서 개시될 수 있다. 레인징 능력 요청 메시지는 특정 ID 코드(예컨대, 1)를 가질 수 있다. 이러한 메시지에 대한 일부 예시적인 파라미터들은 지원된 피처 마스크(features mask), 요구된 피처 마스크, 소프트웨어 버전, 링크 식별자, UWB 무선 디바이스들의 수, 및 UWB 디바이스 디스크립터(descriptor)를 포함한다.
소프트웨어 버전 파라미터는 개시자 디바이스 상에서 실행되는 현재의 레인징 소프트웨어 버전을 나타낼 수 있다. 링크 식별자는, 응답자가 수신된 UWB 패킷들을 개시자와의 BT 접속에 매칭시키도록 허용하는 난수일 수 있다. 따라서, 링크 식별자는 UWB 메시지들에 포함될 수 있다.
모바일 디바이스들은 2개의 피처 마스크들, 즉 지원된 피처 마스크 및 요구된 피처 마스크를 유지할 수 있다. 지원된 피처 마스크는 지원된 피처들을 나타낼 수 있다. 피처 마스크 파라미터는 모든 피처들의 비트 마스크일 수 있다. 각각의 피처에 대해, 단일 비트가 특정될 수 있는데, 예컨대, 피처가 지원되면 1로 설정되고 그렇지 않은 경우 0으로 설정된다. 예시적인 피처들은 보안 레인징, 1 대 1 레인징(예컨대, 1개의 디바이스 대 1개의 디바이스), 및 1 대 다 레인징이다. 요구된 피처 마스크는 요구된 피처들을 나타낼 수 있다. 예를 들어, 보안 레인징 및 1:1 레인징에 대한 지원은 필수적일 수 있다.
UWB 디바이스 디스크립터는 각각의 이용가능한 UWB 안테나 디바이스(예컨대, 안테나 또는 하나보다 많은 안테나를 갖는 노드)에 대해 하나의 엔트리를 가질 수 있다. 피처 요청 메시지는 개시 디바이스 상의 각각의 UWB 디바이스에 대해 하나의 UWB 디바이스 디스크립터 엔트리를 가질 수 있다. UWB 안테나 디바이스들 각각은 다음의 파라미터들을 갖는 UWB 디바이스 디스크립터에 의해 특징지어질 수 있다: 펌웨어 버전 - 현재 UWB 펌웨어의 버전; 하드웨어 버전 - 현재 UWB 하드웨어의 버전; 제조자 명칭 - UWB 제조자의 명칭. 이용가능한 UWB 디바이스들의 수는 특정 레인징 세션에 대해 특정될 수 있다. 링크 식별자는 BT 링크를 UWB 패킷들에 맵핑시킬 수 있다.
레인징 능력 응답 메시지는 레인징 능력 요청 메시지와 유사할 수 있다. 응답자는 이러한 메시지를 전송하기 위해 지정될 수 있다. 응답자가 레인징 능력 요청 메시지의 요구된 피처들에 열거된 임의의 피처를 지원하지 않는 경우, 응답자는 지원되지 않는 피처 에러 코드를 갖는 추가의 레인징 커맨드 완료 메시지로 응답할 수 있다. 레인징 능력 응답 메시지는 파라미터들: 지원된 피처들, 소프트웨어 버전, UWB 디바이스들의 수, 및 UWB 디바이스 디스크립터를 포함할 수 있다.
III. 레인징을 수행하기 위한 모바일 디바이스
도 5는 본 개시내용의 실시예들에 따른, 레인징을 수행하도록 동작가능한 모바일 디바이스(500)의 컴포넌트들의 블록 다이어그램이다. 모바일 디바이스(500)는 전술된 바와 같이 적어도 2개의 상이한 무선 프로토콜들을 위한 안테나들을 포함한다. 제1 무선 프로토콜(예컨대, 블루투스)은 인증 및 레인징 설정들을 교환하기 위해 사용될 수 있다. 제2 무선 프로토콜(예컨대, UWB)은 다른 모바일 디바이스와 레인징을 수행하기 위해 사용될 수 있다.
도시된 바와 같이, 모바일 디바이스(500)는 레인징을 수행하기 위한 UWB 안테나들(510)을 포함한다. UWB 안테나들(510)은 UWB 안테나들(510)로부터 검출된 신호들을 분석하기 위해 UWB 회로부(515)에 접속된다. 일부 실시예들에서, 모바일 디바이스(500)는 예컨대, 삼각측량을 수행하기 위한 3개 이상의 UWB 안테나들을 포함한다. 상이한 UWB 안테나들은 상이한 배향들을 가질 수 있으며, 예컨대, 2개는 하나의 방향이고 세 번째 안테나는 다른 방향일 수 있다. UWB 안테나들의 배향들은 레인징의 시야를 정의할 수 있다. 일례로서, 시야는 120도에 걸쳐 있을 수 있다. 그러한 조절은 사용자가 하나 이상의 다른 근처의 디바이스들에 대해 디바이스를 포인팅하는 방향에 대한 결정을 허용할 수 있다. 시야는 피치, 요(yaw), 또는 롤 각도 중 임의의 하나 이상을 포함할 수 있다.
UWB 회로부(515)는 올웨이즈-온 프로세서(AOP)(530)와 통신할 수 있으며, 이는 UWB 메시지들로부터의 정보를 사용하여 추가 프로세싱을 수행할 수 있다. 예를 들어, AOP(530)는 UWB 회로부(515)에 의해 제공되는 타이밍 데이터를 사용하여 레인징 계산들을 수행할 수 있다. 디바이스의 AOP(530) 및 다른 회로들은 예컨대, 펌웨어 또는 다른 소프트웨어를 통해, 전용 회로부 및/또는 구성가능한 회로부를 포함할 수 있다.
도시된 바와 같이, 모바일 디바이스(500)는 또한 다른 디바이스들과 데이터를 통신하기 위한 BT/WiFi 안테나(520)를 포함한다. BT/WiFi 안테나(520)는 BT/WiFi 안테나(520)로부터 검출된 신호들을 분석하기 위해 BT/WiFi 회로부(525)에 접속된다. 예를 들어, BT/WiFi 회로부(525)는 AOP(530)로 전송될 수 있는 데이터(예컨대, 인증 태그)를 획득하기 위해 메시지들을 파싱할 수 있다. 일부 실시예들에서, AOP(530)는 인증 태그를 사용하여 인증을 수행할 수 있다. 따라서, AOP(530)는 인증 프로세스의 일부로서, 수신된 태그를 그에 대해 비교할 인증 태그들의 목록을 저장 또는 검색할 수 있다. 일부 구현예들에서, 그러한 기능은 BT/WiFi 회로부(525)에 의해 달성될 수 있다.
다른 실시예들에서, UWB 회로부(515) 및 BT/WiFi 회로부(525)는 대안적으로 또는 추가적으로 AOP(530)와 유사한 기능을 수행할 수 있는 애플리케이션 프로세서(540)에 접속될 수 있다. 애플리케이션 프로세서(540)는 전형적으로 AOP(530)보다 더 많은 전력을 필요로 하며, 따라서, 애플리케이션 프로세서(540)가 슬립 상태, 예컨대, 오프 상태로 유지될 수 있도록 소정 기능을 처리하는 AOP(530)에 의해 전력이 절약될 수 있다. 일례로서, 애플리케이션 프로세서(540)는 BT/WiFi를 사용하여 오디오 또는 비디오를 통신하는 데 사용될 수 있는 한편, AOP(530)는 그러한 콘텐츠의 송신 및 UWB 회로부(515)와 BT/WiFi 회로부(525) 사이의 통신을 조정할 수 있다. 예를 들어, AOP(530)는 BT 광고들에 비해 UWB 메시지들의 타이밍을 조정할 수 있다.
AOP(530)에 의한 조정은 다양한 이점들을 가질 수 있다. 예를 들어, 전송 디바이스의 제1 사용자는 다른 사용자와 콘텐츠를 공유하기를 원할 수 있고, 따라서 이 다른 사용자의 수신 디바이스와의 레인징이 요구될 수 있다. 그러나, 많은 사람들이 동일한 방에 있는 경우, 전송 디바이스는 방 내의 다수의 디바이스들 중에서 특정 디바이스를 구별할 필요가 있을 수 있고, 잠재적으로 전송 디바이스가 어느 디바이스를 포인팅하고 있는지를 결정할 필요가 있을 수 있다. 그러한 기능은 AOP(530)에 의해 제공될 수 있다. 또한, 방 내의 모든 다른 디바이스의 애플리케이션 프로세서를 웨이크업하는 것이 바람직하지 않으므로, 다른 디바이스들의 AOP 들은 메시지들의 일부 프로세싱을 수행하고 목적지 어드레스가 상이한 디바이스에 대한 것임을 결정할 수 있다.
레인징을 수행하기 위해, BT/WiFi 회로부(525)는 다른 디바이스로부터의 광고 신호를 분석하여, 다른 디바이스가, 예컨대 콘텐츠를 공유하기 위한 프로세스의 일부로서, 레인징을 수행하기를 원한다고 결정할 수 있다. BT/WiFi 회로부(525)는 이러한 통지를 AOP(530)에 통신할 수 있고, 이는 UWB 회로부(515)가 다른 디바이스로부터 UWB 메시지들을 검출할 준비가 되도록 스케줄링할 수 있다.
레인징을 개시하는 디바이스의 경우, 그의 AOP는 레인징 계산을 수행할 수 있다. 또한, AOP는 다른 디바이스와의 거리의 변화들을 모니터링할 수 있다. 예를 들어, AOP(530)는 거리를 임계치와 비교하고, 거리가 임계치를 초과할 때 경보를 제공하거나, 또는 2개의 디바이스들이 충분히 가까워질 때 잠재적으로 리마인더를 제공할 수 있다. 전자의 예는 자녀(및 가능하게는 자녀의 디바이스)가 너무 멀리 떨어져 있을 때 부모가 경고받기를 원할 때일 수 있다. 후자의 예는 한 사람이 다른 디바이스의 사용자에게 말할 때 무엇인가 주제로 꺼내도록 리마인드되기를 원할 때일 수 있다. AOP에 의한 이러한 모니터링은 애플리케이션 프로세서에 의한 전력 소비를 감소시킬 수 있다.
IV. 레인징에 기초한 데이터 공유
하나의 모바일 디바이스의 사용자는 데이터(예컨대, 비디오 또는 오디오 파일)를 다른 사용자에게 공유하기를 원할 수 있다. 사용자는 이메일에 파일을 첨부하고 전송할 수 있지만, 이것은 느릴 수 있고 데이터를 네트워크에 노출시킬 수 있다. 따라서, 예컨대, 블루투스 또는 WiFi 다이렉트(피어 모드 또는 애드-호크(ad-hoc) 모드로도 지칭됨)를 사용하여, 또는 적어도 로컬 액세스 포인트/라우터를 통해 다른 디바이스로 직접 데이터를 전송하는 것이 유리할 수 있다. 예를 들어, 사용자의 디바이스는 다른 근처의 디바이스들을 검출하고 그들을 데이터를 공유하기 위한 옵션들로서 디스플레이할 수 있다.
이러한 방식으로 데이터를 공유하는 것은, 근처에 다수의 디바이스들이 있을 때 문제가 있을 수 있다. 예를 들어, 2명의 사람들(즉, 전송자와 수신자)이 군중 내에 있는 경우, 발견 프로세스는 다수의 디바이스들을 식별할 수 있다. 다수의 디바이스들이 옵션들로서 디스플레이되는 경우, 그들의 아이콘들을 단일 화면 상에 디스플레이하기 어려울 수 있고, 그에 의해 친구의 디바이스를 신속하게 선택하기를 원하는 사용자에게 좌절감을 야기할 수 있다. 전송 디바이스의 연락처 목록 내에 보이는 다른 디바이스들의 아이콘들만을 디스플레이하는 것이 가능하다. 이는 데이터를 전송하기 위한 옵션들로서 도시된 디바이스들의 수를 제한할 수 있다. 그러나, 그러한 요건은 데이터를 새로운 사람에게 공유하는 능력을 제한할 수 있다. 그리고, 연락처 목록에 있어야 한다는 요건은, 사용자가 많은 친구들, 동료들 등 - 이들 전부 또는 이들 중 다수가 연락처 목록에 있음 -과 있을 때는 적용되지 않는다. 실시예들은 이러한 프로세스를 용이하게 하기 위해 레인징을 사용할 수 있다.
A. 예시적인 공유 시나리오
도 6은 본 개시내용의 실시예들에 따른, 데이터 항목을 다른 디바이스와 공유하는 것을 용이하게 하기 위해 레인징을 사용하는 모바일 디바이스의 예시적인 공유 시나리오를 도시한다. 데이터 항목은 다양한 것들일 수 있으며, 예컨대, 연락처, 오디오 파일, 이미지, 비디오 파일, 양자 모두의 디바이스들 상에 설치된 애플리케이션의 위치에 대한 딥 링크(deep link) 등일 수 있다. 공유 세션은 전송 디바이스(615)를 사용하는 사용자(610)에 의해 개시될 수 있다.
사용자(610)는 다양한 방식들로 전송 디바이스(615) 상의 공유 세션을 개시할 수 있다. 예를 들어, 사용자(610)는 데이터 항목을 선택하고, 이어서 데이터 항목을 공유하도록 공유 옵션(예컨대, GUI 상의 버튼)을 선택할 수 있다. 공유 옵션의 선택은 예컨대, 도 1 내지 도 4에 설명된 바와 같이 공유 프로세스를 시작할 수 있다.
광고들은 디바이스들로부터 전송되어 인증에 사용될 수 있다. 전송 디바이스(615)는 디바이스들(625, 635, 645) 각각을 인증할 수 있다. 일단 인증되면, 전송 디바이스(615)는, 도시된 바와 같이, 레인징 정보로 응답할 수 있는, 디바이스들 각각에 대한 레인징 동작을 수행할 수 있다.
전송 디바이스(615)는 범위 정보를 사용하여 거리 정보, 예컨대, 다른 디바이스들의 상대 위치들을 결정할 수 있다. 예를 들어, 전송 디바이스(615)가 다수의 안테나들(예컨대, 3개)을 포함하는 경우, 전송 디바이스(615)는 전송 디바이스(615)에 대한 2D 그리드 상의 디바이스들 각각의 위치를 결정할 수 있다. 다른 예로서, 전송 디바이스(615)는 디바이스들 각각에 대한 단일 거리 값을 결정할 수 있으며, 디바이스들은 이 거리에 의해 목록에서 분류될 수 있다. 전송 디바이스(615)는 전송 디바이스(615)의 화면 상에 디스플레이를 구성하기 위해 거리 정보를 사용할 수 있다. 예를 들어, 이 위치는 모바일 디바이스(220)에 대응하는 아이콘을 디스플레이할 위치, 예컨대, 목록 내의 어느 위치에, 2D 그리드 내의 어느 위치에, 또는 1D, 2D, 또는 3D 거리/위치 범위들의 어느 클러스터 내에 아이콘을 디스플레이할지를 결정하는 데 사용될 수 있다.
사용자(610)는 데이터 항목을 전송할 디바이스를 선택할 수 있다. 도시된 바와 같이, 디바이스(635)가 선택된다. 선택은 다양한 방식들로 이루어질 수 있으며, 예컨대, 사용자(630)의 사진일 수 있는 수신 디바이스(635)를 나타내는 아이콘을 터치함으로써 이루어질 수 있다. 다른 실시예들에서, 사용자(610)는 선택을 달성하기 위해, 수신 디바이스(635)에서 전송 디바이스(615)를 포인팅할 수 있다. 예를 들어, 전송 디바이스로부터 중심축을 따라 포인팅하는 디바이스가 데이터 항목의 수신자로서 자동으로 선택될 수 있다. 이러한 방식으로, 사용자(610)는 이용가능한 디바이스들을 용이하게 볼 수 있고 원하는 디바이스를 선택할 수 있다.
일부 실시예들에서, 사용자들은 어느 다른 디바이스들이 그들을 발견하고 레인징을 수행할 수 있는지, 또는 그 디바이스가 공유를 허용할 것인지 여부를 제어할 수 있다. 예를 들어, 사용자는 그러한 동작들을 연락처 목록 내의 것들 또는 연락처 목록 내의 것들의 서브세트로 제한할 수 있다. 그리고, 본 명세서에 설명된 바와 같이, 인증은 개인 정보를 평이하게(in the clear) 제공함이 없이 발생할 수 있는데, 예컨대, 임의의 그러한 사적인 데이터는 암호화되거나 달리 난독화될 수 있다. 예를 들어, 식별자들의 해시들이 제1 인증 태그로서 사용될 수 있거나, 공개 인증서들 및/또는 디지털 서명들이 사용될 수 있다. 예컨대, 인증 서버는 해시들, 디지털 서명들, 공인 인증서들 등을 발급할 수 있어서, 디바이스는 인증 태그를 (예컨대, 연락처 목록에서) 이전에 발견된 디바이스에 매칭시킬 수 있거나 또는 적어도 디바이스가 인증 서버에 의해 등록 및/또는 인증되었음을 알 수 있다. 인증 서버는 연락처 목록 내의 각각의 디바이스에 대한 인증 태그들을 제공할 수 있다. 다른 예로서, 그러한 인증 태그들(예컨대, 해쉬들)은 (예컨대, 등록 시에) 제1 디바이스에 의해 생성되고 인증 서버에 전송될 수 있으며, 이는 그것들을 그들의 연락처 목록 내의 제1 디바이스 또는 관련 식별자를 갖는 다른 디바이스들로 분배할 수 있다.
B. 콘텐츠를 공유하기 위한 방법
도 7은 본 개시내용의 실시예들에 따른, 전송 모바일 디바이스와 수신 모바일 디바이스 사이의 데이터를 공유하는 방법(700)의 흐름도이다. 방법(700)은 전송 모바일 디바이스에 대한 다른 디바이스들의 공간적 관계를 결정하고, 그 공간적 관계를 사용하여 사용자가 데이터 항목을 공유할 하나 이상의 디바이스들을 선택하는 것을 용이하게 할 수 있다. 방법(700)은 전송 디바이스의 역할을 하는 임의의 디바이스에 의해 수행될 수 있다.
블록(705)에서, 전송 모바일 디바이스는 메모리에 데이터 항목을 저장한다. 데이터 항목은 임의의 유형의 것일 수 있으며, 그 일부 예들이 본 명세서에 제공된다. 예를 들어, 데이터 항목은 임의의 적합한 파일 포맷으로 저장된 사진 또는 다른 이미지, 비디오, 또는 텍스트 파일(예컨대, 연락처 정보, 웹페이지에 대한 링크, 애플리케이션에 대한 링크, GPS 좌표 등)일 수 있다. 데이터 항목은 메모리, 예컨대, RAM, 플래시 메모리, 하드 드라이브 등의 다양한 위치들에 저장될 수 있다.
블록(710)에서, 전송 모바일 디바이스의 사용자 인터페이스는 공유 세션을 나타내는 사용자 입력을 수신한다. 사용자 입력은 변경될 수 있다. 예를 들어, 사용자는 데이터 항목에 대응하는 화면 상의 공유 버튼을 선택할 수 있다. 다른 예로서, 사용자는 "항목 공유" 또는 "항목 전송"과 같은 음성 커맨드를 제공할 수 있다. 사용자 인터페이스는 다양한 형태를 취할 수 있는데, 예컨대, 상이한 사용자들에 대응하는 아이콘들이 화면 상의 상이한 위치들에 배치될 수 있다. 이러한 위치들은 전송 모바일 디바이스에 대한 수신 모바일 디바이스의 상대 위치에 따라, 예컨대, 전송 모바일 디바이스의 포인팅 방향에 대해 달라질 수 있다. 예를 들어, 위치는 전송 모바일 디바이스에 대응하는 원 주위의 지점들에서 도시될 수 있다.
블록(715)에서, 전송 모바일 디바이스는, 제1 무선 프로토콜을 통해, 전송 모바일 디바이스의 제1 인증 태그를 포함하는 광고 신호를 송신(예컨대, 방송)한다. 전송 모바일 디바이스가 통신을 개시할 수 있거나, 수신 모바일 디바이스가 통신을 개시할 수 있다. 따라서, 전송 모바일 디바이스에 의해 전송된 광고 신호는 수신 모바일 디바이스로부터의 신호(메시지)에 응답한 것일 수 있다. 예를 들어, 전송 모바일 디바이스는 이웃 디바이스들을 검출하고, 그들의 정보(예컨대, 연락처 정보)를 저장하고, 이어서 사용자 입력이 공유 세션을 나타낸 후에 제1 인증 태그를 송신할 수 있다. 본 명세서에서 인증 태그의 예들이 제공되는데, 예컨대, 고유 식별자, 해시, 공유 비밀, 디지털 서명, 공개 인증서, 또는 양자 모두의 디바이스들에 의해 사용되는 공개 키 또는 공유 키와 같은 암호화 키가 제공된다. 제1 무선 프로토콜의 예들은 블루투스 및 Wi-Fi를 포함한다.
블록 720에서, 수신 모바일 디바이스의 제2 인증 태그는 제1 무선 프로토콜을 통해 수신 모바일 디바이스로부터 수신된다. 제2 인증 태그는 제1 인증 태그와 유사한 유형의 것일 수 있으나, 상이할 수 있다. 제2 인증 태그는 블록(715)에서 전송된 광고 신호에 응답하여 수신될 수 있다. 다른 구현예에서, 제2 인증 태그는 예컨대, 전술된 바와 같이 블록(715) 이전에 수신된다. 인증을 위한 예시적인 기술들이 또한 도 3 및 도 4에 설명되어 있다.
블록(725)에서, 제2 인증 태그는 수신 모바일 디바이스를 인증하는 데 사용된다. 유사하게, 수신 모바일 디바이스는 전송 모바일 디바이스를 인증하기 위해 제1 인증 태그를 사용할 수 있다. 인증 프로세스는 다양한 방식들로 수행될 수 있다. 예를 들어, 인증 태그는 인증 태그와 함께 수신될 수 있는 페이로드의 일부분의 디지털 서명일 수 있다. 이어서, 공개 키는 페이로드에 매칭되도록 디지털 서명을 복호화하는 데 사용될 수 있다. 다른 예로서, 디바이스는 사용자/디바이스 식별자들(메시지의 페이로드 내에 포함될 수 있음)과 연관하여 인증 태그들을 저장할 수 있고, 수신된 인증 태그는 수신된 사용자/디바이스 식별자에 대응하는 저장된 인증 태그와 비교될 수 있다. 인증의 다른 예들이 본 명세서에 제공된다.
블록(730)에서, 제2 무선 프로토콜을 사용하여 레인징 동작이 수행되도록 수신 모바일 디바이스와 하나 이상의 레인징 설정들을 통신하기 위해 제1 무선 프로토콜이 사용된다. 예시적인 레인징 설정들은 레인징이 수행될 것이라는 표시자, 레인징 신호 및/또는 요청 메시지의 레이트(예컨대, 송신 레이트), 시간 오프셋, 레인징 신호와 레인징 요청 메시지 사이의 지연, 및 시간 지연에 대해 사용되는 배수를 포함할 수 있다. 예시적인 제2 무선 프로토콜은 UWB이다. 그러한 레인징 설정들은, 예컨대, 다른 디바이스에 이미 저장된 레인징 설정들의 인덱싱된 세트에 대한 ID 번호를 특정하는 템플릿 번호에 의해 특정될 수 있다. 일단 레인징 설정들이 수신되면, 레인징 동작이 수행될 수 있다.
블록(735)에서, 제2 무선 프로토콜은 하나 이상의 레인징 설정들에 따라, 레인징 요청 메시지 내의 제1 세트의 하나 이상의 펄스들을 수신 모바일 디바이스로 송신하는데 사용된다. 예들로서, 레인징 동작은 도 1 내지 도 4에 설명된 바와 같이 수행될 수 있다. 제2 무선 프로토콜은 제1 무선 프로토콜에 의해 사용된 펄스 폭보다 작은 펄스 폭을 사용할 수 있으며, 예컨대, UWB가 사용될 수 있다.
블록(740)에서, 전송 모바일 디바이스는 제2 무선 프로토콜을 사용하여 수신 모바일 디바이스로부터 하나 이상의 레인징 응답 메시지들 내의 제2 세트의 하나 이상의 펄스들을 수신한다. 제2 세트의 펄스(들)는 도 1, 도 2 및 도 4의 레인징 응답들 및 대응하는 설명에 대응할 수 있다. 응답 메시지들은 정보, 예컨대, 제1 세트의 펄스(들)의 수신 시간 및 제2 세트의 펄스(들)의 송신 시간과 같은 임의의 타이밍 정보를 포함할 수 있으며, 이는 지연 시간으로서 제공될 수 있다.
블록(745)에서, 제1 세트의 하나 이상의 펄스들의 하나 이상의 송신 시간들 및 제2 세트의 하나 이상의 펄스들의 하나 이상의 수신 시간들에 대응하는 거리 정보가 결정된다. 거리 정보는 본 명세서에 설명된 바와 같이, 거리 단위(예컨대, 미터) 또는 시간(예컨대, 밀리초)과 같은 다양한 단위들을 가질 수 있다. 거리 정보는 예컨대, 삼각측량을 사용함으로써 반경방향 및 각방향 정보를 포함할 수 있다.
블록(750)에서, 전송 모바일 디바이스는 사용자 인터페이스를 통해 데이터 항목을 공유하기 위한 수신 모바일 디바이스의 선택을 수신한다. 사용자 인터페이스는 다양한 모드들, 예컨대, 오디오 인터페이스, 제스처 인터페이스, 터치 인터페이스 등을 포함할 수 있다. 선택은 거리 정보에 따라 이루어질 수 있다. 예를 들어, 수신 모바일 디바이스의 선택은, 거리 정보를 사용하여 결정된 바와 같이, 전송 모바일 디바이스 및 수신 모바일 디바이스의 배향에 기초하여 결정될 수 있다. 이러한 배향은 다수의 안테나들로부터의 측정들을 사용하여 결정될 수 있는 2개의 디바이스들의 2D 또는 3D 상대 위치로부터 결정될 수 있다.
다른 예에서, 전송 디바이스의 화면은 수신 모바일 디바이스에 대응하는 아이콘을 디스플레이할 수 있다. 아이콘은 거리 정보에 기초하여 화면 상의 위치에서 디스플레이될 수 있다. 예를 들어, 위치는 모바일 디바이스(220)에 대응하는 아이콘을 디스플레이할 곳을 결정하는 데 사용될 수 있다. 위치는 목록 내의 순서일 수 있으며, 예컨대, 거리에 따라 분류될 수 있다. 위치는 2D 그리드 상에 있을 수 있으며, 예컨대, 측방향 위치가 다수의 안테나들로부터의 타이밍들을 사용하여 결정될 수 있다. 다른 예로서, 상이한 디바이스들의 위치들은, 예컨대, 아이콘을 디스플레이하기 위한 1차원 거리 값(목록과 유사하지만 범위 내의 디바이스들의 그룹을 가짐) 또는 2D/3D 위치 범위들에 기초하여 클러스터링될 수 있다. 수신 모바일 디바이스의 선택은, 예컨대, 사용자가 아이콘을 탭핑함으로써 화면 상의 아이콘에서 수신될 수 있다.
일부 구현예들에서, 아이콘은 거리 정보의 거리를 임계치와 비교하고 거리가 임계치보다 작을 때 아이콘을 디스플레이함으로써 화면 상의 위치에서 디스플레이될 수 있다. 이러한 방식으로, 충분히 가까운 디바이스들만이 디스플레이될 수 있다. 그러한 임계치는 사용자 정의될 수 있거나 디폴트값일 수 있다. 임계치는 예컨대, 전송 디바이스의 연락처 목록 내의 다른 설정들에 의존할 수 있다.
다른 구현예들에서, 아이콘은 거리 정보를 사용하여 전송 모바일 디바이스에 대한 수신 모바일 디바이스의 물리적 위치(예컨대, 2D 또는 3D 위치)를 결정함으로써 화면 상의 위치에서 디스플레이될 수 있다. 따라서, 물리적 위치는 물리적 위치의 좌표들에 기초하여 그리드, 예컨대, 픽셀 그리드 상에 디스플레이될 수 있다. 따라서, 위치는 화면 상의 2차원 좌표에 대응할 수 있다. 다른 예에서, 위치는 위치들의 세트로부터, 예컨대, 목록 또는 미리 할당되거나 이미 결정된 클러스터들 내의 미리 결정된 위치들로부터 선택될 수 있다. 따라서, 물리적 위치는 거리를 포함할 수 있고, 위치는 각각이 연관된 거리를 갖는 복수의 모바일 디바이스들의 목록 내의 위치이다. 목록은 거리에 따라 분류될 수 있다.
블록(760)에서, 데이터 항목은 수신 모바일 디바이스의 선택에 응답하여 송신된다. 데이터 항목은 제3 무선 프로토콜 또는 제1 무선 프로토콜을 통해 송신될 수 있다. 예들로서, 제1 무선 프로토콜은 저전력 블루투스일 수 있고, 제2 무선 프로토콜은 초광대역(UWB)일 수 있고, 데이터 항목들은 Wi-Fi를 사용하여 송신될 수 있다. 데이터 항목의 송신은 또한 다른 액션들에 응답할 수 있다. 예를 들어, 사용자는 데이터 항목을 특정하기 전에 수신 모바일 디바이스를 식별할 수 있다. 따라서, 여전히 수신 모바일 디바이스의 선택에 응답하여, 데이터 항목이 선택되면 데이터 항목이 전송될 수 있다.
C. 암호화된 레인징 및 공유
예컨대, 공유되는 데이터의 유형에 의해 지시되는 바와 같이, 하나 이상의 더 높은 레벨들의 보안이 있을 수 있다. 예를 들어, 사람에 관한 정보(예컨대, 모바일 디바이스 내의 연락처의 전화 번호 또는 주소)를 공유하면 더 높은 레벨의 보안을 보증할 수 있다. 2개의 디바이스들 사이의 암호화된 레인징 세션은 2개의 디바이스들이 가까움을 확인할 수 있다. 공유 비밀은 레인징 메시지들로부터 적절한 정보(예컨대, 동일한 파형 형태들)를 얻기 위해 교차-상관을 위해 사용될 수 있다.
암호화 키들을 사용하는 것은 디바이스들이 이전에 통신한 적이 없는 경우 어려울 수 있다. 2개의 새로운 디바이스들 사이의 보안 접속을 설정하기 위해, (예컨대, 전송 계층 보안(TLS)에서와 같이) 디피-헬만(Diffie-Hellman) 키 교환을 사용할 수 있지만, 이러한 프로세스는 네트워크 액세스를 요구할 수 있고 시간 소모적일 수 있고, UWB와 함께 사용하기에 적합하지 않을 수 있다. 대신에, 핀 코드가 하나의 디바이스에 의해 제공되고 다른 디바이스에서 입력될 수 있다. 그러한 핀 코드는 텍스트에 있거나, 오디오에 임베딩되거나, 하나의 디바이스에 의해 출력되고 다른 디바이스에 의해 캡처되는 이미지 또는 비디오에 있을 수 있다. 그러나, 그러한 추가 단계가 사용자로서는 귀찮을 수 있다.
일부 실시예들은 회로부, 예컨대, UWB 회로부에 저장된 식별자를 사용할 수 있다. 따라서, 특정 모바일 디바이스와 칩이 연관될 수 있다. 서버 측 인증서들이 공유되거나 디바이스 상에 저장될 수 있다. BLE 통신은 디바이스가 서버에 의해 인증되었음을 결정하기 위해 인증서들을 사용할 수 있다. 이어서, 레인징이 디바이스들이 가까움을 확인하면, 데이터는, 예컨대, 공개 키 암호화 또는 디피-헬만과 같은 암호화 기술들을 사용하여 공유될 수 있다.
V. 콘텐츠를 공유하기 위한 통신 시퀀스
콘텐츠의 공유는, 예컨대, 전술된 바와 같이, 3개의 상이한 무선 프로토콜들을 사용할 수 있다. 제1 무선 프로토콜(예컨대, BLE)은 인증 및 레인징 설정들의 공유를 위해 사용될 수 있다. 제2 무선 프로토콜(예컨대, UWB)은 전송 모바일 디바이스로부터 다른 모바일 디바이스들로의 거리 정보를 획득하기 위해 레인징 동작들을 수행하는 데 사용될 수 있다. 제3 무선 프로토콜(예컨대, Wi-Fi 또는 블루투스)은 전송 모바일 디바이스로부터 데이터 항목을 수신하도록 선택된 수신 모바일 디바이스로 데이터 항목을 송신하는 데 사용될 수 있다. 일부 실시예들은 이들 무선 프로토콜들 각각에 대한 회로부를 조정할 수 있다. 또한, 회로부는 다른 액션들, 예컨대, 공유 세션을 개시하기 위한 사용자 액션들에 응답하여 동작할 수 있다.
도 8은 본 개시내용의 실시예들에 따른, 3개의 무선 프로토콜들을 사용하여 콘텐츠를 공유하기 위한 예시적인 통신 시퀀스를 도시하는 시퀀스 다이어그램이다. 도 8의 시퀀스 다이어그램의 양태들은 도 4의 시퀀스 다이어그램과 유사한 방식으로 수행될 수 있다. 통신은 전송 디바이스(810) 및 수신 디바이스(820)를 수반한다. 이들 디바이스들은 항상 제1 무선 프로토콜, 예컨대, BLE를 사용하여 (잠재적으로 상이한 레이트로) 광고 및 스캐닝하는 중일 수 있다. 그러한 광고 및 스캐닝을 위한 듀티 사이클들은 디바이스들의 상태, 예컨대, 그들이 활성적으로 사용되고 있는지 여부 - 이는 백라이트가 켜져있는 것과 동일할 수 있음 -에 따라 변할 수 있다.
전송 디바이스(810)는 BLE 회로부(811), UWB 회로부(812), 및 Wi-Fi 회로부(813)를 포함한다. 수신 디바이스(820)는 BLE 회로부(821), UWB 회로부(822), 및 Wi-Fi 회로부(823)를 포함한다. 디바이스의 상이한 회로부 간의 통신은 프로세서, 예컨대, AOP(530)와 같은, 도 5의 하나 이상의 프로세서들에 의해 조정될 수 있다.
801에서, 사용자는 전송 디바이스(810) 상에서 공유 세션을 개시한다. 예컨대, 데이터 항목에 대해 디스플레이되는 옵션을 선택함으로써 공유 세션을 개시하는 예시적인 방식들이 본 명세서에 설명된다. 개시에 응답하여, 전송 디바이스(810)의 통신 회로부의 서비스들이 개시될 수 있다. 예를 들어, BLE, UWB, 및 Wi-Fi 서비스들은 개시되거나 변경될 수 있다. BLE의 경우, 더 높은 스캔 레이트가 사용될 수 있다. 증가된 레이트는, 예컨대, 누군가가 방 안으로 걸어 들어올 때 빠른 발견을 제공할 수 있다. UWB 회로부(812) 및 Wi-Fi 회로부(813)는 임의의 이전 상태, 예컨대, 오프, 유휴, 또는 활성일 수 있다.
802에서, 2개의 디바이스들은 2개의 디바이스들에 의해 송신 및 스캐닝된 광고 신호들에 제공된 인증 태그들을 사용하여 서로를 인증한다. 이러한 인증을 위한 예시적인 기술들이 도 3 및 도 4에 도시되어 있다.
803에서, 레인징 신호가 BLE 회로부(811)에 의해 송신되어, 레인징 동작을 수행하고자 하는 요구에 대해, 또는 레인징 동작을 수행하는 것을 또한 포함할 수 있는 공유 모드로 진입할 것임을 수신 디바이스(820)에 통지한다. BLE 레인징 신호는 도 4의 405에서 설명된 광고와 유사할 수 있고, BLE 신호와 UWB 신호 사이의 스케줄링(타이밍) 정보 또는 다른 레인징 설정들을 포함할 수 있다. 따라서, BLE 레인징 신호는 레인징 신호의 송신 레이트(예컨대, X ms), 레인징 요청 메시지들의 송신 레이트(예컨대, N*X ms), 레인징이 수행될 것이라는 표시자(예컨대, 레인징 액션을 나타내는 특정 플래그/커맨드를 포함함으로써), 및 BLE 레인징 신호와 UWB 레인징 요청 메시지 사이의 지연(예컨대, Dt_tx)을 포함할 수 있다. N은 레인징 메시지를 송신하기 전의 BLE 간격들의 수일 수 있으며, 이는 BLE 광고 레이트에 대한 비를 특정한다.
804에서, 레인징 신호에 나타낸 액션은 UWB 회로부(822)가 웨이크업하게 한다. Wi-Fi 회로부(823)도 또한 응답하여 웨이크업할 수 있다. 액션(근처 액션으로도 불림)은 회로부를 웨이크업하게 하기 위해 '참(true)'으로 설정된 플래그를 가질 수 있다. 또한, UWB 회로부(822)는 예상 도착 시간, 예컨대, t_arrival = t_rx_BLE + dt_tx (+/-margin)에서 스캔할 수 있다. 또한, 레인징 신호에 응답하여, Wi-Fi 회로부(823)는 발견 프로세스, 예컨대, NAN(Neighbor Awareness Networking)을 개시할 수 있다. Wi-Fi 회로부(823)의 그러한 프라이밍은, 전송 디바이스(810)에 의해 공유 모드가 요구됨을 레인징 신호가 나타낼 때 수행될 수 있다. 도 5를 참조하면, 애플리케이션 프로세서(540)는 다른 디바이스가 인증될 때 턴 온될 수 있고, 애플리케이션 프로세서(540)는 Wi-Fi 회로부(823)를 턴 온할 수 있다. 일부 실시예들에서, Wi-Fi 회로부는 연락처 목록에 있지 않은 다른 디바이스들로부터의 아이덴티티를 얻기 위해 사용될 수 있다.
805에서, UWB 회로부(812)는 BLE 레인징 신호에 대한 Dt_tx ms의 지연 후에 레인징 요청 메시지를 송신한다. 이러한 레인징 요청 메시지는 UWB 회로부(822)에 의해 검출되지 않는데, 왜냐하면 예컨대, 레인징 신호가 아직 검출되지 않았거나 이제 막 검출된 것으로 인해, UWB 회로부(822)에 아직 전력이 완전히 공급되지 않았기 때문이다.
806에서, Wi-Fi 회로부(813)는 예컨대, NAN을 사용하여 서비스 발견 신호를 송신한다. 2개의 Wi-Fi 회로부들이 접속을 설정하면, 사용자 인터페이스(예컨대, 디스플레이 화면 상의 GUI)는 수신 디바이스(820)에 대응하는 아이콘을 도시할 수 있다.
807에서, UWB 회로부(812)는 다른 레인징 요청 메시지를 송신한다. 이러한 레인징 요청 메시지는 UWB 회로부(822)에 의해 검출된다. 레인징 요청 메시지들은 도 1 내지 도 4에 대해 설명된 바와 유사할 수 있다.
808에서, UWB 회로부(822)는 레인징 응답 메시지를 송신한다. 레인징 응답 메시지들은 도 1 내지 도 4에 대해 설명된 바와 유사할 수 있다. 레인징은 비-보안이거나 또는 암호화될 수 있으며, 암호화는 사례별로 사용될 수 있다. 레인징 요청 메시지들은 특정된 목적지 어드레스 없이 멀티캐스트로서 전송될 수 있다. 그러나, 레인징 요청 메시지는 소스 어드레스를 특정할 수 있으며, 이는 (예컨대, 도 5의 AOP(530)를 사용하여 매칭되는 바와 같이) BLE 통신으로부터 결정된 소스 어드레스에 대해 매칭될 수 있다. 수신 디바이스는, 적절한 목적지 어드레스가 사용될 수 있도록, BLE 및 UWB를 가로질러 상이한 메시지들 내의 어드레스들을 함께 연결할 수 있다. 그리고, UWB 회로부(822) 또는 다른 회로부는 요청 메시지가 현재 레인징 동작에 대응하는 소스 어드레스를 가질 경우 응답을 필요로 한다는 것을 인식할 수 있다.
멀티캐스트를 사용하여 다수의 디바이스들과 통신할 때, 다른 디바이스들은 응답 메시지의 프레임들 내의 랜덤 슬롯들을 선택하여 충돌들을 감소시킬 수 있다. 그렇지 않으면, 전송 디바이스는 다수의 디바이스들이 모두 동일한 슬롯을 선택할 경우, 다수의 디바이스들로부터 모두 동시에 응답 메시지들을 수신할 수 있다. 프레임 내의 슬롯들의 총 개수는 예컨대, 803에서, 제1 무선 프로토콜을 사용하여 특정되거나, 또는 제1 또는 제2 무선 프로토콜을 사용하는 다른 통신들에서 특정될 수 있어서, 전체를 초과할 염려없이 무작위 슬롯을 선택할 수 있다. 다른 실시예들에서, 디바이스들은 소정 시간 슬롯들에 대해 스케줄링될 수 있다. 예를 들어, BLE(또는 다른 제1 무선 프로토콜)를 통해 응답하는 제1 디바이스 또는 최고 신호 강도(예컨대, RSSI)를 갖는 것이 제1 슬롯에 할당되는 등일 수 있다.
809에서, 전송 디바이스(810)는 레인징 메시지들을 사용하여 거리 정보를 결정한다. 거리 정보는 본 명세서에 설명된 바와 같이 결정될 수 있다.
810에서, 전송 디바이스(810)의 사용자 인터페이스는 수신 디바이스(820)에 대응하는 아이콘을 거리 및 예컨대, 다수의 UWB 안테나들이 사용될 때는 잠재적으로 각도와 함께 디스플레이할 수 있다. 일부 실시예들에서, 전송 디바이스(810)가 수신 디바이스(820)를 직접 포인팅하고 있는 경우, 수신 디바이스(820)(또는 등가적으로 그 디바이스의 사용자)를 나타내는 아이콘이 전송 디바이스(810)의 화면의 중심에 디스플레이될 수 있다. 다른 실시예들에서, 디바이스들의 클러스터링의 목록이 제공될 수 있는데, 클러스터링은 디바이스들의 그룹들 사이의 각도 배향을 구별하거나 단지 디바이스들의 그룹들 사이의 거리에 의해 구별할 수 있다.
전송 디바이스(810)에 대한 아이콘은 화면의 저부에 있을 수 있거나, 또는 디바이스 위치들이 전송 디바이스(810)의 화면 상의 특정 지점(예컨대, 하부 중심)에 대한 것임을 나타내기 위해 일부 다른 마킹들이 사용될 수 있다. 상측, 우측 및 좌측으로 연장되는 라인들(예컨대, 레이다-유사 도면)은 전송 디바이스의 그러한 표시를 제공할 수 있다. 레인징 능력을 갖지 않는 이용가능한 디바이스들이 화면 상의 디폴트 위치에 도시될 수 있다.
811에서, 전송 디바이스(810)의 사용자는, 예컨대, 수신자들 아이콘을 탭하거나, 오디오 커맨드에 의하거나, 전송 디바이스(810)를 수신 디바이스(820)에 직접 포인팅하거나, 또는 (예컨대, 얼굴 이미징 능력들을 갖는 전화의 경우) 사용자를 바라봄으로써 수신 디바이스(820)를 선택한다. 전송 디바이스(810)의 배향을 사용한 선택의 결정은, 전송 디바이스(810)의 화면의 중심 아래의 선으로 사용자가 디바이스를 포인팅하는 것을 안내하도록 하여 용이하게 될 수 있다. 상대 위치를 제공함으로써, 사용자는 원하는 수신자(및 그에 따른 그들의 디바이스)로 향할 수 있고, 그 디바이스는 사용자가 선택하도록 화면 상의 편리한 위치에 나타날 것이다.
812에서, (예컨대, 파일로서) 데이터 항목의 전송은 Wi-Fi 회로부(813)를 사용하여 수행된다. 데이터는 송신될 데이터가 상대적으로 작은 경우 다른 프로토콜들, 예컨대, 블루투스를 사용하여 송신될 수 있다. 성공적인 송신의 표시가 전송 디바이스(810)에 의해 제공될 수 있다.
높은 레이트의 발견(스캐닝 및 광고)의 프로세스 및 레인징은 공유 세션이 종료될 때까지 계속될 수 있다. 예를 들어, 전송 디바이스(810)의 사용자는 공유 모드를 종료할 수 있다. 종료시, 레인징은 정지할 수 있고, UWB 회로부는 더 낮은 전력 상태, 예컨대, 오프 또는 슬립 상태에 놓일 수 있다. Wi-Fi 회로부는 또한 감소된 전력 상태, 예컨대, 오프 또는 슬립 상태에 놓일 수 있다.
VI. 레인징을 사용한 통지들
콘텐츠를 공유하는 것 이외에 다른 목적들을 위해 레인징 동작들이 사용될 수 있다. 예를 들어, 제1 디바이스는 지정된(제2) 디바이스까지의 거리에 기초하여 제1 디바이스의 제1 사용자에게 통지(예컨대, 리마인더)를 제공할 수 있다. 그러한 리마인더는 리마인더가 제2 디바이스의 제2 사용자와 관련될 때 유용할 수 있다. 따라서, 제1 사용자가 제2 사용자 근처에 있을 때(예컨대, 그와 대화 중일 때) 리마인더를 수신하는 것이 편리할 것이다. 다른 예로서, 예컨대, 제1 디바이스의 사용자인 부모의 자녀가 다른 디바이스를 소유한 경우, 거리가 임계치보다 클 때, 통지가 필요할 수 있다. 레인징 능력은 제1 사용자가 적절한 시간에 리마인드받을 수 있게 할 수 있는데, 그렇지 않은 경우에, 제1 사용자는 예컨대, 빌려준 돈을 돌려 받거나 또는 작업 프로젝트에 대한 논의를 잊을 수 있다.
A. 거리에 기초한 예시적인 리마인더
도 9는 본 개시내용의 실시예들에 따른, 제1 모바일 디바이스와 제2 모바일 디바이스 사이의 레인징을 사용하는 제1 모바일 디바이스에 대한 예시적인 통지를 도시한다. 사용자는 통지를 설정할 수 있고, 이어서 전술된 레인징 능력들을 사용하여 결정되는 바와 같이, 2개의 모바일 디바이스들이 서로 가까워질 때(또는 서로 너무 멀리 떨어질 때) 리마인더가 제공될 수 있다. 도 9는 디바이스들이 가깝다는 것을 알리는 리마인더인 통지에 초점을 맞추고 있지만, 설명은 2개의 디바이스들이 분리되는 경우에 대한 통지인 경우들에도 유사하게 적용될 수 있다.
901에서, 사용자(910)는 제2 디바이스(925)에 대한 근접도에 기초하여 리마인더를 제공하도록 제1 디바이스(915)를 구성할 수 있다. 이때, 제1 디바이스(915)는 제2 디바이스(925)에 대해 근접하거나 근접하지 않을 수 있다. 예를 들어, 분리되고 있는 2개의 디바이스들에 대해 통지가 제공되는 경우, 2개의 디바이스들은 통지가 설정될 때 서로 가까울 수 있다. 일부 실시예들에서, 그러한 레인징 통지를 설정하는 데 제2 디바이스(925)로부터의 승인이 요구된다. 제2 디바이스(925)는 또한 그러한 승인을 철회할 수 있다.
902에서, 사용자(910)는 2개의 디바이스들 사이의 레인징을 통해 결정될 수 있는 바와 같이, 가능하게는 사용자(920)에 가까운 제2 위치로 이동한다. 대안적으로, 사용자(920)가 이동할 수 있다. 레인징은 사용자(910)가 제1 디바이스(915)와 상호작용할 필요 없이 시작될 수 있다. 예를 들어, 레인징은 디바이스가 포켓 내에 있을 때 시작될 수 있다. 레인징의 제어는 제1 디바이스(915)의 프로세서, 예컨대, 도 5의 AOP(530)에 의해 조정될 수 있다. AOP(530)는 예컨대, 전술된 바와 같이 BLE 및 인증을 사용하여, 제2 디바이스(925)의 존재를 검출할 수 있다. 리마인더가 먼저 설정되었을 때, 제1 디바이스(915)는 제2 디바이스(925)의 인증 태그가 저장되어 있음을 확인할 수 있다. 일단 인증되면, UWB 회로부는 레인징 동작을 시작하기 위해 턴 온될 수 있다. 일부 구현예들에서, 광고/스캔 레이트는, 인증이 발생하면, 예컨대, 가능한 신속하게 레인징 설정들을 설정하기 위해 증가될 수 있다.
903에서, 제1 디바이스(915)와 제2 디바이스(925) 사이에서 레인징 동작이 수행될 수 있다. 거리 정보가 레인징으로부터 결정될 수 있고, 거리 정보의 거리가 임계치(940)와 비교될 수 있다. 도시된 예에서, 거리가 임계치(940)보다 작은 경우, 리마인더는 제1 디바이스(915)에 의해 사용자(910)에 제공될 수 있다. 레인징 동작은 특정 디바이스(즉, 제2 디바이스(925))에 의한 것이기 때문에, 레인징 요청 메시지는 제2 디바이스(925)에 대응하는 목적지 어드레스를 특정할 수 있다. 레인징은, 예컨대, 사용자(910)에 의해 사례별로 설정될 수 있는 바와 같이 암호화될 수 있다. 공유 비밀은 통지가 먼저 생성될 때 설정될 수 있다.
904에서, 제1 디바이스(915)는 리마인더를 제공한다. 리마인더는 다양한 방식들로 제공될 수 있으며, 예컨대, 오디오, 햅틱, 또는 시각적 큐(cue)들, 또는 이들의 임의의 둘 이상의 조합으로 제공될 수 있다. 예를 들어, 제1 디바이스(915)는 버저 소리 또는 벨소리를 방출할 수 있고, 메시지가 화면 상에 디스플레이될 수 있다.
리마인더를 구성할 때, 사용자(910)는 메시지뿐만 아니라 임계치 기준을 제공할 수 있다. 그러한 임계치 기준은 예컨대, 2개의 디바이스들이 적어도 특정 시간 간격(예컨대, 20 초 또는 30 초) 동안 임계치 내에 있도록 강제하기 위해, 거리뿐만 아니라 시간 간격을 포함할 수 있다. 시간 간격을 특정하면 신뢰성을 높일 수 있다. 예를 들어, 2명의 사용자들이 동일한 빌딩에서 근무하는 경우, 한 사용자가 다른 사용자의 사무실 또는 다른 사용자가 있는 회의실을 지나갈 수 있지만, 그러한 시나리오는 리마인더를 제공하는 데 편리한 시간이 아닐 것이다. 따라서, 리마인더는 두 명의 사용자들이 먼저 서로 가까워질 때 즉시 제공되지 않을 수 있다.
2개의 디바이스들이 떨어질 때 경고를 얻는 예는 부모의 자녀가 모바일 디바이스(예컨대, 시계 또는 다른 웨어러블 디바이스)를 가질 때 적용될 수 있다. 부모들 디바이스는 자녀가 너무 멀리 떨어져 가버리는 경우 경고를 수신할 수 있다. 그러한 모니터링은 디바이스의 애플리케이션 프로세서보다 더 적은 전력을 사용할 수 있는 AOP에 의해 수행될 수 있다.
B. 통지들을 위한 방법
도 10은 본 개시내용의 실시예들에 따른, 레인징 동작을 사용하는 통지들을 제공하기 위한 방법(1000)의 흐름도이다. 방법(1000)은 제1 사용자의 제1 모바일 디바이스에서 통지를 제공할 수 있고, 제1 모바일 디바이스에 의해 수행될 수 있다. 방법(1000)의 양태들은 도 7의 방법(700)과 유사한 방식으로 수행될 수 있다.
블록(1005)에서, 제1 모바일 디바이스의 사용자 인터페이스는 통지, 예컨대, 리마인더 또는 경보를 구성하기 위한 사용자 입력을 수신한다. 통지는 제2 사용자 또는 제1 사용자의 것일 수 있는 제2 모바일 디바이스에 대한 제1 모바일 디바이스의 근접도에 기초하여 제1 모바일 디바이스에 의해 제공될 수 있다. 근접도는 본 명세서에 설명된 바와 같이, 레인징 동작을 사용하여 결정될 수 있다.
블록(1010)에서, 제1 모바일 디바이스의 제1 무선 프로토콜은 제1 모바일 디바이스의 제1 인증 태그를 포함하는 광고 신호를 송신(예컨대, 방송)하는 데 사용된다. 블록(1010)은 도 7의 블록(715)과 유사한 방식으로 구현될 수 있다.
블록(1015)에서, 제1 모바일 디바이스는 제1 무선 프로토콜을 통해 제2 모바일 디바이스로부터 제2 모바일 디바이스의 제2 인증 태그를 수신한다. 블록(1015)은 도 7의 블록(720)과 유사한 방식으로 구현될 수 있다.
블록 1020에서, 제1 모바일 디바이스는 제2 인증 태그를 사용하여 제2 모바일 디바이스를 인증한다. 제2 모바일 디바이스는 제1 모바일 디바이스를 인증하기 위해 제1 인증 태그를 사용할 수 있다. 블록(1020)은 도 7의 블록(725)과 유사한 방식으로 구현될 수 있다.
블록(1025)에서, 제2 무선 프로토콜을 사용하여 레인징 동작이 수행되도록 제2 모바일 디바이스와 하나 이상의 레인징 설정들을 통신하기 위해 제1 무선 프로토콜이 사용된다. 블록(1025)은 도 7의 블록(730)과 유사한 방식으로 구현될 수 있다.
블록(1030)에서, 제2 무선 프로토콜은 하나 이상의 레인징 설정들에 따라, 레인징 요청 메시지 내의 제1 세트의 하나 이상의 펄스들을 제2 모바일 디바이스로 송신하는데 사용된다. 제2 무선 프로토콜은 제1 무선 프로토콜에 의해 사용된 펄스 폭보다 작은 펄스 폭을 사용할 수 있다. 블록(1030)은 도 7의 블록(735)과 유사한 방식으로 구현될 수 있다.
블록(1035)에서, 제1 모바일 디바이스는 제2 무선 프로토콜을 사용하여 제2 모바일 디바이스로부터 하나 이상의 레인징 응답 메시지들 내의 제2 세트의 하나 이상의 펄스들을 수신한다. 블록(1035)은 도 7의 블록(740)과 유사한 방식으로 구현될 수 있다.
블록(1040)에서, 제1 세트의 하나 이상의 펄스들의 하나 이상의 송신 시간들 및 제2 세트의 하나 이상의 펄스들의 하나 이상의 수신 시간들에 대응하는 거리 정보가 결정된다. 블록(1040)은 도 7의 블록(745)과 유사한 방식으로 구현될 수 있다.
블록 1045에서, 거리 정보의 거리가 임계치와 비교된다. 예들로서, 거리는 반경방향 거리 및/또는 각도 거리를 포함할 수 있다. 일부 구현예들에서, 거리는 2개의 디바이스들 사이의 상대 거리(위치)를 특정하는 벡터일 수 있고, 점수가 상대 위치에 할당될 수 있다. 예를 들어, 디바이스 주위에 상이한 영역들이 정의될 수 있다. 영역들은 디바이스의 포인팅 방향에 대해 정의될 수 있다. 임계치는 예컨대, 임계치와 비교되는 점수에 따라 할당된 점수에 대응할 수 있다. 다양한 실시예들에서, 임계치는 사용자 또는 디바이스의 제조자에 의해 특정될 수 있다. 임계치는 시간 경과에 따라, 예컨대, 사용자가 통지에 응답하여 전화와 상호작용하는지 여부에 기초하여 수정될 수 있다.
블록(1050)에서, 임계치를 초과하는 거리에 기초하여 통지가 제공된다. 거리는 통지가 설정되는 방식에 따라 임계치보다 더 작거나 더 크게 초과할 수 있다. 따라서, 일부 구현예들에서, 통지는, 거리가 임계치보다 클 때 예컨대, 사용자에게 경고하기 위해 제공될 수 있다. 다른 구현예들에서, 통지는 리마인더이고, 통지는 거리가 임계치보다 작을 때 제공될 수 있다. 다양한 구현예들에서, 통지는 오디오 출력, 시각적 출력, 또는 햅틱 출력, 또는 이들의 임의의 조합을 포함할 수 있다.
일부 실시예들에서, 거리 정보는 시간에 걸친, 예컨대, 30초, 1분, 2분 등에 걸친 복수의 거리 측정들을 포함할 수 있다. 통지는 적어도 특정된 시간 동안 임계치보다 작은 복수의 거리 측정들의 거리들에 기초하여 제공될 수 있다.
VII. 근접도에 기초한 수신자들의 제안
통신 애플리케이션들, 예컨대, 이메일 및 텍스트 메시징은 전형적으로 통신의 수신자를 특정하기 위한 입력 윈도우를 갖는다. 사용자는 수신자(들)를 식별하기 위해 입력 윈도우에 문자들(예컨대, 영숫자 및 '@'와 같은 소정 특수 문자들)을 입력할 수 있다. 예를 들어, 사용자는 이름, 이메일 주소, 또는 전화 번호를 입력할 수 있다. 사용자가 첫 문자를 입력할 때, 그러한 통신 애플리케이션들은 제안된 수신자들의 목록을 제공할 수 있다. 그러나, 그러한 통신 애플리케이션들은 제안된 수신자들을 제공하기 전에 적어도 하나의 문자가 입력되는 것을 요구한다. 사용자가 일부 입력을 입력할 필요 없이 제안된 수신자들의 신뢰성 있는 목록을 제공하여, 사용자의 경험을 더 용이하고 더 효율적이게 하는 것이 바람직할 것이다. 제안할 잠재적 수신자들을 결정하기 위해 특정 상황에 특정된 추가 기준(예컨대, 공통의 수신자들 이외)을 사용하는 것이 또한 바람직하다.
실시예들은 제안할 수신자들을 결정하기 위한 기준으로서 모바일 디바이스 주위의 부근의 무선 통신들을 통해 이웃하는 모바일 디바이스들의 검출을 포함할 수 있다. 연락처 데이터베이스는 검출된 이웃 디바이스들과 상호 참조될 수 있다. 예컨대, 다른 모바일 디바이스가 제안된 수신자로 제공되기에 충분히 가까운지 여부를 결정하기 위해, 다른 모바일 디바이스에 대한 상대적 거리의 더 큰 정확도를 제공하기 위해 레인징 측정들이 수행될 수 있다. 상대 거리는 또한 상대 위치(예컨대, 거리 및/또는 각도)에 기초하여 이웃 디바이스들을 순서화하기 위해 사용될 수 있다. 순서화는 가장 가까운 것으로부터 가장 멀리 있는 것일 수 있다. 디바이스의 포인팅 방향에 대한 소정 각도들에 대한 선호도를 갖도록 다양한 구역들에서 가중치가 사용될 수 있다.
도 11a는 문자의 사용자 입력에 응답하여, 제안된 수신자들의 목록(1120)을 제공하는 통신 애플리케이션의 스크린샷(1100)을 도시한다. 사용자는 (도시된 바와 같이, 텍스트 메시징을 위해) 통신 애플리케이션을 열었고, 입력 윈도우(1110) 내로 문자 'M'을 입력하였다. 이에 응답하여, 통신 애플리케이션은 문자 M으로 시작하는 제안된 수신자들의 목록(1120)을 제공하였다. 도시된 예에서, Mom, Mark 및 Mary는, 이 예에서 전화 번호들에 대응하는, 그들의 수신자 연락처 정보와 함께 그 순서로 제공된다.
도 11b는 본 개시내용의 실시예들에 따른, 새로운 메시지를 시작하는 사용자에 응답하여, 문자의 사용자 입력 없이, 제안된 수신자들의 목록(1170)을 제공하는 통신 애플리케이션의 스크린샷(1150)을 도시한다. 통신 애플리케이션은 제1 모바일 디바이스 상에서 실행될 수 있다. 제안된 수신자들의 목록(1170)을 제공하기 전에, 제1 모바일 디바이스는 무선 통신, 예컨대, 다양한 형태의 블루투스, Wi-Fi, 또는 UWB를 통해 하나 이상의 이웃하는 모바일 디바이스들을 검출할 수 있다. 일부 실시예들에서, 이웃하는 모바일 디바이스들은 각각, 예컨대, 광고 메시지 내의 식별자를 송신할 수 있다. 일부 구현예들에서, 식별자들은 제1 모바일 디바이스에 의해, 예컨대, 피어-투-피어(peer-to-peer)를 통해 또는 서버를 통해 이전에 획득될 수 있다. 예를 들어, 식별자들은 사용자가 연락처 목록에 연락처를 생성할 때 획득될 수 있다.
제1 모바일 디바이스 내의 저장된 연락처 목록 내의 연락처에 대응하는 식별자들을 갖는 임의의 이웃하는 모바일 디바이스들이 식별될 수 있고, 제안된 수신자들의 목록 내에 포함될 수 있다. 예를 들어, 식별자는 해시일 수 있고, 제1 모바일 디바이스는 사용자에게 제공하기 위한 연락처 정보를 검색하기 위해 해시를 사용할 수 있다. 이러한 방식으로, 사용자는 제안된 수신자들의 목록(1170)을 수신하기 전에 입력 윈도우(1160)로 어떠한 문자도 타이핑할 필요가 없다.
제안된 수신자들의 그러한 목록은 또한, 예컨대, 하루 중 현재 시간에 빈번하게 또는 최근에 메시지를 받는 수신자들에 기초하여 제공될 수 있다. 동일한 또는 다른 통신 애플리케이션과의 이러한 이력(historical) 상호작용들은 기계 학습 모델을 제안 엔진으로서 훈련시키는 데 사용될 수 있다. 제안 엔진은 컨텍스트 정보(예컨대, 시간, 위치, 사용된 통신 애플리케이션)와 함께, 이웃 디바이스들의 발견을 사용하여, 제안된 수신자들의 목록(1170)을 결정할 수 있다. 일부 구현예들에서, 거리 정보(예컨대, 반경방향 및/또는 각도 거리)를 결정하기 위해 레인징 동작이 수행될 수 있으며, 이는 또한 제안 엔진에 의해 사용될 수 있다.
도시된 예에서, Mark는 Mom 전에 먼저 디스플레이된다. 이는 Mark의 디바이스가 무선 통신을 통해 검출되었고, 따라서 통신 애플리케이션이 실행되고 있는 제1 모바일 디바이스 부근 내에 있기 때문에 발생할 수 있다. Mom의 디바이스가 이웃 디바이스로서 검출되지 않을 수 있고, 따라서 Mark가 먼저 나열될 수 있다. 예를 들어, 예컨대, 제안 엔진에 의해 사용되는 기준에 따라, Mark 디바이스의 이웃 디바이스로서의 존재가 Mom에 대한 더 높은 통신 주파수를 능가할 수 있다. Jennifer가 새롭게 추가되며, 왜냐하면 예컨대 Jennifer의 디바이스가 이웃 디바이스로서 검출되기 때문이다. 따라서, Jennifer는 제안된 수신자로서 식별될 수 있다. 추가의 수신자들이 제공될 수 있지만, 예시의 용이함을 위해 도시되지 않는다.
목록이 제공된 후에, 사용자는 새로운 메시지를 전송하기 위한 제안된 수신자들 중 하나를 선택할 수 있다. 선택은 다양한 방식들로, 예컨대, 터치를 통해 선택함으로써, 또는 "Mark" 또는 "엔트리 1"로 말함으로써 행해질 수 있는 바와 같이 음성 커맨드를 제공함으로써 수신될 수 있다. 이어서, 메시지가 작성된 후, 메시지는 선택된 수신자에게 전송될 수 있다.
A. 근처의 디바이스들의 발견을 사용한 제안
도 12는 본 개시내용의 실시예들에 따른, 다른 디바이스들에 대한 근접도를 사용하여 통신들을 위한 수신자들을 제안하는 프로세스(1200)의 시퀀스 다이어그램이다. 프로세스(1200)는 제1 모바일 디바이스(1210)(예컨대, 모바일 폰, 시계, 또는 태블릿과 같은 웨어러블 디바이스) 및 다른 모바일 디바이스들(1220)을 수반한다. 제1 모바일 디바이스(1210)는 임의의 적합한 무선 통신들, 예컨대, 블루투스, Wi-Fi, 또는 UWB를 통해 다른 모바일 디바이스들(1220)과 통신할 수 있다. 다른 모바일 디바이스들(1220)은 제2 모바일 디바이스(1221) 및 제3 모바일 디바이스(1222)를 포함할 수 있다.
제1 모바일 디바이스(1210)는 통신 애플리케이션(1211), 연락처 데이터베이스(1212), 제안 엔진(1213), 및 무선 회로부(1214)를 포함할 수 있다. 이들 컴포넌트들은 서로 상호작용할 수 있다. 예를 들어, 제1 모바일 디바이스(1210)는 연락처 데이터베이스(1212)를 저장하는 메모리를 가질 수 있다. 무선 회로부(1214)는 제안 엔진(1213)에 근접도 정보를 제공할 수 있다. 제안 엔진(1213)은 메모리에 액세스하여 연락처 데이터베이스(1212)로부터 연락처 정보를 검색할 수 있다. 그리고, 제안 엔진(1213)은 제안된 수신자(들)를 통신 애플리케이션(1211)에 제공할 수 있다.
단계(1201)에서, 연락처 데이터베이스(1212)는 복수의 연락처들에 대한 연락처 정보를 저장한다. 연락처에 대한 연락처 정보는 저장된 식별자를 포함할 수 있고, 따라서 저장된 식별자는 연락처와 연관된다. 예를 들어, 연락처에 대한 데이터베이스 필드는 저장된 식별자를 포함하여, 연락처의 다른 필드들이 저장된 식별자 필드와 연관되게 할 수 있다.
단계(1202)에서, 통신 애플리케이션(1211)은 새로운 통신을 시작하라는 커맨드를 수신한다. 그러한 커맨드는 터치 스크린, 음성 커맨드들, 키보드, 포인팅 디바이스 등과 같은 사용자 인터페이스를 통해 다양한 방식들로 수신될 수 있다. 예를 들어, 사용자는 통신 애플리케이션이 명시적으로 열리기 전에 발생할 수 있는, "새로운 메시지" 또는 "새로운 이메일"이라고 말할 수 있다. 따라서, 음성 커맨드는 메시지 또는 이메일과 연관된 디폴트 통신 애플리케이션을 열 수 있고, 음성 커맨드는 또한 새로운 메시지를 열도록 작용할 수 있다. 다른 예로서, 사용자는 터치 스크린 상의 통신 애플리케이션을 열고, 이어서 "새로운 메시지"의 음성 커맨드를 제공하거나 터치 스크린의 윈도우 상의 새로운 메시지 버튼을 선택할 수 있다. 예시적인 창을 도 11b에서 볼 수 있다.
단계 1203에서, 무선 회로부(1214)는 다른 모바일 디바이스들(1220)로부터 착신 메시지들을 검출한다. 다양한 실시예들에서, 착신 메시지들은 다른 모바일 디바이스들(1220)에 대응하는 수신된 식별자들, 예컨대, 제2 모바일 디바이스(1221)에 대한 제2 식별자 및 제3 모바일 디바이스(1222)에 대한 제3 식별자에 의해 생성되거나 그를 포함할 수 있다. 일례로서, 식별자는 디지털 서명을 생성하거나, 디지털 서명을 복호화하거나, 그렇지 않으면 착신 메시지의 일부분의 해시를 생성하는 데 사용되는 암호화 키일 수 있다. 그 메시지 부분을 인증하는 (예컨대, 매칭 해시를 생성할 수 있는) 암호화 키는 올바른 식별자로서 결정될 수 있다.
일부 구현예들에서, 다른 모바일 디바이스들(1220)은 각자의 식별자를 갖는 신호들(예컨대, 광고 신호들)을 주기적으로 방출할 수 있고, 잠재적으로 네트워크 어드레스와 같은 다른 정보를 또한 포함할 수 있다. 그러한 신호들은 예컨대, 블루투스 LE를 사용하여 방송 신호로서 방출될 수 있다. 다른 구현예들에서, 제1 모바일 디바이스는 이웃 디바이스들의 ID들을 요청하는 요청 메시지를 송신할 수 있다. 다른 모바일 디바이스들(1220)은 각자의 ID들을 포함하는 메시지들로 응답할 수 있다. 따라서, 다른 모바일 디바이스들(1220)로부터의 이러한 방출된 신호들의 검출은 발견 프로세스의 일부로서 발생할 수 있으며, 이때 초기 신호들은 다른 모바일 디바이스들(1220) 또는 제1 모바일 디바이스(1210)에 의해 방출될 수 있다.
다양한 실시예들에서, 단계(1203)는 단계(1202) 이전에 또는 후에 발생할 수 있다. 예를 들어, 제1 모바일 디바이스(1210)는 착신 메시지들을 검색하기 위해 주기적으로 무선 회로부(1214)를 턴 온하여 이웃 디바이스들의 목록을 제공할 수 있으며, 이는 추후의 사용을 위해 저장될 수 있다.
단계(1204)에서, 착신 메시지들로부터의 수신된 식별자들(ID들)은, 예컨대, 직접, 또는 제안 엔진(1213)을 통해, 또는 제1 모바일 디바이스(1210)의 다른 컴포넌트를 통해 연락처 데이터베이스(1212)로 전송된다. 무선 회로부(1214) 또는 다른 컴포넌트는 수신된 식별자들을 결정하기 위해 착신 메시지들을 파싱할 수 있다. 예를 들어, 착신 메시지는 특정 포맷을 가질 수 있는데, 예컨대, 상이한 유형들의 데이터에 대해 상이한 슬롯들을 갖는 특정 데이터 또는 미리 결정된 포맷을 특정하는 라벨들을 가질 수 있다. 다른 단계들에서와 같이, 단계(1204)는 다양한 액션들에 의해 트리거될 수 있으며, 예컨대, 착신 메시지들을 수신함으로써, 또는 단계(1202)에서의 커맨드에 응답하는 통신 애플리케이션(1211)으로부터의 메시지에 의해 트리거될 수 있다.
다른 실시예들에서, 파싱은 복호화 또는 해싱과 같은 암호 동작들을 수반할 수 있다. 이러한 동작들은 저장된 식별자들이 암호화 키들에 대응할 때 발생할 수 있다. 예를 들어, 착신 메시지의 일부분(예컨대, 네트워크 어드레스)이 암호화 키를 사용하여 해싱되거나 서명될 수 있다. 이어서, 제1 모바일 디바이스(1210)는 저장된 암호화 키들을 사용하여, 평이하게, 예컨대, 해싱되지 않은/암호화되지 않은 네트워크 어드레스로 전송되는 메시지의 일부분에 대해 동작할 수 있다. 매칭 키는 착신 메시지에 있던 것과 동일한 해시 또는 서명을 제공하는 것이다. 그러한 암호화 동작들은 또한 본 명세서에서 더 상세히 설명된다.
단계(1205)에서, 제안 엔진(1213)은 다른 모바일 디바이스들(1220)에 대한 연락처 정보를 연락처 데이터베이스(1212)로부터 획득할 수 있다. 연락처 정보의 획득은 다양한 방식들로 발생할 수 있다. 예를 들어, 제안 엔진(1213)은 연락처 데이터베이스(1212)에 요청을 전송할 수 있거나, 또는 연락처 데이터베이스는 연락처 정보를 제안 엔진(1213)으로 푸시할 수 있다. 어느 쪽이든, 연락처 데이터베이스(1212)는 수신된 식별자들을 사용하여 액세스되어 다른 모바일 디바이스들(1220)에 대한 연락처 정보를 획득할 수 있다. 또한, 연락처 정보의 획득은 다양한 트리거들에 응답하여 발생할 수 있는데, 예컨대, ID가 연락처 데이터베이스(1212)에 제공되는 것에 응답하여, 또는 단계(1202)에서 커맨드를 수신하는 것에 응답하여 발생할 수 있다. 후자는 제1 모바일 디바이스(1210)가 통신 애플리케이션(1211)의 동작으로부터 독립적으로(예컨대, 비동기식으로) 착신 메시지들을 수신할 때 발생할 수 있다. 전술된 바와 같이, 제1 모바일 디바이스(1210)는 착신 메시지들을 주기적으로 검출함으로써, 그러한 독립적인 동작을 초래할 수 있다.
일부 실시예들에서, 연락처 데이터베이스(1212) 또는 다른 컴포넌트(예컨대, 제안 엔진(1213))는 이웃 디바이스들에 대한 연락처 정보를 저장할 수 있다. 이웃 디바이스들의 이러한 목록은 주기적으로 업데이트될 수 있다. 따라서, 임의의 주어진 경우에, 이웃 디바이스들의 목록은 일반적으로 제1 모바일 디바이스의 사용자 근처에 있는 사람을 반영해야 한다.
단계(1206)에서, 통신 애플리케이션(1211)은 제안된 수신자들에 대한 요청을 제안 엔진(1213)에 전송할 수 있다. 통신 애플리케이션(1211)은 단계(1202)에서 새로운 통신을 생성하라는 커맨드를 수신하는 것에 응답하여 그러한 요청을 전송할 수 있다. 단계(1206)는 프로세스(1200)의 다른 단계들과 다양한 관계들에서 발생할 수 있으며, 예컨대, 단계(1202) 후에, 그러나 단계(1203) 전에, 단계(1204) 전에, 또는 단계(1205) 전에 발생할 수 있다.
일부 실시예들에서, 통신 애플리케이션(1211)으로부터의 요청에 응답하여 또는 보다 이른 시간에, 제1 모바일 디바이스(1210)는 다른 모바일 디바이스들(1220)과 레인징을 수행할 수 있다. 거리 정보(예컨대, 반경방향 거리 및 각도 거리)가 결정될 수 있고 하나 이상의 수신자들을 제안하는 데 사용될 수 있다. 예를 들어, 도 4의 단계들이 수행될 수 있다. 도 12의 식별자는 단계 404에서 인증을 수행하는 데 사용될 수 있다. 이벤트(402)는 단계(1202)에서 새로운 통신의 생성에 대응할 수 있다. 이어서, 추가의 단계들(403 내지 409)이 수행될 수 있으며, 예컨대, 단계(404)가 식별자(예컨대, 암호화 키)를 사용하여 수행될 수 있다.
단계(1207)에서, 제안 엔진(1213)은 제안된 수신자들의 목록 내의 다른 모바일 디바이스들(1220) 중 하나 이상에 대한 연락처 정보를 통신 애플리케이션에 제공할 수 있다. 단계(1207)는 단계(1202)에서 새로운 통신을 생성하라는 커맨드에 응답하여 수행될 수 있다. 단계(1206) 또는 보다 이른 시간(예컨대, 연락처 정보를 수신한 후)에서의 요청에 응답하여, 제안 엔진(1213)은 이웃 디바이스들의 연락처 정보를 사용하여 통신 애플리케이션에 대한 제안된 수신자들의 목록을 결정할 수 있다. 도시되지 않았지만, 제안 엔진(1213)은 본 명세서에 설명된 바와 같이, 제안된 수신자들의 목록을 결정하기 위해 다른 정보를 수신할 수 있다. 예를 들어, 레인징 동작으로부터 획득된 거리 정보가 사용될 수 있다.
단계(1208)에서, 통신 애플리케이션(1211)은 제안된 수신자들 중 하나의 수신자의 선택을 수신한다. 이 예에서, 선택된 수신자는 제2 모바일 디바이스(1221)에 대응한다. 전술된 바와 같이, 수신자는 다양한 방식들로 선택될 수 있다.
단계(1209)에서, 통신 애플리케이션(1211)은 새로운 통신을 제2 모바일 디바이스에 전송한다. 새로운 통신은 단계(1203)에서 수신된 착신 메시지들에 사용되는 것과 동일하거나 상이한 무선 프로토콜을 통해 전송될 수 있다. 예들로서, 통신은 피어-투-피어 메커니즘, 액세스 포인트(예컨대, 라우터), 또는 서버를 통해 전송될 수 있다.
B. 디바이스들 및 연락처들의 발견
전술된 바와 같이, 발견 프로세스는 연락처의 디바이스가 제1 디바이스 부근에 있는지 여부를 결정할 수 있다. 발견 프로세스는 이전 등록 시간에 예컨대, 연락처 데이터베이스에 추가될 때 다른 디바이스의 식별자를 획득하는 것을 수반할 수 있다. 식별자는 식별자가 전송되는 발견을 통해 다른 디바이스로부터 직접, 또는 식별자를 안전하게 저장할 수 있는 아이덴티티 서버로부터 획득될 수 있다. 발견 프로세스의 추가의 예시적인 상세 사항들이 아래에 제공된다.
일례에서, 어떤 사람이 연락처로서 추가될 때, 그들의 연락처 정보는 아이덴티티 서버에 저장된 식별자를 검색하는 데 사용될 수 있다. 아이덴티티 서버는 식별자가 검색되어 제1 디바이스로 전송될 수 있도록 식별자를 연락처 정보와 연관하여 저장할 수 있다. 다른 예에서, 식별자는, 예컨대, 연락처 정보와 함께, 하나의 디바이스로부터 다른 디바이스로 로컬로 송신될 수 있다. 이어서, 제1 디바이스가 식별자로 착신 메시지를 검출할 때, 다른 디바이스의 사용자에 대한 연락처 정보가 검색될 수 있다.
일부 실시예들에서, 착신 메시지는 식별자가 암호화되도록 암호화될 수 있다. 대칭 암호화 키 또는 비대칭 암호화 키가 암호화 및 복호화에 사용될 수 있다. 식별자와 함께, 제1 디바이스는 예컨대, 직접 또는 서버를 통해 암호화 키를 획득할 수 있다. 이어서, 착신 메시지가 검출되면, 착신 메시지를 복호화할 수 있는 키를 찾을 때까지 저장된 암호화 키들이 사용될 수 있다. 이어서 복호화된 식별자는 대응하는 연락처 정보를 식별하는 데 사용될 수 있다.
다른 실시예들에서, 착신 메시지는 평이하게 전송되는 메시지 부분(예컨대, 네트워크 어드레스)의 해시 또는 서명을 포함할 수 있다. 저장된 식별자들(본 예에서는 키들)은 매칭을 찾기 위해 평문(cleartext) 또는 서명에 대해 동작할 수 있다. 예를 들어, 키는 서명을 복호화하여 평문 부분을 획득함으로써, 복호화 서명이 메시지의 평문과 매칭되기 때문에 다른 디바이스를 인증할 수 있다. 비-매칭 키들은 평문과 매칭되지 않는 결과를 생성할 것이고, 따라서 특정 착신 메시지가 비-매칭 키들에 대응하지 않는다고 결정될 수 있다.
다른 예로서, 키는 평문에 대해 동작하여 다른 해시를 생성 할 수 있으며, 이는 착신 메시지에서 수신된 해시와 비교될 수 있다. 저장된 키들의 세트의 각각의 저장된 키는 매칭 해시가 결정될 때까지 사용될 수 있다. 이어서, 매칭 동작을 제공하는 키가 식별자로서 결정되는데, 이는 연락처 데이터베이스에 액세스하여 연락처 정보를 검색하는 데 사용될 수 있다. 해시의 예들에는 SipHash 및 해시 기반 메시지 인증 코드(HMAC)가 포함된다.
일부 실시예들에서, 2개의 디바이스들은 식별자들, 예컨대, 암호화 키들을 교환할 수 있다. 이러한 교환은 2개의 디바이스들이 서로 가깝게 유지될 때, 예컨대, 서로 접촉할 때 발생할 수 있는데, 이는 사용자가 연락처 정보가 공유되어야 한다는 일부 표시를 제공한 후에 발생할 수 있다. 이어서, 식별자들 및 연락처 정보는 연락처들 데이터베이스에 저장될 수 있다.
일 구현예에서, 착신 메시지(예컨대, 광고 패킷)는 다른 디바이스와 연관되는 네트워크 어드레스(예컨대, 주기적으로 생성됨) 및 네트워크 어드레스를 사용하여 계산된 해시 값 및 다른 디바이스와 연관되는 암호화 키(식별자의 예)를 포함할 수 있다. 이어서, 제1 디바이스는 메모리로부터 복수의 공지된 암호화 키들을 검색하고, 올바른 키가 매칭에 의해 발견될 때까지 이들에 걸쳐 반복할 수 있다. 대안적으로, 착신 메시지는 올바른 키를 검색하는 데 사용될 수 있는 키 식별자(예컨대, 사용자 식별자 또는 디바이스 식별자)를 포함할 수 있다. 이어서, 제1 디바이스는 네트워크 어드레스 및 제1 공지된 암호화 키를 사용하여 임시 해시 값을 계산할 수 있다. 임시 해시 값은 수신된 해시에 비교되어 그들이 매칭하는지를 결정할 수 있다. 임시 해시 값 및 해시 값이 매칭되는 것을 식별하는 것에 응답하여, 제1 공지된 암호화 키에 대응하는 연락처 정보가, 예컨대, 도 12의 단계(1205)에서 검색될 수 있다. 일부 구현예들에서, (예컨대, 본 명세서에 설명된 바와 같은) 레인징 동작들은 매칭을 식별하는 것에 응답하여 수행될 수 있다.
그러한 예는 대칭 키들을 사용하지만, 비대칭 키들이 또한 사용될 수 있다. 예를 들어, 제2 디바이스(예컨대, 1221)는 제1 디바이스에 공개 키를 제공할 수 있다. 제2 디바이스는 네트워크 어드레스 또는 다른 평문의 디지털 서명을 생성하기 위해 개인 키를 사용할 수 있고, 본 명세서에 설명된 바와 같이 메시지 내에 디지털 서명을 포함할 수 있다. 이어서, 제1 디바이스는 공개 키를 사용하여 디지털 서명을 복호화하여 평문과 비교되는 결과를 획득할 수 있다. 매칭이 있는 경우, 제1 디바이스는 착신 메시지가 제2 디바이스로부터의 것임을 결정할 수 있다.
메시지가 네트워크 어드레스를 포함하는 실시예들에서, 어드레스는 주기적으로 변경될 수 있다. 이러한 방식으로, 디바이스의 아이덴티티는 시간 경과에 따라 추적될 수 없어서, 프라이버시를 보존할 수 있다. 그러한 네트워크 어드레스는 매체 액세스 제어(MAC) 어드레스일 수 있다.
C. 수신자들을 제안하기 위한 레인징의 사용
제1 디바이스는 다른 디바이스들의 상대 위치를 결정할 수 있다. 예를 들어, 제1 디바이스는 수신 신호 강도 표시자(RSSI)로도 지칭되는 착신 메시지의 신호 강도를 검출할 수 있다. 표준 방출 강도가 그러한 디바이스들에 의해 사용되는 경우, 이동한 거리에 걸친 신호의 감쇠가 제2 디바이스까지의 상대 거리를 결정하는 데 사용될 수 있다. 보정(맵핑) 함수가 디바이스들 사이의 상이한 공지된 거리들에서 행해진 측정들로부터 결정될 수 있다. 이들 공지된 차이들은 RSSI를 거리에 맵핑하는 보정 함수를 결정하기 위해 훈련 데이터로서 사용될 수 있다. 상이한 유형들의 디바이스들, 예컨대, 전화의 상이한 모델들에 대해 그리고 전화들과 태블릿들 사이를 구별하기 위해 상이한 맵핑 함수들이 결정될 수 있다.
다른 실시예들에서, 비행시간(TOF) 측정들이 본 명세서에 설명된 바와 같이 다른 디바이스들까지의 상대 거리를 결정하는 데 사용될 수 있다. RSSI 측정들 및 TOF 측정들은 함께 사용될 수 있는데, 예컨대, 가중 평균이 2개의 기술들에 의해 결정된 거리들 또는 위치들에 대해 사용될 수 있다. 일부 실시예들은 거리 정보를 사용하여 다른 디바이스가 수신자로서 제안하기에 충분히 가까운지 여부를 결정하고/하거나 거리 정보에 기초하여 수신자들을 순서화할 수 있고; 다른 정보가 또한 그러한 목적들을 위해 사용될 수 있다.
도 13은 본 개시내용의 실시예들에 따른, 통신 애플리케이션에 수신자들을 제안하는 데 사용하기 위해 다른 디바이스들(1320)과 레인징을 수행하는 제1 디바이스(1310)를 도시한다. 제1 디바이스(1310)는 도 12의 제1 모바일 디바이스(1210)에 대응할 수 있고, 다른 디바이스들(1320)은 다른 모바일 디바이스들(1220)에 대응할 수 있다. 도 13의 다른 요소들은 도 12의 유사한 요소들에 대응할 수 있다.
통신 애플리케이션(1311)은 새로운 통신(예컨대, 이메일 또는 메시지)을 생성하기 위해 사용자 입력을 수신하기 위한 사용자 인터페이스를 가질 수 있다. 이러한 사용자 입력에 응답하여, 통신 애플리케이션(1311)은 예컨대, 도 5의 회로부에 대응하는, 레인징 회로부(1335) 및/또는 BT/Wi-Fi 회로부(1330)로 트리거 커맨드(1319)를 전송할 수 있다. 이러한 회로들은 어느 디바이스들이 제1 디바이스(1310)에 근접해 있는지를 결정할 수 있다.
다른 디바이스들(1320)은 블루투스 또는 Wi-Fi와 같은 무선 프로토콜을 사용하여 신호들(예컨대, 광고들)을 방출할 수 있다. 이러한 신호들은 BT/Wi-Fi 회로부(1330)에 의해 검출될 수 있고, 이는 예컨대, 본 명세서에 설명된 바와 같이, 연락처 데이터베이스(도 13에 도시되지 않음) 내의 특정 연락처에 대응하는 신호들의 인증을 수행할 수 있다. 연락처 정보는 제안 엔진(1350)으로 전송될 수 있고, 이는 연락처 정보를 사용하여 통신 애플리케이션(1311)으로 전송할 제안된 수신자들의 목록을 결정할 수 있다.
BT/Wi-Fi 회로부(1330)는 레인징 설정들을 레인징 회로부(1335)로 전송할 수 있다. 일부 구현예들에서, 레인징 회로부(1335)는 BT/Wi-Fi 회로부(1330)로부터 레인징 설정들을 수신하는 것에 응답하여 레인징 동작을 시작할 수 있다. 레인징 설정들은 예컨대, 전술된 바와 같은 다양한 데이터를 포함할 수 있다. 또한, 레인징 설정들은 다른 디바이스들(1320) 중 하나를 인증하는 데 사용되었을 수 있는 네트워크 어드레스를 포함할 수 있다. 이러한 방식으로, 레인징 회로부(1335)는 레인징 신호들을 전송할 네트워크 어드레스를 획득할 수 있다. 네트워크 어드레스는 레인징 데이터를 연락처 데이터베이스 내의 특정 연락처에 상관시키는 데 사용될 수 있다. 예를 들어, BT/Wi-Fi 회로부(1330)로부터 전송된 연락처 정보는 네트워크 어드레스(또는 다른 식별자)를 포함할 수 있고, 레인징 회로부(1335)는 네트워크 어드레스(또는 다른 식별자)를 포함할 수 있어서, 제안 엔진(1350)이 레인징 데이터를 연락처 정보와 상관시킬 수 있다.
제안 엔진(1350)은 연락처 정보, 레인징 데이터, 컨텍스트 데이터 소스들(1340)로부터의 현재 컨텍스트 데이터, 및 이력 통신 데이터(1345)의 다양한 조합들을 사용하여 제안된 수신자들의 목록을 결정할 수 있다. 예들로서, 컨텍스트 데이터 소스들(1340)은 관성 모션 유닛(IMU)으로부터의 이동 정보, 클록 및 캘린더 앱으로부터의 시간 및 날짜, GPS 또는 다른 위치 회로부로부터의 위치, 및 통신 애플리케이션(1311) 이전에 사용된 이전 애플리케이션들을 포함할 수 있다.
제안 엔진(1350)은 데이터베이스에 저장된 이력 통신 데이터(1345)를 사용할 수 있다. 각각의 이력 통신은 데이터베이스 내의 별도의 시간 엔트리로서 기록될 수 있다. 그러한 기록들은 주기적으로, 예컨대, 2초마다 또는 시간 간격 당 한 가지 유형의 상호작용만이 발생할 가능성이 있는 다른 시간 스케일마다 저장될 수 있다(시간 인코딩). 각각의 이력 사용 기록은 본 명세서에서 언급된 컨텍스트 데이터 중 임의의 것을 포함할 수 있다.
이력 통신 데이터(1345)는, 선택될 가능성이 가장 큰 수신자들의 목록을 제안하기 위해 현재 컨텍스트에 패턴들 및/또는 유사성들에 대해 마이닝될(mined) 수 있는 이력 사용자 통신들의 기록들을 저장할 수 있다. 예를 들어, 현재 컨텍스트가 특정 컨텍스트인 경우, 특정 컨텍스트 동안 빈번하게 메시지를 받는 수신자들이 식별될 수 있다. 그러한 목록은, 예컨대, 상대 거리에 기초하여 순서화될 수 있다. 순서화는 가장 가까운 것으로부터 가장 멀리 있는 것일 수 있다. 디바이스의 포인팅 방향에 대한 소정 각도들에 대한 선호도를 갖도록 다양한 구역들에서 가중치가 사용될 수 있다.
일부 실시예들에서, 제안 엔진(1350)에 의해 사용되는 기준들 각각은 그 특정 기준에 대해 순서 또는 점수(예컨대, 순위)를 할당하기 위해 별개의 서브모델에 의해 사용될 수 있다. 예를 들어, 수신자들에 대한 점수들의 하나의 목록은 레인징 정보에 기초하여 결정될 수 있고, 다른 목록은 이력 통신들에 기초하여 결정될 수 있다. 2개의 목록들에서의 점수들은 수신자들의 최종 목록을 획득하기 위해 가중 평균을 사용하여 병합될 수 있다. 임계치 초과의 점수를 갖는 수신자들이 목록에 제공될 수 있다. 기준들(특징들) 각각은, 예컨대, 휴리스틱 또는 기계 학습을 통해 결정되는 바와 같이 미리 결정된 가중치들을 할당받을 수 있다. 다른 구현예에서, 그러한 가중치들은 변수에 기초하여 동적으로 할당될 수 있다. 예를 들어, 이웃 디바이스들의 수가 더 많아질수록 근접도 기준들에 가중치가 덜 주어져야 함을 나타낼 수 있다.
제안 엔진(1350)은 다양한 형태들로 구현될 수 있고 다양한 모델들을 사용할 수 있다. 예를 들어, 하나 초과의 모델이 사용될 수 있고, 모델들의 결과들은 앙상블 엔진(ensemble engine)에서 병합될 수 있다. 제1 유형의 모델은 주기적으로(예컨대, 밤마다) 실행될 수 있지만, 다음 훈련 세션이 수행될 때까지 그것이 정적이도록 저장될 수 있다. 그러한 주기적인 생성 및 절약은, 주기적인 동작이 사용자 요청에 응답하여 행해지는 것이 아니기 때문에 사용자 요청들과 관련이 없을 것이다. 이러한 훈련은 애플리케이션, 수신자, 또는 애플리케이션/수신자의 조합이 선택될 때 패턴들에 대한 이력 상호작용을 마이닝하는 패턴 마이닝 루틴을 포함할 수 있다. 제2 유형의 모델은, 예컨대, 새로운 통신을 생성하는 것에 응답하여 제안에 대한 요청이 수신될 때 주문형(on-demand) 모델을 생성하기 위해 최근의 상호작용들을 사용할 수 있다.
패턴 모델은 수신자들의 예측들이 사용자의 거동에 대해 더 특정되도록 그들의 과거 거동들에 기초하여 조정할 수 있다. 패턴 모델은 데이터베이스에 저장된 모든 상호작용 데이터에 대해 동작하여 특징들의 식별된 반복 패턴들에 기초하여 규칙들을 생성할 수 있다. 패턴 모델은 밤새 또는 모바일 디바이스의 다른 유휴 시간들 동안 실행될 수 있다. 패턴 모델은 상호작용들로부터 데이터를 추출하고, 예측이 이루어질 때에 질의될 수 있는 다른 데이터베이스(본 명세서에서 패턴 데이터베이스로 지칭됨)를 출력할 수 있다. 통신 애플리케이션, 하루 중 시간 등과 같은 입력 기준들의 세트의 각각의 입력 기준에 대해, 패턴 데이터베이스는 제안할 수신자들의 목록을 특정할 수 있다.
그러한 패턴 모델은, 선행으로 소정 기준을 가지며 결과로서 제안 앱들/수신자들을 출력하는 규칙들의 데이터 베이스 이외의 다양한 다른 형태들을 취할 수 있다. 예를 들어, 일부 구현예들에서, 신경망이 패턴 모델에 사용될 수 있다. 기계 학습 모델들의 다른 예들은 선형 회귀, 로지스틱 회귀, 지지 벡터 기계(support vector machine)들, 및 의사결정 트리들을 포함한다.
일부 실시예들에서, 점수들이 레인징 동작에 기초하여 할당될 수 있다. 다른 디바이스들 각각의 상대 위치는 다수의 안테나들(예컨대, 삼각측량을 사용할 수 있는 UWB 안테나들)을 사용하여 결정된 거리들에 기초하여 결정될 수 있다. 제1 디바이스 주위의 영역은 상이한 영역들로 분리될 수 있다. 영역들은 제1 디바이스의 포인팅 방향에 대해 반경 및 각도에 의해 계층화될 수 있다. 예를 들어, 포인팅 방향의 특정 각도 범위 내의 가장 가까운 반경방향 영역에는 최고 점수가 할당될 수 있고, 반경 방향으로 가장 멀리 떨어져 있고 포인팅 방향으로 180도 떨어진 영역에는 최저 점수가 할당될 수 있다. 일례로서, 점수들의 이러한 세트는 특정 범위, 예컨대, 0 내지 100 내에 있도록 정규화될 수 있다.
점수들의 이러한 세트는 또한 다양한 컨텍스트들에서 발생할 수 있는 이력 통신들에 기초하여 할당될 수 있다. 모든 컨텍스트들 또는 특정 컨텍스트에서의 통신들의 주파수(예컨대, 현재 컨텍스트에 대한 필터링 후의 주파수)가 이러한 점수들의 세트를 결정하는 데 사용될 수 있다. 이러한 점수들은 또한 특정 범위 내의 값들, 예컨대, 0 내지 100을 갖도록 정규화될 수 있다.
점수들의 2개의 세트들은 많은 방식들로, 예컨대, 조합된 점수들에 기초하여 점수들 및 순서화를 병합함으로써 또는 규칙들의 세트를 사용함으로써 병합될 수 있다. 예를 들어, 하나의 규칙은, 다른 디바이스가 포인팅 방향의 특정된 각도 범위 내에 있는 가장 가까운 반경방향 영역에 있는 경우, 이력 통신을 사용한 그것의 점수에 상관없이 그 디바이스가 항상 먼저 배치된다는 것일 수 있다. 다른 예시적인 규칙으로서, 레인징 점수에 기초한 순서화는 통신들의 수에 기초하여 수정될 수 있으며, 예컨대, 현재 컨텍스트에 대해 결정될 수 있는 바와 같이, 특정 디바이스를 통신들의 수에 기초하여 특정된 수의 순서화된 위치들에 따라 증가 또는 감소시킴으로써 수정될 수 있다.
일부 실시예들에서, (예컨대, 각각의 안테나에 대한) 레인징 점수들 또는 원시 거리들은 기계 학습 모델에 대한 특징들로서 사용될 수 있다. 훈련 세트는 수신자가 공지된 통신들의 세트뿐만 아니라 특정 컨텍스트(레인징 거리들을 포함)를 포함할 수 있다. 그러한 기계 학습 모델은 컨텍스트들이 공지된 새로운 통신들의 수신자들에 대한 예측들의 정확도에 기초하여 계속해서 업데이트될 수 있다.
전술된 바와 같이, RSSI는 레인징 측정들에 사용될 수 있다. RSSI는 TOF 거리 측정들에 더하여 결정될 수 있다. 따라서, TOF-유도 반경방향 범위(예컨대, UWB를 사용하여 측정됨), 포인팅 방향에 대한 TOF-유도 각도(예컨대, UWB를 사용하여 측정됨), 및 RSSI(예컨대, 임의의 형태의 블루투스를 사용하여 측정됨)는 모두 예컨대, 제안/예측 모델에 입력함으로써 제안된 수신자들의 목록을 결정하는 데 사용될 수 있다. 원시 RSSI 측정 및 분류된 범위가 사용될 수 있다.
일부 실시예들에서, 초기 모델은 RSSI 측정들을 사용하여 범위 분류를 획득할 수 있으며, 이는 결정된 TOF 값들과 함께 사용될 수 있다. 예를 들어, 제안 엔진(1350)은 BT/Wi-Fi 회로부(1330)로부터 RSSI 측정들을 수신할 수 있다. RSSI 분류기(1355)는 RSSI 측정을 사용하여 범위 분류를 결정할 수 있다. 예컨대, 3개, 4개, 5개 등과 같이 임의의 수의 범위 분류들이 사용될 수 있다. 일 구현예에서, 3가지 분류들은 근거리, 중간, 및 원거리일 수 있으며, 숫자 또는 임의의 다른 문자들을 사용하여 특정될 수 있다. 범위 분류를 결정하기 위해, RSSI 분류기(1355)는 신호를 방출하는 디바이스의 유형을 식별하고, 이어서 예컨대, 공지된 유형의 디바이스에 대한 공지된 거리들에서의 측정들을 사용하여 훈련된 대응하는 분류 모델을 사용할 수 있다. 범위 분류는 본 명세서에 설명된 바와 같이 제안 엔진(1350)의 일부인 다른 모델에 제공될 수 있다. 일부 구현예들에서, RSSI 분류기(1355)는 하나 초과의 RSSI 측정들을 사용할 수 있는데, 예컨대, 일련의 측정들이 분류를 수행하는 데 사용될 수 있다.
D. 레인징 회로부의 타이밍
레인징 측정들은 다양한 시간들, 예컨대, 사용자가 새로운 통신을 시작하기 전 또는 후에 취해질 수 있다. 예를 들어, 레인징 회로부(1335) 및/또는 BT/Wi-Fi 회로부(1330)는 이미 결정된 거리들 또는 범위 분류들을 이용해 일부 측정들을 이미 수행했을 수 있다. 이러한 거리 정보는 새로운 통신이 시작될 때 검색을 위해 저장될 수 있다. 예들로서, 거리 정보(거리들, 범위 분류들 등)는 제안 엔진(1350), 레인징 회로부(1335) 및/또는 BT/Wi-Fi 회로부(1330), 또는 제1 디바이스(1310)의 다른 컴포넌트에 저장될 수 있다. 이어서, 요청이 (예컨대, 제안 엔진(1350)에 의해 또는 레인징 회로부(1335) 및/또는 BT/Wi-Fi 회로부(1330)에) 수신되면, 거리 정보가 검색될 수 있다.
거리 측정들은 주기적으로 수행될 수 있다. 새로운 측정들이 이전의 측정들을 덮어쓸 수 있으며, 잠재적으로 상이한 시간들에서 수행된 소정 횟수의 측정들이 저장될 수 있다. 각각의 거리 측정은 타임 스탬프를 가질 수 있다. 타임 스탬프는 측정된 값들이 (예컨대, 타이밍 임계치와 비교함으로써) 사용하기에 충분히 최근의 것인지를 결정하는 데 사용될 수 있다. 따라서, 사용자가 메시지를 작성하기를 원할 때, 제안된 수신자들은 이웃 디바이스들에 대한 저장된 정보를 사용할 수 있어서, 레인징 회로부(1335) 및/또는 BR/Wi-Fi 회로부가 스핀 업(spin up)되야 하거나 에너지 수준을 높일 필요가 없다 - 다만 이들은 주기적으로 스핀 업될 필요가 있을 수 있음 -. 측정들이 충분히 최근의 것이 아닌 경우, 새로운 측정들이 수행될 수 있다.
E. 수신자들을 제안하기 위한 방법
도 14는 본 개시내용의 실시예들에 따른, 사용자에게 통신 인터페이스를 제공하는 방법(1400)을 예시하는 흐름도이다. 방법(1400)은 제1 디바이스(1310) 또는 제1 모바일 디바이스(1210)에 대응할 수 있는 제1 모바일 디바이스에 의해 구현될 수 있다. 통신 인터페이스는, 무선 통신을 사용하여 결정되는 바와 같이, 다른 디바이스의 근접도에 기초하여 새로운 통신을 위한 제안된 수신자들의 목록을 제공할 수 있다. 일부 구현예들에서, 통신 인터페이스는, 사용자가 수신자에 대한 임의의 문자들을 제공하기(예컨대, 타이핑하기) 전에 제안된 수신자들의 목록을 제공할 수 있다.
블록(1410)에서, 제1 모바일 디바이스의 데이터베이스가 복수의 연락처들을 저장한다. 데이터베이스는 연락처들 각각에 대한 연락처 정보, 예컨대, 전화 번호, 이메일 주소, 이름 등을 포함할 수 있다. 각각의 연락처(예컨대, 데이터베이스의 각각의 엔트리)는 (예컨대, 사용자 또는 디바이스에 대한) 암호화 키 또는 고유 식별자와 같은 저장된 식별자와 연관될 수 있다. 식별자는 특정 식별자를 갖는 질의가 특정 식별자에 대응하는 연락처에 대한 연락처 정보를 검색하는 데 사용될 수 있도록 데이터베이스 내의 필드로서 저장될 수 있다.
블록(1420)에서, 제1 모바일 디바이스의 사용자 인터페이스는 새로운 통신을 전송하라는 커맨드를 수신한다. 새로운 통신은 제1 모바일 디바이스 상에서 실행되는 통신 애플리케이션을 사용하여 전송될 수 있다. 예컨대, 텍스트 메시징, 이메일들, 전화 통화, 영상 통화 등에 대해 다양한 통신 애플리케이션들이 사용될 수 있다. 사용자 인터페이스는 예컨대, 사용자가 통신 애플리케이션을 열고 새로운 메시지를 시작하기 위한 버튼을 선택할 때, 주어진 통신 애플리케이션에 특정될 수 있다. 다른 구현예에서, 사용자 인터페이스는 범용 인터페이스, 예컨대, 음성 커맨드 인터페이스여서 특정 통신 애플리케이션이 미리 열려있을 필요가 없을 수 있다. 음성 커맨드는 사용할 통신 애플리케이션을 특정할 수 있고; 디폴트 애플리케이션이 소정 키워드들에 대해 설정될 수 있으며, 예컨대, 음성 커맨드에서 용어 "메시지"를 사용할 때 소정 텍스트 메시징 애플리케이션이 선택될 수 있다.
블록(1430)에서, 하나 이상의 착신 메시지들이 하나 이상의 다른 모바일 디바이스들로부터 무선으로 검출된다. 다양한 실시예들에서, 하나 이상의 착신 메시지들은 하나 이상의 다른 모바일 디바이스들에 대응하는 하나 이상의 착신 식별자를 사용하여 생성될 수 있거나, 하나 이상의 다른 모바일 디바이스들에 대응하는 하나 이상의 착신 식별자를 포함할 수 있다. 예를 들어, 식별자는 메시지의 일부분의 디지털 서명 또는 해시를 생성하는 데 사용되는 암호화 키에 대응할 수 있으며, 디지털 서명 또는 해시는 메시지의 일부로서 전송된다. 다른 예로서, 메시지는 다른 디바이스에 대응하는 연락처 정보를 결정하기 위해 직접 사용될 수 있는 식별자를 포함할 수 있다.
일부 실시예들에서, 하나 이상의 착신 메시지들은 하나 이상의 다른 모바일 디바이스들에 의해 방송될 수 있다. 그러한 방송 메시지들은 다른 모바일 디바이스들에 의해 주기적으로 방출될 수 있다. 제1 모바일 디바이스는 유사하게 그러한 신호들을 주기적으로 방송하여 이웃하는 모바일 디바이스들이 그것을 검출할 수 있게 할 수 있다.
블록(1440)에서, 하나 이상의 착신 메시지들이 분석되어 하나 이상의 착신 식별자들을 결정한다. 다양한 실시예들에서, 블록들(1430, 1440)은, 예컨대, 도 12 및 도 13에 설명되는 바와 같이, 블록(1420) 이전 또는 이후에 수행될 수 있다. 분석은 단순히 착신 메시지들을 파싱하여 데이터를 추출할 수 있다. 다른 구현예에서, 분석은 착신 메시지들 내의 데이터의 전부 또는 부분들에 대한 동작들(예컨대, 암호화 동작들)을 수행할 수 있다.
블록(1440)은, 예컨대, 식별자가 암호화 키인 경우, 착신 메시지(들)의 인증을 포함할 수 있다. 일부 구현예들에서, 하나 이상의 착신 메시지들이 하나 이상의 암호화 키들을 사용하여 생성되는 경우, 분석은 저장된 암호화 키를 착신 메시지의 제1 부분에 적용하여 암호화 결과를 획득하는 것을 포함할 수 있다. 암호화 결과는 착신 메시지의 제2 부분에 매칭될 수 있다. 예를 들어, 암호화 키는 메시지의 평문 부분(예컨대, 네트워크 어드레스)의 해시를 생성하는 데 사용될 수 있고, 메시지 내에 수신된 해시 부분과 비교될 수 있다. 다른 예로서, 복호화 동작은 메시지의 암호화된 부분에 대해 수행될 수 있으며, 복호화된 결과는 올바른 암호화 키가 사용된 경우 평문 부분에 매칭되어야 한다. 복호화에 사용되는 저장된 암호화 키는 공개 키일 수 있으며, 착신 메시지는 공개 키에 대응하는 개인 키를 사용하여 생성된다. 다른 구현예에서, 양자 모두의 디바이스들은 각자의 암호화 동작에 대해 동일한 키를 사용할 수 있다. 그러한 경우에, 하나 이상의 착신 식별자들은 착신 메시지를 생성하는 데 사용되는 하나 이상의 암호화 키들을 포함할 수 있다.
블록(1450)에서, 하나 이상의 다른 모바일 디바이스들에 대한 연락처 정보를 획득하기 위해 하나 이상의 착신 식별자들로 데이터베이스가 액세스된다. 본 명세서에 설명된 바와 같이, 데이터베이스 내의 엔트리들은 식별자들을 위한 필드를 포함할 수 있다. 매칭 식별자가 결정되면, 데이터베이스에 질의하여 엔트리가 매칭 식별자를 포함하는 연락처를 식별할 수 있다. 그 엔트리의 임의의 수의 데이터 항목들이 제안된 수신자들의 목록을 제공하기 위해 검색될 수 있다. 예를 들어, 사진이 검색되고 목록 내의 다른 연락처 정보와 함께 디스플레이될 수 있다.
블록(1460)에서, 하나 이상의 다른 모바일 디바이스들에 대한 연락처 정보는 제안된 수신자들의 목록으로서 통신 애플리케이션에 제공된다. 목록은 새로운 통신을 전송하라는 커맨드에 응답하여 제공될 수 있다. 예를 들어, 블록들(1430 내지 1460)은 새로운 통신을 시작하라는 커맨드들에 응답하여 수행될 수 있거나, 블록(1460)은 커맨드에 직접 응답하여 수행될 수 있다. 다른 예로서, 추가의 단계들, 예컨대, 컨텍스트 데이터, 이력 통신 데이터, 또는 레인징 데이터와 같은 다른 데이터의 획득이 수행될 수 있고; 그러한 추가의 단계들은 블록(1420) 이후에, 그러나 블록(1460) 이전에 수행될 수 있다.
블록(1460)은 예컨대, 본 명세서에 설명된 바와 같이 제안 엔진을 사용하여 적어도 부분적으로 구현될 수 있다. 예를 들어, 이력 사용자 상호작용들의 데이터베이스는 이력 수신자들, 이력 통신 애플리케이션들, 및 이력 컨텍스트 데이터를 포함할 수 있다. 제안된 수신자들의 목록은 이력 사용자 상호작용들을 사용하여 결정될 수 있다. 그러한 제안 엔진은 제1 디바이스에 근접하지 않은 다른 디바이스들을 제안할 수 있다. 그리고, 이웃 디바이스들 모두가 제안된 수신자들의 목록 내에 포함될 수 있는 것은 아니다. 예를 들어, 제안 엔진은 제1 디바이스와의 충분한 이력 통신들을 갖지 않는 하나 이상의 이웃 디바이스들을 배제할 수 있다. 따라서, 하나 이상의 다른 모바일 디바이스들은 단지 이웃 디바이스들의 일부분일 수 있다.
일부 실시예들에서, 제안된 수신자들의 목록은 의도된 수신자의 표시를 수신하기 전에 제공된다. 예를 들어, 제안된 수신자들은 사용자가 텍스트 윈도우 내로 임의의 문자들을 입력하기 전에 제공될 수 있다. 그러한 제안된 수신자들의 목록은, 예컨대, 레인징 동작에서 결정된 거리 정보에 기초하여 순서화될 수 있다.
블록(1470)에서, 통신 애플리케이션은 제안된 수신자들의 목록으로부터 하나 이상의 다른 모바일 디바이스들 중 제2 모바일 디바이스의 선택을 수신한다. 제2 모바일 디바이스는 다양한 방식들로 선택될 수 있는데, 예컨대, 드롭-다운 목록으로부터 터치 스크린을 통해 또는 목록 내의 어느 항목이 선택될 것인지를 식별하는 음성 커맨드를 통해 선택될 수 있다. 일부 실시예들에서, 목록은 초기에는 화면 상에 디스플레이되지 않은 추가의 수신자들을 보기 위해 스크롤링하는 것을 허용할 수 있다. 따라서, 제2 모바일 디바이스에 대응하는 연락처 정보는 초기에 디스플레이되지 않을 수 있지만, 여전히 제안된 수신자들의 목록의 일부이다.
블록(1480)에서, 통신 애플리케이션은 새로운 통신을 제2 모바일 디바이스에 전송한다. 새로운 통신의 송신은 사용자로부터의 전송 커맨드에 응답하여 발생할 수 있다. 제2 모바일 디바이스로부터의 착신 메시지가 네트워크 어드레스를 포함하는 경우, 새로운 통신은 그 네트워크 어드레스로 송신될 수 있다.
방법(1400)의 일부로서, 레인징 동작이 수행될 수 있고, 다양한 시간들에서 발생할 수 있다. 다양한 예들에서, 레인징 동작은 블록(1420)에서 커맨드에 응답하여, 블록(1430)에서 착신 메시지(들)의 검출과 병행하여, 블록(1430)에 응답하여, 또는 블록(1440)에서의 인증에 응답하여 수행될 수 있다. 레인징 동작은, 예컨대, 본 명세서에 설명된 바와 같이 다양한 방식들로 수행될 수 있다. 일부 구현예들에서, 제1 무선 프로토콜(예컨대, UWB)은 레인징 요청 메시지 내의 제1 세트의 하나 이상의 펄스들을 하나 이상의 다른 모바일 디바이스들 각각에 송신하는데 사용될 수 있다. 그러한 송신(들)은 착신 메시지들에 수신되는 네트워크 어드레스(들)를 사용할 수 있다. 제1 무선 프로토콜을 사용하여, 하나 이상의 레인징 응답 메시지들 내의 제2 세트의 하나 이상의 펄스들이 하나 이상의 다른 모바일 디바이스들 각각으로부터 수신될 수 있다. 이어서, 하나 이상의 다른 모바일 디바이스들 각각에 대한 제1 세트의 하나 이상의 펄스들의 하나 이상의 송신 시간들 및 제2 세트의 하나 이상의 펄스들의 하나 이상의 수신 시간들에 대응하는 거리 정보가 결정될 수 있다. 그러한 시간들은 제1 디바이스의 클록을 사용하여 추적될 수 있다. 제안된 수신자들의 목록은, 예컨대, 도 12 및 도 13에 설명된 바와 같이 거리 정보를 사용하여 결정될 수 있다.
거리 정보는 다양한 거리들, 예컨대, 반경방향 및 각도를 포함할 수 있으며, 이들 중 적어도 일부는 시간 또는 길이에 의해 정량화될 수 있다. 하나 이상의 다른 모바일 디바이스들에 대한 거리가 임계치와 비교될 수 있다. 거리가 임계치보다 큰 것에 기초하여 하나 이상의 다른 모바일 디바이스들 중 임의의 다른 모바일 디바이스가 제안된 수신자들의 목록으로부터 배제될 수 있다. 이웃 디바이스가 너무 멀리 떨어져 있는 경우, 제1 디바이스의 사용자가 그 이웃 디바이스의 사용자와 통신하려고 시도하지 않을 가능성이 높은 것으로 가정될 수 있다.
거리 정보가 (예컨대, 포인팅 방향에 대한) 각도 값을 포함하는 경우, 하나 이상의 다른 모바일 디바이스들에 대한 각도 값이 임계치와 비교될 수 있다. 각도 값이 임계치보다 큰 것에 기초하여 하나 이상의 다른 모바일 디바이스들 중 임의의 다른 모바일 디바이스가 제안된 수신자들의 목록으로부터 배제될 수 있다.
레인징 동작이 수행되기 전에, 제1 디바이스는 하나 이상의 다른 모바일 디바이스들과 인증(예컨대, 상호 인증)을 수행할 수 있다. 예를 들어, 하나 이상의 다른 모바일 디바이스들 각각으로 제1 세트의 하나 이상의 펄스들을 송신하기 전에, 제1 모바일 디바이스의 제1 인증 태그를 포함하는 광고 신호가 제2 무선 프로토콜(예컨대, 블루투스 또는 Wi-Fi)을 통해 송신될 수 있다. 제2 모바일 디바이스의 제2 인증 태그는 제2 모바일 디바이스로부터 제2 무선 프로토콜을 통해 수신될 수 있다. (예컨대, 섹션 II 내지 섹션 IV에 설명된 바와 같은) 인증 태그들은 블록(1440)에서의 식별자(들)에 대응할 수 있다. 제2 모바일 디바이스는 제2 인증 태그를 사용하여 인증될 수 있다. 제2 모바일 디바이스는 제1 모바일 디바이스를 인증하기 위해 제1 인증 태그를 사용할 수 있다. 이어서, 제2 무선 프로토콜은 하나 이상의 레인징 설정들을 제2 모바일 디바이스와 통신하는 데 사용될 수 있다. 제1 세트의 하나 이상의 펄스들은 하나 이상의 레인징 설정들에 따라 송신될 수 있다. 제1 무선 프로토콜은 제2 무선 프로토콜에 의해 사용된 펄스 폭보다 작은 펄스 폭을 사용할 수 있다.
VIII. 핸드오프
하나의 디바이스로부터 다른 디바이스로 콘텐츠를 전송하는 것이 바람직할 수 있다. 2개의 디바이스들은 사용자에 의해 또는 상이한 사용자들에 의해 소유될 수 있다. 예컨대, 다른 디바이스가 서버로부터 콘텐츠를 검색할 수 있도록 콘텐츠를 이메일링함으로써, 콘텐츠를 전송하는 간단한 방법들이 있다. 그러나, 그러한 프로세스는 사용자에게 비효율적이고 번거롭다.
일부 실시예들에서, 디바이스들 사이의 거리를 결정하기 위해 레인징 동작이 사용될 수 있다. 인증이 수행된 후, 제1 디바이스의 화면은 제2 디바이스로부터의 콘텐츠를 보기 위한 옵션을 자동으로 제공할 수 있다. 이러한 방식으로, 사용자는 제2 디바이스 상에서 선택들을 수행하거나 제1 디바이스를 구성할 필요가 없다. 대신에, 사용자는 콘텐츠를 보기 위한 옵션을 신속하게 선택할 수 있다. 또한, 레인징 동작은 예컨대, 디바이스들 사이의 거리가 임계치 내에 있는 소정 상황들 하에서만 콘텐츠를 보기 위한 옵션을 제공하는 데 사용될 수 있다. 추가적으로, 배향이 요구될 수 있는데, 예컨대, 제2 디바이스가 제1 디바이스의 좌측에 배치된다. 따라서, 실시예들은 사용자에게 옵션을 제공하는 불필요하고 바람직하지 않은 경우들을 억제할 수 있으며, 이는 그렇지 않으면 제1 디바이스의 화면을 어지럽게 할 수 있다.
A. 전화 및 랩톱 컴퓨터를 갖는 예
도 15는 본 개시내용의 실시예들에 따른, 하나의 디바이스로부터 다른 디바이스로 콘텐츠를 공유하기 위한 기술을 예시한다. 2개의 디바이스들은 동일한 사용자에 의해 또는 상이한 사용자들에 의해 소유될 수 있다. 도시된 예에서, 컴퓨터(1510)(제1 디바이스로도 지칭됨)는 모바일 폰(1550)(제2 모바일 디바이스로도 지칭됨)과 상호작용한다. 그러나, 다른 모바일 디바이스들이 사용될 수 있고, 랩톱/노트북 컴퓨터 외에 다른 디바이스들이 제1 디바이스, 예컨대, 태블릿, 웨어러블 디바이스, TV 또는 TV를 위한 셋톱 박스 등에 대응할 수 있다는 것을 이해하여야 한다.
모바일 폰(1550)으로부터 컴퓨터(1510)로 콘텐츠를 공유하려는 사용자의 의도를 결정하기 위해, 2개의 디바이스들의 근접도가 사용될 수 있다. 근접도를 결정하기 위해, 모바일 폰(1550)과 컴퓨터(1510) 사이에서 레인징 동작(1560)이 수행될 수 있다. 디바이스들 중 어느 하나는, 예컨대, 본 명세서에 설명된 바와 같이, 레인징 동작(1560)을 착수시킬 수 있다. 따라서, 컴퓨터(1510)는 2개의 디바이스들 사이의 반경방향 거리를 결정할 수 있다. 또한, 일부 실시예들에서, 컴퓨터(1510)는, 예컨대, 각도 위치를 결정함으로써, 컴퓨터(1510)에 대한 모바일 폰(1550)의 상대 위치를 결정할 수 있다. 그러한 각도 위치는 키보드(1515)에 수직인 것과 같은 정의된 포인팅 방향에 대해 정의될 수 있다. 각도가 시계 방향으로 결정되는 경우, 모바일 폰(1550)은 포인팅 방향(1517)으로부터 90도에 있다.
콘텐츠를 공유하려는 사용자의 의도를 결정하는 것의 일부로서, 임계 거리(1540)가 사용될 수 있다. 예를 들어, 컴퓨터(1510)가 모바일 폰(1550)이 임계 거리(1540) 내에 있다고 결정할 때, 컴퓨터 (1510)는 사용자가 콘텐츠를 공유하기를 원할 가능성이 높다고 결정할 수 있다. 모바일 폰(1550)이 임계 거리(1540) 내에 있다고 결정하는 것에 응답하여, 컴퓨터(1510)는 컴퓨터(1510)의 화면(1520) 상에 시각적 표시자(1530)를 디스플레이할 수 있다. 시각적 표시자(1530)의 크기 및 배치는 변할 수 있고, 도시된 예는 단지 예시적인 것이다. 예를 들어, 시각적 표시자(1530)는 시작 메뉴 또는 현재 또는 최근에 사용된 애플리케이션들의 다른 목록 상에 배치되는 아이콘일 수 있고; 그러한 아이콘은 모바일 폰(1550)에 대응하거나 제2 모바일 디바이스가 무엇이든 간에 대응할 수 있다.
일부 실시예들에서, 임계 거리(1540)는 컴퓨터(1510)에 대한 모바일 폰(1550)의 각도 위치/거리에 의존할 수 있다. 예를 들어, 컴퓨터(1510)는 모바일 폰(1550)이 컴퓨터(1510)의 좌측에 배치될 것을 요구할 수 있다. 이러한 방식으로, 컴퓨터(1510)는 사용자 의도를 보여주기 위한 보다 특정한 액션들을 요구할 수 있다. 모바일 폰(1550)이 좌측에 있다는 결정은, 45도와 135도 사이와 같은 특정 범위 내에 있도록 요구될 수 있는 측정된 각도를 사용하여 결정될 수 있고; 당업자에 의해 인식될 바와 같이, 다른 범위들이 또한 사용될 수 있다. 방향을 사용하는 그러한 구현예에서, 시각적 표시자(1530)는 화면(1520)의 특정 위치 상에, 예컨대, 도시된 바와 같이 좌측에 디스플레이될 수 있다.
따라서, 사용자는 2개의 디바이스들 사이의 공유 세션을 시작할 목적으로 그들의 컴퓨터 옆에 그들의 전화를 놓을 수 있다. 컴퓨터(1510)는 모바일 폰(1550)으로부터 광고 신호를 검출할 수 있고(또는 그 역도 성립함), 레인징 동작(1560)은 컴퓨터(1510) 상의 시각적 표시자(1530)를 트리거하는 거리 정보를 제공할 수 있다. 사용자가 시각적 표시자(1530)를 선택하면, 공유 세션이 시작될 수 있다. 다양한 실시예들에서, 공유 세션은 사진들, 비디오들, 그러한 콘텐츠에 대한 링크들(인터넷 상의 URL들), 또는 양자 모두의 디바이스들 상에 설치된 소프트웨어 애플리케이션들에 대한 딥 링크들을 송신할 수 있다. 공유되는 것이 무엇인지에 따라, 다양한 단계들, 예컨대, 콘텐츠에 대응하거나 콘텐츠를 디스플레이하는 애플리케이션을 실행하는 단계, 콘텐츠(예컨대, 사진)를 디스플레이하는 단계, 또는 컴퓨터(1510) 상에 콘텐츠를 저장하는 단계가 공유 세션에서 수행될 수 있다.
일부 실시예들에서, 시각적 표시자(1530)는 공유되는 콘텐츠에 관한 정보를 전달할 수 있다. 예를 들어, 시각적 표시자(1530)는 콘텐츠의 작은 표현, 예컨대, 사진의 썸네일을 제공할 수 있다. 일단 사용자가 시각적 표시자(1530)를 클릭하면, 콘텐츠의 더 큰 표현이 제공될 수 있으며, 예컨대, 전체 화면, 반화면, 또는 화면의 1/3 또는 1/4에 대응하는 크기가 사용될 수 있다. 다른 구현예들에서, 콘텐츠는 자동으로, 예컨대, 사용자가 시각적 표시자를 선택할 필요 없이 공유될 수 있다.
공유 세션의 착수 또는 시각적 표시자(1530)의 디스플레이는 또한 모바일 폰(1550)의 배향에 의존할 수 있다. 예를 들어, 공유 세션을 시작하고자 하는 요구를 나타내기 위해 사용자가 화면이 위로 향하도록 디바이스를 배치하는 것이 요구될 수 있다. 그러한 배향의 결정은, 예컨대, 자이로스코프 또는 다른 측정 디바이스를 사용하여, 모바일 폰(1550)에 의해 이루어질 수 있다. 배향이 하나 이상의 기준들을 만족시키는 측정된 배향 또는 다른 표시자(예컨대, 플래그)는 모바일 폰(1550)으로부터 컴퓨터(1510)로 제공될 수 있다.
B. 콘텐츠를 공유하기 위한 방법
도 16은 본 개시내용의 실시예들에 따른, 제1 디바이스와 제2 모바일 디바이스 사이에서 통신하기 위한 방법(1600)을 예시하는 흐름도이다. 2개의 디바이스들은 동일한 사용자에 의해 또는 상이한 사용자들에 의해 소유될 수 있다. 방법(1600)은 제1 디바이스, 예컨대, 도 15의 컴퓨터(1510)에 의해 수행될 수 있다. 제2 모바일 디바이스는 모바일 폰(예컨대, 모바일 폰(1550)) 또는 다른 모바일 디바이스, 예컨대, 시계와 같은 웨어러블 디바이스일 수 있다.
블록(1610)에서, 제1 디바이스는 제2 모바일 디바이스로부터 메시지를 수신한다. 메시지는 제2 모바일 디바이스를 인증하는 데 사용될 수 있는 인증 태그를 포함할 수 있다. 이러한 방식으로, 공유 세션은 미지의 사람의 디바이스에 대해 발생하지 않을 것이다.
메시지는 제2 모바일 디바이스로부터 방송되는, 예컨대, 주기적으로 방송되는 광고 신호일 수 있다. 다른 예로서, 메시지는 제1 디바이스에 의해 전송된 메시지에 대한 응답일 수 있다. 응답 메시지로서, 제2 모바일 디바이스는 추가 정보, 예컨대, 레인징 동작을 수행하기 위한 레인징 설정들을 포함할 수 있다.
블록 1620에서, 제2 모바일 디바이스는 인증 태그를 사용하여 인증된다. 본 명세서에 설명된 바와 같이, 인증은 다양한 방식들로 수행될 수 있다. 예를 들어, 인증은 연락처 데이터베이스에 액세스하여 인증 태그가 연락처에 대응하는지 확인하거나 또는 디지털 서명, 해시, 또는 다른 암호화 값을 검증함으로써 수행될 수 있다. 인증을 수행하기 위해, 일부 실시예들은 제1 디바이스의 메모리에, 제2 모바일 디바이스와 연관된 식별자를 저장할 수 있고, 제2 모바일 디바이스를 인증하기 위해 인증 태그를 저장된 식별자와 비교할 수 있다.
다른 실시예들에서, 메시지는 페이로드 및 디지털 서명을 포함하며, 페이로드는 인증 태그를 포함하고 디지털 서명은 페이로드의 적어도 일부분으로부터 생성된다. 제1 디바이스의 메모리는 제2 모바일 디바이스에 대응하는 암호화 키와 연관된 식별자(예컨대, 제2 모바일 디바이스의 인증 태그)를 저장할 수 있다. 인증 프로세스는 인증 태그가 저장된 식별자와 매칭되는 연락처를 찾기 위해 인증 태그를 사용하여 메모리에 액세스할 수 있어서, 대응하는 암호화 키가 획득될 수 있다. 디지털 서명은 암호화 키를 사용하여, 예컨대, 디지털 서명을 복호화하고 디지털 서명을 생성하는 데 사용된 페이로드의 일부분과 비교함으로써 검증될 수 있다. 본 명세서에 설명된 다른 검증 기술들이 또한 사용될 수 있다.
블록(1630)에서, 제2 모바일 디바이스를 인증하는 것에 응답하여, 제1 디바이스는 제2 모바일 디바이스와 레인징 동작을 수행하여 거리 정보를 결정한다. 거리 정보는 본 명세서에 설명된 바와 같이 다양한 유형들의 것일 수 있다. 예를 들어, 거리 정보는 시간들, 반경방향 거리, 각도 거리, 상대 위치 등을 포함할 수 있다. 인증 및 레인징은 본 명세서에 설명된 바와 같이 상이한 무선 프로토콜들을 사용하여 수행될 수 있다. 예를 들어, 블록(1610)에서 수신된 메시지는 블루투스 또는 Wi-Fi를 사용하여 수신될 수 있고, 레인징 동작은 UWB를 사용하여 수행될 수 있다.
일부 구현예들에서, 레인징 동작은 제2 모바일 디바이스와 제1 디바이스 사이에서 송신되는 하나 이상의 메시지들의 신호 강도(예컨대, RSSI)를 측정할 수 있다. 일 구현예에서, 레인징 동작은 제2 모바일 디바이스와 제1 디바이스 사이에서 송신되는 하나 이상의 메시지들의 비행시간을 측정할 수 있다.
블록(1640)에서, 거리 정보에 기초하여 제1 디바이스의 화면 상에 시각적 표시자가 디스플레이된다. 예를 들어, 시각적 표시자는 거리 정보에 기초하여 화면 상의 특정 위치에서 디스플레이될 수 있다. 예를 들어, 거리 정보는 제1 디바이스에 대한 제2 모바일 디바이스의 방향을 결정하는 데 사용될 수 있고, 화면 상의 시각적 표시자의 위치는 방향에 기초하여 선택될 수 있다. 다른 예로서, 시각적 표시자는 거리 정보가 하나 이상의 기준들을 만족시킬 때 디스플레이될 수 있다. 일부 구현예들에서, 거리 정보는 임계치와 비교되는 거리 값(예컨대, 길이 및/또는 각도)을 특정한다. 거리 값이 임계치보다 작은 경우, 시각적 표시자가 디스플레이될 수 있다.
시각적 표시자는 제2 모바일 디바이스로부터의 콘텐츠가 이용가능함을 나타낼 수 있다. 예를 들어, 시각적 표시자는 제1 디바이스 상에 저장 또는 디스플레이하기 위해 제2 모바일 디바이스로부터 콘텐츠가 획득될 수 있음을 전달할 수 있다. 시각적 표시자 자체는, 예컨대, 이미지를 도시함으로써 제2 모바일 디바이스로부터의 콘텐츠가 제1 디바이스의 화면 상에 디스플레이가능함을 나타낼 수 있다.
블록(1650)에서, 시각적 표시자의 선택이 수신된다. 선택은 다양한 방식들로 이루어질 수 있으며, 예컨대, 음성 커맨드에 의해, 터치 스크린 상의 시각적 표시자를 선택함으로써, 포인팅 디바이스를 사용하여 시각적 표시자를 선택하는 것 등에 의해 이루어질 수 있다. 일부 구현예들에서, 커서 또는 다른 포인팅 요소가 시각적 표시자로 자동으로 전환될 수 있으므로 사용자는 단지 버튼을 누르기만 하면 된다.
블록(1660)에서, 시각적 표시자의 선택에 응답하여, 콘텐츠는 제2 모바일 디바이스로부터 수신된다. 수신은 다양한 방식들로 구현될 수 있어서, 예컨대, 콘텐츠가 제1 디바이스 상에 저장되거나 콘텐츠가 제1 디바이스의 화면 상에 디스플레이된다. 콘텐츠의 수신은 다른 콘텐츠가 검색되게 할 수 있는데, 예컨대, 콘텐츠는 예컨대, 인터넷 상에서 다른 콘텐츠에 대한 URL이다.
IX. 예시적인 아키텍처
도 5, 도 8, 도 12, 및 도 13에 설명된 바와 같이, 컴퓨팅 디바이스는 근접도를 결정하고(예컨대, 비행시간(TOF) 또는 신호 강도를 사용하는 레인징 회로부) 그러한 근접도 정보를 사용하는 다양한 컴포넌트들을 가질 수 있다. 다양한 애플리케이션이 다양한 방식들로 근접도 정보를 사용할 수 있다. 이제, 본 명세서에 제공된 다양한 방법들, 디바이스들, 및 시스템들 중 임의의 것으로 구현될 수 있는 예시적인 아키텍처가 설명된다.
도 17은 본 개시내용의 실시예들에 따른, 레인징 정보를 사용하기 위한 예시적인 아키텍처(1700)를 도시한다. 예시적인 아키텍처(1700)는, 본 명세서에 설명된 바와 같이, 제2 디바이스와 레인징을 수행하는 제1 디바이스에서 구현될 수 있다. 이 레인징은 다수의 클라이언트 애플리케이션들, 예컨대, 통신 애플리케이션(1770), 공유 모듈(1730), 또는 상호작용 모듈(1740)의 요청에 의하여 수행될 수 있으며, 이는 아래에서 더 상세히 설명된다.
레인징 회로부(1705)는 본 명세서에 설명된 바와 같은 레인징 동작들을 수행할 수 있으며, 예컨대, TOF 측정들을 수행할 수 있다. 레인징 회로부(1705)는 레인징 정보를 레인징 정보를 분석할 수 있는 근접도 모듈(1720)에 제공할 수 있다. 예들로서, 레인징 정보는 송신 시간 및 수신 시간, 거리들, 및 신호들의 세기를 포함할 수 있다. 레인징 회로부(1705)는, 예컨대, 도달 각도, (예컨대, 고정된 오프셋이 있는 경우) 범위 바이어스로 인한 안테나 위상 효과들을 보정하거나 자체 보정을 수행함으로써 레인징 정보에 대해 일부 조정들을 수행할 수 있지만, 근접도 모듈(1720)은 더 복잡한 분석을 제공할 수 있다.
근접도 모듈(1720)은 레인징을 수행하기 위한 상이한 모드들 또는 설정들을 조정하라는 커맨드들을 레인징 회로부(1705)에 제공할 수 있다. 예를 들어, 근접도 모듈(1720)은 더 많은 측정들을 요청할 수 있거나, 더 정확한 측정들을 얻기 위해 모드/설정을 변경하거나, 또는 측정들을 획득하는 데 사용되는 전력을 잠재적으로 감소시키도록 요청할 수 있다. 모드의 예는 1 대 1 레인징, 1 대 다 레인징, 또는 다 대 다 레인징이 사용되는지 여부이다. 다른 모드들은 포인트 대 공유 모드, 통지 모드, 또는 수신자 제안 모드를 포함할 수 있다. 따라서, 측정들의 해상도는 예컨대, 대략적인 측정으로부터 미세한 측정까지, 레인징 회로부(1705)에 대해 설정될 수 있다. 그러한 해상도는, 2개의 디바이스들 사이에서 레인징 동작의 일부로서 교환되는 메시지들의 다양한 수의 왕복을 초래할 수 있다.
근접도 모듈(1720)에 의해 수행되는 분석의 예는, 예컨대, 레인징 회로부(1705) 상의 측정 노이즈를 감소시키기 위해 추가의 필터링을 포함한다. 그러한 설정은 애플리케이션이 높은 정확도를 필요로 할 때 사용될 수 있다. 레인징 정보를 가능한 한 빨리 필요로 할 때는 최소량의 분석이 수행될 수 있다.
일부 실시예들에서, 근접도 모듈(1720)은 가속도계, 자이로스코프, 및 자력계와 같은 센서들을 포함할 수 있는 초기 모션 유닛(IMU)(1710)으로부터의 측정들을 사용할 수 있다. 근접도 모듈(1720)은 거리 값들(예컨대, 반경방향 또는 각도 거리)을 결정 또는 업데이트할 수 있다. 근접도 모듈(1720)에 의해 수행되는 프로세싱은 어느 클라이언트 애플리케이션(들)이 레인징 정보를 요청하는 지에 의존할 수 있다.
근접도 모듈(1720)은 거리 정보를 통신 애플리케이션(1770)(예컨대, 이메일 또는 텍스트 메시지들), 공유 모듈(1730), 또는 상호작용 모듈(1740)과 같은 클라이언트 애플리케이션들에 제공할 수 있다. 거리 정보는 그러한 클라이언트 애플리케이션들에 직접 또는 다른 소프트웨어 모듈들을 통해 제공될 수 있다. 예를 들어, 거리 정보는 통신 애플리케이션(1770)에 직접 또는 공유 모듈(1730)을 통해 제공될 수 있다. 통신 애플리케이션(1770)은 통신 애플리케이션(1211) 또는 통신 애플리케이션(1311)에 대응할 수 있다. 공유 모듈(1730)은 도 6 내지 도 8에 설명된 기술들을 구현하는데 사용될 수 있다. 일부 실시예들에서, 상호작용 모듈(1740)은 다 대 다 레인징 모드에서 획득된 레인징 정보를 사용할 수 있다. 예를 들어, 이웃하는 모바일 디바이스들 상의 증강 현실 애플리케이션들이 동시에 사용될 때 상호작용 모듈(1740)이 사용될 수 있다.
BT/Wi-Fi 회로부(1760)는 (예컨대, 본 명세서에 설명된 바와 같은) 인증뿐만 아니라, 예컨대, RSSI를 사용하여 근접도 측정들에 사용될 수 있다. 기계 학습 모델(1750)은 제안들, 예컨대, 도 12 및 도 13에 설명된 바와 같은 제안된 수신자들을 제공할 수 있다. 기계 학습 모델(1750)은, 예컨대, 통신 애플리케이션(1770)에서, 예시적인 아키텍처(1700) 내의 다양한 위치들에서 구현될 수 있다.
근접도 프레임워크(1732) 및 근접도 프레임워크(1742)는 각자의 모듈들 내에 존재할 수 있고, 근접도 모듈(1720)과 통신하기 위해 사용될 수 있다. 이러한 전제는, 예컨대, 각자의 모듈들에 의해 필요할 수 있는 바와 같이, 추가의 프로세싱을 수행할 수 있다. 예를 들어, 근접도 프레임워크(1732)는 본 명세서에 설명되는 바와 같이 거리 정보에 기초하여 이웃하는 모바일 디바이스들에 대한 점수들을 결정할 수 있다. 또한, 근접도 프레임워크(1732)는 도 13의 RSSI 분류기(1355)에 대해 설명된 바와 같이 BT RSSI에 대한 분류를 수행할 수 있다. 근접도 프레임워크들은 레인징 정보를 사용하는 임의의 다른 수의 클라이언트 애플리케이션들에서 구현될 수 있다.
공유 모듈(1730)은 BT Wi-Fi 회로(1716)로부터 획득된 어드레스(예컨대, 미디어 액세스 제어(MAC) 어드레스)를 사용할 수 있고, 그것을 레인징 회로부(1705)로부터 획득된 어드레스와 상관시킬 수 있다. 이어서, 이러한 상관된 데이터 번들은 다른 데이터(예컨대, 연락처 정보 및 이력 데이터)와 조합될 수 있고, 기계 학습 모델(1750) 또는 통신 애플리케이션(1770), 또는 다른 모듈들에 제공될 수 있다. 수신자들이 제안되는 일부 실시예들에서, 트리거 커맨드는 통신 애플리케이션(1770)으로부터 공유 모듈(1730)로 그리고 이어서 다른 컴포넌트들로 제공되어 새로운 통신에 대한 수신자들을 제안하기 위한 동작을 수행할 수 있다.
X. 예시적인 디바이스
도 18은 예시적인 전자 디바이스(1800)의 블록 다이어그램이다. 디바이스(1800)는 대체적으로 컴퓨터 판독가능 매체(1802), 프로세싱 시스템(1804), 입/출력(I/O) 서브시스템(1806), 무선 회로부(1808), 및 스피커(1812)와 마이크로폰(1814)을 포함하는 오디오 회로부(1810)를 포함한다. 이 컴포넌트들은 하나 이상의 통신 버스들 또는 신호 라인들(1803)에 의해 결합될 수 있다. 디바이스(1800)는, 핸드헬드 컴퓨터, 태블릿 컴퓨터, 모바일 폰, 랩톱 컴퓨터, 태블릿 디바이스, 미디어 플레이어, 개인 휴대 정보 단말기(PDA), 키 포브(key fob), 차량 열쇠, 액세스 카드, 다기능 디바이스, 모바일 폰, 휴대용 게이밍 디바이스, 헤드셋 등을, 이 항목들 중 2개 이상의 항목들의 조합을 포함하여, 포함하는 임의의 휴대용 전자 디바이스일 수 있다.
도 18에 도시된 아키텍처는 디바이스(1800)에 대한 아키텍처의 일례일 뿐이고, 디바이스(1800)는 도시된 것보다 더 많은 또는 더 적은 컴포넌트들을 가질 수 있거나, 또는 컴포넌트들의 상이한 구성을 가질 수 있다는 것이 명백할 것이다. 도 18에 도시된 다양한 컴포넌트들은 하나 이상의 신호 프로세싱 및/또는 주문형 집적 회로(application specific integrated circuit)들을 포함하는, 하드웨어, 소프트웨어, 또는 하드웨어와 소프트웨어 양자 모두의 조합으로 구현될 수 있다.
무선 회로부(1808)는 정보를 무선 링크 또는 네트워크를 통해 안테나 시스템, RF 송수신기, 하나 이상의 증폭기들, 튜너, 하나 이상의 발진기들, 디지털 신호 프로세서, CODEC 칩셋, 메모리 등과 같은 하나 이상의 다른 디바이스들의 종래의 회로부로 전송 및 수신하는 데 사용된다. 무선 회로부(1808)는, 예컨대, 본 명세서에 설명된 것과 같은 다양한 프로토콜들을 사용할 수 있다. 다양한 실시예들에서, 무선 회로부(1808)는, TDMA(time division multiple access), CDMA(code division multiple access), GSM(global system for mobile communications), EDGE(Enhanced Data GSM Environment), W-CDMA(wideband code division multiple access), LTE(Long Term Evolution), LTE-Advanced, WiFi(예컨대, IEEE 802.11a, IEEE 802.11b, IEEE 802.11g 및/또는 IEEE 802.11n), 블루투스, Wi-MAX, VoIP(voice over Internet Protocol), NFC(near field communication) 프로토콜, 이메일, 인스턴트 메시징, 및/또는 SMS(short message service)용 프로토콜, 또는 본 문헌의 출원일 현재 아직 개발되지 않은 통신 프로토콜들을 포함하는 임의의 다른 적합한 통신 프로토콜을 포함하는 하나 이상의 통신 프로토콜들을 사용하여 다른 디바이스들과 통신들을 설정하고 유지할 수 있다.
무선 회로부(1808)는 주변기기 인터페이스(1816)를 통해 프로세싱 시스템(1804)에 결합된다. 주변기기 인터페이스(1816)는 주변기기들과 프로세싱 시스템(1804) 사이의 통신을 설정하고 유지하기 위한 종래의 컴포넌트들을 포함할 수 있다. (예컨대, 스피치 인식 또는 음성 커맨드 애플리케이션들에서) 무선 회로부(1808)에 의해 수신된 음성 및 데이터 정보는 주변기기 인터페이스(1816)를 통해 하나 이상의 프로세서들(1818)로 전송된다. 하나 이상의 프로세서들(1818)은 매체(1802) 상에 저장된 하나 이상의 애플리케이션 프로그램들(1834)에 대한 다양한 데이터 포맷들을 프로세싱하도록 구성가능하다.
주변기기 인터페이스(1816)는 디바이스(1800)의 입력 및 출력 주변기기들을 하나 이상의 프로세서들(1818) 및 컴퓨터 판독가능 매체(1802)에 결합한다. 하나 이상의 프로세서들(1818)은 컨트롤러(1820)를 통해 컴퓨터 판독가능 매체(1802)와 통신한다. 컴퓨터 판독가능 매체(1802)는 하나 이상의 프로세서들(1818)에 의한 사용을 위해 코드 및/또는 데이터를 저장할 수 있는 임의의 디바이스 또는 매체일 수 있다. 컴퓨터 판독가능 매체(1802)는 캐시, 메인 메모리 및 2차 메모리를 포함하는 메모리 계층을 포함할 수 있다. 메모리 계층은 RAM(예컨대, SRAM, DRAM, DDRAM), ROM, FLASH, 자기 및/또는 광학 저장 디바이스들, 예컨대, 디스크 드라이브들, 자기 테이프, CD(compact disk)들 및 DVD(digital video disc)들의 임의의 조합을 이용하여 구현될 수 있다. 일부 실시예들에서, 주변기기 인터페이스(1816), 하나 이상의 프로세서들(1818) 및 컨트롤러(1820)는 프로세싱 시스템(1804)과 같은 단일 칩 상에서 구현될 수 있다. 일부 다른 실시예들에서, 이들은 별개의 칩들 상에서 구현될 수 있다.
프로세서(들)(1818)는 수학 연산들, 논리 연산들, 데이터 조작 동작들, 데이터 전송 동작들, 사용자 입력의 수신을 제어하는 것, 사용자들에게 정보의 출력을 제어하는 것 등과 같은 하나 이상의 프로세싱 기능들을 수행하는 하드웨어 및/또는 소프트웨어 요소들을 포함할 수 있다. 프로세서(들)(1818)는 하나 이상의 하드웨어 프로세서들, 마이크로프로세서들, 마이크로컨트롤러들, 필드 프로그램가능 게이트 어레이들(FPGA), 주문형 집적 회로들(ASIC) 등으로서 구현될 수 있다.
디바이스(1800)는 또한 다양한 하드웨어 컴포넌트들에 전력공급하기 위한 전력 시스템(1842)을 포함한다. 전력 시스템(1842)은 전력 관리 시스템, 하나 이상의 전원들(예컨대, 배터리, 교류 전류(AC)), 재충전 시스템, 전력 고장 검출 회로, 전력 변환기 또는 인버터, 전력 상태 표시자(예컨대, 발광 다이오드(LED)) 및 모바일 디바이스들 내에서의 전력의 생성, 관리 및 분산과 전형적으로 연관된 임의의 다른 컴포넌트들을 포함할 수 있다.
일부 실시예들에서, 디바이스(1800)는 카메라(1844)를 포함한다. 일부 실시예들에서, 디바이스(1800)는 센서들(1846)을 포함한다. 센서들은 가속도계들, 나침반, 자이로미터, 압력 센서들, 오디오 센서들, 광 센서들, 기압계들 등을 포함할 수 있다. 센서들(1846)은 위치의 청각 또는 광 시그니처들과 같은 위치 양태들을 감지하기 위해 사용될 수 있다.
일부 실시예들에서, 디바이스(1800)는 때때로 GPS 유닛(1848)이라고 지칭되는 GPS 수신기를 포함할 수 있다. 모바일 디바이스는 GPS와 같은 인공위성 내비게이션 시스템을 사용하여 위치 정보, 타이밍 정보, 고도, 또는 다른 내비게이션 정보를 획득할 수 있다. 동작 동안, GPS 유닛은 지구 궤도를 선회하는 GPS 인공위성들로부터 신호들을 수신할 수 있다. GPS 유닛은 신호들을 분석하여 주행 시간 및 거리 추정을 행한다. GPS 유닛은 모바일 디바이스의 현재 위치(현재 지점)를 결정할 수 있다. 이러한 추정들에 기초하여, 모바일 디바이스는 위치 픽스(fix), 고도, 및/또는 현재 속력을 결정할 수 있다. 위치 픽스는 위도 및 경도 정보와 같은 지리적 좌표들일 수 있다.
하나 이상의 프로세서들(1818)은 디바이스(1800)를 위한 다양한 기능들을 수행하기 위해 매체(1802)에 저장된 다양한 소프트웨어 컴포넌트들을 실행한다. 일부 실시예들에서, 소프트웨어 컴포넌트들은 운영 체제(1822), 통신 모듈(1824)(또는 명령어들의 세트), 위치 모듈(1826)(또는 명령어들의 세트), 본 명세서에 설명된 레인징 동작의 일부로서 사용되는 레인징 모듈(1828), 및 다른 애플리케이션 프로그램들(1834)(또는 명령어들의 세트)을 포함한다.
운영 체제(1822)는 iOS, 맥 OS(Mac OS), 다윈(Darwin), RTXC, 리눅스(LINUX), 유닉스(UNIX), OS X, 윈도우즈(WINDOWS), 또는 임베디드 운영 체제, 예컨대, VxWorks를 포함하는 임의의 적합한 운영 체제일 수 있다. 운영 체제는 다양한 절차들, 명령어들의 세트들, 일반적인 시스템 태스크들(예컨대, 메모리 관리, 저장 디바이스 제어, 전력 관리 등)을 제어 및 관리하기 위한 소프트웨어 컴포넌트들 및/또는 드라이버들을 포함할 수 있고, 다양한 하드웨어 및 소프트웨어 컴포넌트들 간의 통신을 용이하게 한다.
통신 모듈(1824)은 하나 이상의 외부 포트들(1836)을 통해 또는 무선 회로부(1808)를 통해 다른 디바이스들과의 통신을 용이하게 하고, 무선 회로부(1808) 및/또는 외부 포트(1836)로부터 수신되는 데이터를 처리하기 위한 다양한 소프트웨어 컴포넌트들을 포함한다. 외부 포트(1836)(예컨대, USB, 파이어와이어(FireWire), 라이트닝 커넥터(Lightning connector), 60-핀 커넥터 등)는 다른 디바이스들에 직접적으로 또는 네트워크(예컨대, 인터넷, 무선 LAN 등)를 통해 간접적으로 결합하도록 구성된다.
위치/모션 모듈(1826)은 디바이스(1300)의 현재 위치(예컨대, 좌표들 또는 다른 지리적 위치 식별자들) 및 모션을 결정하는 데 도움을 줄 수 있다. 최신의 위치확인 시스템들은 위성 기반 위치확인 시스템들, 예컨대, GPS(Global Positioning System), "셀 ID들"에 기초한 셀룰러 네트워크 위치확인, 및 Wi-Fi 네트워크들에 기초한 Wi-Fi 위치확인 기법을 포함한다. GPS는 또한 실내 또는 "도시 협곡(urban canyon)들"에서는 보이지 않을 수 있는(또는 약한 신호들을 가질 수 있는) 위치 추정치를 결정하기 위해 다수의 위성들의 가시성에 의존한다. 일부 실시예들에서, 위치/모션 모듈(1826)은 GPS 유닛(1848)으로부터 데이터를 수신하고 신호들을 분석하여 모바일 디바이스의 현재 위치를 결정한다. 일부 실시예들에서, 위치/모션 모듈(1826)은 Wi-Fi 또는 셀룰러 위치 기술을 이용하여 현재 위치를 결정할 수 있다. 예를 들어, 모바일 디바이스의 위치는 이들의 위치 또한 알고 있는 인근의 셀 사이트들 및/또는 Wi-Fi 액세스 포인트들의 지식을 사용하여 추정될 수 있다. Wi-Fi 또는 셀룰러 송신기를 식별하는 정보는 무선 회로부(1808)에서 수신되고 위치/모션 모듈(1826)로 전달된다. 일부 실시예들에서, 위치 모듈은 하나 이상의 송신기 ID들을 수신한다. 일부 실시예들에서, 송신기 ID들의 시퀀스는, 송신기 ID들을 대응하는 송신기들의 위치 좌표들과 맵핑 또는 상관시키고 대응하는 송신기들의 위치 좌표들에 기초하여 디바이스(1800)에 대한 추정된 위치 좌표들을 컴퓨팅하는 참조 데이터베이스(예컨대, 셀 ID 데이터베이스, Wi-Fi 참조 데이터베이스)와 비교될 수 있다. 이용되는 특정 위치 기술에 관계없이, 위치/모션 모듈(1826)은 위치 픽스가 도출될 수 있는 정보를 수신하고, 그 정보를 해석하고, 지리적 좌표들, 위도/경도, 또는 다른 위치 픽스 데이터와 같은 위치 정보를 반환한다.
레인징 모듈(1828)은, 예컨대, 무선 회로부(1808)에 접속된, 안테나로/안테나로부터 레인징 메시지들을 전송/수신할 수 있다. 메시지들은 다양한 목적들을 위해, 예컨대, 디바이스의 전송 안테나를 식별하고, 메시지들의 타임스탬프들을 결정하고, 다른 디바이스로부터의 모바일 디바이스(1800)의 거리를 결정하는 데 사용될 수 있다. 레인징 모듈(1828)은 디바이스의 다양한 프로세서들, 예컨대, 올웨이즈-온 프로세서(AOP), UWB 칩, 및/또는 애플리케이션 프로세서 상에 존재할 수 있다. 예를 들어, 레인징 모듈(1828)의 부분들은 AOP 상의 거리를 결정할 수 있고, 레인징 모듈의 다른 부분은 공유 모듈과 상호작용하여, 예컨대, 사용자가 다른 디바이스를 선택하여 데이터 항목을 공유하기 위해 화면 상의 다른 디바이스의 위치를 디스플레이할 수 있다. 레인징 모듈(1828)은 또한 다른 모바일 디바이스로부터의 거리에 기초하여 경보를 제공할 수 있는 리마인더 모듈과 상호작용할 수 있다.
디바이스(1800) 상의 하나 이상의 애플리케이션들(1834)은 브라우저, 주소록, 연락처 목록, 이메일, 인스턴트 메시징, 소셜 네트워킹,워드 프로세싱, 키보드 에뮬레이션, 위젯들, JAVA 기반 애플리케이션들, 암호화, 디지털 저작권 관리, 음성 인식, 음성 복제, 음악 플레이어(MP3 또는 AAC 파일들과 같은 하나 이상의 파일들에 저장된 녹음된 음악을 재생함) 등을 제한 없이 포함하는, 디바이스(1800) 상에 설치된 임의의 애플리케이션들을 포함할 수 있다.
그래픽 모듈, 시간 모듈 등과 같은 다른 모듈들 또는 명령어들의 세트들(도시되지 않음)이 존재할 수 있다. 예를 들어, 그래픽 모듈은 그래픽 객체들(텍스트, 웹 페이지들, 아이콘들, 디지털 이미지들, 애니메이션들 등을 제한 없이 포함함)을 디스플레이 표면 상에 렌더링, 애니메이팅 및 디스플레이하기 위한 다양한 종래의 소프트웨어 컴포넌트들을 포함할 수 있다. 다른 예에서, 타이머 모듈은 소프트웨어 타이머일 수 있다. 타이머 모듈은 또한 하드웨어로 구현될 수 있다. 시간 모듈은 임의의 수의 이벤트들에 대한 다양한 타이머들을 유지할 수 있다.
I/O 서브시스템(1806)은 터치 감응형 디스플레이일 수 있는 디스플레이 시스템(도시되지 않음)에 결합될 수 있다. 디스플레이는 GUI에서 사용자에게 시각적 출력을 디스플레이한다. 시각적 출력은 텍스트, 그래픽, 비디오, 및 이들의 임의의 조합을 포함할 수 있다. 시각적 출력 중 일부 또는 전부는 사용자 인터페이스 객체들에 대응할 수 있다. 디스플레이는 LED(발광 다이오드), LCD(액정 디스플레이) 기술, 또는 LPD(발광 폴리머 디스플레이) 기술을 이용할 수 있지만, 다른 실시예들에서는 다른 디스플레이 기술들이 이용될 수 있다.
일부 실시예들에서, I/O 서브시스템(1806)은 키보드, 마우스, 및/또는 트랙패드와 같은 사용자 입력 디바이스들 및 디스플레이를 포함할 수 있다. 일부 실시예들에서, I/O 서브시스템(1806)은 터치 감응형 디스플레이를 포함할 수 있다. 터치 감응형 디스플레이는 또한 햅틱 및/또는 촉각적 접촉에 적어도 부분적으로 기초하여 사용자로부터의 입력을 수용할 수 있다. 일부 실시예들에서, 터치 감응형 디스플레이는 사용자 입력을 수용하는 터치 감응형 표면을 형성한다. 터치 감응형 디스플레이/표면은 (컴퓨터 판독가능 매체(1802) 내의 임의의 연관된 모듈들 및/또는 명령어들의 세트들과 함께) 터치 감응형 디스플레이 상의 접촉(및 접촉의 임의의 이동 또는 해제)을 검출하고, 검출된 접촉을, 접촉이 발생할 때 터치 스크린 상에 디스플레이되는 하나 이상의 소프트 키들과 같은 사용자 인터페이스 객체들과의 상호작용으로 변환한다. 일부 실시예들에서, 터치 감응형 디스플레이와 사용자 사이의 접촉 지점은 사용자의 하나 이상의 손가락들에 대응한다. 사용자는 스타일러스, 펜, 손가락 등과 같은 임의의 적합한 객체 또는 부속물을 사용하여 터치 감응형 디스플레이와 접촉할 수 있다. 터치 감응형 디스플레이 표면은 용량성, 저항성, 적외선, 및 표면 탄성파 기술들뿐만 아니라, 다른 근접도 센서 어레이들 또는 터치 감응형 디스플레이와의 하나 이상의 접촉 지점들을 결정하기 위한 다른 요소들을 포함하는, 임의의 적합한 터치 감응 기술들을 이용하여 접촉 및 그의 임의의 이동 또는 해제를 검출할 수 있다.
또한, I/O 서브시스템(1806)은 전력 제어, 스피커 볼륨 제어, 신호음 음량, 키보드 입력, 스크롤링, 홀드, 메뉴, 화면 잠금, 통신들의 클리어링 및 종료 등과 같은 다양한 기능들을 제어 또는 수행하기 위해, 푸시버튼들, 키들, 스위치들, 로커 버튼들, 다이얼들, 슬라이더 스위치들, 스틱들, LED들 등과 같은 하나 이상의 다른 물리적 제어 디바이스들(도시되지 않음)에 결합될 수 있다. 일부 실시예들에서, 터치 스크린 이외에, 디바이스(1800)는 특정 기능들을 활성화 또는 비활성화하기 위한 터치패드(도시되지 않음)를 포함할 수 있다. 일부 실시예들에서, 터치패드는, 터치 스크린과는 달리, 시각적 출력을 디스플레이하지 않는 디바이스의 터치 감응형 영역이다. 터치패드는 터치 감응형 디스플레이와는 별개인 터치 감응형 표면 또는 터치 감응형 디스플레이에 의해 형성되는 터치 감응형 표면의 연장부일 수 있다.
일부 실시예들에서, 본 명세서에 설명된 동작들의 일부 또는 전부는 사용자의 디바이스 상에서 실행되는 애플리케이션을 사용하여 수행될 수 있다. 회로들, 로직 모듈들, 프로세서들, 및/또는 다른 컴포넌트들은 본 명세서에 설명된 다양한 동작들을 수행하도록 구성될 수 있다. 당업자는, 구현예에 의존하여, 그러한 구성이 특정한 컴포넌트들의 설계, 설정, 상호접속, 및/또는 프로그래밍을 통해 달성될 수 있고, 다시 구현예에 의존하여, 구성된 컴포넌트가 상이한 동작을 위해 재구성가능할 수 있거나 또는 재구성가능하지 않을 수 있다는 것을 이해할 것이다. 예를 들어, 프로그래밍가능 프로세서는 적합한 실행가능 코드를 제공함으로써 구성될 수 있고; 전용 로직 회로는 로직 게이트들 및 다른 회로 요소들을 적절히 접속시킴으로써 구성될 수 있는 등이다.
본 출원에 설명된 소프트웨어 컴포넌트들 또는 기능들 중 임의의 것은, 예를 들어, 종래의 또는 객체-지향형 기법들을 사용하여, 예를 들어, 자바, C, C++, C#, 오브젝티브-C, 스위프트(Swift), 또는 스크립팅 언어(scripting language), 이를테면 펄(Perl) 또는 파이썬(Python)과 같은 임의의 적합한 컴퓨터 언어를 사용하여 프로세서에 의해 실행될 소프트웨어 코드로서 구현될 수 있다. 소프트웨어 코드는 저장 및/또는 송신을 위한 컴퓨터 판독가능 매체 상의 일련의 명령어들 또는 커맨드들로서 저장될 수 있다. 적합한 비일시적 컴퓨터 판독가능 매체는 RAM(random access memory), ROM(read only memory), 하드 드라이브 또는 플로피 디스크와 같은 자기 매체, 또는 CD(compact disk) 또는 DVD(digital versatile disk)와 같은 광학 매체, 플래시 메모리 등을 포함할 수 있다. 컴퓨터 판독가능 매체는 그러한 저장 또는 송신 디바이스들의 임의의 조합일 수 있다.
본 개시내용의 다양한 특징들을 통합한 컴퓨터 프로그램들이 다양한 컴퓨터 판독가능 저장 매체 상에 인코딩될 수 있으며; 적합한 매체는 자기 디스크 또는 테이프, CD(compact disk) 또는 DVD(digital versatile disk)와 같은 광 저장 매체, 플래시 메모리 등을 포함한다. 프로그램 코드로 인코딩된 컴퓨터 판독가능 저장 매체들은 호환가능한 디바이스와 패키징되거나 또는 다른 디바이스들과는 별개로 제공될 수 있다. 부가적으로, 프로그램 코드는 인터넷을 포함하는 다양한 프로토콜들을 따르는 무선 네트워크들, 및/또는 유선 광 네트워크들을 통해 인코딩 및 송신되며, 그에 의해, 예컨대, 인터넷 다운로드를 통한 배포를 허용할 수 있다. 임의의 그러한 컴퓨터 판독가능 매체는 단일 컴퓨터 제품(예컨대, 솔리드 스테이트 드라이브, 하드 드라이브, CD, 또는 전체 컴퓨터 시스템) 상에 또는 그 내부에 상주할 수 있고, 시스템 또는 네트워크 내의 상이한 컴퓨터 제품들 상에 또는 그 내에 존재할 수 있다. 컴퓨터 시스템은 모니터, 프린터, 또는 본 명세서에 언급된 결과들 중 임의의 것을 사용자에게 제공하기 위한 다른 적합한 디스플레이를 포함할 수 있다.
전술된 바와 같이, 본 기술의 일 양태는, 인증 태그 및 태그가 도출되는 데이터를 포함하는 데이터의 수집, 공유, 및 사용이다. 본 개시내용은, 일부 경우들에 있어서, 이러한 수집된 데이터가 특정 개인을 고유하게 식별하거나 또는 그와 연락하거나 그의 위치를 확인하는 데 이용될 수 있는 개인 정보 데이터를 포함할 수 있음을 고려한다. 그러한 개인 정보 데이터는 인구통계 데이터, 위치-기반 데이터, 전화 번호들, 이메일 주소들, 트위터 ID들, 집 주소들, 사용자의 건강 또는 피트니스 레벨에 관한 데이터 또는 기록들(예컨대, 바이탈 사인(vital sign) 측정들, 약물 정보, 운동 정보), 생년월일, 또는 임의의 다른 식별 또는 개인 정보를 포함할 수 있다.
본 개시내용은 본 기술에서의 그러한 개인 정보 데이터의 사용이 사용자들에게 이득을 주기 위해 사용될 수 있음을 인식한다. 예를 들어, 개인 정보 데이터는 다른 디바이스를 인증하는 데 사용될 수 있고, 그 역도 성립하여 레인징 동작들이 수행될 수 있는 디바이스들을 제어할 수 있다. 게다가, 사용자에게 이득을 주는 개인 정보 데이터에 대한 다른 이용들이 또한 본 개시내용에 의해 고려된다. 예를 들어, 건강 및 피트니스 데이터는 사용자의 일반적인 웰니스(wellness)에 대한 식견들을 제공하는 데 공유될 수 있거나, 또는 웰니스 목표들을 추구하는 기술을 이용하는 개인들에게 긍정적인 피드백으로서 사용될 수 있다.
본 개시내용은 그러한 개인 정보 데이터의 수집, 분석, 공개, 전송, 저장, 또는 다른 이용을 담당하는 엔티티들이 잘 설정된 프라이버시 정책들 및/또는 프라이버시 관례들을 준수할 것이라는 것을 고려한다. 특히, 그러한 엔티티들은, 대체로 개인 정보 데이터를 사적이고 안전하게 유지시키기 위한 산업적 또는 행정적 요건들을 충족시키거나 넘어서는 것으로 인식되는 프라이버시 정책들 및 관례들을 구현하고 지속적으로 이용해야 한다. 그러한 정책들은 사용자들에 의해 쉽게 액세스가능해야 하고, 데이터의 수집 및/또는 이용이 변화함에 따라 업데이트되어야 한다. 사용자들로부터의 개인 정보는 엔티티의 적법하며 적정한 사용들을 위해 수집되어야 하고, 이들 적법한 사용들을 벗어나서 공유되거나 판매되지 않아야 한다. 또한, 그러한 수집/공유는 사용자들의 통지된 동의를 수신한 후에 발생해야 한다. 부가적으로, 그러한 엔티티들은 그러한 개인 정보 데이터에 대한 액세스를 보호하고 안전하게 하며 개인 정보 데이터에 대한 액세스를 갖는 다른 사람들이 그들의 프라이버시 정책들 및 절차들을 고수한다는 것을 보장하기 위한 임의의 필요한 단계들을 취하는 것을 고려해야 한다. 게다가, 그러한 엔티티들은 널리 인정된 프라이버시 정책들 및 관례들에 대한 그들의 고수를 증명하기 위해 제3자들에 의해 그들 자신들이 평가를 받을 수 있다. 추가로, 정책들 및 관례들은 수집되고/되거나 액세스되는 특정 유형들의 개인 정보 데이터에 대해 조정되고, 관할구역 특정 고려사항들을 비롯한 적용가능한 법률들 및 표준들에 적응되어야 한다. 예를 들어, 미국에서, 소정 건강 데이터의 수집 또는 그에 대한 액세스는 연방법 및/또는 주의 법, 예컨대, 미국 건강 보험 양도 및 책임 법령(Health Insurance Portability and Accountability Act, HIPAA)에 의해 통제될 수 있는 반면; 다른 국가들에서의 건강 데이터는 다른 규정들 및 정책들의 적용을 받을 수 있고 그에 따라 취급되어야 한다. 따라서, 상이한 프라이버시 관례들은 각각의 국가의 상이한 개인 데이터 유형들에 대해 유지되어야 한다.
전술된 것에도 불구하고, 본 개시내용은 또한 사용자들이 개인 정보 데이터의 사용, 또는 그에 대한 액세스를 선택적으로 차단하는 실시예들을 고려한다. 즉, 본 개시내용은 그러한 개인 정보 데이터에 대한 액세스를 방지하거나 차단하기 위해 하드웨어 및/또는 소프트웨어 요소들이 제공될 수 있다는 것을 고려한다. 예를 들어, 콘텐츠 공유하기와 레인징 수행하기의 경우에, 본 기술은 사용자들이 서비스를 위한 등록 중 또는 이후 임의의 시간에 개인 정보 데이터의 수집 시의 참여의 "동의함" 또는 "동의하지 않음"을 선택하는 것을 허용하도록 구성될 수 있다. "동의" 및 "동의하지 않음" 옵션들을 제공하는 것에 더하여, 본 개시내용은 개인 정보의 액세스 또는 이용에 관한 통지들을 제공하는 것을 고려한다. 예를 들어, 사용자는 그들의 개인 정보 데이터가 액세스될 앱을 다운로드할 시에 통지받고, 이어서 개인 정보 데이터가 앱에 의해 액세스되기 직전에 다시 상기하게 될 수 있다.
더욱이, 의도하지 않은 또는 인가되지 않은 액세스 또는 사용의 위험요소들을 최소화하는 방식으로 개인 정보 데이터가 관리되고 다루어져야 한다는 것이 본 개시내용의 의도이다. 데이터의 수집을 제한하고 데이터가 더 이상 필요하지 않게 되면 데이터를 삭제함으로써 위험이 최소화될 수 있다. 추가로, 그리고 소정의 건강 관련 애플리케이션들에 적용하는 것을 비롯하여, 적용가능할 때, 사용자의 프라이버시를 보호하기 위해 데이터 식별해제가 사용될 수 있다. 적절한 경우, 특정 식별자들(예컨대, 생년월일 등)을 제거함으로써, 저장된 데이터의 양 또는 특이성을 제어함으로써(예컨대, 어드레스 레벨보다는 도시 레벨로 위치 데이터를 수집함으로써), 데이터가 저장되는 방식을 제어함으로써(예컨대, 사용자들에 걸쳐 데이터를 집계함으로써), 그리고/또는 다른 방법들에 의해, 식별해제가 용이하게 될 수 있다.
따라서, 본 개시내용이 하나 이상의 다양한 개시된 실시예들을 구현하기 위해 개인 정보 데이터의 사용을 광범위하게 커버하지만, 본 개시내용은 다양한 실시예들이 또한 그러한 개인 정보 데이터에 액세스할 필요 없이 구현될 수 있다는 것을 또한 고려한다. 즉, 본 기술의 다양한 실시예들은 그러한 개인 정보 데이터의 전부 또는 일부의 결여로 인해 동작불가능하게 되지는 않는다.
본 개시내용이 특정 실시예들에 대하여 설명되었지만, 본 개시내용은 하기의 청구범위의 범주 내의 모든 수정들 및 등가물들을 커버하도록 의도된다는 것이 이해될 것이다.
단수형("a", "an" 또는 "the")의 열거는 특별히 반대로 지시되지 않는 한 "하나 이상"을 의미하도록 의도된다. "또는"의 사용은, 특별히 반대로 지시되지 않는 한, "배타적 또는(exclusive or)"이 아닌 "포함적 또는(inclusive or)"을 의미하도록 의도된다. "제1" 컴포넌트에 대한 언급은 반드시 제2 컴포넌트가 제공되어야 하는 것은 아니다. 더욱이, "제1" 또는 "제2" 컴포넌트에 대한 언급은 명시적으로 언급되지 않는 한 언급된 컴포넌트를 특정 위치로 제한하지 않는다. 용어 "~에 기초한"은 "~에 적어도 부분적으로 기초하여"를 의미하도록 의도된다.
본 명세서에 언급된 모든 특허들, 특허 출원들, 간행물들, 및 설명들은 모든 목적을 위해 그 전체가 참고로 포함된다. 어떠한 것도 종래 기술인 것으로 인정되지 않는다.

Claims (14)

  1. 사용자에게 통신 인터페이스를 제공하는 방법으로서,
    제1 모바일 디바이스에 의해,
    상기 제1 모바일 디바이스의 데이터베이스에, 연락처 정보를 포함하는 복수의 연락처들을 저장하는 단계-각각의 연락처는 저장된 식별자와 연관되어 있음-;
    상기 제1 모바일 디바이스의 사용자 인터페이스에서, 상기 제1 모바일 디바이스 상에서 실행 중인 통신 애플리케이션을 사용하여 새로운 통신을 송신하라는 커맨드를 수신하는 단계;
    하나 이상의 다른 모바일 디바이스로부터 하나 이상의 착신 메시지를 무선으로 검출하는 단계;
    상기 하나 이상의 착신 메시지를 분석하여 상기 하나 이상의 다른 모바일 디바이스에 대응하는 하나 이상의 착신 식별자를 결정하는 단계;
    상기 하나 이상의 다른 모바일 디바이스에 대한 상기 연락처 정보를 획득하기 위해 상기 하나 이상의 착신 식별자로 상기 데이터베이스에 액세스하는 단계;
    상기 제1 모바일 디바이스의 제안 엔진에 의해 제안된 수신자들의 리스트 및 상기 제안된 수신자들의 리스트 내의 상기 하나 이상의 다른 모바일 디바이스에 대한 상기 연락처 정보를 상기 통신 애플리케이션에 제공하는 단계;
    상기 통신 애플리케이션에 의해, 상기 제안된 수신자들의 리스트로부터 상기 하나 이상의 다른 모바일 디바이스 중 제2 모바일 디바이스의 선택을 수신하는 단계; 및
    상기 통신 애플리케이션에 의해, 상기 새로운 통신을 상기 제2 모바일 디바이스에 송신하는 단계를 수행하는 것을 포함하는, 방법.
  2. 제1항에 있어서, 상기 제안된 수신자들의 리스트는 의도된 수신자의 표시를 수신하기 전에 제공되는, 방법.
  3. 제1항에 있어서,
    제1 무선 프로토콜을 사용하여, 레인징 요청 메시지에서 하나 이상의 펄스의 제1 세트를 상기 하나 이상의 다른 모바일 디바이스 각각에 송신하는 단계;
    상기 제1 무선 프로토콜을 사용하여, 상기 하나 이상의 다른 모바일 디바이스 각각으로부터 하나 이상의 레인징 응답 메시지에서 하나 이상의 펄스의 제2 세트를 수신하는 단계;
    상기 하나 이상의 다른 모바일 디바이스 각각에 대한 상기 하나 이상의 펄스의 제1 세트의 하나 이상의 송신 시간 및 상기 하나 이상의 펄스의 제2 세트의 하나 이상의 수신 시간에 대응하는 거리 정보를 결정하는 단계; 및
    상기 거리 정보를 사용하여 상기 제안된 수신자들의 리스트를 결정하는 단계를 더 포함하는, 방법.
  4. 제3항에 있어서, 상기 거리 정보를 사용하여 상기 제안된 수신자들의 리스트를 결정하는 단계는 상기 거리 정보에 기초하여 상기 하나 이상의 다른 모바일 디바이스를 정렬하는 단계를 포함하는, 방법.
  5. 제3항에 있어서, 상기 거리 정보는 거리를 포함하고, 상기 거리 정보를 사용하여 상기 제안된 수신자들의 리스트를 결정하는 단계는,
    상기 하나 이상의 다른 모바일 디바이스에 대한 상기 거리를 임계치와 비교하는 단계; 및
    상기 제안된 수신자들의 리스트로부터, 거리가 상기 임계치보다 큰 상기 하나 이상의 다른 모바일 디바이스 중의 임의의 모바일 디바이스를 제외하는 단계를 포함하는, 방법.
  6. 제3항에 있어서, 상기 거리 정보는 각도 값을 포함하고, 상기 거리 정보를 사용하여 상기 제안된 수신자들의 리스트를 결정하는 단계는,
    상기 하나 이상의 다른 모바일 디바이스에 대한 상기 각도 값을 임계치와 비교하는 단계; 및
    상기 제안된 수신자들의 리스트로부터, 상기 임계치보다 큰 각도 값을 갖는 상기 하나 이상의 다른 모바일 디바이스 중의 임의의 모바일 디바이스를 제외하는 단계를 포함하는, 방법.
  7. 제3항에 있어서,
    이력 수신자들, 이력 통신 애플리케이션들, 및 이력 컨텍스트 데이터를 포함하는 이력 사용자 상호작용들의 데이터베이스를 저장하는 단계; 및
    상기 이력 사용자 상호작용들을 사용하여 상기 제안된 수신자들의 리스트를 결정하는 단계를 더 포함하는, 방법.
  8. 제3항에 있어서,
    상기 하나 이상의 펄스의 제1 세트를 상기 하나 이상의 다른 모바일 디바이스 각각에 송신하기 전에,
    제2 무선 프로토콜을 통해, 상기 제1 모바일 디바이스의 제1 인증 태그를 포함하는 광고 신호를 송신하는 단계;
    상기 제2 모바일 디바이스로부터 상기 제2 무선 프로토콜을 통해, 상기 제2 모바일 디바이스의 제2 인증 태그를 수신하는 단계;
    상기 제2 인증 태그를 사용하여 상기 제2 모바일 디바이스를 인증하는 단계-상기 제2 모바일 디바이스는 상기 제1 인증 태그를 사용하여 상기 제1 모바일 디바이스를 인증함-; 및
    상기 제2 무선 프로토콜을 사용하여, 상기 제2 모바일 디바이스와 하나 이상의 레인징 설정을 통신하는 단계를 더 포함하고, 상기 하나 이상의 펄스의 제1 세트는 상기 하나 이상의 레인징 설정에 따라 송신되고, 상기 제1 무선 프로토콜은 상기 제2 무선 프로토콜에 의해 사용되는 펄스 폭보다 작은 펄스 폭을 사용하는, 방법.
  9. 제1항에 있어서, 상기 하나 이상의 착신 메시지는 상기 하나 이상의 다른 모바일 디바이스에 의해 브로드캐스팅되는, 방법.
  10. 제1항에 있어서, 상기 하나 이상의 착신 메시지는 하나 이상의 암호 키를 사용하여 생성되고, 상기 하나 이상의 착신 메시지를 분석하여 상기 하나 이상의 착신 식별자를 결정하는 단계는,
    저장된 암호 키를 착신 메시지의 제1 부분에 적용하여 암호 결과를 획득하는 단계; 및
    상기 암호 결과를 상기 착신 메시지의 제2 부분에 매칭시키는 단계를 포함하는, 방법.
  11. 제10항에 있어서, 상기 저장된 암호 키는 공개 키이고, 상기 착신 메시지는 상기 공개 키에 대응하는 개인 키를 사용하여 생성되는, 방법.
  12. 제1항에 있어서, 상기 하나 이상의 착신 메시지는 상기 하나 이상의 다른 모바일 디바이스에 대응하는 상기 하나 이상의 착신 식별자를 포함하는, 방법.
  13. 제1 모바일 디바이스로서,
    프로세서 실행가능 명령어들을 저장하도록 구성된 하나 이상의 메모리; 및
    상기 하나 이상의 메모리와 통신하고, 제1항 내지 제12항 중 어느 한 항의 방법을 수행하기 위해 상기 하나 이상의 메모리에 저장된 명령어들을 실행하도록 구성된 하나 이상의 프로세서를 포함하는, 제1 모바일 디바이스.
  14. 실행될 때 제1항 내지 제12항 중 어느 한 항의 방법을 수행하도록 하나 이상의 프로세서를 포함하는 디바이스를 제어하는 복수의 명령어들을 저장하는 비일시적 컴퓨터 판독가능 저장 매체.
KR1020217019842A 2018-09-28 2019-09-27 모바일 디바이스들 사이의 레인징 KR102564520B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020237026485A KR20230119262A (ko) 2018-09-28 2019-09-27 모바일 디바이스들 사이의 레인징

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201862738915P 2018-09-28 2018-09-28
US62/738,915 2018-09-28
PCT/US2019/053448 WO2020069311A1 (en) 2018-09-28 2019-09-27 Ranging between mobile devices
KR1020217007547A KR102537915B1 (ko) 2018-09-28 2019-09-27 모바일 디바이스들 사이의 레인징

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020217007547A Division KR102537915B1 (ko) 2018-09-28 2019-09-27 모바일 디바이스들 사이의 레인징

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020237026485A Division KR20230119262A (ko) 2018-09-28 2019-09-27 모바일 디바이스들 사이의 레인징

Publications (2)

Publication Number Publication Date
KR20210082549A KR20210082549A (ko) 2021-07-05
KR102564520B1 true KR102564520B1 (ko) 2023-08-08

Family

ID=68296659

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020217019842A KR102564520B1 (ko) 2018-09-28 2019-09-27 모바일 디바이스들 사이의 레인징
KR1020237026485A KR20230119262A (ko) 2018-09-28 2019-09-27 모바일 디바이스들 사이의 레인징
KR1020217007547A KR102537915B1 (ko) 2018-09-28 2019-09-27 모바일 디바이스들 사이의 레인징

Family Applications After (2)

Application Number Title Priority Date Filing Date
KR1020237026485A KR20230119262A (ko) 2018-09-28 2019-09-27 모바일 디바이스들 사이의 레인징
KR1020217007547A KR102537915B1 (ko) 2018-09-28 2019-09-27 모바일 디바이스들 사이의 레인징

Country Status (6)

Country Link
US (4) US11019195B2 (ko)
EP (4) EP4221149A1 (ko)
KR (3) KR102564520B1 (ko)
CN (1) CN112673339A (ko)
AU (3) AU2019346631B2 (ko)
WO (1) WO2020069311A1 (ko)

Families Citing this family (96)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA3117588A1 (en) * 2018-11-02 2020-05-07 Assa Abloy Ab Systems, methods, and devices for access control
US11493621B2 (en) * 2018-11-09 2022-11-08 Apple Inc. Secure multicast/broadcast ranging
US11522919B2 (en) * 2019-01-31 2022-12-06 Medtronic, Inc. Establishing a secure communication link
US11785651B2 (en) * 2019-02-25 2023-10-10 Ntt Docomo, Inc. Device management system
US11469904B1 (en) * 2019-03-21 2022-10-11 NortonLifeLock Inc. Systems and methods for authenticating digital media content
AU2020247386B2 (en) 2019-03-25 2023-07-06 Assa Abloy Ab Ultra-wide band device for access control reader system
CA3134931A1 (en) 2019-03-25 2020-10-01 Assa Abloy Ab Reader coordination for access control
KR20200130920A (ko) * 2019-05-13 2020-11-23 삼성전자주식회사 거리 측정 및 인증을 동시에 수행하는 방법 및 그 전자 장치
US11405894B2 (en) * 2019-07-09 2022-08-02 Samsung Electronics Co., Ltd. System and method of establishing communication for exchanging ranging information
US11343244B2 (en) * 2019-08-02 2022-05-24 Dell Products, Lp Method and apparatus for multi-factor verification of a computing device location within a preset geographic area
US11144668B2 (en) * 2019-08-15 2021-10-12 International Business Machines Corporation Cognitively hiding sensitive content on a computing device
US11751062B1 (en) * 2019-10-18 2023-09-05 Dialog Semiconductor B.V. Security apparatus and methods for wireless data exchange
KR20210053018A (ko) * 2019-11-01 2021-05-11 삼성전자주식회사 UWB(Ultra Wide Band)를 통해 레인징을 수행하는 전자 디바이스 및 전자 디바이스의 동작 방법
US11129032B2 (en) * 2019-11-26 2021-09-21 Motorola Mobility Llc Optimal device position for wireless communication
US11115819B2 (en) * 2019-12-30 2021-09-07 Itron, Inc. Local authentication of communications device
US11323294B2 (en) * 2020-01-08 2022-05-03 Nxp B.V. Ultra-wideband device power optimization
EP3848918A1 (en) * 2020-01-08 2021-07-14 Nxp B.V. System and method for controlling electronic devices
EP3863316A1 (en) * 2020-02-07 2021-08-11 Continental Teves AG & Co. OHG Authentication method
US11489888B2 (en) * 2020-02-18 2022-11-01 Arris Enterprises Llc Apparatus, system, method, and computer-readable recording medium for detecting devices in a network and transferring a media session
US11755111B2 (en) 2020-03-16 2023-09-12 Arkh, Inc. Spatially aware computing hub and environment
US11438454B2 (en) * 2020-03-31 2022-09-06 International Business Machines Corporation Authentication and authorization via vocal track frequency channel
KR20210128118A (ko) * 2020-04-16 2021-10-26 삼성전자주식회사 거리 측정과 관련된 전력 소모를 줄이기 위한 전자 장치 및 그의 동작 방법
SG10202004399XA (en) * 2020-05-12 2021-12-30 Kaha Pte Ltd Method, system and device for social distancing and contact tracing
WO2021229324A1 (en) * 2020-05-12 2021-11-18 Highseclabs Ltd. Social distance monitoring
WO2021231801A1 (en) * 2020-05-13 2021-11-18 Hubbell Incorporated Proximity-based contact tracing system
IT202000010975A1 (it) * 2020-05-14 2021-11-14 Ik Multimedia Production Srl Sistema di misura di distanza reciproca fra dispositivi mobili
EP3910901A1 (en) * 2020-05-15 2021-11-17 Nxp B.V. Uwb communication node and operating method
US11082809B1 (en) * 2020-06-18 2021-08-03 Apple Inc. Many-to-many communication techniques for mobile devices
KR20220008616A (ko) * 2020-07-14 2022-01-21 삼성전자주식회사 전자 디바이스가 보안 레인징을 수행하는 방법 및 장치
WO2022025602A1 (en) * 2020-07-28 2022-02-03 Samsung Electronics Co., Ltd. Method and system for user intent detection in ultra wide band systems
US11538331B2 (en) * 2020-07-30 2022-12-27 Denso International America, Inc. UWB and BLE based incident reporting and preventing system implemented using mobile access devices
KR20220017275A (ko) * 2020-08-04 2022-02-11 삼성전자주식회사 무선 통신 시스템에서 데이터를 공유하기 위한 장치 및 방법
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
WO2022028324A1 (zh) * 2020-08-05 2022-02-10 华为技术有限公司 启动应用程序的方法、装置、电子设备和介质
NL2029052B1 (en) * 2020-08-28 2022-09-16 Bright Cocoon B V Identifying and distance-measuring remote devices
CN111970672A (zh) * 2020-08-31 2020-11-20 Oppo广东移动通信有限公司 查找定位方法、装置、电子设备及存储介质
EP4210356A1 (en) * 2020-09-03 2023-07-12 Beijing Xiaomi Mobile Software Co., Ltd. Ranging method, communication node, communication device and storage medium
US20220078578A1 (en) * 2020-09-04 2022-03-10 Apple Inc. Techniques for changing frequency of ranging based on location of mobile device
CN114501119B (zh) * 2020-10-27 2023-04-07 Oppo广东移动通信有限公司 互动显示方法、装置、电子设备、系统及存储介质
CN114430440B (zh) * 2020-10-29 2023-03-21 Oppo广东移动通信有限公司 智能设备的控制方法、电子标签、设备、终端及存储介质
EP4001949A1 (en) * 2020-11-24 2022-05-25 The Boeing Company A system for proximity reporting in an assembly environment
WO2022114408A1 (en) * 2020-11-24 2022-06-02 Samsung Electronics Co., Ltd. Method, apparatus and smart device for sharing file
EP4007317B1 (en) * 2020-11-30 2023-09-27 Bayerische Motoren Werke Aktiengesellschaft Method, vehicle and program code for establishing a short-range wireless connection
US11582611B1 (en) * 2020-12-07 2023-02-14 Amazon Technologies, Inc. Prompt and secure data communication pairing
CN112714394B (zh) * 2020-12-11 2022-10-25 成都四相致新科技有限公司 一种多标签测距方法、系统、存储介质及终端
KR20220087266A (ko) * 2020-12-17 2022-06-24 삼성전자주식회사 Uwb 통신을 지원하는 전자 장치 및 그 동작 방법
US20220240107A1 (en) * 2020-12-23 2022-07-28 Harman International Industries, Incorporated Methods and systems for dynamic adjustment of bluetooth low energy broadcasting and scanning
KR20230121909A (ko) * 2020-12-24 2023-08-21 삼성전자주식회사 Uwb를 이용한 장치 탐색 방법 및 장치
US11816631B2 (en) * 2021-02-04 2023-11-14 Hand Held Products, Inc. Voting based proximity detection and ranging
US11363500B1 (en) 2021-02-17 2022-06-14 Facebook Technologies Ultra-wideband control of smart streaming devices
KR20220117645A (ko) * 2021-02-17 2022-08-24 삼성전자주식회사 외부 전자 장치의 위치를 결정하는 전자 장치 및 전자 장치의 동작 방법
US11496790B2 (en) * 2021-02-17 2022-11-08 Meta Platforms Technologies, Llc Ultra-wideband control of smart streaming devices
EP4047383A1 (en) 2021-02-23 2022-08-24 Nxp B.V. Communication device and operating method
DE112021007303T5 (de) * 2021-03-15 2024-01-25 Google Llc Geräte zur gestenerkennung mit ultra-breitband (uwb) transceivern
US11540083B1 (en) * 2021-03-16 2022-12-27 GigFlex LLC Method and apparatus for adaptive location determination
US11729551B2 (en) * 2021-03-19 2023-08-15 Meta Platforms Technologies, Llc Systems and methods for ultra-wideband applications
US20220299617A1 (en) 2021-03-19 2022-09-22 Facebook Technologies, Llc Systems and methods for automatic triggering of ranging
WO2022222005A1 (zh) * 2021-04-19 2022-10-27 北京小米移动软件有限公司 通信设备检测方法、装置、通信设备和存储介质
US20220337986A1 (en) * 2021-04-20 2022-10-20 Samsung Electronics Co., Ltd. Method of ultra-wideband communication based on account information and electronic device therefor
WO2022226851A1 (zh) * 2021-04-28 2022-11-03 北京小米移动软件有限公司 信号收发方法和装置、信号接收方法和装置
KR20220147877A (ko) * 2021-04-28 2022-11-04 삼성전자주식회사 Uwb 레인징시 데이터를 송수신하는 전자 장치 및 그 방법
USD980726S1 (en) 2021-05-13 2023-03-14 Hubbell Incorporated Mobile tag device
KR20220155867A (ko) * 2021-05-17 2022-11-24 삼성전자주식회사 Uwb 보안 레인징을 수행하기 위한 방법 및 장치
EP4304252A1 (en) 2021-06-01 2024-01-10 Samsung Electronics Co., Ltd. Electronic device for receiving time difference of arrival messages, and operating method therefor
KR20220167162A (ko) * 2021-06-11 2022-12-20 삼성전자주식회사 Uwb 서비스를 제공 위한 방법 및 장치
US11641422B2 (en) * 2021-06-14 2023-05-02 Capital One Services, Llc Systems and methods for integrated third-party callbacks
KR20220170152A (ko) * 2021-06-22 2022-12-29 삼성전자주식회사 Uwb 서비스를 제공하기 위한 방법 및 장치
WO2022270983A1 (en) * 2021-06-25 2022-12-29 Samsung Electronics Co., Ltd. Method and apparatus for providing ultra wide band (uwb) communication
EP4120701B1 (en) * 2021-07-16 2024-05-01 Lopos BV An energy efficient proximity awareness device
EP4364446A1 (en) * 2021-07-22 2024-05-08 Samsung Electronics Co., Ltd. Method and device for ultra-wideband communication
WO2023008861A1 (ko) * 2021-07-28 2023-02-02 삼성전자 주식회사 Uwb 신호 운용 방법 및 전자 장치
KR20230018825A (ko) * 2021-07-30 2023-02-07 삼성전자주식회사 지오펜스를 이용하는 전자 장치 및 동작 방법
CN115706748A (zh) * 2021-08-04 2023-02-17 北京小米移动软件有限公司 来电处理方法、装置及存储介质
US20230107752A1 (en) * 2021-09-24 2023-04-06 Qualcomm Incorporated Quick access point start with out of band channel scan offload
EP4311245A1 (en) * 2021-09-28 2024-01-24 Samsung Electronics Co., Ltd. Electronic device for providing streaming service, and method therefor
KR20230046164A (ko) * 2021-09-29 2023-04-05 삼성전자주식회사 외부 객체에 대한 정보를 획득하기 위한 전자 장치 및 방법
KR102575048B1 (ko) * 2021-10-29 2023-09-06 주식회사 지오플랜 멀티 ble 기반의 uwb 보안 레인징 방법
KR20230075208A (ko) * 2021-11-22 2023-05-31 삼성전자주식회사 Uwb 통신을 위한 방법 및 장치
CN114071364A (zh) * 2021-11-26 2022-02-18 深圳市联洲国际技术有限公司 无线网络的处理方法、装置以及无线网络系统
KR20230081039A (ko) * 2021-11-30 2023-06-07 삼성전자주식회사 Uwb 통신을 위한 방법 및 장치
US11902016B2 (en) * 2021-11-30 2024-02-13 Mitre Corporation Ranging between unsynchronized communication terminals
US11799967B1 (en) * 2021-12-22 2023-10-24 Meta Platforms, Inc. Ultra-wide band communication system for augmented reality
KR20230112461A (ko) * 2022-01-20 2023-07-27 삼성전자주식회사 거리 기반 서비스를 제공하는 전자 장치 및 그 동작 방법
KR20230112272A (ko) * 2022-01-20 2023-07-27 삼성전자주식회사 거리 기반 서비스를 제공하는 전자 장치 및 그 동작 방법
CN116667901A (zh) * 2022-02-21 2023-08-29 北京小米移动软件有限公司 角度确定、信号发送方法及装置、电子设备和存储介质
CN116699513A (zh) * 2022-02-28 2023-09-05 华为技术有限公司 测距方法、装置、系统及可读存储介质
US20230292132A1 (en) * 2022-03-09 2023-09-14 Qorvo Us, Inc. Systems and methods of assessing a plausibility of a ranging measurement
WO2023179396A1 (zh) * 2022-03-25 2023-09-28 华为技术有限公司 一种定位方法及装置
KR20230161283A (ko) * 2022-05-18 2023-11-27 삼성전자주식회사 Uwb 통신을 위한 방법 및 장치
EP4287664A1 (en) * 2022-05-31 2023-12-06 Nxp B.V. Method and apparatus for wireless communication
WO2023235144A1 (en) * 2022-06-03 2023-12-07 Apple Inc. Ranking wireless streaming devices based on proximity
WO2023249135A1 (ko) * 2022-06-21 2023-12-28 삼성전자 주식회사 초광대역(유더블유비) 통신을 위한 방법 및 장치
WO2024048807A1 (ko) * 2022-08-30 2024-03-07 삼성전자주식회사 Uwb 통신을 이용한 협력적 측위 방법 및 장치
WO2024080697A1 (ko) * 2022-10-11 2024-04-18 삼성전자 주식회사 전자 디바이스 및 전자 디바이스의 동작 방법
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
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

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040192331A1 (en) 2002-04-30 2004-09-30 Gorday Paul Edward Method of targeting a message to a communication device selected from among a set of communication devices
US20040210844A1 (en) 2002-12-19 2004-10-21 Fabio Pettinati Contact picker interface
WO2017181132A2 (en) 2016-04-14 2017-10-19 Apple Inc. Methods and architectures for secure ranging
US20180019964A1 (en) 2016-07-18 2018-01-18 Plexus Meet, Inc. Proximity Discovery System and Method
US20180068505A1 (en) 2016-09-06 2018-03-08 Denso International America, Inc. Wireless Passenger Proximity Detection System for Autonomous Vehicles

Family Cites Families (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8995990B2 (en) * 2007-10-31 2015-03-31 Nokia Corporation Method, an apparatus, and a system for creating an intelligent recipient list configured to dynamically identify and present additional recipients to the user
US8190692B1 (en) * 2008-08-22 2012-05-29 Boadin Technology, LLC Location-based messaging system, method, and computer program product
GB2466049A (en) 2008-12-10 2010-06-16 Symbian Software Ltd Distance determination between two or more communicating devices
US8792429B2 (en) * 2010-12-14 2014-07-29 Microsoft Corporation Direct connection with side channel control
US8948382B2 (en) * 2010-12-16 2015-02-03 Microsoft Corporation Secure protocol for peer-to-peer network
US9674661B2 (en) 2011-10-21 2017-06-06 Microsoft Technology Licensing, Llc Device-to-device relative localization
EP2632095B1 (en) * 2012-02-24 2016-04-27 BlackBerry Limited Retrieval and presentation of contact data at an electronic device
WO2013148899A1 (en) * 2012-03-28 2013-10-03 Charm Alarm Llc Smart charm anti-theft alarm system
KR101498603B1 (ko) 2012-09-04 2015-03-05 주식회사 팬택 정보 전달 단말 장치 및 그 방법
EP2954709A4 (en) * 2013-02-08 2016-08-31 Schlage Lock Co Llc CONTROL SYSTEM AND METHOD
US10405163B2 (en) * 2013-10-06 2019-09-03 Staton Techiya, Llc Methods and systems for establishing and maintaining presence information of neighboring bluetooth devices
US9866997B2 (en) * 2013-12-06 2018-01-09 Mapquest, Inc. Systems and methods for geo-location based message streams
US9398437B2 (en) * 2013-12-16 2016-07-19 Nokia Technologies Oy Method, apparatus, and computer program product for service discovery in wireless short-range communication
US9860297B2 (en) * 2014-06-02 2018-01-02 Nokia Technologies Oy Method, apparatus, and computer program product for media selection for moving user
KR102252728B1 (ko) 2014-06-18 2021-05-17 한국전자통신연구원 통신 대상 디바이스와의 통신 링크 설정 장치 및 방법
US9801024B2 (en) * 2014-07-17 2017-10-24 Kashif SALEEM Method and system for managing people by detection and tracking
EP3002720A1 (en) * 2014-10-02 2016-04-06 Unify GmbH & Co. KG Method, device and software product for filling an address field of an electronic message
US9548770B1 (en) 2014-11-07 2017-01-17 Sprint Communications Company L.P. Reducing inter-sector interference in beamforming
CN105792094B (zh) 2014-12-22 2019-11-05 南京中兴软件有限责任公司 一种实现一卡多机的方法及装置
KR102314272B1 (ko) * 2015-04-30 2021-10-20 삼성전자주식회사 서비스 공유 장치 및 방법
US9668101B2 (en) * 2015-08-10 2017-05-30 Qualcomm Incorporated Partial timing synchronization function (TSF) synchronization in fine timing measurement (FTM) protocol
US20170131381A1 (en) 2015-11-09 2017-05-11 Qualcomm Incorporated Enhancing angle of arrival and angle of departure estimation by signaling device movement
JP6311943B2 (ja) * 2015-11-18 2018-04-18 コニカミノルタ株式会社 画像形成システム、画像形成装置およびプログラム
US10275744B2 (en) * 2016-02-10 2019-04-30 Paypal, Inc. Enhanced data transfer initiation using image recognition
EP3420540A1 (de) * 2016-02-26 2019-01-02 HUF Hülsbeck & Fürst GmbH & Co. KG Moduleinheit mit schnittstelle für ein kommunikationsgerät
EP3419866B1 (de) * 2016-02-26 2021-12-01 HUF Hülsbeck & Fürst GmbH & Co. KG Verfahren für eine aktivierung mindestens einer sicherheitsfunktion eines sicherheitssystems eines fahrzeuges
US10008069B2 (en) * 2016-02-26 2018-06-26 Ford Global Technologies, Llc Multi-passenger door detection for a passenger transport
WO2017149368A1 (en) * 2016-03-02 2017-09-08 Vishal Gupta Merged presentation of duplicate contacts across shared contact directories
US10382929B2 (en) * 2016-04-17 2019-08-13 Sonular Ltd. Communication management and communicating between a mobile communication device and another device
US9973895B2 (en) * 2016-06-10 2018-05-15 Apple Inc. Wireless login with secure proximity detection
US11176237B2 (en) * 2016-06-12 2021-11-16 Apple Inc. Modifying security state with secured range detection
US11582215B2 (en) * 2016-06-12 2023-02-14 Apple Inc. Modifying security state with secured range detection
JP6663110B2 (ja) * 2016-08-04 2020-03-11 富士通クライアントコンピューティング株式会社 無線通信装置、無線通信システム、接続処理方法及び接続処理プログラム
AU2016422505B2 (en) * 2016-09-06 2020-07-16 Huawei Technologies Co., Ltd. Data sharing method and terminal
US9955319B2 (en) * 2016-09-12 2018-04-24 Zendrive, Inc. Method for mobile device-based cooperative data capture
US10328898B2 (en) * 2016-10-12 2019-06-25 Denso International America, Inc. Passive entry / passive start systems and methods for vehicles
US10412545B1 (en) * 2016-10-24 2019-09-10 Marvell International Ltd. Device-to-device radio frequency proximity determination
EP3556119A4 (en) 2016-12-14 2020-01-22 Denso Corporation METHOD AND SYSTEM FOR ESTABLISHING MICROLOCATION AREAS
US10298398B2 (en) 2016-12-28 2019-05-21 Google Llc Peer discovery, connection, and data transfer
US10452150B2 (en) * 2017-01-25 2019-10-22 International Business Machines Corporation Electronic map augmentation through pointing gestures background
CN110312644B (zh) 2017-02-10 2022-06-28 苹果公司 增强型汽车无源进入
US10166438B2 (en) * 2017-04-11 2019-01-01 Motorola Mobility Llc Apparatus, method, and program product for tracking physical activity
JP6885258B2 (ja) * 2017-08-09 2021-06-09 トヨタ自動車株式会社 携帯端末装置および認証システム
US10499320B2 (en) 2017-08-14 2019-12-03 Sony Corporation Mesh assisted node discovery
US10575240B2 (en) * 2017-09-12 2020-02-25 Sony Corporation Multi-band millimeter wave network discovery
US10486646B2 (en) 2017-09-29 2019-11-26 Apple Inc. Mobile device for communicating and ranging with access control system for automatic functionality
US10531412B2 (en) * 2017-11-06 2020-01-07 Sony Corporation On demand route synchronization and beamforming in wireless networks
IL256288B (en) 2017-12-07 2019-02-28 Ophir Yoav Mutual interctivity between mobile devices based on position and orientation
US10338768B1 (en) 2017-12-10 2019-07-02 International Business Machines Corporation Graphical user interface for finding and depicting individuals
KR102406524B1 (ko) * 2018-02-21 2022-06-10 현대자동차주식회사 위치 검출 장치 및 방법
US10917784B2 (en) * 2018-03-27 2021-02-09 Denso International America, Inc. Systems and methods of cloud bonding for vehicles
US10839627B2 (en) * 2018-03-28 2020-11-17 Denso International America, Inc. Reflective environment detection systems and methods
FR3080209B1 (fr) * 2018-04-17 2020-04-24 Systemes Et Technologies Identification (Stid) Procede de controle d’acces securise avec modes de fonctionnement courte portee et moyenne ou longue portee
KR102569131B1 (ko) * 2018-05-11 2023-08-24 삼성전자주식회사 차량 통신 서비스를 수행하는 장치 및 방법
US10735900B1 (en) * 2019-05-06 2020-08-04 Apple Inc. Ranging measurements for spatially-aware user interface of a mobile device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040192331A1 (en) 2002-04-30 2004-09-30 Gorday Paul Edward Method of targeting a message to a communication device selected from among a set of communication devices
US20040210844A1 (en) 2002-12-19 2004-10-21 Fabio Pettinati Contact picker interface
WO2017181132A2 (en) 2016-04-14 2017-10-19 Apple Inc. Methods and architectures for secure ranging
US20180019964A1 (en) 2016-07-18 2018-01-18 Plexus Meet, Inc. Proximity Discovery System and Method
US20180068505A1 (en) 2016-09-06 2018-03-08 Denso International America, Inc. Wireless Passenger Proximity Detection System for Autonomous Vehicles

Also Published As

Publication number Publication date
US20230051718A1 (en) 2023-02-16
AU2019346631A1 (en) 2021-04-08
US11516337B2 (en) 2022-11-29
EP3910460A1 (en) 2021-11-17
KR20230119262A (ko) 2023-08-16
US20200106877A1 (en) 2020-04-02
KR20210082549A (ko) 2021-07-05
EP3910460B1 (en) 2023-07-19
US20210258418A1 (en) 2021-08-19
US20210006652A1 (en) 2021-01-07
AU2021204198B2 (en) 2023-03-09
EP4221149A1 (en) 2023-08-02
AU2019346631B2 (en) 2022-11-24
CN112673339A (zh) 2021-04-16
EP3834064A1 (en) 2021-06-16
US11019195B2 (en) 2021-05-25
AU2023203523A1 (en) 2023-06-29
KR20210043642A (ko) 2021-04-21
EP4221265A1 (en) 2023-08-02
KR102537915B1 (ko) 2023-05-26
US11671530B2 (en) 2023-06-06
WO2020069311A1 (en) 2020-04-02
AU2021204198A1 (en) 2021-07-15
EP3834064B1 (en) 2023-05-10

Similar Documents

Publication Publication Date Title
KR102564520B1 (ko) 모바일 디바이스들 사이의 레인징
US11796667B2 (en) One to many ranging techniques
US11758364B2 (en) Many to many ranging techniques
US11451924B2 (en) Ranging measurements for spatially-aware user interface of a mobile device
US11825380B2 (en) Wireless communication modes based on mobile device orientation
US10601591B2 (en) Close proximity inner circle discovery
EP4099620A2 (en) Pairing groups of accessories
WO2016173404A1 (zh) 用户匹配方法及装置
US20220078578A1 (en) Techniques for changing frequency of ranging based on location of mobile device
US20230328635A1 (en) Non-Waking Maintenance of Near Owner State
US20230397154A1 (en) Ranking wireless streaming devices based on proximity

Legal Events

Date Code Title Description
A107 Divisional application of patent
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant