WO2005031532A2 - Method and apparatus for modeling and analyzing mpls and virtual private networks - Google Patents

Method and apparatus for modeling and analyzing mpls and virtual private networks Download PDF

Info

Publication number
WO2005031532A2
WO2005031532A2 PCT/US2004/031452 US2004031452W WO2005031532A2 WO 2005031532 A2 WO2005031532 A2 WO 2005031532A2 US 2004031452 W US2004031452 W US 2004031452W WO 2005031532 A2 WO2005031532 A2 WO 2005031532A2
Authority
WO
WIPO (PCT)
Prior art keywords
recited
object classes
network
relationships
group
Prior art date
Application number
PCT/US2004/031452
Other languages
French (fr)
Other versions
WO2005031532A9 (en
WO2005031532A3 (en
Inventor
Shai Benjamin
Patricia Florissi
William Kuhhirte
Lida He
Original Assignee
System Management Arts, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by System Management Arts, Inc. filed Critical System Management Arts, Inc.
Publication of WO2005031532A2 publication Critical patent/WO2005031532A2/en
Publication of WO2005031532A9 publication Critical patent/WO2005031532A9/en
Publication of WO2005031532A3 publication Critical patent/WO2005031532A3/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/0233Object-oriented techniques, for representation of network management data, e.g. common object request broker architecture [CORBA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/033Topology update or discovery by updating distance vector protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • H04L41/122Discovery or management of network topologies of virtualised topologies, e.g. software-defined networks [SDN] or network function virtualisation [NFV]

Definitions

  • the invention relates generally to computer networks, and more specifically to methods and apparatus for modeling and analyzing Model-Based Multi-Protocol Label Switching (MPLS) networks and Virtual Private Networks (VPNs).
  • MPLS Model-Based Multi-Protocol Label Switching
  • VPNs Virtual Private Networks
  • VPN Virtual Private Networks
  • BGP/MPLS VPNs E. Rosen and Y. Rekhter, RFC 2547, March 1999, Internet Engineering Task Force (IETF)
  • IETF Internet Engineering Task Force
  • MPLS networks are well-known in the art.
  • RFC 3031 -Multiprotocol Label Switching Architecture E. Rosen, A. Viswanathan, and R. Callon, RFC 3031 , January 2001 , Internet Engineering Task Force (IETF)
  • IETF Internet Engineering Task Force
  • MIBs Magnetic-Fetrachloride Bases
  • LSP MPLS end-to-end Label-Switched Path
  • a method and apparatus for representing a network and performing operations on the represented network comprises the steps of creating at least one configuration non-specific object class associated with components of the network, creating at least one configuration non-specific representation of relationships among associated object classes, representing a behavior relationship among the object classes based on the representations of the relationships among the object classes and analyzing properties of the network based on the behavior relationships.
  • the represented network may be an MPLS network, a VPN or a combined MPLS -VPN.
  • Figure la illustrates an exemplary conventional Virtual Private Network
  • Figure lb illustrates an exemplary conventional MPLS network
  • Figure lc illustrates the use of MPLS forwarding tables associated with the network shown in Figure lb;
  • Figure 2a illustrates an exemplary model representation of a MPLS network in accordance with the principles of the invention
  • Figure 2b illustrates an exemplary model representation of a Virtual Private
  • Figure 2c illustrates an instantiation of the model with associated network elements
  • Figure 3 a illustrates an exemplary network model overlaying a physical VPN
  • Figure 3b illustrates an exemplary behavior representation of the network shown in Figure 3a in accordance with the principles of the invention
  • Figures 4a and 4b illustrate exemplary behavior representations associated with the network shown in Figure lc, in accordance with the principles of the invention
  • Figure 5 illustrates a system for implementing the processing shown herein.
  • Figure la illustrates an exemplary representation of a virtual private network
  • PE provider edge routers
  • CE Customer Edge
  • the CE nodes 115, 165, 167 and 185 represent are components or routers located at the customer premises that are directly connected, at either a network Layer 2 or Layer 3 level (of the OSI stack) to the ingress and egress provider edge routers 110, 160 and 180.
  • a CE router or node is typically connected to only one provider edge router or node. However, as shown in this illustrative case, provider edge router 160 is connected to CE router 165 and CE router 167. Hence, CE router 185, for example, may communicate privately with CE router 165 and/or 167. The communication between the CE nodes and the PE nodes may take place using any Layer 2 or Layer 3 network protocol.
  • VPN routing and addressing structures are created for each customer in the PE and internal nodes (not shown), and designate the path assigned to the customer.
  • VPN Routing and Forwarding Tables are a well-known means for creating virtual private networks.
  • the VRFs exchange routes using, for example, Multiprotocol Border Gateway Protocol (MP-BGP).
  • MP-BGP Multiprotocol Border Gateway Protocol
  • the typical attributes of a VRF instance include a name, associated interfaces, route-distinguisher, import route-targets, export route-targets, and a routing table.
  • RouteTargets are identifiers associated with a set of routes through the network 100. The identifiers are used by the VRFs to control the importing or the exporting of routes to other VRFs.
  • Each VRF thus, can export or import routes or paths via a list of export or import RTs.
  • CE 115 for example, may communicate privately with CE 167 by the appropriate selection of VRFs in each edge router or node and the not shown internal routers or nodes.
  • a Route-Distinguisher may also be specified that provides a distinguishing characteristic for the specific route. This distinguishing characteristic is used when duplicate addresses are encountered.
  • Figure lb illustrates a conventional MPLS network in an IP network 105, which is composed of Label Edge Routers (LER) 110 and 160, which are similar to those shown in Figure la, and network internal Label Switch Routers (LSR) 120, 130, 140 and 150, which are identified as B, C, D, and E, respectively.
  • LSR network internal Label Switch Routers
  • LERs 110 and 160 are identified as A and F, respectively.
  • each router contains three ports for transmitting and/or receiving data or information items from a connected router.
  • LSR 120 is shown to receive data from LER 110 on its input port 3 and transmit data to LSR 150 via its outgoing port 2 and to LSR 140 via its outgoing port 1.
  • LSR 120 is discussed and shown with regard to a unidirectional transmission, it would be recognized that the routers and the links between routers may be configured for bi-direction transmission and reception, - - i.e., LER 120, port 2 is both an input and output port.
  • the Label Switch Routers represent the core MPLS nodes and contain forwarding tables that map the incoming label and incoming port information into an outgoing label and outgoing port.
  • the incoming port is the identifier of the network interface at which a packet arrived while the outgoing port is the identifier of the network interface through which the packet will proceed to the next node.
  • the Label Switch Routers base their forwarding decisions on the MPLS label and incoming port combination, without referring at any Layer 2 or Layer 3 through 7 header (of the OSI stack). In some cases, only the MPLS label is used in making the forwarding decision. In such cases, incoming packets arriving on different incoming ports with the same label will be treated the same.
  • the provider node Using a label swapping operation, the provider node replaces the MPLS label in the incoming packet with a new MPLS label in the outgoing packet and sends the new packet via the outgoing port.
  • the path between one node and a second node is thus created by a sequence of MPLS labels and is referred to as a Label Switched Path (LSP).
  • LSP Label Switched Path
  • the last router, i.e., Label Edge Router 160, in an LSP is a special case in that a new MPLS label need not be added to the address to forward the information.
  • LER 160 merely removes the MPLS shim and sends the resulting packet via the designated outgoing port. This functionality is well-known in the art and referred to a penultimate hop popping or PHP.
  • Figure lc illustrates, for each router shown in Figure lb, exemplary forwarding table relationships between the input port MPLS label and the outgoing port/MPLS label to use for selected destination IP addresses.
  • three services are provided and correspond to the three ranges of IP addresses shown. The services may be used by a single user or by other users.
  • information associated with the range of IP addresses 120.250.129.0/24 provided on LER 110, port 3 proceeds via LSP 170 through routers 110, 120, 150 and 160 based on routing/labeling data items contained in label binding routing table 110.1 and label forwarding tables 120.1, and 150.1.
  • the destination Label Edge Router 160 does not require a routing table in this direction to retrieve the desired destination address, as it is the last node in LSP 170. Also shown is that table 150.1 includes a "pop" label for information received on port 1, label 10. Use of a "pop" label is well-known to indicate that the node applying the "pop" label is the penultimate node and information items are forwarded to the ultimate node via the specified outgoing port.
  • Table 110.1 further illustrates the use of MPLS label stack in that labels 10 and 20 are assigned to information destined for IP addresses in the range of 120.250.0.0/16. The use of the MPLS label stack is well-known in the art and need not be discussed in detail herein.
  • FIGs 2a and 2b illustrate exemplary abstract models of an MPLS network and a VPN, to capture characteristics of the MPLS network and VPN in accordance with the principles of the invention.
  • the MPLS and VPN models are extensions of known network models 210, such as the SMARTS® InChargeTM Common Information Model (ICIM), or similarly defined or pre-existing ClM-based model.
  • SMARTS and InCharge are trademarks of System Management ARTs, Inc., having a principle place of business in White Plains, NY, USA.
  • CIM models are known to represent selected ones of the physical network components, e.g., nodes, routers, computers, disk drives, etc., and or logical network components, e.g., software, application software, ports, disk drive designation, etc., by defining object classes that are a representation of the modeled components. Those network components that are selected for representation in the model are also referred to as managed components.
  • the representation of the managed components further includes aspects or properties of the modeled component. Similarly, relationships between the managed components may also be represented and contained in the model.
  • this model defines object classes such as ProtocolEndpoint 210.1, LogicalLink 210.2 and UCS 210.3 (Unitary Computer System) that are representative of generic concepts of protocol endpoint, logical link and unitary computer systems, respectively. Further, the Protocol Endpoint 210.1 and the Logical Link 210.2 are related in each direction by a ConnectedVia/ConnectedTo relationship. [0030] In accordance with the principles of the invention with regard to modeling
  • MPLS networks as shown in Figure 2a, additional object classes are defined as:
  • LSPTermination 220 which represents incoming or outgoing labels in the MPLS forwarding table
  • LSPHop 230 which represents a uni-directional logical link between two devices or components in an MPLS network across which MPLS-labeled packets are sent
  • LSP 240 which represents a concatenation of LSPHops and represents the "label switched path" taken by labeled packets across an MPLS network.
  • representations of the MPLS labels may be defined as: LSPInSegment 220.1; and LSPOutSegment 220.2, wherein, these classes represent the incoming and outgoing labels, respectively, in the MPLS forwarding/routing table and are subclasses of the LSPTermination 220 class .
  • LSPInSegment 220.1 and LSPOutSegment 220.2 objects are related by two pairs of relationships: PreviousHop/NexfHop and SwappedFrom/SwappedTo. Relationship PreviousHop/NextHop relates two different LSPTerminations 220 that are on opposite ends of an LSPHop and have the same label attribute.
  • Relationship object class SwappedFrom/SwappedTo relates an LSPInSegment object class, representing an incoming label, with an associated LSPOutSegment object class, representing the outgoing label. These labels are swapped for or changed to on the same device or component.
  • Base model UCS object class 210.2 represents generic computer systems, such as nodes, servers or routers. UCS 210.2 hosts LSPTermination points and is related to LSPs via the ConnectedPE relationship that defines a LER or LSR, i.e., router, unitary computer system. The base model further defines the relationship ConnectedSystems/ConnectedVia between objects classes UCS and LogicalLink.
  • the ICIM defines object classes such as
  • ServiceConnection 250.1, NetworkService 250.2, and LogicalNetwork 250.3 that are representative of generic concepts of service connections, network services, and logical networks, respectively.
  • RouteTarget 260.1 is selected as a type of service connection
  • VRF 260.2 is designated as a type of network service
  • VPN 260.3 is designated as a type of logical network.
  • VRFs 260.2 which may be expressed in the object classes referred to as ImportedBy/Imports and ExportedBy/Exports. Similarly, the relationship between VRFs
  • VPN 260.2 and the VPN 260.3 may be expressed in the object classes HubsOf/Hubs and SpokesOf/Spokes.
  • Figure 2c illustrates instances of object classes and their relationships with regard to the model representing the network. More specifically, and referring to Figure lc, node 110, identified as "A" is connect to interface 280, which, in this case, is associated with outgoing port 2. Interface 280 is connected via a medium, e.g., electrical, optical, wireless, etc., to a network connection 285 between nodes 110 and 120, identified as "B.” Network connection 285, similarly may be a medium such as electrical, optical, wireless, etc. Network connection 285 is further connected, via medium 287 to interface 289 and subsequently to port 3 of node 120.
  • a medium e.g., electrical, optical, wireless, etc.
  • Model representation of components may be "layered-over" corresponding components in the physical network, as represented by dotted lines 290.
  • the model includes connector 270, which is representative of interface 280, and is shown to possess a ConnectedVia 272 relationship to logical link 275.
  • Link 275 is representative of network connection 285 and has a ConnectedVia 277 relationship to connector 279, which is representative of interface 289.
  • the information to populate or determine instances of the object classes, i.e., representation of components, and the relationship between components, i.e., representation of component relationships, of the models defined herein may be pre-loaded or predetermined or may be determined dynamically by importation, discovery or provided by one or more the sources of such information, e.g., Simple Network Management Protocol (SNMP) MIBs, MPLS-LSR-ME3, MPLS forwarding tables, MPLS-VPN-MEB.
  • SNMP Simple Network Management Protocol
  • Figures 3a and 3b illustrate an exemplary network and an example of a behavior relationship in accordance with the principles of the invention.
  • Figure 3 a illustrates exemplary network 300 containing Edge nodes A, 310, B, 320 and C, 330.
  • VPN-1, 370 and VPN-2, 380 represent instances in object class 260.3 that are representative of the two private networks shown. Further, object classes Customer 1, 330 and Customer 2, 340 are related to VPN-1 and VPN-2 respectively. Also, shown are VRF1, 310.1 and VRF5, 310.2, which are hosted by node 310, VRF2, 330.1, which is hosted by node 330 and VRF3, 320.1 and VRF4, 320.2, which are hosted by node 320. VRF1-VRF5 represent instances of object class 260.2 ( Figure 2b).
  • VRF1, 310.1, VRF2, 330.1 and VRF3, 320.1 are associated with VPN-1, 370 and VRF4, 320.2 and VRF5, 310.2 are associated with VPN-2, 380.
  • VPNs may be utilized based on factors such as communication link or node fault, performance, cost, etc.
  • the user or customer may select an alternate VPN to accommodate a detected failure in one communication path, or based on the type of data transmitted, e.g., high-speed or low- speed, or cost of transmission, e.g., day/night rates, or organizational, e.g.
  • Figure 3b illustrates an exemplary behavior relationship of the network(s) shown in Figure 3 a, with regard to nodes and service provided.
  • a problem or event that occurs in nodes A, 310, or B, 320 causes service to customers 1, 330 and 2, 340 to be impacted, whereas a problem in node C, 330 impacts the service to customer 1, 330 but has no impact on the service provided to customer 2, 340.
  • properties of the nodes as represented by object classes are propagated through the relationships among the object to create a behavior relationship.
  • a failure in a node has an adverse or negative impact on associated nodes and, thus, node failure may be propagated through associated objects and elevated to the higher levels within the model representation.
  • the exemplary behavior relationship is discussed with regard to a node failure, it would be recognized that similar behavior relationships may be determined with regard to causality, performance, cost, etc.
  • Figures 4a and 4b illustrates similar exemplary network behavior relationships with regard to the network shown in Figure lc, in accordance with the principles of the invention.
  • Figure 4a illustrates the behavior relations with regard to a failure in nodes or communication paths and the Label Switched Paths (LSPs).
  • LSPs Label Switched Paths
  • LSP A-Ft associated with IP addresses 120,250,129,0/24
  • LSPs A-D and D-F associated with IP addresses 120,250,0,0/16 and LSP A-F 2; associated with IP addresses, 120,250,128,0/24.
  • a fifth LSP referred to as LSP A-F 3
  • LSP A-F 3 may be identified as being an LSP "layered-over" LSPs A-D and D-F and represents the concatenation of LSPs A-D and D-F.
  • the three IP address ranges may be associated with a service provided by the network and are hereinafter referred to as service 1, service 2, and service 3, respectively.
  • the behavior relationship of the identified LSPs and the nodes A through F and the communication paths between these nodes may be determined as that LSP affected by an event in a node or path.
  • the behavior relationship illustrates may show the effect on an LSP when a failure, occurs in a related node or path.
  • operations in, for example, node C effects the operations of LSPs D-F, A-F 2 and A-F 3 .
  • an operation in communication path C-D affects the same LSPs.
  • Figure 4b illustrates a similar exemplary behavior relationship of the network shown in Figure lc between the identified LSPs and the services provided.
  • an operation or event in LSP D-F effects the operation in service 2 but not in services 1 or 3.
  • an impact analysis on the customer or service may be performed with regard to a failure, for example, in either the nodes or communications paths shown in Figure lc.
  • a failure in node C has a negative behavior response in LSPs D-F, A-F2 and A-F3 ( Figure 4a) and consequently in services 1 and 2 ( Figure 4b).
  • an analysis may be performed to locate the cause of a failure, i.e., root-cause analysis. Root cause analysis is further discussed with regard to U.S. Patent Nos. 6,249,755, 5,661,668 and 5,528,516, which are incorporated by reference herein. Examples of problems in a root-cause analysis that may be identified in an MPLS VPN network by using the combined models described are tabulated in Table 1.
  • Table 1 Examples of Root-Cause Problems in an MPLS VPN
  • FIG. 5 illustrates an exemplary embodiment of an apparatus or system 500 that may be used for implementing the principles of the present invention.
  • System 500 may contain one or more input/output devices 502, processors 503 and memories 504.
  • I/O devices 502 may access or receive information from one or more sources or devices 501.
  • Sources or devices 501 may be devices such as routers, servers, computers, notebook computer, PDAs, cells phones or other devices suitable for transmitting and receiving information responsive to the processes shown herein.
  • Devices 501 may have access over one or more network connections 550 via, for example, a wireless wide area network, a wireless metropolitan area network, a wireless local area network, a terrestrial broadcast system (Radio, TV), a satellite network, a cell phone or a wireless telephone network, or similar wired networks, such as POTS, INTERNET, LAN, WAN and/or private networks, e.g., INTRANET, as well as portions or combinations of these and other types of networks.
  • Input/output devices 502, processors 503 and memories 504 may communicate over a communication medium 525.
  • Communication medium 525 may represent, for example, a bus, a communication network, one or more internal connections of a circuit, circuit card or other apparatus, as well as portions and combinations of these and other communication media.
  • Input data from the devices 501 may be processed in accordance with one or more computer programs or software that may be stored in memories 504 and executed by processors 503.
  • Memories 504 may be any magnetic, optical or semiconductor medium that is loadable and retains information either permanently, e.g. PROM, or non-permanently, e.g., RAM.
  • Processors 503 may be any means, such as general purpose or special purpose computing system, such as a laptop computer, desktop computer, a server, handheld computer, or may be a hardware configuration, such as dedicated logic circuit, or integrated circuit. Processors 503 may also be Programmable Array Logic (PAL), or Application Specific Integrated Circuit (ASIC), etc., which may be "programmed” to include software instructions or code that provides a known output in response to known inputs. In one aspect, hardware circuitry may be used in place of, or in combination with, software instructions to implement the invention. The elements illustrated herein may also be implemented as discrete hardware elements that are operable to perform the operations shown using coded logical operations or by executing hardware executable code.
  • PAL Programmable Array Logic
  • ASIC Application Specific Integrated Circuit
  • the processes shown herein may be represented by computer readable code stored on a computer readable medium.
  • the code may also be stored in the memory 504.
  • the code may be read or downloaded from a memory medium 583, an I/O device 585 or magnetic or optical media, such as a floppy disk, a CD-ROM or a DVD, 587 and then stored in memory 504.
  • the term computer or computer system may represent one or more processing units in communication with one or more memory units and other devices, e.g., peripherals, connected electronically to and communicating with the at least one processing unit.
  • the devices may be electronically connected to the one or more processing units via internal busses, e.g., ISA bus, microchannel bus, PCI bus, PCMCIA bus, etc., or one or more internal connections of a circuit, circuit card or other device, as well as portions and combinations of these and other communication media or an external network, e.g., the Internet and Intranet.
  • internal busses e.g., ISA bus, microchannel bus, PCI bus, PCMCIA bus, etc.

Abstract

A method and apparatus for representing a network (100) and performing operations on the represented network (100) are disclosed. The method comprises the steps of creating at least one configuration non-specific object class (210 -240) associated with components of the network (100), creating at least one configuration non-specific representation of relationships among associated object classes (220 -240), representing a behavior relationship (figure 4a) among the object classes (210-240) based on the representations of the relationships among the object classes (210-240) and analyzing properties of the network (100) based on the behavior relationships (figure 4a). In aspects of the invention, the represented network may be an MPLS network, a VPN or a combined MPLS-VPN.

Description

METHOD AND APPARATUS FOR MODELING AND ANALYZING MPLS AND VIRTUAL PRIVATE NETWORKS Claim of Priority
[0001] This application claims the benefit, pursuant to 35 USC § 119(e), of the earlier filing date of U.S. Provisional Patent Application Serial No. 60/505,802, entitled "Model- Based Discovery of Multi-Protocol Label Switching Virtual Private Networks, filed on September 25, 2003, the contents of which are incorporated by reference herein.
Related Applications
[0002] This application is related to concurrently-filed: U.S. Patent Application Serial Number , entitled "Model-Based
Method and Apparatus for Determining Virtual Private Network Topologies;" and
[0003] U.S. Patent Application Serial Number , entitled "Model-Based
Method and Apparatus for Determining MPLS Network Properties," the contents of both of which are incorporated by reference herein.
Field of the Invention
[0004] The invention relates generally to computer networks, and more specifically to methods and apparatus for modeling and analyzing Model-Based Multi-Protocol Label Switching (MPLS) networks and Virtual Private Networks (VPNs).
Background Of The Invention
[0005] The concepts, terms, and acronyms of Virtual Private Networks (VPN) are well-known in the art. For example, the memorandum entitled BGP/MPLS VPNs, E. Rosen and Y. Rekhter, RFC 2547, March 1999, Internet Engineering Task Force (IETF), is an example of the literature regarding VPNs. Similarly, the concepts, terms, and acronyms of MPLS networks are well-known in the art. For example, the memorandum entitled RFC 3031 -Multiprotocol Label Switching Architecture, E. Rosen, A. Viswanathan, and R. Callon, RFC 3031 , January 2001 , Internet Engineering Task Force (IETF), is an example of the literature regarding MPLS networks.
[0006 ] However, the ability to analyze MPLS networks and VPNs has been limited by the network models that have been employed. For example, one model uses a Common Information Model (CIM) that defined objects and relationships, (see Common Information Model: Implementing the Object Model for Enterprise Management, Bumpus, etal, John Wiley & Sons, December 1999, ISBN: B00007FY8X). This model is limited by the predefined and standard objects and relationships defined in the Common Information Model (CIM). For example, one cannot easily capture the relationship between a VPN Routing and Forwarding Table (VRF) and a Route Target (RT).
[0007] In a second model, the definition of MPLS and VPN Management Information
Bases (MIBs) are established. (See, for example, SNMP, SNMPv2. SNMPv3, and RMON 1 and 2 (3rd Edition, William Stallings, Addison-Wesley Pub Co, December 1998, pages 71- 162, ISBN: 0201485346}. However, MIBs typically do not capture relationships between objects. For example the MPLS end-to-end Label-Switched Path (LSP) is difficult to represent explicitly in a MIB.
[0008] The lack of a systematic model specifically suited for the MPLS and VPN object classes and their relationships limits several forms of important analysis. Hence there is a need in the industry for a method and system that overcomes known deficiencies in analyzing MPLS networks and Virtual Private Networks.
Summary Of The Invention
[0009] A method and apparatus for representing a network and performing operations on the represented network are disclosed. The method comprises the steps of creating at least one configuration non-specific object class associated with components of the network, creating at least one configuration non-specific representation of relationships among associated object classes, representing a behavior relationship among the object classes based on the representations of the relationships among the object classes and analyzing properties of the network based on the behavior relationships. In aspects of the invention, the represented network may be an MPLS network, a VPN or a combined MPLS -VPN.
Detailed Description of the Figures
[0010] Figure la illustrates an exemplary conventional Virtual Private Network;
[0011] Figure lb illustrates an exemplary conventional MPLS network;
[0012] Figure lc illustrates the use of MPLS forwarding tables associated with the network shown in Figure lb;
[0013] Figure 2a illustrates an exemplary model representation of a MPLS network in accordance with the principles of the invention;
[0014] Figure 2b illustrates an exemplary model representation of a Virtual Private
Network in accordance with the principles of the invention;
[0015] Figure 2c illustrates an instantiation of the model with associated network elements;
[0016] Figure 3 a illustrates an exemplary network model overlaying a physical VPN;
[0017] Figure 3b illustrates an exemplary behavior representation of the network shown in Figure 3a in accordance with the principles of the invention;
[0018] Figures 4a and 4b illustrate exemplary behavior representations associated with the network shown in Figure lc, in accordance with the principles of the invention;
[0019] Figure 5 illustrates a system for implementing the processing shown herein.
[0020] It is to be understood that these drawings are solely for purposes of illustrating the concepts of the invention and are not intended as a definition of the limits of the invention. The embodiments shown in the figures herein and described in the accompanying detailed description are to be used as illustrative embodiments and should not be construed as the only manner of practicing the invention. Also, the same reference numerals, possibly supplemented with reference characters where appropriate, have been used to identify similar elements.
Detailed Description [0021] Figure la illustrates an exemplary representation of a virtual private network
100 composed of components, referred to as provider edge routers (PE), 110, 160 and 180 that represent the means for providing information items to, and receiving information items from, network 100. Also shown are Customer Edge (CE) nodes or routers 115, 165, 167 and 185, which are in communication with corresponding provider edge nodes 110, 160 and 180. The CE nodes 115, 165, 167 and 185 represent are components or routers located at the customer premises that are directly connected, at either a network Layer 2 or Layer 3 level (of the OSI stack) to the ingress and egress provider edge routers 110, 160 and 180. Internal routers, which are not shown, are responsible for converting the packet or frame structure from the one used to communicate with CE routers 115, 165, 167, and 185 to the packet or frame structure used internally by an associated private network. [0022] A CE router or node is typically connected to only one provider edge router or node. However, as shown in this illustrative case, provider edge router 160 is connected to CE router 165 and CE router 167. Hence, CE router 185, for example, may communicate privately with CE router 165 and/or 167. The communication between the CE nodes and the PE nodes may take place using any Layer 2 or Layer 3 network protocol. [0023] VPN routing and addressing structures are created for each customer in the PE and internal nodes (not shown), and designate the path assigned to the customer. VPN Routing and Forwarding Tables (VRFs) are a well-known means for creating virtual private networks. The VRFs exchange routes using, for example, Multiprotocol Border Gateway Protocol (MP-BGP). The typical attributes of a VRF instance include a name, associated interfaces, route-distinguisher, import route-targets, export route-targets, and a routing table. RouteTargets (RTs) are identifiers associated with a set of routes through the network 100. The identifiers are used by the VRFs to control the importing or the exporting of routes to other VRFs. Each VRF, thus, can export or import routes or paths via a list of export or import RTs. In this illustrative case, CE 115 for example, may communicate privately with CE 167 by the appropriate selection of VRFs in each edge router or node and the not shown internal routers or nodes. In one aspect of the invention, a Route-Distinguisher may also be specified that provides a distinguishing characteristic for the specific route. This distinguishing characteristic is used when duplicate addresses are encountered. [0024] Figure lb illustrates a conventional MPLS network in an IP network 105, which is composed of Label Edge Routers (LER) 110 and 160, which are similar to those shown in Figure la, and network internal Label Switch Routers (LSR) 120, 130, 140 and 150, which are identified as B, C, D, and E, respectively. LERs 110 and 160 are identified as A and F, respectively. As is also shown, each router contains three ports for transmitting and/or receiving data or information items from a connected router. For example, LSR 120 is shown to receive data from LER 110 on its input port 3 and transmit data to LSR 150 via its outgoing port 2 and to LSR 140 via its outgoing port 1. Although LSR 120 is discussed and shown with regard to a unidirectional transmission, it would be recognized that the routers and the links between routers may be configured for bi-direction transmission and reception, - - i.e., LER 120, port 2 is both an input and output port.
[0025] The Label Switch Routers, in this case, 120-150, represent the core MPLS nodes and contain forwarding tables that map the incoming label and incoming port information into an outgoing label and outgoing port. The incoming port is the identifier of the network interface at which a packet arrived while the outgoing port is the identifier of the network interface through which the packet will proceed to the next node. The Label Switch Routers base their forwarding decisions on the MPLS label and incoming port combination, without referring at any Layer 2 or Layer 3 through 7 header (of the OSI stack). In some cases, only the MPLS label is used in making the forwarding decision. In such cases, incoming packets arriving on different incoming ports with the same label will be treated the same. Using a label swapping operation, the provider node replaces the MPLS label in the incoming packet with a new MPLS label in the outgoing packet and sends the new packet via the outgoing port. The path between one node and a second node is thus created by a sequence of MPLS labels and is referred to as a Label Switched Path (LSP). [0026] The last router, i.e., Label Edge Router 160, in an LSP is a special case in that a new MPLS label need not be added to the address to forward the information. Thus, LER 160 merely removes the MPLS shim and sends the resulting packet via the designated outgoing port. This functionality is well-known in the art and referred to a penultimate hop popping or PHP.
[0027] Figure lc illustrates, for each router shown in Figure lb, exemplary forwarding table relationships between the input port MPLS label and the outgoing port/MPLS label to use for selected destination IP addresses. In this illustrated case, three services are provided and correspond to the three ranges of IP addresses shown. The services may be used by a single user or by other users. Thus, information associated with the range of IP addresses 120.250.129.0/24 provided on LER 110, port 3 proceeds via LSP 170 through routers 110, 120, 150 and 160 based on routing/labeling data items contained in label binding routing table 110.1 and label forwarding tables 120.1, and 150.1. The destination Label Edge Router 160 does not require a routing table in this direction to retrieve the desired destination address, as it is the last node in LSP 170. Also shown is that table 150.1 includes a "pop" label for information received on port 1, label 10. Use of a "pop" label is well-known to indicate that the node applying the "pop" label is the penultimate node and information items are forwarded to the ultimate node via the specified outgoing port. Table 110.1 further illustrates the use of MPLS label stack in that labels 10 and 20 are assigned to information destined for IP addresses in the range of 120.250.0.0/16. The use of the MPLS label stack is well-known in the art and need not be discussed in detail herein.
[0028] Figures 2a and 2b illustrate exemplary abstract models of an MPLS network and a VPN, to capture characteristics of the MPLS network and VPN in accordance with the principles of the invention. The MPLS and VPN models are extensions of known network models 210, such as the SMARTS® InCharge™ Common Information Model (ICIM), or similarly defined or pre-existing ClM-based model. SMARTS and InCharge are trademarks of System Management ARTs, Inc., having a principle place of business in White Plains, NY, USA. CIM models are known to represent selected ones of the physical network components, e.g., nodes, routers, computers, disk drives, etc., and or logical network components, e.g., software, application software, ports, disk drive designation, etc., by defining object classes that are a representation of the modeled components. Those network components that are selected for representation in the model are also referred to as managed components. The representation of the managed components further includes aspects or properties of the modeled component. Similarly, relationships between the managed components may also be represented and contained in the model.
[0029] With regard to the ICIM shown in Figure 2a, this model defines object classes such as ProtocolEndpoint 210.1, LogicalLink 210.2 and UCS 210.3 (Unitary Computer System) that are representative of generic concepts of protocol endpoint, logical link and unitary computer systems, respectively. Further, the Protocol Endpoint 210.1 and the Logical Link 210.2 are related in each direction by a ConnectedVia/ConnectedTo relationship. [0030] In accordance with the principles of the invention with regard to modeling
MPLS networks, as shown in Figure 2a, additional object classes are defined as:
LSPTermination 220, which represents incoming or outgoing labels in the MPLS forwarding table; LSPHop 230, which represents a uni-directional logical link between two devices or components in an MPLS network across which MPLS-labeled packets are sent; and LSP 240, which represents a concatenation of LSPHops and represents the "label switched path" taken by labeled packets across an MPLS network.
[0031] In addition, representations of the MPLS labels may be defined as: LSPInSegment 220.1; and LSPOutSegment 220.2, wherein, these classes represent the incoming and outgoing labels, respectively, in the MPLS forwarding/routing table and are subclasses of the LSPTermination 220 class . [0032] The LSPInSegment 220.1 and LSPOutSegment 220.2 objects are related by two pairs of relationships: PreviousHop/NexfHop and SwappedFrom/SwappedTo. Relationship PreviousHop/NextHop relates two different LSPTerminations 220 that are on opposite ends of an LSPHop and have the same label attribute. Relationship object class SwappedFrom/SwappedTo relates an LSPInSegment object class, representing an incoming label, with an associated LSPOutSegment object class, representing the outgoing label. These labels are swapped for or changed to on the same device or component. [0033] Base model UCS object class 210.2 represents generic computer systems, such as nodes, servers or routers. UCS 210.2 hosts LSPTermination points and is related to LSPs via the ConnectedPE relationship that defines a LER or LSR, i.e., router, unitary computer system. The base model further defines the relationship ConnectedSystems/ConnectedVia between objects classes UCS and LogicalLink.
[0034] Referring now to Figure 2b, the ICIM defines object classes such as
ServiceConnection 250.1, NetworkService 250.2, and LogicalNetwork 250.3 that are representative of generic concepts of service connections, network services, and logical networks, respectively.
[0035] In accordance with the principles of the invention with regard to modeling
VPN networks, as shown in Figure 2b, additional object classes are defined as: RouteTarget 260.1 is selected as a type of service connection; VRF 260.2 is designated as a type of network service; and VPN 260.3 is designated as a type of logical network. [0036] The VPN model 260 further illustrates the relationship between RouteTarget
260.1 and VRFs 260.2 which may be expressed in the object classes referred to as ImportedBy/Imports and ExportedBy/Exports. Similarly, the relationship between VRFs
260.2 and the VPN 260.3 may be expressed in the object classes HubsOf/Hubs and SpokesOf/Spokes.
[0037] Figure 2c illustrates instances of object classes and their relationships with regard to the model representing the network. More specifically, and referring to Figure lc, node 110, identified as "A" is connect to interface 280, which, in this case, is associated with outgoing port 2. Interface 280 is connected via a medium, e.g., electrical, optical, wireless, etc., to a network connection 285 between nodes 110 and 120, identified as "B." Network connection 285, similarly may be a medium such as electrical, optical, wireless, etc. Network connection 285 is further connected, via medium 287 to interface 289 and subsequently to port 3 of node 120.
[0038] Model representation of components may be "layered-over" corresponding components in the physical network, as represented by dotted lines 290. In the example shown, the model includes connector 270, which is representative of interface 280, and is shown to possess a ConnectedVia 272 relationship to logical link 275. Link 275 is representative of network connection 285 and has a ConnectedVia 277 relationship to connector 279, which is representative of interface 289.
[0039] It would be recognized by those skilled in the art that the information to populate or determine instances of the object classes, i.e., representation of components, and the relationship between components, i.e., representation of component relationships, of the models defined herein may be pre-loaded or predetermined or may be determined dynamically by importation, discovery or provided by one or more the sources of such information, e.g., Simple Network Management Protocol (SNMP) MIBs, MPLS-LSR-ME3, MPLS forwarding tables, MPLS-VPN-MEB. Similarly, manual commands such as Command Line Interface (CLI) at network devices, Show commands that retrieve and display information regarding forwarding-table, VRFs, BGP and MBGP sessions, may be used to provide information to populate the object classes shown in Figures 2a and 2b. Each of these sources of information are representative of communications that may occur dynamically over the physical network that the model overlays, i.e., layered over, and should not be considered the only methods to dynamically populate the object classes shown. [0040] Figures 3a and 3b illustrate an exemplary network and an example of a behavior relationship in accordance with the principles of the invention. Figure 3 a illustrates exemplary network 300 containing Edge nodes A, 310, B, 320 and C, 330. Two private networks are shown in that route 350 illustrates a private communication path for one user and route 360 illustrates a private communication path for a second user. [0041] Virtual Private Networks VPN-1, 370 and VPN-2, 380 represent instances in object class 260.3 that are representative of the two private networks shown. Further, object classes Customer 1, 330 and Customer 2, 340 are related to VPN-1 and VPN-2 respectively. Also, shown are VRF1, 310.1 and VRF5, 310.2, which are hosted by node 310, VRF2, 330.1, which is hosted by node 330 and VRF3, 320.1 and VRF4, 320.2, which are hosted by node 320. VRF1-VRF5 represent instances of object class 260.2 (Figure 2b). In this illustrative example, VRF1, 310.1, VRF2, 330.1 and VRF3, 320.1 are associated with VPN-1, 370 and VRF4, 320.2 and VRF5, 310.2 are associated with VPN-2, 380. [0042] Although only a single VPN is shown associated with each user, it would be recognized that each user may be associated with multiple VPNs. Multiple VPNs may be utilized based on factors such as communication link or node fault, performance, cost, etc. Thus, the user or customer may select an alternate VPN to accommodate a detected failure in one communication path, or based on the type of data transmitted, e.g., high-speed or low- speed, or cost of transmission, e.g., day/night rates, or organizational, e.g. one VPN for traffic associated with one business unit and another VPN for traffic associated with a different business unit, etc. Selection of an alternate VPN may be determined in view of results of one or more analysis operations that may be performed, as will be more fully discussed. [0043] Figure 3b illustrates an exemplary behavior relationship of the network(s) shown in Figure 3 a, with regard to nodes and service provided. In this exemplary behavior relationship a problem or event that occurs in nodes A, 310, or B, 320 causes service to customers 1, 330 and 2, 340 to be impacted, whereas a problem in node C, 330 impacts the service to customer 1, 330 but has no impact on the service provided to customer 2, 340. In this case, properties of the nodes as represented by object classes are propagated through the relationships among the object to create a behavior relationship. For example, a failure in a node has an adverse or negative impact on associated nodes and, thus, node failure may be propagated through associated objects and elevated to the higher levels within the model representation. Although the exemplary behavior relationship is discussed with regard to a node failure, it would be recognized that similar behavior relationships may be determined with regard to causality, performance, cost, etc.
[0044] Figures 4a and 4b illustrates similar exemplary network behavior relationships with regard to the network shown in Figure lc, in accordance with the principles of the invention. Figure 4a illustrates the behavior relations with regard to a failure in nodes or communication paths and the Label Switched Paths (LSPs). In this illustrative case, it may be determined that four LSPs exist between node 110, i.e., A, and node 160, i.e., F. The four LSPs are represented as LSP A-Ft, associated with IP addresses 120,250,129,0/24, LSPs A-D and D-F, associated with IP addresses 120,250,0,0/16 and LSP A-F2; associated with IP addresses, 120,250,128,0/24. Tn addition, a fifth LSP, referred to as LSP A-F3 , may be identified as being an LSP "layered-over" LSPs A-D and D-F and represents the concatenation of LSPs A-D and D-F. The three IP address ranges, as previously discussed, may be associated with a service provided by the network and are hereinafter referred to as service 1, service 2, and service 3, respectively. [0045] Returning to Figure 4a, the behavior relationship of the identified LSPs and the nodes A through F and the communication paths between these nodes may be determined as that LSP affected by an event in a node or path. The behavior relationship illustrates may show the effect on an LSP when a failure, occurs in a related node or path. Thus, in this illustrative example, operations in, for example, node C effects the operations of LSPs D-F, A-F2 and A-F3. Similarly, an operation in communication path C-D affects the same LSPs. [0040] Figure 4b illustrates a similar exemplary behavior relationship of the network shown in Figure lc between the identified LSPs and the services provided. In this case an operation or event in LSP D-F, for example, effects the operation in service 2 but not in services 1 or 3. [0046] Utilizing the information shown in Figures 4a and 4b, an impact analysis on the customer or service may be performed with regard to a failure, for example, in either the nodes or communications paths shown in Figure lc. For example, a failure in node C has a negative behavior response in LSPs D-F, A-F2 and A-F3 (Figure 4a) and consequently in services 1 and 2 (Figure 4b). [0047] In a similar manner, an analysis may be performed to locate the cause of a failure, i.e., root-cause analysis. Root cause analysis is further discussed with regard to U.S. Patent Nos. 6,249,755, 5,661,668 and 5,528,516, which are incorporated by reference herein. Examples of problems in a root-cause analysis that may be identified in an MPLS VPN network by using the combined models described are tabulated in Table 1.
Figure imgf000012_0001
Figure imgf000013_0001
Table 1: Examples of Root-Cause Problems in an MPLS VPN
[0048] Although the present invention has been shown and described with regard to an impact and root-cause analysis, other forms of analysis may also be performed with regard to the networks represented. These forms of analysis may include, but are not limited to, design, simulation, operations management, event propagation, impact analysis, root-cause analysis of problems, "what if" scenarios, projections and others. Similarly, while the analysis has been shown with regard to MPLS networks and VPNs, the MPLS and VPN models shown herein can be used individually or in combination to determine behavior relationships and perform analysis. [0049] Figure 5 illustrates an exemplary embodiment of an apparatus or system 500 that may be used for implementing the principles of the present invention. System 500 may contain one or more input/output devices 502, processors 503 and memories 504. I/O devices 502 may access or receive information from one or more sources or devices 501. Sources or devices 501 may be devices such as routers, servers, computers, notebook computer, PDAs, cells phones or other devices suitable for transmitting and receiving information responsive to the processes shown herein. Devices 501 may have access over one or more network connections 550 via, for example, a wireless wide area network, a wireless metropolitan area network, a wireless local area network, a terrestrial broadcast system (Radio, TV), a satellite network, a cell phone or a wireless telephone network, or similar wired networks, such as POTS, INTERNET, LAN, WAN and/or private networks, e.g., INTRANET, as well as portions or combinations of these and other types of networks. [0050] Input/output devices 502, processors 503 and memories 504 may communicate over a communication medium 525. Communication medium 525 may represent, for example, a bus, a communication network, one or more internal connections of a circuit, circuit card or other apparatus, as well as portions and combinations of these and other communication media. Input data from the devices 501 may be processed in accordance with one or more computer programs or software that may be stored in memories 504 and executed by processors 503. Memories 504 may be any magnetic, optical or semiconductor medium that is loadable and retains information either permanently, e.g. PROM, or non-permanently, e.g., RAM. Processors 503 may be any means, such as general purpose or special purpose computing system, such as a laptop computer, desktop computer, a server, handheld computer, or may be a hardware configuration, such as dedicated logic circuit, or integrated circuit. Processors 503 may also be Programmable Array Logic (PAL), or Application Specific Integrated Circuit (ASIC), etc., which may be "programmed" to include software instructions or code that provides a known output in response to known inputs. In one aspect, hardware circuitry may be used in place of, or in combination with, software instructions to implement the invention. The elements illustrated herein may also be implemented as discrete hardware elements that are operable to perform the operations shown using coded logical operations or by executing hardware executable code. [0051] In a one aspect, the processes shown herein may be represented by computer readable code stored on a computer readable medium. The code may also be stored in the memory 504. The code may be read or downloaded from a memory medium 583, an I/O device 585 or magnetic or optical media, such as a floppy disk, a CD-ROM or a DVD, 587 and then stored in memory 504.
[0052] Information from device 501 received by I O device 502, after processing in accordance with one or more software programs operable to perform the functions illustrated herein, may also be transmitted over network 580 to one or more output devices represented as display 585, reporting device 590 or second processing system 595. [0053] As one skilled in the art would recognize, the term computer or computer system may represent one or more processing units in communication with one or more memory units and other devices, e.g., peripherals, connected electronically to and communicating with the at least one processing unit. Furthermore, the devices may be electronically connected to the one or more processing units via internal busses, e.g., ISA bus, microchannel bus, PCI bus, PCMCIA bus, etc., or one or more internal connections of a circuit, circuit card or other device, as well as portions and combinations of these and other communication media or an external network, e.g., the Internet and Intranet. [0054] While there has been shown, described, and pointed out fundamental novel features of the present invention as applied to preferred embodiments thereof, it will be understood that various omissions and substitutions and changes in the apparatus described, in the form and details of the devices disclosed, and in their operation, may be made by those skilled in the art without departing from the spirit of the present invention. It is expressly intended that all combinations of those elements that perform substantially the same function in substantially the same way to achieve the same results are within the scope of the invention. Substitutions of elements from one described embodiment to another are also fully intended and contemplated.

Claims

Claims What is claimed is:
1. A method for representing a network and performing operations on the represented network, the method comprising the steps of: creating at least one configuration non-specific object class associated with components of the network; and creating at least one configuration non-specific representation of relationships among associated object classes.
2. The method as recited in claim 1, further comprising the step of: representing a behavior relationship among the object classes based on the representations of the relationships among the object classes.
3. The method as recited in claim 1, further comprising the step of: analyzing properties of the network based on the behavior relationship.
4. The method as recited in claim 1, further comprising the step of: dynamically determining instances of selected ones of the object classes from information provided with regard to the network components.
5. The method as recited in claim 4, wherein said instances of selected ones of object classes are predetermined.
6. The method as recited in claim 1, further comprising the step of: dynamically determining instances of selected ones of the representations of relationships from information provided with regard to the network components.
7. The method as recited in claim 6, wherein said instances of selected ones of the representations of relationships are predetermined.
8. The method as recited in claim 2 wherein the step of representing the behavior relationship comprises the step of: propagating a property of an object class through at least one associated representation of a relationship among associated object classes.
9. The method as recited in claim 8, wherein the behavior relationship indicates an effect of an event in said network on at least one associated object class.
10. The method as recited in claim 8 wherein the behavior relationship is selected from the group consisting of: impact, causality, performance, cost.
11. The method as recited in claim 9, wherein the event is associated with an occurrence in at least one of said network components.
12. The method as recited in claim 3, wherein the step of analysis is selected from the group consisting of: impact, root-cause, exception detection, provisioning, configuration, study, performance, costing, capacity planning, design, "what if scenarios, planning and simulation.
13. The method as recited in claim 12, further comprising the step of: storing the results of the selected analysis.
14. The method as recited in claim 12, further comprising the step of: displaying the results of the selected analysis.
15. The method as recited in claim 1, where the object classes are selected from the group consisting of: LSPTermination, LSPHop, LSP, LSPOutSegment, LSPInSegment.
16. The method as recited in claim 15, wherein the relationships among the object classes are selected from the group consisting of: PreviousHop/NextHop, SwitchedFrom/SwitchedTo, PreviousHop, FirstHop, NextHop, ConnectedPE.
17. The method as recited in claim 1, where the object classes are selected from the group consisting of: RouteTarget, VRF, and VPN.
18. The method as recited in claim 17, wherein the relationships among the object classes are selected from the group consisting of: ImportedBy/Imports, ExportedBy/Exports, VPNPeer, HubsOf, SpokesOf, and SendsTo/ReceivesFrom.
19. An apparatus for representing a network and performing operations on the represented network, the apparatus comprising a processor in communication with a memory, the processor executing code for: storing at least one configuration non-specific object class associated with components of the network; and storing at least one configuration non-specific representation of relationships among associated object classes.
20. The apparatus as recited in claim 19, the processor further executing code for: representing a behavior relationship among the object classes in view of the representations of the relationships among the object classes.
21. The apparatus as recited in claim 19, the processor further executing code for: analyzing properties of the network based on the behavior relationships.
22. The apparatus as recited in claim 19, the processor further executing code for: dynamically determining instances of selected ones of the object classes from information provided with regard to the network components.
23. The apparatus as recited in claim 22, wherein said instances of selected ones of object classes are predetermined.
24. The apparatus as recited in claim 19, the processor further executing code for: dynamically determining instances of selected ones of the representations of relationships from information provided with regard to the network components.
25. The apparatus as recited in claim 24, wherein said instances of selected ones of the representations of relationships are predetermined.
26. The apparatus as recited in claim 20, the processor further executing code for: propagating a property of an object class through at least one associated representation of a relationship among associated object classes.
27. The apparatus as recited in claim 26, wherein the behavior relationship indicates an effect of an event in said network on at least one associated object class.
28. The apparatus as recited in claim 26 wherein the behavior relationship is selected from the group consisting of: impact, causality, performance, cost.
29. The apparatus as recited in claim 27, wherein the event is associated with an occurrence in at least one of said network components.
30. The apparatus as recited in claim 21, the processor further executing code for: performing an analysis selected from the group consisting of: impact, root-cause, exception detection, provisioning, configuration, study, performance, costing, capacity planning, design, "what if scenarios, planning and simulation.
31. The apparatus as recited in claim 21, the processor further executing code for: storing the results of the selected analysis.
32. The apparatus as recited in claim 21, the processor further executing code for: displaying the results of the selected analysis.
33. The apparatus as recited in claim 19, where the object classes are selected from the group consisting of: LSPTermination, LSPHop, LSP, LSPOutSegment, LSPInSegment.
34. The apparatus as recited in claim 33, wherein the relationships among the object classes are selected from the group consisting of: PreviousHop/NextHop, SwitchedFrom SwitchedTo, PreviousHop, FirstHop, NextHop, ConnectedPE.
35. The apparatus as recited in claim 19, where the object classes are selected from the group consisting of: RouteTarget, VRF, and VPN.
36. The method as recited in claim 35, wherein the relationships among the object classes are selected from the group consisting of: ImportedBy/Imports, ExportedBy/Exports, VPNPeer, HubsOf, SpokesOf, and SendsTo/ReceivesFrom.
37. The apparatus as recited in claim 19, further comprising: an I/O device in communication with the processor and the memory.
38. The apparatus as recited in claim 19, wherein the code is stored in the memory.
39. A computer-readable medium containing code thereon for representing a network and performing operations on the represented network, the code providing instructions to a computer system for executing the steps of: storing at least one configuration non-specific object class associated with components of the network; and storing a least one configuration non-specific representation of relationships among associated object classes.
40. The computer-readable medium as recited in claim 39, wherein the code further providing instructions to a computing system for executing the step of: representing a behavior relationship among the object classes based on the representations of the relationships among the object classes.
41. The computer-readable medium as recited in claim 39, wherein the code further providing instructions to a computing system for executing the step of: analyzing properties of the network based on the behavior relationships.
42. The computer-readable medium as recited in claim 39, wherein the code further providing instructions to a computing system for executing the step of: dynamically determining instances of selected ones of the object classes from information provided with regard to the network components.
43. The computer-readable medium as recited in claim 42, wherein said instances of selected ones of object classes are predetermined.
44. The computer-readable medium as recited in claim 39, the processor further executing code for: dynamically determining instances of selected ones of the representations of relationships from information provided with regard to the network components.
45. The computer-readable medium as recited in claim 44, wherein said instances of selected ones of the representations of relationships are predetermined.
46. The computer-readable medium as recited in claim 40, wherein the code further providing instructions to a computing system for executing the step of: propagating a property of an object class through at least one associated representation of a relationship among associated object classes.
47. The computer-readable medium as recited in claim 46, wherein the behavior relationship indicates an effect of an event in said network on at least one associated object class.
48. The computer-readable medium as recited in claim 46 wherein the behavior relationship is selected from the group consisting of: impact, causality, performance, cost.
49. The computer-readable medium as recited in claim 47, wherein the event is associated with an occurrence in at least one of said network components.
50. The computer-readable medium as recited in claim 41, wherein the code further providing instructions to a computing system for executing the step of: performing an analysis selected from the group consisting of: impact, root-cause, exception detection, provisioning, configuration, study, performance, costing, capacity planning, design, "what if scenarios, planning and simulation.
51. The computer-readable medium as recited in claim 50, wherein the code further providing instructions to a computing system for executing the step of: storing the results of the selected analysis.
52. The computer-readable medium as recited in claim 50, wherein the code further providing instructions to a computing system for executing the step of: displaying the results of the selected analysis.
53. The computer-readable medium as recited in claim 39, where the object classes are selected from the group consisting of: LSPTermination, LSPHop, LSP, LSPOutSegment, LSPInSegment.
54. The computer-readable medium as recited in claim 53, wherein the relationships among the object classes are selected from the group consisting of: PreviousHop NextHop, SwitchedFrom/SwitchedTo, PreviousHop, FirstHop, NextHop, ConnectedPE.
55. The computer-readable medium as recited in claim 39, where the object classes are selected from the group consisting of:. RouteTarget, VRF, and VPN.
56. The computer-readable medium as recited in claim 55, wherein the relationships among the object classes are selected from the group consisting of: ImportedBy/Imports, ExportedBy/Exports, VPNPeer, HubsOf, SpokesOf, and SendsTo/ReceivesFrom.
57. A method for representing a network and performing operations on the represented network, the method comprising the steps of: creating at least one configuration non-specific object class associated with components of the network; creating at least one configuration non-specific representation of relationships among associated object classes; representing a behavior relationship among the object classes based on the representations of the relationships among the object classes; and analyzing properties of the network based on the behavior relationships.
58. The method as recited in claim 57, wherein the object classes are selected from the group consisting of: LSPTermination, LSPHop, LSP, LSPOutSegment, LSPInSegment, ImportedBy/Imports, ExportedBy/Exports, VPNPeer, HubsOf, SpokesOf, and SendsTo/ReceivesFrom.
59. The method as recited in claim 57, wherein the relationships among the object classes are selected from the group consisting of: PreviousHop/NextHop, SwitchedFrom/SwitchedTo, FirstHop, ConnectedPE, ImportedBy/Imports, ExportedByExports, VPNPeer, HubsOf, SpokesOf, and SendsTo/ReceivesFrom.
60. The method as recited in claim 57, further comprising the step of: determining instances of the object classes and the representation of relationships among associated object classes, wherein the determination of instances is dynamic or static.
61. The method as recited in claim 57, wherein the step of analysis is selected from the group consisting of: impact, root-cause, exception detection, provisioning, configuration, study, performance, costing, capacity planning, design, "what if scenarios, and simulation.
PCT/US2004/031452 2003-09-25 2004-09-24 Method and apparatus for modeling and analyzing mpls and virtual private networks WO2005031532A2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US50580203P 2003-09-25 2003-09-25
US60/505,802 2003-09-25

Publications (3)

Publication Number Publication Date
WO2005031532A2 true WO2005031532A2 (en) 2005-04-07
WO2005031532A9 WO2005031532A9 (en) 2005-06-16
WO2005031532A3 WO2005031532A3 (en) 2009-04-16

Family

ID=34393072

Family Applications (3)

Application Number Title Priority Date Filing Date
PCT/US2004/031463 WO2005031533A2 (en) 2003-09-25 2004-09-24 Model-based method and apparatus for determining mpls network properties
PCT/US2004/031355 WO2005031527A2 (en) 2003-09-25 2004-09-24 Model-based method and apparatus for determining virtual private network topologies
PCT/US2004/031452 WO2005031532A2 (en) 2003-09-25 2004-09-24 Method and apparatus for modeling and analyzing mpls and virtual private networks

Family Applications Before (2)

Application Number Title Priority Date Filing Date
PCT/US2004/031463 WO2005031533A2 (en) 2003-09-25 2004-09-24 Model-based method and apparatus for determining mpls network properties
PCT/US2004/031355 WO2005031527A2 (en) 2003-09-25 2004-09-24 Model-based method and apparatus for determining virtual private network topologies

Country Status (2)

Country Link
US (2) US7441023B2 (en)
WO (3) WO2005031533A2 (en)

Families Citing this family (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7774500B1 (en) * 2004-07-01 2010-08-10 At&T Intellectual Property Ii, L.P. Method and apparatus for flexible network management of multiple customer virtual private networks
US7623535B2 (en) * 2004-09-09 2009-11-24 Cisco Technology, Inc. Routing protocol support for half duplex virtual routing and forwarding instance
US8369329B2 (en) * 2005-05-16 2013-02-05 Rockstar Consortium Us Lp Dynamic hierarchical address resource management architecture, method and apparatus
US7792045B1 (en) * 2005-08-25 2010-09-07 Emc Corporation Method and apparatus for configuration and analysis of internal network routing protocols
US20070061732A1 (en) * 2005-09-12 2007-03-15 Bobbin Nathan V User interface options of an impact analysis tool
US7493570B2 (en) 2005-09-12 2009-02-17 International Business Machines Corporation User interface options of a data lineage tool
US7694239B2 (en) * 2006-01-23 2010-04-06 International Business Machines Corporation Selection and deselection of objects at multiple levels of a hierarchy
US7903585B2 (en) * 2006-02-15 2011-03-08 Cisco Technology, Inc. Topology discovery of a private network
EP1830523A1 (en) * 2006-03-02 2007-09-05 BRITISH TELECOMMUNICATIONS public limited company Multi-protocol label switching
CN100394747C (en) * 2006-06-08 2008-06-11 上海交通大学 Radio virtual special net router
JP4995589B2 (en) * 2007-02-14 2012-08-08 株式会社日立製作所 Information processing system
US7930161B1 (en) * 2007-03-21 2011-04-19 Emc Corporation Method and apparatus for horizontal and vertical modeled representation and analysis of distributed systems
US8203965B1 (en) * 2007-03-29 2012-06-19 Emc Corporation Layered approach for representing and analyzing virtual private network services
US10673952B1 (en) 2014-11-10 2020-06-02 Turbonomic, Inc. Systems, apparatus, and methods for managing computer workload availability and performance
USRE48680E1 (en) 2009-06-26 2021-08-10 Turbonomic, Inc. Managing resources in container systems
US9888067B1 (en) 2014-11-10 2018-02-06 Turbonomic, Inc. Managing resources in container systems
US9858123B1 (en) 2014-11-10 2018-01-02 Turbonomic, Inc. Moving resource consumers in computer systems
USRE48663E1 (en) 2009-06-26 2021-07-27 Turbonomic, Inc. Moving resource consumers in computer systems
US11272013B1 (en) 2009-06-26 2022-03-08 Turbonomic, Inc. Systems, apparatus, and methods for managing computer workload availability and performance
US9805345B1 (en) 2014-11-10 2017-10-31 Turbonomic, Inc. Systems, apparatus, and methods for managing quality of service agreements
US9852011B1 (en) 2009-06-26 2017-12-26 Turbonomic, Inc. Managing resources in virtualization systems
US10346775B1 (en) 2015-11-16 2019-07-09 Turbonomic, Inc. Systems, apparatus and methods for cost and performance-based movement of applications and workloads in a multiple-provider system
US8914511B1 (en) 2009-06-26 2014-12-16 VMTurbo, Inc. Managing resources in virtualization systems
US10552586B1 (en) 2015-11-16 2020-02-04 Turbonomic, Inc. Systems, apparatus and methods for management of computer-based software licenses
US10191778B1 (en) 2015-11-16 2019-01-29 Turbonomic, Inc. Systems, apparatus and methods for management of software containers
US9830566B1 (en) 2014-11-10 2017-11-28 Turbonomic, Inc. Managing resources in computer systems using action permits
USRE48714E1 (en) 2009-06-26 2021-08-31 Turbonomic, Inc. Managing application performance in virtualization systems
US9830192B1 (en) 2014-11-10 2017-11-28 Turbonomic, Inc. Managing application performance in virtualization systems
US8868797B1 (en) 2012-03-30 2014-10-21 Emc Corporation Techniques for automated discovery of storage devices and their performance characteristics
US8838931B1 (en) 2012-03-30 2014-09-16 Emc Corporation Techniques for automated discovery and performing storage optimizations on a component external to a data storage system
US10311019B1 (en) * 2011-12-21 2019-06-04 EMC IP Holding Company LLC Distributed architecture model and management
US8825919B1 (en) 2011-12-22 2014-09-02 Emc Corporation Path performance data collection
US9197522B1 (en) 2012-03-21 2015-11-24 Emc Corporation Native storage data collection using multiple data collection plug-ins installed in a component separate from data sources of one or more storage area networks
US8812542B1 (en) 2012-03-30 2014-08-19 Emc Corporation On-the-fly determining of alert relationships in a distributed system
US8856257B1 (en) 2012-06-29 2014-10-07 Emc Corporation Sending alerts from cloud computing systems
US10528262B1 (en) 2012-07-26 2020-01-07 EMC IP Holding Company LLC Replication-based federation of scalable data across multiple sites
US8972405B1 (en) 2012-07-26 2015-03-03 Emc Corporation Storage resource management information modeling in a cloud processing environment
US8832498B1 (en) 2012-07-30 2014-09-09 Emc Corporation Scalable codebook correlation for cloud scale topology
US20140078888A1 (en) * 2012-09-14 2014-03-20 Tellabs Operations Inc. Procedure, apparatus, system, and computer program for designing a virtual private network
US9202304B1 (en) 2012-09-28 2015-12-01 Emc Corporation Path performance mini-charts
US9602356B1 (en) 2012-09-28 2017-03-21 EMC IP Holding Company LLC Groups based performance data collection
US10904144B2 (en) 2012-12-27 2021-01-26 Sitting Man, Llc Methods, systems, and computer program products for associating a name with a network path
US10587505B1 (en) 2012-12-27 2020-03-10 Sitting Man, Llc Routing methods, systems, and computer program products
US10419334B1 (en) 2012-12-27 2019-09-17 Sitting Man, Llc Internet protocol routing methods, systems, and computer program products
US10411997B1 (en) 2012-12-27 2019-09-10 Sitting Man, Llc Routing methods, systems, and computer program products for using a region scoped node identifier
US10476787B1 (en) 2012-12-27 2019-11-12 Sitting Man, Llc Routing methods, systems, and computer program products
US10397101B1 (en) 2012-12-27 2019-08-27 Sitting Man, Llc Routing methods, systems, and computer program products for mapping identifiers
US10419335B1 (en) 2012-12-27 2019-09-17 Sitting Man, Llc Region scope-specific outside-scope indentifier-equipped routing methods, systems, and computer program products
US10411998B1 (en) 2012-12-27 2019-09-10 Sitting Man, Llc Node scope-specific outside-scope identifier-equipped routing methods, systems, and computer program products
US10374938B1 (en) 2012-12-27 2019-08-06 Sitting Man, Llc Routing methods, systems, and computer program products
US10447575B1 (en) 2012-12-27 2019-10-15 Sitting Man, Llc Routing methods, systems, and computer program products
US10404583B1 (en) 2012-12-27 2019-09-03 Sitting Man, Llc Routing methods, systems, and computer program products using multiple outside-scope identifiers
US10397100B1 (en) 2012-12-27 2019-08-27 Sitting Man, Llc Routing methods, systems, and computer program products using a region scoped outside-scope identifier
US10212076B1 (en) 2012-12-27 2019-02-19 Sitting Man, Llc Routing methods, systems, and computer program products for mapping a node-scope specific identifier
US10404582B1 (en) 2012-12-27 2019-09-03 Sitting Man, Llc Routing methods, systems, and computer program products using an outside-scope indentifier
US9736046B1 (en) 2013-05-30 2017-08-15 EMC IP Holding Company LLC Path analytics using codebook correlation
US10165093B2 (en) * 2015-08-31 2018-12-25 Cisco Technology, Inc. Generating segment routing conduit in service provider network for routing packets
CN107634884B (en) * 2017-08-28 2020-12-04 深信服科技股份有限公司 Cloud networking behavior management system and method based on virtual private dial-up network
US11012418B2 (en) * 2018-02-15 2021-05-18 Forcepoint Llc Multi-access interface for internet protocol security

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6223220B1 (en) * 1997-04-15 2001-04-24 British Telecommunications Public Limited Company Design of computer networks
US20020186664A1 (en) * 2001-06-01 2002-12-12 Fujitsu Network Communications, Inc. System and method for topology constrained QoS provisioning

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5528516A (en) * 1994-05-25 1996-06-18 System Management Arts, Inc. Apparatus and method for event correlation and problem reporting
US6374303B1 (en) 1997-11-17 2002-04-16 Lucent Technologies, Inc. Explicit route and multicast tree setup using label distribution
US6874022B1 (en) * 1999-03-12 2005-03-29 Cisco Technology, Inc. Method and system for modeling behavior of elements in a telecommunications system
JP3501735B2 (en) * 2000-07-10 2004-03-02 キヤノン株式会社 Image forming device
US6990518B1 (en) 2001-03-22 2006-01-24 Agilent Technologies, Inc. Object-driven network management system enabling dynamically definable management behavior
US7450505B2 (en) * 2001-06-01 2008-11-11 Fujitsu Limited System and method for topology constrained routing policy provisioning
US20030137971A1 (en) * 2002-01-22 2003-07-24 Mark Gibson Telecommunications system and method
US7116665B2 (en) * 2002-06-04 2006-10-03 Fortinet, Inc. Methods and systems for a distributed provider edge
US7340519B1 (en) * 2003-03-05 2008-03-04 At&T Corp. Reducing configuration errors for managed services in computer networks
US7848259B2 (en) * 2003-08-01 2010-12-07 Opnet Technologies, Inc. Systems and methods for inferring services on a network

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6223220B1 (en) * 1997-04-15 2001-04-24 British Telecommunications Public Limited Company Design of computer networks
US20020186664A1 (en) * 2001-06-01 2002-12-12 Fujitsu Network Communications, Inc. System and method for topology constrained QoS provisioning

Also Published As

Publication number Publication date
WO2005031532A9 (en) 2005-06-16
US20050071681A1 (en) 2005-03-31
WO2005031527A2 (en) 2005-04-07
US7441023B2 (en) 2008-10-21
WO2005031532A3 (en) 2009-04-16
WO2005031527A3 (en) 2008-07-17
US20050071130A1 (en) 2005-03-31
US7783778B2 (en) 2010-08-24
WO2005031533A3 (en) 2006-03-23
WO2005031533A2 (en) 2005-04-07

Similar Documents

Publication Publication Date Title
US7441023B2 (en) Method and apparatus for modeling and analyzing MPLS and virtual private networks
De Ghein MPLS fundamentals
Greenberg et al. A clean slate 4D approach to network control and management
US8055770B2 (en) Method and apparatus for providing network virtualization
US7593352B2 (en) Discovering MPLS VPN services in a network
US7720003B2 (en) Model-based method and apparatus for determining MPLS network properties
US7796593B1 (en) Router using internal flood groups for flooding VPLS traffic
US9450779B2 (en) Edge link discovery
US8203965B1 (en) Layered approach for representing and analyzing virtual private network services
US20150188770A1 (en) Systems and methods for performing network service insertion
US20140233423A1 (en) PROVISIONING SINGLE OR MULTISTAGE NETWORKS USING ETHERNET SERVICE INSTANCES (ESIs)
US20100027549A1 (en) Method and apparatus for providing virtual private network identifier
US20080181219A1 (en) Detecting and identifying connectivity in a network
US7742477B1 (en) Interconnectivity between autonomous systems
Wilkins Designing for Cisco Internetwork Solutions (DESIGN) Foundation Learing Guide
Kenyon High Performance Data Network Design: Design Techniques and Tools
Teare Designing for Cisco Internetwork Solutions (DESGN)(Authorized CCDA Self-Study Guide)(Exam 640-863)
Cisco Cisco IOS Switching Services Configuration Guide Cisco IOS Release 11.3
Cisco Configuration Guide Master Index Cisco IOS Release 11.3
Cisco Advanced Cisco Router Configuration: Student Guide Cisco Internetwork Operating System Release 11.2
Cisco Cisco IOS AppleTalk and Novell IPX Configuration Guide Release 12.2
Cisco Cisco IOS Bridging and IBM Networking Command Reference Volume 1 of 2 Release 12.2
EP3817341A1 (en) Bulk configuration of devices behind a network address translation device
Cisco Advanced Cisco Router Configuration: Student Guide Cisco Internetwork Operating System Release 11.0
Cisco Cisco IOS Switching Services Configuration Guide Release 12.1

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
COP Corrected version of pamphlet

Free format text: PAGES 1/9-9/9, DRAWINGS, REPLACED BY NEW PAGES 1/9-9/9

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase