掌桥专利:专业的专利平台
掌桥专利
首页

移动设备之间的测距

文献发布时间:2023-06-19 10:36:57


移动设备之间的测距

本申请要求2018年9月28日提交的名称为“移动设备之间的测距(RangingBetween Mobile Devices)”的美国临时申请第62/738915号的权益。本申请的公开内容以引用的方式全文并入本文。

背景技术

移动设备(例如,智能电话)可存储多种内容并且执行多种功能。用户通常无论走到哪里,都携带智能电话,并且使其随时可用。但是,在当今的紧张忙碌的世界,用户对此类移动设备有着日益增长的需求以使他们的生活更简便、更有成效。因此,期望在移动设备中提供改进的功能(例如,通信辅助和及时通知)。

发明内容

根据各种实施方案,移动设备可包括测距电路,该测距电路可确定移动设备之间的相对距离。例如,可使用在移动设备之间传输的超宽带(UWB)脉冲来执行飞行时间测量。测距可提供距离信息,该距离信息可用于确定另一个设备的相对位置,例如这两个设备之间的距离值和/或角度(取向)信息。测距功能可与另一个无线协议组合实现,该另一个无线协议可建立初始通信会话,例如以执行认证和/或交换测距设置。还可使用附加无线协议,例如以用于将内容从一个设备传输到另一个设备。

从测距获得的距离信息能够以多种方式使用。例如,距离信息可用于在将发送数据项的发送移动设备的屏幕上显示接收移动设备的相对位置。此类用户界面可允许用户快速准确地选择接收方设备,以用于向应用程序发送数据项,例如视频、音频或链接,正如可用于在应用程序中的特定位置(例如,页面)处切换应用程序。作为另一个示例,从测距获得的距离信息可用于触发从第一移动设备输出通知(例如,KILPATRICK TOWNSEND&STOCKTONLLP提醒)。作为又一个示例,例如如果对于两个认证的设备而言距离信息充分接近,则该距离信息可用于执行两个设备之间的共享会话。

根据一些实施方案,可使用接近度信息,该接近度信息可包括如使用无线通信确定的邻近设备的存在或距离信息。可检索属于用户设备的已知联系人的邻近设备的联系人信息,并且邻近设备的接近度可用于建议新通信(例如,新电子邮件或文本消息)的接收方。

下文将详细描述本公开的这些实施方案和其他实施方案。例如,其他实施方案涉及与本文所述的方法相关联的系统、设备和计算机可读介质。

通过参考以下具体实施方式和附图,可更好地理解本公开的实施方案的实质和优点。

附图说明

图1示出了根据本公开的实施方案的用于在两个移动设备之间执行测距测量的序列图。

图2示出了根据本公开的实施方案的涉及具有三个天线的移动设备的测距操作的序列图。

图3是根据本公开的实施方案的示出了由第一(发送)移动设备与第二(接收)移动设备执行涉及两种无线协议的测距操作的方法的流程图。

图4示出了根据本公开的实施方案的发送设备与接收设备之间涉及BLE和UWB协议的通信的序列图。

图5是根据本公开的实施方案的可操作以执行测距的移动设备的部件的框图。

图6示出了根据本公开的实施方案的移动设备使用测距来促进与另一设备共享数据项的示例性共享场景。

图7是根据本公开的实施方案的在发送移动设备与接收移动设备之间共享数据的方法700的流程图。

图8是根据本公开的实施方案的示出了使用三种无线协议来共享内容的示例性通信序列的序列图。

图9示出了根据本公开的实施方案的使用第一移动设备与第二移动设备之间的测距的第一移动设备的示例性通知。

图10是根据本公开的实施方案的使用测距操作来提供通知的方法的流程图。

图11A示出了响应于字符的用户输入而提供建议接收方列表的通信应用程序的屏幕截图。图11B示出了根据本公开的实施方案的在没有字符的用户输入的情况下响应于用户开始新消息而提供建议接收方列表的通信应用程序的屏幕截图。

图12是根据本公开的实施方案的使用与其他设备的接近度来建议用于通信的接收方的过程的序列图。

图13示出了根据本公开的实施方案的第一设备与其他设备执行测距以用于向通信应用程序建议接收方。

图14是根据本公开的实施方案示出了向用户提供通信接口的方法的流程图。

图15示出了根据本公开的实施方案的用于将来自一个设备的内容与另一个设备共享的技术。

图16是根据本公开的实施方案示出了用于在第一设备与第二移动设备之间通信的方法的流程图。

图17示出了根据本公开的实施方案的使用测距信息的示例性架构。

图18是根据本公开的实施方案的示例性设备的框图。

具体实施方式

移动设备可使用GPS或其他位置电路来确定该移动设备的位置。例如,地图应用程序可在地图上示出移动设备的大约位置。但是,此类用于确定位置的技术通常是相对于某个固定的外部参照系而不是可变参照系(例如,另一个移动设备)来确定的。

在一些实施方案中,移动设备可包括测距电路,该测距电路可确定移动设备与另一移动设备之间的相对距离。例如,可使用在移动设备之间传输的超宽带(UWB)脉冲来执行飞行时间测量。测距可提供距离信息,该距离信息可用于确定一个移动设备与另一个移动设备的相对位置。例如,相对位置可包括两个设备之间的距离值、角度(取向)信息或两者。

测距功能可与另一个无线协议组合实现,该另一个无线协议可建立初始通信会话,例如以执行认证和/或交换测距设置。还可使用附加无线协议,例如以用于将内容从一个设备传输到另一个设备。例如,可在已执行测距之后将视频或音频文件从一个设备传输到另一个设备。

可以以多种方式使用从测距获得的距离信息。例如,距离信息可用于在将发送数据项的发送移动设备的屏幕上显示接收移动设备的相对位置。此类用户界面可允许用户快速准确地选择接收方设备,以用于向应用程序发送数据项,例如视频、音频或链接,这可用于在应用程序中的特定位置(例如,页面)处切换应用程序。

作为另一个示例,从测距获得的距离信息可用于触发从第一移动设备输出通知(例如,提醒)。例如,第一移动设备的第一用户可能希望在第一用户接近具有第二移动设备的第二用户时收到提醒。测距能力可实现在适宜的时间(例如在这两个用户正在交谈时)提醒第一用户。通常,某人可能忘记提起一个问题(例如,收回贷款或工作项目上的问题)直到这两个用户已经彼此走开之后。使用从两个移动设备之间的测距获得的距离信息的此类提醒功能可解决这种问题。作为另一个示例,用户可能希望在两个设备之间的距离大于阈值时(例如在另一设备属于父母(其是第一设备的用户)的孩子时)发出通知(例如,警示)。

作为又一个示例,例如如果对于两个认证的设备而言距离信息充分接近,则距离信息可用于执行两个设备之间的共享会话。例如,用户可将第一移动设备放置成充分接近计算机并且潜在地处于特定取向(例如,在计算机的左侧面朝上)以便指示将来自第一移动设备的内容与计算机共享的期望。可例如在计算机上/来自计算机的指示符(诸如视觉指示符或音频指示符)的认证和用户选择之后传输该内容。

在一些实施方案中,可使用接近度信息,该接近度信息可包括如使用无线通信确定的邻近设备的存在或距离信息。联系人的设备在附近的存在可用于将该联系人提供为新通信(例如,电子邮件或文本消息)的建议接收方。

在一些实施方案中,一种移动设备可包括用于执行测距测量的电路。此类电路可包括一个或多个专用天线(例如,3个)和用于处理所测量的信号的电路。可使用脉冲在两个移动设备之间的飞行时间来执行测距测量。在一些具体实施中,往返时间(RTT)用于确定例如每个天线的距离信息。在其他具体实施中,可使用在一个方向上的单次行程时间。可使用超宽带(UWB)无线电技术来形成脉冲。

图1示出了根据本公开的实施方案的用于在两个移动设备之间执行测距测量的序列图。这两个移动设备可属于两个不同的用户。这两个用户可彼此认识,并且因此具有彼此的电话号码或其他标识符。如稍后更详细地描述,此类标识符可用于认证目的,例如,因此不使用未知设备执行测距。虽然图1示出了单次测量,但是可以重复该过程以在作为测距会话的一部分的时间间隔内执行多次测量,其中可以平均或以其他方式分析此类测量以提供例如每个天线的单个距离值。

移动设备110(例如,智能电话)可通过向移动设备120传输测距请求101来发起测距测量(操作)。测距请求101可以包括第一组一个或多个脉冲。可使用测距无线协议(例如,UWB)来执行测距测量。测距测量可以各种方式触发,例如,基于用户输入和/或使用另一无线协议(例如,蓝牙低功耗(BLE))的认证。

在T1处,移动设备110发送测距请求101。在T2处,移动设备120接收测距请求101。T2可以是当多个脉冲在第一组中时的平均接收时间。移动设备120可以基于先前的通信(例如,使用另一无线协议)在时间窗口内预期测距请求101。测距无线协议和另一无线协议可以同步,使得移动设备120可以在指定的时间窗口内打开一个或多个测距天线和相关联的电路,而不是使它们在整个测距会话中都打开。

响应于接收到测距请求101,移动设备120可以传输测距响应102。如图所示,测距响应102在时间T3(例如,一个脉冲的传输时间或一组脉冲的平均传输时间)处传输。T2和T3也可以是针对相应脉冲的一组时间。测距响应102可包括时间T2和T3,使得移动设备110可计算距离信息。另选地,可发送两个时间之间的差量(例如,T3-T2)。

在T4处,移动设备110可接收测距响应102。与其他时间一样,T4可以是单个时间值或一组时间值。

在103处,移动设备110计算距离信息130,该距离信息可具有各种单位,诸如距离单位(例如,米)或时间(例如,毫秒)。时间可等价于具有对应于光速的比例因子的距离。在一些实施方案中,可从总往返时间计算距离,该总往返时间可等于T2-T1+T4-T3。例如,当时间对应于脉冲组的时间组时以及当实施频率校正时,也可使用更复杂的计算。

在一些实施方案中,移动设备可具有多个天线,例如以执行三角测量。来自不同天线的单独测量值可用于确定二维(2D)位置,而不是可由移动设备周围的圆圈/球体上的任何位置产生的单个距离值。二维位置可用各种坐标(例如笛卡尔坐标或极坐标)指定,其中极坐标可包括角值和径向值。

图2示出了根据本公开的实施方案,涉及具有三个天线211-213的移动设备210的测距操作的序列图。天线211-213可被布置成具有不同的取向,例如,以限定用于执行测距测量的视场。

在图2的该示例中,天线211-213中的每个天线传输由移动设备220接收的分组(包括一个或多个脉冲)。这些分组可以是测距请求201的一部分。分组可各自在时间T1处传输,但在其他具体实施中它们可在不同时间传输。

在一些实施方案中,移动设备220自身可具有多个天线。在此类具体实施中,移动设备210的天线可将分组发送至移动设备220的特定天线(而不是广播),该特定天线可对该特定分组作出响应。移动设备220可在指定的天线处侦听,使得两个设备都知道涉及哪些天线,或者分组可指示消息针对哪个天线。例如,第一天线可对所接收的分组作出响应;并且一旦接收到响应,则可将另一个分组发送至不同的天线。这种另选过程需要花费更多的时间和功率。

测距请求201的三个分组分别在时间T2、T3和T4处接收。因此,移动设备220的一个或多个天线(例如UWB天线)可以基本上在相同时间侦听并且独立地响应。移动设备220提供测距响应202,其分别在时间T5、T6和T7处发送。移动设备210分别在时间T8、T9和T10处接收测距响应。

在203处,移动设备210的处理器214计算距离信息230,例如,如本文所述。处理器214可从天线并且更具体地从分析来自天线211-213的信号的电路(例如,UWB电路)接收时间。如稍后所述,处理器214可以是始终接通的处理器,其使用比可执行更一般功能的应用程序处理器更少的功率。距离信息230可用于确定移动设备220的2D或3D位置,其中此类位置可用于配置移动设备210的显示屏。例如,该位置可用于确定在何处显示对应于移动设备220的图标,例如在列表中的哪个位置、在2D网格中的哪个位置、或在1D、2D或3D距离/位置范围的哪个群集来显示图标。

在一些实施方案中,为了确定哪个测距响应来自哪个天线,移动设备220可例如在测距设置握手期间将要发送的响应消息的顺序通知移动设备210,测距设置握手可使用另一种无线协议发生。在其他实施方案中,测距响应可包括标识符,该标识符指示哪个天线发送消息。可在测距设置握手中协商这些标识符。

测距请求201和测距响应202中的消息可以在有效载荷中例如通过包括很少的脉冲来包括极少的数据。使用很少的脉冲可能是有利的。移动设备(可能在口袋中)的环境可能使得测量困难。又如,一个设备的天线可能面对与其他设备接近的方向不同的方向。因此,希望对每个脉冲使用较高的功率,但对于在指定时间窗口内可使用多少功率(例如,在1毫秒内平均),则有政府限制(以及电池问题)。这些消息中的分组帧的长度可大约为150微秒至180微秒。

用于测距的无线协议可以具有比用于测距设置的初始认证或通信的第一无线协议(例如,蓝牙)更窄的脉冲(例如,更窄的半峰全宽(FWHM))。在一些具体实施中,测距无线协议(例如,UWB)可提供5cm或更好的距离精确度。在各种实施方案中,频率范围可介于3.1GHz至10.6GHz之间。可使用多个信道,例如,一个信道在6.5GHz,另一个信道在8GHz。因此,在一些情况下,测距无线协议不与第一无线协议的频率范围重叠(例如2.4GHz到2.485GHz)。

测距无线协议可由IEEE 802.15.4指定,这是一种类型的UWB。基于脉冲的UWB系统中的每个脉冲可占据整个UWB带宽(例如,500MHz),从而允许脉冲在时间上局部化(即,时间上的窄宽度,例如,0.5纳秒至几纳秒)。就距离而言,对于500MHz宽的脉冲,脉冲可小于60cm宽,对于1.3GHz带宽的脉冲,脉冲可小于23cm。由于带宽如此宽并且实际空间中的宽度非常窄,因此可获得非常精确的飞行时间测量。

测距消息(也称为帧或分组)中的每一个可包括脉冲序列,该脉冲序列可表示被调制的信息。帧中的每个数据符号都可以是序列。分组可具有包括例如物理层和MAC层的标头信息的前导码,并且可包括目标地址。在一些具体实施中,分组帧可包括同步部分和开始帧定界符,该开始帧定界符可定时排队。

分组可包括如何配置安全性并包括加密的信息,例如,哪个天线发送分组的标识符。可将加密的信息用于另外的认证。不过,对于测距操作,可能不需要确定数据的内容。在一些实施方案中,特定数据片的脉冲的时间戳可用于跟踪传输和接收之间的差异。内容(例如,解密的内容)可以用于匹配脉冲,使得可以计算正确的时间差。在一些具体实施中,加密的信息可包括认证消息对应于哪个阶段的指示符,例如,测距请求201可对应于阶段1,测距响应202可对应于阶段2。当多于两个设备在彼此附近执行测距操作时,指示符的此类使用可能是有帮助的。

窄脉冲(例如,大约1ns的宽度)可用于精确地确定距离。高带宽(例如,500MHz的频谱)允许窄脉冲和精确的位置确定。脉冲的交叉相关可提供为脉冲宽度的一小部分的定时精确度,例如,提供在数百或几十皮秒内的精确度,这提供了亚米级的测距精确度。脉冲可在被接收器识别的某种模式下表示加1和减1的测距波形。距离测量可使用往返时间测量,也称为飞行时间测量。如上所述,移动设备可发送一组时间戳,这可消除在两个设备之间进行时钟同步的必要性。

如上所述,可使用两种无线协议。可使用第一无线协议(例如,BLE或其他蓝牙)来实现认证和设置阶段。可使用第二(测距)无线协议来执行测距测量。因此,移动设备(例如,电话、平板电脑或手表)和另一个移动设备之间的第一无线协议链路可用于认证,然后用于发起和控制用于测距和交换距离信息的第二无线协议(例如,UWB)。例如,第一无线协议可提供低功率框架以协商安全密钥、测距间隔以及通过UWB发起测距。

图3是根据本公开的实施方案的流程图,该流程图示出了由第一(发送)移动设备与第二(接收)移动设备执行涉及两种无线协议的测距操作的方法300。第一无线协议(例如,蓝牙)可用于认证,并且第二无线协议(例如,UWB)可用于测距测量。

在框310处,移动设备使用第一无线协议(例如,BLE)来传送通告。移动设备可以以特定速率传输通告,并且以特定速率扫描来自其他移动设备的通告。该通告可包括供每个移动设备彼此认证(例如确认它们已向第三方(诸如移动设备的制造商)注册)的授权标签。此类第三方(也称为认证服务器)可使用来自移动设备(或来自移动设备的用户)的标识符来生成认证标签并且提供给移动设备,然后移动设备可以以通告形式传输认证标签。作为一个示例,可使用散列函数来生成认证标签。

作为示例,作为认证标签或用于生成认证标签的标识符可包括标识地址(例如,媒体访问控制(MAC)地址)。例如,每个移动设备可使用唯一的48位地址。可周期性地更新认证标签。通告还可包括与认证标签相关联的ID(例如,以检索附加信息,诸如公共证书)和一个或多个命令(例如,以唤醒接收移动设备)。

在框320处,使用第一无线协议来认证移动设备。例如,接收移动设备可检测通告并且获得认证标签。可将认证标签与存储在移动设备上的认证标签列表(例如对应于联系人列表)进行比较。当移动设备添加联系人时,可从认证服务器获得对应认证标签。然后移动设备可检测通告何时包括已经存储在移动设备上的认证标签。在一些具体实施中,可将新认证标签发送到认证服务器以确认标识符和认证标签匹配。

响应于由接收移动设备进行的认证或一般呈通告模式的认证,接收移动设备还可发送包括认证标签的通告。在其他实施方案中,不执行认证。

作为使用第一无线协议的通信的一部分,可建立安全通信信道,使得可对消息进行加密。例如,通信可使得在两个设备上都保存共享密钥,其中共享密钥可用于移动设备之间的未来认证(例如,经由质询响应)和/或消息的加密。

在框330处,移动设备可使用第一无线协议来交换测距能力(设置)。测距能力的交换可确保两个设备以一致方式执行移动设备之间的信令。此类交换可允许移动设备适应新的设备,例如具有不同数量和类型的天线单元的设备。示例性测距能力可包括指定用于移动设备之间的测距消息的格式、要使用的频率范围、每个设备的天线单元数量,以及用于使用第二无线协议的测距消息的加密协议。

在框340处,可使用第一无线协议来发起测距。在一些具体实施中,可通过从发送移动设备发送的测距请求消息来开始发起。响应设备可利用开始通知事件(消息)作出响应。一旦发生开始通知事件,就可使用第二无线协议来执行测距,例如,通过在接收开始消息的指定时间内打开对应的无线电设备。第一无线协议和第二无线协议之间的此类协调可使这些设备同步,使得第二协议的天线不必一直接通,从而节省功率。

在框350处,可使用第二无线协议(例如,UWB)来执行测距。在使用第一无线协议发起信号之后,接收设备可使用对应于第二无线协议的一个或多个天线在指定时间开始扫描测距信号。一个或多个天线可接收一个或多个测距请求消息并发送一个或多个测距响应消息。

接收设备的电路可执行此类测距消息的各种处理级别,例如以确定时间戳。发送设备可接收测距响应消息并确定用于传输一个或多个测距请求消息的时间戳和用于一个或多个测距响应消息的时间戳,例如如图1和图2所示。发送设备可使用这些时间来确定移动设备之间的距离。该测距可执行一次、指定的次数或一直持续到处理停止测距请求。

移动设备可具有用于第一无线协议(例如,各种形式的蓝牙(BT),诸如BLE)的多个天线。BT可在从2.4GHZ至2.485GHz的ISM频带中使用短波长超高频(UHF)无线电波。第一无线协议的某些模式可在相对较长的范围内使用。例如,一个BT无线电设备可通过使用125kbps或500kbps的更低分组编码并通过增大最大传输功率(例如,增大到+20dBm)来增大通信范围。此类无线电设备可用于通告和数据分组,并且提供至多100米的范围,而不是仅可工作至多20米的低功率模式。

因此,如果用户正在接近以1.5米/秒的速率移动的其他移动设备,则100米的范围仍将提供足够的时间进行认证并协商测距参数,以及发送测距开始消息。当可能存在来自其他设备的干扰时,这种建立通信的额外时间可能是有利的,其本来可能会延迟移动设备的检测和测距的开始。

但是,这些分组的持续时间可为大约2至8倍,例如最多约16毫秒,这不会使得它们适于测距。一个微秒脉冲提供+/-300米的范围。并且,甚至常规的BT功率模式提供的脉冲也不适于测距。

图4示出了根据本公开的实施方案的发送设备410与接收设备420之间涉及BT和UWB协议的通信的序列图。移动设备可处于屏幕关闭状态或被用户正在使用。序列图的某些步骤可以是可选的。

在401处,发送设备410的BLE天线411传输通告信号,并且BLE天线421传输通告信号。这些设备可在指定占空比下广播通告信号,而不需要用户提供任何用户输入。如图所示,通告信号包括设备信息和认证标签。设备信息可对应于关于设备的信息,诸如设备的类型(例如,手表、平板电脑或电话)、设备的状态(例如,是否解锁或取向,诸如在手腕上或在口袋中)以及协议或其他软件的版本。这些设备还可以以某个占空比进行扫描。认证可作为401的一部分进行。

向认证服务器注册的每个设备可具有唯一认证标签。在各种实施方案中,认证标签可涉及公共密钥、证书和数字签名的使用。例如,设备可将某人的公共密钥存储在其联系人列表中,并且可使用公共密钥来认证来自发送设备的数字签名。在其他实施方案中,共享的密码密钥可用于加密和解密(或数字签名的生成和验证),而不是使用非对称的公共密钥和私有密钥。

在402处,在发送设备410处检测到事件。作为一个示例,该事件可为用户输入,例如共享数据的意图的指示。作为另一个示例,该事件可为来自接收设备的通告的检测(这由发送设备跟踪),例如以向发送设备的用户提供提醒。随后将提供关于此类示例的更多细节。

在403处,BLE天线411在更高的占空比下传输和扫描。增加的通告和扫描可以是两个设备彼此检测的发现过程的一部分,以便可以创建连接。例如,如果发送设备410检测到测距操作已被请求或可能被请求的输入,则增加的通告/扫描可使用第一无线协议来提供通信会话的更快建立。

在404处,发送设备410和接收设备420使用授权标签来认证另一设备。由这两个设备进行的认证可在不同时间或者相同或类似时间进行。该认证可在后续步骤之后进行,例如在已开始传输具有测距设置的通告(405)和测距请求消息(407)之后进行。此时,BLE连接可被视为在这两个设备之间创建。

在一些实施方案中,作为建立BLE连接的一部分,每个设备可获得用于执行加密(安全)通信的密钥。如果先前建立了连接,则可重用密钥。认证标签可用于检索所存储的密钥以便执行未来BLE消息的加密/解密。

在405处,BLE天线411传输包括动作命令(例如,请求测距的动作命令)和一个或多个测距设置的通告信号。通告还可包括认证标签。如图所示,测距设置包括速率、dt_tx和N。速率可指定时间(例如,对于默认传输/扫描速率而言为300ms,或对于增加的传输/扫描而言为30ms)并且N可指定倍数,从而提供每个测距请求消息之间的时间延迟。时间偏移dt_tx指定发送测距请求消息的通告信号之后的时间。这样,接收设备420知道何时应接通UWB天线422。这种通告信号可在发送设备410已执行认证之后并且潜在地在接收设备420确认已执行其认证之后发送。在一些实施方案中,通告中的动作命令可使得接收设备420的处理器被唤醒或至少使得UWB电路(或第一无线协议的另一电路)被初始化。

405中的通告可被视为测距设置握手的一部分。在一些实施方案中,接收设备420可向发送设备410发送确认收到测距设置或潜在地提议更改设置的消息。测距设置握手可包括两个设备的测距能力。可提供关于UWB天线的信息,因为不同设备可具有不同数量的UWB天线,或者设备可能只想接通一些。可首先进行粗略测距,在移动设备更近之后使用更多UWB接收器进行更精细的测距。可在测距操作之间提供其他设置/参数,例如作为软件或物理部件的动态决策或更新的一部分。

测距能力的其他示例包括多个天线、这些天线的位置(例如,天线之间的相对距离)、要使用多少天线、加密协议、分组格式、操作模式和受支持的频率范围。此类能力可反映任一设备的软件更新,从而导致新的或不同的能力。测距设置握手可包括关于如何执行测距的协商,诸如测距的频率或安排测距的方式(例如,当存在多个接收设备时——循环法、一次一个或其他选项)。发送设备可知道其连接到三个不同的设备,因此移动设备可能希望对每个设备进行较低速率的距离测量(例如,25毫秒)或安排特定时间/频率来与每个设备执行测距。可指定UWB无线电设备处于打开状态的占空比,例如,1KHz或10KHz。例如,当接收到开始消息时,设备可同意从405处的通告之后100毫秒(或90毫秒用于额外裕量)开始测距,之后每1KHz测距一次。

测距设置握手还可例如通过导出用于UWB测距的一组新会话密钥来管理UWB消息的加密。可以周期性地更新密钥,例如,对于每次会话或每第N次会话。在一些实施方案中,会话密钥可从用于认证的质询-响应中的公共共享密钥导出,其中导出使用默认或协商的过程。因此,测距设置握手可充当控制信道,以向接收设备通知关于测距的期望。测距设置握手消息可指定目标地址以免造成与任何其他附近设备的混淆。

在406处,接收设备420发起接通UWB天线422或多个UWB天线的动作。此类初始步骤可使一些电路作好准备,使得UWB天线422处于就绪状态,但潜在地未完全接通。这可能是接收设备420首次能够解码具有测距设置的通告信号。此类解码可在接收设备420能够由先前通告信号认证发送设备410之后进行。

在407处,发送设备410使用UWB天线412来发送测距请求消息。在405中的通告信号之后dt_tx毫秒发送测距请求消息。接收设备420知道该定时偏移,因此可在已在405中检测到通告之后的时间窗口内接通UWB天线422。其他测距请求消息可能先前已发送而未被接收设备420检测到。为了便于说明,仅示出一个测距请求消息。其他通告也可在405之前发送,但未被接收设备420检测到。测距请求消息可指定接收设备420的目标地址,这可允许其他附近设备响应于测距请求消息。

在408处,接收设备420使用UWB天线422来发送测距响应消息。该测距响应消息可包括如针对图1和图2描述的时间。

在409处,发送设备410使用发送测距请求消息的时间、测距响应消息中的时间和接收测距响应消息的时间来确定距离信息。本文例如针对图1和图2描述了用于确定距离信息的示例性技术。

在一些实施方案中,可确定频率校正。例如,接收振荡器(时钟)相对于发送振荡器的频率偏移可允许在相当准确的范围内确定距离,例如下至约20、30或40cm。就使用频率偏移而言,发送设备可广播其时钟正以特定速率例如在特定信道(诸如5或9)上运行。所得的频率误差可用于校正时钟之间的相对时钟漂移率,这可提高精确度。其他构想可使用附加消息来进一步提高测距测量的精确度,例如如美国专利公布2019/0135229中所述,该专利全文并入以用于所有目的。

可执行进一步的测距。例如,可确定超过一个距离,该超过一个距离可用于确定轨迹,确定更大精确度,或确认这两个设备在彼此的稳定接近度内(例如,估计这两个用户正彼此交互,如可能在会议或对话期间出现的)。此类关于稳定接近度的信息可用于触发提醒。

测距服务消息格式的示例性格式可提供指示消息类型的代码(例如,一个八位元长)。长度字段(例如,两个八位元长)可以八位元为单位指示消息的数据字段的大小,该数据字段可不包括代码和长度字段。数据字段的长度可变化。因此,代码字段可确定数据字段的格式,而长度字段可指示数据字段的长度。

可在每次连接开始时发起测距设置(能力)握手以交换移动设备上的UWB设备的状态。测距能力请求消息可具有特定的ID代码(例如,1)。此消息的一些示例性参数包括支持的特征掩码、必需的特征掩码、软件版本、链路标识符、UWB无线电设备的数量以及UWB设备描述符。

软件版本参数可以指示在发起方设备上运行的当前测距软件版本。链路标识符可以是允许响应方将所接收的UWB分组匹配到与发起方的BT连接的随机数。因此,链路标识符可包括在UWB消息中。

移动设备可保持两个特征掩码:支持的特征掩码和必需的特征掩码。支持的特征掩码可以指示受支持的特征。特征掩码参数可以是所有特征的位掩码。对于每个特征,可以指定单个位,例如,如果支持该特征,那么设定为1,否则设定为0。示例性特征是安全测距、1对1测距(例如,1个设备对1个设备)和1对多测距。必需的特征掩码可以指示必需的特征。例如,对安全测距和1:1测距的支持能够是强制性的。

UWB设备描述符可针对每个可用的UWB天线设备(例如,天线或具有不止一个天线的节点)具有一个条目。特征请求消息可针对发起设备上的每个UWB设备具有一个UWB设备描述符条目。UWB天线设备中的每一个可通过具有以下参数的UWB设备描述符来表征:固件版本——当前UWB固件的版本;硬件版本——当前UWB硬件的版本;制造商名称——UWB制造商的名称。可用的UWB设备数量可以是特定测距会话特有的。链路标识符可将BT链路映射至UWB分组。

测距能力响应消息可类似于测距能力请求消息。可指定响应方来发送该消息。如果响应方不支持测距能力请求消息的必需特征中列出的任何特征,那么响应方可以利用带有“特征不受支持”错误代码的附加测距命令完成消息来作出响应。测距能力响应消息可包括以下参数:受支持的特征、软件版本、UWB设备的数量和UWB设备描述符。

图5是根据本公开的实施方案的可操作为执行测距的移动设备500的部件的框图。移动设备500包括用于如上所述至少两种不同无线协议的天线。第一无线协议(例如,蓝牙)可用于认证和交换测距设置。第二无线协议(例如,UWB)可用于与另一个移动设备执行测距。

