Páginas

Mostrando las entradas con la etiqueta telecom. Mostrar todas las entradas
Mostrando las entradas con la etiqueta telecom. Mostrar todas las entradas

domingo, 26 de mayo de 2013

[REDES DE TELECOMINUCACIONES] Resumen de redes sensoras

Mobile Robot Navigation using a Sensor Network

Autores: Maxim A. Batalin y Gaurav S. Sukhatme

1. Introducción

La navegación es un problema fundamental en la robótica móvil. La navegación local tiene un principal problema y es evitar obstáculos. La navegación global tiene otro problema, el robot no puede ver el estado de su objetivo debido a la gran escala del terreno.

Un número de soluciones han sido propuestas entre las cuales se encuentran: pre-especificación de mapa, construcción de mapa en vuelo, topología basada en señalamientos, etc. El problema con estas soluciones es que no son del todo exactas, pues los sensores envían ruido.

Un tipo de navegación basado en el filtrado de Kalman es preciso métricamente, sin embargo en situaciones de pérdida no se puede recuperar, pues es una solución unimodal.

Algunas soluciones desarrolladas en los últimos basadas en la localización de Markov prueban ser multimodales y exactas. para representar distribuciones probabilisticas de distintos tipos, pero requieren mayor poder de procesamiento, y por lo tanto son imprácticas.

Otro tipo de solución es el uso de técnicas basada en muestras. En lugar de guardar y procesar distribuciones en el momento, se toman con anterioridad y se procesan, las muestras se guardan. Mediante algoritmos de localización de Markov se procesa parcialmente para no dejar todo del lado de los datos almacenados previamente.

Estas soluciones tienen distintas ventajas y desventajas, e incluso en algunos casos pueden fallar. La solución propuesta en el artículo utiliza redes sensoras para monitorear el entorno.

Algunas propiedades de esta solución se sumarizan como sigue:
  1. La red sensora está previamente implementada en el entorno.
  2. En adición a implementar los nodos de la red, el algoritmo calcula las distribuciones de portabilidad de transición P(s'|s,a) de un nodo s a s', cuando el robot ejecuta una acción a.
  3. Los nodos están sincronizados en tiempo (no es necesario gran precisión).
  4. El robot no tiene un mapa precargado o acceso a GPS, IMU o brújula.
  5. No es necesario que el entorno sea estático.
  6. El robot no realiza mapéos o localizaciones.
  7. El robot no es sofisticado, los cálculos primarios se realizan distribuidamente en al red, solo se requiere que sepa evitar obstáculos.
2. Navegación probabilística

Para que el robot sea capaz de navegar por el entorno de un punto A a un punto B, debe ser capaz de seleccionar una acción que maximice las oportunidades de llegar a su destino, para poder medir el progreso y reconocer que ha llegado al punto B. La solución propuesta depende de una red sensora que determina las probabilidades de transición y consiste en dos etapas:

2.1 Planeando

Cuando el objetivo de navegación es especificado, el nodo más cercano al objetivo inicia una comunicación con el resto de nodos para determinar probabilísticamente cuál es el camino más óptimo.

1) Marco teórico - Valor de iteración: Considerando la red sensora como un grafo, donde los nodos son vértices. Se asume un número finito conjuntos de vértices S en la red y un número finito conjuntos de acciones A que el robot puede tomar. Dado un subconjunto de secciones A(s) ⊆ A, para cada dos vértices s,s' ∈ S en el grafo de la red y la acción a ∈ A(s) las probabilidades de transmisión P(s'|s,a) son determinadas para todos los vértices. Se muestra un ejemplo de distribución para un vértice por acción:

Para calular la mejor acción dado un vértice se utiliza un algoritmo de valor de iteración para el conjunto de vértices S - sg donde sg es el objetivo. La idea general es calcular las utilidades para cada estado y después tomar las acciones que determinen un camino hacia el objetivo con la máxima utilidad esperada. La utilidad se calcula incrementalmente:

donde C(s,a) es el costo asociado con el movimiento hacia el siguiente vértice. Usualmente el costo es escogido para ser un número negativo que es menor a -1/k donde k es el número de vértices. Racionalmente el robot debe "pagar" para tomar una acción, pero el costo no debe ser muy grande, de otra manera el robot optará por quedarse en su sitio. Dadas las utilidades, se calcula una política de acción para cada estado s como sigue:

El robot mantiene un modelo de transición probabilística para el grafo y puede calcular la política de acción para cada nodo para cualquier punto de destino.

2) Computación distribuida y procesamiento en red: Una solución más atractiva es calcular la política de acción distribuidamente en la red. La idea es que cada nodo en la red actualice su utilidad y calcule la acción óptima. Cuando el objetivo de acción es determinado, el nodo más cercano al objetivo inicia el cálculo inyectando un paquete "inicio de cálculo" en la red. Cada nodo redirecciona el paquete a sus vecinos usando llenado. Los nodos que reciben el paquete inician la utilidades y el valor del costo si el nodo particular es especificado como objetivo o no.

Esta técnica permite al robot navegar a través el entorno entre dos nodos en la red.

2.2 Navegación

La red sensora discretiza el entorno, en la imagen anterior, en el camino desde el nodo 1 al objetivo 5, el robot podría navegar del nodo 1 al 2, del 2 al 3 y así. Por lo tanto la navegación es acertada. Un nodo cuya dirección sugerida es seguida por el robot es llamado nodo actual. Inicialmente el nodo actual es el más cercano al robot.

El problema con esta solución es que los valores de intensidad de señal no son constantes o proporcionales de un radio a otro, de una topología a otra. Los resultados experimentales muestran que esta solución no es segura. Para predecir de forma segura donde se encuentra el robot, se desarrolló un algoritmo llamado Adaptative Delta Percent, basado en el procesamiento de los valores de intensidad de señal.

Considerar que el nodo actuales t. El nodo sugiere al robot en que dirección moverse. Asumiendo que antes de llegar al siguiente nodo el robot recibirá n muestras de valores de intensidad de señal para cada k nodos en los cuales el robot puede cambiar de acción. Después por cada uno de los k nodos:
  1. Se calcula un promedio del máximo inicial Aim - un promedio de las primeras i muestras donde i << n.
  2. Se calcula unpromedio corrido AR que es un promedio de j muestras consecutivas donde j << i.
  3. Si R = AR/Aim < M, donde M es el valor umbral, entonces se regresa del algoritmo. Se pone R a la lisa LR.
  4. Si y elementos consecutivos de LR están en orden no decreciente, se regresa del algoritmo, si no se repite del 2 a 4.
En caso de varios nodos regresen del algoritmo, se toma un nodo con el radio más pequeño.

3. Experimentos y discusión

Se realizaron experimentos  con un robot Pioneer 2DX con un rango laser de 180º para detectar y evitar obstáculos. La red de 9 nodos fue implementada dentro de un ambiente de cubículos y corredores largos. El escenario experimental de control de alarmas. Una alarma ocurre cuando un nodo  detecta un evento.

Puesto que el robot no tiene ningún dispositivo para posicionase, la dirección en la que el robot inicia es manualmente configurada. El robot mantiene la noción de dirección virtual mientras cambia de direcciones.

Los experimentos fueron los siguentes:

En todos los casos el robot pudo navegar a su destino.

4. Conclusión

4.1 Conclusión de los autores

Los autores concluyen que es factible utilizar robots que naveguen sin el uso de GPS o cualquier otro instrumento para posicionamiento. Lo que tratan de hacer es una red sensora que comunique al robot los eventos que suceden y mediante fuerza de señal, posicionar al robot creando una noción de posicionamiento virtual.

4.2 Conclusión personal

Aunque los experimentos muestran que el robot es capaz de moverse en la dirección señalada y al lugar correcto, las pruebas son hechas en un ambiente cerrado y con obstaculos sencillos, pues el área es una oficina llena de cubículos. Pienso que en un ambiente libre y con una distribución de nodos irregular podría fallar debido a que las intensidades de señal serían variables ademas de que habría ruido de por medio.

Posiblemente la red tendría que estar distribuida con distancias entre nodos muy pequeñas para generar intensidades de señal más altas.

Referecncias:
[1] Maxim A. Batalin, Gaurav S. Sukhatme, "Mobile Robot Navigation using a Sensor Network" (presentado en IEEE International Conference on Robotics and Automation, páginas 636 a 642, Abril 26 a Mayo 1, 2004)

martes, 21 de mayo de 2013

[REDES DE TELECOMINUCACIONES] Simulación de red ad hoc

Para esta entrada se pidió realizar una simulación de redes ad hoc en python o ns-2/3. En este caso inenté hacer lo más parecido a una red ad hoc con python.

Lo que hago basicamente es poner un monton de nodos a caminar en forma aleatoria y al dar click en una zona, el nodo hijo más cercano comunica a su nodo padre, y el nodo padre comunica a los demas nodos padres, estos comunican a sus hijos.

Los nodos pueden enviar un numero limitado de pila,  al agotarse mueren y dejan de moverse, ademas de que dejan de ser parte de la red.

Algunas capturas de como funciona:

Se generan 5 nodos padre y por cada uno se genera 3 nodos hijos. Se conectan entre si.
En terminal se imprime cada nodo:
Al dar clic en la ventana se envia el evento por medio del nodo más cercano. Estos van perdiendo batería hasta morir. Los nodos muertos estan estáticos en la ventana.
La información de los mensajes se imprime en terminal:
Código:

lunes, 20 de mayo de 2013

[REDES DE TELECOMINUCACIONES] Lab 11: Aplicación de redes ad hoc

Introducción

El costo de los servicios de salud incrementa conforme pasa el tiempo, ésto crea retos para proveedores de servicio de salud, hospitales, compañías farmacéuticas y desde luego a los pacientes.

Uno de los retos es cómo brindar mejores servicios de salud a un público que incrementa y que depende de recursos limitados. Una solución de interés es la tele-medicina inalámbrica que incluye el monitoreo de pacientes, usando una infraestructura inalámbrica ubicua.

Esto reduciría el costo total de cuidados médicos, para una mejor utilización de los recursos limitados y permitiría incrementar la esperanza de vida de individuos mayores.

Algunas condiciones físicas y psicológicas necesitan ser monitoreadas: presión sanguínea, temperatura, pulso, saturación de oxígeno, heridas en la piel, trastornos de equilibrio, actividad y agitación motora, localización actual, si está o no fumando y cantidad de humedad en la ropa.


Requerimientos y mejoras de confiabilidad

Los requerimientos para el monitoreo de pacientes son diversos y complejos. Los siguientes son algunos requerimientos generales:
  • Monitoreo y transmisión de signos vitales: Incluye temperatura, presión sanguínea, ritmo cardiaco, saturación de oxigeno, agitación y actividad motora, etc. Estos involucran un monitoreo periodico para algunos signos vitales.
  • Confiabilidad de entrega de datos: Debido a situaciones de riesgo, el envio y recepción de datos es crucial. Algunos factores son alcance de señal del dispositivo, batería, velocidad de datos, protocolo de ruteo, y comportamientos no cooperativos  de otros dispositivos.
  • Entrega de datos en tiempo razonable: La red debe entregar datos de los signos vitales en un cierto tiempo determinado por el nivel de emergencia. Los retrasos aumentan conforme el número de pacientes monitoreados aumenta.
  • Conservación de energía: El reto es conservar la energía del dispositivo mientras se satisfacen los requerimientos de monitoreo. Los factores influyentes son la potencia necesaria para transmitir datos, número de mensajes que deben ser ruteados, esquema de ruteo.
  • Cobertura para pacientes móviles y estáticos: La cobertura de pacientes debe incluir tanto pacientes dentro como fuera de casa, lo que hace difícil el monitoreo para pacientes fuera de casa es la distribución de pacientes que resulta en un esquema de comunicación poco confiable.
  • Soporte para diversos dispositivos de batería: Estos dispositivos deben ser utilizados en términos de poder y procesamiento, y el tipo de dispositivo depende de las condiciones físicas de los pacientes.
  • Escalabilidad: Los factores influynetes para este epunto son la velocidad de datos, frecuencia de monitoreo y transmisión, y el total de información por paciente. En una red ad hoc la velocidad de datos efectiva decrementa conforme la distancia entre dispositivos debido a:
    • Un requerimiento de poder incrementado que excede el disponible.
    • Transmisión de errores frecuente, los errores requieren retransmisión.
    • Área incrementada donde no hay dispositivos que puedan transmitir hasta que la transmisión actual sea completada.
  • Carga cognitiva manejable para los profesionales: Los datos obtenidos por el sistema no deben ser abrumadores para los médicos y profesionales en la salud, es decir, no se deben de llenar de mensajes repetitivos o con información variada. Los dispositivos deben ser capaces de hacer decisiones inteligentes en la selección de datos en cuanto al estado del paciente, y alertar a los médicos cuando haya algo anormal en los datos.
  • Privacidad y confidencialidad: Debido a que la información de salud es transmitida por redes inalámbricas, deben existir esfuerzos para mantener esta información confidencial. Se espera que sea un requerimiento crítico para administradores y reguladores de ley.

Protocolos de fiabilidad y conservación de energía

En redes ad hoc, la fiabiidad de la entrega de datos y conservación de energía son puntos conflictivos. Para que haya fiabilidad de entrega sin fallos se necesita incrementar el poder del dispositivo, con la finalidad de encontrar otro nodo y continuar transmitiendo. Este tipo de fiabilidad se puede mejorar utilizando multiples retransmiciones, ruteo, multiples redes ad hoc y un numero incrementela de dispositivos cooperativos.

El nivel de poder detransmición influencía la habilidad del dispositivo para localizar un dispositivo cooperativo y la habilidad de estos dispositivos cooperativos para localizar saltos dentro de la red y continuar ruteando. Consecuentemente la conectividad de la red ad hoc depende del poder de transmisión.

Algunos protocolos para el manejo de energía son:

Protocolo
Fiabilidad
Eficiencia
Saltos
Requerimientos de procesamiento
Adecuado para
MP-MDC
(Maximum Power from Patient’s Device and Cooperating Devices)
La más alta (utiliza mucho poder de transmición)Baja (la batería no durará mientras se utilize el máximo poder)Los menosposibles (utilizan mucho poder para mejor fiabilidad)Ninguno (todos los dispositivos transmiten al máximo poder)Transmisión de signos vitales de emergencia
OP-OCD
(Optimal Power from Both Patient and Cooperating Devices)
Alta (especialmente para poca movilidad de dispositivos)La más altaLos máximos posibles (utilizan poco poder de transmisión)Muy altos (para determinar los niveles óptimos de poder)Transmisión de signos vitales rutinarios
MP-OCD
(Maximum from Patient and Optimum from Cooperating Devices)
Muy alta (el máximo poder de los dispositivos incrementa la probabilidad de encontrar un salto.)La máxima conservación de poder posibleMás que OP-OCD y menos que MP-MDCAltos (para determinar los niveles óptimos de poder para algunos dispositivos)Transmisión de signos vitales de poca emergencia
RP-RCD
(Random Power from Patient’s Device and Cooperating Devices)
Imprevisible (basada en el poder individual de saltos individuales)Imprevisible (basada en la suma de todos los niveles de poder)Imprevisible (basada en el poder individual de saltos individuales)Bajos (los dispositivos seleccionan un poder de transmisión aleatorio)No aplica

Mantenimiento asistido de poder y estrategia de sueño

El propósito de los protocolos de conservación de poder puede se combinado con una estrategia de sueño. esto involucra el ahorro de energía en la capa física, y utilizar información de la capa de red y aplicación para crear un balance entre fiabilidad y conservación de energía.

Bajo el ciclo de sueño, los dispositivos pueden despertar periodicamente para verificar cualquier mensaje en espera o acciones por realiazar.

Los siguientes factores de múltiples capas pueden influir en la estrategia de sueño: nivel de conectividad, imparcialidad de las horas de sueño para los dispositivos, conservación de energía, niveles generales de la estrategia del sueño, y movilidad de los pacientes.

El impacto del mantenimiento asistido de poder y estrategia de sueño en la fiabilidad de la red, debe ser cuidadosamente evaluado. A pesar de que estas mejoras aumentan el ahorro de energía de los dispositivos y así mejorar la fiabilidad de las futuras transmisiones a nivel de dispositivo, una mala aplicación podría dar lugar a dificultades de ruteo de mensajes de emergencia debido a un número insuficiente de dispositivos disponibles para el ruteo.

Modelado y evaluación de rendimiento

Para poder evaluar al fiabilidad y los protocolos, se desarrolló un modelo analítico. Este modelo puede estimar la fiabilidad y el poder necesario para cada protocolo. Se extiende para derivar evaluación de rendimiento multimétrica para mensajes normales y de emergencia asistidos y de mantenimiento de poder automático y para varias estrategias de sueño.

Para medir la fiabilidad bajo varias densidaddes y saltos de ruteo, se variaron los saltos de 2 a 10, cambiando la distancia de cobertura por salto. para un número dado de saltos, los dispositivos involucrados transmitieron a un mismo nivel de poder, equivalente a la raíz de la distancia del siguiente salto. Los dispositivos fueron ordenados uniformemente. Al reducir el número de saltos, el poder de transmisión es incrementado en proporción a la raíz de la distancia de cada salto. El incremento resultante tiende a una alta probabilidad de encontrar uno o varios dispositivos cooperativos, por lo tanto mejora la fiabilidad.

Conclusiones

Existen varios retos, como el de soportar un monitoreo fiable utilizando redes ad hoc y como manejar la energía y poder de transmición desde los dispositivos de los pacientes.

Se discutió el diseño de los protocolos para lograr esta fiabilidad presentando el mantenimiento asistido de energía.

Los resultados muestran que los protocolos OP-OCD y MP-MCD son los más destacables, el primero porque logra un mantenimiento de energía, y el segundo por su alta fiabilidad con densidades de dispositivos bajas.

Es importante notar que la estrategia de sueño no es la mejor, pues le afecta en gran medida la cantidad de dispositivos en la red. Si existen muchos dispositivos en red, los tiempos de sueño son reducidos, haciendo que haya poca conservación de energía. Mientras que con pocos dispositivos, los tiempos de sueño son largos y tienden a perder mensajes. La solución propuesta es utilizar estrategias de sueño distintas para cada protocolo de mantenimiento de energía. lo que implica que los dispositivos en una red pueden estar tanto en uno como en otro protocolo en dado momento.

Los dispositivos deben de tomar decisiones inteligentes para el análisis de datos y enviar información relevante dependiendo del estado del paciente, lo que implica que el dispositivo es capaz de entender la situación actual del paciente, por lo tanto el sistema debe tener implementados en sus protocolos, un sistema de prioridad de mensajes, tal que si es una emergencia, el sistema enviará el mensaje con un poder de transmisión mayor al de un mensaje normal.

Referencias:

[1] Upkar Varshney, Sweta Sneha, "Patient Monitoring Using Ad Hoc Wireless Networks: Reliability and Power Management"(articulo en "Quality Assurance and Devices in Telemedicine", IEEE Communications Magazine, Abril 2006)

martes, 14 de mayo de 2013

[REDES DE TELECOMINUCACIONES] Lab 10: Satélites

En esta entrada se hace una pequeña investigación sobre satélites y su comunicación.

Introducción

La comunicación vía satélite es muy importante en el mundo actual. Es un servicio muy utilizado en épocas de desastres naturales, tambien lo utilizan personas que viven en zonas alejadas y para fines militares y de defensa. Cualquier fallo de comunicación se puede solucionar mediante el uso de los servicios de comunicación por satélite que se pueden utilizar en cualquier lugar, en cualquier momento y sin ningún tipo de obstáculos. Además, las llamadas de larga distancia, el uso de Internet, etc, son algunas de las ventajas de los servicios de comunicación por satélite.

Por mencionar ejemplos de las ventajas de comunicación satelital:
  • Los satélites son usados por personas con acceso remoto en zonas lejanas, por lo que pueden estar en contacto con los demás.
  • Aplicaciones de seguridad y defensa nacional, pues las transmisiones por satélite son cifradas y no están al alcance de cualquiera.
  • Cuando hay desastres naturales y las comunicaciones terrestres caen, las comunicaciones satelitals son empleadas para mantener comunicación.
  • La comunicación por satélite nos mantiene informados de el estado del clima.
  • Son comunicaciones de bajo costo y muy eficientes.
Tipos de satélites

Existen varios tipos de satélites:
  • Satélites climatológicos: proveen sericio de meteorología para predicciones de condiciones climáticas.
  • Satélites de observación y reconocimiento: Los utilizan los científicos para evaluar ecoistemas den la Tierra.
  • Satélites de navegación: Utilizan tecnología GPS para dar posicionamientos.
  • Satélites de comunicaciones: Permiten retransmitir información entre distintos puntos del planeta.

Clasificación de orbitas

Los satélites se clasifican de la siguiente manera:
  • Órbita baja terrestre (LEO): órbita geocéntrica a una altitud de 0 a 2,000 Km.
  • Órbita media terrestre (MEO): órbita geocéntrica a una altitud entre 2,000 a 35,786 Km.
  • Órbita alta terrestre (HEO): órbita geocéntrica elíptica, a una altitud superior a los 35,786

Usos y funcionamiento

En la actualidad, el tipo de imaginación se puede imaginar como si se tuviera un enorme repetidor de microondas en el cielo. Está constituido por uno o más dispositivos receptor-transmisores, cada uno de los cuales escucha una parte del espectro, amplificando la señal de entrada y retransmitiendo a otra frecuencia para evitar los efectos de interferencia.

Cada una de las bandas utilizadas se divide en canales, suele haber un satélite repetidor para cada canal que se ocupa de capturar la señal y retransmitirla a la Tierra en la frecuencia correspondiente.

Telefonía

En telefonía se utilizan los satélites para realizar las llamadas de larga distancia, pues la señal en tierra se tiene que retransmitir entre estaciones y provocaría un retardo. En cambio vía satélite tiene una retransmisión rápida.

Radio y televisión

Para la televisión y radio se utilizan dos tipos de satélites:
  • DBS (Direct Broadcast Satellite) son satélites que envian señal directament a todas las antenas receptoras. Es utilizado tanto para señales analógicas y digitales y usualmente se utiliza para servicios de televisión y radio digital.
  • FSS (Fixed Service Satellite) Son satelites geoestacionarios usados para la transmisión de señales televisivas y de radio. Fueron usados para transmitir señales analógicas por compañías como Sky, DirecTV, etc.
Comunicaciones móviles

En la comunicación movil tambien hay tecnología satelital, tal es el caso del GPS, no importa donde estén los receptores, los satélites siempre envian una señal y dependiendo de la posición del receptor es la respuesta del satélite, utilizan algoritmos de triangulación entre varios satélites para posicionar con errores de pocos centimetros.

Información de transmisión y recepción de datos

Velocidad

Los anchos de banda van desde los 27 MHz a los 72 MHz y se utilizan para enviar señales analógicas de audio y/o video, o señales de televisión (normal o alta definición), radio digital (calidad CD), conversaciones telefónicas digitalizadas, datos, etc.

La eficiencia que se obtiene suele ser de 1 bit/s por Hz; un canal de 50 MHz permitiriía transmitir un total de 50Mbit/s de información.

Un satélite típico divide su ancho de banda de 500 MHz en unos doce receptores-transmisores de un ancho de banda de 36 MHz cada uno. Cada par puede emplearse para codificar un flujo de información de 500 Mbit/s, 800 canales de voz digitalizada de 64 kbit/s, o bien, otras combinaciones diferentes.

Formas de transmisión

Para la transmisión de datos vía satélite se han creado estaciones de emisión-recepción de bajo coste llamadas VSAT (Very Small Aperture Terminal). Una estación VSAT típica tiene una antena de un metro de diámetro y un vatio de potencia. Normalmente las estaciones VSAT no tienen potencia suficiente para comunicarse entre sí a través del satélite, por lo que se suele utilizar una estación en tierra llamada hub que actúa como repetidor. De esta forma, la comunicación ocurre con dos saltos tierra-aire. Un solo hub puede dar servicio a múltiples comunicaciones VSAT.

Retardo

Las comunicaciones vía satélite tienen algunas características singulares. En primer lugar está el retardo que introduce la transmisión de la señal a tan grandes distancias. Con 36.000 km de altura orbital, la señal ha de viajar como mínimo 72.000 km, lo cual supone un retardo de 240 milisegundos, sólo en la transmisión; en la práctica el retardo es de 250 a 300 milisegundos según la posición relativa del emisor, el receptor y el satélite. En una comunicación VSAT-VSAT los tiempos se duplican debido a la necesidad de pasar por el hub.

En una comunicación terrestre por fibra óptica, a 10.000 km de distancia, el retardo puede suponer 50 milisegundos (la velocidad de las ondas electromagnéticas en el aire o en el vacío es de unos 300.000 km/s, mientras que en el vidrio o en el cobre es de unos 200.000). En algunos casos estos retardos pueden suponer un serio inconveniente o degradar de forma apreciable el rendimiento si el protocolo no está preparado para este tipo de redes.

Broadcasting

Los satelites de forma natural pueden enviar una señal a un solo receptor o a varios con el mismo coste si todos los receptores se encuentran en la huella del satélite. Esto tiene aplicaciones muy interesnates pero puede tener consecuencias graves de seguridad en otras. Las transmiciones deben de ser cifradas, por lo que puede haber problemas si todos los receptores se comunican al mismo canal. Estos problemas son como los de una red local, puede haber interferencias y daños en la comunicación.


El coste de una transmisión vía satélite es independiente de la distancia, siempre que las dos estaciones se encuentren dentro de la zona de cobertura del mismo satélite.

Además, no hay necesidad de hacer infraestructuras terrestres, y el equipamiento necesario es relativamente reducido, por lo que son especialmente adecuados para enlazar instalaciones provisionales que tengan una movilidad relativa, o que se encuentren en zonas donde la infraestructura de comunicaciones está poco desarrollada.

Referencias:

[1] Ankur Rajput, "Advantages Of Satellite Communication", "SooperArticles", el 18 de Mayo 2010, http://www.sooperarticles.com/communications-articles/advantages-satellite-communication-66456.html

[2] "Applications of Satellites", "Pakistan Space and Upper Atmosphere Research Comission", el 14 de Mayo 2013, http://www.suparco.gov.pk/pages/applications-satellite.asp

[3] Orlando José GAETANO HADAD, "Los Satélites de Comunicaciones ", http://www.casanchi.freeiz.com/ast/satelitecom01.pdf

lunes, 13 de mayo de 2013

[REDES DE TELECOMUNICACIONES] Geolocalización usando triangulación

Para esta semana se encargó realizar, ya sea simulado o en físico, un sistema de geolocalización mediante triangulación de fueras de señal, en este caso usando el método de trilateración.

En esta entrada se muestra un pequeño programa que simula la triangulación usando 3 antenas que se pueden colocar en cualquier punto de la ventana, y puede calcular la posición de un receptor simulado al dar clic sobre un punto de la ventana.

La interfaz es como se muestra:
Al dar clic con el botón secundario del mouse se puede agregar una antena en un punto, máximo se pueden agregar 3 antenas.
Al dar clic sobre un punto se marcan las intensidades de las antenas sobre las que está el punto.
Y en terminal imprime su localización aproximada.

Si el punto no es posible localizar marcará un error, por ejemplo marcar el punto cercano solo a una antena.

También es posible calcular el punto cuando hay solo 2 antenas, pero muchas veces fallará.

Código:
Referencias:

[1] Mauricio Gende, Ivana Molina, "Trilateración", modificado en 6 de Junio 2011, http://catedras.fcaglp.unlp.edu.ar/geofisica/referenciacion-en-geofisica/teoria/instrumental-y-tecnicas-topograficas/trilateracion.

[2] wwnick , John Austen, respuesta a nohat, "Trilateration using 3 latitude and longitude points, and 3 distances", "Geographic Information Systems", post creado en 22 de Julio 2011, http://gis.stackexchange.com/questions/66/trilateration-using-3-latitude-and-longitude-points-and-3-distances.

martes, 30 de abril de 2013

[REDES DE TELECOMUNICACIONES] Lab 9: Ahorro de energía

PMAC: An adaptive energy-efficient MAC protocol for Wireless Sensor Networks

Tao Zheng, School of Computer Science, University of Oklahoma
Norman, Oklahoma 73019–6151
Email: tao@ou.edu

Sridhar Radhakrishnan †, School of Computer Science, University of Oklahoma
Norman, Oklahoma 73019–6151
Email: sridhar@ou.edu

Venkatesh Sarangan, Computer Science Department, Oklahoma State University
Stillwater, Oklahoma 74078
Email: saranga@cs.okstate.edu

Para esta entrada se realizará un resumen de un paper sobre ahorro de energía en redes.

1. Introducción

Las redes inalámbricas sensoriales son nuevos tipos de redes ad-hoc de propósito especial. Tienen numerosas aplicaciones en varios campos como el monitoreo de hábitats, seguimiento de objetivos, seguridad del hogar, etc. estas redes son desplegadas en forma ad-hoc, compartiendo el mismo medio de comunicación. Los nodos son operados con baterías y se dejan desatendidos. Por lo tanto, el ahorro de energía es un tema crítico en las redes de sensores inalámbricas. Muchos esfuerzos de investigación en los últimos años se han centrado en el desarrollo de planes de ahorro de energía para redes de sensores inalámbricas.

El protocolo MAC es requerido en redes sensoriales para coordinar el acceso a los medios compartidos. Diseñar protocolos MAC eficientes es una de las formas para prolongar la vida útil de la red.

SMAC es un protocolo MAC diseñado para redes sensoriales. Obliga a los nodos a funcionar a un ciclo de trabajo bajo al poner los nodos en sueño periódico en lugar de escucha inactiva. Aunque SMAC tiene mayor ahorro de energía que 802.11, no se adapta al tráfico de red, ya que usa un ciclo de trabajo fijo para todos los nodos.

El protocolo MAC de Tiempo límite (TMAC) mejora el SMAC con un ciclo de trabajo adaptativo. Si no hay actividad durante un tiempo TA en un nodo dado, este se duerme. Tal adaptación libera la aplicación de la carga de selección de un ciclo de trabajo apropiado. TMAC tiene el mismo rendimiento que SMAC bajo cargas de tráfico constante, pero ahorra más energía en un marco de trabajo variable.

El problema con esa política de conservación de energía agresiva es que si los nodos se van rápido a dormir, incrementa la latencia y disminuye el throughput.

En el paper se propone un protocolo MAC llamado Pattern-MAC (PMAC) para redes sensoriales que adaptativamente determina el tiempo de dormir/despertar para un nodo basado en su propio tráfico y el de sus vecinos.

2. Descripción de PMAC

PMAC es un protocolo de tiempo en lapsos como SMAC. En SMAC un nodo puede mantenerse despierto por un determinado tiempo dentro de un lapso de tiempo e irse a dormir despues de eso, mientras que en PMAC puede mantenerse dormido o despierto durante un lapso de tiempo.

A. Lógica tras PMAC

La escucha inactiva es una de las principales fuentes de pérdida de energía. Los protocolos MAC para ahorrar energía tratan de minimizar el tamaño de el periodo de escucha. En SMAC los nodos tienen que despertar aunque no exista tráfico, desperdiciando energía. EN TMAC, los nodos tienen que despertar al comienzo de cada de cada período de tiempo durante un tiempo TA, incluso cuando no hay tráfico en la red. En PMAC, un nodo obtiene informacion de su actividad basado en la actividad de sus vecinos a travez de patrones. A partir de esto, un nodo puede ponerse a dormir durante largos períodos de tiempo para varios marcos de tiempo cuando no hay tráfico. De esta manera se trata de lograr que PMAC intente ahorrar más energía que SMAC y TMAC sin comprometer el rendimiento.

B. Patrones vs Tiempos

Un patrón de dormir/despertar es una cadena de bits indicando el plan tentativo para dormir/despertar para un nodo sobre varios lapsos de tiempo. Un bit 1 indica que el nodo se mantendrá despierto durante un lapso de tiempo, mientras que un bit 0 indica que el nodo dormirá.

3. Detalles del protocolo

El patrón del nodo altera los tiempos de dormir y despertar. Para generar un buen throughput sin comprometer el ahorro de energía es importante que el patrón generado se adapte al tráfico de red.

A. Generación de patrones

Siendo Pj una cadena de bits representando el patrón de un nodo j. Este patrón es asociado al nodo j sobre N lapsos de tiempo. Llamaremos a esta secuencia como un período. Si Pj es menor a N, entonces el patrón se repite durante el tiempo restante. por ejemplo si Pj es = 1 y N = 5, entonces el plan tentativo para el nodo j sobre los siguientes 5 lapsos de tiempo será 01010.

B. Cambio de patrones

El patrón generado es solo un plan tentativo. En PMAC, el verdadero plan de dormir/despertar es derivado basado sobre el propio patrón del nodo y de los patrones de los vecinos.

Nuevos patrones son generados para los períodos subsecuentes, son transmitidos por los nodos al final del período actual.

Para acomodar este cambio de patrones, el tiempo es dividido en supero marcos de tiempo (STF). Cada STF consiste de dos sub-marcos.
El primero es llamado Marco de Tiempo de Patrón de Repetición (PRTF). El PRTF en turno es dividido en diferentes lapsos de tiempo de duración TR. PRTF es la secuencia de N lapsos mientras todos los sensores se mantienen despiertos. Este lapso especial es usado para aumentar la velocidad de comunicación.

El segundo sub-marco es llamado Marco de Tiempo de Cambio de Patrón (PETF) durante el cual, los nuevos patrones se intercambian entre vecinos, se divide entre varios lapsos de duración TE. El patrón es cíclicamente repetido durante el PRTF el cual cada lapso de tiempo tiene un bit asignado.

4. Discusión cualitativa

A. Adaptabilidad a condiciones de tráfico

El número de bits 0 en los nuevos patrones crece exponencialmente cuando la carga de tráfico es ligera. Esto significa que los nodos pueden caer en largo sueño rápidamente sobre cargas ligeras. De esta manera se logra un mayor ahorro de energía. Si cualquier información es detectada, se agregará un 1 a la cadena, lo que permite que el nodo despierte rápidamente cuando la carga de trafico llega.

B. Ahorro de energía mediante localización

Solo aquellos nodos involucrados en la comunicación despertarán rápidamente, el resto se mantendrán dormidos.

C. Ahorro de energia mediante escucha inactiva

Se ha descrito como PMAC ahorra energía permitiendo a los nodos quedarse dormidos si no hay comunicación entre ellos. Esto reduce la energía gastada debido a la escucha inactiva de los periodos de dormir/despertar de SMAC. PMAC también introduce una escucha inactiva adicional. Esto ocurre cuando en el patrón hay dos lapsos de tiempo consecutivos donde el nodo se despierta, pero en el segundo no hay comunicación.

D. Tiempo de sincronización

Puesto que el tiempo está en lapsos, algún nivel de sincronización entre nodos es necesario. Como sea, como solo grandes escalas están involucradas, no hay problemas de reloj. Los lapsos PETF envían un paquete SYNC para advertir a los nuevos nodos a ajustar sus relojes.

5. Conclusiones

En este trabajo se propone un nuevo protocolo MAC, llamado PMAC, donde se determinan de forma adaptativa los tiempos de sueño de activación de los nodos. Los tiempos se deciden con base al propio tráfico del nodo y la de sus vecinos. Los resultados experimentales muestran que en comparación con SMAC, PMAC logra un mayor ahorro de energía bajo cargas ligeras, y un mayor rendimiento bajo cargas de tráfico más pesados​​.

El rendimiento mejorado de PMAC sugiere que el 'intercambio de patrones' es un marco prometedor para la mejora de la eficiencia energética de los protocolos MAC utilizados en redes sensoriales. Actualmente se está llevando a cabo un análisis comparativo de la PMAC propuesta con otros protocolos adaptativos MAC como TMAC y DMAC para la transferencia de datos de velocidad binaria variable. También se tiene para llevar a cabo un análisis detallado de PMAC bajo diversos tipos de tráfico, tales como la radiodifusión, convergecast y punto a punto. Se cree que PMAC se puede mejorar con mecanismos de tiempo de espera a lo largo de las líneas de TMAC, y de ese modo lograr un rendimiento aún mejor.

Se está desarrollando un mejor patrón y planes de generación de horarios para mejorar la eficiencia energética y la latencia de transferencia de datos de PMAC.

Crítica:

Al parecer, es un protocolo que aunque está en desarrollo, tiene buenas oportunidades para sobresarlir entre los sugeridos (SMAC, TMAC, etc.). Los resultados muestran que realmente hay un consumo menor de energía y aumento de rendimiento bajo ciertas condiciones.

Para condiciones de poca carga se muestra que hay un ahorro de energía mayor. Para condiciones donde la carga de tráfico es mayor, hay un aumento de rendimiento con un consumo moderado.

El paper menciona varias veces que el protocolo se basa en patrones de vecinos generados, esto significa que los primeros nodos generan un patrón poco adaptado, que tal vez no signifique gran cosa, pero si a gran escala.

Referencia:
https://perso.ens-lyon.fr/eric.fleury/CPS/ART/Projet/pmac/01420161.pdf


martes, 23 de abril de 2013

[REDES DE TELECOMUNICACIONES] Lab 7: Resumen de mecanismos de control de congestión


Hop-by-hop Congestion Control over a Wireless Multi-hop Network

Yung Yi and Sanjay Shakkottai    

Link al paper: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp&arnumber=1354675

Este paper se enfoca en el control de congestión sobre redes multisalto inalámbricas. Una restricción importante en las redes inalámbricas surge debido a la capa de Control de Acceso a Medios (MAC). Muchas MAC's inalámbricas usan una estrategia de división de tiempo para acceso de canal, donde, en cualquier punto del espacio, el canal físico puede accederse por un simple usuario en cada instante.

En el paper se habla del desarrollo de un mecanismo de control de congestión de "salto por salto" con esa restricción de las MAC's siendo impuesta en la forma de una restricción de acceso a canal.

1. Introducción

Se considera el problema de congestión sobre redes multisalto inalámbricas. Los nodos están radio-equipados y se comunican vía broadcasting. Las vías de comunicación entre nodos que no están en el rango de radio están establecidas por nodos intermedios actuando como relevadores para transmitir la información hacia atrás o adelante.

Los años pasados, el problema de control de congestión ha recibido atención, tanto en el contexto de Internet como en redes locales. La mayor parte de esta investigación está enfocada en el modelado, análisis, desarrollo de algoritmo de esquemas extremo-a-extremo y la adaptación de esos esquemas redes ad-hoc.

Los esquemas de salto a salto requieren tener mantenimiento de estado por flujo en nodos intermedios, que son los que general problemas de escalabilidad. Como sea, en una red inalámbrica, el número de flujos por nodo es mas pequeño que en el Internet.Normalmente las redes inalámbricas tienen colas de flujo por nodo.

2. Principales aportes

Los principales aportes en el paper son:

Desarrollo de algoritmos de control de congestión proporcionales (tanto para esquemas salto-a-salto como extremo-a-extremo) aprovechando la restricción MAC siendo impuesta a los canales de acceso.

Se considera la evolución de esos algoritmos en la presencia de propagación de delay. Se demuestra analíticamente el efecto de propagación espacial, derivando explícitamente la reducción de la sobrecarga de buffer bajo el esquema salto-a-salto para un árbol de redes.

3. Modelo del sistema

Se considera una red con un set de "L" links, un set de "V" vértices y "cl" será la capacidad finita de un link "l" para "l" ∈ "L". Cada vértice corresponde a una secuencia ordenada de links "l" ∈ "L", y se denota "R" como un set de posibles sesiones. Así, se modela un link inalámbrico entre cualquiera de 2 nodos en la red para tener una capacidad finita positiva.

En la realidad, los canales inalámbricos son de tiempo variable, cada uno con un promedio de capacidad que dependerá del esquema de la capa física. En el paper se modela con links de capacidad constante, aún así este modelo es muy acertado.

A todo esto, hay 2 tipos de restricciones impuestas, llamadas "Restricción de link" y "Restricción de tiempo".

La restricción de link corresponde al hecho de que la suma de promedios de tiempo de todas las sesiones no es mayor a "cl", la capacidad del link "l".

La restricción de tiempo significa que a cualquier momento de tiempo, solo puede haber una instancia de comunicación en un nodo dado.

Se ilustra un ejemplo de 3 sesiones S1, S2 y S3, cada una de ellas atravesando 2 links. "xi" es el promedio de datos para i = 1,2,3. Se observa que la restricción de tiempo es impuesta en cada nodo en la red.

4. Algoritmo salto-a-salto distribuido

En esta sección se desarrolla un algoritmo para el control de congestión. Primero se observó que el controlador de congestión en la fuente de cada sesión reacciona basado en la suma de la congestión de cada nodo. En lugar de pasar el feedback hacia abajo como en un esquema extremo-a-extremo, se puede prever un esquema donde cada nodo pasa una suma parcial hacia arriba. En otras palabras, cada nodo agrega su costo de congestión recibido de los nodos bajos.

En la siguiente figura es ilustra el algoritmo:

La idea básica es que cada nodo en el camino de la sesión opere su propio algoritmo de congestión. En el algoritmo, se puede sumar todos los costos de congestionamiento sobre la sesión. Así que cada nodo opera (por flujo) un controlador basado en la congestión percibida debido a los nodos bajos, y determinan el radio máximo que pueden transmitir.

Heurísticamente, las pruebas de convergencia son válidas incluso cuando un limite es usado debido al radio de transmisión de datos dentro de la red es gobernado por la fuente.

5. Propagación espacial

Ahora se deriva el tamaño de buffer de pico con el controlador de extremo-a-extremo, así como el controlador salto-a-salto.

Se considera la evolución de estos algoritmos en la presencia de la propagación de delay. Analíticamente se muestra el efecto de la propagación espacial, derivando la reducción de la sobrecarga del buffer pico sobre un esquema salto-a-salto.

Se asume que los links intermedios están bien provisionados, asi que si ocurre un congestionamiento, solo ocurrirá en el punto de acceso común para todos los flujos.

6. Resultados de simulación


Se presentan resultados de simulaciones que comparan el algoritmo salto-a-salto con extremo-a-extremo. Se muestra que hay un pico de carga que decrece con el algoritmo de salto-a-salto.

Se usó una topología de N = 5 y L = 5, osea, una red de 5 saltos y 5 sesiones. Cada nodo con capacidad 40, Por lo que hay un equilibrio de 20 bajo la restricción de tiempo. El delay del salto es de 4 unidades, la propagación de delay es D = 20 unidades.

En la grafica 5 se muestra los radios de control, en la 6 se muestra como el pico decrementa para el esquema de salto-a-salto cuando inician los congestionamientos, a diferencia de el esquema extremo-a-extremo que aumenta.

7. Conclusiones

Por lo visto en el paper, se ve que realmente hay una mejora con respecto a los esquemas extremo-a-extremo, sin embargo estos resultados, aunque positivos, muestran mejoras solo en ambientes inalámbricos, pero puede mejorarse para funcionar en otros ambientes.

Se menciona que se busca la implementación sobre la Internet, pero aún está en fase de experimentación.


martes, 16 de abril de 2013

[REDES DE TELECOMUNICACIONES] Lab 6: Generación de tráfico y medidas de desempeño

Para esta semana se encargó realizar generación de tráfico con el NS-2 y medir el desempeño de estas.

Para esto yo utilicé mi topología anterior y guardé el tráfico generado en un archivo de extensión tr.

Este genera un archivo como el que sigue:
Ahora hay que parsear el archivo tr, para obtener la latencia. Lo que se hace es calcular la diferencia de tiempos entre paquetes recibidos y perdidos.

El archivo resultante es el siguiente:
Y al graficar en Gnuplot esto es lo resultante:

Para calcular el throughput se hace un contador que suma los bytes que van pasando cada que se recibe un paquete.

Su archivo de datos resultante es:

Y su gráfica es:

martes, 9 de abril de 2013

[REDES DE TELECOMUNICACIONES] Topologías y ruteo

Para esta semana hablamos de lo que son las topologías y lo que es ruteo.

La topología de red es la disposición física en la que se conecta una red de ordenadores. Si una red tiene diversas topologías se la llama mixta.

La topología más común es la de anillo. Una topología de anillo conecta los dispositivos de red uno tras otro sobre el cable en un círculo físico. La topología de anillo mueve información sobre el cable en una dirección y es considerada como una topología activa. Las computadoras en la red retransmiten los paquetes que reciben y los envían a la siguiente computadora en la red.


Otra topología común es la de estrella. En una topología de estrella, las computadoras en la red se conectan a un dispositivo central conocido como concentrador (hub en inglés) o a un conmutador de paquetes. En un ambiente LAN cada computadora se conecta con su propio cable a un puerto del hub o switch. Este tipo de red sigue siendo pasiva, utilizando un método basado en contensión, las computadoras escuchan el cable y contienden por un tiempo de transmisión. Debido a que la topología estrella utiliza un cable de conexión para cada computadora, es muy fácil de expandir, sólo dependerá del número de puertos disponibles en el hub o switch.

Para el ejemplo, utilicé una combinación de una topología en anillo y una en estrella. Podria decirse que es una versión de la topología en malla.

El código de mi simulación es:

Y este es el resultado:

martes, 5 de marzo de 2013

[REDES DE TELECOMUNICACIONES] Lab 5: Network Simulator

Para esta entrada realizaré una simulación en el NS-2, que es un simulador de redes que sirve para verificar, modificar o crear nuevos protocolos de red. NS-2 viene con un programa para crear una animación de la misma llamado NAM.

Encontré varios ejemplos y de ellos creé una simulación TCP con 5 nodos, 2 de los cuales son nodos TCP, 1 para administrar la cola de paquetes y 2 nodos destino.

El código es el siguiente:

El resultado fue una simulación como la siguiente:
Se puede observar que muchos de los paquetes se pierden al "caer".

Para un análisis mejor, observé los archivos de salida. El archivo con extinción .nam contiene la verdadera simulación realizada y son archivos con contenido parecido al siguiente:

r -t 0.01032 -s 0 -d 1 -p tcp -e 40 -c 0 -i 0 -a 0 -x {0.0 3.0 0 ------- null}
  • El primer elemento significa el estado del paquete:
    • "r" significa que el paquete fue recibido.
    • "h" significa que el paquete fue saltado.
    • "+" significa que esta dentro de la cola.
    • "-" significa que salió de la cola.
  • El segundo elemento "-t" es el tiempo en que se recibió el paquete.
  • El tercer elemento "-s" es el ID del nodo (de 0 a 4).
  • El cuarto elemento "-d" es el ID del nodo destino.
  • El quinto elemento "-p" es el protocolo.
  • El sexto elemento "-e" es la extinción.
  • El séptimo elemento "-i" es el numero de paquete.
  • El octavo elemento "-a" es el atributo.
  • El noveno elemento "-x" es el comentario realizado (información de paquete).
Con cada uno de los elementos analicé el desempeño mediante un pequeño script en python para obtener el total de paquetes enviados, cuales fueron recibidos, cuales se perdieron, el total de saltos dados y el retraso aproximado entre paquetes:

Los resultados son los siguientes:

Fuentes:
http://getch.wordpress.com/2010/11/20/manual-interpretation-of-ns2-trace-file/
http://nsnam.isi.edu/nsnam/index.php/NS-2_Trace_Formats#NAM_Trace_Formats
http://www.cs.bu.edu/groups/itm/SATS/simulation.html
http://ceit.aut.ac.ir/~bakhshis/ns-2/NS-2.pdf

martes, 26 de febrero de 2013

[REDES DE TELECOMUNICACIONES] Resumen NS-2 (Network Simulator)

Usando el Simulador de Redes NS-2 para Evaluar la Red en Chips (NoC)

Muhammad Ali, Michael Welzl, Awais Adnan, Farrukh Nadeem

1. Introducción:

En estos días, la tecnología de los chips ha llegado a un nivel en el que sistemas completos pueden ser integrados en ellos, son arquitecturas con diseños llamados VLSI (Very-large-scale integration). Estos chips son llamados SoC (System on a Chip) primariamente usados en sistemas integrados.

De acuerdo con la ITRS (International Technology Roadmap for Semiconductors) antes del fin de la década, los chips serán diseñados con millones de transistores. En el futuro cercano los chips serán de Circuitos Integrados para Aplicaciones Especificas (ASIC) que comprometerán miles de componentes heterogeneos integrados todos juntos para proveer funcionalidad completa a una aplicación.

Sin embargo, desarrollar estos chips no es una tarea fácil, debido a que el numero de transistores crece por chip, integran una gran complejidad.

La idea es conectar diferentes recursos en un chip a través de una red donde la comunicación toma lugar en lugar de conectar recursos usando cables dedicados.

NS-2 es un simulador open source orientado a objetos y eventos discretos, escrito en C++ y PTcl. Es una herramienta muy usada para simular pequeñas y grandes redes Debido a que los chips NoC presentan muchas similitudes con las redes, NS-2 ha sido de elección para simular redes NoC.

2. Network on a Chip (NoC)

NoC ha sido una propuesta alternativa viable para los buses ineficientes de los SoC's de hoy en dia. Los NoC son vistos como una colección de recursos computacionales conectados a través de una red donde se comunican usando paquetes. Muchas topologías se han `propuesto para los NoC's incluyendo ""D mesh", "fat tree", "honeycomb".

Debido a que NoC está compuesto por diferentes marcas con sus propias propiedades intelectuales, una interface de red (NI) para este tipo de infraestructura necesita actuar como una capa media que transforme flujos de datos de los recursos en paquetes antes de ser enviados al "router" y viceversa. Cuando un recurso necesita enviar algo, inicia transmitiendo la información al NI, que crea los paquetes de tamaños predefinidos. Los routers verifican las direcciones de destino y envían el paquete de acuerdo a esos datos.

3. NoC's y Redes: Similitudes

Es difícil mantener la sincronia global con varios componentes en un chip usando un solo reloj. Para eso, se utilizarán GALS (Globally Asynchronous Local Synchronous) que son modelos de reloj para realizar comunicaciones entre componentes.

Antes de empezar en el desafio, se propone un protocolo de 5 capas para gobernar la comunicación en un NoC, en comparación con el modelo OSI.

Las características de los NoC están influenciadas por las redes computacionales.

Los autores han realizado simulaciones con NS-2 y "chpsim" para varias topologías y patrones de trafico. Su argumento está basado en el hecho de que dibido a la escalabilidad de los chips, los SOC's son asíncronos, y por lo tanto operaciones "on-chip" pueden ser de eventos direccionados en lugar de controlados por una sola señal de reloj.

4. NoC's y Redes: Diferencias

La diferencia primaria entre redes y los NoC's es el tamaño. Las redes pueden alcanzar un tamaño desde un pequeño cuarto hasta una ciudad entera, además de el mundo entero (internet). Los NoC's son de unos 50 a 60 nanómetros hechos de silicón Lo que da pequeños problemas, por ejemplo, un buffer tiene que ser de tamaño limitado en estos chips

Mientras que las redes pueden llegar a consumir grandes cantidades de energía, los chips solo podrían consumir pequeñas cantidades de energía.

5. Simulando NoC's con NS-2

Un diseño de SoC involucra tres estados; Diseño de comportamiento, Diseño estructural, Diseño físico.

El diseño de comportamiento especifica la funcionalidad de el sistema a un alto nivel de abstracción, mientras que el diseño estructural y el diseño físico reduce la misma a un nivel de "compuertas lógicas" y nivel de transistores.

En el diseño de comportamiento, un SoC está realizado como una colección de componentes que son modelados como bloques y conexiones junto con los protocolos que gobiernan la comunicación.

6. Limitacones

Mientras que NS-2 es mejor para simular un NoC a nivel de comportamiento, no es posible obtener una vista del diseño estructural y físico.

Sin embargo existe software como VHDL que se ha utilizado para sintetizar chips y hacer casos de estudio de estos a un nivel de compuertas lógicas.

Este modelo aún esta en experimentación y cada vez hay mas propuestas para protocolos de comunicación a este nivel. Por ahora solo queda seguir con las simulaciones y perfeccionarlas.

Fuente:
http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=4136934

[REDES DE TELECOMUNICACIONES] Calidad de servicio de YouTube

Para esta entrada haré algunas pruebas de calidad de servicio a YouTube. Las pruebas son:
  • Retardo.
  • Perdida de paquetes.
  • Jitter. 
  • Ancho de banda.
Las pruebas consisten en analizar el comportamiento de los datos para 4 calidades de video de YouTube; 360p, 480p, 720p y 1080p. Las ultimas 2 pruebas (Jitter y Ancho de banda) las realizaré en forma general para un video en 480p ya que Wireshark no responde bien mientras se reproduce un video en HD.

Retardo:

Para esto utilizaré Wiresharck y capturaré los paquetes que corresponden al video.

Obtengo la información de tiempo, mi referencia es el "Epoch Time" que es el momento en que nació el paquete, solo tomaré las décimas, y se lo restare a las décimas del "Time since reference or first frame" que es la hora de llegada del paquete.

Después de promediar varios paquetes el retardo aproximado promedio es de 0.05 segundos entre paquetes al reproducir un video a 360p.

Ahora haré el de cada calidad de video:

360p:    0.05s
480p:    0.055s
720p:    0.07s
1080p:  0.06s

Los retardos se mantienen en un mismo rango para las 4 calidades de video.

Pérdida de paquetes:

Esta vez utilizaré la herramienta IO Graph para los paquetes recibidos con el filtro para analizar la perdida de paquetes "tcp.analysis.lost_segment".

Al reproducir un video en 360p este fue el resultado de la gráfica:
De izquierda a derecha se inicia la descarga y se detiene la misma, cabe destacar que durante algunas subidas de perdida de paquetes el video dejaba de hacer buffering.

Al reproducir un video a 480p:
Aunque esta vez se reprodujo un video de menor tiempo, se puede notar que las subidas son mayores. Los efectos de buffering son igual de aplicables, pausándose en algunas subidas.

Al reproducir un video a 720p:
Aunque no parece una perdida diferente a las demás, debo destacar que solo se muestra lo equivalente a   7 segundos de reproducción de video en 720p, mientras que en los demás logré reproducir al menos 1 minuto. El buffering se pausaba a cada momento durante la prueba.

Al reproducir un video a 1080p:
Sin palabras, después de eso Wireshark no respondió. El video nunca cargó.

Jitter:

Utilizando una de las gráficas de Wireshark pude analizar el jittering de un video, la pregunta es, ¿realmente hay jittering?

La gráfica es la siguiente:
Durante una descarga de un video, se capturo lo que se ve en la imagen. Es interesante ver como los primeros 4 segundos los paquetes llegaron (quizá con perdidas) agrupados uno detrás de otro. Pero a partir del segundo 5 los paquetes empezaron a agruparse. Cada punto contiene varios paquetes. Mi teoría es que las zonas vacías donde pudiera haber paquetes no hubo recepción debido al jittering. La recepción del paquete falla debido a que la lectura se realiza entre la llegada de un nuevo paquete y la salida del anterior.

Ancho de banda:

YouTube tiene una herramiente basica para la medición de mi ancho de banda, al dar click derecho sobre el video y seleccionar "Realizar prueba de velocidad" me dará información sore mi ancho de banda y otros datos interesantes.

Mi ancho de banda me permite reproducir cualquier video con una velocidad de descarga de 5.46 Mbps, es algo raro ver que el nivel mundial está por encima de los niveles locales, y ver mi gráfica (en negro) me hace pensar que la calidad de servicio con mi actual compañía proveedora de internet deja demaciado que desear.

Por último mencionar que todas las pruebas se hicieron con videos distintos, muchos de los resultados pueden variar en función al formato original del video.

Fuentes: