Sei sulla pagina 1di 8

Nombre: Gutierrez Julian Eduardo Grupo: 8CM12

Arquitectura de los sistemas distribuidos

*Introducción a los sistemas distribuidos


Un sistema distribuido es aquel en el que los componentes localizados en
computadores, conectados en red, comunican y coordinan sus acciones
únicamente mediante el paso de mensajes, estos poseen las siguientes
características:

 Concurrencia de los componentes


 Carencia de un reloj global
 Fallos independientes de los componentes.

Compartir recursos es uno de los motivos principales para la creación de un


sistema distribuido. Los desafíos que surgen en la construcción de sistemas
distribuidos son la heterogeneidad de sus componentes, su carácter abierto,
la seguridad y la escalabilidad.

Algunos ejemplos de sistemas distribuido son:

 Internet
 Intranets
 Computación móvil y ubicua

*Características de un sistema distribuido


Los sistemas distribuidos se basan en la provisión de un mecanismo uniforme
de comunicación entre procesos e interfaces publicados para acceder a recursos
compartidos.
Los sistemas distribuidos abiertos pueden construirse a partir de hardware y
software heterogéneo, posiblemente proveniente de vendedores diferentes.

 Heterogeneidad

Permite que los usuarios accedan a servicios y ejecuten aplicaciones sobre un


grupo heterogéneo de redes y computadoras, la heterogeneidad (variedad y
diferencia se aplica en: Redes, Hardware de computadoras, Sistemas
Nombre: Gutierrez Julian Eduardo Grupo: 8CM12

operativos, Lenguajes de programación e Implementaciones de diferentes


desarrolladores.

Permite que todos los equipos puedan comunicarse entre sí.

 Extensibilidad

La extensibilidad de los sistemas distribuidos se determina en primer lugar por el


grado en el cual se pueden añadir nuevos servicios de compartición de recursos
y ponerlos a disposición para el uso por una variedad de productos cliente, sin la
interrupción o duplicación de servicios existentes.

 Seguridad

En los sistemas distribuidos la seguridad es muy importante dado que se maneja


mucha información en este y debe estar completamente protegida, esto con
ayuda de los tres componentes de seguridad de recursos: Confidencialidad,
Integridad y Disponibilidad.

 Escalabilidad

Un sistema distribuido es escalable si conserva su efectividad cuando ocurre un


incremento significativo en el numero de recursos y el numero de usuarios, debe
cumplir con dos características: Control del coste de los recursos físicos y Control
de las pérdidas de prestaciones.

 Control de errores

Los sistemas distribuidos se distinguen por su capacidad de falla parcial. Un


sistema tolerante a fallas es un sistema que posee la capacidad interna para
asegurar la ejecución correcta y continuada a pesar de las presencias de fallas
en hardware o software.

El objetivo de este tipo de sistemas es ser altamente fiable.

 Concurrencia

La concurrencia en un sistema distribuido se da cuando en todas las maquinas


que componen a este tienen componentes realizan procesos todos al mismo
tiempo sin necesidad de que uno tenga que detornes para iniciar con otro, a eso
se le llama concurrencia.
Nombre: Gutierrez Julian Eduardo Grupo: 8CM12

 Transparencia

Se puede definir como la ocultación al usuario y al programador de aplicaciones


de la separación de los componentes de los sistemas distribuidos, de forma que
se perciba el sistema como un todo más que como una colección de
componentes independientes.

*Modelos arquitectónicos
El modelo arquitectónico de un sistema distribuido trata sobre la colocación de
sus partes y las relaciones entre ellas, un modelo un sistema distribuido simplifica
y abstrae, inicialmente, las funciones de los componentes individuales de dicho
sistema y posteriormente considera:

* La ubicación de los componentes en la red de computadoras, buscando definir


patrones utilizables para la distribución de datos y carga de trabajo.

* Las interrelaciones entre los componentes: papeles funcionales y los patrones


de comunicación entre ellos. Entre los principales modelos están:

 Capas de Software

Se refiere inicialmente a la estructuración del software como capas o módulos


en un único computador y más recientemente en términos de los servicios
ofrecidos y solicitados entre procesos localizados en el mismo o diferentes
computadores. Las capas de este modelo son:

 Plataforma

Para sistemas distribuidos el nivel de hardware y las capas mas bajas


de software se le denominan plataforma.

Estas capas proporcionan servicios a las que están por encima de ellas,
y que son implementadas, independientemente en cada computador,
proporcionando una interfaz de programación del sistema a un nivel que
facilita la comunicación y coordinación entre procesos.
Nombre: Gutierrez Julian Eduardo Grupo: 8CM12

 Middleware

Es una capa de software cuyo propósito es enmascarar la


heterogeneidad y proporcionar un modelo de programación conveniente
para los programadores de aplicaciones.

En particular mejora el nivel de las actividades de comunicación de los


programas de aplicación soportando abstracciones cómo:
procedimiento de innovación remota, comunicación entre un grupo de
procesos y transmisión de datos multimedia en tiempo real.

 Arquitecturas de sistemas

En un sistema distribuido los procesos con responsabilidades bien definidas


interactúan con los otros para realizar una actividad útil, entre los mas principales
están:

 Modelo Cliente – Servidor


Es la arquitectura cita más a menudo cuando se habla de sistemas
distribuidos, esta consiste en donde un usuario hace una petición a un
servidor y este le brinda una respuesta, la cual es la información o
proceso que se les solicitó.
 Servidores Proxy y Cachés.
Cuando se necesitan un objeto en un proceso cliente, el servicio caché
comprueba horrible inicialmente la caché y le proporcionada el objeto
de una copia actualizada o si no se buscará otra.
 Procesos <<de igual a igual>>
En esta arquitectura todos los procesos desempeñan tareas
semejantes, interactuando cooperativamente como iguales para
realizar una actividad distribuida sin distinción entre clientes o
servidores.

 Variaciones en el modelo Cliente-Servidor

Se pueden distinguir distintas variaciones del modelo cliente – servidor


dependiendo de la consideración de:

 El uso de código y agentes móviles


Nombre: Gutierrez Julian Eduardo Grupo: 8CM12

 Las necesidades de los usuarios de computadores de costo bajo y


con recursos hardware limitados.
 El requisito de añadir o eliminar de una forma conveniente
dispositivos móviles.
 Interfaces y Objetos

Las referencias a los objetos se pasan a otros procesos de forma que se pueda
acceder a sus métodos mediante invocaciones remotas, pero ahora los tipos de
objetos alojados por cada proceso pueden variar como lo requieran las
actividades del sistema, incluso las ubicaciones de los objetos.

 Requisitos de diseño para arquitecturas distribuidas

Los factores que motivan a la distribución de los objetos y procesos en un


sistema distribuido son numerosos y se considerable significado, pero para
poder diseñar una arquitectura distribuida se necesitan cumplir ciertos requisitos
como:

 Capacidad de respuesta
 Balance de cargas computacionales
 Calidad de servicio
 Uso de caché y replicación
 Aspectos de fiabilidad

*Modelos fundamentales
Se componen de procesos que se comunican unos con otros mediante él envió
de mensajes de una red computadores, pero todos los modelos deben estar
basados en la propiedad principales fundamentales que nos permiten ser más
específicos sobre las características y los riesgos que puedan tener, como:

 Modelo de Interacción

En un sistema distribuido toda la acción la soportan los que procesos que


interactúan en este, cada proceso tiene su propio estado, pero a su vez
necesitan de:
Nombre: Gutierrez Julian Eduardo Grupo: 8CM12

 Prestaciones de los canales de comunicaciones

La característica de las prestaciones de los canales de comunicación


sobre una red de computadores y en el modelo de interacción
incluyen: la latencia, el ancho de banda y las fluctuaciones.

 Relojes de computadores y eventos de temporización

Esta es la forma que dos procesos en ejecución sobre dos


computadores asociados pueden llevar a cabo procesos al mismo
tiempo sin ser interrumpidos.

 Ordenamiento de eventos

Se debe manejar bien la realización de los eventos para que así cada
petición que se hace o evento se realice en el orden que se solicitó y
pueda llevarse a cabo de la correcta.

 Modelo de fallo

Este modelo define las formas en que puede ocurrir el fallo para darnos una
comprensión de los efectos de los fallos, como:

 Fallos por omisión

Se refieren a casos en los que los procesos o los canales de


comunicación no consiguen realizar acciones que se suponen que
pueden hacer.

 Fallos arbitrarios

Es un proceso en el que se omiten pasos deseables para el


procesamiento o se realizan pasos no intencionados de
procesamiento.

 Fallos de temporización

Es donde se establecen limites en el tiempo de ejecución de un


proceso, en el tiempo de reparto de un mensaje.
Nombre: Gutierrez Julian Eduardo Grupo: 8CM12

 Enmascaramiento de fallos

Es cuando un servicio puede ocultar el fallo que se presentó y hacer


que el sistema siga funcionando con normalidad ante el cliente.

 Modelo de seguridad

La seguridad de un sistema distribuido puede lograrse asegurando los procesos


y los canales empleados para sus interacciones además de proteger los objetos
que encapsulan al acceso no autorizado, existen tipos de protección:

 Protección de objetos

Dado que los objetos fueron creados para ser utilizados de


diferente manera por los usuarios, estos deben ser protegidos para
que no lleguen a ser modificados y por lo tanto sigan cumpliendo
con su propósito para todos los usuarios.

 Asegurar procesos y sus interacciones

Dado que un sistema puede ser objetivo de ataques por un usuario


externo, se debe asegurar todo el proceso para que estos no sean
modificados o alguien no autorizado intercepte información secreta.

 El enemigo

Las amenazas de un enemigo pueden venir de un computador


conectado a la red o también de alguna conexión no autorizada, las
amenazas grandes pueden ser: Amenazas a procesos, amenazas
a los procesos de comunicación y denegación de servicios.

 Vencer amenazas de seguridad

En esta se emplean otros métodos de seguridad los cuales


permitirán proteger los objetos y procesos que contenga el sistema
distribuido como pueden ser: Criptografía y secretos compartidos,
Autentificación y Canales seguros.
Nombre: Gutierrez Julian Eduardo Grupo: 8CM12

*Recursos de Comunicación
La diferencia principal entre un sistema distribuido y un sistema con un
procesador es la comunicación entre procesos, un proceso escribe en un buffer
compartido y otro proceso lee de él. En un sistema distribuido no existe tal
memoria compartida, por lo que toda la comunicación se basa en la transferencia
de mensajes.

La sincronización de procesos en los sistemas distribuidos resulta más compleja


que en los centralizados, debido a que la información y el procesamiento se
mantienen en diferentes nodos, entre los principales recursos de comunicación
están:

 Protocolos TCP/IP
Este conjunto de protocolos tiene menos capas que el OSI, lo que
incrementa su eficiencia. TCP/IP es un protocolo confiable, ya que los
paquetes son recibidos en el orden en que son enviados.
 Servicios y puertos
Este recurso de comunicación le va a permitir al sistema distribuido poder
tener puertos por los cuales la comunicación para el envío de mensajes
sea mucho más rápida y precisa por lo cual las peticiones serán realizadas
en el tiempo correcto y esperado.
 Procesos y dominios
En este tipo de recurso de comunicación el sistema distribuido debe
contener en el proceso que agilicen él envió de mensajes para la
comunicación de las peticiones al igual que dominios para que estos se
ejecuten de una manera mucho más rápida y sencilla de la tarea o
instrucciones que se vaya a realizar.

Potrebbero piacerti anche