Answer the following questions.
Question 1) How might you implement the instant messaging application like GChat (a push-based service) in CCN (a pull-based architecture)?
Note: We do not have one particular \right" answer in mind. If you draw inspiration from VoCCN design presented in lecture, ensure to point out the main difference in traffic pattern between the IM app and a voice app.
Question 2) Skype uses mysterious protocol to find out whether the user is logged in, where they are located, and what ports they are listening on. Assume that you have set out to build your own peer-to-peer telephony system.
(a) Explain briefly, how could you use a system such as Chord to maintain a directory of users?
(b) Your telephony system catches on very quickly, in part since you actually pay people to use it. (At least until it is discovered that funds are coming out of your research advisor's grant.) Soon you have tens of thousands of users worldwide. Now users are starting to complain that it takes long time to find their friends! Provide at least two good reasons why this might be.
(c) When the node suddenly fails in Chord, all of the information in that node may be lost. Given that you've already got an implementation of Chord up and running, explain an easy way to give some protection in the event that a single node fails.