交织多个蓝牙低功耗公告的制作方法

文档序号:11335401阅读:209来源:国知局
交织多个蓝牙低功耗公告的制造方法与工艺

相关申请的交叉引用

本申请是国际专利申请,要求于2014年10月14日提交的申请号为14/513,633的美国非临时专利申请的优先权,该美国非临时专利申请的公开内容通过引用的方式以其整体并入本文。

本公开涉及在网络中广播的分组,特别涉及以周期性间隔广播多个分组以便由其他装置接收。

技术背景

蓝牙低功耗(ble)装置被设计为广播分组,该分组公告了具备ble功能的装置的存在,并且这些公告的分组以周期性间隔来传送,使得当处于进行传输的ble装置的范围内时扫描广播分组的其他ble装置将接收分组。在ble传输中,rf通道专用于公告功能,其允许其他扫描装置(例如,移动装置)在它们进入进行传输的装置附近时发现该进行传输的装置。一旦发现具备ble功能的装置并且发起了连接,则常规数据通道就可以被用于通信。具备ble功能的装置中存在两种操作模式,即公告模式和扫描模式。在公告模式中,具备ble功能的进行传输的装置周期性传送公告信息,并且可以在收到来自其他具备ble功能的扫描装置的请求时用更多的信息进行响应。另一方面,具备ble功能的扫描装置监听具备ble功能的进行传输的装置所发送的公告信息,并且可以请求附加信息。以这样的方式进行传输的具备ble功能的装置被称作“信标(beacon)”。

在典型的实现方式中,广播的公告分组数据(即,信标公告)将具有关联的用户数据,该用户数据可以与特定内容或应用相关联。例如,商店可以靠近商店入口放置信标。凭借具备ble功能的移动装置,商店可以为客户提供移动装置应用以监控并且允许接收信标的广播。在该情况下,当具有具备ble功能的移动装置的用户(例如,客户)靠近商店入口时,客户将接收包括商店的用户数据的公告分组。接收到的用户数据可以被应用访问,以为客户提供可以实时生效的内容(即,“邻近”服务)。实质上,信标的公告数据充当“代码”(参见图3),以便其他具备ble功能的接收装置可以识别信标的传输。具备ble功能的接收装置然后可以例如向其他应用提供该“代码”。

附图说明

图1示出了示例性的常规计算机系统,该常规计算机系统包括用于在本公开的示例性系统中执行的一组指令。

图2依照本公开的一个实施例示出了具有控制器和移动装置的示例性系统。

图3依照本公开的一个实施例示出了示例性协议和数据示图。

图4是示出了由根据实施例的监听模块执行的操作的流程框。

图5a是示出了根据实施例的无线站响应网络信息串的接收的操作的框图。

图5b是示出了根据实施例的触发无线站采取动作的处理的框图。

图6a依照本公开的一个实施例示出了控制器的示例性实施例。

图6b依照通用系统示出了示例性控制器和传输/重复子系统。

图6c依照本公开的另一个实施例示出了具有控制器和移动装置的示例性系统。

图7依照本公开的一个实施例示出了多个同步的数据传输的示例性流程图。

图8依照本公开的一个实施例示出了交织信号的示例图。

具体实施方式

鉴于上述内容,通过本公开的各个方面、实施例和/或特定特征或子部件,本公开因而旨在阐明以下具体指出的优点中的一个或多个。

在本公开的示例性实施例中,提供了一种以周期性间隔广播多个数据分组的方法,该方法包括:设置至少一个数据分组的传输间隔,使得所述至少一个数据分组的传输速率与在所述至少一个数据分组的传输范围内的接收装置的接收速率一致;用第一协议填充至少一个数据分组的一部分,所述第一协议包括第一协议数据;使能被填充的至少一个数据分组的传输并传输该被填充的至少一个数据分组;以及在起传输间隔作用的交织(interleaving)间隔的延迟之后,用包括第二协议数据的第二协议填充该至少一个数据分组。

在本公开的另一个示例性实施例中,提供了一种以周期性间隔广播多个数据分组的装置,该装置包括控制器,用于:设置至少一个数据分组的传输间隔,以使所述至少一个数据分组的传输速率与在所述至少一个数据分组的传输范围内的接收装置的接收速率一致;用第一协议填充至少一个数据分组的一部分,所述第一协议包括第一协议数据;使能被填充的至少一个数据分组的传输并传送该被填充的至少一个数据分组;以及在延迟交织间隔之后,用包括第二协议数据的第二协议填充所述至少一个数据分组,所述交织间隔是所述传输间隔的函数。

在本公开的另一个实施例中,提供一种非暂时性计算机可读介质,其中存储有以周期性间隔广播多个数据分组的程序,当被处理器执行时所述程序包括:设置至少一个数据分组的传输间隔,以使所述至少一个数据分组的传输速率与在所述至少一个数据分组的传输范围内的接收装置的接收速率一致;用第一协议填充至少一个数据分组的一部分,所述第一协议包括第一协议数据;使能被填充的至少一个数据分组的传输并传送该被填充的至少一个数据分组;以及在延迟交织间隔之后,用包括第二协议数据的第二协议填充所述至少一个数据分组,所述交织间隔是所述传输间隔的函数。

