Agentes de software móviles: un paradigma alternativo para diseñar sistemas distribuidos

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Agentes de software móviles: un paradigma alternativo para diseñar sistemas distribuidos"

Transcripción

1 Agentes de software móviles: un paradigma alternativo para diseñar sistemas distribuidos Carla Mónica Capart - Marcia Silvana Stippi Director de tesina: Ing. Alejandro Rosales Tesina presentada a la Facultad de Ingeniería de la Universidad Nacional de la Patagonia San Juan Bosco como parte de los requisitos para la obtención del título de Licenciado en Informática Trelew, diciembre de 2006 Facultad de Ingeniería Sede Trelew Universidad Nacional de la Patagonia San Juan Bosco

2 Agradecimientos De Carla: A mi esposo Rodrigo y a mi hijito Franco, por comprenderme y perdonarme por todo el tiempo que les he quitado. A mamá, papá y mi hermano Alejandro, por valorar y apoyar siempre mis decisiones y proyectos. A mis suegros, por su acompañamiento durante la realización de este trabajo. De Marcia: A mi esposo Alexis, por su paciencia sin límites y su aliento constante. A toda mi familia, especialmente a mis padres, por inculcarme la importancia del estudio y ser un ejemplo de perseverancia y esfuerzo. De Carla y Marcia: Al Ing. Alejandro Rosales, por su dirección y sus sugerencias durante el desarrollo de esta tesina.

3 Resumen Un agente móvil es una entidad de software que tiene la capacidad de migrar en forma autónoma entre los nodos de una red. Para ello, suspende su ejecución, se transporta con su código, datos y estado de ejecución, y continúa ejecutándose en el nodo destino. En este trabajo, se presenta una aproximación general de la teoría de agentes móviles y su comparación con otros paradigmas de cómputo distribuido, se mencionan diferentes arquitecturas utilizadas para construir agentes de software, y se profundizan dos aspectos principales relacionados con la movilidad: el proceso de migración y la comunicación de agentes. Finalmente, se desarrolla un ejemplo siguiendo una metodología de análisis y diseño orientada a agentes con el propósito de facilitar la aplicación de los conceptos teóricos en un caso práctico. Carla M. Capart - Marcia S. Stippi Pág.: 1

4 Índice CAPÍTULO 1 INTRODUCCIÓN ORGANIZACIÓN MOTIVACIÓN EL CAMPO DE ESTUDIO OBJETIVOS Generales Particulares... 8 CAPÍTULO 2 CONCEPTOS BÁSICOS DEFINICIÓN DE AGENTE CLASIFICACIÓN DE AGENTES DEFINICIÓN DE AGENTE MÓVIL PARADIGMAS DE DISEÑO DE SISTEMAS DISTRIBUIDOS Cliente-servidor Evaluación remota Código por demanda Agentes móviles como un nuevo paradigma de diseño Comparación entre paradigmas BREVE HISTORIA DE AGENTES MÓVILES Los primeros pasos en código móvil Evaluación Remota Objetos móviles Procesos móviles Agentes móviles CARACTERÍSTICAS DE LOS AGENTES MÓVILES VENTAJAS DE LA UTILIZACIÓN DE AGENTES MÓVILES POSIBLES DOMINIOS DE APLICACIÓN CAPÍTULO 3 MODELOS Y ARQUITECTURAS ARQUITECTURAS ABSTRACTAS PARA AGENTES INTELIGENTES Agentes puramente reactivos Subsistemas de Percepción y Acción Agentes con estado TIPOS DE ARQUITECTURAS Agentes de razonamiento deductivo Agentes de razonamiento práctico Agentes reactivos Agentes híbridos ARQUITECTURAS MULTIAGENTES LA ARQUITECTURA FIPA ARQUITECTURA MASIF CAPÍTULO 4 MIGRACIÓN DE AGENTES TERMINOLOGÍA BÁSICA ESTRUCTURA DE UN AGENTE MÓVIL CICLO DE VIDA DE UN AGENTE MÓVIL Carla M. Capart - Marcia S. Stippi Pág.: 2

5 4.4 PROCESO DE MIGRACIÓN DE UN AGENTE TÓPICOS DE DISEÑO DE LA MIGRACIÓN DE AGENTES Vista del programador Vista del agente Vista de la red DESVENTAJAS DE LAS TÉCNICAS DE MIGRACIÓN SIMPLES RENDIMIENTO DE LOS AGENTES MÓVILES Aspectos de runtime Aspectos de transmisión CAPÍTULO 5 COMUNICACIÓN DE AGENTES MÓVILES TÓPICOS DE COMUNICACIÓN DE AGENTES MÓVILES CLASIFICACIÓN DE LOS MODELOS DE COMUNICACIÓN Pasaje de mensajes Espacio de información COMUNICACIÓN TRANSPARENTE DE LA UBICACIÓN Servidor Central Servidor Origen Punteros de Reenvío Broadcast Aproximaciones Jerárquicas COMPONENTES DEL MODELO DE COMUNICACIÓN LENGUAJES DE COMUNICACIÓN KQML (Knowledge Query and Manipulation Language) FIPA ACL (FIPA Agent Communication Language) CAPÍTULO 6 PLATAFORMAS PARA AGENTES MÓVILES CARACTERÍSTICAS DE ALGUNAS PLATAFORMAS ELECCIÓN DE LA PLATAFORMA A UTILIZAR DESCRIPCIÓN DE LA PLATAFORMA ELEGIDA: JADE Arquitectura de la plataforma Modelo de comunicación Características de un agente JADE Comportamientos Modelo de movilidad Requerimientos de software Ejecución de la plataforma Principales herramientas gráficas Ventajas de la utilización de JADE CAPÍTULO 7 CASO DE APLICACIÓN PRESENTACIÓN DE LA APLICACIÓN METODOLOGÍAS PARA EL DESARROLLO DE SISTEMAS MULTIAGENTES ANÁLISIS Y DISEÑO DE LA APLICACIÓN Fase de Análisis Fase de Diseño DIAGRAMAS DE CLASES CAPÍTULO 8 CONCLUSIONES GLOSARIO APÉNDICE A LUCENE APÉNDICE B INSTRUCTIVO DE LA APLICACIÓN APÉNDICE C MAILS A LISTA DE JADE BIBLIOGRAFÍA Carla M. Capart - Marcia S. Stippi Pág.: 3

6 Capítulo 1 Introducción 1.1 Organización A través de este trabajo pretendemos ofrecer una primera aproximación al paradigma de agentes de software, y en particular de agentes de software móviles, mostrando el estado del arte en lo que respecta a esta tecnología y aplicando una metodología de análisis y diseño orientada a agentes en el desarrollo de un caso práctico. Delinearemos a continuación, la secuencia de contenidos que iremos desarrollando en esta tesina. En el presente capítulo mencionamos nuestra motivación por el tema elegido; presentamos el campo de estudio, describiendo de manera general el paradigma de agentes móviles y cómo se inserta esta nueva tecnología dentro de los sistemas distribuidos actuales; e incluimos los objetivos de nuestra investigación. En el capítulo 2 introducimos los conceptos básicos referentes a agentes de software, y en particular a agentes de software móviles. Detallamos también los paradigmas tradicionales de diseño de sistemas distribuidos comparándolos con la tecnología de agentes móviles. Finalmente, describimos brevemente la evolución histórica de los agentes móviles y los posibles dominios de aplicación de esta tecnología. En el capítulo 3 presentamos arquitecturas abstractas para el modelado de agentes e incluimos una clasificación de los tipos de arquitecturas que se utilizan en la actualidad para construir agentes, la cual se basa en los diferentes modelos de representación del conocimiento y razonamiento utilizados en el diseño de los agentes. Luego abordamos las arquitecturas de sistemas multiagentes, mencionando los estándares FIPA y MASIF. En el capítulo 4 detallamos la estructura de un agente móvil y los pasos que tienen lugar en el proceso de migración. Luego explicamos los distintos tópicos de diseño concernientes a la migración de agentes y mencionamos los factores que inciden en el rendimiento de los mismos. Carla M. Capart - Marcia S. Stippi Pág.: 4

7 En el capítulo 5 tratamos los tópicos referentes a la comunicación de agentes móviles y describimos los distintos modelos de comunicación existentes. Explicamos también las técnicas que utilizan las plataformas de agentes para permitir que éstos se comuniquen de manera confiable a medida que van cambiando de ubicación durante la migración. Finalizando el capítulo, presentamos los lenguajes de comunicación de agentes, mencionando algunos estándares. En el capítulo 6 especificamos las características más relevantes de algunas plataformas para el desarrollo de agentes móviles. Luego presentamos la plataforma elegida para el desarrollo del caso de aplicación, justificando su elección; a continuación detallamos las características de esta plataforma y explicamos cómo utilizar el toolkit que provee para programar agentes móviles. En el capítulo 7 describimos el caso de aplicación desarrollado, presentamos la metodología seguida y exponemos los resultados obtenidos en las fases de análisis y diseño, incluyendo también los diagramas de clases de la aplicación. Finalmente, en el capítulo 8, exponemos algunas conclusiones del estudio realizado y sugerimos algunos trabajos que se podrían considerar en el futuro para profundizar en el conocimiento de esta tecnología y su aplicación. La tesina concluye con tres apéndices. En el apéndice A, describimos las características más relevantes de Lucene, la librería utilizada en la aplicación desarrollada para confeccionar los índices y realizar las búsquedas en los documentos. En el apéndice B incluimos información sobre los requerimientos y la configuración del programa, así como también el instructivo de uso. En el apéndice C recopilamos los mails intercambiados con los desarrolladores de la plataforma utilizada. 1.2 Motivación La tecnología de agentes móviles plantea para nosotras un nuevo universo dentro del diseño de sistemas distribuidos, ya que es un tema que trasciende las fronteras de los contenidos abordados en materias como Redes y Transmisión de Datos y Sistemas Distribuidos, de la Licenciatura en Informática, en las cuales hemos estudiado algunas técnicas tradicionales de distribución de código como cliente-servidor (aplicaciones basadas en RPC, RMI, etc.) o código bajo demanda (por ejemplo, Applets en lenguaje Java). Carla M. Capart - Marcia S. Stippi Pág.: 5

8 Teníamos conocimiento del auge de la mencionada tecnología y de las afirmaciones de investigadores que la proponen como una solución promisoria para satisfacer las demandas del usuario de hoy, que surgen de la computación nómada y del uso creciente de las redes inalámbricas, entre otras tendencias actuales. Estas demandas conllevan a buscar soluciones tan dinámicas y móviles como los usuarios finales. Esto nos llevó a interiorizarnos sobre el tema ya que concebimos como profesionales en informática, que para aplicar una tecnología es importante conocer, además del uso de las herramientas, los fundamentos que la sustentan. Todo lo expuesto nos orientó a enfocar la investigación en los mecanismos utilizados para implementar la movilidad y a profundizar sobre los aspectos de diseño relacionados con el proceso de migración y la comunicación de los agentes móviles, ya que consideramos que en ambientes distribuidos con ciertas características (entornos abiertos y cambiantes, con redes heterogéneas y con conexiones de red de distinta calidad) la tecnología de agentes móviles se convierte en una herramienta que se debe tener en cuenta a la hora de diseñar sistemas distribuidos. 1.3 El campo de estudio Como consecuencia de los avances de los últimos años en las tecnologías de redes y computación, los sistemas distribuidos, antes compuestos por un conjunto de computadoras homogéneas, con igual tipo de procesador y de sistema operativo, conectadas por una red dedicada, evolucionaron permitiendo la conexión de un gran número de computadoras heterogéneas. Internet ha sido ampliamente aceptada como un medio de intercambio de información muy importante, incrementándose continuamente el número de usuarios y el número de servicios ofrecidos en la red. El proceso de encontrar los datos más adecuados para un usuario se ha convertido en una tarea sumamente compleja, llevando al desarrollo de nuevas técnicas inteligentes para búsqueda, filtrado y gestión de datos con el fin de optimizar el uso de los recursos compartidos. Sumado a esto, han surgido nuevas tendencias que van tomando importancia, tales como el uso de redes inalámbricas y la computación nómada, la cual implica que los usuarios deben poder conectarse desde diferentes lugares y dispositivos y ver uniformemente los mismos datos y aplicaciones. Braun y Rossak (2005) sostienen que estas Carla M. Capart - Marcia S. Stippi Pág.: 6

9 tendencias requerirán la utilización de técnicas basadas en principios de comunicación entre pares (peer-to-peer), más que paradigmas centralizados como cliente-servidor. Es en este contexto que la tecnología de agentes de software móviles ofrece un paradigma de diseño de sistemas distribuidos alternativo a otras técnicas de cómputo distribuido más tradicionales, como cliente-servidor, código bajo demanda o evaluación remota. Este paradigma se basa en la utilización de código móvil y acepta la distribución como concepto básico, ofreciendo además nuevas características que permiten alcanzar un nuevo nivel de abstracción y calidad. Así como la programación orientada a objetos ofrece un mayor nivel de abstracción que la programación estructurada, facilitando el desarrollo y el mantenimiento del software, la teoría de agentes, y en particular la de agentes móviles, otorga una serie de mecanismos que permiten dar un paso más allá en el desarrollo de sistemas informáticos distribuidos, agregando características como la interacción dinámica de componentes de software autónomos y heterogéneos. Un agente de software es un programa capaz de interactuar en forma autónoma con el ambiente en el cual se encuentra, a fin de lograr sus objetivos. Un agente móvil es un tipo especial de agente de software, que tiene la capacidad de suspender su ejecución, moverse a otro nodo de la red transportando su código, datos y estado de ejecución, y continuar ejecutándose en el nodo destino. Los agentes móviles ayudan a los usuarios a operar en entornos dinámicos y distribuidos que exigen que el software, además de responder a los requerimientos del usuario, se adapte a las circunstancias, se anticipe e intente solucionar los inconvenientes que se presentan sin la intervención del mismo. La diferencia principal entre el paradigma de agentes móviles y los otros mencionados, consiste en que los agentes poseen la capacidad de controlar su propia localización en una red, con el fin de desplazarse en forma autónoma hacia donde se encuentran los recursos tanto de hardware como de información que necesita para llevar a cabo determinada tarea. Esta característica se traduce en ventajas como la reducción del tráfico en la red, la eliminación de latencia de red en aplicaciones de tiempo real y la posibilidad de operar sin conexión, las cuales resultan muy beneficiosas para los usuarios que utilizan computadoras portátiles, con baja capacidad de proceso o con poco espacio de almacenamiento y los que tienen bajo ancho de banda en la red. Carla M. Capart - Marcia S. Stippi Pág.: 7

10 1.4 Objetivos Generales Investigar el paradigma de agentes de software, en particular, aquellos denominados móviles. Desarrollar un ejemplo de aplicación práctica que utilice la tecnología de agentes móviles Particulares Estudiar las características generales de agentes, así como también su clasificación y los diferentes problemas en los cuales encuentran aplicación. Investigar ventajas/desventajas del paradigma de agentes móviles respecto a otros tradicionales como cliente-servidor. Presentar las distintas arquitecturas, modelos de movilidad y de comunicación de agentes móviles. Diseñar e implementar una aplicación basada en agentes móviles de tal forma de poder aplicar en forma práctica los conceptos teóricos investigados. Investigar las plataformas existentes que permiten la implementación de agentes móviles, a fin de seleccionar una de ellas para el desarrollo de la aplicación práctica. Carla M. Capart - Marcia S. Stippi Pág.: 8

11 Capítulo 2 Conceptos básicos En este capítulo se presentarán los conceptos básicos referentes a agentes de software, y en particular a agentes de software móviles: definición, clasificación, orígenes, ventajas y posibles dominios de aplicación. Además se describirán brevemente algunos paradigmas tradicionales de diseño de sistemas distribuidos, comparándolos con la tecnología de agentes móviles. 2.1 Definición de agente El término agente viene del latín agere que significa hacer. Agente deriva del participio agens. Expresa la capacidad de acción o actuación de una entidad. En las Ciencias de la Computación, el término agente ha sido usado desde mediados de la década del 70 y fue introducido por el área de la Inteligencia Artificial. No existe una definición universalmente aceptada para el término agente de software, ya que ésta se ve influenciada por las diferentes áreas en las que los agentes se han aplicado, como la Inteligencia Artificial, los Sistemas Distribuidos, la Ingeniería de Software, etc. En el presente trabajo se abordará la definición desde el punto de vista de los Sistemas Distribuidos: un agente es una entidad de software con una arquitectura robusta y adaptable que puede funcionar en distintos entornos o plataformas computacionales y es capaz de realizar de forma inteligente y autónoma distintos objetivos intercambiando información con el entorno, o con otros agentes humanos o computacionales (Garijo, 2002: 2). La entidad de software involucrada puede ser un programa de computadora, un componente de software, o, en términos de lenguajes orientados a objetos, simplemente un objeto. Sin embargo, los verdaderos agentes de software, deben considerarse como una extensión más general del concepto de objetos o componentes de software, ya que mientras los objetos de software son pasivos, los agentes son activos. Carla M. Capart - Marcia S. Stippi Pág.: 9

12 La definición de qué constituye exactamente un agente de software ha sido y continúa siendo debatida por la comunidad de investigadores. Sin embargo, existe un acuerdo común en que un agente debe exhibir algunas características mínimas para ser calificado como tal. Dichas características son: Autonomía: los agentes operan y funcionan de acuerdo con sus propios planes, no necesitan seguir un orden en la ejecución del plan dado por su propietario y no necesitan pedirle confirmación al mismo para ejecutar cada tarea (Braun y Rossak, 2005: 9). Comportamiento Social: los agentes interactúan con otros agentes o humanos mediante algún mecanismo de comunicación. Esta comunicación puede restringirse a un intercambio puro de información o puede incluir sofisticados protocolos de negociación (Braun y Rossak, 2005: 9). Reactividad: los agentes perciben su ambiente y responden a los cambios de éste (Wooldridge, 2005: 23). Proactividad: los agentes no solo actúan en respuesta a su ambiente, sino que son capaces de tomar la iniciativa y tener comportamiento orientado a metas para satisfacer sus objetivos de diseño (Wooldridge, 2005: 23). 2.2 Clasificación de agentes Al igual que sucede con la definición de agentes de software, no hay una sola clasificación posible de los mismos. En base a sus capacidades de resolver problemas se clasifican en: Agentes reactivos: realizan tareas sencillas. Reaccionan a cambios en su ambiente o a mensajes provenientes de otros agentes. No son capaces de razonar acerca de sus intenciones. Sus acciones se realizan como resultado de reglas establecidas. Agentes cognitivos: realizan tareas complejas. Son capaces de razonar acerca de sus intenciones y conocimientos, crear planes de acción y ejecutar dichos planes. Utilizan algún tipo de representación explícita (simbólica) del conocimiento. Además, pueden tener la capacidad de aprender en base a su experiencia. En base a su movilidad: Carla M. Capart - Marcia S. Stippi Pág.: 10

13 Agentes estáticos: son entidades que permanecen siempre fijas en un nodo, es decir, no se les permite migrar. Agentes móviles: son entidades de software capaces de viajar por redes de computadoras visitando distintos nodos a fin de realizar las tareas necesarias para cumplir con sus objetivos de diseño. Una vez concluido su trabajo pueden regresar a su lugar de origen o eliminarse. En base a la tarea que desempeñan: Agentes colaborativos: enfatizan su autonomía y cooperación (con otros agentes) para llevar a cabo tareas para sus propietarios. Agentes de interfaz: asistentes personales que colaboran con el usuario en un ambiente dado. Soportan y proveen asistencia al usuario observándolo y sugiriéndole otras formas de realizar las acciones. Agentes de entretenimiento: agentes que proveen al usuario de algún tipo de entretenimiento (por ejemplo, juegos). Agentes de información: también se conocen como agentes web, de búsqueda, spiders, worms, robots o crawlers. Realizan la tarea de administrar, manipular o recolectar información proveniente de varias fuentes distribuidas. Agentes híbridos: son aquellos que en su funcionamiento poseen la combinación de dos o más de las capacidades de los tipos mencionados. Con respecto a los agentes de información, cabe mencionar que su uso más difundido está dado por los motores de búsqueda (google, yahoo, etc.) para buscar en páginas web y construir índices automáticamente. Los agentes web convencionales son estáticos; se conectan a los servidores web mediante el protocolo HTTP para solicitar una página html y la procesan en forma local. Sin embargo, existen agentes web móviles que migran a los servidores web y realizan su tarea utilizando los recursos del nodo destino. 2.3 Definición de agente móvil Los agentes de software móviles se definen como programas de computadora completos e identificables, empaquetados con su código, datos, y estado de ejecución, que pueden moverse dentro de una red heterogénea de sistemas de computación. Ellos pueden Carla M. Capart - Marcia S. Stippi Pág.: 11

14 suspender su ejecución en un punto arbitrario y transportarse a sí mismos a otro sistema de computación. Durante esta migración el agente es transmitido completamente, esto es, como un conjunto de código, datos, y estado de ejecución. En el sistema de computación destino, la ejecución de un agente es reanudada exactamente en el punto donde fue suspendida antes (Braun y Rossak, 2005: 11). Desde el punto de vista de los Sistemas Distribuidos, la tecnología de agentes móviles se puede considerar como un paradigma de diseño adicional en el área de la programación distribuida y un suplemento útil a otros paradigmas tradicionales tales como cliente-servidor, los cuales se tratarán en la próxima sección. 2.4 Paradigmas de diseño de sistemas distribuidos Para presentar los distintos paradigmas de diseño se partirá de la definición de sistema distribuido. Según Tanenbaum y Van Steen (2002: 2) un sistema distribuido es una colección de computadoras independientes que se presentan a sus usuarios como un solo sistema coherente. Para lograr satisfacer esta definición, este tipo de sistemas se organiza frecuentemente en una jerarquía de capas de software como se muestra en la figura 2.1. Aplicaciones Distribuidas Middleware Sistema Operativo de Red Sistema Operativo de Red Sistema Operativo de Red Sistema Operativo Sistema Operativo Sistema Operativo Sitio Sitio Sitio Hardware Figura 2.1: Sistema distribuido estructurado como middleware La capa inferior, ubicada sobre el hardware, está conformada por el sistema operativo (S.O.), que provee servicios básicos tales como la administración de archivos, Carla M. Capart - Marcia S. Stippi Pág.: 12

15 memoria y procesos. Sobre la capa del S.O. se localiza el sistema operativo de red, que provee servicios de comunicación dependientes de la localización de los recursos (por ejemplo, sockets). Entre el sistema operativo de red y las aplicaciones se encuentra ubicada una capa denominada middleware, que oculta la heterogeneidad de las plataformas subyacentes y brinda transparencia de distribución a dichas aplicaciones. Los sistemas distribuidos que ofrecen movilidad de código presentan una perspectiva diferente, ya que no ocultan la estructura de la red a los programadores. En estos sistemas, la capa middleware no brinda transparencia de distribución, sino que provee un entorno de ejecución el cual permite que los componentes de software migren de un sitio a otro de la red (ver figura 2.2). De acuerdo con lo explicado anteriormente, se puede resaltar que la diferencia entre un sistema distribuido que provee movilidad de código y uno que no, se encuentra en el hecho de que, en el primero, el programador debe tener en cuenta la localización de los componentes de software. Esto último, sumado a la capacidad de movilidad que posee cada componente, influye directamente en el modo en que éstos interactúan con los recursos, dependiendo de si son locales o remotos. Aplicaciones Distribuidas Entorno de Ejecución Entorno de Ejecución Entorno de Ejecución Sistema Operativo de Red Sistema Operativo de Red Sistema Operativo de Red Sistema Operativo Sistema Operativo Sistema Operativo Sitio Sitio Sitio Hardware Figura 2.2: Sistema distribuido que provee movilidad de código A continuación se mencionan tres paradigmas tradicionales de diseño de sistemas distribuidos. El primero, cliente-servidor, se incluye por su amplia difusión aunque no presenta la característica de movilidad. Los dos restantes, evaluación remota y código por Carla M. Capart - Marcia S. Stippi Pág.: 13

16 demanda, sí explotan la noción de movilidad de código. Por último, se presenta un paradigma alternativo de diseño de sistemas distribuidos basado en agentes móviles. En lo que resta de esta sección se utilizarán los siguientes términos: Sitio: representa una localidad en un sistema distribuido, por ejemplo, una simple computadora como parte de una red. Recursos: los recursos de un sitio son cualquier tipo de archivo, base de datos, o cualquier dispositivo externo. Interacción: cualquier relación entre código o recursos del mismo o distintos sitios Cliente-servidor Cliente-servidor es, en el presente, el paradigma de computación distribuida más común (figura 2.3). En él, un sitio que actúa como servidor ofrece un conjunto de servicios. Otro sitio, el cliente, requiere de alguno de esos servicios para completar su tarea; entonces, envía al servidor un requerimiento por un servicio específico usando una interacción. El servidor ejecuta el servicio requerido utilizando recursos locales y envía el resultado al cliente usando otra interacción. En este paradigma, todos los componentes son inmóviles con respecto a su ejecución, no existe código móvil. El requerimiento usualmente contiene el nombre del servicio junto con algunos parámetros adicionales. Este concepto es usado, por ejemplo, en Remote Procedure Call (RPC), Remote Method Invocation (RMI) y CORBA. En los últimos años, ha ganado popularidad una nueva técnica cliente-servidor para sistemas distribuidos, denominada Web Services. Mientras que las aplicaciones basadas en CORBA o RMI se desarrollan principalmente para ser ejecutadas en redes de área local (intranets), los web services son componentes de software distribuidos ampliamente en Internet Evaluación remota A diferencia del paradigma anterior, en este caso el cliente envía un fragmento de código al servidor para que sea ejecutado allí, como se muestra en la figura 2.4. El servidor ejecuta el código utilizado recursos locales y luego envía el resultado al cliente usando una interacción. Aquí el código es móvil y se envía desde cliente a servidor. El tipo de código depende de la implementación concreta del paradigma, puede ser algún tipo de script que se transmite como código fuente o algún formato de código intermedio que puede ser Carla M. Capart - Marcia S. Stippi Pág.: 14

17 interpretado fácilmente por el servidor. Por ejemplo, el lenguaje PostScript utilizado por algunas impresoras, permite que una aplicación interactúe con la misma enviándole programas PostScript. Dichos programas son ejecutados por la impresora, por lo tanto pueden utilizar los dispositivos de impresión tales como el tóner, tractor, etc., los cuales en este caso cumplirían el rol de recursos. Este esquema permite flexibilizar al máximo las capacidades de software de la impresora (por ejemplo, se utiliza para descargar fuentes en el disco rígido de la impresora), a la vez que permite alivianar la carga de CPU de la computadora que utiliza la impresora Código por demanda En este paradigma se invierten los roles con respecto a evaluación remota, ya que en este caso el código viaja de servidor a cliente (figura 2.5). Éste último tiene acceso a sus recursos pero el código para accederlos se encuentra en el servidor, el código se envía del servidor al cliente y se ejecuta allí. El ejemplo más claro de esta técnica son los applets del lenguaje Java Agentes móviles como un nuevo paradigma de diseño En este paradigma, el código, mientras se está ejecutando en un sitio, determina que necesita acceder a algún recurso actualmente localizado en otro sitio. Los dos sitios interactúan de forma tal que el código se transmite al sitio destino, junto con alguna información acerca del estado de ejecución actual. En el sitio destino, el código se continúa ejecutando, accediendo a los recursos locales. Más tarde, puede decidir que necesita recursos de otros sitios, y entonces, migrar nuevamente hacia otro sitio. Referencias C: Componente de código R: Recurso F: Fragmento de código Cliente Servidor C Requerimiento (1) C R Respuesta (2) Sitio A Sitio B Figura 2.3: Cliente-Servidor Carla M. Capart - Marcia S. Stippi Pág.: 15

18 Cliente Servidor Código (1) F F C R Respuesta (2) Sitio A Sitio B Figura 2.4: Evaluación Remota Cliente Req. de código(1) Servidor R C F C F Código (2) Sitio A Sitio B Figura 2.5: Código por demanda Migración (3) C Migración C R Migración C (1) (2) Sitio A Sitio B Sitio C R Figura 2.6: Paradigma de agentes móviles Comparación entre paradigmas La diferencia principal entre el paradigma cliente-servidor y los demás mencionados es que en el primero el código permanece en una ubicación fija, en cambio, en los otros la localización puede variar, transformándolos en modelos más flexibles y configurables. Al mismo tiempo estos paradigmas, con la posibilidad de movilidad de código que brindan, promueven la descomposición de la aplicación en varios componentes simples. Esta característica es aprovechada al máximo por el paradigma de agentes móviles, en el cual se aspira, además, a que cada componente sea autónomo. De esa manera, las aplicaciones se Carla M. Capart - Marcia S. Stippi Pág.: 16

19 constituyen de varios agentes, cada uno de los cuales realiza una tarea específica, tratando de minimizar las interacciones remotas con otros componentes. Otro aspecto a considerar cuando se compara entre los paradigmas cliente-servidor y agentes móviles es el nivel de granularidad de servicios ofrecidos por cada uno. En clienteservidor, para proveer un nivel de granularidad alto, es decir para que el servidor cumpla exactamente el servicio que el cliente necesita, éste último tiene que realizar varias llamadas a procedimientos remotos para satisfacer sus requerimientos. Esta secuencia de llamadas a través de la red incrementa en gran medida el tráfico sobre la misma, especialmente cuando se envían grandes volúmenes de datos, viéndose perjudicado el rendimiento de todo el sistema. En cambio, en agentes móviles, la flexibilidad y reusabilidad de los servicios se incrementan considerablemente, aumentando el nivel de granularidad ofrecido por cada agente. 2.5 Breve historia de agentes móviles Los primeros pasos en código móvil La idea de enviar código en un formato independiente de la arquitectura hacia diferentes hosts en una red fue introducida, probablemente por primera vez, en 1969 por Rulifson y sus colaboradores en el desarrollo del lenguaje de programación DEL (Decode- Encode-Language) (Braun y Rossak, 2005: 18). La idea era comunicarse a un host remoto y descargar un programa al comienzo de la sesión. Dicho programa, escrito en DEL, podía entonces controlar la comunicación y usar eficientemente el ancho de banda disponible entre el host del usuario local y el host remoto. Aproximadamente diez años más tarde, un grupo de investigación de una Universidad en Suiza tuvo la idea de construir una red de radio orientada a paquetes, llamada Softnet. Cada paquete enviado por la red era un programa escrito en lenguaje FORTH, y cada nodo de red que recibía el paquete ejecutaba inmediatamente el programa. Usando esta técnica, cada usuario podía proveer a cada nodo de la red de nuevos servicios. En 1982, se hicieron los primeros experimentos con software móvil para la empresa Xerox, los cuales consistían en gusanos (worms) que buscaban en una red de área local procesadores ociosos. Carla M. Capart - Marcia S. Stippi Pág.: 17

20 2.5.2 Evaluación Remota Joseph R. Falcone abordó, en 1987, el problema de proveer interfaces específicas del cliente para servicios remotos a través de un sistema distribuido heterogéneo (Braun y Rossak, 2005: 18). En lugar de ofrecer una interfaz simple con muchas funciones pequeñas para satisfacer a una gran cantidad de clientes, Falcone buscaba habilitar a los clientes para que programen sus propias interfaces, usando un nuevo lenguaje de programación llamado NCL (Network Command Language). En NCL un cliente envía una expresión al servidor, el cual ejecuta la expresión usando funciones estándar provistas en forma de una librería. El servidor envía el resultado (otra expresión) hacia el cliente, el cual puede comenzar otra vez el proceso. Hubo otras aproximaciones similares a NCL, por ejemplo, REV (Remote-Evaluation), el cual extendía la idea de llamadas a procedimientos remotos (RPC) surgida en En REV, un cliente enviaba un requerimiento hacia el servidor en la forma de un programa. El servidor ejecutaba el programa y enviaba el resultado al cliente Objetos móviles Un paso más hacia la tecnología de agentes móviles fue la incorporación de un mínimo tipo de autonomía al concepto de mensajería. Esta técnica se conoció como objetos móviles. La idea era crear mensajes activos, es decir, mensajes que eran capaces de migrar hacia host remotos. Un mensaje contenía datos y algo de código de programa que era ejecutado en cada servidor. Sin embargo, en este concepto, dominaba la porción de datos por sobre la porción activa (es decir, el código). El proyecto Messengers propuso en 1996 el concepto de objetos autónomos, los que se llamó mensajeros. Los mensajeros eran capaces de migrar autónomamente a través de una LAN de servidores dedicados que aceptaban esos objetos. La diferencia con respecto a las técnicas descriptas previamente es que un mensajero no se transfería únicamente a un servidor remoto sino que era capaz de migrar autónomamente a través de una red completa. Sin embargo, el concepto estaba limitado a LANs estáticas y no incluía ninguna noción de inteligencia a nivel de aplicación. La autonomía de un mensajero estaba limitada a resolver problemas del sistema y no requerimientos del usuario. Carla M. Capart - Marcia S. Stippi Pág.: 18

Capítulo 5. Cliente-Servidor.

Capítulo 5. Cliente-Servidor. Capítulo 5. Cliente-Servidor. 5.1 Introducción En este capítulo hablaremos acerca de la arquitectura Cliente-Servidor, ya que para nuestra aplicación utilizamos ésta arquitectura al convertir en un servidor

Más detalles

5. MODELOS DE CLIENTE Y SERVIDOR ORIENTADOS A AGENTES MÓVILES

5. MODELOS DE CLIENTE Y SERVIDOR ORIENTADOS A AGENTES MÓVILES SISTEMAS DISTRIBUIDOS DE REDES 5. MODELOS DE CLIENTE Y SERVIDOR ORIENTADOS A AGENTES MÓVILES Programación remota: Introducción y generalidades INTRODUCCIÓN Debido a la dificultad de la arquitectura actual

Más detalles

Especificación de la secuencia de mensajes que se han de intercambiar. Especificación del formato de los datos en los mensajes.

Especificación de la secuencia de mensajes que se han de intercambiar. Especificación del formato de los datos en los mensajes. SISTEMAS DISTRIBUIDOS DE REDES 2.- MODELOS ORIENTADOS A OBJETOS DISTRIBUIDOS 2.1. Tecnologías de sistemas distribuidos Para la implementación de sistemas distribuidos se requiere de tener bien identificados

Más detalles

Concepto de Procesamiento Distribuido y Centralizado

Concepto de Procesamiento Distribuido y Centralizado Concepto de Procesamiento Distribuido y Centralizado Procesamiento Centralizado: En la década de los años 50 s las computadoras eran máquinas del tamaño de todo un cuarto con las siguientes características:

Más detalles

Tema 1. Arquitectura Cliente/Servidor

Tema 1. Arquitectura Cliente/Servidor Tema 1. Arquitectura Cliente/Servidor SCS Sistemas Cliente/Servidor 4 o informática http://ccia.ei.uvigo.es/docencia/scs 27 de septiembre de 2009 FJRP, FMBR [sistemas cliente-servidor] CCIA 1.1 Sistemas

Más detalles

En verde están algunas propuestas que entendemos que faltan y que ayudarían a mejorar las fichas sustancialmente.

En verde están algunas propuestas que entendemos que faltan y que ayudarían a mejorar las fichas sustancialmente. NOTAS ACLARATORIAS: Esta ficha de grado es la resultante de las dos reuniones celebradas (9 enero 2009 y 23 de febrero de 2009) por la subcomisión creada desde el MICIIN para debatir las fichas de Grado

Más detalles

Simulador de Protocolos de Red a tráves de WEB

Simulador de Protocolos de Red a tráves de WEB Simulador de Protocolos de Red a tráves de WEB Propuesta de Estudio 20071608 Director Ing. Francisco Antonio Polanco Montelongo Resumen Introducción Actualmente, el desarrollo tecnológico a alcanzado niveles

Más detalles

Nombre del documento: Programa de Estudio de asignatura de Especialidad. Referencia a la Norma ISO 9001:2008 7.3 Página 1 de 6

Nombre del documento: Programa de Estudio de asignatura de Especialidad. Referencia a la Norma ISO 9001:2008 7.3 Página 1 de 6 Referencia a la Norma ISO 9001:2008 7.3 Página 1 de 6 1.- DATOS DE LA ASIGNATURA Nombre de la asignatura : Sistemas Distribuidos I Carrera: Ing. en Sistemas Computacionales Clave de la asignatura: RSD-1203

Más detalles

Los mayores cambios se dieron en las décadas de los setenta, atribuidos principalmente a dos causas:

Los mayores cambios se dieron en las décadas de los setenta, atribuidos principalmente a dos causas: SISTEMAS DISTRIBUIDOS DE REDES 1. SISTEMAS DISTRIBUIDOS Introducción y generalidades La computación desde sus inicios ha sufrido muchos cambios, desde los grandes equipos que permitían realizar tareas

Más detalles

1. Instala servicios de configuración dinámica, describiendo sus características y aplicaciones.

1. Instala servicios de configuración dinámica, describiendo sus características y aplicaciones. Módulo Profesional: Servicios en Red. Código: 0227. Resultados de aprendizaje y criterios de evaluación. 1. Instala servicios de configuración dinámica, describiendo sus características y aplicaciones.

Más detalles

SISTEMAS DISTRIBUIDOS DE REDES 3.- ESTANDAR CORBA. 3.1. Características

SISTEMAS DISTRIBUIDOS DE REDES 3.- ESTANDAR CORBA. 3.1. Características SISTEMAS DISTRIBUIDOS DE REDES 3.- ESTANDAR CORBA 3.1. Características La tendencia hacia el futuro es el de lograr la integración total de componentes realizados por terceras partes, para lo cual es necesario

Más detalles

Competencias generales vinculadas a los distintos módulos Módulo de Formación Básica

Competencias generales vinculadas a los distintos módulos Módulo de Formación Básica Competencias generales vinculadas a los distintos módulos Módulo de Formación Básica C1. Capacidad para la resolución de los problemas matemáticos que puedan plantearse en la ingeniería. Aptitud para aplicar

Más detalles

Diseño del Sistema de Información

Diseño del Sistema de Información Diseño del Sistema de Información ÍNDICE DESCRIPCIÓN Y OBJETIVOS...2 ACTIVIDAD DSI 1: DEFINICIÓN DE LA ARQUITECTURA DEL SISTEMA...7 Tarea DSI 1.1: Definición de Niveles de Arquitectura...9 Tarea DSI 1.2:

Más detalles

Grado en Ingeniería Informática

Grado en Ingeniería Informática Grado en Ingeniería Informática Competencias Generales y trasversales De acuerdo con la resolución del Consejo de Universidades de fecha 3 de marzo de 2009, para obtener este título de grado en ingeniería

Más detalles

Utilizar los servicios de Index Service para buscar información de forma rápida y segura, ya sea localmente o en la red.

Utilizar los servicios de Index Service para buscar información de forma rápida y segura, ya sea localmente o en la red. Funciones de servidor La familia Windows Server 2003 ofrece varias funciones de servidor. Para configurar una función de servidor, instale dicha función mediante el Asistente para configurar su servidor;

Más detalles

UNIVERSIDAD ESTATAL DE MILAGRO

UNIVERSIDAD ESTATAL DE MILAGRO UNIVERSIDAD ESTATAL DE MILAGRO TRABAJO DE INVESTIGACION DE BASE DE DATOS TEMA: SISTEMAS DISTRIBUIDOS NOMBRE: ANGEL SAUL NOBOA BARRENO PROFESOR: ING. RICHARD RAMIREZ CURSO: 6 To SEMESTRE C SISTEMAS DISTRIBUIDOS

Más detalles

Programación Orientada a Objetos Profr. Pedro Pablo Mayorga

Programación Orientada a Objetos Profr. Pedro Pablo Mayorga Actividad 2 Unidad 1 Ciclo de vida del software y Diseño Orientado a Objetos Ciclo de Vida del Software Un modelo de ciclo de vida define el estado de las fases a través de las cuales se mueve un proyecto

Más detalles

Arquitectura de Aplicaciones

Arquitectura de Aplicaciones 1 Capítulo 13: Arquitectura de aplicaciones. - Sommerville Contenidos del capítulo 13.1 Sistemas de procesamiento de datos 13.2 Sistemas de procesamiento de transacciones 13.3 Sistemas de procesamiento

Más detalles

Diseño del Sistema de Información

Diseño del Sistema de Información Diseño del Sistema de Información ÍNDICE DESCRIPCIÓN Y OBJETIVOS... 2 ACTIVIDAD DSI 1: DEFINICIÓN DE LA ARQUITECTURA DEL SISTEMA... 7 Tarea DSI 1.1: Definición de Niveles de Arquitectura... 9 Tarea DSI

Más detalles

Tema 4. Diseño arquitectónico.

Tema 4. Diseño arquitectónico. Tema 4. Diseño arquitectónico. Introducción, Objetivos del Diseño. Ingeniería del Software II 2011 Para la transformación del modelo de análisis en un modelo de diseño del sistema, se definen los objetivos

Más detalles

TEMA 37: Arquitecturas Cliente / Servidor. Tipos de cliente. Tipos de Servidor. Clasificación del software.

TEMA 37: Arquitecturas Cliente / Servidor. Tipos de cliente. Tipos de Servidor. Clasificación del software. . TEMA 37: Arquitecturas Cliente / Servidor. Tipos de cliente. Tipos de Servidor. Clasificación del software. Índice 1 INTRODUCCIÓN 2 2 CARACTERÍSTICAS 2 2.1 Características del cliente...2 2.2 Características

Más detalles

GLOSARIO. Arquitectura: Funcionamiento, estructura y diseño de una plataforma de desarrollo.

GLOSARIO. Arquitectura: Funcionamiento, estructura y diseño de una plataforma de desarrollo. GLOSARIO Actor: Un actor es un usuario del sistema. Esto incluye usuarios humanos y otros sistemas computacionales. Un actor usa un Caso de Uso para ejecutar una porción de trabajo de valor para el negocio.

Más detalles

Módulo 2 Comunicación

Módulo 2 Comunicación Sistemas Distribuidos Módulo 2 Comunicación Facultad de Ingeniería Departamento de Informática Universidad Nacional de la Patagonia San Juan Bosco Comunicación en Sistemas Distribuidos Modelos de Comunicaciones

Más detalles

Sistemas de Información Introducción a los Sistemas de Información: El Modelo Cliente/Servidor

Sistemas de Información Introducción a los Sistemas de Información: El Modelo Cliente/Servidor Sistemas de Información Introducción a los Sistemas de Información: El Modelo Cliente/Servidor Agradecimientos: por su contribución a la realización de estas transparencias: Jesus Villamor Lugo y Simon

Más detalles

Unidad 1: Conceptos generales de Sistemas Operativos.

Unidad 1: Conceptos generales de Sistemas Operativos. Unidad 1: Conceptos generales de Sistemas Operativos. Tema 3: Estructura del sistema operativo. 3.1 Componentes del sistema. 3.2 Servicios del sistema operativo. 3.3 Llamadas al sistema. 3.4 Programas

Más detalles

2.1 Compuertas para Bases de Datos

2.1 Compuertas para Bases de Datos 1 Colección de Tesis Digitales Universidad de las Américas Puebla Romero Martínez, Modesto Uno de los aspectos mas importantes en un sistema multibase de datos es la forma en como llevar a cabo la comunicación

Más detalles

Bienvenidos a la presentación: Introducción a conceptos básicos de programación.

Bienvenidos a la presentación: Introducción a conceptos básicos de programación. Bienvenidos a la presentación: Introducción a conceptos básicos de programación. 1 Los programas de computadora son una serie de instrucciones que le dicen a una computadora qué hacer exactamente. Los

Más detalles

SESIÓN 8 TIPOS DE SISTEMAS DE MANUFACTURA

SESIÓN 8 TIPOS DE SISTEMAS DE MANUFACTURA SESIÓN 8 TIPOS DE SISTEMAS DE MANUFACTURA CONTENIDO Términos en manufactura Clasificación de sistemas de manufactura Beneficios y ejemplos de sistemas de manufactura Los componentes de un sistema de manufactura

Más detalles

Memoria Compartida Distribuida (DSM) Sistema de Archivos

Memoria Compartida Distribuida (DSM) Sistema de Archivos Memoria Compartida Distribuida (DSM) La memoria compartida distribuida es una abstracción que se propone como alternativa a la comunicación por mensajes. Memoria compartida basada en páginas: este esquema

Más detalles

Capítulo 1. Introducción

Capítulo 1. Introducción Capítulo 1. Introducción El WWW es la mayor fuente de imágenes que día a día se va incrementando. Según una encuesta realizada por el Centro de Bibliotecas de Cómputo en Línea (OCLC) en Enero de 2005,

Más detalles

3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON)

3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON) 3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON) 3.1.1 Introducción Este método proporciona un soporte para el diseño creativo de productos de software, inclusive a escala industrial.

Más detalles

SISTEMAS DE INFORMACIÓN II TEORÍA

SISTEMAS DE INFORMACIÓN II TEORÍA CONTENIDO: EL PROCESO DE DISEÑO DE SISTEMAS DISTRIBUIDOS MANEJANDO LOS DATOS EN LOS SISTEMAS DISTRIBUIDOS DISEÑANDO SISTEMAS PARA REDES DE ÁREA LOCAL DISEÑANDO SISTEMAS PARA ARQUITECTURAS CLIENTE/SERVIDOR

Más detalles

República Bolivariana de Venezuela Ministerio Popular de Educación y Deportes UNEFA Cátedra: Base de Datos Unidad I. Introducción

República Bolivariana de Venezuela Ministerio Popular de Educación y Deportes UNEFA Cátedra: Base de Datos Unidad I. Introducción República Bolivariana de Venezuela Ministerio Popular de Educación y Deportes UNEFA Cátedra: Base de Datos Unidad I. Introducción Dato: Hecho o valor a partir del cual se puede inferir una conclusión.

Más detalles

Unidad didáctica 2: Metodologías de desarrollo de Bases de Datos. Unidad didáctica 1: Fase de análisis de requisitos Modelo E/R

Unidad didáctica 2: Metodologías de desarrollo de Bases de Datos. Unidad didáctica 1: Fase de análisis de requisitos Modelo E/R índice Módulo A Unidad didáctica 1: Introducción a las Bases de Datos Unidad didáctica 2: Metodologías de desarrollo de Bases de Datos 3 19 Módulo B Unidad didáctica 1: Fase de análisis de requisitos Modelo

Más detalles

Vicente Toledo Israel Miralles. Base de Datos Distribuidas

Vicente Toledo Israel Miralles. Base de Datos Distribuidas Bases de Datos Distribuidas Vicente Toledo Israel Miralles Pg-1 Indice 1. - Que son Bases de Datos Distribuidas? Pg-3 1. -Comparación Pg-3 2. -Arquitectura de las Bases de Datos Pg-4 1. -Ejemplo de una

Más detalles

Documento de Competencias. Facultad de Informática, UPV/EHU. 1 Estructura general del Grado TE1 TE2 TE3 TE4 TE5 TE6 TE7 TE8

Documento de Competencias. Facultad de Informática, UPV/EHU. 1 Estructura general del Grado TE1 TE2 TE3 TE4 TE5 TE6 TE7 TE8 Documento de Competencias Grado en INGENIERÍA INFORMÁTICA Facultad de Informática, UPV/EHU 1 Estructura general del Grado 1.1 Fundamentos de Tecnología de los Principios de Diseño de Sistemas Digitales

Más detalles

Uso de los Servicios Web en la nueva arquitectura de N-Capas del Sistema Económico Integral Rodas XXI.

Uso de los Servicios Web en la nueva arquitectura de N-Capas del Sistema Económico Integral Rodas XXI. Ponencia para Evento de Redes. Autor: Rubén Rivera Rodríguez, Citmatel Resumen Uso de los Servicios Web en la nueva arquitectura de N-Capas del Sistema Económico Integral Rodas XXI. Las nuevas tendencias

Más detalles

CUALIFICACIÓN PROGRAMACIÓN DE SISTEMAS INFORMÁTICOS PROFESIONAL. Nivel 3. Versión 5 Situación RD 1201/2007 Actualización

CUALIFICACIÓN PROGRAMACIÓN DE SISTEMAS INFORMÁTICOS PROFESIONAL. Nivel 3. Versión 5 Situación RD 1201/2007 Actualización Página 1 de 17 CUALIFICACIÓN PROGRAMACIÓN DE SISTEMAS INFORMÁTICOS PROFESIONAL Familia Profesional Informática y Comunicaciones Nivel 3 Código IFC303_3 Versión 5 Situación RD 1201/2007 Actualización Competencia

Más detalles

SISTEMAS DE ARCHIVOS DISTRIBUIDOS

SISTEMAS DE ARCHIVOS DISTRIBUIDOS SISTEMAS DE ARCHIVOS DISTRIBUIDOS Tema # VII Sistemas de operación II Abril-Julio 2008 Yudith Cardinale Introducción Requisitos Aspectos de Diseño Servicios de archivos Servicios de directorios Módulo

Más detalles

GENERALIDADES DE LA COMUNICACIÓN DE DATOS

GENERALIDADES DE LA COMUNICACIÓN DE DATOS Comunicaciones I Capítulo 1 GENERALIDADES DE LA COMUNICACIÓN DE DATOS 1 El Sistema de Comunicación Sistema de comunicación: Lleva a cabo el intercambio de información entre dos entes ubicados en los extremos

Más detalles

Tema: Agentes en la Inteligencia Artificial.

Tema: Agentes en la Inteligencia Artificial. Sistemas Expertos e Inteligencia Artificial. Guía No. 3 1 Facultad: Ingeniería Escuela: Computación Asignatura: Sistemas Expertos e Inteligencia Artificial Tema: Agentes en la Inteligencia Artificial.

Más detalles

La Arquitectura de las Máquinas Virtuales.

La Arquitectura de las Máquinas Virtuales. La Arquitectura de las Máquinas Virtuales. La virtualización se ha convertido en una importante herramienta en el diseño de sistemas de computación, las máquinas virtuales (VMs) son usadas en varias subdiciplinas,

Más detalles

Ingeniería de Software con UML Unified Modeling Language Lenguaje Unificado de Modelado

Ingeniería de Software con UML Unified Modeling Language Lenguaje Unificado de Modelado Ingeniería de Software con UML Unified Modeling Language Lenguaje Unificado de Modelado 1. Introducción Unified Modeling Languaje Fuente: Booch- Jacobson-Rumbauch y diversos sitios Internet, entre otros:

Más detalles

Versión 4.0 BOLETÍN (ABRIL 2010) a2 Herramienta Administrativa Configurable (Arquitectura Cliente Servidor) a2 softway C. A.

Versión 4.0 BOLETÍN (ABRIL 2010) a2 Herramienta Administrativa Configurable (Arquitectura Cliente Servidor) a2 softway C. A. Versión 4.0 BOLETÍN (ABRIL 2010) a2 Herramienta Administrativa Configurable (Arquitectura Cliente Servidor) a2 softway C. A. VERSIÓN 4.0 a2 Herramienta Administrativa Configurable e-mail a2softway@cantv.net

Más detalles

Definición arquitectura cliente servidor

Definición arquitectura cliente servidor www.monografias.com Definición arquitectura cliente servidor 1. Introducción 2. Elementos principales 3. En resumen 4. Algunos antecedentes, Por qué fue creado? 5. Evolución de la arquitectura cliente

Más detalles

Nombre del documento: Programa de Estudio de asignatura de Especialidad

Nombre del documento: Programa de Estudio de asignatura de Especialidad Referencia a la Norma ISO 9001:2008 7.3 Página 1 de 10 1.- DATOS DE LA ASIGNATURA Nombre de la asignatura : Redes II Carrera: Ing. en Sistemas Computacionales Clave de la asignatura: RSD-1204 (Créditos)

Más detalles

REPORTE OFICIAL OCTUBRE DE 2014. CA Unified Infrastructure Management para servidores

REPORTE OFICIAL OCTUBRE DE 2014. CA Unified Infrastructure Management para servidores REPORTE OFICIAL OCTUBRE DE 2014 CA Unified Infrastructure Management para servidores 2 Reporte oficial: CA Unified Infrastructure Management para servidores Tabla de contenidos Descripción general de la

Más detalles

Clientes Donantonio. Especificación de requisitos software. Juan José Amor David Escorial Ismael Olea

Clientes Donantonio. Especificación de requisitos software. Juan José Amor David Escorial Ismael Olea Especificación de requisitos software Tabla de contenidos Juan José Amor David Escorial Ismael Olea 1. Introducción...3 1.1. Propósito...3 1.2. Ámbito del sistema...3 1.3. Definiciones, acrónimos y abreviaturas...3

Más detalles

18 y 19 Sistemas de Archivos Distribuidos y Tarea 05

18 y 19 Sistemas de Archivos Distribuidos y Tarea 05 18 y 19 Sistemas de Archivos Distribuidos y Tarea 05 Prof. Edgardo Adrián Franco Martínez http://computacion.cs.cinvestav.mx/~efranco efranco.docencia@gmail.com Estructuras de datos (Prof. Edgardo A. Franco)

Más detalles

TEMA 1: VISIÓN GENERAL DE LOS SISTEMAS OPERATIVOS

TEMA 1: VISIÓN GENERAL DE LOS SISTEMAS OPERATIVOS TEMA 1: VISIÓN GENERAL DE LOS SISTEMAS OPERATIVOS 1. Concepto de Sistema Operativo. Funciones Un sistema operativo (S.O.) es un programa o conjunto de programas de control que tiene por objeto facilitar

Más detalles

CONSTRUCCIÓN DE PORTALES

CONSTRUCCIÓN DE PORTALES Curso «Los portales de internet». Fac. Documentación. Universidad de Murcia. 29 CONSTRUCCIÓN DE PORTALES Juan Antonio Pastor Sánchez 1. Introducción La Gestión de los contenidos informativos de los portales

Más detalles

CAPÍTULO I. INTRODUCCIÓN

CAPÍTULO I. INTRODUCCIÓN CAPÍTULO I. INTRODUCCIÓN 1.1 Estado del arte del monitoreo de redes de computadoras. La palabra monitoreo no tiene una definición exacta, pero en el contexto computacional ha adquirido un auge muy grande,

Más detalles

CAPÍTULO 4 ANÁLISIS Y DISEÑO: e-commerce CONSTRUCTOR

CAPÍTULO 4 ANÁLISIS Y DISEÑO: e-commerce CONSTRUCTOR CAPÍTULO 4 ANÁLISIS Y DISEÑO: e-commerce CONSTRUCTOR En este capítulo se describe el análisis y diseño de un sistema, denominado e-commerce Constructor, el cual cumple con los siguientes objetivos: Fungir

Más detalles

CUALIFICACIÓN SISTEMAS DE GESTIÓN DE INFORMACIÓN PROFESIONAL. Nivel 3. Versión 5 Situación RD 1201/2007 Actualización

CUALIFICACIÓN SISTEMAS DE GESTIÓN DE INFORMACIÓN PROFESIONAL. Nivel 3. Versión 5 Situación RD 1201/2007 Actualización Página 1 de 16 CUALIFICACIÓN SISTEMAS DE GESTIÓN DE INFORMACIÓN PROFESIONAL Familia Profesional Informática y Comunicaciones Nivel 3 Código IFC304_3 Versión 5 Situación RD 1201/2007 Actualización Competencia

Más detalles

4. Programación Paralela

4. Programación Paralela 4. Programación Paralela La necesidad que surge para resolver problemas que requieren tiempo elevado de cómputo origina lo que hoy se conoce como computación paralela. Mediante el uso concurrente de varios

Más detalles

Informe de avance Implementación herramientas de back-end (3-III).

Informe de avance Implementación herramientas de back-end (3-III). Proyecto RG-T1684 Desarrollo e implementación de las soluciones Prueba piloto del Componente III Informe Número 1. Informe de avance Implementación herramientas de back-end (3-III). Lautaro Matas 11/04/2013

Más detalles

LA ARQUITECTURA TCP/IP

LA ARQUITECTURA TCP/IP LA ARQUITECTURA TCP/IP Hemos visto ya como el Modelo de Referencia de Interconexión de Sistemas Abiertos, OSI-RM (Open System Interconection- Reference Model) proporcionó a los fabricantes un conjunto

Más detalles

Capítulo 1: Introducción

Capítulo 1: Introducción Capítulo 1: Introducción El presente trabajo se ubica en el área de administración de redes inalámbricas de computadoras y tiene como objetivo crear una propuesta de solución para permitir un manejo más

Más detalles

Fundamentos de Redes LI. Unidad III Modelos de Comunicaciones 3.1 Modelo de referencia OSI.

Fundamentos de Redes LI. Unidad III Modelos de Comunicaciones 3.1 Modelo de referencia OSI. 3.1 Modelo de referencia OSI. Durante las últimas dos décadas ha habido un enorme crecimiento en la cantidad y tamaño de las redes. Muchas de ellas sin embargo, se desarrollaron utilizando implementaciones

Más detalles

Unidad 1. Introducción a los conceptos de Bases de Datos

Unidad 1. Introducción a los conceptos de Bases de Datos Unidad 1 Introducción a los conceptos de Bases de Datos 1.1 Definición de Base de Datos Dato: Conjunto de caracteres con algún significado, pueden ser numéricos, alfabéticos, o alfanuméricos. Información:

Más detalles

En este capítulo se presenta el marco teórico sobre las redes inalámbricas que utilizan el

En este capítulo se presenta el marco teórico sobre las redes inalámbricas que utilizan el Capítulo 2 Estándar IEEE 802.11 En este capítulo se presenta el marco teórico sobre las redes inalámbricas que utilizan el WEP como protocolo de seguridad. Se mencionan las características generales de

Más detalles

El valor de una infraestructura optimizada

El valor de una infraestructura optimizada El valor de una infraestructura optimizada El Estudio del Estado del CIO 2006 (CIO Research, 2006) muestra que los CIO están buscando, cada vez más, introducir, de forma proactiva, soluciones de tecnología

Más detalles

COMUNICACIÓN Y REDES DE COMPUTADORES II. Clase 02. Aspetos basicos de Networking Parte 1 de 2

COMUNICACIÓN Y REDES DE COMPUTADORES II. Clase 02. Aspetos basicos de Networking Parte 1 de 2 COMUNICACIÓN Y REDES DE COMPUTADORES II Clase 02 Aspetos basicos de Networking Parte 1 de 2 1 Contenido de la Clase 1. Terminología de Networking 1. Redes de Datos 2. Historia de las redes informáticas

Más detalles

CAPITULO I El Problema

CAPITULO I El Problema CAPITULO I El Problema 1. CAPITULO I EL PROBLEMA. 1.1. PLANTEAMIENTO DEL PROBLEMA. Desde su nacimiento la Facultad de Administración, Finanzas e Informática dispone del departamento de la biblioteca, con

Más detalles

Poder Judicial de Tucumán Año 2013

Poder Judicial de Tucumán Año 2013 Internet y Correo electrónico El presente instructivo corresponde a una guía básica para el manejo de los programas y para la adquisición de conceptos en relación a estos utilitarios. No obstante ello,

Más detalles

Introducción a Bases de Datos

Introducción a Bases de Datos de a M. -Tastets Universidad de Concepción,Chile www.inf.udec.cl\ andrea andrea@udec.cl II Semestre - 2007 y del s: Sistemas de y del s: de y del s: Objetivos de la Unidad Dar a conocer las características,

Más detalles

Marco Teórico MARCO TEÓRICO. AGNI GERMÁN ANDRACA GUTIERREZ

Marco Teórico MARCO TEÓRICO. AGNI GERMÁN ANDRACA GUTIERREZ MARCO TEÓRICO. 13 14 Virtualización Hablar de virtualización es hablar de un concepto que describe la posibilidad de tener varios sistemas operativos funcionando al mismo tiempo en un mismo equipo físico.

Más detalles

- Capacidad para dirigir las actividades objeto de los proyectos del ámbito de la informática de acuerdo con los conocimientos adquiridos.

- Capacidad para dirigir las actividades objeto de los proyectos del ámbito de la informática de acuerdo con los conocimientos adquiridos. Competencias generales - Capacidad para concebir, redactar, organizar, planificar, desarrollar y firmar proyectos en el ámbito de la ingeniería en informática que tengan por objeto, de acuerdo con los

Más detalles

Comparación de Dos Sistemas Distribuidos: Amoeba y Sprite

Comparación de Dos Sistemas Distribuidos: Amoeba y Sprite Comparación de Dos Sistemas Distribuidos: Amoeba y Sprite Hillary Caituiro Monge Departamento de Ingeniería Eléctrica y Computadoras hillarycm@hotmail.com Resumen En este ensayo se comparan Dos Sistemas

Más detalles

Ingeniería de Software I

Ingeniería de Software I Ingeniería de Software I Agenda Objetivo. Unidades de aprendizaje. Formas de evaluación. Bibliografía. 2 Datos del profesor Correo electrónico: egonzalez@upemor.edu.mx Asesorías Jueves de 11:00 a 13:00

Más detalles

1. Introducción 2. Historia 3. Características clave 4. Cuestiones de diseño

1. Introducción 2. Historia 3. Características clave 4. Cuestiones de diseño Tema 1. Introducción a los sistemas distribuidos 1. Introducción 2. Historia 3. Características clave 4. Cuestiones de diseño Tema 1 Introducción a los Sistemas Distribuidos 1 Introducción y objetivos

Más detalles

Patrones de Alto nivel: Patrones de Arquitectura Patrones de nivel medio: Patrones de Diseño Patrones de bajo nivel: Idioms

Patrones de Alto nivel: Patrones de Arquitectura Patrones de nivel medio: Patrones de Diseño Patrones de bajo nivel: Idioms Patrones Patrones Es una solución reusable de problemas comunes. Los patrones solucionan problemas que existen en muchos niveles de abstracción. desde el análisis hasta el diseño y desde la arquitectura

Más detalles

GRID COMPUTING MALLA DE ORDENADORES

GRID COMPUTING MALLA DE ORDENADORES GRID COMPUTING MALLA DE ORDENADORES Introducción Concepto Compartir potencia computacional; Aprovechamiento de ciclos de procesamiento; El Grid Computing se enmarca dentro de la tecnología de computación

Más detalles

CAPÍTULO II. Gráficos Dinámicos.

CAPÍTULO II. Gráficos Dinámicos. 2.1 Definición. Los gráficos dinámicos son representaciones a escala del proceso, en donde se muestra la información de las variables del proceso a través de datos numéricos y de animación gráfica. Éstos

Más detalles

Ofrezca la nueva tendencia de innovación empresarial con un entorno de red abierta

Ofrezca la nueva tendencia de innovación empresarial con un entorno de red abierta Descripción general de la solución Ofrezca la nueva tendencia de innovación empresarial con un entorno de red abierta Lo que aprenderá A medida que tecnologías como la nube, la movilidad, los medios sociales

Más detalles

Una puerta abierta al futuro

Una puerta abierta al futuro Una puerta abierta al futuro SOA E ITIL EN LA LEY DE ACCESO ELECTRÓNICO DE LOS CIUDADANOS A LOS SERVICIOS PÚBLICOS (LAECSP) por francisco javier antón Vique La publicación de la Ley de Acceso electrónico

Más detalles

Nicolás Zarco Arquitectura Avanzada 2 Cuatrimestre 2011

Nicolás Zarco Arquitectura Avanzada 2 Cuatrimestre 2011 Clusters Nicolás Zarco Arquitectura Avanzada 2 Cuatrimestre 2011 Introducción Aplicaciones que requieren: Grandes capacidades de cómputo: Física de partículas, aerodinámica, genómica, etc. Tradicionalmente

Más detalles

Inicio de MO Inicio de MD Inicio de MF. Documento de Análisis. Base de datos de las especificaciones OMT. MO, MD, MF Detallados. Librería de Clases

Inicio de MO Inicio de MD Inicio de MF. Documento de Análisis. Base de datos de las especificaciones OMT. MO, MD, MF Detallados. Librería de Clases 3.2 TÉCNICA DE MODELADO DE OBJETOS (OMT) (JAMES RUMBAUGH). 3.2.1 Introducción. En este documento se trata tanto el OMT-1 como el OMT-2, el primero contenido en el Libro Modelado y Diseño Orientado (Metodología

Más detalles

SERVICE ORIENTED ARCHITECTURE (SOA) CONTENIDO

SERVICE ORIENTED ARCHITECTURE (SOA) CONTENIDO SERVICE ORIENTED ARCHITECTURE (SOA) CONTENIDO Introducción:...1 Service Oriented Architecture...2 Elementos de una Service Oriented Architecture...2 Application frontends...2 Servicios...2 Contrato:...3

Más detalles

Capítulo 4: Diseño de la solución basada en software. 4.1 Diseño general del sistema y especificaciones de los componentes

Capítulo 4: Diseño de la solución basada en software. 4.1 Diseño general del sistema y especificaciones de los componentes Capítulo 4: Diseño de la solución basada en software 4.1 Diseño general del sistema y especificaciones de los componentes El sistema constará de tres elementos fundamentales: los clientes, el punto de

Más detalles

Modelos de los sistemas distribuidos. Jorge Iván Meza Martínez jimezam@gmail.com

Modelos de los sistemas distribuidos. Jorge Iván Meza Martínez jimezam@gmail.com Modelos de los sistemas distribuidos Jorge Iván Meza Martínez jimezam@gmail.com Especialización en Gestión de Redes de Datos Universidad Nacional de Colombia Sede Manizales 1/36 Contenidos Modelo arquitectónico

Más detalles

Introducción a los Servicios Web. Ing. José Luis Bugarin ILUMINATIC SAC jbugarin@consultorjava.com

Introducción a los Servicios Web. Ing. José Luis Bugarin ILUMINATIC SAC jbugarin@consultorjava.com Introducción a los Servicios Web Ing. José Luis Bugarin ILUMINATIC SAC jbugarin@consultorjava.com Servicios Web y Soa En un contexto SOA y los servicios web son una oportunidad de negocios en la actualidad.

Más detalles

Unidad I Fundamentos de Sistemas Distribuidos. M.C. Juan Carlos Olivares Rojas

Unidad I Fundamentos de Sistemas Distribuidos. M.C. Juan Carlos Olivares Rojas Unidad I Fundamentos de Sistemas Distribuidos M.C. Juan Carlos Olivares Rojas Temario 1.1. Características de un sistema distribuido 1.2. Objetivos de los sistemas distribuidos 1.3. Ventajas y desventajas

Más detalles

ELEMENTO I INTRODUCCION A LOS SISTEMAS DE BASES DE DATOS

ELEMENTO I INTRODUCCION A LOS SISTEMAS DE BASES DE DATOS Base de Datos ELEMENTO I INTRODUCCION A LOS SISTEMAS DE BASES DE DATOS Una base de datos es un conjunto de elementos de datos que se describe a sí mismo, con relaciones entre esos elementos, que presenta

Más detalles

Modulo I. Introducción a la Programación Web. 1.1 Servidor Web.

Modulo I. Introducción a la Programación Web. 1.1 Servidor Web. Modulo I. Introducción a la Programación Web. 1.1 Servidor Web. Antes de analizar lo que es un servidor Web y llevara a cabo su instalación, es muy importante identificar diferentes elementos involucrados

Más detalles

Nombre del documento: ProgramadeEstudiode asignaturadeespecialidad. Referencia a la Norma ISO9001:2008 7.3 Página 1 de 7

Nombre del documento: ProgramadeEstudiode asignaturadeespecialidad. Referencia a la Norma ISO9001:2008 7.3 Página 1 de 7 Referencia a la Norma ISO9001:2008 7.3 Página 1 de 7 1.- DATOS DE LA ASIGNATURA Nombre de la asignatura : Sistemas Operativos de Red Carrera: Ing. en Sistemas Computacionales Clave de la asignatura: RSF-1201

Más detalles

3. OBJETIVOS. 3.1. Objetivos. Objetivos generales del título. Objetivos específicos del título

3. OBJETIVOS. 3.1. Objetivos. Objetivos generales del título. Objetivos específicos del título 3. OBJETIVOS 3.1. Objetivos Objetivos generales del título De acuerdo con lo establecido en el Libro Blanco y el acuerdo del plenario de la Conferencia de Directores y Decanos de Informática (Zaragoza,

Más detalles

UNIDAD FORMATIVA 1: Instalación y Configuración de los Nodos de Area Local

UNIDAD FORMATIVA 1: Instalación y Configuración de los Nodos de Area Local UNIDAD FORMATIVA 1: Instalación y Configuración de los Nodos de Area Local OBJETIVOS: - Explicar las topologías de una red local en función de las tecnologías y arquitecturas existentes. - Clasificar los

Más detalles

Dirección General de Educación Superior Tecnológica INSTITUTO TECNOLÓGICO DE SALINA CRUZ

Dirección General de Educación Superior Tecnológica INSTITUTO TECNOLÓGICO DE SALINA CRUZ Dirección General de Educación Superior Tecnológica INSTITUTO TECNOLÓGICO DE SALINA CRUZ UNIDAD: 3 CAPA DE RED Y DIRECCIONAMIENTO DE LA RED: IPv4 ACTIVIDAD: REPORTE DEL CAPITULO 6 DE CISCO MATERIA: FUNDAMENTOS

Más detalles

Ingeniería de software orientado a agentes

Ingeniería de software orientado a agentes Ingeniería de software orientado a agentes ECSDI LSI-FIB-UPC cbea Curso 2014/2015 ECSDI (LSI-FIB-UPC cbea) Ingeniería de software orientado a agentes Curso 2014/2015 1 / 52 Índice 1 Ingeniería de software

Más detalles

Administración de Sistemas Operativos Fecha: 20-09-13

Administración de Sistemas Operativos Fecha: 20-09-13 Página 1 de 19 RESUMEN DE LA PROGRAMACIÓN ADMINISTRACIÓN DE SISTEMAS INFORMÁTICOS EN RED CURSO AC. 2012 / 2013 ÁREA / MATERIA / MÓDULO PROFESIONAL Administración de Sistemas Operativos (126 horas 6 h.

Más detalles

Redes inalámbricas ad hoc

Redes inalámbricas ad hoc Qué es una red ad hoc? También conocidas como MANET Mobile ad hoc networks. AD HOC viene del latín y se refiere a algo improvisado, mientras que en comunicaciones el propósito de ad hoc es proporcionar

Más detalles

Hoja de datos: Virtualización de puntos finales Symantec Endpoint Virtualization Suite Optimización dinámica del espacio de trabajo

Hoja de datos: Virtualización de puntos finales Symantec Endpoint Virtualization Suite Optimización dinámica del espacio de trabajo Hoja de datos: Virtualización de puntos finales Optimización dinámica del espacio de trabajo Descripción general es una solución flexible y efectiva que se centra en la productividad del usuario, independientemente

Más detalles

CUALIFICACIÓN PROGRAMACIÓN DE SISTEMAS INFORMÁTICOS PROFESIONAL. Nivel 3. Versión 6. Actualización

CUALIFICACIÓN PROGRAMACIÓN DE SISTEMAS INFORMÁTICOS PROFESIONAL. Nivel 3. Versión 6. Actualización Página 1 de 19 CUALIFICACIÓN PROGRAMACIÓN DE SISTEMAS INFORMÁTICOS PROFESIONAL Familia Profesional Informática y Comunicaciones Nivel 3 Código IFC303_3 Versión 6 Situación Contraste externo Actualización

Más detalles

CAPÍTUL07 SISTEMAS DE FILOSOFÍA HÍBRIDA EN BIOMEDICINA. Alejandro Pazos, Nieves Pedreira, Ana B. Porto, María D. López-Seijo

CAPÍTUL07 SISTEMAS DE FILOSOFÍA HÍBRIDA EN BIOMEDICINA. Alejandro Pazos, Nieves Pedreira, Ana B. Porto, María D. López-Seijo CAPÍTUL07 SISTEMAS DE FILOSOFÍA HÍBRIDA EN BIOMEDICINA Alejandro Pazos, Nieves Pedreira, Ana B. Porto, María D. López-Seijo Laboratorio de Redes de Neuronas Artificiales y Sistemas Adaptativos Universidade

Más detalles

Escogiendo un sistema host

Escogiendo un sistema host 2002 Emerson Process Management. Todos los derechos reservados. Vea este y otros cursos en línea en www.plantwebuniversity.com. Fieldbus 402 Escogiendo un sistema host Generalidades Experiencia del proveedor

Más detalles

QAD On Demand. Ediciones QAD On Demand se entrega en tres ediciones estándar:

QAD On Demand. Ediciones QAD On Demand se entrega en tres ediciones estándar: QAD On Demand QAD On Demand es una opción de despliegue de QAD Enterprise Applications. Con QAD On Demand, los usuarios obtienen las capacidades plenas de QAD Enterprise Applications, en cualquier lugar

Más detalles

Servidores Donantonio

Servidores Donantonio Especificación de requisitos software Tabla de contenidos Juan José Amor David Escorial Ismael Olea 1. Introducción...3 1.1. Propósito...3 1.2. Ámbito del sistema...3 1.3. Definiciones, acrónimos y abreviaturas...3

Más detalles

Convivencia. Gestión del Sistema de Entrada/Salida

Convivencia. Gestión del Sistema de Entrada/Salida Convivencia Gestión del Sistema de Entrada/Salida Dra. Carolina Carolina Mañoso Mañoso Dpto. Dpto. Imformática Informática y y Automática.UNED Introducción (1/2) El sistema de Entrada/Salida es la parte

Más detalles

Análisis de Requisitos

Análisis de Requisitos Análisis de Requisitos Los requisitos determinan lo que hará el sistema y definen restricciones sobre su operación e implementación. El análisis de requisitos es el proceso del estudio de las necesidades

Más detalles