A computer-based system is configured for aggregating multiple router configurations into a single router configuration, enabling transfer of functionality from routers configured according to the respective router configurations to a single router having the single router configuration. The system includes a configuration determination resource configured for determining the router configurations from the multiple routers, and a device analyzer resource configured for determining for each router configuration a corresponding candidate configuration to be utilized in the single router configuration. Any conflict detected between the router configuration and the corresponding candidate configuration is managed by a conflict resolution resource, which determines the availability of a resolved configuration in the single router configuration to replace the corresponding router configuration. An router configuration aggregation resource is configured for generating the single router configuration based on the determined candidate configurations and resolved configurations.
|
1. A method in an executable system configured for accessing routers according to Internet Protocol (IP), the method comprising:
determining, for each of an identified group of routers, a corresponding group of router configurations used for providing a corresponding group of router operations, each router including physical subscriber link interfaces and a physical trunk link interface;
determining, for each router configuration, whether a corresponding candidate configuration is available for use by an aggregate router, having an aggregate router physical trunk link interface and aggregate router physical subscriber link interfaces, and that configures the aggregate router for aggregating the router operations, the physical subscriber link interfaces, and the physical trunk link interfaces for the identified group of routers;
detecting whether a conflict exists between one of the router configurations and the corresponding candidate configuration;
selectively determining an availability of a resolved configuration that resolves the conflict for the one router configuration, enabling execution of the corresponding router operation by the aggregate router; and
generating a single router configuration, for use by the aggregate router in aggregating the router operations of the identified group of routers, based on the determined candidate configurations and the resolved configurations, the single router configuration aggregating the physical trunk link interfaces of the identified group of routers into the aggregate router physical trunk link interface and aggregating the physical subscriber link interfaces of the identified group of routers into the aggregate router physical subscriber link interfaces.
31. An executable system configured for accessing routers according to Internet Protocol (IP), the system comprising:
means for determining, for each of an identified group of routers, a corresponding group of router configurations used for providing a corresponding group of router operations, each router including physical subscriber link interfaces and a physical trunk link interface;
means for determining, for each router configuration, whether a corresponding candidate configuration is available for use by an aggregate router, having an aggregate router physical trunk link interface and aggregate router physical subscriber link interfaces, and that configures the aggregate router for aggregating the router operations, the physical subscriber link interfaces, and the physical trunk link interfaces for the identified group of routers;
means for detecting whether a conflict exists between one of the router configurations and the corresponding candidate configuration;
means for selectively determining an availability of a resolved configuration that resolves the conflict for the one router configuration, enabling execution of the corresponding router operation by the aggregate router; and
means for generating a single router configuration, for use by the aggregate router in aggregating the router operations of the identified group of routers, based on the determined candidate configurations and the resolved configurations, the single router configuration aggregating the physical trunk link interfaces of the identified group of routers into the aggregate router physical trunk link interface and aggregating the physical subscriber link interfaces of the identified group of routers into the aggregate router physical subscriber link interfaces.
21. A computer readable medium having stored thereon sequences of instructions for generating a single router configuration for an aggregate router, the sequences of instructions including instructions for performing the steps of:
determining, for each of an identified group of routers, a corresponding group of router configurations used for providing a corresponding group of router operations, each router including physical subscriber link interfaces and a physical trunk link interface;
determining, for each router configuration, whether a corresponding candidate configuration is available for use by an aggregate router, having an aggregate router physical trunk link interface and aggregate router physical subscriber link interfaces, and that configures the aggregate router for aggregating the router operations, the physical subscriber link interfaces, and the physical trunk link interfaces for the identified group of routers;
detecting whether a conflict exists between one of the router configurations and the corresponding candidate configuration;
selectively determining an availability of a resolved configuration that resolves the conflict for the one router configuration, enabling execution of the corresponding router operation by the aggregate router; and
generating a single router configuration, for use by the aggregate router in aggregating the router operations of the identified group of routers, based on the determined candidate configurations and the resolved configurations, the single router configuration aggregating the physical trunk link interfaces of the identified group of routers into the aggregate router physical trunk link interface and aggregating the physical subscriber link interfaces of the identified group of routers into the aggregate router physical subscriber link interfaces.
11. An executable system configured for accessing routers according to Internet Protocol (IP), the system comprising:
a router configuration parser configured for determining, for each of an identified group of routers, a corresponding group of router configurations used for providing a corresponding group of router operations, each router including physical subscriber link interfaces and a physical trunk link interface;
a device analyzer configured for determining, for each router configuration, whether a corresponding candidate configuration is available for use by an aggregate router, having an aggregate router physical trunk link interface and aggregate router physical subscriber link interfaces, and that configures the aggregate router for aggregating the router operations, the physical subscriber link interfaces, and the physical trunk link interfaces for the identified group of routers, the device analyzer configured for detecting whether a conflict exists between one of the router configurations and the corresponding candidate configuration;
a conflict resolution resource configured for selectively determining an availability of a resolved configuration that resolves the conflict for the one router configuration, enabling execution of the corresponding router operation by the aggregate router; and
an aggregation resource configured for generating a single router configuration, for use by the aggregate router in aggregating the router operations of the identified group of routers, based on the determined candidate configurations and the resolved configurations, the single router configuration aggregating the physical trunk link interfaces of the identified group of routers into the aggregate router physical trunk link interface and aggregating the physical subscriber link interfaces of the identified group of routers into the aggregate router physical subscriber link interfaces.
2. The method of
discovering the identified group of routers based on execution of a network discovery resource; and
accessing the group of router configurations from each corresponding identified router.
3. The method of
4. The method of
parsing the router configurations for the corresponding group; and
generating, for each router configuration of the corresponding group, a first extensible markup language (XML) document that specifies a corresponding set of interface attributes as key value pairs for each router associated router configuration parameter based on a determined configuration hierarchy within the router configuration; and
storing the first XML document for said each router configuration in a local database.
5. The method of
accessing, from a rule file configured for storing XML-based rule documents that correlate prescribed router configurations associated with the identified group of routers with available router configurations for the aggregate router, at least one of the XML-based rule documents based on parsing the XML document generated for the corresponding determined router configuration; and
determining the candidate configuration based on the at least one XML-based rule document.
6. The method of
identifying whether the at least one XML-based rule document includes a tag rule that specifies that one of the router associated router configuration parameters identified by the corresponding first XML document is not supported by the aggregate router; and
identifying whether one of the router associated router configuration parameters has a value that conflicts with a corresponding value for use in the single router configuration.
7. The method of
if the one router associated router configuration parameter is not supported by the aggregate router, determining whether an alternative configuration for the corresponding router operation is available for use by the aggregate router;
if no alternative configuration is available, prompting a user for the resolved configuration.
8. The method of
9. The method of
10. The method of
aggregating the determined candidate configurations and any resolved configurations for the identified group of routers into an aggregated configuration for the respective aggregated router operations, according to the determined configuration hierarchy; and
generating the single router configuration, including access to the aggregated configuration, as an executable resource for execution by the aggregate router.
12. The system of
13. The system of
14. The system of
parsing the router configurations for the corresponding group;
generating, for each router configuration of the corresponding group, a first extensible markup language (XML) document that specifies a corresponding set of interface attributes as key value pairs for each router associated router configuration parameter based on a determined configuration hierarchy within the router configuration; and
storing the first XML document for said each router configuration in a local database.
15. The system of
a rule file configured for storing XML-based rule documents that correlate prescribed router configurations associated with the identified group of routers with available router configurations for the aggregate router;
the device analyzer configured for accessing at least one of the XML-based rule documents from the rule file based on parsing the XML document generated for the corresponding determined router configuration;
the device analyzer configured for determining the candidate configuration based on the at least one XML-based rule document.
16. The system of
identifying whether the at least one XML-based rule document includes a tag rule that specifies that one of the router associated router configuration parameters identified by the corresponding first XML document is not supported by the aggregate router; and
identifying whether one of the router associated router configuration parameters has a value that conflicts with a corresponding value for use in the single router configuration.
17. The system of
if the one router associated router configuration parameter is not supported by the aggregate router, determining whether an alternative configuration for the corresponding router operation is available for use by the aggregate router;
if no alternative configuration is available, prompting a user for the resolved configuration.
18. The system of
19. The system of
20. The system of
a configuration aggregation resource configured for aggregating the determined candidate configurations and any resolved configurations for the identified group of routers into an aggregated configuration for the respective aggregated router operations, according to the determined configuration hierarchy; and
a configuration generator configured for generating the single router configuration, including access to the aggregated configuration, as an executable resource for execution by the aggregate router.
22. The medium of
discovering the identified group of routers based on execution of a network discovery resource; and
accessing the group of router configurations from each corresponding identified router.
23. The medium of
24. The medium of
parsing the router configurations for the corresponding group; and
generating, for each router configuration of the corresponding group, a first extensible markup language (XML) document that specifies a corresponding set of interface attributes as key value pairs for each router associated router configuration parameter based on a determined configuration hierarchy within the router configuration; and
storing the first XML document for said each router configuration in a local database.
25. The medium of
accessing, from a rule file configured for storing XML-based rule documents that correlate prescribed router configurations associated with the identified group of routers with available router configurations for the aggregate router, at least one of the XML-based rule documents based on parsing the XML document generated for the corresponding determined router configuration; and
determining the candidate configuration based on the at least one XML-based rule document.
26. The medium of
identifying whether the at least one XML-based rule document includes a tag rule that specifies that one of the router associated router configuration parameters identified by the corresponding first XML document is not supported by the aggregate router; and
identifying whether one of the router associated router configuration parameters has a value that conflicts with a corresponding value for use in the single router configuration.
27. The medium of
if the one router associated router configuration parameter is not supported by the aggregate router, determining whether an alternative configuration for the corresponding router operation is available for use by the aggregate router;
if no alternative configuration is available, prompting a user for the resolved configuration.
28. The medium of
29. The medium of
30. The medium of
aggregating the determined candidate configurations and any resolved configurations for the identified group of routers into an aggregated configuration for the respective aggregated router operations, according to the determined configuration hierarchy; and
generating the single router configuration, including access to the aggregated configuration, as an executable resource for execution by the aggregate router.
32. The system of
discovering the identified group of routers based on execution of a network discovery resource; and
accessing the group of router configurations from each corresponding identified router.
33. The system of
34. The system of
parsing the router configurations for the corresponding group;
generating, for each router configuration of the corresponding group, a first extensible markup language (XML) document that specifies a corresponding set of interface attributes as key value pairs for each router associated router configuration parameter based on a determined configuration hierarchy within the router configuration; and
storing the first XML document for said each router configuration in a local database.
35. The system of
accessing, from a rule file configured for storing XML-based rule documents that correlate prescribed router configurations associated with the identified group of routers with available router configurations for the aggregate router, at least one of the XML-based rule documents based on parsing the XML document generated for the corresponding determined router configuration; and
determining the candidate configuration based on the at least one XML-based rule document.
36. The system of
identifying whether the at least one XML-based rule document includes a tag rule that specifies that one of the router associated router configuration parameters identified by the corresponding first XML document is not supported by the aggregate router; and
identifying whether one of the router associated router configuration parameters has a value that conflicts with a corresponding value for use in the single router configuration.
37. The system of
if the one router associated router configuration parameter is not supported by the aggregate router, determining whether an alternative configuration for the corresponding router operation is available for use by the aggregate router;
if no alternative configuration is available, prompting a user for the resolved configuration.
38. The system of
39. The system of
40. The system of
aggregating the determined candidate configurations and any resolved configurations for the identified group of routers into an aggregated configuration for the respective aggregated router operations, according to the determined configuration hierarchy; and
generating the single router configuration, including access to the aggregated configuration, as an executable resource for execution by the aggregate router.
|
1. Field of the Invention
The present invention relates to aggregation (i.e. combination) of multiple router configurations from respective routers, configured for routing data at first data rates (e.g., OC-3), to a higher-performance router configured for routing the data at a second data rate (e.g., OC-12) at least equal to the aggregated data rate of the first routers.
2. Description of the Related Art
The growth of new services on the Internet (e.g., voice, video, etc.) that require high bandwidth and high quality of service (QoS) performance constraints has caused many network service providers to reach the capacity of their existing network infrastructure. Hence, the development of newer and more sophisticated network devices has induced network service providers to upgrade existing network devices with the newer, higher-performance network devices. In particular, the newer, high-performance routers that satisfy network service providers' demands for high density, service rich networks often have a higher capacity and enhanced operations that enable the network service provider to offer data services at a lower cost. Such highly-scalable routers may be designed to provide leased line aggregation at the edge of a service provider's network. A typical example involves a service provider that replaces its mid range routers at the network edge with a high-performance router that can aggregate the subscriber lines managed by the mid range routers into a single, high density port in the high-performance router.
However, the migration from multiple, mid range routers to a single, high-performance router often requires that the new, high-performance router be configured to preserve the integrity of the existing configurations of the mid range routers deployed in the network. Hence, a network engineer (i.e., administrator) typically will need to spend hours manually configuring the new network topology for the new, high-performance router, to ensure the new high-performance router does not lose any of the existing functionality provided by the existing routers. For example, multiple mid range routers that lease DS1 and DS3 channels to subscribers via prescribed time slots may be replaced with a single high-performance router having a line card that can terminate hundreds of DS1 circuits, all carried within a single fiber; in such a case, difficulties may arise in attempting to manually migrate the channel time slots from the multiple mid range routers to a single high density channel in the new high-performance router. In addition, the attempt to avoid the loss of existing functionality during migration can be tedious in cases where the new high-performance router does not support all of the same interfaces as the mid range routers. For example, the new high-performance router may not support interfaces such as Integrated Services Digital Network (ISDN), High Speed Serial Interface (HSSI), or Fiber Distributed Data Interface (FDDI). Hence, manual migration of interface configurations is not only tedious and time consuming, but also increases chances of error.
There is a need for an arrangement that enables automated migration of router configurations from multiple routers to a single router with minimal manual intervention.
There also is a need for an arrangement that enables automated migration of router configurations from multiple routers to a single router, where router configuration incompatibilities between one of the multiple routers and the single router can be resolved automatically.
These and other needs are attained by the present invention, where a computer-based system is configured for aggregating multiple router configurations into a single router configuration, enabling transfer of functionality from routers configured according to the respective router configurations to a single router having the single router configuration. The system includes a configuration determination resource, configured for determining the router configurations from the multiple routers, and a device analyzer resource configured for determining for each router configuration, a corresponding candidate configuration to be utilized in the single router configuration. Any conflict detected between the router configuration and the corresponding candidate configuration is managed by a conflict resolution resource, which determines the availability of a resolved configuration in the single router configuration to replace the corresponding router configuration. An router configuration aggregation resource is configured for generating the single router configuration based on the determined candidate configurations and resolved configurations. Hence, a high-performance router can be configured with the single router configuration that preserves the functionality of the multiple router configurations, with little or no manual intervention.
One aspect of the invention provides a method in an executable system configured for accessing routers according to Internet Protocol (IP). The method includes determining, for each of an identified group of routers, a corresponding group of router configurations used for providing a corresponding group of router operations, and determining, for each router configuration, whether a corresponding candidate configuration is available for use by an aggregate router configured for aggregating the router operations for the identified group of routers. The method also includes detecting whether a conflict exists between one of the router configurations and the corresponding candidate configuration, and selectively determining an availability of a resolved configuration that resolves the conflict for the one router configuration, enabling execution of the corresponding router operation by the aggregate router. The method also includes generating a single router configuration, for use by the aggregate router, in aggregating the router operations, based on the determined candidate configurations and the resolved configurations.
Another aspect of the present invention provides an executable system configured for accessing routers according to Internet Protocol (IP). The system includes a router configuration parser configured for determining, for each of an identified group of routers, a corresponding group of router configurations used for providing a corresponding group of router operations, a device analyzer, a conflict resolution resource, and an aggregation resource. The device analyzer is configured for determining, for each router configuration, whether a corresponding candidate configuration is available for use by an aggregate router configured for aggregating the router operations for the identified group of routers. The device analyzer also is configured for detecting whether a conflict exists between one of the router configurations and the corresponding candidate configuration. The conflict resolution resource is configured for selectively determining an availability of a resolved configuration that resolves the conflict for the one router configuration, enabling execution of the corresponding router operation by the aggregate router. The aggregation resource is configured for generating a single router configuration, for use by the aggregate router in aggregating the router operations, based on the determined candidate configurations and the resolved configurations.
Additional advantages and novel features of the invention will be set forth in part in the description which follows and in part will become apparent to those skilled in the art upon examination of the following or may be learned by practice of the invention. The advantages of the present invention may be realized and attained by means of instrumentalities and combinations particularly pointed out in the appended claims.
Reference is made to the attached drawings, wherein elements having the same reference numeral designations represent like elements throughout and wherein:
The migration system 10 includes a configuration parser 16, a device analyzer 18, a conflict resolution resource (i.e., “engine”) 20, an interface aggregation engine 22, a configuration aggregation engine 24, a configuration generator 26, and a rule file 28. Note that the interface aggregation engine 22, the configuration aggregation engine 24, and the configuration generator 26 may be integrated into a single aggregation resource configured for generating a single router configuration 14. The single router configuration 14 is used by an aggregate router 130, illustrated in
The rule file 28 is configured for storing extensible markup language (XML) documents that specify attributes for various rules, operations, parsed configurations, etc. In particular, the XML documents stored in the rule file 28, illustrated in
The configuration parser 16, also referred to as a router configuration parser, is configured for retrieving the router configurations from each of the routers 12 that are used by the respective routers 12 and providing the corresponding router operations. As illustrated in
The configuration parser 16, upon determining the router configuration for any one of the routers 12, either using the off-line mode 30 of reading a configuration file 32, or accessing the group of router configurations from each corresponding identified router 12 via the network 38, parses the router configuration information and stores the configuration parameters in a local database as key value pairs.
Router configurations in general can be subdivided into router interface configurations and non-interface configurations. As described herein, router interface configurations refer to configurations used to control the IP-based router interfaces for transfer of IP data. Non-interface configurations are used to control other router operations, for example telnet and enable passwords, and routing protocols. In particular, each of the low end routers 12 may have a different telnet and enable password, and the high end router configuration 14 may retain the password of one of the low end routers or define a new telnet and enable password for the system; hence, the aggregation of multiple telnet and enable passwords for global configuration of the aggregate router may require conflict resolution of passwords.
In the case of routing protocols, for example execution of Border Gateway Protocol (BGP) per the Internet Engineering Task Force (IETF) Request for Comments (RFC) 1771, two routers 12 executing BGP protocol may use the same autonomous system (AS) number for different neighbors. In this case, the system 10 is configured for resolving the conflict and suggesting how the BGP protocol should be configured in the router configuration 14. Hence, the disclosed embodiment is capable of aggregating router configurations, including router interface configurations and non-interface configurations.
As illustrated in
Many commands used to control the routers 12, for example Cisco IOS® commands, utilize a variable component that typically needs to be completed by a network administrator, for example: IP address <ip address><subnet mask>. Hence, the “ip address” and the “subnet mask” are the components, i.e., “keys”, for which values need to be typically filled by the network administrator.
The configuration parser 16 parses the hierarchal structures of the router configuration 40 and stores the information in a local database 29 as an XML document that specifies the set of interface attributes as key value pairs for each router associated interface configuration parameter, without any loss of integrity of configuration data. In particular, the configuration parser 16 has a set of rules defined within the rule file 28, wherein the object oriented design and organization of the router configuration 40 is defined. The parser 16 parses through the IOS configuration 40, based on object oriented rules specified within the XML rule file 28, and generates for the local database 29 an XML document 60 that includes the key value pairs specifying the necessary content configuration attributes according to the object oriented hierarchy established within the router configuration 40.
TABLE 1
Key
Value
IntfcType
FastEthernet
slot
0
Port
0
Ipaddr
10.64.117.13
SubnetMask
255.255.255.192
natDir
outside
Speed
auto
CntrlType
T1
Slot
0
Port
0
Framing
esf
AccessListId
101
TrafficDirection
Deny
L3Protocol
IP
SourceAddress
10.1.1.0
SourceMask
0.0.0.255
Protocol
Bgp
. . .
. . .
In particular, the leaf XML elements 62 each represent a key value pair, where each element tag 64 itself represents the corresponding key. Hence, the configuration parser 16 generates an XML file 60 each corresponding router configuration 40 for each corresponding router 12, and stores the XML document 60 in the local database 29 for subsequent processing to generate a single aggregated configuration file 14. As described below, the aggregate configuration file 14 includes all the key value pairs for various router configuration commands (e.g., Cisco IOS® configuration commands) that should be generated for the aggregate router 130. The key value pairs will be obtained by aggregating the router configurations 60 from the various router devices 12, and resolving conflicting configurations.
The device analyzer 18 of
The conflict resolution resource 20 is configured for selectively determining an availability of a resolved configuration that resolves the conflict detected by any one of the resources 18, 22, or 24. Exemplary conflicts include protocols not being supported in the aggregate router 130, access lists from two routers 12 having the same name or reference, etc. The conflict resolution engine 20 is configured for resolving conflicts that can be handled without disturbing expected functionality; other conflicts such as passwords, boot image name, or key command configurations, can be supplied to the user to enable the user to select an alternative to be used in the aggregate router 130. If certain protocols are not supported, the administrator is notified via a user interface 31, enabling the administrator to make decisions whether the protocol support is required within the new configuration 14, or whether the protocol can be removed.
The following example illustrates how the conflict resolution engine 20 may resolve conflicts, for example in the case of an access control list. Assume that two routers 12 (router A and router B) each reference the same access control list “198” to define their access rules, except that the access control lists are not the same and they have their own respective access policies:
ACL Configured in Router A:
access-list 198 permit icmp 15.0.0.0 0.0.0.255 any
access-list 198 permit icmp 202.37.0.0 0.0.255.255 any
access-list 198 permit icmp any 202.70.0.0 0.0.255.255
access-list 198 deny icmp any any
access-list 198 permit ip any any
ACL configured in Router B:
access-list 198 permit icmp 20.0.0.0 0.0.0.255 any
access-list 198 permit icmp 182.122.0.0 0.0.255.255 any
access-list 198 deny icmp any any
access-list 198 permit ip any any
In this example, both Router A and Router B use the same Access Control List (ACL) 198 to define their access rules; however, the ACLs “198” from the respective routers have different access policies. Hence, in this case the configuration aggregation engine 24 would report this conflict to the conflict resolution engine 20, causing the conflict resolution engine 20 to resolve the conflict by combining the two ACLs as follows:
Aggregated ACL:
access-list 199 permit icmp 15.0.0.0 0.0.0.255 any
access-list 199 permit icmp 202.37.0.0 0.0.255.255 any
access-list 199 permit icmp any 202.70.0.0 0.0.255.255
access-list 199 permit icmp 20.0.0.0 0.0.0.255 any
access-list 199 permit icmp 182.122.0.0 0.0.255.255 any
access-list 199 deny icmp any any
access-list 199 permit ip any any
Instances may arise where the conflict resolution engine 20 needs user input via the user interface 31 in order to resolve conflict. For example, consider the following exemplary ACL configurations:
The ACL configured in Router A:
access-list 110 deny ip 207.159.96.00.0.7.255 any
access-list 110 deny ip 202.191.128.00.0.1.255 any
access-list 110 deny ip 202.191.144.0 0.0.1.255 any
access-list 110 permit ip any any
The ACL configured in Router B:
access-list 110 deny ip 207.159.96.0 0.0.7.255 19.0.0.0 0.255.255.255
access-list 110 deny ip 218.23.23.0 0.0.0.255 any
access-list 110 deny ip 102.191.144.0 0.0.1.255 any
access-list 110 deny ip 162.171.0.0 0.0.255.255 any
access-list 110 permit ip any any
In this example, Router A blocks any IP traffic from the network having the address “207.159.96.0”, whereas Router B blocks only the IP packets from the network having the address “207.159.96.0” and which have their destination for the network having the address “19.0.0.0”. In this case, any decision made by the conflict resolution resource 20 may not be fully effective, hence the conflict resolution resource 20 will initiate an interactive session with the user via the user interface 31, enabling the user to provide the actual destination addresses that need to be blocked.
The interface aggregation engine 22 is configured for aggregating the configurations 40 from the routers 12 into the aggregate configuration 14 for use by the aggregate router 130. Different types of aggregation scenarios may be processed by the interface aggregation engine 22, namely: aggregating similar subscriber interface modules from a low end router to an aggregate router 130; aggregating low speed/density subscriber modules of the low end router to an aggregate router 130; and migrating unsupported subscriber interface modules in low end routers 12 to the aggregate router 130. In the case of aggregating similar subscriber interface modules from a low end router 12 to an aggregate router 130, the interface configuration can be mapped with its existing configuration parameters to the aggregate router 130, for example an OC-12C Asynchronous Transfer Mode (ATM) interface configuration utilized by a Cisco 7000 series router can be transferred to an OC-12C ATM line card in the Cisco 10000 series router (representing the aggregate router 130) without any change.
The case of aggregating the low speed/density subscriber modules of the low end router to an aggregate router 130 is the most expected scenario in migration. In particular, many low speed subscriber lines will be aggregated at the edge router location for the aggregate router 130. In this case, the router configuration aggregation resource 22 analyzes the interface configuration 60 and proposes an aggregate mapping for the low speed interfaces to a corresponding subscriber interface module of the aggregate router 130. The proposed configuration can be accepted, rejected, or selectively modified by a systems engineer via the user interface 31 prior to implementation of the aggregate configuration 14.
For example, many routers 12 that lease DS1 and DS3 channels to subscribers can be replaced with a single aggregate router 130 having a line card that can terminate hundreds of DS1 circuits, all carried by a single optical fiber. Each of the existing routers 12 have time slots configured for the T1/T3 interfaces. The goal will be to migrate the channel time slots transparently from the multiple routers 12 for a single high-density channel and the entry router. Hence, the interface aggregation engine 22, based on rules specified within the rule file 28, will aggregate the interfaces of the routers to an interface of the aggregate router 130 based on bandwidth requirements and availability.
The configuration aggregation engine 24 is configured for aggregating configuration parameters and any resolved configurations supplied by the conflict resolution engine 20, according to the determined configuration hierarchy, on a feature by feature basis (e.g., Layer 3 configuration, routing, NAT, ACLs, firewalls, etc.). In particular, the configuration aggregation engine 24 aggregates features such as access control lists (ACLs), route maps, routing protocols, etc. For example, route maps and access control list may be identified by commonly used names within the domain of the corresponding router 12; as described above, however, if access lists are found to overlap or a shared the same ACL number using different access rules, the configuration aggregation engine 24 interacts with the conflict resolution engine 20 for renumbering of access control lists as needed. Note that the configuration aggregation resource 24 may be configured for requiring user verification to ensure that configuration weaknesses to the arise due to a lack of a proper policy.
Hence, for each type of device that will be handled by the aggregation resource 10, a corresponding rule document 70 will be stored within the rule file 28. Hence, as the aggregation system 10 is attempting to configure the aggregate router 130 for a certain feature, the corresponding rule document (e.g., 70a) will be accessed from the rule file 28 to check if the interfaces can be aggregated, followed by IOS commands which can be aggregated, etc. Any of the aggregation resources, including the interface aggregation engine 22, the configuration aggregation engine 24, or the conflict resolution engine 20, may access the rule file 28 to access a selected rule document (e.g., 70a, 70b) to identify how to map interfaces from the existing routers 12 to the aggregate router 130.
Once the interface aggregation engine 22 and the configuration aggregation engine 24 have completed the aggregation of the hardware interface and the policy/protocol configuration parameters, the configuration generator 26 is configured for generating the single router configuration 14 as an executable file, for example as a Cisco IOS® file, for use by the aggregate router 130. The user can then verify the aggregate configuration file 14 and deliver it to the aggregate router 130 to complete deployment of the aggregated router operations within the aggregate router 130.
The method begins in step 100, where the configuration parser 16 determines the router configurations for the existing routers 12, for example by reading a prescribed configuration file 32, or by discovering the identified group of routers via the device discovery resource 36, and accessing the router configurations from each corresponding identified router 12. For example,
The configuration parser 16 parses in step 102 each of the router configurations 40, as described above with respect to
The device analyzer 18 analyzes in step 104 the XML configuration file 60 for each corresponding router 12, and retrieves the corresponding rule document 70b to identify the associated attributes and rules for the corresponding router 12. The device analyzer 18 also searches for an available rule document 70a to determine the best available configuration for use by an available aggregate router. If the device analyzer 18 detects a conflict, the conflict is provided to the conflict resolution engine 20; if the conflict resolution engine 20 cannot automatically resolve the conflict, user intervention may be required by the user interface 31.
Once a candidate aggregate router and candidate configuration has been identified, the interface aggregation engine 22 aggregates in step 106 the existing configurations for existing routers 12, as represented by the corresponding XML document 60, into an aggregate router interface channel available in the aggregate router 130; any conflicts detected by the interface aggregation engine 22 are passed to the conflict resolution engine 20 to resolve the conflict with a resolved configuration. Concurrently the configuration aggregation engine 24 aggregates in step 108 the configuration options and policies for the respective routers 12 into an aggregate configuration, where any conflicts detected by the configuration aggregation engine 24 are passed to the conflict resolution engine 20 for resolution.
Completion of steps 106 and 108 by the interface aggregation engine 22 and the configuration aggregation engine 24, respectively, enables the configuration generator 26 to generate in step 110 the executable router configuration 14 for the aggregate router 130 based on the aggregated channels and configuration options and policies. The executable router configuration 14 can then be deployed in step 112 for execution by the aggregate router 130, resulting in the network of
As shown in
While the disclosed embodiment has been described in connection with what is presently considered to be the most practical and preferred embodiment, it is to be understood that the invention is not limited to the disclosed embodiments, but, on the contrary, is intended to cover various modifications and equivalent arrangements included within the spirit and scope of the appended claims.
Gudipudi, Srinivas, Ravi, Vanaja, Meseck, Andrew Baker, Eswaran, Ravikumar, Roiger, Wayne Roman
Patent | Priority | Assignee | Title |
11341328, | Nov 30 2018 | Hewlett Packard Enterprise Development LP | Dynamic grammar augmentation for editing multiple network switch configuration files as a single file |
11431808, | Mar 07 2016 | Level 3 Communications, LLC | Systems and methods for dynamically connecting network elements to enable a service |
11451440, | Sep 21 2021 | Juniper Networks, Inc | Sharing configuration resources for network devices among applications |
11689418, | Sep 21 2021 | Juniper Networks, Inc | Sharing configuration resources for network devices among applications |
11736575, | Mar 07 2016 | Level 3 Communications, LLC | Systems and methods for dynamically connecting network elements to enable a service |
7536101, | Aug 02 2004 | Sprint Communications Company LP | Communication system with cost based protection |
7809807, | Aug 08 2001 | Canon Kabushiki Kaisha | Image forming system, image forming method, and server |
7904571, | May 31 2006 | AT&T Corp | Method and apparatus for generating a set of aggregates |
8040902, | Aug 12 2005 | Juniper Networks, Inc. | Extending standalone router syntax to multi-chassis routers |
8104080, | Jan 26 2007 | Microsoft Technology Licensing, LLC | Universal schema for representing management policy |
8135857, | Sep 26 2005 | Juniper Networks, Inc. | Centralized configuration of a multi-chassis router |
8149691, | Nov 16 2005 | Juniper Networks, Inc. | Push-based hierarchical state propagation within a multi-chassis network device |
8245141, | Oct 29 2008 | CISCO TECHOLOGY, INC | Hierarchical collaboration policies in a shared workspace environment |
8255980, | Feb 03 2009 | ERF Wireless, Inc. | Router configuration device derivation using multiple configuration devices |
8356085, | Jun 20 2003 | Alcatel Lucent | Automated transformation of specifications for devices into executable modules |
8370831, | Sep 26 2005 | Juniper Networks, Inc. | Software installation in a multi-chassis network device |
8429708, | Jun 23 2006 | Sanjay, Tandon | Method and system for assessing cumulative access entitlements of an entity in a system |
8452820, | Oct 05 2007 | International Business Machines Corporation | Logical partition configuration data file creation |
8483048, | Dec 01 2005 | Juniper Networks, Inc. | Non-stop forwarding in a multi-chassis router |
8650330, | Mar 12 2010 | International Business Machines Corporation | Self-tuning input output device |
8799511, | Oct 03 2003 | Juniper Networks, Inc. | Synchronizing state information between control units |
8819763, | Oct 05 2007 | CA, INC | Dynamic access policies |
8843994, | Jun 23 2006 | Sanjay, Tandon | Method and system for assessing cumulative access entitlements of an entity in a system |
8904380, | Sep 26 2005 | Juniper Networks, Inc. | Software installation on a multi-chassis network device |
9241011, | Jun 23 2006 | Sanjay, Tandon | Method and system for assessing cumulative access entitlements of an entity in a system |
Patent | Priority | Assignee | Title |
6295276, | Dec 31 1999 | FATPIPE NETWORKS PRIVATE LIMITED | Combining routers to increase concurrency and redundancy in external network access |
6493341, | Dec 31 1999 | FATPIPE NETWORKS PRIVATE LIMITED | Combining routers to increase concurrency and redundancy in external network access |
6631416, | Apr 12 2000 | Oracle Systems Corporation | Methods and systems for enabling a tunnel between two computers on a network |
6976087, | Nov 24 2000 | Ericsson AB | Service provisioning methods and apparatus |
6996628, | Apr 12 2000 | Oracle Systems Corporation | Methods and systems for managing virtual addresses for virtual networks |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Sep 17 2002 | ROIGER, WAYNE ROMAN | Cisco Technology, Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 013364 | /0513 | |
Sep 20 2002 | MESECK, ANDREW BAKER | Cisco Technology, Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 013364 | /0513 | |
Sep 23 2002 | ESWARAN, RAVIKUMAR | Cisco Technology, Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 013364 | /0513 | |
Sep 23 2002 | GUDIPUDI, SRINIVAS | Cisco Technology, Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 013364 | /0513 | |
Sep 23 2002 | RAVI, VANAJA | Cisco Technology, Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 013364 | /0513 | |
Oct 03 2002 | Cisco Technology, Inc. | (assignment on the face of the patent) | / |
Date | Maintenance Fee Events |
Jun 28 2010 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Jun 26 2014 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Aug 06 2018 | REM: Maintenance Fee Reminder Mailed. |
Jan 28 2019 | EXP: Patent Expired for Failure to Pay Maintenance Fees. |
Date | Maintenance Schedule |
Dec 26 2009 | 4 years fee payment window open |
Jun 26 2010 | 6 months grace period start (w surcharge) |
Dec 26 2010 | patent expiry (for year 4) |
Dec 26 2012 | 2 years to revive unintentionally abandoned end. (for year 4) |
Dec 26 2013 | 8 years fee payment window open |
Jun 26 2014 | 6 months grace period start (w surcharge) |
Dec 26 2014 | patent expiry (for year 8) |
Dec 26 2016 | 2 years to revive unintentionally abandoned end. (for year 8) |
Dec 26 2017 | 12 years fee payment window open |
Jun 26 2018 | 6 months grace period start (w surcharge) |
Dec 26 2018 | patent expiry (for year 12) |
Dec 26 2020 | 2 years to revive unintentionally abandoned end. (for year 12) |