EP1639734A2 - Optical network topology databases and optical network operations - Google Patents

Optical network topology databases and optical network operations

Info

Publication number
EP1639734A2
EP1639734A2 EP04754452A EP04754452A EP1639734A2 EP 1639734 A2 EP1639734 A2 EP 1639734A2 EP 04754452 A EP04754452 A EP 04754452A EP 04754452 A EP04754452 A EP 04754452A EP 1639734 A2 EP1639734 A2 EP 1639734A2
Authority
EP
European Patent Office
Prior art keywords
connectivity
optical network
node
nodes
service level
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
EP04754452A
Other languages
German (de)
French (fr)
Other versions
EP1639734A4 (en
Inventor
Khoi Nhu Hoang
Santosh Kumar Sadananda
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dynamic Method Enterprises Ltd
Original Assignee
Intellambda Systems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US10/455,933 external-priority patent/US7860392B2/en
Application filed by Intellambda Systems Inc filed Critical Intellambda Systems Inc
Publication of EP1639734A2 publication Critical patent/EP1639734A2/en
Publication of EP1639734A4 publication Critical patent/EP1639734A4/en
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/28Routing or path finding of packets in data switching networks using route fault recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0811Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/03Topology update or discovery by updating link state protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/62Wavelength based
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/0001Selecting arrangements for multiplex systems using optical switching
    • H04Q11/0062Network aspects
    • H04Q2011/0086Network resource allocation, dimensioning or optimisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/0001Selecting arrangements for multiplex systems using optical switching
    • H04Q11/0062Network aspects
    • H04Q2011/009Topology aspects

Definitions

  • Embodiments of the invention relate to the field of networking; and more specifically, to optical networks.
  • GPLS Generalized Multiprotocol Label Switching
  • RLC3471 extends the Multiprotocol Label Switching (MPLS) architecture [RFC3031] to encompass time- division (e.g., Synchronous Optical Network and Synchronous Digital Hierarchy, SONET/SDH), wavelength (optical lambdas) and spatial switching (e.g., incoming port or fiber to outgoing port or fiber).
  • MPLS Multiprotocol Label Switching
  • GMPLS extends MPLS to include network devices whose forwarding plane recognizes neither packet, nor cell boundaries, and therefore, can't forward data based on the information carried in either packet or cell headers.
  • network devices include devices where the forwarding decision is based on time slots (TDM), wavelengths (lambda), or physical (fiber) ports.
  • GMPLS supports uni-directional label switched paths (LSPs) and bi-directional LSPs (For bi-directional LSPs, the term “initiator” is used to refer to a node that starts the establishment of an LSP and the term “terminator” is used to refer to the node that is the target of the LSP; Note that for bidirectional LSPs, there is only one “initiator” and one "terminator”) and a special case of Lambda switching, called Waveband switching (A waveband represents a set of contiguous wavelengths which can be switched together to a new waveband; The Waveband Label is defined to support this special case; Waveband switching naturally introduces another level of label hierarchy; As far as the MPLS protocols are concerned there is little difference between a waveband label and a wavelength label.).
  • label To deal with the widening scope of MPLS into the optical and time domain, there are several new forms of "label.” These new forms of label are collectively referred to as a "generalized label.”
  • a generalized label contains enough information to allow the receiving node to program its cross connect, regardless of the type of this cross connect, such that the ingress segments of the path are properly joined.
  • the Generalized Label extends the traditional label by allowing the representation of not only labels which travel in-band with associated data packets, but also labels which identify time-slots, wavelengths, or space division multiplexed positions.
  • the Generalized Label may carry a label that represents (a) a single fiber in a bundle, (b) a single waveband within fiber, (c) a single wavelength within a waveband (or fiber), or (d) a set of time-slots within a wavelength (or fiber). It may also carry a label that represents a generic MPLS label, a Frame Relay label, or an ATM label (VCI/VPI).
  • LSPs label switched paths
  • RSVP Resource Reservation Protocol
  • LMP label management protocol
  • LDP label distribution protocol
  • An optical network is a collection of optical network devices interconnected by links made up of optical fibers.
  • an optical network is a network in which the physical layer technology is fiber-optic cable. Cable trunks are interconnected with optical cross-connects (OXCs), and signals are added and dropped at optical add/drop multiplexers (OADMs).
  • OXCs optical cross-connects
  • OADMs optical add/drop multiplexers
  • the optical network devices that allow traffic to enter and/or exit the optical network are referred to as access nodes; in contrast, any optical network devices that do not are referred to as pass-thru nodes (an optical network need not have any pass-thru nodes).
  • Each optical link interconnects two optical network devices and typically includes an optical fiber to carry traffic in both directions. There may be multiple optical links between two optical network devices.
  • a given fiber can carry multiple communication channels simultaneously through a technique called wavelength division multiplexing (WDM), which is a form of frequency division multiplexing (FDM).
  • WDM wavelength division multiplexing
  • FDM frequency division multiplexing
  • each of multiple carrier wavelengths or, equivalently, frequencies or colors
  • TDM time division multiplex
  • a lightpath is a one-way path in an optical network for which the lamda does not change.
  • the optical nodes at which its path begins and ends are respectively called the source node and the destination node; the nodes (if any) on the lightpath in-between the source and destination nodes are called intermediate nodes.
  • An optical circuit is a bi-directional, end to end (between the access nodes providing the ingress to and egress from the optical network for the traffic carried by that optical circuit) path through the optical network. Each of the two directions of an optical circuit is made up of one or more lightpaths.
  • a single end to end lightpath is provisioned for that direction (the source and destination nodes of that lightpath are access nodes of the optical network and are the same as the ends nodes of the optical circuit).
  • the source and destination nodes of that lightpath are access nodes of the optical network and are the same as the ends nodes of the optical circuit.
  • wavelength conversion is necessary and two or more lightpaths are provisioned for that direction of the end to end path of the optical circuit.
  • a lightpath comprises a lamda and a path (the set of optical nodes through which traffic is carried with that lambda).
  • LSPs are the circuits.
  • Each of these LSPs (uni-directional or bi-directional) forms an end to end path where the generalized label(s) are the wavelength(s) of the lightpath(s) used.
  • the generalized label(s) are the wavelength(s) of the lightpath(s) used.
  • wavelength conversion is not used for a given bi-directional LSP, there will be a single end to end lightpath in each direction (and thus, a single wavelength; and thus, a single generalized label).
  • An optical network device can be thought of comprising 2 planes: a data plane and a control plane.
  • the data plane includes those components through which the light travels (e.g., the switch fabric or optical crossconnect; the input and output ports; amplifiers; buffers; wavelength splitters or optical line terminals; adjustable amplifiers; etc.), add/drop components (e.g., transponder banks or optical add/drop multiplexers, etc.), and components that monitor the light.
  • the control plane includes those components that control the components of the data plane. For instance, the control plane is often made up software executing on a set of one or more microprocessors inside the optical network device which control the components of the data plane.
  • the software executing on the microprocessor(s) may determine that a change in the switch fabric is necessary, and then instruct the data plane to cause that switch to occur.
  • the control plane of an optical network device is in communication with a centralized network management server and/or the control planes of one or more other network devices.
  • a number of different network topologies have been developed for optical network devices, including ring and meshed based topologies.
  • control planes and data planes have been developed for optical network devices.
  • WDM wavelength division multiplexing
  • various different techniques have been used for implementing the switch fabric, including optical cross connects such as MEMS, acousto optics, thermo optics, holographic, and optical phased array.
  • Operating an optical network typically requires: A) building and maintaining network databases; and B) establishing lightpaths.
  • the network databases can include: 1) link state databases that track information (e.g., the link(s), lamda(s), lamda bandwidths, etc.) regarding adjacent optical nodes (e.g., using a link management protocol (LMP)); and 2) topology databases that track information (e.g., nodes, links, lamdas, etc.) for the physical connectivity of the nodes in a domain and/or the entire network (e.g., using OSPF-TE).
  • LMP link management protocol
  • Steps 1 and 2 can be reversed.
  • centralized static provisioning a separate centralized network management server maintains a network topology database and communicates with each of the optical network devices of a network. In response to some predefined demands for an optical circuit, the network management server finds the shortest path/wavelength. The network management server then causes the allocation of the path/wavelength and the configuring of the switch fabrics.
  • each of the access nodes of the network performs the work of building/maintaining a network topology database.
  • that node In response to some predefined demands for an optical circuit received by an access node, that node: 1) buffers the traffic as necessary; 2) finds the shortest path/wavelength; and 3) causes the allocation of the path/wavelength and the configuring of the switch fabrics.
  • each of the nodes of the network use OSPF-TE to build network topology databases, and from there a network topology database is built and maintained in a centralized network management server.
  • the network management server initiates a form of source based provisioning. This allows a network administrator to maintain control over provisioning of each lightpath provisioned.
  • One problem with existing optical networks is the network topology databases used and the manner in which they are built and maintained.
  • these monolithic physical topology databases are very large because they must store all of the data to give a physical view of the network (not only connectivity at the link level, but connectivity at the lamda level because there are multiple lamdas per link and because different lamdas on a given link may provide different bandwidths; etc.).
  • These large network databases are relatively time consuming to parse and require a relatively long time and a relatively large amount of node intercommunication to propagate changes.
  • such network topology databases would become even larger if QoS type information needed to be recorded.
  • optical circuit is provisioned through the optical network over which the traffic is to travel.
  • This optical circuit will be static in the sense that it will not be altered on the fly based upon current bandwidth requirements (demand changes), current status of the network, etc. Instead, this optical circuit will only be modified when it is re-provisioned (e.g., at the request of the customer to upgrade to a larger or smaller amount of bandwidth) and/or some form of protection switch based on a redundancy scheme.
  • a given optical circuit is established at the maximum bandwidth believed to be required at any given point in time, and this maximum bandwidth is provisioned for that purpose. That is to say, a given customer is provisioned a fixed amount of bandwidth for all classes of traffic, whether that customer at any given point in time is using some, all or none of that bandwidth. Due to variations in the bandwidth requirements and/or the status of the network, bandwidth will go unused.
  • the optical layer is operated to provide point-to-point links, with no intelligence and no real time decision-making capabilities.
  • the need for demands to be known in advance imposes difficulties for service creation and service provisioning. This results in an inefficient utilization of resources at the optical layer.
  • QoS quality of service
  • both of these protocols are carried over SONET; where SONET does not distinguish the types of traffic (does not provide QoS).
  • typical optical control planes do no provide the ability to separate traffic into different classes based on service level requirements (i.e., they do not incorporate service level requirements of different types of traffic in lightpath calculations).
  • Optical network topology databases and optical network operations are described.
  • a number of wavelength division multiplexing access nodes employ a distributed search based scheme to build network topology databases based on a set of one or more connectivity constraints.
  • a set of one or more connectivity constraints that include quality of service (QoS) based criteria are applied on a physical network topology of a wave length division multiplexing optical network to divide that optical network into separate service levels.
  • QoS quality of service
  • service level topologies are determined for each of the service levels.
  • a number of wavelength division multiplexing access nodes of an optical network employ a source based scheme to establish communication paths.
  • Each of these access nodes stores a set of one or more network topology databases based on a set of one or more connectivity constraints.
  • a wavelength division multiplexing optical network includes a number of nodes each having an optical cross connect and each having stored therein a database representing conversion free connectivity from that node to others of the nodes.
  • each of the nodes employs a messaging scheme to propagate notification of changes in the optical network to others of the nodes to maintain their databases.
  • the messaging scheme in each of the nodes transmits messages to only selected ones of the other nodes based at least in part on the conversion free connectivity to minimize the number of communications between nodes.
  • Figure 1 is a block diagram illustrating an exemplary optical network according to one embodiment of the invention.
  • Figure 2 is a block diagram illustrating exemplary QoS based logical network views of the exemplary optical network of Figure 1 according to certain embodiments of the invention.
  • Figure 3 A illustrates service level A's conversion free service level topology for NI of the optical network in Figure 2 according to certain embodiments of the invention.
  • Figure 3B illustrates service level B's conversion free service level topology for NI of the optical network in Figure 2 according to certain embodiments of the invention.
  • Figure 3C illustrates service level C's conversion free service level topology for NI of the optical network in Figure 2 according to certain embodiments of the invention.
  • Figure 4 is a block diagram illustrating a hierarchy of terms according to certain embodiments of the invention.
  • Figure 5 is a flow diagram for building and maintaining network topology databases with a set of connectivity constraints according to certain embodiments of the invention.
  • Figure 6 is a flow diagram illustrating the provisioning of lightpaths according to certain embodiments of the invention.
  • Figure 7 is a block diagram illustrating an exemplary access node according to certain embodiments of the invention.
  • Figure 8 is an exemplary data flow diagram of a distributed search based technique's formation of service level A's service level topology for NI of the optical network in Figure 2 according certain embodiments of the invention.
  • Figure 9 is a flow diagram performed by each access node when joining an optical network according to embodiments of the invention.
  • Figure 10 is a flow diagram illustrating a service level topology build-up for a single service level according to embodiments of the invention.
  • Figure 11 is a flow diagram illustrating operations performed by nodes responsive to a connectivity request message received over a link according to certain embodiments of the invention.
  • Figure 12 is the flow diagram illustrating operations performed by an access node to allocate a path according to certain embodiments of the invention.
  • Figure 13 is a flow diagram illustrating operations performed by an access node responsive to an update routing database message according to certain embodiments of the invention.
  • Figure 14 is a flow diagram illustrating operations performed by an access node responsive to an update allocate channel message according to certain embodiments of the invention.
  • Figure 15 is a flow diagram illustrating operations performed by the source node of a path responsive to that path being deallocated according to certain embodiments of the invention.
  • Figure 16 is a flow diagram illustrating operations performed by access nodes responsive to an update deallocate channel message according to certain embodiments of the invention.
  • Figure 17 is a flow diagram illustrating the operations performed by the access nodes connected by the link on which the channel is added/removed according to certain embodiments of the invention.
  • Figure 18 is a flow diagram illustrating the operations performed by an access node responsive to receiving an update add/remove channel message according to certain embodiments of the invention.
  • Figure 19 is a flow diagram illustrating the operations performed by the access nodes connected by the removed link according to certain embodiments of the invention.
  • Figure 20 is a flow diagram illustrating the operations performed by an access node responsive to receiving a link removal message according to certain embodiments of the invention.
  • Figure 21 is a flow diagram illustrating the operations performed by the access nodes connected by the added link according to certain embodiments of the invention.
  • Figure 22 is a flow diagram illustrating the operations performed by an access node responsive to receiving a link addition message according to certain embodiments of the invention.
  • Figure 23 is a flow diagram illustrating the operations performed by the access node(s) adjacent a removed node according to certain embodiments of the invention.
  • Figure 24 is a flow diagram illustrating the operations performed by an access node responsive to receiving a node removal message according to certain embodiments of the invention.
  • Figure 25 is a flow diagram illustrating the operations performed by an access node responsive to receiving a node addition message according to certain embodiments of the invention.
  • Coupled may mean that two or more elements are in direct physical or electrical contact. However, “coupled” may also mean that two or more elements are not in direct contact with each other, but yet still co-operate or interact with each other.
  • a set of one or more connectivity constraints is imposed on the building/maintaining of network topology databases.
  • the set of connectivity constraints includes one or more QoS based criteria; thus, effectively dividing the optical network into QoS based logical network views that may be used to provision different wavelengths for different classes of traffic based on differing QoS requirements.
  • the set of one or more connectivity constraints includes a conversion free constraint; this allows for establishing conversion free optical circuits.
  • a distributed search based technique is used for building and maintaining network topology databases based on a set of connectivity constraints.
  • an optical network uses a source based scheme in which network topology databases, based on a set of connectivity constraints, are kept in access nodes.
  • the reduced network topology database size (as compared to a physical network topology database) and distributed nature of this source based scheme allows for the provisioning of optical circuits in real-time (or on the fly; that is, the demands do not need to know ahead of time).
  • each of the above aspects is independent, different embodiments may implement different ones and/or combinations of the above aspects of the invention.
  • certain embodiments of the invention include in the set of connectivity constraints both QoS criteria and conversion free constraints.
  • the network topology databases based on this set of connectivity constraints: 1) have reduced size over full physical connectivity network topology databases; 2) allow different traffic to be given different wavelengths based on QoS for different classes of traffic; and 3) allow for establishing conversion free optical circuits. While certain of these embodiments implement source based schemes and build/maintain the network topology databases using a distributed search based technique, others of these embodiments may use a different scheme and/or a different database building/maintaining technique.
  • the QoS critera may include bandwidth, bit error rate, optical signal to noise ratio, peak noise level, re-routing priority, etc.
  • the QoS criteria may include any criteria that allows different wavelengths to be distinguished from each other based on quality of service.
  • the values for the QoS criteria may be determined based on the configuration (e.g., the type of laser used) and/or by monitoring the light.
  • the QoS criteria is used to classify wavelengths on links into one of the set of supported service levels.
  • the wavelength parameters of a given wavelength on a given link are compared against the service level parameters to classify that wavelength into one of the service levels.
  • a given optical network device may have different groups of wavelengths implemented to operate at different bandwidths (e.g., group A at OS-X, group B at OS-Y, and group C at OS-Z) and service level parameters that distinguish based on bandwidth.
  • the optical network not only has a given interconnectivity at the physical link level (a physical topology), but also has a given interconnectivity for each service level (for each service level, a service level topology for the network and for each node), and a given interconnectivity for each conversion free service level (for each service level, a conversion free service level topology for each node).
  • Figure 1 is a block diagram illustrating an exemplary optical network according to one embodiment of the invention.
  • the optical network of Figure 1 includes 5 access nodes labeled NI, N2, N3, N4, and N5.
  • the ability to implement multiple lamdas on a single link is represented in simplified form by numbering the lamdas; lamdas having the same number are the same wavelength.
  • Figure 1 shows the numbered lamdas available on each optical link of the exemplary optical network.
  • available when used in conjunction with a lamda number indicates that the node is capable of producing that wavelength; the terms allocated and unallocated are used to identify whether or not that available wavelength is currently provisioned.
  • node number is used to indicate there is an optical link between those nodes; and node number: node number equals lamda number(s) indicates the wavelengths available on that link.
  • topology in Figure 1 is exemplary, and that the invention can be used with any number of different topologies.
  • Figure 1 illustrates different wavelengths being available on different optical links, it is understood that the same wavelengths may be available on all of the optical links.
  • optical network devices may be implemented with lasers to allow them to generate a variety of different wavelengths and the invention is equally applicable to optical networks containing one or more such optical network devices.
  • embodiments of the invention will be described with reference to the wavelengths illustrated in Figure 1. While the exemplary optical network in Figure 1 is made up of access nodes, embodiments of the invention are equally applicable to optical networks that include pass through nodes.
  • FIG. 2 is a block diagram illustrating exemplary QoS based logical network views of the exemplary optical network of Figure 1 according to certain embodiments of the invention.
  • the set of supported service levels includes service levels A, B, and C.
  • the wavelength parameters of each wavelength on each link have been compared against the service level parameters to classify each wavelength on each link into one of the service levels A, B, and C.
  • SA, SB, SC service level label
  • the format for identifying the wavelengths on a given link classified to a given service level is best provided by example.
  • Figure 1 illustrates the connectivity at the physical link level
  • Figure 2 illustrates the connectivity for each service level (a service level topology for the network). Effectively, this service level node connectivity divides the optical network into QoS based logical network views as illustrated.
  • this service level node connectivity divides the optical network into QoS based logical network views as illustrated.
  • Figures 3A-C illustrate the conversion free service level topologies for service levels A-C for NI of the optical network in Figure 2 according to certain embodiments of the invention. Specifically, Figures 3A-C illustrate conversion free service level topologies in the form of trees having NI as the root with branches representing links from node to node through the network.
  • the phrase "path service level channel set" refers to the intersection set of the link service level channel sets on the links of the path.
  • the path service level channel set for the path N1:N2:N4:N5 at service level A is the intersection set of the link service level channel sets SA (N1:N2), SA (N2:N4), and SA (N4:N5).
  • Figure 3A illustrates service level A's conversion free service level topology for NI of the optical network in Figure 2 according to certain embodiments of the invention.
  • NI has branches to N2 and N3.
  • both lamda 1 and lamda 2 are available at service level A.
  • lamda 1 and lamda 2 make up the path service level channel set for service level A.
  • the path service level channel set includes lamda 1 and 2.
  • N2 and N3 there is a branch to a different representation of N4.
  • the branch from N2 to N4 represents the path N1:N2:N4. Since the link service level channel sets for N1:N2 and for N2:N4 respectively include lamda 1,2 and lamda 2, the intersection of these link service level channel sets includes only lamda 1 (the only conversion free N1:N2:N4 path uses lamda 1 on both N1:N2 and N2:N4). As such, the path service level channel set for the path N1:N2:N4 includes only lamda 1. In contrast, the branch from N3 to N4 represents the path N1:N3:N4. Since the intersection of the link service level channel sets for N1:N3 and N3:N4 includes lamda 1 and 2, the path service level channel set for the path N1:N3:N4 includes lamda 1 and 2.
  • Figure 3B illustrates service level B's conversion free service level topology for NI of the optical network in Figure 2 according to certain embodiments of the invention. Since there is no lamda that qualifies for service level B on the link N1:N3, the tree of Figure 3B does not have a branch from NI to N3. However, there is a branch from NI to N2, and the path service level channel set for the branch from NI to N2 includes lamda 3. N2 has a branch to N4, which branch has as its path service level channel set lamda 3. Since there is no lamda qualifying for service level B on the link from N4 to N3, there is not a branch from N4 to N3. However, there is a branch to N5, and the path service level channel set for N1:N3:N4:N5 includes lamda 3.
  • Figure 3C illustrates service level C's conversion free service level topology for NI of the optical network in Figure 2 according to certain embodiments of the invention.
  • the tree of Figure 3C has branches from NI to: 1) N2 with path service level channel set lamda 4; and 2) N3 with path service level channel set lamba 4.
  • N2 no branch from N2 because wavelength conversion would be necessary (the link service level channel set for N2:N4 is lamda 5, whereas the path service level channel set for the path from NI to N2 includes lamda 4).
  • N3 to N4 which branch has as its path service level channel set lamda 4.
  • a given topology for a node may be service level based and/or conversion free based (depending on the set of connectivity constraints used).
  • service level topology indicates that at least a QoS based criteria is used, but it does not exclude the use of conversion free criteria (except where otherwise indicated herein);
  • conversion free topology indicates that at least a conversion free criteria is used, but it does no exclude the use of a QoS based criteria (except where otherwise indicated herein).
  • topology for a node is service level based does not indicate whether or not it is also conversion free based; to say a topology for a node is conversion free based does not indicate whether or not it is also service level based; but to say a topology for a node is conversion free based and QoS based indicates it must be both.
  • the set of connectivity constraints includes QoS based criteria
  • the set of connectivity constraints includes a conversion free criteria
  • Different embodiments may store network topology databases that represent one or more of these different topologies in different devices depending on the implementation and the set of connectivity constraints used.
  • a centralized network management server may store network topology database(s) representing: service level topologies for the network, service level topologies for each node, one or more conversion free topologies for each node, and/or conversion free service level topologies for each node.
  • each access node may store may store network topology database(s) representing: service level topologies for the network, service level topologies for that node, one or more conversion free topologies for that node, and/or conversion free service level topologies for that node. It should be understood that other configurations are within the scope of the invention.
  • Figure 4 is a block diagram illustrating a hierarchy of terms according to certain embodiments of the invention. The terms illustrated in Figure 4 will be used with respect to certain embodiments of the invention described below.
  • the network is divided into a set of one or more service levels, each service level includes a set of zero or more possible end to end paths, each of these possible end to end paths includes a set of one or more links, and each link includes one or more available lamdas.
  • the possible end to end paths of a given service level are referred to as the set of possible end to end service level paths (all paths that can be made between access nodes with the available lamdas at that service level).
  • the union of the possible end to end service level paths of all the service levels is referred to as the set of possible end to end network paths.
  • the links making up a given path are referred to as the set of path links, whereas the union of the links of all the possible end to end paths in a set of possible end to end service level paths is referred to as the set of service level links.
  • link lamdas The lamdas on a link of a possible end to end path of a service level are referred to as the link lamdas, whereas the union of the lamdas on the links of a possible end to end path of a service level are referred to as the path lamdas.
  • service level link lamdas is used to refer to the links of the service level links and the lambas thereon qualifying for that service level.
  • the hierarchy illustrated in Figure 4 provides a framework for the set of connectivity constraints including one or more QoS based criteria that divide the network into service levels.
  • the set of one or more connectivity constraints also includes a conversion free constraint
  • the link lamdas of the links of a possible end to end path of a service level will all be the same. In other words, to provide a conversion free end to end path, the same lamda must be used on each link of the end to end path (that lamda must qualify for the same service level on each link of the path).
  • the set of connectivity constraints does not include a conversion free constraint, the set of link lamdas may be different for different links of a possible end to end path of a service level.
  • FIG. 5 is a flow diagram for building and maintaining network topology databases with a set of connectivity constraints according to certain embodiments of the invention. It should be understood that different ones of the blocks in Figure 5 could be performed in a distributed and/or centralized manner as described in more detail below.
  • the lamdas for each link are tracked and control passes to block 505. While certain embodiments of the invention use a link management protocol (LMP) to discover the adjacent links between nodes, alternative embodiments of the inventions may use other techniques (e.g., a manual input technique into each node, a manual input technique into a centralized network management server, etc.).
  • LMP link management protocol
  • embodiments of the invention include a monitoring unit in one or more nodes of the network to measure wavelength parameters
  • alternative embodiments of the invention can use other techniques (e.g., periodic external testing devices, manual input into to each node of wavelength parameters, manual input of wavelength parameters into a centralized network management server, etc.).
  • block 510 a classification by QoS criteria is maintained for the lamdas of each link to determine the service level link lamdas and control flows to block 515. While in certain embodiments block 510 is performed by each node for its adjacent links, alternative embodiments of the invention use an alternative technique (e.g., a centralized network management server performs block 510 responsive to receiving wavelength parameter information as discussed with reference to block 505).
  • a centralized network management server performs block 510 responsive to receiving wavelength parameter information as discussed with reference to block 505
  • the service level connectivity based on the conversion criteria is maintained for each service level.
  • the service level connectivity that is maintained would include the available lamdas and the status as either allocated or unallocated. While in certain embodiments of the invention, the service level connectivity is built in distributed fashion and maintained in the access nodes, alternative embodiments of the invention use alternative techniques (e.g., perform such in a centralized network management server).
  • the conversion criteria represents the number of wavelength conversions allowable for a given optical circuit. For example, if one of the connectivity constraints is a conversion free connectivity constraint, the number of wavelength conversions allowable is zero.
  • Figure 6 is a flow diagram illustrating the provisioning of lightpaths according to certain embodiments of the invention. Different embodiments of the invention may implement such provisioning using a source based, centralized, hybrid, or other provisioning scheme.
  • demand criteria is received.
  • This demand criteria represents a request for a communication path (e.g., an optical circuit, a lightpath, a end-to-end unidirectional path, etc.).
  • control passes to block 610.
  • the demand criteria is received by an access node in the optical network.
  • such demands are received by the network management server directly from the requestor and/or from an access node in the optical network receiving the demand criteria.
  • alternative embodiments of the invention can use other schemes and/or implement the schemes in other ways.
  • the service level is determined if it was not specified and control passes to block 615.
  • certain demand requests may come from entities aware of the service levels provided by the optical network, other entities making requests may not. These later entities may either not include any parameters or include parameters from which a service level can be determined.
  • block 615 it is determined if there is an end to end path available at the determined service level. If there is a path available, control passes to block 620. Otherwise, control passes to block 625.
  • a path and necessary lamda(s) are selected and allocated.
  • the number of different wavelengths allocated will depend upon the wavelength conversion criteria (e.g., where a conversion free connectivity constraint is used, the same wavelength(s) will be used across each link of the selected path). Since this allocation affects the service level connectivity of block 515, block 515 is updated (e.g., some action is taken responsive to the allocation, periodic checks of the formed, etc.).
  • the source node performs block 620 by: 1) selecting the path and lamda(s); and 2) communicating with the other nodes of the optical network to allocate.
  • block 620 is performed by a network management server performing the selection and communicating the allocation to the nodes on the path.
  • a network management server performing the selection and communicating the allocation to the nodes on the path.
  • alternative embodiments of the invention could implement other schemes in other ways.
  • alternative action is taken depending upon the manner in which the optical network is administered. For instance, one or more of the following may be options: using a path from a higher service level, muxing two or more paths from lower service levels, allocating a single path from a lower service level, denying, allowing for an increased amount of wavelength conversions to occur, etc.
  • the addition of a wavelength, link or node results in an updating through blocks 505, 510 and 515.
  • the loss of a wavelength, link or node is treated as a failure upon which some action is taken depending upon the redundancy scheme being implemented (different embodiments of the invention can use different redundancy schemes) or an elimination of that wavelength, link or node from the network.
  • a request to change the demand criteria for a given provisioned service (e.g., a request to lower or raise the service level of a given provisioned service) is also addressed by certain embodiments of the invention.
  • certain such embodiments respond to such requests by allocating a new path, and if successful and necessary, moving the traffic from the old path to the new allocated path and deallocating the old path. While different embodiments can perform the above using of variety of different techniques, embodiments using a source based scheme are discussed by way of example, and not by limitation, below.
  • one or more parts of an embodiment of the invention may be implemented using any combination of software, firmware, and/or hardware.
  • Such software and/or firmware can be store and communicated (internally and with other access nodes over the network) using machine-readable media, such as magnetic disks; optical disks; random access memory; read only memory; flash memory devices; electrical, optical, acoustical or other form of propagated signals (e.g., carrier waves, infrared signals, digital signals, etc.); etc.
  • Exemplary Distributed Search Technique Certain embodiments of the invention will now be described with reference to a distributed search based technique for building and maintaining in source nodes network topology databases based on a set of connectivity constraints that includes QoS criteria and conversion free constraints.
  • alternative embodiments may use a distributed technique, but not build and maintain the service level topology databases in the source nodes (e.g., they may be built and maintained in a centralized network management server).
  • alternative embodiments can use alternative techniques (e.g., a centralized technique).
  • alternative embodiments of the invention may not include the conversion free connectivity constraint, or relax it when necessary (e.g., when there is no conversion free end to end path at the requested service level).
  • FIG. 7 is a block diagram illustrating an exemplary access node according to certain embodiments of the invention.
  • Figure 7 shows a control plane 700 coupled with a data plane 701.
  • the control plane 701 includes node databases 702 coupled with node modules 735.
  • the control plane 700 includes other items (e.g., protocols).
  • Figure 7 shows the node databases 702 include a service level connectivity database 705, a service level parameter database 710, a link state database 715, and a routing database 720.
  • the link state database 715 includes a set of one or more link state structures 725, one for each link connected to that node. While in certain embodiments these links are discovered through a link management protocol, alternative embodiments could use other techniques as described above.
  • Each link state structure records a neighboring node, a port through which that neighboring node is connected (fiber links end up at a port on the node), available wavelengths on that link (through the port), as well as each wavelength's parameters.
  • the service level parameter database 710 stores the service level parameters previously discussed herein.
  • the service level connectivity database includes a set of one or more service level topology structures 730, one for each service level.
  • Each of these service level topology structures stores a representation of the conversion free service level topology for that node (e.g., see Figures 3A-C).
  • the service level topology structure for each service level would track the allocated/unallocated status for each lamda in its topology.
  • the status may not be limited to being allocated or unallocated. For example, a lamba that has failed due to a fiber cut, could be assigned a status of "broken".
  • the granularity for tracking allocated/unallocated status is simply the lamda level. However, in embodiments that allow for unidirectional path allocation, the granularity of allocated/unallocated status is a status for each direction for each lamda.
  • the node modules 735 includes a start up module 740, a connectivity request module 745, an allocate module 750, a Deallocate module 755, and an add/remove module 760.
  • the operation of these modules in certain exemplary embodiments will be described respectively with respect to figures 9-10, 11, 12-14, 15-16, and 17-18.
  • Figure 8 is an exemplary data flow diagram of a distributed search based technique's formation of service level A's service level topology for NI of the optical network in Figure 2 according certain embodiments of the invention.
  • Figure 9-11 are flow diagrams for a distributed search based technique for building service level topologies, using a set of connectivity constraints including QoS criteria and conversion free criteria, in access nodes of an optical network.
  • Figures 9- 11 will be described with reference to the exemplary data flow diagram of Figure 8. The operations of this and other flow diagrams will be described with reference to the exemplary embodiments of the other diagrams.
  • Figure 9 is a flow diagram performed by each access node when joining an optical network according to embodiments of the invention. This flow diagram begins responsive to provision of wavelength parameters and service level parameters (905). With reference to the databases in Figure 7, this would occur responsive to the populating of the service level parameter database 710 and the link state database 715.
  • the service level parameter database is populated by the service provider through the network management interface.
  • block 910 the number of service levels are determined and control passes to block 915.
  • block 910 is performed by parsing the service level parameter database.
  • link service level channel set for service level A for each node shown in Figure 8 is illustrated by a box next to that node. From block 915, control passes to block 920.
  • Figure 10 is a flow diagram illustrating a service level topology build-up for a single service level according to embodiments of the invention. Thus, the flow of Figure 10 would be performed for each service level responsive to block 920.
  • a service level topology structure is instantiated and populated with any qualifying adjacent nodes (adjacent nodes for which this source node has any non-null link service channel sets at this service level) and control passes to block 1010.
  • NI would instantiate a service level topology structure 730 in its service level connectivity database 705.
  • the service level topology structure would include at its root NI, as well as a branch to each of N2 and N3.
  • each connectivity request message includes a request ED, a source node ID, a forward node ID, a service level, and a computed set (a set of one or more paths, as well as the path service level channel set for each). While all of these fields are not needed for block 1010 (e.g., the source node is the same as the forward node, the needed information in the computed set is already known by the adjacent nodes), they are used as the search moves through the network (see figure 11).
  • each connectivity request message includes the above noted fields
  • alternative embodiments could be implemented other ways (e.g., while full versions of connectivity request message could be used for figure 11, reduced versions of connectivity request messages could be used for block 1010; such reduced versions could include simply the request ID, source node LD, and service level).
  • NI transmits a connectivity request message to each of N2 and N3 (the source node ID is NI, and the service level is A).
  • the service level topology structure is updated responsive to connectivity response messages received.
  • the nodes transmitting such connectivity response messages and the contents of such connectivity response messages are described later herein with respect to Figure 11.
  • the received data is added to the appropriate branch of the appropriate service level topology structure.
  • the path, identified in the received message, of the service level topology structure, for the service level identified in the received message is complete.
  • the service level topology structure for service level A would represent something similar to that shown in Figure 3A.
  • a table is maintained with each of the available paths and its corresponding path service level channel set (e.g., each entry in the table store one of the available paths and its corresponding path service level channel set).
  • FIG 11 is a flow diagram illustrating operations performed by nodes responsive to a connectivity request message received over a link according to certain embodiments of the invention.
  • node N2 receives the connectivity request message from node NI.
  • block 1110 it is determined if the connectivity request message was previously processed. If so, control passes to block 1115; at which point this flow is complete. Otherwise, control passes to block 1120.
  • a connectivity request message could have been previously processed because it was received from a different adjacent node. The determination as to whether a connectivity request message was previously processed could be performed in a number of different ways. For example, in an embodiment in which connectivity request messages include the request ID and the source node ID, this determination can be made by comparing this request ID and source node ID of the current connectivity request message to a log of such for previous connectivity request messages.
  • the intersection of the received path service level channel set for the path to this node with the link service level channel set for each propagation port is determined. From block 1125, control passes to block 1130.
  • the phrase propagation port is used to refer to any ports other than: 1) the one the connectivity request message was received on; and 2) a port connected to the source node (i.e., the source node is adjacent to this node).
  • the propagation ports are determined by selecting links from the link state database that are not connected to the forward node ID and source node ID identified in the connectivity request message.
  • N2 since N2 received the connectivity request over the link to NI and since NI is the source node, N2 would select the port through which a link to node N4 is connected. N2 would then determine the intersection of the path service level channel set for N1:N2 with the link service level channel set for N2:N4. This intersection set is the path service level channel set for N1:N2:N4 and is included in the computed set (path service level channel sets are shown in Figure 8 by dashed boxes, such as the one under N2).
  • the computed set represents the intersection of the preceding link service level channel sets for the path the connectivity request message has traveled.
  • the computed set is the same as the link service level channel set for the link over which the connectivity request message was transmitted. However, as the connectivity request message gets retransmitted to other nodes, the computed set will represent the paths traveled and the intersection set for each such path.
  • each connectivity response message includes the service level, request ID, response node ID, and computed set.
  • N2 would transmit to NI a connectivity response message including as the computed set N1:N2:N4, lamda 1.
  • a connectivity request message with the intersection set(s) as path service level channel set(s), is transmitted on the propagation ports and control passes to block 1115.
  • node N2 N2 would transmit to N4 a connectivity request message.
  • connectivity request messages include request ED, a source node ID, a forward node ID, a service level, and a computed set
  • N2 would respectively fill these fields with the request ID, NI, N2, A, and the computed set N1:N2:N4, lamda 1.
  • a connectivity stop message is transmitted back to the source node and control passes to block 1115.
  • a connectivity stop message includes the source node ID.
  • N3 determines the intersection set to N4 for service level A. N3 transmits this intersection set back to NI in a connectivity response message, as well as to N4 in a connectivity request message. Meanwhile, responsive to N2's connectivity request message, N4 determines intersection sets to N3 and N5 for service level A. N4 transmits these back to NI in a connectivity response message and transmits these to N3 and N5 in connectivity request messages. Responsive to N4's connectivity request messages: 1) N3 does nothing because it has seen this request ED before (the above connectivity request message from NI); and 2) N5 transmits back to NI a connectivity stop message. Responsive to N3's connectivity request message, N4 does nothing because it has seen this request ID before (the above connectivity request message from N2).
  • Figures 12-14 are flow diagrams illustrating the allocation of a path according to certain embodiments of the invention.
  • Figure 12 is the flow diagram illustrating operations performed by an access node to allocate a path according to certain embodiments of the invention. The operations in Figure 12 result in: 1) update routing database message(s) being sent to the nodes along the selected path being allocated; and 2) update allocate channel message(s) being sent to certain nodes.
  • Figure 13 is a flow diagram illustrating the operations performed by an access node responsive to an update routing database message according to certain embodiments of the invention;
  • Figure 14 is a flow diagram illustrating the operations performed by an access node responsive to an update allocate channel message according to certain embodiments of the invention.
  • an access node (which will act as the source node) receives a demand for a path and control passes to block 1210.
  • a demand for a path could be received by the access node.
  • OIF-UNI and/or OIF-NNI interfacing protocols are used to communicate with nodes and domains, respectively, which do not support GMPLS or MPLS.
  • Block 1210 the service level and destination node for the demand are determined and control passes to block 1220.
  • Block 1210 may be performed in a similar manner to block 605 of Figure 6.
  • Block 1220 it is determined if there is a path available at that service level. If not, control passes to block 1225. Otherwise, control passes to block 1230.
  • Block 1220 can be implemented in a variety of ways. With regard to the exemplary embodiment of Figure 7, the service level topology structure is parsed to determine if the destination node is reachable and there is an unallocated lamda available. While in certain embodiments, the service level topology structure is parsed responsive to a demand, alternative embodiments of the invention generate derivative structures that are faster to parse and/or pre-select (and may pre-allocate) various paths (e.g., see discussion later herein). Block 1220 is similar to block 615 of Figure 6.
  • Block 1225 As shown in block 1225, alternative action is taken. Block 1225 is similar to block 625, and the various alternatives discussed there are equally applicable here.
  • a path and channel are selected based upon selection criteria and control passes to block 1235.
  • the selection of path and channel includes the selection of a node: channel: port sequence for the path (it should be noted that where, as here, a conversion-free connectivity constraint is used, a single channel is used).
  • Various embodiments can use different selection criteria for selecting the path and channel. For instance, certain embodiments of the invention utilize load balancing as described later herein. It should also be understood that various path calculation techniques may be used, including Djikstra's algorithm.
  • the routing database is updated and control passes to block 1240.
  • the routing database is updated to reflect the connection of the incoming port identified by the demand in block 1205 with the outgoing channel: port of the selected path.
  • well-known techniques are used to modify the data plane of the access node accordingly (of course, alternative embodiments may be implemented to modify the data plane first and/or through a different mechanism). Whether a path in the opposite direction is also allocated depends on whether the implementation requires all paths to be bi-directional and/or a bi-directional path was requested in the demand.
  • update routing database message(s) are transmitted to nodes on the selected path and control passes to block 1245.
  • each update routing database message includes an update ID, as well as the channel and port information relevant to the recipient node of the message.
  • the selected service level topology structure is updated and control passes to block 1250.
  • the selected channel is marked as allocated in all path service level channel sets down stream of a link in the selected path.
  • the selected channel is marked allocated in the path service level channel set(s) of the available path(s) that include one or more links of the selected path.
  • the path NI: N2: N4 is allocated with lamda 1 in Figure 2.
  • lamda 1 would need to be marked as allocated from the path service level channel set of NI: N2, NI: N2: N4, NI: N2: N4: N3, NI: N2: N4: N5, and NI: N3: N4: N2 because each contains one or more links on the selected path.
  • an update allocate channel message is transmitted to nodes in the selected service level topology structure.
  • each update allocate channel message includes an update ID, a service level, a path, an allocated channel, and a sent-to-set.
  • the sent-to-set represents the set of nodes to which the message is going to be sent. While the nodes to which the message is to be sent can be determined in a variety of ways, certain embodiments of the invention parse the service level topology structure to identify all of the nodes (removing duplicates) apart from the source node.
  • Figure 13 is a flow diagram illustrating operations performed by an access node responsive to an update routing database message according to certain embodiments of the invention. In block 1310, the routing database is updated.
  • the receiving node's routing database is updated to reflect the connection identified in the received message.
  • well-known techniques are used to modify the data plane of the access node accordingly (of course, alternative embodiments may be implemented to modify the data plane first and/or through a different mechanism - e.g., signaling).
  • Block 1310 is performed in a similar fashion to block 1235 of Figure 12.
  • Figure 14 is a flow diagram illustrating operations performed by an access node responsive to an update allocate channel message according to certain embodiments of the invention.
  • block 1410 it is determined if any of the available paths of the service level topology structure for the service level of the allocated path contain one or more links of the selected path. If not, control passes to block 1415 where the flow diagram ends. If so, control passes to block 1420.
  • block 1410 is performed by parsing the appropriate service level topology structure to determine if any links on the selected path are represented therein.
  • block 1420 it is determined if any of the path service level channel set(s) of the available paths identified in block 1410 include the allocated wavelength. If not, control passes to block 1415. Otherwise, control passes to block 1425. In certain embodiments of the invention, block 1420 is performed by parsing the path service level channel set(s) of the identified path(s) to determine if the allocated wavelength is present. [00127] As shown in block 1425, the selected service level topology structure is updated and control passes to 1430. In certain embodiments of the invention, block 1425 is performed by marking the allocated wavelength as allocated in the path service level channel set(s) identified in block 1420.
  • block 1430 nodes are selected from the service level topology structure that are not identified in the received allocate channel message and control passes to block 1435.
  • block 1430 is performed by: 1) identifying as "new set” all of the nodes in the service level topology structure that are not in the sent-to-set in the received update allocate channel message (1405); and 2) forming an updated version of the sent-to-set that is the union of the new set and the sent-to set in the received update allocate channel message (1405).
  • block 1435 an update allocated channel message is transmitted to the selected nodes.
  • block 1435 is performed by transmitting an update allocate channel message with the updated sent-to-set to all nodes in the new set of block 1430.
  • FIG. 15 is a flow diagram illustrating operations performed by the source node of a path responsive to that path being deallocated according to certain embodiments of the invention. As part of the flow diagram in Figure 15, the source node of the path transmits update deallocate channel message(s) to certain other nodes.
  • Figure 16 is a flow diagram illustrating the operations performed by access nodes responsive to receiving an update deallocate channel message according to certain embodiments of the invention.
  • the service level of the channel being deallocated is determined and control passes to block 1515.
  • the service level is determined by parsing the link state database to locate the channel being deallocated.
  • Block 1520 the service level topology structure is updated and control passes to block 1525.
  • Block 1520 is performed in a similar fashion to block 1245, with the exception that the channel is marked unallocated.
  • the deallocated channel is marked as unallocated in all path service level channel sets down stream of a link in the deallocated path.
  • the deallocated channel is marked unallocated in the path service level channel set(s) of the available path(s) that include one or more links of the deallocated path.
  • the path NI: N2: N4 is deallocated with lamda 1 in Figure 2.
  • lamda 1 would need to be marked as unallocated from the path service level channel set of NI: N2, NI: N2: N4, NI: N2: N4: N3, NI: N2: N4: N5, and NI: N3: N4: N2 because each contains one or more links on the deallocated path.
  • an update deallocate channel message is transmitted to nodes in the service level topology structure and control passes to block 1530.
  • the set of nodes to which this message is sent is referred to the sent-to-set.
  • the update deallocate channel message includes the source node ID, the adjacent node ID, the path, the channel deallocated, the update ED, the service level, and the sent-to-set. While the nodes to which the message is to be sent can be determined in a variety of ways, certain embodiments of the invention parse the service level topology structure to identify all of the nodes (removing duplicates) apart from the source node.
  • the routing database is updated and control passes to block 1540.
  • the routing database 720 would be modified to remove the connection of the deallocated channel. Whether a path in the opposite direction is also deallocated depends on whether the implementation requires all paths to be bi-directional and/or the path being deallocated was bi-directional.
  • update routing database message(s) are transmitted to nodes on the selected path.
  • each update routing database message includes an update ID, as well as the channel and port information relevant to the recipient node of the message.
  • a recipient access node responds to the receipt of such a message by modifying its routing database to reflect the disconnection of the incoming channel:port and the outgoing channel: port as specified in the message.
  • FIG. 16 is a flow diagram illustrating operations performed by access nodes responsive to an update deallocate channel message according to certain embodiments of the invention.
  • block 1610 it is determined if any of the available paths of the service level topology structure for the service level of the deallocated path contain one or more links of the deallocated path. If not, control passes to block 1615 where the flow diagram ends. If so, control passes to block 1620.
  • block 1610 is performed by parsing the appropriate service level topology structure to determine if any links on the deallocated path are represented therein.
  • block 1620 it is determined if any of the path service level channel set(s) of the available paths identified in block 1610 include the deallocated wavelength. If not, control passes to block 1615. Otherwise, control passes to block 1625. In certain embodiments of the invention, block 1620 is performed by parsing the path service level channel set(s) of the identified path(s) to determine if the allocated wavelength is present.
  • block 1625 the selected service level topology structure is updated and control passes to 1630.
  • block 1625 is performed by marking the deallocated wavelength as unallocated in the path service level channel set(s) identified in block 1620.
  • block 1630 the nodes in the service level topology structure that are not identified in the received update deallocate channel message are selected and control passes to block 1635.
  • block 1630 is performed by: 1) identifying as "new set” all nodes in the service level topology structure that are not in the sent-to-set in the received update deallocate channel message (1605); and 2) forming an updated version of the sent-to-set that is the union of the new set and the sent-to-set in the received update deallocate channel message (1605).
  • an update deallocate channel message is sent to the selected nodes and control passes to block 1615.
  • this update deallocate channel message includes the new sent-to-set determined in block 1630 as opposed to the sent-to-set in the received update deallocate channel message (1605).
  • a request to change the demand criteria for a given provisioned service (e.g., a request to lower or raise the service level of a given provisioned service) is also addressed by certain embodiments of the invention.
  • certain such embodiments respond to such requests by allocating a new path, and if successful and necessary, moving the traffic from the old path to the new allocated path and de-allocating the old path.
  • the reduced network topology database size (as compared to a physical network topology database) and distributed nature of this source based scheme allows for the provisioning of optical circuits in real-time (or on the fly; that is, the demands do not need to know ahead of time).
  • the QoS based criteria allows for differentiation of traffic types at the optical layer.
  • a given service to a customer can be at a higher service level during the day, and dropped down to the lower service level at night. Of course, such switches can occur even more often.
  • implementations can push SONET out to the edge of the network.
  • network layers can be directly carried over optical (e.g., IP or ATM, or SONET).
  • Figures 17 and 18 are flow diagrams illustrating operations performed when either a channel is added or a channel without live traffic is removed according to certain embodiments of the invention.
  • the operations of Figure 17 are performed by the access nodes connected by the link on which the channel is added or removed (also referred to as the adjoining nodes or the access nodes made adjacent by that link). As part of these operations, an update add remove channel message is transmitted to certain other nodes.
  • the operations of Figure 18 are performed by an access node responsive to such an update add/remove channel message.
  • Figure 17 is a flow diagram illustrating the operations performed by the access nodes connected by the link on which the channel is added/removed according to certain embodiments of the invention.
  • block 1710 the service level of the channel is determined and control passes to block 1715.
  • block 1710 is performed, according to certain embodiments of the invention, by comparing that channel's wavelength parameters to the service level parameters to classify it into one of the service levels.
  • block 1710 is performed, according to certain embodiments of the invention, by accessing the link state database of Figure 7.
  • a connectivity request message is transmitted on the link carrying the channel and control passes to blocks 1720 and 1725.
  • Block 1715 is performed in a similar manner to block 1515 of Figure 15.
  • the service level topology structure is updated responsive to connectivity response messages received.
  • block 1720 is performed in a similar manner to block 1015 of Figure 10 with a variation. Since certain data already exists in the service level topology structure, the received data in the connectivity response messages is used to update (add, remove, and/or alter) the existing service level topology structure. In the case of a channel removal, in certain embodiments of the invention, the channel on each path with the link may be either removed from the service level topology structure or marked broken.
  • each update add/remove channel message includes an update ID, the wavelength, whether this is an addition or removal, the source node ED, the source adjacent node ED, the service level, and the sent-to-set.
  • the source node and the source adjacent node identified are the access nodes connected by the link on which the channel was added/removed.
  • the sent-to-set includes the nodes in the service level topology structure that the message is sent to in block 1725 (all nodes in the service level topology structure other than the source node and source adjacent node).
  • Figure 18 is a flow diagram illustrating the operations performed by an access node responsive to receiving an update add/remove channel message according to certain embodiments of the invention.
  • block 1810 it is determined if the service level topology structure includes path(s) with the link to which the channel was added/removed. If not, control passes to block 1815 where the flow diagram ends. If so, control passes to block 1820.
  • block 1810 is performed by searching the service level topology structure (for the service level identified in the received update add/remove channel message) for the link identified in the received update add/remove channel message (based on the source node ID and source adjacent node ED contained therein).
  • connectivity request message(s) are transmitted on link(s) of these paths and control passes to blocks 1825 and 1830.
  • the access node transmits a connectivity request message on each of its links that are part of these paths.
  • Block 1825 the service level topology structure is updated responsive to connectivity response messages received. Block 1825 is performed in a similar fashion to block 1720 of Figure 17.
  • block 1830 nodes are selected from the service level topology structure that are not identified in the received update add/remove channel message and control passes to block 1835.
  • block 1830 is performed by: 1) identifying as "new set” all of the nodes in the service level topology structure that are not in the sent-to-set in the received update add/remove channel message (1805); and 2) forming an updated version of the sent-to-set that is the union of the new set and the sent-to set in the received update add/remove channel message (1805).
  • an update add/remove channel message is transmitted to the selected nodes.
  • this update add/remove channel message will: 1) identify whether this is an addition or removal; and 2) include the updated sent-to-set as opposed to the sent-to-set in the received update add/remove channel message (1805).
  • each involved access node determines if they are the source node of any allocated path(s) that includes the link and uses the removed channel. If so, that access node executes a redundancy (protection) scheme.
  • FIGS. 19 and 20 are flow diagrams illustrating operations performed when a link is removed according to certain embodiments of the invention.
  • the operations of Figure 19 are performed by the access nodes connected by the link (also referred to as the adjoining nodes or the access nodes made adjacent by that link).
  • a link removal message is transmitted to certain other nodes.
  • the operations of Figure 20 are performed by an access node responsive to such a link removal message.
  • Figure 19 is a flow diagram illustrating the operations performed by the access nodes connected by the removed link according to certain embodiments of the invention.
  • Block 1910 is used to indicate that the following blocks are performed for each service level.
  • block 1915 it is determined if the service level topology structure includes path(s) with the removed link. If not, control passes to block 1930. If so, control passes to block 1925. In certain embodiments of the invention, block 1915 is performed by searching the service level topology structure for the presence of the removed link.
  • the service level topology structure is updated and control passes block 1930.
  • any of the channels in these path's path service level channel set(s) that are in common with the link service level channel set of the removed link are marked broken (indicating that the channel(s) cannot be used). While in certain embodiments of the invention channels marked broken are maintained indefinitely, other embodiments of the invention delete such marked channels (and corresponding paths) after a period of time if the link is not reestablished. In other embodiments of the invention, these path(s) and channels are simply deleted immediately and added back in (see the link addition section) if they are reestablished.
  • each link removal message includes the link service level channel set of the removed link, the source node ID, the source adjacent node ID, an update ID, the service level, and the sent-to-set.
  • the source node and the source adjacent node identified are the access nodes connect to the removed link.
  • the sent-to-set includes the nodes in the service level topology structure that the message is sent to (all nodes in the service level topology structure other than the source node and source adjacent node).
  • Figure 20 is a flow diagram illustrating the operations performed by an access node responsive to receiving a link removal message according to certain embodiments of the invention.
  • block 2010 it is determined if the service level topology structure includes path(s) with the removed link. If not, control passes to block 2020. If so, control passes to block 2015.
  • block 2010 is performed by searching the service level topology structure (for the service level identified in the received link removal message) for the link identified in the received link removal message (based on the source node ID and source adjacent node ED contained therein).
  • the service level topology structure is updated and control passes block 2020.
  • any of the channels in these path's (identified in block 2010) path service level channel set(s) that are in common with the link service level channel set of the removed link are marked broken (indicating that the channel(s) cannot be used). While in certain embodiments of the invention channels marked broken are maintained indefinitely, other embodiments of the invention delete such marked channels (and corresponding paths) after a period of time if the link is not reestablished. In other embodiments of the invention, these path(s) and channels are simply deleted immediately and added back in (see the link addition section) if they are reestablished.
  • block 2020 nodes are selected from the service level topology structure that are not identified in the received link removal message and control passes to block 2025.
  • block 2020 is performed by: 1) identifying as "new set” all of the nodes in the service level topology structure that are not in the sent-to-set in the received link removal message (2005); and 2) forming an updated version of the sent-to-set that is the union of the new set and the sent-to set in the link removal message (2005).
  • an link removal message is transmitted to the selected nodes. As before, this link removal message will include the updated sent-to-set as opposed to the sent-to-set in the received link removal message (2005).
  • each involved access node determines if they are the source node of any allocated path(s) that includes the link. If so, that access node executes a redundancy (protection) scheme.
  • FIGS. 21 and 22 are flow diagrams illustrating operations performed when a link is added according to certain embodiments of the invention.
  • the operations of Figure 21 are performed by the access nodes connected by the link (also referred to as the adjoining nodes or the access nodes made adjacent by that link).
  • a link addition message is transmitted to certain other nodes.
  • the operations of Figure 22 are performed by an access node responsive to such a link addition message.
  • Figure 21 is a flow diagram illustrating the operations performed by the access nodes connected by the added link according to certain embodiments of the invention.
  • the wavelength(s) on the added link are classified by service level parameters to form link service level channel set(s) and control passes to block 2110.
  • block 2107 is performed in a similar manner to block 915, with the exception that only the added link is processed.
  • Block 2110 is used to indicate that the following blocks are performed for each service level to which new channels were added (those service levels for which the link service level channel set of the added link is not null).
  • connectivity request message(s) are transmitted to the qualifying adjacent node(s) and control passes to blocks 2120 and 2125.
  • block 2115 is performed in a similar manner to block 1010.
  • block 2120 the service level topology structure is updated.
  • block 2120 is performed in a similar manner to blocks 1005 and 1015 of Figure 10 with a variation.
  • the service level topology structure is populated with the access node made adjacent by the added link (the service level topology structure was already populated with any other adjacent nodes).
  • the received data in the connectivity response messages is used to update the existing service level topology structure (add what is not already present).
  • each link addition message is transmitted to nodes in the selected service level topology structure.
  • each link addition message includes a service level and a sent-to-set (all of the nodes in the service level topology apart from the source node).
  • Figure 22 is a flow diagram illustrating the operations performed by an access node responsive to receiving a link addition message according to certain embodiments of the invention.
  • connectivity request message(s) are transmitted to the qualifying adjacent node(s) and control passes to blocks 2215 and 2220.
  • block 2210 is performed in a similar manner to block 1010.
  • the service level topology structure is updated responsive to connectivity response messages received.
  • Block 2215 is performed in a similar fashion to block 1015 of Figure 10 with a variation. With regard to the variation on block 1015, since certain data already exists in the service level topology structure, the received data in the connectivity response messages is used to update the existing service level topology structure (add what is not already present).
  • block 2220 nodes are selected from the service level topology structure that are not identified in the received link addition message and control passes to block 2225.
  • block 2220 is performed by: 1) identifying as "new set” all of the nodes in the service level topology structure that are not in the sent-to-set in the received link addition message (2205); and 2) forming an updated version of the sent-to-set that is the union of the new set and the sent-to set in the link addition message (2205).
  • a link addition message is transmitted to the selected nodes.
  • this link addition message will include the updated sent-to-set as opposed to the sent-to-set in the received link addition message (2205).
  • FIGS. 23 and 24 are flow diagrams illustrating operations performed when a node is removed according to certain embodiments of the invention. The operations of Figure 23 are performed by the adjacent access node(s). As part of these operations, a node removal message is transmitted to certain other nodes. The operations of Figure 24 are performed by an access node responsive to such a node removal message.
  • Figure 23 is a flow diagram illustrating the operations performed by the access node(s) adjacent a removed node according to certain embodiments of the invention.
  • Block 2310 is used to indicate that the following blocks are performed for each service level.
  • the service level topology structure is updated and control passes to block 2320.
  • block 2315 is performed by removing from the service level topology structure the branch, if one exists, that has as the first hop the removed node.
  • block 2320 it is determined if the service level topology structure includes path(s) with the removed node. If not, control passes to block 2325 where the flow diagram ends. If so, control passes to block 2330.
  • block 2320 is performed by searching the service level topology structure for the presence of the removed node.
  • connectivity request message(s) are transmitted on link(s) of these paths and control passes to blocks 2335 and 2340.
  • the access node transmits a connectivity request message on each of its links that are part of these paths.
  • a new service level topology structure is instantiated and updated responsive to connectivity response messages received.
  • block 2325 is performed in a similar manner as blocks 1005 and 1015 with a variation.
  • the new service level topology structure preserves the channel states from the current service level topology structure (which is kept until the new service level topology structure is completed).
  • a node removal message is transmitted to nodes in the selected service level topology structure.
  • the service level topology structure used for block 2330 is the current service level topology structure.
  • each link removal message includes a removed node ID, a service level, and a sent-to-set (all of the nodes in the service level topology apart from the removed node and the nodes adjacent the removed node).
  • Figure 24 is a flow diagram illustrating the operations performed by an access node responsive to receiving a node removal message according to certain embodiments of the invention.
  • block 2410 it is determined if the service level topology structure includes path(s) with the removed node. If not, control passes to block 2415 where the flow diagram ends. If so, control passes to block 2420. In certain embodiments of the invention, block 2410 is performed by searching the service level topology structure for the presence of the removed node. [00186] As shown, in block 2420, connectivity request message(s) are transmitted on link(s) of these paths and control passes to blocks 2425 and 2430. In particular, the access node transmits a connectivity request message on each of its links that are part of these paths. [00187] In block 2425, a new service level topology structure is instantiated and updated responsive to connectivity response messages received.
  • block 2425 is performed in a similar manner as blocks 1005 and 1015 with a variation.
  • the new service level topology structure preserves the channel states from the current service level topology structure (which is kept until the new service level topology structure is completed).
  • block 2430 nodes are selected from the service level topology structure that are not identified in the received node removal message and control passes to block 2435.
  • block 2430 is performed by: 1) identifying as "new set” all of the nodes in the current service level topology structure that are not in the sent-to-set in the received node removal message (2405); and 2) forming an updated version of the sent-to-set that is the union of the new set and the sent-to set in the node removal message (2405).
  • a node removal message is transmitted to the selected nodes.
  • this node removal message will include the updated sent-to-set as opposed to the sent-to-set in the received node removal message (2405).
  • nodes and their paths are deleted immediately and added back in (see the node addition section) if they are reestablished
  • alternative embodiments provide other mechanisms (e.g., in certain embodiments of the invention the paths are marked broken are maintained indefinitely, in other embodiments of the invention the paths are marked broken and deleted after a period of time if the node is not reestablished, etc.).
  • each node addition message is transmitted to nodes in the selected service level topology structure.
  • each node addition message includes an added node ID, a service level and a sent-to-set. The message is sent to, and the sent-to-set includes, any nodes in the service level topology apart from the source node.
  • Figure 25 is a flow diagram illustrating the operations performed by an access node responsive to receiving a node addition message according to certain embodiments of the invention.
  • block 2510 connectivity request message(s) are transmitted to the qualifying adjacent node(s) and control passes to blocks 2515 and 2520.
  • block 2510 is performed in a similar manner to block 1010.
  • a new service level topology structure is instantiated and updated responsive to connectivity response messages received.
  • block 2515 is performed in a similar manner as blocks 1005 and 1015 with a variation.
  • the new service level topology structure preserves the channel states from the current service level topology structure (which is kept until the new service level topology structure is completed).
  • block 2520 nodes are selected from the service level topology structure that are not identified in the received node addition message and control passes to block 2525.
  • block 2520 is performed by: 1) identifying as "new set” all of the nodes in the current service level topology structure that are not in the sent-to-set in the received node addition message (2505); and 2) forming an updated version of the sent-to-set that is the union of the new set and the sent-to set in the node addition message (2505).
  • a node addition message is transmitted to the selected nodes.
  • this node addition message will include the updated sent-to-set as opposed to the sent-to-set in the received node addition message (2505).
  • the service provider may update the service level parameters and push a fresh copy on each node. If and when a new QoS criteria is added, certain embodiments of the invention perform the following: 1. The contents of the service level parameters database is copied and kept in the memory. 2. The service level parameters database is populated with new data. 3. Blocks 915 and 920 are performed to create new service level topology structures, keeping the existing service level topology structure for each service level. 4. The new service level topology structures are used for new connections. 5. The previous service levels are mapped to the current service levels by comparing the parameters. 6. The connection status from the old service level topologies are mapped to the new service level topology structures to relevant service levels. 7. The old service level topologies are deleted.
  • an existing service level parameter(s) when an existing service level parameter(s) is changed, certain embodiments of the invention perform the following: 1. The contents of the particular level in service level parameters database is copied and kept in the memory. 2. The service level parameters database is populated with new data. 3. New service level topology structures are built for the updated levels keeping the old service level topology structures. 4. The new service level topology structures are used for new connections. 5. The previous service levels are mapped to the current service levels by comparing the parameters. 6. The connection status from the old service level topologies are mapped to the new service level topology structures to relevant service levels. 7. The old service level topologies are deleted.
  • Exemplary Load Balancing Where there are multiple shortest paths available, the issue of load balancing comes into play. For instance, certain embodiments of the invention implement load balancing to allow the service provider some options. Specifically, when a demand is received, there can either be: 1) a set of multiple shortest paths; or 2) a single shortest path. Where there is a set of multiple shortest paths, wavelengths are selected from each member of the set in round robin fashion. However, when there is a single shortest path, either one of two schemes is used. In the first scheme, a threshold is specified (e.g., specified by the service provider) for any link in the network.
  • a threshold is specified (e.g., specified by the service provider) for any link in the network.
  • the ratio is the number of new paths "allocated to non- shortest path" to "the shortest path.”
  • FIG. 1 Another such scheme is to pre-allocate a lightpath for the next demand in advance. This result in each access node preallocating lightpaths to each accessible node at each service level. As such, this scheme can put a relatively high amount of strain on network resources. 2.
  • Another such scheme is referred to herein as highest service level preallocation. Instead of preallocating lightpaths to each accessible node for each service level, this is done only for the highest service level. In the case of an unfavorable settlement of contention during demand allocation, the demand is allocated on the preallocated lightpath at the highest service level.
  • this scheme puts a relatively lower amount of strain on network resources, but can cause the highest service level lightpaths to get used up the fastest. 3.
  • default service level preallocation In particular, for each source to destination pair, an indication of the default service level is maintained (e.g., the most common service level for historically received demands). Instead of preallocating lightpaths to each accessible node for each service level or preallocating lightpaths to each accessible node at the highest service level, preallocation is done only for the default service level for each source to destination pair. In the case of an unfavorable settlement of contention during demand allocation, the demand is allocated on the preallocated lightpath at the default service level. As such, this scheme puts a relatively lower amount of strain on network resources than scheme 1 and attempts to avoid using up the highest service level the fastest by predicting the most common service level.
  • alternative embodiments may perform the operations in a different order, combine certain operations, overlap certain operations, etc.
  • alternative embodiments may be implemented to transmit such messages to more, less, or different nodes using different schemes (e.g., certain alternative embodiments broadcast each such message to every node).

Abstract

A number of wavelength division multiplexing (WDM) access nodes employ a distributed search based scheme to build network topology databases based on a set of connectivity constraints (1230). A set of one or more connectivity constraints that include quality or service (QoS) based criteria are applied on a physical network topology of a WDM optical network to divide that optical network into separate service levels (910) whose topologies (920) are determined for each of the service levels. A number of WDM access nodes of an optical network employ a source based scheme to establish communication paths (1145). Each of these access nodes stores a set of one or more network topology databases based on a set of connectivity constraints. Each of these nodes employs a messaging scheme to propagate notification of changes in the optical network to other nodes to maintain their databases.

Description

OPTICAL NETWORK TOPOLOGY DATABASES AND OPTICAL NETWORK OPERATIONS
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This is a continuation of Application No. 10/455,933, filed June 6, 2003, which is hereby incorporated by reference. This is also a continuation of Application No. 10/626,055, filed July 23, 2003, which is a continuation of Application No. 10/455, 933, filed June 6, 2003, which are hereby incorporated by reference. This is also a continuation of Application No. 10/626,363, filed July 23, 2003, which is a continuation of Application No. 10/455, 933, filed June 6, 2003, which are hereby incorporated by reference. This is also a continuation of Application No. , filed June 3, 2004, titled "Selective Distribution Messaging Scheme for an Optical Network," which is a continuation of Application No. 10/455, 933, filed June 6, 2003, which are hereby incorporated by reference.
BACKGROUND
Field
[0002] Embodiments of the invention relate to the field of networking; and more specifically, to optical networks.
Background
[0003] Generalized Multiprotocol Label Switching (GMPLS) [RFC3471] extends the Multiprotocol Label Switching (MPLS) architecture [RFC3031] to encompass time- division (e.g., Synchronous Optical Network and Synchronous Digital Hierarchy, SONET/SDH), wavelength (optical lambdas) and spatial switching (e.g., incoming port or fiber to outgoing port or fiber).
[0004] GMPLS extends MPLS to include network devices whose forwarding plane recognizes neither packet, nor cell boundaries, and therefore, can't forward data based on the information carried in either packet or cell headers. Specifically, such network devices include devices where the forwarding decision is based on time slots (TDM), wavelengths (lambda), or physical (fiber) ports. GMPLS supports uni-directional label switched paths (LSPs) and bi-directional LSPs (For bi-directional LSPs, the term "initiator" is used to refer to a node that starts the establishment of an LSP and the term "terminator" is used to refer to the node that is the target of the LSP; Note that for bidirectional LSPs, there is only one "initiator" and one "terminator") and a special case of Lambda switching, called Waveband switching (A waveband represents a set of contiguous wavelengths which can be switched together to a new waveband; The Waveband Label is defined to support this special case; Waveband switching naturally introduces another level of label hierarchy; As far as the MPLS protocols are concerned there is little difference between a waveband label and a wavelength label.).
[0005] To deal with the widening scope of MPLS into the optical and time domain, there are several new forms of "label." These new forms of label are collectively referred to as a "generalized label." A generalized label contains enough information to allow the receiving node to program its cross connect, regardless of the type of this cross connect, such that the ingress segments of the path are properly joined. The Generalized Label extends the traditional label by allowing the representation of not only labels which travel in-band with associated data packets, but also labels which identify time-slots, wavelengths, or space division multiplexed positions. For example, the Generalized Label may carry a label that represents (a) a single fiber in a bundle, (b) a single waveband within fiber, (c) a single wavelength within a waveband (or fiber), or (d) a set of time-slots within a wavelength (or fiber). It may also carry a label that represents a generic MPLS label, a Frame Relay label, or an ATM label (VCI/VPI).
[0006] Thus, GMPLS forms label switched paths (LSPs) through the network. These paths may be connection oriented or connectionless. For instance, the Resource Reservation Protocol (RSVP) is often used to deploy connection oriented LSPs, whereas a label management protocol (LMP), such as the label distribution protocol (LDP), is often used to provision connectionless LSPs.
Optical Networks [0007] An optical network is a collection of optical network devices interconnected by links made up of optical fibers. Thus, an optical network is a network in which the physical layer technology is fiber-optic cable. Cable trunks are interconnected with optical cross-connects (OXCs), and signals are added and dropped at optical add/drop multiplexers (OADMs). The optical network devices that allow traffic to enter and/or exit the optical network are referred to as access nodes; in contrast, any optical network devices that do not are referred to as pass-thru nodes (an optical network need not have any pass-thru nodes). Each optical link interconnects two optical network devices and typically includes an optical fiber to carry traffic in both directions. There may be multiple optical links between two optical network devices.
[0008] A given fiber can carry multiple communication channels simultaneously through a technique called wavelength division multiplexing (WDM), which is a form of frequency division multiplexing (FDM). When implementing WDM, each of multiple carrier wavelengths (or, equivalently, frequencies or colors) is used to provide a communication channel. Thus, a single fiber looks like multiple virtual fibers, with each virtual fiber carrying a different data stream. Each of these data streams may be a single data stream, or may be a time division multiplex (TDM) data stream. Each of the wavelengths used for these channels is often referred to as a lamda.
[0009] A lightpath is a one-way path in an optical network for which the lamda does not change. For a given lightpath, the optical nodes at which its path begins and ends are respectively called the source node and the destination node; the nodes (if any) on the lightpath in-between the source and destination nodes are called intermediate nodes. An optical circuit is a bi-directional, end to end (between the access nodes providing the ingress to and egress from the optical network for the traffic carried by that optical circuit) path through the optical network. Each of the two directions of an optical circuit is made up of one or more lightpaths. Specifically, when a given direction of the end to end path of an optical circuit will use a single wavelength, then a single end to end lightpath is provisioned for that direction (the source and destination nodes of that lightpath are access nodes of the optical network and are the same as the ends nodes of the optical circuit). However, in the case where a single wavelength for a given direction will not be used, wavelength conversion is necessary and two or more lightpaths are provisioned for that direction of the end to end path of the optical circuit. Thus, a lightpath comprises a lamda and a path (the set of optical nodes through which traffic is carried with that lambda). [0010] Put another way, when using GMPLS on an optical network, the optical network can be thought of as circuit switched, where LSPs are the circuits. Each of these LSPs (uni-directional or bi-directional) forms an end to end path where the generalized label(s) are the wavelength(s) of the lightpath(s) used. When wavelength conversion is not used for a given bi-directional LSP, there will be a single end to end lightpath in each direction (and thus, a single wavelength; and thus, a single generalized label).
[0011] An optical network device can be thought of comprising 2 planes: a data plane and a control plane. The data plane includes those components through which the light travels (e.g., the switch fabric or optical crossconnect; the input and output ports; amplifiers; buffers; wavelength splitters or optical line terminals; adjustable amplifiers; etc.), add/drop components (e.g., transponder banks or optical add/drop multiplexers, etc.), and components that monitor the light. The control plane includes those components that control the components of the data plane. For instance, the control plane is often made up software executing on a set of one or more microprocessors inside the optical network device which control the components of the data plane. To provide a specific example, the software executing on the microprocessor(s) may determine that a change in the switch fabric is necessary, and then instruct the data plane to cause that switch to occur. It should also be noted that the control plane of an optical network device is in communication with a centralized network management server and/or the control planes of one or more other network devices.
[0012] A number of different network topologies have been developed for optical network devices, including ring and meshed based topologies. Similarly, a number of different control planes and data planes have been developed for optical network devices. For instance, wavelength division multiplexing (WDM) necessitated an alteration of the data plane and the control plane. As another example, various different techniques have been used for implementing the switch fabric, including optical cross connects such as MEMS, acousto optics, thermo optics, holographic, and optical phased array. [0013] Operating an optical network typically requires: A) building and maintaining network databases; and B) establishing lightpaths. For example, the network databases can include: 1) link state databases that track information (e.g., the link(s), lamda(s), lamda bandwidths, etc.) regarding adjacent optical nodes (e.g., using a link management protocol (LMP)); and 2) topology databases that track information (e.g., nodes, links, lamdas, etc.) for the physical connectivity of the nodes in a domain and/or the entire network (e.g., using OSPF-TE). In order to establish an LSP, the following operations are typically performed offline: 1) determining a shortest path/wavelength between the source and destination using a shortest path first algorithm based on the network database(s); 2) allocate that path/wavelength (often referred to as signaling the path; effectively telling the involved optical network devices how to configure their switch fabrics; e.g., using RSVP or CR-LDP based signaling with GMPLS). Steps 1 and 2 can be reversed.
[0014] There are generally three approaches to operating an optical network: 1) centralized static provisioning; 2) source based static provisioning; and 3) hybrid static provisioning. In centralized static provisioning, a separate centralized network management server maintains a network topology database and communicates with each of the optical network devices of a network. In response to some predefined demands for an optical circuit, the network management server finds the shortest path/wavelength. The network management server then causes the allocation of the path/wavelength and the configuring of the switch fabrics.
[0015] In source based static provisioning, each of the access nodes of the network performs the work of building/maintaining a network topology database. In response to some predefined demands for an optical circuit received by an access node, that node: 1) buffers the traffic as necessary; 2) finds the shortest path/wavelength; and 3) causes the allocation of the path/wavelength and the configuring of the switch fabrics.
[0016] In hybrid static provisioning, each of the nodes of the network use OSPF-TE to build network topology databases, and from there a network topology database is built and maintained in a centralized network management server. The network management server initiates a form of source based provisioning. This allows a network administrator to maintain control over provisioning of each lightpath provisioned. [0017] One problem with existing optical networks is the network topology databases used and the manner in which they are built and maintained. Specifically, these monolithic physical topology databases (e.g., built with OSPF-TE) are very large because they must store all of the data to give a physical view of the network (not only connectivity at the link level, but connectivity at the lamda level because there are multiple lamdas per link and because different lamdas on a given link may provide different bandwidths; etc.). These large network databases are relatively time consuming to parse and require a relatively long time and a relatively large amount of node intercommunication to propagate changes. In addition, such network topology databases would become even larger if QoS type information needed to be recorded.
[0018] Another problem with existing optical network devices is there static, off-line nature of operation (e.g., using centralized static provisioning, source based static provisioning, hybrid static provisioning, etc.). More particularly, based upon a determination of the projected needs of the end node to end node connection through the optical network and the then existing state of the optical network (basically, a snapshot of the network parameters), an optical circuit is provisioned through the optical network over which the traffic is to travel. This optical circuit will be static in the sense that it will not be altered on the fly based upon current bandwidth requirements (demand changes), current status of the network, etc. Instead, this optical circuit will only be modified when it is re-provisioned (e.g., at the request of the customer to upgrade to a larger or smaller amount of bandwidth) and/or some form of protection switch based on a redundancy scheme.
[0019] Therefore, a given optical circuit is established at the maximum bandwidth believed to be required at any given point in time, and this maximum bandwidth is provisioned for that purpose. That is to say, a given customer is provisioned a fixed amount of bandwidth for all classes of traffic, whether that customer at any given point in time is using some, all or none of that bandwidth. Due to variations in the bandwidth requirements and/or the status of the network, bandwidth will go unused.
[0020] Thus, the optical layer is operated to provide point-to-point links, with no intelligence and no real time decision-making capabilities. In addition, the need for demands to be known in advance imposes difficulties for service creation and service provisioning. This results in an inefficient utilization of resources at the optical layer. [0021] Furthermore, while there has been work to provide quality of service (QoS) at the IP layer and/or using MPLS, both of these protocols are carried over SONET; where SONET does not distinguish the types of traffic (does not provide QoS). Thus, typical optical control planes do no provide the ability to separate traffic into different classes based on service level requirements (i.e., they do not incorporate service level requirements of different types of traffic in lightpath calculations).
BRIEF SUMMARY
[0022] Optical network topology databases and optical network operations are described. According to one embodiment of the invention, a number of wavelength division multiplexing access nodes employ a distributed search based scheme to build network topology databases based on a set of one or more connectivity constraints.
[0023] According to another embodiment of the invention, a set of one or more connectivity constraints that include quality of service (QoS) based criteria are applied on a physical network topology of a wave length division multiplexing optical network to divide that optical network into separate service levels. In addition, service level topologies are determined for each of the service levels.
[0024] According to another embodiment of the invention, a number of wavelength division multiplexing access nodes of an optical network employ a source based scheme to establish communication paths. Each of these access nodes stores a set of one or more network topology databases based on a set of one or more connectivity constraints.
[0025] According to another embodiment of the invention, a wavelength division multiplexing optical network includes a number of nodes each having an optical cross connect and each having stored therein a database representing conversion free connectivity from that node to others of the nodes. In addition, each of the nodes employs a messaging scheme to propagate notification of changes in the optical network to others of the nodes to maintain their databases. The messaging scheme in each of the nodes transmits messages to only selected ones of the other nodes based at least in part on the conversion free connectivity to minimize the number of communications between nodes. BRIEF DESCRIPTION OF THE DRAWINGS
[0026] The invention may best be understood by referring to the following description and accompanying drawings that are used to illustrate embodiments of the invention. In the drawings:
[0027] Figure 1 is a block diagram illustrating an exemplary optical network according to one embodiment of the invention.
[0028] Figure 2 is a block diagram illustrating exemplary QoS based logical network views of the exemplary optical network of Figure 1 according to certain embodiments of the invention.
[0029] Figure 3 A illustrates service level A's conversion free service level topology for NI of the optical network in Figure 2 according to certain embodiments of the invention.
[0030] Figure 3B illustrates service level B's conversion free service level topology for NI of the optical network in Figure 2 according to certain embodiments of the invention.
[0031] Figure 3C illustrates service level C's conversion free service level topology for NI of the optical network in Figure 2 according to certain embodiments of the invention.
[0032] Figure 4 is a block diagram illustrating a hierarchy of terms according to certain embodiments of the invention.
[0033] Figure 5 is a flow diagram for building and maintaining network topology databases with a set of connectivity constraints according to certain embodiments of the invention.
[0034] Figure 6 is a flow diagram illustrating the provisioning of lightpaths according to certain embodiments of the invention.
[0035] Figure 7 is a block diagram illustrating an exemplary access node according to certain embodiments of the invention. [0036] Figure 8 is an exemplary data flow diagram of a distributed search based technique's formation of service level A's service level topology for NI of the optical network in Figure 2 according certain embodiments of the invention. δ [0037] Figure 9 is a flow diagram performed by each access node when joining an optical network according to embodiments of the invention.
[0038] Figure 10 is a flow diagram illustrating a service level topology build-up for a single service level according to embodiments of the invention.
[0039] Figure 11 is a flow diagram illustrating operations performed by nodes responsive to a connectivity request message received over a link according to certain embodiments of the invention.
[0040] Figure 12 is the flow diagram illustrating operations performed by an access node to allocate a path according to certain embodiments of the invention.
[0041] Figure 13 is a flow diagram illustrating operations performed by an access node responsive to an update routing database message according to certain embodiments of the invention.
[0042] Figure 14 is a flow diagram illustrating operations performed by an access node responsive to an update allocate channel message according to certain embodiments of the invention.
[0043] Figure 15 is a flow diagram illustrating operations performed by the source node of a path responsive to that path being deallocated according to certain embodiments of the invention.
[0044] Figure 16 is a flow diagram illustrating operations performed by access nodes responsive to an update deallocate channel message according to certain embodiments of the invention.
[0045] Figure 17 is a flow diagram illustrating the operations performed by the access nodes connected by the link on which the channel is added/removed according to certain embodiments of the invention. [0046] Figure 18 is a flow diagram illustrating the operations performed by an access node responsive to receiving an update add/remove channel message according to certain embodiments of the invention. [0047] Figure 19 is a flow diagram illustrating the operations performed by the access nodes connected by the removed link according to certain embodiments of the invention. [0048] Figure 20 is a flow diagram illustrating the operations performed by an access node responsive to receiving a link removal message according to certain embodiments of the invention.
[0049] Figure 21 is a flow diagram illustrating the operations performed by the access nodes connected by the added link according to certain embodiments of the invention.
[0050] Figure 22 is a flow diagram illustrating the operations performed by an access node responsive to receiving a link addition message according to certain embodiments of the invention.
[0051] Figure 23 is a flow diagram illustrating the operations performed by the access node(s) adjacent a removed node according to certain embodiments of the invention.
[0052] Figure 24 is a flow diagram illustrating the operations performed by an access node responsive to receiving a node removal message according to certain embodiments of the invention.
[0053] Figure 25 is a flow diagram illustrating the operations performed by an access node responsive to receiving a node addition message according to certain embodiments of the invention.
DETAILED DESCRIPTION
[0054] In the following description, numerous specific details are set forth (e.g., such as logic resource partitioning/sharing/duplication implementations, types and interrelationships of system components, and logic partitioning/integration choices). However, it is understood that embodiments of the invention may be practiced without these specific details. In other instances, well-known circuits, software instruction sequences, structures and techniques have not been shown in detail in order not to obscure the understanding of this description. [0055] References in the specification to "one embodiment", "an embodiment", "an example embodiment", etc., indicate that the embodiment described may include a particular feature, structure, or characteristic, but every embodiment may not necessarily include the particular feature, structure, or characteristic. Moreover, such phrases are not necessarily referring to the same embodiment. Further, when a particular feature, structure, or characteristic is described in connection with an embodiment, it is submitted that it is within the knowledge of one skilled in the art to effect such feature, structure, or characteristic in connection with other embodiments whether or not explicitly described.
[0056] In the following description and claims, the terms "coupled" and "connected," along with their derivatives, may be used. It should be understood that these terms are not intended as synonyms for each other. Rather, in particular embodiments, "connected" may be used to indicate that two or more elements are in direct physical or electrical contact with each other. "Coupled" may mean that two or more elements are in direct physical or electrical contact. However, "coupled" may also mean that two or more elements are not in direct contact with each other, but yet still co-operate or interact with each other.
Overview
[0057] According to embodiments of the invention, a set of one or more connectivity constraints is imposed on the building/maintaining of network topology databases. As a result of the set of connectivity constraints, such network topology databases are smaller in comparison to network topology databases that represent all physical connectivity in the network. According to one aspect of the invention, the set of one or more connectivity constraints includes one or more QoS based criteria; thus, effectively dividing the optical network into QoS based logical network views that may be used to provision different wavelengths for different classes of traffic based on differing QoS requirements. According to another aspect of the invention, the set of one or more connectivity constraints includes a conversion free constraint; this allows for establishing conversion free optical circuits. According to another aspect of the invention, a distributed search based technique is used for building and maintaining network topology databases based on a set of connectivity constraints. According to another aspect of the invention, an optical network uses a source based scheme in which network topology databases, based on a set of connectivity constraints, are kept in access nodes. The reduced network topology database size (as compared to a physical network topology database) and distributed nature of this source based scheme allows for the provisioning of optical circuits in real-time (or on the fly; that is, the demands do not need to know ahead of time).
[0058] Since each of the above aspects is independent, different embodiments may implement different ones and/or combinations of the above aspects of the invention. For example, certain embodiments of the invention include in the set of connectivity constraints both QoS criteria and conversion free constraints. The network topology databases based on this set of connectivity constraints: 1) have reduced size over full physical connectivity network topology databases; 2) allow different traffic to be given different wavelengths based on QoS for different classes of traffic; and 3) allow for establishing conversion free optical circuits. While certain of these embodiments implement source based schemes and build/maintain the network topology databases using a distributed search based technique, others of these embodiments may use a different scheme and/or a different database building/maintaining technique.
Exemplary QoS Embodiments
[0059] Different embodiments of the invention may support different QoS criteria. For example, the QoS critera may include bandwidth, bit error rate, optical signal to noise ratio, peak noise level, re-routing priority, etc. In other words, the QoS criteria may include any criteria that allows different wavelengths to be distinguished from each other based on quality of service. For a given wavelength on a given link, the values for the QoS criteria (the wavelength parameters) may be determined based on the configuration (e.g., the type of laser used) and/or by monitoring the light.
[0060] The QoS criteria is used to classify wavelengths on links into one of the set of supported service levels. In particular, for each of the QoS criteria, there is a service level parameter provided for each service level. The wavelength parameters of a given wavelength on a given link are compared against the service level parameters to classify that wavelength into one of the service levels.
Exemplary Network [0061] In certain optical networks, different wavelengths in at least certain nodes have different wavelength parameters. For instance, a given optical network device may have different groups of wavelengths implemented to operate at different bandwidths (e.g., group A at OS-X, group B at OS-Y, and group C at OS-Z) and service level parameters that distinguish based on bandwidth. As a result, the optical network not only has a given interconnectivity at the physical link level (a physical topology), but also has a given interconnectivity for each service level (for each service level, a service level topology for the network and for each node), and a given interconnectivity for each conversion free service level (for each service level, a conversion free service level topology for each node).
[0062] Figure 1 is a block diagram illustrating an exemplary optical network according to one embodiment of the invention. The optical network of Figure 1 includes 5 access nodes labeled NI, N2, N3, N4, and N5. The ability to implement multiple lamdas on a single link is represented in simplified form by numbering the lamdas; lamdas having the same number are the same wavelength. Figure 1 shows the numbered lamdas available on each optical link of the exemplary optical network. The term "available" when used in conjunction with a lamda number indicates that the node is capable of producing that wavelength; the terms allocated and unallocated are used to identify whether or not that available wavelength is currently provisioned. To describe the physical connectivity illustrated in Figure 1, the format of node number: node number is used to indicate there is an optical link between those nodes; and node number: node number equals lamda number(s) indicates the wavelengths available on that link. Using this format, Figure 1 shows: N2:N2 = lamda 1, 2, 3, 4; N2:N4 = lamda 1, 3, 5; N4:N5: = lamda 1, 2, 3, 4; N1:N3 = lamda 1, 2, 4; and N3:N4 = lamda 1, 2, 4.
[0063] It should be understood that the topology in Figure 1 is exemplary, and that the invention can be used with any number of different topologies. In addition, while Figure 1 illustrates different wavelengths being available on different optical links, it is understood that the same wavelengths may be available on all of the optical links. Furthermore, while specific wavelengths are identified as being available in Figure 1, optical network devices may be implemented with lasers to allow them to generate a variety of different wavelengths and the invention is equally applicable to optical networks containing one or more such optical network devices. However, for purposes of illustration, embodiments of the invention will be described with reference to the wavelengths illustrated in Figure 1. While the exemplary optical network in Figure 1 is made up of access nodes, embodiments of the invention are equally applicable to optical networks that include pass through nodes. [0064] Figure 2 is a block diagram illustrating exemplary QoS based logical network views of the exemplary optical network of Figure 1 according to certain embodiments of the invention. In the example of Figure 2, the set of supported service levels includes service levels A, B, and C. The wavelength parameters of each wavelength on each link have been compared against the service level parameters to classify each wavelength on each link into one of the service levels A, B, and C. To refer to a given service level, an S is placed in front of the service level label (SA, SB, SC). The format for identifying the wavelengths on a given link classified to a given service level is best provided by example. Specifically, SA (N1:N2) = lamda 1, 2 indicates that there is an optical link between NI and N2, and that the wavelength parameters of lamda 1 and lamda 2 on that link qualify them for service level A (lamda 1 and 2 are referred to as the link service level channel set on link N1:N2 for service level A). Using this format, Figure 2 illustrates the connectivity of service level A being: SA (N1:N2) = lamda 1, 2; SA (N2:N4) = lamda 1; SA (N4:N5) = lamda 1, 2; SA (N1:N3) = lamda 1, 2; SA (N3:N4) = lamda 1, 2. The service level connectivity for service level B is SB (N1:N2) = lamda 3; SB (N2:N4) = lamda 3; SB (N4:N5) = lamda 3; SB (N1:N3) = X; and SB (N3:N4) = X (where X indicates a null set). The connectivity of service level C is: SC (N1:N2) = lamda 4; SC (N2:N4) = lamda 5; SC (N4:N5) = lamda 4; SC (N1:N3) = lamda 4; and SC (N3:N4) = lamda 4.
[0065] Thus, while Figure 1 illustrates the connectivity at the physical link level, Figure 2 illustrates the connectivity for each service level (a service level topology for the network). Effectively, this service level node connectivity divides the optical network into QoS based logical network views as illustrated. Thus, for a first access node there are one or more paths across physical links to a second access node (physical topology). For any given one of these paths, there may be, on each of the link(s) making up that path, wavelengths at the same service level. For any given one of these paths, there may also be, on the link(s) making up that path, one or more of the same wavelengths at the same service level. [0066] Figures 3A-C illustrate the conversion free service level topologies for service levels A-C for NI of the optical network in Figure 2 according to certain embodiments of the invention. Specifically, Figures 3A-C illustrate conversion free service level topologies in the form of trees having NI as the root with branches representing links from node to node through the network. As used below, the phrase "path service level channel set" refers to the intersection set of the link service level channel sets on the links of the path. For example, the path service level channel set for the path N1:N2:N4:N5 at service level A is the intersection set of the link service level channel sets SA (N1:N2), SA (N2:N4), and SA (N4:N5).
[0067] Figure 3A illustrates service level A's conversion free service level topology for NI of the optical network in Figure 2 according to certain embodiments of the invention. In Figure 3A, NI has branches to N2 and N3. With regard to the branch to N2, both lamda 1 and lamda 2 are available at service level A. Thus, for the path from NI to N2, lamda 1 and lamda 2 make up the path service level channel set for service level A. Similarly, for the branch from NI to N3, the path service level channel set includes lamda 1 and 2. It should be noted that for paths between adjacent nodes, the link service level channel set (e.g., SA(N1:N2) = lamda 1,2) is the same as the path service level channel set.
[0068] From each of N2 and N3, there is a branch to a different representation of N4. The branch from N2 to N4 represents the path N1:N2:N4. Since the link service level channel sets for N1:N2 and for N2:N4 respectively include lamda 1,2 and lamda 2, the intersection of these link service level channel sets includes only lamda 1 (the only conversion free N1:N2:N4 path uses lamda 1 on both N1:N2 and N2:N4). As such, the path service level channel set for the path N1:N2:N4 includes only lamda 1. In contrast, the branch from N3 to N4 represents the path N1:N3:N4. Since the intersection of the link service level channel sets for N1:N3 and N3:N4 includes lamda 1 and 2, the path service level channel set for the path N1:N3:N4 includes lamda 1 and 2.
[0069] The branch from NI to N4, through N2, branches to: 1) N3 with path service level channel set lamda l;and 2) N5 with path service level channel set lamda 1. The branch from NI to N4, through N3, branches to: 1) N2 with path service channel set lamda 1; and 2) N5 with path service level channel set lamda 1, 2. It should be noted that even though the link service level channel set for N4:N5 includes lamda 1,2, the path service level channel set for N1:N2:N4:N5 includes only lamda 1 to remain conversion free. This is in contrast to the path service level channel set for N1:N3:N4:N5 which includes both lamda 1 and 2 because both are available on each link of this path.
[0070] Figure 3B illustrates service level B's conversion free service level topology for NI of the optical network in Figure 2 according to certain embodiments of the invention. Since there is no lamda that qualifies for service level B on the link N1:N3, the tree of Figure 3B does not have a branch from NI to N3. However, there is a branch from NI to N2, and the path service level channel set for the branch from NI to N2 includes lamda 3. N2 has a branch to N4, which branch has as its path service level channel set lamda 3. Since there is no lamda qualifying for service level B on the link from N4 to N3, there is not a branch from N4 to N3. However, there is a branch to N5, and the path service level channel set for N1:N3:N4:N5 includes lamda 3.
[0071] Figure 3C illustrates service level C's conversion free service level topology for NI of the optical network in Figure 2 according to certain embodiments of the invention. The tree of Figure 3C has branches from NI to: 1) N2 with path service level channel set lamda 4; and 2) N3 with path service level channel set lamba 4. There is no branch from N2 because wavelength conversion would be necessary (the link service level channel set for N2:N4 is lamda 5, whereas the path service level channel set for the path from NI to N2 includes lamda 4). There is a branch from N3 to N4, which branch has as its path service level channel set lamda 4. There are branches from N4 to each of N2 and N5, both of which the path service level channel set includes lamda 4.
[0072] It should be understood that a given topology for a node may be service level based and/or conversion free based (depending on the set of connectivity constraints used). Thus, the phrase "service level topology" for a node indicates that at least a QoS based criteria is used, but it does not exclude the use of conversion free criteria (except where otherwise indicated herein); likewise, the phrase "conversion free topology" for a node indicates that at least a conversion free criteria is used, but it does no exclude the use of a QoS based criteria (except where otherwise indicated herein). In other words, to say a topology for a node is service level based does not indicate whether or not it is also conversion free based; to say a topology for a node is conversion free based does not indicate whether or not it is also service level based; but to say a topology for a node is conversion free based and QoS based indicates it must be both. [0073] It should also be understood that if the set of connectivity constraints includes QoS based criteria, then there are service level topologies for the network and service level topologies (or conversion free service level topologies if a conversion free criteria is also used) for each node; if the set of connectivity constraints includes a conversion free criteria, then there is a conversion free topology (or a conversion free service level topology if QoS based criteria are also used) for each node. Different embodiments may store network topology databases that represent one or more of these different topologies in different devices depending on the implementation and the set of connectivity constraints used. For example, a centralized network management server may store network topology database(s) representing: service level topologies for the network, service level topologies for each node, one or more conversion free topologies for each node, and/or conversion free service level topologies for each node. As another example, each access node may store may store network topology database(s) representing: service level topologies for the network, service level topologies for that node, one or more conversion free topologies for that node, and/or conversion free service level topologies for that node. It should be understood that other configurations are within the scope of the invention.
[0074] Figure 4 is a block diagram illustrating a hierarchy of terms according to certain embodiments of the invention. The terms illustrated in Figure 4 will be used with respect to certain embodiments of the invention described below. With reference to Figure 4, the network is divided into a set of one or more service levels, each service level includes a set of zero or more possible end to end paths, each of these possible end to end paths includes a set of one or more links, and each link includes one or more available lamdas. The possible end to end paths of a given service level are referred to as the set of possible end to end service level paths (all paths that can be made between access nodes with the available lamdas at that service level). The union of the possible end to end service level paths of all the service levels is referred to as the set of possible end to end network paths. The links making up a given path are referred to as the set of path links, whereas the union of the links of all the possible end to end paths in a set of possible end to end service level paths is referred to as the set of service level links.
The lamdas on a link of a possible end to end path of a service level are referred to as the link lamdas, whereas the union of the lamdas on the links of a possible end to end path of a service level are referred to as the path lamdas. The term service level link lamdas is used to refer to the links of the service level links and the lambas thereon qualifying for that service level.
[0075] The hierarchy illustrated in Figure 4 provides a framework for the set of connectivity constraints including one or more QoS based criteria that divide the network into service levels. When the set of one or more connectivity constraints also includes a conversion free constraint, the link lamdas of the links of a possible end to end path of a service level will all be the same. In other words, to provide a conversion free end to end path, the same lamda must be used on each link of the end to end path (that lamda must qualify for the same service level on each link of the path). In contrast, when the set of connectivity constraints does not include a conversion free constraint, the set of link lamdas may be different for different links of a possible end to end path of a service level.
Building and Maintaining Network Topology Databases with a Set of Connectivity Constraints
[0076] While various techniques are described with reference to the building and maintaining of network topology databases with a set of connectivity constraints, it is understood that this is an aspect of the invention independent of other aspects of the invention; thus, the invention is not limited to the exemplary techniques of building and maintaining network topology databases with a set of connectivity constraints as described herein.
Overview
[0077] Figure 5 is a flow diagram for building and maintaining network topology databases with a set of connectivity constraints according to certain embodiments of the invention. It should be understood that different ones of the blocks in Figure 5 could be performed in a distributed and/or centralized manner as described in more detail below. [0078] In block 505, the lamdas for each link are tracked and control passes to block 505. While certain embodiments of the invention use a link management protocol (LMP) to discover the adjacent links between nodes, alternative embodiments of the inventions may use other techniques (e.g., a manual input technique into each node, a manual input technique into a centralized network management server, etc.). In addition, while certain embodiments of the invention include a monitoring unit in one or more nodes of the network to measure wavelength parameters, alternative embodiments of the invention can use other techniques (e.g., periodic external testing devices, manual input into to each node of wavelength parameters, manual input of wavelength parameters into a centralized network management server, etc.).
[0079] As shown in block 510, a classification by QoS criteria is maintained for the lamdas of each link to determine the service level link lamdas and control flows to block 515. While in certain embodiments block 510 is performed by each node for its adjacent links, alternative embodiments of the invention use an alternative technique (e.g., a centralized network management server performs block 510 responsive to receiving wavelength parameter information as discussed with reference to block 505).
[0080] In block 515, the service level connectivity based on the conversion criteria is maintained for each service level. The service level connectivity that is maintained would include the available lamdas and the status as either allocated or unallocated. While in certain embodiments of the invention, the service level connectivity is built in distributed fashion and maintained in the access nodes, alternative embodiments of the invention use alternative techniques (e.g., perform such in a centralized network management server). The conversion criteria represents the number of wavelength conversions allowable for a given optical circuit. For example, if one of the connectivity constraints is a conversion free connectivity constraint, the number of wavelength conversions allowable is zero.
[0081] Figure 6 is a flow diagram illustrating the provisioning of lightpaths according to certain embodiments of the invention. Different embodiments of the invention may implement such provisioning using a source based, centralized, hybrid, or other provisioning scheme.
[0082] In block 605, demand criteria is received. This demand criteria represents a request for a communication path (e.g., an optical circuit, a lightpath, a end-to-end unidirectional path, etc.). From block 605, control passes to block 610. In certain embodiments of the invention using a source based scheme, the demand criteria is received by an access node in the optical network. In other embodiments of the invention using a centralized network management server, such demands are received by the network management server directly from the requestor and/or from an access node in the optical network receiving the demand criteria. Of course, alternative embodiments of the invention can use other schemes and/or implement the schemes in other ways.
[0083] As shown in block 610, the service level is determined if it was not specified and control passes to block 615. For instance, while certain demand requests may come from entities aware of the service levels provided by the optical network, other entities making requests may not. These later entities may either not include any parameters or include parameters from which a service level can be determined.
[0084] In block 615, it is determined if there is an end to end path available at the determined service level. If there is a path available, control passes to block 620. Otherwise, control passes to block 625.
[0085] In block 620, a path and necessary lamda(s) are selected and allocated. The number of different wavelengths allocated will depend upon the wavelength conversion criteria (e.g., where a conversion free connectivity constraint is used, the same wavelength(s) will be used across each link of the selected path). Since this allocation affects the service level connectivity of block 515, block 515 is updated (e.g., some action is taken responsive to the allocation, periodic checks of the formed, etc.). In certain embodiments of the invention using a source based scheme, the source node performs block 620 by: 1) selecting the path and lamda(s); and 2) communicating with the other nodes of the optical network to allocate. In other embodiments of the invention in which a centralized network management server is used, block 620 is performed by a network management server performing the selection and communicating the allocation to the nodes on the path. Of course, alternative embodiments of the invention could implement other schemes in other ways. [0086] In block 625, alternative action is taken depending upon the manner in which the optical network is administered. For instance, one or more of the following may be options: using a path from a higher service level, muxing two or more paths from lower service levels, allocating a single path from a lower service level, denying, allowing for an increased amount of wavelength conversions to occur, etc. [0087] In addition to the need to allocate responsive to demand criteria, other operations are performed as part of administration of the optical network (e.g., deallocation, addition of a new wavelength, addition of a new link, failure/restoration of a wavelength, failure/restoration of a link, failure/restoration of a node, etc.). One or more blocks of Figure 5 are updated responsive to these changes in order to provide for a current view the optical network. For instance, if a request was made to deallocate a path, the node that initiated the allocation (source) is instructed to deallocate the path and block 515 updates the service level connectivity of the service level, including the path that was deallocated. The addition of a wavelength, link or node (as well as the removal of a wavelength, link, or a node which was carrying no live traffic) results in an updating through blocks 505, 510 and 515. The loss of a wavelength, link or node is treated as a failure upon which some action is taken depending upon the redundancy scheme being implemented (different embodiments of the invention can use different redundancy schemes) or an elimination of that wavelength, link or node from the network.
[0088] It should also be noted that a request to change the demand criteria for a given provisioned service (e.g., a request to lower or raise the service level of a given provisioned service) is also addressed by certain embodiments of the invention. In particular, certain such embodiments respond to such requests by allocating a new path, and if successful and necessary, moving the traffic from the old path to the new allocated path and deallocating the old path. While different embodiments can perform the above using of variety of different techniques, embodiments using a source based scheme are discussed by way of example, and not by limitation, below.
[0089] Of course, one or more parts of an embodiment of the invention may be implemented using any combination of software, firmware, and/or hardware. Such software and/or firmware can be store and communicated (internally and with other access nodes over the network) using machine-readable media, such as magnetic disks; optical disks; random access memory; read only memory; flash memory devices; electrical, optical, acoustical or other form of propagated signals (e.g., carrier waves, infrared signals, digital signals, etc.); etc.
Exemplary Distributed Search Technique [0090] Certain embodiments of the invention will now be described with reference to a distributed search based technique for building and maintaining in source nodes network topology databases based on a set of connectivity constraints that includes QoS criteria and conversion free constraints. However, it should be understood that alternative embodiments may use a distributed technique, but not build and maintain the service level topology databases in the source nodes (e.g., they may be built and maintained in a centralized network management server). In addition, while a distributed search based technique is described, alternative embodiments can use alternative techniques (e.g., a centralized technique). Similarly, alternative embodiments of the invention may not include the conversion free connectivity constraint, or relax it when necessary (e.g., when there is no conversion free end to end path at the requested service level).
[0091] Figure 7 is a block diagram illustrating an exemplary access node according to certain embodiments of the invention. Figure 7 shows a control plane 700 coupled with a data plane 701. The control plane 701 includes node databases 702 coupled with node modules 735. Of course, the control plane 700 includes other items (e.g., protocols).
[0092] Figure 7 shows the node databases 702 include a service level connectivity database 705, a service level parameter database 710, a link state database 715, and a routing database 720. The link state database 715 includes a set of one or more link state structures 725, one for each link connected to that node. While in certain embodiments these links are discovered through a link management protocol, alternative embodiments could use other techniques as described above. Each link state structure records a neighboring node, a port through which that neighboring node is connected (fiber links end up at a port on the node), available wavelengths on that link (through the port), as well as each wavelength's parameters. [0093] The service level parameter database 710 stores the service level parameters previously discussed herein. The service level connectivity database includes a set of one or more service level topology structures 730, one for each service level. Each of these service level topology structures stores a representation of the conversion free service level topology for that node (e.g., see Figures 3A-C). In addition, the service level topology structure for each service level would track the allocated/unallocated status for each lamda in its topology. The status may not be limited to being allocated or unallocated. For example, a lamba that has failed due to a fiber cut, could be assigned a status of "broken". For embodiments in which only bi-directional paths can be allocated, the granularity for tracking allocated/unallocated status is simply the lamda level. However, in embodiments that allow for unidirectional path allocation, the granularity of allocated/unallocated status is a status for each direction for each lamda.
[0094] The node modules 735 includes a start up module 740, a connectivity request module 745, an allocate module 750, a Deallocate module 755, and an add/remove module 760. The operation of these modules in certain exemplary embodiments will be described respectively with respect to figures 9-10, 11, 12-14, 15-16, and 17-18.
Start Up
[0095] Figure 8 is an exemplary data flow diagram of a distributed search based technique's formation of service level A's service level topology for NI of the optical network in Figure 2 according certain embodiments of the invention. Figure 9-11 are flow diagrams for a distributed search based technique for building service level topologies, using a set of connectivity constraints including QoS criteria and conversion free criteria, in access nodes of an optical network. To provide an example, Figures 9- 11 will be described with reference to the exemplary data flow diagram of Figure 8. The operations of this and other flow diagrams will be described with reference to the exemplary embodiments of the other diagrams. However, it should be understood that the operations of the flow diagrams can be performed by embodiments of the invention other than those discussed with reference to these other diagrams, and the embodiments of the invention discussed with reference these other diagrams can perform operations different than those discussed with reference to the flow diagrams.
[0096] Figure 9 is a flow diagram performed by each access node when joining an optical network according to embodiments of the invention. This flow diagram begins responsive to provision of wavelength parameters and service level parameters (905). With reference to the databases in Figure 7, this would occur responsive to the populating of the service level parameter database 710 and the link state database 715. In certain embodiments, the service level parameter database is populated by the service provider through the network management interface. [0097] In block 910, the number of service levels are determined and control passes to block 915. In certain embodiments of the invention, block 910 is performed by parsing the service level parameter database.
[0098] As shown in block 915, for each link to an adjacent node, the lamdas on that link are classified by the service level parameters to form link service level channel sets. With reference to Figure 8, the link service level channel set for service level A for each node shown in Figure 8 is illustrated by a box next to that node. From block 915, control passes to block 920.
[0099] In block 920, a service level topology build-up is initiated for each service level.
[00100] Figure 10 is a flow diagram illustrating a service level topology build-up for a single service level according to embodiments of the invention. Thus, the flow of Figure 10 would be performed for each service level responsive to block 920.
[00101] In block 1005, a service level topology structure is instantiated and populated with any qualifying adjacent nodes (adjacent nodes for which this source node has any non-null link service channel sets at this service level) and control passes to block 1010. With reference to Figure 8, NI would instantiate a service level topology structure 730 in its service level connectivity database 705. The service level topology structure would include at its root NI, as well as a branch to each of N2 and N3.
[00102] As shown, in block 1010, connectivity request message(s) are transmitted to the qualifying adjacent node(s) and control passes to block 1015. In certain embodiments of the invention, each connectivity request message includes a request ED, a source node ID, a forward node ID, a service level, and a computed set (a set of one or more paths, as well as the path service level channel set for each). While all of these fields are not needed for block 1010 (e.g., the source node is the same as the forward node, the needed information in the computed set is already known by the adjacent nodes), they are used as the search moves through the network (see figure 11). While in certain embodiments of the invention each connectivity request message includes the above noted fields, alternative embodiments could be implemented other ways (e.g., while full versions of connectivity request message could be used for figure 11, reduced versions of connectivity request messages could be used for block 1010; such reduced versions could include simply the request ID, source node LD, and service level). With respect to Figure 8, NI transmits a connectivity request message to each of N2 and N3 (the source node ID is NI, and the service level is A).
[00103] In block 1015, the service level topology structure is updated responsive to connectivity response messages received. The nodes transmitting such connectivity response messages and the contents of such connectivity response messages are described later herein with respect to Figure 11. For instance, upon receipt of a connectivity response message, the received data is added to the appropriate branch of the appropriate service level topology structure. Upon receipt of a connectivity stop message, the path, identified in the received message, of the service level topology structure, for the service level identified in the received message, is complete. With respect to the example optical network described herein, the service level topology structure for service level A would represent something similar to that shown in Figure 3A. For example, in certain embodiments of the invention a table is maintained with each of the available paths and its corresponding path service level channel set (e.g., each entry in the table store one of the available paths and its corresponding path service level channel set).
[00104] Figure 11 is a flow diagram illustrating operations performed by nodes responsive to a connectivity request message received over a link according to certain embodiments of the invention. With respect of Figure 8, node N2 receives the connectivity request message from node NI.
[00105] In block 1110, it is determined if the connectivity request message was previously processed. If so, control passes to block 1115; at which point this flow is complete. Otherwise, control passes to block 1120. A connectivity request message could have been previously processed because it was received from a different adjacent node. The determination as to whether a connectivity request message was previously processed could be performed in a number of different ways. For example, in an embodiment in which connectivity request messages include the request ID and the source node ID, this determination can be made by comparing this request ID and source node ID of the current connectivity request message to a log of such for previous connectivity request messages. [00106] As shown in block 1125, the intersection of the received path service level channel set for the path to this node with the link service level channel set for each propagation port is determined. From block 1125, control passes to block 1130. The phrase propagation port is used to refer to any ports other than: 1) the one the connectivity request message was received on; and 2) a port connected to the source node (i.e., the source node is adjacent to this node). In certain embodiments of the invention, the propagation ports are determined by selecting links from the link state database that are not connected to the forward node ID and source node ID identified in the connectivity request message. With reference to Figure 8, since N2 received the connectivity request over the link to NI and since NI is the source node, N2 would select the port through which a link to node N4 is connected. N2 would then determine the intersection of the path service level channel set for N1:N2 with the link service level channel set for N2:N4. This intersection set is the path service level channel set for N1:N2:N4 and is included in the computed set (path service level channel sets are shown in Figure 8 by dashed boxes, such as the one under N2). Specifically, N2 determines the intersection of the path service level channel set (SA (N1:N2) = lamda 1, 2) and the link service level channel set (SA (N2:N4) = lamda 1) to be lamda 1 (which is also represented herein using the format SA (N1:N2:N4) = lamda 1).
[00107] Thus, the computed set represents the intersection of the preceding link service level channel sets for the path the connectivity request message has traveled. In the case of block 1010, the computed set is the same as the link service level channel set for the link over which the connectivity request message was transmitted. However, as the connectivity request message gets retransmitted to other nodes, the computed set will represent the paths traveled and the intersection set for each such path.
[00108] In block 1130, it is determined if there are any non-null intersection sets. If so, control passes to block 1140. Otherwise, control passes to block 1135. [00109] As shown in block 1140, a connectivity response message, with the intersection set(s) as path service level channel set(s), is transmitted to the source node and control passes to block 1145. In certain embodiments of the invention, each connectivity response message includes the service level, request ID, response node ID, and computed set. With regard to node N2, N2 would transmit to NI a connectivity response message including as the computed set N1:N2:N4, lamda 1. [00110] In block 1145, a connectivity request message, with the intersection set(s) as path service level channel set(s), is transmitted on the propagation ports and control passes to block 1115. With regard to node N2, N2 would transmit to N4 a connectivity request message. With regard to embodiments of the invention in which connectivity request messages include request ED, a source node ID, a forward node ID, a service level, and a computed set, N2 would respectively fill these fields with the request ID, NI, N2, A, and the computed set N1:N2:N4, lamda 1.
[00111] In block 1135, a connectivity stop message is transmitted back to the source node and control passes to block 1115. In certain embodiments, such a connectivity stop message includes the source node ID.
[00112] To complete the example of Figure 8, responsive to the connectivity request message from NI, N3 determines the intersection set to N4 for service level A. N3 transmits this intersection set back to NI in a connectivity response message, as well as to N4 in a connectivity request message. Meanwhile, responsive to N2's connectivity request message, N4 determines intersection sets to N3 and N5 for service level A. N4 transmits these back to NI in a connectivity response message and transmits these to N3 and N5 in connectivity request messages. Responsive to N4's connectivity request messages: 1) N3 does nothing because it has seen this request ED before (the above connectivity request message from NI); and 2) N5 transmits back to NI a connectivity stop message. Responsive to N3's connectivity request message, N4 does nothing because it has seen this request ID before (the above connectivity request message from N2).
Allocate [00113] Figures 12-14 are flow diagrams illustrating the allocation of a path according to certain embodiments of the invention. Figure 12 is the flow diagram illustrating operations performed by an access node to allocate a path according to certain embodiments of the invention. The operations in Figure 12 result in: 1) update routing database message(s) being sent to the nodes along the selected path being allocated; and 2) update allocate channel message(s) being sent to certain nodes. Figure 13 is a flow diagram illustrating the operations performed by an access node responsive to an update routing database message according to certain embodiments of the invention; Figure 14 is a flow diagram illustrating the operations performed by an access node responsive to an update allocate channel message according to certain embodiments of the invention.
[00114] With reference to Figure 12, an access node (which will act as the source node) receives a demand for a path and control passes to block 1210. There are various mechanisms through which such a demand for a path could be received by the access node. For instance, in certain embodiments of the invention OIF-UNI and/or OIF-NNI interfacing protocols are used to communicate with nodes and domains, respectively, which do not support GMPLS or MPLS.
[00115] In block 1210, the service level and destination node for the demand are determined and control passes to block 1220. Block 1210 may be performed in a similar manner to block 605 of Figure 6.
[00116] As shown in block 1220, it is determined if there is a path available at that service level. If not, control passes to block 1225. Otherwise, control passes to block 1230. Block 1220 can be implemented in a variety of ways. With regard to the exemplary embodiment of Figure 7, the service level topology structure is parsed to determine if the destination node is reachable and there is an unallocated lamda available. While in certain embodiments, the service level topology structure is parsed responsive to a demand, alternative embodiments of the invention generate derivative structures that are faster to parse and/or pre-select (and may pre-allocate) various paths (e.g., see discussion later herein). Block 1220 is similar to block 615 of Figure 6.
[00117] As shown in block 1225, alternative action is taken. Block 1225 is similar to block 625, and the various alternatives discussed there are equally applicable here.
[00118] In block 1230, a path and channel are selected based upon selection criteria and control passes to block 1235. In certain embodiments, the selection of path and channel includes the selection of a node: channel: port sequence for the path (it should be noted that where, as here, a conversion-free connectivity constraint is used, a single channel is used). Various embodiments can use different selection criteria for selecting the path and channel. For instance, certain embodiments of the invention utilize load balancing as described later herein. It should also be understood that various path calculation techniques may be used, including Djikstra's algorithm. [00119] As shown in block 1235, the routing database is updated and control passes to block 1240. The routing database is updated to reflect the connection of the incoming port identified by the demand in block 1205 with the outgoing channel: port of the selected path. In certain embodiments, responsive to the updating the routing database, well-known techniques are used to modify the data plane of the access node accordingly (of course, alternative embodiments may be implemented to modify the data plane first and/or through a different mechanism). Whether a path in the opposite direction is also allocated depends on whether the implementation requires all paths to be bi-directional and/or a bi-directional path was requested in the demand.
[00120] In block 1240, update routing database message(s) are transmitted to nodes on the selected path and control passes to block 1245. In certain embodiments of the invention, each update routing database message includes an update ID, as well as the channel and port information relevant to the recipient node of the message.
[00121] As shown in block 1245, the selected service level topology structure is updated and control passes to block 1250. In particular, the selected channel is marked as allocated in all path service level channel sets down stream of a link in the selected path. In other words, the selected channel is marked allocated in the path service level channel set(s) of the available path(s) that include one or more links of the selected path. To provide an example, assume the path NI: N2: N4 is allocated with lamda 1 in Figure 2. With reference to Figure 3A, lamda 1 would need to be marked as allocated from the path service level channel set of NI: N2, NI: N2: N4, NI: N2: N4: N3, NI: N2: N4: N5, and NI: N3: N4: N2 because each contains one or more links on the selected path.
[00122] In block 1250, an update allocate channel message is transmitted to nodes in the selected service level topology structure. In certain embodiments, each update allocate channel message includes an update ID, a service level, a path, an allocated channel, and a sent-to-set. The sent-to-set represents the set of nodes to which the message is going to be sent. While the nodes to which the message is to be sent can be determined in a variety of ways, certain embodiments of the invention parse the service level topology structure to identify all of the nodes (removing duplicates) apart from the source node. [00123] Figure 13 is a flow diagram illustrating operations performed by an access node responsive to an update routing database message according to certain embodiments of the invention. In block 1310, the routing database is updated. The receiving node's routing database is updated to reflect the connection identified in the received message. In certain embodiments, responsive to the updating of the routing database, well-known techniques are used to modify the data plane of the access node accordingly (of course, alternative embodiments may be implemented to modify the data plane first and/or through a different mechanism - e.g., signaling).
[00124] Block 1310 is performed in a similar fashion to block 1235 of Figure 12.
[00125] Figure 14 is a flow diagram illustrating operations performed by an access node responsive to an update allocate channel message according to certain embodiments of the invention. In block 1410, it is determined if any of the available paths of the service level topology structure for the service level of the allocated path contain one or more links of the selected path. If not, control passes to block 1415 where the flow diagram ends. If so, control passes to block 1420. In certain embodiments of the invention, block 1410 is performed by parsing the appropriate service level topology structure to determine if any links on the selected path are represented therein.
[00126] As shown in block 1420, it is determined if any of the path service level channel set(s) of the available paths identified in block 1410 include the allocated wavelength. If not, control passes to block 1415. Otherwise, control passes to block 1425. In certain embodiments of the invention, block 1420 is performed by parsing the path service level channel set(s) of the identified path(s) to determine if the allocated wavelength is present. [00127] As shown in block 1425, the selected service level topology structure is updated and control passes to 1430. In certain embodiments of the invention, block 1425 is performed by marking the allocated wavelength as allocated in the path service level channel set(s) identified in block 1420. [00128] As shown in block 1430, nodes are selected from the service level topology structure that are not identified in the received allocate channel message and control passes to block 1435. In certain embodiments of the invention, block 1430 is performed by: 1) identifying as "new set" all of the nodes in the service level topology structure that are not in the sent-to-set in the received update allocate channel message (1405); and 2) forming an updated version of the sent-to-set that is the union of the new set and the sent-to set in the received update allocate channel message (1405).
[00129] In block 1435, an update allocated channel message is transmitted to the selected nodes. In certain embodiments of the invention, block 1435 is performed by transmitting an update allocate channel message with the updated sent-to-set to all nodes in the new set of block 1430.
Deallocate
[00130] Responsive to a request to deallocate a channel (e.g., communication received by the source node for the path using the channel), signaling is used to disconnect the existing cross connects on the path. Figure 15 is a flow diagram illustrating operations performed by the source node of a path responsive to that path being deallocated according to certain embodiments of the invention. As part of the flow diagram in Figure 15, the source node of the path transmits update deallocate channel message(s) to certain other nodes. Figure 16 is a flow diagram illustrating the operations performed by access nodes responsive to receiving an update deallocate channel message according to certain embodiments of the invention.
[00131] In block 1510, the service level of the channel being deallocated is determined and control passes to block 1515. In certain embodiments, the service level is determined by parsing the link state database to locate the channel being deallocated.
[00132] As shown in block 1520, the service level topology structure is updated and control passes to block 1525. Block 1520 is performed in a similar fashion to block 1245, with the exception that the channel is marked unallocated. In particular, the deallocated channel is marked as unallocated in all path service level channel sets down stream of a link in the deallocated path. In other words, the deallocated channel is marked unallocated in the path service level channel set(s) of the available path(s) that include one or more links of the deallocated path. To provide an example, assume the path NI: N2: N4 is deallocated with lamda 1 in Figure 2. With reference to Figure 3 A, lamda 1 would need to be marked as unallocated from the path service level channel set of NI: N2, NI: N2: N4, NI: N2: N4: N3, NI: N2: N4: N5, and NI: N3: N4: N2 because each contains one or more links on the deallocated path.
[00133] As shown in block 1525, an update deallocate channel message is transmitted to nodes in the service level topology structure and control passes to block 1530. The set of nodes to which this message is sent is referred to the sent-to-set. In certain embodiments of the invention, the update deallocate channel message includes the source node ID, the adjacent node ID, the path, the channel deallocated, the update ED, the service level, and the sent-to-set. While the nodes to which the message is to be sent can be determined in a variety of ways, certain embodiments of the invention parse the service level topology structure to identify all of the nodes (removing duplicates) apart from the source node.
[00134] As shown in block 1530, the routing database is updated and control passes to block 1540. With reference to the exemplary embodiment of Figure 7, the routing database 720 would be modified to remove the connection of the deallocated channel. Whether a path in the opposite direction is also deallocated depends on whether the implementation requires all paths to be bi-directional and/or the path being deallocated was bi-directional.
[00135] In block 1540, update routing database message(s) are transmitted to nodes on the selected path. In certain embodiments of the invention, each update routing database message includes an update ID, as well as the channel and port information relevant to the recipient node of the message. A recipient access node responds to the receipt of such a message by modifying its routing database to reflect the disconnection of the incoming channel:port and the outgoing channel: port as specified in the message.
[00136] In this manner, the nodes along the path are updated to reflect the deallocation; in addition, update deallocate channel messages have been sent to initiate any necessary updating at such nodes. [00137] Figure 16 is a flow diagram illustrating operations performed by access nodes responsive to an update deallocate channel message according to certain embodiments of the invention. In block 1610, it is determined if any of the available paths of the service level topology structure for the service level of the deallocated path contain one or more links of the deallocated path. If not, control passes to block 1615 where the flow diagram ends. If so, control passes to block 1620. In certain embodiments of the invention, block 1610 is performed by parsing the appropriate service level topology structure to determine if any links on the deallocated path are represented therein.
[00138] As shown in block 1620, it is determined if any of the path service level channel set(s) of the available paths identified in block 1610 include the deallocated wavelength. If not, control passes to block 1615. Otherwise, control passes to block 1625. In certain embodiments of the invention, block 1620 is performed by parsing the path service level channel set(s) of the identified path(s) to determine if the allocated wavelength is present.
[00139] As shown in block 1625, the selected service level topology structure is updated and control passes to 1630. In certain embodiments of the invention, block 1625 is performed by marking the deallocated wavelength as unallocated in the path service level channel set(s) identified in block 1620.
[00140] In block 1630, the nodes in the service level topology structure that are not identified in the received update deallocate channel message are selected and control passes to block 1635. In certain embodiments of the invention, block 1630 is performed by: 1) identifying as "new set" all nodes in the service level topology structure that are not in the sent-to-set in the received update deallocate channel message (1605); and 2) forming an updated version of the sent-to-set that is the union of the new set and the sent-to-set in the received update deallocate channel message (1605).
[00141] As shown in block 1635, an update deallocate channel message is sent to the selected nodes and control passes to block 1615. In certain embodiments of the invention, this update deallocate channel message includes the new sent-to-set determined in block 1630 as opposed to the sent-to-set in the received update deallocate channel message (1605).
Dynamic Provisioning [00142] As previously noted, a request to change the demand criteria for a given provisioned service (e.g., a request to lower or raise the service level of a given provisioned service) is also addressed by certain embodiments of the invention. In particular, certain such embodiments respond to such requests by allocating a new path, and if successful and necessary, moving the traffic from the old path to the new allocated path and de-allocating the old path.
[00143] The reduced network topology database size (as compared to a physical network topology database) and distributed nature of this source based scheme allows for the provisioning of optical circuits in real-time (or on the fly; that is, the demands do not need to know ahead of time). Furthermore, the QoS based criteria allows for differentiation of traffic types at the optical layer. Thus, for example, a given service to a customer can be at a higher service level during the day, and dropped down to the lower service level at night. Of course, such switches can occur even more often.
[00144] In addition, implementations can push SONET out to the edge of the network. For instance, as opposed to carrying stacks of network layers (IP over ATM over SONET) over optical, network layers can be directly carried over optical (e.g., IP or ATM, or SONET).
Add and Remove Channels
[00145] Figures 17 and 18 are flow diagrams illustrating operations performed when either a channel is added or a channel without live traffic is removed according to certain embodiments of the invention. The operations of Figure 17 are performed by the access nodes connected by the link on which the channel is added or removed (also referred to as the adjoining nodes or the access nodes made adjacent by that link). As part of these operations, an update add remove channel message is transmitted to certain other nodes. The operations of Figure 18 are performed by an access node responsive to such an update add/remove channel message. [00146] Figure 17 is a flow diagram illustrating the operations performed by the access nodes connected by the link on which the channel is added/removed according to certain embodiments of the invention. In block 1710, the service level of the channel is determined and control passes to block 1715. When a channel is being added, block 1710 is performed, according to certain embodiments of the invention, by comparing that channel's wavelength parameters to the service level parameters to classify it into one of the service levels. When a channel is being removed, block 1710 is performed, according to certain embodiments of the invention, by accessing the link state database of Figure 7.
[00147] As shown in block 1715, a connectivity request message is transmitted on the link carrying the channel and control passes to blocks 1720 and 1725. Block 1715 is performed in a similar manner to block 1515 of Figure 15.
[00148] In block 1720, the service level topology structure is updated responsive to connectivity response messages received. In certain embodiments of the invention, block 1720 is performed in a similar manner to block 1015 of Figure 10 with a variation. Since certain data already exists in the service level topology structure, the received data in the connectivity response messages is used to update (add, remove, and/or alter) the existing service level topology structure. In the case of a channel removal, in certain embodiments of the invention, the channel on each path with the link may be either removed from the service level topology structure or marked broken.
[00149] As shown in block 1725, an update add/remove channel message is transmitted to the nodes in the service level topology structure that are not on the link with the channel. In certain embodiments of the invention, each update add/remove channel message includes an update ID, the wavelength, whether this is an addition or removal, the source node ED, the source adjacent node ED, the service level, and the sent-to-set. The source node and the source adjacent node identified are the access nodes connected by the link on which the channel was added/removed. The sent-to-set includes the nodes in the service level topology structure that the message is sent to in block 1725 (all nodes in the service level topology structure other than the source node and source adjacent node).
[00150] Figure 18 is a flow diagram illustrating the operations performed by an access node responsive to receiving an update add/remove channel message according to certain embodiments of the invention. As shown in block 1810, it is determined if the service level topology structure includes path(s) with the link to which the channel was added/removed. If not, control passes to block 1815 where the flow diagram ends. If so, control passes to block 1820. In certain embodiments of the invention, block 1810 is performed by searching the service level topology structure (for the service level identified in the received update add/remove channel message) for the link identified in the received update add/remove channel message (based on the source node ID and source adjacent node ED contained therein).
[00151] In block 1820, connectivity request message(s) are transmitted on link(s) of these paths and control passes to blocks 1825 and 1830. In particular, the access node transmits a connectivity request message on each of its links that are part of these paths.
[00152] In block 1825, the service level topology structure is updated responsive to connectivity response messages received. Block 1825 is performed in a similar fashion to block 1720 of Figure 17.
[00153] As shown in block 1830, nodes are selected from the service level topology structure that are not identified in the received update add/remove channel message and control passes to block 1835. In certain embodiments of the invention, block 1830 is performed by: 1) identifying as "new set" all of the nodes in the service level topology structure that are not in the sent-to-set in the received update add/remove channel message (1805); and 2) forming an updated version of the sent-to-set that is the union of the new set and the sent-to set in the received update add/remove channel message (1805).
[00154] In block 1835, an update add/remove channel message is transmitted to the selected nodes. As before, this update add/remove channel message will: 1) identify whether this is an addition or removal; and 2) include the updated sent-to-set as opposed to the sent-to-set in the received update add/remove channel message (1805).
[00155] With regard to the removal of a channel with live traffic, the flow in Figures 17 and 18 is followed with some variation. In particular, each involved access node (the access nodes connected by the link with the channel and the access nodes that receive an update add/remove channel message), determines if they are the source node of any allocated path(s) that includes the link and uses the removed channel. If so, that access node executes a redundancy (protection) scheme.
Link Removal [00156] When a link is removed (e.g., it fails or is permanently removed) between two nodes within the network, all the channels on that link are lost. While certain embodiments perform the channel removal operations of Figures 17 and 18 for each such channel, other embodiments of the invention reduce the number of messages generated by addressing the link as a whole. In particular, figures 19 and 20 are flow diagrams illustrating operations performed when a link is removed according to certain embodiments of the invention. The operations of Figure 19 are performed by the access nodes connected by the link (also referred to as the adjoining nodes or the access nodes made adjacent by that link). As part of these operations, a link removal message is transmitted to certain other nodes. The operations of Figure 20 are performed by an access node responsive to such a link removal message.
[00157] Figure 19 is a flow diagram illustrating the operations performed by the access nodes connected by the removed link according to certain embodiments of the invention. Block 1910 is used to indicate that the following blocks are performed for each service level.
[00158] As shown in block 1915, it is determined if the service level topology structure includes path(s) with the removed link. If not, control passes to block 1930. If so, control passes to block 1925. In certain embodiments of the invention, block 1915 is performed by searching the service level topology structure for the presence of the removed link.
[00159] In block 1925, the service level topology structure is updated and control passes block 1930. In certain embodiments of the invention, any of the channels in these path's path service level channel set(s) that are in common with the link service level channel set of the removed link are marked broken (indicating that the channel(s) cannot be used). While in certain embodiments of the invention channels marked broken are maintained indefinitely, other embodiments of the invention delete such marked channels (and corresponding paths) after a period of time if the link is not reestablished. In other embodiments of the invention, these path(s) and channels are simply deleted immediately and added back in (see the link addition section) if they are reestablished. [00160] As shown in block 1930, a link removal message is transmitted to the nodes in the service level topology structure that are not on the link. In certain embodiments of the invention, each link removal message includes the link service level channel set of the removed link, the source node ID, the source adjacent node ID, an update ID, the service level, and the sent-to-set. The source node and the source adjacent node identified are the access nodes connect to the removed link. The sent-to-set includes the nodes in the service level topology structure that the message is sent to (all nodes in the service level topology structure other than the source node and source adjacent node).
[00161] Figure 20 is a flow diagram illustrating the operations performed by an access node responsive to receiving a link removal message according to certain embodiments of the invention. As shown in block 2010, it is determined if the service level topology structure includes path(s) with the removed link. If not, control passes to block 2020. If so, control passes to block 2015. In certain embodiments of the invention, block 2010 is performed by searching the service level topology structure (for the service level identified in the received link removal message) for the link identified in the received link removal message (based on the source node ID and source adjacent node ED contained therein).
[00162] In block 2015, the service level topology structure is updated and control passes block 2020. In certain embodiments of the invention, any of the channels in these path's (identified in block 2010) path service level channel set(s) that are in common with the link service level channel set of the removed link are marked broken (indicating that the channel(s) cannot be used). While in certain embodiments of the invention channels marked broken are maintained indefinitely, other embodiments of the invention delete such marked channels (and corresponding paths) after a period of time if the link is not reestablished. In other embodiments of the invention, these path(s) and channels are simply deleted immediately and added back in (see the link addition section) if they are reestablished. [00163] As shown in block 2020, nodes are selected from the service level topology structure that are not identified in the received link removal message and control passes to block 2025. In certain embodiments of the invention, block 2020 is performed by: 1) identifying as "new set" all of the nodes in the service level topology structure that are not in the sent-to-set in the received link removal message (2005); and 2) forming an updated version of the sent-to-set that is the union of the new set and the sent-to set in the link removal message (2005). [00164] In block 2025, an link removal message is transmitted to the selected nodes. As before, this link removal message will include the updated sent-to-set as opposed to the sent-to-set in the received link removal message (2005).
[00165] With regard to the removal of a link with live traffic, the flow in Figures 19 and 20 is followed with some variation. In particular, each involved access node (the access nodes connected by the removed link and the access nodes that receive the link removal message), determines if they are the source node of any allocated path(s) that includes the link. If so, that access node executes a redundancy (protection) scheme.
Link Addition
[00166] When a link is added, the LSD is updated in the access nodes connected to the link (e.g., in certain embodiments of the invention, LMP recognizes the new link). When a link is added between two nodes within the network, a number of channels on that link can be available all at once. While certain embodiments perform the channel addition operations of Figures 17 and 18 for each such channel, other embodiment of the invention reduce the number of messages generated by addressing the link as a whole. In particular, figures 21 and 22 are flow diagrams illustrating operations performed when a link is added according to certain embodiments of the invention. The operations of Figure 21 are performed by the access nodes connected by the link (also referred to as the adjoining nodes or the access nodes made adjacent by that link). As part of these operations, a link addition message is transmitted to certain other nodes. The operations of Figure 22 are performed by an access node responsive to such a link addition message.
[00167] Figure 21 is a flow diagram illustrating the operations performed by the access nodes connected by the added link according to certain embodiments of the invention. In block 2107, the wavelength(s) on the added link are classified by service level parameters to form link service level channel set(s) and control passes to block 2110. In certain embodiments of the invention, block 2107 is performed in a similar manner to block 915, with the exception that only the added link is processed. [00168] Block 2110 is used to indicate that the following blocks are performed for each service level to which new channels were added (those service levels for which the link service level channel set of the added link is not null). [00169] As shown, in block 2115, connectivity request message(s) are transmitted to the qualifying adjacent node(s) and control passes to blocks 2120 and 2125. In certain embodiments, block 2115 is performed in a similar manner to block 1010.
[00170] In block 2120, the service level topology structure is updated. In certain embodiments of the invention, block 2120 is performed in a similar manner to blocks 1005 and 1015 of Figure 10 with a variation. With regard to the variation on block 1005, the service level topology structure is populated with the access node made adjacent by the added link (the service level topology structure was already populated with any other adjacent nodes). With regard to the variation on block 1015, since certain data already exists in the service level topology structure, the received data in the connectivity response messages is used to update the existing service level topology structure (add what is not already present).
[00171] In block 2125, a link addition message is transmitted to nodes in the selected service level topology structure. In certain embodiments, each link addition message includes a service level and a sent-to-set (all of the nodes in the service level topology apart from the source node).
[00172] Figure 22 is a flow diagram illustrating the operations performed by an access node responsive to receiving a link addition message according to certain embodiments of the invention.
[00173] As shown, in block 2210, connectivity request message(s) are transmitted to the qualifying adjacent node(s) and control passes to blocks 2215 and 2220. In certain embodiments, block 2210 is performed in a similar manner to block 1010. [00174] In block 2215, the service level topology structure is updated responsive to connectivity response messages received. Block 2215 is performed in a similar fashion to block 1015 of Figure 10 with a variation. With regard to the variation on block 1015, since certain data already exists in the service level topology structure, the received data in the connectivity response messages is used to update the existing service level topology structure (add what is not already present). [00175] As shown in block 2220, nodes are selected from the service level topology structure that are not identified in the received link addition message and control passes to block 2225. In certain embodiments of the invention, block 2220 is performed by: 1) identifying as "new set" all of the nodes in the service level topology structure that are not in the sent-to-set in the received link addition message (2205); and 2) forming an updated version of the sent-to-set that is the union of the new set and the sent-to set in the link addition message (2205).
[00176] In block 2225, a link addition message is transmitted to the selected nodes. As before, this link addition message will include the updated sent-to-set as opposed to the sent-to-set in the received link addition message (2205).
Node Removal
[00177] When a node is removed, the LSD is updated in the adjacent access node(s) (e.g., in certain embodiments of the invention, LMP recognizes the removal of the node). When a node is removed, the channels on its link(s) are no longer available all at once. While certain embodiments perform the link removal operations of Figures 19 and 20 for each such link, other embodiment of the invention reduce the number of messages generated by addressing the node as a whole. In particular, figures 23 and 24 are flow diagrams illustrating operations performed when a node is removed according to certain embodiments of the invention. The operations of Figure 23 are performed by the adjacent access node(s). As part of these operations, a node removal message is transmitted to certain other nodes. The operations of Figure 24 are performed by an access node responsive to such a node removal message.
[00178] Figure 23 is a flow diagram illustrating the operations performed by the access node(s) adjacent a removed node according to certain embodiments of the invention. Block 2310 is used to indicate that the following blocks are performed for each service level. [00179] In block 2315, the service level topology structure is updated and control passes to block 2320. In certain embodiments of the invention, block 2315 is performed by removing from the service level topology structure the branch, if one exists, that has as the first hop the removed node. [00180] As shown in block 2320, it is determined if the service level topology structure includes path(s) with the removed node. If not, control passes to block 2325 where the flow diagram ends. If so, control passes to block 2330. In certain embodiments of the invention, block 2320 is performed by searching the service level topology structure for the presence of the removed node.
[00181] As shown, in block 2330, connectivity request message(s) are transmitted on link(s) of these paths and control passes to blocks 2335 and 2340. In particular, the access node transmits a connectivity request message on each of its links that are part of these paths.
[00182] In block 2335, a new service level topology structure is instantiated and updated responsive to connectivity response messages received. In certain embodiments, block 2325 is performed in a similar manner as blocks 1005 and 1015 with a variation. In particular, the new service level topology structure preserves the channel states from the current service level topology structure (which is kept until the new service level topology structure is completed).
[00183] In block 2340, a node removal message is transmitted to nodes in the selected service level topology structure. In certain embodiments of the invention which instantiate a new service level topology structure as in block 2325, the service level topology structure used for block 2330 is the current service level topology structure. In certain embodiments, each link removal message includes a removed node ID, a service level, and a sent-to-set (all of the nodes in the service level topology apart from the removed node and the nodes adjacent the removed node).
[00184] Figure 24 is a flow diagram illustrating the operations performed by an access node responsive to receiving a node removal message according to certain embodiments of the invention.
[00185] In block 2410, it is determined if the service level topology structure includes path(s) with the removed node. If not, control passes to block 2415 where the flow diagram ends. If so, control passes to block 2420. In certain embodiments of the invention, block 2410 is performed by searching the service level topology structure for the presence of the removed node. [00186] As shown, in block 2420, connectivity request message(s) are transmitted on link(s) of these paths and control passes to blocks 2425 and 2430. In particular, the access node transmits a connectivity request message on each of its links that are part of these paths. [00187] In block 2425, a new service level topology structure is instantiated and updated responsive to connectivity response messages received. In certain embodiments, block 2425 is performed in a similar manner as blocks 1005 and 1015 with a variation. In particular, the new service level topology structure preserves the channel states from the current service level topology structure (which is kept until the new service level topology structure is completed).
[00188] As shown in block 2430, nodes are selected from the service level topology structure that are not identified in the received node removal message and control passes to block 2435. In certain embodiments of the invention, block 2430 is performed by: 1) identifying as "new set" all of the nodes in the current service level topology structure that are not in the sent-to-set in the received node removal message (2405); and 2) forming an updated version of the sent-to-set that is the union of the new set and the sent-to set in the node removal message (2405).
[00189] In block 2435, a node removal message is transmitted to the selected nodes. As before, this node removal message will include the updated sent-to-set as opposed to the sent-to-set in the received node removal message (2405).
[00190] While in certain embodiments of the invention, nodes and their paths are deleted immediately and added back in (see the node addition section) if they are reestablished, alternative embodiments provide other mechanisms (e.g., in certain embodiments of the invention the paths are marked broken are maintained indefinitely, in other embodiments of the invention the paths are marked broken and deleted after a period of time if the node is not reestablished, etc.).
Node Addition
[00191] When a node is added, the added node performs the flows in figures 9 and 10. In addition, the LSD is updated in the adjacent access node(s) (e.g., in certain embodiments of the invention, LMP recognizes the removal of the node). Additionally, for each of the adjacent nodes, there has effectively been one or more links added to the new node. As such, each of the adjacent node(s) performs the flow of figure 21, with the exception that block 2125 is replaced with a different operation. In particular, instead of block 2125, a node addition message is transmitted to nodes in the selected service level topology structure. In certain embodiments, each node addition message includes an added node ID, a service level and a sent-to-set. The message is sent to, and the sent-to-set includes, any nodes in the service level topology apart from the source node.
[00192] Figure 25 is a flow diagram illustrating the operations performed by an access node responsive to receiving a node addition message according to certain embodiments of the invention.
[00193] As shown, in block 2510, connectivity request message(s) are transmitted to the qualifying adjacent node(s) and control passes to blocks 2515 and 2520. In certain embodiments, block 2510 is performed in a similar manner to block 1010.
[00194] In block 2515, a new service level topology structure is instantiated and updated responsive to connectivity response messages received. In certain embodiments, block 2515 is performed in a similar manner as blocks 1005 and 1015 with a variation. In particular, the new service level topology structure preserves the channel states from the current service level topology structure (which is kept until the new service level topology structure is completed).
[00195] As shown in block 2520, nodes are selected from the service level topology structure that are not identified in the received node addition message and control passes to block 2525. In certain embodiments of the invention, block 2520 is performed by: 1) identifying as "new set" all of the nodes in the current service level topology structure that are not in the sent-to-set in the received node addition message (2505); and 2) forming an updated version of the sent-to-set that is the union of the new set and the sent-to set in the node addition message (2505).
[00196] In block 2525, a node addition message is transmitted to the selected nodes. As before, this node addition message will include the updated sent-to-set as opposed to the sent-to-set in the received node addition message (2505).
Service Level Parameter Changes [00197] In certain embodiments of the invention, the service provider may update the service level parameters and push a fresh copy on each node. If and when a new QoS criteria is added, certain embodiments of the invention perform the following: 1. The contents of the service level parameters database is copied and kept in the memory. 2. The service level parameters database is populated with new data. 3. Blocks 915 and 920 are performed to create new service level topology structures, keeping the existing service level topology structure for each service level. 4. The new service level topology structures are used for new connections. 5. The previous service levels are mapped to the current service levels by comparing the parameters. 6. The connection status from the old service level topologies are mapped to the new service level topology structures to relevant service levels. 7. The old service level topologies are deleted.
[00198] Similarly, if an when an existing service level parameter(s) is changed, certain embodiments of the invention perform the following: 1. The contents of the particular level in service level parameters database is copied and kept in the memory. 2. The service level parameters database is populated with new data. 3. New service level topology structures are built for the updated levels keeping the old service level topology structures. 4. The new service level topology structures are used for new connections. 5. The previous service levels are mapped to the current service levels by comparing the parameters. 6. The connection status from the old service level topologies are mapped to the new service level topology structures to relevant service levels. 7. The old service level topologies are deleted.
[00199] Of course, alternative embodiments may handle such changes in other ways.
Exemplary Load Balancing [00200] Where there are multiple shortest paths available, the issue of load balancing comes into play. For instance, certain embodiments of the invention implement load balancing to allow the service provider some options. Specifically, when a demand is received, there can either be: 1) a set of multiple shortest paths; or 2) a single shortest path. Where there is a set of multiple shortest paths, wavelengths are selected from each member of the set in round robin fashion. However, when there is a single shortest path, either one of two schemes is used. In the first scheme, a threshold is specified (e.g., specified by the service provider) for any link in the network. If the number of channels for a particular service level crosses the threshold on that link, then that link becomes unavailable for any future demand. This allows the service provider to tailor the traffic flow on the network. In the second scheme, a distribution ratio system is used. Specifically, the ratio is the number of new paths "allocated to non- shortest path" to "the shortest path."
Exemplary Contention Resolution
[00201] Since requests for paths by different access nodes may overlap, there is a need for contention resolution. Certain embodiments of the invention resolve contention issues by giving priority to the source with the higher IP number. However, this brings in a special case where a source node may be receiving demand request at a higher frequency than the other source node. The other source node, thus, potentially may starve.
[00202] Other embodiments of the invention use one of the following contention resolution schemes to overcome this deficiency. 1. One such scheme is to pre-allocate a lightpath for the next demand in advance. This result in each access node preallocating lightpaths to each accessible node at each service level. As such, this scheme can put a relatively high amount of strain on network resources. 2. Another such scheme is referred to herein as highest service level preallocation. Instead of preallocating lightpaths to each accessible node for each service level, this is done only for the highest service level. In the case of an unfavorable settlement of contention during demand allocation, the demand is allocated on the preallocated lightpath at the highest service level. As such, this scheme puts a relatively lower amount of strain on network resources, but can cause the highest service level lightpaths to get used up the fastest. 3. Yet another such scheme is referred to herein as default service level preallocation. In particular, for each source to destination pair, an indication of the default service level is maintained (e.g., the most common service level for historically received demands). Instead of preallocating lightpaths to each accessible node for each service level or preallocating lightpaths to each accessible node at the highest service level, preallocation is done only for the default service level for each source to destination pair. In the case of an unfavorable settlement of contention during demand allocation, the demand is allocated on the preallocated lightpath at the default service level. As such, this scheme puts a relatively lower amount of strain on network resources than scheme 1 and attempts to avoid using up the highest service level the fastest by predicting the most common service level.
Aggregating
[00203] While embodiments have been described in which separate messages are transmitted, alternative embodiments aggregate different ones of such messages. For instance, certain embodiments aggregate messages for different service level topologies during startup.
Alternative Embodiments
[00204] While various embodiments of the invention has been described, alternative embodiments of the invention can operate differently. For instance, while the flow diagrams in the figures show a particular order of operations performed by certain embodiments of the invention, it should be understood that such order is exemplary
(e.g., alternative embodiments may perform the operations in a different order, combine certain operations, overlap certain operations, etc.) In addition, while certain embodiments have been described that operate to reduce the number of communications between nodes by transmitting messages to only selected nodes (e.g., blocks 1250, 1320, 1430/1435, 1525, 1630/1635, 1725, and 1830/1835), alternative embodiments may be implemented to transmit such messages to more, less, or different nodes using different schemes (e.g., certain alternative embodiments broadcast each such message to every node). As another example, while certain embodiments of the invention have been described with respect to distributed search techniques for building/maintaining network topology databases and with respect to a source based scheme, alternative embodiments could be implemented different ways or combinations of ways (e.g., centralized network topology database building/maintaining, centralized provisioning, hybrids, etc.).
[00205] While the invention has been described in terms of several embodiments, those skilled in the art will recognize that the invention is not limited to the embodiments described, can be practiced with modification and alteration within the spirit and scope of the appended claims. The description is thus to be regarded as illustrative instead of limiting.

Claims

CLAIMSWhat is claimed is:
1. An optical network comprising: a plurality of wavelength division multiplexing access nodes employing a distributed search based scheme to build network topology databases based on a set of one or more connectivity constraints.
2. The optical network of claim 1, wherein said set of connectivity constraints includes one or more of quality of service (QoS) based criteria and a conversion free constraint.
3. The optical network of claim 1, wherein each of said access nodes stores its own network topology database.
4. The optical network of claim 1, further comprising: a centralized network management server communicatively coupled to each of the plurality of access nodes to store the network topology databases.
5. The optical network of claim 1, wherein the set of one or more connectivity constraints includes both QoS based criteria that divides said optical network into separate service levels and a conversion free constraint, and wherein the network topology databases store a representation of a conversion free service level topology for each of the access nodes for each of the service levels.
6. The optical network of claim 5, wherein the network topology databases include a separate topology structure for each of the conversion free service level topologies for each access node.
7. An apparatus comprising: a wavelength division multiplexing optical network including optical network devices, interconnected by links, that propagate along said links connectivity request messages, initiated at each of said optical network devices acting as an access node, to discover possible end to end paths that meet a set of connectivity constraints, wherein an end to end path is a series of two or more of said optical network devices connected by links on which a set of wavelengths is available for establishing a lightpath.
8. The apparatus of claim 7, wherein said set of connectivity constraints includes one or more of QoS based criteria and a conversion free constraint.
9. The apparatus of claim 7, wherein each of said optical network devices acting as an access node builds its own topology database to store the discovered possible end to end paths that have as a source node that access node.
10. The apparatus of claim 7, further comprising: a centralized network management server communicatively coupled to each of the access nodes that builds a topology database to store the discovered possible end to end paths.
11. The apparatus of claim 7, wherein the set of one or more connectivity constraints includes both QoS based criteria that divides said optical network into separate service levels and a conversion free constraint, and wherein different connectivity request messages are used for each of said service levels.
12. An apparatus comprising: a wavelength division multiplexing optical network including a plurality of nodes, said plurality of nodes including a plurality of access nodes each to generate and transmit to adjacent nodes connectivity request messages to determine possible end to end paths having that access node as a source node and meeting a set of one or more connectivity constraints, wherein an end to end path is a series of two or more of nodes connected by links on which a set of wavelengths is available for establishing a lightpath; and said plurality of nodes, responsive to each received connectivity request message, to determine any adjacent nodes to which the possible end to end path that the connectivity request message has already collected can be extended to form additional possible end to end paths having the originating access node as the source node and meeting the set of connectivity constraints, to transmit a message carrying that determination for incorporation in to a topology database, and to propagate said connectivity request message to any adjacent nodes that may be able to determine additional possible end to end paths having the originating access node as the source node and meeting the set of connectivity constraints.
13. The apparatus of claim 12, wherein said set of connectivity constraints includes one or more of QoS based criteria and a conversion free constraint.
14. The apparatus of claim 12, wherein each of the messages carrying a determination is transmitted back to the originating access node of the connectivity request message responsive to which that message was generated.
15. The apparatus of claim 12, wherein each of said access nodes to build a separate topology database responsive to receiving the messages carrying determinations of additional possible end to end paths having that access node as the source node and meeting the set of connectivity constraints.
16. The apparatus of claim 12, wherein each of said separate topology databases includes a conversion free service level topology for that access node.
17. The apparatus of claim 12, further comprising: a centralized network management server communicatively coupled to each of the plurality of access nodes to receive each of the messages with the determinations and to build the topology database.
18. The apparatus of claim 12, wherein the set of one or more connectivity constraints includes both QoS based criteria that divides said optical network into separate service levels and a conversion free constraint, and wherein different connectivity request messages are used for each of said service levels.
19. The apparatus of claim 12, wherein each of the propagated connectivity request messages includes a request ED, a source node ED, a forward node ED, and a computed set identifying the possible end to end paths already collected by the connectivity request message and the set of wavelengths is available on each.
20. The apparatus of claim 12 wherein each of the messages carrying the determinations is either a connectivity response message type or a connectivity stop message type, wherein the messages of the connectivity response message type identify possible end to end paths, and the message of the connectivity stop message type identify the path is complete.
21. An apparatus comprising: an access node, to be coupled in a wavelength division multiplexing optical network, including, a link state database to store, for each link connected to said access node, a link state structure to store a port of the access node to which that link is connected and available wavelengths on that link, a start up module to generate and transmit to adjacent nodes connectivity request messages to determine possible end to end paths having said access node as a source node and meeting a set of one or more connectivity constraints, wherein an end to end path is a series of two or more of nodes connected by links on which a set of wavelengths is available for establishing a lightpath, and a connectivity request module, responsive to each received connectivity request messages, to determine any adjacent nodes to which the possible end to end path that the connectivity request message has already collected can be extended to form additional possible end to end paths having the originating access node as the source node and meeting the set of connectivity constraints, to transmit a message carrying that determination for incorporation in to a topology database, and to propagate said connectivity request message to any adjacent nodes that may be able to determine additional possible end to end paths having the originating access node as the source node and meeting the set of connectivity constraints.
22. The apparatus of claim 21, wherein said set of connectivity constraints includes one or more of QoS based criteria and a conversion free constraint.
23. The apparatus of claim 21, wherein each of the messages carrying a determination is transmitted back to the originating access node of the connectivity request message responsive to which that message was generated.
24. The apparatus of claim 21, wherein said startup module to build a topology database responsive to receiving the messages carrying determinations of additional possible end to end paths having the access node as the source node and meeting the set of connectivity constraints.
25. The apparatus of claim 24, wherein each of said topology databases includes a conversion free service level topology for that access node for each of a plurality of service levels.
26. The apparatus of claim 21, wherein the set of one or more connectivity constraints includes both QoS based criteria that divides said optical network into separate service levels and a conversion free constraint, and wherein different connectivity request messages are used for each of said service levels.
27. The apparatus of claim 26, wherein: the set of one or more connectivity constraints includes both QoS based criteria that divides said optical network into separate service levels; and said access node further includes a service level connectivity database to store a service level topology structure, for each of said plurality of service levels, populated responsive to the messages carrying determinations received by said access node.
28. The apparatus of claim 21, wherein each of the propagated connectivity request messages includes a request ED, a source node ED, a forward node ED, and a computed set identifying the possible end to end paths already collected by the connectivity request message and the set of wavelengths is available on each.
29. The apparatus of claim 21, wherein at least certain of the messages carrying the determinations are of a connectivity response message type or a connectivity stop message type, wherein the messages of the connectivity response message type identify possible end to end paths, and the message of the connectivity stop message type identify the path is complete.
30. A method comprising: receiving, at a node of a wavelength division multiplexing optical network, a connectivity request message including a path and a path channel set, the path being a series of two or more of nodes connected by links over which the connectivity request message has traveled, the path channel set identifying wavelength available on that path for establishing lightpaths; determining an intersection set of the path channel set and a link channel set for a port of said node, wherein the link channel set is a set of one or more wavelengths available for establishing lighpaths on a link connected to said port; and if said intersection set is not null, then transmitting a connectivity response message with the path updated to include an adjacent node connected to said port and said intersection set.
31. The method of claim 30, further comprising: if said intersection set is not null, then also, updating the connectivity request message so that the path includes the adjacent node connected to said port and the path channel set is said intersection set; and transmitting the updated connectivity request message out the port.
32. The method of claim 30, further comprising: if said intersection set is null, then transmitting a connectivity stop message back to the source node of the connectivity request message.
33. The method of claim 30, wherein said transmitting said connectivity response message includes transmitting said connectivity response message back to a source node of the connectivity request.
34. The method of claim 30, wherein each of the propagated connectivity request messages also includes a request ED, a source node ID, and a forward node ID.
35. The method of claim 30, wherein the optical network is divided into a plurality of service levels, wherein different wavelengths on at least certain links of said optical network qualify for different ones of said plurality of service levels.
36. The method of claim 35, wherein the path channel set includes only wavelengths that qualify for a first of said plurality of service levels.
37. The method of claim 36, wherein said link channel set includes only wavelengths that qualify for said first of said plurality of service levels.
38. A machine-readable medium that provides instructions that, if executed by a processor, will cause said processor to perform operations comprising: responsive to receiving, at a node of a wavelength division multiplexing optical network, a connectivity request message including a path and a path channel set, determining an intersection set of the path channel set and a link channel set for a port of said node, wherein the path is a series of two or more of nodes connected by links over which the connectivity request message has traveled, and wherein the path channel set identifies wavelength available on that path for establishing lightpaths; and if said intersection set is not null, then transmitting a connectivity response message with the path updated to include an adjacent node connected to said port and said intersection set.
39. The machine-readable medium of claim 38, the operations further comprising: if said intersection set is not null, then also, updating the connectivity request message so that the path includes the adjacent node connected to said port and the path channel set is said intersection set; and transmitting the updated connectivity request message out the port.
40. The machine-readable medium of claim 38, the operations further comprising: if said intersection set is null, then transmitting a connectivity stop message back to the source node of the connectivity request message.
41. The machine-readable medium of claim 38, wherein said transmitting said connectivity response message includes transmitting said connectivity response message back to a source node of the connectivity request.
42. The machine-readable medium of claim 38, wherein each of the propagated connectivity request messages also includes a request ID, a source node ID, and a forward node ED.
43. The machine-readable medium of claim 38, wherein the optical network is divided into a plurality of service levels, wherein different wavelengths on at least certain links of said optical network qualify for different ones of said plurality of service levels.
44. The machine-readable medium of claim 43, wherein the path channel set includes only wavelengths that qualify for a first of said plurality of service levels.
45. The machine-readable medium of claim 44, wherein said link channel set includes only wavelengths that qualify for said first of said plurality of service levels.
46. A method comprising: transmitting to each adjacent node of an access node of a wavelength division multiplexing optical network a connectivity request message to be propagated to determine possible end to end paths having said access node as a source node and meeting a set of one or more connectivity constraints, wherein an end to end path is a series of two or more of nodes connected by links on which a set of wavelengths is available for establishing a lightpath; and receiving responsive connectivity messages identifying collected possible end to end paths and a path channel set for each identifying the available wavelengths; building a topology database for said access node based on said responsive connectivity message.
47. The method of claim 46, wherein said set of connectivity constraints includes one or more of QoS based criteria and a conversion free constraint.
48. The method of claim 46, wherein said topology databases includes a conversion free service level topology for that access node for each of a plurality of service levels.
49. The method of claim 46, wherein the set of one or more connectivity constraints includes both QoS based criteria that divides said optical network into separate service levels and a conversion free constraint, and wherein different connectivity request messages are used for each of said service levels.
50. The method of claim 46, wherein: the set of one or more connectivity constraints includes QoS based criteria that divides said optical network into separate service levels; and said building includes building a separate service level topology structure for each of said plurality of service levels.
51. The method of claim 46, wherein each of the connectivity request messages includes a request ED, a source node ID, a forward node ID, and a computed set identifying the possible end to end paths already collected by the connectivity request message and the set of wavelengths is available on each.
52. The method of claim 46, wherein at least certain of the responsive connectivity messages are of a connectivity response message type or a connectivity stop message type, wherein the messages of the connectivity response message type identify possible end to end paths, and the message of the connectivity stop message type identify the path is complete.
53. The method of claim 46, wherein the optical network is divided into a plurality of service levels, wherein different wavelengths on at least certain links of said optical network qualify for different ones of said plurality of service levels.
54. A machine-readable medium that provides instructions that, if executed by a processor, will cause said processor to perform operations comprising: transmitting to each adjacent node of an access node of a wavelength division multiplexing optical network a connectivity request message to be propagated to determine possible end to end paths having said access node as a source node and meeting a set of one or more connectivity constraints, wherein an end to end path is a series of two or more of nodes connected by links on which a set of wavelengths is available for establishing a lightpath; and responsive to receiving responsive connectivity messages identifying collected possible end to end paths and a path channel set for each identifying the available wavelengths, building a topology database for said access node based on said responsive connectivity message.
55. The method of claim 54, wherein said set of connectivity constraints includes one or more of QoS based criteria and a conversion free constraint.
56. The method of claim 54, wherein said topology databases includes a conversion free service level topology for that access node for each of a plurality of service levels.
57. The method of claim 54, wherein the set of one or more connectivity constraints includes both QoS based criteria that divides said optical network into separate service levels and a conversion free constraint, and wherein different connectivity request messages are used for each of said service levels.
58. The method of claim 54, wherein: the set of one or more connectivity constraints includes QoS based criteria that divides said optical network into separate service levels; and said building includes building a separate service level topology structure for each of said plurality of service levels.
59. The method of claim 54, wherein each of the connectivity request messages includes a request ID, a source node ID, a forward node ID, and a computed set identifying the possible end to end paths already collected by the connectivity request message and the set of wavelengths is available on each.
60. The method of claim 54, wherein at least certain of the responsive connectivity messages are of a connectivity response message type or a connectivity stop message type, wherein the messages of the connectivity response message type identify possible end to end paths, and the message of the connectivity stop message type identify the path is complete.
61. The method of claim 54, wherein the optical network is divided into a plurality of service levels, wherein different wavelengths on at least certain links of said optical network qualify for different ones of said plurality of service levels.
62. A method comprising: applying a set of one or more connectivity constraints that include quality of service (QoS) based criteria on a physical network topology of a wave length division multiplexing optical network to divide said optical network into separate service levels; and determining service level topologies for each of said service levels.
63. The method of claim 62, wherein said QoS based criteria includes one or more of bandwidth, bit error rate, optical signal to noise ration, peak noise level, and rerouting priority.
64. The method of claim 62, wherein said determining includes determining, for each service level, a service level topology for the network.
65. The method of claim 62, wherein said determining includes determining, for each service level, a service level topology for each node of the optical network.
66. The method of claim 62, wherein said set of connectivity constraints also includes a set of one or more conversion criteria.
67. The method of claim 62, wherein said set of connectivity constraints also includes a conversion free connectivity constraint.
68. A method comprising: maintaining a classification by QoS criteria of wavelengths for each link of a wave length division multiplexing optical network, said QoS criteria defining a plurality of service levels; and for each of said plurality of service levels, maintaining service level connectivity based on a conversion criteria.
69. The method of claim 68, wherein said QoS based criteria includes one or more of bandwidth, bit error rate, optical signal to noise ration, peak noise level, and rerouting priority.
70. The method of claim 68, further comprising: tracking said wavelengths for each of said links by operating a link management protocol in each of the nodes of the optical network.
71. The method of claim 68, wherein said maintaining said classification includes comparing parameters of each of the wavelengths to service level parameters, wherein there is a service level parameter for each of said plurality of service levels for each of said QoS criteria.
72. The method of claim 71, wherein said maintaining said classification includes each node of said optical network performing said comparing.
73. The method of claim 68, wherein the service level connectivity for each of said plurality of service levels includes the available wavelengths and the status as either allocated or unallocated.
74. The method of claim 68, wherein said conversion criteria represents the number of wavelength conversion s allowable for a given optical circuit.
75. An apparatus comprising: a wavelength division multiplexing optical network supporting a plurality of service levels, wherein different wavelengths on at least certain links of said optical network qualify for different ones of said plurality of service levels; and at least one separate network topology database for each of said plurality of service levels that represents the connectivity between nodes of said optical network using those of the wavelengths that qualify for that service level.
76. The apparatus of claim 75, wherein the connectivity is conversion free connectivity.
77. The apparatus of claim 76, wherein said network topology databases are stored in a centralized network server.
78. The apparatus of claim 76, wherein each access node of said optical network stores a separate one of said network topology databases for each of said plurality of service levels.
79. An apparatus comprising: for each wavelength on each link of a wavelength division multiplexing optical network, a wavelength parameter for each of a set of QoS based criteria; for each of a plurality of service levels, a service level parameter for each of said set of QoS based criteria; for each link of said optical network, a link service level channel set for each of said plurality of service levels representing those of the wavelengths on that link with parameters meeting the service level parameters of that service level; and for each access node of said optical network, a service level topology structure for each of said plurality of service levels representing connectivity of that access node to others of said access nodes using wavelengths from the link service level channel sets of that service level.
80. The apparatus of claim 79, wherein said QoS based criteria includes one or more of bandwidth, bit error rate, optical signal to noise ration, peak noise level, and rerouting priority.
81. The apparatus of claim 79, wherein each access node of said optical network stores the link service level channel sets of those of the links connected to that access node.
82. The apparatus of claim 79, wherein said service level topology structures are stored in a centralized network server.
83. The apparatus of claim 79, wherein each access node stores those of said service level topology structures representing connectivity of that access node.
84. The apparatus of claim 79, wherein each of said service level topology structures stores those paths for which the intersection of the link service level channel sets of the links of that path is not null.
85. An apparatus comprising: an access node, to be coupled in a wavelength division multiplexing optical network, including, a link state database to store, for each link connected to said access node, a link state structure to store a port of the access node to which that link is connected, available wavelengths on that link, and parameters of those wavelengths; a service level parameter database to store, for each of a set of one or more supported service levels, a service level parameter for each of a set of QoS based criteria; and a service level connectivity database to store, for each of said set of service levels, a service level topology structure that stores a representation of the service level topology of that service level for said access node.
86. The apparatus of claim 85, wherein said QoS based criteria includes one or more of bandwidth, bit error rate, optical signal to noise ration, peak noise level, and rerouting priority.
87. The apparatus of claim 85, wherein each of said service level topology structures stores paths to those of other access nodes of said optical network that can be reached with those of said wavelengths that qualify for the service level of that service level topology structure.
88. The apparatus of claim 85, wherein each of said service level topology structures stores available paths to other access nodes in said optical network.
89. The apparatus of claim 88, wherein each of said paths is a series of two or more nodes connected by links on which there are wavelengths at the service level of that path.
90. The apparatus of claim 88, wherein each of said paths is a set of one or more links and a set of wavelengths that are at the service level of that path and that are available on every one of said set of links.
91. The apparatus of claim 85, wherein said access nodes also includes a set of one or more modules to, responsive to request to change the service level of a given provisioned service, allocate a new communication path at a different one of the service levels than a previous communication path, begin routing traffic of the service on the new communication path, and deallocate the previous communication path.
92. A method for an access node of a wavelength division multiplexing optical network, said method comprising: for each link to an adjacent node of said wavelength division multiplexing optical network, said access node classifying wavelengths on that link according to a set of one or more service level parameters for each of a plurality of service levels; for each of said plurality of service levels, instantiate a service level topology structure; and responsive to receiving information regarding connectivity at each of said plurality of service levels to other access nodes in said optical network, adding such information to said service level topology structure for that service level.
93. The method of claim 92, wherein said classifying is based on one or more of bandwidth, bit error rate, optical signal to noise ration, peak noise level, and re-routing priority.
94. The method of claim 92, further comprising: for each link to an adjacent node, tracking said wavelengths by operating a link management protocol.
95. The method of claim 92, wherein said classifying includes comparing parameters of each of the wavelengths to the sets of service level parameters.
96. The method of claim 92, wherein said adding includes, for each of said service level topology structures, storing paths to those of other access nodes of said optical network that can be reached with those of said wavelengths that qualify for the service level of that service level topology structure.
97. The method of claim 96, wherein each of said paths is a series of two or more nodes connected by links on which there are wavelengths at the service level of that path.
98. A machine-readable medium that provides instructions that, if executed by a processor, will cause said processor to perform operations comprising: for each link to an adjacent node of a wavelength division multiplexing optical network, classifying wavelengths on that link according to a set of one or more service level parameters for each of a plurality of service levels; for each of said plurality of service levels, instantiate a service level topology structure; and responsive to receiving information regarding connectivity at each of said plurality of service levels to other access nodes in said optical network, adding such information to said service level topology structure for that service level.
99. The machine-readable medium of claim 98, wherein said classifying is based on one or more of bandwidth, bit error rate, optical signal to noise ration, peak noise level, and re-routing priority.
100. The machine-readable medium of claim 98, the operations further comprising: for each link to an adjacent node, tracking said wavelengths by operating a link management protocol.
101. The machine-readable medium of claim 98, wherein said classifying includes comparing parameters of each of the wavelengths to the sets of service level parameters.
102. The machine-readable medium of claim 98, wherein said adding includes, for each of said service level topology structures, storing paths to those of other access nodes of said optical network that can be reached with those of said wavelengths that qualify for the service level of that service level topology structure.
103. The machine -readable medium of claim 102, wherein each of said paths is a series of two or more nodes connected by links on which there are wavelengths at the service level of that path.
104. A method comprising: receiving a request for a communication path starting at a source node in an wavelength division multiplexing optical network; selecting a first of a plurality of service level, wherein different wavelengths on at least certain links of said optical network qualifying for different ones of said plurality of service levels forms a different service level topology for each of said plurality of service levels for each access node of said optical network; selecting a path and a wavelength on said path using a database that stores, for each of the plurality of service levels, a representation of available paths from the source node to other access nodes in said optical network, wherein each path is a series of two or more nodes connected by links having a set of one or more wavelengths at the same service level; and causing allocation of the selected wavelength in the series of nodes of the selected path.
105. The method of claim 104, wherein said communication path is a lightpath.
106. The method of claim 104, wherein said communication path is an optical circuit.
107. The method of claim 104, wherein said selecting said path and said allocation is performed in real time.
108. The method of claim 104, wherein the database stores a separate service level topology structure for each of said service level topologies of said source node.
109. The method of claim 108, wherein the database includes the available wavelengths and the status as either allocated or unallocated.
110. The method of claim 104, wherein said database stores, for each of the plurality of service levels, a representation of available conversion free paths from the source node to other access nodes in said optical network.
111. A machine-readable medium that provides instructions that, if executed by a processor, will cause said processor to perform operations comprising: responsive to receiving a request for a communication path starting at a source node in an wavelength division multiplexing optical network, selecting a first of a plurality of service level, wherein different wavelengths on at least certain links of said optical network qualifying for different ones of said plurality of service levels forms a different service level topology for each of said plurality of service levels for each access node of said optical network; selecting a path and a wavelength on said path using a database that stores, for each of the plurality of service levels, a representation of available paths from the source node to other access nodes in said optical network, wherein each path is a series of two or more nodes connected by links having a set of one or more wavelengths at the same service level; and causing allocation of the selected wavelength in the series of nodes of the selected path.
112. The machine-readable medium of claim 111, wherein said communication path is a lightpath.
113. The machine-readable medium of claim 111, wherein said communication path is an optical circuit.
114. The machine-readable medium of claim 111, wherein said selecting said path and said allocation is performed in real time.
115. The machine-readable medium of claim 111, wherein the database stores a separate service level topology structure for each of said service level topologies of said source node.
116. The machine-readable medium of claim 115, wherein the database includes the available wavelengths and the status as either allocated or unallocated.
117. The machine -readable medium of claim 111, wherein said database stores, for each of the plurality of service levels, a representation of available conversion free paths from the source node to other access nodes in said optical network.
118. A method comprising: receiving a request to change a service provisioned with a communication path established in a wavelength division multiplexing optical network at one of a plurality of service levels to a different one of said plurality of service levels, wherein different wavelengths on at least certain links of said optical network qualifying for different ones of said plurality of service levels forms a different service level topology for each of said plurality of service levels for each access node of said optical network; selecting a path and a wavelength on said path using a database that stores, for each of the plurality of service levels, a representation of available paths from a source node of said communication path to other access nodes in said optical network, wherein each path is a series of two or more nodes connected by links having a set of one or more wavelengths at the same service level; causing allocation of the selected wavelength in the series of nodes of the selected path to form a new communication path; and transitioning said service to the new communication path.
119. The method of claim 118, wherein said communication path is a lightpath.
120. The method of claim 118, wherein said communication path is an optical circuit.
121. The method of claim 118, wherein said selecting said path and said allocation is performed in real time.
122. The method of claim 118, wherein the database stores a separate service level topology structure for each of said service level topologies of said source node.
123. The method of claim 118, wherein said database stores, for each of the plurality of service levels, a representation of available conversion free paths from the source node of said communication path to other access nodes in said optical network.
124. The method of claim 118, wherein said transitioning includes: moving traffic from the previous communication path to the new communication path; and deallocating the previous communication path.
125. A machine-readable medium that provides instructions that, if executed by a processor, will cause said processor to perform operations comprising: responsive to receiving a request to change a service provisioned with a communication path established in a wavelength division multiplexing optical network at one of a plurality of service levels to a different one of said plurality of service levels, selecting a path and a wavelength on said path using a database that stores, for each of the plurality of service levels, a representation of available paths from a source node of said communication path to other access nodes in said optical network, wherein different wavelengths on at least certain links of said optical network qualifying for different ones of said plurality of service levels forms a different service level topology for each of said plurality of service levels for each access node of said optical network; wherein each path is a series of two or more nodes connected by links having a set of one or more wavelengths at the same service level; causing allocation of the selected wavelength in the series of nodes of the selected path to form a new communication path; and transitioning said service to the new communication path.
126. The machine-readable medium of claim 125, wherein said communication path is a lightpath.
127. The machine-readable medium of claim 125, wherein said communication path is an optical circuit.
128. The machine-readable medium of claim 125, wherein said selecting said path and said allocation is performed in real time.
129. The machine-readable medium of claim 125, wherein the database stores a separate service level topology structure for each of said service level topologies of said source node.
130. The machine-readable medium of claim 125, wherein said database stores, for each of the plurality of service levels, a representation of available conversion free paths from the source node of said communication path to other access nodes in said optical network.
131. The machine-readable medium of claim 125, wherein said transitioning includes: moving traffic from the previous communication path to the new communication path; and deallocating the previous communication path.
132. A machine-readable medium having stored thereon data comprising: a service level connectivity database for an access node of a wave division multiplexing optical network, wherein each link of said optical network includes a set of zero or more lamdas for each of a plurality of service levels, each of said plurality of service levels includes a set of zero of more possible end to end paths comprised of a series of one or more links that include one or more lamdas of that service level, said service level connectivity database including, for each of the possible end to end paths that end with said access node, data representing, the series of links of that path; and the lamdas of that path.
133. The machine -readable medium of claim 132, further comprising: a link state database including a link state structure for each node of said optical network adjacent said access node, each of said link state structures including the set of zero lamdas for each of the plurality of service levels.
134. The machine-readable medium of claim 132, wherein the service level connectivity database includes a separate service level topology structure for each of said plurality of service levels, each of said plurality of service level topology structures storing the data for each of the possible end to end paths of that service level that end with said access node.
135. The machine-readable medium of claim 134, wherein each of said service level topology structures is a table.
136. The machine-readable medium of claim 134, wherein each of said service level topology structures is a tree.
137. An apparatus comprising: a plurality of wavelength division multiplexing access nodes of an optical network employing a source based scheme to establish communication paths, each of said plurality of access nodes storing a set of one or more network topology databases based on a set of one or more connectivity constraints.
138. The apparatus of claim 137, wherein said communication paths include lightpaths.
139. The apparatus of claim 137, wherein said communication paths include one or more of optical circuits, lightpaths, and end-to-end unidirectional paths.
140. The apparatus of claim 137, wherein the set of one or more network topology databases in each of said plurality of access nodes stores a conversion free topology for that access node.
141. The apparatus of claim 137, wherein said plurality of access nodes to establish communication paths in real time.
142. The apparatus of claim 137, wherein the set of one or more connectivity constraints includes quality of service (QoS) based criteria that divides said optical network into separate service levels, and the set of one or more network topology databases in each of said plurality of access nodes stores a conversion free service level topology for that access node for each of the service levels.
143. The apparatus of claim 142, wherein the set of network topology databases in each of said plurality of access nodes includes a separate network topology database for each of the conversion free service level topologies for that access node.
144. The apparatus of claim 137, wherein the set of network topology databases in each of said plurality of access nodes is built and maintained by that access node.
145. The apparatus of claim 137, further comprising: a centralized network management server communicatively coupled to each of the plurality of access nodes to build and maintain the set of network topology databases in each of said plurality of access nodes.
146. An apparatus comprising: a wavelength division multiplexing optical network including a plurality of access nodes each including, for each link connected to the access node, a link channel set representing at least certain wavelengths on that link available for establishing a lightpath, wherein a lightpath is a wavelength and a path, wherein the path of a given lightpath is a series of two or more nodes and links interconnecting them through which traffic is carried by the wavelength of that lightpath, wherein said series of nodes respectively starts and ends with a source node and a destination node, and a database representing conversion free connectivity from the access node to others of said access nodes using the wavelengths in said link channel sets, wherein said conversion free connectivity includes the paths and wavelengths of possible lighpaths having the access node as the source node and others of the access nodes as the destination node.
147. The apparatus of claim 146, wherein each of said plurality of access nodes also includes an allocate module to, responsive to requests for communication paths received by that access node, select and allocate in real time lightpaths having that access node as the source node.
148. The apparatus of claim 146, wherein the optical network is divided into a plurality of service levels, wherein different wavelengths on at least certain links of said optical network qualify for different ones of said plurality of service levels, said database representing conversion free connectivity using wavelengths that qualify for only one of said service levels.
149. The apparatus of claim 148, wherein each of said plurality of access nodes also includes, for each of the others of said plurality of said service levels, another database representing conversion free connectivity from the access node to others of said access nodes using wavelengths that qualify for that service level.
150. The apparatus of claim 146, wherein the database in each of said plurality of access nodes is built and maintained by that access node.
151. The apparatus of claim 146, further comprising: a centralized network management server communicatively coupled to each of the plurality of access nodes to build and maintain the database in each of said plurality of access nodes.
152. A method comprising: each of a plurality of access nodes of a wave length division multiplexing optical network, tracking wavelengths for each link of the wave length division multiplexing optical network connected to that access node; each of said plurality of access nodes, maintaining a topology based on conversion free connectivity to others of said plurality of said access nodes; and responsive to a request for a communication path received by any one of said plurality of access nodes, that access node, selecting both a path through a set of one or more links of said optical network and a single wavelength available on everyone of said set of links based on said topology maintained in that access node, and causing allocation of said selected path and wavelength.
153. The method of claim 152, wherein said communication path is a lightpath.
154. The method of claim 152, wherein said communication path is an optical circuit.
155. The method of claim 152, wherein said selecting and said allocation is performed in real time.
156. The method of claim 152, wherein the topology maintained by each of said plurality of access nodes is also based on connectivity at one of a plurality of service levels, wherein different wavelengths on at least certain links of said optical network qualify for different ones of said plurality of service levels.
157. The method of claim 152, wherein said tracking includes operating a link management protocol in each of said plurality of access nodes.
158. The method of claim 152, wherein said maintaining includes each of said plurality of access nodes communicating with others of said plurality of access nodes.
159. The method of claim 152, wherein said maintaining includes each of said plurality of access nodes communicating with a centralized network management server.
160. The method of claim 152, wherein the topology for each of said plurality of access nodes includes the available wavelengths and the status as either allocated or unallocated.
161. An apparatus comprising: an access node, to be coupled in a wavelength division multiplexing optical network, including, a link state database to store, for each link connected to said access node, a link state structure to store a port of the access node to which that link is connected and available wavelengths on that link, a database to store a representation of available paths from the access node to others of said access nodes using the wavelengths in said link state database, wherein a path is a series of two or more nodes connected by links on which a common set of one or more wavelengths is available for establishing one or more lightpaths, and a module to, responsive to requests for communication paths received by said access node, select from unallocated ones of said available paths and the common set of wavelengths thereon a selected path and wavelength.
162. The apparatus of claim 161, wherein said module to perform said selection and cause allocation of said selected path and wavelength in real time.
163. The apparatus of claim 161, wherein the optical network is divided into a plurality of service levels, wherein different wavelengths on at least certain links of said optical network qualify for different ones of said plurality of service levels, said database to store a conversion free service level topology structure for each of said plurality of service levels.
164. The apparatus of claim 161, wherein said access node includes additional modules to build and maintain said database in said access node.
165. The apparatus of claim 161, further comprising: a centralized network management server communicatively coupled to said access node to build and maintain the database.
166. The apparatus of claim 161, wherein said access node includes a link management protocol to populate said link state database.
167. A method comprising: receiving, at an access node of an wave division multiplexing optical network, demand criteria representing a request for a communication path; selecting a path and a wavelength on said path using a database that is stored in said access node and that stores a representation of available paths from the access node to others of said access nodes in said optical network, wherein each path is a series of two or more nodes connected by links on which a common set of one or more wavelengths is available for establishing one or more lightpaths; and said access node communicating with those of the access nodes on the selected path to cause allocation of the selected wavelength on the selected path.
168. The method of claim 167, wherein said communication path is a lightpath.
169. The method of claim 167, wherein said communication path is an optical circuit.
170. The method of claim 167, wherein said selecting and said allocation is performed in real time.
171. The method of claim 167, wherein the optical network is divided into a plurality of service levels, wherein different wavelengths on at least certain links of said optical network qualify for different ones of said plurality of service levels, said database to store a conversion free service level topology structure for each of said plurality of service levels.
172. The method of claim 167, wherein the database includes the available wavelengths and the status as either allocated or unallocated.
173. A machine-readable medium that provides instructions that, if executed by a processor, will cause said processor to perform operations comprising: responsive to receiving, at an access node of an wave division multiplexing optical network, demand criteria representing a request for a communication path, selecting a path and a wavelength on said path using a database that is stored in said access node and that stores a representation of available paths from the access node to others of said access nodes in said optical network, wherein each path is a series of two or more nodes connected by links on which a common set of one or more wavelengths is available for establishing one or more lightpaths; and causing said access node communicating with those of the access nodes on the selected path to cause allocation of the selected wavelength on the selected path.
174. The machine-readable medium of claim 173, wherein said communication path is a lightpath.
175. The machine-readable medium of claim 173, wherein said communication path is an optical circuit.
176. The machine-readable medium of claim 173, wherein said selecting and said allocation is performed in real time.
177. The machine -readable medium of claim 173, wherein the optical network is divided into a plurality of service levels, wherein different wavelengths on at least certain links of said optical network qualify for different ones of said plurality of service levels, said database to store a conversion free service level topology structure for each of said plurality of service levels.
178. The machine-readable medium of claim 173, wherein the database includes the available wavelengths and the status as either allocated or unallocated.
179. An apparatus comprising: a wavelength division multiplexing optical network including a plurality of nodes each having an optical cross connect and each having stored therein a database representing conversion free connectivity from that node to others of the plurality of nodes, each of said nodes to employ a messaging scheme to propagate notification of changes in said optical network to others of said nodes to maintain said databases, said messaging scheme in each of said nodes transmitting messages to only selected ones of said plurality of nodes based at least in part on said conversion free connectivity to minimize the number of communications between nodes.
180. The apparatus of claim 179, wherein said changes including allocation and deallocation of paths and wavelengths thereon, addition and removal of wavelengths on links, addition and removal of links, and addition and removal of nodes.
181. The apparatus of claim 179, wherein for at least a given one of said nodes for at least one type of change, said selected ones of said plurality of nodes includes any nodes with which there is conversion free connectivity with said given node.
182. The apparatus of claim 179, wherein at least some of said messages have stored therein an indication of those of said nodes to which messages have already been sent for a given one of said changes, wherein those of said nodes receiving such messages only propagate such messages to any of said plurality of nodes with which there is conversion free connectivity and that are not identified by the received message.
183. The apparatus of claim 179, wherein the optical network is divided into a plurality of service levels, wherein different wavelengths on at least certain links of said optical network qualify for different ones of said plurality of service levels, and wherein each of said databases includes separate structures representing conversion free connectivity for each of said plurality of service levels.
184. The apparatus of claim 179, wherein the optical network employs a source based scheme for establishing communication paths according to said conversion free connectivity.
185. The apparatus of claim 184, wherein said communication paths include one or more of optical circuits, lightpaths, and end-to-end unidirectional paths.
186. The apparatus of claim 179, wherein at least some of said messages include a sent-to-set identifying other nodes to which notification of change has already been sent.
187. An apparatus comprising: an access node, to be coupled in a wavelength division multiplexing optical network, including, an optical cross connect, a database to store a conversion free topology for said access node, and a set of one or more modules to participate in a messaging scheme to propagate notification of changes in said optical network to other access nodes in the optical network to maintain the databases of said access nodes, said messaging scheme including transmitting messages to a set of said access nodes selected from only those of said access nodes of said optical network in said conversion free topology.
188. The apparatus of claim 187, wherein the access node also includes, a link state database to store, for each link connected to said access node, a link state structure to store indicia of a port of the access node to which that link is connected and available wavelengths on that link, wherein a path is a series of two or more nodes connected by links on which a common set of one or more wavelengths is available for establishing one or more lightpaths, and wherein the access nodes in said conversion free topology are those access nodes in the optical network reachable using paths with the wavelengths in said link state database.
189. The apparatus of claim 187, wherein said changes including allocation and deallocation of paths and wavelengths thereon, addition and removal of wavelengths on links, addition and removal of links, and addition and removal of nodes.
190. The apparatus of claim 187, wherein said set of one or more modules to, responsive to detection of a change in the network, transmit a message to all of said access nodes in said conversion free topology.
191. The apparatus of claim 187, wherein said set of one or more modules to, responsive to a message from another of said nodes in the optical network indicating a change in the network, update said database as necessary, select as a new set any of said access nodes in said conversion free topology that are not identified in said message as already having been sent the message, update said message to also include said new set, and propagate said updated message to the access nodes in said new set.
192. The apparatus of claim 187, wherein the optical network is divided into a plurality of service levels, wherein different wavelengths on at least certain links of said optical network qualify for different ones of said plurality of service levels, wherein said database includes separate structures representing the conversion free topology for each of said plurality of service levels.
193. The apparatus of claim 187, wherein at least some of said messages include a sent-to-set identifying other nodes to which notification of change has already been sent.
194. The apparatus of claim 187, wherein said set of one or more modules, for at least certain types of said changes, determine whether any of the available paths in said conversion free topology include network resources affected and said selected set of said access nodes includes no nodes when none of the available paths in said conversion free topology include affected network resources.
195. The apparatus of claim 187, wherein said set of one or more modules, for at least certain types of said changes, transmit connectivity request messages and to which recipient access nodes transmits back connectivity response messages that are used to update said database.
196. A method comprising: responsive to a change in a wavelength division multiplexing optical network including a plurality of access nodes, performing the following, at least a first of said plurality of access nodes performing the following, transmitting a message regarding said change to only a selected set of said plurality of access nodes in said optical network based on a database representing conversion free connectivity from said first node to others of the plurality of access nodes, said message identifying the selected set of access nodes and said first access node; and the access nodes in the selected set of access nodes, responsive to receiving said message, each performing the following, transmitting an updated version of the message to those of said plurality of access nodes with which there is conversion free connectivity and that are not already identified in the received message.
197. The method of claim 196, wherein said transmitting said message includes the following: selecting as the selected set those of said plurality of access nodes with which there is conversion free connectivity.
198. The method of claim 196, wherein said transmitting said message includes the following: selecting as the selected set those of said plurality of access nodes with which there is conversion free connectivity and that are not connected to the network resource that changed.
199. The method of claim 196, further comprising: said first node updating said database.
200. The method of claim 196, further comprising: said first node transmitting a connectivity request message to a set of one or more adjacent ones of said plurality of access nodes to discover changes to said conversion free connectivity; those of said plurality of access nodes receiving a connectivity request message, performing the following, transmitting back to the first access node a connectivity response message, propagating said connectivity request message to any adjacent ones of said plurality of access nodes that may be able to determine additional conversion free connectivity having the first access node as the source node; and said first access node updating said database responsive to receiving said connectivity response messages.
201. The method of claim 196, wherein: at least a second of said plurality of access nodes, responsive to receiving the message or the updated version of said message, transmitting a connectivity request message to a set of one or more adjacent ones of said plurality of access nodes to discover changes to said second access node's conversion free connectivity; those of said plurality of access nodes receiving a connectivity request message, performing the following, transmitting back to the second access node a connectivity response message, and propagating said connectivity request message to any adjacent ones of said plurality of access nodes that may be able to determine additional conversion free connectivity having the second access node as the source node; and said second access node updating a database responsive to receiving said connectivity request messages.
202. The apparatus of claim 196, wherein said change is one of allocation of a path and wavelength thereon, deallocation of a path and wavelength thereon, addition of a wavelength on a link, removal of a wavelength on a link, addition of a link, removal of a link, addition of a node, and removal of a node.
203. The apparatus of claim 196, wherein the optical network is divided into a plurality of service levels, wherein different wavelengths on at least certain links of said optical network qualify for different ones of said plurality of service levels, said database includes separate structures representing said conversion free connectivity for each of said plurality of service levels.
204. The apparatus of claim 196, wherein the optical network employs a source based scheme for establishing communication paths according to said conversion free connectivity.
205. The apparatus of claim 204, wherein said communication paths include one or more of optical circuits, lightpaths, and end-to-end unidirectional paths.
206. A method comprising: a first access node of a plurality of access nodes in a wavelength division multiplexing optical network, responsive to receiving a message indicating a change in network resources and identifying others of said plurality of access nodes that have already received said message, performing the following, updating a database that stores a conversion free topology for the first access node; selecting as a set of access nodes any of the access nodes in said conversion free topology that are not identified by said message; and transmitting an updated version of said message to said set of access nodes.
207. The method of claim 206, wherein said updating includes: said first access node transmitting a connectivity request message to a set of one or more adjacent ones of said plurality of access nodes to discover any updates to said conversion free topology; and said first access node receiving connectivity response messages.
208. The method of claim 207, wherein said updating includes: instantiating a new conversion free connectivity database based on said connectivity responses.
209. The method of claim 206, wherein said change is one of allocation of a path and wavelength thereon, deallocation of a path and wavelength thereon, addition of a wavelength on a link, removal of a wavelength on a link, addition of a link, removal of a link, addition of a node, and removal of a node.
210. The method of claim 206, wherein the optical network is divided into a plurality of service levels, wherein different wavelengths on at least certain links of said optical network qualify for different ones of said plurality of service levels, said database includes separate structures representing the conversion free topology for each of said plurality of service levels.
211. The method of claim 206, wherein the optical network employs a source based scheme for establishing communication paths according to said conversion free connectivity.
212. The method of claim 211, wherein said communication paths include one or more of optical circuits, lightpaths, and end-to-end unidirectional paths.
213. A machine-readable medium that provides instructions that, if executed by a machine, will cause said machine to perform operations comprising: a first access node of a plurality of access nodes in a wavelength division multiplexing optical network, responsive to receiving a message indicating a change in network resources and identifying others of said plurality of access nodes that have already received said message, performing the following, updating a database that stores a conversion free topology for the first access node; selecting as a set of access nodes any of the access nodes in said conversion free topology that are not identified by said message; and transmitting an updated version of said message to said set of access nodes.
214. The machine-readable medium of claim 213, wherein said updating includes: said first access node transmitting a connectivity request message to a set of one or more adjacent ones of said plurality of access nodes to discover any updates to said conversion free topology; and said first access node receiving connectivity response messages.
215. The machine-readable medium of claim 214, wherein said updating includes: instantiating a new conversion free connectivity database based on said connectivity responses.
216. The machine-readable medium of claim 213, wherein said change is one of allocation of a path and wavelength thereon, deallocation of a path and wavelength thereon, addition of a wavelength on a link, removal of a wavelength on a link, addition of a link, removal of a link, addition of a node, and removal of a node.
217. The machine-readable medium of claim 213, wherein the optical network is divided into a plurality of service levels, wherein different wavelengths on at least certain links of said optical network qualify for different ones of said plurality of service levels, said database includes separate structures representing the conversion free topology for each of said plurality of service levels.
218. The machine-readable medium of claim 213, wherein the optical network employs a source based scheme for establishing communication paths according to said conversion free connectivity.
219. The machine-readable medium of claim 218, wherein said communication paths include one or more of optical circuits, lightpaths, and end-to-end unidirectional paths.
EP04754452A 2003-06-06 2004-06-04 Optical network topology databases and optical network operations Withdrawn EP1639734A4 (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US10/455,933 US7860392B2 (en) 2003-06-06 2003-06-06 Optical network topology databases based on a set of connectivity constraints
US10/626,363 US7689120B2 (en) 2003-06-06 2003-07-23 Source based scheme to establish communication paths in an optical network
US10/626,055 US20040246973A1 (en) 2003-06-06 2003-07-23 Quality of service based optical network topology databases
US10/862,181 US7848651B2 (en) 2003-06-06 2004-06-03 Selective distribution messaging scheme for an optical network
PCT/US2004/017845 WO2005001620A2 (en) 2003-06-06 2004-06-04 Optical network topology databases and optical network operations

Publications (2)

Publication Number Publication Date
EP1639734A2 true EP1639734A2 (en) 2006-03-29
EP1639734A4 EP1639734A4 (en) 2010-12-01

Family

ID=33556632

Family Applications (1)

Application Number Title Priority Date Filing Date
EP04754452A Withdrawn EP1639734A4 (en) 2003-06-06 2004-06-04 Optical network topology databases and optical network operations

Country Status (3)

Country Link
EP (1) EP1639734A4 (en)
JP (1) JP2006527543A (en)
WO (1) WO2005001620A2 (en)

Families Citing this family (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7283741B2 (en) 2003-06-06 2007-10-16 Intellambda Systems, Inc. Optical reroutable redundancy scheme
US7860392B2 (en) 2003-06-06 2010-12-28 Dynamic Method Enterprises Limited Optical network topology databases based on a set of connectivity constraints
WO2007024317A2 (en) 2005-06-06 2007-03-01 New World Tmt Limited Quality of service in an optical network
UY33021A (en) * 2009-11-13 2011-01-31 Telefonica Sa ROUTE SEARCH METHOD IN A DATA TRANSMISSION NETWORK
ES2385011B1 (en) * 2010-10-25 2013-05-20 Telefónica, S.A. PROCEDURE FOR ESTABLISHING ROUTES ON THE TRANSMISSION NETWORK EFFECTIVELY.
US10581820B2 (en) 2016-05-11 2020-03-03 Oracle International Corporation Key generation and rollover
US10878079B2 (en) 2016-05-11 2020-12-29 Oracle International Corporation Identity cloud service authorization model with dynamic roles and scopes
US9838376B1 (en) 2016-05-11 2017-12-05 Oracle International Corporation Microservices based multi-tenant identity and data security management cloud service
US10341410B2 (en) 2016-05-11 2019-07-02 Oracle International Corporation Security tokens for a multi-tenant identity and data security management cloud service
US10425386B2 (en) 2016-05-11 2019-09-24 Oracle International Corporation Policy enforcement point for a multi-tenant identity and data security management cloud service
US9838377B1 (en) 2016-05-11 2017-12-05 Oracle International Corporation Task segregation in a multi-tenant identity and data security management cloud service
US10454940B2 (en) 2016-05-11 2019-10-22 Oracle International Corporation Identity cloud service authorization model
US9781122B1 (en) 2016-05-11 2017-10-03 Oracle International Corporation Multi-tenant identity and data security management cloud service
US10735394B2 (en) 2016-08-05 2020-08-04 Oracle International Corporation Caching framework for a multi-tenant identity and data security management cloud service
US10263947B2 (en) 2016-08-05 2019-04-16 Oracle International Corporation LDAP to SCIM proxy service
US10516672B2 (en) 2016-08-05 2019-12-24 Oracle International Corporation Service discovery for a multi-tenant identity and data security management cloud service
US10585682B2 (en) 2016-08-05 2020-03-10 Oracle International Corporation Tenant self-service troubleshooting for a multi-tenant identity and data security management cloud service
US10530578B2 (en) 2016-08-05 2020-01-07 Oracle International Corporation Key store service
US10255061B2 (en) * 2016-08-05 2019-04-09 Oracle International Corporation Zero down time upgrade for a multi-tenant identity and data security management cloud service
US10721237B2 (en) 2016-08-05 2020-07-21 Oracle International Corporation Hierarchical processing for a virtual directory system for LDAP to SCIM proxy service
US10484382B2 (en) 2016-08-31 2019-11-19 Oracle International Corporation Data management for a multi-tenant identity cloud service
US10846390B2 (en) 2016-09-14 2020-11-24 Oracle International Corporation Single sign-on functionality for a multi-tenant identity and data security management cloud service
US10594684B2 (en) 2016-09-14 2020-03-17 Oracle International Corporation Generating derived credentials for a multi-tenant identity cloud service
US10511589B2 (en) 2016-09-14 2019-12-17 Oracle International Corporation Single logout functionality for a multi-tenant identity and data security management cloud service
EP3513542B1 (en) 2016-09-16 2021-05-19 Oracle International Corporation Tenant and service management for a multi-tenant identity and data security management cloud service
US10445395B2 (en) 2016-09-16 2019-10-15 Oracle International Corporation Cookie based state propagation for a multi-tenant identity cloud service
US10791087B2 (en) 2016-09-16 2020-09-29 Oracle International Corporation SCIM to LDAP mapping using subtype attributes
US10341354B2 (en) 2016-09-16 2019-07-02 Oracle International Corporation Distributed high availability agent architecture
US10567364B2 (en) 2016-09-16 2020-02-18 Oracle International Corporation Preserving LDAP hierarchy in a SCIM directory using special marker groups
US10484243B2 (en) 2016-09-16 2019-11-19 Oracle International Corporation Application management for a multi-tenant identity cloud service
US10904074B2 (en) 2016-09-17 2021-01-26 Oracle International Corporation Composite event handler for a multi-tenant identity cloud service
US10261836B2 (en) 2017-03-21 2019-04-16 Oracle International Corporation Dynamic dispatching of workloads spanning heterogeneous services
US10454915B2 (en) 2017-05-18 2019-10-22 Oracle International Corporation User authentication using kerberos with identity cloud service
US10348858B2 (en) 2017-09-15 2019-07-09 Oracle International Corporation Dynamic message queues for a microservice based cloud service
US10831789B2 (en) 2017-09-27 2020-11-10 Oracle International Corporation Reference attribute query processing for a multi-tenant cloud service
US10834137B2 (en) 2017-09-28 2020-11-10 Oracle International Corporation Rest-based declarative policy management
US11271969B2 (en) 2017-09-28 2022-03-08 Oracle International Corporation Rest-based declarative policy management
US10705823B2 (en) 2017-09-29 2020-07-07 Oracle International Corporation Application templates and upgrade framework for a multi-tenant identity cloud service
US10715564B2 (en) 2018-01-29 2020-07-14 Oracle International Corporation Dynamic client registration for an identity cloud service
US10931656B2 (en) 2018-03-27 2021-02-23 Oracle International Corporation Cross-region trust for a multi-tenant identity cloud service
US11165634B2 (en) 2018-04-02 2021-11-02 Oracle International Corporation Data replication conflict detection and resolution for a multi-tenant identity cloud service
US10798165B2 (en) 2018-04-02 2020-10-06 Oracle International Corporation Tenant data comparison for a multi-tenant identity cloud service
US11258775B2 (en) 2018-04-04 2022-02-22 Oracle International Corporation Local write for a multi-tenant identity cloud service
US11012444B2 (en) 2018-06-25 2021-05-18 Oracle International Corporation Declarative third party identity provider integration for a multi-tenant identity cloud service
US10764273B2 (en) 2018-06-28 2020-09-01 Oracle International Corporation Session synchronization across multiple devices in an identity cloud service
US11693835B2 (en) 2018-10-17 2023-07-04 Oracle International Corporation Dynamic database schema allocation on tenant onboarding for a multi-tenant identity cloud service
US11321187B2 (en) 2018-10-19 2022-05-03 Oracle International Corporation Assured lazy rollback for a multi-tenant identity cloud service
US11651357B2 (en) 2019-02-01 2023-05-16 Oracle International Corporation Multifactor authentication without a user footprint
US11061929B2 (en) 2019-02-08 2021-07-13 Oracle International Corporation Replication of resource type and schema metadata for a multi-tenant identity cloud service
US11321343B2 (en) 2019-02-19 2022-05-03 Oracle International Corporation Tenant replication bootstrap for a multi-tenant identity cloud service
US11669321B2 (en) 2019-02-20 2023-06-06 Oracle International Corporation Automated database upgrade for a multi-tenant identity cloud service
US11792226B2 (en) 2019-02-25 2023-10-17 Oracle International Corporation Automatic api document generation from scim metadata
US11423111B2 (en) 2019-02-25 2022-08-23 Oracle International Corporation Client API for rest based endpoints for a multi-tenant identify cloud service
US11870770B2 (en) 2019-09-13 2024-01-09 Oracle International Corporation Multi-tenant identity cloud service with on-premise authentication integration
US11687378B2 (en) 2019-09-13 2023-06-27 Oracle International Corporation Multi-tenant identity cloud service with on-premise authentication integration and bridge high availability
US11611548B2 (en) 2019-11-22 2023-03-21 Oracle International Corporation Bulk multifactor authentication enrollment

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001026308A2 (en) * 1999-10-06 2001-04-12 Xbind, Inc. A dynamic programmable routing architecture with quality of service support
WO2002019616A2 (en) * 2000-08-30 2002-03-07 Telefonaktiebolaget L M Ericsson (Publ) Cost/performance resource handler for an aggregation network

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3232825B2 (en) * 1993-11-18 2001-11-26 日本電信電話株式会社 Optical path accommodation method and optical communication network
JPH08139698A (en) * 1994-11-14 1996-05-31 Oki Electric Ind Co Ltd Optical wavelength multiplex network system
US7039009B2 (en) * 2000-01-28 2006-05-02 At&T Corp. Control of optical connections in an optical network
JP2002252636A (en) * 2001-02-23 2002-09-06 Nippon Telegr & Teleph Corp <Ntt> Utilization time reservation type ip network service method
JP3782671B2 (en) * 2001-02-28 2006-06-07 株式会社エヌ・ティ・ティ・ドコモ Link manager and link management method
JP3760781B2 (en) * 2001-03-02 2006-03-29 日本電気株式会社 Path setting method in communication network
EP1271782B1 (en) * 2001-06-29 2005-05-18 STMicroelectronics Pvt. Ltd FPGA with at least two different and independently configurable memory structures
US7050718B2 (en) * 2001-07-26 2006-05-23 Victor John Rychlicki Method of establishing communications in an all optical wavelength division multiplexed network
US7020394B2 (en) * 2001-08-17 2006-03-28 Quantum Bridge Communications, Inc. Method and apparatus for path selection and wavelength assignment in an optical network
US20030074443A1 (en) * 2001-10-15 2003-04-17 Makonnen Melaku Last mile quality of service broker (LMQB) for multiple access networks
US7110356B2 (en) * 2001-11-15 2006-09-19 Fujitsu Limited Pre-provisioning a light path setup

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001026308A2 (en) * 1999-10-06 2001-04-12 Xbind, Inc. A dynamic programmable routing architecture with quality of service support
WO2002019616A2 (en) * 2000-08-30 2002-03-07 Telefonaktiebolaget L M Ericsson (Publ) Cost/performance resource handler for an aggregation network

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
MOHAN G ET AL: "Virtual topology reconfiguration in IP/WDM optical ring networks" COMPUTER COMMUNICATIONS, ELSEVIER SCIENCE PUBLISHERS BV, AMSTERDAM, NL LNKD- DOI:10.1016/S0140-3664(02)00109-3, vol. 26, no. 2, 1 February 2003 (2003-02-01), pages 91-102, XP004401226 ISSN: 0140-3664 *
See also references of WO2005001620A2 *

Also Published As

Publication number Publication date
WO2005001620A3 (en) 2005-04-14
WO2005001620A2 (en) 2005-01-06
JP2006527543A (en) 2006-11-30
EP1639734A4 (en) 2010-12-01

Similar Documents

Publication Publication Date Title
US7848651B2 (en) Selective distribution messaging scheme for an optical network
US7283741B2 (en) Optical reroutable redundancy scheme
EP1639734A2 (en) Optical network topology databases and optical network operations
US8244127B2 (en) Quality of service in an optical network
Doverspike et al. Challenges for MPLS in optical network restoration
Mouftah et al. Optical networks: architecture and survivability
Fumagalli et al. IP restoration vs. WDM protection: Is there an optimal choice?
Keyao et al. Traffic grooming in optical WDM mesh networks
US8406622B2 (en) 1:N sparing of router resources at geographically dispersed locations
US20040247317A1 (en) Method and apparatus for a network database in an optical network
US7376086B1 (en) Constraint based routing with non-transitive exceptions
EP1146682A2 (en) Two stage, hybrid logical ring protection with rapid path restoration over mesh networks
Ho et al. A framework of scalable optical metropolitan networks for improving survivability and class of service
Zhu et al. Dynamic traffic grooming in optical WDM mesh networks with distributed control
Fang et al. IP traffic grooming over WDM optical networks
Wu et al. Control architecture of multiple-hop connections in IP over WDM networks
Su et al. Study on strategy of dynamic joint routing and resource allocation in layered optical transport networks
Datta et al. New schemes for connection establishment in gmpls environment for wdm networks
Kim Efficient Design and Management of Reliable Optical Networks
Shami Traffic engineering in hybrid, IP-centric DWDM-based optical networks
Mukherjee Traffic Grooming
Ramesh et al. Advanced centralized priority based RWA protocol for WDM networks
Hadjiantonis et al. Interchanging the search space between the logical and physical layers in future IP optical networks
Sinha et al. Hybrid nodal architecture for traffic Grooming in WDM networks
Rauschenbach et al. Optical Fiber Telecommunications VIB: Chapter 16. Convergence of IP and Optical Networking

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20060105

AK Designated contracting states

Kind code of ref document: A2

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LI LU MC NL PL PT RO SE SI SK TR

DAX Request for extension of the european patent (deleted)
A4 Supplementary search report drawn up and despatched

Effective date: 20101028

RIC1 Information provided on ipc code assigned before grant

Ipc: H04L 12/56 20060101AFI20101022BHEP

Ipc: H04Q 11/00 20060101ALN20101022BHEP

RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: DYNAMIC METHOD ENTERPRISES LIMITED

17Q First examination report despatched

Effective date: 20110530

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20111231