# Patent

## Title
System, device and method for supporting cut-through paths in an optical communication system

## Abstract

A system, device, and method for supporting cut-through pats in an optical communication system involves obtaining hop count and quality of service information by an initiating device and using the hop count and quality of service information by the initiating device to make decisions relating to a cut-through path. The hop count and quality of service information is provided in a reply message that is sent by a terminating device and modified by intermediate devices between the initiating device and the terminating device. The terminating device sends the reply with a hop count equal to one and quality of service information for a first link (hop) toward the initiating device. Each intermediate device increments the hop count in the reply and adds quality of service information for a next link (hop) into the reply.

## Background
CROSS REFERENCE TO RELATED APPLICATIONS
The present application may be related to the following commonly-owned United States patent application, which is hereby incorporated herein by reference in its entirety,
U.S. patent application Ser. No. 09/930,119 entitled, SYSTEM, DEVICE, AND METHOD FOR MANAGING COMMUNICATION SERVICES IN AN OPTICAL COMMUNICATION SYSTEM, filed on Aug. 15, 2001 in the names of Bruce A Schofield, William R. Hawe, Paul D. Callahan, Indermohan Monga, Stephen Suryapatru, and Andre N. Fredette.
The present application is a divisional application of commonly owned U.S. patent application Ser. No. 09/952,828, filed Sep. 14, 2001, now U.S. Pat. No. 7,127,180 entitled SYSTEM, DEVICE AND METHOD FOR SUPPORTING CUT-THROUGH PATHS IN AN OPTICAL COMMUNICATION SYSTEM, currently allowed.


FIELD OF THE INVENTION
The present invention relates generally to optical networking, and more particularly to establishing cut-through paths in an optical communication system.
BACKGROUND OF THE INVENTION
In today's information age, communication networks are increasingly used for transferring information among a multitude of communication devices. As demand for communication services continues to grow the demand on these communication networks for carrying increasing amounts of information at increasing speeds continues to grow. Therefore, communication networks are evolving to handle these increased demands.
One way in which communication networks are evolving is through the use of optical communication facilities. Optical communication facilities transport information over optical communication media (such as optical fibers). Such optical communication networks provide vast amounts of bandwidth over short and long distances.
The optical communication network is capable of providing various communication services to its users. Traditionally, such communication services have been very expensive, and need to be planed and scheduled well in advance. This is due in part because changes to the optical communication network, such as provisioning and switching optical communication paths required substantial human intervention.
As optical communication networks evolve, more intelligence is being built into the control plane of the optical network. This intelligence allows the optical network to support mesh backbone topology and real-time provisioning of optical channel paths, (lightpaths). Furthermore, is intelligence allows various value-added services to be provided from the optical network.
SUMMARY OF THE INVENTION
In accordance with one aspect of the invention, an initiating device obtains hop count and quality of service information and uses the hop count and quality of service information to make decisions relating to a cut-through path. The hop count and quality of service information is provided in a reply message that is sent by a terminating device and modified by intermediate devices between the initiating device and the terminating device. The terminating device sends the reply with a hop count equal to one and quality of service information for a first link (hop) toward the initiating device. Each intermediate device increments the hop count in the reply and adds quality of service information for a next link (hop) into the reply.
The hop count and quality of service information may be transported to the initiating device in a Next Hop Resolution Protocol (NHRP) reply in the form of a hop count type-length-value (TLV) field and a number of quality of service type-length-value (TLV) fields.
The initiating device may include an optical service agent for obtaining the hop count and quality of service information and for using the hop count and quality of service information to make decisions relating to a cut-through path.



BRIEF DESCRIPTION OF THE DRAWINGS
In the accompanying drawings:
FIG. 1 is a network diagram showing an exemplary optical communication system in accordance with an embodiment of the present invention;
FIG. 2 is a block diagram showing the relevant fields of a hop count type length-value extension in accordance with an embodiment of the present invention;
FIG. 3 is a block diagram showing the relevant fields of a quality of service type-length-value extension in accordance with an embodiment of the present invention;
FIG. 4 is a block diagram showing the format of an exemplary Next Hop Resolution Protocol (NHRP) reply including a hop count extension and a number of quality of service extensions in accordance with an embodiment of the present invention;
FIG. 5 is a logic flow diagram showing exemplary initiating device logic for supporting cut-through paths in accordance with an embodiment of the present invention;
FIG. 6 is a logic flow diagram showing exemplary terminating device logic for supporting cut-through paths in accordance with an embodiment of the present invention; and
FIG. 7 is a logic flow diagram showing exemplary transmit NHS logic for supporting cut-though paths in accordance with an embodiment of the present invention.



DETAILED DESCRIPTION OF A PREFERRED EMBODIMENT
In an embodiment of the present invention, cut-through paths are supported as a value-added service in an intelligent optical network. A cut-through path is essentially a direct optical channel path between two optical network devices. For convenience, the optical network device that initiates the cut-through path is referred to hereinafter as the “initiating” device, and the optical network device at which the cut-through path terminates is referred to hereinafter as the “terminating” device. There may be a number of intermediate devices between the initiating device and the terminating device. The cut-through path can be established to bypass or avoid unnecessary router links (hops) along a routed path between an initiating router and a terminating router.
In order to establish a cut-through path, the various optical network devices along the routed path exchange certain types of information using a predetermined protocol. One such protocol is known as the Next Hop Resolution Protocol (NHRP), which is described in Internet Engineering Task Force (IETF) Request For Comments (RFC) 2322 entitled NDMA Next Hop Resolution Protocol (NHRP) dated April 1998, hereby incorporated herein by reference in its entirety. NHRP provides a mechanism to set up a lightpath for the overlay router network on an optical network “cloud.” Using the standard NHRP protocol, the initiating router sends an NHRP request to the terminating router, and receives an address mapping in an NHRP reply. The initiating router uses the address mapping to establish the cut-through path to the terminating router.
Unfortunately, the standard NHRP protocol does not provide any way for the initiating router to evaluate the cut-through path prior to establishing the cut-through path. For example, the initiating router has no way to evaluate the quality of the routed path being bypassed, the number of links in the routed path being bypassed, or the quality of service provided by the routed path being bypassed. Thus, for example, the initiating router could establish a cut-through path that provides little, if any, benefit over the routed path it bypasses.
Therefore, in an embodiment of the present invention, the initiating router obtains additional information prior to establishing the cut-through path. The additional information preferably includes, among other things, hop count information indicating the number of router links (hops) between the initiating router and the terminating router and quality of service (QoS) information indicating quality of service parameters for each router link (hop) between the initiating router and the terminating router. The additional information is provided by the terminating router and/or various intermediate devices along the optical channel path. These intermediate devices are referred to in the NHRP standard as transit Next Hop Servers (NHS).
FIG. 1 is a network diagram showing an exemplary optical communication system 100. The optical communication system includes, among other things, an initiating router 110, a number of transit NHSs 1201-120N, and a terminating router 130. For purposes of the following discussion, a particular device is said to be “downstream” from another device if it is closer to the terminating router 130 and is said to be “upstream” from the other device if it is closer to the initiating router 110.
In order to transport the hop count and QoS information within NHRP messages, two new Type-Length-Value (TLV) extensions are defined. A TLV extension includes, among other things, a type field indicating the type of TLV, a length field indicating the length in octets of the value field (i.e., not including the type and length fields), and a value field containing the information.
FIG. 2 is a block diagram showing the relevant fields of an exemplary hop count TLV 200 in accordance with an embodiment of the present invention. Among other things, the hop count TLV 200 includes a hop count type 210, a hop count length 220, and a hop count value 230. The hop count value 230 is typically one octet in length, and therefore the hop count length 220 is typically equal to one. The hop count type 210 is selected from a pool of unused type values for NHRP extensions.
FIG. 3 is a block diagram showing the relevant fields of an exemplary QoS TLV 300 in accordance with an embodiment of the present invention. Among other things, the QoS TLV 300 includes a QoS type 310, a QoS length 320, and QoS information 330. The QoS information 330 may include different types of information for different types of links, and therefore the QoS length may vary. The QoS type 310 is selected from a pool of unused type values for NHRP extensions.
In an embodiment of the present invention, the initiating router 110 sends an NHRP request to the terminating router 130 over the routed path. The NHRP request preferably includes a hop count TLV 200 and a QoS TLV 300. The inclusion of the hop count and QoS TLVs in the NHRP request indicate to the terminating router 130 that the initiating router 110 is expecting to receive hop count and QoS information, and otherwise transport no hop count and QoS information to the terminating router.
Upon receiving the NHRP request from the initiating router preferably including the hop count and QoS TLVs, the terminating router 130 sends an NHRP reply including a hop count TLV 200 and a QoS TLV 300. The terminating router 130 preferably sets the hop count value 230 in the hop count TLV 200 equal to one, and includes QoS information 330 for the next link (hop) in the QoS TLV 300 (i.e., QoS information for the link to its upstream neighbor).
Each transit NHS 120 along the routed path from the terminating router 130 to the initiating router 110 receives the NHRP reply from its downstream neighbor. Each transit NHS 120 preferably increments the hop count value 230 in the hop count TLV 200, and also preferably adds a QoS TLV 300 including QoS information 330 for the next link (hop) after any other QoS TLVs in the NHRP reply.
Thus, the initiating router 110 receives an NHRP reply 400 including an NHRP reply header 410, a hop count TLV 420 indicating the number of links (hops) to the terminating router 130, and a number of QoS TLVs 4301-430N, one for each link (hop), as shown in FIG. 4. The initiating router 110 uses the hop count and QoS information from the NHRP reply 400 to make certain decisions regarding the cut-through path, such as the QoS parameters for a cut-through path or even whether or not to establish the cut through path at all. In this respect the initiating router 110 uses the hop count and QoS information to provide a value-added service in support of cut-through paths.
FIG. 5 is a logic flow diagram showing exemplary initiating router logic 500 for supporting cut-through paths. Beginning at block 502, the logic sends an NHRP request including a hop count TLV and a QoS TLV, in block 504. Upon receiving an NHRP reply including a hop count TLV and a number of QoS TLVs containing hop count and QoS information, in block 506, the logic uses the hop count and QoS information to make decisions regarding a cut-through path to the terminating router, in block 508. The logic 500 terminates in block 599.
FIG. 6 is a logic flow diagram showing exemplary terminating router logic 600 for supporting cut-trough paths. Beginning at block 602, the logic receives an NHRP request including a hop count TLV and a QoS TLV from the initiating router, in block 604. The logic sends an NHRP reply including a hop count TLV with a hop count value of one and a QoS TLV with QoS information for the next link (hop), in block 606. The logic 600 terminates in block 699.
FIG. 7 is a logic flow diagram showing exemplary transit NHS logic 700 for supporting cut-through paths. Beginning at block 702, the logic receives an NHRP reply from a downstream neighbor, in block 704. The logic increments the hop count value in the hop count TLV, in block 706, and adds a QoS TLV with QoS information for the next link (hop), in block 708. The logic forwards the NHRP to an upstream neighbor, in block 710. The logic 700, terminates in block 799.
In an exemplary embodiment of the present invention, the described mechanisms for supporting cut-through paths in an optical communication system are implemented in the context of an automatically switched optical network (ASON), as described in the related application entitled SYSTEM, DEVICE, AND METHOD FOR MANAGING COMMUNICATION SERVICES IN AN OPTICAL COMMUNICATION SYSTEM, which was incorporated by reference above. Specifically, an optical service agent (OSA) in the initiating router may send the NHRP request, receive the NHRP reply including the hop count and QoS information, and use the hop count and QoS information to provide value-added services relating to cut-through pats. Various devices within the ASON and/or the user end-systems act as transit NHSs to increment the hop count and add QoS TLVs to the NHRP reply on its way upstream from the terminating router toward the initiating router. The terminating router may be within the ASON or within a user end-system attached to the ASON.
It should be noted that the present invention is in no way limited to the use of NHRP either with or without the described modifications, to the use of hop count and QoS TLVs as described, or to any particular protocols, protocol messages, or protocol extensions.
It should be noted that the term “router” is used herein to describe a communication device that may be used in a communication system, and should not be construed to limit the present invention to any particular communication device type. Thus, a communication device may include, without limitation, a bridge, router, bridge-router (brouter), switch, node, or other communication device.
It should also be noted that the logic flow diagrams are used herein to demonstrate various aspects of the invention, and should not be construed to limit the present invention to any particular logic flow or logic implementation. The described logic may be partitioned into different logic blocks (e.g., program, modules, functions, or subroutines) without changing the overall results or otherwise departing from the true scope of the invention. Often times, logic elements may be added, modified, omitted, performed in a different order, or implemented using different logic constructs (e.g., logic gates, looping primitives, conditional logic, and other logic constructs) without hanging the overall results or otherwise departing from the true scope of the invention.
The present invention may be embodied in many different forms, including, but in no way limited to, computer program logic for use with a processor (e.g., a microprocessor, microcontroller, digital signal processor, or general purpose computer), programmable logic for use with a programmable logic device (e.g., a Field Programmable Gate Away (FPGA) or other PLD), discrete components, integrated circuitry (e.g., an Application Specific Integrated Circuit (ASIC)), or any other means including any combination thereof. In a typical embodiment of the present invention, predominantly all of the described logic is implemented as a set of computer program instructions that is converted into a computer executable form, stored as such in a computer readable medium, and executed by a microprocessor within a network device under the control of an operating system.
Computer program logic implementing all or part of the functionality previously described herein may be embodied in various forms, including, but in no way limited to, a source code form, a computer executable form, and various intermediate forms (e.g., forms generated by an assembler, compiler, linker, or locator). Source code may include a series of computer program instructions implemented in any of various programming languages (e.g., an object code, an assembly language, or a high-level language such as Fortran, C, C++, JAVA, or HTML) for use with various operating systems or operating environments. The source code may define and use various data structures and communication messages. The source code may be in a computer executable form (e.g., via an interpreter), or the source code may be converted (e.g., via a translator, assembler, or compiler) into a computer executable form.
The computer program may be fixed in any form (e.g., source code form, computer executable form, or an intermediate form) either permanently or transitorily in a tangible storage medium, such as a semiconductor memory device (e.g., a RAM, ROM, PROM, EEPROM, or Flash-Programmable RAM), a magnetic memory device (e.g., a diskette or fixed disk), an optical memory device (e.g., a CD-ROM), a PC card (e.g., PCMCIA card), or other memory device. The computer program may be fixed in any form in a signal that is transmittable to a computer using any of various communication technologies, including, but in no way limited to, analog technologies, digital technologies, optical technologies, wireless technologies (e.g., Bluetooth), networking technologies, and internetworking technologies. The computer program may be distributed in any form as a removable storage 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 or electronic bulletin board over the communication system (e.g., the Internet or World Wide Web).
Hardware logic (including programmable logic for use with a programmable logic device) implementing all or part of the functionality previously described herein may be designed using traditional manual methods, or may be designed, captured, simulated, or documented electronically using various tools, such as Computer Aided Design (CAD), a hardware description language (e.g., VHDL or AHDL), or a PLD programming language (e.g., PALASM, ABEL, or CUPL).
Programmable logic may be fixed either permanently or transitorily in a tangible storage medium, such as a semiconductor memory device (e.g., a RAM, ROM, PROM, EEPROM, or Flash-Programmable RAM), a magnetic memory device (e.g., a diskette or fixed disk), an optical memory device (e.g., a. CD-ROM), or other memory device. The programmable logic may be fixed in a signal that is transmittable to a computer using any of various communication technologies, including, but in no way limited to, analog technologies, digital technologies, optical technologies, wireless technologies (e.g., Bluetooth), networking technologies, and internetworking technologies. The programmable logic may be distributed as a removable storage 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 or electronic bulletin board over the communication system (e.g., the Internet or World Wide Web).
The present invention may be embodied in other specific forms without departing from the true scope of the invention. The described embodiments are to be considered in all respects only as illustrative and not restrictive.

