通过使用无线或有线发现机制共享邻域信息的装置物理位置近似以及过渡装置发现的制作方法

文档序号:7794325阅读:193来源:国知局
通过使用无线或有线发现机制共享邻域信息的装置物理位置近似以及过渡装置发现的制作方法
【专利摘要】描述了一种构造装置邻域中电子装置的近似空间表示的方法。该方法可包含从一范围内的电子装置收集数据,其中数据包括电子装置的唯一标识符、原始电子装置的端点和所发现的端点的间接等级中的一项或多项,以及根据所收集的数据构建表示电子装置邻域的数据集合。所收集的数据可进一步包含相对距离或接收的信号强度指示或有关电子装置物理位置的其它信息。
【专利说明】通过使用无线或有线发现机制共享邻域信息的装置物理位 置近似以及过渡装置发现
[0001] 相关申请的交叉引用 本申请要求2012年9月6日提交的美国申请No. 60/691,524和2013年3月15提交 的美国申请No. 13/839,502的优先权,它们的全部内容通过引用结合在本文中。

【技术领域】
[0002] 此公开一般涉及无线通信领域,并且更具体地说,涉及无线通信系统和方法。

【背景技术】
[0003] 电子装置之间或那些装置的用户之间的对等通信一般需要用于传送和接收在装 置或用户之间发送的数据的良好定义的物理或无线介质。当使用此类介质的装置之间的现 有连接由于瞬时问题(诸如例如可用带宽的过载、干扰、增加的线性距离、物理中断、改变 的功率可用性或其它未预见的条件)而变得不可靠或故障时,它一般意味着在那些装置之 间或那些用户之间传送的数据的中断。
[0004] 尽管可构造网络拓扑以帮助改善这些条件,但这些备选路径一般先验配置,并且 频繁地共享公共网络协议或物理介质类型。如果中断不是短暂的,则它可导致两个装置之 间或那些装置的用户之间的数据流终止。

【专利附图】

【附图说明】
[0005] 图1描绘了根据本公开的各种方面和原理采用隧道协议的无线通信系统。
[0006] 图2描绘了根据本公开的各种方面和原理由协议栈使用的本地端点和远程端点 的示例。
[0007] 图3描绘了根据本公开的各种方面和原理由协议栈使用的封装分组。
[0008] 图4描绘了根据本公开的各种方面和原理用于确定故障转移状态的协议过程的 流程图。
[0009] 图5描绘了根据本公开的各种方面和原理用于将数据流促进到传输信道的过程 的流程图。
[0010] 图6描绘了根据本公开的各种方面和原理用于使传输信道降级的过程的流程图。
[0011] 图7描绘了根据本公开的各种方面和原理能够进行对等通信的电子装置的邻域。
[0012] 图8描绘了根据本公开的各种方面和原理用于在发现邻域中的新装置之后附加 端点数据库的过程的流程图。

【具体实施方式】
[0013] 在如下的描述中,相似组件已经被给出了相同附图标记,不管它们是否在不同实 施例中示出。为了以清晰且简明的方式说明本公开的实施例,附图可能不一定按比例,并且 某些特征可能以某种示意的形式示出。相对于一个实施例描述和/或说明的特征可以相同 方式或类似方式用于一个或多个其它实施例中,和/或与其它实施例的特征进行组合或代 替它们。
[0014] 根据此公开的各种实施例,给出了构造电子装置的邻域中电子装置的近似空间表 示的方法。该方法可包含从一范围内的电子装置收集数据,其中数据包括电子装置的唯一 标识符、原始电子装置的端点和所发现的端点的间接等级中的一项或多项,以及根据所收 集的数据构建表示电子装置邻域的数据集合。
[0015] 在另一实施例中,给出了一种用于预测最佳端点对以便在电子装置邻域中的电子 装置之间建立网络连接的方法。该方法可包含:从一范围内的电子装置收集数据,其中数据 包括电子装置的唯一标识符、原始电子装置的端点、所发现的端点的间接等级以及相对距 离或接收的信号强度指示中的一项或多项;根据所收集的数据构建表示电子装置邻域的数 据集合;以及使用收集的数据构造装置邻域中电子装置的近似空间表示。
[0016] 在另一实施例中,给出电子装置,其具有处理器,处理器与存储器通信以便执行指 令。指令可以是:从一范围内的电子装置收集数据,其中所述数据包括电子装置的唯一标识 符、原始电子装置的端点和所发现的端点的间接等级中的一项或多项;以及根据所收集的 数据构建表示电子装置邻域的数据集合。
[0017] 在各种实施例中,网络协议栈可构造用于利用协议栈的实现来提供软件应用之间 的无缝数据传输和对等连接性。协议栈可为了使用它的对等软件的益处而仿效网络协议的 子集,诸如例如 IPV4、IPV6、ICMP、ICMP v6、ECN、IGMP、IPsec、AppleTalk、IPX、ARP 等,并且 此外,可向对等应用提供特定特征以便给另外通过此类网络协议不可用的对等连接性的正 常问题提供解决方案。协议可进一步提供用于基于诸如例如可用带宽、传输信道的能量消 耗、金钱成本、数据传输完成的功率可用性、数据传送期间可接受的等待时间等因素选择用 于无缝数据传输的最优传输信道的逻辑。
[0018] 通常,对等通信可包含诸如例如通过因特网协议的语音(VoIP)、对等文件上载、对 等文件下载、通过无线通信的视频等或它们的任何组合的应用中两个或更多对等体之间的 数据传送。
[0019] 网络可包含固定装置、移动装置或二者的组合,它们通过有线链路、无线链路或二 者的组合连接。在各种实施例中,无线链路可包含但不限于WiFi、WiFiDirect、蓝牙、WiMax、 WWAN、任何移动宽带通信系统(例如 UMTS、CDMA、HIPERMAN、ETSI、BRAN、GSM/GPRS、EDGE、 HSPA、LTE等)之类的。网络内的各种装置例如可具有一个或多个无线电、传送器、接收器、 收发器、芯片集、放大器、滤波器、控制逻辑电路、网络接口卡、天线、天线阵列等。
[0020] 在各种实施例中,网络可包含具有无线通信能力的固定装置,诸如例如无线接入 点(AP)、基站或节点B、路由器、交换机、集线器、网关或它们的任何组合。固定装置可能已 经概括了向另一无线装置(诸如一个或多个移动装置)提供连接性和/或信息的设备集 合。在各种实施例中,网络可包含具有无线通信能力的移动装置,诸如例如计算机、服务器、 工作站、笔记本计算机、手持计算机、电话、蜂窝电话、个人数字助理(PDA)、蜂窝电话和PDA 的组合等等。在一些实施例中,固定装置或移动装置可能能够运行软件应用。
[0021] 使用本文描述的协议栈:(i)软件之间的对等通信可无缝进行,并且不需要特殊 算法逻辑来无限地维持现有数据连接(如果使用的话);(ii)对等软件可使用任何可用的 支持的物理介质,诸如例如 EIA/TIA-232、EIA/TIA-449、ITU-TV 系列、1. 430、1. 431、PDH、 SONET/SDH、PON、OTN、DSL、IEEE 802. 3、IEEE 802. 11、IEEE 802. 15、IEEE 802. 16、IEEE 1394、ITU-TG. hnPHY、USB、蓝牙、RS-232、RS-449等,同时以最优方式选择所使用的介质,以 最小化能量使用和金钱成本,并最大化带宽;以及(iii)对等软件一般可通过共享网络地 址空间通信,没有恶意寻址相同网络上其它对等软件的能力。
[0022] 进一步说,本文描述的过程:(i)允许协议栈构造具体电子装置附近的各种电子 装置的近似空间表示;(ii)允许协议栈进行有关可用于在电子装置之间建立网络连接的 最佳可能端点对的预测;以及(iii)允许协议栈确定在各种电子装置之间可靠地中继信息 的有效路径。
[0023] 因此,执行对等通信以根据此通信从任何正在进行的过程的中断恢复的任何软件 可含有专用于记录数据流中断之前的状态并在介质变得重新可用之后重新建立该状态的 算法。此外,正常情况下不携带由对等软件使用的网络协议但的确提供了数字数据的某种 介质的备选物理介质的存在可能不用于避免中断对等通信链路,而没有明确支持由该介质 支持的备选协议或通过该介质配置的隧道协议,其模仿明显为了避免此类中断的目的而介 质明确不支持的网络协议。
[0024] 通常,所有对等体共享公共地址空间的虚拟网络,允许所有涉及的通信方在此虚 拟网络中都可寻址,虚拟网络由能够携带特定协议的介质构成的链路构造,可提供用于维 持对等体之间连接性而不需要由软件提供或消耗对等数据的动作的解决方案。因为此类虚 拟网络依赖于构造它们的介质的持久性,所以当任两个通信对等体之间的所有可能链路都 丢失时,它保持易受网络上装置之间的连接中断。
[0025] 而且,在此类虚拟网络中的节点之间传送的数据可排他地通过由于瞬时限制(诸 如可用的CPU循环、电池功率或不通过虚拟网络通信的软件的带宽要求)而不理想地适合 于携带此数据的特定装置路由。此对等体的瞬时丢失可能未由通过它路由数据的对等体观 测到,直到携带对等数据的网络协议的自然超时指示网络连接已经丢失为止。在那一点,因 此具有对等连接。
[0026] 如果在此网络连接性丢失之前,对等体之一的用户启用了可访问其它通信对等 (诸如例如蓝牙、WiFi、WiFiDirect、WiMax等)的新通信介质,则两个对等体必须通过用户 干预经由那个新介质连接,因为两个对等体都不知晓在对等体之间路由所有业务的中间节 点将要经历连接丢失。如果此类连接作为新链路被预防性地带入虚拟网络中以避免对等通 信的可能丢失,并且连接丢失不发生,则不需要新链路,并且维持对等体之间新链路所需的 能量被浪费。
[0027] 虚拟网络可能还遭受安全风险,因为共享公共地址空间的所有节点可在任何时间 向彼此发送数据,导致所有对等软件都相对来自操作在同一网络上的其它对等对虚拟网络 的网络攻击进行加固的要求。
[0028] 在一些实施例中,提供本文描述的协议的软件可运行在具有零个或多个类型网络 介质的装置上。通常,当协议被启动或者从装置上的数据库加载时,随机选择或从权威源中 选择通用唯一装置标识符(UUID),使得装置可获得以这种方式获取的装置标识符的受限域 中的唯一地址。
[0029] 鉴于此,图1描绘了根据某些实施例的无线通信系统100。系统100可包含努力在 无线介质175或185上经由隧道协议栈130彼此通信的第一电子装置101和第二电子装置 102。例如,在初始通信阶段期间,第一电子装置101可发现第二电子装置102,并尝试与用 户装置102建立通信链路。
[0030] 用户电子装置102U04可采取移动电话、平板计算机、个人计算机、网络服务器、 膝上型计算机、智能电话、游戏装置、连网装置、导航装置、可佩戴计算机装置、能够通信的 设施等形式。而且,将认识到,发现和通信过程可以是基于附近的,诸如例如通过直接配对, 或者基于网络的,诸如例如经由网络接入点附连到网络150。还将认识到,发现对等电子装 置以及在此类装置之间建立通信可操作在各种无线通信协议和标准下,诸如例如Wi-Fi、 WiFi直接、WiMax、WWAN、WLAN、WPAN、蓝牙、蓝牙低能量、近场通信或适当无线标准的任何其 它实现。在各种实施例中,对等装置之间的发现和数据传送可能不发生在同一通信协议上。 例如,在一些实施例中,对等装置的端点可通过使用STUN服务器来确定,并且数据传送可 作为UDP分组发生。
[0031] 在一些实施例中,装置101和102还可硬连线到网络连接的装置,诸如例如路由 器、交换机、网关等,或者其它装置,诸如例如台式个人计算机、手持计算机、膝上型计算机、 服务器、工作站、蜂窝电话、电话、个人数字助理等,它们可能能够进行无线连接,或者可能 不能够。因此,在第一装置101和第二装置102之间的发现和通信不限于任何特定标准,并 且所讨论的示例可彼此单独实现或组合实现。从而,虽然为了图示的简单在图中示出了两 个电子装置,但本文公开的各个方面可应用于在某个附近区域内存在的多个装置。
[0032] 如将在下面更详细描述的,电子装置101U02可包含端点的本地列表,诸如分别 是端点111AU11B和端点112A、112B、112C,以便于数据连接。在电子装置101U02上存在 的每个可用网络介质175、185可提供到任何装置的连接性,其还支持使用那种类型网络介 质并实现隧道协议栈130的数据传送。
[0033] 转到图2,对于对隧道协议栈130可接入的所有网络介质类型,诸如例如蓝牙、 TCP/IP、ffffAN等,协议栈130然后可在例如由端点111A、111B、112A、112B和112C所指示的 地址域中建立它自己的地址,其由网络介质提供。以这种方式,支持相同网络介质的其它装 置例如可基于装置类型和地址值(根据地址的类型和值)连接到所建立的地址,并且当它 正在执行时与协议栈130通信。如本文所描述的,此地址在以电子装置为条件的上下文中 被视为该电子装置上其它装置可连接到的"端点"。
[0034] 在各种实施例中,隧道协议栈130的每个实例都可保留可用于建立到它的数据连 接的端点的本地列表。例如,如上面所指出的,对于电子装置101,本地端点是111AU11B, 而对于装置102,本地端点是112AU12B和112C,诸如此类。然后可使用对协议栈130可用 的任何发现机制,使用可用的本地网络介质,来公布和更新端点和装置标识符的这个列表。 隧道协议栈130可预订其它最接近的电子装置的发现数据的改变,或者可根据诸如例如网 络介质类型、那个网络介质的发现过程的额定功率提取等因素周期性查询那个发现数据。
[0035] 当提供另一电子装置的装置标识符和端点时,那个信息可键控或基于那个装置标 识符而被添加到数据库,以便提供有关诸如例如可用于121和122的所有端点的信息。通 过布置所有端点,此类信息可用于建立到远程电子装置的网络连接。如果远程电子装置报 告与本地电子装置相同的唯一标识符,则不进行数据库更新,并且地址冲突的通知将被发 送到提供电子装置上协议栈130配置的任何软件。在一些实施例中,其它源可用于更新远 程装置的数据库。例如,具体端点可在电子装置上公告所有可用本地端点。当发现此类端 点时,所有公告的端点然后可被添加到数据库。
[0036] 当隧道协议栈130在电子装置之间建立数据连接时,它可以选择一对端点,其中 该对的至少一个端点来自于它自己的端点列表,并且该对的另一个的域存在于从本地电子 装置上的始发端点可到达的地址空间内。
[0037] 图3描绘了可由协议栈130通过数据连接支持的可变长度数据分组300。可变长 度的封装的数据分组300可配置成包含封装的数据和/或控制代码310、装置标识符320、 前向校正代码330、会话ID340和分组序列号350。
[0038] 装备有此类配置,可变长度的封装的数据分组300依据协议栈的装置标识符320, 而不是依赖于支持网络的地址提供有关有效载荷数据的源和目的地电子装置的信息(或 控制代码信息)310。此类隧道协议130隐藏网络介质的细节,使得具有不同0SI层三的网 络协议的网络介质可由协议栈互换使用。源和目的地端点以及层三网络连接的有序三元组 提供了在电子装置之间携带数据的0SI层四传输信道。
[0039] 封装的数据分组300可构造成使得其数据有效载荷可经由可最少地提供源装置 与目的地装置之间的双向数据流的任何网络介质传送。如果双向数据流在网络介质上不可 用,则第二网络介质可能需要在相反方向提供数据流,并且两个单向网络介质的它们相应 域中的网络地址对被视为端点。无论何时网络通信介质未构成数据的可靠载波使得位出错 或分组丢失可发生时,分组封装都可被扩大成提供分组的前向数据纠错代码330。如上面 所提到的,封装分组300可含有打算送往目的地电子装置的数据或控制代码310的有效载 荷,或者它可过渡地含有对目的地装置可见的打算送往电子装置的数据或控制代码。换句 话说,数据库可被动态更新,使得对各种装置可见的数据不静态超时。
[0040] 隧道协议栈130可创建一个或多个用户,它们映射到从数据库启动或加载隧道协 议栈130的电子装置的身份、账户或人类用户。还可给每个用户通用唯一用户标识符,其可 用于在所有用户标识符的域中标识用户。然后可使用内射映射将装置标识符和用户标识符 的有序对组合成第三唯一标识符,其可标识在电子装置上存在用户。
[0041] 在一些实施例中,隧道协议栈130可能要求两个或更多电子装置上的两个或更多 用户之间的会话携带对等应用的数据。在其它实施例中,隧道协议栈130可要求会话在两 个隧道协议栈实例之间发送控制代码。在任一实例中,隧道协议栈都可通过基于源会话标 识符、目的地会话标识符和流标识符340的有序三元组在两个电子装置之间协商流来打开 两个电子装置之间的会话,如早先所描述的。
[0042] 隧道协议栈130可在电子装置之间找到或建立至少一个传输信道以便建立流。由 隧道协议栈130执行的封装允许它不可知地对待电子装置之间的传输信道。此特征允许隧 道协议130优化传输信道的选择以便最小化建立流所需的时间。在传输信道可用的实施例 中,此类优化可包含选择可用的开放传输。在没有传输信道可用并且流预计携带用于对等 应用的数据的实施例中,优化可包含同时在电子装置之间建立所有可能的并且管理上允许 的传输信道。在其它实施例中,优化可遵循传输信道选择优化的正常规则,如本文所讨论 的。
[0043] 在要求对等应用将其数据分组复制到多个会话的实施例中,隧道协议栈130可预 留流标识符340作为本地群标识符。隧道协议栈130可进一步建立到每一个会话的控制流, 其可从接收到分组的会话群的每个现有成员添加或移除会话标识符和群标识符的有序对。 送往群的分组可被传送到群的每个电子装置,使得所有电子装置可接收传送到群流的所有 分组。
[0044] 在各种实施例中,数据流的加密可用于确保完整性并避免窥探流携带的数据。在 一些实施例中,有可能默认是加密系统中的所有数据流。在某些实施例中,控制信道可根据 相对于证书授权机构签署的证书用密钥加密。此类加密将使其实质上难以使对等应用通过 隧道协议栈130没有破解加密而恶意连接到另一对等应用。可使隧道协议栈130在建立对 等应用之间连接之前需要对等体的允许和对等应用的存在的知识。
[0045] 一旦建立了流,就可通过多个全异传输信道传送封装分组的隧道协议栈的流。流 分组的分组封装可进一步扩大,以包含单调递增的序列号350,用于唯一标识在从分组的始 发方到其一个或多个接收方流动的单个方向的流中的每个数据分组300。
[0046] 在某些实施例中,通过传输信道传送的分组可能无法在合理时间内到达其目的地 协议栈实例。在此类实施例中,控制分组可从接收装置发送到源装置以请求对于具体流重 试具体序列号。合理时间可由传送分组的网络介质的类型定义。
[0047] 合理时间可以是任意选择的时间,但从完成源装置上分组的硬件写到其在目的地 装置上的接收距将特定大小的分组从源装置发送到目的地装置的平均时间具有一致数量 的标准差,使得分组在那个时间内到达的概率被限定。在一些实施例中,这个值根据从分组 发送到已经接收到分组的确认的接收的时间的分析而动态计算,但特定硬件无线电的本质 规定了物理介质不能超过的平均时间的最小界限。例如,蓝牙2.0 EDR(增强数据速率)无 线电不能以比3. 0兆位每秒更快的速率发送数据,使得长度10, 000位(1250字节)的分组 不能在少于3. 33毫秒的时间周期内传送。通过1. 0吉比特每秒以太网双绞线对传送的相 同分组不能花费少于〇. 01毫秒。
[0048] 通常,合理时间的选择是近似;一般来说是最坏情况的时间的近似。然而,在所使 用的总带宽的测量有可能的实施例中,合理时间的选择可以是精确的。在例如当无线电环 境足够嘈杂时的某些情形下,无线电之间距离是足够高的,或者信号以别的方式被衰减,物 理介质可以在远低于它们的额定带宽下传送。在此类情形下,通过一个路由器跳的有线以 太网连接可在1秒内以99%概率传送10K分组,而蓝牙无线电可能需要多达1分钟来以相 同概率传送分组。在每种情况下,合理时间是最坏情况时间的分数;最小化丢失机会所选 择的近似,而没有延迟沿那个介质的分组重试,使得介质上的流的流动速率将拖延等于不 大于传送和接收请求重试的分组以及传送和接收原始分组(假定丢失)所需的时间的值的 时间。这个近似虽然不精确,但足以确定沿特定传输尚未接收到的分组为高的概率,并且因 此,分组重试可能是必需的。
[0049] 在到达其目的地之前可沿多个路径传送分组的实施例中,合理时间的近似可变得 不太精确,并且正确值更难以预测。在此类实施例中,沿分组所采取的路径的所有传输跳的 最坏情况的时间之和可提供对于沿那个路径的合理时间的测量的良好估计。
[0050] 在一些实施例中,请求重试的控制分组可通过不同于原始建立的传输信道的可用 传输信道传送到始发电子装置。重放的分组也可通过不同于原始传输信道的任何传输信道 传送,使得最小化流的中断。在各种实施例中,接收到请求重试的控制分组的电子装置可沿 与原始用于携带现在正在重新播放的分组的传输信道不同的至少一个传输信道传送原始 分组的副本。
[0051] 通常,一系列分组的接收方可按规则间隔向始发电子装置发送确认分组。确认分 组在各种实施例中可包含已经接收到在具体序列号之前的所有分组的信息。当流已经从预 计在给定序列号的流上接收分组的所有目的地电子装置接收到确认时,分组可从由始发电 子装置上的隧道协议栈130实例保持的分组的高速缓存中删除。
[0052] 图4描绘了根据目前公开的实施例用于确定故障转移状态的协议过程400的流程 图。如步骤401所指示的,协议过程400可在两个对等电子装置之间建立通信链路和数据 流。一旦数据流被建立401,协议过程400就可基于确认的接收反复检验有效传输信道是否 可用,如步骤402所描绘的。当有效传输信道可用时,流继续不中断,如步骤403中所指示 的。
[0053] 然而,在某些实施例中,传输信道在已经建立了两个对等体之间的连接之后可变 得不可用。传输信道可出于各种原因而变得不可用,包含但不限于:硬件无线电的移动,使 得传送无线电的最大信号强度被衰减到接收无线电的噪声本底以下;无线电环境中硬件无 线电的移动或移位,使得信号被介于无线电之间的材料衰减;导线断开或光纤或承载传输 信道的其它物理介质的中断;通信方使电子装置断电或使电子装置休眠中的一项或多项, 使得承载传输信道的网络接口不能够传送或接收数据;通信终止协议栈(诸如例如因为能 量资源分配、带宽分配、过程优先权优化等的原因)的一项或多项;通信方使无线电或无线 电技术断电或禁用或者使装置进入"飞行模式"中的一项或多项,使得禁止无线电传送或接 收数据;有计划地关断服务或承载传输信道的介质;无线电或物理介质的无计划的硬件故 障;诸如此类。
[0054] 当过程400确定没有有效的传输信道可用于从始发电子装置向一个或多个接收 方电子装置传送分组时,它可能不关闭流。在一些实施例中,隧道协议栈130可使此类流进 入故障转移状态,如过程400的步骤404所描绘的。协议过程400然后在步骤405确定是否 可以建立能够携带数据有效载荷的新传输信道,并且如果是,则隧道协议栈尝试使流故障 转移到新传输信道(如步骤406所描绘的),以便继续数据传送(如在步骤403中所指示的)。
[0055] 在此类实施例中,过程400提供了指示已经中止数据流到使用该流但不再能到达 的对等应用的远程会话的带外信号,如步骤407中所指示的。因此,数据到那个流的后续读 和写可变成非操作。
[0056] 在步骤408,协议过程400确定是否能建立通过新传输信道的新连接,并且如果 是,则过程400返回到步骤403,在此重新开始到一个或多个其目的地会话的流。
[0057] 如果未能建立新传输信道,则过程400将"流中止"信号转发到始发电子装置,在 步骤409。在此类实施例中,如在步骤410中所指示的,故障转移过程可进一步涉及定期尝 试建立在由将流保持在中止状态的电子装置共享的端点之间可能的一些或所有传输信道。 连接尝试的周期性可取决于如下因素,包含但不限于:发生尝试的传输信道的网络介质的 功率提取、发起连接的装置上的功率可用性、由对等应用提供的指示重新建立流的相对紧 急性的提不,等等。
[0058] 在定期尝试重新建立一个或多个传输信道之后,过程400可遵循上面所描述的数 据传送规则,通过判定是否建立了能够携带流的传输信道,如步骤405中所指示的。
[0059] 尽管流可无限地保持在中止状态,如由步骤405 (否)、409和410形成的环所指示 的,但尝试重新连接之间的周期可逐渐增加在一些实施例中,在后续尝试重新连接之间的 周期可随着为该类型网络介质选择的滞后而增加。在网络介质是无线的实施例中,后续传 输信道连接尝试之间的周期最终可达到无限周期。在此类实施例中,传输可仅在两个电子 装置都新发现彼此并且它们的相应协议栈连接到彼此以交换描述所发现的会话的任何更 新的元数据时才重新开始。
[0060] 在多个传输信道可用的实施例中,分组可使用需要每位最低总能量的传输信道向 下发送。在某些实施例中,可积累较高带宽传输,使得若干分组从要沿它写入的流可用。在 此类实施例中,如果至少一个其它较低带宽传输信道可用,则较低带宽传输可用于传送分 组。分组可按尚未传送的序列号传送。在一些情况下,分组序列号可选择成使得它在较低 传输的现有积累中足够久远,以在分组积累完全耗尽以沿更快传输发送之前将较旧的分组 传送到目的地装置。因此,较低传输可用于减少现有较快传输的积累,而不增加等待时间。
[0061] 在其它实施例中,传输信道可流到携带会话的电子装置,使得发送到那个电子装 置的每个分组都被优化以最小化传输的积累并最大化位速率。在至少一个传输信道正在携 带流但可建立至少一个其它传输的实施例中,可通过执行动态优化来断开另一传输,使得 仅使用一个传输。在此类实施例中,可选择在端点集合的交叉点上可用的最快传输信道。备 选地,可选择协议不将故障转移的传输信道。当在两个隧道协议栈实例之间共享控制元数 据时,可通过算法优化器确定连接的传输信道。
[0062] 图5描绘了根据本文公开的一些实施例用于促进传输信道的过程500。如步骤501 所指示的,过程500可在两个对等电子装置之间建立通信链路和数据流。一旦数据流被建 立501,协议过程500就可按照隧道协议栈130的优化器定期检查传输信道是否具有足够带 宽,如步骤502中所指示的。在各种实施例中,带宽效率可通过诸如例如在使用的应用所需 要的数据传送速率、运行在始发装置上的其它应用所需要的数据传送速率、运行在始发装 置上的各种过程的数据传送的优先级等因素确定。如果确定传输信道具有足够带宽,则数 据传送经由那个传输信道继续不中断,如在步骤503中所指示的。
[0063] 在一些实例中,传输信道的总带宽可能不足以携带流,如在步骤502之后的判定 "否"所指示的。在此类实例中,过程500按照优化器可建立至少一个其它传输信道(如在步 骤504所指示的),以平衡载荷并且可将流促进到该传输信道作为传送分组的优选路由。优 化器然后可适当地在所有建立的信道上复用数据流,如在步骤505所指示的。在一些实施 例中,可执行定期检查,以检查是否多于一个传输信道提供了足够带宽,如在步骤502中。 [0064] 在一些实例中,到电子装置的传输信道集合提供了比向远程装置传送数据的所有 流集合使用的更多的带宽。在此类实例中,传输优化器可关闭或者降级具有较高能量每位 要求的传输信道或具有较低带宽的传输信道。在一些实施例中,传输优化器当它不再由流 使用时可降级传输信道。在各种实施例中,从传输信道的最后流的使用到传输信道的选择 的时间可取决于传输信道的存在是否大大妨碍了网络介质的使用。例如,在其中一个传输 信道是蓝牙的实施例中,从微微网可用的网络连接的极限限制了蓝牙信道对于以太网接口 上的TCP/IP连接保持打开的时间。
[0065] 在各种实施例中,当隧道协议栈确定大大增加的带宽或大大减少的金钱或能量成 本将起因于在本地装置与另一装置之间建立新传输信道时,优化器可选择促进操作。优化 器可执行带宽分布的本地模拟,其中启用了各种新传输信道。它可与其它连接的协议栈实 例共享这个模拟结果,以尝试构造更加平衡的网络载荷。在一些实施例中,模拟可将诸如例 如当前打开流的服务质量要求、最小带宽、最小等待时间、是否可满足等时递送时间、传输 的每位能量成本、传输的每位金钱成本、传输的理论和历史带宽、来自外部源的可用于栈的 任何其它提不等因素考虑进去。
[0066] 在一些实施例中,对于流的所需质量的度量的简单模拟可导致其中一个所需参数 的实质改进,没有对另一个的不可接受的退化。在此类实施例中,隧道协议栈可建立新传输 信道。此外,隧道协议可将新建立的传输信道设置为最合意的传输信道以在分组路由判定 期间选择在那个传输信道上潜在要携带的流的某个子集。以比较低的周期性,隧道协议栈 栈可使用控制信道向其紧接的对等体请求优化记录,并运行查找更优化网络拓扑的更详细 模拟。可能存在两个装置上的优化不一致的情形,导致非稳态或亚稳态振荡行为,使得传输 信道在活动和不活动状态之间跳跃。为了避免在活动与不活动状态之间的此类跳跃,隧道 协议栈可使用先前传输信道降级的历史记录来衰减促进请求的频率。
[0067] 在一些实施例中,如果没有流在传输信道上发送数据,则可关闭传输信道。关闭时 间的确定取决于控制分组在请求重试的流上的传送。每个流可接收它已经接收的当前序列 号后面的分组。在预先确定的重试周期结束时,传送请求重试的控制分组。如果未接收到 应答,则可在大于形成几何级数增长的先前时间段的附加的过去的时间段之后传送请求重 试的后续控制分组。当在传输信道上接收到应答时,重新设置时间值。当重试之间的时间 本质上延长超过最小时间以对于传输信道的两侧关闭在具体网络介质上的传输时,可关闭 传输信道。任何进一步重试尝试可能都不导致故障转移状态。然而,如果传送新数据分组 的任何尝试都导致故障转移状态。此类分组可使流或多个流中止,导致隧道协议尝试重新 开始那些流。
[0068] 鉴于此,图6描绘了用于降级传输信道的过程600。当建立两个对等电子装置之间 的数据流时(如在步骤601中所描绘的),过程600按照隧道协议栈130的优化器可定期检 查传输信道是否未充分利用(或未利用),如步骤602所描绘的。如果传输信道都没有未充 分利用(如在步骤602之后的"否"所指示的),则在两个传输信道上都可维持数据流,如在 步骤606中所描绘的。
[0069] 在优化器确定传输信道之一未充分利用(或未利用)的实例中,如在步骤602之 后的"是"所指示的,它可向对等电子装置发送请求以降级或关闭未充分利用(或未利用) 的传输信道,如步骤603所指示的。隧道协议栈130然后可检查两个对等电子装置是否都同 意降级或关闭未充分利用(或未利用)的传输信道,如步骤604所描绘的。如果两个电子 装置上的隧道协议实例一致认为传输信道未充分利用或未利用(如在步骤604之后的"是" 所指示的),则传输信道被降级或关闭,如在步骤605中所指示的。
[0070] 在一些实施例中,可能有可能电子装置上的优化算法可基于对具体电子装置可用 的唯一本地数据达到相反判定。在此类实施例中,传输信道保持打开,并且在两个传输信道 上都维持数据流,如在步骤606中所指示的。
[0071] 在一些实例中,隧道协议栈可通过控制流发送优先级分类连同降级请求。在各种 实施例中,可允许具有较高优先级的电子装置出于否决降级的原因关闭其选择的传输。优 先级分类可包含但不限于:由其它协议所需的带宽、电池低的条件、装置上的硬件休眠状 态、具有想要专用于另一装置连接的有限连接扇入或扇出的网络介质等。在一致不可能的 实施例中,降级可能不自动继续进行。
[0072] 在一些实施例中,无线无线电可充当到远程电子装置的传输信道的数据的唯一载 体,并且无线无线电可提供通过其可测量距离或RSSI (接收的信号强度指示符)的接口。在 此类实施例中,隧道协议栈可确定距离或信号强度指示符的近似瞬时斜率,并使用它预测 传输信道可变得不可靠的时间。如果此类状态被断言发生在建立传输信道花最少时间建立 所需的时间内,则隧道协议栈可在信号丢失或退化之前尝试建立到远程电子装置的不同传 输信道。如果新连接的传输信道不需要,则它最终将通过协议栈的传输优化器的正常降级 过程断开。
[0073] 图7示出了能够进行对等通信的电子装置的邻域。在各种实施例中,邻域700可 包含多个有线或无线电子装置,每个电子装置都具有发现范围。在各种实施例中,发现范围 可取决于由电子装置的用户提供的位置信息、对装置可用的无线无线电的数量和类型、电 子装置存在于的物理环境、由邻域中的一个或多个电子装置已经建立的连接数量、防火墙 的存在、具体电子装置存在于的具体子域、连接到具体电子装置的最近路由器的位置、连接 到某个电子装置所需的网络跳数等。
[0074] 在一些实施例中,各种电子装置的发现范围可取决于诸如例如由全球定位系统或 用于确定绝对位置的其它构件所确定的装置的绝对地理位置之间的差或由嵌入式高度计 或全球定位系统所确定的装置的绝对高度之间的差的因素。
[0075] 在一些实施例中,发现范围可取决于由接收装置所确定的传送装置的信号的RRSI 或分组相较于其传送时间的到达时间,其中这些时间可被精确确定(在几微妙内),并且其 中两个装置都可访问公共源,一致认为超时不多于几百纳秒。在其它实施例中,发现范围可 取决于无线电信号的精确载波频率的跟踪以及载波距在时间上积分的导频的多普勒频移 的历史测量,以确定装置是朝测量装置运动还是远离测量装置运动以及那个运动的持续时 间和近似速率。
[0076] 在使用短程通信介质(例如近场通信[NFC]、感应环、红外收发器)的实施例中,发 现范围可取决于两个电子装置之间的物理距离,因为在完成那个介质上的转移的时候,使 用那个介质的装置必须已经共同定位在由那个介质的最大范围确定的某个最小范围内。
[0077] 在又一些实施例中,发现范围可取决于有关使用有关众所周知的接入点、固定装 置(例如商店亭)和网络接近度(通过跟踪IP业务所确定)的信息所确定的装置当前位 置的干扰,或者有关使用活动板上视频或音频设备所确定的装置当前位置的推理,例如根 据已知地标、签名、来自此类提示的存储数据库的星座或其它视觉或听觉提示的存在推断 出位置。在另外实施例中,与提供固定位置的专用装置共享信息,其与通信范围(例如在航 站楼、公交站或其它公用或私用设施)内的装置共享此信息。
[0078] 在电子装置已知为在具有由其它构件确定的已知位置的另一电子装置附近的实 施例中,此类信息可被过渡地应用于近似共同定位的装置的绝对位置。
[0079] 返回到图7,三个电子装置701、702和703分别具有由711、712和713所图示的最 大发现范围。将认识到,虽然图7中示出了三个无线电子装置701、702和703,但邻域700 可包含无线或有线电子装置。
[0080] 在图7中描绘的实施例中,电子装置702的发现范围712分别与电子装置701和 703的发现范围711和发现范围713交叠。因此,电子装置702可发现电子装置701和电 子装置703。因为电子装置701和703的发现范围711和713分别不交叠,因此电子装置 701可仅发现电子装置702,但未发现电子装置703。同样,电子装置703可仅发现电子装置 702,但未发现电子装置701。
[0081] 然而,电子装置702可以增加的间接等级与装置701共享电子装置703。在此类实 例中,电子装置702还有效地以同一间接等级与电子装置703共享电子装置701。在此情况 下,表1中列出了不同装置之间的间接等级。

