CN113796104A - 无线附件的分离通知 - Google Patents

无线附件的分离通知 Download PDF

Info

Publication number
CN113796104A
CN113796104A CN202080028953.2A CN202080028953A CN113796104A CN 113796104 A CN113796104 A CN 113796104A CN 202080028953 A CN202080028953 A CN 202080028953A CN 113796104 A CN113796104 A CN 113796104A
Authority
CN
China
Prior art keywords
beacon
peripheral
location
wireless
electronic device
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
CN202080028953.2A
Other languages
English (en)
Inventor
E·T·埃德曼
S·哈里哈兰
B·M·李德薇娜
S·洛帕廷
R·W·梅尔
K·C·布鲁格
A·德里斯科尔
T·厄坦
J·F·弗鲁迪格
E·拉兰德
M·C·拉斯特
S·G·莫瓦
M·N·保林
M·K·波尼亚
T·罗切特
S·B·夏维茨
J·R·勋伯格
C·塞尔
N·D·舒鲁尼斯
Y·L·塞拉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Apple Inc
Original Assignee
Apple Inc
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 Apple Inc filed Critical Apple Inc
Publication of CN113796104A publication Critical patent/CN113796104A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/021Services related to particular areas, e.g. point of interest [POI] services, venue services or geofences
    • GPHYSICS
    • G08SIGNALLING
    • G08BSIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
    • G08B21/00Alarms responsive to a single specified undesired or abnormal condition and not otherwise provided for
    • G08B21/18Status alarms
    • G08B21/24Reminder alarms, e.g. anti-loss alarms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • H04W76/19Connection re-establishment

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Emergency Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephone Function (AREA)

Abstract

本文所述的实施方案提供了一种存储指令的非暂态机器可读介质,这些指令使得一个或多个处理器执行操作,这些操作包括:建立与信标外围设备的无线连接;监测该无线连接的连接状态;响应于检测到与该信标外围设备的连接丢失,向该电子设备的通知框架发布该信标外围设备的分离通知;在重新连接间隔期间推迟该通知的显示;在该重新连接间隔期间尝试与该信标外围设备重新连接;以及响应于未能与该信标外围设备重新连接而经由用户界面显示该分离通知。

Description

