Post on 29-Jul-2022
IoT – Visión general
Alcance
IoT - El internet de las cosas
Requisitos de diseño y planificación
IMT y IoT
Avances
Internet de las Cosas – IoT
▪ IoT (Algunas definiciones de la industria)
➢ Una red que conecta dispositivos (ya sea por cable o inalámbricos), o "cosas", que se caracteriza por el aprovisionamiento, administración y monitoreo autónomos. El IoT es innatamente analítico e integrado.
➢ IoT es la próxima evolución de Internet, que conecta a las personas, los procesos, los datos y las cosas desconectadas de su negocio actual (Cisco)
➢ Dispositivos IoT son capaces de transmisión de datos bidireccional (excluyendo sensores pasivos y etiquetas RFID). Incluye conexiones que utilizan múltiples métodos de comunicación como celular, corto alcance y otros. (GSMA).
➢ Sensores y actuadores conectados por redes a sistemas informáticos. Estos sistemas pueden monitorear o administrar el estado y las acciones de los objetos y máquinas conectados. Los sensores conectados también pueden monitorear el mundo natural, las personas y los animales ”(McKinsey)
IoT
➢ Resolución UIT ‐ R 66 IoT es un concepto que abarca varias plataformas, aplicaciones y tecnologías implementadas en una serie de servicios de comunicación por radio. ➢ Recomendación UIT ‐ T [Y.2060 renombrada como Y.4000]
Una infraestructura global para la sociedad de la información, que permite servicios avanzados mediante la interconexión de elementos (físicos y virtuales) basados en tecnologías de comunicación e información interoperables existentes y en evolución
Internet de las cosas - Definición de la UIT
➢ Cosas Fisicas Existen en el mundo físico y son capaces de ser detectados, activados y conectados. Ejemplo: robots industriales, bienes y equipos eléctricos.
➢ Cosas Virtuales Existe en el mundo de la información y se puede almacenar, procesar y acceder Ejemplo: contenido multimedia software de aplicación.
IoT – modelo de referencia
IoT y la Industria 4.0
La convergencia de IT y OT
• La tecnología de la información (IT) es
compatible con las conexiones a internet junto con los sistemas de datos y tecnología relacionados y se centra en el flujo seguro de datos a través de la organización
• La tecnología operativa (OT) monitorea y controla los dispositivos procesos en los sistemas operativos físicos (líneas de montaje, redes de distribución de servicios públicos, instalaciones de producción, sistemas de carreteras, etc.)
• Normalmente, La IT no se involucre con la producción y la logística de los entornos OT.
Los protocolos basados en IoT y estándares están ayudando a TI y OT a converger e impulsar nuevas
corrientes de valor económico
IoT
➢ Tecnologias inalambricas ➢ Diversidad de requisitos de aplicacion de IoT: ▪ Requisitos variables de ancho de banda (cuanta información se envía)
▪ Largo alcance vs corto alcance
▪ Varios requisitos de QoS (calidad de servicio)
El IoT y las tecnologías en la nube son las dos fuerzas imparables que promueven las capacidades digitales.
El espectro debe estar disponible en un rango de bandas de frecuencia para atender a varios casos.
¿Porqué IoT? ➢ Plataformas abiertas
▪ Diseñado para que la creación e implementación de aplicaciones sea más fácil, rápida, segura y más accesible para todos.
➢ Permite ▪ Para crear los sistemas de baja potencia, sensor de área amplia y / o red de actuadores
(WASN) para aplicaciones de comunicaciones de tipo de máquina (MTC), ciudades inteligentes y redes de sensores ubicuos (USN)
➢ Contribuye ▪ Para el desarrollo socioeconomico, como en la agricultura, el sector de la salud y muchos
mas.
➢ Gestion eficiente ▪ Adminstrae los servicios públicos de manera eficiente, como la energía inteligente, las
redes de agua y la gestión del transporte.
Casos de uso de IoT
Requisitos de diseño de IoT
Red IoT Impacto en el diseño de sistemas IoT
Escala Decenas de miles sensores en un sitio determinado; o millones distribuidos geográficamente Más presión sobre las arquitecturas de aplicaciones, carga de red, tipos de tráfico, seguridad, patrón de uso no estándar.
Puntos finales Amplia gama de sensores, actuadores y dispositivos inteligentes: IP o no IP Heterogéneos Intercambio diverso de velocidad de datos, factor de forma, capacidades de computación y comunicación,
……………………………………… protocolos heredados.
Accesibilidad - Visi Puede implementarse antes de la activación, tal vez o no se puede acceder a él bilidad de puntos una vez implementado finales Los dispositivos bridan servicios con poco o ningún control humano, errores difíciles de corregir, la administración de dispositivos es clave
Criticidad de los Critica de la vida humana (Salud), Infraestructura critica (Smart Grid)
Servicios La latencia estricta (10 ms para SG) y los requisitos de confiabilidad pueden desafiar / exceder las capacidades
de red actuales.
Privacidad Intención explicita de administrar mejor a los usuarios finales (eHealth) Los temas de privacidad se convierten en grandes obstáculos
Geografía Movimiento a través de las fronteras Cuestiones de numeración para identificación única
Opciones de conectividad de IoT
Requisitos de conectividad de red de IoT
Red IoT Impacto en el diseño de sistemas de IoT
Puntos finales de Con recursos muy limitados (memoria, calculo) Recursos restringidos Motivación de costos: calculo / memoria varias órdenes de magnitud inferior, capacidad limitada de
actualización remota de SW, protocolos de iluminación, seguridad.
Baja potencia Algunos tipos de puntos finales pueden estar en su mayoría ´´dormidos´´ y despertados cuando sea necesario Los sensores no se pueden conectar fácilmente a una fuente de alimentación, lo que reduce el tiempo de interacción entre dispositivos y aplicaciones
Incrustado Infraestructura civil inteligente, construcción, dispositivos dentro de seres humanos
Sensores desplegados en condiciones de operación seguras y hostiles, difíciles de cambiar sin afectar el
Sistema, seguridad
Longevidad Normalmente implementados de por vida, tienen que incorporar redundancia de dispositivos Esperanza de vida muy diferente, tasa de cambio de equipo en dominios empresariales de IoT mucho más baja que la industria de las TIC
Soluciones Técnicas de IoT
Revisar en la UIT en el punto 9.1 del orden del día de la CMR ‐ 19, número 9.1.8 (Comunicación de tipo de máquina - MTC)
Estudios sobre los aspectos técnicos y operativos de las redes y sistemas de radio, así como el espectro necesario, incluido el posible uso armonizado del espectro para respaldar la implementación de infraestructuras de comunicación de banda ancha y de tipo máquina de banda ancha
LoRA
BLE
NB‐IoT
Z‐WAVE
Weightless‐N
Weightless‐P
Bluetooth
NFC
RFID
802.11ah
eMTC
WAVIoT
Weightless‐W
802.11p
LTE V2X
Cellular M2M
Non- cellular M2M
Sig‐fox WIFI
ZigBee Ingenu
➢ Fijo y corto alcance ▪ RFID
▪ Bluetooth
▪ Zigbee
▪ WiFi
➢ Tecnologías de largo alcance ▪ Estándares No 3GPP (LPWAN)
▪ Estándares 3GPP
Necesidades de espectro IoT
➢ ¿Cuáles son las necesidades de espectro IoT?
▪ Determinado por los requisitos de rendimiento de cada aplicación, pero también por la latencia
• Para una eficiencia espectral dada (bps/Hz), cuanto más bajos sean los requisitos de
latencias, mayor será el ancho de banda necesario para enviar una cantidad
determinada de datos
▪ Si bien muchas aplicaciones de IoT no necesitan conexiones de alta velocidad y / o tienen requisitos de latencia muy estrictos, algunas sí (por ejemplo, cirugía remota)
➢ ¿En qué bandas de frecuencia?
▪ Determinado por el rango y los requisitos de cobertura de cada aplicación IoT, pero también por las necesidades de ancho de banda de las aplicaciones.
▪ Los requisitos de rango y cobertura también dependen de los escenarios de implementación
• Punto a punto, malla, transmisión, multidifusión, etc.
Manejo de interferencias Seguridad de la red
Fiabilidad
Reutilizar la infraestructura celular y el ecosistema de dispositivos para apps M2M/ IoT
Licenciamiento de espectro para IoT
Espectro para aplicaciones MTC/IoT
Espectro sin licencia Espectro licenciado
*Todos los dispositivos pueden tener acceso al espectro, sujeto al cumplimiento de las condiciones técnicas especificas en las regulaciones *Corto alcance y retraso tolerante
Red de operador móvil
Red dedicada
• Bajo costo / sin costos de licencia limites reglamentarios (restricciones EIRP)
• QoS no garantizada
Red privada personalizada para aplicaciones específicas M2M/IoT .
Uso del espectro para IoT - SRDs
Algunas tecnologías SRD ampliamente desplegadas en bandas Sub 6GHz
Implementaciones de IoT en espectro con licencia - IMT
450 470 703 733 788 791 821 832 862 880 915 925 960
LTE-Advanced Pro, LTE-MTC
NB-IoT EC-GSM
758
Necesidades de espectro de IoT
M2M
Tecnologías de Radiocomunicaciones
Tecnología Banda de espectro
NB‐IoT MBB bands
eMTC MBB bands
Sigfox 868MHz
LTE‐V2X MBB bands (Uu)
5.8,5.9GHz (PC5)
Bluetooth 2.4GHz
ZigBee 868/2450MHz
RFID 13.56/27.12/433/
860MHz ...
NFC 13.56MHz
Z‐WAVE 868 MHz
Ingenu 2.4GHz
Rango de frecuencia
• La banda sub-1 GHz es la más adecuada para la provisión eficiente de cobertura de área amplia;
Autorización
• Compartir espectro con autorización sin licencia para lograr requisitos de bajo costo y bajo consume de energía
• El espectro con licencia (exclusivo) es más adecuado para cobertura de área amplia y / o requisitos de mayor confiabilidad para aplicaciones sensibles al retardo
23
IMT‐ Espectro identificado
Definición
➢ Res. ITU‐R 56‐1: Denominación para las telecomunicaciones móviles
internacionales • Dado que la UIT es la entidad reconocida internacionalmente que tiene la responsabilidad exclusiva de
definir y recomendar los estándares y acuerdos de frecuencia para los sistemas IMT, con la
colaboración de otras organizaciones como organizaciones de desarrollo de estándares, universidades,
organizaciones de la industria y con proyectos de asociación, foros, consorcios y colaboraciones de
investigación, por lo tanto, la AR ‐ 15 debatió especialmente sobre la denominación de sistemas IMT.
• El término existente IMT ‐ 2000 sigue siendo relevante y debería seguir siendo utilizado;
• El término existente IMT ‐ Avanzada sigue siendo relevante y debe seguir
utilizándose;
• Sin embargo, para los sistemas, componentes del sistema y aspectos relacionados
que incluyen nuevas interfaces de radio que admiten las nuevas capacidades de los
sistemas más allá de IMT ‐ 2000 y IMT ‐ Avanzada, se aplica el término "IMT ‐ 2020"
• Además, se resolvió que el término "IMT" se consideraría el nombre raíz que abarca
todos los IMT ‐ 2000, IMT ‐ Avanzada y IMT ‐ 2020 colectivamente.
IMT (Telecomunicaciones Móviles Internacionales)
Los valores en las figuras anteriores son objetivos de investigación e investigación para IMT ‐ 2020 y pueden revisarse a la luz de estudios futuros. Más información está disponible en la Visión IMT ‐ 2020 (Recomendación UIT ‐ R M.2083
IMT Soporta IoT
Source: Forging paths to IMT‐2020 (5G), Stephen M. Blust, Chairman, ITU Radiocommunication Sector (ITU–R) Working Party 5D, Sergio Buonomo, Counsellor, ITU–R Study Group 5, ITU News, 02/2017
Entender las aplicaciones IMT
Consumidor – inalámbrico fijo
IMT Negocio
Computación Móvil
Arquitecturas de Aplicaciones Móviles Cliente: La Aplicación Móvil se desarrolla para que se instala
y se ejecute en un dispositivo móvil. Esta aplicación podría
acceder a recursos externos, como por ejemplo, la información
del clima.
Cliente – Servidor: La Aplicación Móvil se desarrolla en dos
partes, una que se instala y ejecuta en dispositivos móviles y
la otra que se instala y queda accesible en un servidor.
Cada Aplicación Móvil instalada en un dispositivo accede a la
aplicación disponible en el servidor.
Servidor Web: La Aplicación Móvil se desarrolla para que
se instale y quede accesible en un Servidor Web.
Desde el browser de un dispositivo móvil se accede a la
Aplicación Móvil instalada en el Servidor Web
Posibles formas de distribuir conceptos relacionados
a las Aplicaciones Móviles en las distintas
Arquitecturas
Aplicaciones Móviles
- Arquitectura Cliente -
La Aplicación Móvil se desarrolla para que se instale y se ejecute en un dispositivo móvil. Esta aplicación accede a recursos externos, como por ejemplo, la representación del espacio y los POIs.
Aplicaciones Móviles
- Arquitectura Cliente -
La Aplicación Móvil se desarrolla para que se
instale y se ejecute en un dispositivo móvil. La
representación del espacio y los POIs se
encuentran físicamente en el dispositivo móvil.
Aplicaciones Móviles
- Arquitectura Cliente-Servidor -
La Aplicación Móvil se desarrolla en dos partes, una que se instala y ejecuta en dispositivos móviles y la otra que se instala y queda accesible en un servidor.
Desde el servidor, se accede a recursos externos, como por ejemplo, la representación del espacio y los POIs
Aplicaciones Móviles
- Arquitectura Servidor Web -
La Aplicación Móvil se desarrolla para que se instale y quede accesible en un Servidor Web. Desde el browser de un dispositivo móvil se accede a la Aplicación Móvil instalada en el Servidor Web
Analizar para la Aplicación Móvil turística para una
Cuidad y la Aplicación Móvil para un Congreso
¿Qué arquitectura se ajusta mejor a cada
Aplicación Móvil?
¿Cómo se podrían distribuir cada uno de los
conceptos relacionados con las Aplicaciones
Móviles?
¿Qué arquitectura se ajusta mejor a la Aplicación Móvil
turística para una Ciudad? ¿Cómo se distribuyen cada uno de
los conceptos relacionados con las Aplicaciones Móviles?
Arquitectura
Cliente
Cliente – Servidor
Servidor Web
¿Qué arquitectura se ajusta mejor a la Aplicación Móvil
turística para una Ciudad? ¿Cómo se podrían distribuir cada
uno de los conceptos relacionados con las Aplicaciones Móviles?
Analizar:
¿Hay Conectividad?
Si, entonces se puede centralizar aspectos comunes a todos los usuario en un servidor
¿Se busca que los datos del usuario permanezcan en el dispositivo móvil?
Si,
Arquitectura Cliente-Servidor
¿Se busca independencia de plataforma?
Si,
Arquitectura Servidor Web
¿Se busca abarcar la mayor cantidad de usuario?
Si,
Arquitectura Servidor Web
¿Qué arquitectura se ajusta mejor a la Aplicación Móvil
turística para una Ciudad? ¿Cómo se podrían distribuir cada
uno de los conceptos relacionados con las Aplicaciones Móviles?
Analizar:
¿Hay Conectividad?
No,
Arquitectura cliente
¿Existe información de los museos que se pueda reutilizar?
¿Cuál es el tiempo que el usuario va a usar la Aplicación
Móvil? ¿Quiere instalarse una aplicación?
¿Qué arquitectura se ajusta mejor a la Aplicación Móvil para
un Congreso? ¿Cómo se podrían distribuir cada uno de los
conceptos relacionados con las Aplicaciones Móviles?
Arquitectura
Cliente
Cliente – Servidor
Servidor Web
¿Qué arquitectura se ajusta mejor a la Aplicación Móvil para
un Congreso? ¿Cómo se podrían distribuir cada uno de los
conceptos relacionados con las Aplicaciones Móviles?
Analizar:
¿Hay Conectividad?
Si, entonces se puede centralizar aspectos comunes a todos los usuario en un servidor
¿Se busca que los datos del usuario permanezcan en el dispositivo móvil?
Si,
Arquitectura Cliente-Servidor
¿Se busca independencia de plataforma?
Si,
Arquitectura Servidor Web
¿Se busca abarcar la mayor cantidad de usuario?
Si,
Arquitectura Servidor Web
¿Qué arquitectura se ajusta mejor a la Aplicación Móvil
para un Congreso? ¿Cómo se podrían distribuir cada uno de
los conceptos relacionados con las Aplicaciones Móviles?
Analizar:
¿Hay
Conectividad? No,
Arquitectura cliente
¿Existe información del congreso que se pueda reutilizar?
¿Cuál es el tiempo que el usuario va a usar la
Aplicación Móvil? ¿Quiere instalarse una aplicación?
Modelo del Usuario
Modelo del Usuario
Representa aquella información del usuario que es relevante para la aplicación
La instanciación del Modelo del Usuario va a contener
información de un usuario determinado
Modelo de Dominio
Modelo de Dominio
Representa aquella información propia de la Aplicación Móvil, y es acorde a la naturaleza de la misma
La instanciación del Modelo de Dominio va a contener
información de la Aplicación Móvil, la cual permitirá que la aplicación funcione de determinada manera (por ejemplo, brindar información de un POI)
Analizar para la Aplicación Móvil turística para una
Cuidad y la Aplicación Móvil para un Congreso
¿Qué información habría que representar
en el Modelo del Usuario?
¿Qué información habría que representar
en el Modelo de Dominio?
Aplicaciones Móviles - Contexto -
Una definición de Contexto …
[Dey,2000] Dey, A. K.: Providing Architectural Support for Building Context-Aware Applications. PhD thesis, Georgia Institute of Technology, 2000. Director: G. D. Abowd
El contexto es cualquier información que pueda ser utilizada para caracterizar la situación de una entidad. Una entidad puede ser una persona, un lugar o un objeto que es considerado relevante para la interacción entre el usuario y una aplicación, eventualmente incluyendo al usuario y a la aplicación misma [Dey,2000]
Contexto
El concepto de contexto no se aplica exclusivamente a Aplicaciones Móviles sino que abarca diferentes tipos de aplicaciones
Por ejemplo,
Aplicaciones para casas inteligentes
Valor de Temperatura
Intensidad de Luz
Monitoreos médicos
Valor de presión arterial
Valor de ritmo cardíaco
NOTA: Se va focalizar sólo en los aspectos de contexto importantes desde el punto de vista de las Aplicaciones Móviles (que contemplan la posición del usuario para dar una respuesta).
Ejemplos de contexto
Identidad
En el caso que la Aplicación Móvil considere la identidad del usuario para brindarles información diferente a cada uno
Por ejemplo,
HasleInteractive
Brindarle a cada grupo sus preguntas. Es decir, cuando un grupo está en una posición recibe la pregunta acorde a su grupo (identidad)
Ejemplos de contexto
Información espacial del dispositivo
En el caso que la Aplicación Móvil considere la información espacial del dispositivo (posición, orientación, etc.) para brindarle a los usuarios información diferente
Por ejemplo,
Metro de Paris
Brindar información acorde a la posición, orientación e inclinación del dispositivo
Ejemplos de contexto
Actividad del usuario
En el caso que la Aplicación Móvil considere la actividad del usuario (caminando, parado en frente de, en reunión, etc.) para brindarle a los usuarios información diferente.
Por ejemplo,
HasletInteractive
Cuando el alumno lee un código de barra, se puede deducir que el alumno esta parado en una pregunta. En este momento, no se le debe actualizar el mapa, ya que está parado leyendo la pregunta
Brindar, por ejemplo, un mapa cuando el alumno está
caminando
Ejemplos de contexto
Agenda del usuario
En el caso que la Aplicación Móvil considere la agenda del usuario para brindarle a los usuarios información diferente
Información del ambiente
En el caso que la Aplicación Móvil considere la información del ambiente (temperatura, nivel de ruido, etc.) para brindarle a los usuarios información diferente
Información temporal
En el caso que la Aplicación Móvil considere la información temporal (día de la semana, hora, estación del año, etc.) para brindarle a los usuarios información diferente
Ejemplos de contexto
Situación social del usuario
En el caso que la Aplicación Móvil considere la situación social del usuario (que amigos/conocidos tengo cerca, etc.) para brindarle a los usuarios información diferente.
Disponibilidad de los recursos
En el caso que la Aplicación Móvil considere la disponibilidad de los recursos (batería, pantalla, ancho de banda, etc.) para brindarle a los usuarios información diferente.
Ejemplos de contexto
Hasta ahora, los ejemplos de contexto que vimos estaban dados en base al usuario (o a su dispositivo) o al ambiente que rodea al usuario
Los Puntos de Interés (PoI) pueden tener información de
su contexto
Por ejemplo,
Metro de Paris
Cada comercio puede tener: su posición, su horario de apertura y cierre
Contexto
No todas las aplicaciones necesitan tener en cuenta la misma información de contexto
Por ejemplo,
El Metro de Paris tiene en cuenta del dispositivo: la posición, orientación e inclinación
Layar tiene en cuenta del dispositivo: la posición y orientación
Cada tipo de Aplicación Móvil, definirá cuales son los contextos
relevantes acorde a la naturaleza de cada aplicación. Se puede definir información de contexto relativa al: usuario, dispositivo, ambiente que rodea al usuario, PoI
Contexto – Una posible Taxonomía
[Emmanouilidis et. al, 2013] Emmanouilidis, C., Koutsiamanis, R. A., & Tasidou, A. (2013). Mobile guides: Taxonomy of architectures, context awareness, technologies and applications. Journal of Network and Computer Applications, 36(1), 103-125.
Contexto – Una posible Taxonomía
Uso real de los contextos según el relevamiento realizado en [Emmanouilidis et. al, 2013]
Contexto
Los valores de contexto (del usuario, del dispositivo, del ambiente, de los Puntos de Interés, etc.) le sirven a la Aplicación Móvil para brindar, al usuario, información acorde a dichos valores
¿Qué pasa cuando esos valores de contexto cambian?
La Aplicación Móvil
Puede no reflejar el cambio hasta que el usuario interactúa nuevamente con la aplicación
Puede reflejar el cambio automáticamente en la información que visualiza el usuario. Es decir, la aplicación cuenta con un mecanismo que le permite detectar el cambio y actualizar (acorde a este nuevo valor) la información al usuario. Este tipo de aplicaciones se conoce como sensibles al contexto (context-aware)
Contexto
Una definición de aplicación sensible al contexto:
[Schilit, 1994] Schilit, B.: A System Architecture for Context-Aware Mobile Computing. PhD thesis, Columbia University, 1994.
Las aplicaciones sensibles al contexto cambian dinámicamente o adaptan
su comportamiento basándose en el contexto de la aplicación o del
usuario [Schilit, 1994]
Contexto
En particular, ¿Qué pasa cuando el valor del contexto de posicionamiento cambia?
La Aplicación Móvil
Puede no reflejar el cambio hasta que el usuario interactúa nuevamente con la aplicación
Este tipo de aplicación se conoce como basadas en posicionamiento (Location-Based)
Puede reflejar el cambio automáticamente en la
información que visualiza el usuario
Este tipo de aplicación se conoce como sensibles a la posición (Location-Aware).
El Posicionamiento
como un contexto
¿Qué es posicionar?
Asignar una posición a un elemento
¿Cómo indico una posición?
En relación a la Tierra
Mediante etiquetas autoexplicativas
Posicionamiento
¿Cómo indico una posición?
En relación a la Tierra
¿Qué es posicionar puntualmente en relación a la Tierra?
Es asignar una única coordenada (relacionada a la Tierra) a un elemento. Esto hace que la posición no sea ambigua
Latitud: 51.45, Longitud: -2.595
Posicionamiento
¿Cómo indico una posición?
Mediante etiquetas autoexplicativas
En Argentina
En la plaza San Martín
Etiqueta ambigua!
Etiqueta ambigua!
Etiqueta ambigua!
En el país Argentina
En la plaza San Martín,
La Plata, Argentina
En el Aula 2, Facultad de Informática, UNLP
¿Qué es posicionar mediante etiquetas autoexplicativas?
Es asignar a un elemento una etiqueta autoexplicativa no ambigua. Las etiquetas autoexplicativas brindan una semántica intuitiva para el usuario.
Aula 2
Posicionamiento
¿Es suficiente con conocer la posición del usuario (ya sea en relación a la Tierra o mediante etiquetas autoexplicativas)?
¿Cómo se puede enriquecer la posición?
Considerando, además la orientación del dispositivo
Existen Aplicaciones Móviles que funcionan considerando la posición del usuario enriquecida con la orientación del dispositivo, para brindar información más precisa
Posicionamiento
Uno de los autores más relevantes sobre el modelado del
posicionamiento es Leonhardt. Plantea, entre otras cosas, que la representación del posicionamiento puede ser muy variada, y de alguna manera todas estas representaciones deben de interoperar dentro de la aplicación. Su trabajo más citado es:
Leonhardt, Ulf, 1998. Supporting location-awareness in open distributed systems. Ph.D. Thesis, Dept. of Computing, Imperial College.
Analizar para la Aplicación Móvil turística para una
Cuidad y la Aplicación Móvil para un Congreso
¿Qué contextos son relevantes en cada
Aplicación Móvil? ¿Qué información habría
que representar en el Modelo de
Contexto?
Una forma de
Modelar Contexto
Una forma de Modelar Contexto
En [Fortier et al., 2010] se propone lo siguiente:
[Fortier et al., 2010] Andrés Fortier, Cecilia Challiol, Gustavo Rossi and Silvia Gordillo: Physical Hypermedia: a Context-Aware Approach. In Proceedings of the CAiSE'07 Workshops and Doctoral Consortium, 2007, Vol. 2, pp. 499-513.
Veamos cómo se obtienen los
valores de contexto
Contexto
Los valores de contexto se pueden:
Deducir acorde a las actividades que realiza el usuario de la aplicación Por ejemplo,
Si eligió ir a un determinado lugar, se puede deducir que va a caminar
Si leyó un código de barra, se puede deducir que esta parado frente a un POI
Tomar a partir de sensores disponibles Por ejemplo,
Sensores del dispositivo (posición, orientación e inclinación)
Sensores de temperatura externos al dispositivo
Aplicaciones Móviles - Sensores -
Aplicaciones Móviles - Sensores -
La Aplicación Móvil puede ser utilizada en lugares:
Indoor
Outdoor
Indoor / Outdoor (combinados)
El lugar donde se usará la Aplicación Móvil condiciona el
Mecanismo de Sensado de posicionamiento que se puede utilizar
Mecanismo de Sensado - Posición -
Los Mecanismos de Sensado según [Emmanouilidis et al., 2013] se pueden clasificar en:
Directos: No requieren intervención del usuario, son transparentes para él, por ejemplo el GPS
Indirectos: Requieren alguna intervención del usuario, por ejemplo la lectura de un código 2D
[Emmanouilidis et al., 2013] Emmanouilidis, C., Koutsiamanis, R., Tasidou, A.: Mobile guides: Taxonomy of architectures, context awareness, technologies and applications. Journal of Network and Computer Applications, 2013,Vol. 36, Nº 1, pp. 103-125
Mecanismos de Sensado para determinar la
posición del usuario
Mecanismo de Sensado - Posición -
GPS
Brinda una posición en relación a la Tierra (Lat-Long)
Mayor cobertura en áreas outdoor, presenta problemas en áreas con edificios muy altos o de gran vegetación ya que la señal rebota
El receptor de GPS esta embebido en el dispositivo móvil
La posición se obtiene a partir de analizar las señales recibidas
Mecanismo de Sensado - Posición -
Código de barra 2D (tag)
Brinda una etiqueta que debe ser interpretada (url, texto, teléfono, etc.)
Se usa tanto en espacios outdoor como indoor
El lector de código de barra está instalado en el dispositivo
La posición se obtiene a partir de la interpretación de la lectura del código de barra
Mecanismo de Sensado - Posición -
Wi-Fi
Posición relativa a la Tierra o como etiqueta en relación a una grilla preestablecida
Se usa tanto en espacios outdoor como indoor
El receptor Wi-Fi está en el dispositivo móvil
La posición se obtiene a partir de analizar las señales recibidas
El posicionamiento se resuelve en el dispositivo móvil
El posicionamiento se resuelve en un servidor externo
Mecanismo de Sensado - Posición -
Red de antenas de telefonía móvil de un proveedor
Brinda una posición en relación a la Tierra (Lat-Long)
Se usa tanto en espacios outdoor como indoor
El receptor de antenas esta embebido en el dispositivo móvil
La posición se obtiene a partir de analizar las posiciones/señales de las antenas captadas
La posición se obtiene de la torre a la que se conecta el dispositivo móvil
El posicionamiento se resuelve en el
dispositivo móvil a partir de las posiciones de las torres que recepciona
Mecanismos de sensado – Posición -
En resumen, algunos Mecanismos de Sensado para determinar la posición del usuario, son:
GPS
Código de barra 2D (tag)
Wi-Fi
Red de antenas de telefonía móvil de un proveedor
¿Cómo las Aplicaciones Móviles toman los
valores de los sensores?
¿Cómo las Aplicaciones Móviles toman,
por ejemplo, el valor del GPS?
Mecanismos de Abstracción
Analizar para la Aplicación Móvil turística para una
Cuidad y la Aplicación Móvil para un Congreso
¿Qué Mecanismo de Sensado se puede
usar en cada Aplicación Móvil?
Qué es la Separación de Concerns
Conceptos Generales
Concern = Tema de interés
Separación de concerns
Desacoplar una “problemática” en distintos temas de interés
Es un concepto típico en la programación orientada a objetos
Ej. MVC (Model-View-Controller)
Permite mejorar la evolución y el mantenimiento del software
Cada concern se encarga de resolver lo que le es propio
El Modelo del Usuario, el Modelo de
Dominio y Modelo de Contexto se pueden
tratar como concerns diferentes
Dinámica de la Aplicación
Dinámica de la Aplicación
En [Kjeldskov and Paay, 2007] se proponen distintas dinámicas relacionas a Guías Móviles basadas en posicionamiento
Cada dinámica se presenta usando la idea de metáfora (a partir de un concepto conocido explicar algo no conocido) de juegos de la vida real
5 metáforas de Guías Móviles (basadas en posicionamiento):
Búsqueda del Tesoro (Treasure Hunter)
Dominó (Dominos)
Rompecabezas (Jig-Saw Puzzles)
Palabras Cruzadas (Scrabble)
Recolectando Mariposas (Collecting Butterflies)
Veamos una descripción conceptual de cada
una de las cinco Metáforas de Guías Móviles
basadas en posicionamiento brindadas por los
autores en [Kjeldskov and Paay, 2007], y
nuestra representación gráfica de las mismas
Para una mejor comprensión de los conceptos involucrados en
cada metáfora, se incluye la representación del usuario
Dinámica de la Aplicación
- Metáfora de Búsqueda de Tesoro -
Juego de Búsqueda del Tesoro: consiste en hallar un tesoro siguiendo una serie de pasos fijos y preestablecidos de acuerdo a un hilo conductor
[Kjeldskov and Paay, 2007]
Metáfora Búsqueda del Tesoro: consiste de una serie de partes (cada una de ellas asociada a una posición física) relacionadas linealmente (secuencia preestablecida) y semánticamente para alcanzar un objetivo determinado
Nuestra representación gráfica de la metáfora (considerando cómo el usuario recolecta las piezas)
Dinámica de la Aplicación
- Metáfora de Dominó -
Juego de Dominó: consiste de un número fijo de fichas. Se coloca una ficha inicial y a partir de ese momento, la siguiente ficha debe estar relacionada con la anterior. En este juego existen diversas fichas como posibles siguientes
[Kjeldskov and Paay, 2007]
Metáfora Dominó: consiste de una serie de partes (cada una de ellas asociada a una posición física) relacionadas semánticamente. Para una parte determinada hay un conjunto de posibles partes sucesoras
Nuestra representación gráfica de la metáfora (considerando cómo el usuario recolecta las piezas)
Dinámica de la Aplicación
- Metáfora de Rompecabezas -
Juego de Rompecabezas: consiste de un número fijo de piezas que en su conjunto constituyen un todo
[Kjeldskov and Paay, 2007]
Metáfora Rompecabezas: consiste de una serie de partes (cada una de ellas asociada a una posición física) relacionadas semánticamente. Una vez obtenidas todas las partes (sin un orden preestablecido), se logra conocer la semántica completa
Nuestra representación gráfica de la metáfora (considerando cómo el usuario recolecta las piezas)
Dinámica de la Aplicación
- Metáfora de Palabras Cruzadas -
Juego de Palabras Cruzadas: consiste de un número fijo de piezas (con letras) cuyo objetivo es usarlas para formar palabras
[Kjeldskov and Paay, 2007]
Metáfora Palabras Cruzadas: consiste de una serie de partes (cada una de ellas asociada a una posición física) relacionadas semánticamente. Una vez obtenido un subconjunto de partes (sin un orden preestablecido), se logra conocer su semántica
Nuestra representación gráfica de la metáfora (considerando cómo el usuario recolecta las piezas)
Dinámica de la Aplicación
- Metáfora Recolectando Mariposas -
Juego de Recolección de Mariposas: Dada una red, se recolectan mariposas en vuelo
Metáfora Recolectando Mariposas: consiste de una serie de partes (cada una de ellas asociada a una posición física) las cuales no están relacionadas semánticamente. Cada una de las partes posee información autocontenida
[Kjeldskov and Paay, 2007]
Nuestra representación gráfica de la metáfora (considerando cómo el usuario recolecta las piezas)
Dinámica de la Aplicación - Resumen
Para ampliar la lectura acerca de las metáforas presentadas, se sugiere leer el paper:
[Kjeldskov and Paay, 2007] Kjeldskov, J. and Paay, J. 2007. Augmenting the City with
Fiction: Fictional Requirements for Mobile Guides. In Proceedings of Workshop on Mobile Guides, Mobile HCI 2007, Singapore.
¿Qué estructuras identificamos en la representación
gráfica de las metáforas?
Secuencial Lineal, Secuencial con Bifurcación y de Conjunto
En el caso del Conjunto, se debe analizar que las piezas son recorridas de
manera total o parcial, y si las mismas son autocontenidas o no
A partir de analizar el paper [Kjeldskov and
Paay, 2007] pudimos determinar que las
dinámicas presentadas para Guías Móviles
(basadas en posicionamiento) se pueden
generalizar y usar en Aplicaciones Móviles, de
este modo podemos interpretar a cada pieza
como un punto de interés de dicha aplicación
En el ejemplo de la Aplicación Móvil
Turística para una Ciudad ¿Cómo creen que
se llega a mostrar el mapa de la ciudad?
¿Y los mapas de los museos?
Usando alguna Representación del Espacio
Representación del Espacio
La Representación del Espacio puede seguir alguno de los siguientes modelos
Raster
Vectorial
Representación del Espacio
Presentaremos los dos modelos mencionados (Raster y Vectorial) usando como ejemplo el siguiente espacio físico:
Representación del Espacio: Raster
Representación del Espacio: Raster
El espacio a representar se modela con al menos una matriz rectangular (preferentemente cuadrada). En caso de superposición de elementos, se usan matrices diferentes, una por cada elemento que ocupa la misma posición.
Cada matriz se divide en celdas de igual tamaño entre sí
(preferentemente cuadradas), donde cada celda representa un único valor
Un ejemplo de estructura de datos para almacenar una matriz
cuadrada es el árbol QuadTree
Un ejemplo de estructura de datos para almacenar una matriz
rectangular es “Run-Length Encoding”
Este modelo se usa para representar imágenes satelitales
Representación del Espacio: Vectorial
ai: Arcos Ni: Nodos
PA, PB, PC y PE: Polígonos
Representación del Espacio: Vectorial
Representación del Espacio: Vectorial
El espacio se modela identificando objetos a representar mediante alguno de los siguientes tipos de elementos: arcos, nodos o polígonos
En caso de superposición de elementos no se ve afectada la
representación ya que esto queda expresado en las coordenadas
El Modelo Vectorial puede o no contemplar topología (relación
espacial entre los elementos que hay a derecha y a izquierda)
La representación basada en Modelo Vectorial más usada es la
de archivos Shapefile (ESRI)
Las estructuras de datos del Modelo Vectorial, son más
complejas de armar que las del Modelo Raster
Libro sugerido para ampliar los modelos vistos: Aronoff, S. Geographic Information System: A Management Perspective 1989. WDL Publications. Otawa, Canada.
Representación del Espacio
¿Siempre es necesario crear ad-hoc un modelo de Representación del Espacio?
En caso de disponer de un servicio externo accesible, la Aplicación Móvil puede acceder al mismo de alguna manera (api, web services, etc.)
Por ejemplo: API de Google Static Maps
Generalmente estos servicios disponibles no brindan toda la
representación del espacio, simplemente proveen servicios de consulta, que brindan imágenes o información acotada
Un caso particular de Representación del
Espacio podría ser usar una imagen
referenciada, en este caso la imagen no
cuenta con ninguna información del espacio
en sí, y simplemente sirve para ubicar al
usuario o a los PoI sobre la misma
Representación del Espacio
No siempre es necesario contar con una Representación del Espacio usando el Modelo Raster o Vectorial
Se puede usar una imagen referenciada (con coordenadas en relación a la Tierra o relativas a una grilla) para, por ejemplo, graficar la posición actual sobre ella
(-57.970262,-34.913279) (0,0)
(-57.938118,-34.928656) (600,600)
¿Cómo incorporamos en una Aplicación Móvil
la Representación del Espacio?
• Se usa una representación basada en Modelo
Raster o Vectorial
• Se utiliza un servicio externo accesible
• Se usa una imagen referenciada
Nota: Una Aplicación Móvil podría combinar modelos de Representación del Espacio entre sí o con imágenes referenciadas para obtener las mejores características de cada uno de ellos
¿Cómo se indica la posición del usuario
sobre un mapa?
¿Influye la Representación del Espacio?
Veamos distintos ejemplos de
Representación del Espacio y las fases de
la aplicación móvil para visualizar la posición
del usuario en un mapa
Visualizar la posición del usuario
Por ejemplo, usando un modulo que tiene definido un Modelo Raster, este modulo además puede permitir la manipulación de los datos almacenados
Asumimos, por ejemplo, que este modulo posee una función que dada una celda dibuja al usuario sobre el mapa
Visualizar la posición del usuario
Por ejemplo, usando un modulo que tiene definido un Modelo Vector, este modulo además puede permitir la manipulación de los datos almacenados
Asumimos, por ejemplo, que este modulo posee una función que dada una coordenada dibuja al usuario sobre el mapa
Visualizar la posición del usuario
Por ejemplo, usando un servicio existente, en este caso particular, el servicio de la API de Google Static Maps. Este servicio dibuja markers sobre un mapa, se deberá indicar un marker adecuado para que se interprete como usuario
Tener en cuenta que otros servicios podrían requerir pasar el dato de GPS a un valor entendible por el servicio a usar
Visualizar la posición del usuario
Por ejemplo, usando una imagen referenciada
Manualmente dibujar al usuario sobre la imagen referenciada
En el caso de ser una imagen referenciada usando coordenadas en relación a la tierra, la conversión del dato del GPS no es necesaria
¿Qué involucra la representación de un PoI
acorde a la Representación del Espacio?
Representación de los PoI
La posición de un PoI se indica acorde a un espacio
Representación de los PoI
La posición de un PoI se indica acorde a un espacio
Representación del Espacio, por ejemplo,
Modelo Raster
La posición del PoI se indica con una o varias celdas
Modelo Vectorial
La posición del PoI se indica con un arco, un nodo o un polígono
Imagen referenciada
La posición del PoI se indica con una o varias coordenadas
Analizar para la Aplicación Móvil turística para una
Cuidad y la Aplicación Móvil para un Congreso
¿Qué dinámica se podría usar en cada
Aplicación Móvil?
¿Cómo se podría Representar el Espacio
en cada Aplicación Móvil? ¿y los PoI?
Aplicación Móvil -Conceptos Relacionados-
¿Cómo integraría todos los conceptos
analizados en relación con la Aplicación
Móvil turística para una ciudad ?
¿Cómo integraría todos los conceptos
analizados en relación con la Aplicación
Móvil para un Congreso?
Algunos lenguajes para el desarrollo de
Aplicaciones Móviles en el marco de las
Arquitecturas presentadas
Lenguajes de Desarrollo
Cliente Cliente - Servidor Servidor Web
Nativo:
Android OS “Java” Symbian OS C++ iOS Objective C
No Nativo:
JavaME (además es multiplataforma)
En el cliente:
Nativo No Nativo
En el Servidor:
Ej.: Aplicación Java
(debe existir un mecanismo de comunicación entre el cliente y el servidor, Ejs.: http y bluetooth)
En el cliente:
Sólo se requiere de un browser Web instalado
En el Servidor:
Ej.: Aplicación Web Java
(el mecanismo de comunicación es provisto por el Browser Web)