用于为锁定系统动态递送访问凭证的系统和方法

文档序号:1966973 发布日期:2021-12-14 浏览:18次 >En<

阅读说明:本技术 用于为锁定系统动态递送访问凭证的系统和方法 (System and method for dynamic delivery of access credentials for a locking system ) 是由 J·巴尔图奇 K·安德森 B·巴纳赫 G·米勒 于 2020-03-06 设计创作,主要内容包括:一种锁定系统包括多个电子锁定设备和服务器。服务器被配置为接收关于多个电子锁定设备中的每一个的位置的锁定位置数据,接收关于多个用户设备中每一个的当前位置的用户设备位置数据,根据基于锁定位置数据和用户设备位置数据的地理围栏递送协议向多个用户设备中的每一个递送访问凭证,响应于使用地理围栏递送协议而监控当前聚合负载,以及响应于当前聚合负载超过负载阈值,根据非地理围栏递送协议向多个用户设备中的一个或更多个递送访问凭证,以减少当前聚合负载。(A locking system includes a plurality of electronic locking devices and a server. The server is configured to receive lock position data regarding a location of each of the plurality of electronic locking devices, receive user device location data regarding a current location of each of the plurality of user devices, deliver access credentials to each of the plurality of user devices according to a geo-fence delivery protocol based on the lock position data and the user device location data, monitor a current aggregate load in response to using the geo-fence delivery protocol, and deliver the access credentials to one or more of the plurality of user devices according to a non-geo-fence delivery protocol to reduce the current aggregate load in response to the current aggregate load exceeding a load threshold.)

用于为锁定系统动态递送访问凭证的系统和方法

相关申请的交叉引用

本申请要求于2019年3月8日提交的序列号为62/815,733的美国临时专利申请的权益,其全部内容通过引用并入本申请

背景技术

可以使用用户的个人设备(例如智能手机)访问(例如,解锁、更改设置等)电子锁。通常,用户的个人设备和相应的电子锁将相互交互,从而可以由电话和/或电子锁(例如,基于访问权限)做出访问决定。随着电子锁成为主流,企业或个人拥有的电子锁数量大幅增加。在每个用户的个人设备上管理对如此大量电子锁的访问权限可能会变得笨拙并消耗每个用户个人设备上的大量存储空间,并且在用户的个人设备之一因存储在其上的数百个电子锁的访问权限而受到损害(例如,被盗、被黑客入侵等) 的情况下增加安全系统的脆弱性。

发明内容

一个实施例涉及一种用于动态递送访问凭证的方法。该方法包括由服务器存储多个访问凭证;由服务器接收关于在地理围栏递送协议期间使用的多个用户设备的地理围栏的多个地理围栏设置;由服务器接收关于多个锁定设备中的每一个的位置的锁定位置数据;由服务器从多个用户设备中的相应用户设备接收关于相应用户设备的第一位置的第一用户设备位置数据;由服务器基于锁定位置数据和第一用户设备位置数据确定地理围栏内的多个锁定设备的第一锁定子集;由服务器将多个访问凭证的第一凭证子集递送给相应的用户设备,其中第一凭证子集(i)与相应的用户设备相关联并且(ii)对应于第一锁定子集;由服务器从相应的用户设备接收关于相应的用户设备的第二位置的第二用户设备位置数据;由服务器基于锁定位置数据和第二用户设备位置数据确定地理围栏内的多个锁定设备的第二锁定子集;以及由服务器将多个访问凭证的第二凭证子集递送到相应的用户设备,其中第二凭证子集(i)与相应的用户设备相关联并且(ii)对应于地理围栏内的第二锁定子集。

另一个实施例涉及一种用于动态访问凭证递送的方法。该方法包括由服务器存储多个访问凭证;由服务器接收关于多个用户设备的多个地理围栏的多个地理围栏设置;由服务器接收关于多个锁定设备中的每一个的位置的锁定位置数据;由服务器接收关于多个用户设备中的每一个的当前位置的用户设备位置数据;由服务器执行地理围栏递送协议,用于向多个用户设备递送访问凭证;由服务器使用地理围栏递送协议监控服务器上的当前聚合负载;以及由服务器响应于当前聚合负载超过负载阈值而从地理围栏递送协议转换到非地理围栏递送协议,以将访问凭证递送到多个用户设备中的至少一个,以减少服务器上的当前聚合负载。对于多个用户设备中的每一个,地理围栏递送协议包括:(i)基于锁定位置数据和用户设备位置数据确定在多个用户设备的用户设备的多个地理围栏的地理围栏内的多个锁定设备的锁定子集并且(ii)该多个锁定设备可由用户设备的用户访问;确定与锁定子集相关联的访问凭证的凭证子集;以及将凭证子集递送到用户设备。

又一实施例涉及一种锁定系统。该锁定系统包括:多个电子锁定设备以及服务器。该服务器被配置为接收关于多个电子锁设备中每一个的位置的锁定位置数据,接收关于多个用户设备中每一个的当前位置的用户设备位置数据,根据基于锁定位置数据和用户设备位置数据的地理围栏递送协议向多个用户设备中的每一个递访问凭证,响应于使用地理围栏递送协议,监控当前的聚合负载,以及响应于当前的聚合负载超过负载阈值,根据非地理围栏递送协议向多个用户设备中的一个或更多个递送访问凭证以减少当前的聚合负载。多个电子锁定设备中的至少一个与服务器断开连接且无法直接与服务器通信。多个电子锁定设备中的至少一个被配置为从相应的用户设备接收相应的访问凭证;以及基于从相应的用户设备接收的相应的访问凭证,决定独立于服务器与相应用户设备发起访问控制会话。

又一实施例涉及一种用于动态接收访问凭证的方法。该方法包括由移动用户设备向服务器发送关于移动用户设备的第一位置的第一用户设备位置数据,其中服务器存储与移动用户设备相关联的地理围栏、与该移动用户设备相关联的多个访问凭证,以及多个锁定设备中每一个的最后已知位置或当前位置;由移动用户设备基于地理围栏、第一用户设备位置数据和多个锁定设备中每一个的最后已知位置或当前位置,从服务器接收多个访问凭证的第一凭证子集;由移动用户设备向服务器发送关于移动用户设备的第二位置的第二用户设备位置数据;以及由移动用户设备基于地理围栏、第二用户设备位置数据和多个锁定设备中每一个的最后已知位置或当前位置,从服务器接收多个访问凭证的第二凭证子集。在一些实施例中,该方法包括响应于服务器上的当前聚合负载超过负载阈值,根据非地理围栏递送协议,由移动用户设备从服务器接收多个访问凭证中的一个或更多个,以减少服务器上的当前聚合负载。

该概述仅是说明性的,并不旨在以任何方式进行限制。在结合附图所阐述的详细描述中,所描述的装置或过程的其他方面、发明特征和优点将变得显而易见,其中相同的附图标记指代相同的元件。

附图说明

图1是根据示例性实施例的用于一个或更多个服务器、一个或更多个用户设备和/或一个或更多个锁定系统之间的无线用户简档管理的系统的框图。

图2A和图2B是根据示例性实施例的图1的一个或更多个服务器的框图。

图3A描绘了根据示例性实施例的用于使用图1的用于无线用户简档管理的系统来实现地理围栏的第一技术。

图3B描绘了根据示例性实施例的使用图1的用于无线用户简档管理的系统来实现地理围栏的第二技术。

图3C描绘了根据示例性实施例的用于使用图1的用于无线用户简档管理的系统来实现地理围栏的第三种技术。

图4是根据示例性实施例的图1的一个或更多个用户设备的框图。

图5是根据示例性实施例的由图4的一个或更多个用户设备提供的第一图形用户界面。

图6是根据示例性实施例的由图4的一个或更多个用户设备提供的第二图形用户界面。

图7是根据示例性实施例的由图4的一个或更多个用户设备提供的第三图形用户界面。

图8是根据示例性实施例的图1的一个或更多个锁定系统的框图。

图9是根据示例性实施例的图8的一个或更多个锁定系统中的第一锁定系统的透视图。

图10是根据示例性实施例的图8的一个或更多个锁定系统中的第二锁定系统的透视图。

图11是根据示例性实施例的图8的一个或更多个锁定系统中的第三锁定系统的透视图。

图12是根据示例性实施例的图8的一个或更多个锁定系统中的第四锁定系统的示意图。

图13是根据示例性实施例的用于基于接近/地理围栏递送协议向用户设备递送一个或更多个用户简档的方法的流程图。

图14是根据示例性实施例的用于使用用户设备与锁定系统交互的方法的流程图。

图15是根据示例性实施例的用于向用户设备动态递送用户简档的方法的流程图。

具体实施方式

在转向详细示出某些示例性的附图之前,应当理解,本公开不限于在说明书中阐述或在附图中示出的详细方法。还应当理解的是,所使用的术语仅用于描述的目的,不应被视为限制性的。

如本文所用,术语“断开连接的设备”是指无法直接与服务器通信的设备,而需要与断开连接的设备进行短距离通信的中间设备(例如,智能手机等)以促进断开连接的设备和服务器之间的数据传输。如本文所用,术语“连接的设备”是指无需此类中间设备(不包括Wi-Fi架构的路由器 /调制解调器)即可直接与服务器通信的设备(例如,使用远程通信协议、蜂窝、无线电、Wi-Fi等)。如本文所用,术语“密钥”(例如,锁定密钥、用户密钥、密码密钥等)表示数字或字母数字代码,例如,其可以是用于确定前向密码函数的分组密码算法中的参数。如本文所用,术语“随机数”(例如,握手随机数、回复随机数、修改后的回复随机数等)是指在指定上下文中仅使用一次的值。

系统总览

根据图1-12所示的示例性实施例,访问凭证管理系统,示出为用户简档管理系统10,包括远程服务器(例如,凭证管理服务器、简档管理服务器等),示出为服务器100,便携式设备(例如,智能手机、移动电话、蜂窝电话、平板电脑、膝上型计算机、智能手表、智能卡、卡等),示出为用户设备200,以及产品(例如,电子锁定设备、电子挂锁、电子圆盘锁、电子保险箱、电子和便携式密码箱,电子锁箱、电子储物柜、电子门锁、门禁系统等),示出为锁定系统300。如图1所示,服务器100 被配置为与用户设备200通信(例如,使用第一通信协议、使用远程通信协议、蜂窝、Wi-Fi、无线电等),并且用户设备200被配置为与锁定系统 300通信(例如,使用第二通信协议、使用短程通信协议、蓝牙、低功耗蓝牙(“BLE”)、近场通信(“NFC”)、射频识别(“RFID”)等)。用户设备200由此可以用作促进服务器100和锁定系统300之间的数据传输的中间设备(例如,如果锁定系统300是断开连接的设备等)。在一些实施例中,锁定系统300被配置为促进与服务器100的直接通信(例如,使用远程通信协议、蜂窝、Wi-Fi、无线电等)。在一些实施例中,服务器100是或包括多个服务器。在一些实施例中,服务器100与多个用户设备200 通信。在一些实施例中,用户设备200与多个锁定系统300通信。在一些实施例中,服务器100与多个锁定系统300通信。

根据示例性实施例,服务器100被配置为管理多个用户的多个访问凭证或用户简档,这些用户有权访问与用户简档管理系统10相关联的锁定系统300中的至少一个。服务器100还被配置为根据简档递送协议(例如,基于位置、服务器负载等)选择性地将相应用户的一个或更多个用户简档递送到相应的用户设备200(例如,由相应用户拥有、运营等)。根据示例性实施例,服务器100实现简档递送协议,该协议基于用户设备 200的当前位置和地理围栏将与相应用户相关联的一个或更多个用户简档递送到他们的用户设备200。在一些实施例中,服务器100实现动态简档递送协议,该协议基于服务器100上的当前需求或负载,根据各种不同的简档递送协议将相应用户的一个或更多个用户简档递送到相应的用户设备200(例如,减少服务器负载的节流技术等)。

一般而言,用户简档可以包括一个或更多个文件,这些文件包括与相应锁定系统300的操作相关的数据。例如,用户简档可以包含相关联的锁定系统300何时可以被访问(解锁、锁定等)。日程表可以指定锁访问权限,例如,按星期几,包括每个相应权限的开始时间(小时、分钟等)和结束时间(小时、分钟等)。例如,日程表可以指定相关联的锁定系统300可以经由与用户简档相关联的特定用户的用户设备200被解锁的时间跨度。作为另一个示例,日程表可以指定典型交互预期发生的时间段,并且可以基于这些时间段确定信任级别。因此,在预期时间段内发送的解锁请求可能比在非预期/非典型时间发送的请求更受到相关联锁定系统300 的信任。在一个实施例中,设置默认用户日程表(例如,由制造商等)。此外,还可以提供典型用户日程表的列表以允许用户从许多配置选项之一中进行选择。以这种方式,制造商可以向用户提供各种推荐的操作设置。用户还可以定制日程表以按照他或她的需要(例如,管理员等)定制日程表。

用户简档还可以指定相关联的锁定系统300的型号/序列号以及该用户可用的访问类型。例如,这样的访问可以包括:读取相关联的锁定系统 300的软件/硬件版本信息、更新相关联的锁定系统300的软件、读取相关联的锁定系统300的卸扣/闩锁状态、锁定、解锁、解除、读取/设置时间/ 时钟值,读取电池电量,读取/清除事件相关数据(例如,标志,计数器等),读取锁定的日志,读取/设置/重置相关联的锁定系统300的键盘代码,读取相关联的锁定系统300的通信数据(例如,传输状态,传输功率电平,信道信息,寻址信息等),读取/设置为相关联的锁定系统300存储的默认值(例如,默认解除次数、默认解锁时间等)等。用户简档还可以指定用户简档的开始时间和撤销日期/时间(即,用户简档何时开始有效以及用户简档何时到期并不再有效)。用户简档可以为相关联的锁定系统 300提供最大解除/解锁时间。用户简档还可以提供对应用户设备200的信任级别的指示(例如,用户设备200提供的时间值/时间戳是否可信)。锁定系统300可以被配置为基于请求访问的相应用户设备200的信任级别来允许或禁止某些功能。信任级别可以存储为用户可以访问或不可以访问的独立许可(例如,信任级别可以由锁定系统300、用户设备200、服务器 100等的软件来管理/调节)。例如,只有高度信任的用户设备200可能能够升级相应锁定系统300的固件或改变某些设置。

此外,锁定系统300可以具有考虑信任级别和时间值的安全算法。例如,随着相应用户设备200更频繁地与相应锁定系统300成功交互,相应锁定系统300可以增加(或调节)相应用户设备200的信任级别。然而,如果时间值与相应锁定系统300的维持时间不同步或认证失败,则相应锁定系统300可以降低(或调节)相应用户设备200的信任级别。相应用户设备200提供的时间值可以与相应锁定系统300维护的时间值进行比较,并且可以使用两个时间之间的接近程度来指示相应用户设备200的信任级别(例如,两个时间越接近同步,信任级别越高,等等)。如果信任级别降低到某个阈值以下,则相应的锁定系统300可以中断或限制与相应的用户设备200的交互。信任级别也可以基于以上讨论的日程表。例如,基于相应用户设备200访问相应锁定系统300的时间以及该时间是否落入由日程表定义的特定时间段内,相应用户设备200可以被视为或多或少可信。相应用户设备200提供的时间值也可以用于将相应锁定系统300的时钟与相应用户设备200的时钟同步,或者可以在认证通信期间以其他方式使用。所讨论的任何用户简档项都可能具有默认值(例如,制造商默认值) 或用户提供的值(例如,来自具有管理员权限的用户等)。用户简档不限于上述数据,可以包括或排除附加数据。

根据示例性实施例,用户简档管理系统10通过利用双密钥认证机制实现了提供用户设备200和锁定系统300(和/或与服务器100直接通信的服务器100和用于锁定系统300的锁定系统300)之间的安全通信的方法,而无需将两个密钥都存储在锁定系统300上(例如,在制造阶段期间)。在这样的实施例中,(i)第一密钥或锁定密钥是已知的/存储在每个锁定系统300和服务器100上,对于每个锁定系统300是唯一的,并且 (ii)第二密钥或用户密钥是已知/存储在每个用户设备200上,对于每个用户设备200或用户简档是唯一的并且没有预先存储在任何锁定系统300 上。每个锁定密钥、每个用户密钥和每个用户简档可以特定于相应的锁定系统300。以这种方式,锁定密钥、用户密钥和用户简档可以唯一地与单个锁定系统300相关。根据示例性实施例,服务器100被配置为使用与用户简档相关联的锁定系统300的锁定密钥来加密每个用户简档。当试图访问锁定系统300时,用户设备200可以从锁定系统300接收锁定标识符并将该锁定标识符与和当前加载到用户设备200上的一个或更多个加密用户简档相关联的锁定标识符列表进行比较(例如,根据简档递送协议递送)。如果发现匹配,则用户设备200可以将相关联的加密用户简档传输到锁定系统300。加密的用户简档包括用户密钥。锁定系统300可以使用预先存储在其上的锁定密钥对加密的用户简档进行解密以获得用户密钥。用户设备200然后可以生成加密命令并将其发送到锁定系统300。使用用户密钥对加密命令进行加密。锁定系统300然后可以使用从解密的用户简档获得的用户密钥解密加密的命令并启动由解密命令指定的动作(例如,解锁物理锁定组件、实施固件更新等)。在一些情况下,包括锁定密钥和用户密钥的双密钥认证过程还包括握手随机数、回复随机数和/或修改的回复随机数,如更详细描述的。

应当理解,在上述描述的双密钥认证机制并不意味着是限制性的,而是作为在服务器100、用户设备200和用户配置文件简档管理系统10的锁定系统300之间提供安全通信的一种可能方式的示例来提供的。在另外一些实施例中,安全通信是使用不同的认证机制建立的,例如使用数字签名、质询-响应程序、多因素认证(例如,双因素认证、用户简档加生物特征、用户简档加PIN等),和/或其他合适的认证机制。

服务器

如图2A所示,服务器100包括处理电路102和网络接口148。处理电路102具有处理器104和存储器106。处理电路102可以包括通用处理器、专用集成电路(“ASIC”)、一个或更多个现场可编程门阵列 (“FPGA”)、数字信号处理器(“DSP”)、包含一个或更多个处理组件的电路、用于支持微处理器的电路、一组处理组件,或其他合适的电子处理组件。在一些情况下,处理器104被配置为执行存储在存储器106中的计算机代码,以促进在此描述的活动。存储器106可以是任何易失性或非易失性计算机可读存储介质,其能够存储与上述活动相关的数据或计算机代码。根据示例性实施例,存储器106包括被配置为由处理器104执行的计算机代码模块(例如,可执行代码、目标代码、源代码、脚本代码、机器代码等)。

根据示例性实施例,网络接口148被配置为促进往返于服务器100的无线通信(i)直接往返于用户设备200,(ii)通过用户设备200间接往返于锁定系统300中的至少一个(例如,对于作为断开连接的设备的锁定系统300),和/或(iii)直接往返于锁定系统300中的至少一个(例如,对于作为连接设备的锁定系统300)。服务器100可以直接或经由中间网络(例如,互联网网络、蜂窝网络等)与用户设备200和/或锁定系统300 通信。例如,网络接口148可以包括被配置为允许服务器100建立到用户设备200和/或锁定系统300的连接的物理网络组件(例如,网卡等)。在一个实施例中,来自网络接口148的通信通过蜂窝接口路由,允许服务器 100经由蜂窝网络与用户设备200和/或锁定系统300进行通信。在一个实施例中,网络接口148允许服务器100与用户设备200和/或锁定系统300 建立基于互联网的连接。服务器100可以是一个服务器(物理或虚拟服务器)或可以包括多个服务器。

根据示例性实施例,服务器100的存储器106包括各种模块,其被配置为(i)生成并安全地存储锁定密钥、用户密钥和用户简档,以及(ii) 基于一个或更多个因素,包括用户设备200的位置、用户设备200的用户的许可(例如,许可/授权级别、日程表等),服务器100上的当前累积负载,和/或其他可能的因素,选择性地和/或动态地向用户设备200递送加密的用户简档(例如,每个用户简档包括相关联的用户密钥)。

如图2A所示,服务器100的存储器106包括锁定密钥模块108、用户密钥模块110、随机数模块112、用户简档模块114、位置模块116、许可模块118、地理围栏模块120和节流模块122。在一些实施例中,存储器106不包括随机数模块112。在一些实施例中,存储器106不包括节流模块122。举例来说,存储器106可以不包括用户简档管理系统10中的节流模块122,该系统10具有少于阈值数量的与其相关联和/或由其管理的锁定系统300(例如,少于100、200、500、1000等的锁定系统300)。

锁定密钥模块108被配置为生成并安全地存储锁定密钥(例如,其可以在制造时提供给锁定系统300等)。作为示例,锁定密钥模块108可以对应于密钥的第一数据库并且可以包括被配置为存储和从第一数据库检索这样的密钥的软件。锁定密钥模块108可以进一步被配置为促进更新、替换和/或删除锁定密钥(例如,如果相应锁定系统300上的相应锁定密钥被泄露等),其可以使用所描述的方法将其传播到相关联的锁定系统300 (例如,直接用于连接的设备,通过用户设备200间接用于断开的设备等)。

用户密钥模块110被配置为生成并安全地存储用户密钥(例如,当用户注册到相应的锁定系统300等时)。作为示例,用户密钥模块110可以对应于第二密钥数据库并且可以包括被配置为存储和从第二数据库检索这样的密钥的软件。用户密钥模块110还可以被配置为促进更新、替换和/ 或删除用户密钥(例如,如果用户的访问被撤销,如果用户密钥过期等),其可以在相关联的用户简档中根据需要被更新。

随机数模块112被配置为每次用户简档被发送到用户设备200时为每个用户简档生成握手随机数。在一些模块中,不使用握手随机数。

用户简档模块114被配置为生成并安全地存储用户简档。作为示例,用户简档模块114可以对应于用户简档的第三数据库并且可以包括被配置为从第三数据库存储和检索这样的用户简档的软件。用户简档模块114还可以被配置为促进更新、替换和/或删除用户简档。举例来说,用户简档模块114可以被配置为响应于相应的用户简档期满,当新用户被添加到相应的锁定系统300时,为特定用户和/或锁定系统300生成用户简档。用户简档模块114还被配置为在用户简档被传输到用户设备200之前或之时对其进行加密。举例来说,当用户简档被发送到相应的用户设备200时,用户简档模块114可以被配置为(i)将关联的用户密钥插入或附加到用户简档中,(ii)使用(a)与特定锁定系统300相关联的锁定密钥和/或 (b)握手随机数(在使用握手随机数的实施例中)加密用户简档和用户密钥以生成加密的用户简档,和/或(iii)将用户密钥(a)和/或(b)握手随机数(在使用握手随机数的实施例中)附加到加密的用户简档中。用户简档模块114还可以被配置为促进更新、替换和/或删除用户简档(例如,如果用户的访问被撤销、如果用户密钥被更新等)。

位置模块116被配置为从用户设备200接收关于用户设备200的当前位置的第一位置数据(例如,实时地、周期性地等)。在一些实施例中,位置模块116被配置为从用户设备200和/或锁定系统300接收第二位置数据300,该第二位置数据300是关于锁定系统300的当前位置(例如,实时)和/或最后已知位置的。在一些实施例中,位置模块116被配置为存储一个或更多个锁定系统300(例如,固定锁定系统)的预定位置。第一位置数据和第二位置数据可由用户设备200和/或锁定系统300生成,如本文更详细描述的。

许可模块118被配置为接收和存储与一个或更多个锁定系统300相关联的用户的访问许可。访问许可可以包括用户的授权或许可级别(例如,管理员许可、有限许可等),其定义了相应用户能够访问和/或限制他们对哪个锁定系统300的访问(例如,第一用户可以仅解锁或锁定相应的锁定系统300而不改变其设置,而第二用户可以解锁或锁定相应的锁定系统 300并改变其设置等)。访问许可还可以包括如本文更详细描述的访问日程表,其限制用户可以访问相应锁定系统300的次数和/或影响试图在访问日程表之外访问相应锁定系统300的用户的信任级别。

地理围栏模块120被配置为选择性地将与相应用户相关联的加密用户简档的子集(例如,存储在用户简档模块114中)递送到相应用户的用户设备200,其基于(i)用户设备200的当前位置(例如,由位置模块116 接收),(ii)相应用户有权访问的锁定系统300的当前位置或最后已知位置(例如,由位置模块116接收),以及(iii)分配给相应用户并存储在地理围栏模块120中的地理围栏。地理围栏的大小(例如,半径)可以是静态的或可以是动态的(例如,基于星期几、一天中的时间、服务器100 上的当前负载等)。地理围栏可以根据用户调节(例如,由管理员设置,根据用户或公司的订阅级别,基于对服务器100的当前需求等)来预定义和固定,或者基于用户偏好选择性地调节。举例来说,当服务器100上的负载超过各种阈值时,地理围栏模块120可以动态地减小地理围栏的大小。

如图3A所示,地理围栏模块120被配置为实现第一地理围栏,显示为地理围栏160,其基于从相应用户的用户设备200的显示为当前位置 150的位置延伸的半径来定义。地理围栏160因此形成围绕用户设备200 的当前位置150延伸的圆。地理围栏160的半径可以根据用户调节而固定 (例如,基于用户关联的用户或公司的订阅级别,基于服务器100上的负载等)或基于用户偏好选择性地调节(例如,从100英尺到5英里等)。地理围栏模块120被配置为仅递送用于定位在地理围栏160内和/或相应用户有权访问(例如,基于在许可模块118中定义的访问许可)相应用户设备200的锁定系统300的加密用户简档,而与地理围栏160之外的锁定系统300相关联的加密用户简档不会被递送到相应的用户设备200。

在一些实施例中,随着相应用户设备200的当前位置150改变,相应用户设备200上的加密用户简档被添加和移除。举例来说,当锁定系统 300“进入”和“退出”地理围栏160时(即,随着用户四处移动,从而改变当前位置150),与那些锁定系统300相关联的加密用户简档将分别添加到相应用户设备200或从相应用户设备200中丢弃(例如,移除、擦除等)。相应用户设备200的当前位置150的这种监控可以是连续的、周期性的(例如,每三十秒、每分钟、每五分钟、每十五分钟等)和/或被动的(例如,响应于用户在与用户简档管理系统10相关联的相应用户设备200上打开应用程序)。地理围栏模块120可以基于服务器100上的当前需求在连续、周期性和/或被动简档递送之间切换。

如图3B所示,地理围栏模块120被配置为实现第二地理围栏,显示为地理围栏170,其基于预定义区域(例如,城市、大型工厂或工厂、校园等)定义,被细分为区域(例如,城市街区等),显示为地理围栏扇区 172。根据示例性实施例,地理围栏模块120被配置为响应于相应用户设备200的当前位置150位于预定义地理围栏扇区172之一内而有选择地激活相应的地理围栏扇区172周围的地理围栏170。地理围栏模块120被配置为仅递送用于锁定系统300的加密用户简档,锁定系统300位于当前激活的地理围栏扇区172的地理围栏170内和/或相应用户有权访问(例如,基于许可模块118中定义的访问许可)相应用户设备200,而与地理围栏170外部的锁定系统300相关联并位于未激活的地理围栏扇区172内的加密用户简档不递送到相应的用户设备200。

在一些实施例中,随着相应用户设备200的当前位置150改变,相应用户设备200上的加密用户简档被添加和移除。举例来说,当相应用户设备200离开第一地理围栏扇区172并进入第二地理围栏扇区172时(即,随着用户四处移动,从而改变当前位置150),与第一地理围栏扇区172 内的锁定系统300相关联的加密用户简档可以从相应的用户设备200丢弃并且与第二地理围栏扇区172内的锁定系统300相关联的加密用户简档可以被添加到相应的用户设备200。各种地理围栏扇区172之间的这种转换可以被连续监控、周期监控(例如,每三十秒、每分钟、每五分钟、每十五分钟等)和/或被动地监测(例如,响应于用户在与用户简档管理系统 10相关联的相应用户设备200上打开应用程序)。地理围栏模块120可以基于服务器100上的当前需求在连续、周期性和/或被动的简档递送之间切换。

如图3C所示,地理围栏模块120被配置为实施第三地理围栏,显示为地理围栏180,其基于用户有权访问的建筑物的预定义覆盖区或建筑物的楼层定义,显示为建筑物覆盖区182。根据示例性实施例,地理围栏模块120被配置为响应于相应用户设备200的当前位置150被定位在建筑物覆盖区182之一内而选择性地激活相应建筑物覆盖区182周围的地理围栏 180。地理围栏模块120被配置为仅递送锁定系统300的加密用户简档,该锁定系统300位于当前激活的建筑物覆盖区182的地理围栏180内和/ 或相应用户有权访问(例如,基于许可模块118中定义的访问权限)相应用户设备200,而与地理围栏180外部的锁定系统300相关联且位于未激活的建筑物覆盖区182内的用户简档不会被递送到相应的用户设备200。

在一些实施例中,随着相应用户设备200的当前位置150改变时,相应用户设备200上的加密用户简档被添加和移除。举例来说,当相应用户设备200离开第一建筑物覆盖区182并进入第二建筑物覆盖区182时 (即,随着用户四处移动,从而改变当前位置150),与第一建筑物覆盖区182内的锁定系统300相关联的加密用户简档可以从相应的用户设备 200中丢弃,并且与第二建筑物覆盖区182内的锁定系统300相关联的加密用户简档可以被添加到相应的用户设备200。可以连续监控、周期监控 (例如,每三十秒、每分钟、每五分钟、每十五分钟等)、被动地监控 (例如,响应于用户在与用户简档管理系统10相关联的相应用户设备 200上打开应用程序),和/或基于进出与建筑物楼层覆盖区182相关联的建筑物的计时、检查、进入、标记等进行监控。地理围栏模块120可以基于服务器100上的当前需求在连续、周期性和/或被动的简档递送之间切换。

在一些实施例中,当相应用户设备200的当前位置150响应于用户移动而改变时,相应用户设备200上的加密用户简档不会响应于相关联的锁定系统300不再落入地理围栏160、地理围栏170和/或地理围栏180内而被立即移除。举例来说,一些用户可能有权访问“漫游”功能。当漫游特征被激活时,加密的用户的用户简档被加载到相应的用户设备200上并在从相应的用户设备200移除之前保留指定的时间段(例如,对于用户的整个工作班次等)。例如,用户可以在具有锁定系统300的第一子集的第一位置,然后移动到具有锁定系统300的第二子集的第二位置。地理围栏模块120由此可以在位于第一位置时将与锁定系统300的第一子集相关联的加密用户简档递送到相应的用户设备200。当在第二位置时,地理围栏模块120然后可以将与锁定系统300的第二子集相关联的加密用户简档递送到相应的用户设备200,同时在用户设备200上维护与锁定系统300的第一子集相关联的加密用户简档。然后,地理围栏模块120可以在指定时段期满(例如,用户轮班结束等)时移除相应用户设备200上的所有加密用户简档。如果用户在不同位置之间来回跳动(例如,减少服务器100上的负载等),则这样的漫游模式可以防止在一天内多次加载和移除相同的用户简档。

