Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Un sistema distribuido es una coleccin de computadoras independientes que aparecen ante los usuarios del sistema como una nica computadora (Tenenbaum Sistemas Operativos Distribuidos). Sistemas cuyos componentes hardware y software, que estn en computadoras conectadas en red, se comunican y coordinan sus acciones mediante el paso de mensajes, para el logro de un objetivo. Se establece la comunicacin mediante un protocolo prefijado por un esquema cliente-servidor. En la definicin de Tenenbaum hay dos aspectos importantes. El primero se refiere al hardware las mquinas son autnomas. El segundo se refiere al software, los usuarios piensan que el sistema es como una nica computadora. OBJETIVO. El objetivo principal es reducir el costo de inversin en cuanto a la implementacin de sistemas costosos, y su tarea principal es la resolucin de un problema en diferentes proporciones, la tarea la dividen en varias partes y cada mquina se encarga de resolver la tarea que le corresponde para luego unirlas todas despus de terminadas y regresadas a su lugar de origen esto es ms que nada cumplir la peticin del cliente. CARACTERISTICAS. Concurrencia.- Esta caracterstica de los sistemas distribuidos permite que los recursos disponibles en la red puedan ser utilizados simultneamente por los usuarios y/o agentes que interactan en la red. Carencia de reloj global.- Las coordinaciones para la transferencia de mensajes entre los diferentes componentes para la realizacin de una tarea, no tienen una temporizacin general, est ms bien distribuida a los componentes. Fallos independientes de los componentes.- Cada componente del sistema puede fallar independientemente, con lo cual los dems pueden continuar ejecutando sus acciones. Esto permite el logro de las tareas con mayor efectividad, pues el sistema en su conjunto continua trabajando. Cada elemento de cmputo tiene su propia memoria y su propio Sistema Operativo. Control de recursos locales y remotos.
Escalabilidad.- El sistema es escalable si conserva su efectividad al ocurrir un incremento considerable en el nmero de recursos y en el nmero de usuarios. Tratamiento de Fallos.- La posibilidad que tiene el sistema para seguir funcionando ante fallos de algn componente en forma independiente, pero para esto se tiene que tener alguna alternativa de solucin. Tcnicas para tratar fallos: o Deteccin de fallos. Algunos comprobaciones por ejemplo. fallos son detectables, con
o Enmascaramiento de fallos. Algunos fallos detectados pueden ocultarse o atenuarse. o Tolerancia de fallos. Sobre todo en Internet se dan muchos fallos y no es muy conveniente ocultarlos, es mejor tolerarlos y continuar. Ejemplo: Tiempo de vida de una bsqueda. o Recuperacin frente a fallos. Tras un fallo se deber tener la capacidad de volver a un estado anterior. o Redundancia. Se puede usar para tolerar ciertos fallos (DNS, BD, etc.) Concurrencia. Compartir recursos por parte de los clientes a la vez. Transparencia. Es la ocultacin al usuario y al programador de aplicaciones de la separacin de los componentes en un sistema distribuido. Se identifican 8 formas de transparencia: o De Acceso. Se accede a recursos locales y remotos de forma idntica. o De ubicacin. Permite acceder a los recursos sin conocer su ubicacin. o De concurrencia. Usar un recurso compartido sin interferencia. o De replicacin. Permite utilizar varios ejemplares de cada recurso. o Frente a fallos. Permite ocultar los fallos.
ARQUITECTURAS DE NIVELES DE INTERMEDIOS (MIDDLEWARE) DE COMUNICACIONES TCP/IP. Antes de ver lo que es el middleware haremos referencia hacia el protocolo TCP/IP con la siguiente informacin: PROTOCOLO TCP/IP. HISTORIA El Protocolo de Internet (IP) y el Protocolo de Transmisin (TCP), fueron desarrollados inicialmente en 1973 por el informtico estadounidense Vinton Cerf como parte de un proyecto dirigido por el ingeniero norteamericano Robert Kahn y patrocinado por la Agencia de Programas Avanzados de Investigacin (ARPA, siglas en ingls) del Departamento Estadounidense de Defensa. Internet comenz
Sistemas Distribuidos Unidad I Y II. .
NIVEL DE APLICACIN NIVEL DE TRANSPORTE NIVEL DE INTERNET NIVEL DE RED NIVEL FSICO Arquitectura TCP/IP El TCP/IP necesita funcionar sobre algn tipo de red o de medio fsico que proporcione sus propios protocolos para el nivel de enlace de Internet. Por este motivo hay que tener en cuenta que los protocolos utilizados en este nivel pueden ser muy diversos y no forman parte del conjunto TCP/IP. Sin embargo, esto no debe ser problemtico puesto que una de las funciones y ventajas principales del TCP/IP es proporcionar una abstraccin del medio de forma que sea posible el intercambio de informacin entre medios diferentes y tecnologas que inicialmente son incompatibles. Para transmitir informacin a travs de TCP/IP, sta debe ser dividida en unidades de menor tamao. Esto proporciona grandes ventajas en el manejo de los datos que se transfieren y, por otro lado, esto es algo comn en cualquier protocolo de comunicaciones. En TCP/IP cada una de estas unidades de informacin recibe el nombre de "datagrama" (datagram), y son conjuntos de datos que se envan como mensajes independientes. PROTOCOLOS TCP/IP FTP, SMTP, TELNET TCP IP, ICMP, 802.2, X.25 ETHERNET, IEEE 802.2, X.25 FTP (File Transfer Protocol). Se utiliza para transferencia de archivos. SMTP (Simple Mail Transfer Protocol). Es una aplicacin para el correo electrnico. TELNET: Permite la conexin a una aplicacin remota desde un proceso o terminal. SNMP, X-WINDOWS, RPC, NFS UDP
CARACTERSTICAS DE TCP/IP Ya que dentro de un sistema TCP/IP los datos transmitidos se dividen en pequeos paquetes, stos resaltan una serie de caractersticas. La tarea de IP es llevar los datos a granel (los paquetes) de un sitio a otro. Las computadoras que encuentran las vas para llevar los datos de una red a otra (denominadas enrutadores) utilizan IP para trasladar los datos. En resumen IP mueve los paquetes de datos a granel, mientras TCP se encarga del flujo y asegura que los datos estn correctos. Las lneas de comunicacin se pueden compartir entre varios usuarios. Cualquier tipo de paquete puede transmitirse al mismo tiempo, y se ordenar y combinar cuando llegue a su destino. Compare esto con la manera en que se transmite una conversacin telefnica. Una vez que establece una conexin, se reservan algunos circuitos para usted, que no puede emplear en otra llamada, aun si deja esperando a su interlocutor por veinte minutos. Los datos no tienen que enviarse directamente entre dos computadoras. Cada paquete pasa de computadora en computadora hasta llegar a su destino. ste, claro est, es el secreto de cmo se pueden enviar datos y mensajes entre dos computadoras aunque no estn conectadas directamente entre s. Lo que realmente sorprende es que slo se necesitan algunos segundos para enviar un archivo de buen tamao de una mquina a otra, aunque estn separadas por miles de kilmetros y pese a que los datos tienen que pasar por mltiples computadoras. Una de las razones de la rapidez es que, cuando algo anda mal, slo es necesario volver a transmitir un paquete, no todo el mensaje. Los paquetes no necesitan seguir la misma trayectoria. La red puede llevar cada paquete de un lugar a otro y usar la conexin ms idnea que est disponible en ese instante. No todos los paquetes de los mensajes tienen que viajar, necesariamente, por la misma ruta, ni necesariamente tienen que llegar todos al mismo tiempo.
Sistemas Distribuidos Unidad I Y II. .
CMO FUNCIONA - IP: IP a diferencia del protocolo X.25, que est orientado a conexin, es sin conexin. Est basado en la idea de los datagramas interred, los cuales son transportados transparentemente, pero no siempre con seguridad, desde el hostal fuente hasta el hostal destinatario, quizs recorriendo varias redes mientras viaja. El protocolo IP trabaja de la siguiente manera; la capa de transporte toma los mensajes y los divide en datagramas, de hasta 64K octetos cada uno. Cada datagrama se transmite a travs de la red interred, posiblemente fragmentndose en unidades ms pequeas, durante su recorrido normal. Al final, cuando todas las piezas llegan a la mquina destinataria, la capa de transporte los reensambla para as reconstruir el mensaje original. Un datagrama IP consta de una parte de cabecera y una parte de texto. La cabecera tiene una parte fija de 20 octetos y una parte opcional de longitud variable. El campo Versin indica a qu versin del protocolo pertenece cada uno de los datagramas. Mediante la inclusin de la versin en cada datagrama, no se excluye la posibilidad de modificar los protocolos mientras la red se encuentre en operacin. El campo Opciones se utiliza para fines de seguridad, encaminamiento fuente, informe de errores, depuracin, sellado de tiempo, as como otro tipo de informacin. Esto, bsicamente, proporciona un escape para permitir que las versiones subsiguientes de los protocolos incluyan informacin que actualmente no est presente en el diseo original. Tambin, para permitir que los experimentadores trabajen con nuevas ideas y para evitar, la asignacin de bits de cabecera a informacin que muy rara vez se necesita. Debido a que la longitud de la cabecera no es constante, un campo de la cabecera, IHL, permite que se indique la longitud que tiene la cabecera en palabras de 32 bits. El valor mnimo es de 5. Tamao 4 bit. El campo Tipo de servicio le permite al hostal indicarle a la subred el tipo de servicio que desea. Es posible tener varias combinaciones con respecto a la
Sistemas Distribuidos Unidad I Y II. .
A B C
En la clasificacin de direcciones anterior se puede notar que ciertos nmeros no se usan. Algunos de ellos se encuentran reservados para un posible uso futuro, como es el caso de las direcciones cuyo primer byte sea superior a 223 (clases D y E, que an no estn definidas), mientras que el valor 127 en el primer byte se utiliza en algunos sistemas para propsitos especiales. Tambin es importante notar que los valores 0 y 255 en cualquier byte de la direccin no pueden usarse normalmente por tener otros propsitos especficos. El nmero 0 est reservado para las mquinas que no conocen su direccin, pudiendo utilizarse tanto en la identificacin de red para mquinas que an no conocen el nmero de red a la que se encuentran conectadas, en la
Diferencias entre el protocolo tp4 del modelo OSI y TCP Una segunda diferencia es con respecto a lo que sucede cuando los dos procesos, en forma simultnea, intentan establecer conexiones entre los mismos dos TSAP (es decir, una colisin de conexiones). Con TP4 se establecen dos conexiones duplex independientes; en tanto que con TCP, una conexin se identifica mediante un par de TSAP, por lo que solamente se establece una conexin.
Versin Longitud
Las extensiones que permite aadir esta versin del protocolo se sitan inmediatamente despus de la cabecera normal, y antes de la cabecera que incluye el protocolo de nivel de transporte. Los datos situados en cabeceras opcionales se procesan slo cuando el mensaje llega a su destino final, lo que supone una mejora en el rendimiento. Otra ventaja adicional es que el tamao de la cabecera no est limitado a un valor fijo de bytes como ocurra en la versin 4. Por razones de eficiencia, las extensiones de la cabecera siempre tienen un tamao mltiplo de 8 bytes. Actualmente se encuentran definidas extensiones para routing extendido, fragmentacin y ensamblaje, seguridad, confidencialidad de datos, etc. Direcciones en la versin 6. El sistema de direcciones es uno de los cambios ms importantes que afectan a la versin 6 del protocolo IP, donde se han pasado de los 32 a los 128 bit (cuatro veces mayor). Estas nuevas direcciones identifican a un interfaz o conjunto de interfaces y no a un nodo, aunque como cada interfaz pertenece a un nodo, es posible referirse a stos a travs de su interfaz. El nmero de direcciones diferentes que pueden utilizarse con 128 bits es enorme. Tericamente seran 2128 direcciones posibles, siempre que no apliquemos algn formato u organizacin a estas direcciones. Este nmero es extremadamente alto, pudiendo llegar a soportar ms de 665.000 trillones de direcciones distintas por cada metro cuadrado de la superficie del planeta Tierra. Segn diversas fuentes consultadas, estos nmeros una vez organizados de forma prctica y jerrquica quedaran reducidos en el peor de los casos a 1.564 direcciones por cada metro cuadrado, y siendo optimistas se podran alcanzar entre los tres y cuatro trillones.
Sistemas Distribuidos Unidad I Y II. .
Como se observa en la figura anterior, se tienen tres elementos importantes: El Cliente Stub, un Servidor Skeleton y el ORB. El Cliente Stub es una entidad de programa que invoca una operacin sobre la implementacin de un objeto remoto a travs de un Stub cuyo propsito es lograr que la peticin de un cliente llegue hasta el ORB Core. Logrando el acoplamiento entre el lenguaje de programacin en que se escribe el cliente y el ORB Core. El stub crea y expide las solicitudes del cliente. Un Servidor Skeleton es la implementacin de un objeto CORBA en algn lenguaje de programacin, y define las operaciones que soporta una interface IDL CORBA. Puede escribirse en una gran variedad de lenguajes como C, C++, Java, Ada o Smalltalk. Y a travs del skeleton entrega las solicitudes procedentes del ORB a la implementacin del objeto CORBA. La funcin del ORB consiste en conectar las dos partes: cliente y servidor. Presumiblemente estas partes se ejecutan sobre plataformas distintas y funcionan con diferentes sistemas operativos. Esto significa que pueden existir diferencias en tipos de datos, el orden de los parmetros en una llamada, el orden de los bytes en una palabra segn el tipo de procesador, etc. Es misin del ORB efectuar los procesos conocidos como marshaling y unmarshaling. En caso de que el mtodo invocado devuelva un valor de retorno, la funcin de los ORB del cliente y servidor
Sistemas Distribuidos Unidad I Y II. .
Introduccin a la arquitectura en 3 niveles. En la arquitectura en 3 niveles, existe un nivel intermediario. Esto significa que la arquitectura generalmente est compartida por:
Sistemas Distribuidos Unidad I Y II. .
El uso masivo del trmino arquitectura en 3 niveles tambin denota las siguientes arquitecturas: Aplicacin compartida entre un cliente, un software intermedio y un servidor empresarial. Aplicacin compartida entre un cliente, un servidor de aplicaciones y un servidor de base de datos empresarial. Comparacin entre ambos tipos de arquitecturas. La arquitectura en 2 niveles es, por lo tanto, una arquitectura cliente/servidor en la que el servidor es polivalente, es decir, puede responder directamente a todas las solicitudes de recursos del cliente. Sin embargo, en la arquitectura en 3 niveles, las aplicaciones al nivel del servidor son descentralizadas de uno a otro, es decir, cada servidor se especializa en una determinada tarea, (por ejemplo: servidor web/servidor de bases de datos). La arquitectura en 3 niveles permite:
REDES P2P (PEER TO PEER) O DE IGUAL A IGUAL. A grandes rasgos, una red informtica entre iguales (en ingls peer-to-peer -que se traducira de par a par- o de punto a punto, y ms conocida como P2P) se refiere a una red que no tiene clientes ni servidores fijos, sino una serie de nodos que se comportan simultneamente como clientes y como servidores de los dems nodos de la red. Es una forma legal de compartir archivos de forma similar a como se hace en el email o mensajeros instantneos solo que de una forma mas eficiente. Este modelo de red contrasta con el modelo cliente-servidor el cual se rige de una arquitectura monoltica donde no hay distribucin de tareas entre s, slo una simple comunicacin entre un usuario y una terminal en donde el cliente y el servidor no pueden cambiar de roles.
Sistemas Distribuidos Unidad I Y II. .
El cliente enva una solicitud al servidor mediante su direccin IP y el puerto, que est reservado para un servicio en particular que se ejecuta en el servidor. El servidor recibe la solicitud y responde con la direccin IP del equipo cliente y su puerto. DEFINICION DE TRANSACCIONES. Una transaccin es una unidad lgica de trabajo, la cual no necesariamente consta de una sola operacin en la base de datos; ms bien, es en general una secuencia de varias de esas operaciones mediante la cual un estado consistente de la base de datos se transforma en otro estado consistente, sin conservar por fuerza la consistencia en todos los puntos intermedios. El punto importante aqu es asegurar que la base de datos regresa a un estado consistente al fin de la ejecucin de una transaccin. Una transaccin es tambin la invocacin a un procedimiento remoto (RPC) que ejecuta un conjunto de operaciones sobre una base de datos bajo el principio de todo o nada. El concepto fundamental aqu es la nocin de ejecucin consistente o procesamiento confiable asociada con el concepto de una consulta. El concepto
Sistemas Distribuidos Unidad I Y II. .
TIPOS DE TRANSACCIONES Transacciones simples. Todas las operaciones se llevan acabo en el mismo nivel dentro de una T La Transaccin empieza con un begin_transaction y termina ya sea con un commit_transaction o abort_transaction. Toda la transaccin es indivisible.
Sistemas Distribuidos Unidad I Y II. .
Transacciones Anidadas. Ejecutar transacciones anidadas. Consiste en tener transacciones que dependen de otras, estas transacciones estn incluidas dentro de otra de un nivel superior y se les conoce como: SubTransacciones. La transaccin de nivel superior puede producir hijos (Subtransacciones) que hagan ms fcil la programacin del sistema y mejorando el desempeo.
Transacciones Distribuidas (motor de base de datos) Las transacciones distribuidas abarcan dos o ms servidores conocidos como administradores de recursos. La administracin de la transaccin debe ser coordinada entre los administradores de recursos mediante un componente de servidor llamado administrador de transacciones. Cada instancia de SQL Server Database Engine (Motor de base de datos de SQL Server) puede funcionar como administrador de recursos en las transacciones distribuidas que coordinan los administradores de transacciones, como el Coordinador de transacciones
Sistemas Distribuidos Unidad I Y II. .