The Distributed Coordination Function Computer Science Essay

Published: Last Edited:

This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.

Distributed coordination function needs a station to transmit to listen for the channel status for a DIFS interval. The station will delay the transmission when the channel is busy during the DIFS interval. There are a number of stations contend for the wireless medium in a network. In the case when multiple stations sense the channel is busy, their access is deferred. And then the channel is released and try to seize the channel. Then collisions may occurs as a result. Distributed coordination function specifies random backoff, which forces station to defer its access to the channel for an extra period in order to prevent such collisions.

In addition, the Distributed coordination function contains an optional virtual carrier sense mechanism which exchange Clear-to-send (CTS) and Request-to-sort(RTS) frames between sources and destination stations during the intervals in between the data frame transmissions.

Distributed coordination function has a positive acknowledge scheme. When a frame is received by the destination it is addressed to, the destination has to send an ACK frame to notify the source of the successful reception, it is known as the positive acknowledge scheme.

Moreover, the Distributed coordination function is defined in subclause 9.2 of the IEEE 802.11 stnadard and is the de-facto default setting for Wi-Fi hardware. The standard of IEEE802.11 defines an optional access method using a PCF. PEC stands for Point Coordination Function, it is to allow the Access point acting to be the network coordination to control channel access. The IEEE 802.11 strengthen the PCF and the DCF by a new coordination function. The coordination function is known as Hybrid Coordination Function (HCF).

The network coordination works as a means to provide spectrally efficient communications in cellular downlink systems. All base antennas act together as a single network antenna array when network coordination is employed. And the useful signals from nearby base stations may be received by each mobile.

Moreover, the antenna outputs minimizes the out- of -cell interference, and to increase the downlink system capacity. The links can operate in the high signal-to-noise ratio regime when the out-of -cell interference is decreased. This results the cellular network to enjoy the great spectral efficiency improvement together with using multiple antennas.

A coordinator ensures all the other subtransactions abort when one of the nested transactions aborts. Similarly, it also ensures all the other subtrasnsaction commit when the nested transaction commits. In order to do so, a nested transaction has to wait to commit until it is told to do so by the coordinator.

[10 marks]

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.


The statement " the distribution transparency may not be in place for pervasive systems." is not true. When we think of migration transparency, components are mobile in many pervasive systems. It needs to re-develop connections when traveling from one access point to another. It is better that handover is to be completely transparent to the user. Similarly, it can be also argued many other types of transparencies should be supported. However, a user who is accessing resources which directly coupled to the user's current environment should not be hidden.

[10 marks]

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?


The main problem is that the performance can be expected to be bad for large n. The problem is that each communication in between the two successive layers is between two machines. As a result, the performance of P1 and performance of P2 will be determined by n--2 request-reply interactions between the other layers.

The other problem when the performance of one machine in the chain is bad or is temporarily unreachable, this will have an downgrade effect of the performance at the highest level.

[20 marks]

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.


Forking is a process in a multitasking or multithreading operation system. In UNIX process from one machine to another, there are some steps to do. Firstly, we should have the target operating system to store the data or the information such as resources, and then checking the state of the process to a file. In step2, move the mapped or completed image to create the child process on the remote machine such as a mounted file system. After that, the completed or mapped image is store in the memory. That mean the child is created and active.

[15 marks]

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


A socket is created by client and the server. However, the server only binds the socket to a local endpoint. Then the server blocks the read call in which it waits for the incoming data from any client. Similarly, the client does a blocking call to write data to the server after creating the socket. Closing the connection is not necessary.

[15 marks]

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.


A request message and time out is sent by a clients, the request message is then retransmitted, and expecting only one reply. The server will eventually receives both request messages and sends two replies when the server is not overloaded. An earlier call will be received as a result when the client sends a subsequent request. The reply to the earlier message can be rejected by the client, if the message identifiers are copied from request to reply message.

[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.

Request-Reply (RR):

The Request-Reply (RR) is a kind of protocol which use implicit acknowledgement to delete explicit acknowledgement. First, a reply message from a server is regulated as the acknowledgment of the request message of the client.

Second, a client's subsequent call packet is an acknowledgement of the previous call reply message of the server made by the client. In order to take care for missed message, the RR protocol normally uses the timeout based retransmission technique. If the reply message is not received within the predetermined timeout period, client will retransmit the request message. The servers which keep records of the replies in a reply cache support exactly once call semantics in order to filter out the double request message and to retransmits reply message without the need to reprocess a request.

The following figure 3 indicates the message communication of RR protocol. A client sends a request and waits for the reply message. The server started to execute the procedure after receiving the request message, also the server sent a reply message to the client which regarded as an acknowledge for the previous request message. When the acknowledgement from the server received by the client, it transmits next message which serves an acknowledgement of previous RPC.

Request-Reply-Acknowledge (RRA):

RRA is a kind of protocol which requires clients to acknowledge the receipt of reply message. The server eliminates information from the reply chance. This

Protocol, it provides exactly-once call semantics. A unique message identifier is connected with request message as there is identify that the acknowledgement message will be missed. The identifier is also connected with corresponding reply message, and each of the acknowledgment messages has same identifier.


*Ref: IJCSNS International Journal of Computer Science and Network Security, VOL.7 No.7, July 2007

Modeling and Formal Verification of Communication Protocols

for Remote Procedure Call