The project consists of designing and implementing a Content Delivery Network (CDN). The
designed and implemented CDN should allow end-users to stream videos from different
content providers. The main components of the systems are the origin servers (servers
belonging to the content providers and which contains the original videos), the replica servers
(servers belonging to the CDN providers and from which the videos are streamed), the
controller (software module belonging to the CDN provider and which selects the server
which will serve each end-user request).