martes, 30 de abril de 2013

Control de Congestion

Para esta entrada se nos encargó simular control de congestion en ns-2.

Para lograr esto, se reciclaron conocimientos de tareas anteriores para crear las topologías y para simular el tráfico. Ahora lo nuevo fue integrar una fórmula para calcular el ancho de banda de la red. En base a este ancho de banda conocido, decidimos si aumentamos o disminuimos la cantidad de paquetes que se envían.

Las fórmulas usadas en el código, y cómo graficar en xgraph se encontró en este enlace.

El código:

//
//

El resultado:

La línea verde muestra que la cantidad de paquetes perdidos es poca, esto debido a la poca congestión de la red.

Referencias:
Tutorial de xgraph: http://www.isi.edu/nsnam/ns/tutorial/

Laboratorio de Ubicuo: Actividad 8

Esta entrada es una simple retroalimentación sobre los proyectos de los demás equipos sobre el tema de usabilidad.

ALARMA INTELIGENTE
El equipo mencionó que implementarían un programa para permitir controlar su sistema por medio de internet. Esta idea es la que me llamó más la atención y por lo mismo pienso que le llamará más la atención a cualquier usuario así que deben poner esfuerzo extra en esta parte para lograr atraer al usuario. Esto se puede lograr por medio de lograr una conexión simple y sin rodeos, además de un diseño atractivo y moderno, algo así como lo que ofrecen las capacidades de HTML5.

Equipo:
http://ubicomputo.blogspot.mx/2013/04/evaluaciones-de-usabilidad.html

 
COMPUTADORA INTELIGENTE
El bloqueo/desbloqueo por rostro que propone este equipo es una idea muy atractiva, que puede vender mucho. Pero así mismo deben esforzarse en hacer un producto fácil e intuitivo. Voy a lo mismo: la interfaz de usuario debe ser amigable y atractiva y con una respuesta rápida. Pienso que si logran estas cosas el usuario estará muy cómodo y adquirirá con gusto el sistema.

Equipo: http://aveoctavo.blogspot.mx/2013/04/blog-post.html



GALERÍA INTELIGENTE
La idea que ha propuesto el equipo esta vez es la reproducción de contenido al detectar a una persona. La única recomendación que yo pienso es el controlar la distancia a la que se va a aceptar una persona como interesada en el artículo (como el kinect que tiene cierto rango para leer los movimientos de las personas). Porque si dos obras están una frente a otra, a metros de distancia, y se detecta la persona en ambas obras, sería incómodo que 2 obras estén reproduciendose al mismo tiempo.

Equipo: http://ultimo-sem.blogspot.mx/2013/04/entrega-4.html


DESPERTADOR INTELIGENTE
Lo que más me ha gustado de este proyecto es que han tomado bastante en cuenta al usuario y se han ido adaptando a las necesidades y requerimientos del mismo en base a sus investigaciones. Lo único que yo podría pensar es que se aseguren de que cuando el usuario apague la alarma no se vuelva a acostar o quedar dormido de ninguna forma ya que normalmente siempre decimos: "5 minutos más" y eso equivale a llegar tarde a nuestra escuela o trabajo.

Equipo: http://3-its.blogspot.mx/2013/04/pruebas-de-usabilidad.html


CASA INTELIGENTE 
Pienso que este equipo debe concentrarse en lo ubicuo del sistema, y no tanto en botones y cosas así, para que en realidad el usuario pueda seguir el flujo de sus actividades y no tener que interactuar directamente con el sistema.

Equipo: http://3puntosteam.blogspot.mx/2013/04/pruebas-de-usabilidad.html

lunes, 29 de abril de 2013

Laboratorio de Redes: Actividad 9

Artículo: "ENERGY EFFICIENT ROUTING IN WIRELESS SENSOR NETWORKS "
Autores: Curt Schurgers, Many B. Srivastava

I. INTRODUCCIÓN
Los circuitos integrados han madurado al grado que permiten la integración de comunicaciones, sensores y procesamiento de señal en conjunto. Ahora es factible dispersar nodos sensores ultra pequeños en un campo de batalla para recolectar información estratégica. Debido a que los nodos deben ser discretos, solo pueden cargar baterías muy pequeñas. Como resultado, tienen un suministro de energía limitado. Protocolos de ruteo para redes conformadas por estos nodos necesitan ser desarrollados con un enfoque en eficiencia de energía.

En el artículo se proponen dos opciones para incrementar el tiempo de vida de la red de sensores: (1) minimizar el consumo de energía de transmisiones y (2) explotar el aspecto multi-hop de las comunicaciones en red.

Antes de discutir dichas opciones se trata el problema: como incrementar el tiempo de vida de una red de dispositivos de energía limitada.

II. ENUNCIADO DEL PROBLEMA
1. Ruteo Óptimo de Energía
Algoritmos de ruteo ad-hoc tradicionales se enfocan en evitar la congestión o mantener la conectividad cuando se enfrentan con mobilidad. No consideran el suministro limitado de energía de los dispositivos de red. La siguiente figura ilustra cómo el suministro limitado altera el asunto del ruteo.


Carga vs. ruteo orientado a energía
Los nodos A y E mandan 50 paquetes a B. Después, F manda 100 paquetes a B. Desde una perspectiva de balanceo de carga, las rutas preferidas son ADB, ECB y FDB, respectivamente. Sin embargo, cuanto los nodos están limitados en energía de manera que solo pueden enviar 100 paquetes, estas rutas ya no son óptimas.

Este caso de estudio simple resalta la siguiente observación: la calendarización de tráfico óptimo en redes de energía limitada requiere conocimiento futuro. En el ejemplo, un número máximo de paquetes puede alcanzar B solo si justo al inicio sabemos exactamente cuándo los nodos generarán tráfico en el futuro.

2. Ruteo Eficiente de Energía  
Por lo discutido, el ruteo óptimo en redes de energía limitada no es prácticamente factible. Sin embargo, se pueden ablandar los requerimientos hacia un esquema estadísticamente óptimo. Un esquema es eficiente de energía (en comparación con el ópimo de energía) cuando es estadísticamente óptimo y casual (solo toma el pasado y el presente en cuenta). Tomar en cuenta todos los posibles escenarios futuros en las aplicaciones de redes es demasiado intensivo computacionalmente, aun para simulaciones. Así, esto es inoperable como una guía para basar esquemas prácticos.

3. Razonamiento de la Difusión de Tráfico
Para lograr una guía práctica, se comienza por la siguiente observación: las rutas de salto mínimo para un usuario para diferentes streams tienden a tener un número mayor de saltos en común. Los nodos en esas rutas mueren más pronto y así limitan el tiempo de vida de la red. La siguiente figura presenta un histograma típico de consumo de energía en cierto punto en el tiempo. Algunos nodos apenas han sido usados y otros casi han terminado su energía.

Si asumimos que todos los nodos son igualmente importantes ningún nodo debería ser más critico que otro. En cada momento cada nodo debería entonces ser usado la misma cantidad de energía, la cual también debería estar minimizada. La siguiente figura muestra un histograma más deseable, aunque el total de consumo de energía es el mismo.


Los esfuerzos para un histograma de energía compacto se traducen en la guía con la que el tráfico debería ser dispersado a través de la red tan uniformemente como sea posible.

III. RUTEO BÁSICO
Como un esquema de ruteo subyaciente, se toma una base en el paradigma de difusión dirigida. Cuando un usuario se une a la red de sensores, anuncia el tipo de información en el que está interesado. Se ha optado por una instancia simple de este paradigma, al cual han llamado Ruteo Basado en Gradiente (Gradient-Based Routing (GBR). Mientras es inundado, el mensaje de interés graba el número de saltos del usuario, llamado el peso del nodo. La diferencia entre el peso del nodo y el del usuario es considerado el gradiente de ese enlace. Un paquete es remitido en el enlace con el gradiente mayor. Aunque las técnicas para incrementar el tiempo de vida de una red están construidas sobre GBR, los principios principales son lo suficientemente generales para también ser aplicables a otros protocolos de ruteo ad-hoc.

IV. COMBINACIÓN DE DATOS.
1.Entidades de Combinación de datos (Data Combining Entities)

Nodos sensores individuales procesan su información antes de transmitirla al usuario. Es ventajoso combinar observaciones de diferentes nodos para incrementar la eficiencia de los recursos. Este proceso reduce no solo la sobrecarga de la cabecera, pero también la información en si misma puede ser compactada ya que contiene en parte la misma información.

Aunque esta combinación puede ser implementada al seleccionar explícitamente una cabecera de cluster, se presenta un esquema que es más robusto a fallas de nodos aleatorios. Primero hay que notar que los nodos sensores que son activados por el mismo evento, son típicamente ubicados en la misma vecindad. La nube resultante de nodos activados también está en una proximidad de comunicación cercana. Simulaciones han mostrado que las DCE´s están ubicadas dentro o muy cerca de esta nube de nodos activados. Este esquema es altamente robusto. Cuando un nodo con una DCE muere, el paquete automáticamente toma una ruta alternativa y pasa a través de otro nodo que puede crear un nuevo DCE.

V. DISPERSIÓN DE TRÁFICO DE RED
1. Técnicas de Dispersión

Esquema Estocástico: cada nodo puede seleccionar el siguiente salto en una manera estocástica. Más específicamente, cuando hay dos o más saltos adyacentes con el mismo gradiente bajo, uno aleatorio es elegido. Esto no incrementa la longitud de la ruta seguida, sin embargo contribuye a la dispersión del tráfico de red.

Esquema basado en energía: Cuando un nodo detecta que su reserva de energía ha disminuido por debajo de cierto umbral, este "desanima" a otros de mandar información a el al incrementar su peso. Esto puede cambiar el peso de un vecino. Este a su vez informa a otros nodos y estas actualizaciones son propagadas tan lejos como sea necesario para mantener consistentes todas las gradientes.

Esquema basado en stream: La idea es desviar nuevos streams de los nodos que son actualmente parte de la ruta de otros streams. Un nodo que recibe paquetes informa a sus vecinos excepto a aquel de donde se origina el stream, al que su peso a incrementado. De nuevo, otros nodos deben asegurarse de que las gradientes permanezcan consistentes. Como resultado de este esquema, el stream original no es afectado, debido a que estos nodos no han actualizado el peso de su siguiente salto. Nuevos streams de paquetes, sin embargo, tomarán otras rutas mientras el peso de los nodos en la primer ruta ha incrementado aparentemente.


Referencia
http://www.shihada.com/F12-344/papers/EnEff_routing_wsn.pdf

jueves, 25 de abril de 2013

Adaptive Code

For this week's homework, we had to implement a compression algorithm that doesn't compress all the input at once, but to make the compression in parts. That's the adaptive part of the coding.

This is how I implement it: For each part of the input that was going to be processed, take the input letters and make a dictionary with each letter as key, and its frequency as value. Next, a new dictionary is created, but this time the value is going to be its probability of apearing in the spanish alphabet.  Also, for each part we had to see if the some letter hasn't appear before.

With this, we create a graph where each node is added by "asking": is it greater than the actual node? (go to right); is it lower than the actual node? (go to left).

This is what I did:
Clase principal:
Algoritmo:
Archivos

El resultado se cicla :(

martes, 23 de abril de 2013

Laboratorio Redes: Actividad 8

Para esta tarea toca hacer un reporte sobre un artículo de control de congestión.

Artículo:
Streaming de Video usando la Catalogación de Tasa Dinámica y el Control de Flujo TCP.

Autores: Stephen Jacobs, Alexandros Eleftheriadis

1. Introducción
La transmisión de información audiovisual digital através de los sistemas de comunicación es un problema bien entendido. Su esencia yace en las suposiciones clave hechas por lo diseñadores de codec sobre las posibles redes que pueden transportar la información comprimida, y las suposiciones hechas por los diseñadores de red sobres los tipos de tráfico que su red está destinado a transportar.

El interés en el paper se centra en la entrega de video digital en tiempo real a través de Internet, en particular en video MPEG-1 y MPEG-2.

Las tecnologías subyacentes del Internet de hoy en día no son suficientes para soportar las garantías de la Calidad de Servicio, las cuales facilitarían los servicios de tiempo real. Es probable que la infraestructura de red del futuro tenga Calidad de Servicio y que los usuarios sean capaces de pedir conexiones con o sin Calidad de Servicio. Estas consideraciones indican que la transmisión de información de tiempo real con o sin Calidad de Servicio no es solo importante hoy, sino que permanecerá pertinente incluso en redes que puedan proveer Calidad de Servicio.

La falta de Calidad de Servicio se traduce en la variación del potencial del ancho de banda disponible para tranmisión de audio y video. Aunque se han desarrollado técnicas para emplear la tasa de control para fuentes en vivo de control de tasa basadas en retroalimentación de red, estas no funcionarán con material pregrabado. Entonces es crucial ser capaces de modificar la tasa de bits de video MPEG, incluso después de que la codificación ya ha tomado lugar.

Esta operación de manipulación de tasa se conoce como Catalogación Dinámica de Tasa (DRS: Dynamic Rate Shaping).El término Dinámica se refiere a la posibilidad de que las limitantes de tasa varían con el tiempo, mientras que Catalogación es usado en lugar de Control de Tasa para: 1) diferenciarle con el control de tasa codificador clásico, y 2) para caputar con más exactitud la naturaleza posterior de la operación. El método de Catalogación Dinámica de Tasa es diferente al de Catalogacíon de Tráfico.

2. Catalogación dinámica de Tasa
Se define la Catalogación de tasa como la operación en la cual, dada una entrada de stream de bits de video y un conjunto de restricciones de tasa, produce un stream de bits de video que cumple con las restricciones dadas. Si se permite que las restricciones varíen con el tiempo, la operación será llamada dinámica.

Operación del Catalogador Dinámico de Tasa


2.1 Definición del problema en el método DRS 
La opreación del método de Catalogación de tasa es descrita en la figura anterior. Es importante notar que no existe ruta de comunicación entre al Catalogador y la fuente del stream de bits de entrada, el cual asegura que no es necesario el acceso al codificador. 
Asumiendo que se usa MPEG-2 para generar la entrada de stream de bits y decodificar el stream de bits de salida, hay dos maneras fundamentales de reducir la tasa: 1) Modificar los coeficientes de transformación cuantificados al emplear la cuantificación de grueso, y 2) eliminando los coeficientes de transformación. En general, ambos esquemass pueden ser usados para realizar el catalogado de tasa; la recuantificación, sin embargo, nos lleva a algoritmos tipo re-codificación, los cuales no están sujetas a una implementación rápida y no tienen tan buen desempeño como los algoritmos de transimisón selectivós. Solo se considerarán algoritmos basados en transmisión selectiva, y más especificamente se direcciona al caso particular de truncamiento. Esta aproximación será llamada Catalogado Dinámico de Tasa Constreñido. 

3. El protocolo
Framework del protocolo de internet amigable
El protocolo recibe datos de una fuente catalogadora de media (Media Shaping Source). Esta fuente es responsable de emparejar la tasa de bit de el stream con el ancho de banda disponible estimado en la red; el protocolo provee este estimado. La fuente está continuamente llenando el buffer con la media. Mientras, la bomba de media (media pump) lee los datos del buffer y los manda a la red usando UDP/IP. La ventana de congestión (congestion window) es la tercera parte de el servidor. La bomba de media solo manda datos cuando la ventana de congestión indica que mas datos pueden entrar en la red. 

Si la fuente de catalogamiento de media está llenando el bufer a una tasa R, y la ventana de congestión a través del tiempo está permitiendo que la bomba de media mande datos solo a una tasa S < R, entonces el buffer comenzará a llenarse. La fuente de catalogamiento de media debería entonces decrecer la tasa entrante al buffer. Un algoritmo de control de tasa es responsable de traducir las dinámicas de ocupación del buffer en un ajuste a la tasa de la fuente de catalogamiento de media para asegurar que el buffer no se desborda.

3.2 Control de Tasa
El algoritmo de control de tasa es una parte esencial de la estimación de ancho de banda. Durante periodos de congestion, la bomba de media no puede mandar mucha información a la red debido a la ventana de congestion de TCP. Cuando esto pasa, el buffer (de la figura del protocolo de internet amigable) comenzará a llenarse. En este caso, un algoritmo de control de tasa debe forzar a la fuente catalogadora de media a reducir la tasa entrando al buffer. Si el buffer subsecuentemente comienza a vaciarse, el control de tasa debería pedir un incremento en la tasa entrando al buffer desde la fuente. Claramente, las dinamicas del buffer modulan la tasa. Así, el estimado del ancho de banda disponible viene de el algoritmo de control de tasa pero es un resultado indirecto de las dinamicas de la ventana de congestion de TCP.

El período de muestreo de ocupación del buffer para el algoritmo de control de tasa depende del medio. Ya que el video MPEG consiste de varios tipos de frameworks diferentes cuyos tamaños varían mucho, las estimaciones de la ocupación del buffer deben ser tomadas como promedios sobre no menos que un intervalo de un segundo para evitar fluctuaciones momentáneas en la ocupación del buffer. Un periodo de muestro pequeño significa que el algoritmo de control de tasa se puede adaptar más rápidamente para cambios repentinos en la red. 

Las metas para un algoritmo de control de tasa en este ambiente, en orden de importancia, son:

1. Prevenir la sobrecarga del buffer, la cual causará retraso,
2. Converger rápidamente a una nueva tasa de salida,
3. minimizar el tamaño de las oscilaciones alrededor de la nueva tasa de salida, 
4. prevenir el bajo rendimiento del buffer, a menos que la fuente de media adaptable esté en su tasa máxima, y
5. mantener el buffer a la ocupación deseada.
 

Referencias
Enero 21, 1998


domingo, 21 de abril de 2013

Laboratorio Ubicuo, Actividad 7

La tarea de esta semana consiste en hacer un reporte sobre un artículo relacionado con los experimentos que mi equipo ha realizado para nuestro proyecto. En nuestro caso, el proyecto es el de las oficinas inteligentes, donde buscamos implementar RFID para registrar las actividades del usuario mientras el se mueve naturalmente en su ambiente de trabajo. Para mi tarea escogí un artículo llamado Designing for Usability and Safety in RFID-Based Intelligent Commuting Environments, escrito por los investigadores Shin'ichi Konomi, Tomonori Saito, Chang S. Nam, Takahito Shimada, Yutaka Harada y Kaoru Sezaki.

DISEÑO PARA LA SEGURIDAD Y LA USABILIDAD EN AMBIENTES DE DESPLAZAMIENTO INTELIGENTES BASADOS EN RFID

1. Introducción
Debido a que las tecnologías de comunicación y computación se integran cada vez más en nuestras vidas diarias tenemos la oportunidad de diseñar novedosos sistemas para mejorar la vida de los ciudadanos.

El desplazamiento es una actividad ubicua que toma lugar en la vida diaria de muchas personas. En el artículo se discute la necesidad social de las experiencias de desplazamiento de niños de escuela primaria, y se habla de un ambiente de desplazamiento inteligente en construcción que busca mejorar la seguridad usando marcadores de ubicación RFID y muchos dispositivos P2P móviles.

También se analizan problemas de seguridad y usabilidad en tal ambiente, y se propone  una aproximación integradora, la cual se discute en base a dos experimentos relevantes preeliminares.

2. Mejorando la seguridad en ambientes de desplazamiento
Japón ha enfrentado una urgente necesidad de prevenir crímenes en contra de niños. La mayoría de los niños de escuela primaria se trasladan a la escuela a pie y son vulnerables a crímenes debido a su inocencia.

Una tácica posible en prevenir crimenes contra niños podría ser medir y rastrear el comportamiento espacial de los niños. Se encontró que la mejor manera es en rastrear el posicionamiento del comportamiento espacial de los niños usando etiquetas electronicas, donde el método efectivo para detectar su desviación del camino escolar o rutinal sería el ámbito de hogar. Tales etiquetas electronicas (o marcadores de ubicación RFID) pudieran arrojar con mucha exactitud información de rastreo de ubicación.

También se les puede proveer a los niños de dispositivos móviles interactivos los cuales puedan detectar de manera confiable sus posiciones usando receptores GPS y marcadores de ubicación RFID. Por ejemplo, tal dispositivo podría ser usado para alertar al niño cuando ha caminado hacia un área peligrosa. Además, ellos pueden usar los dispositivos para revelar su ubicación sólo a las personas en quien ellos confían, para precaución y sensación de seguridad. 

3. Retos de diseñar para la usabilidad y seguridad
Tecnologías sofisticadas de mejora de seguridad no serán desplegadas exitosamente a menos que sean fáciles de usar. La carga de lidiar con un sistema difícil de usar podría impactar negativamente la seguridad. Lo que afecta potencialmente la usabilidad y seguridad es la complejidad del sistema.

Sistemas de mejora de seguridad basados en RFID existentes generalmente adjuntan etiquetas RFID a la gente, lo cual envía ID's unicos a los lectores RFID instalados en espacios físicos. En esta investigación se interesan particularmente en una configuración en "reversa" a la mencionada, en donde los espacios físicos son marcados con etiquetas RFID y a los usuarios se les da un amplio rango de contro usando dispositivos interactivos. Aunque pueda parecer que el hecho de cargar etiquetas RFID sería mucho más fácil que usar dispositivos interactivos complejos, la usabilidad de un ambiente de desplazamiento en conjunto no es necesariamente determinada por la simplicidad de cada dispositivo.

Así como otras aplicaciones de cómputo ubicuo, los sistemas de desplazamiento inteligentes basados en RFID están diseñados para estar integrados en el ambiente laboral. Por ello, las aplicaciones de cómputo ubicuo plantean un conjunto de retos únicos para la evaluación de usabilidad en varias dimensiones. Primero, se debe considerar la variabilidad de usuarios y sus usos.Segundo, los usuarios accesan servicios en muchas ubicaciones al mismo tiempo. Tercero, se necesita evaluar que tan bien los sistemas de cómputo ubicuo están integrados en los ambientes de trabajo físicos de manera que no interrumpan el flujo de trabajo natural del usuario. Finalmente, puede ser muy retador para algunos usuarios interactuar con un número de dispositivos que están distribuidos e interconectados en el ambiente.

4. Infraestructura para el "sensing" de contexto y el "sensemaking"

En esta sección se presenta un diseño de caso de una infraestructura de marcador de ubicación RFID integrativo y se discute como esta infraestructura soportaría patrones de uso evolutivos al facilitar tanto el "sensing" como el "sensemaking" de la información contextual. La infraestructura considera las practicas del diseño centradas en el usuario así como la mejora de seguridad y usabilidad incrementales en sistemas de mejora de seguridad compleja para niños de escuela.

4.1 Infraestructura de ubicacíon basada en RFID: un caso de diseño
En Japón el Instituto de Vigilancia Geográfica (GSI, por sus siglas en inglés) mantiene más de 100 mil BENCHMARKS en todo el país. Esto con el plan de integrar etiquetas RFID de corto alcance en cada BENCHMARK para facilitar el trabajo de vigilancia por tierra. Los encargados de este artículo están colaborando con el GSI para diseñar marcadores de ubicación RFID que puedan ser desplegados a gran escala para permitir servicios móviles novedosos.
Para poder capturar e intercambiar información sobre la ubicación donde sea y cuando sea, el sistema debe estar basado en una infraestructura de red que opere cuando sea y donde sea. Una infraestructura pasada en P2P sería lo más cercano a esta meta.
Dicha aproximación colecta y disemina información que incluye datos relevantes a la ubicación, lo que permite rutear e indexar información basada en las ubicaciones. Por ejemplo, información capturada de sensores de temperatura distribuidos puede ser facilmente acumulada e indexada en un servidor para crear un mapa representativo visual significativo.

4.2 Infraestructura integrativa
La infraestructura RFID presentada aquí permite dos tipos distintos de aplicaciones: aplicaciones "Sensing" y aplicaciones "Sensemaking". Aplicaciones "Sensing", capturan información contextual y automáticamente proveen a los usuarios de servicios e información "justo a tiempo". Las aplicaciones "Sensemaking" capturan información contextual y la transforman en representaciones que son facilmente comprensibles.

La infraestructura integrativa facilita los procesos de modificación iterativa centrados en el usuario al impulsar el diseño que considera la comunicación entre las herramientas "Sensing" de los usuarios finales y las herramientas "Sensemaking" de los diseñadores. La comunicación de estas herramientas soporta comunicación implicita de los humanos acerca de los problemas de usabilidad así como posibles soluciones.

La infraestructura puede soportar diferentes modelos de uso. Por ejemplo, permite a los usuarios finales usar tanto las aplicaciones "Sensing" como las aplicaciones "Sensemaking". Un servicio de navegación de peaton a veces combina instrucciones de paso a paso y una herramienta basada en mapas cercana a puntos de interes junto con las "huellas" de los usuarios.

5. Experimentos preliminares
Para poder ganar una vista más profunda sobre cómo el uso de aplicaciones "Sensemaking" novedosas pueden desenvolverse en el mundo real, se llevaron a cabo experimentos basados en GPS con niños de escuela primaria trasladandose de o hacia la escuela. Además se llevó a cabo un experimento que tuvo lugar en el campus de una universidad.

5.1 "Dando sentido" a los ambientes de desplazamiento.


Se llevó a cabo un estudio piloto donde se midió y se rastreó el comportamiento espacial de niños usando GPS. Ellos llevaban consigo un teléfono móvil equipado con servicio de ubicación GPS cuando se trasladaban de y hacia la escuela. Mientras recorrían su camino, el patrón espacial de cada niño fue examinado en busca de inconsistencias.

5.2 Posiciones "Sensing" y comunicación en base a puntos.

También se desarrolló y se probó un software que implementa comunicación basada en P2P y mecanismos de posicionamiento usand Direccionamiento Espacio-Temporal. Cada uno de los sujetos (adultos) caminaron hacia un área piloto de un edificio grande del campus de una universidad mientras cargaban una notebook y un Honeywell's DRM (Dead Reckoning Module), el cual integra un gyro, tres acelrómetros, tres magnetómetros, y un sensor de presión barométrica para así poder medir el movimiento de los peatones. El software corría sobre las computadoras personales, obteniendo información de los marcadores de ubicación inalámbricos y ajustando continuamente la información basada en los datos del DRM y los dispositivos de puertos.

También se midió con precisión la posición de los peatones usando siete scanners laser desplegados en el area piloto. Los scanners laser pueden rastrear simultáneamente muchos peatones con una precisión de posición de 4cm. Después se compararon las posiciones tomadas con los scanners lasers y con el prototipo. La precisión del dispositivo fue significantemente menor de lo que se esperaba (40m). Por ello se condujeron una serie de experimentos de seguimiento con un par de peatones. La precisión hallada fue menor a 10m. El cambio fue debido a errores humanos previos. Se planean experimentos adicionales con decenas de usuarios.

6. Discusión

Los datos recolectados en los experimentos preliminares respaldan la factibilidad de las aplicaciones "Sensemaking" y las aplicaciones "Sensing" para alumnos de escuelas.

Además, en el experimento, todo el proceso de instalar los sistemas fue abrumador, tomando meses para completarse. Para mejorar esto, la infraestructura integrativa podría considerar varias actividades además del "uso" tales como análisis de requerimientos, implementación, despliegue y evaluación.

También se halló que problemas de seguridad importantes aparecían cuando se permitía que marcadores RFID actualizaran sus datos de ubicación después que el servicio iniciaba, ya que atacantes pueden proveer una ubicación inválida o erronea a las etiquetas para así romper el funcionamiento normal de la infraestructura de ubicación. También usuarios maliciosos podrían manipular la información de ubicación de otros usuarios al compartir datos incorrectos deliberadamente. 

7. Conclusión

Ambientes de desplazamiento inteligentes complejos pueden introducir problemas de usabilidad que menguen la seguridad de los usuarios.Mirando mpas de cerca al sistema en construcción que propone mejorar la seguridad de niños de primaria, se propuso una aproximación integrativa para mejorar la usabilidad y proveer experiencias "sin fallos".

La gente puede usar aplicaciones "Sensemaking" para mejorar los ambientes físicos y sociales así como los sistemas de computación. De hecho, mejorar la usabilidad de desplazamiento y la seguridad no se trata tanto sobre la actualización de la tecnología sino de la co-evolución de las tecnologías, ambientes construidos y practicas sociales.

miércoles, 17 de abril de 2013

Extra Points

1. Actual

"There is nothing in the definition that tells you how to provide yourself with S and P, given some actual experiment."


2. Alignment
"The code string is shifted by the same amount in order to maintain alignment."

3. Arithmetic
"Binary coder (such as the Q-coder) are an important special case in arithmetic coding."

4. Binomial Distribution
""

5. Channel
"A channel is a communication device with two ends, an input end, or transmitter, and an output end, or receiver."

6. Condition
"This theorme may seem, at first glance, to be saying that all you have to do to find the capacity of a channel and the optimal input frequencies is to solve the capacity equations of the channel, the equations arising from the Lagrange Multiplier Theorem, and the conditionΣ)^n =1  pi = 1, for p1 ,..., p> 0".

7. Content
"Since the average information content per character is H(S), it follows that the source is emitting information at the rate r H (S) information units per unit time, on average."

8. Denote
"Let C denote the channel capacity."

9. Differ
"By the Law of Large Numbers, if N is large, the source words of lenght N in which the proportions of the source letters within the word differ markedly from the fj have very small probability, collectively."

10. Entire
"Furthermore, there is a waste of time involved: you have to wait until the entire source string is scanned and processed before you have to code for it."

11. Exact
"There are two inconveniences to be dealt with when there is a long run of no rescaling. The first is that we have to carry on doing exact computations of the endpoints α and α + ℓ with the smaller and smaller values of ℓ."

12. Fingerprint
""

13. Frequency
"We now return to the general case, with A ={a1,...,an} and ai haveing input frequency pi."

14. Implicit
"The usual theory of binary block codes starts from the implicit assumption that the relative source frequencies are equal."

15. Independent
"The hidden cost suffered here is fixed, independent of the lenght of the source text, and is, therefore, usually essentially negligible."

16. Inexact
""

17. Input

"Input frequency: Is the relative proportion of ocurrence of an input symbol ai. Let's say we have a memoryless channe with input alphabet A = {a1,..., an}, output alphabet B={b1,...,bn}, and transition probabilities qij, for i ∈ {1,...,n}. The input frequency of a character ai is denoted by pi.


18. Joint
"Similarly, the joint and conditional entropies are average values of certain kind of

19. Jump
"The sequence x, as seen by the Fourier transform, makes a considerable jump each time k goes from -9 to -9, -1 to 0, 7 to 8, 15 to 16, etc."

20. Matching
"This can provide very fast matching, but it significantly reduces the size of the dictionary."

21. Prime
"The constant 40543 which appears in the definition is prime, but is there any other reason for its choice?"

22. Recursive
"This feature of the utility is known as revursive or iterative compression, and will enable you to compress your data files to a tiny fraction of the original size."

23. Relative
"When p=0, the capacity is zero, and any relative input frequencies are 'optimal'. "

24. Success
"When speaking of some unspecified Bernoulli trial, we will call one possible outcome Success, or S, and the ohter Failure, or F."

25. Symmetric
"A binary symmetric channel (BSC, for short) is a memoryless channel with A = B = {0,1}; whichever digit, 0 or 1, is being transmitted, the probability p that it will get through correctly is called the reliability of the channel."

26. Typical
"Higher-order models may do better, where the necessary statistics are gathered from a sample of 'typical' text."

27. Sequence
The word v is called the leave of the parsing of W into a sequence of the si.

28. Binary
The most common sort of choice for source alphabet is: S = {0, 1} L , the set
of binary words of some fixed length L.

martes, 16 de abril de 2013

Rastreo de ubicación en exteriores e interiores

Esta semana tuvimos como tarea hacer un resumen sobre un artículo sobre el rastreo de la ubicación en exteriores e interiores. El artículo que yo elegí se encuentra aquí: http://www.sciencedirect.com/science/article/pii/S0926580508000186.



TÍTULO: UBIQUITOUS LOCATION TRACKING FOR CONTEXT-SPECIFIC INFORMATION DELIVERY ON CONSTRUCTION SITES

Los proyectos de construcción están repletos de información y requieren personal con acceso a ella en lo referente a planos, calendarios, etc. Ser conscientes del contexto del usuario puede facilitarnos el proceso de entrega del proyecto de construcción mediante un mecanismo que determine información relevante de un contexto en particular. La sensibilidad al contexto también puede ser usada para mejorar la seguridad, la logística y las practicas de salud y seguridad en los sitios de construcción. La ubicación es un aspecto importante de la sensibilidad al contexto. Una aplicación consciente del contexto puede utilizar el conocimiento de la ubicación de la persona u objeto para proveer información y servicios relevantes. En el artículo se argumenta que un sistema de rastreo de ubicación exitoso y confiable debe ser capaz de rastrear el contexto espacial de un usuario y entregar información contextual continuamente tanto en exteriores como en interiores para apoyar efectivamente proyectos de construcción. Además se presentan investigaciones que describen el uso de Redes de Area Local Inalámbricas (WLAN) para rastreo en interiores, y Sistemas de Posicionamiento Global (GPS) para rastreo del contexto espacial en exteriores. 

Introducción

Naturalmente los proyectos de construcción están repletos de información y esto requiere que el equipo de trabajo tenga acceso a la información del proyecto tal como planos, calendarios, presupuestos, etc. La naturaleza dinámica de los sitios de construcción también necesita el uso de maneras inteligentes de apoyar al personal de construcción. La entrega de información sensible al contexto permite capturar inteligentemente el contexto de usuario, para de esta manera eliminar las distracciones para los trabajadores en movimiento relacionadas con el alto nivel de información. También, la interacción del usuario con el sistema puede ser reducida usando el contexto como un mecanismo de filtrado para entregar solamente información relevante a los usuarios. Esto tiene el potencial de incrementar la usabilidad, al disminuir el nivel de interacción entre dispositivos móviles y el usuario final. 

Las aplicaciones sensibles al contexto utilizan el conocimiento de la ubicación del usuario o el objeto para proveer información y servicios relevantes, entradas de contrl de trabajo, y para medir la productividad del proyecto. Las tecnologías de rastreo de ubicación son clasificadaes en interiores y exteriores. Los beneficios de integrar ambas categorías para desarrollar un sistema de rastreo y de entrega de información del contexto no ha sido adecuadamente investigado en la industria de la construcción.

Trabajos relacionados
Computación sensible al contexto

La computación sensible al contexto es definida de características ambientales tales como la ubicación del usuario, la hora, la identidad, el perfin y la actividad para informar a la computadora de manera que esta puede proveer información al usuario que es relevante al contexto actual. La computación sensible al contexto permite que una aplicación móvil reciba información tal como Quién es el usuario, Qué está haciendo el usuario, Dónde está el usuario y que dispositivo está usando (en caso de usar uno)

El uso de sensibilidad al contexto para usuarios en movimiento ha sido demostrado en aplicaciones como museos, planeación de rutas, librerías y turismo, y también está siendo investigada en otros campos de la investigación de ciencia computacional incluyendo cómputo móvil, realidad aumentada, cómputo ubicuo e interacción humano-computadora.

Rastro en base a la orientación de la cabeza

En toda aplicación de entrega de información sensible al contexto desarrollada hasta ahora, tanto en interiores como en exteriores, el contexto espacial es definido simplemente por la ubicación del usuario. Otro atributo mayor, la orientación de la cabezax en 3D, es ignorado en los cálculos. En la siguiente figura se muestra como la orientación de la cabeza está definida por tres angulos y se muestra la linea de visión del usuario (hacia dónde está viendo el usuario).



Junto con la posición, la orientación 3D puede definir el contexto espacial del usuario con mucha más precisión de la que es posible con la posición solamente. Por ejemplo, rastrear la posición de un ingeniero en un sitio de construcción puede ayudar a determinar en qué piso de un edificio está ubicado el ingeniero. Sin embargo, esta información no es suficiente para concluir en que parte o sección del cuarto, o que componente en particular u objeto en ese cuarto el ingeniero está mirando actualmente.

Mientras que la posición global del usuario está siendo rastreada por un conjunto de dispositivos, la información de la orientación de la cabeza es una pieza esencial de información que también necesita ser rastreada continuamente. Solo sabiendo tanto la posición exacta y la orientación de la cabeza, la aplicación sensible al contexto puede entregar información precisa al usuario

Conclusión
El uso del rastreo de la ubicación de un usuario en sitios de construcción incrementa la seguridad de los trabajadores, puesto que siempre deben estar atentos a documentar toda la información, y esto puede distraerlos y descuidar su seguridad. Mediante un sistema ubicuo que rastree tanto su ubicación como el objeto de interés del usuario, se podrá eliminar la necesidad de que el mismo trabajador documente todo, y el sistema podrá tomar registro de qué hace el usuario, dónde lo hace, cómo lo hace, y con qué lo hace. Así el trabajador puede estár mas al tanto de su propia seguridad.

jueves, 11 de abril de 2013

Huffman's algorithm

For this week's homework, we had to implement huffman's algorithm for the compression of a given string.

HUFFMAN'S ALGORITHM
This is a method for the construction of minimun redundancy codes. It builds a binary tree with a minimum weighted path length from a set of given weigths. This algorithm is applicable to many forms of data transimission.

It consists in the following steps:

1. Scan the text that is going to be compressed, and count the occurrence of  each character.

2. Sort characters based on number of occurrences in the text.

3. Bulid Huffman tree based on the list of sorted characters.

4. Traverse the tree to determine the code words.

5. Scan text again and create a new text with the code words.

For a simple explanation of how this algorithm works, you can watch this video:

 


Next, is the code where I implemented this algorithms (based on a wikipedia example).

As you can see, the code is incomplete. I just reached the point where you get the nodes of the three (next I had to code each letter).

The tree of the wikipedia example is this:

And the result of my code is this, where it shows each node with its children.


References
Huffman's Algorithm
A simple video explanation
http://en.wikipedia.org/wiki/Huffman_coding
http://www.cprogramming.com/tutorial/computersciencetheory/huffman.html

martes, 9 de abril de 2013

Actividad 6: Simulación de ruteo en ns2

Para la tarea de esta semana tenemos que simular el ruteo en una topología de red con el programa ns2. Yo escogí hacer una topología de anillo.

ALGO DE TEORÍA

Topología
Esta topología es una de las más viejas, y tiene las siguientes ventajas:

- Fácil de instalar y reconfigurar
- Para añadir o quitar dispositivos solo hay que mover dos conexiones.
- Es una arquitectura muy compacta y pocas veces tiene conflictos con otros usuarios.
- Provee una organización de igual a igual para todas las computadoras.
- No disminuye el rendimiento cuando hay muchos usuarios.

Sin embargo, esta topología también tiene ciertas desventajas:

- Hay restricciones en cuanto a la longitud del anillo y también en cuanto a la cantidad de dispositivos conectados a la red.
- Todas las señales van en una sola dirección y para llegar a una computadora deben pasar por todas las computadoras del medio.
- Cuando una computadora falla altera toda la red.

Ruteo
En cuanto a los protocolos de ruteo existen dos clases principales: uno es el protocolo de vector de distancias, y el otro es el protocolo de estado de enlace. El último es el que se implementa en este ejemplo.

Este protocolo consiste en los siguientes pasos:
1. Descubre a sus vecinos y sus direcciones
2. Mide el costo a cada uno de sus vecinos.
3. Construye el paquete con la información que ha recolectado.
4. Lo envía a los demás routers.
5. Calcula la ruta mínima a dichos routers.

SIMULACIÓN

El código para la simulación de la topología en anillo es el siguiente:


Y la ejecución es la siguiente:
video


Referencias
http://gigatecno.blogspot.mx/2012/03/ventajas-y-desventajas-topologia-anillo.html

http://en.wikipedia.org/wiki/Link-state_routing_protocol

Retroalimentación

AUTOMÓVIL SEGURO

Creo que la idea de este equipo está muy abierta. Se quieren enfocar en 3 cosas: (1) Una especie de alarma inteligente, (2) Rastrear el auto en caso de robo, (3) Parking Tracker : rastrear tu auto en un estacionamiento. Siendo realistas podríamos decir que entre tantas materias que cursamos, a veces es difícil darse tiempo para una de estas opciones, tal vez sea mucha carga querer sacar 3 cosas diferentes. Pienso que deberían enfocarse en una sola de estas 3 cosas (aunque las últimas 2 van de la mano y son muy similares).

En cuanto a la alarma inteligente, en la presentación se mencionó que cuando la alarma del auto fuera activada, se recibiera una notificación en casa, y al menos en la presentación de su blog no menciona notificar al móvil estés donde estés, y pienso que esto sería esencial y aún más importanet que notificar a la casa, puesto que muchas personas pasan más tiempo en sus trabajos que en sus casas, y sería mejor enfocarse en notificar al móvil que a la casa.

Blog del equipo: http://ubicomputo.blogspot.mx/

COMPUTADORA INTELIGENTE

Me agrada la idea del bloqueo automático. Es similar a la característica de los celulares más nuevos de la línea galaxy de samsung, donde esta es aplicada para pausar automáticamente los videos. Tal vez haciendo un poco de investigación sobre lo que ya implementó samsung, este equipo pueda ampliar su proyecto a celulares y también enfocarse en seguridad de celulares y no sólo de computadoras.

El pausado inteligente del samsung galaxy es demostrado en este video:


Blog del equipo: http://aveoctavo.blogspot.mx/search/label/TemasSSI

LOCALIZACIÓN DE OBJETOS PERSONALES

La idea de este equipo la considero innovadora y creo que para los usuarios va a ser de mucha atracción. Me imagino que una aplicación así sería extremadamente útil en, por ejemplo, la universidad, en esos casos donde te olvidas de tu laptop o tu cargador o algo en algún salón y pides que lo reporten por el conmutador, pero claro que jamás va a aparecer. No se el equipo tenga contemplado algo a mayor escala como esto, o si solo han pensado en la casa del usuario, pero sería algo genial que o aplicaran a lugares más grandes como universidades o aeropuertos, así encontrarías tus pertenencias tenga quien las tenga.

Blog del equipo: http://gtdsoftwa.blogspot.mx/search/label/ComputoUbicuo

GALERÍA INTELIGENTE

Considero muy escasas las ideas de este proyecto. Pienso que algo muy útil sería que no solo el espectador pudiera ver las obras, si no que las obras "vieran" al espectador para detectar sus reacciones, y saber en qué obras los usuarios se interesan más, y si algunas de las obras deberían ser reemplazadas por la falta de interés.

Blog del equipo: http://ultimo-sem.blogspot.mx/search/label/Computo%20Ubicuo

CAMA INTELIGENTE

Este equipo, gracias a su estudio de campo, consideró toda posibilidad, y llegó a la conclusión de que al usuario no le gustaría una cama con sensores, y que lo más óptimo sería usar el smartphone para su aplicación.

Pienso que el equipo ha hecho un muy buen trabajo, tal vez la única sugerencia que podría dar serían cosas más vagas como que si la persona no se levanta después de un tiempo y cuenta con clima, la temperatura comience a subir mucho hasta que la persona ya no soporte estar acostado, o que un estereo suba mucho su volúmen. Solo son ideas vagas, este proyecto está muy bien analizado :P.

Blog del equipo: http://3-its.blogspot.mx/2013/03/avance-4.html


CASA INTELIGENTE (SEGURIDAD)

Una de las áreas en las que se enfoca este equipo es en sustituir la llave común de la casa por una llave inteligente. Mi única sugerencia para este equipo sería probar usar los celulares más nuevos que ya tienen incluido NFC para autentificar el acceso a la casa. Esto les facilitaría el trabajo en caso de que la llave inteligente sea un celular.

 
Blog del equipo: http://3-its.blogspot.mx/2013/03/avance-4.html

GARAGE INTELIGENTE

El equipo presenta varias sugerencias para lograr el control del garage de una manera moderna. Pienso que el enfoque debería ser la opción del smartphone. Esto porque es lo que los usuarios siempre cargan con ellos, y sería a lo que se adaptarían más facilmente. En el caso de códigos QR o etiquetas NFC, pienso que a muchos usuarios no les agradaría la idea de implementar algo desconocido.

Blog del equipo: http://obicomp.blogspot.mx/