在本公开的一个方面中,至少一个数据分组符合ble协议。

在本公开的另一个方面中,第一协议是altbeacon协议,并且第二协议是与altbeacon协议不同的协议。

在本公开的另一个方面中,至少一个数据分组的一部分是ble公告。

在本公开的再一个方面中,第一协议数据是第一信标数据,并且第二协议数据是与第一信标数据不同的第二信标数据。

在本公开的另一个方面中,传输间隔是:bletxmt间隔multi=bletxmt间隔single/交织信标的数量。

在本公开的另一个方面中,交织间隔是:信标间隔=(重复因子)*(bletxmt间隔+延迟补偿因子)。

在本公开的另一个方面中,装置还包括以传输间隔广播至少一个数据分组。

在本公开的另一个方面中,传输间隔包括随机延迟和协同随机延迟(coordinatedrandomdelay)中的至少一个,其中,协同随机延迟是伪随机值和产生随机延迟的程序中的一个。

在本公开的另一个方面中,在传输被填充的至少一个数据分组时提供传输通知。

本文所描述的方法是说明性示例,本身并不旨在要求或暗示以所示出的顺序来执行任意实施例的任何特定过程。诸如“其后”、“然后”、“接下来”等的词语并非旨在限制各处理的顺序,相反,这些词语用来引导读者贯穿所述方法的描述。此外,任何所提及的单数形式的各权利要求元素或元件(例如,使用的冠词“一个”、“一”或“所述”等类似用语)不能解释为将该元素或元件限制成单数。

图1是通用计算机系统的示意性实施例,可以在其上实现用于交互系统的活动记录的方法,并且,该系统被示出并标识为100。计算机系统100可以包括一组指令,该组指令可以被执行以使计算机系统100执行本文所公开的各方法或基于计算机的各功能中的任意一个或多个。计算机系统100可以作为独立的装置运行或例如可以使用网络101将其连接至其他计算机系统或周边装置。

在网络化配置中,计算机系统100可以在服务器-客户端用户网络环境中以服务器的身份或作为客户端用户计算机来运行,或者在对等式(或分布式)网络环境中作为对等计算机系统(peercomputersystem)来运行。还可以作为或集成在各种装置中来实现计算机系统100,诸如呼叫拦截器、ivr、内容管理器、富集子系统、消息发生器、消息分发器、规则引擎、ivr服务器、接口服务器、记录发生器、数据接口、过滤器/增强器、脚本引擎、pbx、固定计算机、移动计算机、个人电脑(pc)、笔记本电脑、平板电脑、无线智能手机、个人数字助理(pda)、全球定位卫星(gps)装置、通信装置、控制系统、网络装置、网络路由器、交换器或网桥、网络服务器、或者任意其他设备,该任意其他设备能够执行用于指定该设备的待进行动作的一组指令(顺序的或其他)。计算机系统100可以被集成为特定装置或被集成在特定装置中,该特定装置又在包括其他装置的集成系统中。在特定实施例中,可以使用提供语音、视频或数据通信的电子装置来实现计算机系统100。此外,虽然说明了单个计算机系统100,但词语“系统”还应当被认为包括独立或联合执行一组或多组指令以实现一个或多个计算机功能的系统或子系统的任意集合。

如图1所示,计算机系统100包括处理器110。计算机系统100的处理器是有形的且是非暂时性的。如本文所使用的,词语“非暂时性”不应被解释为状态的永久特性,而应当解释为将持续一段时间的状态特性。词语“非暂时性”特别地否认短暂的特性,诸如特定载波或信号或在任何时间任意地点仅暂时存在的其他形式的特性。处理器是制品和/或机器组件。计算机系统100的处理器配置为执行软件指令,以完成本文各实施例中所描述的功能。计算机系统100的处理器可以是通用处理器或者可以是专用集成电路(asic)的一部分。计算机系统100的处理器还可以是微处理器、微型计算机、处理器芯片、控制器、微控制器、数字信号处理器(dsp)、状态机、或可编程逻辑装置。计算机系统100的处理器还可以是逻辑电路,其包括诸如现场可编程门阵列(fpga)的可编程门阵列(pga)、或者包括离散门和/或晶体管逻辑的另一种类型的电路。计算机系统100的处理器可以是中央处理单元(cpu)、图形处理单元(gpu)、或这两者。另外,本文所描述的任意处理器都可以包括多个处理器、并行处理器、或两者都包括。多个处理器可以包括在或耦接至单个装置或多个装置。

此外,计算机系统100包括可以经由总线108相互通信的主存储器120和静态存储器130。本文所述的各存储器是有形的存储介质,其可以存储数据和可执行指令,并且在其中存储指令期间是非暂时性的。如本文所使用的,词语“非暂时性”不应当解释为状态的永久特性,而是将要持续一段时间的状态特性。词语“非暂时性”特别地否认短暂的特性,诸如特定载波或信号或在任何时间任意地点仅暂时存在的其他形式的特性。本文描述的存储器是制品和/或机器组件。本文描述的各存储器是计算机可以从中读取数据和可执行指令的计算机可读介质。本文描述的各存储器可以是随机存取存储器(ram)、只读存储器(rom)、快闪存储器、电可编程只读存储器(eprom)、电可擦除可编程只读存储器(eeprom)、寄存器、硬盘、可移动磁盘、磁带、致密光盘只读存储器(cd-rom)、数字视盘(dvd)、软盘、蓝光磁盘、或本领域已知的任何其他形式的储存介质。各存储器可以是易失性的或非易失性的,安全的和/或加密的,不安全的和/或不加密的。

如图所示,计算机系统100还可以包括视频显示单元150,诸如液晶显示器(lcd)、有机发光二极管(oled)、平板显示器、固态显示器或阴极射线管(crt)。此外,计算机系统100可以包括诸如键盘/虚拟键盘、或者触摸感应输入屏幕、或者具有语音识别的语音输入的输入装置160,以及诸如鼠标、触摸感应输入屏幕或面板的光标控制装置170。计算机系统100还可以包括磁盘驱动单元180、诸如扬声器或遥控器之类的信号生成装置190,以及网络接口装置140。

在特定环境中,如图1所描述的,磁盘驱动单元180可以包括计算机可读介质182,其中可以嵌入有例如软件的一组或多组指令184。可以从计算机可读介质182中读取指令184的集合。此外,当由处理器执行时,可以使用指令184以完成本文所描述的一个或多个方法和处理。在特定环境中,指令184在计算机系统100执行期间可以完全地或至少部分地驻留在主存储器120、静态存储器130内和/或处理器110内。

在可选实施例中,可以构造诸如专用集成电路(asic)、可编程逻辑阵列和其他硬件组件之类的专用硬件实现方式以实现一个或多个本文所述的方法。一个或多个本文所描述的实施例可以使用两个或多个特定的具有相关控制和数据信号的相互连接的硬件模块或装置来实现功能,所述相关控制和数据信号可以在各模块之间或通过各模块来通信。因此,本公开包含软件、固件和硬件实现方式。本应用中的任何内容均不应当解释为仅使用软件而不使用诸如有形的非暂时性处理器和/或存储器来实现或实施。

依照本公开的各种实施例,使用执行软件程序的硬件计算机系统可以实现本文所描述的方法。此外,在示例性非限制性实施例中,实现方式可以包括分布式处理、组件/对象分布式处理和并行处理。可以构造虚拟计算机系统处理来实现本文所描述的一个或多个方法或功能,并且可以使用本文所描述的处理器以支持虚拟处理环境。

在传统的具备蓝牙低功耗(ble)功能的系统和装置中,信标是将被重复传输的信标协议和其数据的单个实例。通常可用的实现ble规范的固件和硬件也被设计为重复传送单个协议和其数据。

下述公开指定了一种方法,该方法使得系统和/或装置可以在通常可用的固件和硬件上传输多个信标协议和数据。这允许单个硬件装置广播多个信标协议和数据,而不需要必须针对每个信标提供专用硬件。

图2示出了根据本公开一个实施例的具有控制器和移动装置的示例性系统。该示例性系统包括例如信标控制器10、蓝牙tm低功耗(ble)子系统20和移动装置35,它们经由具有信标公告的ble传输来通信。ble子系统20包括信标协和数据25以及ble公告传输器30。移动装置35包括信标客户端应用50和具有ble公告接收器40的信标库45。应当理解的是所描述的系统是示例性的,并且可以包括本领域技术人员所容易理解的任意数量的特征和构件。在该示例中,信标控制器10和移动装置35使用包含信标公告的ble传输来通信。

在示例性系统中,为了使信标公告有用,ble子系统20的传输器30和移动装置35的接收器均应该使用相同的协议来运行。正如所理解的,信标可以使用不同协议传送数据。图3示出了根据本公开实施例的示例性协议和数据示图。例如,在启用或具备ble功能的装置中,传输使用ble协议,该ble协议包括前导码、接入地址、pdu报头、adva、ad标志、ble公告(此处示出为altbeacon公告)和crc。可以用于传送数据另一种协议是altbeacon协议。altbeacon协议在图3中标记为包括ad长度、ad类型、mfgid、信标代码、信标id、refrssi和mfgrsvd的altbeacon公告。在公开的实施例中,altbeacon公告被嵌入为ble协议信标公告的一部分,如图3所示。例如,在图3中,altbeacon协议被嵌入到ble公告分组中。

更具体地,altbeacon是定义了邻近信标公告的信息格式的协议规范。altbeacon邻近信标公告通过启用或具备ble功能的传送装置来传送,以向附近的启用ble功能的接收或扫描装置表明具备ble功能的传送装置在它们附近。发出的公告的内容(数据)包含具备ble功能的接收装置可以用来识别信标(具备ble功能的传送装置)并用来计算其到信标的相对距离的信息。接收装置(具备ble功能的接收装置)可以使用该信息作为内容触发器以执行过程并实现与处于传送信标附近相关的行为。使用邻近信标的示例包括但不限于:

