Concurrency of objects across a network

Posted on 2008-10-23
Medium Priority
Last Modified: 2012-05-07
I'm interested in finding out if anyone has worked on systems or has possible suitable options to keep objects in applications running on different pc's in sync. Bascially if two people have the same object loaded in their applications and one updates information on it, I would like ideas or methods so that after saving the objects they would broadcast their changes over a local network so that others will get updated information.
Obviously people don't know my complete network setup, but I'm hoping their are some good general methods for doing this out there.
Question by:mikelittlewood
  • 4
  • 2
LVL 38

Expert Comment

by:Geert G
ID: 22784140
i guess you would have a centralised place where you get/save your data

If you use an oracle database to read/save the objects
there is the DBMS_ALERT package
this allows the application to subscribe to events on the database like objects being changed

it does need a bit of work ...

LVL 15

Author Comment

ID: 22784187
As i mentioned i didn't give my whole current setup but maybe I should give a bit more information.

I do already have a centralised dataserver that all applications connect to for new database keys and this is also the place I was going to do the broadcasting of changes from. I'm just interested in whether or not people have a good method for the transfer of data, format, etc etc

Also I use MS SQL 2000 at the moment though hopefully in the future we will be moving to MS SQL 2008
Obviously I won't have the use of that Oracle package but maybe there is something similar in MS SQL? Though who am I kidding, this is microsoft :o) This though isn't necessarily needed as the dataserver will be the one publishing all changes across the network, I'd rather leave the database quite dumb.
LVL 38

Expert Comment

by:Geert G
ID: 22784217
I looked for this in that thing MSSQL2000  they call a database.

For short I gave up.
What we do is create a thread, this calls a stored procedure on the db in the DBMS_ALERT package
The stored proc can return on specified times (we set it to 1 day)
and the return value is time_out or the event that triggered the stored proc.
in case of time_out nothing happened, otherwise ... data changed

for stopping the db we let the DBA send a message (by script off course) to pause the events for 2 minutes
as to let the DBA restart the database and not let our apps go crazy

i think you should include MSSQL 2005 / 2008 to let other experts see this question
and to find out if this is possible on MSSQL
Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

LVL 15

Author Comment

ID: 22784439
I'll hold on for a bit here to see if anyone knows any standard techiniques, but thanks for the comments.
LVL 14

Accepted Solution

SteveBay earned 500 total points
ID: 22797026
I don't know about "standard techniques" so to speak but I am very interested in this topic as I would like to ultimately implement similar solution. Preferably one that is not DB Server dependant

Currently I have a semaphore tables that keeps track of all object DB writes. The clients run a thread off of a timer event that checks the semaphore and updates itself if it finds a self referencing record in the semaphore table. The trick is: knowing when all other instances of the object have checked in so that it may delete the "used-up" semaphore. I do this buy keeping an instance count in objects db record.

Does this sound convoluted? It is! Though it works pretty well as long as there aren't too many client crashes which tend to leave orphaned semaphores that need to be manually cleaned up from time to time. Also this does not address clients creating new instances of the object. For now this is not a problem I need to solve but eventually it's going to come up.

Im sure there is a better way. I have been tempted to write a Service App that would keep track of the semaphore items and send broadcast messages to the clients however I do not have a good design in mind nor the time to chase it right now.

Perhaps my comments will inspire some discussions of better techniques if not "standard techniques."

I am eager to hear from some of the smarter experts out there.
LVL 15

Author Comment

ID: 22811995
I'll let you know how I go SteveBay
LVL 15

Author Closing Comment

ID: 31631836
Needed some more examples or suggestions from other experts, but this got me started.

Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

This article explains how to create forms/units independent of other forms/units object names in a delphi project. Have you ever created a form for user input in a Delphi project and then had the need to have that same form in a other Delphi proj…
Hello everybody This Article will show you how to validate number with TEdit control, What's the TEdit control? TEdit is a standard Windows edit control on a form, it allows to user to write, read and copy/paste single line of text. Usua…
Hi, this video explains a free download that you can incorporate into your Access databases, or use stand-alone for contact management. Contacts -- Names, Addresses, Phone Numbers, eMail Addresses, Websites, Lists, Projects, Notes, Attachments…
If you are looking for an automated solution for backup single or multiple Office 365 user mailboxes to Outlook data file, then you can use Kernel Office 365 Backup & Restore tool. Go through the video to check out the steps to backup single or mult…
Suggested Courses

586 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question