New! View global litigation for patent families

US5014262A - Apparatus and method for detecting and eliminating call looping in a node-by-node routing network - Google Patents

Apparatus and method for detecting and eliminating call looping in a node-by-node routing network Download PDF

Info

Publication number
US5014262A
US5014262A US07459924 US45992490A US5014262A US 5014262 A US5014262 A US 5014262A US 07459924 US07459924 US 07459924 US 45992490 A US45992490 A US 45992490A US 5014262 A US5014262 A US 5014262A
Authority
US
Grant status
Grant
Patent type
Prior art keywords
routing
node
network
nodes
loop
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
US07459924
Inventor
Paramasiv Harshavardhana
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.)
Nokia Bell Labs
AT&T Corp
Original Assignee
Nokia Bell Labs
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
Grant date

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/42Centralized routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/10Routing in connection-oriented networks, e.g. X.25, ATM
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/18Loop free
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q3/00Selecting arrangements
    • H04Q3/64Distributing or queueing
    • H04Q3/66Traffic distributors
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S379/00Telephonic communications
    • Y10S379/901Virtual networks or virtual private networks

Abstract

An apparatus and method for effectively managing a switched virtual circuit network by detecting and resolving call routing problems occurring in the routing pattern of the network is provided. Detecting the call routing problems is advantageously achieved by a first process contained in a network management center which has access to all nodes in the network and performs routing table verification for each node whenever there are changes in the routing tables caused by changes in the network, such as an addition of nodes, links and the like. Otherwise, call looping may occur during call set-up as a result of any undiscovered or uncorrected errors in one or more routing tables in the network. Detection of call loops is achieved by the first process through use of a plurality of processing modules that recognizes and excludes in their analysis of the network certain network components that can not be involved in call looping. Identified routing problems are resolved by a second process which provides alternative recommendations as to how best to modify the routing tables in the nodes of the network. A selected one of the alternative recommendations is coupled from the network management center to the nodes in the network for changing the routing tables located at the respective nodes.

Description

BACKGROUND OF THE INVENTION

1. Technical Field

This invention relates to data networks employing node-by-node routing and more particularly, to an improved apparatus and method for identifying and eliminating call looping in such data networks.

2. Description of the Prior Art

In many current data communication arrangements, data is coupled between a network's end-points (such as terminals, personal computers configured as terminals and mainframe computers) via virtual circuits. These virtual circuits are established in response to a destination address contained in the dialing information entered by a user. One such data communication arrangement is the Customer Network Offering (CNO) II, a virtual circuit packet data network based on the DATAKIT® virtual circuit switch system. This system provides a three-level address that is analogous to a public telephone address and includes an area code, an exchange and a service-name therein. Each level of the address is stored in a routing table in each circuit switch node. The routing table maps an address-level to a trunk-group or a receiving-group that leads to the destination end-point.

Before a call can be established and data transmitted, a virtual circuit must first be set up between the source and the destination in the network. The path taken by the virtual circuit is determined by the routing tables stored in the circuit switch nodes. Once the virtual circuit is set up, all packets of data between the source and destination are transmitted over the path established by the virtual circuit.

In traffic engineering of in-service data networks, network wide measurements are periodically taken to detect service problems. One of the most frequently occurring service problem for data calls is the under utilization of some network components and the over utilization of others. An effective solution to this problem is to divert traffic from the over utilized network components to the under utilized network components. This has the effect of distributing the traffic load more uniformly across the network. In order to effect such rerouting, however, it is necessary to change the routing pattern, i.e., to make changes to the existing routing tables in the circuit switch nodes.

In node-by-node routing networks, making such changes is nontrivial and may introduce errors in the routing tables. Uncorrected errors in the routing tables can cause a number of problems for the network which adversely affect network performance. One such problem is call looping which causes a call to cycle around the same set of nodes during call set-up. A call involved in a loop may eventually break out of the loop and reach its destination, or it may tie up all the virtual circuits available and may have to be retried. In either case, call looping leads to serious network inefficiencies and should be avoided. Another problem is circuitous routing which results in calls being established over paths involving too many hops, i.e., a call passing through too many circuit switch nodes, violating the design constraints. Circuitous routing also leads to network inefficiencies in the form of unacceptably large network delays. Yet another problem resulting from errors in a routing table is dead-end routing which causes some destinations in the network to be unreachable.

SUMMARY OF THE INVENTION

In accordance with the invention, there is provided an apparatus and method for effectively managing a switched virtual circuit network by detecting and resolving routing problems ocurring in the routing pattern of the network. Detecting the routing problems is advantageously achieved in preferred embodiments by a first process or program contained in a network management center which has access to all of the nodes in the network and performs routing table verification for each node. Such routing table verification is necessary whenever there are changes in the routing tables caused by changes in the network (such as addition of nodes, links, etc.). This verification assures that the routing tables in the various circuit switch nodes in the network are in accordance with normal acceptable design constraints. In accordance with the invention, identified routing problems are resolved, in preferred embodiments, by a second process or program which provides alternative recommendations as to how best to modify the routing tables in the nodes of the network. A selected one of the alternative recommendations is coupled from the network management center to the nodes in the network for changing the routing tables located at the respective nodes.

One routing problem that is detected and resolved, in accordance with the invention, is call looping which may occur during call set-up as a result of undiscovered or uncorrected errors in one or more routing tables in the network. Detection of call loops is achieved by the first process through use of a plurality of processing modules that recognizes and excludes in their analysis of the network certain network components that can not be involved in call looping. Once those network nodes involved in call looping are identified, the first process next determines the number of loops and the direction of travel between nodes for each loop.

Call loops are eliminated by the second process, in accordance with the invention, through use of a plurality of processing modules that use the data generated in the first process along with data about the network routing pattern available in the network database. These modules determine the routes that are involved in the most number of loops. They also examine many different ways of breaking these loops in the given routing pattern and provide the series of alternative recommendations for eliminating the loops.

Another routing problem that is detected and resolved is circuitous routing which adversely affects network performance. The length of primary paths from the node nearest the origin of a call to the destination node via all the nodes that are not directly connected to the destination node are checked. If any path exceeds a predetermined hop-constraint, that path is identified as a circuitous route and a reviewer evaluates the routing choices for the network and selects a more direct path that does not violate the hop-constraint.

Yet another routing problem that is detected and resolved is dead-end routing. To route a call a node must know all the area codes in the network, all the exchanges in its own area, and all the service-names in its own exchange. If any part of this information is not present in the routing tables of one or more nodes, then dead-end routes will result. In checking for dead-end routes, the information in each of the routing tables is compared with the detailed network configuration information available from the network database in order to insure that the data needed to route calls to all the desired destinations is present in all the routing tables. If any information is missing, it is detected and added to the appropriate routing tables.

BRIEF DESCRIPTION OF THE DRAWING

This invention and its mode of operation will be more clearly understood from the following detailed description when read with the appended drawing in which:

FIG. 1 is a simplified illustration of a generic data network having a backbone portion, an access concentration portion and an access portion;

FIG. 2 shows a simplified data network having four nodes along with terminals and hosts connected to the nodes;

FIG. 3 shows the data network of FIG. 2 including trunk-groups and receiving groups;

FIG. 4 shows routing tables for each of the nodes of the network shown in FIG. 3;

FIG. 5 shows a routing pattern for calls to a first one of the hosts in the data network shown in FIG. 3;

FIG. 6 shows a routing pattern for calls to a second one of the hosts in the data network shown in FIG. 3;

FIG. 7 shows the data network of FIG. 3 and a network management center including the present invention;

FIG. 8 shows routing patterns for calls to the first one of the hosts and to a third one of the hosts in the data network shown in FIG. 3;

FIG. 9 shows another routing pattern for calls to the third one of the hosts in the data network shown in FIG. 3;

FIG. 10 shows a routing array which corresponds to the routing pattern for calls to the first one of the hosts in the data network shown in FIG. 5;

FIG. 11 shows an adjacency matrix for calls to the first one of the hosts in the data network shown in FIG. 5;

FIG. 12 shows a network connectivity matrix for the data network shown in FIG. 3;

FIG. 13 shows a flow chart outlining a loop detection process in accordance with the invention;

FIG. 14 shows a routing pattern for a destination node in a nine node network;

FIG. 15 shows a routing matrix for the routing pattern shown in FIG. 14 in accordance with the invention;

FIG. 16 shows an adjacency matrix for the routing pattern shown in FIG. 14 in accordance with the invention;

FIG. 17 shows a first modified adjacency matrix for the routing pattern shown in FIG. 14 in accordance with the invention;

FIG. 18 shows a second modified adjacency matrix for the routing pattern shown in FIG. 14 in accordance with the invention;

FIG. 19 shows the routing pattern of FIG. 14 after deleting a sink node in accordance with the invention;

FIG. 20 shows the routing pattern of FIG. 19 after deleting a single-link loop node in accordance with the invention;

FIG. 21 shows a flow chart outlining a loop elimination process in accordance with the invention;

FIG. 22 shows a routing submatrix for a portion of the routing matrix shown in FIG. 15 in accordance with the invention; and

FIG. 23 shows a routing matrix adjusted in accordance with the processes outlined in FIGS. 13 and 21 in accordance with the invention.

DETAILED DESCRIPTION

Referring now to FIG. 1, there is shown a switched virtual circuit generic network which is comprised of an access portion, an access concentration portion and a backbone portion. End users are attached to nodes 110 through 121 in the access portion in order to communicate with other nodes in the network. The access concentration portion, comprising nodes 151 through 154, serves to concentrate traffic from the nodes in the access portion and is usually found in large data networks. The backbone portion comprising nodes 161 through 164 provides interconnection between the various nodes in the access concentration portion, or, in smaller networks, directly between the nodes in the access portion.

Certain portions of the generic network are highly susceptible to call looping whenever routing changes are made in the network. The access portion of the network typically is hierarchical with several nodes homing to a single hub node. The nodes in the access portion are not often involved in call loops because this hierarchical routing does not cause loops and also because there is usually is not enough connectivity, i.e., nodes in the same portion connected to each other, between the access nodes to cause call looping. On the other hand, the backbone portion of the network is nonhierarchical and usually has much higher connectivity than in the access portion. The higher connectivity is provided to increase network reliability by means of alternate routing. And the access concentration portion of the network typically has a mixture of hierarchical and non-hierarchical routing, more connectivity than the access portion and may also have alternate routing. Thus the nodes in both the backbone portion and the access concentration portion are vulnerable to call looping. When there are changes to the routing pattern in the network, therefore, all nodes in the backbone portion must be checked for call looping. Nodes in the access concentration portion, if present, must also be checked for call looping. The access nodes may optionally not be checked for call looping unless a service problem is reported or suspected therein.

In order for call looping to occur in the network, at least three nodes must be involved in the loop. Looping can not occur between just two nodes since each node in a virtual circuit switch is configured so that a call is prevented from going back out over the same trunk-group that it came on into the node. If there are multiple parallel trunk-groups between a pair of nodes, call looping can easily occur between these nodes if errors are inadvertently introduced in their routing tables.

Referring next to FIG. 2, there is shown a simplified network consisting of four network nodes 210, 220, 230 and 240 linked together and respectively located in, by way of example, New Jersey or NJ/HOM/DK1 (NJ), California or CA/LA/DK1 (CA), Illinois or IL/CHIC/DK1 (IL) and Michigan or MI/DET/DK1 (MI). Also, as shown, associated terminals NJ/HOM/TERM1 (terminal 211) and MI/DET/TERM1 (terminal 241), and hosts CA/LA/HOST1 (host 221) and IL/CHIC/HOST1 (host 231) are connected to dedicated ones of these network nodes. The referenced designations illustrated in FIG. 2 along side the network nodes, the associated terminals and hosts represent the respective addresses of these units.

Referring to FIG. 2 in greater detail, there is shown routing choices for calls to the host 231 attached to the node 230 in IL. Arrows on the circuit connections or links connecting the nodes indicate the direction in which calls to host 231 are routed from the other network nodes. A "1" next to a link indicates that the link is used as a first choice route. A "2" next to a link indicates that the link is used as a second choice route.

Also shown in FIG. 2 is an example of how call looping may be caused by an error in a routing table. How a call enters this loop is illustrated thusly. If the primary route from node 240 to node 230 is not available for a call intended for host 231, then calls to this host are routed over the secondary route to node 210 and thus enter a loop formed between nodes 210 in NJ, 220 in CA and 240 in MI. The call loop is depicted by the dashed lines between these nodes. The looping problem in this relatively simple example is resolved, however, if the primary and secondary routes from CA are interchanged such that the primary route is established between nodes 220 and 230 and the secondary route is established between nodes 220 and 240. The single-link loop between the nodes 210 and 240 does not cause call looping because, as indicated earlier herein, a node in the network does not allow a call that comes in on a trunk-group to go back out on that same trunk-group.

Circuitous routing is illustrated in FIG. 2 by the primary routes used in setting up communications to the host 231 from the node 210 in NJ. The primary route from node 210 in NJ passes through the node 220 in CA, node 240 in MI and node 230 in IL. This example of circuitous routing is caused by an error in the routing table at node 220 in CA. It is easily resolved by changing the routing table in node 220 such that the direct link to node 230 in IL is selected as the primary route instead of choosing the tandem path via the MI node 240 as the primary route.

A dead-end route is illustrated in FIG. 2 by the absence of an arrow on the link connecting node 230 at IL to the host 231. In this example, once a call to the host 231 reaches the node 230, the call cannot be forwarded to its destination since the node 230 contains no entry in its routing table to indicate that the host 231 is a local service name. It is thus apparent that isolated errors in the routing tables of individual nodes have a network wide impact.

With reference next to FIGS. 3 and 4, the four node network depicted in FIG. 2, is shown in FIG. 3 and further includes the names of trunk-groups and receiving-groups interconnecting the network nodes, terminals and hosts. A routing table for each of the four network nodes is shown in FIG. 4. Each routing table maps an address-level to a trunk-group or receiving-group that leads to a destination end-point. By way of explanation, if the routing table for the node 210 in NJ is examined, it is seen that each area address, CA, MI and IL, in the routing table is associated with a pair of trunk-groups. The first trunk-group in the pair is the primary group. The group TG2, for example, is the primary trunk-group for calls from the node 210 in NJ to the node 220 in CA. The second trunk-group (and subsequent groups when included) is used for alternate routing which occurs when the elements of the primary trunk-group are busy, or have failed. In this example, the group TG1 is the single alternate trunk-group for calls from the node 210 for node 220 in CA. The receiving-group RG1 routes calls from the node 210 in NJ to the terminal 211.

Call routing is performed in accordance with the destination address contained in the dialing information entered by a user. When a call is originated at a terminal, for example, the destination address which includes an area code, an exchange and a service name is examined at an access node. The area code is examined first and if there is no match with the local area code, the routing table is examined to search for an available trunk-group corresponding to the destination area code so that the call may be sent outward to another network node towards the destination. If during the examination, the destination area code is found to match the local area code, however, then the destination exchange is examined. If the destination exchange is found to match the local exchange, then the service-name is examined to locate a receiving-group for establishing the call over. If the destination exchange does not match the local exchange, then the routing table is again examined to find an available trunk-group corresponding to the destination exchange for sending the call outward to another node towards the destination exchange. As the call proceeds from node to node, this process is repeated at each node until the destination node is reached.

Since the switched virtual circuit network routes calls based on the destination address, call looping is also a destination dependent phenomenon. If the network is loop-free, then no calls to any destination can loop. If the network has loops, however, then calls to some destinations may loop, while calls to other destinations may not. This destination dependent phenomenon is illustrated in the simplified network commonly shown in both FIGS. 5 and 6, which are next referred to in combination.

FIG. 5 shows the simplified network consisting of the four network nodes 210, 220, 230 and 240 with a routing pattern corresponding to the routing table shown in FIG. 4 for calls to the host 221. FIG. 6 shows the same network. Its routing pattern, however, corresponds to the routing table for calls to the host 231. In both FIGS. 5 and 6, "1" indicates a first choice primary route and "2" indicates a second choice or alternate route. In FIG. 5 it is seen that there is no loop in the routing pattern for calls to the host 221. In FIG. 6, however, it is seen that the routing pattern for calls to the host 231 contains a loop. This loop involves the nodes 210, 220 and 240 respectively located at NJ, CA and MI and is entered if the primary routes to IL from CA and MI are both unavailable. Thus, in the same network it is possible for calls to some destinations to loop, while calls to other destinations will not loop. Since each destination has a unique routing pattern associated with it, each routing pattern has to be examined individually to check for loops.

With reference next to FIG. 7, there is shown the simplified node-by-node routing switched virtual circuit network of FIG. 3 and a diagram of a network management center 700 which incorporates the present invention. Contained in the network management center 700 are a network management system (NMS) 710 and a network control system (NCS) 720 which includes processing circuitry having, in accordance with the invention, a loop detection and elimination module, a circuitous routing detection module and a dead-end route detection module. The network management system 710 which has access to all the nodes in the network maintains the network and collects various types of data including routing information. The routing information is coupled into the network control system 720 which analyzes the routing information, finds trouble spots if there are any and determines how best to resolve the problems. Routing changes determined by the network control system 720 are coupled to the network management system 710 which then changes the routing tables located at the nodes.

The processing circuitry in the network control system 720 includes a central processor unit (CPU) 721 for processing the indicated modules and for controlling other features and functions of the system. Program memory 722 provides instructions to the central processor unit 721. Data memory 723 is utilized by the CPU 721 for storing and accessing data associated with processing the modules and for performing the features and functions programmed in program memory 722. In the illustrated embodiment CPU 721 is a processor, program memory 722 is read-only-memory (ROM) and data memory 723 is a combination of both random access memory (RAM) and electrical erasable programmable read-only memory (EEPROM). The input/output interface circuit 724 contains the switching, network control, and line circuits required by the network control system 720 to establish, maintain and terminate communications with the network management system 710.

A single virtual circuit switch node may be connected to up to a thousand terminals, hosts and other switch nodes. Even in a small network cosisting of 10 nodes, there can be as many as 10,000 different destination end-points, each of which gives rise to a different routing pattern. Even though the illustrative example provided herein considers only a small number of switch nodes and the routing patterns contained therein, the process described later herein is applicable to and provides the means for checking a much larger number of routing patterns. The process is also flexible, however, in that it can be restricted so that only the routing patterns that are most likely to cause call looping are examined. Some errors may be missed by this restriction, however.

How these errors may be missed are shown, by way of example, in FIG. 8 which shows the network in FIG. 3 and the routing pattern for calls to the host 221. FIG. 8 has also been modified to include a second host, CA/LA/HOST2 (host 222), connected to the node 220 in CA through receiving-group RG2. The routing tables of all the nodes remain the same as in FIG. 4, except that an entry is added to the routing table of the node 220 to indicate that RG2 is the receiving group for the end-point, host 222. The routing pattern for calls to the host 221 is shown in solid lines and the routing pattern for calls to host 222 is shown in dashed lines. The only difference between the two routing patterns is that calls for each host leave the node 220 via a specific receiving-group. If the end-points, host 221 and host 222, are included in the routing patterns, however, the resulting routing patterns are different. If this difference is ignored, and the two routing patterns treated as being identical, then it is possible that some loops may go undetected. Suppose there is an error in the routing table at node 220, for example, such that the entry "HOST2 RG2" is replaced by "HOST2 TG4" where TG4 is the trunk-group connecting the node 220 at CA to the node 240 at MI. The routing pattern for host 221 is unaffected, but the routing pattern for host 222 changes to the one shown in FIG. 9.

With reference to FIG. 9, the routing pattern for host 222 shown therein has a call loop which involves node 210 in NJ, node 220 in CA and node 240 in MI. It is seen that a single error in the routing table at node 220 causes call looping for calls to host 222 but does not affect calls to host 221. This call loop is not detected if host 221 and host 222 are excluded from their respective routing patterns. In actual application of the loop detecting process, however, certain situations may dictate that the entire network not be checked such as when the network is large. In such a case, a decision may be made to exclude the access portion with a view toward saving time and/or expense. If such a decision is made, there is a risk of not detecting call loops which involve either the access nodes or the end-points. If a service problem is reported or suspected in the access nodes or the end-points, however, the errors that cause this type of loop problem may advantageously be determined by the process described later herein by including the end-points in the routing patterns selected for evaluation.

With reference to FIG. 10, there is shown in accordance with the invention a routing array corresponding to the routing pattern of FIG. 5 for calls to the host 221. The routing pattern corresponding to a destination is described by identifying the nodes that are to be checked for call looping by assigning each node a number such as 1, 2, 3, etc., this single number representing both the row and column identifier for that node. By way of example, in the network in FIG. 5, there are four nodes which can be identified for ease of understanding by further assigning them the numbers 1 through 4 in a manner that NJ corresponds to 1, CA corresponds to 2, IL corresponds to 3 and MI corresponds to 4. Each routing pattern involving these four nodes thus may be represented by creating an array having four rows and four columns. Data assigned in the array is reflective of a particular relationship that a node has with another node in the routing pattern as illustrated in designated matrices herein.

The array shown in FIG. 10 is designated as the routing matrix "R" with host 221 as the destination. The array is constructed as follows: the entry corresponding to row i and column j is zero either because there is no link connecting nodes i and j or there is a link but it is not used for routing calls from node i to the destination, host 221. If there is a link connecting nodes i and j, and the link is used for routing calls from node i to the destination, host 221, then the corresponding entry in the array reflects the priority of the routing choice. This choice is shown in the array as either 1, 2, 3 or 4 depending on whether the route is a first choice, a second choice, a third choice, or a fourth choice route. In FIG. 10, for example, the entry corresponding to row 1 and column 2 is 1 because calls from NJ to the host 221 are routed as a first choice through CA. The entry in row 1, column 4 is 2 because NJ routes as a second choice calls to the host 221 through MI. The entry in row 1, column 3 is zero because there is no link connecting NJ and IL. And since a node cannot route a call to itself, diagonal entries in the array such as the entries in row 1 column 1, row 2 column 2, etc., are always zero.

From the routing matrix R, another matrix shown in FIG. 11 is derived in accordance with the invention and designated as the adjacency matrix "A" for the destination, host 221. The adjacency matrix is obtained from the routing matrix simply by replacing all entries greater than one, by one. It does not matter what the routing choice is. The only requirement is to identify the links used for routing calls to a given destination.

For loop elimination, the routing and adjacency matrices are employed along with a third matrix derived in accordance with the invention and designated as the network connectivity matrix "X". The network connectivity matrix corresponding to the network in FIG. 3 is shown in FIG. 12. This matrix represents the network connectivity information and is generated for the portion of the network to be evaluated. In this matrix, the entry corresponding to row i and column j is 1 if node i is connected to node j, and zero if it is not. For a given network, there is only one network connectivity matrix which depicts just the connectivity between the nodes in the network. It is not associated with any of the routing patterns.

For purposes of illustrating the loop detecting process, a simplified example which shows the process operating in its restricted mode and addressing a selected portion of a network is described. Before describing how the process works, however, the following terms: sink, source, tandem node and single-link loop node, which are used in the process, are defined. A sink is a node that only has incoming calls and no outgoing calls. A source is a node that only has outgoing calls and no incoming calls. A tandem node is a node that has both incoming and outgoing calls. A single-link loop node is a node that communicates with only one other node; it receives calls from that node and sends calls to that node.

Referring next to FIG. 13, there is shown a flow chart illustrating the operation of the loop detection process in checking routing patterns for call loops. The loop detection process has its basis in the realization that only tandem nodes may be involved in a call loop. No other type of node may be part of a call loop and such other nodes, as defined above, therefore may be deleted by the process. The process has four modules: (i) Delete Sink 1310; (ii) Delete Source 1311; (iii) Delete Single-Link Loop Node 1312 and (iv) Delete Non-Loop Tandem Node 1313. These four modules run cyclically on data representing the routing pattern detecting and deleting the indicated nodes until no further node deletion is possible. Any nodes remaining in the data after these modules have run are involved in one or more loops. If any nodes are still remaining, then a fifth module 1315 determines the number of loops and the orientation (i.e., the direction) of each loop.

To illustrate further how the loop detection process works, a routing pattern shown in FIG. 14 is described with reference to the loop detection process of FIG. 13. This routing pattern is for destination node 1 in a 9 node network. Arrows on the circuit connections or links connecting the nodes indicate the direction in which calls to the node 1 are routed from the other network nodes. A "1" next to a link indicates that the link is used as a first choice route. A "2" next to a link indicates that the link is used as a second choice route. A routing matrix R which corresponds to the routing pattern of FIG. 14 is shown in FIG. 15. Each node in this routing pattern is represented by a row and column identifier 1 through 9. A corresponding adjacency matrix A is shown in FIG. 16. This adjacency matrix provides the required data for the loop detection process for identifying the sinks, sources, single-link loop nodes and non-loop tandem nodes for this routing pattern.

The first step in the loop detection process is to obtain the row sum number r(i) and the column sum number c(i) for each row and column of the adjacency matrix. Row sum number r(i) and column sum number c(i) for i=1 through 9 are shown with the adjacency matrix in FIG. 16. If r(i) equals zero for some i, then the corresponding node, node i, is a sink. In FIG. 16, r(1)=0 and, hence node 1 is a sink. The delete sink module 1310 thus recognizes that node 1 is a sink and deletes node 1 and the links coming into this node. The row sums for the remaining rows are then updated by subtracting entries corresponding to the deleted links. Thus, for example, once node 1 and the links coming into node 1 are deleted, row sum number r(2) changes from 2 to 1 since entry (2,1) in the array in FIG. 16 gets deleted. The modified adjacency matrix is shown in FIG. 17 together with the new row numbers. It should be noted that the column numbers do not change as node 1 had no outgoing links. The routing pattern corresponding to this modified adjacency matrix is shown in FIG. 19.

Continuing in the process, the delete sink module 1310 searches to see if there is any other row with row numbers equal to zero. Since there is none in this example, the process proceeds to the delete source module 1311. The delete source module 1311 looks at the column number to determine if a node is a source. If c(i)=0, then the node i is a source. If such a node exists, the delete source module 1311 deletes that node and all the links leaving the node and recomputes the column numbers. Row numbers do not change since a source node has no incoming links. This process is repeated until no further source nodes remain. In the current example there are no source nodes, so the process proceeds to the delete single-link loop node module 1312. This module recognizes a single-link loop node using the following rule: if r(i)=c(i)=1 and (i,j)=(j,i)=1 where (i,j) and (j,i) are entries of the modified adjacency matrix, then node i is a single-link loop node. In this example, in FIG. 17, r(4)=c(4)=1 and (4,3)=(3,4)=1 and, hence node 4 is a single-link loop node. The delete single-link loop node module 1312 deletes the single-link loop node and the links associated with it and updates the corresponding row and column numbers. The modified adjacency matrix, after node 4 and its links are deleted, is shown in FIG. 18 and the routing pattern for this matrix shown in FIG. 20. This process is repeated until no further single-link loop nodes remain. In the example there are no more single-link loop nodes once node 4 is deleted and hence the process returns to the delete sink module 1310. Since there are no sinks or sources remaining, no additional nodes are deleted by the delete sink and delete source modules 1310 and 1311. The process therefore proceeds to the delete non-loop tandem node module 1313. All the nodes remaining in the routing pattern at this stage of the process are tandem nodes and have incoming and outgoing links. This module identifies tandem nodes not involved in loops and deletes them. This step is computationally more expensive than the others and hence the process returns to the delete sink module via the decision 1314 immediately after detecting the first non-loop tandem node.

There are two steps in identifying non-loop tandem nodes. In step one, a check is made to see if there is any node i which meets the following conditions: (i) r(i)=1 or c(i)=1, but not both, (ii) (i,j)=1 and (j,i)=1, where (i,j) and (j,i) are entries of the modified adjacency matrix and (iii) if r(i)=1, then there is no return path from node j of length greater than one hop or if c(i)=1, then there is no path to node j of a length greater than one hop. If such a node exists, then that node is essentially like a sink (if c(i)=1) or a source (if r(i)=1) except for the fact that it is involved in a single-link loop with node j. If such a node is found, this module deletes the node and the associated links and returns control to the delete sink module 1310. If such nodes do not exist, then the delete non-loop tandem node module 1313 begins the second step. In this step, a check is made to determine if there is any node i satisfying the following condition: (i,j)=1 and that there is no return path from the node j to node i. If such a node exists, then it is a non-loop tandem node. The module 1313 then deletes this node i and the links associated with it and returns control to the delete sink module 1310.

When step 1 is executed, in this example, it is found that node 3 is essentially a source node except for the fact that it is involved in a single-link loop with node 5. Node 3 and its links are therefore deleted and control returns to the delete sink module 1310. It can be seen from FIG. 20 that once node 3 and its associated links are deleted, node 5 becomes a source. Node 5 is then deleted by the delete source module 1311. Nodes 2 and 6 in succession also appear as source nodes and similarly get deleted by the delete source module 1311. No further node deletion is possible after this and, hence, the process concludes that the remaining nodes, nodes 7, 8 and 9 are involved in one or more loops.

The next step in loop detection is to determine the number and orientation of loops. This step is performed by step 1315. Specifically, the routine is as follows: (i) Of all the nodes involved in loops, find the node with the largest number of incoming and outgoing links. This node is likely to be involved in the most number of loops. Let this node be n0. (ii) If there is a link from n0 to node i (i.e., (n0, i)=1). Then determine the return paths of lengths greater than one hop from i to n0. This gives all of the loops involving the link n0 to i. Once all the network paths from i to n0 are determined, remove link n0 to i by setting (n0,i)=0 in the adjacency matrix. (iii) Run the modified adjacency matrix through the loop detection process. If no loops remain, then all loops have been found. If there are loops, repeat steps (i) and (ii) until no loops are found. This gives all the loops in the routing pattern. The orientation of each loop is determined simply by keeping track of the nodes appearing in the return path in step (ii). The computations for the loop paths just described may be achieved by a technique disclosed by E. W. Dijkstra, A Note on Two Problems in Connection with Graphs, Numerische Mathematik 1, pages 269-271 (1959).

Once the nodes involved in loops, the number of loops and the direction of each loop are determined, this information is provided to a loop elimination process which determines the best loop elimination strategy. In the example, there is only one loop involving nodes 7, 8 and 9, and the loop orientation is 7 to 8 to 9 to 7.

With reference to FIG. 21, there is shown a flow diagram for the loop elimination process which works with the data provided by the loop detection process and the data contained in the routing matrix R and the network connectivity matrix X. The loop-elimination process consists of two basic modules--the loop-correlation module 2110 and the loop-elimination module 2111. The output of the loop detection process, specifically, the number and orientation of loops, is provided to the loop-correlation module 2110. This module explicitly determines the number of loops each link is involved with through a routine which traverses each loop and updates a counter associated with each link, every time that link is encountered in a loop. The output from this correlation module 2110 therefore is the number of loops associated with each link in the network.

Information from the loop-correlation module 2110 is provided to the loop-elimination module 2111 which begins the loop-elimination process by attempting to break the route involved in the most number of loops. The loop-elimination module examines many different ways of breaking loops. The order in which these different possibilities are examined is prioritized so that expensive changes such as adding new links are near the bottom of the list. This examination priority is as follows:

A. Break the route involved in the highest number of loops if:

(1) The route corresponds to a routing choice greater than 2;

(2) The route is a secondary route which can be moved to another link in the routing pattern;

(3) The route can be moved to any existing link not currently used in the routing pattern.

B. Break any possible route involved in at least one loop in the following order:

(1) Break any route corresponding to a routing choice greater than 2;

(2) If two consecutive links in a loop, e.g., i→j and j→k, carry second choice traffic and if there is no return path from j→i of a length greater than one hop, then break route j→k and move it to j→i;

(3) Break any secondary route which can be moved to another link in the routing pattern;

(4) Break any route which can be moved to any existing link not currently used in the routing pattern.

C. The next loop breaking option is to add new links. This is done in the following order:

(1) If i→j is the route involved in the highest number of loops in the routing pattern for destination node k, then add a link from node i to the first node 1 from which node k can be reached and from which no return path to node i of length greater then one hop exists. Break route i→j and create a new route i→l over the new link.

(2) Select i→j where it is any arbitrary route involved in a loop in the routing pattern for destination node k, then add a link from node i to the first noe 1 from which node k can be reached and from which no return path to node i of length greater than one hop exists. Break route i→j and create a new route i→l over the new link.

D. The last loop breaking option is to reduce the routing choices in the given routing pattern at one or more nodes. Before this option can be accomplished, however, there must be prior knowledge as to which nodes are more expendable than others.

Because of the many different ways of breaking loops, it is not trivial to determine beforehand which solution is best suited for a given network. A reviewer who decides just how the loops should be broken is therefore provided with the option of examining up to three different loop-elimination alternatives. Referring once again to FIG. 21 and the flowchart depicted therein, the loop-elimination module 2111 picks a first solution that breaks all the loops in the given routing pattern. The routing changes necessary to implement this solution are then written at step 2112 into an output file as recommendations under loop-elimination alternative 1. If an examination of the second loop-elimination alternative is desired, then the program returns to the loop-correlation module 2110 and restarts the loop-elimination process. This time the loop-correlation module picks the route involved in the second highest number of loops as a starting point. The loop-elimination module begins the loop-elimination process from this starting point and examines different possibilities for breaking loops until a solution that breaks all the loops is found. This solution is then written at step 2113 into the output file as recommendations under alternative 2.

If an examination of the third alternative is desired, the loop-correlation module 2110 picks the route involved in the third highest number of loops as a starting point and the entire loop-elimination process is repeated. The resulting solution is written at step 2114 into the output file as recommendations under alternative 3. Not always will the three alternatives produce three different solutions. The solutions depend on the network connectivity and the possibilities that exist for breaking the loops. It is quite possible that two, or even all three, of the alternatives may produce the same solution. An examination of all three alternative solutions may be conducted by the reviewer and the solution that best meets the projected needs implemented.

Referring once again to FIGS. 14 and 21 in combination for illustrating, by way of example, the operation of the loop elimination process, the routing pattern in FIG. 14 has been reduced to a single loop, 7 to 8 to 9 to 7, by the loop detecting process. Since there is only one loop present, the loop-correlation module picks the first route in the loop, route 7 to 8 as the starting point and the loop-elimination module 2111 extracts the routing information for nodes 7, 8 and 9 from the routing matrix shown in FIG. 15. The routing submatrix involving nodes 7, 8 and 9 is shown in FIG. 22 and is is simply the information contained in rows 7, 8 and 9, and columns 7, 8 and 9 of the routing matrix shown in FIG. 15.

The loop-elimination module 2111 then begins the loop elimination process and steps through the various loop-breaking possibilities according to the prioritized sequence previously described herein. After examining several loop-breaking possibilities, the loop-elimination module checks to see if there are two consecutive links in the loop which carry alternate routed traffic (that is, second or higher choice traffic). In the example, in the loop 7 to 8 to 9 to 7, links 7 to 8 and 8 to 9 both carry second choice traffic. The loop elimination process next checks to see if there is a return path from node 7 to node 8 containing more than one hop. Since there is not return path from node 7 to node 8 having more than one hop, the loop elimination process recommends that route 8 to 9 be broken and route 8 to 7 be created. This breaks the loop and preserves the same number of routing choices at node 8 as before, without creating a new loop. This solution is written into the output file as recommendations under alternative 1. It is necessary to check for multiple hop return paths from node 7 to node 8 since if such a path exists, then by creating route 8 to 7, a new loop will be created. It is also necessary to identify two consecutive links which are part of the loop and which carry alternately routed traffic. Otherwise, if one of the consecutive links is carrying primary traffic, then a single-link loop of the form ##STR1## is created which leads to unnecessary call blocking. In such a case, the second choice routed calls from B get blocked at A.

Once the loop elimination procedure is complete, the alternative recommendations acceptable to the reviewer are made in the existing routing matrix R. This involves replacing entries that correspond to broken routes by zeroes, and replacing entries that correspond to new routes by the corresponding routing choices. The new routing matrix created for the network shown in FIG. 14 is shown in FIG. 23. It is seen in this new matrix that the entry corresponding to row 8 and column 9 is 0 (indicating that the route from 8 to 9 is broken), while the entry corresponding to row 8 and column 7 is 2 (indicating that 8 to 7 is a new route). If found acceptable to the reviewer, the recommended changes as provided by the new routing matrix are implemented into the routing pattern of the network.

One of the design objectives in node-by-node switched virtual circuit networks is that there must be at least one path between every pair of nodes that does not contain more than a specified number of hops which is designated as the hop-constraint "H." If the hop-constraint is violated for any pair of nodes, then the calls between those two nodes are being routed circuitously. Since circuitous routing affects network performance, it is important to detect and correct circuitous routing. This is achieved by a process in the circuitous routing detection module. As with call looping, circuitous routing is also destination dependent and hence all routing patterns corresponding to all destinations of interest must be checked for circuitous routing. As in the case of loop detection, the number of routing patterns may be limited by omitting end-points as desired. Further, in case of large networks, the access portion nodes may also be omitted.

Circuitous routing constraints are generally made applicable to primary paths only, since it is very expensive to enforce hop-constraints on alternate paths. The process therefore is intended for detecting circuitous routing in primary paths. Where necessary, however, this same process may also be used with suitable input data to detect circuitous routing in alternate paths. The data needed as input for detecting circuitous routing in primary paths is information regarding the primary routing choices from all the nodes in a routing pattern. This information may be represented in the form of a matrix designated as the primary routing matrix P (not shown). It is obtained from the routing matrix by setting all elements of the routing matrix that are greater than one to zero. The matrix P is thus generated automatically by the process from the routing matrix. Once the hop-constraint H is specified by the user, the process checks the lengths of the primary paths to the destination node, from all the nodes that are not directly connected to the destination node. If any path exceeds the hop-constraint H, then that path is identified as a circuitous route and the user then reviews the routing choices for the network and selects a more direct path that does not violate the hop-constraint. It is possible that in selecting a new path, the reviewer may inadvertently create loops. Each time a circuitious path is replaced by a new path, therefore, the new routing pattern must be checked for loops. If loops are found, then one of the loop breaking alternative recommendations should be implemented. This, in turn, may cause circuitious routing which has to be removed. Thus resolving the circuitious routing problem is an iterative process.

To route a call, as earlier indicated herein, a node must know all the area codes in the network, all the exchanges in its own area, and all the service-names in its own exchange. If any part of this information is not present in the routing tables of one or more nodes, then dead-end routes will result. To check for dead-end routes, the information in each of the routing tables must be compared with the detailed network configuration information available from the network database to make sure that the data needed to route calls to all the desired destinations is present in all the routing tables. This comparison is achieved by the execution of a process contained in the dead-end route detection module. If any information is detected as missing, it is added to the appropriate routing tables.

Various other modifications of this invention are contemplated and may obviously be resorted to by those skilled in the art without departing from the spirit and scope of the invention as hereinafter defined by the appended claims.

Claims (22)

I claim:
1. Apparatus for detecting call looping in a node-by-node data routing network including a plurality of nodes for routing data calls, each node having routing information for directing data calls over multiple paths to multiple destinations, said apparatus comprising:
means for identifying those nodes in the network that are involved in call looping for data calls directed to specific destinations; and
means for modifying the routing information in at least one node involved in the call looping, the modifying means altering a routing path for a data call to a specific destination in a manner that prevents the data call from looping among the identified nodes.
2. The apparatus for detecting call looping as in claim 1 wherein the identifying means further comprises means for identifying those nodes in the network that are configured in a manner such that they are potentially involved in call looping and identifying those nodes in the network that are configured in a manner such that they are not involved in call looping.
3. The apparatus for detecting call looping as in claim 2 wherein those nodes that are potentially involved in call looping comprise nodes configured as tandem nodes.
4. The apparatus for detecting call looping as in claim 2 wherein the identifying means further comprises means for determining a number of call loops in the routing network and the direction of travel between nodes for each loop.
5. The apparatus for detecting call looping as in claim 4 further comprising means for detecting circuitous routing, the circuitous routing detecting means providing an indication when the number of nodes provided in a routing pattern for a primary path to the specific destination exceeds a predetermined number.
6. The apparatus for detecting call looping as in claim 5 further comprising means for detecting dead-end routing, the dead-end routing detecting means providing a means for comparing information in routing tables in the nodes of the network with that in a network database and providing an indication if any information is detected as missing from the routing tables.
7. A method of detecting call looping in a node-by-node data routing network including a plurality of nodes for routing data calls, each node having routing information for directing data calls over multiple paths to multiple destinations, the method comprising the steps of:
identifying those nodes in the network that are involved in call looping for data calls directed to specific destinations; and
modifying the routing information in at least one node involved in the call looping, the modifying step altering a routing path for a data call to a specific destination in a manner that prevents the data call from looping among the identified nodes.
8. The method of detecting call looping in a node-by-node data routing network as in claim 7 wherein the identifying step further comprises the steps of identifying those nodes in the network that are configured in a manner such that they are potentially involved in call looping and identifying those nodes in the network that are configured in a manner such that they can not be involved in call looping.
9. The method of detecting call looping in a node-by-node data routing network as in claim 8 wherein those nodes that are potentially involved in call looping comprise nodes configured as tandem nodes.
10. The method of detecting call looping in a node-by-node data routing network as in claim 8 further comprising the step of determining a number of call loops in the network and the direction of travel between nodes for each loop.
11. The method of detecting call looping in a node-by-node data routing network as in claim 10 wherein the information modifying step further comprises the steps of: determining the routing paths that are involved in the highest number of loops in a routing pattern for the data call to the specific destination, examining a series of alternative recommendations for breaking the loops in the routing pattern, and providing one of the series of alternative recommendations to the network for modifying the routing information.
12. The method of detecting call looping in a node-by-node data routing network as in claim 7 wherein the identifying step further comprises the step of generating a routing matrix for each destination from the routing information contained in each node, the routing matrix containing data reflective of a circuit connection between individual nodes and priority of a routing choice for routing calls to the specific destination over the circuit connection.
13. The method of detecting call looping in a node-by-node data routing network as in claim 12 wherein the identifying step further comprises the step of generating an adjacency matrix for each destination from the routing matrix, the adjacency matrix containing data reflective only of the circuit connection between individual nodes for routing calls to the specific destination.
14. The method of detecting call looping in a node-by-node data routing network as in claim 13 further comprising the steps of identifying those nodes in the network that are configured in a manner such that they are potentially involved in call looping and identifying those nodes in the network that are configured in a manner such that they are not involved in call looping, the adjacency matrix providing the routing information for determining these identifying steps.
15. The method of detecting call looping in a node-by-node data routing network as in claim 14 further comprising the step of determining a number of call loops and the direction of travel between nodes for each loop.
16. The method of detecting call looping in a node-by-node data routing network as in claim 15 wherein the information modifying step further comprises the step of generating a connectivity matrix for the network, the connectivity matrix containing data reflective only of a circuit connection between individual nodes in the routing network.
17. The method of detecting call looping in a node-by-node data routing network as in claim 16 wherein the information modifying step further includes the steps of: determining the number of loops associated with each circuit connection, examining a series of alternative recommendations for breaking the loops in a routing pattern for the data call to the specific destination, and providing one of the series of alternative recommendations to the network for modifying the routing information.
18. The method of detecting call looping in a node-by-node data routing network as in claim 17 wherein a first alternative recommendation concerns breaking the circuit connection involved in the highest number of loops in the routing pattern, and a second alternative recommendation concerns breaking the circuit connection involved in the second highest number of loops in the routing pattern.
19. Apparatus for detecting call looping in a node-by-node data routing network including a plurality of nodes for routing data calls, each node having routing information for directing data calls over multiple paths to multiple destinations, said apparatus comprising:
means for identifying those nodes in the network that are potentially involved in call looping for data calls directed to specific destinations; and
means for modifying the routing information in at least one node involved in the call looping, the modifying means altering a routing path for a data call to a specific destination in a manner that prevents the data call from looping among the identified nodes.
20. The apparatus for detecting call looping as in claim 19 wherein the identifying means further comprises means for identifying those nodes in the network that are configured in a manner such that they are potentially involved in call looping and identifying those nodes in the network that are configured in a manner such that they are not involved in call looping.
21. The apparatus for detecting call looping as in claim 20 wherein those nodes that are potentially involved in call looping comprise nodes configured as tandem nodes.
22. The apparatus for detecting call looping as in claim 20 wherein the identifying means further comprises means for determining a number of call loops in the routing network and the direction of travel between nodes for each loop.
US07459924 1990-01-02 1990-01-02 Apparatus and method for detecting and eliminating call looping in a node-by-node routing network Expired - Lifetime US5014262A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US07459924 US5014262A (en) 1990-01-02 1990-01-02 Apparatus and method for detecting and eliminating call looping in a node-by-node routing network
CA 2033706 CA2033706C (en) 1990-01-02 1991-01-07 Apparatus and method for detecting and eliminating call looping in a node-by-node routing network

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07459924 US5014262A (en) 1990-01-02 1990-01-02 Apparatus and method for detecting and eliminating call looping in a node-by-node routing network
CA 2033706 CA2033706C (en) 1990-01-02 1991-01-07 Apparatus and method for detecting and eliminating call looping in a node-by-node routing network

Publications (1)

Publication Number Publication Date
US5014262A true US5014262A (en) 1991-05-07

Family

ID=25674430

Family Applications (1)

Application Number Title Priority Date Filing Date
US07459924 Expired - Lifetime US5014262A (en) 1990-01-02 1990-01-02 Apparatus and method for detecting and eliminating call looping in a node-by-node routing network

Country Status (2)

Country Link
US (1) US5014262A (en)
CA (1) CA2033706C (en)

Cited By (81)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5200952A (en) * 1991-03-28 1993-04-06 Sprint International Communications Corp. Adaptive VCP control in integrated services networks
US5216591A (en) * 1990-02-06 1993-06-01 Sprint International Communications Corp. Method for efficient distributed data communications network backbone node location
EP0555926A1 (en) * 1992-02-14 1993-08-18 Koninklijke PTT Nederland N.V. Method and means for detecting a routing loop in a telecommunication network
WO1993019558A1 (en) * 1992-03-26 1993-09-30 Siemens Aktiengesellschaft Procedure and device for routing telecommunications in a meshed network
US5259026A (en) * 1991-12-18 1993-11-02 Bell Communications Research, Inc. Method for speed calling automatic update
US5293488A (en) * 1991-09-03 1994-03-08 Hewlett-Packard Company Message-routing apparatus
US5321812A (en) * 1991-04-29 1994-06-14 International Business Machines Corp. Loop detection and dissolution in a focal point network
US5355364A (en) * 1992-10-30 1994-10-11 International Business Machines Corporation Method of routing electronic messages
US5373553A (en) * 1993-10-29 1994-12-13 At&T Corp. Automatic generation of control messages for a communication network based on input of parameters to be modified
US5377262A (en) * 1991-12-30 1994-12-27 At&T Corp. Telecommunication switching system having adaptive routing switching nodes
US5390242A (en) * 1991-12-30 1995-02-14 At&T Corp. Rerouting in a distributed telecommunication system
US5416834A (en) * 1991-12-30 1995-05-16 At&T Corp. Redirection of calls by a communication terminal
US5444773A (en) * 1993-06-30 1995-08-22 Harris Corporation Method for releasing unnecessary trucks from a telephone call
US5459720A (en) * 1991-12-23 1995-10-17 Network Express Inc. System for internetworking data terminal equipment through a switched digital network
US5483590A (en) * 1993-12-08 1996-01-09 At&T Corp. Processing of operational data in telecommunication system
WO1996021301A1 (en) * 1994-11-15 1996-07-11 Telefonaktiebolaget Lm Ericsson Methods for verification of routing table information
US5559877A (en) * 1995-03-21 1996-09-24 At&T Automatic provisioning of trunking and routing parameters in a telecommunications network
US5583928A (en) * 1992-06-19 1996-12-10 British Telecommunications Public Limited Company Detecting local exchange failure and resultant control of a communications network
WO1997003528A1 (en) * 1995-07-10 1997-01-30 Telefonaktiebolaget Lm Ericsson (Publ) Periodic scheduling of routing verification tests
US5600309A (en) * 1991-12-06 1997-02-04 Reseaux De Communications D'entreprise Operationally secure communication assembly
WO1997008902A1 (en) * 1995-08-25 1997-03-06 Telefonaktiebolaget Lm Ericsson (Publ) Periodic scheduling of routing verification tests
US5737528A (en) * 1993-07-16 1998-04-07 Kabushiki Kaisha Toshiba Network connecting apparatus with separate data and control signal lines
EP0862341A2 (en) * 1997-02-28 1998-09-02 Philips Electronics N.V. Telecommunication system with loop-free switching tables
US5809282A (en) * 1995-06-07 1998-09-15 Grc International, Inc. Automated network simulation and optimization system
US5848145A (en) * 1996-12-20 1998-12-08 Lucent Technologies Inc. Automatic learning of network routing using random routes
WO1999002009A2 (en) * 1997-07-04 1999-01-14 Telefonaktiebolaget Lm Ericsson (Publ) Loop detection
US5889847A (en) * 1996-09-12 1999-03-30 Alcatel Usa Sourcing, L.P. Method for signalling connection control part message loop prevention
US5936951A (en) * 1995-04-26 1999-08-10 Telefonaktiebolaget Lm Ericsoon Dynamic infrastructure
US5970064A (en) * 1997-06-12 1999-10-19 Northern Telecom Limited Real time control architecture for admission control in communications network
EP1010104A1 (en) * 1997-06-30 2000-06-21 Sun Microsystems, Inc. Hardware-assisted central processing unit access to a forwarding database
US6236721B1 (en) * 1997-09-30 2001-05-22 Siemens Aktiengesellschaft Method for route searching in telecommunications networks
US6343122B1 (en) * 1995-07-04 2002-01-29 Telefonaktiebolaget L M Ericsson Method and apparatus for routing traffic in a circuit-switched network
US6388991B1 (en) * 1999-12-23 2002-05-14 West Communications International Inc. Method and system for interfacing between circuit network switches and ATM edge switches
US6519256B1 (en) 1998-04-08 2003-02-11 Samsung Electronics Co., Ltd. Technique for constructing and controlling a private line using a switched virtual circuit in an ATM network
US6549533B1 (en) * 1998-12-30 2003-04-15 Objective Systems Integrators Managing switched virtual circuits in a network
US20030118170A1 (en) * 2001-12-21 2003-06-26 Wilson Anthony David Communications call routing
US6618750B1 (en) 1999-11-02 2003-09-09 Apple Computer, Inc. Method and apparatus for determining communication paths
US6618785B1 (en) 2000-04-21 2003-09-09 Apple Computer, Inc. Method and apparatus for automatic detection and healing of signal pair crossover on a high performance serial bus
US6628607B1 (en) * 1999-07-09 2003-09-30 Apple Computer, Inc. Method and apparatus for loop breaking on a serial bus
US6631426B1 (en) 1999-11-02 2003-10-07 Apple Computer, Inc. Automatic ID allocation for AV/C entities
US6636914B1 (en) 1999-11-05 2003-10-21 Apple Computer, Inc. Method and apparatus for arbitration and fairness on a full-duplex bus using dual phases
US6639918B1 (en) 2000-01-18 2003-10-28 Apple Computer, Inc. Method and apparatus for border node behavior on a full-duplex bus
US6665305B1 (en) * 2000-01-04 2003-12-16 Cisco Technology, Inc. System and method for detecting subscriber loops
US6718497B1 (en) 2000-04-21 2004-04-06 Apple Computer, Inc. Method and apparatus for generating jitter test patterns on a high performance serial bus
US20040139179A1 (en) * 2002-12-05 2004-07-15 Siemens Information & Communication Networks, Inc. Method and system for router misconfiguration autodetection
US6813663B1 (en) 1999-11-02 2004-11-02 Apple Computer, Inc. Method and apparatus for supporting and presenting multiple serial bus nodes using distinct configuration ROM images
US6831928B1 (en) 2000-02-17 2004-12-14 Apple Computer, Inc. Method and apparatus for ensuring compatibility on a high performance serial bus
US20040252231A1 (en) * 2003-06-13 2004-12-16 Apple Computer, Inc. Synthesis of vertical blanking signal
US20040255338A1 (en) * 2003-06-13 2004-12-16 Apple Computer, Inc. Interface for sending synchronized audio and video data
US20040255339A1 (en) * 2003-06-13 2004-12-16 Apple Computer, Inc Synchronized transmission of audio and video data from a computer to a client via an interface
US6839791B2 (en) 1999-11-16 2005-01-04 Apple Computer, Inc. Method and apparatus for accelerating detection of serial bus device speed signals
US6842805B1 (en) 1999-11-05 2005-01-11 Apple Computer, Inc. Method and apparatus for preventing loops in a full-duplex bus
US20050231358A1 (en) * 2004-04-19 2005-10-20 Company Steven L Search engine for singles with (GPS) position data
US6959343B1 (en) 1999-11-01 2005-10-25 Apple Computer, Inc. Method and apparatus for dynamic link driver configuration
US7010102B1 (en) * 2003-04-10 2006-03-07 At&T Corp. Method and apparatus of detection of inter-carrier looping
US20060072590A1 (en) * 2000-02-17 2006-04-06 Apple Computer, Inc. Method and apparatus for ensuring compatibility on a high performance serial bus
US20060092954A1 (en) * 2004-10-15 2006-05-04 Fuji Xerox Co., Ltd. Information processing system, information processing method, and computer readable medium
US20060159034A1 (en) * 2004-12-23 2006-07-20 Dheerendra Talur Method for providing loop free routing table in a router
US20070027998A1 (en) * 2000-02-16 2007-02-01 Apple Computer, Inc. Transmission of AV/C transactions over multiple transports method and apparatus
US20070067523A1 (en) * 2000-01-18 2007-03-22 Apple Computer, Inc. Method and apparatus for border node behavior on a full-duplex bus
US7237135B1 (en) 2003-12-29 2007-06-26 Apple Inc. Cyclemaster synchronization in a distributed bridge
US7308517B1 (en) 2003-12-29 2007-12-11 Apple Inc. Gap count analysis for a high speed serialized bus
US20080034137A1 (en) * 2006-07-24 2008-02-07 Colin Whitby-Strevens Apparatus and methods for de-emphasis training on a point-to-point connection
US20080056478A1 (en) * 2003-04-10 2008-03-06 Huynh Phu K Method and apparatus of detection of inter-carrier looping
US20080097733A1 (en) * 2004-07-26 2008-04-24 Koninklijke Philips Electronics, N.V. Decision support system for simulating execution of an executable clinical guideline
US7417973B1 (en) 2002-12-31 2008-08-26 Apple Inc. Method, apparatus and computer program product for ensuring node participation in a network bus
US7450438B1 (en) 2002-06-20 2008-11-11 Cisco Technology, Inc. Crossbar apparatus for a forwarding table memory in a router
US7457302B1 (en) 2002-12-31 2008-11-25 Apple Inc. Enhancement to loop healing for malconfigured bus prevention
US7502338B1 (en) 2003-12-19 2009-03-10 Apple Inc. De-emphasis training on a point-to-point connection
US7525904B1 (en) 2002-06-20 2009-04-28 Cisco Technology, Inc. Redundant packet routing and switching device and method
US20090161567A1 (en) * 2007-12-21 2009-06-25 At&T Labs, Inc. Detection of routing loops based on time-to-live expiries
US7574650B1 (en) 1999-10-28 2009-08-11 Apple Inc. General purpose data container method and apparatus for implementing AV/C descriptors
US7788567B1 (en) 2003-11-18 2010-08-31 Apple Inc. Symbol encoding for tolerance to single byte errors
US7969898B1 (en) * 2007-03-09 2011-06-28 Cisco Technology, Inc. Technique for breaking loops in a communications network
US7995606B1 (en) 2003-12-03 2011-08-09 Apple Inc. Fly-by and ack-accelerated arbitration for broadcast packets
US8270401B1 (en) 2001-07-30 2012-09-18 Cisco Technology, Inc. Packet routing and switching device
US8275910B1 (en) 2003-07-02 2012-09-25 Apple Inc. Source packet bridge
US8762446B1 (en) 1999-11-02 2014-06-24 Apple Inc. Bridged distributed device control over multiple transports method and apparatus
JP2014207671A (en) * 2013-04-10 2014-10-30 富士通株式会社 Optical path computation based on reachability matrix
US20140328216A1 (en) * 2013-05-02 2014-11-06 Thales Node, mesh communication network and routing reconfiguration method
US20150263926A1 (en) * 2010-12-13 2015-09-17 Microsoft Technology Licensing, Llc Network management system supporting customizable groups

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4736363A (en) * 1985-09-06 1988-04-05 Northern Telecom Limited Path oriented routing system and method for packet switching networks
US4748658A (en) * 1986-07-16 1988-05-31 Bell Communications Research, Inc. Architecture for allocating resources in a telecommunications network
US4773069A (en) * 1986-07-30 1988-09-20 Boulton P I P Robust rooted tree network
US4825206A (en) * 1985-11-04 1989-04-25 International Business Machines Corporation Automatic feedback of network topology data
US4873517A (en) * 1988-06-23 1989-10-10 International Business Machines Corporation Method for selecting least weight end node to end node route in a data communications network

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4736363A (en) * 1985-09-06 1988-04-05 Northern Telecom Limited Path oriented routing system and method for packet switching networks
US4825206A (en) * 1985-11-04 1989-04-25 International Business Machines Corporation Automatic feedback of network topology data
US4748658A (en) * 1986-07-16 1988-05-31 Bell Communications Research, Inc. Architecture for allocating resources in a telecommunications network
US4773069A (en) * 1986-07-30 1988-09-20 Boulton P I P Robust rooted tree network
US4873517A (en) * 1988-06-23 1989-10-10 International Business Machines Corporation Method for selecting least weight end node to end node route in a data communications network

Cited By (163)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5216591A (en) * 1990-02-06 1993-06-01 Sprint International Communications Corp. Method for efficient distributed data communications network backbone node location
US5200952A (en) * 1991-03-28 1993-04-06 Sprint International Communications Corp. Adaptive VCP control in integrated services networks
US5321812A (en) * 1991-04-29 1994-06-14 International Business Machines Corp. Loop detection and dissolution in a focal point network
US5293488A (en) * 1991-09-03 1994-03-08 Hewlett-Packard Company Message-routing apparatus
US5600309A (en) * 1991-12-06 1997-02-04 Reseaux De Communications D'entreprise Operationally secure communication assembly
US5259026A (en) * 1991-12-18 1993-11-02 Bell Communications Research, Inc. Method for speed calling automatic update
US5459720A (en) * 1991-12-23 1995-10-17 Network Express Inc. System for internetworking data terminal equipment through a switched digital network
US5416834A (en) * 1991-12-30 1995-05-16 At&T Corp. Redirection of calls by a communication terminal
US5377262A (en) * 1991-12-30 1994-12-27 At&T Corp. Telecommunication switching system having adaptive routing switching nodes
US5390242A (en) * 1991-12-30 1995-02-14 At&T Corp. Rerouting in a distributed telecommunication system
US5371732A (en) * 1992-02-14 1994-12-06 Koninklijke Ptt Nederland N.V. Method of detecting a routing loop in a telecommunication network, telecommunication network for using the method, and detection means for use in the telecommunication network
JPH0646131A (en) * 1992-02-14 1994-02-18 Koninkl Ptt Nederland Nv Method for detecting routine loop of telephone communication network, telephone communication network for using the method and detector used for the telephone communication network
EP0555926A1 (en) * 1992-02-14 1993-08-18 Koninklijke PTT Nederland N.V. Method and means for detecting a routing loop in a telecommunication network
JP2860854B2 (en) 1992-02-14 1999-02-24 コニンクリジケ ピーティーティー ネーダーランドエヌ ブィー Method for detecting routine loop telephony network, telephone communication network for using the method, and detection apparatus for use in telecommunications networks
WO1993019558A1 (en) * 1992-03-26 1993-09-30 Siemens Aktiengesellschaft Procedure and device for routing telecommunications in a meshed network
US5537392A (en) * 1992-03-26 1996-07-16 Siemens Aktiengesellschaft Procedure and device for routing telecommunications in a meshed network
US5583928A (en) * 1992-06-19 1996-12-10 British Telecommunications Public Limited Company Detecting local exchange failure and resultant control of a communications network
US5355364A (en) * 1992-10-30 1994-10-11 International Business Machines Corporation Method of routing electronic messages
US5444773A (en) * 1993-06-30 1995-08-22 Harris Corporation Method for releasing unnecessary trucks from a telephone call
US5737528A (en) * 1993-07-16 1998-04-07 Kabushiki Kaisha Toshiba Network connecting apparatus with separate data and control signal lines
US5373553A (en) * 1993-10-29 1994-12-13 At&T Corp. Automatic generation of control messages for a communication network based on input of parameters to be modified
US5483590A (en) * 1993-12-08 1996-01-09 At&T Corp. Processing of operational data in telecommunication system
WO1996021301A1 (en) * 1994-11-15 1996-07-11 Telefonaktiebolaget Lm Ericsson Methods for verification of routing table information
US5583848A (en) * 1994-11-15 1996-12-10 Telefonaktiebolaget L M Ericsson Methods for verification of routing table information
US5559877A (en) * 1995-03-21 1996-09-24 At&T Automatic provisioning of trunking and routing parameters in a telecommunications network
US5936951A (en) * 1995-04-26 1999-08-10 Telefonaktiebolaget Lm Ericsoon Dynamic infrastructure
US5809282A (en) * 1995-06-07 1998-09-15 Grc International, Inc. Automated network simulation and optimization system
US6343122B1 (en) * 1995-07-04 2002-01-29 Telefonaktiebolaget L M Ericsson Method and apparatus for routing traffic in a circuit-switched network
WO1997003528A1 (en) * 1995-07-10 1997-01-30 Telefonaktiebolaget Lm Ericsson (Publ) Periodic scheduling of routing verification tests
WO1997008902A1 (en) * 1995-08-25 1997-03-06 Telefonaktiebolaget Lm Ericsson (Publ) Periodic scheduling of routing verification tests
US6421440B1 (en) 1996-09-12 2002-07-16 Alcatel Usa Sourcings, L.P. Method for signalling connection control part message loop prevention
US5889847A (en) * 1996-09-12 1999-03-30 Alcatel Usa Sourcing, L.P. Method for signalling connection control part message loop prevention
US5848145A (en) * 1996-12-20 1998-12-08 Lucent Technologies Inc. Automatic learning of network routing using random routes
EP0862341A2 (en) * 1997-02-28 1998-09-02 Philips Electronics N.V. Telecommunication system with loop-free switching tables
EP0862341A3 (en) * 1997-02-28 1998-12-30 Philips Electronics N.V. Telecommunication system with loop-free switching tables
US6111941A (en) * 1997-02-28 2000-08-29 U.S. Philips Corporation Telecommunication system with loop-free switching tables
US5970064A (en) * 1997-06-12 1999-10-19 Northern Telecom Limited Real time control architecture for admission control in communications network
EP1010104A4 (en) * 1997-06-30 2007-05-02 Sun Microsystems Inc Hardware-assisted central processing unit access to a forwarding database
EP1010104A1 (en) * 1997-06-30 2000-06-21 Sun Microsystems, Inc. Hardware-assisted central processing unit access to a forwarding database
WO1999002009A3 (en) * 1997-07-04 1999-05-06 Ericsson Telefon Ab L M Loop detection
WO1999002009A2 (en) * 1997-07-04 1999-01-14 Telefonaktiebolaget Lm Ericsson (Publ) Loop detection
GB2343085B (en) * 1997-07-04 2002-07-31 Ericsson Telefon Ab L M Loop detection
GB2343085A (en) * 1997-07-04 2000-04-26 Ericsson Telefon Ab L M Loop detection
US6236721B1 (en) * 1997-09-30 2001-05-22 Siemens Aktiengesellschaft Method for route searching in telecommunications networks
US6519256B1 (en) 1998-04-08 2003-02-11 Samsung Electronics Co., Ltd. Technique for constructing and controlling a private line using a switched virtual circuit in an ATM network
US6549533B1 (en) * 1998-12-30 2003-04-15 Objective Systems Integrators Managing switched virtual circuits in a network
US6977887B1 (en) 1999-07-09 2005-12-20 Apple Computer, Inc. Method and apparatus for loop breaking on a serial bus
US7583656B1 (en) 1999-07-09 2009-09-01 Apple Inc. Method and apparatus for loop breaking on a serial bus
US6628607B1 (en) * 1999-07-09 2003-09-30 Apple Computer, Inc. Method and apparatus for loop breaking on a serial bus
US7574650B1 (en) 1999-10-28 2009-08-11 Apple Inc. General purpose data container method and apparatus for implementing AV/C descriptors
US8667023B2 (en) 1999-10-28 2014-03-04 Apple Inc. General purpose data container method and apparatus for implementing AV/C descriptors
US8250100B2 (en) 1999-10-28 2012-08-21 Apple Inc. General purpose data container method and apparatus for implementing AV/C descriptors
US6959343B1 (en) 1999-11-01 2005-10-25 Apple Computer, Inc. Method and apparatus for dynamic link driver configuration
US7415545B1 (en) 1999-11-01 2008-08-19 Apple Inc. Method and apparatus for dynamic link driver configuration
US7003590B1 (en) 1999-11-02 2006-02-21 Apple Computer, Inc. Automatic ID allocation for AV/C entities
US7191266B1 (en) 1999-11-02 2007-03-13 Apple Computer, Inc. Method and apparatus for supporting and presenting multiple serial bus nodes using distinct configuration ROM images
US7484013B1 (en) 1999-11-02 2009-01-27 Apple Inc. Automatic ID allocation for AV/C entities
US6813663B1 (en) 1999-11-02 2004-11-02 Apple Computer, Inc. Method and apparatus for supporting and presenting multiple serial bus nodes using distinct configuration ROM images
US6631426B1 (en) 1999-11-02 2003-10-07 Apple Computer, Inc. Automatic ID allocation for AV/C entities
US6618750B1 (en) 1999-11-02 2003-09-09 Apple Computer, Inc. Method and apparatus for determining communication paths
US8762446B1 (en) 1999-11-02 2014-06-24 Apple Inc. Bridged distributed device control over multiple transports method and apparatus
US7506088B2 (en) 1999-11-02 2009-03-17 Apple Inc. Method and apparatus for supporting and presenting multiple serial bus nodes using distinct configuration ROM images
US20070255871A1 (en) * 1999-11-05 2007-11-01 Apple Computer, Inc. Method and apparatus for loop breaking in a data bus
US7194564B2 (en) 1999-11-05 2007-03-20 Apple Computer, Inc. Method and apparatus for preventing loops in a full-duplex bus
US6865632B1 (en) 1999-11-05 2005-03-08 Apple Computer, Inc. Method and apparatus for arbitration and fairness on a full-duplex bus using dual phases
US8140729B2 (en) 1999-11-05 2012-03-20 Apple Inc. Method and apparatus for arbitration on a full-duplex bus using dual phases
US20050111482A1 (en) * 1999-11-05 2005-05-26 Apple Computer, Inc. Method and apparatus for arbitration and fairness on a full-duplex bus using dual phases
US6985981B1 (en) 1999-11-05 2006-01-10 Apple Computer, Inc. Method and apparatus for preventing loops in a full-duplex bus
US8473660B2 (en) 1999-11-05 2013-06-25 Apple Inc. Method and apparatus for arbitration on a data bus
US7650452B2 (en) 1999-11-05 2010-01-19 Apple Inc. Method and apparatus for arbitration and fairness on a full-duplex bus using dual phases
US6636914B1 (en) 1999-11-05 2003-10-21 Apple Computer, Inc. Method and apparatus for arbitration and fairness on a full-duplex bus using dual phases
US7389371B2 (en) * 1999-11-05 2008-06-17 Apple Inc. Method and apparatus for loop breaking in a data bus
US6842805B1 (en) 1999-11-05 2005-01-11 Apple Computer, Inc. Method and apparatus for preventing loops in a full-duplex bus
US20050117528A1 (en) * 1999-11-05 2005-06-02 Apple Computer, Inc. Method and apparatus for preventing loops in a full-duplex bus
US7096302B2 (en) 1999-11-16 2006-08-22 Apple Computer, Inc. Method and apparatus for accelerating detection of serial bus device speed signals
US6839791B2 (en) 1999-11-16 2005-01-04 Apple Computer, Inc. Method and apparatus for accelerating detection of serial bus device speed signals
US20050114582A1 (en) * 1999-11-16 2005-05-26 Apple Computer, Inc. Method and apparatus for accelerating detection of serial bus device speed signals
US6388991B1 (en) * 1999-12-23 2002-05-14 West Communications International Inc. Method and system for interfacing between circuit network switches and ATM edge switches
US6665305B1 (en) * 2000-01-04 2003-12-16 Cisco Technology, Inc. System and method for detecting subscriber loops
US7266617B1 (en) 2000-01-18 2007-09-04 Apple Inc. Method and apparatus for border node behavior on a full-duplex bus
US7317694B1 (en) 2000-01-18 2008-01-08 Apple Inc. Method and apparatus for border node behavior on a full-duplex bus
US20040037309A1 (en) * 2000-01-18 2004-02-26 Hauck Jerrold V. Method and apparatus for border node behavior on a full-duplex bus
US20070294449A1 (en) * 2000-01-18 2007-12-20 Apple Inc. Method and apparatus for border node behavior on a full-duplex bus
US6639918B1 (en) 2000-01-18 2003-10-28 Apple Computer, Inc. Method and apparatus for border node behavior on a full-duplex bus
US6891848B2 (en) 2000-01-18 2005-05-10 Apple Computer, Inc. Method and apparatus for border node behavior on a full-duplex bus
US7822898B2 (en) 2000-01-18 2010-10-26 Apple Inc. Method and apparatus for border node behavior on a full-duplex bus
US20070067523A1 (en) * 2000-01-18 2007-03-22 Apple Computer, Inc. Method and apparatus for border node behavior on a full-duplex bus
US7490174B2 (en) 2000-01-18 2009-02-10 Apple Inc. Method and apparatus for border node behavior on a full-duplex bus
US7280490B1 (en) 2000-01-18 2007-10-09 Apple Inc. Method and apparatus for border node behavior on a full-duplex bus
US7352708B1 (en) 2000-01-18 2008-04-01 Apple Inc. Method and apparatus for border node behavior on a full-duplex bus
US7421507B2 (en) 2000-02-16 2008-09-02 Apple Inc. Transmission of AV/C transactions over multiple transports method and apparatus
US20070027998A1 (en) * 2000-02-16 2007-02-01 Apple Computer, Inc. Transmission of AV/C transactions over multiple transports method and apparatus
US6831928B1 (en) 2000-02-17 2004-12-14 Apple Computer, Inc. Method and apparatus for ensuring compatibility on a high performance serial bus
US9215097B2 (en) 2000-02-17 2015-12-15 Apple, Inc. Methods and apparatus for ensuring compatibility on a high performance serial bus
US8295302B2 (en) 2000-02-17 2012-10-23 Apple Inc. Methods and apparatus for ensuring compatibility on a high performance serial bus
US7050453B1 (en) 2000-02-17 2006-05-23 Apple Computer, Inc. Method and apparatus for ensuring compatibility on a high performance serial bus
US7701966B2 (en) 2000-02-17 2010-04-20 Apple Inc Method and apparatus for ensuring compatibility on a high performance serial bus
US20060072590A1 (en) * 2000-02-17 2006-04-06 Apple Computer, Inc. Method and apparatus for ensuring compatibility on a high performance serial bus
US20100202314A1 (en) * 2000-02-17 2010-08-12 Hauck Jerrold V Methods and apparatus for ensuring compatibility on a high performance serial bus
US6944705B1 (en) 2000-04-21 2005-09-13 Apple Computer, Inc. Method and apparatus for automatic detection and healing of signal pair crossover on a high performance serial bus
US9083525B2 (en) 2000-04-21 2015-07-14 Apple Inc. Method and apparatus for generating jitter test patterns on a high performance serial bus
US7861025B2 (en) 2000-04-21 2010-12-28 Apple Inc. Method and apparatus for automatic detection and healing of signal pair crossover on a high performance serial bus
US6618785B1 (en) 2000-04-21 2003-09-09 Apple Computer, Inc. Method and apparatus for automatic detection and healing of signal pair crossover on a high performance serial bus
US7401173B1 (en) 2000-04-21 2008-07-15 Apple Inc. Method and apparatus for automatic detection and healing of signal pair crossover on a high performance serial bus
US20060209943A1 (en) * 2000-04-21 2006-09-21 Apple Computer, Inc. Method and apparatus for generating jitter test patterns on a high performance serial bus
US7058872B1 (en) 2000-04-21 2006-06-06 Apple Computer, Inc. Method and apparatus for generating jitter test patterns on a high performance serial bus
US8407535B2 (en) * 2000-04-21 2013-03-26 Apple Inc. Method and apparatus for generating jitter test patterns on a high performance serial bus
US20080294833A1 (en) * 2000-04-21 2008-11-27 Apple Inc. Method and apparatus for automatic detection and healing of signal pair crossover on a high performance serial bus
US6718497B1 (en) 2000-04-21 2004-04-06 Apple Computer, Inc. Method and apparatus for generating jitter test patterns on a high performance serial bus
US9094237B2 (en) 2001-07-30 2015-07-28 Cisco Technology, Inc. Packet routing and switching device
US8270401B1 (en) 2001-07-30 2012-09-18 Cisco Technology, Inc. Packet routing and switching device
US20030118170A1 (en) * 2001-12-21 2003-06-26 Wilson Anthony David Communications call routing
US7525904B1 (en) 2002-06-20 2009-04-28 Cisco Technology, Inc. Redundant packet routing and switching device and method
US7450438B1 (en) 2002-06-20 2008-11-11 Cisco Technology, Inc. Crossbar apparatus for a forwarding table memory in a router
US8270399B2 (en) 2002-06-20 2012-09-18 Cisco Technology, Inc. Crossbar apparatus for a forwarding table memory in a router
US20040139179A1 (en) * 2002-12-05 2004-07-15 Siemens Information & Communication Networks, Inc. Method and system for router misconfiguration autodetection
US7533166B2 (en) * 2002-12-05 2009-05-12 Siemens Communications, Inc. Method and system for router misconfiguration autodetection
US7457302B1 (en) 2002-12-31 2008-11-25 Apple Inc. Enhancement to loop healing for malconfigured bus prevention
US7417973B1 (en) 2002-12-31 2008-08-26 Apple Inc. Method, apparatus and computer program product for ensuring node participation in a network bus
US7010102B1 (en) * 2003-04-10 2006-03-07 At&T Corp. Method and apparatus of detection of inter-carrier looping
US7366288B1 (en) 2003-04-10 2008-04-29 At&T Corp. Method and apparatus of detection of inter-carrier looping
US20080056478A1 (en) * 2003-04-10 2008-03-06 Huynh Phu K Method and apparatus of detection of inter-carrier looping
US7469042B2 (en) 2003-04-10 2008-12-23 At&T Corp. Method and apparatus of detection of inter-carrier looping
US20040252231A1 (en) * 2003-06-13 2004-12-16 Apple Computer, Inc. Synthesis of vertical blanking signal
US20080250469A1 (en) * 2003-06-13 2008-10-09 Apple Inc. Synchronized transmission of audio and video data from a computer to a client via an interface
US8838825B2 (en) 2003-06-13 2014-09-16 Apple Inc. Synchronized transmission of audio and video data from a computer to a client via an interface
US20040255338A1 (en) * 2003-06-13 2004-12-16 Apple Computer, Inc. Interface for sending synchronized audio and video data
US7970926B2 (en) 2003-06-13 2011-06-28 Apple Inc. Synchronized transmission of audio and video data from a computer to a client via an interface
US7353284B2 (en) 2003-06-13 2008-04-01 Apple Inc. Synchronized transmission of audio and video data from a computer to a client via an interface
US20040255339A1 (en) * 2003-06-13 2004-12-16 Apple Computer, Inc Synchronized transmission of audio and video data from a computer to a client via an interface
US7668099B2 (en) 2003-06-13 2010-02-23 Apple Inc. Synthesis of vertical blanking signal
US8275910B1 (en) 2003-07-02 2012-09-25 Apple Inc. Source packet bridge
US9026680B2 (en) 2003-07-02 2015-05-05 Apple Inc. Source packet bridge
US7788567B1 (en) 2003-11-18 2010-08-31 Apple Inc. Symbol encoding for tolerance to single byte errors
US8607117B2 (en) 2003-11-18 2013-12-10 Apple Inc. Symbol encoding for tolerance to single byte errors
US8321748B2 (en) 2003-11-18 2012-11-27 Apple Inc. Symbol encoding for tolerance to single byte errors
US7975201B2 (en) 2003-11-18 2011-07-05 Apple Inc. Symbol encoding for tolerance to single byte error
US20100325516A1 (en) * 2003-11-18 2010-12-23 Colin Whitby-Strevens Symbol encoding for tolerance to single byte error
US7995606B1 (en) 2003-12-03 2011-08-09 Apple Inc. Fly-by and ack-accelerated arbitration for broadcast packets
US7502338B1 (en) 2003-12-19 2009-03-10 Apple Inc. De-emphasis training on a point-to-point connection
US20080034245A1 (en) * 2003-12-29 2008-02-07 Apple Computer, Inc. A California Corporation Cyclemaster synchronization in a distributed bridge
US7308517B1 (en) 2003-12-29 2007-12-11 Apple Inc. Gap count analysis for a high speed serialized bus
US7987381B2 (en) 2003-12-29 2011-07-26 Apple Inc. Cyclemaster synchronization in a distributed bridge
US20080263247A1 (en) * 2003-12-29 2008-10-23 Apple Inc. Gap count analysis for the P1394a BUS
US7734855B2 (en) 2003-12-29 2010-06-08 Apple Inc. Gap count analysis for the P1394a BUS
US8392742B2 (en) 2003-12-29 2013-03-05 Apple Inc. Cyclemaster synchronization in a distributed bridge
US7237135B1 (en) 2003-12-29 2007-06-26 Apple Inc. Cyclemaster synchronization in a distributed bridge
US20050231358A1 (en) * 2004-04-19 2005-10-20 Company Steven L Search engine for singles with (GPS) position data
US8172576B2 (en) * 2004-07-26 2012-05-08 Koninklijke Philips Electronics N.V. Decision support system for simulating execution of an executable clinical guideline
US20080097733A1 (en) * 2004-07-26 2008-04-24 Koninklijke Philips Electronics, N.V. Decision support system for simulating execution of an executable clinical guideline
US7577102B2 (en) * 2004-10-15 2009-08-18 Fuji Xerox Co., Ltd. Information processing system, information processing method, and computer readable medium
US20060092954A1 (en) * 2004-10-15 2006-05-04 Fuji Xerox Co., Ltd. Information processing system, information processing method, and computer readable medium
US20060159034A1 (en) * 2004-12-23 2006-07-20 Dheerendra Talur Method for providing loop free routing table in a router
US7889712B2 (en) * 2004-12-23 2011-02-15 Cisco Technology, Inc. Methods and apparatus for providing loop free routing tables
US20080034137A1 (en) * 2006-07-24 2008-02-07 Colin Whitby-Strevens Apparatus and methods for de-emphasis training on a point-to-point connection
US8483108B2 (en) 2006-07-24 2013-07-09 Apple Inc. Apparatus and methods for de-emphasis training on a point-to-point connection
US7969898B1 (en) * 2007-03-09 2011-06-28 Cisco Technology, Inc. Technique for breaking loops in a communications network
US20090161567A1 (en) * 2007-12-21 2009-06-25 At&T Labs, Inc. Detection of routing loops based on time-to-live expiries
US7752666B2 (en) 2007-12-21 2010-07-06 At&T Labs, Inc. Detection of routing loops based on time-to-live expiries
US20150263926A1 (en) * 2010-12-13 2015-09-17 Microsoft Technology Licensing, Llc Network management system supporting customizable groups
JP2014207671A (en) * 2013-04-10 2014-10-30 富士通株式会社 Optical path computation based on reachability matrix
US9497105B2 (en) * 2013-05-02 2016-11-15 Thales Node, mesh communication network and routing reconfiguration method
US20140328216A1 (en) * 2013-05-02 2014-11-06 Thales Node, mesh communication network and routing reconfiguration method

Also Published As

Publication number Publication date Type
CA2033706A1 (en) 1992-07-08 application
CA2033706C (en) 1994-12-13 grant

Similar Documents

Publication Publication Date Title
Mohan et al. Efficient algorithms for routing dependable connections in WDM optical networks
Cheng et al. A loop-free extended Bellman-Ford routing protocol without bouncing effect
Oran OSI IS-IS intra-domain routing protocol
US7184437B1 (en) Scalable route resolution
US7035202B2 (en) Network routing using link failure information
US6728205B1 (en) Method and apparatus for automatic protection switching
Birman Computing approximate blocking probabilities for a class of all-optical networks
US5173689A (en) Self-distributed logical channel node failure restoring system
US7319700B1 (en) Communicating constraint information for determining a path subject to such constraints
US4931941A (en) Adaptive routing of network traffic
US6804199B1 (en) Communications network system and method for routing based on disjoint pairs of paths
US6377543B1 (en) Path restoration of networks
US5495471A (en) System and method for restoring a telecommunications network based on a two prong approach
Murakami et al. Optimal capacity and flow assignment for self-healing ATM networks based on line and end-to-end restoration
US7002917B1 (en) Method for path selection in a network
US4884263A (en) Packet-switched communications network with parallel virtual circuits for re-routing message packets
US5608721A (en) Communications network and method which implement diversified routing
US5115495A (en) Communications network system using full-juncture and partial-juncture station status information for alternate-path distance-vector routing
US20020191545A1 (en) Methods and apparatus for selecting multiple paths taking into account shared risk
US20040117251A1 (en) Method and apparatus for advertising a link cost in a data communications network
US5787271A (en) Spare capacity allocation tool
US5142531A (en) Data communications network
US4967345A (en) Method of selecting least weight routes in a communications network
US20050111349A1 (en) Method and apparatus for determining network routing information based on shared risk link group information
US6151635A (en) Router connections through switching networks using virtual circuits

Legal Events

Date Code Title Description
AS Assignment

Owner name: AMERICAN TELEPHONE AND TELEGRAPH COMPANY, NEW YORK

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST.;ASSIGNOR:HARSHAVARDHANA, PARAMASIV;REEL/FRAME:005210/0337

Effective date: 19891228

Owner name: BELL TELEPHONE LABORATORIES, INCORPORATED, NEW JER

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST.;ASSIGNOR:HARSHAVARDHANA, PARAMASIV;REEL/FRAME:005210/0337

Effective date: 19891228

FPAY Fee payment

Year of fee payment: 4

FPAY Fee payment

Year of fee payment: 8

FPAY Fee payment

Year of fee payment: 12