martes, 30 de abril de 2013

Actividad 5. Control de tráfico

Para esta tarea se nos pidió lo siguiente:

Código documentado en blog (10 pts)
  • Desarrollen para ns-2/3 un módulo que permite
  • Crear topologías (reciclar de lab)
  • Generar “patrones” tráfico (reciclar de lab)
  • Comparar por lo menos dos diferentes esquemas de control de congestión (inventados por ustedes mismos, no anden googleando ni por ideas ni por código
Para esta tarea se utilizaron los códigos de dos laboratorios anteriores.
La congestión de redes es el fenómeno producido cuando a la red (o parte de ella) se le ofrece más tráfico del que puede cursar.

Primero aquí esta un video que muestra la simulación de tráfico ya que en el laboratorio que se pidió eso no pude realizarlo bien, y lo volví a realizar.




Aquí se puede ver que hay demasiada pérdida de paquetes, con un script en awk, se obtuvieron los datos de los paquetes enviados y recibidos, así como también los paquetes que se perdieron. Estos datos se obtuvieron a través de un archivo trace que genera la simulación, este archivo contiene los paquetes que son enviados, el tiempo, el nodo transmisor y receptor, entre otras cosas.

Código AWK:

En este código se obtiene como resultado el número de paquetes que fueron enviados, los que se recibieron, los paquetes que se perdieron en la comunicación y también un promedio de la cantidad de paquetes por cada medio segundo que se envían y reciben.




Como se puede ver los paquetes que se perdieron es una cantidad muy grande. En estos casos es cuando es requerido un control de congestión. Para esto lo que hice fue apagar o prender los enlaces con más tráfico después de analizar bien la situación y saber cuales son los enlaces con mayor tráfico. Este esquema es muy útil ya que tras analizar todos los enlaces puedes hacer que a cierto tiempo se apague el enlace y se renueve la conexión después. Esto con el fin de que ya no haya tanta pérdida de paquetes. Es una manera muy sencilla ya que lo único que se hace es "romper o apagar" enlaces donde se sabe que hay congestión para después volverlos a encender.


El código es el siguiente:


El resultado corriendo el script:




Video:




Como se puede ver ya no se pierden paquetes en la comunicación así que lo que se realizó tuvo éxito. 


Referencias:
http://elisa.dyndns-web.com/~elisa/teaching/comp/net/congestion.pdf 

lunes, 29 de abril de 2013

Laboratorio 9 : Retroalimentación a equipos


Alarma Inteligente para Autos

El equipo mostró en la presentación una serie de preguntas que se les hizo a algunos usuarios cuando se les presentó el proyecto. Les recomiendo hacer un prototipo más cercano a lo que será ya que pusieron una interfaz nadamas con lo básico y no explicaron mucho, proponen un sistema de monitoreo en tiempo real, yo creo que tendría que hacerse preguntas a los clientes acerca de este sistema para saber si les gustaría que también tuviera alguna forma de avisarles cada cuando se activa la alarma y pues si se detecta algún hecho sospechoso, siempre los usuarios tienen muchas ideas que pueden ayudarte a mejorar o a detectar fallos en tu sistema.

Estaría bien presentar un mejor prototipo de como se realizará la conexión y tal ves algún diseño preliminar de la interfaz donde se muestre lo que va a llevar la aplicación o el sistema y también que se va a requerir tal ves algún usuario y contraseña para ingresar para que no cualquiera pudiera utilizarlo. Este prototipo estaría bien que llevara también alguna imagen de algún carro con dibujos de las ubicaciones de donde se pondrán los sensores para mayor entendimiento.

Link:

Computadora Inteligente

Este proyecto va muy avanzado, está muy padre su idea y ya se vio funcionando. Algo que les recomendaría mucho es realizar muchas pruebas con usuarios para ver que su sistema siempre funcione y poder detectar cualquier fallo. También para algunas personas puede ser tal ves difícil de entender, para esto les recomendaría hacer una animación o algo que pueda mostrarle al usuario una manera más fácil de utilizarlo, algo que sirva como "tutorial" para alguien que no está muy familiarizado con las computadoras donde también se explique la forma en la que tiene que estar la cámara ya que siempre es importante facilitarle todo al usuario y así mismo satisfacerlo.


Oficina Personalizada

Para este proyecto hay que tomar en cuenta muchas cosas ya que es algo que tiene un enfoque amplio, lo importante es que el usuario siempre esté cómodo y satisfecho, hay que tomar en cuenta todos los posibles escenarios que pueden ocurrir, por ejemplo si la tarjeta del usuario no llega a funcionar que tendría que hacer para no perder tanto tiempo o si cualquiera de las funcionalidades llega a fallar que se podría hacer.

Proyecto Localizador

Me parecieron muy completas sus pruebas de usabilidad, lo que les podría recomendar es hacer un prototipo de la interfaz en los programas en línea que existen para que se vea un poco más presentable, aparte de hacer que esta aplicación sea fácil de usar, utilizando íconos que refieran a algo en particular por ejemplo una estrella para agregar a favoritos, un signo "+" para agregar algún dispositivo, que aparezcan los nombres de los dispositivos, algún tipo de alarma o vibración de cuando te estés acercando a alguno de los dispositivos que tienes agregados.

Link:

Galería inteligente

En este proyecto, se tiene que tomar en cuenta mucho el ambiente, ya que en un museo normalmente no hay ruido pero hay veces puede haber niños llorando o haciendo ruido, entonces el volumen se podría ajustar dependiendo del ruido que se encuentre en el lugar. También que el usuario pueda ver la obra en su celular, ósea que identifique que es lo que está viendo, apareciendo el nombre de la obra y el autor en el celular. 

Link:

CarFxP

Esta muy padre lo de los colores, en general me pareció bien las pruebas que se realizaron, lo único que podrían hacer es establecer diferentes escenarios y preguntarse que pasaría en distintos escenarios y también establecer mucha seguridad en todo.

Link:


Despertador Inteligente

Este proyecto está muy padre ya que es útil para todas las personas, el inconveniente es que es un poco complicado de utilizar para personas que no tienen conocimiento previo, por eso al igual que con un equipo anterior les recomiendo hacer un tutorial o una animación donde se muestre como se puede utilizar y hacerlo lo más práctico y fácil posible para que el usuario pueda entenderlo. También hacer la interfaz amigable al usuario con palabras que el entienda y también pueden utilizarse dibujos en ves de palabras por ejemplo un reloj que sea símbolo de alarma, entre otras cosas.

Link:

Resumen: Energy-Efficient Communication Protocol for Wireless Microsensor Networks

Introducción


Los recientes avances en la tecnología basada en sensores microelectromecánicos de baja potencia analógica y digital, y baja potencia de diseño RF han permitido el desarrollo de microsensores inalámbricos de bajo costo y de baja potencia. Estos sensores no son tan fiables o precisos como los macrosensores de alto precio, pero su tamaño y costo permiten aplicaciones de red a cientos o miles de esos microsensores con el fin de lograr la calidad. El monitoreo fiable de entorno es importante en una variedad de aplicaciones comerciales y militares. Por ejemplo, para un sistema de seguridad, acústica, sísmico y sensores de video pueden utilizarse para formar una red ad hoc para detectar intrusiones. Los microsensores también pueden utilizarse para monitorear las máquinas para la detección y el diagnóstico de fallos.

Las redes de microsensores pueden tener cientos o miles de nodos sensores. Se desea hacer que estos nodos sean más baratos y energéticamente eficientes como sea posible y confiar en sus grandes números para obtener resultados de alta calidad. Los protocolos de red deben de estar diseñados para lograr la tolerancia a fallos en presencia de insuficiencia de un nodo individual mientras se reduzca el consumo de energía. Además, ya que el ancho de banda inalámbrico limitado tiene que ser compartido entre todos los sensores de la red, los protocolos de enrutamiento para estas redes deben ser capaces de realizar la colaboración local para reducir los requisitos de ancho de banda.

La comunicación entre los nodos sensores y la estación base es cara, y no hay nodos de "alta energía" a través de la cual la comunicación puede proceder. Ese es el marco del proyecto, el cual se centra en inovadoras soluciones de energía optimizada en todos los niveles de la jerarquía del sistema, desde la capa física y los protocolos de comunicación hasta la capa de aplicación y el eficiente diseño DSP para nodos microsensores.

Mediante el análisis de ventajas y desventajas de los protocolos de enrutamiento convencionales utilizando el modelo de redes de sensores, se desarrolló LEACH (Low-Energy Adaptative Clustering Hierarchy), un protocolo basado en clustering que minimiza la disipación de energía en estas redes. Las principales características de LEACH son:


  • Coordinación localizada y control de la configuración y funcionamiento del clúster.
  • Rotación aleatoria de las "estaciones base" o "cabezas del clúster" del clúster y de los clusters correspondientes.
  • Compresión local para reducir la comunicación local.
El uso de clusters para la transmisión de datos a la estación base aprovecha las ventajas de las pequeñas distancias de transmisión para la mayoría de los nodos, requiriendo solamente unos pocos nodos para transmitir distancias lejanas a la estación base. Sin embargo, LEACH supera los algoritmos del clustering clásico utilizando el uso de clusters adaptativos y la rotación de las cabezas del cluster, permitiendo que los requerimientos de energía del sistema se distribuyan entre todos los sensores. Además LEACH es capaz de realizar comunicación local en cada clúster para reducir la cantidad de datos que debe transmitirse a la estación base. Esto produce una gran reducción en la disipación de energía.

Primer modelo de Radio

Actualmente, existe una gran investigación en el área de radios de baja energía. Las diferentes suposiciones acerca de las características del radio, incluyendo las pérdidas de energía en los modos de transmisión y recepción, cambiarían las ventajas de los diferentes protocolos. En este trabajo, se asume un modelo simple donde el radio se disipa  para ejecutar el circuito transmisor o receptor y  para el amplificador de transmisión para lograr un nivel aceptable . Estos parámetros son ligeramente mejores que el estado actual de la técnica en el diseño de radio. También se asume una pérdida de energía  debido a la transmisión del canal. Por lo tanto, para transmitir un mensaje de k-bits en una distancia  utilizando el modelo de radio, el radio gasta:


y para recibir este mensaje, el radio gasta:




Análisis de energía de protocolos de enrutamiento.

Existen diferentes protocolos de enrutamiento de red propuestos para redes inalámbricas que se pueden examinar en el contexto de redes de sensores inalámbricos. Se examinaron dos de estos protocolos de comunicación, la comunicación directa con la estación base y el enrutamiento multi-hop de mínima energía utilizando la red de sensor y los modelos de radio. 

Utilizando un protocolo de comunicación directa, cada sensor envía sus datos directamente a la estación base. Si la estación base está muy lejos de los nodos, la comunicación directa requiere una gran cantidad de potencia de transmisión de cada nodo. Esto agotaría rápidamente la batería de los nodos y reduce el tiempo de vida del sistema. Sin embargo, si la estación base se encuentra cerca de los nodos, o la energía requerida para recibir la información es grande, puede ser un método aceptable de comunicación.

El segundo enfoque convencional que se considera es un protocolo de enrutamiento de "energía mínima". Existen varios protocolos de enrutamiento, en estos protocolos, los nodos de datos de la ruta destinados a la estación base a través de nodos intermediarios. Por lo tanto, los nodos actúan como enrutadores para los datos de otros nodos. Algunos de estos protocolos, solo consideran la energía del transmisor y el abandono de la disipación de energía de los receptores en la determinación de rutas. En este caso, se eligen los nodos intermediarios de tal manera que la energía del amplificador de transmisión (ej. ) es minimizada. Este nodo se transmite al nodo C a través del nodo B si y sólo si:




Sin embargo, para este protocolo de enrutamiento de transmisión de energía mínima, en lugar de sólo uno (alta energía) transmisión de los datos, cada mensaje debe atravesar n (baja energía) transmitidos y n recibidos. Dependiendo de los costes relativos del amplificador de transmisión y la electrónica de radio, la energía total gastada en el sistema podría ser en realidad mayor utilizando el enrutamiento MTE (Minimum Transmission Energy) que la transmisión directa a la estación base.

Para ilustrar esto, se considera la red lineal que se muestra en la imagen de abajo, donde la distancia entre los nodos es . Si se considera el gasto energético en la transmisión de un mensaje de un solo bit desde un nodo situado a una distancia de la estación base utilizando el enfoque de la comunicación directa y las ecuaciones que se muestran arriba, se tiene:



En el enrutamiento MTE, cada nodo envía un mensaje al nodo más cercano en el camino a la estación base. El nodo situado a una distancia nr de la estación base requeriría n transmisiones, una distancia r y n-1 recibidos.



Utilizando las ecuaciones anteriores y la red de 100 nodos al azar, se simula la transmisión de los datos de cada nodo a la estación base (situada a 100 metros del nodo sensor más cercano, en (x=0, y=-100)) utilizando MATLAB. La figura 4 muestra la energía total gastada en el sistema al aumentar el diámetro de la red de 10 metros x 10 metros a 100 metros x 100 metros y la energía gastada en electrónica de radio, la cual incrementa de 10 nJ/bit a 100 nJ/bit, para el escenario donde cada nodo tiene un paquete de datos de 2000 bits para enviar a la estación base. Con esto se demuestra que cuando la energía de transmisión está en el mismo orden que la energía recibida, que se produce cuando la distancia de transmisión es corta y/o la energía electrónica de radio es alta, la transmisión directa es más eficiente energéticamente a utilizar.




LEACH: Low-Energy Adaptive Clustering Hierarchy

Leach es un protocolo de auto-organización, un protocolo adaptativo de clustering que utiliza la asignación al azar para distribuir la carga de energía de manera uniforme entre los sensores de red. En LEACH, los nodos se organizan en clusters locales, con un nodo actuando como estación base local o cabeza del clúster. Como se dijo anteriormente, LEACH incluye rotación aleatoria de la posición de la cabeza del clúster, que rota entre los distintos sensores con el fin de no agotar la batería de un único sensor. Además, LEACH realiza la fusión de datos locales para comprimir la cantidad de datos que se envían a través de los clusters a la estación base, reduciendo aún más la disipación de energía.

Los sensores se eligen a sí mismos ara ser cabezas locales del clúster en cualquier momento dado con una cierta probabilidad. Estos nodos transmiten su estado a los demás sensores de la red. Cada nodo sensor determina a que clúster quiere pertenecer eligiendo una cabeza del clúster que requiera la mínima energía para la comunicación. Una vez que todos los nodos se organizan en los clusters, cada cabeza del clúster crea un calendario para los nodos de su clúster. Esto permite que los componentes de radio de cada nodo que no sea cabeza del clúster sean apagados en todo momento, excepto durante el tiempo de transmisión, reduciendo así al mínimo la energía disipada en los sensores individuales. Una vez que la cabeza del clúster tiene todos los datos de los demás nodos, la cabeza del clúster agrega los datos y los transmite comprimidos hasta la estación base. Dado que la estación base está muy lejos, en el escenario que se examina, se trata de una transmisión de alta energía.



Conclusión:
El ahorro de energía se me hace algo muy importante en las redes, en este paper que investigué habla de una forma de ahorro de energía para redes de microsensores. Hay muchísimas formas para ahorrar energía y cada una funciona diferente pero lo que importa es lograr que se pueda gastar el mínimo de energía al transmitir los datos. 

Este método que se utiliza en este paper me gusta ya que piensan en todo, y realizan varios experimentos para ver cual tiene más éxito. Al transmitir los datos toman en cuenta que estos datos son transmitidos de nodo a nodo hasta llegar al destino que es la estación base, pero hay que tomar en cuenta que mientras se están mandando los datos, todos los nodos están activos, por eso en este paper se utilizan clusters para que mientras los nodos estén inactivos estén apagados y así puedan ahorrar energía. También se tienen una serie de características que lo hace más funcional. En mi opinión, hay que tomar en cuenta muchas cosas para que una red sea eficiente, y es muy importante siempre tomar en cuenta el ahorrar energía.

Referencias:


Energy-Efficient Communication Protocol for Wireless Microsensor Networks
Wendi Rabiner Heinzelman, Anantha Chandrakasan, Hari Balakrishnan
System Sciences, 2000. Proceedings of the 33rd Annual Hawaii International Conference on

miércoles, 24 de abril de 2013

Laboratorio 7. Detección de agujeros

Para este laboratorio se nos pidió detectar agujeros mediante el método del histograma lateral. Para esto utilicé una fotografía de una herramienta de la cocina que tenía en mi casa.

Lo que se pidió fue lo siguiente:
Prueban con algunas imágenes que contienen unos pocos
objetos que no se empalman entre ellos y que tienen
agujeros.
• Usen fotografías tomadas por ustedes mismos.
• Dibujen encima de casa imagen una recta para cada pico del
histograma lateral; independientemente para horizontal &
vertical.
• Las intersecciones deberían coincidir con los agujeros.
• Es efectivamente un preprocesamiento de lo que requiere la
tarea.
• Hagan esto primero, luego la tarea

La tarea está en una entrada anterior pero como dice anteriormente, primero realicé el laboratorio para después hacer la tarea. Aunque también estuve perfeccionando unas cosas. Como lo dije en la entrada de clase, se obtuvieron los histogramas vertical y horizontal en los cuales se encuentran puntos altos y bajos que representan los cambios de intensidad, al juntar los histogramas se pueden trazar las líneas y encontrar los cruces o intersecciones de las mismas que es donde se encuentran los posibles agujeros.

La imagen que se utilizó fue la siguiente:




El resultado al trazar las líneas de acuerdo a los histogramas:



La siguiente gráfica muestra lo que se obtuvo con los histogramas horizonal y vertical, en la misma se puede apreciar los puntos altos y bajos que son los que se tomaron en cuenta al detectar los agujeros.








Código:

martes, 23 de abril de 2013

Tarea 6. Detección de agujeros

Para esta entrada el objetivo es detectar la posición de agujeros en una imagen y cumplir con las siguientes especificaciones:
  • Los agujeros detectados se marcan con un borde morado oscuro y un relleno de morado claro.
  • Un tono ligeramente diferente en cada agujero.
  • Se marca el centro de cada agujero con un punto amarillo.
  • Al centro de cada agujero se agrega una etiqueta del ID del agujero.
  • El programa imprime un listado que indica para cada ID el tamaño del agujero (como porcentajes del tamaño de la imágen)

La imagen que utilicé fue tomada por mi, para poder detectar los agujeros, se tiene que obtener los histogramas, estos se obtienen con las intensidades de los pixeles de la imagen  ya que un agujero es un orificio de forma aproximadamente circular, esto quiere decir que cuando existe un agujero hay un cambio de intensidad de luz lo cual facilita detectar utilizando histogramas. Los histogramas se realizan haciendo las sumas de los pixeles de los renglones y de las columnas respectivamente.

Al formar los histogramas habrá puntos altos y bajos que representan los cambios de intensidad, pasa saber donde hay agujeros para saber donde hay bajadas o valles en los dos histogramas y se juntan para ver donde se forman los cruces las cuales son los posibles agujeros.

Utilizando el código de entradas anteriores junto con nuevo código para obtener los histogramas y detectar los agujeros, se buscaron los cruces que se forman en los histogramas para así poder detectar donde se ueden encontrar los agujeros.

En mis pruebas, no se detectaron algunos agujeros pero pienso perfeccionarlo para el laboratorio. 

Imagen original:


Resultado:

Resultado en Terminal:






lunes, 22 de abril de 2013

Laboratorio 8. A multicast Congestion Control Scheme for Mobile Ad-Hoc Networks

A Multicast Congestion Control Scheme for Mobile Ad-Hoc Networksby Jun Peng and Biplab Sikdar

Vocabulario.
MANETs = (Mobile Ad-Hoc Networks)

Introducción


Este paper habla de un sistema de control de congestión para redes móviles Ad-hoc (MANETs). No sólo el esquema propuesto supera las desventajas de los protocolos de control de congestión de multidifusión existentes, sino que también logra un buen rendimiento en otros aspectos como la equidad con TCP, estabilidad de tráfico, etc. 

Los sistemas de control de congestión de multidifusión existentes generalmente se dividen en dos categorías: single-rate y multi-rate. Los esquemas multi-rate usualmente ofrecen mucho más libertad a los receptores en la elección del tipo de receptor apropiado. Debido a que los enlaces de un árbol de multidifusión son generalmente heterogéneos, los receptores en una sesión multidifusión pueden tener diferentes cantidades de ancho de banda. Así que los esquemas multi-rate tienen una gran ventaja sobre los esquemas single-rate en el abastecimiento a todos los receptores en una sesión de multidifusión.

Para los protocolos de transporte que no estén diseñados específicamente para MANETs, las principales fuentes de problemas en estas redes son las altas tasas de error de enlace, ancho de banda limitado, retrasos en el acceso de enlace. Casi todos los sistemas de control de congestión de multidifusión existentes sufren de los mismos problemas como TCP sufre en MANETs (Por ejemplo, reduciendo innecesariamente la tasa de transmisión en respuesta a los errores de enlace). Esto es porque utilizan las pérdidas como la indicación de congestión pero no pueden distinguir entre los errores de enlace y las pérdidas de congestión. 

Otro problema específico para los sistemas multi-rate es el retardo de acceso de enlace en MANETs causados por la competencia de acceso. Debido al diseño inherente del protocolo IGMP, la latencia de la capa caída ya es un problema significativo en las redes inalámbricas para los esquemas multi-rate. Aunque algunos esquemas han hecho un progreso significativo en la lucha contra el problema, por lo general introducir una sobrecarga considerable de control de tráfico es una seria desventaja en MANETs. (Por ejemplo, ancho de banda valioso y potencia son gastados).  Además de las desventajas específicas para MANETs, esquemas más actuales aún tienen problemas para compartir el ancho de banda de manera justa con TCP y haciendo frente al mal comportamiento de los receptores. 

El esquema propuesto supera la mayor parte de las desventajas de los sistemas existentes. En primer lugar, los errores de enlace no pueden hacer que el esquema propuesto bloquee erróneamente una capa, debido a que el estado de la cola en un cuello de botella, en lugar de la pérdida de información en los receptores, es usado para ajustar la tasa de tráfico de multidifusión en el cuello de botella. Segundo, el retardo del enlace de acceso causado por la competencia en MANETs no puede obstaculizar el ajuste del tipo del problema propuesto, ya que, en lugar de depender de los receptores para solicitar la poda para dejar capas, las capas de bloques de multidifusión se ponen en cada cuello de botella de un árbol multidifusión. En tercer lugar, el esquema propuesto solo introduce un muy limitado control de tráfico debido a la recolección de información en el terreno y a la tasa de control. 

Además de las características anteriores que le permiten trabajar eficazmente en MANETs, el esquema propuesto tiene también un buen rendimiento en el intercambio de ancho de banda con TCP, robustez frente a los receptores de mal comportamiento y estabilidad de tráfico. Por otra parte, el sistema no impone ningún cambio significativo en la gestión de colas, programación o reenvío de políticas en las redes existentes.

Esquema de Control de Congestión Multi-Rate

El esquema propuesta opera de la siguiente manera. Cuando sesiones de multidifusión atraviesan un enlace, el agente esquema comienza a observar la cola de salida del enlace y el tráfico que pasa por el enlace. Cuando el número de paquetes en una cola excede de un umbral, algunas de las capas de sesiones multidifusión son bloqueadas de entrar al enlace. Cuando el número de paquetes está por debajo de otro umbral, por un período de tiempo, alguna de las capas bloqueadas son liberadas para atravesar el enlace. En otros casos, no hay ajuste en las capas. De esta manera, se puede aliviar la congesión mientras que también se puede presentar la liberación de ancho de banda. 

Esquema Básico

El esquema propuesto recupera algo de información acerca de las sesiones de la competencia en un cuello de botella para ayudar a su funcionamiento. Específicamente, el número de sesiones TCP, el número de sesiones de multidifusión, el número de capas en cada sesión de multidifusión, la tasa de flujo de las sesiones de multidifusión y la tasa de flujo de las sesiones TCP es la información recabada.


En algunas aplicaciones como en Streaming, una capa inferior por lo general tiene más prioridad que una superior. El esquema propuesto incrusta la información de prioridad de la capa en las direcciones utilizadas por las capas de una sesión de multidifusión.  

En el cuello de botella, el esquema propuesto distingue las prioridades de as capas de la misma sesión de multidifusón. Específicamente, una capa con menor dirección tiene mayor prioridad que una capa con mayor dirección. 

En lugar de usar la adición de capas o eliminación de las mismas en los receptores como en la mayoría de los esquemas existentes, el esquema propuesto utiliza la capa de bloqueo y capa de liberación en los cuellos de botellas para solucionar la congestión y para reclamar banda ancha respectivamente. La capa de bloqueo es la modificación de la tabla de enrutamiento multidifusión para negar el acceso a una capa a un enlace congestionado, la capa de liberación es la modificación de la tabla de enrutamiento para permitir que una capa de bloqueo atraviese un enlace. Cuando la capa de bloqueo es necesaria, la sesión de multidifusión con el número máximo de capas es seleccionado para bloquear una capa. 

Dentro de esta sesión, la capa con la prioridad más baja entre las capas de bloqueo es bloqueada. Sin embargo, cuando la capa de liberación es requerida, la sesión de multidifusión con el número mínimo de capas de capas es seleccionada para liberar una capa. En esta sesión, la capa con la mayor prioridad entre las capas de bloqueo es liberada.  Una capa vacía de un receptor es una capa que fue bloqueada en alguna parte en la red y no tiene flujo de datos en el receptor. 


El esquema propuesto bloquea o libera capas de multidifusión en un cuello de botella de acuerdo al estado de la salida de la cola del enlace. La cola se clasifica en tres fases: fase 1, fase 2 y fase 3. La fase de la cola es decidida por el número de paquetes en la cola. 


Adaptación del esquema


Generalmente, el tráfico de multidifusión debe ser lo más estable posible, lo que es necesario para algunas aplicaciones específicas como streaming y también para una buena utilización de ancho de banda. Para evitar varios tipos de variación en el número de capas de multidifusión en un cuello de botella, se agregan tres procedimientos para adaptar el esquema a varias situaciones.

  1. Cuando las sesiones de multidifusión necesitan incrementar su tasa de tráfico continuamente, la tasa de incremento se reduce cada vez que una capa es liberada. Específicamente, el tiempo de observación para la siguiente capa de liberación es incrementada por un factor
  2. Cuando una capa es bloqueada justo después de que una capa es liberada, el tiempo de observación para la siguiente capa de liberación es incrementada por otro factor
  3. Una capa es bloqueada en la fase 3 solo si la tasa promedio de flujo de las sesiones de multidifusión es mayor que la tasa promedio de flujo de las sesiones TCP por el umbral de relación  . 
    Este procedimiento previene a una capa de ser bloqueada alternativamente y liberada en la fase 3 y fase 2 respectivamente.

Análisis del esquema

Para facilidad de su entendimiento, se toma como escenario una sesión de multidifusión compartiendo un cuello de botella con una sesión TCP. Se asume que la sesión TCP tiene límites de ventana lo suficientemente grande, entonces epuede consumir su ancho de banda compartida. El ancho de banda del cuello de botella es denotado por W. La tasa instantánea y la tasa promedio de la sesión de multidifusión se denota por Y1(t) y Y1, respectivamente; la tasa instantánea y la tasa promedio de la sesión TCP se denotan por Y2(t) y Y2, respectivamente. Para llegar a la equidad ideal y la utilización del enlace, las siguientes condiciones deben cumplirse:


Así que lo ideal  es que ambas Y1(t) y Y2(t) sean constantemente W/2.


La interacción de la sesión de multidifusión con la sesión TCP en el escenario anterior puede analizarse de la siguiente manera: Primero, la tasa de la sesión TCP puede representarse:





Las ecuaciones representan "no congestionado" y "congestionado" respectivamente. Esta información se infiere por el remitente TCP detectando pérdidas en la transmisión. 


El comportamiento de la sesión de multidifusión puede también ser expresado matemáticamente. Con la suposición de los límites de ventana, la sesión TCP no tiene ancho de banda libre para ahorrar. La fase 1 está diseñada para reclamar ancho de banda libre ahorrado por alguna sesión de multidifusión o TCP. El comportamiento de la sesión de multidifusión se puede expresar de la siguiente manera: 



En esta ecuación, además de la congestión de información, las tasas promedio Y1 y Y2 también se utilizan. Cuando Y1 es menor que Y2 y la red es no congestionada, la sesión multidifusión incrementa su tasa en un paso g; cuando Y1 es mayor que Y2 y la red está congestionada la sesión multidifusión decrementa su tasa en un paso g, de otro modo no se ajusta la tasa. 




Eficacia en MANETs

La eficacia del esquema propuesto en MANETs se debe a diferentes factores. En lugar de esperar a los receptores para la solicitud de poda e injerto como en los esquemas existentes, el esquema propuesto ajusta la tasa de tráfico de multidifusión en cada cuello de botella de un árbol de multidifusión. Los errores del enlace no pueden decrementar el rendimiento del esquema, mientras este utilice el estado de la cola en el cuello de botella en vez de la pérdida de información en los receptores como métrica para ajustar la tasa de tráfico en el cuello de botella. 

Otra de las características del sistema propuesto es que los receptores de mal comportamiento no se pueden beneficiar a sí mismos ni lastimar a otros receptores, ya que con el esquema, el número de capas activas que un receptor puede recibir es controlada exclusivamente en el cuello de botella en el camino de la fuente al receptor. Si un receptor suscribe intencionalmente o accidentalmente a demasiadas capas, el número de capas que tienen datos fluyendo en el receptor no van a cambiar, porque el cuello de botella va a bloquear las capas excesivas de forma automática.  La única consecuencia es que el ancho de banda limitado sobre el cuello de botella es posiblemente gastado. 

Resultados de la simulación

En el MANET, el protocolo MAC es 802.11 y el protocolo de ruteo ad-hoc es DSDV. Hay 5 sesiones de prueba: 2 multicast y 3 sesiones TCP.  La fuente de cada sesión es en la red alámbrica, mientras el destino de cada sesión está en el MANET. Cada sesión de multidifusión tiene 15 capas, la tasa de cada capa es 25Kh/s.

Se consideraron cuatro escenarios en el experimento. En el primero, todas las sesiones empiezan y se detienen al mismo tiempo. En la segunda, dos sesiones TCP empiezan después que las otras sesiones. En el tercer escenario, las dos sesiones de multidifusión empiezan después que las sesiones TCP. En el cuarto escenario, todas las sesiones empiezan al mismo tiempo pero dos sesiones terminan antes que las otras sesiones. En este paper solo se mencionan los resultados de los primeros dos escenarios.

Escenario 1. Comienzo y terminación simultáneos.
En este escenario, todas las sesiones empiezan en el comienzo de la simulación y terminan a los 1500 segundos. Los resultados de la simulación se muestran en las siguientes imagenes.



La primera imagen muestra el número de capas y el umbral de cada sesión de multidifusión, mientras la segunda imagen muestra el umbral de cada sesión individual TCP y la tasa de flujo promedio de las sesiones TCP.

Cada sesión obtiene un umbral cerca de 20KBytes/s. Además, después del ajuste inicial, el número de capas de cada sesión de multidifusión es estable. Esto muestra que el esquema alcanza un balance rapidamente y se mantiene. 

Escenario 2.  Llegada después de las sesiones TCP.
Este escenario prueba si las llegadas tarde de las sesiones TCP pueden obtener una parte justa del ancho de banda. Una sesión TCP se une con las otras sesiones a los 500 segundos, mientras que la otra sesión TCP se une a los 1000 segundos. 

En los primeros 500 segundos, hay una sesión TCP y dos sesiones multidifusión. Cada una de estas últimas tiene un umbral cerca de 30 KBytes/s, mientras la sesión TCP también tiene un umbral cerca a los 30KBytes/s. En el segundo 500, hay 2 sesiones TCP y 2 multicast, cada sesión obtiene un umbral cerca de los 25KBytes/s. En los últimos 500 segundos, hay 3 sesiones TCP y dos multidifusión. Cada sesión tiene un umbral cerca de 20KBytes/s.






Conclusiones:

Los esquemas para controlar el tráfico pueden ser muy útiles ya que con esto puedes mejorar algunas cosas en la red. Por ejemplo, al controlar el tráfico puedes evitar que haya pérdidas de paquetes y con esto evitar que la comunicación se degrade. También con esto se puede ayudar a liberar ancho de banda y tener una comunicación más estable, rápida y eficaz. 

En este esquema se pudo ver que se hicieron varias simulaciones, lo que hace básicamente el esquema es prohibir el paso a algunas sesiones si la red está congestionada, o en caso contrario liberar el paso, para esto se tiene que determinar si la red está congestionada o no. En las simulaciones realizar se pudo observar que en algunas las sesiones iniciaban y terminaban al mismo tiempo y en otras algunas sesiones comenzaban un poco después del inicio de la simulación, esto me parece muy bien para así probar la efectividad del esquema en varios escenarios y ver si en realidad está funcionando. 

Referencias:
A multicast Congestion Control Scheme for Mobile Ad-Hoc Networks
Jun Peng and Biplab Sikdar
Dec 2003, Global Telecommunications Conference, 2003. GLOBECOM '03. IEEE


domingo, 21 de abril de 2013

Resumen: Ubiquitous Usability: Exploring Mobile Interfaces

Ubiquitous Usability: Exploring Mobile Interfaces within the Context of a Theorical Model
Khaled Hassanein & Milena Head

Este paper presenta un nuevo modelo de usabilidad teórico que toma en cuenta las características particulares de los sistemas móviles ubicuos. Presentando los diferentes tipos y limitaciones del usuario móvil, tareas e interface, este modelo ayuda aún más a la comprensión de los aspectos de usabilidad de este campo emergente. 

Introducción

El comercio móvil (m-Commerce) utiliza redes inalámbricas para que los usuarios puedan acceder a la información, realizar transacciones y comunicarse por medio de dispositivos móviles, como teléfonos celulares, ordenador de bolsillo, mensáfono. Las aplicaciones móviles proveen a las empresas más oportunidades para realizar transacciones comerciales, interactuar con socios, mejorar los niveles de servicio al cliente, extender presencia de la marca, el acceso ubicuo a los sistemas de información es fundamental para realizar este tipo de actividades.

El modelo que se presenta en este paper tiene una visión holística de la usabilidad, examinando al usuario, el ambiente, tareas y elementos de interfaz. La interfaz humano-computadora es considerada como el componente más importante de todo el sistema.

Modelo para Usabilidad en Computo Ubicuo

Un sistema usable facilitará la interacción con sus usuarios haciendo la interfaz "transparente" para los usuarios, centrando su atención en la misión y no en el medio.
Nielsen define usabilidad a lo largo de las dimensiones de aprendizaje, eficiencia, prevención de errores y satisfacción.

Usuario.


El usuario es el centro del modelo, es el que determina tipicamente las tareas móviles a completar a través de una interfaz en un contexto ambiental.

Tipos de usuario. 

Los usuarios se clasifican de acuerdo a varias características y esquemas. 

Novato/Experto: Experiencia puede ser considerado a lo largo de varios aspectos: experiencia con el dominio de la tarea, sistema y con computadoras o dispositivos en general. Los expertos no solo saben más, ellos saben diferente. Son mejores organizando los datos en partes significativas, tienen un conjunto de estructuras dentro de las cuales pueden caracterizar nuevos problemas. También tienden a tener enfoques de arriba hacia abajo a la resolución de problemas, mientras los novatos utilizan enfoques de abajo a arriba que carecen de una planificación integral.

Cuando los expertos utilizan la interfaz, los usuarios pueden rapidamente formar objetivos y secuencias de acciones para llegar a dichos objetivos. Ellos prefieren la interacción para ser eficientes en términos de tiempo y acciones requeridas. Los novatos, por el otro lado, prefieren una interfaz que sea fácil de utilizar y "adivinable", que los ayude a adivinar la siguiente acción apropiada.



Secuencial/Multi-tareaEl trabajo de los psicólogos conduce al concepto de la orientación izquierda y derecha del cerebro. El lado izquierdo está asociado generalmente con el procesamiento secuencial, mientras el lado derecho está asociado con la capacidad espacial y la multi-tarea. Los usuarios que están orientados a la multi-tarea pueden facilmente interactuar con dispositivos móviles también interactuando con su ambiente (como hablando con otros, viendo la televisión, caminando, etc). 

Limitaciones del Usuario.

En la realización de tareas móviles, como con otras tareas, los humanos están limitados por su memoria, capacidades de habilidad visuales y motoras. 

Capacidad de memoria. 


En el trabajo de Miller se enfatiza en que los humanos están extremadamente limitados en cuanta información pueden retener en su memoria. Nosotros tenemos una capacidad más grande para el reconocimiento (seleccionar un elemento relevante en una larga lista) que para el recuerdo (recordar un artículo). Una interfaz móvil que obliga al usuario a recordar comandos específicos que son utilizados frecuentemente puede ser muy difícil .

Capacidad visual. 


Las capacidades visuales y percepciones pueden variar entre los individuos, los estímulos visuales y entornos. Por ejemplo, cuando alguien es de mayor edad es más sensible al color azul, la visión periférica es más dominante en condiciones de poca luz y los objetos rojos parecen están más cerca que los azules. El procesamiento visual también puede depender altamente de las expectaciones del usuario. Por ejemplo si un usuario espera una imagen particular y se le presenta una similar pero diferente, la expectativa puede anular la entrada visual, lo que lleva al usuario procesar incorrectamente la imagen. 

Capacidad de Habilidad Motriz.


Medidas de la motricidad humana incluyen la velocidad y precisión, que son importantes en el diseño de sistemas interactivos. La ley de Fitts establece que el tiempo necesario para alcanzar un objetivo (como un elemento del menú, botón o icono) es una función del tamaño del objetivo y la distancia que tiene que ser movido. Dado a que los usuarios tienen dificultades para manejar objetos pequeños, los objetivos tienen que ser tan grandes como sea posible y la distancia a moverse lo más pequeña posible. Los dispositivos móviles, que son caracterizados por pequeñas pantallas, tienen el reto de hacer los objetos tan grandes como sea posible. 

El entorno

Sistemas móviles de computo ubicuo son susceptibles a ser utilizados en entornos diferentes.


Tipos de entornos. 


Estático/Dinámico. 
En un entorno estático, el usuario está estático al utilizar la aplicación (sentado en un aeropuerto). En un entorno dinámico, el usuario utiliza la aplicación móvil moviéndose (caminando en un centro comercial). Un entorno dinámico impone más desafios para el usuario y la interfaz. 

Tranquilo/Ruidoso. 
Un entorno tranquilo es caracterizado por un mínimo de interferencias de audio o visuales. En cambio, un entorno ruidoso, sufre de niveles muy altos de estas interferencias. Como las tareas en los móviles normalmente son realizadas afuera the lugares como la oficina o el hogar, el usuario tiene menos control del nivel de ruido en su entorno. Por ejemplo un usuario caminando por la calle, con el ruido del tráfico de los camiones, etc.

Un entorno ruidoso o interactivo, donde el usuario móvil está distraído por el ruido o la comunicación con otras personas mientras realiza una tarea móvil, obviamente imponer algunas limitaciones adicionales a la capacidad del usuario para centrarse exclusivamente en la tarea móvil en la mano. En un entorno ruidoso, donde el usuario móvil está distraído por el ruido o la interacción con otras personas mientras realiza una tarea móvil, impone limitaciones adicionales a la capacidad del usuario para centrarse en la tarea móvil.

Limitaciones del entorno.

El entorno puede tener ciertas limitaciones que influencian la realización de las tareas para un sistema ubicuo. 

Distracciones.  Un usuario móvil operando en un entorno va a ser sometido a algunas distracciones debido a diversos estímulos que competirán por su atención mientras está interactuando con las aplicaciones móviles. Estos estímulos incluyen la presencia de otras personas y los niveles de ruido.

Condiciones del entorno. Las aplicaciones móviles tienen que poder ser realizadas en óptimas condiciones del entorno tales como mala/alta luminosidad, y extremas temperaturas. Los usuarios móviles están muy limitados en lo que pueden hacer para controlar estas condiciones. Por ejemplo los usuarios que se encuentran navegando por la web en una PDA en condiciones bien iluminadas, pueden de repente encontrarse en total oscuridad cuando el tren pasa por un túnel oscuro.

Tiempo. Muchas investigaciones sugieren que cuando se enfrentan con presión de tiempo, los usuarios procesan información de forma más selectiva y usan estrategias de decisión menos complejas. Miller propuso que hay tres formas principales de hacer frente a las situaciones con presión de tiempo:

  • Aceleración. Los usuarios procesan la misma información a un ritmo más rápido. Pueden ocurrir errores debido a la sobrecarga temporal de memoria o la capacidad de procesamiento. 
  • Prevención. Los usuarios procesan información a la misma velocidad y simplemente paran cuando el tiempo se acaba. Esto puede ocasionar tareas incompletas o decisiones pobres debido a información incompleta.
  • Filtración. Los usuarios eligen examinar subjetivamente solo los datos importantes por consideración. El proceso cognitivo se altera como resultado de la presión de tiempo.


La tareas


Además de las consideraciones del usuario y el entorno, la usabilidad en un entorno móvil está influenciado por las características de la tarea.

Tipos de tareas.

Las tareas se clasifican de acuerdo a ciertas características.

Cerrada/Abierta: Una tarea cerrada tiene un objetivo específico que a veces se puede dividir en sub-objetivos. Una tarea abierta tiene un objetivo general y es considerada más exploratoria, y no específica como la cerrada. 

Acceso/Creación: En una tarea de acceso, el usuario móvil se dedica al procesamiento programado (secuencia de pasos conocidos) para recuperar la información disponible. En una tarea de creación, el usuario se dedica al procesamiento emergente (pasos que se desarrollan de acuerdo a los resultados intermedios) para así generar nueva información- Por ejemplo, la recuperación de novedades sería una tarea de acceso, mientras mandar un correo electrónico es una tarea de creación.


Limitaciones de tareas.

Complejidad. La complejidad de una tarea está determinada por su naturaleza y alcance, así como por el nivel de participación de los usuarios requerido. Además, la disponibilidad, el volumen, la precisión y la estructura de datos pueden ser de gran impacto para la complejidad de la tarea. Generalmente, los usuarios móviles tienen acceso a una cantidad limitada de información. Cuando la cantidad de información conduce a una sobrecarga de información, el usuario móvil ya no puede comprender la información debido a su gran volumen en combinación con las limitaciones de los dispositivos móviles. 

Nivel de Interacción. Algunas tareas pueden requerir un gran nivel de interacción (como los juegos en línea) comparado con otros. En un entorno móvil donde las distracciones del entorno y los mecanismos de entrada limitados dificultan la interacción, tareas altamente interactivas pueden ser más difíciles de lograr.


La interfaz


Tipos de interfaz

Algunas interfaces móviles han sido desarrolladas o propuestas en la literatura actual. Estos diseños presentan diferentes enfoques para abordar algunos de los desafíos que enfrenta la usabilidad en entornos móviles. En este paper se centra en las opciones de interfaz de telefonía móvil para aplicaciónes móviles.

Menú de jerarquía. A los usuarios se les presenta una serie de opciones que, al seleccionarse se presenta una serie de opciones secundarias. Esta navegación continúa hasta que el usuario encuentra la función o información deseada. Esta es la interfaz más común en aplicaciones móviles.

Códigos de acceso directo. Los usuarios deletrean a la aplicación, la función o información que ellos desean acceder, presionando las teclas numéricas correspondientes, que tienen asociadas a las letras del alfabeto. 

Tree-based. Al seleccionar un nodo de nivel superior en una estructura de árbol, el árbol se expande para mostrar subtemas disponibles dentro de esta opción. Los usuarios pueden brincar al contenido del hermano o el papa con una sola acción, en lugar de volver al principio y mover de nuevo hacia adelante.

Table-based. Las tablas pueden permitir más información para desplegarse en una pantalla pequeña, donde los iconos o símbolos pueden utilizarse para representar información.

Speech-based. Cuando se interactua con dispositivos móviles, pueden ser necesarios los ojos del usuario en el entorno. El reconocimiento de voz puede ayudar a aliviar alguna de las cargas del usuario. Por ejemplo, la aplicación de iOS siri, donde puedes pedirle al usuario que te diga que desea saber, te puede dar el pronóstico del tiempo, la hora, como llegar a un lugar, e incluso hacer publicaciones en Facebook o Twitter con solo el reconocimiento de voz.


Conclusiones:

En este paper vienen cosas muy importantes que deben de tomarse en cuenta al realizar un sistema ubicuo, ya que toca los puntos más importantes de usabilidad. El usuario que es el más importante al hacer un sistema ya que es a quien vas a satisfacer y si el no está satisfecho con el sistema, tu esfuerzo no servira de nada. También es el que te ayuda siempre a mejorarlo con ayuda de la retroalimentación. 

Se tiene que analizar que hay diferentes tipos de personas que pueden utilizar el sistema, así que tienes que tomar en cuenta que hay personas por ejemplo con discapacidad, o personas que no tienen mucho conocimiento de las tecnologías, entonces tienes que hacer algo que cualquier persona aunque nunca haya tocado un celular, pueda entender  y manejar fácilmente.

Las limitaciones de los usuarios también son muy importantes como la capacidad de memoria en todas las personas es diferente, hay personas que recuerdan todo lo que han vivido desde su infancia, y otras que no recuerdan casi nada. Así como la capacidad visual tanto para personas con déficit como para personas de mayor edad tienen alguna dificultad que hay que tomar en cuenta. 

La interfaz es algo muy importante, para mí es lo que hace que muchas de las aplicaciones que existen sean de agrado para el usuario. Ya que entre más "bonita" se vea la aplicación más va a llamar la atención a los usuarios. Por ejemplo, Apple hace que todas sus interfaces sean bonitas y de agrado al usuario por eso es que muchas personas prefieren comprar sus productos.

Las tareas que se van a realizar en la aplicación también son importantes y se debe tomar en cuenta que es un celular, no vas a poner una tarea que sea imposible de hacer en celular o sea muy complicada. 

Referencias:

Khaled Hassanein & Milena Head
2003, Lecture Notes in Computer Science 183