用于多站网络的隐式肯定应答数据传输协议的制作方法

文档序号:7950187阅读:242来源:国知局
专利名称:用于多站网络的隐式肯定应答数据传输协议的制作方法
技术领域
本发明涉及一种运行在国际专利No.WO 96/19887和WO98/56140所述的通用类型的多站通信网络中的方法。具体地,本发明涉及此网络所使用的一种数据传输协议。
背景技术
用户可商业性地利用上述提到的类型的网络,其中该用户作为向其网络使用付费的订户。可选地,可由诸如警察或军队的安全力量利用这种类型的网络。
对于提到类型的网络的进一步应用是在无线局域网(WLAN)中,其中无线网络可与传统的网络结构结合,以便为固定以及移动网络的用户提供服务。这样的网络通常但不必是计算机网络。

发明内容
根据本发明,提供了一种操作包括多个站的通信网络的方法,其中每个站能够发送和接收数据,以便网络可通过根据机会选择的至少一个中间站将消息从源站发送到目的站,此方法包括从每个站发送探测信号,从探测站接收探测信号的其它站直接作出响应或间接地通过其它站作出响应,以便向探测站指示其作为目的或中间站的可用性;从具有待发送数据的站,向其它可用站发送包括请求发送消息的探测信号,该请求发送消息指示将数据发送到特定目的站的需要,并包括与之前所接收到的、用于由具有待发送数据的站转发的数据相关的识别信息;从具有待发送数据的所述站,根据机会发送数据以到达站,以便转发给所述目的站;以及从接收用于转发的所述数据的站,发送包括请求发送消息的另一个探测信号,该请求发送消息包括与所述数据相关的识别信息,从而向具有待发送数据的站以及其它可用站提供对接收数据的隐式肯定应答。
由于多个站已接收了用于转发的数据,在来自转发该数据的站的另一个探测信号中的请求发送的传输,将向接收到该信号的所有其它站(包括发送该信号的站)会发送数据接收的隐式肯定应答。这将防止过多的站前向发送对该数据的复制。这是一种限制洪泛(flood)处理,因为将数据发送(至少可能地)到多个站,多个站都发送其自身包括请求发送消息的探测信号,并将数据前向发送到另外的多个站。请求发送消息的使用限制了洪泛作用。
优选地,当具有待发送数据的站发送包括请求发送消息的所述探测信号时,只有比还具有待发送数据的站具有较低目的成本(cost todestination)的站,才对所述探测信号作出响应,以指示其作为目的或中间站的可用性。
因此,按需将待发送数据从站发送到站,每个另外的站具有比前一个站更低的目的成本。
如果具有较高目的成本的站从具有较低目的成本的另一个站处获悉关于同一数据的请求发送消息,则将此数据处理为已肯定应答。
因此,将数据从源站转发到目的站的站不需要向数据的源站发送专用的肯定应答消息。相反,通过在探测信号的自身请求发送消息中包括与所接收到的数据相关的信息,站转发对数据接收的数据隐式肯定应答,其中作为识别附近的可用站的处理的一部分来发送该探测信号并特别由发送该数据的站接收。
此方法在包括多个客户站以及一个或多个网关的网络中具有特定应用,该网关被布置用作到客户站网络的接入点。
这样的网络可包括多个种子站(seed station),客户站可与该种子站通信,多个种子站扩展了客户站的有效连接范围,此外,该网络还可包括用于监控客户站的至少一个订户网络管理器。
典型地,从源站发送的消息数据包括多个数据分组。
该方法可包括在每个站处选择与一个或多个数据信道不同的探测信道,以便用于将探测信号发送到其它站。
请求发送消息可包括诸如高优先级消息数据的消息数据,因此站可通过在探测信道上传输探测信号的机制以有效地通信高优先级的信息,而不必在数据信道上传输数据。
优选地,包括在请求发送消息中的消息数据包括与此方法的其它数据传输中的数据量相比相对小或相对有限的数据量。
此选项加速了通信处理,这是因为它可发生在探测信道上。这有益于需要很快地经过网络的少量高优先级数据,因为它避免了信道变化的延迟。
由接收用于转发的所述数据的站所发送的请求发送消息可包括伪信息,其中接收站没有需要请求发送消息的待发送消息数据,由此向具有待发送数据的站提供了对于接收数据的隐式肯定应答。
此方法可包括从已接收到消息的所有数据分组的每个目的站向源站发送端到端肯定应答,该端到端肯定应答包括在请求发送消息中。
每个源站优选地保留消息的所有数据分组,直到源站从目的站接收到端到端肯定应答。
此外,每个目的站可保留消息的所有数据分组,直到目的站向源站发送了端到端肯定应答。
优选地,具有待发送数据的每个站都保留至少一个数据分组,直到具有待发送数据的站已将所述至少一个数据分组发送到接收站,并且直到接收站通过发送请求发送消息来确认对所发送的数据分组的成功接收,该请求发送消息包含与所述发送数据分组相关的信息。
当站具有大量待发送数据时,可发送请求发送消息,以请求可用站发送清除发送消息,从而通知具有待发送数据的站存在准备好接收该传输的站,具有待发送数据的站以及发送清除发送消息的站切换到用于数据传输的数据信道。
在上述情况下,所述请求发送消息可包括限制其它站返回清除发送消息的需要的数据专用标准。
例如,该标准可包括一个或多个被允许响应的一列站,以及只响应接收所述请求发送消息的站的需要,被响应的站具有比具有待发送数据的站更低的目的成本。
本发明扩展成包括多个站的通信网络,其中每个站能够发送并接收数据,这样此网络可通过根据机会选择的至少一个中间站从源站向目的站发送消息,其中,网络中的每个站适配于发送探测信号,从探测站接收探测信号的其它站直接作出响应或间接地通过其它站,以向探测站指示其作为目的或中间站的可用性;当站具有待发送数据时,向其它可用站发送包括请求发送消息的探测信息,此请求发送消息指示了向特定目的站发送数据的需要,并包括与之前所接收到的、用于由具有待发送数据的站转发的数据相关的识别信息;根据机会发送所述数据以到达可用站,此可用站用于将该数据转发到所述目的站;以及在站接收到用于转发的数据时,发送另一个包括请求发送消息的探测信息,请求发送消息包括与所述数据相关的识别信息,由此向具有待发送数据的站以及其它可用站提供对接收数据的隐式肯定应答。


图1是示出了利用本发明的方法及系统的WLAN网络的总体系统框图;图2是用于图1的网络的客户站的示意方框图;图3是用于图2的站的单一码片收发机的详细示意图;图4是图1的网络的系统级结构的示意图;图5是本发明的网络的示意图,其中站通过中间站相互通信;图6是示出了由网络用于聚集邻近站的慢探测方法的简化示意图;以及图7是示出了由网络用于在站之间保持成本梯度的快探测方法的简化示意图。
具体实施例方式
本发明涉及一种运行在国际专利No.WO 96/19887以及WO98/56140所述类型的多站通信网络中的方法,该方法的内容一并在此作为参考。简要地,这种网络的基本操作如下所示。
多站网络包括多个独立的站,这些站可以是固定或移动的,其中每个站可发送和接收数据,以便根据机会(opportunistically)通过中间站将消息从源站发送到目的站。为了使一个位置的源站通过几个可能中间站中的选定一个将新消息发送到目的站,每个站通常必须随时与几个其它站联系。这还应用到需要站将来自源站的消息中继到目的站的情况。
为此,每个站选择多个可能探测信道中的一个来将探测信号发送到其它站。探测信号包括用于识别正在讨论(in question)的站的数据,并包括到其它站的连通性的细节。接收探测信号的其它站直接对探测站作出响应,或间接地通过中间站作出响应,从而向探测站和其它站指示其作为目的或中间站的可用性。探测站对直接或间接的响应做出评估,以识别能够利用其进行最优通信的其它站。
具体地,网络的站可监控到达其它站所需的累积功率,从而定义了到其它站的功率梯度,站通过源站和目的站之间最优化了功率梯度的网络来选择路线。这使数据吞吐量能够通过网络来最大化,在站之间具有最小干扰以及竞争。
网络中的每个站包括能够从范围内的任意其它站接收数据以及将数据发送到范围内的任意其它站的收发机。此网络可以是如上面提到的国际专利申请中所描述的分组无线网络,应理解,本发明可应用于其它网络,其中的用户站可通过此网络中的中间站相互通信。
这里,将上面所述网络的站之间的机会数据传输的方法称作机会驱动多址接入(ODMA)。
现在参考基于802.11b标准的WLAN系统来描述本发明的实施例。这种WLAN设置的示例如图1的示意框图所示。
在图1中,第一和第二网关10和12各用作针对多个订户单元或客户设备14(下文中通常客户站)的网络接入点。典型地,这个实施例中的客户站包括使用ODMA技术可直接、或通过其它客户设备间接地与各自的网关10和12进行通信的无线网卡。此外,多个种子站16(典型为无线路由器),在战略上被布置在网关10和12附近。具体地,在恶劣环境或具有低密度客户站的环境下,种子站有效地通过扩展客户站的连接范围来扩展网络的覆盖范围和吞吐量。
如图1所示,ODMA协议可在无线链路、诸如局域网的有线网络以及无线回传或光纤链路18和20上进行操作,以便在客户站和种子站之间根据机会来中继数据。从站到站的中继可包括通过所示无线回传的有线跳和无线跳。
网络根据机会将消息从订户无线路由到订户(客户站到客户站),并通过种子站进入网关,然后通过点到点链路进入光纤,从而进入另一个区域。
这样,通过各种类型的网络来使用ODMA的国内和国际网络,可允许消息从任意网络用户传送到世界任意部分的任意其它用户。此网络自动为消息分组找到最佳路径,以遵循并提供负载平衡以及通过网络找到可选路径来恢复已断开的链路。ODMA网络中的所有单元具有唯一的地址,称为SID(系统ID)。
订户网络管理器22检测网络中各种站的健康状态,并管理网络的安全和计费。
在上面所描述的示例中,按照上述国际专利申请中所描述的方式,客户站可与网关10和12直接通过种子站16通信,或者通过一个或多个中间客户站通信。此外,客户站可立即与其它相似的设备形成对等网络。
在这种网络中使用机会多跳路由改善了网络的鲁棒性,因为客户站在当其网关失败时可跳到可选网关,并倾向于消除瓶颈以及提高总体网络性能。在传统的802.11b系统中,此范围倾向于被显著减小,典型减少到小于100米。为了增加远距离客户站的会聚,必须降低数据速率。接着,低数据速率的使用使客户站在数据信道停留更久,因此使WLAN的所有客户站的吞吐量遭受损害。机会多跳路由的使用解决了这个问题,因为即使是远距离的客户站也能以最高数据速率通过种子站和相邻的客户站使用多跳,来将数据发送到目的站,从而避免了网络拥塞。信道以及功率调节的最优使用减少了竞争,并最优化了提供给用户的吞吐量。
图2示出了形成802.11 WLAN的一部分的客户站的示意方框图。该客户站包括内嵌了ARM940TRISC的三星S3C2500微处理器。该客户站还提供了10/100Mbps以太网控制器、存储控制器、I2C以及与LAN芯片、SIM卡读取器以及ZD1201基带处理器进行通信的GPI0s。S3C2500芯片装配有32Mbit Flash和128Mbit SDRAM存储器。
该站包括高度集成的ZD1201 WLAN组合芯片42,芯片42使用高速DSP硬件逻辑来执行802.11和802.11b基带调制和解调。为符合由IEEE 802.11组所定义的未来MAC标准,在ZD1201芯片中内嵌了ARM7 RISC处理器。这允许通过简单地更新软件驱动程序来使用最新WLAN特性。
该客户站包括完成集成到单一IC RF收发机44的SA2400,收发机44被设计用于2.45GHz的无线LAN(WLAN)的应用。它是在高级30GHz fT BiCMOS工艺基础上制作的直接转换无线电结构。SA2400A将接收机、发送机以及LO发生器组合到单一IC。接收机包括低噪声放大器、下变换混频器、完全集成的信道滤波器、以及具有芯片上闭环的自动增益控制器(AGC)。发送机包括功率波动(ramping)、滤波器、上变换、以及预驱动器。LO发生器由完全芯片上VCO以及小数N频率合成器形成。接收机的典型系统性能参数为93dB的增益、7.5dB的噪声系数、+1dBm的输入三阶交调截取点(IIP3)、8ms的AGC稳定时间、3ms的发送到接收的切换时间。发送机典型的系统性能参数是1dB步长的-7dBm到+8dBm的输出功率范围、-40dBc的校准后的载波泄漏、22dB的边带抑制、30dB的带内共模抑制、以及3ms的发送到接收的切换时间。
该站包括AP1091线性形式的功率放大级,在2.4GHz波段上具有高输出功率的两级功率放大器46。该站根据IEEE 802.11b标准产生26dBm的线性输出功率。该功率放大器还包括芯片上功率检测器,用于提供与该站的输出功率成比例的DC电压。
该站还包括DC-3GHz SPDTRF开关48,此开关48具有低插入损耗以及具有非常低DC功率消耗的正电压操作。
靠近天线54和56的第一RF开关52提供了选择用于发送或接收的天线的能力。从所选择的天线,将所接收的输入施加到2.45GHz的带通滤波器50。此滤波器抑制了2.45GHz ISM的带外干扰。靠近2.45GHz带通滤波器的第二RF开关59提供了TX/RX切换。此开关在处于接收模式时引导信号进入SA2400的LNA部分。接着,使用正交下变频器将信号下混频到基带,成为I和Q分量。最后,信号到达ZD1201的ADC。基带电路对波形进行采样,然后对所接收到的数据进行解扩以及解调。
在发送链路上,可以对数据进行DBPSK、DQPSK或CCK调制,从而产生具有I和Q分量的基带正交信号。然后,信号到达上变频混频器的输入端,以变换到2.4-2.5GHz的波段。SA2400在高功率模式或低功率模式下操作,以覆盖高输出功率范围。当在高功率模式下操作时,选择TX_OUT_LO,并进入AP1091放大器,以提供高输出功率。在低功率模式下操作时,选择TX_OUT_HI,并且信号直接经过RF开关。注意,TX AGC功能是由ZD1201基带处理器42提供的。
SA2400收发机的内部电路如图3中更详细的示意框图所示。
图4示出了图1的网络的系统级结构。该系统主要包括订户单元或用户(客户设备或站)、种子站、以及将客户站连接到WAN的网关。客户站可直接通过在其间中继消息或通过种子站来相互通信。如果用户想要访问诸如因特网的其它网络,则可通过网关将消息中继到WAN,然后通过路由网络进入其它网络。网关用作从客户站和种子站所使用的ODMA协议到诸如TCP/IP的其它协议的转译器。
现在,参考图5到图9的示意图,对上面所述网络的操作进行描述。
在图5中,源站A能够与五个“邻近的”站B到站F通信,并通过中间站B、I和M将数据发送到目的站O。站A到站M以及站O通常为用户站,此用户站包括上面所描述的客户站,但有些可能是例如种子站。
在站需要发送或接收消息的情况下,为了使网络的效率最大化,希望每个站都应具有多个可与其通信的“相邻”站。另一方面,如果给定站正在向所选择的相邻站发送数据,希望此传输应对其它站的干扰最小,否则所产生的站之间的竞争将减少网络的数据吞吐量。
考虑到上面的问题,该网络试图调整每个站的操作,使得该网络可以随时以最高可能数据速率但最低可能传输功率,向多个相邻站发送数据,或从多个相邻站接收数据,从而减少了与其它站的干扰。
所讨论类型的通信网络包括试图在同一信道集合上进行通信的多个站。这些信道可以被定义为具有不同频率、不同介质、不同代码(例如,不同扩频码)、不同天线、不同时隙等,或者这些的任意组合。为了最优化重用信道,站设法保持有限数量的中间相邻站,典型为5个相邻站。将相邻站定义为可与给定站进行通信的另一个站。
站可通过改变其传输频率、改变代码(PN序列)、提高其数据速率、以及降低其传输功率来限制此站可看到的或可看到此站的相邻站的数量。所有站聚集到预定的探测信道,这些站将在该探测信道上使用探测信号来找到可与其通信的其它站。一旦找到另一个站,并且这些站没有数据要发送到其它站,则这些站可移动到较少使用的数据信道。
本发明的方法使用两种类型的探测过程“慢探测”和“快探测”。由本申请人提出、标题为“Probing Method for Multi-Station Network”的美国专利No.60/531,309这些探测系统进行了详细描述,其内容一并在此作为参考。然而,为了完整性,重复以下信息。
由每个网络站使用慢探测过程来聚集相邻站,而快探测过程则用于构造源和目的站之间的梯度。
首先处理慢探测过程,在非常接近的相邻距离内存在多个站时,慢探测过程以较高的数据速率和较低的传输功率进行探测。站偶尔响应以低数据速率进行探测或没有足够的相邻站的站,来帮助任意不能使用较高数据速率或不具有足够相邻站的单独(远距离的)站(在下文中也指单独相邻站)的站。当站单独存在并且不能以较高速率和最大功率找到足够的相邻站时,则只使用较低的数据速率。
每个站以规则的时间间隔(由慢探测定时器确定)发送慢探测信号,以设法找到其它的站。站在其慢探测中指示了能够检测其它站的探测,并且按照这种方式,站将改变其探测的功率,直至特定预定数量的站指示其能够检测到该探测。如果站从未获得需要数量的相邻站,则此站保持最低数据速率以及最大发送功率。
每个站将随机地稍微改变慢探测信号传输之间的慢探测定时器,以避免与其它站的冲突。任意站在开始接收其它站的传输时,将重新加载具有新的时间间隔的慢探测定时器。
在移动站的网络中,站经常地移动,并且同样相邻站数也经常改变。如果相邻站数超过所需要的数量,站开始增大其在探测信道上的数据速率。站继续增大其数据速率,直至不再超过所需的相邻站数。如果站达到最大数据速率,则该站以10dB的增量开始降低其慢探测发送功率,直至到达最小发送功率,或不再超过所需要的相邻站数。
当站在探测信道上应答另一个站的慢探测时,该站将其数据分组的长度限制为慢探测定时器的间隔。这是为了避免其它站基于该应答进行探测。如果正在应答的站具有比小分组中所能容纳的数据多的数据要发送,则在分组的报头中指示其它站必须移到专用数据信道。
可存在为每个探测信道所定义的多个数据信道。请求变化的站将随机地选择可用数据信道之一。(当其它站接收到请求时,将立刻变到该数据信道,其中两个站将在数据信道上继续通信,直到两个站都没有数据要发送,或如果在数据信道中保持的最大时间计满(由数据定时器设置))。还可使用可选的数据传输协议。
当站改变到数据信道时,加载数据定时器。只要数据定时器允许,该站就保持在数据信道。当数据定时器计满时,站回到探测信道,并再次开始探测。
图6的示意图示出了本发明的慢探测过程。
此慢探测过程由三个基本功能组成1.相邻站收集2.功率获悉3.相邻站渐变(ramping)
相邻站收集的过程包括站以不断增大的功率电平进行探测,直到相邻站在其自身探测中指示其正在检测第一站的探测。这被称为相邻站收集。增大探测的功率,直到预定数量的相邻站指示其正在检测该探测。
所有的探测站增加和减少其探测功率,直至所有的站都收集到预定数量的相邻站。这个过程包括增加和减少探测的功率电平;在探测中指示获悉了哪个其它站的探测。按照这种方式,所有站可获悉其到达各个相邻站所需的功率电平。当每一次站进行探测时,它就指示其发送功率和固有噪声及其具有的相邻站。当每一次站获悉另一个站在进行探测时,根据探测计算路径损耗以及到达该站所需的功率,以及从该站的路径损耗得到固有噪声。将到相邻站的路径损耗以及需要用以到达相邻站的固有噪声存储在每个站所保存的表中,将该表称为相邻站表。如果不再获悉相邻站,则表中的路径损耗和到达该站所需的功率电平减少或“渐变(ramped)”,直到达到一定的电平,在该点将相邻站从相邻站表中移除。
将在以下示例中对本发明的慢探测过程进行更详细的描述慢探测参数最小探测功率(PPmin)最大探测功率(PPmax)探测功率步长(PPstep)探测间隔(Pint)探测间隔标准偏移(Psdev)每功率步长的探测间隔(nPPs)相邻站超时间隔(TNint)靠近的相邻站超时间隔(TCNint)(TCNint<TNint)待聚集的靠近相邻站数(nNbrs)一个探测中所包括的最大相邻站数(nPNbrs)站固有噪声(Nfloor)损耗渐变时间(tinc)
损耗渐变增量(Linc)(dB)损耗渐变余量(Lex)(dB)消息类型ProbeProbe Ack定义相邻站发送在本站可看到的Probe或Probe Ack的站。
靠近的相邻站发送包括本站ID的Probe的相邻站。
协议(对于每个站)以规则的时间间隔(Pint+/-Psdev),每个站发送一个Probe。最初以功率PPmin发送。在每个nPPs间隔,以PPstep增加功率,直到发现至少nNbrs个靠近的相邻站(已由其Probe消息中的站ID所响应)或功率达到PPmax(在这个阶段,以该功率电平继续Probe发送)。如果多于nNbrs个靠近相邻站可见,则开始向下渐变功率。
Probe包括以下信息a.本站的固有噪声(Nfloor)。
b.探测消息的传输功率。
c.本站的所有相邻站数(当前不使用)。
d.本站的所有靠近的相邻站数。
e.最靠近的nPNbrs个(或更少)相邻站(或可能可能是所有的相邻站-可选)。
(相邻站的靠近基于该相邻站的最终Probe消息的接收功率)当不探测时,站监听来自其它站的Probe(或Probe Acks)。当监听到另一个站的Probe时,Probe消息中的发送功率信息被用于确定到该站的路径损耗。然后,将固有噪声信息用于确定发送消息到该站所需的最小发送功率以及适当更新的相邻站表。
如果监听到一个站(a)正在以PPmax的功率发送其Probe,(b)声称具有比nNbrs少的靠近相邻站,(c)并非本站的靠近相邻站之一以及(d)本站可与其进行通信,则,该远程站被认为是“单独相邻站”。在这种情况下,立即(+/-Psdev)以远程站可监听到该消息的合适功率发送Probe Ack消息。
Probe Ack包括以下信息a.本站的固有噪声b.此Probe Ack消息的发送功率c.“单独相邻站”的站ID如果本站监听到包括本站ID的Probe Ack消息,则正在发送的站被标记为靠近相邻站。
如果在时间tinc之后没有更新(由该相邻站的probe)相邻站表条目,则将Linc添加到条目中的报告损失。以间隔tinc重复这个(将Linc加到条目中的报告损失),或由Probe更新该条目,或直到通过使用报告损失,使到达相邻站所需的发送功率超过最大允许功率LexdB。在后一种情况下,将损耗设置为无穷大。
如果损耗是无穷大的,并且在包括相邻站的梯度表中不存在条目,则应删除相邻站表条目。
如果在TNint内没有从相邻站监听到Probe/Probe Ack,则丢弃此相邻站。如果在TCNint内没有从靠近相邻站监听到Probe/Probe Ack,则将靠近相邻站恢复成相邻站状态。
可根据到达相邻站所需的发送功率来计算到特定相邻站的成本。
例如,小于-10dB=Cost1小于0dB=Cost2小于10dB=Cost3小于17dB=Cost4
此成本是到达相邻站所需功率的指示。所需功率越大,则干扰越大,并且在功率(电池)消耗等方面的成本更高。
如果将多跳的所有成本加在一起,则全部成本是所要使用的功率量或所产生的干扰量的指示,如果有一个消息紧接在这些跳之后。
慢探测生成了到达相邻站所需功率的指示。
如果站具有不以其相邻站之一为目的的消息,例如该网络另一端的远程站,则此站开始发送快探测信号以获得关于如何达到目的的信息。此信息被称作是梯度,并且是到达目的的累积成本的指示。当站开始快探测时,指示正在寻找目的,并且监听到该快探测的相邻站快速探测其自身,直到目的站获悉其相邻站的快探测。然后,通过增加累积成本来建立梯度,直到梯度到达源,并且源可以开始向对目的站具有较低梯度的相邻站发送消息,然后相邻站将其发送到它自己的相邻站,直至达到目的站。构造了从目的到源以及从源到目的的梯度。图7中简明地示出了此快探测过程。
每个站保持对到其每一个相邻站的每个目的站以及来自其每一个相邻站的每个目的站的梯度(累积成本)及其自身到所述目的站以及来自所述目的站的梯度的记录。每个站只将消息传送到具有较低目的站累积成本的站。站可将消息传送到具有到目的比其自身到目的更低的梯度的任意相邻站。通过慢探测进行的相邻站聚集以及通过快探测进行的梯度生成允许站生成对于任意目的站具有较低成本的多个站的选择,所述站可发送消息到该目的站。始终通过慢探测来保持相邻站,并且在需要将消息发送到作为非相邻站的站时,只基于需要来产生梯度。
本发明的方法提供了一种可选的数据传输算法,该算法使用了对不同相邻站之间所发送数据的接收的隐式肯定应答。
在先前公开的系统中,具有待发送数据的站可以发送请求发送(RTS,Request to Send)消息。然后,可用站发送清除发送(CTS,Clear to Send)消息作为答复,然后,具有待发送数据的站根据机会选择可用站,发送该数据,然后接收该数据的站发送分组肯定应答(Packet Acknowledge)消息,以确认对所发送的数据分组的成功接收。
现有的数据传输协议被简化了;具有待发送数据的站不等待从可用站接收清除发送(CTS)消息,而是只要一发送请求发送(RTS)消息就发送数据。(RTS可包括少量数据。这尤其与在站之间只发送相对少量数据有关。)该协议可用于在分离的数据信道或探测信道本身发送数据的系统。下面的描述假设使用分离的数据信道。
如更详细所述,此数据传输协议提供了与数据分组相关的信息内容(inclusion),特定站在由该站所发送的后续RTS消息中接收到所述数据分组。向正在监听这些RTS消息的站以及具体是先前已发送过数据分组的站,提供隐式肯定应答(即,与所发送的数据分组的接收相关的信息),这样由该站所发送的特定数据分组已由可用站接收。
根据本发明的数据传输协议还使用站之间的端到端肯定应答(ETE ACK)以及端到端否定应答(ETE NAK),以指示目的站是否接收到消息。典型地,一旦目的站接收到全部消息(即所有的数据分组),则通过在从站输出的RTS传输中包括信息(ETE ACK/NAK)来将ETE ACK发送回消息的源站。在目的站处产生这个特定肯定应答,以通知源消息的所有分组都已被接收以及发送(deliver)。
算法必须将消息或数据块分成长度不超过Psize的较小块或数据分组。给每个分组从1到Nmsg进行标号,其中Nmsg为所需要的分组数。典型地,最后一个分组(标为Nmsg)比Psize小。这些数据分组被添加到源站的消息队列中。
与每个分组相关联的是六项(1)源站ID;(2)目的站ID;(3)消息ID,对源站是唯一的;(4)分组号(1到Nmsg之间);(5)Nmsg(即,所需要的分组数);以及(6)使用期限(time to live)(初始化为TTL)。
如果驻留在该消息的目的站的消息的分组具有降到TTL-Tnak以下的使用期限,则以消息的源站为目标产生端到端否定应答(ETENAK),ETE NAK包括每秒丢失的分组的列表。正如提到的,这个ETENAK被包括在输出RTS传输的消息中,在消息的目的站处产生所述输出RTS传输,以便请求源重传该消息的一个或多个分组。
应注意,在站处分组的产生开始于快探测过程(如果还没有处于进行中)。典型地,在原始站或源站接收到的端到端ACK引起梯度的下降。
源站将消息的所有分组都保持在消息队列中,直至从具有该消息ID的目的站接收到端到端ACK。该目的站将消息的所有分组保持在消息队列中,直至所有的Nmsg个分组到达;该消息已被发送(deliver),并且已经发送了端到端ACK。
既不是消息分组的源站也不是消息分组的目的站的站将分组保持在消息队列中,直至该消息分组被发送到另一个站,并且直到此发送站已从包括已发送数据分组消息ID的相邻站接收到的RTS消息。来自包括已发送数据分组的数据分组消息ID的相邻站的RTS消息,是对另一个站的数据分组的接收的隐式肯定应答。
当在目的站处接收到消息的所有分组并且已产生端到端ACK消息时,在目的站处传送该消息。
具有一个或多个正在等待发送的数据分组的站选择具有最短使用期限的分组,并广播请求发送(RTS)消息,此RTS消息具有关于该消息以及关于随机选择的数据信道的信息。(如果仅有的可用信道都具有过多的噪声,则选择具有最小噪声的信道)RTS消息包括以下内容a.待发送数据分组的唯一分组消息ID(可包括少量数据)。在分组的接收或目的站希望通信其已接收到数据分组并且没有其它数据要发送(即没有理由发送RTS消息)的情况下,这可以是特定的“虚拟”分组消息ID(或可包括虚拟目的站)。这可在下文中更详细地描述。
b.待发送数据分组的目的站ID。
c.发送站的分组目的的成本。
d.用于发送数据的数据信道。
e.由发送站(不包括待发送的那个)所接收的最后Nmsg个数据分组消息的ID。Nmsg为1或更大,并且应当足够大以在单一传输中包括至少所有分组ID。例如,应当可以在单一传输中发送20个数据分组,那么Nmsg至少应该是20。接收站使用该信息来确定接收站在其队列中所具有的数据分组是否可以丢弃。这将在此后详细描述。
f.此站所保存的任意ETE ACK(端到端肯定应答)或ETE NAK(端到端否定应答)分组ID。这可以只是与(e)中的分组消息ID相关联的一个标记。
在下面的附录A中提供了关于RTS消息的附加信息。
在消息队列中的任意分组都具有“未决”状态,直至发送站接收到包括已发送的Nmsg个数据分组消息ID的RTS传输。
以足够的功率将RTS消息发送到达靠近的相邻站以及任意附加站,可以从该附加站接收RTS消息(见上文的(e))中所列举的数据分组。
如果在想要发送数据分组时没有可用的数据信道,则传输管制(blackout)条目被用于确定发送RTS的合适时间。如果可能,有必要在该站的“信道外(off channel)”时间期间保证不出现有意的数据传输。分组的实际传输时间取决于所使用的数据速率。如果使用多数据速率,则时间保留应基于最小的数据速率。
在目的站处,所有的分组被收集并重新组装到消息中,一旦接收到完整的消息,在目的站的下一个RTS消息中将包括端到端ACK。可选地,如果没有输出消息分组可用于发送,则由目的站产生一个虚拟RTS消息。
在发送RTS消息之后,站切换到RTS消息中所指定的数据信道,并发送数据分组。除非RTS消息实际上是虚拟RTS消息(随后没有传输的情况),否则不会发生这种情况。在发送数据分组之后,站立即切换回探测信道,并继续发送新的RTS消息,以发送其它数据分组。
只要站在探测信道上监听到RTS消息,这个监听站就可以根据到发送站和监听站的目的成本、到目的站的路径/梯度、消息队列以及一列最近接收到的保持在每个站的数据分组(保留的分组列表)来采取以下任意动作·如果监听站没有到目的站的路径/梯度,监听站什么都不做。
·在发送站具有与监听站相同或较低的目的成本的情况下,监听站再次什么都不作。然而,如果监听站具有正在发送的数据分组的拷贝并且发送站具有较低的目的成本,则应丢弃监听站的数据分组。
·在发送站具有比监听站高的目的成本、并且在监听站上不存在待发送数据分组的拷贝的情况下,监听站将切换到数据信道(如果使用单独的数据信道)并准备接收数据。然后,发送站应具有比监听站高的目的成本,但监听站上已存在待发送数据分组的拷贝,则监听站将什么都不做。(数据分组ID已处于监听站的保留分组列表中)。
·在发送站具有比监听站高的目的成本、并且在监听站处存在之前待发送数据分组的拷贝、并且除此之外此站没有待发送数据(因此,通常不发送RTS消息)的情况下,出现以下情况。监听站发送具有消息信息的“虚拟”RTS消息,发送站以足够的功率发送此消息信息以达到发送站。在发送站有时间来在数据信道上发送数据分组并切换回探测信道(如果必要的话)之后,确定发送“虚拟”RTS消息的时间。“虚拟”RTS消息有效地向其它监听站通知数据分组已发送但应该不会对切换到数据信道来接收数据造成干扰。
·如果发送站发送具有“虚拟”消息ID或目的站的RTS消息,监听站将什么都不做。
如果监听站之前发送了存在于最近接收到的分组(保留分组列表)的发送站RTS消息列表中的任意数据分组,则监听站不会丢弃该分组。这就是对数据分组的“隐式”肯定应答。
此外,如果输入消息包括ETE ACK或ETE NAK分组ID,并且任意这些分组ID(即源消息分组的源)的目的站比发送站更靠近(目的成本),那么应该将那些ETE ACK/NAK添加到下一个待发送的RTS。如果没有调度发送RTS消息,则应发送包括这些ETE ACK/NAK的虚拟RTS。
一旦在数据信道上接收到数据分组,已接收到数据分组的站将切换回探测信道(如果有必要的话)。然后,将已接收的分组的ID添加到用于在后续RTS消息中发送的保留分组列表上。
如果数据分组的目的站是刚接收到该数据分组的站,并且不存在等待发送的分组(即,通常不发送RTS消息),则该站应当在所接收到的分组列表中进行构造和调度,以便发送具有此分组ID的“虚拟”RTS消息。此虚拟RTS消息向该站的相邻站告知已接收到该分组。还应当添加ETE ACK项,以向源站通知分组到达其目的站。
如果在任意的超时周期(比方说,集中在5ms左右)之后,未决的数据分组(已发送的一个)仍然未决,则如上述重传该数据分组,并重新设置超时周期。注意,一旦发送站从具有较低目的成本的任意站监听到该分组的RTS消息,或从具有较低目的成本并且当前接收到的列表中具有分组的任意站监听到RTS,则应丢弃该分组。
在一定的特定超时周期(比方说,10次传输)之后,如果数据分组仍然未决,则应当放弃该数据分组。
在一定的特定时间之后,如果在该消息的目的站存在该消息的遗漏(missing)分组,则应该产生一个或多个ETE NAK并将其添加到来自该站的下一个输出RTS消息中。如果没有RTS消息可调度,那么应发送“虚拟”RTS消息,以传播该ETE NAK。
利用一些简单修改,上面的算法还可用于将数据广播到所有站如上所述(数据在RTS之后)地发送广播分组。在发送分组之后,该发送站保留数据分组,直至该站从其靠近的所有相邻站监听到RTS传输,此靠近的相邻站在所发送的分组或当前接收到的列表中包括分组ID。当每次监听到具有被包括的ID的RTS时,则将该信息添加到与分组相关联的列表上。如果,在适当的间隔(比方说,50ms)之后,该站在所述列表中没有所有其靠近的相邻站,则应重传该分组。
将数据分组发送到相邻站,以便随后发送到目的站。由于数据消息的时间保留基于最低可用的数据速率,如果使用较高的数据速率,则应可能以较高速率从同一消息(或从具有相等或更长使用期限,并具有同一目的的分组)中发送两个或多个分组,因此全部传输时间小于或等于之前所保留的时间。
注意如果在一次传输中发送多个分组,则必须在数据消息中包括唯一识别每个分组的附加数据,这样接收站才可以对分组进行分解。
在源站接收到ETE ACK分组的时候,源站可释放到/来自目的站的梯度。还应丢弃所有来自消息队列的特定消息的数据分组。其它接收或监听站应将数据进行排队以发送到具有标准数据分组的源站。如果保留分组列表中的任意数据分组是特定消息的一部分,则应该将其丢弃。
如果在消息中的分组的使用期限终止(从到达的可能ETE NAK中减去适当的等待周期)之前,没有接收到可应用的ETE ACK或ETENAK,则其后该消息中所有的分组被重新调度用于重传。
当消息中所指定的源站接收到端到端NAK消息时,该源站必须重新调度发送丢失的数据分组。
如果非源或监听接收站在其保留分组流表中具有任意丢失的数据分组的拷贝,则该分组被转移到消息队列中,并且将丢失的分组参考从ETE NAK消息中去除。如同正常数据分组(除非没有丢失分组参考)留在消息中,传输到源站的下一个RTS消息中包括该ETE NAK,在这种情况下可以从RTS消息中丢弃ETE NAK。
如果在消息中的分组的使用期限终止(从到达的可能ETE NAK中减去适当的等待周期)之前,没有接收到可应用的ETE ACK或ETENAK,则其后该消息中所有的分组被重新调度用于重传。
应理解,在发送大量数据的情况下,适于在算法中采用清除发送(CTS)步骤。一般地,本发明的方法设想希望发送消息的站发送RTS,切换到数据信道,并发送该数据。监听到RTS的站也切换到数据信道,以接收该发送,在此之后该站返回探测信道。其后,接收站发送关于下一个传输跳的新RTS,此RTS向发送该传输的初始站提供了隐式肯定应答。初始站可以保留数据以便重传,直到接收到此隐式肯定应答。
然而,存在大量数据待发送时,合适地,需要监听站发送CTS,以让希望发送消息的站知道已经有站准备好接收该传输。这具有优点在没有站可用于接收数据时,该站避免了浪费时间来切换信道以便发送数据。然而,缺点是希望发送数据的站必须在等待以及处理所接收到的CTS消息上浪费时间。
此后的处理如上面所描述的,也就是说,希望发送数据的站以及发送CTS的站切换到数据信道,并且初始发送站将在接收站发出其自身的RTS时接收到隐式肯定应答。
在上述方法中,应理解,可接收许多CTS数据。因此,为了减少所占用的时间,发出的RTS可以包括指定一定标准的数据,该标准限制了站返回CTS的需要。例如,可指定被允许响应的一列站;或可为响应提供其它需求,例如只有监听RTS并具有较低目的成本的站是待响应的。此外,一旦在希望发送消息数据的站处进行处理,所发送的数据可被限制成以CTS来响应的站的子集。
可以理解,如上面所讨论的相似的协议可用于仅定义了探测信道的站。具体地,这对于可在探测信道上发送的短数据分组是有用的。在这样的网络中,站将不需要在信道之间切换。
附录A参数nRTSPackets在Packets中报告的最大分组数RTS广播状态是指定所要广播的待发送数据的布尔值。
分组可用范围发送站所提供的分组的范围。这些是给定消息中的所有分组。
需要的ETE如果在完全接收到广播消息时,源站需要网络中的站发送ETE肯定应答时,为真。
Psize分组大小(bits)。在一次传输中待发送数据分组的最大长度(除了开销数据)。如果消息块比Psize大,则将此块分成两个或多个分组。应针对最小数据速率选择Psize。
Pmax用于慢切换传输的最大分组数。如果等待通过特定相邻站传送的分组的数量为Pmax或更少,则在探测信道上发送该分组。如果分组的数量超过Pmax,则在数据信道上发送该数据。(仅用于慢切换算法)TTL消息使用期限(msec)消息中分组的使用期限。在其产生时将分组的使用期限初始设置成TTL。如果分组的使用期限在传送到其目的之前降为0,则丢弃该分组(假定这里所描述的其它机制将重传丢弃的分组,如果有必要)。
Tnak到NAK的消息时间(msec)。小于TTL。在这个时间之后,如果目的站处的分组到达这个阶段,将产生端到端NAK以找回丢失的分组。
Tretain在保留分组列表中保留没有目标的数据分组的时间(msec)。
Tack在发送数据消息之后等待ACK的最大时间(msec)。
数据结构消息队列包括等待传输的每个数据分组的条目。
条目包括数据分组,包括源ID、分组ID、使用期限。
状态等待传输、等待隐式肯定应答、等待ETE ACK/NAK的其中之一保留的分组列表包括由站所接收的每个数据分组的条目。
条目包括数据分组,包括源ID、分组ID、使用期限保留数据分组的时间管制时间段列表包括针对每一个时间段的条目,在所述时间段期间,调度已知的数据传输、接收是否干扰该已知传输、或可能干扰。
规则是如果站A从站B监听到RTS(在探测信道上),则RTS将针对来自站B的(可能的)后续数据传输定义时间、持续时间以及信道。站A必须在该持续时间内避免调度任意的接收(即,如果安排的时间重叠,则必须响应其它RTS消息),以避免干扰。这就是接收管制。
条目包括接收。指定这是一个接收管制起始时间(相对于站时钟)传输的持续时间(msec)用于接收管制的发送站ID发送信道信道外的时间这是指定此站将在指定的一段时间期间为“信道外”(即,将在数据信道而不是探测信道上被监听到)的变量。如果单一信道用于探测和数据信道,则不可用。
所发送消息的格式所有消息以通常的发送站ID、发送功率以及针对发送消息的信道的发送站固有噪声开始。这个消息被用于识别相邻站表中的发送机以及更新条目,尽管这些消息中没有一个被用于创建新的相邻站(这个任务仅限于相邻站(慢)探测消息)。在标题为“Probing Method for aMulti-Station Network”的国际专利申请NO.PCT/IB2004/004111中描述了相应的ODMA方法,特别是针对相邻站表以及梯度表的使用,这里将该专利申请的内容一并在此作为参考。
每个消息还包括指定了成本功能ID的字段。这确定用于路由消息的梯度表(更多信息见Fast Probing文件)。典型地,在产生消息时选择这个成本功能ID,以控制该消息类型的服务质量(QoS)。随后导出的消息(例如RTS等)将相同的成本功能ID作为源消息来继承。
注意在多信道系统中,只有在探测信道上发送的消息可用于更新相邻站的表条目。数据信道上的消息不能更新相邻站的表信息。
RTS内容待发送数据分组的唯一消息ID待发送数据分组的源站ID待发送数据分组的分组号(注意唯一的消息ID(对于源站唯一的)与源站ID以及分组号一起唯一地识别系统内的分组)待发送数据分组的目的站ID数据分组的使用期限数据分组的随机数*数据分组的发送大小数据分组的发送时间(所设计的)数据发送信道数据发送信道的固有噪声发送站到分组目的站的成本(注意如果目的站的梯度不变,则发送CDF而不是CD)最后Nmsg个由发送站所接收的数据分组消息的ID(不包括将要发送的那个)。Nmsg为1或更大,并应该足够大,以便在单一传输中包括至少所有的分组ID。例如,如果可以在单一传输中发送20个数据分组,则Nmsg应该至少为20。这个信息由接收站使用,以确定接收站在其队列中所具有的数据分组是否可以被丢弃。这将在此后进行更详细的描述。
由该站保存的任意ETE ACK(端到端肯定应答)或ETE NCK(端到端否定应答)分组ID。
*典型地,这个随机数是由随机数发生器为此RTS消息产生的短(8bit)随机整数,在启动时使用(例如)站的唯一ID初始化种子,如下文所示。
端到端ACK这是具有特定标记的单一分组消息,所述特定标记指定它是一个ETE ACK。它以数据消息的发源或源站为目标。
此消息分组本身包括在目的站处成功接收到的消息的唯一消息ID。
端到端NAK这是具有特定标记的短消息,所述特定标记指定它是一个ETENAK。它以数据消息的源站为目标。该消息分组本身包括在目的上不成功接收的消息的唯一消息ID没有被成功接收的一列分组号。
权利要求
1.一种操作包括多个站的通信网络的方法,其中每个站都能够发送和接收数据,以便网络可通过根据机会选择的至少一个中间站将消息从源站发送到目的站,所述方法包括i.从每个站发送探测信号,从探测站接收探测信号的其它站直接作出响应或间接地通过其它站作出响应,以便向所述探测站指示其作为目的或中间站的可用性;ii.从具有待发送数据的站,向其它可用站发送包括请求发送消息的探测信号,所述请求发送消息指示将数据发送到特定目的站的需要,并包括与之前所接收到的、用于由具有待发送数据的站转发的数据相关的识别信息;iii.从具有待发送数据的所述站,根据机会发送数据以到达可用站,以便转发给所述目的站;以及iv.从接收用于转发的所述数据的站,发送包括请求发送消息的另一个探测信号,所述请求发送消息包括与所述数据相关的识别信息,从而向具有待发送数据的站以及其它可用站提供对接收数据的隐式肯定应答。
2.如权利要求1所述的方法,其中,当具有待发送数据的所述站发送包括请求发送消息的探测信号时,只有比具有待发送数据的站具有较低目的成本的站,才对所述探测信号作出响应,以指示其作为目的或中间站的可用性。
3.如权利要求2所述的方法,其中,如果具有较高目的成本的站从具有较低目的成本的另一个站处获悉关于同一个数据的请求发送消息,则将所述数据处理为已肯定应答。
4.如权利要求1到3之一所述的方法,其中,所述方法适于在包括多个客户站以及一个或多个网关的网络中使用,所述网关被布置用作到客户站网络的接入点。
5.如权利要求4所述的方法,其中,所述方法适于在包括多个种子站的网络中使用,所述种子站可与客户站和/或网关进行通信,多个种子站扩展了客户站的有效连接范围。
6.如权利要求5所述的方法,其中,所述网络还包括至少一个订户网络管理器,用于监控客户站的动作。
7.如权利要求1到6之一所述的方法,其中,从所述源站发送的消息数据包括多个数据分组。
8.如权利要求1到7之一所述的方法包括在每个站选择与一个或多个数据信道不同的探测信道,以便探测信号到其它站的传输。
9.如权利要求8所述的方法,其中,所述请求发送消息包括消息数据,以便站可通过在所述探测信道上传输的探测信号的机制来有效地通信信息,而不必在数据信道上传输数据。
10.如权利要求9所述的方法,其中,包括在请求发送消息中的消息数据包括与数据信道上数据传输中的数据量相比相对小或有限的数据量。
11.如权利要求10所述的方法,其中,包括在请求发送消息中的消息数据包括高优先级消息数据。
12.如权利要求1到11之一所述的方法,其中,由接收用于转发的所述数据的站所发送的请求发送消息包括伪信息,其中接收站没有需要请求发送消息的待发送消息数据,由此向具有待发送数据的站提供了对于接收数据的隐式肯定应答。
13.如权利要求1到12之一所述的方法,包括从已接收到消息的所有数据分组的每个目的站向源站发送端到端肯定应答,所述端到端肯定应答包括在请求发送消息中。
14.权利要求13所述的方法,其中,每个源站保留消息的所有数据分组,直至所述源站从所述目的站接收到所述端到端肯定应答。
15.如权利要求14所述的方法,其中,每个目的站保留所述消息的所有数据分组,直至所述目的站向所述源站发送了所述端到端肯定应答。
16.如权利要求1到15之一所述的方法,其中,具有待发送数据的每个站都保留至少一个数据分组,直到具有待发送数据的所述站已将所述至少一个数据分组发送到接收站,并且直到所述接收站通过发送请求发送消息来确认对所发送的数据分组的成功接收,所述请求发送消息包含与所述发送数据分组相关的信息。
17.如权利要求8所述的方法,其中,一个站具有大量待发送数据时,可发送请求发送消息,以请求可用站发送清除发送消息,以便向具有待发送数据的站通知存在准备好接收该传输的站,具有待发送数据的站以及发送清除发送消息的站切换到用于数据传输的数据信道。
18.如权利要求17所述的方法,其中,所述请求发送消息包括限制其它站返回清除发送消息的需要的数据专用标准。
19.如权利要求18所述的方法,其中,所述标准包括以下内容中的一个或多个被允许应答的一列站,以及只响应接收所述请求发送消息的站的需要,被响应的站具有比具有待发送数据的站较低的目的成本。
20.一种包括多个站的通信网络,其中的每个站都能够发送和接收数据,以便网络可通过根据机会选择的至少一个中间站将消息从源站发送到目的站,其中,所述网络中的每个站适于i.发送探测信号,从探测站接收到探测信号的其它站直接作出响应或间接地通过其它站作出响应,以便向所述探测站指示其作为目的或中间站的可用性;ii.当所述站具有数据要发送时,向其它可用站发送包括请求发送消息的探测信号,所述请求发送消息指示将数据发送到特定目的站的需要,并包括与之前所接收到的、用于由具有待发送数据的站转发的数据相关的识别信息;iii.根据机会发送所述数据以到达可用站,以便转发给所述目的站;以及iv.当所述站接收到用于转发的数据时,发送包括请求发送消息的另一个探测信号,所述请求发送消息包括与所述数据相关的识别信息,从而向具有待发送数据的站以及其它可用站提供对接收数据的隐式肯定应答。
全文摘要
本发明涉及一种操作包括多个站的通信网络的方法,其中每个站都能够发送和接收数据,因此网络可通过根据机会选择的至少一个中间站将消息从源站发送到目的站。希望发送数据的站发送由其它站响应的探测信号,从而识别可用站。当站有数据待发送时,该站发送包括请求发送消息的探测信号,以识别待发送数据。当站接收到用于转发的这种数据时,该站发送其自身的探测信号,该探测信号包括请求发送消息并包括与数据有关的识别信息。由邻近的其它站接收该请求发送消息,所以这些请求发送消息作为转发站接收到数据的隐式肯定应答,而无需发送明确的确认消息。本发明扩展到用于实现此方法的网络。
文档编号H04L12/56GK101084656SQ200580043622
公开日2007年12月5日 申请日期2005年10月21日 优先权日2004年10月21日
发明者詹姆斯·戴维·拉尔森, 保罗·乔纳森·罗德曼 申请人:Iwics公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1