US20140257737A1 - Matched filter testing of data transmission cables - Google Patents

Matched filter testing of data transmission cables Download PDF

Info

Publication number
US20140257737A1
US20140257737A1 US14/284,176 US201414284176A US2014257737A1 US 20140257737 A1 US20140257737 A1 US 20140257737A1 US 201414284176 A US201414284176 A US 201414284176A US 2014257737 A1 US2014257737 A1 US 2014257737A1
Authority
US
United States
Prior art keywords
cable
peak value
read
cross
correlation function
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.)
Abandoned
Application number
US14/284,176
Inventor
Tara Astigarraga
Louie A. Dickens
Nancy V. Ryson
Daniel J. Winarski
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
Priority to US14/284,176 priority Critical patent/US20140257737A1/en
Assigned to INTERNATIONAL BUSINESS MACHINES CORPORATION reassignment INTERNATIONAL BUSINESS MACHINES CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: RYSON, NANCY V., DICKENS, LOUIE A., ASTIGARRAGA, TARA, WINARSKI, DANIEL J.
Publication of US20140257737A1 publication Critical patent/US20140257737A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/08Locating faults in cables, transmission lines, or networks
    • G01R31/088Aspects of digital computing
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/50Testing of electric apparatus, lines, cables or components for short-circuits, continuity, leakage current or incorrect line connections
    • G01R31/58Testing of lines, cables or conductors

