Methods and apparatus for establishing connections between network nodes across an MPLS domain. A data receive node transmits to a data transmit node the service label that the data receive node expects to receive embedded in packets originating from the data transmit node. Any packet that has this service label by the data receive node will therefore be treated and considered by this data receive node as originating from the data transmit node.

Patent
   RE40826
Priority
Mar 29 2001
Filed
Dec 18 2006
Issued
Jul 07 2009
Expiry
Dec 28 2021
Assg.orig
Entity
Large
0
13
all paid
1. A method of establishing a data transfer connection between a first node and a second node across a domain which only allows unidirectional data flow, the method comprising:
a) sending a setup message from the first node to the second node, said setup message containing a first connection service label for a backward direction of data flow, said backward direction being from said second node to said first node;
b) receiving said setup message at said second node and reserving said first connection service label for data being sent from said second node to said first node;
c) sending a response message from the second node to the first node, said response message containing a second connection service label for a forward direction of data flow, said forward direction being from said second first node to said first second node; and
d) receiving said response message at said first node and reserving said second connection service label for data being sent from said first node to said second node,
wherein
for forward data transmission in said forward direction, data packets for said forward data transmission will be labelled labeled with said second connection service label and for a backward data transmission in said backward direction, data packets for said backward data transmission will be labelled labeled with said first connection service label.
6. A first network switch for bridging between a first domain which only allows unidirectional flow and a second domain, the first switch including:
a first module for transmitting or receiving first data transmission units to or from the second domain;
a second module for transmitting or receiving second data transmission units to or from the first domain;
a switch core module placed between the first and second modules for switching data between the first and second modules,
wherein the first network switch executes computer readable and computer executable instructions for implementing a method for establishing a data transfer connection between the first network switch and a second network switch across the first domain, the method including:
a) sending a setup message from the first network switch to the second network switch, said setup message containing a first connection service label for a backward direction of data flow, said backward direction being from said second network switch to said first network switch;
b) receiving a response message from the second network switch, the response message containing a second connection service label for a forward direction of data flow, the forward direction being from the second first switch to the first second switch and reserving said second connection service label for data being sent from said first switch to said second switch, such that for forward data transmission in said forward direction, data packets for said forward data transmission will be labeled with said second connection service label and for a backward data transmission in said backward direction, data packets for said backward data transmission will be labeled with said first connection service label.
2. A method as in claim 1 wherein nodes in said domain implement a specific unidirectional protocol.
3. A method as in claim 2 wherein said protocol routes data transfer units based on at least one transport label carried by said units.
4. A method as in claim 1 wherein said setup message is labeled with a first predetermined control service label control messages being sent in said forward direction.
5. A method as in claim 4 wherein said response messages is labeled with a second predetermined control service label for control messages being sent in said backward direction.
7. A switch as in claim 6 wherein nodes in said first domain implement a specific unidirectional protocol.
8. A switch as in claim 7 wherein said protocol routes data transfer units based on at least one transport label carried by said units.
9. A switch as in claim 6 wherein said setup message is labelled with a first predetermined control service label control messages being sent in said forward direction.
10. A switch as in claim 9 wherein said response messages is labeled with a second predetermined control service label for control messages being sent in said backward direction.
11. A switch as in claim 6 wherein the first domain is an MPLS (Multi-Protocol label Switched) domain and the second domain is an ATM domain.

This application relates to U.S. Provisional Patent Application 60/279,901 filed Mar. 29, 2001.

The present invention relates to data network transmissions and, more particularly, to methods and apparatus for implementing ATM (asynchronous transfer mode) connections over domains implementing MPLS (multiprotocol label switching) standards.

The field of data networking is continuously evolving and part of this evolution is the emergence of new standards, protocols, and technologies. As an example, ATM technology, now widely used in many networks, was developed over the past decade to overcome specific drawbacks of the then existing networking technology. One consequence of this continuous development is the need to adapt existing technologies with the newly developed protocols and standards.

