It should be clear that to use the Internet we need two application programs to interact with each other: one running on a computer somewhere in the world, the other running on another computer somewhere else in the world. The two programs need to send messages to each other through the Internet infrastructure. However, we have not discussed what the relationship should be between these programs. Two paradigms have been developed : the client- server paradigm and the peer-to-peer paradigm. We briefly introduce these two paradigms here.