Ver Mensaje Individual
  #4  
Antiguo 14-03-2007
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Reputación: 24
seoane Va por buen camino
Caramba lo que describes se parece bastante al protocolo bittorrent, aunque supongo, por tu uso de la palabra "semilla", que ya lo tenias en mente. Pues bien, nada te impide montarte un servidor de bittorent privado, y utilizar clientes de bittorrent para realizar las descargas.

Si quieres hacerlo tu mismo, primero tenemos que detallar mas el escenario. Hablas de 7 + 25 servidores, por lo que si no es una red local, entiendo que cada equipo conoce la dirección de los otros 32, si no es así la cosa se complica. También hablas de usar apache, IIS, etc ... por lo que entiendo que no quieres hacer el software del servidor, solo el de los clientes.

Partiendo de lo anterior, yo me imagino el siguiente sistema. Colocamos en un servidor (o en los 7 primeros) los archivos a descargar, pero troceado cada archivo en archivos mas pequeños. Colocamos también un archivo de texto con los nombres de cada trozo, el archivo al que pertenece cada trozo, su posición dentro del archivo e incluso su Hash (md5 por ejemplo). Un cliente solo tendría que pedir la lista a un servidor, y luego ir pidiendo esas partes a cualquiera de los servidores. Una vez descargadas todas las partes solo tendríamos que juntarlas.

Ahora viene lo divertido, si cada cliente tiene a su vez un pequeño servidor web montado, solo tendríamos que ir colocando las partes descargadas y comprobadas (usando el Hash) a disposición del resto. De esta manera los clientes podrían compartir partes entre si.

La parte mas complicada, es la de repartir el trafico. Si dejamos decidir a los clientes de donde bajar las partes, no habrá forma de repartir la carga entre todos los servidores adecuadamente. Y si dejamos que un solo servidor se encargue de regular todo el trafico, tendríamos que implementar nosotros un servidor propio, ya no nos valdría el apache ... ¿o si?

En cualquier caso es mucho trabajo, y no creo que sea eso lo que buscas. Por que no pruebas con la idea del servidor de bittorrent, creo que es lo mejor.
Responder Con Cita