Configuration preprocessor language

Information

  • Patent Grant
  • 8059558
  • Patent Number
    8,059,558
  • Date Filed
    Thursday, March 20, 2008
    17 years ago
  • Date Issued
    Tuesday, November 15, 2011
    14 years ago
Abstract
A system includes network elements and a network provisioning and control system by which connection of network elements to a broadband network is controlled. The network provisioning and control system includes a configuration rendering engine that operates to configure the network elements connected to the network. Network element configuration templates are stored in the network provisioning and control system, each template including predetermined configuration data and conditional configuration data. A network element connected to the network and requiring configuration is detected and a template relating to the specific network element to be configured is determined. The system is interrogated. A configuration statement for the network element based on the selected template is determined using the predetermined configuration data and the determined, discrete values of the conditional configuration data. The network element is configured using the configuration statement.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS

The present application is a national phase application of PCT application PCT/EP/2008/053374 filed pursuant to 35 U.S.C. ยง371, which claims priority to EP 07104707.0 filed Mar. 22, 2007. Both applications are incorporated herein by reference in their entirety.


TECHNICAL FIELD

This invention relates to methods for configuring network elements in a broadband network.


BACKGROUND ART


FIG. 1 shows a generic description of a broadband network for providing telephone, internet and TV/video services to subscribers in a number of locations. A series of service providers provide the various services (SP1, SP2, SP3) to the network 10 via conventional access points 12. The network 10 provides connects these to subscribers via routers 14 located close to the subscribers. These can include business locations that can include routers in commercial property 16, and domestic subscribers with routers located in a central office 18 for a neighbourhood of separate dwellings (houses 17), or in a single building 19 such as an apartment building. The network operator manage the network function by the use of a control and provisioning system 20.


From time to time, it is necessary to make changes to the network by adding or reconfiguring elements making up the system, for example the routers 14. This configuration is achieved by downloading the configuration data from the control and provisioning system 20 to the router 14. The configuration data is contained in templates that are stored in a database forming part of the control and provisioning system 20. However, problems can arise due to the large number of network elements in use and their ever changing nature. If a new router (or, more likely, a revised version of an existing router) is deployed into the network and there is no configuration template that matches it exactly, the configuration can fail. Reconfiguration in such cases often requires manual intervention with the associated cost and delay.


In many cases, the reason for failure can be that certain parameters relating to a router vary without making substantial changes to functionality. For example, the name may change to indicate a new version. If the configuration template specifies the old name, it may not operate properly to configure the latest version even though it is functionally identical since the parameters on the router will not match the values in the template.


It is an object of the invention to provide a system which does not require discrete templates to be stored in the control and provisioning system for all network elements but which can create configuration statements according to data that can be retrieved from the system.


DISCLOSURE OF THE INVENTION

This invention provides a method of configuring network elements in a system comprising network elements and a network provisioning and control system by which connection of network elements to a broadband network is controlled, the network provisioning and control system including a configuration rendering engine that operates to configure the network elements connected to the network, the method comprising:

    • storing network element configuration templates in the network provisioning and control system, each template comprising predetermined configuration data and conditional configuration data;
    • detecting a network element connected to the network and requiring configuration;
    • determining the template relating to the specific network element to be configured;
    • interrogating the system to determine discrete values for the conditional configuration data;
    • preparing a configuration statement for the network element based on the selected template using the predetermined configuration data and the determined, discrete values of the conditional configuration data; and
    • configuring the network element using the configuration statement.


The conditional configuration data can be static data such as data relating to the particular type of network equipment (name, model, version, etc.), the type of connection (DSL, optical fibre, etc.), connection port, end user equipment etc. The conditional data can also be temporal, indicative of a time varying parameter, such as a time-limited connection, current port status, etc.


The method can also comprise capturing data relating to the system during operation and using the system operation data to determine discrete values for the conditional configuration data.


Data relating to the status of the interface or port to which an element is attached can be used to provide configuration data, including aspects such as signal to noise ratio, latency, etc.


The method according to the invention avoids the need to have discrete templates for every type of network element. This reduces the possibility of there being no template available when a device is to be configured.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 shows a schematic view of a broadband network in which the invention can operate;



FIG. 2 shows a functional block diagram of a network;



FIG. 3 shows a system suitable for implementing the invention; and



FIG. 4 shows a schematic view of data flow in a system according to the invention.





MODE(S) FOR CARRYING OUT THE INVENTION

A network system in which the invention operates is shown in FIG. 1. Operation of the network 10 is controlled by a control and provisioning system 20 that configures the various elements of the network to operate in the desired manner.


For the function of the control and provisioning system 20, the network can be considered in an abstract way as comprising a core 22 having one or more cells 24, each cell having one or more network elements 26 as is shown in FIG. 2. Subscribers 28 connect to the network elements 26. This structure is not to be confused with the physical elements making up the network. The functional blocks 22, 24, 26 may be wholly or partly resident in the same or different physical elements, depending on the exact size and makeup of the network in question, although typically, each network element 26 will comprise a router.



FIG. 3 shows a system suitable for implementing the invention. This system is described in more detail in European patent application 05077477.7. The core 22 comprises a file system 30, a database 32, a core module element manager 33, and a set of modules 34a-h that provide the core services for the network. The file system 30, database 32 and modules 33, 34 are all located on a central server, although it is possible that the various components could be distributed over more than one server. The core modules 34 interact with each other, the cells 24 and network elements 26. The core 22 also interacts with external applications such as service provider systems via an external API 37. The core modules 34 comprise a system manager module 34a, a net log module 34b, a log manager module 34c, a database application interface 34d, a subscriber management tool bridge 34e, an external application interface 34f, a script engine 34g, and a configuration job manager 34h. The various core modules 34 communicate with each other via an inter-application message bus 35. Each cell 24 comprises modules that handle that part of the network topology in that cell. The cell 24 can be located on the same server as the core 22, but in the case of a large network, the cell 24 may be separated from the core server and deployed in the network. Each cell includes a configuration rendering engine module 36 and an element manager module 38. Each network element 26 typically comprises a programmable router 40.


The invention primarily forms part of the configuration rendering engine 36. The relevant part of the system shown in FIGS. 2 and 3 is shown schematically in FIG. 4.


The following example considers connection of a new router 40 to the call 24. On connection and powering up of the new network element 40, the element manager 38 detects the presence of the new hardware and invokes operation of the configuration rendering engine (CRE) 36. The CRE 36 includes an embodiment of the invention known as configuration pre-processor language (CPL) 42. The CRE 36 sends a message x to the element 40 to return various data y. On receipt of this data, the CRE 40/CPL 42 interrogates a configuration template database 44 to obtain an appropriate configuration template 46. The templates 46 contain predetermined configuration data (i.e. data that are fixed for the device in question) and conditional configuration data (i.e. data that are dependent on returned values following interrogation of the system).


The predetermined configuration data can be the same as are used in prior art configuration templates. The conditional configuration data can be static and/or temporal data. Examples of static conditional configuration data can be data such as the name, model or version of the network element 40, the link speed to be assigned, etc. These are data that will not change for any configuration of the element 40. Temporal configuration data are dynamic data that can vary during the operation of the element 40. these can include parameters that must be determined at the time of configuration, such as the nature of end user equipment (not shown) attached to the router 40, data relating to the interface/ports status such as signal to noise ratio, latency. Other types of temporal or dynamic data include time, for use in establishing time-limited configurations or the like.


The configuration template is populated with data to create a configuration statement that is sent from the CRE 36 via the element manager 38, to the element 40.


In a further embodiment of the invention, a data capture engine (DCE) 48 is included in the system 20. This operates to receive data from the various parts of the system during operation. Thus it can provided statistical data which can also be used for creation of the configuration statement.


By using conditional data in the preparation of the configuration statement, it is possible for the system to adapt to changes in the configuration parameters of the network element without the need for a new template to be created. It also allows time-limited data or configurations to be used.


While the invention is described above in relation to connection of a new network element, it can equally be applied to re-configuration of an existing element, such as following a restart, or on commencement of new system capabilities.

Claims
  • 1. A method of configuring network elements in a system comprising network elements and a network provisioning and control system by which connection of network elements to a broadband network is controlled, the network provisioning and control system including a configuration rendering engine that operates to configure the network elements connected to the network, the method comprising: storing network element configuration templates in the network provisioning and control system, each template comprising predetermined configuration data and conditional configuration data;detecting a network element connected to the network and requiring configuration;determining the template relating to the specific network element to be configured;interrogating the system to determine discrete values for the conditional configuration data;preparing a configuration statement for the network element based on the selected template using the predetermined configuration data and the determined, discrete values of the conditional configuration data; andconfiguring the network element using the configuration statement.
  • 2. A method as claimed in claim 1, wherein the conditional configuration data comprise static data including one or more of data relating to the particular type of network equipment, the type of connection, the connection port, or end user equipment.
  • 3. A method as claimed in claim 2, wherein the conditional data comprise temporal data that is indicative of one or more time varying parameters relating to the configuration.
  • 4. A method as claimed in claim 2, wherein the configuration data comprise data relating to a status of the interface or port to which an element is attached.
  • 5. A method as claimed in claim 2, further comprising capturing data relating to the system during operation and using the captured system operation data to determine discrete values for the conditional configuration data.
  • 6. A method as claimed in claim 1, wherein the conditional data comprise temporal data that is indicative of one or more time varying parameters relating to the configuration.
  • 7. A method as claimed in claim 6, wherein the configuration data comprise data relating to a status of the interface or port to which an element is attached.
  • 8. A method as claimed in claim 6, further comprising capturing data relating to the system during operation and using the captured system operation data to determine discrete values for the conditional configuration data.
  • 9. A method as claimed in claim 1, wherein the configuration data comprise data relating to a status of the interface or port to which an element is attached.
  • 10. A method as claimed in claim 9, further comprising capturing data relating to the system during operation and using the captured system operation data to determine discrete values for the conditional configuration data.
  • 11. A method as claimed in claim 1, further comprising capturing data relating to the system during operation and using the captured system operation data to determine discrete values for the conditional configuration data.
Priority Claims (1)
Number Date Country Kind
07104707 Mar 2007 EP regional
PCT Information
Filing Document Filing Date Country Kind 371c Date
PCT/EP2008/053374 3/20/2008 WO 00 3/4/2010
Publishing Document Publishing Date Country Kind
WO2008/113854 9/25/2008 WO A
US Referenced Citations (39)
Number Name Date Kind
5802042 Natarajan et al. Sep 1998 A
5832503 Malik et al. Nov 1998 A
5913037 Spofford et al. Jun 1999 A
6059614 Shelby et al. May 2000 A
6222852 Gandy Apr 2001 B1
6393472 Anerousis et al. May 2002 B1
6560236 Varghese et al. May 2003 B1
6680945 Merchant et al. Jan 2004 B1
6769124 Schoening et al. Jul 2004 B1
6876667 Synnestvedt et al. Apr 2005 B1
6885657 Rabenko et al. Apr 2005 B1
7054309 Hoot et al. May 2006 B1
7082463 Bradley et al. Jul 2006 B1
7099158 Bjorklund Aug 2006 B1
7139818 Kinnear, Jr. et al. Nov 2006 B1
7200145 Edsall et al. Apr 2007 B1
7801133 Siegel Sep 2010 B2
7826463 Patel et al. Nov 2010 B2
20020023174 Garrett et al. Feb 2002 A1
20020075844 Hagen Jun 2002 A1
20020161801 Hind et al. Oct 2002 A1
20030039249 Basso et al. Feb 2003 A1
20030056225 Bione Mar 2003 A1
20030131107 Godse et al. Jul 2003 A1
20030200285 Hansen et al. Oct 2003 A1
20040017829 Gray et al. Jan 2004 A1
20040049568 Nguyen et al. Mar 2004 A1
20040090965 Lin May 2004 A1
20040172412 Files et al. Sep 2004 A1
20040213152 Matuoka et al. Oct 2004 A1
20040258074 Williams et al. Dec 2004 A1
20040261116 Mckeown et al. Dec 2004 A1
20050049886 Grannan et al. Mar 2005 A1
20050286517 Babbar et al. Dec 2005 A1
20060026228 Kim Feb 2006 A1
20060277603 Kelso et al. Dec 2006 A1
20070058638 Guichard et al. Mar 2007 A1
20070174522 Lee Jul 2007 A1
20070203999 Townsley et al. Aug 2007 A1
Foreign Referenced Citations (15)
Number Date Country
1 039 698 Sep 2000 EP
1780941 May 2007 EP
2 069 767 Jan 1981 GB
20010038481 May 2001 KR
WO 0060864 Oct 2000 WO
WO 0235797 May 2002 WO
WO 2008068316 Jun 2008 WO
WO 2008113852 Sep 2008 WO
WO 2008113854 Sep 2008 WO
WO 2009019300 Feb 2009 WO
WO 2009027513 Mar 2009 WO
WO 2009035719 Mar 2009 WO
WO 2009047215 Apr 2009 WO
WO 2009047334 Apr 2009 WO
WO 2009047345 Apr 2009 WO
Related Publications (1)
Number Date Country
20100150025 A1 Jun 2010 US