Network management is an essential part of any network and includes of functions, such as configuration management, performance management, fault management, security management, accounting management, and safety management (for optical networks). Configuration management relates to functions associated with managing changes in a network, such as adding or removing network connections, tracking network equipments, and managing the addition or removal of network equipment. Performance management relates to managing and monitoring network parameters used in measuring performance of the network. Performance management enables network operators to provide quality-of-service guarantees to their clients. Fault management relates to detecting failures, isolating failed components, and restoring traffic disrupted due to the failure. Security management relates to protecting data belonging to network users from being tapped or corrupted by unauthorized entities. Accounting management relates to billing and developing lifetime histories for network components. In an optical network, safety management relates to ensuring that the level of optical radiation stays within limits required for eye safety.
A method or corresponding apparatus in an example embodiment of the present invention determines availability in a network. In order to determine availability, the example embodiment calculates availability on a per demand basis for working, protection, and restoration paths among all demands in the network and reports the calculated availability.
The foregoing will be apparent from the following more particular description of example embodiments of the invention, as illustrated in the accompanying drawings in which like reference characters refer to the same parts throughout the different views. The drawings are not necessarily to scale, emphasis instead being placed upon illustrating embodiments of the present invention.
A description of example embodiments of the invention follows.
The planning tool 101 includes an availability determination module 160 that calculates availability for each service or demand for working, protection, and restoration paths among all demands in the network 120. The availability determination module 160 also reports the calculated availability 165.
The availability determination module 160 may request data 197 used in determining network availability and obtain empirical data 195 including demands, restoration, paths, interconnections, and unavailabilities from the network. The availability determination module 160 may also receive unavailability data 185 (e.g., mean time between failure) from service provider data stores or manufacturers 180. The availability determination module 160 may also receive data entered by a user 152 including information regarding availability and restoration.
The planning tool 101 may include a display module 103 that displays the calculated value of availability 165 for each service or demand to a user 151. The display module 103 may also display a bill of materials recommended for providing availability for the demands in the network and/or materials recommended to span the network being planned. The display module 103 may also or alternatively display to the user 151 suggested changes to the network such as additional equipments that need to be added. This allows the user to add additional equipment or plan the network (or modify an existing network) while ensuring that service level agreements are always satisfied.
The planning tool 101 may also employ a user interface 102 (such as a keyboard or a mouse) for connecting the user 151 to the planning tool 101.
Fault management and providing resilience against failures are useful for many networks. Protection techniques are used to ensure that networks can continue to provide reliable service. These protection techniques provide redundant capacity within a network to ensure that network traffic is rerouted in presence of failures. Protection techniques are implemented in a distributed manner without requiring coordination between the nodes.
Failures in a network can be due to failure of links, nodes, or individual channels. For example, links can fail because of a fiber cut, nodes can fail because of power outages or equipment failures, and individual channel failures can occur when a component associated with a channel (e.g., receiver) fails. Such failures directly affect availability (i.e., level of operability of network elements) of service in a network.
Services provided in a network may require a certain level of availability of service over a period of time (usually over a year) based on a service level agreement. Accordingly, an availability determination module 160 according to a non-limiting example embodiment of the present invention calculates the availability of network elements and transmission medium (e.g., optical fiber or electrical wire), compares the availability to the service level agreement, and reports the availability. The reported availability may be used in future network planning or for planning changes to an existing network. Since, the availability of a network may be improved using protection techniques, the availability determination module 160 may calculate and report an improved availability for the network by considering the availability of the protection path (not shown). In some embodiments, the availability determination module 160 takes into consideration the logic and operations of the network management components in determining whether or not demands can be satisfied and/or protection is available.
In the view of the foregoing, the following description illustrates example embodiments and features that may be incorporated into a system for determining availability in a network, where the term “system” may be interpreted as a system, subsystem, device, apparatus, method, or any combination thereof.
The system may plan changes to the network by applying heuristics for each decision to be made in finding a path across the network for each demand.
The system may calculate the availability by applying heuristics in finding a path across nodes in the network and by applying predetermined rules defined for different network topologies. The different network topologies include ring, mesh, line, or chain network topologies, or combinations of thereof. The system may apply the predetermined rules as a function of at least one of the following characteristics: network bit rate, network packet rate, network grooming, network transfer protocols, node protection, network equipment selection, network routing protocols, or characteristics of layers of an Open System Interconnection (OSI) stack.
The system may calculate the availability in the network by applying at least one threshold to at least a subset of the demands and report the availability in an event the at least one threshold is met. The system may alter a network configuration to ensure the at least one threshold is met and report a network configuration change resulting from altering the network configuration. The system may calculate the availability as a function of accessing a non-database file with representations of physical layer elements within the network. The system may access the non-database file without transferring data via a network path in the network or a different network. The physical layer elements within the network include at least one of equipment, links, nodes, demands, or paths. The system may calculate the availability by dynamically calculating availability of all shared protection or restoration paths based on number of demands sharing the protection or restoration paths. The system may calculate the availability in a network planning tool. The system may calculate the availability, for a particular demand, by assigning multiple protection or restoration paths until the availability for the particular demand meets a threshold and may further re-calculate the availability for other demands in an event availability for the particular demand meets or exceeds the threshold.
The system may report the availability by determining a bill of materials recommended to provide availability for the demands to span the network being planned and reporting the bill of materials.
As shown in
In the 1:N protection mechanism, shown in
A user 251 may employ an availability determination module 260 included in a planning tool 201 according to an example embodiment of the present invention to determine and report the availability 265 of the working 210 and protection 215 paths in the network 220 and suggest changes to the network topology to improve overall network 220 availability. The availability determination module 260 may request data 297 used in determining network availability and obtain empirical data 295 including demands, restoration, paths, interconnections, and unavailabilities from the network. The planning tool 201 may also employ a user interface 202 (such as a keyboard or a mouse) for connecting the user 251 to the planning tool 201.
U=U
1
+U
2
+U
3=5.0 minutes/year+5.0 minutes/year+5.0 minutes/year=15.0 minutes/year,
where U1, U2, and U3 denote unavailabilities of the first 310, second 315, and third 320 network elements respectively and U denotes the overall unavailability of the entire network 350.
A user 351 may employ an availability determination module 360 included in a planning tool 301 according to an example embodiment of the present invention to determine and report the availability 365 of the paths in the network 350 and suggest changes to the network topology to improve overall network 350 availability. The availability determination module 360 may request data 397 used in determining network availability and obtain empirical data 395 including demands, restoration, paths, interconnections, and unavailabilities from the network. The planning tool 301 may also employ a user interface 302 (such as a keyboard or a mouse) for connecting the user 351 to the planning tool 301.
U=U
1
×U
2
×U
3=5.0 minutes/year×5.0 minutes/year×5.0 minutes/year=1 second/1000 years,
where U1, U2, and U3 denote unavailabilities of the first 410, second 415, and third 420 network elements respectively and U denotes the overall unavailability of the entire network 450.
A user 451 may employ an availability determination module 460 included in a planning tool 401 according to an example embodiment of the present invention to determine and report the availability 465 of the paths in the network 450 and suggest changes to the network topology to improve overall network 450 availability. The availability determination module 460 may request data 497 used in determining network availability and obtain empirical data 495 including demands, restoration, paths, interconnections, and unavailabilities from the network. The planning tool 401 may also employ a user interface 402 (such as a keyboard or a mouse) for connecting the user 451 to the planning tool 401.
In order to provide an improved availability with respect to demands for traffic between the source (S) 540 and destination (D) 550 nodes, the present example embodiment 500 computes the availability of the protection path 560 and factors in the availabilities of the working paths 520, 530. Given that the working paths share a protection path 560 (through link 510), in an event a working path 520, 530 fails, the other working path 520, 530 and the protection path 560 (through link 510) both contribute to restoring traffic traveling between the source (S) 540 and destination (D) 550 nodes. For example, if the first working path 520 fails, the overall restoration unavailability with respect to demands is calculated as:
U
Restoration
=U
2
+U
3
where U2 and U3 denote unavailabilities of the second network path 530 and the protection path 560 (through link 510), respectively, and URestoration denotes the overall unavailability of restoration of traffic between the source (S) 540 and destination (D) 550 nodes.
Similarly, if the second working 530 path fails, the overall restoration unavailability with respect to demands is calculated as:
U
Restoration
=U
1
+U
3
where U1 and U3 denote unavailabilities of the second network path 530 and the protection path 560 respectively and URestoration denotes the overall unavailability of restoration of traffic between the source (S) 540 and destination (D) 550 nodes.
As illustrated in
Thus, a second failure (not shown) in a ring network (shown in
An availability determination module according to an example embodiment of the present invention may calculate and report availability data for the network configurations shown in
where dj,k denotes the demand (specifically the working path for the demand) between nodes j and k. For example, d1,2 denotes the demand from node 1 to node 2 and d2,1 denotes the demand from node 2 to node 1. The elements along the diagonal of matrix D have been left blank since they are merely indicative of a node's connection to itself.
The corresponding matrix of restoration paths RD for the demands of matrix D may be stored in a corresponding matrix as follows:
where Rd
If a new demand is being presented to the network, the example embodiment 800 determines a working path and a corresponding restoration path for the new demand 820. The example embodiment 800 also computes the unavailability of the network for the new demand and compares the computed unavailability against a threshold set by the service level agreement. The example embodiment 800 may apply heuristics for each decision made in finding a path across the network for each existing or new demand. The heuristics for each decision made in finding a path across the nodes in the network may be applied by employing predetermined rules defined for different network topologies. For instance, the example embodiment 800 may apply different heuristics for each of the possible topologies, such as ring, mesh, line, or chain networks.
The predetermined rules for finding a path across the nodes may also depend network characteristics, such as network bit rate, network packet rate, network grooming, network transfer protocols, node protection, network equipment selection, network routing protocols, or characteristics of layers of Open System Interconnection (OSI) stack.
The example embodiment 800 may modify the determined working and restoration paths for the new demand to comply with the service level agreement.
Using the working paths and the determined at least one restoration path, the example embodiment 800 tracks all demands in the network and determines the unavailabilities of the demands 830. For instance, the example embodiment 800 may develop a matrix U corresponding to D and Rd
where Ud
The example embodiment 800 may access a database or non-database file (not shown) that includes representations of physical layer elements (e.g., equipments, links, nodes, demands, or paths) to determine availabilities/unavailabilities of demands in the network. The example embodiment 800 may access this database or non-database file without having to transfer any data over the network paths.
In order to calculate the availabilities of the demands, the example embodiment 800 dynamically calculates the individual availability of a given shared protection or restoration path based on the number of demands that share the given shared or protection path. Specifically, the example embodiment 800 assigns at least one (possibly multiple) protection or restoration path to a particular demand and checks the availability against a threshold until the availability meets the threshold. The threshold can be set on a per demand basis or on a statistical basis. If the threshold is set on a statistical basis, factors such as percentage of traffic, percentage of bandwidth, etc., contribute to the statistical threshold.
The example embodiment 800 may also periodically confirm that the determined restoration paths are available 840.
The example embodiment 800 reports the availability on a per demand basis for all demands in the network 850. The reported availability may be used to plan and/or suggest changes to the network 860. The reported availability may include a bill of materials recommended for providing availability for the demands in the network and/or materials recommended to span the network being planned. The reporting may be done by setting off alarms that warn a user that the additional demand does not meet service level agreements or network wide traffic metrics. The reporting may also/alternatively indicate to the user that additional equipments need to be added. This allows the user to add additional equipment or plan the network (or modify an existing network) while ensuring that service level agreements are always satisfied.
The reporting system may report the availability/unavailability and planned or suggested changes to the network in a graphical user form, tabular form, or through an electronic input to the planning tool using input files or communication from network elements, computers, or other electronic devices.
Since the level of unprotected traffic in a network is an implicit business risk to the service provider, by quantifying and reporting the level of availability for the demands in the network, the example embodiment 800 quantifies the business risk of the network.
The example embodiment 900 employs a planning tool 901 that includes an availability determination module 960 that calculates availability for each service or demand for working, protection, and restoration paths among all demands in the network 920.
In this example embodiment 900, the network 920 is assumed to include N nodes (labeled as 1, 2, 3, . . . , N). As an example, the demands for traffic traveling betweens nodes 1 and 2 are also shown. It is understood that there are other demands (not pictures) for traffic traveling through other nodes of the network 920.
The availability determination module 960 may request data 997 used in determining network availability and obtain empirical data 995 including demands, restoration, paths, interconnections, and unavailabilities from the network. The availability determination module 960 may receive unavailability data 985 (e.g., mean time between failure) from service provider data stores or manufacturers 980. The availability determination module 960 may also receive data entered by a user 952 including information regarding availability and restoration. Based on the obtained information 995, 980, 952, the availability determination module 960 may determine the possible existing demands (i.e., node connections) in the network (shown in this non-limiting example as a demand matrix D 961). In this example, the demands for traffic traveling between nodes 1, 2 are denoted as d1,2 921 and d2,1 922. For each determined demand, the availability determination module 960 may determine all possible restoration paths (shown in this non-limiting example as a restoration matrix RD 962). For example, one possible restoration path for demand d1,2 921 may be the restoration path labeled as Rd
The availability determination module 960 reports the calculated unavailabilities of the demands in the network (shown in this non-limiting example as the unavailability matrix U 963).
The planning tool 901 displays the calculated value of availability 965 for each service or demand to a user 951. The display module 903 may also display a bill of materials recommended for providing availability for the demands in the network and/or materials recommended to span the network being planned. The display module 903 may also or alternatively display to the user 951 suggested changes to the network such as additional equipments that need to be added. This allows the user to add additional equipment or plan the network (or modify an existing network) while ensuring that service level agreements are always satisfied.
It should be understood that procedures, such as those illustrated by flow diagrams or block diagrams herein or otherwise described herein, may be implemented in the form of hardware, firmware, or software. If implemented in software, the software may be implemented in any software language consistent with the teachings herein and may be stored on any computer readable medium known or later developed in the art. The software, typically, in form of instructions, can be coded and executed by a processor in a manner understood in the art.
While this invention has been particularly shown and described with references to example embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the scope of the invention encompassed by the appended claims.