首页 / 专利库 / 广播 / 基带处理 / 用于定位无线附件的系统和方法

用于定位无线附件的系统和方法

阅读:997发布:2020-05-11

专利汇可以提供用于定位无线附件的系统和方法专利检索,专利查询,专利分析的服务。并且本 申请 涉及“用于 定位 无线附件的系统和方法”。本文所述的实施方案提供了用于众包缺少广域网连接的无线设备和附件的 位置 的系统和方法。一个实施方案提供了一种 数据处理 系统,所述 数据处理系统 被配置为执行包括以下步骤的操作:在 电子 设备上加载 用户界面 ,所述用户界面用于使得能够确定与所述电子设备相关联的无线附件的位置;生成包括在由所述无线附件广播的 信号 内的一组公钥,所述信号在第一时间段期间广播;将所述一组公钥发送到 服务器 ,并 请求 返回与所述一组公钥中的一个公钥对应的数据;使用与所述公钥相关联的私钥解密所述位置数据;以及处理所述位置数据以确定所述无线附件的可能位置。,下面是用于定位无线附件的系统和方法专利的具体信息内容。

1.一种存储指令的非暂态机器可读介质,所述指令在被执行时,使数据处理系统的一个或多个处理器执行操作,所述操作包括:
电子设备上启动用户界面,所述用户界面使得能够确定与所述电子设备相关联的无线附件的位置
生成包括在由所述无线附件广播的信号内的一组公钥,所述信号在第一时间段期间广播;
将所述一组公钥的散列发送到服务器,并请求返回与所述一组公钥对应的数据;
响应于从所述服务器接收到位置数据,使用与所述公钥相关联的私钥来解密所述位置数据;
处理所述位置数据以确定所述无线附件的可能位置;以及
经由所述用户界面显示所述无线附件的所述可能位置。
2.根据权利要求1所述的非暂态机器可读介质,其中所述无线附件与所述电子设备配对,并且所述一组公钥基于在配对期间在所述无线附件和所述电子设备之间建立的共享秘密而生成。
3.根据权利要求1所述的非暂态机器可读介质,其中所述无线附件和所述电子设备向在线账户注册,并且所述私钥以及所述公钥中的至少一个存储在与所述在线账户相关联的密钥库中。
4.根据权利要求1所述的非暂态机器可读介质,其中处理所述位置数据以确定所述无线附件的可能位置包括从所述无线附件的多个检测到的位置对所述可能位置进行三形划分。
5.根据权利要求4所述的非暂态机器可读介质,其中处理所述位置数据以确定所述无线附件的可能位置另外包括处理与所述多个检测到的位置相关联的信号强度或无线测距数据。
6.根据权利要求1所述的非暂态机器可读介质,其中包括在所述第一时间段期间广播的所述信号内的所述一组公钥是第一组公钥,并且响应于从所述服务器接收到有关所述无线附件的位置数据不可用于所述第一组公钥的指示,生成包括在第二时间段期间的所述信号内的第二组公钥,并且使用所述第二组公钥的散列从所述服务器请求位置数据。
7.根据权利要求6所述的非暂态机器可读介质,其中所述第二时间段在时间上在所述第一时间段之前。
8.根据权利要求6所述的非暂态机器可读介质,其中所述第二时间段在时间上在所述第一时间段之后。
9.根据权利要求8所述的非暂态机器可读介质,所述操作另外包括从所述服务器接收通知,所述通知指示已检测到包括所述第二组公钥中的公钥的无线信标。
10.一种数据处理系统,包括:
存储器,所述存储器存储用于执行的指令;
一个或多个处理器,所述一个或多个处理器用于执行存储在存储器中的所述指令,其中所述指令在被执行时使所述一个或多个处理器:
在包括所述数据处理系统的电子设备上启动用户界面,所述用户界面使得能够确定与所述电子设备相关联的无线附件的位置;
生成包括在由所述无线附件广播的信号内的一组公钥,所述信号在第一时间段期间广播;
将所述一组公钥发送到服务器,并请求返回与所述一组公钥对应的数据;
响应于从所述服务器接收到加密的位置数据,使用与所述公钥相关联的私钥来解密位置数据;
处理所述位置数据以确定所述无线附件的可能位置;以及
经由所述用户界面显示所述无线附件的所述可能位置。
11.根据权利要求10所述的数据处理系统,其中所述无线附件与所述电子设备配对,在配对期间在所述无线附件和所述电子设备之间建立共享秘密,并且所述一组公钥基于所述共享秘密生成。
12.根据权利要求10所述的数据处理系统,其中所述一个或多个处理器拟将所述一组公钥的散列发送到所述服务器,并请求返回与所述一组公钥对应的数据。
13.根据权利要求10所述的数据处理系统,其中所述无线附件和所述电子设备向在线账户注册,并且所述私钥以及所述公钥中的至少一个存储在与所述在线账户相关联的密钥库中。
14.一种在电子设备上实现的方法,所述方法包括:
使用所述电子设备的基带处理器执行信标扫描;
经由耦接到所述基带处理器的无线电设备接收信标数据,所述信标数据用于识别无线附件并且信标标识符是由所述无线附件生成的公钥;
将与所述信标数据相关联的时间戳和信标标识符存储到信标扫描缓冲器
当所述电子设备的应用处理器处于活动状态时,确定与所述时间戳对应的所述电子设备的位置;
使用所述无线附件的所述信标标识符加密所述电子设备的所述位置;以及将加密的位置数据、所述信标标识符和所述时间戳传输到服务器设备,所述服务器用于存储所述加密的位置数据以供与所述无线附件相关联的电子设备检索。
15.根据权利要求14所述的方法,另外包括确定对与所述信标数据相关联的信号的信号强度测量结果,以及将所述信号强度测量结果与所述加密的位置数据一起传输。
16.根据权利要求14所述的方法,另外包括使用超宽带无线电来确定与所述无线附件的距离。
17.根据权利要求14所述的方法,另外包括响应于确定所述信标扫描缓冲器已满,将所述电子设备的所述应用处理器置于所述活动状态。
18.根据权利要求14所述的方法,其中确定所述电子设备的所述位置包括:
执行周期性Wi-Fi扫描以收集在所述电子设备的范围内的服务集标识符的列表;以及确定所述电子设备的所述位置,所述位置至少部分地基于所述服务集标识符的列表来确定。
19.根据权利要求14所述的方法,另外包括:
将所述加密的位置数据存储到所述电子设备的存储器中的传输队列;以及在传输间隔期间将所述加密的位置数据传输到所述服务器。
20.根据权利要求14所述的方法,另外包括在所述电子设备的应用处理器处于低功率状态时,使用所述电子设备的基带处理器来执行所述信标扫描。

说明书全文

用于定位无线附件的系统和方法

技术领域

[0001] 本文所述的实施方案整体涉及定位无线设备和附件的系统和方法。更具体地,实施方案涉及众包未连接到广域网的无线设备和附件的位置

背景技术

[0002] 手持式和便携式产品中的当前安全特征物允许在用户请求时识别产品的位置,诸如在产品丢失或被盗的情况下。如果无线设备包括定位技术,则该设备可被配置为向服务器计算机报告其最后的位置,该位置通过服务显示在呈现给用户的地图上。通常,无线设备与无线附件设备一起使用,无线附件设备无法确定其位置且无法通过广域网与远程跟踪服务进行通信。这些附件设备可包括例如无线塞、双耳式耳机、头戴式耳机以及利用对等通信与无线设备直接通信的其他可穿戴设备(例如,智能手表、健身手环、光学头戴式显示器)。当无法确定其位置且无法与远程跟踪服务进行通信的无线附件设备丢失或被盗时,无法通过服务跟踪那些设备。发明内容
[0003] 本文所述的实施方案提供了用于众包缺少与广域网连接的无线设备和附件的位置的系统和方法。一个实施方案提供了一种数据处理系统,该数据处理系统被配置为执行包括以下步骤的操作:在电子设备上加载用户界面,该用户界面使得能够确定与电子设备相关联的无线附件的位置;生成包括在由该无线附件广播的信号内的一组公钥,该信号在第一时间段期间广播;将这组公钥发送到服务器,并请求返回与这组公钥中的一个公钥对应的数据;使用与该公钥相关联的私钥解密位置数据;以及处理位置数据以确定无线附件的可能位置。
[0004] 一个实施方案提供了一种数据处理系统,该数据处理系统包括:存储器,其用于存储执行指令;和一个或多个处理器,其执行存储在存储器中的指令。这些指令,在被执行时,使得该一个或多个处理器:在包括该数据处理系统的电子设备上加载用户界面,该用户界面用于使得能够确定与电子设备相关联的无线附件的位置;生成被包括在由无线附件广播的信号内的一组公钥,该信号在第一时间段期间广播;将这组公钥发送到服务器,并请求返回与这组公钥中的一个公钥对应的数据;响应于从服务器接收到位置数据,利用与公钥相关联的私钥解密该位置数据;并且处理该位置数据以确定无线附件的可能位置。
[0005] 一个实施方案提供了在电子设备上实现的方法,该方法包括使用电子设备的基带处理器执行信标扫描。可在电子设备的应用处理器处于低功率状态下时执行信标扫描。该方法另外包括经由耦接到基带处理器的无线电设备接收信标数据,该信标数据用于识别无线附件。信标标识符可以是由无线附件生成的公钥。该方法另外包括:将时间戳和信标标识符存储到信标扫描缓冲器;当电子设备的应用处理器处于活动状态下时,确定与时间戳对应的电子设备的位置;利用无线附件的信标标识符加密电子设备的位置;以及将加密的位置数据、信标标识符和时间戳传输到服务器设备,该服务器用于存储加密的位置数据以供与无线附件相关联的电子设备检索。
[0006] 以上概述不包括本公开的所有实施方案的详尽列表。所有系统和方法可根据以上概述的各个方面和实施方案以及以下具体实施方式中所公开的那些的所有合适的组合来实践。附图说明
[0007] 本发明以举例的方式进行说明并且不局限于附图的图形,在附图中类似的标号指示类似的元件,并且其中:
[0008] 图1是根据实施方案的用于移动设备的网络操作环境的框图
[0009] 图2示出了根据实施方案的用于定位无法访问广域网的无线附件的系统;
[0010] 图3示出了根据本文所述的实施方案的用于对无线附件进行配对和定位的系统;
[0011] 图4A至图4C是示出与本文所述的设备定位器系统一起使用的方法的流程图
[0012] 图5是示出根据实施方案的在无线附件处广播信号信标的方法的流程图;
[0013] 图6A至图6B示出了根据本文所述的实施方案的可由探测器设备执行的方法的操作;
[0014] 图7示出了根据实施方案的由探测器设备执行的信号和测距数据的采集;
[0015] 图8示出了根据实施方案的用于定位设备和无线附件的联网系统;
[0016] 图9A至图9C示出了根据实施方案的设备定位器用户界面;
[0017] 图10示出了根据实施方案的在尝试与丢失的无线附件进行配对时显示的附件配对用户界面;
[0018] 图11是示出可用于本发明的一些实施方案中的示例性API架构的框图;
[0019] 图12是根据实施方案的用于移动或嵌入式设备的设备架构的框图;和
[0020] 图13是根据实施方案的计算系统的框图。