如图所示,移动设备500包括用于执行测距的UWB天线510。UWB天线510连接到UWB电路515,该电路用于分析来自UWB天线510的检测到的信号。在一些实施方案中,移动设备500包括三个或更多个UWB天线,例如用于执行三角测量。不同UWB天线可具有不同取向,例如其中两个天线处于一个方向并且第三个天线处于另一个方向。UWB天线的取向可以限定用于测距的视场。作为一个示例,视场可跨越120度。此类规定可允许确定用户正相对于一个或多个其他附近设备向哪个方向指向设备。视场可包括俯仰角、偏航角或滚转角中的任何一者或多者。

UWB电路515可以与始终接通的处理器(AOP)530通信,该处理器可以使用来自UWB消息的信息来执行进一步处理。例如,AOP 530可使用UWB电路515提供的定时数据执行测距计算。AOP 530和设备的其他电路可包括专用电路和/或可配置电路,例如经由固件或其他软件。

如图所示,移动设备500还包括用于与其他设备传送数据的BT/WiFi天线520。BT/WiFi天线520连接到BT/WiFi电路525,该电路用于分析来自BT/WiFi天线520的检测到的信号。例如,BT/WiFi电路525可解析消息以获得数据(例如,认证标签),可将该数据发送到AOP530上。在一些实施方案中,AOP 530可使用认证标签来执行认证。因此,AOP 530可存储或检索要将所接收的标签与之进行比较的认证标签列表,作为认证过程的一部分。在一些具体实施中,此类功能可由BT/WiFi电路525实现。

在其他实施方案中,UWB电路515和BT/WiFi电路525可以另选地或除此之外连接到应用处理器540,该应用处理器可以执行与AOP 530类似的功能。应用处理器540通常需要比AOP 530更多的功率,因此可通过由AOP 530处理某些功能来节省功率,使得应用处理器540可保持在睡眠状态,例如断开状态。例如,应用处理器540可用于使用BT/WiFi来传送音频或视频,而AOP 530可协调此类内容的传输以及UWB电路515和BT/WiFi电路525之间的通信。例如,AOP 530可以相对于BT通告协调UWB消息的定时。

由AOP 530进行的协调可具有各种益处。例如,发送设备的第一用户可能希望与另一个用户共享内容,因此与该另一用户的接收设备的测距可能是期望的。但如果许多人在同一房间内,则发送设备可能需要在该房间内的多个设备间区分特定设备,并且潜在地确定发送设备正指向哪个设备。此类功能可由AOP 530提供。另外,不期望唤醒该房间内的每个其他设备的应用处理器,因此其他设备的AOP可执行消息的一些处理并且确定目标地址用于不同设备。

为了执行测距,BT/WiFi电路525可分析来自另一设备的通告信号,以确定该另一设备想要执行测距,例如,作为用于共享内容的过程的一部分。BT/WiFi电路525可将该通知传送至AOP 530,该AOP可将UWB电路515调度为准备好检测来自另一设备的UWB消息。

对于发起测距的设备,其AOP可执行测距计算。此外,AOP可以监测另一设备之间的距离的变化。例如,AOP 530能够将该距离与阈值进行比较,并且当该距离超过阈值时提供警示,或者当两个设备变得足够接近时潜在地提供提醒。前者的示例可能是父母期望在孩子(很可能还有孩子的设备)离得太远时收到警示的情形。后者的示例可能是某人期望在与另一设备的用户交谈时提醒其提起某事的情形。由AOP进行的此类监测可减少应用处理器的功率消耗。

一个移动设备的用户可能想要向另一个用户共享数据(例如,视频或音频文件)。用户可将文件附加到电子邮件并发送,但这可能较缓慢并且会使数据暴露于网络。因此,可能有利的是例如使用蓝牙或WiFi直连(也称为对等模式或自组织(ad-hoc)模式)或至少仅通过本地接入点/路由器将数据直接发送到另一设备。例如,用户的设备可检测其他附近设备并将它们显示为用于共享数据的选项。

当附近存在多个设备时,以这种方式共享数据可能是有问题的。例如,如果两个人(即,发送者和接收者)在人群中,发现过程可识别多个设备。如果多个设备都显示为选项,则其图标可能难以显示在单个屏幕上,从而给期望快速选择朋友的设备的用户造成困扰。可以仅显示在发送设备的联系人列表中出现的其他设备的图标。这可限制显示为用于发送数据的选项的设备的数量。但是,这种要求可限制与新人共享数据的能力。并且,处于联系人列表中的要求并未解决用户身处许多朋友、同事等之中的情形,其中的所有或许多人都在联系人列表中。实施方案可使用测距来促进该过程。

图6示出了根据本公开的实施方案的移动设备使用测距来促进与另一设备共享数据项的示例性共享场景。数据项可以是各种事物,例如联系人、音频文件、图像、视频文件、指向安装在两个设备上的应用程序中的位置的深层链接等。共享会话可由用户610使用发送设备615发起。

用户610能够以各种方式在发送设备615上发起共享会话。例如,用户610可选择数据项,然后选择共享选项(例如,GUI上的按钮)以共享数据项。选择共享选项能够开始共享过程,例如如图1至图4所述。

可从这些设备发送通告并且将其用于认证。发送设备615可认证设备625、635和645中的每个设备。一旦被认证,发送设备615就可与这些设备中的每个设备执行测距操作,后者可用测距信息进行响应,如图所示。

发送设备615可使用范围信息来确定距离信息,例如其他设备的相对位置。例如,如果发送设备615包括多个天线(例如,3个),则发送设备615可确定这些设备中的每个设备相对于发送设备615在2D网格上的位置。作为另一个示例,发送设备615可确定到这些设备中的每个设备的单个距离值,其中设备可在列表中按该距离排序。发送设备615可使用距离信息来配置在发送设备615的屏幕上的显示。例如,该位置可用于确定在何处显示对应于移动设备220的图标,例如在列表中的哪个位置、在2D网格中的哪个位置、或在1D、2D或3D距离/位置范围的哪个群集来显示图标。

用户610可选择哪个设备发送数据项。如图所示,选择设备635。该选择可以各种方式进行,例如,通过触摸表示接收设备635的图标,该图标可以是用户630的图片。在其他实施方案中,用户610可将发送设备615指向接收设备635处以实现选择。例如,可自动选择沿从发送设备指向的中心轴的设备作为数据项的接收方。这样,用户610可容易地看到可用设备并选择期望的设备。

在一些实施方案中,用户可控制哪些其他设备可以发现它们并执行测距,或者设备是否将允许共享。例如,用户可将此类操作限制于联系人列表中的那些操作或联系人列表中的那些操作的子集。并且,如本文所述,可在不用明文提供私有信息的情况下进行认证,例如可对任何此类私有数据进行加密或以其他方式进行混淆。例如,可将标识符的散列用作第一认证标签,或可使用公共证书和/或数字签名。例如,认证服务器可发布散列、数字签名、公共证书等,使得设备可使认证标签与先前已遇到(例如,在联系人列表中)的设备匹配或至少知道该设备已由认证服务器注册和/或认证。认证服务器可为联系人列表中的每个设备提供认证标签。作为另一个示例,此类认证标签(例如,散列)可由第一设备(例如,在注册时)生成并发送到认证服务器,该认证服务器可将这些认证标签分发到其联系人列表中具有第一设备或相关标识符的其他设备。

图7是根据本公开的实施方案的在发送移动设备与接收移动设备之间共享数据的方法700的流程图。方法700可用于确定其他设备与发送移动设备的空间关系,并且使用该空间关系促进用户选择一个或多个设备来共享数据项。方法700可由充当发送设备的任何设备执行。

在框705处,发送移动设备将数据项存储在存储器中。数据项可为任何类型,本文提供了其一些示例。例如,数据项可为以任何合适的文件格式存储的图片或其他图像、视频或文本文件(例如,联系人信息、至网页的链接、至应用程序的链接、GPS坐标等)。数据项可存储在存储器(例如,RAM、闪存存储器、硬盘驱动器等)的各种位置中。

在框710处,发送移动设备的用户界面接收指示共享会话的用户输入。用户输入可变化。例如,用户可选择屏幕上与数据项相对应的共享按钮。作为另一个示例,用户可提供语音命令,诸如“共享项目”或“发送项目”。用户界面可采取各种形式,例如,与不同用户相对应的图标可放置在屏幕上的不同位置上。这些位置可根据接收移动设备与发送移动设备(例如,相对于发送移动设备的指向方向)的相对位置而变化。例如,位置可以以与发送移动设备相对应的圆周围的点示出。

在框715处,发送移动设备经由第一无线协议传输(例如,广播)包括发送移动设备的第一认证标签的通告信号。发送移动设备可发起通信,或接收移动设备可发起通信。因此,由发送移动设备发送的通告信号可响应于来自接收移动设备的信号(消息)。例如,发送移动设备可检测邻近设备,存储其信息(例如,联系人信息),然后在用户输入指示共享会话之后传输第一认证标签。本文提供了认证标签的示例,例如唯一标识符、散列、共享密钥、数字签名、公共证书或密码密钥,诸如由两个设备使用的公共密钥或共享密钥。第一无线协议的示例包括蓝牙和Wi-Fi。

在框720处,经由第一无线协议从接收移动设备接收接收移动设备的第二认证标签。第二认证标签可为与第一认证标签类似的类型,但可不同。可响应于在框715处发送的通告信号而接收第二认证标签。在另一个具体实施中,可在框715之前接收第二认证标签,例如如上所述。还相对于图3和图4描述了用于认证的示例性技术。

在框725处,使用第二认证标签来认证接收移动设备。类似地,接收移动设备可使用第一认证标签来认证发送移动设备。认证过程可以以各种方式执行。例如,认证标签可为有效载荷的一部分的数字签名,该有效载荷可与该认证标签一起接收。然后,可使用公共密钥解密数字签名以与有效载荷相匹配。作为另一个示例,设备可将认证标签与用户/设备标识符(其可包括在消息的有效载荷中)联合存储,并且可将所接收的认证标签与对应于所接收的用户/设备标识符的所存储的认证标签进行比较。本文提供了认证的其他示例。

在框730处,使用第一无线协议来与接收移动设备传送一个或多个测距设置,以便使用第二无线协议执行测距操作。示例性测距设置可包括测距要被执行的指示符、测距信号和/或请求消息的速率(例如,传输速率)、时间偏移、测距信号与测距请求消息之间的延迟以及用于时间延迟的倍数。示例性第二无线协议是UWB。此类测距设置可由模板号指定,该模板号例如指定已经存储在另一设备处的测距设置索引集的ID号。一旦接收到测距设置,就可执行测距操作。

在框735处,使用第二无线协议根据一个或多个测距设置将测距请求消息中的第一组一个或多个脉冲传输到接收移动设备。作为示例,可如图1至图4中所述的那样执行测距操作。第二无线协议可使用小于第一无线协议所使用的脉冲宽度的脉冲宽度,例如可使用UWB。

在框740处,发送移动设备使用第二无线协议从接收移动设备接收一个或多个测距响应消息中的第二组一个或多个脉冲。第二组脉冲可对应于图1、图2和图4及对应描述中的测距响应。响应消息可包括信息,例如任何定时信息,诸如可作为延迟时间提供的第一组脉冲的接收时间和第二组脉冲的传输时间。

在框745处,确定与第一组一个或多个脉冲的一个或多个传输时间和第二组一个或多个脉冲的一个或多个接收时间相对应的距离信息。距离信息可具有各种单位,诸如距离单位(例如,米)或时间(例如,毫秒),如本文所述。距离信息可包括例如通过使用三角测量得出的径向和角度信息。

在框750处,发送移动设备经由用户界面来接收对接收移动设备的选择以共享数据项。用户界面可包括各种模式,例如音频干扰、手势界面、触摸界面等。可根据距离信息来进行该选择。例如,可基于如使用距离信息确定的发送移动设备和接收移动设备的取向来确定对接收移动设备的选择。可以根据可使用来自多个天线的测量值确定的两个设备的2D或3D相对位置来确定此类取向。

在另一个示例中,发送设备的屏幕可显示与接收移动设备相对应的图标。该图标可基于距离信息显示在屏幕上的位置处。例如,可使用该位置来确定要在何处显示与移动设备220相对应的图标。该位置可为列表(例如,按距离排序)中的顺序。该位置可在2D网格上,例如其中横向位置使用来自多个天线的定时来确定。作为另一个示例,可例如基于一维距离值(类似于列表但具有在一个范围内的一组设备)或要显示该图标的2D/3D位置范围来聚集不同设备的位置。可例如通过用户轻敲图标来在屏幕上的该图标处接收对接收移动设备的选择。

在一些具体实施中,可通过以下方式在屏幕上的该位置处显示该图标:将距离信息的距离与阈值进行比较并且在该距离小于该阈值时显示该图标。这样,可仅显示充分接近的设备。这种阈值可为用户定义的或默认的。阈值可取决于其他设置,例如在发送设备的联系人列表中。

在其他具体实施中,可通过以下方式在屏幕上的该位置处显示该图标:使用距离信息来确定接收移动设备相对于发送移动设备的物理位置(例如,2D或3D位置)。因此,可基于物理位置的坐标来在网格(例如,像素网格)上显示物理位置。因此,该位置可对应于屏幕上的二维坐标。在另一个示例中,该位置可选自一组位置,例如预先分配或已经确定的列表或群集中的预先确定的位置。因此,物理位置可包括距离,其中该位置是多个移动设备的列表中的位置,每个移动设备具有相关联的距离。该列表可按距离排序。

在框760处,响应于对接收移动设备的选择而传输数据项。可经由第三无线协议或第一无线协议来传输数据项。作为示例,第一无线协议可为蓝牙低功耗,第二无线协议可为超宽带(UWB),并且可使用Wi-Fi来传输数据项。数据项的传输也可响应于其他动作。例如,用户可在指定数据项之前识别接收移动设备。因此,可在选择数据项后发送数据项,同时仍响应于对接收移动设备的选择。

可存在一个或多个更高安全级别,例如如由所共享的数据的类型决定的。例如,共享关于某人的信息(例如,移动设备中的联系人的电话号码或地址)可能有必要有更高安全级别。这两个设备之间的加密测距会话可确认这两个设备接近。共享密钥可用于互相关以从测距消息得到适当信息(例如,相同波形)。

当这些设备未事先通信时,使用加密密钥可较难。在两个新设备之间建立安全连接可使用Diffie-Hellman密钥交换(例如,如在TLS(传输层安全性)中),但这种过程可需要网络接入且很耗时,并且不适合与UWB一起使用。相反,可由一个设备提供pin码并将其输入在另一设备处。这种pin码可在文本中,嵌入在音频中,或在由一个设备输出并由另一设备捕获的图像或视频中。但是,这种额外步骤可使用户感到麻烦。

一些实施方案可使用存储在电路中(例如,在UWB电路中)的标识符。因此,芯片可与特定移动设备相关联。可共享或在设备上存储服务器侧证书。BLE通信可使用这些证书来确定该设备已由服务器认证。然后,如果测距确认这些设备接近,则可例如使用加密技术(诸如公共密钥加密或Diffie-Hellman)来共享数据。

内容的共享可使用三种不同无线协议,例如如上所述。第一无线协议(例如,BLE)可用于认证和共享测距设置。第二无线协议(例如,UWB)可用于执行测距操作以获得从发送移动设备到其他移动设备的距离信息。第三无线协议(例如,Wi-Fi或蓝牙)可用于将数据项从发送移动设备传输到接收移动设备,该接收移动设备已被选择为接收该数据项。一些实施方案可针对这些无线协议中的每一者来协调电路。此外,电路可响应于其他动作(例如,发起共享会话的用户动作)而操作。

图8是根据本公开的实施方案的示出了使用三种无线协议来共享内容的示例性通信序列的序列图。图8中的序列图的各方面可以以与图4中的序列图类似的方式执行。该通信涉及发送设备810和接收设备820。这些设备可始终使用第一无线协议(例如,BLE)来(潜在地以不同速率)通告和扫描。此类通告和扫描的占空比可根据这些设备的状态例如这些设备是否正被活跃地使用(这可相当于让背光接通)而变化。

发送设备810包括BLE电路811、UWB电路812和Wi-Fi电路813。接收设备820包括BLE电路821、UWB电路822和Wi-Fi电路823。设备的不同电路之间的通信可由处理器例如图5中的一个或多个处理器(诸如AOP 530)协调。

在801处,用户发起发送设备810上的共享会话。本文描述了发起共享会话的示例性方式,例如通过选择为数据项显示的选项。响应于该发起,可启动发送设备810的通信电路的服务。例如,可启动或更改BLE、UWB和Wi-Fi服务。对于BLE而言,可使用更高扫描速率。增加的速率可提供快速发现,例如在某人走进房间时。UWB电路812和Wi-Fi电路813可处于任何先前状态,例如断开、空闲或活动。

在802处,这两个设备使用由这两个设备传输和扫描的通告信号中提供的认证标签来彼此认证。相对于图3和图4描述了用于该认证的示例性技术。

在803处,由BLE电路811传输测距信号以向接收设备820通知执行测距操作的期望或要进入共享模式,这也可包括执行测距操作。BLE测距信号可类似于图4的405处描述的通告并且可包括BLE与UWB信号或其他测距设置之间的调度(定时)信息。因此,BLE测距信号可包括测距信号的传输速率(例如,X ms)、测距请求消息的传输速率(例如,N*X ms)、测距要被执行的指示符(例如,通过包括指示测距动作的特定标志/命令)以及BLE测距信号与UWB测距请求消息之间的延迟(例如,Dt_tx)。N可为在传输测距消息之前的BLE间隔的数量,从而指定与BLE通告速率的比率。

在804处,测距信号中指示的动作使得UWB电路822被唤醒。Wi-Fi电路823也可作为响应而被唤醒。该动作(也称为附近动作)可具有对于唤醒该电路而言被设定为“真”的标志。此外,UWB电路822可在预期到达时间扫描,例如t_arrival=t_rx_BLE+dt_tx(+/-裕量)。此外,响应于测距信号,Wi-Fi电路823可启动发现过程,例如邻居感知联网(NAN)。可在测距信号指示发送设备810期望共享模式时执行Wi-Fi电路823的这种预备。参考图5,可在认证另一设备时接通应用处理器540,并且应用处理器540可接通Wi-Fi电路823。在一些实施方案中,Wi-Fi电路可用于从不在联系人列表中的其他设备获得标识。

在805处,UWB电路812在相对于BLE测距信号的Dt_tx ms延迟之后传输测距请求消息。UWB电路822未检测到该测距请求消息,例如由于因尚未检测到或刚刚检测到测距信号而尚未对该UWB电路完全通电。

在806处,Wi-Fi电路813例如使用NAN来传输服务发现信号。一旦这两个Wi-Fi电路建立连接,用户界面(例如,显示屏上的GUI)就可示出与接收设备820相对应的图标。

在807处,UWB电路812传输另一个测距请求消息。UWB电路822检测到该测距请求消息。测距请求消息可与针对图1至图4所描述的那些类似。

在808处,UWB电路822传输测距响应消息。测距响应消息可与针对图1至图4所描述的那些类似。该测距可为非安全或加密的,其中可逐一地使用加密。可在不指定目标地址的情况下按组播形式发送测距请求消息。但是,测距请求消息可指定源地址,可将该源地址与由BLE通信确定的源地址进行匹配(例如,如使用图5的AOP 530进行匹配)。接收设备可跨BLE和UWB将不同消息中的地址绑定在一起,使得可使用适当的目标地址。并且,UWB电路822或其他电路可识别在其具有与当前测距操作相对应的源地址时请求消息需要响应。

当使用组播来与多个设备通信时,其他设备可在响应消息的帧中选择随机时隙来减少冲突。否则,发送设备可能同时从多个设备接收响应消息,例如如果它们全都选择相同时隙的话。可例如在803处使用第一无线协议或在另一个通信中使用第一无线协议或第二无线协议来指定帧中的时隙总数,使得可选择随机时隙而不用担心超过总数。在其他实施方案中,可在某些时隙内调度设备。例如,可将经由BLE(或其他第一无线协议)作出响应的第一设备或具有最高信号强度(例如,RSSI)的设备分配给第一时隙,以此类推。

在809处,发送设备810使用测距消息来确定距离信息。可如本文所述的那样确定距离信息。

在810处,发送设备810的用户界面可显示与接收设备820相对应的图标以及距离和潜在地角度(例如,在使用多个UWB天线时)。在一些实施方案中,如果发送设备810直接指向接收设备820,则可在发送设备810的屏幕的中心显示表示接收设备820(或等同地该设备的用户)的图标。在其他实施方案中,可提供设备群集列表,其中该群集可区分各组设备之间的角取向或仅按距离区分各组设备。

发送设备810的图标可处于屏幕的底部,或一些其他标记可用于指示设备位置与发送设备810的屏幕上的特定点(例如,底部中心)有关。向上并向右和向左延伸的线(例如,雷达状视图)可提供发送设备的这种指示。可在屏幕上的默认位置中示出没有测距能力的可用设备。

在811处,发送设备810的用户例如通过轻敲接收方图标、通过音频命令、通过将发送设备810直接指向接收设备820、或通过看着用户(例如,如果电话具有面部成像能力)来选择接收设备820。可通过沿发送设备810的屏幕的中心划一条线来引导用户指向该设备,由此促进使用发送设备810的取向进行的选择的确定。通过提供相对位置,用户可转向期望的接收方(及因此其设备),并且该设备将出现在屏幕上的方便位置中以供用户选择。

在812处,使用Wi-Fi电路813执行数据项(例如,作为文件)的传输。可在待传输的数据相对较小时使用其他协议(例如,蓝牙)传输数据。可由发送设备810提供成功传输的指示。

高速率下的发现(扫描和通告)及测距的过程可一直持续到共享会话结束。例如,发送设备810的用户可退出共享模式。在退出时,测距可停止并且UWB电路可进入低功率状态,例如断开或休眠。Wi-Fi电路也可进入降低功率状态,例如断开或休眠中。

测距操作可用于除共享内容之外的其他目的。例如,第一设备可基于离指定(第二)设备的距离来向第一设备的第一用户提供通知(例如,提醒)。这种提醒在提醒涉及第二设备的第二用户时可为有用的。因此,在第一用户在第二用户附近(例如,与第二用户交谈)时接收提醒将是方便的。作为另一个示例,可能期望在距离大于阈值时(例如在另一设备属于父母(其是第一设备的用户)的孩子时)发出通知。测距能力可使得能够在适宜的时间提醒第一用户,其中第一用户原本可能忘记例如收回贷款或工作项目上的问题。

图9示出了根据本公开的实施方案的使用第一移动设备与第二移动设备之间的测距的第一移动设备的示例性通知。用户可建立通知,然后可在这两个移动设备彼此接近(或彼此太远)(如使用上述测距能力所确定)时提供提醒。尽管图9聚焦于作为设备接近的提醒的通知,但是该描述可类似地应用于通知用于两个设备已分开时的情况。

在901处,用户910可将第一设备915配置为基于与第二设备925的接近度来提供提醒。此时,第一设备915可在或可不在与第二设备925的接近度内。例如,当要为这两个设备已分开提供通知时,这两个设备可在设置通知时彼此接近。在一些实施方案中,需要来自第二设备925的批准以建立这种测距通知。第二设备925也可能能够撤销这种批准。

在902处,用户910移动到第二位置,该第二位置可能接近用户920,如可经由这两个设备之间的测距来确定的。另选地,用户920可移动。测距可在用户910不必与第一设备915交互的情况下开始。例如,测距可在设备在口袋中时开始。可由第一设备915的处理器(例如,图5的AOP530)协调测距的控制。AOP 530可例如使用如上所述的BLE和认证来检测第二设备925的存在。当首次建立提醒时,第一设备915可确认存储第二设备925的认证标签。一旦被认证,就可接通UWB电路以开始测距操作。在一些具体实施中,一旦进行认证,就可增加通告/扫描速率,例如以尽快建立测距设置。

在903处,可在第一设备915与第二设备925之间执行测距操作。可由测距来确定距离信息,并且可将距离信息的距离与阈值940进行比较。在所示的示例中,如果距离小于阈值940,则可由第一设备915向用户910提供提醒。由于测距操作是与特定设备(即,第二设备925)进行的,因此测距请求消息可指定与第二设备925相对应的目标地址。可对测距进行加密,例如如可由用户910逐一地设定。可在首次创建通知时建立共享密钥。

在904处,第一设备915提供提醒。提醒可以以各种方式提供,例如音频、触觉或视觉提示或这些提示中的任何两者或更多者的组合。例如,第一设备915可发出嗡嗡声或铃声,并且可在屏幕上显示消息。

当配置提醒时,用户910可提供消息以及阈值标准。这种阈值标准可包括距离以及时间间隔,例如以迫使这两个设备至少在指定的时间间隔(例如,20或30秒)内处于阈值以内。时间间隔的规范可增加可靠性。例如,如果这两个用户在相同建筑物中工作,则一个用户可经过另一个用户的办公室或另一用户所在的会议室,但这种场景不是提供提醒的方便时间。因此,当这两个用户首次彼此接近时,可不直接提供提醒。

在两个设备已分开时获得警示的示例可应用于父母的孩子具有移动设备(例如,手表或其他可穿戴设备)的情形。父母设备可在孩子走开得太远时接收警示。这种监测可由AOP执行,该AOP可使用比设备的应用处理器更少的功率。

图10是根据本公开的实施方案,使用测距操作来提供通知的方法1000的流程图。方法1000可在第一用户的第一移动设备处提供通知并且由第一移动设备执行。方法1000的各方面可以以与图7的方法700类似的方式执行。

在框1005处,第一移动设备的用户界面接收用户输入以配置通知(例如,提醒或警示)。可由第一移动设备基于第一移动设备与第二移动设备的接近度来提供通知,该第二移动设备可属于第二用户或第一用户。可使用如本文所述的测距操作来确定接近度。

在框1010处,使用第一移动设备的第一无线协议来传输(例如,广播)包括第一移动设备的第一认证标签的通告信号。框1010可以以与图7的框715类似的方式实现。

在框1015处,第一移动设备经由第一无线协议从第二移动设备接收第二移动设备的第二认证标签。框1015可以以与图7的框720类似的方式实现。

在框1020处,第一移动设备使用第二认证标签来认证第二移动设备。第二移动设备可使用第一认证标签来认证第一移动设备。框1020可以以与图7的框725类似的方式实现。

在框1025处,使用第一无线协议来与第二移动设备传送一个或多个测距设置,以便使用第二无线协议执行测距操作。框1025可以以与图7的框730类似的方式实现。

在框1030处,使用第二无线协议根据一个或多个测距设置将测距请求消息中的第一组一个或多个脉冲传输到第二移动设备。第二无线协议可使用小于第一无线协议所使用的脉冲宽度的脉冲宽度。框1030可以以与图7的框735类似的方式实现。

在框1035处,第一移动设备使用第二无线协议从第二移动设备接收一个或多个测距响应消息中的第二组一个或多个脉冲。框1035可以以与图7的框740类似的方式实现。

在框1040处,确定与第一组一个或多个脉冲的一个或多个传输时间和第二组一个或多个脉冲的一个或多个接收时间相对应的距离信息。框1040可以以与图7的框745类似的方式实现。

在框1045处,将距离信息的距离与阈值进行比较。作为示例,该距离可包括径向距离和/或角距离。在一些具体实施中,该距离可为指定这两个设备之间的相对距离(位置)的向量,并且可将分数分配给该相对位置。例如,可在设备周围限定不同区域。可相对于设备的指向方向来限定这些区域。该阈值可对应于该分配的分数,例如通过将该分数与该阈值进行比较。在各种实施方案中,可由该设备的用户或制造商指定该阈值。可例如基于用户是否响应于通知而与电话交互来随时间修改该阈值。

在框1050处,基于该距离超过该阈值来提供通知。该距离可超出达小于或大于该阈值,具体取决于该通知如何设置。因此,在一些具体实施中,可在距离大于该阈值时提供该通知,例如以警示用户。在其他具体实施中,该通知是提醒,并且可在距离小于该阈值时提供该通知。在各种具体实施中,该通知可包括音频输出、视觉输出或触觉输出或它们的任何组合。

在一些实施方案中,距离信息可包括随时间推移(例如,在30秒、一分钟、两分钟等内)的多个距离测量值。可基于该多个距离测量值中的距离在至少指定时间量内小于该阈值来提供该通知。

通信应用程序(例如,电子邮件和文本消息)通常具有用于指定通信的接收方的输入窗口。用户可将字符(例如,字母数字和某些特殊字符,诸如“@”)输入到输入窗口中以便识别接收方。例如,用户可输入姓名、电子邮件地址或电话号码。当用户输入第一字符时,此类通信应用程序可提供建议接收方列表。但是,此类通信应用程序需要在提供建议接收方之前输入至少一个字符。希望在用户不必输入一些输入的情况下提供可靠的建议接收方列表,从而使该体验对于用户更便捷且更高效。还希望使用特定于特定情况的附加标准(例如,除常用接收方之外)来确定要建议的潜在接收方。

实施方案可结合经由无线通信对移动设备周围附近的邻近移动设备的检测,作为用于确定要建议的接收方的标准。联系人数据库可与所检测的邻近设备交叉引用。可执行测距测量以提供离另一个移动设备的相对距离的更大精确度,例如以便确定另一移动设备是否充分接近以提供建议接收方。相对距离还可用于基于相对位置(例如,距离和/或角度)来对邻近设备进行排序。该排序可从最近到最远。可在各个区中使用权重以偏向于相对于设备的指向方向的某些角度。

图11A示出了响应于字符的用户输入而提供建议接收方列表1120的通信应用程序的屏幕截图1100。用户已打开通信应用程序(用于文本消息,如图所示),并且已将字符“M”输入到输入窗口1110中。作为响应,通信应用程序已提供以字母M开头的建议接收方列表1120。在所示的示例中,按该顺序提供Mom、Mark和Mary以及其接收方联系信息(在该示例中对应于电话号码)。

图11B示出了根据本公开的实施方案,在没有字符的用户输入的情况下响应于用户开始新消息而提供建议接收方列表1170的通信应用程序的屏幕截图1150。通信应用程序可在第一移动设备上执行。在提供建议接收方列表1170之前,第一移动设备可经由无线通信(例如,各种形式的蓝牙、Wi-Fi或UWB)来检测一个或多个邻近移动设备。在一些实施方案中,邻近移动设备可各自例如在通告消息中传输标识符。在一些具体实施中,可事先由第一移动设备例如经由对等模式或经由服务器来获得标识符。例如,可在用户在联系人列表中创建联系人时获得标识符。

可识别具有与第一移动设备中的所存储的联系人列表中的联系人相对应的标识符的任何邻近移动设备,并且可将这些邻近移动设备包括在建议接收方列表中。例如,标识符可为散列,并且第一移动设备可使用该散列来查找要提供给用户的联系人信息。这样,用户在接收到建议接收方列表1170之前不必将任何字符键入到输入窗口1160中。

还可基于频繁或最近进行消息传递(例如,在当前时刻)的接收方来提供这种建议接收方列表。与相同或其他通信应用程序的此类历史交互可用于训练作为建议引擎的机器学习模型。建议引擎可使用邻近设备的发现以及上下文信息(例如,时间、位置、所使用的通信应用程序)来确定建议接收方列表1170。在一些具体实施中,可执行测距操作以确定距离信息(例如,径向距离和/或角距离),建议引擎也可使用该距离信息。

在所示的示例中,Mark在Mom之前首先显示。之所以可发生这种情况,是因为经由无线通信检测到Mark的设备,因此Mark的设备位于其上执行通信应用程序的第一移动设备附近。Mom的设备可未被检测为邻近设备,因此可首先列出Mark。例如,例如根据建议引擎所使用的标准,Mark的设备作为邻近设备的存在可胜过与Mom的更高通信频率。新增了Jennifer,例如因为Jennifer的设备被检测为邻近设备。因此,Jennifer可被识别为建议接收方。可提供附加接收方,但为了便于说明,未示出这些附加接收方。

在提供该列表之后,用户可选择建议接收方之一以便发送新消息。该选择可以以各种方式接收,例如通过经由触摸的选择或提供语音命令(如可通过说出“Mark”或“条目1”来进行)。然后,在撰写消息之后,可将消息发送到所选择的接收方。

图12是根据本公开的实施方案,使用与其他设备的接近度来建议通信的接收方的过程1200的序列图。过程1200涉及第一移动设备1210(例如,移动电话、可穿戴设备(诸如手表)或平板电脑)和其他移动设备1220。第一移动设备1210可经由任何合适的无线通信(例如,蓝牙、Wi-Fi或UWB)来与其他移动设备1220通信。其他移动设备1220可包括第二移动设备1221和第三移动设备1222。

第一移动设备1210可包括通信应用程序1211、联系人数据库1212、建议引擎1213和无线电路1214。这些部件可彼此交互。例如,第一移动设备1210可具有存储联系人数据库1212的存储器。无线电路1214可向建议引擎1213提供接近度信息。建议引擎1213可访问存储器以从联系人数据库1212检索联系人信息。并且,建议引擎1213可向通信应用程序1211提供建议接收方。

在步骤1201处,联系人数据库1212存储多个联系人的联系人信息。联系人的联系人信息可包括所存储的标识符,因此所存储的标识符与该联系人相关联。例如,联系人的数据库字段可包括所存储的标识符,使得联系人的其他字段与所存储的标识符字段相关联。

在步骤1202处,通信应用程序1211接收开始新通信的命令。这种命令可通过用户界面诸如触摸屏、语音命令、键盘、指向设备等以各种方式接收。例如,用户可说明“新消息”或“新电子邮件”,这可在显式地打开通信应用程序之前出现。因此,语音命令可打开与消息或电子邮件相关联的默认通信应用程序,并且语音命令也可用于打开新消息。作为另一个示例,用户可打开触摸屏上的通信应用程序,然后提供“新消息”的语音命令或在触摸屏的窗口上选择新消息按钮。示例性窗口可见于图11B中。

在步骤1203处,无线电路1214检测来自其他移动设备1220的传入消息。在各种实施方案中,传入消息可由与其他移动设备1220相对应的所接收的标识符(例如,第二移动设备1221的第二标识符和第三移动设备1222的第三标识符)生成或包括所接收的标识符。作为一个示例,标识符可为用于生成数字签名、解密数字签名或以其他方式生成传入消息的一部分的散列的密码密钥。认证该消息部分(例如,能够生成匹配散列)的密码密钥可被确定为正确标识符。

在一些具体实施中,其他移动设备1220可周期性地发射具有相应标识符的信号(例如,通告信号),并且潜在地也包括其他信息,诸如网络地址。可例如使用蓝牙LE将此类信号发射为广播信号。在其他具体实施中,第一移动设备可传输请求消息,该请求消息请求邻近设备的ID。其他移动设备1220可用包括相应ID的消息作出响应。因此,此类从其他移动设备1220发射的信号的检测可作为发现过程的一部分进行,其中初始信号由其他移动设备1220或第一移动设备1210发射。

在各种实施方案中,步骤1203可在步骤1202之前或之后进行。例如,第一移动设备1210可周期性地接通无线电路1214以寻找传入消息,从而提供邻近设备列表,可存储该邻近设备列表以供稍后使用。

在步骤1204处,将来自传入消息的所接收的标识符(ID)例如直接、经由建议引擎1213或经由第一移动设备1210的其他部件发送到联系人数据库1212。无线电路1214或其他部件可解析传入消息以确定所接收的标识符。例如,传入消息可具有特定格式,例如带有指定特定数据的标签或具有不同类型的数据的不同时隙的预先确定的格式。与其他步骤一样,步骤1204可由各种动作触发,例如由传入消息的接收触发或由响应于步骤1202处的命令而来自通信应用程序1211的消息触发。

在其他实施方案中,解析可涉及密码操作,诸如解密或散列操作。此类操作可在所存储的标识符对应于密码密钥时进行。例如,可使用密码密钥对传入消息(例如,网络地址)的一部分进行散列操作或签名。然后,第一移动设备1210可使用所存储的密码密钥对以明文发送的消息(例如,非散列/非加密的网络地址)的一部分进行操作。匹配密钥是提供与传入消息中相同的散列或签名的密钥。本文还更详细描述了此类密码操作。

在步骤1205处,建议引擎1213可从联系人数据库1212获得其他移动设备1220的联系人信息。联系人信息的获得可以以各种方式进行。例如,建议引擎1213可将请求发送到联系人数据库1212,或联系人数据库可将联系人信息推送到建议引擎1213。无论哪种方式,都可使用所接收的标识符来访问联系人数据库1212以获得其他移动设备1220的联系人信息。另外,联系人信息的获得可响应于各种触发条件(例如,响应于向联系人数据库1212提供ID或响应于在步骤1202处接收到命令)而进行。后者可在第一移动设备1210与通信应用程序1211的操作独立地(例如,异步地)接收传入消息时进行。如上所述,第一移动设备1210可周期性地检测传入消息,从而引起这种独立操作。

在一些实施方案中,联系人数据库1212或其他部件(例如,建议引擎1213)可存储邻近设备的联系人信息。可周期性地更新该邻近设备列表。因此,在任何给定情况下,该邻近设备列表应普遍反映谁在第一移动设备的用户附近。

在步骤1206处,通信应用程序1211可将对建议接收方的请求发送到建议引擎1213。通信应用程序1211可响应于在步骤1202处接收到创建新通信的命令而发送这种请求。步骤1206可以以与过程1200的其他步骤的各种关系(例如,在步骤1202之后但在步骤1203之前、在步骤1204之前或在步骤1205之前)进行。

在一些实施方案中,响应于来自通信应用程序1211的请求或更早时间的请求,第一移动设备1210可与其他移动设备1220执行测距。可确定距离信息(例如,径向距离和角距离)并且将其用于建议一个或多个接收方。例如,可执行图4的步骤。图12的标识符可用于执行步骤404中的认证。事件402可对应于步骤1202处新通信的创建。然后可执行附加步骤403-409,例如其中步骤404使用标识符(例如,密码密钥)来执行。

在步骤1207处,建议引擎1213可向通信应用程序提供建议接收方列表中的其他移动设备1220中的一者或多者的联系人信息。可响应于在步骤1202处创建新通信的命令而执行步骤1207。响应于步骤1206处或更早时间(例如,在接收到联系人信息之后)的请求,建议引擎1213可使用邻近设备的联系人信息来向通信应用程序确定建议接收方列表。尽管未示出,但是建议引擎1213可接收其他信息以确定建议接收方列表,如本文所述。例如,可使用从测距操作获得的距离信息。

在步骤1208处,通信应用程序1211接收对建议接收方之一的选择。在该示例中,所选择的接收方对应于第二移动设备1221。如上所述,接收方可以以各种方式选择。

在步骤1209处,通信应用程序1211将新通信发送到第二移动设备。可经由与用于在步骤1203处接收到的传入消息的无线协议相同或不同的无线协议来发送新通信。作为示例,可经由对等机构、接入点(例如,路由器)或服务器来发送通信。

如上所述,发现过程可确定联系人的设备是否在第一设备附近。发现过程可涉及在先前注册时间(例如在添加到联系人数据库时)获得另一设备的标识符。标识符可直接从另一设备获得,经由向其发送标识符的发现或可安全地存储标识符的标识服务器来获得。下文提供了发现过程的更多示例性细节。

在一个示例中,当某人被添加为联系人时,其联系人信息可用于检索存储在标识服务器处的标识符。标识服务器可将标识符与联系人信息联合存储,使得其可被检索并发送到第一设备。在另一个示例中,可将标识符例如连同联系人信息一起在本地从一个设备传输到另一个设备。然后,当第一设备检测到具有该标识符的传入消息时,可检索另一设备的用户的联系人信息。

在一些实施方案中,传入消息可被加密,使得标识符被加密。可使用对称或非对称密码密钥来加密和解密。第一设备可例如直接或经由服务器连同标识符一起获得密码密钥。然后,当检测到传入消息时,可使用所存储的密码密钥直到找到可解密传入消息的密码密钥。然后可使用解密的标识符来识别对应联系人信息。

在其他实施方案中,传入消息可包括以明文发送的消息部分(例如,网络地址)的散列或签名。所存储的标识符(该示例中的密钥)可对明文或签名进行操作以找到匹配。例如,密钥可解密该签名以获得明文部分,从而由于解密签名匹配消息的明文而认证另一设备。非匹配密钥将生成不匹配明文的结果,因此可确定特定传入消息不对应于非匹配密钥。

作为另一个示例,密钥可对明文进行操作以生成另一个散列,可将该另一个散列与传入消息中接收的散列进行比较。可使用一组存储的密钥中的每一者直到确定匹配散列。然后可将提供匹配操作的密钥确定为标识符,可使用该标识符来访问联系人数据库以检索联系人信息。散列的示例包括SipHash和基于散列的消息认证码(HMAC)。

在一些实施方案中,两个设备可交换标识符,例如密码密钥。这种交换可在两个设备彼此保持接近(例如彼此接触)时进行,这可在用户提供联系人信息将被共享的一些指示之后进行。然后可将标识符和联系人信息存储在联系人数据库中。

在一个具体实施中,传入消息(例如,通告分组)可包括与另一设备相关联的网络地址(例如,周期性地生成)、使用该网络地址计算的散列值以及与另一设备相关联的密码密钥(标识符的示例)。然后,第一设备可从存储器检索并迭代遍历多个已知密码密钥直到通过匹配找到正确密钥。另选地,传入消息可包括可用于检索正确密钥的密钥标识符(例如,用户标识符或设备标识符)。然后第一设备可使用网络地址和第一已知密码密钥来计算临时散列值。可将临时散列值与所接收的散列进行比较以确定它们是否匹配。响应于识别临时散列值和散列值匹配,可例如在图12的步骤1205中检索与第一已知密码密钥相对应的联系人信息。在一些具体实施中,可响应于识别该匹配而执行测距操作(例如,如本文所述)。

这种示例使用对称密钥,但也可使用非对称密钥。例如,第二设备(例如,1221)可向第一设备提供公共密钥。第二设备可使用私有密钥来生成网络地址或其他明文的数字签名,并且将该数字签名包括在消息中,如本文所述。然后第一设备可使用公共密钥来解密数字签名以获得结果,将该结果与明文进行比较。如果存在匹配,则第一设备可确定传入消息来自第二设备。

在消息包括网络地址的实施方案中,可周期性地更改该地址。这样,无法随时间跟踪该设备的标识,从而保护隐私。这种网络地址可为媒体访问控制(MAC)地址。

第一设备可确定其他设备的相对位置。例如,第一设备可检测传入消息的信号强度,也称为接收信号强度指示符(RSSI)。如果此类设备使用标准发射强度,则可使用信号在传播的距离内的衰减来确定与第二设备的相对距离。可由在这些设备之间的不同已知距离处进行的测量来确定校准(映射)函数。这些已知差值可用作训练数据以确定将RSSI映射到距离的校准函数。针对设备的不同类型例如电话的不同型号并为了区分电话和平板电脑,可确定不同映射函数。

在其他实施方案中,可使用飞行时间(TOF)测量值来确定与其他设备的相对距离,如本文所述。可一起使用RSSI测量值和TOF测量值,例如可使用由这两种技术确定的距离或位置的加权平均值。一些实施方案可使用距离信息来确定另一个设备是否充分接近以建议为接收方和/或基于距离信息来对接收方进行排序;其他信息也可用于此类目的。

图13示出了根据本公开的实施方案的第一设备1310与其他设备1320执行测距以用于向通信应用程序建议接收方。第一设备1310可对应于图12的第一移动设备1210,并且其他设备1320可对应于其他移动设备1220。图13的其他元件可对应于图12中的类似元件。

通信应用程序1311可具有用于接收用户输入以创建新通信(例如,电子邮件或消息)的用户界面。响应于该用户输入,通信应用程序1311可将触发命令1319发送到测距电路1335和/或BT/Wi-Fi电路1330(例如,对应于图5中的电路)。这些电路可确定哪些设备与第一设备1310接近。

其他设备1320可使用无线协议(诸如蓝牙或Wi-Fi)发射信号(例如,通告)。可由BT/Wi-Fi电路1330检测这些信号,该BT/Wi-Fi电路可执行这些信号的认证,认证为对应于联系人数据库(图13中未示出)中的特定联系人,例如如本文所述。可将联系人信息发送到建议引擎1350,该建议引擎可使用联系人信息来确定要发送到通信应用程序1311的建议接收方列表。

BT/Wi-Fi电路1330可将测距设置发送到测距电路1335。在一些具体实施中,测距电路1335可响应于从BT/Wi-Fi电路1330接收到测距设置而开始测距操作。测距设置可包括各种数据,例如如上所述。此外,测距设置可包括网络地址,该网络地址可能已用于认证其他设备1320之一。这样,测距电路1335可获得网络地址以发送测距信号。可使用该网络地址来使测距数据与联系人数据库中的特定联系人关联。例如,从BT/Wi-Fi电路1330发送的联系人信息可包括网络地址(或另一标识符),并且测距电路1335可包括网络地址(或另一标识符),使得建议引擎1350可使测距数据与联系人信息关联。

