Hi authors of draft-multi-cost and draft-alto-path-vector and all,

I just find a problem of encoding cost-mode "path-vector" in multi-cost 
service. Here is the details of the problem.

Suppose an ALTO client queries the ALTO server in this format:
.........
"multi-cost-type"[
        {"cost-metric": "bw", "cost-mode": "path-vector"} ,
        {"cost-metric": "delay", "cost-mode": "path-vector"}
 ]
"endpoints"{
        "srcs": ["ipv4: 192.0.1.1"] ,
        "dsts": [
                "ipv4: 192.0.1.2" ,
                "ipv4: 192.0.1.4"
        ]
}
......

Two cost types with the same cost-mode but different cost-metrics. So, what is 
the ALTO server supposed to return? Should the server return one single map 
taking both metrics into consideration? Or should the server return two 
independent maps seperating two cost types?

Possible results are listed here :

1. Return one single map
......
"cost-map": {
        "ipv4: 192.0.1.1": {
                "ipv4: 192.0.1.2": ["ne57","ne59"],
                "ipv4: 192.0.1.4": ["ne57", "ne74"]
}
"nep-map": {
        "ne57": {"bw": 100, "delay": 10},
        "ne59": {"bw": 100, "delay": 20},
        "ne74": {"bw": 100, "delay": 15}
}
......

2. Return two independent maps
......
"cost-map": {
        ["ipv4: 192.0.1.1": {
                "ipv4: 192.0.1.2": ["ne57"],
                "ipv4: 192.0.1.4": ["ne57", "ne74"]
        }]
        ["ipv4: 192.0.1.1": {
                "ipv4: 192.0.1.2": ["ne34", "ne56"],
                "ipv4: 192.0.1.4": ["ne56", "ne68"]
        ]}
}
"nep-map1": {
         "ne57": {"bw": 100},
        "ne74": {"bw": 100}
}
"nep-map1": {
        "ne34": {"delay": 15},
        "ne56": {"delay": 15},
        "ne68": {"delay": 10}
}
......

The possible solution to eliminate such ambiguity is that we make some changes 
on the cost types in the multi-cost design. That is to say, there can be 
several cost metrics with one specific cost mode in a cost type, so the design 
of cost type may look like this:
object {
        CostMetric cost-metric <1..*> ;
        CostMode cost-mode;
        [JSONString description;]
}CostType;

Or maybe we can modify the cost-mode path-vector, but I don't have a clear idea 
about this. Any comment on this problem?

Regards,
Dawn

_______________________________________________
alto mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/alto

Reply via email to