Đang chuẩn bị nút TẢI XUỐNG, xin hãy chờ
Tải xuống
Khi một địa chỉ cho E thực thể trong lá miền D cần phải được loại bỏ, thư mục nút dir (D) là yêu cầu để loại bỏ địa chỉ từ vị trí của nó E. Nếu điều đó ghi lại vị trí trở nên trống rỗng, đó là, nó không chứa địa chỉ khác cho E trong D, hồ sơ có thể được gỡ bỏ. Trong trường hợp đó, các nút cha mẹ của | SEC. 8.3 RELIABLE CLIENT-SERVER COMMUNICATION 337 8.3.1 Point-to-Point Communication In many distributed systems reliable point-to-point communication is established by making use of a reliable transport protocol such as TCP. TCP masks omission failures which occur in the form of lost messages by using acknowledgments and retransmissions. Such failures are completely hidden from a TCP client. However crash failures of connections are not masked. A crash failure may occur when for whatever reason a TCP connection is abruptly broken so that no more messages can be transmitted through the channel. In most cases the client is informed that the channel has crashed by raising an exception. The only way to mask such failures is to let the distributed system attempt to automatically set up a new connection by simply resending a connection request. The underlying assumptioriis that the other side is still or again responsive to such requests. 8.3.2 RPC Semantics in the Presence of Failures Let us now take a closer look at client-server communication when using high-level communication facilities such as Remote Procedure Calls RPCs . The goal of RPC is to hide communication by making remote procedure calls look just like local ones. With a few exceptions so far we have come fairly close. Indeed as long as both client and server are functioning perfectly RPC does its job well. .The problem comes about when errors occur. It is then that the differences between local and remote calls are not always easy to mask. To structure our discussion let us distinguish between five different classes of failures that can occur in RPC systems as follows 1. The client is unable to locate the server. 2. The request message from the client to the server is lost. 3. The server crashes after receiving a request. 4. The reply message from the server to the client is lost. 5. The client crashes after sending a request. Each of these categories poses different problems and requires different .