Go Back   ZeroC Forums > Help Center

Reply
 
LinkBack Thread Tools Rate Thread Display Modes
  #1 (permalink)  
Old 07-03-2007
jli125 jli125 is offline
Registered User
 
Name: Jin, Li
Organization: The University of Auckland
Project: Intelligent Replication Middleware
 
Join Date: Mar 2007
Posts: 5
how to detect conflict..

Hi,

We are building up an infrastructure based on Ice. one of the problem is to deal with disconnected operation. The idea is I want to bring disconnected replica back to consistency after a disconnected replica reconnects to the the group. Assume that there are several replicas (A,B,C) in the replica group, if A makes some changes, those changes should be multicasted to the rest in the group (jgroup does this for us). i.e B,C in the group should be updated. But if A is disconnected from the replica group, assume the situation that B,C make some changes online, and A makes some changes "offline" as well. After A reconnects to the group, the system should keep them consistent. for example, if i am making a share calender, it will be fine for A,B,C if they add or remove events on different dates, as A,B,C touch disjoint data regions. However the problem is that if A,B,C edit event on the same date, there must be some conflicts occured. My goal is to let our infrastructure to detect those kinds of conflicts, which means that developers only need to put minimal effort on resolving conflict problems or supporting disconnect operation for their applications based on our infrastructure.

I am thinking if there is a way to place all changes into some storage, volatile or persistent to keep track of changes. Like in my example, system can be in touch with two storages, after A reconnected to the replica group. One is for the disconnected replica A and the other one is for connected replcas B,C. Upon reconnecting, B.C will replay A's changes from A's storage, and A will replay B,C's changes from B,C's storage. But the problem is how the system knows what methods A or B or C operated and how to detect conflict...I dont know if my idea is doable or not, or there is any easier or possbile way to achieve my goal.....Can you guys help me out? thanks for your time!!!

p.s i am using Ice 3.1.1

kind regards

Jin
Reply With Quote
  #2 (permalink)  
Old 07-03-2007
michi's Avatar
michi michi is offline
ZeroC Staff
 
Name: Michi Henning
Organization: ZeroC
Project: Ice
 
Join Date: Feb 2003
Location: Brisbane, Australia
Posts: 912
A common way for doing this sort of thing is maintain an update count with each record that records the last update that was successfully mirrored by the peers. When peers lose connectivity and make off-line updates, they set a dirt bit on the record and, when they resume connectivity, compare the update counts of all records with the dirty bit set to detect a conflict.

Some scheme along those lines might help with what you are trying to do.

Cheers,

Michi.
Reply With Quote
Reply



Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On

Similar Threads
Thread Thread Starter Forum Replies Last Post
Two function conflict ? rc_hz Comments 4 11-30-2006 11:37 AM
is it a bug or conflict ? fw_csha Help Center 2 05-20-2005 09:50 AM
How to detect an invalid proxy? ssergei Help Center 11 02-09-2005 05:41 AM
ice and ace thread conflict Clarke Fang Bug Reports 2 11-10-2004 09:35 AM


All times are GMT -4. The time now is 11:59 AM.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.0.0
(c) 2008 ZeroC, Inc.