One of these newly developed technologies is the MPLS standard. In an MPLS network, incoming packets are assigned a label by a label edge router (LER). Packets are forwarded along a label switch path (LSP) where each label switch router (LSR) makes forwarding decisions based solely on the contents of a label. At each hop, the LSR strips off the existing label and applies a new label. This new label then informs the next hop how to forward the packet. This technology, among other benefits, allows routers to make forwarding decisions based on the contents of a simple label rather than by performing complex route lookup operations.

While the MPLS standard holds out much promise, ATM technology needs to be adapted to the MPLS standard so that the benefits of MPLS technology can be added to the benefits of ATM technology. ATM technology provides access to a network by multiplexing user information into fixed length units or cells. Using ATM technology, networks today can establish dedicated links between nodes. These links can be created as needed and can create high-throughput connections between nodes. Currently, there are no call control procedures for the establishment and clearing of ATM on-demand connections over MPLS.

As noted above, an MPLS network consists of MPLS switches serving as LERs and LSRS and provides connection services for the establishment of MPLS connections. To establish on-demand ATM connections, ATM connection information needs to be exchanged between its call control peers or between two communicating ATM nodes. In ATM networks, ATM signalling protocols are used to exchange ATM connection information between call control peers or nodes.

One major feature of MPLS is the unidirectional nature of its connections. Forwarding of a traffic flow is determined by the label attached to a data transfer unit. Since label assignment in one direction is not associated with the reverse direction, there is no indication as to the original source of the data transfer unit. A destination node therefore cannot be determined from where traffic flow originated. Also, since in a uni-directional system the routing is label based, a route used by one data transfer unit may be different from a route used by a second data transfer unit even if both data transfer units originated from the same source and are heading to the same destination. This feature of the MPLS standard renders it quite difficult to set up an ATM style connection between two nodes. Furthermore, this feature renders any “link” between nodes across an MPLS domain as a unidirectional link. Coordinating control signals between two nodes is, again, rendered difficult.

From the above, what is therefore required is a solution which will allow ATM connections to be established across domains implementing the MPLS standard.

It should be noted that the term data transmission unit (DTU) will be used in a generic sense throughout this document to mean units through which digital data is transmitted from one point in a network to another. Thus, such units may take the form of packets, cells, frames, or any other unit as long as digital data is encapsulated within the unit. Thus, the term DTU is applicable to any and all packets and frames that implement specific protocols, standards or transmission schemes. It should also be noted that the term digital data will be used throughout this document to encompass all manner of voice, multimedia content, video, binary data or any other form of data or information that has been digitized and that is transmitted from one point in a network to another as a payload of a data transmission unit.

The present invention meets the above need by providing methods and apparatus for establishing connections between network nodes across an MPLS domain. A data receive node transmits to a data transmit node the service label that the data receive node expects to receive embedded in data transfer units originating from the data transmit node. Any DTU that has this service label and is received by the data receive node will therefore be treated and considered by this data receive node as originating from the data transmit node.

In one aspect, the present invention provides a method of establishing a bi-directional data transfer connection between a first node and a second node across a domain which only allows unidirectional data flow, the method comprising:

a) sending a setup message from the first node to the second node, said setup message containing a first connection service label for a backward direction of data flow, said backward direction being from said second node to said first node;

b) receiving said setup message at said second node and reserving said first connection service label for digital data being sent from said second node to said first node;

c) sending a response message from the second node to the first node, said response message containing a second connection service label for a forward direction of data flow, said forward direction being from said first node to said second node; and

d) receiving said response message at said first node and reserving said second connection service label for data being sent from said first node to said second node,

wherein

for forward data transmission in said forward direction, data transfer unit for said forward data transmission will be labelled with said second connection service label and for a backward data transmission in said backward direction, data transfer units for said backward data transmission will be labelled with said first connection service label.

