监视无线网络的大小的制作方法_4

文档序号:9240354阅读:来源:国知局
以下公式来确定:
[0096] m= -n*ln(p) /(In(2))2 (2)
[0097] k= (m/n)In(2) (3)
[0098] 在一种实现中,消息中的标识符可与相邻无线设备、或服务或应用相关联。消息中 的标识符可以是发现帧的MAC地址,其标识发送该帧的无线设备。标识符也可以是帧中的 服务标识符,其中服务标识符可以在帧的主体中或者可以代换帧中的地址字段之一。作为 另一示例,标识符可以是基于特定应用的标识符并位于帧的主体中。由此,该方法使用布隆 过滤器来估计无线设备接收到的相异标识符的数量。
[0099] 图6示出了根据一种实现的布隆过滤器的一个解说性示例。该布隆过滤器包括全 部初始化为〇的m位的位阵列(600)和k个不同的散列函数(未示出),其中m= 18且k =3。这k个不同散列函数中的每一者以均匀随机分布将输入串映射或散列至该m个阵列 位置之一。三个输入串(即x、y和z)已被添加至该布隆过滤器。对于输入串X,布隆过滤 器将其映射至位阵列中的三个不同的位位置(使用未示出的k个散列函数),如由图6中在 x处发出的三个箭头所指示的。结果,与输入串"x"相对应的这三个位位置全部具有值1。 类似地,输入串y和z通过将这些串中的每一者映射至位阵列中的三个不同的位位置并将 这些位位置设置为值1而被添加至布隆过滤器中。布隆过滤器的结果所得位阵列在图6中 示出。为了确定输入串w是否已被添加至布隆过滤器,布隆过滤器将输入串w映射至该位 阵列中的三个位位置,如由在w处发出的三个箭头所指示的。由于与输入串w相对应的位 位置中的一个位位置具有值〇,因此确定输入串w不在该布隆过滤器中。此确定是正确的, 因为布隆过滤器仅存储了x、y和z,而没有存储w。
[0100] 图7解说了将网络中的无线设备数量与来自布隆过滤器的估计数量作比较的仿 真结果700。图8解说了示出估计误差百分比相对于网络中的无线设备数量的仿真结果 800。在该仿真中,布隆过滤器具有600字节的位阵列和4个散列函数。如图7和8中所 示,仿真结果指示,对于包括超过50个设备的无线网络而言,估计误差在实际设备数量的 约2%以内。
[0101] 在一些前述实现中,布隆过滤器包括k个不同的散列函数(称为"布隆散列函 数"),每个散列函数将输入串映射至m位的位阵列中的位位置。布隆散列函数可使用将输 入串映射至〇与P-1之间的单个整数的散列函数(称为"通用散列(GeneralHash)函数") 来实现,其中P不小于m。布隆散列函数可通过首先使用通用散列函数将输入串映射至0与 P-1之间的单个整数、并随后应用模运算以找出该单个整数除以m的余数(remainder)来实 现,其中该余数对应于m位的位阵列中的位位置。该余数是布隆散列函数返回的值。由此, 布隆散列函数可表示如下:
[0102] 布隆散列=remainder(GeneralHash(输入串),m) (4)
[0103] 在一种实现中,通用散列函数可以是例如输入串的循环冗余校验(CRC)。在一种实 现中,布隆过滤器的通用散列函数可以是从输入串选择多个位并根据一模式将这些位安排 成序列的函数。位序列的值由此表示该通用散列函数的输出整数。从输入串选择的位不必 在输入串内是连续的。通用散列函数可基于预定义模式来生成位序列。.例如,预定义模式 可定义输入串的从首位、末位、中间位、距开头有预定义偏移处的位、或者距末尾有预定义 偏移处的位开始的B个位的序列。预定义模式可定义在标识符串的奇数位置处的B个位的 序列、或者在标识符串的偶数位置处的B个位的序列,其中该序列始于首位、末位、中间位、 距开头有预定义偏移处的位、或者距末尾有预定义偏移处的位。在另一示例中,预定义模式 可定义包括来自输入串的位1、位37、位8、位9、位15、位3和位2的位序列。
[0104] 在一些前述实现中,无线设备在加入无线网络之际请求第二无线设备提供第二设 备的当前布隆过滤器。在一种实现中,可使用带有指定的管理服务标识(例如,保留用于管 理操作的0x000000或OxFFFFFF)的发现类型长度值(TLV)来交换布隆过滤器。布隆过滤 器可被存储在被称为管理专用信息容器的发现TLV的可任选字段中。
[0105] 发现TLV可被携带在因供应商而异的发现帧中。替换地,TLV可被携带作为对等 (P2P)信息元素(例如,在WiFi直连系统中)中的属性。该信息元素可以是因供应商而异 的信息元素。在一种实现中,用于交换布隆过滤器的协议在新的无线站扫描邻域知悉网络 (NAN)同步信标或发现帧时开始。一旦接收到同步信标或发现帧,新站就可向该同步信标或 发现帧的发送方发送对布隆过滤器的请求。该请求是使用管理发现TLV来作出的。该同步 信标或发现帧的发送方随后在管理发现TLV中用布隆过滤器来作出响应。
[0106] 图9解说了示例因供应商而异的发现帧900。在所解说的实现中,因供应商而异 的发现帧900包括类别字段910、动作字段920、组织唯一性标识符(0UI)字段930、0UI类 型字段940、0UI子类型950、对话令牌960、以及一个或多个发现类型长度值(TLV)字段 970-980。如图所示,类别字段910是1个八位位组,动作字段920是1个八位位组,0UI字 段930是3个八位位组,0UI类型字段940是1个八位位组,0UI子类型950是1个八位位 组,对话令牌960是1个八位位组,且这一个或多个发现TLV字段970-980是可变长度的。 在各种实现中,因供应商而异的发现帧900可省略图9中所示的一个或多个字段。本领域 普通技术人员将领会,因供应商而异的发现帧900中的各字段可以是不同的合适长度的, 并且可按照不同次序。
[0107] 在一些实现中,类别字段910可以指示公共动作帧。动作字段920可以指示因供 应商而异的动作帧。0UI字段930可被用来全球或全世界唯一,性地标识供应商、制造商、或 其他组织(称为"受托者")且可有效地保留每种可能类型的派生标识符块(诸如MAC地 址、群地址、子网接入协议标识符,等等)以供受托者独占使用。on类型字段940可被用来 指示on字段930的类型,诸如MAC标识符、上下文相关标识符(CDI)、扩展唯一性标识符 (En),等等。on子类型字段950可指示on类型字段940的子类型。对话令牌960可被 选择以指示特定事务。TLV字段970和980在本文中关于图10更详细地描述。
[0108] 图10示出了可在图1的无线通信系统100内采用的发现类型长度值(TLV) 1000。 发现TLV1000可在各种消息中传送,诸如发现帧和P2P信息元素。TLV1000可在发现帧 900中被实现为TLV970和980 (图9中所示)。在各种实现中,本文描述的任何设备(例 如移动设备,诸如图1中所不的移动设备112)可以传送发现TLV1000。
[0109] 在所解说的实现中,发现TLV1000包括服务标识符1010、长度字段1020、可任选 的服务控制字段1030、可任选的射程控制字段1050、管理控制字段1060、以及可任选的管 理专用信息容器1070。本领域普通技术人员将领会,发现TLV1000可包括附加字段,并且 各字段可被重新安排、移除、和/或重新设定大小。例如,在各种实现中,发现TLV1000可 以省略服务控制字段1030、射程控制字段1050、和/或管理控制1060。
[0110] 在解说性实现中,所示的服务标识符字段1010为6个八位位组长。在一些实现 中,服务标识符字段1010可具有可变长度,诸如逐信号变动的长度和/或在诸服务提供者 之间变动的长度。服务标识符字段1010可包括标识发现帧的服务或应用的值。例如,服务 标识符1010可包括服务名称的散列或基于服务的其他值。在一些实现中,预定令牌值可被 保留。例如,全0或全1的服务标识符可指示NAN管理操作。
[0111] 长度字段1020可被用来指示发现TLV1000的长度或诸后续字段的总长度。图10 中示出的长度字段1020为1个八位位组长。在一些实现中,长度字段1020可具有可变长 度,诸如逐信号变动的长度和/或在诸服务提供者之间变动的长度。在一些实现中,长度为 零(或另一预定令牌值)可指示一个或多个其他字段(诸如服务控制字段1030、射程控制 字段1050、管理控制1060、和/或管理专用信息容器1070)不存在。
[0112] 服务控制字段1030可包括适用服务的信息。图10中示出的服务控制字段1030 为1个八位位组长。在一些实现中,服务控制字段1030可具有可变长度,诸如逐信号变动 的长度和/或在诸服务提供者之间变动的长度。
[0113] 射程控制字段1050可包括与管理控制1060相关的信息。图10中示出的射程控 制字段1050为1个八位位组长。在一些实现中,射程控制字段1050可具有可变长度,诸如 逐信号变动的长度和/或在诸服务提供者之间变动的长度。
[0114] 管理控制字段1060可被用于携带与管理控制相关的信息。在解说性实现中,管理 控制字段1060可以是1个或2个八位位组长。在一些实现中,管理控制字段1060具有可 变长度。
[0115] 管理专用信息容器1070可被用于携带相关的附加信息。图10中所示的管理专用 信息容器1070是可变长度的。在解说性实现中,管理专用信息容器1070可被用于包含布 隆过滤器。
[0116] 在一些实施例中,对等网络的一个或多个节点可以传送同步消息以协调一个或多 个可用性窗口以供在该对等网络的各节点之间通信。这些节点还可以交换发现查询和响应 以提供在相同的对等网络或邻域知悉网络内操作的设备之间的服务发现。在一些方面,邻 域知悉网络可被认为是对等网络或自组织网络。这些节点重复地从休眠状态苏醒以周期性 地传送和/或接收同步消息和发现消息。如果节点能够更久地停留在休眠状态以节约功率 并且不从休眠状态苏醒以在网络上传送和/或接收同步消息则将是有利的。另外,由节点 传送和重传同步和发现消息可向网络引入大量不必要的开销。
[0117] 在一些实施例中,仅节点子集能被配置成传送同步消息,例如以便减少网络拥塞。 在一些实施例中,节点子集可被指定或选举为"主控"节点。例如,能接入外部功率源的节 点可被选举为主控节点,而靠电池功率运作的节点可能不被选为主控节点。在各种实施例 中,节点可被指定为一种或多种不同类型的主控节点,包括:发现主控节点、同步主控节点、 和/或锚主控节点。在一些实施例中,一个或多个发现主控节点可传送NAN发现消息,而其 他节点可以不传送NAN发现消息。在一些实施例中,一个或多个同步主控节点可传送同步 消息,而其他节点可以不传送同步消息。
[0118] 在一些实施例中,一个或多个锚主控节点可优先被选举为同步主控节点和/或发 现主控节点。锚节点可被预设、如本文关于主控节点选举所描述地那样被选举、或以另一方 式确定。具有锚节点的NAN可被称为锚定NAN,而没有锚节点的NAN可被称为非锚定NAN。 在一实施例中,NAN可具有单个锚主控节点。
[0119] 在一些实施例中,NAN中的一个或多个节点可基于动态确定的或预设的主控节点 偏好值(MPV)来选举一个或多个主控节点。例如,能接入外部功率源的节点可将其MPV设 置为较高(例如,10),而靠电池功率运作的节点可将其MPV设置为较低(例如,5)。在选举 过程期间,具有较高MPV的节点可以更有可能被选举为主控节点。在一些实施例中,锚节点 可具有比非锚节点更高的MPV,且由此可以更有可能被选为主控节点。
[0120] 图11解说了可以在其中采用本公开的各方面的另一无线通信系统1100的示例。 无线通信系统1100包括锚节点1110、主控节点1120、和非主控节点1130。在各种实施例中, 无线通信系统1100可类似于无线通信系统100 (图1)。例如,一个或多个节点1110 - 1130 可包括移动设备112-118、122 - 128和132 - 142(图1)中的任一者。在一些实施例中,一 个或多个节点1110- 1130可包括无线设备202 (图2)并且可实现方法500 (图5)。在一些 实施例中,每个主控节点1120和/或锚节点1110可对应于特定群集,诸如以上关于图1讨 论的群集110、120和130。
[0121] 在一些实施例中,每个主控节点1120可跟踪无线电射程内的其他节点的标识符。 例如,每个主控节点1120可以用射程内的其他节点的标识符来填充布隆过滤器,如以上关 于图5 - 6所讨论的。由此,在一些实施例中,每个主控节点1120可通过对从其相关联的群 集内的设备接收到的所有NAN帧的传送地址进行散列来填充其布隆过滤器。在一些实施例 中,每个主控节点1120可仅跟踪其群集内的设备的标识符。在一些实施例中,每个主控节 点1120可跟踪任何所发现的设备的标识符而不管群集。在一些实施例中,主控节点1120 可避免跟踪其他主控节点1120和/或锚节点1110的标识符。在其他实施例中,主控节点 1120可跟踪包括其他主控节点和/或锚节点1110的标识符在内的标识符。在各种实施例 中,锚节点1110可如本文关于主控节点120所描述地那样跟踪标识符。
[0122] 在各种实施例中,各主控节点1120可形成根在锚节点1110处的树拓扑。每个主控 节点1120可维护指示至锚节点1110的跳跃距离的信息。在一些实施例中,锚节点1110和 主控节点1120可根据树拓扑来估计和传播群集大小。
...
当前第4页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1