Welcome to the Second Life Forums Archive

These forums are CLOSED. Please visit the new forums HERE

LAN Cache Feature Thought

Kishi Koba
Registered User
Join date: 17 Jul 2007
Posts: 2
01-15-2008 02:11
I noticed some one had posted something similer to this, But I thought I would give it a go with some more thoughts.

Right now, me and my Partner Share our cable internet to get on SL. When we both play we notice a difference as opposed to when just one is on. My thought is this, would it be possible to add a function in to the client, that would allow for two(or more) SL Clients to share a cache or possibly work together on downloads when both clients are in the same zone? This should have the effect of reducing over-all bandwidth usage on both client and server end.

For people with 2 or more computer on a LAN running Secondlife, By allowing for a larger cache and only re-downloaded if something is changed, this saves even more bandwidth coupled with the fact that 2(or more) computers will only have to check a file name, date and size to see if it needs to download an updated item and if it doesn't, then it pulls it from the shared cache

I also see the possibility of either a client option, or another piece of software that could be configured to act as a proxy for SL's cache, storing the file on a 3rd computer on the LAN, there by removing the excess process burden off any of the gaming systems. Tell me what ya'll think! Thanks!
Kishi Koba
Yumi Murakami
DoIt!AttachTheEarOfACat!
Join date: 27 Sep 2005
Posts: 6,860
01-15-2008 06:04
This is something that education has been in desperate need of, too.

Using Second Life in a student lab is nearly impossible when every computer would open a full bandwidth connection to the LL servers, even when all the students' avatars are in the same private sim.
Nargus Asturias
Registered User
Join date: 16 Sep 2005
Posts: 499
01-15-2008 08:54
I think that sound like client-sided feature? :O Maybe someone can code it since the client source is open?
_____________________
Nargus Asturias, aka, StreamWarrior
Blue Eastern Water Dragon
Brown-skinned Utahraptor from an Old Time
Meade Paravane
Hedgehog
Join date: 21 Nov 2006
Posts: 4,845
01-15-2008 09:47
I think I suggested this too, back when they announced The Grid stuff.. Seemed like something that corporate clients would really like, if they had people in SL.
_____________________
Tired of shouting clubs and lucky chairs? Vote for llParcelSay!!!
- Go here: http://jira.secondlife.com/browse/SVC-1224
- If you see "if you were logged in.." on the left, click it and log in
- Click the "Vote for it" link on the left
Darien Caldwell
Registered User
Join date: 12 Oct 2006
Posts: 3,127
01-15-2008 13:37
You could already do this, assuming both computers were 'sharing' the cache. By virtue of the fact it's two separate computers, each has it's own cache. If one computer were to run the client from a mapped drive on the other computer, they would use the same cache (you may need to use the -multiple flag on one client to make this work properly, but not sure). The only problem I can see would be that the client running remotely would no doubt suffer a lot from reading/writing files over the network. And if the network the two computers are sharing files over is the same network they are transferring content to and from the Internet over, it would probably be even worse. In short, any gains you might have would be offeset by other overhead, giving you little to no real benefit, and more likely degrading performance even more. (ya, ya, tl:dr, I know. :P )
_____________________
Kishi Koba
Registered User
Join date: 17 Jul 2007
Posts: 2
01-15-2008 15:44
From: Darien Caldwell
You could already do this, assuming both computers were 'sharing' the cache. By virtue of the fact it's two separate computers, each has it's own cache. If one computer were to run the client from a mapped drive on the other computer, they would use the same cache (you may need to use the -multiple flag on one client to make this work properly, but not sure). The only problem I can see would be that the client running remotely would no doubt suffer a lot from reading/writing files over the network. And if the network the two computers are sharing files over is the same network they are transferring content to and from the Internet over, it would probably be even worse. In short, any gains you might have would be offeset by other overhead, giving you little to no real benefit, and more likely degrading performance even more. (ya, ya, tl:dr, I know. :P )



You have very good points on the I/O Read/Writes, in my case though, I have over come this in two manners. 1, I have been experimenting with Flashdrives raided together spanned and stripped. This has been quite promising. and already alot faster then standard HD's, So far though I have had the best luck with creating a Ramdrive, thus removing the bottleneck and even with a 100MB network, the speed would still be insane, though I suppose a 1GB LAN would be best(Switch next to get for me). In a LAN situation, I/O Read/Writes could be overcome though Raid, Flash and Ramdrive, though even only 2GB's in a system could be enough.

I am intriged with this -multipule flag, New to me! I shall check it out, but links would be nice if you know of some?! Thanks again, and leave your thoughts.
Nargus Asturias
Registered User
Join date: 16 Sep 2005
Posts: 499
01-15-2008 21:01
Actually...I think the best and fastest way to do this is the way some ISP/Proxy cache requested webpages.

You'd need a seperated proxy computer that all the SL client requested to. And on that computer, install a special program that detect and cache any request to real SL Grid. You may need a way to detect what request is what -- what needed to be constant update (like positions and stuffs), and what can be cached (static UUID for example, LL said they never changed once they're created, is it?)

Sooo....when the clients in the LAN request to connect to SL, any cachable requests will be processed by the proxy server instead of going out on real internet.

Just a thought ^^
_____________________
Nargus Asturias, aka, StreamWarrior
Blue Eastern Water Dragon
Brown-skinned Utahraptor from an Old Time
Haravikk Mistral
Registered User
Join date: 8 Oct 2005
Posts: 2,482
01-16-2008 04:13
SL uses a caps system which I think can support this (cacheable requests that is). So any request for an image, sound or animation can be cached using some information pulled from the cap-message. I don't know how easy this is though, as if I understand it right this would require every message in and out of SL (or rather, your network) to be filtered to see if it is cached or cacheable.
_____________________
Computer (Mac Pro):
2 x Quad Core 3.2ghz Xeon
10gb DDR2 800mhz FB-DIMMS
4 x 750gb, 32mb cache hard-drives (RAID-0/striped)
NVidia GeForce 8800GT (512mb)
Nargus Asturias
Registered User
Join date: 16 Sep 2005
Posts: 499
01-16-2008 07:01
I think that is a functionality of a firewall and proxy, isn't it? Checking every messages in and out through the computer. With specialized script to catch the messages, I don't think it'd be too slow considering the speed gained from local cache, is it? =p
_____________________
Nargus Asturias, aka, StreamWarrior
Blue Eastern Water Dragon
Brown-skinned Utahraptor from an Old Time
Haravikk Mistral
Registered User
Join date: 8 Oct 2005
Posts: 2,482
01-17-2008 03:11
Firewalls/proxies only really look at ports which is at a specific byte position and very quick to read. With SL's messages we're talking about looking at the type of message sent/received (i.e. - what is it?) and then doing cache look-ups etc.

I suppose if there was a way to configure in SL that all requests for cacheable assets should go to X address, then it would greatly simplify things.

The machine at address X on your local network would then have some form of cache-manager program. It would take outgoing requests and look to see if there's an entry for the asset already. These entries would essentially be bit-torrent files, and can be fetched and then used to download an asset from all machines on your local network that have it. If the entry does not exist then it is downloaded from the simulator as normal, and a cache entry created.
_____________________
Computer (Mac Pro):
2 x Quad Core 3.2ghz Xeon
10gb DDR2 800mhz FB-DIMMS
4 x 750gb, 32mb cache hard-drives (RAID-0/striped)
NVidia GeForce 8800GT (512mb)
Nargus Asturias
Registered User
Join date: 16 Sep 2005
Posts: 499
01-17-2008 06:30
Um.....that sound like it might work :o I think making them torrent-styles download would slowdown the download more than increase it though? It might add too much overhead for only 100K images? Why don't we have said cache server fetch the asset as soon as first request come, and have all others continuously reading from the downloading cache instead? :O
_____________________
Nargus Asturias, aka, StreamWarrior
Blue Eastern Water Dragon
Brown-skinned Utahraptor from an Old Time