Using P2P, GRID and Agent Technologies for the Development of Content Distribution Networks