The present invention relates generally to telecommunication networks. More particularly, the present invention relates to such networks which utilize a control plane to control calls.
Today's telecommunication networks are increasingly characterized by the separation of the control and data planes. That is, data plane connections used to transport traffic and their associated control plane connections used to manage the data plane connections are somewhat independent.
All network operators over time increase or decrease the sizes of their networks, or alter the configuration their networks. There are many business reasons for this, including mergers, divestitures or re-organizations of carriers and enterprises, or the addition of updated equipment. Network operators may want to make a variety of adjustments to their networks, including growing (e.g., adding nodes) and/or shrinking (e.g., removing nodes). Some of adjustments do not necessarily affect the data plane which actually carries the user traffic. However, these adjustments do affect the control plane and/or network management systems. Examples of such adjustments include splitting, merging and/or modifying the span of control of existing connections. In other words, modifying the span of control plane connections. These adjustments will be discussed in more detail below.
However there are some connections which have long durations, and it is highly desirable to avoid any disruption to services offered through these connections while making said adjustments.
It is, therefore, desirable to provide a method for adjusting the span of control of a network in a non-disruptive manner.
Generally, the present invention provides a method and system for changing the extent of data plane resources controlled by a control plane for a network connection which spans a contiguous set of nodes controlled by existing network control resources. This is done in a non-disruptive manner. This typically involves two steps:
i) Creating a new set of control plane resources for said network connection such that said data plane resources are shared with said existing network control resources; and
ii) then terminating the existing network control resources such that said data plane resources are fully transferred to the new set of control plane resources without disrupting said network connection.
The existing network control resources, for any given node, can be either a control plane resource or a non control plane resource. An example of a non control plane resource is network management software (e.g., an OSS (Operation Support System)), which forms part of the Management Plane.
It should be noted that this does not need to be done for a complete end-to-end connection, but rather can be executed for the portion of the end-to-end connection which is to be controlled by the control plane. In other words, although a subset of the whole network connection may undergo a transfer of control ownership, the data being passed over the whole network connection is not adversely affected.
According to one aspect of the invention, the method works by permitting creation of new control plane connection(s) on top of existing control and/or non-control plane connection(s) for a data plane connection. Once the new control plane connection(s) is(are) created then the old control and non-control plane connection(s) is(are) terminated leaving only the new control plane connection(s). Similarly, new control plane calls is(are) created that is(are) associated with the new control plane connection(s), and replace(s) the old control plane call(s) when the new control plane connection(s) become(s) active.
In a further aspect, the present invention provides a method for changing the extent of data plane resources controlled by a control plane for a network connection which spans a contiguous set of nodes, said network connection controlled by existing network control resources, said method comprising the steps of: i) Creating a new set of control plane resources for said network connection such that said data plane resources are shared with said existing network control resources; and ii) then terminating the existing network control resources such that said data plane resources are fully transferred to the new set of control plane resources without disrupting said network connection. Such a method has particular benefits when at least some of said existing network control resources comprise existing control plane resources, or when the number of nodes controlled by said new set of control plane resources differs from the number of nodes controlled by said existing control plane resources. According to one embodiment, such a method includes creating connection control states for the new set of control plane resources on every node; and mapping the existing data plane resources to each new connection control state.
Such a method can be used for growing, shrinking, splitting, merging, or modifying the span of control of the control plane for a network connection. In the shrinking case, it should be noted that data plane resources no longer controlled by control plane resources are transferred to non control plane resources.
A further aspect of the invention provides a method of controlling a network connection between X nodes in a network, wherein a first subset Y of said nodes is controlled by a control plane, and a second subset (X−Y) is not controlled by a control plane, comprising adjusting Y by a delta Z without adjusting the data plane connections between said X nodes. According to one embodiment, said adjusting Y step comprises: a) establishing new control plane connections for Y+Z in parallel to the existing control plane connections for Y, said new control plane connections and said existing control plane connections sharing the same data plane resources; and b) then terminating the existing control plane connections such that said data plane resources are fully transferred to the new control plane connections without disrupting said network connection.
Further aspects of the present invention include a network for implementing any of the above; a Network node for such a network; and a computer program product embodied in a machine-readable medium tangibly embodying computer executable instructions for updating a network node to be compliant with any of the above.
Other aspects and features of the present invention will become apparent to those ordinarily skilled in the art upon review of the following description of specific embodiments of the invention in conjunction with the accompanying figures.
Embodiments of the present invention will now be described, by way of example only, with reference to the attached Figures, wherein:
Exemplary embodiments of the invention will be described with reference to the example of an ASON control plane, as described in the Recommendation G.8080/Y.1304, Architecture for the Automatically Switched Optical Network (ASON), which is a published ITU-T Document, which is hereby incorporated by reference in its entirety. However, it should be noted that the invention is also applicable to control planes for other protocols and networks, including ATM, Telephony, Frame Relay, ISDN, MPLS, GMPLS and X.25. Note that ASON and ASTN are used interchangeably in this specification. The term “connection” as used includes the definition found in ITU-T Recommendation G.805 (2000), “Generic functional architecture of transport networks” and also used in ITU-T Recommendation G.8110/Y.1370 (2005), “MPLS layer network architecture”, both of which are hereby incorporated by reference.
Furthermore, we discuss embodiments of the invention with reference to modifying the span of control of connections. However it should be noted that the invention is more broadly applicable to communication services, which include calls and the connections involved therein. It should be noted that the term “call” has a technical definition, which is broader than the conventional “telephone call” between two people. In this specification, a call is the representation of the service offered to the user of a network layer, while the connection is one of the means by which networks deliver said service. There may be other entities used in supporting calls, such as service specific processes. Without limiting the generality of the foregoing, a call can be described as an association between two or more users and one or more domains that supports an instance of a service through one or more domains. Within domains, the association is supported by network entities that contain call state. Between a user and a network call control entity and between network call control entities, there are call segments. The call consists of a set of concatenated call segments. More information about calls, connections and the control plane is described in the Recommendation G.8080/Y.1304.
As shown in the Before part of the figure, there are 6 nodes 10, 20, 30, 40, 50 and 60 involved in a connection each node being controlled by existing network control resources. As shown, there is an end-to-end data plane connection spanning each of nodes 10-60. In this example, a first subset of the nodes, namely nodes 20, 30 and 40 are part of an ASON domain 100. Accordingly, a control plane connection 80 controls the connection between nodes 20 and 30 and between nodes 30 and 40. A second subset of the nodes which are also involved in the call, namely nodes 10, 50 and 60, fall outside of the ASON domain 100. Thus nodes 10, 50 and 60 are controlled by non-control plane management software—e.g. OSS.
The AFTER part of the figure shows ASON domain 100 is expanded to include node 50, and this expanded domain is shown as ASON domain 150. Accordingly the control plane connection 180 now spans nodes 20, 30, 40 and 50, i.e. the span of control plane connection has lengthened/grown to encompass node 50. The call associated with connection 80 is also modified to be associated with the new connection 180.
Other examples of changing the span of control for such connections by reversing the Head and Tail end functionality of the connection, which is illustrated in
It should be appreciated that these all represent simplified examples, and other modifications can be made; for example, more than one node can be added or removed, or multiple domains can be involved with splits or mergers.
Each of these adjustments to the span of control can be implemented by a two-step process according to an embodiment of the invention:
1. New control plane connections are created in addition to at least some of the existing network control resources of a data plane connection. Where their data plane resources are common, resource sharing is applied.
2. Once the new control plane connections are created then the network control resources to which resource sharing is applied in the first step, are terminated. Note that as part of this termination the ownership of the affected segments of the data plane connection are transferred from the existing network control resources to the new network control resources. Control plane calls associated with the replaced control plane connections are also replaced with calls associated with the new control plane connections.
It should be noted that although described in the plural, any of the connections can be singular.
Note that the new and old control plane connection(s) share the same data plane connection resources. The resource sharing can, for example, be implemented utilizing the resource sharing mechanisms described in U.S. Pat. No. 5,848,055, and in patent application Ser. No. 10/717,648, filed 21 Nov. 2003 with the US Patent Office, both of which are hereby incorporated by reference. The resource sharing mechanism allows two independent control plane connections to share the same data plane resources. In the example of ASON, these resources include SON ET/SDH time-slots. Note also that this mechanism can be implemented in-service as it doesn't impact the data plane connection, but simply manipulates control plane connection(s) associated with the data plane connection.
An example of the above two step process for growing the span of control plane connection for a particular data plane connection, is illustrated in
More details regarding the example of
As stated, this example illustrates a distributed control plane implementation where each node includes the controller for executing a Link Resource Manager function, and Connection Control Function and a Call Control function (the Ovals), where each function creates an instance for each connection (the squares) and/or call.
Note that a centralized control plane implementation is also possible, and within the scope of the invention. Also, although we have stated that existing data plane resources are not disrupted, an embodiment of the invention can allow for changes to the data plane resources—for example by adding bandwidth to an existing call—see below. What is important is user services are not disrupted. As another example, a call containing a Exterior Network-Network Interface (ENNI) can be replaced by a call that does not contain that Exterior Network-Network Interface. Similarly a call can be replaced by a call that includes Exterior Network-Network Interface. Thus aspects of the invention may be useful even if the nodes involved do not change.
As stated, an embodiment of the invention can allow for changes to the data plane resources—for example by modifying the bandwidth of an existing call. We will discuss an example of how to do this in terms of the RSVP-TE signaling protocol.
An initial call is established when the first connection is established. The UNI-C sends a PATH message to the UNI-N to request call and connection creation. The PATH request contains a SESSION_ATTRIBUTE TLV with SE Style requested flag set. The request does not contain a valid call identifier. The call identifier is assigned by the source UNI-N and used in all subsequent messages at the source and destination UNI-C. If the source UNI-C subsequently wants to modify the call by modifying the connection bandwidth, it will generate a new PATH message with the same Call ID it received in the RESV for the first connection. The Call ID is used to correlate the various connections at the UNI-C and UNI-N. This new PATH message will have a different LSP_ID and MESSAGE_ID but the same TUNNEL_ID. A new RESV message is generated in the reverse direction. There is a single RESV state that corresponds to all PATH states that share the same bandwidth, i.e. have the same TUNNEL_ID. There is a single RESV message sent, but its contents will change when connections are added or removed. The RESV message includes the bandwidth of the largest bandwidth request it received in the PATH messages and the SE flow descriptor includes the FILTER_SPEC of all corresponding PATH messages. If the RESV message includes a RESV_CONF object, a new RESV_CONF message should be sent by the source UNI-C which includes the new SE flow descriptor. At this point, the data can be transmitted end to end with the new bandwidth parameters, but connection state exists in the original and new PATH messages. The original PATH message can now be deleted and a PATH_TEAR generated by the UNI-C will release the RSVP states at each node. The deletion of the PATH state will result in a change in the RESV message SE flow descriptor contents as it will contain one less FILTER_SPEC. This corresponds to the step that terminates the original control plane connection state.
A bandwidth decrease can be achieved with an identical message flow although the RESV_CONF may not be necessary in that case. The new bandwidth would become effective at the PATH_TEAR stage as opposed to the RESV_CONF stage.
Additional information relating to the above modifications of the bandwidth of existing calls can be found in Call Modification RSVP Details for UNI 2.0, Contribution Number: 2005.216.00, Optical Internetworking Forum (OIF), 2005-06-30, which is hereby incorporated by reference in its entirety.
In the prior description, for purposes of explanation, numerous details have been set forth in order to provide a thorough understanding of the present invention. However, it will be apparent to one skilled in the art that these specific details are not required in order to practice the present invention. For example, specific details are not provided as to whether the embodiments of the invention described herein are implemented as a software routine, hardware circuit, firmware, or a combination thereof, or whether the control plane is centralized or distributed. Furthermore, those of ordinary skill will recognize that the features of the functionalities described herein can be implemented using processing hardware and software, such as computers or microprocessors and corresponding program and data memories. Such processors can be individual local processors or can be implemented in a central processor. Distributed processing techniques may also be used. Additionally, individual functions can be built in hard wired logic as may be desirable for the system implementation. Thus, the system according to the invention is not limited by the form of computer or processor construction, but can be implemented using any processing technique now known or later developed. For example, those of ordinary skill will recognize that a Link Resource Manager according to the invention can be implemented in a single processor or single unit or can be implemented in a plurality of units performing portions of the overall Link Resource Manager functions.
Embodiments of the invention may be represented as a software product stored on a machine-readable medium (also referred to as a computer-readable medium, a processor-readable medium, or a computer usable medium having a computer readable program code embodied therein). The machine-readable medium may be any type of magnetic, optical, or electrical storage medium including a diskette, compact disk read only memory (CD-ROM), memory device (volatile or non-volatile), or similar storage mechanism. The machine-readable medium may contain various sets of instructions, code sequences, configuration information, or other data. Those of ordinary skill in the art will appreciate that other instructions and operations necessary to implement the described invention may also be stored on the machine-readable medium. Software running from the machine readable medium may interface with circuitry to perform the described tasks.
Accordingly, one aspect of the invention provides a computer program product embodied in a machine-readable medium tangibly embodying computer executable instructions for controlling at least a portion of a network of X nodes, wherein at least a subset Y of said nodes is controlled by a first control plane connection, said computer executable instructions comprising computer executable instructions for establishing a second control plane connection between a second subset Z of said nodes in such a manner that said second control plane connection shares data plane resources with said first control plane. According to one embodiment, the computer executable instructions for establishing a second control plane connection comprises: a) computer executable instructions for establishing a second control plane connection in parallel with said first control plane, such that both said first and second control plane connections share at least some data plane resources; and b) computer executable instructions for terminating the existing first control plane connection such that said shared data plane resources are fully transferred to the said second control plane connection without disrupting said data plane resources. According to some embodiments, Z does not equal Y. However in other embodiments Z=Y, but the data plane resources of Z differ from the data plane resources of Y (e.g., the bandwidth of Z has either increases or decreased from Y). According to some embodiments, said computer executable instructions can further comprise instructions for: creating new connection control states for the second control plane connection on each of said Z nodes; and mapping said shared data plane resources to each new connection control state. According to some embodiments, said computer executable instructions can further comprise instructions for: creating new call control states for the second control plane connection; creating new connection control states for the second control plane connection on each of said Z nodes; associating the new connection control states with the new call states; and mapping said shared data plane resources to each new connection control state.
The above-described embodiments of the present invention are intended to be examples only. Alterations, modifications and variations may be effected to the particular embodiments by those of skill in the art without departing from the scope of the invention, which is defined solely by the claims appended hereto.
This application claims the benefit of priority of U.S. Provisional Patent Application No. 60/675,870 filed Apr. 29, 2005, which is incorporated herein by reference.
Number | Name | Date | Kind |
---|---|---|---|
5848055 | Fedyk et al. | Dec 1998 | A |
6084880 | Bailey et al. | Jul 2000 | A |
6597956 | Aziz et al. | Jul 2003 | B1 |
6665295 | Burns et al. | Dec 2003 | B1 |
6785843 | McRae et al. | Aug 2004 | B1 |
7013084 | Battou et al. | Mar 2006 | B2 |
7127180 | Khera et al. | Oct 2006 | B1 |
7236453 | Visser et al. | Jun 2007 | B2 |
7315897 | Hardee et al. | Jan 2008 | B1 |
7321932 | Monga et al. | Jan 2008 | B1 |
20020034935 | Bjelland et al. | Mar 2002 | A1 |
20030002103 | Erfani et al. | Jan 2003 | A1 |
20040117476 | Steele et al. | Jun 2004 | A1 |
20040193729 | Saraph | Sep 2004 | A1 |
20050072480 | Brandes | Apr 2005 | A1 |
20050262232 | Cuervo et al. | Nov 2005 | A1 |
20060007867 | Elie-Dit-Cosaque et al. | Jan 2006 | A1 |
20060209678 | Vu et al. | Sep 2006 | A1 |
20060268944 | Xu | Nov 2006 | A1 |
20070074039 | Li | Mar 2007 | A1 |
Number | Date | Country | |
---|---|---|---|
20060245413 A1 | Nov 2006 | US |
Number | Date | Country | |
---|---|---|---|
60675870 | Apr 2005 | US |