A method for providing one or more restoration paths in a data communication network, comprising: identifying a failure in one or more service paths of the data communication network, wherein a service path comprises at least one corresponding service link that uses the service path; determining one or more affected service links in the data communication network based on the identified failure and a first data is structure, wherein the first data structure includes a plurality of service paths, and for each of the service paths, the first data structure indicates each of one or more service links in the data communication network that use the plurality of service paths; determining one or more affected service demands based on the affected service links and a second data structure, wherein the second data structure includes a plurality of service links provided by the data communication network, and for each of the service links, the second data structure indicates each of one or more service demands in the data communication network that can be satisfied by using the plurality of service links, and wherein the second data structure is different from the first data structure, wherein the one or more service demands in the second data structure require service delivered from a first service node to a second service node; for each of the affected service demands, determining one or more allowed service links by removing the affected service links from a set of corresponding service links for the affected service demands; and for each of the affected service demands, determining the one or more restoration paths based on the one or more allowed service links. +048. identifying a failure in one or more service paths of the data communication network, wherein a service path comprises at least one corresponding service link that uses the service path; determining one or more affected service links in the data communication network based on the identified failure and a first data is structure, wherein the first data structure includes a plurality of service paths, and for each of the service paths, the first data structure indicates each of one or more service links in the data communication network that use the plurality of service paths; determining one or more affected service demands based on the affected service links and a second data structure, wherein the second data structure includes a plurality of service links provided by the data communication network, and for each of the service links, the second data structure indicates each of one or more service demands in the data communication network that can be satisfied by using the plurality of service links, and wherein the second data structure is different from the first data structure, wherein the one or more service demands in the second data structure require service delivered from a first service node to a second service node; for each of the affected service demands, determining one or more allowed service links by removing the affected service links from a set of corresponding service links for the affected service demands; and for each of the affected service demands, determining the one or more restoration paths based on the one or more allowed service links. +048.