ES2751941T3 - Interfaces de usuario y tableros de control parametrizados - Google Patents

Interfaces de usuario y tableros de control parametrizados Download PDF

Info

Publication number
ES2751941T3
ES2751941T3 ES17204738T ES17204738T ES2751941T3 ES 2751941 T3 ES2751941 T3 ES 2751941T3 ES 17204738 T ES17204738 T ES 17204738T ES 17204738 T ES17204738 T ES 17204738T ES 2751941 T3 ES2751941 T3 ES 2751941T3
Authority
ES
Spain
Prior art keywords
data
display
graphical
graphic
instructions
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
Application number
ES17204738T
Other languages
English (en)
Inventor
Amr Al Mallah
Alexander Visbal
David Philipson
James Thompson
Natasha D'souza
Ryan Xie
Wayne Chen Spiegel
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Palantir Technologies Inc
Original Assignee
Palantir Technologies Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Palantir Technologies Inc filed Critical Palantir Technologies Inc
Application granted granted Critical
Publication of ES2751941T3 publication Critical patent/ES2751941T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • G06F16/972Access to data in other repository systems, e.g. legacy data or dynamic Web page generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9577Optimising the visualization of content, e.g. distillation of HTML documents

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

Un método que comprende: usar un primer ordenador (104), en respuesta a la detección de un cambio en una fuente de datos: generar automáticamente un conjunto de datos que comprende un subconjunto de datos de la fuente de datos, generar un identificador (154) de conjunto de datos único y asociar el identificador (154) del conjunto de datos con el conjunto de datos en el almacenamiento de datos digitales; generar una descripción (120) de visualización que comprende: el identificador (154) del conjunto de datos; y para cada objeto gráfico de visualización de datos gráficos particular entre dos o más objetos gráficos de visualización de datos gráficos, instrucciones que especifican un tipo de objeto gráfico, un orden y uno o más valores de configuración de objeto gráfico para el objeto gráfico de visualización de datos gráficos particular en el que las instrucciones comprenden un conjunto de primeras instrucciones de un primer objeto gráfico configurado para especificar un primer valor ordinal que es mayor en orden que un segundo valor ordinal en un conjunto de segundas instrucciones de un segundo objeto gráfico; y transmitir la descripción (120) de visualización a un segundo ordenador (106).

Description

DESCRIPCIÓN
Interfaces de usuario y tableros de control parametrizados
Campo técnico
Un campo técnico de la presente divulgación son las interfaces gráficas de usuario para pantallas de ordenador. Otro campo técnico son las técnicas de visualización de datos implementadas por ordenador. Otro campo técnico es la estructura y el uso de metadescripciones de visualización de datos de ordenador.
Antecedentes
Los enfoques descritos en esta sección son enfoques que podrían seguirse, pero no necesariamente enfoques que se hayan concebido o seguido previamente. Por lo tanto, a menos que se indique lo contrario, no se debe suponer que ninguno de los enfoques descritos en esta sección califica como técnica anterior simplemente en virtud de su inclusión en esta sección.
Las pantallas gráficas de datos relacionados con el uso o el rendimiento de aplicaciones de software denominadas “tableros de control” se han utilizado ampliamente. Sin embargo, tradicionalmente, los tableros de control se codifican de forma personalizada como parte de una aplicación SaaS, de escritorio o móvil. La modificación de un atributo del tablero de control, como el tipo de objeto gráfico (gráfico de líneas, gráfico de barras o histograma, por ejemplo), generalmente requiere cambiar el código y distribuir una nueva versión de la aplicación. Como resultado, la apariencia de los tableros de control es relativamente estática y no pueden adaptarse fácilmente a los cambios en el esquema u ontología de la fuente de datos que impulsa la visualización de datos en los tableros de control.
Si se proporcionan notificaciones desde la aplicación, también tienden a ser estáticas y no están bien conectadas a los objetos gráficos dentro del tablero de control. Por ejemplo, la notificación típica de la aplicación simplemente indica que se produjo algún tipo de cambio en la aplicación, pero que no está asociada con un tablero de control u objeto gráfico específico. Otro problema más es que, en el contexto de los dispositivos informáticos móviles, si los datos cambian en un servidor remoto, normalmente el servidor debe transferir o enviar los datos y el dispositivo móvil debe determinar qué tablero de control y/o objetos gráficos se utilizarán para procesar los datos. O bien, los objetos gráficos y los datos se combinan, como en HTML, lo que requiere transferencias de datos grandes y repetitivos a través de conexiones de red que pueden tener poco ancho de banda o estar sujetas a interrupción. Por lo tanto, dentro de estos campos existe la necesidad de mejorar las técnicas implementadas en el ordenador para definir visualización de datos gráficos y notificaciones relacionadas con ellos.
El documento US 2015/0073829 divulga un método y un sistema para distribuir datos del paciente y proporcionar notificaciones del estado del paciente.
Breve descripción de los dibujos
Las realizaciones de ejemplo de la presente invención se ilustran a modo de ejemplo, y no de forma limitante, en las figuras de los dibujos adjuntos y en las que los números de referencia similares se refieren a elementos similares y en los que:
La figura 1 ilustra un ejemplo de sistema informático en red que puede usarse para implementar una realización. La figura 2 ilustra un algoritmo que puede programarse para su ejecución utilizando el sistema informático de la figura 1 para implementar una realización.
La figura 3 ilustra un ejemplo de interfaz gráfica de usuario que puede visualizarse utilizando un dispositivo informático móvil en una realización, y que muestra un tablero de datos que tiene dos (2) objetos gráficos de diagramas de líneas.
La figura 4 ilustra una parte de una interfaz gráfica de usuario de ejemplo que puede visualizarse utilizando un dispositivo informático móvil en una realización, y que muestra un objeto gráfico de lista de valores clave.
La figura 5 ilustra un ejemplo de interfaz gráfica de usuario que puede visualizarse utilizando un dispositivo informático móvil en una realización, y que muestra un panel de navegación.
La figura 6 ilustra un ejemplo de interfaz gráfica de usuario que puede visualizarse utilizando un dispositivo informático móvil en una realización, y que muestra un menú de herramientas.
La figura 7 ilustra un ejemplo de interfaz gráfica de usuario que puede visualizarse utilizando un dispositivo informático móvil en una realización, y que muestra un panel de configuración para configurar un primer nivel de notificaciones.
La figura 8 ilustra un ejemplo de interfaz gráfica de usuario que puede visualizarse utilizando un dispositivo informático móvil en una realización, y que muestra un panel de configuración para configurar un segundo nivel de notificaciones.
La figura 9 es un diagrama de bloques de un dispositivo informático en el que se pueden realizar las realizaciones de ejemplo de la presente invención.
La figura 10 es un diagrama de bloques de un sistema de software para controlar el funcionamiento del dispositivo informático.
Si bien cada una de las figuras ilustra una realización particular con el fin de ilustrar un ejemplo claro, otras realizaciones pueden omitir, agregar, reordenar y/o modificar cualquiera de los elementos mostrados en las figuras. Descripción de las realizaciones de ejemplo
En la siguiente descripción, para fines de explicación, se exponen numerosos detalles específicos con el fin de proporcionar una comprensión exhaustiva de las realizaciones de ejemplo de la presente invención. Sin embargo, será evidente que la(s) realización(es) de ejemplo se pueden practicar sin estos detalles específicos. En otros casos, se muestran estructuras y dispositivos bien conocidos en forma de diagrama de bloques para evitar oscurecer innecesariamente las realizaciones de ejemplo.
1.0 Panorama general
El alcance de la invención se define en las reivindicaciones adjuntas.
Las técnicas divulgadas en el presente documento reducen la cantidad de esfuerzo de programación manual, memoria, almacenamiento y procesamiento de CPU necesarios para implementar diferentes tipos de tableros de control. Los tableros de control parametrizados como se describe en el presente documento permiten sustituir valores específicos en una plantilla de descripción de pantalla que puede generar rápidamente descripciones de tableros de control específicos de la aplicación y entregarlos a dispositivos móviles.
En una realización, la divulgación proporciona un método de procesamiento de datos que comprende, utilizar un primer ordenador, en respuesta a la detección de un cambio en una fuente de datos: generar automáticamente un conjunto de datos que comprende un subconjunto de datos de la fuente de datos, generar un conjunto de datos único identificador y asociar el identificador del conjunto de datos con el conjunto de datos en el almacenamiento de datos digitales; generar una descripción de visualización que comprende: el identificador del conjunto de datos; y para cada objeto gráfico de visualización de datos gráficos particular entre uno o más objetos gráficos de visualización de datos gráficos, instrucciones que especifican un tipo de objeto gráfico, un orden y uno o más valores de configuración de objeto gráfico para el objeto gráfico de visualización de datos gráficos particular; transmitiendo la descripción de la pantalla a un segundo ordenador.
En otro aspecto, un método de procesamiento de datos comprende recibir, desde un primer ordenador en un segundo ordenador, una descripción de visualización que comprende: un identificador de conjunto de datos; y una pluralidad de instrucciones que especifican un tipo de objeto gráfico, un valor de orden de visualización y uno o más valores de configuración de objeto gráfico para cada objeto gráfico entre uno o más objetos gráficos de visualización de datos gráficos; el conjunto de datos se ha generado utilizando un subconjunto de datos de una fuente de datos, y asociado en el almacenamiento de datos digitales con un identificador único de conjunto de datos, en respuesta a la detección de un cambio en una fuente de datos; recuperar el conjunto de datos basado en el identificador del conjunto de datos; renderizar uno o más objetos gráficos de visualización de datos gráficos de acuerdo con cada valor de orden de visualización, cada tipo de objeto gráfico y los valores de configuración del objeto gráfico; mostrar la pluralidad de objetos gráficos de visualización de datos gráficos en una pantalla del segundo ordenador.
Las instrucciones pueden configurarse, en algunas realizaciones, de modo que la ejecución utilizando el segundo ordenador hace que el segundo ordenador extrae el conjunto de datos basado en el identificador del conjunto de datos y renderice la pluralidad de objetos gráficos de visualización de datos gráficos. En una realización, la divulgación también proporciona un método de procesamiento de datos que comprende recibir, desde un primer ordenador en un segundo ordenador, una descripción de visualización que comprende un identificador de conjunto de datos, un orden de visualización para una pluralidad de objetos gráficos de visualización de datos gráficos y una pluralidad de instrucciones que especifican un tipo de objeto gráfico y uno o más valores de configuración de objeto gráfico para cada objeto gráfico entre la pluralidad de objetos gráficos de visualización de datos gráficos; en el que el conjunto de datos se generó automáticamente utilizando un subconjunto de datos de una fuente de datos, y asociado en el almacenamiento de datos digitales con un identificador de conjunto de datos único, en respuesta a la detección de un cambio en una fuente de datos; extraer el conjunto de datos basado en el identificador del conjunto de datos; renderizar la pluralidad de objetos gráficos de visualización de datos gráficos de acuerdo con el orden de visualización, cada tipo de objeto gráfico y los valores de configuración del objeto gráfico; y mostrar la pluralidad de objetos gráficos de visualización de datos gráficos en una pantalla del segundo ordenador.
En una realización, un proceso implementado por ordenador está programado para verificar periódicamente las fuentes de datos y detectar que se han producido cambios en una fuente de datos particular. En respuesta, el proceso provoca la generación de un conjunto de datos, de la fuente de datos, que es adecuado para mostrar utilizando uno o más tableros de control. Cada conjunto de datos tiene un único identificador. Al mismo tiempo, el proceso provoca la generación de una o más descripciones de uno o más tableros de control. Cada descripción consta de datos estructurados que pueden entregarse de manera eficiente a través de una conexión de red a un dispositivo informático que ha sido programado con una lógica de interpretación capaz de leer y analizar la descripción y renderizar gráficamente un tablero basado en la descripción; por ejemplo, JSON se puede usar para representar atributos de un tablero de control. Como parte del análisis, se extrae el identificador único del conjunto de datos, y el conjunto de datos se extrae mediante una solicitud que contiene el identificador.
La generación de las descripciones se basa en datos en múltiples niveles. Por ejemplo, los valores de parámetros configurables identifican el conjunto de datos; el tipo de tablero de control; qué columnas en el conjunto de datos se utilizarán para los valores en el conjunto de datos y las etiquetas del eje, según corresponda; rangos de eje; formatos de fechas u otros tipos de datos; y otros. Otros datos definen los títulos, subtítulos y el orden de varios objetos gráficos que aparecen en una pantalla desplazable. Aún otros datos pueden definir una o más notificaciones asociadas con un objeto gráfico en particular, o al nivel de todos los objetos gráficos. En una realización de ejemplo, los objetos gráficos específicos muestran datos relacionados con las métricas de uso principales para aplicaciones tales como el uso activo en varios segmentos de tiempo (usuarios activos por hora, por ejemplo), retención, popularidad de aplicaciones o archivos, nuevos usuarios, recuentos de sesiones, duraciones de sesión, conteos de ocurrencias de acciones “favoritas” y otras.
Algunas realizaciones están optimizadas de diversas maneras para su uso con dispositivos informáticos móviles. En una realización, una vez que la descripción se ha recibido y analizado en el dispositivo de computación móvil, el tablero y los objetos gráficos pueden actualizarse simplemente volviendo a extraer una versión actualizada o renovada del conjunto de datos utilizando el mismo identificador único.
En una realización, una pantalla gráfica de tablero de una aplicación móvil ejecutada utilizando un dispositivo informático móvil comprende objetos gráficos, cada uno de los cuales puede ser un gráfico lineal, un gráfico de valores clave, un gráfico de barras u otra pantalla. Cada tablero de control de control se representa utilizando la información almacenada en un archivo de descripción de pantalla. El archivo de descripción de pantalla incluye información como títulos, subtítulos, tipos de objetos gráficos y orden, y otros metadatos sobre cómo se debe representar el tablero de control. Cada objeto gráfico está respaldado por un conjunto de datos estructurado que comprende datos de origen para una visualización. Cada objeto gráfico está vinculado a su conjunto de datos estructurado de respaldo en la descripción de visualización mediante un identificador de recurso único del conjunto de datos y uno o más nombres de columna. Por ejemplo, un objeto gráfico de diagrama de líneas puede incluir un identificador de recursos que apunta a una ubicación de datos para renderizar y nombres de columna para un eje X y un eje Y. Se puede usar una cantidad relativamente pequeña de objetos gráficos para expresar claramente una gran cantidad de conjuntos de datos diferentes.
En una realización, las alertas se derivan automáticamente de los datos del tablero de control. Por ejemplo, tener un gráfico de líneas en un tablero hace que se active automáticamente una alerta de inserción cuando hay nuevos datos disponibles para mostrar en el gráfico.
La divulgación también define y describe un conjunto enfocado de métricas que pueden indicar, en una realización de ejemplo, si una aplicación o producto de programa de ordenador en particular es exitoso en términos de uso, participación y retención del usuario.
“Objeto gráfico”, como se usa en el presente documento, es un término amplio que abarca numerosas realizaciones posibles, que incluyen un componente de una interfaz (tal como una página web o una interfaz de aplicación informática), que permite a un usuario realizar una función y/o acceder a un servicio; un elemento de control en una interfaz gráfica de usuario, como un elemento de interacción, como un cuadro de entrada de texto, un botón o una barra de desplazamiento; y/o un componente de software con el que un usuario interactúa para leer, ver y/o editar la información presentada. Los objetos gráficos incluyen, entre otros, listas de valores clave, menús (por ejemplo, menús de herramientas, menús contextuales, menús circulares), cuadros y gráficos (por ejemplo, cuadros circulares, cuadros lineales, histogramas, etc., incluidos cuadros y gráficos interactivos), paneles de navegación, paneles de configuración, elementos de notificación, botones (botones de opción, casillas de verificación, botones divididos, botones de ciclo), controles deslizantes (por ejemplo, controles deslizantes verticales u horizontales), cuadros de lista, selectores numéricos, listas desplegables, barras de herramientas, cuadros de texto, cuadros de combo (por ejemplo, un cuadro de texto con una lista desplegable), iconos, elementos de control de vista de árbol, elementos de control de vista de cuadrícula, enlaces, pestañas, barras de desplazamiento, etiquetas, información sobre herramientas, ayuda de globo, barras de estado y progreso, barras de información, ventanas (por ejemplo, paneles plegables, ventanas de acordeón y modales, cuadros de diálogo, marcos, lienzos y elementos de flujo de burbujas y cubiertas).
2.0 Ejemplo de implementación del sistema informático
La figura 1 ilustra un ejemplo de sistema informático en red que puede usarse para implementar una realización.
En el ejemplo de la figura 1, un primer ordenador 104 está acoplado comunicativamente a través de la red 110 a un segundo ordenador 106, un ordenador 194 de servicio, y a una o más fuentes 102 y 192 de datos. En una realización, el ordenador 104 es un ordenador de clase servidor, un ordenador 194 de servicio es un ordenador de clase servidor de servicio, y el ordenador 106 es un dispositivo informático móvil, pero esta configuración no es necesaria en todas las realizaciones y cualquier ordenador puede comprender un ordenador servidor, ordenador de escritorio u ordenador portátil. El segundo ordenador 106 puede ser cualquiera de estos, así como una tableta o teléfono inteligente. Cada uno de los primeros ordenadores 104 y ordenadores 194 servicio puede comprender una o más instancias de máquinas virtuales que se alojan o ejecutan utilizando un centro de datos reconfigurable o un servicio de computación en la nube. Además, el primer ordenador 104 y el ordenador 194 de servicio pueden ser ordenadores separados, el mismo ordenador y pueden ejecutar las mismas máquinas virtuales o máquinas separadas.
La red 110 representa ampliamente cualquier combinación de una red de área local, una red de área amplia, internetwork, Internet pública y similares. En una realización, la red 110 se comunica con interfaces de hardware de red compatibles y software de pila de red en cada uno de los ordenadores 104, 106, 194 utilizando implementaciones de protocolos y estándares públicos tales como TCP/IP.
La fuente 102 de datos puede ser cualquier depósito de registros de datos implementados por ordenador y almacena digitalmente un conjunto 150 de datos, y un subconjunto 152 de datos que comprende una parte del conjunto 150 de datos y que tiene un identificador 154 único de conjunto de datos. Un registro de datos puede incluir cualquier dato implementado por ordenador, como un archivo, un objeto de datos, una entrada de base de datos, un mensaje de datos o cualquier otra representación similar de datos implementados por ordenador. En una realización, un registro de datos puede representarse como un archivo o entrada en un archivo que está en un formato de valores separados por comas (CSV), o un formato de conjunto de datos similar. Las realizaciones descritas en este documento no requieren ningún tipo o formato particular de los registros de datos proporcionados por una fuente de datos. Por lo tanto, la fuente 102 de datos puede comprender un sistema de archivos, un sistema de gestión de bases de datos relacionales (RDBMS), una base de datos no relacional, un almacén de objetos, un sistema de archivos distribuido (DFS) tal como un sistema de archivos distribuidos Hadoop (HDFS), una fuente de Java Database Connectivity (JDBC), un repositorio de correo electrónico, datos recibidos a través de una interfaz de programación de aplicaciones (API), un repositorio de código fuente, un repositorio de datos basado en la nube como Amazon Simple Storage Service (S3), una cola de mensajes o cualquier otro repositorio en uno o más dispositivos informáticos que contenga registros de datos. Como se muestra, las fuentes 102, 192 de datos, el conjunto 150 de datos, el subconjunto 152 de datos y el identificador 154 único del subconjunto de datos pueden ser parte de un sistema 190 de base de datos distribuida. En realizaciones alternativas, cada uno puede ser separado o dos o más pueden ser parte del sistema 190 de la base de datos distribuida.
El ordenador 104 almacena y ejecuta un sistema operativo y puede alojar uno o más programas de aplicación. En una realización, el ordenador 104 aloja y ejecuta las instrucciones 112 de interfaz de datos y las instrucciones 114 de generación de tablero de control, que están configuradas o programadas para implementar las funciones que se describen adicionalmente en otras secciones en el presente documento. En general, las instrucciones 112 de interfaz de datos proporcionan una interfaz a la fuente 102 de datos y pueden programarse para solicitar a la fuente 102 de datos que genere o forme el subconjunto 152 de datos y que genere y asocie el identificador 154 de conjunto de datos con el subconjunto de datos. Las instrucciones 112 de interfaz de datos también pueden programarse para detectar uno o más cambios o actualizaciones del conjunto 150 de datos, para generar el subconjunto 152 de datos en respuesta a la detección de dichos cambios o actualizaciones, y para indicar al tablero de control que genera instrucciones para generar una descripción 120 de visualización. En general, las instrucciones 114 de generación de tablero de control están configuradas o programadas para responder a una señal de las instrucciones 112 de interfaz de datos creando la descripción 120 de visualización. El ordenador 104 también puede almacenar datos limpios y descripciones de tablero de control en la segunda fuente 192 de datos. Segunda fuente 192 de datos puede comprender un sistema de archivos, un sistema de gestión de bases de datos relacionales (RDBMS), una base de datos no relacional, un almacén de objetos, un sistema de archivos distribuido (DFS) como un sistema de archivos distribuidos Hadoop (HDFS), una fuente de conectividad de base de datos Java (JDBC), un depósito de correo electrónico, datos recibidos a través de una interfaz de programación de aplicaciones (API), un depósito de código fuente, un depósito de datos basado en la nube como Amazon Simple Storage Service (S3), una cola de mensajes o cualquier otro repositorio en uno o más dispositivos informáticos que contenga registros de datos. Por ejemplo, en algunas realizaciones, la segunda fuente 192 de datos puede incluir un DFS o HDFS, que se usa para almacenar la fuente de datos limpia y la descripción del tablero de control y puede exportarlos a un RDBMS para una búsqueda y recuperación rápidas. El RDBMS al que se exportan la fuente de datos limpia y las descripciones del tablero de control pueden estar separadas del sistema 190 de base de datos distribuida. Sin embargo, en diversas realizaciones, el RDBMS puede ser parte del sistema 190 de base de datos distribuida.
El ordenador 194 de servicio puede almacenar y ejecutar instrucciones que extraen datos y descripciones del tablero del control, como, por ejemplo, mostrar la descripción 120, de la segunda fuente 192 de datos, o el RDBMS al que exporta la segunda fuente 192 de datos, y enviarlos al ordenador 106.
La descripción 120 de visualización comprende metadatos almacenados digitalmente que describen cómo ordenar y formatear uno o más objetos gráficos de visualización de datos gráficos en una interfaz gráfica de usuario. Como se describe adicionalmente en este documento, otro dispositivo informático tal como el ordenador 106 puede usar la descripción 120 de visualización para representar una interfaz gráfica de usuario, tal como un tablero de datos u otra pantalla, que incluye objetos gráficos de visualización de datos gráficos como se especifica en la descripción de la pantalla. En una realización, la descripción 120 de visualización comprende un identificador 154 de conjunto de datos, y una o más descripciones 124, 126, 128 de objeto gráfico de las cuales tres (3) se muestran en la figura 1 para ilustrar un claro ejemplo. Las descripciones 124, 126 y 128 de objetos gráficos pueden estar en un orden particular, y ese orden puede definir el orden en que se muestran los objetos gráficos. En realizaciones alternativas, se pueden usar otros enfoques para determinar el orden, tal como usar un valor de orden de visualización opcional para cada objeto gráfico descrito por las descripciones 124, 126 y 128 de objeto gráfico para definir el orden de visualización. Otras realizaciones y ciclos de ejecución de las técnicas en el presente documento pueden tener menos o más de tales descripciones de objetos gráficos en una descripción 120 de visualización. Como se muestra además en la figura 1, cada una de las descripciones 124, 126, 128 de objeto gráfico comprende un tipo 130 de objeto gráfico y uno o más valores 132 de configuración de objeto gráfico.
En una realización, el identificador 154 de conjunto de datos identifica el subconjunto 152 de datos y, por lo tanto, sirve como referencia a un conjunto de datos que el segundo ordenador 106 debería representar en una interfaz gráfica de usuario utilizando los objetos gráficos. El orden de visualización en el que el segundo ordenador 106 debe representar los objetos gráficos descritos por las descripciones 124, 126, 128 de objeto gráfico puede determinarse por el orden de aparición de una o más descripciones 124, 126, 128 de objeto gráfico. En cada una de las descripciones 124, 126, 128 de objeto gráfico, el tipo 130 de objeto gráfico es un valor que especifica uno de una pluralidad de diferentes objetos gráficos de visualización de datos gráficos que se pueden visualizar. Los ejemplos de objetos gráficos que pueden programarse en diferentes realizaciones e identificarse utilizando el tipo 130 de objeto gráfico pueden incluir un gráfico de líneas, gráfico de barras, gráfico circular, histograma y similares, cada uno de los cuales puede identificarse utilizando un valor diferente del valor del tipo de objeto gráfico. En una realización, los valores 132 de configuración de objeto gráfico pueden especificar parámetros de visualización para un objeto gráfico particular que son apropiados para el tipo de objeto gráfico; Los ejemplos incluyen valores de etiquetas de eje, rangos de eje, números de líneas, colores, factores de escala, formatos y unidades de visualización de datos.
El ordenador 106 aloja o ejecuta las instrucciones 160 de presentación de tablero de control que están programadas en parte para recibir, almacenar e interpretar localmente una descripción 120 de pantalla recibida del ordenador 194 de servicio y para representar uno o más objetos 180, 182 gráficos en una pantalla de tablero en un dispositivo 108 de visualización de ordenador. Para ilustrar un ejemplo claro, se muestran dos (2) objetos 180, 182 gráficos en la figura 1, pero otras realizaciones o instancias de ejecución de las técnicas aquí incluidas pueden incluir más o menos objetos gráficos en la pantalla 170. El término “pantalla de tablero de control” se usa para el elemento 170 como un ejemplo, pero no se requiere una pantalla organizada como tablero y los objetos 180, 182 gráficos pueden formar porciones, tableros de control, ventanas u otros elementos de cualquier tipo de interfaz gráfica de usuario.
3.0 Algoritmo de ejemplo para generar visualización de datos y ejemplos de visualización de interfaz de usuario
La figura 2 ilustra un algoritmo que puede programarse para su ejecución utilizando el sistema informático de la figura 1 para implementar una realización. La figura 2 tiene la intención de divulgar un algoritmo o descripción funcional que puede usarse como base para escribir programas de ordenador para implementar las funciones que se divulgan en este documento y que hacen que un ordenador funcione de la nueva manera que se revela en este documento. Además, la figura 2 se proporciona para comunicar dicho algoritmo con el mismo nivel de detalle que normalmente usan las personas expertas en la materia a las que se dirige esta divulgación, para comunicarse entre sí sobre planes, diseños, especificaciones y algoritmos para otros programas informáticos de un nivel de complejidad similar.
En el bloque 202, un primer ordenador tal como el ordenador 104 detecta la disponibilidad de una fuente de datos o conjunto de datos, o un cambio en un conjunto de datos especificado. Como ejemplo, el ordenador 104 puede programarse con un trabajo con diario o nocturno que inspecciona una base de datos, tabla u otro repositorio de datos específico para determinar si un valor de “última actualización”, o el equivalente, ha cambiado desde una última inspección. En algunas realizaciones, el conjunto 150 de datos comprende una pluralidad de tablas de datos diferentes, el subconjunto 152 de datos comprende una sola tabla y un trabajo programado detecta la presencia de un nuevo subconjunto de datos de una sola tabla en un repositorio especificado, ubicación de almacenamiento lógico o en un conjunto de uno o más dispositivos particulares de almacenamiento de datos digitales. O bien, el primer ordenador puede recibir una señal de otro ordenador o sistema de gestión de datos que indique que se ha instalado o puesto en funcionamiento una nueva fuente de datos. El bloque 202 también puede implicar la creación del subconjunto 152 de datos en respuesta a la detección de una nueva tabla, utilizando un esquema predefinido que especifica cómo formar conjuntos de datos que representan datos de objeto gráfico.
Los trabajos que se ejecutan para detectar cambios en una fuente de datos pueden ejecutarse en otros ordenadores separados del primer ordenador y pueden enviar señales o mensajes al primer ordenador, como el ordenador 104, indicando que los datos cambiaron, se actualizaron o que Los datos o las fuentes de datos están disponibles. Las instrucciones particulares, computadoras o mecanismos utilizados para realizar el bloque 202 no son críticos; lo importante es que un primer ordenador reciba datos relacionados con un cambio o actualización de un conjunto de datos específico, o la disponibilidad de una fuente de datos o conjunto de datos.
En el bloque 204, el proceso genera automáticamente un subconjunto del conjunto de datos que se detectó o cambió y en el bloque 206 se asigna un identificador al subconjunto. Por ejemplo, haciendo referencia a la figura 1, el primer ordenador 104 puede programarse para solicitar a la fuente 102 de datos que cree y almacene el subconjunto 152 de datos basándose en el conjunto 150 de datos, y que genere y asigne un identificador 154 único al subconjunto de datos. El identificador 154 único puede ser un identificador de recurso o “rid”. El subconjunto 152 de datos puede ser cualquier parte especificada del conjunto 150 de datos que sea útil para mostrar utilizando el segundo ordenador 106. El subconjunto 152 de datos puede ser una tabla particular, un conjunto de columnas en una tabla, un conjunto de tablas unidas, un conjunto de cambios o datos actualizados, o cualquier otro rango o porción de datos. El subconjunto 152 de datos no necesita ser solo los datos que cambiaron en el conjunto de datos especificado.
En el bloque 208, el proceso genera una descripción de visualización. En una realización, una descripción 120 de visualización como se ve en la figura 1 incluye el identificador que se generó en el bloque 206, un orden de visualización e instrucciones para tipos de objetos gráficos y configuraciones de objetos gráficos para uno o más objetos gráficos de visualización de datos gráficos. Como se discute aquí, el orden de visualización se puede determinar mediante programación, tal como por orden de aparición de las descripciones 124, 126, 128 de objeto gráfico en la descripción 120 de visualización, o, en realizaciones alternativas, se puede determinar en base a valores ordinales asociados con objetos gráficos, valores ordinales para tipos de objetos gráficos, etc. Por ejemplo, el orden de visualización de los objetos gráficos puede basarse en el orden de los objetos gráficos relacionados en una lista JSON, como en el ejemplo a continuación. La descripción de visualización utiliza el identificador del bloque 206 como referencia a los datos que se mostrarán; por lo tanto, la descripción de visualización no contiene el conjunto 150 de datos o el subconjunto 152, sino una referencia al subconjunto. Además, la descripción de la pantalla no contiene instrucciones ejecutables para representar una ventana gráfica particular, tablero de control, gráfico, tabla u otros elementos de presentación; las instrucciones para realizar esas funciones se mantienen en el segundo ordenador y se ejecutan allí. En cambio, la descripción de visualización es una metadescripción que indica qué datos obtener para mostrar y cómo formatear o estructurar los objetos gráficos de visualización de datos gráficos.
En una realización, la descripción de visualización generada en el bloque 208 comprende código en un lenguaje de marcado y empaquetado para transmitir a través de una red informática al segundo ordenador.
En una realización, la descripción de la pantalla comprende código JSON. La TABLA 1 ilustra un ejemplo de un blob JSON que se puede usar como descripción de visualización:
Tabla 1 Ejemplo JSON de descripción de pantalla
{
"dataSource": "%data_source%",
"title": "%deployment_name% - %product_display_name%", "widgetContainers": [
{
"subtitle": "Number of users who accessed %product_display_name% each day.", "title": "Daily Active Users",
"widgets": [
{
"isStepChart": false,
"labelColumn": "label",
"lastValueSubtitle": "UNIQUE USERS",
"showLastValue": true,
"sqlStatement": "SELECT label, MAX(active_count) AS valué FROM metric.s_by_depl oym ent WHERE stack_name = '%deployment_name%' AND product = '%product%' AND umi LIKE '%PRODUCT_USAGE.UNIQUE%:DAILY' AND current_date date(label) < 6o GROUP BY stack_name, product, label ORDER BY label",
"type": "LINE_CHART",
"valueColumn": "valué",
"widgetld": "2",
"xAxis": {
"ticks": {
"minRotation": 45
},
"time": {
"displayFormats": {
"month": "MMM"
"parser": "YYYY-MM-DD"
"unit": "day",
"unitStepSize": 7
"type": "time"
"xAxisDurationlnDays": 60,
"xFillInterval": "daily"
}
]
},
}
]
}
El ejemplo de la TABLA 1 muestra un solo objeto gráfico de “Usuarios Activos diarios” como parte de un tablero de control, pero será evidente que otros objetos gráficos podrían definirse dentro de la construcción de widgetContainers y agregarse al código JSON dado en el ejemplo. En el ejemplo, el atributo dataSource especifica una fuente de datos. El atributo “título” especifica un nombre de tablero de control y puede ser la combinación de un nombre de implementación, si corresponde, y el nombre para mostrar de un programa o producto de aplicación en particular.
La construcción widgetContainers define un objeto gráfico titulado “Usuarios Activos Diarios” con el subtítulo “Número de usuarios que accedieron (el nombre del producto) cada día”. Los valores para los atributos “isStepChart”, “labelColumn”, “lastValueSubtitle” y “showLastValue” controlan el formato del objeto gráfico y ciertas características de etiquetado. El atributo “sqlStatement”, en este ejemplo, especifica una consulta de base de datos SQL que devolverá datos del subconjunto 152 de datos que es apropiado para mostrar en este tipo de objeto gráfico, incluida la agrupación y clasificación apropiadas. El atributo “tipo” indica que el objeto gráfico es un gráfico de líneas. El atributo “valueColumn” especifica un nombre de columna en el subconjunto de datos que sirve como fuente de valores de datos. El atributo “widgetId” es un identificador para el objeto gráfico. Los valores restantes definen los parámetros de visualización del eje, los parámetros de visualización de línea, como los incrementos de paso, las unidades y los formatos de visualización para varios valores, como las fechas.
En el bloque 209, el proceso limpia y transmite los datos y la descripción a un ordenador que ve la red. Por ejemplo, volviendo a la figura 1, los datos pueden no estar en la forma en que luego se necesitarán. Como tal, el ordenador 104 puede limpiar esos datos. La limpieza de los datos que necesita el ordenador 104 puede tomar muchas formas. Por ejemplo, si hay más columnas de las necesarias para la visualización final de los datos, el ordenador 104 puede eliminar esas columnas innecesarias. En diversas realizaciones, otros tipos de limpieza pueden incluir reformatear datos, renombrar columnas y similares. Una vez que se limpian los datos, los datos y las descripciones 120 de visualización pueden enviarse a la segunda fuente 192 de datos para su almacenamiento y posterior recuperación. Como se discutió en otra parte del presente documento, la segunda fuente 192 de datos puede exportar los datos limpios y las descripciones 120 de visualización pueden exportarse a un RBDMS para una búsqueda y recuperación más rápidas. En el bloque 210, el proceso transmite la descripción de la pantalla a otro ordenador a través de una red. Por ejemplo, en la figura 1 el ordenador 194 de servicio transmite la descripción 120 de visualización al ordenador 106 a través de la red 110. El bloque 220 de la figura 2 indica que el segundo ordenador recibe la descripción de la pantalla. La operación de transmisión en el bloque 210 y la operación de recepción en el bloque 220 pueden usar sondeo, notificación automática u otros medios. El ordenador especifica que inicia la transmisión de datos y el mecanismo particular de transmisión no es crítico. Lo importante es que el segundo ordenador obtenga la descripción de los datos.
En el bloque 222, basado en el identificador del conjunto de datos en la descripción de visualización, el segundo ordenador recupera el subconjunto del conjunto de datos para visualizar. El bloque 222 puede comprender el segundo ordenador 106 de la figura 1 enviando una consulta de base de datos a través de la red 110 al ordenador 194 de servicio o directamente a la fuente 102 de datos. Como se ve en la TABLA 1, la consulta de base de datos puede comprender una instrucción SELECT de lenguaje de consulta estructurado (SQL), que se puede empaquetar en un Solicitud HTTP a la fuente 102 de datos o comunicada utilizando otra forma de interfaz de base de datos. No se requiere el uso de SQL y la fuente 102 de datos puede ser una base de datos o repositorio de datos que no sea SQL.
En el bloque 224, el proceso procesa uno o más objetos gráficos en función de la descripción de visualización y procesa los datos del subconjunto de datos en los objetos gráficos. Por ejemplo, las instrucciones 160 de presentación del tablero de control de control del segundo ordenador 106 están programadas para analizar e interpretar la descripción 120 de visualización para determinar qué número, tipo y formato de objetos gráficos de visualización de datos gráficos generar, y para llamar a una biblioteca de gráficos u otras funciones de software para conducir el dispositivo 108 de visualización de ordenador para mostrar los objetos gráficos especificados en un orden y formato particulares, y para mostrar gráficamente los datos del subconjunto de datos en esos objetos gráficos. Las instrucciones 160 de presentación del tablero de control están programadas para mostrar los diferentes tipos de objetos 180, 182 gráficos que pueden ser designados por diferentes valores del tipo 130 de objeto gráfico en una descripción 124 de objeto gráfico particular. Por ejemplo, si un valor particular del tipo 130 de objeto gráfico indica un gráfico de líneas, luego las instrucciones 160 de presentación del tablero de control de control incluyen una subrutina, método u otro grupo de instrucciones que está configurado para hacer que se visualice el gráfico de líneas de acuerdo con los valores de configuración del objeto 132 gráfico y que use el subconjunto 152 de datos indicado por el identificador 154 de conjunto de datos en la descripción 120 de pantalla.
La figura 3 ilustra un ejemplo de interfaz gráfica de usuario que puede visualizarse utilizando un dispositivo informático móvil en una realización, y muestra un tablero de control de datos que tiene dos (2) objetos gráficos de visualización de línea. La figura 4 ilustra una parte de una interfaz gráfica de usuario de ejemplo que puede visualizarse utilizando un dispositivo informático móvil en una realización, y que muestra un objeto gráfico de lista de valores clave. En el ejemplo de la figura 3, una interfaz 302 gráfica de usuario comprende un primer objeto 304 gráfico y un segundo objeto 306 gráfico. Se muestran dos objetos 304, 306 gráficos con el fin de ilustrar un ejemplo claro pero otras realizaciones, instancias de ejecución y pantallas pueden tener más o menos objetos gráficos. Los dos objetos 304, 306 gráficos podrían ser los primeros dos objetos gráficos entre una gran cantidad de objetos gráficos que se pueden desplazar verticalmente en la interfaz 302. La interfaz 302 incluye un enlace 322 de selección de herramienta que cuando se selecciona provoca la transición de la interfaz a una pantalla diferente que comprende botones, iconos u otros elementos de visualización seleccionables para activar, configurar o trabajar con opciones de configuración. Por ejemplo, en una realización, el enlace 322 de selección de herramienta puede hacer que se visualice un panel de configuración para señales de notificación visual (“notificaciones”) que se aplican a todos los objetos gráficos, como se describe adicionalmente en otra sección en el presente documento.
La interfaz también incluye un enlace 310 de navegación que indica el alcance o categoría de los objetos 304, 306 gráficos que se visualizan actualmente; en el ejemplo de la figura 3, los datos en los objetos 304, 306 gráficos muestran datos para una única implementación de un programa informático. El enlace de navegación indica “Por implementación”, si se selecciona, mostraría una lista de otras implementaciones entre las que elegir para mostrar. En una realización, un identificador 314 de implementación del objeto 304 gráfico indica un número o nombre de una implementación particular de un ordenador aplicación de programa para la cual se muestran datos en el objeto gráfico asociado; el segundo objeto 306 gráfico tiene un identificador similar.
En una realización, cada objeto 304, 306 gráfico comprende un título 312 que especifica la naturaleza de los datos que se muestran en el objeto gráfico. Los ejemplos de títulos incluyen: Usuarios Activos por Hora (de la aplicación o implementación del programa de ordenador), Usuarios Activos Diarios, Usuarios Activos Semanales, Usuarios Activos Mensuales, Retención Semanal, Retención Mensual, Triángulo de Retención Semanal, Triángulo de Retención Mensual, Tiempos Populares, Días Populares, Nuevos Usuarios por Hora, Nuevos Usuarios por Día, Nuevos Usuarios Por Semana, Nuevos Usuarios por Mes, Sesiones por Hora, Duración Promedio de Sesión Por Hora, Duración Promedio de Sesión Diaria, Usuarios Concurrentes, Usuarios Más Activos, Favoritos Diarios, Archivos Populares, Carpetas Populares, Conjuntos de Datos Más Dependientes y Archivos Más Favoritos. Uno o más de los títulos anteriores pueden, en diversas realizaciones, estar asociados con un método, subrutina u otro conjunto de instrucciones que está programado para representar un objeto 304, 306 gráfico utilizando un algoritmo particular que calcula la métrica indicada por el título. Con el fin de ilustrar un ejemplo claro, los títulos establecidos anteriormente se refieren a métricas de salud o métricas de rendimiento relevantes para la administración, mantenimiento y evaluación de aplicaciones de programas informáticos, pero otras realizaciones pueden usar títulos y algoritmos para otros fines.
Para el cálculo efectivo de las métricas establecidas anteriormente, una aplicación de programa de ordenador puede definir qué constituye el uso activo. Los ejemplos de uso activo pueden incluir ver un tablero de control, ver una página de inicio, navegar entre los archivos disponibles, etc. En algunos casos, solo una acción que confiere valor a un usuario final es parte de una definición de uso activo, y si una sesión de usuario no cumple con dicha definición, la sesión no se cuenta como parte de las métricas de Uso Activo, como Usuarios Activos Semanales. Los títulos de ejemplo establecidos anteriormente pueden estar asociados con métodos programados, subrutinas o instrucciones para calcular:
Usuarios Activos por Hora: recuento de usuarios activos únicos en una hora determinada.
Usuarios Activos Diarios: recuento de usuarios activos únicos en un día determinado.
Usuarios Activos Semanales: recuento de usuarios activos únicos en una semana dada.
Usuarios Activos Mensuales: recuento de usuarios activos únicos en una semana dada.
La Retención Semanal: De los usuarios únicos que usan una aplicación en una semana o particular, qué porcentaje de retorno n semanas más tarde. Los usuarios pueden ser filtrados a aquellos que se unieron a la aplicación en los últimos meses; un valor típico para m es 6.
Retención Mensual: de los usuarios únicos que se unen en el mes o, qué porcentaje regresa n meses después. Los usuarios pueden ser filtrados a aquellos que se unieron a la aplicación en los últimos seis meses, por ejemplo. Triángulo de Retención Semanal: la retención semanal para la cohorte de nuevos usuarios de cada semana.
Triángulo de Retención Mensual: la retención mensual para la cohorte de nuevos usuarios de cada mes.
Tiempos Populares: Distribución de las sesiones de hora del día durante las últimas w; semanas un valor de ejemplo de w es 4. También se puede denominar Distribución de uso de la hora del día.
Días más Populares: Distribución de las sesiones por día de la semana durante las últimas W semanas, por ejemplo, en las últimas cuatro semanas. También se puede denominar Distribución de uso del día de la semana.
Nuevos Usuarios por Hora: nuevos usuarios activos únicos en una hora dada.
Nuevos Usuarios por Día: nuevos usuarios activos únicos en un día determinado.
Nuevos Usuarios por Semana: nuevos usuarios activos únicos en una semana dada.
Nuevos Usuarios por Mes: nuevos usuarios activos únicos en un mes dado.
Sesiones por Hora: recuento de sesiones únicas de usuarios activos en una hora determinada, donde una sesión se define como el período de tiempo durante el cual nunca hay más de 15 minutos de intervalo en eventos de registro iniciados por el usuario, por ejemplo. Otras realizaciones pueden usar intervalos de tiempo o umbrales distintos de 15 minutos.
Duración promedio de sesión por hora: Duración promedio de sesión para sesiones que comenzaron o terminaron dentro de una hora dada.
Duración media diaria de la sesión: duración media de la sesión para las sesiones que comenzaron o terminaron en un día determinado.
Usuarios Concurrentes: recuento de usuarios activos únicos que están activos en un minuto dado del día.
Usuarios más Activos: nombre y número de acceso por usuario, clasificados de mayor a menor.
Favoritos Diarios: recuento de archivos señalados como “favoritos” en un día determinado; utilizado para aplicaciones que implican el uso o la exploración de archivos.
Archivos Populares: nombre y número de acceso por archivo, clasificados de mayor a menor; utilizado para aplicaciones que implican el uso o la exploración de archivos. Los nombres pueden estar encriptados.
Carpetas Populares: nombre y número de acceso por carpeta, clasificados de mayor a menor; utilizado para aplicaciones que implican el uso o la exploración de archivos. Los nombres pueden estar encriptados.
Conjuntos de Datos más Dependientes: Nombre y recuento de acceso por archivo, clasificados de mayor a menor; utilizado para aplicaciones que implican el uso de conjuntos de datos. Los nombres pueden estar encriptados.
Archivos más Favoritos: nombre y número de favoritos por archivo, clasificados de mayor a menor; utilizado para aplicaciones que implican el uso o la exploración de archivos. Los nombres pueden estar encriptados.
Con referencia nuevamente a la figura 3, en una realización, un objeto 304 gráfico particular comprende un enlace de selección de herramienta de objeto 324 gráfico que cuando se selecciona provoca la transición de la interfaz a una pantalla diferente que comprende botones, iconos u otros elementos de pantalla seleccionables para activar, configurar o trabajar con ese objeto gráfico particular. Por ejemplo, en una realización, el enlace 324 de selección de herramienta puede hacer que se visualice un panel de configuración para señales de notificación visual (“notificaciones”) que se aplican al objeto 304 gráfico, como se describe adicionalmente en otra sección en el presente documento. El enlace 324 difiere del enlace 322 en que las herramientas seleccionadas del enlace 324 tienen un alcance limitado al objeto 304 gráfico asociado.
El objeto 304 gráfico representa un diagrama 308 de líneas que tiene una línea 316 de datos, cuya magnitud está determinada por los valores en el subconjunto 152 de datos a los que se hace referencia en la descripción 120 de visualización. El diagrama 308 de líneas comprende además un eje 318 vertical y un eje 320 horizontal que pueden recibir etiquetas o valores de rango, escalado y otro tratamiento de visualización basado en los valores de configuración que se especifican en la descripción 120 de visualización. De esta manera, la descripción 120 de visualización controla aspectos seleccionados del formato del diagrama 308 de líneas.
Los objetos 304, 306 gráficos pueden ordenarse en la interfaz de usuario 302 en función del orden de visualización en el que aparecieron las descripciones 124, 126 y 128 de objeto gráfico en la descripción 120 de visualización. Por lo tanto, si las descripciones de objeto gráfico 124 y 126 aparecen en un orden particular en la descripción 120 de visualización, luego aparecerían los objetos 304 y 306 gráficos correspondientes en ese mismo orden.
En una realización alternativa, el orden de visualización de los objetos gráficos puede determinarse mediante valores ordinales en cada definición 124 de objeto gráfico, y las instrucciones 160 de presentación del tablero de control pueden programarse para identificar e interpretar el valor ordinal como parte de los objetos gráficos de representación en la pantalla del tablero 170 de control. En el ejemplo de la figura 3, el objeto 304 gráfico puede tener un valor ordinal de “1” en una descripción 124 de objeto gráfico para ese objeto gráfico, y el objeto 306 gráfico puede tener un valor ordinal de “2” en su descripción de objeto gráfico; como resultado, el objeto 304 gráfico se muestra primero y el objeto 306 gráfico se muestra segundo. En esta realización alternativa, en la descripción 120 de visualización, las descripciones 124 de objetos gráficos para los objetos 304, 306 gráficos pueden estar en cualquier orden, y pueden estar precedidas por otras descripciones de objetos gráficos que tienen diferentes valores ordinales, y aún pueden visualizarse en el orden de valores ordinales, incluso si son diferentes al orden de aparición de las descripciones 124, 126 y 128 de objeto gráfico. Como ejemplo, se podría definir un tercer objeto gráfico en la descripción 120 de visualización antes en orden que las descripciones 124, 126 de objeto gráfico para los objetos 304, 306 gráficos, pero ese tercer objeto gráfico, si está asociado con un valor ordinal más alto, aparecería después de los objetos 304, 306 gráficos. Por lo tanto, se puede programar una realización para: recibir la descripción de visualización que comprende el identificador del conjunto de datos, y para cada objeto gráfico de visualización de datos gráficos particular entre dos o más objetos gráficos de visualización de datos gráficos, las instrucciones que especifican un tipo de objeto gráfico, uno o más valores de configuración de objeto gráfico para el objeto gráfico de visualización de datos gráficos particular, en el que las instrucciones comprenden un conjunto de primeras instrucciones de un primer objeto gráfico especifican un primer valor ordinal que es mayor en orden que un segundo valor ordinal en un conjunto de segundas instrucciones de un segundo objeto gráfico; ordenar el primer valor ordinal y el segundo valor ordinal en orden; renderizando el segundo objeto gráfico primero, y el primer objeto gráfico segundo, basado en el primer valor ordinal y el segundo valor ordinal.
Con referencia nuevamente a la figura 4, como otro ejemplo, un objeto gráfico de valor 402 clave puede comprender un título 404 y un enlace de selección de herramienta de objeto 406 gráfico que se generan y funcionan de la misma manera que se describió previamente para el objeto 304 gráfico de la Figura 3. En una realización, el objeto gráfico de valor 402 clave comprende una pluralidad de pantallas de valores 403 clave, cada una de las cuales comprende una etiqueta 408, una barra 410 gráfica y un valor 412 numérico. La magnitud de la barra 410 gráfica es normalmente proporcional a la magnitud del valor 412, que está determinado por valores específicos en el subconjunto 152 de datos al que se hace referencia en la descripción 120 de visualización que incluye una descripción de objeto gráfico para el objeto gráfico de valor clave.
En algunas realizaciones, los objetos gráficos tales como los mostrados en la figura 3, la figura 4 pueden generarse y visualizarse, en base a los datos en el subconjunto 152 de datos, con respecto a diferentes agrupaciones, niveles u otros esquemas organizativos que pueden reflejarse por valores de etiqueta o valores de identificador en los datos. En una realización, la activación de la visualización de objetos gráficos en estos diferentes grupos, niveles u otros esquemas organizativos puede ocurrir utilizando menús de navegación que están programados como parte de las instrucciones 160 de presentación del tablero.
La figura 5 ilustra un ejemplo de interfaz gráfica de usuario que puede visualizarse utilizando un dispositivo informático móvil en una realización, y que muestra un panel de navegación. Una interfaz 502 gráfica de usuario puede comprender un campo 504 de búsqueda que está programado para recibir palabras clave para la búsqueda; por ejemplo, el segundo ordenador puede construir una lista de búsqueda de términos en la memoria basada en las definiciones de objetos gráficos que aparecen en la descripción 120 de visualización, y los términos ingresados en el campo 504 de búsqueda pueden hacer que se devuelva una lista de resultados que especifiquen objetos gráficos o categorías de objetos gráficos disponibles. En una realización, una lista de navegación de la interfaz 502 comprende una o más barras 506 de selección de grupo, cada una asociada con una agrupación de datos en un nivel diferente o para una categoría diferente. Cada una de las barras 506 de selección puede incluir un título, un subtítulo, un valor para un valor clave, una indentación, un indicador favorito y otros valores en diversas realizaciones.
Cada una de las barras 506 de selección tiene un icono 508 de navegación que, cuando se selecciona mediante toque u otra entrada del usuario, hace que se muestren los objetos 304, 306 gráficos o cualesquiera otros objetos gráficos definido en la descripción 120 de visualización que se recibió, en base a la organización, agregar y/o filtrar los datos del subconjunto 152 de datos utilizando la agrupación o nivel indicado por la barra de selección que se seleccionó. Por ejemplo, la selección de la barra POR DESPLIEGUE como la barra 506 de selección está programada para mostrar objetos 304, 306 gráficos con datos organizados por diferentes implementaciones de una aplicación de programa de ordenador, en lugar de la agregación o agrupación por organización, función del usuario. Los datos también se pueden mostrar para toda una empresa o institución, como lo indica la barra 506 de selección titulada “Alpha Company” en este ejemplo.
La figura 6 ilustra un ejemplo de interfaz gráfica de usuario que puede visualizarse utilizando un dispositivo informático móvil en una realización, y que muestra un menú de herramientas. En una realización, se muestra una interfaz 602 gráfica de usuario en respuesta a la selección del enlace 322 de selección de herramienta (figura 3). Se muestra una lista 604 de herramientas que contiene enlaces seleccionables a operaciones para compartir un objeto gráfico, mover un objeto gráfico en la pantalla 302, renombrar un objeto gráfico, seleccionar o deseleccionar un objeto gráfico como favorito y eliminar el objeto gráfico de la pantalla. Un primer objeto 610 gráfico se vuelve a mostrar en una posición de pantalla inferior y se atenúa o con otro tratamiento visual especial para indicar que la interacción con ese objeto gráfico no es posible cuando se muestra la lista 604 de herramientas. La interfaz 602 también muestra un icono 606 de cancelación en la posición del enlace de selección de herramienta 322; Al seleccionar el icono Cancelar, se cancela la selección de herramientas y se vuelve a mostrar el objeto 610 gráfico en la posición normal y sin resaltar u otro tratamiento visual especial.
Con referencia nuevamente a la figura 3, en el bloque 226, el proceso procesa opcionalmente valores de configuración de notificaciones almacenados localmente basados en los datos, y opcionalmente genera y comunica una o más notificaciones a través de una pantalla u otras aplicaciones. En una realización, las instrucciones 160 de presentación de tablero de control están programadas para mantener valores digitales almacenados que indican una configuración de notificaciones de dispositivo en una pluralidad de niveles lógicos diferentes, y para generar y provocar la transmisión de una notificación cuando se cumple la condición de una notificación configurada en cualquiera de los niveles. La notificación, en este contexto, se refiere a cualquier forma de mensaje, señal o alerta, que incluyen mensajes en la aplicación, mensajes de texto, mensajes de correo electrónico, sonidos audibles u otras indicaciones visuales.
En una realización, las notificaciones pueden configurarse y activarse con respecto a un tablero de control que consta de uno o más objetos gráficos, y también a un nivel asociado con objetos gráficos individuales. La figura 7 ilustra un ejemplo de interfaz gráfica de usuario que puede visualizarse utilizando un dispositivo informático móvil en una realización, y que muestra un panel de configuración para configurar un primer nivel de notificaciones. La figura 8 ilustra un ejemplo de interfaz gráfica de usuario que puede visualizarse utilizando un dispositivo informático móvil en una realización, y que muestra un panel de configuración para configurar un segundo nivel de notificaciones. Con referencia primero a la figura 7, en una realización, una interfaz 702 gráfica de usuario comprende una lista 704 de notificaciones del tablero y una lista 708 de notificaciones del objeto gráfico. La lista 704 de notificaciones del tablero comprende uno o más interruptores 706 de notificación que pueden activarse para activar o desactivar las notificaciones para condiciones de notificación específicas. En el ejemplo de la figura 7, un primer interruptor 706 se titula Abierto y cuando se activa hace que se genere una notificación cuando alguien abre el tablero asociado, y un segundo interruptor se titula Favorito y hace que se genere una notificación cuando alguien marca el tablero como favorito. “Alguien”, en este contexto, puede significar el usuario actual u otro usuario de un segundo ordenador 106 diferente que está ejecutando otra instancia de la misma aplicación.
La lista 708 de notificaciones de objetos gráficos comprende una pluralidad de elementos 710 de lista seleccionables que provocan la navegación a un panel de notificaciones de objetos gráficos del tipo visto en la figura 8. Cada uno de los elementos 710 de lista seleccionables incluye un indicador de galón (“>“) para informar al usuario que al seleccionar ese elemento de la lista seleccionable se mostrará un panel separado para activar o desactivar las notificaciones relevantes. Por ejemplo, al seleccionar el elemento 710 de lista titulado “Usuarios Activos Diarios”, las instrucciones 160 de presentación del tablero de control hacen que la pantalla del segundo ordenador 106 pase al formato que se muestra en la figura 8)
Con referencia ahora a la figura 8, en una realización, un tablero de control de notificación de nivel de objeto 720 gráfico comprende una lista de notificaciones de nivel de objeto 722 gráfico que tiene uno o más interruptores 724 de notificación que pueden activarse para activar o desactivar notificaciones para condiciones de notificación específicas pertenecientes al objeto gráfico de Usuarios Activos Diarios, en este ejemplo. La figura 7 muestra cuatro (4) interruptores de ejemplo 724 titulados Datos Actualizados, Cambio de Valor, Nuevo Registro y Resumen Semanal, pero otras realizaciones y otros objetos gráficos pueden tener interruptores que están asociados con diferentes condiciones de activación. Como ejemplo, la activación del primer interruptor 724 titulado Datos Actualizados genera una notificación cuando los datos se han actualizado para el objeto gráfico de Usuarios Activos Diarios. La condición de activación especificada en el texto en asociación con un interruptor 724 particular se programa como parte de las instrucciones 160 de presentación del tablero de control para generar una notificación cuando las instrucciones detectan que se cumple la condición de activación.
4.0 Mecanismos de implementación - descripción general del hardware
Con referencia ahora a la figura 9, es un diagrama de bloques que ilustra un dispositivo 900 informático en el que se pueden realizar las realizaciones de ejemplo de la presente invención. El dispositivo 900 informático y sus componentes, que incluyen sus conexiones, relaciones y funciones, son solo de ejemplo y no limitan las implementaciones de las realizaciones de ejemplo. Otros dispositivos informáticos adecuados para implementar las realizaciones de ejemplo pueden tener diferentes componentes, que incluyen componentes con diferentes conexiones, relaciones y funciones.
El dispositivo 900 informático puede incluir un bus 902 u otro mecanismo de comunicación para direccionar la memoria 906 principal y para transferir datos entre y en medio de los diversos componentes del dispositivo 900. El dispositivo 900 informático también puede incluir uno o más procesadores 904 de hardware acoplados con el bus 902 para procesar información. Un procesador 904 de hardware puede ser un microprocesador de propósito general, un sistema en un chip (SoC) u otro procesador.
La memoria 906 principal, tal como una memoria de acceso aleatorio (RAM) u otro dispositivo de almacenamiento dinámico, también se puede acoplar al bus 902 para almacenar información e instrucciones de software que ejecutarán los procesadores 904. La memoria 906 principal también se puede utilizar para almacenar variables temporales u otra información intermedia durante la ejecución de las instrucciones de software que ejecutarán los procesadores 904.
Las instrucciones de software, cuando se almacenan en medios de almacenamiento accesibles para los procesadores 904, convierten el dispositivo 900 informático en un dispositivo informático de propósito especial que está personalizado para realizar las operaciones especificadas en las instrucciones del software. Los términos “software”, “instrucciones de software”, “programa de ordenador”, “instrucciones ejecutables por ordenador” e “instrucciones ejecutables por procesador” deben interpretarse en términos generales para cubrir cualquier información legible por máquina, sea o no legible por humanos, para instruir a un dispositivo informático para que realice operaciones específicas, e incluye, pero no se limita a, software de aplicación, aplicaciones de escritorio, programas instructores, binarios, sistemas operativos, controladores de dispositivos, cargadores de arranque, programas envolventes, utilidades, software de sistema, JAVASCRIPT, páginas web, aplicaciones web, complementos, software embebido, microcódigo, compiladores, depuradores, intérpretes, máquinas virtuales, enlaces y editores de texto.
El dispositivo 900 informático también puede incluir memoria 908 de solo lectura (ROM) u otro dispositivo de almacenamiento estático acoplado al bus 902 para almacenar información estática e instrucciones de software para el procesador(es) 904.
Se pueden acoplar uno o más dispositivos 910 de almacenamiento masivo al bus 902 para almacenar de manera persistente información e instrucciones de software en medios fijos o extraíbles, tales como memoria magnética, óptica, de estado sólido, magnético-óptica, flash o cualquier otra disponible. Tecnología de almacenamiento masivo. El almacenamiento masivo puede compartirse en una red o puede ser un almacenamiento masivo dedicado. Normalmente, al menos uno de los dispositivos 910 de almacenamiento masivo (por ejemplo, el disco duro principal para el dispositivo) almacena un cuerpo de programa y datos para dirigir la operación del dispositivo informático, incluido un sistema operativo, programas de aplicación de usuario, controlador y otros archivos de soporte, así como otros archivos de datos de todo tipo.
El dispositivo 900 informático puede estar acoplado a través del bus 902 a la pantalla 912, tal como una pantalla de cristal líquido (LCD) u otra pantalla visual electrónica, para mostrar información a un usuario del ordenador. En algunas configuraciones, una superficie sensible al tacto que incorpora tecnología de detección táctil (por ejemplo, resistiva, capacitiva, etc.) puede superponerse sobre la pantalla 912 para formar una pantalla sensible al tacto para comunicar la entrada de gestos táctiles (por ejemplo, dedo o lápiz) al procesador(es)) 904.
Un dispositivo 914 de entrada, que incluye teclas alfanuméricas y otras, puede estar acoplado al bus 902 para comunicar información y selecciones de comandos al procesador 904. Además de o en lugar de las teclas alfanuméricas y otras, el dispositivo 914 de entrada puede incluir una o más teclas físicas, botones o interruptores tales como, por ejemplo, un botón de encendido (encendido/apagado), un botón de “inicio”, botones de control de volumen o similares.
Otro tipo de dispositivo de entrada de usuario puede ser un control de cursor 916, tal como un ratón, un trackball o teclas de dirección del cursor para comunicar información de dirección y selecciones de comando al procesador 904 y para controlar el movimiento del cursor sobre la pantalla 912. Este dispositivo de entrada normalmente tiene dos grados de libertad en dos ejes, un primer eje (por ejemplo, x) y un segundo eje (por ejemplo, y), que permite que el dispositivo especifique posiciones en un plano.
Mientras que, en algunas configuraciones, tales como la configuración representada en la figura 9, uno o más de la pantalla 912, el dispositivo 914 de entrada y el control 916 del cursor son componentes externos (es decir, dispositivos periféricos) del dispositivo 900 informático, parte o la totalidad de la pantalla 912, el dispositivo 914 de entrada y el control 916 del cursor están integrados como parte del factor de forma del dispositivo 900 informático en otras configuraciones.
Las funciones de los sistemas, métodos y módulos divulgados pueden realizarse mediante el dispositivo 900 informático en respuesta a los procesadores 904 que ejecutan uno o más programas de instrucciones de software contenidas en la memoria 906 principal. Dichas instrucciones de software pueden leerse en la memoria 906 principal desde otro medio de almacenamiento, tal como dispositivo(s) 910 de almacenamiento. La ejecución de las instrucciones de software contenidas en la memoria 906 principal hace que los procesadores 904 realicen las funciones de las realizaciones de ejemplo.
Aunque las funciones y operaciones de la(s) realización(es) de ejemplo se pueden implementar completamente con instrucciones de software, se pueden usar circuitos fijos o programables del dispositivo 900 informático (por ejemplo, un ASIC, un FPGA o similar) en otras realizaciones en lugar de o en combinación con instrucciones de software para realizar las funciones, de acuerdo con los requisitos de la implementación particular en cuestión.
El término “medio de almacenamiento”, como se usa en el presente documento, se refiere a cualquier medio no transitorio que almacena datos y/o instrucciones de software que hacen que un dispositivo informático funcione de una manera específica. Dichos medios de almacenamiento pueden comprender medios no volátiles y/o medios volátiles. Los medios no volátiles incluyen, por ejemplo, memoria de acceso aleatorio no volátil (NVRAM), memoria flash, discos ópticos, discos magnéticos o unidades de estado sólido, tales como el dispositivo 910 de almacenamiento. Los medios volátiles incluyen memoria dinámica, tal como la memoria 906 principal. Las formas comunes de medios de almacenamiento incluyen, por ejemplo, un disquete, un disco flexible, disco duro, unidad de estado sólido, cinta magnética o cualquier otro medio de almacenamiento de datos magnéticos, un CD-ROM, cualquier otro medio de almacenamiento óptico de datos, cualquier medio físico con patrones de agujeros, una RAM, una PrOM y EPROM, una FLASH-EPRo M, NVRAM, memoria flash, cualquier otro chip o cartucho de memoria. Los medios de almacenamiento son distintos, pero pueden usarse junto con los medios de transmisión. Los medios de transmisión participan en la transferencia de información entre los medios de almacenamiento. Por ejemplo, los medios de transmisión incluyen cables coaxiales, cables de cobre y fibra óptica, que incluyen los cables que componen el bus 902. Los medios de transmisión también pueden tomar la forma de ondas acústicas o de luz, tales como las generadas durante las comunicaciones de datos de ondas de radio e infrarrojos.
Diversas formas de medios pueden estar involucradas en llevar una o más secuencias de una o más instrucciones de software al procesador(es) 904 para su ejecución. Por ejemplo, las instrucciones del software pueden llevarse inicialmente en un disco magnético o en una unidad de estado sólido de un ordenador remoto. El ordenador remoto puede cargar las instrucciones del software en su memoria dinámica y enviar las instrucciones del software a través de una línea telefónica utilizando un módem. Un módem local para el dispositivo 900 informático puede recibir los datos en la línea telefónica y usar un transmisor de infrarrojos para convertir los datos en una señal de infrarrojos. Un detector infrarrojo puede recibir los datos transportados en la señal infrarroja y los circuitos apropiados pueden colocar los datos sobre el bus 902. El bus 902 transporta los datos a la memoria 906 principal, desde la cual el procesador(s) 904 recupera y ejecuta las instrucciones del software. Las instrucciones de software recibidas por la memoria 906 principal pueden almacenarse opcionalmente en los dispositivos 910 de almacenamiento antes o después de la ejecución por los procesadores 904.
El dispositivo 900 informático también puede incluir una o más interfaces 918 de comunicación acopladas al bus 902. Una interfaz 918 de comunicación proporciona un acoplamiento de comunicación de datos bidireccional a un enlace 920 de red cableado o inalámbrico que está conectado a una red 922 local (por ejemplo, Red Ethernet, red de área local inalámbrica, red de teléfono celular, red inalámbrica Bluetooth o similar). La interfaz 918 de comunicación envía y recibe señales eléctricas, electromagnéticas u ópticas que transportan flujos de datos digitales que representan varios tipos de información. Por ejemplo, la interfaz 918 de comunicación puede ser una tarjeta de interfaz de red cableada, una tarjeta de interfaz de red inalámbrica con una antena de radio integrada o un módem (por ejemplo, ISDN, DSL o cable módem).
Los enlaces 920 de red normalmente proporcionan comunicación de datos a través de una o más redes a otros dispositivos de datos. Por ejemplo, un enlace 920 de red puede proporcionar una conexión a través de una red 922 local a un ordenador 924 central o al equipo de datos operado por un proveedor 926 de servicios de Internet (ISP). ISP 926 a su vez proporciona servicios de comunicación de datos a través de la red de comunicación de paquetes de datos mundiales ahora conocida comúnmente como “Internet” 928. Las redes 922 locales e Internet 928 utilizan señales eléctricas, electromagnéticas u ópticas que transportan flujos de datos digitales. Las señales a través de las diversas redes y las señales en los enlaces 920 de red y a través de las interfaces 918 de comunicación, que transportan los datos digitales hacia y desde el dispositivo 900 informático, son ejemplos de formas de medios de transmisión.
El dispositivo 900 informático puede enviar mensajes y recibir datos, que incluye el código de programa, a través de la(s) red(es), enlace(s) 920 de red e interfaces 918 de comunicación. En el ejemplo de Internet, un servidor 930 podría transmitir un pedido código para un programa de aplicación a través de Internet 928, ISP 926, redes locales 922 e interfaces 918 de comunicación.
El código recibido puede ser ejecutado por el procesador 904 a medida que se recibe, y/o almacenado en el dispositivo 910 de almacenamiento, u otro almacenamiento no volátil para su posterior ejecución.
5.0 Mecanismos de implementación - descripción general del software
La figura 10 es un diagrama de bloques de un sistema 1000 de software que puede emplearse para controlar el funcionamiento del dispositivo 900 informático. El sistema 1000 de software y sus componentes, incluidas sus conexiones, relaciones y funciones, deben ser solo de ejemplo y no limitar implementaciones de las realizaciones de ejemplo. Otros sistemas de software adecuados para implementar las realizaciones de ejemplo pueden tener diferentes componentes, que incluyen componentes con diferentes conexiones, relaciones y funciones.
El sistema 1000 de software se proporciona para dirigir la operación del dispositivo 900 informático. El sistema 1000 de software, que puede almacenarse en la memoria 906 del sistema (RAM) y en un almacenamiento fijo (por ejemplo, disco duro o memoria flash) 910, incluye un núcleo o sistema 1010 operativo (OS).
El OS 1010 gestiona aspectos de bajo nivel del funcionamiento del ordenador, que incluye gestionar la ejecución de procesos, asignación de memoria, entrada y salida (I/O) de archivos I/O del dispositivo. Uno o más programas de aplicación, representados como 1002A, 1002B, 1002C... 1002N, pueden estar “cargados” (por ejemplo, transferidos desde el almacenamiento 910 fijo a la memoria 906) para su ejecución por el sistema 1000. Las aplicaciones u otro software destinado para uso en el dispositivo 1000 también pueden almacenarse como un conjunto de instrucciones descargables ejecutables por ordenador, por ejemplo, para descarga e instalación desde una ubicación de Internet (por ejemplo, un servidor web, una tienda de aplicaciones u otro servicio en línea).
El sistema 1000 de software incluye una interfaz 1015 gráfica de usuario (GUI), para recibir comandos y datos de usuario de forma gráfica (por ejemplo, “apuntar y hacer clic” o “gesto táctil”). Estas entradas, a su vez, pueden ser aplicadas por el sistema 1000 de acuerdo con las instrucciones del sistema 1010 operativo y/o la(s) aplicación(es) 1002. La GUI 1015 también sirve para mostrar los resultados de operación del OS 1010 y la(s) aplicación(es) 1002, con lo cual el usuario puede suministrar entradas adicionales o finalizar la sesión (por ejemplo, cerrar sesión).
OS 1010 puede ejecutarse directamente en el hardware 1020 puro (por ejemplo, procesador(s) 904) del dispositivo 900. Alternativamente, un hipervisor o monitor 1030 de máquina virtual (VMM) puede interponerse entre el hardware 1020 puro y el OS 1010 En esta configuración, el VMM 1030 actúa como un “colchón” de software o capa de virtualización entre el OS 1010 y el hardware 1020 puro del dispositivo 900.
El VMM 1030 crea instancias y ejecuta una o más instancias de máquina virtual (“máquinas invitadas”). Cada máquina invitada comprende un sistema operativo “invitado”, tal como Os 1010, y una o más aplicaciones, tales como las aplicaciones 1002, diseñadas para ejecutarse en el sistema operativo invitado. El VMM 1030 presenta los sistemas operativos invitados con una plataforma operativa virtual y gestiona la ejecución de los sistemas operativos invitados.
En algunos casos, el VMM 1030 puede permitir que un sistema operativo invitado se ejecute como si se ejecutara directamente en el hardware 1020 puro del dispositivo 300. En estos casos, la misma versión del sistema operativo invitado configurado para ejecutarse directamente en el hardware 1020 puro también puede ejecutarse en el VMM 1030 sin modificación o reconfiguración. En otras palabras, el VMM 1030 puede proporcionar hardware completo y virtualización de CPU a un sistema operativo invitado en algunos casos.
En otros casos, un sistema operativo invitado puede estar especialmente diseñado o configurado para ejecutarse en VMM 1030 para mayor eficiencia. En estos casos, el sistema operativo invitado es “consciente” de que se ejecuta en un monitor de máquina virtual. En otras palabras, el VMM 1030 puede proporcionar para-virtualización a un sistema operativo invitado en algunos casos.
El hardware y software informáticos descritos anteriormente se presentan con el fin de ilustrar los componentes informáticos subyacentes que pueden emplearse para implementar las realizaciones de ejemplo. Sin embargo, las realizaciones de ejemplo no están necesariamente limitadas a ningún entorno informático particular o configuración de dispositivo informático. En cambio, la(s) realización(es) de ejemplo pueden implementarse en cualquier tipo de arquitectura de sistema o entorno de procesamiento que un experto en la técnica, a la luz de esta divulgación, entendería que es capaz de soportar las características y funciones de la(s) realización(es) de ejemplo presentada en este documento.
6.0 Otros aspectos de divulgación
Aunque algunas de las figuras descritas en la especificación anterior incluyen diagramas de flujo con etapas que se muestran en un orden, las etapas se pueden realizar en cualquier orden, y no se limitan al orden que se muestra en esos diagramas de flujo. Adicionalmente, algunas etapas pueden ser opcionales, pueden realizarse múltiples veces y/o pueden ser realizados por diferentes componentes. Todas las etapas, operaciones y funciones de un diagrama de flujo que se describen en el presente documento tienen la intención de indicar operaciones que se realizan utilizando la programación en un ordenador de propósito especial u ordenador de propósito general, en diversas realizaciones. En otras palabras, cada diagrama de flujo en esta divulgación, en combinación con el texto relacionado en este documento, es una guía, plan o especificación de todo o parte de un algoritmo para programar un ordenador para ejecutar las funciones que se describen. Se sabe que el nivel de experticia en el campo asociado con esta divulgación es alto y, por lo tanto, los diagramas de flujo y el texto relacionado en esta divulgación se han preparado para transmitir información a un nivel de suficiencia y detalle que normalmente se espera en el campo cuando los expertos se comunican entre sí con respecto a programas, algoritmos y su implementación.
En la especificación anterior, las realizaciones de ejemplo de la presente invención se han descrito con referencia a numerosos detalles específicos. Sin embargo, los detalles pueden variar de una implementación a otra de acuerdo con los requisitos del implemento particular en cuestión. Las realizaciones de ejemplo deben considerarse, de acuerdo con lo anterior, en un sentido ilustrativo más que restrictivo.

