- 3 -
Multi-agent DBMS (MAD)
The diagram shows the system being modelled, which is a collection of agents, each possessing its owndatabase (DB) and database management system (DBMS). A communication medium is shared by theagents to facilitate communication and data sharing.
“Autonomous execution is central to agency.” Thus, it is important for each agent in our system to possess its own DBMS which is autonomous in all respects. Dependency on a distributed DBMS inorder to gain access to data on another agent’s database would reduce the autonomy of these agents.The system being modelled is essentially a multi-agent environment where agents will each have localdata that is unique to environment and cannot be found on another agent. This also means that there isno replication of data unlike traditional
asynchronous distributed databases
.Data will be partitioned vertically in our model. This means columns (parts of a table) will be placed onagents based on relevance. For example, a relation for a machine can be vertically partitioned so thatcolumns used primarily by the manufacturing department can be distributed to its computer, while therest of the columns can be distributed to the engineering department’s computer.In a multi-user database, multiple statements inside different transactions could attempt to update thesame data. This could lead to the data becoming inconsistent. This is undesirable, and commercialsystems use rather complex techniques to handle concurrent transactions. Another issue is determiningthe location of remote data.In a traditional setup these issues are handled by the different subsystems of a distributed DBMS whichsits on top of all the autonomous DBMS’s to manage remote or distributed transactions. In the absenceof such a piece of software, other means and algorithms must be thought of to handle the issuesmentioned above.The problem this paper will look into is that of concurrency control, a function which is handled by theconcurrency-control manager within the transaction management subsystem in a traditional DBMS .It is assumed that the agents already know where to find the data they need.A naïve concurrency-control manager could use a simple mutual exclusion algorithm like Peterson’s[7, 9]. I will in this paper attempt to adapt this algorithm to a multi-agent setting. This would involveadapting the standard two process algorithm to an
-process algorithm. In doing so, I will also improvethroughput by working on the busy-waiting characteristic of Peterson’s algorithm.