Está en la página 1de 19

Principios de Sistemas

Distribuidos

Sistemas distribuidos y aplicacin en la


empresa
Revolucin computacional

Costos elevados antes de 1985 => pocos recursos computacionales


en las empresas
Mitad de los 80s: Desarrollo de los microprocesadores
Diseo de redes de alta velocidad (LAN, WAN)

Resultado:

Factibilidad, facilidad de sistemas cmputo compuestos por grandes


cantidades de computadoras interconectadas mediante una red de
alta velocidad.

Sistema Distribuido - Definicin


Aquel en el que los componentes de hardware o software, localizados en computadores unidos
mediante red, comunican y coordinan sus acciones solo mediante paso de mensajes.
Coulouris, Dollimore, Kindberg

Un sistema distribuido es una coleccin de computadoras independientes que dan al usuario la


impresin de constituir un nico sistema coherente.
Tanenbaum, Van Steen

Sistema Distribuido - Motivacin


Se construyen, se disean y se utilizan en la necesidad y el deseo de compartir
recursos.
Se debe facilitar a los usuarios (y a las aplicaciones) el acceso a los recursos
remotos, y compartirlos de manera controlada y eficiente.
Recurso: Todo lo que se puede compartir de manera til en un sistema de
computadores conectados en red.
Hardware
Software

Motivaciones

Econmica
Administracin

Sistemas Distribuidos: Internet


intranet
ISP

backbone

Enlace satelital
Computador de Escritorio

Servidor
Enlace de red

Sistemas Distribuidos: Intranet


email server

Desktop
computers

print and other servers


Local area
network

Web server

email server
File server

print
other servers

the rest of
the Internet
router/firewall

Sistemas Distribuidos: Computacin


mvil
Internet

Host intranet

WAP
gateway

Wireless LAN

Mobile
phone
Printer

Laptop
Camera

Host site

Home intranet

Desafos en el diseo de Sistemas


Distribuidos
Hay muchos sistemas distribuidos
Diseo an bastante simple

Gran posibilidad de desarrollar grandes servicios


Gran posibilidad de desarrollar aplicaciones ms ambiciosas

Muchos desafos ya fueron resueltos

Nuevos desarrolladores necesitan tomarlos en cuenta

Desafo: Heterogeneidad
Heterogeneidad

Composicin de un todo de partes de distinta naturaleza


Variedad y Diferencia

Internet es una red heterognea

Red
Hardware de los computadores
Sistemas operativos
Lenguajes de programacin
Implementaciones de diferentes desarrolladores

Las diferencias se encuentran enmascaradas: todos los computadores


conectados utilizan protocolos estndares de internet para
comunicarse unos con otros

Desafo: Heterogeneidad
Middleware

Software que provee una abstraccin de programacin, as como un enmascaramiento de la


heterogeneidad subyacente de las redes, hardware, sistema operativo y lenguaje de programacin.

El objetivo es ofrecer la vista de un sistema nico.


Los Sistemas Distribuidos se organizan a menudo en trminos de una capa de software, y una
capa subyacente constituida por sistemas operativos y recursos bsicos de comunicacin
Cdigo mvil: Cdigo que puede ser enviado de un computador a otro. para ejecutarse.

Desafo: Extensibilidad y Escalabilidad


Caracterstica que determina si el sistema puede ser extendido y re implementado en diversos
aspectos.
Se determina por el grado en el que se pueden aadir nuevos servicios para compartir recursos
y su puesta a disposicin para su uso por los clientes.
Requisitos

Disponibilidad de Especificacin y documentacin de interfaces


Encarar la complejidad de componentes

Dan origen a:

Sistemas distribuidos abiertos

Desafo: Seguridad
La informacin tiene mucho valor Se debe considerar la seguridad
Sistema Seguro

Confidencialidad
Integridad
Disponibilidad

Necesidad de considerar mecanismos de seguridad para transmitir datos por redes abiertas
(Internet)

Desafo: Escalabilidad
Los Sistemas distribuidos operan en todo tipo de escalas
Pequeas redes privadas (Intranet)
Grandes Redes (Internet)
Un sistema es escalable si conserva su efectividad cuando ocurre un incremento significativo en
el tamao de los recursos y el nmero de usuarios.

Desafo: Escalabilidad
Escalabilidad

Tamao (usuarios y recursos)


Geogrficamente
Administrativamente

Desafo: Escalabilidad
Retos en el diseo de sistemas distribuidos escalables:

Control del costo de los recursos fsicos


Control de la prdida de prestaciones (degradacin)
Prevencin de desbordamiento de recursos de software
Cuellos de botella de las prestaciones

Desafo: Tolerancia a fallos.


Al producirse fallos (HardWare o Software) se producen resultados incorrectos, incompletos, etc
Algunos fallos son detectables

Desafo: Concurrencia
Varios clientes pueden acceder a un mismo recurso compartido al mismo tiempo.
Control de modificaciones y concurrencia.

Desafo: Transparencia
Ocultar al usuario, al programador y/o al sistema de la separacin y ubicacin de los
componentes en un sistema distribuido, de modo que perciba al sistema como un todo.

Acceso
Ubicacin
Concurrencia
Replicacin
Frente a fallos
Movilidad
Prestaciones
Escalabilidad

Principios de
Sistemas Distribuidos