User Tools

Site Tools


dido:public:ra:xapend:xapend.f_qos:ownership

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
dido:public:ra:xapend:xapend.f_qos:ownership [2021/06/08 14:36]
char created
dido:public:ra:xapend:xapend.f_qos:ownership [2021/10/04 13:40] (current)
50.19.247.197 ↷ Links adapted because of a move operation
Line 1: Line 1:
 ====== F.9 Ownership ​ ====== ====== F.9 Ownership ​ ======
-[[dido:​public:​ra:​xapend:​xapend.f_qos| Return to Quality of Service ]]+[[dido:​public:​ra:​xapend:​xapend.f_qos:start| Return to DDS Quality of Service ]] 
 + 
 +The [[dido:​public:​ra:​xapend:​xapend.a_glossary:​o:​ownership_qos|OWNERSHIP]] [[dido:​public:​ra:​xapend:​xapend.a_glossary:​p:​policy|policy]] controls whether the Service allows multiple ''​DataWriter''​ objects to update the same [[dido:​public:​ra:​xapend:​xapend.a_glossary:​i:​instance|instance]] (identified by ''​Topic''​ + [[dido:​public:​ra:​xapend:​xapend.a_glossary:​k:​key|key]]) of a [[dido:​public:​ra:​xapend:​xapend.a_glossary:​d:​data_object|data-object]]. 
 + 
 +There are two ''​kind''​s of OWNERSHIP selected by the setting of the ''​kind'':​ SHARED and EXCLUSIVE. 
 + 
 +===== SHARED ''​kind''​ ===== 
 +This setting indicates that the Service does not enforce unique ownership for each [[dido:​public:​ra:​xapend:​xapend.a_glossary:​i:​instance|instance]]. In this case, multiple writers can update the same data-object instance. The [[dido:​public:​ra:​xapend:​xapend.a_glossary:​s:​subscriber|subscriber]] to the ''​[[dido:​public:​ra:​xapend:​xapend.a_glossary:​t:​topic|Topic]]''​ will be able to access modifications from all ''​DataWriter''​ objects, subject to the settings of other [[dido:​public:​ra:​xapend:​xapend.a_glossary:​q:​qos|QoS]] that may filter particular samples (e.g., the TIME_BASED_FILTER or [[dido:​public:​ra:​xapend:​xapend.a_glossary:​h:​history_qos|HISTORY QoS]] policy). In any case there is no “filtering” of modifications made based on the identity of the ''​DataWriter''​ that causes the modification. 
 + 
 +===== EXCLUSIVE ''​kind''​ ===== 
 +This setting indicates that each instance of a data-object can only be modified by one ''​DataWriter''​. In other words, at any point in time a single ''​DataWriter''​ “owns” each instance and is the only one whose modifications will be visible to the ''​DataReader''​ objects. The owner is determined by selecting the ''​DataWriter''​ with the highest value of the ''​[[dido:​public:​ra:​xapend:​xapend.a_glossary:​o:​ownership_strength|strength]]''​ 26 that is both “alive” as defined by the [[dido:​public:​ra:​xapend:​xapend.f_qos:​11_liveliness|LIVELINESS QoS]] policy and has not violated its [[dido:​public:​ra:​xapend:​xapend.a_glossary:​d:​deadline_qos|DEADLINE]] contract with regards to the data-instance. Ownership can therefore change as a result of (a) a ''​DataWriter''​ in the system with a higher value of the ''​strength''​ that modifies the instance, (b) a change in the ''​strength''​ value of the ''​DataWriter''​ that owns the instance, (c) a change in the liveliness of the 
 +''​DataWriter''​ that owns the instance, and (d) a deadline with regards to the instance that is missed by the ''​DataWriter''​ that owns the instance. 
 + 
 +The behavior of the system is as if the determination was made independently by each ''​DataReader''​. Each ''​DataReader''​ may 
 +detect the change of ownership at a different time. It is not a [[dido:​public:​ra:​xapend:​xapend.a_glossary:​r:​requirement|requirement]] that at a particular point in time all the ''​DataReader''​ objects for that ''​Topic''​ have a consistent picture of who owns each instance. 
 + 
 +It is also not a requirement that the ''​DataWriter''​ objects are aware of whether they own a particular instance. There is no error or notification given to a ''​DataWriter''​ that modifies an instance it does not currently own. 
 + 
 +The requirements are chosen to (a) preserve the decoupling of publishers and subscriber, and (b) allow the policy to be implemented efficiently. 
 + 
 +It is possible that multiple ''​DataWriter''​ objects with the same ''​strength''​ modify the same instance. If this occurs the Service will pick one of the ''​DataWriter''​ objects as the “owner.” It is not specified how the owner is selected. However, it is required that the policy used to select the owner is such that all ''​DataReader''​ objects will make the same choice of the particular ''​DataWriter''​ that is the owner. It is also required that the owner remains the same until there is a change in ''​strength'',​ liveliness, the owner misses a deadline on the instance, a new ''​DataWriter''​ with higher ''​strength''​ modifies the instance, or another ''​DataWriter''​ with the same ''​strength''​ that is deemed by the Service to be the new owner modifies the instance. 
 + 
 +Exclusive ownership is on an instance-by-instance basis. That is, a subscriber can receive values written by a lower 
 +''​strength''​ ''​DataWriter''​ as long as they affect instances whose values have not been set by the higher-''​strength''​ 
 +''​DataWriter''​. 
 + 
 +The value of the OWNERSHIP ''​kind''​ offered must exactly match the one requested or else they are considered 
 +incompatible. 
 + 
 +Source: [[https://​www.omg.org/​spec/​DDS/​1.4/​PDF | DDS 1.4 Spec]] 
 + 
 +/​**=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- 
 +/* To add a discussion page to this page, comment out the line that says  
 +  ~~DISCUSSION:​off~~ 
 +*/ 
 +~~DISCUSSION:​on|Outstanding Issues~~ 
 +~~DISCUSSION:​off~~ 
dido/public/ra/xapend/xapend.f_qos/ownership.1623177373.txt.gz · Last modified: 2021/06/08 14:36 by char