Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit

CSc72010: Computer Networks

FINAL EXAM

Assigned Thursday 12/15/22 6pm, Due Friday 12/16/22 6pm

Instruction:

•    This is an open-book, open notes exam. You may also use Internet resources if you want. If you do, be sure to cite your sources. You cannot discuss the exam with anyone, either in the class or not.

•    If you have any questions about the exam, email them to me (I will try to check email as frequent as possible). I will update the exam (to make clarifications) as needed and as questions arise.

•    The exam is due Friday Dec. 16th at 6pm via email at pji@gc.cuny.edu. Your solutions should be written up using a word processor (like Word or LaTex). No handwritten solutions will be accepted.

•    Please explain your answers, to give me an idea of your thinking and provide      enough information to let me know that you understand the ideas behind the questions being asked. In this case, you can get partial credit even if your answer isn’t right.

Design of a frequency/channel-limited group chat application

Consider the following group-chat application. There are three groups of users, A, B, and C. All users in a given group want to receive everything that is sent by other members of their group. Occasionally (but not very often) a user in a given group will want to receive the group chat that is going on in one of the other two groups. A user’s communication    device is capable of sending and receiving data on three frequencies (channels), but can   only send and receive data from two channel at any given time. All channels are broadcast channels - anything sent on the channel will be received by all users that are     listening to that channel. A user is bursty in the sense that he/she will have periods of time in which he/she has a lot to transmit, and other periods in which he/she has nothing  to transmit. In the answers to the questions below, an answer that makes more efficient    use of the channels is generally preferred over a less efficient solution. Assume initially   that the set of users is fixed. Think about the various design principles we studied in the  course when answering this question.

a.   Given that a user can send and receive from only two channels at a time, design an architecture that allows a user to receive all messages being sent from its      group, and also (when desired) receive communication from the other group or

groups.

a. 1. Explain the key ideas behind your design in a few paragraphs at most.

a.2  Identify which users send/receive from which channels at which points in time, and

a.3.  Specifically identify the mechanism you use to allow a user to receive data from all three groups of users, when the user can only send and   receive data (simultaneously) to/from two channels (simultaneously). For this part of this question, given that a user is going to send and receive on a given channel, the details of channel access are not important.

a.4.  If packets/messages might be queued in your design, identify where this queuing occurs.

b.  Now let us consider channel access in more detail. Each channel is time-slotted with equal length slots. For a given broadcast channel, describe (in words) the   protocol that the users will use to share the channel. Explain how (if at all) your answer to a. is related to your answer to this question.

c.   If your answers to a. and b. require that the users maintain any state, identify that state, and classify it as hard state or soft state. Explain your answers.

d.  Now suppose that users can come and go, and that when they go (leave) they may leave without signaling their departure (e.g., users may just power off). How do   your answers to a., b., and c. now change?