在一些实施例中,当对服务器100上的需求高于一个或更多个阈值时或响应于一个或更多个节流触发,节流模块122被配置为采用节流技术来减少服务器100上的负载。节流对一个用户的影响可能与对另一个用户的不同。举例来说,服务器100可以在第二用户之前限制第一用户的简档递送(例如,基于订阅级别、授权级别、许可级别等)。节流技术可以包括从接近/地理围栏递送协议(如关于地理围栏模块120所描述的)转换到非地理围栏递送协议。可以采用各种非地理围栏递送协议来减少服务器负载,包括诸如唤醒递送协议、收藏夹递送协议、收藏夹密钥链递送协议、已知的离线递送协议、覆盖请求递送协议、密钥高速缓存递送协议、动态生命周期递送协议和安全滑块递送协议等技术。

如图2B所示,节流模块122包括多个子模块,示出为接近模块 124、密钥高速缓存模块126、收藏夹模块128、已知离线模块130、动态生命周期模块132、收藏夹密钥链模块134、覆盖请求模块136、唤醒模块138、安全滑块模块140和优先化模块142。作为简要概述,(i)接近模块124被配置为促进实施地理围栏递送协议(如本文关于地理围栏模块 120所描述的),(ii)密钥高速缓存模块126、收藏夹模块128、已知离线模块130、动态生命周期模块132、收藏夹密钥链模块134、覆盖请求模块136和唤醒模块138被配置为实现各种非地理围栏递送协议,以及 (iii)基于当前需求或服务器100上的负载,优先化模块142被配置为动态地转换用户配置文件(a)在地理围栏递送协议和各种非地理围栏递送协议之间以及(b)在各种非地理围栏递送协议之间的递送。

密钥高速缓存模块126被配置为促进为用户简档实现密钥高速缓存递送协议。根据示例性实施例,密钥高速缓存模块126被配置为当系统需求低(例如,低于阈值需求水平等)时异步刷新每个用户的用户简档池,并将这样的用户简档池存储在高速缓存中,当需要访问用户可访问的锁定系统300时,每个用户都可以容易地访问该用户配置文件简档池。这种预缓冲在较高的访问高峰期减少了系统负载。密钥高速缓存模块126可以基于包括过去访问/下载历史、当前时间和日期、用户设备200的当前位置等在内的各种因素为用户简档池选择用户简档。因此,密钥高速缓存模块 126被配置为在服务器100具有空闲或未使用的容量时智能地预加载或预缓冲用户简档,使得用户简档可以在需要时在服务器100上以减少的负载递送到用户设备200。

收藏夹模块128被配置为促进实现收藏夹递送协议以递送用户简档。根据示例性实施例,收藏夹模块128被配置为监控每个用户设备200的访问历史(例如,通过用户设备200在访问锁定系统300之后提供的审计追踪等)以确定相应用户访问允许相应用户访问的每个锁定系统300的频率。基于访问历史,收藏夹模块128可以被配置为基于特定时间段内的访问频率(例如,用户在前一天、上周、上个月等期间访问每个锁定系统 300的次数)来对相应用户有权访问的锁定系统300进行分类。收藏夹模块128然后可以为每个用户自动生成收藏夹列表,该收藏夹列表包括基于访问历史确定的每个用户最常访问的锁定系统300的用户简档。根据示例性实施例,收藏夹模块128被配置为基于用户的更新访问历史动态更新收藏夹列表。收藏夹列表中包含的用户简档的数量可能因用户而异。举例来说,第一用户可以具有第一订阅,其提供具有第一数量的用户简档(例如,五个、十个、十五个等用户简档)的收藏夹列表,而第二用户可以具有第二订阅,其提供具有第二更大数量的用户简档(例如,二十个、二十五个等用户简档)的收藏夹列表。当收藏夹递送协议由收藏夹模块128实现以将用户简档递送到一个或更多个用户设200时,用户设备200中的一个或更多个可以仅自动发送其用户的收藏夹列表上的锁定系统300的用户简档。用户设备200可以使用另一递送协议(例如,唤醒递送协议、覆盖请求递送协议、收藏夹密钥链递送协议等)手动访问未包括在收藏夹列表中的锁定系统300。

已知离线模块130被配置为便于实现用于递送用户简档的已知离线递送协议。根据示例性实施例,已知离线模块130被配置为识别位于已知用户设备200的无线连接较差的区域中的锁定系统300。在一些实施例中,已知的离线模块130被配置为手动接收位于连接不良区域的锁定系统300 的指示(例如,由用户经由他们相应的用户设备200等)。在一些实施例中,已知的离线模块130被附加地或替代地配置为自动确定锁定系统300 中的哪些位于已知用户设备200的无线连接较差的区域中。举例来说,当用户设备200访问锁定系统300时,用户设备200和/或锁定系统300被配置为生成详述交互的审计追踪(例如,哪个锁定系统被访问,何时发生了访问,执行了哪些功能等)。用户设备200和/或锁定系统300还可以在访问锁定系统300时将关于连接(例如,蜂窝连接、网络连接等)的细节插入到审计追踪中。已知的离线模块130可以被配置为(i)解释从用户设备200接收的审计追踪内的这种连接信息和(ii)识别锁定系统300中的哪个应该被归类为位于连接不良的区域中(例如,经由机器学习等)。例如,如果确定当用户设备200访问特定锁定系统300时,连接较差或不存在超过阈值百分比的时间(例如,50%、75%等),则特定锁定系统 300可以被标记为“离线已知”。因此,当已知离线递送协议由已知离线模块130实现以将用户简档递送到用户设备200中的一个或更多个时,一个或更多个用户设备200可仅自动发送用于锁定系统300的被分类为“离线已知”的用户简档。用户设备200然后可以使用另一锁定系统(例如,唤醒递送协议、覆盖请求递送协议、收藏夹密钥链递送协议等)手动访问其他锁定系统300(即,未知的离线锁定系统)。

动态生命周期模块132被配置为促进实现用于递送用户简档的动态生命周期递送协议。根据示例性实施例,动态生命周期模块132被配置为基于用户访问与每个用户简档相关联的锁定系统300的频率动态调节与相应用户相关联的用户简档的生命周期(即,相应用户简档有效的时间量)。举例来说,动态生命周期模块132可以被配置为(i)识别并延长与相应用户更频繁访问的锁定系统300相关联的用户简档的生命周期,以及 (ii)识别和减少与相应用户不太频繁访问的锁定系统300相关联的用户简档的寿命。因此,更频繁使用的用户简档将在更长的持续时间内保持活动状态并离线存储在相应用户的用户设备200上,因此防止需要不断地重新递送与相应用户更频繁访问的锁定系统300相关联的用户简档。而另一方面,动态生命周期模块132被配置为(i)识别并避免传输与不常访问的锁定系统300相关联的用户简档,以及(ii)缩短此类用户简档的寿命,使得当这些用户简档由用户请求(例如,按需、经由覆盖请求递送协议、经由唤醒递送协议等),用户简档的有效持续时间比平时短(例如,单次使用、三十分钟等)。

收藏夹密钥链模块134被配置为便于实现收藏夹密钥链递送协议以用于递送用户简档。根据示例性实施例,收藏夹密钥链模块134被配置为接收相应用户希望收藏哪个锁定系统300的指示(例如,经由在他们的用户设备200上手动选择等)。收藏夹密钥链模块134被配置为基于包括与相应用户手动收藏的锁定系统300相关联的用户简档的指示,为相应用户生成收藏夹密钥链。收藏夹密钥链中包含的用户简档的数量可能因用户而异。举例来说,第一用户可具有第一订阅,其提供具有第一数量的用户简档(例如,五个、十个、十五个等用户简档)的收藏夹密钥链,而第二用户可具有第二订阅,其提供了具有第二个更大数量的用户简档(例如,二十、二十五个等用户简档)的收藏夹密钥链。当收藏夹密钥链模块134正在实现收藏夹密钥链递送协议以将用户简档递送到用户设备200中的一个或更多个时,一个或更多个用户设备200可以仅自动发送在与其用户相关联的收藏夹密钥链上的锁定系统300的用户简档。用户设备200可以使用另一递送协议(例如,唤醒递送协议、覆盖请求递送协议等)手动访问未包括在收藏夹密钥链中的锁定系统300。

覆盖请求模块136被配置为促进实现用于递送用户简档的覆盖请求递送协议。根据示例性实施例,覆盖请求模块136被配置为选择性地递送用户在用户设备200上手动请求的用户简档。举例来说,在覆盖请求递送协议期间,用户设备200可以显示用户有权访问的锁定系统300的列表。锁定系统300的列表可包括(i)用户有权访问的所有锁定系统300或(ii) 仅用户在用户设备200的当前地理围栏内有权访问的锁定系统300和/或用户设备200当前没有本地存储的用户简档的锁定系统300。用户然后可以从他或她希望拥有用户简档的锁定系统300的列表中选择锁定系统300 中的哪一个。覆盖请求模块136然后可以将所选锁定系统300的用户简档递送到用户设备200。因此,当覆盖请求递送协议正由覆盖请求模块136 实现以将用户简档递送到一个或更多个用户设备200中,可以仅向一个或更多个用户设备200发送经由用户设备200手动请求的锁定系统300的用户简档。

唤醒模块138被配置为有助于实现用于递送用户简档的唤醒递送协议。根据示例性实施例,唤醒模块138被配置为有选择地实时向正在尝试访问锁定系统300的用户设备200递送用户简档。举例而言,如果相应的用户设备200当前没有与锁定系统300相关联的用户简档,则用户可以唤醒锁定系统300(例如,通过按下其上的按钮等)。锁定系统300可以响应于被唤醒而广播与其相关联的标识符,该标识符可以被相应的用户设备 200接收并且发送到服务器100。唤醒模块138可以被配置为查证相应的用户设备200被允许以访问锁定系统300,并且响应于查证相应的用户设备200,将与相应的用户设备200相关联的用于访问锁定系统300的用户简档发送到相应的用户设备200。