●在用户访问百货公司内的区域时通知用户特殊优惠。

●向博物馆访客提供探究关于展览的其他信息的机会。

●客户到达时就自动通过餐厅的预定系统签到。

许多信标协议保留协议的一部分,以考虑定制化数据。如图3所示,altbeacon规范具有为“信标id”保留的20个字节,其可以用于使用协议以识别特定信标装置的应用。其他信标协议还具有被保留以用于传送可以具体地识别信标装置的id的段(section)。传统的信标装置传送给定协议的固定信标公告,并且使用相同协议的接收装置能够解读嵌在该协议内的数据。结果是,需要多个信标以便使用不同协议来传送。因此,需要有多个信标来传送多个协议,以便支持使用不同协议的接收装置。例如,参考图2,ble子系统20由信标控制器10控制,并且经由ble公告传送器30传送单个信标协议和数据25。传输经由ble公告接收器40在移动装置35处被接收,并且只有当移动装置35使用相同协议(例如,两个装置均使用altbeacon协议)时,才可以解读作为传输(数据的分组)的一部分而被包含的内容(数据)。如果各装置正在使用不同的协议进行传送和/或接收,则将不出现各装置之间的通信。

在本公开的一个实施例中,通用装置可以同时传送多个信标协议(即,不同信标的交织),使得不管接收装置支持何种协议,其都可以利用来自该信标的公告。因而,单个或通用传送装置可以支持多个信标公告。结果是,减少了任意网络中所要部署的硬件的量。不是针对每个信标部署装置,而是部署单个装置并且由该单个装置传送多个信标。减少装置的数量意味着客户要管理和配置的东西更少、可以更好地利用空间和电力资源(对于插入式装置)等。

尽管信标装置可以传送多个不同的协议,但应当理解的是每个信标装置不限于这样的实施例。例如,无论是因为向后兼容性、应用兼容性或其他原因,信标装置可以仅支持特定协议。然而,信标装置还可以被扩展至包括可能不被原始或先前安装的信标协议支持的其他平台。因而,如果信标装置被扩展或改进为部署附加协议,则除了信标装置上安装或启用的任何其他协议外,该信标装置可以支持遗留协议(legacyprotocol)。因此,信标装置可以并入其他协议(其他平台,因而拓宽了客户基础),这样新的平台可能需要移植应用而不用购买额外的信标硬件。此外,信标中包括的数据在不同协议之间是等同的,以便向具有不同协议的多个平台提供通用数据。例如,可以期望在信标数据中嵌入通用信标“代码”,并且即使该“代码”可以通过不同协议传送,但不同平台仍然可以用通用方法解读该特定代码。

继续参照图2,ble子系统20将传送信标协议和数据,并且附近的任意ble接收装置35接收信标公告(图3)。ble公告接收器40解码来自ble公告的ble核心协议,并将解码后的字节传递到平台特定的信标库45(其中,平台例如是移动装置操作系统,诸如ios、安卓、windowsmobile等。但是,应当理解的是该平台不限于这些示例)。给定平台的信标库45可能不支持所有的信标协议。对于支持的协议,信标将经由信标api“公开”它们,并到达将与邻近任意信标交互的客户端应用50。

鉴于存在不同的信标协议(即,没有通用信标协议),这些信标协议对所有的移动装置平台都不是通用的,因而对于支持信标的位置期望找到一种方法来支持更大范围的信标协议。一种传统的方法是安装多个信标传送装置,每个装置专用于给定的信标协议。例如,一个装置可以使用ibeacontm技术传送数据以与支持的iostm装置工作,而另一种装置可以使用altbeacon打开格式协议来传送。但是,该方法需要双倍的硬件,并需要重复管理信标协议和数据。

在本公开的一个实施例中,不同信标协议共享ble子系统。例如,每个信标协议轮流利用ble子系统的硬件。也就是说,通过交织协议并利用现有的ble子系统接口,可以实现通用的、容易获得的硬件系统上的多个协议。应当理解的是,该示例性实施例指通用硬件系统。但是,词语“通用”并不旨在将本公开限制在单个硬件装置。

图4是示出了由根据实施例的监听模块执行的操作的框图。在下文描述的实施例中,监听模块与接收装置等同,诸如启用ble功能的接收装置,并且串广播站与传送装置等同,诸如启用ble功能的传送装置。还应当理解的是,无线站可以是任意无线装置,包括本公开上文所指出的那些。当然,无线监听模块和无线站可以是分离的实体(如所示的那样)或者可以是相同实体(例如,无线站具有启用ble功能的接收能力)。

无线监听模块a和b(元件402和406)配置为监听由诸如sbsa、sbsb和sbsc(元件410、412和414)的串广播站传送的信标消息416。在实施例中,sbs信标消息416包括网络信息串。操作串利用应用程序(元件404)的无线监听模块(元件402和406)接收一个或多个信标消息416并从每个接收到的信标消息中获取网络信息串。无线监听模块(元件402和406)还从无线站202接收探测消息422。探测消息包括无线站202的媒体访问控制器(mac)地址。无线站202运行串利用应用程序210。在另一个实施例中,无线监听模块402还从无线站442接收探测消息444。该探测消息444包括无线站442的媒体访问控制器(mac)地址。无线站442不运行串利用应用程序210的实例。相似地,无线监听模块404还从无线站446接收探测消息448。探测消息包括无线站446的mac地址。无线站446也不运行串利用应用程序210的实例。因此,无线监听模块从无线站和在无线监听模块范围内的sbs接收探测消息和信标消息。在实施例中,诸如模块a和b之类的无线监听模块还可以配置以作为sbs运行并广播包括网络信息串的sbs信标消息。

无线监听模块(例如无线监听模块a402)将无线站202的mac地址、无线站442的mac地址、无线站444的mac地址和监听模块a的mac地址与从每个信标消息416中接收的网络信息串相关联,并且发送所述信息串和mac地址至列表数据服务器430以存储在监听数据库432中。无线监听模块a402还可以提供表示无线站202何时接近监听模块a402的时间戳。

如图4所示,无线监听模块a402经由链路420连接至列表数据服务器430,无线监听模块b406经由链路422连接至列表数据服务器430。链路420和422可以是无线链路(例如,经由无线lan或无线电话网络),或者可以是有线链路(例如,经由dsl线路、有线电视网络、或者光纤网络)。在另一个实施例中,无线监听模块a402和b406经由网状网络(未示出)彼此通信或与其它无线监听模块通信。

使用串利用应用程序210的实例,无线站202可以发送串数据请求消息450以便网络信息串的列表从一个或多个监听模块(例如无线监听模块a402)已经报告的列表服务器接近其当前位置,该一个或多个监听模块还检测到了探测消息和无线站420的mac地址。串数据请求消息450包括无线站202的mac地址。通过从监听数据库432中获取与无线站202的mac地址相关联的网络信息串的列表并将该列表以串数据响应消息的形式发送至无线站202,该列表服务器440可以对该串数据请求消息做出响应。

在实施例中,无线监听模块(例如无线监听模块a402)可以周期性地监听探测消息。接收到探测消息422的时间由时间戳捕获。当无线站移动出无线监听模块a402的范围时,当前时间与上一个时间戳表示的时间之间的经过时间(elapsedtime)将增加。数据库432可以使用该经过时间段以检测监听数据库432中与mac地址和日志数据(例如,mac地址以及相关联的网络信息串)相关的数据的龄期(age),或者删除具有特定龄期的数据。

尽管图4示出两个监听模块a和b,然而该说明并非用于限制。可以在物理空间中部署任意数量的监听模块以形成监听网络。因为监听网络中的每个监听模块的位置是已知的,因而广播探测消息的无线站(与无线站是否操作串利用应用程序无关)的位置在该监听网络内可以被跟踪。

图5a是示出了根据实施例的无线站响应网络信息串的接收的操作的框图。在实施例中,无线站202(例如但不限于,启用或具备wi-fi功能的装置)设置有由处理器206(未示出)执行的串利用应用程序210(串利用应用程序)。例如但不限于,无线站202可以是手机、智能手机、笔记本电脑、自动售货机或收银机。

存储器208以及内容数据库244可包括与命令代码相关联的网络信息串列表,该列表能够被串利用应用程序210访问。无线站202可以从串广播站220接收一个或多个信标消息(包括信标消息230)。串利用应用程序210检查每个信标消息的网络标识符(例如但不限于ssid)。在实施例中,串利用应用程序210可以确定网络标识符是否包含存储在存储器208中的命令代码列表上的网络信息串。可替代地,串利用应用程序210可以将接收到的网络信息串转发到信息串服务器240(未示出)。串服务器240可以用存储在内容数据库244中的包括命令代码的内容进行响应。

当串利用应用程序210接收到与存储在存储器208或内容数据库244中的命令代码相关联的所列的网络信息串时,串利用应用程序210将所列的命令代码引到或提交到(refer)无线站的命令-响应应用程序520或者操作系统522。命令-响应应用程序520以及操作系统522可以被配置为采取动作以响应于命令代码的接收。例如,命令-响应应用程序520可以是浏览器,该浏览器被配置为打开特定网页以响应特定的命令代码。装置操作系统522可以被配置为从存储器装载命令-响应应用程序520或者从因特网下载命令-响应应用程序。其他动作可包括显示提醒消息或播放音频内容。

图5b是示出了根据实施例的触发无线站采取动作的处理的框图。在实施例中,从下载/应用程序服务器570将串利用应用程序下载至从无线服务提供方576接收无线服务的无线站202。在安装过程中,下载/应用程序服务器570获取无线站信息(包括其mac地址和唯一的令牌(token))以及用户信息,并将该站点和用户信息存储在数据库572中。无线站202可以被配置为接收来自无线服务提供方的通知并基于该通知发起响应。在实施例中,监听服务提供方580配置串利用应用程序210,以按照特定的方式对接收到通知进行响应。

