MX2010011515A - Operaciones de deshacer/rehacer para datos de multi-objeto. - Google Patents
Operaciones de deshacer/rehacer para datos de multi-objeto.Info
- Publication number
- MX2010011515A MX2010011515A MX2010011515A MX2010011515A MX2010011515A MX 2010011515 A MX2010011515 A MX 2010011515A MX 2010011515 A MX2010011515 A MX 2010011515A MX 2010011515 A MX2010011515 A MX 2010011515A MX 2010011515 A MX2010011515 A MX 2010011515A
- Authority
- MX
- Mexico
- Prior art keywords
- undo
- data
- redo
- operations
- objects
- Prior art date
Links
- 238000000034 method Methods 0.000 claims abstract description 36
- 230000009471 action Effects 0.000 claims description 45
- 230000000007 visual effect Effects 0.000 claims description 23
- 238000001914 filtration Methods 0.000 claims description 3
- 238000013507 mapping Methods 0.000 claims 1
- 238000005065 mining Methods 0.000 claims 1
- 230000003068 static effect Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 15
- 230000008859 change Effects 0.000 description 6
- 238000010276 construction Methods 0.000 description 5
- 238000007796 conventional method Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000004913 activation Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/289—Object oriented databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/60—Editing figures and text; Combining figures or text
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/80—Creating or modifying a manually drawn or painted image using a manual input device, e.g. mouse, light pen, direction keys on keyboard
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16C—COMPUTATIONAL CHEMISTRY; CHEMOINFORMATICS; COMPUTATIONAL MATERIALS SCIENCE
- G16C20/00—Chemoinformatics, i.e. ICT specially adapted for the handling of physicochemical or structural data of chemical particles, elements, compounds or mixtures
- G16C20/90—Programming languages; Computing architectures; Database systems; Data warehousing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
Se pueden aplicar operaciones innovadoras de deshacer/rehacer a objetos separados o partes de objetos dentro de datos de multi-objeto, sin tener que deshacer y rehacer sobre una secuencia cronológica rígida de operaciones registradas. En una implementación, un usuario selecciona un objeto, o parte de un objeto, y las técnicas innovadoras de deshacer/rehacer permiten al usuario aplicar operaciones de deshacer y rehacer sólo al objeto seleccionado o parte, al mismo tiempo saltando operaciones de deshacer y rehacer para otros objetos. Las operaciones de deshacer/rehacer también se pueden aplicar en paralelo a múltiples objetos. Una interface gráfica de usuario (GUI) provee representaciones lineales o jerárquicas de operaciones aplicadas a cada objeto y exhibe controles de deshacer/rehacer para cada objeto.
Description
OPERACIONES DE DESHACER/REHACER PARA DATOS DE MULTI- OBJETO
SOLICITUDES RELACIONADAS
Esta solicitud de patente se relaciona con la solicitud de patente de E.U.A. No. á Vik, Expediente No. 94.0230, titulada
"Incremental Implementatioh of Undo/Redo Support In Legacy Applications", presentada concurrentemente con la presente, y se incorpora a la presente por referencia en su totalidad.
ANTECEDENTES DE LA INVENCIÓN
Las aplicaciones de software interactivo operan en algún tipo de serie de datos. Por ejemplo, la serie de datos puede ser tan simple como un documento ;de texto; o puede ser un dibujo, o un modelo geofísico complejo. Él usuario final crea, modifica y sintoniza esta serie de datos a través de un número de acciones ("editar texto", "dibujar linea", "interpretar horizonte") hasta que se logra un resultado deseado. Una herramienta útil para dichas aplicaciones es una técnica conocida como "deshacer/rehacer". Esta técnica permite al usuario final deshacer Ias'acciones más recientes en orden y como un resultado repetir la serie de datos al estado en que estaba antes de la acción(es). Algunas aplicaciones, como edición de documento, pueden tener múltiples series de datos (documentos) activos en
paralelo. Estas aplicaciones guardan un historial de acción individual para cada serie de datos abierta, y permiten al usuario final mover hacia atrás y adelante en el historial independientemente para cada serie de datos activa. Hay! muchas aplicaciones de software que implementan alguna forma de procedimientos de deshacer/rehacer, tanto de un solo paso como de múltiples pasos. Pero para una serié de datos individual dada que; contiene múltiples objetos individuales, no hay procedimiento de deshacer/rehacer en donde se puedan aplicar acciones a objetos individuales o a grupos de objetos y después deshecho/rehecho sobre una base por objeto.
BREVE DESCRIPCIÓN DE LA INVENCIÓN
Se pueden aplicar operaciones innovadoras dé deshacer/rehacer para separar objetos o partes de objetos dentro de datos de multi-objeto, sin tener que deshacer y rehacer sobre una secuencia cronológica rígida de operaciones registradas. En una implementación, un usuario selecciona un objeto, o parte de un objeto, y las técnicas innovadoras de deshacer/rehacer permiten al usuario aplicar operaciones ¡ de deshacer y rehacer sólo al objeto seleccionado o una parte del objeto, al mismo tiempo saltando las operaciones de deshacer y rehacer para otros objetos. Las operaciones de deshacer/rehacer también se pueden aplicar en paralelo a múltiples objetosíen vez de la técnica convencional de
I
i
deshacer/rehacer una operación a la vez sin consideración para lo cual los objetos fueron afectados.
Las operaciones innovadoras de deshacer/rehacer se pueden integrar en muchas diferentes aplicaciones nuevas o de legado que crean y editan datos de multi-objeto. Por ejemplo, las operaciones de deshacer/rehacer se pueden integrar en programas de software que crean documentos de procesador de palabras, hojas de cálculo, archivos de gráficas, modelos de CAD, y otras series de datos.
En una implementación , un método de ejemplo determina objetos selectos o características distinguibles en una serie de datos dada. Cada edición en la serie de datos se almacena en un montón u otro registro. Las identidades de los objetos afectados por una edición entonces se asocian con el registro de la edición almacenada en el montón. El montón se puede filtrar para proveer operaciones de deshacer y rehacer limitadas al historial de edición de un objeto dado o parte de un objeto sin modificar los otros objetos. Én otra implementación, primero sé crea una estructura de datos representando diferentes objetos en una serie dé datos, y después un registro de cada edición se asocia con una identidad correspondiente de un objeto o parte de un objeto en la estructura de datos, y almacenados para operaciones futuras de deshacer/rehacer en el contexto de ese objeto. Una interface gráfica de usuario (GUI) puede proveer representaciones de árbol lineales o visuales de opciones de deshacer y rehacer dinámicamente actualizadas para todos los objetos selectos en una serie de datos.
Esta sección de breve descripción no pretende dar una descripción completa de operaciones innovadoras de deshacer/rehacer para datos de multi-objeto, o proveer una lista comprensiva de características y elementos. A continuación hay una descripción detallada de implementaciones de ejemplo de las operaciones de deshacer/rehacer para datos de multi-objeto.
BREVE DESCRIPCIÓN DE LOS DIBUJOS
La figura 1 es un diagrama de un flujo de edición de ejemplo para operaciones de deshacer/rehacer.
La figura 2 es un diagrama de un sistema innovador de deshacer/rehacer.
La figura 3 es un diagrama en bloque de un motor de deshacer/rehacer de ejemplo introducido en la figura 2, en mayor detalle.
La figura 4 es un diagrama en bloque dé componentes de motor qué construyen una estructura de datos para realizar deshacer/rehacer por objeto.
La figura 5 es un diagrama de una estructura de datos de ejemplo introducida en las figuras 3 y 4, en mayor detalle.
La figura 6 es un diagrama de un montón cronológico asociado con un objeto individual.
La figura 7 es un diagrama de otro ejemplo de la estructura de datos de la figura 3, en mayor detalle.
La figura 8 es un diagrama de un primer estado de interface gráfica de usuario (GUI) de ejemplo.
La figura 9 es un diagrama de un segundo estado de GUI de ejemplo.
La figura 10 es un diagrama de un tercer estado de GUI de ejemplo.
La figura 11 es un diagrama de un cuarto estado de GUI de ejemplo.
La figura 12 es un diagrama del GUI de la figura 8 en el contexto de un modelo visual correspondiente.
La figura 13 es un diagrama de un GUI de ejemplo en donde controles de deshacer/rehacer para cada objeto se colocan en una posición fija.
La figura 14 es un diagrama de. flujo de un método de ejemplo de realizar una operación de deshacer/rehacer por objeto.
La figura 15 es un diagrama de flujo de un método de ejemplo de crear una interface gráfica de usuario (GUI) para operapiones de deshacer/rehacer por objeto.
DESCRIPCIÓ DETALLADA
Visión General
Esta descripción describe operaciones innovadoras de deshacer/rehacer que mejoran sobre las técnicas convencionales de
deshacer y rehacer que están obligadas a la secuencia rígida de una sola historia cronológica de operaciones realizadas globalmente sobre una serie entera de datos. En escenarios convencionales de deshacer, el usuario debe aceptar una secuencia de deshacer que retrocede ediciones en un orden inverso del orden cronológico literal en donde las ediciones originales ocurrieron en cualquier lugar en la serie de datos. Asimismo, las operaciones convencionales de rehacer vuelven a ejecutar la misma secuencia intercambiable de operaciones que fueron deshechas. De esta manera, las técnicas convencionales de deshacer/rehacer requieren que el usuario acepte operaciones no deseadas con aquellas deseadas.
Las operaciones innovadoras de deshacer/rehacer descritas en la presente se pueden aplicar para separar objetos, o incluso partes de objetos, dentro de una serie de datos, sin tener que deshacer y rehacer dentro de una secuencia cronológica rígida de operaciones registradas. Como se usa en la presente, el término "objeto" significa un objeto o una parte de un objeto. Es decir, un usuario o un proceso innovador puede seleccionar o divide un objeto en partes o características, en cuyo caso cada parte o característica se puede tratar como un objeto por sí mismo. De esta manera, "objeto" como se usa en la presente significa una subserie lógica o una subserie seleccionada de datos dentro de una serie de datos más grande, designada como un nexo para operaciones de deshacer/rehacer asociadas con aquella subserie. "Características" y "objetos" serán referidos en la presente como "objetos". En una implementación, un
objeto es una división visual o lógica de una serie de datos de una aplicación por la cual un historial global de ediciones se puede filtrar para proveer operaciones de deshacer/rehacer "por objeto" o "a lo largo de múltiples objetos seleccionados", sin tener que deshacer y rehacer ediciones previas en orden cronológico estricto hacia atrás y hacia adelanté.
De esta manera, en una implementactón, un usuario selecciona un objeto, o parte de un objeto, y las técnicas innovadoras de deshacer/rehacer permiten al usuario aplicar operaciones de deshacer y rehacer justo a ése objeto o parte de un objeto, al mismo tiempo saltando operaciones de deshacer y rehacer para otros objetos. Un usuario también puede aplicar operaciones de deshacer/rehacer en objetos múltiples paralelos, en vez de seguir un solo camino lineal de operaciones de deshacer/rehacer.
La figura 1 muestra un flujo de ejemplo de ediciones 100 para introducir el principio de operaciones de deshacer/rehacer "por objeto". En este ejemplo, el usuario ha alternado cada operación de edición entre dos objetos diferentes: construcción de un cuadrado y construcción de un triángulo. El flujo de edición original sigue las flechas blancas en la figura 1. En un escenario convencional, para deshacer la construcción de dos lados del cuadrado terminado, es decir, para retroceder de la edición 7 a la edición 3 en la figura 1, el usuario debe proceder en orden inverso de las flechas blancas sin desviación. Durante la secuencia convencional de deshacer, el fondo
del triángulo terminado es eliminado de manera no deseada cuando la edición 4 en la figura 1 es invertida: un resultado no deseado.
En las operaciones innovadoras de deshacer/rehacer descritas en la presente, los dos procesos de deshacer y rehacer pueden distinguir entre objetos separados o partes de objetos dentro de datos de multi-objeto. De esta manera, en la figura 1, el usuario puede elegir deshacer sólo las ediciones para el objeto cuadrado, es decir, deshacer la secuencia de ediciones que incluye sólo las ediciones 7, 5, 3, 1 en la figura 1; o puede elegir deshacer sólo las ediciones para el objeto de triángulo, es decir, deshacer la secuencia de ediciones que incluyen sólo las ediciones 6, 4, 2.- Dicha operación de deshacer "por objeto" tiene una operación de rehacer de contraparte que sigue un orden hacia delante de la misma secuencia de ediciones que está limitada al objeto individual seleccionado.
Como se introdujo antes, las operaciones innovadoras de deshacer/rehacer se pueden integrar en varias aplicaciones dé software nuevas y de legado que crean y editan series de datos. Las series de datos de ejemplo incluyen documentos en procesador de palabras, hojas de cálculo, archivos de gráficas, modelos de CAD, etc. En una implementación, un método de ejemplo determina objetos o características que se pueden distinguir en una serie de datos dada. Dicho reconocimiento de objeto se puede lograr al aplicar un algoritmo que reconoce patrones de datos o similitudes; por selección manual de objetos por parte del usuario; o al pre-
programar diferentes objetos en la serie de datos que una aplicación de software dada creará y modificará.
En una implementac'ión, cada edición en una serie de datos se almacena en un montón. Un mecanismo asociativo enlaza objetos afectados por una edición con el registro de la edición en el montón. El montón entonces puede filtrarse para proveer operaciones de deshacer y rehacer limitadas al historial de edición de un objeto dado sin cambiar ediciones pasadas de los otros objetos. En otra implementación, las identidades de objetos están estructuradas en una base de datos, y un registro de cada edición está asociado con la identidad de cada objeto que afecta, de modo que no hay construcción de un solo montón cronológico, global.
Una interface gráfica de usuario (GUI) asociada puede proveer representaciones visuales lineales o ramificadas de posibles operaciones de deshacer/rehacer "por objeto" o "a través de objetos". La GUI puede proveer un formato de árbol visual que muestra editar historias por objeto, con controles de deshacer rehacer dinámicamente colocados para cada objeto en una serie de datos. En una variación, los controles de deshacer y rehacer reubican en la GUI de modo que los controles siempre están en operaciones exhibidas para un objeto dado o grupo de objetos que en la actualidad se pueden deshacer o rehacer. Alternativamente, los controles de deshacer/rehacer se pueden fijar en una ubicación por objeto en la GUI, en vez de reubicar junto a cada operación actual que se pueda deshacer o rehacer.
Las operaciones innovadoras de deshacer/rehacer se pueden integrar en nuevo código de programación o en algunos casos instalar como un retrocambio para mejorar algunos tipos de operaciones de edición en aplicaciones de software pre-existentes que usan operaciones convencionales de deshacer/rehacer.
Ambiente de ejemplo
Los ejemplos de las operaciones de deshacer/rehacer descritas en la presente se pueden practicar dentro de varias aplicaciones de software, como se usa en un ambiente de computación. La figura 2 muestra un ambiente de computación de ejemplo, incluyendo el dispositivo de computación 200 ejecutando una aplicación de software 201, en este caso una aplicación de modelaje que genera un modelo visual 202. La aplicación de software 201 incluye un motor 204 innovador de deshacer/rehacer integrado en su código de programación. El dispositivo de computación 200, hospedando tanto a la aplicación de software 201 como al motor de deshacer/rehacer 204, también incluye hardware típico, tal como un procesador 206, memoria 208, almacenamiento de datos locales 210, una interface de red 212, y una unidad de medios desmontable 214 - tal como un dispositivo para leer/escribir de disco óptico para recibir un medio de almacenamiento 216 desmontable. El medio de almacenamiento desmontable 216 puede ser, por ejemplo, un disco compacto (CD) o disco versátil digital / disco de video digital (DVD) que puede incluir
instrucciones para implementar y ejecutar el motor 204 de deshacer/rehacer. En una manera similar a la aplicación de modelaje, que puede existir en parte como instrucciones de software en la memoria 208, por lo menos algunas partes del motor 204 innovador de deshacer/rehacer se pueden almacenar como instrucciones en un caso dado del medio de almacenamiento desmontable 216 o en almacenamiento de datos local 210, para cargarse en la memoria 208 para ejecución por el procesador 206. El motor 204 de deshacer/rehacer también se puede implementar como hardware electrónico, tal como uno o más, circuitos integrados específicos de aplicación (chips ASIC); o combinaciones de hardware y software, por ejemplo, instrucciones de un medio de almacenamiento desmontable 216 ejecutando en el hardware.
La aplicación de modelaje de ejemplo genera una serie de datos, que en el ejemplo de la figura 2 incluye por lo menos cinco objetos A, B, C, D y E con sus respectivos parámetros. En este ejemplo, el modelo visual 202 ilustra geofísica de reserva, y los objetos A, B, C, D y E son pozos. Cada uno de los cinco objetos (pozos) se puede editar por separado, y en cualquier orden. Por ejemplo, cada pozo puede ser definido por el usuario al asignar una ubicación y profundidad; y después ser nombrado, codificado por color, y así sucesivamente. Si el usuario ha hecho ediciones a los pozos en una manera aleatoria, saltando de pozo en pozo en el proceso de edición, entonces, en un escenario, el motor 204 innovador de deshacer/rehacer permite al usuario deshacer y rehacer
el historial de edición con los otros pozos. En otro escenario, el motor de deshacer/rehacer 204 permite al usuario realizar operaciones de deshacer/rehacer globalmente a través de múltiples objetos seleccionados. De esta manera, en este ejemplo, si una acción similar ha sido aplicada recientemente a los pozos A, B y C, entonces una operación de deshacer se puede aplicar a los tres pozos en una operación simultánea o en secuencia.
Motor de deshacer/rehacer de ejemplo
La figura 3 muestra el motor de deshacer/rehacer de ejemplo 204 de la figura 2, en mayor detalle. La implementación ilustrada es sólo una configuración de ejemplo, para introducir algunas características y componentes de un motor que realiza las técnicas innovadoras de deshacer/rehacer. Muchas otras disposiciones de los componentes de un motor innovador de deshacer/rehacer son posibles dentro del alcance del tema principal. Como se introdujo antes, el motor de deshacer/rehacer 204 se puede implementar en hardware, o en combinaciones de hardware y software. Los componentes ilustrados están en comunicación entre sí según sea necesario.
Proveyendo ahora una lista de componentes, el motor de deshacer/rehacer 204 ilustrado incluye, de izquierda superior a derecha inferior, un registrador de acciones 302 y asociador de objeto 304, los cuales generan una estructura de datos 306 para
almacenar un registro, o historia, de cada operación de edición realizada; un motor de interface gráfica de usuario (GUI) 308 que incluye por lo menos un generador de árbol visual 310 y un administrador de controles de deshacer/rehacer 312; un regulador o interface de acceso en el motor de deshacer/rehacer 204 para almacenar o tener acceso a la serie de datos de la aplicación 314; un administrador de objeto 316 que incluye un analizador de serie de datos 318 para determinar objetos enumerados 320 y/o un definidor de objeto 322 para determinar los objetos enumerados 320; y un motor de ejecución por objeto 324, el cual incluye un selector de objeto 326, filtros de objeto 328, e interfaces de operaciones 330.
Como se muestra en la figura 4, la serie de datos de aplicación 314 es los datos globales creados y mantenidos por una aplicación particular, por ejemplo, un archivo de documento para una aplicación de procesador de palabras. Las flechas en la figura 4 representan entradas y salidas de componentes (datos). El registrador de acciones 302 asigna cada edición u operación iniciada por el usuario a un registro, dispuesto como la estructura de datos 306. El registro de la estructura de datos 306 puede ocurrir en almacenamiento permanente, por ejemplo, en almacenamiento de datos locales 210 o en memoria volátil, tal como una memoria de acceso aleatorio (RAM) 208. La estructura de datos 306 puede ser un montón cronológico de acciones realizadas o puede ser una estructura de objetos enumerados. Cuando la estructura de datos 306 es un montón cronológico, el asociador de objeto 304 en el registrador de acciones
302 enlaza la identidad de uno o más objetos afectados (es decir, modificados) por una acción dada al registro para esa acción en la estructura de datos 306 amontonados cronológicamente. Alternativamente, cuando la estructura de datos 306 es una jerarquía u otra disposición de objetos enumerados 320, el asociador de objeto 304 puede enlazar el registro de cada acción iniciada por el usuario a la identidad del objeto u objetos afectados dispuestos en la estructura de datos 306. Lá estructura de datos 306 no tiene que ser secuenciada en un orden cronológico. Sin embargo, construir la estructura de datos 306 en un orden cronológico conforme ocurren ediciones almacena automáticamente información temporal útil en la estructura de datos 306 sin tener que almacenar un campo de señal de tiempo extra en el registro cuando se usa un esquema de estructura no cronológico alternativo.
Regresando a la figura 3, el administrador de objeto 316 crea y provee la lista de objetos enumerados 320, por ejemplo, al asociador de objeto 304 para crear la estructura de datos 306; al motor de GUI 308 para crear un árbol visual ramificando de acuerdo a objetos; y al motor de ejecución por objeto 324 para realizar operaciones de deshacer/rehacer por objeto. El analizador de serie de datos 318 puede aplicar un esquema o algoritmo de reconocimiento a la serie de datos de aplicación 314 para discernir objetos individuales representados en la serie de datos 314. Alternativamente o además, un definidor de objeto 322 puede permitir al usuario designar manualment objetos o partes de objetos a los cuales aplicarán
operaciones especificadas de deshacer/rehacer. Como se mencionó previamente, también se pueden programar objetos en la tela de una aplicación dada y su serie de datos correspondiente 314.
El motor de ejecución por objeto 324 realiza las operaciones de deshacer y rehacer específicas a un objeto individual dado, parte de objeto, o grupo de objetos seleccionados. El selector de objeto 326 especifica el objeto designado, parte de un objeto, o grupo de objetos para una operación de deshacer/rehacer dada. El selector de objeto 326 típicamente designa el objeto sobre el cual se realizará una operación de deshacer/rehacer, desde entrada del usuario recibida vía controles mostrados por el motor de GUI 308. El motor de ejecución 324 puede tener una serie de filtros de objeto 328 con los cuales generar una secuencia filtrada de ediciones pasadas específicas al objeto individual - o grupo de objetos - designados para deshacer o rehacer. En una implementación, uno o más filtros de objeto 328 señalan partes relevantes de la estructura de datos 306 en donde reside un historial de acciones aplicadas a un objeto seleccionado u objetos, en vez de > clasificar o filtrar un montón cronológico lineal por una o más identidades de objeto. En una implementación, el motor de ejecución 324 aplica un filtro de objeto dado 328 a una versión cronológicamente amontonada de la estructura de datos 306 a fin de derivar una secuencia filtrada de operaciones específicas para un objeto individual correspondiente (descrito más adelante con respecto a la figura 6). ¦
El motor de ejecución por objeto 324 incluye interfaces de operaciones 330 para comunicar con la aplicación dada a fin de controlar tipos particulares de operaciones de edición a las cuales aplican las operaciones de deshacer/rehacer por objeto. El motor de ejecución 324 puede usar técnicas convencionales de deshacer/rehacer, pero aplican éstas a una secuencia de sólo aquellas operaciones que han sido realizadas en un objeto individual.
El motor de deshacer/rehacer 204 también incluye un motor de GUI 308 para controlar una interface gráfica de usuario que muestra al usuario una representación de diferentes objetos disponibles para operaciones de deshacer/rehacer. El administrador de controles de deshacer/rehacer 312 exhibe controles de deshacer/rehacer para seleccionar las operaciones de deshacer/rehacer disponibles para cada objeto representado en la GUI. El motor de GUI 308 puede mostrar secuencias lineales de operaciones por objeto, o el generador de árbol visual 310 también puede usar los objetos enumerados 320 o la estructura de datos 306 para generar un árbol visual que muestre objetos disponibles para operaciones de deshacer/rehacer. El árbol visual puede estructurarse para mostrar operaciones de deshacer/rehacer disponibles para aplicarse a múltiples objetos, ya sea simultáneamente o en una secuencia que excluya acción en otros objetos no seleccionados. El administrador de controles de deshacer/rehacer 312 puede disponer dinámicamente controles de deshacer/rehacer en operaciones de deshacer/rehacer
actuales y lógicamente disponibles listadas para cada objeto en la GUI, para proveer información muy específica sobre cuál es la siguiente acción que se debe deshacer o rehacer. O, en una variación, el administrador de controles de deshacer/rehacer 312 puede colocar controles de deshacer/rehacer de posición fija, por ejemplo, en la parte superior de cada columna representando una lista de acciones asociadas con un objeto dado. Los controles de posición fija deshacen o rehacen una acción relevante asociada con el objeto bajo la columna, sin que el usuario tenga que perseguir los controles de movimiento en la GUI.
Operación de ejemplo de un sistema de deshacer/rehacer
El motor innovador de deshacer/rehacer 204 se puede usar en aplicaciones de software que operan en una serie de datos 314 que consiste de un número potencialmente grande de objetos individuales, lo que se pu.ede modificar independientemente o en grupo por las operaciones innovadoras de deshacer/rehacer. Una aplicación de ejemplo es modelado de reserva, con una serie de datos 314 qué contiene un número de interpretaciones de horizonte geológico. Para modificar estos horizontes, el usuario puede seleccionar a partir de un número de acciones interactivas, tal como "cambio de horizonte por distancia dada" o "cambio de todos los horizontes por distancia dada". Con técnicas convencionales de deshacer/rehacer, todas las acciones de usuario son almacenadas en
un montón lineal, cronológico de acciones. De esta manera, aún si las acciones aplicadas al horizonte A y horizonte B son completamente independientes (ninguna acción de grupo), el usuario todavía tiene que mover hacia atrás en orden cronológico estrictamente inverso. El motor de deshacer/rehacer 204, no obstante, permite al usuario moverse hacia atrás a través de las acciones A y acciones B independientemente, mejorando la productividad del usuario. La estructura de datos 306 descrita en la presente soporta esta característica de operaciones de deshacer/rehacer por objeto al mismo tiempo manejando correctamente acciones de grupo y asegurando la integridad de los datos.
La figura 5 muestra una estructura de datos de ejemplo 306, en mayor detalle. La estructura de datos 306 muestra parte de las vidas efectivas de edición de dos objetos (A y B) en una serie de datos dada 314. Un número de acciones se aplican a ellas (montón central) y la estructura de datos 306 mantiene un registro de cuáles objetos fueron modificados.
El motor de ejecución 324 entonces puede aplicar un filtro de objeto 328 para encontrar todas las acciones en la estructura de datos 306 que fueron aplicados, por ejemplo, al objeto A. En una implementación, esta filtración produce un segundo montón cronológico de operaciones que pertenecen al objeto A, como se muestra en la figura 6. El motor de ejecución por objeto 324 ahora se
puede mover hacia atrás en el historial del objeto A sin tener que deshacer la única acción que sólo se aplicó al objeto B.
Interfaces gráficas de usuario (GUIs) de ejemplo
La figura 7 muestra otra estructura de datos 306 similar a aquella de la figura 5. Presentando dicha estructura de datos 306 al usuario final en una manera útil permite al usuario aplicar fácilmente las operaciones innovadoras de deshacer/rehacer a las ediciones de un objeto particular.
La estructura de datos de la figura 7 muestra un historial de acción de ejemplo que resulta de una secuencia de acciones interactivas (montón central). Las columnas verticales más hacia la izquierda y más hacia la derecha describen la vida efectiva de dos objetos (A y B), que en este ejemplo son pozos en uh modelo de reserva, tal como un modelo que produce el modelo visual 202 de la figura 2. En un punto en la secuencia (el montón central) se aplica una operación de edición de "cambiar color" a ambos Objetos A y B, lo cua| ilustra algunas características de GUI.
Las figuras 8-12 muestran una secuencia de estados de GUI en donde el administrador de controles de deshacer/rehacer 312 ubica dinámicamente botones de control junto a acciones relevantes que se exhiben. La figura 8 muestra una GUI de ejemplo 800. La GUI 800 muestra un árbol visual para dos objetos representados en una serie de datos 314: un objeto llamado "Prueba A10 vieja de buen camino" y
un objeto llamado "Buen camino B10 ajustado". En una ¡mplementación, el motor de GUI 308 exhibe todas las acciones que han sido aplicadas a un objeto dado en una columna vertical debajo de los recuadros de titulo 802, 804 para cada objeto específico. En este ejemplo, el generador de árbol visual 310 produce una estructura visual, conectada por líneas negras. Cualquier acción aplicada a múltiples objetos, tal como una acción global de "cambiar color" 806 se exhibe como una unión de las líneas para todos los objetos afectados. La figura 8 muestra una GUI de ejemplo 800 que incluye dos objetos, pero las mismas técnicas de GUI se pueden aplicar a cualquier número de objetos. La GUI 800 de ejemplo exhibe información de una serie de datos dada 314 que contiene múltiples objetos individuales de modo que se pueden aplicar acciones a objetos individuales o grupos de objetos.
Junto a las dos acciones inferiores en la figura 8 hay dos botones indicados por flechas blancas que muestran iconos estándar de "Deshacer" 808, 810. Dando clic al icono de Deshacer 808 deshace la acción adyacente y, en este caso, produce el estado de GUI mostrado en la figura 9.
Con respecto a la figura 9, el administrador de controles de deshacer/rehacer 312 exhibe un icono de Rehacer 902 en la esquina inferior izquierda (flecha blanca izquierda). El administrador de controles dé deshacer/rehacer 312 mueve el icono de Deshacer 808 en la figura 8 hacia arriba para convertirse en el icono de Deshacer 904 (flecha blanca derecha) designando la siguiente acción que se
puede deshacer en el historial de operaciones para ese objeto. Dando clic al icono de Deshacer 904, prc-duce el estado de GUI mostrado en la figura 10.
En la figura 10, el administrador de controles de deshacer/rehacer 312 ha movido el icono de Rehacer 902 de la figura 9 una operación para convertirse en el icono de Rehacer 1002 en la figura 10 (debido a la operación de Deshacer recién ejecutada con respecto a l figura 9). El administrador de controles de deshacer/rehacer 312 omite publicar un botón de icono de Deshacer junto a la operación de "cambiar color" 806 (flecha blanca superior). Esto es porque, en una implementación, se deben deshacer acciones en orden cronológico inverso por objeto (o por parte de un objeto), y ya que la operación de "cambiar color" 806 se aplicó a ambos objetos, la operación 806 no se puede deshacer antes de también deshacer la operación "Renombrar a ?10-ajustado'" 1004. Accionar el icono de Deshacer 810 en la figura 10 (flecha blanca inferior) produce el estado de GUI mostrado en la figura 11.
En la figura 11, ya que accionar el icono de Deshacer 810 ha reanudado el deshacer operaciones para el objeto 804 en la derecha, un nuevo icono de Rehacer 1102 (flecha blanca inferior) aparece junto a la operación recién deshecha, y el administrador de controles de deshacer/rehacer 312 ahora muestra un icono de Deshacer 1104 (flecha blanca superior), junto al grupo, que ahora se puede deshacer para ambos objetos mostrados en la GUI 800. El mismo efecto de unión también aplica al rehacer acciones: para una acción
de grupo afectando los objetos A y B, todas las acciones aplicadas a los objetos A y B antes de la acción de grupo deben rehacerse antes de que la operación A sea candidato para rehacerse. La construcción lógica en él administrador de controles de deshacer/rehacer 312 mantiene un registro de cuáles botones de Deshacer y Rehacer se muestran en la GUI 800, y su disposición lógica entre las operaciones mostradas.
Las figuras 8-11 de esta manera muestran relaciones entre una operación dada y los objetos que afecta, y permite al usuario final mover a través de montones separados de deshacer/rehacer para cada objeto, realizando acciones en una base púr objeto o por parte, a diferencia de técnicas convencionales que retroceden a través de un solo historial de acción estrictamente cronológico' para una serie de datos entera.
La figura 12 muestra la GUI 800 de la figura 8 en el contexto del modelo visual correspondiente 202 introducido en la figura 2. La GUI 800 muestra un árbol visual de operaciones que se pueden deshacer/rehacer para el Objeto A y Objeto B, las cuales aparecen en el modelo visual 202. De esta manera, la figura 12 ilustra una salida gráfica de ejemplo que el sistema innovador mostrado en la figura 2 puede producir para presentación en un monitor de exhibición.
La figura 13 muestra una GUI de ejemplo 1300 en donde los controles de deshacer/rehacer para cada objeto son colocados en una posición fija. En la GUI 1300, los controles de deshacer/rehacer
1302 y 1304 para el Objeto A, representados por la columna de operaciones en la izquierda, son colocados arriba de la columna. Asimismo, los controles de deshacer/rehacer 1306 y 1308 para el Objeto B, representados por la columna de operaciones en la derecha, son colocados arriba de la columna. Los botones de control fijos permiten a un usuario deshacer y rehacer sin tener que reposicionar constantemente un cursor para rastrear botones de control en movimiento. Cuando una operación de deshacer o rehacer para un objeto no se hace disponib.te, el botón de control relevante en la parte superior de la columna puede desaparecer o visualmente desvanecerse para indicar un estado inoperativo del botón de control. El accionamiento de un botón de rehacer o deshacer en una ubicación fija en la GUI automáticamente realiza la siguiente operación de deshacer o rehacer en la cola para el objeto asociado.
Métodos de ejemplo
La figura 14 muestra un método de ejemplo 1400 de realizar una operación de deshacer/rehacer por objeto. En el diagrama de flujo, las operaciones son resumidas en bloques individuales. El método de ejemplo 1400 se puede realizar por hardware o combinaciones de hardware y software, por ejemplo, por el motor de deshacer/rehacer de ejemplo 204.
En el bloque 1402, se determinan objetos individuales representados dentro de una serie de datos.
En el bloque 1404, un registro de cada operación que una aplicación realiza en la serie de datos se almacena dentro de una primera secuencia de registros.
En el bloque 1406, una identidad de cada objeto individual afectado por una operación se asocia con el registro de la operación almacenada en la primera secuencia.
En el bloque 1408, se recibe una entrada para deshacer una o más operaciones asociadas con un objeto individual asignado.
En el bloque 1410, se establece una segunda secuencia que consiste de cada operación asociada con el objeto individual designado en la primera secuencia.
En el bloque 1412, con base en la entrada para deshacer una o más operaciones, cada una de las operaciones asociadas con el objeto individual designado es invertida en un orden hacia atrás de la segunda secuencia.
La figura 15 muestra un método de ejemplo 1500 de crear una interface gráfica de usuario (GUI) para operaciones de deshacer/rehacer por objeto. En el diagrama de flujo, las operaciones se resumen en bloques individuales. El método de ejemplo 1500 se puede realizar por hardware o combinaciones de hardware y software, por ejemplo, por el motor de deshacer/rehacer de ejemplo 204.
En el bloque 1502, una secuencia de operaciones realizadas en cada objeto individual se exhibe en asociación con la identidad del objeto en la GUI.
En el bloque 1504, se exhiben iconos de deshacer e iconos de rehacer para recibir entrada de usuario para seleccionar operaciones de deshacer y rehacer desde la secuencia de operaciones exhibidas para cada objeto individual.
En el bloque 1506, se exhibe una estructura de árbol visual en la GUI para mostrar operaciones realizadas en cada objeto individual y en múltiples objetos individuales.
En el bloque 1508, los iconos de deshacer e iconos de rehacer se colocan dinámicamente en la GUI sólo cerca de las operaciones exhibidas que están lógicamente disponibles para deshacerse o rehacerse para un objeto individual o para un grupo de objetos afectados én común por la operación.
Conclusión
Aunque se han descrito sistemas y métodos ejemplares en lenguaje específico para características estructurales y/o actos metodológicos, se debe entender que el sujeto principal definido en las reivindicaciones anexas no necesariamente se limita a las características específicas o actos descritos. En vez, las características y actos específicos se describen como formas ejemplares de implementar los sistemas, métodos y estructuras reclamadas.:
Claims (20)
1.- Un método ejecutable en computadora (1400) que comprende: determinar objetos individuales representados dentro de una serie de datos; (1402) almacenar un registro de cada operación que una aplicación realiza en la Serie de datos; (1404) asociar el registro de cada operación con una identidad de cada objeto individual afectado por la operación; (1406) recibir una entrada para deshacer una o más operaciones asociadas con un objeto individual; (1408) y con base en la entrada para deshacer, invertir sólo la una o más operaciones asociadas con el objeto individual. (1412)
2.- El método ejecutable en computadora de conformidad con la reivindicación 1, que comprende además; recibir una entracla para rehacer una o más de las operaciones invertidas asociadas con el objeto individual; y rehacer la una o más operaciones invertidas asociadas con el objeto individual en un orden hacia delante de las operaciones invertidas.
3.- El método ejecutable en computadora de conformidad con la reivindicación 1, en donde la serie de datos comprende uno de datos de procesador de texto, datos de texto, datos de hoja de cálculo, datos visuales, datos de dibujo visual, datos de gráficas, datos de páginas web, datos de dibujo asistido por computadora (CAD), datos de fotografía, datos de imágenes, datos de audio, datos de edición, datos de modelado, datos de modelado de ciencias de la tierra, datos de modelado de geografía, datos de minería, datos de física, datos de química, datos de biología, datos de electrónica datos de matemáticas aplicadas, datos médicos, datos financieros o datos de mapeo.
4. - El método ejecutable en computadora de conformidad con la reivindicación 1, en donde dicho almacenamiento de un registro de cada operación que una aplicación realiza en la serie de datos incluye almacenar un registro de cada operación en tiempo real o en tiempo casi real en un orden cronológico.
5. - El método ejecutable en computadora de conformidad con la reivindicación 1, en donde dicha determinación de objetos individuales representados dentro de uha serie de datos comprende uno de recibir una entrada de usuario seleccionando los objetos individuales representados dentro de la serie de datos, recibir una entrada del usuario seleccionando partes de objetos dentro de la serie de datos, pre-programar los objetos individuales a ser generados dentro de la serie de datos, agrupar datos de acuerdo a una similitud común para definir cada objeto individual, o aplicar un algoritmo de agrupación para distinguir cada objeto individual de otros objetos en la serie de datos.
6. - El método ejecutable en computadora de conformidad con la reivindicación 1, que comprende además filtrar los registros de las operaciones para registros asociados con un objeto individual.
7. - El método ejecutable en computadora de conformidad con la reivindicación 1, en donde invertir una operación con base en la entrada para deshacer incluye invertir la operación para múltiplés objetos individuales asociados con la operación; y en donde rehacer una operación con base en una entrada para rehacer incluye rehacer la operación para múltiples objetos individuales asociados con la operación!
8. - El método ejecutable en computadora de conformidad con la reivindicación 1, en donde dicho almacenamiento de un registro de cada operación que una aplicación realiza en la serie de datos almacena los datos como una primera secuencia de registros; que comprende además establecer una segunda secuencia que consiste de cada operación asociada con el objeto individual en la primera secuencia; y con base en la entrada para deshacer, invertir cada una de las operaciones asociadas con el objeto individual en un orden hacia atrás de la segunda secuencia.
9. - El método ejecutable en computadora de conformidad con la reivindicación 1, que comprende además extender una interface gráfica de usuario (GUI), que incluye: para cada uno de los múltiples objetos individuales, exhibir una secuencia de operaciones realizadas en cada objeto individual; y exhibir una interface para recibir una entrada de usuario para seleccionar operaciones de deshacer y rehacer a partir de la secuencia de operaciones exhibidas para el objeto individual.
10. - El método ejecutable en computadora de conformidad con la reivindicación 9, que comprende además exhibir una estructura de árbol en la GUI; en donde la estructura de árbol muestra la secuencia de operaciones realizadas en cada objeto individual; y en donde la estructura de árbol también muestra operaciones realizadas en común en múltiples objetos individuales.
11. - El método ejecutable ert computadora de conformidad con la reivindicación 10, que comprende además reubicar dinámicamente iconos de control de deshacer y rehacer en la GUI para indicar cuáles operaciones realizadas en un objeto individual son candidatas para una operación de deshacer/rehaóer.
12. - El método ejecutable en computadora de conformidad con la reivindicación 10, que comprende además fijar iconos de control de deshacer y rehacer en una ubicación estática relacionada con una ramificación de la estructura de árbol que representa un objeto individual al que aplican los iconos de control de deshacer y rehacer.
13. - Un medio que se puede leer en computadora (216), que incluye instrucciones, el cual al ejecutarse, causa que una computadora: reciba una entrada (332) vía una aplicación para iniciar una operación para modificar una serie de datos (306); cree una estructura de datos (304) para soportar un montón de deshacer que conserve una relación entre un registro de cada operación y una parte relacionada de la serie de datos a la que la operación fue aplicada; y exhibir la estructura de datos (304) vía una intexface gráfica de usuario (328) para permitir selección de operaciones de deshacer y rehacer (332) asociadas con sólo la parte relacionada de la serie de datos.
14. - El medio que se puede leer en computadora de conformidad con la reivindicación 13, que comprende además instrucciones, que al ejecutarse, causan que la computadora: analice por lo menos algo de la serie de datos en las partes relacionadas, en donde cada parte de la serie de datos comprende un. objeto; y filtre el montón de deshacer usando una identidad de un objeto dado como el criterio de filtro para crear una secuencia de operaciones candidatas para deshacerse y rehacerse con respecto al objeto dado.
15. - El medio que se puede leer en computadora de conformidad con la reivindicación 14, que comprende además instrucciones, que al ejecutarse, causan que la, computadora: exhiba la estructura de datos como una estructura de árbol visual que comprende una secuencia de operaciones de edición dispuestas de acuerdo a cada objeto; disponer controles de deshacer y rehacer cerca de las operaciones exhibidas para un objeto dado; y en donde lo$ controles de deshacer y rehacer permiten selección de acciones de deshacer y rehacer de acá para allá a través de la secuencia de operaciones de edición para el objeto dado.
16. -. El medio que se puede leer en computadora de conformidad con la reivindicación 13, en dondé la estructura de datos conserva una relación entre un registro de cada operación y una parte de una subserie de un objeto al que se aplicó la operación.
17. - Un medio que se puede leer en computadora (216), que incluye instrucciones, que al ejecutarse, causa que la computadora: determine (314) una serie de características (312) se moldee por una serie de datos; (306) registre (302) cada edición de cada característica (312) en un montón; (304) asocie (308) una ó más de las características (312) con cada edición registrada en el montón; (304) filtre (320) el montón (304) para determinar ediciones asociadas con una característica seleccionada; y con base en la filtración, deshacer ediciones ( 318 ) asociadas con la característica seleccionada en un orden invertido al mismo tiempo manteniendo un estado de edición actual de las otras características (312).
18. - El medio que se puede leer en computadora de conformidad con la reivindicación 17, que comprende además instrucciones, que al ejecutarse, causan que la computadora: rehaga ediciones deshechas asociadas con la característica seleccionada en un orden hacia adelante al mismo tiempo manteniendo un estado de edición actual de las otrasrcáracterísticas.
19. - El medio que se puede leer en computadora de conformidad con la reivindicación 17, que comprende además instrucciones, que al ejecutarse, causan que la computadora: extienda una interface gráfica de usuario (GUI) para exhibir una representación lineal del montón cronológico o para exhibir un árbol que muestre un montón filtrado de ediciones asociadas con cada característica incluyendo ediciones que aplican a un grupo de objetos afectados en común por la edición.
20.- El medio que se puede leer en computadora de conformidad con la reivindicación 17, que comprende además instrucciones, que al ejecutarse, causan que la computadora: exhiba controles de deshacer y rehacer en la GUI; disponga los controles de deshacer y rehacer en la GUI en ilustraciones de ediciones pasadas en la actualidad candidatas para deshacerse o rehacerse, para cada característica del modelo. RESUMEN DE LA INVENCIÓN Se pueden aplicar operaciones innovadoras de deshacer/rehacer a objetos separados o partes de objetos dentro de datos de multi-objeto, sin tener que deshacer y rehacer sobre una secuencia cronológica rígida de operaciones registradas. En una implementación, un usuario selecciona un objeto, o parte de un objeto, y las técnicas innovadoras de deshacer/rehacer permiten al usuario aplicar operaciones de deshacer y rehacer sólo al objeto seleccionado o parte, al mismo tiempo saltando operaciones de deshacer y rehacer para otros objetos. Las operaciones de deshacer/rehacer también se pueden aplicar en paralelo a múltiples objetos. Una interface gráfica de usuario (GUI) provee representaciones lineales o jerárquicas de operaciones aplicadas a cada objeto y exhibe controles de deshacer/rehacer para cada objeto.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/611,199 US20110107246A1 (en) | 2009-11-03 | 2009-11-03 | Undo/redo operations for multi-object data |
Publications (1)
Publication Number | Publication Date |
---|---|
MX2010011515A true MX2010011515A (es) | 2011-05-19 |
Family
ID=43401683
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
MX2010011515A MX2010011515A (es) | 2009-11-03 | 2010-10-20 | Operaciones de deshacer/rehacer para datos de multi-objeto. |
Country Status (6)
Country | Link |
---|---|
US (1) | US20110107246A1 (es) |
BR (1) | BRPI1004160A2 (es) |
CA (1) | CA2715831A1 (es) |
GB (1) | GB2476857A (es) |
MX (1) | MX2010011515A (es) |
NO (1) | NO20101527A1 (es) |
Families Citing this family (63)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2009238481B2 (en) | 2008-04-22 | 2014-01-30 | Exxonmobil Upstream Research Company | Functional-based knowledge analysis in a 2D and 3D visual environment |
WO2010039317A1 (en) * | 2008-10-01 | 2010-04-08 | Exxonmobil Upstream Research Company | Robust well trajectory planning |
US8931580B2 (en) | 2010-02-03 | 2015-01-13 | Exxonmobil Upstream Research Company | Method for using dynamic target region for well path/drill center optimization |
US8731872B2 (en) | 2010-03-08 | 2014-05-20 | Exxonmobil Upstream Research Company | System and method for providing data corresponding to physical objects |
US8731887B2 (en) | 2010-04-12 | 2014-05-20 | Exxonmobile Upstream Research Company | System and method for obtaining a model of data describing a physical structure |
US8727017B2 (en) | 2010-04-22 | 2014-05-20 | Exxonmobil Upstream Research Company | System and method for obtaining data on an unstructured grid |
US8731873B2 (en) | 2010-04-26 | 2014-05-20 | Exxonmobil Upstream Research Company | System and method for providing data corresponding to physical objects |
US8731875B2 (en) | 2010-08-13 | 2014-05-20 | Exxonmobil Upstream Research Company | System and method for providing data corresponding to physical objects |
US9208137B2 (en) * | 2010-08-19 | 2015-12-08 | Cadence Design Systems, Inc. | Method to preview an undo/redo list |
US9593558B2 (en) | 2010-08-24 | 2017-03-14 | Exxonmobil Upstream Research Company | System and method for planning a well path |
CA2823017A1 (en) | 2011-01-26 | 2012-08-02 | Exxonmobil Upstream Research Company | Method of reservoir compartment analysis using topological structure in 3d earth model |
AU2011360212B2 (en) | 2011-02-21 | 2017-02-02 | Exxonmobil Upstream Research Company | Reservoir connectivity analysis in a 3D earth model |
US9223594B2 (en) | 2011-07-01 | 2015-12-29 | Exxonmobil Upstream Research Company | Plug-in installer framework |
US9948988B2 (en) | 2011-10-04 | 2018-04-17 | Ricoh Company, Ltd. | Meeting system that interconnects group and personal devices across a network |
US9311623B2 (en) | 2012-02-09 | 2016-04-12 | International Business Machines Corporation | System to view and manipulate artifacts at a temporal reference point |
US9223483B2 (en) | 2012-02-24 | 2015-12-29 | Blackberry Limited | Method and apparatus for providing a user interface on a device that indicates content operators |
EP2631760A1 (en) | 2012-02-24 | 2013-08-28 | Research In Motion Limited | Method and apparatus for providing a user interface on a device enabling selection of operations to be performed in relation to content |
WO2013169429A1 (en) | 2012-05-08 | 2013-11-14 | Exxonmobile Upstream Research Company | Canvas control for 3d data volume processing |
US9348512B2 (en) * | 2012-08-08 | 2016-05-24 | Nuance Communications, Inc. | Methods for facilitating text entry |
US9098106B2 (en) | 2012-08-10 | 2015-08-04 | Comsol Ab | Systems and methods for creating application interfaces for forming and solving problems in a modeling system |
TW201407384A (zh) * | 2012-08-14 | 2014-02-16 | Hon Hai Prec Ind Co Ltd | 網頁流程圖編輯方法及系統 |
US10650177B2 (en) | 2012-12-20 | 2020-05-12 | Comsol Ab | System and method for creating application interfaces for multiphysics modeling |
US9336234B2 (en) | 2013-02-22 | 2016-05-10 | Adobe Systems Incorporated | Online content management system with undo and redo operations |
JP2014203281A (ja) * | 2013-04-05 | 2014-10-27 | コニカミノルタ株式会社 | 操作制御方法及び操作制御プログラム並びに操作制御装置 |
WO2014200685A2 (en) | 2013-06-10 | 2014-12-18 | Exxonmobil Upstream Research Company | Interactively planning a well site |
US9703637B2 (en) | 2013-07-30 | 2017-07-11 | Apple Inc. | Undo system |
US9864098B2 (en) | 2013-09-30 | 2018-01-09 | Exxonmobil Upstream Research Company | Method and system of interactive drill center and well planning evaluation and optimization |
US11568436B2 (en) * | 2014-01-03 | 2023-01-31 | SoInteractive, SA | Creating an awards profile |
CN103761407B (zh) * | 2014-02-21 | 2016-05-25 | 武汉大学 | 一种复制式协同CAD系统中的多用户选择Undo和Redo方法 |
US20150286349A1 (en) * | 2014-04-02 | 2015-10-08 | Microsoft Corporation | Transient user interface elements |
US10528249B2 (en) | 2014-05-23 | 2020-01-07 | Samsung Electronics Co., Ltd. | Method and device for reproducing partial handwritten content |
US9652678B2 (en) | 2014-05-23 | 2017-05-16 | Samsung Electronics Co., Ltd. | Method and device for reproducing content |
US10169054B2 (en) | 2014-12-22 | 2019-01-01 | International Business Machines Corporation | Undo and redo of content specific operations |
US9971994B2 (en) | 2015-07-27 | 2018-05-15 | International Business Machines Corporation | Undo stack to explore past actions in business analytics |
JP6564267B2 (ja) * | 2015-07-31 | 2019-08-21 | キヤノン株式会社 | 文書作成装置、方法およびプログラム |
US11102313B2 (en) * | 2015-08-10 | 2021-08-24 | Oracle International Corporation | Transactional autosave with local and remote lifecycles |
US10582001B2 (en) | 2015-08-11 | 2020-03-03 | Oracle International Corporation | Asynchronous pre-caching of synchronously loaded resources |
US10452497B2 (en) * | 2015-08-14 | 2019-10-22 | Oracle International Corporation | Restoration of UI state in transactional systems |
US10419514B2 (en) | 2015-08-14 | 2019-09-17 | Oracle International Corporation | Discovery of federated logins |
US10007352B2 (en) * | 2015-08-21 | 2018-06-26 | Microsoft Technology Licensing, Llc | Holographic display system with undo functionality |
US10582012B2 (en) | 2015-10-16 | 2020-03-03 | Oracle International Corporation | Adaptive data transfer optimization |
US10733057B2 (en) * | 2015-10-30 | 2020-08-04 | Bently Systems, Incorporated | Techniques for application undo and redo using SQL patchsets or changesets |
US10089294B2 (en) * | 2015-12-30 | 2018-10-02 | Sap Se | Systems and methods for tracking and modifying actions in an action history |
JP6680026B2 (ja) * | 2016-03-23 | 2020-04-15 | 富士ゼロックス株式会社 | 情報処理装置及びプログラム |
US10664557B2 (en) | 2016-06-30 | 2020-05-26 | Microsoft Technology Licensing, Llc | Dial control for addition and reversal operations |
US11550994B2 (en) * | 2017-07-24 | 2023-01-10 | Oracle International Corporation | System and method with data entry tracker using selective undo buttons |
US10534759B1 (en) | 2018-08-23 | 2020-01-14 | Cohesity, Inc. | Incremental virtual machine metadata extraction |
US10796086B2 (en) * | 2018-08-25 | 2020-10-06 | Microsoft Technology Licensing, Llc | Selectively controlling modification states for user-defined subsets of objects within a digital document |
US10810035B2 (en) | 2019-02-27 | 2020-10-20 | Cohesity, Inc. | Deploying a cloud instance of a user virtual machine |
US11573861B2 (en) | 2019-05-10 | 2023-02-07 | Cohesity, Inc. | Continuous data protection using a write filter |
EP3764218A1 (de) * | 2019-07-11 | 2021-01-13 | Siemens Aktiengesellschaft | Verfahren zur rechnergestützten interaktion eines bedieners mit einem modell eines technischen systems |
JP7294043B2 (ja) * | 2019-10-08 | 2023-06-20 | コニカミノルタ株式会社 | 装置のテスト自動化のためのプログラムおよび方法ならびにスクリプト生成装置 |
US11250136B2 (en) | 2019-10-22 | 2022-02-15 | Cohesity, Inc. | Scanning a backup for vulnerabilities |
US11397649B2 (en) | 2019-10-22 | 2022-07-26 | Cohesity, Inc. | Generating standby cloud versions of a virtual machine |
US11487549B2 (en) | 2019-12-11 | 2022-11-01 | Cohesity, Inc. | Virtual machine boot data prediction |
WO2021223186A1 (en) | 2020-05-07 | 2021-11-11 | Citrix Systems, Inc. | Dynamic region based application operations |
US11768745B2 (en) | 2020-12-08 | 2023-09-26 | Cohesity, Inc. | Automatically implementing a specification of a data protection intent |
US11914480B2 (en) | 2020-12-08 | 2024-02-27 | Cohesity, Inc. | Standbys for continuous data protection-enabled objects |
US11614954B2 (en) * | 2020-12-08 | 2023-03-28 | Cohesity, Inc. | Graphical user interface to specify an intent-based data management plan |
US11481287B2 (en) | 2021-02-22 | 2022-10-25 | Cohesity, Inc. | Using a stream of source system storage changes to update a continuous data protection-enabled hot standby |
CN113377364B (zh) * | 2021-04-29 | 2022-10-11 | 上海工程技术大学 | 基于节点历史值的树形结构组织编辑操作回撤方法 |
CN113836875B (zh) * | 2021-09-16 | 2023-08-22 | 网易(杭州)网络有限公司 | 文本处理方法、系统、装置、存储介质 |
CN114816593A (zh) * | 2022-06-27 | 2022-07-29 | 天津联想协同科技有限公司 | 一种命令的执行方法、装置及可读存储介质 |
Family Cites Families (43)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5481710A (en) * | 1992-09-16 | 1996-01-02 | International Business Machines Corporation | Method of and system for providing application programs with an undo/redo function |
US5659747A (en) * | 1993-04-22 | 1997-08-19 | Microsoft Corporation | Multiple level undo/redo mechanism |
US5666503A (en) * | 1994-11-14 | 1997-09-09 | Xerox Corporation | Structured image (SI) image editor and method for editing structured images |
US5701472A (en) * | 1995-06-09 | 1997-12-23 | Unisys Corporation | Method for locating a versioned object within a version tree depicting a history of system data and processes for an enterprise |
US6014343A (en) * | 1996-10-31 | 2000-01-11 | Geoquest | Automatic non-artificially extended fault surface based horizon modeling system |
US6108668A (en) * | 1997-04-18 | 2000-08-22 | International Business Machines Corporation | Method and system for undoing edits within selected portion of electronic documents |
US5990906A (en) * | 1997-06-25 | 1999-11-23 | National Instruments Corporation | Undo feature for a graphical programming system |
US6195092B1 (en) * | 1997-07-15 | 2001-02-27 | Schlumberger Technology Corporation | Software utility for creating and editing a multidimensional oil-well log graphics presentation |
US6191787B1 (en) * | 1998-02-10 | 2001-02-20 | Schlumberger Technology Corporation | Interactively constructing, editing, rendering and manipulating geoscience models |
US6052531A (en) * | 1998-03-25 | 2000-04-18 | Symantec Corporation | Multi-tiered incremental software updating |
US6088694A (en) * | 1998-03-31 | 2000-07-11 | International Business Machines Corporation | Continuous availability and efficient backup for externally referenced objects |
JP2951312B1 (ja) * | 1998-04-03 | 1999-09-20 | 株式会社トヨタケーラム | チーム形式設計用cadシステム |
GB2352036B (en) * | 1998-05-04 | 2002-11-27 | Schlumberger Evaluation & Prod | Near wellbore modelling method and apparatus |
US6201884B1 (en) * | 1999-02-16 | 2001-03-13 | Schlumberger Technology Corporation | Apparatus and method for trend analysis in graphical information involving spatial data |
US7437525B2 (en) * | 2001-05-31 | 2008-10-14 | Oracle International Corporation | Guaranteed undo retention |
US7203866B2 (en) * | 2001-07-05 | 2007-04-10 | At & T Corp. | Method and apparatus for a programming language having fully undoable, timed reactive instructions |
US6801230B2 (en) * | 2001-12-18 | 2004-10-05 | Stanley W. Driskell | Method to display and manage computer pop-up controls |
WO2004002044A2 (en) * | 2002-02-01 | 2003-12-31 | John Fairweather | A system for exchanging binary data |
US20040006763A1 (en) * | 2002-06-28 | 2004-01-08 | Van De Vanter Michael L. | Undo/redo technique with insertion point state handling for token-oriented representation of program code |
US7003695B2 (en) * | 2002-10-03 | 2006-02-21 | Seiko Epson Corporation | Undo/redo algorithm for a computer program |
US20040225998A1 (en) * | 2003-05-06 | 2004-11-11 | Sun Microsystems, Inc. | Undo/Redo technique with computed of line information in a token-oriented representation of program code |
US7207034B2 (en) * | 2003-06-23 | 2007-04-17 | Microsoft Corporation | Undo infrastructure |
US7293254B2 (en) * | 2003-09-18 | 2007-11-06 | Microsoft Corporation | Extensibility application programming interface and framework for meta-model objects |
US7526750B2 (en) * | 2003-10-15 | 2009-04-28 | Microsoft Corporation | Object-based systematic state space exploration of software |
US7565661B2 (en) * | 2004-05-10 | 2009-07-21 | Siew Yong Sim-Tang | Method and system for real-time event journaling to provide enterprise data services |
US7574419B2 (en) * | 2004-05-13 | 2009-08-11 | Oracle International Corporation | Automatic tuning of undo retention |
US7530052B2 (en) * | 2004-05-14 | 2009-05-05 | National Instruments Corporation | Creating and executing a graphical program with first model of computation that includes a structure supporting second model of computation |
US7506304B2 (en) * | 2004-05-14 | 2009-03-17 | National Instruments Corporation | Graphical data flow programming environment with first model of computation that includes a structure supporting second model of computation |
WO2006051965A1 (ja) * | 2004-11-12 | 2006-05-18 | Justsystems Corporation | データ処理装置およびデータ処理方法 |
US8392377B2 (en) * | 2004-11-23 | 2013-03-05 | Hewlett-Packard Development Company, L.P. | Method for performing a fine-grained undo operation in an interactive editor |
US7885939B2 (en) * | 2005-10-11 | 2011-02-08 | Oracle International Corporation | Longest query duration for auto tuning undo retention |
US20070171716A1 (en) * | 2005-11-30 | 2007-07-26 | William Wright | System and method for visualizing configurable analytical spaces in time for diagrammatic context representations |
US7567257B2 (en) * | 2005-12-16 | 2009-07-28 | Microsoft Corporation | Partition-based undo of partitioned object graph |
US20070174315A1 (en) * | 2006-01-18 | 2007-07-26 | Avraham Leff | Compressing state in database replication |
US20070192720A1 (en) * | 2006-02-14 | 2007-08-16 | Marshal Alsup | Correlation rule builder |
CA2560179A1 (en) * | 2006-09-20 | 2008-03-20 | Ibm Canada Limited - Ibm Canada Limitee | Temporal model exploring |
AU2006235850B2 (en) * | 2006-11-03 | 2012-12-20 | Canon Information Systems Research Australia Pty Ltd | Reviewing editing operations |
US8627268B2 (en) * | 2006-11-06 | 2014-01-07 | International Business Machines Corporation | System and method for a non-sequential undo mechanism |
US7900142B2 (en) * | 2007-01-15 | 2011-03-01 | Microsoft Corporation | Selective undo of editing operations performed on data objects |
US8566296B2 (en) * | 2007-09-14 | 2013-10-22 | Oracle International Corporation | Support for compensation aware data types in relational database systems |
US8095827B2 (en) * | 2007-11-16 | 2012-01-10 | International Business Machines Corporation | Replication management with undo and redo capabilities |
US7886021B2 (en) * | 2008-04-28 | 2011-02-08 | Oracle America, Inc. | System and method for programmatic management of distributed computing resources |
US8554800B2 (en) * | 2008-07-30 | 2013-10-08 | Portool Ltd. | System, methods and applications for structured document indexing |
-
2009
- 2009-11-03 US US12/611,199 patent/US20110107246A1/en not_active Abandoned
-
2010
- 2010-09-28 CA CA2715831A patent/CA2715831A1/en not_active Abandoned
- 2010-10-20 MX MX2010011515A patent/MX2010011515A/es not_active Application Discontinuation
- 2010-10-29 BR BRPI1004160-5A patent/BRPI1004160A2/pt not_active IP Right Cessation
- 2010-11-01 NO NO20101527A patent/NO20101527A1/no not_active Application Discontinuation
- 2010-11-03 GB GB1018512A patent/GB2476857A/en not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
NO20101527A1 (no) | 2011-05-04 |
CA2715831A1 (en) | 2011-05-03 |
BRPI1004160A2 (pt) | 2013-02-26 |
GB201018512D0 (en) | 2010-12-15 |
GB2476857A (en) | 2011-07-13 |
US20110107246A1 (en) | 2011-05-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
MX2010011515A (es) | Operaciones de deshacer/rehacer para datos de multi-objeto. | |
Heer et al. | Graphical histories for visualization: Supporting analysis, communication, and evaluation | |
US6289489B1 (en) | Method and apparatus for automatically cross-referencing graphical objects and HDL statements | |
CN1932803B (zh) | 文档编辑方法和装置 | |
US9104810B2 (en) | Creating a test case | |
Kreuseler et al. | A history mechanism for visual data mining | |
JPH04337843A (ja) | プログラム動作表示方法 | |
US7093207B1 (en) | Data analysis flow engine | |
Nancel et al. | Causality: A conceptual model of interaction history | |
US8677272B2 (en) | Graphical user interface design utility | |
US11514237B2 (en) | Spreadsheet and method for updating same | |
CN116627418B (zh) | 一种基于递归算法的多级表单界面可视化生成方法及装置 | |
US20090319955A1 (en) | Techniques for a navigation based design tool | |
JP4675639B2 (ja) | データ処理システム、アプリケーションプログラムのカスタマイズパラメータを表示する方法およびコンピュータプログラム製品 | |
Hlawatsch et al. | Visualizing the evolution of module workflows | |
WO2010132986A1 (en) | Method, apparatus and system for improved groundwater modeling | |
EP3786810A1 (en) | Automatic generation of computing artifacts for data analysis | |
Bueno et al. | Rewriting history: more power to creative people | |
JP2002108649A (ja) | トレース解析を支援するためのプログラムを記録した記録媒体及びプログラム製品 | |
JPS6315322A (ja) | コマンド履歴取得再利用方式 | |
Zhang | A new authoring system for diverse data visualization at scale | |
JPH0736684A (ja) | ドメイン指向部品管理方法 | |
CN117608536B (zh) | 缺口数据在线模版定制补录系统及其方法 | |
Kechaou et al. | Modularizing and layering metamodels with the modular EMF designer | |
Nocke et al. | Goals of analysis for visualization and visual data mining tasks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FA | Abandonment or withdrawal |