用于邻域感知网络中的同步的系统和方法与流程

文档序号:11533436阅读:364来源:国知局
用于邻域感知网络中的同步的系统和方法与流程

概括地说,本申请涉及无线通信,并且更具体地说,涉及用于对等无线网络中的同步的系统、方法、以及设备。



背景技术:

在许多电信系统中,通信网络用于在若干个交互的空间分离的设备之间交换消息。网络可以根据地理范围进行分类,其可以是例如城域的、局域的或个域的。这样的网络将被分别指定为广域网(wan)、城域网(man)、局域网(lan)、无线局域网(wlan)、邻域感知网(nan)或个域网)。网络还根据以下各项而不同:用于互连各种网络站(sta)和设备的切换/路由技术(例如电路交换与分组交换)、用于传输的物理介质的类型(例如有线与无线)、以及所使用的通信协议集(例如,因特网协议组、sonet(同步光网络)、以太网等))。

当网络元件是移动的并且因此具有动态连接需求时,或者如果网络架构是以自组而不是固定的拓扑来形成的,则无线网络通常是优选的。无线网络使用无线、微波、红外、光学等频带中的电磁波,以无导向传播模式采用无形的物理媒体。当与固定的有线网络相比时,无线网络有利地促进用户移动和快速的现场部署。

无线网络中的设备可以向彼此发送信息和/或接收来自彼此的信息。为了进行各种通信,设备可以根据协议进行协调。因此,设备可以交换信息来协调其活动。需要用于协调无线网络内的传输和发送通信的改进的系统、方法、以及设备。



技术实现要素:

本文中讨论的系统、方法、设备和计算机程序产品各具有若干个方面,其中没有一个单独的方面完全负责其所需的属性。在不限制如下面的权利要求所表达的、本发明的范围的情况下,下面简要讨论一些特征。在考虑到这一讨论之后,特别是在阅读了题为“具体实施方式”的部分之后,将理解本发明的有利特征包括当在介质上引入设备时的降低的功耗。

本公开内容的一个方面提供了一种无线通信的方法。该方法包括:在装置处接收以下各项中的至少一项:偏移参数,其指示相对于默认时间段的偏移,在所述偏移期间所述装置应当处于活动模式以发送和/或接收数据;以及间隔参数,其指示多个时间段,其中,所述装置应当在每个时间段期间处于活动模式以发送和/或接收数据。该方法还包括基于所述偏移参数或所述间隔参数来确定将处于所述活动模式的至少一个唤醒时间段。所述方法还包括在所述至少一个唤醒时间段期间发送和/或接收数据。

在各种实施例中,其中仅接收到间隔参数,并且该方法还可以包括基于所述间隔参数来确定所述偏移参数。在各种实施例中,确定所述偏移参数包括确定所述偏移参数等于:当间隔参数为2时、当间隔参数为4时、当间隔参数为8时、以及当间隔参数不是16的因子或倍数时,(remainder(服务标识符/间隔参数)+(间隔参数*ceiling(floor(时间同步函数值/524288)/间隔参数)))/16)。

在各种实施例中,该方法还可以包括:确定在至少一个时间同步函数中的每一时间同步函数处开始的所述默认时间段,所述时间同步函数具有等于零的23个最低有效位。在各种实施例中,该方法还可以包括在除了所述至少一个唤醒时间段的至少一个时间段期间发送发现帧。在各种实施例中,唤醒时间段包括多个16μs发现窗口中的一个发现窗口,所述发现窗口每524288μs发生16384μs。

在各种实施例中,所述发送和/或接收数据包括在邻域感知网络中发送和/或接收发现帧。在各种实施例中,所述偏移参数或间隔参数是经由应用编程接口(api)来接收的。在各种实施例中,所述间隔参数可以按照min(1,floor(以μs为单位的时间间隔/524288μs))进行计算。在各种实施例中,所述偏移可以为零。

另一方面提供了一种被配置为无线地通信的装置。该装置包括处理器,其被配置为接收以下各项中的至少一项:偏移参数,其指示相对于默认时间段的偏移,在所述偏移期间所述装置应当处于活动模式以发送和/或接收数据;以及间隔参数,其指示多个时间段,其中,所述装置应当在每个时间段期间处于活动模式以发送和/或接收数据。所述处理器还被配置为基于所述偏移参数或所述间隔参数来确定将处于所述活动模式的至少一个唤醒时间段。所述装置还包括发射机或接收机,其被配置为在所述至少一个唤醒时间段期间发送和/或接收数据。

在各种实施例中,其中仅接收到间隔参数,并且所述处理器还可以被配置为基于所述间隔参数来确定所述偏移参数。在各种实施例中,所述处理器还被配置为确定所述偏移参数等于:当间隔参数为2时、当间隔参数为4时、当间隔参数为8时、以及当间隔参数不是16的因子或倍数时,(remainder(服务标识符/间隔参数)+(间隔参数*ceiling(floor(时间同步函数值/524288)/间隔参数)))/16)。

在各种实施例中,所述处理器还可以被配置为:确定在至少一个时间同步函数中的每一时间同步函数处开始的所述默认时间段,所述时间同步函数具有等于零的23个最低有效位。在各种实施例中,所述发射机还被配置为在除了所述至少一个唤醒时间段的至少一个时间段期间发送发现帧。在各种实施例中,唤醒时间段包括多个16μs发现窗口中的一个发现窗口,所述发现窗口每524288μs发生16384μs。

在各种实施例中,所述发送和/或接收数据包括在邻域感知网络中发送和/或接收发现帧。在各种实施例中,所述偏移参数或间隔参数是经由应用编程接口(api)来接收的。在各种实施例中,所述间隔参数可以按照min(1,floor(以μs为单位的时间间隔/524288μs))进行计算。在各种实施例中,所述偏移可以为零。

另一方面提供了用于无线通信的另一装置。该装置包括用于接收以下各项中的至少一项的单元:偏移参数,其指示相对于默认时间段的偏移,在所述偏移期间所述装置应当处于活动模式以发送和/或接收数据;以及间隔参数,其指示多个时间段,其中,所述装置应当在每个时间段期间处于活动模式以发送和/或接收数据。该装置还包括用于基于所述偏移参数或所述间隔参数来确定将处于所述活动模式的至少一个唤醒时间段的单元。该装置还包括用于在所述至少一个唤醒时间段期间发送和/或接收数据的单元。

在各种实施例中,其中仅接收到间隔参数,并且该装置还可以包括用于基于所述间隔参数来确定所述偏移参数的单元。在各种实施例中,用于确定所述偏移参数的单元包括用于确定所述偏移参数等于:当间隔参数为2时、当间隔参数为4时、当间隔参数为8时、以及当间隔参数不是16的因子或倍数时,(remainder(服务标识符/间隔参数)+(间隔参数*ceiling(floor(时间同步函数值/524288)/间隔参数)))/16)的单元。

在各种实施例中,该装置还可以包括:用于确定在至少一个时间同步函数中的每一时间同步函数处开始的所述默认时间段的单元,所述时间同步函数具有等于零的23个最低有效位。在各种实施例中,该装置还可以包括用于在除了所述至少一个唤醒时间段的至少一个时间段期间发送发现帧的单元。在各种实施例中,唤醒时间段包括多个16μs发现窗口中的一个发现窗口,所述发现窗口每524288μs发生16384μs。

在各种实施例中,所述用于发送和/或接收数据的单元包括用于在邻域感知网络中发送和/或接收发现帧的单元。在各种实施例中,所述偏移参数或间隔参数是经由应用编程接口(api)来接收的。在各种实施例中,所述间隔参数可以按照min(1,floor(以μs为单位的时间间隔/524288μs))进行计算。在各种实施例中,所述偏移可以为零。

另一方面提供了一种非暂时性计算机可读介质。所述介质包括代码,当所述代码被执行时使得装置接收以下各项中的至少一项:偏移参数,其指示相对于默认时间段的偏移,在所述偏移期间所述装置应当处于活动模式以发送和/或接收数据;以及间隔参数,其指示多个时间段,其中,所述装置应当在每个时间段期间处于活动模式以发送和/或接收数据。该介质还包括代码,当所述代码被执行时使得所述装置基于所述偏移参数或所述间隔参数来确定将处于所述活动模式的至少一个唤醒时间段。所述介质还包括代码,当所述代码被执行时使得所述装置在所述至少一个唤醒时间段期间发送和/或接收数据。

在各种实施例中,其中仅接收到间隔参数,并且该介质还可以包括代码,当所述代码被执行时使得所述装置基于所述间隔参数来确定所述偏移参数。在各种实施例中,确定所述偏移参数包括确定所述偏移参数等于:当间隔参数为2时、当间隔参数为4时、当间隔参数为8时、以及当间隔参数不是16的因子或倍数时,(remainder(服务标识符/间隔参数)+(间隔参数*ceiling(floor(时间同步函数值/524288)/间隔参数)))/16)。

