KR102495118B1 - 무선 디바이스 속성 통신 - Google Patents

무선 디바이스 속성 통신 Download PDF

Info

Publication number
KR102495118B1
KR102495118B1 KR1020197007639A KR20197007639A KR102495118B1 KR 102495118 B1 KR102495118 B1 KR 102495118B1 KR 1020197007639 A KR1020197007639 A KR 1020197007639A KR 20197007639 A KR20197007639 A KR 20197007639A KR 102495118 B1 KR102495118 B1 KR 102495118B1
Authority
KR
South Korea
Prior art keywords
location
indication
attribute
processor
devices
Prior art date
Application number
KR1020197007639A
Other languages
English (en)
Other versions
KR20190051984A (ko
Inventor
주-용 도
사이 프라딥 벤카트라만
웨이화 가오
메그나 아그라왈
젱셍 장
Original Assignee
퀄컴 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 퀄컴 인코포레이티드 filed Critical 퀄컴 인코포레이티드
Publication of KR20190051984A publication Critical patent/KR20190051984A/ko
Application granted granted Critical
Publication of KR102495118B1 publication Critical patent/KR102495118B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/107Network architectures or network communication protocols for network security for controlling access to devices or network resources wherein the security policies are location-dependent, e.g. entities privileges depend on current location or allowing specific operations only from locally connected terminals
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/02Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • H04W12/084Access security using delegated authorisation, e.g. open authorisation [OAuth] protocol
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/023Services making use of location information using mutual or relative location information between multiple location based services [LBS] targets or of distance thresholds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/029Location-based management or tracking services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/70Services for machine-to-machine communication [M2M] or machine type communication [MTC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • H04W76/14Direct-mode setup
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W64/00Locating users or terminals or network equipment for network management purposes, e.g. mobility management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephonic Communication Services (AREA)
  • Telephone Function (AREA)
  • Small-Scale Networks (AREA)

Abstract

무선 통신 방법은, 송신 디바이스의 복수의 속성들에 대응하는 속성 표시들을 포함하는 통신 데이터를 생성하는 단계; 및 송신 디바이스로부터 무선으로 통신 데이터를 송신하는 단계를 포함하고, 속성 표시들은, 송신 디바이스의 디바이스 아이덴티티; 송신 디바이스가 모바일인지 아니면 정적인지를 표시하는 모빌리티 표시; 송신 디바이스의 위치를 표시하는 위치 표시; 및 송신 디바이스의 대응하는 속성과 연관된 프라이버시 표시를 포함하고, 프라이버시 표시는, 송신 디바이스로부터 속성 표시들을 수신하는 수신 디바이스가 송신 디바이스의 대응하는 속성에 관한 정보를 송신하도록 인가되는지 여부를 표시한다.

Description

무선 디바이스 속성 통신
[0001] 모바일 디바이스 및 정적 디바이스 둘 모두는 점점 더, 다른 디바이스들과 통신하고 그리고/또는 이들의 위치들이 결정될 수 있고 그리고/또는 하나 이상의 신호들을 송신한 다른 디바이스들의 위치들이 결정될 수 있는 측정들을 취하도록 구비된다. 디바이스들의 위치들은 디바이스 자체들에 의해 또는 측정들을 제공받는 다른 디바이스에 의해, 또는 측정들을 취한 다른 디바이스에 의해 결정될 수 있다. 예를 들어, 디바이스는, 디바이스들이 수신하는 SPS(satellite positioning system) 신호들, 셀룰러 네트워크 신호들 및/또는 Wi-Fi 신호들 등에 기초하여 자기 자신의 위치를 결정할 수 있다. 추가적으로 또는 대안적으로, 타겟 디바이스의 위치는, 타겟 디바이스에 의해 취해진 측정들이 제공되는 다른 것에 의해 결정될 수 있다. 추가적으로 또는 대안적으로, 타겟 디바이스의 위치는 타겟 디바이스에 의해 전송된(위치-결정 디바이스에 의해 수신된 및/또는 하나 이상의 다른 디바이스들에 의해 수신된) 신호들의 측정들에 기초하여 위치-결정 디바이스에 의해 결정될 수 있다. 무선으로 통신할 수 있는 디바이스들의 타입들은, 예를 들어, 종종 다른 디바이스들과 무선으로 통신할 수 있는 차고 문 개방기들과 같은 가정 아이템들로 계속 확장된다.
[0002] 예를 들어, 디바이스들 중 하나 이상을 로케이팅하기 위해 디바이스들 사이의 통신들의 유용성을 개선하기 위해, 디바이스들은 등록되고 있는 디바이스들에 대한 정보를 제공하도록 등록될 수 있다. 추가로, 등록 디바이스 또는 다른 디바이스는 통신 시스템에서 디바이스를 탐색하기 위해 사용될 수 있다.
[0003] 무선 통신 방법의 예는, 송신 디바이스의 복수의 속성들에 대응하는 속성 표시들을 포함하는 통신 데이터를 생성하는 단계; 및 송신 디바이스로부터 무선으로 통신 데이터를 송신하는 단계를 포함하고, 속성 표시들은, 송신 디바이스의 디바이스 아이덴티티; 송신 디바이스가 모바일인지 아니면 정적인지를 표시하는 모빌리티 표시; 송신 디바이스의 위치를 표시하는 위치 표시; 및 송신 디바이스의 대응하는 속성과 연관된 프라이버시 표시를 포함하고, 프라이버시 표시는, 송신 디바이스로부터 속성 표시들을 수신하는 수신 디바이스가 송신 디바이스의 대응하는 속성에 관한 정보를 송신하도록 인가되는지 여부를 표시한다.
[0004] 디바이스의 예는, 디바이스의 복수의 속성들에 대응하는 속성 표시들을 포함하는 통신 데이터를 생성하기 위한 수단; 및 디바이스로부터 무선으로 통신 데이터를 송신하기 위한 수단을 포함하고, 속성 표시들은, 디바이스의 디바이스 아이덴티티; 디바이스가 모바일인지 아니면 정적인지를 표시하는 모빌리티 표시; 디바이스의 위치를 표시하는 위치 표시; 및 디바이스의 대응하는 속성과 연관된 프라이버시 표시를 포함하고, 디바이스는 제1 디바이스이고, 프라이버시 표시는, 제1 디바이스로부터 속성 표시들을 수신하는 수신 디바이스가 제1 디바이스의 대응하는 속성에 관한 정보를 송신하도록 인가되는지 여부를 표시한다.
[0005] 디바이스의 다른 예는, 디바이스의 복수의 속성들에 대응하는 속성 표시들을 포함하는 통신 데이터를 생성하도록 구성되는 프로세서; 및 프로세서에 통신가능하게 커플링되고 디바이스로부터 무선으로 통신 데이터를 송신하도록 구성되는 트랜시버를 포함하고; 속성 표시들은, 디바이스의 디바이스 아이덴티티; 디바이스가 모바일인지 아니면 정적인지를 표시하는 모빌리티 표시; 디바이스의 위치를 표시하는 위치 표시; 및 디바이스의 대응하는 속성과 연관된 프라이버시 표시를 포함하고, 디바이스는 제1 디바이스이고, 프라이버시 표시는, 제1 디바이스로부터 속성 표시들을 수신하는 수신 디바이스가 제1 디바이스의 대응하는 속성에 관한 정보를 송신하도록 인가되는지 여부를 표시한다.
[0006] 비일시적 저장 매체의 예는, 디바이스의 프로세서로 하여금 디바이스의 복수의 속성들에 대응하는 속성 표시들을 포함하는 통신 데이터를 생성하게 하고; 디바이스로부터 무선으로 통신 데이터를 송신하게 하도록 구성되는 프로세서 판독가능 명령들을 저장하며; 속성 표시들은, 디바이스의 디바이스 아이덴티티; 디바이스가 모바일인지 아니면 정적인지를 표시하는 모빌리티 표시; 디바이스의 위치를 표시하는 위치 표시; 및 디바이스의 대응하는 속성과 연관된 프라이버시 표시를 포함하고, 디바이스는 제1 디바이스이고, 프라이버시 표시는, 제1 디바이스로부터 속성 표시들을 수신하는 수신 디바이스가 제1 디바이스의 대응하는 속성에 관한 정보를 송신하도록 인가되는지 여부를 표시한다.
[0007] 도 1은 무선 통신 시스템의 단순화된 도면이다.
[0008] 도 2는 도 1에 도시된 무선 통신 시스템의 실내 부분의 단순화된 상면도이다.
[0009] 도 3은 도 2에 도시된 통신 디바이스의 컴포넌트들의 블록도이다.
[0010] 도 4 및 도 5는 하나 이상의 무선 통신 디바이스들에 대응하는 디바이스 속성들의 표들의 예들이다.
[0011] 도 6은 도 2에 도시된 중앙 제어기의 컴포넌트들의 블록도이다.
[0012] 도 7은 도 6에 도시된 중앙 제어기에 의해 유지되는 디바이스 데이터 이력의 표이다.
[0013] 도 8은 디바이스 등록을 위해 도 2에 도시된 중앙 제어기의 사용자 인터페이스의 스크린샷이다.
[0014] 도 9는 디바이스 탐색을 위해 도 2에 도시된 중앙 제어기의 사용자 인터페이스의 스크린샷이다.
[0015] 도 10은 무선 통신 방법의 블록 흐름도이다.
[0016] 도 11은 무선 통신 디바이스를 로케이팅하는 방법의 블록 흐름도이다.
[0017] 도 12는 무선 통신 디바이스를 등록하는 방법의 블록 흐름도이다.
[0018] 도 13은 무선 통신 디바이스의 사용자를 보조하는 방법의 블록 흐름도이다.
[0019] 무선 통신 시스템들에서 디바이스들을 등록하기 위한 기술들이 본원에서 논의된다. 예를 들어, 사용자 인터페이스는 무선 통신 네트워크에 대한 사용자 등록 디바이스들을 도울 수 있다. 사용자 인터페이스는 사용자가 맵 상의 위치를, 등록되고 있는 디바이스의 위치로서 선택할 수 있도록 하는 맵을 제공할 수 있다. 사용자 인터페이스는 등록되고 있는 디바이스에 대한 위치 및/또는 이름을 제안할 수 있다. 제안된 위치는 등록되고 있는 디바이스의 현재 위치, 사용자 인터페이스의 현재 위치, 사용자 인터페이스를 통해 사용자에 의해 제공되는 위치 입력, 등록되고 있는 디바이스의 디바이스 이름 및/또는 등록되고 있는 디바이스의 디바이스 타입에 기초할 수 있다. 사용자 인터페이스는 예를 들어, 등록되고 있는 디바이스의 현재 위치, 사용자의 이름, (예를 들어, 가능하게는 이동하는 경우 다른 디바이스 및 디바이스가 등록되는 동안의 임계 시간양에 대한) 등록되고 있는 디바이스에 매우 근접하거나 근접했던 다른 디바이스와 연관된 사람의 이름 또는 타이틀에 기초하여 등록되고 있는 디바이스에 대한 디바이스 이름을 제안할 수 있다. 그러나, 이러한 예들은 배타적이 아니다.
[0020] 무선 통신 시스템들에서 디바이스들을 발견하기 위한 기술들, 특히 발견될 디바이스를 식별하기 위한 탐색 문의의 공식화를 용이하게 하고 그리고/또는 발견된 디바이스의 위치에 관한 상세한 정보를 제공하기 위한 사용자 인터페이스가 또한 본원에서 논의된다. 예를 들어, 사용자는 탐색 문의의 일부를 제공할 수 있고, 사용자 인터페이스는 사용자에 의해 제공된 부분 및 사용자 및 엔티티에 의해 제공된 부분의 연관에 기초하여 탐색 문의의 다른 부분을 제공할 수 있다. 예를 들어, 사용자 인터페이스는 사용자와 사용자의 음성의 연관 또는 사용자 인터페이스가 일부인 디바이스와 사용자의 연관에 기초하여 디바이스의 이름으로 탐색을 완료할 수 있다. 다른 예로서, 사용자 인터페이스는 예를 들어, 건물의 내부의 맵(예를 들어, 평면도)을 제공할 수 있고, 발견된 디바이스의 위치의 시각적 표시를 제공할 수 있다. 다른 예로서, 사용자 인터페이스는 발견된 디바이스의 위치를, 다른 디바이스에 대한 및/또는 건물의 바닥의 기준 포인트와 같은 고정 위치에 대한 거리(및 가능하게는 방향)로서 제공할 수 있다. 그러나, 이러한 예들은 배타적이 아니다.
[0021] 무선 통신 네트워크들의 디바이스들 사이에서 디바이스 속성들을 통신하기 위한 기술들이 또한 본원에서 논의된다. 예를 들어, 디바이스는 디바이스의 타입(예를 들어, 모바일 폰, 텔레비전, 냉장고 등), 디바이스의 이름, 디바이스가 (적어도 예상으로) 정적인지 또는 (적어도 예상으로) 모바일인지 여부, 디바이스의 포지션 등과 같은 자신의 속성들을 브로드캐스트할 수 있다. 디바이스는 하나 이상의 각각의 속성들과 연관된 하나 이상의 프라이버시 표시들을 제공할 수 있다. 프라이버시 표시는, 예를 들어, 속성들의 브로드캐스트를 수신하는 디바이스가 속성의 표시를 포워딩 또는 달리 전송 또는 재송신하도록 허용되는지 여부를 표시할 수 있다. 다른 예로서, 프라이버시 표시는, 디바이스가 발견가능한지 여부, 예를 들어, 디바이스의 위치가 보고되도록 허용되는지 여부, 또는 디바이스의 위치를 결정하도록 하나 이상의 다른 디바이스들이 인가되는지 여부를 표시할 수 있다. 예를 들어, 디바이스는 디바이스의 네트워크 표, 위치들 및 속성들 내에 디바이스의 위치를 포함하지 않을 수 있다. 추가로, 제1 디바이스가 제1 디바이스의 위치를 제공하기 전에, 제1 디바이스는 제2 디바이스의 인가를 요구할 수 있다. 인가는 보안 문제들의 교환에 의해 획득될 수 있다. 대안적으로, 제1 디바이스는, 제2 디바이스가 적절한(인가된) 암호화 키를 갖는 경우에만 제2 디바이스가 적절히 암호해독할 수 있는 암호화된 메시지에서 제1 디바이스의 위치를 제공할 수 있다. 또한 대안적으로, 인가가 미지/식별불가능이면, 제1 디바이스는 제1 디바이스의 위치에 대한 지식을 방해하기 위해 스푸핑(spoofing)을 사용할 수 있다. 스푸핑은 예를 들어, 제1 디바이스에 의해 송신된 타이밍 신호에 에러를 추가함으로써, 근접도 결정을 변경하기 위해 송신된 신호의 전력 레벨을 조절함으로써, 및/또는 부정확한 위치(예를 들어, 신뢰되는 위치 플러스, 예를 들어, 100m의 에러)를 보고함으로써 제1 디바이스의 위치에 에러를 추가할 수 있다. 또 다른 예로서, 디바이스의 어떤 속성들이 속성들의 세트에 포함되는지 및/또는 어떤 속성들(또는 속성 값들)이 디바이스에 의해 송신되는지는, 예를 들어, 디바이스의 위치 또는 요일, 또는 시각, 또는 이들의 조합들 및/또는 하나 이상의 다른 기준들에 기초하여 달라질 수 있다. 그러나, 이러한 예들은 배타적이 아니다.
[0022] 본원에 설명된 항목들 및/또는 기술들은 하기 능력들 뿐만 아니라 언급되지 않은 다른 능력들 중 하나 이상을 제공할 수 있다. 예상되는 정적 디바이스가 이동하거나 이동중인 것에 대한 응답으로 노티스(notice)들이 제공될 수 있다. 디바이스 포지션 결정은, 예를 들어, 예상되는 모바일 디바이스들로부터의 신호들의 측정들보다 예상되는 정적 디바이스들로부터의 신호들의 측정들을 가중함으로써, 또는 심지어 예상되는 모바일 디바이스들로부터의 신호들의 측정들을 폐기하거나 수행하지 않음으로써 개선될 수 있다. 디바이스 속성들은 다른 디바이스들에 선택적으로 송신되어, 신뢰되지 않는 환경들에서 민감한 정보의 은닉을 허용하고, 예상되는 청중에 기초하여 정보의 선택적 배포를 허용할 수 있다. 다른 능력들이 제공될 수 있으며, 본 개시에 따른 모든 구현이 논의된 능력들 중 전부뿐만 아니라 임의의 것을 제공해야 하는 것은 아니다.
[0023] 도 1을 참조하면, 무선 통신 시스템(10)은 무선 통신 디바이스들(12, 14, 16, 18, 20, 22), 액세스 포인트(24), 기지국(26), 네트워크(28), 서버(30), 프레즌스(presence) 센서(32) 및 오디오 트랜스듀서(34)를 포함한다. 디바이스들(12, 14, 16, 18), 액세스 포인트(24), 프레즌스 센서(32) 및 오디오 트랜스듀서(34)는 구조(36)(예를 들어, 건물) 내부에 배치된다. 시스템(10)은, 시스템(10)의 컴포넌트들이 직접적으로 또는 간접적으로, 예를 들어, 네트워크(28) 및/또는 액세스 포인트(24) 및/또는 기지국(26)(또는 도시되지 않은 다른 액세스 포인트들 및/또는 다른 기지국들)을 통해 서로 통신할 수 있다는 점에서 통신 시스템이다. 시스템(10)은, 시스템(10)의 컴포넌트들 중 적어도 일부가 서로 무선으로 통신할 수 있다는 점에서 무선 통신 시스템이다. 예를 들어, 기지국(26) 및 디바이스(20)는 LTE, GSM, CDMA, 또는 OFDM과 같은 하나 이상의 프로토콜들에 따른 신호들을 사용하여 무선으로 통신할 수 있다. 단일 액세스 포인트(24) 및 단일 기지국(26)은 오직 예들이며, 다른 양의 액세스 포인트들 및/또는 기지국들이 사용될 수 있다. 또한, 디바이스들(12, 14, 16, 18, 20, 22)의 타입들(예를 들어, 기기, 스마트 폰, 태블릿 컴퓨터, 랩탑 컴퓨터 및 자동차)은 예들이며, 현재 존재하든 또는 장래에 개발되든 다른 타입들의 디바이스들이 사용될 수 있다. "기지국"이라는 용어는 기지국(26)을 임의의 특정 형태, 프로토콜 등으로 제한하지 않는다. 예를 들어, 기지국(26) 중 임의의 것(및/또는 도시되지 않은 다른 기지국들)은 BTS(base transceiver station), AN(access node), 노드 B, eNB(evolved Node B) 등으로 지칭될 수 있다. 추가로, 디바이스(22)는 자동차이고, 자동차의 주 기능이 통신 디바이스인 것을 아니지만, 자동차는 자동차의 일부로서 통신 디바이스를 포함할 것이고, 본 개시의 단순화를 위해, 자동차는 본원에서 통신 디바이스의 일 타입으로 고려된다.
[0024] 시스템(10)은 이러한 예에서 IoT(Internet of Things) 네트워크를 포함하고, 디바이스들(12, 14, 16, 18, 20, 22)은 특히 하나 이상의 단거리 무선 통신 기술들을 통해 서로 통신하도록 구성된다. 그러나, 시스템(10)이 IoT 네트워크인 것은 예시이고, 요구되는 것은 아니다. 단거리 무선 통신 기술들의 예들은 블루투스 통신들, 블루투스 저에너지 통신들 및 Wi-Fi 통신들을 포함한다. 디바이스들(12, 14, 16, 18, 20, 22)은 정보를 브로드캐스트할 수 있고 그리고/또는 디바이스들(12, 14, 16, 18, 20, 22) 중 하나로부터의 정보를 다른 디바이스에 또는 액세스 포인트(24) 및/또는 기지국(26)과 같은 다른 디바이스에 중계할 수 있다. 디바이스들(12, 14, 16, 18, 20, 22) 중 하나 이상은 다수의 타입들의 라디오들, 예를 들어, 블루투스 라디오, Wi-Fi 라디오, 셀룰러 라디오(예를 들어, LTE, CDMA, 3G, 4G 등) 등을 포함할 수 있어서, 정보는 하나의 라디오를 사용하여 수신되고 상이한 라디오를 사용하여 송신될 수 있다. 추가로, 디바이스들(12, 14, 16, 18, 20, 22) 중 하나 이상은 디바이스들(12, 14, 16, 18, 20, 22) 중 다른 디바이스까지의 범위를 (예를 들어, RTT(round-trip time), 또는 OTDOA(observed time difference of arrival) 또는 RSSI(received signal strength indications) 또는 하나 이상의 다른 기술들 또는 임의의 이러한 기술들 중 하나 이상의 조합을 사용하여) 결정하고 그리고/또는 디바이스들(12, 14, 16, 18, 20, 22) 중 다른 디바이스로부터 및/또는 액세스 포인트(24) 및/또는 기지국(26)과 같은 하나 이상의 다른 디바이스들로부터 신호의 AOA(angle of arrival)를 결정하도록 구성될 수 있다.
[0025] 도 2를 참조하면, 구조(36)의 내부의 시스템(10)의 실내 부분은 무선 통신 디바이스들(40, 41, 42, 43, 44, 45, 46, 47), 프레즌스 센서(50, 52), 오디오 트랜스듀서들(54, 56), 중앙 제어기(60) 및 액세스 포인트(24)(여기서는 Wi-Fi 라우터)를 포함한다. 이러한 예에서, 무선 통신 디바이스들(40-47)은 주방(64)에 배치된 식기 세척기(40), 오븐(41), 토스터(42) 및 냉장고(43), 거실(66)에 배치된 태블릿(44), 스마트 폰(45) 및 텔레비전, 및 차고(68)에 배치된 자동차(46) 및 차고 문 개방기(47)를 포함한다. 이러한 디바이스들(40-47)은, 서로의 통신 범위 내에 있으면 서로 통신하고, 프레즌스 센서들(50, 52) 및 중앙 제어기(60)와 통신하도록 구성된다. 서로와의 통신 능력들을 사용하면, 디바이스들(40-47)에 관한 정보는 서로에게 전송되거나, 다른 디바이스들에 중계되거나, 심지어 중앙 제어기(60)에 중계될 수 있다. 추가로, 중앙 제어기(60)로부터의 통신들은 디바이스들(40-47)에 의해 수신되거나 그에 의해 포워딩될 수 있다. 또한 추가로, 중앙 제어기(60)는 도 2에 도시된 바와 같이 독립형 디바이스일 수 있거나 또는 임의의 디바이스들(40-47)에 통합될 수 있다. 이러한 예에서, 시스템(10)은 본원에 설명된 기능성을 용이하게 하기 위해, 다양한 정보(예를 들어, 속성들, 속성 표들, 속성들과 관련된 정보, 신호 측정들, 위치 표시들 등)를 생성, 전송, 수신, 중계 또는 포워딩할 수 있는 IoT 네트워크를 제공한다. 디바이스들(40-47)은 오직 예들이고, 다른 타입들의 디바이스들 뿐만 아니라 다른 양의 디바이스들이 사용될 수 있다.
[0026] 프레즌스 센서들(50, 52)은 디바이스들 및/또는 사용자들의 프레즌스의 검출을 용이하게 한다. 프레즌스 센서들(50, 52)은 임의의 다양한 방식들로 디바이스들 및/또는 사람들의 프레즌스를 검출할 수 있다. 예를 들어, 프레즌스 센서들(50, 52) 중 어느 하나 또는 둘 모두는, 예를 들어, 신호들을 전송하고, 이들의 반사들을 측정하고, 현재 반사들을 이전 반사들과 비교하는 움직임 센서를 포함할 수 있다. 신호들은 가시적 또는 비가시적(예를 들어, 적외선) 광 신호들 및 가청 또는 비가청(예를 들어, 초음파) 음향 신호들일 수 있다. 프레즌스 센서들(50, 52) 중 어느 하나 또는 둘 모두는 예를 들어, 적외선 센서를 포함하는 열 센서를 포함할 수 있다. 프레즌스 센서들(50, 52) 중 어느 하나 또는 둘 모두는 디바이스들(40-47) 중 하나 이상 및/또는 중앙 제어기(60)와 통신가능하게 커플링(예를 들어, 하드-와이어 또는 무선 통신)될 수 있다. 프레즌스 센서들(50, 52)은 사람과 같은 관련 물체의 프레즌스의 검출을 (가능하게는 새로운 경우에만 또는 가능하게는 새롭고 진행중인 경우에만) 보고하도록 구성된다.
[0027] 오디오 트랜스듀서들(54, 56)은 사용자들로부터의 커맨드들의 수신 및 중앙 제어기(60) 또는 다른 적절한 디바이스로의 프로비전을 용이하게 한다. 오디오 트랜스듀서들은 바람직하게는 중앙 제어기(60)에 통신가능하게 커플링(예를 들어, 하드-와이어 또는 무선 통신)되고, 구두 커맨드들을 수신하고, 이러한 커맨드들을 전기 신호들로 변환하고, 신호들을 중앙 제어기(60) 또는 다른 적절한 디바이스에 전송하도록 구성된다. 오디오 트랜스듀서들(54, 56)은 신호들을 중앙 제어기(60)에 또는 디바이스들(40-47) 중 하나 이상과 같은 다른 적절한 디바이스에 직접 또는 간접적으로(예를 들어, 신호들을 중계하는 하나 이상의 중간적 디바이스들을 통해) 전송할 수 있다.
[0028] 도 3을 참조하고 도 1을 추가로 참조하면, 무선 통신 디바이스(70)의 예는 프로세서(80), 소프트웨어(SW)(84)를 포함하는 메모리(82), 선택적 사용자 인터페이스(86) 및 트랜시버(88)를 포함하는 컴퓨터 시스템을 포함한다. 프로세서(80)는 바람직하게는 지능형 하드웨어 디바이스, 예를 들어, CPU(central processing unit), 예를 들어, QUALCOMM®, ARM®, Intel® Corporation, 또는 AMD®에 의해 제조 또는 설계된 것들, 마이크로제어기, 주문형 집적 회로(ASIC) 등이다. 프로세서(80)는 디바이스(70)에 분포될 수 있는 다수의 별개의 물리적 엔티티들을 포함할 수 있다. 메모리(82)는, 랜덤 액세스 메모리(RAM) 및/또는 판독-전용 메모리(ROM)를 포함할 수 있다. 메모리(82)는, 수행되는 경우 프로세서(80)로 하여금 본원에 설명된 다양한 기능들을 수행하게 하도록 구성된 명령들을 포함하는 프로세서 판독가능 프로세서 실행가능 소프트웨어 코드인 소프트웨어(84)를 저장하는 비일시적 프로세서 판독가능 저장 매체이다. 설명은 기능을 수행하는 프로세서(80) 또는 디바이스(70)만을 참조할 수 있지만, 이는, 프로세서(80)가 소프트웨어 및/또는 펌웨어를 실행하는 경우와 같이 다른 구현들을 포함한다. 소프트웨어(84)는 프로세서(80)에 의해 직접 실행가능하지 않을 수 있고, 그 대신 예를 들어, 컴파일되고 실행되는 경우 프로세서(80)로 하여금 기능들을 수행하게 하도록 구성될 수 있다. 컴파일이 필요하든 아니든, 소프트웨어(84)는 프로세서(80)로 하여금 기능들을 수행하게 하는 명령들을 포함한다. 프로세서(80)는 메모리(82)에 통신가능하게 커플링된다. 메모리(82), 사용자 인터페이스(86)(적절하게) 및/또는 트랜시버(88)와 조합된 프로세서(80)는 본원에 설명된 바와 같은 기능들을 수행하기 위한 수단, 예를 들어, 디바이스 속성들과의 통신들을 생성하고 트랜시버(88)로 하여금 이러한 통신들을 디바이스(70)로부터 무선으로 송신하게 하기 위한 수단, 다른 디바이스들로부터 통신들을 수신하기 위한 수단, 수신된 통신들의 적어도 일부들을 중계(예를 들어, 수신된 통신들의 일부들을 포워딩/전송)하는 것을 포함하는, 통신들을 다른 디바이스들에 송신하기 위한 수단, 및 다양한 정보, 예를 들어, 디바이스(70)의 포지션, 디바이스(70)로부터 다른 디바이스까지의 상대적 거리, 디바이스(70)에서 신호의 도달 각도, "정적"인 모빌리티 상태를 갖는 다른 디바이스의 포지션에서의 변화 등을 결정하기 위한 수단을 제공한다. 소프트웨어(84)는, 네트워크 접속을 통해 다운로딩되는 것, 디스크로부터 업로딩되는 것 등에 의해 메모리(82) 상으로 로딩될 수 있다. 디바이스(70)는 도 2에 도시된 무선 통신 디바이스들(40-47) 중 임의의 것 또는 다른 디바이스일 수 있다. "무선 통신 디바이스"라는 용어는 무선 통신 디바이스들(40-47)로부터 명백한 바와 같이, 디바이스의 기능이 배타적으로 또는 동등하게 주로 통신을 위한 것일 것, 또는 디바이스가 모바일 디바이스일 것을 요구하지 않으며, 디바이스가 무선 통신 능력(일방향 또는 양방향)을 포함하는 것, 예를 들어, 무선 통신을 위해 적어도 하나의 라디오(각각의 라디오는 송신기, 수신기 또는 트랜시버의 일부인 것)를 포함하는 것을 표시한다. 사용자 인터페이스(86)(예를 들어, 디스플레이 및/또는 마이크로폰 및 스피커)는 선택적이어서, 예를 들어, 태블릿(44) 및 스마트 폰(45)은 디스플레이, 마이크로폰 및 스피커를 포함하는 한편, 차고 문 개방기(47)는 (통상적으로) 디스플레이, 마이크로폰 또는 스피커를 포함하지 않지만, 차고 문 개방기(47)는 어떠한 종류의 사용자 인터페이스, 예를 들어, 사용자에 의해 동작가능한 스위치들을 포함할 수 있다.
[0029] 트랜시버(88)는 디바이스(70)로부터 통신들을 무선으로 전송하고, 예를 들어, 무선 통신 디바이스(40-47), 액세스 포인트(24) 또는 중앙 제어기(60)로부터 디바이스(70)로의 무선 통신들을 수신하도록 구성된다. 따라서, 트랜시버(88)는 하나 이상의 무선 통신 라디오들을 포함한다. 도 3에 도시된 예에서, 트랜시버(88)는 선택적으로 블루투스 라디오(90), Wi-Fi 라디오(92) 및 LTE(long-term evolution) 라디오(94)를 포함한다. 도시된 바와 같이, 라디오들(90, 92, 94) 각각은 선택적이지만, 트랜시버(88)는 적어도 하나의 무선 통신 라디오를 포함할 것이다. 추가로, 하나 이상의 다른 타입들의 라디오들이 라디오(들)(90, 92, 94)에 추가로 또는 그 대신에 디바이스(70)에 포함될 수 있다. 트랜시버(88)가 하나 초과의 무선 통신 라디오를 포함하면, 트랜시버(88)는 무선 통신 라디오들 중 하나를 사용하여 무선 통신을 수신할 수 있고, 상이한 무선 통신 라디오를 사용하여 통신(또는 이의 일부)을 송신(예를 들어, 중계 또는 포워딩)할 수 있다. 통신은 무선 통신 디바이스들(40-47) 중 다른 디바이스에 또는 액세스 포인트(24)와 같은 다른 디바이스에 송신될 수 있다. 따라서, 예를 들어, 디바이스(70)는 블루투스 라디오(90)를 사용하여 무선 통신을 수신할 수 있고, Wi-Fi 라디오(92)를 사용하여 블루투스 라디오를 포함하지 않는 다른 디바이스에 통신을 포워딩할 수 있다.
[0030] 프로세서(80)는 디바이스들 사이에서, 예를 들어, 중앙 제어기(60)로부터 디바이스(40-47)에 또는 디바이스들(40-47)로부터 중앙 제어기에 통신들을 중계하도록 구성된다. 예를 들어, 프로세서(80)는 디바이스들(40-47) 중 하나의 위치에 대해 중앙 제어기(60)로부터의 요청을 트랜시버(88)를 통해 (직접 또는 간접적으로, 예를 들어, 디바이스들(40-47) 중 다른 디바이스로부터) 수신할 수 있다. 프로세서(80)는 디바이스(70)의 통신 범위 내에서 디바이스들(40-47) 중 하나 이상에 요청을 중계할 수 있다. 프로세서(80)는, 응답이 중앙 제어기(60)에 도달할 때까지, 디바이스들(40-47) 중 임의의 것으로부터의 응답을 중앙 제어기(60)에 또는 추가적 중계를 위해 다른 디바이스에 중계하도록 추가로 구성된다. 응답은, 예를 들어, 타겟 디바이스의 위치일 수 있고, 위치는, 예를 들어, 응답을 송신한 디바이스로부터 다른 디바이스에 대한 거리일 수 있다.
[0031] 프로세서(80)는 디바이스(70)에 대응하는 디바이스 속성 값들을 생성, (메모리(82)를 통해) 저장, 수정 및 (트랜시버(88)를 통해) 송신하도록 구성된다. 프로세서(80)는, 예를 들어, 프로세서(80)가 속성(예를 들어, 다른 디바이스까지의 범위 및/또는 AOA, 자신의 포지션, 통신 범위 내의 새로운 디바이스 등)에서의 가능한 변화를 검출할 때마다 속성들을 결정 및 업데이트할 수 있다. 임의의 특정 디바이스에 저장된 디바이스 속성들 및 이들 각각의 값들은 통상적으로 그 디바이스에 따라 달라질 것이다. 예를 들어, 도 4를 또한 참조하면, 프로세서(80)는 속성들(112)의 표시들, 속성들(112)의 값들(114), 및 대응하는 속성(112)이 공개인지 또는 비밀인지 여부를 표시하는 공개/비밀 상태(116)를 포함하는 속성 표(110)를 생성 및 유지할 수 있다. 도 4에 도시된 예에서, 속성 표(110)는 디바이스 타입(118)의 속성들, 디바이스 이름/ID(120), 모빌리티(122), 제1 포지션(124), 제1 포지션 불확실성(126)(Pos Unc), 제2 포지션(128), 제2 포지션 불확실성(130) 및 제2 도달 각도(132)를 포함한다. 제2 도달 각도(132)는 이러한 예에서, 제1 도달 각도가 없는 경우에도 제2 도달 각도로 지칭되는데, 이는, 제2 도달 각도(132)가 제2 포지션(128)에 대응하기 때문이다. 이러한 예에서, 디바이스 타입(118), 디바이스 이름/ID(120) 및 모빌리티(122)의 값들(114)은 각각 "냉장고", "냉장" 및 "정적"이다.
[0032] 프로세서(80)는 다른 디바이스들의 속성 값들을 저장할 수 있다. 프로세서(80)는 디바이스(70)의 통신 범위 내에서 현재 및/또는 미리 디바이스들에 대한 속성들의 표들을 유지할 수 있다. 따라서, 프로세서(80)는 다른 디바이스들의 속성 값들을 저장할 수 있고, 단지 속성 값들을 중계하는 것은 아닐 수 있다.
[0033] 프로세서(80)는 하나 이상의 기준 위치들 또는 물체들에 대한 디바이스(70)의 포지션들을 결정 및 제공하도록 구성되고, 하나 이상의 포맷들로 포지션들을 제공할 수 있다. 예를 들어, 프로세서(80)는 공간에서 고정된 위치에 대한 포지션을 생성할 수 있다. 표(110)에서 이의 예는 ENU(East, North, up) 좌표들에서 제1 포지션(124)의 114의 값이다. 이러한 예에서, 제1 포지션(124)의 값(114)은 "ENU equals [0 0 0]. m"이고, 기준 위치에 대해 미터(meter)들 동쪽, 북쪽 및 위의 수들로 주어진다. 예를 들어, 좌표들은 심지어, 구조(36)의 가장 남쪽 포인트, 구조(36)의 가장 서쪽 포인트 및 구조(36)의(예를 들어, 전체 구조(36)의 또는 구조(36)의 플로어와 같은 이의 일부의) 가장 하부 포인트를 갖는 원점(11)(도 2)에 대한 것일 수 있다. 도 2에 도시된 바와 같이, 원점(11)은 구조(36)로부터 또는 구조(36)의 특정 플로어로부터 변위될 수 있다. 제1 포지션 불확실성(126)의 값(114)은, 제1 포지션(124)에서 제공되고 이러한 예에서 좌표들 각각에 대해 0 m인 좌표들 각각의 불확실성의 표시이다. 상대적 위치의 다른 형태의 예로서, 프로세서(80)는 (예를 들어, 그 물체로부터의 신호들의 도달 각도에 기초하여) 기준 위치 또는 물체에 대한 거리 및 그 물체에 대한 각도를 결정할 수 있다. 예를 들어, 표(110)에서, 제2 포지션(128)의 값(114)은 기준 물체에 대해 2.3 m이다. 추가로, 이러한 예에서 제2 포지션 불확실성(130)은 0.1 m와 동일하고, 제2 도달 각도(132)는 43°와 동일하다. AOA(angle of arrival)는 기준 방향에 대해, 예를 들어, 진북 또는 자북에 대해 제공될 수 있다.
[0034] 프로세서(80)는 디바이스(70)의 배향에 대한 도달 각도(132)를 결정하도록 구성될 수 있다. 프로세서(80)는, 예를 들어, 라디오들(90, 92, 94)의 하나 이상의 지향성 안테나들에서 수신 신호들을 분석하고, 하나 이상의 자력계들 및/또는 하나 이상의 가속도계들 및/또는 나침반(예를 들어, 디지털 나침반)과 같은 디바이스(70)에 포함된 하나 이상의 배향 센서들로부터의 정보를 분석함으로써 다양한 기술들 중 임의의 것을 사용하여 도달 각도를 결정할 수 있다. 프로세서(80)는 예를 들어, 라디오들(90, 92, 94) 중 하나 초과에 의해 수신된 신호들로부터 결정된 다수의 AOA 결정들을 분석하고, 예를 들어, 결정된 각도들을 평균화함으로써 결정된 각도들을 결합하도록 구성될 수 있다.
[0035] 프로세서(80)는 공지된 기술들(예를 들어, RSSI, RTT 등)을 사용하여 물체까지의 거리를 결정하도록 구성될 수 있다. 프로세서(80)는 시간에 걸쳐 측정들을 평균화/샘플링하고 그리고/또는 다수의 상이한 기술들 및/또는 다수의 라디오들로부터의 측정들을 사용하여 범위들을 결정하여, 포지션 결정의 정확도를 개선하고 위치에서의 (적어도 하나 이상의 이웃 디바이스들에 대한) 변화들을 검출할 수 있다. 프로세서(80)가 범위를 결정하기 위해 다수의 라디오들을 사용하도록 구성되면, 프로세서(80)는 물체까지의 추정된 거리 및/또는 디바이스(70)의 환경에 기초하여 어느 라디오(들)를 사용할지를 선택하도록 구성될 수 있다. 예들로서, 물체의 마지막으로 공지된 위치가 150m보다 컸다면, 프로세서(80)는 LTE 라디오(94)를 사용하는 것으로 선택할 수 있고, 물체가 20m 미만 떨어진 것으로 마지막으로 공지되었다면, 블루투스 라디오(90) 및 Wi-Fi 라디오(92)를 사용하는 것으로 선택할 수 있다. 프로세서(80)는 새로운 측정들에 기초하여 디바이스(70)의 포지션을 업데이트할 수 있다. 바람직하게는, 디바이스(70)의 포지션을 결정하기 위해, 프로세서는, 정적 성질 및 포지션들이 교환/브로드캐스트되는 3개 이상의 정적 디바이스들로부터의 측정들을 사용한다. 프로세서(80)는 모빌리티 상태가 정적인 디바이스들로부터의 측정들을 더 가중하도록 구성될 수 있다. 프로세서(80)는 프로그래밍된 위치들을 갖는 및/또는 자체-포지셔닝 능력(예를 들어, SPS, Wi-Fi 포지셔닝)을 갖는 디바이스들을 앵커 기준 물체들로서 사용할 수 있다. 디바이스들에 대해 결정된 상대적 포지션들 및 이러한 디바이스들에 대해 (직접 또는 간접적으로) 수신된 속성 값들에 기초하여, 프로세서(80)는 디바이스들의 상태, 예를 들어, 정적, 10m만큼 이동, 다시 로케이팅되고 현재 정적, 등을 결정할 수 있다.
[0036] 프로세서(80)는 디바이스(70)의 포지션을 자체 모니터링하도록 구성될 수 있다. 프로세서(80)는 이웃 디바이스 리스트, 이웃들의 범위들 및/또는 추정된 포지션에 기초하여, 디바이스(70)의 포지션에서의 변화를 결정하도록 구성될 수 있다. 모바일의 모빌리티 상태를 갖는 디바이스들로부터의 측정들은, 특정 환경들 하에서, 예를 들어, 디바이스가 임계 시간양보다 오래 이동하지 않은 경우 통상적인 것보다 높은 가중치를 부여받을 수 있다.
[0037] 프로세서(80)는 하나 이상의 이웃 디바이스들의 위치에서의 변화들을 검출하기 위해 피어 모니터링을 제공하도록 구성될 수 있다. 예를 들어, 프로세서(80)는, 이웃 디바이스들의 대부분의 포지션들이 일정한 한편 특정 이웃 디바이스의 상대적 포지션이 변화되면 그 특정 이웃 디바이스의 포지션에서의 변화를 검출 및 보고할 수 있다. 프로세서(80)는, 이웃 리스트 상의 특정 이웃 디바이스의 존재가, 예를 들어, 리스트 상에 있는 것으로부터 리스트 상에 없는 것으로 또는 리스트 상에 없는 것으로부터 리스트 상에 있는 것으로 변하는 한편, 이웃 리스트 상의 다른 디바이스들에 대한 범위들이 동일하게 유지되면, 그 특정 디바이스의 포지션에서의 변화를 보고할 수 있다.
[0038] 프로세서(80)는 대응하는 속성이 공개인지 또는 비밀인지 여부를 표시하는 공개/비밀 표시들(116)을 제공하도록 추가로 구성된다. 프로세서(80)는 이러한 예에서, 공개인 임의의 속성에 대해 0의 값을 그리고 비밀인 임의의 속성에 대해 1의 값을 제공하도록 구성된다. 공개인 속성의 표시로서의 0 및 비밀인 속성의 표시로서의 1의 사용은 단지 예시이며, 공개/비밀 상태의 다수의 다른 명시적 표시들이 사용될 수 있다. 속성이 공개라는 표시는, 속성 표(110)를 수신하는 디바이스에, 그 수신 디바이스가 대응하는 속성 및 속성 값을 추가적 수신 디바이스에 재전송할 수 있음을 표시한다. 속성이 비밀이라는 표시는, 속성 표(110)를 수신하는 디바이스에, 그 수신 디바이스가 대응하는 속성 및 속성 값을 추가적 수신 디바이스에 재전송할 수 없음을 표시한다. 프로세서(80)는 속성 표들을 수신하고 이러한 공개/비밀 관례에 따라 대응하는 속성들을 프로세싱하도록 구성된다.
[0039] 대안적으로, 프로세서(80)는 공개/비밀 표시들(116) 없이 속성 표를 생성할 수 있다. 프로세서(80)는 공개/비밀 상태의 명시적 표시들 없이 속성 표를 생성할 수 있지만, 속성들 중 하나 이상에 대한 공개/비밀 상태의 묵시적 표시를 갖는 속성 표를 여전히 생성할 수 있다. 예를 들어, 프로세서(80)는 공개 속성들을 갖는 속성 표를 생성하여 묵시적으로 공개인 속성 표의 위치들에 저장할 수 있고, 속성 표의 비밀 속성들을 묵시적으로 비밀인 속성 표의 위치들에 저장할 수 있다. 그러나, 이러한 기술은 단지 예시이고, 공개/비밀 상태의 묵시적 표시들을 위한 다수의 다른 기술들이 사용될 수 있다.
[0040] 프로세서(80)는 속성들(112) 중 하나 이상의 공개/비밀 상태(116)에 따라 속성 표(110) 또는 이의 적어도 하나 이상의 컴포넌트들을 상이하게 프로세싱하도록 구성될 수 있다. 예를 들어, 프로세서(80)는, 모든 속성들(112)의 공개/비밀 상태(116)가 공개인 경우에만 통신 범위 내의 임의의 디바이스에 속성 표(110)를 브로드캐스트하도록 구성될 수 있다. 이러한 방식으로, 디바이스 타입 및 모빌리티 상태와 같은 민감하지 않은 속성들은 통신 범위 내의 임의의 디바이스에 브로드캐스트될 수 있다. 예를 들어, 디바이스(70)가 상당한 보안 위험이 없는 집과 같은 지리적으로 배타적 영역에 있고 비교적 짧은 디바이스 브로드캐스트 범위(예를 들어, 단거리 블루투스)를 가지면, 디바이스(70)는 모든 속성(112)을 브로드캐스트할 수 있고, 이는 속성 표(110)가 브로드캐스트되지 않는 경우보다 디바이스(70)의 더 신속하고 더 용이한 셋업을 제공할 수 있다. 다른 예로서, 프로세서(80)는, 대응하는 공개/비밀 상태(116)가 공개인 그러한 속성들(112)만을 브로드캐스트하고, 공개/비밀 상태(116)가 비밀인 속성들(112)을, 인증되고 그 디바이스(70)와 쌍을 이룬 디바이스들에만 송신하도록 구성될 수 있다. 이러한 경우, 프로세서(80)는, 인증되고 디바이스(70)와 쌍을 이룬 디바이스들에 전체 속성 표(110)를 송신하도록 구성될 수 있다. 이러한 방식으로, 포지션과 같은 민감한 속성들이 보호될 수 있고, 오직 인증되고 디바이스(70)와 쌍을 이룬 디바이스들과 공유될 수 있다. 예를 들어, 홈 네트워크의 디바이스들은 자신들 각각의 속성들을 공유할 수 있는 한편, 외부 디바이스(및 예를 들어, 침입자의 모바일 폰)는 홈 네트워크의 디바이스들의 위치들을 포함하는 홈 네트워크 내의 디바이스들의 비밀 속성들에 액세스할 수 없을 것이다.
[0041] 프로세서(80)는 그러한 표들의 속성들의 공개/비밀 상태에 따라 각각의 속성 표들의 다른 디바이스들로부터 수신된 속성들을 프로세싱하도록 추가로 구성된다. 예를 들어, 프로세서(80)는 바람직하게는, 공개/비밀 상태가 비밀인 속성들의 수신된 값들을 브로드캐스트 또는 달리 재송신하지 않을 것이고, 공개/비밀 상태가 공개인 속성들을 리브로드캐스트 또는 달리 재송신할 수 있다. 이러한 방식으로, 속성들은 디바이스들, 예를 들어, 디바이스들(40-47) 사이에서 중계될 수 있고 중앙 제어기(60)에 제공될 수 있다. 속성들의 중계/재송신은 동일한 라디오 및/또는 상이한 라디오들을 통할 수 있다(예를 들어, 일 타입의 라디오를 통해 수신되고, 속성들이 수신된 라디오 대신에 또는 그에 추가로 하나 이상의 다른 타입들의 라디오들을 사용하여 재송신될 수 있다). 추가로, 프로세서(80)는 디바이스(70)의 포지션을 결정하기 위해 송신 디바이스로부터 수신된 정보를 사용할 수 있지만, 송신 디바이스에 의해 송신된 적절한 속성(예를 들어, "디바이스 발견 허용’ 속성)이 비밀인 것으로 표시되면, 송신 디바이스의 포지션이 결정될 수 있게 하는 정보를 제공하지 않을 수 있다.
[0042] 프로세서(80)는 다른 디바이스들로부터 수신된 전체 속성 표들을 중계할 수 있다. 예를 들어, 프로세서(80)가 "새로운" 디바이스로부터 예를 들어, 프로세서(80)가 통신하지 않았던 디바이스로부터 또는 적어도 프로세서(80)가 속성 표를 수신하지 않았던 디바이스로부터 속성 표(또는 가능하게는 표의 일부가 아닌 속성들)를 수신하면, 프로세서(80)는 수신된 속성 표를 중계(예를 들어, 트랜시버(88)를 사용하여 재송신)할 수 있다. 추가로, 예를 들어, 속성 표가, 프로세서(80)가 수신한 그 디바이스에 대한 가장 최근의 속성 표보다 그 속성 표가 더 새로운 것을 표시하는 버전 번호를 포함하면, 프로세서(80)는, 디바이스로부터 업데이트된 속성 표를 중계할 수 있다.
[0043] 디바이스들(40-47) 중 상이한 디바이스들은 속성 표들과 같은 정보를 중계하기 위해 상이한 우선순위들을 가질 수 있다. 예를 들어, 플러그-인(plug-in)된 디바이스들은 속성 표들을 중계할 때 (적어도 현재) 플러그-인되지 않은 디바이스들보다 더 높은 우선순위를 가질 수 있고, 디바이스(40-47)은 정보의 과도한 중계를 감소 또는 제거하도록 통신할 수 있다. 다른 예로, 배터리 수명(예를 들어, 현재 및/또는 추정된 장래의 수명)이 더 많은 남은 디바이스들이 정보를 중계하기 위해 더 높은 우선순위를 가질 수 있다.
[0044] 디바이스(70)는 하나 이상의 속성들 및/또는 속성 표들을 중계하는 것과 같은 동작을 거부할 수 있다. 프로세서(80)는, 프로세서(80)가 하나 이상의 대응하는 동작들을 수행하는 것을 거부하는 것의 기초가 되는 규칙들 및/또는 기준들의 세트를 가질 수 있다. 규칙들 및/또는 기준들, 및 그러한 규칙들 및/또는 기준들에 대응하는 데이터는 디바이스(70) 및/또는 중앙 제어기(60)에 의해 추적될 수 있다. 예를 들어, 디바이스(70)는 디바이스(70)의/에 대한 배터리 레벨(기존 및/또는 예측)에 기초하여 속성 표를 중계하는 것을 거부할 수 있다. 프로세서(80)는 동작 거부의 부정 확인응답, 예를 들어, 프로세서(80)가 속성 표를 중계하지 않았거나 중계하지 않을 것을 표시하는 메시지를 전송하도록 구성될 수 있다. 프로세서(80)는 장래의 동작 거부, 예를 들어, 특정한 장래의 시간 이후 프로세서(80)가 하나 이상의 특정된 기능들(예를 들어, 속성 표를 중계하는 것)을 수행하지 않을 것이라는 표시를 전송하도록 구성될 수 있다. 장래의 시간은 시각 및/또는 현재 시간으로부터 소정의 시간양(예를 들어, 지금부터 10 분)과 같은 임의의 다양한 방식들로 특정될 수 있다. 프로세서(80)는, 장래의 동작 거부에 대한 이유, 예를 들어, 디바이스(70)가 허용불가능하게 낮은 배터리 레벨(예를 들어, 용량의 10% 또는 5%와 같이 특정될 수 있음)을 가질 것이라는 표시를 포함할 수 있다.
[0045] 표(110)는 오직 예시이고, 속성 표의 일부로서 또는 속성 표와는 독립적으로 프로세서(80)에 의해 더 많거나 더 적은 속성들이 기록 및/또는 송신될 수 있다. 추가로, 표(110)에 도시된 것들과는 (예를 들어, 표(110)에 도시된 속성들 중 하나 이상에 추가로 또는 그 대신에) 다른 속성들이 속성 표에 포함될 수 있다. 예를 들어, 가능한 다른 속성들은, 디바이스(70)와 연관된 하나 이상의 신뢰되는 디바이스들의 리스트, 다른 무선 통신 디바이스와의 교신과 연관된 라운드-트립 시간 및 그 디바이스의 위치, 지원되는 레인징 프로토콜, 레인징 불확실성, 디바이스(70)에 이웃하는 액세스 포인트들(또는 다른 디바이스들)을 표시하는 이웃 리스트, 이웃 리스트 이력, 디바이스(70)가 맵 상에 제시될 수 있는지 여부 및 도달 각도 결정들이 지원되는지 여부를 포함한다. 추가로, 디바이스(70)에 의해 전송된 속성 표에 포함되지 않은 속성에 관한 표시가 제공될 수 있다(예를 들어, 포지션 또는 고도가 아직 결정되지 않았거나 디바이스가 이러한 정보를 제공할 능력을 갖지 않으면, 포지션 또는 고도가 제공되지 않는 것으로 명시적으로 표시될 수 있다). 도 4에 가능한 것으로 도시된 더 많거나 더 적은 속성들의 다른 예로서, 표(110)에서 각각의 포지션에 대응하는 포지션 불확실성이 존재하지만, 이는 요구되는 것은 아니고 프로세서(80)에 의해 생성된 속성들의 임의의 표에서 제공되는 임의의 포지션들 중 하나 이상은 대응하는 포지션 불확실성을 가질 수 있거나, 또는 제공되는 대응하는 포지션 불확실성을 갖지 않을 수 있다. 추가로, 표(110)는 물체에 대한 포지션과 연관된 도달 각도를 도시하지만, 이는 요구되는 것은 아니다. 표(110)는 또한, 디바이스(70)에 의해 표시가 송신되고 있지 않은 속성의 아이덴티티를 포함할 수 있다. 추가로, 속성 표(110) 또는 다른 속성 표에 포함될 수 있는 다른 속성들은 속성 표(110)에 나타나지 않더라도, 예를 들어, 전력 소모, 전력/배터리 상태(예를 들어, 나머지 전력량과 같은 현재 배터리 레벨(예를 들어, 용량 퍼센트) 및/또는 현재 소모 레이트 또는 계획된 배터리 상태에서 남은 시간, 또는 디바이스가 벽 콘센트에 연결되었는지 여부), 활동 사이클(예를 들어, 디바이스가 언제 또는 얼마나 자주 웨이크(wake)하는지 및 얼마나 오래 웨이크하는지의 웨이크 스케줄), 지원되는 무선 통신 프로토콜들(예를 들어, 디바이스(70)가 지원하는 802.11의 버전들(예를 들어, g, n, ac, ad)), 관심 포인트 위치(예를 들어, 방 이름, 도시 주소, 건물 이름, 상점 이름 등), 속도(속력 및 방향) 또는 속력을 포함한다. 디바이스(70)와 연관된 하나 이상의 신뢰되는 디바이스들의 리스트, 지원되는 레인징 프로토콜 및 레인징 불확실성과 같은 또 다른 속성들이 표(110)에 포함될 수 있다. 추가적으로 또는 대안적으로, 하위-속성들 또는 계층화된 속성들, 예를 들어, 상이한 레벨들의 위치 특정성을 갖는 계층화된 위치들이 존재할 수 있다. 예를 들어, 디바이스(70)의 POI(point-of-interest) 위치는 "집" 및 추가적으로 "거실" 또는 "California", "San Diego", "Sorrento Valley", "Sorrento Valley Road", "1234 Sorrento Valley Road", "Room 14C"로 나열될 수 있다. 또 다른 속성들이 속성 표(110) 또는 다른 속성 표에 포함되는 것이 가능하다.
[0046] 추가적으로 또는 대안적으로, 어떤 속성들 또는 속성 값들이 기록 및/또는 송신되는지는, 시각, 요일, 날짜, 위치, 하나 이상의 다른 기준들 및/또는 이러한 것들 중 임의의 것의 조합들과 같은 기준들에 기초하여 달라질 수 있다. 따라서, 속성 표(110)의 콘텐츠 또는 속성 표(110)의 어떤 콘텐츠가 송신되는지는 동적일 수 있다. 표(110)에 포함될 수 있거나 포함되지 않을 수 있는, 또는 (트랜시버(88)를 통해) 프로세서(80)에 의해 송신될 수 있거나 송신되지 않을 수 있는 속성은, 그 속성이 표(110)에 포함되는 경우에도 동적 속성으로 고려될 수 있다. 예를 들어, 하나 이상의 속성 값들의 송신은 특정 위치들, 또는 하나 이상의 특정된 위치들(예를 들어, 사용자의 집 이외의 임의의 위치 또는 다른 위치 또는 영역) 등에서 디스에이블(또는 반대로 인에이블)될 수 있다.
[0047] 프로세서(80)는 속성 표(110)를 수정하는 것을 포함하여, 이를 생성 및 유지하도록 구성된다. 예를 들어, 속성들(112) 중 하나 이상은 프로세서(80)가 속성 표(110)를 업데이트할 수 있도록 동적일 수 있다. 예를 들어, 프로세서(80)는 임계양보다 많이 변하는 디바이스(70)의 포지션 또는 완전히 변하는 디바이스(70)의 포지션(예를 들어, 디바이스(70)의 모빌리티 값(114)이 "정적인" 경우)과 같은 트리거에 대한 응답으로, 디바이스(70)의 포지션을 간헐적으로(예를 들어, 주기적으로) 업데이트할 수 있다. 디바이스(70)가 정적인 경우에도, 프로세서(80)는, 모바일인 다른 디바이스에 대해 포지션이 상대적일 수 있어서 디바이스(70)의 포지션을 업데이트할 수 있고, 그리고/또는 (포지션 값(들)이 변경되지 않은 경우에도) 포지션이 결정된 시간을 표시하기 위해 테이블(110)을 업데이트할 수 있다. 추가로, 프로세서(80)에 의해 결정 및 제공되는 가능한 속성들 중 대부분은 전력 상태, 배터리 상태, 전력 소모, 속도, 속력, 관심 포인트 위치 등과 같이 동적일 수 있다.
[0048] 추가로, 프로세서(80)는 (예를 들어, 속성 표(110)의) 속성들을 자동으로 또는 수동으로(사용자 입력에 대한 응답으로) 업데이트 또는 수정할 수 있다. 수동 예들로서, 프로세서(80)는 사용자 인터페이스(86)로부터 입력을 수신할 수 있고, 디바이스 이름/ID(120) 및/또는 디바이스(70)의 포지션(예를 들어, ENU 좌표들)과 같은 속성들(112) 중 하나 이상을 수정하기 위해 이러한 입력을 사용할 수 있다. 자동 예로서, 프로세서(80)는 (예를 들어, SPS(satellite positioning system), 라운드-트립 시간 계산, OTDOA(observed time difference of arrival) 계산, RSSI(received signal strength indication) 계산 등과 같은 다양한 기술들 중 임의의 것을 사용하여) 디바이스(70)의 포지션을 결정(계산 또는 수신) 및 업데이트하도록 구성될 수 있다. 프로세서(80)는 POI 이름들 및 연관된 지리적 영역들의 매핑, 상이한 영역들(예를 들어, 도 2에 도시된 바와 같은 주방, 거실 및 차고)에 대한 대응하는 POI 이름들을 갖는 도 2에 도시된 구조(36)의 매핑을 수신하도록 구성될 수 있다. 프로세서(80)는, 맵 내의 지리적 위치들(예를 들어, 영역들, 좌표들 등) 중 어느 것이 디바이스(70)의 위치에 대응하는지를 결정할 수 있다. 프로세서(80)는 결정된 지리적 위치에 기초하여 (예를 들어, 영역들 및 POI 이름들의 룩업 테이블 또는 좌표 범위들 및 POI 이름들의 룩업 테이블을 사용하여) POI 이름을 결정하도록 구성될 수 있다. 프로세서(80)는 디바이스(70)의 위치에 대응하는 지리적 위치와 연관된 POI 이름을 예를 들어, 메모리(82)의 표(110)에 디바이스(70)의 위치의 표시로서 저장(예를 들어, 초기에 기록 또는 업데이트)하도록 구성될 수 있다.
[0049] 프로세서(80)는 추가적으로 또는 대안적으로, 디바이스(70)의 통신 범위 내의 하나 이상의 디바이스들로부터 하나 이상의 속성 값들을 수신하는 것에 대한 응답으로 자동으로 (예를 들어, 속성 표(110) 내의) 속성들을 업데이트하도록 구성될 수 있다. 예를 들어, 프로세서(80)는 트랜시버(88)를 통해, 디바이스(70)의 통신 범위 내의 하나 이상의 디바이스들의 POI 위치 이름들의 하나 이상의 표시들을 수신할 수 있다. 프로세서(80)는 예를 들어, 동일한 POI 이름을 갖는 디바이스들의 수에 기초하여, 또는 디바이스(70)에 대한 다른 디바이스(들)의 근접도에 기초하여, 또는 다른 디바이스(들)의 모빌리티 상태 또는 하나 이상의 다른 기준들 또는 이들의 둘 이상의 조합에 기초하여, 표(110) 내의 POI 이름 속성의 값(114)을 수신된 이름들 중 하나로 수정함으로써 이러한 표시(들)를 수신하는 것에 응답할 수 있다. 예를 들어, 프로세서는 이웃 디바이스들로부터 수신된 POI 이름들의 임계 번호가 "거실"인 것에 대한 응답으로 표(110) 내의 POI 이름 속성의 값을 (예를 들어, "거실"로) 변경할 수 있다. 다른 예로, 프로세서(80)는, 다수의 디바이스들이 동일한 POI 이름을 갖고 임계 거리 내에서 디바이스(70)에 대한 위치들을 갖는 것에 대한 응답으로 표(110) 내의 POI 이름을 변경할 수 있다. 다른 예로, 프로세서(80)는 표(110) 내의 POI 이름을 디바이스(70)의 임계 거리 내에 있는 디바이스의 POI 이름으로 변경할 수 있다. 다른 예로, 프로세서는 표(110) 내의 POI 이름을 디바이스(70)의 임계 거리 내에 있는 정적 디바이스의 POI 이름으로 변경할 수 있다.
[0050] 프로세서(80)는 추가적으로 또는 대안적으로, 하나 이상의 기준들이 충족되는 것에 대한 응답으로 경보 표시를 송신하도록 구성될 수 있다. 예를 들어, 프로세서(80)는 다른 디바이스가 정적 모빌리티 상태를 갖는다는, 디바이스들(40-47) 중 하나와 같은 다른 디바이스로부터의 표시를 수신하도록 구성될 수 있다. 프로세서(80)는 디바이스(70)에 대한 다른 디바이스의 위치가 변한다고 결정하고, 디바이스(70)에 대한 다른 디바이스의 위치가 변했다는(및 가능하게는 또한 모빌리티 상태가 정적이라는) 표시를 송신하도록 구성될 수 있다. 예를 들어, 프로세서(80)는 트랜시버(88)를 통해, 정적으로 가정되는 동안 다른 디바이스가 이동했다는 표시를 중앙 제어기(60)에 (직접 또는 간접적으로) 송신할 수 있다. 이러한 표시는, 예를 들어, 다른 디바이스가 도난당했거나 달리 부적절하게 이동된다는(예를 들어, 아이가 이동되지 않아야 하는 물체를 이동시킨 것이라는) 경보일 수 있다.
[0051] 위치 속성에 대한 위치 포맷의 다른 예로서, 도 5를 또한 참조하면, 프로세서(80)는 속성들(152)의 표시들, 속성들(152)의 값들(154), 및 대응하는 속성(152)이 공개인지 또는 비밀인지 여부를 표시하는 공개/비밀 상태(156)를 포함하는 속성 표(150)를 생성 및 유지할 수 있다. 도 5에 도시된 예에서, 속성 표(150)는 디바이스 타입(158)의 속성들(152), 디바이스 이름/ID(160), 모빌리티(162), 제1 포지션(164) 및 제1 포지션 불확실성(166)을 포함한다. 이러한 예에서, 디바이스 타입(158), 디바이스 이름/ID(160) 및 모빌리티(162)의 값들(154)은 각각 "모바일 폰", "큰 아이의 폰" 및 "모바일"이다. 추가로, 제1 포지션(164)은 LAA(latitude, longitude, and altitude)의 측면에서 제공되는 값(154)을 갖는다. 이러한 예에서, 제1 포지션(164)의 값(154)은 위도 37.8°, 경도 -122.4° 및 (예를 들어, 해수면에 대해) 고도 80 m이다. 추가로 이러한 예에서, 제1 포지션(164) 및 제1 포지션 불확실성(166)의 공개/비밀 상태(156)는 비밀이다. 즉, 프로세서(80)는 제1 포지션(164) 및 제1 포지션 불확실성(166)의 값들(154)이 속성 표(150)를 수신한 임의의 디바이스에 의해 재송신(예를 들어, 리브로드캐스트)되지 않도록 표시하는 속성 표(150)를 생성하였다.
[0052] 도 6을 참조하고 도 1 및 도 2를 추가로 참조하면, 중앙 제어기(60)의 예는 프로세서(180), 소프트웨어(SW)(184)를 포함하는 메모리(182), 선택적 사용자 인터페이스(186), 및 선택적으로 BT(BLUETOOTH) 라디오(190), Wi-Fi 라디오(192) 및/또는 LTE 라디오(194)를 포함하는 트랜시버(188)를 포함하는 컴퓨터 시스템을 포함한다. 다른 타입들의 라디오들은 추가적으로 또는 대안적으로 예를 들어, BT-LE(BLUETOOTH-Low Energy) 라디오로 사용될 수 있다. 프로세서(180)는 바람직하게는 지능형 하드웨어 디바이스, 예를 들어, CPU(central processing unit), 예를 들어, QUALCOMM®, ARM®, Intel® Corporation, 또는 AMD®에 의해 제조 또는 설계된 것들, 마이크로제어기, 주문형 집적 회로(ASIC) 등이다. 프로세서(180)는 중앙 제어기(60)에 분포될 수 있는 다수의 별개의 물리적 엔티티들을 포함할 수 있다. 메모리(182)는, 랜덤 액세스 메모리(RAM) 및/또는 판독-전용 메모리(ROM)를 포함할 수 있다. 메모리(182)는, 수행되는 경우 프로세서(180)로 하여금 본원에 설명된 다양한 기능들을 수행하게 하도록 구성된 명령들을 포함하는 프로세서 판독가능 프로세서 실행가능 소프트웨어 코드인 소프트웨어(184)를 저장하는 비일시적 프로세서 판독가능 저장 매체이다. 설명은 기능을 수행하는 프로세서(180) 또는 중앙 제어기(60)만을 참조할 수 있지만, 이는, 프로세서(180)가 소프트웨어 및/또는 펌웨어를 실행하는 경우와 같이 다른 구현들을 포함한다. 소프트웨어(184)는 프로세서(180)에 의해 직접 실행가능하지 않을 수 있고, 그 대신 예를 들어, 컴파일되고 실행되는 경우 프로세서(180)로 하여금 기능들을 수행하게 하도록 구성될 수 있다. 컴파일이 필요하든 아니든, 소프트웨어(184)는 프로세서(180)로 하여금 기능들을 수행하게 하는 명령들을 포함한다. 프로세서(180)는 메모리(182)에 통신가능하게 커플링된다. 메모리(182), 사용자 인터페이스(86)(적절하게) 및/또는 트랜시버(188)와 조합된 프로세서(180)는, 본원에 설명된 바와 같은 기능들을 수행하기 위한 수단, 예를 들어, 타겟 디바이스의 위치에 대한 요청을 생성하기 위한 수단, 요청을 송신하기 위한 수단, 타겟 디바이스가 제어기(60)의 라디오(또는 라디오들)와 호환가능한 라디오가 없다고 결정하기 위한 수단, 타겟 디바이스와 호환가능한 라디오를 포함하는 중간 디바이스를 결정하기 위한 수단, 타겟 디바이스와 통신한 마지막으로 공지된 디바이스(들)를 결정하기 위한 수단, 및/또는 타겟 디바이스와의 통신의 시간상 역순으로 중간 디바이스들에 요청을 송신하기 위한 수단을 제공한다. 메모리(182), 사용자 인터페이스(186) 및/또는 트랜시버(188)와 적절하게 조합된 프로세서(180)는, 등록 요청을 수신하기 위한 수단, 제안된 등록 위치를 결정하기 위한 수단, 제안된 등록 위치의 표시를 제공하기 위한 수단, 및 제안된 디바이스 이름을 결정 및/또는 제공하기 위한 수단을 제공할 수 있다. 소프트웨어(184)는, 네트워크 접속을 통해 다운로딩되는 것, 디스크로부터 업로딩되는 것 등에 의해 메모리(182) 상으로 로딩될 수 있다. 중앙 제어기(60)는 디바이스들(40-47)과 별개의 독립형 디바이스로서 도 2에 도시되지만, 중앙 제어기(60)는 Wi-Fi 라우터(24)와 같은 하나 이상의 다른 무선 통신 디바이스들 및/또는 디바이스들(40-47) 중 하나 이상에 의해 구현될 수 있다. 중앙 제어기(60)는 필수적은 아니지만 바람직하게는, (주로) 정적 디바이스이다.
[0053] 중앙 제어기(60)는 디바이스들(40-47)에 관한 정보에 대한 저장소 및 추적기로서 동작할 수 있다. 예를 들어, 중앙 제어기(60)는 디바이스들(40-47) 중 하나 이상의 구성 파일들 및/또는 속성들을 저장할 수 있고, 이러한 정보를 사용하여 경보들을 생성할 수 있다. 다른 예로, 제어기(60)는 디바이스들(40-47) 중 하나 이상의 위치들 및/또는 디바이스들(40-47) 중 하나 이상의 통신 파트너들을 추적할 수 있다.
[0054] 도 7을 또한 참조하면, 제어기(60)는 디바이스 데이터 이력(210)을 메모리(182)에 저장 및 유지할 수 있다. 이러한 예에서, 디바이스 데이터 이력(210)은, 디바이스 이름 필드(212), 디바이스 ID 필드, 속성 필드(214), 이웃 리스트 필드(216), 통신 이력 필드(218), 위치 이력 필드(220), 범위 이력 필드(222) 및 엔티티 필드(224)를 포함하는 표이다. 표(210)에서, 위치 이력 필드(220) 및 범위 이력 필드(222)는 속성 필드(214)와 별개로 저장되는 것으로 도시되지만, 이는 단지 예이고, 위치 이력 및/또는 범위 이력에 관한 정보가 속성 필드(214)에 포함될 수 있다. 디바이스 데이터 이력(210)에 저장된 정보는, 본원에서 논의된 바와 같이, 디바이스 필드(212)에 나열된 디바이스 등에 접촉하는 디바이스 필드(212)에 나열된 디바이스의 로케이팅을 용이하게 하기 위해 사용될 수 있다. 아래의 논의는 필드들(212, 213, 214, 216, 218, 220, 222, 224)을 포함하는 디바이스 데이터 이력(210)을 생성 및 유지(예를 들어, 업데이트)하도록 제어기(60)가 구성되는 예에 관한 것이지만, 제어기(60)는 다른 예들에서 필드들의 상이한 세트(예를 들어, 더 많은 필드들, 더 적은 필드들, 상이한 필드들 또는 이들의 조합)를 갖는 디바이스 데이터 이력을 생성 및 유지하도록 구성될 수 있다. 제어기(60), 및 특히 트랜시버(188) 및 프로세서(180)는 디바이스들(40-47)로부터 디바이스 데이터 이력(210)의 필드들(212, 213, 214, 216, 218, 220, 222, 224)을 파퓰레이팅하기 위한 정보를 수신하도록 구성된다. 디바이스 데이터 이력(210)에 대한 정보는, 정보와 관련된 디바이스로부터 직접 및/또는 정보를 중계하는 하나 이상의 디바이스들로부터 수신될 수 있다. 결과적으로, 정보를 원래 전송한 디바이스가, 제어기(60)가 정보를 수신하는 라디오의 타입을 트랜시버(188)에 포함시키지 않더라도, 제어기(60)는, 라디오들(190, 192, 194) 중 하나 이상을 통해 디바이스들(40-47) 중 하나 이상에 대한 정보를 수신할 수 있다. 디바이스들(40-47)은 필드들(212, 213, 214, 216, 218, 220, 222, 224)에 대한 정보를 주기적으로, 또는 필드들(212, 213, 214, 216, 218, 220, 222, 224) 중 하나 이상에 대한 정보에서의 변화에 대한 응답으로, 예를 들어, 새로운 디바이스가 보고 디바이스와 쌍을 이룰(통신할) 때마다, 가능하게는 보고 디바이스가 모바일 디바이스인 경우에만 및/또는 가능하게는 쌍을 이룬 디바이스가 모바일 디바이스인 경우에만, 전송할 수 있다. 추가로, 제어기(60)(또는 디바이스(70))는 다른 디바이스에 대한 속성 엔트리를 생성할 수 있다. 예를 들어, 발견 디바이스(예를 들어, 제어기(60) 또는 디바이스(70))는 속성 표의 일부가 아닌 다른 디바이스를 볼 수 있고, 그 디바이스에 대한 속성 표 엔트리(또는 엔트리들)을 생성할 수 있고, 그 속성 표 엔트리(또는 엔트리들)을 하나 이상의 다른 디바이스들에 송신할 수 있고, 그리고/또는 이러한 정보를 사용하여 속성 표 엔트리(또는 엔트리들)을 생성할 수 있는 하나 이상의 다른 디바이스들에 정보를 송신할 수 있다. 따라서, 디바이스(70)는 "새로운" 디바이스를 발견하고, 새로운 디바이스에 대한 하나 이상의 속성 표 엔트리들을 생성하고, 속성 표 엔트리(또는 엔트리들)을 저장을 위해 제어기(60)에 직접 또는 간접적으로 전송할 수 있다. 추가적으로 또는 대안적으로, 디바이스(70)는 "새로운" 디바이스를 발견하고, 속성 표 엔트리(또는 엔트리들)의 생성 및 저장을 위해 새로운 디바이스에 관한 정보를 (직접 또는 간접적으로) 제어기(60)에 전송할 수 있다.
[0055] 제어기(60)는 정보가 저장되는 디바이스들 각각에 대한 속성들의 하나 이상의 세트들로 속성 필드(214)를 파퓰레이트하도록 구성된다. 속성 필드(214)의 속성들은 예를 들어, 속성 테이블(110) 또는 속성 테이블(150)과 같은 속성 테이블에서, 디바이스들(40-47)에 의해 제공되는 속성들 중 하나 이상일 수 있다. 속성 필드(214)(또는 다른 적절한 필드)를 파퓰레이트하기 위해, 제어기(60)는 데이터를 추가(저장)하고 그리고/또는 이전에 저장된 데이터를 새로운 데이터로 대체하도록 구성된다. 도 7에 도시된 바와 같이, 테이블(210)은 태블릿(예를 들어, 태블릿(44))에 대한 속성들의 2개의 세트들(230, 232)을 포함한다. 2개의 세트들(230, 232)은 예를 들어, 세트들(230, 232)이 제어기(60)에 보고되었던 각각의 시간들과 연관되어 저장된다. 디바이스에 대한 속성들은 시간에 따라, 예를 들어, 상이한 모빌리티 상태, 상이한 포지션들, 기준 포인트들 또는 물체들에 대한 상이한 범위들 등으로 변할 수 있다. 속성들의 상이한 세트는 속성들에서의 변화가 존재하는 경우에만 저장될 수 있거나, 또는 변화들이 존재하는지 여부와 무관하게, 속성들이 제어기(60)에 의해 수신될 때마다, 저장될 수 있다. 제어기(60)는 각각의 속성 필드(214)에 저장된 속성들의 세트들의 수를, 예를 들어, 세트들의 최대 수, 또는 현재 시간의 임계 시간양 내의 세트들 등으로 제한할 수 있다.
[0056] 제어기(60)는 각각의 디바이스로부터 제어기(60)에 제공되는, 존재하는 경우, 하나 이상의 이웃 리스트들로 이웃 리스트 필드(216)를 파퓰레이트하도록 구성된다. 도 7에 도시된 예에서, 냉장고에 대한 이웃 리스트 필드(216)는 3개의 상이한 시간들에 냉장고에 의해 보여지는 디바이스들의 3개의 리스트들을 포함한다. 도 7에 도시된 예에서 고유의 이름들이 리스트들에 주어지지만, 다수의 리스트들이 서로 동일할 수 있다.
[0057] 제어기(60)는, 디바이스 필드(212)에 나열된 각각의 디바이스가 통신하는 디바이스들로 통신 이력 필드(218)를 파퓰레이트하도록 구성된다. 제어기(60)는 통신 이력 필드(218) 내의 엔트리들의 수를, 예를 들어, 엔트리들의 임계 수, 또는 현재 시간의 임계 시간양 내의 엔트리들 등으로 제한할 수 있다. 통신 이력 필드(218) 내의 엔트리들은, 통신 이력 필드(218)에의 저장을 위해 기준(기준들) 내의 임의의 다른 디바이스(들)와 디바이스 필드(212)에 나열된 디바이스의 통신들을 표시할 수 있다. 통신 이력 필드(218)의 엔트리들은 제어기(60)에 의해 마지막으로 공지된 시간-스탬프된(및 바람직하게는, 시간상) 이력, 디바이스 필드(212)에 나열된 디바이스가 통신하는 디바이스들, 및 각각의 시간들을 표현한다. 통신 이력 필드(218) 내의 시간들은 대응하는 통신들과 연관된 시간들이다. 이러한 시간들 각각은, 예를 들어, 디바이스 필드(212)에 도시된 디바이스와, 통신 이력 필드(218)의 시간에 대응하는 디바이스 사이의 가장 최근의 통신의 시작 시간 또는 이러한 통신의 종료 시간일 수 있다. 통신 이력 필드(218) 내의 엔트리들 중 하나 이상, 예를 들어, 각각은 타겟 디바이스와 통신하는 디바이스(즉, 통신 디바이스)의 위치를 포함할 수 있다. 이러한 위치는, 예를 들어, (예를 들어, 마지막 통신의 표시된 시간에) 디바이스 필드(212) 내의 디바이스와의 통신과 연관된 통신 디바이스의 위치에 대응할 수 있거나, 또는 통신 디바이스의 현재 위치에 대응할 수 있다.
[0058] 제어기(60)는 디바이스 필드(212)에 나열된 디바이스의 위치 및 대응하는 시간에 관한 데이터의 세트들로 위치 이력 필드(220)를 파퓰레이트하도록 추가로 구성된다. 디바이스 필드(212)에 나열된 디바이스의 위치에 관한 데이터는 위치 자체일 수 있거나, 위치가 유도될 수 있는 데이터일 수 있다. 위치 데이터와 연관된 시간은 바람직하게는, 각각의 디바이스의 위치를 결정하기 위해 데이터(예를 들어, 측정들)가 수집된 시간이다. 디바이스의 위치는, 본원에 논의된 바와 같이, 기준 포인트(예를 들어, 건물의 코너), 다른 물체, 글로벌 기준 등에 대한 위치일 수 있다.
[0059] 중앙 제어기(60)는 범위, 각각의 기준 및 각각의 시간을 각각 표시하는 정보의 세트들로 범위 이력 필드(222)를 파퓰레이트하도록 추가로 구성된다. 각각의 기준은 기준 포인트, 기준 물체, 기준 디바이스 등일 수 있다. 범위 이력 세트들(234, 236)에 의해 표시된 바와 같이, 상이한 기준들에 대한 다수의 범위들은 동시에 또는 유사한 시간에 결정(또는 적어도 결정된 것으로 나열)될 수 있고, 상이한 기준들에 대한 범위들은 동일한 시간에 대응한다. 추가로, 범위들은, 범위 이력 세트(234) 및 범위 이력 세트(238)에 의해 표시된 바와 같이 상이한 시간들에 동일한 기준에 대해 결정될 수 있다.
[0060] 중앙 제어기(60)는 마스터 허브로서 동작될 수 있다. 예를 들어, 중앙 제어기(60)는 구조(36) 내의 Wi-Fi 라우터(24)일 수 있다. 중앙 제어기(60)는 중앙 제어기(60)로부터 디바이스들(40-47)까지의 레인징을 결정하도록 구성될 수 있다. 레인징은 디바이스들(40-47)까지의 범위들을 능동적으로 결정하는 및/또는 중앙 제어기(60)까지의 범위들에 대한 디바이스들(40-47)로부터의 레인징 정보를 수신하는 중앙 제어기(60)에 의해 수행될 수 있다. 예를 들어, Wi-Fi FTM(fine timing measurement)은 레인징 목적들로 제어기(60) 및/또는 디바이스들(40-47) 중 하나 이상에 의해 구현될 수 있고 레인징을 간헐적으로(예를 들어, 주기적으로) 결정할 수 있다. 추가로, 중앙 제어기(60)(예를 들어, 프로세서(180) 및 트랜시버(188))는 디바이스들(40-47) 중 하나 이상에 대한 레인징 정보 및/또는 다른 속성 정보를 디바이스들(40-47) 중 하나 이상에 전송할 수 있다. 추가적으로 또는 대안적으로, 제어기(60)는 레인징 정보 및/또는 다른 속성 정보를 브로드캐스트할 수 있고, 이를 반복적으로/간헐적으로(예를 들어, 주기적으로) 수행할 수 있다. 또한 추가로, 프로세서(180)는, 예를 들어, 디바이스들(40-47) 중 하나 이상과 통신하고 그리고/또는 로케이팅할 때 사용하기 위해, 디바이스들(40-47)을 통한 디바이스들(40-47) 각각까지의 최단 경로들(예를 들어, 최소 홉들)을 결정하기 위해 디바이스들(40-47)로부터의 속성 정보를 분석할 수 있다. 프로세서(180)는 속성 정보(다른 디바이스들까지의 레인징을 포함함), 제어기(60)까지의 최단 경로들 등을 포함하는, 디바이스들(40-47)에 관한 정보를 예를 들어 주기적으로 디바이스들(40-47)에 송신할 수 있다.
[0061] 유지되는 정보에 기초하여, 중앙 제어기(60)는 디바이스들(40-47) 사이의 관계들을 추론할 수 있다. 예를 들어, 프로세서(180)는 이전 위치 및 이전 위치에 대응하는 시간 이후 센서들의 상태에 기초하여 디바이스의 위치를 추론할 수 있다. 예를 들어, 프로세서(180)는, 디바이스에 대해 마지막으로 공지된 위치가 차고(68)이고 그 위치가 결정된 이후 문 개방기(47)가 사용되지 않았고, 차고에 대한 문이 그 시간 이후 폐쇄되어 있다면, 디바이스의 현재 위치가 차고(68) 내라고 추론할 수 있다. 다른 예로, 프로세서(180)는 다수의 상대적 위치들로부터 디바이스의 위치를 추론할 수 있다. 예를 들어, 프로세서(180)는 TV(48)의 공지된 위치, TV(48)로부터 스마트 폰(45)까지의 범위, TV(48)로부터 스마트 폰(45)까지의 신호들의 AOA, 스마트 폰(45)으로부터 태블릿(44)까지의 범위 및 스마트 폰(45)으로부터 태블릿(44)까지의 신호들의 AOA로부터 태블릿(44)의 위치를 추론할 수 있다. 프로세서(80)는 추가적으로 또는 대안적으로 (TV(48)의 위치와는 별개로) 이러한 정보를 사용하여) TV(48)와 태블릿(44) 사이의 범위 및/또는 TV(48)로부터 태블릿(44)까지의 신호들의 AOA를 결정할 수 있다.
[0062] 디바이스 등록
[0063] 도 8을 또한 참조하면, 중앙 제어기(60)는 디바이스들, 예를 들어, 디바이스들(40-47)의 시스템(10)(도 1 참조)으로의 등록을 조정하도록 구성된다. 중앙 제어기(60)는 디바이스들을 시스템(10)에 등록하기 위해 사용자 인터페이스(186)를 통해 사용자와 상호작용하도록 구성될 수 있다. 중앙 제어기(60)는 시스템(10)의 일부가 되도록, 특히 구조(36) 내의 시스템(10)의 일부가 되도록 수동으로 및/또는 자동으로 디바이스들을 등록할 수 있다. 자동 예로서, 프로세서(180)는, 새로운 디바이스가 등록 환경(예를 들어, 제어기(60) 근처의 영역)에 진입했다고 결정하고 등록을 자동으로 개시할 수 있다. 프로세서(180)는, 신호들이 이전에 수신되지 않은 디바이스로부터 또는 환경 내의 디바이스들의 리스트에 존재하지 않는 디바이스로부터 신호들이 수신된다고 결정함으로써 새로운 디바이스가 등록 환경에 진입했다고 결정할 수 있다. 원하는 그룹 내의 디바이스들만이 등록되는 것을 보장하는 것을 돕는 예방책들이 취해질 수 있다. 예를 들어, 제어기(60)가 디바이스를 등록하려 시도하기 전에, 프로세서(180)는, 디바이스가 구조 내에 있는 것, 또는 디바이스가 임계 시간양보다 오래 구조 내에 있는 것, 또는 디바이스가 적어도 임계 횟수만큼 구조 내에서 보여지는 것을 요구할 수 있다. 수동 등록 예로, 사용자는, 예를 들어, 사용자 인터페이스(186)의 디스플레이(260) 상에 제공되는 "새로운 디바이스를 등록하는가?" 아이콘(272), 또는 "발견된 디바이스를 등록하는가?" 아이콘(274)을 선택함으로써 "레지스터" 특징(예를 들어, "새로운 디바이스 발견" 특징)을 작동시킬 수 있다. 프로세서(180)는 새로운 디바이스들(예를 들어, 미리 정의된 인근에서, 사용자-정의된 인근에서, 사용자-정의된 카테고리의 디바이스들 등)을 탐색함으로써 아이콘(272)의 선택에 응답할 수 있다. (환경에 대해) 새로운 디바이스가 이미 검출되었다면, 프로세서(180)는 이러한 디바이스에 대한 등록 프로세스로 계속함(예를 들어, 속성 정보를 수집함)으로써 아이콘(274)의 선택에 응답할 수 있다. 수동 등록은 원하지 않는 디바이스들이 등록되는 것을 방지하는 것을 도울 수 있고, 새로운 디바이스들의 등록을 용이하게 하는 것을 도울 수 있다. (예를 들어, 도 8에 도시된 바와 같이, 예를 들어, 프로세서(180)가 디스플레이(260)로 하여금 등록 정보에 대해 프롬프트하기 위해) "레지스터" 특징은 중앙 제어기(60) 상에서 및/또는 등록될 새로운 디바이스들을 탐색하도록 중앙 제어기(60)를 트리거링하기 위해 중앙 제어기(60)와 통신하는 등록될 디바이스 상에서 작동될 수 있다. 추가적으로 또는 대안적으로, 레지스터 피처는 다른 디바이스를 등록하는 중앙 제어기(60)가 아닌 디바이스를 개시할 수 있다.
[0064] 제어기(60)는 다양한 형태들 중 하나 이상에서 사용자 인터페이스(186)를 통한 정보를 수신할 수 있다. 예를 들어, 사용자 인터페이스(186)는 마이크로폰, 터치 입력을 통해(예를 들어, 키보드, 키패드 및/또는 터치-감응 스크린을 통해), 시각적 입력을 통해(예를 들어, 카메라에 의해 캡처되는 제스처들을 통해 ―가능한 제스처들은 사인 언어, 포인팅 등을 포함함―) 오디오 입력을 수신할 수 있다. 상이한 제스처들은 상이한 기능들, 예를 들어, 디바이스를 등록하기 위한 하나의 제스처, 디바이스를 탐색하기 위한 다른 제스처(및 가능하게는 상이한 디바이스들을 탐색하기 위한 상이한 제스처들)와 연관될 수 있다.
[0065] 제어기(60)는 새로운 디바이스가 등록될 수 있는 환경에 관한 정보를 제공할 수 있다. 예를 들어, 도 8에 도시된 바와 같이, 프로세서(180)는 디바이스를 등록할 때 사용자를 안내하는 것을 돕기 위해, 디스플레이(260)가 구조(36)의 맵(250)(여기서, 구조(36)의 플로어), 아이콘들(272, 274), "이러한 디바이스 위치에서 등록하는가?" 아이콘(276), 및 "위치 발견을 제한하는가?" 아이콘(278)을 디스플레이하게 할 수 있다. 아이콘들(272, 274, 276, 278)은 예들이고, 더 많거나, 더 적거나(제로를 포함함) 및/또는 상이한 아이콘들이 사용될 수 있다. 맵(250)은 구조(36)의 평면도, 및 다양한 무선 통신 디바이스들의 이름들 및 위치들(맵(250) 상의 그래픽 위치들)을 도시한다. 도시된 바와 같이, 맵(250)은 냉장고(251), 모바일 폰(252), TV(253), 자동차(254), 새로운 디바이스(255) 및 중앙 제어기(60)를 도시한다. 사용자 인터페이스(186)는 예를 들어, 각각의 통신 디바이스(251-255)에 대한 아이콘 위에 커서를 호버링(hovering)하는 것에 대한 응답으로, 무선 통신 디바이스들(251-255) 중 하나 이상에 관한 추가적인 정보를 디스플레이할 수 있다. 이러한 추가적인 정보는 디바이스로부터의 및/또는 디바이스 데이터 이력(210)으로부터의 정보, 예를 들어, 각각의 디바이스(251-255)에 대한 모빌리티 상태 및 수치적 위치를 포함할 수 있다. 사용자 인터페이스(186)는, 커스터마이징된 이름이 설정된 디바이스들(251-255) 중 임의의 것에 대한 커스터마이징된 이름을 디스플레이할 수 있다. 도 8에 도시된 예에서, 모바일 폰(252)은 "Ju-Yong의 폰"으로 라벨링되고, TV(253)는 "거실 TV"로 라벨링되고, 자동차(254)는 "Meghna의 자동차"로 라벨링된다. 이러한 커스터마이징된 이름들은, 대응하는 디바이스에 대한 아이콘이 디스플레이될 때마다 디스플레이될 수 있거나, 또는 각각의 아이콘 위에 커서를 호버링하는 것과 같이 이러한 정보에 대한 요청에 대한 응답으로만 디스플레이될 수 있다. 새로운 디바이스(255)는, 예를 들어, 어떠한 커스터마이징된 이름도 제공되지 않으면 그리고 어떠한 디바이스 타입도 아직 공지되지 않으면, 도시된 바와 같이 "새로운 디바이스"로 라벨링될 수 있다(예를 들어, 새로운 디바이스(255)로부터 어떠한 메시지도 수신되지 않았거나 수신된 메시지는 커스터마이징된 이름 또는 디바이스 타입을 포함하지 않는다). 디바이스 타입, 예를 들어, 태블릿 컴퓨터가 공지되면, 새로운 디바이스(255)는 "새로운 태블릿"과 같은 일반적 이름으로 라벨링될 수 있다.
[0066] 프로세서(180)는 다른 방식들로 사용자 인터페이스(186)를 통해 정보를 제공하도록 구성될 수 있다. 예를 들어, 프로세서(180)는 앞서 논의된 바와 같이 디바이스들(251-255)에게 이들의 위치들 및 가능하게는 다른 정보를 나타내기 위해 사용자 인터페이스(186)를 통해 사용자에게 증강 현실을 제공할 수 있다. 증강 현실은 추가적으로 또는 대안적으로 아래에서 논의되는 바와 같이 제안된 정보를 제공할 수 있고, 예를 들어, 새로운 디바이스(255)에 대한 위치(적어도 초기 위치)를 선택하기 위해, 사용자가 새로운 디바이스(255)를 등록하는 것을 보조할 수 있다.
[0067] 프로세서(180)는 디바이스를 등록하기 위한 정보를 제공 및/또는 확인하기 위해 사용자 인터페이스(186)의 사용자에게 프롬프트하도록 구성될 수 있다. 예를 들어, 프로세서(180)는 디스플레이(260)로 하여금, 등록 요청을 개시하도록 사용자에게 프롬프트하기 위해 아이콘들(272, 274)을 제공하게 하고, 디바이스, 예를 들어, 새로운 디바이스(255)가 디스플레이되는 위치가 새로운 디바이스(255)에 대한 (초기) 위치로서 사용될지를 확인하도록 사용자에게 프롬프트하기 위해 아이콘(276)을 디스플레이하게 하고, 그리고/또는 새로운 디바이스(255)와 같은 디바이스의 위치를 발견하기 위한 인가에 관한 프라이버시 정보를 제공하도록 사용자에게 프롬프트하기 위해 아이콘(278)을 디스플레이하게 할 수 있다. 아이콘들은 도 8에 대해 논의되지만, 오디오 프롬프트들과 같은 다른 형태들의 프롬프트들이 사용될 수 있다. 아이콘들(272, 274, 276, 278)은 등록을 개시하기 위해 사용자 인터페이스(186)를 통한 입력에 대한 응답으로 디스플레이될 수 있거나, 또는 예를 들어, 새로운 디바이스(255)로부터의 신호들을 수신하고 새로운 디바이스(255)가 디바이스 데이터 이력(210)에 포함되지 않는다고 결정함으로써, 프로세서(180)가 새로운 디바이스(255)의 프레즌스를 검출하는 것에 대한 응답으로 자동으로 디스플레이될 수 있다. 프롬프트는 원하는대로 새로운 디바이스 등록의 확인 이외의 추가 정보를 요청할 수 있다. 예를 들어, 프롬프트는 등록될 디바이스의 이름에 대해 사용자에게 프롬프트할 수 있고 그리고/또는 (예를 들어, 제어기(60)가 새로운 디바이스를 검출하는 것에 대한 응답으로) 디스플레이(260) 상에 강조되는 디바이스가 등록될지에 대한 확인에 대해 프롬프트(예를 들어, 질문)할 수 있다. 프롬프트는, 프로세서(180)가 새로운 디바이스(255)와의 통신으로부터 결정하고 정보를 확인하기 위해 사용자에게 질문하는, 새로운 디바이스(255)에 관한 정보, 예를 들어, 디바이스 타입, 디바이스 이름 등을 제공할 수 있다.
[0068] 프로세서(180)는 하나 이상의 속성들에 대해 사용자에게 프롬프트할 수 있다. 예를 들어, 아이콘(278)의 작동에 대한 응답으로, 프로세서(180)는 새로운 디바이스(255)를 탐색하기 위해 요구되는 패스워드, 새로운 디바이스(255)가 로케이팅될 수 있는지 여부, 어느 디바이스들이 새로운 디바이스(255)의 위치를 발견하도록 인가되는지, 어느 디바이스들이 새로운 디바이스(255)의 위치를 발견하도록 인가되지 않는지와 같은 새로운 디바이스(255)에 대한 프라이버시 세팅들에 대해 사용자에게 프롬프트할 수 있다.
[0069] 새로운 디바이스(255)(즉, 새로운 디바이스(255)에 대한 아이콘)는 디스플레이(260) 상에 나타날 수 있거나 나타나지 않을 수 있다. 도 8에서와 같이, 새로운 디바이스(255)가 디스플레이되면, 새로운 디바이스(255)는 강조될 수 있다(예를 들어, 적색과 같이 별개의 컬러로 나타나거나, 맵(250) 상에 굵게 나타나거나 그리고/또는 새로운 디바이스(255)에 대한 아이콘을 나타내는 화살표와 함께 나타나는 것 등). 새로운 디바이스(255)의 위치가 아직 결정되지 않았다면, 새로운 디바이스(255)는 맵(250) 상에 나타나지 않을 수 있거나, 디폴트 위치로 나타날 수 있거나, 또는 (예를 들어, 공지되어 있다면, 새로운 디바이스(255)의 디바이스 타입에 기초하여) 예상 위치에 나타날 수 있다.
[0070] 중앙 제어기(60), 특히 프로세서(180)는 사용자 인터페이스(186)를 통해 등록 요청을 수신하도록 구성된다. 예를 들어, 사용자는 키보드로 정보를 타이핑하고, 사용자 인터페이스(186)의 터치-감응 디스플레이 상에 나타난 가상 키보드 또는 키패드에 정보를 입력하고 그리고/또는 사용자 인터페이스(186)의 마이크로폰을 통해 구두 정보를 제공함으로써 등록 정보를 (예를 들어, 아이콘들(272, 274) 중 어느 하나의 작동(또는 다른 적절한 등록 개시) 이후) 입력할 수 있다. 등록 요청은 등록될 디바이스, 여기서는 새로운 디바이스(255)를 식별할 수 있거나, 또는 예를 들어, 트랜시버(188)로 하여금 새로운 디바이스(255)와 쌍을 이루게 함으로써 프로세서(186)로 하여금 새로운 디바이스(255)를 식별하게 할 수 있다.
[0071] 중앙 제어기(60)는 새로운 디바이스의 현재 위치를 결정하기 위해 새로운 디바이스(255)에 대한 레인징을 수행할 수 있다. 제어기(60)는, 예를 들어, 새로운 디바이스(255)로부터 제어기(60)까지의 RSSI 측정들 및/또는 그 반대, 제어기와 새로운 디바이스 사이의 RTT 측정들 등을 사용하여, 레인징을 스스로 수행할 수 있다. 제어기(60)는 또한 새로운 디바이스(255)로부터 제어기(60)로의 신호들의 AOA 또는 그 반대를 결정함으로써, 제어기(60)로부터 새로운 디바이스(255)까지의 방향을 결정할 수 있다. 제어기(60)는 추가적으로 또는 대안적으로, 새로운 디바이스(255)까지의 범위(및 가능하게는 AOA)를 결정하기 위해, 디바이스들(251-254)(또는 위치/레인징 요청을 수신하는 임의의 다른 디바이스)와 같은 환경 내의 다른 디바이스들을 요청할 수 있다.
[0072] 프로세서(186)는 사용자 인터페이스(186)를 통해 새로운 디바이스(255)에 대한 제안된 등록 위치를 결정 및 제공하도록 구성된다. 프로세서(180)는 다양한 기준들 중 하나 이상에 기초하여 제안된 등록 위치를 결정할 수 있다. 예를 들어, 프로세서(180)는, 새로운 디바이스(255)의 현재 위치, 또는 사용자 인터페이스(186)를 통해 수신된 새로운 디바이스(255)에 대한 위치 입력, 또는 새로운 디바이스(255)의 디바이스 이름, 또는 새로운 디바이스(255)의 디바이스 타입 또는 이들의 조합에 기초하여 제안된 등록 위치를 결정할 수 있다. 예를 들어, 새로운 디바이스(255)가 냉장고(251) 또는 거실 TV(253)에 근접(예를 들어, 5 또는 10 피트 이내)하면, 프로세서(180)는 주방(64) 또는 거실(66)의 위치를 각각 제안할 수 있다. 다른 예로, 새로운 디바이스(255)의 이름이 차량 타입을 포함하면, 또는 차량 타입, 예를 들어, "자동차" 또는 "모터사이클"이 (예를 들어, 새로운 디바이스(255)에 의해 제공되는 디바이스 속성들로부터) 공지되면, 프로세서(180)는 위치가 차고(68)를 갖는다고 제안할 수 있다. 다른 예로, 사용자는 (예를 들어, 사용자 인터페이스(186)의 터치-감응 스크린 상의 포지션을 터치함으로써) 좌표들과 같은 위치 입력, 물체에 대한 기준 거리, 맵(250) 상의 위치 등을 제공할 수 있고, 프로세서(180)는 위치 입력을 제안된 위치로서 또는 예를 들어, 논리적인 대응하는 범위(예를 들어, 벽 또는 다른 물체의 점유 공간을 넘지 않음)를 갖는 위치를 제안함으로써 제안된 위치를 결정하기 위해 사용할 수 있다.
[0073] 프로세서(180)는 바람직하게는 제안된 위치를 사용자에게 제공하는 것에 대한 응답으로, 사용자 인터페이스(186)를 통해 입력을 수신하도록 구성된다. 프로세서(180)는 제안된 위치를 수정, 거부 또는 수락하기 위해 사용자 인터페이스(186)를 통해 입력을 수신할 수 있고, 제안된 위치가 수정 또는 수락된 것에 대한 응답으로 수정된 위치 또는 수락된 제안된 위치를, 예를 들어, 속성 표(110)에 저장할 수 있다. 예를 들어, 프로세서(180)는 제안된 등록 위치를 확인함으로써 아이콘(276)의 선택에 응답할 수 있다. 프로세서(180)는 표시된 위치에서 표시된 디바이스를 등록하는 옵션에 주의를 요청하도록 제공된 제안된 디바이스 위치를 갖는 아이콘(276)을 강조할 수 있고, 이는 숏컷을 제공하여, 사용자가 수동으로 입력할 정보를 감소시킬 수 있다. 실제로, 아이콘(276)은, 적어도 하나의 미등록된 디바이스가 발견되고 제안된 위치가 결정되는 것에 대한 응답으로만 선택가능할 수 있다. 프로세서(180)는, 제안된 위치가 거부되는 것에 대한 응답으로, 다른 위치, 예를 들어, 디폴트 위치, 사용자 인터페이스(186)를 통해 제공되는 위치 또는 위치 없음을 저장할 수 있다.
[0074] 등록 요청은 새로운 디바이스(255)에 대해 커스터마이징된 이름을 공급할 수 있고 그리고/또는 프로세서(180)는 제안된 이름을 결정할 수 있다. 예를 들어, 새로운 디바이스(255)는 Sai에게 속하는 새로운 모터사이클일 수 있고, 등록 요청에서 제공된 "Sai의 호그"의 커스터마이징된 이름일 수 있다. 또한, 프로세서(180)는 새로운 디바이스(255)에 대한 제안된 이름을 결정할 수 있고, 예를 들어, 공급된 이름 및/또는 제안된 이름을 표시하는 텍스트, 그래픽, 오디오 등을 제공함으로써, 사용자 인터페이스(186)를 통해 공급된 이름 및/또는 제안된 이름 중 하나 이상의 표시들을 제공할 수 있다. 프로세서(186)는 예를 들어, 새로운 디바이스(255)에 의해 제공되는 속성들에서, 새로운 디바이스(255)로부터 수신된 정보로부터 새로운 디바이스(255)에 대한 커스터마이징된 이름을 추출할 수 있다. 프로세서(180)는, 새로운 디바이스(255)의 현재 위치, 사용자 인터페이스(186)(또는 사용되고 있는 다른 사용자 인터페이스, 예를 들어, 새로운 디바이스(255)를 등록하기 위해 새로운 디바이스(255)가 사용되고 있는 경우 사용자 인터페이스(86))의 사용자의 이름, 새로운 디바이스(255)에 매우 근접한 또는 근접했던 다른 디바이스와 연관된 사람의 이름 또는 타이틀 또는 이들의 조합에 기초하여, 제안된 이름을 결정하도록 구성될 수 있다. 예를 들어, 새로운 디바이스(255)는 차고(68)에 배치되고, 프로세서(180)는 새로운 디바이스(255)가 차량이고 제안된 이름이 "자동차"라고 추론할 수 있다. 프로세서(180)는 추가적 정보에 기초하여 제안된 이름을 추가로 커스터마이징하도록 구성될 수 있다. 예를 들어, 프로세서(180)가 또한, 예를 들어, 새로운 디바이스(255)에 의해 제공되는 속성들로부터, 새로운 디바이스(255)가 모터사이클이고, Sai로 명명된 사용자가 등록 요청을 입력했음을 알면, 프로세서(180)는 새로운 디바이스(255)에 대해 "Sai의 모터사이클"이라는 이름을 제안할 수 있다. 다른 예로, 새로운 디바이스(255)가 현재 거실(66)에 로케이팅되고, 새로운 디바이스(255)가 텔레비전인 것을 프로세서(180)가 알면, 프로세서(180)는 "거실 TV"의 이름을 제안할 수 있다. 새로운 디바이스(255)가 텔레비전인 것을 프로세서(180)가 알지만, 새로운 디바이스(255)의 위치를 알지 못하면, 프로세서(180)는 "TV"의 이름을 제안할 수 있고, 그 이름에 대한 정보를 명확화하기 위해 사용자 인터페이스를 통해 프롬프트를 제공할 수 있다. 다른 예로, 새로운 디바이스(255)가 Ju-Yong의 폰(252)에 매우 (예를 들어, 2 피트 이내로) 근접했고, 새로운 디바이스(255)의 디바이스 타입이 태블릿 컴퓨터 프로세서이면, 프로세서(180)는 새로운 디바이스(255)에 대한 이름을 "Ju-Yong의 태블릿"으로 제안할 수 있다. 프로세서(180)는, 특히 다른 디바이스가 일부 시간양 동안, 예를 들어, 1 분 초과 동안 새로운 디바이스(255)에 매우 근접했던 경우, 및 특히 새로운 디바이스(255) 및 다른 디바이스가 이동중이었던 동안, 다른 디바이스와 연관된 사람의 이름 또는 타이틀을 사용하도록 구성될 수 있다.
[0075] 프로세서(180)는, 제안된 이름을 사용자에게 제공하는 것에 대한 응답으로, 사용자 인터페이스(186)로 하여금, 제안된 이름의 하나 이상의 표시들을 제공하게 하고 사용자 인터페이스(186)를 통해 입력을 수신하게 하도록 구성된다. 프로세서(180)는 제안된 이름을 수정, 거부 또는 수락하기 위해 사용자 인터페이스(186)를 통해 입력을 수신할 수 있고, 제안된 이름이 수정 또는 수락된 것에 대한 응답으로 수정된 이름 또는 수락된 제안된 이름을, 예를 들어, 속성 표(110)에 저장할 수 있다. 사용자가 새로운 디바이스를 등록하기 위해 제안된 이름을 사용하기를 원하는지 여부를 사용자에게 질문하기 위한 아이콘이 제공될 수 있다. 프로세서(180)는, 제안된 이름이 거부되는 것에 대한 응답으로, 다른 이름, 예를 들어, 디폴트 이름, 사용자 인터페이스(186)를 통해 제공되는 이름, 새로운 디바이스(255)에 의해 제공되는 이름 또는 이름 없음을 저장할 수 있다.
[0076] 프로세서(186)는 새로운 디바이스(255)에 대한 정보를 포함하기 위해 디바이스 정보를 업데이트하도록 구성된다. 예를 들어, 새로운 디바이스(255)는 새로운 디바이스(255)에 대한 속성 정보를 제공할 수 있고, 프로세서(186)는 새로운 디바이스(255)에 대한 속성 정보로 속성 표(110)와 같은 속성 표를 업데이트할 수 있다.
[0077] 등록은 중앙 제어기(60)에 추가로 또는 그 대신에 하나 이상의 디바이스들에 의해 수행될 수 있다. 예를 들어, 새로운 디바이스(255)는 디바이스를 등록하기 위한 사용자 인터페이스를 제공할 수 있다. 새로운 디바이스(255)는 사용자 인터페이스(86)를 포함하는 디바이스(70)에 의해 구현될 수 있다. 새로운 디바이스(255)는 사용자가 새로운 디바이스(255)를 등록하는 것을 돕기 위해 앞서 논의된 바와 같은 기능들을 수행하도록 구성될 수 있다. 등록 동안 새로운 디바이스(255) 또는 다른 디바이스(예를 들어, 새로운 디바이스(255)에 대한 레인징)에 의해 수신/결정된 정보는 새로운 디바이스에 의해 (예를 들어, 메모리(82)에) 저장될 수 있고 그리고/또는 중앙 제어기(60)의 메모리(182), 예를 들어, 속성 표에의 저장을 위해, 트랜시버(88)에 의해 중앙 제어기(60)에 제공될 수 있다.
[0078] 디바이스 탐색/로케이팅
[0079] 중앙 제어기(60)는 디바이스들(40-47)의 위치들에 관한 문의들을 조정하도록 구성될 수 있다. 예를 들어, 제어기(60)는 타겟 디바이스의 위치에 대한 문의를 전송, 예를 들어, 브로드캐스트할 수 있다. 이웃 디바이스들, 즉, 제어기(60)로부터 문의를 수신하는 디바이스들은, 예를 들어, 수신/중계 디바이스가 제어기(60)의 이웃이 아닌 적어도 하나의 이웃을 가지면, 문의를 중계할 수 있다. 타겟 디바이스를 발견한 임의의 디바이스("로케이팅 디바이스")는, 바람직하게는, 제어기(60)에 의해 표시되는 바와 같이 그 디바이스로부터 제어기(60)까지의 최단 루트를 통해, 중앙 제어기(60)에 레인징/위치 정보를 (예를 들어, 문의 이전에 하나 이상의 메시지들에서 또는 문의 자체에서) 전송할 수 있다. 제어기(60)는 예를 들어, 레인징 정보를 제공하는 디바이스의 공지된 위치와 함께, 로케이팅 디바이스로부터 수신된 레인징 정보로부터 타겟 디바이스의 위치를 결정하도록 구성된다.
[0080] 도 9를 참조하고, 도 1과 도 2 및 도 6과 도 7을 추가로 참조하면, 프로세서(180)는 예를 들어, 사용자 입력이, 예를 들어, 탐색을 개시 또는 요청하는 것에 대한 응답으로, 사용자 인터페이스(186)가 탐색 스크린(290)을 제공하게 하도록 구성된다. 탐색 스크린(290)은 맵(291), "탐색 입력" 아이콘(292), 디바이스 위치 드롭-다운 메뉴 아이콘(294) 및 디바이스 타입 드롭-다운 메뉴 아이콘(296)을 포함한다. 아이콘은 발견될 타겟 디바이스에 관한 하나 이상의 탐색 기준들을 입력하도록 요청하는 프롬프트를 제공한다. 사용자 인터페이스(186)는, 예를 들어, 음성 입력, 도시되지 않은 드롭-다운 메뉴로부터 옵션의 선택, 타겟 디바이스에 대한 하나 이상의 기준들에 대한 하나 이상의 아이콘들의 선택, 예를 들어, 집, 사무실 등과 같은 위치의 선택을 통해, 아이콘(294)의 드롭-다운 메뉴 및/또는 폰, 키, 지갑, 헤드폰, TV, 태블릿 등과 같은 디바이스 타입을 사용하여, 아이콘(296)의 드롭-다운 메뉴를 사용하여, 탐색 기준들을 입력하기 위한 다양한 기술들 중 임의의 것을 제공할 수 있다. 프로세서(180)는 예를 들어, 디바이스 데이터 이력(210)(도 7)에서, 저장된 데이터로부터 타겟 디바이스 및 타겟 디바이스의 위치를 발견할 수 있고 그리고/또는 타겟 디바이스를 로케이팅하기 위한 탐색 문의를 생성할 수 있다.
[0081] 중앙 제어기(60)는 타겟 디바이스를 로케이팅하기 위한 탐색 문의를 생성하는 것을 돕도록 구성된다. 프로세서(180)는 하나 이상의 탐색 기준들을 탐색 문의의 제1 부분으로서 사용할 수 있고, 탐색 문의의 제1 부분 및 탐색 문의의 제1 부분과 타겟 디바이스와 연관된 엔티티와의 연관성에 기초하여 탐색 문의의 제2 부분을 결정할 수 있다. 예를 들어, 프로세서(180)는 예를 들어, 룩업 테이블에서 디바이스 ID들과 엔티티들의 연결 또는 연관성으로부터 엔티티를 결정할 수 있고, 그 다음, 이러한 동일한 연결을 사용하여 타겟 디바이스에 대한, 그러나 탐색 기준들에서 요청된 디바이스 타입에 대한 디바이스 ID를 결정할 수 있다. 예를 들어, 프로세서(180)는 완전한 탐색 문의를 포뮬레이트하기 위해 탐색 문의의 제1 부분을 제공하는 사용자의 음성을 인식하도록 구성될 수 있다. 일례로, 프로세서(180)는 Weihua가 "내 모바일 폰을 찾아라"라는 인용을 말하는 것에 대한 응답으로 Weihua의 음성을 인식할 수 있다. 응답으로, 프로세서(180)는 "Weihua의 모바일 폰을 찾아라"라는 탐색 문의를 포뮬레이트할 수 있다. 프로세서(180)는 Weihua의 폰의 ID를 발견함으로써, 예를 들어, 디바이스들 및 소유자들을 연결하는 룩업 테이블에서 발견된 것과 같은 Weihua의 모바일 폰에 대한 디바이스 ID로 디바이스 ID 필드를 파퓰레이트함으로써 원하는 타겟 디바이스를 로케이팅하기 위해 디바이스들(251-255)에 의해 사용가능한 포맷으로 탐색 문의를 형성하도록 구성된다. 다른 예로, 프로세서(180)는 탐색 기준들을 중앙 제어기(60)에 전송한 디바이스를 인식할 수 있다. 예를 들어, 프로세서(180)는 Weihua의 태블릿으로부터의 통신으로부터 디바이스 ID를 결정할 수 있고, 디바이스 데이터 이력(210)의 디바이스 이름/ID 필드(213)에서(및/또는 속성 표 또는 다른 기록에서) 이러한 디바이스 ID를 로케이팅할 수 있다. 프로세서(180)는 대응하는 디바이스 ID에 대한 엔티티 필드(224)를 분석함으로써, 그 디바이스 ID와 연관된 엔티티, 예를 들어, (및/또는 속성 표 또는 다른 기록에서)를 추가로 결정할 수 있다. 프로세서(180)는 예를 들어, 디바이스들 및 소유자들을 연결하는 룩업 테이블을 사용하여, 결정된 엔티티에 대응하는, 여기서는 모바일 폰인 요청된 디바이스 타입에 대한 디바이스 ID를 추가로 발견할 수 있다. 따라서, Weihua의 태블릿으로부터 수신된 "내 모바일 폰"을 찾으라는 요청에 대한 응답으로, 프로세서(180)는 대응하는 디바이스 ID를 갖는 Weihua의 모바일 폰에 대한 탐색 문의를 형성할 수 있다.
[0082] 프로세서(180)는 타겟 디바이스를 로케이팅하려는 시도로 하나 이상의 디바이스들에 탐색 문의를 송신하도록 추가로 구성된다. 프로세서(180)는 트랜시버(188)로 하여금, 무선 통신 디바이스들(251-255) 중 하나 이상에 탐색 문의 및 하나 이상의 아웃바운드 전자 신호들을 전송하게 할 수 있다. 예를 들어, 프로세서(180)는 트랜시버(188)로 하여금 제어기(60)의 통신 범위 내의 임의의 무선 통신 디바이스에 탐색 문의를 브로드캐스트하게 할 수 있다. 대안적으로, 프로세서(180)는 트랜시버(188)로 하여금 특정 디바이스에 탐색 문의를 유니캐스트하게 하거나 특정 디바이스들에 탐색 문의를 멀티캐스트하게 할 수 있다. 탐색 문의가 어느 디바이스(들)에 전송되는지는 디바이스들 및/또는 타겟 디바이스에 대한 프라이버시 세팅들(예를 들어, 어느 디바이스들이 타겟 디바이스를 발견하도록 인가되는지) 및/또는 어느 디바이스들이 타겟 디바이스의 라디오와 호환가능한 라디오를 갖는지에 의존할 수 있다.
[0083] 중앙 제어기(60)는 타겟 디바이스에 의해 적어도 현재 지원되지 않는 프로토콜을 사용하여 타겟 디바이스의 위치에 대한 요청을 전송할 수 있다. 본원의 설명은 특정 라디오를 갖지 않는 타겟 디바이스를 참조할 수 있지만, 이는 타겟 디바이스가 라디오를 갖지만, 라디오가 현재 동작하지 않는 시나리오들(예를 들어, 턴 오프된 것, 적절히 기능하지 않는 것 등)을 포함한다. 프로세서(180)는 트랜시버(88)를 통해, 및 특히 라디오들(190, 192, 194) 중 하나를 통해 요청을 전송할 수 있는 한편, 타겟 디바이스는 대응하는 라디오를 갖지 않을 수 있다. 예를 들어, 타겟 디바이스는 BT-LE 라디오만을 가질 수 있는 한편, 제어기(60)는 BT-LE 라디오를 갖지 않을 수 있다. 따라서, 프로세서(180)는 대응하는 통신 프로토콜에 따라 라디오들(190, 192, 194) 중 하나를 통해 요청을 전송할 수 있지만, 타겟 디바이스는 그 통신 프로토콜에 따라 통신들을 수신 또는 전송하도록 구성되지 않을 수 있다. 예를 들어, 프로세서(180)는 Wi-Fi 라디오(192)를 통해 요청을 전송할 수 있지만, 타겟 디바이스는, 예를 들어, 오직 셀룰러 라디오 및 블루투스 라디오만을 포함하여 Wi-Fi 라디오로 구성되지 않을 수 있는데, 즉, Wi-Fi 라디오가 없을 수 있다. 실제로, 제어기(60)는 타겟 디바이스가 갖는 라디오(또는 라디오들)의 타입이 없을 수 있다. 요청은 타겟 디바이스와 통신하기 위해 필요한 (즉, 타겟 디바이스가 포함하는) 라디오의 타입(들)을 표시할 수 있다. 프로세서(180)는 타겟 디바이스에 요청을 직접 통신할 수 있는 중간 디바이스에 트랜시버(88)를 통해 요청을 전송하도록 구성될 수 있고, 예를 들어, 중간 디바이스는 타겟 디바이스와 통신할 수 있고(통신가능하고) 가능하게는 하나 이상의 다른 기준들을 충족하는 라디오를 포함한다. 이러한 다른 기준들은, 예를 들어, 중간 디바이스가 타겟 디바이스와 쌍을 이루도록 인가되는 것, 예를 들어, 타겟 디바이스의 속성들에 포함된 타겟 디바이스에 대한 신뢰되는 디바이스들의 리스트에 포함되는 것일 수 있다. 요청은 중간 디바이스(들)에 직접 전송될 수 있거나 직접 전송되지 않을 수 있는데, 이는 제어기(60)와 타겟 디바이스 사이에 다수의 중계 디바이스들이 존재할 수 있고, 중계 디바이스들이, 요청을 초기에 송신하기 위해 프로세서(180)가 사용한 것과 동일할 수 있거나 동일하지 않을 수 있고 요청을 수신하기 위해 타겟 디바이스에 의해 사용되는 것과 동일한 통신 프로토콜과 동일할 수 있거나 동일하지 않을 수 있는 적절한 통신 프로토콜들을 사용하여 요청을 서로에 대해 중계하기 때문이다. 프로세서(180)는 바람직하게는, 프로세서(180)가 요청을 송신하기 위해 사용할 또는 사용할 수 있는 라디오의 타입이 타겟 디바이스에 없는 것, 및 중간 디바이스가 적절한 타입의 라디오를 포함하지 않는 것을 결정하도록 구성된다. 프로세서(180)는 중간 디바이스의 목적지 어드레스를 요청에 포함하도록 구성될 수 있다. 프로세서(180)는, 타겟 디바이스와 무선으로 통신할 수 있는 라디오를 각각 갖는 다수의 중간 디바이스들을 결정하고, 이렇게 결정된 중간 디바이스들의 목적지 어드레스들을 갖는 하나 이상의 요청들을 생성하여 요청(들)을 이러한 중간 디바이스들에 송신하도록 구성될 수 있다.
[0084] 중앙 제어기(60)는 타겟 디바이스와 통신하는 마지막으로 공지된 디바이스에 타겟 디바이스의 위치에 대한 요청을 전송하도록 구성될 수 있다. 예를 들어, 제어기(60)는 타겟 디바이스의 위치에 대한 요청을 제어기(60)가 전송할 중간 디바이스를 결정하기 위해, 타겟 디바이스에 대응하는 도 7에 도시된 바와 같은 통신 이력 필드(218)를 사용할 수 있다. 제어기(60) 및 특히 프로세서(180)는, 중간 디바이스에 요청을 전송하도록 구성되어, 디바이스 데이터 이력(210)에 따라 제어기(60)에 대해, 중간 디바이스가 타겟 디바이스와 통신하기 위한 마지막으로 공지된 디바이스일 수 있다. 프로세서(180)는 타겟 디바이스와 통신하는 중간 디바이스의 시간상 역순으로 다수의 중간 디바이스들에 타겟 디바이스의 위치에 대한 요청을 송신하도록 구성될 수 있다. 예를 들어, 도 7을 참조하고, 특히 태블릿에 대응하는 통신 이력 필드(218)를 참조하면, time6이 가장 최근의 시간이고, time7이 time6 다음으로 최근의 시간이고, time8이 time7 다음으로 최근의 시간이고, time9가 time8 다음으로 최근의 시간인 경우, 프로세서(180)는 요청을 device1에, 그 다음 device2에, 그 다음 device3에, 그 다음 device4에 전송할 수 있다. 프로세서(180)는 이전 디바이스에 요청을 전송하는 것이 타겟 디바이스가 발견되는 것을 도출하지 않은 경우에만, 다음 디바이스에 요청을 전송하도록 구성될 수 있다. 예를 들어, 프로세서(180)는, 이전 디바이스가 타겟 디바이스를 로케이팅했다는 이전 디바이스로부터의 응답을 수신함이 없이 이전 디바이스에 요청을 전송한 후 임계 시간양이 경과한 경우에만 다음 디바이스에 요청을 전송하도록 구성될 수 있다. 물론, 예를 들어, 제어기(60)가 타겟 디바이스의 라디오와 호환가능한 라디오를 가지면(또는 이것이 미지이면), 제어기(60)는 타겟 디바이스와 직접 접촉하려 시도할 수 있고, 제어기(60)는, 제어기(60)가 타겟 디바이스와 직접 접촉하는 것이 실패하는 경우에만 중간 디바이스에 요청을 전송하도록 구성될 수 있다. 추가로, 제어기(60)는, 반대의 정보가 수신될 때까지, 타겟 디바이스와 통신하기 위한 마지막으로 공지된 디바이스의 위치를 타겟 디바이스의 위치로서 가정(예를 들어, 세팅)할 수 있다.
[0085] 타겟 디바이스의 위치에 대한 요청은 중간 디바이스에 대한 타겟 디바이스의 포지션을 결정 및 보고하기 위해 타겟 디바이스를 로케이팅하는 중간 디바이스에 대한 커맨드 또는 요청을 (명시적으로 또는 묵시적으로) 포함할 수 있다. 타겟 디바이스를 발견하는(예를 들어, 그와 통신할 수 있는) 중간 디바이스는 중간 디바이스에 대한 타겟 디바이스까지의 범위 및 가능하게는 방향을 결정할 수 있다. 중간 디바이스는 또한 바람직하게는 중간 디바이스의 위치, 예를 들어, 글로벌 좌표들, 기준 포인트 또는 물체에 대해 참조되는 좌표들, 관심 포인트 위치 이름 등을 제공한다.
[0086] 프로세서(180)는 예를 들어, 디바이스들(251-255) 중 하나 이상으로부터의 탐색 문의에 대한 응답으로 수신되는 정보로부터 탐색 문의에서 식별된 타겟 디바이스의 위치를 결정하도록 구성될 수 있다. 프로세서(180)는 디바이스들(251-255) 중 임의의 것 또는 조합, 또는 다른 무선 통신 디바이스로부터 무선으로 하나 이상의 인바운드 전자 신호들을 수신하고, 전자 신호(들)로부터 타겟 디바이스의 위치를 결정하도록 구성된다. 프로세서(180)는 타겟 디바이스의 위치를 결정하기 위해, 디바이스들(251-255)로부터 제공된 정보, 예를 들어, RSSI 정보, OTDOA 정보, RTT 정보, SPS 정보, 레인징 정보, AOA 정보, 타겟 디바이스를 발견한 디바이스의 위치 등을 프로세싱할 수 있다. 프로세서(180)는 또한 수신된 통신(들)에서 타겟 디바이스의 위치의 표시로부터 타겟 디바이스의 위치를 결정할 수 있다.
[0087] 프로세서(180)는 타겟 디바이스의 위치의 표시를 사용자 인터페이스(186)를 통해 제공하도록 구성된다. 예를 들어, 프로세서(180)는 사용자 인터페이스(186)로 하여금 타겟 디바이스의 위치의 시각적 표시 및/또는 가청 표시를 제공하게 할 수 있다. 예를 들어, 프로세서(180)는 사용자 인터페이스(186)로 하여금, 특정 디바이스까지의 범위를, 예를 들어, "당신의 모바일 폰은 거실 TV의 5 피트 내에 있습니다" 또는 "당신의 모바일 폰은 거실 TV의 5 피트 남서쪽에 있습니다" 또는 "당신의 모바일 폰은 거실 TV로부터 냉장고 쪽으로 5 피트에 있습니다"와 같이 가청적으로 표시하게 할 수 있다. 다른 예로, 프로세서(180)는 사용자 인터페이스(186)로 하여금, 타겟 디바이스의 위치의 그래픽 표시(예를 들어, 적색 점, 적색 화살표, 도 9에서 아이콘(256)에 의해 도시된 바와 같은 "Weihua의 모바일 폰"과 같은 텍스트 등)를 맵(291) 상에 디스플레이하게 할 수 있다. 다른 예로, 프로세서(180)는 추가적으로 또는 대안적으로 타겟 디바이스에 대한 증강 현실 위치를 사용자에게 제공하도록 구성될 수 있다. 예를 들어, 프로세서(180)는 사용자를 타겟 디바이스로 유도하기 위해 사용자 인터페이스(186)의 디스플레이 스크린을 사용하여 증강 현실을 통해 사용자를 안내 또는 지향시키도록 구성될 수 있다. 사용자는 사용자 인터페이스(186)를 유지할 수 있고, 사용자 인터페이스(186)는 카메라로 환경을 캡처하고 (예를 들어, 전방, 우측, 좌측, 위, 아래 및/또는 반대 방향으로 이동하기 위해) 지향성 표시들을 디스플레이할 수 있거나, 또는 벽들과 같은 임의의 장애물들이 투명한 것처럼 타겟 디바이스의 표시를 제공할 수 있다. 사용자 인터페이스(186)는 또한 오디오 방향들을 제공할 수 있다. 증강 현실에 사용되는 사용자 인터페이스는 탐색 문의를 개시하기 위해 사용되는 사용자 인터페이스(86), 예를 들어, 모바일 폰 또는 태블릿 등의 사용자 인터페이스일 수 있다.
[0088] 동작
[0089] 도 10을 참조하고, 도 1 내지 도 8을 추가로 참조하면, 무선 통신 방법(310)은 도시된 스테이지들을 포함한다. 그러나, 방법(310)은 제한이 아니라 단지 예시적일 뿐이다. 방법(310)은 예를 들어, 스테이지들을 추가, 제거, 재배열, 조합, 동시에 수행함으로써 및/또는 단일 스테이지들을 다수의 스테이지들로 분리시킴으로써 변경될 수 있다.
[0090] 도 10에 도시된 바와 같이, 스테이지(312)에서, 방법(310)은 송신 디바이스의 복수의 속성들에 대응하는 속성 표시들을 포함하는 통신 데이터를 생성하는 단계를 포함하고, 스테이지(314)에서 방법(310)은 송신 디바이스로부터 무선으로 통신 데이터를 송신하는 단계를 포함한다. 예를 들어, 디바이스(70) 및 특히 프로세서(80)는 디바이스(70)의 속성들을 포함하는 통신 데이터를 생성하고, 트랜시버(88)를 사용하여 무선으로 통신 데이터를 송신한다. 디바이스(70)는 라디오들(90, 92, 94) 중 하나 이상을 사용하여 통신 데이터를 송신할 수 있다.
[0091] 통신의 속성들은, 사용자 인터페이스(86)(존재하는 경우)를 통해 사용자가 입력한 하나 이상의 항목들, 예를 들어, 디폴트 모빌리티 타입, 제조 동안 디바이스(70)에 프로그래밍된 하나 이상의 항목들, 프로세서(80)에 의해 결정된 하나 이상의 항목들 및/또는 디바이스(70)에 제공된 하나 이상의 항목들을 포함할 수 있다. 예를 들어, 사용자는 사용자 인터페이스(86)를 통해 디폴트 모빌리티 타입을 입력할 수 있다. 다른 예로, 디바이스 타입 및/또는 디바이스 ID 및 또는 하나 이상의 다른 항목들이 제조 동안 디바이스(70)에서 프로그래밍될 수 있다. 다른 예로, 신호 측정들(예를 들어, RSSI, RTT, OTDOA, SPS 신호들), 디바이스(70)의 위치, 디바이스(70)로부터 기준 포인트 또는 물체까지의 범위, 하나 이상의 신호들의 도달 각도, 디바이스(70)의 현재 모빌리티 상태 및/또는 하나 이상의 항목들이 프로세서(80)에 의해 결정될 수 있고, 그리고/또는 예를 들어, 도 2에 도시된 디바이스들(40-47) 중 하나 이상 및/또는 중앙 제어기(60)에 의해 디바이스(70)에 제공될 수 있다. 속성 표시는 디바이스(70)에 의해 송신된 명시적 표시일 수 있거나 또는 수신 디바이스에 의해 유도될 수 있다. 속성 표시가 명시적 표시이면, 디바이스(70)는 명시적 속성 표시를 송신하기 전에, 수신 디바이스가 속성 표시를 수신하도록 인가된다고 결정할 수 있다. 유도된 속성 표시의 예로, 수신 디바이스는, 디바이스(70)가 임계 시간양 동안 이동하지 않았다고 결정할 수 있고, 따라서 디바이스(70)의 모빌리티 상태가 "정적"이라고 결정할 수 있다.
[0092] 속성들은 다양한 상이한 정보를 포함할 수 있다. 예를 들어, 속성 표시들은, 디바이스의 디바이스 아이덴티티; 송신 디바이스가 모바일인지 아니면 정적인지를 표시하는 모빌리티 표시; 송신 디바이스의 위치를 표시하는 위치 표시; 및 송신 디바이스의 대응하는 속성과 연관된 프라이버시 표시를 포함할 수 있다. 프라이버시 표시는, 송신 디바이스로부터 속성 표시들을 수신하는 수신 디바이스가 송신 디바이스의 대응하는 속성에 관한 정보를 송신하도록 인가될지 여부를 표시한다. 예를 들어, 도 4에 도시된 바와 같이, 프라이버시 표시는 특정 속성이 공개이고 그에 따라 공유될 수 있는지 또는 비밀이고 그에 따라 수신 디바이스를 넘어 공유될 수 없는지 여부를 표시할 수 있다. 프라이버시 표시는 또한, 수신 디바이스에 추가로 적어도 하나의 다른 디바이스가 대응하는 속성에 관한 정보를 송신하도록 인가되는지 여부를 표시할 수 있다. 예를 들어, 프라이버시 표시는 디바이스들(41-43)이 대응하는 속성을 송신할 수 있는 것, 또는 디바이스들(44-47)이 대응하는 속성을 송신하지 않을 수 있는 것을 표시할 수 있다.
[0093] 또 다른 속성 표시들이 디바이스로부터의 통신에 포함될 수 있다. 예를 들어, 속성 표시들은 송신 디바이스에 의해 표시가 송신되고 있지 않은 속성의 아이덴티티를 포함할 수 있다. 따라서, 예를 들어, 디바이스(70)는 디바이스(70)와 연관된 엔티티(예를 들어, 소유자)가 전송되고 있지 않다는 표시를 전송할 수 있다(예를 들어, 소유자가 없기 때문에, 또는 소유자의 연관성이 공유되기를 원하지 않기 때문에). 속성 표시들은 추가적으로 또는 대안적으로, 송신 디바이스와 연관된 하나 이상의 신뢰되는 디바이스들의 리스트의 하나 이상의 표시들, 또는 다른 디바이스와 연관된 라운드-트립 시간, 또는 송신 디바이스에서 신호의 도달 각도, 또는 지원되는 레인징 프로토콜(또는 프로토콜들), 또는 레인징 불확실성, 또는 위치 불확실성, 또는 송신 디바이스에 이웃하는 액세스 포인트들을 표시하는 이웃 리스트, 또는 이웃 리스트 이력, 또는 송신 디바이스가 맵 상에 제시될 수 있는지 여부, 또는 도달 각도 결정들이 지원되는지 여부, 또는 이들의 조합을 더 포함할 수 있다.
[0094] 통신은 디바이스 아이덴티티 이외의 속성, 모빌리티 표시, 위치 표시 및 하나 이상의 팩터들에 따른 프라이버시 표시를 포함할 수 있다. 예를 들어, 프로세서(80)는 디바이스(70)의 시간 및/또는 위치에 기초한 추가적 속성 표시를 포함할 수 있다. 추가적으로 또는 대안적으로, 프로세서(80)는 통신에 포함된 추가적 속성 표시의 값을 디바이스(70)의 시간 및/또는 위치에 기초할 수 있다. 이러한 예들 중 어느 하나 또는 둘 모두에서, 시간은 시각 또는 요일 또는 날짜, 경과된 시간 또는 이들의 조합일 수 있다. 이러한 예들 중 어느 하나 또는 둘 모두에서, 위치는 다른 디바이스에 대한 위치, 또는 구조에 대한 위치, 또는 기준 포인트에 대한 위치, 또는 글로벌 위치, 또는 도시 위치 또는 관심 포인트 위치, 또는 이들의 조합일 수 있다.
[0095] 방법(310)은 디바이스로부터 다른 디바이스들로 통신들을 중계하는 단계를 더 포함할 수 있다. 도 2에 도시된 TV(48)인 디바이스의 예를 사용하면, 방법(310)은 태블릿(44)의 위치에 대한 중앙 제어기(60)로부터의 요청을 수신하는 단계, 태블릿(44)의 위치에 대한 요청을 다른 디바이스(예를 들어, 태블릿(44) 및/또는 스마트 폰(45))에 송신하는 단계, 다른 디바이스(예를 들어, 태블릿(44) 및/또는 스마트 폰(45))으로부터 응답을 수신하는 단계 및 태블릿(44)의 위치의 표시를 포함하는 메시지를 중앙 제어기(60)에 송신하는 단계를 포함할 수 있다. 이러한 예에서, 태블릿(44)의 위치는 TV(48)에 대한(또는 모바일 폰(44)에 대한) 거리, TV(48)에 대한(또는 모바일 폰(44)에 대한 거리 플러스 TV(48)에 대한(또는 모바일 폰(44)에 대한 방향, 글로벌 좌표들, 기준 포인트에 대한 로컬 좌표들(예를 들어, 원점(11)에 대한 ENU 좌표들) 등과 같은 다양한 포맷들 중 임의의 포맷으로 제공될 수 있다.
[0096] 방법(310)은 관심 포인트 이름을 디바이스와 연관시키는 단계를 더 포함할 수 있다. 공통 이름이 연결되고 디바이스(70)에 의해 저장될 수 있다. 예를 들어, 방법(310)은, 디바이스(70)가 다른 디바이스와 연관된 관심 포인트 이름을 수신하는 단계, 및 다른 디바이스와 연관된 관심 포인트 이름을 디바이스(70)의 위치의 표시로서 메모리(82)에 저장하는 단계를 포함할 수 있다. 따라서, 예를 들어, 디바이스(70)가 거실(66)에 들어 왔지만 아직 이의 속성들 중 하나로서 관심 포인트 이름을 저장하지 않았고, TV(48)의 위치의 관심 포인트 이름이 "거실"인 것을 표시하는 신호들을 디바이스(70)가 TV(48)로부터 수신하면, 디바이스(70)는 이름 "거실"을 디바이스(70)의 위치의 관심 포인트 이름으로서, 예를 들어, 메모리(82)의 속성 표에 저장할 수 있다. 다른 예로, 방법(310)은, 디바이스(70)가 관심 포인트 이름들 및 연관된 지리적 위치들의 매핑을 수신하는 단계, 지리적 위치들 중 어느 것이 디바이스(70)의 위치에 대응하는지를 결정하는 단계, 및 디바이스(70)의 위치에 대응하는 지리적 위치와 연관된 관심 포인트 이름을 메모리(82)에 저장하는 단계를 포함할 수 있다. 따라서, 예를 들어, 디바이스(70)가 디바이스(70)의 위치에 대한 좌표들을 결정하고, 이러한 좌표들이 차고(68)에 대응하면, 디바이스(70)는 "차고"라는 관심 포인트 이름을 디바이스(70)에 대한 속성으로서 메모리(82)에 저장할 수 있다.
[0097] 방법(310)은 가정적으로 정적 디바이스가 이동했음을 표시하는 단계를 포함할 수 있다. 예를 들어, 방법(310)은, (예를 들어, 다른 디바이스의 속성들에 따라) 다른 디바이스가 정적 디바이스라는 표시를 디바이스(70)가 그 다른 디바이스로부터 수신하는 단계, 디바이스(70)에 대한 다른 디바이스의 위치가 변경된다고 결정하는 단계, 및 디바이스(70)에 대한 다른 디바이스의 위치가 변경되었다는 표시를 송신하는 단계를 포함할 수 있다. 따라서, 예를 들어, 디바이스(70)는 TV(48)와 같은 다른 디바이스가 예를 들어, 도난, 아이들에 의한 이동 등에 의해 예상되지 않는 방식으로 이동하고 있다는 표시를 제공할 수 있다.
[0098] 도 11을 참조하고, 도 1 내지 도 8을 추가로 참조하면, 타겟 디바이스를 로케이팅하는 방법(320)은 도시된 스테이지들을 포함한다. 그러나, 방법(320)은 제한이 아니라 단지 예시적일 뿐이다. 방법(320)은 예를 들어, 스테이지들을 추가, 제거, 재배열, 조합, 동시에 수행함으로써 및/또는 단일 스테이지들을 다수의 스테이지들로 분리시킴으로써 변경될 수 있다.
[0099] 도 11에 도시된 바와 같이, 스테이지(322)에서, 방법(320)은 문의 디바이스에서, 문의 디바이스의 라디오와 호환가능한 라디오가 없는 타겟 디바이스의 위치에 대한 요청을 생성하는 단계를 포함한다. 문의 디바이스는 제1 통신 프로토콜을 사용하여 무선으로 통신하도록 구성된 제1 타입의 제1 라디오를 포함한다. 타겟 디바이스는 제1 타입의 라디오가 없지만, 제2 통신 프로토콜을 사용하여 무선으로 통신하도록 구성된 제2 타입의 제2 라디오를 포함한다. 제2 통신 프로토콜은 제1 통신 프로토콜과 호환불가능하다. 통신 프로토콜들은, 예를 들어, 상이한 주파수들 및/또는 상이한 데이터 패킷 포맷들(예를 들어, 필드들에 대한 상이한 의미들, 상이한 필드 크기들 등)을 사용하는 상이한 통신 프로토콜들로 인해, 제1 통신 프로토콜을 사용하는 디바이스가 제2 통신 프로토콜을 사용하는 디바이스와 통신할 수 없거나, 또는 그 반대도 마찬가지인 점에서 호환불가능하다. 예를 들어, 중앙 제어기(60)는 Wi-Fi 라디오(192) 및 LTE 라디오(194)를 포함하지만 블루투스 라디오(190)를 포함하지 않고, 태블릿(44)은 Wi-Fi 라디오(92) 및 블루투스 라디오(90)를 포함하고, TV(48)는 오직 블루투스 라디오(90)만을 포함하고, 중앙 제어기(60)는 TV(48)의 위치를 알기를 원한다고 가정한다. 중앙 제어기(60)가 TV(48)의 라디오와 호환가능한 라디오를 갖지 않음에도 불구하고, 중앙 제어기(60)는 TV(48)의 위치에 대한 요청을 생성할 수 있다.
[0100] 스테이지(324)에서, 방법(320)은 제1 라디오를 사용하여 문의 디바이스로부터 중간 디바이스에 무선으로 요청을 송신하는 단계를 포함한다. 상기 예를 계속하면, 중앙 제어기(60)는 Wi-Fi 라디오(192)를 사용하여 요청을 전송할 수 있다. 요청은 태블릿(44)의 Wi-Fi 라디오(92)를 통해 태블릿(44)에 의해 수신되고, 태블릿(44)의 블루투스 라디오(90)를 사용하여 태블릿(44)에 의해 중계/재송신되고, TV(48)의 블루투스 라디오(90)를 사용하여 TV(48)에 의해 수신될 수 있다. 예를 들어, 태블릿(44)이 TV(48)의 위치를 알고 이러한 위치를 중앙 제어기(60)에 보고할 수 있으면, 요청은 태블릿(44)에 의해 중계/재송신되지 않을 수 있다.
[0101] 방법(310)은, 타겟 디바이스가 문의 디바이스에 포함된 라디오 타입이 없다고 문의 디바이스가 결정하는 단계를 더 포함할 수 있다. 예를 들어, 방법(310)은, 문의 디바이스에서, 타겟 디바이스가 제1 타입의 라디오가 없다고 결정하는 단계, 중간 디바이스가 제1 타입의 라디오를 포함한다고 결정하는 단계, 및 중간 디바이스의 목적지 어드레스를 포함하는 요청을 생성하는 단계를 더 포함할 수 있다. 중간 디바이스가 제1 타입의 라디오를 포함한다고 결정하는 단계는 다수의 중간 디바이스들 각각이 제1 타입의 라디오를 포함한다고 결정하는 단계를 포함할 수 있다. 중간 디바이스의 목적지 어드레스를 포함하는 요청을 생성하는 단계는 다수의 중간 디바이스들의 목적지 어드레스들을 포함하는 요청을 생성하는 단계를 포함할 수 있고, 요청을 송신하는 단계는 다수의 중간 디바이스들에 요청을 송신하는 단계를 포함할 수 있다.
[0102] 방법(310)을 사용하면, 문의 디바이스는, 타겟 디바이스와 가장 최근에 통신한 하나 이상의 디바이스들을 문의함으로써 타겟 디바이스의 위치를 결정하려 시도할 수 있다. 예를 들어, 방법(310)은, 중간 디바이스가, 문의 디바이스에 의해 타겟 디바이스가 통신한 것으로 알려진 마지막으로 공지된 디바이스라고 결정하는 단계를 더 포함할 수 있다. 예를 들어, 중앙 제어기(60)는 타겟 디바이스가 가장 최근에 통신한 디바이스를 결정하기 위해, 디바이스 데이터 이력(210) 및 특히 통신 이력 필드(218)를 분석할 수 있다. 중앙 제어기(60)는, 통신 이력 필드(218)에 따라 타겟 디바이스가 가장 최근에 통신한 디바이스 이외의 하나 이상의 디바이스들에 요청을 송신할 수 있다. 따라서, 방법(310)은, 요청을 적어도 하나의 다른 중간 디바이스에 송신하는 단계를 더 포함할 수 있고, 요청을 중간 디바이스에 및 적어도 하나의 다른 중간 디바이스에 송신하는 단계는, 문의 디바이스에 의해, 각각 중간 디바이스 및 적어도 하나의 다른 중간 디바이스와 통신한 마지막으로 공지된 순서의 시간상 역순으로 수행된다. 예를 들어, 도 7에 도시된 디바이스 데이터 이력(210)에 따라, 중앙 제어기(60)는 문의를, device1, 그 다음 device2, 그 다음 device3, 그 다음 device4에 전송할 수 있다. 문의를 device1에 전송하는 것이, (중앙 제어기(60)에 위치를 전송함으로써, 또는 위치가 결정될 수 있는 정보를 중앙 제어기(60)에 전송함으로써) 중앙 제어기(60)가 타겟 디바이스의 위치를 획득하는 것을 도출하지 않은 경우에만, 중앙 제어기(60)는 device1보다 많은 디바이스에 문의를 전송할 수 있다.
[0103] 문의 디바이스는 다양한 디바이스들의 이용가능한 라디오 타입들에 관한 정보를 획득할 수 있다. 예를 들어, 방법(310)은, 타겟 디바이스의 각각의 이용가능한 라디오 타입을 포함하는 타겟 디바이스 속성들의 리스트를 문의 디바이스에 의해 수신하는 단계를 더 포함할 수 있다. 타겟 디바이스 속성들의 리스트는 타겟 디바이스에 없는 라디오의 타입인 수신 라디오를 사용하여 무선으로 문의 디바이스에 의해 수신될 수 있다. 예를 들어, 중앙 제어기(60)는 Wi-Fi 라디오(192)를 통해, 태블릿(44)에 의해 TV(48)로부터 디바이스 속성 표를 수신할 수 있다.
[0104] 도 12를 참조하고, 도 1 내지 도 10을 추가로 참조하면, 타겟 디바이스를 등록하는 방법(350)은 도시된 스테이지들을 포함한다. 그러나, 방법(350)은 제한이 아니라 단지 예시적일 뿐이다. 방법(350)은 예를 들어, 스테이지들을 추가, 제거, 재배열, 조합, 동시에 수행함으로써 및/또는 단일 스테이지들을 다수의 스테이지들로 분리시킴으로써 변경될 수 있다.
[0105] 스테이지(352)에서, 방법(350)은 타겟 디바이스를 등록하기 위한 등록 요청을 사용자 인터페이스를 통해 수신하는 단계를 포함한다. 제한의 방식이 아닌 도 12의 구현을 예시할 목적으로, 중앙 제어기(60)를 사용하여 Weihua의 태블릿을 도 8에 도시된 새로운 디바이스(255)로서 등록하는 예가 아래에서 논의된다. 이러한 예에서, 등록 요청은 중앙 제어기(60) 및 특히 프로세서(180)에 의해 사용자 인터페이스(186)를 통해 수신될 수 있다. 예를 들어, 사용자는 새로운 디바이스 등록 아이콘(272)을 작동시킬 수 있다. 요청 자체는 예를 들어, 새로운 디바이스(255)(또는 등록될 다른 디바이스)를 식별하는 추가적 정보를 제공할 수 있거나, 또는 아이콘(272)을 작동시키는 것에 대한 응답으로 사용자 인터페이스(186)를 통해 추가적 정보가 프로세서(180)에 의해 프롬프트될 수 있다. 대안적으로, 등록 요청은, 사용자가 발견 디바이스 등록 아이콘(274)을 작동시켰다는 표시일 수 있고, 맵(270)은 발견된 디바이스(255)를 표시한다. 다른 구현들에서, 등록 요청은 디바이스(70)(예를 들어, 디바이스들(40-47) 중 하나 또는 다른 디바이스)의 사용자 인터페이스(86)에 입력될 수 있고, 중앙 제어기(60)에 전송될 수 있다. 또 다른 등록 요청들이 가능하다.
[0106] 스테이지(354)에서, 방법(350)은 타겟 디바이스에 대해 제안된 등록 위치를 결정하는 단계를 포함한다. 예를 들어, 제안된 등록 위치는, 단거리 무선 통신 라디오(예를 들어, Wi-Fi 라디오, 블루투스 라디오, 블루투스 저에너지 라디오)의 범위 내의 위치에 대한 것일 수 있다. 추가적인 예로, 제안된 등록 위치는 건물 내일 수 있다. 타겟 디바이스에 대한 제안된 등록 위치를 결정하는 것은, 타겟 디바이스의 현재 위치, 또는 사용자 인터페이스를 통해 수신된 타겟 디바이스에 대한 위치 입력, 또는 타겟 디바이스의 디바이스 이름, 또는 타겟 디바이스의 디바이스 타입 또는 이들의 조합에 기초할 수 있다. 중앙 제어기(60)는 새로운 디바이스(255)의 현재 위치를 결정하기 위해, 예를 들어, 중앙 제어기(60)로부터의 레인징 및/또는 하나 이상의 다른 디바이스들(예를 들어, 디바이스들(40-47))과의 통신을 통해 새로운 디바이스(255)의 위치를 결정할 수 있다. 추가적으로 또는 대안적으로, 사용자는 예를 들어, 맵(250) 상의 커서 위치에 대응하는 마우스 클릭 또는 맵(250을 도시하는 터치-감응 디스플레이의 터치로 맵(250) 상의 위치를 선택함으로써, 위치 입력을 제공할 수 있다. 추가적으로 또는 대안적으로, 사용자 또는 새로운 디바이스(255) 자체는 디바이스 이름 및/또는 디바이스 타입을 제공할 수 있고, 프로세서(180)는 제안된 위치를 결정하기 위해 이러한 정보를 사용할 수 있다(예를 들어, 주방 기기를 표현 또는 의미하는 주방 기기 디바이스 타입 또는 디바이스 이름에 대해 주방(42)을 제안하는 경향이 있거나 또는 통상적으로 차고에서 발견 또는 저장되는 항목을 의미하는 차량 디바이스 타입 또는 디바이스 이름에 대해 차고(68)를 제안하는 경향이 있음). 예시적인 예에서, 중앙 제어기(60)는 "태블릿"의 디바이스 타입을 수신하고 문 개방기(47)로부터의 범위를 결정하고 따라서 문 개방기(47)로부터 결정된 거리에 있는 새로운 디바이스(255)의 (여기서는 거실(66) 내의) 실내 위치를 제안한다.
[0107] 방법(350)은 사용자 인터페이스를 통해 타겟 디바이스에 대한 제안된 디바이스 이름을 제공하는 단계를 포함할 수 있다. 상기 예를 계속하여, 프로세서(180)는 사용자 인터페이스(186)로 하여금 "Weihua의 태블릿"이라는 제안된 디바이스 이름을, 예를 들어 스피커를 통해 가청적으로 및/또는 디스플레이 스크린 상에 시각적으로 제공하게 할 수 있다. 방법(350)은 예를 들어, 타겟 디바이스의 현재 위치, 사용자 인터페이스의 사용자의 이름, 타겟 디바이스에 매우 근접한 또는 근접했던 적어도 하나의 다른 디바이스와 연관된 사람의 이름 또는 타이틀 또는 이들의 조합에 기초하여 (예를 들어, 다른 디바이스가 이동한 소정 시간 기간 전반에 걸쳐, 예를 들어, 적어도 1 분 동안) 제안된 디바이스 이름을 결정하는 단계를 포함할 수 있다. 예를 들어, 프로세서(180)가 "내 태블릿을 등록해"라는 요청의 사용자 인터페이스(186)의 마이크로폰을 통한 가청 입력으로부터 예를 들어, Weihua의 음성을 인식하면, 프로세서(180)는 사용자 인터페이스로 하여금 "Weihua의 태블릿"이라는 제안된 디바이스 이름을 제공하게 할 수 있다. 프로세서(180)는, 등록되고 있는 디바이스가 태블릿이고 임계 시간양(예를 들어, 1 분, 1 시간 등) 동안 Weihua의 모바일 폰에 근접한 것(예를 들어, 5 피트 이내 또는 2 피트 등)에 대한 응답으로 동일한 제안된 디바이스 이름을 제공할 수 있다. 임계 시간양은, 다른 디바이스 및 등록되고 있는 디바이스가 이동중인지/이동중이었는지 여부에 의존할 수 있다(예를 들어, 움직임 없는 임계치는 1 시간일 수 있는 한편, 움직이는 동안의 임계치는 1 분일 수 있다). 임계치는 또한 움직임의 양(예를 들어, 20 피트 미만 또는 구조(36) 내에서 1 시간의 움직임 또는 20 피트 초과 및 구조(36) 외부에서 1 분의 움직임)에 의존할 수 있다.
[0108] 방법(350)은, 등록되고 있는 디바이스가 다른 디바이스들에 의해 발견되도록 인가되는지 여부의 표시에 대한 프롬프트를 사용자 인터페이스를 통해 제공하는 단계를 포함할 수 있다. 예를 들어, 프로세서(180)는 사용자 인터페이스(186)로 하여금, 사용자가 새로운 디바이스(255)의 위치 발견가능성을 제한하기를 원하는지 여부를 사용자에게 질문하는 아이콘(278)을 제공하게 할 수 있다. 방법(350)은, 어떤 다른 디바이스들이 새로운 디바이스(255)를 발견하도록 인가되는지의 표시들에 대한 프롬프트를 제공하는 단계를 더 포함할 수 있다. 예를 들어, 사용자가 아이콘(278)을 선택하는 것에 대한 응답으로, 프로세서(180)는 새로운 디바이스(255)의 위치를 발견 및/또는 보고하기 위해, 사용자 인터페이스(186)로 하여금, 인가된 또는 인가되지 않은 디바이스들을 선택 및/또는 입력하게 하도록 사용자에게 프롬프트할 수 있다.
[0109] 도 13을 참조하고, 도 1 내지 도 10을 추가로 참조하면, 사용자 디바이스의 사용자를 보조하는 방법(360)은 도시된 스테이지들을 포함한다. 그러나, 방법(360)은 제한이 아니라 단지 예시적일 뿐이다. 방법(360)은 예를 들어, 스테이지들을 추가, 제거, 재배열, 조합, 동시에 수행함으로써 및/또는 단일 스테이지들을 다수의 스테이지들로 분리시킴으로써 변경될 수 있다.
[0110] 스테이지(362)에서, 방법(360)은 사용자 디바이스의 사용자 인터페이스를 통해 탐색 문의의 제1 부분을 수신하는 단계를 포함한다. 예를 들어, 프로세서(180)는 사용자 인터페이스(186)를 통해 디바이스의 위치에 대한 요청을 수신한다. 이러한 요청의 예로서, 프로세서는 Ju-Yong으로부터 "내 폰을 찾아라"라는 요청(예를 들어, 가청, 텍스트 등)을 수신할 수 있다.
[0111] 스테이지(364)에서, 방법(360)은 탐색 문의의 제1 부분 및 탐색 문의의 제1 부분과 엔티티와의 연관성에 기초하여 탐색 문의의 제2 부분을 결정하는 단계를 포함하고, 탐색 문의는 엔티티와 연관된 타겟 디바이스를 로케이팅하기 위한 것이다. 예를 들어, 방법(360)은 탐색 문의의 제1 부분에 기초하여 사용자 인터페이스의 사용자를 식별하는 단계를 더 포함할 수 있다. 따라서, 프로세서(180)는 예를 들어, 사용자의 음성을 인식하는 것 또는 요청이 수신된 디바이스를 인식하는 것 등에 기초하여 요청을 사람에게 연결할 수 있고, 이러한 링크를 사용하여, 완료되지 않았다면 탐색 문의를 확장할 수 있다. 스테이지(362)의 논의로부터의 예를 계속하면, Ju-Yong으로부터 "내 폰을 찾아라"라는 요청에 대한 응답으로, 프로세서는 Ju-Yong의 음성, 또는 그 요청이 Ju-Yong의 컴퓨터(또는 Ju-Yong과 연관된 다른 디바이스)로부터 온 것을 인식할 수 있고, 문의의 제2 부분이 "Ju-Yong"인 것으로 결정하고, 따라서, 레이(lay) 항들에서 탐색 문의 "Ju-Yong의 폰을 찾아라"를 행하고, 실제 문의는 수신 디바이스들에 의한 해석에 적절하게 포맷된다.
[0112] 스테이지(366)에서, 방법(360)은 탐색 문의를 하나 이상의 아웃바운드 전자 신호들에서 무선으로 제1 중간 디바이스에 송신하는 단계를 포함한다. 예를 들어, 프로세서(180)는 트랜시버(188)를 통해 탐색 문의를 전송할 수 있다. 탐색 문의는 유니캐스트 메시지를 사용하여 중간 디바이스에 전송될 수 있거나, 또는 예를 들어, 다수의 유니캐스트 메시지들을 전송함으로써 및/또는 탐색 문의를 브로드캐스트 및/또는 멀티캐스트함으로써 다수의 디바이스들에 전송될 수 있다. 예를 계속하면, 제어기(60)는 냉장고(251), 거실 TV(253), 새로운 디바이스(255) 및 Meghna의 자동차(254)에 의해 수신될 수 있는 탐색 문의를 브로드캐스트할 수 있다. 도 8에서, Ju-Yong의 폰(252)은 중앙 제어기(60)의 통신 범위 내일 수 있지만, Ju-Yong의 폰은 탐색 문의를 전송하기 위해 제어기(60)에 의해 사용되는 라디오 타입을 갖지 않을 수 있다. 대안적으로, 다른 예에서, Ju-Yong의 폰(252)은 제어기(60)의 통신 범위 이내에 있지 않을 수 있다.
[0113] 스테이지(368)에서, 방법(360)은 제1 중간 디바이스로부터 인바운드 전자 신호를 무선으로 수신하는 단계를 포함하고, 인바운드 전자 신호는 타겟 디바이스의 위치를 표시한다. 예를 들어, 프로세서(180)는 예를 들어, 그로부터 위치가 결정될 수 있는, 타겟 디바이스의 위치를 표시하는 신호, 타겟 디바이스의 좌표들, 물체 또는 포인트에 대한 타겟 디바이스의 위치 등을 수신할 수 있다. 타겟 디바이스의 위치는 제1 중간 디바이스에 대한 타겟 디바이스의 위치일 수 있다. 예를 들어, 상대적 위치는 제1 중간 디바이스로부터의 범위일 수 있고, 또한 제1 중간 디바이스로부터의 방향 및 제1 중간 디바이스의 위치를 포함할 수 있다. 제1 중간 디바이스의 위치는 글로벌 좌표들, 로컬 좌표들, 관심 포인트(예를 들어, 거실(66)), 도시 위치 등과 같은 다양한 레졸루션들 중 임의의 것일 수 있다. 대안적으로, 타겟 디바이스의 위치는 맵에 대한 위치일 수 있다.
[0114] 스테이지(370)에서, 방법(360)은 타겟 디바이스의 위치의 표시를 사용자 인터페이스를 통해 제공하는 단계를 포함한다. 예를 들어, 프로세서(180)는 사용자 인터페이스(186)를 통해, 타겟 디바이스의 시각적(예를 들어, 그래픽 및/또는 텍스트) 및/또는 가청 표시를 제공할 수 있다. 예를 계속하면, 프로세서(180)는 "Ju-Yong의 폰"을 판독하는 텍스트 또는 등가물과 함께 맵(250) 상의 위치의 그래픽 표시를 디스플레이함으로써 Ju-Yong의 폰의 위치를 제공할 수 있다. 추가적으로 또는 대안적으로, 프로세서(180)는 "Ju-Yong의 폰"이 "거실 TV"로부터 3 피트에 있다는 표시를 제공할 수 있다. 또 다른 표시들이 제공될 수 있다.
[0115] 다른 고려사항들
[0116] 다른 예들 및 구현들이 본 개시 및 첨부된 청구항들의 범위 및 사상 내에 있다. 예를 들어, 소프트웨어 및 컴퓨터들의 본질로 인해, 위에서 설명된 기능들은 프로세서에 의해 실행되는 소프트웨어, 하드웨어, 펌웨어, 하드와이어링, 또는 이들 중 임의의 조합을 사용하여 구현될 수 있다. 기능들을 구현하는 특징들은 또한 기능들의 부분들이 상이한 물리적 위치들에서 구현되도록 분산되는 것을 포함하여, 물리적으로 다양한 위치들에 위치될 수 있다.
[0117] 본원에서 사용되는 바와 같이, 디바이스가 언급된 기능을 수행하도록 구성된다는 표시는, 디바이스가 언급된 기능을 수행하기 위해 적절한 장비(예를 들어, 회로, 기계적 디바이스(들), 하드웨어, 소프트웨어(예를 들어, 프로세서 판독가능 명령들), 펌웨어 등)를 포함함을 의미한다. 즉, 디바이스는, 언급된 기능을 수행할 수 있는 장비를 포함하고, 예를 들어, 디바이스 자체는 기능을 수행하도록 설계 및 제조되거나, 디바이스가 기능을 수행하도록 설계 및 제조된 장비를 포함하도록 제조된다. 프로세서 판독가능 명령들이 프로세서로 하여금 기능들을 수행하게 하도록 구성된다는 표시는, 프로세서 판독가능 명령들이 프로세서에 의해 실행되는 경우 (적절한 컴파일링 이후) 기능들이 수행되게 할 명령들을 포함함을 의미한다.
[0118] 또한, 본원에서 사용되는 바와 같이, "중 적어도 하나"가 후속하거나 "중 하나 이상"이 후속하는 항목들의 리스트에서 사용되는 바와 같은 "또는"은, 예를 들어, "A, B 또는 C 중 적어도 하나"의 리스트 또는 "A, B 또는 C 중 하나 이상"의 리스트가 A 또는 B 또는 C 또는 AB 또는 AC 또는 BC 또는 ABC(즉, A 및 B 및 C), 또는 하나 초과의 특징과의 결합들(예를 들어, AA, AAB, ABBC 등)을 의미하도록 하는 택일적 리스트를 표시한다.
[0119] 본 명세서에서 사용된 바와 같이, 달리 언급되지 않으면, 기능 또는 동작이 항목 또는 조건"에 기초한다"는 언급은, 기능 또는 동작이 언급된 항목 또는 조건에 기초하고, 언급된 항목 또는 조건에 추가로 하나 이상의 항목들 및/또는 조건들에 기초할 수 있다는 것을 의미한다.
[0120] 추가로, 엔티티"에" 정보가 전송 또는 송신된다는 표시 또는 정보를 전송 또는 송신한다는 언급이 통신의 완료를 요구하는 것은 아니다. 이러한 표시들 또는 언급들은, 정보가 전송 엔티티로부터 전달되지만 정보의 의도된 수신지에 도달하지 않는 상황들을 포함한다. 의도된 수신지는 정보를 실제로 수신하지 않더라도, 수신 엔티티, 예를 들어, 수신 실행 환경을 여전히 지칭할 수 있다. 추가로, 의도된 수신지"에" 정보를 전송 또는 송신하도록 구성되는 엔티티는 의도된 수신지로의 정보의 전달을 완료하도록 구성되도록 요구되지는 않는다. 예를 들어, 엔티티는 의도된 수신지의 표시와 함께, 의도된 수신지의 표시와 함께 정보를 포워딩할 수 있는 다른 엔티티에 정보를 제공할 수 있다.
[0121] 무선 통신 시스템은, 통신들이 무선으로, 즉, 유선 또는 다른 물리적 접속을 통하기보다는 대기 공간을 통해 전파하는 전자기파 및/또는 음향파에 의해 전달되는 시스템이다. 무선 통신 네트워크는 모든 통신들이 무선으로 송신되게 하지는 않을 수 있고, 적어도 일부 통신들이 무선으로 송신되게 구성된다. 추가로, 무선 통신 디바이스는 하나 이상의 유선 접속들 뿐만 아니라 하나 이상의 무선 접속들을 통해 통신할 수 있다.
[0122] 실질적인 변경들이 특정한 요건들에 따라 행해질 수 있다. 예를 들어, 커스터마이징된 하드웨어가 또한 사용될 수 있고, 그리고/또는 특정 엘리먼트들이 하드웨어, 소프트웨어(애플릿(applet)들 등과 같은 휴대용 소프트웨어를 포함함), 또는 둘 모두로 구현될 수 있다. 추가로, 네트워크 입력/출력 디바이스들과 같은 다른 컴퓨팅 디바이스들에 대한 접속이 이용될 수 있다.
[0123] 본 명세서에서 사용된 바와 같이, "머신-판독가능 매체" 및 "컴퓨터-판독가능 매체"라는 용어들은 머신으로 하여금 특정한 방식으로 동작하게 하는 데이터를 제공하는 것에 참여하는 임의의 매체를 지칭한다. 컴퓨터 시스템을 사용하면, 다양한 컴퓨터-판독가능 매체들은, 실행을 위해 프로세서(들)에 명령들/코드를 제공하는 것에 수반될 수 있고 그리고/또는 그러한 명령들/코드를 저장 및/또는 (예를 들어, 신호들로서) 반송하는데 사용될 수 있다. 많은 구현들에서, 컴퓨터 판독가능 매체는 물리적 및/또는 유형의 저장 매체이다. 이러한 매체는, 비휘발성 매체들 및 휘발성 매체들을 포함하지만 이에 제한되는 것은 아닌 많은 형태들을 취할 수 있다. 비휘발성 매체들은 예를 들어, 광학 및/또는 자기 디스크들을 포함한다. 휘발성 매체들은 제한 없이 동적 메모리를 포함한다.
[0124] 물리적인 및/또는 유형의 컴퓨터 판독가능 매체들의 일반적인 형태들은, 예를 들어, 플로피 디스크, 플렉서블 디스크, 하드 디스크, 자기 테이프, 또는 임의의 다른 자기 매체, CD-ROM, 임의의 다른 광학 매체, 펀치 카드들, 페이퍼 테이프, 홀들의 패턴들을 갖는 임의의 다른 물리적인 매체, RAM, PROM, EPROM, FLASH-EPROM, 임의의 다른 메모리 칩 또는 카트리지, 후술되는 바와 같은 반송파, 또는 컴퓨터가 그로부터 명령들 및/또는 코드를 판독할 수 있는 임의의 다른 매체를 포함한다.
[0125] 다양한 형태들의 컴퓨터-판독가능 매체들은, 실행을 위해 하나 이상의 명령들의 하나 이상의 시퀀스들을 하나 이상의 프로세서들에 반송하는 것에 수반될 수 있다. 단지 예로서, 명령들은 초기에, 원격 컴퓨터의 자기 디스크 및/또는 광학 디스크 상에서 반송될 수 있다. 원격 컴퓨터는, 자신의 동적 메모리로 명령들을 로딩하고, 컴퓨터 시스템에 의해 수신 및/또는 실행되도록 송신 매체를 통해 신호들로서 명령들을 전송할 수 있다.
[0126] 앞서 논의된 방법들, 시스템들, 및 디바이스들은 예들이다. 다양한 구성들은 다양한 절차들 또는 컴포넌트들을 적절히 생략, 치환 또는 추가할 수 있다. 예를 들어, 대안적인 구성들에서, 방법들은 설명되는 것과 다른 순서로 수행될 수 있고, 다양한 단계들이 추가, 생략 또는 결합될 수 있다. 또한, 특정한 구성들에 대해 설명된 특징들은 다양한 다른 구성들로 결합될 수 있다. 구성들의 상이한 양상들 및 엘리먼트들은 유사한 방식으로 결합될 수 있다. 또한, 기술은 발전하며, 따라서 대부분의 엘리먼트들은 예들이고, 본 개시 또는 청구항들의 범위를 제한하지 않는다.
[0127] 특정한 세부사항들은, (구현들을 포함하는) 예시적인 구성들의 완전한 이해를 제공하기 위해 설명에서 제공된다. 그러나, 구성들은 이들 특정한 세부사항들 없이 실시될 수 있다. 예를 들어, 잘-알려진 회로들, 프로세스들, 알고리즘들, 구조들, 및 기술들은 구성들을 불명료하게 하는 것을 회피하기 위해 불필요한 세부사항 없이 도시되었다. 이러한 설명은 예시적인 구성들만을 제공하며, 청구항들의 범위, 적용가능성, 또는 구성들을 제한하지 않는다. 오히려, 구성들의 앞선 설명은 설명된 기술들을 구현하기 위한 설명을 제공한다. 다양한 변화들이 본 개시의 사상 또는 범위를 벗어나지 않으면서 엘리먼트들의 기능 및 어레인지먼트(arrangement)에서 행해질 수 있다.
[0128] 또한 구성들은, 흐름도 또는 블록도로서 도시된 프로세스로서 설명될 수 있다. 각각이 순차적인 프로세스로서 동작들을 설명할 수 있지만, 동작들의 대부분은 병렬로 또는 동시에 수행될 수 있다. 또한, 동작들의 순서는 재배열될 수 있다. 프로세스는, 도면에 포함되지 않는 추가적인 스테이지들 또는 기능들을 가질 수 있다. 또한, 방법들의 예들은, 하드웨어, 소프트웨어, 펌웨어, 미들웨어, 마이크로코드, 하드웨어 디스크립션(description) 언어들, 또는 이들의 임의의 결합에 의해 구현될 수 있다. 소프트웨어, 펌웨어, 미들웨어 또는 마이크로코드로 구현되는 경우, 작업들을 수행하기 위한 프로그램 코드 또는 코드 세그먼트들은, 저장 매체와 같은 비일시적 컴퓨터 판독가능 매체에 저장될 수 있다. 프로세서들은 설명된 태스크들을 수행할 수 있다.
[0129] 서로 접속되거나 통신하는 것으로 도면들에 도시되고 그리고/또는 본원에서 논의된 기능적 또는 다른 컴포넌트들은 통신가능하게 커플링된다. 즉, 이들은 이들 사이의 통신을 가능하게 하기 위해 직접적으로 또는 간접적으로 접속될 수 있다.
[0130] 몇몇 예시적인 구성들을 설명하였지만, 다양한 변형들, 대안적인 구성들, 및 등가물들이 본 개시의 사상을 벗어나지 않으면서 사용될 수 있다. 예를 들어, 상기 엘리먼트들은 더 큰 시스템의 컴포넌트일 수 있으며, 여기서, 다른 규칙들이 본 발명의 애플리케이션에 우선할 수 있거나 그렇지 않으면 본 발명의 애플리케이션을 수정할 수 있다. 또한, 다수의 동작들이, 상기 엘리먼트들이 고려되기 전에, 그 동안에, 또는 그 이후에 착수될 수 있다. 따라서, 상기 설명은 청구항들의 범위를 제한하지 않는다.
[0131] 추가로, 하나 초과의 발명이 개시될 수 있다.

Claims (30)

  1. 송신 디바이스에서 상기 송신 디바이스의 복수의 속성들에 대응하는 속성 표시들을 포함하는 통신 데이터를 생성하는 단계; 및
    상기 송신 디바이스로부터 수신 디바이스로 무선으로 상기 통신 데이터를 송신하는 단계를 포함하고,
    상기 속성 표시들은,
    상기 송신 디바이스의 디바이스 아이덴티티;
    상기 송신 디바이스가 모바일 디바이스로 예상되는지 아니면 정적 디바이스로 예상되는지를 표시하는 모빌리티 표시; 및
    상기 송신 디바이스의 위치를 표시하는 위치 표시를 포함하고,
    상기 속성 표시들 각각은 상기 송신 디바이스의 대응하는 속성과 연관된 프라이버시 표시를 포함하고, 상기 프라이버시 표시는, 상기 수신 디바이스가 상기 송신 디바이스의 상기 대응하는 속성에 관한 정보를 송신하도록 인가되는지 여부를 표시하는, 무선 통신 방법.
  2. 제1 항에 있어서,
    상기 프라이버시 표시는, 상기 수신 디바이스에 추가로 적어도 하나의 다른 디바이스가 상기 대응하는 속성에 관한 정보를 송신하도록 인가될지 여부를 표시하는, 무선 통신 방법.
  3. 제1 항에 있어서,
    상기 속성 표시들은,
    상기 송신 디바이스의 상기 복수의 속성들 중, 상기 송신 디바이스에 의해 표시가 송신되고 있지 않은 속성의 아이덴티티; 또는
    상기 송신 디바이스와 연관된 하나 이상의 신뢰되는 디바이스들의 리스트; 또는
    다른 디바이스와 연관된 라운드-트립 시간; 또는
    상기 송신 디바이스에서 신호의 도달 각도; 또는
    지원되는 레인징 프로토콜; 또는
    레인징 불확실성; 또는
    위치 불확실성; 또는
    상기 송신 디바이스에 이웃하는 액세스 포인트들을 표시하는 이웃 리스트; 또는
    이웃 리스트 이력; 또는
    상기 송신 디바이스가 맵 상에 제시될 수 있는지 여부; 또는
    도달 각도 결정들이 지원되는지 여부; 또는
    이들의 조합의 표시를 더 포함하는, 무선 통신 방법.
  4. 제1 항에 있어서,
    상기 통신 데이터를 생성하는 단계는, 상기 디바이스 아이덴티티, 상기 모빌리티 표시 및 상기 위치 표시에 추가하여 추가적 속성 표시를 갖는 통신 데이터를 생성하는 단계를 포함하고, 상기 통신 데이터에 상기 추가적 속성 표시의 포함, 상기 추가적 속성 표시의 값 또는 둘 모두는 시간, 상기 송신 디바이스의 위치 또는 이들의 조합에 기초하는, 무선 통신 방법.
  5. 제1 항에 있어서,
    상기 송신 디바이스는 제1 디바이스이고, 상기 방법은 상기 제1 디바이스에서,
    제3 디바이스의 위치에 대한 요청을 제2 디바이스로부터 수신하는 단계;
    상기 제3 디바이스의 위치에 대한 요청을 송신하는 단계;
    상기 제3 디바이스로부터 응답을 수신하는 단계; 및
    상기 제2 디바이스에 메시지를 송신하는 단계를 더 포함하고, 상기 메시지는 상기 제3 디바이스의 위치의 표시를 포함하는, 무선 통신 방법.
  6. 제5 항에 있어서,
    상기 제3 디바이스의 위치의 표시는 상기 제1 디바이스로부터 상기 제3 디바이스까지의 거리를 포함하는, 무선 통신 방법.
  7. 제1 항에 있어서,
    상기 송신 디바이스는 제1 디바이스이고, 상기 방법은, 상기 제1 디바이스에서,
    제2 디바이스와 연관된 관심 포인트 이름을 수신하는 단계; 및
    상기 제1 디바이스의 메모리에, 상기 제2 디바이스와 연관된 관심 포인트 이름을 상기 제1 디바이스의 위치의 표시로서 저장하는 단계를 더 포함하는, 무선 통신 방법.
  8. 제1 항에 있어서,
    상기 송신 디바이스가,
    관심 포인트 이름들 및 연관된 지리적 위치들의 매핑을 수신하는 단계;
    상기 지리적 위치들 중 어느 것이 상기 송신 디바이스의 위치에 대응하는지를 결정하는 단계; 및
    상기 송신 디바이스의 위치에 대응하는 상기 지리적 위치와 연관된 상기 관심 포인트 이름을 상기 송신 디바이스의 위치의 표시로서 상기 송신 디바이스의 메모리에 저장하는 단계를 더 포함하는, 무선 통신 방법.
  9. 제1 항에 있어서,
    상기 송신 디바이스는 제1 디바이스이고, 상기 방법은, 상기 제1 디바이스가,
    제2 디바이스가 정적 디바이스라는 표시를 상기 제2 디바이스로부터 수신하는 단계;
    상기 제1 디바이스에 대한 상기 제2 디바이스의 위치가 변경되었다고 결정하는 단계; 및
    상기 제1 디바이스에 대한 상기 제2 디바이스의 위치가 변경되었다는 표시를 송신하는 단계를 더 포함하는, 무선 통신 방법.
  10. 디바이스로서,
    상기 디바이스의 복수의 속성들에 대응하는 속성 표시들을 포함하는 통신 데이터를 생성하기 위한 수단; 및
    상기 디바이스로부터 수신 디바이스로 무선으로 상기 통신 데이터를 송신하기 위한 수단을 포함하고,
    상기 속성 표시들은,
    상기 디바이스의 디바이스 아이덴티티;
    상기 디바이스가 모바일 디바이스로 예상되는지 아니면 정적 디바이스로 예상되는지를 표시하는 모빌리티 표시; 및
    상기 디바이스의 위치를 표시하는 위치 표시를 포함하고,
    상기 속성 표시들 각각은 상기 디바이스의 대응하는 속성과 연관된 프라이버시 표시를 포함하고, 상기 프라이버시 표시는, 상기 수신 디바이스가 상기 디바이스의 상기 대응하는 속성에 관한 정보를 송신하도록 인가되는지 여부를 표시하는, 디바이스.
  11. 제10 항에 있어서,
    상기 통신 데이터를 생성하기 위한 수단은, 상기 수신 디바이스에 추가로 적어도 하나의 다른 디바이스가 상기 대응하는 속성에 관한 정보를 송신하도록 인가되는지 여부를 표시하는 상기 프라이버시 표시를 생성하기 위한 것인, 디바이스.
  12. 제10 항에 있어서,
    상기 속성 표시들은,
    상기 디바이스의 상기 복수의 속성들 중, 상기 디바이스에 의해 표시가 송신되고 있지 않은 속성의 아이덴티티; 또는
    상기 디바이스와 연관된 하나 이상의 신뢰되는 디바이스들의 리스트; 또는
    다른 디바이스와 연관된 라운드-트립 시간; 또는
    상기 디바이스에서 신호의 도달 각도; 또는
    지원되는 레인징 프로토콜; 또는
    레인징 불확실성; 또는
    위치 불확실성; 또는
    상기 디바이스에 이웃하는 액세스 포인트들을 표시하는 이웃 리스트; 또는
    이웃 리스트 이력; 또는
    상기 디바이스가 맵 상에 제시될 수 있는지 여부; 또는
    도달 각도 결정들이 지원되는지 여부; 또는
    이들의 조합의 표시를 더 포함하는, 디바이스.
  13. 제10 항에 있어서,
    상기 통신 데이터를 생성하기 위한 수단은, 상기 디바이스 아이덴티티, 상기 모빌리티 표시, 상기 위치 표시 및 상기 프라이버시 표시에 추가로 추가적 속성 표시를 갖는 통신 데이터를 생성하기 위한 수단을 포함하고, 상기 생성하기 위한 수단은, 시간, 상기 디바이스의 위치 또는 이들의 조합에 기초하여, 상기 통신 데이터에 상기 추가적 속성 표시를 포함하는 것 또는 상기 추가적 속성 표시의 값을 결정하는 것 또는 둘 모두를 위해 구성되는, 디바이스.
  14. 제10 항에 있어서,
    상기 디바이스는 제1 디바이스이고,
    상기 디바이스는,
    제3 디바이스의 위치에 대한 요청을 제2 디바이스로부터 수신하기 위한 수단;
    상기 제3 디바이스의 위치에 대한 요청을 송신하기 위한 수단;
    상기 제3 디바이스로부터 응답을 수신하기 위한 수단;
    상기 제1 디바이스로부터 상기 제3 디바이스까지의 거리를 결정하기 위한 수단; 및
    상기 제2 디바이스에 메시지를 송신하기 위한 수단을 더 포함하고, 상기 메시지는 상기 제1 디바이스로부터 상기 제3 디바이스의 거리의 표시를 포함하는, 디바이스.
  15. 프로세서로 하여금 제1항 내지 제9항 중 어느 한 항에서 정의된 단계들을 수행하게끔 하도록 구성된 프로세서-판독가능한 명령들을 저장하는, 비-일시적 저장 매체.
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
KR1020197007639A 2016-09-20 2017-08-17 무선 디바이스 속성 통신 KR102495118B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/271,101 US10637870B2 (en) 2016-09-20 2016-09-20 Wireless device attribute communication
US15/271,101 2016-09-20
PCT/US2017/047329 WO2018057162A1 (en) 2016-09-20 2017-08-17 Wireless device attribute communication with privacy indication

Publications (2)

Publication Number Publication Date
KR20190051984A KR20190051984A (ko) 2019-05-15
KR102495118B1 true KR102495118B1 (ko) 2023-02-01

Family

ID=59762059

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197007639A KR102495118B1 (ko) 2016-09-20 2017-08-17 무선 디바이스 속성 통신

Country Status (9)

Country Link
US (1) US10637870B2 (ko)
EP (1) EP3516887B1 (ko)
KR (1) KR102495118B1 (ko)
CN (1) CN109716796B (ko)
AU (1) AU2017331116B2 (ko)
BR (1) BR112019004957A2 (ko)
ES (1) ES2897426T3 (ko)
SG (1) SG11201901231QA (ko)
WO (1) WO2018057162A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11202326B2 (en) * 2016-12-29 2021-12-14 Koninklijke Philips N.V. Wireless communication system
US10667314B2 (en) * 2017-03-30 2020-05-26 Lg Electronics Inc. Method and apparatus for transmitting and receiving a signal in a wireless communication system supporting a relay UE
US10652742B2 (en) * 2017-11-20 2020-05-12 Valeo Comfort And Driving Assistance Hybrid authentication of vehicle devices and/or mobile user devices
US11178591B2 (en) 2019-01-11 2021-11-16 Samsung Electronics Co., Ltd. Ranging-specific MAC service and PIB attributes for IEEE 802.15.4Z
US11405894B2 (en) 2019-07-09 2022-08-02 Samsung Electronics Co., Ltd. System and method of establishing communication for exchanging ranging information
US11188925B1 (en) * 2021-03-30 2021-11-30 Honda Motor Co., Ltd. Method and system for automated reconfiguration of user interface based on product lifecycle
CN113329373A (zh) * 2021-06-08 2021-08-31 阿波罗智联(北京)科技有限公司 车机互联方法和装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120268249A1 (en) 2011-04-20 2012-10-25 Microsoft Corporation Energy efficient location detection
WO2013092290A1 (en) * 2011-12-21 2013-06-27 Navteq B.V. System and method for using skyline queries to search for points of interest along a route

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6975873B1 (en) 2001-12-28 2005-12-13 At&T Corp. System and method for tracking the relative location of mobile stations belonging to a pre-defined group of mobile stations
EP1418783A1 (en) 2002-11-07 2004-05-12 Sony Ericsson Mobile Communications AB Device and method for generating an alert signal
US20060023655A1 (en) * 2004-05-17 2006-02-02 Engel Glenn R System and method for detection of signal tampering
KR100627841B1 (ko) 2004-06-30 2006-09-25 에스케이 텔레콤주식회사 이동단말기의 과거 위치 정보로 설정된 안전구역에 대한이탈경보 서비스 방법
KR101249178B1 (ko) 2005-02-22 2013-04-03 스카이후크 와이어리스, 인크. 위치 확인 시스템의 연속 데이터 최적화
US7586877B2 (en) 2006-04-13 2009-09-08 Cisco Technology, Inc. Method and system to determine and communicate the presence of a mobile device in a predefined zone
US8412148B2 (en) 2006-10-25 2013-04-02 Research In Motion Limited Location-based alarm system with forewarning capability
US20090262673A1 (en) 2008-04-21 2009-10-22 Nokia Corporation Automated mode change for wireless devices during inactivity
US8295879B2 (en) * 2008-05-30 2012-10-23 Motorola Mobility Llc Devices and methods for initiating functions based on movement characteristics relative to a reference
US8346749B2 (en) * 2008-06-27 2013-01-01 Microsoft Corporation Balancing the costs of sharing private data with the utility of enhanced personalization of online services
US8190194B2 (en) * 2008-12-23 2012-05-29 At&T Mobility Ii Llc Femto cell visitation history for location based services
US20120076085A1 (en) * 2010-09-24 2012-03-29 Industrial Technology Research Institute Group paging method and wireless communication device and base station and paging controller using the same
US8509807B2 (en) * 2010-12-15 2013-08-13 At&T Mobility Ii Llc Location reporting responsive to transitions in motional state of wireless equipment
US20130006748A1 (en) * 2011-06-29 2013-01-03 Microsoft Corporation Data sampling and usage policies for learning and personalization with privacy
CN104081220B (zh) 2011-12-22 2016-11-16 英特尔公司 用于利用和促进大地三角测量以判定计算设备的全球定位的机制
CN103546962B (zh) * 2012-02-09 2017-04-05 中兴通讯股份有限公司 固定位置登记
KR102239339B1 (ko) 2012-11-06 2021-04-09 파이어타이드, 인코포레이티드 콘텍스트-인식 무선 로밍
JP2016534437A (ja) * 2013-07-25 2016-11-04 コンヴィーダ ワイヤレス, エルエルシー サービス層デバイス場所管理およびプライバシー制御
TWI683563B (zh) * 2014-01-29 2020-01-21 日商新力股份有限公司 在無線電信系統中與基地台通訊的電路、終端裝置、基地台及其操作方法
EP2960622B1 (en) * 2014-06-27 2017-03-01 Thomson Licensing A method for estimating a distance from a first communication device to a second communication device, and corresponding communication devices, server and system.
CN104168650A (zh) 2014-09-03 2014-11-26 广州市香港科大霍英东研究院 基于动态无线接入点的室内定位方法
KR102118420B1 (ko) * 2014-09-12 2020-06-03 삼성전자 주식회사 전자 장치의 위치를 추적하는 방법 및 시스템
US9196432B1 (en) * 2014-09-24 2015-11-24 James Thomas O'Keeffe Smart electrical switch with audio capability
EP3010275A1 (en) * 2014-10-13 2016-04-20 Vodafone IP Licensing limited Configuration of communication devices
KR102363828B1 (ko) 2014-11-01 2022-02-16 삼성전자주식회사 신호 강도 맵을 생성하는 방법 및 시스템
US10467706B2 (en) * 2015-09-23 2019-11-05 Mastercard International Incorporated Systems and methods for locating merchant terminals based on transaction data
CN105916120B (zh) * 2016-05-31 2019-04-30 东南大学 基于自适应集群的源节点位置隐私保护方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120268249A1 (en) 2011-04-20 2012-10-25 Microsoft Corporation Energy efficient location detection
WO2013092290A1 (en) * 2011-12-21 2013-06-27 Navteq B.V. System and method for using skyline queries to search for points of interest along a route

Also Published As

Publication number Publication date
CN109716796A (zh) 2019-05-03
US20180084537A1 (en) 2018-03-22
KR20190051984A (ko) 2019-05-15
BR112019004957A2 (pt) 2019-06-25
WO2018057162A1 (en) 2018-03-29
US10637870B2 (en) 2020-04-28
CN109716796B (zh) 2021-02-12
AU2017331116B2 (en) 2022-01-27
EP3516887B1 (en) 2021-10-13
AU2017331116A1 (en) 2019-03-07
EP3516887A1 (en) 2019-07-31
SG11201901231QA (en) 2019-04-29
ES2897426T3 (es) 2022-03-01

Similar Documents

Publication Publication Date Title
US11438859B2 (en) Wireless device registration
KR102495118B1 (ko) 무선 디바이스 속성 통신
US11601993B2 (en) Displaying information based on wireless ranging
EP3571826B1 (en) User location aware smart event handling
US11082816B2 (en) Environmental sensing with wireless communication devices
JP6312716B2 (ja) 屋内環境内のモバイルデバイスの位置を決定するための方法、装置、および媒体
US10278023B2 (en) Wireless device locating
WO2017113366A1 (zh) 基于位置的提醒方法、指示设备、提醒设备和移动终端
WO2019006732A1 (zh) 一种信息推荐方法及装置

Legal Events

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