在实施例中,通知服务提供方580经由监测服务器582监测一个或多个无线监听模块,例如如图4所示的无线监听模块a402。当在特定无线监听模块附近检测到存在无线站202时,监测服务器582可以向无线服务提供方576发送消息以将通知发送至无线站202。从监测服务器582发送至无线服务提供方576的消息包括与无线站202相关联的唯一令牌。通知服务提供方576基于监测服务器发出的唯一令牌来指导通知服务器578将通知发送至无线站202。无线站202对于通知的接收就是将位置相关的指令传递给了在无线站202上运行的串利用应用程序210。例如但不限于,该指令可促使无线站202下载附近商户的优惠券、呈现内容、运行应用程序、连接至网址等。

监听模块和软件应用程序的全部细节可以在公开号为2012/0294235的美国专利公开中找到,通过引用的方式将该专利的内容并入到本文中。

图6a示出了根据本公开的一个实施例的控制器的示例性实施例。ble子系统700从信标控制器705中接收例如传送使能命令720、用于设置重复传输的间隔的传送间隔命令725、用于传送指令的信标协议和数据735,并且包括ble公告传送器740、子系统传送调度器745、以及用于在物理层传输中导入随机延迟730的组件。ble子系统700由信标控制器705控制,该信标控制器705包括例如用来传送传送使能命令720和传送间隔设置725的交织调度器715。信标控制器705还传送信标协议和数据710,并且传送调度器745可以导入随机延迟730以避免许多ble子系统都在附近的情况下的抵触/冲突。尽管信标控制器705被示出为与ble子系统700的分开的独立组件,但它也可以被包括以作为ble子系统700本身的一部分。

通常,ble子系统将接收例如与信标传输相关的三组数据(尽管不限于三组数据):

·构成信标协议的字节序列和即将嵌入在ble公告中的数据有效载荷;

·用于开始或启用ble公告处理的机制;以及

·广播ble公告的间隔。

为了传送多个信标协议,利用至少以下四组数据(尽管不限于四组数据):

·设置ble子系统的传送间隔(即,间隔=1/速率);

·提供待传送的信标协议和数据的集合;

·启用ble公告传输;以及

·周期性调整ble传输至使用各协议中的一个(来自上述组)。

在ble子系统700的一个示例性流程中,

(1)通过信标控制器705(或者控制传输间隔的任意其他装置)设置ble子系统的传输间隔,

(2)设置具有初始信标协议和数据的传输并由信标控制器705发出传送使能命令,

(3)在一段时间(“信标间隔”)之后,设置具有下一组信标协议和数据的传输,并由信标控制器705(或者控制传输间隔的任意其他装置)使能传输,以及

(4)必要时重复该处理。

在上述处理中的各阶段单独并不足以使多信标传送器起作用。相反,还应该存在“信标间隔”与物理层ble传送间隔之间的关系。

信标间隔被定义为信标控制器705所使用的用来“切换”(即,交换)ble子系统700所使用的信标协议的时间段。该信标间隔是ble子系统传送间隔外部且独立于ble子系统传送间隔的逻辑间隔。也就是说,ble子系统700不知道是一个信标还是一组信标正在传送,并且不知道在该组信标之间交替的间隔。待传送的信标的数量和交替信标的间隔反而是由信标控制器705来控制。信标的切换或交换与发起单个(即,未改变的)信标传输的处理类似。然而,信标控制器705将再次初始化ble子系统700以便在一段时间之后变化为不同数据组。以下将参照图8对ble子系统700中使用的信标间隔和使用的ble传送间隔的讨论进行描述。

图6b示出了依照通用系统的示例性控制器和传输/重复子系统。在所示系统中,设置参数使得子系统在给定的传输上重复特定的传输数据,并且控制器系统可以(最低限度上)设置数据并初始化传输。使用这些参数,可以创建系统(而不是传送重复数据的子系统),使得数据可以随着时间改变。这与图7a所示的系统相反,在图7a所示的系统中,信标控制器705可以控制传送间隔,并且随机延迟组件730存在于ble子系统700中。在一般的系统中,不需要信标控制器705指定传送间隔,也不需要在ble子系统700中存在随机延迟组件730。如下所述,在“一般的”(即,非ble)系统中不需要这些组件。

如图6b所示,这样的示例性系统可以包括传输上下文控制器750和传输重复子系统780。传输上下文控制器750包括用于传输的传输上下文数据760,以及传输调度器770,该传输调度器770向传输重复子系统780提供传输使能命令765a。传输重复子系统780包括子系统传输调度器770,其从传输上下文控制器750接收传输上下文数据760并输出重复传输760a。重复传输760a包括嵌入在其中的传输上下文数据760,并且可以基于子系统传送调度器770来周期性传送。传送的数据760a是传输上下文数据760,其以由子系统传送调度器设置的间隔被重复传送。嵌入的传输上下文数据760可以基于传输上下文控制器750从传输上下文控制器750接收的传输而随时间改变。

如果在传输上下文控制器750中固定了传输间隔(即,不能被传输上下文控制器750更改),那么传输间隔不改变。因而,传输上下文数据760在其中轮换的间隔将根据固定的间隔来计算。即,公式为:

信标间隔=(重复因子)*(bletxmt间隔+延迟补偿因子)

或者一般等同的:

上下文间隔=(重复因子)*(传输重复间隔+补偿因子)也适用。

但是,如上针对一般情况所述,传输上下文控制器750不能改变传送重复间隔765b。因此,所感知的信标传送速率将比ble子系统传送速率慢了一个等于被传送信标的数量的因子。

此外,在如图6b所示的示例性系统中,可能不产生任何随机延迟。也就是说,随机延迟的产生是可选的,如果是这样的情况,上述公式中的补偿因子就不是绝对必要的了(即,可以是零)。但是,可能存在补偿是有用的情况。

多个同步信标

图7示出了根据本公开的一个实施例的多个同步的数据传输的示例性流程图。在非限制示例性实施例中,信标控制器705使用下述公式设置ble子系统700传输间隔,使得每个单独的信标传输速率匹配预期的客户端速率:

bletxmt间隔multi=bletxmt间隔single/交织信标的数量

信标控制器705然后填充初始信标协议和数据,并且在ble子系统700上使能传输。因此,ble子系统700广播信标。信标控制器705让信标的传输持续通过下列公式所得出的间隔:

信标间隔=(重复因子)*(bletxmt间隔+延迟补偿因子)

当间隔结束时,信标控制器705取回下一个信标的协议和数据,将数据传播至ble子系统700,并且在ble子系统700上使能传输(在此情况下,使能传输,停止先前的传输)。例如,如果信标b0是初始协议和数据,在完成传输的间隔之后,信标控制器705取回信标b1协议和数据,并将数据传播至ble子系统700。信标控制器705循环通过信标b0…bn协议和数据的组,使得处理重复直到终止。

尽管,已经参照蓝牙低功耗(ble)和信标技术讨论了上述示例性公开,但所述概念一般性地适用于设计为重复给定传输的任意系统。也就是说,本公开不限于ble系统和信标技术。

图8示出了依照本公开一个实施例的交织信号的示例图。在一个示例性实施例中,两个信标协议和数据用b0、b1表示,所述信标根据固定的信标间隔轮换,并且ble子系统700使用包括随机延迟的物理层ble传送间隔tx_intvl,应当理解的是,公开的实施例示出了非限制性的双信标示例。但是,系统中可以使用任意数量的信标b0-bn,因为该系统不限于双信标方法。更具体地,图8示出了来自信标控制器705的包括两种不同信标协议b0和b1的传输。如传送的实际信标所描述的那样,使用由信标控制器705所提供的信标协议b0和b1的ble子系统700在各个间隔处传送信标协议b0和b1。

在示例性实施例中,信标间隔b0/b1在信标控制器705中在两个不同信标b0/b1之间交替。然而,被传送的实际信标信息通常不是简单地在两个不同信标b0/b1之间交替。相反,(信标控制器)不是按照b0-b1-b0-b1这样来传送信标,实际的传输可以是例如b1-b1-b1-b0(如描述的那样)。因此,当设置信标间隔时,应该在信标控制器705的逻辑中考虑ble子系统700的传送间隔(包括任意随机延迟)。此外,可以预期的是在切换到另一个信标之前,ble子系统700对特定信标传送多次。例如,不是按照b0-b1-b0-b1-b0-b1-b0-b1-b0的顺序传送信标,而是优选地按照b0-b0-b0-b1-b1-b1-b0-b0-b0的顺序来传送信标。

为了控制多个信标的传输(即,为了交织信标),信标控制器705包括由处理器执行的一组指令或算法,使得信标控制器705可以配置为至少最大化下列可能性:

●与ble传送间隔同步;

●适应添加到传送间隔的随机延迟;

●针对ble子系统的每个传输交替信标;

●使ble子系统在给定的信标上生成一系列传输;以及

●切换到对应一系列传输的交替信标。

下述公式可以被应用或被额外应用于系统,以便针对ble子系统700传输间隔来优化信标交织:

信标间隔=(重复因子)*(bletxmt间隔+延迟补偿因子)

在上述公式中,重复因子表示ble传输应该使用多少次给定的信标协议和数据的近似值。例如,信标因子2可以(平均)将导致在切换到下一个信标协议和数据之前在两个连续的ble传输中传送每个信标。bletxmt间隔(‘tx_intvl’)是ble子系统700的传输间隔,其不包括随机延迟因子。该因子使信标间隔与底层的ble子系统700的传输间隔保持“协调”。例如可以使用延迟补偿因子(‘rdmdelay’)以补偿随机延迟。例如,一种延迟补偿因子的设置可以是最大随机延迟的其与预期的平均延迟相等(假设,例如随机延迟是均匀的概率分布)。这样提供了使信标间隔与底层ble子系统700保持同步的能力。例如,将信标间隔定义为,计算公式结果导致信标控制器705能够用来在信标之间切换的时间间隔。

独立信标的信标速率匹配

对于给定的ble传输间隔,上述讨论的信标交织方法可能导致较慢的信标速率。可能出现较慢的信标速率,因为多个信标共享ble传输间隔,每个均占用一次间隔以进行传送。较慢的信标速率将可能影响信标客户端应用程序,因而应该被考虑。由于信标控制器705通常将具有控制ble子系统700传送间隔的能力,因此信标控制器705将使用下述公式以增加底层ble子系统的传输速率:

bletxmt间隔multi=bletxmt间隔single/交织信标的数量

例如,在一个示例性实施例中,单个信标装置ble子系统以500毫秒的间隔(即,每秒为2的速率)传送其信标信息。然后,传送4个信标的交织信标装置将需要使其ble子系统以125毫秒(500ms/4)传送,这是一个每秒8个ble子系统传输的速率。

在下文中还将参照各个附图公开额外的实施例。

信标循环

在上文公开的非限制性实施例中,信标以重复的顺序循环。例如,如果有4个信标种类:b0、b1、b2、b3,那么,信标将按照b0、b1、b2、b3、b0、b1、b2、b3、b0、b1…来循环。但是,本公开不限于这种重复顺序的实施例。系统还可以生成其他循环顺序和算法,甚至动态地改变循环。

例如,不同顺序中的循环可以呈现为:

b0、b1、b2、b3、b3、b2、b1、b0、b0、b1、b2…

使用不同算法的循环例如可以呈现为:

b0、b3、b3、b1、b2、b0(每个信标是随机确定的),

b0、b1、b1、b2、b2、b2、b3、b3、b3、b3、b0、b0、b0、b0、b0…

动态改变的信标例如可以呈现为:

b0、b1、b2、b3、b0、b1、b2、b3、b5、b1、b2、b3、b5、b1、b2、b3(b5代替了b0),

b0、b1、b2、b3、b0、b1、b2、b0、b1、b0、b1、b0、b1(从循环中移除了b2和b3),

b0、b0、b0、b0、b1、b0、b1、b0(向循环添加了信标)…

ble子系统的附加实施例

在上述公开的非限制性实施例中,作为整个系统的一部分,讨论了一种最低兼容限度的ble子系统。但是,正如本领域技术人员所理解的,该系统不限于最低兼容限度的ble子系统。相反,可以利用任意ble子系统。例如,在如图6c所示的一个示例性实施例中,存在一种示例性系统,其中,两个附加的能力(由虚线表示)补充了图6a所示的特征。这些附加的特征可以单独使用,也可以一起使用。所述特征由下述各项构成(但不限于下述各项):

1.传送通知组件745,其被配置为当传送了给定的传输时通知控制器;以及

2.信标控制器705与ble子系统700之间的随机延迟的协调,如虚线l所表示。例如,通过信标控制器705提供即将用于随机延迟730的(伪)随机值或者ble子系统700为信标控制器705配置用于生成随机延迟730的确定算法(即,控制器可以预测延迟值),或者通过ble子系统700直接为信标控制器705配置延迟值,可以实现协调。

例如,在上述情景(1)中,如果传送通知745通知了信标控制器705,那么信标控制器705然后可以在接收到一个或多个通知时改变信标协议和数据。在上述情景(2)中,如果协同随机延迟730,那么信标控制器705知道生成传输的时间,并且可以将信标协议与数据变化与底层ble子系统700传输同步。

管理信标协议和数据

上述公开的系统还可以被增强以更好地管理更复杂信标的协议和数据。例如,可以用下列方式增强系统(尽管不限于以下方式):

●仅管理协议和数据之间的差异,而不是将不同的协议和数据当做独立的实体来处理。例如,如果一个协议与另一个协议具有实质的结构重叠,那么在两个协议之间可以共享共有的结构。

●将计算逻辑结构包括在信标协议和数据内。例如,具有保持计数器数据的组件的信标协议,其中,计数器每秒(或其他间隔)递增一次。

通用配置api

如果由信标协议保持的数据通过信标的实际用户、通过使用蓝牙协议的ble客户端或者特定配置或应用程序来管理,那么这通常是有用的。此外,多信标系统通常仅用作多协议系统,其中跨协议的数据对于用户具有共同的含义,但是需要向具有不同协议的接收方传递信标传输。针对该特定使用状况,为用户提供用于管理信标数据的单一界面并且具有将数据配置到适当的信标协议的自动化管理系统是有益的。

提供本公开的摘要以符合37c.f.r.§1.72(b),并且所提交的摘要应当理解为不用于解释或限制权利要求书的范围或含义。此外,在上文的详细描述中,出于精简本公开的目的,各种特征可以被分组在一起或者在单独的实施例中描述。该公开不应解释为反映了声明的实施例所要求的特征比明确引述在各个权利要求中的特征多的意图。相反,如以下权利要求所反映的那样,本发明的主题可以比任何公开的实施例中的所有特征少。因而,下述权利要求被并入详细的描述中,并且每个权利要求本身独立地限定所声明的主题。

提供公开的实施例的前述描述是为了使本领域任何技术人员能够制作或使用本公开。这样,上述公开的主题应当被认为是示意性的,而非限制性的,并且所附权利要求意在涵盖所有这样的修改、改善、以及落在本公开的实质精神和范围内的其他实施例。因此,在法律允许的最大程度内,本公开的范围应当被确定为下述权利要求的最宽可容许解释及其等同解释,而不应当受上述详细描述的约束或限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1