Definitions

  • Computer systems use cabling in order to transmit and receive information between peripherals, systems, users, sensors, etc.
  • This cabling can take on many forms, including Universal Serial Bus (USB), Ethernet, coaxial, optical, etc.
  • USB Universal Serial Bus
  • Ethernet cabling is typically used.
  • Fibre Channel over Ethernet (FCoE) may be used along with Ethernet cables.
  • FCoE is a transport protocol that enables Fibre Channel (FC) to be encapsulated and transmitted over Ethernet while being independent of the Ethernet forwarding scheme. FCoE allows seamless integration of Ethernet cabling with existing FC networks, hardware, and management software.
  • FC Fibre Channel
  • Ethernet is typically deployed in Server farms, data centers, large enterprise users, etc., for Transmission Control Protocol/Internet Protocol (TCP/IP) networks and FC is typically deployed for Storage Area Networks (SANs).
  • FCoE typically can use two types of cables, copper cables and optical cables.
  • Copper cables for use with FCoE have different characteristics than optical cables for use with FCoE, and selecting which cable type to use in any given installation can be troublesome. For example, it may be difficult to determine whether copper cabling can handle the distance and data throughput required for a specific application. In another example, it may be difficult to determine if the cable itself has gone bad or if another device (such as a router, server, hub, etc.) in series has gone bad as opposed to the cable.
  • another device such as a router, server, hub, etc.
  • FCoE copper cables are typically available in 1 m, 3 m, or 5 m lengths and are generally used to connect to Top of Rack FCoE Fibre Channel Forwarders (FCFs).
  • FCFs Top of Rack FCoE Fibre Channel Forwarders
  • a method for testing a cable includes receiving a read-signal profile read at a receiving-end of a cable upon an initial test signal being input to a sending end of the cable, calculating, using a hardware device, a cross-correlation function between the read-signal profile and a matched filter output, determining a baseline peak value of the cross-correlation function, comparing the baseline peak value to at least one threshold value, rejecting the cable when the baseline peak value is less than the at least one threshold value, periodically receiving a subsequent read-signal profile read at the receiving-end of the cable upon a subsequent test signal being input to the sending end of the cable, periodically calculating, using the hardware device, the cross-correlation function between the subsequent read-signal profile and the matched filter output, and periodically determining a subsequent peak value of the cross-correlation function, wherein the subsequent read-signal profile read is received after the baseline peak value is determined.
  • a system in another embodiment, includes a device having a processor and logic integrated with and/or executable by the processor, the logic being configured to: receive a read-signal profile read at a receiving-end of a cable upon an initial test signal being input to a sending end of the cable; calculate a cross-correlation function between the read-signal profile and a matched filter output; determine a baseline peak value of the cross-correlation function; compare the baseline peak value to at least one threshold value; reject the cable when the baseline peak value is less than the at least one threshold value; periodically receive a subsequent read-signal profile read at the receiving-end of the cable upon a subsequent test signal being input to the sending end of the cable; periodically calculate the cross-correlation function between the subsequent read-signal profile and the matched filter output; and periodically determine a subsequent peak value of the cross-correlation function, wherein the subsequent read-signal profile read is received after the baseline peak value is determined.
  • a computer program product for testing integrity of a cable includes program instructions embodied therewith, the program instructions readable and/or executable by a processor to cause the processor to: receive, by the processor, a read-signal profile read at a receiving-end of a cable upon an initial test signal being input to a sending end of the cable; calculate, by the processor, a cross-correlation function between the read-signal profile and a matched filter output; determine, by the processor, a baseline peak value of the cross-correlation function; compare, by the processor, the baseline peak value to at least one threshold value; reject, by the processor, the cable when the baseline peak value is less than the at least one threshold value; periodically receive, by the processor, a subsequent read-signal profile read at the receiving-end of the cable upon a subsequent test signal being input to the sending end of the cable; periodically calculate, by the processor, the cross-correlation function between the subsequent read-signal profile and the matched filter output; and periodically determine, by the processor, a subsequent
  • FIG. 1 illustrates a system for testing a cable, according to one embodiment.
  • FIG. 2 is a series of plots illustrating an analog cross-correlation function, according to one embodiment.
  • FIG. 3 is a flowchart of a method, according to one embodiment.
  • FIG. 4 is a flowchart of a method, according to one embodiment.
  • FIG. 5 is a series of plots illustrating a digital cross-correlation function, according to one embodiment.
  • a method for testing a cable includes receiving a read-signal profile read at a receiving-end of a cable upon an initial test signal being input to a sending end of the cable, calculating a cross-correlation function between the read-signal profile and a matched filter output, and determining a peak value of the cross-correlation function.
  • a system in another general embodiment, includes a device for testing integrity of a cable, the device including logic for receiving a read-signal profile read at a receiving-end of the cable upon an initial test signal being input to a sending end of the cable, logic for calculating a cross-correlation function between the read-signal profile and a matched filter output, logic for determining a peak value of the cross-correlation function, and logic for storing the peak value to a computer readable medium.
  • a computer program product for testing integrity of a cable includes a computer readable storage medium having computer readable program code embodied therewith.
  • the computer readable program code includes computer readable program code configured to receive a read-signal profile read at a receiving-end of a cable upon an initial test signal being input to a sending end of the cable, computer readable program code configured to calculate a cross-correlation function between the read-signal profile and a matched filter output, computer readable program code configured to determine a peak value of the cross-correlation function, computer readable program code configured to compare the peak value to at least one threshold value, and computer readable program code configured to reject the cable if the peak value is less than the threshold value.
  • a system 100 for testing the integrity (including data transmission capabilities, connectivity, etc.) of a cable 101 is shown, according to one embodiment.
  • the system 100 in various embodiments, may have more or less components than those shown.
  • the cable 101 is not part of the system 100 .
  • the cable 101 has two ends, a first end 102 A which sends a signal, and a second end 102 B which receives the signal.
  • One or both ends of the cable 102 A, 102 B may have a connector 104 A, 104 B, respectively, of any type known in the art, such as small form-factor pluggable (SFP), Mini-Gigabit Interface Connector (Mini-GBIC), Universal Serial Bus (USB) (such as Mini-A, Mini-B, Micro-AB, Micro-B, etc.), RJ45, RJ48, Coaxial, etc., among others.
  • the connectors 104 A, 104 B may or may not be of the same type for each cable 101 .
  • the cable 101 may be suitable for use in Gigabit Ethernet applications.
  • the cable 101 may be an active copper cable, an optical cable, etc.
  • the cable 101 may be flexible or highly flexible, shielded or unshielded, comprising a twisted or untwisted pair of wires, etc.
  • the cable 101 may or may not be coupled to a device or system on one or both ends thereof, prior to being tested.
  • a processor 110 may be coupled to the cable 101 and may perform a cross-correlation on the read-signal profile s(t) read at the receiving-end of the cable 102 B.
  • the processor 110 may be included in a device 106 , such as a switch, router, hub, etc., that may be located at an end of the cable 101 that receives (receiving-end of cable 102 B) a test signal s*(t) provided by a device 120 at the other end of the cable 101 (sending-end of the cable 1024 ).
  • the processor 110 may be part of another device, system, etc.
  • the device 106 may be part of another system, such as a storage area network (SAN), or may be part of system 100 .
  • is an integration variable along the time-axis which may be set to any value, and since h(t) may be used repetitively, it may be calculated once and stored as the matched filter 114 output, in some embodiments.
  • Ideal test signal s*(t) is emitted at the sending-end of the cable 102 A, and may be produced by any device 120 known in the art, such as an application designed to produce test signals, a Host Bus Adapter (HBA), a driver, a test apparatus, a switch, etc.
  • HBA Host Bus Adapter
  • an integrated or separate peak detector 112 may be used to determine a peak value of the correlation function y(t), as shown in Equation 1.
  • an alarm indicator 108 may alert a user, administrator, system, etc., if the peak value is less than a threshold.
  • each of the processor 110 , the peak detector 112 , the matched filter 114 , and the alarm indicator 108 are shown in FIG. 1 as being part of the system 106 , one, some, or all of these functions may be apart or absent from the system 106 . Additionally, all or some of the functionality of the peak detector 112 , the matched filter 114 , and/or the alarm indicator 108 may be performed by the processor 110 , according to one approach.
  • a peak value 203 of the analog cross-correlation function y(t) is determined.
  • This peak value 203 is an indication of the performance of the cable ( FIG. 1 , 101 ), according to some embodiments.
  • the peak value ( FIG. 2 , 203 ) may be compared to one or more thresholds 204 , 205 .
  • Threshold 204 may correspond to a manufacturer's threshold, which may be used to determine if a cable is performing suitably to be shipped or sold.
  • the manufacturer's threshold may be in a range from about 90% to about 99%, such as about 95%.
  • Threshold 205 may be a user's threshold, which may be a lower threshold than the manufacturer's threshold 204 , and may be an indication of when a cable is underperforming and/or is in need of replacement.
  • the user's threshold may be in a range from about 50% to about 85%, such as about 75%.
  • threshold arrangements are possible as known in the art, such as a single threshold, multiple thresholds (3, 4, 5, etc.), threshold(s) based on importance of cabling, threshold(s) based on frequency of use of cabling, etc.
  • an error or alarm message may be sent to a user, administrator, device, system, etc., such that the cable ( FIG. 1 , 101 ) may be removed from service if it is already installed in a system, or not installed at all in a new installation, according to various embodiments.
  • a desired peak of the analog cross-correlation function y(t) may be shown as amplitude A. If the ideal signal s*(t) is a rectangular waveform 201 having a time duration of T/2 and an amplitude of A, and the matched filter output is a time-offset rectangular waveform 202 , then the peak of triangular waveform y(t) 203 may be detected (possibly using peak detector 112 in FIG. 1 ) at a high point of the analog cross-correlation function v(t).
  • an error message may be sent to a system administrator that cable ( FIG.
  • the cable 101 is not performing properly, e.g., it is time to check the cable 101 to see if (a) it is a copper cable in an installation where an optical cable is more suitable for the task, (b) the length of the cable (length of a single cable or the total cable path length if multiple cables are connected in series) 101 is too long, or (c) the cable 101 is at end-of-life due to corrosion, excessive inserts, degradation, etc., and should be replaced to improve performance of the system.
  • a typical value of T may be in a range from about 0.1 to about 2 nanoseconds, such as about 1 nanosecond, which corresponds to a rate of about 1 Gigabit per second (Gb/s).
  • Ideal signal s*(t) may be repeated no more frequently than time period 2 T, so that analog cross-correlation calculations y(t) do not overlap, which would cause them to be indecipherable from one another.
  • This send-receive test may be performed in one direction through the cable ( FIG. 1 , 101 ), or in both directions of cable 101 , according to various embodiments.
  • Equation 2 a digital approach may be taken as shown in FIG. 5 .
  • the cross-correlation may be performed according to Equation 2, below.
  • Equation 2 y(j) is a digital cross-correlation function, s(i) is the received digital signal 501 , and h(j ⁇ i) is the matched filter output 502 .
  • the peak value of digital y(j) 503 is determined, and this peak value 503 is an indication of the performance of the cable, according to some embodiments. In one approach, the peak value 503 may be compared to one or more thresholds 504 , 505 .
  • a desired peak of the digital cross-correlation function y(j) may be shown as amplitude A. If the ideal signal s*(j) is a finite number of discrete digital pulses 501 having a time duration of M and an amplitude of A, and the matched filter output is a time-offset finite number of discrete digital pulses 502 , then the peak of y(j) 503 may be detected (possibly using peak detector 112 in FIG. 1 ) at a high point of the digital cross-correlation function y(j).
  • a typical value of M may be in a range from about 5 to about 20, such as 7, as shown in FIG. 5 , but may be any number as desired by the programmer.
  • the timing of the signal s*(i) and the matched filter output h(j ⁇ i) may be set so that digital cross-correlation calculations y(j) do not overlap, which would cause them to be indecipherable from one another.
  • a method 300 for testing the integrity of a cable is described according to one embodiment.
  • the method 300 may be carried out in any desired environment, and may include embodiments and/or approaches described in relation to FIGS. 1-2 .
  • more or less operations than those shown in FIG. 3 may be performed as would be known to one of skill in the art.
  • a system, user, processor, etc. invokes the method 300 . Any way of beginning the method 300 may be used as known in the art, such as in response to an event, a calculation, a set of conditions, due to a user action, etc.
  • testing is performed on a cable.
  • the testing may be performed according to FIG. 2 and the accompanying descriptions.
  • a test signal s*(t) is emitted at a sending-end of the cable, which is received at the receiving-end of the cable as an read-signal profile s(t).
  • Cross-correlation function y(t) is performed, as shown in Equation 1, between the read-signal profile sit) and a matched filter output, in one approach.
  • other cross-correlation functions may be performed, as known to those of skill in the art, such as the digital cross-correlation shown in FIG. 5 and Equation 2.
  • a peak value of the cross-correlation function is determined. In one embodiment, this may be performed in accordance with FIG. 2 , or any other way as known in the art.
  • a threshold it is determined whether the peak value is greater than a threshold.
  • This threshold may be set depending on several factors, such as cable length, cable type, cable material, cable shielding, etc.
  • the threshold may be represented as a percentage of an ideal peak value.
  • the ideal peak value may be equivalent to or a factor of the ideal signal profile s*(t), in some approaches.
  • the ideal peak value may be established through testing of a plurality of cables manufactured in the same process. For example, fifty 10 meter cables of a single type may be tested, and an average or mean peak value may be established for these fifty cables, excluding peak values lying more than one or two standard deviations from the calculated mean. Then, this mean value may be stored as the ideal peak value for all other testing of these cable types.
  • an average or mean peak value may be established for these fifty cables, excluding peak values lying more than one or two standard deviations from the calculated mean. Then, this mean value may be stored as the ideal peak value for all other testing of these cable types.
  • many other ways of determining an ideal peak value are possible as known in the art.
  • threshold may be in a range from about 75% to about 99%, such as 85%.
  • the peak value as determined in the testing is stored as a variable indicating the baseline value possible for this cable, as this value will typically only decline over time and usage.
  • the peak value may be stored to a computer readable medium, as described later.
  • This stored baseline value may be used in subsequent testing to compare the present peak value of this particular cable with the baseline value, to determine the amount of degradation that has occurred over time. To determine the present peak value for any cable, the method 300 may be performed again.
  • the cable is rejected.
  • the cable may be returned to operation 304 to test the cable again, possibly after performing maintenance on the cable. If a computer is rejecting the cable, it may alert a system administrator, user, system, etc., that the cable has failed the threshold test.
  • a method 400 for determining the integrity of a cable is described.
  • the method 400 may combine two instances of method 300 as shown in FIG. 3 , possibly performed in different locations and possibly by different entities, such as a manufacturer and a user.
  • the method 400 in FIG. 4 may be carried out in any desired environment, and may include embodiments and/or approaches described in relation to FIGS. 1-3 , and FIG. 5 . Of course, more or less operations than those shown in FIG. 4 may be performed as would be known to one of skill in the art.
  • the first calculations and values stored are referred to as baseline values
  • the second calculations and values stored are referred to as present values. This, of course, in no way limits the scope of the invention.
  • a system, user, processor, etc. invokes the method 400 .
  • Any way of beginning the method 400 may be used as known in the art, such as in response to an event (such as the cable being manufactured), a calculation, a set of conditions, due to a user action, etc.
  • the manufacturer tests the cable.
  • the testing may be performed according to FIG. 2 and the accompanying descriptions.
  • a test signal s*(t) is emitted at a sending-end of the cable, which is received at the receiving-end of the cable as an read-signal profile s(t).
  • Cross-correlation function y(t) is performed, as shown in Equation 1, between the read-signal profile s(t) and a matched filter output, in one approach.
  • other cross-correlation functions may be performed, as known to those of skill in the art, such as the digital cross-correlation shown in FIG. 5 and Equation 2.
  • a peak value of the cross-correlation function is determined. In one embodiment, this may be performed in accordance with FIG. 2 , or any other way as known in the art.
  • the peak value is greater than a manufacturer's threshold.
  • This manufacturer's threshold may be set depending on several factors, such as cable length, cable type, cable material, cable shielding, etc.
  • the manufacturer's threshold may be represented as a percentage of an ideal peak value, according to some approaches. In one embodiment, the manufacturer's threshold may be in a range from about 90% to about 99%, such as about 95%.
  • the ideal peak value may be equivalent to or a factor of the ideal signal profile s*(t), in some approaches.
  • the ideal peak value may be established through testing of a plurality of cables manufactured in the same process. For example, fifty 5 m cables of a single type may be tested, and an average or mean peak value may be established for these fifty cables, excluding peak values lying more than one or two standard deviations from the calculated mean. Then, this mean value may be stored as the ideal peak value for all other testing of these cable types.
  • many other ways of determining an ideal peak value are possible as known in the art.
  • the cable is rejected as defective. This rejection simply means that the cable will not be sold or shipped as other cables which pass the testing do. Instead, the cable may be discarded, sold into a secondary market, sold as a lower grade cable, placed back in queue to be retested after conditioning of the cable is performed, etc.
  • the peak value as determined in the testing is stored as a variable indicating the baseline value possible for this cable, as this value will typically only decline over time and usage.
  • This stored baseline value may be used in subsequent testing to compare the present peak value of this particular cable with the baseline value, to determine the amount of degradation that has occurred over time.
  • a user purchases the cable which has previously been tested by the manufacturer and provided with a baseline value.
  • the cable may be installed, tested again by the user, put into storage, etc.
  • the user may desire to test the cable to determine if it is sufficient for the task it is currently performing or may perform in the future.
  • a present peak value of the cross-correlation function is determined. This present peak value indicates the current performance of the cable.
  • the user threshold may be greater that, equal to, or less than the manufacturer's threshold. In one embodiment, the user's threshold may be less than the manufacturer's threshold, as a user may allow for slightly lower performance in order to avoid replacement costs and possible downtime that may be associated with replacing the cable. In one embodiment, the user's threshold may be in a range from about 50% to about 80%, such as about 75%.
  • the user rejects the cable if it has a present peak value less than the threshold. For example, if the cable is new or recently received, it may be rejected, returned, etc.; if the cable has been in an installation, it may be replaced, maintenance may be performed, etc.; if a computer is rejecting the cable, it may alert a system administrator, user, system, etc., that the cable has failed the threshold test; etc.
  • the present peak value is stored, possibly in addition to or in place of the baseline value. This allows for reevaluation of the cable to be performed over and over again in the future to determine if the cable should continue to be used in the installation.
  • the speed at which cables are tested may be taken into consideration when setting and using threshold values.
  • the peak value may be adjusted lower if the cable is first tested at a higher speed and then later at a lower speed. In an alternative approach, the peak value may be adjusted higher if the cable is first tested at a lower speed and then later at a higher speed.
  • a customer may test a cable at two or more different speeds, and may find that the cable functions acceptably at at least one of these lower speeds. In this case, the customer may use this cable at the lower speed until it is replaced.
  • the peak value and/or the threshold(s) used for this customer testing do not change from how they are implemented in previous embodiments, the customer just interprets the results differently.
  • a manufacturer tests a cable at max speed (e.g., 8 GB FC, 10 GB FCoE, etc.), and sets the peak value, which is then used to determine threshold values (e.g., 90% of peak, 75% of peak, etc.), these values will be provided to the customer for later testing.
  • max speed e.g. 8 GB FC, 10 GB FCoE, etc.
  • threshold values e.g. 90% of peak, 75% of peak, etc.
  • the peak value may be adjusted up before determining the threshold value(s).
  • aspects of the present invention may be embodied as a system, method or computer program product. Accordingly, aspects of the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, aspects of the present invention may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon.
  • the computer readable medium may be a computer readable signal medium or a computer readable storage medium.
  • a computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing.
  • a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
  • Computer program code for carrying out operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the “C” programming language or similar programming languages.
  • the program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server.
  • the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
  • LAN local area network
  • WAN wide area network
  • Internet Service Provider for example, AT&T, MCI, Sprint, EarthLink, MSN, GTE, etc.
  • each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s).
  • the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved.
  • These computer program instructions may also be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
  • the computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
  • a computer program product for testing integrity of a cable includes a computer readable storage medium having computer readable program code embodied therewith.
  • the computer readable program code includes computer readable program code configured to receive a read-signal profile read at a receiving-end of a cable upon an initial test signal being input to a sending end of the cable, computer readable program code configured to calculate a cross-correlation function between the read-signal profile and a matched filter output, computer readable program code configured to determine a peak value of the cross-correlation function, computer readable program code configured to compare the peak value to at least one threshold value, and computer readable program code configured to reject the cable if the peak value is less than the threshold value.

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Monitoring And Testing Of Transmission In General (AREA)

Abstract

In one embodiment, a method for testing a cable includes receiving a read-signal profile read at a receiving-end of a cable upon an initial test signal being input to a sending end of the cable, calculating a cross-correlation function between the read-signal profile and a matched filter output, and determining a peak value of the cross-correlation function. In another embodiment, a system includes a device, the device including logic for receiving a read-signal profile read at a receiving-end of the cable upon an initial test signal being input to a sending end of the cable, logic for calculating a cross-correlation function between the read-signal profile and a matched filter output, logic for determining a peak value of the cross-correlation function, and logic for storing the peak value to a computer readable medium. Other methods, systems, and computer program products are also described according to various embodiments.

Description

    RELATED APPLICATIONS
  • This application is a continuation of copending U.S. patent application Ser. No. 12/835,690, filed Jul. 13, 2010, which is herein incorporated by reference.
  • BACKGROUND
  • Computer systems use cabling in order to transmit and receive information between peripherals, systems, users, sensors, etc. This cabling can take on many forms, including Universal Serial Bus (USB), Ethernet, coaxial, optical, etc. When large amounts of data and information is desired to be transmitted between two devices, Ethernet cabling is typically used. For even more data transmission capability, Fibre Channel over Ethernet (FCoE) may be used along with Ethernet cables.
  • FCoE is a transport protocol that enables Fibre Channel (FC) to be encapsulated and transmitted over Ethernet while being independent of the Ethernet forwarding scheme. FCoE allows seamless integration of Ethernet cabling with existing FC networks, hardware, and management software.
  • Ethernet is typically deployed in Server farms, data centers, large enterprise users, etc., for Transmission Control Protocol/Internet Protocol (TCP/IP) networks and FC is typically deployed for Storage Area Networks (SANs). FCoE typically can use two types of cables, copper cables and optical cables.
  • Copper cables for use with FCoE have different characteristics than optical cables for use with FCoE, and selecting which cable type to use in any given installation can be troublesome. For example, it may be difficult to determine whether copper cabling can handle the distance and data throughput required for a specific application. In another example, it may be difficult to determine if the cable itself has gone bad or if another device (such as a router, server, hub, etc.) in series has gone bad as opposed to the cable.
  • In medium to large sized hardware installations, there can be anywhere from thousands of feet of cables to miles of cables installed. Much of this installed cabling is, sometimes purposely, not easily accessible, e.g., it is behind walls, in ceilings, under floors, in bundles, etc. The purpose behind making this cabling inaccessible is that it is out of the way and does not obstruct other uses of the spaces, where the cabling might be installed and be accessible, along with a reduction in exposure of the cables to environmental factors. Another reason for installing the cabling in inaccessible areas is that the cabling, in many cases, needs to connect two or more remote systems, thereby allowing transmission between those systems, and these connections cannot be made in areas where environmental factors might disrupt, disconnect, or otherwise harm the cables or obstruct normal use of these areas. Note that for FCoE copper cables, they are typically available in 1 m, 3 m, or 5 m lengths and are generally used to connect to Top of Rack FCoE Fibre Channel Forwarders (FCFs). The FCoE copper cables are typically nm within the racks and not under floors or behind walls.
  • Unfortunately, providing cabling in inaccessible or difficult to access areas also prevents maintenance from being performed on the cabling with any relative ease. Cables, although not frequently, do fail and become less efficient at data transmission over time. Cables may also become disconnected, terminated, shorted, severed, or otherwise ineffective at transmitting information. In these cases, when a cable is to be tested to determine if it is transmitting information at an acceptable rate, it would be beneficial to have a method and/or system which can test these cables without requiring access to the entire run of the cable.
  • SUMMARY
  • In one embodiment, a method for testing a cable includes receiving a read-signal profile read at a receiving-end of a cable upon an initial test signal being input to a sending end of the cable, calculating, using a hardware device, a cross-correlation function between the read-signal profile and a matched filter output, determining a baseline peak value of the cross-correlation function, comparing the baseline peak value to at least one threshold value, rejecting the cable when the baseline peak value is less than the at least one threshold value, periodically receiving a subsequent read-signal profile read at the receiving-end of the cable upon a subsequent test signal being input to the sending end of the cable, periodically calculating, using the hardware device, the cross-correlation function between the subsequent read-signal profile and the matched filter output, and periodically determining a subsequent peak value of the cross-correlation function, wherein the subsequent read-signal profile read is received after the baseline peak value is determined.
  • In another embodiment, a system includes a device having a processor and logic integrated with and/or executable by the processor, the logic being configured to: receive a read-signal profile read at a receiving-end of a cable upon an initial test signal being input to a sending end of the cable; calculate a cross-correlation function between the read-signal profile and a matched filter output; determine a baseline peak value of the cross-correlation function; compare the baseline peak value to at least one threshold value; reject the cable when the baseline peak value is less than the at least one threshold value; periodically receive a subsequent read-signal profile read at the receiving-end of the cable upon a subsequent test signal being input to the sending end of the cable; periodically calculate the cross-correlation function between the subsequent read-signal profile and the matched filter output; and periodically determine a subsequent peak value of the cross-correlation function, wherein the subsequent read-signal profile read is received after the baseline peak value is determined.
  • In yet another embodiment, a computer program product for testing integrity of a cable includes program instructions embodied therewith, the program instructions readable and/or executable by a processor to cause the processor to: receive, by the processor, a read-signal profile read at a receiving-end of a cable upon an initial test signal being input to a sending end of the cable; calculate, by the processor, a cross-correlation function between the read-signal profile and a matched filter output; determine, by the processor, a baseline peak value of the cross-correlation function; compare, by the processor, the baseline peak value to at least one threshold value; reject, by the processor, the cable when the baseline peak value is less than the at least one threshold value; periodically receive, by the processor, a subsequent read-signal profile read at the receiving-end of the cable upon a subsequent test signal being input to the sending end of the cable; periodically calculate, by the processor, the cross-correlation function between the subsequent read-signal profile and the matched filter output; and periodically determine, by the processor, a subsequent peak value of the cross-correlation function, wherein the subsequent read-signal profile read is received after the baseline peak value is determined.
  • Other aspects and embodiments of the present invention will become apparent from the following detailed description, which, when taken in conjunction with the drawings, illustrate by way of example the principles of the invention.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 illustrates a system for testing a cable, according to one embodiment.
  • FIG. 2 is a series of plots illustrating an analog cross-correlation function, according to one embodiment.
  • FIG. 3 is a flowchart of a method, according to one embodiment.
  • FIG. 4 is a flowchart of a method, according to one embodiment.
  • FIG. 5 is a series of plots illustrating a digital cross-correlation function, according to one embodiment.
  • DETAILED DESCRIPTION
  • The following description is made for the purpose of illustrating the general principles of the present invention and is not meant to limit the inventive concepts claimed herein. Further, particular features described herein can be used in combination with other described features in each of the various possible combinations and permutations.
  • Unless otherwise specifically defined herein, all terms are to be given their broadest possible interpretation including meanings implied from the specification as well as meanings understood by those skilled in the art and/or as defined in dictionaries, treatises, etc.
  • It must also be noted that, as used in the specification and the appended claims, the singular forms “a,” “an” and “the” include plural referents unless otherwise specified.
  • In one general embodiment, a method for testing a cable includes receiving a read-signal profile read at a receiving-end of a cable upon an initial test signal being input to a sending end of the cable, calculating a cross-correlation function between the read-signal profile and a matched filter output, and determining a peak value of the cross-correlation function.
  • In another general embodiment, a system includes a device for testing integrity of a cable, the device including logic for receiving a read-signal profile read at a receiving-end of the cable upon an initial test signal being input to a sending end of the cable, logic for calculating a cross-correlation function between the read-signal profile and a matched filter output, logic for determining a peak value of the cross-correlation function, and logic for storing the peak value to a computer readable medium.
  • In yet another general embodiment, a computer program product for testing integrity of a cable includes a computer readable storage medium having computer readable program code embodied therewith. The computer readable program code includes computer readable program code configured to receive a read-signal profile read at a receiving-end of a cable upon an initial test signal being input to a sending end of the cable, computer readable program code configured to calculate a cross-correlation function between the read-signal profile and a matched filter output, computer readable program code configured to determine a peak value of the cross-correlation function, computer readable program code configured to compare the peak value to at least one threshold value, and computer readable program code configured to reject the cable if the peak value is less than the threshold value.
  • Referring to FIG. 1, a system 100 for testing the integrity (including data transmission capabilities, connectivity, etc.) of a cable 101 is shown, according to one embodiment. Note that the system 100, in various embodiments, may have more or less components than those shown. Moreover, the cable 101 is not part of the system 100. The cable 101 has two ends, a first end 102A which sends a signal, and a second end 102B which receives the signal. One or both ends of the cable 102A, 102B may have a connector 104A, 104B, respectively, of any type known in the art, such as small form-factor pluggable (SFP), Mini-Gigabit Interface Connector (Mini-GBIC), Universal Serial Bus (USB) (such as Mini-A, Mini-B, Micro-AB, Micro-B, etc.), RJ45, RJ48, Coaxial, etc., among others. The connectors 104A, 104B may or may not be of the same type for each cable 101. In some embodiments, the cable 101 may be suitable for use in Gigabit Ethernet applications. For example, the cable 101 may be an active copper cable, an optical cable, etc. In some embodiments, the cable 101 may be flexible or highly flexible, shielded or unshielded, comprising a twisted or untwisted pair of wires, etc. The cable 101 may or may not be coupled to a device or system on one or both ends thereof, prior to being tested.
  • A processor 110, or any other device capable of performing computations, such as an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA), a central processing unit (CPU), etc., may be coupled to the cable 101 and may perform a cross-correlation on the read-signal profile s(t) read at the receiving-end of the cable 102B. The processor 110 may be included in a device 106, such as a switch, router, hub, etc., that may be located at an end of the cable 101 that receives (receiving-end of cable 102B) a test signal s*(t) provided by a device 120 at the other end of the cable 101 (sending-end of the cable 1024). Of course, the processor 110 may be part of another device, system, etc. The device 106 may be part of another system, such as a storage area network (SAN), or may be part of system 100. The processor 110 may perform an analog cross-correlation function v(t), as shown in Equation 1, below, between the read-signal profile s(t) read at the receiving-end of the cable 102B and output of a matched filter 114, which may include an impulse response h(t)=s*(T−t) of the ideal signal profile s*(t).

  • y(t)=∫0 1s(η)h(t−η′)   Equation 1
  • In Equation 1, η is an integration variable along the time-axis which may be set to any value, and since h(t) may be used repetitively, it may be calculated once and stored as the matched filter 114 output, in some embodiments. Ideal test signal s*(t) is emitted at the sending-end of the cable 102A, and may be produced by any device 120 known in the art, such as an application designed to produce test signals, a Host Bus Adapter (HBA), a driver, a test apparatus, a switch, etc.
  • In some embodiments, an integrated or separate peak detector 112 may be used to determine a peak value of the correlation function y(t), as shown in Equation 1.
  • In another embodiment, an alarm indicator 108 may alert a user, administrator, system, etc., if the peak value is less than a threshold.
  • Although each of the processor 110, the peak detector 112, the matched filter 114, and the alarm indicator 108 are shown in FIG. 1 as being part of the system 106, one, some, or all of these functions may be apart or absent from the system 106. Additionally, all or some of the functionality of the peak detector 112, the matched filter 114, and/or the alarm indicator 108 may be performed by the processor 110, according to one approach.
  • As shown in FIG. 2, after the cross-correlation has been performed, a peak value 203 of the analog cross-correlation function y(t) is determined. This peak value 203 is an indication of the performance of the cable (FIG. 1, 101), according to some embodiments. In one approach, the peak value (FIG. 2, 203) may be compared to one or more thresholds 204, 205. Threshold 204 may correspond to a manufacturer's threshold, which may be used to determine if a cable is performing suitably to be shipped or sold. In one embodiment, the manufacturer's threshold may be in a range from about 90% to about 99%, such as about 95%. Threshold 205 may be a user's threshold, which may be a lower threshold than the manufacturer's threshold 204, and may be an indication of when a cable is underperforming and/or is in need of replacement. In one embodiment, the user's threshold may be in a range from about 50% to about 85%, such as about 75%. Of course, many different threshold arrangements are possible as known in the art, such as a single threshold, multiple thresholds (3, 4, 5, etc.), threshold(s) based on importance of cabling, threshold(s) based on frequency of use of cabling, etc. Additionally, if the peak value 203 is below the one or more thresholds 204, 205, an error or alarm message may be sent to a user, administrator, device, system, etc., such that the cable (FIG. 1, 101) may be removed from service if it is already installed in a system, or not installed at all in a new installation, according to various embodiments.
  • As shown in FIG. 2, a desired peak of the analog cross-correlation function y(t) may be shown as amplitude A. If the ideal signal s*(t) is a rectangular waveform 201 having a time duration of T/2 and an amplitude of A, and the matched filter output is a time-offset rectangular waveform 202, then the peak of triangular waveform y(t) 203 may be detected (possibly using peak detector 112 in FIG. 1) at a high point of the analog cross-correlation function v(t).
  • For example, if the analog cross-correlation function y(t) has a peak value (FIG. 2, 203) below a threshold 205, which, in some approaches, may be a user-selectable percentage of amplitude A, then an error message may be sent to a system administrator that cable (FIG. 1, 101) is not performing properly, e.g., it is time to check the cable 101 to see if (a) it is a copper cable in an installation where an optical cable is more suitable for the task, (b) the length of the cable (length of a single cable or the total cable path length if multiple cables are connected in series) 101 is too long, or (c) the cable 101 is at end-of-life due to corrosion, excessive inserts, degradation, etc., and should be replaced to improve performance of the system.
  • Referring again to FIG. 2, a typical value of T may be in a range from about 0.1 to about 2 nanoseconds, such as about 1 nanosecond, which corresponds to a rate of about 1 Gigabit per second (Gb/s). Ideal signal s*(t) may be repeated no more frequently than time period 2T, so that analog cross-correlation calculations y(t) do not overlap, which would cause them to be indecipherable from one another. This send-receive test may be performed in one direction through the cable (FIG. 1, 101), or in both directions of cable 101, according to various embodiments.
  • Similar to the analog approach shown in FIG. 2, a digital approach may be taken as shown in FIG. 5. The cross-correlation may be performed according to Equation 2, below.
  • y ( j ) = ? = 0 2 M s ( ? ) h ( j - ? ) ? indicates text missing or illegible when filed Equation 2
  • In Equation 2, y(j) is a digital cross-correlation function, s(i) is the received digital signal 501, and h(j−i) is the matched filter output 502. The peak value of digital y(j) 503 is determined, and this peak value 503 is an indication of the performance of the cable, according to some embodiments. In one approach, the peak value 503 may be compared to one or more thresholds 504, 505.
  • As shown in FIG. 5, a desired peak of the digital cross-correlation function y(j) may be shown as amplitude A. If the ideal signal s*(j) is a finite number of discrete digital pulses 501 having a time duration of M and an amplitude of A, and the matched filter output is a time-offset finite number of discrete digital pulses 502, then the peak of y(j) 503 may be detected (possibly using peak detector 112 in FIG. 1) at a high point of the digital cross-correlation function y(j).
  • Referring again to FIG. 5, a typical value of M may be in a range from about 5 to about 20, such as 7, as shown in FIG. 5, but may be any number as desired by the programmer. Ideal signal s*(i) may have any number of digital pulses, such as 8 (i=0 to i=7 counts as 8 digital pulses) as shown in FIG. 5, but any number may be used. The timing of the signal s*(i) and the matched filter output h(j−i) may be set so that digital cross-correlation calculations y(j) do not overlap, which would cause them to be indecipherable from one another.
  • Now referring to FIG. 3, a method 300 for testing the integrity of a cable is described according to one embodiment. The method 300 may be carried out in any desired environment, and may include embodiments and/or approaches described in relation to FIGS. 1-2. Of course, more or less operations than those shown in FIG. 3 may be performed as would be known to one of skill in the art.
  • In operation 302, a system, user, processor, etc., invokes the method 300. Any way of beginning the method 300 may be used as known in the art, such as in response to an event, a calculation, a set of conditions, due to a user action, etc.
  • In operation 304, testing is performed on a cable. The testing may be performed according to FIG. 2 and the accompanying descriptions. In one embodiment, a test signal s*(t) is emitted at a sending-end of the cable, which is received at the receiving-end of the cable as an read-signal profile s(t). Cross-correlation function y(t) is performed, as shown in Equation 1, between the read-signal profile sit) and a matched filter output, in one approach. The matched filter output, in some embodiments, may include an impulse response h(t)=s*(T−t) of the ideal signal profile s*(t). Of course, other cross-correlation functions may be performed, as known to those of skill in the art, such as the digital cross-correlation shown in FIG. 5 and Equation 2.
  • Referring again to FIG. 3, in operation 306, a peak value of the cross-correlation function is determined. In one embodiment, this may be performed in accordance with FIG. 2, or any other way as known in the art.
  • Referring again to FIG. 3, in operation 308, it is determined whether the peak value is greater than a threshold. This threshold may be set depending on several factors, such as cable length, cable type, cable material, cable shielding, etc. The threshold may be represented as a percentage of an ideal peak value. The ideal peak value may be equivalent to or a factor of the ideal signal profile s*(t), in some approaches.
  • In more approaches, the ideal peak value may be established through testing of a plurality of cables manufactured in the same process. For example, fifty 10 meter cables of a single type may be tested, and an average or mean peak value may be established for these fifty cables, excluding peak values lying more than one or two standard deviations from the calculated mean. Then, this mean value may be stored as the ideal peak value for all other testing of these cable types. Of course, many other ways of determining an ideal peak value are possible as known in the art.
  • In one embodiment, threshold may be in a range from about 75% to about 99%, such as 85%.
  • In operation 310, the peak value as determined in the testing is stored as a variable indicating the baseline value possible for this cable, as this value will typically only decline over time and usage. The peak value may be stored to a computer readable medium, as described later. This stored baseline value may be used in subsequent testing to compare the present peak value of this particular cable with the baseline value, to determine the amount of degradation that has occurred over time. To determine the present peak value for any cable, the method 300 may be performed again.
  • In operation 312, if the peak value is less than the threshold, the cable is rejected. In some approaches, the cable may be returned to operation 304 to test the cable again, possibly after performing maintenance on the cable. If a computer is rejecting the cable, it may alert a system administrator, user, system, etc., that the cable has failed the threshold test.
  • In a particular embodiment, as shown in FIG. 4, a method 400 for determining the integrity of a cable is described. The method 400, in some approaches, may combine two instances of method 300 as shown in FIG. 3, possibly performed in different locations and possibly by different entities, such as a manufacturer and a user. The method 400 in FIG. 4 may be carried out in any desired environment, and may include embodiments and/or approaches described in relation to FIGS. 1-3, and FIG. 5. Of course, more or less operations than those shown in FIG. 4 may be performed as would be known to one of skill in the art.
  • In this embodiment, the first calculations and values stored (e.g., cross-correlation function, peak value, threshold value, etc.) are referred to as baseline values, while the second calculations and values stored (e.g., second cross-correlation function, second peak value, second threshold value, etc.) are referred to as present values. This, of course, in no way limits the scope of the invention.
  • In operation 402, a system, user, processor, etc., invokes the method 400. Any way of beginning the method 400 may be used as known in the art, such as in response to an event (such as the cable being manufactured), a calculation, a set of conditions, due to a user action, etc.
  • In operation 404, the manufacturer tests the cable. The testing may be performed according to FIG. 2 and the accompanying descriptions. In one embodiment, a test signal s*(t) is emitted at a sending-end of the cable, which is received at the receiving-end of the cable as an read-signal profile s(t). Cross-correlation function y(t) is performed, as shown in Equation 1, between the read-signal profile s(t) and a matched filter output, in one approach. The matched filter output, in some embodiments, may include an impulse response h(t)=s*(T−t) of the ideal signal profile s*(t). Of course, other cross-correlation functions may be performed, as known to those of skill in the art, such as the digital cross-correlation shown in FIG. 5 and Equation 2.
  • In operation 406, a peak value of the cross-correlation function is determined. In one embodiment, this may be performed in accordance with FIG. 2, or any other way as known in the art.
  • Referring again to FIG. 4, in operation 408, it is determined whether the peak value is greater than a manufacturer's threshold. This manufacturer's threshold may be set depending on several factors, such as cable length, cable type, cable material, cable shielding, etc. The manufacturer's threshold may be represented as a percentage of an ideal peak value, according to some approaches. In one embodiment, the manufacturer's threshold may be in a range from about 90% to about 99%, such as about 95%.
  • The ideal peak value may be equivalent to or a factor of the ideal signal profile s*(t), in some approaches. In more approaches, the ideal peak value may be established through testing of a plurality of cables manufactured in the same process. For example, fifty 5 m cables of a single type may be tested, and an average or mean peak value may be established for these fifty cables, excluding peak values lying more than one or two standard deviations from the calculated mean. Then, this mean value may be stored as the ideal peak value for all other testing of these cable types. Of course, many other ways of determining an ideal peak value are possible as known in the art.
  • In operation 410, if the peak value is below the manufacturer's threshold, the cable is rejected as defective. This rejection simply means that the cable will not be sold or shipped as other cables which pass the testing do. Instead, the cable may be discarded, sold into a secondary market, sold as a lower grade cable, placed back in queue to be retested after conditioning of the cable is performed, etc.
  • In operation 412, the peak value as determined in the testing is stored as a variable indicating the baseline value possible for this cable, as this value will typically only decline over time and usage. This stored baseline value may be used in subsequent testing to compare the present peak value of this particular cable with the baseline value, to determine the amount of degradation that has occurred over time.
  • In operation 414, a user purchases the cable which has previously been tested by the manufacturer and provided with a baseline value. The cable may be installed, tested again by the user, put into storage, etc.
  • At some point, possibly after retrieving the cable from storage, after use of the cable in a system installation, after transferring the cable between entities, etc., the user may desire to test the cable to determine if it is sufficient for the task it is currently performing or may perform in the future.
  • At this point, in operation 416, the user tests the cable. Testing may be performed as previously described.
  • In operation 418, a present peak value of the cross-correlation function is determined. This present peak value indicates the current performance of the cable.
  • In operation 420, it is determined whether the present peak value is greater than a user threshold. The user threshold may be greater that, equal to, or less than the manufacturer's threshold. In one embodiment, the user's threshold may be less than the manufacturer's threshold, as a user may allow for slightly lower performance in order to avoid replacement costs and possible downtime that may be associated with replacing the cable. In one embodiment, the user's threshold may be in a range from about 50% to about 80%, such as about 75%.
  • In operation 422, the user rejects the cable if it has a present peak value less than the threshold. For example, if the cable is new or recently received, it may be rejected, returned, etc.; if the cable has been in an installation, it may be replaced, maintenance may be performed, etc.; if a computer is rejecting the cable, it may alert a system administrator, user, system, etc., that the cable has failed the threshold test; etc.
  • In operation 424, the present peak value is stored, possibly in addition to or in place of the baseline value. This allows for reevaluation of the cable to be performed over and over again in the future to determine if the cable should continue to be used in the installation.
  • In one embodiment, the speed at which cables are tested may be taken into consideration when setting and using threshold values. In one approach, the peak value may be adjusted lower if the cable is first tested at a higher speed and then later at a lower speed. In an alternative approach, the peak value may be adjusted higher if the cable is first tested at a lower speed and then later at a higher speed.
  • In another approach, a customer may test a cable at two or more different speeds, and may find that the cable functions acceptably at at least one of these lower speeds. In this case, the customer may use this cable at the lower speed until it is replaced. The peak value and/or the threshold(s) used for this customer testing do not change from how they are implemented in previous embodiments, the customer just interprets the results differently.
  • For example, if a manufacturer tests a cable at max speed (e.g., 8 GB FC, 10 GB FCoE, etc.), and sets the peak value, which is then used to determine threshold values (e.g., 90% of peak, 75% of peak, etc.), these values will be provided to the customer for later testing. If the cable has environmental limitations to cable speed (e.g., port speed, storage, etc.), when the customer tests the cable, the speed at which the customer is testing the cable may be taken into account by lowering/raising the peak value before determining the threshold value(s). In other approaches, the thresholds may be raised or lowered, and the peak value may be held the same.
  • In one example, if a peak value at manufacturer's testing at maximum speed is 100, and if the customer is running the cable at 750% of maximum speed, then a 90% threshold may be set at 67.5 (e.g., 100*(0.75)*(0.9)=67.5), since the peak value may not be reached, or any of the thresholds, since the customer is not running the cable at maximum speed. Likewise, if the manufacturer tests the cable at a slower speed, and the customer is using it at a higher speed, the peak value may be adjusted up before determining the threshold value(s).
  • As will be appreciated by one skilled in the art, aspects of the present invention may be embodied as a system, method or computer program product. Accordingly, aspects of the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, aspects of the present invention may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon.
  • Any combination of one or more computer readable medium(s) may be utilized. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a Blu-Ray disk (BD), an optical storage device, a magnetic storage device, a solid state device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
  • Computer program code for carrying out operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
  • Aspects of the present invention are described below with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
  • The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
  • These computer program instructions may also be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
  • The computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
  • For example, in one embodiment, a computer program product for testing integrity of a cable includes a computer readable storage medium having computer readable program code embodied therewith. The computer readable program code includes computer readable program code configured to receive a read-signal profile read at a receiving-end of a cable upon an initial test signal being input to a sending end of the cable, computer readable program code configured to calculate a cross-correlation function between the read-signal profile and a matched filter output, computer readable program code configured to determine a peak value of the cross-correlation function, computer readable program code configured to compare the peak value to at least one threshold value, and computer readable program code configured to reject the cable if the peak value is less than the threshold value.
  • While various embodiments have been described above, it should be understood that they have been presented by way of example only, and not limitation. Thus, the breadth and scope of a preferred embodiment should not be limited by any of the above-described exemplary embodiments, but should be defined only in accordance with the following claims and their equivalents.

Claims (20)

What is claimed is:
1. A method for testing a cable, the method comprising:
receiving a read-signal profile read at a receiving-end of a cable upon an initial test signal being input to a sending end of the cable;
calculating, using a hardware device, a cross-correlation function between the read-signal profile and a matched filter output;
determining a baseline peak value of the cross-correlation function;
comparing the baseline peak value to at least one threshold value;
rejecting the cable when the baseline peak value is less than the at least one threshold value;
periodically receiving a subsequent read-signal profile read at the receiving-end of the cable upon a subsequent test signal being input to the sending end of the cable;
periodically calculating, using the hardware device, the cross-correlation function between the subsequent read-signal profile and the matched filter output; and
periodically determining a subsequent peak value of the cross-correlation function, wherein the subsequent read-signal profile read is received after the baseline peak value is determined.
2. The method as recited in claim 1, wherein rejecting the cable includes outputting an alert that the cable has failed a threshold test based on the comparing of the baseline peak value to the at least one threshold value.
3. The method as recited in claim 1, further comprising:
comparing the subsequent peak value to the baseline peak value after each subsequent peak value is determined, and
rejecting the cable when the subsequent peak value deviates from the baseline peak value by a predetermined amount.
4. The method as recited in claim 1, wherein the cross correlation function is: y(t)=∫0 1s(η)h(t−η)dη, where y(t) is the cross-correlation function, s(t) is the read-signal profile, η is an integration variable, and h(t) is the matched filter output.
5. The method as recited in claim 4, wherein the matched filter output includes an impulse response h(t)=s*(T−t).
6. The method as recited in claim 4, wherein the matched filter output includes an impulse response of an ideal signal profile.
7. The method as recited in claim 1, wherein the cross correlation function is:
y ( j ) = ? = 0 2 M s ( ? ) h ( j - ? ) , ? indicates text missing or illegible when filed
where y(j) is the cross-correlation function, s(i) is the read-signal profile, h(i) is the matched filter output, and M is a time duration of an ideal signal.
8. The method as recited in claim 7, wherein the matched filter output includes an impulse response: h(j)=s*(2M−j).
9. The method as recited in claim 7, wherein the matched filter output includes an impulse response.
10. The method as recited in claim 1, further comprising storing the baseline peak value and each subsequent peak value to a computer readable medium.
11. The method as recited in claim 1, further comprising:
periodically comparing the subsequent peak value to a second threshold value; and
rejecting the cable when the subsequent peak value is less than the second threshold value.
12. The method as recited in claim 11, wherein the calculating the cross-correlation function is performed before the cable is acquired by a user who periodically performs the subsequent cross-correlation function.
13. A system, comprising:
a device comprising a processor and logic integrated with and/or executable by the processor, the logic being configured to:
receive a read-signal profile read at a receiving-end of a cable upon an initial test signal being input to a sending end of the cable;
calculate a cross-correlation function between the read-signal profile and a matched filter output;
determine a baseline peak value of the cross-correlation function;
compare the baseline peak value to at least one threshold value;
reject the cable when the baseline peak value is less than the at least one threshold value;
periodically receive a subsequent read-signal profile read at the receiving-end of the cable upon a subsequent test signal being input to the sending end of the cable;
periodically calculate the cross-correlation function between the subsequent read-signal profile and the matched filter output; and
periodically determine a subsequent peak value of the cross-correlation function, wherein the subsequent read-signal profile read is received after the baseline peak value is determined.
14. The system as recited in claim 13, wherein the logic configured to reject the cable is configured to output an alert that the cable has failed a threshold test based on comparing the baseline peak value to the at least one threshold value.
15. The system as recited in claim 13, wherein the logic is further configured to:
compare the subsequent peak value to the baseline peak value after each subsequent peak value is determined; and
reject the cable when the subsequent peak value deviates from the baseline peak value by a predetermined amount.
16. The system as recited in claim 13, wherein the cross correlation function is: y(t)=∫0 1s(η)h(t−η)dη, where y(t) is the cross-correlation function, s(t) is the read-signal profile, η is an integration variable, and h(t) is the matched filter output, and wherein the matched filter output includes an impulse response h(t)=s*(T−t).
17. The system as recited in claim 13, wherein the cross correlation function is:
y ( j ) = ? = 0 2 M s ( ? ) h ( j - ? ) , ? indicates text missing or illegible when filed
where y(j) is the cross-correlation function, s(i) is the read-signal profile, h(i) is the matched filter output, and M is a time duration of an ideal signal, and wherein the matched filter output includes an impulse response h(j)=s*(2M−j).
18. The system as recited in claim 13, wherein the logic is further configured to store the baseline peak value and each subsequent peak value to a computer readable medium.
19. A computer program product for testing integrity of a cable, the computer program product having program instructions embodied therewith, the program instructions readable and/or executable by a processor to cause the processor to:
receive, by the processor, a read-signal profile read at a receiving-end of a cable upon an initial test signal being input to a sending end of the cable;
calculate, by the processor, a cross-correlation function between the read-signal profile and a matched filter output;
determine, by the processor, a baseline peak value of the cross-correlation function;
compare, by the processor, the baseline peak value to at least one threshold value,
reject, by the processor, the cable when the baseline peak value is less than the at least one threshold value;
periodically receive, by the processor, a subsequent read-signal profile read at the receiving-end of the cable upon a subsequent test signal being input to the sending end of the cable;
periodically calculate, by the processor, the cross-correlation function between the subsequent read-signal profile and the matched filter output; and
periodically determine, by the processor, a subsequent peak value of the cross-correlation function, wherein the subsequent read-signal profile read is received after the baseline peak value is determined.
20. The computer program product as recited in claim 19, wherein the program instructions are further readable and/or executable by the processor to cause the processor to:
compare, by the processor, the subsequent peak value to the baseline peak value after each subsequent peak value is determined; and
reject, by the processor, the cable when the subsequent peak value deviates from the baseline peak value by a predetermined amount.
US14/284,176 2010-07-13 2014-05-21 Matched filter testing of data transmission cables Abandoned US20140257737A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/284,176 US20140257737A1 (en) 2010-07-13 2014-05-21 Matched filter testing of data transmission cables

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/835,690 US8756031B2 (en) 2010-07-13 2010-07-13 Matched filter testing of data transmission cables
US14/284,176 US20140257737A1 (en) 2010-07-13 2014-05-21 Matched filter testing of data transmission cables

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US12/835,690 Continuation US8756031B2 (en) 2010-07-13 2010-07-13 Matched filter testing of data transmission cables

Publications (1)

Publication Number Publication Date
US20140257737A1 true US20140257737A1 (en) 2014-09-11

Family

ID=45467611

Family Applications (2)

Application Number Title Priority Date Filing Date
US12/835,690 Expired - Fee Related US8756031B2 (en) 2010-07-13 2010-07-13 Matched filter testing of data transmission cables
US14/284,176 Abandoned US20140257737A1 (en) 2010-07-13 2014-05-21 Matched filter testing of data transmission cables

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US12/835,690 Expired - Fee Related US8756031B2 (en) 2010-07-13 2010-07-13 Matched filter testing of data transmission cables

Country Status (1)

Country Link
US (2) US8756031B2 (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102855168A (en) * 2011-06-27 2013-01-02 鸿富锦精密工业(深圳)有限公司 Enhanced small form-factor pluggable (SFP+) interface test system
US9077646B2 (en) * 2012-02-13 2015-07-07 Fluke Corporation Method and apparatus for testing and displaying test results
US8909039B2 (en) * 2013-03-07 2014-12-09 International Business Machines Corporation Optical cable testing and management
CN103399251B (en) * 2013-07-30 2017-05-10 广州视睿电子科技有限公司 USB (Universal Serial Bus) communication line detection device
WO2015126356A1 (en) * 2014-02-18 2015-08-27 Hewlett-Packard Development Company, L.P. Cable error signal
US9978018B2 (en) 2015-04-22 2018-05-22 Aeris Communications, Inc. Method and system for optimizing execution of user commands in relation to power management
US11270686B2 (en) * 2017-03-28 2022-03-08 International Business Machines Corporation Deep language and acoustic modeling convergence and cross training
CN110712806A (en) * 2019-09-27 2020-01-21 深圳市三想科技有限公司 Data line production test packing integration equipment
CN111123001A (en) * 2019-12-11 2020-05-08 贵州电网有限责任公司 One-button type testing device and testing method

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5754053A (en) * 1996-05-28 1998-05-19 Harris Corporation In service cable failure detector and method

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5031178A (en) 1988-10-12 1991-07-09 American Standard Inc. Apparatus and method for ground isolated system diagnostics
CA2082231A1 (en) 1991-11-19 1993-05-20 Richard Buerli Local loss test set
US5586054A (en) 1994-07-08 1996-12-17 Fluke Corporation time-domain reflectometer for testing coaxial cables
US5751766A (en) * 1995-04-27 1998-05-12 Applied Signal Technology, Inc. Non-invasive digital communications test system
DE69942353D1 (en) * 1999-02-24 2010-06-17 Sony Deutschland Gmbh Receiving device and synchronization method for a digital communication system
SE518951C2 (en) 2000-04-28 2002-12-10 Telia Ab Arrangement and method for measuring the quality of optical channels through reverse measuring loops
GB0022485D0 (en) 2000-09-13 2000-11-01 Apl Financial Services Oversea Monitoring network activity
JP4038972B2 (en) 2000-09-14 2008-01-30 横河電機株式会社 LAN connection system and its loopback test method
US7222255B1 (en) 2001-02-28 2007-05-22 3Com Corporation System and method for network performance testing
US6934655B2 (en) * 2001-03-16 2005-08-23 Mindspeed Technologies, Inc. Method and apparatus for transmission line analysis
US7069163B2 (en) * 2002-04-23 2006-06-27 Utah State University Digital spread spectrum methods and apparatus for testing aircraft wiring
US7358745B1 (en) 2002-06-07 2008-04-15 Marvell International Ltd. Cable tester
US6873160B1 (en) 2002-06-12 2005-03-29 At&T Corp. Method and apparatus for testing filter/protector units for fiber optic cables
US7271596B2 (en) * 2002-11-19 2007-09-18 University Of Utah Research Foundation Method and system for testing a signal path having an operational signal
US7415367B2 (en) * 2003-05-20 2008-08-19 Arcom Digital, Llc System and method to locate common path distortion on cable systems
US20090116498A1 (en) 2007-11-07 2009-05-07 Tellabs Vienna, Inc. Testing data service using moca-to-ethernet bridge
EP2124474B1 (en) 2008-05-20 2013-01-23 ADVA Optical Networking SE A data transport system with an embedded communication channel
US8706431B2 (en) * 2010-06-22 2014-04-22 World Heart Corporation Direct sequence spread spectrum predictive cable and component failure technology

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5754053A (en) * 1996-05-28 1998-05-19 Harris Corporation In service cable failure detector and method

Also Published As

Publication number Publication date
US20120016618A1 (en) 2012-01-19
US8756031B2 (en) 2014-06-17

Similar Documents

Publication Publication Date Title
US8756031B2 (en) Matched filter testing of data transmission cables
US8660424B2 (en) Scalable high speed gigabit active bundle link and tester
US20170155518A1 (en) POE-Based Power Supply Method and PSE
US7058844B2 (en) System and method for rapid fault isolation in a storage area network
US10048995B1 (en) Methods and apparatus for improved fault analysis
CA2777814C (en) Electromagnetic field detection systems and methods
US9658902B2 (en) Adaptive clock throttling for event processing
JPS6247239A (en) Passive bus network system checking circuit apparatus
EP4102741A1 (en) Method and device for detecting probability of using same cable
US9667476B2 (en) Isolating the sources of faults/potential faults within computing networks
CN108845177B (en) Lightning stroke monitoring and identifying method, device and equipment for power distribution network
US9917759B2 (en) Incident-based adaptive monitoring of information in a distributed computing environment
CN107870843B (en) Method and device for monitoring performance of NAS server
US9785531B2 (en) Link speed downshifting for error determination and performance enhancements
CN112954372B (en) Streaming media fault monitoring method and device
US11108467B2 (en) Optical transceiver monitoring system
EP2989732B1 (en) Emc test bench comprising an item of equipment under test which is intended to be loaded on board an aircraft
US8989313B2 (en) Adaptable receiver detection
CN105899267B (en) The method and apparatus in Detection wavelength channel
JP5937955B2 (en) Packet transfer delay measuring apparatus, method and program
CN113009246A (en) PSE equipment detection device and PSE equipment detection method
US20150331031A1 (en) Methods, systems, and computer readable media for detecting and locating one or more wiring defect in dedicated aircraft systems
CN104518819A (en) Twisted pair category identification method and twisted pair category identification equipment
US9781022B2 (en) Fault detection in communication system
CN104980699B (en) A kind of splice displaying system and image-signal processing method therein and device

Legal Events

Date Code Title Description
AS Assignment

Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:ASTIGARRAGA, TARA;DICKENS, LOUIE A.;RYSON, NANCY V.;AND OTHERS;SIGNING DATES FROM 20140506 TO 20140520;REEL/FRAME:032944/0428

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION