Michael's Research for Berkeley DB

Global Transaction Manager Framework Amazon Berkeley DB is a well-known database management service provider. It is developed by Sleepycat Software and it has been quite successful.
Berkeley DB contains implementations in a wide variety of platforms, including C, C++, and Java.
In a class I took we were assigned the task of writing a GTM, or global transaction manager, so that the system can do distributed database management in the presence of failures.

Every distributed database is associated with an LTM, or local transaction manager, to manage the local database. Anyone working in the database field knows that getting a database management system (DBMS) to work correctly without having to consider failures is extremely simple.

Taking into account the possibility of failures, however, makes the system ultra extremely (am trying to think of a word even more intense than extremely...) difficult to build. The point is that every distributed database must agree upon an action for an unresolved transaction; it either aborts or commits. A GTM or LTM could fail at any point in time (could get down to instruction-level failure).
In building the system we need to consider every possible failure, or as many of them as possible. Very often switching two lines of code yields totally different results.
With many years of experience in programming and attention to fine detail, we were able to build a successful system. We also wrote sample applications that could communicate interactively with the LTMs, which was used to test the failure-handling aspect of our system.

The following is a diagram describing the model of our system and the message types:

Global Transaction Manager Framework
Post your comment below.
Anything is okay.
I am serious.