for node k, traveling through the same set of nodes on the same links and ends with the node h. They can be either LSPs that really start for a layer three request in k and end in h or LSPs that are injected in the optical layer in k or in h or both after grooming at the MPLS layer. The extreme case is that of an optical GLSP that starts in node h from the aggregation of LSPs collected by other optical GLSPs via grooming at layer two and ends in node k where the LSPs are distributed among other optical GLSPs to be transported to destination. Once the groups are constructed, every group corresponds to one or more optical GLSPs, depending upon the group cardinality and on the number of LSPs a wavelength can accommodate. Once a map of the optical GLSPs is created, a protection path is com- pletely disjoined from the working path has to be preprovisioned for each of them. To do that three matrixes have to be defined: 1. The optical traffic matrix [Q] whose elements Ink represents all the layer 1 GLSPs (the wavelength paths previously calculated) connecting node h with node 2. The working routes matrix [v] whose generic element Vijhkv is equal to one if the vth working wavelength path starting from node i and terminating in node j tran- sits through the link h-k. 3. The protection routes matrix [] whose generic element Qijhkv is equal to one if the vth protection wavelength path starting from node i and terminating in node j transits through the link h-k. The first two matrixes are easily derived from the solution of the working optimization problem, the third matrix elements are the parameters of a new single layer ILP problem where the traffic [Q] is routed in the optical topology and the condition that working and protection paths have to be disjoined is guaranteed imposing the condition Vijhkv Qijhkv=0. 8.4.2.2.3 Optical Shared Protection In this case, before going on with the design of the protection, a data structure has to be constructed where the working optical GLSPs are divided into sets SO that the GLSPs of