无线附件的分离通知
交叉引用
本专利申请要求本专利申请要求于2019年4月17日提交的美国临时专利申请序列第62/835,494号以及于2019年6月1日提交的美国临时专利申请第62/855,976号的优先权,这些专利申请中的每一者据此以引用方式并入本文。
技术领域
本文所述的实施方案整体涉及定位无线设备和附件的系统和方法。更具体地讲,实施方案涉及启用和抑制无线附件的分离通知的基础结构。
背景技术
手持式和便携式产品中的当前安全特征物允许在用户请求时识别产品的位置,诸如在产品丢失或被盗的情况下。如果无线设备包括定位技术,则该设备可被配置为向服务器计算机报告其最后位置,该位置通过服务显示在呈现给用户的地图上。通常,无线设备与不能确定其位置并且不能通过广域网与远程跟踪服务通信的无线附件设备一起使用。这些附件设备可包括例如无线耳塞、双耳式耳机、头戴式耳机以及利用对等通信与无线设备直接通信的其他可穿戴设备(例如,智能手表、健身手环、光学头戴式显示器)。当无法确定其位置且无法与远程跟踪服务进行通信的无线附件设备丢失或被盗时,无法通过服务跟踪那些设备。
发明内容
本文所述的实施方案提供了用于允许显示无线附件诸如无线信标外围设备的分离通知的系统和方法。在该上下文中,无线信标外围设备是被配置为向其他电子设备传输消息、信标、广告或其他无线传输以使得其他电子设备能够定位该无线信标外围设备的无线设备。
另外,可以为信标外围设备指定安全位置,使得如果分离发生在被指定为该外围设备的安全位置的位置内,则将不呈现信标外围设备的分离通知。安全位置可以是已被标识为用户的可信位置的位置。例如,用户可将用户的家或办公室或经常访问的位置指定为安全位置。在一些实施方案中,用户的电子设备可基于用户的日常活动来推断或确定某一位置是安全位置。在一个实施方案中,可在处于安全位置时丢弃与信标外围设备的无线连接,以维持外围设备和伴随设备的电池寿命。
一个实施方案提供了存储指令的非暂态机器可读介质,这些指令使得电子设备的一个或多个处理器执行操作,这些操作包括:建立与信标外围设备的无线连接;监测该无线连接的连接状态;响应于检测到与该信标外围设备的连接丢失,向该电子设备的通知框架发布该信标外围设备的分离通知;在重新连接间隔期间推迟该通知的显示;在该重新连接间隔期间尝试与该信标外围设备重新连接;以及响应于未能与该信标外围设备重新连接而经由用户界面显示该分离通知。
一个实施方案提供了存储指令的非暂态机器可读介质,这些指令使得电子设备的一个或多个处理器执行操作,这些操作包括:建立与信标外围设备的无线连接;监测该无线连接的连接状态;响应于检测到与该信标外围设备的连接丢失而确定该电子设备的当前位置是否被指示为该信标外围设备的安全位置;以及响应于确定该电子设备的该当前位置是安全位置而抑制该信标外围设备的分离通知的显示。
以上概述不包括本公开的所有实施方案的详尽列表。所有系统和方法可根据以上概述的各个方面和实施方案以及以下具体实施方式中所公开的那些的所有合适的组合来实践。
附图说明
本发明以举例的方式进行说明并且不局限于附图的图形,在附图中类似的标号指示类似的元件,并且其中:
图1是根据实施方案的用于移动设备的网络操作环境的框图;
图2示出了根据实施方案的用于定位无法访问广域网的无线附件的系统;
图3示出了根据本文所述的实施方案的用于对无线附件进行配对和定位的系统;
图4A至图4C是示出与本文所述的设备定位器系统一起使用的方法的流程图;
图5是示出根据实施方案的在无线附件处广播信号信标的方法的流程图;
图6A至图6B示出了根据本文所述的实施方案的可由探测器设备执行的方法的操作;
图7示出了根据实施方案的由探测器设备执行的信号和测距数据的采集;
图8示出了根据实施方案的用于定位设备和无线附件的联网系统;
图9A至图9C示出了根据实施方案的设备定位器用户界面;
图10示出了根据实施方案的在尝试与丢失的无线附件进行配对时显示的附件配对用户界面;
图11是示出可用于本发明的一些实施方案中的示例性API架构的框图;
图12是根据实施方案的用于移动或嵌入式设备的设备架构的框图;
图13是根据实施方案的计算系统的框图;
图14示出了用于检测和处理来自无线附件的信标数据的系统;
图15示出了根据实施方案的用于启用所选无线附件的分离通知的系统;并且
图16A至图16D示出了根据实施方案的呈现信标外围设备的分离通知的用户界面。
具体实施方式
本文所述的实施方案提供了针对丢失或错置的无法与广域网进行通信的设备启用安全的众包定位器服务的技术。将参考以下论述的细节来描述各种实施方案和方面,并且附图将对各种实施方案进行说明。以下说明书和附图为例示性的,并且不应被理解为限制性的。描述了许多具体细节,以提供对各个实施方案的全面理解。然而,在某些实例中,熟知的或常规的细节并未被描述,以便提供对实施方案的简明论述。
本说明书中所使用的术语仅仅是为了描述特定实施方案并非旨在对本发明进行限制。如本发明说明书和所附权利要求中所使用的那样,单数形式的“一个”(“a”、“an”)和“该”旨在也涵盖复数形式,除非上下文清楚地另有指示。还将理解的是,本文中所使用的术语“和/或”是指并且涵盖相关联地列出的项目中的一个或多个项目的任何和全部可能的组合。还将理解的是,术语“包括”(“comprises”和/或“comprising”)在本说明书中使用时是指定存在所陈述的特征、整数、步骤、操作、元件和/或部件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、部件,和/或其分组。
在以下讨论中,描述一种包括触敏显示器的计算设备。然而,应当理解,计算设备可包括一个或多个其他物理用户界面设备。可在设备上执行的各种应用程序可使用至少一个共用的物理用户界面设备,诸如触敏表面。触敏表面的一种或多种功能以及被显示在设备上的对应信息从一个应用程序到下一个应用程序可被调节和/或变化,和/或在相应应用程序内可被调节和/或变化。这样,该设备的共用物理架构(诸如触敏表面)可利用直观且透明的用户界面来支持各种应用程序。
下面就一些顺序操作描述了一些过程。然而,应当理解,所述操作中的一些操作可以不同的顺序来执行。此外,某些操作也可并行执行而非按顺序执行。
图1是根据实施方案的用于移动设备的网络操作环境100的框图;网络操作环境100包括多个移动设备,诸如移动设备102A和移动设备102B。移动设备102A至102B可各自为能够与无线网络和一个或多个无线附件设备进行通信的任何电子设备。一些示例性移动设备包括但不限于智能电话、平板电脑、笔记本计算机、可穿戴计算机(例如,智能手表或其他可穿戴计算附件)、移动媒体播放器、个人数字助理和其他类似的设备。移动设备102A和移动设备102B中的每一者包括用户界面,诸如移动设备102B的用户界面104。移动设备102A和移动设备102B可通过一个或多个有线和/或无线网络110进行通信以执行数据通信。例如,无线网络112(例如,蜂窝网络、Wi-Fi网络)可通过使用网关116与广域网114(诸如互联网)进行通信。同样地,接入设备118,诸如移动热点无线接入设备,可提供对广域网114的通信接入。然后,网关116和接入设备118可通过有线网络和/或无线网络的组合来与广域网114进行通信。
在一些具体实施中,语音通信和数据通信均可通过无线网络112和/或接入设备118来建立。例如,移动设备102A可通过无线网络112、网关116和广域网114(例如,使用TCP/IP或UDP)拨打和接收电话呼叫(例如,使用VoIP协议),发送和接收电子邮件消息(例如,使用POP3协议),以及检索电子文档和/或流,诸如网页、照片和视频。在一些具体实施中,移动设备102A可通过接入设备118和广域网114来拨打和接收电话呼叫、发送和接收电子邮件消息以及检索电子文档。在一些具体实施中,移动设备102A或移动设备102B可使用一条或多条电缆物理地连接到接入设备118,例如,其中接入设备118为个人计算机。在该配置中,移动设备102A或移动设备102B可以被称为“系留”设备。在一个实施方案中,移动设备102A可经由无线对等连接120与移动设备102B进行通信。无线对等连接120可用于在设备之间同步数据。
移动设备102A或移动设备102B可与提供或启用一个或多个服务的服务提供商115通信。示例性服务包括通过一个或多个有线和/或无线网络110的电话服务130、即时消息服务140、媒体服务150、存储服务160和设备定位器服务170。例如,电话服务130可实现移动设备102A和移动设备102B之间或者移动设备和有线电话设备之间的电话通信。电话服务130可通过广域网114路由基于IP的语音(VoIP)呼叫,或者可访问蜂窝语音网络(例如,无线网络112)。即时消息服务140可例如提供电子邮件和/或其他即时消息服务。媒体服务150可例如提供对媒体文件的访问,诸如歌曲文件、有声读物、电影文件、视频剪辑和其他媒体数据。存储服务160可向移动设备102A和移动设备102B提供网络存储能力以存储文档和媒体文件。设备定位器服务170可使得用户能够定位丢失或错置的设备,该丢失或错置的设备至少在某个点处连接到一个或多个有线和/或无线网络110。例如,移动设备102A可针对移动设备102B执行位置查询。设备定位器服务170还可经由使用探测器设备的网络来启用针对不具有网络连接的设备的位置查询,如下图2至图3所示。还可提供其他服务,包括用于更新移动设备上的操作系统软件或客户端软件的软件更新服务。在一个实施方案中,消息递送服务140、媒体服务150、存储服务160和设备定位器服务170可各自与云服务提供方相关联,其中经由与移动设备102A至102B相关联的云服务账户来促进各种服务。
图2示出了根据实施方案的用于定位无法访问广域网的无线附件201的系统200。系统200还可用于定位不能访问WAN或LAN并因此不能传输设备位置的设备。在一个实施方案中,无线附件201包括一个或多个无线收发器,并且可通过无线网络或对等通信链路直接或间接(例如,通过另一设备或计算机)地与伴随设备(例如,移动设备102)进行通信。无线附件设备的一些示例包括但不限于无线耳塞、双耳式耳机、头戴式耳机以及其他可穿戴设备(例如,智能手表、健身手环、光学头戴式显示器)。无线附件201还可包括其他无线设备,诸如游戏控制器或遥控器。在一个实施方案中,无线附件201还包括至少暂时不能访问广域网诸如互联网(例如,如图1所示的广域网114)的智能电话、平板电脑、膝上型计算机、智能扬声器设备、电视机或电视机机顶盒。无线附件还可以是包括信标或定位器标签的任何其他无线设备,这些信标或定位器标签可附加到其他设备或项目以使得能够跟踪或定位那些设备或项目。在一个实施方案中,无线附件201可利用无线技术标准(诸如但不限于蓝牙)与移动设备102进行配对。无线附件201还可通过无线技术诸如Wi-Fi直连、Zigbee或其他类似技术与移动设备102进行通信。尽管无线附件201与之配对的伴随设备通常被称为移动设备102,但伴随设备不限于移动设备。在一些实施方案中,伴随设备还可包括膝上型设备或台式设备,并且可另外包括一些可穿戴附件,诸如但不限于智能手表设备或可穿戴显示器。
在一个实施方案中,无线附件201可周期性地传输无线信标信号。无线附件201可使用本文所述的各种无线技术(例如,蓝牙、Wi-Fi等)中的一种无线技术来传输信标信号,并且在一个实施方案中还可使用超宽带(UWB)无线电技术来发送信标。可利用单个无线技术、多个可选无线技术中的一者、或多个同时发生的无线技术来传输信标信号。信标信号可传输信标标识符,该信标标识符包括专门识别无线附件201的信息。在一个实施方案中,信标标识符是与设备相关联的公共加密密钥。
信标信号还可传达关于无线附件201的信息,诸如信标类型、设备分类、电池电平。在一个实施方案中,信标信号还可传达设备状态,诸如丢失状态、警报状态或近所有者状态。信标信号还可包括指定电池寿命、充电状态和/或其他状态信息的信息。丢失状态可指示无线附件201已确定其自身已丢失或已被设备的所有者置于丢失状态下。警报状态可指示无线附件201置于如果设备从当前位置移动则设备应当触发警报的状态下。近所有者状态可指示无线附件201已检测到与附件的所有者相关联的移动设备102存在于附近。
信标信号可由本地靠近无线附件201的探测器设备202来检测。探测器设备202可以是与移动设备102类似的设备,并且可以通过广域网114接收和传输数据,并且使用与无线附件201类似的无线技术(例如,蓝牙等)接收和传输。具体地讲,探测器设备202可使用通过其传输信标信号的无线协议来接收数据。探测器设备202可使用一个或多个位置和/或定位服务来确定位置,该一个或多个位置和/或定位服务包括但不限于卫星定位服务206或地面定位系统,该地面定位系统使用从无线基站205诸如Wi-Fi接入点或蜂窝电话网络的蜂窝塔发射器接收到的RF信号。在一个实施方案中,探测器设备202周期性地存储基于一个或多个位置和/或定位服务确定的其位置。所存储的位置可与针对其确定该位置的时间戳相关联。当探测器设备202从无线附件201接收到信标信号时,探测器设备202可通过广域网114将探测器设备的位置传输到设备定位器服务器203。用于确定的探测器设备202的位置的时间戳可与接收到信标信号以将地理位置与接收到的信标信号相关联的时间戳相关联。在一个实施方案中,无线附件201包括经由集成卫星定位服务(例如,GPS)接收器的位置确定能力。如果无线附件无法访问网络以将位置发送到设备定位器服务器203,则无线附件可对信标信号301内的加密位置数据进行编码。然后,探测器设备202可将加密位置数据中继到设备定位器服务器203。
在无线附件201在信标信号内提供公钥的情况下,探测器设备202可加密所确定的位置数据并通过广域网114将加密位置数据传输到设备定位器服务器203。在一个实施方案中,附加数据可被加密并与位置数据一起传输,或者未加密地传输到设备定位器服务器203。例如,信标信号的接收信号强度指示器(RSSI)可与位置数据一起传输。然后,RSSI数据可用于确定无线附件201与探测器设备202的距离,并且有助于对所有者设备的三角测量。在RSSI数据以未加密状态传输的情况下,在一个实施方案中,如果存在其他更强的信号,则服务器可使用RSSI信息通过丢弃非常弱的信号来降低噪声。在一个实施方案中,还可提供UWB测距数据,其中此类数据可用。
在一个实施方案中,探测器设备202可根据由无线附件201传达的设备状态在从无线附件201接收到信标信号时表现不同。对于标准信标信号,探测器设备202可将加密位置数据置于队列中并在周期性传输窗口期间将位置数据传输到设备定位器服务器203。然而,如果无线附件201正指示警报状态,则探测器设备202可立即将位置数据传输到设备定位器服务器203。另外,如果无线附件201的信标信号指示附件靠近附件的所有者,则探测器设备202可不将位置数据传输到设备定位器服务器203。另选地,探测器设备202可延迟加密位置数据的传输。
如果无线附件201的所有者希望定位无线附件,则所有者可访问移动设备102上的设备定位器用户界面(例如,设备定位器UI 204)。设备定位器UI 204可与设备定位器应用程序相关联,该设备定位器应用程序用于定位向用户的在线账户(诸如云服务账户或另一类型的在线账户)注册的电子设备和附件。设备所有者可使用设备定位器UI 204来向设备定位器服务器203查询可能已由无线附件201的探测器设备202传输到设备定位器服务器的位置数据。在一个实施方案中,移动设备102可将与无线附件201相关联的公共加密密钥传输到设备定位器服务器203。然后,设备定位器服务器203可返回与公共加密密钥对应的任何存储的位置数据。返回到移动设备102的位置数据可以是由探测器设备202使用公共加密密钥加密的加密数据。移动设备102可使用相关联的私钥来解密该加密位置数据。然后,由移动设备102处理经解密的位置数据以确定无线附件201的最可能位置。在各种实施方案中,可通过来自多个接收位置的三角测量并使用其他数据,诸如与每个位置和时间戳相关联的信标信号RSSI或包括在位置数据内的UWB测距数据,来确定无线附件201的最可能位置。
图3示出了根据本文所述的实施方案的用于对无线附件进行配对和定位的系统300。在一个实施方案中,无线附件201的用户的移动设备102可呈现附件配对UI 302,用户可通过该附件配对UI使移动设备102与无线附件201配对。在移动设备102和无线附件之间的初始配对(305)期间,可在移动设备和无线附件之间执行公钥交换(310)。在一个实施方案中,在公钥交换(310)期间,移动设备102和无线附件201交换由设备和附件生成的公钥对中的公钥。在一个实施方案中,公钥交换(310)是单向传送,其中移动设备102将公钥/私钥对中的公钥传输到无线附件201。除此之外或另选地,公钥交换(310)可以是迪菲-赫尔曼密钥交换,其中设备和附件在两方之间建立共享秘密。在一个实施方案中,公钥交换(310)另外使用椭圆曲线密码学来建立共享秘密。例如,椭圆曲线迪菲-赫尔曼(ECDH)可用于实现公钥对以及一个或多个共享秘密的建立。在一个实施方案中,该一个或多个共享秘密包括防跟踪秘密,该防跟踪秘密可由无线附件201使用以周期性地导出附加公钥。在一个实施方案中,无线附件可广告临时身份并随后使用基于身份的加密,而不是使用具有广播的公钥的公钥加密。利用基于身份的加密,公钥是关于用户身份的信息的某个唯一元素,或者公钥派生于关于用户身份的信息的某个唯一元素,诸如电子邮件地址。要解密经加密的信息的实体可从可信中央管理机构获得解密密钥。
在无线附件201已与移动设备102配对之后,无线附件201可周期性地广播包括设备状态信息和信标标识符的信标信号301。在一个实施方案中,信标标识符是来源于在公钥交换(310)期间建立的共享秘密的公钥。另外,无线附件201可周期性地执行公钥派生(315)以生成新的公钥并开始作为信标标识符广播新的公钥。公钥是K字节密钥,其中,每M分钟生成或轮转使用一个新的K字节密钥。值K和M可在各实施方案之间变化。在一个实施方案中,使用28字节的K值。在一个实施方案中,使用27字节的K值。值K可至少部分地基于与用于传输信标信号301的无线协议相关联的信标长度来确定。在一个实施方案中,信标信号可传输与低功耗无线电协议(诸如蓝牙低功耗)相关联的信标广告包的变体。
在一个实施方案中,值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是计数器或时间戳。
在一个实施方案中,可在无线附件201受损的情况下启用反向跟踪抵抗以保护防跟踪秘密。当启用反向跟踪抵抗时,将防跟踪秘密传输到无线附件201,但无线附件不保留该防跟踪秘密。相反,附件计算值λi+1=H(λi||时间),其中,λ0=AT和H为密码散列函数。然后,无线附件201在给定时间段i内存储λi。如果无线附件201受损,则仅暴露用于当前和未来的值i的λi,而不暴露防跟踪秘密AT。在一个实施方案中,反向跟踪抵抗通过周期性地将λi写入到无线附件201的非易失性存储器来执行。该方法是可使用的若干方法中的一种方法。在各种实施方案中,还可以使用其他密钥安全技术。例如,在一个实施方案中可使用如下文相对于图15至图16所述的密钥生成和多样化技术。
在一个实施方案中,无线附件201可每两秒传输信标信号301,尽管可使用其他信标速率,并且信标速率可在某些情况下变化。例如,当处于近所有者状态下时,无线附件201可降低信标速率。信标速率也可基于加速度计触发的事件而变化。例如,当处于警报状态下时,无线附件201可增大信标速率,这可由无线附件201上的加速度计触发。
如果在传输信标信号301之后,无线附件201接收到来自与附件的用户相关联的移动设备102的回复,该回复指示移动设备102在无线附件的范围内,则无线附件201可进入近所有者状态。另外,当无线附件处于近所有者状态下时,信标信号301所传输的数据的量可减小,例如如图25B所示。在一个实施方案中,当无线附件处于近所有者状态时,无线附件201的广告速率可降低。
无线附件201可在从移动设备102接收到指示无线附件201应进入警报状态的消息时进入警报状态。当处于警报状态时,无线附件可初始进入警备状态,在该警备状态中无线附件201可减少或停止传输定位器信标信号,但其他类型的无线信令可持续。无线附件201可保持在该警备状态下,直到移动设备102停用该状态或警报被触发。在一个实施方案中,警报可以在例如经由无线附件201内的加速度计检测到移动时被触发。在一个实施方案中,还可在检测到无线附件已经移出移动设备的范围并且不再处于近所有者状态时触发警报。当警报被触发时,信标信号301的速率可增大以增大可定位无线附件201的速度。
由无线附件201传输的信标信号301可由一组探测器设备303来检测,这组探测器设备是可接收由无线附件传输的信标信号并经由广域网114向设备定位器服务器203传输与信标信号301相关联的位置和其他数据的其他电子设备。在一个实施方案中,这组探测器设备303包括移动设备102的变体,或者可为其他类型的电子设备。这组探测器设备303可包括图2的探测器设备202的变体,并且可确定类似的位置确定技术。例如,这组探测器设备可执行操作(320)以将从无线附件201接收到的信标信号301与和探测器设备相关联的设备位置相关联。如相对于图2所述,设备位置可经由卫星定位服务或使用从无线基站(例如,Wi-Fi接入点或蜂窝塔发射器)接收到的RF信号的地面定位系统来确定。在一个实施方案中,该组探测器设备303还可包括可接收信标信号301的静止设备,诸如智能扬声器设备、电视机或电视机机顶盒。
该组探测器设备303可利用信标信号301内接收的信标标识符(例如,公钥)加密位置数据并将位置数据发送(325)到设备定位器服务器203。由这组探测器设备303发送的数据以匿名方式发送,并且探测器设备的识别信息不与探测器设备发送的数据一起储存。
设备定位器服务器203可将加密位置数据存储在数据存储库304中,在一个实施方案中,该数据存储库可以是具有多个节点的分布式数据库。附件的信标标识符/公钥的散列可与加密位置数据一起发送。加密位置数据可基于信标标识符的散列存储到数据库节点。可由设备定位器服务器203使用信标标识符的散列来索引加密位置数据。发送信标标识符的散列而不是完整的信标标识符可防止将完整的信标标识符存储到服务器。其他信息也可与位置数据一起以加密或未加密状态发送和存储。其他信息可包括信标信号301何时被接收的时间戳、接收到的信标的RSSI信息和/或例如经由UWB测距确定的测距信息。
当无线附件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小时公钥的数据,则移动设备102可在较早的时间段内发送散列的密钥,返回到预先确定的位置数据保留限制。
基于公钥的散列而不是公钥来存储和索引加密位置数据,以防止位置服务数据的提供商存储可用于将加密位置数据绑定到特定设备并因此绑定到特定用户或用户账户的数据。探测器设备发送在与观测位置相关联的信标信号301内广播的公钥的散列。设备的所有者可利用针对查询时间段确定的公钥的散列来查询设备定位器服务器203。
在一些实施方案中,如果要经由来自电子设备诸如膝上型设备或台式设备的基于web的界面来执行位置查询,则可能需要将密钥发送到电子设备以使得能够解密位置数据。在一个实施方案中,可将位置数据的解密密钥发送到服务器,该服务器提供基于web的界面以使得服务器至少在通过基于web的界面查看位置数据时能够解密位置数据。在经由基于web的界面显示位置数据之前,可呈现通知以通知用户:正在与基于web的界面服务器临时共享位置解密密钥以使得能够解密并呈现位置数据。在一个实施方案中,可经由与基于web的界面相关联的代理帐户的位置查询权限的自动和临时授权来执行位置解密密钥的共享。
在一个实施方案中,可将无线附件201置于光丢失模式下。在光丢失模式下,可为无线附件生成一组未来公钥并且可将那些公钥的散列传输到设备定位器服务器203。然后,如果接收到与这组未来公钥中的密钥对应的任何位置数据,则设备定位器服务器203可通知移动设备102。在一个实施方案中,发送处于光丢失模式下的无线附件的位置的探测器设备可由设备定位器服务器203引导以将消息中继给无线附件201,该消息通知无线附件其处于光丢失模式下。类似的机构也可用于将消息中继给使附件置于显式丢失模式下的无线附件201。用户可经由设备定位器UI 204启用显式丢失模式。在显式丢失模式下,除非被所有者解锁,否则无线附件201不能与另一设备配对。
图4A至图4C是示出与本文所述的设备定位器系统一起使用的方法的流程图。图4A示出了用于将移动设备与无线附件配对的方法400。图4B示出了经由设备定位器服务器来确定无线附件的位置的方法410。图4C示出了经由设备定位器服务器来确定无线附件的位置的附加方法420。方法400、410和420的各方面同样在图2和图3中示出,如上所述。例如,以下操作的描述涉及移动设备102、无线附件201和设备定位器服务器203。
如图4A所示,方法400包括执行与无线附件的初始配对的操作(框401)。初始配对可以是蓝牙配对或利用其他无线电技术进行的另一种类型的配对。在初始配对期间,移动设备和无线附件可交换使得能够在移动设备或另一电子设备与无线附件之间执行无线数据交换的标识符、密钥或其他凭据。在一个实施方案中,与无线附件的初始配对可包括与针对其执行配对的无线协议相关联的凭据的交换,从而允许无线地交换的所有数据均至少具有第一加密层。
然后,移动设备可生成公钥/私钥对以及一个或多个附加共享秘密(框402)。设备然后可将公钥以及一个或多个附加共享秘密发送到无线附件(框403)。可使用多种密钥生成技术。在一个实施方案中,ECDH的变体用于生成用于加密的公钥对。在一个实施方案中,一个或多个附加共享秘密可包括防跟踪秘密,该防跟踪秘密使得无线附件能够基于现有的公钥来导出新的公钥。
在生成公钥/私钥对以及一个或多个附加共享秘密之后,移动设备可将公钥/私钥对存储到密钥库(框404)。在一个实施方案中,密钥库是基于云的密钥库,其可和与移动设备和无线附件关联到的同一云服务账户或一系列云服务账户相关联的其他设备同步。基于云的密钥库允许无线附件可被其他同步设备定位。移动设备然后可向设备管理服务器注册无线附件(框405)。向设备管理服务器注册无线附件可在无线附件和移动设备关联到的云服务账户之间形成关联。设备管理服务器可与其他基于云的服务器(诸如图2和图3的设备定位器服务器203)相关联,该其他基于云的服务器用于促进移动设备可访问的基于云的服务。
如图4B所示,方法410包括电子设备启动设备定位器UI的操作(框411)。响应于启动设备定位器UI,可为如本文所述的移动设备的电子设备或与和该移动电子设备相同的云服务账户相关联的另一电子设备可执行操作以生成包括在由无线附件在第一时间段期间广播的信标信号内的一组公钥(框412)。第一时间段可为例如先前的24小时。电子设备知道无线附件生成或轮转新公钥的频率,并且电子设备可使用通过无线附件生成的共享秘密来生成与由无线附件在第一时间段内生成的密钥对应的一组公钥。然后,电子设备可在请求内发送该组公钥,请求设备定位器服务器发送与该组公钥对应的位置数据(框413)。在一个实施方案中,将使用作为无线附件的信标标识符传输的公钥来加密由服务器响应于请求而发送的位置数据。电子设备可使用在与无线附件的初始配对期间生成的私钥来解密由服务器接收到的加密位置数据(框414)。然后,电子设备可处理位置数据以确定无线附件的最高概率位置(框415)。
处理位置数据可包括多种不同的操作。在一个实施方案中,位置数据包括纬度和经度信息以及位置被确定时的时间戳。电子设备可基于时间戳来进行三角测量并移除噪声或异常位置。在一个实施方案中,位置数据指定检测到信标的探测器设备的位置。位置数据还可包括由探测器设备检测到的信标的UWB测距信息和/或RSSI信息。电子设备可分析在设备位置的上下文中的UWB测距信息和/或RSSI信息,以产生无线附件的更准确位置。在图10中示出了并在下文描述了可由探测器设备传输并用于位置处理的数据。
如图4C所示,方法420包括可在设备定位器服务器不具有要响应于请求而向电子设备提供的位置数据的情况下执行的操作。电子设备可以生成包括在由无线附件在第一时间段期间广播的信标信号内的第一组公钥(框421)。第一时间段可以是例如24小时,但是可以使用其他初始搜索时间段。电子设备可以执行后续操作以请求设备定位器服务器发送与第一组公钥对应的位置数据(框422)。如果该数据由服务器返回(框423,“是”),则电子设备可以使用与这组公钥对应的私钥来解密从服务器接收的位置数据(框429)。
如果服务器未返回数据(框423,“否”),则电子设备可以生成包括在由无线附件在第二时间段期间广播的信标信号内的第二组公钥(框424)。第二时间段可以是第一时间段之前的24、48或其他小时数。然后,电子设备可以请求设备定位器服务器发送与第二组公钥对应的数据(框425)。如果响应于该请求,服务器返回数据(框426,“是”),则方法420可以前进到框429,其中电子设备解密接收的数据。如果服务器未返回数据(框426,“否”),或者服务器发送指示数据不可用的回复,则方法420包括:电子设备可以通过连续请求更早的时间段直到达到最大时间段,来加宽搜索时间(框427)。
图5是示出根据实施方案的在无线附件处广播信号信标的方法500的流程图。方法500的方面也在图2和图3中示出。方法500包括无线附件导出公钥(框502)。可以基于共享秘密和基于无线附件的时钟或计时设备确定的时间戳来导出公钥。然后,无线附件可以第一传输间隔传输信标信号,其中信标信号包括公钥(框503)。第一传输间隔可变化,并且在一个实施方案中为每两秒传输一个信标。
在传输信标信号之后,无线附件可监听来自所有者设备的响应。如果无线信号接收到来自所有者设备的响应(框504,“是”),则无线附件可进入近所有者状态(框505)并开始以较慢的第二传输间隔传输信标信号(框507)。如果无线附件没有从所有者设备接收到响应(框504,“否”),则无线附件可以第一传输间隔继续发送信标(框506)。
方法500还包括在发送信标时,使无线设备每M分钟轮转一次公钥,其中M的值可跨实施方案和/或基于设备状态而变化。基于计时器到期、计数器或其他机制,无线附件可以确定附件是否已进入新的密钥时间段(框508)。虽然无线附件尚未进入新的密钥时间段(框508,“否”),但附件可以使用当前公钥继续发送信标(框510)。当无线附件检测到它已进入新的密钥时间段时(框508,“是”),附件可使用当前时间戳导出新的公钥(框509)。在一个实施方案中,可以使用现有公钥、时间戳和防跟踪秘密来导出新公钥。
图6A至图6B示出了根据本文所述的实施方案的可由探测器设备执行的方法600的操作。方法600的方面也在图2和图3中示出。
如图6A所示,方法600包括当探测器设备的应用处理器处于低功率模式时,探测器设备使用无线基带处理器执行周期性信标扫描(框601)。虽然也可以在应用处理器处于活动状态时执行信标扫描,但是当探测器设备空闲、不活动或其他方式处于低功率状态时,信标扫描可以由无线处理器和无线电设备接收器作为低功率操作来执行。探测器设备可以将时间戳和信标标识符存储到信标扫描缓冲器,以用于由探测器设备接收的任何信标数据(框602)。在一个实施方案中,信标标识符是由无线设备基于时间戳和利用所有者的移动设备生成的共享秘密生成的公钥。
方法600还包括在应用处理器处于低功率模式时,探测器设备使用无线处理器执行周期性Wi-Fi扫描(框603)。虽然也可以在应用处理器处于活动状态时执行Wi-Fi扫描,但是当探测器设备空闲、不活动或其他方式处于低功率状态时,Wi-Fi扫描可以由无线处理器和无线电设备接收器作为低功率操作来执行。然后,探测器设备可以将Wi-Fi服务集标识符(SSID)和扫描时间戳存储到探测器设备上的Wi-Fi扫描缓冲器(框604)。
在一个实施方案中,Wi-Fi扫描缓冲器是滚动缓冲器,其存储最近检测到的SSID,同时覆盖较早检测到的SSID。在一个实施方案中,信标扫描缓冲器可为具有用于预定数量条目的空间的固定大小缓冲器。当信标扫描缓冲器变满时,探测器设备可以唤醒应用处理器(框605),并将那些信标扫描与Wi-Fi扫描缓冲器中最近检测到的SSID相关联。该关联性可使得探测器设备能够基于Wi-Fi扫描缓冲器数据来确定与接收到的信标对应的一组设备位置(框606)。
方法600在图6B中继续,并且包括:如果其他位置数据可用,则探测器设备将来自Wi-Fi扫描缓冲器数据的设备位置与其他位置数据相关联(框607),以生成细化的设备位置。如果生成了细化的设备位置,则探测器设备可以可选地将信标数据与细化的设备位置组合(框608)。探测器设备还可将信号强度(RSSI)或测距数据添加到位置数据(框609)。当探测器设备接收到信标信号时,可以收集信号强度和测距数据(例如,UWB测距数据)。然后,探测器设备可利用信标数据内接收到的一个或多个公钥来加密位置数据(框610)。信号和测距数据可以与位置数据一起加密,或者可以与加密位置数据一起未加密地发送。探测器设备可将加密位置数据入队以传输到设备定位器服务器(框611)。设备定位器服务器可以是多个云服务服务器之一,通常以批量和节流的方式进行通信。可收集一批加密数据并将其置于传输队列中,直到到达传输间隔,在此期间探测器设备可将数据传输到云服务服务器(框612)。经加密的数据可随对应于经加密的位置的信标标识符的散列值一起被发送。
图7示出了根据实施方案的由探测器设备执行的信号和测距数据的采集。在一个实施方案中,探测器设备202可以针对跨多个位置702A至702N从无线附件201接收的信标信号301来收集信号强度信息(例如,RSSI 704A至704N)。探测器设备202还可表示多个探测器设备,诸如图3中的一组探测器设备303,其中每个探测器设备在不同位置处检测信标信号。每个探测器设备202可以发送不同的位置和信号强度,并且从多个探测器设备接收的位置和信号强度数据将由设备定位器服务器聚合。在一个实施方案中,在探测器设备和无线设备各自包括UWB无线电设备的情况下,如果探测器设备和无线设备在UWB传输的范围内,则可执行UWB测距706。UWB测距和信号强度数据可以与探测器设备的位置数据一起传输到设备定位器服务器。
所有者设备可从设备定位器服务器检索RSSI或UWB信息和位置数据以及位置被确定时的时间戳,在一个实施方案中,该位置数据以纬度和经度信息的形式提供。然后,所有者设备可使用位置数据、时间戳和信号信息来三角测量无线附件201的最可能位置。
图8示出了根据实施方案的用于定位设备和无线附件的联网系统800。根据一个实施方案,系统800还示出了用于设备定位器服务器203的示例性服务器架构。在一个实施方案中,设备定位器服务器203是互连的服务器设备的集群,其可以是单个数据中心内的物理或虚拟服务器,或者跨多个数据中心和/或地理位置分布。如上所述,设备定位器服务器203可以通过广域网114与附件所有者或用户的移动设备102和这组探测器设备303通信。移动设备102包括由使得能够定位无线附件的本地或web应用程序提供的UI,并且探测器设备303从无线附件接收信标信号并将与接收到的信号相关联的位置数据传输到设备定位器服务器203。
在一个实施方案中,设备定位器服务器203包括定位器服务器前端803、账户数据库825、数据库集群管理器813和一组数据库集群节点823A至823C。定位器服务器前端803是移动设备102和这组探测器设备303可以与之通信的前端接口。账户数据库825存储移动设备102和探测器设备303所关联的云服务提供商的账户的账户配置文件数据。数据库集群管理器813可以将数据库集群节点823A至823C配置为分布式位置数据库,该分布式位置数据库可以存储与由这组探测器设备303接收的信号信标的信标标识符相关联的位置、信号和测距数据。
在一个实施方案中,账户数据库825可以包含与每个云服务账户相关联的设备的列表。响应于定位给定设备(包括如本文所述的无线附件)的请求,账户数据库825可以验证该请求来自被授权请求给定设备的位置的设备。在一个实施方案中,当用户启动设备定位器UI并与定位器服务前端803通信时,定位器服务前端可以与账户数据库825通信并为与请求的用户相关联的每个设备提供当前或最后的已知位置,所述设备包括与请求的用户相关联的账户系列中的其他用户所关联的设备和/或无线附件。
在一个实施方案中,数据库集群管理器813可以通过对与一组位置数据相关联的信标ID执行散列来选择要存储信标数据的数据库集群节点823A至823C。每个数据库集群节点823A至823C可以与一系列散列值相关联。然后,数据库集群管理器可以将位置数据存储到对应于与给定信标ID的散列相关联的散列值范围的集群节点。尽管示出了三个数据库集群节点,但是实施方案不限于任何特定数量的节点,并且可以使用更多或更少的节点。
图9A至图9C示出了根据实施方案的设备定位器UI 204。图9A示出了根据一个实施方案的设备定位器UI 204的第一图形用户界面,其示出了用户的各种电子设备和无线附件的位置。图9B示出了根据一个实施方案的设备定位器UI 204的第二图形用户界面,其使得无线附件能够被设置为警报模式。图9C示出了根据一个实施方案的设备定位器UI 204的第三图形用户界面,其使得无线附件能够被设置为丢失模式。
如图9A所示,设备定位器UI 204可以显示在电子设备900上,该电子设备可以是移动设备,或者本文描述的任何其他类型的电子设备。设备定位器UI 204可以呈现统一的图形界面,通过该统一的图形界面可以定位多种不同类型的设备和附件,包括具有网络或蜂窝接入的无线设备和无本地网络接入的无线附件。设备定位器UI 204可以包括具有标记902的地图901,该标记示出无线设备或附件的当前或最后已知位置。标记902可以是标识附件并传达附件的位置的图标、图像、图形或任何其他用户界面元素。设备定位器UI中的可选元素903可以呈现无线设备或附件的描述或名称,并且可以示出无线设备或附件与电子设备900的当前位置之间的估计距离。
如图9B所示,设备定位器UI 204可以呈现使得无线附件能够被设置为警报模式的第二用户界面。在一个实施方案中,第二用户界面可以响应于选择图9A中所示的可选元素903而显示。第二用户界面可以呈现表示和/或描述所考虑的无线附件的用户界面元素904,以及显示无线附件的当前或最后已知位置的地图901和标记902。在一个实施方案中,设备定位器UI 204可以呈现可选择元素905,诸如按钮或另一用户界面元素,其允许设备定位器UI 204的用户将所选无线附件置于警报模式。当处于警报模式时,无线附件可以被配置为如果该无线附件从其当前位置移动则触发对用户的通知。
在一个实施方案中,无线附件可以经由该无线附件内的加速度计或其他类型的运动传感器来检测移动。无线附件可通过在由无线附件的信标信号传输的数据包中设置指示无线附件警报已被触发的标记来发起通知。在各种实施方案中,可使用其他触发或通知模式。在一个实施方案中,警报可以可选地在检测到无线附件已经移出移动设备的范围并且不再处于近所有者状态时由移动设备触发。在一个实施方案中,当无线附件超出与无线附件所关联的用户账户或账户系列相关联的任何设备的范围之外或者不能被这些设备定位时,可以可选地触发警报。
如图9C所示,设备定位器UI 204可呈现使得无线附件能够被设置为丢失模式的第三图形用户界面。在一个实施方案中,当无线附件不能经由设备定位器UI 204定位时,地图901将不显示指示附件的位置的标记。设备定位器UI 204可呈现表示和/或描述所考虑的无线附件的用户界面元素904和一组可选的用户界面元素。一个可选的用户界面元素906可呈现用于在发现附件时通知用户的选项。当启用发现时通知时,在一个实施方案中,可将无线附件置于轻丢失模式。与设备定位器UI 204相关联的电子设备可以生成一组公钥,无线附件将在未来时间段期间(例如,接下来的24小时,接下来的48小时等)将这组公钥与信标信号一起广播。如果探测器设备使用未来密钥中的一个检测到信号,则设备定位器服务器可以通知与该用户相关联的一个或多个电子设备。
另一个可选的用户界面元素907可以将无线附件置于显式丢失模式。当明确置于丢失模式时,无线附件将无法与其他设备配对,直到附件被将该设备置于丢失模式的用户或所有者解锁。当发送将无线附件置于丢失模式的请求时,可以要求请求的用户输入认证信息以确保请求的用户被授权请求在丢失的附件上启动丢失模式。认证信息可以包括与用户的账户相关联的用户名或密码,诸如用户、电子设备和无线附件所关联的云服务账户。认证信息还可包括生物特征信息,诸如指纹或面部识别数据、语音识别、虹膜识别和其他生物特征识别信息。
在一个实施方案中,可以在用户设备上显示由请求的用户提供的消息和联系人信息,以提示找到丢失的无线附件的人如何联系请求的用户。在一个实施方案中,当另一用户尝试将另一电子设备与丢失的附件配对时,可显示消息和联系人信息。
图10示出了根据实施方案的在尝试与丢失的无线附件进行配对时显示的附件配对UI 302。在一个实施方案中,当不同于图9A的电子设备900并且不与无线附件的注册用户或所有者相关联的电子设备1000尝试与丢失的无线附件配对时,该电子设备的附件配对UI可如图10所示显示。在一个实施方案中,附件配对UI 302可显示与无线附件相关联的名称或描述1001,以及在将附件置于丢失模式时由附件的用户输入的消息1002。联系人信息1004还可与用户界面元素1006(诸如按钮)一起显示,该用户界面元素使得电子设备1000能够通过使用所提供的联系人信息1004联系请求用户。
本文所述的实施方案包括环境中的一个或多个应用编程接口(API),其中调用程序代码与通过一个或多个编程接口调用的其他程序代码进行交互。各种功能调用、消息或其他类型的调用还可包括各种参数,这些调用可以经由调用程序和被调用代码之间的API而传输。此外,API可以给调用程序代码提供使用在API中定义的、并在被调用程序代码中实现的数据类型或类别的能力。
API允许API调用部件的开发者(可以是第三方开发者)利用由API实现部件提供的指定特征。可以有一个API调用部件或可以有多于一个此类部件。API可以是计算机系统或程序库提供以支持来自应用程序的服务请求的源代码接口。操作系统(OS)可具有多个API,以允许运行于OS上的应用程序调用那些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实现部件可响应于来自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调用部件可各自为操作系统、库、设备驱动程序、API、应用程序或其它模块(应当理解,API实现部件和API调用部件可以是彼此相同或不同类型的模块)中的任一种。在一些情况下,可至少部分地在固件、微码或其它硬件逻辑部件中实现API实现部件。在一些实施方案中,API可以允许客户端程序使用由软件开发工具包(SDK)库提供的服务。在其他实施方案中,应用程序或其他客户端程序可使用由应用程序框架提供的API。在这些实施方案中,应用程序或客户端程序可将调用结合到由SDK提供和由API提供的函数或方法中,或使用SDK中定义并由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,例如来自OS提供商的一组API和来自插件提供商的另一组API,以及来自另一提供商(例如软件库的提供商)或另一组API的创建者的另一组API。
图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调用,以访问并使用由API1120指定的API实现组件1110的特征。API实现组件1110可响应于API调用而通过API 1120向API调用组件1130返回值。
应当理解,API实现组件1110可包括未通过API 1120指定且对于API调用组件1130不可用的附加函数、方法、类、数据结构和/或其它特征。应理解,API调用部件1130可与API实现部件1110在同一系统上,或者可远程定位并通过网络来使用API 1120访问API实现部件1110。尽管图11示出了API调用部件1130的单个实例与API 1120交互,但应理解,可能以与API调用部件1130不同的语言(或相同的语言)编写的其他API调用部件也可使用API1120。
API实现组件1110、API 1120和API调用组件1130可以存储在机器可读介质中,其包括用于以机器(例如计算机或其他数据处理系统)可读的形式存储信息的任何机构。例如,机器可读介质包括磁盘、光盘、随机存取存储器;只读存储器、闪存存储器设备等。
图12是根据实施方案的用于移动或嵌入式设备的设备架构1200的框图。设备架构1200包括存储器接口1202、一个或多个处理器1204(例如,数据处理器、图像处理器和/或图形处理器)以及外围设备接口1206。各种部件可通过一条或多条通信总线或信号线耦接。各种部件可以是单独的逻辑部件或设备或可以集成在一个或多个集成电路,诸如片上系统集成电路。
存储器接口1202可以耦接至存储器1250,其可以包括高速随机存取存储器诸如静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)和/或非易失性存储器,诸如但不限于闪存存储器(例如,NAND闪存、NOR闪存,等等)。
传感器、设备和子系统可耦接到外围设备接口1206以促进多个功能。例如,包括运动传感器1211、光传感器1212和接近传感器1214的一组传感器1210可耦接到外围设备接口1206以促进移动设备功能。还可存在一个或多个生物特征传感器1215,诸如用于指纹识别的指纹扫描器或用于面部识别的图像传感器。其他传感器1216也可连接至外围设备接口1206,诸如定位系统(例如,GPS接收器)、温度传感器、或其他感测设备以促进相关的功能。
设备架构1200还包括音频/视频系统1220。可利用相机子系统1221和光学传感器1222(例如,电荷耦合器件(CCD)或互补金属氧化物半导体(CMOS)光学传感器)来促进相机功能,诸如拍摄照片和视频剪辑。音频子系统1226可耦接到扬声器1228和麦克风1230以促进支持语音的功能,诸如声音识别、语音复制、数字记录和电话功能。在本文描述的智能媒体设备中,音频子系统1226可以是包括支持虚拟环绕声的高质量音频系统。
可通过一个或多个无线通信子系统1224来促进通信功能,这些无线通信子系统可包括射频接收器和发射器和/或光学(例如,红外)接收器和发射器。无线通信子系统1224的具体设计与实现可取决于移动设备打算通过其操作的通信网络。例如,包括示出的设备架构1200的移动设备可包括设计来通过GSM网络、CDMA网络、LTE网络、Wi-Fi网络、Bluetooth网络或任何其他无线网络操作的无线通信子系统1224。具体地,无线通信子系统1224可提供通信机构,在该通信机构中,媒体回放应用程序可从远程媒体服务器检索资源或从远程日历或事件服务器检索调度事件。
I/O子系统1240可包括触摸屏控制器1242和/或其他输入控制器1245。对于包括显示设备的计算设备,触摸屏控制器1242可耦接到触敏显示器系统1246(例如,触摸屏)。触敏显示系统1246和触摸屏控制器1242可例如使用多种触摸和压力感测技术的任何一种技术来检测接触和运动或压力,触摸和压力感测技术包括但不限于电容性、电阻性、红外和表面声波技术,以及用于确定与触敏显示系统1246接触的一个或多个点的其他接近传感器阵列或其他元件。触敏显示系统1246的显示输出可由显示控制器1243生成。在一个实施方案中,显示控制器1243可在可变帧速率下向触敏显示系统1246提供帧数据。
在一个实施方案中,包括了传感器控制器1244以监测、控制和/或处理从运动传感器1211、光传感器1212、接近传感器1214或其他传感器1216中的一者或多者接收的数据。传感器控制器1244可包括逻辑来解释传感器数据以通过分析来自传感器的传感器数据来确定多个运动事件或活动中的一者的发生。
在一个实施方案中,I/O子系统1240包括其他输入控制器1245,可耦接到其他输入/控制设备1248,诸如一个或多个按钮、摇臂开关、拇指轮、红外线端口、USB端口和/或指针设备诸如触笔或控件/装置诸如扬声器1228和/或麦克风1230的音量控件的向上/向下按钮。
在一个实施方案中,耦接至存储器接口1202的存储器1250可存储操作系统1252的指令,包括便携式操作系统接口(POSIX)兼容和不兼容的操作系统或嵌入式操作系统。操作系统1252可包括用于处理基础系统服务以及用于执行硬件相关任务的指令。在一些具体实施中,操作系统1252可以是内核。
存储器1250还可以存储通信指令1254以促进与一个或多个附加设备、一个或多个计算机和/或一个或多个服务器的通信,例如从远程web服务器获取web资源。存储器1250还可包括用户界面指令1256,包括图形用户界面指令以有利于图形用户界面处理。
此外,存储器1250可存储传感器处理指令1258以促进传感器相关处理和功能;促进与电话相关的过程及功能的电话指令1260;促进与电子消息处理相关的过程及功能的即时消息指令1262;促进与网页浏览相关的过程和功能的网页浏览指令1264;促进与媒体处理相关的过程和功能的媒体处理指令1266;位置服务指令包括GPS和/或导航指令1268和基于Wi-Fi的位置指令以促进基于位置的功能性;促进与相机相关的过程和功能的相机指令1270;和/或其他软件指令1272,以有利于其他过程和功能,例如安全过程和功能以及与系统相关的过程和功能。存储器1250还可以存储其他软件指令,诸如促进与web视频相关的过程和功能的web视频指令;和/或促进与网络购物相关的过程和功能的网络购物指令。在一些具体实施中,媒体处理指令1266分为音频处理指令和视频处理指令,以分别用于促进与音频处理相关的过程和功能以及与视频处理相关的过程和功能。移动设备标识符,诸如国际移动设备身份(IMEI)1274或类似的硬件标识符也可存储在存储器1250中。
上面所识别的指令和应用程序中的每一者可对应于用于执行上述一个或多个功能的指令集。这些指令不需要作为独立软件程序、进程或模块来实现。存储器1250可包括附加指令或更少的指令。此外,可在硬件和/或软件中,包括在一个或多个信号处理和/或专用集成电路中,执行各种功能。
图13为根据实施方案的计算系统1300的框图。示出的计算机系统1300旨在表示一系列计算系统(有线或无线的),包括例如台式计算机系统、膝上型计算机系统、平板电脑系统、蜂窝电话、包括支持蜂窝的PDA的个人数字助理(PDA)、机顶盒、娱乐系统或其他消费电子设备、智能电器设备、或者智能媒体回放设备的一个或多个具体实施。另选的计算系统可以包括更多、更少和/或不同的部件。计算系统1300可用于提供在计算设备和/或计算设备可能与之连接的服务器设备。
计算系统1300包括互连器1335(例如,总线、构架)以实现计算系统1300的部件之间的通信。一个或多个处理器1310可与互连器1335耦接。计算系统1300还可包括存储器1320,以随机存取存储器(RAM)或其他动态存储设备的形式耦接到互连器1335。存储器1320可存储可由处理器1310执行的信息和指令。存储器1320还可为主存储器,用于在由处理器1310执行指令期间存储临时变量或其他中间信息。
计算系统1300还可包括耦接到互连器1335的可存储用于处理器1310的信息和指令的只读存储器(ROM)1330和/或其他数据存储设备1340。数据存储设备1340可以是或包括各种存储设备,例如闪存存储器设备、磁盘或光盘,并且可经由互连器1335或经由远程外围设备接口耦接到计算系统1300。
计算系统1300还可经由互连器1335耦接到显示设备1350以向用户显示信息。计算系统1300还可以包括数字字母混合输入设备1360,该设备包括数字字母键和其他键,其可以耦接到互连器1335以将信息和命令选项发送到处理器1310。另一种用户输入设备包括光标控件1370设备,诸如触控板、鼠标、轨迹球、或光标方向键,用于向处理器1310传递方向信息和命令选择以及在显示设备1350上控制光标移动。计算系统1300还可以经由一个或多个网络接口1380从通信地耦接的远程设备接收用户输入。
计算系统1300还可以包括一个或多个网络接口1380,以提供对诸如局域网之类的网络的访问。网络接口1380可以包括,例如具有天线1385的无线网络接口,所述天线可以表示一个或多个天线。计算系统1300可以包括多个无线网络接口,诸如Wi-Fi和
Figure BDA0003304593730000261
近场通信(NFC)和/或蜂窝电话接口的组合。网络接口1380也可以包括例如有线网络接口,以经由网络电缆1387与远程设备通信,该电缆可以是例如,以太网电缆、同轴电缆、光纤电缆、串行电缆或并行电缆。
在一个实施方案中,网络接口1380可以例如通过符合IEEE 802.11无线标准来提供对局域网的接入,并且/或者无线网络接口可以例如通过符合蓝牙标准提供对个人区域网络。其他无线网络接口和/或协议也可得到支持。除了经由无线LAN标准进行通信之外或代替经由无线LAN标准进行通信,网络接口1380可以使用例如时分多址(TDMA)协议、全球移动通信系统(GSM)协议、码分多址(CDMA)协议、长期演进(LTE)协议和/或任何其他类型的无线通信协议来提供无线通信。
计算系统1300还可包括一个或多个功率源1305和一个或多个能量测量系统1345。功率源1305可包括耦接到外部电源的AC/DC适配器、一个或多个电池、一个或多个电荷存储设备、USB充电器或其他功率源。能量测量系统包括至少一个电压或电流测量设备,可测量计算系统1300在预先确定的时间段内消耗的能量。此外,可包括一个或多个能量测量系统测量,例如,显示设备,冷却子系统,Wi-Fi子系统,或其他常用的或高能量消费子系统所消耗的能量。
位置和搜索服务
图14示出了根据实施方案的检测无线附件和设备的信标广告的系统1400。系统1400包括硬件部件,诸如蓝牙控制器1433、实时响应处理器(AOP)1459、Wi-Fi控制器1463和多核应用处理器1434。多核应用处理器1434可执行例示的操作系统守护进程,该操作系统守护进程促进针对检测到的无线信标信号的位置确定。在一个实施方案中,操作系统部件包括蓝牙守护进程1427、Wi-Fi守护进程1453、位置守护进程1401和搜索守护进程1437。虽然描述了蓝牙信标信号,但这些技术不限于蓝牙广告,并且来自无线附件的其他类型的无线广告可用于无线附件和设备的众包位置确定。
蓝牙控制器1433可执行包括低功率扫描器1431,该低功率扫描器在控制器激活时执行操作。低功率扫描器1431可用于检测正在使用无线电信号广播广告的附近蓝牙(例如,蓝牙低功耗)设备的存在。蓝牙控制器1433的具体配置细节可由蓝牙守护进程1427确定,该蓝牙守护进程包括蓝牙处理器逻辑部件1423和对象发现逻辑部件1425。蓝牙处理器逻辑部件1423可控制蓝牙控制器1433的操作。对象发现逻辑部件1425可将由蓝牙控制器1433检测到的带时间标签的广告1413转发到位置守护进程1401以供进一步处理。在一个实施方案中,并非所有检测到的广告都被转发以用于处理。相反,仅转发包括指示正在广播的设备的位置应被确定并上传到云服务器1470的位或标记的广告,而出于所示系统1400的目的忽略其他广告。在一个实施方案中,蓝牙控制器1433被配置为基于广告的类型来过滤所扫描的广告,并且可仅存储包括指示正在广播的设备的位置应被确定并上传到云服务器1470的位或标记的广告。
在一个实施方案中,蓝牙控制器1433可在应用处理器1434处于低功率状态时执行扫描和处理操作。蓝牙控制器1433可在蓝牙广告缓冲器1429中缓冲检测到的广告,而不是在检测到广告时一再地中断应用处理器。蓝牙控制器1422可包括逻辑部件1424以对蓝牙广告缓冲器1429进行去重复,使得缓冲器不填充相同的广告。在应用处理器1434的唤醒事件期间,蓝牙广告缓冲器1429可伺机地卸载。应用处理器1434经由位置守护进程1401可尝试将检测到的广告与存储在Wi-Fi控制器1463内Wi-Fi扫描缓冲器1461中的信号标识符匹配,以确定在检测到信标广告的同时检测到的一组Wi-Fi信号。
扫描操作1465可由Wi-Fi控制器1463执行,并且检测到的信号标识符可存储在Wi-Fi扫描缓冲器1461中。在一个实施方案中,Wi-Fi扫描缓冲器1461是滚动缓冲器,其存储最近检测到的SSID,在检测到SSID期间同时覆盖较早检测到的SSID。在一个实施方案中,Wi-Fi扫描缓冲器可为具有用于预定数量条目的空间的固定大小缓冲器。Wi-Fi守护进程1453可将Wi-Fi控制器1463配置为在扫描缓冲器变满时唤醒应用处理器1434,或者基于为Wi-Fi守护进程1453配置的WSB唤醒/完全滚动策略1455简单地覆盖较早检测到的SSID。
位置守护进程1401包括集群位置服务接口1403和集群位置服务子采集器1405。集群位置服务接口1403是服务提供商接口,其使得搜索守护进程1437能够查询位置信息,包括关于由位置查询应用程序1435跟踪的无线附件的信息。集群位置服务子采集器1405采集带时间标签的广告1413并将它们与位置信息关联。集群位置服务子采集器1405接收带时间标签的广告1413并将这些广告存储到信标高速缓存1407。拉锁逻辑部件1409使用与GPS提供商1415、Wi-Fi定位提供商1417、信号环境提供商1419和运动活动状态1421相关联的数据来将带时间标签的位置数据与带时间标签的广告1413关联。该关联数据被提供给服务提供商探测器框架1411,该服务提供商探测器框架将关联信标数据递送到搜索守护进程1437内的信标有效载荷高速缓存1441。
在一个实施方案中,GPS提供商1415提供经由从GPS设备接收到的信号确定的位置数据,该GPS设备与一组全球定位航系统(例如,全球定位系统、全球导航卫星系统、BeiDou-2、伽利略全球导航卫星系统等)卫星通信。一般来讲,在本文具体地描述了GPS并且一般地描述了基于卫星的定位服务的情况下,应当理解,所述卫星定位技术可使用任何全球导航卫星系统(GNSS)来执行。还可经由Wi-Fi定位提供商来确定位置,该Wi-Fi定位提供商基于检测到的Wi-Fi SSID和/或MAC地址来估计设备位置。可基于与检测到的信号相关联的RSSI来进一步细化位置估计。信号环境提供商1419可提供关于例如对于给定地理区域是GPS最优还是Wi-Fi定位最优的分类数据。信号环境提供商1419可使用设备上分类器,该设备上分类器基于检测到的Wi-Fi信号的数量来估计Wi-Fi定位的可能精度。
运动活动状态1421提供关于探测器设备是静止的还是处于运动中的信息。可部分地基于由AOP 1459提供的运动更新1457来确定运动活动状态1421。AOP 1459保持通电,而探测器设备内的其他处理器处于低功率状态。AOP 1459可从运动传感器收集数据并推迟运动更新1457,直到应用处理器1434或其他处理器从低功率状态唤醒。
搜索守护进程1437与可用于呈现设备定位器UI 204的位置查询应用程序1435通信。搜索守护进程1437还经由网络(例如,经由网络114的设备定位器服务器203)与一组云服务器1470通信。搜索守护进程1437可处理由位置守护进程1401提供的观测,并将那些观测提供给该组云服务器1470。搜索守护进程1437还可包括观测下载器和存储单元1439,该观测下载器和存储单元下载并存储由位置查询应用程序1435跟踪的附件和设备的位置数据。位置数据可从云服务器1470下载并从位置守护进程1401经由集群位置服务接口1403查询。
搜索守护进程1437从服务提供商探测器框架1411接收信标数据并将信标数据存储在信标有效载荷高速缓存1441中。搜索守护进程1437包括逻辑部件1443以对信标有效载荷进行去重复。使用与信标一起广播的公钥(例如,信标ID)来加密(1447)去重复的信标有效载荷内的位置数据。信标数据和相关联的加密位置可在被上传到云服务器1470之前存储在信标上传高速缓存1449中。当信标数据准备上传时,搜索守护进程1437可激活队列和请求上传逻辑部件1451。队列和请求上传逻辑部件1451可与活动调度器1445通信以在下一个服务器上传间隔期间将数据上传到云服务器1470。可限制上传到云服务器1470的信标的数量。另外,当要通过网络传输其他不相关的数据时,可伺机地发送数据。
上传的信标数据包括:与信标相关联的位置,该位置使用传输为信标标识符的公钥来加密;与何时检测到信标相关联的时间戳;以及用于加密位置数据的公钥的散列。云服务器1470可使用公钥的散列来索引加密位置数据和时间戳。使用公钥的散列防止云服务器1470获得与存储数据相关联的附件的所有者的直接信息,同时允许附件的所有者使用附件的所有者已知的公钥的散列来查询设备位置。
所选信标外围设备的分离通知
在一个实施方案中,本文所述的无线附件可以是可用于跟踪和/或定位其他设备的定位器信标设备。信标可拴系到伴随设备诸如智能电话设备,并且被配置为具有“查找我”和接近度配置文件,这些接近度配置文件允许伴随设备触发信标上的提示或铃声并检测信标何时在伴随设备的物理接近度内。在一个实施方案中,当伴随设备移出信标设备的范围时,伴随设备可在伴随设备上呈现通知以通知用户信标外围设备不再在用户身边。分离通知可被配置为在用户处于所选感兴趣位置时提示或不提示用户。一些位置可被配置为安全位置。当处于安全位置时,将不提供分离提示。在一个实施方案中,伴随设备在处于安全位置时可允许与某些无线附件的连接断开,以维持伴随设备和无线附件的电池。
图15示出了根据实施方案的用于启用所选无线附件的分离通知的系统1500。在一个实施方案中,系统1500包括图14的系统1400的位置守护进程1401、蓝牙守护进程1427和搜索守护进程1437的变体。在操作期间,位置守护进程1401监测伴随设备的位置,并且将基于当前位置是否为安全位置来断开或尝试经由蓝牙守护进程1427与无线附件的连接。如果当前位置不是安全位置并且伴随不能连接到附件,则可触发分离通知。
图15中示出了多个操作场景。在一个操作场景中,搜索守护进程1437监测指示新信标的配对(1567)或对现有信标的更新(1569)的事件。然后,搜索守护进程1437可以向位置守护进程1401发布信标改变通知(1581)。位置守护进程1401接收信标状态改变通知(1528),这使得位置守护进程1401从搜索守护进程1437获取所有信标(1526)。搜索守护进程1437执行获取所有信标操作(1563)以从数据库1565获取信标数据。然后,搜索守护进程1437通知位置守护进程1401已获取所有信标(1524)。
在一个实施方案中,存储在数据库1565中的信标数据包括信标数据(例如,信标ID)或例如当正在使用滚动信标标识符时可用于生成信标ID的密钥。位置守护进程1401可触发更新的信标事件(1529)以开始针对更新的信标的拴系监测。位置守护进程1401还可触发更新的安全位置事件(1531)并开始或停止针对特定区域的监测(1533)。在一个实施方案中,可使用地理围栏数据来限定由位置守护进程1401监测的区域。
在附加的操作场景中,位置守护进程1401可监测进入安全位置的地理围栏进入(1511)。在地理围栏进入时,位置守护进程1401可触发信标的有意断开连接操作(1512)。有意断开连接操作(1512)可调用蓝牙守护进程1427中的断开外围设备功能(1541),该断开外围设备功能将断开与信标的蓝牙连接。
在附加的操作场景中,响应于屏幕唤醒事件(1501)或地理围栏退出(1513),位置守护进程1401可确定伴随设备是否被配置为拴系有信标外围设备但信标外围设备当前未连接(1515)。如果未配置拴系,则不针对该场景执行附加操作(1523)。如果配置了拴系,则位置守护进程1401确定伴随设备是否在安全位置之外(1517)。如果伴随设备不在安全位置之外(例如,在安全位置内),则针对该场景不执行附加操作(1523)。如果伴随设备在安全位置之外,则位置守护进程1401可执行尝试连接(1514)到信标外围设备的操作。在该上下文下,安全位置可以是已被标识为用户的可信位置的位置。例如,用户可将用户的家或办公室或经常访问的位置指定为安全位置。在一些实施方案中,用户的电子设备可基于用户的日常活动来推断或确定某一位置是安全位置。在一个实施方案中,用户的电子设备可基于检测到的用户感兴趣位置来建议安全位置,这些感兴趣位置是用户经常访问的位置。
为了尝试连接,位置守护进程1401可调用连接外围设备功能(1543)以尝试与信标外围设备建立连接。蓝牙守护进程1427可响应于连接尝试而确定是否建立了连接(1545)。如果建立了连接,则可向位置守护进程1401发送“已连接”通知(1549)。如果未建立连接,则可向位置守护进程1401发送“未能连接”通知(1551)。如果在建立连接之后的任何时刻,蓝牙守护进程1427检测到连接已丢失,则蓝牙守护进程1427可向位置守护进程1401发送断开连接通知(1547)。
在位置守护进程1401处,响应于“未能连接”通知(1551)或断开连接通知(1547),位置守护进程1401可触发未能连接事件(1520)。然后,位置守护进程1401可发布信标外围设备的待审分离通知(1527)。发布待审分离通知可包括将信标外围设备的通知置于通知队列中。在尝试重新建立与信标外围设备的连接时,可推迟一段时间显示分离通知。如果不可重新建立连接,则可以在超时时间段之后经由用户界面显示待审通知。
一旦确定信标外围设备的拴系状态改变(例如,在连接、断开连接、重新连接或重新连接超时之后)。位置守护进程1401还可更新信标外围设备的拴系状态(1522)以指示信标外围设备在接近度外和/或断开连接。对拴系状态(1522)的更新可触发搜索守护进程1437内的拴系状态更新(1561)。在一个实施方案中,搜索守护进程1437可跟踪拴系状态,以确定伴随设备是否应主动扫描信标外围设备的信标标识符。
响应于断开连接通知(1547),位置守护进程1401可触发重新连接尝试(1516),这引起对连接外围设备功能的附加呼叫(1543)。当针对安全位置之外的信标外围设备检测到未连接或断开连接状态时,将分离通知置于待审状态而不是立即触发通知,并且伴随设备可通过将广告信标的扫描速率增加到快于正常扫描速率来开始积极地扫描信标外围设备。当信标外围设备检测到与伴随设备的连接丢失时,信标外围设备可通过将信标的广告速率增加到快于正常广告速率来开始积极地广播其信标广告。积极的扫描和广告可发生N秒,其中N可为例如十五秒。在一个实施方案中,可基于伴随设备的运动状态来调节N的值。如果可建立连接,则蓝牙守护进程1427将发送“已连接”通知(1549)。如果不可建立连接,则蓝牙守护进程1427将发送“未能连接”通知(1551)。
在位置守护进程1401处,响应于来自蓝牙守护进程1427的“已连接”通知(1549),可触发连接建立事件(1518),并且位置守护进程1401可执行操作(1519)以确定是否有针对信标外围设备的任何分离通知待审。如果有针对信标外围设备的任何分离通知待审,则位置守护进程可清除待审通知(1525)。在清除待审通知之后,位置守护进程1401可更新信标外围设备的拴系状态(1522),该拴系状态触发搜索守护进程1437中的附加拴系状态更新(1561),该附加拴系状态更新将信标外围设备记录为连接状态和/或接近状态。在一个实施方案中,更新的拴系状态可存储在数据库1565中。
动态连接间隔
在一个实施方案中,可能需要蓝牙守护进程1427同时与数量超过可用活动通信时隙的蓝牙设备通信。例如,如果蓝牙控制器1433支持最大M个活动数据传输,则连接到第M+1个设备可能需要暂时丢弃现有连接,然后重新获得连接。在一个实施方案中,动态连接间隔可用于经由蓝牙低功耗连接而拴系的信标外围设备。蓝牙低功耗连接是脉冲式连接,其中中央设备和外围设备的通信硬件在连接事件期间进行突发通信,在其他情况下空闲。连接间隔是指定连接事件之间的时间量的连接参数。
与信标速率和扫描速率一样,可动态地改变连接间隔。最初,默认的连接间隔可用于信标外围设备。当该区域中存在更大数量的外围设备时,可指定更长的连接间隔。在更长的连接间隔之间的时间段期间,可使用单个连接时隙来执行与多个信标外围设备的通信,从而允许与M+1个设备进行通信,尽管物理上仅支持M个活动连接。在一些情况下,可通过调节信标外围设备的从机延迟来进一步延长连接间隔。针对信标外围设备指定的从机延迟允许跳过至多指定数量的连接事件,从而增大伴随设备与信标外围设备之间的有效连接间隔。
在一个实施方案中,信标外围设备可支持临时断开连接以允许伴随设备参与与更大数量的设备的活动通信。在临时断开连接期间,伴随设备可向信标外围设备指示通信将终止一段时间,然后恢复。在临时断开连接时间段即将结束时,信标外围设备可开始积极地广告(例如,广告间隔小于100ms)以允许伴随设备重新获取信标外围设备。在信标间隔不支持临时断开连接的配置中,信标外围设备的积极广告时间段和重新连接超时可延长。在该配置中,信标外围设备可继续积极地广告并尝试与伴随设备重新连接长于默认N秒。在伴随设备上,除非伴随设备不可在延长的重新连接超时之后重新获取连接,否则将不在临时断开连接期间发布分离通知。
示例性用户界面
图16A至图16D示出了根据实施方案的呈现信标外围设备的分离通知的用户界面。在一个实施方案中,伴随设备1600诸如智能电话设备可与信标外围设备配对,并且可使用上文所示的系统与信标外围设备通信。
如图16A所示,伴随设备1600可基于与信标外围设备的连接状态和信标的通知设置来呈现分离通知。在一个实施方案中,伴随设备1600的用户界面可呈现界面元素1602,该界面元素在伴随设备1600的锁定屏幕1601上显示分离通知。如果伴随设备1600被解锁,则可经由伴随设备1600的标准通知系统呈现通知。
如图16B所示,当仍然在锁定屏幕1601上时,用户可与呈现分离通知的界面元素1602进行交互以调出地图视图1603。地图视图1603可呈现信标外围设备的位置图标1605。用于位置图标1605的特定图标可基于信标外围设备附接到的设备的指定而变化(例如,钥匙、包等)。位置图标1605可显示信标外围设备的最后观测位置。最后观测位置可以是伴随设备最后观测到的最后位置。最后观测位置也可以是由探测器设备针对信标外围设备观测到的最后位置,该探测器设备已将该位置上传到云服务器1470。在检测到信标外围设备断开连接时,伴随设备可查询云服务器1470内的设备定位器服务器(例如,设备定位器服务器203)以确定是否已针对信标外围设备上载位置。可使用由信标外围设备广播的信标标识符的散列来查询设备位置服务器。在信标标识符是滚动标识符的情况下,可查询外围设备的多个标识符。
地图视图1603还可呈现当前位置指示器1604。地图位置指示器1604示出了已针对伴随设备确定的位置。地图位置指示器1604可包括不确定性区域,随着伴随设备的位置确定变得更确定,该不确定性区域变窄。另外,可呈现界面元素1606以将当前位置添加到可信(例如,安全)位置的列表。当处于可信或安全位置中时,将不呈现信标外围设备的分离通知。
如图16C所示,用于伴随设备1600的配置软件可呈现用户界面,该用户界面允许用户利用信标外围设备执行操作并配置由信标外围设备提供的通知。在一个实施方案中,可呈现与地图视图1603类似但不一定相同的地图视图1613。可经由用户界面呈现关于信标标识符的信息。用户界面可呈现分配给信标标识符的名称1610(例如,Alan的钥匙)以及最后观测位置1612。最后观测位置还可显示最后观测发生的时间。在各种配置中,最后观测时间可以是绝对时间或相对时间。用户界面还可呈现允许用户在信标外围设备上播放声音的用户界面元素1614。可以为信标外围设备配置各种声音,从而允许不同附件播放不同声音以用于定位信标外围设备。还可显示用户界面元素1615,该用户界面元素在被选择时呈现指向信标附件的最后观测位置的方向。方向可被呈现为逐向导航方向,并且可启动地图绘制或导航应用程序。
在一个实施方案中,用户界面可呈现允许为信标外围设备配置通知的界面元素1616。通知配置可允许用户指定何时以及如何针对信标外围设备呈现通知。在一个实施方案中,用户界面可呈现允许为信标外围设备配置分离更新的界面元素1618。界面元素1618还可呈现分离通知的当前配置设置,以及是否已配置任何例外(例如,安全位置、可信位置等)。
如图16D所示,可在伴随设备1600上呈现用户界面以配置信标外围设备的分离通知(例如,分离更新)。用户界面可呈现界面元素1621,该界面元素允许启用或禁用信标外围设备的分离通知。用户界面可另外呈现界面元素1620、1622、1624,这些界面元素提供启用分离通知的例外的选项。针对建议的例外位置(例如,工作、家等)可呈现界面元素1620、1622,或者可呈现界面元素1624以允许用户手动添加位置。针对建议位置,可呈现可选界面元素1625,该可选界面元素允许用户将建议位置启用或禁用为安全位置。可基于经由伴随设备检测到的用户行为或使用可能已由用户明确指定的感兴趣位置(例如,工作、家、学校等)来建议位置。
在本文中对“一个实施方案”或“实施方案”的引用是指结合该实施方案描述的特定特征、结构或特性可以被包括在本发明的至少一个实施方案中。在本说明书中的各个位置出现短语“在一个实施方案中”不一定都是指同一个实施方案。随后的附图中描绘的过程可由处理逻辑执行,该处理逻辑包括硬件(例如,电路、专用逻辑)、软件(作为非暂态机器可读存储介质上的指令)或硬件和软件的组合。现在将详细地参考各种实施方案,这些实施方案的示例在附图中示出。在下面的详细描述中给出了许多具体细节,以便提供对本发明的彻底理解。但是,对本领域技术人员将显而易见的是,本发明可在没有这些具体细节的情况下被实施。在其他情况下,没有详细地描述众所周知的方法、过程、部件、电路和网络,从而不会不必要地使实施方案的各个方面晦涩难懂。
还将理解的是,虽然术语“第一”、“第二”等可能在本文中用于描述各种元素,但是这些元素不应当被这些术语限定。这些术语只是用于将一个元件与另一元件区分开。例如,第一接触可被命名为第二接触,并且类似地,第二接触可被命名为第一接触,而不脱离本发明的范围。第一接触和第二接触两者都是接触,但是它们不是同一接触。
本文中所使用的术语仅仅是为了描述特定实施方案并非旨在对所有实施方案进行限制。如本发明说明书和所附权利要求中所使用的那样,单数形式的“一个”(“a”、“an”)和“该”旨在也涵盖复数形式,除非上下文清楚地另有指示。还将理解的是,本文中所使用的术语“和/或”是指并且涵盖相关联地列出的项目中的一个或多个项目的任何和全部可能的组合。还将理解的是,术语“包括”(“comprises”和/或“comprising”)在本说明书中使用时是指定存在所陈述的特征、整数、步骤、操作、元件和/或部件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、部件,和/或其分组。
如本文中所用,根据上下文,术语“如果”可以被解释为意思是“当...时”或“在...时”或“响应于确定”或“响应于检测到”。类似地,根据上下文,短语“如果确定...”或“如果检测到[所陈述的条件或事件]”可被解释为是指“在确定...时”或“响应于确定...”或“在检测到[所陈述的条件或事件]时”或“响应于检测到[所陈述的条件或事件]”。
描述了计算设备、用于此类设备的用户界面、和用于使用此类设备的相关联的过程。在一些实施方案中,计算设备是还包含其他功能(诸如PDA和/或音乐播放器功能)的便携式通信设备,诸如移动电话。在本申请的描述和附图中,其中描述或示出了无线设备、无线附件或无线附件设备,除非另行指出,否则所描述或示出的属性通常可应用于能够广播无线信标的任何类型的无线设备、无线附件或无线附件设备。
在前面的说明中,已经描述了本公开的示例性实施方案。显而易见的是,在不脱离本公开的更广泛的实质和范围的情况下,可对其进行各种修改。相应地,说明书和附图被视为是例示性意义而不是限定性意义。所提供的描述和示例中的具体细节可用于一个或多个实施方案中的任何地方。不同实施方案或示例的各种特征可与所包括的一些特征和排除的其他特征不同地组合,以适应多种不同的应用。示例可包括主题,诸如方法,用于执行该方法的行为的装置,包括指令的至少一种机器可读介质,所述指令在由机器执行时使得机器执行该方法的行为,或者根据本文所述的实施方案和示例执行装置或系统的动作。另外,本文描述的各种部件可以是用于执行本文描述的操作或功能的装置。
本文所述的实施方案提供了用于允许显示无线附件诸如无线信标外围设备的分离通知的系统和方法。在该上下文中,无线信标外围设备是被配置为向其他电子设备传输消息、信标、广告或其他无线传输以使得其他电子设备能够定位该无线信标外围设备的无线设备。
在一个实施方案中,可以为信标外围设备指定安全位置,使得如果分离发生在被指定为该外围设备的安全位置的位置内,则将不呈现信标外围设备的分离通知。安全位置可以是已被标识为用户的可信位置的位置。例如,用户可将用户的家或办公室或经常访问的位置指定为安全位置。在一些实施方案中,用户的电子设备可基于用户的日常活动来推断或确定某一位置是安全位置。在一个实施方案中,可在处于安全位置时丢弃与信标外围设备的无线连接,以维持外围设备和伴随设备的电池寿命。
一个实施方案提供了存储指令的非暂态机器可读介质,这些指令使得电子设备的一个或多个处理器执行操作,这些操作包括:建立与信标外围设备的无线连接;监测该无线连接的连接状态;响应于检测到与该信标外围设备的连接丢失,向该电子设备的通知框架发布该信标外围设备的分离通知;在重新连接间隔期间推迟该通知的显示;在该重新连接间隔期间尝试与该信标外围设备重新连接;以及响应于未能与该信标外围设备重新连接而经由用户界面显示该分离通知。
一个实施方案提供了存储指令的非暂态机器可读介质,这些指令使得电子设备的一个或多个处理器执行操作,这些操作包括:建立与信标外围设备的无线连接;监测该无线连接的连接状态;响应于检测到与该信标外围设备的连接丢失而确定该电子设备的当前位置是否被指示为该信标外围设备的安全位置;以及响应于确定该电子设备的该当前位置是安全位置而抑制该信标外围设备的分离通知的显示。
通过前述描述,本领域的技术人员将会知道,这些实施方案的广泛技术可以多种形式来实现。因此,虽然已经结合实施方案的特定示例描述了实施方案,但是实施方案的真实范围不应被如此限制,因为在研究附图、说明书和以下权利要求书之后,其他修改对于技术人员而言将变得显而易见。

Claims (20)

1.一种存储指令的非暂态机器可读介质,所述指令用于使得电子设备的一个或多个处理器执行操作,所述操作包括:
建立与信标外围设备的无线连接;
监测所述无线连接的连接状态;
响应于检测到与所述信标外围设备的连接丢失,向所述电子设备的通知框架发布所述信标外围设备的分离通知;
在重新连接间隔期间推迟所述分离通知的显示;
在所述重新连接间隔期间尝试与所述信标外围设备重新连接;以及
响应于未能与所述信标外围设备重新连接而经由用户界面显示所述分离通知。
2.根据权利要求1所述的非暂态机器可读介质,其中所述分离通知包括所述信标外围设备的标识符,并且所述标识符是所述信标外围设备的用户分配的名称。
3.根据权利要求1所述的非暂态机器可读介质,其中与所述信标外围设备建立所述无线连接包括将所述信标外围设备与所述电子设备配对。
4.根据权利要求3所述的非暂态机器可读介质,其中所述无线连接是蓝牙连接。
5.根据权利要求1所述的非暂态机器可读介质,所述操作还包括响应于检测到与所述信标外围设备的连接丢失而增大所述电子设备上的无线控制器的无线扫描速率。
6.根据权利要求1所述的非暂态机器可读介质,所述操作还包括:
在所述重新连接间隔期间与所述信标外围设备重新连接;以及
清除所述信标外围设备的分离通知。
7.根据权利要求1所述的非暂态机器可读介质,所述操作还包括:
经由所述用户界面接收对所述分离通知的选择的指示;以及
响应于对所述分离通知的所述选择的所述指示而经由所述用户界面显示地图,其中所述地图包括对所述信标外围设备的观测位置的指示,其中对所述信标外围设备的所述观测位置的所述指示是对应于检测到所述信标外围设备的无线广告的位置。
8.根据权利要求7所述的非暂态机器可读介质,其中对所述信标外围设备的所述观测位置的所述指示是对应于所述电子设备检测到所述信标外围设备的所述无线广告的所述位置。
9.根据权利要求7所述的非暂态机器可读介质,其中对所述信标外围设备的所述观测位置的所述指示是对应于探测器电子设备检测到所述信标外围设备的所述无线广告的所述位置,所述探测器电子设备已将所述位置上传到设备定位器服务器。
10.根据权利要求9所述的非暂态机器可读介质,所述操作还包括:
在所述地图上显示对所述信标外围设备的所述观测位置的所述指示之前查询所述设备定位器服务器以获取所述信标外围设备的位置;
从所述设备定位器服务器接收所述信标外围设备的位置,其中所述位置经由与所述信标外围设备相关联的公钥而被加密;
使用与所述信标外围设备相关联的私钥解密所述信标外围设备的所述位置;
在所述地图上确定位置以显示对所述信标外围设备的所述观测位置的所述指示;以及
显示对所述信标外围设备的所述观测位置的所述指示。
11.根据权利要求10所述的非暂态机器可读介质,所述操作还包括基于无线连接到所述电子设备的外围设备的数量来调节所述信标外围设备的连接间隔。
12.一种存储指令的非暂态机器可读介质,所述指令用于使得电子设备的一个或多个处理器执行操作,所述操作包括:
建立与信标外围设备的无线连接;
监测所述无线连接的连接状态;
响应于检测到与所述信标外围设备的连接丢失而确定所述电子设备的当前位置是否被指示为所述信标外围设备的安全位置;以及
响应于确定所述电子设备的所述当前位置是安全位置而抑制所述信标外围设备的分离通知的显示。
13.根据权利要求12所述的非暂态机器可读介质,其中所述无线连接是蓝牙连接。
14.根据权利要求12所述的非暂态机器可读介质,所述操作还包括:
响应于确定所述电子设备的所述当前位置不是安全位置而在检测到与所述信标外围设备的连接丢失之后尝试与所述信标外围设备重新连接;以及
响应于未能与所述信标外围设备重新连接而经由用户界面显示所述分离通知。
15.根据权利要求14所述的非暂态机器可读介质,所述操作还包括呈现将所述电子设备的当前位置指定为安全位置的界面元素。
16.根据权利要求12所述的非暂态机器可读介质,所述操作还包括:
检测进入与所述信标外围设备的所述安全位置相关联的地理围栏;以及
请求与无线控制器相关联的守护进程断开与所述信标外围设备的所述无线连接。
17.根据权利要求16所述的非暂态机器可读介质,所述操作还包括:
检测从与所述安全位置相关联的地理围栏的退出;
请求与无线控制器相关联的守护进程重新建立到所述信标外围设备的所述无线连接;以及
响应于未能重新建立到所述信标外围设备的所述无线连接而经由用户界面显示所述分离通知。
18.一种由电子设备的一个或多个处理器执行的方法,所述方法包括:
建立与信标外围设备的无线连接;
监测所述无线连接的连接状态;
响应于检测到与所述信标外围设备的连接丢失,向所述电子设备的通知框架发布所述信标外围设备的分离通知;
在重新连接间隔期间推迟所述分离通知的显示;
在所述重新连接间隔期间尝试与所述信标外围设备重新连接;以及
响应于未能与所述信标外围设备重新连接而经由用户界面显示所述分离通知。
19.根据权利要求18所述的方法,其中所述分离通知包括所述信标外围设备的标识符。
20.根据权利要求18所述的方法,其中与所述信标外围设备建立所述无线连接包括将所述信标外围设备与所述电子设备配对。
CN202080028953.2A 2019-04-17 2020-04-15 无线附件的分离通知 Pending CN113796104A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201962835494P 2019-04-17 2019-04-17
US62/835,494 2019-04-17
US201962855976P 2019-06-01 2019-06-01
US62/855,976 2019-06-01
PCT/US2020/028329 WO2020214711A1 (en) 2019-04-17 2020-04-15 Separation notifications for wireless accessories

Publications (1)

Publication Number Publication Date
CN113796104A true CN113796104A (zh) 2021-12-14

Family

ID=70554224

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080028953.2A Pending CN113796104A (zh) 2019-04-17 2020-04-15 无线附件的分离通知

Country Status (4)

Country Link
US (1) US20220301410A1 (zh)
EP (1) EP3957087A1 (zh)
CN (1) CN113796104A (zh)
WO (1) WO2020214711A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11641563B2 (en) 2018-09-28 2023-05-02 Apple Inc. System and method for locating wireless accessories
US11863671B1 (en) 2019-04-17 2024-01-02 Apple Inc. Accessory assisted account recovery
US11889302B2 (en) 2020-08-28 2024-01-30 Apple Inc. Maintenance of wireless devices
CN112367612B (zh) * 2020-11-06 2023-03-24 歌尔科技有限公司 基于uwb的定位方法、uwb设备及定位系统
KR20220096725A (ko) * 2020-12-31 2022-07-07 삼성전자주식회사 액세서리 장치와 무선 통신을 수행하는 전자 장치 및 그 운용 방법
US20220358830A1 (en) * 2021-05-07 2022-11-10 Apple Inc. Separation Alerts for Notification While Traveling
CN115551074A (zh) * 2021-06-30 2022-12-30 华为技术有限公司 一种设备位置查找方法及系统
US11589189B2 (en) * 2021-07-13 2023-02-21 Mzmdtechnologies Inc. Method and system for determining the location of a tracking device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160164973A1 (en) * 2014-12-04 2016-06-09 Apple Inc. Master device for using connection attribute of electronic accessories connections to facilitate locating an accessory
US10022086B1 (en) * 2013-04-19 2018-07-17 Dp Technologies, Inc. Extended band system
WO2018156555A1 (en) * 2017-02-21 2018-08-30 Scorpion Security Products, Inc. Mobil device management system and method

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6292660B1 (en) * 1998-09-29 2001-09-18 Ericsson Inc. Adaptive site scanning based on fade base estimation
JP4757464B2 (ja) * 2004-08-18 2011-08-24 Necインフロンティア株式会社 無線lanシステム、無線lanアクセスポイント、無線lan端末及びそれらに用いる起動制御方法
EP2618604A4 (en) * 2010-09-17 2017-07-19 Fujitsu Limited Wireless communication system, relay station, terminal, and wireless communication method
US8681674B2 (en) * 2011-04-28 2014-03-25 Cubic Corporation Accelerated rejoining in low power wireless networking for logistics and transportation applications
US8983442B2 (en) * 2012-12-14 2015-03-17 Intel Corporation Techniques and apparatus to manage power in wireless device
US20160088143A1 (en) * 2014-09-24 2016-03-24 Intel Corporation Method, system and apparatus for graceful disconnection from a wireless docking station
JP6548445B2 (ja) * 2015-05-08 2019-07-24 キヤノン株式会社 通信装置、通信方法及びプログラム
CN108886681B (zh) * 2016-01-15 2022-05-17 皇家Kpn公司 用于注册无线设备和传送信息的系统和方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10022086B1 (en) * 2013-04-19 2018-07-17 Dp Technologies, Inc. Extended band system
US20160164973A1 (en) * 2014-12-04 2016-06-09 Apple Inc. Master device for using connection attribute of electronic accessories connections to facilitate locating an accessory
WO2018156555A1 (en) * 2017-02-21 2018-08-30 Scorpion Security Products, Inc. Mobil device management system and method

Also Published As

Publication number Publication date
US20220301410A1 (en) 2022-09-22
WO2020214711A1 (en) 2020-10-22
EP3957087A1 (en) 2022-02-23

Similar Documents

Publication Publication Date Title
CN110972070B (zh) 用于定位无线附件的系统和方法
US20220301410A1 (en) Separation notifications for wireless accessories
CN113796099A (zh) 使用增强现实寻找目标设备
EP4266710A1 (en) Location data harvesting and pruning for wireless accessory devices
CN113812175A (zh) 为无线附件共享密钥
US20230328515A1 (en) Maintenance of wireless devices
EP4099620A2 (en) Pairing groups of accessories
US20230379994A1 (en) Pairing Groups of Accessories
WO2022235807A1 (en) Separation alerts for notification while traveling

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: E. T. Edelman

Inventor after: E. Rand

Inventor after: M. C. RAST

Inventor after: S.G. Mo

Inventor after: M. N. paulin

Inventor after: M. K. Bonia

Inventor after: T. Rochette

Inventor after: S. B. shavitz

Inventor after: J. R. Schoenberg

Inventor after: C. Sell

Inventor after: N. D. shulunis

Inventor after: S. Hariri Haran

Inventor after: Y. L. Sierra

Inventor after: S.A. Miles

Inventor after: T. Taubert

Inventor after: B. M. Li dewina

Inventor after: S. Lopatine

Inventor after: R W Mel

Inventor after: K. C. Brugg

Inventor after: A. Derrick Cole

Inventor after: T. Ertan

Inventor after: J. F. frodig

Inventor before: E. T. Edelman

Inventor before: E. Rand

Inventor before: M. C. RAST

Inventor before: S.G. Mo

Inventor before: M. N. paulin

Inventor before: M. K. Bonia

Inventor before: T. Rochette

Inventor before: S. B. shavitz

Inventor before: J. R. Schoenberg

Inventor before: C. Sell

Inventor before: N. D. shulunis

Inventor before: S. Hariri Haran

Inventor before: Y. L. Sierra

Inventor before: B. M. Li dewina

Inventor before: S. Lopatine

Inventor before: R W Mel

Inventor before: K. C. Brugg

Inventor before: A. Derrick Cole

Inventor before: T. Ertan

Inventor before: J. F. frodig