建议引擎1350可使用联系人信息、测距数据、来自上下文数据源1340的当前上下文数据和历史通信数据1345的各种组合来确定建议接收方列表。作为示例,上下文数据源1340可包括来自惯性运动单元(IMU)的移动信息、来自时钟和日历应用程序的时间和日期、来自GPS或其他位置电路的位置以及在通信应用程序1311之前使用的先前应用程序。

建议引擎1350可使用存储在数据库中的历史通信数据1345。可将每个历史通信记录为数据库中的单独时间条目。可周期性地(例如每两秒或每个时间间隔(时间编码)可能将仅发生一种类型的交互的其他时间尺度)保存此类记录。每个历史使用记录可包括本文所提及的任何上下文数据。

历史通信数据1345可存储历史用户通信的记录,可从这些记录中挖掘模式和/或与当前上下文的相似性,以便建议最可能选择的接收方列表。例如,可在当前上下文是特定上下文时识别在特定上下文期间频繁消息传递的接收方。可例如基于相对距离来对这种列表进行排序。该排序可从最近到最远。可在各个区中使用权重以偏向于相对于设备的指向方向的某些角度。

在一些实施方案中,建议引擎1350所使用的每个标准可由单独子模型用来为该特定标准分配顺序或分数(例如,排序)。例如,可基于测距信息来确定接收方的一个分数列表,并且可基于历史通信来确定另一个列表。可使用加权平均值来合并这两个列表中的分数以获得最终接收方列表。可在列表中提供具有高于阈值的分数的接收方。可为每个标准(特征)分配预先确定的权重,例如如通过启发法或机器学习来确定。在另一个具体实施中,可基于变量来动态地分配此类权重。例如,邻近设备的数量越多可指示接近度标准应具有越小的权重。

建议引擎1350可以以各种形式实现并且使用各种模型。例如,可使用超过一个模型,并且可在系综引擎中合并这些模型的结果。第一类型模型可周期性地(例如,每天晚上)运行,但随后被保存,使得其为静态的直到执行下一个训练会话。此类周期性生成和保存将与用户请求不相关,这是由于不响应于用户请求来进行周期性操作。此类训练可包括模式挖掘例程,该模式挖掘例程从历史交互中挖掘何时选择应用程序、接收方或应用程序/接收方的组合的模式。第二类型模型可使用最近交互来在接收到建议的请求时(例如,响应于生成新通信)生成按需模型。

模式模型可基于用户的过往行为将接收方的预测调谐为更特定于用户的行为。模式模型可对存储在数据库中的所有交互数据进行操作以基于所识别的特征重复模式来生成规则。模式模型可在夜间或在移动设备的其他空闲时间期间执行。模式模型可从这些交互中提取数据,输出另一个数据库(在本文中称为模式数据库),可在进行预测时查询该另一个数据库。对于一组输入标准(诸如通信应用程序、时刻等)中的每一者而言,模式数据库可指定要建议的接收方列表。

除具有作为前件的某些标准并输出作为后件的建议应用程序/接收方的规则的数据库之外,这种模式模型还可采取各种其他形式。例如,在一些具体实施中,神经网络可用于模式模型中。机器学习模型的其他示例包括线性回归、逻辑回归、支持向量机和决策树。

在一些实施方案中,可基于测距操作来分配分数。可基于使用多个天线(例如,可使用三角测量的UWB天线)确定的距离来确定每个其他设备的相对位置。可将第一设备周围的区域分成不同区域。可按照相对于第一设备的指向方向的半径和角度来对这些区域进行分层。例如,可为指向方向的指定角范围内的最接近径向区域给出最高分数,并且可为在径向上最远并与指向方向成180度的区域分配最低分数。作为一个示例,可将该组分数归一化为在特定范围(例如,0-100)内。

还可基于可在各种上下文中进行的历史通信来分配该组分数。可使用所有上下文中或特定上下文中的通信频率(例如,对当前上下文进行滤波之后的频率)来确定该组分数。也可将这些分数归一化为具有特定范围(例如,0-100)内的值。

这两组分数可以以许多方式合并,例如通过合并分数并基于组合的分数或使用一组规则来排序。例如,一种规则可为如果另一个设备位于在指向方向的指定角范围内的最接近径向区域中,则将始终首先放置该设备,而不论其使用历史通信的分数如何。作为另一个示例性规则,基于测距分数的排序可基于通信的数量来修改,例如通过基于通信的数量(如可针对当前上下文来确定)将特定设备提高或降低指定数量的排序位置。

在一些实施方案中,测距分数或原始距离(例如,用于每个天线)可用作机器学习模型的特征。训练集可包括已知接收方的一组通信以及特定上下文(包括测距距离)。可基于对已知上下文的新通信的接收方的预测的精确度来连续地更新这种机器学习模型。

如上所述,RSSI可用于测距测量。除了TOF距离测量值之外,还可确定RSSI。因此,TOF导出的径向范围(例如,使用UWB测量)、TOF导出的相对于指向方向的角度(例如,使用UWB测量)和RSSI(例如,使用任何形式的蓝牙测量)可全都用于确定建议接收方列表,例如通过输入到建议/预测模型中。可使用原始RSSI测量值和分类的范围。

在一些实施方案中,初始模型可使用RSSI测量值来获得范围分类,该范围分类可与所确定的TOF值一起使用。例如,建议引擎1350可从BT/Wi-Fi电路1330接收RSSI测量值。RSSI分类器1355可使用RSSI测量值来确定范围分类。可使用任何数量的范围分类,例如3、4、5等。在一个具体实施中,三个分类可为近、中和远,这可使用数量或任何其他字符来指定。为了确定范围分类,RSSI分类器1355可识别发射信号的设备的类型,然后使用对应分类模型(例如使用已知类型的设备在已知距离处的测量值来训练)。可将范围分类提供给另一个模型,该另一个模型是如本文所述的建议引擎1350的一部分。在一些具体实施中,RSSI分类器1355可使用超过一个RSSI测量值,例如可使用一系列测量值来执行分类。

可在各种时间(例如,在用户开始新通信之前或之后)进行测距测量。例如,测距电路1335和/或BT/Wi-Fi电路1330可能已经进行一些测量,且已经确定距离或范围分类。可存储此类距离信息以便在开始新通信时检索。作为示例,可将距离信息(距离、范围分类等)存储在建议引擎1350、测距电路1335和/或BT/Wi-Fi电路1330或第一设备1310的其他部件中。然后,一旦(例如,由建议引擎1350或向测距电路1335和/或BT/Wi-Fi电路1330)接收到请求,就可检索距离信息。

可周期性地进行距离测量。新测量值可覆写旧测量值,且潜在地存储在不同时间得出的一定数量的测量值。每个距离测量值可具有时间戳。可使用时间戳来确定所测量的值是否新近得足以使用(例如,通过与定时阈值进行比较)。因此,当用户期望撰写消息时,建议接收方可使用邻近设备的所存储的信息,使得测距电路1335和/或BR/Wi-Fi电路不必旋转加速或以其他方式使其能级增加,但它们可需要周期性地旋转加速。如果这些测量不够新近,则可执行新测量。

图14是根据本公开的实施方案的流程图,该流程图示出了向用户提供通信接口的方法1400。方法1400可由第一移动设备实现,该第一移动设备可对应于第一设备1310或第一移动设备1210。通信接口可基于另一个设备的接近度(如使用无线通信来确定)来提供新通信的建议接收方列表。在一些具体实施中,通信接口可在用户提供(例如,键入)接收方的任何字符之前提供建议接收方列表。

在框1410处,第一移动设备的数据库存储多个联系人。该数据库可包括每个联系人的联系人信息,例如电话号码、电子邮件地址、姓名等。每个联系人(例如,该数据库的每个条目)可与所存储的标识符诸如密码密钥或唯一标识符(例如,用于用户或设备)相关联。可将该标识符存储为该数据库中的字段,使得可使用具有特定标识符的查询来检索与特定标识符相对应的联系人的联系人信息。

在框1420处,第一移动设备的用户界面接收发送新通信的命令。可使用在第一移动设备上执行的通信应用程序来发送新通信。可使用各种通信应用程序,例如用于文本消息、电子邮件、电话呼叫、视频呼叫等的通信应用程序。例如当用户打开给定通信应用程序并选择按钮以开始新消息时,用户界面可特定于该通信应用程序。在另一个具体实施中,用户界面可为通用界面,例如语音命令界面,使得不需要已经打开特定通信应用程序。语音命令可指定要使用的通信应用程序;可针对某些关键字来设定默认应用程序,例如可在语音命令中使用术语“消息”时选择某个文本消息应用程序。

在框1430处,从一个或多个其他移动设备无线地检测一个或多个传入消息。在各种实施方案中,一个或多个传入消息可使用与一个或多个其他移动设备相对应的一个或多个传入标识符来生成,或可包括与一个或多个其他移动设备相对应的一个或多个传入标识符。例如,该标识符可对应于用于生成消息的一部分的数字签名或散列的密码密钥,其中数字签名或散列作为消息的一部分来发送。作为另一个示例,消息可包括标识符,可直接使用该标识符来确定与另一设备相对应的联系人信息。

在一些实施方案中,可由一个或多个其他移动设备广播一个或多个传入消息。可由其他移动设备周期性地发射此类广播消息。第一移动设备可类似地周期性地广播此类信号,使得邻近移动设备可检测到该第一移动设备。

在框1440处,分析一个或多个传入消息以确定一个或多个传入标识符。在各种实施方案中,可在框1420之前或之后执行框1430和1440,例如如针对图12和图13描述的。该分析可简单地解析传入消息以提取数据。在另一个具体实施中,该分析可对传入消息中的全部或部分数据执行操作(例如,密码操作)。

例如当该标识符是密码密钥时,框1440可包括传入消息的认证。在一些具体实施中,当使用一个或多个密码密钥生成一个或多个传入消息时,该分析可包括将所存储的密码密钥应用于传入消息的第一部分以获得密码结果。密码结果可与传入消息的第二部分匹配。例如,密码密钥可用于生成消息(例如,网络地址)的明文部分的散列并且与消息中接收到的散列部分进行比较。作为另一个示例,可对消息的加密部分执行解密操作,其中如果使用正确密码密钥,则解密结果应与明文部分匹配。用于解密的所存储的密码密钥可为公共密钥,其中使用与公共密钥相对应的私有密钥来生成传入消息。在另一个具体实施中,两个设备均可将相同密钥用于相应密码操作。在这种情况下,一个或多个传入标识符可包括用于生成传入消息的一个或多个密码密钥。

在框1450处,用一个或多个传入标识符来访问数据库以获得一个或多个其他移动设备的联系人信息。如本文所述,数据库中的条目可包括标识符的字段。一旦确定匹配标识符,就可查询数据库以识别其条目包括匹配标识符的联系人。可检索该条目的任何数量的数据项以便提供建议接收方列表。例如,可检索图片并且将该图片与列表中的其他联系人信息一起显示。

在框1460处,将一个或多个其他移动设备的联系人信息作为建议接收方列表提供给通信应用程序。可响应于发送新通信的命令而提供该列表。例如,可响应于开始新通信的命令而执行框1430-1460,或可直接响应于该命令而执行框1460。作为另一个示例,可执行附加步骤,例如获得其他数据,诸如上下文数据、历史通信数据或测距数据;可在框1420之后但在框1460之前执行此类附加步骤。

框1460可至少部分地使用建议引擎来实现,例如如本文所述。例如,历史用户交互的数据库可包括历史接收方、历史通信应用程序和历史上下文数据。可使用历史用户交互来确定建议接收方列表。这种建议引擎可建议不在第一设备的接近度内的其他设备。并且,并非所有邻近设备都可包括在建议接收方列表中。例如,建议引擎可排除与第一设备没有足够历史通信的一个或多个邻近设备。因此,一个或多个其他移动设备可仅为邻近设备的一部分。

在一些实施方案中,在接收预期接收方的指示之前提供建议接收方列表。例如,可在用户将任何字符输入到文本窗口中之前提供建议接收方。可例如基于在测距操作中确定的距离信息来对这种建议接收方列表进行排序。

在框1470处,通信应用程序从建议接收方列表中接收对一个或多个其他移动设备中的第二移动设备的选择。第二移动设备可以以各种方式选择,例如经由触摸屏从下拉列表选择或经由识别要选择列表中的哪个项目的语音命令来选择。在一些实施方案中,该列表可允许滚动以查看最初未显示在屏幕上的附加接收方。因此,与第二移动设备相对应的联系人信息最初可未显示,但仍为建议接收方列表的一部分。

在框1480处,通信应用程序将新通信发送到第二移动设备。新通信的传输可响应于来自用户的发送命令而进行。当来自第二移动设备的传入消息包括网络地址时,可将新通信传输到该网络地址。

作为方法1400的一部分,可执行测距操作并且该测距操作可在各种时间进行。在各种示例中,可响应于框1420处的命令、在框1430处的传入消息的检测的同时、响应于框1430或响应于框1440中的认证而执行测距操作。测距操作可以以各种方式执行,例如如本文所述。在一些具体实施中,可使用第一无线协议(例如,UWB)将测距请求消息中的第一组一个或多个脉冲传输到一个或多个其他移动设备中的每一者。此类传输可使用在传入消息中接收到的网络地址。使用第一无线协议,可从一个或多个其他移动设备中的每一者接收一个或多个测距响应消息中的第二组一个或多个脉冲。然后,可确定与一个或多个其他移动设备中的每个移动设备的第一组一个或多个脉冲的一个或多个传输时间和第二组一个或多个脉冲的一个或多个接收时间相对应的距离信息。可使用第一设备的时钟来跟踪此类时间。可使用例如如针对图12和图13描述的距离信息来确定建议接收方列表。

距离信息可包括各种距离,例如径向距离和角距离,这些距离中的至少一些距离可按时间或长度来量化。可将一个或多个其他移动设备的距离与阈值进行比较。可基于该距离大于该阈值来从建议接收方列表中排除一个或多个其他移动设备中的任何一者。如果邻近设备太远,则可假定第一设备的用户可能不试图与该邻近设备的用户通信。

当距离信息包括角度值(例如,相对于指向方向)时,可将一个或多个其他移动设备的角度值与阈值进行比较。可基于该角度值大于该阈值来从建议接收方列表中排除一个或多个其他移动设备中的任何一者。

在执行测距操作之前,第一设备可与一个或多个其他移动设备执行认证(例如,相互认证)。例如,在将第一组一个或多个脉冲传输到一个或多个其他移动设备中的每一者之前,可经由第二无线协议(例如,蓝牙或Wi-Fi)来传输包括第一移动设备的第一认证标签的通告信号。可经由第二无线协议从第二移动设备接收第二移动设备的第二认证标签。认证标签(例如,如部分II-IV中所述)可对应于框1440中的标识符。可使用第二认证标签来认证第二移动设备。第二移动设备可使用第一认证标签来认证第一移动设备。然后,可使用第二无线协议来与第二移动设备传送一个或多个测距设置。可根据一个或多个测距设置来传输第一组一个或多个脉冲。第一无线协议可使用小于第二无线协议所使用的脉冲宽度的脉冲宽度。

可能希望将内容从一个设备传输到另一个设备。这两个设备可由该用户或不同用户拥有。存在传输内容的简化方式,例如通过用电子邮件发送该内容,使得另一设备可从服务器检索该内容。但是,这种过程对于用户是低效且繁琐的。

在一些实施方案中,可使用测距操作来确定这些设备之间的距离。在已执行认证之后,第一设备的屏幕可自动地提供从第二设备查看内容的选项。这样,用户不需要在第二设备上作出选择或配置第一设备。相反,用户可快速地选择查看该内容的选项。此外,可使用测距操作来仅在某些情况下(例如这些设备之间的距离在阈值以内)提供查看该内容的选项。此外,可需要取向,例如第二设备放置在第一设备的左侧。因此,实施方案可抑制向用户提供该选项的不必要且非期望的情况,这些情况原本可能使第一设备的屏幕杂乱。

图15示出了根据本公开的实施方案的用于将来自一个设备的内容与另一个设备共享的技术。这两个设备可由相同用户或不同用户拥有。在所示的示例中,计算机1510(也称为第一设备)与移动电话1550(也称为第二移动设备)交互。然而,应当理解,可使用其他移动设备并且除膝上型/笔记本电脑之外的其他设备可对应于第一设备,例如平板电脑、可穿戴设备、电视或电视的机顶盒等。

为了确定用户将来自移动电话1550的内容与计算机1510共享的意图,可使用这两个设备的接近度。为了确定该接近度,可在移动电话1550与计算机1510之间执行测距操作1560。这些设备中的任一者可策动测距操作1560,例如如本文所述。因此,计算机1510可确定这两个设备之间的径向距离。此外,在一些实施方案中,计算机1510可例如通过确定角位置来确定移动电话1550与计算机1510的相对位置。可相对于所限定的指向方向(诸如垂直于键盘1515)来限定这种角位置。如果沿顺时针方向确定该角度,则移动电话1550与指向方向1517成90°。

作为确定用户共享内容的意图的一部分,可使用阈值距离1540。例如,当计算机1510确定移动电话1550在阈值距离1540以内时,计算机1510可确定用户具有期望共享内容的高可能性。响应于确定移动电话1550在阈值距离1540以内,计算机1510可在计算机1510的屏幕1520上显示视觉指示符1530。视觉指示符1530的尺寸和布置可变化,并且所示的示例仅仅是例示性的。例如,视觉指示符1530可为放置在开始菜单或其他当前或最近使用的应用程序列表上的图标;这种图标可对应于移动电话1550或任何第二移动设备。

在一些实施方案中,阈值距离1540可取决于移动电话1550相对于计算机1510的角位置/距离。例如,计算机1510可需要移动电话1550放置在计算机1510的左侧。这样,计算机1510可需要更具体的动作来说明用户意图。可使用所测量的角度来确定移动电话1550在左侧的确定,可要求该所测量的角度在指定范围内,诸如在45°与135°之间;还可使用其他范围,如技术人员将理解的。在使用方向的这种具体实施中,可在屏幕1520的特定位置上(例如,如图所示,在左侧)显示视觉指示符1530。

因此,用户可将其电话放在其计算机一旁以用于在这两个设备之间开始共享会话的目的。计算机1510可检测来自移动电话1550的通告信号(或反之亦然),并且测距操作1560可提供距离信息,该距离信息触发计算机1510上的视觉指示符1530。一旦用户选择视觉指示符1530,共享会话就可开始。在各种实施方案中,共享会话可传输图片、视频、至此类内容的链接(互联网上的URL)或至安装在这两个设备上的软件应用程序的深层链接。根据要分享的内容,可在共享会话中执行各种步骤,例如启动对应于该内容或用于显示该内容的应用程序,显示该内容(例如,图片),或将该内容保存在计算机1510上。

在一些实施方案中,视觉指示符1530可传送关于要共享的内容的信息。例如,视觉指示符1530可提供该内容的较小表示,例如照片的缩略图。一旦用户点击视觉指示符1530,就可提供该内容的较大表示,例如可使用全屏幕、半屏幕或与屏幕的1/3或1/4相对应的尺寸。在其他具体实施中,可自动地共享该内容,例如无需用户选择视觉指示符。

共享会话的策动或视觉指示符1530的显示也可取决于移动电话1550的取向。例如,可能需要用户以屏幕面朝上的方式放置设备以便指示开始共享会话的期望。可由移动电话1550例如使用陀螺仪或其他测量设备来进行取向的这种确定。可由移动电话1550向计算机1510提供所测量的取向或该取向满足一个或多个标准的其他指示符(例如,标志)。

图16是根据本公开的实施方案的流程图,该流程图示出了用于在第一设备与第二移动设备之间通信的方法1600。这两个设备可由相同用户或不同用户拥有。方法1600可由第一设备(例如,图15中的计算机1510)执行。第二移动设备可为移动电话(例如,移动电话1550)或其他移动设备,例如可穿戴设备,诸如手表。

在框1610处,第一设备从第二移动设备接收消息。该消息可包括可用于认证第二移动设备的认证标签。这样,不会与未知人的设备进行共享会话。

该消息可为从第二移动设备广播(例如,周期性地广播)的通告信号。作为另一个示例,该消息可为对第一设备所发送的消息的响应。作为响应消息,第二移动设备可包括另外的信息,例如用于执行测距操作的测距设置。

在框1620处,使用认证标签来认证第二移动设备。如本文所述,认证可以以各种方式执行。例如,认证可通过访问联系人数据库以确认认证标签对应于联系人或通过验证数字签名、散列或其他密码值来执行。为了执行认证,一些实施方案可在第一设备的存储器中存储与第二移动设备相关联的标识符,并且将认证标签与所存储的标识符进行比较以便认证第二移动设备。

在其他实施方案中,该消息包括有效载荷和数字签名,其中有效载荷包括认证标签并且数字签名由有效载荷的至少一部分生成。第一设备的存储器可存储与对应于第二移动设备的密码密钥相关联的标识符(例如,第二移动设备的认证标签)。认证过程可使用认证标签来访问存储器以寻找认证标签匹配所存储的标识符的联系人,使得可获得对应密码密钥。可使用密码密钥例如通过解密数字签名并且与用于生成数字签名的有效载荷的部分进行比较来验证数字签名。还可使用本文所述的其他验证技术。

在框1630处,响应于认证第二移动设备,第一设备与第二移动设备执行测距操作以确定距离信息。距离信息可为各种类型,如本文所述。例如,距离信息可包括时间、径向距离、角距离、相对位置等。可使用不同无线协议来执行认证和测距,如本文所述。例如,可使用蓝牙或Wi-Fi来接收框1610中接收的消息,并且可使用UWB来执行测距操作。

在一些具体实施中,测距操作可测量在第二移动设备与第一设备之间传输的一个或多个消息的信号强度(例如,RSSI)。在一个具体实施中,测距操作可测量在第二移动设备与第一设备之间传输的一个或多个消息的飞行时间。

在框1640处,可基于距离信息来在第一设备的屏幕上显示视觉指示符。例如,可基于距离信息来在屏幕上的特定位置处显示视觉指示符。例如,可使用距离信息来确定第二移动设备相对于第一设备的方向,并且可基于该方向来选择视觉指示符在屏幕上的位置。作为另一个示例,可在距离信息满足一个或多个标准时显示视觉指示符。在一些具体实施中,距离信息指定距离值(例如,长度和/或角度),将该距离值与阈值进行比较。当该距离值小于该阈值时,可显示视觉指示符。

视觉指示符可指示来自第二移动设备的内容可用。例如,视觉指示符可传达可从第二移动设备获得该内容以便在第一设备上保存或显示。视觉指示符自身可指示来自第二移动设备的内容可在第一设备的屏幕上显示,例如通过示出图像。

在框1650处,接收对视觉指示符的选择。该选择可以以各种方式进行,例如通过语音命令,通过在触摸屏上选择视觉指示符,通过使用指向设备来选择视觉指示符等。在一些具体实施中,光标或其他指向元件可自动切换到视觉指示符,使得用户可仅需要按下按钮。

在框1660处,响应于对视觉指示符的选择,从第二移动设备接收该内容。该接收可以以各种方式实现,例如使得该内容保存在第一设备上或使得该内容显示在第一设备的屏幕上。该内容的接收可使得其他内容被检索,例如该内容是至其他内容的URL(例如,在互联网上)。

如图5、图8、图12和图13中所述,计算设备可具有确定接近度(例如,使用飞行时间(TOF)或信号强度的测距电路)及使用此类接近度信息的各种部件。各种应用程序可以以各种方式使用接近度信息。现在将描述示例性架构,该架构可使用本文所提供的各种方法、设备和系统中的任何一者来实现。

图17示出了根据本公开的实施方案的使用测距信息的示例性架构1700。示例性架构1700可在第一设备中实现,该第一设备与第二设备执行测距,如本文所述。可在多个客户端应用程序(例如,下文更详细描述的通信应用程序1770、共享模块1730或交互模块1740)的请求下执行测距。

测距电路1705可执行如本文所述的测距操作,例如执行TOF测量。测距电路1705可向接近度模块1720提供测距信息,该接近度模块可分析该测距信息。作为示例,该测距信息可包括传输和接收时间、距离和信号强度。测距电路1705可对测距信息执行一些调节,例如通过校正因到达角、范围偏差(例如,如果存在固定偏移)引起的天线相位效应,或进行自校准,但接近度模块1720可提供更复杂的分析。

接近度模块1720可向测距电路1705提供命令以协调用于执行测距的不同模式或设置。例如,接近度模块1720可要求更多的测量值或更改模式/设置以获得更准确的测量值,或潜在地降低用于获得这些测量值的功率。模式的示例为是使用一对一测距、一对多测距还是多对多测距。其他模式可包括指向共享(point-to-share)模式、通知模式或接收方建议模式。因此,可为测距电路1705设定测量值的分辨率,例如从粗略测量值到精密测量值。这种分辨率可使得在这两个设备之间交换不同轮数的消息,作为测距操作的一部分。

由接近度模块1720执行的分析的示例包括附加滤波,例如以减少测距电路1705上的测量噪声。可在应用程序需要高精确度时使用这种设置。可在尽快需要测距信息时执行最少量的分析。

在一些实施方案中,接近度模块1720可使用来自初始运动单元(IMU)1710的测量值,该IMU可包括传感器,诸如加速度计、陀螺仪和磁力仪。接近度模块1720可确定或更新距离值(例如,径向距离或角距离)。由接近度模块1720执行的处理可取决于哪个(哪些)客户端应用程序正请求测距信息。

接近度模块1720可将距离信息提供给客户端应用程序,诸如通信应用程序1770(例如,电子邮件或文本消息)、共享模块1730或交互模块1740。可将距离信息直接提供给此类客户端应用程序或经由其他软件模块提供给此类客户端应用程序。例如,可将距离信息直接提供给通信应用程序1770或经由共享模块1730提供给该通信应用程序。通信应用程序1770可对应于通信应用程序1211或通信应用程序1311。共享模块1730可用于实现图6至图8中所述的技术。在一些实施方案中,交互模块1740可使用以多对多测距模式获得的测距信息。例如,可在同时使用邻近移动设备上的增强现实应用程序时使用交互模块1740。

BT/Wi-Fi电路1760可用于认证(例如,如本文所述)以及接近度测量(例如,使用RSSI)。机器学习模型1750可提供建议,例如如图12和图13中所述的建议接收方。机器学习模型1750可在示例性架构1700中的各种位置处(例如,在通信应用程序1770中)实现。

接近度框架1732和接近度框架1742可驻留在相应模块内并且用于与接近度模块1720通信。该驻地可执行附加处理,例如如相应模块可能需要的。例如,接近度框架1732可基于距离信息来确定邻近移动设备的分数,如本文所述。此外,接近度框架1732可对BTRSSI执行分类,如针对图13的RSSI分类器1355所描述的。接近度框架可在使用测距信息的任何其他数量的客户端应用程序中实现。

共享模块1730可使用从BT Wi-Fi电路1716获得的地址(例如,媒体访问控制(MAC)地址)并且使其与从测距电路1705获得的地址关联。然后可将该组关联的数据与其他数据(例如,联系人信息和历史数据)组合并且提供给机器学习模型1750或通信应用程序1770或其他模块。在建议了接收方的一些实施方案中,可由通信应用程序1770将触发命令提供给共享模块1730并提供到其他部件上以执行建议新通信的接收方的操作。

图18是示例性电子设备1800的框图。设备1800通常包括计算机可读介质1802、处理系统1804、输入/输出(I/O)子系统1806、无线电路1808、以及包括扬声器1812和麦克风1814的音频电路1810。这些部件可通过一个或多个通信总线或信号线1803而被耦接。设备1800可以是任何便携式电子设备,包括手持计算机、平板电脑、移动电话、膝上型电脑、平板设备、媒体播放器、个人数字助理(PDA)、钥匙链、车钥匙、门禁卡、多功能设备、移动电话、便携式游戏设备、头戴式耳机等,包括这些物品中的两个或更多个物品的组合。

显然,图18所示的架构仅为设备1800的架构的一个示例,并且设备1800可具有比所示更多或更少的部件或不同配置的部件。图18中所示的各种部件可以硬件、软件或硬件和软件两者的组合来实现,其包括一个或多个信号处理电路和/或专用集成电路。

无线电路1808用于通过无线链路或网络来向一个或多个其他设备的常规电路(诸如,天线系统、RF收发器、一个或多个放大器、调谐器、一个或多个振荡器、数字信号处理器、CODEC芯片组、存储器等)发送和接收信息。无线电路1808可使用各种协议,例如本文所述的协议。在各种实施方案中,无线电路1808能够使用一种或多种通信协议与其他设备建立并保持通信,该一种或多种通信协议包括时分多址(TDMA)、码分多址(CDMA)、全球移动通信系统(GSM)、增强型数据GSM环境(EDGE)、宽带码分多址(W-CDMA)、长期演进(LTE)、LTE-Advanced、WiFi(诸如IEEE 802.11a、IEEE 802.11b、IEEE 802.11g和/或IEEE 802.11n)、蓝牙、Wi-MAX、互联网协议语音技术(VoIP)、近场通信协议(NFC)、用于电子邮件、即时消息和/或短消息服务(SMS)的协议,或任何其他合适的通信协议,包括到本文档的提交日期为止尚未开发出来的通信协议。

无线电路1808经由外围设备接口1816而被耦接至处理系统1804。外围设备接口1816可包括用于建立并保持外围设备和处理系统1804之间的通信的常规部件。通过无线电路1808所接收的语音信息和数据信息(例如,在语音识别或语音命令应用程序中)经由外围设备接口1816而被发送至一个或多个处理器1818。一个或多个处理器1818可被配置为处理被存储在介质1802上的一个或多个应用程序1834的各种数据格式。

外围设备接口1816将设备1800的输入外围设备和输出外围设备耦接到一个或多个处理器1818和计算机可读介质1802。一个或多个处理器1818经由控制器1820来与计算机可读介质1802进行通信。计算机可读介质1802可为能够存储代码和/或数据以供一个或多个处理器1818使用的任何设备或介质。计算机可读介质1802可包括存储器分级结构,包括高速缓存、主存储器和辅助存储器。可使用RAM(例如,SRAM、DRAM、DDRAM)、ROM、闪存、磁存储设备和/或光学存储设备(诸如,磁盘驱动器、磁带、CD(光盘)和DVD(数字视频光盘))的任何组合来实现存储器分级结构。在一些实施方案中,外围设备接口1816、一个或多个处理器1818和控制器1820可在单个芯片诸如处理系统1804上实现。在一些其他示例中,它们可以在独立的芯片上实现。

处理器1818可包括执行一个或多个处理功能,诸如数学操作、逻辑操作、数据操纵操作、数据传输操作、控制用户输入的接收、控制信息向用户的输出等的硬件和/或软件元件。处理器1818可体现为一个或多个硬件处理器、微处理器、微控制器、现场可编程门阵列(FPGA)、专用集成电路(ASIC)等。

设备1800还包括用于为各种硬件部件供电的电力系统1842。电力系统1842可包括电力管理系统、一个或多个电源(例如,电池、交流电(AC))、再充电系统、电力故障检测电路、功率变换器或逆变器、电源状态指示符(例如,发光二极管(LED)),以及通常与移动设备中的电力的生成、管理和分配相关联的任何其他部件。

在一些实施方案中,设备1800包括相机1844。在一些实施方案中,设备1800包括传感器1846。传感器可以包括加速度计、指南针、陀螺仪、压力传感器、音频传感器、光传感器、气压计等。传感器1846可用于感测位置方面,诸如位置的听觉标记或光标记。

在一些实施方案中,设备1800可包括有时被称为GPS单元1848的GPS接收器。移动设备可使用卫星导航系统诸如全球定位系统(GPS)来获得定位信息、定时信息、高度、或其他导航信息。在操作期间,GPS单元可接收来自绕地球飞行的GPS卫星的信号。GPS单元对信号进行分析,以对传输时间和距离进行估计。GPS单元可确定移动设备的当前定位(当前位置)。基于这些估计,移动设备可确定位置方位、高度、和/或当前速度。位置方位可为地理坐标,诸如纬度信息和经度信息。

一个或多个处理器1818运行被存储在介质1802中的各种软件部件,以执行设备1800的各种功能。在一些实施方案中,软件部件包括操作系统1822、通信模块1824(或指令集)、位置模块1826(或指令集)、用作本文所述测距操作一部分的测距模块1828,以及其他应用程序1834(或指令集)。

操作系统1822可为任何合适的操作系统,包括iOS、Mac OS、Darwin、RTXC、LINUX、UNIX、OS X、WINDOWS或嵌入式操作系统诸如VxWorks。操作系统可包括用于控制和管理一般系统任务(例如,存储器管理、存储设备控制、电力管理等)的各种程序、指令集、软件部件、和/或驱动器,并且促进各种硬件和软件部件之间的通信。

通信模块1824促进通过一个或多个外部端口1836或经由无线电路1808来与其他设备进行通信,并且包括用于处理从无线电路1808和/或外部端口1836所接收的数据的各种软件部件。外部端口1836(例如,USB、火线、闪电连接器、60引脚连接器等)适用于直接地或通过网络(例如,互联网、无线局域网等)间接地耦接至其他设备。

位置/运动模块1826可帮助确定设备1300的当前位置(例如,坐标或其他地理位置标识符)和运动。现代定位系统包括基于卫星的定位系统,诸如全球定位系统(GPS)、基于“小区ID”的蜂窝网络定位、和基于Wi-Fi网络的Wi-Fi定位技术。GPS还依赖于多个卫星的可见度来确定位置估计,其在室内或在“城市峡谷”中可能是不可见的(或具有微弱信号)。在一些实施方案中,位置/运动模块1826从GPS单元1848接收数据并分析信号,以确定移动设备的当前位置。在一些实施方案中,位置/运动模块1826可使用Wi-Fi或蜂窝位置技术来确定当前位置。例如,可使用对附近小区地点和/或Wi-Fi接入点的了解及对它们的位置的了解来估计移动设备的位置。识别Wi-Fi或蜂窝式发射器的信息被接收在无线电路1808处并且传送至位置/运动模块1826。在一些实施方案中,位置模块接收一个或多个发射器ID。在一些实施方案中,可将发射器ID的序列与参考数据库(例如,小区ID数据库、Wi-Fi参考数据库)进行比较,该参考数据库将发射器ID映射或关联至对应发射器的位置坐标,并基于对应发射器的位置坐标来计算设备1800的估计位置坐标。不论使用何种特定定位技术,位置/运动模块1826均接收能够从其中得出位置方位的信息,解译该信息,并返回位置信息,诸如地理坐标、纬度/经度、或其他位置方位数据。

测距模块1828可向/从例如连接到无线电路1808的天线发送/接收测距消息。这些消息可用于各种目的,例如用于识别设备的发送天线,确定消息的时间戳以确定移动设备1800与另一个设备的距离。测距模块1828可存在于该设备的各种处理器上,例如始终接通的处理器(AOP)、UWB芯片和/或应用处理器。例如,测距模块1828的部件可在AOP上确定距离,并且测距模块的另一个部件可与共享模块交互,例如以在屏幕上显示另一设备的位置以便用户选择另一设备来共享数据项。测距模块1828还可与提醒模块交互,该提醒模块可基于与另一个移动设备的距离来提供警示。

设备1800上的一个或多个应用程序1834可包括安装在设备1800上的任何应用程序,包括但不限于浏览器、通讯录、联系人列表、电子邮件、即时消息、社交网络、文字处理、键盘仿真、桌面小程序、支持JAVA的应用程序、加密、数字版权管理、语音识别、语音复制、(回放存储在一个或多个文件诸如MP3或AAC文件中的录制音乐的)音乐播放器,等等。

可存在其他模块或指令集(未示出),诸如图形模块、时间模块等。例如图形模块可以包括用于在显示器表面上对图形对象(包括但不限于文本、网页、图标、数字图像、动画等)进行呈现、动画显示和显示的各种常规软件组件。在另一个示例中,定时器模块可为软件定时器。也可在硬件中实现定时器模块。时间模块可针对任意数量的事件来维持各种定时器。

I/O子系统1806可被耦接到可为触敏显示器的显示系统(未示出)。显示器在GUI中向用户显示视觉输出。视觉输出可包括文本、图形、视频、以及它们的任何组合。视觉输出中的一些或所有视觉输出可对应于用户界面对象。尽管显示器可使用LED(发光二极管)技术、LCD(液晶显示器)技术或LPD(发光聚合物显示器)技术,但在其他实施方案中可使用其他显示技术。

在一些实施方案中,I/O子系统1806可包括显示器和用户输入设备诸如键盘、鼠标和/或触控板。在一些实施方案中,I/O子系统1806可包括触敏显示器。触敏显示器还可以至少部分地基于触觉和/或触感接触来接受来自用户的输入。在一些实施方案中,触敏显示器形成用于接受用户输入的触敏表面。触敏显示器/表面(连同计算机可读介质1802中的任何相关联的模块和/或指令集)检测触敏显示器上的接触(和接触的任何移动或释放),并且将所检测到的接触转换为与用户界面对象的交互,诸如在接触发生时被显示在触摸屏上的一个或多个软键。在一些实施方案中,触敏显示器和用户之间的接触点对应于用户的一个或多个手指。用户可使用诸如触笔、笔、手指等任何合适的物体或附属件接触触敏显示器。触敏显示器表面可使用任何合适的触敏技术来检测接触及其任何移动或释放,这些技术包括电容式技术、电阻式技术、红外技术和表面声波技术、以及其他接近传感器阵列或其他元件,用于确定与触敏显示器的一个或多个接触点。

此外,I/O子系统1806还可以被耦接到一个或多个其他物理控制设备(未示出),诸如按钮、按键、开关、摇杆按钮、拨号盘、滑动开关、操作杆、LED等,用于控制或执行各种功能,诸如功率控制、扬声器音量控制、电话铃声响度、键盘输入、滚动、保持、菜单、锁屏、清除和结束通信等。在一些实施方案中,除了触摸屏之外,设备1800可包括用于激活或去激活特定功能的触控板(未示出)。在一些实施方案中,触控板是设备的触敏区域,与触摸屏不同,该触敏区域不显示视觉输出。触控板可为与触敏显示器分开的触敏表面、或者为由该触敏显示器形成的触敏表面的延伸部。

在一些实施方案中,可使用在用户的设备上执行的应用来执行本文描述的一些或全部操作。电路、逻辑模块、处理器和/或其他部件可被配置为执行本文描述的各种操作。本领域的技术人员应当理解,根据具体实施,可通过特定部件的设计、设置、互连、和/或编程来完成此类配置,并且再次根据具体实施,所配置的部件可针对不同操作为可重新配置的或不是可重新配置的。例如,可通过提供适当的可执行代码来配置可编程处理器;可通过适当地连接逻辑门和其他电路元件来配置专用逻辑电路;等等。

在本专利申请中所描述的任何软件组件或功能可被实现为由处理器执行的软件代码,该处理器使用任何合适的计算机语言,诸如例如Java、C、C++、C#、Objective-C、Swift、或使用例如常规的或面向对象的技术的脚本语言诸如Perl或Python。软件代码可作为一系列指令或命令而被存储在计算机可读介质上,以实现存储和/或传输。适当的非暂态计算机可读介质可包括随机存取存储器(RAM)、只读存储器(ROM)、磁介质(诸如硬盘驱动器或软盘)、或光学介质(诸如光盘(CD)或DVD(数字多用盘))、闪存存储器等。计算机可读介质可为此类存储设备或传输设备的任何组合。

可在各种计算机可读存储介质上对结合本公开的各种特征的计算机程序进行编码;适当介质包括磁盘或磁带、光学存储介质,诸如光盘(CD)或DVD(数字多用盘)、闪存存储器等。编码有程序代码的计算机可读存储介质可与兼容设备一起被封装或从其他设备单独被提供。此外,可经由符合多种协议的有线光学和/或无线网络(包括互联网)来编码和传输程序代码,从而允许例如经由互联网下载进行分发。任何此类计算机可读介质可驻留在或位于单个计算机产品(例如,固态驱动器、硬盘驱动器、CD或整个计算机系统)内,并且可存在于或位于系统或网络内的不同计算机产品内。计算机系统可包括监视器、打印机或用于将本文所提及的任何结果提供给用户的其他合适的显示器。

如上所述,本发明技术的一个方面是采集、共享和使用数据,包括认证标签和从其导出该标签的数据。本公开预期,在一些实例中,这些所采集的数据可包括唯一地识别或可用于联系或定位特定人员的个人信息数据。此类个人信息数据可包括人口统计数据、基于定位的数据、电话号码、电子邮件地址、twitter ID、家庭地址、与用户的健康或健身等级相关的数据或记录(例如,生命信号测量、药物信息、锻炼信息)、出生日期、或任何其他识别信息或个人信息。

本公开认识到在本发明技术中使用此类个人信息数据可用于使用户受益。例如,个人信息数据可用于认证另一个设备且反之亦然,以控制可执行哪些设备测距操作。此外,本公开还预期个人信息数据有益于用户的其他用途。例如,健康和健身数据可被共享以向用户的总体健康状况提供见解,或者可用作使用技术来追求健康目标的个人的积极反馈。

本公开设想负责采集、分析、公开、传输、存储或其他使用此类个人信息数据的实体将遵守既定的隐私政策和/或隐私实践。具体地,此类实体应当实行并坚持使用被公认为满足或超出对维护个人信息数据的隐私性和安全性的行业或政府要求的隐私政策和实践。此类政策应该能被用户方便地访问,并应随着数据的采集和/或使用变化而被更新。来自用户的个人信息应当被收集用于实体的合法且合理的用途,并且不在这些合法使用之外共享或出售。此外,应在收到用户知情同意后进行此类采集/共享。此外,此类实体应考虑采取任何必要步骤,保卫和保障对此类个人信息数据的访问,并确保有权访问个人信息数据的其他人遵守其隐私政策和流程。另外,这种实体可使其本身经受第三方评估以证明其遵守广泛接受的隐私政策和实践。此外,应当调整政策和实践,以便采集和/或访问的特定类型的个人信息数据,并适用于包括管辖范围的具体考虑的适用法律和标准。例如,在美国,对某些健康数据的收集或获取可能受联邦和/或州法律的管辖,诸如健康保险流通和责任法案(HIPAA);而其他国家的健康数据可能受到其他法规和政策的约束并应相应处理。因此,在每个国家应为不同的个人数据类型保持不同的隐私实践。

不管前述情况如何,本公开还预期用户选择性地阻止使用或访问个人信息数据的实施方案。即本公开预期可提供硬件元件和/或软件元件,以防止或阻止对此类个人信息数据的访问。例如,就共享内容和执行测距而言,本发明技术可被配置为在注册服务期间或之后任何时候允许用户选择“选择加入”或“选择退出”参与对个人信息数据的收集。除了提供“选择加入”和“选择退出”选项外,本公开设想提供与访问或使用个人信息相关的通知。例如,可在下载应用时向用户通知其个人信息数据将被访问,然后就在个人信息数据被应用访问之前再次提醒用户。

此外,本公开的目的是应管理和处理个人信息数据以最小化无意或未经授权访问或使用的风险。一旦不再需要数据,通过限制数据收集和删除数据可最小化风险。此外,并且当适用时,包括在某些健康相关应用程序中,数据去标识可用于保护用户的隐私。可在适当时通过移除特定标识符(例如,出生日期等)、控制所存储数据的量或特异性(例如,在城市级别而不是在地址级别收集位置数据)、控制数据如何被存储(例如,在用户之间聚合数据)、和/或其他方法来促进去标识。

因此,虽然本公开广泛地覆盖了使用个人信息数据来实现一个或多个各种所公开的实施方案,但本公开还预期各种实施方案也可在无需访问此类个人信息数据的情况下被实现。即,本发明技术的各种实施方案不会由于缺少此类个人信息数据的全部或一部分而无法正常进行。

尽管已相对于具体实施方案描述了本公开,但应当理解,本公开旨在覆盖以下权利要求书范围内的所有修改形式和等同形式。

除非明确地做出相反指示,否则对“一个”、“一种”或“该”的表述旨在表示“一个或多个”。除非明确地做出相反指示,否则对“或”的使用旨在表示“包容性或”而不是“排他性或”。提及“第一”部件并不一定要求提供第二部件。此外,除非明确表述,否则提及“第一”部件或“第二”部件不会将所提及的部件限制到特定位置。术语“基于”意在表示“至少部分地基于”。

出于所有目的,本文提及的所有专利、专利申请、公开和说明书均以全文引用方式并入本文。不承认任何文献为现有技术。

相关技术
  • 移动设备之间的测距
  • 用于移动设备之间的可信通信的方法、移动设备和计算机可读介质
技术分类

06120112618260