CN110290121B - 低延迟高吞吐量的异步alt-mac协议的实现方法 - Google Patents
低延迟高吞吐量的异步alt-mac协议的实现方法 Download PDFInfo
- Publication number
- CN110290121B CN110290121B CN201910510339.9A CN201910510339A CN110290121B CN 110290121 B CN110290121 B CN 110290121B CN 201910510339 A CN201910510339 A CN 201910510339A CN 110290121 B CN110290121 B CN 110290121B
- Authority
- CN
- China
- Prior art keywords
- node
- sending
- frame
- nodes
- receiving
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/03—Protocol definition or specification
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/324—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/0273—Traffic management, e.g. flow control or congestion control adapting protocols for flow control or congestion control to wireless environment, e.g. adapting transmission control protocol [TCP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W80/00—Wireless network protocols or protocol adaptations to wireless operation
- H04W80/02—Data link layer protocols
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开一种低延迟高吞吐量的异步ALT‑MAC协议的实现方法,属于网络通讯技术领域,设计了预约通信机制,让当前发送节点把其余待发节点的地址添加到数据包中以预约它们共同的接收节点,从而让接收节点在完成当前通信后按需进行唤醒等待,有效减少了数据传输延迟和能耗,提高了网络吞吐量。设计了自适应传输机制,让接收节点根据其内部消息队列的拥塞情况自适应地保持唤醒,以尽快地转发其内部的消息,减少延迟。采用节点失效通知机制,通过发送节点获取失效通知、接收节点发送失效通知和邻居节点发送失效通知相结合的机制,提高网络的通信效率。更适合于动态负载且规模比较大的WSNs应用中使用。
Description
技术领域
本发明涉及一种低延迟高吞吐量的异步ALT-MAC协议的实现方法,属于网络通讯技术领域。
背景技术
介质访问控制(Medium Access Control,MAC)协议位于无线传感器网络(Wireless Sensor Networks,WSNs)节点体系架构中的数据链路层,它可以通过一定的调度算法来协调网络内的多个节点间利用共享信道传输数据的时间和方式,从而能有效避免节点间的传输产生冲突,即确保网络内处于相互干扰范围内的两个或多个节点间不会同时传输数据,因此MAC协议对节点间的通信方式有着重要影响,是确保WSNs高效运行的关键协议之一。
近年来,根据网络应用中的不同需求提出了许多优秀的MAC协议,其中非常典型的一类是异步MAC协议,该类协议的特点是节点之间不需要保持时间同步,各个节点维护自己独立的工作周期,避免了同步协议中所需的同步开销,更容易实现MAC协议的功耗需求。目前典型的异步MAC协议主要有:B-MAC协议、X-MAC协议、SW-MAC协议、CMAC协议、WiseMAC协议及RI-MAC协议等。上述异步MAC协议在不同的网络应用场景下表现出了较好的应用效果,但仍然存在以下不足:
1)通常情况下,接收节点在完成当前通信后不知道是否还有其余节点向它传输消息,容易造成其余节点与该接收节点数据通信的延迟。因此如何让接收节点在完成本次通信后可以获知是否仍需要保持唤醒以等待其余节点向其传输消息是一个值得深入研究的问题。
2)多数MAC协议比较适合于低负载网络环境中的数据传输,而对于高负载时节点内部消息队列的拥塞情况考虑较少,容易导致数据溢出情况的发生。因此如何让节点根据消息队列的拥塞情况而自适应地传输消息是一个需要深入研究的问题。
3)多数情况下,发送节点对于接收节点的状态考虑较少,容易出现接收节点已失效而发送节点仍向其发送前导帧的问题。因此如何让发送节点知道其接收节点是否失效亦是一个需要解决的关键问题。
4)在现有的异步MAC协议中,每次数据传输过程中,通信双方交换的控制信息,仅为完成本次通信所用,并未对后续的传输过程带来更高的效率。
发明内容
为了解决现有异步MAC协议存在的问题,本发明提供一种低延迟高吞吐量的异步ALT-MAC(Asynchronous Low Latency and High Throughput-Medium Access Control)协议的实现方法。
本发明所述的一种低延迟高吞吐量的异步ALT-MAC协议的实现方法,所述的实现方法包括:
采用预约通信机制,通过让其余待发节点向当前发送节点传输控制帧,然后让当前发送节点把其余待发节点的地址添加到数据包中来预约它们共同的接收节点,从而让接收节点可以在完成当前通信后按需进行唤醒等待;
采用自适应传输机制,让接收节点收到来自其它节点的数据包后,根据其内部消息队列的拥塞情况自适应地保持唤醒,然后直接向它的下一跳节点发送前导帧,以尽快地转发自己内部的消息;
采用节点失效通知机制,通过发送节点获取失效通知、接收节点发送失效通知和邻居节点发送失效通知相结合的机制,提高网络的通信效率。
进一步的,节点进行预约通信的过程包括以下步骤:
S1:网络中的节点采用异步唤醒的方式,即节点按照自己的侦听/睡眠调度表进行侦听和睡眠;
S2:若第一类发送节点有数据要向目标节点进行传送,当第一类发送节点唤醒且侦听到信道空闲时,则发送一系列短的P前导帧,以便第一类发送节点可以一直获得信道占用权且等待目标节点的唤醒,同时第一类发送节点初始化其内部的PreP计数器为0;
S3:若第二类发送节点唤醒后侦听到了第一类发送节点发送的P前导帧,且发现帧中目标节点的地址与自己内部待发消息的目标节点地址相同时,则第二类发送节点在侦听到前导帧之后的第一个时间间隔内给第一类发送节点发送一个PreP帧,用于通知第一类发送节点它也要传输消息给目标节点,然后第二类发送节点将保持唤醒以等待第一类发送节点的回复消息;
S4:当第二类发送节点侦听到第一类发送节点回复的PrP帧时,则第二类发送节点根据PrP帧中PreP字段的值计算自己的随机退避时间并设置自己的NAV值,然后进入睡眠状态,直到NAV值减为0时唤醒;
S5:当目标节点由睡眠状态转入唤醒状态,侦听到第一类发送节点发送的P前导帧时,则立即回复一个ACK确认帧,以便与第一类发送节点建立握手,并初始化其内部的PreP计数器为0;
S6:第一类发送节点收到目标节点的ACK帧后,立即将添加有向第一类发送节点发送PreP帧节点地址的DATA帧传输给目标节点,且将第一类发送节点的PreP计数器清零;
S7:当目标节点收到第一类发送节点发送的DATA帧后,回复一个ACK帧给第一类发送节点进行接收确认,并且目标节点会把DATA帧中的数据消息放入自己内部的消息队列中,同时目标节点把DATA帧中其余待发节点的地址添加到目标节点内部的预约通信表中,并将其PreP计数器的值设置为预约通信节点的个数;
S8:当第一类发送节点与目标节点通信结束后,目标节点会保持唤醒一段时间,以等待第二类发送节点及其它待发节点向其传输消息;
S9:若第二类发送节点唤醒后侦听到信道此时正忙,则节点会持续保持侦听,等待信道由忙变为空闲时再给目标节点发送PP帧,若第二类发送节点唤醒后侦听到信道空闲,则第二类发送节点向目标节点发送PP帧;
S10:若第三类发送节点唤醒后侦听到第二类发送节点发送的PP帧,且发现帧中目标节点的地址与自己内部待发消息的目标节点地址相同时,则第三类发送节点在侦听到PP帧之后将保持唤醒以等待目标节点给第二类发送节点发送的回复消息;
S11:当目标节点接收到第二类发送节点发送给目标节点的PP帧时,将其PreP计数器的值减1,并将该第二类发送节点从目标节点内部的预约通信表中删除,并回复一个PACK帧给第二类发送节点,以便与第二类发送节点建立握手,同时该PACK帧可以告知拟向该目标节点发送消息的其它发送节点(如第三类发送节点),该目标节点预约通信列表中剩余待通信节点的个数;
S12:第三类发送节点侦听到目标节点给第二类发送节点发送的PACK帧后,根据帧中的PreP值计算自己的随机退避时间并设置自己的NAV值,然后进入睡眠状态,直到NAV值减为0时唤醒;
S13:若第二类发送节点向目标节点发送一系列的PP帧,但一直没有收到目标节点的PACK回复帧时,则第二类发送节点根据节点失效通知机制判断目标节点是否已失效,并进行相应地操作;
S14:第二类发送节点收到目标节点的PACK帧后,向目标节点传输DATA帧;
S15:目标节点接收到来自第二类发送节点的DATA帧后,回复一个ACK帧给第二类发送节点进行接收确认;
S16:目标节点与第二类发送节点通信完毕后,目标节点查看自己节点内部的预约通信表是否还有其它预约通信的节点,若有,则继续处于唤醒状态,以等待预约通信列表中的待发节点向其传输消息,若预约通信表空,则目标节点会继续唤醒一段时间(该时间等于节点睡眠周期长度的时间),等待其它未在预约通信列表中的待发节点(如第三类发送节点)向其传输消息;
S17:目标节点在接收完来自预约通信表中其它节点的消息后,若在继续唤醒的时间内(该时间等于节点睡眠周期长度的时间)没有收到其它未在预约通信列表中的待发节点(如第三类发送节点)发送的消息时,则目标节点会根据自适应传输机制向它的下一跳节点传输消息;
S18:若第三类发送节点唤醒后侦听到信道此时正忙,则节点会持续保持侦听,等待信道由忙变为空闲时再给目标节点发送PP帧,若第三类发送节点唤醒后侦听到信道空闲,则第三类发送节点向目标节点发送PP帧,其后第三类发送节点与目标节点的通信过程同第二类发送节点与目标节点的通信过程。
进一步的,当第一类发送节点侦听到来自第二类发送节点的PreP帧后,包括以下步骤:
S21:第一类发送节点将自己内部的PreP计数器加1,PreP计数器记录了想要给目标节点传输消息的其余待发节点的数量,PreP的当前值记录了待发节点是第几个给第一类发送节点发送Prep帧的节点;
S22:第一类发送节点发送一个PrP帧,既能作为给第二类发送节点的回复消息以通知给第二类发送节点它在预约通信列表中的次序,又能作为前导帧发送给目标节点以等待目标节点的唤醒;
S23:第二类发送节点根据接收的PrP帧中返回的计数器的值为自己计算一个随机退避时间,以让第二类发送节点在第一类发送节点与目标节点通信时先进入睡眠状态,节省能耗;
S24:第一类发送节点把第二类发送节点以及其余向第一类发送节点发送PreP帧的节点的地址添加在DATA帧中;
其中,第二类发送节点以及其它待发送节点计算随机退避时间的公式如下所示:
BackTime=INT(random()*SleepTime)+i*durDATA
其中INT表示取整数,random()表示(0,1)之间的一个随机小数,SleepTime表示节点的睡眠周期长度,i表示第二类发送节点以及其它待发送节点收到的PrP帧或PACK帧中PreP字段的值,durDATA表示传输一个DATA帧的时间。
进一步的,预约通信机制中控制帧包括:P前导帧,PP帧,ACK帧,PACK帧,PreP帧,PrP帧以及PF帧。
所述的自适应传输机制具体包括以下步骤:
S31:当L>=Lthd时,表示当接收节点收到来自其它节点的数据后,此时它内部消息队列中缓存的数据较多,即拥塞情况比较严重,则接收节点需要保持唤醒且占用信道直接向它的下一跳节点发送一系列的P前导帧,等待其下一跳节点的唤醒,以尽快转发自己内部的数据;
S32:当L<Lthd时,表示当接收节点在收到来自其它节点的数据后,此时它内部消息队列中缓存的数据较少,即拥塞情况一般,则接收节点可以立即睡眠,然后等到它下一个唤醒周期到来时再向它的下一跳节点转发消息;
其中:L为节点内部消息队列长度参数,Lthd为让接收节点判断是否在接收完数据包后立即向它的下一跳节点发送前导帧的阈值。
节点失效通知机制包括发送节点获取失效通知的机制、接收节点发送失效通知的机制和邻居节点发送失效通知的机制。
进一步的,发送节点获取失效通知的机制包括:若发送节点在本周期内发送前导帧的总时间已经大于接收节点的睡眠周期,但一直没有收到任何的回复消息时,此时发送节点会立即停止发送前导帧,然后进入睡眠状态,等待下一个唤醒周期到来时继续向接收节点发送前导帧;当发送节点已在它的3个唤醒周期内向接收节点发送前导帧却仍没有收到回复时,发送节点把接收节点的地址添加到自己内部的节点失效表中,同时,发送节点会立即查看路由表中是否还有其它的接收节点,若有则选择向另一个接收节点传输消息。
进一步的,接收节点发送失效通知的机制包括:当接收节点内部的消息队列为空且电池能量即将消耗殆尽时,则接收节点会立即唤醒,且无论信道忙还是空闲,接收节点都会连续不间断的广播一个MTE帧,直到节点失效时为止;若其它节点唤醒后侦听到MTE帧时,则把MTE帧中节点的地址保存在自己内部的节点失效表中,且以后不再向此节点发送任何消息。
进一步的,邻居节点发送失效通知的机制包括:在发送节点发送前导帧的过程中,若其它邻居节点唤醒且侦听到了前导帧,则邻居节点立即查看自己内部的节点失效表中是否包含前导帧中接收节点的地址,若包含则邻居节点会在侦听到前导帧后的第一个时间间隔内给发送节点发送一个NTE帧;当发送节点接收到该NTE帧时,则立即停止向接收节点发送前导帧,且把接收节点的地址保存到自己内部的节点失效表中;同时,发送节点会立即查看路由表中是否还有其它的接收节点,若有则选择向另一个接收节点传输消息。
本发明与现有技术相比,具有如下有益效果:
本发明所述的低延迟高吞吐量的异步ALT-MAC协议的实现方法,用于在节点异步唤醒的情况下减少数据传输延迟,以及提高网络吞吐量。该协议提出了预约通信机制,通过在本次通信中短小控制帧的使用,让接收节点可获知,该接收节点与当前发送节点通信结束后是否还有其它发送节点要向该接收节点传输数据,为后续的数据传输提供了必要的信息,有效减少了数据传输的延迟和能量消耗,提高了网络吞吐量。该协议提出的自适应传输机制,使接收节点收到来自发送节点的数据包后,根据其内部消息队列的拥塞情况自适应地保持唤醒,在必要时直接向它的下一跳节点发送前导帧,以尽快地转发该节点内部的消息,避免数据溢出情况的发生,同时有效减少数据传输延迟。此外,该协议提出的节点失效通知机制,有效减少了接收节点已失效但发送节点仍向其发送消息时产生的能量消耗。本发明中的ALT-MAC协议比较适合在动态负载且规模比较大的网络应用中使用。
附图说明
图1为本发明低延迟高吞吐量的异步ALT-MAC协议的实现方法实施例中节点预约通信过程图;
图2为本发明低延迟高吞吐量的异步ALT-MAC协议的实现方法实施例中ALT-MAC协议中的P前导帧,PP帧,ACK帧,PACK帧,PreP帧,PrP帧以及PF帧的格式图;
图3为本发明低延迟高吞吐量的异步ALT-MAC协议的实现方法实施例中节点的自适应传输过程图;
图4为本发明低延迟高吞吐量的异步ALT-MAC协议的实现方法实施例中节点失效通知机制图;
图5为本发明低延迟高吞吐量的异步ALT-MAC协议的实现方法实施例中MTE帧和NTE帧格式图。
具体实施方式
下面结合附图和实施例对本发明作进一步的说明:
实施例1:
如图1-2所示,本发明所述的一种低延迟高吞吐量的异步ALT-MAC协议的实现方法,包括:
采用预约通信机制,通过让其余待发节点向当前发送节点传输控制帧,然后让当前发送节点把其余待发节点的地址添加到数据包中来预约它们共同的接收节点,从而让接收节点可以在完成当前通信后按需进行唤醒等待;
采用自适应传输机制,让接收节点收到来自其它节点的数据包后,根据其内部消息队列的拥塞情况自适应地保持唤醒,然后直接向它的下一跳节点发送前导帧,以尽快地转发自己内部的消息;
采用节点失效通知机制,通过发送节点获取失效通知、接收节点发送失效通知和邻居节点发送失效通知相结合的机制,提高网络的通信效率。
在低延迟高吞吐量的异步ALT-MAC协议中,有三类发送节点。
第一类发送节点:该类发送节点在唤醒后并获得信道的使用权时,目的节点处于睡眠状态,该类节点占用信道后,会不断发送P前导帧,以便可以一直占用信道并等待目的节点唤醒,因此该类节点在不断发送P前导帧的过程中,可以收集与自己有相同目的节点的其它待发送节点的信息,并帮其它待发送节点预约与目的节点的通信。图1中的S1节点为第一类发送节点。
第二类发送节点:该类发送节在唤醒后未获得信道使用权前,侦听到信道正在被第一类发送节点占用,且当前占用信道的第一类发送节点与自己有相同的目标节点,这时该类节点会请求第一类发送节点帮自己预约与目的节点的通信,该类节点被称为第二类发送节点。第二类发送节点预约通信成功后,便进入睡眠状态,以节约能耗。在与目的节点预约通信的时间到来时,从睡眠状态唤醒。该类节点唤醒后,目的节点亦处于唤醒状态,因此第二类发送节点仅需与目的节点进行握手后,即可进行通信。由于该类节点唤醒后不需等待目标节点唤醒,因此该类节点没有足够的时间为其它待发送节点预约与目的节点的通信。图1中的S2和S3节点为第二类发送节点。
第三类发送节点:该类发送节在唤醒后未获得信道使用权前,侦听到信道正在被第二类发送节点占用,且当前占用信道的第二类发送节点与自己有相同的目标节点,由于第二类节点无法帮其它节点预约与目的节点的通信,因此该类节点只能保持唤醒并等待侦听接收节点回复给第二类发送节点的PACK帧,通过该PACK帧,该类节点可以获知目的节点预约通信列表中剩余待通信节点的个数,并根据此信息计算自己的睡眠时间,以便在目的节点完成与剩余待发送节点的通信后,该节点能醒来与目的节点进行通信。图1中的S4节点为第三类发送节点。
如图1所示,节点进行预约通信的过程及其执行步骤如下:
(1)网络中的节点采用异步唤醒的方式,即节点按照自己的侦听/睡眠调度表进行侦听和睡眠。
(2)若发送节点S1有数据要向接收节点R进行传送。当发送节点S1唤醒且侦听到信道空闲时,则发送一系列短的P前导帧,以便发送节点S1可以一直获得信道占用权且等待接收节点R的唤醒,同时发送节点S1初始化其内部的PreP计数器为0。
(3)若发送节点S2(同理S3节点,本文将以S2节点为例对预约通信机制进行详细说明)唤醒后侦听到了S1节点发送的P前导帧,且发现帧中接收节点R的地址与自己内部待发消息的接收节点R地址相同时,则S2节点在侦听到前导帧之后的第一个时间间隔内给S1节点发送一个PreP帧,用于通知S1节点它也要传输消息给R节点,然后S2节点将保持唤醒以等待S1节点的回复消息。
(4)当S1节点侦听到来自S2节点的PreP帧后,需要进行以下几个方面的操作:
1)S1节点将自己内部的PreP计数器加1,PreP计数器记录了想要给R节点传输消息的其余待发节点的数量。
2)S1节点发送一个PrP帧,既能作为给S2节点的回复消息以通知给S2节点它在预约通信列表中的次序,又能作为前导帧发送给R节点以等待R节点的唤醒。
3)S1节点把S2节点以及其余向S1节点发送PreP帧的节点(如图1中的S3节点)的地址添加在DATA帧中。
(5)当S2节点侦听到S1节点回复的PrP帧时,则S2节点根据PrP帧中PreP字段的值计算自己的随机退避时间并设置自己的NAV值,然后进入睡眠状态,直到NAV值减为0时唤醒;以让S2在S1节点与目标节点R通信时先进入睡眠状态,节省能耗;
其中,S2节点以及其它待发节点(如S3节点)计算其随机退避时间的公式如下所示:
BackTime=INT(random()*SleepTime)+i*durDATA
其中INT表示取整数,random()表示(0,1)之间的一个随机小数,SleepTime表示节点的睡眠周期长度,i表示S2节点以及其它待发送节点(如S3节点或S4节点)收到的PrP帧或PACK帧中PreP字段的值,durDATA表示传输一个DATA帧的时间。
(6)当R节点由睡眠状态转入唤醒状态,侦听到S1节点发送的P前导帧时,则立即回复一个ACK确认帧,以便与S1节点建立握手。
(7)S1节点收到R节点的ACK帧后,立即将添加有向S1节点发送PreP帧节点地址的DATA帧传输给R节点,且将S1节点的PreP计数器清零。
(8)当R节点收到S1节点发送的DATA帧后,回复一个ACK帧给S1节点进行接收确认,并且R节点会把DATA帧中的数据消息放入自己内部的消息队列中,同时R节点把DATA帧中其余待发节点(如图1中的S2、S3节点)的地址添加到R节点内部的预约通信表中,并将其PreP计数器的值设置为预约通信节点的个数。
(9)当S1节点与R节点通信结束后,R节点会保持唤醒一段时间,以等待S2节点及其它待发节点(如图1中的S3节点)向其传输消息。
(10)若S2节点唤醒后侦听到信道此时正忙,则节点会持续保持侦听,然后等待信道由忙变为空闲时再给R节点发送PP帧。若S2节点唤醒后侦听到信道空闲,则S2节点向接收节点R发送PP帧。
(11)若S4节点唤醒后侦听到S2节点发送的PP帧,且发现帧中目标节点R的地址与自己内部待发消息的目标节点地址相同时,则S4节点在侦听到PP帧之后将保持唤醒以等待目标节点R给S2节点发送的回复消息;
(12)当R节点接收到S2节点发送给R节点的PP帧时,将其PreP计数器的值减1,并将S2节点从R节点内部的预约通信表中删除,并回复一个PACK帧给S2节点,以便与S2节点建立握手,同时该PACK帧可以告知拟向该R节点发送消息的其它发送节点(如S4节点),该R节点预约通信列表中剩余待通信节点的个数;
(13)S4节点侦听到R节点给S2节点发送的PACK帧后,根据帧中的PreP字段的值计算自己的随机退避时间并设置自己的NAV值,然后进入睡眠状态,直到NAV值减为0时唤醒,以让S4在目标节点R与其它发送节点通信时先进入睡眠状态,节省能耗;
(14)若S2节点向R节点发送一系列的PP帧,但一直没有收到R节点的PACK回复帧时,则S2节点根据1.4节中介绍的节点失效通知机制判断R节点是否已失效,并进行相应地操作。
(15)S2节点收到R节点的PACK帧后,向R节点传输DATA帧。
(16)R节点接收到来自S2节点的DATA帧后,回复一个ACK帧给S2节点进行接收确认。
(17)R节点与S2节点通信完毕后,R节点查看自己节点内部的预约通信表是否还有其它预约通信的节点,若有,则继续处于唤醒状态,以等待预约通信列表中的待发节点向其传输消息,若预约通信表空,则R节点会继续唤醒一段时间(该时间等于节点睡眠周期长度的时间),等待其它未在预约通信列表中的待发节点(如S4节点)向其传输消息;
(18)R节点在接收完来自预约通信表中其它节点的消息后,若在继续唤醒的时间内(该时间等于节点睡眠周期长度的时间)没有收到其它未在预约通信列表中的待发节点(如S4节点)发送的消息时,则目标节点会根据自适应传输机制向它的下一跳节点传输消息;
(19)若S4节点唤醒后侦听到信道此时正忙,则节点会持续保持侦听,等待信道由忙变为空闲时再给R节点发送PP帧,若S4节点唤醒后侦听到信道空闲,则S4节点向R节点发送PP帧,其后S4节点与R节点的通信过程同S2节点与R节点的通信过程。
值得注意的是,
(20)若S2节点向S1节点发送的PreP帧与R节点向S1节点发送的ACK帧产生冲突时,则S1节点会发送一个PF帧,用于通知给其余待发节点和接收节点R它们发送的帧产生了冲突。
(21)当S2节点侦听到PF帧时,则立即向S1节点重发PreP帧。
(22)当S1节点收到PreP帧后,则会发送一个PrP帧,
(23)然后S2节点在侦听到PrP后则进入睡眠状态。
(24)当R节点侦听到S1节点发送的PF帧时,则会一直保持侦听模式,且当收到S1节点发送的PrP帧或者P前导帧时,则R节点会立即回复ACK帧,与S1节点建立握手。
一般而言,由于ALT-MAC协议让网络内的节点采用异步唤醒的方式,因此该冲突发生的可能性通常比较小。
如图2所示,预约通信机制中控制帧包括:P前导帧,PP帧,ACK帧,PACK帧,PreP帧,PrP帧以及PF帧。
ALT-MAC协议设计了预约通信机制,让具有相同接收节点的其余待发节点(如S2,S3节点)向当前发送节点(S1节点)传输特殊控制帧(PreP帧),然后让当前发送节点(S1节点)把其余待发节点(如S2,S3节点)的地址添加到数据包中来预约它们共同的接收节点(R节点),从而让接收节点(R节点)可以知道在完成当前通信(S1与R节点之间的通信)后是否仍需要保持唤醒以等待其它节点(S2、S3节点)向其传输数据,有效减少了数据传输延迟。其中ALT-MAC协议的预约通信机制中所用控制帧的格式与功能如下所示:
1)P前导帧的格式如图2中的(a)所示,其中Frame control为帧控制字段,RevAddr字段和TrsAddr字段分别表示接收节点(如图1中的R节点)的地址和当前发送节点(如图1中的S1节点)的地址,Flag字段表示该发送节点为第一类发送节点,可以帮助其它发送节点(如图中的S2、S3节点)预约与接收节点R的通信,FCS为帧检验序列。P前导帧由第一类发送节点唤醒后且侦听到信道空闲时发出,以便发送节点可以一直获得信道占用权且等待接收节点的唤醒。
2)PP帧的格式如图2中的(a)所示,其结构与P前导帧相同,其中Frame control为帧控制字段,RevAddr字段和TrsAddr字段分别表示接收节点(如图1中的R节点)的地址和当前发送节点(如图1中的S2节点)的地址,Flag字段表示该发送节点为第二类发送节点,该类节点不可以帮助其它发送节点(如图1中的S4节点)预约与接收节点(如图1中的R节点)的通信,FCS为帧检验序列。PP帧由第二类发送节点(如图1中的S2节点)唤醒后且侦听到信道空闲时发出,一方面实现该发送节点(S2节点)与接收节点(R节点)进行通信前的握手,另一方面告知与该发送节点(S2节点)有同样目标节点(R节点)的其它待发送节点(S4节点),该发送节点(S2节点)为第二类发送节点,其它待发送节点(S4节点)需等待接收节点(R节点)发送的PACK帧后才能获知目标节点(R节点)预约通信列表中剩余待通信节点的个数。
3)ACK帧的格式如图2中的(b)所示,其中Frame control为帧控制字段,RevAddr字段表示接收节点(如图1中的S1节点)的地址,FCS为帧检验序列。ACK帧由目的节点(如图1中的R节点)侦听到P前导帧后发出,用于确认发送节点(如图1中的S1节点)的通信请求。此外ACK帧亦用于目的节点(如图1中的R节点)收到发送节点(如图1中的S1、S2、S3、S4节点)发送的DATA帧后向发送节点(如图1中的S1、S2、S3、S4节点)发送的确认帧。
4)PACK帧的格式如图2中的(c)所示,其中Frame control为帧控制字段,RevAddr字段和PreP字段分别表示当前PACK帧的接收节点(如图1中的S2节点)的地址和当前发送节点(如图1中的R节点)预约通信列表中剩余节点的个数。PACK帧由PP帧的接收节点(如图1中的R节点)侦听到PP帧后发出,用于确认PP帧的发送节点(如图1中的S2节点)的通信请求,同时该PACK帧可以告知拟向该PP帧的接收节点(如图1中的R节点)发送消息的其它发送节点(如图1中的S4节点),该接收节点(如图1中的R节点)预约通信列表中剩余待通信节点的个数。
5)PreP帧的格式如图2中的(d)所示,其中Frame control为帧控制字段,RevAddr字段,TrsAddr字段,RsvAddr字段分别表示本次通信的接收节点(如图1中的S1节点)的地址,发送节点(如图1中的S2节点或S3节点)的地址和拟预约的目标节点(如图1中的R节点)的地址,FCS为帧检验序列。PreP帧由其余待发节点(如图1中的S2、S3节点)侦听到P前导帧后发出,用于通知当前发送节点(S1节点),它(S2或S3节点)也要传输消息给同一个目标节点(R节点)。
6)Prp帧的格式如图2中的(e)所示,其中Frame control为帧控制字段,RevAddr字段,TrsAddr字段,RsvAddr字段以及PreP字段分别表示接收节点(如图1中的S2节点或S3节点)的地址,发送节点(如图1中的S1节点)的地址,拟预约的目标节点(如图1中的R节点)的地址以及接收节点(如图1中的S2节点)在拟预约的目标节点(如图1中的R节点)预约通信列表中的次序,FCS为帧检验序列。Prp帧由当前发送节点(S1节点)侦听到PreP帧后发出,既能作为给其余待发节点(S2、S3节点)的回复消息以通知给其余待发节点(S2、S3节点),该待发节点(S2或S3节点)在拟预约的目标节点(R节点)预约通信列表中的次序,又能作为前导帧发送给目标节点(R节点)以等待目标节点的唤醒。
7)PF帧的格式如图2中的(f)所示,其中Frame control为帧控制字段,RevAddr字段,TrsAddr字段,RsvAddr字段分别表示本次通信的接收节点(如图1中的S2节点)的地址,发送节点(如图1中的S1节点)的地址以及拟预约的目标节点(如图1中的R节点)的地址。Flag字段为消息冲突标志,FCS为帧检验序列。PF帧由当前发送节点(S1节点)发送完P前导帧后,侦听到信号冲突时发出,用于通知给其余待发节点(S2或S3节点)和接收节点(R节点)它们发送的帧产生了冲突。
实施例2:
如图3所示,在实施例1的基础上,现有无线传感器网络中的MAC协议比较适合于低负载网络环境中的数据传输,而对于高负载时节点内部消息队列的拥塞程度考虑较少。当接收节点(中继节点)内部缓存的数据比较多时,即拥塞情况比较严重时,容易导致数据溢出情况的发生,且增加了数据的排队延迟,降低了实时性。为此,本发明中的ALT-MAC协议提出了一种自适应传输机制,即让接收节点收到来自其它节点的数据包后,根据其内部消息队列的拥塞情况自适应地保持唤醒,然后直接向它的下一跳节点发送前导帧,以尽快地转发自己内部的消息,避免数据溢出情况的发生,以及减少数据延迟。
本发明中引入了节点内部消息队列长度参数L,同时还引入了一个阈值Lthd,用于让接收节点判断是否在接收完数据包后立即向它的下一跳节点发送前导帧。
当L>=Lthd时,表示当接收节点收到来自其它节点的数据后,此时它内部消息队列中缓存的数据较多,即拥塞情况比较严重,则接收节点需要保持唤醒且占用信道直接向它的下一跳节点发送一系列的P前导帧,等待其下一跳节点的唤醒,以尽快转发自己内部的数据。
当L<Lthd时,表示当接收节点在收到来自其它节点的数据后,此时它内部消息队列中缓存的数据较少,即拥塞情况一般,则接收节点可以立即睡眠,然后等到它下一个唤醒周期到来时再向它的下一跳节点转发消息。
ALT-MAC协议中节点的自适应传输过程如图3所示。当R节点接收完来自S1节点,S2节点以及S3节点的数据后,则立即判断其内部消息队列的拥塞情况,且当L>=Lthd时,R节点会保持唤醒且直接向它的下一跳节点发送P前导帧,以等待与它的下一跳节点建立握手,从而尽快地转发R节点内部的消息,避免数据溢出,以及减少数据延迟。
实施例3:
在实施例1和实施例2的基础上,在现有无线传感器网络中的MAC协议中,发送节点对于接收节点的状态考虑较少,容易出现接收节点已因能量耗尽或因其它不可抗力被严重破坏而失效时,发送节点仍向其发送前导帧的情况。这样不仅增加了发送节点的能耗,还浪费了信道资源。特别是随着网络的运行,失效节点逐渐增多时,会大大降低网络的通信效率。为此,本发明中的ALT-MAC协议提出了一种节点失效通知机制,即从发送节点方面,接收节点方面以及邻居节点方面进行一些相关操作,来有效避免以上这种情况的发生。
(1)发送节点获取的失效通知机制。若发送节点在本周期内发送前导帧的总时间已经大于接收节点的睡眠周期,但一直没有收到任何的回复消息时,则可能是因为接收节点出现机械故障正在进行Reset复位操作,而无法给发送节点回复消息。此时发送节点会立即停止发送前导帧,然后进入睡眠状态,等待下一个唤醒周期到来时继续向接收节点发送前导帧。但是当发送节点已在它的3个唤醒周期内向接收节点发送前导帧却仍没有收到回复时,则可能是因为接收节点已失效,因此发送节点把接收节点的地址添加到自己内部的节点失效表中。同时,发送节点会立即查看路由表中是否还有其它的接收节点,若有则选择向另一个接收节点传输消息。
(2)接收节点发送的失效通知机制。当接收节点内部的消息队列为空且电池能量即将消耗殆尽时(如图4所示),则接收节点会立即唤醒,且无论信道忙还是空闲,接收节点都会连续不间断的广播一个MTE帧,直到节点失效时为止。若其它节点唤醒后侦听到MTE帧时,则把MTE帧中节点的地址保存在自己内部的节点失效表中,且以后不再向此节点发送任何消息。其中,MTE帧的格式如图5中的(a)所示,该帧中包含了Frame control字段,InvAddr字段,Flag字段和FCS字段分别表示帧控制字段,即将失效节点的地址,节点失效标志和帧校验序列。MTE帧主要用于通知网络内的其它节点自己已失效。
(3)邻居节点发送的失效通知机制。在发送节点发送前导帧的过程中,若其它邻居节点唤醒且侦听到了前导帧(如图4所示),则邻居节点立即查看自己内部的节点失效表中是否包含前导帧中接收节点的地址,若包含则邻居节点会在侦听到前导帧后的第一个时间间隔内给发送节点发送一个NTE帧。当发送节点接收到该NTE帧时,则立即停止向接收节点发送前导帧,且把接收节点的地址保存到自己内部的节点失效表中。同时,发送节点会立即查看路由表中是否还有其它的接收节点,若有则选择向另一个接收节点传输消息。此外,当邻居节点发送完NTE帧后,不是立即睡眠而是继续侦听发送节点发送的新前导帧,以便查看自己是否为发送节点新选择的接收节点,若是则节点回复ACK帧,若否则节点立即进入睡眠状态。其中,NTE帧的格式如图5中的(b)所示,该帧中包含了Frame control字段,InvAddr字段,TrsAddr字段,Flag字段和FCS字段分别表示帧控制字段,失效节点地址,发送失效通知的节点的地址,节点失效标志和帧校验序列。NTE帧主要用于通知发送节点其接收节点已失效。
随着网络的运行,ALT-MAC协议比无线传感器网络中的其它MAC协议生存时间更长,在此以X-MAC协议为例进行对比,其原因主要包括以下几个方面:1)在X-MAC协议中,当接收节点完成当前通信后,则需要唤醒一段很长的时间以等待其余节点向其传输数据。但是当没有其余节点向接收节点传输消息时,则接收节点唤醒的这段时间是无效的。特别是当数据传输经过的跳数越多时,每一个中继节点都会浪费大量的能量,缩短了网络的生存时间。而本文中ALT-MAC协议通过预约通信机制,可以让接收节点在完成当前通信后按需进行唤醒等待,有效避免了节点的能耗,延长了网络生存时间。2)在X-MAC协议中,发送节点对于接收节点的状态考虑较少,容易出现接收节点已失效但发送节点仍向其发送前导帧的情况。这样不仅增加了发送节点的能耗,还浪费了信道资源。特别是随着网络的运行,失效节点逐渐增多时,会大大降低网络的通信效率。而本文中ALT-MAC协议通过节点失效通知机制,可以从发送节点方面,接收节点方面以及邻居节点方面进行一些相关操作,来有效避免这种情况的发生,减少了节点的额外能耗,从而进一步延长了网络生存时间。
在高负载环境下,ALT-MAC协议比比无线传感器网络中的其它MAC协议的吞吐量更高,在此以X-MAC协议为例进行对比,其原因主要包括以下几个方面:1)这是因为在X-MAC协议中,节点接收完数据消息后,需要等待下一个唤醒周期到来时才可以进行数据转发。特别是随着网络负载的增加,节点接收的消息会逐渐累积在其内部的消息缓冲队列中,而无法及时传输,且容易导致数据溢出情况的发生,降低了网络吞吐量。因此X-MAC协议比较适合于低负载网络环境中的数据传输。而本文中ALT-MAC协议通过自适应传输机制,让节点接收完消息后根据其内部消息队列的拥塞情况自适应地保持唤醒,然后直接向它的下一跳节点发送前导帧,以尽快地转发自己内部的消息,有效增加了高负载情况下网络的吞吐量。2)在网络遇到突发情况时,可能局部范围内监测到事件发生的多个节点都想要给一个节点传输数据,增加了网络负载。而ALT-MAC协议则可以让其余待发节点预约它们共同的接收节点,这样接收节点可以在它的一个周期内接收来自更多节点的消息,大大提高了网络吞吐量。
随着数据传输路径的增加,ALT-MAC协议比无线传感器网络中的其它MAC协议的延迟更低,在此以X-MAC协议为例进行对比,这是因为在X-MAC协议中,接收节点接收完数据后会先侦听一段时间以等待其它节点向其传输消息,若在此期间没有侦听到任何消息时,则节点立即进入睡眠状态。接收节点睡眠的这段时间为接收节点的睡眠延迟。当接收节点向它的下一跳节点转发数据时,还需要经历下一跳的节点的睡眠延迟。这样在数据的每一跳传输中,都需要经历来自两方面的睡眠延迟,降低了实时性。而在ALH-MAC协议中,接收节点接收完数据后会根据内部消息的拥塞情况而自适应地保持唤醒,然后可以直接向它的下一跳节点发送前导帧。这样在数据的每一跳传输中,由接收节点睡眠引起的延迟会大大降低。特别是当负载增大且传输路径较长时,ALH-MAC协议减少的数据传输延迟则更明显。
采用以上结合附图描述的本发明的实施例的低延迟高吞吐量的异步ALT-MAC协议的实现方法,用于在节点异步唤醒的情况下减少数据传输延迟,以及提高网络吞吐量。但本发明不局限于所描述的实施方式,在不脱离本发明的原理和精神的情况下这些对实施方式进行的变化、修改、替换和变形仍落入本发明的保护范围。
Claims (8)
1.一种低延迟高吞吐量的异步ALT-MAC协议的实现方法,其特征在于:所述的实现方法包括:
采用预约通信机制,通过让其余待发节点向当前发送节点传输控制帧,然后让当前发送节点把其余待发节点的地址添加到数据包中来预约它们共同的接收节点,从而让接收节点在完成当前通信后按需进行唤醒等待;
采用自适应传输机制,让接收节点收到来自其它节点的数据包后,根据其内部消息队列的拥塞情况自适应地保持唤醒,然后直接向它的下一跳节点发送前导帧,以尽快地转发自己内部的消息;
采用节点失效通知机制,通过发送节点获取失效通知、接收节点发送失效通知和邻居节点发送失效通知相结合的机制,提高网络的通信效率;
所述的节点进行预约通信的过程包括以下步骤:
S1:网络中的节点采用异步唤醒的方式,即节点按照自己的侦听/睡眠调度表进行侦听和睡眠,发送节点包括第一类发送节点、第二类发送节点和第三类发送节点;
S2:若第一类发送节点有数据要向目标节点进行传送,当第一类发送节点唤醒且侦听到信道空闲时,则发送一系列短的P前导帧,以便第一类发送节点一直获得信道占用权且等待目标节点的唤醒,同时第一类发送节点初始化其内部的PreP计数器为0;
S3:若第二类发送节点唤醒后侦听到了第一类发送节点发送的P前导帧,且发现帧中目标节点的地址与自己内部待发消息的目标节点地址相同时,则第二类发送节点在侦听到前导帧之后的第一个时间间隔内给第一类发送节点发送一个PreP帧,用于通知第一类发送节点它也要传输消息给目标节点,然后第二类发送节点将保持唤醒以等待第一类发送节点的回复消息;
S4:当第二类发送节点侦听到第一类发送节点回复的PrP帧时,则第二类发送节点根据PrP帧中PreP字段的值计算自己的随机退避时间并设置自己的NAV值,然后进入睡眠状态,直到NAV值减为0时唤醒;
S5:当目标节点由睡眠状态转入唤醒状态,侦听到第一类发送节点发送的P前导帧时,则立即回复一个ACK确认帧,以便与第一类发送节点建立握手,并初始化其内部的PreP计数器为0;
S6:第一类发送节点收到目标节点的ACK帧后,立即将添加有向第一类发送节点发送PreP帧节点地址的DATA帧传输给目标节点,且将第一类发送节点的PreP计数器清零;
S7:当目标节点收到第一类发送节点发送的DATA帧后,回复一个ACK帧给第一类发送节点进行接收确认,并且目标节点会把DATA帧中的数据消息放入自己内部的消息队列中,同时目标节点把DATA帧中其余待发节点的地址添加到目标节点内部的预约通信表中,并将其PreP计数器的值设置为预约通信节点的个数;
S8:当第一类发送节点与目标节点通信结束后,目标节点会保持唤醒一段时间,以等待第二类发送节点及其它待发节点向其传输消息;
S9:若第二类发送节点唤醒后侦听到信道此时正忙,则节点会持续保持侦听,若第二类发送节点唤醒后侦听到信道空闲,则第二类发送节点向目标节点发送PP帧;
S10:若第三类发送节点唤醒后侦听到第二类发送节点发送的PP帧,且发现帧中目标节点的地址与自己内部待发消息的目标节点地址相同时,则第三类发送节点在侦听到PP帧之后将保持唤醒以等待目标节点给第二类发送节点发送的回复消息。
2.根据权利要求1所述的低延迟高吞吐量的异步ALT-MAC协议的实现方法,其特征在于:所述的节点进行预约通信的过程还包括以下步骤:
S11:当目标节点接收到第二类发送节点发送给目标节点的PP帧时,将其PreP计数器的值减1,并将该第二类发送节点从目标节点内部的预约通信表中删除,并回复一个PACK帧给第二类发送节点,以便与第二类发送节点建立握手,同时该PACK帧告知拟向该目标节点发送消息的其它发送节点,该目标节点预约通信列表中剩余待通信节点的个数;
S12:第三类发送节点侦听到目标节点给第二类发送节点发送的PACK帧后,根据帧中的PreP值计算自己的随机退避时间并设置自己的NAV值,然后进入睡眠状态,直到NAV值减为0时唤醒;
S13:若第二类发送节点向目标节点发送一系列的PP帧,但一直没有收到目标节点的PACK回复帧时,则第二类发送节点根据节点失效通知机制判断目标节点是否已失效,并进行相应地操作;
S14:第二类发送节点收到目标节点的PACK帧后,向目标节点传输DATA帧;
S15:目标节点接收到来自第二类发送节点的DATA帧后,回复一个ACK帧给第二类发送节点进行接收确认;
S16:目标节点与第二类发送节点通信完毕后,目标节点查看自己节点内部的预约通信表是否还有其它预约通信的节点,若有,则继续处于唤醒状态,以等待预约通信列表中的待发节点向其传输消息,若预约通信表空,则目标节点会继续唤醒一段时间,等待其它未在预约通信列表中的待发节点向其传输消息;
S17:目标节点在接收完来自预约通信表中其它节点的消息后,若在继续唤醒的时间内没有收到其它未在预约通信列表中的待发节点发送的消息时,则目标节点会根据自适应传输机制向它的下一跳节点传输消息;
S18:若第三类发送节点唤醒后侦听到信道此时正忙,则节点会持续保持侦听,若第三类发送节点唤醒后侦听到信道空闲,则第三类发送节点向目标节点发送PP帧,其后第三类发送节点与目标节点的通信过程同第二类发送节点与目标节点的通信过程。
3.根据权利要求1所述的低延迟高吞吐量的异步ALT-MAC协议的实现方法,其特征在于:所述的当第一类发送节点侦听到来自第二类发送节点的PreP帧后,包括以下步骤:
S21:第一类发送节点将自己内部的PreP计数器加1,PreP计数器记录了想要给目标节点传输消息的其余待发节点的数量,PreP的当前值记录了待发节点是第几个给第一类发送节点发送Prep帧的节点;
S22:第一类发送节点发送一个PrP帧,既能作为给第二类发送节点的回复消息以通知给第二类发送节点它在预约通信列表中的次序,又能作为前导帧发送给目标节点以等待目标节点的唤醒;
S23:第二类发送节点根据接收的PrP帧中返回的计数器的值为自己计算一个随机退避时间,以让第二类发送节点在第一类发送节点与目标节点通信时先进入睡眠状态,节省能耗;
S24:第一类发送节点把第二类发送节点以及其余向第一类发送节点发送PreP帧的节点的地址添加在DATA帧中;
其中,第二类发送节点以及其它待发送节点计算随机退避时间的公式如下所示:
BackTime=INT(random()*SleepTime)+i*durDATA
其中INT表示取整数,random()表示(0,1)之间的一个随机小数,SleepTime表示节点的睡眠周期长度,i表示第二类发送节点以及其它待发送节点收到的PrP帧或PACK帧中PreP字段的值,durDATA表示传输一个DATA帧的时间。
4.根据权利要求1所述的低延迟高吞吐量的异步ALT-MAC协议的实现方法,其特征在于:所述的预约通信机制中控制帧包括:P前导帧,PP帧,ACK帧,PACK帧,PreP帧,PrP帧以及PF帧。
5.根据权利要求1所述的低延迟高吞吐量的异步ALT-MAC协议的实现方法,其特征在于:所述的自适应传输机制具体包括以下步骤:
S31:当L>=Lthd时,表示当接收节点收到来自其它节点的数据后,此时它内部消息队列中缓存的数据较多,即拥塞情况比较严重,则接收节点需要保持唤醒且占用信道直接向它的下一跳节点发送一系列的P前导帧,等待其下一跳节点的唤醒,以尽快转发自己内部的数据;
S32:当L<Lthd时,表示当接收节点在收到来自其它节点的数据后,此时它内部消息队列中缓存的数据较少,即拥塞情况一般,则接收节点立即睡眠,然后等到它下一个唤醒周期到来时再向它的下一跳节点转发消息;
其中:L为节点内部消息队列长度参数,Lthd为让接收节点判断是否在接收完数据包后立即向它的下一跳节点发送前导帧的阈值。
6.根据权利要求1所述的低延迟高吞吐量的异步ALT-MAC协议的实现方法,其特征在于:所述的发送节点获取失效通知的机制包括:若发送节点在本周期内发送前导帧的总时间已经大于接收节点的睡眠周期,但一直没有收到任何的回复消息时,此时发送节点会立即停止发送前导帧,然后进入睡眠状态,等待下一个唤醒周期到来时继续向接收节点发送前导帧;当发送节点已在它的3个唤醒周期内向接收节点发送前导帧却仍没有收到回复时,发送节点把接收节点的地址添加到自己内部的节点失效表中,同时,发送节点会立即查看路由表中是否还有其它的接收节点,若有则选择向另一个接收节点传输消息。
7.根据权利要求1所述的低延迟高吞吐量的异步ALT-MAC协议的实现方法,其特征在于:所述的接收节点发送失效通知的机制包括:当接收节点内部的消息队列为空且电池能量即将消耗殆尽时,则接收节点会立即唤醒,且无论信道忙还是空闲,接收节点都会连续不间断的广播一个MTE帧,直到节点失效时为止;若其它节点唤醒后侦听到MTE帧时,则把MTE帧中节点的地址保存在自己内部的节点失效表中,且以后不再向此节点发送任何消息。
8.根据权利要求1所述的低延迟高吞吐量的异步ALT-MAC协议的实现方法,其特征在于:所述的邻居节点发送失效通知的机制包括:在发送节点发送前导帧的过程中,若其它邻居节点唤醒且侦听到了前导帧,则邻居节点立即查看自己内部的节点失效表中是否包含前导帧中接收节点的地址,若包含则邻居节点会在侦听到前导帧后的第一个时间间隔内给发送节点发送一个NTE帧;当发送节点接收到该NTE帧时,则立即停止向接收节点发送前导帧,且把接收节点的地址保存到自己内部的节点失效表中;同时,发送节点会立即查看路由表中是否还有其它的接收节点,若有则选择向另一个接收节点传输消息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910510339.9A CN110290121B (zh) | 2019-06-13 | 2019-06-13 | 低延迟高吞吐量的异步alt-mac协议的实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910510339.9A CN110290121B (zh) | 2019-06-13 | 2019-06-13 | 低延迟高吞吐量的异步alt-mac协议的实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110290121A CN110290121A (zh) | 2019-09-27 |
CN110290121B true CN110290121B (zh) | 2021-10-08 |
Family
ID=68004296
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910510339.9A Active CN110290121B (zh) | 2019-06-13 | 2019-06-13 | 低延迟高吞吐量的异步alt-mac协议的实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110290121B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102695287A (zh) * | 2012-06-20 | 2012-09-26 | 电子科技大学 | 一种vanet媒体接入控制方法 |
CN104202803A (zh) * | 2014-08-30 | 2014-12-10 | 北方工业大学 | 一种基于无线传感器网络的节能mac协议通信方法 |
CN106658735A (zh) * | 2017-01-12 | 2017-05-10 | 西安电子科技大学 | 基于tdma的长传播时延无线链路时隙分配方法 |
CN109413706A (zh) * | 2018-12-10 | 2019-03-01 | 曲阜师范大学 | 预约多跳节点的同步rm-mac协议的实现方法 |
-
2019
- 2019-06-13 CN CN201910510339.9A patent/CN110290121B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102695287A (zh) * | 2012-06-20 | 2012-09-26 | 电子科技大学 | 一种vanet媒体接入控制方法 |
CN104202803A (zh) * | 2014-08-30 | 2014-12-10 | 北方工业大学 | 一种基于无线传感器网络的节能mac协议通信方法 |
CN106658735A (zh) * | 2017-01-12 | 2017-05-10 | 西安电子科技大学 | 基于tdma的长传播时延无线链路时隙分配方法 |
CN109413706A (zh) * | 2018-12-10 | 2019-03-01 | 曲阜师范大学 | 预约多跳节点的同步rm-mac协议的实现方法 |
Non-Patent Citations (2)
Title |
---|
"DW-MAC:A Low Latency, Energy Efficient Demand-Wakeup MAC Protocol for Wireless Sensor Networks";Yanjun Sun.et;《ACM》;20080530;全文 * |
"RMAC:A routing-enhanced duty-cycle MAC protocol for wireless sensor networks";Amit Kumar Saha.et;《Proceedings-IEEE INFOCOM》;20070731;第I-II节 * |
Also Published As
Publication number | Publication date |
---|---|
CN110290121A (zh) | 2019-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106604346B (zh) | 无线传感器网络能量有效机会路由的实现方法 | |
KR101042600B1 (ko) | 반―선형 센서 네트워크에서 저전력 매체 접근 제어 방법 | |
KR101582523B1 (ko) | 인체 영역 네트워크들에 대한 매체 액세스 제어(mac) 프로토콜들에서의 듀티 사이클링 기술들 | |
CN103906207B (zh) | 基于自适应按需唤醒技术的无线传感器网络数据传输方法 | |
Roy et al. | Energy saving in MAC layer of wireless sensor networks: a survey | |
Wang et al. | Ds-mac: An energy efficient demand sleep mac protocol with low latency for wireless sensor networks | |
KR20110114868A (ko) | 환경 에너지 획득 기반 센서네트워크를 위한 저전력 mac 통신 방법 | |
Verma et al. | Survey of MAC protocol for wireless sensor networks | |
Khan et al. | Collision Free Mobility Adaptive (CFMA) MAC for wireless sensor networks | |
Wang et al. | DPS-MAC: An asynchronous MAC protocol for wireless sensor networks | |
Dong et al. | A prediction-based asynchronous MAC protocol for heavy traffic load in wireless sensor networks | |
Crenshaw et al. | A robust implicit access protocol for real-time wireless collaboration | |
CN110290121B (zh) | 低延迟高吞吐量的异步alt-mac协议的实现方法 | |
Kazmi et al. | Recent MAC protocols for mobility-aware wireless sensor networks—a survey and future directions | |
CN109413706B (zh) | 预约多跳节点的同步rm-mac协议的实现方法 | |
Ray et al. | A review on energy efficient MAC protocols for wireless LANs | |
CN105939537B (zh) | 降低数据传输时延的无线传感器节点模块、系统及方法 | |
CN102917467B (zh) | 无线传感器网络的异步预约信道接入方法 | |
Nait-Abdesselam et al. | O-MAC: An Organized Energy-aware MAC Protocol for wireless sensor networks | |
Yang et al. | RW-MAC: An asynchronous receiver-initiated ultra low power MAC protocol for Wireless Sensor Networks | |
Girling et al. | The pen low power protocol stack | |
Meghan et al. | A comparative study of medium access control protocols for wireless sensor networks | |
Rashwand et al. | A novel asynchronous, energy efficient, low transmission delay MAC protocol for wireless sensor networks | |
Pak et al. | A MAC protocol using separate wakeup slots for sensor network | |
Khan et al. | Mobility adaptive energy efficient and low latency MAC for wireless sensor networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 276826 No. 80, Yantai, Rizhao City, Donggang District, Shandong Applicant after: qufu normal university Address before: 273100, No. 57, Xuan Xuan West Road, Qufu, Shandong, Jining Applicant before: qufu normal university |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |