CN101385276A - 用于对通信链路上的错误进行评估的设备、系统和方法 - Google Patents

用于对通信链路上的错误进行评估的设备、系统和方法 Download PDF

Info

Publication number
CN101385276A
CN101385276A CNA2007800059658A CN200780005965A CN101385276A CN 101385276 A CN101385276 A CN 101385276A CN A2007800059658 A CNA2007800059658 A CN A2007800059658A CN 200780005965 A CN200780005965 A CN 200780005965A CN 101385276 A CN101385276 A CN 101385276A
Authority
CN
China
Prior art keywords
packet
test
receiving node
communication link
test packet
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.)
Pending
Application number
CNA2007800059658A
Other languages
English (en)
Inventor
A·阿尔德里古亚
G·A·里克特
J·威廉姆斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN101385276A publication Critical patent/CN101385276A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • H04L43/0829Packet loss
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Maintenance And Management Of Digital Transmission (AREA)
  • Monitoring And Testing Of Transmission In General (AREA)

Abstract

说明了一种用于评估通信链路上的错误的设备、系统和方法。提供了用于评估错误的设备,该设备具有包含被配置为执行下列必要的步骤的多个模块的逻辑单元:创建一个或多个测试数据包,确定通过通信链路向接收节点发送的测试数据包的量,通过通信链路向接收节点发送多个测试数据包,在多个数据包中分散测试数据包,以便接收节点能够连续地处理数据包,以及检查由接收节点接收到的测试数据包,以发现错误。

Description

用于对通信链路上的错误进行评估的设备、系统和方法
技术领域
本发明涉及评估通信链路上的错误,具体来说,涉及高速串行链路的实时可扩展性端口评估。
背景技术
在当今的工商界,产生了大量的信息。此信息常常对企业的成功是不可缺少的,可能是企业的最宝贵的商品。信息必须被处理、存储、更新,并由企业的运营单位共享。例如,制造商必须能够与其销售部、其支持人员、其供应商、其经销商,以及各种其他实体共享信息。结果,许多企业利用可能集中地放置的信息存储系统,与该企业有联系的所有人都可以访问。企业信息系统(EIS)就是一个这样的信息系统。企业可以具有访问一个或多个EIS的多个子实体或“客户端”。
企业可以利用一个处理器来管理其信息。然而,更加可能的是,企业具有链接在一起的多个处理器,以提高性能和计算能力。许多系统将多个处理器和数据存储单元组合为各种配置,包括共享存储器系统或分布式存储器系统。可以组织处理器的集合,以便每一个处理器都可以读取连接到不同的处理器的存储器。这种处理器的组织常常叫做“群集”。每一个处理器都可以直接连接到与这种多处理器组织中的处理器相连接的每一个存储器单元,并可以直接访问数据。常常,有四个或更多个处理器以及它们的存储器单元被以共享存储器配置组织在叫做“节点”的单一盒子中。然后,可以将节点连接在一起。
无论什么布局,处理器、群集或节点最有可能通过通信链路彼此连接在一起,而通信链路通常是插入到各种端口中的电缆。电缆常常是插入到串行端口中的高速互连电缆。随着处理器和存储器单元的布局变得更加复杂,在这些通信链路上产生数据传输错误的概率增大。如此,常常对连接多个处理器或系统的各种端口或链路进行测试,以评估数据传输中的错误和性能。
通信链路的性能会受到许多不同因素的影响,包括电压、电路板阻抗、温度、电缆长度、连接器等等。如果端口或链路完全损坏,或电缆断开连接,则连接会停止工作。然而,也有电缆可能没有被正确地放置或部分地损坏,连接只是性能下降而没有中断的情况。
大多数系统是通过向接收节点或端口发送大量的数据来测试错误的。该节点或端口又发出包含大量的待通过计数器检查的数据的确认。然后,可以计算出性能错误。这种方法以及大多数其他方法所存在的问题是,测试垄断了该链路,禁止了跨该链路的所有其他通信流。此会妨碍节点或端口被正确地使用或测试。
从前面的讨论可以看出,显然需要一种改进的评估通信链路上的错误的设备、系统和方法。优选情况下,这样的设备、系统以及方法允许对一个正在被使用的端口进行端口错误评估而不必禁用该端口。这样的设备、系统,以及方法也将允许在进行端口错误评估的同时,在测试正在进行时维持正在运行的系统的特征,如高数据速率和随机数据发送功能。这里说明了这样的设备、系统,以及方法,并要求保护其权利。
发明内容
响应当前的技术状况,具体来说,响应当前技术中的还没有被当前可用的错误评估设备、系统以及方法解决的问题和需求,开发了本发明。相应地,本发明是为了提供克服了当前技术中的许多上文所讨论的缺点或全部缺点的用于评估通信链路上的错误的设备、系统、方法而开发的。
用于评估通信链路上的错误的设备具有被配置为在功能上执行下列必要的步骤的多个模块:创建一个或多个测试数据包,确定通过通信链路向接收节点发送的测试数据包的量,通过通信链路向接收节点发送多个测试数据包,在多个数据包中分散测试数据包,以便接收节点能够连续地处理数据包,以及检查由接收节点接收到的测试数据包,以发现错误。在整个本说明书中,对通信链路的引用也可以包括接收节点,反之亦然。
所描述的实施例中的这些模块包括创建模块、确定模块、发送模块、分散模块,以及检查模块。在一个实施例中,该设备被配置为创建测试数据包,确定通过通信链路向接收节点发送的测试数据包的量,以便测试该通信链路和/或接收节点,以发现错误。该设备还可以被配置为以不禁用接收节点的速率发送与正常的数据包分散在一起的多个测试数据包。该设备检查接收到的测试数据包,以发现错误。
在一个实施例中,该设备进一步被配置为有选择地向测试数据包分配优先级。可以一直发送测试数据包,直到到达测试数据包的预定的阈值。在一个实施例中,此阈值是确定的,以便发送足够的测试数据包以模拟接收节点的预定的错误率。在一个实施例中,该设备将测试数据包错误记录到错误寄存器中。
本发明还提供了用于评估通信链路上的错误的系统。该系统可以作为节点的群集或以多个计算设备配置的方式来实现。在一个实施例中,该系统是作为一个或多个可扩展的企业服务器来实现的。
该系统可以包括至少一个中央处理单元(CPU)和处理器。该系统还可以包括高速缓存和高速缓存控制器。该系统包括用于连接到通信链路的至少一个端口。存储器可以包含用于在处理器上执行的模块。在一个实施例中,模块包括构成了上文所描述的设备的那些模块。该系统可以包括用于创建一个或多个测试数据包的创建模块,用于通过通信链路向接收节点发送多个测试数据包的发送模块,以及分散模块,用于在多个数据包中分散测试数据包,以便接收节点能够连续地处理数据包。在一个实施例中,存储器包括检查模块,用于检查由接收节点接收到的测试数据包,以发现错误。总线可操作地连接了至少一个CPU、处理器、高速缓存、高速缓存控制器、端口,以及存储器。
本发明还提供了用于评估通信链路上的错误的方法。所说明的实施例中的方法基本上包括执行上文对于所描述的设备和系统的操作所提供的功能所需的步骤。在一个实施例中,该方法包括创建一个或多个测试数据包,以及确定通过通信链路向接收节点发送的测试数据包的量。该方法还可以包括通过通信链路向接收节点发送多个数据包,以及通过通信链路向接收节点发送一个或多个测试数据包。在一个实施例中,测试数据包被以不禁用接收节点的速率分散在数据包中。检查测试数据包,以发现错误。这里所说明的方法步骤还可以作为由计算机程序产品的计算机可读取的代码执行的操作来实现。
在整个说明书中对功能、优点的引用或类似的语言并不意味着,可以利用本发明实现的所有功能和优点应该是或位于本发明的任何单一实施例中。相反地,引用了功能和优点的语言被理解意味着,与实施例一起描述的特定功能、优点或特征包括在本发明的至少一个实施例中。如此,整个说明书中的对功能和优点的讨论,以及类似的语言可以,但不一定是指相同实施例。
此外,在一个或多个实施例中,本发明的所描述的功能、优点和特征可以以任何合适的方式来组合。那些本领域的普通技术人员将认识到,本发明可以在没有特定实施例的一个或多个特定功能或优点的情况下来实现。在其他情况下,在某些实施例中可以有其他功能和优点,不一定存在于本发明的所有实施例中。
通过下面的描述和所附的权利要求,本发明的这些特点和优点将变得显而易见,或者,如下面所描述的,也可以通过本发明的实施例的实践来了解。
附图说明
为了轻松地理解本发明的优点,将通过参考附图中显示的特定实施例,提供上文简要描述的本发明的比较具体的描述。可以理解这些附图只描述了本发明的典型的实施例,因此,不被视为对其范围的限制,将通过使用附图并利用额外的特征和细节描述和说明本发明,在附图中:
图1是显示了用于自动地检测电缆配置的系统的一个实施例的示意方框图;
图2包括了一对企业服务器的本发明的系统的一个实施例的后视图;
图3是显示了用于评估通信链路上的错误的设备的一个实施例的示意方框图;
图4是显示了用于评估通信链路上的错误的方法的一个实施例的示意流程图;
图5是显示了用于评估通信链路上的错误的方法的一个实施例的示意流程图。
具体实施方式
本说明书中描述的许多功能单元被标记为模块,以便特别强调它们的实现方式的独立性。例如,模块可以作为包括自定义VLSI电路或门阵列、诸如逻辑芯片之类的现成半导体、晶体管或其他分立元件的硬件电路来实现。模块还可以以诸如现场可编程门阵列、可编程阵列逻辑、可编程逻辑设备之类的可编程硬件设备来实现。
模块还可以以用于供各种处理器来执行的软件来实现。例如,可执行代码的标识的模块可以包括计算机指令的一个或多个物理或逻辑块,指令可以作为对象、过程、函数来组织。尽管如此,标识的模块的可执行代码不必在物理上位于一起,而是可以包括存储在不同位置的不同的指令,当这些指令在逻辑上联合在一起时,包括模块,并实现该模块的指定目的。
实际上,可执行代码的模块可以是单个指令、或许多指令,甚至可以在多个不同代码段、在不同的程序中,以及跨多个存储设备地分布。同样,这里可以在模块内标识和显示操作数据,并可以以任何合适的形式来实现并在任何合适的数据结构类型内组织。操作数据可以作为单个数据集来收集,也可以在不同的位置上分布,包括在不同的存储设备上分布,可以至少部分地,只作为系统或网络上的电子信号存在。
在本说明书中对“一个实施例”或“实施例”的引用,或类似的语言,意味着,涉及实施例所描述的特定功能、结构或特征包括在本发明的至少一个实施例中。如此,在本说明书中出现的短语“在一个实施例中”或“在实施例中”以及类似的语言可以,但不一定都是指同一个实施例。
对信号承载介质的引用可以呈现能够生成信号、使信号生成,或使数字处理设备上的机器可读取的指令的程序执行的任何形式。信号承载介质可以通过传输线路、光盘、数字视盘、磁带、伯努利驱动器、磁盘、穿孔卡片、快闪存储器、集成电路或其他数字处理设备存储设备来实现。
此外,在一个或多个实施例中,所描述的本发明的功能、结构或特征可以以任何合适的方式来组合。在下面的描述中,提供了许多具体细节,如编程、软件模块、用户选择、网络事务、数据库查询、数据库结构、硬件模块、硬件电路、硬件芯片等等的示例,以提供对本发明的实施例的全面的了解。然而,那些本领域技术人员将认识到,本发明可以在没有一个或多个具体细节的情况下来实现,或利用其他方法、组件、材料等等来实现。在其他情况下,没有显示或详细描述已知的结构、材料、或操作,以避免模糊本发明的某些方面。
图1显示了根据本发明的用于评估通信链路上的错误的系统100的一个实施例的示意方框图。在一个实施例中,系统100是可扩展的企业服务器。系统100包括至少一个中央处理单元102。在一个实施例中,系统100包括紧密封装在一起以形成一个节点的四个CPU102。系统100包括处理器104。在一个实施例中,处理器是2.8GHz处理器。在其他实施例中,处理器是3.0GHz处理器。系统100也包括高速缓存106和高速缓存控制器108。高速缓存可以是2MB L3高速缓存。在一个实施例中,高速缓存是XceL4Server Accelerator Cache。在一个实施例中,控制器108包括或被配置为SMP扩展控制器109。利用SMP扩展控制器109,可以在多个系统之间进行高速通信。本领域技术人员认识到,可以使用各种处理器和硬件配置来实施本发明的原理。在一个实施例中,该系统是可升级的,以包括四路、八路、十六路和三十二路处理。
系统100包括存储器110和存储器控制器112。在一个实施例中,存储器是具有存储器镜像、热交换,以及热添加功能的主动式存储器。在一个实施例中,存储器110包括2GB的DDR存储器,每八路系统,都可扩展到64GB。本领域技术人员认识到,可以扩展存储器,以符合系统的大小。
在一个实施例中,存储器包括错误评估器114。如下面比较详细地讨论的,存储器控制器包括构成错误评估器的用于在处理器上执行的模块。在一个实施例中,模块或错误评估器构成了SMP扩展控制器109的一部分。在一个实施例中,存储器控制器包括用于创建一个或多个测试数据包的创建模块。它还可以包括用于确定通过通信链路向接收节点发送的测试数据包的量的确定模块。存储器控制器112还可以用于通过通信链路向接收节点发送多个测试数据包的发送模块。分散模块可以将测试数据包分散在多个数据包中,以便接收节点能够连续地处理数据包。检查模块可以检查由接收节点接收到的测试数据包,以发现错误。本领域技术人员应认识到,错误评估器可以驻留在存储器110中。
系统100包括用于连接到通信链路的至少一个端口116。在一个实施例中,系统100包括多个扩展端口118和外部端口120。在一个实施例中,端口116包括通过PCI桥124进行连接的外围组件互连(PCI)插槽122。端口116还可以是高速串行端口。如这里所使用的,术语“端口”也可以是节点或接收节点。
系统100可以包括通过PCI桥124与处理器进行通信的小型计算机系统接口(SCSI)126。在一个实施例中,SCSI 126可以是具有集成的独立磁盘冗余阵列(RAID)并被其支持的双通道SCSI。系统100还可以包括以太网128连接。在一个实施例中,以太网128连接是集成的双吉比特以太网128。
系统100还可以具有视频130、通用串行总线(USB)132、键盘和鼠标134,以及远程监控程序适配器(RSA)136的连接。系统100包括用于可操作地连接至少一个CPU 102、处理器104、高速缓存106、高速缓存控制器108、端口116、存储器110、存储器控制器112的总线138。在一个实施例中,总线138可操作地连接SCSI126、以太网128、视频130、USB 132、键盘/鼠标134,以及RSA136。
本领域技术人员认识到,所显示的系统100可以包括SMP扩展模块或中心电子综合体(CPC)。在一个实施例中,如下面比较详细地讨论的,两个SMP扩展模块可以使用两个扩展端口连接在一起,以形成单一节点八路配置。然而,PCI桥124也具有双向远程扩展I/O端口(RXE端口),用于连接到远程配置管理器(参见图2)。
现在请参看图2,系统200的实施例包括多个可扩展的企业服务器。本领域技术人员应认识到,可扩展性可以保证系统升级和扩展,以便提高容量、功能和性能。在此示例中,系统200包括第一服务器202、第二服务器204,以及远程配置管理器206。第一服务器202和第二服务器204使用高速率数据电缆210连接在一起。另外,第一服务器202和第二服务器204使用诸如以太网电缆208和高速率数据电缆210之类的离线式通信电缆连接到远程配置管理器206。配置管理器206可以生成第一服务器202和第二服务器204之间的连接的连接拓扑图。另外,配置管理器206还可以管理第一服务器202和第二服务器204之间的通信仲裁。本领域技术人员应认识到,错误评估器116可以位于一个或多个服务器202、204中,或位于远程配置管理器206中。
相应地,图1显示了基本系统100的实施例。通过使用各种链路210,可以将图1中的系统连接到另一个系统,这给系统提供了可扩展性。在图2中所显示的实施例中,图1中的系统通过高速链路,与另一个四CPU存储器和PCI插槽连接在一起。本领域技术人员应认识到,系统200可以包括连接在一起的任意数量的系统。例如,两个系统可以连接在一起,看起来像“8路”系统。在一个实施例中,四个系统可以连接在一起,看起来像“16路”系统。在另一个实施例中,系统和/或节点可以被配置为,看起来像“32路”系统等等。
这些“多节点”系统可以通过高速串行链路连接在一起。如图2所示,底盘202和204可以通过SMP扩展连接而连接在一起。远程配置管理器206或“RXE扩展连接”常常用于提供更多输入/输出功能。在一个实施例中,底盘202和204是多节点系统的示例。在图2中所显示的实施例中,每一个底盘202和204都在单一底盘中包括最多八个处理器。
现在请参看图3,该图显示了用于评估通信链路上的错误的设备300。该设备包括用于创建一个或多个测试数据包的创建模块302。在一个实施例中,每一个测试数据包都容纳两千字节的数据。本领域技术人员应认识到,创建模块302可以创建各种大小和长度的测试数据包。测试数据包被配置为通过通信链路发送到接收节点。测试数据包可以包括一个或多个字节的标头信息,并可以包括标头或页脚,以有助于在通信链路的另一侧检查测试数据包中的任何错误。通信链路可以包括,但不仅限于,串行端口、连接点等等。测试数据包可以包括预定的数据,可以保证当在通信链路的另一端接收到数据包时进行更好的比较。
设备300也包括确定模块304,用于确定通过通信链路向接收节点发送的测试数据包的量,以便评估通信链路上的错误。在一个实施例中,测试数据包的量是发送到接收节点的全部数据包的百分比。例如,设备300可以通过通信链路发送数据包的集合,包括大致1%的测试数据包和99%的常规数据包。在另一个实施例中,测试数据包可以包括最多大约发送的数据包的90%。
确定模块304可以基于预定时间阈值确定要发送的测试数据包的量。例如,设备300可以在一个或多个预定的时间量内发送测试数据包。在另一个实施例中,发送的测试数据包的数量可以包括预定数量。在另一个实施例中,发送的测试数据包的量近似于接收节点的预定的错误率。如果接收节点具有工业标准的错误率,则确定模块304可以确定发送足够的测试数据包以近似于已知的错误率。例如,如果特定接收节点的错误率是每10-9字节的数据1个错误,则确定模块可以发送10-9字节的测试数据包,以便对接收节点中的错误情况获得较佳的了解。本领域技术人员应认识到,为近似于接收节点的低错误率,必须通过通信链路向接收节点发送足够的数据。
在一个实施例中,确定模块304监视通信链路上的通信量,以确定要通过通信链路发送多少测试数据包。例如,确定模块304可以分析许多作业位于通过通信链路发送到接收节点的队列中。确定模块304还可以监视接收节点的性能,并增大发送的数据包的数量,直到接收节点的性能减到某一水平。如此,确定模块304可以确定发送足够的测试数据包,以便充分地评估在通信链路上发生的错误,而同时不禁用通信链路。
设备300包括用于通过通信链路向接收节点发送多个测试数据包的发送模块306。在一个实施例中,发送模块306被配置为通过通信链路向接收节点发送一个或多个数据包。发送模块306可以包括适当的标头及发送测试数据包数据和/或常规数据所需的其他信息。在一个实施例中,通过编程逻辑执行发送模块的功能。在另一个实施例中,发送模块的功能是通过系统硬件来执行的。
发送模块306向每一个测试数据包分配优先级。在一个实施例中,向不同的测试数据包分配不同的优先级。可以相对于发送测试数据包的顺序,给测试数据包分配各种优先级。测试数据包被标记为测试数据包,并发送到通信链路(在一个实施例中,是可扩展性/RIO链路)的接收节点。在一个实施例中,测试数据包是高优先级数据包。发送模块306可以向连续的测试数据包分配相同或不同的优先级。然后,可以利用优先级仲裁发送测试数据包。例如,可以利用具有公平仲裁的优先级通过通信链路发送测试数据包。本领域技术人员应认识到,可以利用许多优先级和仲裁方案来发送其中分散了测试数据包的数据包。
可以连续地发送测试数据包,以保证在通信链路上数据包之间的交互。在一个实施例中,发送模块306发送测试数据包的阈值级别,以模拟接收节点的预定的错误率。如上文所讨论的,阈值可以基于特定通信链路或接收节点的已知平均错误率。发送模块306可以持续发送测试数据包,直到到达预定的阈值。发送模块306还可以调节发送测试数据包的速率,以便防止发送太多的测试数据包,而太多的测试数据包可能会禁用通信链路。发送模块306能够发送测试数据包和常规数据包两种。
设备300包括分散模块308,用于将测试数据包分散在多个数据包中,以便接收节点能够连续地处理数据包。当通信链路没有被禁用时,接收节点能够连续地对数据包进行处理。本领域技术人员应认识到,一次发送太多的测试数据包可能会导致通信链路和/或接收节点对常规数据流量变得禁用。在这些情况下,接收节点不能连续地处理常规数据包。分散模块308以允许接收节点和/或通信链路持续处理常规数据包的速率将测试数据包分散在常规数据包数据流中。
可以通过在常规数据包流的开始、结束或中间发送测试数据包,来分散测试数据包。可以通过在常规数据包流的开始、结束或中间发送一个或多个测试数据包的组,来分散测试数据包。在一个实施例中,分散模块308随机地在数据包或数据包流中分散测试数据包。在一个实施例中,分散过程是通过软件来完成的。在另一个实施例中,利用硬件的随机数发生器来将测试数据包随机地分散到数据包流中。
设备300还包括检查模块310,用于监视或检查由接收节点接收到的测试数据包,以发现错误。在一个实施例中,检查模块310只检查测试数据包以发现错误。在一个实施例中,检查模块310使用接收节点中的错误计数器。错误计数器被设置为只存储在测试过程中来自测试数据包的信息,如此,收集有关接收到的数据包的数量的信息,以及带有错误的数据包的数量。本领域技术人员应认识到,这可使系统对错误率进行计算,而同时系统还可进行正常的通信。在一个实施例中,检查模块310基于已知的测试数据包大小来检查错误。
在一个实施例中,检查模块310使用循环冗余码(CRC)检查,来检查通信链路上的错误。检查模块310可以对接收节点之间的通信链路上的所有数据传输使用多字节CRC错误检查协议。发送系统可以计算CRC,并将它附加到发送的数据中。接收系统将基于全部的消息——包括附加的CRC字节,来计算新的CRC。
在另一个实施例中,检查模块310通过使用总线奇偶校验来检查通信链路上的错误,验证在数据传输操作过程中数据没有被改变。检查模块310还可以使用信道检查报告和错误日志记录,来检测硬件错误并记录错误。本领域技术人员应认识到,检查模块310可以使用其他方法来检查特定数据流中的错误。
设备300还可以包括用于选择一个或多个测试数据包的优先级的寄存器。寄存器可以在设备或系统芯片集内定义,以允许寄存器确定测试数据包利用率。在一个实施例中,寄存器是可编程的。寄存器可以对发送测试数据包的速率进行编程。例如,可以利用0和10之间的值对寄存器进行编程,以便分别提供0和100%的测试利用率。例如,寄存器可以规定,每十个数据包中的“n”个可以是测试数据包。剩余的10-n个数据包是常规的或非测试数据流量。
寄存器可以是错误寄存器,检查模块310可以在错误寄存器中记录测试数据包错误。在一个实施例中,设备包括多个寄存器。寄存器可以被编程为只记录测试数据包,并指出哪些测试数据包有错误。在一个实施例中,在错误寄存器中没有收集有关在任何测试阶段的常规数据流量的信息。
如此,系统允许错误评估器设备300测定通过特定链路传输的数据量。系统可以允许在短时间量内发送大量的数据,或在长时间内发送少量数据,而不会堵塞链路。这可以保证系统或用户在系统仍在运行时进行诊断。相应地,系统允许在不关闭系统的情况下测试链路。它可在系统仍在运行时对多节点链路进行诊断。
本领域技术人员应认识到,各种模块的某些功能可以重叠或由其他模块执行。例如,可以由创建模块302执行确定要发送的数量的过程。此外,确定模块304的某些或全部功能可以由发送模块306来执行,发送模块306的某些或全部功能也可以由确定模块304来执行。类似地,分散模块308的某些或全部功能可以由发送模块306来执行,反之亦然。可以进一步理解,设备300的功能可以由在处理器上执行的软件来执行,或由在设备的或系统的硬件或固件中定义的寄存器来执行。
随后的简要流程图一般是作为逻辑流程图阐述的。如此,所描述的顺序和标出的步骤表示所呈现的方法的一个实施例。可以有在功能、逻辑或效果上等效于所说明的方法的一个或多个步骤或其一部分的其他步骤和方法。另外,所使用的格式和符号只是说明该方法的逻辑步骤,不对该方法的范围作出限制。虽然可以在流程图中使用各种箭头和线条类型,但是,它们不对对应的方法的范围作出限制。实际上,可以使用某些箭头或其他连接符来只表示方法的逻辑流程。例如,箭头可以表示所描述的方法的所列举的步骤之间的未指定的持续时间的等待或监视时间段。另外,执行特定方法的顺序可以,也可以不严格地遵循所显示的对应的步骤的顺序。
现在请参看图4,该图显示了用于评估通信链路上的错误的方法400。在一个实施例中,方法步骤包括执行上文所概述的系统和设备的功能所需的那些步骤。方法400开始402,创建404用于通过通信链路发送到接收节点的一个或多个测试数据包。然后,方法400确定406通过通信链路发送到接收节点的测试数据包的量。确定测试数据包的量的过程可以包括监视通过通信链路发送的数据包的量。如果要发送的测试数据包的量足以阻塞通信链路发送常规数据流,则发送较少的测试数据包。在一个实施例中,确定是否要发送更多测试数据包的过程是动态地进行的。如上文所讨论的,确定步骤406可以包括确定待分配的发送到接收节点的数据包的数量的百分比以发送测试数据包。它还可以包括确定要发送的测试数据包的具体数量或发送测试数据包所采用的速率。确定步骤406还可以确定发送测试数据包的时间量。
多个测试数据包与多个数据包一起通过通信链路发送到接收节点。在一个实施例中,数据中被分散以测试数据包发送406。测试数据包被分散到数据包中,以便接收节点能够连续地处理数据包。如此,测试数据包是以可变速率分散的,以测试通信链路,而不会禁用通信链路发送和接收其他数据的能力。
数据可以以“脉冲数据传输”的方式发送,其中,以多个字节发送数据,无需微处理器的干涉。在一个实施例中,在跨通信链路传输之前,数据被从硬盘移到缓冲器中。发送数据406的过程可以包括向测试数据包分配优先级。在一个实施例中,在通信链路上发送406足够的测试数据包,以模拟通信链路和/或接收节点的预定错误率。
测试数据包可以以人工方式每隔一定的时间间隔分散到数据包中。在一个实施例中,可以基于任意数量的性能因素,自动地将测试数据包分散到数据包流中。例如,如果系统的资源由于某种原因被完全占用,则可以在系统有资源可以被释放时发送测试数据包。
在一个实施例中,将测试数据包随机地分散到数据包中。本领域技术人员应认识到,随机数据通常比以特定模式或模式集发送数据产生更多的错误,这可以提供对通信链路上的任何错误的更清楚的评估。
检查410数据包,以查找错误,方法400结束412。在通信链路的另一端由接收节点接收到数据包之后,检查410数据包。检查数据包的过程包括在错误寄存器中记录错误。寄存器可以是硬件芯片集的一部分,并可以被编程,以确定测试数据包优先级和测试数据包利用率。在一个实施例中,只检查测试数据包的错误。测试数据包可以包括随机数据,该随机数据提供错误概况,在一个实施例中消除了检查对常规数据的CRC测试的必要性。
方法还可以包括重复步骤402到410的处理的步骤,直到满足预定的错误阈值。
现在请参看图5,该图显示了用于评估通信链路上的错误的另一种方法500。方法开始502,生成504一个或多个测试数据包。可以监视通信链路上的数据流506。确定508将测试数据包分散到数据中的速率。然后,将测试数据包通过通信链路分散510到待测试的数据包。所属领域的技术人员应了解,通信链路可以一起地或单独地包括,电缆或线路、发送点以及结束点。在一个实施例中,结束点是接收节点。
检查512通信链路的性能,以便确定发送的测试数据包的数量是否将通信链路的性能抑制在无法接受的水平。例如,如果正在发送太多的测试数据包,则可能会将常规数据的流动妨碍到无法接受的水平。此水平可以是预定的,也可以基于各种因素和用户的需求,进行调节。
然后,确定预定的错误阈值514。例如,发送最小数量的测试数据包以近似于特定通信链路的已知错误阈值可能是有益的。例如,如果对于特定端口或其他接收节点的标准错误率是每百万字节的数据一个错误,方法500可以发送一百万字节的数据,以便获得在通信链路上发生的错误的清晰的概况。如果没有到达阈值,则重新检查通信链路的性能516。如果性能低于所需的水平,则重新评估508将测试数据包分散到数据中的速率。如果性能正常,则分散510测试数据包的过程继续。当满足514测试数据包的所需的阈值时,方法结束518。
在一个实施例中,上文所描述的方法是计算机程序产品或有形地实现了可由数字处理设备执行的机器可读的指令的程序的信号承载介质的操作的形式实现的。在一个实施例中,计算机程序产品包括或有形地实现了具有计算机可使用的用于有助于访问系统信息的程序代码的计算机可读取的介质。计算机程序产品包括实现上文所描述的方法的计算机可使用的程序代码。该方法和对应的程序代码还可以包括执行上文所描述的模块的功能所需的步骤。
在不偏离本发明的精神和基本特征的情况下,本发明可以以其他特定形式来实现。所描述的实施例在各个方面都只作为说明性的,而不是限制性的。因此,本发明的范围由所附权利要求而不是由前面的描述指出。在权利要求的等效内的含义和范围内的所有更改都将包括在它们的范围内。
权利要求书(按照条约第19条的修改)
1.一种用于评估通信链路上的错误的方法,所述方法包括:
创建一个或多个测试数据包;
确定通过通信链路向接收节点发送的测试数据包的量;
通过所述通信链路向接收节点发送多个数据包;
通过所述通信链路向所述接收节点发送一个或多个测试数据包;
在所述数据包中分散测试数据包,以便所述接收节点能够连续地处理所述数据包;以及
检查由所述接收节点接收到的数据包,以发现错误,其特征在于:
确定测试数据包的量的过程包括,确定待分配的发送到所述接收节点的数据包的数量的百分比以发送测试数据包。
2.根据权利要求1所述的方法,其中,发送测试数据包的过程包括,有选择地向连续的测试数据包分配优先级。
3.一种包括用于执行根据任何前面的权利要求之一所述的方法的所有步骤的装置的系统。
4.一种计算机程序,包括用于当所述计算机程序在计算机系统上执行时执行根据任何前面的权利要求之一所述的方法的所有步骤的指令。

Claims (9)

1.一种用于评估通信链路上的错误的方法,所述方法包括:
创建一个或多个测试数据包;
确定通过通信链路向接收节点发送的测试数据包的量;
通过所述通信链路向接收节点发送多个数据包;
通过所述通信链路向所述接收节点发送一个或多个测试数据包;
在所述数据包中分散测试数据包,以便所述接收节点能够连续地处理所述数据包;以及
检查由所述接收节点接收到的数据包,以发现错误。
2.根据权利要求1所述的方法,其中,确定测试数据包的量的过程包括,确定待分配的发送到所述接收节点的数据包的数量的百分比以发送测试数据包。
3.根据权利要求1所述的方法,其中,发送测试数据包的过程包括有选择地向连续的测试数据包分配优先级。
4.根据权利要求1所述的方法,其中,通过所述通信链路发送一个或多个测试数据包的过程包括,发送测试数据包的阈值级别,以模拟所述接收节点的预定错误率。
5.根据权利要求1所述的方法,其中,在所述数据包中分散测试数据包的过程包括,在所述数据包中随机地分散测试数据包。
6.根据权利要求1所述的方法,其中,检查由所述接收节点接收到的所述数据包以发现错误的过程包括,在错误寄存器中记录错误。
7.根据权利要求6所述的方法,其中,检查由所述接收节点接收到的所述数据包以发现错误的过程包括,专门地检查测试数据包以发现错误。
8.一种包括用于执行根据任何前面的权利要求之一所述的方法的所有步骤的装置的系统。
9.一种计算机程序,包括用于当所述计算机程序在计算机系统上执行时执行根据任何前面的权利要求之一所述的方法的所有步骤的指令。
CNA2007800059658A 2006-03-29 2007-03-14 用于对通信链路上的错误进行评估的设备、系统和方法 Pending CN101385276A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/277,868 2006-03-29
US11/277,868 US7747734B2 (en) 2006-03-29 2006-03-29 Apparatus, system, and method for error assessment over a communication link

Publications (1)

Publication Number Publication Date
CN101385276A true CN101385276A (zh) 2009-03-11

Family

ID=38174821

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2007800059658A Pending CN101385276A (zh) 2006-03-29 2007-03-14 用于对通信链路上的错误进行评估的设备、系统和方法

Country Status (6)

Country Link
US (1) US7747734B2 (zh)
EP (1) EP2002602B1 (zh)
CN (1) CN101385276A (zh)
AT (1) ATE432564T1 (zh)
DE (1) DE602007001192D1 (zh)
WO (1) WO2007110329A2 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104794030A (zh) * 2014-01-21 2015-07-22 鸿富锦精密工业(深圳)有限公司 Sas线缆检测系统及方法
CN109286863A (zh) * 2017-07-21 2019-01-29 深圳市中兴微电子技术有限公司 一种建立链路的方法、onu及计算机可读存储介质
CN109614288A (zh) * 2018-12-10 2019-04-12 浪潮(北京)电子信息产业有限公司 高速链路误码告警方法、装置、设备及可读存储介质
CN109691019A (zh) * 2016-12-20 2019-04-26 华为技术有限公司 执行通信网络业务模拟的设备和方法
CN110249591A (zh) * 2016-12-16 2019-09-17 赫思曼自动化控制有限公司 用于优化利用测试数据包的冗余协议的故障识别的方法

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080049716A1 (en) * 2006-06-30 2008-02-28 Intel Corporation Error rate based power management of a high-speed serial link
US20090064255A1 (en) * 2007-08-27 2009-03-05 At&T Knowledge Ventures, Lp System and method of providing performance data
FR2924553B1 (fr) * 2007-12-04 2010-04-23 Thales Sa Procede pour ameliorer l'integrite de moyens de communication
CN101841437B (zh) * 2010-03-23 2012-04-18 华为技术有限公司 对设备进行测试的方法及装置
EP2984788B1 (en) 2013-04-11 2017-03-22 Telefonaktiebolaget LM Ericsson (publ) Admission control for allowing or rejecting a measurement request between a first and a second device
US10778584B2 (en) 2013-11-05 2020-09-15 Cisco Technology, Inc. System and method for multi-path load balancing in network fabrics
US9502111B2 (en) 2013-11-05 2016-11-22 Cisco Technology, Inc. Weighted equal cost multipath routing
US9655232B2 (en) 2013-11-05 2017-05-16 Cisco Technology, Inc. Spanning tree protocol (STP) optimization techniques
US10951522B2 (en) 2013-11-05 2021-03-16 Cisco Technology, Inc. IP-based forwarding of bridged and routed IP packets and unicast ARP
US9825857B2 (en) 2013-11-05 2017-11-21 Cisco Technology, Inc. Method for increasing Layer-3 longest prefix match scale
US9876715B2 (en) 2013-11-05 2018-01-23 Cisco Technology, Inc. Network fabric overlay
US9769078B2 (en) 2013-11-05 2017-09-19 Cisco Technology, Inc. Dynamic flowlet prioritization
US9686180B2 (en) 2013-11-05 2017-06-20 Cisco Technology, Inc. Managing routing information for tunnel endpoints in overlay networks
US9397946B1 (en) 2013-11-05 2016-07-19 Cisco Technology, Inc. Forwarding to clusters of service nodes
US9374294B1 (en) 2013-11-05 2016-06-21 Cisco Technology, Inc. On-demand learning in overlay networks
US9888405B2 (en) * 2013-11-05 2018-02-06 Cisco Technology, Inc. Networking apparatuses and packet statistic determination methods employing atomic counters
US9674086B2 (en) 2013-11-05 2017-06-06 Cisco Technology, Inc. Work conserving schedular based on ranking
US10089687B2 (en) * 2015-08-04 2018-10-02 Fidelity National Information Services, Inc. System and associated methodology of creating order lifecycles via daisy chain linkage
US10771372B2 (en) * 2016-06-16 2020-09-08 Oracle International Corporation Transmitting test traffic on a communication link

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2618280B1 (fr) * 1987-07-16 1989-10-20 Quinquis Jean Paul Systeme de commutation d'informations a priorites.
GB8810094D0 (en) * 1988-04-28 1988-06-02 Plessey Co Plc Asychronous time division network
EP0504537A1 (en) * 1991-03-22 1992-09-23 International Business Machines Corporation Method and apparatus for the testing and evaluation of geographically distributed telecommunication networks
EP0528075A1 (en) * 1991-08-19 1993-02-24 ALCATEL BELL Naamloze Vennootschap Performance measurement device for a telecommunication path and method used therein
US5481735A (en) * 1992-12-28 1996-01-02 Apple Computer, Inc. Method for modifying packets that meet a particular criteria as the packets pass between two layers in a network
US5790523A (en) * 1993-09-17 1998-08-04 Scientific-Atlanta, Inc. Testing facility for a broadband communications system
US5802105A (en) * 1994-11-30 1998-09-01 Qualcomm Incorporated Method and apparatus for testing a digital communication channel
US5563875A (en) * 1995-07-10 1996-10-08 International Business Machines Corporation Wrap-around route testing in packet communications networks
US5936940A (en) * 1996-08-22 1999-08-10 International Business Machines Corporation Adaptive rate-based congestion control in packet networks
US5937165A (en) * 1996-09-10 1999-08-10 Ganymede Software, Inc Systems, methods and computer program products for applications traffic based communications network performance testing
US6061722A (en) * 1996-12-23 2000-05-09 T E Network, Inc. Assessing network performance without interference with normal network operations
US6014760A (en) * 1997-09-22 2000-01-11 Hewlett-Packard Company Scheduling method and apparatus for a distributed automated testing system
US6163805A (en) * 1997-10-07 2000-12-19 Hewlett-Packard Company Distributed automated testing system
US6188698B1 (en) * 1997-12-31 2001-02-13 Cisco Technology, Inc. Multiple-criteria queueing and transmission scheduling system for multimedia networks
US6182142B1 (en) * 1998-07-10 2001-01-30 Encommerce, Inc. Distributed access management of information resources
US6263373B1 (en) * 1998-12-04 2001-07-17 International Business Machines Corporation Data processing system and method for remotely controlling execution of a processor utilizing a test access port
US6411623B1 (en) * 1998-12-29 2002-06-25 International Business Machines Corp. System and method of automated testing of a compressed digital broadcast video network
US6363053B1 (en) * 1999-02-08 2002-03-26 3Com Corporation Method and apparatus for measurement-based conformance testing of service level agreements in networks
US6711137B1 (en) * 1999-03-12 2004-03-23 International Business Machines Corporation System and method for analyzing and tuning a communications network
US6560720B1 (en) * 1999-09-09 2003-05-06 International Business Machines Corporation Error injection apparatus and method
US6628621B1 (en) * 1999-11-02 2003-09-30 Adtran Inc. Multichannel-capable bit error rate test system
DE10085287T1 (de) * 1999-12-08 2003-03-27 Univ British Columbia Zeitplaner für einen gewichteten fairen Warteschlagenbetrieb
US7418088B2 (en) * 2000-10-03 2008-08-26 Tierra Telecom, Inc. Monitoring and control module
US7904542B1 (en) * 2000-10-17 2011-03-08 Sprint Communications Company L.P. Probe device for testing broadband wireless system
US6868083B2 (en) * 2001-02-16 2005-03-15 Hewlett-Packard Development Company, L.P. Method and system for packet communication employing path diversity
JP2003069628A (ja) 2001-08-28 2003-03-07 Nippon Telegr & Teleph Corp <Ntt> パケット通信方法及びパケット通信システム
US7010595B2 (en) * 2001-12-14 2006-03-07 D-Link Corp. Apparatus for multi-level loopback test in a community network system and method therefor
US7007209B2 (en) * 2002-02-25 2006-02-28 Richard Charles Jaworski System of testing the upstream cable modem channel
US20030212932A1 (en) * 2002-05-09 2003-11-13 Sauber William F. Remote diagnostic packets
US7305464B2 (en) * 2002-09-03 2007-12-04 End Ii End Communications, Inc. Systems and methods for broadband network optimization
US20040076138A1 (en) * 2002-10-22 2004-04-22 Texas Instruments Incorporated Method for determining packet error rate of wireless lan stations
US7239611B2 (en) * 2003-03-03 2007-07-03 Microsoft Corporation Controlling admission of data streams onto a network based on end-to-end measurements
US7061927B2 (en) * 2004-04-12 2006-06-13 Cisco Technology, Inc. Weighted random scheduling particularly applicable to packet switching systems
US7426666B2 (en) * 2004-05-18 2008-09-16 Lucent Technologies Inc. Noisy channel emulator for high speed data
US20080079572A1 (en) * 2006-09-28 2008-04-03 Zohar Tsaba Apparatus and method for using a wireless network as a motion detection system
JP4758372B2 (ja) * 2007-03-01 2011-08-24 富士通株式会社 ネットワーク負荷検出システム、方法、装置及びプログラム
DE602007014116D1 (de) * 2007-03-09 2011-06-01 Mentor Graphics Corp Hardware-schnittstellenbaugruppe zum verbinden eines emulators mit einem netzwerk

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104794030A (zh) * 2014-01-21 2015-07-22 鸿富锦精密工业(深圳)有限公司 Sas线缆检测系统及方法
CN110249591A (zh) * 2016-12-16 2019-09-17 赫思曼自动化控制有限公司 用于优化利用测试数据包的冗余协议的故障识别的方法
CN109691019A (zh) * 2016-12-20 2019-04-26 华为技术有限公司 执行通信网络业务模拟的设备和方法
CN109286863A (zh) * 2017-07-21 2019-01-29 深圳市中兴微电子技术有限公司 一种建立链路的方法、onu及计算机可读存储介质
CN109286863B (zh) * 2017-07-21 2021-08-17 深圳市中兴微电子技术有限公司 一种建立链路的方法、onu及计算机可读存储介质
CN109614288A (zh) * 2018-12-10 2019-04-12 浪潮(北京)电子信息产业有限公司 高速链路误码告警方法、装置、设备及可读存储介质

Also Published As

Publication number Publication date
EP2002602B1 (en) 2009-05-27
WO2007110329B1 (en) 2008-03-20
DE602007001192D1 (de) 2009-07-09
US7747734B2 (en) 2010-06-29
EP2002602A2 (en) 2008-12-17
WO2007110329A2 (en) 2007-10-04
ATE432564T1 (de) 2009-06-15
WO2007110329A3 (en) 2007-11-29
US20070233847A1 (en) 2007-10-04

Similar Documents

Publication Publication Date Title
CN101385276A (zh) 用于对通信链路上的错误进行评估的设备、系统和方法
US7058844B2 (en) System and method for rapid fault isolation in a storage area network
EP2696534B1 (en) Method and device for monitoring quick path interconnect link
US6915466B2 (en) Method and system for multi-user channel allocation for a multi-channel analyzer
US7574540B2 (en) Managing management controller communications
US11748218B2 (en) Methods, electronic devices, storage systems, and computer program products for error detection
CN105868149A (zh) 一种串口信息的传输方法和装置
US8205014B2 (en) Information apparatus and method of generating tuning plan for resource configuration of storage system
US20240106737A1 (en) Application-aware links
US20230153189A1 (en) Visualization system for debug or performance analysis of soc systems
JP4437953B2 (ja) データ書込み方法とチャネルアダプタ
CN105379192A (zh) 硬件管理通信协议
CN106502944A (zh) 计算机、pcie设备以及pcie设备的心跳检测方法
US10452285B2 (en) Storage system based host computer monitoring
TW202324103A (zh) 收集用於除錯及分析之運行時間資訊
CN1783889B (zh) 仲裁环路地址管理装置、方法和系统
CN113300909B (zh) 并机ups通信异常检测方法、装置及并机ups系统
US7925745B2 (en) Monitoring apparatus, executive program, and information processing system
CN100538651C (zh) 网络诊断系统及其配置方法
CN116016395A (zh) 冗余切换方法、装置及网络设备
CN117493053A (zh) 故障检测方法及相关装置
CN116094956A (zh) 智能网卡测试方法、装置、计算机设备
CN116860327A (zh) 传感器数据的获取方法及装置、存储介质及电子装置
CN115684900A (zh) 一种电源fpga的状态监测方法及系统
CN117762333A (zh) 存储设备的控制方法及装置、存储介质和电子设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Open date: 20090311