The present disclosure relates generally to communicating information, such as in packets, in a multi-layer communications network.
The communications industry is rapidly changing to adjust to emerging technologies and ever increasing customer demand. This customer demand for new applications and increased performance of existing applications is driving communications network and system providers to employ networks and systems having greater speed and capacity (e.g., greater bandwidth). In trying to achieve these goals, a common approach taken by many communications providers is to use packet switching technology.
Reliably and efficiently communicating information in a network is important. Different techniques may be employed in a network to communicate information in a network when the topology of the network changes and/or when communications resources become available.
The appended claims set forth the features of one or more embodiments with particularity. The embodiment(s), together with its advantages, may be best understood from the following detailed description taken in conjunction with the accompanying drawings of which:
1. Overview
Disclosed are, inter alia, methods, apparatus, computer-storage media, mechanisms, and means associated with a network server layer providing disjoint channels in response to client-layer disjoint path requests.
In one embodiment, a server-layer node receives a client-layer disjoint path request to provide a server-layer channel through a server-layer network. The client-layer disjoint path request includes an identifier corresponding to an existing client-layer path that traverses a current channel through the server-layer network that does not include the server-layer node. The server-layer network determines a particular channel through the server-layer network that is disjoint to the current channel based on route information of the current channel, and then signaling is performed within the server-layer network to establish the particular channel.
In one embodiment, in response to receiving a disjoint label switched path (LSP) request for a new LSP to be carried through an optical network over a new channel that is disjoint from an existing channel carrying a current LSP, an optical node determines the new channel through the optical network that is disjoint to the current channel based on route information through the optical network related to the current channel, wherein the existing channel is not terminated on the optical node. Signaling is performed in the optical network to establish the particular channel.
2. Description
Disclosed are, inter alia, methods, apparatus, computer-storage media, mechanisms, and means associated with a network server layer providing disjoint channels in response to client-layer disjoint path requests. Embodiments described herein include various elements and limitations, with no one element or limitation contemplated as being a critical element or limitation. Each of the claims individually recites an aspect of the embodiment in its entirety. Moreover, some embodiments described may include, but are not limited to, inter alia, systems, networks, integrated circuit chips, embedded processors, ASICs, methods, and computer-readable media containing instructions. One or multiple systems, devices, components, etc., may comprise one or more embodiments, which may include some elements or limitations of a claim being performed by the same or different systems, devices, components, etc. A processing element may be a general processor, task-specific processor, a core of one or more processors, or other co-located, resource-sharing implementation for performing the corresponding processing. The embodiments described hereinafter embody various aspects and configurations, with the figures illustrating exemplary and non-limiting configurations. Computer-readable media and means for performing methods and processing block operations (e.g., a processor and memory or other apparatus configured to perform such operations) are disclosed and are in keeping with the extensible scope of the embodiments. The term “apparatus” is used consistently herein with its common definition of an appliance or device.
The steps, connections, and processing of signals and information illustrated in the figures, including, but not limited to, any block and flow diagrams and message sequence charts, may typically be performed in the same or in a different serial or parallel ordering and/or by different components and/or processes, threads, etc., and/or over different connections and be combined with other functions in other embodiments, unless this disables the embodiment or a sequence is explicitly or implicitly required (e.g., for a sequence of reading the value, processing said read value—the value is obtained prior to processing it, although some of the associated processing may be performed prior to, concurrently with, and/or after the read operation). Also, nothing described or referenced in this document is admitted as prior art to this application unless explicitly so stated.
The term “one embodiment” is used herein to reference a particular embodiment, wherein each reference to “one embodiment” may refer to a different embodiment, and the use of the term repeatedly herein in describing associated features, elements and/or limitations does not establish a cumulative set of associated features, elements and/or limitations that each and every embodiment includes, although an embodiment typically may include all these features, elements and/or limitations. In addition, the terms “first,” “second,” etc., are typically used herein to denote different units (e.g., a first element, a second element). The use of these terms herein does not necessarily connote an ordering such as one unit or event occurring or coming before another, but rather provides a mechanism to distinguish between particular units. Moreover, the phrases “based on x” and “in response to x” are used to indicate a minimum set of items “x” from which something is derived or caused, wherein “x” is extensible and does not necessarily describe a complete list of items on which the operation is performed, etc. Additionally, the phrase “coupled to” is used to indicate some level of direct or indirect connection between two elements or devices, with the coupling device or devices modifying or not modifying the coupled signal or communicated information. Moreover, the term “or” is used herein to identify a selection of one or more, including all, of the conjunctive items. Additionally, the transitional term “comprising,” which is synonymous with “including,” “containing,” or “characterized by,” is inclusive or open-ended and does not exclude additional, unrecited elements or method steps. Finally, the term “particular machine,” when recited in a method claim for performing steps, refers to a particular machine within the 35 USC §101 machine statutory class.
As used herein, a server-layer Shared Risk Link Group (SRLG) refers to a set of one or more things in the server network that will fail together, with these things being links, devices, nodes, etc. For example, an SRLG may be a device, such as a switch, repeater, regenerator, link, etc. Two links that traverse a same single point of failure (e.g., are wavelengths within a same fiber, are in different fibers that are co-located such as within a same conduit, or run under a same building such as they would both fail upon building collapse).
One embodiment includes a method, comprising: receiving, by a server-layer node, a client-layer disjoint path request to provide a server-layer channel through a server-layer network, with the client-layer disjoint path request including an identifier corresponding to an existing client-layer path that traverses a current channel through the server-layer network that does not include the server-layer node; determining, by the server-layer network, a particular channel through the server-layer network that is disjoint to the current channel based on route information of the current channel; and signaling within the server-layer network to establish the particular channel.
One embodiment includes requesting and receiving by the server-layer node from a second server-layer node in the server-layer network said route information of the current channel. In one embodiment, the current channel is terminated at the server-layer by the second server-layer node. In one embodiment, the identifier is a channel identifier including an identification of the second server-layer node. In one embodiment, the identifier is a channel identifier including an identification of the second server-layer node. One embodiment includes: subsequent to the particular channel being established, sending by the server-layer node one or more messages to the second server-layer node identification information concerning the particular channel to be associated by the second-layer node with the current channel. In one embodiment, said one or more messages are unicast messages between the server-layer node and the second server-layer node.
In one embodiment, said determining, by the server-layer network, the particular channel through the server-layer network that is disjoint to the current channel based on route information of the current channel is performed by the server-layer node. In one embodiment, said determining, by the server-layer network, the particular channel through the server-layer network that is disjoint to the current channel based on route information of the current channel is performed on a node-by-node basis within the server-layer network. One embodiment includes: receiving, by the server-layer node, one or more server-layer network route advertisement messages communicating that the current channel is terminated at the server-layer by the second server-layer node.
One embodiment includes: receiving, by the server-layer node, one or more server-layer network route advertisement messages communicating said route information of the current channel. One embodiment includes: maintaining, by the server-layer node, a server-layer database including said route information of the current channel; and wherein said determining the particular channel includes retrieving said route information from the server-layer database. One embodiment includes: subsequent to the particular channel being established, sending by the server-layer node one or more server-layer advertisement messages to be received by the second server-layer node and including identification information concerning the particular channel to be associated with the current channel.
In one embodiment, the server-layer is an optical network layer. In one embodiment, the client-layer is Layer 3. In one embodiment, the client-layer path is a label switched path; and wherein the client-layer disjoint path request is for a second label switched path.
One embodiment includes a method, comprising: in response to receiving a disjoint label switched path (LSP) request for a new LSP to be carried through an optical network over a new channel that is disjoint from an existing channel carrying a current LSP, an optical node determining the new channel through the optical network that is disjoint to the current channel based on route information through the optical network related to the current channel, wherein the existing channel is not terminated on the optical node; and signaling in the optical network to establish the particular channel.
In one embodiment, the current channel is terminated in the optical network by a second optical node; and wherein the method includes: requesting, by the optical node, said route information from the second optical node, and subsequently receiving, by the optical node, said route information. One embodiment includes: receiving, by the optical node, one or more optical network route advertisement messages communicating said route information of the current channel.
One embodiment includes an optical node, comprising: one or more processing elements; memory; and a plurality of optical interfaces configured to send and receive packets. In one embodiment, said one or more processing elements are configured to perform operations, including: in response to receiving a disjoint label switched path (LSP) request for a new LSP to be carried through an optical network over a new channel that is disjoint from an existing channel carrying a current LSP, the optical node determining the new channel through the optical network that is disjoint to the current channel based on route information through the optical network related to the current channel, wherein the existing channel is not terminated on the optical node; and signaling in the optical network to establish the particular channel
In one embodiment, the current channel is terminated in the optical network by a second optical node; and wherein the method includes: requesting, by the optical node, said route information from the second optical node, and subsequently receiving, by the optical node, said route information.
Expressly turning to the figures,
As illustrated in
In one embodiment and turning to
In one embodiment, optical node 114 receives a channel identifier corresponding to LSP as part of the disjoint path request from packet switching device 103, which learned of this information as the client-layer network floods this information using a routing or other network information distribution protocol. In one embodiment, the channel identifier includes information such as an identification of the LSP, an address of the originating server-layer node (e.g., that node will have the complete path information), and a server-layer channel identifier identifying that channel through the server-layer network. In one embodiment, the channel identifier includes an address of the other end node of the path through the server network (e.g., the end node that is not the originating server-layer node). Based on this channel identifier, optical node 114 requests and receives the ERO of the optical channel that carries LSP 115. Therefore, optical node 114 now has a list of links, nodes, devices, shared link risk groups, etc. that it must avoid. In one embodiment, rather than having to request the ERO, when a server-layer channel is created, the ERO of a new channel is flooded by the originating server-layer node through the server network, and server-layer nodes maintain this information. In one embodiment, a channel identifier is flooded by the originating server-layer node through the server network in addition to, or in place of, the ERO.
After acquiring the ERO (e.g., after requesting or retrieving from a data structure), optical node 114 determines a new path (151) through optical network that is disjoint from the optical channel 115, with new path 151 shown in
Subsequent to the establishment of the current channel, packet switching device 103 communicates (171) a disjoint path request specifying the channel identifier of the current client-layer path (e.g., LSP). In this embodiment, this channel identifier includes: an identification of the LSP, a specification of an IP address of originating optical node 111, and an identification of the optical channel that carries the LSP.
Optical node 114, based on this request and the received channel identifier, requests (172) and receives (173) from the current channel's originating optical node 111 current channel information (e.g., ERO or some other specification of resources and/or SRLG's associated therewith). Optical node 114 determines (174) a new channel through the network that is disjoint from the current channel (e.g., does not use the same resources and/or SRLG's associated therewith). Optical node 114 signals (175) to the optical network to establish this new channel. Optical node 114 sends (e.g., unicasts/sends addressed to) optical node 111 information (e.g., a channel identifier) of the disjoint new optical channel. Optical node 111 associates (181) this disjoint property of the new optical channel with that of the current optical channel, as any reconfiguration or reoptimization of the current optical channel should maintain the disjoint property with the new optical channel.
One embodiment of a packet switching device 200 is illustrated in
In one embodiment, apparatus 220 includes one or more processing element(s) 221, memory 222, storage device(s) 223, specialized component(s) 225 (e.g. optimized hardware such as for performing lookup and/or packet processing operations, etc.), and optical and/or electrical interface(s) 227 for communicating information (e.g., sending and receiving packets, user-interfaces, displaying information, etc.), which are typically communicatively coupled via one or more communications mechanisms 229, with the communications paths typically tailored to meet the needs of a particular application.
Various embodiments of apparatus 220 may include more or fewer elements. The operation of apparatus 220 is typically controlled by processing element(s) 221 using memory 222 and storage device(s) 223 to perform one or more tasks or processes. Memory 222 is one type of computer-readable/computer-storage medium, and typically comprises random access memory (RAM), read only memory (ROM), flash memory, integrated circuits, and/or other memory components. Memory 222 typically stores computer-executable instructions to be executed by processing element(s) 221 and/or data which is manipulated by processing element(s) 221 for implementing functionality in accordance with an embodiment. Storage device(s) 223 are another type of computer-readable medium, and typically comprise solid state storage media, disk drives, diskettes, networked services, tape drives, and other storage devices. Storage device(s) 223 typically store computer-executable instructions to be executed by processing element(s) 221 and/or data which is manipulated by processing element(s) 221 for implementing functionality in accordance with an embodiment.
In process block 306, the third client device requests, from a different server node, a new channel through the server network for a new client-layer path disjoint from the current path through the server network identified by the current path's channel identifier.
As determined in process block 307, if the new server node has the information (e.g., ERO) about the resources and/or SRLGs associated with the current path (e.g., they were flooded through the network after the circuit was established and maintained in a data structure in the new server node), then processing proceeds to process block 310. Otherwise, this information is acquired by the new server node by requesting it from the server node identified in the current path's channel identifier.
Next, in process block 310, the new server node determines (e.g., itself or possibly in communication with a network management or other device) a new disjoint circuit through the server network. In process block 312, the new server node signals to the server network to establish the new circuit, disjoint from the current circuit. In process block 314, a channel identifier associated with the new server-layer circuit and client-layer path is either flooded through the server network or unicast and received by the server node identified in the current path's channel identifier, so that it can update its data structure that the current circuit should be disjoint from the new circuit (e.g., in case of reoptimization). Processing of the flow diagram of
Processing begins with process block 400. In process block 402, an ingress server node determines a new circuit through the server-layer network corresponding to a received request (e.g., such as, but not limited to, in process block 306-308 of
Otherwise, as determined in process block 413, the circuit is not disjoint to the current path (e.g., not disjoint to a circuit portion of the server-layer network on which the current path resides determined based on comparing the received current client-layer path information with a data structure including information about current paths for which it is currently providing resources). Then, in process block 414, the ingress server-layer node is signaled that that circuit is not disjoint. The server-layer node prunes non-disjoint resources (e.g., SRLG, links and/or the server-layer node that determined the circuit was not disjoint) from the space of network resources on which it is determining the circuit; and processing returns to process block 402.
If in process block 405, a determination is made that there is no disjoint circuit through the server-layer network, then in process block 406, failure is signaled (e.g., to the requesting client-layer node and/or to an operations/network management system indicating an alarm/warning/informational message). Processing of the flow diagram of
In view of the many possible embodiments to which the principles of the disclosure may be applied, it will be appreciated that the embodiments and aspects thereof described herein with respect to the drawings/figures are only illustrative and should not be taken as limiting the scope of the disclosure. For example, and as would be apparent to one skilled in the art, many of the process block operations can be re-ordered to be performed before, after, or substantially concurrent with other operations. Also, many different forms of data structures could be used in various embodiments. The disclosure as described herein contemplates all such embodiments as may come within the scope of the following claims and equivalents thereof.
Number | Name | Date | Kind |
---|---|---|---|
7821951 | Douville | Oct 2010 | B2 |
20020109879 | Wing So | Aug 2002 | A1 |
20040172478 | Jacobs et al. | Sep 2004 | A1 |
20040205239 | Doshi et al. | Oct 2004 | A1 |
20050237950 | Yuan et al. | Oct 2005 | A1 |
20060126495 | Guichard et al. | Jun 2006 | A1 |
20060209682 | Filsfils et al. | Sep 2006 | A1 |
20060262772 | Guichard et al. | Nov 2006 | A1 |
20080219272 | Novello et al. | Sep 2008 | A1 |
20090103442 | Douville | Apr 2009 | A1 |
20090225675 | Baum et al. | Sep 2009 | A1 |
20120221624 | Gerstel et al. | Aug 2012 | A1 |
20130202299 | Prakash et al. | Aug 2013 | A1 |
20130259472 | Gebhard | Oct 2013 | A1 |
Entry |
---|
Vasseur et al., “Path Computation Element (PCE) Communication Protocol (PCEP),” RFC 5440, The Internet Society, Reston, VA, USA, Mar. 2009 (eighty-seven pages). |
Number | Date | Country | |
---|---|---|---|
20140270771 A1 | Sep 2014 | US |