Print

Print


Sorry for the long absence.

Keep in mind - the choice of a different word, "sponsor", was made on purpose because client sponsorship is different from object ownership.

>What client or clients "own" an object?  

When thinking of ownership in terms of similar systems such as DIS or HLA, ownership means the exclusive right to update the owned data. Since any WebLVC client can update any object attribute data, there is no exclusive right to update, and therefore no concept of ownership - among WebLVC clients and WebLVC objects.

When interoperating with other systems such as DIS and HLA which do have exclusive ownership, consider that the WebLVC server owns objects created by it's clients. The WebLVC server should reject client modifications to data the server doesn't own (it would be rejected anyway by the DIS or HLA owner and leave the original object and WebLVC modified copy inconsistent.

Presently ownership transfer between the WebLVC server and foreign systems like DIS and HLA is not addressed by the WebLVC standard.

Before we rush to a simple solution, we should recognize there is a difference in how DIS and HLA model ownership and ownership transfer.

DIS models ownership based on entity. So a simulator not only owns the entity object itself, but any related and dependent objects including emitters, emitter beams and IFF. I'm not sure about attached objects, but I suspect not. Ownership of all of these for 1 entity is indivisible and transferred as a single unit.

HLA models ownership based on object. So different simulators could own different emitters and emitter beams, etc. for the same entity. Ownership of component objects may be distributed, and each component object must be transferred separately.

So we would need to decide whether to model ownership like DIS, or like HLA. My personal opinion is the HLA model makes more sense for WebLVC.

>How does this work with object being deleted when all owners disconnect?  

Assuming the WebLVC server owns the object (see above discussion), e.g. when there is no inter-operation with DIS or HLA, etc. then when the last client SPONSOR disconnects the WebLVC server will delete the object and issue an ObjectDeleted message. Clients which are not sponsors of an object have no effect when they disconnect.

If the object were owned by a foreign DIS or HLA system, the WebLVC server (obviously) could not delete the object (or the real owner would reject the attempt, I assume).

>Does the latter always happen when any or all owners disconnect, unless there are connected sponsors?  

I'm a little confused by the question - how do you define owners and sponsors in your question? Client ownership of objects isn't defined.

I think the answer might be: "the WebLVC server deletes an object when either: the last sponsor disconnects (and an ObjectDeleted message is issued, for the benefit of non-sponsor clients that might be subscribed to and monitoring the object), or an ObjectDeleted message is received by the server".

>Do the sponsors then become owners?

No. I'm not sure I understand this question either.

This sounds like a good discussion for the next WebLVC version (?) or maybe an issue for a WebLVC PSG. I'll add this to the meeting agenda.

########################################################################

To unsubscribe from the SAC-PDG-WEBLVC list, click the following link:
https://discussions.sisostds.org/index.htm?SUBED1=SAC-PDG-WEBLVC&A=1