具体实施方式

[0021] 本文所述的实施方案提供了针对丢失或错置的无法与广域网进行通信的设备启用安全的众包定位器服务的技术。将参考以下论述的细节来描述各种实施方案和方面,并且附图将对各种实施方案进行说明。以下说明书和附图为例示性的,并且不应被理解为限制性的。描述了许多具体细节,以提供对各个实施方案的全面理解。然而,在某些实例中,熟知的或常规的细节并未被描述,以便提供对实施方案的简明论述。
[0022] 本说明书中所使用的术语仅仅是为了描述特定实施方案并非旨在对本发明进行限制。除非上下文清楚地另外指明,否则如本发明说明书和所附权利要求中所使用的那样,单数形式的“一个”(“a”、“an”)和“该”旨在也涵盖复数形式。也应当理解的是,本文中所使用的术语“和/或”是指并且涵盖相关联地列出的项目中的一个或多个项目的任何和全部可能的组合。应当进一步理解的是,术语“包括”在本说明书中使用时是指定存在所陈述的特征、整数、步骤、操作、元件和/或部件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、部件和/或其分组。
[0023] 本公开的一部分包含受版权保护的材料。由于本专利文档或本专利公开内容出现在专利与商标局专利文件或记录中,因此版权所有人不反对任何人对本专利文档或本专利公开内容的拓制,但以其他方式保留任何形式的所有版权权利。版权所有2018苹果公司[0024] 在以下讨论中,描述一种包括触敏显示器的计算设备。然而,应当理解,计算设备可包括一个或多个其他物理用户界面设备。可在设备上执行的各种应用程序可使用至少一个共用的物理用户界面设备,诸如触敏表面。触敏表面的一种或多种功能以及被显示在设备上的对应信息从一个应用程序到另一个应用程序可被调节和/或改变,和/或在相应应用程序内可被调节和/或改变。这样,该设备的共用物理架构(诸如触敏表面)可利用直观且透明的用户界面来支持各种应用程序。
[0025] 下面就一些顺序操作描述了一些过程。然而,应当理解,所述操作中的一些操作可以不同的顺序来执行。此外,某些操作也可并行执行而非按顺序执行。
[0026] 图1是根据实施方案的用于移动设备的网络操作环境100的框图;网络操作环境100包括多个移动设备,诸如移动设备102A和移动设备102B。移动设备102A至102B可各自为能够与无线网络和无线附件设备进行通信的任何电子设备。一些示例性移动设备包括但不限于智能电话、平板电脑、笔记本计算机、可穿戴计算机(例如,智能手表或其他可穿戴计算附件)、移动媒体播放器、个人数字助理和其他类似的设备。移动设备102A和移动设备102B中的每一者包括用户界面,诸如移动设备102B的用户界面104。移动设备102A和移动设备
102B可通过一个或多个有线和/或无线网络110进行通信以执行数据通信。例如,无线网络
112(例如,蜂窝网络、Wi-Fi网络)可通过使用网关116与广域网114(诸如互联网)进行通信。
同样地,接入设备118,诸如移动热点无线接入设备,可提供对广域网114的通信接入。然后,网关116和接入设备118可通过有线网络和/或无线网络的组合来与广域网114进行通信。
[0027] 在一些具体实施中,可通过无线网络112和/或接入设备118建立语音和数据通信。例如,移动设备102A可通过无线网络112、网关116和广域网114(例如,使用TCP/IP或UDP协议)拨打和接收电话呼叫(例如,使用VoIP协议),发送和接收电子邮件消息(例如,使用POP3协议),以及检索电子文档和/或流,诸如网页、照片和视频。在一些具体实施中,移动设备
102A可通过接入设备118和广域网114来拨打和接收电话呼叫、发送和接收电子邮件消息以及检索电子文档。在一些具体实施中,移动设备102A或移动设备102B可使用一条或多条电缆物理地连接到接入设备118,例如,其中接入设备118为个人计算机。在该配置中,移动设备102A或移动设备102B可以被称为“系留”设备。在一个实施方案中,移动设备102A可经由无线对等连接120与移动设备102B进行通信。无线对等连接120可用于在设备之间同步数据。
[0028] 移动设备102A或移动设备102B可通过一个或多个有线和/或无线网络110与一个或多个服务进行通信,这些服务诸如电话服务130、即时消息服务140、媒体服务150、存储服务160和设备定位器服务170。例如,电话服务130可使得能够在移动设备102A和移动设备102B之间或者移动设备和有线电话设备之间进行电话通信。电话服务130可通过广域网114路由基于IP的语音(VoIP)呼叫,或者可访问蜂窝语音网络(例如,无线网络112)。即时消息服务140可例如提供电子邮件和/或其他即时消息服务。媒体服务150可例如提供对媒体文件的访问,诸如歌曲文件、有声读物、电影文件、视频剪辑和其他媒体数据。存储服务160可向移动设备102A和移动设备102B提供网络存储能以存储文档和媒体文件。设备定位器服务170可使得用户能够定位到丢失或错置的至少在某个时间点处连接到一个或多个有线和/或无线网络110的设备。也可提供其他服务,包括用于更新移动设备上的操作系统软件或客户端软件的软件更新服务。在一个实施方案中,消息递送服务140、媒体服务150、存储服务160和设备定位器服务170可各自与服务提供方相关联,其中经由与移动设备102A至
102B相关联的云服务账户来促进各种服务。
[0029] 图2示出了根据实施方案的用于定位无法访问广域网的无线附件201的系统200。在一个实施方案中,无线附件201包括一个或多个无线收发器,并且可通过无线网络或对等通信链路直接或间接(例如,通过另一设备或计算机)地与伴随设备(例如,移动设备102)进行通信。无线附件设备的一些示例包括但不限于无线耳塞、双耳式耳机、头戴式耳机以及其他可穿戴设备(例如,智能手表、健身手环、光学头戴式显示器)。无线附件201也可包括其他无线设备,诸如游戏控制器或远程控件。在一个实施方案中,无线附件201也包括智能电话、平板电脑、膝上型计算机、智能扬声器设备、电视机或至少暂时无法访问广域网诸如互联网(例如,如图1中的广域网114)的电视机顶盒。无线附件也可为任何其他无线设备,包括可附接到其他设备以启用对那些设备的跟踪或定位的信标或定位器标签。在一个实施方案中,无线附件201可利用无线技术标准(诸如但不限于蓝牙)与移动设备102进行配对。无线附件
201也可通过无线技术(诸如,Wi-Fi直连、Zigbee或AirPlay)与移动设备102进行通信。尽管无线附件201与之配对的伴随设备通常被称为移动设备102,但伴随设备不限于移动设备。
在一些实施方案中,伴随设备也可包括膝上型电脑或台式设备,并且可另外包括一些可穿戴附件,诸如但不限于智能手表设备或可穿戴显示器。
[0030] 在一个实施方案中,无线附件201可周期性地传输无线信标信号。无线附件201可利用本文所述的多种无线技术(例如,蓝牙、Wi-Fi等)中的一种来传输信标信号,并且在一个实施方案中,也可使用超宽带(UWB)无线电技术来信标。可利用单个无线技术、多个可选无线技术中的一者、或多个同时发生的无线技术来传输信标信号。信标信号可传输信标标识符,该信标标识符包括专识别无线附件201的信息。在一个实施方案中,信标标识符是与设备相关联的公共加密密钥。
[0031] 信标信号也可传达关于无线附件201的信息,诸如信标类型、设备分类、电池电平。在一个实施方案中,信标信号也可传达设备状态,诸如丢失状态、警报状态或近所有者状态。信标信号也可包括指定电池寿命、充电状态和/或其他状态信息的信息。丢失状态可指示无线附件201已确定其自身已丢失或已被设备的所有者置于丢失状态下。警报状态可指示无线附件201置于如果设备从当前位置移动则设备应当触发警报的状态下。近所有者状态可指示无线附件201已检测到与附件的所有者相关联的移动设备102存在于附近。
[0032] 信标信号可由本地靠近无线附件201的探测器设备202来检测。探测器设备202可以是与移动设备102类似的设备,并且可以通过广域网114接收和传输数据,利用与无线附件201类似的无线技术(例如,蓝牙等)来进行接收和传输。具体地,探测器设备202可利用通过其传输信标信号的无线协议来接收数据。探测器设备202可利用一个或多个位置和/或定位服务来确定位置,这些服务包括但不限于卫星定位服务206或利用从无线基站205(诸如蜂窝电话网络的Wi-Fi接入点或小区塔式发射器)接收的RF信号的陆地定位系统。在一个实施方案中,探测器设备202周期性地存储基于一个或多个位置和/或定位服务确定的其位置。所存储的位置可与针对其确定该位置的时间戳相关联。当探测器设备202从无线附件201接收到信标信号时,探测器设备202可通过广域网114将探测器设备的位置传输到设备定位器服务器203。用于确定的探测器设备202的位置的时间戳可与接收到信标信号以将地理位置与接收到的信标信号相关联的时间戳相关联。
[0033] 在无线附件201在信标信号内提供公钥的情况下,探测器设备202可加密所确定的位置数据,并通过广域网114将加密的位置数据传输到设备定位器服务器203。在一个实施方案中,附加数据可连同位置数据被加密和传输,或未加密地被传输到设备定位器服务器203。例如,接收到的信标信号的信号强度指示器(RSSI)可连同位置数据传输。然后,可使用RSSI数据来确定无线附件201与探测器设备202的距离并协助所有者设备上的三形划分。
在RSSI数据在未加密状态下传输的情况下,在一个实施方案中,如果存在其他更强的信号,则服务器可利用RSSI信息来通过丢弃非常弱的信号来降低噪声。在一个实施方案中,也可提供UWB测距数据,其中此类数据可用。
[0034] 在一个实施方案中,根据由无线附件201传达的设备状态,探测器设备202可在从无线附件201接收到信标信号时起到不同的作用。对于标准信标信号,探测器设备202可将加密的位置数据置于队列中,并且在周期性传输窗口期间将位置数据传输到设备定位器服务器203。然而,如果无线附件201正指示警报状态,则探测器设备202可立即将位置数据传输到设备定位器服务器203。另外,如果无线附件201的信标信号指示附件靠近附件的所有者,则探测器设备202可不将位置数据传输到设备定位器服务器203。另选地,探测器设备202可延迟加密的位置数据的传输。
[0035] 如果无线附件201的所有者希望定位无线附件,则所有者可访问移动设备102上的设备定位器用户界面204。设备定位器用户界面204可与设备定位器应用程序相关联,该设备定位器应用程序用于定位向用户的在线账户(诸如云服务账户或另一类型的在线账户)注册的电子设备和附件。设备所有者可使用设备定位器UI 204来向设备定位器服务器203查询可能已由无线附件201的探测器设备202传输到设备定位器服务器的位置数据。在一个实施方案中,移动设备102可将与无线附件201相关联的公共加密密钥传输到设备定位器服务器203。然后,设备定位器服务器203可返回与公共加密密钥对应的任何存储的位置数据。返回给移动设备102的位置数据可以是由探测器设备202使用公共加密密钥加密的加密的数据。移动设备102可使用相关联的私钥解密加密的位置数据。然后,由移动设备102处理经解密的位置数据以确定无线附件201的最可能位置。在各种实施方案中,无线附件201的最可能位置可通过对多个接收到的位置进行三角形划分并使用其他数据(诸如,与每个位置相关联的信标信号RSSI以及被包括在位置数据内的时间戳或UWB测距数据)来确定。
[0036] 图3示出了根据本文所述的实施方案的用于对无线附件进行配对和定位的系统300。在一个实施方案中,无线附件201的用户的移动设备102可呈现附件配对UI 302,用户可通过该附件配对UI使移动设备102与无线附件201配对。在移动设备102和无线附件之间的初始配对(305)期间,可在移动设备和无线附件之间执行公钥交换(310)。在一个实施方案中,在公钥交换(310)期间,移动设备102和无线附件201交换由设备和附件生成的公钥对中的公钥。在一个实施方案中,公钥交换(310)是单向传送,其中移动设备102将公钥/私钥对中的公钥传输到无线附件201。除此之外或另选地,公钥交换(310)可以是迪菲-赫尔曼密钥交换,其中设备和附件在两方之间建立共享秘密。在一个实施方案中,公钥交换(310)另外使用椭圆曲线密码学来建立共享秘密。例如,椭圆曲线迪菲-赫尔曼(ECDH)可用于实现公钥对以及一个或多个共享秘密的建立。在一个实施方案中,一个或多个共享秘密包括防跟踪秘密,这可使无线附件201周期性地导出另外的公钥。
[0037] 在无线附件201已与移动设备102配对之后,无线附件201可周期性地广播包括设备状态信息和信标标识符的信标信号301。在一个实施方案中,信标标识符是来源于在公钥交换(310)期间建立的共享秘密的公钥。另外,无线附件201可周期性地执行公钥派生(315)以生成新的公钥并开始作为信标标识符广播新的公钥。公钥是K字节密钥,其中,每M分钟生成一个新的K字节密钥。在不同实施方案中,值K和M可改变。在一个实施方案中,使用28字节的K值。在一个实施方案中,使用27字节的K值。值K可至少部分地基于与用于传输信标信号301的无线协议相关联的信标长度来确定。在一个实施方案中,信标信号可传输与低功耗无线电协议(诸如蓝牙低功耗)相关联的信标广告包的变体。
[0038] 在一个实施方案中,值M为15分钟,由此使得每15分钟生成一个新的K字节密钥。可基于在公钥交换310期间生成的时间戳和防跟踪秘密来确定性地导出公钥。公钥派生(315)过程使得无线附件201能够随时间推移使用不同的密钥,从而防止以特定密钥与特定设备长期关联。可基于仅移动设备102和无线附件201已知的防跟踪秘密来导出密钥,从而允许移动设备102并且仅允许移动设备确定无线附件201在任何给定时间戳处将广播哪个公钥。防跟踪秘密可连同ECDH公钥生成并传输到无线附件201。然后可利用防跟踪秘密使得无线附件201能够生成公钥序列Pi。在一个实施方案中,公钥序列Pi=λi·P,其定义标量或指数值λi与组元素之间的组操作,例如椭圆曲线点P。标量或指数值λ=KDF(AT,i),其中KDF是秘钥派生函数,AT是防跟踪秘密,i是计数器或时间戳。
[0039] 在一个实施方案中,可在无线附件201受损的情况下启用反向跟踪抵抗以保护防跟踪秘密。当启用反向跟踪抵抗时,将防跟踪秘密传输到无线附件201,但无线附件不保留该防跟踪秘密。相反,附件计算值λi+1=H(λi||时间),其中,λ0=AT和H为密码散列函数。然后,无线附件201在给定时间段i内存储λi。如果无线附件201受损,则仅暴露用于当前和未来的值i的λi,而不暴露防跟踪秘密AT。在一个实施方案中,反向跟踪抵抗通过周期性地将λi写入到无线附件201的非易失性存储器来执行。
[0040] 在一个实施方案中,无线附件201可每两秒传输一次信标信号301,但也可采用其他信标速率,并且在某些情况下,信标速率可改变。例如,当处于近所有者状态下时,无线附件201可降低信标速率。信标速率也可基于加速度计触发的事件而改变。例如,当处于警报状态下时,无线附件201可增大信标速率,这可由无线附件201上的加速度计触发。
[0041] 如果在传输信标信号301之后,无线附件201接收到来自与附件的用户相关联的移动设备102的回复,该回复指示移动设备102在无线附件的范围内,则无线附件201可进入近所有者状态。另外,当无线附件处于近所有者状态下时,信标信号301所传输的数据的量可减小。在一个实施方案中,当无线附件处于近所有者状态下时,也可降低生成新公钥的速率。
[0042] 无线附件201可在从移动设备102接收到指示无线附件201应当进入警报状态的消息时进入警报状态。当处于警报状态下时,无线附件最初可进入其中无线附件201可减少或停止定位器信标信号的传输的警备状态,但其他类型的无线信令可持续存在。无线附件201可保持在该警备状态下,直到移动设备102停用该状态或警报被触发。在一个实施方案中,警报可以在例如经由无线附件201内的加速度计检测到移动时被触发。在一个实施方案中,警报也可以在检测到无线附件已经移出移动设备的范围并且不再处于近所有者状态时被触发。当警报被触发时,信标信号301的速率可增大以增大可定位无线附件201的速度。
[0043] 由无线附件201传输的信标信号301可由一组探测器设备303来检测,这组探测器设备是可接收由无线附件传输的信标信号并经由广域网114向设备定位器服务器203传输与信标信号301相关联的位置和其他数据的其他电子设备。在一个实施方案中,这组探测器设备303包括移动设备102的变体,或者可为其他类型的电子设备。这组探测器设备303可包括图2的探测器设备202的变体,并且可确定类似的位置确定技术。例如,这组探测器设备可执行操作(320)以将从无线附件201接收到的信标信号301与和探测器设备相关联的设备位置相关联。如相对于图2所述,设备位置可经由卫星定位服务或利用从无线基站(例如,Wi-Fi接入点或小区塔式发射器)接收到的RF信号的陆地定位系统来确定。在一个实施方案中,这组探测器设备303也可包括固定式设备,诸如可接收信标信号301的智能扬声器设备、电视机或电视机顶盒。
[0044] 这组探测器设备303可利用在信标信号301内接收到的信标标识符(例如,公钥)加密位置数据,并且将位置数据(325)发送到设备定位器服务器203。由这组探测器设备303发送的数据以匿名方式发送,并且探测器设备的识别信息不与探测器设备发送的数据一起储存。
[0045] 设备定位器服务器203可以将加密的位置数据存储在数据存储库304中,在一个实施方案中,该数据存储库可以是具有多个节点的分布式数据库。附件的信标标识符/公钥的散列可连同加密的位置数据发送。可以基于信标标识符的散列将加密的位置数据存储到数据库节点。可由设备定位器服务器203利用信标标识符的散列对加密的位置数据建立索引。发送信标标识符的散列而不是完整的信标标识符可防止将完整的信标标识符存储到服务器。其他信息也可与加密状态或未加密状态下的位置数据一起发送和存储。其他信息可包括用于何时接收信标信号301的时间戳、用于所接收的信标的RSSI信息和/或例如经由UWB测距确定的测距信息。
[0046] 当无线附件201的用户或所有者希望定位附件时,用户或所有者可访问移动设备102上的设备定位器UI 204。设备定位器UI 204可与移动设备102的设备定位器应用程序或特征相关联。设备定位器UI 204也可具有可从移动设备102或另一类型的电子设备(诸如膝上型电脑或台式设备)访问的基于web的界面。在加载设备定位器UI 204时,移动设备102可向设备定位器服务器203发送用于位置数据的请求(330)。请求330可包括可用作信标数据的信标标识符的一组公钥或公钥散列。移动设备102可基于由移动设备102和无线附件201持有的秘密信息以及移动设备102希望接收位置数据的时间戳来生成这组公钥。在一个实施方案中,这组公钥是基于防跟踪秘密生成的公钥序列Pi。公钥序列Pi与私钥的匹配序列di对应。移动设备102可生成公钥序列以及对应的公钥序列di,其中i为计数器或时间戳。在一个实施方案中,移动设备102可在请求330内生成并发送先前24小时的公钥(或这24小时的公钥的散列)。如果未发现24小时公钥的数据,则移动设备102可在较早的时间段内发送生成的密钥,返回到预先确定的位置数据保留限制。
[0047] 在一个实施方案中,基于公钥的散列而不是公钥来存储加密的位置数据并对其建立索引,以防止位置服务数据的提供方存储可用于将加密的位置数据与特定设备、从而与特定用户或用户帐户关联的数据。探测器设备可发送在与观察位置相关联的信标信号301内广播的公钥的散列。设备的所有者可利用针对查询时间段确定的公钥的散列来查询设备定位器服务器203。
[0048] 在一些实施方案中,如果要经由来自电子设备(诸如膝上型电脑或台式设备)的基于web的界面执行位置查询,则可能需要将使得能够解密位置数据的密钥发送到电子设备。在一个实施方案中,可将用于位置数据的解密密钥发送到提供基于web的界面的服务器,以使得服务器能够至少在通过基于web的界面查看位置数据时解密位置数据。在经由基于web的界面显示位置数据之前,可呈现通知以通知用户:正在与基于web的界面服务器临时共享位置解密密钥以使得能够解密并呈现位置数据。在一个实施方案中,可经由与基于web的界面相关联的代理帐户的位置查询权限的自动和临时授权来执行位置解密密钥的共享。
[0049] 在一个实施方案中,可将无线附件201置于光丢失模式下。在光丢失模式下,可为无线附件生成一组未来公钥并将其传输到设备定位器服务器203。然后,如果接收到与这组未来公钥中的密钥对应的任何位置数据,则设备定位器服务器203可通知移动设备102。在一个实施方案中,发送处于光丢失模式下的无线附件的位置的探测器设备可由设备定位器服务器203引导以将消息中继给无线附件201,该消息通知无线附件其处于光丢失模式下。类似的机构也可用于将消息中继给使附件置于显式丢失模式下的无线附件201。用户可经由设备定位器UI 204启用显式丢失模式。在显式丢失模式下,除非所有者解了该无线附件,无线附件201无法与另一设备配对。
[0050] 图4A至图4C是示出与本文所述的设备定位器系统一起使用的方法的流程图。图4A示出了用于将移动设备与无线附件配对的方法400。图4B示出了经由设备定位器服务器来确定无线附件的位置的方法410。图4C示出了经由设备定位器服务器来确定无线附件的位置的附加方法420。方法400、410和420的各方面同样在图2和图3中示出,如上所述。例如,以下操作的描述涉及移动设备102、无线附件201和设备定位器服务器203。
[0051] 如图4A所示,方法400包括执行与无线附件的初始配对的操作(框401)。初始配对可以是蓝牙配对或利用其他无线电技术进行的另一种类型的配对。在初始配对期间,移动设备和无线附件可交换使得能够在移动设备或另一电子设备与无线附件之间执行无线数据交换的标识符、密钥或其他凭据。在一个实施方案中,与无线附件的初始配对可包括与针对其执行配对的无线协议相关联的凭据的交换,从而允许无线地交换的所有数据均至少具有第一加密层。
[0052] 然后,移动设备可生成公钥/私钥对以及一个或多个附加共享秘密(框402)。设备然后可将公钥以及一个或多个附加共享秘密发送到无线附件(框403)。可使用多种密钥生成技术。在一个实施方案中,ECDH的变体用于生成用于加密的公钥对。在一个实施方案中,一个或多个附加共享秘密可包括防跟踪秘密,该防跟踪秘密使得无线附件能够基于现有的公钥来导出新的公钥。
[0053] 在生成公钥/私钥对以及一个或多个附加共享秘密之后,移动设备可将公钥/私钥对存储到密钥库(框404)。在一个实施方案中,密钥库是基于云的密钥库,其可和与移动设备和无线附件关联到的同一云服务账户或一系列云服务账户相关联的其他设备同步。基于云的密钥库允许无线附件可被其他同步设备定位。移动设备然后可向设备管理服务器注册无线附件(框405)。向设备管理服务器注册无线附件可在无线附件和移动设备关联到的云服务账户之间形成关联。设备管理服务器可与其他基于云的服务器(诸如图2和图3的设备定位器服务器203)相关联,该其他基于云的服务器用于促进移动设备可访问的基于云的服务。
[0054] 如图4B所示,方法410包括电子设备启动设备定位器UI的操作(框411)。响应于启动设备定位器UI,电子设备(其可为如本文所述的移动设备)或与和移动电子设备相同的云服务账户相关联的另一电子设备,可执行操作以生成一组公钥,其被包括在由无线附件在第一时间段期间广播的信标信号内(框412)。第一时间段可为例如先前的24小时。电子设备知道无线附件生成新的公钥的频率,并且电子设备可使用无线附件生成的共享秘密来生成一组公钥,其与由无线附件在第一时间段期间生成的密钥对应。然后,电子设备可发送这组公钥,并请求设备定位器服务器发送与这组公钥对应的位置数据(框413)。在一个实施方案中,将利用作为无线附件的信标标识符传输的公钥加密由服务器响应于请求而发送的位置数据。电子设备可利用在与无线附件的初始配对期间生成的私钥解密由服务器接收到的加密的位置数据(框414)。然后,电子设备可处理位置数据以确定无线附件的最高概率位置(框415)。
[0055] 处理位置数据可包括多种不同的操作。在一个实施方案中,位置数据包括纬度和经度信息连同用于确定位置的时间戳。电子设备可基于时间戳进行三角形划分并移除噪声或异常位置。在一个实施方案中,位置数据指定检测到信标的探测器设备的位置。位置数据可另外包括由探测器设备检测到的信标的UWB测距信息和/或RSSI信息。电子设备可结合设备位置分析UWB测距信息和/或RSSI信息,以开发无线附件的更准确的位置。可由探测器设备传输并用于位置处理的数据在图10中示出并描述于下文中。
[0056] 如图4C所示,方法420包括可在设备定位器服务器不具有要响应于请求而向电子设备提供的位置数据的情况下执行的操作。电子设备可以生成包括在由无线附件在第一时间段期间广播的信标信号内的第一组公钥(框421)。第一时间段可以是例如24小时,但是可以使用其他初始搜索时间段。电子设备可以执行后续操作以请求设备定位器服务器发送与第一组公钥对应的位置数据(框422)。如果该数据由服务器返回(框423,“是”),则电子设备可以使用与这组公钥对应的私钥来解密从服务器接收的位置数据(框429)。
[0057] 如果服务器未返回数据(框423,“否”),则电子设备可以生成包括在由无线附件在第二时间段期间广播的信标信号内的第二组公钥(框424)。第二时间段可以是第一时间段之前的24、48或其他小时数。然后,电子设备可以请求设备定位器服务器发送与第二组公钥对应的数据(框425)。如果响应于该请求,服务器返回数据(框426,“是”),则方法420可以前进到框429,其中电子设备解密接收的数据。如果服务器未返回数据(框426,“否”),或者服务器发送指示数据不可用的回复,则方法420包括:电子设备可以通过连续请求更早的时间段直到达到最大时间段,来加宽搜索时间(框427)。
[0058] 图5是示出根据实施方案的在无线附件处广播信号信标的方法500的流程图。方法500的方面也在图2和图3中示出。方法500包括无线附件导出公钥(框502)。可以基于共享秘密和基于无线附件的时钟或计时设备确定的时间戳来导出公钥。然后,无线附件可以以第一频率传输信标信号,其中该信标信号包括该公钥(框503)。第一频率可以改变,并且在一个实施方案中,每两秒钟发送一个信标。
[0059] 在传输信标信号之后,无线附件可以监听来自所有者设备的响应。如果无线信号从所有者设备接收到响应(框504,“是”),则无线附件可以进入接近所有者状态(框505)并且开始以较低的第二频率传输信标信号(框507)。如果无线附件没有从所有者设备接收到响应(框504,“否”),则无线附件可以继续以第一频率发送信标(框506)。
[0060] 方法500另外包括在发送信标的同时,无线设备每M分钟旋转公钥,其中M的值可以在实施方案之间和/或基于设备状态而改变。基于计时器到期、计数器或其他机制,无线附件可以确定附件是否已进入新的密钥时间段(框508)。虽然无线附件尚未进入新的密钥时间段(框508,“否”),但附件可以使用当前公钥继续发送信标(框510)。当无线附件检测到它已进入新的密钥时间段时(框508,“是”),附件可使用当前时间戳导出新的公钥(框509)。在一个实施方案中,可以使用现有公钥、时间戳和反跟踪秘密来导出新公钥。
[0061] 图6A至图6B示出了根据本文所述的实施方案的可由探测器设备执行的方法600的操作。方法600的方面也在图2和图3中示出。
[0062] 如图6A所示,方法600包括当探测器设备的应用处理器处于低功率模式时,探测器设备使用无线基带处理器执行周期性信标扫描(框601)。虽然也可以在应用处理器处于活动状态时执行信标扫描,但是当探测器设备空闲、不活动或其他方式处于低功率状态时,信标扫描可以由无线处理器和无线电设备接收器作为低功率操作来执行。探测器设备可以将时间戳和信标标识符存储到信标扫描缓冲器,以用于由探测器设备接收的任何信标数据(框602)。在一个实施方案中,信标标识符是由无线设备基于时间戳和利用所有者的移动设备生成的共享秘密生成的公钥。
[0063] 方法600另外包括探测器设备在应用处理器处于低功率模式时使用无线处理器执行周期性Wi-Fi扫描(框603)。虽然也可以在应用处理器处于活动状态时执行Wi-Fi扫描,但是当探测器设备空闲、不活动或其他方式处于低功率状态时,Wi-Fi扫描可以由无线处理器和无线电设备接收器作为低功率操作来执行。然后,探测器设备可以将Wi-Fi服务集标识符(SSID)和扫描时间戳存储到探测器设备上的Wi-Fi扫描缓冲器(框604)。
[0064] 在一个实施方案中,Wi-Fi扫描缓冲器是滚动缓冲器,其存储最近检测到的SSID,同时覆盖较早检测到的SSID。在一个实施方案中,信标扫描缓冲器可以是固定大小的缓冲器,其具有用于预先确定的数量的条目的空间。当信标扫描缓冲器变满时,探测器设备可以唤醒应用处理器(框605),并将那些信标扫描与Wi-Fi扫描缓冲器中最近检测到的SSID相关联。该相关可以使得探测器设备能够基于Wi-Fi扫描缓冲器数据确定与所接收的信标相对应的一组设备位置(框606)。
[0065] 方法600在图6B中继续,并且包括:如果其他位置数据可用,则探测器设备将来自Wi-Fi扫描缓冲器数据的设备位置与其他位置数据相关联(框607),以生成细化的设备位置。如果生成了细化的设备位置,则探测器设备可以可选地将信标数据与细化的设备位置组合(框608)。探测器设备也可以将信号强度(RSSI)或测距数据添加到位置数据(框609)。当探测器设备接收到信标信号时,可以收集信号强度和测距数据(例如,UWB测距数据)。然后,探测器设备可以利用在信标数据内接收的一个或多个公钥加密位置数据(框610)。信号和测距数据可以连同位置数据加密,或者可以连同加密的位置数据未加密地发送。探测器设备可以将加密的位置数据排队以用于传输到设备定位器服务器(框611)。设备定位器服务器可以是多个云服务服务器之一,通常以批量和节流的方式进行通信。可以收集一批加密数据并将其放置在传输队列中,直到传输间隔到达,在此期间,探测器设备可以将数据传输到云服务服务器(框612)。
[0066] 图7示出了根据实施方案的由探测器设备执行的信号和测距数据的采集。在一个实施方案中,探测器设备202可以针对跨多个位置702A至702N从无线附件201接收的信标信号301来收集信号强度信息(例如,RSSI 704A至704N)。探测器设备202也可以表示多个探测器设备,诸如图3中的探测器设备组303,其中每个探测器设备在不同的位置检测信标信号。每个探测器设备202可以发送不同的位置和信号强度,并且从多个探测器设备接收的位置和信号强度数据将由设备定位器服务器聚合。在一个实施方案中,在探测器设备和无线设备各自包括UWB无线电的情况下,如果探测器设备和无线设备在UWB传输的范围内,则可以执行UWB测距706。UWB测距和信号强度数据可以连同探测器设备的位置数据被传输到设备定位器服务器。
[0067] 所有者设备可以从设备定位器服务器检索RSSI或UWB信息连同位置数据,在一个实施方案中,连同确定位置的时间戳以纬度和经度信息的形式提供位置数据。然后,所有者设备可以使用位置数据、时间戳和信号信息来对无线附件201的最可能位置进行三角形划分。
[0068] 图8示出了根据实施方案的用于定位设备和无线附件的联网系统800。系统800也示出了根据一个实施方案的用于设备定位器服务器203的示例性服务器架构。在一个实施方案中,设备定位器服务器203是互连的服务器设备的集群,其可以是单个数据中心内的物理或虚拟服务器,或者跨多个数据中心和/或地理位置分布。如上所述,设备定位器服务器203可以通过广域网114与附件所有者或用户的移动设备102和这组探测器设备303通信。移动设备102包括由使得能够定位无线附件的本地或web应用提供的UI,并且探测器设备303从无线附件接收信标信号,并将与接收到的信号相关联的位置数据传输到设备定位器服务器203。
[0069] 在一个实施方案中,设备定位器服务器203包括定位器服务器前端803、账户数据库825、数据库集群管理器813和一组数据库集群节点823A至823C。定位器服务器前端803是移动设备102和这组探测器设备303可以与之通信的前端接口。账户数据库825存储移动设备102和探测器设备303所关联的云服务提供商的账户的账户配置文件数据。数据库集群管理器813可以将数据库集群节点823A至823C配置为分布式位置数据库,该分布式位置数据库可以存储与由这组探测器设备303接收的信号信标的信标标识符相关联的位置、信号和测距数据。
[0070] 在一个实施方案中,账户数据库825可以包含与每个云服务账户相关联的设备的列表。响应于定位给定设备(包括如本文所述的无线附件)的请求,账户数据库825可以验证该请求来自被授权请求给定设备的位置的设备。在一个实施方案中,当用户启动设备定位器UI并与定位器服务前端803通信时,定位器服务前端可以与账户数据库825通信并为与请求的用户相关联的每个设备提供当前或最后的已知位置,所述设备包括与请求的用户相关联的账户系列中的其他用户所关联的设备和/或无线附件。
[0071] 在一个实施方案中,数据库集群管理器813可以通过对与一组位置数据相关联的信标ID执行散列来选择要存储信标数据的数据库集群节点823A至823C。每个数据库集群节点823A至823C可以与一系列散列值相关联。然后,数据库集群管理器可以将位置数据存储到对应于与给定信标ID的散列相关联的散列值范围的集群节点。尽管示出了三个数据库集群节点,但是实施方案不限于任何特定数量的节点,并且可以使用更多或更少的节点。
[0072] 图9A至图9C示出了根据实施方案的设备定位器UI 204。图9A示出了根据一个实施方案的设备定位器UI 204的第一图形用户界面,其示出了用户的各种电子设备和无线附件的位置。图9B示出了根据一个实施方案的设备定位器UI 204的第二图形用户界面,其使得无线附件能够被设置为警报模式。图9C示出了根据一个实施方案的设备定位器UI 204的第三图形用户界面,其使得无线附件能够被设置为丢失模式。
[0073] 如图9A所示,设备定位器UI 204可以显示在电子设备900上,该电子设备可以是移动设备,或者本文描述的任何其他类型的电子设备。设备定位器UI 204可以呈现统一的图形界面,通过该统一的图形界面可以定位多种不同类型的设备和附件,包括具有网络或蜂窝接入的无线设备和无本地网络接入的无线附件。设备定位器UI 204可以包括具有标记902的地图901,该标记示出无线设备或附件的当前或最后已知位置。标记902可以是标识附件并传达附件的位置的图标、图像、图形或任何其他用户界面元素。设备定位器UI中的可选元素903可以呈现无线设备或附件的描述或名称,并且可以示出无线设备或附件与电子设备900的当前位置之间的估计距离。
[0074] 如图9B所示,设备定位器UI 204可以呈现使得无线附件能够被设置为警报模式的第二用户界面。在一个实施方案中,第二用户界面可以响应于选择图9A中所示的可选元素903而显示。第二用户界面可以呈现表示和/或描述所考虑的无线附件的用户界面元素904,以及显示无线附件的当前或最后已知位置的地图901和标记902。在一个实施方案中,设备定位器UI 204可以呈现可选择元素905,诸如按钮或另一用户界面元素,其允许设备定位器UI 204的用户将所选无线附件置于警报模式。当处于警报模式时,无线附件可以被配置为如果该无线附件从其当前位置移动则触发对用户的通知。
[0075] 在一个实施方案中,无线附件可以经由该无线附件内的加速度计或其他类型的运动传感器来检测移动。可由无线附件发起通知,具体是通过在由无线附件的信标信号传输的数据分组中设置标志,该标志指示无线附件警报已被触发。在各种实施方案中,可使用其他触发或通知模式。在一个实施方案中,警报可以可选地在检测到无线附件已经移出移动设备的范围并且不再处于近所有者状态时由移动设备触发。在一个实施方案中,当无线附件超出与无线附件所关联的用户账户或账户系列相关联的任何设备的范围之外或者不能被这些设备定位时,可以可选地触发警报。
[0076] 如图9C所示,设备定位器UI 204可呈现使得无线附件能够被设置为丢失模式的第三图形用户界面。在一个实施方案中,当无线附件不能经由设备定位器UI 204定位时,地图901将不显示指示附件的位置的标记。设备定位器UI 204可呈现表示和/或描述所考虑的无线附件的用户界面元素904和一组可选的用户界面元素。一个可选的用户界面元素906可呈现用于在发现附件时通知用户的选项。当启用发现时通知时,在一个实施方案中,可将无线附件置于轻丢失模式。与设备定位器UI 204相关联的电子设备可以生成一组公钥,无线附件将在未来时间段期间(例如,接下来的24小时,接下来的48小时等)将这组公钥与信标信号一起广播。如果探测器设备使用未来密钥中的一个检测到信号,则设备定位器服务器可以通知与该用户相关联的一个或多个电子设备。
[0077] 另一个可选的用户界面元素907可以将无线附件置于显式丢失模式。当明确置于丢失模式时,无线附件将无法与其他设备配对,直到附件被将该设备置于丢失模式的用户或所有者解锁。当发送将无线附件置于丢失模式的请求时,可以要求请求的用户输入认证信息以确保请求的用户被授权请求在丢失的附件上启动丢失模式。认证信息可以包括与用户的账户相关联的用户名或密码,诸如用户、电子设备和无线附件所关联的云服务账户。认证信息也可以包括生物识别信息,诸如指纹或面部识别数据。
[0078] 在一个实施方案中,可以在用户设备上显示由请求的用户提供的消息和联系人信息,以提示找到丢失的无线附件的人如何联系请求的用户。在一个实施方案中,当另一用户尝试将另一电子设备与丢失的附件配对时,可显示消息和联系人信息。
[0079] 图10示出了根据实施方案的在尝试与丢失的无线附件进行配对时显示的附件配对UI 302。在一个实施方案中,当不同于图9的电子设备9000并且不与无线附件的注册用户或所有者相关联的电子设备1000尝试与丢失的无线附件配对时,该电子设备的附件配对UI可如图10所示显示。在一个实施方案中,附件配对UI 302可显示与无线附件相关联的名称或描述1001,以及在将附件置于丢失模式时由附件的用户输入的消息1002。也可以显示联系人信息1004连同用户界面元素1006,诸如按钮,其使得电子设备1000能够通过使用所提供的联系人信息1004来联系请求的用户。
[0080] 本文所述的实施方案包括环境中的一个或多个应用编程接口(API),其中调用程序代码与通过一个或多个编程接口调用的其他程序代码进行交互。各种功能调用、消息或其他类型的调用可进一步包括各种参数,这些调用可以经由调用程序和被调用代码之间的API而传输。此外,API可以给调用程序代码提供使用在API中定义的、并在被调用程序代码中实现的数据类型或类别的能力。
[0081] API允许API调用组件的开发者(可以是第三方开发者)利用由API实现组件提供的指定特征。可以有一个API调用组件或可以有多于一个此类组件。API可以是计算机系统或程序库提供以支持来自应用程序的服务请求的源代码接口。操作系统(OS)可具有多个API,以允许运行于OS上的应用程序调用那些API中的一个或多个API,并且服务(例如程序库)可具有多个API,以允许使用服务的应用程序调用那些API中的一个或多个API。可按照在构建应用程序时能够解译或编译的编程语言来指定API。
[0082] 在一些实施方案中,API实现组件可提供多于一个API,每个API提供不同视图或具有不同方面,该不同方面访问由API实现组件实现的功能的不同方面。例如,API实现组件的一个API可提供第一函数集,并可暴露于第三方开发者,并且API实现组件的另一个API可被隐藏(不暴露)并提供第一函数集的子集,并且也提供另一函数集,诸如不在第一函数集中的测试或调试函数。在其他实施方案中,API实现组件本身可经由下层API调用一个或多个其它组件,因而既是API调用组件又是API实现组件。
[0083] API定义在访问和使用API实现组件的指定特征时API调用组件所使用的语言和参数。例如,API调用组件通过被API暴露的一个或多个API调用或引用(例如由函数或方法调用实现)来访问API实现组件的指定特征,并经由API调用或引用使用参数来传递数据和控制信息。API实现组件可响应于来自API调用组件的API调用而通过API返回值。尽管API定义API调用的语法和结果(例如,如何引起API调用以及API调用能干什么),但API可不揭示API调用如何完成由API调用指定的函数。经由调用(API调用组件)和API实现组件之间的一个或多个应用编程接口来传输各种API调用。传输API调用可包括发出、发起、引用、调用、接收、返回或响应函数调用或消息;换句话讲,传输能够描述API调用组件或API实现组件中的任一者的动作。API的函数调用或其它引用可通过参数列表或其它结构发送或接收一个或多个参数。参数可以是常数、键、数据结构、对象、对象类、变量、数据类型、指针、数组、列表或指向函数或方法的指针或援引要经由API传递的数据或其它项目的另一种方式。
[0084] 此外,数据类型或类可由API提供并由API实现组件实现。因此,API调用组件可利用API中提供的定义来声明变量、使用指向此类类型或类的指针、使用或实例化此类类型或类的恒定值。
[0085] 通常,可使用API来访问由API实现组件提供的服务或数据,或启动执行由API实现组件提供的操作或计算。以举例的方式,API实现组件和API调用组件可各自为操作系统、库、设备驱动程序、API、应用程序或其它模(应当理解,API实现组件和API调用组件可以是彼此相同或不同类型的模块)中的任一种。在一些情况下,可至少部分地在固件微码或其它硬件逻辑部件中实现API实现组件。在一些实施方案中,API可以允许客户端程序使用由软件开发工具包(SDK)库提供的服务。在其他实施方案中,应用程序或其他客户端程序可使用由应用程序框架提供的API。在这些实施方案中,应用程序或客户端程序可将调用结合到由SDK提供和由API提供的函数或方法中,或使用SDK中定义并由API提供的数据类型或对象。在这些实施方案中,应用程序框架可为程序提供主要事件循环,其对框架定义的各种事件作出响应。API允许应用程序利用应用程序框架来指定事件和对事件的响应。在一些具体实施中,API调用能够向应用程序报告硬件设备的能力或状态,包括与诸如输入能力和状态、输出能力和状态、处理能力、电源状态、存储容量和状态、通信能力等方面相关的能力或状态,并且API可部分地由固件、微码或部分地在硬件组件上执行的其它低电平逻辑部件实现。
[0086] API调用组件可以是本地组件(即与API实现组件在同一数据处理系统上)或远程组件(即在不同于API实现组件的数据处理系统上),所述组件经由网络通过API与API实现组件进行通信。应当理解,API实现组件也可充当API调用组件(即,它可对被不同API实现组件暴露的API进行API调用),并且API调用组件也可通过实现暴露于不同API调用组件的API来充当API实现组件。
[0087] API可允许以不同编程语言编写的多个API调用组件与API实现组件通信(从而API可包括用于转换API实现组件和API调用组件之间的调用和返回的特征);不过,可以特定的编程语言实现API。在一个实施方案中,API调用组件可调用来自不同提供商的API,例如来自OS提供商的一组API和来自插件提供商的另一组API,以及来自另一提供商(例如软件库的提供商)或另一组API的创建者的另一组API。
[0088] 图11是示出了可用于本发明的一些实施方案中的示例性API架构的框图。如图11中所示,API架构1100包括实现API 1120的API实现组件1110(例如,操作系统、库、设备驱动程序、API、应用程序、软件或其它模块)。API 1120指定可由API调用组件1130使用的API实现组件的一个或多个函数、方法、类、对象、协议、数据结构、格式和/或其它特征。API 1120能够指定至少一个调用约定,该调用约定指定API实现组件中的函数如何从API调用组件接收参数以及函数如何向API调用组件返回结果。API调用组件1130(例如操作系统、库、设备驱动程序、API、应用程序、软件或其它模块)通过API 1120进行API调用,以访问并使用由API 1120指定的API实现组件1110的特征。API实现组件1110可响应于API调用而通过API 1120向API调用组件1130返回值。
[0089] 应当理解,API实现组件1110可包括未通过API 1120指定且对于API调用组件1130不可用的附加函数、方法、类、数据结构和/或其它特征。应当理解,API调用组件1130可与API实现组件1110在同一系统上,或者可远程定位并通过网络来使用API 1120访问API实现组件1110。尽管图11示出了单个API调用组件1130与API 1120交互,但应当理解,可用不同语言(或相同语言)编写的与API调用组件1130不同的其它API调用组件可使用API 1120。
[0090] API实现组件1110、API 1120和API调用组件1130可以存储在机器可读介质中,其包括用于以机器(例如计算机或其他数据处理系统)可读的形式存储信息的任何机构。例如,机器可读介质包括磁盘、光盘、随机存取存储器只读存储器、闪存存储器设备等。
[0091] 图12是根据实施方案的用于移动或嵌入式设备的设备架构1200的框图。设备架构1200包括存储器接口1202、包括一个或多个数据处理器的处理系统1204、图像处理器和/或图形处理单元以及外围设备接口1206。各种部件可通过一条或多条通信总线或信号线耦接。各种部件可以是单独的逻辑部件或设备或可以集成在一个或多个集成电路,诸如片上系统集成电路。
[0092] 存储器接口1202可以耦接到存储器1250,其可以包括高速随机存取存储器诸如静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)和/或非易失性存储器,诸如但不限于闪存存储器(例如,NAND闪存、NOR闪存,等等)。
[0093] 传感器、设备和子系统可耦接到外围设备接口1206以促成多个功能。例如,运动传感器1210、光传感器1212和接近传感器1214可耦接到外围设备接口1206以促进移动设备功能。也可存在一个或多个生物特征传感器1215,诸如用于指纹识别的指纹扫描器或用于面部识别的图像传感器。其他传感器1216也可连接到外围设备接口1206,诸如定位系统(例如,GPS接收器)、温度传感器、或其他感测设备以促进相关的功能。可利用相机子系统1220和光学传感器1222(如电荷耦合设备(CCD)或互补金属化物半导体(CMOS)光学传感器)来促进相机功能,例如拍摄照片和视频剪辑。
[0094] 可通过一个或多个无线通信子系统1224来促进通信功能,这些无线通信子系统可包括射频接收器和发射器和/或光学(例如,红外)接收器和发射器。无线通信子系统1224的具体设计与实现可取决于移动设备打算通过其操作的通信网络。例如,包括示出的设备架构1200的移动设备可包括设计来通过GSM网络、CDMA网络、LTE网络、Wi-Fi网络、Bluetooth网络或任何其他无线网络操作的无线通信子系统1224。具体地,无线通信子系统1224可提供通信机构,在该通信机构中,媒体回放应用程序可从远程媒体服务器检索资源或从远程日历或事件服务器检索调度事件。
[0095] 可将音频子系统1226耦接到扬声器1228和麦克1230以促进支持语音的功能,诸如语音识别、语音复制、数字记录和电话功能。在本文描述的智能媒体设备中,音频子系统1226可以是包括支持虚拟环绕声的高质量音频系统。
[0096] I/O子系统1240可包括触摸屏控制器1242和/或其他输入控制器1245。对于包括显示设备的计算设备,触摸屏控制器1242可耦接到触敏显示器系统1246(例如,触摸屏)。触敏显示系统1246和触摸屏控制器1242可例如使用多种触摸和压力感测技术的任何一种检测接触和运动或压力,触摸和压力感测技术包括但不限于电容性、电阻性、红外和表面声波技术,以及用于确定与触敏显示系统1246接触的一个或多个点的其它接近传感器阵列或其它元件。触敏显示系统1246的显示输出可由显示控制器1243生成。在一个实施方案中,显示控制器1243可在可变速率下向触敏显示系统1246提供帧数据。
[0097] 在一个实施方案中,包括传感器控制器1244以监测、控制,和/或处理从一个或多个运动传感器1210、光传感器1212、接近传感器1214,或其他传感器1216接收的数据。传感器控制器1244可包括逻辑来解释传感器数据以通过分析来自传感器的传感器数据来确定多个运动事件或活动中的一者的发生。
[0098] 在一个实施方案中,I/O子系统1240包括其他输入控制器1245,其可耦接到其他输入/控制设备1248,诸如一个或多个按钮、摇臂开关、拇指轮、红外线端口、USB端口、和/或指针设备诸如触笔、或控制设备诸如扬声器1228和/或麦克风1230的音量控件的向上/向下按钮。
[0099] 在一个实施方案中,耦接到存储器接口1202的存储器1250可存储操作系统1252的指令,包括便携式操作系统接口(POSIX)兼容和不兼容的操作系统或嵌入式操作系统。操作系统1252可包括用于处理基础系统服务以及用于执行硬件相关任务的指令。在一些具体实施中,操作系统1252可以是内核
[0100] 存储器1250也可以存储通信指令1254以促进与一个或多个附加设备、一个或多个计算机和/或一个或多个服务器的通信,例如从远程web服务器获取web资源。存储器1250也可包括用户界面指令1256,包括图形用户界面指令以有利于图形用户界面处理。
[0101] 此外,存储器1250可存储传感器处理指令1258以促进传感器相关处理和功能;促进与电话相关的过程及功能的电话指令1260;促进与电子消息处理相关的过程及功能的即时消息指令1262;促进与网页浏览相关的过程及功能的网页浏览器指令1264;促进与媒体处理相关的过程和功能的媒体处理指令1266;位置服务指令包括GPS和/或导航指令1268和基于Wi-Fi的位置指令以促进基于位置的功能性;促进与相机相关的过程和功能的相机指令1270;和/或其他软件指令1272,以有利于其他过程和功能,例如安全过程和功能以及与系统相关的过程和功能。存储器1250也可以存储其它软件指令,诸如促进与web视频相关的过程和功能的web视频指令;和/或促进与网络购物相关的过程和功能的网络购物指令。在一些具体实施中,媒体处理指令1266分为音频处理指令和视频处理指令,分别用于促进与音频处理相关的过程和功能以及与视频处理相关的过程和功能。移动设备标识符,诸如国际移动设备身份(IMEI)1274或类似的硬件标识符也可存储在存储器1250中。
[0102] 上面所识别的指令和应用程序中的每一者可对应于用于执行上述一个或多个功能的指令集。这些指令不需要作为独立的软件程序、进程或模块来实现。存储器1250可包括附加指令或更少的指令。此外,可在硬件和/或软件中,包括在一个或多个信号处理和/或专用集成电路中,执行各种功能。
[0103] 图13为根据实施方案的计算系统1300的框图。示出的计算机系统1300旨在表示一系列计算系统(有线或无线的),包括例如台式计算机系统、膝上型计算机系统、平板电脑系统、蜂窝电话、包括支持蜂窝的PDA的个人数字助理(PDA)、机顶盒、娱乐系统或其他消费电子设备、智能电器设备、或者智能媒体回放设备的一个或多个具体实施。另选的计算系统可以包括更多、更少和/或不同的部件。计算系统1300可用于提供在计算设备和/或计算设备可能与之连接的服务器设备。
[0104] 计算机系统1300包括总线1335或用于传递信息的其他通信设备,和与总线1335耦接的可处理信息的处理器1310。虽然计算系统1300被图示为具有单个处理器,但是计算系统1300可以包括多个处理器和/或协处理器。计算系统1300可进一步包括存储器1320,其形式为耦接到总线1335的随机存取存储器(RAM)或其他动态存储设备。存储器1320可存储可由处理器1310执行的信息和指令。存储器1320也可以是在由处理器1310执行指令期间用于存储临时变量或其他中间信息的主存储器。
[0105] 计算系统1300也可包括只读存储器(ROM)1330和/或耦接到总线1335的可存储用于处理器1310的信息和指令的其他数据存储设备1340。数据存储设备1340可以是或包括各种存储设备,例如闪存存储器设备、磁盘或光盘,并且可通过总线1335或者通过远程外围设备接口耦接到计算系统1300。
[0106] 计算系统1300也可经由总线1335耦接到显示设备1350以向用户显示信息。计算系统1300也可以包括数字字母混合输入设备1360,该设备包括数字字母键和其他键,其可以联接到总线1335以将信息和命令选项传达到处理器1310。另一种用户输入设备包括光标控件1370设备,诸如触控板、鼠标轨迹球、或光标方向键,用于向处理器1310传递方向信息和命令选择以及在显示设备1350上控制光标移动。计算系统1300也可以经由一个或多个网络接口1380从通信地耦接的远程设备接收用户输入。
[0107] 计算系统1300可以进一步包括一个或多个网络接口1380,以提供对诸如局域网之类的网络的访问。网络接口1380可以包括,例如具有天线1385的无线网络接口,所述天线可以表示一个或多个天线。计算系统1300可以包括多个无线网络接口,诸如Wi-Fi和近场通信(NFC)和/或蜂窝电话接口的组合。网络接口1380也可以包括例如有线网络接口,以经由网络电缆1387与远程设备通信,该电缆可以是例如,以太网电缆、同轴电缆、光纤电缆、串行电缆或并行电缆。
[0108] 在一个实施方案中,网络接口1380可以例如通过符合IEEE 802.11无线标准来提供对局域网的接入,并且/或者无线网络接口可以例如通过符合蓝牙标准提供对个人区域网络。其他无线网络接口和/或协议也可得到支持。除了经由无线LAN标准进行通信之外或代替经由无线LAN标准进行通信,网络接口1380可以使用例如时分多址(TDMA)协议、全球移动通信系统(GSM)协议、码分多址(CDMA)协议、长期演进(LTE)协议和/或任何其他类型的无线通信协议来提供无线通信。
[0109] 计算系统1300可进一步包括一个或多个能量源1305和一个或多个能量测量系统1345。能量源1305可包括耦接到外部电源的AC/DC适配器、一个或多个电池、一个或多个电荷存储设备、USB充电器或其他能量源。能量测量系统包括至少一个电压电流测量设备,可测量计算系统1300在预先确定的时间段内消耗的能量。此外,可包括一个或多个能量测量系统测量,例如,显示设备、冷却子系统、Wi-Fi子系统或其他常用的或高能量消费子系统所消耗的能量。
[0110] 在一些实施方案中,本文所述的散列函数可利用系统(客户端设备或服务器)的专用硬件电路(或固件)。例如,该函数可以是硬件加速函数。此外,在一些实施方案中,系统可使用作为专用指令集的一部分的函数。例如,可使用指令集,该指令集可为针对特定类型的微处理器的指令集架构的扩展。因此,在一个实施方案中,该系统可提供硬件加速机制以用于执行密码操作,从而提高使用这些指令集执行本文所述函数的速度。
[0111] 在本文中对“一个实施方案”或“实施方案”的引用是指结合该实施方案描述的特定特征、结构或特性可以被包括在本发明的至少一个实施方案中。在本说明书中的各个位置出现短语“在一个实施方案中”不一定都是指同一个实施方案。随后的附图中描绘的过程由处理逻辑执行,该处理逻辑包括硬件(例如,电路、专用逻辑等)、软件(作为非暂态机器可读存储介质上的指令)或硬件和软件的组合。现在将详细地参考各种实施方案,这些实施方案的示例在附图中示出。在下面的详细描述中给出了许多具体细节,以便提供对本发明的彻底理解。但是,对本领域技术人员将显而易见的是,本发明可在没有这些具体细节的情况下被实施。在其他情况下,没有详细地描述众所周知的方法、过程、部件、电路和网络,从而不会不必要地使实施方案的各个方面晦涩难懂。
[0112] 应当理解的是,虽然术语“第一”、“第二”等可能在本文中用于描述各种元素,但是这些元素不应当被这些术语限定。这些术语只是用于将一个元件与另一元件区分开。例如,第一接触可被命名为第二接触,并且类似地,第二接触可被命名为第一接触,而不脱离本发明的范围。第一接触和第二接触两者都是接触,但是它们不是同一接触。
[0113] 本文中所使用的术语仅仅是为了描述特定实施方案并非旨在对所有实施方案进行限制。如本发明说明书和所附权利要求中所使用的那样,除非上下文清楚地另有指示,否则单数形式的“一个”和“所述”旨在也涵盖复数形式。也应当理解的是,本文中所使用的术语“和/或”是指并且涵盖相关联地列出的项目中的一个或多个项目的任何和全部可能的组合。应当进一步理解的是,术语“包括”在本说明书中使用时是指定存在所陈述的特征、整数、步骤、操作、元件和/或部件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、部件和/或其分组。
[0114] 如本文中所用,根据上下文,术语“如果”可以被解释为意思是“当...时”或“在...时”或“响应于确定”或“响应于检测到”。类似地,根据上下文,短语“如果确定...”或“如果检测到[所陈述的条件或事件]”可被解释为是指“在确定...时”或“响应于确定...”或“在检测到[所陈述的条件或事件]时”或“响应于检测到[所陈述的条件或事件]”。
[0115] 描述了计算设备、用于此类设备的用户界面和用于使用此类设备的相关联的过程的实施方案。在一些实施方案中,计算设备是也包含其他功能(诸如PDA和/或音乐播放器功能)的便携式通信设备,诸如移动电话。便携式多功能设备的示例性实施方案包括但不限于来自Apple Computer,Inc.(Cupertino,California)的 和iPod 设备。
[0116] 在前面的说明中,已经描述了本公开的示例性实施方案。显而易见的是,在不脱离本公开的更广泛的实质和范围的情况下,可对其进行各种修改。相应地,说明书和附图被视为是例示性意义而不是限定性意义。所提供的描述和示例中的具体细节可用于一个或多个实施方案中的任何地方。不同实施方案或示例的各种特征可与所包括的一些特征和排除的其他特征不同地组合,以适应多种不同的应用。示例可包括主题,诸如方法,用于执行该方法的动作的装置,包括指令的至少一种机器可读介质,所述指令在由机器执行时使得机器执行该方法的动作,或者根据本文所述的实施方案和示例执行装置或系统的动作。另外,本文描述的各种部件可以是用于执行本文描述的操作或功能的装置。
[0117] 本文所述的实施方案提供了用于众包缺少与广域网连接的无线设备和附件的位置的系统和方法。一个实施方案提供了一种数据处理系统,该数据处理系统被配置为执行操作,所述操作包括:在电子设备上启动用户界面,该用户界面使得能够确定与电子设备相关联的无线附件的位置;生成包括在由该无线附件所广播的信标信号内的一组公钥,该信标信号在第一时间段期间广播;将这组公钥发送到服务器,并请求返回与这组公钥中一个公钥对应的数据;使用与该公钥相关联的私钥解密位置数据;处理位置数据以确定无线附件的可能位置;以及经由所述用户界面显示无线附件的可能位置。
[0118] 一个实施方案提供了一种数据处理系统,该数据处理系统包括:存储器,其用于存储执行指令;和一个或多个处理器,其执行存储在存储器中的指令。所述指令在被执行时,使这一个或多个处理器在包括该数据处理系统的电子设备上启动用户界面,该用户界面使得能够确定与该电子设备相关联的无线附件的位置;生成包括在由该无线附件所广播的信标信号内的一组公钥,该信标信号在第一时间段期间广播;将这组公钥发送到服务器,并请求返回与这组公钥中一个公钥对应的数据;响应于从服务器接收到位置数据,使用与该公钥相关联的私钥解密位置数据;处理位置数据以确定无线附件的可能位置;以及经由所述用户界面显示无线附件的可能位置。
[0119] 一个实施方案提供了一种在电子设备上实现的方法,该方法包括使用该电子设备的基带处理器执行信标扫描。可在该电子设备的应用处理器处于低功率状态时执行该信标扫描。该方法另外包括经由耦接到基带处理器的无线电设备接收信标数据,该信标数据用于识别无线附件。信标标识符可以是由无线附件生成的公钥。该方法另外包括:将时间戳和信标标识符存储到信标扫描缓冲器;当电子设备的应用处理器处于活动状态时,确定与该时间戳对应的电子设备的位置;使用用于该无线附件的信标标识符加密电子设备的位置;以及将加密的位置数据、信标标识符和时间戳传输到服务器设备,服务器用于存储加密的位置数据以供与该无线附件相关联的电子设备检索。
[0120] 通过前述描述,本领域的技术人员将会知道,这些实施方案的广泛技术可以多种形式来实现。因此,虽然已经结合具体示例描述了这些实施方案,但这些实施方案的真实范围不应当受到如此限制,因为在研究附图、说明书和以下权利要求书后,其他修改形式对于熟练的从业人员将变得显而易见。
[0121] 交叉引用
[0122] 本专利申请要求提交于2018年9月28日的美国临时申请No.62/738,983的权益和优先权,该申请据此全文以引用方式并入本文。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