ES2737725T3 - Sistemas y métodos para la gestión de máquinas de estado - Google Patents

Sistemas y métodos para la gestión de máquinas de estado Download PDF

Info

Publication number
ES2737725T3
ES2737725T3 ES16169684T ES16169684T ES2737725T3 ES 2737725 T3 ES2737725 T3 ES 2737725T3 ES 16169684 T ES16169684 T ES 16169684T ES 16169684 T ES16169684 T ES 16169684T ES 2737725 T3 ES2737725 T3 ES 2737725T3
Authority
ES
Spain
Prior art keywords
workflow
case
definitions
identifier
state machine
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
ES16169684T
Other languages
English (en)
Inventor
Kevin Richards
Arseny Bogomolov
Gregory Bonik
Victor Hsu
Alexander Visbal
John Carrino
Cooper Bills
Diran Li
William Rhyne
Timothy O'brien
Matthew Bango
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 ES2737725T3 publication Critical patent/ES2737725T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06316Sequencing of tasks or work
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/93Document management systems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/103Workflow collaboration or project management
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/18Legal services

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • Theoretical Computer Science (AREA)
  • General Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Tourism & Hospitality (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Educational Administration (AREA)
  • Game Theory and Decision Science (AREA)
  • Development Economics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Technology Law (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

Un método implementado por ordenador, en donde el método se realiza mediante el uso de uno o más procesadores, el método que comprende: recibir un identificador de flujo de trabajo; recibir uno o más estados de flujo de trabajo, uno o más estados de flujo de trabajo, que incluyen los correspondientes identificadores de estado de flujo de trabajo; recibir una o más definiciones de operación correspondientes a cada uno de uno o más estados de flujo de trabajo, una o más definiciones de operación que incluyen una o más operaciones de flujo de trabajo; recibir una o más definiciones de transición, las definiciones de transición correspondientes a una o más definiciones de operación y determinar una secuencia de uno o más estados de flujo de trabajo; generar una máquina de estados; configurar la máquina de estados en función del identificador de flujo de trabajo, uno o más estados de flujo de trabajo, una o más definiciones de operación y una o más definiciones de transición. recibir un identificador del caso; generar un objeto de datos del caso que incluya el identificador del caso y una o más propiedades del caso; acceder a la máquina de estados en respuesta a la recepción del identificador del caso; asignar el identificador de flujo de trabajo, uno o más estados de flujo de trabajo, una o más definiciones de operación y una o más definiciones de transición al objeto de datos del caso vincular automáticamente uno o más elementos asociados al objeto de datos del caso, uno o más elementos asociados que se relacionan con el objeto de datos del caso en función de una o más propiedades del caso; acceder a una pluralidad de fuentes de datos de terceros; y recuperar automáticamente, de terceros, uno o más elementos asociados de la pluralidad de fuentes de datos en función de una o más propiedades del caso.

Description

DESCRIPCIÓN
Sistemas y métodos para la gestión de máquinas de estado.
Aviso de derecho de autor
Una porción de la descripción de este documento de patente contiene material que está sujeto a la protección de los derechos de autor. El titular de los derechos de autor no tiene ninguna objeción al facsímil de cualquiera del documento de patente o la descripción de la patente, tal como aparece en los archivos o registros de patentes de la Oficina de Marcas y Patentes, pero de cualquier otra manera se reserva todos los derechos de autor. El siguiente aviso se aplica al programa informático y los datos como se describe a continuación y en los dibujos que forman parte de este documento: Derecho de autor 2015, PALANTIR, INC, Todos los derechos reservados.
Campo técnico
El tema descrito en la presente descripción se relaciona generalmente con la creación y gestión de objetos de datos de casos con un sistema en red. Específicamente, la presente descripción aborda sistemas y métodos para la generación y gestión de objetos de datos de casos.
Antecedentes
Los sistemas de procesamiento de datos pueden usarse para facilitar la creación y gestión de documentos virtuales a través de un sistema en red, a través de la gestión simultánea de una amplia gama de objetos de datos de una variedad de fuentes, donde cada objeto de datos puede tener requisitos de flujo de trabajo o gestión únicos. A su vez, esta gestión puede llevar a aplicaciones innovadoras con aplicaciones prácticas del mundo real. Por ejemplo, una organización puede automatizar un proceso de creación de documentos configurando un sistema de procesamiento de datos para ejecutar varios procesos de flujo de trabajo.
Breve descripción de los dibujos
Varios de los dibujos adjuntos simplemente ilustran modalidades de ejemplo de la presente descripción y no pueden considerarse como limitantes de su alcance.
La Figura 1 es un diagrama de red que ilustra una arquitectura de red adecuada para generar y gestionar casos, de acuerdo con algunas modalidades ilustrativas.
La Figura 2A es un diagrama de bloques que ilustra una modalidad de ejemplo de varios módulos que forman un sistema de gestión de casos, de acuerdo con algunas modalidades de ejemplo, que se proporciona como parte de la arquitectura de red de la Figura 1.
La Figura 2B es un diagrama de bloques que ilustra una modalidad de ejemplo de varios módulos que forman un sistema de máquina de estados, de acuerdo con algunas modalidades de ejemplo, que se proporciona como parte de la arquitectura de red de la Figura 1.
La Figura 3 es un diagrama de flujo que ilustra las operaciones del sistema de la máquina de estados al recibir definiciones de flujo de trabajo, que configura una máquina de estados, de acuerdo con algunas modalidades de ejemplo.
La Figura 4 es un diagrama de flujo que ilustra las operaciones del sistema PaCMan para generar objetos de datos de casos, que accede a una máquina de estados y que asigna a la configuración de flujo de trabajo de la máquina de estados los objetos de casos de datos, de acuerdo con algunas modalidades de ejemplo.
La Figura 5 es un diagrama de interacción que ilustra diversas interacciones de ejemplo entre el sistema de la máquina de estados, el sistema PaCMan y los servidores de terceros, de acuerdo con algunas modalidades.
La Figura 6 es un diagrama que ilustra una bandeja de entrada de documentos del sistema PaCMan, que incluye criterios de clasificación, un icono de creación de casos y un campo de búsqueda de casos, de acuerdo con algunas modalidades de ejemplo.
La Figura 7 es un diagrama que ilustra una interfaz de creación de casos del sistema PaCMan, de acuerdo con algunas modalidades de ejemplo.
La Figura 8 es un diagrama que ilustra un rol de usuario y una interfaz de acceso del sistema PaCMan, de acuerdo con algunas modalidades de ejemplo.
La Figura 9 es un diagrama de bloques que ilustra los componentes de una máquina, de acuerdo con algunas modalidades de ejemplo, capaces de leer instrucciones de un medio legible por máquina y ejecutar una o más de las metodologías descritas en la presente descripción.
Descripción detallada
Los métodos y sistemas de ejemplo se dirigen 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 menos que se indique explícitamente de cualquier otra manera, los componentes y funciones son opcionales y pueden combinarse o subdividirse, y las operaciones pueden variar en secuencia o combinarse o subdividirse. En la siguiente descripción, para los propósitos de la explicación, se exponen numerosos detalles específicos para proporcionar un entendimiento completo de las modalidades de ejemplo. Sin embargo, será evidente para un experto en la técnica que la materia descrita puede llevarse a la práctica sin estos detalles específicos.
Se configura un sistema de gestión de casos (por ejemplo, mediante módulos adecuados) para proporcionar una o más funciones de gestión y generación de casos. Según lo configurado, el sistema de gestión de casos permite a un usuario (por ejemplo, un desarrollador de sistemas) generar y configurar una máquina de estados, la configuración de la máquina de estados incluye uno o más estados de flujo de trabajo, una o más operaciones que pueden ejecutarse en cada uno de uno o más estados, un conjunto de transiciones correspondientes a una o más operaciones y un estado inicial. La máquina de estados proporciona operativamente un flujo de trabajo para un objeto de datos del caso en función de la configuración correspondiente, en donde el objeto de datos del caso incluye la configuración de la máquina de estados.
El sistema de gestión de casos se configura para acceder a la máquina de estados y, en función de la configuración correspondiente de la máquina de estados, genera un objeto de datos del caso. Las modalidades de ejemplo también proporcionan métodos para recibir (y asignar al objeto de datos del caso) una lista de identificadores de usuario, definir roles de usuario y listas de control de acceso (ACL) para los usuarios asociados con los identificadores de usuario, agregar 0 ver rápidamente notas de casos, vincular elementos asociados a los casos generados, y rastrear y registrar un ciclo de vida (por ejemplo, una cronología) de un objeto de datos del casos a través del flujo de trabajo definido.
Las mejoras en la generación y gestión de objetos de datos de casos pueden permitir que los recursos de soporte físico y aplicación informática se optimicen, que incluyen una reducción en el consumo de energía causada por la necesidad de un uso de soporte físico más corto o menos intensivo, una reducción en los requisitos de memoria al reducir la cantidad de información necesaria para procesar en diferentes etapas del flujo de trabajo, o reduciendo la cantidad de tiempo durante el cual se necesita almacenar dicha información, y habilitando, por ejemplo, el filtrado de recursos y los recursos de red asociados con la transmisión y recepción de datos, tal como el uso de ancho de banda, causado por la reducción del número de etapas de consulta requeridas para ejecutarse entre diferentes componentes o módulos de un sistema de soporte físico y/o aplicación informática que incorpora la presente invención.
Como ejemplo ilustrativo desde la perspectiva del usuario, supongamos que un usuario accede al sistema de gestión de casos a través de un dispositivo cliente. El sistema de gestión de casos permite al usuario acceder a una máquina de estados con la configuración de flujo de trabajo correspondiente. El usuario puede acceder a la máquina de estados al enviar un identificador de flujo de trabajo (por ejemplo, un nombre de referencia correspondiente al flujo de trabajo de la máquina de estados), avanzar a través de uno o más estados correspondientes al flujo de trabajo según lo define el desarrollador del sistema (por ejemplo, una creación/proyecto de estado, un estado de aprobación, un estado pendiente), y ejecutar operaciones definidas por el desarrollador que pueden ejecutarse en cada uno de uno o más estados (por ejemplo, redacción, edición, vinculación de documentos relacionados, aprobación, rechazo, asignación, transferencia, cancelación). Por lo tanto, la máquina de estados está preconfigurada (por ejemplo, por el desarrollador del sistema) para incluir las definiciones de flujo de trabajo que luego son accesibles por el usuario.
El usuario puede decidir abrir un caso (por ejemplo, un objeto de datos del caso) en función del flujo de trabajo previamente definido y asociado con la máquina de estados. El usuario accede a la máquina de estados al proporcionar el identificador de flujo de trabajo correspondiente (por ejemplo, asociado a la máquina de estados) a través de la creación de un caso en la interfaz (por ejemplo, seleccionando un icono de "caso nuevo" dentro de una interfaz gráfica de usuario). El usuario también puede proporcionar al sistema de gestión de casos una o más propiedades del caso (por ejemplo, un nombre de caso) con el propósito de abrir y generar el caso, y el sistema de gestión de casos generará el caso en función de la máquina de estados especificada por el usuario. El sistema de gestión de casos aplica una o más definiciones de flujo de trabajo de la máquina de estados correspondiente al caso, definiendo así el flujo de trabajo para el caso. Las operaciones correspondientes al flujo de trabajo previamente definido por el desarrollador del sistema en la máquina de estados pueden ejecutarse en el caso en función del estado actual del caso. Los estados subsiguientes del caso se determinan en función de las definiciones de transición dentro de la configuración de la máquina de estados. De esta manera, el desarrollador del sistema puede definir un flujo de trabajo que se aplique a los casos generados por el sistema de gestión de casos, y además permite a los usuarios abrir y gestionar casos a través de su flujo de trabajo correspondiente en función de las configuraciones de la máquina de estados previamente proporcionadas por el desarrollador del sistema.
Con referencia a la Figura 1, se muestra una modalidad de ejemplo de una arquitectura de red 100 basada en servidorcliente de alto nivel. Una red 104 proporciona funcionalidad del lado del servidor aun dispositivo cliente 110. En algunas implementaciones, un usuario interactúa con un sistema en red 102 mediante el uso del dispositivo cliente 110. La Figura 1 ilustra, por ejemplo, un cliente web 112 (por ejemplo, un navegador, como el explorador INTERNET EXPLORER® desarrollado por MICROSOFT® CORPORATION de Redmond, estado de Washington), aplicación (es) 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 (s) aplicación (es) cliente (s) 114, y el cliente programático 116 solos, juntos o en cualquier combinación adecuada. Aunque la Figura 1 muestra un dispositivo cliente 110; en otras implementaciones, la arquitectura de red 100 comprende múltiples dispositivos cliente.
El dispositivo cliente 110 puede ser un dispositivo informático que incluye al menos una pantalla y capacidades de comunicación que proporcionan acceso a la red 104. El dispositivo cliente 110 puede ser, por ejemplo, un dispositivo remoto, estación de trabajo, ordenador, ordenador de propósito general, dispositivo de Internet, dispositivo portátil, dispositivo inalámbrico, dispositivo portátil, ordenador portátil, teléfono celular o móvil, asistente digital personal (PDA), teléfono inteligente, tableta, ordenador portátil ligero, miniordenador portátil, ordenador portátil, ordenador de escritorio, sistema multiprocesador, sistema electrónico de consumo programare o basado en microprocesador, consola de juegos, caja decodificadora, ordenador personal (PC) en red, miniordenador, etc. En una modalidad de ejemplo, el dispositivo cliente 110 comprende uno o más de una pantalla táctil, acelerómetro, giroscopio, sensor biométrico, cámara, micrófono, dispositivo de sistema de posicionamiento global (GPS) y similares.
El dispositivo cliente 110 se comunica con la red 104 a través de una conexión por cable 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 red WAN inalámbrica (WWAN), una red de área metropolitana (MAN), una porción de Internet, una porción de la red telefónica pública conmutada (PSTN), una red de telefonía celular, una red inalámbrica, una red de fidelidad inalámbrica (Wi-Fi®), una red mundial de interoperabilidad para acceso de microondas (WiMax), otro tipo de red o cualquier combinación adecuada de estas.
En varias modalidades de ejemplo, el usuario puede ser una persona, una máquina u otra entidad que sea capaz de interactuar con el dispositivo 110 del cliente. En algunas modalidades de ejemplo, el usuario no es parte de la arquitectura de red 100, sino que interactúa con la arquitectura de red 100 a través del dispositivo cliente 110 u otro medio. Por ejemplo, el usuario proporciona una entrada (por ejemplo, una entrada de pantalla táctil o una entrada alfanumérica) al dispositivo cliente 110 y la entrada se comunica a la red 104. El usuario puede interactuar con el sistema en red 102 mediante el uso del dispositivo cliente 110. Además, se muestra que una aplicación de terceros 132, que se ejecuta en un servidor de terceros 130, tiene acceso programático al sistema en red 102.
Además, mientras que la arquitectura de red 100 mostrada en la Figura 1 emplea una arquitectura cliente-servidor, el objeto de la presente invención no se limita, por supuesto, a una arquitectura de este tipo, y puede igualmente encontrar una aplicación en un sistema de arquitectura distribuido o de igual a igual, por ejemplo. Los sistemas del (de los) servidor (es) 140 de aplicaciones (por ejemplo, el sistema PaCMan 142 y el sistema de la máquina de estados 144) también pueden implementarse como programas de aplicación informática independientes, que no necesariamente tienen capacidades de red.
La Figura 2A es un diagrama de bloques que ilustra los componentes del sistema PaCMan 142 que configuran el sistema PaCMan 142 para generar y gestionar casos basados en máquinas de estado generadas por el sistema de máquina de estados 144, de acuerdo con algunas modalidades de ejemplo. Se muestra que el sistema PaCMan 142 incluye un módulo de recuperación de estados 210, un módulo de generación de casos 215, un módulo de conexión 220 y el sistema de la máquina de estados 144, todos configurados para comunicarse entre sí (por ejemplo, a través de un bus, una memoria compartida o un conmutador). Uno o más de estos módulos pueden implementarse mediante el uso de uno o más procesadores (por ejemplo, configurando uno o más procesadores para ejecutar las funciones descritas para ese módulo) y, por lo tanto, pueden incluir uno o más de los procesadores.
La Figura 2B es un diagrama de bloques que ilustra los componentes del sistema de la máquina de estados 144 que configuran el sistema de la máquina de estados 144 para crear la máquina de estados en función de las configuraciones de flujo de trabajo proporcionadas, de acuerdo con algunas modalidades de ejemplo. Se muestra que el sistema de la máquina de estados 144 incluye un módulo de flujo de trabajo 235, un módulo de transición 240, un módulo de operación 245 y un módulo de generación de objetos 250, todos configurados para comunicarse entre sí (por ejemplo, a través de un bus, memoria compartida o un conmutador). Uno o más de estos módulos pueden implementarse mediante el uso de uno o más procesadores (por ejemplo, configurando uno o más procesadores para ejecutar las funciones descritas para ese módulo) y, por lo tanto, pueden incluir uno o más de los procesadores.
Uno o más de los módulos descritos en la presente descripción pueden implementarse mediante el uso de solo soporte físico (por ejemplo, uno o más procesadores de una máquina) o una combinación de soporte físico y aplicación informática. Por ejemplo, cualquier módulo descrito del sistema PaCMan 142 o el sistema de la máquina de estados 144 puede incluir físicamente una disposición de uno o más procesadores (por ejemplo, un subconjunto de o entre uno o más de los procesadores de la máquina que se describe a continuación con referencia a la Figura 9) configurado para ejecutar las operaciones descritas en la presente descripción para ese módulo. Como otro ejemplo, cualquier módulo del sistema PaCMan 142 y el sistema de la máquina de estados 144 puede incluir aplicación informática, soporte físico o ambos, que configuran una disposición de uno o más procesadores (por ejemplo, entre uno o más procesadores de la máquina) para realizar la operaciones descritas en la presente descripción para ese módulo. En consecuencia, los diferentes módulos del sistema PaCMan 142 y el sistema de la máquina de estados 144 pueden incluir y configurar diferentes disposiciones de tales procesadores o una única disposición de dichos procesadores en diferentes puntos en el tiempo. Además, cualquiera de los dos o más módulos del sistema PaCMan 142 y el sistema de la máquina de estados 144 pueden combinarse en un solo módulo, y las funciones descritas en la presente descripción para un solo módulo pueden subdividirse entre múltiples módulos. Además, de acuerdo con diversas modalidades de ejemplo, los módulos descritos en la presente descripción como implementados dentro de una sola máquina, base de datos o dispositivo pueden distribuirse en múltiples máquinas, bases de datos o dispositivos.
La Figura 3 es un diagrama de flujo que ilustra las operaciones del sistema de la máquina de estados 144 al ejecutar un método 300 para recibir una configuración de flujo de trabajo y generar y configurar máquinas de estado, de acuerdo con algunas modalidades de ejemplo. Como se muestra en la Figura 3, algunas modalidades de ejemplo del método 300 pueden ejecutarse por el sistema de la máquina de estados 144 mediante el uso de los módulos descritos anteriormente con respecto a la Figura 2B. La Figura 3 muestra el método 300 que incluye una o más de las operaciones 305, 310, 315, 320 y 325.
La operación 305 puede ejecutarse por el módulo de flujo de trabajo 235, y con respecto al dispositivo cliente 110. El módulo de flujo de trabajo 235 recibe una configuración de una máquina de estados que define un flujo de trabajo de un objeto de datos del caso correspondiente. Por ejemplo, el flujo de trabajo del objeto de datos del caso (por ejemplo, caso, documento) incluye uno o más estados de flujo de trabajo, que incluye, por ejemplo, estados correspondientes a una fase de creación de documentos (por ejemplo, borrador), una fase de edición, una fase de revisión, una pendiente fase de aprobación, y una fase aprobada. Por lo tanto, el módulo de flujo de trabajo 235 se configura para recibir entradas desde el dispositivo cliente 110 que proporciona una serie de estados de flujo de trabajo correspondientes a un documento, y los identificadores de estado de flujo de trabajo correspondientes a cada uno de los estados de flujo de trabajo.
La operación 310 puede ejecutarse por el módulo de operación 245, con respecto al dispositivo cliente 110. El módulo de operación 245 recibe definiciones de operación, que definen las operaciones que pueden realizarse en cada uno de los estados de flujo de trabajo definidos en la operación 305. Una operación puede ser, por ejemplo, una acción o un procedimiento que produce un resultado. Un resultado de ejemplo es mover un documento de un estado actual a un estado posterior, o generar una notificación en respuesta a una operación ejecutada. Por ejemplo, el módulo de operación 245 puede recibir múltiples definiciones de operación (por ejemplo, enviar un documento para su aprobación, aprobar un documento, rechazar un documento, asignar un documento, transferir un documento) correspondiente a cada una de las definiciones de estado de flujo de trabajo recibidas por el módulo de flujo de trabajo 235 en funcionamiento 305. El módulo de operaciones 245 rastrea la ejecución de las operaciones ejecutadas en cada uno de los estados de flujo de trabajo y registra las operaciones ejecutadas en una cronología de flujo de trabajo. La cronología del flujo de trabajo puede incluir datos que indiquen una fecha y hora de ejecución, y el correspondiente identificador de usuario de un usuario que ejecutó la operación.
La operación 315 puede ejecutarse por el módulo de transición 240, con respecto al dispositivo cliente 110. El módulo de transición 240 recibe definiciones de transición, que definen una secuencia correspondiente a uno o más estados de flujo de trabajo en función de las operaciones ejecutadas. Por ejemplo, un usuario (por ejemplo, un desarrollador del sistema) puede proporcionar al módulo de transición 240 las definiciones de transición, cada definición de incisión establece un estado de flujo de trabajo posterior de un documento a través del flujo de trabajo en función de una operación ejecutada en el estado actual del documento dentro del flujo de trabajo.
La operación 320 puede ejecutarse por el módulo de generación de objetos 250. El módulo de generación de objetos 250 recupera las definiciones de flujo de trabajo del módulo de flujo de trabajo 235, las definiciones de transición del módulo de transición 240 y las definiciones de operación del módulo de operación 245. Al recuperar las definiciones, el módulo de generación de objetos genera y configura una máquina de estados para asignar las definiciones. En algunas modalidades de ejemplo, el módulo de generación de objetos 250 también puede recibir un identificador de flujo de trabajo para asignar a la máquina de estados. En la operación 325, el sistema de máquina de estados 144 entrega la máquina de estados configurada al sistema PaCMan 142.
La Figura 4 es un diagrama de flujo que ilustra las operaciones del sistema PaCMan 142 al ejecutar un método 400 para generar objetos de datos de casos (por ejemplo, casos), acceder a la máquina de estados relacionada con los casos y gestionar los casos en función de las definiciones de flujo de trabajo correspondientes. Como se muestra en la Figura 4, algunas modalidades de ejemplo del método 400 pueden ejecutarse por el sistema PaCMan 142 mediante el uso de los módulos descritos anteriormente con respecto a la Figura 2A. La Figura 4 muestra el método 400 que incluye una o más de las operaciones 405, 410, 415 y 420. El método 400 es simplemente un ejemplo no limitativo de un método para generar un caso. Aunque las etapas del método se muestran en un orden particular, desde la operación 405 hasta la operación 420, un experto en la técnica entenderá que cualquier sistema configurado para ejecutar las etapas del método, en cualquier orden, está dentro del alcance de la presente descripción.
La operación 405 puede ejecutarse por el módulo 215 de generación de casos del sistema PaCMan 142. El módulo 215 de generación de casos crea un caso que incluye un identificador del caso y una o más propiedades del caso (por ejemplo, nombre del caso, contenido del caso, un sujeto, un autor).
La operación 410 puede ejecutarse por el módulo de recuperación BPM 210 del sistema PaCMan 142. El módulo de recuperación de estados 210 recupera un conjunto de estados de flujo de trabajo al acceder al sistema de la máquina de estados 144. Por ejemplo, el módulo de recuperación de estados 210 puede recibir un identificador de flujo de trabajo del dispositivo cliente 110, y el identificador de flujo de trabajo correspondiente a una máquina de estados con una configuración particular correspondiente al identificador de flujo de trabajo. El sistema de la máquina de estados 144 puede proporcionar al módulo de recuperación de estados 210 acceso a la máquina de estados apropiada, en función del identificador de flujo de trabajo recibido.
La operación 415 puede ejecutarse por el módulo de generación de casos 215. El módulo 215 de generación de casos recibe un comando del dispositivo cliente 110, donde el comando incluye el identificador de flujo de trabajo. El módulo 215 de generación de casos asigna el flujo de trabajo de la máquina de estados identificada por el identificador de flujo de trabajo al caso. La asignación del flujo de trabajo de la máquina de estados al caso aplica las configuraciones de flujo de trabajo recibidas al caso.
La operación 420 puede ejecutarse por el módulo de vinculación 220. El módulo de vinculación 220 accede a los servidores de terceros 130 a través de la red 104, o una o más bases de datos 126 a través de uno o más servidores de bases de datos 124, con el propósito de recuperar cualquier documento o elemento que pueda estar relacionado con el caso generado por el módulo de generación de casos 215 en la operación 405. Los documentos pueden estar relacionados en función de una o más propiedades del caso. El módulo de vinculación 220 puede entonces vincular uno o más elementos asociados al caso. Al vincular uno o más elementos asociados, el módulo de vinculación 220 genera una referencia a cada uno de uno o más elementos asociados, y almacena la referencia dentro del caso, de manera que uno o más elementos asociados pueden recuperarse en función de sus referencias correspondientes. Alternativamente, el módulo de vinculación 220 también puede generar una referencia al caso, y asignar la referencia al caso a uno o más elementos asociados.
El módulo de vinculación 220 recupera una lista de identificadores de usuario correspondientes a uno o más usuarios para asignar al caso. La lista de identificadores de usuario puede incluir nombres, información de contacto, nombres de usuario y similares. Por ejemplo, el módulo de vinculación 220 puede recuperar la lista de identificadores de usuario de una base de datos (por ejemplo, la base de datos 126) en función de una selección o entrada del usuario. El módulo de vinculación 220 también recupera entradas que definen los roles de usuario y el acceso correspondiente a uno o más usuarios identificados por uno o más identificadores de usuario. Los roles de usuario pueden definir operaciones que cada usuario puede realizar en el caso durante uno o más estados de flujo de trabajo.
La Figura 5 es un diagrama de interacción que representa intercambios de ejemplo entre el sistema de la máquina de estados 144, el sistema PacMan 142 y los servidores de terceros 130, de acuerdo con algunas modalidades. En la operación 504, el sistema de la máquina de estados 144 recibe un identificador de flujo de trabajo (por ejemplo, de un desarrollador del sistema) para asignarlo a una configuración de flujo de trabajo de una máquina de estados. En algunos casos, las entradas pueden recibirse a través de un elemento de interfaz gráfica de usuario (GUI) en el que un usuario ingresa una o más fuentes de datos para recuperar documentos.
Las operaciones 504-512 tienen lugar dentro del sistema de la máquina de estados 144. En la operación 506, se reciben los estados de flujo de trabajo y los identificadores de flujo de trabajo correspondientes para cada uno de los estados de flujo de trabajo. Por ejemplo, un usuario (por ejemplo, un desarrollador del sistema) puede definir que un flujo de trabajo tiene cuatro estados de flujo de trabajo posibles, donde cada uno de los cuatro estados de flujo de trabajo tiene un identificador de estados de flujo de trabajo correspondiente (por ejemplo, borrador, aprobado, rechazado, pendiente).
En la operación 508, el sistema de máquina de estados 144 recibe definiciones para las operaciones que pueden ejecutarse en cada uno de uno o más estados de flujo de trabajo. En algunas modalidades de ejemplo, las operaciones pueden incluir asignar el caso, editar el caso, enviar el caso para su aprobación, aprobar el caso o rechazar el caso. Las definiciones pueden limitar las operaciones que pueden ejecutarse en un caso, en dependencia del estado en el que se encuentre el caso.
En la operación 510, el sistema de máquina de estados 144 recibe definiciones de transición correspondientes a uno o más estados de flujo de trabajo, en base a una o más definiciones de operación recibidas en la operación 508. Las definiciones de transición delinean una secuencia de los estados de flujo de trabajo para un objeto de datos del caso. Por ejemplo, las definiciones de transición pueden proporcionar que un estado de flujo de trabajo posterior de un caso varía en dependencia de la operación ejecutada en el caso en su estado actual.
En la operación 512, el sistema de máquina de estados 144 genera y configura una máquina de estados en función de una o más configuraciones de flujo de trabajo (por ejemplo, el identificador de flujo de trabajo, los estados del flujo de trabajo, las operaciones de flujo de trabajo y las definiciones de transición).
Las operaciones 514-520 y 524-526 tienen lugar dentro del sistema PaCMan 142. En la operación 514, el sistema PaCMan 142 accede a la máquina de estados generada por el sistema de máquina de estados 144. Por ejemplo, el sistema PaCMan 142 puede acceder a la máquina de estados proporcionando al sistema de máquinas de estados 144 un identificador de flujo de trabajo correspondiente a un flujo de trabajo de la máquina de estados generado y configurado por el sistema de máquina de estados 144. En algunas modalidades de ejemplo, el sistema PaCMan 142 también puede acceder a múltiples máquinas de estado previamente generadas y configuradas por el sistema de máquina de estado 144, y permitir al usuario seleccionar un flujo de trabajo deseado en función de un identificador de flujo de trabajo.
En la operación 516, el sistema PaCMan 142 recibe propiedades del caso y un identificador del caso del dispositivo cliente 110, y genera un objeto de datos del caso en función de una o más propiedades del caso. En la operación 518, el sistema PaCMan 142 asigna la configuración de flujo de trabajo recuperada de la máquina de estados accedida al caso generado. Una vez que la configuración del flujo de trabajo se ha asignado al caso generado, el caso recibe una o más definiciones de flujo de trabajo de la máquina de estados correspondiente. Al hacerlo, el sistema PaCMan 142 permite que un usuario administre el caso a través de uno o más estados de flujo de trabajo correspondientes, en función de las configuraciones de flujo de trabajo de la máquina de estados correspondiente.
En la operación 520, el sistema PaCMan 142 recupera uno o más elementos asociados con el caso, en función de una o más propiedades del flujo de trabajo, de los servidores de terceros 130. En algunas modalidades, el sistema PaCMan 142 también puede recuperar elementos asociados con el caso de las bases de datos 126. En la operación 522, el servidor de terceros 130 proporciona al sistema PaCMan 142 los elementos asociados, y en la operación 524, el sistema PaCMan 142 vincula los elementos asociados con el caso, como se describió anteriormente con referencia a la Figura 4. En algunas modalidades de ejemplo, los vínculos entre el caso y uno o más elementos están correlacionados por el usuario.
En la operación 526, el sistema PaCMan 142 recibe una lista de uno o más identificadores de usuario que identifican a uno o más usuarios a los que asignar el caso. La asignación del caso asocia el caso con uno o más identificadores de usuario. En algunas modalidades, un usuario puede ser designado como autor del caso, o administrador, de manera que la designación otorga al usuario mayores privilegios de acceso y operación dentro de uno o más estados de flujo de trabajo del caso.
La Figura 6 es un diagrama de interfaz de usuario que muestra una bandeja de entrada de documentos 600 del sistema PaCMan 142, que tiene un campo de búsqueda de casos 602, un icono de creación de casos 604 y uno o más criterios de clasificación 606. La bandeja de entrada del documento 600 puede ser una página web interactiva o una pantalla de aplicación interactiva que permite al usuario (por ejemplo, Adam) generar y gestionar casos.
El campo de búsqueda de casos 602 se muestra como un campo de entrada basado en texto configurado para recibir uno o más identificadores de casos desde el dispositivo cliente 110. Por ejemplo, el usuario puede proporcionar al campo de búsqueda de casos 602 un identificador del caso correspondiente a un caso que se ha generado previamente por el módulo 215 de generación de casos. En algunas modalidades, el campo de búsqueda de casos 602 puede configurarse para expandirse y mostrar una lista de identificadores de casos correspondientes a casos que se han generado previamente, lo que permite al usuario seleccionar un caso para acceder a través del campo de búsqueda de casos 602. Junto al campo de búsqueda de casos 602 se muestran uno o más criterios de clasificación 606. En algunas modalidades, el sistema PaCMan 142 puede configurarse para clasificar los casos generados previamente en función de los criterios de clasificación que pueden incluir un título, una fecha creada, una fecha actualizada o un estado dentro del flujo de trabajo correspondiente al caso.
La selección del ícono de creación de caso 604 puede resultar en la presentación de una interfaz de creación de caso, permitiendo al usuario proporcionar una o más propiedades del caso y asignar una configuración de flujo de trabajo de una máquina de estados para gobernar el flujo de trabajo del caso.
La Figura 7 es un diagrama de una interfaz de creación de casos 700 del sistema PaCMan 142, que se muestra que incluye una o más propiedades del caso 702, y entradas de lista de control de acceso 704. Seleccionando el icono de creación de casos 604 como se muestra en la Figura 6, el sistema PaCMan 142 hace que se muestre la interfaz de creación de casos 700. El usuario puede entonces proporcionar al sistema PaCMan 142 con una o más propiedades del caso 702. En algunas modalidades de ejemplo, el usuario puede ingresar una o más propiedades del caso 702 como entradas basadas en texto.
Alternativamente, la interfaz de creación de casos 700 puede configurarse para presentar una lista de una o más propiedades del caso entre las que un usuario puede seleccionar.
La Figura 8 es un diagrama de un rol de usuario y una interfaz de acceso 800, que se muestra que incluye un campo de identificación de usuario 802 y un campo de rol de usuario 804. El campo de identificación de usuario 802 es operable para recibir uno o más identificadores de usuario correspondientes a usuarios asociados con un caso generado por el sistema PaCMan 142, y el campo de rol de usuario 804 es operable para recibir roles de usuario de cada uno de uno o más identificadores de usuario recibidos en el campo de identificación de usuario 802. Un identificador de usuario (entre uno o más identificadores de usuario) puede tener uno o más roles correspondientes.
La Figura 9 es un diagrama de bloques que ilustra los componentes de una máquina 900, de acuerdo con algunas modalidades de ejemplo, capaces de leer las instrucciones 924 desde un medio 922 legible por máquina (por ejemplo, un medio legible por máquina no transitorio, un medio de almacenamiento legible por máquina, un medio de almacenamiento legible por ordenador, o cualquier combinación adecuada de los mismos) y ejecutar una o más de las metodologías que se describen en la presente descripción, en su totalidad o en parte. Específicamente, la Figura 9 muestra la máquina 900 en la forma de ejemplo de un sistema informático (por ejemplo, un ordenador) dentro del cual se encuentran las instrucciones 924 (por ejemplo, aplicación informática, un programa, una aplicación, un subprograma, una aplicación u otro código ejecutable) para hacer que la máquina 900 ejecute una o más de las metodologías descritas en la presente descripción y puedan ejecutarse, en su totalidad o en parte.
En modalidades alternativas, la máquina 900 funciona como un dispositivo independiente o puede acoplarse comunicativamente (por ejemplo, en red) a otras máquinas. En un despliegue en red, la máquina 900 puede operar en la capacidad de una máquina servidor o una máquina cliente en ambiente de red cliente-servidor, o como una máquina igual en un ambiente de red de distribuida (por ejemplo, entre iguales). La máquina 900 puede ser un ordenador servidor, un ordenador cliente, una PC, una tableta, un ordenador personal, un miniordenador portátil, un teléfono celular, un teléfono inteligente, una caja decodificadora (STB), un PDA, una aplicación web, un enrutador de red, conmutador de red, un puente de red, o cualquier máquina capaz de ejecutar las instrucciones 924, secuenciales o de cualquier otra manera, que especifican acciones a ser tomadas por esa máquina. Adicionalmente, aunque solo se ilustra una única máquina, el término "máquina" también incluirá cualquier colección de máquinas que ejecutan individualmente o en conjunto las instrucciones 924 para ejecutar todas pare de cualquiera o más de las metodologías descritas en la presente descripción.
La máquina 900 incluye un procesador 902 (por ejemplo, una unidad central de procesamiento (CPU), una unidad de procesamiento de gráficos (GPU), un procesador de señales digitales (DSP), un circuito integrado de aplicación específica (ASIC), un circuito integrado de radiofrecuencia (RFIC), o cualquier combinación adecuada de los mismos, una memoria principal 904 y una memoria estática 906, que se configuran para comunicarse entre sí a través de un bus 908. El procesador 902 puede contener microcircuitos digitales de estado sólido (por ejemplo, electrónicos, ópticos o ambos) que pueden configurarse, temporal o permanentemente, mediante algunas o todas las instrucciones 924, de manera que el procesador 902 puede configurarse para realizar una o más de las metodologías descritas en la presente descripción, en su totalidad o en parte. Por ejemplo, un conjunto de uno o más microcircuitos del procesador 902 puede ser configurable para ejecutar uno o más módulos (por ejemplo, módulos de aplicación informática) descritos en la presente descripción. En algunas modalidades de ejemplo, el procesador 902 es una CPU multinúcleo (por ejemplo, una CPU de doble núcleo, una CPU de cuatro núcleos o una CPU de 128 núcleos) dentro de la cual cada uno de los múltiples núcleos es un procesador independiente que puede realizar una cualquiera o más de las metodologías descritas en la presente descripción, en su totalidad o en parte. Aunque los efectos beneficiosos descritos en la presente descripción pueden proporcionarse por la máquina 900 con al menos el procesador 902, estos mismos efectos pueden proporcionarse por un tipo diferente de máquina que no contiene procesadores (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 se configurada para realizar una o más de las metodologías descritas en la presente descripción.
La máquina 900 puede incluir además una pantalla gráfica 910 (por ejemplo, un panel de pantalla de plasma (PDP), una pantalla de diodo emisor de luz (LED), una pantalla de cristal líquido (LCD), un proyector, un tubo de rayos catódicos (CRT) o cualquier otra pantalla capaz de mostrar gráficos o video). La máquina 900 también puede incluir un dispositivo de entrada/salida 912 (por ejemplo, un teclado o teclado numérico, ratón o trackpad), un componente de ubicación 914 (por ejemplo, un receptor GPS), una unidad de almacenamiento 916, un dispositivo de generación de audio 918 (por ejemplo, una tarjeta de sonido, un amplificador, un altavoz, un conector para auriculares o cualquier combinación adecuada de los mismos, y un dispositivo de interfaz de red 920.
La unidad de almacenamiento 916 incluye el medio legible por máquina 922 (por ejemplo, un medio de almacenamiento legible por máquina tangible y no transitorio) en el que se almacenan las instrucciones 924 que incorporan una o más de las metodologías o funciones descritas en la presente descripción. Las instrucciones 924 pueden también residir, completamente o al menos parcialmente, dentro de la memoria principal 904, dentro del procesador 902 (por ejemplo, dentro de la memoria caché del procesador), dentro de la memoria estática 906, o cualquier combinación de las mismas, antes o durante la ejecución de estas por la máquina 900. En consecuencia, la memoria principal 904, la memoria estática 906 y el procesador 902 pueden considerarse medios legibles por máquina (por ejemplo, medios legibles por máquina tangibles y no transitorios). Las instrucciones 924 pueden transmitirse o recibirse a través de una red 926 a través del dispositivo de interfaz de red 920. Por ejemplo, el dispositivo de interfaz de red 920 puede comunicar las instrucciones 924 mediante el uso de uno o más protocolos de transferencia (por ejemplo, protocolo de transferencia de hipertexto (HTTP).
Como se usa en la presente, el término "memoria" se refiere a un medio legible por máquina capaz de almacenar datos de forma temporal o permanente y puede considerarse que incluye, pero no se limita a, memoria de acceso aleatorio (RAM), memoria de solo lectura (ROM), memoria búfer, memoria flash y memoria caché. Mientras que los medios legibles por una máquina 922 se muestran en una modalidad ilustrativa como que es un medio único, el término "medios legibles por máquina" puede incluir un medio único o múltiples medios (por ejemplo, una base de datos centralizada o distribuida, y/o memorias caché asociadas y servidores) que almacenan una o más estructuras de datos o instrucciones. El término "medio legible por máquina" también se tomará para incluir cualquier medio, o combinación de múltiples medios, que sea capaz de almacenar las instrucciones 924 para que las ejecute la máquina 900, de manera que las instrucciones 924, cuando se ejecuten por uno o más procesadores de la máquina 900 (por ejemplo, el procesador 902), hacen que la máquina 900 realice una o más de las metodologías descritas en la presente descripción, en su totalidad o en parte. En consecuencia, un "medio legible por máquina" se refiere a un único aparato o dispositivo de almacenamiento, así como también a los sistemas de almacenamiento basados en la nube o redes de almacenamiento que incluyen múltiples aparatos o dispositivos de almacenamiento. En consecuencia, Debe considerarse que el término "medio legible por máquina" incluye, pero no se limita a, uno o más depósitos de datos tangibles y no transitorios (por ejemplo, volúmenes de datos) en la forma de ejemplo de un chip de memoria de estado sólido, un disco óptico, un disco magnético, o cualquier combinación adecuada de los mismos. Un medio legible por máquina "no transitorio", como se usa en la presente descripción, no incluye específicamente señales de propagación en sí. En algunas modalidades de ejemplo, las instrucciones 924 para la ejecución por la máquina 900 pueden comunicarse por un medio portador. Los ejemplos de dicho medio portador incluyen un medio de almacenamiento (por ejemplo, un medio de almacenamiento legible por máquina no transitorio, tal como una memoria de estado sólido, que se mueve físicamente de un lugar a otro) y un medio transitorio (por ejemplo, un dispositivo de propagación que comunica las instrucciones 924).
Ciertas modalidades se describen en la presente descripción como que incluyen lógica o varios componentes, módulos o mecanismos. Los módulos pueden constituir módulos de aplicación informática (por ejemplo, código almacenado o incorporado de cualquier otra manera en un medio legible por 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) capaz de realizar ciertas operaciones y puede configurarse o disponerse de cierta manera física. En varias modalidades de ejemplo, uno o más sistemas informáticos (por ejemplo, un sistema informático independiente, un sistema informático cliente o un sistema informático servidor) o uno o más módulos de soporte físico de un sistema informático (por ejemplo, un procesador o un grupo de procesadores) puede configurarse por aplicación informática (por ejemplo, una aplicación o porción de la aplicación) como un módulo de soporte físico que funciona para realizar ciertas operaciones como se describe en la presente descripción.
En algunas modalidades, un módulo de soporte físico puede implementarse 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 circuitos o lógica dedicados que se configuran permanentemente para ejecutar ciertas operaciones. Por ejemplo, un módulo de soporte físico puede ser un procesador de propósito especial, tal como una matriz de compuerta programable de campo (FPGA) o un ASIC. Un módulo de soporte físico también puede incluir un circuito o lógica programable que se configura temporalmente por la aplicación informática para realizar ciertas operaciones. Por ejemplo, un módulo de soporte físico puede incluir aplicación informática incluida dentro de una c Pu u otro procesador programable. Se apreciará que la decisión de implementar un módulo de soporte físico mecánicamente, en circuitos dedicados y configurados permanentemente, o en circuitos configurados temporalmente (por ejemplo, configurados por aplicación informática) puede impulsarse por consideraciones de costo y tiempo.
En consecuencia, debe entenderse que la frase "módulo de soporte físico" abarca una entidad tangible, y tal entidad tangible puede construirse físicamente, configurarse permanentemente (por ejemplo, cablearse), o configurarse temporalmente (por ejemplo, programarse) para operar de cierta manera o para realizar ciertas operaciones descritas en la presente descripción. Como se usa en la presente descripción, "módulo implementado por soporte físico" se refiere a un módulo de soporte físico. Teniendo en cuenta las modalidades en las que los módulos de soporte físico se configuran temporalmente (por ejemplo, programados), no es necesario que cada uno de los módulos de soporte físico se configure o cree una instancia en un momento dado. Por ejemplo, cuando un módulo de soporte físico comprende una CPU configurada por aplicación informática para convertirse en un procesador de propósito especial, la CPU puede configurarse como diferentes procesadores de propósitos especiales respectivamente (por ejemplo, cada uno incluido en un módulo de soporte físico diferente) en diferentes momentos. En consecuencia, la aplicación informática (por ejemplo, un módulo de aplicación informática) puede configurar uno o más procesadores, por ejemplo, para constituir un módulo de soporte físico particular en una instancia de tiempo y para constituir un módulo de soporte físico diferente en una instancia de tiempo diferente.
Los módulos de soporte físico pueden proporcionar información y recibir información de otros módulos de soporte físico. En consecuencia, los módulos de soporte físico descritos pueden considerarse como acoplados comunicativamente. Cuando existen múltiples módulos de soporte físico al mismo tiempo, las comunicaciones pueden lograrse a través de la transmisión de señales (por ejemplo, a través de circuitos y buses apropiados) entre dos o más de los módulos de soporte físico. En modalidades en las que múltiples módulos de soporte físico se configuran o instancian en diferentes momentos, las comunicaciones entre dichos módulos de soporte físico pueden lograrse, 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 físico tienen acceso. Por ejemplo, un módulo de soporte físico puede realizar una operación y almacenar la salida de esa operación en un dispositivo de memoria al que se acopla comunicativamente. Un módulo de soporte físico adicional puede, posteriormente, acceder al dispositivo de memoria para recuperar y procesar la salida almacenada. Los módulos de soporte físico también pueden iniciar comunicaciones con dispositivos de entrada o salida y pueden operar en un recurso (por ejemplo, una recopilación de información).
Las diversas operaciones de métodos ilustrativos descritos en este documento pueden realizarse, al menos parcialmente, por uno o más procesadores que se configuran temporalmente (por ejemplo, por la aplicación informática) o permanentemente configurado para ejecutar las operaciones relevantes. Ya sea configurado de forma temporal o permanente, tales procesadores pueden constituir módulos de procesador implementados que operan para ejecutar una o más operaciones o funciones descritas en la presente descripción. En la presente descripción, las operaciones aquí descritas pueden implementarse al menos parcialmente en el procesador, ya que un procesador es un ejemplo de soporte físico. Por ejemplo, al menos alguna de las operaciones de un método puede ejecutarse por uno o más procesadores o módulos de procesadores implementados. Como se usa en la presente descripción, "módulo implementado por procesador" se refiere a un módulo de soporte físico en el que el soporte físico incluye uno o más procesadores. Uno o más procesadores también pueden operar para apoyar el desempeño de las operaciones relevantes en un ambiente de "computación en la nube" o como una "aplicación informática como un servicio" (SaaS). Por ejemplo, al menos algunas de las operaciones pueden ejecutarse por un grupo de ordenadores (como ejemplos de máquinas que incluyen procesadores), siendo estas operaciones accesibles mediante una red (por ejemplo, el Internet) y mediante una o más interfaces apropiadas (por ejemplo, una interfaz de programa de aplicación (API)).
A lo largo de esta descripción, las instancias plurales pueden implementar componentes, operaciones o estructuras descritas como una sola instancia. Aunque las operaciones individuales de uno o más métodos se ilustran y describen como operaciones separadas, una o más de las operaciones individuales pueden ejecutarse al mismo tiempo, y nada requiere que las operaciones se ejecuten en el orden ilustrado. Generalmente, las estructuras y funcionalidades presentadas como componentes separados en las configuraciones ilustrativas pueden implementarse como una estructura o componente combinado. De manera similar, las estructuras y funcionalidades presentadas como un componente sencillo pueden implementarse como componentes separados. Estas y otras variaciones, modificaciones, adiciones y mejoras pueden caer dentro del alcance del objeto en la presente descripción.
El rendimiento de algunas de las operaciones puede distribuirse entre uno o más procesadores, ya sea que reside dentro de una sola máquina o se despliega a través de un número de máquinas. En algunas modalidades de ejemplo, uno o más procesadores o módulos de soporte físico (por ejemplo, módulos implementados por procesador) pueden ubicarse en una única ubicación geográfica (por ejemplo, dentro de un entorno doméstico, un entorno de oficina o una granja de servidores). En otras modalidades de ejemplo, uno o más procesadores o módulos de soporte físico pueden distribuirse en una serie de ubicaciones geográficas.
Algunas partes del objeto descrito en la presente descripción pueden presentarse en términos de algoritmos o representaciones simbólicas de operaciones en datos almacenados como bits o señales digitales binarias dentro de una memoria de máquina (por ejemplo, una memoria de ordenador). Estas descripciones y representaciones simbólicas o algorítmicas son ejemplos de técnicas usadas por aquellos expertos en las técnicas del procesamiento de datos para transmitir la esencia de su trabajo de manera efectiva a otros expertos en la técnica. Como se usa en la presente descripción, un "algoritmo" es una secuencia de operaciones autoconsistente o un procesamiento similar que conduce a un resultado deseado. En este contexto, los algoritmos y las operaciones implican la manipulación física de cantidades físicas. Típicamente, pero no necesariamente, tales cantidades pueden tomar la forma de señales eléctricas, magnéticas u ópticas capaces de almacenarse, accederse, transferirse, combinarse, compararse o manipularse de cualquier otra manera por una máquina. En ocasiones es conveniente, principalmente por razones de uso común, referirse a tales señales mediante el uso de palabras tales como "datos", "contenido", "bits", "valores", "elementos", "símbolos", "caracteres" "términos", "números", "numerales" o similares. Estas palabras, sin embargo, son meramente etiquetas convenientes y deben asociarse con cantidades físicas apropiadas.
A menos que se especifique de cualquier otra manera, las descripciones en el presente documento que usan palabras como "procesamiento", "computación", "cálculo", "determinación", "presentación", "visualización" o similares pueden referirse a acciones o procesos de una máquina (por ejemplo, un ordenador) que manipula o transforma datos representados como cantidades físicas (por ejemplo, electrónicas, magnéticas u ópticas) dentro de una o más memorias (por ejemplo, memoria volátil, memoria no volátil o cualquier combinación adecuada de las mismas), registros u otra máquina Componentes que reciben, almacenan, transmiten o muestran información. Además, a menos que se especifique de cualquier otra manera, los términos "uno" o "una" se usan en la presente descripción, como es común en los documentos de patente, para incluir uno o más de un ejemplo. Finalmente, como se usa en la presente descripción, la conjunción "o" se refiere a un "o" no exclusivo, a menos que se especifique lo contrario.

Claims (10)

REIVINDICACIONES
1. Un método implementado por ordenador, en donde el método se realiza mediante el uso de uno o más procesadores, el método que comprende:
recibir un identificador de flujo de trabajo;
recibir uno o más estados de flujo de trabajo, uno o más estados de flujo de trabajo, que incluyen los correspondientes identificadores de estado de flujo de trabajo;
recibir una o más definiciones de operación correspondientes a cada uno de uno o más estados de flujo de trabajo, una o más definiciones de operación que incluyen una o más operaciones de flujo de trabajo;
recibir una o más definiciones de transición, las definiciones de transición correspondientes a una o más definiciones de operación y determinar una secuencia de uno o más estados de flujo de trabajo;
generar una máquina de estados;
configurar la máquina de estados en función del identificador de flujo de trabajo, uno o más estados de flujo de trabajo, una o más definiciones de operación y una o más definiciones de transición.
recibir un identificador del caso;
generar un objeto de datos del caso que incluya el identificador del caso y una o más propiedades del caso; acceder a la máquina de estados en respuesta a la recepción del identificador del caso;
asignar el identificador de flujo de trabajo, uno o más estados de flujo de trabajo, una o más definiciones de operación y una o más definiciones de transición al objeto de datos del caso
vincular automáticamente uno o más elementos asociados al objeto de datos del caso, uno o más elementos asociados que se relacionan con el objeto de datos del caso en función de una o más propiedades del caso; acceder a una pluralidad de fuentes de datos de terceros; y
recuperar automáticamente, de terceros, uno o más elementos asociados de la pluralidad de fuentes de datos en función de una o más propiedades del caso.
2. El método de la reivindicación 1, en donde la vinculación incluye:
generar una referencia a cada uno de uno o más elementos asociados; y
almacenar la referencia en el objeto de datos del caso.
3. El método de la reivindicación 1, en donde la vinculación incluye:
generar una referencia al objeto de datos del caso; y
almacenar la referencia con uno o más elementos asociados.
4. El método de cualquiera de las reivindicaciones anteriores, en donde la recepción del identificador de flujo de trabajo incluye la recepción de un nuevo identificador de flujo de trabajo como una entrada de texto.
5. El método de cualquiera de las reivindicaciones 1-3, en donde la recepción del identificador de flujo de trabajo incluye la recepción de una selección del identificador de flujo de trabajo entre una lista de uno o más identificadores de flujo de trabajo.
6. El método de la reivindicación 1, en donde la asignación del identificador de flujo de trabajo, uno o más estados del flujo de trabajo, una o más definiciones de operación y la definición o más definiciones de transición al objeto de datos del caso incluye:
recibir el identificador de flujo de trabajo como una entrada de usuario desde un dispositivo cliente; y acceder a la máquina de estados en función del identificador de flujo de trabajo.
7. El método de la reivindicación 1 que comprende, además:
recibir una lista de identificadores de usuario que comprende una pluralidad de identificadores de usuario que representan uno o más usuarios;
asignar la lista de identificadores de usuario al caso; y
asignar un rol para cada uno de los identificadores de usuario, el rol que define los privilegios de acceso correspondientes al caso.
8. El método de cualquiera de las reivindicaciones anteriores, en donde la ejecución de una operación de flujo de trabajo entre una o más operaciones de flujo de trabajo de una o más definiciones de operación da como resultado una transición en función de una o más definiciones de transición.
9. El método de la reivindicación 8, que comprende, además:
seguir la ejecución de la operación de flujo de trabajo; y
registrar la operación del flujo de trabajo en una cronología de flujo de trabajo, la cronología del flujo de trabajo que incluye una o más operaciones de flujo de trabajo ejecutadas.
10. Un programa de ordenador que comprende las instrucciones legibles por máquina que cuando se ejecutan por un aparato informático que hace que el aparato informático ejecute el método de acuerdo con cualquier reivindicación anterior.
Un sistema que comprende:
procesadores; y
una memoria que almacena instrucciones que, cuando se ejecutan al menos por un procesador entre los procesadores, hacen que el sistema ejecute operaciones que comprenden:
recibir un identificador de flujo de trabajo;
recibir uno o más estados de flujo de trabajo, uno o más estados de flujo de trabajo, que incluyen los correspondientes identificadores de estado de flujo de trabajo;
recibir una o más definiciones de operación correspondientes a cada uno de uno o más estados de flujo de trabajo, una o más definiciones de operación que incluyen una o más operaciones de flujo de trabajo;
recibir una o más definiciones de transición, las definiciones de transición correspondientes a una o más definiciones de operación y determinar una secuencia de uno o más estados de flujo de trabajo;
generar una máquina de estados;
configurar la máquina de estados en función del identificador de flujo de trabajo, uno o más estados de flujo de trabajo, una o más definiciones de operación y una o más definiciones de transición; y
recibir un identificador del caso;
generar un objeto de datos del caso que incluya el identificador del caso y una o más propiedades del caso; acceder a la máquina de estados en respuesta a la recepción del identificador del caso;
asignar el identificador de flujo de trabajo, uno o más estados de flujo de trabajo, una o más definiciones de operación y una o más definiciones de transición al objeto de datos del caso
vincular automáticamente uno o más elementos asociados al objeto de datos del caso, uno o más elementos asociados que se relacionan con el objeto de datos del caso en función de una o más propiedades del caso; acceder a una pluralidad de fuentes de datos de terceros; y
recuperar automáticamente uno o más elementos asociados de la pluralidad de orígenes de datos en función de una o más propiedades del caso.
ES16169684T 2015-05-14 2016-05-13 Sistemas y métodos para la gestión de máquinas de estado Active ES2737725T3 (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US201562161746P 2015-05-14 2015-05-14

Publications (1)

Publication Number Publication Date
ES2737725T3 true ES2737725T3 (es) 2020-01-15

Family

ID=56008504

Family Applications (1)

Application Number Title Priority Date Filing Date
ES16169684T Active ES2737725T3 (es) 2015-05-14 2016-05-13 Sistemas y métodos para la gestión de máquinas de estado

Country Status (5)

Country Link
US (1) US11580472B2 (es)
EP (2) EP3093809B1 (es)
DK (1) DK3093809T3 (es)
ES (1) ES2737725T3 (es)
PL (1) PL3093809T3 (es)

Families Citing this family (8)

* 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
US9766927B1 (en) * 2015-10-06 2017-09-19 Amazon Technologies, Inc. Data flow management in processing workflows
US10726032B2 (en) 2015-12-30 2020-07-28 Palantir Technologies, Inc. Systems and methods for search template generation
US10657200B2 (en) * 2016-01-05 2020-05-19 Adobe Inc. Proactive form guidance for interacting with electronic forms
US10839022B1 (en) 2017-07-24 2020-11-17 Palantir Technologies Inc. System to manage document workflows
US11095577B2 (en) * 2019-07-01 2021-08-17 Open Text Corporation Conversation-enabled document system and method
CN114327842B (zh) * 2020-09-29 2025-10-28 深圳引望智能技术有限公司 多任务部署的方法及装置
GB2630485A (en) * 2022-03-30 2024-11-27 Mitsubishi Electric Corp Test assistance device, test assistance method, and test assistance program

Family Cites Families (105)

* 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
US20010048738A1 (en) * 1997-04-03 2001-12-06 Sbc Technology Resourses, Inc. Profile management system including user interface for accessing and maintaining profile data of user subscribed telephony services
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
CA2427354A1 (en) 2000-10-31 2002-08-01 Michael Philip Kaufman System and method for generating automatic user interface for arbitrarily complex or large databases
US20020133395A1 (en) * 2000-12-19 2002-09-19 Hughes John Ronald Technical standard review and approval
US7487182B2 (en) * 2001-01-23 2009-02-03 Conformia Software, Inc. Systems and methods for managing the development and manufacturing of a drug
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
US8725549B2 (en) * 2001-08-13 2014-05-13 Geologics Corporation System and business method for work-flow review and management
US20030074090A1 (en) * 2001-09-28 2003-04-17 Zdenek Becka System and method for improving operational efficiency through process automation
CA2394268A1 (en) * 2002-02-14 2003-08-14 Beyond Compliance Inc. A compliance management system
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
US7039893B2 (en) * 2002-06-11 2006-05-02 Carrier Corporation System and method for implementing configurable finite state machine
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
US7610575B2 (en) 2003-01-08 2009-10-27 Consona Crm Inc. System and method for the composition, generation, integration and execution of business processes over a network
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
US20050043982A1 (en) * 2003-08-22 2005-02-24 Nguyen Vinh Dinh Contextual workflow modeling
US20170206606A9 (en) * 2003-09-19 2017-07-20 Safaa H. Hashim Insurance management systems and methods therefor
US8423394B2 (en) * 2003-12-12 2013-04-16 International Business Machines Corporation Method for tracking the status of a workflow using weblogs
US8140691B2 (en) * 2003-12-12 2012-03-20 International Business Machines Corporation Role-based views access to a workflow weblog
US8352174B2 (en) 2004-01-15 2013-01-08 Algotec Systems Ltd. Targeted marching
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
US8548967B1 (en) * 2007-12-12 2013-10-01 Accurev, Inc. System for visual query and manipulation of configuration management records
US7603229B2 (en) 2004-08-25 2009-10-13 Microsoft Corporation Efficiently finding shortest paths using landmarks for computing lower-bound distance estimates
US20080295101A1 (en) * 2005-01-27 2008-11-27 Paul David Vicars Electronic document manager
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
EP1891524A4 (en) * 2005-05-23 2010-06-30 Sap Governance Risk And Compli ACCESS DEVICE ENFORCEMENT
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 MAP DISPLAY DEVICE
US20070094248A1 (en) 2005-09-26 2007-04-26 Bea Systems, Inc. System and method for managing content by workflows
US20070073674A1 (en) * 2005-09-26 2007-03-29 Bea Systems, Inc. System and method for providing federated events for content management systems
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
US20070276714A1 (en) * 2006-05-15 2007-11-29 Sap Ag Business process map management
US8346729B2 (en) * 2006-11-18 2013-01-01 International Business Machines Corporation Business-semantic-aware information lifecycle management
US7716610B2 (en) * 2007-01-05 2010-05-11 International Business Machines Corporation Distributable and serializable finite state machine
US7937432B2 (en) 2007-02-16 2011-05-03 Red Hat, Inc. State transition management according to a workflow management policy
US8042091B2 (en) * 2007-03-14 2011-10-18 International Business Machines Corporation Automatic composition of model transformations
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
US8549520B2 (en) 2007-07-31 2013-10-01 Sap Ag Distributed task handling
US8713144B2 (en) * 2007-09-14 2014-04-29 Ricoh Co., Ltd. Workflow-enabled client
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 キヤノン株式会社 情報処理装置及びその制御方法
US20100250731A1 (en) * 2009-03-31 2010-09-30 Xiao Haitao Systems and methods for application identification
CA2667036A1 (en) * 2009-05-27 2010-11-27 Clevest Solutions Inc. A system and method for workflow management with configurable states and extensibility
US8913729B2 (en) * 2009-10-29 2014-12-16 Verizon Patent And Licensing Inc. Automated provisioning
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
US10078674B2 (en) * 2010-06-04 2018-09-18 Mcl Systems Limited Integrated workflow and database transactions
US8543620B2 (en) * 2010-06-11 2013-09-24 Aplix Research, Inc. System and method for independent verification and validation
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
US9092277B2 (en) * 2010-08-10 2015-07-28 Ricoh Company, Ltd. Method, apparatus, system, and computer readable medium for universal device participation in business process and workflow application
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
US8538884B2 (en) * 2011-04-11 2013-09-17 PropertyInfo Corporation System and method for the automated auditing and viewing of transaction documents
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
US8639555B1 (en) * 2011-10-12 2014-01-28 Amazon Technologies, Inc. Workflow discovery through user action monitoring
EP2812820A4 (en) 2012-02-06 2015-09-23 Mycare Llc METHODS OF SEARCHING GENOMIC DATA BASES
KR101881000B1 (ko) 2012-04-27 2018-07-24 삼성전자주식회사 디스플레이 장치의 파손 방지 구조를 구비하는 휴대용 단말기
US8819620B1 (en) 2012-06-21 2014-08-26 Emc Corporation Case management software development
US20140006972A1 (en) * 2012-07-02 2014-01-02 Nerijus Celkonas Systems and Methods Providing Integrated Communication and Task Management
WO2014013551A1 (ja) * 2012-07-17 2014-01-23 株式会社クレオネットワークス ワークフロー管理装置及びワークフロー管理方法
US20140081685A1 (en) 2012-09-17 2014-03-20 Salesforce.com. inc. Computer implemented methods and apparatus for universal task management
US9852220B1 (en) * 2012-10-08 2017-12-26 Amazon Technologies, Inc. Distributed workflow management system
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
US9448965B2 (en) * 2013-03-15 2016-09-20 Micron Technology, Inc. Receiving data streams in parallel and providing a first portion of data to a first state machine engine and a second portion to a second state machine
US9079039B2 (en) * 2013-07-02 2015-07-14 Medtronic, Inc. State machine framework for programming closed-loop algorithms that control the delivery of therapy to a patient by an implantable medical device
EP3017405A1 (en) * 2013-07-03 2016-05-11 Swiss Reinsurance Company Ltd. System and method for state-transition-controlled processing of objects
US10255409B2 (en) * 2013-08-15 2019-04-09 Zymeworks Inc. Systems and methods for in silico evaluation of polymers
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
WO2015153512A1 (en) 2014-03-29 2015-10-08 Thomson Reuters Global Resources Improved method, system and software for searching, identifying, retrieving and presenting electronic documents
US9977654B2 (en) * 2014-06-20 2018-05-22 Asset, S.r.L. Method of developing an application for execution in a workflow management system and apparatus to assist with generation of an application for execution in a workflow management system
US10038731B2 (en) * 2014-08-29 2018-07-31 Box, Inc. Managing flow-based interactions with cloud-based shared content
US10078663B2 (en) 2014-10-29 2018-09-18 Red Hat, Inc. Dual overlay query processing
US10698767B1 (en) * 2014-12-22 2020-06-30 Amazon Technologies, Inc. Decentralized management of multi-service workflows
US11580472B2 (en) 2015-05-14 2023-02-14 Palantir Technologies Inc. Systems and methods for state machine management
US10756991B2 (en) * 2015-09-17 2020-08-25 Salesforce.Com, Inc. Simplified entity engagement automation
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
EP3093809B1 (en) 2019-06-26
PL3093809T3 (pl) 2019-12-31
EP3572995A1 (en) 2019-11-27
DK3093809T3 (da) 2019-07-29
EP3093809A1 (en) 2016-11-16
US11580472B2 (en) 2023-02-14
US20160335577A1 (en) 2016-11-17
EP3572995B1 (en) 2021-11-03

Similar Documents

Publication Publication Date Title
ES2737725T3 (es) Sistemas y métodos para la gestión de máquinas de estado
ES2750788T3 (es) Sistemas y procedimientos para la generación de modelos de búsqueda
JP2020518880A (ja) スマートコントラクトホワイトリストに基づくブロックチェーンネットワークにおけるトランザクションの並列実行
US9848306B2 (en) Contextually aware dynamic group formation
US10318868B2 (en) Method for enhancing a mind map with different streams of information
KR20160014673A (ko) 노트 페이지 공유 및 통지 특징
US9576124B2 (en) Multi-level password authorization
CN105786593A (zh) 用于重启上下文相关的应用集的方法和系统
US11968248B2 (en) Content-based distribution and execution of analytics applications on distributed datasets
US9544177B2 (en) System and method for contact merge management
RU2014129510A (ru) Система и способ для смешанного представления местно и удаленно хранящихся электронных сообщений
US10929412B2 (en) Sharing content based on extracted topics
US20170168870A1 (en) Task status tracking and update system
US10877805B2 (en) Optimization of memory usage by integration flows
US20160314221A1 (en) Augmenting the display of data in a tree format
US20160328363A1 (en) Displaying at least one categorized message
US9483535B1 (en) Systems and methods for expanding search results
US20170093767A1 (en) Confidence score-based smart email attachment saver
US9288243B2 (en) Social sharing of contacts information
US11205042B2 (en) System and method to transform content and to generate a visual indicator of that transformation
US11023476B2 (en) Testing pairings to determine whether they are publically known
US20190361974A1 (en) Predicting if a message will be understood by recipients
US10110529B2 (en) Smart email attachment saver
US20150310399A1 (en) Generation of meeting agenda from team work plan
US20160179880A1 (en) System and method for determining whether files are appropriate for addition into a collection