ES2750788T3 - Sistemas y procedimientos para la generación de modelos de búsqueda - Google Patents

Sistemas y procedimientos para la generación de modelos de búsqueda Download PDF

Info

Publication number
ES2750788T3
ES2750788T3 ES16207221T ES16207221T ES2750788T3 ES 2750788 T3 ES2750788 T3 ES 2750788T3 ES 16207221 T ES16207221 T ES 16207221T ES 16207221 T ES16207221 T ES 16207221T ES 2750788 T3 ES2750788 T3 ES 2750788T3
Authority
ES
Spain
Prior art keywords
search
data
data source
query
results
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
ES16207221T
Other languages
English (en)
Inventor
Alexander Visbal
Clare Adrien
Kevin Simons
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 ES2750788T3 publication Critical patent/ES2750788T3/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/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/248Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/26Visual data mining; Browsing structured data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04817Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/186Templates

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Un procedimiento (300, 700) implementado por un ordenador, que comprende: recibir (305), por medio de uno o más procesadores (1002) de un servidor (140) mediante una interfaz de usuario, una selección de un tipo de búsqueda; recibir (310), mediante la interfaz de usuario, una selección de dos o más fuentes de datos, comprendiendo las dos o más fuentes de datos al menos una fuente síncrona (410) de datos y al menos una fuente asíncrona de datos; en función de la selección del tipo de búsqueda y de las dos o más fuentes de datos, generar (315), por medio de los uno o más procesadores (1002) del servidor (140), un modelo normalizado de búsqueda, asociado con la selección del tipo de búsqueda y con las dos o más fuentes de datos, que tiene un conjunto de campos de entrada de datos para su representación visual en la interfaz de usuario; recibir (320), por medio de uno o más procesadores (1002) del servidor (140), una consulta de búsqueda que comprende un conjunto de elementos de consulta que rellena al menos parte del conjunto de campos de entrada de datos; acceder (325) a la al menos una fuente síncrona (410) de datos para consultar la al menos una fuente síncrona (410) de datos con uno o más elementos de consulta de búsqueda del conjunto de elementos de consulta, asociada la al menos una fuente síncrona (410) de datos con el servidor (140) que genera el modelo normalizado de búsqueda; provocar la presentación (330) de un conjunto de primeros resultados de búsqueda recibido procedente de la al menos una fuente síncrona (410) de datos; acceder (705) a la al menos una fuente asíncrona de datos para consultar la al menos una fuente asíncrona de datos con uno o más elementos de consulta de búsqueda del conjunto de elementos de consulta de búsqueda, siendo la al menos una fuente asíncrona de datos externa a la al menos una fuente síncrona (410) de datos y al servidor (140); recibir (710) un conjunto de segundos resultados procedente de la al menos una fuente asíncrona de datos; y provocar la presentación (715) de un conjunto de resultados consolidados que incluye el conjunto de primeros resultados y el conjunto de segundos resultados.

Description

DESCRIPCIÓN
Sistemas y procedimientos para la generación de modelos de búsqueda
Campo técnico
El contenido divulgado en la presente memoria versa, en general, acerca de la generación de modelos normalizados de búsqueda y de la gestión de registros. Específicamente, la presente divulgación aborda sistemas y procedimientos para la generación de modelos normalizados de búsqueda, de una búsqueda guiada y de una generación de registros.
Antecedentes
La gestión de procesos empresariales (BPM) es el planteamiento sistemático para definir un flujo de trabajo para fomentar la eficacia, la previsibilidad y la adaptabilidad en un entorno constantemente cambiante. En los últimos años, los sistemas de BPM han llegado a ser utilizados de forma más generalizada entre diversas organizaciones que desean integrar todos sus datos y procedimientos en un solo sistema unificado. Los sistemas de procesamiento de datos pueden ser utilizados para facilitar una BPM mediante la gestión simultánea de un amplio conjunto de objetos de datos de una variedad de fuentes, pudiendo tener cada objeto de datos requisitos exclusivos de gestión o de flujo de trabajo. A su vez, esta gestión puede dar lugar, en último término, a aplicaciones innovadoras con aplicaciones prácticas en la vida real. Por ejemplo, una organización puede automatizar un proceso empresarial configurando un sistema de procesamiento de datos para llevar a cabo diversos procesos de flujo de trabajo.
El documento US 2004/073565 A1 da a conocer un sistema de soporte lógico que genera de forma automática y dinámica una interfaz de usuario (UI) completamente funcional en función de un modelo subyacente de datos, y conectado directamente con el mismo, según se ejemplifica en un sistema de gestión de base de datos relacional (RDBMS). La UI está construida según una interrogación automatizada del RDBMS, bien según sea necesario o bien construyendo una representación del modelo de datos en memoria. La UI generada comprende la exploración, la búsqueda, la modificación y la adición para todas las tablas.
Sumario
La invención está definida por las reivindicaciones independientes, teniendo en cuenta debidamente cualquier elemento que sea equivalente a un elemento especificado en las reivindicaciones. Las reivindicaciones dependientes versan acerca de características opcionales de algunas realizaciones de la invención.
Breve descripción de los dibujos
Diversos de los dibujos adjuntos simplemente ilustran realizaciones ejemplares de la presente divulgación y no pueden ser considerados como limitantes de su alcance.
La FIG. 1 es un diagrama de red que ilustra una arquitectura de red adecuada para generar y gestionar casos, según algunas realizaciones ejemplares.
La FIG. 2 es un diagrama de bloques que ilustra una realización ejemplar de diversos módulos que forman un sistema de gestión de casos, según algunas realizaciones ejemplares, que se proporciona como parte de la arquitectura de red de la FIG. 1.
La FIG. 3 es un diagrama de flujo que ilustra operaciones del sistema de gestión de casos en la generación y la presentación de un modelo normalizado de flujo de búsqueda configurado para guiar una búsqueda en una o más fuentes de datos, según algunas realizaciones ejemplares.
La FIG. 4 es un diagrama de una interfaz ejemplar de usuario que muestra un modelo normalizado de búsqueda del sistema de gestión de casos, según algunas realizaciones ejemplares.
La FIG. 5 es un diagrama de una interfaz ejemplar de usuario que muestra un modelo normalizado de búsqueda del sistema de gestión de casos, según algunas realizaciones ejemplares.
La FIG. 6 es un diagrama de una interfaz ejemplar de usuario que muestra un modelo normalizado de búsqueda del sistema de gestión de casos, según algunas realizaciones ejemplares.
La FIG. 7 es un diagrama de flujo que ilustra operaciones del sistema de gestión de casos en la presentación de un modelo normalizado de flujo de búsqueda configurado para guiar una búsqueda en una o más fuentes asíncronas de datos, según algunas realizaciones ejemplares.
La FIG. 8 es un diagrama de flujo que ilustra operaciones del sistema de gestión de casos en la validación del modelo normalizado de búsqueda y el conjunto de elementos de consulta antes de llevar a cabo la búsqueda, de forma coherente con algunas realizaciones.
La FIG. 9 es un diagrama de flujo que ilustra operaciones del sistema de gestión de casos en la generación de un nuevo registro en función de uno o más conjuntos de resultados de búsqueda recibidos por el sistema de gestión de casos, según algunas realizaciones ejemplares.
La FIG. 10 es un diagrama de bloques que ilustra componentes de una máquina, según algunas realizaciones ejemplares, con capacidad para leer instrucciones de un medio legible por una máquina y llevar a cabo una cualquiera o más de las metodologías expuestas en la presente memoria.
Descripción detallada
Se dirigen procedimientos y sistemas ejemplares a un sistema de gestión de casos configurado para generar y gestionar objetos de datos de casos. Los ejemplos simplemente tipifican posibles variaciones. A no ser que se indique explícitamente lo contrario, los componentes y las funciones son opcionales y pueden combinarse o ser subdivididos, y las operaciones pueden variar en secuencia o ser combinadas o subdivididas. En la siguiente descripción, con fines explicativos, se definen numerosos detalles específicos para proporcionar una comprensión a fondo de realizaciones ejemplares. Será evidente para un experto en la técnica, sin embargo, que se puede poner en práctica el presente contenido sin estos detalles específicos.
Un sistema de búsqueda y de gestión de casos está configurado (por ejemplo, mediante módulos adecuados) para proporcionar una o más funciones de generación de modelos normalizados de búsqueda y de casos y para ejecutar búsquedas en una o más fuentes internas y externas de datos (por ejemplo, sistemas o bases de datos) utilizando módulos enchufables integrados que permiten un acceso por parte del sistema de búsqueda y de gestión de casos a las fuentes externas de datos. Según está configurado, el sistema de búsqueda y de gestión de casos permite a un usuario definir una consulta de búsqueda, generada automáticamente como un modelo normalizado de búsqueda por el sistema de búsqueda y de gestión de casos. El modelo normalizado de búsqueda puede estar adaptado simultáneamente a una o más fuentes separadas y diferenciadas de datos en función de una o más selecciones de interfaz de usuario. El sistema de búsqueda y de gestión de casos también está configurado para permitir la creación de nuevos registros en las fuentes internas y externas de datos en función de uno o más de los resultados de búsqueda recibidos y de consultas de búsqueda que rellenan el modelo normalizado de búsqueda. Se puede entender un modelo normalizado de búsqueda como un conjunto de campos de entrada de datos generado en función de relaciones especificadas entre los uno o más campos de entrada de datos del conjunto de campos de entrada de datos. En algunas realizaciones, el modelo normalizado de búsqueda se presenta en una interfaz gráfica de usuario en un orden o disposición en función de las relaciones especificadas entre los uno o más campos de entrada de datos.
Como ejemplo ilustrativo desde la perspectiva de un usuario, un usuario accede al sistema de gestión de casos por medio de un dispositivo cliente, y el sistema de gestión de casos permite al usuario generar un modelo normalizado de búsqueda en función de selecciones de un tipo de búsqueda de una o más fuentes de datos en las que se ha de realizar la búsqueda. El sistema de gestión de casos genera el modelo normalizado con salvaguardias para garantizar que se introduce información completa y adecuada en el modelo normalizado de búsqueda para llevar a cabo una búsqueda en las fuentes seleccionadas de datos. Los resultados de búsqueda pueden ser recibidos de una combinación de fuentes síncronas y asíncronas de datos. El sistema de gestión de casos genera un conjunto inicial de resultados y presenta el conjunto inicial de resultados al usuario en el dispositivo cliente. Cuando se reciben resultados adicionales procedentes de fuentes asíncronas de datos, el sistema de gestión de casos genera resultados consolidados, incluyendo el conjunto inicial de resultados y los resultados adicionales. El sistema de gestión de casos transmite una notificación al dispositivo cliente de los resultados consolidados. El sistema de gestión de casos también interroga periódicamente a fuentes externas de datos que anteriormente no han llegado a proporcionar resultados para los resultados iniciales o los resultados adicionales.
Adicionalmente, el sistema de gestión de casos genera un modelo normalizado de búsqueda que no devuelve ningún resultado. El usuario decide generar un nuevo registro a partir de la consulta de búsqueda. El sistema de gestión de casos genera un registro vacío y rellena el registro vacío con información proporcionada en el modelo normalizado de búsqueda y que forma la consulta de búsqueda. Cuando la consulta devuelve algunos resultados, el sistema de gestión de casos puede incorporar porciones de los resultados en el nuevo registro. El sistema de gestión de casos almacena el nuevo registro en una o más de las fuentes de datos, tanto internas como externas al sistema de gestión de casos. Las fuentes externas de datos pueden modificar el nuevo registro en las fuentes externas de datos una vez que se ha recibido nueva información, pertinente al registro. Búsquedas subsiguientes, similares a la utilizada para generar el nuevo registro pueden devolver el nuevo registro, almacenado en las fuentes internas o externas de datos, como un resultado de la búsqueda.
Con referencia a la FIG. 1, se muestra una realización ejemplar de una arquitectura 100 de red basada en cliente de alto nivel-servidor. Una red 104 proporciona funcionalidad del lado del servidor a un dispositivo cliente 110. En algunas implementaciones, un usuario interactúa con un sistema 102 en red utilizando el dispositivo cliente 110. La FIG. 1 ilustra, por ejemplo, un cliente web 112 (por ejemplo, un navegador, tal como el navegador INTERNET EXPLORER® desarrollado por MICROSOFT ® CORPORATION de Redmond, Estado de Washington, EE. UU.), una o más aplicaciones cliente 114 y un cliente programático 116 que se ejecuta en el dispositivo cliente 110. El dispositivo cliente 110 puede incluir el cliente web 112, la o las aplicaciones cliente 114 y el cliente programático 116 por sí solos, conjuntamente o en cualquier combinación adecuada. Aunque la FIG. 1 muestra un dispositivo cliente 110, en otras implementaciones, la arquitectura 100 en red comprende múltiples dispositivos cliente.
El dispositivo cliente 110 puede ser un dispositivo informático que incluye al menos un medio de visualización y prestaciones de comunicaciones que proporcionan acceso a la red 104. El dispositivo cliente 110 puede ser, por ejemplo, un dispositivo remoto, una estación de trabajo, un ordenador, un ordenador de uso general, una aplicación de Internet, un dispositivo de mano, un dispositivo inalámbrico, un dispositivo portátil, un ordenador portátil, un teléfono móvil o celular, un asistente personal digital (PDA), un teléfono inteligente, una tableta, un ordenador ultraportátil, un ordenador superportátil de red, un ordenador portátil, un ordenador de sobremesa, un sistema de múltiples procesadores, un sistema electrónico de consumo programable o basado en microprocesador, una consola de videojuegos, un decodificador, un ordenador personal de red (PC), un miniordenador, etcétera. En una realización ejemplar, el dispositivo cliente 110 comprende uno o más de una pantalla táctil, un acelerómetro, un giroscopio, un sensor biométrico, una cámara, un micrófono, un dispositivo de sistema global de posicionamiento (GPS) y similares.
El dispositivo cliente 110 se comunica con la red 104 mediante una conexión alámbrica o inalámbrica. Por ejemplo, una o más porciones de la red 104 pueden comprender una red ad hoc, una intranet, una extranet, una red privada virtual (VPN), una red de área local (LAN), una LAN inalámbrica (WLAN), una red de área amplia (WAN), una WAN inalámbrica (WWAN), una red de área metropolitana (MAN), una porción de Internet, una porción de la red pública de conmutación telefónica (PSTN), una red de teléfono celular, una red inalámbrica, una red de fidelidad inalámbrica (Wi-Fi®), una red de interoperabilidad mundial para acceso por microondas (WiMax), otro tipo de red o cualquier combinación adecuada de las mismas.
En diversas realizaciones ejemplares, el usuario puede ser una persona, una máquina u otra entidad que sea capaz de interactuar con el dispositivo cliente 110. En algunas realizaciones ejemplar, el usuario no es parte de la arquitectura 100 de red, pero interactúa con la arquitectura 100 de red mediante el dispositivo cliente 110 u otro medio. Por ejemplo, el usuario proporciona una indicación (por ejemplo, una indicación de la pantalla táctil o una indicación alfanumérica) al dispositivo cliente 110 y se comunica la indicación a la red 104. El usuario puede interactuar con el sistema 102 en red utilizando el dispositivo cliente 110. Adicionalmente, se muestra una aplicación 132 de un tercero, que se ejecuta en un servidor 130 de terceros, que tiene un acceso programático al sistema 102 en red.
Un servidor 120 de interfaz para programación de aplicaciones (API) y un servidor web 122 están acoplados con uno o más servidores 140 de aplicaciones, y proporcionan interfaces programática y web, respectivamente, con los mismos. Los servidores 140 de aplicaciones pueden albergar uno o más sistemas de publicación que comprenden el sistema 150 de recomendación de recursos, pudiendo comprender cada uno de los cuales uno o más módulos o aplicaciones, cada uno de los cuales puede estar implementado como soporte físico, soporte lógico, soporte lógico inalterable o cualquier combinación de los mismos. A su vez, se muestra que los servidores 140 de aplicaciones están acoplados con uno o más servidores 124 de base de datos que facilitan un acceso a uno o más repositorios de almacenamiento de información o a una o más bases 126 de datos. En una realización ejemplar, las bases 126 de datos son dispositivos de almacenamiento que almacenan información que ha de ser enviada (por ejemplo, publicaciones o enumeraciones) al sistema 102 en red. Las bases 126 de datos también pueden almacenar información digital de elementos según realizaciones ejemplares.
Se muestra que la aplicación 132 de terceros, que se ejecuta en uno o más servidores 130 de terceros, tiene un acceso programático al sistema 102 en red mediante la interfaz programática proporcionada por el servidor 120 de API. Por ejemplo, la aplicación 132 de terceros, que utiliza información recuperada del sistema 102 en red, soporta una o más características o funciones en una página Web albergada por terceros. La página Web de terceros, por ejemplo, proporciona una o más funciones promocionales, de mercado o de pago que son soportadas por las aplicaciones relevantes del sistema 102 en red.
El sistema 142 de gestión de casos puede proporcionar una funcionalidad operable para llevar a cabo diversos servicios de gestión de casos descritos en la presente memoria. Según se ha descrito anteriormente, el sistema de gestión de casos puede proporcionar servicios de generación de modelos normalizados de búsqueda y llevar a cabo búsquedas en múltiples fuentes de datos que pueden ser síncronas o asíncronas con respecto al sistema 142 de gestión de casos. Cada modelo normalizado de búsqueda generado por el sistema 142 de gestión de casos puede ser adaptado a una o más fuentes de datos seleccionadas para ese modelo normalizado de búsqueda. El sistema 142 de gestión de casos puede proporcionar, adicionalmente, servicios de relleno de datos a las fuentes de datos, suministrando datos en forma de elementos de consulta de búsqueda a las fuentes de datos para búsquedas que no producen ningún resultado.
Además, aunque la arquitectura 100 de red mostrada en la FIG. 1 emplea una arquitectura cliente-servidor, el presente contenido inventivo no está limitado, por supuesto, a tal arquitectura, y bien puede encontrar igualmente aplicación en un sistema de arquitectura distribuida, o entre dispositivos del mismo nivel, por ejemplo. Los sistemas del o de los servidores 140 de aplicaciones (por ejemplo, el sistema 142 de gestión de casos) también pueden ser implementados como programas de soporte lógico autónomo, que no tienen, necesariamente, prestaciones de red.
La FIG. 2 es un diagrama de bloques que ilustra componentes del sistema 142 de gestión de casos que configuran el sistema 142 de gestión de casos para generar y gestionar casos y para generar modelos normalizados de búsqueda y ejecutar búsquedas de fuentes síncronas y asíncronas de datos en función de los modelos normalizados generados de búsqueda, según algunas realizaciones ejemplares. Se muestra que el sistema 142 de gestión de casos incluye un módulo 210 de generación de casos, un módulo 215 de generación de modelos normalizados, un módulo 220 de búsqueda y un módulo 225 de registro, todos configurados para comunicarse entre sí (por ejemplo, mediante un bus, memoria compartida o un conmutador). Uno cualquiera o más de estos módulos pueden ser implementados utilizando uno o más procesadores (por ejemplo, configurando los uno o más procesadores para llevar a cabo funciones descritas para ese módulo) y, por lo tanto, pueden incluir uno o más de los procesadores.
El módulo 210 de generación de casos genera casos para los que se llevan a cabo búsquedas y se almacenan los resultados de la búsqueda. En algunas realizaciones, el módulo 210 de generación de casos crea un caso que incluye un identificador de caso y una o más propiedades del caso (por ejemplo, el contenido del caso, un tema, un autor). El módulo 210 de generación de casos puede asignar al caso datos objeto identificados mediante una o más búsquedas.
El módulo 215 de generación de modelos normalizados genera modelos normalizados de búsqueda en función de la selección de elementos de la interfaz de usuario. En algunas realizaciones, la selección de elementos de la interfaz de usuario incluye elementos que representan un tipo de búsqueda y una o más fuentes de datos. El módulo 215 de generación de modelos normalizados puede generar los modelos normalizados de búsqueda en función de relaciones entre el tipo de búsqueda y las una o más fuentes de datos para proporcionar distintos conjuntos de campos de entrada de datos.
El módulo 220 de búsqueda recibe consultas de búsqueda en forma de elementos diferenciados de consulta de búsqueda. El módulo 220 de búsqueda puede recibir los elementos de consulta de búsqueda en función de la entrada de los elementos de consulta de búsqueda en uno o más campos de entrada de datos de un modelo normalizado generado de búsqueda. El módulo 220 de búsqueda puede llevar a cabo una o más búsquedas en diferentes fuentes de datos identificadas en el modelo normalizado de búsqueda. En algunas realizaciones, el módulo 220 de búsqueda lleva a cabo una interrogación de una o más fuentes de datos en función de la naturaleza de la fuente de datos (por ejemplo, una fuente síncrona de datos o una fuente asíncrona de datos), una condición o un estado de un resultado de búsqueda (por ejemplo, una interrogación periódica en función de la no recepción de una respuesta de una fuente de datos).
El módulo 230 de registro genera un nuevo registro en una o más de las fuentes de datos. En algunas realizaciones, el módulo 230 de registro genera el nuevo registro en función de elementos de consulta de búsqueda en una consulta de búsqueda en la que la consulta de búsqueda no recibe ningún resultado de una o más de las fuentes de datos. Búsquedas subsiguientes incluyendo elementos similares de consulta de búsqueda pueden recibir el nuevo registro, incluyendo los elementos de consulta de búsqueda introducidos anteriormente, como una parte del conjunto de los resultados.
Cualquiera de los uno o más de los módulos descritos en la presente memoria puede ser implementado utilizando soporte físico por sí solo (por ejemplo, uno o más procesadores de una máquina) o una combinación de soporte físico y de soporte lógico. Por ejemplo, cualquier módulo descrito del sistema 142 de gestión de casos puede incluir físicamente una disposición de uno o más procesadores (por ejemplo, un subconjunto de los uno o más procesadores de la máquina, o de entre los mismos, descrito a continuación con referencia a la FIG. 10) configurados para llevar a cabo las operaciones descritas en la presente memoria para ese módulo. Como otro ejemplo, cualquier módulo del sistema 142 de gestión de casos puede incluir soporte lógico, soporte físico o ambos, que configuran una disposición de uno o más procesadores (por ejemplo, entre los uno o más procesadores de la máquina) para llevar a cabo las operaciones descritas en la presente memoria para ese módulo. En consecuencia, distintos módulos del sistema 142 de gestión de casos puede incluir y configurar distintas disposiciones de tales procesadores o una única disposición de tales procesadores en distintos instantes. Además, se pueden combinar cualesquiera dos o más módulos del sistema 142 de gestión de casos en un único módulo, y las funciones descritas en la presente memoria para un único módulo pueden ser subdivididas entre los múltiples módulos. Además, según diversas realizaciones ejemplares, los módulos descritos en la presente memoria como implementados en un único dispositivo, máquina o base de datos pueden estar distribuidos en múltiples máquinas, bases de datos o dispositivos.
La FIG. 3 es un diagrama de flujo que ilustra operaciones del sistema 142 de gestión de casos al llevar a cabo un procedimiento 300 de generación y de presentación de un modelo normalizado de flujo de búsqueda configurado para guiar una búsqueda en una o más fuentes de datos, según diversas realizaciones. Según se muestra en la FIG.
3, algunas realizaciones ejemplares del procedimiento 300 pueden llevarse a cabo mediante el sistema 142 de gestión de casos utilizando los módulos descritos anteriormente con respecto a la FIG. 2. La FIG. 3 muestra el procedimiento 300 que incluye una o más de las operaciones 305, 310, 315, 320, 325 y 330.
En la operación 305, el módulo 215 de generación de modelos normalizados del sistema 142 de gestión de casos recibe una selección de un tipo de búsqueda. En algunas realizaciones, la selección del tipo de búsqueda es recibida mediante una interfaz de usuario. Por ejemplo, el sistema 142 de gestión de casos puede provocar la presentación de la interfaz de usuario que tiene una pluralidad de elementos seleccionables de interfaz de usuario. Un elemento de interfaz de usuario de la pluralidad de elementos de la interfaz de usuario puede representar uno o más tipos de búsqueda. Por ejemplo, el elemento de la interfaz de usuario que representa una pluralidad de tipos de búsqueda puede ser un menú desplegable, un menú navegable por rueda de desplazamiento o cualquier elemento adecuado de interfaz de usuario configurado para presentar una pluralidad de opciones en un único elemento de la interfaz de usuario para su selección.
En algunas realizaciones, los tipos de búsqueda comprenden una búsqueda de persona, una búsqueda de vehículo, una búsqueda de aeronave y una búsqueda de caso. Aunque se ha descrito con respecto a búsquedas específicas, se debería comprender que los tipos de búsqueda pueden consistir en cualquier tipo adecuado de búsqueda susceptible de ser definido por una pluralidad de campos de entrada de datos. Cada tipo de búsqueda puede estar asociado con un conjunto de campos de entrada de datos de la pluralidad de campos de entrada de datos. El conjunto de campos de entrada de datos asociado con un tipo de búsqueda puede representar datos característicos de un tema del tipo de búsqueda. Los datos pueden describir, identificar o diferenciar el asunto de la búsqueda de uno o más asuntos adicionales.
En la operación 310, el módulo 215 de generación de modelos normalizados recibe una selección de una o más fuentes de datos. Las una o más fuentes de datos son accesibles por el sistema 142 de gestión de casos mediante la red 104. En algunas realizaciones, las fuentes de datos pueden estar asociadas con el sistema 142 de gestión de casos (por ejemplo, fuentes internas de datos) o asociadas con un servidor de terceros (por ejemplo, el servidor 130 de terceros). Las fuentes de datos pueden ser síncronas o asíncronas. Las fuentes síncronas de datos pueden estar asociadas con el sistema 142 de gestión de casos, de forma que se pueda transmitir una consulta a la fuente síncrona de datos y que los resultados sean recibidos sin atravesar la red 104. Las fuentes asíncronas de datos pueden ser consultadas por el sistema 142 de gestión de casos mediante la red 104. En algunas realizaciones, las fuentes asíncronas de datos pueden proporcionar resultados desacoplados de la consulta de búsqueda. Por ejemplo, las fuentes asíncronas de datos pueden proporcionar resultados en un marco temporal retrasado, tal como tras un retraso predeterminado, un retraso previsto o en función de recursos del sistema. En algunos casos, las fuentes asíncronas de datos pueden proporcionar resultados en un marco temporal irregular.
Según se muestra en la FIG. 4, una interfaz 400 de usuario puede presentar fuentes de datos incluyendo una fuente de datos de gestión de casos (por ejemplo, una fuente síncrona de datos) y fuentes de datos para una o más fuentes de datos del Department of Motor Vehicles (DMV) [Departamento de Automóviles] para una persona, un automóvil y una embarcación; una o más fuentes de datos del Federal Aviation Administration (FAA) [Aviación Civil] para una persona y una aeronave; una o más fuentes de datos de la State Police (SP) [Policía Estatal] para una persona incursa en procedimientos, una persona que entra en el país, un registro de vehículo, una comprobación de antecedentes (BG CHK), una inspección en tierra, una inspección aérea o marítima, pruebas, un registro de incidente, una investigación en curso (OI) (por ejemplo, investigación interna, persona o vehículo); una o más fuentes de datos de sheriff (SH) para un registro de confiscación de bienes (AF), una OI, y órdenes judiciales; y una o más fuentes de datos del Registro de la Propiedad para bienes inmuebles (RP). Aunque se muestra con fuentes de datos especificadas, se comprenderá que el sistema 142 de gestión de casos puede permitir una selección y una búsqueda de cualquier fuente adecuada de datos accesible por el sistema 142 de gestión de casos. La interfaz 400 de usuario puede ser generada por uno o más del módulo 210 de generación de casos y del módulo 215 de generación de modelos normalizados.
En algunas realizaciones, se recibe la selección de las una o más fuentes de datos mediante la interfaz de usuario. Uno o más elementos de la interfaz de usuario de la pluralidad de elementos de la interfaz de usuario pueden representar una o más fuentes de datos. Según se muestra en la FIG. 4, se presentan elementos seleccionables de la interfaz de usuario (por ejemplo, iconos o casillas) que representan las fuentes de datos al elemento de la interfaz de usuario que representa el tipo de búsqueda. En algunos casos, la interfaz de usuario es presentada con un único elemento de la interfaz de usuario para cada fuente de datos de las una o más fuentes de datos. La interfaz de usuario también puede ser presentada con un único elemento de la interfaz de usuario configurado para presentar y permitir la selección de las una o más fuentes de datos.
En algunas realizaciones, en respuesta a la recepción de la selección del tipo de búsqueda, el sistema 142 de gestión de casos provoca la presentación de un conjunto de elementos de la fuente de datos. Las una o más fuentes de datos se seleccionan del conjunto de elementos de la fuente de datos. El sistema 142 de gestión de casos puede generar y provocar la presentación de uno o más elementos de la interfaz de usuario que representan una o más fuentes de datos asociadas con el tipo seleccionado de búsqueda. En estas realizaciones, antes de la recepción de la selección del tipo de búsqueda, los elementos de la interfaz de usuario para las fuentes de datos pueden ser ocultados, encubiertos o no ser seleccionables de otra manera.
Con referencia de nuevo a la FIG. 3, en la operación 315, el módulo 215 de generación de modelos normalizados genera un modelo normalizado de búsqueda que tiene un conjunto de campos de entrada de datos. El conjunto de campos de entrada de datos puede comprender uno o más campos de entrada de datos. En diversas realizaciones ejemplares, el sistema 142 de gestión de casos genera el modelo normalizado de búsqueda en función de la selección, o en respuesta a la misma, del tipo de búsqueda y de las una o más fuentes de datos. El modelo normalizado de búsqueda puede ser generado automáticamente mediante el sistema 142 de gestión de casos seleccionando uno o más campos de entrada de datos y rellenando la interfaz de usuario con los uno o más campos de entrada de datos. El sistema 142 de gestión de casos genera el modelo normalizado de búsqueda en función de una relación jerárquica del tipo de búsqueda, el conjunto de fuentes de datos y los campos de entrada de datos.
En algunas realizaciones, el modelo normalizado de búsqueda es generado seleccionando un modelo normalizado de búsqueda de un conjunto de modelos normalizados predefinidos de búsqueda. Los modelos normalizados predefinidos de búsqueda pueden ser generados y almacenados en la forma de ficheros de modelos normalizados predefinidos (por ejemplo, ficheros de texto JavaScript Object Notation (JSON) [Notación de objeto de JavaScript]. Cada fichero de modelo normalizado predefinido puede especificar una estructura de consulta para un modelo normalizado de búsqueda asociado con el fichero de modelo normalizado predefinido. Cada fichero de modelo normalizado predefinido puede especificar una o más fuentes de datos para un modelo normalizado de búsqueda representado por el fichero de modelo normalizado predefinido, uno o más campos para cada fuente de datos de las una o más fuentes de datos y una o más validaciones para el modelo normalizado asociado de búsqueda.
Los ficheros de modelos normalizados predefinidos pueden ser leídos por el módulo 215 de generación de modelos normalizados de la base 126 de datos. En algunas realizaciones, se puede generar una interfaz de usuario para el modelo normalizado de búsqueda mediante el módulo 215 de generación de modelos normalizados en función del fichero de modelo normalizado predefinido que sea leído de la base 126 de datos. En algunas realizaciones, el módulo 215 de generación de modelos normalizados puede pasar el fichero de modelo normalizado seleccionado al dispositivo cliente 110. En estos casos, uno o más del cliente web 112 o del cliente programático 116 del dispositivo cliente 110 pueden generar la interfaz de usuario para el modelo normalizado de búsqueda en función de la recepción del fichero seleccionado de modelo normalizado predefinido.
Según se muestra en la interfaz 400 de usuario de la FIG. 4, el modelo normalizado de búsqueda generado para una búsqueda de persona puede comprender una pluralidad de campos de entrada de datos configurados para recibir datos que representan características identificativas de una persona. La pluralidad de campos de entrada de datos pueden comprender campos de entrada de datos para un nombre, un apodo, una fecha de nacimiento, un intervalo de fecha de nacimiento (por ejemplo, una fecha de inicio y una fecha final), un número de pasaporte, un país del pasaporte, una fecha de evento, un intervalo de fecha de evento (por ejemplo, una fecha de inicio y una fecha final), un número de carnet de conducir, un Estado del carnet de conducir, un número de seguridad social, un número de visado, un número de licencia de piloto, un país de la licencia de piloto, una raza, un sexo, una nacionalidad, un número de caso y una o más referencias del registro. En algunos casos, Las referencias del registro comprenden una dirección, un número de propiedad, una identificación del registro (por ejemplo, un número de identificación o una identificación alfanumérica) y una oficina de registro. Se pueden utilizar otros campos de entrada de datos y no están limitados a los mostrados en la FIG. 4.
Según se muestra en la FIG. 5, el modelo normalizado de búsqueda generado en una interfaz 500 de usuario para una búsqueda de vehículo puede comprender una pluralidad de campos de entrada de datos configurados para recibir datos que representan características identificativas de un vehículo. La pluralidad de campos de entrada de datos puede comprender un número de matrícula, un Estado de la matrícula, un país de la matrícula, un número de identificación de vehículos automóviles (VIN), una identificación del registro, una oficina de registro y un número de caso. Se pueden utilizar otros campos de entrada de datos y no están limitados a los mostrados en la FIG. 5.
Según se muestra en la FIG. 6, el modelo normalizado de búsqueda generado en una interfaz 600 de usuario para la búsqueda de caso puede comprender una pluralidad de campos de entrada de datos configurados para recibir datos que representan características identificativas de un caso en el sistema 142 de gestión de casos o la fuente síncrona de datos. La pluralidad de campos de entrada de datos puede comprender un número de caso, una categoría de caso, una subcategoría de caso, un código de programa, un estado del caso, un idioma, un país, un estado de proceso judicial, un impacto significativo, una fuente de indagaciones, un año fiscal, una fecha de creación, un intervalo de fecha del caso (por ejemplo, fecha de inicio y fecha final), un agente del caso, un supervisor del caso y una oficina del caso. Se pueden utilizar otros campos de entrada de datos y no están limitados a los mostrados en la FIG. 6.
Con referencia de nuevo a la FIG. 3, en la operación 320, el sistema 142 de gestión de casos recibe una consulta de búsqueda en el modelo normalizado de búsqueda. La consulta de búsqueda comprende un conjunto de elementos de consulta que rellena el conjunto de campos de entrada de datos. La consulta de búsqueda puede ser recibido mediante la interfaz de usuario y puede incluir el conjunto de elementos de consulta que rellena el conjunto de campos de entrada de datos. Por ejemplo, un usuario del sistema 142 de gestión de casos puede introducir, mediante un dispositivo de entrada, elementos de consulta en forma de texto, de caracteres alfanuméricos, de selecciones predeterminadas (por ejemplo, selecciones de un menú desplegable o de un menú desplazable) o ficheros (por ejemplo, un fichero de imagen, un fichero de vídeo o un fichero de audio). Uno o más elementos de consulta del conjunto de elementos de consulta pueden ser rellenados automáticamente. Por ejemplo, el dispositivo cliente 110 puede recibir una selección de un elemento de la interfaz de usuario que representa una o más búsquedas en el historial. A las búsquedas en el historial se les puede dar nombre o pueden ser identificadas de otra manera y presentadas en una ventana emergente, en una porción de la interfaz de usuario o de cualquier otra forma adecuada. Tras la selección de una de las búsquedas en el historial, el sistema 142 de gestión de casos puede rellenar automáticamente uno o más elementos de consulta del conjunto de elementos de consulta utilizando términos, palabras clave u otra información proporcionada en la búsqueda en el historial. En algunos casos, los campos de entrada de datos pueden aceptar un tipo predeterminado de datos o una entrada de forma libre.
En la operación 325, el módulo 220 de búsqueda del sistema 142 de gestión de casos accede a una fuente de datos del servidor para consultar una fuente síncrona de datos con uno o más elementos de consulta de búsqueda del conjunto de elementos de consulta de búsqueda. La fuente de datos del servidor está asociada con el sistema 142 de gestión de casos que recibe la selección del modelo normalizado de búsqueda. Según se muestra en la FIG. 4, se selecciona la fuente 410 de datos de gestión de casos (por ejemplo, la fuente síncrona de datos). En algunas realizaciones, el sistema 142 de gestión de casos puede acceder a la fuente de datos del servidor internamente sin comunicarse mediante la red 104 o un servidor de terceros. El sistema 142 de gestión de casos accede a la fuente de datos de gestión de casos, pasando los elementos de consulta a la fuente de datos para buscar los datos contenidos en la misma.
En algunas realizaciones, el módulo 220 de búsqueda puede recibir del dispositivo cliente 110 una consulta de búsqueda rellenada mediante el servidor 140 de aplicaciones. La consulta de búsqueda rellenada puede ser generada por la entrada del usuario en el modelo normalizado de búsqueda generado como una interfaz de usuario a partir del fichero de modelo normalizado especificado. En algunas realizaciones, el dispositivo cliente 110 puede proporcionar información de paginación y clasificación al módulo 220 de búsqueda en la consulta de búsqueda. Al acceder a la fuente síncrona de datos, el módulo 220 de búsqueda puede transformar la consulta de búsqueda en una nueva consulta especificando índices de búsqueda personalizada para buscar en la fuente síncrona de datos. El módulo 220 de búsqueda puede transmitir la nueva consulta a una agrupación de búsquedas elásticas en la fuente síncrona de datos. La agrupación de búsquedas elásticas puede llevar a cabo la búsqueda en la fuente síncrona de datos y devolver resultados al sistema 142 de gestión de casos.
En la operación 330, el módulo 220 de búsqueda provoca la presentación de un conjunto de primeros resultados de búsqueda de la fuente de datos del servidor. En algunas realizaciones, tras acceder a la fuente de datos del servidor, se proporciona al sistema 142 de gestión de casos el conjunto de primeros resultados de búsqueda. El conjunto de primeros resultados de búsqueda pueden ser formateados en función de la fuente de datos o de un tipo de datos recibido de la fuente de datos. Tras recibir el conjunto de primeros resultados de búsqueda, el sistema 142 de gestión de casos puede generar una interfaz de usuario (por ejemplo, una presentación de visualización de resultados o una pantalla) para presentar el conjunto de primeros resultados de búsqueda.
En algunas realizaciones, cada fuente de datos asociada con el modelo normalizado de búsqueda puede especificar un esquema de resultados. Por ejemplo, un modelo normalizado de búsqueda de persona puede representar visualmente un nombre, una fecha de nacimiento y una dirección mientras que una búsqueda de vehículo puede mostrar un número de matrícula, un número de identificación de vehículos automóviles (VIN) y un fabricante y modelo de un vehículo. Aunque los campos de datos disponibles difieren en función de los resultados de la búsqueda, el módulo 220 de búsqueda puede estructurar los resultados de una forma común a todas las fuentes de datos y modelos normalizados de búsqueda para presentar una presentación unificada de interfaz de usuario para el conjunto de primeros resultados de búsqueda.
La FIG. 7 es un diagrama de flujo que ilustra las operaciones del sistema 142 de gestión de casos que lleva a cabo un procedimiento 700 para presentar un modelo normalizado de flujo de búsqueda configurado para guiar una búsqueda en una o más fuentes asíncronas de datos, según diversas realizaciones. Según se muestra en la FIG. 7, el sistema 142 de gestión de casos puede llevar a cabo algunas realizaciones ejemplares del procedimiento 700 utilizando los módulos descritos anteriormente con respecto a la FIG. 2. La Fig. 7 muestra el procedimiento 700 que incluye una o más de las operaciones 705, 710, 715 y 720.
En la operación 705, el módulo 220 de búsqueda accede a un conjunto de fuentes externas de datos para consultar el conjunto de fuentes externas de datos con uno o más elementos de consulta de búsqueda del conjunto de elementos de consulta de búsqueda. Se puede seleccionar el conjunto de fuentes externas de datos como una o más de las una o más fuentes de datos seleccionadas en la operación 310. El conjunto de fuentes externas de datos es externo al sistema 142 de gestión de casos y la fuente de datos del servidor. Por ejemplo, el conjunto de fuentes externas de datos puede ser una fuente privada de datos de terceros, una fuente gubernamental o estatal de datos, una fuente de datos de entidad no gubernamental o cualquier otra base de datos o fuente de datos accesible mediante la red 104. En algunos casos, el sistema 142 de gestión de casos accede al conjunto de fuentes externas de datos mediante la red 104.
En algunos casos, el módulo 220 de búsqueda puede recibir del dispositivo cliente 110 una consulta de búsqueda rellenada mediante el servidor 140 de aplicaciones. Se puede generar la consulta de búsqueda rellenada mediante una entrada del usuario en el modelo normalizado de búsqueda generado como una interfaz de usuario a partir del fichero de modelo normalizado especificado. En algunas realizaciones, el dispositivo cliente puede proporcionar información de paginación y clasificación al módulo 220 de búsqueda en la consulta de búsqueda. Al acceder al conjunto de fuentes externas de datos (por ejemplo, fuentes asíncronas de datos), el módulo 220 de búsqueda puede transmitir la consulta de búsqueda a un servidor federado de búsqueda que representa el conjunto de fuentes externas de datos. El servidor federado de búsqueda o el módulo 220 de búsqueda puede analizar la consulta de búsqueda en un nuevo formato de consulta que envía al conjunto de fuentes de datos para su procesamiento. Una vez que el servidor federado de búsqueda inicia la búsqueda con el conjunto de fuentes externas de datos utilizando la nueva consulta, el servidor federado de búsqueda puede generar y transmitir una notificación de inicio que indica que la consulta de búsqueda está registrada y está ejecutándose en el conjunto de servidores externos de datos. El servidor federado de búsqueda puede almacenar la notificación de inicio como un estado de búsqueda en una base de datos asociada.
Tras la recepción de los resultados de búsqueda de una o más fuentes externas de datos del conjunto de fuentes externas de datos, el servidor federado de búsqueda puede almacenar los resultados de búsqueda en la base de datos asociada. En algunos casos, cuando se han recibido los resultados de búsqueda de todas las fuentes externas de datos del conjunto de fuentes externas de datos, el servidor federado de búsqueda puede marcar la búsqueda como completa, modificando el estado asociado con la notificación de inicio. Los resultados de búsqueda almacenados en la base de datos asociada con el servidor federado de búsqueda pueden tener una expiración para cada fuente de datos. La expiración de la fuente de datos puede introducir un estado adicional, o estar asociada con el mismo. El estado adicional puede representar una expiración de los resultados de búsqueda. Tras la expiración de los resultados de búsqueda, el servidor federado de búsqueda puede proporcionar una indicación de expiración al módulo 220 de búsqueda. La recepción de la indicación de la expiración puede provocar que el módulo 220 de búsqueda genere una notificación transmitida al dispositivo cliente 110 para que vuelva a enviar la consulta de búsqueda. Tras la expiración de los resultados de búsqueda, el servidor federado de búsqueda puede purgar los resultados de búsqueda expirados de la base de datos asociada con el servidor federado de búsqueda.
En algunas realizaciones, el sistema 142 de gestión de casos accede al conjunto de fuentes externas de datos mediante un conjunto de módulos enchufables. Cada módulo enchufable puede estar configurado para acceder a una fuente externa predeterminada de datos. Los módulos enchufables pueden estar integrados en una interfaz de usuario, una funcionalidad de consulta u otras porciones de sistemas que forman toda la fuente externa de datos, o parte de la misma, cuyo acceso tiene encomendado el módulo enchufable. En algunas realizaciones, los módulos enchufables se almacenan en un servicio enchufable que, cuando es objeto de contacto por el sistema 142 de gestión de casos, reconoce el conjunto de fuentes externas de datos para que sea objeto de búsqueda e identifica módulos enchufables asociados con el conjunto de fuentes externas de datos para llevar a cabo la búsqueda. Los módulos enchufables pueden devolver los resultados al sistema 142 de gestión de casos e interrogar a una o más de las fuentes externas de datos efectuar de manera persistente búsquedas de largo alcance (por ejemplo, búsquedas para las cuales aún no se han devuelto resultados). La interrogación de las bases de datos externas puede entenderse como un contacto recurrente de las fuentes externas de datos mediante la red 104 en función de una o más condiciones. Las una o más condiciones pueden incluir un periodo de tiempo, una carga de tráfico de red, una planificación de contactos establecida, combinaciones de los mismos, o cualquier otra condición adecuada.
En la operación 710, el módulo 220 de búsqueda recibe un conjunto de segundos resultados de búsqueda del conjunto de fuentes externas de datos. El sistema 142 de gestión de casos puede recibir el conjunto de segundos resultados de búsqueda mediante la red 104. El conjunto de segundos resultados de búsqueda puede ser una respuesta retrasada a la consulta de búsqueda llevada a cabo en las fuentes externas de datos y en la fuente de datos del servidor. El conjunto de segundos resultados de búsqueda puede ser una respuesta al interrogatorio de las fuentes externas de datos. En algunas realizaciones, el conjunto de segundos resultados de búsqueda es incompleto, incluyendo los resultados de un subconjunto del conjunto de recursos externos. Por ejemplo, cuando el sistema 142 de gestión de casos consulta tres fuentes externas de datos, el conjunto de segundos resultados de búsqueda puede incluir resultados de búsqueda de únicamente una de las fuentes externas de datos. El sistema 142 de gestión de casos puede identificar el subconjunto de fuentes externas de datos (por ejemplo, un primer subconjunto de fuentes externas de datos) de las que se recibieron resultados y un segundo subconjunto de fuentes externas de datos de las que aún hay resultados pendientes.
En realizaciones que emplean el servidor federado de búsqueda, el módulo 220 de búsqueda puede interrogar periódicamente al servidor federado de búsqueda para recuperar resultados parciales o completos (por ejemplo, el conjunto de segundos resultados de búsqueda) y recuperar el estado de la búsqueda. El módulo 220 de búsqueda puede interrogar al servidor federado de búsqueda a intervalos predeterminados de tiempo (por ejemplo, cada cinco minutos), en función de características de la red (por ejemplo, un estado actual del tráfico de red), o en función de cualquier otro periodo adecuado. Los resultados de búsqueda recibidos durante la interrogación (por ejemplo, un acceso periódico del servidor federado de búsqueda) pueden ser considerados como parte del conjunto de resultados de búsqueda en el dispositivo cliente.
En la operación 715, el módulo 220 de búsqueda provoca la presentación de un resultado consolidado establecido en la interfaz de usuario. En diversas realizaciones ejemplares, el conjunto de resultados consolidados incluye el conjunto de primeros resultados y el conjunto de segundos resultados. En algunos casos, el conjunto de resultados consolidados incluye un indicador de finalización. El indicador de finalización puede indicar fuentes de datos de la fuente síncrona de datos y el conjunto de fuentes externas de datos de las que se han recibido los resultados. El indicador de finalización también puede incluir una hora estimada de entrega para la finalización del conjunto de segundos resultados de búsqueda. En algunos casos, cuando una o más fuentes de datos no llegan a responder o responden de una forma oportuna (por ejemplo, en un marco temporal predeterminado), el indicador de finalización puede incluir un informe de errores. El informe de errores puede indicar que una fuente de datos está caída (por ejemplo, desconectada deliberadamente, tal como para su mantenimiento o un cierre previsto), no da respuesta, es lenta o inalcanzable.
En algunas realizaciones, tras recibir el conjunto de segundos resultados, el módulo 220 de búsqueda identifica una o más fuentes externas de datos de las que no se recibieron resultados. El sistema 142 de gestión de casos identifica una o más características para las una o más fuentes externas de datos de las que no se recibieron resultados. El sistema 142 de gestión de casos utiliza las una o más características para generar el indicador de finalización o el informe de errores.
En algunos casos, el sistema 142 de gestión de casos puede incluir un servicio enchufable, según se ha descrito anteriormente. El servicio enchufable puede contener módulos enchufables para cada fuente de datos accesible por el sistema 142 de gestión de casos. En respuesta a la recepción del conjunto de segundos resultados que son incompletos, el sistema 142 de gestión de casos puede transmitir una consulta al servicio enchufable para identificar características para las fuentes externas de datos que no llegaron a proporcionar resultados. Cada módulo enchufable de fuente de datos puede determinar uno o más tipos de comportamiento para cada fuente de datos. El módulo enchufable puede estar configurado para devolver características de búsqueda incluyendo el tiempo de búsqueda, los tiempos medios de respuesta, retrasos o interrupciones predeterminados y otras características de la fuente de datos.
En la operación 720, el módulo 220 de búsqueda accede periódicamente a una o más fuentes externas de datos del conjunto de fuentes externas de datos. Según se ha hecho referencia anteriormente, el acceso periódico identifica un estado de la consulta para el conjunto de fuentes de datos. En algunos casos, el sistema 142 de gestión de casos está configurado para enviar los resultados, sin solicitud, según son recibidos de fuentes externas de datos. Además de enviar los resultados, sin solicitud, el sistema 142 de gestión de casos puede proporcionar resultados consolidados modificados o actualizados automáticamente en función de la recepción de los resultados adicionales de búsqueda en una respuesta retrasada a la búsqueda inicial. En algunas realizaciones, el sistema 142 de gestión de casos genera una notificación de actualización que indica una porción de los resultados de búsqueda recibidos, la fuente externa de datos de la que se recibieron los nuevos resultados, la indicación de finalización o una indicación procedente de los resultados consolidados modificados. En algunos casos, la notificación de actualización es una notificación en una aplicación nativa del sistema 142 de gestión de casos. La aplicación nativa puede incluir la generación de modelos normalizados de búsqueda e interfaces de usuario de búsqueda. La indicación para los resultados consolidados modificados puede tener la forma de un enlace de recursos (por ejemplo, un localizador de recurso uniforme u otra dirección de red).
El acceso periódico del sistema 142 de gestión de casos se lleva a cabo según el módulo enchufable para la fuente de datos que está siendo objeto de acceso. En algunas realizaciones, el acceso periódico puede estar basado en un retraso temporal predeterminado, una característica de tráfico de red (por ejemplo, cantidad de tráfico gestionado por la red 104), una característica de uso de la fuente de datos (por ejemplo, corriente o carga de trabajo prevista de la fuente de datos en un momento dado), o una característica (por ejemplo, la corriente o la carga de trabajo prevista del sistema 142 de gestión de casos en un momento dado) del sistema 142 de gestión de casos.
La FIG. 8 es un diagrama de flujo que ilustra operaciones del sistema 142 de gestión de casos en la ejecución de un procedimiento 800 de validación del modelo normalizado de búsqueda y el conjunto de elementos de consulta antes de llevar a cabo la búsqueda, coherente con algunas realizaciones. En algunos casos, el procedimiento 800 puede llevarse a cabo utilizando una o más operaciones de los procedimientos 300 y 700 o como suboperaciones de una o más operaciones del procedimiento 300 y 700. Según se muestra en la FIG. 8, el procedimiento 800 puede ser iniciado por las operaciones 305, 310 y 315 del procedimiento 300.
En la operación 805, el módulo 215 de generación de modelos normalizados determina un primer conjunto de campos de entrada de datos asociados con el tipo de búsqueda. El primer conjunto de campos de entrada de datos puede ser un subconjunto de un conjunto completo de campos de entrada de datos. En algunas realizaciones, cada tipo seleccionable de búsqueda puede estar asociado con uno o más campos de entrada de datos del conjunto completo de campos de entrada de datos. El sistema 142 de gestión de casos puede determinar el primer conjunto de campos de entrada de datos en función del acceso a la base 126 de datos para identificar el primer conjunto de campos de entrada de datos en función de asociaciones almacenadas en la base 126 de datos. En algunas realizaciones, la operación 805 se lleva a cabo en respuesta a la generación del modelo normalizado de búsqueda en la operación 315. En algunos casos, la operación 805 se lleva a cabo como una suboperación durante la generación del modelo normalizado de búsqueda en la operación 315.
En la operación 810, el módulo 215 de generación de modelos normalizados determina un primer conjunto de tipos de datos para los uno o más campos de entrada de datos del modelo normalizado de búsqueda. El primer conjunto de tipos de datos puede ser un conjunto de características previstas o válidas de datos que han de ser introducidas en cada campo respectivo de entrada de datos de los uno o más campos de entrada de datos. Por ejemplo, cada campo de entrada de datos de los uno o más campos de entrada de datos puede estar configurado para recibir datos que tienen una o más características predeterminadas, tales como únicamente texto, únicamente números, una fecha, un intervalo de fechas (por ejemplo, una fecha de inicio y una fecha final), un número predeterminado de caracteres, un fichero de imagen u otros tipos de datos que tienen características predeterminadas. El sistema 142 de gestión de casos puede generar el primer conjunto de tipos de datos como una lista de los tipos de datos asociados con los uno o más campos de entrada de datos del modelo normalizado de búsqueda. La lista puede incluir una designación de qué tipo de dato está asociado con cada campo respectivo de entrada de datos de los uno o más campos de entrada de datos.
En la operación 815, el módulo 215 de generación de modelos normalizados determina un segundo conjunto de tipos de datos para el conjunto de elementos de consulta. En algunas realizaciones, el sistema 142 de gestión de casos puede identificar elementos de consulta introducidos en cada uno de los campos de entrada de datos de los uno o más campos de entrada de datos del modelo normalizado de búsqueda y el campo de entrada de datos en el que se ha introducido cada uno de los elementos de consulta. El sistema 142 de gestión de casos puede determinar, entonces, un tipo de dato para cada uno de los elementos de consulta.
En la operación 820, el módulo 215 de generación de modelos normalizados valida el conjunto de elementos de consulta que rellena los uno o más campos de entrada de datos. En diversas realizaciones ejemplares, el sistema 142 de gestión de casos valida el conjunto de elementos de consulta casando el primer conjunto de tipos de datos con el segundo conjunto de tipos de datos. Al casar el primer conjunto de tipos de datos con el segundo conjunto de tipos de datos, el sistema 142 de gestión de casos puede determinar que el tipo de dato para cada elemento de consulta introducido en un campo de entrada de datos coincide con el tipo de dato para ese campo de entrada de datos.
En algunas realizaciones, cuando el módulo 215 de generación de modelos normalizados determina que uno o más elementos de consulta del conjunto de elementos tiene un tipo de dato que no coincide con el campo de entrada de datos en el que se introduce el elemento de consulta, el sistema 142 de gestión de casos puede generar un mensaje de error indicando los uno o más elementos de consulta no coincidentes y solicitando la modificación de los uno o más elementos de consulta no coincidentes. El sistema 142 de gestión de casos puede evitar que se lleve a cabo una búsqueda antes de corregir o modificar de forma adecuada los uno o más elementos de consulta no coincidentes.
Por ejemplo, cuando el sistema 142 de gestión de casos determina una falta de coincidencia entre el tipo de dato de un elemento de consulta y un campo de entrada de datos, el sistema 142 de gestión de casos puede modificar la interfaz de usuario, provocando una presentación del mensaje de error como un cuadro de diálogo que impide la interacción con un elemento de interfaz de usuario de ejecución de búsqueda hasta que se ha tomado una acción correctiva. En algunos casos, el sistema 142 de gestión de casos modifica la interfaz de usuario para hacer que el elemento de interfaz de usuario de ejecución de búsqueda sea no seleccionable. Por ejemplo, en respuesta a la generación y a la presentación del mensaje de error, el sistema 142 de gestión de casos puede mostrar en gris atenuado el elemento de interfaz de usuario de ejecución de búsqueda, eliminar el elemento de interfaz de usuario de ejecución de búsqueda o encubrir el elemento de interfaz de usuario de ejecución de búsqueda.
En la operación 825, el módulo 215 de generación de modelos normalizados valida el modelo normalizado casando los uno o más campos de entrada de datos del modelo normalizado de búsqueda con el primer conjunto de campos de entrada de datos. En algunas realizaciones, el sistema 142 de gestión de casos determina una coincidencia inicial de un subconjunto validado de campos de entrada de datos que se produce en el primer conjunto de campos de entrada de datos. El sistema 142 de gestión de casos valida, entonces, el modelo normalizado de búsqueda casando cada uno del subconjunto validado de campos de entrada de datos con los uno o más campos de entrada de datos del modelo normalizado de búsqueda. El sistema 142 de gestión de casos puede validar el modelo normalizado de búsqueda casando todos los campos de entrada de datos, que se producen en el primer conjunto de campos de entrada de datos, en los uno o más campos de entrada de datos del modelo normalizado de búsqueda.
Por ejemplo, el tipo de búsqueda puede estar asociado con campos de entrada de datos de nombre, fecha de nacimiento, número de seguridad social, nacionalidad, número de pasaporte, país del pasaporte, número de licencia de piloto y país de la licencia de piloto. El primer conjunto de campos de entrada de datos puede incluir, entonces, campos de entrada de datos de nombre, fecha de nacimiento, número de seguridad social, nacionalidad, número de pasaporte, país del pasaporte, número de licencia de piloto y país de la licencia de piloto. Una primera fuente de datos de las una o más fuentes de datos puede estar asociada con campos de entrada de datos de nombre, fecha de nacimiento y número de seguridad social. Una segunda fuente de datos de las una o más fuentes de datos puede estar asociada con campos de entrada de datos de nombre, fecha de nacimiento, número de licencia de piloto y país de la licencia de piloto. Según se ha descrito, el primer conjunto de campos de entrada de datos también puede incluir campos de entrada de datos de nombre, fecha de nacimiento, número de seguridad social, número de licencia de piloto y país de la licencia de piloto. El sistema 142 de gestión de casos puede validar, entonces, el modelo normalizado de búsqueda determinando que los uno o más campos de entrada de datos del modelo normalizado de búsqueda incluyen al menos campos de entrada de datos de nombre, fecha de nacimiento, número de seguridad social, número de licencia de piloto y país de la licencia de piloto.
Aunque se ha descrito que valida el modelo normalizado de búsqueda determinando los uno o más campos de entrada de datos del modelo normalizado de búsqueda que incluyen todos los campos de entrada de datos comunes al primer conjunto de campos de entrada de datos, se debería comprender que el sistema 142 de gestión de casos puede validar el modelo normalizado de búsqueda de otras formas, en función de los uno o más campos de entrada de datos. Por ejemplo, en algunas realizaciones, el sistema 142 de gestión de casos puede determinar que todos los campos de entrada de datos incluidos en el primer conjunto de campos de entrada de datos están incluidos en los uno o más campos de entrada de datos del modelo normalizado de búsqueda.
En algunas realizaciones, cuando el sistema 142 de gestión de casos determina que uno o más campos ausentes de entrada de datos se producen en el primer conjunto de campos de entrada de datos y no se incluye en los uno o más campos de entrada de datos del modelo normalizado de búsqueda. El sistema 142 de gestión de casos puede generar un mensaje de error, indicando los uno o más campos ausentes de entrada de datos. El sistema 142 de gestión de casos puede generar un mensaje de error, indicando los uno o más campos ausentes de entrada de datos. El sistema 142 de gestión de casos puede provocar la presentación del mensaje de error en la interfaz de usuario y presentar una solicitud para añadir los uno o más campos ausentes de datos mediante uno o más elementos seleccionables de interfaz de usuario. En algunos casos, el sistema 142 de gestión de casos modifica el modelo normalizado de búsqueda para incluir los uno o más campos ausentes de entrada de datos. Cuando el sistema 142 de gestión de casos modifica el modelo normalizado de búsqueda, el sistema 142 de gestión de casos puede impedir que se lleve a cabo una búsqueda hasta que se haya actualizado la interfaz de usuario para reflejar el modelo normalizado modificado de búsqueda. Cuando no se ha intentado ninguna búsqueda, el sistema 142 de gestión de casos puede actualizar la interfaz de usuario o provocar, de otra manera, la presentación del modelo normalizado modificado de búsqueda que incluye los uno o más campos ausentes de entrada de datos.
En algunas realizaciones, una o más de las operaciones 810, 815, 820 y 825 se llevan a cabo entre las operaciones 320 y 325. En estos casos, el sistema 142 de gestión de casos puede impedir la operación 325, cuando el sistema 142 de gestión de casos detecta una falta de coincidencia, hasta que se tome una acción correctiva. En algunos casos, las operaciones 810, 815, 820 y 825 pueden llevarse a cabo como suboperaciones de la operación 325 antes del inicio del acceso a la fuente de datos del servidor.
La FIG. 9 es un diagrama de flujo que ilustra operaciones del sistema 142 de gestión de casos al llevar a cabo un procedimiento 900 para generar un nuevo registro en función de uno o más conjuntos de resultados de búsqueda recibidos por el sistema 142 de gestión de casos. El procedimiento 900 puede ser llevado a cabo cuando una búsqueda de una o más de las fuentes síncronas de datos y de las fuentes externas de datos no proporcionan ningún resultado, o proporciona resultados limitados o resultados incompletos.
En algunas realizaciones, el procedimiento 900 puede llevarse a cabo utilizando una o más operaciones de los procedimientos 300, 700 u 800. El procedimiento 900 puede llevarse a cabo en respuesta de una o más operaciones de los procedimientos 300, 700 u 800. En algunas realizaciones, el sistema 142 de gestión de casos inicia el procedimiento 900 en respuesta a una o más de las operaciones 325 y 330. Por ejemplo, en respuesta al sistema 142 de gestión de casos que provoca la presentación del conjunto de primeros resultados de búsqueda en la operación 330, el sistema 142 de gestión de casos puede provocar la presentación de un icono de nuevo registro en la interfaz de usuario. El icono de nuevo registro puede presentarse como un elemento seleccionable de la interfaz de usuario. La interacción con el icono de nuevo registro puede provocar que el sistema 142 de gestión de casos lleve a cabo las operaciones del procedimiento 900.
En la operación 905, el módulo 225 de registro del sistema 142 de gestión de casos recibe una selección de un icono de nuevo registro. El sistema 142 de gestión de casos puede recibir la selección del icono de nuevo registro en función de una interacción de un usuario con la interfaz de usuario a través de un dispositivo de entrada asociado con una máquina en la que se presenta la interfaz de usuario.
En la operación 910, el módulo 225 de registro genera un nuevo registro en función del primer conjunto de resultados de búsqueda. Aunque se describe con respecto a la generación del nuevo registro utilizando resultados de búsquedas recibidos por el sistema 142 de gestión de casos, en algunas realizaciones, el sistema 142 de gestión de casos genera el nuevo registro en función de la consulta de búsqueda y del conjunto de elementos de consulta que comprenden la consulta de búsqueda.
En respuesta a la recepción de la selección del ¡cono de nuevo registro, el módulo 225 de registro genera un registro vacío para el nuevo registro. En algunas realizaciones, tras la generación del registro vacío, el sistema 142 de gestión de casos rellena el registro vacío con una o más porciones del conjunto de primeros resultados de búsqueda de la operación 330. En algunos casos, el módulo 225 de registro también rellena el registro vacío con una o más porciones del conjunto de segundos resultados de búsqueda recibidos en la operación 710. Por ejemplo, el registro vacío puede comprender una pluralidad de campos de datos, de tablas o de registros configurados para recibir porciones de datos devueltos como parte de los resultados de búsqueda. En algunas realizaciones, los campos, las tablas o los registros en el registro vacío están configurados para tipos predeterminados de datos o resultados predeterminados. Por ejemplo, los resultados predeterminados pueden ser elementos conocidos de datos tales como un nombre, un número de seguridad social u otra información adecuada que puede ser devuelta como parte del conjunto de primeros resultados de búsqueda o del conjunto de segundos resultados de búsqueda.
En realizaciones en las que el sistema 142 de gestión de casos no recibe ningún resultado de búsqueda, se rellena el registro vacío en función de la consulta de búsqueda y del conjunto de elementos de consulta recibidos por el sistema 142 de gestión de casos. Por ejemplo, cuando el sistema 142 de gestión de casos recibe un nombre, una fecha de nacimiento, un número de seguridad social, la nacionalidad, un número de pasaporte y un país del pasaporte como el conjunto de elementos de consulta, el sistema 142 de gestión de casos rellena el registro vacío con la información que comprende el conjunto de elementos de consulta.
En la operación 915, el módulo 225 de registro almacena el nuevo registro en la fuente síncrona de datos. El sistema 142 de gestión de casos puede almacenar el nuevo registro en la base 126 de datos que alberga la fuente síncrona de datos. En algunos casos, el sistema 142 de gestión de casos publica el nuevo registro a una o más de las fuentes síncronas de datos y a una o más del conjunto de fuentes externas de datos. Una vez publicado, el nuevo registro puede ser buscable en la fuente síncrona de daos o las una o más fuentes externas de datos en las que se almacena y publica el nuevo registro. Cuando se almacena y publica el nuevo registro de datos en una o más de las fuentes externas de datos, la fuente externa de datos o un administrador de la misma en la que se almacena y publica el nuevo registro puede modificar el nuevo registro para incluir información adicional. En algunos casos, se puede recuperar un registro modificado, generado modificando el nuevo registro para que incluya la información adicional, cuando el sistema 142 de gestión de casos recibe una consulta subsiguiente de búsqueda que comprende los mismos elementos, o similares, de consulta de búsqueda que los recibidos en la operación 320.
En algunas realizaciones, cada tipo de búsqueda tiene una fuente de datos en la que se publican los nuevos registros, en respuesta al relleno del nuevo registro con resultados de búsqueda recibidos del tipo de búsqueda. En algunos casos, la fuente de datos en la que se publica el nuevo registro es predeterminada. La fuente de datos en la que se publica el nuevo registro puede rellenar una o más bases de datos de terceros con el nuevo registro en respuesta a la recepción del nuevo registro procedente del sistema 142 de gestión de casos.
La FIG. 10 es un diagrama de bloques que ilustra componentes de una máquina 1000, según algunas realizaciones ejemplares, que puede leer instrucciones 1024 de un medio 1022 legible por una máquina (por ejemplo, un medio no transitorio legible por una máquina, un medio de almacenamiento legible por una máquina, un medio de almacenamiento legible por un ordenador o cualquier combinación adecuada de los mismos) y llevar a cabo una cualquiera o más de las metodologías expuestas en la presente memoria, en todo o en parte. Específicamente, la FIG. 10 muestra la máquina 1000 en la forma ejemplar de un sistema de ordenador (por ejemplo, un ordenador) en el que pueden ejecutarse las instrucciones 1024 (por ejemplo, soporte lógico, un programa, una aplicación, una miniaplicación u otro código ejecutable) para provocar que la máquina 1000 lleve a cabo una cualquiera o más de las metodologías expuestas en la presente memoria, en todo o en parte.
En realizaciones alternativas, la máquina 1000 opera como un dispositivo autónomo o puede estar acoplada de forma comunicativa (por ejemplo, en red) con otras máquinas. En un despliegue en red, la máquina 1000 puede operar en calidad de una máquina servidora o una máquina cliente en un entorno servidor-cliente de red, o como una máquina del mismo nivel en un entorno distribuido de red (por ejemplo, entre dispositivos del mismo nivel). La máquina 1000 puede ser un ordenador servidor, un ordenador cliente, un PC, un ordenador de tipo tableta, un ordenador portátil, un ordenador superportátil de red, un teléfono móvil, un teléfono inteligente, un decodificador (STB), un PDA, una aplicación web, un dispositivo de encaminamiento de red, un conmutador de red, un puente de red o cualquier máquina con capacidad para ejecutar las instrucciones 1024, secuencialmente o de otra manera, que especifica las acciones que deben ser tomadas por esa máquina. Además, aunque solo se ilustra una única máquina, también se entenderá que el término “máquina” incluye cualquier agrupación de máquinas que ejecutan individual o colectivamente las instrucciones 1024 para llevar a cabo todas o parte de una cualquiera o más de las metodologías expuestas en la presente memoria.
La máquina 1000 incluye un procesador 1002 (por ejemplo, una unidad central de procesamiento (CPU), una unidad de procesamiento gráfico (GPU), un procesador de señales digitales (DSP), un circuito integrado de aplicaciones específicas (ASIC), un circuito integrado de radiofrecuencia (RFIC) o cualquier combinación adecuada de los mismos), una memoria principal 1004 y una memoria estática 1006, que están configurados para comunicarse entre sí mediante un bus 1008. El procesador 1002 puede contener microcircuitos digitales de estado sólido (por ejemplo, electrónicos, ópticos o ambos) que son configurables, temporal o permanentemente, mediante algunas de las instrucciones 1024, o todas ellas, de manera que el procesador 1002 sea configurable para llevar a cabo una cualquiera o más de las metodologías descritas en la presente memoria, en todo o en parte. Por ejemplo, se puede configurar un conjunto de uno o más microcircuitos del procesador 1002 para ejecutar uno o más módulos (por ejemplo, módulos de soporte lógico) descritos en la presente memoria. En algunas realizaciones ejemplares, el procesador 1002 es una CPU de múltiples núcleos (por ejemplo, una CPU de doble núcleo, una c Pu de cuatro núcleos o una CPU de 128 núcleos) en la que cada uno de los múltiples núcleos es un procesador separado que puede llevar a cabo una cualquiera o más de las metodologías expuestas en la presente memoria, en todo o en parte. Aunque los efectos beneficiosos descritos en la presente memoria pueden ser proporcionados por la máquina 1000 con al menos el procesador 1002, estos mismos efectos pueden ser proporcionados por un tipo distinto de máquina que no contiene ningún procesador (por ejemplo, un sistema puramente mecánico, un sistema puramente hidráulico o un sistema híbrido mecánico-hidráulico), si tal máquina sin procesador está configurada para llevar a cabo una o más de las metodologías descritas en la presente memoria.
La máquina 1000 puede incluir, además, un medio 1010 de visualización de gráficos (por ejemplo, un panel de visualización de plasma (PDP), un medio de visualización de diodo emisor de luz (LED), un medio de visualización de cristal líquido (LCD), un proyector, un tubo de rayos catódicos (CRT) o cualquier otro medio de visualización con capacidad para representar visualmente gráficos o vídeo). La máquina 1000 también puede incluir un dispositivo 1012 de entrada/salida (por ejemplo, un teclado o teclado numérico, ratón o almohadilla táctil), un componente 1014 de localización (por ejemplo, un receptor de GPS), una unidad 1016 de almacenamiento, un dispositivo 1018 de generación de audio (por ejemplo, una tarjeta de sonido, un amplificador, un altavoz, una clavija de auriculares o cualquier combinación adecuada de los mismos) y un dispositivo 1020 de interfaz de red.
La unidad 1016 de almacenamiento incluye el medio 1022 legible por una máquina (por ejemplo, un medio tangible y no transitorio de almacenamiento legible por una máquina) en el que se almacenan las instrucciones 1024 que implementan una cualquiera o más de las metodologías o funciones descritas en la presente memoria. Las instrucciones 1024 también pueden residir, completamente o al menos parcialmente, en la memoria principal 1004, en el procesador 1002 (por ejemplo, en la memoria de almacenamiento temporal del procesador), en la memoria estática 1006 o cualquier combinación de los mismos, antes o durante la ejecución de las mismas mediante la máquina 1000. En consecuencia, la memoria principal 1004, la memoria estática 1006 y el procesador 1002 pueden estar considerados medios legibles por una máquina (por ejemplo, medios tangibles y no transitorios legibles por una máquina). Las instrucciones 1024 pueden ser transmitidas o recibidas por una red 1026 mediante el dispositivo 1020 de interfaz de red. Por ejemplo, el dispositivo 1020 de interfaz de red puede comunicar las instrucciones 1024 utilizando uno cualquiera o más protocolos de transferencia (por ejemplo, el protocolo de transferencia de hipertexto (HTTP)).
Según se utiliza en la presente memoria, el término “memoria” hace referencia a un medio legible por una máquina con capacidad para almacenar datos temporal o permanentemente y puede entenderse que incluye, sin limitación, memoria de acceso aleatorio (RAM), memoria de solo lectura (ROM), memoria intermedia, memoria flash y memoria de almacenamiento temporal. Aunque se muestra que el medio 1022 legible por una máquina en una realización ejemplar es un único medio, se debería entender que la expresión “medio legible por una máquina” incluye un único medio o múltiples medios (por ejemplo, una base de datos centralizada o distribuida, o memorias de almacenamiento temporal y servidores asociados) con capacidad para almacenar instrucciones. También se entenderá que la expresión “medio legible por una máquina” incluye cualquier medio, o combinación de múltiples medios, que sea capaz de almacenar las instrucciones 1024 para su ejecución mediante la máquina 1000, de forma que las instrucciones 1024, cuando son ejecutadas por uno o más procesadores de la máquina 1000 (por ejemplo, el procesador 1002), provocan que la máquina 1000 lleve a cabo una cualquiera o más de las metodologías descritas en la presente memoria, en todo o en parte. En consecuencia, un “medio legible por una máquina” hace referencia a un único aparato o dispositivo de almacenamiento, al igual que sistemas de almacenamiento o redes de almacenamiento basados en la nube que incluyen múltiples aparatos o dispositivos de almacenamiento. En consecuencia, se entenderá que la expresión “medio legible por una máquina” incluye, sin limitación, uno o más repositorios tangibles y no transitorios de datos (por ejemplo, volúmenes de datos) en la forma ejemplar de un chip de memoria de estado sólido, un disco óptico, un disco magnético o cualquier combinación adecuada de los mismos. Según se utiliza en la presente memoria, un medio “no transitorio” legible por una máquina no incluye, específicamente, per se, señales que se propagan. En algunas realizaciones ejemplares, las instrucciones 1024 para su ejecución por medio de la máquina 1000 pueden ser comunicadas por un medio portador. Ejemplos de tal medio portador incluyen un medio de almacenamiento (por ejemplo, un medio no transitorio de almacenamiento legible por una máquina, tal como una memoria de estado sólido, que es movido físicamente de un lugar a otro lugar) y un medio transitorio (por ejemplo, una señal que se propaga que comunica las instrucciones 1024).
En la presente memoria se describen ciertas realizaciones que incluyen lógica o un número de componentes, módulos o mecanismos. Los módulos pueden constituir módulos de soporte lógico (por ejemplo, código almacenado o implementado de otra manera en un medio legible por una máquina o en un medio de transmisión), módulos de soporte físico o cualquier combinación adecuada de los mismos. Un “módulo de soporte físico” es una unidad tangible (por ejemplo, no transitoria) con capacidad para llevar a cabo ciertas operaciones y puede estar configurada o dispuesta de una cierta forma física. En diversas realizaciones ejemplares, uno o más sistemas de ordenador (por ejemplo, un sistema de ordenador autónomo, un sistema de ordenador cliente, o un sistema de ordenador servidor) o uno o más módulos de soporte físico de un sistema de ordenador (por ejemplo, un procesador o un grupo de procesadores) pueden estar configurados mediante soporte lógico (por ejemplo, una aplicación o una porción de aplicación) como un módulo de soporte físico que opera para llevar a cabo ciertas operaciones según se describe en la presente memoria.
En algunas realizaciones, se puede implementar un módulo de soporte físico de forma mecánica, electrónica o cualquier combinación adecuada de los mismos. Por ejemplo, un módulo de soporte físico puede incluir circuitería o lógica dedicada que está configurada permanentemente para llevar a cabo ciertas operaciones. Por ejemplo, un módulo de soporte físico puede ser un procesador de uso especial, tal como una matriz de puertas de campo programable (FPGA) o un ASIC. Un módulo de soporte físico también puede incluir lógica o circuitería programable que está configurada temporalmente mediante soporte lógico para llevar a cabo ciertas operaciones. Por ejemplo, un módulo de soporte físico puede incluir soporte lógico integrado en una CPU u otro procesador programable. Se apreciará que la decisión de implementar un módulo de soporte físico mecánicamente, en circuitería dedicada o configurada permanentemente, o en circuitería configurada temporalmente (por ejemplo, configurada mediante soporte lógico) puede ser impulsada por consideraciones de coste y de tiempo.
En consecuencia, se debería comprender que la frase “módulo de soporte físico” abarca una entidad tangible, y tal entidad tangible puede estar construida físicamente, configurada permanentemente (por ejemplo, cableada), o configurada temporalmente (por ejemplo, programada) para operar de una cierta forma o para llevar a cabo ciertas operaciones descritas en la presente memoria. Según se utiliza en la presente memoria, “módulo implementado por soporte físico” hace referencia a un módulo de soporte físico. Considerando realizaciones en las que los módulos de soporte físico están configurados temporalmente (por ejemplo, programados), no es preciso que cada uno de los módulos de soporte físico esté configurado o ejemplificado en un cualquier momento dado. Por ejemplo, cuando un módulo de soporte físico comprende una CPU configurada por soporte lógico para convertirse en un procesador de uso especial, la CPU puede estar configurada como procesadores de uso especial respectivamente distintos (por ejemplo, cada uno incluidos en un módulo distinto de soporte físico) en distintos momentos. El soporte lógico (por ejemplo, un módulo de soporte lógico) puede configurar, en consecuencia, uno o más procesadores, por ejemplo, para constituir un módulo particular de soporte físico en un momento distinto dado y para constituir un módulo distinto de soporte físico en un momento distinto dado.
Los módulos de soporte físico pueden proporcionar información a otros módulos de soporte físico, y recibir información de los mismos. En consecuencia, se puede considerar que los módulos descritos de soporte físico están acoplados de forma comunicativa. Cuando existen contemporáneamente múltiples módulos de soporte físico, las comunicaciones pueden llevarse a cabo mediante una transmisión de señales (por ejemplo, por circuitos y buses apropiados) entre dos o más de los módulos de soporte físico. En realizaciones en las que múltiples módulos de soporte físico están configurados o ejemplificados en distintos momentos, se pueden lograr comunicaciones entre tales módulos de soporte lógico, por ejemplo, a través del almacenamiento y la recuperación de información en estructuras de memoria a las que los múltiples módulos de soporte lógico tienen acceso. Por ejemplo, un módulo de soporte físico puede llevar a cabo una operación y almacenar la salida de esa operación en un dispositivo de memoria con el que está acoplado de forma comunicativa. Entonces, un módulo adicional de soporte físico puede acceder, en un momento posterior, al dispositivo de memoria para recuperar y procesar la salida almacenada. Los módulos de soporte físico también pueden iniciar las comunicaciones con dispositivos de entrada o de salida, y pueden operar en un recurso (por ejemplo, un conjunto de información).
Las diversas operaciones de procedimientos ejemplares descritos en la presente memoria pueden llevarse a cabo, al menos parcialmente, mediante uno o más procesadores que están configurados temporalmente (por ejemplo, mediante soporte lógico) o configurados permanentemente para llevar a cabo las operaciones relevantes. Ya estén configurados temporal o permanentemente, tales procesadores pueden constituir módulos implementados por procesadores que operan para llevar a cabo una o más operaciones o funciones descritas en la presente memoria. En consecuencia, las operaciones descritas en la presente memoria pueden ser implementadas, al menos parcialmente por un procesador, dado que un procesador es un ejemplo de soporte físico. Por ejemplo, al menos algunas operaciones de cualquier procedimiento pueden ser llevadas a cabo por uno o más módulos implementados por procesadores. Según se utiliza en la presente memoria, “módulo implementado por procesadores” hace referencia a un módulo de soporte físico en el que el soporte físico incluye uno o más procesadores. Además, los uno o más procesadores también pueden operar para soportar el rendimiento de las operaciones relevantes en un entorno “informático de nube” o como un “soporte lógico como servicio” (SaaS). Por ejemplo, al menos algunas de las operaciones pueden ser llevadas a cabo por un grupo de ordenadores (como ejemplos de máquinas que incluyen procesadores), siendo accesibles estas operaciones mediante una red (por ejemplo, Internet) y mediante una o más interfaces apropiadas (por ejemplo, una interfaz para programa de aplicaciones (API)).
En toda la presente memoria, múltiples casos pueden implementar componentes, operaciones o estructuras descritos como un único caso. Aunque se ilustran y describen operaciones individuales de uno o más procedimientos como operaciones separadas, se pueden llevar a cabo una o más de las operaciones individuales de forma simultánea, y nada requiere que las operaciones sean llevadas a cabo en el orden ilustrado. Las estructuras y la funcionalidad presentadas como componentes separados en configuraciones ejemplares pueden ser implementadas como un componente o estructura combinado. De forma similar, las estructuras y la funcionalidad presentadas como un único componente pueden ser implementadas como componentes separados. Estas y otras variaciones, modificaciones, adiciones y mejoras se encuentran dentro del alcance del contenido de la presente memoria.
El rendimiento de ciertas operaciones puede ser distribuido entre los uno o más procesadores, ya residan únicamente en una única máquina o estén desplegados en un número de máquinas. En algunas realizaciones ejemplares, los uno o más procesadores o módulos de soporte físico (por ejemplo, módulos implementados por procesadores) pueden estar ubicados en una única ubicación geográfica (por ejemplo, en un entorno doméstico, un entorno empresarial o en una granja de servidores). En otras realizaciones ejemplares, los uno o más procesadores o módulos de soporte físico pueden estar distribuidos en un número de ubicaciones geográficas.
Algunas porciones del contenido expuesto en la presente memoria pueden ser presentadas en términos de algoritmos o de representaciones simbólicas de operaciones en datos almacenados como bits o señales digitales binarias en una memoria de máquina (por ejemplo, una memoria de ordenador). Tales algoritmos o representaciones simbólicas son ejemplos de técnicas utilizadas por las personas con un nivel normal de dominio en la técnica de procesamiento de datos para transmitir la sustancia de su trabajo a otros expertos en la técnica. Según se utiliza en la presente memoria, un “algoritmo” es una secuencia coherente de operaciones o un procesamiento similar que lleve a un resultado deseado. En este contexto, los algoritmos y las operaciones implican una manipulación física de las magnitudes físicas. Normalmente, pero no necesariamente, tales magnitudes pueden adoptar la forma de señales eléctricas, magnéticas u ópticas capaces de ser almacenadas, ser objeto de acceso, transferidas, combinadas, comparadas o manipuladas de otra manera por una máquina. A veces es conveniente, principalmente por razones de uso común, hacer referencia a tales señales utilizando palabras tales como “datos”, “contenido”, “bits”, “valores”, “elementos”, “símbolos”, “caracteres”, “términos”, “números” o similares. Sin embargo, estas palabras son simplemente etiquetas convenientes y deben estar asociadas con magnitudes físicas apropiadas.
A no ser que se indique específicamente lo contrario, las exposiciones en la presente memoria que utilizan palabras tales como “procesar”, “computarizar”, “calcular”, “determinar”, “presentar”, “representar visualmente” o similares pueden hacer referencia a acciones o procedimientos de una máquina (por ejemplo, un ordenador) que manipula o transforma datos representados como magnitudes físicas (por ejemplo, electrónicas, magnéticas u ópticas) en una o más memorias (por ejemplo, memoria volátil, memoria no volátil o cualquier combinación adecuada de las mismas), registros u otros componentes de máquina que reciben, almacenan, transmiten o representan visualmente información. Además, a no ser que se indique específicamente lo contrario, en la presente memoria se utilizan los términos “un” o “una”, como es común en documentos de patentes, para que incluyan un caso o más de uno. Finalmente, según se utiliza en la presente memoria, la conjunción “o” hace referencia a un “o” no excluyente, a no ser que se indique específicamente lo contrario.

Claims (13)

REIVINDICACIONES
1. Un procedimiento (300, 700) implementado por un ordenador, que comprende:
recibir (305), por medio de uno o más procesadores (1002) de un servidor (140) mediante una interfaz de usuario, una selección de un tipo de búsqueda;
recibir (310), mediante la interfaz de usuario, una selección de dos o más fuentes de datos, comprendiendo las dos o más fuentes de datos al menos una fuente síncrona (410) de datos y al menos una fuente asíncrona de datos; en función de la selección del tipo de búsqueda y de las dos o más fuentes de datos, generar (315), por medio de los uno o más procesadores (1002) del servidor (140), un modelo normalizado de búsqueda, asociado con la selección del tipo de búsqueda y con las dos o más fuentes de datos, que tiene un conjunto de campos de entrada de datos para su representación visual en la interfaz de usuario;
recibir (320), por medio de uno o más procesadores (1002) del servidor (140), una consulta de búsqueda que comprende un conjunto de elementos de consulta que rellena al menos parte del conjunto de campos de entrada de datos;
acceder (325) a la al menos una fuente síncrona (410) de datos para consultar la al menos una fuente síncrona (410) de datos con uno o más elementos de consulta de búsqueda del conjunto de elementos de consulta, asociada la al menos una fuente síncrona (410) de datos con el servidor (140) que genera el modelo normalizado de búsqueda;
provocar la presentación (330) de un conjunto de primeros resultados de búsqueda recibido procedente de la al menos una fuente síncrona (410) de datos;
acceder (705) a la al menos una fuente asíncrona de datos para consultar la al menos una fuente asíncrona de datos con uno o más elementos de consulta de búsqueda del conjunto de elementos de consulta de búsqueda, siendo la al menos una fuente asíncrona de datos externa a la al menos una fuente síncrona (410) de datos y al servidor (140);
recibir (710) un conjunto de segundos resultados procedente de la al menos una fuente asíncrona de datos; y provocar la presentación (715) de un conjunto de resultados consolidados que incluye el conjunto de primeros resultados y el conjunto de segundos resultados.
2. El procedimiento (300, 700) de la reivindicación 1, que comprende, además:
provocar la presentación de un conjunto de fuentes de datos, seleccionadas las dos o más fuentes de datos del conjunto de fuentes de datos.
3. El procedimiento (300, 700) de la reivindicación 1 o 2, que comprende, además:
acceder periódicamente (720) a la al menos una fuente asíncrona de datos, identificando el acceso periódico un estado de la consulta del conjunto de fuentes de datos.
4. El procedimiento (300, 700, 800) de cualquiera de las reivindicaciones 1-3, que comprende, además: determinar (805) un primer conjunto de campos de entrada de datos asociados con el tipo de búsqueda; y validar (825) el modelo normalizado de búsqueda casando los uno o más campos de entrada de datos del modelo normalizado de búsqueda con el primer conjunto de campos de entrada de datos.
5. El procedimiento (300, 700, 800) de cualquiera de las reivindicaciones 1-4, que comprende, además: determinar (810) un primer conjunto de tipos de datos para los uno o más campos de entrada de datos del modelo normalizado de búsqueda;
determinar (815) un segundo conjunto de tipos de datos para el conjunto de elementos de consulta; y
validar (820) el conjunto de elementos de consulta que rellena los uno o más campos de entrada de datos casando el primer conjunto de tipos de datos con el segundo conjunto de tipos de datos.
6. El procedimiento (300, 700, 900) de cualquiera de las reivindicaciones 1-5, que comprende, además: recibir (905) una selección de un icono de nuevo registro;
generar (910) un nuevo registro en función del primer conjunto de resultados de búsqueda; y
almacenar (915) el nuevo registro en la fuente de datos.
7. Un sistema (102) implementado por un ordenador, que comprende:
uno o más procesadores (1002);
un medio (1022) no transitorio de almacenamiento legible por una máquina que incluye instrucciones (1024) que, cuando son ejecutadas por los uno o más procesadores (1002) de una máquina (1000), provocan que la máquina (1000) lleve a cabo operaciones que comprenden:
recibir (305), por medio de los uno o más procesadores (1002), mediante una interfaz de usuario, una selección de un tipo de búsqueda;
recibir (310), mediante la interfaz de usuario, una selección de dos o más fuentes de datos, comprendiendo las dos o más fuentes de datos al menos una fuente síncrona (410) de datos y al menos una fuente asíncrona de datos; en función de la selección del tipo de búsqueda y de las dos o más fuentes de datos, generar (315), por medio de los uno o más procesadores (1002), un modelo normalizado de búsqueda, asociado con la selección del tipo de búsqueda y las dos o más fuentes de datos, que tiene un conjunto de campos de entrada de datos para su representación visual en la interfaz de usuario;
recibir, en un servidor (140), una consulta de búsqueda que comprende un conjunto de elementos de consulta que rellena el conjunto de campos de entrada de datos;
acceder (325) a la al menos una fuente síncrona (410) de datos para consultar la al menos una fuente síncrona (410) de datos con uno o más elementos de consulta de búsqueda del conjunto de elementos de consulta, asociada la al menos una fuente síncrona (410) de datos con el servidor (140) que genera el modelo normalizado de búsqueda;
provocar la presentación (330) de un conjunto de primeros resultados de búsqueda recibido procedente de la al menos una fuente síncrona (410) de datos;
acceder (705) a la al menos una fuente asíncrona de datos para consultar la al menos una fuente asíncrona de datos con uno o más elementos de consulta de búsqueda del conjunto de elementos de consulta de búsqueda, siendo externa la al menos una fuente asíncrona de datos a la al menos una fuente síncrona (410) de datos y al servidor (140);
recibir (710) un conjunto de segundos resultados procedente de la al menos una fuente asíncrona de datos; y provocar la presentación (715) de un conjunto de resultados consolidados que incluye el conjunto de primeros resultados y el conjunto de segundos resultados.
8. El sistema (102) de la reivindicación 7, en el que las operaciones comprenden, además:
provocar la presentación de un conjunto de fuentes de datos, seleccionadas las dos o más fuentes de datos del conjunto de fuentes de datos.
9. El sistema (102) de la reivindicación 7 u 8, en el que las operaciones adicionales comprenden:
acceder periódicamente (720) a la al menos una fuente asíncrona de datos, identificando el acceso periódico un estado de la consulta para el conjunto de fuentes de datos.
10. El sistema (102) de cualquiera de las reivindicaciones 7-9, en el que las operaciones comprenden, además: determinar (805) un primer conjunto de campos de entrada de datos asociados con el tipo de búsqueda; y validar (825) el modelo normalizado de búsqueda casando los uno o más campos de entrada de datos del modelo normalizado de búsqueda con el primer conjunto de campos de entrada de datos.
11. El sistema (102) de cualquiera de las reivindicaciones 7-10, en el que las operaciones comprenden, además: determinar (810) un primer conjunto de tipos de datos para los uno o más campos de entrada de datos del modelo normalizado de búsqueda;
determinar (815) un segundo conjunto de tipos de datos para el conjunto de elementos de consulta; y
validar (820) el conjunto de elementos de consulta que rellena los uno o más campos de entrada de datos casando el primer conjunto de tipos de datos con el segundo conjunto de tipos de datos.
12. El sistema (102) de cualquiera de las reivindicaciones 7-11, en el que las operaciones comprenden, además: recibir (905) una selección de un icono de nuevo registro;
generar (910) un nuevo registro en función del primer conjunto de resultados de búsqueda; y
almacenar (915) el nuevo registro en la fuente de datos.
13. Un medio portador (1022) que porta instrucciones (1024) que, cuando son ejecutadas por medio de uno o más procesadores (1002) de una máquina (1000), provocan que la máquina (1000) lleve a cabo operaciones que comprenden las operaciones enumeradas en cualquiera de las reivindicaciones 1-6.
ES16207221T 2015-12-30 2016-12-29 Sistemas y procedimientos para la generación de modelos de búsqueda Active ES2750788T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201562273330P 2015-12-30 2015-12-30
US15/167,652 US10726032B2 (en) 2015-12-30 2016-05-27 Systems and methods for search template generation

Publications (1)

Publication Number Publication Date
ES2750788T3 true ES2750788T3 (es) 2020-03-27

Family

ID=57708452

Family Applications (1)

Application Number Title Priority Date Filing Date
ES16207221T Active ES2750788T3 (es) 2015-12-30 2016-12-29 Sistemas y procedimientos para la generación de modelos de búsqueda

Country Status (8)

Country Link
US (1) US10726032B2 (es)
EP (2) EP3188051B1 (es)
DK (1) DK3188051T3 (es)
ES (1) ES2750788T3 (es)
HU (1) HUE046897T2 (es)
LT (1) LT3188051T (es)
PL (1) PL3188051T3 (es)
PT (1) PT3188051T (es)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11580472B2 (en) 2015-05-14 2023-02-14 Palantir Technologies Inc. Systems and methods for state machine management
US10726032B2 (en) 2015-12-30 2020-07-28 Palantir Technologies, Inc. Systems and methods for search template generation
CN108319656A (zh) * 2017-12-29 2018-07-24 中兴通讯股份有限公司 实现灰度发布的方法、装置及计算节点和系统
RU2693914C1 (ru) * 2018-06-27 2019-07-05 Артем Семенович Генкин Автоматизированная система подготовки документов
US12033195B1 (en) * 2021-03-29 2024-07-09 Amazon Technologies, Inc. E-commerce document framework with cross-source and cross-document validation
US20220414369A1 (en) * 2021-06-28 2022-12-29 Paypal, Inc. Data classification based on recursive clustering
US20230033727A1 (en) * 2021-07-28 2023-02-02 Avaya Management L.P. Systems and methods for providing a live information feed during a communication session
CN116635848A (zh) * 2021-12-20 2023-08-22 京东方科技集团股份有限公司 数据查询方法、数据查询装置和计算机程序产品
WO2024175882A1 (en) 2023-02-21 2024-08-29 Skyscanner Limited Methods of searching, systems and devices

Family Cites Families (72)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3385657B2 (ja) 1993-08-10 2003-03-10 トヨタ自動車株式会社 車載用ナビゲーション装置
US5437032A (en) 1993-11-04 1995-07-25 International Business Machines Corporation Task scheduler for a miltiprocessor system
JP3410271B2 (ja) 1995-12-28 2003-05-26 アルパイン株式会社 ナビゲーション装置
US5857329A (en) 1997-03-14 1999-01-12 Deere & Company One-piece combined muffler exhaust outlet and exhaust gas deflector
US6084510A (en) 1997-04-18 2000-07-04 Lemelson; Jerome H. Danger warning and emergency response system and method
WO2001003037A2 (en) 1999-07-01 2001-01-11 Microsoft Corporation Workflow method and system
US20020035504A1 (en) * 2000-08-16 2002-03-21 Alyssa Dver Lead suspect management
WO2002059793A2 (en) 2000-10-31 2002-08-01 Michael Philip Kaufman System and method for generating automatic user interface for arbitrarily complex or large databases
WO2002091194A1 (en) 2001-05-08 2002-11-14 Narad Networks, Inc. Extensible service provisioning engine
US6496774B1 (en) 2001-05-24 2002-12-17 Prc Inc. Automatic vehicle routing and recommendation system
US20030074090A1 (en) 2001-09-28 2003-04-17 Zdenek Becka System and method for improving operational efficiency through process automation
US20040205572A1 (en) 2002-02-19 2004-10-14 Wendell Fields Systems and methods for providing information in a computer network
US7533026B2 (en) 2002-04-12 2009-05-12 International Business Machines Corporation Facilitating management of service elements usable in providing information technology service offerings
JP3878518B2 (ja) * 2002-07-08 2007-02-07 松下電器産業株式会社 データ検索装置
US20040078251A1 (en) 2002-10-16 2004-04-22 Demarcken Carl G. Dividing a travel query into sub-queries
US20040122807A1 (en) * 2002-12-24 2004-06-24 Hamilton Darin E. Methods and systems for performing search interpretation
US7752117B2 (en) 2003-01-31 2010-07-06 Trading Technologies International, Inc. System and method for money management in electronic trading environment
US20040153418A1 (en) 2003-02-05 2004-08-05 Hanweck Gerald Alfred System and method for providing access to data from proprietary tools
US7567964B2 (en) * 2003-05-08 2009-07-28 Oracle International Corporation Configurable search graphical user interface and engine
EP1709589B1 (en) 2004-01-15 2013-01-16 Algotec Systems Ltd. Vessel centerline determination
US7421546B2 (en) 2004-02-12 2008-09-02 Relaystar Sa/Nv Intelligent state engine system
US7788278B2 (en) * 2004-04-21 2010-08-31 Kong Eng Cheng Querying target databases using reference database records
US7603229B2 (en) 2004-08-25 2009-10-13 Microsoft Corporation Efficiently finding shortest paths using landmarks for computing lower-bound distance estimates
US7596528B1 (en) 2005-03-31 2009-09-29 Trading Technologies International, Inc. System and method for dynamically regulating order entry in an electronic trading environment
AU2006232533A1 (en) * 2005-04-06 2006-10-12 Merck & Co., Inc. Multi-fielded web browser-based searching of data stored in database
US20060241856A1 (en) 2005-04-25 2006-10-26 The Boeing Company Geo-infosphere as applied to dynamic routing system
US8578500B2 (en) 2005-05-31 2013-11-05 Kurt James Long System and method of fraud and misuse detection
US8042110B1 (en) 2005-06-24 2011-10-18 Oracle America, Inc. Dynamic grouping of application components
EP1926074A4 (en) 2005-09-12 2014-01-08 Panasonic Corp CARD DISPLAY DEVICE
US8666780B2 (en) 2005-10-18 2014-03-04 Walgreen Co. System for separating and distributing pharmacy order processing
US7606824B2 (en) 2005-11-14 2009-10-20 Microsoft Corporation Databinding workflow data to a user interface layer
US7680683B2 (en) 2005-12-29 2010-03-16 Microsoft Corporation Dynamically repositioning workflow by end users
US7831917B1 (en) 2005-12-30 2010-11-09 Google Inc. Method, system, and graphical user interface for identifying and communicating with meeting spots
US7818291B2 (en) 2006-02-03 2010-10-19 The General Electric Company Data object access system and method using dedicated task object
US7937432B2 (en) 2007-02-16 2011-05-03 Red Hat, Inc. State transition management according to a workflow management policy
US20080301559A1 (en) 2007-05-31 2008-12-04 Microsoft Corporation User Interface That Uses a Task Respository
EP2012261A1 (en) 2007-06-13 2009-01-07 Sap Ag Processing and exchanging data of collaborative tasks
US20080313005A1 (en) * 2007-06-15 2008-12-18 Edgelnova International, Inc. System and method for real-time scheduling of human and non-human resources
US8549520B2 (en) 2007-07-31 2013-10-01 Sap Ag Distributed task handling
US8171117B2 (en) 2007-09-14 2012-05-01 Ricoh Co. Ltd. Workflow manager for a distributed system
US8326796B2 (en) 2008-04-15 2012-12-04 International Business Machines Corporation Data retrieval and data feed generation from data sources
US8108138B2 (en) 2008-10-02 2012-01-31 The Boeing Company Optimal vehicle router with energy management system
US8712453B2 (en) 2008-12-23 2014-04-29 Telecommunication Systems, Inc. Login security with short messaging
US8745191B2 (en) 2009-01-28 2014-06-03 Headwater Partners I Llc System and method for providing user notifications
US9357384B2 (en) 2009-02-09 2016-05-31 International Business Machines Corporation System and method to support identity theft protection as part of a distributed service oriented ecosystem
US9244730B2 (en) 2009-02-11 2016-01-26 International Business Machines Corporation Application workflow integration subsystem
JP5361470B2 (ja) 2009-03-16 2013-12-04 キヤノン株式会社 情報処理装置及びその制御方法
US8417409B2 (en) 2009-11-11 2013-04-09 Google Inc. Transit routing system for public transportation trip planning
US8291472B2 (en) 2010-01-28 2012-10-16 International Business Machines Corporation Real-time adjustments to authentication conditions
WO2012025915A1 (en) 2010-07-21 2012-03-01 Sqream Technologies Ltd A system and method for the parallel execution of database queries over cpus and multi core processors
US8560887B2 (en) 2010-12-09 2013-10-15 International Business Machines Corporation Adding scalability and fault tolerance to generic finite state machine frameworks for use in automated incident management of cloud computing infrastructures
JP5516550B2 (ja) 2011-05-09 2014-06-11 株式会社デンソー 車両用ナビゲーション装置
US20130231862A1 (en) 2011-06-03 2013-09-05 Microsoft Corporation Customizable route planning
US9092482B2 (en) 2013-03-14 2015-07-28 Palantir Technologies, Inc. Fair scheduling for mixed-query loads
US8612279B2 (en) 2011-06-27 2013-12-17 Cisco Technology, Inc. Ad hoc generation of work item entity for geospatial entity based on symbol manipulation language-based workflow item
US9280532B2 (en) 2011-08-02 2016-03-08 Palantir Technologies, Inc. System and method for accessing rich objects via spreadsheets
WO2013119562A1 (en) * 2012-02-06 2013-08-15 Mycare, Llc Methods for searching genomic databases
US20140222702A1 (en) * 2012-03-30 2014-08-07 Taxconnections, Inc. Systems and methods for searching for professionals within an online community
KR101881000B1 (ko) 2012-04-27 2018-07-24 삼성전자주식회사 디스플레이 장치의 파손 방지 구조를 구비하는 휴대용 단말기
US8819620B1 (en) 2012-06-21 2014-08-26 Emc Corporation Case management software development
US20140081685A1 (en) 2012-09-17 2014-03-20 Salesforce.com. inc. Computer implemented methods and apparatus for universal task management
US9195506B2 (en) 2012-12-21 2015-11-24 International Business Machines Corporation Processor provisioning by a middleware processing system for a plurality of logical processor partitions
US8763078B1 (en) 2013-03-14 2014-06-24 Palantir Technologies, Inc. System and method for monitoring authentication attempts
US8786605B1 (en) 2013-10-24 2014-07-22 Palantir Technologies Inc. Systems and methods for distance and congestion-aware resource deployment
US20150127412A1 (en) 2013-11-04 2015-05-07 Amazon Technologies, Inc. Workflow management system
US8868537B1 (en) 2013-11-11 2014-10-21 Palantir Technologies, Inc. Simple web search
US9971771B2 (en) * 2014-03-29 2018-05-15 Camelot Uk Bidco Limited Method, system and software for searching, identifying, retrieving and presenting electronic documents
US10078663B2 (en) * 2014-10-29 2018-09-18 Red Hat, Inc. Dual overlay query processing
US9760924B2 (en) * 2015-02-02 2017-09-12 Kibo Software, Inc. Automatic search of local inventory
US11580472B2 (en) 2015-05-14 2023-02-14 Palantir Technologies Inc. Systems and methods for state machine management
US10095802B2 (en) * 2015-06-09 2018-10-09 Adobe Systems Incorporated Methods and systems for using field characteristics to index, search for, and retrieve forms
US10726032B2 (en) 2015-12-30 2020-07-28 Palantir Technologies, Inc. Systems and methods for search template generation

Also Published As

Publication number Publication date
EP3188051A1 (en) 2017-07-05
DK3188051T3 (da) 2019-10-14
US10726032B2 (en) 2020-07-28
PT3188051T (pt) 2019-10-15
LT3188051T (lt) 2019-10-10
HUE046897T2 (hu) 2020-03-30
EP3188051B1 (en) 2019-07-24
EP3557437A1 (en) 2019-10-23
US20170193061A1 (en) 2017-07-06
PL3188051T3 (pl) 2020-01-31
EP3557437B1 (en) 2021-12-15

Similar Documents

Publication Publication Date Title
ES2750788T3 (es) Sistemas y procedimientos para la generación de modelos de búsqueda
US8875120B2 (en) Methods and apparatus for providing software bug-fix notifications for networked computing systems
US8856945B2 (en) Dynamic security question compromise checking based on incoming social network postings
US20170289131A1 (en) Prompting login account
US8589911B1 (en) Intent fulfillment
US20140059516A1 (en) Gateway consumption framework
US9690851B2 (en) Automatic generation of contextual search string synonyms
BR112020002904A2 (pt) configurar um recurso de aplicativo usando registros de eventos
KR20120036831A (ko) 갱신들의 소셜 네트워킹 서비스 내로의 통합
WO2018080920A1 (en) Search and retrieval of structured information cards
US20170220764A1 (en) System, method, and non-transitory computer-readable storage media for mobile check-in in retail store
US11361149B2 (en) Techniques for web framework detection
US9948461B2 (en) Signed application cards
US20160070801A1 (en) Augmenting Search Results With Device And Application History
US20230281695A1 (en) Determining and presenting information related to a semantic context of electronic message text or voice data
US20160125361A1 (en) Automated job ingestion
WO2021133471A1 (en) Skill determination framework for individuals and groups
US20180332141A1 (en) Virtual assistant skill deployment
US20170099376A1 (en) Temporary contacts
US20190378215A1 (en) Implementing moratoriums in real-time using automated services with a customized database
US11520782B2 (en) Techniques for utilizing patterns and logical entities
US9785543B2 (en) Dual tagging between test and pods
US20160189166A1 (en) Establishing and Managing Online Presence of a Business
US20140195680A1 (en) Facilitating access to references in communications
US11956270B2 (en) Parallel network-based vulnerability scanning