## Claims

1. A method for supporting cut-through paths in an optical communication system using a communication protocol, the method comprising:
transmitting a protocol message including:
a hop count extension for transporting hop count information over a communication path: and
a quality of service extension for transporting quality of service information indicating a number of devices and a respective quality of service of links coupling each of the devices encountered in a communication path; and

using a cut-through path selected based on information obtained via the protocol message;
selecting the cut-through path being based on:
a type field for identifying the hop count extension within a protocol message;
a length field for indicating a length of a value field; and
the value field for indicating a hop count.

2. The method of claim 1 further comprising receiving the message and updating the message by updating the hop count extension and quality of service extension.

3. The method of claim 2 further comprising transmitting the updated message.

4. The method of claim 1 including providing the hop count extension and quality of service extension in a Next Hop Resolution Protocol (NHRP) reply.

5. A method for supporting cut-through paths in an optical communication system using a communication protocol, the method comprising:
transmitting a protocol message including:
a hop count extension for transporting hop count information over a communication path: and
a quality of service extension for transporting quality of service information indicating a number of devices and a respective quality of service of links coupling each of the devices encountered in a communication path; and

using a cut-through path selected based on information obtained via the protocol message;
selecting the cut-through path being based on:
a type field for identifying the quality of service extension within a protocol message; and
a length field for indicating a length of a value field, the value field for indicating quality of service information for a link.