【权利要求】
1. 一种构造电子装置的邻域中电子装置的近似空间表示的方法,所述方法包括: 从一范围内的电子装置收集数据,其中所述数据包括电子装置的唯一标识符、原始电 子装置的端点和所发现的端点的间接等级中的一项或多项;以及 根据所收集的数据构建表示电子装置的邻域的数据集合。
2. 如权利要求1所述的方法,其中收集数据基于所述范围内的装置的所述间接等级。
3. 如权利要求1所述的方法,进一步包括:使用无线或有线发现机制与所述邻域中的 电子装置共享端点列表。
4. 如权利要求3所述的方法,进一步包括:通过在所述邻域内的多个电子装置之间建 立网络连接并将所述端点列表分布在所述多个电子装置上,将所述端点列表过渡地存储在 所述多个电子装置上。
5. 如权利要求1所述的方法,其中所述数据进一步包括相对距离或接收的信号强度 指示。
6. 如权利要求1所述的方法,其中所述数据进一步包括有关所述电子装置的物理位 置的信息。
7. 如权利要求1所述的方法,其中电子装置的本地端点具有0间接等级。
8. 如权利要求1所述的方法,其中通过应用编程接口(API)公布所述数据集合。
9. 一种用于预测用于在电子装置邻域中的电子装置之间建立网络连接的最佳端点对 的方法,所述方法包括: 从一范围内的电子装置收集数据,其中所述数据包括电子装置的唯一标识符、原始电 子装置的端点、所发现的端点的间接等级以及相对距离或接收的信号强度指示中的一项或 多项; 根据所收集的数据构建表示电子装置邻域的数据集合;以及 使用所收集的数据构造装置邻域中电子装置的近似空间表示。
10. 如权利要求9所述的方法,其中收集数据基于所述范围内的装置的所述间接等 级。
11. 如权利要求9所述的方法,其中电子装置的本地端点具有0间接等级。
12. 如权利要求9所述的方法,进一步包括:使用无线或有线发现机制与所述邻域中 的电子装置共享端点列表。
13. 如权利要求12所述的方法,进一步包括:通过在所述邻域内的多个电子装置之间 建立网络连接并将所述端点列表分布在所述多个电子装置上,将所述端点列表过渡地存储 在所述多个电子装置上。
14. 如权利要求9所述的方法,其中通过应用编程接口(API)公布所述数据集合。
15. 如权利要求9所述的方法,进一步包括:预测何时一个或多个电子装置进入或离 开具体电子装置的附近。
16. 如权利要求15所述的方法,进一步包括:基于一个或多个电子装置进入或离开具 体电子装置附近的所述预测,维持邻域中电子装置之间的数据流。
17. -种电子装置,包括: 处理器,其与存储器通信,用于执行如下指令: 从一范围内的电子装置收集数据,其中所述数据包括电子装置的唯一标识符、原始电 子装置的端点和所发现的端点的间接等级中的一项或多项;以及 根据所收集的数据构建表示电子装置邻域的数据集合。
18. 如权利要求17所述的电子装置,其中收集所述数据基于所述范围内的装置的所 述间接等级。
19. 如权利要求17所述的电子装置,其中电子装置的本地端点具有0间接等级。
20. 如权利要求17所述的电子装置,其中所述指令进一步包括:使用无线或有线发现 机制与所述邻域中的电子装置共享端点列表。
21. 如权利要求20所述的电子装置,其中所述指令进一步包括:通过在所述邻域内的 多个电子装置之间建立网络连接并将所述端点列表分布在所述多个电子装置上,将所述端 点列表过渡地存储在所述多个电子装置上。
22. 如权利要求17所述的电子装置,其中所述数据进一步包括相对距离或接收的信 号强度指示。
23. 如权利要求17所述的电子装置,其中所述数据进一步包括有关所述电子装置的 物理位置的信息。
24. 如权利要求17所述的电子装置,其中所述指令进一步包括:使用所收集的数据构 造装置邻域中电子装置的近似空间表示。
【文档编号】H04L12/26GK104509036SQ201380042018
【公开日】2015年4月8日 申请日期:2013年6月25日 优先权日:2012年9月6日
【发明者】M. 科勒 R., C. 兰克斯沃特 P., D. 勒纳汉 C., M. 森格 C., J. 米拉尼 A. 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1