用于基于邻近的社交交互的框架和应用_4

文档序号:9621452阅读:来源:国知局
备ID转换成当前使用的物理无线电接口地址。虚拟链路可通过监视当前使用中的物理链 路的底层质量(或仅仅是存在)来维护。如果物理链路已被断开(例如由于与节点X和y 相关联的设备移出范围),则框架指令切换到一不同的物理无线电接口。
[0073] 在空闲状态下(即当在虚拟链接的节点之间不存在活跃的信息传输时),节点X和 y依赖于信标来确认彼此的存在。当节点X为收听到信标达一预定时间段,则节点X优选地 推定未连接状态,并且切换到另一无线电来发送信标。在一个实现中,框架对可用的无线电 接口区分优先级。例如,框架可根据无线电覆盖来对无线电接口区分优先级。更具体地,当 节点y未被检测到,节点X首先进到具有最宽范围的无线电,随后迭代地切换到对应于递减 的覆盖面积的无线电。在另一实现中,框架维护无线电接口优先级的可配置列表,从而允许 开发者建立在虚拟链路中无线电切换的优先级。
[0074] 当在节点X和节点y之间存在活跃的信息传输时,框架可不依赖于信标来确认链 路。替代地,链路可从对于信息已被收到的确认中来推断。例如,考虑其中节点X正发送信 息给节点y的场景。当节点y确认收到该信息的全部或部分时,节点X推断该虚拟链路持 续。当节点X为收到确认时,节点X可重传该信息。在一个实施例中,当这一持续的、反复 的传送都不被确认达预定时间量,节点X推断该无论链路已故障,并切换到另一物理链路 以与节点y重新连接以维护该虚拟链路。
[0075] 维护虚拟链路的负担可不单单落在节点X上。在一个实现中,当节点y已不能接 收信息(例如数据分组)达一预定时间段,其推定该物理链路已被断开并且切换到替代的 无线电。如以上所描述的,切换无线电的顺序可由任何数量的准则(包括无线电的覆盖面 积)来确定,并且这一优先级可创建在例如框架级或应用级。
[0076] 节点X重传并最终切换到新的链路的频率可取决于应用而改变。此外,该频率可 跨应用变化。当被传输的信息具有相对高阈值的稳定性要求时,框架可仅使用虚拟链路。例 如,可确定如果尽力而为仅被用于传送对象,则虚拟链路将不会被使用,因为当尽力而为传 输将足够时,递送稳定性具有被最小化的重要性。
[0077] 信息散播
[0078] 根据本公开的改善的框架的各实施例还可提供信息在组内的有效散播。在一些实 施例中,散播信息的负担被分散到多个节点,包括源和接收者节点。
[0079] 在许多PSI应用中,与组散播相关联的开销非常高。随着更多设备加入组,确认和 重传的数目快速增长。当需要高递送可靠性时,开销甚至更高。
[0080] 许多传统PSI应用依赖于源节点来确保所有的接收者节点已收到了信息。这些布 置将大部分的传输(以及重传)负担加在了源节点上。更具体地,源节点负责确保每个接 收者节点具有全部被发送的信息,并且因此在无线网络上,并且尤其是随着接收者数量的 增加,将比接收者快得多地消费能量。
[0081] 现在将参照图6和7来描述根据本发明的一个实施例的组信息散播。图6是一般 地即说组散播过程600的流程图。
[0082] 在框602,源节点通告要被散播的对象。在一个实施例中,通告是描述完整的数据 对象的通告分组的形式。该通告可包含唯一的数据对象ID、文件名、和/或文件大小。此 外,或者经由通告分组本身或者根据与该分组的传输有关的信息(例如通过从通告分组中 提取),接收者节点优选地可确定源节点的地址。在本公开的各实现中,数据对象的通告可 以是周期性的,使得后加入的接收者可变得知晓该数据对象。
[0083] 在通告之后,在框604,源节点开始传送数据对象。在图6中解说的实现中,数据对 象的传送使用尽力而为洪泛路由来执行。在一些实现中,框604紧接在框602之后开始,而 无需来自任何接收节点的任何通信。在其它实现中,源可等待来自一个或多个接收者节点 的确认才开始传送数据对象。
[0084] 在一些实现中,数据对象可以是碎片的,其中每个碎片或更小的分组具有数据对 象ID、碎片顺序号、以及碎片有效载荷。例如,数据对象ID可以是32位唯一数据对象ID, 而碎片顺序号可以是16位碎片顺序号。每个分组中的信息优选地唯一地标识分组内容以 及它在该数据对象内的位置。
[0085] 在框606,每一个接收节点的保存其已接收的分组。在一个实现中,这个框针对每 个接收者节点在每个接收者节点接收到任何数据开始经过了预定时间量时开始。
[0086] 在框608处,每个接收者编译请求分组。该请求分组可以是对分组的肯定或否定 确认,即接收到的分组的列表或未接收到的分组的列表。对于是要令请求肯定还是否定的 判断可以是例如由框架或开发者预确定的。在一些实现中,请求分组是肯定还是否定确认 取决于包括实际接收到的数据对象的分组数目。例如,当小于所有数据对象分组的一半被 接收,则请求分组可将分组标识为被收到,而当大于数据对象分组的一半被接收,则请求分 组可将分组标识为未被收到。这样的设置可更有效率。
[0087] 在编译其请求分组之后,在框610,每个接收者传送其请求包。在优选实施例中,请 求包被发送给邻域中的所有其它节点。这一实施例与传统的递送方案形成对比,在传统递 送方案中,每个接收者节点仅与源节点通信以请求其未收到的分组。在一些实现中,请求分 组可被发送给邻域中节点的某个子集。虽然该子集可近包括源节点,但在到前优选的实现 中,子集包括至少一个其它的接收者节点。例如,取决于用于实现框610的传输方法的可靠 性,每个接收者可将其请求分组发送多次。
[0088] 在框610之后,邻域中的每个节点将收到来自每一个接收者节点的请求分组。在 框612,每个节点确定它可向其它节点贡献哪些分组,即用来响应于请求分组。在一个实现 中,每个节点聚集其收到的所有请求分组。在现实中,这一聚合可在接收到请求分组之后经 过预定时间量之际开始。一旦聚集完成,每个节点可为每个分组评估全网络的接收率,并且 通过将接收的分组与缺失分组的聚集列表作比较,能够确定该节点可贡献哪些分组(如果 有的话)。
[0089] 在确定了其可贡献哪些分组之后,在框614,每个节点贡献分组以满足其它接收者 节点的请求。
[0090] 每个节点可盲目地开始框614,即将其可贡献的任何分组发送给所有其它节点,但 是在其它实现中,未收到的分组的递送是经调度的。对未收到分组的递送的调度可被用于 实现更高效的丢失分组贡献系统,其中多个节点不贡献相同的分组,但是所有的分组都被 贡献。现在将描述用于实现更高效的丢失分组贡献系统的两种技术。
[0091] 不带有协调的简单方案并不始终起作用,因为有可能两个节点将会挑选相同的随 机数据并因此触发同样的行为。如以上所述的,如果两个满足条件的节点来贡献,工作是重 复的。此外,如果没有节点贡献,则空闲时间段是浪费的。在PSI用于的改善框架的一个实 现中,通过操纵伪随机种子来向所有满足条件的节点提供相同的随机序列。例如,每个节点 可在其请求分组中包括随机数。当满足条件的节点(即具有被请求的分组的节点)决定是 否贡献该被请求的分组时,它使用对所有数的求和来作为种子。在一个示例实现中,这一决 定是基于所生成的随机数对节点ID求模来作出的。模运算的结果将确定是否发送该请求 的分组。例如,如果结果是偶数或者奇数,则分组可被贡献。
[0092] 对于请求分组的传输,被发送以满足请求的分组可能被发送不止一次。例如,当递 送可靠性被预期是较低的,则可能期望发送该分组更多次。
[0093] 即使采用刚刚描述的第一种奇数,仍然可能存在一些情况,其中不止一个满足条 件的节点贡献了请求的分组。为了进一步限制这种情况发生的可能性,根据本公开的框架 还随机化第一种奇数中所标识的向外输出的分组的顺序。以此方式,虽然多个节点可确定 它们应当贡献相同的分组,但是它们可能在不同时间发生该分组。这使得通过串听来进行 抑制变得可能。具体来说,如果一个节点听到一个分组恢复已被执行,则其将该分组移除出 向外输出的分组队列。
[0094] 图7示意性地解说了图6的过程。在图7中,源节点710和多个接收者节点 712(1)、···
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1