 The concept of pairing is so very interesting that it needs to be understood and it needs to be elaborated so that it can be extended. We have looked at how peer-to-peer networks can offer peer-to-peer services. This pairing could be between the network management nodes and user application providing clients and servers or between either of them. So we must understand that these successes which we have seen in the form of say torrents or any other Skype kind of chatting application would give us enough insight into the dynamics and the underlying techniques of these successful models that we'd be able to move on to the next of these. So what we shall do is in this module we shall look at the peer-to-peer applications. This may take one or two more modules because in order to discuss and elaborate the latest peer-to-peer applications we need significant time. So we'd start with the pioneering file sharing applications and then how the users moved on to providing audio visual applications. And we'll do some discussion on their architecture and operation. Back in early 90s Napster was introduced to allow the users to share their interests in music by sharing the files which they have of certain albums, singers and certain music companies. So it started off as a very successful model of peer-to-peer application. It was based on the concept of centralized directory. So if you could just use Napster which you can't anymore because of copyright infringement it was blocked across the US. But the idea was so fascinating that other peer-to-peer applications took from Napster and are successful these days. Napster was based on the concept of centralized directory. It means all the users who are interested in sharing music files from their own and taking the music files from others would register with a centralized directory. Now any request by a certain user looking for a certain music file say by a singer, by a musical band would send request to the server. Now the server would reply back with information about the host that included what all music files were available with a certain user and how that user could be contacted as in the IP address. Then the Napster client would automatically contact that IP address and would open a Napster application level socket and download the file. An advanced version of Napster was to take it to a different level where instead of sharing files, live audio-visual interaction could be done. Back in 2002, getting inspiration from the telecommunication networks, Skype introduced kind of voice-based chatting model that emulated the traditional telecommunication networks. Skype is not based on certain standard ITF 3GPP or any other kind of standardization body guidelines. Instead it is a proprietary implementation. That means it is not very easy to go into the inner details of its implementation. However, some inferences could be drawn depending on how it behaves. The second important aspect about Skype is that it is best effort. It means that Skype does not use any guaranteed service for voice and video transfer. In case of congestion buildup, it is expected that the Skype quality is going to deteriorate. At the more architectural level, Skype uses a hybrid peer-to-peer architecture. In such model, it takes inspiration from the session initiation protocol server architecture that includes entities such as the registrar server which is used for registering the users and the present server. The present server keeps track of the mobility which is taking place by certain users. The users are known through their Skype IDs. So if a certain user is present in a certain environment, then the registrar server through its proxy directs the incoming request for a certain Skype user to that particular present server. And from that present server, the proxy server takes cues and establishes a connection between the client and the server. If you look at the Skype architecture in very broad way, we see that we have a centralized Skype login server. We can call it a registrar server. Then we have other servers inspired from the SIP such as we have the registrar server, the present server, the proxy server. So these servers are similar to the super nodes. We see here the Skype in reality is centralized as well as hybrid. These nodes look for the nearest present servers and the proxy servers through which their calls to certain Skype IDs could be established. That is pretty much everything that Skype consists of.