US5247464A - Node location by differential time measurements - Google Patents

Node location by differential time measurements Download PDF

Info

Publication number
US5247464A
US5247464A US07/357,078 US35707889A US5247464A US 5247464 A US5247464 A US 5247464A US 35707889 A US35707889 A US 35707889A US 5247464 A US5247464 A US 5247464A
Authority
US
United States
Prior art keywords
station
packet
sub
node
arrival time
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.)
Expired - Lifetime
Application number
US07/357,078
Inventor
Robert A. Curtis
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.)
Enterasys Networks Inc
Original Assignee
Digital Equipment 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 Digital Equipment Corp filed Critical Digital Equipment Corp
Priority to US07/357,078 priority Critical patent/US5247464A/en
Assigned to DIGITAL EQUIPMENT CORPORATION, A MASSACHUSETTS CORP. reassignment DIGITAL EQUIPMENT CORPORATION, A MASSACHUSETTS CORP. ASSIGNMENT OF ASSIGNORS INTEREST. Assignors: CURTIS, ROBERT A.
Application granted granted Critical
Publication of US5247464A publication Critical patent/US5247464A/en
Assigned to CABLETRON SYSTEMS, INC. reassignment CABLETRON SYSTEMS, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: DIGITAL EQUIPMENT CORPORATION
Assigned to ENTERASYS NETWORKS, INC. reassignment ENTERASYS NETWORKS, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: CABLETRON SYSTEMS, INC.
Assigned to WELLS FARGO FOOTHILL, INC., OBSIDIAN, LLC reassignment WELLS FARGO FOOTHILL, INC. SECURITY AGREEMENT Assignors: ENTERASYS NETWORKS, INC.
Anticipated expiration legal-status Critical
Assigned to ENTERASYS NETWORKS, INC. reassignment ENTERASYS NETWORKS, INC. RELEASE AND REASSIGNMENT OF PATENTS AND PATENT APPLICATIONS AT REEL/FRAME NO. 17656/0552 Assignors: ENTERPRISE COMMUNICATIONS FUNDING GMBH, AS SUCCESSOR IN INTEREST TO OBSIDIAN, LLC, WELLS FARGO CAPITAL FINANCE, INC. (FORMERLY KNOWN AS WELLS FARGO FOOTHILL, INC.)
Expired - Lifetime 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

Definitions

  • This invention relates generally to the field of computer networks and, more particularly, to locating nodes on computer networks.
  • a computer network is an interconnection of nodes, which is a general term referring to a wide variety of electronic devices including, for example, host computers, terminals, printers, servers and storage devices.
  • nodes which is a general term referring to a wide variety of electronic devices including, for example, host computers, terminals, printers, servers and storage devices.
  • a cable physically interconnects all of the nodes on the network and provides the medium through which the nodes communicate with each other.
  • the network can become very long and include many nodes.
  • the network will typically change over time as nodes are added, moved and removed and as the cable is extended into other physical locations based upon changing user requirements.
  • a typical responsibility of the system manager is to monitor communication traffic over the network to identify problems, to identify portions of the network where user demand requires expansion of system services and to generally gather information which would be useful for improving service.
  • Maintenance and repair personnel usually have the responsibility for troubleshooting and correcting network malfunctions.
  • For both the system manager and maintenance and repair personnel it is particularly desirable that they be able to easily identify high traffic or defective nodes and their physical location so that services can be most effectively improved and problems can be repaired. Since both the location and identity of nodes change over time, ascertaining the physical location of a node at any given time can be especially difficult.
  • the computational element computes the distance based upon the following equation:
  • the first recording means includes a first detector for detecting the arrivals at the first station of the first and second packets; a first clock for determining the first and second arrival times based upon the detected arrival at the first station of the first and second packets, respectively; and a first memory for storing the first and second arrival times.
  • the second recording means includes a second detector for detecting the arrivals at the second station of the first and second packets; a second clock for determining the third and fourth arrival times based upon the detected arrival at the second station of the first and second packets, respectively; and a second memory for storing the third and fourth arrival times
  • the apparatus significantly improves the speed and accuracy of the mapping of network nodes in comparison to previously existing systems.
  • one advantage of the apparatus is that the two clocks which are used to make the arrival time measurements need not be synchronized The two clocks only need to be accurate so that elapsed time measurements are comparable.
  • the apparatus involves minimal interference with the normal packet traffic over the network.
  • FIG. 1 is a block diagram of a distributed system which embodies the invention
  • FIG. 2 is a timing chart showing the arrival times of packets transmitted over the system shown in FIG. 1;
  • FIG. 3 illustrates the structure of a packet which is the form in which information is sent over the network depicted in FIG. 1;
  • FIG. 4 is a block diagram of the maintenance stations which are depicted in FIG. 1;
  • FIG. 5 depicts a Manchester coded signal
  • FIG. 6 is a flow chart describing the operation of the maintenance station depicted in FIG. 4
  • FIG. 1 is a representative illustration of a distributed system which will be used to describe the invention.
  • the distributed system includes a plurality of nodes 4 that communicate over a network.
  • the network is an Ethernet but this choice is not meant to limit the applicability of the invention described herein.
  • the network comprises a cable 2 which interconnects the plurality of nodes 4, each of which may be any of a variety of devices such as terminals, printers, servers and frontend processors, to name a few.
  • the nodes 4 are capable of both transmitting and receiving information, usually in the form of packets, over the cable 2.
  • a node 4 When a node 4 is sending information, it is referred to as a source node; whereas, when it is receiving information, it is referred to as a destination node.
  • Each of the nodes 4 is electrically connected to the cable 2 through a transceiver (TRCX) 6 which places packets onto the cable 2 for the node 4 and which senses when the cable 2 is busy (i.e. when other packets are being transmitted over the cable 2). In addition to placing packets onto the cable 2, the transceiver 6 also receives packets addressed to its node 4.
  • TRCX transceiver
  • the network may be subdivided into segments 8a and 8b which are interconnected by a repeater 10.
  • the repeater 10 is a forwarding device which facilitates communication between segments Thus, for example, if a packet is being sent to a node on another segment of the network from the node which is sending the packet, the repeater 10 receives the packet and retransmits it to the next segment to which the repeater 10 is connected.
  • two maintenance stations 12 are connected to the segment 8a, namely, a first maintenance station (MS) 12a including a first clock (CLK) 14a is connected to one end of the segment 8a and a second maintenance station (MS) 12b including a second clock (CLK) 14b is connected to the other end of the segment 8a.
  • a first maintenance station (MS) 12a including a first clock (CLK) 14a is connected to one end of the segment 8a
  • a second maintenance station (MS) 12b including a second clock (CLK) 14b is connected to the other end of the segment 8a.
  • both maintenance stations 12a and 12b monitor the packet traffic by recording the arrival times of the packets at the respective station and the identity of the nodes sending the packets.
  • the first maintenance station 12a when a first node 16 sends a packet to a second node 18, the first maintenance station 12a, using its first clock 14a, determines the time T 11 at which the packet reaches its location on the segment 8a.
  • the second maintenance station 12b using its second clock 14b, also determines the time T 12 at which the packet reaches its location on the segment 8a.
  • n designates the node sending the packet
  • s designates the maintenance station.
  • both maintenance stations again monitor the times at which the reply packet arrives at their corresponding locations. That is, the first maintenance station determines the time T 21 at which it receives the second packet and the second maintenance station determines the T 22 at which it receives the second packet.
  • FIG. 2 A timing chart illustrating the relative arrival times of packets at the different nodes is depicted in FIG. 2.
  • the horizontal axis shows the relative spatial separation of the nodes and the vertical axes represent time lines for each of the relevant nodes as indicated.
  • CM 15 uses the four arrival times to determine the separation D between the first node and the second node, as measured along the cable:
  • the speed at which the packet travels on the segment can be easily determined by knowing the length of the segment and the time it takes the packet to traverse the segment. It will become apparent from the discussion below, however, that knowing "c" is not imperative. Since it is simply a scaling factor, the relative separations between the different nodes can be determined without it. Moreover, the separation distances can then easily be calculated b knowing either the overall length of the cable 2 or any one of the actual separation distances.
  • a general expression for the time that it takes a packet to travel from a node to a maintenance station is T ns -T nst , where T ns is defined as above and T nst is the time at which the node "n" transmits the packet as measured on the clock of maintenance station "s".
  • the distance separating the first node 16 from the second node 18, as measured along the cable 2 can be readily specified in the following two ways:
  • D 11 is the distance from the first node 16 to the first maintenance station 12a;
  • D 21 is the distance from the second node 18 to the first maintenance station 12a.
  • D 22 is the distance from the second node 18 to the second maintenance station 12b.
  • the computational module 15 can determine the precise physical location of every node.
  • the two nodes sending packets to each other are the first maintenance station 12a and the first node 16
  • the computational module 15 can determine the distance of the first node 16 from the first maintenance station 12a from the arrival times of the packets.
  • the transit speed of the packets "c" need not be independently measured known if it is possible to determine the separation distance "D" of any two nodes by alternative means, such as direct measurement of the distance. If the separation distance "D" and the arrival times are known, packet transit speed "c" can be calculated using Eq. 1.
  • the computational module 15 may be located in either maintenance station 12 or in a third node which is responsible for providing network management functions.
  • a third node possesses the computational module 15, then it would also have to periodically collect the arrival time measurements from both the first and second maintenance stations before it could compute the node locations.
  • Each packet comprises a 56 bit preamble 20, which includes an 8-bit start of frame delimiter 22; a 48 bit destination address field 24, which contains the address of the node to which the packet is being sent; a 48 bit source address field 26, which contains the address of the node that sent the packet; and a data field 28 that contains the information being sent.
  • the preamble consists of a 56 bit sequence of alternating ones and zeros followed by the frame delimiter, which has the pattern, 10101011.
  • the maintenance station 12 that monitors these packets includes a station transceiver (TRCX) 30, which connects to the cable 2 and detects the presence of packets arriving at the location of the station 12.
  • a serial interface adapter (SIA) 32 receives the packets from the station transceiver 30.
  • a processor 34 processes the information contained in the packets as received by SIA 32.
  • the station transceiver 30 may also include a termination circuit 36 which properly terminates the cable 2 and prevents signals from being reflected back down the line. (Note that station transceivers (TRCX) 30a and 30b corresponding to the first and second station 12a and 12b are also shown in FIG. 1 at the end of the segment 8a.)
  • the station 12 also includes elements that determine and store the arrival times of packets.
  • the elements comprise an eight-bit shift register 38, which receives output from the SIA 32, and a priority encoder 40, which monitors the data in the shift register 38.
  • the priority encoder 40 which normally holds its output at a low voltage level (or deasserted state), compares the contents of the shift register 38 to a preselected bit pattern, which is identical to the frame delimiter, and upon detecting the preselected pattern, generates a high voltage (or high state) on its output.
  • the output of the priority encoder 40 drives the clock input of an edge-triggered type-D flip-flop 42.
  • the SIA 32 From each packet being received, the SIA 32 generates a receive clock (RECK) signal 33 which is used to clock both the shift register 38 and the priority encoder 40.
  • RECK receive clock
  • an inverter 37 To assure that the shift register 38 has had time to settle down before its contents are read by the priority encoder 40, an inverter 37 inverts RECK signal 33 which is sent to the shift register 38. Thus, the shift register 38 and the priority encoder 40 respond to different edges of the RECK signal 33.
  • the D-input of the flip-flop 42 is held at a high state.
  • this clocks the high state appearing at the D-input onto the Q-output of the flip-flop 42.
  • the output of the flip-flop 42 drives the D-input of another edge-triggered type-D flip-flop 44.
  • the clock 14 provides the signal which clocks the flip-flop 44.
  • Both the flip-flops 42 and 44 are reset by an asserted reset enable (RENA) signal 46 from an OR gate 45.
  • the RENA reset enable signal 46 is generated by either the SIA 32 or the processor 34 and is asserted near the end of a received packet, thereby initializing the circuit for the next packet.
  • the clock 14 generates two clock signals CLK1 and CLK2, which are the complement of each other.
  • Clock signal, CLK1 controls a counter 50, which increments each time it receives a positive-going edge of its CLK1 clock signal.
  • Clock signal, CLK2 controls the clock input of the flip-flop 44.
  • the output of the flip-flop 44 controls a time register 52, which, in response to a positive-going transition of the output of flip-flop 44, receives and holds the contents of the counter 50, which represents the arrival time of the corresponding packet.
  • a memory 54 receives the counter reading from the register 52 (i.e., the packet arrival time) along with a source address 56 which the processor 34 extracted from the packet.
  • a packet arrival counter 53 consecutively assigns a number to each packet as it arrives. This number is used to designate addresses in memory 54 at which the station stores the arrival time and the corresponding source address for the packet.
  • the memory 54 contains a history of packet arrival times and the corresponding source addresses.
  • the history of packet arrival times is limited to a predetermined number of packets after which the station starts the count over from the beginning. The new arrival time and source addresses in the new count cycle replace the old data from the previous count cycle.
  • the computational module 15 identifies the corresponding arrival times and uses them to calculate the node positions on the network as described above.
  • each maintenance station can periodically send a probe packet containing a sequence number to the other station. Both maintenance stations determine and store th arrival time of each probe packet along with the corresponding sequence number. For the maintenance station transmitting the probe packet, the arrival time is simply the time at which it transmitted the packet. Thus, each probe packet generates a convenient index in the arrival time histories stored at each maintenance station by which the histories may be easily aligned for the node location computations.
  • the station 12 operates as shown in FIG. 6.
  • the SIA 32 Upon receiving a packet, the SIA 32 looks for the preamble (step 100) so that it may acquire phase lock on the arriving signal (step 110). After locating the preamble and acquiring phase lock, the SIA 32 sends two signals to the shift register 38, namely, the RECK receive clock signal, which is synchronized with the incoming signal, and a receive (RX) signal, which is in the form of a stream of bits corresponding to the arriving packet (step 120). After being inverted, the RECK receive clock signal clocks the RX receive signal into the shift register 38 one bit at time.
  • the RECK receive clock signal which is synchronized with the incoming signal
  • RX receive
  • the priority encoder 40 While the packet bits are passing through the shift register 38, the priority encoder 40 compares the contents of the shift register 38 to the preselected bit pattern, which in this embodiment is the start frame delimiter (step 130). When the priority encoder 40 detects the start of frame delimiter, it clocks flip-flop 42 (step 140). If flip-flop 42 is in its reset condition, which is the case if the previous packet had been completely received, then it drives the D-input of flip-flop 44 to a high voltage (step 150). Otherwise, the circuit branches back to step 100 and begins searching for a valid preamble again (step 155).
  • the priority encoder 40 compares the contents of the shift register 38 to the preselected bit pattern, which in this embodiment is the start frame delimiter (step 130). When the priority encoder 40 detects the start of frame delimiter, it clocks flip-flop 42 (step 140). If flip-flop 42 is in its reset condition, which is the case if the previous packet had been completely received, then it drives the D-input of flip
  • the accuracy of the above-described technique depends upon maintaining accurate clocks in the two maintenance stations 12a and 12b. It is desirable that the accuracy of the two clocks 14a and 14b be greater than 1 part in 5*10 -6 . In addition, since there is no guarantee that a receiving node will transmit right after receiving a packet, accuracy can be improved by causing one of the maintenance stations 12a or 12b to transmit a short packet for measurement purposes within the time gap that normally separates one packet from a previous packet.
  • the embodiment described herein operates by comparing the bit stream from the packet to a preselected bit frame
  • other alternatives are contemplated by this invention.
  • this invention if Manchester coding is being used, another way to detect the occurrence of the preselected bit pattern is to look for the presence of the shorter pulse in the preamble of the packet.
  • the "10101011" sequence of the start of frame delimiter has the form shown in FIG. 5.
  • the sequence of "101010” generates a corresponding sequence of pulses, all having widths equal to T.
  • the resulting signal pulse width is only T/2.
  • the shorter pulse indicates that the start of frame delimiter has been received and can be used to mark the arrival of the packet.
  • first and second maintenance stations 12a and 12b are also nodes which may perform other functions which involve using the network.
  • the maintenance stations 12a and 12b need not be placed precisely at the end of a segment.
  • the specific equations used for determining the physical location of the nodes on the segment only required that the relevant nodes be located on the portion of the segment between the two stations.
  • a high frequency clock e.g. 200 MHz. If a lower frequency clock is used, such as a 20 MHz clock, then one may wish to employ additional circuitry to determine precisely at what point within the 50 ns clock cycle that the packet arrives.
  • Such circuitry might include an integrator which generates a linear ramp voltage upon the occurrence of each clock edge and a 6-bit A/D converter to divide the 50 ns interval into about 1 ns increments.
  • the output of flip-flop 42 could be used to start the integrator and the output of flip-flop 44 could be used to stop it.
  • the resulting output of the A/D converter when properly calibrated would indicate the fraction of the clock cycle which elapsed prior to the arrival of the packet and when combined with the reading from register 52 would provide higher resolution than is available from the 20 MHz clock alone.

Abstract

A system for determining the physical location of nodes on a network. The system includes two stations each of which has a clock. Each station uses its clock to determine the arrival times at the station of a packet transmitted over the network from a first node to a second node and of a reply packet sent by the second node to the first node. The arrival times of the packets and the corresponding reply packets are then used to calculate the distance along the network which separates the first and second node. Measurement of packet arrival times for all of the nodes yields the position of all of the nodes on the network.

Description

BACKGROUND OF THE INVENTION
This invention relates generally to the field of computer networks and, more particularly, to locating nodes on computer networks.
Basically, a computer network is an interconnection of nodes, which is a general term referring to a wide variety of electronic devices including, for example, host computers, terminals, printers, servers and storage devices. On some networks, such as an Ethernet, a cable physically interconnects all of the nodes on the network and provides the medium through which the nodes communicate with each other. Thus, if the network is installed throughout a building complex, the cable is routed through each location within the building complex at which current access is desired or future access is anticipated. The network can become very long and include many nodes. In addition, the network will typically change over time as nodes are added, moved and removed and as the cable is extended into other physical locations based upon changing user requirements.
The large size and changing character of networks creates special problems for system managers and maintenance and repair personnel. A typical responsibility of the system manager is to monitor communication traffic over the network to identify problems, to identify portions of the network where user demand requires expansion of system services and to generally gather information which would be useful for improving service. Maintenance and repair personnel, on the other hand, usually have the responsibility for troubleshooting and correcting network malfunctions. For both the system manager and maintenance and repair personnel it is particularly desirable that they be able to easily identify high traffic or defective nodes and their physical location so that services can be most effectively improved and problems can be repaired. Since both the location and identity of nodes change over time, ascertaining the physical location of a node at any given time can be especially difficult.
SUMMARY OF THE INVENTION
In general, in one aspect, the invention is an apparatus for determining the location of nodes on a network segment, said segment having a plurality of nodes coupled thereto, said plurality of nodes having at least a first node and a second node. The apparatus includes a first station for receiving packets at a first location on said segment, the first station including a first means for recording a first arrival time that is the time at which a first packet arrives at the first station and a second arrival time that is the time at which a second packet at the first station, the first packet being sent by the first node, and the second packet being sent by the second node; a second station for receiving packets at a second location on said segment, the second station including a second means for recording a third arrival time that is the time at which the first packet arrives at the second station and a fourth arrival time that is the time at which the second packet arrives at the second station; and a computational element for computing a distance between the first node and second node based upon the first, second, third and fourth arrival times.
Preferred embodiments include the following features. The computational element computes the distance based upon the following equation:
D=A*[(T.sub.21 -T.sub.11)-(T.sub.22 -T.sub.12)]
where A is a constant which is equal to about one half of the speed at which a packet propagates over the network segment and where D is the distance, T21 is the second arrival time, T11 is the first arrival time, T22 is the fourth arrival time, and T12 is the third arrival time. In addition, the first recording means includes a first detector for detecting the arrivals at the first station of the first and second packets; a first clock for determining the first and second arrival times based upon the detected arrival at the first station of the first and second packets, respectively; and a first memory for storing the first and second arrival times. And, the second recording means includes a second detector for detecting the arrivals at the second station of the first and second packets; a second clock for determining the third and fourth arrival times based upon the detected arrival at the second station of the first and second packets, respectively; and a second memory for storing the third and fourth arrival times
Also in preferred embodiments, the first and second detectors detects the arrivals of the first and second packets by detecting preambles of the corresponding packets. Further, the plurality of nodes has a corresponding address and the first station includes first recognizer logic for determining the address of the nodes which sent the first and second packets, the identified addresses being stored in the first memory in association with the corresponding first and second arrival times And, the second station includes a second recognizer logic for determining the address of the nodes which sent the first and second packets, the identified addresses being stored in the second memory in association with the corresponding third and fourth arrival times. Also, the first location and the second location are selected so that the locations at which the first node and the second node are coupled to the network segment are situated between the first and second locations.
The apparatus significantly improves the speed and accuracy of the mapping of network nodes in comparison to previously existing systems. In addition, one advantage of the apparatus is that the two clocks which are used to make the arrival time measurements need not be synchronized The two clocks only need to be accurate so that elapsed time measurements are comparable. In addition, the apparatus involves minimal interference with the normal packet traffic over the network.
DESCRIPTION OF THE PREFERRED EMBODIMENT
FIG. 1 is a block diagram of a distributed system which embodies the invention;
FIG. 2 is a timing chart showing the arrival times of packets transmitted over the system shown in FIG. 1;
FIG. 3 illustrates the structure of a packet which is the form in which information is sent over the network depicted in FIG. 1;
FIG. 4 is a block diagram of the maintenance stations which are depicted in FIG. 1;
FIG. 5 depicts a Manchester coded signal; and
FIG. 6 is a flow chart describing the operation of the maintenance station depicted in FIG. 4
STRUCTURE AND OPERATION
FIG. 1 is a representative illustration of a distributed system which will be used to describe the invention. The distributed system includes a plurality of nodes 4 that communicate over a network. In one particular embodiment, the network is an Ethernet but this choice is not meant to limit the applicability of the invention described herein. In general, the network comprises a cable 2 which interconnects the plurality of nodes 4, each of which may be any of a variety of devices such as terminals, printers, servers and frontend processors, to name a few. Generally, the nodes 4 are capable of both transmitting and receiving information, usually in the form of packets, over the cable 2. When a node 4 is sending information, it is referred to as a source node; whereas, when it is receiving information, it is referred to as a destination node. Each of the nodes 4 is electrically connected to the cable 2 through a transceiver (TRCX) 6 which places packets onto the cable 2 for the node 4 and which senses when the cable 2 is busy (i.e. when other packets are being transmitted over the cable 2). In addition to placing packets onto the cable 2, the transceiver 6 also receives packets addressed to its node 4.
As illustrated, the network may be subdivided into segments 8a and 8b which are interconnected by a repeater 10. The repeater 10 is a forwarding device which facilitates communication between segments Thus, for example, if a packet is being sent to a node on another segment of the network from the node which is sending the packet, the repeater 10 receives the packet and retransmits it to the next segment to which the repeater 10 is connected.
In accordance with the invention, two maintenance stations 12 are connected to the segment 8a, namely, a first maintenance station (MS) 12a including a first clock (CLK) 14a is connected to one end of the segment 8a and a second maintenance station (MS) 12b including a second clock (CLK) 14b is connected to the other end of the segment 8a. As the nodes 4 on the segment send packets to each other, both maintenance stations 12a and 12b monitor the packet traffic by recording the arrival times of the packets at the respective station and the identity of the nodes sending the packets. Thus, for example, when a first node 16 sends a packet to a second node 18, the first maintenance station 12a, using its first clock 14a, determines the time T11 at which the packet reaches its location on the segment 8a. Similarly, the second maintenance station 12b, using its second clock 14b, also determines the time T12 at which the packet reaches its location on the segment 8a. (Note that for a time T specified herein "n" designates the node sending the packet and "s" designates the maintenance station.) Then, when the second node 18 responds to the packet from the first node 16, both maintenance stations again monitor the times at which the reply packet arrives at their corresponding locations. That is, the first maintenance station determines the time T21 at which it receives the second packet and the second maintenance station determines the T22 at which it receives the second packet.
A timing chart illustrating the relative arrival times of packets at the different nodes is depicted in FIG. 2. The horizontal axis shows the relative spatial separation of the nodes and the vertical axes represent time lines for each of the relevant nodes as indicated.
Using the following equation, a computational module (CM) 15 uses the four arrival times to determine the separation D between the first node and the second node, as measured along the cable:
D=[(T.sub.21 -T.sub.11)-(T.sub.22 -T.sub.12)]*c/2          Eq. 1
where c=the speed at which the packet travels on the segment.
The speed at which the packet travels on the segment can be easily determined by knowing the length of the segment and the time it takes the packet to traverse the segment. It will become apparent from the discussion below, however, that knowing "c" is not imperative. Since it is simply a scaling factor, the relative separations between the different nodes can be determined without it. Moreover, the separation distances can then easily be calculated b knowing either the overall length of the cable 2 or any one of the actual separation distances.
To verify that Eq. 1 does, indeed, correctly specify the separation distance between the first node 16 and the second node 18, consider the following derivation. A general expression for the time that it takes a packet to travel from a node to a maintenance station is Tns -Tnst, where Tns is defined as above and Tnst is the time at which the node "n" transmits the packet as measured on the clock of maintenance station "s".
The distance separating the first node 16 from the second node 18, as measured along the cable 2, can be readily specified in the following two ways:
D=D.sub.21 -D.sub.11                                       Eq. 2
D=D.sub.12 -D.sub.22                                       Eq. 3
Where:
D11 is the distance from the first node 16 to the first maintenance station 12a;
D12 is the distance from the first node 16 to the second maintenance station 12b;
D21 is the distance from the second node 18 to the first maintenance station 12a; and
D22 is the distance from the second node 18 to the second maintenance station 12b.
Using the transmit and arrival times for each packet at each station, Eq. 2 and Eq. 3 can be stated as follows:
D=D.sub.21 -D.sub.11 =[(T.sub.21 -T.sub.21t)-(T.sub.11 -T.sub.11t)]*c Eq. 4
D=D.sub.12 -D.sub.22 =[(T.sub.12 -T.sub.12t)-(T.sub.22 -T.sub.22t)]*c Eq. 5
Rearranging Eq. 4 and Eq. 5:
D=[(T.sub.21 -T.sub.11)-(T.sub.21t -T.sub.11t)]*c          Eq. 6
D=[(T.sub.12 -T.sub.22)-(T.sub.12t -T.sub.22t)]*c          Eq. 7
If the two clocks 14a and 14b are accurate, then the difference between the start times for the packets as seen by each maintenance station should be equal. That is, T21t -T11t =T22t -T12t. Therefore, when Eq. 6 and Eq. 7 are added, the expressions for the differences in start times sum to zero and the result is Eq. 1. In other words, to determine the distance between nodes, the maintenance stations 12a and 12b need not know the start times for the packet transmissions and the two clocks 14a and 14b need not be synchronized with each other.
By performing the same calculation for all nodes on the network, including the two maintenance stations, the computational module 15 can determine the precise physical location of every node. Thus, for example, if the two nodes sending packets to each other are the first maintenance station 12a and the first node 16, then the computational module 15 can determine the distance of the first node 16 from the first maintenance station 12a from the arrival times of the packets. It should also be apparent that the transit speed of the packets "c" need not be independently measured known if it is possible to determine the separation distance "D" of any two nodes by alternative means, such as direct measurement of the distance. If the separation distance "D" and the arrival times are known, packet transit speed "c" can be calculated using Eq. 1.
In addition, the computational module 15 may be located in either maintenance station 12 or in a third node which is responsible for providing network management functions. Of course, if a third node possesses the computational module 15, then it would also have to periodically collect the arrival time measurements from both the first and second maintenance stations before it could compute the node locations.
An illustrative embodiment of the invention will now be described with the help of FIGS. 3, 4 and 5. In this embodiment, information is sent over the network in the form of packets which have the structure illustrated in FIG. 3. Each packet comprises a 56 bit preamble 20, which includes an 8-bit start of frame delimiter 22; a 48 bit destination address field 24, which contains the address of the node to which the packet is being sent; a 48 bit source address field 26, which contains the address of the node that sent the packet; and a data field 28 that contains the information being sent. The preamble consists of a 56 bit sequence of alternating ones and zeros followed by the frame delimiter, which has the pattern, 10101011.
As illustrated in FIG. 4, the maintenance station 12 that monitors these packets includes a station transceiver (TRCX) 30, which connects to the cable 2 and detects the presence of packets arriving at the location of the station 12. A serial interface adapter (SIA) 32 receives the packets from the station transceiver 30. A processor 34 processes the information contained in the packets as received by SIA 32. If the station 12 is located at the end of the segment 8a, the station transceiver 30 may also include a termination circuit 36 which properly terminates the cable 2 and prevents signals from being reflected back down the line. (Note that station transceivers (TRCX) 30a and 30b corresponding to the first and second station 12a and 12b are also shown in FIG. 1 at the end of the segment 8a.)
The station 12 also includes elements that determine and store the arrival times of packets. The elements comprise an eight-bit shift register 38, which receives output from the SIA 32, and a priority encoder 40, which monitors the data in the shift register 38. The priority encoder 40, which normally holds its output at a low voltage level (or deasserted state), compares the contents of the shift register 38 to a preselected bit pattern, which is identical to the frame delimiter, and upon detecting the preselected pattern, generates a high voltage (or high state) on its output.
The output of the priority encoder 40 drives the clock input of an edge-triggered type-D flip-flop 42. From each packet being received, the SIA 32 generates a receive clock (RECK) signal 33 which is used to clock both the shift register 38 and the priority encoder 40. To assure that the shift register 38 has had time to settle down before its contents are read by the priority encoder 40, an inverter 37 inverts RECK signal 33 which is sent to the shift register 38. Thus, the shift register 38 and the priority encoder 40 respond to different edges of the RECK signal 33.
The D-input of the flip-flop 42 is held at a high state. Thus, when the output of the priority encoder 40 transitions to a high voltage, this clocks the high state appearing at the D-input onto the Q-output of the flip-flop 42. The output of the flip-flop 42 drives the D-input of another edge-triggered type-D flip-flop 44. As will be described in more detail shortly, the clock 14 provides the signal which clocks the flip-flop 44. Both the flip- flops 42 and 44 are reset by an asserted reset enable (RENA) signal 46 from an OR gate 45. The RENA reset enable signal 46 is generated by either the SIA 32 or the processor 34 and is asserted near the end of a received packet, thereby initializing the circuit for the next packet.
The clock 14 generates two clock signals CLK1 and CLK2, which are the complement of each other. Clock signal, CLK1, controls a counter 50, which increments each time it receives a positive-going edge of its CLK1 clock signal. Clock signal, CLK2, controls the clock input of the flip-flop 44. The output of the flip-flop 44, in turn, controls a time register 52, which, in response to a positive-going transition of the output of flip-flop 44, receives and holds the contents of the counter 50, which represents the arrival time of the corresponding packet. A memory 54 receives the counter reading from the register 52 (i.e., the packet arrival time) along with a source address 56 which the processor 34 extracted from the packet.
A packet arrival counter 53 consecutively assigns a number to each packet as it arrives. This number is used to designate addresses in memory 54 at which the station stores the arrival time and the corresponding source address for the packet. Thus, after a period of operation, the memory 54 contains a history of packet arrival times and the corresponding source addresses. Of course, once the computational module 15 has used an arrival time in a computation, it is not necessary to retain that arrival time information. Therefore, the history of packet arrival times is limited to a predetermined number of packets after which the station starts the count over from the beginning. The new arrival time and source addresses in the new count cycle replace the old data from the previous count cycle. Since only one node can use the network at any given time, the resulting packet arrival time histories stored in the first and second station 12a and 12b are easily correlated to identify the arrival times corresponding to the same transmitted packet. The computational module 15 identifies the corresponding arrival times and uses them to calculate the node positions on the network as described above.
To facilitate the coordination of the arrival time histories, each maintenance station can periodically send a probe packet containing a sequence number to the other station. Both maintenance stations determine and store th arrival time of each probe packet along with the corresponding sequence number. For the maintenance station transmitting the probe packet, the arrival time is simply the time at which it transmitted the packet. Thus, each probe packet generates a convenient index in the arrival time histories stored at each maintenance station by which the histories may be easily aligned for the node location computations.
The station 12 operates as shown in FIG. 6. Upon receiving a packet, the SIA 32 looks for the preamble (step 100) so that it may acquire phase lock on the arriving signal (step 110). After locating the preamble and acquiring phase lock, the SIA 32 sends two signals to the shift register 38, namely, the RECK receive clock signal, which is synchronized with the incoming signal, and a receive (RX) signal, which is in the form of a stream of bits corresponding to the arriving packet (step 120). After being inverted, the RECK receive clock signal clocks the RX receive signal into the shift register 38 one bit at time. While the packet bits are passing through the shift register 38, the priority encoder 40 compares the contents of the shift register 38 to the preselected bit pattern, which in this embodiment is the start frame delimiter (step 130). When the priority encoder 40 detects the start of frame delimiter, it clocks flip-flop 42 (step 140). If flip-flop 42 is in its reset condition, which is the case if the previous packet had been completely received, then it drives the D-input of flip-flop 44 to a high voltage (step 150). Otherwise, the circuit branches back to step 100 and begins searching for a valid preamble again (step 155).
When signal at the D-input of flip-flop 44 goes to a high voltage, this sets up flip-flop 44 so that it will respond to the next positive-going clock pulse by switching its output to a high state thereby triggering the register 52. The register 52 then stores the contents of the counter 50 (step 160) and transfers it for storage into the memory 54 as the arrival time of the packet (170).
The accuracy of the above-described technique depends upon maintaining accurate clocks in the two maintenance stations 12a and 12b. It is desirable that the accuracy of the two clocks 14a and 14b be greater than 1 part in 5*10-6. In addition, since there is no guarantee that a receiving node will transmit right after receiving a packet, accuracy can be improved by causing one of the maintenance stations 12a or 12b to transmit a short packet for measurement purposes within the time gap that normally separates one packet from a previous packet.
Although the embodiment described herein operates by comparing the bit stream from the packet to a preselected bit frame, other alternatives are contemplated by this invention. For example, if Manchester coding is being used, another way to detect the occurrence of the preselected bit pattern is to look for the presence of the shorter pulse in the preamble of the packet. Note that the "10101011" sequence of the start of frame delimiter has the form shown in FIG. 5. The sequence of "101010" generates a corresponding sequence of pulses, all having widths equal to T. However, when two one bits occur next to each other, as they do at the end of the start of frame delimiter, the resulting signal pulse width is only T/2. The shorter pulse indicates that the start of frame delimiter has been received and can be used to mark the arrival of the packet.
It should be understood that the first and second maintenance stations 12a and 12b are also nodes which may perform other functions which involve using the network. In addition, the maintenance stations 12a and 12b need not be placed precisely at the end of a segment. For example, it should be apparent from the above description of one particular embodiment that the specific equations used for determining the physical location of the nodes on the segment only required that the relevant nodes be located on the portion of the segment between the two stations. For the digital time measurement technique illustrated in FIG. 3, it is desirable to use a high frequency clock, e.g. 200 MHz. If a lower frequency clock is used, such as a 20 MHz clock, then one may wish to employ additional circuitry to determine precisely at what point within the 50 ns clock cycle that the packet arrives. Such circuitry might include an integrator which generates a linear ramp voltage upon the occurrence of each clock edge and a 6-bit A/D converter to divide the 50 ns interval into about 1 ns increments. Referring again to FIG. 3, the output of flip-flop 42 could be used to start the integrator and the output of flip-flop 44 could be used to stop it. The resulting output of the A/D converter when properly calibrated would indicate the fraction of the clock cycle which elapsed prior to the arrival of the packet and when combined with the reading from register 52 would provide higher resolution than is available from the 20 MHz clock alone.
Having thus described illustrative embodiments of the invention, it will be apparent that various alterations, modifications and improvements will readily occur to those skilled in the art. Such obvious alterations, modifications and improvements, though not expressly described above, are nonetheless intended to be implied and are within the spirit and scope of the invention. Accordingly, the foregoing discussion is intended to be illustrative only, and not limiting; the invention is limited and defined only by the following claims and equivalents thereto.

Claims (14)

What is claimed as new and desired to be secured by Letters Patent of the United States is:
1. A method for determining locations of nodes along a network segment, said segment having a plurality of nodes coupled thereto, said plurality of nodes having at least a first node and a second node, the method comprising:
a. receiving a first packet and a second packet at a first station located at a first location on said segment, the first packet being sent over said network segment by the first node, and the second packet being sent over said network segment by the second node;
b. recording a first arrival time that is the time at which the first packet arrives at the first station;
c. recording a second arrival time that is the time at which the second packet arrives at the first station;
d. receiving the first packet and the second packet at a second station located at a second location of said segment;
e. recording a third arrival time that is the time at which the first packet arrives at the second station;
f. recording a fourth arrival time that is the time at which the second packet arrives at the second station; and
g. computing a distance along said network segment between the first node and second node based solely upon the first, second, third and fourth arrival times and a factor which is independent of packet arrival and transmission times.
2. The method of claim 1 wherein the step of computing the distance is performed by computing the following equation:
[D=A*[(T.sub.21 -T.sub.11)-(T.sub.22 -T.sub.12)]]
D=A*((T.sub.21 -T.sub.11)-(T.sub.22 -T.sub.12))
where
A is said factor and where
D is the distance,
T21 is the second arrival time,
T11 is the first arrival time,
T22 is the fourth arrival time, and
T12 is the third arrival time.
3. The method of claim 2 wherein said first and second packets propagate over said network segment at a measurable speed and A is equal to about one half of said measurable speed.
4. An apparatus for determining locations of nodes along a network segment, said segment having a plurality of nodes coupled thereto, said plurality of nodes having at least a first node and a second node, the apparatus comprising:
a. a first station connected to said network segment at a first location, the first station for receiving packets at the first location, the first station including a first means for recording a first arrival time that is the time at which a first packet arrives at the first station and a second arrival time that is the time at which a second packet arrives at the first station, the first packet being sent by the first node over said network segment, and the second packet being sent by the second node over said network segment;
b. a second station connected to said network segment at a second location, the second station for receiving packets at the second location, the second station including a second means for recording a third arrival time that is the time at which the first packet arrives at the second station and a fourth arrival time that is the time at which the second packet arrives at the second station; and
c. a computational element in communication with said first and second stations for computing a distance along said network segment between the first node and second node based solely upon the first, second, third and fourth arrival times and a factor which is independent of packet arrival and transmission times.
5. The apparatus of claim 4 wherein the first node and the second node are coupled to the network segment at locations along said network segment which are situated between the first and second locations.
6. The apparatus of claim 4 wherein the computational element computes the distance based upon the following equation:
[D=A*[(T.sub.21 -T.sub.11)-(T.sub.22 -T.sub.12)]]
D=A*((T.sub.21 -T.sub.11)-(T.sub.22 -T.sub.12))
where
A is said factor and where
D is the distance,
T21 is the second arrival time,
T11 is the first arrival time,
T22 is the fourth arrival time, and
T12 is the third arrival time.
7. The apparatus of claim 6 wherein said first and second packets propagate over said network segment at a measurable speed and A is equal to about one half of said measurable speed.
8. The apparatus of claim 4 wherein the first recording means comprises:
a first detector for detecting the arrivals at the first station of the first and second packets;
a first timing circuit electrically coupled to said first detector for determining the first and second arrival times based upon the detected arrivals at the first station of the first and second packets, respectively; and
a first memory electrically coupled to said first timing circuit for receiving and storing the first and second arrival times.
9. The apparatus of claim 8 wherein the first and second packets each includes a preamble and wherein the first detector detects the arrivals of the first and second packets by detecting their respective preambles.
10. The apparatus of claim 8 wherein the second recording means comprises:
a. a second detector for detecting the arrivals at the second station of the first and second packets;
b. a second timing circuit electrically coupled to said second detector for determining the third and fourth arrival times based upon the detected arrivals at the second station of the first and second packets, respectively; and
c. a second memory electrically coupled to said second timing circuit for receiving and storing the third and fourth arrival times.
11. The apparatus of claim 10 wherein the first and second timing circuits need not be synchronized.
12. The apparatus of claim 10, wherein each of the plurality of nodes has a corresponding address and wherein the first station further comprises first recognizer logic electrically coupled to the first detector and the first memory for determining the addresses of the first and second nodes which respectively sent the first and second packets by extracting information contained in the first and second packets, the address determined by the first recognizer logic being stored in the first memory in association with the corresponding first and second arrival times.
13. The apparatus of claim 12, wherein the second station further comprises second recognizer logic electrically coupled to the second detector and the second memory for determining the addresses of the first and second nodes which respectively sent the first and second packets by extracting information contained in the first and second packets, the addresses determined by the second recognizer logic being stored in the second memory in association with the corresponding third and fourth arrival times.
14. An apparatus for determining locations of nodes along a network segment, said segment having a plurality of nodes coupled thereto, said plurality of nodes having at least a first node and a second node, the apparatus comprising;
a. a first station connected to said network segment at a first location, the first station for receiving packets at the first location, the first station comprising:
i. a first detector for detecting the arrivals at the first station of a first packet and a second packet, the first packet being sent over said network segment by the first node, and the second packet being sent over said network segment by the second node;
ii. a first timing circuit electrically coupled to said first detector for determining a first arrival time and a second arrival time based upon the detected arrivals at the first station of the first and second packets, respectively, the first arrival time being the time at which the first packet arrives at the first station and the second arrival time being the time at which the second packet arrives at the first station; and
iii. a first memory electrically coupled to said first timing circuit for receiving and storing the first and second arrival times;
b. a second station connected to said network segment at a second location, the second station for receiving packets at the second location, the second station comprising:
i. a second detector for detecting the arrivals at the second station of the first packet and the second packet;
ii. a second timing circuit electrically coupled to said second detector for determining a third arrival time and a fourth arrival time based upon the detected arrivals at the second station of the first and second packets, respectively, the third arrival time being the time at which the first packet arrives at the second station and the fourth arrival time being the time at which the second packet arrives at the second station; and
ii. a second memory electrically coupled to said second timing circuit for receiving and storing the third and fourth arrival times; and
c. a computation element in communication with said first and second station for computing a distance along said network segment between the first node and second node based upon the following equation:
[D=A*[(T.sub.21 -T.sub.11)-(T.sub.22 -T.sub.12)]]
D=A*((T.sub.21 -T.sub.11)-(T.sub.22 -T.sub.12))
where
A is a factor which is independent of packet arrival and transmission times and where
D is the distance,
T21 is the second arrival time,
T11 is the first arrival time,
T22 is the fourth arrival time, and
T12 is the third arrival time.
US07/357,078 1989-05-25 1989-05-25 Node location by differential time measurements Expired - Lifetime US5247464A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US07/357,078 US5247464A (en) 1989-05-25 1989-05-25 Node location by differential time measurements

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07/357,078 US5247464A (en) 1989-05-25 1989-05-25 Node location by differential time measurements

Publications (1)

Publication Number Publication Date
US5247464A true US5247464A (en) 1993-09-21

Family

ID=23404216

Family Applications (1)

Application Number Title Priority Date Filing Date
US07/357,078 Expired - Lifetime US5247464A (en) 1989-05-25 1989-05-25 Node location by differential time measurements

Country Status (1)

Country Link
US (1) US5247464A (en)

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5497460A (en) * 1994-06-20 1996-03-05 International Business Machines Corporation System and method for determining network connectivity
US5500854A (en) * 1992-12-23 1996-03-19 Instrumentarium Corporation Data transmission system and equipment
US5550807A (en) * 1994-03-04 1996-08-27 Fujitsu Limited Method of measuring distance between equipments on lan and distance measuring apparatus
WO1998012610A2 (en) * 1996-09-04 1998-03-26 Johnson Service Company Method for automatically determining the physical location of devices on a bus networked control system
US5790543A (en) * 1995-09-25 1998-08-04 Bell Atlantic Network Services, Inc. Apparatus and method for correcting jitter in data packets
US5805602A (en) * 1995-09-25 1998-09-08 Bell Atlantic Network Services, Inc. Network monitoring system for cell delay variation
US5966387A (en) * 1995-09-25 1999-10-12 Bell Atlantic Network Services, Inc. Apparatus and method for correcting jitter in data packets
US6064705A (en) * 1997-08-20 2000-05-16 Sarnoff Corporation Manchester encoding and decoding system
US6166653A (en) * 1998-08-13 2000-12-26 Motorola Inc System for address initialization of generic nodes in a distributed command and control system and method therefor
US6453406B1 (en) * 1990-10-17 2002-09-17 Compaq Computer Corporation Multiprocessor system with fiber optic bus interconnect for interprocessor communications
US20020176724A1 (en) * 2001-05-25 2002-11-28 Hiroshi Fuma Fixing device and image forming apparatus
US6504851B1 (en) * 1997-11-21 2003-01-07 International Business Machines Corporation Dynamic detection of LAN network protocol
US20030212711A1 (en) * 2002-05-08 2003-11-13 Hitachi, Ltd. System and methods to manage wide storage area network
US6804624B2 (en) 2001-08-31 2004-10-12 International Business Machines Corporation System and method for determining the location of remote devices
US6874096B1 (en) * 2000-06-23 2005-03-29 2Wire, Inc. Apparatus and method for detecting packet arrival time
US7050518B1 (en) * 1998-10-20 2006-05-23 Honeywell International, Inc. Data transmission method
US7072999B1 (en) 2000-06-27 2006-07-04 2Wire, Inc. Robust packet arrival time detector using estimated signal power
US20070002748A1 (en) * 2004-01-09 2007-01-04 Tsuneo Nakata Load distributing method
US20090190493A1 (en) * 2004-01-14 2009-07-30 Tsuneo Nakata Speed calculation system
US20100028009A1 (en) * 2007-11-13 2010-02-04 Huawei Technologies Co., Ltd. Method and system for data synchronization in passive optical networks
US20120170409A1 (en) * 2010-05-13 2012-07-05 Christopher Golla Determining the Order of Devices in a Downhole String
US9454444B1 (en) * 2009-03-19 2016-09-27 Veritas Technologies Llc Using location tracking of cluster nodes to avoid single points of failure
US10338651B2 (en) 2015-03-12 2019-07-02 Hewlett Packard Enterprise Development Lp Computing device location

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4813012A (en) * 1986-07-30 1989-03-14 Alcatel N. V. Terminal access protocol circuit for optical fiber star network
US4845735A (en) * 1988-06-14 1989-07-04 General Datacomm, Inc. Non-interfering method for measuring propagation delay of telecommunications network and apparatus for accomplishing same
US4890278A (en) * 1987-07-23 1989-12-26 Digital Equipment Corporation Apparatus and method for calibrated monitoring of output voltage levels of local area network communication devices
US4896315A (en) * 1987-07-23 1990-01-23 Digital Equipment Corporation Apparatus and method for determining network component locations on a local area network system cable segment
US4901004A (en) * 1988-12-09 1990-02-13 King Fred N Apparatus and method for mapping the connectivity of communications systems with multiple communications paths
US4916444A (en) * 1988-03-25 1990-04-10 King Fred N Method and apparatus for mapping communications media
US4930093A (en) * 1988-08-01 1990-05-29 Ncr Corporation Method of measuring message response time performance of a data processing system including data terminals
US4939718A (en) * 1988-04-20 1990-07-03 Etat Francais Represente Par Le Ministre Des Postes, Telecommunications, Et De L'espace (Centre National D'etudes Des Telecommunications) Routing method and packet switching networks having a distance indicator for routing

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4813012A (en) * 1986-07-30 1989-03-14 Alcatel N. V. Terminal access protocol circuit for optical fiber star network
US4890278A (en) * 1987-07-23 1989-12-26 Digital Equipment Corporation Apparatus and method for calibrated monitoring of output voltage levels of local area network communication devices
US4896315A (en) * 1987-07-23 1990-01-23 Digital Equipment Corporation Apparatus and method for determining network component locations on a local area network system cable segment
US4916444A (en) * 1988-03-25 1990-04-10 King Fred N Method and apparatus for mapping communications media
US4939718A (en) * 1988-04-20 1990-07-03 Etat Francais Represente Par Le Ministre Des Postes, Telecommunications, Et De L'espace (Centre National D'etudes Des Telecommunications) Routing method and packet switching networks having a distance indicator for routing
US4845735A (en) * 1988-06-14 1989-07-04 General Datacomm, Inc. Non-interfering method for measuring propagation delay of telecommunications network and apparatus for accomplishing same
US4930093A (en) * 1988-08-01 1990-05-29 Ncr Corporation Method of measuring message response time performance of a data processing system including data terminals
US4901004A (en) * 1988-12-09 1990-02-13 King Fred N Apparatus and method for mapping the connectivity of communications systems with multiple communications paths

Cited By (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6453406B1 (en) * 1990-10-17 2002-09-17 Compaq Computer Corporation Multiprocessor system with fiber optic bus interconnect for interprocessor communications
US5500854A (en) * 1992-12-23 1996-03-19 Instrumentarium Corporation Data transmission system and equipment
US5550807A (en) * 1994-03-04 1996-08-27 Fujitsu Limited Method of measuring distance between equipments on lan and distance measuring apparatus
US5497460A (en) * 1994-06-20 1996-03-05 International Business Machines Corporation System and method for determining network connectivity
US5966387A (en) * 1995-09-25 1999-10-12 Bell Atlantic Network Services, Inc. Apparatus and method for correcting jitter in data packets
US5790543A (en) * 1995-09-25 1998-08-04 Bell Atlantic Network Services, Inc. Apparatus and method for correcting jitter in data packets
US5805602A (en) * 1995-09-25 1998-09-08 Bell Atlantic Network Services, Inc. Network monitoring system for cell delay variation
WO1998012610A2 (en) * 1996-09-04 1998-03-26 Johnson Service Company Method for automatically determining the physical location of devices on a bus networked control system
WO1998012610A3 (en) * 1996-09-04 1998-05-28 Johnson Service Co Method for automatically determining the physical location of devices on a bus networked control system
US5754767A (en) * 1996-09-04 1998-05-19 Johnson Service Company Method for automatically determining the physical location of devices on a bus networked control system
US6885716B1 (en) 1997-08-20 2005-04-26 Sarnoff Corporation Encoding and decoding system
US6064705A (en) * 1997-08-20 2000-05-16 Sarnoff Corporation Manchester encoding and decoding system
US6504851B1 (en) * 1997-11-21 2003-01-07 International Business Machines Corporation Dynamic detection of LAN network protocol
US6392558B1 (en) 1998-08-13 2002-05-21 Motorola, Inc. System for address initialization of generic nodes in a distributed command and control system and method therefor
US6166653A (en) * 1998-08-13 2000-12-26 Motorola Inc System for address initialization of generic nodes in a distributed command and control system and method therefor
US7050518B1 (en) * 1998-10-20 2006-05-23 Honeywell International, Inc. Data transmission method
US6874096B1 (en) * 2000-06-23 2005-03-29 2Wire, Inc. Apparatus and method for detecting packet arrival time
US7072999B1 (en) 2000-06-27 2006-07-04 2Wire, Inc. Robust packet arrival time detector using estimated signal power
US20020176724A1 (en) * 2001-05-25 2002-11-28 Hiroshi Fuma Fixing device and image forming apparatus
US6804624B2 (en) 2001-08-31 2004-10-12 International Business Machines Corporation System and method for determining the location of remote devices
US20030212711A1 (en) * 2002-05-08 2003-11-13 Hitachi, Ltd. System and methods to manage wide storage area network
US6947939B2 (en) 2002-05-08 2005-09-20 Hitachi, Ltd. System and methods to manage wide storage area network
US8098648B2 (en) * 2004-01-09 2012-01-17 Nec Corporation Load distributing method
US20070002748A1 (en) * 2004-01-09 2007-01-04 Tsuneo Nakata Load distributing method
US20090190493A1 (en) * 2004-01-14 2009-07-30 Tsuneo Nakata Speed calculation system
US7965648B2 (en) * 2004-01-14 2011-06-21 Nec Corporation Speed calculation system
US20100028009A1 (en) * 2007-11-13 2010-02-04 Huawei Technologies Co., Ltd. Method and system for data synchronization in passive optical networks
US8208809B2 (en) * 2007-11-13 2012-06-26 Huawei Technologies Co., Ltd. Method and system for data synchronization in passive optical networks
US20120294609A1 (en) * 2007-11-13 2012-11-22 Huawei Technologies Co., Ltd. Method and system for data synchronization in passive optical networks
US8705964B2 (en) * 2007-11-13 2014-04-22 Huawei Technologies Co., Ltd. Method and system for data synchronization in passive optical networks
US9454444B1 (en) * 2009-03-19 2016-09-27 Veritas Technologies Llc Using location tracking of cluster nodes to avoid single points of failure
US20120170409A1 (en) * 2010-05-13 2012-07-05 Christopher Golla Determining the Order of Devices in a Downhole String
US9068442B2 (en) * 2010-05-13 2015-06-30 Halliburton Energy Services, Inc. Determining the order of devices in a downhole string
US10338651B2 (en) 2015-03-12 2019-07-02 Hewlett Packard Enterprise Development Lp Computing device location

Similar Documents

Publication Publication Date Title
US5247464A (en) Node location by differential time measurements
US4513427A (en) Data and clock recovery system for data communication controller
US4551833A (en) Distributed monitoring of packet transmission delay
EP0103460B1 (en) Improvements in or relating to data interconnecting networks
US5978868A (en) System for generating buffer status flags by comparing read and write pointers and determining direction of progression of read pointer with respect to write pointer
EP0180448B1 (en) Method of simultaneously transmitting isochronous and nonisochronous data on a local area network
US8233506B2 (en) Correlation technique for determining relative times of arrival/departure of core input/output packets within a multiple link-based computing system
JP2007174680A (en) Correcting method of inaccurate time synchronization inaccuracy caused by asymmetric delay on communication link
JPH0514454B2 (en)
US5365509A (en) Method and apparatus for analyzing nodes on a computer network
US5206638A (en) Method and apparatus for exchanging data within a digital communications system
US5289390A (en) Method for determining the electrical cable length of an active ring of a token ring local area network
US5365547A (en) 1X asynchronous data sampling clock for plus minus topology applications
US4747115A (en) Bus-redundancy type apparatus for a transmitting system
US4510600A (en) Digital signal transmission system
EP0333942A1 (en) Monitoring of digital transmission systems
EP0606413A1 (en) Method and means for automatically detecting and correcting a polarity error in twisted-pair media
EP1669879B1 (en) Method, system and apparatus for link latency management
JP3178612B2 (en) Phase synchronous clock extraction circuit
EP1488576B1 (en) Self-routing, star-coupler-based communication network
JPH02177643A (en) Activation signal detector
US9019899B2 (en) Method and apparatus for synchronous communication of frames of digital information
JP2993166B2 (en) Synchronization failure detection circuit
SU1185634A2 (en) Interface for linking electronic computer with telegraph communication channels
JPS59502009A (en) Device that receives high-speed data in packet format

Legal Events

Date Code Title Description
AS Assignment

Owner name: DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASSACHUSE

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST.;ASSIGNOR:CURTIS, ROBERT A.;REEL/FRAME:005085/0090

Effective date: 19890522

STCF Information on status: patent grant

Free format text: PATENTED CASE

CC Certificate of correction
FPAY Fee payment

Year of fee payment: 4

AS Assignment

Owner name: CABLETRON SYSTEMS, INC., NEW HAMPSHIRE

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:DIGITAL EQUIPMENT CORPORATION;REEL/FRAME:009046/0792

Effective date: 19980206

AS Assignment

Owner name: ENTERASYS NETWORKS, INC., NEW HAMPSHIRE

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:CABLETRON SYSTEMS, INC.;REEL/FRAME:011219/0376

Effective date: 20000929

FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

FPAY Fee payment

Year of fee payment: 8

FPAY Fee payment

Year of fee payment: 12

AS Assignment

Owner name: WELLS FARGO FOOTHILL, INC., CALIFORNIA

Free format text: SECURITY AGREEMENT;ASSIGNOR:ENTERASYS NETWORKS, INC.;REEL/FRAME:017656/0552

Effective date: 20060516

Owner name: OBSIDIAN, LLC, CALIFORNIA

Free format text: SECURITY AGREEMENT;ASSIGNOR:ENTERASYS NETWORKS, INC.;REEL/FRAME:017656/0552

Effective date: 20060516

AS Assignment

Owner name: ENTERASYS NETWORKS, INC., MASSACHUSETTS

Free format text: RELEASE AND REASSIGNMENT OF PATENTS AND PATENT APPLICATIONS AT REEL/FRAME NO. 17656/0552;ASSIGNORS:WELLS FARGO CAPITAL FINANCE, INC. (FORMERLY KNOWN AS WELLS FARGO FOOTHILL, INC.);ENTERPRISE COMMUNICATIONS FUNDING GMBH, AS SUCCESSOR IN INTEREST TO OBSIDIAN, LLC;REEL/FRAME:025406/0769

Effective date: 20101110