lunes, 20 de agosto de 2012

Sistemas Distribuidos

Primero que nada, debemos dar la definición de un sistema distribuido, para lo cual, citaremos las definiciones que han dado 3 distintos autores. 
“Un Sistema Distribuido es una colección de computadores independientes que aparecen ante los usuarios como un único sistema coherente.” (Andrew S. Tanenbaum).
“Un sistema en el cual tanto los componentes de hardware y software de un computador conectados en red se comunican y coordinan mediante paso de mensajes.” (G.Coulouris, J.Dollimore, T.Kindberg). 
“Aquel que le impide a uno continuar su trabajo cuando falla un computador del cual uno nunca ha oído hablar.” (L.Lamport).
Una vez que contamos con la definición de un sistema distribuido, es importante mencionar que, para que un sistema sea distribuido debe cumplir con tres requisitos:

♥ Inexistencia de Reloj Global: Los programas que necesitan cooperar coordinan sus acciones mediante el intercambio de mensajes, que depende de una idea compartida del instante en el que ocurren las acciones de los programas.
♥ Concurrencia : Es realizar varios trabajos en distintas computadoras al mismo tiempo. Ejecución de programas concurrentes.
♥ Fallos independientes: Los sistemas pueden fallar de distintas formas, los fallos en la red producen aislamiento de los computadores conectados e él, sin que detengan su ejecución. Cada componente puede fallar independientemente, permitiendo que los demás continúen su ejecución.

Pero quizá hasta este punto no tengamos muy claro qué es un sistema distribuido, por lo que, a continuación daremos seis ejemplos, explicando el por qué son un sistema distribuido.

1. Juego MapleStory: Es distribuido porque tiene concurrencia en el momento en que corren varias cosas a la vez -el juego y su programa antihack-, no cuenta con reloj global debido a que cualquier persona del continente se puede conectar a la hora que guste y jugar en línea, sin necesidad de que todos los jugadores cuenten con la mismo zona horaria.
2. XBox LIVE: Cuenta con concurrencia, ya que mientras está el juego, ocurren otros procesos, no necesitan estar sincronizados los equipos de los jugadores para que puedan hacer uso de éste y por último, en caso de que falle el sistema de alguno de los jugadores, los demás pueden continuar haciendo uso del servicio.
3. Facebook-Messenger: En caso de que falle la conexión de alguna de las personas involucradas en una conversación, la otra puede continuar hablando con otras personas; ejecuta varios procesos a la vez, ya que mientras estas en el chat, también puedes realizar otras actividades y por último, no necesita que los usuarios tengan la misma zona horaria para poder comunicarlos.
4. e-Bay: Puede registrar compras y anuncios de productos al mismo tiempo, además del nuevo registro de cuentas para nuevos compradores. Los servicios son reflejados, así que si falla uno puede ser recuperado por otro servidor al cual está afiliado e-Bay y con eso, no falla el sistema. Y además de lo anterior, e-Bay es un sistema distribuido, porque todo el tiempo se están registrando compras y nuevas ofertas por usuarios de todo el mundo, así que no esta sujeto a un reloj global.
5. Cablevisión On-Demand: Es un sistema distribuido debido a que en caso de fallas en el módem de un usuario, los demás usuarios tendrán una continuidad en su servicio, sin percatarse de que falló una red. No es necesario estar en una determinada zona horaria para acceder al servicio y finalmente se pueden realizar pagos o consultas de la programación mientras se hace uso del servicio de televisión por cable.
6. Skype: Permite realizar otras acciones mientas se realiza una videollamada o una llamada, aparte de que no es necesario que los involucrados en la llamada cuenten con un reloj global, dado que no le da importancia a las zonas horarias. Por último, en caso de que falle el sistema de alguno de los involucrado y se esté realizando una llamada grupal, los demás miembros pueden continuar efectuando la llamada sin cambio alguno.

1 comentario:

  1. Faltan las referencias y los ejemplos deben de justifiacrse con las características de concurrencia, falta de reloj global y fallos independientes.
    Saludos

    ResponderEliminar