In this paper we propose a new infrastructure for real-time applications. As a preliminary, we describe basic characteristics of the most popular real-time services like VoIP, videoconferencing, live media streaming, and network multiplayer games. We focus on the end-to-end latency, bandwidth and efficient transmission methods. Next, we present our project concepts, infrastructure model, details of implementation and our testing environment which was designed for testing many aspects of real-time services. The system combines mechanisms for ensuring best possible connection quality (QoS), load balance of servers in infrastructure and gives control over the packet routing decisions. Additionally, provided security mechanisms make it a good choice even in the environment where a high security level is required. The system is based on the Peer-to-Peer (P2P) model and data between users is routed over an overlay network, consisting of all participating peers as network nodes. This overlay can by used for application level multicast or live media stream. In the logging process each user is assigned to a specific node (based on his geographic location and nodes load). Because nodes are participating in data transmission, we have control over the data flow route. It is possible to specify the desired route, so, regardless of the external routing protocol, we can avoid paths that are susceptible to eavesdropping. Another feature of the presented system is usage of agents. Each agent acts within the single node. Its main task is to constantly control the quality of transmission. It analyzes such parameters like link bandwidth use, number of lost packets, time interval between each packet etc. The information collected by the agents from all nodes allows to build a dynamic routing table. Every node uses the Dijkstra's algorithm to find the best at the moment route to all other nodes. The routes are constantly modified as a consequence of changes found by agents or updates sent by other nodes. In VoD services agents also analyze popularity of streamed media, which helps build intelligent video cache. To ensure greater security and high reliability of the system, we have provided a reputation mechanism. It is used during bringing up to date the information about possible routes and their quality, given by other nodes. Owing to this solution nodes and routes which are more reliable get higher priority.
Read full abstract