7.11 Flexible RingA flexible ring is a ring in which nodes can be added and deleted. The flexibility is useful for fault recovery and for network maintenance.
Modify ring of Program 7.1 to use named pipes or FIFOs instead of unnamed pipes. Devise an appropriate naming scheme for the pipes. Devise and implement a scheme for adding a node after node i in the ring. Pass i on the command line. Devise and implement a scheme for deleting a node i in the ring. Pass i on the command line. After testing the strategies for inserting and deleting nodes, convert the token-ring implementation of Section 7.8 to one using named pipes. Develop a protocol so that any node can initiate a request to add or delete a node. Implement the protocol. This project leaves most of the specification open. Figure out what it means to insert or delete a node. |