an embodiment of the invention is a method of allocating protection path resources including obtaining a link vector for a plurality of protection paths . the link vector includes a plurality of link vector elements . a proposed link vector is determined for each of the protection paths . the proposed link vector includes a plurality of proposed link vector elements and is indicative of allocating a respective protection path to a working path . a link cost is determined based on the proposed link vector and the obtained link vector . a path cost is determined for at least two protection paths based on the past cost .