CN104509036A - 通过使用无线或有线发现机制共享邻域信息的装置物理位置近似以及过渡装置发现 - Google Patents
通过使用无线或有线发现机制共享邻域信息的装置物理位置近似以及过渡装置发现 Download PDFInfo
- Publication number
- CN104509036A CN104509036A CN201380042018.1A CN201380042018A CN104509036A CN 104509036 A CN104509036 A CN 104509036A CN 201380042018 A CN201380042018 A CN 201380042018A CN 104509036 A CN104509036 A CN 104509036A
- Authority
- CN
- China
- Prior art keywords
- electronic installation
- data
- end points
- neighborhood
- electronic
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
描述了一种构造装置邻域中电子装置的近似空间表示的方法。该方法可包含从一范围内的电子装置收集数据,其中数据包括电子装置的唯一标识符、原始电子装置的端点和所发现的端点的间接等级中的一项或多项,以及根据所收集的数据构建表示电子装置邻域的数据集合。所收集的数据可进一步包含相对距离或接收的信号强度指示或有关电子装置物理位置的其它信息。
Description
相关申请的交叉引用
本申请要求2012年9月6日提交的美国申请No.60/691,524和2013年3月15提交的美国申请No.13/839,502的优先权,它们的全部内容通过引用结合在本文中。
技术领域
此公开一般涉及无线通信领域,并且更具体地说,涉及无线通信系统和方法。
背景技术
电子装置之间或那些装置的用户之间的对等通信一般需要用于传送和接收在装置或用户之间发送的数据的良好定义的物理或无线介质。当使用此类介质的装置之间的现有连接由于瞬时问题(诸如例如可用带宽的过载、干扰、增加的线性距离、物理中断、改变的功率可用性或其它未预见的条件)而变得不可靠或故障时,它一般意味着在那些装置之间或那些用户之间传送的数据的中断。
尽管可构造网络拓扑以帮助改善这些条件,但这些备选路径一般先验配置,并且频繁地共享公共网络协议或物理介质类型。如果中断不是短暂的,则它可导致两个装置之间或那些装置的用户之间的数据流终止。
附图说明
图1描绘了根据本公开的各种方面和原理采用隧道协议的无线通信系统。
图2描绘了根据本公开的各种方面和原理由协议栈使用的本地端点和远程端点的示例。
图3描绘了根据本公开的各种方面和原理由协议栈使用的封装分组。
图4描绘了根据本公开的各种方面和原理用于确定故障转移状态的协议过程的流程图。
图5描绘了根据本公开的各种方面和原理用于将数据流促进到传输信道的过程的流程图。
图6描绘了根据本公开的各种方面和原理用于使传输信道降级的过程的流程图。
图7描绘了根据本公开的各种方面和原理能够进行对等通信的电子装置的邻域。
图8描绘了根据本公开的各种方面和原理用于在发现邻域中的新装置之后附加端点数据库的过程的流程图。
具体实施方式
在如下的描述中,相似组件已经被给出了相同附图标记,不管它们是否在不同实施例中示出。为了以清晰且简明的方式说明本公开的实施例,附图可能不一定按比例,并且某些特征可能以某种示意的形式示出。相对于一个实施例描述和/或说明的特征可以相同方式或类似方式用于一个或多个其它实施例中,和/或与其它实施例的特征进行组合或代替它们。
根据此公开的各种实施例,给出了构造电子装置的邻域中电子装置的近似空间表示的方法。该方法可包含从一范围内的电子装置收集数据,其中数据包括电子装置的唯一标识符、原始电子装置的端点和所发现的端点的间接等级中的一项或多项,以及根据所收集的数据构建表示电子装置邻域的数据集合。
在另一实施例中,给出了一种用于预测最佳端点对以便在电子装置邻域中的电子装置之间建立网络连接的方法。该方法可包含:从一范围内的电子装置收集数据,其中数据包括电子装置的唯一标识符、原始电子装置的端点、所发现的端点的间接等级以及相对距离或接收的信号强度指示中的一项或多项;根据所收集的数据构建表示电子装置邻域的数据集合;以及使用收集的数据构造装置邻域中电子装置的近似空间表示。
在另一实施例中,给出电子装置,其具有处理器,处理器与存储器通信以便执行指令。指令可以是:从一范围内的电子装置收集数据,其中所述数据包括电子装置的唯一标识符、原始电子装置的端点和所发现的端点的间接等级中的一项或多项;以及根据所收集的数据构建表示电子装置邻域的数据集合。
在各种实施例中,网络协议栈可构造用于利用协议栈的实现来提供软件应用之间的无缝数据传输和对等连接性。协议栈可为了使用它的对等软件的益处而仿效网络协议的子集,诸如例如IPV4、IPV6、ICMP、ICMP v6、ECN、IGMP、IPsec、AppleTalk、IPX、ARP等,并且此外,可向对等应用提供特定特征以便给另外通过此类网络协议不可用的对等连接性的正常问题提供解决方案。协议可进一步提供用于基于诸如例如可用带宽、传输信道的能量消耗、金钱成本、数据传输完成的功率可用性、数据传送期间可接受的等待时间等因素选择用于无缝数据传输的最优传输信道的逻辑。
通常,对等通信可包含诸如例如通过因特网协议的语音(VoIP)、对等文件上载、对等文件下载、通过无线通信的视频等或它们的任何组合的应用中两个或更多对等体之间的数据传送。
网络可包含固定装置、移动装置或二者的组合,它们通过有线链路、无线链路或二者的组合连接。在各种实施例中,无线链路可包含但不限于WiFi、WiFiDirect、蓝牙、WiMax、WWAN、任何移动宽带通信系统(例如UMTS、CDMA、HIPERMAN、ETSI、BRAN、GSM/GPRS、EDGE、HSPA、LTE等)之类的。网络内的各种装置例如可具有一个或多个无线电、传送器、接收器、收发器、芯片集、放大器、滤波器、控制逻辑电路、网络接口卡、天线、天线阵列等。
在各种实施例中,网络可包含具有无线通信能力的固定装置,诸如例如无线接入点(AP)、基站或节点B、路由器、交换机、集线器、网关或它们的任何组合。固定装置可能已经概括了向另一无线装置(诸如一个或多个移动装置)提供连接性和/或信息的设备集合。在各种实施例中,网络可包含具有无线通信能力的移动装置,诸如例如计算机、服务器、工作站、笔记本计算机、手持计算机、电话、蜂窝电话、个人数字助理(PDA)、蜂窝电话和PDA的组合等等。在一些实施例中,固定装置或移动装置可能能够运行软件应用。
使用本文描述的协议栈:(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)对等软件一般可通过共享网络地址空间通信,没有恶意寻址相同网络上其它对等软件的能力。
进一步说,本文描述的过程:(i)允许协议栈构造具体电子装置附近的各种电子装置的近似空间表示;(ii)允许协议栈进行有关可用于在电子装置之间建立网络连接的最佳可能端点对的预测;以及(iii)允许协议栈确定在各种电子装置之间可靠地中继信息的有效路径。
因此,执行对等通信以根据此通信从任何正在进行的过程的中断恢复的任何软件可含有专用于记录数据流中断之前的状态并在介质变得重新可用之后重新建立该状态的算法。此外,正常情况下不携带由对等软件使用的网络协议但的确提供了数字数据的某种介质的备选物理介质的存在可能不用于避免中断对等通信链路,而没有明确支持由该介质支持的备选协议或通过该介质配置的隧道协议,其模仿明显为了避免此类中断的目的而介质明确不支持的网络协议。
通常,所有对等体共享公共地址空间的虚拟网络,允许所有涉及的通信方在此虚拟网络中都可寻址,虚拟网络由能够携带特定协议的介质构成的链路构造,可提供用于维持对等体之间连接性而不需要由软件提供或消耗对等数据的动作的解决方案。因为此类虚拟网络依赖于构造它们的介质的持久性,所以当任两个通信对等体之间的所有可能链路都丢失时,它保持易受网络上装置之间的连接中断。
而且,在此类虚拟网络中的节点之间传送的数据可排他地通过由于瞬时限制(诸如可用的CPU循环、电池功率或不通过虚拟网络通信的软件的带宽要求)而不理想地适合于携带此数据的特定装置路由。此对等体的瞬时丢失可能未由通过它路由数据的对等体观测到,直到携带对等数据的网络协议的自然超时指示网络连接已经丢失为止。在那一点,因此具有对等连接。
如果在此网络连接性丢失之前,对等体之一的用户启用了可访问其它通信对等(诸如例如蓝牙、WiFi、WiFiDirect、WiMax等)的新通信介质,则两个对等体必须通过用户干预经由那个新介质连接,因为两个对等体都不知晓在对等体之间路由所有业务的中间节点将要经历连接丢失。如果此类连接作为新链路被预防性地带入虚拟网络中以避免对等通信的可能丢失,并且连接丢失不发生,则不需要新链路,并且维持对等体之间新链路所需的能量被浪费。
虚拟网络可能还遭受安全风险,因为共享公共地址空间的所有节点可在任何时间向彼此发送数据,导致所有对等软件都相对来自操作在同一网络上的其它对等对虚拟网络的网络攻击进行加固的要求。
在一些实施例中,提供本文描述的协议的软件可运行在具有零个或多个类型网络介质的装置上。通常,当协议被启动或者从装置上的数据库加载时,随机选择或从权威源中选择通用唯一装置标识符(UUID),使得装置可获得以这种方式获取的装置标识符的受限域中的唯一地址。
鉴于此,图1描绘了根据某些实施例的无线通信系统100。系统100可包含努力在无线介质175或185上经由隧道协议栈130彼此通信的第一电子装置101和第二电子装置102。例如,在初始通信阶段期间,第一电子装置101可发现第二电子装置102,并尝试与用户装置102建立通信链路。
用户电子装置102、104可采取移动电话、平板计算机、个人计算机、网络服务器、膝上型计算机、智能电话、游戏装置、连网装置、导航装置、可佩戴计算机装置、能够通信的设施等形式。而且,将认识到,发现和通信过程可以是基于附近的,诸如例如通过直接配对,或者基于网络的,诸如例如经由网络接入点附连到网络150。还将认识到,发现对等电子装置以及在此类装置之间建立通信可操作在各种无线通信协议和标准下,诸如例如Wi-Fi、WiFi直接、WiMax、WWAN、WLAN、WPAN、蓝牙、蓝牙低能量、近场通信或适当无线标准的任何其它实现。在各种实施例中,对等装置之间的发现和数据传送可能不发生在同一通信协议上。例如,在一些实施例中,对等装置的端点可通过使用STUN服务器来确定,并且数据传送可作为UDP分组发生。
在一些实施例中,装置101和102还可硬连线到网络连接的装置,诸如例如路由器、交换机、网关等,或者其它装置,诸如例如台式个人计算机、手持计算机、膝上型计算机、服务器、工作站、蜂窝电话、电话、个人数字助理等,它们可能能够进行无线连接,或者可能不能够。因此,在第一装置101和第二装置102之间的发现和通信不限于任何特定标准,并且所讨论的示例可彼此单独实现或组合实现。从而,虽然为了图示的简单在图中示出了两个电子装置,但本文公开的各个方面可应用于在某个附近区域内存在的多个装置。
如将在下面更详细描述的,电子装置101、102可包含端点的本地列表,诸如分别是端点111A、111B和端点112A、112B、112C,以便于数据连接。在电子装置101、102上存在的每个可用网络介质175、185可提供到任何装置的连接性,其还支持使用那种类型网络介质并实现隧道协议栈130的数据传送。
转到图2,对于对隧道协议栈130可接入的所有网络介质类型,诸如例如蓝牙、TCP/IP、WWAN等,协议栈130然后可在例如由端点111A、111B、112A、112B和112C所指示的地址域中建立它自己的地址,其由网络介质提供。以这种方式,支持相同网络介质的其它装置例如可基于装置类型和地址值(根据地址的类型和值)连接到所建立的地址,并且当它正在执行时与协议栈130通信。如本文所描述的,此地址在以电子装置为条件的上下文中被视为该电子装置上其它装置可连接到的“端点”。
在各种实施例中,隧道协议栈130的每个实例都可保留可用于建立到它的数据连接的端点的本地列表。例如,如上面所指出的,对于电子装置101,本地端点是111A、111B,而对于装置102,本地端点是112A、112B和112C,诸如此类。然后可使用对协议栈130可用的任何发现机制,使用可用的本地网络介质,来公布和更新端点和装置标识符的这个列表。隧道协议栈130可预订其它最接近的电子装置的发现数据的改变,或者可根据诸如例如网络介质类型、那个网络介质的发现过程的额定功率提取等因素周期性查询那个发现数据。
当提供另一电子装置的装置标识符和端点时,那个信息可键控或基于那个装置标识符而被添加到数据库,以便提供有关诸如例如可用于121和122的所有端点的信息。通过布置所有端点,此类信息可用于建立到远程电子装置的网络连接。如果远程电子装置报告与本地电子装置相同的唯一标识符,则不进行数据库更新,并且地址冲突的通知将被发送到提供电子装置上协议栈130配置的任何软件。在一些实施例中,其它源可用于更新远程装置的数据库。例如,具体端点可在电子装置上公告所有可用本地端点。当发现此类端点时,所有公告的端点然后可被添加到数据库。
当隧道协议栈130在电子装置之间建立数据连接时,它可以选择一对端点,其中该对的至少一个端点来自于它自己的端点列表,并且该对的另一个的域存在于从本地电子装置上的始发端点可到达的地址空间内。
图3描绘了可由协议栈130通过数据连接支持的可变长度数据分组300。可变长度的封装的数据分组300可配置成包含封装的数据和/或控制代码310、装置标识符320、前向校正代码330、会话ID340和分组序列号350。
装备有此类配置,可变长度的封装的数据分组300依据协议栈的装置标识符320,而不是依赖于支持网络的地址提供有关有效载荷数据的源和目的地电子装置的信息(或控制代码信息)310。此类隧道协议130隐藏网络介质的细节,使得具有不同OSI层三的网络协议的网络介质可由协议栈互换使用。源和目的地端点以及层三网络连接的有序三元组提供了在电子装置之间携带数据的OSI层四传输信道。
封装的数据分组300可构造成使得其数据有效载荷可经由可最少地提供源装置与目的地装置之间的双向数据流的任何网络介质传送。如果双向数据流在网络介质上不可用,则第二网络介质可能需要在相反方向提供数据流,并且两个单向网络介质的它们相应域中的网络地址对被视为端点。无论何时网络通信介质未构成数据的可靠载波使得位出错或分组丢失可发生时,分组封装都可被扩大成提供分组的前向数据纠错代码330。如上面所提到的,封装分组300可含有打算送往目的地电子装置的数据或控制代码310的有效载荷,或者它可过渡地含有对目的地装置可见的打算送往电子装置的数据或控制代码。换句话说,数据库可被动态更新,使得对各种装置可见的数据不静态超时。
隧道协议栈130可创建一个或多个用户,它们映射到从数据库启动或加载隧道协议栈130的电子装置的身份、账户或人类用户。还可给每个用户通用唯一用户标识符,其可用于在所有用户标识符的域中标识用户。然后可使用内射映射将装置标识符和用户标识符的有序对组合成第三唯一标识符,其可标识在电子装置上存在用户。
在一些实施例中,隧道协议栈130可能要求两个或更多电子装置上的两个或更多用户之间的会话携带对等应用的数据。在其它实施例中,隧道协议栈130可要求会话在两个隧道协议栈实例之间发送控制代码。在任一实例中,隧道协议栈都可通过基于源会话标识符、目的地会话标识符和流标识符340的有序三元组在两个电子装置之间协商流来打开两个电子装置之间的会话,如早先所描述的。
隧道协议栈130可在电子装置之间找到或建立至少一个传输信道以便建立流。由隧道协议栈130执行的封装允许它不可知地对待电子装置之间的传输信道。此特征允许隧道协议130优化传输信道的选择以便最小化建立流所需的时间。在传输信道可用的实施例中,此类优化可包含选择可用的开放传输。在没有传输信道可用并且流预计携带用于对等应用的数据的实施例中,优化可包含同时在电子装置之间建立所有可能的并且管理上允许的传输信道。在其它实施例中,优化可遵循传输信道选择优化的正常规则,如本文所讨论的。
在要求对等应用将其数据分组复制到多个会话的实施例中,隧道协议栈130可预留流标识符340作为本地群标识符。隧道协议栈130可进一步建立到每一个会话的控制流,其可从接收到分组的会话群的每个现有成员添加或移除会话标识符和群标识符的有序对。送往群的分组可被传送到群的每个电子装置,使得所有电子装置可接收传送到群流的所有分组。
在各种实施例中,数据流的加密可用于确保完整性并避免窥探流携带的数据。在一些实施例中,有可能默认是加密系统中的所有数据流。在某些实施例中,控制信道可根据相对于证书授权机构签署的证书用密钥加密。此类加密将使其实质上难以使对等应用通过隧道协议栈130没有破解加密而恶意连接到另一对等应用。可使隧道协议栈130在建立对等应用之间连接之前需要对等体的允许和对等应用的存在的知识。
一旦建立了流,就可通过多个全异传输信道传送封装分组的隧道协议栈的流。流分组的分组封装可进一步扩大,以包含单调递增的序列号350,用于唯一标识在从分组的始发方到其一个或多个接收方流动的单个方向的流中的每个数据分组300。
在某些实施例中,通过传输信道传送的分组可能无法在合理时间内到达其目的地协议栈实例。在此类实施例中,控制分组可从接收装置发送到源装置以请求对于具体流重试具体序列号。合理时间可由传送分组的网络介质的类型定义。
合理时间可以是任意选择的时间,但从完成源装置上分组的硬件写到其在目的地装置上的接收距将特定大小的分组从源装置发送到目的地装置的平均时间具有一致数量的标准差,使得分组在那个时间内到达的概率被限定。在一些实施例中,这个值根据从分组发送到已经接收到分组的确认的接收的时间的分析而动态计算,但特定硬件无线电的本质规定了物理介质不能超过的平均时间的最小界限。例如,蓝牙2.0 EDR(增强数据速率)无线电不能以比3.0兆位每秒更快的速率发送数据,使得长度10,000位(1250字节)的分组不能在少于3.33毫秒的时间周期内传送。通过1.0吉比特每秒以太网双绞线对传送的相同分组不能花费少于0.01毫秒。
通常,合理时间的选择是近似;一般来说是最坏情况的时间的近似。然而,在所使用的总带宽的测量有可能的实施例中,合理时间的选择可以是精确的。在例如当无线电环境足够嘈杂时的某些情形下,无线电之间距离是足够高的,或者信号以别的方式被衰减,物理介质可以在远低于它们的额定带宽下传送。在此类情形下,通过一个路由器跳的有线以太网连接可在1秒内以99%概率传送10K分组,而蓝牙无线电可能需要多达1分钟来以相同概率传送分组。在每种情况下,合理时间是最坏情况时间的分数;最小化丢失机会所选择的近似,而没有延迟沿那个介质的分组重试,使得介质上的流的流动速率将拖延等于不大于传送和接收请求重试的分组以及传送和接收原始分组(假定丢失)所需的时间的值的时间。这个近似虽然不精确,但足以确定沿特定传输尚未接收到的分组为高的概率,并且因此,分组重试可能是必需的。
在到达其目的地之前可沿多个路径传送分组的实施例中,合理时间的近似可变得不太精确,并且正确值更难以预测。在此类实施例中,沿分组所采取的路径的所有传输跳的最坏情况的时间之和可提供对于沿那个路径的合理时间的测量的良好估计。
在一些实施例中,请求重试的控制分组可通过不同于原始建立的传输信道的可用传输信道传送到始发电子装置。重放的分组也可通过不同于原始传输信道的任何传输信道传送,使得最小化流的中断。在各种实施例中,接收到请求重试的控制分组的电子装置可沿与原始用于携带现在正在重新播放的分组的传输信道不同的至少一个传输信道传送原始分组的副本。
通常,一系列分组的接收方可按规则间隔向始发电子装置发送确认分组。确认分组在各种实施例中可包含已经接收到在具体序列号之前的所有分组的信息。当流已经从预计在给定序列号的流上接收分组的所有目的地电子装置接收到确认时,分组可从由始发电子装置上的隧道协议栈130实例保持的分组的高速缓存中删除。
图4描绘了根据目前公开的实施例用于确定故障转移状态的协议过程400的流程图。如步骤401所指示的,协议过程400可在两个对等电子装置之间建立通信链路和数据流。一旦数据流被建立401,协议过程400就可基于确认的接收反复检验有效传输信道是否可用,如步骤402所描绘的。当有效传输信道可用时,流继续不中断,如步骤403中所指示的。
然而,在某些实施例中,传输信道在已经建立了两个对等体之间的连接之后可变得不可用。传输信道可出于各种原因而变得不可用,包含但不限于:硬件无线电的移动,使得传送无线电的最大信号强度被衰减到接收无线电的噪声本底以下;无线电环境中硬件无线电的移动或移位,使得信号被介于无线电之间的材料衰减;导线断开或光纤或承载传输信道的其它物理介质的中断;通信方使电子装置断电或使电子装置休眠中的一项或多项,使得承载传输信道的网络接口不能够传送或接收数据;通信终止协议栈(诸如例如因为能量资源分配、带宽分配、过程优先权优化等的原因)的一项或多项;通信方使无线电或无线电技术断电或禁用或者使装置进入“飞行模式”中的一项或多项,使得禁止无线电传送或接收数据;有计划地关断服务或承载传输信道的介质;无线电或物理介质的无计划的硬件故障;诸如此类。
当过程400确定没有有效的传输信道可用于从始发电子装置向一个或多个接收方电子装置传送分组时,它可能不关闭流。在一些实施例中,隧道协议栈130可使此类流进入故障转移状态,如过程400的步骤404所描绘的。协议过程400然后在步骤405确定是否可以建立能够携带数据有效载荷的新传输信道,并且如果是,则隧道协议栈尝试使流故障转移到新传输信道(如步骤406所描绘的),以便继续数据传送(如在步骤403中所指示的)。
在此类实施例中,过程400提供了指示已经中止数据流到使用该流但不再能到达的对等应用的远程会话的带外信号,如步骤407中所指示的。因此,数据到那个流的后续读和写可变成非操作。
在步骤408,协议过程400确定是否能建立通过新传输信道的新连接,并且如果是,则过程400返回到步骤403,在此重新开始到一个或多个其目的地会话的流。
如果未能建立新传输信道,则过程400将“流中止”信号转发到始发电子装置,在步骤409。在此类实施例中,如在步骤410中所指示的,故障转移过程可进一步涉及定期尝试建立在由将流保持在中止状态的电子装置共享的端点之间可能的一些或所有传输信道。连接尝试的周期性可取决于如下因素,包含但不限于:发生尝试的传输信道的网络介质的功率提取、发起连接的装置上的功率可用性、由对等应用提供的指示重新建立流的相对紧急性的提示,等等。
在定期尝试重新建立一个或多个传输信道之后,过程400可遵循上面所描述的数据传送规则,通过判定是否建立了能够携带流的传输信道,如步骤405中所指示的。
尽管流可无限地保持在中止状态,如由步骤405(否)、409和410形成的环所指示的,但尝试重新连接之间的周期可逐渐增加在一些实施例中,在后续尝试重新连接之间的周期可随着为该类型网络介质选择的滞后而增加。在网络介质是无线的实施例中,后续传输信道连接尝试之间的周期最终可达到无限周期。在此类实施例中,传输可仅在两个电子装置都新发现彼此并且它们的相应协议栈连接到彼此以交换描述所发现的会话的任何更新的元数据时才重新开始。
在多个传输信道可用的实施例中,分组可使用需要每位最低总能量的传输信道向下发送。在某些实施例中,可积累较高带宽传输,使得若干分组从要沿它写入的流可用。在此类实施例中,如果至少一个其它较低带宽传输信道可用,则较低带宽传输可用于传送分组。分组可按尚未传送的序列号传送。在一些情况下,分组序列号可选择成使得它在较低传输的现有积累中足够久远,以在分组积累完全耗尽以沿更快传输发送之前将较旧的分组传送到目的地装置。因此,较低传输可用于减少现有较快传输的积累,而不增加等待时间。
在其它实施例中,传输信道可流到携带会话的电子装置,使得发送到那个电子装置的每个分组都被优化以最小化传输的积累并最大化位速率。在至少一个传输信道正在携带流但可建立至少一个其它传输的实施例中,可通过执行动态优化来断开另一传输,使得仅使用一个传输。在此类实施例中,可选择在端点集合的交叉点上可用的最快传输信道。备选地,可选择协议不将故障转移的传输信道。当在两个隧道协议栈实例之间共享控制元数据时,可通过算法优化器确定连接的传输信道。
图5描绘了根据本文公开的一些实施例用于促进传输信道的过程500。如步骤501所指示的,过程500可在两个对等电子装置之间建立通信链路和数据流。一旦数据流被建立501,协议过程500就可按照隧道协议栈130的优化器定期检查传输信道是否具有足够带宽,如步骤502中所指示的。在各种实施例中,带宽效率可通过诸如例如在使用的应用所需要的数据传送速率、运行在始发装置上的其它应用所需要的数据传送速率、运行在始发装置上的各种过程的数据传送的优先级等因素确定。如果确定传输信道具有足够带宽,则数据传送经由那个传输信道继续不中断,如在步骤503中所指示的。
在一些实例中,传输信道的总带宽可能不足以携带流,如在步骤502之后的判定“否”所指示的。在此类实例中,过程500按照优化器可建立至少一个其它传输信道(如在步骤504所指示的),以平衡载荷并且可将流促进到该传输信道作为传送分组的优选路由。优化器然后可适当地在所有建立的信道上复用数据流,如在步骤505所指示的。在一些实施例中,可执行定期检查,以检查是否多于一个传输信道提供了足够带宽,如在步骤502中。
在一些实例中,到电子装置的传输信道集合提供了比向远程装置传送数据的所有流集合使用的更多的带宽。在此类实例中,传输优化器可关闭或者降级具有较高能量每位要求的传输信道或具有较低带宽的传输信道。在一些实施例中,传输优化器当它不再由流使用时可降级传输信道。在各种实施例中,从传输信道的最后流的使用到传输信道的选择的时间可取决于传输信道的存在是否大大妨碍了网络介质的使用。例如,在其中一个传输信道是蓝牙的实施例中,从微微网可用的网络连接的极限限制了蓝牙信道对于以太网接口上的TCP/IP连接保持打开的时间。
在各种实施例中,当隧道协议栈确定大大增加的带宽或大大减少的金钱或能量成本将起因于在本地装置与另一装置之间建立新传输信道时,优化器可选择促进操作。优化器可执行带宽分布的本地模拟,其中启用了各种新传输信道。它可与其它连接的协议栈实例共享这个模拟结果,以尝试构造更加平衡的网络载荷。在一些实施例中,模拟可将诸如例如当前打开流的服务质量要求、最小带宽、最小等待时间、是否可满足等时递送时间、传输的每位能量成本、传输的每位金钱成本、传输的理论和历史带宽、来自外部源的可用于栈的任何其它提示等因素考虑进去。
在一些实施例中,对于流的所需质量的度量的简单模拟可导致其中一个所需参数的实质改进,没有对另一个的不可接受的退化。在此类实施例中,隧道协议栈可建立新传输信道。此外,隧道协议可将新建立的传输信道设置为最合意的传输信道以在分组路由判定期间选择在那个传输信道上潜在要携带的流的某个子集。以比较低的周期性,隧道协议栈栈可使用控制信道向其紧接的对等体请求优化记录,并运行查找更优化网络拓扑的更详细模拟。可能存在两个装置上的优化不一致的情形,导致非稳态或亚稳态振荡行为,使得传输信道在活动和不活动状态之间跳跃。为了避免在活动与不活动状态之间的此类跳跃,隧道协议栈可使用先前传输信道降级的历史记录来衰减促进请求的频率。
在一些实施例中,如果没有流在传输信道上发送数据,则可关闭传输信道。关闭时间的确定取决于控制分组在请求重试的流上的传送。每个流可接收它已经接收的当前序列号后面的分组。在预先确定的重试周期结束时,传送请求重试的控制分组。如果未接收到应答,则可在大于形成几何级数增长的先前时间段的附加的过去的时间段之后传送请求重试的后续控制分组。当在传输信道上接收到应答时,重新设置时间值。当重试之间的时间本质上延长超过最小时间以对于传输信道的两侧关闭在具体网络介质上的传输时,可关闭传输信道。任何进一步重试尝试可能都不导致故障转移状态。然而,如果传送新数据分组的任何尝试都导致故障转移状态。此类分组可使流或多个流中止,导致隧道协议尝试重新开始那些流。
鉴于此,图6描绘了用于降级传输信道的过程600。当建立两个对等电子装置之间的数据流时(如在步骤601中所描绘的),过程600按照隧道协议栈130的优化器可定期检查传输信道是否未充分利用(或未利用),如步骤602所描绘的。如果传输信道都没有未充分利用(如在步骤602之后的“否”所指示的),则在两个传输信道上都可维持数据流,如在步骤606中所描绘的。
在优化器确定传输信道之一未充分利用(或未利用)的实例中,如在步骤602之后的“是”所指示的,它可向对等电子装置发送请求以降级或关闭未充分利用(或未利用)的传输信道,如步骤603所指示的。隧道协议栈130然后可检查两个对等电子装置是否都同意降级或关闭未充分利用(或未利用)的传输信道,如步骤604所描绘的。如果两个电子装置上的隧道协议实例一致认为传输信道未充分利用或未利用(如在步骤604之后的“是”所指示的),则传输信道被降级或关闭,如在步骤605中所指示的。
在一些实施例中,可能有可能电子装置上的优化算法可基于对具体电子装置可用的唯一本地数据达到相反判定。在此类实施例中,传输信道保持打开,并且在两个传输信道上都维持数据流,如在步骤606中所指示的。
在一些实例中,隧道协议栈可通过控制流发送优先级分类连同降级请求。在各种实施例中,可允许具有较高优先级的电子装置出于否决降级的原因关闭其选择的传输。优先级分类可包含但不限于:由其它协议所需的带宽、电池低的条件、装置上的硬件休眠状态、具有想要专用于另一装置连接的有限连接扇入或扇出的网络介质等。在一致不可能的实施例中,降级可能不自动继续进行。
在一些实施例中,无线无线电可充当到远程电子装置的传输信道的数据的唯一载体,并且无线无线电可提供通过其可测量距离或RSSI(接收的信号强度指示符)的接口。在此类实施例中,隧道协议栈可确定距离或信号强度指示符的近似瞬时斜率,并使用它预测传输信道可变得不可靠的时间。如果此类状态被断言发生在建立传输信道花最少时间建立所需的时间内,则隧道协议栈可在信号丢失或退化之前尝试建立到远程电子装置的不同传输信道。如果新连接的传输信道不需要,则它最终将通过协议栈的传输优化器的正常降级过程断开。
图7示出了能够进行对等通信的电子装置的邻域。在各种实施例中,邻域700可包含多个有线或无线电子装置,每个电子装置都具有发现范围。在各种实施例中,发现范围可取决于由电子装置的用户提供的位置信息、对装置可用的无线无线电的数量和类型、电子装置存在于的物理环境、由邻域中的一个或多个电子装置已经建立的连接数量、防火墙的存在、具体电子装置存在于的具体子域、连接到具体电子装置的最近路由器的位置、连接到某个电子装置所需的网络跳数等。
在一些实施例中,各种电子装置的发现范围可取决于诸如例如由全球定位系统或用于确定绝对位置的其它构件所确定的装置的绝对地理位置之间的差或由嵌入式高度计或全球定位系统所确定的装置的绝对高度之间的差的因素。
在一些实施例中,发现范围可取决于由接收装置所确定的传送装置的信号的RRSI或分组相较于其传送时间的到达时间,其中这些时间可被精确确定(在几微妙内),并且其中两个装置都可访问公共源,一致认为超时不多于几百纳秒。在其它实施例中,发现范围可取决于无线电信号的精确载波频率的跟踪以及载波距在时间上积分的导频的多普勒频移的历史测量,以确定装置是朝测量装置运动还是远离测量装置运动以及那个运动的持续时间和近似速率。
在使用短程通信介质(例如近场通信[NFC]、感应环、红外收发器)的实施例中,发现范围可取决于两个电子装置之间的物理距离,因为在完成那个介质上的转移的时候,使用那个介质的装置必须已经共同定位在由那个介质的最大范围确定的某个最小范围内。
在又一些实施例中,发现范围可取决于有关使用有关众所周知的接入点、固定装置(例如商店亭)和网络接近度(通过跟踪IP业务所确定)的信息所确定的装置当前位置的干扰,或者有关使用活动板上视频或音频设备所确定的装置当前位置的推理,例如根据已知地标、签名、来自此类提示的存储数据库的星座或其它视觉或听觉提示的存在推断出位置。在另外实施例中,与提供固定位置的专用装置共享信息,其与通信范围(例如在航站楼、公交站或其它公用或私用设施)内的装置共享此信息。
在电子装置已知为在具有由其它构件确定的已知位置的另一电子装置附近的实施例中,此类信息可被过渡地应用于近似共同定位的装置的绝对位置。
返回到图7,三个电子装置701、702和703分别具有由711、712和713所图示的最大发现范围。将认识到,虽然图7中示出了三个无线电子装置701、702和703,但邻域700可包含无线或有线电子装置。
在图7中描绘的实施例中,电子装置702的发现范围712分别与电子装置701和703的发现范围711和发现范围713交叠。因此,电子装置702可发现电子装置701和电子装置703。因为电子装置701和703的发现范围711和713分别不交叠,因此电子装置701可仅发现电子装置702,但未发现电子装置703。同样,电子装置703可仅发现电子装置702,但未发现电子装置701。
然而,电子装置702可以增加的间接等级与装置701共享电子装置703。在此类实例中,电子装置702还有效地以同一间接等级与电子装置703共享电子装置701。在此情况下,表1中列出了不同装置之间的间接等级。
装置1 | 装置2 | 间接等级 |
A | B | 1 |
A | C | 2 |
B | A | 1 |
B | C | 1 |
C | A | 2 |
C | B | 1 |
表1:图7中示出的不同装置之间的间接等级
在各种实施例中,协议栈130可具有通信引擎,其用于构造邻域中各种电子装置的近似空间表示,预测在邻域中的一对电子装置之间建立连接的最佳可能端点对,和/或确定在邻域中的电子装置集合之间中继信息的最佳可能路径。
在一些实施例中,可扩大邻域数据以包含间接等级数量的计数。在此类实施例中,通信引擎可将数据库合并在原始电子装置上,原始电子装置含有在附近的电子装置的端点的记录与本地电子装置的记录。
当电子装置从在附近的另一电子装置接收到数据时,它从那个电子装置接收的端点具有比存储在原始电子装置上的端点的间接等级更大的间接等级。因此,电子装置的自己端点具有0的固有间接等级。通信引擎可存储由相同但具有不同间接等级的两个电子装置共享的端点,其中最低间接等级在电子装置的端点本地数据库中。
在一些实施例中,电子装置可发现间接等级大于预先确定的阈值的端点。在其它实施例中,所发现的端点可导致端点集合的存储要求变得大于电子装置的数据库中的某个阈值。在此类实施例中,通信可决定不存储间接等级大于预先确定的阈值的端点,或者导致存储要求变得大于阈值的端点。通信引起在一些情况下可过渡地决定共享在附近所有电子装置的端点列表。因此,在附近的电子装置的集合可包含最接近的电子装置看到的所有电子装置。电子装置和端点的这个集合构成了到某个间接深度的装置的邻域。
邻域中的各种电子装置可与其它可发现的电子装置通过对它们可用的一个或多个网络介质来建立连接。在一些实施例中,始发电子装置的网络介质可提供有关距离的信息。备选地或附加地,网络介质可以成三角形方向。在此类实施例中,通信引擎可将有关电子装置邻域的信息扩大成包含有关到由来自发现它的电子装置的端点所表示的每个网络介质的相对距离或RSSI和/或电子装置相对于始发电子装置位于什么方向的信息。此外,通信引擎可使用有关始发电子装置可扩大端点数据的绝对位置的提示,得到构成邻域的电子装置集合中的电子装置的精确物理接近度。
通信引擎在一些实施例中可使用邻域信息构造在给定电子装置周围的电子装置的近似空间表示。电子装置的位置可由依据到装置的距离标识另一电子装置的位置的测量的确定性的模糊值向量以及电子装置的径向角和相对仰角定义。此信息可通过应用编程接口(API)公布。备选地,通信引擎可使用这个信息进行有关这些电子装置之间连接的最优判定。
在某些实施例中,通信引擎的过程可使用邻域和相对位置信息进行有关用于建立电子装置之间网络连接的最佳可能端点对的预测。在一些实施例中,通信引擎可进一步使用此类信息确定中继信息或修复对从根据邻域中网络介质之间的连接构建的连接图的边缘构建的网格网络的可靠数据流的中断的最有效路径。此外,在一些实施例中,通信引擎可将改变中继到附连到相邻端点的元数据,以提供有关装置将何时进入附近或离开附近的预测,允许建立网络连接或迫使网络连接丢失。
在各种实施例中,物理网络介质可固有地提供用于从另一装置发现以某种物理或虚拟接近度度量的信息使得邻域信息可扩大成包含新数据的机制。在此类实施例中,通信引擎可将所发现的邻域信息扩大成包含可用于重新构造每种类型网络介质的端点的数据。在一些实施例中,此类数据可从通过发现机制提供的数据转变成用于每种类型网络介质的标准格式,标识用于连接到提供发现信息的电子装置的网络介质(或端点)的域中的电子装置的地址。
在一些实施例中,当电子装置上的网络介质变成对于使用不可用时,或者当新网络介质变成可用时,通信装置可基于所报告的发现数据更新网络端点集合。因此,更新的数据库可反映端点的新列表以及它们更新数据库的时间。可使此类数据库在其中一个或多个对等电子装置或端点上可用。用这种方式,电子装置可从它是最接近的(在无线介质的情况下通过物理距离或者在有线介质情况下通过网络跳)其它电子装置获取所发现数据的本地副本。支持发现的任何网络介质都可用于确定另一电子装置的端点。例如,在一些实施例中,对等电子装置的端点可通过使用STUN服务器来确定,并且数据传送可作为UDP分组发生。在其它实施例中,电子装置可公告它们的端点和它们提供的服务。
图8描绘了根据本公开各种方面和原理附加发现数据库的过程。在步骤801,电子装置发现在附近(物理距离或网络跳)的其它电子装置。运行在电子装置上的通信引擎然后在步骤802试图确定发现机制是否提供了用于发现信息的随机数量的数据存储。如果发现机制提供了随机数量的数据存储(是),则通信引擎将唯一标识电子装置的信息、原始电子装置的端点以及所发现的端点的间接等级的基数附加到原始电子装置的发现有效载荷,如在步骤803中所指示的。
在发现机制未提供随机数量的数据存储(否)的实施例中,通信引擎可检查固定数量的数据存储是否足以存储所有邻居信息,如在步骤804中所描绘的。如果发现机制的固定数量的数据存储不足以存储在附近的电子装置的端点(否),则通信引擎可使用可用的网络端点通过可用的网络介质建立传输,以携带含有这些端点的加密有效载荷,如在步骤805中。如果发现机制的固定数量的数据存储足以存储在附近的电子装置的端点(是),则通信引擎将信息附加到原始电子装置的发现有效载荷,如在步骤803中所指示的。
这些与其它特征和特性以及结构相关元件的操作方法和功能以及制品的部分和经济的组合在参考附图考虑了如下描述和所附权利要求书将变得更加显而易见,它们所有形成此说明书的一部分,其中相似的附图标记在各图中标明对应部分。然而,要明确理解到,附图仅是为了说明和描述目的,而不打算作为定义权利要求书的限制。如在说明书和权利要求书中所使用的单数形式“一”和“所述”包含多个所指对象,除非上下文另外明确指出。
本公开范围内的实施例可进一步包含用于携带或具有存储在其上的计算机可执行指令或数据结构的计算机可读介质。此类计算机可读介质可以是可由通用或专用计算机存取的任何可用介质。此类计算机可读介质可包含但不限于RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁存储装置或可用于携带或存储计算机可执行指令或数据结构形式的期望程序代码构件的任何其它介质。当信息通过网络或另一通信连接(硬连线、无线或它们的组合)传送到或提供到计算机时,计算机将该连接恰当地视为机器可读介质。从而,任何此类连接都被恰当地命名为计算机可读介质。上面的组合也应该包含在计算机可读介质的范围内。
计算机可执行指令包含但不限于使通用计算机、专用计算机或专用处理装置执行某个功能或一组功能的指令和数据。计算机可执行指令还包含由独立或网络环境中的计算机执行的程序模块。一般而言,程序模块包含执行具体任务或实现具体抽象数据类型的例程、程序、对象、组件、数据结构等。计算机可执行指令、关联的数据结构以及程序模块表示用于执行本文公开的方法步骤的程序代码构件的示例。此类可执行指令或关联的数据结构的具体顺序表示用于实现在此类步骤中描述的功能的对应动作的示例。
已经由此描述了基本概念,本领域技术人员在阅读了此详细公开之后将更明白,前面的详细公开打算仅作为示例给出,而非限制。各种改变、改进和修改将发生,并且本领域技术人员打算进行,虽然本文未明确声明。这些改变、改进和修改打算由此公开建议,并且在此公开的示范实施例的精神和范围内。
而且,已经使用某些术语描述了本公开的实施例。例如,术语“一个实施例”或“实施例”和/或“一些实施例”意味着结合该实施例描述的具体特征、结构或特性包含在本公开的至少一个实施例中。因此,重点是,并且应该认识到,在此说明书各个部分两次或更多次提到“实施例”或“一个实施例”或“备选实施例”不一定全都指同一实施例。而且,在本公开的一个或多个实施例中,可以适当地组合具体特征、结构或特性。此外,术语“逻辑”代表硬件、固件、软件(或它们的任何组合)来执行一个或多个功能。比如,“硬件”的示例包含但不限于集成电路、有限状态机或甚至组合逻辑。集成电路可采取处理器的形式,诸如微处理器、专用集成电路、数字信号处理器、微控制器等等。
而且,处理元件或序列的所阐述次序或者数字、字母或其它标号的使用不打算将所要求权利的过程和方法限制于任何次序,除非在权利要求书中规定。尽管以上公开通过各种示例讨论了什么当前被视为本公开的各种各样有用实施例,但要理解到,此类细节仅仅用于那个目的,并且所附权利要求书不限于所公开实施例,而是相反,打算覆盖在所公开实施例的精神和范围内的修改和等效布置。
类似地,应该认识到,在本公开实施例的以上描述中,各种特征有时被一起组合在其单个实施例、附图或描述中,为了使本公开流畅,有助于理解各个发明实施例中的一个或多个。然而,公开的这个方法不被解释为反映所要求权利的主题需要比在每个权利要求中明确阐述的更多的特征的意图。而是,当如下权利要求书反映时,发明的实施例在于少于单个前面公开的实施例的所有特征。从而,遵循具体实施方式的权利要求书由此被明确结合到此具体实施方式中。
示例
如下示例涉及另外实施例:
示例1是构造电子装置邻域中电子装置的近似空间表示的方法。该方法可包含从一范围内的电子装置收集数据,其中数据包括电子装置的唯一标识符、原始电子装置的端点和所发现的端点的间接等级中的一项或多项,以及根据所收集的数据构建表示电子装置邻域的数据集合。
示例2是示例1的方法,其中收集数据基于范围内的装置的间接等级。
示例3是示例1-2中任一示例的方法,可选地包含使用无线或有线发现机制与邻域中的电子装置共享端点列表。
示例4是示例1-3中任一示例的方法,可选地包含通过在邻域内的多个电子装置之间建立网络连接并将端点列表分布在多个电子装置上,将端点列表过渡地存储在多个电子装置上。
示例5是示例1-4中任一示例的方法,其中数据进一步包括相对距离或接收的信号强度指示。
示例6是示例1-5中任一示例的方法,其中数据进一步包括有关电子装置物理位置的信息。
示例7是示例1-6中任一示例的方法,其中电子装置的本地端点具有0的间接等级。
示例8是示例1-7中任一示例的方法,其中通过应用编程接口(API)公布数据集合。
示例9是用于预测用于在电子装置邻域中的电子装置之间建立网络连接的最佳端点对的方法。该方法可包含:从一范围内的电子装置收集数据,其中数据包括电子装置的唯一标识符、原始电子装置的端点、所发现的端点的间接等级以及相对距离或接收的信号强度指示中的一项或多项;根据所收集的数据构建表示电子装置邻域的数据集合;以及使用收集的数据构造装置邻域中电子装置的近似空间表示。
示例10是示例9的方法,其中收集数据基于范围内的装置的间接等级。
示例11是示例9-10中任一示例的方法,其中电子装置的本地端点具有0的间接等级。
示例12是示例9-11中任一示例的方法,可选地包含使用无线或有线发现机制与邻域中的电子装置共享端点列表。
示例13是示例9-12中任一示例的方法,可选地包含:通过在邻域内的多个电子装置之间建立网络连接并将端点列表分布在多个电子装置上,将端点列表过渡地存储在多个电子装置上。
示例14是示例9-13中任一示例的方法,其中通过应用编程接口(API)公布数据集合。
示例15是示例9-14中任一示例的方法,可选地包含预测一个或多个电子装置何时进入或离开具体电子装置的附近。
示例16是示例9-15中任一示例的方法,可选地包含基于一个或多个电子装置进入或离开具体电子装置附近的预测,维持邻域中电子装置之间的数据流。
示例17是电子装置,其包含与存储器通信的处理器,用于执行指令以(i)从一范围内的电子装置收集数据,其中数据包括电子装置的唯一标识符、原始电子装置的端点和所发现的端点的间接等级中的一项或多项,以及(ii)根据所收集的数据构建表示电子装置邻域的数据集合。
示例18是权利要求17的电子装置,其中收集数据基于范围内的装置的间接等级。
示例19是示例17-18中任一示例的电子装置,其中电子装置的本地端点具有0的间接等级。
示例20是示例17-19中任一示例的电子装置,其中指令进一步包括使用无线或有线发现机制与邻域中的电子装置共享端点列表。
示例21是示例17-20中任一示例的电子装置,其中指令进一步包括:通过在邻域内的多个电子装置之间建立网络连接并将端点列表分布在多个电子装置上,将端点列表过渡地存储在多个电子装置上。
示例22是示例17-21中任一示例的电子装置,其中数据进一步包括相对距离或接收的信号强度指示。
示例23是示例17-22中任一示例的电子装置,其中数据进一步包括有关电子装置物理位置的信息。
示例24是示例17-23中任一示例的电子装置,其中指令进一步包括使用收集的数据构造装置邻域中电子装置的近似空间表示。
示例25是包含用于执行示例1-16中任一示例的方法的构件的电子装置。
示例26是计算机可读介质,包括在其上物理实施的计算机可读代码,计算机可读代码当由处理器执行时使处理器执行示例1-16中任一示例的方法。
示例27是用于构造电子装置邻域中电子装置的近似空间表示的系统,系统包括:多个数据源,其中数据包括多个数据源中的一个或多个,其中数据包括电子装置的唯一标识符、原始电子装置的端点和所发现的端点的间接等级中的一项或多项;以及示例17-25中任一示例的电子装置。
示例28是用于构造电子装置邻域中电子装置的近似空间表示的系统,系统包括:多个数据源,其中数据包括多个数据源中的一个或多个,其中数据包括电子装置的唯一标识符、原始电子装置的端点和所发现的端点的间接等级中的一项或多项;以及示例26的计算机可读介质。
示例29是构造电子装置邻域中电子装置的近似空间表示的方法。该方法可包含从一范围内的电子装置收集数据,其中数据包括电子装置的唯一标识符、原始电子装置的端点和所发现的端点的间接等级中的一项或多项,以及根据所收集的数据构建表示电子装置邻域的数据集合。
示例30是示例29的方法,其中收集数据基于范围内的装置的间接等级。
示例31是示例29的方法,可选地包含使用无线或有线发现机制与邻域中的电子装置共享端点列表。
示例32是示例31的方法,可选地包含:通过在邻域内的多个电子装置之间建立网络连接并将端点列表分布在多个电子装置上,将端点列表过渡地存储在多个电子装置上。
示例33是示例29的方法,其中数据进一步包括相对距离或接收的信号强度指示。
示例34是示例29的方法,其中数据进一步包括有关电子装置物理位置的信息。
示例35是示例29的方法,其中电子装置的本地端点具有0的间接等级。
示例36是示例29的方法,其中通过应用编程接口(API)公布数据集合。
示例37是用于预测用于在电子装置邻域中的电子装置之间建立网络连接的最佳端点对的方法。该方法可包含:从一范围内的电子装置收集数据,其中数据包括电子装置的唯一标识符、原始电子装置的端点、所发现的端点的间接等级以及相对距离或接收的信号强度指示中的一项或多项;根据所收集的数据构建表示电子装置邻域的数据集合;以及使用收集的数据构造装置邻域中电子装置的近似空间表示。
示例38是示例37的方法,其中收集数据基于范围内的装置的间接等级。
示例39是示例37的方法,其中电子装置的本地端点具有0的间接等级。
示例40是示例37的方法,可选地包含使用无线或有线发现机制与邻域中的电子装置共享端点列表。
示例41是示例40的方法,可选地包含通过在邻域内的多个电子装置之间建立网络连接并将端点列表分布在多个电子装置上,将端点列表过渡地存储在多个电子装置上。
示例42是示例37的方法,其中通过应用编程接口(API)公布数据集合。
示例43是示例37的方法,可选地包含预测一个或多个电子装置何时进入或离开具体电子装置的附近。
示例44是示例43的方法,可选地包含基于一个或多个电子装置进入或离开具体电子装置附近的预测,维持邻域中电子装置之间的数据流。
示例45是电子装置,其包含与存储器通信的处理器,用于执行指令以(i)从一范围内的电子装置收集数据,其中数据包括电子装置的唯一标识符、原始电子装置的端点和所发现的端点的间接等级中的一项或多项,以及(ii)根据所收集的数据构建表示电子装置邻域的数据集合。
示例46是权利要求45的电子装置,其中收集数据基于范围内的装置的间接等级。
示例47是示例45的电子装置,其中电子装置的本地端点具有0的间接等级。
示例48是示例45的电子装置,其中指令进一步包括使用无线或有线发现机制与邻域中的电子装置共享端点列表。
示例49是示例48的电子装置,其中指令进一步包括:通过在邻域内的多个电子装置上建立网络连接并将端点列表分布在多个电子装置上,将端点列表过渡地存储在多个电子装置上。
示例50是示例45的电子装置,其中数据进一步包括相对距离或接收的信号强度指示。
示例51是示例45的电子装置,其中数据进一步包括有关电子装置物理位置的信息。
示例52是示例45的电子装置,其中指令进一步包括使用收集的数据构造装置邻域中电子装置的近似空间表示。
Claims (24)
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所述的电子装置,其中所述指令进一步包括:使用所收集的数据构造装置邻域中电子装置的近似空间表示。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261697524P | 2012-09-06 | 2012-09-06 | |
US61/697524 | 2012-09-06 | ||
US13/839502 | 2013-03-15 | ||
US13/839,502 US9438499B2 (en) | 2012-09-06 | 2013-03-15 | Approximation of the physical location of devices and transitive device discovery through the sharing of neighborhood information using wireless or wired discovery mechanisms |
PCT/US2013/047718 WO2014039146A1 (en) | 2012-09-06 | 2013-06-25 | Approximation of the physical location of devices and transitive device discovery through the sharing of neighborhood information using wireless or wired discovery mechanisms |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104509036A true CN104509036A (zh) | 2015-04-08 |
CN104509036B CN104509036B (zh) | 2018-04-10 |
Family
ID=50189047
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380042018.1A Active CN104509036B (zh) | 2012-09-06 | 2013-06-25 | 通过使用无线或有线发现机制共享邻域信息的装置物理位置近似以及过渡装置发现 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9438499B2 (zh) |
CN (1) | CN104509036B (zh) |
WO (1) | WO2014039146A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106455128A (zh) * | 2016-11-14 | 2017-02-22 | 上海龙旗科技股份有限公司 | 一种wifi点对点数据传输的方法及设备 |
CN110333700A (zh) * | 2019-05-24 | 2019-10-15 | 蓝炬兴业(赤壁)科技有限公司 | 工控机服务器远程管理平台系统及方法 |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9438499B2 (en) * | 2012-09-06 | 2016-09-06 | Intel Corporation | Approximation of the physical location of devices and transitive device discovery through the sharing of neighborhood information using wireless or wired discovery mechanisms |
US9391839B2 (en) * | 2014-06-11 | 2016-07-12 | Amplisine Labs, LLC | Ad hoc wireless mesh network |
WO2016048345A1 (en) * | 2014-09-26 | 2016-03-31 | Hewlett Packard Enterprise Development Lp | Computing nodes |
US10148514B2 (en) | 2014-12-23 | 2018-12-04 | Intel Corporation | Device discovery using discovery nodes |
US10873538B2 (en) * | 2015-05-05 | 2020-12-22 | Avaya Inc. | Automatic cloud capacity adjustment |
US10039145B2 (en) * | 2015-11-19 | 2018-07-31 | Nike, Inc. | System, apparatus, and method for received signal strength indicator (RSSI) based authentication |
JP6323480B2 (ja) | 2016-03-02 | 2018-05-16 | 住友電気工業株式会社 | プログラム更新システム、プログラム更新方法及びコンピュータプログラム |
US11178662B2 (en) * | 2017-11-07 | 2021-11-16 | Samsung Electronics Co., Ltd. | Network topology initialization protocol for wireless mesh network |
CN109495909A (zh) * | 2018-12-13 | 2019-03-19 | 广东天波信息技术股份有限公司 | 安卓设备的移动网络控制方法和装置 |
US11233784B2 (en) * | 2019-05-06 | 2022-01-25 | Blackberry Limited | Systems and methods for managing access to shared network resources |
WO2021064999A1 (ja) * | 2019-10-04 | 2021-04-08 | 日本電信電話株式会社 | 伝搬特性推定装置、伝搬特性推定方法、及び伝搬特性推定プログラム |
US20220035665A1 (en) * | 2020-07-28 | 2022-02-03 | Microsoft Technology Licensing, Llc | Sharing of compute resources between the virtualized radio access network (vran) and other workloads |
US11882192B2 (en) * | 2022-05-25 | 2024-01-23 | Microsoft Technology Licensing, Llc | Intelligent near-field advertisement with optimization |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101461187A (zh) * | 2006-06-22 | 2009-06-17 | 索尼爱立信移动通讯股份有限公司 | 热点位置数据库系统,在该系统中使用的移动终端以及用于创建、维护和更新该系统的方法 |
US20100142445A1 (en) * | 2008-09-04 | 2010-06-10 | Ludger Schlicht | Environments for a mobile, broadband, routable internet |
CN102523019A (zh) * | 2010-08-20 | 2012-06-27 | 三星电子株式会社 | 在便携式终端中用于共享数据的设备和方法 |
Family Cites Families (45)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6590884B1 (en) * | 1999-01-07 | 2003-07-08 | Texas Instruments Incorporated | Method and apparatus providing spatial diversity within an indoor network |
US6785713B1 (en) * | 2000-05-08 | 2004-08-31 | Citrix Systems, Inc. | Method and apparatus for communicating among a network of servers utilizing a transport mechanism |
US7031945B1 (en) * | 2000-07-24 | 2006-04-18 | Donner Irah H | System and method for reallocating and/or upgrading and/or rewarding tickets, other event admittance means, goods and/or services |
WO2002057917A2 (en) | 2001-01-22 | 2002-07-25 | Sun Microsystems, Inc. | Peer-to-peer network computing platform |
US6985747B2 (en) * | 2003-02-05 | 2006-01-10 | Autodesk, Inc. | Use of triggers and a location hypercube to enable push-based location applications |
JP2004274532A (ja) | 2003-03-11 | 2004-09-30 | Toshiba Corp | 電子機器及び表示方法 |
CA2436312C (en) * | 2003-08-01 | 2011-04-05 | Perry Peterson | Close-packed, uniformly adjacent, multiresolutional, overlapping spatial data ordering |
US7382271B2 (en) * | 2004-09-29 | 2008-06-03 | Siemens Building Technologies, Inc. | Automated position detection for wireless building automation devices |
US7613703B2 (en) * | 2004-09-30 | 2009-11-03 | Microsoft Corporation | Organizing resources into collections to facilitate more efficient and reliable resource access |
GB0423315D0 (en) * | 2004-10-21 | 2004-11-24 | Spatial Ltd M | A spatial aggregator |
US20060229058A1 (en) * | 2005-10-29 | 2006-10-12 | Outland Research | Real-time person-to-person communication using geospatial addressing |
US20060253570A1 (en) * | 2005-01-25 | 2006-11-09 | Pratik Biswas | Self-organizing sensor node network |
WO2006096773A2 (en) * | 2005-03-07 | 2006-09-14 | Networks In Motion, Inc. | Method and system for identifying and defining geofences |
US7385947B2 (en) * | 2005-05-04 | 2008-06-10 | Nokia Corporation | Low-cost radio access network enabling local switching |
US20070281632A1 (en) * | 2006-06-05 | 2007-12-06 | Ada Shuk Yan Poon | Angular domain signal processing techniques |
US7965758B2 (en) * | 2006-09-15 | 2011-06-21 | Itron, Inc. | Cell isolation through quasi-orthogonal sequences in a frequency hopping network |
US20080240052A1 (en) | 2007-03-31 | 2008-10-02 | Vivek Gupta | Client-based information service for seamless vertical handovers |
US7886335B1 (en) * | 2007-07-12 | 2011-02-08 | Juniper Networks, Inc. | Reconciliation of multiple sets of network access control policies |
US8041773B2 (en) * | 2007-09-24 | 2011-10-18 | The Research Foundation Of State University Of New York | Automatic clustering for self-organizing grids |
US9357025B2 (en) * | 2007-10-24 | 2016-05-31 | Social Communications Company | Virtual area based telephony communications |
US11159909B2 (en) * | 2008-02-05 | 2021-10-26 | Victor Thomas Anderson | Wireless location establishing device |
DE102008012386A1 (de) * | 2008-03-04 | 2009-09-10 | Gateprotect Aktiengesellschaft Germany | Konfigurationsvorrichtung und -verfahren |
US20090307255A1 (en) * | 2008-06-06 | 2009-12-10 | Johnson Controls Technology Company | Graphical management of building devices |
US8364462B2 (en) * | 2008-06-25 | 2013-01-29 | Microsoft Corporation | Cross lingual location search |
US8457441B2 (en) * | 2008-06-25 | 2013-06-04 | Microsoft Corporation | Fast approximate spatial representations for informal retrieval |
KR101495179B1 (ko) | 2008-09-30 | 2015-02-24 | 엘지전자 주식회사 | 이동단말기 및 그 정보 전달방법 |
JP5195470B2 (ja) * | 2009-01-30 | 2013-05-08 | 日本電気株式会社 | 無線通信システム、監視装置、監視方法およびプログラム |
JP2010178193A (ja) | 2009-01-30 | 2010-08-12 | Toshiba Corp | 交換サーバと通信デバイス |
WO2010094000A2 (en) * | 2009-02-13 | 2010-08-19 | Spirent Communications, Inc. | Emulation and controlled testing of mimo ota channels |
WO2010127023A1 (en) * | 2009-05-01 | 2010-11-04 | Spicola Tool, Llc | Remote contactless stereoscopic mass estimation system |
US8255469B2 (en) * | 2009-05-29 | 2012-08-28 | Nokia Corporation | Method and apparatus for locating communities over an ad-hoc mesh network |
US8873650B2 (en) * | 2009-10-12 | 2014-10-28 | Motorola Mobility Llc | Configurable spatial channel information feedback in wireless communication system |
US8767584B2 (en) * | 2010-01-29 | 2014-07-01 | Alcatel Lucent | Method and apparatus for analyzing mobile services delivery |
KR101762993B1 (ko) * | 2010-06-15 | 2017-07-28 | 스펙트럼 브리지 인크. | 전자 장치들에 망 액세스를 제공하기 위한 시스템 및 방법 |
US9432237B2 (en) * | 2011-02-16 | 2016-08-30 | Clearone, Inc. | VOIP device, VOIP conferencing system, and related method |
US10438299B2 (en) * | 2011-03-15 | 2019-10-08 | Visa International Service Association | Systems and methods to combine transaction terminal location data and social networking check-in |
TW201251376A (en) * | 2011-06-09 | 2012-12-16 | Ind Tech Res Inst | Method and device for distribution of nodes, and computer program products thereof |
US9247569B2 (en) * | 2012-09-06 | 2016-01-26 | Intel Corporation | Management and optimization of wireless communications multiplexed over multiple layer-three transports with indefinite duration layer-two sessions |
US9438499B2 (en) * | 2012-09-06 | 2016-09-06 | Intel Corporation | Approximation of the physical location of devices and transitive device discovery through the sharing of neighborhood information using wireless or wired discovery mechanisms |
US20140075037A1 (en) * | 2012-09-12 | 2014-03-13 | Robert M. Cole | Network stack and network addressing for mobile devices |
US9031574B2 (en) * | 2012-10-12 | 2015-05-12 | Intel Corporation | Location estimation based on adjusted distance values for a wireless device |
US20140129293A1 (en) * | 2012-11-08 | 2014-05-08 | xAd, Inc. | Method and Apparatus for Dynamic Fencing |
US20140227977A1 (en) * | 2013-02-12 | 2014-08-14 | Zary Segall | Method, node, device, and computer program for interaction |
EP2843440B1 (de) * | 2013-08-28 | 2018-11-28 | Safran Vectronix AG | Stabilisierte Entfernungsmessung im Beobachtungsgerät |
EP2854370B1 (en) * | 2013-09-30 | 2016-04-06 | Fujitsu Limited | Computing device, method, and program for distributing computational load |
-
2013
- 2013-03-15 US US13/839,502 patent/US9438499B2/en active Active
- 2013-06-25 CN CN201380042018.1A patent/CN104509036B/zh active Active
- 2013-06-25 WO PCT/US2013/047718 patent/WO2014039146A1/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101461187A (zh) * | 2006-06-22 | 2009-06-17 | 索尼爱立信移动通讯股份有限公司 | 热点位置数据库系统,在该系统中使用的移动终端以及用于创建、维护和更新该系统的方法 |
US20100142445A1 (en) * | 2008-09-04 | 2010-06-10 | Ludger Schlicht | Environments for a mobile, broadband, routable internet |
CN102523019A (zh) * | 2010-08-20 | 2012-06-27 | 三星电子株式会社 | 在便携式终端中用于共享数据的设备和方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106455128A (zh) * | 2016-11-14 | 2017-02-22 | 上海龙旗科技股份有限公司 | 一种wifi点对点数据传输的方法及设备 |
CN110333700A (zh) * | 2019-05-24 | 2019-10-15 | 蓝炬兴业(赤壁)科技有限公司 | 工控机服务器远程管理平台系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2014039146A1 (en) | 2014-03-13 |
US20140068059A1 (en) | 2014-03-06 |
US9438499B2 (en) | 2016-09-06 |
CN104509036B (zh) | 2018-04-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104509036A (zh) | 通过使用无线或有线发现机制共享邻域信息的装置物理位置近似以及过渡装置发现 | |
US8248949B2 (en) | Method and device for providing an alternative backhaul portal in a mesh network | |
EP2807842B1 (en) | Methods and apparatuses for device discovery | |
Habak et al. | A location-aided routing protocol for cognitive radio networks | |
JP5732591B2 (ja) | ロジスティックスおよび輸送用途のための低電力無線ネットワーク接続における加速再接続法 | |
CN109417829B (zh) | 用于确定簇头的方法和设备 | |
EP3172860B1 (en) | Fast network formation after network power restoration | |
EP2661127B1 (en) | Efficient device migration in mesh networks | |
US9980158B2 (en) | Method and device for base station self-configuration in distribution network structure | |
EP2878101B1 (en) | Relaying information for an unreliably heard utility node | |
US20160212745A1 (en) | Wireless Local Area Network Access Points | |
TW200534647A (en) | Method and arrangement in wireless ad hoc or multihop networks | |
Ray et al. | A framework for post-disaster communication using wireless ad hoc networks | |
US10051561B2 (en) | Methods and nodes for M2M communication | |
US20140133353A1 (en) | Communication device, method for detecting hub and transmitting packet thereof | |
JPWO2012042624A1 (ja) | 通信システム、制御装置、およびノード装置 | |
JP2015012584A (ja) | 制御装置、制御方法および通信システム | |
EP3314951B1 (en) | Enhanced peer discovery in a mesh network | |
Shahin et al. | A framework for P2P networking of smart devices using Wi-Fi direct | |
WO2017024952A1 (zh) | 设备到设备的无线网格网络的路由寻找方法和装置 | |
Yim et al. | Efficient multipath routing protocol against path failures in wireless sensor networks | |
Pathak et al. | A comparative analysis of routing protocols in IoT | |
Asharioun et al. | Lifetime Comparison on Location Base Routing in Wireless Sensor Networks | |
CN116033499A (zh) | 一种5g专网环境下基于终端位置预测的无线接入网络切换方法 | |
KR101483630B1 (ko) | 고정형 서비스 라우터를 이용한 자율 군집형 위치 기반 서비스 제공 시스템 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |