2. INTRODUCCION
Los agentes móviles son programas inteligentes y autónomos que pueden
moverse a través de la red, buscando servicios que el usuario necesita e
interactuando con ellos. Estos sistemas usan servidores especializados para
interpretar el comportamiento y las comunicaciones del agentes con otros
servidores.
Los agentes móviles son capaces de ejecutarse en varias máquinas
de la red sin necesidad de que su código esté instalado en cada uno
de los ordenadores que visita. Por lo tanto, utilizan código móvil,
como Java y la máquina virtual Java, donde las clases pueden
cargarse en tiempo de ejecución a través de la red.
3.
4. ¿Qué es un
Agente Móvil?
Se entiende por agente móvil a aquél que no está limitado al sistema
donde se ejecutó, el mismo será capaz de moverse de una máquina a otra
a través de la red. De esta forma podrá interactuar con el objeto deseado
de forma directa sobre el sistema donde se encuentre dicho objeto.
En otras palabras, los agentes móviles se mueven de ordenador a
ordenador a petición del usuario Un agente móvil tiene una inherente
autonomía que le permite navegar por la red, para ello pregunta si debe
ser enviado a otros nodos.
5. CARACTERISTICAS
Es autónomo, o semiautónomo, de manera que el decide como, cuando y
donde migrar.
Está orientado a ejecutar tareas por el usuario y en otras veces basándose en
los cambios de su ambiente.
Se envía por medio de plataformas conservando su código, los datos y su
estado de ejecución.
Es asíncrono
Es capaz de comunicarse con su dueño, con otros agentes y con el medio
Puede operar sin conexión, si el agente móvil necesita trasladarse y la red no
esta
Puede duplicarse
Tiene la capacidad de reaccionar a cambios en su ambiente, modificando su
conducta debido a las acciones generadas por otros agentes.
6. LENGUAJES
Lenguajes para agentes
Pueden ser lenguajes de propósito general como:
Java
C++
Lisp
Prolog
Puede ser escrito por varios lenguajes, el agente debe ser capaz de
etablar un dialogo con el lugar de reunión de agentes hasta que se
ejecute o rechace.
7. MOVILIDAD
DE LOS
AGENTES
MOVILES
Inicio
transferencia
• El agente identifica el destino deseado, El sistema suspende la
ejecución del agente e identifica el estado y las partes que serán
enviadas.
Recepción del
agente
• El sistema destinatario acredita al cliente. Se realiza la
descodificación del agente y la conversión del código y estado del
agente (diseriación), el sistema crea la instancia del agente, restaura
su estado y continúa su ejecución.
Transferencia
de otras clases
• Este proceso se realiza cuando el agente se mueve de un sistema a
otro, cuando se crea remotamente o necesita de otros objetos.
Estas transferencias de las clases pueden realizarse durante la
transferencia del agente o realizar peticiones cuando sea necesario.
8. SEGURIDAD
Seguridad.
El control de la seguridad es un grave problema, ya que un agente es
un programa que viaja de un ordenador a otro, al igual que un virus.
Los sistemas deben hacer hincapié en la seguridad de los
ordenadores y de la propia agencia. Los aspectos de seguridad
típicos que deben ser controlados son [4]:
Protección de la máquina contra los agentes.
Protección contra otros agentes.
Protección de los agentes contra la máquina
Protección de la red.
9. Los ataques
más comunes
que pueden
realizarse a un
sistema de
agentes
móviles son:
Inundar el sistema con peticiones, tanto legales como ilegales.
Escuchar la red para obtener información privada.
Modificar, borrar o sustituir cualquier elemento transferido por la
red.
Grabar y retransmitir ilegalmente una comunicación.
Utilización abusiva de algún recurso para que no pueda ser
utilizado por otro usuario.
10. ESTRATEGIAS
DE
SEGURIDAD
Comprobar las credenciales de los participantes en cualquier
comunicación.
Restringir o garantizar las operaciones que puede ejecutar un
agente.
Gestionar privilegios de acceso a los recursos y establecer límites
de consumo.
Los requisitos que deben garantizarse en cualquier comunicación
son:
Confidencialidad: evitar la escucha del canal.
Integridad: comprobar que los datos no han sido modificados
durante la transferencia.
Autenticación: tanto el agente o sistema emisor como el receptor
deben ser identificados para evitar accesos a información o a
recursos reservados.
11. PROCESO DE
COMPROBACION
El sistema debe verificar la autoridad propietaria del agente.
Durante la creación de la petición, el propietario define las
preferencias de seguridad para el agente.
Al crearse la instancia del agente, se incluye información sobre su
autoridad y la de su sistema.
El sistema origen codifica la información.
Los sistemas origen y destino crean un canal de comunicaciones
seguro.
El sistema destino descodifica la información y realiza las
comprobaciones necesarias.
12. MODELOS
DESISTEMA
DEAGENTES
MOVILES
Modelo de Agente. Este modelo define la estructura interna del
agente como parte del agente móvil, en esencia define las
características de autonomía, aprendizaje y cooperatividad.
Modelo de Ciclo deVida. Define los diferentes estados de ejecución
de un agente móvil.
Modelo Computacional. Define las habilidades computacionales de
un agente, como la manipulación y control de instrucciones.
Modelo de Seguridad.Se encarga de dos protecciones: la de los
agentes sobre un nodo y la de los nodos sobre los agentes.
Modelo de Comunicación. Es la implementación de un protocolo.
Modelo de Navegación.Se refiere a todos los aspectos de
movilidad.
13. PLATAFORMA
S DE LOS
AGENTES
MOVILES
Plataforma Aglets
Los aglets son agentes autónomos basados en Java, desarrollados por IBM.
Proveen las capacidades básicas requeridas para la movilidad. Un aglet refleja el
modelo de applet en Java pero brindándole la propiedad de movilidad. Un aglet
también puede ser un agente móvil porque soporta las ideas de ejecuciones
autónomas y ruteo dinámico sobre sus itinerarios.
Plataforma D'Agents
AgentTcl, ahora llamado D'Agents es una plataforma simple independiente del
sistema de agente móvil. El modelo de navegación esta basado en un simple
comando agente_salta, este comando puede aparecer en un agente y provocar
que su estado y contexto de ejecución sea congelado y transportado a un nodo
específico; esta habilidad es más sofisticada que la de los Aglets.
14. PlataformaVoyager
Es una aplicación realizada 100% en Java, creada por la compañía
ObjectSpace, su meta es proveer al programador un espacio para
crear programas distribuidos rápidamente, fácilmente, con mucha
flexibilidad y extensibilidad. Una de las grandes ventajas de este
sistema es que soporta ambas arquitecturas: cliente-servidor y
basada en agentes.
Plataforma Odyssey
General Magic Inc. fue el creador del primer sistema de agentes
móviles denominadoTelescript, cuyo periodo de vida fue muy corto
pese a que estaba pensado para trabajar en una arquitectura de red.
En respuesta a la popularidad de Internet y al gran auge del lenguaje
de programación Java,General Magic decidió reimplementar todos
los conceptos considerados en el desarrollo deTelescript pero ahora
en este lenguaje.
15. Plataforma Concordia
Concordia es un espacio de trabajo para desarrollar y manejar
aplicaciones de agentes móviles eficientemente para accesar
información en cualquier tiempo, en cualquier lugar y sobre
cualquier dispositivo que soporte Java.
16. PROTOCOLOS
DE
COMUNICACI
ON
Protocolo ATP: puede ser usado para transferir agentes móviles entre redes de
computadoras. Mientras los agentes móviles pueden ser programados en diferentes
lenguajes y para una variedad de plataformas de agentes, ATP ofrece la oportunidad
para manejar la movilidad de los agentes de una forma general y uniforme.
Protocolo CORBA: es una especificación abierta de OMG para las arquitecturas de las
aplicaciones que trabajan sobre redes. Su interoperabilidad proviene de dos partes
principales: OMG Lenguaje de Definición de Interface (OMG IDL) y los protocolos
estándarizados GIOP e IIOP.
17. Protocolo RMI:
RMI (Remote Method Invocation) habilita al programador para crear
aplicaciones basadas en tecnología Java distribuida, en la cual los
métodos de objetos en Java remotos pueden ser invocados desde
otras máquinas virtuales de Java, posiblemente en diferentes
servidores.
18. CONCLUSION
El gran potencial de los agentes desarrollados es el poder que
tienen de interactuar entre ellos sobre plataformas, protocolos de
transferencia, lenguajes de programación y lenguajes de
comunicación diferentes. Los sistemas de agentes de software
móvil proporcionan una plataforma que ofrece un mayor nivel de
abstracción con respecto a la arquitectura distribuida que
conocemos. De esta forma nos podemos acercar aun más a los
requisitos del usuario, ya que el programador puede expresar las
necesidades de una forma más flexible. La colaboración entre
agentes se realiza mediante un lenguaje de comunicación
(sintaxis, semántica y pragmática) que soporta la capacidad de
compartir conocimiento.