Welcome to the Second Life Forums Archive

These forums are CLOSED. Please visit the new forums HERE

Cache, Pre-cache, and Download Control

Mecha Dinosaur
SuSE User
Join date: 13 Jun 2006
Posts: 22
06-30-2006 10:16
I belive this would be the most correct board to post this in the forum. I will put the following idea in feture request(s) but I would like some feedback before doing so on viability, rewording for coherency and correct spliting for placment into seperate feature requests. I belive this would reduce bandwidth usage and speed up rezing the area the client is rendering.

Improved Caching:
The SL client downloads objects/avatars, textures, animations, sounds and scripts regardless if they have been updated or have not changed since last seeing them. What I would like to see changed is the cache behaving more intellegently and not re-downloading content that is already stored on the client when the particular content has had no changes to it.

Pre-caching:
Pre-cache everything in a client's avatar's inventory, add an option to selectivly prevent pre-caching of items within, entire folders, and even the entire inventory. Keep this pre-cache seperate from the normal cache.

Increase Caching storage limit:
1000 MB is not enough, hard disk drives are cheap, space is normally plentifull. Allow the client user to set any limit they wish. Allow user to select the cache location.

Download Priority:
Allow the client user to select what types of files are downloaded first before others. An example this would be usefull, is if the client set objects/avatars to donwload first; while they may still have default gray, the area is navagatable imediatly. Helpfull when people are loitering about teleport in spots.

Download Percentage:
Allow the client user to select what portion of bandwidth is used to download particular file types. For example this would allow setting textures to have more available then objects. If a particlar file type is not utilizing all of it's avilable bandwidth, distribute it to other file types on the fly. Option to disable this for normal client bandwidth usage.
Introvert Petunia
over 2 billion posts
Join date: 11 Sep 2004
Posts: 2,065
06-30-2006 10:53
Except as far anyone can tell, there is something very Not Right with the cache anyway. Start in a relatively empty area, fly 200m away while still staying in the same sim, return to your starting point and everything needs to reload. This is a long standing bug / complaint. As far as I know, there is no work being done on it.

Grey is the new Black. ;)
Ron Overdrive
Registered User
Join date: 10 Jul 2005
Posts: 1,002
06-30-2006 19:13
One idea I had to improve things is what I call the Distributed Asset Cache Protocol (DACP for short). Essencially I was sitting down reviewing the BitTorrent protocol and the interesting new features such as their new traffic caching feature called Cache Discovery Protocol wich allows BitTorrent to pass its traffic through ISPs' internal network more easily and less reliant on their external traffic pathways wich put heavy resource load on ISP networks. Of course, I was logged into SL at the time wich is how I came up with the DACP wich is simply applying BitTorrent's data transfer methods to the current assett server and client.

Basicly you split the current assest server into 2 things: an asset tracker and seeder. The asset server itself will still function normally as it does now sending out requested data (seeding), however, before the asset server recieves the request for an object the request first goes to the asset tracker wich keeps track of what users online have what in their cache. If there are users with the data (or even just chunks) needed the request is passed onto the users then onto the asset server. If there are no users with the object in their cache (new or rare item) the asset server takes the full brunt of the work and sends the object data out to the client who requested it.

Essentially the most common files will be shared amongst users speeding up the downloading of asset objects through user assistance. This function if implemented should come with the ability to throttle the upload speed as well as have the option to disable this feature all together as there are some users who pay by the gig or have high bandwith restrictions.