ROUTING AND SIGNALING IN A SONET NETWORK

Abstract: A system and method for automatically generating a topology of a network having synchronous optical network (SONET) switches. Switches in the network pass information about itself to other switches in the network so that every switch can maintain a topology of the network. Using this knowledge of the network topology, each switch can generate a communication route within the network and automatically allot bandwidth for the route. Each switch may generate a new route in response to a line failure.

Description: ROUTING AND SIGNALING IN A SONET NETWORK RAΠKGRQUND OF THE INVENTION The present invention relates to a method and system for generating a topology of a fiberoptic network of synchronous optical network (SONET) switches and for routing signals through the network. Networks, both computer and telephone, have been around for many years. As the use of networks increased over time, so has the need for more bandwidth. Fiberoptic networks were developed to meet this need and transmit at high data rates. SONET was developed to be a standard for fiberoptic transmission. An example, current SONET network is shown in Fig. 1. The nodes in this network have no information about other nodes in the network. Nodes are typically add/drop multiplexors (ADM). This network requires a system administrator to set up connection routes between port A 100 and port B 150 through ADMs 110-140. The system administrator may program the route to be from origination switch 110 through intermediate switch 120 to the destination switch 130, and must program each switch to pass information in this manner. If a failure occurs in any one of the connections, the system administrator must manually reroute the connections by reprogramming the switches. Therefore, in order to provision each of the switches in a SONET network it takes days for the network managers to insert all of the needed information. Current SONET networks have line-level protection that provides protection lines for rerouting information when a working line fails. Fig. 1 shows working lines as solid lines an protection lines as dotted lines. If a working line fails the corresponding protection line is used to transmit information. In the SONET environment, there currently does not exist any way to automatically create a topology of the network and generate a route between port A 100 and port B 150. In addition, current SONET networks do not provide any way of re-routing connections automatically due to a failed line. si I MARY OF THF INVENTION — ■ A system and method consistent with this invention automatically generates a topology of a network of synchronous optical network switches by including steps or structure for sending a registration message from a first switch in the network to neighboring switches. The first switch receives messages from the neighboring switches identifying other switches in the network. From these messages the f i rst switch determines the topology of the network. Another system and method consistent with this invention automatically generates a route between synchronous optical network switches by receiving a selection of an origination switch and a destination switch, automatically selecting a route to pass messages from the origination switch to the destination switch through an intermediate switch, and sending a connect message from the origination switch to the destination switch through the intermediate switch. Another system and method consistent with this invention automatically generates a route between an originating optical network switch and a destination optical network switch in response to a line failure by receiving notice of a line failure, determining whether the line failure affects a current route between an origination switch and a destination switch, automatically selecting a new route to pass messages from the origination switch to the destination switch through an intermediate switch, and sending a connect message from the origination switch to the destination switch through the intermediate switch. Both the foregoing general description and the following detailed description explain examples of the invention and do not, by themselves, restrict the scope of the appended claims: The accompanying drawings, which constitute a part of this specification, illustrate systems and methods consistent with the invention and, together with the description, help explain the principles of the invention. RRIFF DESCRIPTION OF THE DRAWINGS The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments of the invention and, together with the description, serve to explain the advantages of the invention. In the drawings, pig. 1 shows ' an example SONET network according to the prior art; Fig. 2 shows a SONET network consistent with the present invention; Fig. 3 show the steps of automatically generating a network topology at each switch in the network; Fig. 4 shows an example topology database stored at each switch in the network; Fig. 5 shows a block diagram of the internal construction of a switch according to the present invention; Figs. 6 and 7 show steps for automatically generating a call connection route creating a topology consistent with the present invention; and Fig. 8 shows the steps for generating a new route in response to a line error. nFTAIl ED DESCRIPTION OF THE INVENTION The following detailed description refers to the accompanying drawings. The same reference numbers in different drawings identify the same or similar elements. Also, the following detailed description does not limit the invention. Instead, the scope of the invention is defined by the appended claims. Systems and methods consistent with the principles of the present invention automatically create a topology of a SONET network and generate routes between switches. Fig. 2 shows a SONET network 230 including a plurality of switches 240-260. When network 230' is first initialized, each switch in network 230 automatically learns information about the other switches in the network so that routes between ports 200 and 210 may be automatically generated. Fig. 3 shows the steps 300 carried out by processors and software in the switches, to pass information from switch to switch so that each switch has information needed for routing. Using the example network in Fig. 2, switch A 220 sends a registration message to switch B 260 and switch D 250 informing these switches that switch A is an immediate neighbor (step 310). Similarly, switch B 260 sends a registration message to switch A 220 and switch C 240 informing these switches that switch B is their neighbor (step 320). Switch C 240 sends a registration message to switch B 260 and switch D 250 (step 330). Finally, switch D 250 sends a registration message to switch A 220 and switch C 240 (step 340). Each switch passes onto their neighbors information obtained from other switches (step 350). For example, switch A knows that it has neighbors B and D from steps 320 and 340. However, switch A does not yet know about switch C 240. Accordingly, both switch B 260 and switch D 250 will inform switch A about their other neighbors such as switch C 240. Each switch now has a complete picture of the network, namely A, B, C, D, in a topology database (step 360). Each switch may also pass additional information about itself and associated links to other switches so that each switch may maintain more complete information in the topology database (step 370). Fig. 4 showέ an example topology database 400 stored at each switch. The topology database 400 includes information describing the relationship between switches in the network. Also included is information on each interface line in the network. Using the example in Fig. 2, each switch has interface lines 1 and 2 which are physical fiberoptic lines that transmit information. Interface lines are the logical lines associated with a switch and not the physical lines. For protection, each interface line may have an associated protection line which is an alternative connection between two switches. The level of protection is used to designate which route or connection should have priority when using a given protected line. Entry 410 of database 400 corresponds to switch A 220 and includes for each interface line at the switch, the maximum bandwidth, the available bandwidth, the propagation delay associated with that interface, the weight or administrative cost assigned to the interface by an operator, and the protection level. This list of information about the interfaces is obtained for the database during step 370 of Fig. 3. Fig. 5 shows the internal configuration of a switch 500. The switch is functionally broken into two sections, a logical interface 510 and a physical interface 520. Physical interface 520 relates to actual physical lines that connect switches. There is typically a bundle of lines between switches where the lines are optical fibers. The logical interface 510 is not aware of the multiple links that create the bundles of physical connections. Routing/signaling interface 570 in logical interface 510 provides this level of abstraction and is used to link the physical lines in the physical interface 520 to the logical lines in logical interface 510. The modules of logical interface 510 need only know that connection lines exist between two switches and does not need to know the details about the lines providing this connection. Physical interface 520 includes a call admission control 580 and an inter-switch communication channel 590. Call admission control 580 has physical control of every signal line that reaches switch 500. Inter-switch communication channel (ISCC) 590 directs communications over these physical lines and monitors these lines. ISCC 590 subsystem provides a reliable messaging channel for each logical line. When a message is received from a physical line associated with a logical line, ISCC 590 passes the message, with a label identifying the logical line, to the routing/signaling interface 570. Routing/signaling interface 570 passes the message up to the proper message handler in the logical interface 510. Logical interface 510 includes modules with software, carried out by a processor located at the switch, including routing module 530, edge call control module (ECC) 540, call control module (CC) 550, signaling module 560, and a routing/signaling interface 570. Routing module 530 generates a route through the lines from switch 500 to another switch. ECC 520 is only utilized at the first and last switches in a route and is responsible for scheduling the setup/restoration of origination and termination connections and maintaining information on a call route. CC 550 generates control information for designating which switch is next in a route and the information to be passed to that switch. Signaling module 560 generates signals for passing between the switches. Routing/signaling interface 570 formats information for sending to the physical interface 520. Fig. 6 shows the steps 600 for generating and logically creating a route between switches. First, a user inputs to ECC 540 at switch 500, an origination point, such as switch A 220 in Fig. 2, a destination point, such as switch C 240 in Fig. 2, and any other variables a user wishes to designate (step 610). For example, a user may wish to designate the connection type and size, the end point addresses, port numbers or channel numbers, the delay requirement, protection level, and protection priority. ECC 540 formats this user input and forwards the connection request to routing module 530 (step 620). Routing module 530 generates a route from the origination point to the destination point through switches in the network (step 630). Routing module 530 generates the route using the topology database 400 which informs the switch of the configuration of the network and the interface lines between each switch in the network. Routing module 530 will select a route that meets any user specified variables or any default variables. Routing module 530 sends the resulting route to CC 550 via ECC 540 (step 640). CC 550 checks for available bandwidth between this switch and a next switch in the route (step 650). CC 550 is either provided with the amount of bandwidth needed by input from the user in step 610 or based on a default bandwidth value. CC 550 determines whether the needed bandwidth is available by querying call admission control 580 via the routing/signaling interface 570 to determine how much bandwidth is available. Assuming the needed bandwidth is available, CC 550 sends a message requesting connection through the ISCC 590 of this switch to the next switch in the route (step 660). ISCC 590 at the next switch passes this received message to its signaling module 560 to parse the message (step 670). Signaling 560 passes the parsed message to CC 550 (step 680). CC 550 checks for whether there is available bandwidth between the current switch and the next switch in the route (step 690) as was done by the last switch in step 650. Each switch in the route is sequentially logically connected to the next switch in the route and each performs the steps of checking for bandwidth to the next switch until the final switch is reached (step 695). Fig. 7 shows the final steps 700 for generating a route. The final switch in the route passes the received message requesting connection to its ECC 540 (step 710). ECC 540 of the final switch creates a termination point at this switch and notifies CC 550 to set up the connection that has only been logically formulated to this point (step 720). CC 550 of the final destination switch sends the previous switch in the route a connection message and reserves the bandwidth that was already indicated as being available (step 730). CC 550 of each intervening switch between the destination switch and the origination switch passes this connection message and reserves the bandwidth between the switches (step 740). When the origination switch finally receives the connection message the connection set up is complete (step 750). After a call connection is successfully established, ECC 540 at the originating and terminating switches stores information needed to recreate this connection in persistent storage. CC 550 stores information on each of the physical connections to this switch. Therefore, if the system is restarted, ECC 540 at each switch can rebuild the connections that originate or terminate at this switch. CC 550 rebuilds all connections that traverse the switch. In one embodiment, the computation of a route may also include calculating a protection connection route. The protection route is a route to use if an error occurs in the main working connection. The protection route should be selected as disjoint as possible from the working route. If it is not possible to have a completely disjoint working route, more than one protection route may be computed and the combination of protection routes together will protect the working route. In another embodiment, hello messages are sent on a regular basis between neighbor switches. Hellos are transmitted by each switch over all physical links to immediate neighbor switches. The purpose of exchanging the hellos is to establish the state of the links between neighbors. The hellos are sent to discover and verify the identity of neighbor switches and determine the status of the links to those switches. A hello message will include for example, the operational status of links to the sending switch and identification of other switches attached to the sending switch besides the receiving switch. If a hello message is not received within a given period of time, a switch will presume that a link to the neighbor switch is down. If no hellos are received over a period of time, attempts are made to contact the non-communicating switch periodically. If a line is down, the routing module 550 of an original switch may elect to generate a new route for any connections using the down line. Fig. 8 shows the steps 800 for generating a new route in case of line failure. If any switch detects line failure (step 810), then each switch is notified of the failed line (step 820). All switches check the routes that originate at that switch to determine if the failed line is being utilized (step 830). If the line is not used, the switch takes no action (step 840). If a route at an origination switch uses the failed line then a new route is generated using the basic steps of Figs. 6 and 7 (step 850). In another embodiment of the present invention, a routing module 530 at the origination switch may periodically try to calculate a better route to the destination switch, such as a faster route. When a better route is found the origination switch may request a call reroute. In yet another embodiment, the assignment of bandwidth may be based on assigned priority levels. For example, one connection may have a lower priority than another connection because one is a working connection and one is a protection connection. When a new connection request cannot be accommodated without bumping an existing connection, a bumping coordinator makes the decision about which, if any, connections should be bumped using the priority of each connection or bumping policies specified by the user. In conclusion, systems and methods consistent with this invention provide for automatic creation of a topology of switches in a SONET network and for the automatic generation of routes through a SONET network. It will be apparent to those skilled in the art that various modifications and variations can be made to the SONET network routing systems consistent with the present invention, and in construction of a network using such systems, without departing from the scope or spirit of the invention. Other embodiments will be apparent to those skilled in the art from consideration of the specification and practice of the invention disclosed herein. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the invention being indicated by the following claims.

Claims: WHAT IS CLAIMED IS: 1. A method for automatically generating a topology of a network of optical network switches comprising the steps of: sending a registration message from a first switch in the network to neighboring switches; receiving, at the first switch, messages from the neighboring switches identifying other switches in the network; and determining, by the first switch, from the received messages the topology of the network. 2. The method according to claim 1 , further comprising the step of: storing the topology of the network at the first switch. 3. The method of claim 1 , wherein the step of sending a registration message further comprises the step of: sending an identification of each communication link attached to the first switch to the neighboring switches. 4. The method according to claim 1 further comprising the steps of: sending a registration message from every switch in the network to its neighboring switches; receiving registration messages from neighboring networks; passing the received registration messages to all immediate neighbors; and storing at each switch a topology of the network. 5. The method of claim 4, wherein the step of sending a registration message from every switch further comprises the step of: sending, from every switch in the network to its neighboring switches, information about the switch including identification of each communication link attached to the switch. 6. A method for automatically generating a route between optical network switches, comprising the steps of: receiving a selection of an origination switch and a destination switch; automatically selecting a route to pass messages from the origination switch to the destination switch through an intermediate switch; and sending a connect message from the origination switch to the destination switch through the intermediate switch. 7. The method according to claim 6 wherein the step of sending a connect message includes the step of: determining whether bandwidth is available between the origination switch, the intermediate switch and the destination switch. 8. The method according to claim 6 further comprising the step of: sending a response message from the destination switch to the origination switch through the intermediate switch. 9. The method according to claim 8 wherein the step of sending a response message comprises the step of: directing the intermediate switch and origination switch to reserve bandwidth for a connection between the origination switch and destination switch. 10. The method according to claim 6 wherein the step of automatically selecting includes the steps of: reading a topology database listing all of the switches in the network and the relationship between the switches; and selecting the intermediate switch from the topology database for the route between the origination switch and the destination switch. 11. A method for automatically generating a route between an originating optical network switch and a destination optical network switch in response to a line failure, comprising the steps of: receiving notice of a line failure; determining whether the line failure affects a current route between the origination switch and the destination switch; automatically selecting a new route to pass messages from the origination switch to the destination switch through an intermediate switch; and sending a connect message from the origination switch to the destination switch through the intermediate switch. 2. The method according to claim 11 wherein the step of sending a connect message includes the step of: determining whether bandwidth is available between the origination switch, the intermediate switch and the destination switch. 13. The method according to claim 11 further comprising the step of: sending a response message from the destination switch to the origination switch through the intermediate switch. 14. The method according to claim 13 wherein the step of sending a response message comprises the step of: directing the intermediate switch and origination switch to reserve bandwidth for a connection between the origination switch and destination switch. 15. The method according to claim 11 wherein the step of automatically selecting includes the steps of: reading a topology database listing all of the switches in the network and the relationship between the switches; and selecting the intermediate switch from the topology database for the route between the origination switch and the destination switch. 16. A switch for use in a system for automatically generating a topology of a network of optical network switches, at least one switch in the network comprising: means for sending a registration message to immediately neighboring switches; means for receiving messages from the neighboring switches identifying other switches in the network; and means for determining from the received messages the topology of the network. 17. The switch according to claim 16, further comprising: a memory for storing the topology of the network at the at least one switch. 18. The system of claim 16, wherein the means for sending a registration message further comprises: means for sending identification of each communication link attached to the sending switch to each neighboring switch. 19. A system for routing optical signals through a network of optical network switches, the system comprising: an origination switch including an origination routing module configured to select a connection route through the network from the origination switch to a destination switch; an origination call control module configured to send a logical connection request through the network to the destination switch, said destination switch including a destination call control module configured to reserve bandwidth for the connection route using an acknowledgment message directed to the origination switch. 20. A system for automatically generating a route between optical network switches, comprising: means for receiving a selection of an origination switch and a destination switch; means for automatically selecting a route to pass messages from the origination switch to the destination switch through an intermediate switch; and means for sending a connect message from the origination switch to the destination switch through the intermediate switch. 21. The system according to claim 20 wherein the means for sending a connect message comprises: means for determining whether bandwidth is available between the origination switch, the intermediate switch and the destination switch. 22. The system according to claim 21 further comprising: means for sending a response message from the destination switch to the origination switch through the intermediate switch. 23. The system according to claim 22 wherein the means for sending a response message comprises: means for directing the intermediate switch and origination switch to reserve bandwidth for a connection between the origination switch and destination switch. 24. The system according to claim 20 further comprising: a topology database listing all of the switches in the network and the relationship between the switches, and wherein the means for automatically selecting comprises: means for reading the topology database to select switches for the route between the origination switch and the destination switch. 25. A switch in a network of optical network switches for routing signals within the network, the switch comprising: a routing module configured to select a route through the network from an origination switch to a destination switch; and a call control module configured to receive the route and determine whether bandwidth is available between the current switch and a next switch in the route, said call control module further configured to send a message to a next switch in the route requesting logical connection. 26. The switch of claim 25 further comprising: an inter-switch communication channel configured to receive messages from other switches. 27. The switch of claim 26 further comprising: an interface configured to direct received messages within the switch. 28. A system for automatically generating a route between an originating optical network switch and a destination optical network switch in response to a line failure, comprising: means for receiving notice of a line failure; means for determining whether the line failure affects a current route between the origination switch and the destination switch; means for automatically selecting a new route to pass messages from the origination switch to the destination switch through an intermediate switch; and means for sending a connect message from the origination switch to the destination switch through the intermediate switch. 29. The system according to claim 28 wherein the means for sending a connect message further includes: means for determining whether bandwidth is available between the origination switch, the intermediate switch and the destination switch. 30. The system according to claim 28 further comprising: means for sending a response message from the destination switch to the origination switch through the intermediate switch. 31. The system according to claim 30 wherein the means for sending a response message further comprises: means for directing the intermediate switch and origination switch to reserve bandwidth for a connection between the origination switch and destination switch. 32. The system according to claim 28 wherein the means for automatically selecting includes: means for reading a topology database listing all of the switches in the network and the relationship between the switches; and means for selecting the intermediate switch from the topology database for the route between the origination switch and the destination switch.

Inventors: GULATI NEERAJ, LU BIAO, PERKINS DREW D, TEDIJANTE THEODORE E, GULATI, NEERAJ, LU, BIAO, PERKINS, DREW, D., TEDIJANTE, THEODORE, E.
Applicants: CIENA CORP, CIENA CORPORATION
Application year: 2000
Main classification: H04L12
IPC codes: H04L12, H04Q11