Hi Yongli, [speaking as an individual and co-author]
The Parent PCE can determine a likely domain path based on its knowledge of the inter-domain links. However, the domain path may not be optimal because it does not know the detailed information in each domain.
I think there is something missing here. There would be zero value in this hierarchical PCE approach if it could not generate optimal paths!
The parent PCE is able to determine all potential end-to-end domain paths. It can then ask the child PCEs responsible for each domain to compute optimal paths across the domains and return those paths together with their costs.
The parent PCE can combining these paths to construct a set of potential end-to-end paths and can easily determine which is optimal by summing the costs of the segments.
Of course, the parent PCE does not need to perform this work for *all* potential domain paths if it can apply policy to guess that some domain paths are likely to result in suboptimal solutions.
Furthermore, the parent PCE can make a trade-off. By issuing computation requests to the children one at a time and using the returned information to prune domains from the set of potential domain paths. This (obviously) reduces the number of child PCEs involved and simplifies the computations they have to perform, but may take longer to reach a solution.
Maybe there is a balance between the optimization and the complexity. Do you think so?
This is always the case. But we aim to produce a simple (non-complex) architecture that can be used in complex or simple environments, and that can provide optimal solutions.
I am always wondering about the optimal end-to-end path in the current framework. Another question. Can we abstract the detailed information in each domain into some simple forms and provide them to the parent PCE? For example, if we compute the shortest path according to the hop numbers. We can gain the hop numbers between each border nodes pair in each domain by the child PCE, and provide them to the parent PCE. Then the parent PCE can gain the optimal the end-to-end path across multi-domains.
I am strongly opposed to this idea. Operating on a single metric like hop count, it appears that this approach might be practicable. It might suffer some instability during link failures, but this could be damped leading to sub-optimal paths in those windows.
But what value is this information is a sophisticated TE environment? If your definition of an "optimal" end-to-end path is limited to just least number of end-to-end hops, this mechanism can work. But the constraints on TE paths include *at*least* bandwidth availability as well. It becomes radically more complex to abstract the available bandwidth and tie it to the hop counts for all edge-to-edge connectivity across a domain. It is also likely that this information will change every time some unrelated LSP is set up within the domain. The result is a very large data set with a high rate of change and non-trivial abstraction processing.
Of course, an option is to aggregate the information by introducing approximations. This can reduce the size of the data set considerably, and will also reduce the flapping, but might not reduce the processing requirements. BUT, the main concern with such aggregation is that it loses information; and any loss of information risks the optimality of the final solution.
Moreover, when we extend the PCE model beyond "simple" packet TE environments to use cases with multiple constraints (consider the WSON work currently in hand) this abstraction becomes hopelessly complex.
So, the solution we have developed uses just a topological abstraction (i.e., what inter-domain links exist). It leaves every other item of the determination of cross-domain paths as the responsibility of the child PCEs.
Hope this helps. Cheers, Adrian _______________________________________________ Pce mailing list [email protected] https://www.ietf.org/mailman/listinfo/pce
