Closed kaleal closed 7 years ago
Just those are ok like that. E.g. (requirements.getUndetectedBitErr() >= cube.getUndetectedBitErr()) ? score++ : score--; this means that the score is possitive if the request allows equal or more lost undetected errors than the underlaying QoS, so it supports it.
Same with delay or jitter for example, the flow may require at most 5 so if the qos says 5 or less is good, otherwise -1
2017-01-25 22:29 GMT+01:00 Kleber Leal notifications@github.com:
I suggest some changes in ScoreComparer FA policy. Basically, this affect the score counting for that cases where less is better. In the original code greater is always better, but in fact, this is not the truth.
Example: (requirements.getUndetectedBitErr() >= cube.getUndetectedBitErr()) ? score++ : score--; Here, the QoSCube should provide a undetected bit error rate inferior than that acceptable by the application to met their requirements. Less undetected bit error is better.
The same explanation for: requirements.getPduDropProbability() >= cube.getPduDropProbability() requirements.getMaxAllowGap() >= cube.getMaxAllowGap() requirements.getDelay() >= cube.getDelay() requirements.getJitter() >= cube.getJitter() requirements.getCostTime() >= cube.getCostTime() requirements.getCostBits() >= cube.getCostBits()
Kleber
You can view, comment on, or merge this pull request online at:
https://github.com/kvetak/RINA/pull/22 Commit Summary
- Turn Window-based congestion control on
- Fixed the TCP_Tahoe_CWND signal to type double
- Fixed NewFlowResquest policy ScoreComparer attibutes where less is better
File Changes
- M examples/Congestion/SmallNetwork3/config.xml https://github.com/kvetak/RINA/pull/22/files#diff-0 (2)
- M policies/DIF/EFCP/DTCP/TxControl/TxControlPolicyTCPTahoe/ TxControlPolicyTCPTahoe.ned https://github.com/kvetak/RINA/pull/22/files#diff-1 (2)
- M policies/DIF/FA/NewFlowRequest/ScoreComparer/ScoreComparer.cc https://github.com/kvetak/RINA/pull/22/files#diff-2 (14)
Patch Links:
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/kvetak/RINA/pull/22, or mute the thread https://github.com/notifications/unsubscribe-auth/ABY86DGbLWRbYr_9pQNz7KMDc_s5glRKks5rV760gaJpZM4LuBQn .
I did the same check for MinComparer policy.
In the MinComparer, the validation must return false if the application requirement is not met. The QoSCube is rejected if at least one of the requirements fail in validation.
For: requirements.getMaxAllowGap() < cube.getMaxAllowGap() If the MaxAllowGap provided by the QoSCube is greater than the required by requester, the validation must fail.
requirements.getJitter() < cube.getJitter() The same for Jitter. If that one provided by the QoSCube is greater than the requester application requirement, the requirement is not met and the validation must fail.
I just made the changes and pushed them into my fork.
Fair enough. Justification makes sense.
I suggest some changes in ScoreComparer FA policy. Basically, this affect the score counting for that cases where less is better. In the original code greater is always better, but in fact, this is not the truth.
Example: (requirements.getUndetectedBitErr() >= cube.getUndetectedBitErr()) ? score++ : score--; Here, the QoSCube should provide a undetected bit error rate inferior than that acceptable by the application to met their requirements. Less undetected bit error is better.
The same explanation for: requirements.getPduDropProbability() >= cube.getPduDropProbability() requirements.getMaxAllowGap() >= cube.getMaxAllowGap() requirements.getDelay() >= cube.getDelay() requirements.getJitter() >= cube.getJitter() requirements.getCostTime() >= cube.getCostTime() requirements.getCostBits() >= cube.getCostBits()
Kleber