At Friday’s Third Party Developers meeting Oz Linden was asking from some specific help and changes in behavior from the Third Party Developers. I’ll get into the what and why with this post.
The Lab is making new ways of doing things and working to make all the Second Life™ system’s processes more robust, which I take to also mean more efficient and reliable. One way of accomplishing that is changing more and more processes to use HTTP and CDN (Content Delivery Network).
Changing things to use the CDN takes load off region servers. Oz Linden says the regions servers are poor file servers. They are optimized for their other tasks, not file serving. So, the Lab’s idea is to stop using them as file servers.
As it is now the Second Life system uses conflicting ways of downloading things. They are working to clean that up and remove less robust processes, in this case UDP protocol downloads. We know use of the UDP protocol for delivering texture and mesh went away. That created problems for those that had HTTP disabled and were relying on UDP downloads.
Several Third Party Viewers have used various fall backs to UDP to resolve some problems with texture, mesh, and other HTTP communications. The Firestorm wiki still recommends disabling HTTP as a troubleshooting step, which reverts the viewer to using UDP. They do warn that this is not a good long term solution. But, if you disable HTTP and things work better for you, then you are likely to leave HTTP disabled and go on about your business. But, that is setting you up for a future failure when the Lab turns off UDP downloading for more things.
The ‘turn-off-date’ for UDP downloading of everything is months away, not years. The Lab is also telling us they plan to move downloading of animations, sounds, and other assets to the HTTP protocol pipeline and CDN.
My ‘everything’ does not really include everything. I take it they mean everything that requires a file download. I suspect avatar status (movement, information about which animation is being used, etc.) and other update information will continue to arrive by UDP.
Disabling AISv3 is another bad choice. There are fixes in process for current AIS Inventory problems. Recently the Lab asked for feedback on inventory loss problems. The feedback was reviewer and the Lab looked to find the cause of the losses people were experiencing. The fixes from that review are on the way. Oz says they will be making another pass through that information and another round of fixes/improvements.
The Lindens say several ways to lose inventory have been eliminated. If you have inventory problems try the Big Bird Project viewer. This viewer fixes the viewer side inventory loss problems. The server side fixes are in progress.
You may be hearing that TP problems and attachment problems are AIS related, not true. Those problems seem to be caused by region server issues. The biggest and most common cause of TP problems is attached scripts, more scripts worn by the avatar results in more TP problems.
All of the scripts an avatar wears have to be taken from the region server’s memory you are leaving, coded into a message sent to the destination region’s server, received, decoded and moved into memory and restored to running status. If that process takes too long, the TP fails.
One of the ways to reduce your script load is to remove all the sizing scripts from your attachments. Newer things use newer script functions to reduce the scripts needed to texture and resize the attachments. But, some items still use one or more scripts per prim. We can save a copy of such attachments with the scripts. We can remove the scripts from another copy we have sized and colored for wearing. There are scripts available to remove all the scripts in an attachment. Unfortunately the items do have to be Mod-OK. So, some attachments are just poorly designed and will cause problems. I am slowly throwing those items away.
The Call
The call to TPD’s is for help with finding bugs and making HTTP things more robust. The Lab is requesting help hunting down problems and fixing them. My assumption is they are wanting to get HTTP in as good a shape as possible before turning off more of the UDP deliverly systems.
The Lab is also asking that recommendations for disabling newer HTTP processes stop. This is one of those things where the squeaking wheel gets fixed first. Anything that reduces the load on the problem reduces the squeak and the Linden priority for making the fix. So, it looks like there may be some pain as the cost of gains.
HTTP for non-realtime data transfers and UDP for \soft\ realtime usages, that’s the way to go. I’m glad they start cleaning up their data flows. They may also be testing and preparing things for the Next Gen Plateform (aka project Sansar) in the same shot.
I agree and suspect what they are learning is being tested and the best of the ideas will be in NGP.