一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

因特网协议上的线程的制作方法

2022-12-09 22:57:43 来源:中国专利 TAG:

因特网协议上的线程


背景技术:

1.使用无线网络将设备相互连接并连接到基于云的服务,越来越多地用于感测环境条件、控制设备以及向用户提供信息和警报。无线网络上的许多设备被设计成在电池供电下延长时间操作,这限制了这些设备中可用的计算、用户界面和无线电资源。
2.线程1.1网络被指定在ieee 802.15.4无线电网络上操作。线程网络被设计成无单点故障操作,当两组或多组设备之间没有连接性时,它会自动组织成单独的线程分区。线程分区允许设备与同一线程分区中的其他设备维持通信。因为线程仍然是一项新兴的技术,所以线程网络的覆盖范围在许多情况下可能是有限的。结果,线程分区很可能在线程部署稀疏时发生,且因此,有机会增强线程网络中的设备连接性。


技术实现要素:

3.提供本发明内容以介绍因特网协议上的线程的概念,一般涉及在用于ipv6通信的织物网络中使用多种联网技术提供连接性。在下文具体实施方式中进一步描述这些概念。该发明内容并不旨在识别所要求保护的主题的基本特征,也不旨在用于确定所要求保护的主题的范围。
4.在各方面,描述了用于因特网协议上的线程的方法、设备、系统和装置,用于确定由网络(特别是线程网络)中的节点进行通信的优选物理层。该节点使用第一物理层向邻居节点传输低功率无线个人局域网上的第一ipv6,6lowpan帧,以及使用第二物理层向该邻居节点传输第一6lowpan帧。该节点使用第一物理层确定邻居节点的第一优先值,以及使用第二物理层确定该邻居节点的第二优先值。该节点比较第一优先值和第二优先值以确定用于通信的优选物理层,以及使用该优选物理层向邻居节点传输第二6lowpan帧。
5.在附图和以下描述中陈述一个或多个实现方式的细节。其他特征和优点将从描述和附图以及从权利要求显而易见。提供该发明内容是为了介绍在具体实施方式和附图中进一步描述的主题。因此,该发明内容不应被认为描述了基本特征,也不应被用来限制所要求保护主题的范围。
附图说明
6.参考以下附图描述了因特网协议上的线程的各方面。在所有附图中使用相同的数字来指代相同的特征和组件:
7.图1示出其中可以实现因特网协议上的线程的各方面的示例网络环境。
8.图2示出其中可以实现因特网协议上的线程的各方面的示例环境。
9.图3示出可以用来实现因特网协议上的线程的各方面的示例网络协议堆栈。
10.图4示出可以用来实现因特网协议上的线程的各方面的示例消息格式。
11.图5示出根据本文描述的技术的一个或多个方面的网络节点的示例方法。
12.图6示出其中可以实现本文描述的技术的各方面的示例环境。
13.图7示出根据本文描述的技术的一个或多个方面的可以在家庭局域网中实现的示
例无线网络设备。
14.图8示出具有可以实现因特网协议上的线程的各方面的示例设备的示例系统。
具体实施方式
15.本文档详细说明了线程设备如何将基于因特网协议(ip)的链接技术(例如,wi-fi和/或以太网)并入到线程网络拓扑中。这样做允许线程网络利用wi-fi和以太网的优势,包括较高的吞吐量、较大的信道容量和/或覆盖范围,同时仍然支持必须依靠不太多的电池操作多年的低功率设备。同时,实现因特网协议上线程的设备仍然完全向后兼容早期版本的线程规范。
16.wi-fi在很多方面都是线程的补充。wi-fi的普及促使许多消费者确保整个家庭的wi-fi覆盖。wi-fi网状解决方案的出现也有助于改善wi-fi覆盖范围。同时,wi-fi以较高的功耗为代价,提供了较高的吞吐量、较高的信道容量和附加的通信频率。
17.从一开始,线程就被设计成提供网络连接性,在网络中没有单点故障。作为自愈网状网络,只要在一组通信设备之间存在通信路径,这种稳健性原则就能维持设备到设备的通信。这与wi-fi网络形成对比,wi-fi网络通常依赖于单个无线接入点来提供连接性。
18.虽然线程网络是由共享相同线程网络凭证的一组设备定义的,但是线程分区是给定线程网络中彼此连接的一组线程设备。换句话说,在线程分区内,分区中的每对设备之间都有通信路径。线程根据观测到的设备之间的连接性自动形成分区。因为连接性是时变的(尤其是对于无线通信),所以当连接性丢失时,给定的分区可能分裂成多个分区。相反,如果多个分区之间的连接性恢复,则多个分区可以合并成单个分区。
19.每一线程分区都有一个动态选出的领导者设备。领导者设备周期性地递增序列号,并经由网状链路建立(mle)广告传播更新的值。线程设备通过在接收mle广告时观测领导者的序列号值来确定它们是否连接到分区。如果线程设备在一段时间内没有看到领导者的序列号改变,则该线程设备确定它已经与领导者设备断开连接。
20.在丢失连接性后,设备尝试附接到另一分区。如果不存在此类分区,则它会形成自己的分区,并宣布自己为领导者。也失去连接性的相邻设备执行相同的过程。如果一大组设备同时被分区,那么这些设备中的许多可能形成它们自己的分区,即使它们可能仍然具有连接性。最终,该组连接的设备将使用线程的分区合并机制合并成单个分区。
21.因为线程设备必须在同一线程分区中才能通过线程网状网络进行通信,所以线程网络协议持续地寻求尽可能地合并分区。每一分区由领导者设备在形成分区时随机选择的分区识别符(id)来识别。线程设备包括mle广告中的分区id。如果设备接收到具有比其自身更高的分区id的mle广告,则该设备将尝试附接到新分区并离开其当前分区。
22.已经被分区的线程网络可能会带来巨大的挑战。例如,不同线程分区中的设备不能使用线程网状网络进行通信,但是可以利用其他基于ip的网络经由线程边界路由器进行通信。但是,支持这种方法会显著增加动态管理多个ipv6子网和它们之间的路由的复杂性。在另一示例中,分区和合并线程网络分区是昂贵的,因为受影响的设备必须作为终端设备重新附接到网络,有路由器能力的设备需要获得新的路由器id,路由拓扑需要被形成和/或更新,边界路由器需要注入新的网络数据,等等。这增加了大量的控制消息传递开销。在此期间,应用数据消息可能会显著延迟或丢失。在另一示例中,管理多个分区可能会使终端用
户感到困惑。当在线程网络上调试新设备时,用户必须以某种方式确定附接到线程分区的线程边界路由器,该线程分区可以提供到加入设备的连接性。当更新线程网络参数时,用户必须单独手动配置每个分区。
23.wi-fi和线程网络技术作为基于ip的链接技术相互补充。虽然线程非常适合低功率设备,但wi-fi提供了更高的吞吐量和容量。同时,随着wi-fi网状解决方案的出现,消费者家庭中的wi-fi覆盖范围也有了显著提高。虽然线程是一项新兴技术,但在线程得到更广泛部署之前,wi-fi可能会在消费者家庭中覆盖更广。在单一线程拓扑中组合wi-fi和ieee 802.15.4链路可以结合它们的优点,并解决分区线程网络带来的问题。
24.虽然线程网络可以由多个线程分区组成,但是线程域可以由多个线程网络构成。线程域将多个线程网络组合成单个ipv6子网,使设备即使在同一域的不同线程网络之间漫游,也能维持稳定的ipv6地址。虽然线程域利用wi-fi和/或以太网作为主干链路来将多个线程网络缝合到单个ipv6子网中,但是先前版本的线程(例如,线程1.2)没有为给定的线程分区提供任何机制来在其路由拓扑中利用wi-fi或以太网。
25.示例环境
26.图1示出其中可以实现因特网协议上的线程的各方面的示例网络环境100。网络环境100(例如,织物网络、线程网络、ip互联家庭(chip)网络、编织网络)包括形成家庭局域网(han),诸如han 200的一个或多个网络段,下文参考图2进行描述。han包括无线网络设备102,无线网络设备102被设置在诸如房屋的结构104周围,并且通过一个或多个无线和/或有线网络技术来连接,如下文描述。han包括边界路由器106,其通过家庭路由器或接入点110将han连接到外部网络108(接入网络108),诸如因特网。
27.为了向用户提供对使用han中的无线网络设备102实现的功能的访问,云服务112经由边界路由器106、经由通过外部网络108(接入网络108)和接入点110的安全隧道114连接到han。云服务112使用基于网络的应用编程接口(api)118来促进han与因特网客户端116,诸如移动设备上的应用程序之间的通信。云服务112还管理描述无线网络设备102、结构104的元件和用户之间的连接和关系的主页图。云服务112托管协调和仲裁家庭自动化体验的控制器,如下文更详细描述。
28.han可以包括用作集线器120的一个或多个无线网络设备102。集线器120可以是通用家庭自动化集线器,或者专用集线器,诸如安全集线器、能源管理集线器、hvac集线器等等。集线器120的功能性也可以集成到任何无线网络设备102中,诸如智能恒温器设备或边界路由器106。除了在云服务112上托管控制器之外,控制器可以被托管在结构104中的任何集线器120上,诸如边界路由器106。云服务112上托管的控制器可以动态地移动到结构104中的集线器120,诸如将hvac区域控制器移动到新安装的智能恒温器。在结构104中的集线器120上的托管功能性可以提高在用户的因特网连接不可靠时的可靠性,可以减少通常必须连接到云服务112的操作的等待时间,并且可以满足关于无线网络设备102之间的本地访问的系统和监管约束。
29.han中的无线网络设备102可以来自也提供云服务112的单个制造商,或者han可以包括来自合作伙伴的无线网络设备102。这些合作伙伴还可以提供合作伙伴云服务122,其通过合作伙伴web api 124提供与其无线网络设备102相关的服务。合作伙伴云服务122可以任选地或附加地经由基于网络的api 118、云服务112和安全隧道114向因特网客户端116
提供服务。
30.网络环境100可以在各种主机上实现,诸如电池供电的基于微控制器的设备、线路供电的设备以及托管云服务的服务器。在无线网络设备102和云服务112中操作的协议提供了支持分布式计算环境100中的家庭自动化体验的操作的多种服务。这些服务包括但不限于实时分布式数据管理和订阅、命令和响应控制、实时事件通知、历史数据记录和保存、密码控制的安全组、时间同步、网络和服务配对以及软件更新。
31.图2示出其中可以实现因特网协议上的线程的各方面的示例环境(例如,织物网络、编织网络、chip网络)。家庭局域网(han、线程网络)200可以包括无线网状网络段202(例如,线程网络段)、wi-fi网络段204和/或以太网段212。网状网络段202是实现线程规范,特别是线程规范1.0、1.1、1.2或任何后续版本的无线个人局域网(wpan)。例如,网状网络段202可以与线程规范的版本1.1和/或版本1.2兼容。wi-fi段204是实现ieee 802.11标准的无线局域网(wlan),特别是1997年的ieee 802.11标准和/或诸如802.11b、802.11g、802.11n、802.11ac、802.11ax和802.11ad的任何后续版本。例如,wi-fi段204可以与这些版本中的一个或多个(例如,全部)兼容。无线网状网络段202包括路由器206和终端设备208。路由器206和终端设备208各自包括用于通过网状网络段202进行通信的网状网络接口。路由器206通过网状网络接口接收和传输分组数据。路由器206还在网状网络段202上路由流量。终端设备208是可以使用网状网络段202进行通信的设备,但是除了简单地转发到其父路由器206之外,缺乏在网状网络段202中路由流量的能力。终端设备208中的一者或多者可以是电池供电的。例如,电池供电的传感器是一种类型的终端设备208。wi-fi网络段204包括wi-fi设备210。每一wi-fi设备210包括用于通过wi-fi网络段204进行通信的wi-fi网络接口。任选地或附加地,han200可以包括以太网网络段212,其包括连接到边界路由器106或接入点110的一个或多个以太网设备214。以太网网络段212可以与任何版本的ieee 802.3标准兼容,例如802.3cu或任何先前版本。
32.边界路由器106被包括在无线网状网络段202中,并且被包括在wi-fi网络段204中。边界路由器106包括用于通过网状网络段202通信的网状网络接口和用于通过wi-fi网络段204通信的wi-fi网络接口。边界路由器106在无线网状网络段202和wi-fi网络段204中的设备之间路由分组。边界路由器106还通过家庭路由器或接入点110经由接入网络108(诸如,因特网)在han 200中的设备与外部网络节点(例如,云服务112)之间路由分组。
33.网状网络段202、wi-fi网络段204和以太网网络段212中的设备使用标准ip路由配置,通过诸如用户数据报协议(udp)或传输控制协议(tcp)的传送协议相互通信。当网状网络段202、wi-fi网络段204和/或以太网网络段212中的设备被提供为编织网络、织物网络或chip网络的一部分时,这些设备可以通过这些相同的udp和/或tcp传送来传达消息。
34.线程无线电封装链路(trel)设备(节点)支持多个物理层通信,诸如ieee 802.15.4、wi-fi和/或以太网。例如,trel设备220支持ieee 802.15.4,用于通过无线网状网络段202和wi-fi网络段204进行通信。在另一示例中,trel设备222支持ieee 802.15.4,用于通过无线网状网络段202和以太网网络段212进行通信。trel节点使用trel网络堆叠进行通信,这将在下文参考图3进行描述。
35.线程无线电封装链路(trel)网络堆叠
36.图3示出可以用来实现因特网协议上的线程的各方面的线程无线电封装链路
(trel)网络协议堆栈300的示例。在一方面,线程设备可以使用trel网络堆栈300的多物理层(多phy、多phy)链路层来利用多个基于ip的链路技术。trel网络堆栈300为先前版本的线程(例如,线程1.1和1.2)中使用的ieee 802.15.4无线网络提供向后兼容性。
37.trel网络堆栈300包括对具有网状链路建立(mle)协议层304、线程管理框架(tmf)协议层306和受限应用协议(coap)协议层308的应用302的支持。在trel网络堆栈300中,线程消息由传输控制协议(tcp)层310或用户数据报协议(udp)层310、因特网协议版本6(ipv6)层312和低功率无线个人局域网上的ipv6(6lowpan)协议层314传送。
38.为了最小化对线程网络协议的现有版本的改变,多phy链路层316为一个或多个物理层(phy)呈现到trel网络堆栈300的上部层的单个链路接口。从网络分层的角度来看,多phy链路层316位于6lowpan协议层314之下。6lowpan帧使用1.1版本线程规范中定义的短地址或扩展地址进行寻址。多phy链路层316具有一个短地址和一个扩展地址。多phy链路层316负责确定在向相邻设备传输时使用哪个phy。在一些情况下,邻居可以同时通过多个phy到达。
39.线程无线电封装链路(trel)协议层318使得能够通过包括wi-fi或以太网的ip链路技术传输6lowpan帧。trel协议层318使用传送层协议(诸如tcp和/或udp)和网络层协议(诸如ipv4和/或ipv6)来封装ieee 802.15.4mac帧。在一个替代方案中,当使用基于线程的协议(例如,mle)来发现相邻的trel设备时,trel协议层318假定单个广播域,因此所有trel分组都使用链路本地ipv6寻址。在另一替代方案中,trel邻居可以被手动配置(例如,由管理员)或自动配置(例如,使用域名服务-服务发现(dns-sd))。在这种全局地址范围的情况下,trel邻居不需要附接到相同的物理链路,并且可以是任何可到达的ipv4或ipv6目的地。
40.当多phy链路层316确定将使用ieee 802.15.4网络传输6lowpan帧时,多phy链路层316将6lowpan帧传递到ieee802.15.4媒体访问控制(mac)协议层320和ieee 802.15.4物理(phy)协议层322,用于在线程网络上传输。在一个选项中,trel设备可以省略ieee 802.15.4通信硬件(无线电),并且仅使用基于ip的通信(wi-fi和/或以太网)用于线程网络中的通信。当多phy链路层316确定将使用ip链路技术传输6lowpan帧时,多phy链路层316将6lowpan帧传递到trel协议层318,该协议层318使用ip链路接口在trel分组中传输6lowpan帧,该ip链路接口诸如wi-fi mac协议层324和wi-fi phy协议层326、以太网mac协议层328和以太网phy协议层330,或者任何其他合适的ip链路技术。例如,6lowpan帧符合rfc 4944、rfc 6282和/或rfc 6775。
41.多phy链路协议和线程边界路由协议是相互独立的。实现多phy链路协议的设备可以实现或可以不实现线程边界路由。多phy链路协议是链路层机制,而线程边界路由特征是网络层机制。
42.多phy链路层
43.多phy链路层316维护信息库,该信息库包括phy优先集、接收的6lowpan帧集和trel未决确认集。多phy链路层316记录phy优先集中的优先值,用于确定当向相邻设备传输时使用哪个phy层。多phy链路层316维护其支持的每一phy的phy优先集。phy优先集包括邻居优先元组,邻居优先元组包括扩展地址和优先。扩展地址是用于与相邻设备通信的ieee 802.15.4扩展地址,并且优先是与在与相邻设备通信时使用相关联的phy相关联的优先值。
44.每个phy优先集包含用于每一mle邻居条目的一个邻居优先元组。当mle创建新的
邻居条目时,创建新的邻居优先元组,其初始优先值为零。当mle移除邻居条目时,相关联的邻居优先元组也被移除。
45.多phy链路层316在接收的6lowpan帧集中记录源自给定邻居的最新6lowpan帧。当更新6lowpan帧集时,多phy链路层316不包括不是源自包括网状寻址报头的直接邻居的6lowpan帧。多phy链路层316维护单个接收6lowpan帧集。接收的6lowpan帧集包括邻居帧元组,该邻居帧元组包括扩展地址、数据报标签和数据报偏移。扩展地址是用于与相邻设备通信的ieee 802.15.4扩展地址。数据报标签是从相邻设备接收的最新6lowpan分段报头datagram_tag。数据报偏移是从相邻设备接收的最新6lowpan分段报头datagram_offset。
46.多phy链路层316记录当向trel未决确认集中的相邻设备传输时未确认的trel分组的数量。trel未决确认集包括邻居未决确认元组,该邻居未决确认元组包括扩展地址、当前未决ack(确认)、先前未决ack和分组号。扩展地址是用于与相邻设备通信的ieee 802.15.4扩展地址。当前未决ack是trel协议层318在当前时间窗口期间等待接收的用于传输分组的多个trel ack(确认)分组。先前未决ack是trel协议层318在先前时间窗口期间等待接收的用于传输分组的多个trel ack分组。分组号是向扩展地址识别的邻居发送下一个trel分组时使用的分组号。
47.线程网络协议利用广播传输来发现相邻设备。例如,mle公告、mle发现请求和mle广告消息与ipv6链路本地多播目的地地址一起发送,这些地址映射到链路层广播传输。
48.在一个方面,为了继续支持与先前版本的线程相同的发现机制,多phy链路层316在所有支持的phy上传输去往广播地址的所有6lowpan帧。例如,支持ieee 802.15.4和wi-fi两者的设备在ieee802.15.4和wi-fi两者上传输每一mle广告。
49.在替代方面,将用于发现的消息与正常数据通信分开的特性是ieee 802.15.4mac帧安全配置。用于发现的所有消息禁用mac帧安全性,或者利用mac密钥id模式2。所有数据通信使用mac密钥id模式1。多phy链路层316识别目的地地址被设置为广播地址(0xffff)的6lowpan发现帧,并且mac帧安全性被禁用或者用mac密钥id模式2启用。为了继续支持与先前版本的线程相同的发现机制,多phy链路层316在所有支持的phy上传输所有6lowpan发现帧。例如,支持ieee 802.15.4和wi-fi两者的设备在ieee 802.15.4和wi-fi两者上传输每一6lowpan发现帧。当传输去往广播地址的6lowpan帧但不是6lowpan发现帧时,多phy链路层316在每一phy上进行传输,其中对于具有有效链路的至少一个相邻设备,phy具有最高的优先值。具有为扩展地址或短地址的未被设置为广播地址(0xffff)的6lowpan帧的目的地地址经由单播消息传输来发送。
50.对于ieee 802.15.4直接传输(mac帧传输由设备本身发起,而不是响应于接收到ieee 802.15.4数据请求帧而发送),多phy链路层316选择对于给定目的地具有最高优先值的phy。如果对于给定邻居不存在优先值,并且该消息是mle发现响应,则多phy链路层316在用于接收相关联mle发现请求的相同phy上传输6lowpan帧。否则,多phy链路层316在所有支持的phy上传输6lowpan帧。在所有支持的phy上传输允许设备在复位后同步父-子链路,而不需要在非易失性存储中存储和更新phy优先。如果一个以上的phy共享相同的最大优先值,则多phy链路层316从共享相同的最大优先值的phy子集中选择如下:(i)当传输ieee 802.15.4数据请求帧时,多phy链路层316选择具有最低功率分布的phy来完成间接传输,或者(ii)当传输任何其他帧时,多phy链路层316选择具有最高信道容量的phy。
51.对于ieee 802.15.4间接传输,(响应于接收ieee 802.15.4数据请求帧而发送的数据帧传输),经由间接传输转发数据帧的线程路由器使用接收的相关联的ieee 802.15.4数据请求帧的相同phy来传输数据帧。当经由间接传输发送数据帧时,不使用phy优先值。
52.给定可以通过多个phy传输的6lowpan帧,接收器可以经由不同的phy多次接收相同的6lowpan帧。为了抑制重复帧,帧识别符被包括在6lowpan帧本身中。当传输启用了ieee 802.15.4mac安全性的6lowpan帧时,6lowpan帧包括6lowpan分段报头,即使封装的ipv6数据报很小并且不需要6lowpan分段。多phy链路层316使用分段报头的datagram_tag来抑制重复帧。
53.给定phy上的可达性是时变的,这是由于时变的无线通信特性,或者是因为链路基础设施状态变化(例如,wi-fi接口上升或下降)。虽然给定的phy通常是更期望的(例如,由于吞吐量和容量的原因,wi-fi在802.15.4上),但是当邻居在更期望的phy上不可达时,在不太期望的phy上的通信可能发生。更期望的phy被定义为如果相关联的优先值相同则将被选择的phy。
54.当执行直接传输时,多phy链路层316支持链路探测,以帮助在连接性恢复后不久发现通过更期望的phy的可达性。使用以下过程发送可达性探测:
55.1.在如上文所述为给定的直接传输选择phy之后,多phy链路层316识别目的地支持的所有其他phy。
56.2.如果不存在更期望的phy,则该过程在此退出。
57.3.设备执行随机试验,在概率被设置为reachability_probe_probability值的情况下返回值1,并且在所有其他情况下返回值0。如果随机试验返回的值为零,则该过程在此退出。
58.4.除了如上文关于直接传输所描述的先前选择的phy之外,设备通过在更期望的phy上发送相同的6lowpan帧来执行可达性探测。
59.可达性探测有效地通过不同的phy传输重复的6lowpan帧。传输重复的6lowpan帧的一个优点是能够在数据传输中实现冗余,给邻居额外的机会来接收6lowpan帧。传输重复的6lowpan帧的另一优点是使用现有的逻辑来处理确认,并最小化可达性探测的专用逻辑。
60.当多phy链路层316处理消息时,多phy链路层316使用以下过程抑制重复消息:
61.1.如果6lowpan帧没有启用mac安全性,则该过程在此退出。
62.2.如果6lowpan帧不具有6lowpan分段报头,则该过程在此退出。
63.3.如果分段报头的datagram_tag大于相关联邻居的数据报标签,则该过程在此退出。
64.4.如果下列情况之一为真,则该帧被标记为重复:
65.(i)分段报头的datagram_tag小于相关联邻居的数据报标签,或
66.(ii)分段报头的datagram_offset小于或等于相关联邻居的数据报偏移。
67.当比较两个datagram_tag值时,多phy链路层316使用ietf rfc1982中定义的序列号算法。如果6lowpan帧被标记为重复,则多phy链路层316不会将该帧向上传递到trel网络堆栈300的下一更高层进行处理。
68.在每次接收到来自给定phy的启用了mac安全性和mac密钥id模式1的ieee 802.15.4mac帧时,多phy链路层316更新与接收该消息的phy相关联的phy优先集。当增加相
关联邻居的优先值时,当经由trel协议层318接收消息时,多phy链路层316通过使用phy_pref_trel_rx_success_increase函数来增加优先值,或者当经由ieee 802.15.4无线电(phy)接收消息时,通过使用phy_pref_802154_rx_success_increase函数来增加优先值。
69.当使用ieee 802.15.4传输消息时,多phy链路层316在请求确认(ack)的数据传输请求(例如,ieee 802.15.4mcps-data.confirm)的每次完成时,对phy优先集执行以下更新过程:
70.1.当数据传输请求完成时(mcps-data.confirm),从802.15.4phy的phy优先集中检索相关联的邻居优先元组。如果不存在任何条目,则该过程在此退出。
71.2.如果数据传输请求成功(成功接收到ack),则相关联邻居的优先增加值phy_pref_802154_tx_success_increase(例如,将优先值增加1)。
72.3.如果由于信道接入失败或未能接收到ack而导致数据传输请求不成功,则相关联邻居的优先被减少值phy_pref_802154_tx_failure_decrease(例如,将优先值减少1)。
73.线程无线电封装链路层
74.线程无线电封装链路(trel)层318使得线程设备能够通过基于ipv6的链路技术而不是ieee 802.15.4直接通信,包括wi-fi和以太网。使用trel网络协议堆栈300通信的线程设备连接到同一ipv6链路。trel网络协议堆栈300可以使用大范围通信来到达相邻节点,或者使用链路本地ipv6通信来到达相邻设备。
75.trel接口配置有与指派给线程接口的地址相同的链路本地ipv6地址。也就是说,trel接口已被配置链路本地ipv6地址,该地址从ieee 802.15.4无线电上使用的同一mac扩展地址导出。使用相同的链路本地ipv6地址避免了发现和维护trel与线程接口之间的地址映射的需要。
76.图4示出可以用来实现因特网协议上的线程的各方面的示例消息格式。线程无线电封装链路(trel)层318使用udp消息来传送ieee802.15.4mac帧。
77.trel消息400包括版本字段402,它是指示trel协议的版本的3位无符号整数。例如,trel的初始版本将版本字段402设置为零值。trel消息400包括为将来使用而保留的2位保留(rsv)字段404。rsv字段404被设置为零值用于传输,并在接收后被忽略。
78.trel消息400包括1位a字段406。a字段406被设置为值1,以指示发送设备正在请求针对trel消息400的trel ack分组,或者被设置为值0,以指示没有针对该trel消息400请求trel ack。
79.trel消息400包括类型(typ)字段408,它是2位无符号整数。typ字段408指示trel分组类型。typ字段408被设置为值0以指示trel分组是trel广播分组,被设置为值1以指示trel分组是trel单播分组,或者被设置为值2以指示trel分组将指示trel ack。
80.trel消息400包括信道字段410,它是8位无符号整数。信道字段410指示ieee 802.15.4信道,该信道将用于使用ieee 802.15.4phy来传输消息。trel消息400包括802.15.4目的地pan id字段412,它是16位无符号整数(大端格式)。802.15.4目的地pan id字段412是封装在6lowpan帧中的ieee 802.15.4目的地pan id。如果该帧不具有802.15.4目的地pan id,则使用广播pan id(0xffff)。
81.trel消息400包括分组号字段414,它是32位无符号整数(大端格式)。分组号字段414的内容是与特定trel分组相关联的分组号。
82.trel消息400包括802.15.4扩展源地址字段416,它是64位字段(大端格式)。802.15.4扩展源地址字段416的内容是与给定消息的发送者相关联的ieee 802.15.4扩展地址。
83.trel消息400可以包括802.15.4扩展目的地地址字段418,它是64位字段(大端格式)。当trel分组类型是单播或ack时,包括802.15.4扩展目的地地址字段418。802.15.4扩展目的地地址字段418的内容是与给定消息的接收者相关联的ieee 802.15.4目的地地址。
84.trel消息400包括802.15.4mac帧字段420,它是可变长度字段。802.15.4帧字段420包括ieee 802.15.4帧,其包括802.15.4mac报头、mac有效负载和mac页脚。封装的802.15.4mac帧与使用802.15.4无线电传输的相同。当trel分组类型(typ 408)是单播或广播时,包括802.15.4帧字段420。
85.线程无线电封装链路(trel)层318将trel消息的ipv6源地址设置为指派给线程接口的链路本地地址(从ieee 802.15.4无线电上使用的mac扩展地址导出的链路本地地址)。当ieee 802.15.4mac帧420包含除广播地址之外的扩展地址或短地址的目的地地址时,trel层318将ipv6目的地地址字段418设置为指派给目的地节点的线程接口的链路本地地址(该链路本地地址从指派给该消息的接收节点的ieee 802.15.4无线电的mac扩展地址中导出)。
86.在广播消息的一个替代方案中,当ieee 802.15.4mac帧包含广播目的地地址(0xffff)时,trel层318将trel消息的ipv6目的地地址设置为链路本地所有trel接口多播地址。
87.在广播消息的另一替代方案中,trel层318使用ieee 802.15.4mac帧安全配置的特性,该特性将用于发现的消息与正常数据通信分开。用于发现的所有消息禁用mac帧安全性,或者利用mac密钥id模式2。所有数据通信使用mac密钥id模式1。trel链路层308基于被设置为广播地址(0xffff)的目的地地址和被设置为禁用或启用mac密钥id模式2的mac帧安全性来识别ieee 802.15.4mac发现帧。当传输ieee 802.15.4mac发现帧时,trel层318将trel消息的ipv6目的地地址设置为链路本地所有trel接口多播地址。
88.在一个方面,当传输去往广播地址的6lowpan帧,但是该帧不是ieee 802.15.4发现帧时,设备的trel层318向该设备已经同步的每一邻居发送单播trel消息。trel层318将ipv6目的地地址设置为指派给每一邻居的线程接口的链路本地地址。封装的802.15.4mac帧保持不变,并且承载广播地址。在另一方面,trel设备可以配置有邻居列表。该配置可以是手动的(例如,由管理员)或自动的(例如,使用dns-sd)。
89.线程网络使用6lowpan来分段(压缩)在单个链路帧内不适合的ipv6数据报。简单的实现方式将在trel和802.15.4链路两者上使用相同的最大传输单元(mtu)(例如,127字节的最大分组大小(amaxphypacketsize))。当6lowpan帧的最终目的地是相邻设备时,trel层318可以选择使用反映trel接口实际能力的较大mtu。当6lowpan帧不承载6lowpan网状报头时,它的最终目的地是相邻设备。
90.当6lowpan帧承载6lowpan网状报头时,trel层318使用与802.15.4相同的mtu(例如,127字节的amaxphypacketsize)。承载6lowpan网状寻址报头的6lowpan帧可以在多跳上转发,其中一些跳可以出现在ieee 802.15.4无线电上。结果,trel层318必须对经过多跳的6lowpan帧使用最小mtu。
91.trel层318不传送ieee802.15.4确认帧,而是使用trelack分组。当分组类型是单播时,trel分组具有被设置为值1的“a”字段406,并且在为目的地设置的trel未决确认集中存在条目。
92.trelack分组包括:(i)被设置为被确认的分组的ipv6目的地地址的ipv6源地址,(ii)被设置为与被确认的分组中设置的值相同的值的分组号字段414,(iii)被设置为被确认的分组的ipv6源地址的ipv6目的地地址,(iv)被设置为被确认的分组的802.15.4扩展目的地地址的802.15.4扩展源地址字段416,以及(v)被设置为被确认的分组的802.15.4扩展源地址的802.15.4扩展目的地地址字段418。
93.trel设备允许多链路phy层316在成功地将消息提交给trel层318的接口之后立即处理下一个排队的消息。trel网络堆栈300不实现重新传输,因为它假设基础链路技术(例如,wi-fi)实现它自己的重新传输逻辑。不等待确认允许trel层318利用基础链路技术(例如,wi-fi)提供的聚合技术,这可以极大地提高吞吐量和信道使用。
94.trel层318使用trelack分组来更新trel未决确认集。对于请求确认的每一传输,trel层318增加相关联的邻居未决确认元组中的当前未决ack值。trel未决确认集维护当前和先前时间窗口的未决确认的数量。trel层318周期性地将时间窗口提前trel_pending_ack_window的时间段。在每一时间窗口的开始,每一邻居未决确认元组(i)通过将先前未决ack的值与phy_pref_trel_tx_failure_decrease的值相乘来减少phy优先集中相关联邻居的优先值,(ii)将先前未决ack设置为等于当前未决ack,以及(iii)将当前未决ack设置为零值。
95.当接收到trel分组400时,trel层318进一步处理该分组:(i)如果类型字段408中的值是定义的类型之一,包括广播、单播或ack,(ii)如果类型字段408中的值被设置为ack并且a字段406被设置为零,(iii)如果目的地panid是广播panid(0xffff)或者匹配在线程接口上配置的panid,(iv)如果802.15.4扩展源地址416不匹配指派给线程接口的扩展地址(以丢弃源自设备本身的分组),以及(v)如果类型408是单播,则802.15.4扩展目的地地址418匹配指派给线程接口的扩展地址。
96.trel层318将相同的ieee802.15.4帧安全性处理应用于封装的802.15.4帧,如线程规范、版本1.2、章节7.2中所规定的。trel层318使用与ieee802.15.4phy322不同的mac密钥。trel层318使用基于hmac的提取和扩展密钥导出函数(hkdf)(如ietfrfc5869中所规定)使用sha-256(如ietfrfc6234中所规定)从线程主密钥中导出mac密钥,如下所示:
97.hkdf-extract(
98.salt=thrkeysequencecounter|“threadsequencedmasterkey”,
99.ikm=thrmasterkey)-》prk(1)
100.hkdf-expand(prk,info=”threadoverwifikey”,l=16)-》trelmackey(2)
101.thrkeysequencecounter值使用大端字节排序表示。trel层318和ieee802.15.4phy322之间的帧计数器被分开维护。
102.当使用trel网络堆栈300的设备执行网状链路建立(mle)时,该设备可以在mle消息中包括链路层帧计数器tlv(类型-长度-值)。该设备将链路层帧计数器tlv的值设置为该设备支持的phy的最大传出链路层帧计数器值,并且所有phy被更新为使用链路层帧计数器tlv中包括的相同值。当存储在给定邻居的链路层帧计数器tlv中接收的链路层帧计数器值
时,trel网络堆栈300用接收的帧计数器值更新所有phy。
103.在每次接收到mle消息时,使用trel网络堆栈300的设备对与接收该消息的phy相关联的phy优先集执行更新过程。如果该设备成功地完成mle消息安全性处理和mle帧计数器处理,则相关联邻居的优先值增加。如果mle帧计数器处理失败,如果(i)mledevicedescriptor存在,(ii)auxframecounter等于storedframecounter,以及(iii)自storedframecounter最后一次更新以来的持续时间小于mle_duplicate_preference_update_duration,则相关联邻居的优先值也增加。
104.当增加时,相关联邻居的优先值在经由trel层318接收时增加phy_pref_trel_rx_success_increase,或者在经由ieee802.15.4无线电接收时增加phy_pref_802154_rx_success_increase。
105.ietf rfc4944中没有定义重启后的初始6lowpan datagram_tag值。因而,在相邻节点重置后,设备需要始终接受其接收的带有分段报头的第一6lowpan帧。在每次接收mle消息时,如果(i)存在mledevicedescriptor,(ii)设备成功完成mle消息安全性处理和mle帧计数器处理,以及(iii)mle命令类型是mle子id请求、mle子更新请求或mle链路请求之一,则设备移除相关联的邻居帧元组。
106.示例方法
107.根据因特网协议上的线程的一个或多个方面,参考图5描述了示例方法500。通常,本文描述的任何组件、模块、方法和操作可以使用软件、固件、硬件(例如,固定逻辑电路)、手动处理或其任何组合来实现。示例方法的一些操作可以在存储在计算机处理系统本地和/或远程的计算机可读存储存储器上的可执行指令的通用上下文中描述,并且实现方式可以包括软件应用、程序、功能等。可替代地或另外地,本文描述的任何功能性可以至少部分地由一个或多个硬件逻辑组件来执行,诸如但不限于现场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、片上系统(soc)、复杂可编程逻辑设备(cpld)等。描述方法块的顺序并不旨在被理解为限制,并且任何数量的所描述方法块可以以任何顺序加以组合或跳过以实现一种方法或替代方法。
108.图5示出因特网协议上的线程的示例方法500,其通常涉及确定由线程网络中的节点进行通信的优选物理层。在方框502,线程网络中的节点使用第一物理层向邻居节点传输低功率无线个人局域网上的第一ipv6(6lowpan)帧。例如,节点(例如,trel设备220、222)使用第一物理层向邻居节点(例如,路由器206、终端设备208或边界路由器106)传输第一6lowpan帧,诸如使用ieee 802.15.4phy在ieee 802.15.4mac帧中传输第一6lowpan帧。例如,相邻节点可经由该节点的至少一个phy到达。
109.在方框504,该节点使用第二物理层向邻居节点传输第一6lowpan帧。例如,该节点使用第二物理层(例如,wi-fi或以太网)向邻居节点(例如,wi-fi设备210或以太网设备214)传输第一6lowpan帧,诸如传输封装在ieee 802.15.4mac帧中的第一6lowpan帧,该ieee 802.15.4mac帧使用trel消息格式400封装并进一步封装在udp帧和ipv6分组中。
110.在方框506,该节点使用第一物理层确定邻居节点的第一优先值。例如,基于从邻居节点接收的对使用第一物理层进行的传输的一个或多个确认,该节点确定邻居节点使用第一物理层进行通信的第一优先值。
111.在方框508,该节点使用第二物理层确定邻居节点的第二优先值。例如,基于从邻
居节点接收的对使用第二物理层进行的传输的一个或多个确认,该节点确定邻居节点使用第二物理层进行通信的第二优先值。
112.在方框510,该节点比较第一优先值和第二优先值,以确定用于通信的优选物理层。例如,该节点比较记录在phy优先集中的第一和第二优先值,并确定与邻居节点通信的优选物理层,诸如选择具有最大优先值的物理层。
113.在方框512,该节点使用优选物理层向邻居节点传输第二6lowpan帧。例如,该节点使用优选phy向邻居节点传输第二6lowpan帧。
114.示例环境和设备
115.图6示出其中可以实现因特网协议上的线程的各方面的示例网络环境600。通常,环境600包括被实现为家庭或其他类型结构的一部分的家庭局域网(han)200,该家庭局域网具有被配置用于在无线网络中通信的任意数量的无线网络设备。例如,无线网络设备可以包括恒温器602、危险检测器604(例如,用于烟雾和/或一氧化碳)、相机606(例如,室内和室外)、照明单元608(例如,室内和室外)、以及在结构612内部和/或外部(例如,在家庭环境中)实现的任何其他类型的无线网络设备610。在该示例中,无线网络设备还可以包括任何先前描述的设备,诸如边界路由器106,以及实现为路由器设备206和/或终端设备208的任何设备。
116.在环境600中,任何数量的无线网络设备可以被实现用于无线互连,以无线地相互通信和交互。无线网络设备是模块化的、智能的、多传感的、网络连接的设备,它们可以彼此无缝集成和/或与中央服务器或云计算系统无缝集成,以提供多种有用的自动化目标和实现方式中的任一者。参考图7来展示并描述可被实现为本文描述的任何设备的无线网络设备的示例。
117.在实现方式中,恒温器602可以包括检测周围气候特性(例如,温度和/或湿度)并控制家庭环境中的hvac系统614的学习恒温器。学习恒温器602和其他网络连接的设备通过捕获设备的占用者设置来“学习”。例如,恒温器学习早晨和晚上的优选温度设置点,以及结构的占用者何时睡觉或醒来,以及占用者通常何时外出或在家。
118.危险检测器604可以被实现为检测危险物质或指示危险物质的物质(例如,烟雾、火或一氧化碳)的存在。在无线互连的示例中,危险检测器604可以检测烟雾的存在,指示结构中的火灾,在此情况下,首先检测到烟雾的危险检测器可以向所有连接的无线网络设备广播低功率唤醒信号。其他危险检测器604然后可以接收广播唤醒信号,并起始用于危险检测的高功率状态,以及接收警报消息的无线通信。此外,照明单元608可以接收广播唤醒信号,并在检测到危险的区域中激活,以照射并识别问题区域。在另一示例中,照明单元608可以以一种照明颜色激活以指示结构中的问题区或区域,诸如检测到火灾或非法闯入,并且以不同的照明颜色激活以指示安全区域和/或离开结构的逃生路线。
119.在各种配置中,无线网络设备610可以包括入口通道接口设备616,入口通道接口设备616与网络连接的门锁系统618协同运作,并且检测人接近或离开某一位置,诸如结构612的外门并进行响应。入口通道接口设备616可以基于是否有人已接近或进入智能家庭环境来与其他无线网络设备交互。入口通道接口设备616可以控制门铃功能性,经由音频或视觉装置通知人的接近或离开,并控制安全系统的设置,诸如当占用者来来去去时激活或停用安全系统。无线网络设备610还可以包括其他传感器和检测器,诸如检测周围照明条件,
检测房间占用状态(例如,利用占用传感器620),以及控制一个或多个灯的电源和/或暗淡状态。在一些情况下,传感器和/或检测器还可以控制风扇,诸如吊扇622的功率状态或速度。此外,传感器和/或检测器可以检测房间或封闭空间中的占用情况,并控制对电源插座或设备624的供电,诸如如果房间或结构未被占用。
120.无线网络设备610还可以包括连接的电器和/或受控系统626,诸如冰箱、炉子和烤箱、洗衣机、烘干机、空调、泳池加热器628、灌溉系统630、安全系统632等,以及其他电子和计算设备,诸如电视机、娱乐系统、计算机、内部通话系统、车库开门器634、吊扇622、控制面板636等。当插入时,电器、设备或系统可以如上所述向家庭局域网宣告其自身,并且可以自动与家庭局域网的控制和设备集成,诸如在家中。应注意,无线网络设备610可以包括物理上位于结构外部但在无线通信范围内的设备,诸如控制游泳池加热器628或灌溉系统630的设备。
121.如上所述,han 200包括边界路由器106,其与han 200外部的外部网络接口连接用于通信。边界路由器106连接到接入点110,接入点110连接到接入网络108,诸如因特网。经由接入网络108连接的云服务112提供与han 200内的设备相关的和/或使用han 200内的设备的服务。举例来说,云服务112可以包括用于将终端用户设备638(诸如智能电话、平板型计算机等)连接到家庭局域网中的设备、处理并向终端用户呈现在han 200中获取的数据、将一个或多个han200中的设备链接到云服务112的用户帐户、供应和更新han 200中的设备等的应用。例如,用户可以使用网络连接的计算机或便携式设备(诸如移动电话或平板设备)来控制家庭环境中的恒温器602和其他无线网络设备。此外,无线网络设备可以经由边界路由器106和接入点110向任何中央服务器或云计算系统传达信息。可以使用各种定制或标准无线协议(例如,wi-fi、用于低功率的zigbee、6lowpan、线程等)中的任一者和/或通过使用各种定制或标准有线协议(cat6以太网、homeplug等)中的任一者来进行数据通信。
122.han 200中的任何无线网络设备都可以用作低功率和通信节点,以在家庭环境中创建han 200。网络的各个低功率节点除了发出它们自己的消息之外,可以定期发出关于它们所感测的内容以及环境中的其他低功率节点的消息,可以重复这些消息,从而在整个家庭局域网中从节点到节点(即,从设备到设备)传达这些消息。无线网络设备可以被实现为节省功率,特别是当电池供电时,利用低功率通信协议来接收消息,将消息翻译成其他通信协议,并将翻译后的消息发送到其他节点和/或中央服务器或云计算系统。例如,占用和/或环境光传感器可以检测房间中的占用者以及测量环境光,并且当环境光传感器640检测到房间黑暗时以及当占用传感器620检测到有人在房间中时激活光源。此外,传感器可以包括低功率无线通信芯片(例如,ieee 802.15.4芯片、线程芯片、zigbee芯片),该芯片定期发出关于房间的占用和房间中的光量的消息,包括与占用传感器检测到房间中有人的存在一致的即时消息。如上所述,这些消息可以使用家庭局域网在家庭环境内从节点到节点(例如,网络连接的设备到网络连接的设备)无线发送,以及通过因特网发送到中央服务器或云计算系统。
123.在其他配置中,各种无线网络设备可以充当家庭环境中警报系统的“绊网”。例如,在闯入者避开位于结构或环境的窗户、门和其他入口点的警报传感器的检测的情况下,仍然可以通过从家庭局域网中的一个或多个低功率网状节点接收占用、运动、热量、声音等消息来触发警报。在其他实现方式中,当人在结构中从一个房间过渡到另一房间时,家庭局域
网可以用于自动打开和关闭照明单元608。例如,无线网络设备可以检测人移动通过该结构,并且经由家庭局域网的节点传达对应的消息。使用指示哪些房间被占用的消息,接收该消息的其他无线网络设备可以相应地激活和/或停用。如上所述,家庭局域网还可以用于在紧急情况下提供出口照明,诸如通过打开通向安全出口的适当的照明单元608。灯单元608也可以被打开以指示沿着人应该行进以安全离开该结构的出口路线的方向。
124.各种无线网络设备也可被实现为与可穿戴计算设备642集成和通信,诸如可以用于识别和定位该结构的占用者,并相应地调整温度、照明、音响系统等。在其他实现方式中,rfid感测(例如,具有rfid手镯、项链或钥匙扣的人)、合成视觉技术(例如,摄像机和面部辨识处理器)、音频技术(例如,语音、声音模式、振动模式辨识)、超声波感测/成像技术和红外或近场通信(nfc)技术(例如,佩戴有红外或nfc能力的智能电话的人),以及基于规则的推理引擎或人工智能技术,其从感测到的信息中得出关于结构或环境中的占用者的位置的有用结论。
125.在其他实现方式中,服务机器人的个人舒适局域网、个人健康局域网、个人安全局域网和/或其他此类面向人的功能性可以通过根据基于规则的推理技术或人工智能技术与环境中的其他无线网络设备和传感器进行逻辑集成来增强,以实现这些功能性的更好性能。在与个人健康区域相关的示例中,系统可以利用基于规则的推理和人工智能技术来检测家庭宠物是否正在向占用者的当前位置移动(例如,使用无线网络设备和传感器中的任一者)。类似地,危险检测器服务机器人可以被通知厨房中的温度和湿度水平正在上升,并且在推断周围烟雾水平的任何小的增加很可能是由于烹饪活动而不是由于真正的危险状况的情况下,临时提高危险检测阈值,诸如烟雾检测阈值。被配置用于任何类型的监控、检测和/或服务的任何服务机器人可以被实现为家庭局域网上的网状节点设备,符合用于在家庭局域网上通信的无线互连协议。
126.无线网络设备610还可以包括用于家庭环境中结构的每一单独占用者的网络连接的闹钟644。例如,占用者可以为醒来时间定制和设置警报设备,诸如为第二天或下一周。人工智能可以用来考虑警报响起时占用者的反应,并对一段时间内偏好的睡眠模式进行推理。然后,可以基于个人的唯一签名在家庭局域网中跟踪单独占用者,该个人的唯一签名是基于从位于无线网络设备中的传感器获得的数据来确定的,传感器诸如包括超声波传感器、无源ir传感器等。占用者的唯一签名可以基于移动模式、声音、身高、尺寸等的组合,以及使用面部辨识技术。
127.在无线互连的示例中,个人的醒来时间可以与恒温器602相关联,以便以有效的方式控制hvac系统,从而将结构预热或预冷却到期望的睡眠和醒来温度设置。偏好设置可以随着时间的推移而学习,诸如通过在人入睡前和醒来时捕获恒温器中设置的温度。收集的数据还可以包括个人的生物特征指示,诸如呼吸模式、心率、移动等,根据这些指示,结合指示人实际何时醒来的数据,基于该数据进行推理。其他无线网络设备可以使用该数据来提供其他自动化目标,诸如调整恒温器602以便将环境预热或预冷却到期望的设置,以及打开或关闭灯608。
128.在实现方式中,无线网络设备还可以用于声音、振动和/或运动感测,诸如检测流水,并基于算法和水使用和消耗的映射来确定关于家庭环境中的水使用的推理。这可以用来确定家中每一水源的签名或指纹,并且也称为“音频指纹识别用水”。类似地,无线网络设
备可以用于检测有害害虫(诸如老鼠和其他啮齿动物)以及白蚁、蟑螂和其他昆虫的细微声音、振动和/或运动。该系统然后可以通知占用者环境中的可疑害虫,诸如用警告消息来帮助促进早期检测和预防。
129.环境600可以包括用作集线器646的一个或多个无线网络设备。集线器646可以是通用家庭自动化集线器,或者专用集线器,诸如安全集线器、能源管理集线器、hvac集线器等等。集线器646的功能性也可以集成到任何无线网络设备中,诸如网络连接的恒温器设备或边界路由器106。在结构612中的集线器646上的托管功能性可以提高在用户的因特网连接不可靠时的可靠性,可以减少通常必须连接到云服务112的操作的等待时间,并且可以满足关于无线网络设备之间的本地访问的系统和监管约束。
130.此外,示例环境600包括网络连接的扬声器(网络连接辅助设备)648。网络连接的扬声器648提供语音辅助服务,包括提供网络连接的设备的语音控制。集线器646的功能可以托管在网络连接的扬声器648中。网络连接的扬声器648可以被配置成经由无线网状网络202、wi-fi网络204或两者进行通信。
131.图7示出了示例无线网络设备700,根据本文所述的因特网协议上的线程的一个或多个方面,该示例无线网络设备700可以被实现为家庭局域网(线程网络、织物网络、编织网络、chip网络)中的任何无线网络设备(节点)。设备700可以与电子电路、微处理器、存储器、输入输出(i/o)逻辑控制件、通信接口和组件以及其他硬件、固件和/或软件集成,以在家庭局域网中实现该设备。此外,无线网络设备700可以用各种组件来实现,诸如用参考图8中所示的示例设备进一步描述的任何数量的不同组件及其组合来实现。
132.在此示例中,无线网络设备700包括处理可执行指令的低功率微处理器702和高功率微处理器704(例如,微控制器或数字信号处理器)。该设备还包括输入-输出(i/o)逻辑控制件706(例如,包括电子电路)。微处理器可以包括集成电路、可编程逻辑设备、使用一个或多个半导体形成的逻辑设备以及硅和/或硬件中的其他实现方式的组件,诸如实现为片上系统(soc)的处理器和存储器系统。可替代地或另外地,该设备可以用软件、硬件、固件或固定逻辑电路中的任何一者或组合来实现,该固定逻辑电路可以使用处理和控制电路来实现。低功率微处理器702和高功率微处理器704还可以支持该设备的一个或多个不同设备功能性。例如,高功率微处理器704可以执行计算密集型操作,而低功率微处理器702可以管理不太复杂的过程,诸如从一个或多个传感器708检测危险或温度。低功率处理器702还可以唤醒或初始化高功率处理器704,用于计算密集型过程。
133.一个或多个传感器708可以被实现为检测各种属性,诸如加速度、温度、湿度、水、供电、接近性、外部运动、设备运动、声音信号、超声信号、光信号、火、烟雾、一氧化碳、全球定位卫星(gps)信号、射频(rf)、其他电磁信号或场等。因而,传感器708可以包括温度传感器、湿度传感器、危险相关传感器、其他环境传感器、加速度计、麦克风、光学传感器中的任何一个或组合,直到并包括相机(例如,电荷耦合器件或摄像机、有源或无源辐射传感器、gps接收器和射频识别检测器)。在实现方式中,无线网络设备700可以包括一个或多个初级传感器,以及一个或多个次级传感器,诸如感测对设备的核心操作至关重要的数据的初级传感器(例如,感测恒温器中的温度或感测烟雾探测器中的烟雾),而次级传感器可以感测其他类型的数据(例如,运动、光或声音),这些数据可以用于能效目标或自动化目标。
134.无线网络设备700包括存储器设备控制器710和存储器设备712,诸如任何类型的
非易失性存储器和/或其他合适的电子数据存储设备。无线网络设备700还可以包括各种固件和/或软件,诸如由存储器作为计算机可执行指令维护并由微处理器执行的操作系统714。设备软件还可以包括trel网络堆栈应用716,该应用716实现用于因特网协议上的线程的trel网络堆栈300的各方面。无线网络设备700还包括与另一设备或外围组件接口连接的设备接口718,并且包括集成数据总线720,其耦合无线网络设备的各种组件用于组件之间的数据通信。无线网络设备中的数据总线也可以被实现为不同总线结构和/或总线架构中的任何一者或组合。
135.设备接口718可以接收来自用户的输入和/或向用户提供信息(例如,作为用户接口),并且接收到的输入可以用于确定设置。设备接口718还可以包括响应于用户输入的机械或虚拟组件。例如,用户可以机械地移动滑动或可旋转组件,或者可以检测沿着触摸板的运动,并且此类运动可以对应于设备的设置调整。物理和虚拟的可移动用户接口组件可以允许用户沿着明显连续体的一部分来设置设置。设备接口718还可以接收来自任何数量的外围设备,诸如按钮、小键盘、开关、麦克风和成像器(例如,相机设备)的输入。
136.无线网络设备700可以包括网络接口722,诸如用于与家庭局域网中的其他无线网络设备通信的家庭局域网接口、有线网络设备(例如,以太网连接的设备)、以及用于诸如经由因特网的网络通信的外部网络接口。无线网络设备700还包括无线无线电系统724,用于经由家庭局域网接口与其他无线网络设备进行无线通信,以及用于多个不同的无线通信系统。无线无线电系统724可以包括wi-fi、bluetooth
tm
、移动宽带、ble和/或点对点ieee 802.15.4。每一不同的无线电系统可以包括为特定无线通信技术实现的无线电设备、天线和芯片组。无线网络设备700还包括电源726,诸如电池和/或将设备连接到线路电压。ac电源还可以用于给设备的电池充电。
137.图8示出包括示例设备802的示例系统800,该示例设备802可以被实现为实现如参考前面的图1-7所描述的因特网协议上的线程的各方面的任何无线网络设备。示例设备802可以是任何类型的计算设备、客户端设备、移动电话、平板型计算机、通信、娱乐、游戏、媒体播放和/或其他类型的设备。此外,示例设备802可以被实现为被配置用于在家庭局域网上通信的任何其他类型的无线网络设备,诸如恒温器、危险检测器、相机、灯单元、调试设备、路由器、边界路由器、接合路由器、接合设备、终端设备、领导者、接入点和/或其他无线网络设备。
138.设备802包括支持设备数据806,诸如在家庭局域网中的设备之间传达的数据、正在接收的数据、调度用于广播的数据、数据的数据分组、设备之间同步的数据等的有线和/或无线通信的通信设备804。设备数据可以包括任何类型的通信数据,以及由在设备上执行的应用产生的音频、视频和/或图像数据。通信设备804还可以包括用于蜂窝式电话通信和/或用于网络数据通信的收发器。
139.设备802还包括输入/输出(i/o)接口808,诸如在设备、数据网络(例如,家庭局域网、外部网络等)和其他设备之间提供连接和/或通信链路的数据网络接口。i/o接口可以用于将该设备耦合到任何类型的组件、外围设备和/或附属设备。i/o接口还包括数据输入端口,经由该端口可以接收任何类型的数据、媒体内容和/或输入,诸如对设备的用户输入,以及任何类型的通信数据,以及从任何内容和/或数据源接收的音频、视频和/或图像数据。
140.设备802包括处理系统810,处理系统810可以至少部分地在硬件中,诸如利用处理
可执行指令的任何类型的微处理器、控制器等加以实现。处理系统可以包括集成电路、可编程逻辑设备、使用一个或多个半导体形成的逻辑设备以及硅和/或硬件中的其他实现方式的组件,诸如实现为片上系统(soc)的处理器和存储器系统。可替代地或另外地,该设备可以用软件、硬件、固件或固定逻辑电路中的任何一者或组合来实现,该固定逻辑电路可以使用处理和控制电路来实现。设备802可以还包括耦合设备内各种组件的任何类型的系统总线或其他数据和命令传送系统。系统总线可以包括不同总线结构和架构的任何一者或组合,以及控制和数据线。
141.设备802还包括计算机可读存储存储器812,诸如可由计算设备访问并且提供数据和可执行指令(例如,软件应用、模块、程序、函数等)的持久性存储的数据存储设备。本文描述的计算机可读存储存储器不包括传播信号。计算机可读存储存储器的示例包括易失性存储器和非易失性存储器、固定和可移动介质设备、以及维护数据以供计算设备访问的任何合适的存储器设备或电子数据存储。计算机可读存储存储器可以包括各种存储器设备配置中的随机存取存储器(ram)、只读存储器(rom)、闪速存储器和其他类型的存储存储器的各种实现方式。
142.计算机可读存储存储器812提供设备数据806和各种设备应用814的存储,诸如作为软件应用与计算机可读存储存储器一起维护并由处理系统810执行的操作系统。设备应用还可以包括设备管理器,诸如任何形式的控制应用、软件应用、信号处理和控制模块、源自特定设备的代码、特定设备的硬件抽象层等等。在该示例中,设备应用还包括trel网络堆栈应用816,其根据因特网协议上的线程的方面来实现trel网络堆栈300,诸如当示例设备802被实现为本文描述的任何无线网络设备时。
143.设备802还包括为音频设备820产生音频数据和/或为显示设备822产生显示数据的音频和/或视频系统818。音频设备和/或显示设备包括处理、显示和/或以其他方式渲染音频、视频、显示和/或图像数据(诸如数字照片的图像内容)的任何设备。在实现方式中,音频设备和/或显示设备是示例设备802的集成组件。可替代地,音频设备和/或显示设备是示例设备的外部、外围组件。在各方面,针对因特网协议上的线程描述的技术的至少一部分可以在分布式系统中实现,诸如在平台826中的“云”824上实现。云824包括和/或代表用于服务828和/或资源830的平台826。
144.平台826抽象硬件的基础功能性,诸如服务器设备(例如,包括在服务828中)和/或软件资源(例如,作为资源830包括),并将示例设备802与其他设备、服务器等连接。资源830还可以包括在远离示例设备802的服务器上执行计算机处理时可以利用的应用和/或数据。此外,服务828和/或资源830可以促进订户网络服务,诸如通过因特网、蜂窝式网络或wi-fi网络。平台826还可以用于抽象和缩放资源,以服务于经由平台实现的对资源830的需求,诸如在具有分布在整个系统600中的功能性的互连设备方面。例如,该功能性可以部分地在示例设备802处实现,以及经由抽象云824的功能性的平台826来实现。
145.描述以下一些示例:
146.示例1:一种用于由网络中的节点确定用于通信的优选物理层的方法,该方法包括:
147.使用第一物理层向邻居节点传输低功率无线个人局域网上的第一因特网协议版本6,ipv6,6lowpan帧;
148.使用第二物理层向该邻居节点传输第一6lowpan帧;
149.使用第一物理层确定该邻居节点的第一优先值;
150.使用第二物理层确定该邻居节点的第二优先值;
151.比较第一优先值和第二优先值,以确定用于通信的优选物理层;以及
152.使用该优选物理层向邻居节点传输第二6lowpan帧。
153.示例2:示例1的方法,其中,使用第一物理层向邻居节点传输该第一6lowpan帧包括:
154.在ieee 802.15.4媒体接入控制,mac帧中传输该第一6lowpan帧。
155.示例3:示例1或示例2的方法,其中,使用第二物理层向邻居节点传输该第一6lowpan帧包括:
156.将第一6lowpan帧封装在ieee 802.15.4mac帧中;
157.将ieee 802.15.4mac帧封装在传送协议帧中;以及
158.在因特网协议分组中传输该传送协议帧。
159.示例4:示例3的方法,其中,第二物理层是wi-fi物理层或以太网物理层。
160.示例5:示例3的方法,其中,传送协议是传输控制协议,tcp或用户数据报协议,udp。
161.示例6:示例3的方法,其中,因特网协议是因特网协议版本4ipv4协议或因特网协议版本6ipv6协议。
162.示例7:前述示例中的任一者的方法,该方法还包括:
163.使用第一物理层、第二物理层或第一物理层和第二物理层两者,从该邻居节点接收一个或多个确认分组。
164.示例8:示例7的方法,其中,从邻居节点接收一个或多个确认分组包括:
165.从邻居节点接收一个或多个线程无线电封装链路,trel确认分组。
166.示例9:示例7的方法,其中,第一物理层的第一优先值是基于从邻居节点接收的对使用第一物理层进行的传输的一个或多个确认,并且其中第二物理层的第二优先值是基于从邻居节点接收的对使用第二物理层进行的传输的一个或多个确认。
167.示例10:示例9的方法,其中,比较第一优先值和第二优先值以确定用于通信的优选物理层包括:
168.选择具有最大优先值的物理层作为优选物理层。
169.示例11:示例9的方法,其中,第一优先值和第二优先值是相等的,并且其中比较第一优先值和第二优先值以确定用于通信的优选物理层包括:
170.选择具有最低功率分布的物理层用于传输ieee 802.15.4数据请求帧;或
171.选择具有最高信道容量的物理层用于传输除ieee 802.15.4数据请求帧之外的帧。
172.示例12:前述示例中的任一者的方法,该方法还包括:
173.将第一优先值和邻居节点的地址存储在物理层,phy优先集中;以及
174.将第二优先值和邻居节点的地址存储在phy优先集中。
175.示例13:示例12的方法,其中,该地址是ieee 802.15.4扩展地址。
176.示例14:前述示例中的任一者的方法,该方法还包括:
177.在线程无线电封装链路trel未决确认集中记录对该传输的第一6lowpan帧和第二传输的第二6lowpan帧的未决确认。
178.示例15:示例14的方法,其中,未决确认被记录在元组中,该元组包括:
179.邻居节点的扩展地址;
180.当前时间窗口中的未决确认的数量;
181.先前时间窗口中的未决确认的数量;以及
182.在向邻居节点传输下一分组时使用的分组号。
183.示例16:前述示例中的任一者的方法,其中,第一物理层是ieee802.15.4物理层。
184.示例17:前述示例中的任一者的方法,其中,该网络是线程网络。
185.示例18:一种电子设备,包括:
186.第一网络接口;
187.第二网络接口;
188.一个或多个处理器;以及
189.存储器,其包括可由一个或多个处理器执行的指令以执行示例1至17的方法中的任一者。
190.示例19:示例18的电子设备,其中,第一网络接口是ieee 802.15.4网络接口。
191.示例20:示例18或示例19的电子设备,其中,第二网络接口是wi-fi接口或以太网接口。
192.示例21:一种包括指令的计算机可读存储介质,其响应于指令由处理器执行而使得执行如示例1至17中的任一者所述的方法。
193.尽管已用特定于特征和/或方法的语言描述了因特网协议上的线程的各方面,但所附权利要求的主题不必限于所描述的特定特征或方法。相反,特定特征和方法被公开为因特网协议上的线程的示例实现方式,并且其他等效特征和方法旨在落入所附权利要求的范围内。此外,描述了各种不同方面,并且应了解,每一描述的方面可以独立地或者结合一个或多个其他描述的方面来实现。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献