Peer-to-Peer (P2P) systems have been invented, deployed and researched for more than ten years and went far beyond the simple file sharing applications. In P2P networks, participants organize themselves in an overlay network that abstracts from the topological characteristics of the underlying physical network. Aim of these systems is the distribution of some kind of resources like contents, storage, or CPU cycles. Users, therefore, play an active role so that they can be considered as client and server at the same time, for the particular service that is provided through the P2P paradigm. In this dissertation thesis I will focus peer-to-peer streaming systems. This work starts with the state of art of p2p streaming systems and then presents fundamental delay bounds for chunk based p2p streaming. Then it introduces a practical algorithm called O-Streamline that is based on those theoretical results together with its performance analysis by means of simulations.