4.4 Documentacion de Sistemas Distribuidos



El ciclo de vida del desarrollo del software contempla a la documentación como una etapa de gran importancia para el producto final. Resulta crucial guardar las especificaciones establecidas que fundamentan el funcionamiento del software, así como de los componentes a partir de los que se forma la aplicación final.
Se pueden distingir siete roles de usuarios para la documentación del diseño:
1. El administrador del proyecto requiere información para planear, controlar y administrar el proyecto. Debe estar en posibilidades de identificar cada componente del sistema y entender su propósito y funcionamiento.
2. El administrador de configuración necesita información para poder ensamblar varios componentes en un solo sistema y poder controlar los cambios.
3. El diseñador requiere de información acerca del uso y funcionamiento de cada componente, y su interfaz con otros componentes.
4. El programador debe conocer los algoritmos que se utilizarán, las estructuras de datos y la comunicación entre componentes.
5. Se requiere que el probador de unidades conozca información detallada de los componentes, como algoritmos y datos requeridos.
6. Al probador de integración le corresponde conocer las relaciones entre componentes y la función y uso de los componentes envueltos.
7. El programador de mantenimiento debe tener una visión de cómo se satisfacen los requerimientos usando todos los componentes.

4.3 Herramientas de Diseño



Los principios comunes del diseño, proveen un modelo consistente de procesamiento de información a través de un sistema, el cual facilita la tarea de integrar diversos paquetes de aplicaciones en un sistema coherente.

los principios de diseño deben aumentar la productividad, mejorar la reusabilidad del software y facilitar la generación automática de software, a partir de sentencias declarativas de requerimientos. El uso de los principios de diseño reduce también, el tramo que separan la interconexión de sistemas separados

Acontinuacion se resumen 3 componentes disponibles para el desarrollo de aplicaciones distribuidas

CORBA ha existido desde 1990, es un estándar de objetos distribuidos. Permite que una aplicación solicite una operación a ser ejecutada por un objeto distribuido, el que regresará resultados a la aplicación solicitante.

Los datos pueden pasar del cliente al servidor y están asociados a una operación en particular en un objeto en particular, luego se regresan datos al cliente en la forma de una respuesta.

CORBA provee de comunicaciones en un modelo solicitud – respuesta.

DCE fue creada por la Fundación de Software Abierto (OSF, por sus siglas en inglés), que ahora se denomina Open Group [DCE98]. Consiste en múltiples componentes que han sido integrados para trabajar en conjunto. A continuación se listan los componentes que conforman a DCE:
• Llamadas a procedimientos remotos (RPC).
• Servicios de directorios globales e individuales (CDS y GDS).
• Servicios de seguridad.
• Hilos de ejecución DCE.
• Servicio de tiempo distribuido (DTS).
• Sistema de archivos distribuidos (DFS).
Provee nuevas capacidades que van más allá de lo que existe en el mercado con anterioridad. Los servicios de seguridad proveen una forma confiable de determinar si un usuario tiene los derechos para utilizar un determinado recurso o ejecutar alguna acción.

DCOM es la tecnología que permite que componentes de software se comuniquen entre ellos a través de redes de computadoras, DCOM se caracteriza por lo siguiente:
• Rapidez en el desarrollo. Permite a los desarrolladores construir soluciones más rápido, ensamblando software a partir de partes preconstruidas.
• Reducción de los costos de integración. Se requiere menos tiempo para integrar componentes en soluciones completas, ya que existen conjuntos de interfaces comunes, distribuidas por diferentes proveedores.
• Reducción de los costos de mantenimiento. Al aislar la función del software en pequeños componentes provee un mecanismo eficiente de bajo costo para actualizar un componente sin tener que rediseñar toda la aplicación.

4.2 Estandares



Definicion:
Especificacion que regula la realizacion de ciertos procesos o la fabricacion de componentes para garantizar interoperabilidad
Es una propiedad que puede predicarse de sistemas de naturaleza muy diferente, como pueden ser los sistemas informáticos (en cuyo caso se le suele denotar también como neutralidad tecnológica).

La Interoperabilidad es un factor crítico para recoger los beneficios de la telefonía IP y permite a su empresa comunicar y operar como una entidad integrada y altamente efectiva.

Para los sistemas distribuidos son necesarios los estándares por dos razones:

Diversidad. El trabajar en diferentes lugares , la recolección y almacenamiento de la información se realiza en diferentes locaciones. Para lograr una interaccion entre todos,es necesario obtener respuestas rápidas e independencia Los sistemas distribuidos se tienen que adaptar a diferentes requerimientos operacionales.

Fragmentación. Hasta ahora, no existe una arquitectura abierta que facilite la construcción de sistemas distribuidos en una base de diversos vendedores, la cual pueda expandirse a diversos dominios de aplicación.

4.1 Especificaciones de Alto Nivel

Un sistema distribuido es un objeto abstracto que puede usarse invocando a varias operaciones, así que el sistema es una instancia de un tipo de datos abstracto. Las especificaciones de un sistema describen el comportamiento de las operaciones invocadas por los usuarios y si el sistema esta activo, las operaciones que el sistema realizará internamente.

Un sistema puede tener usuarios que trabajen concurrentemente y todos estos usuarios pueden invocar sus operaciones en paralelo.

En las especificaciones, cada operación es vista como una acción atómica. Estas operaciones atómicas poseen dos propiedades importantes:
La serializabilidad se refiere a que la ejecución concurrente de un grupo de acciones es equivalente a la ejecución secuencial de las mismas operaciones.
La totalidad quiere decir que cada operación, o se ejecuta total y exitosamente, o falla y no tiene efecto sobre el estado del sistema.



Un diccionario distribuido.
El diccionario es modelado como un conjunto, con una operación insertar para agregar un elemento al conjunto, borrar para remover un elemento y listar para observar los miembros del conjunto. El objetivo es hacer al sistema altamente disponible, en el sentido de que cualquiera de los nodos con posibilidades de operar, deberían ejecutar cualquiera de las tres operaciones en cualquier momento, sin importar el estado de la red o de los otros nodos.

La implementación funciona procesando cada operación en un sólo nodo, cada uno de los cuales cuenta con una copia del diccionario. Si se realiza una operación de inserción o eliminación en un nodo, sólo se actualiza la copia de ése nodo, y posteriormente, por medio del envío de mensajes, se propagan las modificaciones a los demás nodos del sistema. Debido a que un nodo puede no saber de las operaciones ejecutadas en otros nodos.

UNIDAD IV METODOLOGIA PARA EL DESARROLLO DE PROYECTOS EN SISTEMAS DISTRIBUIDOS




4.1 Especificaciones de Alto Nivel
4.2 Estandares
4.3 Herramientas de Diseño
4.4 Documentacion de Sistemas Distribuidos

3.2 Teoria de Transacciones Anidadas

La estructura de una transacción usualmente se le da el nombre de modelo de la transacción, estas pueden ser planas (simples) o anidadas. Un aspecto muy importante es el mantener y aplicar algoritmos de control sobre los datos o recursos, también se utilizan protocolos que proporcionan confiabilidad:
• Atomicidad.
• Protocolos de recuperación total.
• Protocolos de compromiso global.
El control de las transacciones también requiere de controlar la concurrencia del acceso y uso hacia el recurso que se esta manipulando, ese control de concurrencia tiene 2 objetivos:
1. Como sincronizar la ejecución concurrente de transacciones.
2. Consistencia intratransacción (aislamiento).
Propiedades de las transacciones.
Atomicidad de fallas. Consiste en efectuar todas las transacciones, pero en caso de falla no se realiza ninguna.
Permanencia. Consiste en que una vez completada una transacción satisfactoriamente los cambios ya no pueden perderse.
Seriabilidad. Consiste en asegurarse que los cambios siguen un orden adecuado.
Aborto de transacciones propio para cada transacción. Es la capacidad que se tiene para abortar el proceso transaccional en cualquier punto, el resultado de esta operación no puede ser revelado para otras transacciones.
Punto de inicio y terminación. Consiste en especificar un bloque inicial y un punto que termina el fin de ese bloque.

Dentro de este proceso en bloque los demás usuarios no pueden modificar nada hasta que no se presente un estado estable de los datos, esto ocasiona inconsistencia temporal y conflictos. Para evitar lo anterior se implementan dos maneras diferentes:
Ejecutar transacciones serializadas. Es un sistema que permite el procesamiento de transacciones en forma secuencial o serializado y consiste en asignarle una secuencia a cada transacción, este proceso reduce el rendimiento del sistema.
Ejecutar transacciones calendarizadas. Es un sistema que permite el proceso de transacciones asignándole tiempos de procesamiento el cual permite incrementar el rendimiento del sistema ya que se ejecuta un máximo de proceso en forma concurrente y no a través de una serie.

3.1 Proceso de Transacciones en Sistemas Distribuidos

Las transacciones son un mecanismo que ayuda a simplificar la construcción de sistemas confiables a través de procesos que proveen soporte uniforme para invocar y sincronizar operaciones como:

* Operaciones de compartición de datos.
* Aseguramiento de la seriabilidad de las transacciones con otras.
* Atomicidad en su comportamiento.
* Recuperación de fallas provocadas en red y nodos.

El manejo de transacciones fue desarrollado en el campo de las operaciones financieras donde se tenía 3 reglas básicas:
• Consistencia: Obedecer ciertas reglas.
• Atomicidad: Debe ocurrir completo o abortar.
• Durabilidad: Una vez iniciada una transacción y terminada completamente no puede ser abortada.
• Dentro del área de los sistemas computacionales el concepto de transacciones fue inicialmente utilizado para definir la consistencia entre múltiples usuarios de una base de datos.
Motivos del uso de transacciones.
Los sistemas distribuidos tienen varios aspectos que representan problemas para la integridad de los recursos, los cuales motivan el uso de transacciones:
1. Dificultad para mantener consistencia en los datos.
2. Una misma vía de comunicación no siempre puede ser utilizada para proveer interacción entre 2 procesos.
3. Requerimientos de procesamiento en paralelo.
4. Manejo interactivo de uno o más usuarios

UNIDAD III TRANSACCIONES



3.1 Proceso de Transacciones en Sistemas Distribuidos
3.2 Teoria de Transacciones Anidadas

2.8 Beneficios de Duplicidad

En un sistema distribuido, es común que la información se duplique para mejorar el desempeño y la disponibilidad. Almacenando copias de información compartida en procesadores donde sea frecuentemente accesada, se decrementará el uso de accesos de lectura remotos.

Además, almacenando copias de la información que resulta crítica en procesadores con modos de falla independientes, se aumentará la probabilidad de que estará disponible al menos una copia de la información crítica.

Es común que la duplicidad resulte central al resolver algunos problemas de computación distribuida.
Cualquier demora impuesta por la red a los controladores debe ser resuelta, pero en un sistema donde la información no es duplicada o almacenada en caché, esto es difícil de garantizar debido a la perdida de paquetes. Por lo anterior, los sistemas distribuidos de tiempo real necesitan de algún método para duplicar información crítica requerida en rutas críticas.

La duplicidad de la información beneficia altamente el trabajo en red, ya que en el caso de alguna caída de alguna máquina se puede propagar la falla a otras más. Puede ser necesario tener respaldos de procesos que se restablecerán para completar el proceso interrumpido.

2.7 Fallos de Particion



Cuando llega a fallar la comunicación entre dos sitios que contienen copias de los mismos datos lógicos, se hace difícil asegurar la consistencia mutua entre las copias. Las fallas más dañinas son las fallas de partición, las cuales fragmentan la red en subredes aisladas llamadas particiones. A menos que las fallas de partición sean detectadas y reconocidas por todos los procesadores afectados, las modificaciones independientes y no coordinadas pueden aplicarse a las diferentes copias de la información, comprometiendo la correctitud (integridad) de ella.

Sin embargo, los problemas relacionados con el funcionamiento correcto de un sistema de archivos distribuidos particionado no se limita sólo a aquellos asociados con que la información almacenada sea correcta. Debido al costo y la complejidad de mantener información duplicada, la mayoría de los sistemas de archivos distribuidos limitan la cantidad de réplicas a algunas cuantas copias. Ya que la información no se encuentra duplicada en todos los sitios de la red, se pueden montar consultas durante una partición de la red, por lo que no toda la información se encuentre disponible en determinado momento.

2.6 Duplicidad de Datos



Se usa la duplicidad de los datos para mantener en línea copias de información y de otros recursos. La duplicidad resulta un campo clave en los sistemas distribuidos, ya que provee un mejor desempeño, alta disponibilidad y tolerancia a fallas.

A continuación se mencionan algunas de las razones principales de la duplicidad.

• Desempeño. La réplica de información puede ser usada para incrementar el tiempo de respuesta a un servicio, ya que la información compartida por un número grande de usuarios no debería ser almacenada en un sólo sitio, pues esa computadora se convertiría en un cuello de botella y aumentarían los tiempos de respuesta. Es preferible distribuir varias copias de información en varios servidores y lograr que cada uno de ellos atienda a un número de usuarios más reducido.
• Disponibilidad. Al tener varias copias de información en dos o más servidores independientes a fallas ejecutando software similar, si llegase a fallar el servidor por defecto, el software cliente puede accesar a un servidor alternativo y obtener los servicios requeridos.
• Tolerancia a fallas. Si cada uno de los servidores de una colección procesa en paralelo cada petición de un cliente, entonces es posible garantizar el procesamiento correcto de una petición, aún si uno o más de los servidores llegaran a fallar.
El mayor requerimiento que se presenta al duplicar información, es la transparencia de almacenamiento. Esto quiere decir que los usuarios no deben preocuparse o tener en cuenta de que existen varias copias físicas de la información.

Otro requerimiento para la información duplicada es la consistencia. Consideremos el caso en que los clientes hacen peticiones de lectura y de escritura a un conjunto de partidas en la información. No es correcto que diferentes clientes que realicen la misma operación que afectan al mismo grupo de datos, obtengan diferentes resultados.

2.5 Archivos Distribuidos

Todos los usuarios en un sistema distribuido son creadores y consumidores potenciales de información. En ocasiones, los usuarios desearían modificar o consultar su información desde una terminal remota; lo que trae que la ubicación física o territorial del usuario requiere que la información esté disponible desde cualquier lugar. El gran reto técnico a esta necesidad, es lograr que la información que sea compartida o no, esté segura, sea confiable y eficiente, en una forma en que no importe el tamaño del sistema distribuido.

Los sistemas de archivos distribuidos son la principal clase de mecanismos que han evolucionado para compartir información en un ambiente de múltiples usuarios.

Al hablar de archivos, debemos tener en cuenta el medio de almacenamiento para éstos; y debemos hablar de medios de almacenamiento permanente. Los medios de almacenamiento permanente consisten en un conjunto de objetos que explícitamente desde su creación, son inmunes a fallas del sistema, y persisten hasta que son físicamente destruidos.

En un modelo de un sistema de computación con un sólo usuario, en un sólo sitio de procesamiento; se observan cuatro apartados clave en el sistema de archivos:

1. Nombres. Tiene que ver con la forma en que los usuarios pueden nombrar a los archivos, que tan largos pueden ser los nombres de los archivos o si tienen alguna extensión.
2. Interfaz de programación. Contempla la forma en los archivos serán accesados desde las aplicaciones, ya sea por un mapa en donde se dirigen los archivos a una dirección de memoria usada por un proceso y accesar su contenido como si fuese memoria virtual, o incorporar en el sistema operativo una serie de operaciones para tratar a los archivos.
3. Almacenamiento físico. Trata en la forma en que será llevada a cabo la organización de los archivos en los medios de almacenamiento físico, si la interfaz de programación es independiente del medio de almacenamiento, como se balancean los requerimientos de ejecución con los problemas de fragmentación.
4. Integridad. Se debe considerar la consistencia de los archivos en contra de fallas en la alimentación eléctrica, hardware, medio de almacenamiento y software.

2.4 Seguridad



La seguridad y la protección se encargan del control del uso y del acceso no autorizado a los recursos de hardware y software de un sistema de computación, ya que organizaciones de negocios y oficinas de servicios usan en gran medida a las computadoras para almacenar información, por lo que es necesario prevenir su uso y acceso no autorizado.

Podemos clasificar a las violaciones de seguridad en tres categorías :

• Liberación no autorizada de información. Ocurre cuando una persona no autorizada tiene la posibilidad de leer y tomar ventaja de la información almacenada en una computadora. También se incluye el uso no autorizado de un programa.
• Modificación no autorizada de información. Este tipo de violación se da cuando una persona tiene la posibilidad de alterar la información almacenada en un sistema computacional.
• Bloqueo no autorizado de servicios. Se da cuando una persona no autorizada bloquea la capacidad de algún usuario autorizado, a accesar la información almacenada en un sistema computacional.

La seguridad en los sistemas computacionales puede dividirse en dos tipos:

• La seguridad externa (llamada comúnmente seguridad física), se encarga de regular el acceso al hardware del sistema, incluyendo: discos, cintas, reguladores y no-breaks, acondicionadores de aire, terminales, procesadores.
• La seguridad interna se encarga del acceso y uso del software almacenado en el sistema. A diferencia de la seguridad física, existe el tema de autenticación, en el cual el usuario se registra (login) en el sistema para accesar a los recurso de hardware y software del mismo.

2.3 Proteccion



La seguridad en los sistemas de computadoras incluye muchos aspectos: confiabilidad, autenticidad, integridad, privacía; y se relaciona con la prevención de que usuarios no autorizados hagan uso de los datos y recursos.

Los mecanismos que previenen el acceso no autorizado se denominan como mecanismos de protección. Podemos hablar de la protección como una área que abarca varios aspectos de la seguridad.
El fin de estos mecanismos es el de prevenir que algunos usuarios puedan robar espacio en disco, ciclos de procesamiento, que los archivos no sean leídos por personas ajenas o que modifiquen bases de datos que no les pertenezcan. Los mecanismos de protección tienen que poner atención en los siguientes temas:
1. Privacidad de almacenamiento. Se refiere a que los usuarios deben poder mantener su información en secreto.
2. Privacidad en el paso de mensajes. La privacidad tiene que ver con que a los usuarios se les garantice que la información que entreguen sea usada solamente para los propósitos para los que fue remitida.
3. Autenticidad. La información que se entregue a algún usuario debe ser auténtica, es decir; se debe poder verificar y asegurar la fuente de donde proviene la información.
4. Integridad. La información almacenada por el sistema no debe ser corrupta ya sea por el sistema o por algún usuario no autorizado.
Es común que asociemos los derechos para accesar ciertos objetos a cierta persona en específico y los derechos de acceso comúnmente son pasados de un usuario (o servidor), a cualquier proceso ejecutado por ese usuario. Se usa el término dominio para indicar al conjunto de cosas (usuarios, servidores y procesos) que pueden accesar a ciertos objetos.

Los objetos resguardados por los mecanismos de protección van desde los archivos y los directorios, hasta los procesos, y aún los mismos dominios de protección.

2.2 Criptografia



En un sistema en el que participan varios usuarios, existe la posibilidad de que algún usuario no autorizado intente tener acceso a información confidencial. Debido a esto, es necesario agregar otros mecanismos de protección para que los intrusos (usuarios no autorizados), si logran irrumpir en el sistema; no entiendan o hagan uso de la información que puedan obtener de manera no autorizada.

La criptografía es un proceso para transformar datos, generalmente texto claro a un texto clave o cifrado, y que sólo puede ser convertido nuevamente en un texto claro y entendible usando una llave en particular y aplicándole un algoritmo apropiado. Por lo general, las técnicas de criptografía se aplican antes de que la información sea almacenada o transmitida por algún canal físico, en el caso de una red. Existen varios tipos o categorías en que se clasifican las técnicas de encriptación de información.

Sistemas de encriptación

• Sistemas convencionales
• Sistemas modernos
• Sistemas de llave pública
• Sistemas de llave privada

Sistemas convencionales de encriptación.
Este tipo de encriptación se basa en la sustitución de cifras, en la cual, cada caracter en un texto claro o base es sustituido por otro caracter. Existen varias técnicas:

• Cifra Caesar.
En éste método, cada letra del texto original se transforma en la tercer letra siguiente Por ejemplo, "CASA" es transformado en "FDVD", de acuerdo al equivalente en la tabla de códigos ASCII.
Los problemas principales con esta técnica son que 1) ya que la transformación es lineal, determinar la llave es muy simple y 2) el número de llaves es muy pequeño ya que se restringe al tamaño del código usado (ASCII en el ejemplo).

• Sustitución simple.
En este método, cualquier permutación de letras puede ser identificado al lenguaje Español o Inglés y elimina la relación posicional de la Cifra Caesar, debido a que cada permutación de letras es una llave, hay (>1026) llaves en una cifra como ésta, lo que hace muy costosa una búsqueda exhaustiva. Sin embargo, la cifra por sustitución simple preserva la frecuencia de sustitución de las letras de un alfabeto porque se ejecuta la misma sustitución en todas las ocurrencias de una letra, y puede usarse un análisis estadístico para desencriptar la cifra.

• Cifra polialfabética.
La cifra polialfabética usa una secuencia periódica de n letras de sustitución, es decir; el método actúa con n sustituciones alfabéticas periódicamente. Este método puede tener un mayor impacto si se escoge apropiadamente la sustitución. Una forma de aplicar este método es usar la Cifra Caesar con diferentes llaves. Por ejemplo, se puede tener la secuencia de enteros 11, 19, 4, 22, 9, 25 y se obtendría el texto cifrado agregando repetidamente cada entero al texto original.
Este método es también vulnerable, porque si se conoce el periodo (secuencia de enteros), las diferentes cifras de cada periodo se pueden determinar por una búsqueda exhaustiva.

Sistemas modernos de encriptación
Usan información representada en forma binaria. Generalmente, en estos métodos se conocen las técnicas de encriptación y desencriptación, pero la llave requerida para desencriptar el texto cifra se mantiene en secreto. Los esquemas de criptografía moderna se basan en el principio de la búsqueda exhaustiva, aunque se conozca el mecanismo de desencriptación, el procedimiento de desencriptación es tan intensivo computacionalmente, que tomaría un tiempo prohibitivo para encontrar la llave.

Método de llave privada
La criptografía por llave privada se ha convertido en un estándar. Fue desarrollado por IBM. Este método es conocido como el Estándar de Encriptación de Datos (DES, por sus siglas en inglés), y utiliza básicamente dos operaciones:
Se usa una operación de permutación para permutar los bits de una palabra y su objetivo es difundir o esparcir la correlación y las dependencias entre los bits de una palabra.
Una operación de sustitución reemplaza una entrada de m bits por una salida n de bits, sin que exista una relación directa entre ambas. Generalmente, una operación de sustitución consta de tres pasos: primero, la entrada de m bits se convierte a una forma decimal; segundo, se permuta la forma decimal (para obtener otro número decimal); y finalmente, la salida decimal se convierte en una salida de n bits.

Método de llave pública
El método de encriptación por llave privada (así como los métodos convencionales) requiere la distribución de llaves secretas a través de una red de comunicaciones insegura, antes de que se pueda tener una comunicación segura. Este problema es conocido como problema de distribución de llaves.
El método de criptografía por llave pública resuelve este problema anunciando al dominio público el método de encriptación E (y su llave asociada); sin embargo, se mantiene secreto el método de desencriptación D (y su llave asociada).

2.1 Nombres

En un sistema distribuido, se usa algún nombre para hacer referencia a algún recurso como nodos de procesamiento (computadoras), puertos, servicios y usuarios. Los nombres son útiles al momento en que se desea establecer una comunicación o compartir recursos en un sistema distribuido. A continuación se listan algunos tipos de nombres:

• Identificadores de puertos y procesos.
• Nombres textuales de servicios.
• Identificadores de recursos.
• Nombres de archivos.
• Direcciones físicas y lógicas de redes.

Debido a que en un sistema distribuido los administradores de sistemas tienen que hacer referencia a la mayoría de los componentes del sistema y configuración del mismo, que los programadores tienen que hacer referencia a los servicios por su nombre y los usuarios necesitan comunicarse entre ellos, los nombres deben ser totalmente legibles.
A la asociación entre un nombre y un objeto se llama liga o conexión.

Servicio de nombres.

En sistemas distribuidos, el uso de nombres para propósitos de comunicación no es del todo suficiente, por que los procesos de comunicación van de una computadora a otra, y es necesario el conocimiento de su ubicación. Esto nos lleva al problema de los nombres en un sistema de comunicaciones. Existen tres conceptos básicos en esta área:
• El nombre de un objeto, por ejemplo un recurso o servidor; especifica lo que busca un proceso.
• Una dirección especifica dónde se encuentra el objeto.
• Una ruta especifica cómo llegar ahí.

UNIDAD II ALMACENAMIENTO DE DATOS




2.1 Nombres
2.2 Criptolgrafia
2.3 Proteccion
2.4 Seguridad
2.5 Archivos Distribuidos
2.6 Duplicidad de Datos
2.7 Fallos de Particion
2.8 Beneficios de Duplicidad

Tipos de Servidores ( Blog Grupal )



Recomendamos visitar la siguiente direccion de blog, en el cual encontraran informacion importante acerca de los tipos de servidores que existen, dicho blog fue creado por todos los equipos del grupo,el segundo enlace contiene las exposiciones de dichos temas desarrollados en el blog de tipos de servidores, podras bajar y visualizar las presentaciones


Practica 2. Simulacion de una conexión de nodos

Practica 2. En esta sección simularemos una conexión de nodos.
Objetivo.- Que el alumno aprenda y tenga noción de simular una conexión de panel de parches.

Objetivo:
Nuestro objetivo es el de Simular una conexión de red por medio de un Panel de Parcheo.

Material:



2 Jack’s.
4Conectores RJ45.
2Cables crossover 4m y 3m.
1 m de cable UTP.
1Pinzas de ponchar.
1Pinzas de ponchar para jacks

Descarga el Trabajo Completo

Practica 1 Realizar un cable crossover

Practica 1. Realizar un cable crossover de 1.5mts y configurar la conexión computadora a computadora.

Actividad.
  1. Crear el cable crossover
  2. Configurar el grupo de trabajo “Práctica 1”
  3. Compartir una carpeta llamada 381 V práctica


Objetivo
Crear un cable de red cruzado categoría 5. Y probar nuestro cable por medio de una red de trabajo conectada de computadora a computadora.

Material.



  • 2 Conectores RJ45
  • Cable UTP
  • Pinzas ponchadoras
  • 2 computadoras con Tarjeta de red
  • Probador de cables (Tester)

Descarga el Trabajo Completo Aqui.!!

1.7 Arquitectura basicas




Una arquitectura es un conjunto de reglas, definiciones, terminos y modelos que se emplean para producir un producto.

Arquitectura Cliente-Servidor
Agrupa conjuntos de elementos que efectúan procesos distribuidos y computo cooperativo.Este modelo se basa en un Protocolo Solicitud respuesta. El cliente envia una solicitud de cierto servicio, el servidor realiza el trabajo y regresa el resultado de la operacion.

La Principal ventaja de este protocolo es su sencilles, unicamente se necesita la utilizacion del servidor.

Principales veneficios de la arquitectura Cliente-Servidor
  • Mejor aprovechamiento de la potencia de cómputo (Reparte el trabajo).
  • Reduce el tráfico en la Red. (Viajan requerimientos).
  • Opera bajo sistemas abiertos.
  • Permite el uso de interfaces gráficas variadas y versátiles.
Cliente
Conjunto de Software y Hardware que invoca los servicios de uno o varios servidores. Los Clientes interactúan con el usuario, usualmente en forma gráfica.

Características:

  • El Cliente oculta al Servidor y la Red.
  • Detecta e intercepta peticiones de otras aplicaciones y puede redireccionarlas.
  • Dedicado a la cesión del usuario ( Inicia…Termina ).
  • El método más común por el que se solicitan los servicios es a través de RPC (Remote Procedure Calls).

Funciones Comunes del Cliente:
  • Mantener y procesar todo el dialogo con el usuario.
  • Manejo de pantallas.
  • Menús e interpretación de comandos.
  • Entrada de datos y validación.
  • Procesamiento de ayudas.
  • Recuperación de errores.
  • Generación de consultas e informes sobre las bases de datos.
Servidor
Conjunto de Hardware y Software que responde a los requerimientos de un cliente. Los Servidores proporcionan un servicio al cliente y devuelven los resultados.

Tipos Comunes de Servidores:
  • Servidor de Archivos (FTP, Novell).
  • Servidor de Bases de Datos (SQL, CBASE, ORACLE, INFORMIX).
  • Servidor de almacenamiento
  • Servidor de Impresión.
  • Servidor de Correo.
  • Servidor Web.
Otras Arquitecturas:
  • P2P (Peer to Peer)
  • Arquitecturas Intermedias
  • Arquitecturas N capas
  • Clientes Pesados
  • Clientes Ligeros
  • Clientes Inteligentes

1.6 Requerimientos de aplicaciones en los SD

Los requerimientos necesarios son:
1.-Disponibilidad y Confiabilidad
  • Sistema poco propenso a fallas (Si un componente no afecta a la disponibilidad del sistema).
  • Mayores servicios que elevan la funcionalidad ( Monitoreo, Telecontrol, Correo Eléctrico, Etc.).

2.-Transparencia
Tipos de Transparencia:
  • Transparencia de Localizacion
  • Transparencia de Replica
  • Transparencia de Migracion
  • Transparencia de Concurrencia

1.5 Tecnicas de Produccion de un SD



  • Seguridad
  • Desempeño y Crecimiento modular
  • Tiempo de Respuesta
  • Control Autonomo
  • Comunicaciones (Ancho banda)

1.4 Complejidad de los SD

Los Sistemas Distribuidos tienen mas de dos decadas de haber existido, entre sus caracteristicas se encuentran las siguientes:

  • Fuente basica de la complejidad de los SD recae en la conexion de sus componentes
  • Existen fallas en todos los Sistemas, solo que en un SD resulta mas visible, entre las fallas mas comunes encontramos:
a)Fallas de Propagacion
b)Fallas por el tamaño del Sistema

  • Las aplicaciones distribuidas deben estar preparadas para soportar fallas parciales
  • Sedebe tener mecanismos para localizacion de Recursos, equipos asi como la coordinacion de las replicas de los estados de los servidores.
  • No se tiene una disponibilidad de memoria global y un reloj global, en este caso no se puede predecir los retardos y mensajes.
  • Serequiere de una sincronizacion para actualizar el sistema.

1.3 Ventajas y Desventajas de un SD



Ventajas
  • Los usuarios acceden a los recursos remotos locales de la misma manera que se accesa a un recurso local.
  • Remplazo de un recurso en caso de alguno este descompuesto.
  • La comunicacion con un proceso remoto es similar a leer un archivo

Desventajas
  • Fallos de mantenimiento debido a la magnitud LAN, MAN, WAN
  • Deficiencia en la administracion
  • Fallas de seguridad
  • Fallas de temporizacion


Ventajas y Desventajas (sistemas.itlp.edu.mx):


Ventajas:

Procesadores más poderosos y a menos costos

* Desarrollo de Estaciones con más capacidades

* Las estaciones satisfacen las necesidades de los usuarios.

* Uso de nuevas interfaces.

Avances en la Tecnología de Comunicaciones.

* Disponibilidad de elementos de Comunicación.

* Desarrollo de nuevas técnicas.

Compartición de Recursos.

* Dispositivos (Hardware).

* Programas (Software).

Eficiencia y Flexibilidad.

* Respuesta Rápida.

* Ejecución Concurrente de procesos (En varias computadoras).

* Empleo de técnicas de procesamiento distribuido.

Disponibilidad y Confiabilidad.

* Sistema poco propenso a fallas (Si un componente no afecta a la disponibilidad del sistema).

* Mayores servicios que elevan la funcionalidad ( Monitoreo, Telecontrol, Correo Eléctrico, Etc.).

Crecimiento Modular.

* Es inherente al crecimiento.

* Inclusión rápida de nuevos recursos.

* Los recursos actuales no afectan.

Desventajas:

Requerimientos de mayores controles de procesamiento.

Velocidad de propagación de información ( Muy lenta a veces).

Servicios de replicación de datos y servicios con posibilidades de fallas.

Mayores controles de acceso y proceso ( Commit ).

Administración más compleja.

Costos.

1.2 Objetivos




Los sistemas distribuidos deben ser confiables ya que si un componente del sistema se descompone otro componente puede ser capaz de reemplazarlo

Caracteristicas de los SD

  • Flexibilidad
  • Economia
  • Escalabilidad
  • Transparencia
Otras Caracteristicas(sistemas.itlp.edu.mx):
  • Cada elemento de computo tiene su propia memoria y su propio Sistema Operativo.
  • Control de recursos locales y remotos.
  • Sistemas Abiertos (Facilidades de cambio y crecimiento).
  • Plataforma no standard ( Unix, NT, Intel, RISC, Etc.).
  • Medios de comunicación ( Redes, Protocolos, Dispositivos, Etc.).
  • Capacidad de Procesamiento en paralelo.
  • Dispersión y parcialidad.

1.1 Definicion de Sistemas Distribuidos




Sistema Distribuido:
Una coleccion de computadoras conectadas por una red de comunicaciones que el usuario persive como un solo sistema. El usuario accesa a los recursos remotos de la misma manera que si accesara a un recurso local


Otra definicion (sistemas.itlp.edu.mx):

Es un concepto poco claro de definir. Colección de elementos de cómputo autónomo que se encuentran físicamente separados y no comparten una memoria común, se comunican entre sí a través del intercambio de mensajes utilizando un medio de comunicación.

UNIDAD 1. FUNDAMENTOS DE LOS SISTEMAS DISTRIBUIDOS



1.1 Definicion
1.2 Objetivos
1.3 Ventajas y Desventajas
1.4 Complejidad de los Sistemas Distribuidos
1.5 Tecnicas de Produccion de un Sistema
1.6 Requerimientos de Aplicaciones en los SD
1.7 Arquitectura Basica

Presentacion de Autores Del Blog

Bienvenidos

Iniciamos con la elaboracion de este blog el cual tiene como objetivo principal el de reunir la informacion mas importante (Unidad por Unidad)conforme al temario de la Materia SISTEMAS DE DISTRIBUCION

Por el momento solo daremos la bienvenida, esperando que el sitio sea de su agrado y su regreso en actualizaciones posteriores.

Carlos Enrique Alanis Jimenez
Eduardo Isay Martinez Cruz
Sandra Yvette Rodriguez Suarez
Josue Mercado Perez
(Equipo 6)

Alumnos del 381-V del TESCI
Tecnologico de Estudios Superiores de Izcalli