hint cache

Nathan J. Strange ([email protected])
Tue, 30 May 95 17:45:50 EST


>
>
> While I have a better understand of how "hint" would operate, I still
> disagree about it belonging in the object specification. My first question
> would be, why does the client or server *need* a hint? Say the client
> application keeps a log of how often it has recieved a request for a
> particular object. To the client, an object is an object regardless of
> whether it is a descrete (.wrl) or contained within a (.wrl). If it notices
> that it has grabbed the same object 3 times in the last 5 days, it may
> decide to keep a local copy of it. (ie: the client is a "smart" replicator).
> Next time the object is fetched, the client only needs to load it from local
> storage. That is smart replication on the client side. I suppose you can
> guess how smart replication on the server side would work. With both of
> these working together, you can have very efficient access to objects. This
> would be totally separate from the idea of defaults and need not clutter the
> object description language with more keywords. In this way the ODL stays
> just that, a description of the objects and does not try to help or
> orchestrate the components that serve and receive it. And, as with your
> desire, nothing about the physical appearance of the object is changed, just
> the effieciency with which it is accessed.

What I see "hint CACHE" being useful for is when I want to reduce the
load on my server....

Say I have a large sprawling mansion for my "matrix-site" Several of
these rooms have a lamp in them. Each lamp in my mansion is identical.
Each room with a lamp in it has a WWWInline to a lamp.wrl...

If I can put a hint cache in the WWWInline, then I can have the browsers
keep lamp.wrl around after the first lamp is encountered, so that the lamp
doesn't have to be downloaded each time someone enters a room with a lamp...

If this lamp is very detailed, RealCoolLamp.wrl... and my server is a
lowly 386 running windows... then I'm not going to want the browser
downloading the lamp even three times before it decides that maybee it
wants to keep the lamp definition around...

Also a "hint NewSite" would also be useful so that if the person just
came from a site where lamp was an aladdin lamp and at my site lamp
is an ornate tiffony lamp, then the browser would get the hint that I
want the visitor to see my beloved lamp, so clear out the previous
definition of lamp (if any)

Or maybee a NewSite node could take car of several things...

NewSite {
up 0 1 0
objects CLEAR
archive "http://vrml_archive.somewhere.com"
archive "ftp://vrml.whatsamatta.edu"
archive "cd:COOLSTUFF"
}

the archive field was just a last minute inspiration.. it would
specify alternate archives that have common objects used here... I haven't
thought this one through though... so I'm sure there is something
sinester and wrong about it....

-Nathan