This website uses cookies to deliver some of our products and services as well as for analytics and to provide you a more personalized experience. Click here to learn more. By continuing to use this site, you agree to our use of cookies. We've also updated our Privacy Notice. Click here to see what's new.

This website uses cookies to deliver some of our products and services as well as for analytics and to provide you a more personalized experience. Click here to learn more. By continuing to use this site, you agree to our use of cookies. We've also updated our Privacy Notice. Click here to see what's new.

About Optics & Photonics TopicsOSA Publishing developed the Optics and Photonics Topics to help organize its diverse content more accurately by topic area. This topic browser contains over 2400 terms and is organized in a three-level hierarchy. Read more.

Topics can be refined further in the search results. The Topic facet will reveal the high-level topics associated with the articles returned in the search results.

Abstract

Telecommunications service providers (SP) should place survivability expectations by guaranteeing maximal allowed system downtime for service-level agreement (SLA)-differentiated services. Furthermore, SPs should continuously focus on utilizing network resources effectively, by considering the bounded network capacity and the growth of future data traffic. In order to improve different service availabilities and achieve high resource efficiency, we present a novel restoration scheme by jointly considering accumulated downtime and SLA requirements of faulty connections. While most past related works have focused on providing statistical guarantees on availability when a connection is provisioned, our current approach recognizes that, after a connection has been in existence, it could be “ahead” (or “behind”) its performance guarantee based on what network outages it might have experienced, so the resources allocated to it may be revised judiciously. When a link failure occurs, two sets of faulty connections are examined: (a) connections whose primary or restoration path is disrupted by the failure and (b) connections that are in the “down” state due to some previous failures (which have not been repaired yet). An affected connection is switched to its pre-computed or an alternate restoration path if necessary, when its accumulated downtime plus the link repair time will exceed its SLA requirement. The scheme provides differentiated restoration to existing connections upon a link failure in order to satisfy the connections’ availability requirements. We also propose an upgraded version of the scheme that incorporates both excess capacity and resource preemption into the scheme. Given the network capacities and the current network state including routing information for all existing connections, a faulty connection is restored to its restoration path as long as there is enough excess capacity along the path. Otherwise, when protection switching of a high-SLA connection fails due to limited bandwidth on some link(s), it preempts restoration capacity on each link from a low-SLA connection if both disrupted connections share the same restoration capacity and the availability requirement of the low-SLA connection is not violated. Finally, we report simulation results for a large carrier-scale network to show computational performance of our proposed algorithm. The results demonstrate that the algorithm achieves a high availability satisfaction rate and good resource utilization, as well as greatly reduces protection-switching overhead.

References

You do not have subscription access to this journal. Citation lists with outbound citation links are available to subscribers only. You may subscribe either as an OSA member, or as an authorized user of your institution.

Table 1

2. current network state, including routing information for all existing connections; and

3. a failure occurrence on link e with holding time hf(e).

Output:

For each affected connection c, it is switched to r(c) or r¯(c), if needed, satisfying c’s SLA requirement; otherwise, c stays in “DOWN” state.

Upon failure arrival (i.e., failure occurrence) on linke:

1. Set link e as unavailable.

2. For each connection c∊Qp(e), do the following:

i. If Da(c)+hf(e)<Tdowntime(c), set S(c)=DOWN and Da(c)=Da(c)+hf(e).

ii. Else, if r(c) is available, restore c to r(c) and set S(c)=RESTORED.

iii. Else, if r¯(c) is available, restore c to r¯(c) and set S(c)=RESTORED.

iv. Else, set S(c)=DOWN and Da(c)=Da(c)+hf(e).

3. For each connection c∊Qr(e), set r(c) as unavailable.

4. For each connection c∊Qr*(e), do the following:

i. Release bandwidth along r(c) (if c was using r(c)) or r¯(c) (if c was using r¯(c)).

ii. If Da(c)+hf(e)<Tdowntime(c), set S(c)=DOWN and Da(c)=Da(c)+hf(e).

iii. Else, if c was using r(c) and r¯(c) is available, restore c to r¯(c) and set S(c)=RESTORED.

iv. Else, if c was using r¯(c) and r(c) is available, restore c to r(c) and set S(c)=RESTORED.

v. Else, set S(c)=DOWN and Da(c)=Da(c)+hf(e).

vi. For each connection cx which shares restoration wavelength with c on link e and S(cx)=DOWN, if Da(cx)+hf(e)⩾Tdowntime(cx) and r(cx) or r¯(cx) is available, restore cx to r(cx) or r¯(cx) and set S(cx)=RESTORED.

Upon failure departure (i.e., failure repair) on linke:

5. For each connection c∊Qp(e), do the following:

i. If p(c) is available, revert c back to p(c) and do the following:

a. If S(c)=RESTORED and c was using r(c), release bandwidth along r(c).

b. Else, if S(c)=RESTORED and c was using r¯(c), release bandwidth along r¯(c).

c. For each connection cx which shares restoration wavelength with c on link e and S(cx)=DOWN, do the same operation as Step 4(vi) of “Upon failure arrival (i.e.,occurrence) on linke.”

d. Set S(c)=NORMAL.

ii. Else, go to the next connection.

6. For each connection c∊Qr(e), if S(c)=DOWN and Da(c)+hf(e)⩾Tdowntime(c), do the following:

i. If r(c) is available, restore c to r(c) and set S(c)=RESTORED.

ii. Else, if r¯(c) is available, restore c to r¯(c) and set S(c)=RESTORED.

ii. Else, if r(c) is unavailable due to limited bandwidth on some link(s) l1,l2,…,li,… along r(c), preempt cxi on each li if ∃cxi∊Qr*(li), AP(cxi)<AP(c), and Da(cxi)+hf(e)⩽Tdowntime(cxi). If preemption succeeds on all links l1,l2,…,li,…., restore c to r(c) and set S(c)=RESTORED. Release bandwidth along the links of r(cxi). Set S(cxi)=DOWN and Da(cxi)=Da(cxi)+hf(e).

iii. Else, if an alternate path r¯(c) is available, restore c to r¯(c) and set S(c)=RESTORED.

iv. Else, set S(c)=DOWN and Da(c)=Da(c)+hf(e).

3. For each connection c∊Qr(e), set r(c) as unavailable.

4. For each connection c∊Qr*(e), do the following:

i. Release bandwidth along r(c) (if c was using r(c)) or r¯(c) (if c was using r¯(c)).

ii–iv. Same as Step iii–Step v in Algorithm 1.

v. For each connection cx which shares restoration links with c and S(cx)=DOWN, if r(cx) or r¯(cx) is available, restore cx to r(cx) or r¯(cx) and set S(cx)=RESTORED.

Upon failure departure (i.e., failure repair) on linke:

5. For each connection c∊Qp(e), do the following:

i. If p(c) is available, revert c back to p(c) and do the following:

a. If S(c)=RESTORED and c was using r(c), release bandwidth along r(c).

b. Else, if S(c)=RESTORED and c was using r¯(c), release bandwidth along r¯(c).

c. Same as Step 5(c) in Algorithm 1 (except change “4(vi)” to “4(v)”).

d. Set S(c)=NORMAL.

ii. Else, go to the next connection.

6. For each connection c∊Qr(e), do the following:

i. if r(c) is available and S(c)=DOWN, restore c to r(c) and set S(c)=RESTORED.

ii. Else, if r(c) is unavailable due to limited bandwidth on some link(s) l1,l2,…,li,…., preempt cxi on each li if ∃cxi∊Qr*(li), AP(cxi)<AP(c), and Da(cxi)+hf(e)⩽Tdowntime(cxi). If preemption succeeds on all links l1,l2,…,li,…., restore c to r(c) and set S(c)=RESTORED. Release bandwidth along the links of r(cxi). Set S(cxi)=DOWN and Da(cxi)=Da(cxi)+hf(e).

Tables (2)

Table 1

2. current network state, including routing information for all existing connections; and

3. a failure occurrence on link e with holding time hf(e).

Output:

For each affected connection c, it is switched to r(c) or r¯(c), if needed, satisfying c’s SLA requirement; otherwise, c stays in “DOWN” state.

Upon failure arrival (i.e., failure occurrence) on linke:

1. Set link e as unavailable.

2. For each connection c∊Qp(e), do the following:

i. If Da(c)+hf(e)<Tdowntime(c), set S(c)=DOWN and Da(c)=Da(c)+hf(e).

ii. Else, if r(c) is available, restore c to r(c) and set S(c)=RESTORED.

iii. Else, if r¯(c) is available, restore c to r¯(c) and set S(c)=RESTORED.

iv. Else, set S(c)=DOWN and Da(c)=Da(c)+hf(e).

3. For each connection c∊Qr(e), set r(c) as unavailable.

4. For each connection c∊Qr*(e), do the following:

i. Release bandwidth along r(c) (if c was using r(c)) or r¯(c) (if c was using r¯(c)).

ii. If Da(c)+hf(e)<Tdowntime(c), set S(c)=DOWN and Da(c)=Da(c)+hf(e).

iii. Else, if c was using r(c) and r¯(c) is available, restore c to r¯(c) and set S(c)=RESTORED.

iv. Else, if c was using r¯(c) and r(c) is available, restore c to r(c) and set S(c)=RESTORED.

v. Else, set S(c)=DOWN and Da(c)=Da(c)+hf(e).

vi. For each connection cx which shares restoration wavelength with c on link e and S(cx)=DOWN, if Da(cx)+hf(e)⩾Tdowntime(cx) and r(cx) or r¯(cx) is available, restore cx to r(cx) or r¯(cx) and set S(cx)=RESTORED.

Upon failure departure (i.e., failure repair) on linke:

5. For each connection c∊Qp(e), do the following:

i. If p(c) is available, revert c back to p(c) and do the following:

a. If S(c)=RESTORED and c was using r(c), release bandwidth along r(c).

b. Else, if S(c)=RESTORED and c was using r¯(c), release bandwidth along r¯(c).

c. For each connection cx which shares restoration wavelength with c on link e and S(cx)=DOWN, do the same operation as Step 4(vi) of “Upon failure arrival (i.e.,occurrence) on linke.”

d. Set S(c)=NORMAL.

ii. Else, go to the next connection.

6. For each connection c∊Qr(e), if S(c)=DOWN and Da(c)+hf(e)⩾Tdowntime(c), do the following:

i. If r(c) is available, restore c to r(c) and set S(c)=RESTORED.

ii. Else, if r¯(c) is available, restore c to r¯(c) and set S(c)=RESTORED.

ii. Else, if r(c) is unavailable due to limited bandwidth on some link(s) l1,l2,…,li,… along r(c), preempt cxi on each li if ∃cxi∊Qr*(li), AP(cxi)<AP(c), and Da(cxi)+hf(e)⩽Tdowntime(cxi). If preemption succeeds on all links l1,l2,…,li,…., restore c to r(c) and set S(c)=RESTORED. Release bandwidth along the links of r(cxi). Set S(cxi)=DOWN and Da(cxi)=Da(cxi)+hf(e).

iii. Else, if an alternate path r¯(c) is available, restore c to r¯(c) and set S(c)=RESTORED.

iv. Else, set S(c)=DOWN and Da(c)=Da(c)+hf(e).

3. For each connection c∊Qr(e), set r(c) as unavailable.

4. For each connection c∊Qr*(e), do the following:

i. Release bandwidth along r(c) (if c was using r(c)) or r¯(c) (if c was using r¯(c)).

ii–iv. Same as Step iii–Step v in Algorithm 1.

v. For each connection cx which shares restoration links with c and S(cx)=DOWN, if r(cx) or r¯(cx) is available, restore cx to r(cx) or r¯(cx) and set S(cx)=RESTORED.

Upon failure departure (i.e., failure repair) on linke:

5. For each connection c∊Qp(e), do the following:

i. If p(c) is available, revert c back to p(c) and do the following:

a. If S(c)=RESTORED and c was using r(c), release bandwidth along r(c).

b. Else, if S(c)=RESTORED and c was using r¯(c), release bandwidth along r¯(c).

c. Same as Step 5(c) in Algorithm 1 (except change “4(vi)” to “4(v)”).

d. Set S(c)=NORMAL.

ii. Else, go to the next connection.

6. For each connection c∊Qr(e), do the following:

i. if r(c) is available and S(c)=DOWN, restore c to r(c) and set S(c)=RESTORED.

ii. Else, if r(c) is unavailable due to limited bandwidth on some link(s) l1,l2,…,li,…., preempt cxi on each li if ∃cxi∊Qr*(li), AP(cxi)<AP(c), and Da(cxi)+hf(e)⩽Tdowntime(cxi). If preemption succeeds on all links l1,l2,…,li,…., restore c to r(c) and set S(c)=RESTORED. Release bandwidth along the links of r(cxi). Set S(cxi)=DOWN and Da(cxi)=Da(cxi)+hf(e).