Guys,

I have been thinking about the data exchange states this morning and have
come up with this "simple" diagram for a single object created on a node:


NODE         Data Exchange        CA
                  |
------------------------------------
                  |
New Object U -----------> Object P
    |             |
 Modified         |
    |             |
   \/             |
 Obejct U --------------> Object P
                  |
                  |
                  |
 Object C <-------------- Object C
                  |          |
                  |       Modified
                  |          |
                  |         \/
 Object P <-------------- Object U
                  |
                  |
                  |
 Object C --------------> Object C
                  |


Where:  U=Updated data exchcnage state
        P=Pending data exchange state
        C=Commited data exchange state

So when a new object is created or modified it is given a data exchange
state of "U".
When it is exchanged it is given a state of "P" at the receiving node.
At the next return exchange it is given a state of "C" at each node.
The object will always be exchanged if it has a state of "U".
The object will always be exchanged and committed if it has a state of "P".

Are these all the required data exchange states ? I know Michael talked
about a rejected state, but I am not sure I understand that one.

Also, we were talking last week about having a data base field of "Data
exchange state" with contents like "0000000CPOUPC". I am not not really
sure if this is a good way to go. Perhaps a seperate data exchnage table
is a better idea with the object ID, object type and data exchange state.
I am thinking about complexity and speed of the code 'v' SQL statement to
read and update the "000000000CPOUP" type record 'v' a linked table.

If we do go for another table, on the CA there would be (("number of
objects" x "number of nodes") + "number of global objects") records and on
each node there would be "number of node objects" + "number of global
objects" records.

Perhaps we are going round in circles a bit here with this, but it is best
to get the design right !

Any thoughts ?

Chris...


-------------------------------------------------------
This SF.Net email is sponsored by the 'Do More With Dual!' webinar happening
July 14 at 8am PDT/11am EDT. We invite you to explore the latest in dual
core and dual graphics technology at this free one hour event hosted by HP, 
AMD, and NVIDIA.  To register visit http://www.hp.com/go/dualwebinar
_______________________________________________
OpenCA-Devel mailing list
OpenCA-Devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openca-devel

Reply via email to