Você está na página 1de 13

Kamala Nehru Institute of Technology, Sultanpur B.

TECH Final Year (IT) Distributed Systems (ECS 701) Assignment 1-2 / UNIT 1
Q.01 What is distributed system? Give the important goals to build the distributed system. Also give the hardware and software concepts and limitations related to distributed system. What are the various threats of Distributed System? What are the fundamental issues in resource management in distributed systems? What is client server model? Compare and contrast centralized and distributed computing. Explain Servers, Clients, Thread, Code Migration, Software agents for the same. What is a process? Explain the various states of a process through state transition diagram. Explain the function, design approach and types of advance operating system. Explain the Architectural and Fundamental models. State the model of Processor failures. Explain the layered protocols. Compare and contrast the OSI and TCP/IP model. What is spontaneous networking? What are Semaphore, Monitors and Serializers? Explain them with account of some problems. Also give the advantages, disadvantages and limitation for the same. Explain the Shared Address Space and Message-Passing Architecture with their requirements and working methodology. What do you mean by absence of global clock? Give the impact of the absence of global time. What is Logical clock? Explain. What are the limitations of Lamport clock? Briefly explain Vector clock. What is the use of Virtual time in Lamports logical clock? How logical clock can be used to implement semaphores? What are vector clocks? What are the advantages of vector clock over lamport clock? List the importance condition satisfied by lamports logical clocks. Also explain the various algorithms regarding the clock Modify the global-state recording algorithm to record global state in a Non-FIFO communication environment. Give an algorithm for recording global state. Explain the method for detecting the termination in Global State Detection based Algorithm. What is the concept behind Graph Theoretical Model? What do you mean by causal ordering of message? If process p sends two messages m1and m2 to another process q, what problem may arise if the two messages are not received by recipient q in the order they were sent by process p? What is distributed mutual exclusion and briefly explain the requirements of mutual exclusion algorithm? Also explain the various algorithms regarding the Mutual Exclusion. Classify the Distributed mutual exclusion. A simple solution to mutual exclusion problem may be obtained by having a designated site called control site which receives all requests and grants permission to execute critical section. Discuss the limitation of this approach. Discuss three main issues that are relevant to the understanding of distributed, fault tolerant real time systems. Motivate what makes them important. What is arbitrary, timing and masking failures? Many distributed algorithms require the use of a coordination process. To what extent can such algorithms actually be considered distributed discuss? Also illustrate the mechanism for interaction between two concurrent processes. Differentiate between : Synchronous Vs Asynchronous Computations; Authenticated Vs Non-authenticated Messages; fail safe and fail operational with respect to real time system Write short note on following: Web Challenges; Fairness; Fault tolerance; Sinha-Natarajan Algorithm; cuts of Distributed Computation; casual ordering of messages

Q.02

Q.03 Q.04 Q.05 Q.06 Q.07 Q.08

Q.09

Q.10 Q.11

Q.12

Q.13

Q.14

Q.15

Q.16

Kamala Nehru Institute of Technology, Sultanpur B.TECH Final Year (IT) Distributed Systems (ECS 701) Assignment 3-4/ UNIT 2
Q.01 What is Deadlock and Starvation? Explain the fundamental causes of Deadlock and Starvation. Explain the various handling strategies for Deadlock. What are phantom deadlocks? What are the various types of deadlock? What are differences in communication and resource deadlocks? Explain the various models of Deadlock with the help of suitable examples. What do you mean by distributed deadlock? Explain the handling strategies in distributed system for the same with suitable examples. Also make a comparison table for all. Compare and contrast Centralized, distributed and hierarchical control organizations for distributed deadlock detection. Explain the various Centralized deadlock detection algorithms with the help of suitable examples. (i.e. Completely centralized, One and Two Phase algorithms) Also compare the performance of the various algorithms. Explain the various distributed deadlock detection algorithms with the help of suitable examples. (i.e. Path-pushing, Edge-chasing algorithms etc.) Also compare the performance of the various algorithms. Explain the various hierarchical deadlock detection algorithms with the help of suitable examples.(i.e. Menasce-Muntz, Ho-Ramamoorthy algorithms) Also compare the performance of the various algorithms. Develop an algorithm which guarantees the causal ordering of message in distributed systems. Explain why time stamping cannot lead to deadlock and why locking can? Also Explain termination detection. What is the importance of different types of graph in deciding deadlock? What is the interactive consistency problem? What are major issues in deadlock detection and resolution? Develop an algorithm which guarantees the causal ordering of message in distributed systems. Explain Naming in detail? What is the role of naming service and what properties do we require of it? Briefly explain the operation of the DNS system and say whether or how it meets the requirements of naming service What are agreement protocols? Discuss the general system model where agreement protocols are used? Give the applications of Agreement problem. What do you mean by Atomic commit in Distributed Database System? The two phase commit protocol is used for realizing atomicity in distributed system. Using pseudo code, explain its operation. Explain what happens when messages are corrupted or node may fail. Give the classification of agreement protocol and compare them with the help of suitable examples. Also show the relationship among them. Explain the Byzantine Agreement problem and Interactive consistency problem. Show that byzantine agreement cannot always be reached among four processors if two processors are faulty. What are agreement and validity objectives of byzantine agreement problem? Explain the difference between data migration, computation migration and distributed scheduling. Discuss the impact of a message loss on the various deadlock detection algorithms. What is BIRMAN-SCHIPER-STEPHENSON protocol? Explain. Show that how a consensus problem can be used to solve the interactive consistency problem.

Q.02

Q.03 Q.04 Q.05

Q.06

Q.07

Q.08 Q.09 Q.10 Q.11 Q.12

Q.13 Q.14

Q.15 Q.16

Q.17

Q.18

Kamala Nehru Institute of Technology, Sultanpur B.TECH Final Year (IT) Distributed Systems (ECS 701) Assignment 5-6/ UNIT 3
Q.01 Q.02 What do you mean by distributed objects? Explain the concept of remote method invocation (RMI) with a suitable example. What is the role of proxy and skeleton in RMI? What are the communication models proposed for the communication between the distributed objects? What are the difference between clock driven and clockless group communication protocols? Which one is suitable for use in time triggered and event triggered systems? Give an example to show that in the and request model, false deadlock can occur due to deadlock resolution in distributed systems. Can something be done about this or they are bound to happen? Discuss what factors characterize and possibly complicate the scheduling of a set of tasks with timing constraints in a single processsor system? Assume a system has a p process and r identical units of a reusable resource. If each process can claim at most two units of the recourses. If each process can claim at most two units of the resource, show that the system would be dead lock free iff P<R-1. What is Remote Procedure Call (RPC)? Explain the basic RPC operation in detail with the help of examples. Also explain the extended RPC model. How are the parameter and results passed to a remote procedure? Explain it with a suitable example. What are cryptographic systems? Give a general model of a cryptographic system listing its objectives. Why it is assumed as the suitable method for securing the data in the environment having multiple users? What are public and private keys? List the key differences and issues in public key cryptography and private key cryptography. Describe how a public key scheme can be used to solve the key distribution problem in a private key cryptographic scheme. Briefly define the term secret key cryptography with its characteristics. Show how secret key cryptography can be used to establish secure communication channel between client and server in two different security domains. Caching is one of the techniques used to improve access to naming data. What are the benefits of caching and what assumptions must hold for it to be useful? Comment on the likelihood of these assumptions being true in any system you care to choose. Explain in brief: Needham Schroeder, Kerberos, SSL & Millicent What do you mean by distributed file system in distributed system? Discuss the architecture of distributed file system. What are the goals of distributed file system? Write any five requirements for distributed file system. What are the different mechanisms for building distributed file systems? Explain hierarchical system in meaning of unix and client server architecture. What is the work of directory service interface? Also Explain about event and notifications with a suitable example. Discuss mounting, caching and hints in brief. Explain the salient features of mounting and caching process. Explain the sun Network File System. And make a comparison of SUN NFS with CODA File System, XFS:Serverless File System, SFS: File System, Andrew File System and Plan 9 file system. What is Replica Management? What is the use of Replication? Explain in detail it with the help of suitable example. Write about on active and passive replication.

Q.03

Q.04

Q.05

Q.06

Q.07

Q.08

Q.09

Q.10 Q.11

Q.12

Q.13 Q.14

Q.15

Kamala Nehru Institute of Technology, Sultanpur B.TECH Final Year (IT) Distributed Systems (ECS 701) Assignment 7-8/ UNIT 4
Q.01 A lamport logical clock require that for two events (a) and (b), if a imply b, the logical clock value associated with b, such that (a imply b) double imply c1 (a) <c1 (b) Demonstrate that it is possible to devise a simple implementation of logical clocks that satisfy these properties. What are distributed database? What are the advantages of data distribution and data replication? Explain the difference between Horizontal and Vertical Fragmentations. What are locks? What are essential differences in the lock based protocols and time stamped based protocols? Also explain when phantom deadlock generate? What is transaction? Explain, what are its major properties? What is flat and nested distributed transactions? What are transaction priorities in distributed deadlock? Explain two phase commit protocol for nested transactions. Also Give the architecture for replicated transactions. What are commit protocols? Employing two phase commit protocols with three sites in a system. Illustrate a situation wherein a site may not be able to arrive at a consistent decision concerning the outcome of the transaction in the event of site failures. Assume that a site can communicate with any other operating site to check the outcome of a transaction. Prove that two phase locking is adequate to ensure serializability. In the two phases commit protocol, why can blocking can be completely eliminated, even when the participants elect a new coordinator? Give some reasons for why decentralized control may give advantages over centralized control in distributed systems? Fault tolerance can be achieved by "error processing. Describe and give examples of forward recovery, backward recovery and compensation. Define logging technique in transaction recovery. What is the importance of reorganizing the recovery files? What is virtual partition algorithm? Write brief note on multi-version timestamp ordering. Give a comparison of methods for concurrency control. Give the concurrency control model of database system with various issues. What is Voting protocols? Compare and contrast static and Dynamic Vote protocols. What do you mean by Failure? Give the classification of Failure. Define and Differentiate the Backward and Forward error recovery methodology. Also explain the recovery mechanism in Concurrent System. Also explain the various algorithms for recovery management. Why is real time scheduling in a distributed environment more complex than in a single processor or multiprocessor system? Write short notes on the following: a. Group communication b. Fault tolerant services c. Timestamp ordering

Q.02 Q.03 Q.04

Q.05

Q.06 Q.07 Q.08 Q.09 Q.10 Q.11 Q.12 Q.13

Q.14 Q.15

Kamala Nehru Institute of Technology, Sultanpur B.TECH Final Year (IT) Distributed Systems (ECS 701) Assignment 9-10/ UNIT 5
Q.01 Q.02 Q.03 Q.04 What types of can there be in a simple bidirectional client-server interaction and what action is appropriate for each form of failure? Explain the basic of how corba naming system works and what advantages it has? Give the architecture of corba. What is routing? Discuss the correctness, complexity, efficiency of robustness criteria of a good routing algorithm. What is destination based routing? What are the wave and traversal algorithms? Explain the termination, decision and dependence requirements of a wave algorithm. Give any three requirements satisfied by wave algorithm. Also, discuss the usage and application of wave algorithm. Assume that due to failing clock device, the receiver may fail to close its connection in time. Describe a computation of the time based protocol in which a word is lost without being reported by the sender. The time e-action does not model drift in the remaining packet lifetime of packets. Why not? Adopt the echo algorithm to compute the sum over the inputs of processes. What is a chain time complexity of phase algorithm for cliques? Prove that korach-kuttenmoran algorithm is an election algorithm. Also Prove that polling algorithm is a wave algorithm. Also explain the Phase algorithm. Explain progeny deadlock, copy release deadlock, pacing deadlock and reassembly deadlock. What is the work of buffer graph controller in structured solutions? Prove that a comparison Election algorithm for arbitrary network is a wave algorithm is the event in which a process becomes leader is the event in which a process becomes leade is regarded as a decision event. Give the Awerbuch,s solution for DFS algorithm using linear time. Make a Case study for CORBA, RMI, CORBA Services. Explain the ARP problem in detail. What is Deadlock free packet switching? Write notes on followinga. Distributed COM b. GLOBE c. LOTUS NOTES d. JINI e. Corba remote object references f. Corba language mappings. g. Deadlock Free Packet Switching h. corba services i. balanced sliding window protocol j. buffer graph k. short ring network l. global description of GHS algorithm

Q.05

Q.06 Q.07

Q.08 Q.09 Q.10

Q.11 Q.12 Q.13 Q.14 Q.15

Final Exam Preparation


To prepare for your final exam, practice the following questions. These questions (about 60) are all selected from the reference book: Distributed Systems: Concept and Design by Coulouris, Collimore and Kindberg. In addition, you should also take a quick look of all the questions in textbook Chapters 1, 2, 3, 4, 5, 7, 8, 9, 11, 12. 1.4 What are the arguments for duplicating servers of the same type in a distributed system? 1.10 Discuss the concept of shared resources in a distributed system. Give examples of resources that might be shared. Say what the implications of resource sharing are for (a) the types of application that can be supported; (b) hardware costs in a distributed system. 1.11 What is a resource manager? 1.23 Discuss some of the consequences that might arise when one computer in a distributed system fails and the rest continue to run: i) if the failed computer is a workstation; ii) if the failed computer is a file server. 2.20 Distinguish between buffering and caching. 2.24 Why are distributed systems intrinsically less secure than centralized computer systems? 3.1 A client sends a 200 byte request message to a service, which produces a response containing 5000 bytes. Estimate the total time to complete the request in each of the following cases, with the performance assumptions listed below: i) Using connectionless (datagram) communication (for example, UDP); ii) Using connection-oriented communication (for example, TCP); iii) The server process is in the same machine as the client. [Latency per packet (local or remote, incurred on both send and receive): 5 milliseconds Connection setup time (TCP only): 5 milliseconds Data transfer rate: 10 megabits per second MTU: 1000 bytes Server request processing time: 2 milliseconds Assume that the network is lightly loaded.] 3.6 What are the most important differences between connectionless and connection-oriented communication? 3.7 Compare connectionless and connection-oriented communication for the implementation of each of the following application-level or presentation-level protocols: i) virtual terminal access (for example, Telnet); ii) file transfer (for example, FTP); iii) user location (for example, rwho, finger); iv) information browsing (for example, Gopher); v) remote procedure call. 4.4 Suggest a method of marshalling (i) an array, (ii) a linked list, (iii) a tree.

4.8 Suggest two possible semantics for a non-blocking Receive. (Hint: Receive supplies a buffer to be filled with an arrived message.) 4.17 Explain the design choices that are relevant to minimizing the amount of reply data held in a servers history. Compare the storage requirements when the RR and RRA protocols are used. 4.19 Why might the number of messages exchanged in a protocol be more significant to performance than the total amount of data sent? Design a variant of the RRA protocol in which the acknowledgement is piggy-backed on (that is, transmitted in the same message as the next request) where appropriate, and otherwise sent as a separate message. (Hint: use an extra timer in the client.) 5.1 The Election Service provides two remote procedures: Vote: with two parameters through which the client supplies the name of a candidate (a string) and the voters number (a positive integer used to ensure that each user votes once only). Result: with two parameters through which the server supplies the client with the name of a candidate and the number of votes for that candidate. Which of the parameters of these two procedures are input and which are output parameters? 5.2 Give the C function prototypes for the procedures Vote and Result. Can you tell from the function prototypes whether the parameters are input or output parameters? 5.6 Consider the integration of an RPC mechanism with a programming language that has a notation for defining interfaces (for example, C++). Assume that a programmer already understands how to use independent modules. Specify the additional rules that must be adhered to when programming servers and clients. 5.7 Using the language considered in Exercise 5.6, describe how exceptions could be reported to clients. Consider first exceptions due to distribution such as time-outs on RPCs. Then consider exceptions due to conditions that the server finds unacceptable (for example, attempting to vote for a non-existent candidate in the Election service). 5.8 Define the interface to the Election service in Sun XDR and in ANSA IDL. Compare the methods for specifying input and output arguments. Do either of these interface definition languages allow the name of the service to be specified? 5.9 Explain how an interface definition language can allow a client written in one language to use a server written in another language. Illustrate your answer with the ANSA IDL interface definition of the Election service (Exercise 5.8). Give an example of a language that would be difficult to map onto this interface definition. 5.10 The Election service runs as a single server UNIX process. What should happen if several clients vote at about the same time as one another and messages arrive while the server is processing a vote? Will this happen if the Request-Reply protocol is implemented over UDP? 5.11 The Election service must ensure that a vote is recorded whenever any user thinks they have cast a vote. Discuss the effect of maybe call semantics on the Election service. Would at-least-once call semantics be acceptable for the Election service or would you recommend at-most-once call semantics?

5.13 Define one of the client stub procedures for the Election service using the language of Exercise 5.6. Do Operation should be used. 5.14 Explain how client stub procedures may be generated automatically from an interface definition. 5.16 Suppose that a client makes only one RPC (for example, to cast a vote). Describe the overheads associated with the use of a binder, (i) when the location of the binder is known by the client, and (ii) when it is not known. Compare these overheads with the overheads in Sun RPC. Sun RPC provides a function callrpc that a client may use to call a remote procedure directly, without any prior binding. Do you think this is useful? 9.13 Which other name server addresses do DNS name servers hold by default, and why? 9.14 Why might a DNS client choose recursive navigation rather than iterative navigation? What is the relevance of the recursive navigation option to concurrency within a name server? 10.4 In the system of Exercise 10.3 it is required to synchronize a file servers clock to within 1 millisecond.Discuss this in relation to Cristians algorithm. 10.6 Discuss the factors to be taken into account when deciding to which NTP server a client should synchronize its clock. 10.7 An NTP server B receives server As message at 16:34:23.480 bearing a timestamp 16:34:13.430 and replies to it. A receives the message at 16:34:15.725, bearing Bs timestamp 16:34:25.7. Estimate the offset between B and A and the accuracy of the estimate. 10.8 Discuss how it is possible to compensate for clock drift between synchronization points by observing the drift rate over time. Discuss any limitations to your method. 10.13 In the Bully algorithm, a recovering process starts an election, and will become the new coordinator if it has a higher identifier than the current incumbent. Is this a necessary feature of the algorithm? 11.6 In a bank account service, credits and withdrawals are causally ordered. The service supports lists of users able to perform operations on each particular bank account, and several administrators may attempt to add users to account lists from different points. Explain why adding a user to a list should be totally ordered, and why removing a user from a list should be syncordered. [Note: the exercise as printed in the book mistakenly refers to debits and withdrawals]. 11.7 What is a hold-back queue? In the original ISIS protocol for totally-ordered multicast, can a message that has been assigned a final identifier always be removed immediately from the holdback queue? 11.11 In the gossip architecture, why does a replica manager need to keep both a replica timestamp and a value timestamp? 11.15 R and S are both members of a group G. The member R multicasts a message m1 to G, sends a (point-to-point) message m2 asynchronously to S, then multicasts m3 to G. On receiving m1, S multicasts m4 to G. What delivery guarantees must be met for the messages m1 to m4 if delivery is in causal order?

12.1 A service called SimpleName manages a set of mappings from Name to Id and provides the operations: LookUp(Name) Id returns the value corresponding to the given name, Name. Store(Name, Id) if there is a mapping with Name, replace its Id; otherwise add a new mapping from Name to Id. Delete(Name) delete the mapping with Name. Enumerate( ) of (Name, Id) set return all the mappings. Explain in the context of the SimpleName service: The effect of a request to perform an operation on a server depends on the actual request, its arguments and the current values of the server's data items. 12.5 Consider the Enumerate operation of the SimpleName service in Exercise 12.1. Bear in mind that it may return a very large amount of information. Discuss the advantages and drawbacks of the following alternatives: i) all the mappings in a set are returned as the result of a single request; ii) the server orders the mappings and the arguments of the Enumerate operation specify a range of associations; iii) the client and server use a conversation. 12.6 A server manages the data items a1, a2,... an. The server provides two operations for its clients: Read (i) returns the value of ai; Write(i, Value) assigns Value to ai. The transactions T and U are defined as follows: T: x:= Read (j); y:= Read (i); Write(j, 44); Write(i, 33); U: x:= Read(k); Write(i, 55); y := Read (j); Write(k, 66). Give three serially equivalent interleavings of the transactions T and U. 12.7 Give serially equivalent interleaving of T and U in Exercise 12.6 with the following properties: (i) that is strict; (ii) that is not strict but could not produce cascading aborts; (iii) that could produce cascading aborts. 12.10 An operation for inserting a new account is added to the Banking Service: Insert(Name, amount) creates a new account called Name with initial balance amount. The transactions T and U are defined as follows: T: Bank$Insert(C, 100); U: Bank$Deposit(C, 10); Bank$Deposit(C, 20). Assume that account B exists and has a balance of $100, but C does not yet exist. Assume also that the Deposit operation does nothing if the account given as argument does not exist. Consider the following interleaving of transactions T and U:

State the balances of B and C after their execution in this order. Are these consistent with serially equivalent executions of T and U? 12.13 Suppose that the Transfer transactions T and U described in Figure 12.4 are structured as pairs of nested transactions: T1: Bank$Withdraw(A,4); T2: Bank$Deposit(B,4); U1: Bank$Withdraw(C,3); U2: Bank$Deposit(B,3). Compare the number of serially equivalent interleavings of T1, T2, U1 and U2 with the number of serially equivalent interleavings of T and U. Explain why the use of these nested transactions generally permits a larger number of serially equivalent interleavings than non-nested ones. 13.1 Explain why serial equivalence requires that once a transaction has released a lock on a data item, it is not allowed to obtain any more locks. A server manages the data items a1, a2, ... an. The server provides two operations for its clients: Read (i) returns the value of ai Write(i, Value) assigns Value to ai The transactions T and U are defined as follows: T: x:= Read (i); Write(j, 44); U: Write(i, 55);Write(j, 66); Describe an interleaving of the transactions T and U in which locks are released early with the effect that the interleaving is not serially equivalent. 13.2 The transactions T and U at the server in Exercise 13.1 are defined as follows: T: x:= Read (i); Write(j, 44); U: Write(i, 55);Write(j, 66); Initial values of ai and aj are 10 and 20. Which of the following interleavings are serially equivalent and which could occur with two-phase locking?

13.6 Explain why executions are always strict even if read locks are released after the last operation of a transaction but before its commitment. Give an improved statement of Rule 2 in Figure 13.4.

13.7 Consider a deadlock detection scheme for a single server. Describe precisely when edges are added to and removed from the wait-for-graph. Illustrate your answer with respect to the following transactions T, U and V at the server of Exercise 13.1.

When U releases its write lock on ai, both T and V are waiting to obtain write locks on it. Does your scheme work correctly if T (first come) is granted the lock before V? If your answer is No, then modify your description. 13.8 Consider hierarchic locks as illustrated in Figure 13.14. What locks must be set when an appointment is assigned to a time-slot in week w, day d, at time, t? In what order should these locks be set? Does the order in which they are released matter? What locks must be set when the time slots for every day in week w are viewed? Can this be done when the locks for assigning an appointment to a time-slot are already set? 13.9 Consider optimistic concurrency control as applied to the transactions T and U defined in Exercise 13.2. Suppose that transactions T and U are active at the same time as one another. Describe the outcome in each of the following cases: i) T's request to commit comes first and backward validation is used; ii) U's request to commit comes first and backward validation is used; iii) T's request to commit comes first and forward validation is used; iv) U's request to commit comes first and forward validation is used. In each case describe the sequence in which the operations of T and U are performed, remembering that writes are not carried out until after validation. 13.10 Make a comparison of the sequences of operations of the transactions T and U of Exercise 13.1 that are possible under two-phase locking (Exercise 13.2) and under optimistic concurrency control (Exercise 13.9). 14.6 Give an example of the interleavings of two transactions that is serially equivalent at each server but is not serially equivalent globally. 14.8 Assuming that strict two-phase locking is in use, describe how the actions of the two-phase commit protocol relate to the concurrency control actions of each individual server. How does distributed deadlock detection fit in? 15.1 A server manages the data items a1, a2, ... an. The server provides two operations for its clients: Read (i) returns the value of ai Write(i, Value) assigns Value to a i The transactions T and U are defined as follows: T: x:= Read (i); Write(j, 44); U: Write(i, 55);Write(j, 66); V: Write(k, 77);Write(k, 88); Describe the information written to the log file on behalf of these two transactions if strict twophase locking is in use and U acquires a i and aj before T. Describe how the recovery manager

would use this information to recover the effects of T, U and V when the server restarts after a crash. What is the significance of the order of the commit entries in the log file? 15.2 The appending of an entry to the log file is atomic, but append operations from different transactions may be interleaved. How does this affect the answer to Exercise 15.1? 15.3 The transactions T, U and V of Exercise 15.1 use strict two-phase locking and their requests are interleaved as follows:

Assuming that the recovery manager appends the data entry corresponding to each Write operation to the log file immediately instead of waiting until the end of the transaction, describe the information written to the log file on behalf of the transactions T, U and V. Does early writing affect the correctness of the recovery procedure? What are the advantages and disadvantages of early writing? 15.4 The transactions T and U are run with timestamp ordering concurrency control. Describe the information written to the log file on behalf of T and U, allowing for the fact that U has a later timestamp than T and must wait to commit after T. Why is it essential that the commit entries in the log file should be ordered by timestamps? Describe the effect of recovery if the server crashes (i) between the two Commits and (ii) after both of them.

What are the advantages and disadvantages of early writing with timestamp ordering? 15.5 The transactions T and U in Exercise 15.4 are run with optimistic concurrency control using backward validation and restarting any transactions that fail. Describe the information written to the log file on their behalf. Why is it essential that the commit entries in the log file should be ordered by transaction numbers? How are the write sets of committed transactions represented in the log file?

15.8 In the IP datagram service, packets may be lost, duplicated, delayed or delivered out of order and checksums apply only to headers. Describe the classes of failures exhibited by this service. 15.12 A group of N servers needs to reach a common decision. Describe the messages passed in a Byzantine agreement protocol. How many messages are required? How many replies must each server collect? Is there a limit to the time in which a non-faulty processor reaches a decision? Compare this with the two-phase commit protocol. 16.3 Define the terms: encryption function, encryption key, session key, one-way function, plain text, cipher text.Can data in formats other than text be encrypted? 16.5 Explain the need for a secure key distribution service: i) when secret key encryption is used; ii) when public key encryption is used. 16.7 In the Needham and Shroeder authentication protocol with secret keys, explain why the Message 2 includes the identity of B. 16.8 In the Needham and Shroeder authentication protocol with secret keys, explain why the following version of Message 5 is not secure: A B:{NB } KAB 16.9 What is a nonce? Explain why each of the nonces used in the Needham and Shroeder protocol is included, giving an example of the type of attack by an intruder against which each is designed to guard and the type of security breach that could result if they were not included.

Você também pode gostar