Abstract
The study on chaining every streaming video request on an unstructured Pear-to-Pear network is presented in this thesis. Recently, several multicasting approaches were proposed to share the bandwidth among the clients who playback the same video program consecutively. One of the effective ways among them is chaining, which is a client-side caching technique to dynamically extend a multicast streaming service to serve the requests as much as possible. In this study, we assume any client who wants to watch the same video program does not have any knowledge about the current chaining status. That is, we are on an unstructured P2P network environment, and each client has to collect the information by itself through the querying process. To reduce the large amount of messages transferred within a P2P network for the querying process, we let every node that has received video program to broadcast its streaming information to a range of neighboring clients. Then a client who ever got the messages can determine whether to receive video program from these clients or request a new stream from the streaming server. Two message-broadcasting methods that client nodes do not keep any earlier messages are presented and discussed first. In case that the received messages are not used at the moment, we just throw them away and go on receiving new messages. That is, the client node is memoryless. After that, the methods of all received messages being cached are presented and compared. Finally, the sophisticated method that can cut off the unnecessary messages by carefully estimating the gain in response to each broadcasting step is discussed. In the simulations, we confirm that our sophisticated method successfully reduce the amount of messages while only a few additional server streams are required.