This is the first application filed for the present invention.
The present invention pertains to the field of photonic and in particular to a method and apparatus for routing signals through a multi-plane photonic switch.
Silicon photonic integrated circuit (PIC) switches used in applications such as optical networks, computing systems and datacenters offer compact size, lower power consumption and fabric integration with various optical components on a single substrate. Various switching architectures have been proposed which offer different arrangements of switching cells, such as 1×2, 2×2 and/or 2×1 cells. Along with promising photonic switch architectures exhibiting desirable features such as low cell count, low insertion loss, low crosstalk, scalability, and flexibility, there is a requirement for efficient and fast path finding approaches for use with such switches.
In various operating regimes, a photonic switch may synchronously or asynchronously receive multiple routing requests. Each request can be interpreted as a request to establish, within a limited amount of time, a lightpath from a specified input to a specified output of the photonic switch. Signals can then be conveyed via the established lightpaths.
It is desirable to operate such photonic switches such that they accommodate received routing requests in an efficient, reliable and timely manner, without blocking an unnecessarily high number of the requests. However, achieving such a utilization of the photonic switch is not straightforward, particularly because an adequate routing solution for the necessary lightpaths is difficult to discern from the large number of potential configurations of practically sized photonic switches.
Therefore there is a need for a method and apparatus for routing signals through a multi-plane photonic switch that obviates or mitigates one or more limitations of the prior art.
This background information is provided to reveal information believed by the applicant to be of possible relevance to the present invention. No admission is necessarily intended, nor should be construed, that any of the preceding information constitutes prior art against the present invention.
An object of embodiments of the present invention is to provide a method and apparatus for signal routing in a multi-plane photonic switch. In accordance with embodiments of the present invention, there is provided a method for routing received connection demands through a switch having multiple parallel instances of a switching plane, the multiple parallel instances disposed between an input stage and an output stage, the method comprising: for each connection demand of the of the received connection demands: determining a corresponding switching cell set indicative of switching cells of the switching plane which are used to satisfy the connection demand; determining whether a first condition holds, the first condition indicative that all switching cells of the corresponding switching cell set are unallocated for use by previously satisfied connection demands within one of the multiple parallel instances of the switching plane; and when the first condition holds, satisfying the connection demand by allocating switching cells of the switching cell set on said one of the multiple parallel instances of the switching plane.
In accordance with embodiments of the present invention, there is provided a method for routing received connection demands through a switch having multiple parallel instances of a switching plane, the multiple parallel instances disposed between an input stage and an output stage, the connection demands being received along with priority connection demands, the method comprising: satisfying the priority connection demands; for each connection demand of the received connection demands: determining whether a feasibility condition holds, the feasibility condition indicative that, given configuration of the input stage and the output stage to satisfy the priority connection demands, an optical input and an optical output of the switch, which define the connection demand, are both routable to a common one of the multiple parallel instances of the switching plane; and when the feasibility condition holds: determining a corresponding switching cell set indicative of switching cells of the switching plane which are used to satisfy the connection demand; determining whether a first condition holds, the first condition indicative that all switching cells of the corresponding switching cell set are unallocated for use by previously satisfied connection demands within one of the multiple parallel instances of the switching plane; and when the first condition holds, satisfying the connection demand by allocating switching cells of the switching cell set on said one of the multiple parallel instances of the switching plane.
In accordance with embodiments of the present invention, there is provided an apparatus for operating a switch having multiple parallel instances of a switching plane, the multiple parallel instances disposed between an input stage and an output stage, the apparatus comprising: a communication interface configured to receive plural connection demands to be accommodated by the switch; a controller operatively coupled to the communication interface and configured, for each connection demand of the of the received connection demands, to: determine a corresponding switching cell set indicative of switching cells of the switching plane which are used to satisfy the connection demand; determine whether a first condition holds, the first condition indicative that all switching cells of the corresponding switching cell set are unallocated for use by previously satisfied connection demands within one of the multiple parallel instances of the switching plane; when the first condition holds, satisfy the connection demand by allocating switching cells of the switching cell set on said one of the multiple parallel instances of the switching plane; and determine desired operating states for the allocated switching cells, the desired operating states causing the allocated switching cells to collectively establish a signal path for satisfying the connection demand; and a switch driver operatively coupled to the controller and configured to transmit control signals to switching cells of the switch to cause the switching cells to enter said desired operating states.
In accordance with embodiments of the present invention, there is provided an apparatus for routing received connection demands through a switch having multiple parallel instances of a switching plane, the multiple parallel instances disposed between an input stage and an output stage, the apparatus comprising: a communication interface configured to receive the connection demands along with priority connection demands: a controller operatively coupled to the communication interface and configured to: satisfy the priority connection demands; for each connection demand of the received connection demands: determine whether a feasibility condition holds, the feasibility condition indicative that, given configuration of the input stage and the output stage to satisfy the priority connection demands, an optical input and an optical output of the switch, which define the connection demand, are both routable to a common one of the multiple parallel instances of the switching plane; and when the feasibility condition holds: determine a corresponding switching cell set indicative of switching cells of the switching plane which are used to satisfy the connection demand; determine whether a first condition holds, the first condition indicative that all switching cells of the corresponding switching cell set are unallocated for use by previously satisfied connection demands within one of the multiple parallel instances of the switching plane; when the first condition holds, satisfy the connection demand by allocating switching cells of the switching cell set on said one of the multiple parallel instances of the switching plane; and determine desired operating states for the allocated switching cells, the desired operating states causing the allocated switching cells to collectively establish a signal path for satisfying the connection demand; and a switch driver operatively coupled to the controller and configured to transmit control signals to switching cells of the switch to cause the switching cells to enter said desired operating states.
In accordance with embodiments of the present invention, there is provided a method for routing received connection demands through a photonic switch having multiple parallel instances of a switching plane, the multiple parallel instances disposed between an input stage and an output stage. For each connection demand of the received connection demands, the method includes satisfying the connection demand when a first condition holds, the first condition indicative that all switching cells of a determined switching cell set are unallocated for use by previously satisfied connection demands within one of the multiple parallel instances of the switching plane, the switching cell set indicative of switching cells of the switching plane which are used to satisfy the connection demand, wherein satisfying the connection demand includes allocating, by a controller, switching cells of the switching cell set on said one of the multiple parallel instances of the switching plane.
In accordance with embodiments of the present invention, there is provided a method for routing received connection demands through a photonic switch having multiple parallel instances of a switching plane, the multiple parallel instances disposed between an input stage and an output stage, the connection demands being received along with priority connection demands. The method includes satisfying the priority connection demands. For each connection demand of the received connection demands, when a feasibility condition holds, the feasibility condition indicative that, given configuration of the input stage and the output stage to satisfy the priority connection demands, an optical input and an optical output of the photonic switch, which define the connection demand, are both routable to a common one of the multiple parallel instances of the switching plane. In addition, when a first condition holds, the first condition indicative that all switching cells of a determined corresponding switching cell set are unallocated for use by previously satisfied connection demands within one of the multiple parallel instances of the switching plane, the corresponding switching cell set indicative of switching cells of the switching plane which are used to satisfy the connection demand: satisfying the connection demand by allocating switching cells of the switching cell set on said one of the multiple parallel instances of the switching plane.
An object of embodiments of the present invention is to provide a method and apparatus substantially as described above, for signal routing in a multi-plane photonic switch. Another object of embodiments of the present invention is to provide a method and apparatus substantially as described above, for signal routing in a multi-plane switch such as a photonic switch or an electronic switch.
Further features and advantages of the present invention will become apparent from the following detailed description, taken in combination with the appended drawings, in which:
It will be noted that throughout the appended drawings, like features are identified by like reference numerals.
As used herein, the term “about” should be read as including variation from the nominal value, for example, a +/−10% variation from the nominal value. It is to be understood that such a variation is always included in a given value provided herein, whether or not it is specifically referred to.
Embodiments of the present invention are directed toward a method for routing plural received connection demands through a multi-plane photonic switch. The multi-plane photonic switch includes multiple parallel instances of a switching plane, each of which can be used to route signals through the photonic switch. The number of instances of switching plane is denoted by the number M, which may be a power of two, and which may in various embodiments equal four. An input stage and an output stage operate to connect various optical inputs and optical outputs of the photonic switch to selectable ones of the M switching plane instances. The selected switching plane instances are configurable to complete lightpaths from optical inputs to optical outputs. Thus, when a lightpath is to be established from a given optical input to a given optical output, both can be optically connected to a common switching plane instance. The structure of the multi-plane photonic switch will be described in more detail below. Each connection demand specifies an optical input and an optical output of the photonic switch, and satisfying the connection demand requires establishing a lightpath through the photonic switch from the specified optical input to the specified optical output. Each established lightpath passes through the input stage, a selected switching plane instance, and the output stage. Signals are then conveyed along the established lightpaths.
In various embodiments, connection demands can be received synchronously and routed together. For example, during a time slot, a batch of connection demands may be received and lightpaths for accommodating all of the connection demands can be determined. Before the next time slot starts, a controller may set up the newly determined lightpaths. In some embodiments, there may be a time gap or guard time between time slots in which to establish the new lightpaths. The calculation of lightpaths from specified inputs to specified outputs may be performed in software, or via a hardware component such as a Field Programmable Gate Array (FPGA). Therefore, it is desired that these calculations are performed quickly and in a timely manner to comply with the requirements of high-speed scalable networks.
In other embodiments, connection demands can be at least partially received and routed in an asynchronous manner. In this case, substitution operations which de-allocate light paths in order to allow other lightpaths in accordance with path re-arrangement may be inhibited.
The switching cell set, along with appropriate switching cells in the input stage and the output stage of the photonic switch, are optically connected together to establish a lightpath for satisfying the connection demand. For example, referring to
The method further includes, for of the presently considered connection demand, determining 120 whether a first condition holds. The first condition indicates that all switching cells of the corresponding switching cell set are unallocated within at least one of the M instances of the switching plane. A switching cell is considered unallocated when it lies outside of other switching cell sets which correspond to other connection demands that have been previously met. A demand may be met when the demand is connected via a lightpath or at least the lightpath for connecting the demand has been determined and is ready to be established for example in an upcoming time slot. In other words, the first condition holds if all of the switching cells required to satisfy the connection demand are free for use in at least one switching plane instance, in the sense that the switching cells have not been previously allocated for another use.
The method further includes, when the first condition holds, allocating 130 the switching cell set on one of the at least one of the M instances of the switching plane for which the switching cells of the switching cell set are unallocated. For definiteness, when reference is made to a switching cell set being allocated, this can also be taken to mean that the switching cells belonging to the set are allocated. In other words, the switching cells which are required to satisfy the connection demand are allocated for satisfying the connection demand in a particular instance of the switching plane for which the switching cells have not been previously allocated for another use.
The method further includes, when the first condition fails to hold, considering the demand under consideration to be blocked 135. Optionally, the blocked connection demand can also be added 142 to a list of blocked demands stored in computer memory. Blocked connection demands held in the list can subsequently be handled by a blocking resolution operation as described below with respect to
It is noted that, once a switching cell set is allocated, the demand can be considered to be met. The switching cells in the set can be controlled to establish a lightpath through the photonic switching fabric from an optical input to an optical output, both specified by the demand. The established lightpath is then used to convey optical signals through the photonic switching fabric.
A distinction exists between the terms “switching plane” and “switching plane instance.” The switching plane is a representative object, for example existing in computer memory, rather than a physical part of the photonic switch. The switching plane instance is a portion of the photonic switch which is a realization of the switching plane representative object. There are typically multiple switching plane instances arranged in parallel, each of which is represented by the switching plane representative object. The use of the switching plane concept may expedite explanation and/or computation. For example, the switching plane object can be used to compute which switching cells would be required in order to provide a lightpath from a given input to a given output. The switching plane instances can then be checked to determine whether these switching cells are currently unallocated in at least one of the instances, and the lightpath therefore capable of being established in that at least one switching plane instance.
The blocking resolution operation 150 is repeated while the list of blocked demands is non-empty. The blocking resolution operation includes selecting 155 a blocked demand from the list of blocked demands. The blocking resolution operation further includes, when the first condition holds for the blocked demand, allocating 160 the switching cell set corresponding to the blocked demand to one of the M instances of the switching plane for which the switching cell set is unallocated. As mentioned above, the first condition indicates that, for the demand under consideration, in this case the blocked demand, all of the switching cells required to satisfy the demand are free for use in at least one switching plane instance. The first condition, as specifically applied to the blocked demand, is also referred to herein as a second condition. Along with the allocation 160, the blocked demand may be removed 162 from the list of blocked demands.
The blocking resolution operation further includes, when the first condition currently fails to hold for the blocked demand, performing a substitution operation 165, which is illustrated in detail in
In some embodiments, the method of
Embodiments of the present invention are directed toward a method for “best effort” routing of received connection demands through a multi-plane photonic switch. The connection demands can be synchronously received or asynchronously received. Asynchronously received connection demands can be received in a sequence of batches. In this embodiment, the connection demands are received in addition to priority connection demands, such as “priority” or “guaranteed” connection demands. The priority connection demands may be received synchronously or asynchronously with the connection demands. Having reference to
In various embodiments, evaluation of the first condition is inhibited when the feasibility condition fails to hold. This can improve computational efficiency since the connection demand will not be routable when the feasibility condition fails to hold, regardless of the status of the first condition.
Embodiments of the present invention are directed toward an apparatus for operating a multi-plane photonic switch 300. Having reference to
The controller is configured to receive connection demands from the communication interface 325 and perform various operations, such as computational operations, associated with routing the connection demands. The computational operations being carried out by the controller correspond to the operations described above and elsewhere herein with respect to the methods provided in accordance with embodiments of the present invention. For clarity of exposition, these operations are not repeated here in the specific context of the controller. Rather, the implementation of these operations can be performed by computer processor instructions to be implemented by the controller, for example including for loops, while loops, if-then statements, memory storage and retrieval operations, and the like, as would be readily understood by a worker skilled in the art. Similarly, methods as described herein may be implemented using a computer, microprocessor operatively coupled to memory, microcontroller, or other appropriate technology.
Embodiments of the present invention are directed toward an apparatus comprising a multi-plane photonic switch and a controller, both as described above. The apparatus may be an optical network node or portion thereof, for example.
Embodiments of the present invention relate to a method and apparatus for routing connection demands through a photonic switch architecture, such as a switch architecture having multiple parallel instances of a switching plane. The switching plane instances are arranged in parallel and located between an input stage and an output stage. In particular, connection demands are routed in a two-aspect approach. In the first aspect, lightpaths for carrying signals through the photonic switch are established where it is possible to do so. Each lightpath satisfies one of the connection demands, and establishing of lightpaths may be performed one at a time. It is deemed possible to establish a lightpath when a set of switching cells is present in at least one of the switching plane instances of the photonic switch which is currently unallocated and which is capable of providing part of the lightpath (in addition to parts provided by the input stage and output stage) by optically connecting the switching cells of the set in series, for example via waveguides. In the second aspect, those connection demands which cannot currently be routed (blocked demands) are accommodated by a re-arrangement process, in which some of the currently established lightpaths are de-allocated to make room for the blocked demands, and the blocked demands are then routed. The re-arrangement process is also referred to as blocking resolution. The first and second aspects may be performed sequentially, for example with all of the first aspect performed as a first step and subsequently all of the second aspect performed as a second step. The first and second aspects may alternatively be interleaved such that parts of the first aspect are performed before parts of the second aspect, followed by further parts of the first aspect, and so on. The first and second aspects can be repeated until a predetermined number of signal routes are established through the photonic switch, and/or no blocked signals remain which could be feasibly routed. It is further noted that the second aspect may not be required in all instances of operation, since it may often be possible to route all signals without re-arrangement. In some embodiments, blocking resolution can proceed as follows. For each of the currently blocked connection demands, a set of one or more conflicting connection demands which are currently routed are identified. These conflicting connection demands are then de-allocated and the blocked connection demand is routed. De-allocation involves considering the switching cell set which accommodates the demand as being unallocated. The de-allocated connection demands are then considered to be blocked demands and the blocking resolution step is repeated as necessary. Repetition may be performed until no blocked connection demands remain. The observation that the photonic switch architecture is re-arrangeably non-blocking may be used as a guarantee that the state in which all connection demands are accommodated can be achieved.
Embodiments of the present invention provide approaches to routing and/or optical path finding that focuses on finding non-blocking paths with relatively low computational cost. Such approaches may be usable to specify lightpaths connecting optical inputs and optical outputs of the switch, using multiple parallel instances of a switching plane to accommodate parts of the lightpaths. In some embodiments and for some switch architectures having N optical inputs and N optical outputs, up to N different lightpaths can be specified.
In some embodiments, it may be required to find and establish lightpaths in a within a small fraction of a nominal connection duration time, in order to avoid introducing excessive delay into the communication network. When connection durations are potentially short, (e.g., on the order of one microsecond) this imposes a strict time requirement for path finding.
Embodiments of the present invention are used in situations in which multiple connection demands are received synchronously, for example in accordance with a time-slotted system in which demands are received and the photonic switch is to be re-arranged to accommodate the demands within a predetermined time frame. In contrast with an asynchronous setting, in which connection demands arrive one-by-one, a synchronous setting is more amenable to optimal routing and blocking probability minimization, since there is less need to “route around” pre-existing lightpaths which are to be left undisturbed.
Embodiments of the present invention may be used in situations in which multiple connection demands are received asynchronously, for example one at a time or in multiple batches of demands received at different times. As previously mentioned, in some embodiments, re-arrangement or substitution operations as described herein may be inhibited or restricted such that previously established or planned lightpaths for accommodating previously received connection demands are left undisturbed. In other embodiments, such re-arrangement or substitution operations may be allowed to disrupt previously established or planned lightpaths in some or all cases, with the understanding that this may impact communication on the disrupted lightpath. Various “best effort” routing techniques as described herein do not require a re-arrangement or substitution operation, and hence may be implemented similarly for both synchronous and asynchronous settings.
Embodiments of the present invention may be implemented with relatively low computational complexity when compared to other the existing routing algorithms for example for Benes networks.
Embodiments of the present invention capitalize on the observation that certain multi-plane photonic switch architectures, as described herein, are re-arrangeably non-blocking, particularly in the context of synchronous routing and a one signal per switching cell constraint, which may also be referred to as a “route condition”. A method and apparatus for efficient path finding for such switch architectures is provided. In some embodiments, zero path blocking, that is, guaranteed routing of all demands, can be achieved for a limited number of connection demands, for example 16 connection demands in the case of a 16×16 switch architecture as illustrated in
The one signal per switching cell constraint or “route condition” may be imposed in order to mitigate potential crosstalk between lightpaths which might otherwise share a switching cell. Various operations as described herein, such as evaluating a “first condition” indicative that required switching cells have not been previously allocated for accommodating other lightpaths, are used to impose the one signal per switching cell constraint.
Embodiments of the present invention capitalize on the observation that certain multi-plane photonic switch architectures, as described herein, cannot be non-blocking for more than a limited number of connection demands. For example, when 16 additional connections are added to the 16×16 switch architecture of
Embodiments of the present invention are applicable to operation of multi-plane photonic switches, such as silicon-based Photonic integrated Circuit (PIC) switches. A multi-plane photonic switch includes multiple instances of a switching plane, an input stage, and an output stage. Each switching plane, as well as the input stage and the output stage, typically comprise an arrangement of controllable optical switching cells, such as 2×2 switching cells, which are operatively coupled to one another. The input stage and the output stage operate to connect optical inputs of the photonic switch to optical outputs of the photonic switch via specified instances of the switching plane. For example, if it is desired to establish a lightpath from optical input A to optical output B, the input stage can be controlled to establish a lightpath from optical input A to a given input of switching plane instance X, and the output stage can be controlled to establish a lightpath from a given output of switching plane instance X to optical output B. Switching plane instance X can be controlled to establish a lightpath from the given input to the given output.
Embodiments of the present invention relate to operation of photonic switches, such as silicon-based photonic integrated circuit switches, comprising interconnected switching cells, such as typical 2×2 switching cells. Such switching cells may be, for example, 2×2 Mach-Zehnder interferometer cells, 1×N/N×1 multi-mode interferometer cells, 2×2 micro-ring resonators, or the like. 2×2 switching cells having a first and second input and a first and second output may be operable in either a “bar” or pass-through configuration or in a “cross” configuration. A control signal to the switching cell may dictate which configuration is present. In the bar configuration, a signal at the first input is passed to the first output and a signal at the second input is passed to the second output, while in the cross configuration, a signal at the first input is passed to the second output and a signal at the second input is passed to the first output. Basic operation of photonic switches of this type would be readily understood by a worker skilled in the art, for example as set forth in U.S. Patent Application Publication No. 2015/0055951.
The use of multiple instances of switching plane within a photonic switch may provide for a larger number of potential lightpaths from optical inputs to optical outputs. For example, if a lightpath is blocked in one switching plane instance, it may not be blocked in another switching plane instance. This in turn increases the probability that a connection demand can be accommodated. However, computational complexity may also increase.
The four switching plane instances 550, 560, 570, 580 each have 16 inputs and 16 outputs. However, unlike the input stage 510 and the output stage 530, pairs of inputs to a switching plane instance are coupled to a common switching cell. Each switching plane instance corresponds to a particular switch architecture capable of establishing lightpaths from inputs to outputs thereof.
The architecture of
Further details on embodiments of this type of optical switch can be found in U.S. patent application Ser. No. 14/821,034 titled Optical Switch Architecture, which is hereby incorporated by reference in its entirety.
The 16 additional inputs may allow for use of unallocated lightpaths through the photonic switch in a best-effort manner. This may potentially provide for at least some additional throughput through the switch. In some embodiments, the 16 additional inputs may be used for capacity enhancement of the switch.
In some embodiments, the 16 additional inputs may be used for traffic protection in a multi-switch system. For example, if one of several (for example five) switches in a group fails, the remaining switches in the group may each take on additional parts of the load previously handled by the failed switch. The additional inputs of each switch may be used for taking on this additional load due to the failed switch. In one embodiment, each of the remaining for switches takes on four of the 16 connections previously handled by the failed switch. Moreover, when multiple switches attempt to take on the additional load in a “best effort” manner, there may be a higher probability that each lightpath can be routed through one of the multiple switches. As such, in one embodiment, each of the multiple switches may attempt to service the additional load, and when one of the switches successfully accommodates a lightpath of the additional load, the remaining switches may refrain from attempting to accommodate that lightpath. Embodiments of the present invention may relate to the photonic switch architecture of
In view of the above, embodiments of the present invention comprise or relate to a photonic switch comprising a plurality (M) of instances of a switching plane, an input stage, and an output stage. Each instance of the switching plane includes N inputs, N outputs, and a plurality of switching cells, and is configured to controllably route one or more of the N inputs to one or more of the N outputs via operation of those switching cells. The input stage includes N optical inputs operatively coupled to another plurality of switching cells. The input stage is configured to controllably route some or all of the N optical inputs to individually selected instances of the switching plane. In particular, each of the N optical inputs of the input stage is connected, via the input stage, to a corresponding one of the N inputs of the appropriate instance of the switching plane. The output stage includes N optical outputs operatively coupled to yet another plurality of switching cells. The output stage is configured to controllably feed some or all of the N optical outputs from individually selected instances of the switching plane. In particular, each of the N optical outputs of the output stage is connected, via the output stage, to a corresponding one of the N outputs of the appropriate instance of the switching plane.
Embodiments of the present invention are configured to respect a routing constraint which requires that each switching cell of the photonic switch accommodates a maximum of one established lightpath and/or optical signal thereof. This routing constraint mitigates the potential for first-order crosstalk, in which two signals, typically having the same carrier wavelength, passing through the same 2×2 switching cell can intermix to a limited degree due to the phenomenon of signal leakage, for example according to the Extinction Ratio of the switching cell. However, imposition of such a routing constraint limits the number of potential routing solutions for the photonic switch.
In more detail with respect to signal leakage, while the majority of a signal at one of the cell inputs is routed to the intended output, a certain amount of input signal power may leak to the non-intended output. Thus, for example even when a switching cell is operated in the “bar” configuration, a nominal percentage of the signal presented at the first input may appear at the second output.
The amount of signal leakage in a cell can be described in terms of the Extinction Ratio (ER) of a cell.
Although the present description pertains primarily with respect to photonic or optical switches, it is contemplated that various embodiments of the present invention can be implemented for use in other types of switches, such as electronic switches having 2×2 switching cells configured for passing electronic signals. For such electronic switches, the switch architecture and constrains may be as described above, with the photonic switching cells replaced by equivalent electronic switching cells. Further, for electronic switches, the term “lightpath” may be replaced with the more general term “signal path,” for example corresponding to a path for electronic signals.
The following technical treatment relates to the rearrangeably non-blocking characteristic of certain multi-plane photonic switches, such as the switch illustrated in
The present treatment is directed to a switch having M=4 switching plane instances. Each switching plane instance is a 16×16 switch component having four columns of eight switching cells. The inputs and output are indexed from 0 to 15 and the switching cells in columns c1 to c4 are indexed from s0 to s7, as shown in
An example connection from input 3 to output 10 of the switching plane instance is illustrated in
A set of expressions for the required switch cells for each connection demand is derived below, followed by a mathematical proof that for each connection demand, all conflicting connections can be routed in three other planes. It is noted that this treatment is for illustrative purposes, and is not intended to limit the scope of the present invention.
Let S={0, . . . , 15} denote the set of inputs or outputs of a switching plane instance. Define partitions Snk of S as follows:
S
n
k
={nk, . . . ,(n+1)k−1}, (1)
where kε{2,4, 8} is the partitioning factor and
is the subset index. The subsets Snk are mutually exclusive partitions of S. That is,
In other words, for each partitioning factor k, each integer 0≦i≦15 belongs to one and only one of the subsets indexed by n(i,k), that is:
Now, define ca,bm as the switch cell in column (m) of the switching plane instance which is required for routing the connection pair from input (a) to output (b), where 1≦m≦4, 0≦a, b≦15, and 0≦ca,bm≦7. The switching cells in columns c1 to c4 can be obtained from the following expressions:
c
a,b
1
=n(a,2), (5)
c
a,b
2
=n(a,4)×2+n(b,8), (6)
c
a,b
3
=n(a,8)+n(b,4)×2, (7)
c
a,b
4
=n(b,2). (8)
Recall that each switching cell is constrained to accommodate at most one lightpath and/or optical signal. In other words, if one switching cell is used for one of the demands, it cannot be used for any other demand. Next, for every connection pair (a,b), the subset of connection demands which cannot be routed in the same switching plane instance is found. Namely, the connection demands that use the same switching cells as demand (a,b) in any of columns c1 to c4 in the switching plane instance are specified. To this end, define Da,bm as the set of all connection pairs which require switching cell ca,bm in the switching plane instance:
D
a,b
1={(a1,b1)|a1εSn(a,2)2,b1εS}, (9)
D
a,b
2={(a2,b2)|a2εSn(a,4)4,b2εSn(b,8)8}, (10)
D
a,b
3={(a3,b3)|a3εSn(a,8)8,b3εSn(b,4)4}, (11)
D
a,b
4={(a4,b4)|a4εS,b4εSn(b,2)2}. (11)
Proposition 1:
For every connection pair (a,b), there are at most 6 distinct connections which have common cells with connection (a,b) in one or more columns. In other words:
D
a,b
1
∪D
a,b
2
∪D
a,b
3
∪D
a,b
4|≦6. (13)
Proof:
Define D′a,bm as the set of connections which only belong to Da,bm. Given that |Sn(a,2)2|=2 and aεSn(a,2)2, there will be only one possible value for a1 which only belongs to Da,b1, that is |D′a,b1|≦1. Using the same reasoning, |D′a,b4|≦1. Moreover, note that if b1εSn(b,8)8, then Da,b1⊂Da,b2. Therefore, in order to have distinct connection pairs in Da,b1 and Da,b2, we should have b1εS−Sn(b,8)8. Using similar reasoning, the following conditions are required in order to have distinct connection pairs in Da,b1 to Da,b4:
D′
a,b
1={(a1,b1)|a1εSn(a,2)2,b1εS−Sn(b,8)8}, (14)
D′
a,b
2={(a2,b2)|a2εSn(a,4)4−Sn(a,2)2,b2εSn(b,8)8−Sn(b,4)4}, (15)
D′
a,b
3={(a3,b3)|a3εSn(a,8)8−Sn(a,4)4,b3εSn(b,4)4−Sn(b,2)2}, (16)
D′
a,b
4={(a4,b4)|a4εS−Sn(a,8)8,b4εSn(b,2)2}. (17)
From (14) and (15), it is concluded that |D′a,b2|≦2 and |D′a,b3|≦2. Therefore:
|D′a,b1|+|D′a,b2|+|D′a,b3|+|D′a,b4|≦6. (18)
Expression (18) completes the proof.
Corollary 1:
At most three switching plane instances are needed for routing connections in subsets Da,b1 to Da,b4.
Proof:
From (14) and (17), it is concluded that D′a,b1∩D′a,b4=Ø and |D′a,b1∪D′a,b4|≦2. Therefore, the two connections in D′a,b1 and D′a,b4 can be routed in one switching plane instance. Similarly, (15) and (16) say that D′a,b2∩D′a,b3=Ø and |D′a,b2∪D′a,b3|≦4. Therefore, the four connections in D′a,b2 and D′a,b3 can be routed in two switching plane instances each containing one connection from D′a,b2 and one connection from D′a,b3.
Corollary (1) expresses that for each connection (a,b), all conflicting connection demands can be routed in three switching plane instances, hence leaving one instance for (a,b). As a result, it can be concluded that with appropriate selection of switching plane instances, all connection demands can be successfully routed. Therefore, it is considered that the switching architecture illustrated in
A path finding method for switching architectures such as the switching architecture illustrated in
The pseudo-code listing below illustrates the above-mentioned path finding method in more detail. In the initialization step, the required switching cells are determined for all of the received connection demands. The required switching cells refer to the switching cells which are members of the switching cell set, that is, the set of switching cells of the switching plane which are used to satisfy the considered connection demand. Further in the initialization step, an empty list labeled BLOCKED_LIST is initialized, for example as an array variable in computer memory.
In the path allocation step, an attempt is made to assign each connection demand to a switching plane instance demand in sequence. The order in which connection demands are treated can be arbitrary, as can the order in which switching plane instances (values of the index variable) are considered. A determination is made as to whether the connection demand under consideration is routable without conflict within a switching plane instance, and if so, the connection demand is assigned to that switching plane instance. A connection demand is routable without conflict if all of the switching cells of the corresponding switching cell set are currently unallocated for use in routing other connection demands. Assigning a connection demand to a switching plane instance includes labelling the switching cells of the corresponding switching cell set as being allocated. These switching cells may subsequently be configured, for example by controlling them in an appropriate “cross” or “bar” configuration so as to establish a lightpath for satisfying the connection demand. Finally, in the path allocation step, if the connection demand is not routable without conflict in any of the switching plane instances, it is added to the BLOCKED_LIST.
The blocking resolution step may be repeated until the BLOCKED_LIST is empty and all connection demands have been routed. In this step, each connection demand (a,b) in the blocked list is considered in sequence, and assigned to a switching plane (i.e. routed via that switching plane) if possible. If the connection demand (a,b) cannot immediately be routed, a search is performed for another connection (x,y) which has the property that, if (x,y) were de-allocated, (a,b) could be assigned to the switching plane previously accommodating (x,y). If such a connection is found, then (x,y) is indeed de-allocated and added to BLOCKED_LIST, and (a,b) is assigned in its place.
In one variation, immediately after (x,y) is added to BLOCKED_LIST, the currently considered connection demand (a,b) can be routed using the same switching plane instance Pindex that (x,y) previously belonged to, and (a,b) can be immediately removed from BLOCKED_LIST. This variation avoids having to repeat evaluating whether (a,b) is routable without conflict in one or more switching plane instances.
The method presented above was simulated in MATLAB™ for one million different 16×16 connection maps. The simulation results reveal that only 1.4% of connection maps require blocking resolution in Step 3. In other words, 98.6% of connection maps in the simulation were successfully routed without any rearrangement required. The total number of blocked connections before blocking resolution was 14,134. Therefore, without blocking resolution as in Step 3, a blocking probability of Pb=/16×10
Simulation results also showed that the average number of required rearrangements for blocked connections is 3.8. That is, in those 1.4% connection maps which contain blocked connections after Step 2, an average of about four rearrangements was required to find a path for all 16 connections.
Simulation results also showed that the average running time of the above method was about 4.9×10−4 seconds in some embodiments, on average. Under similar conditions, a prior art method for routing connections in a comparable Dilated Benes or Hybrid Dilated Benes switching architecture requires an average of 0.0176 seconds for each 16×16 connection map.
Although various embodiments of the present invention describe operations performed in a certain sequence, such as routing of all signals where possible, followed by re-arrangement of signal routes to accommodate those signals on a blocked list, it is recognized that the operations may be performed in a different order. For example, when the number of signals in the blocked list reaches a predetermined threshold (which may be equal to one or equal to a value greater than one), a blocking resolution routine may be triggered which attempts to clear the blocked list by de-allocating certain signal routes that block signals in the blocked list, and, in their place, allocating signal routes to accommodate signal routes in the blocked list. Operations corresponding to Steps 1, 2 and 3 in the embodiment presented above can therefore be performed in different orders. For example, initialization operations of Step 1 can be performed on an as-needed basis. As another example, some path allocation operations of Step 2 can be performed, followed by some blocking resolution operations of Step 3 when required, and possibly followed by further path allocation operations of Step 2.
Embodiments of the present invention relate to a method and apparatus for “best effort” accommodation of connection demands in addition to accommodation of a predetermined number of “priority” or “guaranteed” connection demands. As an example, referring to
The following technical treatment relates to a property of the switch as illustrated in
Assume that the following connection demands are present in a set of received connection demands: (0, 1), (1, 0), (2, 3), and (3, 2). As before, (a,b) represents a connection demand in which (a) is the input and (b) is the output. The following table shows the required switch cells in each column c′ of the switching plane for each of these connections:
Required switch cells for the example connection demands
It can be seen that all of these connections are using switching cell 0 in columns c2 and c3. Therefore, these connections have to be routed in four different switching plane instances. It follows that switching cell 0 of columns c2 and c3 will be utilized in all four switching plane instances of the photonic switch architecture of
It can be assumed in this example that the demands (0, 1), (1, 0), (2, 3), and (3, 2) are routed while additional conflicting demands relegated to “best effort” service are blocked. However it will be readily understood that when more than four conflicting demands are present, various sets of up to four of these conflicting demands can be selected for routing.
It is noted that all of the connections in this example belong to D0,12∩D0,13. Therefore, all connections which belong to D0,12∪D0,13 will be blocked in the “best effort” connection map. The blocked connection can be any of these 48 connections: {0 . . . 3}→{0 . . . 7} and {4 . . . 7}→{0 . . . 3}. In summary, it cannot be guaranteed that a non-blocking connectivity exists for more than 16 connections in the presently considered photonic switch architecture as illustrated in
In general, if one of the following connection subsets of 4 connections in a 16×16 “priority” or “guaranteed” connection map is present, there will be at least one blocked connection in a set of 16×16 connections of a “best effort” connection map:
(a,b):aεSn
The connection pairs in (19) can be illustrated for different values of n1 and n2 as follows:
For each n1 and n2 in (19), define demand sets D1 and D2 as follows:
If the “priority” or “guaranteed” connection map contains demands from subset (19), then every connection demand in D1(n1,n2)∪D2(n1,n2) will be blocked in the “best effort” connection map. It can be verified that for each n1 and n2, |D1(n1,n2)∪D2(n1,n2)|=48.
Next, the probability of blocking for the 17th connection is calculated. Define Pka and Pkb as follows:
These probabilities can be calculated from the following equations:
Then, the probability of blocking the 17th connection can be calculated as follows:
Performing the numerical calculations, P17=0.0017.
Some embodiments of the present invention provide for a path finding algorithm to efficiently utilize the switch cells which have not been used for routing a first 16×16 connection map corresponding to 16 different “priority” or “guaranteed” connection demands.
First, the status of switching cells in the second and seventh column of the photonic switch architecture, after routing the first 16×16 connection map, is determined. For this purpose, define binary variables xi and yj. As depicted in
In order to find the available switch planes for the second map, define vectors X=[x0, . . . , x15] and Y=[y0, . . . , y15]. Then, define vectors X′=[x′0, . . . , x′15] and Y′=[y′0, . . . , y′15] as follows:
X′=X(XOR)1 (25)
Y′=Y(XOR)1 (26)
Alternatively, X′ and Y′ may be defined as the bit-wise inversion of X and Y, respectively. For every connection pair (a′i, b′j) in the second connection map, if x′i≠y′j, the connection cannot be routed, because the same switch plane is not available for input a′i and output b′j. Conversely, if x′i=y′j, an attempt can be made to find a path for connection (a′i, b′j) in planes P′1=2×′i+1 or P′2=2×′i+2.
The pseudo-code listing below illustrates an example of the best effort path finding method in accordance with an embodiment of the present invention. The variables and nomenclature referred to in the figure are as defined above.
In the initialization step, the first connection map, corresponding to the set of priority connection demands which may already be accommodated or reserved, is used to generate the X′ and Y′ vectors, as set forth above. The X′ and Y′ vectors reflect which switching planes are still able to connect to the remaining optical inputs and optical outputs, respectively. The initialization step also includes finding the required switching cells for connection pairs (ai′, bi′) in the second connection map, corresponding to a set of best effort connection demands. That is, for each best effort connection demand, a switching cell set is determined that is indicative of switching cells of the switching plane which are required to satisfy this demand.
In the path allocation step, each connection pair (ai′, bi′) in the second connection map is considered in turn to determine whether a lightpath can be established to accommodate same. The order in which connection pairs are treated can be arbitrary. To this end, a determination is made as to whether a feasibility condition holds for the connection pair under consideration. The feasibility condition is formulated as determining whether xi′=yi′, and indicates that, given configuration of the input stage and the output stage to satisfy the priority connection demands, an optical input of the connection pair under consideration and an optical output of that connection pair are both routable to common ones of the M instances of the switching plane.
If the feasibility condition holds, an attempt is made to assign the connection demand under consideration to a switching plane instance. The order in which switching plane instances (values of the index variable) are considered, however rather than considering all M switching plane instances, only switching plane instances P1′ and P2′ are considered, where P1′ and P2′ are formulated as above and are functions of xi′=yi′. For each of these switching plane instances in turn, a determination is made as to whether the connection demand under consideration is routable without conflict within a switching plane instance, and if so, the connection demand is assigned to that switching plane instance. As before, a connection demand is routable without conflict if all of the switching cells of the corresponding switching cell set are currently unallocated for use in routing other connection demands, including primary connection demands and previously satisfied best effort connection demands. Assigning a connection demand to a switching plane instance includes labelling the switching cells of the corresponding switching cell set as being allocated. These switching cells may subsequently be configured, for example by controlling them in an appropriate “cross” or “bar” configuration so as to establish a lightpath for satisfying the connection demand. Finally, in the path allocation step, if the connection demand is not routable without conflict in any of the switching plane instances, it is considered to be blocked.
The above best-effort path finding method can be adjusted in various ways. For example, operations of the initialization step may be performed on an as-needed basis during the path allocation step. The path allocation step may be performed for a predetermined number of demand pairs rather than for each demand pair. Other variations may be present as would be readily understood by a worker skilled in the art.
The above method was simulated in MATLAB™. Simulation results showed that an average of 6.12 connections can routed from the second “best effort” connection map containing 16 demands. In other words, the photonic switch architecture of
As discussed above, embodiments of the present invention incorporate a “route condition” constraint which specifies that each 2×2 switching cell accommodates at most one lightpath. However, it is contemplated that this condition can be relaxed, suspended or eliminated in some embodiments of the present invention.
For example, when the signals being routed by the photonic switch are all carried by different optical wavelengths, crosstalk concerns are mitigated and switching cells can be permitted to accommodate multiple lightpaths. As another example, when the extinction ratio of the switching cells is sufficiently high, for example greater than 30 dB, crosstalk introduced by the switching cells may be adequately low that switching cells can be permitted to accommodate multiple lightpaths with acceptably low signal degradation.
In some embodiments, when the route condition is suspended, operations such as evaluating a first condition (indicative that all switching cells of the corresponding switching cell set are unallocated for use by previously satisfied connection demands) may likewise be suspended. As such, lightpaths may be established which share switching cells with previously established lightpaths. Likewise, blocking resolution and de-allocation of switching cells accommodating existing lightpaths may be inhibited.
In some embodiments, when the route condition is suspended for an N×N photonic switch augmented with N additional optical inputs and outputs, such as in
It is noted that, even when the route condition is suspended, other constraints may be imposed. For example, when a previously established lightpath requires a certain switching cell to be in the “cross” or “bar” configuration, use of that switching cell to accommodate a second lightpath may be limited to cases where the same “cross” or “bar” configuration is required.
In some embodiments, the route condition can be partially relaxed. For example, the route condition can be imposed for some portions of the photonic switch, such as the input stage, or the switching plane instances, or the output stage, or combinations thereof, while the route condition can be suspended for the other portions of the photonic switch. Thus, for example, switching cells within the input stage and output stage can be restricted from accommodating multiple lightpaths, while switching cells within the switching plane instances can be allowed to accommodate multiple lightpaths, or vice-versa.
As another example, a limit on the number of switching cells that may accommodate multiple lightpaths can be set. Initially, the routing condition may be suspended. However, when the number of switching cells currently accommodating multiple lightpaths reaches this limit, further handling of connection demands may be adjusted so that further establishment of lightpaths respects the route constraint.
Some embodiments of the present invention comprise evaluating whether the route condition is in force or suspended. If the route condition is in force, routing of connection demands proceeds as described in detail above. If the route condition is suspended, routing of connection demands proceeds in an alternate manner, in which multiple lightpaths can be routed through a common switching cell.
Various embodiments of the present invention relate to a method of routing connection demands through a photonic switch and/or of establishing lightpaths within the photonic switch for accommodating such connection demands. The method may be implemented for example by a computer configured to receive input, perform computations, and provide output in furtherance of such methods. The computer may be operatively coupled to memory in which program instructions are stored for execution by the computer. Inputs may include synchronously and/or asynchronously received connection demands or requests, indications of whether the connection demand or request is to be satisfied with a guaranteed level of service or a “best effort” level of service, or the like. The computer may track parameters such as current connections or lightpaths being routed through the switch, and the like. The computer may provide outputs such as control signals for operating the switching cells of the photonic switch or, in some embodiments, signals indicative that a demand is being blocked.
In some embodiments, routing operations as described herein may be carried out on an as-needed basis, in which signal routes are determined in response to synchronously and/or asynchronously received signal routing requests or connection demands. In other embodiments, routing operations may be pre-computed for various hypothetical scenarios and stored in memory, for example in a look-up table. Subsequently, when signal routing requests are received, the appropriate pre-computed routing solution can be retrieved from memory and implemented.
Through the descriptions of the preceding embodiments, the present invention may be implemented by using hardware only or by using software and a necessary universal hardware platform. Based on such understandings, the technical solution of the present invention may be embodied in the form of a software product. The software product may be stored in a non-volatile or non-transitory storage medium, which can be a compact disk read-only memory (CD-ROM), USB flash disk, or a removable hard disk. The software product includes a number of instructions that enable a computer device (personal computer, server, or network device) to execute the methods provided in the embodiments of the present invention. For example, such an execution may correspond to a simulation of the logical operations as described herein. The software product may additionally or alternatively include number of instructions that enable a computer device to execute operations for configuring or programming a digital logic apparatus in accordance with embodiments of the present invention.
Although the present invention has been described with reference to specific features and embodiments thereof, it is evident that various modifications and combinations can be made thereto without departing from the invention. The specification and drawings are, accordingly, to be regarded simply as an illustration of the invention as defined by the appended claims, and are contemplated to cover any and all modifications, variations, combinations or equivalents that fall within the scope of the present invention.