INTELLIGENT NETWORK MANAGEMENT SYSTEM AND METHOD BACKGROUND OF THE INVENTION
The Public Switched Telephone Network (PSTN) comprises a labyrinth of devices connected by various cable media constructed over approximately the last one hundred years. While the labyrinth functions well in terms of reliability and availability of end-to-end services, such as voice communications and data delivery, there is yet a lot to be desired of the PSTN, particularly in relation to the operation, administration, maintenance, provisioning and planning (OAMP&P) functionalities associated with, in general, providing services via the PSTN.
Many of the drawbacks associated with PSTN OAMP&P functionality can be directly or indirectly linked to the systems used to inventory and maintain records of the various devices and connecting media present in the network. One such system is known as the Trunk Inventory Record Keeping System (TIRKS) . As the acronym suggests, TIRKS is used to track the inventory of the trunks and devices associated with the trunks and keep "accurate" records of such trunks and devices; as is known in the art, a trunk is defined by the circuits riding on the cable media interconnecting two or more circuit switches. In practice, TIRKS, however, means much more. Specifically, the very records that TIRKS maintain are used by other systems to perform OAMP&P functionality in the network, including fault location, service order processing, remedying network exhaust, etc. Industry estimates indicate that TIRKS records are at best 80% accurate. For a network with a global reach and hundreds of millions, if not billions, of customers any inaccuracy on the order of tens of percentage points results in considerable operational inefficiencies
resulting in associated additional operating costs. In a nutshell, the inaccuracies inherent in TIRKS substantially reduce profitability.
Specifically, and by way of reference to FIG. 1, the impact of TIRKS on the OAMP&P functionality of the PSTN can be better understood. FIG. 1 is a high level view of an exemplary architecture commonly used to support client applications 1 and 2 in today's PSTN. As FIG. 1 shows, the PSTN 8 generally includes at least two layers of networks - a service network layer 30 and a transport network layer 31. However, in some applications the service network is a private network that uses the transport network of the PSTN for data delivery. In the service network layer, a first router Rl communicates with a second router R2 through first and second Synchronous Optical NETworks (SONET), 10 and 11, respectively. SONET networks 10 and 11 are themselves connected to a Dense Wavelength Division Multiplex (DWDM) network 20. SONET networks 10 and 11 include a plurality of SONET devices, equipment, or network elements such as Terminal Multiplexers, Add Drop Multiplexers, Digital Cross- Connects, etc., that are linked or connected by various cable media such as optical fiber. DWDM network 20 includes a plurality of Wavelength Division Multiplexers, optical fiber amplifiers, etc., that are connected or coupled together via optical fiber.
The routers Rl and R2 can automatically or autonomously discover each other by exchanging messages in accordance with standard network protocols and store the result of such discovery in a routing or look-up table. As such, each router in the service network layer 30 knows all its "neighboring" routers. In this way the devices in the
service network layer 30 are relatively "intelligent" in that they allow for construction of a network topology. However, the routers Rl and R2 are not directly connected to each other for the purpose of exchanging data. The exchanging of data or messages between routers Rl and R2 is entirely transparent to the SONET and DWDM networks. That is, at the service network layer Rl and R2 appear to be directly connected to each other as illustrated by dotted line 25 in FIG. 1. In reality, the routers Rl and R2 will typically have a plurality of other network devices interposed between them (in the transport network layer 31 for example) that provide the actual connection as is illustrated in FIG. 1. These other network devices do not have the capability to autonomously detect the presence of any "neighboring" devices in their own network domain. In fact, older vintage equipment in the PSTN is not only unable to autonomously detect a neighbor but is incapable of providing such information autonomously or otherwise. In accordance with today's practice in the PSTN, each time a network element is added to the transport network layer 31, telephony personnel manually enter a record of the equipment in the appropriate TIRKS database including its point of connection to the network. This process is often error prone and the magnitude of the error grows each time a new entry is made because that new entry may necessarily include and compound prior errors .
As is further illustrated in FIG. 1, transport network layer 31 is shown as being connected to an operational support system (OSS) 35 that may be viewed as one OSS among other OSSs forming a TIRKS 36 family of functions or products. For example, the OSS 35 may be the OPS/INE system of Telcordia
Technologies, Inc., which is used to establish and disconnect network connections as part of a process flow in TIRKS 36 based on a record generated by TIRKS 36. As previously indicated, if 20% of TIRKS records are inaccurate then there is a 20% likelihood that an OSS trying to instantiate an action, e . g. , OPS/INE trying to perform a required network function such as establishing a new service path, will not be able to successfully execute that function. Regardless of whether today's PSTN delivers voice, legacy data or Internet Protocol (IP) datagrams, a hierarchy of network layers exist. The service network layer 30 may be viewed as a relatively high level network of the PSTN that supports "services", e.g., voice, legacy data or IP datagrams. The transport layer 31 may be considered a relatively low level network of the PSTN that supports "transport". In this view the transport network layer 31 provides a "clear channel" communications path to the services at the service layer network 30. In a typical PSTN, the same transport network supports all "services". Thus, the same transport networks (collectively referred to as the "transport network") will provide clear channel transport of voice traffic (Plain Old Telephone Service - POTS), legacy data, e.g., X.25 or frame-relay, and IP datagrams. With respect to the Seven Layer Open System Interconnect reference model (7-Layer OSI) the transport network layer 31 operates at layer 1, the physical layer. Further in accordance with the 7-layer OSI, layer 2 is the data link layer; layer 3 is the network layer; layer 4 is the transport layer; layer 5 is the session layer; layer 6 is the presentation layer; and layer 7 is the application layer.
The transport network layer 31 comprises a mix of technologies originating in the early '60s (e.g., Digital Signal Level 0s (DSOs), DSls) as well as technologies from the '90s (e.g., SONET) and emerging technologies (e.g., DWDM) . Unlike the newer services, specifically IP, which was originally defined to support auto-discovery of devices, point-to-point connections between devices, and end-to-end routes (utilizing, for example, the Signaling Network Management Protocol (SNMP) ) , the transport network layer 31 does not have similar "innate" intelligence functionality.
In particular, with the exception of emerging technologies (i.e., DWDM) where some devices from the same vendor, or partnerships of vendors, have been developed with this intelligence, the devices of the transport network layer 31 do not know what other devices they are attached to and, more specifically, the route of an end-to-end "transport" service (i.e., a clear-channel "bit" pipe) is indiscernible. As previously noted however, even in emerging technologies, such as DWDM, the ability to discover neighboring devices is limited to the domain of individual supplier equipment or to suppliers who agree on a proprietary protocol. The transport network layer 31 is comprised of physical devices that carry out the actual formatting, transmission, and reception of the data streams that communicate the actual services. The transport network layer 31 may also viewed as having layers in accordance with the North American Digital Hierarchy. At its lowest layer, the transport network layer 31 consists of lower-rate clear-channel connections at the DSO (64 kb/s) rate. At the next signal level up are DSls (1.5Mb/s) which may comprise twenty four DSO channels multiplexed together, each DSO taking one of twenty four time
slots within the DS1, or a clear channel 1.5Mb/s pipe without individual DSO time slots. At the next signal level up are DS3s (45 Mb/s) which may comprise twenty eight DS1 channels multiplexed together in twenty eight time slots or a clear channel 45 Mb/s pipe without time slots. At the next signal level up are STS/OC-1 (Signal Transport Signal/Optical Carrier-1) operating at a bit rate of approximately 52 Mb/s. Each STS/OC-1 signal has the capacity to carry 28 DSls in the appropriate timeslots, one DS3, or serve as 52Mb/s clear channel data pipe. The digital hierarchy in turn allows STS/OC-1 signals to be multiplexed in fixed multiples up to OC-192; specifically, one can form STS/OC-3, STS/OC-12, OC- 24, OC-48, and OC-192 signals by multiplexing STS-ls in a specified or standard scheme as set forth by various ANSI standards and Telcordia Technologies, Inc. generic requirements (e.g., GR-253, the disclosure of which is incorporated herein by reference) .
In another view the transport network is also layered according to the type of physical devices that perform the functionality associated with information delivery. The physical devices may include Digital Cross-Connects Systems
(DCSs), M13 multiplexers, SONET Terminal Multiplexers (TMs) and Add-Drop Multiplexers (ADMs) , SONET ADMs functioning as
Unidirectional Path Switched Ring (UPSR) nodes or as Bi- directional Line Switched Ring (BLSR) nodes, and Wavelength Division Multiplexers (WDMs) and Dense WDMs (DWDMs) . In this layered view the DCSs form the highest layer of the transport network and provide a large cross-connect fabric via which signals or circuits at various levels within the previously described digital hierarchy may be routed or switched. For example, a 1/0 cross-connect allows DSO signals within a DS1
to exchange timeslots and thereby be routed to different physical locations. The DCSs are in turn connected together, with clear-channel pipes, at the next lower layer of the transport network, typically by SONET devices. The SONET devices, in turn, may be connected together at the lowest layer of the transport network by DWDM network devices. At all layers of the transport network, there are primarily two options: descend to a lower layer (which is typically at a higher transport rate) or direct connections to a "peer" at the same layer. That direct connection could be via a coax cable (e.g., between DCSes in the same location) or via a fiber (e.g., between SONET or DWDM devices at the same or different locations). In this way the devices operating at each layer allows for less complex functionality, with the DCS devices having the most complex functionality. As a result, the transport network itself forms a labyrinth within a larger labyrinth that a paper trail is unable to track accurately. The IP service network layer 30 also has physical devices, e.g., IP routers (Rl and R2) and IP switches (not shown in FIG. 1), which are specialized for managing IP services. The physical IP devices within service network layer 30 have the ability to detect the existence of a clear-channel connection between them, but cannot determine how that connection is implemented or established. That is, the IP devices cannot determine the existence of devices within transport network layer 31 because to the IP devices the transport network layer 31 is a clear channel path over which IP services are connected. In any event, the IP devices deliver information in the form of bits to the transport network layer 31 which delivers the information to its destination, e.g., from Rl to
R2 in FIG. 1. As such, the transport network layer 31 essentially forms a pipe for delivery of the services of the service network layer 30.
To further elucidate the prior art problems associated with management of the communications network, the following example is provided. The service network layer 30 may be a virtual private Local Area Network (LAN) formed over a large geographic area and connected via the PSTN, e.g., a company uses the PSTN to communicate IP datagrams between its employees in New York and California. The manager of the LAN does not work for the telephone company and does not have access to the telephone company's records. Accordingly, when datagrams are not successfully communicated between the locations, the manager calls the telephone company or PSTN service provider. This triggers the telephone company to dispatch personnel to determine the cause of the problem. The first challenge for a dispatched telephone personnel is to determine the route the service takes as it traverses the PSTN in going from New York to California and vice versa (note, signals may traverse different paths in each direction) . The personnel then searches the TIRKS record to determine the route. Those records, however, would not reflect recent changes to the path or changes in the many devices that effect transmission of the information. For example, the records would not indicate that several hours ago a craftperson in New York inappropriately used a DS1 signal for the affected customer to establish new service for another customer. The end result is that the inaccurate records cause a customer to lose access to a particular service. This may result in lost revenue for that customer, e.g., each minute lost may result in huge monetary losses for
a brokerage house. The customer, in turn, gets frustrated and seeks another service provider which results in loss of revenue to the original service provider.
Of utility then are methods and systems that will eliminate or reduce inefficiency in the PSTN, particularly in the context of having the most accurate information available to network operators and OSSs that perform the many OAMP&P functions that are needed to operate a network the size of the PSTN. SUMMARY OF THE INVENTION
In accordance with an aspect of the present invention the foregoing prior art deficiencies are overcome by systems and methods that autonomously discover a network topology. In accordance with an aspect of the invention an intelligent network management system and method is provided to autonomously discover the topology of a network. The system comprises a command translation module, a connection manager module and a frame manager module. The connection manager module is used for communicating with one or more network devices residing in the network. The frame manager module is coupled to the command translation module and the connection manager and is used to manage a message flow between the command translation module and the connection manager. The system additionally includes a database having abstract data objects representative of the network. The database being updated autonomously in response to changes affecting the devices in the network.
In accordance with a further aspect of the system, the frame manager module further includes means for encapsulating the message flow between the command translation module and the connection manager module. In addition, the frame manager
module may additionally include a function for detecting events generated by the network element.
Further in accordance with this aspect of the present invention, the database may comprise a plurality of databases.
In accordance with another embodiment of the present invention, the system comprises a software module including a service layer, a topology extraction layer and a device abstraction layer. The software module is coupled to a frame manager and a connection manager. The connection manager is coupled to a network of devices and the frame manager, wherein the frame manager encapsulates data flowing between the connection manager and the network of devices such that the network management system can automatically discover the network of devices.
In accordance with this embodiment the service layer includes a cross-connect discovery module that autonomously polls and discovers the cross-connect fabrics of the network elements residing on a managed network. Further in accordance with this embodiment, the service layer includes a service discovery module that is able to discover services traversing the network.
Further in accordance with this embodiment, the topology abstraction layer includes a connection termination point module. This module functions by polling the devices in a network to obtain information related to cross-connections. In accordance with another aspect of the present invention a method for autonomously creating a network map within a transport network having a plurality of devices is provided. The method comprises inputting selected network data of at least some of the network devices into a database, processing
the selected network data and autonomously creating a network map based on the processed selected network data. Further in accordance with the method, changes in the topology of the network are autonomously detected and the network map is updated accordingly.
Further in accordance with the method, a second set of selected network data may be inputted and the network map may be updated based on the second set of inputted selected network data. In addition, inputting the selected network data comprises the step of inputting an equipment identifier and connection information for at least two network devices.
Further in accordance with the method, the step of processing comprises retrieving command sets and communication requirements associated with at least one of the network devices .
In accordance with another embodiment, a method for autonomously creating a map of the public switched telephone network comprises inputting selected network data for at least some network devices within the network, processing the selected network data.
In accordance with another aspect of our invention, a provisioned service may be traced through the network it traverses. Since it is possible for the system to store the configuration of an actual network and the devices therein, the system will trace services that traverse network elements that start and/or end on a port of a higher rate than the service within the network. To process a trace request, the system will start on a user-specified cross-connect. The system then determines routes that support the service. The routes are then correlated to determine the network
configuration of the service. Having the unique capability to determine direction, the system can perform service circuit tracing using any cross-connect within the route or circuit path and thereby produce the entire service path. Some of the services or configurations supported with tracing can be ring, point-to-point or more complex such as a mesh. In accordance with this aspect of the present invention, the service trace method begins with the specification of an equipment identifier and at least one connection termination point identifier for at least one end-point network element in the network. The method then autonomously traces a service in the network based on the equipment identifier and connection termination identifier. Further in accordance with the service trace method, at least one additional connection termination point is discovered on the at least one end-point network element.
In addition, the step of discovering at least one additional connection termination point on the at least one end-point network element comprises polling the at least one end-point network element for active cross-connects.
Further in accordance with this aspect of the present invention, the method comprises discovering cross-connects of additional network elements in the network based on the specified and discovered connection termination points. The method further comprises traversing the network using the specified and discovered cross-connect information to trace the service. In accordance with the method, services that can be traced include ring, point-to-point, or broadcast services . In accordance with a further embodiment, a method for autonomously determining a communication route within the
public switched telephone network is provided. The method comprises inputting information about a starting point network device and ending-point network device within the public switched telephone network. Cross-connect information relating the starting point device to a first device is then autonomously detected. A segment of the communication route between the starting point device and a first device is autonomously determined, including further cross-connection information relating to the starting point device. Additional segments of the communications route are then autonomously determined and used to construct the route. Further in accordance with the method autonomously detecting a first device comprises accessing a database containing topology information relating to the devices on the network. In addition, autonomously determining a segment comprises correlating cross-connect information relating to the devices on the network.
An additional embodiment comprises a computer readable medium having computer-executable instructions for performing a method comprising inputting information about a starting point network device and ending-point network device within the public switched telephone network. Cross-connect information relating the starting point device to a first device is then autonomously detected. A segment of the communication route between the starting point device and a first device is autonomously determined, including further cross-connection information relating to the starting point device. Additional segments of the communications route are then autonomously determined and used to construct the route. In yet another aspect of the invention, a method is provided for designing a route in a network. The method comprises
selecting at least one input route parameters from a predetermined set of parameters, automatically selecting segments from a database based on said selected input route parameters and constructing a route based on said selected segments.
In accordance with this aspect of the invention, constructing a route comprises determining the optimum path based on path segments traversing the route. The optimum path may comprise the shortest route, the least-expensive route or the route having the highest available capacity.
An additional embodiment of this aspect of the present invention comprises inputting data including a starting point and an ending point into a computer system and accessing a database including information about hardware devices within the public switched telephone network. Pathways relating to the hardware devices are then autonomously identified and a communication route between the starting and ending points is autonomously created by combining at least some of the identified pathways. In accordance with this additional embodiment, accessing a database comprises accessing a database having topology information about the public switched telephone network. Further, autonomously creating a communication route comprises correlating the cross-connect information between hardware devices.
In accordance with another aspect of the present invention, a computer-readable medium having computer-executable instructions for performing a method is provided. The method comprises detecting a hardware status change within the public switched telephone network and autonomously generating information about the detected hardware status change. The
autonomously generated information is then stored in a database where it may be used to provide an updated view of the public switched telephone network.
The above systems and methods will be better understood when considered in conjunction with the following detailed description and associated drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 depicts an exemplary view of a typical communications network; FIG. 2A depicts an exemplary view of a network managed by a network management system in accordance with an aspect of the present invention;
FIG. 2B depicts a network management system in accordance with an aspect of the present invention; FIG. 2C illustratively depicts the software architecture of a network management system in accordance with an aspect of the present invention;
FIG. 3 illustrates an exemplary flow chart of a method in accordance with an aspect of the present invention. FIGS. 4A-4E illustrate data flows between the layers of the software architecture in accordance with an aspect of the present invention;
FIG. 5A depicts a flow diagram illustrative of our route trace method in accordance with an aspect of our invention; FIGS. 5B, 5B-2, 5B-3, 5B-4, and 5B-5 depict a flow diagram in accordance with an embodiment of the trace route process of
FIG. 5A;
FIG. 5C is an exemplary network used to further illustrate the operation of the flow diagram of FIG. 5B and the process of FIG. 5A;
FIG. 6A illustrates a route design process for establishing a service path in accordance with an aspect of our invention; and
FIG. 6B illustrates the sub-steps associated with selecting a service, step 810, of FIG. 6A.
DETAILED DESCRIPTION OF THE INVENTION
System and Method
Our inventive system and method facilitates the autonomous development of a network topology or tree based on selected network information. Various aspects of the present invention will be marketed by SkyOptix, Inc. of New Jersey under the trademark Enhanced Transport Management. The terms ETM or enhanced transport manager and NMS or network management system are used interchangeably hereinbelow to refer to an exemplary system embodying the present invention. Turning now to FIG. 2A there is shown a public switch telephone network (PSTN) 108 being managed in accordance with an aspect of the present invention. In particular, FIG. 2A shows network management system or ETM 200 managing the transport network 31. Through its interface at SONET network 11 network management system 200 is able to autonomously discover all the network elements within transport network 31 once the communication parameters have been supplied (e.g., IP address, login, password) . In addition to SONET network 11 and DWDM network 20, transport network 31 may include other networks such as a DS3 or DS1 network.
As FIG. 2A shows, NMS 200 may be used as a standalone system or may be integrated with the prior art TIRKs system 36 and its operation support systems (OSSs) 36χ through 36n. OSSs 36ι through 36n may include OPS/INE and other known operation support systems. The NMS 200 may be coupled to TIRKs system
36 via communication link 115 and provide a way by which TIRKS information may be updated in real time. The link 115 may comprise any of a number of packet data networks including TCP over X.25, IP over an Ethernet LAN or any other type of private packet network. As such, our network management system 200 may be advantageously integrated into today's operations network thereby saving costs that would be associated with replacement of that particular functionality in the PSTN. Furthermore, as FIG. 2A shows TIRKS may be also coupled to the network 11 via communication link 119, with or without the link 115, to NMS 200. Communication link 119 may comprise packet data networks similar to those available for link 115. Thus, our system may be integrated into today's network or operate independently. In addition, the network management system 200 may be used to independently manage and autonomously track the growth of a network thereby allowing for using ETM as an alternative to TIRKS as a network management tool. In accordance with our invention, the view of the transport network as seen from the service network would now include all the intervening network elements between router Rl and R2. Therefore, although at the service layer router Rl may be viewed as being directly connected to R2 via data line 25, a network operator at the service network layer 30 may, through information provided by the NMS 200, discover all the network elements within transport network 31. As such, our network management system 200 provides autodiscovery functionality within the transport network 31 that heretofore was available only at the service network 30. By using our network management system 200, a network operator or provider of PSTN 108 is thereby allowed to operate, administer,
manage, plan and provision (OAMP&P) the network based on a real time topology view of the network.
The present invention also advantageously allows a network provider to update a TIRKS or similar database without any human intervention. By using our network management system, a network operator or provider may realize increased efficiency in network operations which may result in an increase in operating revenue. Specifically, turning now to FIG. 2B there is shown a network management system 200 in accordance with an aspect of the present invention. Network management system 200 can autonomously or automatically create a topology or tree of a network based on selected input information, such as the network address of network devices 201 and 203 and data relating to the manner in which the devices 201 and 203 are interconnected. Once provided with this information the system 200 is able to automatically poll network devices 201 and 203 and those devices included in exemplary network 206, retrieves configuration information, and graphs or creates a map of the network topology. In accordance with another aspect of the invention, modifications to a transport network layer, including addition and deletion of network devices, are autonomously updated and the previously created map or network topology diagram is updated to reflect the changed or modified network.
The present invention therefore advantageously creates a network map using a novel software process in conjunction with an electronic database of information about the transport network layer itself, rather than the paper-based TIRKS system employed in the prior art. Further in accordance with the present invention, network inefficiencies
relating to OAMP&P network functionality are substantially reduced or eliminated because other than inputting the initial required selected information into a database, no further intervention is needed. In accordance with FIG. 2B, our system includes a frame manager module 205, a command translation module 210, and a connection manager module 220. The frame manager module 205 encapsulates all communications between the system 200 and the network elements or devices 201 and 203 and thereby shields the other modules from being required to have any device specific knowledge. Frame manager module 205 encompasses other internal processes that support command and response events from and to the system, respectively, and autonomous events generated by the network devices or elements. The command/response function establishes one or more device specific persistent event thread(s). Once connections have been established, control is passed to an event listener which handles all incoming messages and passes them to the appropriate message thread for further processing. The frame manager module 205 uses the command translation module 210 to perform translation to device-type specific commands. Command translation module 210 defines the device specific response syntax which is used by the frame manager 205 to store device information relating to the device configuration and status. The system 200 further includes the ability to call upon this translation logic to display to the user both the device specific data as well as the data abstracted view. The command translation module 210 uses a device configuration profile module 224ι, for example, to convert system 200 transactions to device specific
commands, as well as to convert device specific commands to generic commands.
Each device may have its own separate device configuration module 224. The device configuration modules themselves may be arranged in a larger module that comprises all the devices grouped by vendor or supplier or grouped by the type of device, e.g., all DCSs, into separate classes thereby forming a collection of modules 225 having the information included individually in databases DCPi through DCPn. In fact, the device configuration profile modules 224 may be thought of as databases wherein profile information that identifies the features and functions of a device or network element are stored in the form of abstract data objects. Typically, the device profile configuration module is populated with data that identifies the individual devices, network elements, or equipment, e.g., devices 201 and 203, that comprise a network. In accordance with an embodiment of the system 200, individual databases may be populated with information such as the type of equipment, e.g., add-drop multiplexer versus ring node, the equipage of cards available in the equipment, e.g., DS1 termination cards versus DS3 termination cards, the number of racks in the equipment, the mnemonics associated with the layout of the racks or cards making up the equipment, and any other information that is useful in identifying different features associated with the equipment. The device configuration modules or databases 224 may be co- located with the system 200 or may be accessible over a communications network 230. As FIG. 2B also shows the system interfaces with network device 201 over a link 235. The link 235 may include for example TCP over X.25 or IP over an Ethernet LAN. In
general, link 235 is the means by which system 200 interfaces with the management modules of the network element or equipment. Such modules are used to monitor and control each network element or plurality of network elements with one connected network element operating as a gateway. For example, and as is discussed below, link 235 is the access point to the network through which system 200 discovers the topology of a network. The link 235 includes connections to any port on the equipment via which specific equipment commands, using a language such as TL-1, may be used to query the equipment .
The system 200 also interfaces with one or more clients 243. Client 243 provides an interface through which a user may instantiate queries and service requests on the system. In addition, the system 200 may also interface with other systems 245, such as TIRKS, OPSI/INE, NMA and other proprietary systems that perform OAMP&P functionality within the network. Systems 245 may request and receive autonomous information and updates from system 200. These systems 245 may therefore, via the system 200, also update their view of the network to the most current view.
Turning to FIG. 2C there is shown an exemplary software architecture diagram 250 of the intelligent network management system 200 in accordance with an aspect of the present invention. As FIG. 2C shows, the system software architecture 250 may be viewed as comprising three layers, a service layer, a topology abstraction layer, and device abstraction layer, wherein each layer performs specific services or functions. Specifically, at the service layer 252 a discovery service module 254, cross-connect discovery module 255, audit module 256, design a route (DAR) module 258
and topology abstraction resource (TAR) module 259 are provided; these modules are described in further detail below. At the topology abstraction layer 260 resides a topology object manager (TOM) module 262, an active topology object manager (ATOM) module 264, a connection termination point (CTP) module 266, a port termination point (PTP) module 267, and a topology link 268 module; each of these modules are described in detail hereinbelow where appropriate for elucidating different aspects of the present invention. The device abstraction layer 270 includes a translation service module 275. As FIG. 2C shows the topology abstraction layer 260 sits between the service layer 252 and the device abstraction layer 270 while providing access to database 225. The frame manager 205 transmits and receives messages between the device abstraction layer and the topology abstraction layer and communicates through the connection manager 220 to the network elements.
By way of a general overview description, device abstraction layer 270 accesses messages from the frame manager 205 to retrieve command sets and communication requirements based on input parameters. The topology abstraction layer then informs the service layer of the service requested, retrieves or stores information from or to database 225, as is appropriate, and then instantiates the device abstraction layer 270. The device abstraction layer then formulates threads (individual processes within a single application) for dispatch to the appropriate devices using its translation service 275. The threads are sent in the form of commands to the appropriate device or devices and responses are then stored in the appropriate thread. Accordingly, at any given
time each device may have multiple threads running concurrently.
More specifically, the service layer 252 includes the processes and business rules needed by the system 200 to carry out services requests. The topology abstraction layer 260 provides or maintains an abstract view of the network (e.g., via database 225). The device abstraction layer 270 manages the devices on the network. For example, when a service is requested, the TAL 260 obtains the processes and business rules associated with the service. The TAL 260 also obtains an abstract view of the network, including the device configurations and their interconnections, by accessing database 225. In an embodiment the abstract data objects that are stored in database 225 may include data structures that represent the connection termination points, the cross- connect matrices and interconnect information relating one device to another device. Cross-connections are made between connection termination points in a network element or device. The abstract data objects are generic representations of device specific information. For example, a connection termination received from a device encoded in accordance with a TL-1 syntax is converted to an abstract data form representative of device identifier and the connection termination point. The processes and/or business rules associated with the service and the abstract view of the network are passed on to the DAL 260, where they are translated into device specific commands. The frame manager 205 then manages the issuance of the device specific commands and any responses thereto. In accordance with this aspect of the invention, the abstract view of the network provided by the TAL 260 allows the
management of a network populated with devices from multiple vendors. The TAL 260 in combination with the DAL 270 enables the system 200 to support services for different vendor equipment or devices . Turning now to FIG. 3 there is shown a flow diagram illustrating a process or method for creating a network map 300 in accordance with an aspect of the present invention. At step 301 a user instantiates the method by inputting a first set of selected network data into the system. At a minimum that data comprises a network element or equipment identifier of two or more network elements (e.g., 201 and 203 in FIG. 2B) and connection information relevant to the two or more network elements. The network element identifier information may include for example the TCP/IP or X.25 network identifier of the equipment, the name of the equipment, the type of equipment, and/or a logon account number. In general, the network identifier information identifies the equipment at the A-end and the Z-end points on a connection and may generally comprise address data. The connection information comprises, for example, ports on each of the two network elements identified by the network identifier information. In particular, the connection information identifies how the two or more network elements are connected to each other and, in general, the network. Such information, for example, may be of the form port 1, channel 1 on the A-end equipment and port 5, channel A on the Z-end equipment. Assuming the A-end equipment to be a SONET terminal multiplexer, port 1 on the A-end element may be the working OC-3 line and channel 1 may be the first STS-1 path in the OC-3 line. On the Z-end, assuming the equipment to be SONET STS-1 cross-connect, port 5-1 may mean the working line
of the fifth OC-3 of the twelve possible OC-3 connections the equipment supports and channel A would also mean the first STS-1 path in that OC-3.
The network identifier information inputted by a user or system 245 defines an initial network. However, once this initial network is designed, the system 200, m accordance with this aspect of the present invention, is able to autonomously track topology changes within the network. Extensions or device augmentation of the network will result in automatic updating of the initial network view to include the device augmentation and extension of provisioned services. The connection information essentially defines at a first level the relationship between the network elements within the initial network. As described hereinbelow, once provided with this initial information the system 200 autonomously discovers the cross-connects for each network element in the network, relates the cross-connects across all the network elements, and constructs a network map having all the connections to and from each network element. In accordance with an embodiment of the system 200, the first set of selected network information may be input to the system 200 as part of a bulk data transfer and in this way information on large networks can be initially stored and used to autonomously create network maps. Accordingly, users may incrementally grow their network (s) without the system or ETM 200 having the entire network view from the beginning. In accordance with this aspect of our invention, the system then autonomously creates a network topology map or tree 310 based solely on the user inputted information, step 340. In particular, the system 200 uses the user inputted information to access the relevant databases of the plurality of
databases DCPi through DCPn. Based on the accessed information the system then queries the equipment through the command translation module to discover the network topology. At a first level the query includes discovering the cross connect matrix of the A-end and Z-end network elements. Next, starting at either the A-end or Z-end, the system discovers the cross-connect matrices of other network elements connected on the network. Once cross-connect matrices are determined further analysis is done to correlate the information including how different network elements are physically connected to each other.
At step 360 the process continues as the system 200 checks for changes in the network topology either due to new user inputted information, e.g., the addition of a new node, or due to the failure of a network element or node. Note, however, that the system 200 does not need this fault information. If a fault occurs and services are re-routed or switched over to protection, ETM will show the new route if the services are traced as is explained in further detail below. In addition, as configurations change the system 200 detects such changes without the user having to notify the system or ETM 200. Such changes include the insertion of a new card, removal of an existing card and activation of a card. Post processing may include marking existing services as invalid (if a card is no longer present) or for inclusion, determining if the new card has been administered and available for provisioning as is required after board insertion (before cross-connects can be established on that board) . If the system 200 does detect a change in the network, the network topology map is recreated at step 366 as
previously described in step 340 and a new updated map 370 is then created.
An additional aspect in accordance with the present invention is the automated and accurate determination of how cross- connects are configured within various system devices (e.g., SONET boxes and the like) . In accordance with this inventive aspect, when a user of the system 200 inputs an equipment identifier, the system 200 automatically locates the particular equipment in database 225 and determines its configuration. This is accomplished by retrieving the equipment and the inventory of the specific equipment or device. Once this is performed, the system 200 knows or acquires information relating to the cards (or equipage) of the equipment in addition to the ports associated with each card. Such information may already be stored in database 225 and acquired as previously described. If the information is not in database 225, then it may be retrieved in accordance with the procedure described above in relation to FIG. 2C. The system or ETM 200 then performs a retrieve cross-connect command whereby information about the cross-connect configuration is obtained.
In accordance with this aspect of the present invention, automated cross-connect determination may be performed in a network that includes equipment from various vendors. Existing element management systems only permitted this type of discovery where all the network devices were manufactured by the same vendor and were thus compatible. As such, prior art system limited the view of the network to only specific portions where a supplier's equipment having such functionality was coupled to that suppliers equipment. However, where a network comprised an architecture having
more than one supplier's network element, such prior art systems cannot provide a complete network view. As is usually the case as a network grows in complexity, either by addition of network elements or by coupling of previously uncoupled networks, there is a mixture of network elements from a plurality of suppliers or vendors. Other causes include corporate mergers and acquisition which result in the newly formed entity having the task of network integration. In addition, many customers are not comfortable designing their next generation network architecture around a single device vendor. As such, our inventive system is able to track a network even as it grows with the addition of network elements from many different suppliers. Accordingly, a network provider is able to manage its network in a supplier independent or neutral manner. Additionally, if a customer prefers to manage their network using device specific details (AID'S etc.) ETM has a unique capability to translate between device specific commands as well as a normalized view of this data. This flexibility provides the user the capability of supporting various levels of experience within their own provisioning centers, from novice technicians to more device experienced technicians. Turning now to FIGS. 4A-4E there is depicted a more detailed illustrative example of the operation of an embodiment of the system 200 in accordance with the exemplary software architecture of FIG. 2C and the general method of FIG. 3. In particular, in FIG. 4A, based on the input parameters selected by a user as part of the instantiation of a service at the service layer, the topology abstraction layer 260 accesses the messages received at the frame manager to retrieve the command sets associated with the user service
request and the communication requirements of the network element as is shown by line 402. More specifically, the user provides an equipment identifier for network devices, e.g., Device A and Device B, along with the appropriate connection information for the devices. The user may also include a service request such as a request for discovery service 254. The topology abstraction layer (TAL) 260 then accesses the message received at the frame manager to extract information such as the equipment identifier and connectivity information. The extracted information is then used by the TAL 260 to retrieve the command sets associated with the service from the service layer. In addition, the TAL 260 also obtains the communications and other requirements of the device. Once the command sets and communication requirements are available from layer 260, processing continues as shown in FIG. 4B with the frame manager invoking the device abstraction layer 270 to establish threads 406 that are appropriate for the device, device B for example, using the command and communications data retrieved by layer 260. Each thread 406 must however be translated by command translation module 210 into a frame specific device thread 408 that is understandable to the device and is appropriate for communication over network 410. In accordance with the reference software architecture of FIG. 2C translation is performed by a translation service 275 residing at the DAL 270. The connection manager 220 then further formats the device thread 408 for transmission over the network 410. In accordance with this particular embodiment the device abstraction layer performs functionality at layers 2, 3, and 4 of the 7 Layer Open System Interconnect stack. In
accordance with this particular embodiment we have used User Datagram Protocol/Internet Protocol at layers 3 and 4, however, those of ordinary skill in the art will readily recognize that any standard or proprietary layer 3 and 4 protocols may be used to perform this functionality. In addition, although we show the connection manager 226 as being coded in "C" and running on a Solaris work station, any programming language and platform may be used to carry out the functionality of the connection manager 220. Similarly, the frame manager 205 need not use JAVA.
Turning now to FIG. 4C there is shown the operation of the device abstraction layer 270 and the topology abstraction layer 260 when device B sends back a response to the command sent in FIG. 4B. In particular, after the last thread is received, generalized or vendor neutral data is sent through the frame manager to the topology abstraction layer which either stores the data for later presentation or processing. FIG. 4D shows the data flow into the device abstraction layer caused by an autonomous notification or event from the device. The data flow is similar to that of FIG. 4C except that the frame manager is not invoked and the data is tagged as an event to distinguish it from a response to a query. Tracking and logging events is important in that is allows our system to track changes in the network in real time. In particular, Device A may generate an event message in response to change in the settings of the device. The event message after propagating through the network 410 is detected by the connection manager. The event then generates a frame specific device thread 418 which is then converted to device specific event thread 406 by command translation module 210. The device specific event thread 406 is of a form
recognizable by the TAL 260. The device specific event thread 406 is then forwarded to the TAL 260 by an event message module 429 resident in the frame manager. Depending on the content of the event thread 406, the TAL 260 then updates it network view. For example, if there was a rearrangement of cross-connects at Device A, the abstract network view maintained by the TAL 260 is updated to reflect the re-arrangement.
FIG. 4E shows that in a real working implementation there will be multiple threads for a plurality of devices running concurrently causing data flow up and down the device abstraction, topology abstraction, and service layer of our system 200.
Circuit/Route Tracing In accordance with another aspect of the present invention, the path or route of a provisioned circuit can be traced through a network based on a topology network map. Since it is possible for the system to store an actual network, the system will trace services that traverse network elements that start and/or end on a port of a higher rate than the service within the network. A user may also specify any cross-connect (including intermediate cross-connects of the service path) from which to begin a trace. Having the unique capability to determine direction, the system can perform service circuit tracing using any cross-connect within the service circuit path and thereby produce the entire service circuit path. The services supported with tracing can be linear or more complex services such as broadcast or multipoint .
Turning to FIG. 5A, there is shown a flow diagram depicting the general method steps associated with a route or circuit tracing process 600 in accordance with this aspect of the present invention. The process is instantiated via a user request in which the user specifies an endpoint network element's identifier (NE ID) and a connection termination point (A or Z) identifier (CTP ID) at step 605 (this may be an intermediate or end point within the circuit path) . In an alternative embodiment, the process may instantiated in batch mode by another system, e.g., TIRKS. Such a batch mode request may be set to occur periodically, e.g., daily or monthly. Once provided with this information the system 200 traces a route, step 607, to all A and Z endpoint (s), returning all these endpoints, preferably as a network map, as well as a list of the cross-connects used to trace the route. If at the time the trace route service is instantiated only a portion of the user's network is known by the system, i.e., the user did not include the network element identifiers for some network elements in the actual network in step 301 of FIG. 3, then some of traced services will end outside the network known to the system 200. Nonetheless, the trace route process provides the capability to trace a route for a service or information path that starts and/or ends on a port of a higher rate than the service.
In tracing a route, step 607, the process initially discovers the cross-connects on the inputted end-point network elements. Once the cross-connects on the end-point network elements are discovered, the trace route process continues by utilizing three main loops. A first loop, Loop 1 or step 614, traverses from network element to network element to
discover the cross connects used for a single leg of the service. A second loop, Loop 2 or step 618, is used in discovering each additional leg of a service, one leg at a time. In particular, where a service, e.g., broadcast service, has multiple service legs, step 618 returns to the starting point of the service to continue tracing in additional directions. Once step 618 reaches an endpoint, the process returns to the beginning of Loop 2 to start a new leg. Each service may be comprised of one or more service legs. Each service leg may be comprised of one or more segments. The one or more segments define a service path connecting two network elements to each other. For example, if a service traverses a linear network having three network elements, such a network would have one leg having two segments, each segment connecting one end-point network element to the intermediate network element. Thus, at each intermediate network element, the process polls that network element to discover the active cross-connects associated with the intermediate network element and thereby define that segments, e.g., which port connects the neighboring network elements. Segment information is then correlated to define each service leg. The service legs are then correlated to trace a service or circuit. A third loop, Loop 3 or step 622, is used only if new legs of the service are discovered while processing a saved connection termination point (CTP) . For example, if the process finds a connection termination point that was not previously logged, this connection termination point must then be traced to determine the segments comprising its service leg and thus discover its service leg.
The trace route process 600 ends by returning an A and Z endpoint list(s), a route cross-connect list, along with any errors found in the trace. Alternatively, the cross-connect and endpoint information may be depicted in the form of network map or diagram.
In accordance with this aspect of the invention, the trace route process 600 is able to trace routes on all transport network technologies, including, but not limited to, SONET, DSn, synchronous digital hierarchy (SDH), WDM, and DWDM. With respect to SONET and SDH technologies, the trace route process 600 provides the capability to trace a route for a "sub-channel-rate" service which utilizes "tunnel" cross- connects. We refer to this feature as tunneling. Cross- connects for a sub-channel-rate service will be lower than the base timeslot rate. For example, for SONET, the base timeslot rate is STS1. A "sub-channel-rate" in this case could be VT1.5 (Virtual Tributary 1.5), since the STS1 must be channelized to handle the VT1.5. Similarly, for SDH, the base timeslot rate is AU . The structure and interfaces in accordance with an SDH network are defined in the ITU standard G.709, the disclosure of which is incorporated by reference herein in its entirety. A "sub-channel-rate" in the case of SDH would be VC-11 (Virtual Channel - 11) . A "tunnel" cross-connect is a cross-connect at a higher rate than the service(s) that traverses it. For example, while a VT1.5 service usually consists of a series of VT1.5 cross connects, it may be tunneled through one or more STS1 cross connects. The STS1 cross connects in this case would be considered the "tunnel"-cross connects. A number of VT1.5 services may traverse a single STS1 cross-connect. Services which start on, end on, or traverse a "tunnel" cross connect
can be traced in accordance with this aspect of our invention .
In accordance with this aspect of the present invention, linear, point-to-point, broadcast, and multi-homed circuits can be traced. These circuits or routes traverse different network configurations such as rings, point-to-point or mesh configurations .
If a failure is encountered while tracing one leg of the service, the trace will attempt to trace additional legs, if they exist. Therefore, it is possible for a failed trace to return multiple errors.
Turning now to FIGS. 5B through 5B-5 there is shown a flow diagram in accordance with an embodiment of the trace route process of FIG. 5A. The process begins at step 605 with a user request comprising an endpoint network element's identifier (NE ID) and a connection termination point identifier (CTP ID) .
At step 610 the cross-connects for end point network elements is then discovered. As FIG. 5B shows step 610 includes the initial substep 610ι of determining whether each network element or device is already managed by the system 200. For each end-point network element managed by the system, the system is polled for their respective cross-connect information at step 6102. For any endpoint network elements that are not managed by the system 200, the system 200 attempts to discover the cross connects of that network element at step 6103. If the system is unable to discover cross-connects associated with an endpoint network element, line 6105, an error message is generated and stored to a return error list at step 640. Such an error message may indicate that the end-point network element, or any other
network element, is not connected to the network. The process proceeds to step 622 or loop 3, which is described in detail hereinbelow.
If a cross-connect is found at step 6103, then the process continues to decision diamond 6108 to determine whether the cross-connect is carrying service and whether the network element is a WDM at step 610ιo. If the network element is not a WDM the process adds an error message to the return error list via line 6IO5 and proceeds to step 622 or loop 3. Note, however, that in an alternative embodiment if the ATOM module software module is included in the system 200, there is no need to invoke poll discovery, 6102, of the devices to trace a route. In such an alternative embodiment the topology may be assumed accurate and up-to-date since the ATOM module functions to autonomously track topology changes and update the appropriate databases that are a part of the system 200. The process would therefore proceed directly from step 6IO1 to step 6108 in such preferred embodiment. If the cross-connect is found and the equipment is a WDM the process proceeds to substep 610ι where the subchannel input levels are determined and saved at 6IO15. At the next substep 6102o an entry connection termination point list or entry list comprising the connection termination points and subchannels is built. Next, the trace direction with respect to each connection termination point of the entry list is determined at step 61025 as is shown in FIG. 5B-2, by checking whether each connection termination is to the Z-end or to the A-end, substeps 61027, 61029, and 6103ι, respectively. The process then proceeds to step 614 as shown in FIG. 5B-2, i.e., loop 1, to determine whether the cross-connect is already processed. This begins with a determination, as is
illustrated via decision diamond 614χ, as to whether the cross-connects are in the route cross-connect list. For any cross-connect found in the cross-connect route list the process proceeds via line 6145 to add an error message to the return error list at substep 640 and continues to loop 3. However, for each cross-connect found to be not in the cross- connect route list that cross-connect is added to the route list at substep 6148. At 614u the from and to cross-connects are determined or parsed. At 614ι3 entry and exit cross- connects are then determined. At substep 61418 the process continues by selecting an exit connection termination point to trace and save the remaining connection termination points in an entry and exit list along with a subchannel levels field. In this way the process arrives at loop 2 or step 618 (see FIG. 5B-3) where the timeslots in the connection termination points exit lists are stored or retrieved for later use. At substep 6183 the connection termination points are traversed by searching for segments. In this way, each service leg is discovered one service leg at a time. This discovery process may be performed in accordance with substeps 6187, 618n, and 61815. In particular, at 6187 a parent connection termination point is retrieved. Each time a parent is found, the validity of the line rate of the segment is determined at 618χχ. If the line rate of the segment is found invalid, the process returns to retrieve a parent connection termination at 6187 and sets a line rate segment validity flag to false. If the line rate segment is determined to be valid, that segment is traversed to the opposite end line rate connection termination point 61815 and a line rate segment validity flag is not set to false. If there are no more parents and the
line rate segment validity flag is set to false, the process proceeds to step 640 along line 610 . On the other hand, if there are no more parents, but no segments are found and the line rate segment validity flag is not set to false the process ends the current trace and updates the A or Z endpoint lists as is shown in substeps 6182o, 6182ι, and 61822- The process then continues to loop 3 or step 622. Where a line rate segment is found, as previously noted at 618i5, the segment is traversed to its opposite end line rate connection termination point. As shown in FIG. 5B-3, where a valid segment is found processing continues to either substep 61830 or substep 61833. Substep 61830 is used to find already provisioned connection termination points. Substep 61833 ends the trace for the current log. There are two conditions that allow processing to continue via substep 6I830. One condition is that a connection termination point rate is set to a predetermined value, lambda (which represents a wavelength or channel in a DWDM system) for example, and that the network element is managed by our system 200, represented as line 6I831. The other condition is that the cross- connection termination point rate is set to lambda and the equipment is a WDM or DWDM, represented as line 61832. If either of these conditions is met, then processing continues via 61830. In particular, the cross connects are discovered. If the equipment is identified as having an network element ID within the system 200 the network element cross-connections are polled at substep 6I835 (see FIG. 5B-5) . If the network element cannot be polled, then at substep 61837 associated provisioned connection termination points are searched for using the current timeslot sequence, the sub-channel level fields, and
the equivalent cross-connect rate. Once the associated segments and cross-connects are found, the process returns via line 61838 to step 614 and continues processing as described above. If no associated segments and cross-connects are found, then a determination as to whether a tunnel cross-connect is used is determined at substep 6180. In determining whether a cross-connect tunnel is used a query is made as to whether the sub-channel level fields are populated at 61842- If the sub-channel level fields are populated, then a search is made for the provisioned connection termination points at substep 61843. If the search at substep 61843 is successful, then a tunnel would have been found and the process returns to step 614 and continues processing as described above. If it is determined at substep 61842 that the sub-channel level fields are not populated, then processing continues to check the validity of the capacity at substep 61846. Similarly, if a tunnel was not found at substep 61843 processing continues to substep 6186 to check capacity validity. If the capacity validity check proves false processing continues to step 640 via line 6I850.
On the other hand, if capacity validity check proves true then processing continues to substep 61833 which ends the trace for the current log. There are two other conditions that allow entry into substep 61833: (1) the connection termination point rate is not equal to lambda and the network element type is not set to WDM or DWDM, represented by line 61448; or (2) the cross-connection termination point rate is not equal to lambda and the system is not identified as within our system database, represented by line 6145o. In ending a trace log via substep 61833, the service end point is
identified, 6I851, and the A and Z endpoint lists are updated, 6185 , with processing continuing to loop 3 or step 622 via line 61866-
At step 622 (FIG. 5B-5) the connection termination point exit list is checked and updated for each new cross connect found. In particular the following substeps are used to achieve this functionality. First, the exit connection termination point lists are checked to determine their fill status, step 622. If the connection termination point exit list is not empty, then at substep 6223 an exit connection termination point is selected from the exit list and processing returns to loop 2 or step 618. If, on the other hand, the connection termination point exist list is empty, then the fill status of the cross-connect termination entry list is determined as is indicated at substep 6225. If the cross connect termination entry list is found to be populated, the process reverses the trace direction by setting an entry connection termination point to an exit termination point, substep 6229, and returns to step 618. If the connection termination point entry list is empty, then a check is made, at substep 622χ5, for new connection termination point entry and exit lists. If a new list is found, processing returns to step 622, otherwise processing continues to step 627 where a return response is formed. In formulating a return response, current or existing errors are checked for on the return error list. If no errors are found the A and Z endpoint lists found along with the route connect lists are presented to the user as part of step 635. If errors are found then the errors, A and Z endpoint lists found, and the route connect lists are presented to the user as part of step 635.
To further elucidate our novel trace route process, we will now describe the operation of the process in an exemplary network as depicted in FIG. 5C. The exemplary network of FIG. 5C depicts two ring networks that are connected via SN2, which is an OC-12 line. The first ring is comprised of network elements NE1, NE2, NE3 and NE4. The customer has purchased OC-3 service as indicated by dotted lines 670, 671, and 672 which are, respectively, connected to NE1, NE3, and NE4. The second ring is comprised of NE5, NE6, NE7, and NE8. In order to illustrate particular aspects of our invention as described above we assume that NE6 and NE7 have not been entered into our system and therefore are not managed by our NMS 200. In this exemplary embodiment, the user selects NE1 as the endpoint network element (NE) . The user is then presented with a selection of existing provisioned connection termination points (CTPs) , which will include STS1-1 on physical termination point-1 (PTP1), which in this example, has a (CTP-identifier) CTP ID of 1-1-1 (NE-PTP-Time Slot (TS) ) . The user selects 1-1-1.
Trace route is then called with the following information:
• NE ID = 1
• CTP ID = 1-1-1
• Subchannel Levels are blank Processing then continues as is shown via the following psuedo code, wherein the steps of FIG. 5B are included at beginning of each line:
Step 610: The cross connect in NE1 is found. Step 610ι4: Not Applicable (NA) Step 61020: Add CTP 1-1-1 to the Entry CTP List
Step 61025: Set trace direction to "To Z End" since 1-1-1 is the "From CTP"
Step 614: Add NE1 CC to Route Cross Connect List Step 614u: NE1 CC has one "To CTP" - Timeslot
1 on PTP2 (CTP 1-2-1) . Since the CTP we entered NE1 on is the "From CTP", the "To CTP" will be treated as an Exit CTP. Traverse to Exit CTP 1-2- 1. Step 618: Set Current Timeslot Sequence to 1
(TS sequence on PTP2) .
Step 6183: Traverse Installed Line Rate Segment from PTP2 to PTP3.
Step 61830: Find Provisioned CTP at Current Timeslot Sequence of 1 - CTP 2-3-1. Loop to Step
614.
Step 614: Add NE2 CC to Route Cross Connect List
Step 614u: NE2 CC has one "To CTP" - Timeslot 1 on PTP4 (2-4-1) and an additional "From CTP" -
Timeslot 1 on PTP14 (2-14-1) . Traverse to Exit CTP 2-14-1, and add CTP 2-14-1 to Entry CTP List.
Step 618: Set Current Timeslot Sequence to 1 (TS sequence on PTP4) . Step 6183: Traverse Installed Line Rate Segment from PTP4 to PTP5.
Step 61830: Find Provisioned CTP at Current Timeslot Sequence of 1 - CTP 5-5-1. Loop to Step 614.
Step 614: Add NE5 CC to Route Cross Connect List
Step 614n: NE5 CC has two "To CTPs" - Timeslot 1 on PTP6 (5-6-1) and Timeslot 1 on PTP9 (5-9-1) . Choose CTP 5-6-1 as Exit CTP to traverse, and add
CTP 5-9-1 to Exit CTP List.
Step 618: Set Current Timeslot Sequence to 1 (TS sequence on PTP6) .
Step 6183: Traverse Installed Line Rate Segment from PTP6 to PTP7.
Step 61830: Find Provisioned CTP at Current Timeslot Sequence of 1 - CTP 6-7-1. Loop to Step 614.
Step 614: Add NE6 CC to Route Cross Connect List
Step 614n: NE6 CC has one "To CTP" - Timeslot
1 on PTP8 (6-8-1). Traverse to Exit CTP 6-8-1.
Step 618: Set Current Timeslot Sequence to 1 (TS sequence on PTP8) . Step 6183: No segment found
Step 61830: NA
Step 61833: NA
Step 6I820: Since the Trace Direction is "To Z End", put NE6/CTP 6-8-1 in the Z endpoint list. Step 622: Since the Exit CTP List is not empty
(it currently contains CTP 5-9-1), Loop to Step 618 using CTP 5-9-1.
Step 618: Set Current Timeslot Sequence to 1 (TS sequence on PTP9) .
Step 6183: Traverse Installed Line Rate Segment from PTP9 td PTP10.
Step 61830: Find Provisioned CTP at Current Timeslot Sequence of 1 - CTP 8-10-1. Loop to Step 614.
Step 614: Add NE8 CC to Route Cross Connect List
Step 614n: NE8 CC has one "To CTP" - Timeslot 1 on PTP11 (8-11-1). Traverse to Exit CTP 8-11-1. Step 618: Set Current Timeslot Sequence to 1
(TS sequence on PTP11) .
Step 6183: Traverse Installed Line Rate Segment from PTP11 to PTP12.
Step 61830: Find Provisioned CTP at Current Timeslot Sequence of 1 - CTP 7-12-1. Loop to Step
614.
Step 614: Add NE7 CC to Route Cross Connect List
Step 614n: NE7 CC has one "To CTP" - Timeslot 1 on PTP13 (7-13-1). Traverse to Exit CTP 7-13-1.
Step 618: Set Current Timeslot Sequence to 1 (TS sequence on PTP13) .
Step 6183: No segment found Step 61830: NA Step 6I833: NA
Step 6I820: Since the Trace Direction is "To Z End", put NE7/CTP 7-13-1 in the Z endpoint list.
Step 622: Since the Exit CTP List is empty, go on to next step.
Step 6225: Since the Entry CTP List is not empty (it currently contains CTP 1-1-1 and 2-14-1) , change Trace Direction from "To Z End" to "To A End", loop to Step 618 using CTP 1-1-1.
Step 618: Set Current Timeslot Sequence to 1
(TS sequence on PTP1) .
Step 6183: No segment found Step 61830: NA Step 61833: NA
Step 6I820: Since the Trace Direction is "To A
End", put NE1/CTP 1-1-1 in the A endpoint list.
Step 622: Since the Exit CTP List is empty, go on to next step.
Step 6225: Since the Entry CTP List is not empty (it currently contains CTP 2-14-1), loop to
Step 618 using CTP 2-14-1.
Step 618: Set Current Timeslot Sequence to 1 (TS sequence on PTP14) .
Step 6I83: Traverse Installed Line Rate Segment from PTP14 to PTP15.
Step 61830: Find Provisioned CTP at Current Timeslot Sequence of 1 - CTP 3-15-1. Loop to Step 614.
Step 614: Add NE3 CC to Route Cross Connect List
Step 614!i: NE3 CC has two "From CTPs" - Timeslot 1 on PTP16 (3-16-1) and Timeslot 1 on PTP19 (3-19-1). Traverse to Exit CTP 3-16-1. Since this is part of the Entry CTP List loop, we
need to create a new Exit CTP List and add CTP 3- 19-1 to it.
Step 618: Set Current Timeslot Sequence to 1 (TS sequence on PTP16) . Step 6183: Traverse Installed Line Rate Segment from PTP16 to PTP17.
Step 61830: Find Provisioned CTP at Current Timeslot Sequence of 1 - CTP 4-17-1. Loop to Step 614.
Step 614: Add NE4 CC to Route Cross Connect
List
Step 614ιχ: NE4 CC has one "From CTP" - Timeslot 1 on PTP18 (4-18-1) . Traverse to Exit CTP 4-18-1. Step 618: Set Current Timeslot Sequence to 1
(TS sequence on PTP18) .
Step 6183: No segment found Step 6183o: NA Step 6I833: NA
Step 6I820: Since the Trace Direction is "To A
End", put NE4/CTP 4-18-1 in the A endpoint list.
Step 622: Since the Exit CTP List is empty, go on to next step.
Step 6225: Since the Entry CTP List is empty, go on to next step.
Step 62215: Since a new Exit CTP List was created, loop to Step 622.
Step 622: Since the Exit CTP List is not empty (it currently contains CTP 3-19-1) , Loop to Step 618 using CTP 3-19-1.
Step 618: Set Current Timeslot Sequence to 1 (TS sequence on PTP19) .
Step 6183: No segment found Step 61830: NA Step 61833: N^
Step 6I820: Since the Trace Direction is "To A End", put NE3/CTP 3-19-1 in the A endpoint list.
Step 622: Since the Exit CTP List is empty, go on to the next step.
Step 6225: Since the Entry CTP List is empty, go on to next step. Step 622ι5: NA
Step 627: Return success response with the following data:
• A endpoints - NE1/CTP 1-1-1, NE4/CTP 4- 18-1, NE3/CTP 3-19-1 • Z endpoints - NE6/CTP 6-8-1 and NE7/CTP
7-13-1
• Route Cross Connect List - NE 1 CC, NE 2
CC, NE 5 CC, NE 6 CC, NE 8 CC, NE 7 CC,
NE 3 CC, NE 4 CC
As the previous example shows, the system 200 may be used to trace a circuit or service in a network. In addition, the service traced may be more complex then a simple point-to- point linear service. Furthermore, the service trace method is able to discover each leg of a service. For example, two
legs of service 670, which include the paths PTP1-PTP2-PTP3- PTP4-PTP5-PTP6-PTP7-PTP8 and PTP1-PTP2-PTP3-PTP4-PTP5-PTP9- PTP10-PTP11-PTP12-PTP13, may be traced in accordance with this aspect of the present invention. In accordance with another embodiment, the starting point (A- endpoint) and an ending point (Z-endpoint) devices may comprise network device 201 and another network device in network 206. The input information may then comprise cross- connect information device 201. The system then autonomously detects the other devices in the network by polling each such device to discover cross-connect and connection termination point information.
Autonomous Detection of Network Topology Changes In accordance with another aspect of the present invention, the system 200 may be equipped with the functionality to allow for augmentation of the network view. There are several instances that customers are currently faced with today regarding the management of their network. The system 200 has the ability to augment a stored network topology map and automatically extend services that traverse the network by intelligently recognizing service affecting events and accurately reflecting these events within the ETM network view . One such event occurs where a service has been "extended" when the network is augmented with new devices that are connected to existing portions of the network and services traverses the new devices.
Another such event occurs where a service is "rerouted." This indicates that the new route is terminated by the same devices but the path traverses through different network elements .
Another such event occurs where a service is regroomed. This indicates that the new route is terminated by the same device as the old route but different cross connects are used because the timeslots have been changed. Yet another event occurs where a service has been "rehomed." This indicates that the original device is different than the new device, and the service has not been extended. Referring to FIG. 2C the topology abstraction layer 260 is shown as including an Active Topology Object Manager (ATOM) module 264. Broadly, the ATOM module 264 ensures that the topology stored in the system 200 represents, and is consistent with, the current topology of the actual network. In particular, the ATOM module 264 periodically polls the network elements and cross-connects managed by the system 200 and reconciles any changes that may have occurred on the network. Changes may also be autonomously detected through an event manager residing in the frame manager as discussed in relation to FIG. 4. Accordingly, the ATOM module 264 facilitates detection of service modifications such as network service extensions and service rerouting, regrooming and rehoming.
In accordance with this aspect of the present invention, the ATOM module 264 will periodically poll the network elements comprising a managed network to discover the cross-connect fabric of each network element. The cross-connect fabric is then checked against the stored or known information pertaining to each polled network element. If differences are detected, the system 200 then updates the network map to indicate such differences. Topology Link Validity Checks
The network management system 200 may also be provided with the additional capability to verify a media, e.g., fiber, that connects two network elements therefore increasing the probability that the media entered is accurate. Such connecting media establishes a topology link for the network elements .
The links connecting two network elements in a transport network are not sophisticated. Accordingly, it is necessary to verify that the physical termination points (PTP) at two connected network elements is accurately tracked and reflected by the system too.
One approach to topology link validation is to identify a PTP from the neighboring network element PTP. For example, the path trace function available through the "Jl" byte in SONET, can be set to a specific value at one end of a topology link and read at the other end of the topology link. Another approach is to employ a physical test head at a location within the domain of the network managed by the system 200. The system would then design a route from the test over known links, traverse the link using the test head and looping back the test signal to see if the test signal returns to the test head.
A heuristic approach may also be used to check the validity of topology links. In this approach, the service tracing function is used to find topology links that do not have valid configuration.
As a general approach, the system 200 performs the verification by comparing the number of Connection Termination Points (CTPs) associated with each Physical Termination Point (PTP) at either end of the media connecting two network elements and noting the following two conditions:
(1) each PTP on the network elements must have the number of CTPs; and (2) each corresponding CTP must be set to the same data rate, be in the same state (active or inactive) and claim the same units. If the CTP's do not match, the system 200 warns the user that the PTP's selected may not be the correct endpoints for the Topological Link. Route Design Turning now to FIG. 6A there is shown a flow chart for route design 800 in accordance with another aspect of the present invention. In accordance with this aspect of the invention, a service is provided on the system 200 that allows a user to design an end-to-end route for a service. In particular, and as shown in FIG. 6A, the route design process begins at step 810 when a user indicates the type of service that the user wishes to design by selecting the input route parameters from a pre-determined set of input parameters. Specifically, and as shown in FIG. 6B, the user indicates whether the route will be for a line-to-line service, step 813. If the route is for a line-to-line service the user is required to select, at step 816 input parameters from the following list of parameters: Transport Type (SONET, SDH, Lambda); Rate (OCn, OC1, EC3/STS3E, EC1/STS1E, DS3, DS2, DS1C, DS1A, El, DS1, STMn, STM1, STM1E, E4, STM0, E3, Lambda); A End and Z End network elements; Direction of Service (2 way, 1 way, not specified) ; Protection Class (Normal, Protected, Preemptable) . Once these parameters are selected for the line-to-line service the process loops to sub-process C, which continues the main process or method of FIG. 6A.
Further in accordance with FIG. 6B, if the user does not choose to design a line-line-service then the user indicates whether the route is for a drop-to-drop service at step 817. If the route design will be a drop-to-drop service the user is then requested to input, in addition to the parameters requested at step 816, the A- End to Z-End ports, as is shown at step 820. As before, once the user defines or selects a service the route design process returns to C in FIG. 6A and continues on to step 830. In the event the user does not select the drop-to-drop option, the service selection process (810) continues to step 821 in FIG. 6B .
At step 821 the user is prompted to decide whether the service is for drop-to-drop with a higher line rate. If the user selects a design for a drop-to-drop with a higher line rate, then additional information is inputted at step 824. The additional information at step 824 comprises the A End to Z End timeslot identifiers. As before, once the user defines or selects a service the route design process returns to C in FIG. 6A and continues on to step 840. If the user still has not chosen a route design service to this point the user is then prompted to determine whether the user wishes to design a route which is a combination of a line to drop or drop to line route, at step 825. If a user has a specific service in mind not of the type disclosed above, then the user inputs any sequence of line-to-line and drop-to-drop parameters so as to have a line to drop or drop to line route design constructed at step 826. If the user does not wish to construct a route in accordance with the selection criteria available at step 825, then the process returns to D in FIG. 6A.
Once a service is selected as described above with reference to FIG. 6A the process continues to step 840, where segments are selected automatically to construct the route as specified by the user via a route suggestion functionality operating in accordance with an aspect of our invention. A user may also use the route suggestion feature to obtain a list of routes that are compiled for the user.
The user has the option to provide the following route search constraints prior to the instantiation of the route suggestion method:
Include Location,
Include NE,
Include Subnetwork,
Include Segment Exclude Location,
Exclude NE,
Exclude Subnetwork,
Exclude Segment
A user can also navigate and select from the list of the suggested routes as is or select a list and modify it by deleting and inserting segments manually.
A user may also select a suggested route and alter the suggested timeslot of any one of the segments manually by selecting from a list of available timeslots for each segment. If user selects a different timeslot on a segment, the timeslots of all segments in the route that belong to the same subnetwork, as the segment on which the user made the timeslot change, will automatically change to the same timeslot .
In accordance with step 840 a route or collection of routes are compiled by setting the following global properties: the maximum number of routes to be found; the initial duration of time to allow the system to find number of routes equal to the value for the maximum number of routes to be found (or at least one route), e.g., a tl threshold; and the total duration of time to allow the System to find number of routes equal to the value for the maximum number of routes to be found, e.g., a t2 threshold. With these parameters set, a Breadth First Search (BFS) is used to find the shortest route between one A end and one Z end in the cluster. Discard the route returned if it includes segments, NEs, subnetworks or locations that should be excluded. If the routes to be found are for routes with a single or multiple A-ends and single or multiple Z-ends, and a Protection Class of "Normal", "Protected" or "Preemptable" , then all available timeslots are found. If the routes to be found are for routes with multiple A ends or multiple Z ends, and a Protection Class of "Normal", "Protected" or "Preemptable", for each remaining end point (from above step) , using BFS, the shortest spur that meets up with the shortest route and all available Timeslots are found. If the Transport Routes to be found are for routes with a Protection Class of "DRI", BFS is used to search the cluster for subnetworks that are "DRIed" first, then the shortest "DRIed" route between one A end and one Z end is found. BFS is continued to find the next shortest route that spans the same DRIed subnetworks as the first one and all available Timeslots found.
If no timeslots are found, a BFS is done for the next route found.
If timeslots are found, route is validated for continuous timeslot capacity within each subnetwork across the route. If continuous capacity is not available, BFS is done for the next route found. If continuous capacity is available, the NEs on the route are validated for capabilities to support the route. If NE capabilities do not support the route, BFS is done for the next route found. If NE capabilities support the route, the route is put on a list of suggested routes and BFS is continued for the next route.
BFS is continued until the maximum number of routes to be found, specified in corporate data, is reached or the total duration of time to allow the System to find number of routes equal to the value for the maximum number of routes to be found, specified in corporate data, is reached. BFS can be stopped when the initial duration of time to allow the System to find number of routes equal to the value for the maximum number of routes to be found, specified in corporate data, is reached and there is at least one route in the list of routes or can be continued until the total duration of time to allow the System to find number of routes equal to the value for the maximum number of routes to be found, specified in corporate data is reached.
Each route in the list is scored in a manner indicative of its relative desirability compared to other routes in the list. The list is sorted from highest to lowest score. The first route on the list is then displayed. Note too that a user may manually design a route by selecting segments from the graphical view or textually specifying NE
Ids and Timeslot Ids of each segment, and adding each segment to the route under design. User selections are indicated both graphically and textually, regardless of the method of manual route design. Once the route segments are compiled and a route is designed in step 860, the process may continue to step 860 where a user can request validation of manually designed routes or routes selected from the list of suggested routes but later altered. Step 840 is an optional step which may or may not be required by certain users. When this is requested, the route is validated against disconnects, spurs and gaps. The segments of the route are also validated to provide continuous capacity within each sub-network that the route traverses. The NEs on the route are also validated for support of required route selection parameters.
Once route validation is completed the process continues to optional step 880 where a route may be reserved in accordance with another aspect of our invention we refer to as route reservation. Route reservation begins with the inputting of the expiration date for the reservation.
A reservation is then created and the route is reserved in topology. A "reservation created" notification task is created and assigned to a user id as a work item, based on the workflow settings. The system then generates a reservation expiration notification task and assigns it to the user id that created the reservation as a work item, 5 days before the expiration date. The reservation is automatically deleted on expiration date if not associated with a work order. Once a reservation is created the process continues at step 890 by updating or deleting a reservation. In addition a
reservation may be released by un-reserving the route. Releasing a reservation removes the reservation from the reserved resources (ctps) but leaves them in topology. A user can delete the reservation manually (this removes the reservation and the reserved resource. The system deletes the reservation automatically at expiration date if the reservation is not related to a work order. The reservation expiration date may also be extended. In accordance with our invention many OAMP&P benefits are realized in the network. For example, because the network topology information is current and accurate, fault location becomes substantially more accurate. In addition, turning up of new services can be done much more timely; in particular, in the context of turning up new DSL customers our invention may reduce the time between service order and service delivery by orders of magnitude. Our invention also advantageously allows network operators and providers to break from old legacy systems such as TIRKS seamlessly in a cost efficient manner over any reasonably desired time period. Furthermore, our invention provides heretofore unheard of flexibility in the operation of the network. In particular, the DCP databases no longer need to be populated or maintained by the network operator, but may be populated by a third party, including the individual equipment suppliers. These and other advantages are realized in accordance with our invention.
Although the invention herein has been described with reference to particular embodiments, it is to be understood that these embodiments are merely illustrative of the principles and applications of the present invention. It is therefore to be understood that numerous modifications may be made to the illustrative embodiments and that other arrangements
may be devised without departing from the spirit and scope of the present invention as defined by the appended claims.
The present systems and methods are applicable to software systems and processes for managing a telecommunications network and networks in general.