安全滑块模块140被配置为便于实现用于递送用户简档的安全滑块递送协议。根据示例性实施例,安全滑块模块140被配置为(例如,管理员等)(i)通过选择使用用户简档更频繁地过期来促进用户(例如,管理员等)选择性地增加安全性(并且因此增加对服务器100的需求和订阅成本)和(ii)通过选择使用户简档不那么频繁地过期来选择性地降低安全性(并因此降低对服务器100的需求和订阅成本)。举例来说,用户可选择使与位于建筑物外部的锁定系统300相关联的用户简档更频繁地到期,并且使与位于建筑物内部的锁定系统300相关联的用户简档不太频繁地到期。因此,安全滑块模块140可以被配置为在实现安全滑块递送协议时首先递送与更安全的锁定系统300相关联的用户简档。

当对服务器100的需求高于一个或更多个阈值或响应于一个或更多个节流触发时,优先化模块142被配置为采用节流技术来减少服务器100上的负载。举例来说,优先化模块142可以被配置为(i)在地理围栏递送协议和各种非地理围栏递送协议之间以及(ii)在各种非地理围栏递送协议之间基于(a)来自用户设备200的服务器100上的当前需求或负载和/ 或(b)与一个或多个一个或更多个用户设备200相关联的每个用户的许可或订阅级别,将用户配置文件简档的递送动态地转换到一个或更多个用户设备200。

根据示例性实施例,优先化模块142被配置为确定和监控作为使用地理围栏递送协议向用户设备200递送用户简档的结果的服务器100上的当前聚合负载。优先化模块142然后被配置为确定服务器100上的当前聚合负载(例如,由于用户简档请求的数量、比正常搜索更长的时间来提供用户简档、新的简档生成和/或管理员添加到系统的锁等)是否大于负载阈值。优先化模块142可以被配置为响应于当前聚合负载大于负载阈值而使用相应的非地理围栏递送协议(例如,唤醒递送协议、收藏夹递送协议、收藏夹密钥链递送协议、已知离线递送协议、覆盖请求递送协议、密钥缓存递送协议、动态生命周期递送协议、安全滑块递送协议等)开始将与一个或更多个用户设备200相关联的用户简档递送到一个或更多个用户设备 200。举例来说,优先化模块142可以被配置为在转换较高许可级别的用户和/或较低订阅级别的用户之前,将用于较低许可级别的用户和/或较低订阅级别的用户的用户简档的递送从地理围栏递送协议转换为一种或更多种非地理围栏递送协议,以根据需要减少服务器负载。

优先化模块142还可以被配置为(i)对于尚未经由非地理围栏递送协议接收用户简档的更多用户设备200,将简档递送从地理围栏递送协议转换为非地理围栏递送协议和/或(ii)开始将已经经由非地理围栏递送协议接收到用户简档的用户设备200的用户简档递送到负载密集度较低的非地理围栏递送协议以减少服务器负载。优先化模块142可以持续这样做直到服务器100上的当前负载降低到可接受的水平(例如,低于负载阈值等)。举例来说,优先化模块142可以被配置为按以下顺序在非地理围栏递送协议之间转换:(i)密钥高速缓存递送协议,(ii)收藏夹递送协议, (iii)已知的离线递送协议,(iv)动态生命周期递送协议,(v)收藏夹密钥链递送协议,(vi)安全滑块递送协议,(vi)覆盖请求递送协议,以及(vii)唤醒递送协议。应当理解,上述顺序仅用于说明目的,在不同的实施例中或针对不同的用户可以实现不同的顺序。在一些实施例中,用户的许可级别或订阅级别可以限制可以与该用户一起实施的非地理围栏递送协议(即,非地理围栏递送协议中的至少一个不与相应用户一起使用)。

用户设备

一般而言,用户设备200被配置为根据服务器100采用的简档递送协议(例如,接近/地理围栏递送协议、非地理围栏协议等)选择性地接收和存储各种加密的用户简档,以便于访问和/或至少部分地管理用户设备 200有权访问的锁定系统300的操作。例如,用户设备200可用于解锁、锁定和/或以其他方式管理锁定系统300的功能(例如,改变设置、更新固件等)。用户设备200可以通过使用被配置为在用户设备200上运行的应用程序(“app”)来访问和/或管理锁定系统300。例如,该应用程序可以安装在移动电话或其他便携式设备上,并且该应用程序可以用于通过无线连接配置和/或控制锁定系统300。在一些实施例中,用户设备200是便携式设备,诸如智能手机、手机、移动电话、平板电脑、智能手表、膝上型计算机和/或其他类型的合适的便携式设备。在另一个实施例中,用户设备200是台式计算机。

如图4所示,用户设备200包括处理电路202、第一收发器222、第二收发器224、用户界面226和位置确定电路228。处理电路202具有处理器204、存储器206以及定时器220。处理电路202可以包括通用处理器、ASIC、一个或更多个FPGA、DSP、包含一个或更多个处理组件的电路、用于支持微处理器的电路、一组处理组件,或其他合适的电子处理组件。在一些实施例中,处理器204被配置为执行存储在存储器206中的计算机代码以促进这里描述的活动。存储器206可以是能够存储与这里描述的活动相关的数据或计算机代码的任何易失性或非易失性计算机可读存储介质。根据示例性实施例,存储器206包括被配置为由处理器204执行的计算机代码模块(例如,可执行代码、目标代码、源代码、脚本代码、机器代码等)。定时器220被配置为维持用户设备200的时间值。例如,定时器220可以是处理器204的时钟或者可以是用户设备200的任何其他计时电路。定时器220保持的时间值可以用于安全通信(例如,与锁定系统 300同步时间,提供与事件相关的时间戳以用于记录目的等)。

根据示例性实施例,(i)第一收发器222被配置为使用第一通信协议促进用户设备200和服务器100之间的通信,以及(ii)第二收发器224 被配置为使用第二通信协议促进用户设备200和锁定系统300之间的通信。在一些实施例中,第一通信协议和第二通信协议不同。举例而言,第一通信协议可以是长距离通信协议,而第二通信协议可以是短距离通信协议。在替代实施例中,用户设备200使用相同的收发器(例如,仅第一收发器222)与服务器100和锁定系统300通信。在一个实施例中,第一收发器222包括用于经由蜂窝网络与服务器100通信的蜂窝组件。在另一个实施例中,第一收发器222包括有线或无线(例如,Wi-Fi)组件,用于通过互联网或其他网络与服务器100通信。在一个实施例中,第二收发器 224包括用于与锁定系统300建立蓝牙连接的蓝牙组件。在另一实施例中,第二收发器224包括促进不同类型的短距离和/或无线通信协议(例如,射频、RFID、WiFi、蓝牙、ZigBee、NFC等)的不同类型的组件。

用户界面226可以包括显示屏和/或一个或更多个用户输入设备(例如,触摸屏、按钮、麦克风、扬声器、显示器、键盘、触控笔输入、鼠标、触控板等)以允许用户与用户设备200、服务器100、锁定系统300 和/或在用户设备200上运行的任何应用程序交互。位置确定电路228(例如,全球定位系统(“GPS”)接收器)可以被配置为生成并促进提供用户设备200的位置(例如,当前位置150)和/或相应锁定系统300的当前位置(例如,第一位置数据、第二位置数据等)以发送到服务器100以执行本文公开的地理围栏操作。

根据示例性实施例,用户设备200的存储器206包括被配置为接收、管理和传输加密的用户简档的各种模块。如图4所示,用户设备200的存储器206包括具有位置模块210、简档管理模块212、用户输入模块 214、锁定系统模块216和命令模块218的应用模块208。根据示例性实施例,位置模块210被配置为(i)从位置确定电路228接收关于用户设备200的当前位置150的第一位置数据以及(ii)提供第一位置数据至第一收发器222以传送至服务器100。在一些实施例中,位置模块210被配置为(i)从位置确定电路228接收关于用户设备200正在访问或试图访问的相应锁定系统300的当前位置的第二位置数据,以及(ii)提供传送到服务器100的第二位置数据。在其他实施例中,位置模块210被配置为 (i)经由第二收发器224从锁定系统300(例如,在审计追踪中)接收关于由锁定系统300访问的相应锁定系统300的当前位置的第二位置数据以及(ii)提供第二位置数据至第一收发器222以传送至服务器100。

简档管理模块212被配置为接收并存储服务器100根据这里公开的一个或更多个简档递送协议发送到用户设备200的第一收发器222的加密用户简档和用户密钥。简档管理模块212还被配置为根据本文公开的一个或更多个简档递送协议丢弃(例如,擦除、删除、移除等)加密的用户简档和用户密钥。用户输入模块214被配置为(i)在用户界面226的显示器上提供各种图形用户界面和(ii)接收由用户提供给用户界面226的输入并执行与其相关联的功能。锁定系统模块216被配置为识别用户设备200 正试图访问的相应锁定系统300(例如,基于由相应锁定系统300广播的标识符),并将存储在简档管理模块212中的相应的加密用户简档(例如,没有附加的用户密钥,附加了握手随机数等)提供给第二收发器 224,以将加密的用户简档递送到相应的锁定系统300,以便于控制相应的锁定系统300的各种功能(例如,解锁、锁定、更改设置、更新固件等)。

命令模块218被配置为生成加密命令并将其传输到相应的锁定系统300。加密的命令可以包括用于相应锁定系统300执行诸如解锁、锁定、更改设置、更新固件等动作的命令。根据示例性实施例,使用与在通信会话开始时传输到相应锁定系统300的用户简档相关联的用户密钥来加密命令。在一些实施例中,命令模块218被配置为基于从相应锁定系统300接收的回复随机数生成修改的回复随机数,如本文更详细描述的(例如,响应于相应的锁定系统300成功解密加密的用户简档等)。在这样的实施例中,命令模块218被配置为使用用户密钥和修改后的回复随机数来加密命令。

如图5所示,由用户设备200的用户界面226提供的第一图形用户界面,示为简档列表界面230,包括一个列表,示为简档列表232,具有一个或更多个加密的用户简档,示为简档234。简档列表232包括当前存储在简档管理模块212中的简档234(例如,根据一个或更多个简档递送协议递送到用户设备200的简档234)。

如图6和图7所示,由用户设备200的用户界面226提供的第二图形用户界面,被示为锁定系统界面240,显示关于相应锁定系统300的各种信息,(i)用户设备200当前具有存储在其上的加密用户简档(例如,在简档管理模块212中,通过经由简档列表界面230等选择简档234之一) 和/或(ii)用户设备200当前正在访问该锁定系统300。锁定系统界面 240包括显示为设置选项卡250的第一选项卡、显示为位置选项卡260的第二选项卡和显示为历史选项卡270的第三选项卡。

如图6所示,设置选项卡250提供关于相应锁定系统300的各种设置的信息,例如自动重新锁定延迟(例如,在解锁相应锁定系统300之后在相应锁定系统300重新锁定之前经过的时间,如果它没有被物理打开/解锁),用于可以手动输入到相应锁定系统300的界面中以执行解锁和/或锁定功能的代码,可以访问相应的锁定系统300的用户或用户组的标识,以及相应锁定系统的当前固件版本。设置选项卡250还可有助于改变相应锁定系统300的设置(例如,如果相应用户具有改变设置的许可)。如图7所示,位置选项卡260提供关于相应锁定系统300的最后已知位置的信息和映射界面262。根据示例性实施例,历史选项卡270提供关于相应锁定系统300的历史的信息(例如,审计历史;锁定系统300被锁定、解锁、更新等的时间;谁访问了锁定系统300等等)。

锁定系统

通常,锁定系统300被配置为从相应的用户设备200接收加密的用户简档并且基于加密的用户简档做出访问和/或管理控制决定(例如,是否允许相应用户设备200进行解锁、更新等)。在一个实施例中,锁定系统 300是电子挂锁,例如电子密码或键盘挂锁。在其他实施例中,锁定系统 300可以是或包括但不限于诸如电子门锁或键盘设备(例如,键盘锁闩)、电子保险箱(例如,小文件保险箱、电子密钥保险箱等)、电子轮辋或插芯锁或其他类型的柜锁、电子汽车配件锁(例如,耦合器锁、挂钩锁、拖车锁等)和/或汽车的方向盘或门锁,用于其他机动或非机动车辆 (例如自行车、摩托车、踏板车、ATV和/或雪地摩托)的车辆锁(例如,车轮锁、点火锁等)、储物箱、带电子锁的箱子(例如文件箱、存放小件贵重物品的箱子等)、电子钢缆锁(例如,具有警报功能的钢缆锁,例如用于保护计算设备等)、用于确保访问的上锁挂牌设备(例如,用于在进行电气工作时保护电气控制箱等)、带电子锁的储物柜和/或电子行李锁。

如图8所示,锁定系统300包括处理电路302、第一收发器322、第二收发器324、用户界面326、位置确定电路328、锁定机制330和电池 332。在一些实施例中,锁定系统300不包括第二收发器324、位置确定电路328和/或电池332。处理电路302具有处理器304、存储器306和定时器320。处理电路302可以包括通用处理器、ASIC、一个或更多个 FPGA、DSP、包含一个或更多个处理组件的电路、用于支持微处理器的电路、一组处理组件或其他合适的电子处理组件。在一些实施例中,处理器304被配置为执行存储在存储器306中的计算机代码以促进这里描述的活动。存储器306可以是能够存储与这里描述的活动相关的数据或计算机代码的任何易失性或非易失性计算机可读存储介质。根据示例性实施例,存储器306包括被配置为由处理器304执行的计算机代码模块(例如,可执行代码、目标代码、源代码、脚本代码、机器代码等)。定时器320被配置为维持锁定系统300的时间值。例如,定时器320可以是处理器304 的时钟或者可以是锁定系统300的任何其他计时电路。由定时器320保持的时间值可以用于安全通信(例如,与用户设备200同步时间,提供与事件相关的时间戳以用于记录目的等)。

根据示例性实施例,第一收发器322被配置为使用第一通信协议促进锁定系统300和用户设备200之间的通信。例如,第一通信协议可以是短距离通信协议。在一个实施例中,第一收发器322包括用于与用户设备 200的第二收发器224建立蓝牙连接的蓝牙组件。在另一个实施例中,第一收发器322包括促进不同类型短距离的不同类型的组件和/或无线通信协议(例如,射频、RFID、Wi-Fi、蓝牙、ZigBee、NFC等)。在锁定系统300包括第二收发器324的实施例中,第二收发器224被配置为促进锁定系统300和服务器100之间使用第二通信协议的直接通信。例如,第二通信协议可以是远程通信协议。在替代实施例中,锁定系统300使用相同的收发器(例如,仅第一收发器322,经由Wi-Fi等)与服务器100和用户设备200通信。在一个实施例中,第二收发器324包括用于经由蜂窝网络与服务器100通信的蜂窝组件。在另一个实施例中,第二收发器324包括有线或无线(例如,Wi-Fi)组件,用于通过互联网或其他网络与服务器100通信。在其他实施例中,锁定系统300硬连线到网络(例如,在访问控制系统实现中等)。

用户界面326可以包括显示屏和/或一个或更多个用户输入设备(例如,触摸屏、按钮、麦克风、扬声器、显示器、小键盘、方向键等)以允许用户与锁定系统300交互。举例来说,用户界面326可有助于将锁定系统300从睡眠模式唤醒。作为另一示例,用户界面326可以促进手动输入解锁组合。在包括位置确定电路328的实施例中,位置确定电路328(例如,全球定位系统(“GPS”)接收器)可以被配置为生成并促进提供锁定系统300的当前位置(例如,第二位置数据)到用户设备200(例如,经由第一收发器322)和/或直接发送到服务器100(例如,经由第二收发器 324)以执行这里公开的地理围栏操作。

一个或更多个锁定机制330可以包括一个或更多个物理和/或电子锁定机制(例如,销、卸扣、刻度盘、按钮、轴、钥匙密钥孔、马达、闩锁、锁舌等)。在包括电池332的实施例中,电池332被配置为向锁定系统300提供电力以促进其操作(例如,锁定、解锁等)。电池332可以是可充电的和/或可更换的。因此,这种电池供电的锁定系统300可以是便携式的。在不包括电池332的实施例中,锁定系统300可以耦合到另一个电源以促进其操作(例如,硬连线到干线电源、耦合到外部电源等)。这种锁定系统300可以被固定安装。在一些实施例中,锁定系统300包括可用于建立到另一设备的物理连接的输入/输出端口(例如,USB端口、 COM端口、网络端口等)。例如,制造商可以使用这种物理连接来对锁定系统300进行编程或以其他方式与锁定系统300通信。

根据示例性实施例,锁定系统300的存储器306包括被配置为做出访问控制决定的各种模块。如图8所示,锁定系统300的存储器306包括用户输入模块308、访问控制模块310和位置模块312。在一些实施例中,存储器306不包括位置模块312(例如,在锁定系统300不包括位置确定电路328等的实施例中)。

用户输入模块308被配置为通过用户界面326接收输入。举例来说,用户输入模块308可以接收将锁定系统从睡眠模式唤醒的输入。作为另一示例,用户输入模块308可以接收手动访问代码以解锁或以其他方式访问锁定系统300。作为另一个示例,用户输入模块308可以从相应的用户设备200接收加密的用户简档。

访问控制模块310被配置为存储锁定系统300的锁定标识符、锁定密钥和/或手动访问代码。访问控制模块310可以被配置为经由第一收发器 322广播锁定标识符(例如,响应于从睡眠模式被唤醒等)。响应于广播,锁定系统300可以从相应的用户设备200接收相关联的加密用户简档。访问控制模块310被配置为利用(i)其上预存储的锁定密钥和/或(ii)附加到加密用户简档的握手随机数(在使用握手随机数的实施例中)以解密加密的用户简档,从而从解密的用户简档中获取用户密钥。在一些实施例中,访问控制模块310被配置为响应于成功地解密加密的用户简档,而生成并经由第一收发器322向相应的用户设备200发送回复随机数。

访问控制模块310可以经由第一收发器322从相应的用户设备200接收加密命令(例如,在成功解密加密的用户简档之后等)。访问控制模块 310被配置为使用从解密的用户简档中获得的用户密钥。在一些实施例中,访问控制模块310被配置为基于回复随机数生成修改的回复随机数以连同用户密钥一起解密加密的命令(在访问控制模块310生成回复随机数并将其发送到用户设备200并且用户设备200使用用户密钥和修改的回复随机数生成并加密命令的实施例中)。访问控制模块310被配置为响应于成功解密加密命令,发起由解密命令指定的动作(例如,解锁物理锁定组件、实现固件更新、更新其设置等)。

根据示例性实施例,访问控制模块310被配置为使用单个解密算法对加密的用户简档和加密的命令进行解密。举例来说,解密算法可以是或包括具有密码块链接消息验证码(“CCM”)算法的计数器,如对块密码操作模式的建议中进一步详细描述的:由美国国家标准与技术研究所于 2004年5月出版并由莫里斯·德沃金(Morris Dworkin)撰写的用于身份验证和机密性的CCM模式,通过引用将其全部内容并入本文。

在一些实施例中,使用锁定密钥和用户密钥的双密钥认证方案消除了将锁定系统300与用户设备200配对(例如,使用蓝牙配对等)以在锁定系统300和用户设备200之间创建安全通信会话的任何需要。在这样的实施例中,在锁定系统300和用户设备200之间的通信会话结束之后,锁定系统300因此不存储从用户设备200接收的用户密钥(例如,在执行命令之后,由于无法解密加密命令,响应于在预定义的时间段内没有接收到加密命令等)。

应当理解,由这里描述的访问控制模块310实现的双密钥认证方案并不意味着是限制性的,而是作为在用户设备200和锁定系统300之间提供安全通信的一种可能方式的示例来提供的。在其他实施例中,安全通信由访问控制模块310使用不同的认证方案建立,例如使用数字签名的认证方案、质询-响应过程、多因素认证(例如,双因素认证、用户简档加生物特征、用户简档加PIN等),和/或其他合适的认证方案。

在锁定系统300包括位置确定电路328并且不包括第二收发器324的实施例中,位置模块312被配置为(i)从位置确定电路328接收关于锁定系统300的当前位置的第二位置数据,以及(ii)将第二位置数据提供给第一收发器322以传输到相应的用户设备200(其继而由相应的用户设备200提供给服务器100)。在锁定系统300包括位置确定电路328和第二收发器324的实施例中,位置模块312被配置为(i)从位置确定电路 328接收关于锁定系统300的当前位置的第二位置数据,并且(ii)提供第二位置数据至第二收发器324以直接传送至服务器100。在锁定系统 300不包括位置确定电路328或第二收发器324的实施例中,位置模块 312可以被配置为存储锁定系统300的预定位置(例如,在固定安装实施方式中,例如在访问控制系统中等)和/或访问锁定系统300的用户设备 200被配置为生成如本文进一步详细描述的第二位置数据。

如图9所示,锁定系统300被配置为第一锁定系统,显示为电子挂锁 400。电子挂锁400包括壳体,示出为壳体402,锁定机制(例如,锁定机制330等),示出为卸扣404,以及界面(例如,用户界面326等),示出为用户界面406。根据图9所示的示例性实施例,用户界面406包括传感器,示为触摸传感器408,被配置为响应于用户的触摸而唤醒电子挂锁 400和方向板,示为D-pad 410,被配置为以便于输入手动代码(例如,解锁代码等)。在一些实施例中,用户界面406的传感器附加地或替代地包括接近传感器和/或麦克风,其被配置为响应于检测到附近的用户而唤醒电子挂锁400。在另一个实施例中,用户界面406包括被配置为允许用户输入手动代码和/或被配置为接收密钥(例如,解锁卸扣404等)的键槽的机械拨号盘或小键盘。

如图10所示,锁定系统300被配置为第二锁定系统,显示为电子密钥保险箱500。电子密钥保险箱500包括壳体,显示为壳体502,锁定机制(例如,锁定机制330等),显示为卸扣504,界面(例如,用户界面326等),显示为用户界面506,以及枢轴门,显示为门512。根据图10 所示的示例性实施例,用户界面506包括传感器,示为触摸传感器508,被配置为响应于用户的触摸而唤醒电子密钥保险箱500,以及示为数字键盘510的键盘,被配置为以便于输入手动代码(例如,解锁代码等)。在一些实施例中,用户界面506的传感器附加地或替代地包括接近传感器和 /或麦克风,其被配置为响应于检测到附近的用户而唤醒电子密钥保险箱 500。在另一个实施例中,用户界面506包括被配置为允许用户输入手动代码的机械拨号盘或D-键和/或被配置为接收密钥的密钥槽(例如,以解锁卸扣504、门512等)。根据示例性实施例,门512枢转地联接到壳体 502以促进选择性地暴露壳体502的内腔(例如,被配置为存储一组密钥等)。

如图11所示,锁定系统300被配置为第三锁定系统(例如,锁箱、储物柜等),显示为电子锁箱600。电子锁箱600包括壳体,显示为壳体 602,门,显示为盖子604,界面(例如,用户界面326等),显示为用户界面606,以及传感器,显示为传感器608。根据示例性实施例,盖子 604枢转地联接到并且选择性地固定到(例如,通过锁定机制等)壳体 602以促进选择性地暴露壳体602的内腔。在一个实施例中,用户界面 606包括被配置为便于输入手动代码(例如,解锁代码等)、麦克风、显示屏等的键盘或其他组件。在另一个实施例中,用户界面606包括机械拨号或d-pad被配置为允许用户输入手动代码和/或密钥键槽被配置为容纳密钥(例如,以解锁盖子604等)。在一个实施例中,传感器608是或包括接近传感器和/或相机设备,其被配置为响应于检测到附近的用户而唤醒电子锁箱600。关于电子锁箱600的更多细节可以在于2015年9月14日提交的美国专利No.10,205,913中找到,该专利通过引用整体并入本文。

如图12所示,锁定系统300被配置为第四锁定系统,显示为电子门锁定系统700。电子门锁定系统700包括门锁,显示为电子门锁702,以及接收器,显示为门框接收器704,被配置为与电子门锁702(例如,其门闩、其保持器等)交互。在一个实施例中,门框接收器704是门闩接收器。在另一个实施例中,门框接收器是电扣板(electric strike)。在一些实施例中,电子门锁702是具有被配置为促进与用户设备200通信的通信组件(例如,蓝牙组件等)的门锁。在一些实施例中,电子门锁702是建筑物访问控制系统的一部分。在这样的实施例中,电子门锁系统700还可以包括独立的读取器(例如,读卡器、密钥链读取器、凭证读取器等),显示为读取器706,其硬连线到电子门锁702并配置为做出访问控制决策。读取器706可以包括锁定系统300的处理电路302的各种组件。在一些实施例中,电子门锁702不具有被配置为促进与用户设备200通信的通信组件。在这样的实施例中,电子门锁定系统700还可以包括外部无线收发器 (例如,BLE继电器等),示为无线继电器708,其被配置为与电子门锁702交互以促进与用户设备200的无线通信。无线继电器708从而可以为不具有必需的无线通信能力的现有门锁提供“改造”解决方案。无线继电器708可以包括锁定系统300的处理电路302的各种组件。

方法

现在参考图13,示出了根据示例性实施例的用于基于接近/地理围栏递送协议向用户设备(例如,用户设备200等)递送一个或更多个用户简档的方法1300。在替代实施例中,可以执行更少、额外和/或不同的步骤。此外,流程图的使用并不意味着限制所执行步骤的顺序。

在步骤1302,服务器(例如,简档管理服务器、服务器100等)被配置为存储多个用户简档。在步骤1304,服务器被配置为接收关于用户设备的地理围栏的地理围栏设置(例如,基于用户的订阅、用户选择的设置等)。在步骤1306,服务器被配置为接收关于一个或更多个锁的位置的锁定位置数据(例如,第二位置数据等)。服务器可以直接从锁接收锁定位置数据和/或经由一个或更多个用户设备间接接收锁定位置数据。锁定位置数据可以指示一个或更多个锁的实时当前位置、最后已知位置和/或固定位置。

在步骤1308,服务器被配置为从用户设备接收关于用户设备的第一位置(例如,当前位置150等)的第一用户设备位置数据(例如,第一位置数据等)。在步骤1310,服务器被配置为基于锁位置数据和第一用户设备位置数据(参见例如图3A-3C)确定一个或更多个锁中的哪些在地理围栏内。在步骤1312,服务器被配置为向用户设备提供与地理围栏内的一个或更多个锁对应的多个用户简档的第一子集。在提供用户简档的第一子集之前,服务器可以被配置为(i)将关联的用户密钥插入或附加到多个用户简档的第一子集的每个用户简档中,(ii)生成多个用户简档的第一子集的每个用户简档的握手随机数(在使用握手随机数的实施例中),(iii) 加密多个用户简档的第一子集的每个用户简档和用户密钥组合,使用(a) 每个用户配置文件简档相关联的特定锁的锁密钥锁定密钥和/或(b)握手随机数(在使用握手随机数的实施例中)以生成加密的用户简档,和/或 (iv)附加(a)用户密钥和/或(b)与每个加密用户简档相关联的握手随机数(在使用握手随机数的实施例中)到加密用户简档。

在步骤1314,服务器被配置为从用户设备接收关于用户设备的第二位置的第二用户设备位置数据。在步骤1316,服务器被配置为基于锁定位置数据和第二用户设备位置数据确定一个或更多个锁中的哪些在地理围栏内。在步骤1318,服务器被配置为向用户设备提供与地理围栏内的一个或更多个锁相对应的多个用户简档的第二子集。在提供用户简档的第二子集之前,服务器可以被配置为与用户简档的第一子集类似地加密用户简档的第二子集。在步骤1320,服务器和/或用户设备被配置为从用户设备删除多个用户简档的第一子集和/或第二子集。举例而言,当用户设备接收到多个用户简档的第二子集时,可以从用户设备中删除多个用户简档的第一子集。作为另一示例,多个用户简档的第一子集和多个用户简档的第二子集可以保留在用户设备上直到预定义时间段结束(例如,用户的转变,在漫游模式期间等)。

现在参考图14,根据示例性实施例,示出了用于使用用户设备(例如,用户设备200等)与锁(例如,锁定系统300等)交互的方法 1400。在替代实施例中,可以执行更少、额外和/或不同的步骤。此外,流程图的使用并不意味着限制所执行步骤的顺序。

在一些实施例中,在步骤1402,可以将锁从低功率待机或睡眠状态唤醒。例如,锁定系统可以被用户触摸(例如,可以按下锁上的按钮等) 或者可以自动检测用户的接近(例如,使用接近传感器、NFC传感器等)。与锁处于完全可操作的唤醒状态相比,待机/睡眠状态可以使用更少的功率(例如,电池功率等)。在一些实施例中,锁可能始终处于全功能状态,并且可能无法从待机/睡眠状态中唤醒(例如,如果硬连线到外部电源等)。在一些实施例中,在从低功率睡眠状态唤醒后,锁可以广播或以其他方式通告与锁相关联的唯一锁定标识符(例如,由其型号、序列号等形成的标识符)。

在步骤1404,用户设备从锁接收锁定标识符。在一个实施例中,将锁定标识符与存储在用户设备上的一组锁定标识符进行比较以确定用户设备是否与锁定设备相关联(例如,是否存在对应于锁定标识符的加密用户简档等)。例如,每个加密的用户简档可以具有标识与用户简档相关联的用户有权访问的锁的锁定标识符列表。如果为锁找到加密的用户简档,则在步骤1406,用户设备将加密的用户简档传输到锁(例如,包括其中加密的用户密钥,用锁定密钥和/或握手随机数加密,包括握手随机数附加到其上等)。在使用握手随机数的实施例中,加密的用户简档可以由服务器(例如,服务器100等)用锁定密钥(即,用户设备未知的密钥)和握手随机数加密,握手随机数也与加密的用户简档一起发送(例如,附加到其上,参见步骤1312等)。

在步骤1408,锁接收加密的用户简档,并使用预先存储在其上的锁定密钥对加密的用户简档进行解密,以从解密的用户简档中获取用户密钥。在将握手随机数附加到加密的用户简档后发送的情况下,锁使用预先存储在其上的锁定密钥和在解密过程中与加密的用户简档一起接收的握手随机数从解密的用户简档中获取用户密钥。在某些情况下,该锁响应于成功解密加密的用户简档,生成并发送回复随机数到用户设备。

在步骤1410,用户设备生成加密命令并将其发送到锁。根据示例性实施例,使用用户密钥对命令进行加密。在一些实施例中,用户设备基于从锁接收的回复随机数生成修改的回复随机数,并使用用户密钥和修改的回复随机数加密命令。

在步骤1412,锁使用从解密的用户简档获得的用户密钥解密加密的命令。在加密命令由用户设备使用的用户密钥和修改后的回复随机数加密的实施例中,锁基于回复随机数生成它自己的修改的回复随机数,然后尝试使用从解密的用户简档中获得的用户密钥和由锁独立生成的修改的回复随机数来解密加密的命令。在步骤1414,响应于使用用户密钥和/或修改的回复随机数成功解密加密命令,锁启动由解密命令指定的动作(例如,锁可以激活物理锁定组件、执行固件更新、更改锁定设置等)。

