US20030128710A1 - Quasi-deterministic gateway selection algorithm for multi-domain source routed networks - Google Patents
Quasi-deterministic gateway selection algorithm for multi-domain source routed networks Download PDFInfo
- Publication number
- US20030128710A1 US20030128710A1 US10/368,532 US36853203A US2003128710A1 US 20030128710 A1 US20030128710 A1 US 20030128710A1 US 36853203 A US36853203 A US 36853203A US 2003128710 A1 US2003128710 A1 US 2003128710A1
- Authority
- US
- United States
- Prior art keywords
- gateway
- connection
- connection request
- domain
- identifiers
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/124—Shortest path evaluation using a combination of metrics
Definitions
- This invention relates generally to routing through multiple-domain source-routed networks, which include path-oriented networks and source routed services on connectionless networks.
- a connection When a connection is initiated in a source routed network, a connection must be established between the source end point and the destination end point.
- path selection is accomplished by reference to network topology information stored at each node in the network.
- the source node consults its stored network topology information and determines a valid path to the destination node.
- the topology of the network is changed, such as by adding or removing nodes, the topology information at each node in the network is updated.
- Domains are connected to each other through gateways using inter-domain links.
- a path to a destination node outside the domain of the source node is established through these gateways.
- the gateway through which the connection leaves a domain is referred to as an exit gateway, and the gateway through which the connection enters a domain is referred to as an entry gateway.
- a domain usually contains more than one exit gateway that can reach the domain of the destination node.
- An exit gateway may also be able to reach the destination domain through several entry gateways, possibly in different adjacent domains.
- the connection will be from the source node, through the node's domain to the exit gateway, and across the inter-domain link to the entry gateway of the adjacent domain. A sequence of such connections will be established until the adjacent domain, containing the entry gateway, is the domain in which the destination end point is located.
- Any node at which a routing decision must be made either a source node, an exit gateway connected to multiple entry gateways in adjacent domains, or an entry gateway of an intermediary domain, must select one of the eligible gateways through which to establish a connection.
- static routing systems the selection of a gateway is fixed for any given destination. This can result in overloading of gateways.
- connections will be blocked.
- Existing dynamic routing systems allow more flexibility in selection of gateways, but these are based on limited topology and bandwidth availability information propagated between domains. The propagation of this information defeats the purpose of dividing a network into domains in order to limit topology information to manageable volumes. The propagation of this information also takes time, and may be stale by the time a connection is requested.
- Each node implementing the invention may be referred to as a decision point.
- metrics are associated with each gateway leading out of the domain and with each destination outside the domain. The metric represents some quantity to be minimized by when selecting a route, such as cost, number of hops, or delay.
- the routing system selects an exit gateway quasi-deterministically. A selection is first made deterministically by selecting the exit gateway with the best metric associated with the destination of the connection.
- an alternate exit gateway is selected randomly from among the remaining-exit gateways. In the random selection no preference is given to the exit gateways that have lower metrics associated with the destination, other than to possibly confine the selection process to exit gateways with metrics satisfying some predetermined criteria. If the exit gateway is connected to more than one entry gateway in adjacent domains, the exit gateway then selects one of the adjacent entry gateways using the same quasi-deterministic method. This selection method combines the advantages of a deterministic selection, resulting in close to optimum routing, and the advantages of a random selection, resulting in reduced gateway overloading and reduced likelihood of repeated failed connection attempts.
- the procedure is recursive, and is carried out independently at a source node and each gateway that attempts to reach a node in a different domain.
- the invention provides a method for a node to select a gateway from among at least two gateways, comprising the steps of: storing information associating a metric with each gateway with respect to each of one or more destinations; upon receiving a connection request to a destination, the further steps of: i) deterministically selecting a first gateway having an optimum metric with respect to the destination, ii) sending a connection request to the first gateway, iii) if a connection can not be established to the destination via the first gateway, randomly selecting a second gateway from among the gateways other than the first gateway, and iv) sending a connection request to the second gateway.
- An advantage of this invention then is the dynamic selection of a route through a multi-domain network without requiring propagation of topology or bandwidth availability information between domains.
- the selection is quasi-deterministic.
- a deterministic selection selects the optimum exit gateway through which an inter-domain route will be established. If a connection can not be established through the optimum exit gateway, a random selection of an exit gateway is then made.
- a similar selection procedure is carried out by decision points which are exit gateways which must choose from more than one entry gateways in adjacent domains. Although this may result in a less than optimum route, this will only occur if the first choice of route failed and will also prevent repeated failed connection attempts from being routed along the same route.
- FIG. 1 is a diagram of a multi-domain network
- FIG. 2 a is a diagram of the stored gateway information of the invention, at a node of the network of FIG. 1;
- FIG. 2 b is a diagram of the stored gateway information of the invention, at another node of the network of FIG. 1;
- FIG. 3 is a block diagram of a node on which the invention is implemented.
- FIG. 4 is a flowchart of the method of the invention.
- FIG. 1 An instantiation of an embodiment of the invention will be described with reference to an example of a multi-domain network, illustrated in FIG. 1.
- the network of FIG. 1 consists of four domains: domain A 10 , domain B 24 , domain C 26 , and domain D 50 .
- Domain A 10 contains a Source End Point (SEP) 12 from which a connection originates, several other nodes 14 interconnected with intra-domain links 15 , and two nodes which act as gateways 16 and 18 denoted by G 1 and G 2 .
- G 1 16 is connected to another gateway G 3 28 in an adjacent domain, domain B 24 , via an inter-domain link 20 , and to another gateway G 7 42 in another adjacent domain, domain C 26 , via inter-domain link 68 .
- SEP Source End Point
- G 2 18 is connected to a gateway G 6 38 in domain C 26 via the inter-domain link 22 .
- Domain D 50 contains a Destination End Point (DEP) 60 to which it is assumed the SEP 12 needs to be connected.
- Domain B 24 and domain C 26 are each connected to each other and to domain D 50 , through other gateways and inter-domain links.
- the intra-domain routes may pass through several nodes which are not shown for reasons of clarity, but are interconnected in the same manner as the nodes 14 of domain A 10 .
- This invention is concerned with selecting a route from a SEP which has launched a Connection Request to a DEP identified in the address of the Connection Request. Routing decisions according to the invention are preferably implemented by hardware, or software, or a combination of hardware or software, at each decision point encountered during a connection set-up.
- a decision point is defined as any node which may have to make a gateway selection decision. In the domain in which the connection originates the decision point will be the SEP. In downstream domains the entry gateway of the domain will be a decision point.
- Each exit gateway connected to more than one entry gateway capable of reaching the DEP is also a decision point. Each decision point is responsible for selecting the exit gateway through which the route will leave the domain or for selecting the adjacent entry gateway through which the route will enter an adjacent domain.
- each decision point is responsible for selecting the next gateway in a connection request.
- Each node has topology information about its own domain.
- each node has stored gateway information consisting of metrics associated with each gateway through which the destination can be reached, one metric for each gateway and each of the destinations within other domains in the network reachable through the gateway.
- the information stored by SEP 12 in the network illustrated in FIG. 1 is generally indicated by 150 shown in FIG. 2 a and consists of eight entries. Each entry consists of an exit gateway 156 , a destination 152 , and a metric 154 .
- the node determines the destination of the connection from the address of the DEP in the Connection Request.
- the destination 152 is a logical grouping of some of the Destination End Points (DEPs) in a domain.
- the DEPs are identified as belonging to a destination by the address of the DEP.
- Each destination is confined to one domain, although there may be more than one destination in a domain.
- the destinations in FIG. 1 are not shown, as they are logical groupings.
- Destination B 1 of the stored gateway information shown in FIG. 2 a is located in domain B 24 of the example network of FIG. 1.
- Destination C 1 is located in domain C 26
- destinations D 1 and D 2 are located in domain D 50 .
- Each destination 152 can be reached through one of two exit gateways: G 1 and G 2 .
- the metric of the first entry 151 identifies a cost associated with reaching a destination B 1 through the exit gateway G 1 .
- the information stored by gateway G 1 in the network illustrated in FIG. 1 is generally indicated by 160 in FIG. 2 b , and consists of eight entries. Each entry consists of a destination 162 , an adjacent entry gateway 166 , and a metric 164 which in this case represents an approximation of a cost associated with reaching each destination 162 through each gateway 166 .
- the metrics stored by a SEP or an entry gateway for a destination and an exit gateway are the most optimal of the metrics stored by that exit gateway for that destination.
- gateway GI can reach destination B 1 through either of two adjacent entry gateways, G 3 and G 7 .
- Gateway G 1 stores metrics for these two destination-gateway combinations at entries 161 and 163 respectively. However only the lowest metric for reaching destination B 1 , namely that of entry 161 , is stored by the SEP at entry 151 .
- the costs 154 and 164 associated with each gateway and each destination are in arbitrary units, and only their relative values are important for illustrating gateway selection according to the invention.
- the high level operation of the invention at a decision point is shown in FIG. 3.
- the node 200 contains a processor 208 for making routing decisions according to an embodiment of the invention and memory 202 for storing information required by the processor 208 .
- the memory 202 stores topology information 220 for the domain of the node and stores gateway information 210 for gateways leading out of the domain of the node.
- the stored gateway information 210 would be equivalent to the stored gateway information 150 illustrated in FIG. 2 a .
- the stored topology information 220 and the stored gateway information 210 are not drawn to scale, and the amount of memory required to store the topology information will usually be much greater than the amount of memory required to store the gateway information.
- the processor 208 parks the Connection Request 204 by storing a copy of the Connection Request in memory, determines the destination of the connection, and consults the stored gateway information 210 . The processor 208 selects the gateway through which the destination can be reached at the lowest cost, as indicated by the stored gateway information 210 , and forwards the Connection Request 206 to the selected gateway. If the connection can not be established to or through the selected gateway, the processor 208 receives a Connection Failed signal 212 . The processor 208 marks that gateway as having failed to establish a connection for this connection.
- the marking of the gateway is achieved by adding the identity of that gateway to an information portion of the parked Connection Request for this connection, for example, and does not modify the stored topology information 220 .
- the processor 208 then consults the stored gateway information 210 and randomly selects an alternate gateway capable of reaching the destination, as indicated by the stored gateway information 210 , from the remaining gateways and forwards the Connection Request 206 to the alternate selected gateway. If that connection also fails, preferably the processor 208 sends a Connection Failed signal 214 to the node which had sent the initial Connection Request 204 .
- a decision point receives a request to route to a Destination End Point (DEP).
- DEP Destination End Point
- no assumption is made regarding the location of the decision point. It could be the SEP, an entry gateway of an intermediary domain, an exit gateway, or the entry gateway of the domain in which the DEP is located.
- the decision point checks the address of the DEP to determine if the DEP is located in the same domain as the decision point. If the DEP is located in this domain, the decision point attempts to establish a path to the DEP by using a conventional intra-domain routing method at step 112 .
- the intra-domain routing method may make multiple attempts to establish the path. For an individual connection, a path to the DEP may not be able to be established for one of several reasons, such as a failure within the domain, or a lack of resources such as bandwidth, processor time, or logical channel numbers. If a path can not be established for any reason then the decision point sends a Connection Failed signal to the preceding node at step 110 . If a path is established, then the decision point sends a Connection Success signal to the preceding node.
- the decision point determines at step 102 that the DEP is not in the same domain as the decision point, the decision point must select a gateway. If the decision point is the SEP or an entry gateway, an exit gateway must be selected. If the decision point is an exit gateway, an entry gateway in an adjacent domain must be selected. In either case the selection procedure is the same, and is illustrated beginning in FIG. 4 b .
- the decision point first selects a gateway deterministically, at step 118 .
- the decision point consults its stored information concerning the gateways and selects the gateway that can reach the destination, determined from the address of the DEP, most optimally according to the stored metrics. If the stored gateway information indicates that more than one gateway have equivalent optimum stored metrics, then one of those optimum gateways is selected randomly.
- the selection of a gateway is limited to those gateways which do not connect to domains through which the routing has already passed. This prevents routing loops and is possible because the identification of each of these domains is tracked as the route through the domain is established, and a domain identifier is stored in the parked Connection Request.
- the decision point attempts to establish a path to the selected gateway using conventional methods. If the decision point is an exit gateway and the selected gateway is an adjacent entry gateway then the path will simply be the inter-domain link connecting the two gateways. If the decision point is the SEP or an entry gateway and the selected gateway is an exit gateway, then the path will be an intra-domain route and must be established using conventional intra-domain routing methods and multiple attempts may be made. For an individual connection, a path to the gateway may not be able to be established for any of several reasons. For example, the path may not be established due to a fault, or due to a lack of any type of resource such as bandwidth, processor time, or logical channel numbers.
- the decision point awaits a Connection Success signal from the selected gateway at step 130 . If the decision point receives a Connection Success signal at step 132 , then it propagates the Connection Success signal back towards the user by sending its own Connection Success signal to the preceding node at step 134 .
- each downstream decision point may make up to two failed routing attempts before cranking back to the previous decision point. Because of this, there may be a large delay before a Connection Success signal is received.
- a timer is started, and if a Connection Success signal is not received within a pre-determined time the connection request is abandoned.
- the decision point selects an alternate gateway non-deterministically. This procedure is illustrated in FIG. 4 c .
- the decision point flags the deterministically selected gateway as one through which a connection could not be established. As described above, this is done by adjusting values within the parked Connection Request, and is not done by changing the stored topology information. In this way when a new connection attempt is made, by this user or by another, the gateway will still be available for selection. This is important because the reason for the connection failure through the deterministically selected gateway may be temporary.
- the decision point then consults its stored gateway information at step 138 and randomly selects an alternate gateway from among the remaining gateways through which the destination can be reached.
- the random selection of a gateway is limited to those gateways which do not connect to domains through which the routing has already passed, in order to avoid routing loops.
- the remainder of the procedure is identical to that illustrated in FIG. 2 b for connecting to the deterministically selected gateway, aside from the action taken if a connection can not be established to or through the alternate gateway.
- connection can not be completed through this decision point as preferably no further attempts-are made to select a gateway.
- the decision point will then indicate Connection Failed to the preceding node at step 110 .
- a user accesses the network through the SEP 12 in domain A 10 , and wishes to be connected to a DEP 60 at destination D 1 (not shown) in domain D 50 . Since the DEP 60 is not in the domain of the SEP 12 , the SEP 12 must select a gateway at step 118 of FIG. 4 b .
- the SEP 12 consults its stored gateway information and determines that both G 1 16 and G 2 18 can reach the destination D 1 .
- the SEP 12 selects G 1 16 since the gateway G 1 16 can reach destination D 1 at a lower cost than can gateway G 2 18 (see the example metrics of FIG. 2 a ).
- the SEP 12 establishes a path along the nodes 14 to G 1 16 .
- G 1 16 is implementing the invention independently of the SEP 12 , a new flow of FIG. 4 starts.
- the DEP 60 is not in this domain 10 , so G 1 16 must select an adjacent entry gateway.
- the processor running on G 1 16 consults its stored gateway information for gateways to which it is attached and determines that G 3 28 and G 7 42 can each reach the destination D 1 , and that gateway G 3 28 can do so at the least cost (see the example metrics of FIG. 2 b ). It successfully connects to G 3 28 along the inter-domain link 20 connecting the two gateways. Since G 3 28 is implementing the invention independently of G 1 16 , a new flow of FIG. 4 starts.
- the processor of G 3 28 consults its stored gateway information for gateways within this domain (not shown) and determines that G 4 36 , G 5 32 , and G 10 62 can each reach the destination D 1 , and that G 5 32 can do so at the least cost. It successfully connects to G 5 32 along intra-domain links 30 . G 5 32 successfully connects to entry gateway G 8 52 along inter-domain link 44 .
- the DEP 60 is in the same domain as G 8 52 , so G 8 52 attempts to make an intra-domain connection to the DEP 60 along intra-domain links 56 . However in this example no intra-domain connection can be established. G 8 52 informs G 5 32 that the connection could not be completed.
- G 5 32 has only one choice of gateway, namely G 8 52 , and so G 5 32 simply informs G 3 28 that the connection could not be completed, and the routing attempt is cranked back to G 3 28 .
- Crank back is the return of gateway selection decision to an upstream decision point, and is possible because of the recursive nature of the invention.
- Each decision point implements the algorithm independently, and triggers execution of the invention on downstream decision points by sending Connection Requests to the gateway it selects.
- Crank back occurs when a downstream decision point can not establish a connection to the DEP and sends a Connection Failed signal to its upstream decision point and shuts down its implementation of the invention.
- the upstream decision point receives the Connection Failed signal at step 132 in FIG. 4 b or 4 c , and carries on execution of its own implementation of the invention.
- G 3 32 has just been informed of connection failure at step 132 in FIG. 4 b .
- the embodiment of the invention implemented on G 3 32 marks the gateway G 5 32 as having failed for this connection attempt, and randomly selects one of G 4 36 and G 10 62 as an alternate gateway at step 138 of FIG. 4 c .
- the invention provides an increased amount of loadsharing between G 4 36 and G 10 62 amongst all connections from domain A 10 to domain D 50 .
- the random selection by the invention implemented on G 3 28 selects the gateway G 4 36 .
- G 3 28 is informed of this second connection failure at step 132 of FIG. 4 c .
- G 3 28 sends a Connection Failed signal to the preceding node G 1 16 , whereupon the implementation of the invention is completed for G 3 28 .
- the routing attempt cranks back to gateway G 1 16 which is informed at step 132 of FIG. 4 b of its implementation of the invention that the connection attempt through the gateway G 3 28 has failed.
- the gateway G 1 16 selects an alternate gateway from its stored gateway information, in this case G 7 42 , and the routing attempt moves forward through a second intermediary domain, domain C 26 . If a connection can not be established through G 7 42 , G 1 16 is informed of the connection failure at step 132 of FIG. 4 c . G 1 16 sends a Connection Failed signal to the preceding node, the SEP 12 , and the implementation of the invention on G 1 16 completes. The SEP 12 receives the Connection Failed signal at step 132 of FIG. 4 b and randomly selects an alternate gateway, in this case G 2 18 , and a connection is attempted through G 2 18 . If a connection can not be established through G 2 18 , the SEP 12 receives a Connection Failed signal at step 132 of FIG. 4 c.
- the invention is implemented in the form of hardware and/or software installed on nodes in the communication network.
- the invention need not be implemented on every node in the network. In fact this will likely not be possible as different domains are often administered by different entities.
- the advantage of the invention increases with the number of nodes implementing the invention. As the number of nodes implementing the invention increases, the likelihood of the invention being used at any stage in the routing of a connection increases.
- the invention could make more than one attempt at selecting a random gateway after the deterministically selected gateway fails to establish a connection. If a randomly selected gateway fails to establish a connection, that gateway would be marked as having failed to establish a connection for this connection, and another gateway could be selected randomly from among the remaining gateways. This could be repeated yet again, but each extra attempt to randomly select a gateway will increase the delay before the user is alerted about the connection failure if no selected gateway can establish a connection. Alternatively, more than one gateway could be selected deterministically before switching to random selection.
- the random selection of a gateway need not be purely random.
- the selection could be weighted in favour of more optimal gateways, such as those with a lower metric associated with the destination. As more weighting is applied to the random selection the more likely that the optimum available path will be found, but at the same time the advantages gained with random selection (loadsharing, lower probability of repeated connection failures) diminish.
- the random selection of a gateway could also limit selection to the gateways satisfying some predetermined criteria. For example, only the gateways whose metrics indicate that the destination can be reached through the gateway at some reasonable cost could be considered for selection.
- the gateway selection is preferably carried out by hardware. This can be in one of several typical forms for implementing algorithms, such as an ASIC or a Programable Logic Device. Alternatively the gateway selection could be carried out by software running on the processor of a node, although speed requirements for gateway selection make this a less preferable embodiment.
- the invention can be implemented in any type of source routed network, including path-oriented networks and source routed services on connectionless networks.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
A system and a method of selecting gateways using stored metrics associated with each route out of the domain and with each destination is presented. The metrics represent some measure to be minimized by the routing system, such as cost or delay. The route is selected quasi-deterministically. A first selection is made deterministically based on the stored metrics in order to attempt to use the optimum path. If a connection can not be established through the deterministically selected gateway, an alternate gateway is selected randomly from among the remaining gateways capable of reaching the destination at a reasonable cost.
Description
- This invention relates generally to routing through multiple-domain source-routed networks, which include path-oriented networks and source routed services on connectionless networks.
- When a connection is initiated in a source routed network, a connection must be established between the source end point and the destination end point. In small networks, containing a manageable number of nodes, path selection is accomplished by reference to network topology information stored at each node in the network. The source node consults its stored network topology information and determines a valid path to the destination node. As the topology of the network is changed, such as by adding or removing nodes, the topology information at each node in the network is updated.
- As the size of the network grows, the amount of information that must be stored at each node becomes prohibitively large. In addition, the time required for the topology information in each node to be updated increases as does the likelihood that a node contains stale information at any given time. One solution to this problem is to divide the network into several domains, each of which contains a manageable number of nodes. A network may also be divided into domains for administrative reasons. Each node contains topology information about its own domain but only limited topology information about other domains. If a connection is required to a destination node within the same domain as the source node, the source node consults its domain topology information and determines a valid path. Because the stored information is limited to only one domain, it is of a manageable size and is updated quickly when the domain topology changes.
- Domains are connected to each other through gateways using inter-domain links. A path to a destination node outside the domain of the source node is established through these gateways. For any particular connection, the gateway through which the connection leaves a domain is referred to as an exit gateway, and the gateway through which the connection enters a domain is referred to as an entry gateway. A domain usually contains more than one exit gateway that can reach the domain of the destination node. An exit gateway may also be able to reach the destination domain through several entry gateways, possibly in different adjacent domains. The connection will be from the source node, through the node's domain to the exit gateway, and across the inter-domain link to the entry gateway of the adjacent domain. A sequence of such connections will be established until the adjacent domain, containing the entry gateway, is the domain in which the destination end point is located.
- Any node at which a routing decision must be made, either a source node, an exit gateway connected to multiple entry gateways in adjacent domains, or an entry gateway of an intermediary domain, must select one of the eligible gateways through which to establish a connection. In static routing systems, the selection of a gateway is fixed for any given destination. This can result in overloading of gateways. Furthermore, if a connection through the pre-selected gateway becomes impossible, due to overloading or a fault in the network, connections will be blocked. Existing dynamic routing systems allow more flexibility in selection of gateways, but these are based on limited topology and bandwidth availability information propagated between domains. The propagation of this information defeats the purpose of dividing a network into domains in order to limit topology information to manageable volumes. The propagation of this information also takes time, and may be stale by the time a connection is requested.
- It is an object of the present invention to provide an apparatus and a method which allow dynamic routing of a connection between nodes of different domains without requiring propagation of topology and bandwidth availability information between domains. Each node implementing the invention may be referred to as a decision point. A number of domains connected together containing nodes implementing the invention -collectively constitute a routing system. Within each domain, metrics are associated with each gateway leading out of the domain and with each destination outside the domain. The metric represents some quantity to be minimized by when selecting a route, such as cost, number of hops, or delay. The routing system selects an exit gateway quasi-deterministically. A selection is first made deterministically by selecting the exit gateway with the best metric associated with the destination of the connection. If a connection can not be established through that exit gateway, an alternate exit gateway is selected randomly from among the remaining-exit gateways. In the random selection no preference is given to the exit gateways that have lower metrics associated with the destination, other than to possibly confine the selection process to exit gateways with metrics satisfying some predetermined criteria. If the exit gateway is connected to more than one entry gateway in adjacent domains, the exit gateway then selects one of the adjacent entry gateways using the same quasi-deterministic method. This selection method combines the advantages of a deterministic selection, resulting in close to optimum routing, and the advantages of a random selection, resulting in reduced gateway overloading and reduced likelihood of repeated failed connection attempts.
- The procedure is recursive, and is carried out independently at a source node and each gateway that attempts to reach a node in a different domain.
- Broadly, the invention provides a method for a node to select a gateway from among at least two gateways, comprising the steps of: storing information associating a metric with each gateway with respect to each of one or more destinations; upon receiving a connection request to a destination, the further steps of: i) deterministically selecting a first gateway having an optimum metric with respect to the destination, ii) sending a connection request to the first gateway, iii) if a connection can not be established to the destination via the first gateway, randomly selecting a second gateway from among the gateways other than the first gateway, and iv) sending a connection request to the second gateway.
- An advantage of this invention then is the dynamic selection of a route through a multi-domain network without requiring propagation of topology or bandwidth availability information between domains. The selection is quasi-deterministic. At each decision point which is an entry point of a domain, including the source node and entry gateways, a deterministic selection selects the optimum exit gateway through which an inter-domain route will be established. If a connection can not be established through the optimum exit gateway, a random selection of an exit gateway is then made. A similar selection procedure is carried out by decision points which are exit gateways which must choose from more than one entry gateways in adjacent domains. Although this may result in a less than optimum route, this will only occur if the first choice of route failed and will also prevent repeated failed connection attempts from being routed along the same route.
- The invention will now be described in greater detail with reference to the accompanying diagrams, in which:
- FIG. 1 is a diagram of a multi-domain network;
- FIG. 2a is a diagram of the stored gateway information of the invention, at a node of the network of FIG. 1;
- FIG. 2b is a diagram of the stored gateway information of the invention, at another node of the network of FIG. 1;
- FIG. 3 is a block diagram of a node on which the invention is implemented; and
- FIG. 4 is a flowchart of the method of the invention.
- An instantiation of an embodiment of the invention will be described with reference to an example of a multi-domain network, illustrated in FIG. 1. The network of FIG. 1 consists of four domains:
domain A 10,domain B 24,domain C 26, anddomain D 50.Domain A 10 contains a Source End Point (SEP) 12 from which a connection originates, severalother nodes 14 interconnected withintra-domain links 15, and two nodes which act asgateways gateway G3 28 in an adjacent domain,domain B 24, via aninter-domain link 20, and to another gateway G7 42 in another adjacent domain,domain C 26, viainter-domain link 68. Likewise, G2 18 is connected to agateway G6 38 indomain C 26 via theinter-domain link 22.Domain D 50 contains a Destination End Point (DEP) 60 to which it is assumed theSEP 12 needs to be connected.Domain B 24 anddomain C 26 are each connected to each other and todomain D 50, through other gateways and inter-domain links. Withindomain B 24,domain C 26, anddomain D 50 there are intra-domain routes represented byjagged lines nodes 14 ofdomain A 10. - This invention is concerned with selecting a route from a SEP which has launched a Connection Request to a DEP identified in the address of the Connection Request. Routing decisions according to the invention are preferably implemented by hardware, or software, or a combination of hardware or software, at each decision point encountered during a connection set-up. A decision point is defined as any node which may have to make a gateway selection decision. In the domain in which the connection originates the decision point will be the SEP. In downstream domains the entry gateway of the domain will be a decision point. Each exit gateway connected to more than one entry gateway capable of reaching the DEP is also a decision point. Each decision point is responsible for selecting the exit gateway through which the route will leave the domain or for selecting the adjacent entry gateway through which the route will enter an adjacent domain. More generally, each decision point is responsible for selecting the next gateway in a connection request. Each node has topology information about its own domain. In order to facilitate the routing decisions described below, each node has stored gateway information consisting of metrics associated with each gateway through which the destination can be reached, one metric for each gateway and each of the destinations within other domains in the network reachable through the gateway. For example, the information stored by
SEP 12 in the network illustrated in FIG. 1 is generally indicated by 150 shown in FIG. 2a and consists of eight entries. Each entry consists of anexit gateway 156, adestination 152, and a metric 154. The node determines the destination of the connection from the address of the DEP in the Connection Request. Thedestination 152 is a logical grouping of some of the Destination End Points (DEPs) in a domain. The DEPs are identified as belonging to a destination by the address of the DEP. Each destination is confined to one domain, although there may be more than one destination in a domain. The destinations in FIG. 1 are not shown, as they are logical groupings. Destination B1 of the stored gateway information shown in FIG. 2a is located indomain B 24 of the example network of FIG. 1. Destination C1 is located indomain C 26, and destinations D1 and D2 are located indomain D 50. Eachdestination 152 can be reached through one of two exit gateways: G1 and G2. The metric 154 in FIG. 2a represents an approximation of a cost associated with reaching eachdestination 152 through eachgateway 156. The metric of thefirst entry 151 identifies a cost associated with reaching a destination B1 through the exit gateway G1. Similarly, the information stored by gateway G1 in the network illustrated in FIG. 1 is generally indicated by 160 in FIG. 2b, and consists of eight entries. Each entry consists of adestination 162, anadjacent entry gateway 166, and a metric 164 which in this case represents an approximation of a cost associated with reaching eachdestination 162 through eachgateway 166. The metrics stored by a SEP or an entry gateway for a destination and an exit gateway are the most optimal of the metrics stored by that exit gateway for that destination. For example, gateway GI can reach destination B1 through either of two adjacent entry gateways, G3 and G7. Gateway G1 stores metrics for these two destination-gateway combinations atentries entry 161, is stored by the SEP atentry 151. Thecosts - The high level operation of the invention at a decision point is shown in FIG. 3. The
node 200 contains aprocessor 208 for making routing decisions according to an embodiment of the invention andmemory 202 for storing information required by theprocessor 208. Among other information, thememory 202 stores topologyinformation 220 for the domain of the node andstores gateway information 210 for gateways leading out of the domain of the node. For theSEP 12, the storedgateway information 210 would be equivalent to the storedgateway information 150 illustrated in FIG. 2a. The storedtopology information 220 and the storedgateway information 210 are not drawn to scale, and the amount of memory required to store the topology information will usually be much greater than the amount of memory required to store the gateway information. - In operation, by way of overview, when a
Connection Request 204 arrives at the node, theprocessor 208 parks theConnection Request 204 by storing a copy of the Connection Request in memory, determines the destination of the connection, and consults the storedgateway information 210. Theprocessor 208 selects the gateway through which the destination can be reached at the lowest cost, as indicated by the storedgateway information 210, and forwards theConnection Request 206 to the selected gateway. If the connection can not be established to or through the selected gateway, theprocessor 208 receives a Connection Failedsignal 212. Theprocessor 208 marks that gateway as having failed to establish a connection for this connection. The marking of the gateway is achieved by adding the identity of that gateway to an information portion of the parked Connection Request for this connection, for example, and does not modify the storedtopology information 220. Theprocessor 208 then consults the storedgateway information 210 and randomly selects an alternate gateway capable of reaching the destination, as indicated by the storedgateway information 210, from the remaining gateways and forwards theConnection Request 206 to the alternate selected gateway. If that connection also fails, preferably theprocessor 208 sends a Connection Failedsignal 214 to the node which had sent theinitial Connection Request 204. - The method of the invention as carried out by the
processor 208 is illustrated in more detail in FIGS. 4a, 4 b and 4 c. At step 100 a decision point receives a request to route to a Destination End Point (DEP). In the description which follows, no assumption is made regarding the location of the decision point. It could be the SEP, an entry gateway of an intermediary domain, an exit gateway, or the entry gateway of the domain in which the DEP is located. Atstep 102 the decision point checks the address of the DEP to determine if the DEP is located in the same domain as the decision point. If the DEP is located in this domain, the decision point attempts to establish a path to the DEP by using a conventional intra-domain routing method atstep 112. The intra-domain routing method may make multiple attempts to establish the path. For an individual connection, a path to the DEP may not be able to be established for one of several reasons, such as a failure within the domain, or a lack of resources such as bandwidth, processor time, or logical channel numbers. If a path can not be established for any reason then the decision point sends a Connection Failed signal to the preceding node atstep 110. If a path is established, then the decision point sends a Connection Success signal to the preceding node. - If the decision point determines at
step 102 that the DEP is not in the same domain as the decision point, the decision point must select a gateway. If the decision point is the SEP or an entry gateway, an exit gateway must be selected. If the decision point is an exit gateway, an entry gateway in an adjacent domain must be selected. In either case the selection procedure is the same, and is illustrated beginning in FIG. 4b. The decision point first selects a gateway deterministically, atstep 118. The decision point consults its stored information concerning the gateways and selects the gateway that can reach the destination, determined from the address of the DEP, most optimally according to the stored metrics. If the stored gateway information indicates that more than one gateway have equivalent optimum stored metrics, then one of those optimum gateways is selected randomly. The selection of a gateway is limited to those gateways which do not connect to domains through which the routing has already passed. This prevents routing loops and is possible because the identification of each of these domains is tracked as the route through the domain is established, and a domain identifier is stored in the parked Connection Request. - At
step 126 the decision point attempts to establish a path to the selected gateway using conventional methods. If the decision point is an exit gateway and the selected gateway is an adjacent entry gateway then the path will simply be the inter-domain link connecting the two gateways. If the decision point is the SEP or an entry gateway and the selected gateway is an exit gateway, then the path will be an intra-domain route and must be established using conventional intra-domain routing methods and multiple attempts may be made. For an individual connection, a path to the gateway may not be able to be established for any of several reasons. For example, the path may not be established due to a fault, or due to a lack of any type of resource such as bandwidth, processor time, or logical channel numbers. If a path to the gateway is established atstep 128 the decision point awaits a Connection Success signal from the selected gateway atstep 130. If the decision point receives a Connection Success signal atstep 132, then it propagates the Connection Success signal back towards the user by sending its own Connection Success signal to the preceding node atstep 134. - As discussed in detail below, each downstream decision point may make up to two failed routing attempts before cranking back to the previous decision point. Because of this, there may be a large delay before a Connection Success signal is received. Preferably, in step130 a timer is started, and if a Connection Success signal is not received within a pre-determined time the connection request is abandoned.
- If a path could not be established for any reason at
step 128 or if the decision point does not receive a Connection Success signal atstep 132, then the decision point selects an alternate gateway non-deterministically. This procedure is illustrated in FIG. 4c. Atstep 136 the decision point flags the deterministically selected gateway as one through which a connection could not be established. As described above, this is done by adjusting values within the parked Connection Request, and is not done by changing the stored topology information. In this way when a new connection attempt is made, by this user or by another, the gateway will still be available for selection. This is important because the reason for the connection failure through the deterministically selected gateway may be temporary. The decision point then consults its stored gateway information atstep 138 and randomly selects an alternate gateway from among the remaining gateways through which the destination can be reached. As in the deterministic selection the random selection of a gateway is limited to those gateways which do not connect to domains through which the routing has already passed, in order to avoid routing loops. The remainder of the procedure is identical to that illustrated in FIG. 2b for connecting to the deterministically selected gateway, aside from the action taken if a connection can not be established to or through the alternate gateway. If a path can not be established to the alternate gateway (failure at step 128) or the decision point does not receive a Connection Success from the alternate gateway (failure at step 132) then the connection can not be completed through this decision point as preferably no further attempts-are made to select a gateway. The decision point will then indicate Connection Failed to the preceding node atstep 110. - The operation and advantages of the invention will be demonstrated by reference to an example connection in the network illustrated in FIG. 1. It will be assumed that the invention is implemented on at least the
SEP 12 and thegateways G1 16,G3 28, andG7 42. The invention need not be implemented on theentry gateways G8 52 and G9 54 in this example since they will establish a route to theDEP 60 using conventional intra-domain routing. The invention need not be implemented onexit gateways G4 36 andG5 32 in this example since they only have one choice of adjacent entry gateway. However, the invention would ideally be implemented on every node in the network as any node in the network may be a decision point, either an SEP, an entry gateway, or an exit gateway, for a connection. In the example connection, a user accesses the network through theSEP 12 indomain A 10, and wishes to be connected to aDEP 60 at destination D1 (not shown) indomain D 50. Since theDEP 60 is not in the domain of theSEP 12, theSEP 12 must select a gateway atstep 118 of FIG. 4b. TheSEP 12 consults its stored gateway information and determines that bothG1 16 andG2 18 can reach the destination D1. TheSEP 12 selectsG1 16 since thegateway G1 16 can reach destination D1 at a lower cost than can gateway G2 18 (see the example metrics of FIG. 2a). TheSEP 12 establishes a path along thenodes 14 toG1 16. SinceG1 16 is implementing the invention independently of theSEP 12, a new flow of FIG. 4 starts. TheDEP 60 is not in thisdomain 10, soG1 16 must select an adjacent entry gateway. The processor running onG1 16 consults its stored gateway information for gateways to which it is attached and determines thatG3 28 andG7 42 can each reach the destination D1, and thatgateway G3 28 can do so at the least cost (see the example metrics of FIG. 2b). It successfully connects toG3 28 along theinter-domain link 20 connecting the two gateways. SinceG3 28 is implementing the invention independently ofG1 16, a new flow of FIG. 4 starts. The processor ofG3 28 consults its stored gateway information for gateways within this domain (not shown) and determines thatG4 36,G5 32, and G10 62 can each reach the destination D1, and thatG5 32 can do so at the least cost. It successfully connects toG5 32 alongintra-domain links 30.G5 32 successfully connects toentry gateway G8 52 alonginter-domain link 44. TheDEP 60 is in the same domain asG8 52, soG8 52 attempts to make an intra-domain connection to theDEP 60 alongintra-domain links 56. However in this example no intra-domain connection can be established.G8 52 informsG5 32 that the connection could not be completed. If the invention were being implemented onG5 132, then the routing attempt would be cranked back toG5 32. HoweverG5 32 has only one choice of gateway, namelyG8 52, and soG5 32 simply informsG3 28 that the connection could not be completed, and the routing attempt is cranked back toG3 28. Crank back is the return of gateway selection decision to an upstream decision point, and is possible because of the recursive nature of the invention. Each decision point implements the algorithm independently, and triggers execution of the invention on downstream decision points by sending Connection Requests to the gateway it selects. Crank back occurs when a downstream decision point can not establish a connection to the DEP and sends a Connection Failed signal to its upstream decision point and shuts down its implementation of the invention. The upstream decision point receives the Connection Failed signal atstep 132 in FIG. 4b or 4 c, and carries on execution of its own implementation of the invention. - Returning to the example connection,
G3 32 has just been informed of connection failure atstep 132 in FIG. 4b. The embodiment of the invention implemented onG3 32 marks thegateway G5 32 as having failed for this connection attempt, and randomly selects one ofG4 36 and G10 62 as an alternate gateway atstep 138 of FIG. 4c. The invention provides an increased amount of loadsharing betweenG4 36 and G10 62 amongst all connections fromdomain A 10 todomain D 50. In this example the random selection by the invention implemented onG3 28 selects thegateway G4 36. - If a connection from G4 62 to G9 54 and on to the
DEP 60 can not be established, thenG3 28 is informed of this second connection failure atstep 132 of FIG. 4c.G3 28 sends a Connection Failed signal to the precedingnode G1 16, whereupon the implementation of the invention is completed forG3 28. The routing attempt cranks back togateway G1 16 which is informed atstep 132 of FIG. 4b of its implementation of the invention that the connection attempt through thegateway G3 28 has failed. This demonstrates the recursive nature of the invention when implemented on several nodes within a network. Thegateway G1 16 selects an alternate gateway from its stored gateway information, in thiscase G7 42, and the routing attempt moves forward through a second intermediary domain,domain C 26. If a connection can not be established throughG7 42,G1 16 is informed of the connection failure atstep 132 of FIG. 4c.G1 16 sends a Connection Failed signal to the preceding node, theSEP 12, and the implementation of the invention onG1 16 completes. TheSEP 12 receives the Connection Failed signal atstep 132 of FIG. 4b and randomly selects an alternate gateway, in thiscase G2 18, and a connection is attempted throughG2 18. If a connection can not be established throughG2 18, theSEP 12 receives a Connection Failed signal atstep 132 of FIG. 4c. - Since this node is the SEP, the user is informed that the connection has failed and the implementation of the invention on the
SEP 12 completes. - Most users alerted of a connection failure immediately attempt to make the connection again. The same route through
G1 16,G3 28,G5 32, andG8 52 would be tried first since the first gateway selected by each decision point is selected deterministically, but subsequently attempted routes are likely to be different. Another advantage of the invention is demonstrated if that route throughG5 32 again fails and the routing attempt is cranked back toG3 28. The invention selects the alternate gateway randomly and may select G10 62, rather thanG4 36, through which a connection attempt may succeed. The more exit gateways from which to choose, the greater the likelihood that the invention will not re-selectG4 36 and the greater the likelihood that the second connection attempt by the user will succeed. - The invention is implemented in the form of hardware and/or software installed on nodes in the communication network. The invention need not be implemented on every node in the network. In fact this will likely not be possible as different domains are often administered by different entities. However, the advantage of the invention increases with the number of nodes implementing the invention. As the number of nodes implementing the invention increases, the likelihood of the invention being used at any stage in the routing of a connection increases.
- The invention could make more than one attempt at selecting a random gateway after the deterministically selected gateway fails to establish a connection. If a randomly selected gateway fails to establish a connection, that gateway would be marked as having failed to establish a connection for this connection, and another gateway could be selected randomly from among the remaining gateways. This could be repeated yet again, but each extra attempt to randomly select a gateway will increase the delay before the user is alerted about the connection failure if no selected gateway can establish a connection. Alternatively, more than one gateway could be selected deterministically before switching to random selection.
- The random selection of a gateway need not be purely random. The selection could be weighted in favour of more optimal gateways, such as those with a lower metric associated with the destination. As more weighting is applied to the random selection the more likely that the optimum available path will be found, but at the same time the advantages gained with random selection (loadsharing, lower probability of repeated connection failures) diminish.
- The random selection of a gateway could also limit selection to the gateways satisfying some predetermined criteria. For example, only the gateways whose metrics indicate that the destination can be reached through the gateway at some reasonable cost could be considered for selection.
- The gateway selection is preferably carried out by hardware. This can be in one of several typical forms for implementing algorithms, such as an ASIC or a Programable Logic Device. Alternatively the gateway selection could be carried out by software running on the processor of a node, although speed requirements for gateway selection make this a less preferable embodiment.
- The invention can be implemented in any type of source routed network, including path-oriented networks and source routed services on connectionless networks.
- What has been described is merely illustrative of the application of the principles of the invention. Other arrangements and methods can be implemented by those skilled in the art without departing from the spirit and scope of the present invention.
Claims (20)
1. A method for a node to select a gateway from among at least two gateways, comprising the steps of:
storing information associating a metric with each gateway with respect to each of one or more destinations;
upon receiving a connection request to a destination, the further steps of:
i) deterministically selecting a first gateway having an optimum metric with respect to the destination,
ii) sending a connection request to the first gateway,
iii) if a connection can not be established to the destination via the first gateway, randomly selecting a second gateway from among the gateways other than the first gateway, and
iv) sending a connection request to the second gateway.
2. The method of claim 1 wherein the connection request contains zero or more identifiers identifying domains through which the connection route has already passed, the step of deterministically selecting a first gateway does not select a gateway leading to a domain indicated by the identifiers in the connection request, and the step of randomly selecting a second gateway does not select a gateway leading to a domain indicated by the identifiers in the connection request.
3. The method of claim 1 wherein if more than one gateway have the optimum metric with respect to the destination, the step of deterministically selecting a first gateway randomly selects the first gateway from among the gateways having the optimum metric.
4. The method of claim 1 wherein the step of randomly selecting a second gateway applies a weighting factor to each gateway, the weighting factor taking into account the metric of each gateway with respect to the destination.
5. The method of claim 1 wherein the step of randomly selecting a second gateway is further limited to the gateways whose metric with respect to the destination is within a preset range.
6. The method of claim 1 wherein the step of randomly selecting a second gateway is repeated if a connection can not be established via the second gateway first selected randomly, and the selection is limited to the gateways through which a connection has not already been attempted.
7. The method of claim 1 wherein the step of deterministically selecting a first gateway is repeated if a connection can not be established via the first gateway first selected deterministically, and the selection is limited to the gateways through which a connection has not already been attempted.
8. The method of claim 3 wherein the connection request contains zero or more identifiers identifying domains through which the connection route has already passed, the step of deterministically selecting a first gateway does not select a gateway leading to a domain indicated by the identifiers in the connection request, and the step of randomly selecting a second gateway does not select a gateway leading to a domain indicated by the identifiers in the connection request.
9. The method of claim 4 wherein the connection request contains zero or more identifiers identifying domains through which the connection route has already passed, the step of deterministically selecting a first gateway does not select a gateway leading to a domain indicated by the identifiers in the connection request, and the step of randomly selecting a second gateway does not select a gateway leading to a domain indicated by the identifiers in the connection request.
10. The method of claim 5 wherein the connection request contains zero or more identifiers identifying domains through which the connection route has already passed, the step of deterministically selecting a first gateway does not select a gateway leading to a domain indicated by the identifiers in the connection request, and the step of randomly selecting a second gateway does not select a gateway leading to a domain indicated by the identifiers in the connection request.
11. The method of claim 6 wherein the connection request contains zero or more identifiers identifying domains through which the connection route has already passed, the step of deterministically selecting a first gateway does not select a gateway leading to a domain indicated by the identifiers in the connection request, and the step of randomly selecting a second gateway does not select a gateway leading to a domain indicated by the identifiers in the connection request.
12. The method of claim 7 wherein the connection request contains zero or more identifiers identifying domains through which the connection route has already passed, the step of deterministically selecting a first gateway does not select a gateway leading to a domain indicated by the identifiers in the connection request, and the step of randomly selecting a second gateway does not select a gateway leading to a domain indicated by the identifiers in the connection request.
13. The method of claim 1 wherein the metric represents an approximation to a cost of reaching the destination with which the metric is associated through the gateway with which the metric is associated.
14. The method of claim 1 wherein the metric represents an approximation to the delay that would be experienced by a user if the connection route was established to the destination with which the metric is associated through the gateway with which the metric is associated.
15. The method of claim 1 wherein the metric represents an approximation to the number of domains through which the connection route would pass in reaching the destination with which the metric is associated through the gateway with which the metric is associated.
16. In a communication network containing a plurality of domains, electronic hardware for use in a node in a domain, the electronic hardware containing circuitry for carrying out steps to select a gateway, the domain having at least two gateways, the node having stored information associating a metric with each gateway with respect to each of one or more destinations, and the steps comprising the steps of:
deterministically selecting a first gateway having an optimum metric with respect to a destination,
sending a connection request to the first gateway,
if a connection can not be established to the destination via the first gateway, randomly selecting a second gateway from among the gateways other than the first gateway, and
sending a connection request to the second gateway.
17. The electronic hardware of claim 16 wherein the circuitry selects a gateway upon receiving a connection request, the connection request containing zero or more identifiers identifying domains through which the connection route has already passed, the step of deterministically selecting a first gateway does not select a gateway leading to a domain indicated by the identifiers in the connection request, and the step of randomly selecting a second gateway does not select a gateway leading to a domain indicated by the identifiers in the connection request.
18. A node comprising:
memory for storing information associating a metric with each of one or more gateways with respect to each of one or more destinations reachable through the respective gateways,
means for launching a connection request to a selected gateway,
means for selecting the selected gateway which deterministically selects a first gateway having an optimum metric with respect to a destination, and if a connection can not be established to the destination via the first gateway, randomly selects a second gateway from among the gateways other than the first gateway.
19. The node of claim 18 wherein the means for selecting the selected gateway selects a first gateway upon receiving a connection request, the connection request containing zero or more identifiers identifying domains through which the connection route has already passed, and the means for selecting the selected gateway does not select a gateway leading to a domain indicated by the identifiers in the connection request.
20. A method for making a routing decision in a communication network, comprising the steps of:
deterministically making a first routing decision, and
if a connection can not be established, randomly making a second routing decision.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/368,532 US20030128710A1 (en) | 1998-12-28 | 2003-02-18 | Quasi-deterministic gateway selection algorithm for multi-domain source routed networks |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/220,955 US6873616B1 (en) | 1998-12-28 | 1998-12-28 | Quasi-deterministic gateway selection algorithm for multi-domain source routed networks |
US10/368,532 US20030128710A1 (en) | 1998-12-28 | 2003-02-18 | Quasi-deterministic gateway selection algorithm for multi-domain source routed networks |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/220,955 Continuation US6873616B1 (en) | 1998-12-28 | 1998-12-28 | Quasi-deterministic gateway selection algorithm for multi-domain source routed networks |
Publications (1)
Publication Number | Publication Date |
---|---|
US20030128710A1 true US20030128710A1 (en) | 2003-07-10 |
Family
ID=22825728
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/220,955 Expired - Fee Related US6873616B1 (en) | 1998-12-28 | 1998-12-28 | Quasi-deterministic gateway selection algorithm for multi-domain source routed networks |
US10/368,532 Abandoned US20030128710A1 (en) | 1998-12-28 | 2003-02-18 | Quasi-deterministic gateway selection algorithm for multi-domain source routed networks |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/220,955 Expired - Fee Related US6873616B1 (en) | 1998-12-28 | 1998-12-28 | Quasi-deterministic gateway selection algorithm for multi-domain source routed networks |
Country Status (1)
Country | Link |
---|---|
US (2) | US6873616B1 (en) |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030179718A1 (en) * | 2002-03-20 | 2003-09-25 | Nec Corporation | Route selection in a communications network using combined values of metrics of different characteristics |
US20050097196A1 (en) * | 2003-10-03 | 2005-05-05 | Wronski Leszek D. | Network status messaging |
US20050286434A1 (en) * | 2004-06-25 | 2005-12-29 | Inmon Corporation | Methods and computer programs for generating data traffic matrices |
EP1659729A1 (en) * | 2003-09-02 | 2006-05-24 | Huawei Technologies Co., Ltd. | A method for choosing the transmission path of the real-time traffic data |
US20070183337A1 (en) * | 2006-02-03 | 2007-08-09 | International Business Machines Corporation | FC-AL cabling management system |
US20090196184A1 (en) * | 2001-11-29 | 2009-08-06 | Iptivia, Inc. | Method and system for path identification in packet networks |
US20090228603A1 (en) * | 2008-03-07 | 2009-09-10 | Jan Robert Ritzau | System and method for selecting proxy gateways in peer-to-peer networks |
US20100251312A1 (en) * | 2009-03-31 | 2010-09-30 | Comcast Cable Communications, Llc | Selection of a Proxy Device for a Network |
US20100316022A1 (en) * | 2009-06-16 | 2010-12-16 | Verizon Patent And Licensing Inc. | Communication routing |
US20120179775A1 (en) * | 2010-03-03 | 2012-07-12 | Zte Corporation | Data Accessing Method Used for Customer Premises Equipment and Customer Premises Equipment (CPE) Thereof |
US8510468B2 (en) | 2000-04-17 | 2013-08-13 | Ciradence Corporation | Route aware network link acceleration |
US20140122708A1 (en) * | 2012-10-29 | 2014-05-01 | Aaa Internet Publishing, Inc. | System and Method for Monitoring Network Connection Quality by Executing Computer-Executable Instructions Stored On a Non-Transitory Computer-Readable Medium |
US20150010016A1 (en) * | 2013-07-02 | 2015-01-08 | Dell Products L.P. | System and method for layer 3 proxy routing |
US20150036508A1 (en) * | 2013-07-31 | 2015-02-05 | Alcatel Lucent | Method and Apparatus For Gateway Selection In Multilevel SPB Network |
US9485144B2 (en) | 2004-06-25 | 2016-11-01 | InMon Corp. | Network traffic optimization |
US20160373996A1 (en) * | 2015-06-17 | 2016-12-22 | Industrial Technology Research Institute | Routing gateway selecting method, controller and vehicles network system |
US9712443B1 (en) | 2004-06-25 | 2017-07-18 | InMon Corp. | Distributed traffic quota measurement and enforcement |
US10757100B2 (en) * | 2016-08-15 | 2020-08-25 | Arm Ip Limited | Methods and apparatus for protecting domains of a device from unauthorized accesses |
US11050669B2 (en) | 2012-10-05 | 2021-06-29 | Aaa Internet Publishing Inc. | Method and system for managing, optimizing, and routing internet traffic from a local area network (LAN) to internet based servers |
USRE49392E1 (en) | 2012-10-05 | 2023-01-24 | Aaa Internet Publishing, Inc. | System and method for monitoring network connection quality by executing computer-executable instructions stored on a non-transitory computer-readable medium |
US11606253B2 (en) | 2012-10-05 | 2023-03-14 | Aaa Internet Publishing, Inc. | Method of using a proxy network to normalize online connections by executing computer-executable instructions stored on a non-transitory computer-readable medium |
US11838212B2 (en) | 2012-10-05 | 2023-12-05 | Aaa Internet Publishing Inc. | Method and system for managing, optimizing, and routing internet traffic from a local area network (LAN) to internet based servers |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6820133B1 (en) * | 2000-02-07 | 2004-11-16 | Netli, Inc. | System and method for high-performance delivery of web content using high-performance communications protocol between the first and second specialized intermediate nodes to optimize a measure of communications performance between the source and the destination |
JP3729051B2 (en) * | 2000-10-18 | 2005-12-21 | 日本電気株式会社 | Inter-domain routing apparatus, system and method |
US7394803B1 (en) * | 2001-09-28 | 2008-07-01 | 8×8, Inc | Distributed local telephony gateway |
US7363378B2 (en) * | 2003-07-01 | 2008-04-22 | Microsoft Corporation | Transport system for instant messaging |
US7969863B2 (en) * | 2004-03-29 | 2011-06-28 | Hewlett-Packard Development Company, L.P. | Directed cost protocol |
US7684351B2 (en) * | 2005-02-07 | 2010-03-23 | Cisco Technology, Inc. | Inter-domain optimization trigger in PCE-based environment |
US8937957B2 (en) * | 2006-02-10 | 2015-01-20 | Alcatel Lucent | Intelligent media gateway selection for multimedia communication sessions |
US8204009B2 (en) * | 2007-05-25 | 2012-06-19 | Tropos Networks, Inc. | Providing connectivity between subnets of a wireless network |
US9118593B2 (en) | 2010-10-07 | 2015-08-25 | Enghouse Networks Limited | System and method for best value routing |
US12261772B2 (en) | 2022-09-12 | 2025-03-25 | Ciena Corporation | Variable preemption for LSP tunnels |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4905233A (en) * | 1987-11-23 | 1990-02-27 | Harris Corporation | Multiple path routing mechanism for packet communications network |
US5088032A (en) * | 1988-01-29 | 1992-02-11 | Cisco Systems, Inc. | Method and apparatus for routing communications among computer networks |
US5596719A (en) * | 1993-06-28 | 1997-01-21 | Lucent Technologies Inc. | Method and apparatus for routing and link metric assignment in shortest path networks |
US5699347A (en) * | 1995-11-17 | 1997-12-16 | Bay Networks, Inc. | Method and apparatus for routing packets in networks having connection-oriented subnetworks |
US6084858A (en) * | 1997-01-29 | 2000-07-04 | Cabletron Systems, Inc. | Distribution of communication load over multiple paths based upon link utilization |
US6301244B1 (en) * | 1998-12-11 | 2001-10-09 | Nortel Networks Limited | QoS-oriented one-to-all route selection method for communication networks |
US6314093B1 (en) * | 1997-12-24 | 2001-11-06 | Nortel Networks Limited | Traffic route finder in communications network |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB8531138D0 (en) * | 1985-12-18 | 1986-01-29 | British Telecomm | Telecommunications network |
US6426955B1 (en) * | 1997-09-16 | 2002-07-30 | Transnexus, Inc. | Internet telephony call routing engine |
NO326260B1 (en) * | 1997-09-29 | 2008-10-27 | Ericsson Telefon Ab L M | Method of routing calls from a terminal in a first telecommunications network to a terminal in a second telecommunications network |
US6061736A (en) * | 1998-03-13 | 2000-05-09 | 3Com Corporation | Routing over similar paths |
US6584093B1 (en) * | 1998-08-25 | 2003-06-24 | Cisco Technology, Inc. | Method and apparatus for automatic inter-domain routing of calls |
-
1998
- 1998-12-28 US US09/220,955 patent/US6873616B1/en not_active Expired - Fee Related
-
2003
- 2003-02-18 US US10/368,532 patent/US20030128710A1/en not_active Abandoned
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4905233A (en) * | 1987-11-23 | 1990-02-27 | Harris Corporation | Multiple path routing mechanism for packet communications network |
US5088032A (en) * | 1988-01-29 | 1992-02-11 | Cisco Systems, Inc. | Method and apparatus for routing communications among computer networks |
US5596719A (en) * | 1993-06-28 | 1997-01-21 | Lucent Technologies Inc. | Method and apparatus for routing and link metric assignment in shortest path networks |
US5699347A (en) * | 1995-11-17 | 1997-12-16 | Bay Networks, Inc. | Method and apparatus for routing packets in networks having connection-oriented subnetworks |
US6084858A (en) * | 1997-01-29 | 2000-07-04 | Cabletron Systems, Inc. | Distribution of communication load over multiple paths based upon link utilization |
US6314093B1 (en) * | 1997-12-24 | 2001-11-06 | Nortel Networks Limited | Traffic route finder in communications network |
US6301244B1 (en) * | 1998-12-11 | 2001-10-09 | Nortel Networks Limited | QoS-oriented one-to-all route selection method for communication networks |
Cited By (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8510468B2 (en) | 2000-04-17 | 2013-08-13 | Ciradence Corporation | Route aware network link acceleration |
US20090196184A1 (en) * | 2001-11-29 | 2009-08-06 | Iptivia, Inc. | Method and system for path identification in packet networks |
US8218447B2 (en) * | 2001-11-29 | 2012-07-10 | Circadence Corporation | Method and system for path identification in packet networks |
US8027275B2 (en) * | 2002-03-20 | 2011-09-27 | Nec Corporation | Route selection in a communications network using combined values of metrics of different characteristics |
US20030179718A1 (en) * | 2002-03-20 | 2003-09-25 | Nec Corporation | Route selection in a communications network using combined values of metrics of different characteristics |
EP1659729A1 (en) * | 2003-09-02 | 2006-05-24 | Huawei Technologies Co., Ltd. | A method for choosing the transmission path of the real-time traffic data |
US20080130627A1 (en) * | 2003-09-02 | 2008-06-05 | Yuepeng Chen | Method For Selecting Real-Time Service Data Transmission Path |
EP1659729A4 (en) * | 2003-09-02 | 2007-01-17 | Huawei Tech Co Ltd | METHOD FOR CHOOSING A REAL-TIME TRAFFIC DATA TRANSMISSION PATH |
US7818450B2 (en) | 2003-09-02 | 2010-10-19 | Huawei Technologies Co., Ltd. | Method for selecting real-time service data transmission path |
US20050097196A1 (en) * | 2003-10-03 | 2005-05-05 | Wronski Leszek D. | Network status messaging |
US9712443B1 (en) | 2004-06-25 | 2017-07-18 | InMon Corp. | Distributed traffic quota measurement and enforcement |
US9485144B2 (en) | 2004-06-25 | 2016-11-01 | InMon Corp. | Network traffic optimization |
US8005009B2 (en) * | 2004-06-25 | 2011-08-23 | InMon Corp. | Methods and computer programs for generating data traffic matrices |
US20050286434A1 (en) * | 2004-06-25 | 2005-12-29 | Inmon Corporation | Methods and computer programs for generating data traffic matrices |
US20070183337A1 (en) * | 2006-02-03 | 2007-08-09 | International Business Machines Corporation | FC-AL cabling management system |
WO2009109805A1 (en) * | 2008-03-07 | 2009-09-11 | Sony Ericsson Mobile Communications Ab | System and method for selecting proxy gateways in peer-to-peer networks |
US20090228603A1 (en) * | 2008-03-07 | 2009-09-10 | Jan Robert Ritzau | System and method for selecting proxy gateways in peer-to-peer networks |
CN101960813A (en) * | 2008-03-07 | 2011-01-26 | 索尼爱立信移动通讯有限公司 | In point-to-point network, select the system and method for proxy gateway |
US8893209B2 (en) | 2009-03-31 | 2014-11-18 | Comcast Cable Communications, Llc | Selection of a proxy device for a network |
US9936261B2 (en) | 2009-03-31 | 2018-04-03 | Comcast Cable Communications, Llc | Selection of a proxy device for a network |
EP2237487A1 (en) * | 2009-03-31 | 2010-10-06 | Comcast Cable Communications, LLC | Selection of a proxy device for a network |
US20100251312A1 (en) * | 2009-03-31 | 2010-09-30 | Comcast Cable Communications, Llc | Selection of a Proxy Device for a Network |
US8761163B2 (en) * | 2009-06-16 | 2014-06-24 | Verizon Patent And Licensing Inc. | Communication routing |
US20100316022A1 (en) * | 2009-06-16 | 2010-12-16 | Verizon Patent And Licensing Inc. | Communication routing |
US8856271B2 (en) * | 2010-03-03 | 2014-10-07 | Zte Corporation | Data accessing method used for customer premises equipment, and customer premises equipment |
US20120179775A1 (en) * | 2010-03-03 | 2012-07-12 | Zte Corporation | Data Accessing Method Used for Customer Premises Equipment and Customer Premises Equipment (CPE) Thereof |
US11050669B2 (en) | 2012-10-05 | 2021-06-29 | Aaa Internet Publishing Inc. | Method and system for managing, optimizing, and routing internet traffic from a local area network (LAN) to internet based servers |
US11838212B2 (en) | 2012-10-05 | 2023-12-05 | Aaa Internet Publishing Inc. | Method and system for managing, optimizing, and routing internet traffic from a local area network (LAN) to internet based servers |
US11606253B2 (en) | 2012-10-05 | 2023-03-14 | Aaa Internet Publishing, Inc. | Method of using a proxy network to normalize online connections by executing computer-executable instructions stored on a non-transitory computer-readable medium |
USRE49392E1 (en) | 2012-10-05 | 2023-01-24 | Aaa Internet Publishing, Inc. | System and method for monitoring network connection quality by executing computer-executable instructions stored on a non-transitory computer-readable medium |
US20140122708A1 (en) * | 2012-10-29 | 2014-05-01 | Aaa Internet Publishing, Inc. | System and Method for Monitoring Network Connection Quality by Executing Computer-Executable Instructions Stored On a Non-Transitory Computer-Readable Medium |
US9571359B2 (en) * | 2012-10-29 | 2017-02-14 | Aaa Internet Publishing Inc. | System and method for monitoring network connection quality by executing computer-executable instructions stored on a non-transitory computer-readable medium |
US9258209B2 (en) * | 2013-07-02 | 2016-02-09 | Dell Products L.P. | System and method for layer 3 proxy routing |
US20150010016A1 (en) * | 2013-07-02 | 2015-01-08 | Dell Products L.P. | System and method for layer 3 proxy routing |
US20150036508A1 (en) * | 2013-07-31 | 2015-02-05 | Alcatel Lucent | Method and Apparatus For Gateway Selection In Multilevel SPB Network |
US20160373996A1 (en) * | 2015-06-17 | 2016-12-22 | Industrial Technology Research Institute | Routing gateway selecting method, controller and vehicles network system |
US10757100B2 (en) * | 2016-08-15 | 2020-08-25 | Arm Ip Limited | Methods and apparatus for protecting domains of a device from unauthorized accesses |
Also Published As
Publication number | Publication date |
---|---|
US6873616B1 (en) | 2005-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6873616B1 (en) | Quasi-deterministic gateway selection algorithm for multi-domain source routed networks | |
US5649108A (en) | Combined progressive and source routing control for connection-oriented communications networks | |
US5398012A (en) | Distributed processing of route selection across networks and subnetworks | |
US6370119B1 (en) | Computing the widest shortest path in high-speed networks | |
US6633544B1 (en) | Efficient precomputation of quality-of-service routes | |
JP3512896B2 (en) | A method for routing requests for virtual circuits based on information from simultaneous requests | |
CA2184426C (en) | Improved routing method in a communications network | |
JP2793467B2 (en) | Apparatus and method for selecting an optimal route for a packet communication system | |
US6246669B1 (en) | Method and system for optimizing connection set-up operations in a high speed digital network | |
US7180864B2 (en) | Method and apparatus for exchanging routing information within an autonomous system in a packet-based data network | |
US6870851B1 (en) | Method and system for optimizing routing of data packets | |
AU663968B2 (en) | System and method for call-by-call source routing with rule-based fallbacks | |
JP2511644B2 (en) | Method and apparatus for searching for resources in a computer network with a cache server node | |
JPH0693680B2 (en) | Route selection method in data communication network | |
US7120119B2 (en) | Management of protocol information in PNNI hierarchical networks | |
JPH10512426A (en) | Call routing in ATM switching networks | |
US20040083277A1 (en) | Method for fast cost-effective internet network topology design | |
AU6909900A (en) | Private network access point router for interconnecting among internet route providers | |
WO2017092550A1 (en) | Inter-domain routing method and apparatus, and network-side device | |
US7532584B2 (en) | Implementation of constraints to ensure deadlock avoidance in networks | |
CN113726663B (en) | Routing processing method and device | |
US7573885B1 (en) | Alternative routing in PNNI hierarchical networks | |
CN114050993B (en) | Access side-based active selection method and device for safe trusted paths | |
KR100204476B1 (en) | Optimal Path Setting Method in ATM Network | |
Chim et al. | Time-efficient algorithms for BGP route configuration |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |