The present invention relates to networks, and more particularly to management of network circuits.
A network includes nodes (also called network elements, or NEs) interconnected by links. A network circuit can traverse one or more NEs. Each intermediate NE performs a cross connect function connecting the circuit data from one link to another to deliver the data to the circuit destination.
Computerized network management systems (NMS) have made it easier for human users to create, delete, and modify circuits. An NMS can run on a computer connected to an NE. To create, delete, or modify a circuit, a user issues a command to the NMS. The NMS in turn issues commands to each NE through which the circuit passes. The NEs configure themselves as needed.
The NMS can also use the user's commands as a source of information on circuits in the network, and can display that information back to the user.
It is desirable to provide improved NMS systems.
Each link 130 carries one or more transport signals, i.e. STSs (Synchronous Transport Signals) or VTs (Virtual Tributaries). Each transport signal is transmitted at regular intervals of time, every 125 μs, whether or not the signal's payload carries any useful data. The data for the payload are provided by other networks or network stations (not shown) connected to one or more NEs 120 by links 140. Each of NMS systems 114.1, 114.2 allows a user (e.g. a network manager) to configure the NE cross connects so that the traffic arriving on a given link 140 at an NE 120 becomes inserted by the NE into the payload of a given transport signal, or so that an NE 120 drops a transport signal payload onto a given link 140.
Links 140 can be of any type, for example, OCn, DS1, Ethernet, or other types.
Each NE 120 has STS cross connect capability. One or more NEs 120 may also have VT cross connect capability. Each NMS 114 allows the user to program the NE cross connects.
NE cross connects can be configured by the user to set up STS and/or VT circuits in the network.
Circuit A is bi-directional. Its circuit spans 210A.1, 210A.2 carry traffic from NE 120.2 to NE 120.4. Its circuit spans 210A.3, 210A.4 carry traffic in the opposite direction. Circuit span 210A.1 carries data that has arrived at NE 120.2 on a link 140.1 (one of links 140 of
The traffic carried by circuit spans 210A.3, 210A.4 is added at NE 120.4 from link 140.3 and dropped at NE 120.2 onto link 140.4.
Links 140.2, 140.3 may or may not be the same physical media (e.g., an Ethernet bus). Similarly, links 140.1, 140.4 may or may not be the same physical media.
In circuit A, traffic in each direction flows through the same NE 120.3. This is not necessary. Different directions of a circuit may pass through different sets of NEs.
Circuit B (circuit spans 210B.1, 210B.2, and others, not shown) is a unidirectional VT circuit. A VT is identified by its VT group, size, and the number within the group. Some embodiments support only one VT size. In such embodiments, VTs can be numbered across the groups and a VT can be identified by its number within the STS-1.
A unidirectional circuit may have more than one drop NE, i.e. the circuit may drop traffic on more than one NE.
Users add, delete, or modify circuits by issuing commands to management system 114.1 or 114.2. System 114.1 or 114.2 sends appropriate commands to appropriate NEs 120. When the NEs receive the commands, the NEs automatically configure themselves to provide appropriate cross connects.
In some embodiments, the SONET network 110 transfers management information via out-of-band SONET section DCC channels which are part of the SONET section overhead. The management information is transferred using the IP protocol over PPP (Point to Point Protocol). Other protocols (e.g. the OSI stack) can be used instead. The management information can also be transferred via non-SONET out-of-band control channels, e.g. via Ethernet. NEs 120 route the management information while switching the payloads of the transport signals. See U.S. patent application Ser. Nos. 09/343,122 (filed Jun. 29, 1999 by K. Neuendorff et al.), 09/444,052 (filed Nov. 19, 1999 by D. Hillard et al.), and 09/478,287 (filed Jan. 5, 2000 by Jin Huai et al.), which are incorporated herein by reference. However, the invention is not limited to IP, PPP, or any other protocol, or to SONET.
NMS systems 114.1, 114.2 do not have to be present in the network at the same time. Further, NMS 114.1 or 114.2 can be connected to an NE 120 to configure the circuits and can then be disconnected.
When NMS 114.1 or 114.2 is connected to the network 110, the NMS queries the NEs 120 for the state of their cross connects and/or for other circuit information that may be stored at the NEs. This allows each NMS to obtain circuit information even if the circuits have been modified by another NMS. Further, if an NMS 114 (i.e., 114.1 or 114.2) issued a command to an NE to provide a cross connect, and the command was not executed by the NE, the NMS will nonetheless have correct circuit information based on querying the NEs.
NMS systems 114.1, 114.2 may run on separate computers attached to NEs. Alternatively, each NMS may run on one or more NEs, or on any combination of NEs and separate computers. In
We will now describe some embodiments to illustrate some aspects of the invention.
When an NE 120 is booted, the NE executes a link state protocol to obtain network topology. In some embodiments, the protocol is an extension of OSPF (Open Shortest Path First) executed over the section DCC channels. OSPF is described in many publications including, for example, W. R. Stevens, “TCP/IP Illustrated,” Volume 1 (1994). See also Request for Comments (RFC) 2178 (Network Working Group, July 1997), and the aforementioned U.S. patent application Ser. No. 09/478,287. According to OSPF, each NE 120 sends link state advertisement messages (LSAs) to other NEs. Each LSA describes the state of a link 130 or 140 attached to the NE originating the LSA. In some embodiments, each LSA pertaining to a link 130 includes the following information for the link:
The invention is not limited to OSPF or any link state protocol. PNNI or other link state protocols are used in some embodiments.
Each NE 120 generates a topology map 340 (
Each NMS 114 (114.1 or 114.2) designates an NE 120 from which the NMS will receive the topology information in table 340. This NE will be called a “topology host” herein, or just a “host.” In some embodiments, when an NMS starts up, it uses as a host the NE to which the NMS is connected (NE 120.1 for NMS 114.1 of
For each NE 120 in the topology map, NMS 114 sets up a TCP connection to the NE, and queries the NE for the cross connect and other circuit information. The NMS also registers with the NE to receive updates on changes in the NE's cross connect or circuit information. Each NE keeps a list 350 of all the NMS systems registered with the NE.
As the NMS gets pieces of the cross connect information and circuit information from the NEs, the NMS splices these pieces together and constructs representations of network circuits in a form which makes it easy for the user to trace each circuit from its source NE through the intermediate NEs to the destination(s). Graphical user interface (GUI) module 364 displays the circuits on screen 370.
Input devices such as, for example, a keyboard 380 or a mouse (not shown) allow the user to issue commands via GUI 364 to configure the circuits in network 110. In some embodiments, GUI module 364 includes an HTTP browser executing a Java applet loaded from the host NE. The browser provides the user interface, and the applet implements other functions such as circuit splicing. The invention is not limited to a browser, a keyboard, a mouse, or any other user interfaces.
Each host NE informs its respective NMS of any topology changes, and each NE informs the NMS systems registered with the NE of cross connect or other circuit information changes at the NE. The NMS re-splices the circuits when changes occur, so the user can always have up-to-date information displayed on screen 370.
In some embodiments, the NMS computer includes one or more computer processors 390 executing computer software. The computer can be a general purpose computer (e.g. a personal computer running a Windows (Trademark) operating system available from Microsoft Corporation of the state of Washington), or a special purpose computer, known or to be invented. Each NE may include one or more computer processors 394 executing computer software to communicate with NMS systems and perform other functions described herein. The invention is not limited to any particular software or hardware. Further, non-software implementation can be used.
In
The NMS of
For each NE 120, element layer 410 includes an element model 422. Element model 422 is a software object. In each element model 422, topology client 430 (
For each cross connect defined on an NE 120, the NE stores a software object (XC object) 440. Object 440 contains information identifying the cross connect. Such information may include:
If a VT cross connect is at an end point (an entrance or exit) of a VT tunnel, the corresponding XC object 440 identifies the tunnel.
In some embodiments, the XC object 440 is stored only on the NE having the corresponding cross connect but not on any other NE.
For each XC 440 on each NE 120, the corresponding element model 422 has an XC object 450. XC 450 stores the same information as the corresponding XC 440.
“XC list” object 460 in element model 422 represents the list of XCs 450 for the NE. In
For each circuit, the element layer 410 stores a “circuit info” object 470 containing the following information:
The circuit info 470 is stored in element model 422 of the source NE of the circuit. In some embodiments, the circuit info 470 is not stored in any other element model to save storage space. Each element model 422 stores a list of circuit info objects 470 for the circuits sourced on the corresponding NE.
The source NE stores “circuit info” object 480 (
Network layer 420 maintains a list 492 of references to the element models 422, and a list 494 of references to link models. Each link model (not shown) is an object abstracting a link 130. This object stores information shown in Table 2 above.
Network layer 420 also maintains a list 496 of references to active topology clients. When a topology host NE becomes unreachable, the corresponding topology client is deactivated. Network layer 420 designates another NE as a host in the same domain 400, and updates the list 496.
Circuit watchdog module 500 in network layer 420 runs periodically (once every six seconds in some embodiments) to process information from element layer 410.
For each element model 422 in list 492, network layer 420 sends a message 610 to the corresponding XC list object 460 to register with the object 460. For each host NE in list 496, the NMS sends a message (also represented by numeral 610) to the corresponding topology client 430 to register for topology updates. XC lists 460 represent empty lists of XCs 450 since the NMS has not yet received any XC information from the NEs.
Element models 422 register the network layer 420 as requested.
Active topology clients 430 sends messages 620.1 to the respective host NEs 120 to get the topology maps 340 of the respective domains and also to register with the corresponding topology servers 434 for topology updates. The host NEs return the topology maps (messages 620.2).
The word “message” as used herein may denote a set of multiple messages. The multiple messages may go in the opposite directions. For example, in TCP embodiments, messages and their acknowledgments travel in the opposite directions. A message may be implemented by a procedure call or some other approach, known or to be invented.
For each new NE identified by a topology map, the NMS creates an element model 422.
Each element model 422 sends a message 630.1 to the corresponding NE 120. Message 630.1 request the NE to return the XC information in objects 440 and circuit information in objects 480. The message 630.1 also requests the NE to register the element model 422 for updates. The NE inserts the NMS into its list 350 (
As the messages 620.2, 630.2 arrive, element models 422 construct the circuit info objects 470 and XC objects 450. The element models also inform the network layer 420, via messages 640, that the circuit info or XC information has changed. Active topology clients 430 inform the network layer of topology changes. Some of these changes were described above with respect to messages 620.2 (topology maps informing the NMS of new NEs). Similar messages informing the NMS of the XC, circuit info, and topology changes will be sent after start up when the element layer 410 receives topology, XC, or circuit info updates. Network layer 420 sends requests 650.1 for the changed information to respective element models 422. The element models return the changed information as shown at 650.2. If the information is a new XC object 450, network layer 420 sends a message 660 to element layer 410 to register with the XC object 450 for updates. XC object 450 will inform the network layer when XC attributes change or the XC is being deleted.
As the new information arrives, the network layer splices the circuits as shown at 670.
The operations and messages 630.1–670 of
In some embodiments, the network layer 420 also registers with the circuit info objects 470 for updates.
Similar processing takes place when a user issues a command causing a change in an attribute of an existing circuit info object 480 or XC object 440. An attribute can be any piece of information stored in the object, for example, a new drop point for the circuit info.
NE 120 reconfigures itself to delete the XC, deletes the corresponding object 440, and deletes or modifies the circuit info 480 if needed. The NE also sends messages 710 to each NMS in the NE's list 350 that the XC and possibly the circuit have been deleted.
In element layer 410, the corresponding XC object 450 sends a message 810 to the network layer 420 registered with XC 450. The message informs the network layer that the XC 450 is being deleted.
The network layer records this information and sends a message 820 to XC 450. This message indicates that the network layer has done appropriate processing and that the XC 450 can be deleted. XC object 450 sends a request 830 to XC list object 460 of the corresponding element model to delete the XC 450. XC list 460 deletes the XC 450.
In addition, if the whole circuit is being deleted, element layer 410 deletes the corresponding circuit info object 470.
As shown at 670, network layer 420 updates information on the circuit. The updated information can be displayed to the user by GUI 364.
Similar processing is performed for changes in the network topology. NMS 114 detects topology changes via its topology clients 430. If an NE 120 has been removed from the network, its objects 450 are deleted using the same procedure as described above for operations 810, 820, 830, 670 (
If a topology client 430 detects a new NE inserted into the corresponding domain 400, then an element model is created, and the new NE is processed as shown in
Topology clients 430 store information on network links 130 in respective domains 400. Network layer 420 stores information on circuit spans, as described in U.S. patent application Ser. No. 09/444,052 filed Nov. 19, 1999 by D. Hillard et al. and incorporated herein by reference. Layer 420 derives the circuit span information from XC objects 450. If a topology client 430 detects that a link 130 has been removed, network layer 420 deletes the circuit span information for all the circuits passing through the link, and re-splices the circuits involved. If a circuit becomes incomplete, the circuit will be shown to the user as incomplete, as described in more detail below.
As stated above, the NEs 120 communicate with the NMS systems over TCP. When an NE 120 sends a message to an NMS 114 to inform the NMS of changes in the NE cross connect or circuit information (message 710 in
Each element model 422 includes a polling thread 870 (
If the NE does not respond to polling for some time, the polling thread 870 informs network layer 420 that the NE is unreachable. The polling thread continues to poll the NE for some time. If the NE is reached again but the NE indicates that the NMS is not in the NE's list 350, the polling thread re-registers with the NE and obtains the cross connect information 440 and circuit information 480, as described above. If the NE is reached and indicates that the NMS is still registered with the NE, the NMS does not perform re-registration and does not obtain the cross connect and circuit information in some embodiments. This may happen, for example, if the NE was unreachable due to temporary disconnection of a link 130.
When the NMS sends a command 704 (see, for example,
If topology client 430 discovers a new link 130, network layer 420 displays the new link to the user.
Because each NMS has an up-to-date cross connect and circuit information, elimination of incomplete (orphaned) circuits is facilitated. Such circuits could result from inconsistent network management or circuit failures. For example, if a user has commanded to delete a circuit, and an NE was down and could not execute the command, the NE's cross connects for the circuit will not be deleted when the NE returns on-line. In some embodiments, an NE can set up only a limited number of STS or VT cross connects due to hardware or software limitations. The “orphaned” cross connects (cross connects that should have been deleted) impair the NE's ability to set up new cross connects. When the NE returns on-line, the NMS will query the NE, discover the NE's cross connect objects 440 and, possibly, circuit info object 480, and will display the corresponding circuit information to the user. If the NMS cannot splice the entire circuit, the status of the circuit will be displayed as “incomplete”. (The incomplete status could also result from delays in the NMS getting the circuit and XC information from some NEs even if the circuit is actually complete. When the NMS receives the complete information, the NMS changes the status to the “complete” on screen 370.)
The user will recognize incomplete circuits which should have been deleted. The user can then reissue a command to delete such circuits, freeing the NE's cross connect resources.
Some embodiments of the present invention include NEs of type ONG 15454 (Trademark) available from Cisco Systems, Inc. of San Jose, Calif. NMS 114 is a system of type CTS™ (Cisco Transport Controller) available from Cisco Systems, Inc. Each NE of type ONG 15454 includes a timing and control card (TCC) that performs the operations described above in connection with
The invention is not limited to any particular types of NEs or NMS systems. In some embodiments, a network may include different types of NEs and/or be managed with different types of NMS systems. Some of the NMS systems may be incapable of acquiring cross connect information according to this invention. Further, some NMS systems, such as systems of type TL1, may be unable to assign circuit IDs when creating a circuit or a cross connect. In some embodiments, an NE of the present invention will set the circuit ID in object 440 to zero or some other predefined value if the circuit ID is not provided by the NMS. When another NMS operating in the same network according to some embodiments of the present invention receives the information on cross connects with zero circuit IDs, the NMS will splice the circuit based on the cross connect information. In some embodiments, the NMS may offer the user an option to upgrade the circuit with a unique (non-zero) circuit ID.
The invention is applicable to SDH (Synchronous Digital Hierarchy) and other networks, known or to be invented. The invention is not limited to any particular timing. For example, in
This application is a continuation of U.S. patent application Ser. No. 09/586,257, entitled “Network Management Systems That Receive Cross Connect And/Or Other Circuit Information from Network Elements”, filed May 31, 2000, now U.S. Pat. No. 6,751,660 and naming Suhas Mansingh and Wayne C. Cannon as inventors. This application is assigned to CISCO TECHNOLOGY, INC., the assignee of the present invention, and is hereby incorporated by reference, in its entirety and for all purposes.
Number | Name | Date | Kind |
---|---|---|---|
5513171 | Ludwiczak et al. | Apr 1996 | A |
5652787 | O'Kelly | Jul 1997 | A |
5696697 | Blau et al. | Dec 1997 | A |
5892916 | Gehlhaar et al. | Apr 1999 | A |
5942989 | Nagasawa et al. | Aug 1999 | A |
6094682 | Nagasawa | Jul 2000 | A |
6260062 | Davis et al. | Jul 2001 | B1 |
6366955 | Haakana et al. | Apr 2002 | B1 |
6411809 | Haakana et al. | Jun 2002 | B1 |
6614785 | Huai et al. | Sep 2003 | B1 |
6657969 | Neuendorff et al. | Dec 2003 | B1 |
6751660 | Mansingh et al. | Jun 2004 | B1 |
20030012142 | Nagahama | Jan 2003 | A1 |
Number | Date | Country | |
---|---|---|---|
Parent | 09586257 | May 2000 | US |
Child | 10838804 | US |