Consider using SCTP-over-UDP
closed
primerib1 Resident
A lot of things in SL are "datagrams", such as meshes, textures, animations/poses, and chat messages. These are small in size, and transfer failure are detrimental to UX.
For these kind of things, TCP (or HTTP-over-TCP), is not a suitable protocol. Namely, TCP enforces strict ordering + potential problem of "head of the line blocking".
I
strongly
suggest adopting SCTP-over-UDP for these kinds of transfers. Reason being SCTP is specifically designed to provide reliable concurrent asynchronous message-based communication with NO "head of the line blocking". If a stream (say, texture for a certain object) doesn't arrive and requires retransmission, that won't block delivery of other things.To implement this, first add support for SCTP-over-UDP on server-side, then let the viewer indicate if they support SCTP-over-UDP during session sign-in. Upon which the server and the viewer can negotiate for a persistent SCTP session.
I believe implemented properly this will significantly increase the stability of connection between the viewer and the simulators, especially since "heartbeat" packets now no longer gets blocked by any preceding packets.
Note that I'm specifically referring to "SCTP-over-UDP", and not "Native SCTP over IP", because the latter might have problems traversing networks that have elements hard coded to support only TCP and UDP. So rather than wasting effort on negotiating "native SCTP then fallback to SCTP-over-UDP", just go directly to "SCTP-over-UDP", for which user space implementations are widely available if the OS doesn't provide one.
Log In
Maestro Linden
marked this post as
closed
Hello, and thank you for your feature request.
Incoming suggestions are reviewed in the order they are received by a team of Lindens with diverse areas of expertise. We consider a number of factors: Is this change possible? Will it increase lag? Will it break existing content? Is it likely that the number of residents using this feature will justify the time to develop it? This wiki page further describes the reasoning we use: Feature Requests
This particular suggestion, unfortunately, cannot be tackled at this time. However, we regularly review previously deferred suggestions when circumstances change or resources become available.
We are grateful for the time you took to submit this feature request. We hope that you are not discouraged from submitting others in the future. Many excellent ideas to improve Second Life come from you, our residents. We can’t do it alone.
Thank you for your continued commitment to Second Life.