A more complete understanding of the present invention, and the attendant advantages and features thereof, will be more readily understood by reference to the following detailed description when considered in conjunction with the accompanying drawings wherein:
Referring now to the drawing figures in which like reference designators refer to like elements, there is shown in
Hardware for GLSRs 12 (and 14 and 16) can be hardware as may be known in the art to store routing tables and for supporting routing functions, including the routing functions and tables of the present invention. By way of non-limiting example, a GLSR 14 constructed in accordance with the principles of the present invention includes a central processing unit, volatile and non-volatile memory, input/output device(s) and network interface(s).
As is shown in
As is discussed below in detail, GLSRs 12 maintain a table that includes viability information for ingress port to egress port viability for their corresponding domains. This viability specifies the range of wavelengths that can be switched from an ingress port to an egress port through the GLSR 12. If port to port viability is known, a route can be efficiently determined for a given wavelength and optical format. Of note, formats for optical communication, such as the G709 format, are known.
Routes can be determined using the port information and a TLV that includes summarized viability information. An exemplary port summarization table 20 is described with reference to
A row (also referred to herein as a TLV) in the matrix is established for each link ID/optical format combination. For the sake of simplicity, the present invention is described with reference to a single optical format “f1”. Initially, a row is established with the least granular, i.e., broadest summarization possible for each link ID. Table 20 shows a set of rows established as the initial summarization for the links in
Initial summarization table 20 includes row 22a, corresponding to initial viability summarization for link ID a1 using optical format f1. Initially, row 22a includes viability data showing that, from wavelengths 1 to 88, there are two viable links for egress, namely viable links a2 and a3. Initially, row 24a includes viability data showing that, from wavelengths 1 to 88, there is only one viable link for egress, namely viable link b2. Initially, row 26a includes viability data showing that, from wavelengths 1 to 88, there are two viable links for egress, namely viable links c3 and c4. Initially, row 28a includes viability data showing that, from wavelengths 1 to 88, there is only one viable link for egress, namely viable link c3. Populating the matrix in this manner is the starting point. It is readily apparent from
Based on table 20, a route computed from GLSR X 14 to GLSR Y 16 would be computed as {GLSR X, x1, a1, GLSR A, a3, c1 GLSR C, c3, y1, GLSR Y}. By signaling, this route will be discovered as a non-viable route because only wavelength number 1 is supported through GLSR A 12a and only wavelength number 55 is supported through GLSR C 12c in this route. This feedback is used to initiate a process that will calculate a more granularized summarization for ports a1 and c1.
An exemplary interim viability summarization table 30 is described with reference to
After the first iteration, it can be seen that row 22a from
Now, a route computed from GLSR X 14 to GLSR Y 16 is {GLSR X, x1, a1, GLSR A, a2, b1, GLSR B, b2, c2, GLSR C, c3 y1, GLSR Y}. This route can be successfully established by signaling for at least a group of wavelengths, in this case wavelength number 1.
As is shown, through an iterative process, row 22c has been expanded to show that wavelength number 1 is viable via links a2 and a3, while wavelength 88 is viable only via link a2. Row 24c shows that wavelength number 1 is viable via link b2, while wavelength 88 is also viable only via link b2. Row 26c, including expansion section 34 shows that wavelength number 1 is viable via link c4, while wavelength 55 is viable only via link c3 and wavelength 88 is viable via link c4. Finally, row 28c shows that wavelength number 1 is viable via link c3, while wavelength 88 is also viable only via link c3. Although not the case in the described example, if for example, there were multiple contiguous wavelength numbers that were viable from the same link, the to wavelength number would include the contiguous range.
As noted above, the port viability summarization table represented by tables 20, 30 and 32 includes data corresponding to the supported light wavelengths and optical formats for each port. Of course, it is understood that tables 20, 30 and 32 shown in
The present invention advantageously minimizes the amount of memory required to advertise viable ports. For example, referring to
For colorless (wavelength tunable) ports, there is still one viability TLV per port, i.e. 1,000 in this example, but the portion of the viability TLV that includes the from wavelength, to wavelength, number of viable links and viable link ID list fields may be replicated up to the quantity of different wavelengths in the system, e.g., 88 times. In such a case, the worst case memory requirement is 1,000*(10+3+88*(14+10+1,000*(10)))\8=110 Mb. While 110 Mb may seem large, and perhaps not very manageable, this is a worst case scenario in which there is ostensibly no summarization. Using the summarization method of the present invention, summarizing the viability for the full range of wavelengths establishes the memory requirement at 1.25 Mb which is the same as for a colored port. As the network utilization increases and non-viable ports are being computed by the routing engine, more granular summarization is made available via feedback or flooding. As such, while the memory requirement will expand from 1.25 Mb, one would not expect the requirement to expand all the way to 110 Mb for colorless ports. Similarly, although granularization may increase the memory requirement, the present invention contemplates re-summarizing as port utilization drops, thereby decreasing memory requirements, as such becomes practical.
Of note, as network utilization grows, the number of viable ingress to egress port paths decreases since many of the 1,000 ports on a node are already utilized. Thus as the granularity increases, the list of viable link IDs in tables 20, 30 and 32 decreases. Thus it is extremely difficult to arrive at 110 Mb memory required for a utilized network. While the memory requirement may start at 1.25 Mb and increase as utilization increases to a certain level of X Mb, but then as utilization continues to increase, the memory requirements start coming down from the X Mb level.
A process of a port viability summarization of the present invention is explained with reference to
The GLSR 12 is arranged to be able to raise the granularity level for particular ports rather than simply granularizing the summarization for all ports within a particular GLSR 12. For example,
In addition to being able to raise the granularity level for particular photonic ports, GLSRs 12 are also able to monitor network utilization for decreases (step S106) and increase the level of summarization, i.e. lower the granularity level, such as occurs when network utilization drops because LSPs are terminated and wavelengths between ports become available (step S108). It is also contemplated that the viability summarization for a port can be increased after a predetermined period of time has elapsed, i.e., after the summarization for a particular port has aged. Increasing summarization for aged ports frees up memory to use for increasing the granularization (decreased summarization) for ports along failed routes. The result is an efficient utilization of storage memory resources.
Another way to control the granularity of summarization is for GLSRs 12 to pre-compute the size of the viability TLVs for the most granular summarization that falls within a predetermined memory requirement threshold. For example, a predetermined memory threshold of 1.25 Mb can be established as the most granular representation for which the size of the viability TLV summarization matrix (tables) does not exceed this value at its most granular rate. Such may be the case, as discussed above, with colored ports in a 1,000 photonic port GLSR 12. Of course, the factors that can influence the threshold are the number of GLSRs 12 and ports in the network as well as the amount of memory available within GLSRs 12. As another option, a memory threshold can be established so that the port viability summarization for ports in the communication network occupies an amount of memory that is approximately the memory threshold. For example, if it is determined that 20 Mb of memory should be dedicated to storing the viability TLV summarization tables, GLSRs 12 can operate to summarize as close to the 20 Mb threshold as possible.
It is also contemplated that another way for GLSRs 12 to control the granularity of summarization is to always flood the least granular summarization and utilize feedback to bring back more granular summarizations as LSP establishments fail. These summarizations can be inserted into the summarization table. A new route can be computed and these more granular summarizations discarded right after LSP establishment succeeds, or at some future time such as aging them or discarding them as memory is required for summarizations for another LSP which is unable to be established. Of course, this arrangement assumes that there is sufficient memory available in GLSRs 12 and sufficient processing capability in the GLSRs 12 to support this embodiment.
The methods and arrangements described above relate to describing port viabilities in the positive sense. In other words, the rows in tables 20, 30 and 32 (in
In accordance with another aspect, it may be sometimes useful to not send viability information for all of the wavelengths and/or egress ports. Such might be the case where it is desired not to expend a lot of memory when just a little more granularity will do. For such an arrangement, an indication is provided that the information is complete (summary is complete) or incomplete. In the latter case, an indication of incomplete summarization means that there are more wavelengths and/or egress ports viable if requested but for now they are not being transmitted. Here again, a flag in the advertisement (positive or negative) can be provided to indicate whether the list of wavelengths and/or viable ports is complete or incomplete. If path computation cannot find a route from source to destination, the GLSR 12 could ask the GLSRs 12 which sent incomplete advertisements to either send more complete advertisements or a different set of viable wavelengths and/or ports.
Of course, it is further contemplated that a combination of the above methods can be applied to control the granularity of summarization to ensure that memory is not only not exhausted, but is also efficiently utilized.
Although the present invention has been described thus far with respect to a network that employs photonic switching, it is contemplated that the present invention is also applicable to arrangements in which other forms of blocking within a switch may occur, such as in a synchronous optical network (“SONET”) arranged in a bi-directional line switch ring (“BLSR”). Such an arrangement is shown with reference to
In accordance with the present invention, the time slots used to carry traffic can be summarized if network 36 is considered as one large switching element, such as the way a GLSR is considered within the context of the present invention. In such a scenario, network 36 is viewed as a series of ingress ports and egress ports in which certain time slots cannot be switched from one ingress port to another. For example, if traffic is present on ingress port 46 in a particular time slot, that time slot is unavailable for use as an ingress port in switch 44 because the time slot is used all the way through switch 44 to switch 38. As such, as with GLSRs where a particular wavelength may not be available for use between an ingress port and an egress port, time slots within network 38 may not be available between two ports. An attempt to create a route between a particular ingress port and egress port in network 38 may fail. Accordingly, a summarization table can be created in which the rows correspond to the ingress links, as with the arrangement described above with respect to GLSRs 12. The present invention can therefore be in a scenario in which there is some form of blocking between ingress ports and egress ports in a switch, group of switches, and the like.
The present invention therefore advantageously provides a method for summarizing port viability on a wavelength by wavelength basis in a manner which allows compact and efficient updating and route establishment. A device, such as a GLSR or switch, iteratively determines and stores viability information such port viability information for optical wavelength and optical format combinations, or for time slots, in a manner that allows efficient routing updates to be made to neighboring devices. This iterative process can be initiated based on feedback from failed route establishments.
The present invention can be realized in hardware, software, or a combination of hardware and software. An implementation of the method and system of the present invention can be realized in a centralized fashion in one computing system or in a distributed fashion where different elements are spread across several interconnected computing systems. Any kind of computing system, or other apparatus adapted for carrying out the methods described herein, is suited to perform the functions described herein.
A typical combination of hardware and software could be a specialized or general purpose computer system having one or more processing elements and a computer program stored on a storage medium that, when loaded and executed, controls the computer system such that it carries out the methods described herein. The present invention can also be embedded in a computer program product, which comprises all the features enabling the implementation of the methods described herein, and which, when loaded in a computing system is able to carry out these methods. Storage medium refers to any volatile or non-volatile storage device.
Computer program or application in the present context means any expression, in any language, code or notation, of a set of instructions intended to cause a system having an information processing capability to perform a particular function either directly or after either or both of the following a) conversion to another language, code or notation; b) reproduction in a different material form. In addition, unless mention was made above to the contrary, it should be noted that all of the accompanying drawings are not to scale. Significantly, this invention can be embodied in other specific forms without departing from the spirit or essential attributes thereof, and accordingly, reference should be had to the following claims, rather than to the foregoing specification, as indicating the scope of the invention.