I know this is a touchy subject, but I am working on a remote presence robotic project and am currently investigating different methods of handling packet priority scheduling.
Just like SL, I need both fast response messages for movement controls and slower reliable data transfers. I am also using the science museums Internet connection for this project and I must limit my peak bandwidth.
Option A.
Implement a complete TCP over UDP by modifying a copy of the Linux TCP/IP stack so that the "raw write" is redirected into the real TCP/IP system as a UDP packet with an extra header. (I am ok with the GPL license)
Pros:
1. I can pre-resend duplicate UDP packets as needed to increase chances of delivery.
2. I can shorten the time-out delay.
3. I can control end to end bandwidth.
4. OS independent.
5. Does not require QOS support.
6. I can use the Skype technique to get threw firewalls on both sides.
Cons:
1. Non standard since the industry is moving towards IP V6
2. Time to write.
Option B.
QOS, TCP/IP V6, and uPNP
Pros:
1. Standard
Cons:
2. Not supported in all locations or enabled on all computers.
Please let's just discuss the topic from a abstract ideal point of view and not get into the current SL implementation.