Executing Nested Transactions Requires Coordination Information Technology Essay

Published: November 30, 2015 Words: 1586

The nested transaction, the parent transaction will not start any other application or create other transaction. While in the nested transaction will not affect the parent transaction state and it is yet to complete. In fact, the parent transaction is noticeable by any changes of the child transaction. For those changes, it is would be transparent in other transactions once the parent is completed. Similarly the aborting from nested transaction will not affect the state of parent transaction. But it will reflect the result in the database which gathering all modification. For the abort and complete in the parent transaction, child transaction will follow in the same way. A lock is implement in the nested transaction is control the release and lock the parent transaction until the use of the coordinator is guarantee the abortion in one of the nested transactions, as well as it coordinate the commitment. Therefore, the nested transaction would be instructed by coordinator whether perform their function or not.

b) We argued that distribution transparency may not be in place for pervasive systems. This statement is not true for all types of transparencies. Explain what do you understand by pervasive systems. Give an example.

[10 marks]

ANS:

Access transparency: allow local and remote could be access in the same operations.

Location transparency: allow the accessed without acknowledge the physical or the network location.

Concurrency transparency: allow the multi-processes to shared same resources without interrupt other process.

Replication transparency: allow the resource could be using to increases the reliability without acknowledge the notified users or programmers.

Failure transparency: enable the faults tolerance and let users or application programs to complete the tasks which transparent to user.

Mobility transparency: allows change of location in the recourses and user with the system would not be affect by the changes.

Performance transparency: when the system needed to be reconfiguration load up silently.

Scaling transparency: it let system or application to expand without changing the system structure.

Mobility transparency, in the pervasive systems, the party are mobile and will need to re-connected when the change of the access point. In view of the transparent, such change would transparent to user. Moreover, argument on much transparency could be supported. In fact, what kind of resources is hidden to user's environment is the key point for administrator consider.

Q2. Consider a chain of processes P1, P2, ..., Pn implementing a multitiered client-server architecture. Process Pi is client of process Pi1, and Pi will return a reply to Pi1 only after receiving a reply from Pi1. What are the main problems with this organization when taking a look at the request-reply performance at process P1?

[20 marks]

ANS: Multi-tiered system structure is basic models to expand layer client/server mode, or 3-level. The basic levels client/server mode, client has to request service from the server. Software interfaces is installed in client-side, the connection in each other will deal with these interactions. In fact, the two levels of model have some shortcomings. Client and Server to run the application logical, the server load and it deal with back-end data management. This requires client software installation, management and updates a potential substantial system.2-level models tend to be the large number of records to the network client, may not always been customization. The model is low efficiency at the wide-area network environment, such as Internet. For example, a Web client may be a handheld systems is limited such memory and handling in capacity. It could not rely on handle front-end task. As a popular SQL forms of client/server middleware, because it is efficient option and mobile only is record when necessary. In addition, it can directly run the stored procedure in the database, rather than move data to the client, and then run the program, in the client. As the result of the large number in n. For each communication in between two layers or two machine, the result in p1 and p2 is defined by n-2 that request-reply with other layers. In the meantime, this will downgrade the performance at higher level.

Step:

Process Pi1 read the value of variable x

Process Pi2 reads the same value of variable x

Process Pi1 adds 2 and stores value to x

Process Pi2 subtracts 2 from x.

Result: x:=x-2. if x is a bank account; Pi1 deposits x and Pi2 withdraws it. The incorrect results will appear.

Q3. Strong mobility in UNIX systems could be supported by allowing a process to fork a child on a remote machine. Explain how this would work.

[15 marks]

ANS: A fork in UNIX means that the data copy in to the parent is a child, this means that the children still running is after the call fork. Similar methods is remote cloning, the target platform is completely the same as parents are being implemented. RST steps are on the operating system reserve resources; create the appropriate procedures and memory mapping for the new child process. To do this, parents memory can be copy and children can be execute.

forking is import in Unix because it encourages to development in filters. The filter is a small program that read import from stdin, write the output in stdout. The pipeline of these links together in a same shell to create new commands. For instance, it can be put together in the output of the find(1) in order the wc(1) and it could be create a new order to print a counting the document entitled ".cpp" expansion it could found in the current directory and all sub-directories, To do this, the shell forks and uses pipes which a form of inter-communication will tie te output of the "find" command in the input "wc" command. These child processes are creates cover all the code in the program where they will be execute, by using the exec(3) system calls. In general, fork is performed by shell each time when user called the command. The child process creates a subset in the process shell, and a process that covers, and again in Exec, and codes related procedures for implementation.

Q4. Describe how connectionless communication between a client and a server proceeds when using sockets.

[15 marks]

While server and client is connected, at same time on the client and server will create a socket, but only there is any server socket close the local end point. Then, the server can make a blocking on call "read" it has been awaiting incoming data from any of its clients. Similarly, in the create socket, the client uses a block call to write data to the server. There is no need discontinuing the connection.

Operating system to provide support without connection data reported typical interactive facilities and found that the Group exchange network. Data reported socket provided a symmetric data exchange interface. Although process may still be client and server, and did not request a connection. On the contrary, each message contains target addresses. An application can create a data reported socket use socket a procedure. In the Internet domain name, if a particular the local address is necessary, must first tongue stator procedures of the First Data transmission. Otherwise, the operating system settings local address or port, the data at the outset sent. No transactions in the platform, you must first bind the first data transmission. The application SendTo and Recvfrom is a procedure for transmission of data, these calls including parameter that allows client process can be designated to receive to address the data. Apart from SendTo and Recvfrom, data reported socket connections procedures associate a socket and specific address. In such circumstances, any socket send data is automatically for peer socket linked, only have received from the node data transmission to the client and allow a connection address for each socket in the same time, the second connection a procedural change target addresses. A connection of a procedure in the data reported the socket recorded in the operating system reciprocal socket address (versus a stream socket there and establish a connection request start a terminal to the connection terminal) accepted and heard a procedure does not use data reported socket. When a data socket connections, and the errors from the recently sent a procedure can be returned to asynchronous. The errors may in follow-up report socket, or a special socket options, the SO_ERROR. This option, when you use getsockopt procedures that can be used error conditions examination. Choices read or write a procedure to return to true, when a process received a wrong direction. The next operating back to the error, the error status is cleared.

Q5. The Request-Reply Protocol is underlying most implementations of remote procedure calls and remote method invocations. In the Request-Reply Protocol, the request messages carry a request ID so that the sender can match answer messages to the requests it sent out.

a) Task: Describe a scenario in which a client could receive a reply from an earlier request.

[15 marks]

The Request-Reply-Acknowledge (RRA) protocol is a variant of the Request-Reply (RR) protocol, where the client has to acknowledge the server's reply. Assume that the operations requested by the client are not idempotent, that is, their outcome is different if they are executed a second time.

b) Task: For each of the two protocols, RR and RRA, describe which information the server has to store in order to reliably execute the requests of the client and return information about the outcome. Discuss as well when the server can delete which piece of information under the two protocols.

[15 marks]