To summarize: before HG:
1.
The home server has a copy of your inventory
2.
When you log on, the server downloads the inventory list (names &
UUIDs) into yor viewer
3.
When you rez an object, your viewer sends the name & UUID of the
object to the server to put in the scene inventory of a region
4. When someone looks at the object, the server uses the UUID to fetch
the object and all its parts from the asset server
Then you HG to a foreign grid and rez an object on the ground.
1. Your viewer sends the name and UUID of the object to the server to
put in the scene inventory of a region
2. The foreign server knows that you are a visitor and requests the
object and all its parts from your home server
3. The object and all its parts are stored in a combination of cache
and asset server, using their original UUIDs
4. When someone looks at the object, its parts are now available
locally to send to viewers
My questions this time are: Is my understanding correct? Is this the
correct order? And the big question:
The viewer has your inventory list (name/UUID pairs) and makes requests
one at a time to rez these objects on the foreign grid. As far as I can
see, the foreign grid does not have a copy of this list, so it cannot
iterate through your inventory (be it full or My Suitcase) to request
all your content. The only items the foreign server can see are the ones
you drag out of inventory one at a time. Isn't this inherently secure?
Without a copy of your inventory list, there is no way to guess what
UUIDs to request from your home server and no way to iterate over all
possible UUIDs. Or is there some way that the foreign grid can request a
copy of your inventory list? If not, then I don't see the My Suitcase
folder making this inherently secure process any better. Why does the My
Suitcase folder exist?
On 2/17/2017 2:27 PM, Mike Higgins wrote:
I am writing an article on hypergrid transfers, an attempt to improve
my own understanding, help others understand and perhaps improve the
hypergrid documentation. The things I want to explain in the article
is the timing: When are permission tests done? And when is content
data actually copied from grid to grid? I think understanding this
will make people more comfortable about moving content around the
metaverse.
I have a bunch of questions. The documentation at
http://opensimulator.org/wiki/Hypergrid does not answer them all. I am
trying to track down Diva to see if she will let me pick her brains. I
have tried posting questions on IRC. (This comic does a good job of
summarizing my opinion of IRC: https://xkcd.com/1782/ ).
So next I'll try asking my questions here. I'll start by asking: Is my
understanding (below) of the roles of the server and the viewer
correct? (Even before hypergrid is involved.)
When you log into your home grid, the server sends a copy of your
inventory list to your viewer. This consists of (mainly) a list of
names and UUIDs. The UUIDs are links to objects in the asset server,
which in turn are structures made up of many items linked by UUIDs. At
the ends of all these links are texture maps, mesh objects, sounds,
animations, etc.
When you rez an object in-world, the inventory entry (just the name
and UUID) is copied from your avatar inventory to the scene inventory
of the region you are in. If you don't have COPY permission to the
object, the inventory entry is removed from your avatar inventory. The
actual data describing the object isn't involved in this transfer. It
stayed where it was in the asset server, was not moved, was not
deleted. The data there wasn't even read until someone looked at the
newly rezzed object and viewers started making requests so they could
render images of it.
Is this understanding basically correct? If my understanding of this
is correct, I can move on to hypergrid questions.
_______________________________________________
Opensim-dev mailing list
[email protected]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev