ES2402005B1 - CUSTOMIZABLE MULTIMEDIA DIGITAL FRAMEWORK BY USER IDENTIFICATION - Google Patents
CUSTOMIZABLE MULTIMEDIA DIGITAL FRAMEWORK BY USER IDENTIFICATION Download PDFInfo
- Publication number
- ES2402005B1 ES2402005B1 ES201131275A ES201131275A ES2402005B1 ES 2402005 B1 ES2402005 B1 ES 2402005B1 ES 201131275 A ES201131275 A ES 201131275A ES 201131275 A ES201131275 A ES 201131275A ES 2402005 B1 ES2402005 B1 ES 2402005B1
- Authority
- ES
- Spain
- Prior art keywords
- users
- user
- user identification
- php
- content
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/00127—Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- User Interface Of Digital Computer (AREA)
- Information Transfer Between Computers (AREA)
Abstract
El marco digital multimedia personalizable por medio de identificación de usuarios comprende un dispositivo capaz de mostrar en una pantalla, a modo de presentación sucesiones de contenidos multimedia asociados a uno o varios usuarios registrados en el dispositivo, atendiendo a un mecanismo de detección de presencia e identificación de usuarios. Mediante este mecanismo, el dispositivo determina qué usuarios se encuentran en la vecindad del marco y adapta la presentación de contenidos a las preferencias de dichos usuarios. Comprende además un sistema de gestión que permite administrar la información referente a usuarios y contenidos dados de alta en el dispositivo, así como configurar las preferencias de los diferentes usuarios en relación con la presentación de contenidos. Esto permite, entre otras cosas, personalizar el ambiente de viviendas domóticas y otros entornos inteligentes en función de las preferencias de los usuarios que se encuentren en el entorno en cada momento.The customizable multimedia digital frame by means of user identification comprises a device capable of displaying in a screen, as a presentation successions of multimedia contents associated with one or more users registered in the device, attending to a presence detection and identification mechanism of users. Through this mechanism, the device determines which users are in the vicinity of the framework and adapts the presentation of content to the preferences of said users. It also includes a management system that allows managing information regarding users and content registered on the device, as well as setting the preferences of different users in relation to the presentation of content. This allows, among other things, to customize the home automation environment and other intelligent environments based on the preferences of the users that are in the environment at all times.
Description
Marco digital multimedia personalizable por medio de identificación de usuarios Customizable multimedia digital framework through user identification
Esta invención se encuadra dentro de los sistemas de personalización de servicios para el usuario en entornos inteligentes (domótica, inmótica, urbótica, ...), y en concreto dentro de los sistemas para la presentación de sucesiones de contenidos multimedia a los usuarios, cuyo principal exponente hoy día son los marcos de fotos digitales. This invention falls within the systems of personalization of services for the user in intelligent environments (home automation, inmotic, urbotic, ...), and specifically within the systems for the presentation of successions of multimedia content to users, whose The main exponent today are digital photo frames.
En éste capítulo se exponen los antecedentes de la invención, tanto en el ámbito general de la personalización de servicios como en el ámbito más concreto de los marcos de fotos digitales. This chapter describes the background of the invention, both in the general field of personalization of services and in the more specific field of digital photo frames.
Personalización de servicios en el hogar digital Personalization of digital home services
La personalización de sistemas y servicios no es algo novedoso. De hecho, la mayor parte de los trabajos que desarrollan agentes de usuario se enfocan hacia la configuración de un sistema software de acuerdo con sus preferencias. Estos agentes pueden ser completamente personales, como los descritos en [Müller, H., Hilbrich, T. and Kühnel, R., An Asistant Agent. Fundamenta Informaticae 34, pp1-10, 1999] o adaptables a cada usuario que accede al sistema, como en [Pazzani, M.J. and Billsus, D., Adaptive Web Site agents. Autonomous Agents and Multiagent Systems, 5, pp. 205-218, 2002]. The customization of systems and services is not something new. In fact, most of the work carried out by user agents is focused on the configuration of a software system according to their preferences. These agents can be completely personal, as described in [Müller, H., Hilbrich, T. and Kühnel, R., An Asistant Agent. Fundamenta Informaticae 34, pp1-10, 1999] or adaptable to each user who accesses the system, as in [Pazzani, M.J. and Billsus, D., Adaptive Web Site agents. Autonomous Agents and Multiagent Systems, 5, pp. 205-218, 2002].
Aunque es posible personalizar los servicios a los que accede un usuario en cualquiera de los entornos que le rodean, el hogar digital es, sin duda, aquel en el que se siente más de cerca el efecto que producen. No significa esto que no pueda personalizarse el acceso a los sistemas y servicios en el trabajo, que sin duda sí se hace, sino que es en el hogar el momento en el que el usuario se siente más propenso a disfrutar de los sistemas que le hacen la vida más cómoda, y por tanto, el entorno más estudiado. Although it is possible to customize the services that a user accesses in any of the surrounding environments, the digital home is undoubtedly the one in which the effect they produce is most closely felt. This does not mean that access to systems and services cannot be customized at work, which is undoubtedly done, but that it is at home when the user feels more likely to enjoy the systems that make him or her the most comfortable life, and therefore, the most studied environment.
En los últimos años se ha hablado y escrito ampliamente sobre los conceptos de Hogar digital, domótica e inmótica [Lorente, S. y Medina, J.J. El libro blanco del Hogar Digital. Colegio Oficial de Ingenieros Técnicos de Telecomunicación, 2004]. Hasta muy recientemente, el hogar digital se ha confundido con la domótica y ha sido visto, casi exclusivamente, como un sistema, pocas veces global y normalmente desagregado, de control de diversos dispositivos en las viviendas y en los entornos empresariales; fundamentalmente: sensores, controladores y algún electrodoméstico. In recent years, the concepts of Digital, home automation and home automation home [Lorente, S. and Medina, J.J. The White Book of the Digital Home. Official College of Telecommunications Technical Engineers, 2004]. Until very recently, the digital home has been confused with home automation and has been seen, almost exclusively, as a system, rarely global and usually disaggregated, for controlling various devices in homes and in business environments; fundamentally: sensors, controllers and some appliance.
Al mismo tiempo, hemos dotado a nuestros hogares con un número de dispositivos cada vez mayor: varios aparatos de televisión, varios equipos de música, uno o varios ordenadores, dispositivos de grabación/reproducción de películas, como video y dvd, sistemas de seguridad, etc. El número de electrodomésticos (desde grandes aparatos hasta pequeños dispositivos) por metro cuadrado aumenta sin parar, lo que no significa que nuestra calidad de vida mejore. Tenemos acceso a más productos y servicios, pero a costa de un incremento de la complejidad en su uso no despreciable. Por ejemplo, de la misma manera que crece el número de aparatos, el número de mandos a distancia crece con ellos. Asimismo, comienzan a aparecer nuevos electrodomésticos capaces de ofrecer contenidos multimedia desde un sistema central. At the same time, we have endowed our homes with an increasing number of devices: several television sets, several stereo systems, one or several computers, movie recording / playback devices, such as video and DVD, security systems, etc. The number of appliances (from large appliances to small devices) per square meter increases without stopping, which does not mean that our quality of life improves. We have access to more products and services, but at the cost of an increase in complexity in their non-negligible use. For example, in the same way that the number of devices grows, the number of remote controls grows with them. Also, new appliances begin to appear capable of offering multimedia content from a central system.
Finalmente, en los últimos años han empezado a aparecer arquitecturas de personalización de servicios que buscan abordar el problema de un modo más global. El objetivo es personalizar el entorno en el que se encuentran los usuarios de una vivienda (o, en un sentido más amplio, de un espacio vital, ya que la mayor parte de las ideas que podamos aplicar al hogar digital, pueden trasladarse al lugar de trabajo, al vehículo, o incluso a espacios públicos). El concepto de Inteligencia Ambiental amplía los ámbitos de aplicación de la tecnología: ya no se trata sólo de un entorno doméstico, sino que también se incluyen otros espacios nuevos: el automóvil, los espacios de uso público (aeropuertos, estaciones, autopistas, etc.), zonas de servicios (hoteles, centros comerciales, etc.) y otros. No obstante, aunque muchas de estas arquitecturas presentan resultados prometedores en cuanto a personalización de servicios [B. Johanson, A. Fox, and T. Winograd, “The interactive workspaces project: Experiences with ubiquitous computing rooms,” IEEE Pervasive Computing, pp. 67–74, 2002; J. Yura, J. Nakazawa, and H. Tokuda, “Galaxy ds: Directory service for service composition based on smart space structure,” in Proceedings of the 19th International Conference on Advanced Information Networking and Applications (AINA’05), 2005; Marsa-Maestre, I., Lopez-Carmona, M., y Velasco, J., “A hierarchical, agent-based service oriented architecture for smart environments”, in Service Oriented Computing and Applications, 2(4):167–185, 2008], la alta complejidad y elevado coste de las soluciones existentes hace que aún no sean una posibilidad real para la personalización de servicios en nuestros hogares. Finally, in recent years, service personalization architectures have begun to appear that seek to address the problem in a more global way. The objective is to personalize the environment in which the users of a home are located (or, in a broader sense, of a vital space, since most of the ideas that we can apply to the digital home, can be moved to the place of work, to the vehicle, or even to public spaces). The concept of Environmental Intelligence extends the fields of application of technology: it is no longer just a domestic environment, but also includes new spaces: cars, public spaces (airports, stations, highways, etc.). ), service areas (hotels, shopping centers, etc.) and others. However, although many of these architectures have promising results in terms of personalization of services [B. Johanson, A. Fox, and T. Winograd, “The interactive workspaces project: Experiences with ubiquitous computing rooms,” IEEE Pervasive Computing, pp. 67-74, 2002; J. Yura, J. Nakazawa, and H. Tokuda, “Galaxy ds: Directory service for service composition based on smart space structure,” in Proceedings of the 19th International Conference on Advanced Information Networking and Applications (AINA’05), 2005; Marsa-Maestre, I., Lopez-Carmona, M., and Velasco, J., “A hierarchical, agent-based service oriented architecture for smart environments”, in Service Oriented Computing and Applications, 2 (4): 167–185 , 2008], the high complexity and high cost of existing solutions means that they are not yet a real possibility for the personalization of services in our homes.
Marco de fotos digitales Digital photo frame
En la actualidad, podemos ver marcos digitales en multitud de comercios especializados. Un marco digital no es más que una dispositivo para los hogares capaz de mostrar en una pantalla, generalmente LCD (pantalla de cristal líquido), un conjunto de imágenes seleccionadas por una o varias personas. Su funcionamiento básico consiste en proporcionar una sucesión de las fotografías almacenadas en el dispositivo a modo de presentación de diapositivas. Este tipo de dispositivos pretende reemplazar al marco de fotos tradicional, sobre el que aporta un mayor aprovechamiento del espacio (un mismo marco de fotos digital permite la visualización de un conjunto de fotografías) y un ahorro de recursos (papel fotográfico), además de añadir cierto dinamismo al entorno donde se integra. En algunos casos, los marcos de fotos digitales no sólo se limitan a reproducir imágenes, sino que vienen preparados para reproducir video y audio. Prácticamente todos los modelos proporcionan los mismos servicios; las principales diferencias entre unos y otros vendrán marcadas por el tamaño de la pantalla y las prestaciones de que disponen. Como ejemplos de dichas prestaciones pueden citarse la resolución de la pantalla, el consumo y los mecanismos disponibles para la transferencia o almacenamiento de las imágenes, que pueden ir desde puertos USB a conectividad a Internet. At present, we can see digital frames in a multitude of specialized stores. A digital frame is nothing more than a device for homes capable of displaying on a screen, generally LCD (liquid crystal display), a set of images selected by one or several people. Its basic operation consists in providing a succession of the photographs stored in the device as a slide show. This type of device aims to replace the traditional photo frame, on which it provides a greater use of space (the same digital photo frame allows the visualization of a set of photographs) and a saving of resources (photographic paper), in addition to adding certain dynamism to the environment where it is integrated. In some cases, digital photo frames are not only limited to reproducing images, but are also prepared to reproduce video and audio. Virtually all models provide the same services; The main differences between them will be marked by the size of the screen and the features they have. As examples of these features, we can mention the screen resolution, the consumption and the mechanisms available for the transfer or storage of images, which can range from USB ports to Internet connectivity.
Los avances tecnológicos en el mundo de la fotografía, la posibilidad de almacenamiento de datos en soportes cada vez más pequeños, y el bajo precio frente a las posibilidades que ofrecen, han ayudado a que los marcos digitales sean cada vez más demandados. Se puede decir que desde sus orígenes en el mercado, hace unos cuatro años, el número de ventas ha aumentado de forma considerable. No obstante, ninguno de los modelos existentes proporciona personalización dinámica automática de los servicios que proporciona. El conjunto de contenidos audiovisuales que se muestran a los usuarios sólo cambia por configuración manual, y no responde a la presencia o no de usuarios en las inmediaciones del dispositivo. Technological advances in the world of photography, the possibility of storing data in smaller and smaller media, and the low price compared to the possibilities they offer, have helped make digital frames increasingly demanded. It can be said that since its origins in the market, about four years ago, the number of sales has increased considerably. However, none of the existing models provide automatic dynamic customization of the services it provides. The set of audiovisual content that is shown to users only changes by manual configuration, and does not respond to the presence or not of users in the immediate vicinity of the device.
El objetivo principal de la invención es desarrollar un sistema capaz de generar un entorno multimedia multiusuario, personalizable e inteligente. Cada usuario podrá personalizar dicho entorno facilitando al sistema un conjunto de contenidos preferidos y parámetros de configuración. Haciendo uso de esta información y de mecanismos de detección de presencia e identificación de usuarios, el sistema determinará de forma completamente autónoma cómo deberá comportarse, actuando como un Marco Digital Inteligente (en adelante, MDI). The main objective of the invention is to develop a system capable of generating a multi-user, customizable and intelligent multimedia environment. Each user can customize this environment by providing the system with a set of preferred contents and configuration parameters. Using this information and presence detection and user identification mechanisms, the system will determine completely independently how it should behave, acting as an Intelligent Digital Framework (hereinafter, MDI).
En esta sección se describe desde un punto de vista funcional el Marco Digital Inteligente. Se comienza definiendo las tareas o especificación de requisitos y roles de usuario mediante un diagrama de Casos de Uso siguiendo la notación UML (Unified Modelling Language, Lenguaje Unificado de Modelado). También se recurre a la representación de un diagrama de bloques genérico donde se muestran los módulos en los que se divide el MDI con el objetivo de diversificar funcionalidades y definir áreas de desarrollo, lo que facilitará la implementación y elaboración del mismo. This section describes the Intelligent Digital Framework from a functional point of view. It begins by defining the tasks or specification of requirements and user roles through a diagram of Use Cases following the UML notation (Unified Modeling Language). The representation of a generic block diagram is also used, showing the modules in which the MDI is divided in order to diversify functionalities and define development areas, which will facilitate its implementation and elaboration.
A continuación se describen la funcionalidad del Marco Digital Inteligente por medio de Casos de Uso, lo que proporciona una perspectiva del problema que resuelve el dispositivo desde el punto de vista del usuario. El diagrama de casos de uso correspondiente puede verse en la Figura 1. The following describes the functionality of the Intelligent Digital Framework through Use Cases, which provides a perspective of the problem that the device solves from the user's point of view. The corresponding use case diagram can be seen in Figure 1.
CU-001: Autenticación: el MDI comprueba la identidad del gestor y/o del usuario permitiéndoles acceder al sistema. En caso del gestor, para realizar cualquier operación de gestión de la información del MDI, y en caso del usuario poder visualizar sus contenidos asociados. Si dichas identidades son erróneas, el MDI deniega el acceso. La comprobación de identidad del usuario se realizará por medio de una credencial de identificación, que dependerá del mecanismo de identificación utilizado (e.g. una contraseña, un RFID (Radio Frequency Identification, Identificación por Radiofrecuencia), una huella dactilar...). CU-001: Authentication: the MDI verifies the identity of the manager and / or the user by allowing them to access the system. In the case of the manager, to perform any information management operation of the MDI, and in the case of the user being able to view its associated contents. If these identities are wrong, the MDI denies access. The identity verification of the user will be carried out by means of an identification credential, which will depend on the identification mechanism used (e.g. a password, an RFID (Radio Frequency Identification), a fingerprint ...).
CU-002: Cambiar credenciales: el gestor puede modificar sus credenciales de identificación o las de cualquier otro usuario. El MDI informará al gestor mediante un mensaje por el interfaz de gestión si se ha ejecutado la orden satisfactoriamente o no. CU-002: Change credentials: the manager can modify his identification credentials or those of any other user. The MDI will inform the manager through a message on the management interface if the order was executed successfully or not.
CU-003: Operar con contenidos: el gestor accede al MDI para ejecutar operaciones relacionadas con los contenidos multimedia. Ejemplos de dichas operaciones pueden ser: consultar los contenidos existentes, añadir contenidos al sistema, asociar un contenido con un usuario, eliminar contenidos, deshacer asociación contenidousuario. CU-003: Operate with contents: the manager accesses the MDI to execute operations related to multimedia content. Examples of such operations can be: consult existing content, add content to the system, associate a content with a user, delete content, undo user content association.
CU-004: Operar con usuarios: el gestor accede al MDI para ejecutar operaciones relacionadas con los usuarios. Ejemplos de dichas operaciones pueden ser: consulta de los usuarios dados de alta en el sistema, añadir usuarios al sistema, eliminar usuarios del sistema, asociar un usuario con uno o varios contenidos, eliminar asociación usuariocontenido. CU-004: Operate with users: the manager accesses the MDI to execute operations related to the users. Examples of such operations can be: consultation of the users registered in the system, adding users to the system, eliminating users from the system, associating a user with one or more contents, eliminating user-content association.
CU-005: Consultar: se distinguen dos tipos de consultas. En el caso de “Operar con contenidos”, el MDI proporcionará al gestor un extracto de la información almacenada acerca de los contenidos dados de alta en el dispositivo. Y en el caso de “Operar con usuarios”, el MDI proporcionará al gestor un extracto de la información almacenada acerca de los usuarios dados de alta en el dispositivo. CU-005: Consult: there are two types of queries. In the case of “Operate with contents”, the MDI will provide the manager with an extract of the information stored about the contents registered in the device. And in the case of “Operate with users”, the MDI will provide the manager with an extract of the information stored about the users registered in the device.
CU-006: Añadir: El gestor podrá añadir contenidos y usuarios al sistema. En el caso de “Operar con contenidos”, el gestor podrá añadir contenidos al sistema, y el MDI adaptará las características de los mismos (e.g. tamaño y calidad de imagen) según las especificaciones de la pantalla donde van a ser visualizadas, optimizando así el espacio de almacenamiento. Y en el caso de “Operar con usuarios”, el gestor podrá dar de alta nuevos usuarios al sistema. En ambos casos, el MDI notifica al gestor si la acción se ha realizado con éxito o no. CU-006: Add: The manager can add content and users to the system. In the case of “Operate with contents”, the manager can add contents to the system, and the MDI will adapt the characteristics of the same (eg size and image quality) according to the specifications of the screen where they will be displayed, thus optimizing the storage space. And in the case of "Operate with users", the manager can register new users to the system. In both cases, the MDI notifies the manager if the action was successful or not.
CU-007: Eliminar: El gestor puede dar de baja a usuarios, eliminar contenidos o deshacer las asociaciones usuariocontenido de forma permanente del MDI cuando desee. CU-007: Delete: The manager can unsubscribe users, delete content or undo user associations permanently contained in the MDI at any time.
CU-008: Asociar: El gestor asocia contenidos existentes en el sistema con usuarios dados de alta en el mismo. En dicha asociación debe indicarse por cada contenido y usuario el tiempo que se mostrará el contenido correspondiente en la interfaz de usuario. El MDI notifica al gestor si la acción se ha realizado con éxito o no. CU-008: Associate: The manager associates existing contents in the system with users registered in it. In this association, the content of the corresponding content in the user interface must be indicated for each content and user. The MDI notifies the manager if the action was successful or not.
CU-009: Resetear: El gestor elimina todo tipo de información: contenidos, usuarios, asociaciones, … que se haya insertado en el MDI. Devolviendo al sistema a un estado inicial de vacío. CU-009: Reset: The manager deletes all types of information: content, users, associations, ... that has been inserted in the MDI. Returning the system to an initial empty state.
CU-010: Detectar presencia: El sistema deberá realizar constantes búsquedas de presencia de usuarios dentro del área de detección, de acuerdo con el mecanismo de identificación que se emplee (e.g. RFID, Bluetooth, huella digital...). Con ello, permite que los usuarios detectados reciban sus contenidos asociados en la interfaz de usuario. CU-010: Detect presence: The system must constantly search for presence of users within the detection area, in accordance with the identification mechanism used (e.g. RFID, Bluetooth, fingerprint ...). With this, it allows the detected users to receive their associated contents in the user interface.
CU-011: Selección y visualización de contenidos: El MDI muestra a través de la interfaz de usuario los contenidos asociados al usuario o usuarios detectados a modo de diapositivas atendiendo al tiempo de visualización de cada uno de ellos. En caso de haberse identificado a más de un usuario el MDI mostrará contenidos alternativamente de unos y de otros siguiendo el orden de acceso al sistema. En caso de no haberse detectado presencia la interfaz de usuario mostrará contenidos por defecto, o permanecerá en estado de bajo consumo, según se haya configurado. CU-011: Selection and visualization of contents: The MDI shows through the user interface the contents associated to the user or users detected as a slide according to the display time of each of them. If more than one user has been identified, the MDI will show contents alternately of one and the other following the order of access to the system. If no presence has been detected, the user interface will display default contents, or will remain in a low power state, as configured.
Diagrama de Bloques genérico Generic Block Diagram
En este apartado se describen de forma gráfica y global los componentes que conforman el sistema objeto de esta invención desde un punto de vista lógico. In this section the components that make up the system object of this invention are described graphically and globally from a logical point of view.
En la Figura 2 se muestra un sistema modular formado por tres módulos principales de operación y una base de datos. Dichos módulos son independientes entre sí y cada uno encapsula una serie de tareas y funcionalidades que las diferencia del resto, siendo la base de datos el único nexo de unión entre ellos. Dicha base de datos albergará toda la información que se maneje en el sistema, y deberá gestionar las solicitudes de envío o recepción de datos originadas por los módulos. A modular system consisting of three main operating modules and a database is shown in Figure 2. These modules are independent of each other and each one encapsulates a series of tasks and functionalities that differentiate them from the rest, the database being the only link between them. This database will house all the information that is handled in the system, and must manage the requests for sending or receiving data originated by the modules.
Módulo de Gestión (MG) Management Module (MG)
El módulo de gestión es el encargado de gestionar toda la información que entra en el MDI y la configuración del mismo. Se comunica con el Gestor mediante el programa interfaz de gestión y con la base de datos mediante la lógica de gestión. The management module is responsible for managing all the information that enters the MDI and its configuration. It communicates with the Manager through the management interface program and with the database through the management logic.
La interfaz de gestión (IG) se encarga de facilitar al gestor un entorno visual e intuitivo de configuración y gestión del MDI, permitiéndole navegar y operar sobre cada una de las funcionalidades del sistema. The management interface (IG) is responsible for providing the manager with a visual and intuitive setting and management of the MDI, allowing him to navigate and operate on each of the system's functionalities.
La lógica de gestión (LG) es un subsistema que interactúa con la interfaz de gestión y con la base de datos. Recibe la información y los mensajes de la interfaz de gestión para determinar las acciones que debe ejecutar, y envían los datos a la base de datos para su almacenamiento. También es el encargado de realizar las consultas a la base de datos y proporcionar los resultados a la interfaz de gestión. Management logic (LG) is a subsystem that interacts with the management interface and with the database. It receives the information and messages from the management interface to determine the actions to be executed, and sends the data to the database for storage. He is also in charge of making the queries to the database and providing the results to the management interface.
Las tareas o acciones que deberá encapsular el módulo de gestión para su posterior implementación dentro del desarrollo del MDI, corresponden a los Casos de Uso: del CU-001 al CU-009. The tasks or actions that the management module must encapsulate for its subsequent implementation within the development of the MDI, correspond to the Use Cases: from CU-001 to CU-009.
Módulo de Provisión de Contenidos (MPC) Content Provision Module (MPC)
El módulo de provisión de contenidos se encarga de proporcionar contenidos a los usuarios, atendiendo a una configuración previa del MDI. Dicho mecanismo se lleva a cabo mediante dos elementos: interfaz de provisión de contenidos y lógica de provisión de contenidos. The content provision module is responsible for providing content to users, following a previous configuration of the MDI. This mechanism is carried out through two elements: content provisioning interface and content provisioning logic.
La interfaz de provisión de contenidos (IPC) se encarga de mostrar los contenidos correspondientes a los usuarios (e.g. imagen o video por pantalla, sonido a través de unos altavoces, ...). Los contenidos se muestran durante un tiempo definido, según lo especifique el parámetro de tiempo de visualización correspondiente a dichos contenidos y usuarios. Se deben cumplir las siguientes premisas para que la interfaz de provisión de contenidos sirva contenidos a los usuarios: The content provisioning interface (IPC) is responsible for displaying the corresponding contents to users (e.g. image or video on screen, sound through speakers, ...). The contents are displayed for a defined time, as specified by the display time parameter corresponding to said contents and users. The following premises must be met for the content provisioning interface to serve content to users:
- • •
- Los usuarios deberán haber sido detectados dentro del área de cobertura del MDI, y estar dados de alta en el sistema. Users must have been detected within the MDI coverage area, and be registered in the system.
- • •
- Debe haber contenidos en el MDI y éstos deben estar asociados a los usuarios. Puede asignarse el mismo contenido a varios usuarios, o viceversa. There must be content in the MDI and these must be associated with the users. The same content can be assigned to several users, or vice versa.
La lógica de provisión de contenidos (LPC) es el subsistema encargado de seleccionar y proporcionar a la interfaz de provisión de contenidos los contenidos y los valores de los parámetros de configuración de cada uno de ellos. The content provisioning logic (LPC) is the subsystem responsible for selecting and providing the content provisioning interface with the contents and values of the configuration parameters of each of them.
Las tareas que debe realizar este módulo se corresponden con la especificación del Caso de Uso: CU-010. The tasks to be performed by this module correspond to the use case specification: CU-010.
Módulo de Identificación y Detección (MID) Identification and Detection Module (MID)
Este módulo es el encargado de detectar la proximidad de un usuario al MDI en un área de detección determinada y de identificar a dicho usuario. Los mecanismos hardware de detección e identificación, así como el área de detección, dependerán de la tecnología específica que se emplee. Entre las diferentes tecnologías posibles para la detección e identificación de usuarios podemos citar, a modo de ejemplo y sin excluir otras, RFID, NFC (Near Field Communication, Comunicación de Campo Cercano), Bluetooth, WiFi o técnicas biométricas. This module is responsible for detecting the proximity of a user to the MDI in a given detection area and to identify said user. The hardware detection and identification mechanisms, as well as the detection area, will depend on the specific technology used. Among the different possible technologies for the detection and identification of users we can mention, by way of example and without excluding others, RFID, NFC (Near Field Communication), Bluetooth, WiFi or biometric techniques.
La lógica de identificación y detección (LID) es el subsistema encargado de hacer uso del hardware de identificación y detección para detectar la presencia de los usuarios dentro del área de detección. En caso afirmativo, la lógica recopila los identificadores de los usuarios y los autentica en el MDI enviando dichos identificadores a la base de datos. El sistema podrá configurarse para mostrar contenidos por defecto o para no mostrar contenido alguno si no se ha detectado ningún usuario. Identification and detection logic (LID) is the subsystem responsible for making use of identification and detection hardware to detect the presence of users within the detection area. If so, the logic collects the identifiers of the users and authenticates them in the MDI by sending said identifiers to the database. The system can be configured to display default content or not to display any content if no user has been detected.
Las tareas que debe llevar a cabo este módulo se han especificado en el Caso de Uso: CU-011. The tasks to be carried out by this module have been specified in the Use Case: CU-011.
Módulo Base de Datos (MBD) Database Module (MBD)
La base de datos es un elemento crucial del sistema objeto de la invención, ya que se encarga de almacenar toda la información que se genere en el MDI, y sirve como nexo de unión entre todos los módulos. Dicha información puede ser almacenada de diferentes formas (e.g. de forma organizada siguiendo un modelo relacional, donde las “tablas” y los “registros” son los elementos que componen su estructura), y en diferentes localizaciones The database is a crucial element of the system object of the invention, since it is responsible for storing all the information that is generated in the MDI, and serves as a link between all modules. This information can be stored in different ways (e.g. in an organized way following a relational model, where "tables" and "records" are the elements that make up its structure), and in different locations
(e.g. un disco duro en el propio dispositivo, un servidor externo, ...). (e.g. a hard drive on the device itself, an external server, ...).
El acceso a dicha información es gestionado por el SGBD (Sistema de Gestión de Base de Datos), cuyo objetivo es servir de interfaz entre los datos y el resto de módulos. Los módulos deben realizar las peticiones de consulta o escritura al SGBD, y éste se encarga de ejecutarlas, extrayendo o insertando en la base de datos la información que le haya sido solicitada. Una de las características más importantes del SGBD, es que soluciona los casos de concurrencia de acceso a los datos por parte de dos o más módulos, lo que permite conservar la integridad de los mismos. Access to this information is managed by the DBMS (Database Management System), whose objective is to serve as an interface between the data and the other modules. The modules must make requests for consultation or writing to the DBMS, and the latter is responsible for executing them, extracting or inserting in the database the information that has been requested. One of the most important characteristics of the DBMS is that it solves the cases of concurrence of access to the data by two or more modules, which allows maintaining their integrity.
Para complementar la descripción que se es fl realizando y con objeto de ayudar a una mejor comprensión de las características de la invención , así como para proporcionar un mayor detalle en el ejemplo preferente de realización práctica de la misma , se acompaña como parte integrante de esta descripción un juego de dibujos en donde, con carácter ilustrativo y no limitativo, se ha representado lo siguiente: To complement the description that is being made and in order to help a better understanding of the features of the invention, as well as to provide greater detail in the preferred example of practical realization thereof, it is accompanied as an integral part of this description a set of drawings where, for illustrative and non-limiting purposes, the following has been represented:
• Figura 1 - Diagrama de Casos de Uso del sistema Marco Digital: se muestra el diagrama de Casos de Uso del MD que representa cómo los usuarios con distintos roles operan sobre el MD. El diagrama consta de tres elementos: actores, son los distintos roles que pueden adoptar los usuarios y que desencadenan las acciones; Casos de Uso, son la tareas específicas que se realizan tras la orden de algún actor; y las relaciones entre ambos. Entre los Casos de Uso también puede haber relaciones, y estas pueden ser de dos tipos: • Figure 1 - Diagram of Cases of Use of the Digital Framework system: the diagram of Cases of Use of the MD is shown, representing how users with different roles operate on the MD. The diagram consists of three elements: actors, are the different roles that users can adopt and trigger actions; Use Cases, are the specific tasks that are performed after the order of an actor; and the relations between both. There may also be relationships between Use Cases, and these can be of two types:
a) Relación tipo <<include>>: indica que cada invocación del Caso de Uso base invocará a su vez al caso que se “incluye”. a) Relationship type <<include>>: indicates that each invocation of the Base Use Case will in turn invoke the case that is “included”.
b) Relación tipo <<extends>>: indica que cada invocación del Caso de Uso base puede comenzar otro dentro de aquel mismo. b) Relationship type <<extends>>: indicates that each invocation of the Base Use Case can start another within it.
- • •
- Figura 2 - Diagrama de bloques genérico: se muestra un sistema modular formado por tres módulos principales de operación y una base de datos. Dichos módulos son independientes entre sí y cada uno encapsula una serie de tareas y funcionalidades que las diferencia del resto, siendo la base de datos el único nexo de unión entre ellos. Dicha base de datos albergará toda la información que se maneje en el sistema, y deberá gestionar las solicitudes de envío o recepción de datos originadas por los módulos. Figure 2 - Generic block diagram: a modular system consisting of three main operating modules and a database is shown. These modules are independent of each other and each one encapsulates a series of tasks and functionalities that differentiate them from the rest, the database being the only link between them. This database will house all the information that is handled in the system, and must manage the requests for sending or receiving data originated by the modules.
- • •
- Figura 3 - Pantalla de acceso al sistema de gestión: Muestra el aspecto de la interfaz de gestión en el ejemplo de realización de la invención cuando se intenta acceder a la interfaz de gestión. Figure 3 - Management system access screen: Shows the aspect of the management interface in the embodiment of the invention when trying to access the management interface.
- • •
- Figura 4 - Diagrama de flujo de la lógica de acceso al sistema de gestión: Muestra el diagrama de flujo de la comprobación de credenciales de acceso a la interfaz de gestión. Figure 4 - Flowchart of the access logic to the management system: Shows the flowchart of the verification of access credentials to the management interface.
- • •
- Figura 5 - Pantalla de cambio de contraseña de gestión: Muestra el aspecto de la interfaz de gestión en el ejemplo de realización de la invención cuando se intenta cambiar la contraseña interfaz de gestión. Figure 5 - Change of management password screen: Shows the appearance of the management interface in the embodiment of the invention when trying to change the management interface password.
- • •
- Figura 6 - Diagrama de flujo de la lógica de cambio de contraseña de gestión: Muestra el diagrama de flujo del cambio de contraseña para la interfaz de gestión. Figure 6 - Flowchart of the management password change logic: Shows the flowchart of the password change for the management interface.
- • •
- Figura 7 - Pantalla de adición de usuarios: Muestra el aspecto de la interfaz de gestión en el ejemplo de realización de la invención cuando se intenta añadir usuarios al sistema. Figure 7 - User addition screen: Shows the aspect of the management interface in the embodiment of the invention when trying to add users to the system.
- • •
- Figura 8 - Diagrama de flujo de la lógica de adición de usuarios: Muestra el diagrama de flujo de la adición de usuarios. Figure 8 - Flowchart of user addition logic: Shows the flowchart of user addition.
- • •
- Figura 9 - Pantalla de adición de imágenes: Muestra el aspecto de la interfaz de gestión en el ejemplo de realización de la invención cuando se intenta añadir imágenes al sistema. Figure 9 - Image addition screen: Shows the aspect of the management interface in the embodiment of the invention when trying to add images to the system.
- • •
- Figura 10 - Diagrama de flujo de la lógica de adición de imágenes: Muestra el diagrama de flujo de la adición de imágenes. Figure 10 - Flowchart of the image addition logic: Shows the flowchart of the image addition.
- • •
- Figura 11 - Pantalla de asociación de imágenes a usuarios: Muestra el aspecto de la interfaz de gestión en el ejemplo de realización de la invención cuando se intenta asociar imágenes a usuarios. Figure 11 - User image association screen: Shows the aspect of the management interface in the embodiment of the invention when trying to associate images with users.
- • •
- Figura 12 - Diagrama de flujo de la lógica de asociación de imágenes a usuarios: Muestra el diagrama de flujo de la asociación de imágenes a usuarios. Figure 12 - Flowchart of the association of images to users logic: Shows the flowchart of the association of images to users.
- • •
- Figura 13 - Pantalla de consulta de imágenes: Muestra el aspecto de la interfaz de gestión en el ejemplo de realización de la invención cuando se realizan consultas relativas a imágenes. Figure 13 - Image query screen: Shows the aspect of the management interface in the example of embodiment of the invention when querying images.
- • •
- Figura 14 - Diagrama de flujo de la lógica de consulta de imágenes: Muestra el diagrama de flujo de la consulta de imágenes. Figure 14 - Flowchart of the image query logic: Shows the flowchart of the image query.
- • •
- Figura 15 - Pantalla de consulta de usuarios: Muestra el aspecto de la interfaz de gestión en el ejemplo de realización de la invención cuando se realizan consultas relativas a usuarios. Figure 15 - User query screen: Shows the aspect of the management interface in the example of realization of the invention when user queries are made.
- • •
- Figura 16 - Diagrama de flujo de la lógica de desasociación: Muestra el diagrama de flujo asociado a la eliminación de asociaciones entre usuarios e imágenes. Figure 16 - Disassociation logic flowchart: Shows the flowchart associated with the elimination of associations between users and images.
- • •
- Figura 17 - Diagrama de flujo de la lógica de eliminación de usuarios e imágenes: Muestra el diagrama de flujo asociado a la eliminación de usuarios e imágenes. Figure 17 - Flowchart of user and image deletion logic: Shows the flowchart associated with the removal of users and images.
- • •
- Figura 18 - Pantalla de retorno a configuración de fábrica: Muestra el aspecto de la interfaz de gestión en el ejemplo de realización de la invención cuando se intenta resetear el dispositivo a su configuración de fábrica. Figure 18 - Return to factory configuration screen: Shows the appearance of the management interface in the example of embodiment of the invention when trying to reset the device to its factory configuration.
- • •
- Figura 19 - Diagrama de flujo de la lógica de retorno a configuración de fábrica: Muestra el diagrama de flujo del retorno a configuración de fábrica. Figure 19 - Flowchart of the logic of return to factory settings: Shows the flowchart of the return to factory settings.
- • •
- Figura 20 - Estructura de las páginas de la interfaz de gestión: Muestra la disposición de los diferentes elementos que conforman las páginas de la interfaz de gestión. Figure 20 - Structure of the pages of the management interface: Shows the arrangement of the different elements that make up the pages of the management interface.
- • •
- Figura 21 - Esquema de interacción JSRS (JavaScript Remote Scripting, Instrucciones Remotas de JavaScript): Muestra la relación entre los diferentes elementos JSRS para dar soporte al módulo de provisión de contenidos.. Figure 21 - JSRS interaction scheme (JavaScript Remote Scripting, Remote JavaScript Instructions): Shows the relationship between the different JSRS elements to support the content provision module.
- • •
- Figura 22 - Diagrama de flujo del lado de cliente JSRS: Muestra el diagrama de flujo del lado del cliente JSRS en el módulo de provisión de contenidos. Figure 22 - JSRS client side flow chart: Shows the JSRS client side flow chart in the content provisioning module.
- • •
- Figura 23 - Diagrama de flujo de la secuenciación de contenidos: Muestra el diagrama de flujo del proceso de secuenciación de contenidos en módulo de provisión de contenidos. Figure 23 - Flowchart of content sequencing: Shows the flowchart of the content sequencing process in content provisioning module.
- • •
- Figura 24 - Diagrama de flujo de la selección de usuarios: Muestra el diagrama de flujo del proceso de selección de usuarios al que se alude en la figura 23. Figure 24 - Flowchart of user selection: Shows the flowchart of the user selection process referred to in Figure 23.
- • •
- Figura 25 - Diagrama de flujo de la selección de imágenes: Muestra el diagrama de flujo del proceso de selección de imágenes al que se alude en la figura 23. Figure 25 - Image selection flowchart: Shows the flowchart of the image selection process referred to in Figure 23.
- • •
- Figura 26 - Pantalla de la interfaz de provisión de contenidos: Muestra el aspecto de la interfaz de provisión de contenidos en el ejemplo de realización de la invención cuando se intenta mostrar una imagen de un tamaño inferior al de la resolución de la pantalla. Figure 26 - Content provisioning interface screen: Shows the appearance of the content provisioning interface in the embodiment of the invention when trying to display an image of a size smaller than the screen resolution.
- • •
- Figura 27 - Diagrama de flujo de la lógica de detección: Muestra el diagrama de flujo del proceso de detección e identificación de usuarios. Figure 27 - Flowchart of the detection logic: Shows the flowchart of the process of detection and identification of users.
- • •
- Figura 28 - Integración del sistema MDI en un sistema domótico centralizado: Muestra un ejemplo de despliegue distribuido de MDIs para un entorno centralizado, de forma que los medios puedan mostrarse a los diferentes usuarios a través de diferentes pantallas distribuidas por toda la vivienda. Figure 28 - Integration of the MDI system in a centralized home automation system: It shows an example of distributed deployment of MDIs for a centralized environment, so that the media can be shown to different users through different screens distributed throughout the home.
En este capítulo se describe con detalle la implementación de un modo de realización preferente y no exclusivo de la invención. En esta realización de la invención se ha optado por el uso de un soporte hardware basado en un PC empotrado con sistema operativo Linux, y por el uso de Bluetooth como mecanismo de detección e identificación de usuarios a través de sus teléfonos móviles o dispositivos similares. Los contenidos multimedia que se han escogido para este modo de realizaión de la invención son imágenes fijas que se presentan a modo de diapositivas, por lo que para la interfaz de provisión de servicios se ha optado por una pantalla LCD. This chapter describes in detail the implementation of a preferred and non-exclusive embodiment of the invention. In this embodiment of the invention, the use of a hardware support based on a built-in PC with a Linux operating system has been chosen, and the use of Bluetooth as a mechanism for detecting and identifying users through their mobile phones or similar devices. The multimedia contents that have been chosen for this embodiment of the invention are still images that are presented as slides, so that for the service provisioning interface, an LCD screen has been chosen.
Este capítulo se ha dividido en cuatro secciones, de acuerdo con los módulos que comprenden la This chapter has been divided into four sections, according to the modules that comprise the
realización de la invención. A continuación se resume brevemente el objeto de cada una de esas cuatro secciones, y embodiment of the invention. The purpose of each of these four sections is briefly summarized below, and
se enumeran las tecnologías empleadas en el módulo correspondiente: The technologies used in the corresponding module are listed:
En esta sección se define la estructura de la base de datos y sus componentes: tablas, campos y relaciones entre las tablas. Como se ha dicho en el capítulo anterior, la base de datos albergará toda la información del MDI, por lo que cada uno de los campos debe corresponderse a un tipo de información manejada por el sistema. En esta realización de la invención se ha empleado el sistema de gestión de base de datos MySQL, ya que es uno de los más extendidos por el momento, está disponible para las distintas plataformas, es rápido y fácil de usar. Para gestionar MySQL se utiliza la herramienta Web PhpMyAdmin. This section defines the structure of the database and its components: tables, fields and relationships between the tables. As stated in the previous chapter, the database will house all the MDI information, so each of the fields must correspond to a type of information managed by the system. In this embodiment of the invention the MySQL database management system has been used, since it is one of the most widespread at the moment, it is available for the different platforms, it is fast and easy to use. To manage MySQL, the Web tool PhpMyAdmin is used.
En esta sección se describe la implementación de todos los programas e interfaces que permiten al gestor administrar el MDI. Para la implementación de este módulo se han utilizado tecnologías Web siguiendo una arquitectura cliente-servidor, lo que permite al gestor acceder al MDI vía remota (por WiFi o Ethernet) mediante un navegador Web. En este caso, el cliente corresponde a un navegador Web que servirá de herramienta al gestor para comunicarse con el MDI, y como servidor, el servidor Web más extendido por el momento, Apache. La Capa de Presentación se desarrolla con código HTML y JavaScript, y la Capa de Negocio con lenguaje PHP en su totalidad, creándose un programa o script por cada acción que el gestor desee ejecutar. Tanto el código HTML-JavaScript como PHP residen en el servidor Web Apache. El motivo de escoger estas tecnologías es porque son las más extendidas y apropiadas para este tipo de aplicaciones, y son de uso gratuito. This section describes the implementation of all the programs and interfaces that allow the manager to manage the MDI. For the implementation of this module, Web technologies have been used following a client-server architecture, which allows the manager to access the MDI via remote (via WiFi or Ethernet) through a Web browser. In this case, the client corresponds to a Web browser that will serve as a tool for the manager to communicate with the MDI, and as a server, the most widespread Web server at the moment, Apache. The Presentation Layer is developed with HTML and JavaScript code, and the Business Layer with PHP language in its entirety, creating a program or script for each action that the manager wishes to execute. Both HTML-JavaScript and PHP code reside on the Apache Web server. The reason for choosing these technologies is because they are the most widespread and appropriate for these types of applications, and are free to use.
En esta sección se describe la implementación del mecanismo de visualización que permite a los usuarios ver sus imágenes. Para la implementación de este módulo se usa la técnica de desarrollo Web JSRS basada en una arquitectura cliente-servidor, y que permite una comunicación asíncrona en segundo plano entre el cliente y el servidor sin necesidad que el cliente recargue la página. La interfaz de usuario se implementa con código HTML y JavaScript, usando el navegador Web Opera como marco de ejecución de dicho código, y empleando el lenguaje de programación PHP del lado del servidor; como en la fase anterior, ambos códigos residen en el servidor Web Apache. This section describes the implementation of the display mechanism that allows users to view their images. For the implementation of this module, the JSRS Web development technique is used based on a client-server architecture, which allows asynchronous background communication between the client and the server without the need for the client to reload the page. The user interface is implemented with HTML and JavaScript code, using the Opera Web browser as the execution framework for said code, and using the PHP programming language on the server side; As in the previous phase, both codes reside on the Apache Web server.
En esta sección se describe la implementación del mecanismo encargado de detectar la presencia de los usuarios en un rango de cobertura limitado. La tecnología hardware que se usa es Bluetooth, la cual permite encontrar dispositivos a una distancia de hasta 10 metros. Se ha escogido esta tecnología porque hoy en día todos los teléfonos móviles vienen equipados con Bluetooth y no supone al usuario tener que adquirir ningún otro tipo de accesorio o dispositivo adicional para interactuar con el sistema. Como credencial de usuario, por tanto, se empleará la dirección MAC de su dispositivo Bluetooth. En cuanto a la implementación software, hay que decir que se usa el lenguaje de programación Java acompañado del conjunto de librerías Bluecove de Java, las cuales, contienen todas las funciones definidas en la especificación JSR-82, encargada de definir el conjunto de APIs (Application Programming Interfaces, Interfaz de Programación de Aplicaciones) que generan el entorno de This section describes the implementation of the mechanism responsible for detecting the presence of users in a limited range of coverage. The hardware technology used is Bluetooth, which allows devices to be found at a distance of up to 10 meters. This technology has been chosen because today all mobile phones are equipped with Bluetooth and it does not imply that the user has to purchase any other type of accessory or additional device to interact with the system. As the user credential, therefore, the MAC address of your Bluetooth device will be used. As for the software implementation, it must be said that the Java programming language is used accompanied by the set of Java Bluecove libraries, which contain all the functions defined in the JSR-82 specification, responsible for defining the set of APIs ( Application Programming Interfaces, which generate the environment of
5 desarrollo para la tecnología inalámbrica Bluetooth. También se utiliza la API JDBC (Java Database Connection, Conexión a Bases de Datos mediante Java) que permite ejecutar instrucciones SQL (Structured Query Language, Lenguaje Estructurado de Peticiones) para acceder al contenido de la base de datos MySQL diseñada en la Capa de Datos. 5 development for Bluetooth wireless technology. The JDBC API (Java Database Connection, Java Database Connection) is also used to execute SQL instructions (Structured Query Language) to access the contents of the MySQL database designed in the Data Layer .
10 Estructura de las tablas 10 Structure of the tables
La estructura que se presenta en esta sección es la necesaria para la realización preferente de la invención The structure presented in this section is that necessary for the preferred embodiment of the invention.
descrita en este capítulo, y deberá adaptarse para cualquier otra realización de la invención, según sus described in this chapter, and should be adapted for any other embodiment of the invention, according to its
características particulares. particular characterisitics.
� LOGIN: � LOGIN:
15 Como el objetivo es el desarrollo de una aplicación Web para la gestión del Marco Digital y ésta tendrá un acceso restringido a los datos, se necesitará una tabla donde almacenar la información de acceso: password. La tabla ‘log’ contiene dicha información. 15 As the objective is the development of a Web application for the management of the Digital Framework and it will have restricted access to the data, a table will be needed to store the access information: password. The ‘log’ table contains this information.
- LOGIN LOGIN
- Nombre del campo Field Name
- Tipo de campo Descripción del campo Field type Field description
- passwdpasswd
- varchar (40) Password del gestor codificado en MD5 (PK) varchar (40) Password of the manager coded in MD5 (PK)
� USUARIOS: La información referente a los usuarios registrados en el Marco Digital se almacenará en la tabla ‘usuarios’. � USERS: Information regarding the users registered in the Digital Framework will be stored in the ‘users’ table.
- USUARIOS USERS
- Nombre del campo Field Name
- Tipo de campo Descripción del campo Field type Field description
- macmac
- varchar (17) dirección MAC del dispositivo bluetooth del usuario (PK) varchar (17) MAC address of the user's bluetooth device (PK)
- nombreName
- varchar (30) nombre del dispositivo bluetooth del usuario varchar (30) user's bluetooth device name
- selecselected
- tinyint (1) indicador de selección (valor predeterminado “0”) tinyint (1) selection indicator (default value “0”)
El campo selec indica si se han mostrado imágenes del usuario correspondiente o no. Se emplea para establecer la secuencia de visualización de imágenes en caso de haber dos o más usuarios detectados en el 25 sistema. The selected field indicates whether images of the corresponding user have been displayed or not. It is used to set the image display sequence in case there are two or more users detected in the system.
� USUARIOS_DETECTADOS: � USERS_DETECTED:
En la tabla ‘usuarios_detectados’ se almacena la información correspondiente a los usuarios que han sido detectados por el sistema, y que pueden estar dados de alta o no. The table ‘detected_ users’ stores the information corresponding to the users that have been detected by the system, and who may or may not be registered.
- USUARIOS_DETECTADOS USERS_DETECTED
- Nombre del campo Field Name
- Tipo de campo Descripción del campo Field type Field description
- macmac
- varchar (17) dirección MAC del dispositivo bluetooth del usuario (PK) varchar (17) MAC address of the user's bluetooth device (PK)
- nombreName
- varchar (30) nombre del dispositivo bluetooth del usuario varchar (30) user's bluetooth device name
� IMAGENES: La información referente a las imágenes almacenadas en el Marco Digital figuran en la tabla ‘imagenes’. � IMAGES: The information regarding the images stored in the Digital Framework are contained in the ‘images’ table.
- Nombre del campo Field Name
- IMAGENES Tipo de campo Descripción del campo IMAGES Field Type Field description
- Id_imagenPicture_id
- bigint (11) Clave primaria (PK) (auto_increment, valor predeterminado “NULL”) bigint (11) Primary key (PK) (auto_increment, default “NULL”)
- nombreName
- varchar (30) nombre y formato asignado a la imagen varchar (30) name and format assigned to the image
- tamanyo tamanyo
- float tamaño en bytes que ocupa cada imagen en disco float size in bytes that each disk image occupies
- contador accountant
- bigint (11) Contador de visualizaciones bigint (11) Display Counter
El campo contador almacena el número de veces que se ha visualizado la imagen correspondiente por pantalla. The counter field stores the number of times the corresponding image has been displayed per screen.
� RELACION: � RELATIONSHIP:
En esta tabla ‘relacion’ se almacenarán las asociaciones establecidas entre los usuarios registrados en la tabla ‘usuarios’ y las imágenes registradas en la tabla ‘imagenes’. In this ‘relation’ table, the associations established between the users registered in the ‘users’ table and the images registered in the ‘images’ table will be stored.
- RELACION RELATIONSHIP
- Nombre del campo Field Name
- Tipo de campo Descripción del campo Field type Field description
- Id_imagenPicture_id
- bigint (11) Clave primaria (PK) (auto_increment, valor predeterminado “NULL”) bigint (11) Primary key (PK) (auto_increment, default “NULL”)
- macmac
- varchar (17) dirección MAC del dispositivo bluetooth del usuario (PK) varchar (17) MAC address of the user's bluetooth device (PK)
- tiempoweather
- varchar (6) tamaño en bytes que ocupa cada imagen en disco varchar (6) size in bytes that each disk image occupies
- viewview
- tinyint (1) indicador de selección (valor predeterminado “0”) tinyint (1) selection indicator (default value “0”)
En este caso, existe una clave primaria compuesta por el campo id_imagen correspondiente a la tabla ‘imagenes’ y el campo mac correspondiente a la tabla ‘usuarios’. Dicha clave primaria es única y no puede repetirse en toda la tabla. El campo view indica si se ha mostrado la imagen, se emplea para establecer la secuencia de visualización de las imágenes de un usuario determinado. In this case, there is a primary key composed of the image_id field corresponding to the ‘images’ table and the mac field corresponding to the ‘users’ table. This primary key is unique and cannot be repeated throughout the table. The view field indicates if the image has been displayed, it is used to set the sequence of display of the images of a particular user.
Estructura interna Internal structure
La realización de la estructura interna del módulo de gestión se ha basado en la arquitectura clienteservidor, donde el cliente (navegador Web) ejecutará código HTML y/o JavaScript y el servidor los scripts PHP. Dichos scripts son archivos de órdenes almacenados en texto plano que serán interpretados por el motor PHP alojado en el servidor Web Apache. Cuando el cliente realiza una petición de una página o script PHP, el servidor Web será el encargado de ejecutarlo, procesarlo y generar el código HTML correspondiente para enviarlo como respuesta al navegador. En los scripts en los que se requiera, PHP accederá a la base de datos MySQL para realizar las operaciones oportunas (inserción, actualización o borrado de registros) o para consultar sus datos. The realization of the internal structure of the management module has been based on the client server architecture, where the client (Web browser) will execute HTML and / or JavaScript code and the server will use PHP scripts. These scripts are command files stored in plain text that will be interpreted by the PHP engine hosted on the Apache Web server. When the client makes a request for a PHP page or script, the Web server will be responsible for executing it, processing it and generating the corresponding HTML code to send it in response to the browser. In the scripts in which it is required, PHP will access the MySQL database to perform the appropriate operations (insertion, update or deletion of records) or to consult its data.
SCRIPTS SCRIPTS
• AUTENTICACIÓN: • AUTHENTICATION:
La autenticación es el mecanismo que permite al Gestor acceder al sistema, y está formado por un formulario implementado en HTML para recoger el password de gestión y dos scripts PHP: Authentication is the mechanism that allows the Manager to access the system, and consists of a form implemented in HTML to collect the management password and two PHP scripts:
index.php: index.php:
Es la página inicial de la aplicación Web, tal y como se muestra en la Figura 3. Está desarrollada íntegramente con código HTML y contiene el formulario que recoge el password de acceso al sistema de gestión, y se lo envía al script valido_usuario.php para su validación. It is the initial page of the Web application, as shown in Figure 3. It is developed entirely with HTML code and contains the form that collects the access password to the management system, and sends it to the script valid_user.php to its validation
valido_usuario.php: valid_user.php:
Es el script encargado de validar la contraseña de gestión. Para ello recoge el password enviado por el formulario y lo compara con el almacenado en la Base de Datos. Si son iguales crea una sesión y una variable de sesión inicializada con el SID (Identificador de Sesión) correspondiente, y permite la navegación por las páginas de la aplicación Web, en caso contrario no crea ninguna sesión y redirige a la página index.php. La Figura 4 muestra un diagrama de flujo de dicha lógica. It is the script responsible for validating the management password. To do this, collect the password sent by the form and compare it with the one stored in the Database. If they are equal, it creates a session and a session variable initialized with the corresponding SID (Session Identifier), and allows navigation through the pages of the Web application, otherwise it does not create any session and redirects to the index.php page. Figure 4 shows a flow chart of said logic.
• CAMBIAR PASSWORD: • CHANGE PASSWORD:
Proporciona al Gestor la funcionalidad de cambiar el password en el momento que desee. Se implementa mediante un formulario en HTML para recogida de datos y un script en PHP: It provides the Manager with the functionality to change the password at any time. It is implemented through an HTML form for data collection and a PHP script:
cambiar_passwd_form.php change_passwd_form.php
Contiene el formulario para recoger el password actual y el nuevo para enviárselos al script cambiar_passwd.php. El password nuevo lo solicita por duplicado para asegurarse que no haya fallos en la escritura. En las figuras 5 y 6 se muestra, respectivamente, una imagen del aspecto visual de la página y el diagrama de flujo de la lógica asociada. It contains the form to collect the current and new password to send to the script change_passwd.php. The new password is requested in duplicate to ensure that there are no errors in writing. Figures 5 and 6 respectively show an image of the visual appearance of the page and the flow chart of the associated logic.
cambiar_passwd.php change_passwd.php
Las acciones que lleva a cabo en este script son las siguientes: The actions carried out in this script are the following:
- 1. one.
- Recoge los tres campos enviados por la página anterior y extrae el valor del password de la Base de Datos. Collect the three fields sent by the previous page and extract the password value from the Database.
- 2. 2.
- Comprueba que los tres campos no están vacíos. Check that the three fields are not empty.
- 3. 3.
- Evalúa que sea igual que el primer campo. Evaluate that it is the same as the first field.
- 4. Four.
- Compara el segundo y el tercer campo pertenecientes al nuevo password por duplicado. Compare the second and third fields belonging to the new password in duplicate.
- 5. 5.
- Actualiza la tabla ‘log’ de la Base de Datos con el nuevo password. Update the ‘log’ table of the Database with the new password.
• AÑADIR USUARIOS: • ADD USERS:
Este conjunto de scripts se encargan de dar de alta usuarios en el MDI. En las figuras 7 y 8 se muestra, respectivamente, una imagen del aspecto visual de la página y el diagrama de flujo de la lógica asociada. This set of scripts are responsible for registering users in the MDI. Figures 7 and 8 respectively show an image of the visual appearance of the page and the flow chart of the associated logic.
anadir_usuario_form.php anadir_user_form.php
Contiene el formulario que recoge los datos de registro de usuarios y se los envía al script anadir_usuario.php para ser procesados. Está desarrollado en HTML pero parte de dicho código se crea dinámicamente mediante PHP. Esto es porque para mostrar el listado de los usuarios detectados se necesita acceder a la tabla ‘usuarios_detectados’ de la Base de Datos. It contains the form that collects user registration data and sends it to the script anadir_usuario.php to be processed. It is developed in HTML but part of that code is created dynamically using PHP. This is because to show the list of detected users, you need to access the ‘detected_ users’ table in the Database.
anadir_usuario.php anadir_usuario.php
Este script se encarga de recoger la información correspondiente a los usuarios con el siguiente formato de cadena: “nombre/MAC”, y los inserta en la Base de Datos. Antes de realizar esta última acción, evalúa si se ha seleccionado alguna opción. En el caso de darse de alta un usuario que ya estaba registrado en el sistema con la misma MAC pero con distinto nombre, actualiza únicamente el campo ‘nombre’ de la tabla ‘usuarios’ de la Base de Datos. This script is responsible for collecting the information corresponding to users with the following string format: "name / MAC", and inserts them into the Database. Before performing this last action, evaluate if any option has been selected. In the case of registering a user who was already registered in the system with the same MAC but with a different name, only update the field ‘name’ of the table ‘users’ of the Database.
• AÑADIR IMÁGENES: • ADD IMAGES:
Este conjunto de scripts permiten añadir imágenes al MDI. Los formatos permitidos son .jpeg o .gif, siendo el tamaño máximo de una imagen de 5MB. En las figuras 9 y 10 se muestra, respectivamente, una imagen del aspecto visual de la página y el diagrama de flujo de la lógica asociada. This set of scripts allows adding images to the MDI. The allowed formats are .jpeg or .gif, the maximum size of an image being 5MB. Figures 9 and 10 respectively show an image of the visual appearance of the page and the flow chart of the associated logic.
upload_form.php upload_form.php
Contiene el formulario por el cuál el Gestor puede introducir imágenes en el sistema. Recoge el nombre y el formato de hasta cuatro imágenes a la vez y se las envía al script upload.php para procesarlas. It contains the form by which the Manager can enter images into the system. It collects the name and format of up to four images at once and sends them to the upload.php script to process them.
upload.php upload.php
Este script recoge las imágenes enviadas por la página anterior y realiza las siguientes las siguientes acciones sobre las mismas: This script collects the images sent by the previous page and performs the following actions on them:
- 1. one.
- Evalúa si se ha seleccionado alguna imagen, si el formato es el correcto, y si existe en el sistema otras imágenes con el mismo nombre. Evaluate if any image has been selected, if the format is correct, and if other images with the same name exist in the system.
- 2. 2.
- Las almacena en el directorio correspondiente. It stores them in the corresponding directory.
- 3. 3.
- Adapta las imágenes a la resolución de la pantalla donde van a ser visualizadas sin que la calidad se vea afectada, únicamente, en el caso que dichas imágenes tengan una resolución mayor que la pantalla. En caso contrario mantiene el formato original. It adapts the images to the resolution of the screen where they are going to be displayed without the quality being affected, only, in the case that these images have a resolution higher than the screen. Otherwise it maintains the original format.
- 4. Four.
- Crea los thumbails (imágenes reducidas) de cada una de ellas. Create the thumbails (reduced images) of each of them.
- 5. 5.
- Inserta en la Base de Datos toda la información referente a las mismas (nombre y tamaño). Insert in the Database all the information referring to them (name and size).
• ASOCIAR: • ASSOCIATE:
Este conjunto de scripts se encargan de establecer las relaciones entre los usuarios y las imágenes. El método es asociando a un usuario las imágenes deseadas, asignando un tiempo de visualización a cada una de ellas. En las figuras 11 y 12 se muestra, respectivamente, una imagen del aspecto visual de la página y el diagrama de flujo de la lógica asociada. This set of scripts is responsible for establishing relationships between users and images. The method is to associate a user with the desired images, assigning a viewing time to each of them. Figures 11 and 12 respectively show an image of the visual appearance of the page and the flow chart of the associated logic.
asociar_form.php associate_form.php
Proporciona el formulario correspondiente para que el Gestor pueda establecer las asociaciones. Esta página se genera dinámicamente mediante código PHP, ya que necesita mostrar todos los usuarios dados de alta y todas las imágenes, almacenados en la Base de Datos. Una vez el Gestor haya hecho su asociación, se la enviará al script asociar.php para incluirla en la Base de Datos. It provides the corresponding form so that the Manager can establish the associations. This page is dynamically generated using PHP code, since you need to display all registered users and all images, stored in the Database. Once the Manager has made his association, it will be sent to the script associater.php to include it in the Database.
Este script recoge los datos relacionados con la asociación: identificador de usuario (MAC), los identificadores de las imágenes y sus tiempos de visualización. En el caso de haberse seleccionado las opciones correctamente, el script inserta una nueva entrada en la tabla ‘relaciones’ de la base de datos, y si ya existiese la relación, actualizaría el tiempo de visualización. This script collects the data related to the association: user identifier (MAC), the identifiers of the images and their display times. If the options were selected correctly, the script inserts a new entry in the ‘relations’ table of the database, and if the relationship already exists, it would update the display time.
� CONSULTAR: � CONSULT:
Este conjunto de scripts se encargan de consultar el contenido del sistema mediante accesos a la Base de Datos y mostrárselos al Gestor de forma estructurada. Hay dos opciones de consulta: imágenes o usuarios. This set of scripts is responsible for consulting the content of the system through access to the Database and showing them to the Manager in a structured way. There are two query options: images or users.
consulta_img.php query_img.php
Este script se encarga de recopilar toda la información asociada con las imágenes (nombre, tamaño, número de visualizaciones y usuarios asociados) existentes en el sistema mediante el acceso a la Base de Datos, estructurarla en una tabla y generar dinámicamente el código HTML correspondiente a la página que visualizará el Gestor. En este caso, no existe ningún elemento de formulario, por lo que este script no recibe ninguna información del exterior. Este script también proporciona por cada una de las imágenes los enlaces a los scripts eliminar.php y desasociar.php los cuales analizaremos sus funcionalidades en el siguiente apartado. This script is responsible for collecting all the information associated with the images (name, size, number of visualizations and associated users) existing in the system by accessing the Database, structuring it in a table and dynamically generating the HTML code corresponding to the page that the Manager will display. In this case, there is no form element, so this script does not receive any information from outside. This script also provides for each of the images the links to the scripts delete.php and desasociar.php which we will analyze their functionalities in the following section.
En las figuras 13 y 14 se muestra, respectivamente, una imagen del aspecto visual de la página y el diagrama de flujo de la lógica asociada. Figures 13 and 14 respectively show an image of the visual appearance of the page and the flow chart of the associated logic.
consulta_user.php query_user.php
Este script se encarga de recopilar toda la información asociada con los usuarios dados de alta en el sistema (nombre, dirección MAC e imágenes asociadas). A nivel de implementación es exactamente igual que el script anterior pero se diferencia que en vez de tratar con imágenes trata con usuarios. Por lo tanto el diagrama de flujo como el código es muy similar. En la figura 15 se muestra una imagen del aspecto visual de la página. This script is responsible for collecting all the information associated with the users registered in the system (name, MAC address and associated images). At the implementation level it is exactly the same as the previous script but it differs that instead of dealing with images it deals with users. Therefore the flowchart and the code are very similar. An image of the visual appearance of the page is shown in Figure 15.
� BORRAR: � DELETE:
Como se ha podido ver en el apartado anterior, ambos scripts contienen enlaces a desasociar.php y eliminar.php, esto permite la posibilidad de borrar información del sistema. En las figuras 16 y 17 se muestran, respectivamente, los diagramas de flujo de las lógicas asociadas. As you can see in the previous section, both scripts contain links to desasociar.php and delete.php, this allows the possibility of deleting information from the system. Figures 16 and 17 show, respectively, the flowcharts of the associated logic.
desasociar.php desasociar.php
La misión de este script es eliminar registros de la tabla ‘relaciones’ de la Base de Datos. Recoge mediante el método POST la información (identificador de usuario y de imagen, y página solicitante) enviada por cualquiera de los dos scripts del apartado anterior y ejecuta la orden de borrado sobre la Base de Datos. The mission of this script is to delete records from the ‘relations’ table in the Database. It collects through the POST method the information (user and image identifier, and requesting page) sent by any of the two scripts of the previous section and executes the deletion order on the Database.
eliminar.php remove.php
Este script se encarga de dar de baja usuarios o borrar imágenes del sistema. Dependiendo de la página que le llame hará una cosa u otra. La información necesaria (identificador de usuario o imagen, y página solicitante) para ejecutar la acción la recoge mediante el método GET ya que está embebida en la URL. This script is responsible for deleting users or deleting images from the system. Depending on the page you call you will do one thing or another. The necessary information (user or image identifier, and requesting page) to execute the action is collected by the GET method since it is embedded in the URL.
� RESETEAR: � RESET:
Este conjunto de scripts son los encargados de proporcionar al Gestor un mecanismo de reseteo del sistema. En las figuras 18 y 19 se muestra, respectivamente, una imagen del aspecto visual de la página y el diagrama de flujo de la lógica asociada. This set of scripts are responsible for providing the Manager with a system reset mechanism. Figures 18 and 19 respectively show an image of the visual appearance of the page and the flow chart of the associated logic.
reset_form.php reset_form.php
Corresponde a la página HTML que contiene el formulario encargado de recoger el password del sistema para posteriormente enviárselo al script reset.php. Corresponds to the HTML page containing the form responsible for collecting the system password and then sending it to the reset.php script.
Este script recoge el password del sistema enviado por la página anterior, y comprueba mediante una consulta a la Base de Datos si es correcto. En caso afirmativo, elimina todas las imágenes y thumbails existentes y vacía de la Base de Datos el contenido de las tablas: ‘usuario’,’imagenes’ y ‘relacion’, y restaura el password al valor inicial. This script collects the password of the system sent by the previous page, and checks through a query to the Database if it is correct. If so, remove all existing images and thumbails and empty the contents of the tables from the Database: Base user ’,’ images ’and‘ relation ’, and restore the password to the initial value.
Interfaz de Gestión Management Interface
Una vez descrita toda la estructura interna del módulo de Gestión, se pasa a ver los elementos de diseño empleados para desarrollar la interfaz de gestión. En el apartado anterior, se mostraron las capturas de pantalla de cada una de las páginas que componen dicha interfaz y que permiten al Gestor interaccionar con el sistema, pero no se indicó la estructura del diseño se las páginas, formatos, sistema de navegación entre las páginas, etc. A continuación se detallan estos elementos de diseño que se han empleado en el desarrollo de dichas páginas Web que conforman la interfaz de gestión. Once the entire internal structure of the Management module has been described, the design elements used to develop the management interface are shown. In the previous section, the screenshots of each of the pages that make up the interface and that allow the Manager to interact with the system were shown, but the design structure was not indicated, the pages, formats, navigation system between the pages, etc. These design elements that have been used in the development of these Web pages that make up the management interface are detailed below.
Maquetación de las páginas Page layout
La maquetación Web consiste en la distribución de manera adecuada de los contenidos que forman una página Web. Existen varias técnicas para conseguir este objetivo: la maquetación tradicional y la maquetación con hojas de estilos. Web layout consists in the proper distribution of the contents that form a Web page. There are several techniques to achieve this goal: traditional layout and style sheet layout.
En la maquetación tradicional, que se ha utilizado para estructurar el contenido del módulo de gestión, se utilizan las tablas para ajustar la posición de los elementos en la página In traditional layout, which has been used to structure the content of the management module, the tables are used to adjust the position of the elements on the page
La estructura diseñada para contener cada uno de los elementos que forman las páginas de la interfaz de gestión es la que se describe a continuación, tal y como se muestra en la figura 20. Esta estructura está formada por una tabla de cinco filas, donde: The structure designed to contain each of the elements that form the pages of the management interface is the one described below, as shown in Figure 20. This structure is formed by a five-row table, where:
- • •
- La primera fila (1), contiene la cabecera o dintel común a todas las páginas, y que muestra el título de la aplicación con un formato de texto y color de fondo definido. The first row (1), contains the header or lintel common to all pages, and that shows the title of the application with a defined text format and background color.
- • •
- La segunda y cuarta fila (1 y 4), contienen una línea de un píxel de alto con formato de imagen para dividir cada una de las secciones que componen las páginas. The second and fourth row (1 and 4), contain a line one pixel high with image format to divide each of the sections that make up the pages.
- • •
- La tercera fila (3), contiene el menú del sistema de navegación de la aplicación. Está formado por un mapa de imágenes donde cada área establece un enlace a una página distinta del sistema. Esta fila sólo aparece cuando el Gestor se ha autenticado correctamente. The third row (3), contains the navigation system menu of the application. It consists of an image map where each area establishes a link to a different page of the system. This row only appears when the Manager has successfully authenticated.
- • •
- La quinta fila (5), está formada por tres columnas, donde la primera y la tercera sirven para centrar el contenido de la segunda, ya que es la que contiene el cuerpo principal de las páginas; el cuál varía según la página actual donde se encuentre el Gestor. En la mayoría de los casos contiene los elementos de formulario de la aplicación. The fifth row (5), is formed by three columns, where the first and the third serve to center the content of the second, since it is the one that contains the main body of the pages; which varies according to the current page where the Manager is located. In most cases it contains the form elements of the application.
Estructura interna Internal structure
Como se comentó en capítulos anteriores, para el desarrollo de este módulo se ha adaptado un ejemplo de código JSRS que implementa un mecanismo asíncrono de llamadas a procedimiento remoto de manera oculta, esto es, que permite al cliente y servidor Web establecer una comunicación en segundo plano sin necesidad de recargar la página del cliente. As discussed in previous chapters, an example of a JSRS code that implements an asynchronous mechanism for remote procedure calls is hidden in a hidden way, that is, that allows the client and Web server to establish a second communication flat without reloading the client page.
Componentes JSRS JSRS components
El código JSRS está compuesto por una serie de funciones implementadas en un conjunto de librerías. Estas librerías pueden ser de dos tipos, según el lenguaje de programación empleado para su desarrollo: JavaScript, diseñada para ejecutarse en el cliente (navegador Web) y adopta el nombre de “jsrsClient.js”; y PHP, diseñadas para ejecutarse en el servidor y adoptan el nombre de “jsrsServer.php.inc” y “jsrsServer.inc”. Todas ellas deben ser incluidas en el programa principal para poder establecerse la comunicación en segundo plano entre cliente y servidor. La interrelación entre estos elementos se muestra en la figura 21. The JSRS code is composed of a series of functions implemented in a set of libraries. These libraries can be of two types, depending on the programming language used for their development: JavaScript, designed to run on the client (Web browser) and adopts the name "jsrsClient.js"; and PHP, designed to run on the server and adopt the name "jsrsServer.php.inc" and "jsrsServer.inc". All of them must be included in the main program in order to establish background communication between client and server. The interrelation between these elements is shown in Figure 21.
El programa principal está compuesto por dos scripts: visor.htm que enlaza la librería jsrsClient.js y se ejecuta del lado del cliente; y visor_rs.php que incluye las librerías jsrsServer.php.inc y jsrsServer.inc y se ejecuta del lado del servidor. Entre ambos, existe un intercambio de información empaquetada con formato WDDX (estándar XML para el intercambio de información estructurada entre distintos lenguajes de programación), y que encapsula, entre otros, los datos almacenados en la Base de Datos del MDI. The main program consists of two scripts: viewer.htm that links the jsrsClient.js library and runs on the client side; and visor_rs.php which includes the jsrsServer.php.inc and jsrsServer.inc libraries and runs on the server side. Between them, there is an exchange of information packaged in WDDX format (XML standard for the exchange of structured information between different programming languages), and that encapsulates, among others, the data stored in the MDI Database.
SCRIPTS SCRIPTS
A continuación se detallan los scripts que implementan el módulo de visualización del MDI. The scripts that implement the MDI display module are detailed below.
Este script se ejecuta del lado del cliente. Se ha desarrollado con código HTML y CSS para implementar la interfaz de visualización, y JavaScript para implementar el mecanismo de diapositivas y comunicación asíncrona con el servidor (script visor_rs.php). El diagrama de flujo asociado puede verse en la figura 22. This script runs on the client side. It has been developed with HTML and CSS code to implement the display interface, and JavaScript to implement the slide mechanism and asynchronous communication with the server (script visor_rs.php). The associated flowchart can be seen in Figure 22.
Cuando el navegador carga por primera vez el script muestra por pantalla una imagen en negro, y al instante se inicia el bucle indefinido donde se solicita al script visor_rs.php el nombre y el tiempo de visualización de la siguiente imagen a mostrar mediante las funciones JSRS correspondientes. Tras obtener dicha información, muestra por pantalla la imagen y detiene la ejecución del programa durante el tiempo de visualización asociado; transcurrido ese tiempo, se vuelve a ejecutar del bucle. When the browser loads the script for the first time, it displays a black image on the screen, and the indefinite loop is immediately started where the script visor_rs.php is asked for the name and the display time of the next image to be displayed by JSRS corresponding. After obtaining this information, it shows the image on the screen and stops the execution of the program during the associated display time; After that time, the loop is executed again.
El navegador elegido para la ejecución de este script es Opera v8.54, ya que es el único que realiza un fullscreen completo del contenido de la página. Otros como: Mozilla, Netscape o Internet Explorer, aunque tienen esta opción, incluyen barras o elementos flotantes en la pantalla. The browser chosen for the execution of this script is Opera v8.54, since it is the only one that performs a full fullscreen of the page content. Others such as: Mozilla, Netscape or Internet Explorer, although they have this option, include bars or floating elements on the screen.
visor_rs.php visor_rs.php
Este script se ejecuta del lado del servidor, y se encarga de la secuenciación de contenidos, es decir, de proporcionar a visor.htm el nombre de una imagen y el tiempo de visualización asociado a la misma. Realiza consultas a la Base de Datos para extraer dicha información y hace uso de las librerías “jsrsServer.php.inc” y “jsrsServer.inc”, para establecer la comunicación en segundo plano con el script anterior. También implementa el mecanismo de selección de imágenes según: el número de usuarios detectados por el MDI y las imágenes mostradas con anterioridad. El diagrama de flujo asociado puede verse en la figura 23. Las figuras 24 y 25 detallan, respectivamente, la selección de usuarios y de imágenes de dicho diagrama. This script runs on the server side, and is responsible for the sequencing of content, that is, to provide viewer.htm with the name of an image and the display time associated with it. It makes queries to the Database to extract this information and makes use of the libraries "jsrsServer.php.inc" and "jsrsServer.inc", to establish background communication with the previous script. It also implements the image selection mechanism according to: the number of users detected by the MDI and the images shown previously. The associated flowchart can be seen in Figure 23. Figures 24 and 25 detail, respectively, the selection of users and images of said diagram.
El script llama a la función jsrsDispatch() para establecer la comunicación en segundo plano con el script visor.htm. Recibe la solicitud de consulta e inicia el mecanismo de selección de usuarios, los cuales deben haber sido detectados por el MDI y estar dados de alta en el mismo. En el supuesto de detectar varios usuarios, emplea el campo selec de la Base de Datos para determinar si los usuarios han sido seleccionados con anterioridad o no, y en el caso de encontrarse todos seleccionados se resetean los campos selec de la tabla ‘usuarios’ para iniciar un nuevo proceso de selección. Tras la selección de un usuario, lo marca como seleccionado y extrae su dirección MAC. The script calls the jsrsDispatch () function to establish background communication with the viewer.htm script. Receive the request for consultation and start the user selection mechanism, which must have been detected by the MDI and be registered in it. In the case of detecting several users, it uses the selected field of the Database to determine if the users have been previously selected or not, and in the case of being all selected, the selected fields of the table 'users' are reset to Start a new selection process. After selecting a user, mark it as selected and extract its MAC address.
A continuación, inicia el mecanismo de selección de imágenes comprobando, previamente, que existen asociaciones de imágenes con la MAC obtenida. De la misma forma que con los usuarios, se emplea el campo view para detectar si la imagen se ha visualizado con anterioridad, y en caso negativo extrae de la Base de Datos el nombre y el tiempo de visualización correspondiente a la imagen seleccionada. Marca la imagen como visualizada y compone la cadena nombre_imagen*tiempo para ser retornada al script visor.htm mediante la función jsrsArrayToString(). Next, start the image selection mechanism, checking, previously, that there are associations of images with the MAC obtained. In the same way as with users, the view field is used to detect if the image has been previously displayed, and if not, it extracts the name and the display time corresponding to the selected image from the Database. Mark the image as displayed and compose the string image_name * time to be returned to the script viewer.htm using the jsrsArrayToString () function.
En caso no cumplirse las premisas de selección de imágenes o usuarios, el script retorna mediante la función jsrsArrayToString() la cadena: “negro.jpg*1500”, que equivale a la imagen en negro mostrada durante un segundo y medio. If the selection criteria of images or users are not met, the script returns through the jsrsArrayToString () function the string: “negro.jpg * 1500”, which is equivalent to the black image shown for a second and a half.
Interfaz de visualización Display interface
La interfaz de visualización se ha implementado en el script visor.htm usando código HTML para mostrar la imagen, y CSS para definir el estilo de la página. The display interface has been implemented in the script visor.htm using HTML code to display the image, and CSS to define the style of the page.
Según el método de maquetación por hojas de estilo, se han definido dos capas #centrar y #contenido que establecen un centrado horizontal y vertical de la imagen en la pantalla, y en la etiqueta body se han suprimido los márgenes inferior y superior, y la barra de desplazamiento lateral del navegador, quedando un fondo negro con la imagen correspondiente en el centro. According to the style sheet layout method, two #centrate and #content layers have been defined that establish a horizontal and vertical centering of the image on the screen, and in the body tag the lower and upper margins have been suppressed, and the browser side scroll bar, leaving a black background with the corresponding image in the center.
En la figura 26 se muestra una captura de pantalla de la misma, donde aparece una imagen con menor resolución que la establecida en la pantalla. Figure 26 shows a screenshot of it, where an image appears with a lower resolution than the one set on the screen.
Conceptos previos Previous concepts
En esta realización de la invención, se ha decidido emplear Bluetooth como método para la detección e identificación de usuarios. Cada usuario dado de alta en el sistema deberá portar un dispositivo personal con Bluetooth (e.g. un teléfono móvil). El MDI empleará la dirección MAC de ese dispositivo para identificar al usuario ante el sistema. In this embodiment of the invention, it has been decided to use Bluetooth as a method for the detection and identification of users. Each user registered in the system must carry a personal device with Bluetooth (e.g. a mobile phone). The MDI will use the MAC address of that device to identify the user to the system.
Estructura interna Internal structure
La estructura interna del módulo de detección lo forma un programa o script principal desarrollado íntegramente con lenguaje compilado Java, el cuál contiene las sentencias, funciones y estructuras de control necesarias para implementar los objetivos de esta fase de desarrollo, que conviene recordar son: búsqueda de los dispositivos bluetooth próximos a la zona de cobertura, recuperar su nombre y su dirección MAC, e insertarlos en la BD (base de datos) del sistema. Estas operaciones deben repetirse de forma indefinida. La figura 27 muestra un diagrama de flujo de la lógica asociada. The internal structure of the detection module is formed by a main program or script developed entirely with Java compiled language, which contains the sentences, functions and control structures necessary to implement the objectives of this development phase, which should be remembered are: search for Bluetooth devices near the coverage area, retrieve their name and MAC address, and insert them in the database (database) of the system. These operations must be repeated indefinitely. Figure 27 shows a flow chart of the associated logic.
La aplicación del marco de fotos digital personalizable por medio de identificación de usuarios se deriva de forma evidente de la descripción de la invención. Aporta un valor añadido en cuanto a flexibilidad y economía de espacio y recursos frente a los marcos de fotos tradicionales, y aporta un nivel adicional de personalización de contenidos sobre los marcos digitales existentes en el mercado al permitir la identificación de los usuarios y la adaptación de los contenidos en base a la presencia de determinados usuarios y a sus preferencias. The application of the customizable digital photo frame by means of user identification is clearly derived from the description of the invention. It provides added value in terms of flexibility and economy of space and resources compared to traditional photo frames, and provides an additional level of content customization on the existing digital frames in the market by allowing user identification and adaptation of the contents based on the presence of certain users and their preferences.
De forma adicional, la concepción modular de la invención puede permitir el despliegue de la misma de forma distribuida, es decir, desplegando los diferentes módulos mediante distintos dispositivos conectados entre sí por medio de una red, lo que abre posibilidades en el campo de la domótica. Como caso particular, cabe plantearse el uso de MDI como subsistemas de interfaz personalizable para sistemas domóticos más complejos. En el caso de que una vivienda estuviera automatizada mediante un sistema domótico centralizado con un controlador principal, y éste reuniese las especificaciones software/hardware impuestas por el MDI, entonces podrían distribuirse por cada una de las estancias dispositivos MDI que mostrasen las imágenes de aquellos usuarios detectados de forma individual, estableciendo una comunicación con la Base de Datos y el servidor Web integrados en dicho controlador domótico. Un ejemplo de esta posibilidad se muestra en la figura 5.1. Additionally, the modular conception of the invention can allow its deployment in a distributed manner, that is, by deploying the different modules by means of different devices connected to each other through a network, which opens up possibilities in the field of home automation. . As a particular case, the use of MDI as customizable interface subsystems for more complex home automation systems can be considered. In the event that a home was automated through a centralized home automation system with a main controller, and it met the software / hardware specifications imposed by the MDI, then MDI devices that showed the images of those users could be distributed for each of the rooms detected individually, establishing communication with the Database and the Web server integrated in said home automation controller. An example of this possibility is shown in Figure 5.1.
Claims (10)
- 1. one.
- Marco digital multimedia personalizable por medio de identificación de usuarios, que comprende un dispositivo capaz de mostrar en una pantalla, sucesiones de imágenes o fragmentos de video asociadas a uno o varios usuarios registrados en el dispositivo, atendiendo a un mecanismo de detección de presencia e identificación de usuarios. Customizable multimedia digital frame by means of user identification, which comprises a device capable of displaying on a screen, successions of images or video fragments associated with one or several users registered in the device, attending to a presence detection and identification mechanism of users.
- 2. 2.
- Marco digital multimedia personalizable por medio de identificación de usuarios según reivindicación 1, que comprende los elementos hardware y software necesarios para mostrar al usuario contenidos con sonido. Customizable multimedia digital frame by means of user identification according to claim 1, comprising the hardware and software elements necessary to show the user content with sound.
- 3. 3.
- Marco digital multimedia personalizable por medio de identificación de usuarios según cualquiera de las reivindicaciones anteriores, que comprende un sistema de gestión que permite administrar la información referente a usuarios y contenidos dados de alta en el dispositivo, así como configurar las preferencias de los diferentes usuarios en relación con la presentación de contenidos. Customizable multimedia digital framework by means of user identification according to any of the preceding claims, which comprises a management system that allows managing information regarding users and contents registered in the device, as well as setting the preferences of the different users in relationship with the presentation of contents.
- 4. Four.
- Marco digital multimedia personalizable por medio de identificación de usuarios según cualquiera de las reivindicaciones anteriores, que comprende mecanismos de identificación de usuarios mediante detección de dispositivos Bluetooth. Customizable multimedia digital frame by means of user identification according to any one of the preceding claims, comprising user identification mechanisms by detecting Bluetooth devices.
- 5. 5.
- Marco digital multimedia personalizable por medio de identificación de usuarios según cualquiera de las reivindicaciones anteriores, que comprende mecanismos de identificación de usuarios mediante detección de dispositivos WiFi. Customizable multimedia digital frame by means of user identification according to any of the preceding claims, which comprises user identification mechanisms by means of detecting WiFi devices.
- 6. 6.
- Marco digital multimedia personalizable por medio de identificación de usuarios según cualquiera de las reivindicaciones anteriores, que comprende mecanismos de identificación de usuarios mediante tags RFID. Customizable multimedia digital frame by means of user identification according to any of the preceding claims, comprising user identification mechanisms by means of RFID tags.
- 7. 7.
- Marco de fotos digital personalizable por medio de identificación de usuarios según cualquiera de las reivindicaciones anteriores, que comprende mecanismos de identificación de usuarios mediante técnicas biométricas. Customizable digital photo frame by means of user identification according to any of the preceding claims, which comprises user identification mechanisms by means of biometric techniques.
- 8. 8.
- Marco digital multimedia personalizable por medio de identificación de usuarios según cualquiera de las reivindicaciones anteriores, que comprende los elementos hardware y software necesarios para almacenar los contenidos que han de mostrarse a los usuarios en uno o varios servidores remotos de ficheros o de medios. Customizable multimedia digital framework by means of user identification according to any of the preceding claims, comprising the hardware and software elements necessary to store the contents to be displayed to users on one or several remote file or media servers.
- 9. 9.
- Marco digital multimedia personalizable por medio de identificación de usuarios según cualquiera de las reivindicaciones anteriores, que comprende dispositivos adicionales de interfaz y de detección distribuidos, de forma que puedan servirse los contenidos multimedia asociados a los usuarios en diferentes dispositivos de interfaz situados en diferentes ubicaciones de forma simultánea en función de la localización de los diferentes usuarios dados de alta en el sistema. Customizable multimedia digital frame by means of user identification according to any of the preceding claims, comprising additional distributed interface and detection devices, so that the multimedia contents associated with the users can be served in different interface devices located in different locations of simultaneously depending on the location of the different users registered in the system.
- CU-004CU-003 CU-001 CU-002 CU-005 CU-007 CU-006 CU-008 CU-010 CU-011 <<extends>> <<extends>> <<include>> CU-004CU-003 CU-001 CU-002 CU-005 CU-007 CU-006 CU-008 CU-010 CU-011 <<extends>> <<extends>> <<include>>
- CU-009 <<include>> CU-009 <<include>>
- MARCO DIGITAL DIGITAL FRAME
- 1 one
- 2 2
- 3 3
- 4 4
- 5 5
- Categoría Category
- 56 Documentos citados Reivindicaciones afectadas 56 Documents cited Claims Affected
- X X
- US 2006170669 A1 (WALKER JAY S et al.) 03.08.2006, 1-8 US 2006 170669 A1 (WALKER JAY S et al.) 03.08.2006, 1-8
- resumen; figura 1; párrafos [0055],[0085-0097]. summary; Figure 1; paragraphs [0055], [0085-0097].
- Y Y
- 9 9
- X X
- US 2011102444 A1 (MATSUMOTO TOMOKO) 05.05.2011, 1-8 US 2011102444 A1 (MATSUMOTO TOMOKO) 05.05.2011, 1-8
- resumen; figuras 1-2; párrafos [0015],[0043-0088]. summary; figures 1-2; paragraphs [0015], [0043-0088].
- Y Y
- US 7796190 B2 (AT&T LABS, INC.) 14.09.2010, 9 US 7796190 B2 (AT&T LABS, INC.) 14.09.2010, 9
- columna 1, línea 55 – columna 2, línea 15; columna 3, línea 62 – columna 10, línea 7. column 1, line 55 - column 2, line 15; column 3, line 62 - column 10, line 7.
- Categoría de los documentos citados X: de particular relevancia Y: de particular relevancia combinado con otro/s de la misma categoría A: refleja el estado de la técnica O: referido a divulgación no escrita P: publicado entre la fecha de prioridad y la de presentación de la solicitud E: documento anterior, pero publicado después de la fecha de presentación de la solicitud Category of the documents cited X: of particular relevance Y: of particular relevance combined with other / s of the same category A: reflects the state of the art O: refers to unwritten disclosure P: published between the priority date and the date of priority submission of the application E: previous document, but published after the date of submission of the application
- El presente informe ha sido realizado • para todas las reivindicaciones • para las reivindicaciones nº: This report has been prepared • for all claims • for claims no:
- Fecha de realización del informe 24.09.2013 Date of realization of the report 24.09.2013
- Examinador M. Rivas Sáiz Página 1/4 Examiner M. Rivas Sáiz Page 1/4
- Novedad (Art. 6.1 LP 11/1986) Novelty (Art. 6.1 LP 11/1986)
- Reivindicaciones Reivindicaciones 4,5,9 1-3, 6-8 SI NO Claims Claims 4,5,9 1-3, 6-8 IF NOT
- Actividad inventiva (Art. 8.1 LP11/1986) Inventive activity (Art. 8.1 LP11 / 1986)
- Reivindicaciones Reivindicaciones 4,5,9 SI NO Claims Claims 4,5,9 IF NOT
- Documento Document
- Número Publicación o Identificación Fecha Publicación Publication or Identification Number publication date
- D01 D01
- US 2006170669 A1 (WALKER JAY S et al.) 03.08.2006 US 2006 170669 A1 (WALKER JAY S et al.) 03.08.2006
- D02 D02
- US 7796190 B2 (AT&T LABS, INC.) 14.09.2010 US 7796190 B2 (AT&T LABS, INC.) 14.09.2010
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
ES201131275A ES2402005B1 (en) | 2011-07-26 | 2011-07-26 | CUSTOMIZABLE MULTIMEDIA DIGITAL FRAMEWORK BY USER IDENTIFICATION |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
ES201131275A ES2402005B1 (en) | 2011-07-26 | 2011-07-26 | CUSTOMIZABLE MULTIMEDIA DIGITAL FRAMEWORK BY USER IDENTIFICATION |
Publications (3)
Publication Number | Publication Date |
---|---|
ES2402005A2 ES2402005A2 (en) | 2013-04-26 |
ES2402005R1 ES2402005R1 (en) | 2013-10-08 |
ES2402005B1 true ES2402005B1 (en) | 2014-05-14 |
Family
ID=48050994
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES201131275A Active ES2402005B1 (en) | 2011-07-26 | 2011-07-26 | CUSTOMIZABLE MULTIMEDIA DIGITAL FRAMEWORK BY USER IDENTIFICATION |
Country Status (1)
Country | Link |
---|---|
ES (1) | ES2402005B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ES2723898A1 (en) * | 2018-02-27 | 2019-09-03 | Happy Punt S L U | PRODUCT IDENTIFIER SYSTEM AND PROCEDURE (Machine-translation by Google Translate, not legally binding) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060170669A1 (en) * | 2002-08-12 | 2006-08-03 | Walker Jay S | Digital picture frame and method for editing |
US7796190B2 (en) * | 2008-08-15 | 2010-09-14 | At&T Labs, Inc. | System and method for adaptive content rendition |
JP5350871B2 (en) * | 2009-04-20 | 2013-11-27 | シャープ株式会社 | Information display device and information display method |
-
2011
- 2011-07-26 ES ES201131275A patent/ES2402005B1/en active Active
Also Published As
Publication number | Publication date |
---|---|
ES2402005R1 (en) | 2013-10-08 |
ES2402005A2 (en) | 2013-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7311643B2 (en) | Secure authorization through modal windows | |
US20190364029A1 (en) | Flexible framework for secure search | |
Ghatol et al. | Beginning PhoneGap | |
BR112019024309A2 (en) | edit database while viewing virtual web page | |
JP2022153514A (en) | Browser for mixed reality systems | |
US10261761B1 (en) | Template-driven data access | |
CN106796632A (en) | To the Remote Visit and Control of data storage | |
US10936740B2 (en) | Systems and methods for securing an entity-relationship system | |
US9350738B2 (en) | Template representation of security resources | |
US20160170730A1 (en) | Method and system for context-based control over access to personal data | |
WO2011080360A1 (en) | Method for establishing a relationship between semantic data and the running of a widget | |
Iglesias et al. | Mobile website development: From site to app | |
Rodger | Beginning mobile application development in the cloud | |
ES2402005B1 (en) | CUSTOMIZABLE MULTIMEDIA DIGITAL FRAMEWORK BY USER IDENTIFICATION | |
KR101602403B1 (en) | System for managing mobile application and method for managing the same | |
US20220392633A1 (en) | Personalized data graphs including user domain concepts | |
US20130145262A1 (en) | Visual Interface Browser | |
McCollum | Practical Salesforce Architecture | |
Molina | Karma-based API on apple platforms: building privacy into iOS and macOS Apps | |
da Silva | Development of a Mobile Application for Georeferenced data Collection in the Field | |
Yayi | Implementation of trash assessment system | |
Chen et al. | Inventory in ABCD mode Community Assets of Sanmin District, Kaohsiung City for Google Maps | |
Baruch | Studying up on Study Abroad: Design and Development of MT TravelBlog | |
Pouzar | Informační systém pro veletrh JobChallenge | |
Breen | OpenSesamessage Smart Home Entry System: Technical Report |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FG2A | Definitive protection |
Ref document number: 2402005 Country of ref document: ES Kind code of ref document: B1 Effective date: 20140514 |