在一些实施例中,用户设备和/或锁还可以确保锁的用户简档在该查证时间提供用户访问(例如,通过参考用户简档中包括的调度信息等)。在用户设备传输时间戳的实施例中,锁可以通过将时间戳与锁的当前时间进行比较来查证时间戳。在利用上面讨论的时间戳的实施例中,还可能要求接收到的时间戳在由锁保持的时间的阈值时间量内。在一个实施例中 (例如,如果用户简档许可允许),则来自用户设备的时间戳可用于同步或更新锁定时间。因此,如果用户简档和命令都经过查证(例如,通过成功解密和时间合规等),则锁就可以遵从用户设备的命令并发起相应的动作。

现在参考图15,根据示例性实施例,示出了用于向用户设备(例如,用户设备200等)动态递送用户简档的方法1500。在替代实施例中,可以执行更少、额外和/或不同的步骤。此外,流程图的使用并不意味着限制所执行步骤的顺序。

在步骤1502,服务器(例如,简档管理服务器、服务器100等)被配置为使用地理围栏递送协议,将与多个用户设备(例如,用户设备200 等)中的每一个相关联的用户简档递送到多个用户设备(参见例如方法 1300)。在步骤1504,服务器被配置为确定和监控作为使用地理围栏传输协议递送协议向多个用户设备递送用户配置文件简档的结果的服务器上的当前聚合负载。在步骤1506,服务器被配置为确定服务器上的当前聚合负载是否大于负载阈值。服务器被配置为重复步骤1502-1506并响应于当前聚合负载小于负载阈值(即,服务器能够充分管理当前需求)使用地理围栏递送协议继续递送用户简档。相反,服务器被配置为响应于当前聚合负载超过负载阈值(例如,对服务器的需求高、需求峰值等)进行到步骤 1508。

在步骤1508,服务器被配置为开始使用相应的非地理围栏递送协议 (例如,唤醒递送协议、收藏夹递送协议、收藏夹密钥链递送协议、已知的离线递送协议、覆盖请求递送协议、密钥高速缓存递送协议、动态生命周期递送协议、安全滑块递送协议等)以试图减少服务器上的负载。服务器可以开始向(i)与其相关联的所有用户设备或(ii)使用相应的非地理围栏传输协议递送协议的多个用户设备的子集递送用户简档(例如,基于每个相应用户的订阅级别等,多个用户设备的第一子集可以继续经由地理围栏递送协议接收用户简档,并且多个用户设备的第二子集可以开始经由非地理围栏递送协议接收用户简档)。

在步骤1510,服务器被配置为确定和监控作为使用非地理围栏传输协议递送协议向多个用户设备中的一个或多个一个或更多个用户设备递送用户配置文件简档的结果的服务器上的当前聚合负载。在步骤1512,服务器被配置为确定服务器上的当前聚合负载是否大于负载阈值。服务器被配置为重复步骤1508-1512并继续使用非地理围栏递送协议和/或地理围栏递送协议递送用户简档(例如,如果所有用户设备都没有使用非地理围栏传输协议递送协议接收用户配置文件简档等)以响应于当前聚合负载小于负载阈值(即,服务器能够充分管理当前需求)。相反,服务器被配置为响应于当前聚合负载超过负载阈值而进行到步骤1514。

在步骤1514,服务器被配置为(i)增加经由相应的非地理围栏递送协议接收用户简档的多个用户设备的数量(例如,如果只有多个用户设备的子集当前正在使用相应的非地理围栏递送协议接收与其关联的用户简档,如果多个用户设备的子集当前正在使用地理围栏递送协议接收与其关联的用户简档等)和/或(ii)使用不同的非地理围栏递送协议(例如,第二非地理围栏递送协议等)将与多个用户设备中的一个或更多个相关联的用户简档递送到多个用户设备中的一个或更多个。可以使用不同的非地理围栏递送协议接收用户简档的多个用户设备中的一个或更多个可以是 (i)先前经由第一非地理围栏递送协议接收用户简档的相同的用户设备,(ii)与经由第一非地理围栏递送协议继续接收用户简档的用户设备不同的用户设备,和/或(iii)先前经由第一非地理围栏递送协议接收用户简档的用户设备的子集(例如,可以基于订阅级别等)。服务器然后可以返回到步骤1510。

如果在步骤1514采取的步骤成功地减少了服务器上的当前聚合负载,则服务器可以如先前在步骤1514实施的那样继续递送用户简档。然而,如果当前聚合负载再次超过负载阈值,则服务器被配置为:(i)增加经由各自的非地理围栏递送协议接收用户简档的多个用户设备的数量(例如,进一步减少经由地理围栏递送协议接收用户简档的用户设备数量,增加经由第一非地理围栏递送协议接收用户简档的用户设备的数量,增加经由第二非地理围栏递送协议接收用户简档的用户设备的数量等等)和/或 (ii)使用另一不同的非地理围栏递送协议(例如,第三非地理围栏递送协议等)将与多个用户设备中的一个或更多个相关联的用户简档递送到多个用户设备中的一个或更多个。当服务器上的负载超过负载阈值时,可以重复步骤1508-1514中的过程。当负载减少时,服务器可以返回到步骤 1502或根据地理围栏递送协议逐渐增加接收用户简档的用户设备的数量 (例如,根据对服务器的当前需求等的允许)。

如本文所用,术语“大致”、“大约”、“基本上”和类似术语旨在具有与本公开的主题所涉及的本领域普通技术人员的普遍和接受的用法一致的广泛含义。审阅本公开的本领域技术人员应当理解,这些术语旨在允许对所描述和要求保护的某些特征进行描述,而不将这些特征的范围限制到所提供的精确数值范围。因此,这些术语应被解释为表明对所描述和要求保护的主题的非实质性或无关紧要的修改或变更被认为在所附权利要求中所述的本公开的范围内。

应当注意,用于描述各种元件的术语“示例性”及其变体旨在表明这些是可能的示例、表示或说明(并且这些术语并不意味着这些必须是非凡的或最高级的示例)。

术语“耦合”及其变体,在此使用,是指两个构件直接或间接地相互接合。这种接合可以是固定的(例如,永久的或固定的)或可移动的(例如,可移除的或可释放的)。这种接合可以通过将两个构件直接相互耦合来实现,使用单独的中间构件将两个构件彼此耦合并且使用彼此耦合的任何附加中间构件,或者使用与两个构件之一一体形成为单一整体的中间构件将两个构件彼此耦合。如果“耦合”或其变体被附加术语(例如,直接耦合)修改,则上文提供的“耦合”的一般定义由附加术语的明语含义修改(例如,“直接耦合”意味着接合两个成员没有任何单独的干预成员),导致定义比上面提供的“耦合”的一般定义更窄。这种耦合可以是机械的、电的或流体的。

所使用的术语“或”以其包含的意义(而非排他的意义)使用,因此当用于连接元素列表时,术语“或”表示元素中的一个、部分或全部在列表中。除非另外特别说明,诸如短语“X、Y和Z中的至少一个”的连词被理解为表达元素可以是X、Y、Z;X和Y;X和Z;Y和Z;或X、Y 和Z(即X、Y和Z的任意组合)。因此,除非另有说明,否则这样的连词一般不旨在暗示某些需要X中的至少一者、Y中的至少一者和Z中的至少一者中的每一者存在。

对元件位置的引用(例如,“顶部”、“底部”、“上方”、“下方”)仅用于描述图中各种元件的取向。应当注意,各种元件的取向可以根据其他示例而不同,并且这种变化旨在被本公开所涵盖。

用于实现结合各种公开描述的过程、操作、说明性逻辑、逻辑块、模块和电路的硬件和数据处理组件可以用通用单芯片或多芯片处理器、数字处理器、信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他可编程逻辑器件、离散门或晶体管逻辑、离散硬件组件或设计旨在执行上述描述的功能的任何组合来实现或执行。通用处理器可以是微处理器,或任何常规处理器、控制器、微控制器或状态机。处理器还可以实现为计算设备的组合,例如DSP和微处理器的组合、多个微处理器、一个或更多个微处理器与DSP核结合,或者任何其他这样的配置。在一些实施例中,特定的过程和方法可由特定于给定功能的电路来执行。存储器(例如,存储器、存储器单元、存储设备)可以包括用于存储数据和/或计算机代码的一个或更多个设备(例如,RAM、ROM、闪存、硬盘存储),以完成或促进本公开中描述的各种过程、层和模块。存储器可以是或包括易失性存储器或非易失性存储器,并且可以包括数据库组件、目标代码组件、脚本组件或用于支持本公开中描述的各种活动和信息结构的任何其他类型的信息结构。根据示例性实施例,存储器经由处理电路可通信地连接到处理器并且包括用于执行(例如,由处理电路或处理器)中描述的一个或更多个过程的计算机代码。

本公开考虑在任何机器可读介质上用于完成各种操作的方法、系统和程序产品。本公开可以使用现有的计算机处理器来实现,或者通过用于适当系统的专用计算机处理器来实现,为此或其他目的并入,或者通过硬连线系统。本公开范围内的实施例包括机器的程序产品-用于承载或存储机器可执行指令或数据结构的可读介质。这种机器可读介质可以是可由通用或专用计算机或具有处理器的其他机器访问的任何可用介质。举例来说,这样的机器可读介质可以包括RAM、ROM、EPROM、EEPROM、或其他光盘存储器、磁盘存储器或其他磁存储设备,或可用于以机器可执行指令或数据结构的形式携带或存储所需程序代码并且可由通用或专用计算机或具有处理器的其他机器访问的任何其他介质。上述的组合也包括在机器可读介质的范围内。机器可执行指令包括例如使通用计算机、专用计算机或专用处理机器执行特定功能或功能组的指令和数据。

尽管附图和描述可以说明方法步骤的特定顺序,但是这些步骤的顺序可以与所描绘和描述的不同,除非以上不同地指定。此外,除非以上另有说明,否则两个或更多步骤可以并发地或部分并发地执行。例如,这种变化可能取决于所选择的软件和硬件系统以及设计者的选择。所有这些变化都在本公开的范围内。同样,所描述的方法的软件实现可以通过标准编程技术与基于规则的逻辑和其他逻辑来完成,以完成各种连接步骤、处理步骤、比较步骤和决策步骤。

重要的是要注意,如各种示例中所示的用户简档管理系统10及其组件的构造和布置仅是说明性的。此外,在一个实施例中公开的任何元件可以与公开的任何其他实施例结合或使用。尽管上面仅描述了来自一个实施例的可被并入或用于另一实施例中的元件的一个示例,但应理解,各种其他元件可与任何其他元件结合或使用。

45页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:用于辅助车辆驾驶的电子装置和方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!