domingo, 26 de mayo de 2013

Reporte - Resumen: Aplicación de redes sensoras

Tema: Mobile Agent Middleware for Sensor Networks: An Application Case Study
Autores: Chien-Liang Fok, Gruia-Catalin Roman, and Chenyang Lu
Washington University in Saint Louis

1.- Introducción:

Las redes de sensores inalámbricos (siglas en ingles: WSN) consisten en pequeños sensores arraigados en el entorno.
Algunos ejemplos donde se aplica seria en la supervisión del hábitat, vigilancia, atención médica y en monitorear alguna estructura.
Estas aplicaciones tienen intervalos largos de implementación por el gran número de nodos, y su exposición al medio físico, y eso da lugar a una alta probabilidad de que muchos de ellos se desactivan.

Las WSN deben hacer frente a entornos altamente dinámicos, por ejemplo: mientras que una red de seguimiento de incendios este desplegado en un bosque, puede permanecer inactivo la mayor parte del tiempo, si un ocurre un incendio forestal y se extiende, debe de provocar rápidamente numerosas actividades en la red, entonces las aplicaciones de WSN tienen que ser flexibles y adaptables.

Las aplicaciones WSN son difíciles de desarrollar y desplegar, por ejemplo: una plataforma WSN se compone de MICA2 y TinyOS del sistema operativo, TinyOS es un sistema operativo basado en eventos, con una curva de aprendizaje alta, por lo tanto, las aplicaciones de TinyOS sólo pueden ser ligeramente ajustados, cambiando los parámetros definidos antes del despliegue.

En este tipos de casos, los Middlewares promete mejorar la flexibilidad de las aplicaciones WSN.
Excluyendo al proyecto Agilla, otros middlewares incluyen a XNP, Diluvio, Mat'e, SensorWare, Impala y los mensajes inteligentes.

Para hacer frente a las limitaciones de los middleware más arriba, se desarrollo "Agilla", un agente de middleware móvil para redes inalámbricas con sensores.

Agilla se basa en Mat'e, pero a diferencia de Mat'e, que divide una aplicación en cápsulas que se inundan a través de una red, Agilla permite a los usuarios instalar aplicaciones mediante la inyección de agentes móviles en una red de sensores.

Se implemento Agilla en un modulo MICA2 Mote y en el sistema operativo TinyOS.

En este artículo se presenta un estudio de caso de Agilla, utilizando una aplicación de seguimiento de incendios.
En esta aplicación, los agentes móviles se despliegan para formar y mantener dinámicamente un perímetro alrededor de un fuego ya que se propaga a través de una red.

En este artículo hacen tres contribuciones principales:
  • En primer lugar, muestran cómo el middleware de agente móvil se puede utilizar para facilitar el desarrollo y el despliegue de una aplicación no trivial.
  • En segundo lugar, se presentan resultados sobre el rendimiento a nivel de aplicación, demuestran la fiabilidad y la eficiencia de los agentes móviles.
  • Y finalmente, en tercer lugar se proporcionan nuevos conocimientos con lecciones para técnicas de programación en agentes móviles para redes inalámbricas de sensores.

Y a continuación los temas del documento.

2.- Agilla Overview

Como se habia mencionado antes en el documento, las aplicaciones Agilla consisten en agentes móviles que pueden moverse y clonarse a sí mismos con realización a tareas específicas de la aplicación.

Agilla proporciona instrucciones de alto nivel que permiten a los agentes internos que lleven a cabo tareas complejas.

La arquitectura del agente móvil se muestra en la Figura 1.
Se compone de una pila, un montón, y diversos registros.

Los agentes móviles utilizan una arquitectura de pila, ya que permite la mayoría de las instrucciones por ser de un solo byte.

El modelo Agilla se muestra en la Figura 2.

Cada nodo es compatible con un máximo de cuatro agentes, Agilla maneja automáticamente el cambio de contexto que permite a los agentes que se ejecutan simultáneamente e independientemente.

Agilla proporciona dos componentes que facilitan la coordinación entre los agentes: un espacio como tupla, y una lista conocida, Ambos se mantienen en cada nodo del middleware.

Para evitar el "sondeo", Agilla aumenta el espacio de tuplas con reacciones, que permiten a un agente para reaccionar a la presencia de una tupla que coincide con una plantilla determinada.

Se debe de tener en cuenta que Agilla no admite un espacio de tuplas global que se extiende a través de múltiples nodos, debido principalmente a las limitaciones de ancho de banda y la energía, en cambio, soporta espacios de tuplas locales en cada nodo mantiene un espacio de tuplas distintas y separadas.

Agilla también mantiene una lista de conocimiento en cada nodo, esta lista contiene la localización de todos los vecinos de un salto, también implementa su propio gestor de memoria dinámica para obtener instrucciones de agente y los espacios de tuplas.

3.- Aplicacion para monitorear el fuego.

La aplicación para monitorear el fuego se muestra en la Figura 4.

Un fuego se enciende en una región que estará dentro de la red de sensores, y a medida que el fuego se extiende, los agentes que estarán alrededor de él, se clonan en repetidas ocasiones para crear un perímetro, y una vez que se forma el perímetro, notifican al departamento de bomberos.

Al realizar el caso de estudio, se centraron en los agentes para monitorear.

Ellos moldearon el fuego con insertar tuplas donde contuvieran la cadena "estrella" en los nodos que informaban que se estaba "quemando", y el agente podía utilizar las operaciones de las tuplas remotas (por ejemplo, rrdp o rrdpg) para detectar los incendios.

Se utilizan dos tipos de agentes contra incendios para el modelado de fuego: estáticos y dinámicos, los agentes contra incendios estáticos simplemente insertan una tupla incendio en el espacio de tuplas locales.

El código se muestra en la Figura 5.

Los agentes estáticos se utilizan para crear los incendios de diferentes formas para el agente de seguimiento y así formar un perímetro alrededor del incendio.
El agente extintor dinámico funciona mediante la inserción de una tupla a su llegada, y luego haciendo parpadear el LED rojo un cierto número de veces.

Ahora, si el agente perseguidor del fuego descubre y forma un perímetro alrededor del fuego, muere si el nodo captura el fuego en ese perímetro, esto se realiza mediante el registro de una reacción que mata el agente cuando se inserta una tupla de fuego en el espacio de las tuplas locales.

El código que registra esta reacción se muestra en la Figura 6.

El ciclo de vida de un agente rastreador o perseguidor se muestra en la Figura 7.

El ciclo anterior muestra el como funciona comprobando repetidamente si alguno de sus vecinos están en llamas, si no hay ninguno, se realiza un movimiento débil para un vecino aleatorio y repite el proceso, y si un vecino está en llamas, entra en modo de seguimiento.

4.- Indicadores de Rendimiento

En este apartado, para evaluar su agente de seguimiento de incendios, probaron su rendimiento en una WSN con un modulo wirelles MICA2 Mote en una cuadrícula de 5 x 5 (el modulo sirve como estación base por separado).

Mediante la disposición del modulo, fueron capaces de calcular la ubicación del nodo (x, y) en función de su dirección.

Para crear una red multi-hop en el espacio limitado de su laboratorio, modificaron la pila de red TinyOS para filtrar todos los mensajes, excepto los de los vecinos horizontales, verticales y diagonales sobre la base de la topología de la red.

Los resultados reflejaron los escenarios en los peores de los casos, debido a un aumento de la probabilidad de colisiones inalámbricas.

Se realizaron dos tipos de pruebas: el primero, utiliza agentes contra incendios estáticos para determinar la velocidad del perímetro, y el segundo, utilizaron los agentes contra incendios dinámicos para determinar qué tan bien los agentes Tracker puede ajustar el perímetro cuando el fuego se propaga.

Para las pruebas de fuego con agentes estáticos, se inicia el WSN mediante la inyección de agentes contra incendios estáticos en ciertos nodos para generar incendios de diversas formas y tamaños, un agente de seguimiento de incendios se inyecta en un nodo al lado del fuego, al inyectar el agente de seguimiento junto al fuego, se aísla la fase de descubrimiento de la fase de seguimiento.

Se hicieron pruebas en varios incendios diferentes, como se muestra en la Figura 8.

En la imagen se muestra cuando en el nodo se inyecta el agente detector y está marcado con una estrella de color negro, las flechas indican que el detector debe clonarse a sí mismo para formar el perímetro.

Para realizar una captura del progreso al momento de formarse el perímetro, se utilizo una videocámara digital, y los resultados se muestran en la Figura 9.

En la imagen se puede observar que en la mayoría de los casos se forma el perímetro dentro de 3 segundos.
En el escenario que llevó más tiempo es la escena A, y se debe a que su configuración contenían áreas que impedían la propagación de agentes múltiples en paralelo.

Los resultados que se muestran en la Figura 9, muestran claramente cómo el punto inicial de seguimiento de fuego tiene un impacto significativo en la velocidad a la que se forma el perímetro.

Para evaluar la capacidad del detector para mantener un perímetro en un incendio, se inyectan cuatro agentes de seguimiento de incendios en la red con una estrella negro en la Figura 10, y luego se inyecta un agente de fuego dinámico en el nodo (5,5).

Se llevaron a cabo dos pruebas: una con un agente de fuego lento y otro con fuero rápido, y se utilizó la cámara de vídeo digital para grabar cada ejecución de las pruebas de fuego dinámico

Los resultados se muestran en la Figura 11.

En la imagen se muestra que el rastreador de fuego hace un buen trabajo al mantener un perímetro alrededor del fuego lento, pero tiene dificultades con el fuego rápido. 

En el experimento rápido, el agente de fuego se extiende rápidamente.


La razón por la que ambos convergen al 100% se debe porque el fuego se propaga, y la red se convierte en el tiempo saturado de un agente en cada nodo.

5.- Lecciones aprendidas

Aquí, en este apartado muestran un pequeño resumen sobre las lecciones aprendidas durante todo el proyecto y en que se batallo y que fue lo mejor.

Se debe de tener una buena elección entre el uso de operaciones con migración fuerte y débile, ya que tiene un impacto significativo en la complejidad y la eficiencia del código.

Definitivamente el código fuente del agente se dividió en dos módulos para reflejar los dos modos de funcionamiento, por ejemplo: la detección de incendios y el seguimiento de incendios.

Se encontraron problemas con respecto al tamaño del agente, al ser demasiado grande para caber dentro de las limitaciones de memoria en el modulo MICA2 Mote.

Después de optimizar el agente en los dos módulos, se percataron que el modo del agente podría inferir en base a que si habían nodos vecinos en el fuego, eso permitió combinar los dos bloques de código para la reducción del tamaño de la agencia.

También notaron que el conjunto de instrucciones puede reducir significativamente el tamaño del código.

Se agregaron dos instrucciones en el caso de estudio, fueron rrdpg y surrondings, rrdpg determina la dirección de todos los vecinos, sin ella, cada vecino tendría que ser consultada de forma individual.
A diferencia de otras instrucciones, rrdpg almacena los resultados en la pila, ya que a menudo se utilizan en numerosas ocasiones.

La arquitectura de Agilla, permite a los usuarios añadir y eliminar las instrucciones off-line, y cuando se compila y se instala, no se pueden agregar nuevas instrucciones. 

Y finalmente notaron que la programación en un lenguaje ensamblador es una tarea extremadamente tediosa y propenso a tener muchos errores.

6.- Conclusión:

A lo largo de todo el trabajo realizado, se demostró que Agilla se puede utilizar para implementar aplicaciones complejas en redes de sensores inalámbricas.

También se demostró cómo las aplicaciones múltiples pueden compartir simultáneamente una red.

Se presento un caso de estudio de cómo los agentes móviles se pueden utilizar para programar un WSN para el seguimiento de fuego.

Se demostró que los agentes móviles y su comunicación basada en tuplas son factibles, y estas abstracciones se pueden utilizar para aumentar la flexibilidad de la red.

También se demostró que los agentes del perseguidor de fuego pueden mantener un perímetro alrededor de un fuego dinámico, ya que se propaga a través de una red.


Con la experiencia al desarrollar esta aplicación, se llevó a la adición de varias instrucciones, lo que permite  a Agilla proporcionar una mejor base para desarrollar rápidamente aplicaciones flexibles para redes inalámbricas de sensores.

Critica:

Durante todo el proceso del proyecto, debido al tiempo en que a pasado desde que se realizo, utilizaron herramientas algo obsoletas, ahora se podrían adquirir las mismas herramientas pero de mejores versiones y con nuevas funcionalidades.

También se podrían mejorar los algoritmos utilizados en la red de nodos, ya que como se mostró en algunas ocasiones se mostró que hubo fallas.

Y por ultimo, utilizaron lenguaje ensamblador es demaciado complicado, tedioso, consume tiempo, y todo por que es algo dificil, es mejor utilizar lenguajes de alto nivel, ya que se evitarian demaciados problemas

Referencia:

viernes, 24 de mayo de 2013

Laboratorio - Simulación 3D adhoc

Esta entrada es sobre una simulación de una red Ad Hoc, pero esta vez en 3D, con alguna superficie, si requieren ver mi entrada sobre simulación de una red Ad Hoc, entren al siguiente enlace: Reporte: Ad Hoc

Me base en varios programas de varios compañeros y algunas documentaciones para realizar esta entrada:

Introducción

Las simulaciones que realice, fueron realizadas para simular una red sensóra Ad Hoc, donde tienen como fondo 3D, los nodos son sensores, los cuales realizan una acción cada que tienen contacto con el terreno simulado en 3D

Herramientas

Algunas herramientas que utilice para realizar las diferentes simulaciones, fueron las siguientes:
  • Blender 2.6
  • Matplotlib 1.2.1 
  • Python 2.7

Instale Matplotlib para python, si quieren obtener mas información, entren al siguiente enlace: Matplotlib.org

Encontraran las opciones donde podrán descargar matplotlib, algunas paginas con documentación y ejemplos.

Simulación 

Como lo comente antes, realice varias simulaciones, primero realice una simulación en Blender, después varias pruebas con Matplotlib, pero tuve algunos problemas, enseguida una pequeña explicación de cada uno:

Simulación Blender

En esta simulación, genere lluvia, genere unos nodos estáticos, y solo mostraba un mensaje cuando el agua "tocaba" al nodo.

Primero genere el entorno en 3D con los nodos generados estáticos, quedo así:

Aquí una muestra que los nodos estaban colocados en la posición donde cae el "agua" y no se encuentran en otra posición, quedo así:

En esta imagen ya con la animación iniciada, se obtuvo lo siguiente:

Aquí un vídeo de la simulación:
video

Simulación en Matplotlib

En las siguientes simulaciones, solo cree entornos en 3D, con nodos estáticos, y los nodos se conectaban unos con otros.

En estas simulaciones falto implementar al 100% la red con sensores, ya que era la primera vez que utilizaba este lenguaje y fue algo complicado, batalle y quedaron en algo muy básico.

Simulación 1:

En la primera simulación, solo genere los nodos estáticos, y no era una red de sensores, quedo así:

Código uno:


Simulación 2:

En esta segunda simulación simule un escenario en 3D en donde consistía el "mar" no salio perfecto, pero volví a colocar nodos, simulando la red con sensores, pero también tuve problemas, aun así quedo algo básico:

Aquí la muestra que se genero en 3D y se tiene una vista desde arriba:

Código dos:


Simulación 3: 

 En esta ultima simulación volví a colocar nodos, y ahora si logre colocar una red de nodos con algo de sensores, se unían dos nodos con un evento de por medio.

Otra imagen desde con otro punto vista:

Coloque los nodos sensores, y los nodos se conectaban por medio de un evento, las lineas cambiaban de color cuando se conectaban unos con otros.

Código tres:


Comentarios

Las simulaciones en matplotlib batalle, ya que como lo había mencionado antes, era la primera vez en que realizaba pruebas con esa herramienta, falto crear las redes de sensores, me quede a la mitad del trabajo, y crear la animación como lo hice en Blender.

Falto implementar la comunicación con rangos ajustables y TTL

Referencias

martes, 21 de mayo de 2013

Reporte - Ad hoc

Para esta semana se pidió que realizáramos una simulación de una red Ad Hoc.

Me base en otros programas de mis compañeros, para realizar la tarea.

Introducción 

El programa consiste en simular una red MANET, con llegada y salida de nodos, tiene consigo un modelo de movilidad (En este caso se lleva a cabo una movilidad en grupo, que en este caso se utilizo "Random Waypoint"), nodos con capacidad de batería, envió de mensajes y cada nodo reduce su batería según su radio de transmisión.

Simulación

Primero tenemos los nodos generados en la ventana:

Los nodos cuentan con la "pila":

pila = 700

Después tenemos al nodo "enemigo" y es el nodo al que siguen todos los demás, de color negro:

Desaparecen los nodos cuando se acaba su pila, y vuelven a aparecer en otro color
Se muestra cuando los nodos mueren, en la ventana vuelven a aparecer.
Falto implementar el envió de mensajes y reducir su batería según su radio de transmisión.

Código


Un vídeo de la simulación a continuación:

Vídeo
video

Los nodos se movilizan buscando al "enemigo", después a cada nodo se le acaba la pila, y después vuelven a re-aperecer con un color random.

Referencias

lunes, 20 de mayo de 2013

Laboratorio - Reporte: Redes Adhoc

Tema: CarNet - A Scalable Ad Hoc Wireless Network System
Autores: Robert Morris, John Jannotti, Frans Kaashoek, Jinyang Li and Douglas Decouto

Introducción 

CarNet es una aplicación para sistemas de redes móviles con una red AdHoc a gran escala y no se necesita una infraestructura de red para en-rutar los mensajes.

Esta aplicación apoya la conectividad por medio de IP, así como aplicaciones para la monitorización cooperativa de congestión, el seguimiento de EET, y en descubrir los puntos cercanos de interés.

Mencionaban que estaban diseñando una arquitectura de red escalable y dinámica denominada Grid, y que sería más fácil de implementar que muchas aplicaciones ya existentes.

Deseaban diferentes tipos de dinamismos para el proyecto, primero: introducir un nuevo nodo a la red y que no debería requerir la intervención humana, toda la configuración debe de ser de forma automática; segundo: la red no debe depender de una infraestructura; tercero, los nodos deben ser capaces de moverse; cuarto: debe ser fácil para que las aplicaciones interactuen entre si y quinto: los protocolos subyacentes deberían proporcionar API's y utilizar algoritmos.

Los objetivos principales de esta investigación son similares a los de los sistemas de redes móviles AdHoc (MANET).

En el documento se muestra como quisieron construir un sistema que pudiera escalar a cientos de miles de nodos, sin escalas con tecnología de red ya existentes y sin depender de técnicas jerárquicas estáticas.

Para probar la red que se estaba diseñando e implementando, escogieron la aplicación CarNet porque su despliegue va en incremento.

En este trabajo se describe el diseño general provisional y cuadricular en los sistemas de organización del CarNet.

2.- Arquitectura

En esta parte, se explica que la funcionalidad de la escalabilidad funciona de manera de reenvío geográfico, el nodo de origen anota cada paquete en conjunto con la ubicación a donde tiene que llegar el cual es su destino.

En cada nodo, se realiza una decisión puramente local para reenviar el paquete al nodo vecino que está geográficamente más cercano al destino.
El reenvío no implica ninguna información global de ayuda a la escala del enrutamiento geográfico.

2.1.- Servicio de Ubicación de Red (GLS)

La expedición geográfica requiere el envío de nodos para descubrir los lugares de destino, es decir, la red debe proporcionar una base de datos con los mapas de cada nodo con su ID permanente en conjunto con su ubicación geográfica.

La base de datos no debería depender de cualquier infraestructura porque podría dificultar el despliegue de escalabilidad, al contrario, debe ser distribuido por todos los nodos..

Todos los nodos en el sistema están coordinados con un algoritmo distribuido "f(i)"que mapea cada nodo identificado a una lista de ubicaciones físicas, con sus latitudes y longitudes.

Las ubicaciones producidas por "f(i)" actúan como servidores de localización de nodos, sin embargo si el nodo "i" se mueve, utiliza el reenvío geográfico para enviar actualizaciones con las ubicaciones especificadas por "f(i)", los nodos cercanos a esos lugares recuerdan la posición del nodo "i".

En la siguiente figura 1 se muestra un mensaje sobre el encabezado de GLS en un rango de tamaños, y la figura 2 indica los paquetes de datos entregados con éxito.
Figura 1:

Figura 2:


Esas figuras fueron obtenidas por medio de simulaciones que implicaban una buena cantidad de movilidad en los nodos.

2.2 Gestión de Densidad  

Aquí explican que el reenvío geográfico puede fallar cuando la red no es suficientemente densa, por lo que los paquetes encuentran agujeros en la topología, es decir, un paquete puede llegar a un nodo donde no tiene vecinos en su radio y que están cerca de su destino.

Por otro lado, una red de radio también puede ser demasiado densa.  Las radios que se encuentran dentro
del alcance del radio de cada nodo con otro, debe compartir el espectro limitado, y a medida que aumenta la densidad de los nodos, el ancho de banda disponible para cada nodo disminuye.

Tomando en cuenta el radio de los agujeros en la distribución de nodos utilizan técnicas como Karp y Bose.

La idea básica es que los nodos estén de acuerdo en las conexiones necesarias para enviar los paquetes alrededor de los perímetros del agujero hasta que avancen o regresen al punto de partida.

La idea es variar la potencia de transmisión con la idea de mantener un número con  una constante aproximada al rango de nodos del radio, esto ayuda a mantener la red conectada a densidades bajas.
También se obtiene un ahorro de energía similar a la del enrutamiento.

3.- Aplicaciones

En el documento explican que construyeron un sistema con una cuadrícula alrededor para explorar cómo la rejilla interactua con las aplicaciones, el hardware y con sus tensiones de despliegue a gran escala.

En el CarNet cada Coche tendrá un nodo y que consiste en un equipo Linux, con radio IEEE 802.11, un receptor GPS y pantallas para el conductor y pasajero.

3.1.- Localización de Recursos

La localización de recursos era un propósito general para aplicación proporcionada por la red movil.
En GLS se pueden utilizar recursos sin alteraciones para localizar las inmediaciones.

En la idea simplemente consistía en asociar un nombre estándar a un recurso, como "\impresora", "\cache-web" o para el punto de acceso "\Internet ".

Ya con los nombres, se les aplicaba un algoritmo hash para obtener una identificación y a continuación, participaban en el protocolo de GLS, se tomaba en cuenta que GLS es robusto por los múltiples nodos que utilizan un mismo ID, y por ultimo el resultado final era el deseado, al realizar una búsqueda de ubicación, los nodos veían al recurso más cercano a ellos.

3.2 Conectividad IP

La conectividad IP era un punto importante en CarNet, a cada nodo se le asignaba una dirección IP, una máscara de subred y la dirección IP de su router por defecto.
Los nodos inalámbricos participaban en el protocolo utilizando un hash de la dirección IP como su ID.

Para enviar un paquete a través de Internet, el nodo determinaba la localización de la puerta de entrada y reenviaba el paquete IP.

3.3.- CarNet Specific

Además de los servicios directos como la ubicación de los recursos y la conectividad IP, se esperaba que las propiedades de una red inalámbrica en la que los nodos conocen sus propios lugares pueden inspirar a otras aplicaciones parecidas.

3.4.- Privacidad

El uso del enrutamiento geográfico presenta un problema para los usuarios preocupados por la privacidad de su ubicación y movimientos.

Si se utilizaba GLS, cualquier nodo puede localizar a un nodo cuyo ID sea reconocido.

Creemos que ambas técnicas podrían impedir que este hecho de privacidad se convierta en un tema de preocupación para la mayoría de usuarios.

Los nodos pueden cambiar las direcciones IP en poco tiempo, muchos nodos pueden compartir un grupo de direcciones IP, con lo que el seguimiento de los individuos se dificulta.

Un punto en contra es que si cambia periódicamente la dirección IP protege a un usuario de un seguimiento por parte de terceros, pero no se impide a los nodos contactados por el usuario.

Para solucionar este problema, los usuarios pueden considerar el uso de un proxy para algunas conexiones sensibles.

4.- Trabajos relacionados

En los trabajos relacionados, existen pocos ejemplos de sistemas implementados con redes Ad Hoc, por mencionar algunos son: la Metricom Ricochet y Nokia.

Hay alguno algoritmos existentes sobre redes AdHoc, como: DSR, AODV, DSDV, y TORA.

Conclusión

Los autores esperaban que el despliegue de CarNet sacará a la luz nuevos problemas y nuevas soluciones.

El sistema maneja a un gran número de nodos a grandes escalas mediante el reenvío geográfico.

El problema de la variación en su densidad de cada nodo se volverá a requerir algoritmos adaptativos para gestionar el espectro radioeléctrico y los niveles de potencia.

CarNet facilitará la creación de nuevas aplicaciones adaptadas a las redes geográficamente conscientes.

Critica

En el documento resaltaban de manera muy importante el sistema debería de ser dinámico y así evitar contratiempos, puede que sea una técnica buena, pero no es 100% confiable, aun así en los tiempos modernos hacer un sistema manual ya no es rentable .

Ya que este documento fue editado hace mas de 5 o 6 años, utilizan herramientas como IP; maquinas Linux y todo eso podría ser utilizado de manera mas eficaz con herramientas actualizadas y así tener un resultado mas optimo.

En este caso podría utilizarse otro tipo de algoritmos para que sean mas eficientes con proyectos dedicados a redes AdHoc.

Referencia

martes, 14 de mayo de 2013

Laboratorio - Investigación: Sistemas Satelitales

En esta entrada, se muestra una pequeña investigación sobre sistemas satelitales y en donde se aplica, mecanismos para interceptar la comunicación de dichos sistemas y como protegerlos.

1.- Introducción 

Un satélite artificial es una nave espacial enviada en un vehículo de lanzamiento o un tipo de cohete que envía la carga hacia el espacio y puede realizar diferentes actividades.

Los satélites artificiales pueden orbitar alrededor de lunas u objetos naturales del espacio como planetas. Tras su vida útil, los satélites artificiales pueden quedar orbitando como basura espacial.



Tipos de satélites:

  • Órbita baja terrestre (LEO): a una altitud de 0 a 2000 km
  • Órbita media terrestre (MEO): con una altitud entre 2000 km
  • Órbita alta terrestre (HEO): con una altitud por encima de la órbita de 35 786 km.

2.- Aplicaciones: 

Los sistemas satélites pueden ser útiles para muchos cosas, hoy en día existen muchos satélites con diferentes usos, los cuales pueden ser los siguientes:

  • Astronómicos 
  • Anti-satélites
  • Comunicación  
  • Espías
  • Meteorológicos
*Astronómicos:

Un observatorio espacial, también conocido como telescopio espacial, es un satélite artificial o sonda espacial que se utiliza para la observación de planetas, estrellas, galaxias y otros cuerpos celestes de forma similar a un telescopio en tierra.

 Se han lanzado una cantidad importante de telescopios espaciales a órbita desde que Cosmos 215, considerado el primer observatorio espacial.

*Anti-satélites:

Un arma anti-satélite es un arma espacial diseñada para incapacitar o destruir satélites con fines estratégicos militares.

Actualmente, los Estados Unidos, Rusia y la República Popular de China son los únicos que se conoce que han desarrollado este tipo de armamento.

*Comunicación:

Los satélites artificiales de comunicaciones son un medio muy apto para emitir señales de radio en zonas amplias o poco desarrolladas, ya que pueden utilizarse como enormes antenas suspendidas del cielo.

Se suelen utilizar frecuencias elevadas en el rango de los GHz; además, la elevada direccionalidad de antenas utilizadas permite "alumbrar" zonas especificas de la Tierra.

*Espías:

Un satélite espía es un satélite artificial de observación terrestre o de comunicaciones destinado a uso militar o para inteligencia.

Algunos satelites espías:
  • Estados Unidos
    • Lacrosse/Onyx
    • Misty/Zirconic
    • Samos
    • Quasar
    • Vela suárez
    • Vortex/Chalet
  • Unión Soviética
    • Cosmos
    • Almaz
    • Yantar
    • Zenit
  • Alemania
    • SAR-Lupe 1-5
    • Francia, España, Italia y Bélgica
    • Helios 
  • Reino Unido
    • Zircon
  • India
    • Satélite Experimental de Tecnología
  • Israel
    • Ofeq

*Meteorológicos:

Un satélite meteorológico es un tipo de satélite artificial que se utiliza principalmente para supervisar el tiempo atmosférico y el clima de la Tierra.

Sin embargo, ven más que las nubes, las luces de la ciudad, fuegos, contaminación, auroras, tormentas de arena y polvo, corrientes del océano, etc., son otras informaciones sobre el medio ambiente recogidas por los satélites.

Tipos:

Existe dos tipos básicos de satélites meteorológicos por su órbita: los geoestacionarios y los polares.

3. Proteger comunicaciones satelitales

Algunos métodos para combatir las amenazas en sistemas satelitales pueden ser: evasión y alteración de comunicación.

*Evasión:

Se evita cualquier interrupción en la operación del satélite.
Este método parece simple, pero requiere una coordinación mayor, y en general  los satélites siguen su órbita según sea la misión que vayan a realizar.
Este método puede causar un alto grado de vulnerabilidad.
La habilidad para alterar el curso del satélite en una situación peligrosa desviaría fallas en seguridad.

*Alteración de comunicaciones:

Es simple y es empleado este método como solución para evadir intersecciones, además previene la detección del satélite. Requiere de un transmisor adaptable capaz de transmitir señales de alta resistencia para no darle oportunidad a sistemas que intercepten sus transmisiones.


4. Mecanismos para interceptar comunicaciones:

En las comunicaciones satelitales se da por dar mal uso en los enlaces del satelite con la tierra.

Cuando realiza su rotación normal, una pequeña señal es generada en el satélite cuando se encuentra en su orbita. El transmisor manda la señal a la antena, y este a la ves, proyecta la señal a otro receptor en la estación que se encuentra en la tierra.

Lo preocupante en este proceso, es que se encuentra un mal uso de la comunicación, algunos mensajes enviados por estos enlaces son de suma importancia. Las dos formas principales para la interrupción o intercepción de estos mensajes son:  Acción preventiva, Malversacion e intercepción de señales.

*Acción Preventiva:

Estas medidas son empleadas en tiempos con hostilidades abiertas y con el objetivo de eliminar los recursos de los enemigos.
Aunque esto puede ser combatido usando secuencia de modulos en una tasa de transmisión de datos, es una buena forma para prevenir que cualquier señal sea recibida en un host determinado.

*Malversación:

Este método puede ser considerables al "wire-tapping", permitiendo al agresor obtener información sobre su blanco y usarlo de manera ventajosa.
Si se utiliza este método, el resultado de estos esfuerzos es que la fuerza hostil gana control del satélite, su información y capacidades.

*Intercepción de Señales:

Este método es la intercepción de señal a nivel de tierra y depende mucho de la transmisión de señal desde el satélite objetivo en órbita. Después de la transmisión de la señal, una fuerza hostil puede emplease en la estación de la tierra o dentro del rango de la comunicación.
Este método es una forma efectiva para recolectar inteligencia y ganar ventaja en contra del enemigo.


5.- Conclusión:

Los sistemas satelitales, son demasiado importantes para la vida diaria, si llegaran a ser utilizadas de manera no apropiada, habría un declive de redes de comunicaciones, problemas son sistemas de gobierno, etc.
Para esto, los países deben de tener un muy buen sistema de seguridad para cada uno de sus sistemas satelitales, ya que sin ellos o con alguna falla que se presente, seria un gran problema para la población en general.

Referencias:

Reporte - Geolocalización

Para esta semana, se pidió una simulación de Geolocalización, donde utilizare el método de triangulación.
Me base en trabajos de mis compañeros y realice lo siguiente:

En el código, utilice Python en conjunto con Pygame para dibujar los círculos, después, doy las coordenadas a utilizar y dan la localización de los transmisores y el receptor, ya colocados, se mandan las señales y el receptor solo conoce la señal que mandan los transmisores.

Simulación: 

Primero, tenemos los transmisores, los cuales son 3, y un receptor.

Los transmisores de color verde y el receptor de negro.

Después la señal la manda el primer transmisor, el cual manda la señal y llega con el receptor.

Enseguida, el segundo transmisor manda la señal y también llega al receptor.

Por ultimo, el tercer receptor hace el mismo trabajo, manda la señal y llega al receptor

Y queda de la siguiente manera:

Aquí esta el código:

Código: 


Aquí un vídeo de la simulación final:

Vídeo: 
video

El vídeo muestro lo anteriormente explicado, donde mandan las señales hacia el receptor.

Referencias: