多站网络的探测方法

文档序号:7610115阅读:269来源:国知局
专利名称:多站网络的探测方法
技术领域
本发明涉及操作国际专利申请号WO 96/19887和WO 98/56140中描述的一般种类的多站通信网络的方法。本发明还涉及这种网络本身。
背景技术
上述种类的网络可以商业使用,其中使用者是为使用网络付费的用户。作为选择,诸如警察或军队之类的安全部队可以使用这种网络。
上述种类的网络的进一步的应用是在无线局域网络(WLAN)中使用,其中可以将无线网络与惯用的网络结构组合,以便为固定和移动网络使用者提供服务。这种网络经常是计算机网络,但是,不一定必须是计算机网络。

发明内容
根据本发明,提供了一种操作包括多各站的通信网络,每个站能够发送和接收数据,从而使得网络能够经过至少一个抓时机选择的中间站从始发站向目的站发送数据的方法,所述方法包括a)定义与至少一个数据信道不同的至少一个探测信道;b)在每个站并且根据第一预定标准,选择用于向其它站发送探测信号的探测信道;c)从每个站在选择的探测信道上发送第一探测信号,接收到来自探测站的第一探测信号的其它站直接或间接地回答,由此向探测站指出它们可以用作目的或中间站;d)在每个站,保持包括通过步骤(c)识别的其它可用站的详细信息的邻居表;e)从一个需要向不是邻居站的目的站发送数据的站,向邻居表中的站发送第二探测信号,和接收来自邻居表中的站的第二探测信号;和f)如果需要,在每个站保持包括有关与每个邻居站通信的价格的数据的梯度表,从而,使得每个站能够选择预定数量的用于以最低价格从始发站向目的站前向发送数据的中间站。
通过步骤(c)识别的其它可用站的详细信息可以包括到达其它可用站所需的路径损耗和功率。
优选的是,仅在所述站的邻居表包含条目时从每个站发送第二探测信号。
所述方法包括为邻居表中每个站计算用作经过邻居表中每个站从始发站向目的站发送消息的价格的到目的值的价格。
优选的是,每个站还保持一个其本身到目的值的价格的临时记录。
优选的是,到目的值的价格是经过邻居表中每个这样的站和任何中间站从始发站向目的站发送消息的累加价格。
优选的是,所述方法包括在其它站可以更新它们自身的到目的值的价格的周期中,使每个站的到目的值的计算价格保持恒定,以防止各站在它们自己的计算中使用废弃的到目的值的价格的步骤。
根据本发明的另一个方面,提供了一种包括多个客户站的通信网络,每个客户站能够发送和接收数据,从而使得网络能够经过至少一个抓时机选择的中间客户站从始发客户站向目的客户站发送包括多个数据分组的消息的,其中所述网络进一步包括多个网关,用作客户站对网络的接入点;多个客户站可以与之通信的种子站,每个种子站与至少一个网关通信,所述多个种子站扩大了客户站的有效连接范围;和至少一个用户网络管理器,用于监视客户站;其中每个客户站适合于a)定义与至少一个数据信道不同的至少一个探测信道;b)在每个客户站并且根据第一预定标准,选择用于向其它客户站发送探测信号的探测信道;
c)在选择的探测信道上从每个客户站发送第一探测信号,接收到来自探测客户站的第一探测信号的其它客户站直接或间接地做出回答,由此向探测客户站指出它们可以用作目的或中间客户站;d)在每个客户站,保持包括通过步骤(c)识别的其它可用客户站的详细信息的邻居表;e)从一个需要向不是邻居客户站的目的客户站发送数据的客户站向邻居表中的客户站发送第二探测信号和从邻居表中的客户站接收第二探测信号;和f)在每个客户站,保持包括有关与每个邻居客户站通信的价格的数据的梯度表,由此使得每个客户站能够选择用于从始发客户站向目的客户站前向发送数据的预定数量的中间客户站。


图1是显示利用本发明的方法和系统的WLAN网络的总体系统图;图2是图1的网络中使用的客户设备的示意方框图;图3是图2的设备中使用的单片信号收发信机的详细示意图;图4是图1的网络的系统层架构的示意图;图5是本发明的网络的示意图,其中各站经过中间站相互通信;图6是本发明的慢探测机构的示意图;图7是快探测机构的类似的示意图;图8是说明使用矢量路由法的网络中的环路形成的简化示意图;和图9至11是说明用于避免路由环路形成的本发明的方法的示意图。
具体实施例方式
本发明涉及操作国际专利申请号WO 96/19887和WO 98/56140中描述的种类的多站通信网络的方法,这些国际专利申请结合在此作为参考。简单地讲,这种网络的基本操作如下。
多站网络包括多个独立的站,这些站可以是固定的或移动的,每个站可以发送和接收数据,以便经过中间站从始发站向目的站发送消息。为了使始发站处于经过数个可能的中间站中的选定的一个向目的站发送一个新的消息的位置,在正常情况下每个站必须在任何时间与数个站接触。这也适用于需要站转播从始发站发送到目的站的消息的情况。
为此,每个站选择多个可能的探测信道中的一个,向其它站发送探测信号。探测信号包含标识被请求的站的数据,并且包括它与其它站的连接的详细情况。接收到探测信号的其它站直接回答探测站或经过中间站间接地回答,由此向探测站和其它站指出它们可用作目的或中间站。探测站评估直接或间接的回答,以识别它能够与之最佳通信的其它站。
特别是,网络的各个站可以监视到达每个站所需的累积功率,由此定义到其它站的功率梯度,而各站选择一个使得功率梯度最佳的通过始发站与目的站之间的网络的路由。这能够使得通过网络的数据通过量最大,而各站之间的干扰和争用最小。
网络中每个站包括一个能够接收和发送来自范围内任何站的数据的收发信机。网络可以是上述国际专利申请中所述的分组无线电广播网络,但是,应当知道,本发明可以应用到使用者站可以经过网络中的中间站与另一个站通信的其它网络。
上述网络的站之间的抓时机数据传输的方法在这里称为抓时机驱动多路接入(Opportunity Dviven Multiple Access)(ODMA)。
以下参考基于802.11b标准的WLAN系统来说明本发明的一个实施例。图1的示意图中示出了这种WLAN布置的一个例子。
在图1中,第一和第二网关10和12各用作多个用户单元(客户设备)14到网络接入点,用户单元一般是网络使用者。在本实施例中,客户设备一般是能够利用ODMA技术直接或经过其它客户设备间接地与对应网关10和12通信的无线网卡。此外,在网关10和12附近战略地部署了多个种子站16,种子站16是无线路由器。种子站通过扩展客户设备的连接范围,特别是在困难的环境中,有效地扩大了网络的覆盖范围和通过量。
ODMA协议可以经过无线链路,诸如局域网络之类的有线网络,和图1中所示的无线回程或光纤链路18和20操作,以抓时机在用户单元(客户设备)与种子站之间转播数据。如图所示,从站到站的转播可以包括有线和无线跳以及经过无线回程的跳。
网络抓时机将消息从用户无线地路由到用户并经过种子站进入网关,然后经过点对点链路进入光纤,进入另一个区。
以这种方式,使用ODMA的国家和国际网络可以经过各种不同类型的网络,将消息从任何使用者转送到世界任何部分的任何其它使用者。网络自动地发现消息分组传送的最佳路径,并且通过发现通过网络的替代路径提供负载平衡和断开链路的恢复。ODMA中的所有单元具有叫作SID(系统ID)的独特地址。
用户网络管理器22监视网络中各个站的健康,并且管理网络的安全和记账。
在上述例子中,客户设备可以用上述国际专利申请中所述的方式,直接地、或经过种子站16、或经过一个或更多的中间客户站,与网关10和12通信。此外,客户设备可以与其它相同的设备形成直接对等网络。
在这种网络中使用抓时机多跳路由,如果客户设备当前网关发生故障,那么它们可以转移到替代网关,从而提高了网络的稳定性,并且能够消除瓶颈和提高整个网络的性能。在惯用的802.11b系统中,范围会急剧地减小,一般减小到一百米以下。为了增大以覆盖远距离的客户设备,必须减小数据率。反过来,低数据率的使用造成客户设备停留在数据信道上更长的时间,从而影响WLAN的所有客户设备的通过量。抓时机多跳路由的使用解决了这个问题,因为即使远距离客户设备也可以利用多跳,以最高数据率通过种子站和相邻客户设备,将数据发送到目的地,从而避免了网络拥塞。信道的优化使用和功率适配减少了争用,并且优化了提供给使用者的通过量。
图2示出了形成802.11b WLAN部分的客户设备的说明方框图。客户设备包括一个嵌入了ARM940T RISC的Samsung S3C2500微控制器40。它也提供了10/100Mbps以太网络控制器、存储器控制器、12C和GPIO,以便与LAN芯片、SIM卡读取器、和ZD1201基带处理器通信。S3C2500芯片装配有32Mbit闪存器和128Mbit SDRAM存储器。
该设备包括利用高速DSP硬件逻辑电路执行802.11和802.11b基带调制和解调的高度集成的ZD1201 WLAN组合芯片42。为了跟随IEEE802.11组定义的未来的MAC标准,在ZD1201芯片中嵌入了ARM7 RISC处理器。这使得能够通过简单地更新软件驱动程序而使用最近的WLAN特征。
客户设备包括一个为了2.45GHz无线LAN(WLAN)应用的SA2400全集成单片IC RF收发信机44。它是制造在高级30GHz fT BiCMOS处理器上的直接转换无线电架构。SA2400A将接收机、发射机、和LO发生组合在单一的IC中。接收机是由低噪声放大器、下变换混频器、全集成信道滤波器、和带有芯片内闭环的自动增益控制(AGC)组成的。发射机包含功率倾斜,滤波器,上变换,和前置驱动器。LO发生器是由全芯片内VCO和N-分数合成器。接收机的典型系统性能参数是93dB增益,7.5dB噪声系数,+1dBm的有关输入的三级截获点,8ms的AGC设置时间,和3ms的TX-to-Rx开关时间。发射机典型系统性能参数是1dB步长的从-7dBm至8dBm的输出功率范围,校准后-40dBc载流子泄漏,22dB边带抑制,30dB的带内共模抑制,和3ms的Rx-to-Tx开关时间。
设备包括具有在2.4GHz频带的高输出功率的,AP1091线性,双极功率放大器46形式的功率放大级。设备传递26dBm的符合IEEE802.11b标准的26dBm的线性输出功率。功率放大器也包括一个提供与设备的输出功率成正比的DC电压的芯片上功率检测器。
设备进一步包括具有低介入损耗和非常低的DC功率消耗的正电压操作的DC-3GHz SPDTRF开关48。
紧靠天线54和56的第一RF开关52提供了选择使用哪一个天线发送或接收的能力。从选择的天线,将接收的输入施加到一个2.45GHz带通滤波器50。这个滤波器拒绝2.4GHz ISM频带之外的干扰。紧靠2.45GHz带通滤波器的第二RF开关58提供了TX/RX开关。这个开关在接收模式将信号导入SA2400的LNA部分。接下来,利用正交下变换器将信号下混频到基带信号,成为I和Q分量。最后,信号传递到ZD1201的ADC。基带电路抽样波形,然后去扩展和解调接收的信号。
在发射链路上,数据可以被BDPSK,DQPSK或CCK调制,导致带有I和Q分量的基带正交信号。然后,信号传递到上变换混频器的输入端,以变换到2.4GHz-2.5GHz频带。SA2400操作在高功率模式或低功率模式,以覆盖高的输出功率范围。当操作在高功率模式时,选择TX OUT LO,并且传递到AP1091放大器,以提供高输出功率。当操作在低功率模式时,选择TX_OUT_HI,并且信号直接通过RF开关传递。要注意,TXAGC功能是由ZD1201基带处理器42提供的。
在图3的更为详细的示意图中示出了SA2400收发信机的内部电路。
图4示出了图1的网络的系统层级构造。该系统实质上包括用户单元或使用者(客户设备),种子站,和将客户设备链接到WAN的网关。客户设备可以通过直接在它们之间或经过种子站转播消息而相互通信。如果一个使用者要接入诸如互联网络之类的其它网络,那么消息经过网关转播到WAN,然后经过路由器网络进入其它网络。网关起到从客户设备和种子站使用的ODMA协议到诸如TCP/IP之类的其它协议的翻译器的作用。
以下参考图5至11示意图,说明上述网络的操作。
在图5中,始发站A能够与五个“相邻”站B至F通信,并且经过中间站B、I和M将数据发送到目的站O。例如,站A至M和O一般是包括上述客户设备的使用者站,但是,一些可以是种子站。
为了使网络的效率最高,每个站最好具有在该站需要发送或接收消息的情况下它能够与之通信的多个“邻居”站。另一方面,如果一个给定站要将数据发送到一个选定的邻居站,那么希望发送对其它站造成的干扰最小,否则产生的争用会降低网络中数据通过量。
出于上述考虑,本网络寻求调节每个站的操作,以便它能够在任何时候以最高可能的数据率,但是最低可能的发射功率,向或从多个邻居站发送数据或接收数据,从而减小了与其它站的干扰。
所述种类的通信网络包括许多试图在相同的信道集上通信的站。这些信道可以定义为具有不同频率、不同媒介、不同编码(例如,不同扩展码)、不同天线、不同时隙、等等,或任何这些的组合。为了优化信道复用,这些站试图保持有限数量的中间邻居,典型的是5个邻居。邻居定义为给定站可以与之通信的另一个站。
通过改变一个站的发射频率、改变代码(PN序列)、提高它的数据率、和降低它的发射功率,它可以限制它看得到的或看得到它的邻居站的数量。所有站利用探测信号集合在预定义的探测信道,在预定义的探测信道它们要发现与之通信的其它站。一旦发现了另一个站,并且两个站中的一个具有要发送到另一个的数据,那么它们移动到较少使用的数据信道。
本发明的方法包括两种探测过程,“慢探测”和“快探测”。慢探测过程由每个网络站用于收集邻居,而快探测过程用于在始发站与目的站之间建立梯度。
首先讨论慢探测过程,当存在多个紧密相邻的站的时候,它们在较高的数据率和低的发射功率结束探测。站偶尔地响应在较低数据率探测的、或没有足够的邻居来帮助不能使用较高数据率或没有足够邻居的任何孤立(远距离的)站(以下也称为孤立邻居)的站。当站是孤立的并且不能在较高数据率和最大功率发现足够的邻居的时候,它们仅使用较低的数据率。
每个站以(慢探测定时器确定的)规则的间隔发射慢探测信号,试图发现其它站。各站在它们的慢探测中指示它们能够检测到其它站探测,并且以这种方式各站改变它们的探测功率,直到某个预定数量的站指示它们能够检测到探测。如果站始终不能捕获到所需数量的邻居,那么它将保持在最低数据率和最大发射功率。
每个站在慢探测信号发射之间随机地微小改变慢探测定时器,以避免与其它站碰撞。如果任何一个站开始接收另一个站的发送,那么它以新的间隔重新加载慢探测定时器。
在移动站的网络中,各站不停地移动,由此邻居的数量不停地改变。如果邻居的数量超过需要的数量,那么站将增大它在探测信道上的数据率。它将持续提高它的数据率,直到它不再超过所需的邻居数量。如果它达到了最大数据率,那么它以10dB的增量降低它的慢探测发射功率,直到它达到最小发射功率,或不再超过所需的邻居数量。
当一个站在探测信道上回答另一个站的慢探测时,它把它的数据分组的长度限制到慢探测定时器间隔。这是为了避免其它站探测不到它的回答。如果正在回答的站具有比能够装载到一个小的分组中的数据更多的数据要发送,那么它在分组的首部指示,其它站必须移动到一个特定数据信道。
可以为每个探测信道定义多个数据信道。请求改变的站随机地选择一个可用数据信道。(当另一个站接收到请求时,它立即改变到该数据信道,在这个数据信道上两个站继续通信直到它们中的任何一个都没有任何数据要发送,或如果超过了(数据定时器设置的)数据信道上停留的最大时间。也可以使用其它可选数据传送协议。
当一个站改变到数据信道时,它装载数据定时器。它将在数据信道上停留数据定时器允许的时间长度。当数据定时器到时的时候,该站返回到探测信道,并且再开始探测。
图6的示意图说明了本发明的慢探测过程。
慢探测过程由三个基本功能组成1.邻居收集(Neighbor collection)2.功率认知(Power learning)3.邻居的倾斜(Ramping of neighbors)邻居收集的过程包括一个站以增加的功率电平探测,直到相邻的站在它们自己的探测中指出它们检测到第一站的探测。这叫作邻居收集。增加探测的功率,直到预定数量的邻居指示它们检测到探测。
所有探测站增加和减小它们的探测功率,直到所有的站收集到预定数量的邻居。这个过程包括增加和减小探测的功率电平,和指出在探测中收听到哪些其它站的探测。以这种方式,所有站可以知道它们需要什么样的功率电平来到达各个邻居。
一个站在每次探测时,它指出它的发射功率和固有噪声电平,和它具有哪些站作为邻居。每次站收听到另一个站探测时,它从探测计算路径损耗,并且从路径损耗和该站的固有噪声电平计算到达该站所需的功率。把到邻居的路径损耗和到达邻居所需的功率存储在保持在每个站中叫作邻居表的表中。如果不再收听到邻居,那么增加或“倾斜”表中的路径损耗和到达该站所需的功率电平,直到达到一个特定的电平,在该点将该邻居从邻居表消除。
在下面的例子中更为详细地说明本发明的慢探测过程慢探测参数■最小探测功率(Min Probing Power)(PPmin)■最大探测功率(Max Probing Power)(PPmax);■探测功率步长(Probing Power step)(PPstep);■探测间隔(Probing Interval)(Pint);■探测间隔标准偏移(Probing Interval std dev.)(Psdev);■每功率步长的探测间隔(Probing Intervals per power step)(nPPs);■邻居超时间隔(Neighbor Timeout interval)(TNint)■紧靠邻居超时间隔(Close Neighbor Timeout interval)(TCNint)(TCNint<TNint);■收集的紧靠邻居的数量(# of neighbors to gather)(nNbrs);■包括在探测中的最大邻居数量(Max # of neighbors to include in aprobe)(nPNbrs);■站固有噪声电平(Station noise floor)(Nfloor);■损耗倾斜时间(Loss ramping time)(tinc);■损耗倾斜增量(Loss ramp increment)(Linc)(dB);■损耗倾斜过量(Loss ramp excess)(Lex)(dB)。
消息的类型■探测(Probe);■探测确认(Probe Ack);定义■邻居发送了一个可以在这个站看到的Probe或ProbeAck的站;■紧靠邻居发送了一个包含这个站的ID的Probe的邻居。
(每个站的)协议以规则的间隔(Pint+\-Psdev),每个站发出一个Probe。最初以功率PPmin发射。在每个nPPs间隔将功率增加PPstep,直到发现至少nNbrs个紧靠邻居(它们在它们的Probe消息中用这个站的ID作出了响应),或功率达到PPmax(在这个阶段以这种功率电平继续Probe发送)。如果可以看到nNbrs个以上的紧靠邻居,那么开始向下倾斜功率。
一个Probe由以下信息组成a.在这个站的固有噪声电平(Nfloor);b.这个探测消息的发射功率;c.这个站的邻居的总数(目前未使用的);d.这个站的紧靠邻居的总数;e.最接近nPNbrs个(或较少的)邻居(或可能所有邻居的,一各选项)的站ID。
(邻居的靠近程度基于该邻居的最近Probe消息的接收功率)当没有探测时,站收听来自其它站的Probe(或Probe Ack)。当收听到另一个站的Probe时,利用Probe消息中的发射功率信息确定到该站的路径损耗。然后使用固有噪声电平信息确定将消息发送到该站所需的最小发射功率,并适当地更新邻居表。
如果听到一个站(a)以PPmax功率发送它的Probe,(b)宣称具有少于nNBRs个紧靠邻居,(c)不是这个站的紧靠邻居中的一个,和(d)这个站可以与之通信,那么将这个远端站考虑为是一个“孤立邻居(Lonely Neighbor)”。在这种情况下,立即(+/-Psdev)用可以被该远端站听到的适当功率发送Probe Ack消息。
Probe Ack包含以下信息a.在这个站的固有噪声电平,b.这个Probe Ack消息的Tx功率,
c.“孤立邻居”的站ID。
如果这个站听到包含这个站的ID的Probe Ack消息,那么给正在发射的站加上紧靠邻居的标签。
如果在时间tinc之后,没有(通过来自该邻居的探测)更新邻居表条目,那么将Linc添加到条目中的报告的损耗。以tinc的间隔重复这种操作,直到条目被一个探测更新,或直到到达利用报告损耗的邻居所需的发射功率超过最大允许功率Lex dB。在后一种情况下,将损耗设置到无穷大。应当注意,变化在这里可能会造成现有梯度冻结(见下面)。
在始发站与目的站之间的路线上的所有站都是未知的上述方法和其它向量路由方法中可能产生的一个问题是,到目的站的路线可能包括始发站,有效地在功率梯度中建立起一个环路。
如果损耗在无穷大并且梯度表中不存在涉及该邻居的条目,那么应当删除邻居表条目。
如果没有从一个邻居收听到Probe/Probe Ack长达TNint的时间,那么将该邻居下线。如果没有从一个紧靠邻居收听到Probe/Probe Ack长达TCNint的时间,那么将该紧靠邻居恢复到邻居状态。
到一个特定邻居的价格(cost)可以依据达到该邻居的发射功率来计算。
例如,小于-10dBm=价格1小于0dBm=价格2小于10dBm=价格3小于17dBm=价格4。
价格是到达一个邻居所需的功率的指示。需要的功率越大干扰越大,并且就功率(蓄电池)消耗等而言的价格越高。
如果将多跳的所有价格加在一起,那么,如果沿这些跳发送消息的话,总价格是要使用多少功率的指示,或产生多大干扰的指示。
慢探测产生了到达邻居所需的功率的指示。
如果一个站具有不是其邻居的目的站的消息,例如,跨越网络的远端站的消息,那么它开始发射快探测信号,以产生如何到达目的站的信息。该信息被称为梯度,并且是到达目的站的累加价格的指示。当一个站开始快探测时,它指示它正在寻找一个目的站,并且收听到快探测的邻居进行它们自己的快探测,直到目的站收听到它的邻居的快探测。然后,通过相加累加价格建立梯度,直到梯度达到源站,源站可以开始将消息发送到具有相对于目的站较低梯度的邻居,这些邻居又可以将消息发送到它们的邻居,直到到达目的站。
每个站保持到达它的每个邻居的每个目的站的(累加价格)梯度,和它本身到达目的站的梯度的记录。每个站仅把消息传递到具有到达目的站的较低累加价格的站。一个站可以将消息传递到它的邻居中具有较低到达目的站的梯度的任何一个。经过慢探测收集邻居和经过快探测的梯度产生使得一个站能够产生具有到达任何能够将消息发送到这些目的站的目的站的较低价格的站的多个选择。邻居经过慢探测始终被保有,而梯度仅在需要将消息发送到不是邻居的站时的需要基础上产生。
图7中示意地示出的快探测过程或算法用于沿始发和目的站之间的路径构造梯度。梯度优选以到邻居的价格(CN)的形式表示。在以下两种情况中任何一个出现时,过程开始■在站始发一个消息时,或■截获来自一个邻居的快探测时。
站停留在快探测模式,直到它保持的所有梯度被源或目的站删除,或梯度超时。
快探测参数■以毫秒(msec)为单位的快探测速率(FPRate);■一个快探测的最大跳(maxHops);■以毫秒(msec)为单位的梯度超时(Gtimeout);■最大可接受价格(maxCost);■以毫秒(msec)为单位的冻结条目超时(Ftime);■站数据结构。
应当注意,下面的数据结构在它们中可以具有其它信息,与快探测算法不直接有关的信息。
邻居表■每个邻居的条目。
邻居表条目■邻居站ID;■到邻居的当前价格(CN);■当前保持的每个梯度的条目。
邻居梯度条目■目的站ID;■邻居的到目的站的当前价格(CND)。
梯度表■当前保持的每个梯度的条目。每个目的站一个条目。
梯度表条目■目的站ID;■到目的站的当前最佳价格(CD);■当前最佳价格邻居站ID;■冻结状态(on或off);■冻结超时;■冻结价格(CDF);■冻结邻居ID(NF);■梯度超时;■源站列表,包含每个具有相同目的站的源站的条目。
源站条目
■源站ID;■跳数;■保持状态(是或否)。
快探测数据格式■发射站ID;■在站的固有噪声电平;■发射功率;■多个梯度条目,在发射站为其保持梯度并且具有不超过maxCost的邻居PDG梯度表中,一般为每个目的站条目保持一个梯度条目。
快探测梯度条目■目的站ID;■从发射站到目的站的最佳价格(PDG);■源站的列表。
源站条目■源站ID;■保持状态(是或否);■跳数。
当梯度表包含一个或更多条目时,快探测开始/继续。快探测消息以FPrate的速率产生,直到快探测停止。当没有条目存留在梯度表中时,快探测停止。
如果通过慢探测过程添加了一个新的邻居,那么要将梯度表中每个目的站的条目加到邻居表。如果所有邻居被删除,那么也将梯度表删除,并且站停留在快探测模式。
当源站(当前站)向一个给定目的站始发了数据消息,或从某个位置的邻居接收到数据消息时,产生三种可能性1.梯度表包含消息的目的站的一个条目,并且到目的站的最佳价格不超过maxCost。在这种情况下,可以经过规定的邻居发送消息。
2.梯度表不包含消息目的站的条目。在这种情况下,建立一个新的梯度表条目(同时保持“是”的状态),和消息必须排队以便将来发送。
在每个上述情况下,将梯度表中的跳数设置到maxHops。当一个始发站完全地结束了对目的站的数据发送时,它通过将保持状态设置到“否”标记它的对应梯度表条目。然后,通过一个将来快探传播测这个标签。
如果梯度表已经不包含对应于消息目的地的条目,那么为该源/目的站增加一个条目。如果梯度表包含消息目的地的条目,但是没有对应的源站条目,那么将该源站ID添加到条目的源站ID列表。如果一个表条目没有被更新的时间长达Gtimeout,那么删除该条目。删除邻居表中对应的条目。
梯度表中每个已知目的站的快探测消息是通过列举该目的站的到达目的地的最佳价格(对于所有邻居N,(CD=min(CN+CND))形成的。
如果梯度表被冻结并且CND的所有值>(所有邻居N的)CDF,那么从梯度表发送CD的值,否则使用如上所述计算的到目的地的最佳价格,但是仅对CND<CDF的邻居的子集。
如果梯度表条目没有被冻结,并且经过邻居的所有梯度具有超过maxCost的CN+CND,那么该目的站条目不包括在消息中。如果梯度表条目被冻结,那么该目的站条目总是包括在消息中。如果一个给定目的站的梯度表中的条目具有全部源条目跳计数<1,那么该目的站条目不包括在消息中。快探测消息中的源条目对应于梯度表中的。快探测消息以足以到达所有紧靠和孤立邻居的功率发送。如果所有源站条目具有“否”的保持状态,那么从梯度列表删除它们。如果所有源条目被删除,那么从梯度表中删除对应的目的地条目。
当接收到一个快探测消息时,使用消息中的发射站ID、固有噪声电平、和发射功率信息更新发射邻居站的到邻居的价格(CN)。如果没有这样的邻居存在,那么用新的CND的值更新邻居梯度表,而不管它们以前的值。
对于每个快探测梯度条目,如下更新梯度表改变梯度超时以反映当前时间。
将源站条目从探测消息表复制到梯度表中的对应条目。
将跳数减小1。
如果不是已经存在,那么添加新的条目。
更新邻居梯度条目。
如下更新指定目的站的梯度表条目(假设快探测梯度条目来自具有CND的到目的站的最佳价格的邻居N)如果梯度表条目没有被冻结如果CN+CND大于或等于到目的站的当前最佳价格CD并且该价格不通过邻居N,那么什么事情都不做。
如果CN+CND小于到目的站的当前最佳价格CD并且该价格不通过N,那么将当前最佳价格CD更新到减小的值CN+CND。
如果CN+CND小于到目的站的当前最佳价格CD并且该价格通过N,那么将当前最佳价格CD更新到减小的值CN+CND。
如果CN+CND大于到目的站的当前最佳价格CD并且该价格通过N,那么冻结梯度表条目将冻结的状态设置到“on”并把冻结的超时设置到Ftime,和把CDF设置到CD的当前值。将CD设置到新的较高的值CN+CND,和保留经过其获得冻结的价格CDF的邻居站ID(NF)。
如果梯度表条目被冻结A.如果N=NF或B.如果N<>NF和如果CND小于冻结的价格CDF那么如果CN+CND大于或等于到目的站的当前最佳价格CD并且该价格不通过邻居N,那么什么事情都不做。
如果CN+CND小于到目的站的当前最佳价格CD并且该价格不通过邻居N,那么将当前最佳价格CD更新到减小的值CN+CND。
如果CN+CND小于到目的站的当前最佳价格CD并且该价格通过N,那么将当前最佳价格CD更新到减小的值CN+CND。
如果CN+CND大于到目的站的当前最佳价格CD并且该价格通过N,那么冻结梯度表条目将冻结状态保留在“on”并将冻结超时重置到Ftime和把CD设置到新的更高值CN+CND。注意CDF或经过其获得冻结价格CDF的站ID(NF)不应当改变。
如果冻结超时期满,那么将冻结状态设置到“off”。
现在参考图8,进一步讨论利用向量路由在本发明中使用的网络中形成回路的问题。图8示出了多个网络站A至I。在保持着到一个目的站的路线的同时,每个站在以规律的间隔向它的邻居发送探测信号,探测信号包含有关经过指出的站到目的站的价格的数据。假设所有其它站正在产生到目的站A的梯度,在每种情况下到邻居的价格(CN)是1,和从站F至I直接到站C的价格是10。在一定时间之后,站I知道经过站H至B到站A的总价格是8。如果任何站之间的价格,例如,B与C之间的价格,增加,那么这将影响整个链路价格升高,并且每个站应当提高它到A的价格,因为到A的所有路线都要经过B与C之间的链路。
如果从B到C的价格突然升高到一个高数值(例如,由于B与C失去了相互之间的连接,而升高到无穷大),并且C听不到来自B的任何探测或发送,那么C将它经过B到A的价格改变到无穷大。站C继续收听其它站的探测信号,并且收听到,例如,来自站I的,指示到A的价格是8的探测信号。由于从C直接到I的价格是10,所以这导致C认为它能够以10加8或18的总价格经过I到A,这比无穷大要好。但是,这当然是不真实的,仿佛传输路由经过站I,它返回终止在站C,并且形成了一个环路,从而消息永远不会到达站A。
为了解决这种情况,需要有一种在实际上选定的中间站不能到达目的站时,防止一个站将另一个站识别为将消息传输到目的站的中间站的方法。这是通过建立中间站不能被具有高于“冻结”测试值的到达目的值的价格的站替换的预定时间周期的需要完成的。这需要保持一个足以允许线路上所有站都能用新的价格数据更新的周期。
在上述例子中,从C到A的价格的冻结测试值是2。除非站C在冻结周期中收听到来自具有小于2的到达目的站的价格的另一个站的探测,它不用另一个站替换站B。在冻结时间中,上行线路中从站D到I的所有站把它们的价格更新到无穷大,而在这个过渡期中每个站具有其自己的冻结测试值。例如,站B具有3的到A的价格,并且如果它没有收听到具有小于3的到A的价格的站,它不进行更新。
重要的是冻结周期应当足够长,以允许站C能够直接看到的(以任何价格)上行链路中任何站能够被更新。在本例中,站C能够以10的高价格直接看到站F,G,H和I。因此,在允许C选择它们中间的一个作为到达站A的线路中的中间站之前,冻结周期必须允许有足够的时间使得探测过程能够更新站F至I。
在本例中,例如,如果将冻结周期设置到10个探测间隔,那么在7个探测间隔之后,站I被更新并且显示出无穷大的到站A的价格。如果在这点站C未冻结它的测试值2,那么它将仅接收到来自指示无穷大的到站A的价格的其它站的探测信号,并且不选择它们中的任何一个,因为这指示这些其它站也没有到达站A的线路。这防止了形成环路。
在下面的三个例子中更详细地说明了冻结过程。
这一节要说明冻结和再冻结过程的两个例子。首先说明一个最佳下一个邻居保持不变的简单情况。其次说明最佳下一个邻居在其冻结时改变的情况。
例1本例基于图9中的站(M)。它示出了每个冻结操作的超时操作。
建立从S到D的梯度。站M的梯度表(GT.)如下

假设CND从6改变到7

Ftime是表明冻结状态将在100ms后清除的超时计数。如果在第一冻结条目超时之前CND再次改变,也就是说从7改变到9,那么这叫作再冻结。站M的GT如下。在这个时候,我们要使用保持对CDF,NF和Ftime的跟踪的再冻结表。

第二条目的定时器(100ms)将在其建立时开始。
当第一条目超时时,我们将使用第二再冻结条目中的CDF和NF值。在我们的执行中,我们将向前复制这些条目。

再冻结可能发生数次。
例2本例基于图10中的站(M)。
建立从S到D的梯度。在稳定之后,M的GT如下

方案1假设(3)的CND从3改变到5。从(3)接收到一个快探测。(M)中的GT更新如下

此时,由于CN+CND=8大于CD=7,所以来自(2)的快探测不会影响(M)的GT。
由于CN+CND=6小于CD=7,所以来自(1)的快探测更新(M)的GT。在更新之后,(M)的GT如下。现在假设Ftime是40ms。

方案2假设(1)的CN从2改变到3。这将造成GT条目被再冻结

当第一条目超时时,GT如下

当第二条目超时时,GT如下

例3本例说明了当冻结发生时几个站的总操作。在图11中,(1)和(4)之间的价格是10,从而到(D)的通信将通过(3),(2)和(1)。
假设(D)与(1)之间的价格增长,即,从1增长到20。这将造成被冻结。
下面的表示出了所有梯度表(到目的地(D))。假设快探测每10ms发生。下表示出了以ms为单位的绝对时间。

算法例子。
*1.站(1)接收来自(4)的FP。执行冻结站的算法。FP(4)中的CD是4,大于我的冻结价格CDF=1,从而不改变站1的GT。
权利要求
1.一种操作包括多个站的通信网络的方法,每个站能够发送和接收数据,从而使得该网络能够经过至少一个抓时机选定的中间站从始发站向目的站发送数据,所述方法包括a)定义与至少一个数据信道不同的至少一个探测信道;b)在每个站并且根据第一预定标准,选择用于向其它站发送探测信号的探测信道;c)在选择的探测信道上从每个站发送第一探测信号,接收到来自探测站的第一探测信号的其它站直接或间接地回答,由此向探测站指出它们能够用作目的或中间站;d)在每个站,保持包括通过步骤(c)识别的其它可用站的详细信息的邻居表;e)从需要向不是邻居站的目的站发送数据的站,向邻居表中的站,发送第二探测信号,和接收来自邻居表中的站的第二探测信号;和f)在需要时,在每个站保持一个包括有关与每个不是邻居站的目的站通信的价格的数据的梯度表,从而使得每个站能够选择预定数量的,用于以最低价格从始发站向目的站前向发送数据的中间站。
2.根据权利要求1所述的方法,其中通过步骤(c)识别的其它可用站的详细信息包括到达其它可用站所需的路径损耗和功率。
3.根据权利要求1或2所述的方法,其中仅在所述站的邻居表包含条目时,才从每个站发送第二探测信号。
4.根据权利要求1至3中的任何一项所述的方法,其中所述方法进一步包括计算邻居表中每个站的用作从始发站经过邻居表中每个这种站向目的站发送消息的价格的到目的值的价格。
5.根据权利要求1至4中的任何一项所述的方法,其中每个站也保持其本身到目的值的价格的临时记录。
6.根据权利要求4或5所述的方法,其中到目的值的价格是经过邻居表中每个这种站和任何中间站,从始发站向目的站发送消息的累加价格。
7.根据权利要求4至6中的任何一项所述的方法,其中所述方法包括将每个站的计算的到目的值的价格保持恒定达一个周期,使得在所述周期期间,其它站能够更新其本身的到目的值的价格,以防止各个站在它们本身的计算中使用其它站的到目的值的废弃价格的步骤。
8.一种包括多个客户站的通信网络,每个客户站能够发送和接收数据,使得网络可以经过至少一个抓时机选择的中间客户站从始发客户站向目的客户站发送包括多个数据分组的消息,并且其中所述网络进一步包括多个网关,用作客户站对网络的接入点;多个客户站能够与之通信的种子站,每个种子站与至少一个网关通信,多个种子站扩展了客户站的有效连接范围;和至少一个用户网络管理器,用于监视客户站;其中每个客户站适合于a)定义与至少一个数据信息不同的至少一个探测信道;b)在每个客户站并且根据第一预定标准,选择用于向其它客户站发送探测信号的探测信道;c)在选择的探测信道上从每个客户站发送第一探测信号,接收到来自探测客户站的第一探测信号的其它客户站直接或间接地回答,由此向探测客户站指出它们可以用作目的或中间客户站;d)在每个客户站,保持包括通过步骤(c)识别的其它可用客户站的详细信息的邻居表;e)从需要向不是邻居客户站的目的客户站发送数据的客户站,向邻居表中的客户站,发送第二探测信号,和接收来自邻居表中的客户站的第二探测信号;和f)在每个客户站保持包括有关与每个邻居客户站通信的价格的数据的梯度表,从而使得每个客户站能够选择预定数量的,用于以最低价格从始发客户站向目的客户站前向发送数据的中间客户站。
9.根据权利要求8所述的通信网络,其中每个客户站进一步适合于在通过步骤(c)识别的其它可用站的详细信息中包括到达其它可用站所需的路径损耗和功率信息。
10.根据权利要求8或9所述的通信网络,其中每个客户站进一步包括仅在所述站的邻居表包含条目时才从每个站发送第二探测信号的发射机。
11.根据权利要求8至10中的任何一项所述的通信网络,其中每个客户站包括为邻居表中每个站计算用作经过邻居表中每个这种站从始发站向目的站发送消息的价格的到目的值的价格的控制器。
12.根据权利要求8至11中的任何一项所述的通信网络,其中每个站包括用于保持其本身到目的值的价格的临时记录的存储器。
13.根据权利要求11或12所述的通信网络,适合于将每个站的到目的值的计算的价格保持恒定达一个周期,使得在所述周期期间其它站能够更新其本身的到目的值的价格,以防止各个站在它们本身的计算中使用其它站的到目的值的废弃价格。
全文摘要
本发明涉及一种操作通信网络的方法,该网络包括多个能够相互发送数据和接收数据的站。所述方法包括定义一个用于向其它站发送探测信号的第一探测信道。接收到来自一个探测站的第一探测信号的其它站向探测站指示它们可以用作目的或中间站。在每个站保持包括这些其它可用站的详细信息的邻居表。此外,从邻居表中的站发送和接收第二探测信号,并且在每个站包括一个包括有关与每个邻居站通信的价格的数据的梯度表,从而使得每个站能够选择用于以最低价格从始发站向目的站前向发送数据的预定数量的中间站。
文档编号H04L12/28GK1938998SQ200480041945
公开日2007年3月28日 申请日期2004年12月14日 优先权日2003年12月19日
发明者詹姆斯·戴维·拉尔森, 保罗·乔纳森·罗德曼 申请人:Iwics公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1