Free Essay

Distributed Transaction

In:

Submitted By shanky2407
Words 4732
Pages 19
A Distributed Transaction Management Scheme for Multidatabase
Systems*
Xinfeng Ye,
Department of Computer Science,
University of Auckland,
New Zealand.
Abstract
finsaction management in a multidatabase sys- tem must ensure global serializability. Local seri- alizable execution is, by itself, not suficient to en- sum global serializability, since local serialisation or- ders of subtmnsactions of global transactions must be the same at all systems. In this paper a distributed tmnsaction management scheme is introduced. The scheme maintains autonomy of the local database systems. It is free from global deadlock, and, guar- antees fairness in the execution of the tmnsactions in the system.
1 Introduction
A multidatabase system (MDBS) is a collection of pre-existing autonomous, and possibly heteroge- neous, local database systems (LDBSs). Transac- tions in an MDBS are of two types:
Local transactions: Those transactions that only access data m,anaged by a single LDBS.
Global transactions: Those transactions that ac- cess data managed by more than one LDBS.
Transaction management in the MDBS is hierar- chical. Each LDBS controls the local transactions and the subtransactions of the global transactions at its site, and assures serializable execution at that site. The MDBS software controls the global trans- actions, and assures global serializability.
Global serializability guarantees the correct con- current execution of global transactions [4]. Global serializability requires that the local serialisation or- ders of the subtransactions of global transactions be the same at all LDBSs where the global transactions execute. It is difficult to achieve this because the
LDBSs do not release information concerning their local serialisation orders.
TPransaction management in the MDBS also has to deal with the possibility of global deadlocks. Dead- lock detection in an MDBS is difficult and compli- cated [l]. Therefore, it is highly desirable to incorpo- rate methods assuring freedom from global deadlocks into a transaction management scheme [I].
Most schemes that ensure global serialieability in an MDBS use a Centralised global transaction man- ager (GTM) to coordinate execution of the global under grant A18/XXXXX/62090/F3414029.
'This work is supported in part by Auckland University
John A. Keane,
Department of Computation,
UMIST,
Manchester, UK. transactions 3, 5, 8, lo]. A centralised scheme is
P 91. In [l] a distributed scheme is introduced. How- ever, the scheme is not fair in the sense that a global transaction can be continuously aborted if it con- flicts with some other transactions. Therefore, a global transaction may never have a chance to be executed. In this paper a distributed transaction manage- ment scheme is introduced. The scheme is free from global deadlock and does not require knowledge of the transaction management methods of the LDBSs.
In the scheme each LDBS has a GTM. The GTM on each site commits or aborts the global transactions based on its local information. The scheme is more flexible than the one in [l], and guarantees fairness in the execution of the transactions. rone to bott \ eneck problem in distributed systems
2 Transaction Management in MDBS
.-The MDBS software is a layer above the LDBSs.
It coordinates the global transactions. Local trans- actions are submitted to the LDBSs directly. There- fore, the MDBS software is unaware of the existence of the local transactions. Global transactions are submitted to the MDBS. They are decomposed into a set of subtransactions. Each subtransaction is ex- ecuted at one LDBS, and is treated as if it were a lo- cal transaction. A global transaction commits when all the subtransactions of the global transaction have completed their operations successfully. If any of the subtransactions aborts, then the global transaction aborts. Therefore, the operations of a subtransac- tion can only be committed when the global trans- action commits. In the following a transaction refers to either a local transaction or a subtransaction.
Transactions can be modelled as a sequence of read and write operations, denoted as r(x) and w(x) respectively, where xis the data item to be accessed.
A local execution consists of all the operations per- formed at an LDBS. Two operations conflict if both operate on the same data item and one of them is a write. Two transactions conflict directly if they contain conflicting operations. For two transactions,
TI and T2 that conflict directly, Ti precedes T2 (de- noted as Ti + T2) in the execution order if TI is executed before T2 in terms of the conflicting op- erations. The precedence relation is transitive. A local execution is serializable (also referred to as lo- cal serializability) if all the conflicting transactions have the same precedence order on all the conflid- ing operations. The serialisation order refers to the precedence relation between the transactions in a se- rializable execution.
Let s1 and 5-2 be two subtransactions at an LDBS. s1 and s~ indirectly conflict if they do not directly conflict and there are some transactions, fi, ..., fm. such that s1 -* f1 + ... 7 fm, + s2. Two transac- tions are said to be conflact with each other if they conflict either directly or indirectly.
Ezample 1: Assume an MDBS consists of two sites, 1 and 2. Data item a is stored at site 1 and data items b and c are stored at site 2. Global transactions G1 and G2 are defined as:
Gz : wz(a)wz(c)
A local transaction L3 at site 2 is defined as:
Let G~J and Gl,2 denote the subtransaction of GI at sites 1 and 2 respectively. Similarly, G2,l and
Gz.2 are the subtransactions of G2 at sites 1 and 2.
Suppose that the LDBSs at sites 1 and 2 generate the following executions:
GI : r1 (a)wl (b)
L3 : T3(b)W3(C)
At site 1: el = rl(a),wz(a)
At site 2: e2 = r3(b),wl(b),mz(c),w3(c)
G~J and G2,l directly conflict at site 1; and the order between them is G1,1 -+ GZJ. G1 2 and G2,2 directly conflict with L3 at site 2; and the order is L3 +
G1.2 and Gz,z + L3. Thus, G1,2 and G2,z indirectly conflict at site 2; and the order is G2,2 + G1.2.
In Example 1, although at both sites the execu- tions are locally serializable, the executions are not globally serializable. This is because the serialisation orders between the subtransactions of G1 and G2 are dif€erent at the two sites. The problem is caused by the execution at site 2, where the order of perform- ing the operations is different from the serialisation order between Gl,2 and Gz,z. The difference is due to L3 that introduces indirect conflict between Gl,2 and G2,z and forces Gz.2 to be serialised preceding
The problem described above cannot be solved by limiting the concurrent execution of the global transactions. This is because the MDBS is unaware of the existence of local transactions, thus it can- not detect indirect conflicts between the subtransac- tions that are caused by the local transactions. In order to solve the problem, [SI proposed a scheme which forces the subtransactions to conilict directly.
In the scheme an artificial data item is inserted to each LDBS. This data item is maintained by the
LDBS as a regular data item. Each subtransaction is extended to include a write access to that data item at the corresponding LDBS. This access forces the subtransactions to conflict directly.
If the LDBSs use some sort of locking mechanism, then global deadlock could arise. Global deadlock refers to the situation that more than one global transaction are waiting for each other, and none of them can make progress. A global deadlock involves more than one LDBS.
Each LDBS has some mechanisms to prevent and resolve local deadlock. This, however, does not en- sure that global deadlock will not occur.
Example 2: Consider an MDBS where data items a and b are at site i and c and d are at site j. The following global transactions are submitted:
GlJ.
Let L3 and L4 be two local transactions that are submitted at sites i and j respectively:
Let ei and ej be the executions at sites t and j re- spectively: ~53 : ~3(a)rs(b) L4 : r4((c)r4((t) e; = r3 a w1 a) w2(b r3 b) ej = r4t~:wz1C):wi(d~:~4~~)
A global deadlock may occur as follows: At site a,
Gl,; waits for data item a locked by L3. L3 waits for the data item b locked by Gz,,. Therefore, GI,, is waiting indirectly for Gz,; at site i. Similarly, Gz,j is waiting indirectly for Gl,j at site j. Gl,j releases d when GI commits. However, G1 will not commit until Gl,i completes. This means that Gl,j (GI) is waiting for GI,; to complete. Similarly, Gz,; (Gz) is waiting for G2 . to complete. Since GI,; is waiting indirectly for dz i, G1 is waiting for G2 to commit, and vice versa. Aence, there is a global deadlock.
3 The MDBS Model
The completely distributed system architecture in
[l] is used here. The MDBS software at each site consists of a GTM and a set of servers. The GTMs at different sites can communicate with each other.
Global transactions can be submitted to any of the
GTMs. The GTM to which a global transaction is submitted becomes the coordinator for this transac- tion. Each global transaction is assigned a times- tamp. The timestamps are unique system-wide, and define a total order among the global transactions.
The timestamps generated at each site are in mono- tonically increasing order. The timestamp of a trans- action G is denoted as time(G).
The coordinator of a global transaction decom- poses the transaction into a set of subtransactions, each of which is sent to a participating site where it can be executed. All subtransactions of the global transaction carry its timestamp. The coordinator controls the commit or the abort of the global trans- action. If a global transaction is aborted due to the violation of global serializability, it will be restarted with the same timestamp.
When a GTM receives a subtransaction, it creates a server. A server is a process assigned to a subtrans- action by a GTM to act as an agent for the global transaction. A server submits the operations of the subtransaction to the LDBS, monitors its execution and interacts with the local GTM. If a server and the coordinator of the global transaction reside at differ- ent sites, then the local GTM of the server controls communication between the server and the coordi- nator. In this paper, server and subtransaction are used interchangeably. The coordinator of a global transaction is also called as the coordinator of the subtransactions (servers) of the global transaction.
Interaction between the servers and the LDBSs occurs (a) when the servers send the operations of the subtransactions to the LDBSs and (b) when the
LDBS reports the completion of the operations. A server can instruct a LDBS to commit or abort the operations. The following assumptions are made:
1. Each LDBS guarantees local serializability.
2. All local executions are deadlock-free. That is, either deadlock does not-occur in the LDBSs, or if deadlock occurs then it is detected and resolved locallv. GI : wi (4 Gz : w2 (61~2 (c) 3. All IoGal executions are fair. That is, the opera- tions submitted to a LDBS will be completed eventually. 4. Once an LDBS informs a server that the opera- tions of the subtransaction have been completed, the LDBS will not abort the operations unilater- ally. 5. The LDBSs do not inform the MDBS software of the local serialisation orders.
4 The Scheme
In a similar way to 61, the scheme in this paper tions on a LDBS. In contrast to 6 the global trans-
To enforce the direct conflict, each LDBS main- tains a data item dummy. A write to dummy is added to each subtransaction. This forces the sub- transactions on a LDBS to conflict directly. The conflict makes it possible for the GTM to know the serialisation order of the subtransactions at a site.
The main ideas of the scheme are as follows:
1. When the operations of a subtransaction are com- pleted, the coordinator is informed. When all the subtransactions have completed successfully, the cc- ordinator commits the global transaction. If one of the subtransactions aborts at a site, then the coor- dinator aborts all other subtransactions.
2. Each server must request the LDBS perform a write to dummy first. After the LDBS completes this write, the server submits the operations of the subtransaction to the LDBS.
3. Only one server is allowed to submit w(dummy) to an LDBS at any time. The order of committing the operations of the subtransaction must be the same as the order of submitting wfdummy) to the LDBS.
4. When the coordinator of global transaction G is informed that one of its subtransactions has com- pleted, the coordinator requests the other subtrans- acpns of G be executed immediately. When the request is received by the GTM at a site, the GTM aborts all the.subtransactions which precede G and whose timestamps are greater than time(G). Abort- ing transactions prevents global deadlock.
The details of the scheme are explained now.
Servers are in one of several states. A GTM creates a server when the GTM receives a subtransaction.
The created server is in the dormant state. A GTM activates a server by changing.its state to register when no other servers are in the register state.
When a server enters the register state, it sub- mits w(dummy) to the LDBS. When the operation is completed by the LDBS, the server informs the
GTM and enters the active state. A server in the active state submits the operations of the subtrans- action to the LDBS. When the operations of a sub- transaction are completed by the LDBS, t?ye server sends a request-to-commit message to itwcoordina- tor and enters the prepared-to-commit state. The request-to-commit message informs the coordinator that the subtransaction has eompleted. When the servers of a global transaction have all entered the prepared-to-commit state, the coordinator instructs the servers to enter the ready-to-commit state.
A server sends a ready message to the coordinator when it enters the ready-to-commit state. A server in the ready-to-commit state can only be aborted by the coordinator of the server. The ready-to-commit state enforces the direct con B ict between the subtransac- actions are not subject to glob ah eadlock. is necessary because some of the servers may have been aborted due to the local deadlock prevention measures after they entered the prepared-to-wmmit state. Therefore, the ready-to-wmmit state allows the Coordinator to test whether all the servers are still available to commit. If the coordinator receives ready message from all its servers, then the coordina- tor asks the servers to commit. If a server is aborted before it enters the ready-to-commit state, then the coordinator of the server will receive an abort mes- sage. In this case the coordinator will abort all the subtransactions. At any state, a server aborts itself if it receives an abort message from the GTM. If a server is aborted to prevent local deadlock, then an abort message is sent to the coordinator of the server. When a cc- ordinator receives an abort message, the coordinator asks all its servers to abort.
The operations of the coordinators and the servers are described below in an event driven style.
Coordinator of a Global lhnsaction:
1. when received a global transaction:
2. assign timestamp to the transaction;
3. decompose the transaction;
4. send each subtransaction to corresponding
LDBS;
5. when received abort message:
6. send abort message to all LDBSs with subtransactions; 7. when received first request-to-commit message:
8. send immediate-ezecution request to all
LDBSs except one from which request-to- commit message is received;
9. when request-to-commit messages received from all servers:
10. send continue message to all LDBSs where servers reside;
11. when ready received from all servers:
12. send commit message to all LDBSs where servers reside;
Server:
13. when change to register state:
14. submit w(dummy) to the LDBS; /* Enter register state. */
15. when w dummy) is completed by the LDBS:
16. send jnish-register message to local GTM;
17. submit operations of subtransaction to the
LDBS; /* Enter active state. * /
18. when submitted operations are completed by
19. send request-to-commit message to local
GTM ; /* Enter prepared-to-commit state. * / send ready message to local GTM; /* Enter ready-to-commit state. */ request the LDBS to commit the operations; request the LDBS to abort the operations; the LDBS:
20. when continue message is received:
21.
22. when commit message received:
23.
24. terminate;
25. when abort message received:
26.
27. terminate;
A GTM has two tasks. One to act as coordinator of global transactions being submitted to the GTM. The other to create and control the servers at a site.
To guarantee global serializability, a GTM has to know the serialisation order of the subtransactions.
In this paper a GTM only activates a server when no servers are in the register state (i.e. when no w(dummy) is waiting to be completed). Thus, only one server can submit w(dummy) to the LDBS. As a result, dummy is accessed in the same order as the subtransactions are activated; and the order is the serialisation order of the subtransactions.
In order to achieve global serializability, a GTM only allows a subtransaction a to send a request-to- commit message to a’s coordinator when all sub- transactions which precede a have committed or aborted. This measure ensures that, if the subtrans- actions of mme global transactions have different 1- cal serialisation orders, then the global transactions will not be committed.
In the scheme, a transaction with a larger timestamp is aborted if the transaction might be blocking a trans- action with a smaller timestamp to commit. Abort- ing a transaction with a larger timestamp ensures that all the transactions have a chance to be exe- cuted eventually.
Global Ransaction Manager:
28. when subtransaction st is received:
29. create a server for st;
30. if there are no servers in the register state
Global deadlock must be prevented. then change st to register state; else set st to dormant;
31. when received finish-register message:
32. activate a server which is dormant;
33. when received request-to-commit message from
34. if all subtransactions which precede st have server st: committed or aborted then forward the message to coordinator of else hold the message;
St;
35. when received ready message from a server:
36. forward message to the coordinator of server;
37. when received one of continue/commit/abort from coordinator of server:
38. forward the message to the server;
39. when received immediate-execution from coordinator of st
40. for each server which precedes st and whose timestamp is larger than time(st) do then send abort message to server and if server is not ready-to-commit the coordinator of the server respectively; end-for
41. if st is dormant then activate st;
42. when server st has committed or aborted:
43. check if received request-to-commit from server st’ which follows st in the serialisation order; if such a message has been received then forward message to coordinator of st’;
Although each GTM forces the subtransactions to be committed in their serialisation order, the scheme allows the concurrent execution of the subtransac- tions of different global transactions at a site. The concurrent execution of the subtransactions is only restricted when they access the dummy data item in
44.
the LDBS. This restriction allows the GTM to know the serialisation order of the subtransactions without violating the autonomy of the LDBSs.
All subtransactions can be ordered according to the precedence relation. However, since some of the precedence relations between the transactions do not affect the operations of the transactions [2]. More than one server may be in the prepared-to-commit state if the operations of the servers are not influ- enced by each other. Hence, sometimes it is nec- essary for the GTM to delay the request-to-commit message (lines 33-34).
5 Correctness of the Scheme
Correctness is proved by showing that the scheme satisfies three properties: (a) global serializability,
(b) deadlock-free, and (c) fairness.
Theorem 1: Global serializability is guaranteed.
Proof: Assume global serializability is not satisfied.
This means that the subtransactions of some com- mitted global transactions have different local seri- alisation orders at some LDBSs. Without lose of generality, the following assumptions can be made:
1. Two obal transactions G1 and Gz, such that time&) < time(Gz), have committed.
2. The subtransactions of GI, G1.1 and Gl,z, are executed at sites 1 and 2 respectively.
3. The subtransactions of Gz, Gz,l. and (22.2, are executed at sites 1 and 2 respectively.
4. The serialisation orders at sites 1 and 2 are
GI,~ -* Gz,l and Gz,z -* G1,z respectively.
Since G~J 4 Gz,l holds at site 1, Gz 1 cannot send a request-to-commit message before the opera- tions of G~J are committed (lines 33-34). The co- ordinator of a global transaction tries to commit the transaction when it receives the request-to-commit message from all its subtransactions. This means that Gz cannot commit until G1 commits. Since
Gz,l cannot send a request-to-commit message to its coordinator before G1 commits, no subtransactions of G2 can be in ready-to-commit state before G1 com- mits (lines 9-10 and 20-21). Applying the same argument at site 2, G1 cannot commit until Gz com- mits. From lines 18-19, when the operations of
G~J are completed at site 1, G~J sends a request-to- commit message to its coordinator. In turn, the co- ordinator will send an immediate-execution request to site 2 (lines 7-8). Since time(G1) < time(Gz),
Gz,z is aborted at site 2 (lines 39-40). Therefore,
Gz,z -* G1,z must not hold at site 2. This means that it is impossible to find a pair of global transac- tions which violate global serializability. Hence, the assumption that the global serializability is not sat- isfied is wrong. Thus, the theorem holds.
Theorem 2: The scheme is deadlock-free.
Proof: When a deadlock occurs, a cycle can be found in the wait-for graph [4, 71. Without loss of gener- ality, it can be assumed that a cycle is found in the wait-for graph (see Figure-1).
In the cycle G,,3 is the subtransaction of global transaction G, at site j, and time(G1) < time(G2).
Two cases involving transactions waiting for each other need to be to considered:
1. A transaction in the cycle is ready-to-commzt.
A subtransaction can only be in the ready-to- commit state for a limited period. This is because a Figure 1: Wait-for Graph coordinator will receive the ready or abort messages within a limited time. Therefore, the coordinator will instruct the subtransactions either to commit or to abort within a limited time. Hence, the cycle will be broken when the transaction commits or aborts.
2. No transactions in the cycle are in ready-to- commit state.
The cross-site wait-for relation only holds for the subtransactions of the same global transaction. It means that a subtransaction in prepared-to-commit state is waiting for another subtransaction to enter prepared-to-commit state. In the cycle, G2 1 + G2.2 and Gl,2 -+ G1.1 are cross-site relations. Therefore,
G2,l and G~J must be in the prepared-to-commit state. From lines 18-19 and 7-8, the coordinator of G2,l and Gl,z will send an immediate-mecution request to sites 2 and 1 respectively. However, the request from the coordinator of G2,l will not affect
Gl.2 at site 2. This is because time(G1) < time(G2)
(lines 39-40). Since G2,l is not in the ready-to- commit state, from the scheme (lines 39-40), GZ,~ will be aborted when the request of the coordina- tor of G1 2 is received by site 1. Thus, the cycle is broken, &d G1,l will be executed.
In both cases, the cycle cannot last indefinitely.
Hence, the scheme is free from global deadlock.
Theorem 3 The scheme is fair.
Prooj! From the assumption in section 3, the scheduling of the LDBSs is fair. Hence, a server will reach the prepared-to-commit state eventually.
According to lines 39-40, a GTM aborts a global transaction if the execution of the transac- tion might be blocking the execution of a transac- tion with a smaller timestamp. Clearly, the eldest global transaction will never be aborted. Therefore, the eldest transaction will be committed as long as the operations of one of its subtransactions can be completed by the LDBS. This is because, if one of the subtransactions is completed, then the other sub- transactions will be executed when the immediate- ezecution requests are received by the sites where the subtransactions reside. Since (a) the timestamps assigned to the new transactions increase monoton- ically, and (b) an aborted transaction will be re- started with the same timestamp, an aborted trans- action can become the eldest transaction in the sys- tem eventually. Therefore, any transaction can be executed eventually. Hence, the scheme is fair.
6 Conclusions
In this paper a transaction management scheme for MDBS has been proposed. The scheme is dis- tributed. Each site manages the global transactions based on locally available information. Therefore, it has the potential to provide a higher degree of fault tolerance, and allows incremental growth of the system. The scheme preserves autonomy and het- erogeneity of the LDBSs. It is fair and free from global deadlock. The global consistency is enforced through (a) additional operations on a dummy data item stored in the LDBSs, (b) forbidding access- ing the dummy data item concurrently by differ- ent subtransactions, and (c) forcing the subtransac- tions to be committed in the order that they access the dummy data item. Freedom from deadlock is achieved by aborting the transactions which might block the execution of the transactions that have smaller timestamps. The aborting only occurs when the transactions with smaller timestamps request the execution of all their subtransactions to be carried out immediately. Therefore, the scheme in this pa- per is more flexible than [l], where the transaction must be committed in strict timestamp order. The fairness is achieved by assigning different execution priority to the transactions. The priority is based on the timestamps of the transactions. The priority of a transaction with a small timestamp is always higher than a transaction with a large timestamp.
Therefore, the transaction with the smallest times- tamp can always be executed.
References
R.K. Batra, M. Rusinkiewicz & D. Georgakopou- los, A decentralised deadlock-free concurrency control method for multidatabase transactions,
Proc. 12th Int. Conf. on Distributed Computing
Systems, 1992.
P.A. Bernstein & N. Goodman, Concurrency control in distributed database systems, AGM
Computing Surveys 13(2) pp. 185-222, 1981.
Y. Breibart, D. Georgakopoulos, M. Rusinkie- wicz & A. Silberschatz, Rigorous scheduling in multidatabase transactions, Proc. Workshop on Multidatabase and Semantic Inter-operability,
1990.
Y. Breibart & A. Silberschatz, Multidatabase up date issues, Proc. AGM SIGMOD Int. Conf. on
Management of Data, 1989.
A.K. Elmagarmid & W. Du, A paradigm for concurrency control in heterogeneous distributed database systems, Proc. 6th Int. Conf. on Data
Engineering, 1990.
[6] D. Georgakopoulos, M. Rusinkiewicz & A. Sheth,
On serializability of multidatabase transactions through forced local conflicts, Proc. 7th IEEE
Int. Conf. on Data Engineering, 1991.
[7] H. Korth & A. Silberschatz, Database System
Concepts, McGraw-Hill, 1986.
[8] C. Pu, Superdatabases for Composition of Het- erogeneous Databases, Proc. 4th Int. Conf. on
VLDB, 1988.
[9] A.S. Tanenbaum, Modem Operating Systems,
Prentice Hall, 1992.
[lo] J. Tang, Using dummy reads to maintain consis- tency in heterogeneous database systems, Proc.
Third Workshop on Future Trends of Distributed
Computing Systems, 1992.
40 1

Similar Documents

Free Essay

Assignment

... |: |HND | |SEMESTER |: |04 | |UNIT NO./TITLE |: |35/ Distributed Design and Development | |ASSIGNMENT NO. |: |01 | |ASSIGNMENT TITLE |: |City Bank Distributed Design System | |UNIT OUTCOMES COVERED |: | | | 35.1 Understand Microsoft architecture for enterprise applications | |35.2 Design a distributed application | |35.3 Build a distributed application | |35.4 Build and use components | |ASSIGNMENT TYPE ...

Words: 1429 - Pages: 6

Premium Essay

What Title ?

...The University Student Registration System: a Case Study in Building a High-Availability Distributed Application Using General Purpose Components M. C. Little, S. M. Wheater, D. B. Ingham, C. R. Snow, H. Whitfield and S. K. Shrivastava Department of Computing Science, Newcastle University, Newcastle upon Tyne, NE1 7RU, England. Abstract Prior to 1994, student registration at Newcastle University involved students being registered in a single place, where they would present a form which had previously been filled in by the student and their department. After registration this information was then transferred to a computerised format. The University decided that the entire registration process was to be computerised for the Autumn of 1994, with the admission and registration being carried out at the departments of the students. Such a system has a very high availability requirement: admissions tutors and secretaries must be able to access and create student records (particularly at the start of a new academic year when new students arrive). The Arjuna distributed system has been under development in the Department of Computing Science for many years. Arjuna’s design aims are to provide tools to assist in the construction of fault-tolerant, highly available distributed applications using atomic actions (atomic transactions) and replication. Arjuna offers the right set of facilities for this application, and its deployment would enable the University to exploit the existing...

Words: 8052 - Pages: 33

Free Essay

Pos 355 Failures

...Failures POS/355 August 26, 2013 UOPX Failures Distributed systems emerged recently in the world of computers. A distributed system is an application of independent computers that appear to work as a coherent system to its users. The advantages of distributed systems consist of developing the ability to continually to open interactions with other components to accommodate a number of computers and users. Thus, stating that a stand-alone system is not as powerful as a distributed system that has the combined capabilities of distributed components. This type of system does have its complications and is difficult to maintain complex interactions continual between running components. Problems do arise because distributed systems are not without its failures. Four types of failures will characterize and the solutions to two of these failures will address on how to fix such problems. Before constructing a distributed system reliable one must consider fault tolerance, availability, reliability, scalability, performance, and security. Fault tolerance means that the system continues to operate in the event of internal or external system failure to prevent data loss or other issues. Availability needed to restore operations to resume procedure with components has failed to perform. For the system to run over a long period without any errors is need and known as reliability. To remain scalable means to operate correctly on a large scale. Performance and security remains needed...

Words: 953 - Pages: 4

Free Essay

Hgffdfdrf

...Component Services focuses on the administration of COM+ applications. Developers use COM+ to develop distributed applications. Administrators use Component Services to manage those applications. An administrator receives a COM+ application file from a developer and then uses Component Services to deploy that application on a server computer. Next, the administrator configures permissions for the application, as well as other settings. As an administrator, you can deploy and administer COM+ applications in two primary ways. You can use the Component Services snap-in in Microsoft Management Console (MMC), or you can write scripts to automate deployment and administration. As an alternative to using the Component Services MMC snap-in, you can automate any of the tasks by writing code that uses administration objects that are provided through the COMAdmin Library dynamic-link library (DLL). For a description of how to use these objects, see "Automating COM+ Administration" on COM+ General Tasks (http://go.microsoft.com/fwlink/?LinkId=66607). For complete Component Services resources for developers, see COM+ (Component Services) (http://go.microsoft.com/fwlink/?LinkId=66575). This topic provides an overview of the most commonly performed Component Services tasks and related concepts. Component Services application types Most Component Services administrative tasks involve deploying applications and components on the network and ensuring high performance and security for the deployed...

Words: 1237 - Pages: 5

Free Essay

The Knuth Marris Pratt Algorithm

...Middleware for Distributed Systems Evolving the Common Structure for Network-centric Applications Richard E. Schantz BBN Technologies 10 Moulton Street Cambridge, MA 02138, USA schantz@bbn.com Douglas C. Schmidt Electrical & Computer Engineering Dept. University of California, Irvine Irvine, CA 92697-2625, USA schmidt@uci.edu 1 Overview of Trends, Challenges, and Opportunities Two fundamental trends influence the way we conceive and construct new computing and information systems. The first is that information technology of all forms is becoming highly commoditized i.e., hardware and software artifacts are getting faster, cheaper, and better at a relatively predictable rate. The second is the growing acceptance of a network-centric paradigm, where distributed applications with a range of quality of service (QoS) needs are constructed by integrating separate components connected by various forms of communication services. The nature of this interconnection can range from 1. The very small and tightly coupled, such as avionics mission computing systems to 2. The very large and loosely coupled, such as global telecommunications systems. The interplay of these two trends has yielded new architectural concepts and services embodying layers of middleware. These layers are interposed between applications and commonly available hardware and software infrastructure to make it feasible, easier, and more cost effective to develop and evolve systems using reusable software. Middleware...

Words: 10417 - Pages: 42

Premium Essay

Four Types of Distributed Computer System Failures

...Four Types of Distributed Computer System Failures University of Phoenix August 19, 2013 David Conway Four Types of Distributed Computer System Failures This paper will discuss four common types of distributed computer system failures which are Crash failures also known as operating system failures, Hardware Failures, Omission Failures and Byzantine Failures. Included in the discussion are failures which can also occur in a centralized computer system, and how to isolate and repair two types of failures. Crash failures are normally associated with a server fault in a typical distributed system. Inherently crash failures are interrupt operations of the server and can halt operation for a considerable time (Projects Helper, 2012).Operating system failures are the best examples for this scenario. Operating System or software failures come in many more varieties than hardware failures. Software bugs in distributed systems can be difficult to replicate and, consequently, repair and or debug. Corresponding fault tolerant systems are developed and employed with respect to these affects. An operating system or software failure can also occur in a centralized system such as a data base this is why it is highly recommended to back up a data base using stable mass storage media (Projects Helper, 2012). We have an extensive...

Words: 1180 - Pages: 5

Premium Essay

Son of Computer and Technology

...Crash failures are caused across the server of a typical distributed system and if these failures are occurred operations of the server are halt for some time. Operating system failures are the best examples for this case and the corresponding fault tolerant systems are developed with respect to these affects. Timing failures: Timing failures are caused across the server of a distributed system. The usual behavior of these timing failures would be like that the server response time towards the client requests would be more than the expected range. Control flow out of the responses may be caused due to these timing failures and the corresponding clients may give up as they can’t wait for the required response from the server and thus the server operations are failed due to this. Omission failures: Omission failures are caused across the server due to lack or reply or response from the server across the distributed systems. There are different issues raised due to these omission failures and the key among them are server not listening or a typical buffer overflow errors across the servers of the distributed systems. Byzantine failures: Byzantine failures are also know as arbitrary failures and these failures are caused across the server of the distributed systems. These failures cause the server to behave arbitrary in nature and the server responds in an arbitrary passion at arbitrary times across the distributed systems. Output from the server would be inappropriate...

Words: 284 - Pages: 2

Free Essay

Failures Paper Pos/355

...POS/355 March 11, 2013 Bhupinder Singh Failures Paper The distributed systems are unique in that it’s executions of the application of the protocols are to coordinate on multiple processes on the network, they have their own local memory and it communicates in entities with each of them using a massage passing mechanism. They also have their own personal users to them that they can use for personal uses. What are shared across the distributed systems are the data, processor, and the memory that can achieve those tasks when processing information. The distributed system has features to help achieve in in solving problems and issues with software and programs, when being useful with the distributed system is not very easy; its capabilities are the components, than just the stand alone systems that are sometimes not as reliable. Because of the complexities of interactions between running the distributed systems, it must have special characteristics like the fault tolerant; this can recover from component failures without performing incorrect actions. Recoverable is where failed components can restart and then rejoin the system after the cause failure has been repaired. The failure on a distributed system can result in anything from easily repairable errors to a catastrophic meltdown. Fault tolerance deals with making the system function in the presence of defaults. Faults can occur in any one of components. In this paper we will look at the different...

Words: 811 - Pages: 4

Free Essay

Poss 355

...FAILURES POSS / 355 Moore Clarence 29 june 2015 BOB O CONNER To begin what is a distributed system? There are several words that can describe parts that make up a distributed system. A program , a process, a message, packet, protocol, network components all take part in helping define what a distributed system makes of. A distributed system is an application that executes a collection of protocols to coordinate cooperate together to perform a single or small set of related tasks. Failure is the defining difference between distributed and local programming. So you have to design distributed system with the expectation of failures. Handling failures is an important theme in distributed systems design. Failures fall into two obvious categories. Hardware and software. Hardware failures was once an issue but since has improved a lot. Dealing with a lot of improvements to such items as wiring and circuits played positive roles to improving hardware the mechanical and network failures are part of todays problems. Software failures is part of a distributed system. When a software failure occurs it often affect downtime to the distributed system. The computer freezing or fail stop and so often even a network failure. Types of failures includes crash failures that is when a server halts, but its working correctly until it halts. Omission failure is another type of failure that a server fails to respond to incoming requests also fails to receive incoming messages or fails to...

Words: 346 - Pages: 2

Premium Essay

Thesis Spatial Data

...Distributed Query Scheduling Service: An Architecture and Its Implementation Ling Liu and Calton Pu Oregon Graduate Institute Department of Computer Science & Engineering P.O.Box 91000 Portland Oregon 97291-1000 USA flingliu,caltong@cse.ogi.edu Kirill Richine University of Alberta Department of Computer Science GSB615, Edmonton T6G2H1 AB, Canada kirill@cs.ualberta.ca Abstract We present the systematic design and development of a distributed query scheduling service (DQS) in the context of DIOM, a distributed and interoperable query mediation system 26]. DQS consists of an extensible architecture for distributed query processing, a three-phase optimization algorithm for generating e cient query execution schedules, and a prototype implementation. Functionally, two important execution models of distributed queries, namely moving query to data or moving data to query, are supported and combined into a uni ed framework, allowing the data sources with limited search and ltering capabilities to be incorporated through wrappers into the distributed query scheduling process. Algorithmically, conventional optimization factors (such as join order) are considered separately from and re ned by distributed system factors (such as data distribution, execution location, heterogeneous host capabilities), allowing for stepwise re nement through three optimization phases: compilation, parallelization, site selection and execution. A subset of DQS algorithms has been...

Words: 16962 - Pages: 68

Free Essay

Operating System Upgrade

...NAME: MODERN OPERATING SYSTEMS PROFESSOR: SCHOOL: DATE: MARCH 25th, 2013 Table of Contents Company Background 4 Employee Access 4 Data center description (servers, OS) 4 Client machines 4 Company Communication 5 Problems with the Current Information Systems 5 Proposed System 6 OS Processor and Core 8 Hardware 8 Benefits from Upgrading to Operating System Utilizing a Multi-Processor 9 Steps to Upgrade the Processor and Core 9 Requirements Supporting the Upgrade 10 Conclusion 10 Scheduling Algorithm 11 In First-Come First-Served Scheduling 11 Benefits and Challenges Presented by FCFS 12 Round robin scheduling 12 Benefits and Challenges Presented by Round Robin Scheduling 13 Conclusion 14 Distributed Computing Environment 15 Operating System Concurrency Mechanism 15 Grid Computing 16 Concurrency control mechanisms in handling communications and synchronization 17 OS Security Risks and Mitigation Strategy 18 The main areas of the operating system that are evaluated for performing the risk assessment are: 20 Prioritization risks in the operating system: 21 Risk mitigations for the risks in the operating systems: 24 Emerging Technologies and Architecture 26 Cloud Computing 26 Remote Procedure Call (RPC) 27 Object Request Broker (ORB) 28 Advantages of Cloud Computing to Jinx 29 Advantages of RPCs 29 Advantages of using ORB 30 How Jinx Will Benefit from these Technologies 30 References 32 Appendix A 34 ...

Words: 7042 - Pages: 29

Free Essay

Week3 Pos/355

... | Types of Failure in Distributed System December 5, 2012 Types of Failure in Distributed System To design a reliable distributed system that can run on unreliable communication networks, it is utmost important to recognize the various types of failures that a system has to deal with during a failure state. Broadly speaking failures of a distributed system fall into two obvious categories: hardware and software failure. A distributed system may suffer any of such types of failures. Yet each of the failure has its own particular nature, reasons and corresponding remedial actions to restore smooth operation (Ray, 2009). Follow are few types of failure that may occur for a distributed system. Transaction failure: Transaction failure is a centralized system failure. The failures generally occur due to two types of errors. These errors are: application software errors and system errors. In case of any logical error in the application software that is used for accessing a database the transaction will not continue for a longer period. In such case the system will go in a deadlock situation that results the failure of one or more...

Words: 731 - Pages: 3

Premium Essay

Crapola

...A distributed system is a collection of processors that run a single system, but may act independently. The processors on a distributed system can be on a single computer or multiple computers and can be spread across a local or wide area network. With this type of systems, potential problems can arise. The following will address some of these problems. Network Failure One problem that may arise in a distributed system is a failure within the network. The processors on a distributed system must communicate with each other over a network and failure to do so could cause problems with the function needing to be carried out. In order to fix this problem, you would need to find out which end the problem is originating from. This can be done by checking the data sent by all the processors and seeing if the data is being sent correctly. This will help to determine whether or not the problem is in the sending of the data or the receiving of the data within the network. After isolating the source of the problem, it can be addressed appropriately. Timing Failure A timing failure can occur when processors on the network are not synchronized. When processors are not synchronized, then processes that require two or more processors might become delayed or fail all together. For instance, if a process the uses multiple processors is schedule to occur at noon and one of the processors’ clock is a couple minutes fast, that processor will start the process too early which could result in a...

Words: 344 - Pages: 2

Free Essay

Hello

...Failures The following paper will examine four types of failures that may occur in a distributed system. Also discussed is how these failures relate to a centralized system. Lastly, two of the four failures common to both a distributed and a centralized system will be isolated and fixed. A distributed operating system gives the appearance of a single system; however in all actuality it is a collection of computers that are connected to a network. This collection of computers, or distributed operating system, share resources and therefore encounters problematic failures as a result (Stallings, 2012). Failures experienced by distributed operating systems include communication faults, machine failures or fail-stop, storage-device crashes and decays of storage media, and network failures (Ghosh & Mathur,  2011). Communication faults In order to detect communication faults a time-out scheme can be used. When a communication, or message, is sent out it specifies a time interval during specifying the length of time it will wait for an acknowledgement message from the sender. If the sender received the acknowledgement message within the specified timeframe, then all is well and good. However, if the message is outside of that timeframe then we know that we are experiencing a communication fault and a time-out is occurring. In this case, the sender can send a message to the receiver asking ‘are you up?’. If no response is acknowledged or sent back, then it is likely...

Words: 1353 - Pages: 6

Free Essay

Security Key Concepts

...SECURITY ORIENTED COMPUTING This refers to components of organizational security programs that ate put in place to ensure the safeguarding of an organization’s framework. They play quite a significant role in preventing cybercrime or manipulation of an organizations data. They are not necessarily focused on Information technology but rather are concepts that have been put to the test and proved to be viable. One of this concepts is security oriented computing. It can be best described as a strategy to prepare for unavoidable failures. It is a slight alteration from the principle known as recovery oriented computing. Both concepts revolve around the ideology that accidents are anticipated in key aspects and will occur at one point .Security oriented computing operates on a number of principles that ensure its effectiveness. One of this assumptions is that all security controls are vulnerable and may end up causing inaccessibility of the intended service or even worse, unauthorized users. This helps the particular organization be on high alert and ensure that their security controls are monitored at all times .Another assumption is that all people conducting alterations or configurations to the system may introduce loopholes to the latter due to wrongful installation or a mistake made during the configuration. The third assumption is that all people conducting day to day operations are subject to make normal errors if the computer allows them to. Interfacing with humans creates...

Words: 678 - Pages: 3