基于数据传输错误预测通信信道低于阈值的降级的制作方法

文档序号:7641070阅读:145来源:国知局
专利名称:基于数据传输错误预测通信信道低于阈值的降级的制作方法
基于数据传输错误预测通信信道低于阈值的降级
背景
已知的网络通信技术一般使用循环冗余校验(CRC)来检测通信信道上的 数据传输错误。如果使用CRC检测到信道有某个阈值数量的信息错误,则认 为该信道已经发生故障。该信道上提供的任何服务被中断,并且必须使用另一 个信道或者其它通信手段来重新建立通信。
而且,数据错误的阈值数量可能设置得太高,使得在信道故障之前丢失很 多的数据。而且,在故障之前,网络通信栈(例如TCP/IP栈)中的逻辑组件 试图补偿CRC-检测到的数据错误,引起更多的延迟并且消耗处理资源。
概述
本概述以简化形式提供对本发明各方面的说明性上下文。它不旨在用于确 定要求保护主题的范围,也不标识要求保护主题的关键和/或本质特征。在下面 的具体实施方式
中更完整地描述本发明的各方面。
发明人发现,错误检测技术(例如前向纠错(FEC)技术)可用于预测在 通信信道上准确传送信息的能力低于某个阈值的降级(例如,预测通信信道的 故障)。作为响应,可调整信息在信道上的发送和/或接收以例如防止低于阈值 的降级(例如防止信道故障)。在一些实施例中,通信信道是软件定义的无线 电信道。
预测降级可至少部分地基于对应于在通信信道上收到的一或多个信息块 的数据传输错误信息(例如这些块的错误率)并且可包括确定随时间的错误率 模式。基于这些判断,可预测低于阈值的降级并且调整发送和/或接收。调整可 包括开始使用不同的错误编码方案和/或使用附加通信信道来传送信息。
数据传输错误信息可包括任何各种信息,包括检测到的错误数量(例如 使用硬判决译码(HDD)确定的);软错误距离(使用软判决译码(SDD)来 确定);概率比;其它信息;以及上述各项的任何合适的组合。预测通信信道上低于特定阈值的降级以及对该预测作出反应,可防止信道 故障及在该信道上通信中导致中断。该技术与不预测信道故障而在检测到某个 数量的CRC错误之后才进行的已知系统形成对比。
在发送网络设备和接收网络设备之间距离的增加引起降级的情形中,预测 降级和避免信道故障可扩展这两个设备之间的通信范围,这两个设备之一或两 者可以是移动的。因而,可在一移动用户设备进一步离开另一网络设备(也可 以是移动用户设备的)移动时保持通信。而且,响应于预测对通信进行调整, 可克服否则会阻碍两个网络设备之间通信的干扰。
在本发明的实施例中,处理在通信信道上的网络设备上收到的信息。至少 部分地基于对应于在通信信道上收到的至少第一信息块的数据传输错误信息, 预测在通信信道上准确传送信息的能力低于特定阈值的降级。
在该实施例的一个方面,响应于预测低于特定阈值的降级,调整通信信道 上信息的发送和/或接收。
在该实施例的另一方面,调整包括调整发送和/或接收以防止低于阈值的 降级。
在该实施例的另一方面,接收按照第一编码算法编码的信息,且调整包括 开始将信息的编码从第一编码算法改变为第二编码算法。
在该实施例的又一方面,调整包括建立其上接收和/或发送信息的附加通 信信道。
在该实施例的另一方面,确定对应于至少第一块的数据传输错误信息。 在该实施例的另一方面,使用硬判决译码技术确定在至少第一块内的信息 传输错误的数量。
在该实施例的另一方面,调整包括使用软判决译码技术确定至少第一块的 软错误距离。
在该实施例的又一方面,调整包括确定对应于至少第一块的传输错误的概 率度量。
在该实施例的另一方面,调整包括使用前向纠错来确定数据传输错误信息。
在该实施例的另一方面,调整包括基于使用前向纠错纠正的错误来确定数据传输错误信息。
在该实施例的另一方面,调整包括在一时间段上,对于该时间段中收到的 相同大小的多个信息块中的每一块,确定对应于该块的数据传输错误信息,该 数据传输错误信息表示该块的错误率。在该方面,基于这些块的错误率确定该 时间段上的错误率模式,且预测包括至少部分地基于所确定的模式预测低于特 定阈值的降级。
在该实施例的又一方面,确定包括确定在该时间段上错误率的增加,且预 测包括将所确定的增加与阈值比较并且至少部分地基于该比较预测低于特定 阈值的降级。
在该实施例的另一方面,预测包括确定对应于多个块中最近收到的块的数 据传输错误的第一度量,将该度量与阈值比较并且至少部分基于该比较的结果 预测低于特定阈值的降级。
在该实施例的另一方面,预测包括确定对应于至少第一块的数据传输错误 的第一度量,将该度量与阈值比较并且至少部分地基于比较结果预测低于特定 阈值的降级。
在该实施例的又一方面,通信信道对应于一应用,且预测包括将度量与对 应于该应用的阈值比较。
在该实施例的另一方面,预测是通过网络设备的操作系统来实现的。
在该实施例的另一方面,在软件定义的无线电通信信道上接收信息,且预 测包括预测在该软件定义的无线电通信信道上的降级。
前述实施例的一或多个动作和/或其一或多个方面可使用计算机或其它类 型的计算系统来实现。
本发明的该实施例的各方面包括上述各方面和/或其变体的任何合适组合。
在本发明的另一实施例中,提供包括指令的计算机程序,作为指令由计算 机执行的结果,这些指令指示计算机执行在前述段落中描述的本发明的实施例 的方法和/或在前述段落中描述的其一或多个方面。
在本发明的另一实施例中,提供计算机程序产品。该产品包括计算机可读 介质,以及存储在该计算机可读介质上定义指令的计算机可读信号,作为指令由计算机执行的结果,这些指令指示计算机执行前述段落中描述的本发明实施 例的方法和/或在前述段落中描述的其一或多个方面。
在本发明的另一实施例中,提供用于处理在通信信道上的网络设备上接收 的信息的系统。系统包括预测模块,它至少部分地基于对应于在通信信道上收 到的至少第一信息块的数据传输错误信息来预测在通信信道上准确传送信息 的能力低于特定阈值的降级。
在该实施例的一个方面,系统包括传输调整器模块,它响应于预测到低于 特定阈值的降级来控制对通信信道上信息的发送和/或接收的调整。
在该实施例的另一方面,传输调整器模块用于调整发送和/或接收以防止 低于阈值的降级。
在该实施例的另一方面,接收按照第一编码算法编码的信息,且传输调整 器模块用于响应于预测到降级开始将信息的编码从第一编码算法改变为第二 编码算法。
在该实施例的又一方面,传输调整器模块用于响应于预测到降级建立在其 上接收和/或发送信息的附加通信信道。
在该实施例的另一方面,预测模块用于确定或接收至少第一块内对应于该 至少第一块的数据传输错误信息。
在该实施例的另一方面,预测模块用于使用硬判决译码技术确定关于至少 第一块的信息传输错误的数量。
在该实施例的另一方面,预测模块用于使用软判决译码技术确定至少第一 块的软错误距离。
在该实施例的又一方面,预测模块用于确定对应于至少第一块的传输错误 的概率度量。
在该实施例的另一方面,系统包括前向纠错译码器,且预测模块用于从前 向纠错译码器接收指示数据传输错误信息的信息。
在该实施例的另一方面,预测模块用于基于由前向纠错译码器纠正的错误 来确定数据传输错误信息。
在该实施例的另一方面,预测模块用于在一时间段,对于该时间段上收 到的相同大小的多个信息块的每一块,确定对应于该块的数据传输错误信息,
8该数据传输错误信息表示该块的错误率;基于这些块的错误率确定在该时间段 上的错误率模式;以及至少部分地基于所确定的模式预测低于特定阈值的降级。
在该实施例的另一方面,预测模块用于确定在时间段上错误率的增加,将 所确定的增加与阈值比较并且至少部分地基于该比较来预测低于特定阈值的 降级。
在该实施例的另一方面,预测模块用于确定对应于多个块中最近接收的块 的数据传输错误的度量,将该度量与阈值比较并且至少部分地基于该比较预测 低于特定阈值的降级。
在该实施例的又一方面,预测模块用于确定对应于至少第一块的数据传输 错误的度量,将该度量与阈值比较并且至少部分地基于该比较来预测低于特定 阈值的降级。
在该实施例的又一方面,通信信道对应于一应用,且预测模块用于将度量 与对应于该应用的阈值进行比较。
在该实施例的又一方面,预测模块是由网络设备的操作系统实现的。
在该实施例的另一方面,信息是在软件定义的无线电通信信道上接收的, 且预测模块用于预测该软件定义的无线电通信信道上信息传输的降级。
本发明的其它优点、新颖的特征和目标及其各方面和实施例,根据下面结 合附图考虑的包含本发明各方面和实施例的本发明的详细描述将是显而易见 的,其中附图是示意性的并且不是按比较绘制的。在这些附图中,在各附图中 例示的每一相同或几乎相同的组件由单个标号表示。为清楚起见,未对每一组 件在每一附图中都加上标签,也没有示出其中说明不是使本领域技术人员能理 解本发明所必需的本发明的每一实施例或方面的每个组件。
附图简述


图1是例示可在其上实现系统的一或多个实施例的网络系统的示例的框
图2是例示按照本发明的一些实施例用于预测在通信信道上准确传送信 息的能力低于特定阈值的降级并响应于该预测调整信息发送和/或接收的系统的示例的数据流图3是例示按照本发明的一些实施例在一时间段上通信信道的数据传输 错误信息的柱状图4是例示按照本发明的一些实施例用于预测在通信信道上准确传送信 息的能力低于特定阈值的降级并且响应于该预测调整信息发送和/或接收的方 法的示例的流程图5是例示其上可实现本发明的一些实施例的计算机系统的示例的框以及
图6是例示可用作实现本发明的一些实施例的计算机系统的一部分的存 储系统的示例的框图。
详细描述
尽管在此将本发明的若干实施例描述为使用FEC译码器和/或FEC译码技 术来实现的,但应了解本发明不受此限制。可使用用于检测数据传输错误的各 种其它技术中任一个,并且旨在落入本发明的范围之内。
本发明的这些和其它实施例的功能和优点将通过下述示例而得到更完整 的理解。下面的示例旨在促进对本发明的更好的理解并例示本发明的好处,但 并不例示本发明的全部范围。
如在此使用的,无论在书面说明中还是在权利要求书中,术语"包括)"、 "含有"、"承载"、"具有"、"包含"、"涉及"等应理解为是开放的, 即表示包括但不限于。只有过渡性短语"由...组成"和"基本上由...组成"分 别是封闭或半封闭过渡性短语,如在United States Patent Office Manual of Patent Examining Procedures (美国专利局专利审査程序手册)(第八版,第2次修订, 2004年五月)的2111.03节中对权利要求书所述。
示例
图i是例示其上可实现系统的一或多个实施例的网络系统ioo的示例的框
图。系统100可包括任何以下各项用户设备104、 106和108;通信网络102; 其它组件;或上述各项的任何合适的组合。如在此使用的,"网络"是由一或多段传输介质互连的二个或多个组件的 组,可在该传输介质上在这些组件之间交换通信。每一段可以是多种类型的传 输介质中任一种,包括一个或多个由金属和/或光纤制造的电线或光缆,空气(例 如使用通过载波的无线传输)或这些传输介质的任何组合。如在此使用的,"多 个"表示两个或更多个。应当了解,网络可如同由单根线、总线、无线连接或 其它类型的段连接的两个组件一样简单。而且,应当了解,当在本申请的附图 中将网络例示为连接至附图中的一个元素时,将所连接的元素本身视为该网络 的一部分。
如在此使用的,"网络设备"是用于在网络上通信的设备,包括但不限于: 工作站、个人计算机、终端、膝上型计算机、终端站、用户设备、服务器、网 关、寄存器、交换机、路由器、集线器、桥接器、目录、发送器、接收器、转 发器及其任何组合。如在此使用的,"用户设备"是网络设备,用户可从/向其 发送/接收通信,并且可用作通信网络上通信的端点。用户设备包括但不限于 工作站;个人计算机(例如PC);膝上型计算机、笔记本计算机;电话(例 如陆线或移动);寻呼机;BlackberryTM牌设备、PCS设备、个人数字助理(PDA)、 双向无线电(例如"步话机")、其它类型的用户设备以及上述各项的任何合 适组合。
网络(例如网络102)可以是或包括任何各种类型的网络,包括但不限于 局域网(LAN)、城域网(MAN)、广域网(WAN)、无线网络、公共陆地 移动网络(PLMN)、全球移动通信系统(GSM)网络、通用分组无线电业务 (GPRS)网络、通用移动电信系统(UMTS)网络、码分多址(CDMA)网络、 光学网络、数据网络、企业级网络、无线个域网(PAN)、家庭网络、电信网 络、公用交换电话网络(PSTN)、宽带网络、其它类型的网络或者上述各项 的任何合适组合。
应当了解,尽管图l仅例示了三个用户设备,但可包括任何数量的用户设 备作为网络系统100的一部分,包括几十、几百、几千、几万或甚至几十万或 几百万个用户设备。
每一用户设备可通过在通信网络102上发送分组流与其它用户设备通信。 可使用任何各种已知通信协议和标准来在网络上传输分组。这些协议可包括前向纠错(FEC)技术的使用。FEC是用于传输数据分组的协议,允许通信的接
收端对数据传输错误进行纠正。如在此使用的,"数据传输错误"是信息(例 如, 一个比特、字节、字符等)没有正确地从一个网络设备传送至另一个的错 误。数据传输错误一般与在其上传送信息的通信信道的降级相关联。该降级可 因各种因素所致,包括信息发送方与信息接收方之间的距离、承载信息的信号 的原始强度、干扰、其它因素或上述各项的任何合适组合。如在此使用的,"通 信信道"或"信道"是在其上传输信息的两个网络设备之间的通信路径。该路 径可包括一或多段传输介质并且可专用通信的特定频率、波长或时隙。通信信 道可以是任何各种类型的信道,诸如例如软件定义的无线电信道。
在信息传输之前,可将信息划分成一般具有预定义大小的块,例如,按照
网络通信协议的块编码方案的码字。编码器(例如FEC编码器)可使用预定 的算法编码这些块。该预定算法可添加专用于对块内信息(例如比特、字节和 /或字符)进行纠错的额外比特。该编码可在网络协议栈的数据链路层执行。在 通信接收端,可能在数据链路层,译码器(例如FEC编码器)可对信息的编 码块译码。使用编码器添加的额外比特,译码器可确定每一块内的任何信息是 否被不正确地传送,即是否存在任何信息传输错误。如果检测到任何信息传输 错误,则译码器尽可能纠正这些错误(即修复数据)。
图2是例示按照本发明的一些实施例的系统200的示例的框图,系统200 用于预测在通信信道上准确传送信息的能力低于特定阈值的降级并且响应于 该预测调整信息的发送和/或接收。系统204仅是用于预测这样的降级并且响应 于该预测调整信息发送和/或接收的系统的说明性实施例,而不旨在限制本发明 的范围。任何这样的系统的众多其它实现例如系统200的变型是有可能的,并 且旨在落入本发明的范围之内。
系统200可包括网络设备204,它可以是任何多种类型的网络设备,并且 可以是用户设备104、 106和108中的任一个。网络设备204可包括任何以下 各项解调器206、译码器210、预测模块218、传输调整模块224、编码器228 和调制器232。如图2所示,预测模块218和/或传输调整模块224可实现为网 络设备204的操作系统216的一部分。操作系统216可以是任何各种操作系统, 诸如例如下述的任何操作系统。应当了解,组件206、 210、 228和232中的任何一个还可实现为操作系统216的一部分。
解调器206可以是任何已知类型的解调器,并且可配置为接收通信信道上 经编码的调制信息202,例如是来自另一网络设备的。信息202已经按照任何 各种已知调制技术进行了调制。解调器206可配置为对信息202解调以产生经 编码的解调信息208。
译码器210 (例如FEC译码器)可配置为对信息208译码以产生经译码的 解调信息212,可将它传递给网络设备204的另一组件以进行进一步的处理。 信息208可以是一连串信息块(例如,块编码方案的码字)形式的。信息块的 大小(例如信息的数量,比特或字节)可基于用于编码该信息的应用程序、标 准和/或协议,例如所使用的码字的大小来确定。该大小可具有多个值中的任何 一个,例如,从200比特或更少直到几千字节或更多。译码器210可配置为对 每一块译码(例如使用FEC译码技术)以产生作为一连串块(例如如上所述) 的经译码信息212。
在本发明的一些实施例中,可使用译码器210确定的错误信息预测在通信 信道上准确传送信息的能力低于特定阈值的降级。例如,预测模块218可被配 置为从译码器210接收错误信息214并且使用该信息预测是否会发生这样的降 级。预测模块218可至少部分地基于关联于一或多个信息块的一或多个错误度 量和/或块间错误检测的模式来作出该预测。错误度量可被包括在错误信息214 中,并且错误模式可由预测模块218确定。
错误度量可以是指示关联于一或多个信息块的错误数量的各种度量中的 任一个,包括但不限于在信息块内检测到的错误数量;对应于信息块的软错 误距离;对应于信息块的概率比;其它度量;以及上述各项的任何合适的组合。
检测到的错误数量可用作在译码器210使用硬判决译码(HDD)来确定 信息是否有错误时的度量。HDD译码涉及作出关于信息是否为错误的二元判 决。S卩,如果有错误则判决为"是",如果无错误则为"否"。
软错误距离可用作在译码器210使用软判决译码(SDD)来确定信息是否 为错误时的度量。不像作出二元是/否判决的HDD,在SDD中作出软判决。艮P, 代替确定信息的检测电压是表示零还是一 (即是或否)且随后使用该二元值确 定是否发生了数据传输错误,SDD保留信息的电压电平,并且使用该电压电平来确定是否发生了错误。例如,如果逻辑"r'等同于i.o伏的电压电平,而信 息的接收电压为0.9伏,则代替确定该信息为逻辑"1",而保留0.9伏的值。 代替通过对每一信息执行二元运算来累加在块期间发生的错误数量,SDD涉及 确定检测到的接收电压与一个实数("阿尔法")之间的距离,该实数是按每 个接收到的信息的平均能量的估计归一化的欧几里德距离。在一个块内信息的 检测电压电平与阿尔法之间的累积距离定义了该块的软错误距离。
概率比也可用作在使用任何各种已知算法(例如维特比算法)来确定信息 块内信息的可能状态时的度量。例如,可使用这样的算法来确定码字内信息的 值的可能性。概率比可以是码字的最可能值与码字的第二最可能值的比率。低 概率比(意味着两个概率的值接近)可指示干扰对信息传输的影响。
预测模块218还可配置为确定一连串信息块的错误率之间的模式。例如, 可确定在一时间段内错误度量改变的程度。该程度可使用任何各种已知的度量 诸如例如百分比或比率来测量。所考虑的时间段可取决于任何各种因素诸如应 用和所需的性能。时间段可具有任何各种值,诸如例如从十毫秒或更短到五十 毫秒、 一百毫秒或更长。
预测模块可配置为使用数据传输错误信息(例如, 一或多个度量)和/或 错误率模式来预测通信信道足以传送信息的能力低于一阈值的降级。例如,可 将最近收到的信息块的度量和在特定时间段上的错误率与阈值度量和阈值时 间段进行比较。因而,降级阈值可以是度量阈值和错误率阈值的组合。例如,
降级阈值可以是以下各项的组合最近收到的块内的二十个数据传输错误;以 及在五十毫秒时间段上错误率增加百分之十。所选的阈值应当与通信信道性能 的可接受水平相关。例如,对于其中度量为块内数据传输错误数量的实施例, 在选择数据传输错误的阈值数量时可考虑译码器的纠错能力。例如,如果译码 器(例如,FEC译码器)具有每码字三十个错误的纠错能力,则错误阈值可设
置为每码字二十个错误。阈值可设置得比纠错能力低,如在上面的示例中,以 便可预期(即预测)和防止超过该能力。
图3是例示一时间段上数据传输错误信息的示例实施例的柱状图300。垂 直轴302表示错误度量(例如,错误数量,软错误距离或概率比),而水平轴 304表示时间。为说明起见,假设所使用的度量是错误数量。如图3所示,在第一个50毫秒中,检测到800个数据传输错误。应当了解,在这个50毫秒间 隔或任何其余的时间段中,可能已经收到若干信息块,有可能是数万甚至数十 万甚至更多信息块。此外,在第二个50毫秒至IOO毫秒的间隔中,检测到600 个错误;在100与150毫秒之间检测到1000个错误;在150与200毫秒之间 检测到1800个错误;而在200与250毫秒之间检测到3700个错误。柱状图300 中例示的模式306,从100毫秒处开始,可指示正在进一步彼此远离的发送和 接收网络设备。
如果错误率阈值设置为五十毫秒增加20%,则在150-、 200-和250-毫秒标 记处检测到的百分比改变达到了该阈值。因而,在一些实施例中,如果在这些 时间段也达到了度量阈值,则已经达到了降级阈值。考虑这个示例,其中度量 阈值为每信息块二十个错误。如果在150-毫秒标记处收到的最近块仅具有十五 个数据传输错误,则还未满足降级阈值。这将说明在下一个50毫秒内检测到 的错误数量为什么增加。同样,在200-毫秒标记处,最近收到的信息分组仅包 括了十九个数据传输错误,仍低于阈值。因此,不调整分组的发送/接收,且(如 模式306所示)下一个50毫秒中错误数量进一步增加。
然而,在250-毫秒标记处,最近收到的块包括了二十五个错误,这超过了 二十个错误的阈值。因此,因为错误率阈值已经满足(从200毫秒标记起大于 20%增加)且错误数量阈值已经满足(超过20),所以降级阈值已经满足。作 为响应,预测模块218可将该降级预测220的指示传递给传输调整模块224。
响应于收到降级预测220,模块224可通过向网络设备204的合适组件发 送调整指令225和/或向正在通过通信信道进行通信的网络设备发送调整指令 226来调整通信信道上信息的发送和/或接收。调整指令226可通过编码器228 以产生经编码的调整指令230,它可被输入至调制器232,后者产生经编码的 调制调整指令234,可将该指令发送至其它网络设备。
调整指令225和/或226可包括改变正用于在信道上发送信息的错误编码 方案的指令。例如,标准蜂窝电话错误编码方案使用1/2码比率,这对内容数 据与冗余数据具有一比一的比率。即,在每一发送信息与冗余信息之间有一比 一的比率。按照低于阈值的降级的预测,调整指令可指示将该比率改变为1/3 码比率,其中对每个信息发送两个冗余信息。虽然以此方式改变错误率方案增加了准确发送信息的能力(例如,随着发送与接收设备之间的距离的增长), 但这是以吞吐量为代价的。
在一些实施例中,除了改变错误编码方案以外,或者作为替换,可在两个 设备之间打开附加通信信道例如以调和吞吐量的损失。两个设备之间的通信随 后可在两个信道上发送以补偿吞吐量的损失。例如,对于蜂窝电话通信, 一个 信道可用于交换内容,而另一个信道可用于交换信号信息,和/或内容本身可在
两个通信信道之间多路传输。因而,调整指令225和/或226可指示创建附加通
信信道。
作为调整信息的发送和/或接收的结果,每一信息块内的错误数量和时间 段上的错误率可能会减少。例如,如图3所示,如果响应于在250毫秒处达到 的降级阈值而对通信信道改变错误率方案和/或打开新通信信道,则下一个50-毫秒间隔内的错误数量会减少。例如,从250毫秒处的2700个错误下降至300 毫秒处的600个错误,如柱状图300所示。如果降级阈值的达到是因通信设备 之间增加的距离所引起的且距离继续增加,那么,甚至在调整信息的发送和/ 或接收之后,错误数量会再次开始增加。例如,如图3所示,在350毫秒处的 错误数量是1100,比在前一间隔期间检测到的600个错误增长了。如果错误数 量和错误率再次达到其各自的阈值,则可执行对信息的发送和/或接收的另一次 调整。例如,可再次改变错误编码率和/或可打开另一通信信道。
尽管关于使用错误数量作为错误度量描述了图3,但应了解,如果度量是 软错误距离和/或概率比,则也可使用类似的技术。
系统100和/或200及其组件可使用任何各种技术来实现,包括软件(例 如,C、 C#、 C++、 Java或其组合)、硬件(例如一或多个专用集成电路)、 固件(例如电可编程存储器)或其任何组合。 一或然或多个系统100的组件可 驻留在单个设备(例如计算机)中,或者一个或多个组件可驻留在单独的分离 的设备中。此外,每一组件可分布在多个设备上,并且一个或多个设备可互连。
此外,在包括系统100和/或200的一个或多个组件的一个或多个设备中 的每一个上,每一组件可驻留在系统上的一或多个位置中。例如,这些系统的 不同组件部分可驻留在设备上的存储器的不同区域中(例如RAM、 ROM、盘 等)。这样的一个或多个设备中的每一个可包括多个已知组件诸如一个或多个处理器、存储器系统、盘存储系统、 一个或多个网络接口以及互连各种组件的 一个或多个总线或其它内部通信链路,以及其它组件。系统100和/或200及其 组件可使用诸如下面参考图4和5描述的计算机系统来实现。
图4是例示按照本发明的一些实施例的方法400的示例的流程图,该方法 预测在通信信道上准确传送信息的能力低于特定阈值的降级并且响应于该预 测调整信息的发送和/或接收。方法400只是预测这种降级的方法的说明性实施 例,而不旨在限制本发明的范围。该方法的其它实现,例如方法400的变型是 有可能的,并且旨在落入本发明的范围内。
在动作402,可在通信信道上接收信息。在动作404,可对接收到的至少 第一信息块确定一或多个错误度量,例如以上关于系统200的译码器210和预 测模块218所述。可将特定块的错误度量视为其错误率。
在动作406,可基于各个信息块的错误率确定一个时间间隔的错误率模 式,例如,如上关于系统200的预测模块218所述。
在动作408,可预测在通信信道上准确传送信息的能力低于特定阈值的降 级,例如,如上关于预测模块218所述。
在动作410,可调整通信信道上信息的发送和/或接收。例如,如上关于传 输调整模块224所述,通过改变用于发送/接收信息的错误率方案和/或通过添 加用于发送信息的附加通信信道来调整发送和/或接收。
方法400可包括附加动作。而且,作为方法400 —部分执行的动作的顺序 不受限于图3所示的顺序,因为这些动作可按其它顺序执行和/或至少部分地串 行或并行地执行一或多个动作。
方法400及其动作以及该方法和这些动作的各种实施方式和变型可由实 际上嵌入到例如非易失性记录介质、集成电路存储器元件或其组合的一个或多 个计算机可读介质上的计算机可读信号独立地或组合地定义。计算机可读介质 可以是可由计算机访问的任何可用介质。作为示例而非限制,计算机可读介质 可包括计算机存储介质和通信介质。计算机存储介质包括以任何方法或技术实 现用来存储诸如计算机可读指令、数据结构、程序模块或其它数据的信息的易 失性和非易失性、可移动和不可移动介质。计算机存储介质包括,但不限于 RAM、 ROM、 EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光学存储、盒式磁带、磁带、磁盘存储或其它磁性存储设备、 其它类型的易失性和非易失性存储器、可用于存储所需信息并且可由计算机访 问的任何其它介质、以及以上的任何合适组合。
通信介质通常体现为在诸如载波或其它传输机制的调制数据信号中的计 算机可读指令、数据结构、程序模块或其它数据。术语"调制数据信号"表示
以在该信号中编码信息的方式设定或更改其特征的一个或多个的信号。作为示 例而非限制,通信介质包括诸如接线网络或直接接线连接的有线介质、诸如声
学、RF、红外的无线介质或其它无线介质、其它类型的通信介质、以及以上的 任何适当组合。
在一个或多个计算机可读介质上具体化的计算机可读信号可定义作为一 个或多个程序的一部分的指令,作为由计算机执行的结果,这些指令指示计算 机执行本文所述的功能中的一个或多个(例如方法400或其任何动作)和/或各 种实施方式、变型及其组合。这种指令可以以各种编程语言中的任一种编写, 例如Java、 J#、 Visual Basic、 C、 C#、或C++、 Fortran、 Pascal、 Eiffel、 Basic、 COBOL等或其各种组合中的任一种。这种指令所具体化的计算机可读介质可 驻留在本文所述的系统100、 200、 500和600中任一个的组件的一个或多个上, 可在这种组件的一个或多个上分布,并可在其间变换。
计算机可读介质可以是可运输的,使得可将存储其上的指令加载到任何计 算机系统资源上以实现本文所述的本发明的诸方面。此外,应该意识到,如上 所述的存储在计算机可读介质上的指令并不限于体现为作为在主机计算机上 运行的应用程序的一部分的指令。相反,这些指令可体现为可用于编程处理器 以实现本发明的上述方面的任何类型的计算机代码(例如软件或微代码)。
应该意识到,执行本文所述的功能的诸如相关于图1、 2、 5和6描述的计 算机系统的计算机系统的多个组件的任何单个组件或组件集通常可被示为控 制这些功能的一个或多个控制器。 一个或多个控制器可使用釆用微代码或软件 进行编程以实现上述功能或以上任何合适组合的处理器来以许多方法实现,诸 如使用专用软件和/或固件。
根据本发明的各种实施方式可在一个或多个计算机系统上实现。这些计算 机系统可以是例如基于Intel PENTIUM (因特尔奔腾)型处理器、摩托罗拉PowerPC、 Sun UltraSPARC、 Hewlett-Packard (惠普)PA-RISC处理器、可从 超微半导体(AMD)购得的各种处理器中任一种或者任何其它类型的处理器 的通用计算机。应该意识到,任何类型的计算机系统中的一个或多个可用于实 现本发明的各个实施方式。
根据本发明的一实施方式的通用计算机系统被配置成执行上述功能的一 个或多个。应该意识到,该系统可执行其它功能并且本发明并不限于具有任何 特定一个或一组功能。
例如,本发明的各个方面可实现为在诸如图5中所示的通用计算机系统 500上执行的指定软件。计算机系统500可包括连接到诸如盘驱动器、存储器 或其它用于存储数据的设备的存储器设备504的处理器503。存储器504通常 用于在计算机系统500的操作期间存储程序和数据。计算机系统500的组件可 通过包括一个或多个总线(例如在集成在同一机器中的组件之间)和/或网络(例 如驻留在分离离散机器上的组件之间)的互连机制505来耦合。互连机制505 可在系统500的系统组件之间实现通信(例如数据、指令)。计算机系统500 还包括一个或多个输入设备502,诸如键盘、鼠标、跟踪球、麦克风、触摸屏, 以及一个或多个输出设备501,诸如打印设备、显示屏、扬声器。此外,计算 机系统500可包含将计算机系统500连接于通信网络(除了互连机制505之外, 或者作为其替代)的一个或多个接口 (未示出)。
在图5中更详细示出的存储系统506通常包括计算机可读并且可写的非易 失性记录介质601,在该介质上存储的信号定义了由处理器执行的程序或者在 介质601上或其中存储的信息可由该程序处理。例如,该介质可以是磁盘或闪 存。通常在操作中,处理器使数据从非易失性记录介质601读取到允许由处理 器比介质601更快速访问的另一存储器602中。该存储器602通常是诸如动态 随机存取存储器(DRAM)或静态存储器(SRAM)的易失性、随机存取存储 器。它可如所示地位于存储系统506中或者位于存储器系统504中(未示出)。 处理器503通常操控集成电路存储器504、 602中的数据,然后在处理完成之 后将数据拷贝到介质601中。用于在介质601与集成电路存储器单元504、 602 之间管理数据移动的各种机制是已知的,并且本发明并不限于此。本发明并不 限于特定存储器系统504或存储系统506。计算机系统可包括特定编程、专用硬件,诸如专用集成电路(ASIC)。 本发明的诸方面可在软件、硬件或固件或其任何组合中实现。此外,这种方法、 动作、系统、系统元素及其组件可实现为上述计算机系统的一部分或者实现为 独立组件。
虽然计算机系统500作为实践本发明的不同方面的一种计算机系统而作 为示例示出,但是应该意识到本方面的诸方面并不限于在图5所示的计算机系 统上实现。本发明的不同方面可在具有与图5所示不同的架构和组件的一个或 多个计算机上实施。
计算机系统500可以是可使用高级计算机编程语言编程的通用计算机系 统。计算机系统500也可以用特定编程、专用硬件实现。在计算机系统500中, 处理器503通常是诸如可从因特尔公司购买的公知的奔腾系列处理器的商用处 理器。许多其它处理器也可使用。这种处理器通常执行操作系统,诸如可从微 软公司购买的Windows 95、 Windows 98、 Windows NT 、 Windows 2000 (Windows ME)或Windows XP操作系统,可从苹果计算机公司购买的MAC OS System X,可从太阳微系统公司(Sun Microsystems)购买的Solaris Operating System,可从各种来源获得的Linux或UNIX。可以使用各种其它操作系统中 的任一种。
处理器和操作系统一起定义了计算机平台,其中可以高级编程语言编写应 用程序。应该理解,本发明并不限于特定计算机系统平台、处理器、操作系统、 或网络。而且,对本领域技术人员显而易见的是本发明不限于特定编程语言或 计算机系统,以及也可使用其它适当编程语言和其它适当计算机系统。
计算机系统的一个或多个部分可分布在耦合到通信网络的一个或多个计 算机系统(未示出)。这些计算机系统也可以是通用计算机系统。例如,本发 明的各个方面可分布在配置成向一个或多个客户端计算机提供服务(例如,服 务器)或执行总的任务作为分布式系统一部分的一个或多个计算机系统上。, 本发明的各个方面可在包括分布在执行根据本方面不同实施方式的各种功能 的一个或多个服务器系统上分布的组件的客户机-服务器系统上执行。这些组 件可以是用通信协议(例如TCP/IP)通过通信网络(例如因特网)传递的可执 行、中间(例如IL)或解释(例如Java)代码。应该意识到,本方面并不限于在任何系统或系统组上执行,并且本发明不 限于任何特定分布的架构、网络或通信协议。
本发明的各个实施方式可用面向对象的编程语言来编程,诸如SmallTalk、 Java、 J#(J-Sharp)、 C++、 Ada或C# (C-Sharp)。也可以使用其它面向对象的编 程语言。或者,可以使用功能、脚本、和/或逻辑编程语言。本发明的各个方面 可在非编程环境中实现(例如在HTML、 XML或其它格式中创建的文档,当 在浏览器程序的窗口中浏览这些文档时呈现图形用户界面(GUI)的诸方面或 执行其它功能)。本发明的各个方面可被实现为已编程或未编程元件或其任何 组合。此外,本发明的各个实施方式可用可从微软公司购买的Microsoft⑧.NET 技术来实现。
现在已经描述了本发明的某些说明性实施方式,对本领域技术人员显而易 见的是以上仅为说明性的而非限制,仅作为示例呈现。许多更改和其它说明性 实施方式在本领域普通技术之一的范围内,并且可以预期落在本发明的范围 内。特别地,虽然本文示出的许多示例涉及方法动作或系统元件的具体组合, 但是应该理解这些动作和这些元件可以通过其它方式组合以实现同一目的。仅 相关于一实施方式描述的动作、元件和特征并不旨在排除出其它实施方式中的 类似角色。此外,对于所附权利要求书中所述的一个或多个装置加功能的描述, 装置不旨在限制于本文所述的用于执行所述功能的装置,而是旨在涵盖范围内 的任何已知或以后开发的用于执行所述功能的等效装置。
权利要求中使用诸如"第一"、"第二"、"第三"等的序数词来修饰权 利要求元素,其自身并不表示任何优先级、先后次序、或一权利要求元素在另 一个之前的次序、或方法的动作执行的时间次序,而只是用作将具有特定名称 的一个权利要求元件从具有相同名称(但使用序数词)的另一元件区分开以区 别权利要求元素。
权利要求
1.一种处理在通信信道上的网络设备上接收的信息的方法,包括以下动作(A)至少部分地基于对应于在所述通信信道上收到的至少第一信息块的数据传输错误信息,预测在所述通信信道上准确传送信息的能力低于特定阈值的降级。
2. 如权利要求1所述的方法,其特征在于,还包括以下动作(B) 响应于预测所述低于特定阈值的降级,调整在所述通信信道上信息的 发送和/或接收。
3. 如权利要求2所述的方法,其特征在于,所述动作(B)包括调整所述发和/或接收以防止所述低于阈值的降级。
4. 如权利要求2所述的方法,其特征在于,接收按照第一编码算法编码的 信息,以及其中,所述动作(B)包括开始将所述信息的编码从所述第一编码算法改变 成第二编码算法。
5. 如权利要求2所述的方法,其特征在于,所述动作(B)包括建立用于接收 和/或发送信息的附加通信信道。
6. 如权利要求1所述的方法,其特征在于,还包括以下动作 (B)确定对应于所述至少第一块的数据传输错误信息。
7. 如权利要求6所述的方法,其特征在于,所述动作(B)包括使用硬判决译 码技术确定所述至少第一块中的信息传输错误的数量。
8. 如权利要求6所述的方法,其特征在于,所述动作(B)包括使用软判决译 码技术确定所述至少第一块的软错误距离。
9. 如权利要求6所述的方法,其特征在于,所述动作(B)包括确定对应于所 述至少第一块的传输错误的概率度量。
10. 如权利要求6所述的方法,其特征在于,所述动作(B)包括使用前向纠 错确定所述数据传输错误信息。
11. 如权利要求10所述的方法,其特征在于,所述动作(B)包括基于使用前向纠错纠正的错误来确定所述数据传输错误信息。
12. 如权利要求6所述的方法,其特征在于,所述动作(B)包括在一时间段 上,对所述时间段内收到的相同大小的多个信息块中的每一块,确定对应于所 述块的数据传输错误信息,所述数据传输错误信息表示所述块的错误率,其中,所述方法还包括以下动作-(c)基于所述块的错误率确定所述时间段上的错误率模式,以及其中,所述动作(A)包括至少部分地基于所确定的模式来预测所述低于特定阈值的降级。
13. 如权利要求12所述的方法,其特征在于,所述动作(C)包括确定所述错 误率在所述时间段上的增加,且其中,所述动作(A)包括将所确定的增加与阈值进行比较以及至少部分地 基于所述比较来预测所述低于特定阈值的降级。
14. 如权利要求12所述的方法,其特征在于,所述动作(A)包括确定对应 于所述多个块中最近收到的块的数据传输错误的第一度量,将所述度量与阈值 比较并且至少部分地基于所述比较的结果预测所述低于特定阈值的降级。
15. 如权利要求6所述的方法,其特征在于,所述动作(A)包括确定对应于 所述至少第一块的数据传输错误的第一度量,将所述度量与阈值比较并且至少 部分地基于所述比较的结果预测所述低于特定阈值的降级。
16. 如权利要求15所述的方法,其特征在于,所述通信信道对应于一应用,以及其中,所述动作(A)包括将所述度量与对应于所述应用的阈值进行比较。
17. 如权利要求1所述的方法,其特征在于,所述动作(A)是由所述网络设 备的操作系统实现的。
18. 如权利要求1所述的方法,其特征在于,所述信息是在软件定义的无 线电通信信道上接收的,以及其中,所述动作(A)包括预测所述软件定义的无线电通信信道上的降级。
19. 一种用于控制在通信信道上的网络设备上发送和/或接收信息的系统,包括预测模块,至少部分地基于对应于在所述通信信道上收到的至少第一信息块的数据传输错误信息来预测在所述通信信道上准确传送信息的能力低于特 定阈值的降级,以及传输调整器模块,响应于预测所述低于特定阈值的降级,控制对所述通信 信道上信息的发送和/或接收的调整。
20.—种计算机程序产品,包括至少一个计算机可读介质;以及存储在所述至少一个计算机可读介质上的计算机可读信号,所述信号定义 指令,作为所述指令由计算机执行的结果,所述指令控制所述计算机执行处理 在通过软件定义的无线电通信信道上的网络设备上接收的信息的方法,所述方 法包括以下动作(A)至少部分地基于对应于在所述软件定义的无线电通信信道上收到的至 少第一信息块的数据传输错误信息,预测在所述通信信道上准确传送信息的能 力低于特定阈值的降级。
全文摘要
申请人已经发现,错误检测技术诸如前向纠错技术,可用于预测在通信信道上准确传送信息的能力低于某个阈值的降级,例如预测通信信道的故障。作为响应,例如可调整信道上信息的发送和/或接收以防止低于阈值的降级,例如防止信道故障。预测降级可至少部分地基于对应于在信道上收到的一或多个信息块的数据传输错误信息,并且可包括确定随时间的错误率模式。基于这些判断,可预测低于阈值的降级并且调整发送和/或接收。调整可包括开始使用不同的错误编码方案和/或使用附加通信信道来传送信息。
文档编号H04L1/00GK101317354SQ200680044639
公开日2008年12月3日 申请日期2006年11月8日 优先权日2005年11月30日
发明者A·哈萨恩, C·惠特默, D·吴, V·派瑞克 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1