在各种实施例中,该介质还可以包括代码,当所述代码被执行时使得所述装置:确定在至少一个时间同步函数中的每一时间同步函数处开始的所述默认时间段,所述时间同步函数具有等于零的23个最低有效位。在各种实施例中,该介质还可以包括代码,当所述代码被执行时使得所述装置在除了所述至少一个唤醒时间段的至少一个时间段期间发送发现帧。在各种实施例中,唤醒时间段包括多个16μs发现窗口中的一个发现窗口,所述发现窗口每524288μs发生16384μs。

在各种实施例中,所述发送和/或接收数据包括在邻域感知网络中发送和/或接收发现帧。在各种实施例中,所述偏移参数或间隔参数是经由应用编程接口(api)来接收的。在各种实施例中,所述间隔参数可以按照min(1,floor(以μs为单位的时间间隔/524288μs))进行计算。在各种实施例中,所述偏移可以为零。

附图说明

图1a示出了无线通信系统的示例。

图1b示出了无线通信系统的另一示例。

图2示出了可以在图1的无线通信系统内使用的无线设备的功能框图。

图3示出了在其中可以采用本公开内容的各方面的通信系统的示例。

图4示出了根据本发明的示例性实现的用于sta与ap通信以发现nan的示例性发现窗口结构。

图5a显示了介质访问控制(mac)帧的示例性结构。

图5b显示了主偏好值(mpv)的示例性结构。

图5c显示了主偏好值(mpv)的另一示例性结构。

图6a显示了可以在图3中的nan内采用的nan信息单元(ie)的示例性属性。

图6b显示了可以在图3中中的nan内采用的nan信息单元(ie)的另一示例性属性。

图7是示出了多个发现窗口的时序图。

图8显示了根据实施例的发送和/或接收发现帧的方法的流程图800。

具体实施方式

词语“示例性”在本文中用于表示“用作示例、实例或说明”。本文描述为“示例性”的任何实施例不必被解释为比其他实施例优选或有利。在下文中参照附图来更全面地描述新颖性系统、装置和方法的各个方面。然而,本公开内容可以以许多不同的形式具体实现,并且不应被解释为限于在本公开内容中呈现的任何具体结构或功能。相反地,提供这些方面,以使得本公开内容将是彻底和完整的,并且将向本领域技术人员充分地传达本公开内容的范围。基于本文的教导,本领域技术人员应当理解,本公开内容的范围旨在涵盖本文公开的新颖系统、装置和方法的任何方面,无论其是独立于还是结合本发明的任何其他方面实现的。例如,可以使用本文所阐述的任意数量的方面来实现装置或者实践方法。另外,本发明的范围旨在覆盖使用除了本文所阐述的发明的各个方面之外的、其他结构、功能或结构和功能来实践的这种装置或方法。应当理解,本文中公开的任何方面可以由权利要求的一个或多个要素来体现。

尽管本文描述了特定方面,但是这些方面的许多变化和排列都在本公开内容的范围内。虽然提及了优选方面的一些益处和优点,但是本公开内容的范围并不旨在限于特定的益处、用途或目的。相反,本公开内容的各方面旨在广泛地应用于不同的无线技术、系统配置、网络和传输协议,其中一些在附图中以及对优选方面的以下描述中通过示例的方式示出。详细描述和附图仅仅是对本公开内容的说明而不是限制,本公开内容的范围由所附权利要求及其等同物限定。

无线网络技术可以包括各种类型的无线局域网(wlan)。可以通过采用广泛使用的网络协议,使用wlan将附近的设备互连在一起。然而,本文描述的各个方面可以应用于任何通信标准(例如无线协议)。

在一些实现中,wlan包括作为接入无线网络的组件的各种设备。例如,可以存在两种类型的设备:接入点(“ap”)和客户端(也被称为站或“sta”)。通常,ap可以用作wlan的集线器或基站,而sta用作wlan的用户。例如,sta可以是膝上型计算机、个人数字助理(pda)、移动电话等。在一个示例中,sta经由wi-fi(例如,电气和电子工程师协会(ieee)802.11协议)兼容的无线链路连接到ap,以获得到因特网或其他广域网的通用连接。在一些实现中,sta也可以用作ap。

接入点(“ap”)还可以包括、被实现为、或被称为节点b、无线网络控制器(“rnc”)、enodeb、基站控制器(“bsc”)、基站收发台(“bts”)、基站(“bs”)、收发机功能单元(“tf”)、无线路由器、无线收发机或某种其他术语。

站“sta”还可以包括、被实现为、或被称为接入终端(“at”)、订户站、订户单元、移动站、远程站、远程终端、用户终端、用户代理、用户装置、用户设备或某种其他术语。在一些实现中,接入终端可以包括蜂窝电话、无绳电话、会话发起协议(“sip”)电话、无线本地环路(“wll”)站、个人数字助理(“pda”)、具有无线连接能力的手持设备、或连接到无线调制解调器的某种其他适当的处理设备或无线设备。因此,本文教导的一个或多个方面可以并入电话(例如,蜂窝电话或智能电话)、计算机(例如,膝上型计算机)、便携式通信设备、耳机、便携式计算设备(例如,个人数据助理)、娱乐设备(例如,音乐或视频设备或卫星无线单元)、游戏设备或系统、全球定位系统设备或被配置为经由无线介质进行通信的任何其他适当的设备。

如上所述,对等网络的一个或多个sta可以发送同步消息以协调用于对等网络的sta之间的通信的一个或多个可用性窗口。sta还可以交换发现查询和响应,以在同一对等或邻域感知网络内操作的设备之间提供服务发现。在某些方面,邻域感知网络可以被认为是对等网络或自组织网络。sta重复地从睡眠状态唤醒以周期性地发送和/或接收同步消息和发现消息。如果sta106能够在睡眠状态下保持更长时间以节省功率并且不从睡眠状态唤醒以在网络上发送和/或接收同步消息,则这将是有利的。另外,由sta106发送和重传同步和发现消息可能向网络引入大量不必要的开销。

在一些实施例中,例如仅sta的子集可以被配置为发送同步消息,以便减少网络拥塞。在一些实施例中,sta的子集可被指定或被选为“主”sta。例如,可以选择接入外部电源的sta作为主站,而不能选择使用电池供电的sta。在各种实施例中,sta可以被指定为一个或多个不同类型的主sta,包括:发现主sta、同步主sta、和/或锚点(anchor)主sta。

在一些实施例中,一个或多个发现主sta可以发送nan发现消息,而其他sta可能不发送。例如,发现主sta可以被配置为在发现窗口之外传输信标。在一些实施例中,一个或多个同步主站可以发送同步消息,而其他sta可能不发送同步消息。例如,同步主sta可以被配置为在发现窗口内发送信标。

在一些实施例中,一个或多个锚点主sta可以优选地被选择为同步主sta和/或发现主sta。可以按照本文关于主sta推选所描述的选择来预设、推选锚点sta或者以另一种方式来确定锚点sta。具有锚点sta的nan可以被称为锚点nan,而不具有锚点sta的nan可以被称为非锚点nan。

在一些实施例中,nan中的一个或多个sta可以基于动态确定的或预设的主偏好值(mpv)来推选一个或多个主sta。例如,访问外部电源的sta可以将其mpv设置为较高(例如10),而电池供电的sta可以将其mpv设置为较低(例如5)。在推选过程中,具有较高mpv的sta可能更有可能被推选为主sta。在一些实施例中,锚点sta可以具有比非锚点sta更高的mpv,因此更可能被推选为主sta。

在一些情况下,主sta推选过程可能导致sta之间的不公平。例如,主sta可能比非主sta消耗更多的功率和/或处理器资源。在某些实现中,主sta可以作为主sta进入“锁定”,即很少或没有机会将发送同步消息的责任传递给其他sta。另外,nan中的一个或多个sta可能不支持主sta推选过程。在一些实施例中,不支持主sta推选过程的sta可以将其mpv设置为预定值或最小值。因此,对一些sta来说,采用包括性的、兼容mpv的同步传输过程可能是有利的。

图1a示出了无线通信系统100的示例。无线通信系统100可以根据诸如802.11标准等无线标准进行操作。无线通信系统100可以包括与sta进行通信的ap104。在一些方面,无线通信系统100可以包括多于一个ap。另外,sta可以与其他sta进行通信。作为示例,第一sta106a可以与第二sta106b通信。作为另一示例,尽管在图1a中未示出该通信链路,但是第一sta106a可以与第三sta106c通信。

各种过程和方法可以用于无线通信系统100中ap104和sta之间的传输,以及单个sta(诸如第一sta106a)与另一个单个sta(诸如第二sta106b)之间的传输。例如,可以根据ofdm/ofdma技术发送和接收信号。如果是这种情况,则无线通信系统100可以被称为ofdm/ofdma系统。替代地,可以根据码分多址(cdma)技术在ap104和sta之间以及单个sta(诸如第一sta106a)与另一个单个sta(诸如第二sta106b)之间发送和接收信号,如果是这种情况,则无线通信系统100可以被称为cdma系统。

可以在sta之间建立通信链路。图1a中示出了sta之间的一些可能的通信链路。作为示例,通信链路112可以促进从第一sta106a到第二sta106b的传输。另一通信链路114可以促进从第二sta106b到第一sta106a的传输。

ap104可以充当基站并在基本服务区(bsa)102中提供无线通信覆盖。可以将ap104连同与该ap104相关联并使用该ap104进行通信的sta作为基本服务集(bss)。

应当注意,无线通信系统100可能不具有中央ap104,而是可以操作作为sta之间的对等网络。因此,本文中描述的ap104的功能可以替代地由一个或多个sta执行。

图1b示出了可以用作对等网络的无线通信系统160的示例。例如,图1b中的无线通信系统160显示了可以在不具有ap存在的情况下彼此通信的sta106a到106i。这样,sta106a到106i可以被配置为以不同的方式通信,以协调消息的发送和接收,以防止干扰并完成各种任务。在一个方面,图1b中显示的网络可以被配置为“邻域感知网络”(nan)。在一个方面,nan可以指的是用于在彼此靠近的sta之间的通信的网络。在某些情况下,在nan内运行的sta可以属于不同的网络结构(例如,在不同家庭或建筑物中的sta,其作为具有不同的外部网络连接的独立lan的一部分)。

在一些方面,用于对等通信网络160上的sta之间的通信的通信协议可以调度时间段,所述时间段是在其期间可能发生网络sta之间的通信的时间段。在sta106a到106i之间发生通信的这些时间段可以被称为可用性窗口。如下面进一步讨论的,可用性窗口可以包括发现间隔或寻呼间隔。

该协议还可以定义当不发生网络的sta之间的通信时的其他时间段。在一些实施例中,当对等网络160不处于可用性窗口中时,sta可以进入一个或多个睡眠状态。替代地,在一些实施例中,当对等网络160不处于可用性窗口中时,站106a到106i的一部分可以进入睡眠状态。例如,一些站可以包括当对等网络不处于可用性窗口中时进入睡眠状态的网络硬件,而当对等网络不处于可用性窗口中时,sta中包括的其他硬件,例如处理器、电子显示器等,不进入睡眠状态。

对等通信网络160可以将一个sta指派为根sta,或者可以将一个或多个sta指派为主sta。在图1b中,所指派的根sta被示出为sta106e。在对等网络160中,根sta负责周期性地向对等网络中的其他sta发送同步信号。由根sta160e发送的同步信号可以为其他sta106a到106d和106f到106i提供定时参考,以协调在其期间在sta之间发生通信的可用性窗口。例如,同步消息172a到172d可以由根sta106e发送并由sta106b到106c和106f到106g接收。同步消息172可以为sta106b到c和106f到106g提供定时源。同步消息172还可以提供针对将来可用性窗口的调度的更新。同步消息172还可以用于通知sta106b到106c和106f到106g它们仍然存在于对等网络160中。

对等通信网络160中的一些sta可以用作分支同步sta。分支同步sta可以重传从根sta接收到的可用性窗口调度和主时钟信息。在一些实施例中,由根sta发送的同步消息可以包括可用性窗口调度和主时钟信息。在这些实施例中,同步消息可以由分支同步sta重传。在图1b中,sta106b到106c和106f到106g示出位在对等通信网络160中用作分支同步sta。sta106b到106c和106f到106g从根sta106e接收同步消息172a到172d并将该同步消息重传为重传的同步消息174a到174d。通过重传来自根sta106e的同步消息172,分支同步sta106b到106c和106f到106g可以扩展范围并提高对等网络160的鲁棒性。

重传的同步消息174a到174d由sta106a、106d、106h、以及106i接收。这些sta可以被表征为“叶”sta,因为他们不会重传其从根sta106e或分支同步sta106b到106c或106f到106g接收到的同步消息。在一些实施例中,多个sta可以协商对同步信号的发送,如本文更详细地讨论的。

可以周期性地发送同步消息或同步帧。然而,同步消息的周期性发送对于sta106来说可能是有问题的。这些问题可能是由sta106必须重复地从睡眠状态唤醒以周期性地发送和/或接收同步消息而引起。如果sta106能够在睡眠状态下保持更长时间以节省功率并且不从睡眠状态唤醒以在网络上发送和/或接收同步消息,则这将是有利的。

当新的无线设备进入nan的位置时,该无线设备可以在加入nan之前针对发现和同步信息来扫描无线电波。如果sta可以快速访问对于sta加入nan来说必需的信息,则这将是有利的。

另外,由nan内的sta106发送和重传同步和/或发现消息可能向网络引入大量不必要的开销。

图2示出了可以在无线通信系统100或160内采用的无线设备202中使用的各种组件。无线设备202是可以被配置为实现本文描述的各种方法的设备的示例。例如,无线设备202可以包括ap104或sta中的一个。

无线设备202可以包括控制无线设备202的操作的处理器204。处理器204也可以被称为中央处理单元(cpu)。可以包括只读存储器(rom)和随机存取存储器(ram)二者的存储器206可以向处理器204提供指令和数据。存储器206的一部分还可以包括非易失性随机存取存储器(nvram)。处理器204通常基于存储在存储器206内的程序指令来执行逻辑和算术运算。可以执行存储器206中的指令以实现本文描述的方法。

处理器204可以包括或者是利用一个或多个处理器实现的处理系统的组件。所述一个或多个处理器可以是利用以下的任意组合来实现的:通用微处理器、微控制器、数字信号处理器(dsp)、现场可编程门阵列(fpga)、可编程逻辑器件(pld)、控制器、状态机、门控逻辑、离散硬件组件、专用硬件有限状态机、或可以执行对信息的计算或其他操作的任何其他适当的实体。

处理系统还可以包括用于存储软件的机器可读介质。无论被称为软件、固件、中间件、微代码、硬件描述语言还是其他,软件应被宽泛地解释为意味着任何类型的指令。指令可以包括代码(例如,以源代码格式、二进制代码格式、可执行代码格式、或任意其他适当的代码格式)。当指令由一个或多个处理器执行时,使得处理系统执行本文所述的各种功能。

无线设备202还可以包括壳体208,其可以包括发射机210和/或接收机212,以允许在无线设备202和远程位置之间对数据的发送和接收。发射机210和接收机212可以组合成收发机214。天线216可以附着到壳体208并且电耦合到收发机214。无线设备202还可以包括(未示出)多个发射机、多个接收机、多个收发机和/或多个天线。

发射机210可以被配置为无线地发送具有不同分组类型或功能的分组。例如,发射机210可以被配置为发送由处理器204生成的不同类型的分组。当无线设备202被实现为或用作ap104或sta106时,处理器204可以被配置为处理多个不同分组类型的分分组。例如,处理器204可以被配置为确定分组的类型并相应地处理该分组和/或该分组的字段。当无线设备202被实现为或用作ap104时,处理器204还可以被配置为选择并生成多种分组类型中的一种。例如,处理器204可以被配置为生成包括发现消息的发现分组,以及确定在特定情况下要使用什么类型的分组信息。

接收机212可以被配置为无线地接收具有不同分组类型的分组。在一些方面,接收机212可以被配置为检测所使用的分组类型并相应地处理该分组。

无线设备202还可以包括信号检测器218,其可以用于努力检测和量化由收发机214接收到的信号的电平。信号检测器218可以将这样的信号检测为例如总能量、每符号每子载波的能量、功率谱密度和其他信号。无线设备202还可以包括用于处理信号的数字信号处理器(dsp)220。dsp220可以被配置为生成用于发送的分组。在一些方面,所述分组可以包括物理层数据单元(ppdu)。

在一些方面,无线设备202还可以包括用户接口222。用户接口222可以包括键盘、麦克风、扬声器和/或显示器。用户接口222可以包括向无线设备202的用户传送信息和/或从该用户接收输入的任何元件或组件。

无线设备202的各种组件可以通过总线系统226耦合在一起。总线系统226可以包括例如数据总线,并且除了数据总线之外还包括电源总线、控制信号总线和状态信号总线。可以使用某种其他机制将无线设备202的组件彼此耦合在一起或接受彼此的输入或向彼此提供输入。

尽管在图2中示出了许多单独的组件,但是可以组合或共同地实现所述组件中的一个或多个。例如,处理器204可以用于不仅实现上述关于处理器204所描述的功能,而且还用于实现上面关于信号检测器218和/或dsp220描述的功能。此外,图2中示出的每个组件可以使用多个单独的元件来实现。

如图1b中显示的设备,诸如sta106a到106i,例如可以用于邻域感知网络或naning。例如,网络内的各个站可以逐个设备地彼此进行关于每个站支持的应用的通信(例如,对等通信)。可以在nan中使用发现协议来使sta能够对自身进行广告(例如,通过发送发现分组)以及发现由其他sta提供的服务(例如,通过发送寻呼或查询分组),同时确保安全通信和低功率消耗。

在邻域感知或nan中,可以将网络中的一个设备(诸如sta或无线设备202)指定为根设备或sta。在一些实施例中,根设备可以是普通设备,如网络中的其他设备,而不是诸如路由器等专用设备。在nan中,根sta可以负责周期性地向网络中的其他sta发送同步消息或同步信号或帧。由根sta发送的同步消息可以为其他sta提供定时参考,以协调在其期间在sta之间发生通信的可用性窗口。同步消息还可以针对未来可用性窗口的调度提供更新。同步消息还可以用于通知sta它们仍然存在于对等网络中。

在邻域感知网络(nan)中,网络上的sta可以使用由根sta发送并由分支sta重传的同步消息,以便确定可用性窗口。在这些可用性窗口期间,nan中的sta可以被配置为从网络上的其他sta发送和/或接收消息。在其他时间,nan上的sta或sta的一部分可以处于睡眠状态。例如,nan上的sta(诸如无线设备202)可以至少部分地基于从根sta接收到的同步消息而进入睡眠状态。在一些实施例中,nan上的sta可以进入睡眠模式,其中sta的一个或多个元件可以进入睡眠模式而不是整个sta可以进入睡眠模式。例如,sta202可以进入睡眠模式,其中发射机210、接收机212和/或收发机214可以基于在nan上接收到的同步消息而进入睡眠模式。该睡眠模式可以使得sta202能够节省功率或电池寿命。

图3示出了在其中可以采用本公开内容的各方面的nan320的示例。网络中的主sta300向sta提供同步信息。以这种方式,主sta300被配置为与nan320上的sta发送和接收消息310、311、312、以及314。在各种实施例中,消息310、311、312、以及314可以包括本文中所讨论的同步消息或数据结构中的任意一个。

sta300、302、以及304可以是nan320上的sta。在各种实施例中,sta300、302、以及304可以对应于sta106a到106i(图1a到1b)或本文讨论的任何其他sta。作为nan320上的sta,sta300、302、以及304可以接收同步信息(例如,经由消息310、311、312、以及314)和/或向nan320上的其他sta传播同步信息。因此,在各种实施例中,主sta可以作为sta,反之亦然。这些消息可以在可用性窗口期间发送到其他sta,在该可用性窗口期间,每个sta被配置为发送和/或接收来自nan320上的其他sta的传输。例如,sta302可以在可用性窗口期间向sta304发送消息312(所述可用性窗口是针对sta302和sta304二者的可用性窗口),其中,所述可用性窗口部分地基于从根sta接收到的同步消息。

由于nan320上的sta是无线的并且可能在充电之间具有有限量的功率,因此如果sta不会重复地从睡眠状态唤醒以周期性地在nan320的sta之间发送和/或接收同步消息,则这可能是有利的。因此,如果sta300、302和304能够在睡眠状态下保持更长时间以节省功率并且不从睡眠状态唤醒以在网络上发送和/或接收同步消息,则这将是有利的。

主sta300可以周期性地在nan320内发送同步消息。在一些实施例中,同步消息可以指示nan320中的sta的可用性窗口的频率,并且还可以指示同步消息的频率和/或直到下一同步消息的间隔。以这种方式,主sta300向nan320提供同步和一些发现功能。由于主sta300可能不会进入睡眠,或者可能与其他sta相比不经常睡眠,因此主sta能够独立于sta302和304的状态来协调针对nan320的发现和定时。以这种方式,sta302和304依赖于主sta300来进行该功能,并且可以在睡眠状态下保持更长时间以节省功率。

根据各种实施例的系统和方法提供针对nan网络中的无线设备(例如但不限于sta和ap)的使用的私密服务标识符(id)。服务id可以包含输入字符串(例如,服务名称)的散列,并且可以在服务发现帧(sdf)中携带。在nan中,服务提供商可以发布其正在使用发布函数来提供服务的事实。例如,发布函数可以写作:publish(service_name,matching_filter_tx,matching_filter_rx,service_specific_info,configuration_parameters)。类似地,搜索服务的设备可以尝试使用定制函数来定制到服务。例如,定制函数可以写作:subscribe(service_name,matching_filter_rx,matching_filter_tx,service_specific_info,configuration_parameters)。私密服务id可以包括具有额外的私密配置参数的服务id,以使得服务id被加密。在某些实施例中,可以将私密服务id生成为基于服务名称和额外的私密配置参数的散列值。

在某些实施例中,无线设备可以提供其他无线设备可以利用的服务。这些服务可以由被配置为在一个无线设备上执行的软件应用来提供,同时使用在另一无线设备上生成的信息或为另一无线设备(例如但不限于游戏或社交网络服务)生成的信息。可以使用无线设备之间的分组化通信中的服务id来在无线设备之间标识这些服务。服务id的大小可以是变量,其例如但不限于六个字节。

如上所讨论的,可以利用服务id加密密钥和/或定时信息来生成散列值以增加服务id的私密性。在不具有私密配置参数的情况下生成为服务名称的散列值的服务id可以允许第三方确定在区域中正在使用哪些服务以及服务的使用频率或长度。可能不期望第三方监视服务的使用,因为服务提供商或服务用户可能不希望监视其服务使用。在某些实施例中,通过将私密服务id生成为服务名称的散列值,该散列值基于服务id加密密钥和/或定时信息,可以降低不期望的、第三方监视服务的可能性。

在某些实施例中,散列值可以通过使用散列函数来生成。散列函数是将可变长度的输入字符串映射到固定长度的散列值的算法。在一些实施例中,输入字符串可以包括服务名称。可以在本文公开的某些实施例中使用各种类型的散列函数(例如,md5、安全散列算法(sha)、循环冗余校验(crc)等)。在一些实施例中,计算限制可以限制可以使用散列函数的次数。例如,如果散列函数需要大量的计算能力和/或时间(例如,sha-256),则每个发现窗口使用散列函数可能变得不切实际。为了克服这些限制中的某些限制,使用多于一个散列函数或步骤来生成服务id可能是有益的。

在一些实施例中,发现引擎可以使用高计算(hc)散列和/或低计算(lc)散列的组合。相比于hc散列,lc散列需要较低的计算能力和/或较少的时间。例如,发现引擎或处理器可以使用hc散列(例如,sha-256)来将第一服务id计算如下:服务id-1=截断到6字节的(sha-256(service_name))。随后,发现引擎或处理器可以至少部分地基于该第一服务id,使用lc散列(例如,crc-64、sha-3、微小加密算法(tea))来将第二服务id(和/或每个后续服务id)计算如下:服务id-2=截断到6字节(lchash(f(服务id-1,服务id加密密钥,定时信息))在一些实施例中,函数f可以包括服务id名称、加密密钥和/或定时信息的联结。在其他实施例中,函数f可以包括定时信息(例如,时间戳)、服务id和/或加密密钥的按位异或(xor)或其它逐位运算。

图4示出了根据本发明的示例性实现的用于sta发现nan320的示例性发现窗口结构。示例性发现窗口结构400可以包括持续时间404中的发现窗口(dw)402和持续时间间隔408中的整个发现时段(dp)406。在一些方面,通信也可以经由其他信道发生。在时间轴上,时间跨越寻呼水平地延伸。

在dw402期间,sta可以通过诸如发现分组或发现帧等广播消息来广告服务。sta可以监听其他sta发送的广播消息。在一些方面,dw的持续时间可以随时间变化。在其他方面,dw的持续时间可以在一段时间内保持固定。dw402的结束可以与后续dw的开始分开,其由如图4中所示的第一剩余时间段分开。

持续时间408的总间隔可以测量从一个dw的开始到后续dw的开始的时间段,如图4中所示。在一些实施例中,持续时间408可以被称为发现时段(dp)。在一些方面,总间隔的持续时间可以随时间变化。在其他方面,总间隔的持续时间可以在一段时间内保持恒定。在持续时间408的总间隔结束时,可以开始另一总间隔(包括dw和剩余间隔)。连续的总间隔可以无限期地继续或持续一段固定的时间。当sta不发送或监听或不期望发送或监听时,sta可以进入睡眠或省电模式。

在dw402期间发送发现查询。在dp406期间发送对所发送的发现查询的sta响应。如下所解释的,用于发送对所发送的探测或发现查询的响应的所分配时间可以例如与用于发送该发现查询的所分配时间重叠,与用于发送该发现查询的所分配时间相邻,或者在用于发送该发现查询的所分配时间结束之后的某个时间段。

发送对nan320的请求的sta随后唤醒以接收信标。处于睡眠模式或省电模式的sta可以在信标410的开始处唤醒或返回到正常操作或全功率模式,以启用sta的监听。在一些方面,sta可能在sta期望与另一设备通信的其他时间唤醒或恢复正常操作或全功率模式,或者其可以作为接收到指示该sta唤醒的通知分组的结果而唤醒。sta可以提早唤醒以确保sta接收到信标410。信标包括如下所述的信息单元,其响应于sta的探测请求来至少标识nan320。

期望发送探测或发现查询的每个sta可以经由多个方法来知晓dw402的开始和结束。在一些方面,每个sta可以等待信标。所述信标可以指定dw402的开始和结束。

图5a显示了介质访问控制(mac)帧500的示例性结构。在一些方面,mac帧500可以用于上面讨论的信标信号410。如所示,mac帧500包括11个不同的字段:帧控制(fc)字段502;持续时间/标识(dur)字段504;接收机地址(a1)字段506;发射机地址(a2)字段508;目的地址a3)字段510,在一些方面,其可以指示nanbss标识符(bssid);序列控制(sc)字段512;时间戳字段514;信标间隔字段516;能力字段518;信息单元520,其包括窗口信息;以及帧校验序列(fcs)字段522。在一些方面,字段502-522包括mac报头。每个字段可以包括一个或多个子字段或字段。例如,介质访问控制头部500的帧控制字段502可以包括多个子字段,例如协议版本、类型字段、子类型字段和其他字段。另外,本领域普通技术人员将理解,可以将本文描述的各种字段重新排列、调整大小,可以省略一些字段,并且可以添加其他字段。

在一些方面,nanbssid字段510可以指示nan设备的集群。在另一实施例中,每个nan可以具有不同的(例如,伪随机)nanbssid510。在一个实施例中,nanbssid510可以基于服务应用。例如,由应用a创建的nan可以具有基于应用a的标识符的bssid510。在一些实施例中,nanbssid510可以由标准体定义。在一些实施例中,nanbssid510可以基于其他上下文信息和/或设备特征,其例如,举例来说,设备位置、服务器指派的id等。在一个示例中,nanbssid510可以包括nan的经纬度位置的散列。所示的nanbssid字段510是6个八位字节的长度。在一些实现中,nanbssid字段510可以是4个、5个或8个八位字节的长度长。在一些实施例中,ap104可以在信息单元中指示nanbssid字段510。

在各种实施例中,帧500或另一发现帧可以包括mpv。在一个实施例中,fc字段502可以包括上面关于图1a-1b讨论的主偏好值。在一个实施例中,a2字段508可以包括mpv。在各种示例中,整个a2字段508可以包括mpv、一个或多个最高有效位(msb)或最低有效位(lsb)(其可以用mpv替代)等。在一个实施例中,nan-bssid字段510可以包括mpv。在各种示例中,整个nan-bssid字段510可以包括mpv、一个或多个最高有效位(msb)或最低有效位(lsb)(其可以用mpv替代)等。在一个实施例中,能力字段518可以包括mpv。在一个实施例中,一个或多个信息单元(ie)520可以包括mpv,例如将其作为属性来包括。在一个示例中,下面参照图6a描述的ie600可以包括mpv,但是其他ie也可以包括mpv。在本文描述的各种实施例中,包括mpv的字段可以替代地包括对mpv的指示或表示,而不是包括mpv本身。

图5b显示了主偏好值(mpv)550的示例性结构。在一些方面,mpv550可以用于推选主sta和/或处理nan消息,例如本文关于图5b到图5c所描述的。如所示,mpv550包括锚点标志552、跳转指示符554、偏好指示符556和保留比特558。本领域普通技术人员将理解,可以将本文描述的各种字段重新排列、调整大小,可以省略一些字段,并且可以添加其他字段。

锚点标志552用于指示发送mpv的sta106a是否是锚点sta。尽管本文中针对图1a中的sta106a讨论了各种实施例,但是任何sta都可以实现所讨论的特征,包括图1a到图1b中的sta106a到106i,以及图3a中的sta300、302、以及304。如所示,锚点标志552是1比特长。在各种其他实施例中,锚点标志552可以是另一长度,例如,举例来说,2比特或3比特长。在一些实施例中,锚点标志552可以是可变长度。

在一个实施例中,当sta106是锚点sta时,sta106可以将锚点标志552设置为0b1。当sta106不是锚点sta时,sta106可以将锚点标志552设置为0b0。因此,sta106可以在sta106处于非锚点nan的实施例中将锚点标志552设置为0b0。因此,锚点sta可以具有比非锚点sta要高的mpv550。因此,在一些实施例中,可以在主sta推选和/或nan消息处理中优先考虑锚点sta。

跳转指示符554用于指示发射sta106到最近的锚点sta的跳转距离。例如,在锚点的nan中,从锚点sta接收一个或多个消息的sta(即,可以“听到”锚点sta的sta)可以将跳转指示符554设置为0b111。在一个实施例中,不从锚点sta接收到任何消息的sta(即,不能“听到”锚点sta的sta)可以将跳转指示符554设置为从任何sta接收到的最高跳转指示符554减去1。例如,从另一sta接收到0b111的最高跳转指示符554的sta可以将其跳转指示符554设置为0b110,从另一sta接收到0b110的最高跳转指示符554的sta可以将其跳转指示符554设置为0x101等等。

在各种其他实施例中,随着跳转距离增加,跳转指示符554可以递增而不是递减。在一些实施例中,锚点sta可以将跳转指示符554设置为全1或0x111。在一些实施例中,从锚点sta接收一个或多个消息的sta(即,可以“听到”锚点sta的sta)可以将跳转指示符554设置为锚点sta的跳转指示符554减去1。例如,在锚点sta将跳转指示符554设置为0x111的情况下,可以听到锚点sta的非锚点sta可以将其跳转指示符554设置为0x110。在一些实施例中,非锚点nan中的sta106可以将跳转指示符554设置为零或0b000。如所示,跳转指示符554是3比特长。在各种其他实施例中,跳转指示符554可以是另一个长度,例如,举例来说,2比特或4比特长。在一些实施例中,跳转指示符554可以是可变长度。

偏好指示符556用于指示sta106对成为主sta的偏好。如所示,偏好指示符556是3比特长。在各种其他实施例中,跳转指示符554可以是另一个长度,例如,举例来说,2比特或4比特长。在一些实施例中,跳转指示符554可以是可变长度。sta106可以基于一个或多个设备特性、能力和/或特征来设置偏好指示符556。

在各种实施例中,sta106可以基于以下各项中的一项或多项来增加和/或减少偏好指示符556(受最大和最小值影响):射频(rf)特性(例如,链路速度、信号强度等)、电源、功率消耗率、剩余电池电量、时钟类型、时钟精度、处理器负载、用户交互、预设值等。例如,当sta106插入主电源时,或者当其经由全球定位系统(gps)同步其时钟信号时,sta106可以递增偏好指示符556。作为另一示例,当sta106具有高处理器负载和/或具有错误率高于门限的rf链路时,sta106可以减少偏好指示符556和/或避免增加偏好指示符556。

图5c显示了主偏好值(mpv)560的示例性结构。在一些方面,mpv560可以用于推选主sta和/或处理nan消息,例如本文关于图5b到图5c所述。如所示,mpv560包括同步偏好值(spv)561和发现偏好值(dpv)562。本领域普通技术人员将理解,可以将本文描述的各种字段重新排列、调整大小,可以省略一些字段,并且可以添加其他字段。

同步偏好值561指示发送sta对成为主sta的偏好或适用性。如所示,同步偏好值561包括锚点标志563、同步时间年龄指示符(stai)564、和跳转指示符565。如所示,同步偏好值561是7比特长。在各种其他实施例中,同步偏好值561可以是另一个长度,例如,举例来说,4比特或11比特长。在一些实施例中,同步偏好值561可以是可变长度。本领域普通技术人员将理解,可以将本文描述的各种字段重新排列、调整大小,可以省略一些字段,并且可以添加其他字段。

锚点标志563用于指示发送mpv的sta106是否是锚点sta。如所示,锚点标志563是1比特长。在各种其它实施例中,锚点标志563可以是另一长度,例如2比特或3比特长。在一些实施例中,锚点标志563可以是可变长度。

在一个实施例中,当sta106是锚点sta时,sta106可以将锚点标志563设置为0b1。当sta106不是锚点sta时,sta106可以将锚点标志563设置为0b0。因此,在sta106处于非锚点nan的实施例中,sta106可以将锚点标志563设置为0b0。因此,锚点sta可以具有比非锚点sta要高的mpv560。因此,在一些实施例中,可以在主sta推选和/或nan消息处理中优先考虑锚点sta。

同步时间年龄指示符564用于指示从发送sta最后将其时钟同步到锚点sta时钟已经经过了多少时间的测量。如所示,同步时间年龄指示符564是3比特长。在各种其他实施例中,同步时间年龄指示符564可以是另一个长度,例如2到4比特长。在一些实施例中,同步时间年龄指示符564可以是可变长度。

在一个实施例中,当sta106是锚点sta时,sta106可以将同步时间年龄指示符564设置为0b111。当sta106不是锚点sta时,sta106可以从另一sta(本文称为“同步sta”)接收信标(包括同步时间年龄指示符),并且可以基于该信标来同步其时钟。sta106可以将同步时间年龄指示符564设置为从同步sta接收到的信标中的同步时间年龄指示符减去从接收到所述信标以来经过的发现窗口的数量。

例如,在当前发现窗口中从锚点sta接收到信标的sta106可以将其同步时间年龄指示符564设置为0b111-0b0=0b111。在下一发现窗口中,sta106可将其同步时间年龄指示符564设置为0b111-0b1=0b110,依此类推。因此,最近与锚点sta同步其时钟的非锚点sta106可以具有相对较高的mpv560。因此,在一些实施例中,可以在主sta推选和/或nan消息处理中优先考虑具有相对最新时钟的sta106。在sta106处于非锚点nan的实施例中,sta106可以将同步时间年龄指示符564设置为零或0b000。

跳转指示符565用于指示发送sta106到最近的锚点sta的跳转距离。例如,在锚点nan中,从锚点sta接收一个或多个消息的sta(即,可以“听到”锚点sta的sta)可以将跳转指示符565设置为0b111。在一个实施例中,不从锚点sta接收到任何消息的sta(即,不能“听到”锚点sta的sta)可以将跳转指示符565设置为从任何sta接收到的最高跳转指示符565减去1。例如,从另一sta接收到0b111的最高跳转指示符565的sta可以将其跳转指示符565设置为0b110,从另一sta接收到0b110的最高跳转指示符565的sta可以将其跳转指示符565设置为0x101,等等。

在各种其它实施例中,随着跳转距离增加,跳转指示符565可以递增而不是递减。在一些实施例中,锚点sta可以将跳转指示符565设置为全1或0x111。在一些实施例中,从锚点sta接收一个或多个消息的sta(即,可以“听到”锚点sta的sta)可以将跳转指示符565设置为锚点sta的跳转指示符565减去1。例如,在锚点sta将跳转指示符565设置为0x111的情况下,可以听到锚点sta的非锚点sta可以将其跳转指示符565设置为0x110。在一些实施例中,非锚点nan中的sta106可以将跳转指示符565设置为零或0b000。如所示,跳转指示符565是3比特长。在各种其他实施例中,跳转指示符565可以是另一个长度,例如,举例来说,2比特或4比特长。在一些实施例中,跳转指示符565可以是可变长度。

发现偏好值562指示发送sta对成为主sta的偏好或适用性。如所示,发现偏好值562包括偏好指示符566和五个保留比特567。如所示,发现偏好值562是9比特长。在各种其他实施例中,发现偏好值562可以是另一长度,例如3或4比特长。在一些实施例中,发现偏好值562可以是可变长度。本领域普通技术人员将理解,可以将本文描述的各种字段重新排列、调整大小,可以省略一些字段,并且可以添加其他字段。

偏好指示符566用于指示sta106对成为主sta的偏好。如所示,偏好指示符566为4比特长。在各种其他实施例中,偏好指示符566可以是另一长度,例如3或5比特长。在一些实施例中,偏好指示符566可以是可变长度。sta106可以基于一个或多个设备特征、能力和/或特征来设置偏好指示符566。

在各种实施例中,sta106可以基于以下各项中的一项或多项来增加和/或减少偏好指示符566(受最大和最小值影响):射频(rf)特性(例如,链路速度、信号强度等)、电源、功率消耗率、剩余电池电量、时钟类型、时钟精度、处理器负载、用户交互、预设值等。例如,当sta106插入主电源时,或者当其经由全球定位系统(gps)同步其时钟信号时,或使用广域网定时源时,sta106可以递增偏好指示符566。作为另一示例,当sta106具有高处理器负载和/或具有错误率高于门限的rf链路时,sta106可以减少偏好指示符556和/或避免增加偏好指示符566。

图6a显示了可以在图3中的nan320内采用的nan信息单元(ie)600的示例性属性。在各种实施例中,本文描述的任何设备或另一兼容设备可以发送nanie600的属性,所述设备例如,举例来说,ap104(图1a)或本文讨论的任何sta,例如图1a-1b中的sta106a-106i和图3中的sta300、302和304。无线nan320中的一个或多个消息可以包括nanie600的属性,例如信标410。在一些方面,nan信息单元600可以被包括在所描述的mac报头500中的字段520,如以上所描述的。

如图6a所示,nanie600的属性包括:属性id602、长度字段604、下一发现查询窗口(dqw)字段606的时间戳、下一发现响应窗口(drw)字段608的时间戳、发现查询窗口(dqw)持续时间字段610、发现响应窗口(drw)持续时间字段612、dqw时段字段614、drw时段字段616、信标窗口字段618、和发送地址字段620。本领域普通技术人员将理解,nanie600的属性可以包括额外的字段,并且可以将字段重新排列、移除和/或调整大小。

所示的属性标识符字段602是1个八位字节的长度。在一些实现中,属性标识符字段602可以是2个、5个或12个八位字节的长度。在一些实现中,属性标识符字段602可以是可变长度的,例如从信号到信号的不同长度和/或在服务提供商之间变化的长度。属性标识符字段602可以包括将单元标识为nanie600的属性的值。

长度字段604可以用于指示nanie600的属性的长度或后续字段的总长度。图6a所示的长度字段604是2个八位字节的长度。在一些实现中,长度字段604可以是1个、5个、或12个八位字节的长度。在一些实现中,长度字段604可以是可变长度的,例如从信号到信号的不同长度和/或在服务提供商之间变化的长度。

下一dqw字段606的时间戳可以指示下一发现查询窗口的开始时间(例如,上面关于图4描述的下一发现时段406的开始)。在各种实施例中,可以使用绝对时间戳或相对时间戳来指示开始时间。下一dqw字段608的时间戳可以指示下一发现查询响应的开始时间。在各种实施例中,可以使用绝对时间戳或相对时间戳来指示开始时间。

dqw持续时间字段610可以指示dqw的持续时间。在各种实施例中,dqw持续时间字段610可以以ms、μs、时间单位(tu)、或另一个单位来指示dqw的持续时间。在一些实施例中,时间单位可以是1024μs。所示的dqw持续时间字段610是2个八位字节的长度。在一些实现中,dqw持续时间字段610可以是4个、6个、或8个八位字节的长度。

drw持续时间字段612可以指示drw的持续时间。在各种实施例中,drw持续时间字段612可以以ms、μs、时间单位(tu)、或另一个单位来指示drw的持续时间。在一些实施例中,时间单位可以是1024μs。所示的drw持续时间字段612是2个八位字节的长度。在一些实现中,drw持续时间字段612可以是4个、6个、或8个八位字节的长度。

在一些实施例中,dqw周期字段614可以指示dqw的长度。在各种实施例中,dqw周期字段614可以以ms、μs、时间单位(tu)、或另一单位来指示dqw的长度。在一些实施例中,时间单位可以是1024μs。所示的dqw周期字段614在2个和8个八位字节之间。在一些实现中,dqw周期字段614可以是2个、4个、6个、或8个八位字节的长度。

在一些实施例中,drw周期字段616可以指示drw的长度。在各种实施例中,drw周期字段616可以以ms、μs、时间单位(tu)、或另一单位来指示drw的长度。在一些实施例中,时间单位可以是1024μs。所示的drw周期字段616在2个和8个八位字节之间。在一些实现中,drw周期字段616可以是2个、4个、6个、或8个八位字节的长度。

信标持续时间字段618可以指示信标窗口的持续时间。在各种实施例中,信标持续时间字段618可以以ms、μs、时间单位(tu)、或另一单位来指示信标窗口的持续时间。在一些实施例中,时间单位可以是1024μs。所示的信标窗口字段618长度在2个和8个八位字节之间。在一些实现中,信标窗口字段618可以是4个、6个、或8个八位字节的长度。

发送地址字段620指示发送nanie600的sta的网络地址。在一些方面,上面关于图5a讨论的mac报头500的a3字段510将被替代地设置为nanbssid。因此,nanie600提供发射机地址字段620以使得接收机能够确定发射机的网络地址。

图6b显示了可以在图1中的nan320内使用的nan信息单元(ie)650的另一示例性属性。在各种实施例中,本文描述的任何设备或另一兼容设备可以发送nanie650的属性,所述设备例如,举例来说,ap104(图1a)或本文讨论的任何sta,其例如图1a到1b中的sta106a到106i和图3a中的sta300、302、以及304。无线nan320中的一个或多个消息可以包括nanie650的属性,例如,举例来说,信标410。在一些方面,nan信息单元650可以被包括在所描述的mac报头中500字段520中,如以上所描述的。

nan信息单元650与nan信息单元600的不同之处在于:相对于nan信息单元600,已经从nan信息单元650移除了发现查询窗口时间戳和发现查询响应窗口时间戳。在一些方面,nan信息单元650的接收机可以将发现查询窗口开始时间确定为当与nan时钟参考同步的本地时钟参考被dqw周期字段660整除(站时钟moddqw时段=0)的时间。类似地,在某些方面,可以基于当与nan时钟参考同步的本地时钟被drw时段字段662整除(站时钟moddrw时段=0)时,来确定发现响应窗口开始时间。要注意,确定发现查询窗口或发现响应窗口开始时间的这些示例性方法与用于确定信标窗口开始时间的方法类似,在某些方面,所述用于确定信标窗口开始时间的方法可能被发现为“站时钟mod信标间隔=0”)。

图7是示出了多个发现窗口402的时序图700。时序图700上示出的是标记为dw0到dw15的多个发现窗口402,其每发现周期406就发生。在所示实施例中,发现窗口402是16个时间单位(tu)的持续时间,每个tu是1024μs的长度。如所示,发现时段406是512个tu的长度。因此,在所示实施例中,每512个tu发生发现窗口402。

dw402的序列从dw0到dw15被索引,所述dw0到dw15重复进行。在所示实施例中,dw0表示在时间同步函数(tsf)值的最后23比特为零时具有起始时间的dw。换句话说,每个被索引的dw0每16*512*1024μs就发生,每个被索引的dw1每16*512*1024μs就发生,依此类推。

如上所讨论的,应用可以通过发布和定制函数来与发现引擎进行交互。在一些实施例中,每个sta106可以遵守两种唤醒模式中的一种。在第一唤醒模式中,sta106可以在每个dw402唤醒以发送和/或接收数据。在每个dw402唤醒可以允许sta106有更多机会来发送/接收数据,但是可能增加功耗。在第二唤醒模式中,sta106可以每第16个dw402就唤醒以发送和/或接收数据。例如,在一些实施例中,sta106可以在每个dw0唤醒。与每个dw402唤醒相比,每第16个dw402就唤醒可以降低功耗,但可能增加延迟。另外,第一唤醒模式和第二唤醒模式都可能增加任何给定dw402的竞争(例如,许多设备可能在dw0期间唤醒)。因此,期望系统和方法增加dw唤醒模式的灵活性。

在一个实施例中,应用编程接口(api)可以指定sta106唤醒的偏移和/或频率。例如,可以相对于dw0来指定偏移。因此,设备可以在与特定应用相关联的dw402期间唤醒。因此,具有低延迟容限的应用可以指定较高的唤醒频率,而具有较高延迟容限的应用可以指定较低的唤醒频率。此外,偏移可以降低任何给定dw402的高竞争的可能性。

在一些实施例中,配置参数可以包括dw偏移参数和/或dw间隔参数。dw偏移参数可以指定相对于dw0的唤醒偏移。例如,应用可以指定dw偏移1,以指示sta106应该在dw1唤醒。类似地,dw间隔参数可以指定sta106应该在该处唤醒的间隔(例如,以dw、tu、或μs)。例如,应用可以指定16个dw的间隔,以指示sta106应该每第16个dw402就唤醒。

在一个实施例中,如果利用dw偏移和/或dw间隔参数来调用发布和/或定制函数(相对于相关联的服务),则sta106将在对应于指定的偏移和/或间隔的dw402处唤醒以接收针对相关联的服务的发现帧。另外,sta106将仅在与指定的偏移和/或间隔对应的dw处发送针对相关联服务的发现帧。在一些实施例中,对发现帧的发送仍然受到dw竞争规则的约束。在一些实施例中,sta106可以在其他未指定的dw402处发送针对相关联服务的发现帧。如本文所使用的,指定的偏移和/或间隔可以包括指定的偏移和间隔、指定的偏移以及默认或动态确定的间隔、或指定的间隔以及默认或动态确定的偏移。

在一个实施例中,可以将sta106使用的偏移指定为服务id的函数。在一个实施例中,对于2、4、或8个dw的dw间隔,服务id的最后1、2、和3比特(分别)可以用作偏移。例如,如果dw间隔为2dw,并且服务id的最后一比特为0,则sta106可以在每dw0、dw2、dw4、dw6、dw8、dw10、dw12、和dw14处唤醒。作为另一示例,如果dw间隔是4,并且服务id的最后两比特是0b01(即,0d1),则除了默认在dw0唤醒之外,sta106还可以在每dw1、dw5、dw8、和dw13处唤醒。作为另一示例,如果dw间隔为8dw,并且服务id的最后3比特为0b101(即,0d5),则除了默认在dw0唤醒之外,sta106还可以在每dw5和dw13处唤醒。

在一个实施例中,对于不是16的因子或倍数的dw间隔,sta106可以如等式1到4所示的来确定下一唤醒dw,其中x1表示经过的dw的数量:

fixedoffset=remainder(serviceid/dwinterval)...(1)

x1=floor(tsf/(512*1024))...(2)

absolutedwnext=dwinterval*ceil(x1/dwinterval)...(3)

dwnext=remainder((fixedoffset+absolutedwnext)/16)...(4)

图8显示了根据实施例的发送和/或接收发现帧的方法的流程图800。该方法可以全部或部分地由本文中描述的设备来实现,所述设备例如图2中所示的无线设备202,或图1a到1b中所示的任何一个sta106a到106i。尽管所示出的方法在本文中是参考上文关于图1a到1b所讨论的无线通信系统100和160以及上文关于图2讨论的无线设备202来描述的,本领域普通技术人员将理解,所示出的方法可以由本文中描述的另一设备或任何其它适当的设备来实现。尽管所示方法在本文中是参考特定顺序来描述的,但是在各种实施例中,本文中的框可以以不同的顺序来执行或被省略,并且可以添加额外的框。另外,虽然流程图800中的方法在本文中是关于发现帧来描述的,但是该方法可以应用于任何类型的nan帧,所述任何类型的nan帧包括例如同步信标和簇发现信标。

首先,在框810,装置接收偏移参数和间隔参数中的至少一个。偏移参数指示相对于默认时间段的偏移,在所述偏移期间所述装置应当处于活动模式以发送和/或接收数据。例如,sta106可以经由api的发布/定制函数来接收dw偏移参数,如以上关于图7所讨论的。间隔参数指示多个时间段,其中,所述装置应当在每个时间段期间处于活动模式以发送和/或接收数据。例如,sta106可以经由api的发布/定制函数来接收dw间隔参数,如以上关于图7所讨论的。

在各种实施例中,间隔参数可以按照min(1,floor(以μs为单位的时间间隔/524288μs))进行计算。例如,应用可以以μs为单位来指定针对服务的时间间隔(例如,经由api)。sta106可以将时间间隔向下舍入(rounddown)为dw持续时间(在该示例中为524288μs)的最接近的倍数,其中最小为1个dw。在其他实施例中,sta106可以将时间间隔向上舍入(roundup),或者将时间间隔舍入为不同的倍数。在各种实施例中,偏移可以为零。

接下来,在框820,该装置基于所述偏移参数或所述间隔参数来确定将处于活动模式的至少一个唤醒时间段。例如,sta106可以基于dw偏移参数和/或dw间隔参数来确定dw402中的一个或多个,如以上关于图7所讨论的。

在各种实施例中,仅接收间隔参数,并且该方法还可以包括基于间隔参数来确定偏移参数。例如,如以上关于图7所讨论的,sta106可以基于等式1到等式4来确定dw偏移参数或下一dw。在各种实施例中,确定偏移参数包括将偏移参数确定为等于:当间隔参数为2时、当间隔参数为4时、当间隔参数为8时、以及当间隔参数不是16的因子或倍数时,remainder(remainder(服务标识符/间隔参数)+(间隔参数*ceiling(floor(时间同步函数值/524288)/间隔参数)))/16)。

在各种实施例中,该方法还可以包括:确定在至少一个时间同步函数中的每一时间同步函数处开始的所述默认时间段,所述时间同步函数具有等于零的23个最低有效位。例如,sta106可以被配置为额外地或替代地在每个dw0唤醒。

随后,在框830,该装置在该至少一个唤醒时间段期间发送或接收数据。例如,sta106可以在确定的dw402(图7)唤醒。如本文所使用的,唤醒通常可以指可用于发送和/或接收数据(诸如一个或多个发现帧)。sta106可以监视无线介质,否则准备好在确定的dw402期间接收发现帧。sta106可以在所确定的dw402内发送针对相关联的服务(例如,发布或定制)的一个或多个发现帧。

在一些实施例中,sta106可以避免在确定的dw402之外发送发现帧。在各种实施例中,该方法还可以包括在除了至少一个唤醒时间段之外的至少一个时间段内发送发现帧。例如,sta106可以额外地或替代地在除了所确定的dw之外的dw402处发送一个或多个发现帧。

在各种实施例中,唤醒时间段包括多个16μs发现窗口中的一个发现窗口,所述发现窗口每524288μs发生16384μs。在各种实施例中,所述发送和/或接收数据包括在邻域感知网络中发送和/或接收发现帧。在各种实施例中,偏移参数或间隔参数是经由应用编程接口(api)来接收的。

在一个实施例中,图8中显示的方法可以在可以包括接收电路、确定电路以及发送和/或接收电路的无线设备中实现。本领域技术人员将理解,无线设备可以具有比本文所描述的简化的无线设备更多的组件。本文描述的无线设备仅包括用于描述权利要求范围内的实现的一些显着特征的组件。

接收电路可以被配置为接收偏移或间隔参数。接收电路可以被配置为执行图8中的至少框810。接收电路可以包括处理器204(图2)、存储器206(图2)、接收机212(图2)、天线216(图2)和收发机中的一个或多个214(图2)。在一些实现中,用于接收的单元可以包括接收电路。

确定电路可以被配置为确定唤醒时间段。接收电路可以被配置为执行图8中的至少框820。确定电路可以包括处理器204(图2)和存储器206(图2)中的一个或多个。在一些实现中,用于确定的单元可以包括确定电路。

发送和/或接收电路可以被配置为在至少一个唤醒时间段期间发送或接收数据。发送和/或接收电路可以被配置为执行图8中的至少框830。发送和/或接收电路可以包括发射机210(图2)、接收机212(图2)、天线216(图2)和收发机214(图2)中的一个或多个。在一些实现中,用于发送和/或接收的单元可以包括发送和/或接收电路。

在上述讨论中,某些事件,例如转换到活动模式或睡眠模式或发送数据帧,被描述为在某些专门限定的时间发生。当然,精确的时间在实际中是不可能的,这是因为事件本身可能具有从开始到完成的其自身的持续时间,并且还可能在所描述的时间周围进一步包括缓冲时段,例如在确定的时间段之前稍微唤醒以及在确定的时间段之后稍微进入睡眠模式,而不是精确地在这些时间唤醒或睡眠。因此,根据以下期望的目标:维持时间同步,在发现窗口期间成功交换消息,以及减少nan的成员用来执行这些处理的唤醒时间量,此处描述的事件时间旨在本质上是近似的。

应当理解,使用诸如“第一”、“第二”等名称对本文中的元件的任何引用通常不限制这些元件的数量或顺序。相反,这些名称可以在本文中用于方便无线设备在两个或多个元件之间或元件的实例之间进行区分。因此,对第一和第二元件的引用并不意味着在那里只能使用两个元件,或者第一元件可能以某种方式在第二元件之前。另外,除非另有说明,否则元件的集合可以包括一个或多个元件。

本领域普通技术人员将会理解,信息和信号可以使用各种不同技术和方法中的任何一种来表示。例如,在贯穿以上描述可能提及的数据、指令、命令、信息、信号、比特、符号和码片可以由电压、电流、电磁波、磁场或粒子、光场或粒子或其任意组合来表示。

本领域普通技术人员还将了解,结合本文公开的各方面描述的各种说明性逻辑框、模块、处理器、单元、电路和算法步骤中的任何一个可以被实现为电子硬件(例如,数字实现、模拟实现或二者的组合,其可以使用源代码或某种其他技术来设计)、包括指令的各种形式的程序或设计代码(出于方便,在本文中其可以被称为“软件”或“软件模块”)、或二者的组合。为了清楚地表示硬件和软件的这种可交换性,上面对各种示例性的组件、框、模块、电路和步骤均围绕其功能进行了总体描述。至于这种功能是实现成硬件还是实现成软件,取决于具体的应用和对整个系统所施加的设计约束条件。熟练的技术人员可以针对每个特定应用,以变通的方式实现所描述的功能,但是,这种实现决策不应解释为导致背离本公开内容的保护范围。

结合本文公开的各方面以及结合图1到图8描述的各种说明性逻辑框、模块和电路可以在集成电路(ic)、接入终端或接入点内实现或由其执行。ic可以包括通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)、或其他可编程逻辑器件、离散门或晶体管逻辑器件、分立硬件组件、电组件、光学组件、机械组件或被设计用于执行本文所述功能并且可以执行驻留在ic内部、ic外部或二者的代码或指令的其任意组合。所述逻辑框、模块和电路可以包括天线和/或收发机以与网络内或设备内的各种组件进行通信。通用处理器可以是微处理器,或者,该处理器也可以是任何常规的处理器、控制器、微控制器或者状态机。处理器还可以实现为计算设备的组合,例如,dsp和微处理器的组合、多个微处理器、一个或多个微处理器与dsp内核的结合,或者任何其它此种结构。所述模块的功能可以以本文教导的某种其它方式来实现。在一些方面,本文中描述的功能(例如,关于一个或多个附图)可以对应于类似指定的“用于”所附权利要求中的功能的“单元”。

如果以软件来实现,则可以将这些功能作为一个或多个指令或代码存储在计算机可读存储介质上或者通过其进行传输。本文公开的方法或算法的步骤可以在处理器可执行软件模块中实现,所述处理器可执行软件模块可以驻留在计算机可读介质上。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括可以被启用以从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是计算机能够存取的任何可用介质。通过示例的方式而不是限制的方式,这种计算机可读介质可以包括ram、rom、eeprom、cd-rom或其它光盘存储器、磁盘存储器或其它磁存储设备、或者能够用于存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质。此外,任何连接可以适当地称为计算机可读介质。如本文中所使用的,磁盘和光盘包括压缩光盘(cd)、激光光盘、光盘、数字通用光盘(dvd)、软盘和蓝光光盘,其中磁盘通常磁性地复制数据,而光盘则用激光来光学地复制数据。上面的组合也应当包括在计算机可读介质的保护范围之内。另外,方法或算法的操作可以作为代码和指令的一个或任意组合或集合驻留在机器可读介质和计算机可读介质上,所述机器可读介质和计算机可读介质可以并入计算机程序产品。

应当理解,在任何公开的过程中的步骤的任何特定次序或层次是示例性方法的例子。应当理解,根据设计的偏好,在保持在本发明公开的保护范围内时,可以重新排列这些过程中的步骤的特定次序或层次。所附的方法权利要求以示例性次序呈现了多个步骤的要素,而并不意味着受限于所呈现的特定次序或层次。

对本公开内容中描述的实现的各种修改对于本领域技术人员来说可能显而易见的,并且在不脱离本公开内容的精神或范围的情况下,本文定义的一般原理可以应用于其他实现。因此,本公开内容不旨在限于本文所示的实现,而是要符合与本文公开的权利要求、原理和新颖特征相一致的最广范围。词语“示例性”在本文中仅用于意味着“用作示例、实例或说明”。本文中描述为“示例性”的任何实现不必被解释为比其他实现更优选或有利。

在本说明书中在单独的实现的上下文中描述的某些特征也可以在单个实现中组合实现。相对地,在单个实现的上下文中描述的各种特征也可以分开地或以任何适当的子组合在多个实现中实现。另外,虽然以上可能将特征描述为以某些组合来行动,并且甚至初始地如此要求保护,但是在某些情况下,可以从要求保护的组合中去除来自该组合的一个或多个特征,并且所要求保护的组合可能针对的是子组合或子组合的变型。

类似地,虽然在附图中以特定的顺序来描绘操作,但是这不应被理解为要求以所示的特定顺序或按顺序执行这种操作,或者执行所有所示的操作以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。另外,在上述实现中的各种系统组件的分离不应被理解为在所有的实现中要求这样的分离,并且应当理解,所描述的程序组件和系统通常可以集成在单个软件产品中或被封装成多个软件产品。另外,其他实现也在所附权利要求的范围内。在一些情况下,权利要求中所述的动作可以以不同的顺序来执行,并且仍然实现期望的结果。

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