Claims (13)

REIVINDICACIONES
1. Un método que comprende:
usar un primer ordenador (104), en respuesta a la detección de un cambio en una fuente de datos:
generar automáticamente un conjunto de datos que comprende un subconjunto de datos de la fuente de datos, generar un identificador (154) de conjunto de datos único y asociar el identificador (154) del conjunto de datos con el conjunto de datos en el almacenamiento de datos digitales; generar una descripción (120) de visualización que comprende:
el identificador (154) del conjunto de datos; y
para cada objeto gráfico de visualización de datos gráficos particular entre dos o más objetos gráficos de visualización de datos gráficos, instrucciones que especifican un tipo de objeto gráfico, un orden y uno o más valores de configuración de objeto gráfico para el objeto gráfico de visualización de datos gráficos particular en el que las instrucciones comprenden un conjunto de primeras instrucciones de un primer objeto gráfico configurado para especificar un primer valor ordinal que es mayor en orden que un segundo valor ordinal en un conjunto de segundas instrucciones de un segundo objeto gráfico; y
transmitir la descripción (120) de visualización a un segundo ordenador (106).
2. El método de la reivindicación 1, en el que las instrucciones de la descripción (120) de visualización comprenden adicionalmente una declaración de lenguaje de consulta estructurado (SQL) que especifica una consulta de base de datos configurada para recuperar datos para visualización utilizando el objeto gráfico de visualización de datos gráficos particular.
3. El método de la reivindicación 1 o la reivindicación 2, en el que el tipo de objeto gráfico del objeto gráfico de visualización de datos particular especifica un gráfico de líneas que tiene un eje X y un eje Y, y en el que las instrucciones de la descripción (120) de visualización comprenden adicionalmente una declaración de lenguaje de consulta estructurado (SQL) que especifica una consulta de base de datos configurada para recuperar datos para mostrar utilizando el objeto gráfico de visualización de datos gráficos particular y que incluye un primer valor de columna del conjunto de datos para usar en renderizar el eje X y un segundo valor de columna del conjunto de datos para usar en renderizar el eje Y.
4. El método de cualquier reivindicación precedente, en el que las instrucciones de la descripción (120) de visualización especifican uno o más de un título, subtítulo, formato, características de etiquetado, agrupación y clasificación de datos, parámetros de visualización de eje, parámetros de visualización de línea, unidades y formatos de visualización
5. El método de cualquier reivindicación precedente, que comprende adicionalmente:
usar el primer ordenador (104) para detectar el cambio en la fuente de datos mediante la detección de una nueva tabla única en un sistema de almacenamiento de datos particular;
generar automáticamente el subconjunto de datos desde la fuente de datos al aplicar un esquema predeterminado a la nueva tabla única que se detectó.
6. Aparato informático configurado para realizar el método de cualquier reivindicación precedente.
7. Un programa informático que comprende instrucciones legibles por máquina que, cuando se ejecuta mediante un aparato informático, hace que realice el método de cualquiera de las reivindicaciones 1-5 y 8-12.
8. Un método que comprende:
recibir, desde un primer ordenador (104) en un segundo ordenador (106), una descripción (120) de visualización que comprende:
un identificador (154) de conjunto de datos; y
una pluralidad de instrucciones que especifican un tipo de objeto gráfico, un orden de visualización y uno o más valores de configuración de objeto gráfico para cada objeto gráfico entre dos o más objetos gráficos de visualización de datos gráficos;
el conjunto de datos se ha generado utilizando un subconjunto de datos de una fuente de datos, y asociado en el almacenamiento de datos digitales con un identificador (154) de conjunto de datos único, en respuesta a la detección de un cambio en una fuente de datos;
recuperar el conjunto de datos basado en el identificador (154) del conjunto de datos;
renderizar uno o más objetos gráficos de visualización de datos gráficos de acuerdo con cada orden de visualización, cada tipo de objeto gráfico y los valores de configuración del objeto gráfico;
recibir la descripción (120) de visualización que comprende el identificador (154) de conjunto de datos, y para cada objeto gráfico de visualización de datos gráficos particular entre los dos o más objetos gráficos de visualización de datos gráficos, las instrucciones que especifican un tipo de objeto gráfico y uno o más valores de configuración de objeto gráfico para el objeto gráfico de visualización de datos gráficos, en el que las instrucciones comprenden un conjunto de primeras instrucciones de un primer objeto gráfico configurado para especificar un primer valor ordinal que es mayor en orden que un segundo valor ordinal en un conjunto de segundas instrucciones de un segundo objeto gráfico; y
visualizar la pluralidad de objetos gráficos de visualización de datos gráficos en una pantalla del segundo ordenador (106) al:
clasificar el primer valor ordinal y el segundo valor ordinal en orden; y
renderizar el segundo objeto gráfico primero, y el primer objeto gráfico segundo, basado en el primer valor ordinal y el segundo valor ordinal.
9. El método de la reivindicación 8, que comprende adicionalmente:
obtener, a partir de las instrucciones de la descripción (120) de visualización, una declaración de lenguaje de consulta estructurado (SQL);
enviar la declaración SQL como una consulta de base de datos a la fuente de datos;
recibir de la fuente de datos particulares para su visualización utilizando el objeto gráfico de visualización de datos gráficos particular.
10. El método de la reivindicación 9 o la reivindicación 9, en el que el tipo de objeto gráfico del objeto gráfico de visualización de datos particular especifica un gráfico de líneas que tiene un eje X y un eje Y; el método comprende adicionalmente:
obtener, a partir de las instrucciones de la descripción (120) de visualización, una declaración de lenguaje de consulta estructurado (SQL);
enviar la declaración SQL como una consulta de base de datos a la fuente de datos;
recibir desde la fuente de datos particular para visualización utilizando el objeto gráfico de visualización de datos gráficos particular, que incluye un primer valor de columna del conjunto de datos para usar en renderizar el eje X y un segundo valor de columna del conjunto de datos para usar en renderizar el eje Y.
11. El método de cualquiera de las reivindicaciones 8 a 10, en el que las instrucciones de la descripción (120) de visualización especifican uno o más de un título, subtítulo, formato, características de etiquetado, agrupación y clasificación de datos, parámetros de visualización de eje, parámetros de visualización de línea, unidades y formatos de visualización.
12. El método de cualquiera de las reivindicaciones 8 a 11, que comprende adicionalmente:
generar y mostrar una interfaz gráfica de usuario que comprende una lista de notificación de tablero de control y una lista de notificación de objeto gráfico;
en el que la lista de notificaciones del tablero de control comprende uno o más interruptores de notificación del tablero de control que están programados para recibir entradas para activar o desactivar las notificaciones correspondientes para condiciones de notificación específicas;
en el que la lista de notificación de objetos gráficos comprende una pluralidad de elementos de lista seleccionables que están programados para provocar la navegación de la interfaz gráfica de usuario a un panel de notificación de objetos gráficos;
generar y visualizar, un panel de notificación a nivel de objeto gráfico que comprende una lista de notificaciones a nivel de objeto gráfico que tiene uno o más interruptores de notificación de objeto gráfico que están programados para recibir entrada para activar o desactivar las notificaciones correspondientes para condiciones de notificación específicas pertenecientes a un objeto gráfico especificado;
determinar que se ha producido una condición de activación programada para un interruptor de notificación de tablero de control particular o un interruptor de notificación de objeto gráfico que se activa;
generar una notificación en respuesta a la determinación de que se ha producido una condición de activación programada para un interruptor particular que se activa.
13. Aparato informático configurado para realizar el método de cualquiera de las reivindicaciones 8 a 12.
Ċ
ES17204738T 2016-12-14 2017-11-30 Interfaces de usuario y tableros de control parametrizados Active ES2751941T3 (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US201662434358P 2016-12-14 2016-12-14

Publications (1)

Publication Number Publication Date
ES2751941T3 true ES2751941T3 (es) 2020-04-02

Family

ID=60569695

Family Applications (1)

Application Number Title Priority Date Filing Date
ES17204738T Active ES2751941T3 (es) 2016-12-14 2017-11-30 Interfaces de usuario y tableros de control parametrizados

Country Status (7)

Country Link
EP (2) EP3611635B1 (es)
DK (1) DK3336722T3 (es)
ES (1) ES2751941T3 (es)
HU (1) HUE046747T2 (es)
LT (1) LT3336722T (es)
PL (1) PL3336722T3 (es)
PT (1) PT3336722T (es)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110750263B (zh) * 2019-10-15 2024-01-23 广州维思车用部件有限公司 一种车用仪表开发数据生成方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008131417A1 (en) * 2007-04-23 2008-10-30 Snac, Inc. Mobile widget dashboard
US8849702B2 (en) * 2009-03-13 2014-09-30 Ricoh Company, Ltd. Information processing apparatus, information processing method, and image forming apparatus
KR101644806B1 (ko) * 2009-12-30 2016-08-03 주식회사 알티캐스트 방송 수신 단말, 위젯 제어 시스템 및 그 방법
US20150073829A1 (en) * 2013-09-12 2015-03-12 Geisinger Clinic Method and system for distributing patient data and patient status notifications

Also Published As

Publication number Publication date
PL3336722T3 (pl) 2020-04-30
DK3336722T3 (da) 2019-10-28
EP3336722A1 (en) 2018-06-20
LT3336722T (lt) 2019-10-25
EP3611635A1 (en) 2020-02-19
HUE046747T2 (hu) 2020-03-30
EP3336722B1 (en) 2019-10-02
PT3336722T (pt) 2019-10-29
EP3611635B1 (en) 2021-04-07

Similar Documents

Publication Publication Date Title
US10261659B2 (en) Orbit visualization for displaying hierarchical data
US10691299B2 (en) Display of hierarchical datasets using high-water mark scrolling
US20130191767A1 (en) Semantic Zooming of Data Object Representations in a User Interface
US10642853B2 (en) Automatically generating graphical data displays based on structured descriptions
JP6648845B2 (ja) ガイドされるウェブアプリケーション作成
US11954006B1 (en) Systems and methods for locally streaming applications in a computing system
WO2017143996A1 (zh) 数据展示的方法与装置
EP4085336B1 (en) Computer resource leak detection
US11221729B1 (en) Tracking and restoring pointer positions among applications
US20130191778A1 (en) Semantic Zooming in Regions of a User Interface
US10156957B2 (en) Semi-modal interaction blocker
US8423553B2 (en) Graphically displaying a file system
US10523523B2 (en) Infographic search
US12008049B2 (en) Techniques for visualizing dependencies in a data analytics system
ES2751941T3 (es) Interfaces de usuario y tableros de control parametrizados
WO2021076265A1 (en) Generating and attributing unique identifiers representing performance issues within a call stack
US20140181707A1 (en) Interface Management Systems and Methods
US20170103044A1 (en) Content-type-aware web pages
US20190384635A1 (en) Distributed execution of data processing pipelines
US10705714B2 (en) Systems and methods for generating a card view interface on a mobile computing device
Orphanides Lessons in public touchscreen development
US10198289B2 (en) Relating user action flows by storing relationships between threads and objects
Garlapati Near Me–a location-aware to-do Android application