In a second aspect, the present invention provides a setup message sent from a first node to a second node for establishing a data transfer connection across a domain which only allows unidirectional data flow, said setup message containing a connection service label to be used by said second node when transmitting digital data to said first node on said data transfer connection.

In a third aspect, the present invention provides a response message sent in response to a setup message from a first node establishing a data transfer connection across a domain which only allows unidirectional data flow, said response message being sent from a second node to said first node and containing a connection service label to be used by said first node when transmitting data to said second node on said data transfer connection.

In a fourth aspect, the present invention provides a data transfer unit being sent from a transmitting node to a receiving node, said data transfer unit having a service label indicating a processing context that determines how said unit is to be processed by said receiving node, said unit being used in a unidirectional data transfer connection and said service label being determined by said receiving node.

In a fifth aspect, the present invention provides a first network switch for bridging between a first domain which only allows unidirectional flow and a second domain, the first switch including:

wherein the first network switch executes computer readable and computer executable instructions for implementing a method for establishing a data transfer connection between the first network switch and a second network switch across the first domain, the method including:

a) sending a setup message from the first network switch to the second network switch, said setup message containing a first connection service label for a backward direction of data flow, said backward direction being from said second network switch to said first network switch;

b) receiving a response message from the second network switch, the response message containing a second connection service label for a forward direction of data flow, the forward direction being from the dat data to ATM node 50, then the DTU need only have an initial transport label TL1 for the digital data to arrive a ATM node 50.

It should be noted that service labels used for connections between ATM nodes may be released when a connection is terminated. Once a connection is terminated, a release PDU, also a control DTU similar to the setup and response DTUS or other types of DTUS, is sent to each ATM node affected by the terminated connection. This release PDU is sent via the dedicated control channels to the ATM nodes. When received, the release PDU instructs the ATM node to release the service labels associated with a specific connection. In the example given above, if the connection x.y is terminated, then service labels Y and Z are released. These two service labels can then be used by other ATM nodes for their connections. A release PDU may be generated by events other than a connection termination. As an example, if a fault at either end of a connection occurs, this can trigger a release PDU for all ATM nodes affected. It should be noted that local faults generated at an ATM node may also trigger such a release of service labels.

Referring to FIG. 5, illustrated is a flow chart detailing the steps taken by a initiating ATM node that initiates a connection with a responding ATM node. The process begins with the initiating ATM node creating or modifying a setup PDU in step 140. Step 150 consists of the initiating ATM node adding a receive data service label to the setup PDU. This receive data service label is to be used by the responding ATM node when transmitting data to the initiating ATM node. It should be noted that the bidirectional channel to be set up between the initiating ATM node and the responding ATM node is for one specific connection.

After the receive data service label is incorporated into the setup PDU, the initiating ATM node transmits the setup PDU to the responding ATM node in step 160. This is done using predefined control channel service labels and transport labels. After transmitting the setup PDU to the responding ATM node, the initiating ATM node then waits for a response PDU from the responding ATM node. This response PDU serves as acknowledgement from the responding ATM node that the setup PDU has been received and its commands have been executed. The initiating ATM node then receives the response PDU from the responding ATM node in step 170. Again, this step is executed using predefined control channel service labels and transport labels. In step 180, the initiating ATM node then extracts a transmit data service label from the response PDU. This transmit data service label is to be used by the initiating ATM node when transmitting data to the responding ATM node for the particular connection being set up.

With the transmit data service label having been received by the initiating ATM node, the connection is finally established by allocating the resources and to establish the configuration connection based on information contained in the response PDU (step 190). This step may include such processes as allocating bandwidth for the particular connection and allocating the receive transmit data service label for any data to be sent to the responding ATM node. It should be clear that, prior to step 190, the forwarding and/or processing of other PDUs may be accomplished before the ATM call establishment is completed.

Once the channel has been set up, either step 200 or step 210 is executed. In step 210, the initiating ATM node transmits data to the responding ATM transmit node using the transmit data service label that was received through the response PDU. Alternatively, in step 210 the initiating ATM node receives data from the responding ATM node with the receive data service label attached to the data. It should be clear that either of these steps can be executed concurrently or simultaneously by the initiating ATM node given that step 200 is executed for the data channel for data travelling from the initiating ATM node to the responding ATM node, while step 210 is for the channel for data travelling from the responding ATM node to the initiating ATM node.

It should be noted that the steps in the flow chart in FIG. 5 is executed by the initiating ATM node when establishing a connection with a responding ATM transmit node. The responding ATM node executes a similar sequence of steps to those illustrated in FIG. 5. These steps are illustrated in FIG. 6.

Referring to FIG. 6, the process followed by the responding ATM node begins with step 220. This step involves receiving the setup PDU from the initiating ATM node using the predefined control channel service label and transport label. The receive data service label is then extracted (step 230) from the setup PDU. If required, the setup configuration can be forwarded to the initiating node after step 230. This can only be done after the transport data service label is known. Step 240 is establishing the connection content or configuration specific connection as indicated by data included in the setup PDU. This step includes allocating any resources that need to be allocated and determining how incoming packets on the connection being setup is to be processed. In step 250, the responding PDU creates a response PDU that will be transmitted to the initiating ATM node. Step 260 adds a transmit data service label to the response PDU. This transmit data service label will be expected by the responding ATM node from data travelling from the initiating ATM node on the connection currently being established. In step 270 the response PDU is transmitted to the initiating ATM node using predefined control channel service labels and transport labels. With the response PDU transmitted, the forwarding and processing of other PDUs to complete the ATM call establishment can be accomplished. The next step can be either of step 280 or step 290. Step 280 sends data to the initiating ATM node using the received data service label extracted from the setup PDU. In step 290, data is received data from the initiating ATM node using the transmit data service label that was transmitted to the initiating ATM node using the response PDU.

Embodiments of the invention may be implemented in any conventional computer programming language. For example, preferred embodiments may be implemented in a procedural programming language (e.g. “C”) or an object oriented language (e.g. “C++”). Alternative embodiments of the invention may be implemented as pre-programmed hardware elements, other related components, or as a combination of hardware and software components.

Embodiments can be implemented as a computer program product for use with a computer system. Such implementation may include a series of computer instructions fixed either on a tangible medium, such as a computer readable medium (e.g., a diskette, CD-ROM, ROM, or fixed disk) or transmittable to a computer system, via a modem or other interface device, such as a communications adapter connected to a network over a medium. The medium may be either a tangible medium (e.g., optical or electrical communications lines) or a medium implemented with wireless techniques (e.g., microwave, infrared or other transmission techniques). The series of computer instructions embodies all or part of the functionality previously described herein. Those skilled in the art should appreciate that such computer instructions can be written in a number of programming languages for use with many computer architectures or operating systems. Furthermore, such instructions may be stored in any memory device, such as semiconductor, magnetic, optical or other memory devices, and may be transmitted using any communications technology, such as optical, infrared, microwave, or other transmission technologies. It is expected that such a computer program product may be distributed as a removable medium with accompanying printed or electronic documentation (e.g., shrink wrapped software), preloaded with a computer system (e.g., on system ROM or fixed disk), or distributed from a server over the network (e.g., the Internet or World Wide Web). Of course, some embodiment of the invention may be implemented as a combination of both software (e.g. a computer program product) and hardware. Still other embodiments of the invention may be implemented as entirely hardware, or entirely software (e.g. a computer program product).

Furthermore it should be clear that while the ATM nodes in the Figures are located at the edges of the MPLS domain, these nodes may, be placed within the MPLS domain in an implementation of the invention.

Referring to FIG. 7, a block diagram of an ATM switch which may use the invention. As noted above, the ATM nodes in FIG. 1 are on the edges of an MPLS domain. These ATM nodes can take the form of ATM switches which interface between the MPLS domain and an ATM domain. Suitable ATM switches which may use the invention include the Nortel Networks Passport line of switches including the Passport 15000 line of multi-functional switches.

As can be seen in FIG. 7, the ATM switch 300 has three main components: an input module 310, a switch core 320, and an output module 330. The input module 310 receives DTUS from the ATM domain. The switch core 320 then switches these DTUS to the proper egress ports on the output module 330. Prior to the ATM DTUS being transmitted to the MPLS domain, it should be clear that the transport of these ATM DTUS across the MPLS domain needs to be provisioned. It is at this point that the ATM switch implements the invention as explained above. The implementation can be carried out by the output module 330 prior to transmitting the ATM DTUS across the MPLS domain. Alternatively, an extra MPLS module 340 may be provided between the output module would process the ATM DTUS and ensure that such ATM DTUS are properly encapsulated in an MPLS DTU that has the format illustrated in FIG. 3. Furthermore, such an MPLS module would ensure that the MPLS transport of the ATM DTUS is properly provisioned. To this end, the MPLS module would handle the signalling and service label provisioning between the ATM switch it is attached to and the ATM switch at the other edge of the MPLS domain. The MPLS module would therefore perform the processing, signalling, encapsulation, and service label allocation that are outline above.

A person understanding the above-described invention may now conceive of alternative designs, using the principles described herein. All such designs which fall within the scope of the claims appended hereto are considered to be part of the present invention.

Newell, Darren L., Ballarte, Sandra S., Reinink, Kasper K.

Patent Priority Assignee Title
Patent Priority Assignee Title
6341127, Jul 11 1997 Kabushiki Kaisha Toshiba Node device and method for controlling label switching path set up in inter-connected networks
6374303, Nov 17 1997 WSOU Investments, LLC Explicit route and multicast tree setup using label distribution
6594260, Sep 03 1999 Cisco Technology, Inc. Content routing
6680943, Oct 01 1999 RPX CLEARINGHOUSE LLC Establishing bi-directional communication sessions across a communications network
6879594, Jun 07 1999 Spherix Incorporated System and method for loop avoidance in multi-protocol label switching
7061921, Mar 19 2001 Juniper Networks, Inc. Methods and apparatus for implementing bi-directional signal interfaces using label switch paths
7099334, Mar 29 2001 Ericsson AB ATM over MPLS connection establishment mechanism
20020136226,
20030088699,
20040215787,
WO36871,
WO45560,
WO122658,
//
Executed onAssignorAssigneeConveyanceFrameReelDoc
Dec 18 2006Nortel Networks Limited(assignment on the face of the patent)
Mar 11 2011Nortel Networks LimitedEricsson ABASSIGNMENT OF PATENTS0259790870 pdf
Date Maintenance Fee Events
Jun 17 2009ASPN: Payor Number Assigned.
Jan 22 2010M1551: Payment of Maintenance Fee, 4th Year, Large Entity.
Feb 28 2014M1552: Payment of Maintenance Fee, 8th Year, Large Entity.
Feb 28 2018M1553: Payment of Maintenance Fee, 12th Year, Large Entity.


Date Maintenance Schedule
Jul 07 20124 years fee payment window open
Jan 07 20136 months grace period start (w surcharge)
Jul 07 2013patent expiry (for year 4)
Jul 07 20152 years to revive unintentionally abandoned end. (for year 4)
Jul 07 20168 years fee payment window open
Jan 07 20176 months grace period start (w surcharge)
Jul 07 2017patent expiry (for year 8)
Jul 07 20192 years to revive unintentionally abandoned end. (for year 8)
Jul 07 202012 years fee payment window open
Jan 07 20216 months grace period start (w surcharge)
Jul 07 2021patent expiry (for year 12)
Jul 07 20232 years to revive unintentionally abandoned end. (for year 12)