BR102012000929A2 - documentos não salvos - Google Patents

documentos não salvos Download PDF

Info

Publication number
BR102012000929A2
BR102012000929A2 BR102012000929A BR102012000929A BR102012000929A2 BR 102012000929 A2 BR102012000929 A2 BR 102012000929A2 BR 102012000929 A BR102012000929 A BR 102012000929A BR 102012000929 A BR102012000929 A BR 102012000929A BR 102012000929 A2 BR102012000929 A2 BR 102012000929A2
Authority
BR
Brazil
Prior art keywords
document
version
previous
user interface
displayed
Prior art date
Application number
BR102012000929A
Other languages
English (en)
Inventor
Ali T Ozer
Anthony Stephan Parker
Craig Federighi
Kevin Scott Perry
Mark Andrew Piccirelli
Original Assignee
Apple 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 Apple Inc filed Critical Apple Inc
Publication of BR102012000929A2 publication Critical patent/BR102012000929A2/pt

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/197Version control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Human Computer Interaction (AREA)
  • Document Processing Apparatus (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Processing Or Creating Images (AREA)

Abstract

patente de invenção: "documentos não salvos". a presente invenção refere-se aos documentos não salvos, que são apresentados. de acordo com algumas implementações, um método pode incluir exibir uma versão atual de um documento em uma primeira interface do usuário de um dispositivo de computação, receber uma indicação para exibir as versões salvas anteriormente do documento e, em resposta à recepção da indicação, exibir uma segunda interface do usuário que tem uma versão atual exibida em uma primeira parte da segunda interface do usuário e uma versão anterior específica do documento exibida em uma sequência de versões anteriores do documento em uma segunda parte da segunda interface do usuário. os métodos podem incluir salvar automaticamente os documentos e criar as versões dos documentos. um método pode incluir restaurar automaticamente o leiaute dos documentos em um visor. um meio legível por computador e um sistema para realizar os métodos também são apresentados.

Description

Relatório Descritivo da Patente de Invenção para "DOCUMENTOS NÃO SALVOS".
Referência Cruzada aos Pedidos Relacionados Este pedido reivindica a prioridade ao pedido provisório U.S. N° 61/433.183 intitulado "Saveless Documents", depositado no dia 14 de janeiro de 2011, estando a totalidade de seu conteúdo aqui incorporada a título de referência.
Antecedentes A apresentação, em geral, se refere ao gerenciamento de documento.
Os sistemas de computação convencionais permitem que os usuários criem e editem uma variedade de documentos. Por exemplo, os aplicativos de processamento de palavra permitem que os usuários criem e editem os documentos de texto. Os aplicativos de edição de imagem permitem que os usuários criem e editem os documentos de imagem. Os aplicativos em planilha permitem que os usuários criem e editem os documentos de planilha. Entretanto, os usuários podem não salvar os documentos com frequência o suficiente ou em momentos adequados. Assim, as edições ou as alterações aos documentos podem ser perdidas se um documento for fechado de forma inesperada, por exemplo, pelo sistema de computação. Sumário Os documentos não salvos são apresentados. De acordo com algumas implementações, um método pode incluir exibir uma versão atual de um documento em uma primeira interface do usuário de um dispositivo de computação, receber uma indicação para exibir as versões salvas anteriormente do documento em, em resposta à recepção da indicação, exibir uma segunda interface do usuário que tem uma versão atual exibida em uma primeira parte da segunda interface do usuário e uma versão anterior específica do documento exibida em uma sequência de versões anteriores do documento em uma segunda parte da segunda interface do usuário. O método pode incluir receber uma seleção de conteúdo na versão anterior específica do documento, copiar o conteúdo selecionado e colar o conteúdo sele- cionado na versão atual do documento.
De acordo com algumas implementações, o método pode incluir exibir o conteúdo de uma versão atual na primeira parte da segunda interface do usuário e exibir o conteúdo da versão anterior específica na segunda parte da segunda interface do usuário. O método pode incluir rolar pelo conteúdo da versão anterior específica e exibir o conteúdo da versão anterior específica enquanto rola pelo conteúdo.
De acordo com algumas implementações, o método pode incluir receber uma indicação para substituir uma versão atual do documento pela versão anterior específica e, em resposta à indicação, copiar a versão anterior específica do documento, marcar a versão atual como uma versão anterior e salvar a cópia da versão anterior específica como a versão atual. O método pode incluir rolar pelo sequência de versões anteriores do documento até que um documento em particular seja exibido. O método pode incluir adicionar uma nova versão anterior do documento à sequência de versões anteriores do documento, enquanto a sequência de versões anteriores do documento é exibida na segunda parte da segunda interface do usuário e exibir a nova versão anterior na sequência exibida de versões anteriores do documento.
De acordo com algumas implementações, um método pode incluir detectar em um dispositivo de computação um evento de controle de versão associado a um documento, em resposta à detecção do evento de controle de versão, copiar o documento e armazenar de forma persistente a cópia como uma versão anterior do documento. De acordo com algumas implementações, o evento de controle de versão não é associado a uma indicação explícita de um usuário para criar uma versão do documento. O evento de controle de versão pode ser uma abertura do documento, um fechamento do documento, um envio de e-mail do documento, uma impressão do documento, uma exclusão do documento, uma longa pausa na entrada do usuário ao documento, uma tentativa de editar um documento bloqueado. O método pode incluir gerar um rótulo para a versão anterior indicativa do evento de controle de versão e associar o rótulo à versão anterior do docu- mento.
De acordo com algumas implementações, um método pode incluir detectar em um dispositivo de computação um evento salvo associado a um documento e, em resposta à detecção do evento salvo, salvar o documento. De acordo com algumas implementações, o evento salvo não é associado a uma indicação explícita de um usuário para salvar o documento. O evento salvo pode ser um intervalo de tempo decorrido, uma pausa na entrada do usuário, um deslocamento de foco do documento, um fechamento do documento, uma impressão do documento, colar o conteúdo no documento, deletar o conteúdo do documento ou formatar o documento.
De acordo com algumas implementações, um método pode incluir exibir um ou mais documentos em um ou mais locais correspondentes em um visor de um dispositivo de computação e armazenar as informações do leiaute do documento que compreendem um ou mais identificadores que correspondem a um ou mais documentos e a um ou mais locais correspondentes.
Um método também pode incluir detectar um fechamento anormal de um ou mais documentos exibidos em um dispositivo de computação, obter as informações do leiaute do documento que compreendem um ou mais identificadores que correspondem a um ou mais documentos e a um ou mais locais para um ou mais documentos, exibir um ou mais documentos de acordo com as informações do leiaute do documento. A meio legível por computador não transitório que armazena as instruções para realizar os métodos e um sistema configurado para realizar os métodos também são apresentados. Várias implementações do assunto descrito aqui podem fornecer uma ou mais das vantagens apresentadas a seguir. Os documentos não salvos podem impedir uma perda de alterações feitas a um documento aberto em um aplicativo sensível ao não salvamento no evento de um término anormal do aplicativo mediante o salvamento de forma automática das alterações ao documento. Algumas implementações permitem que um usuário visualize, compare e interaja com as versões anteriores de um documento enquanto visualiza uma versão atuai do documento. Algumas implementações permitem que um usuário mude de uma versão específica de um documento para uma versão anterior de um documento e, então, mude de volta para a versão específica do documento.
Outras vantagens incluem livrar os usuários do fardo de gerenciar manuaimente múltiplas cópias dos arquivos de documento para ser capaz de recuperar as versões antigas que eles consideraram interessante em algum momento no passado. Adicionalmente, o usuário não é incomodado pelos alertas perguntando o que fazer com as alterações dos documentos não salvos ao fechar os documentos ou finalizar os aplicativos. O usuário não precisa saber e se preocupar em salvar as alterações do documento antes de fazer com que os documentos sejam lidos por outro aplicativo. Por exemplo, se o usuário arrastar um ícone de documentos de uma parte e deixá-lo em uma janela de edição de mensagem de e-mail para fazer um anexo, então, o anexo sempre incluirá todas as alterações que o usuário fez ao documento até aquele momento. Em outras palavras, a partir do ponto de vista do usuário, um documento conforme apresentado em uma janela do aplicativo é simplesmente a mesma coisa que o documento exibido na pasta, e vice-versa.
Os detalhes de uma ou mais implementações são demonstradas nos desenhos anexos e na descrição abaixo. Outras características, aspectos e vantagens em potencial ficarão evidentes a partir da descrição e dos desenhos e a partir das reivindicações.
Descrição dos Desenhos Afigura 1 ilustra um exemplo de interface gráfica de usuário para um aplicativo "sensível ao não salvamento"; a figura 2 é um diagrama em bloco de um exemplo de sistema de salvamento de documento automático; a figura 3 é um diagrama em bloco de um exemplo de sistema de controle de versão de documento automático; a figura 4 é um diagrama de fluxo de um exemplo de processo para salvar automaticamente os documentos; a figura 5 é um diagrama de fluxo de um exemplo de processo para criar automaticamente uma versão de documento; a figura 6 ilustra um exemplo de interface gráfica de usuário para exibir e interagir com as versões de documento; a figura 7 é um diagrama de fluxo de um exemplo de processo para exibir as versões de documento; a figura 8 é um diagrama de fluxo de um exemplo de processo para restaurar os leiautes do documento; a figura 9 é um diagrama em bloco de um exemplo de arquitetura de sistema que implementa as características e os processos das figuras 1 a 8.
Os números de referência iguais nos vários desenhos indicam os elementos iguais.
Descrição Detalhada Aplicativo Sensível ao não Salvamento Os documentos não salvos são apresentados. De acordo com algumas implementações, um ou mais aplicativos que criam, editam, exibem ou de outro modo manipulam ou modificam os documentos ou outro conteúdo pode ser "sensível ao não salvamento". Os aplicativos sensíveis ao não salvamento (por exemplo, salvamento automático) podem usar ou implementar uma estrutura de aplicativo ou interface de programação de aplicativo (API) que permite que o aplicativo sensível ao não salvamento salve automaticamente os documentos. Os aplicativos sensíveis ao não salvamento também podem criar e armazenar automaticamente as versões dos documentos, de modo que um usuário pode abrir, exibir e/ou interagir mais tarde com as versões anteriores de um documento. Os aplicativos sensíveis ao não salvamento também podem fornecer os elementos de interface de usuário (por exemplo, botões ou itens do menu pull-down) que permitem que o usuário acesse, visualize e/ou interaja com uma ou mais versões anteriores de um documento atualmente aberta no aplicativo sensível ao não salvamento.
Além disso, em algumas implementações, um aplicativo sensível ao não salvamento automaticamente salva as posições dos documentos abertos em um visor e restaura os documentos para as suas posições salvas, por exemplo, depois de um fechamento anormal dos documentos. Essas e outras características adicionais são apresentadas em mais detalhes no texto que segue.
Afigura 1 ilustra um exemplo de interface gráfica de usuário 100 para um aplicativo "sensível ao não salvamento". A interface gráfica de usuário 100 inclui uma área de exibição do documento 102. Por exemplo, a área de exibição do documento 102 pode exibir os documentos de um tipo associado ao aplicativo sensível ao não salvamento em particular. Por exemplo, se o aplicativo sensível ao não salvamento for um editor de texto, a área de exibição do documento 102 pode exibir um documento de texto. Se o aplicativo sensível ao não salvamento for um aplicativo de edição de imagem, a área de exibição do documento 102 pode exibir uma imagem. Outros tipos de aplicativos podem ser sensíveis ao não salvamento. Assim, outros tipos de documentos podem ser exibidos na área de exibição do documento 102. A interface gráfica de usuário 100 também inclui uma área de status do documento 104. A área de status do documento 104 exibe o estado do documento atualmente aberto exibido na área de exibição do documento 102. Por exemplo, se o documento exibido foi modificado, mas não foi salvo, a área de status do documento 104 pode exibir um indicador textual· (como "Editado" ou "Modificado") do status modificado.
Em algumas implementações, a área de status do documento 104 pode exibir um status "Bloqueado". Por exemplo, se o documento aberto exibido na área de exibição 102 não foi editado para um período de tempo específico (como uma hora, dia, ano ou mais), o documento pode ser posicionado em um estado "Bloqueado" pelo aplicativo sensível ao não salvamento e o aplicativo sensível ao não salvamento pode exibir a palavra "Bloqueado" na área de status do documento 104. Por exemplo, um usuário pode não ser permitido editar um documento bloqueado sem primeiro desbloquear o documento ou gerar uma cópia do documento. Se o documento exibido na área de exibição do documento 104 não for bloqueado ou editado, a área de status do documento 104 pode ficar vazia. Por exemplo, a área de status do documento 104 pode não exibir qualquer texto de status se o documento não for bloqueado e não foi editado. A interface gráfica de usuário 100 também inclui um elemento de interface de usuário 106 para acessar o menu 108. O menu 108 pode incluir um item de menu para desbloquear um documento bloqueado. Por exemplo, se um documento exibido estiver em um estado bloqueado, um usuário pode acessar o menu 108 com o uso do elemento de interface 106 e selecionar um item de menu "Desbloqueado" para desbloquear e permitir a edição de um documento bloqueado.
Um documento bloqueado pode ser duplicado para permitir a edição do documento duplicado. Por exemplo, um usuário pode desejar editar um documento bloqueado e também desejar salvar a versão atualmente bloqueada do documento. Tanto para editar quanto para salvar a versão atualmente bloqueada do documento, um usuário pode acessar o menu 108 com o uso do elemento de interface 106 e selecionar um item de menu "Duplicar". Quando o item de menu "Duplicar" é selecionado, o aplicativo sensível ao não salvamento copia a versão bloqueada e apresenta a cópia ao usuário de modo que o usuário pode editar a cópia. Em algumas implementações, um usuário é automaticamente avisado para desbloquear ou duplicar um documento bloqueado quando um usuário tenta editar um documento bloqueado. Por exemplo, se um usuário tenta editar um documento bloqueado um menu pop-up pode ser exibido, que avisa o usuário para desbloquear ou duplicar a versão atual bloqueada do documento.
Um documento pode ser bloqueado por um usuário. Por exemplo, um usuário pode selecionar um elemento de interface de usuário "Bloquear" para fazer com que o documento seja bloqueado. Um documento também pode ser bloqueado se a localização onde o documento é armazenado não for mais acessível. Por exemplo, se o documento for armazenado em um dispositivo de armazenamento de rede e o dispositivo de armazenamento de rede não for mais acessível, o documento pode ser posicionado em um estado bloqueado. Se um usuário tentar editar um documento blo- queado, o usuário pode ser avisado para desbloquear o documento e fornecer um local de armazenamento alternativo para o documento. Uma vez que o local de armazenamento alternativo é fornecido pelo usuário, o documento bloqueado pode ser duplicado e armazenado no local alternativo e o usuário pode ser permitido seguir com a edição do documento duplicado desbloqueado. O menu 108 pode permitir que um usuário acesse as versões anteriores do documento atualmente exibido. Por exemplo, para acessar as versões anteriores do documento atualmente exibido, um usuário pode acessar o menu 108 com o uso do elemento de interface 106 e selecionar um item de menu "Versões" ou "Revisões". Em resposta à seleção de um usuário para o item de menu "Revisões", uma interface de gerenciamento de versão pode ser exibida, conforme descrito em detalhes abaixo com referência às figuras 6 e 7.
Salvamento Automático do Documento Afigura 2 é um diagrama de blocos 200 que ilustra um exemplo de salvamento automático do documento. Um aplicativo "sensível ao não salvamento" executado por um sistema de computador pode ser configurado para salvar automaticamente um documento aberto no aplicativo em resposta à detecção de um ou mais eventos salvos no sistema. Na etapa 204 do diagrama 200, o documento 202 pode ser aberto em um aplicativo sensível ao não salvamento em um sistema de computador.
No bloco 206, um evento salvo pode ser detectado pelo aplicativo sensível ao não salvamento executado no sistema. Um evento salvo pode incluir, por exemplo, um intervalo de tempo decorrido, uma pausa na entrada do usuário, um deslocamento de foco do documento, um fechamento do documento, uma impressão do documento, colar o conteúdo no documento, deletar o conteúdo do documento ou formatar o documento. Por exemplo, o aplicativo sensível ao não salvamento pode ser configurado para salvar automaticamente o documento o a cada cinco minutos.
Se um usuário estiver digitando em um documento de texto e parar (por exemplo, para pensar, para tomar uma xícara de café, ou para revisar), o aplicativo sensível ao não salvamento pode detectar a pausa na entrada do usuário e automaticamente salvar o documento. Se um usuário parar de interagir com a janela do documento e começar a interagir com outra janela ou aplicativo aberto no sistema de computador, o aplicativo sensível ao não salvamento pode detectar o deslocamento no foco (ou perda do foco no documento) e salvar o documento. Quando um usuário fecha um documento, imprime um documento, cola o conteúdo em um documento, deleta o conteúdo de um documento, ou formata o documento, o aplicativo sensível ao não salvamento pode detectar essas alterações no documento e identificá-las como elementos salvos.
Em algumas implementações, um aplicativo sensível ao não salvamento pode ser configurado para salvar um documento com base em um intervalo de tempo. Por exemplo, quando o intervalo de tempo expira, o documento pode ser salvo. Se o usuário interage de alguma forma com o documento, mediante a digitação ou o rolamento, por exemplo, então, o salvamento de forma automática pode ser adiado por um período de tempo de modo que a operação de salvamento não corre enquanto um usuário está interagindo com o documento. Assim, salvar automaticamente um documento enquanto um usuário está usando ativamente o aplicativo ou o documento pode ser evitado.
Em algumas implementações, o período de tempo para aditar o salvamento automático pode ser determinado com base no algoritmo a seguir. A variável 'x' representa o intervalo de tempo (em segundos) especificado pelo aplicativo para esperar pelo salvamento automático. Se um valor de intervalo de tempo não for especificado por um aplicativo, um intervalo de tempo padrão pode ser usado (por exemplo, 30 segundos). A variável ’y' representa a quantidade máxima de tempo entre os salvamentos automáticos. Por exemplo, a quantidade máxima de tempo entre os salvamentos automáticos pode ser de 5 minutos; se cinco minutos passar sem um salvamento, um salvamento automático pode ser realizado.
De acordo com algumas implementações, o algoritmo a seguir pode ser usado. Por exemplo, quando uma alteração em um documento é detectada, um temporizador pode ser iniciado para executar por x segundos. Se um usuário interagir com o documento, o temporizador pode ser adiado por x segundos. Se o tempo desde um salvamento automático for maior que y*(1/2), o temporizador pode ser adiado por x/2 segundos. Se o tempo desde um salvamento automático for maior que y*(7/8), o temporizador pode ser adiado por x/8 segundos. Se o tempo calculado irá colocar o salvamento automático mais de y segundos depois do salvamento anterior automático, haverá um corte no tempo de modo que não haja mais de y segundos desde o salvamento automático anterior.
Um salvamento automático pode ser acionado por outros eventos de salvamento, como a mudança para ouro aplicativo, outro aplicativo que indica que ele quer ler o conteúdo mais atual deste arquivo (leitura coordenada), antes das operações que mudam o conteúdo do arquivo automaticamente (por exemplo, revertendo), ou antes que um usuário desligue o seu computador, por exemplo.
Em algumas implementações, os aplicativos sensíveis ao não salvamento podem salvar automaticamente os documentos com base nas características de potência do dispositivo de computação no qual o aplicativo sensível ao não salvamento está sendo executado. Em algumas implementações, a frequência de salvamentos automáticos pode ter como base a condição de se a fonte de alimentação é uma batería ou tomada de parede. Por exemplo, se a fonte de alimentação for uma bateria, os salvamentos automáticos podem ser realizados com menos frequência do que se a fonte de alimentação for uma tomada de parede, de modo a fazer com a bateria dure mais.
Em algumas implementações, os salvamentos automáticos podem ter como base a quantidade de potência que resta em uma bateria que alimenta o dispositivo de computação. Por exemplo, um aplicativo sensível ao não salvamento pode salvar automaticamente um arquivo quando o percentual de carga restante em uma bateria de computador alcança um número pequeno (por exemplo, 5% ou 10% de carga restante) ou quando uma notificação de baixa bateria é recebida, de modo que as alterações em um documento não serão perdidas se a batería acabar. Em algumas implementações, os salvamentos automáticos podem ser realizados com cada vez menos frequência à medida que a potência restante na bateria diminui.
Os aplicativos sensíveis ao não salvamento também podem ser coordenados com outros eventos de sistema para ter vantagem de forma mais eficiente de outra atividade de disco ou CPU. Por exemplo, um aplicativo sensível ao não salvamento pode perceber quando o uso de uma CPU de um computador alcança uma pequena porcentagem (por exemplo, 20% ou 30% de uso de CPU) e ter vantagem do baixo uso de CPU para salvar automaticamente um documento aberto. Em algumas implementações, os aplicativos sensíveis ao não salvamento podem agrupar um conjunto de salvamentos de documento para melhorar a eficiência de potência ou ter vantagem sobre os recursos do sistema não aproveitados plenamente (por exemplo, baixo uso de CPU, de memória, ou de bateria).
No bloco 208, o documento 202 pode ser salvo pelo aplicativo sensível ao não salvamento executado no sistema de computador que resulta no documento salvo 210. Por exemplo, se um evento salvo for detectado, o aplicativo sensível ao não salvamento pode salvar automaticamente o documento de modo que o usuário não perderá as alterações feitas no documento se o documento ou o aplicativo sensível ao não salvamento passar por uma finalização ou fechamento anormal que pode, de outro modo, fazer com que as alterações no documento 202 sejam perdidas. O documento salvo 210 pode ser salvo ou armazenado em um dispositivo de armazenamento local, como um disco rotativo ou meio de estado sólido. O documento salvo 210 pode ser salvo ou armazenado em um dispositivo de armazenamento remoto, como um servidor de rede ou outro armazenamento de rede. Em algumas implementações, o documento 202 é salvo apenas se o aplicativo sensível ao não salvamento determinar que foram feitas alterações ao documento 202 desde o último salvamento. Em outras implementações, o documento sensível ao não salvamento salva o documento 202 quando um evento salvo é detectado, independente de se as alterações foram feitas ao documento 202. A figura 4 é um diagrama de fluxo de um exemplo de processo 400 para salvar automaticamente os documentos. O processo 400 pode ser realizado, por exemplo, com o uso de um ou mais dispositivos de computação. Na etapa 402 um documento é aberto. Por exemplo, um aplicativo sensível ao não salvamento pode abrir e exibir um documento, conforme descrito com referência à figura 1. Na etapa 404, um evento salvo é detectado. Por exemplo, um evento salvo, como aqueles descritos com referência à figura 2, pode ser detectado. A detecção do evento salvo pode acionar o aplicativo sensível ao não salvamento para salvar o documento aberto na etapa 406. Em algumas implementações, um documento somente será salvo se o documento foi editado, modificado ou alterado desde a última vez que o documento foi salvo. Em outras implementações, o documento será salvo independente de se quaisquer alterações foram feitas ao documento desde a última vez que o documento foi salvo.
Controle de Versão Automático de Documento A figura 3 é um diagrama em bloco que ilustra um exemplo de sistema de controle de versão de documento automático. Um aplicativo "sensível ao não salvamento" executado por um sistema de computador pode ser configurado para automaticamente criar e salvar uma versão de um documento aberto no aplicativo em resposta à detecção de um ou mais eventos de controle de versão no sistema. No bloco 304 do diagrama 300, o documento 302 é aberto. Por exemplo, o documento 302 pode ser aberto em um aplicativo sensível ao não salvamento em um sistema de computador.
No bloco 306, um evento de controle de versão é detectado. Um evento de controle de versão pode incluir, por exemplo, uma abertura do documento, um fechamento do documento, um envio de e-mail do documento, uma impressão do documento, a exclusão do documento, uma longa pausa na entrada do usuário ao documento (por exemplo, uma pausa de uma hora ou mais), uma tentativa de editar um documento bloqueado. Por exemplo, se o usuário envia um e-mail com um documento, a versão do documento do email pode ser armazenada de modo que o usuário pode ver qual versão do documento foi enviada no e-mail. Como outro exemplo, um usuário pode estar trabalhando em um documento e, em seguir, sair para almoçar por uma hora. O intervalo pode acionar uma versão do documento para ser gerada e armazenada. Um evento de controle de versão pode ser definido por pausas mais longas ou mais curtas na entrada do usuário.
De acordo com algumas implementações, uma versão de um documento é gerada e armazenada em resposta a uma tentativa do usuário de editar um documento bloqueado. Por exemplo, se um usuário abrir um documento que não foi editado por um período de tempo específico (um dia, uma semana, um mês, etc.) o documento pode ser aberto como um documento bloqueado. Se o usuário tentar editar o documento bloqueado, uma versão do documento pode ser gerada e armazenada de modo que o usuário pode revisar a versão anterior do documento. A versão do documento bloqueado pode ser automaticamente gerada em resposta à tentativa do usuário de editar o documento bloqueado ou o usuário pode ser aviso para criar uma cópia da versão do documento.
De acordo com algumas implementações, reverter para uma versão anterior do documento faz com que uma versão do documento seja gerada e armazenada. Por exemplo, se um usuário reverter para uma versão anterior do documento, os conteúdos da versão atual do documento podem ser preservadas como uma versão do documento antes de reverter a versão anterior. Nomear o renomear um documento pode fazer com que uma versão do documento seja gerada e armazenada. Por exemplo, uma nova versão de um documento pode ser gerada e armazenada em resposta ao ato de nomear o documento pela primeira vez. Bloquear o documento pode fazer com que uma versão do documento seja gerada e armazenada. Por exemplo, em resposta ao bloqueio do documento de forma automática pelo usuário, uma nova versão do documento bloqueado pode ser gerada e armazenada.
De acordo com algumas implementações, deletar o documento de um dispositivo de armazenamento (disco rígido) faz com que a versão do documento seja gerada e armazenada. Por exemplo, uma operação de exclusão pode ser interceptada (por exemplo, com o uso de "kernel hook") e uma cópia do documento gerada antes de finalizar a operação de exclusão.
Os eventos de controle de versão podem ser configurados. Por exemplo, um usuário pode capaz de configurar um aplicativo sensível ao não salvamento para gerar e armazenar as versões de um arquivo com base em um subconjunto dos eventos de controle de versão mencionados acima. Um usuário pode ser capaz de especificar um novo ou um evento adicional de controle de versão com base em uns critérios fornecidos.
De acordo com algumas implementações, um usuário pode explicitamente gerar e armazenar uma versão de um documento. Por exemplo, um usuário pode selecionar um elemento de interface de usuário para salvar uma versão do documento. Em algumas implementações, um usuário pode salvar uma versão com um comentário associado. Por exemplo, um usuário pode explicitamente salvar uma versão do documento e fornecer um comentário para a versão. Em algumas implementações, uma versão comentada de um documento pode ser mantida até que o usuário a exclua.
No bloco 308, uma versão do documento é gerada e armazenada. Por exemplo, em resposta à detecção de um evento de controle de versão, um aplicativo sensível ao não salvamento pode gerar automaticamente uma cópia do documento e armazenar a cópia como uma versão anterior do documento. Como um resultado, a versão de documento 310 é gerada.
Muitas versões idênticas de um documento podem ser geradas. Por exemplo, as sucessivas aberturas de um documento sem interferir edições podem produzir versões idênticas do documento. Alternativamente, em algumas implementações, as novas versões somente são geradas se houver alguma alteração feita em relação à versão anterior. Os limites podem ser posicionados no número de versões idênticas de um documento. Por exemplo, o sistema pode ser configurado tal que um máximo de três versões idênticas do documento pode ser armazenadas.
De acordo com algumas implementações, as versões de um documento podem ser inteligentemente cortadas ou excluídas da versão de armazenamento. Por exemplo, a versão de armazenamento é um conjunto de versões de documento. A versão de armazenamento pode ser cortada de modo que as versões do documento mais interessantes (por exemplo, a mais importante) são preservadas e as versões do documento menos interessantes (por exemplo, a menos importante) são deletadas. Uma versão de um documento pode ser marcada como cortada (excluída). Uma versão cortada ou excluída de um documento pode ser deletada em qualquer momento.
As regras a seguir podem ser usadas para determinar quais documentos são excluídos ou cortados. Por exemplo, as versões com os comentário nunca são excluídas automaticamente. O usuário pode deletar as versões comentadas manuaímente, se desejar. Pelo menos uma versão de um documento por hora pelo último dia é retida na versão de armazenamento. Pelo menos uma versão de um documento por dia pelo último mês é retida na versão de armazenamento. Pelo menos uma versão de um documento por semana para as versões de documento mais antigas que um mês é retida na versão de armazenamento. As versões que representam o documento de trabalho atual pelas duas últimas vezes que ele foi aberto são retidas na versão de armazenamento. As versões que representam uma ação explícita do usuário (por exemplo, reverter, renomear, bloquear) podem ser retidas pelas versões que foram criadas automaticamente. As versões de um documento que não se encaixam em uma das categorias acima podem ser marcadas como excluídas ou cortadas. A figura 5 é um diagrama de fluxo de um exemplo de processo 500 para criar automaticamente uma versão de documento. Na etapa 502 um documento é aberto. Por exemplo, um documento pode ser aberto em um aplicativo sensível ao não salvamento. Na etapa 504, um evento de controle de versão é detectado. Por exemplo, o evento de controle de versão pode ser um dos eventos de controle de versão descritos acima com referência à figura 3. Na etapa 506, uma cópia do documento é gerada. Por exemplo, em resposta à detecção de um evento de controle de versão, uma cópia do documento pode ser gerada. A cópia do documento pode ser uma cópia de todo o documento. Alternativamente, a cópia do documento pode se referir apenas ao armazenamento das diferenças entre o documento e uma versão anterior do documento. Na etapa 508, a cópia é armazenada como uma versão anterior do documento. Por exemplo, a cópia pode ser armazenada como uma versão do documento e o usuário pode continuar a editar a versão do documento atualmente aberta e exibida. Uma versão anterior do documento pode ser mais tarde recuperada e visualizada por um usuário mediante o uso da interface de gerenciamento de versão apresentada abaixo, por exemplo. Onde apenas as diferenças entre as versões de documento são armazenadas, uma versão do documento em particular pode ser reconstruída com base nas diferenças armazenadas.
Interface de Gerenciamento de Versão A figura 6 ilustra um exemplo de interface gráfica de usuário 600 para exibir e interagir com as versões de documento; Por exemplo, a interface de usuário 600 pode ser exibida em resposta à seleção do usuário do item de menu "Revisões" ou "Versões", por exemplo, do menu 108 da figura 1 ou outro menu.
Um documento de trabalho atuai 602 (por exemplo, o documento atualmente aberto no aplicativo sensível ao não salvamento) é representado na área 614 da interface de usuário 600. Por exemplo, a área 614 pode ser posicionada na interface de usuário 600 à direita, à esquerda, no topo ou no fundo da interface 600. Quando a interface 600 executa um comando (por exemplo, através de uma seleção do menu 108 pelo usuário), o documento de trabalho atual 602 pode ser animado para se mover a partir da sua posição atual no visor para a área 614. O rótulo 624 pode ser exibido próximo à área 614 e ao documento de trabalho atual 602. O rótulo 624 pode exibir as informações de identificação associadas ao documento de trabalho atual 602 (por exemplo, a rotulagem do documento 602 como uma versão atual do documento).
As revisões, ou as versões do documento de trabalho atuai 602 são exibidas na área 616. Por exemplo, as versões do documento de trabalho atual 602 que são automaticamente geradas conforme descrito com referência à figura 2 e à figura 4 podem ser exibidas na área 616. As versões ou as revisões do documento, 604-612, podem ser geradas por um único apli- cativo ou muitos aplicativos diferentes que permitem que o usuário edite e salve as versões do documento de trabalho atual 602.
As revisões do documento podem ser recuperadas de um dispositivo de armazenamento local ou de um dispositivo de armazenamento de rede. As revisões do documento podem ser obtidas a partir de um iocai de reserva de pasta ou arquivo de documento. A interface de usuário 600 pode obter as versões de documento a partir de um ou mais locais de armazenamento e/ou de aplicativos de reserva de pasta ou arquivo (por exemplo, um servidor de arquivo de rede ou dispositivo de armazenamento local).
Quando a interface de usuário 600 executa um comando, as versões de documento 604-612 podem ser animadas para mudar para a vista na área da interface de usuário 616. As revisões do documento 604-612 podem ser exibidas na área 616 em ordem cronológica ou inversa à cronológica. Por exemplo, as revisões 604-612 podem ser exibidas na ordem com base no tempo que uma versão ou revisão em particular foi gerada. Os documentos 604-612 podem ser exibidos como uma sequência. Por exemplo, a sequência de documentos 604-612 pode ser exibida como uma sequência sobreposta de aplicativos, conforme exibido na figura 6.
Enquanto a sequência de versões de documento 604-612 é exibida, novas versões de documento geradas podem ser adicionadas à sequência exibida. Por exemplo, se outro aplicativo gerar uma nova versão associada ao documento de trabalho atual 602, a nova versão pode ser adicionada à sequência exibida de versões de documento 604-612. Alternativamente, em outro exemplo, se o usuário substituir a versão atual do documento por uma versão anterior do documento, a versão atual substituída do documento pode ser adicionada à sequência exibida de versões anteriores do documento para referência posterior. O rótulo 622 pode ser exibido próximo à área 616 e às versões de documento 604-612. O rótulo 622 pode exibir as informações de identificação associadas a uma versão selecionada de documento (por exemplo, a versão de documento 604) exibida na frente da versão de documento sequência 604-612. Por exemplo, o rótulo de versão pode indicar a data que a versão selecionada foi gerada ou a versão que gera o evento (por exemplo, o documento enviado por e-mail, o documento impresso, etc.).
As versões do documento 604-612 podem ser manipuladas. Por exemplo, um usuário pode rolar através da sequência exibida das versões de documento 604-612. O usuário pode mover através dos documentos fazendo com que os documentos apareçam no plano anterior ou no plano posterior do visor. Por exemplo, na figura 6, a versão de documento 604 é a versão de documento atualmente selecionada, pois ela está no primeiro plano da sequência de versões de documento e seu conteúdo é visível. Se um usuário desejar selecionar, visualizar e/ou manipular outra versão de documento, como a versão 608, o usuário pode rolar através da sequência de versões de documento até que a versão 608 esteja na frente da sequência e seus conteúdos fiquem visíveis.
Ao rolar de volta para a versão 608, as versões de documento 604 e 606 podem desaparecer no plano anterior (em direção ao usuário) e fora do visor. Se a versão de documento 608 for selecionada e for exibida na frente da sequência de documentos 604-612 (apenas as versões 608-612 podem ser exibidas quando 608 é selecionado) e o usuário desejar visualizar a versão 606 não mais visível, o usuário pode rolar de volta através da lista. Por exemplo, para visualizar a versão de documento 606, a sequência 604616 pode ser animada para se mover no plano posterior da interface de usuário 600. As versões do documento 608-612 podem se mover no plano posterior da interface de usuário 600 e a versão 606 pode ser adicionada à parte frontal da sequência exibida de versões de documento. O ato de rolar pela sequência de documentos pode ser feito pela entrada direta de um dispositivo de entrada (por exemplo, as teclas das setas do teclado ou a roda de scroll do mouse) ou mediante a manipulação da linha do tempo 618 ou do indicador de posição de linha do tempo 620. Por exemplo, um usuário pode usar um cursor para indicar uma posição na linha do tempo 610 (por exemplo, ao clicar em uma posição na linha do tempo 616). Em resposta à entrada pelo cursor na linha do tempo 610, uma versão de documento que corresponde à posição indicada pode ser selecionada e exibida na parte frontal da sequência de versões exibido na área 616. Por exemplo, se um usuário indicar uma posição na linha do tempo 618 que corresponde à versão de documento 610, a versão de documento 610 pode ser selecionada e exibida na parte frontal da sequência de versões 604-612.
Um usuário pode indicar uma posição na linha do tempo 618 com o uso do indicador de posição de linha do tempo 620. Por exemplo, um usuário pode fazer com que o indicador de posição 620 se mova ao longo da linha do tempo 618 (por exemplo, com o uso de um mouse ou de uma entrada pelo teclado) para uma posição na linha do tempo que corresponde à versão 612, fazendo com que a versão de documento 612 seja assim selecionada e exibida na parte frontal do documento versão sequência. Em algumas implementações, a seleção do usuário do indicador de posição pode causar uma ampliação da linha do tempo (por exemplo, com hashes individuais que representam as versões individuais quando houver um grande número de versões). O conteúdo de uma versão de documento atualmente selecionada (por exemplo, a versão de documento 604) pode ser visualizado e manipulado. Por exemplo, os conteúdos de uma versão de documento selecionada (a versão anterior do documento de trabalho atual) podem ser exibidos e rolados, de modo que um usuário pode revisar os conteúdos de versões anteriores do documento de trabalho atual. As versões anteriores do documento de trabalho atual não podem ser editadas, mas o conteúdo em particular pode ser selecionado e copiado para um local dentro do documento de trabalho atual 602.
Por exemplo, um usuário pode editar um documento e, então, decidir reverter para uma versão anterior do documento. Para isso, o usuário pode selecionar uma versão anterior do documento ao rolar pela sequência de versões 604-612. Uma vez que a versão anterior (por exemplo, a versão 610) é selecionada e exibida na parte frontal da sequência de versões, o usuário pode duplicar a versão anterior 610 e tornar a versão anterior 610 a versão de trabalho atual do documento. Por exemplo, o usuário pode selecionar o elemento de interface de usuário 626 para tornar a versão anterior do documento selecionada a versão de trabalho atual. Por exemplo, a seleção do elemento de interface de usuário 626 pode restaurar uma versão anterior 610 de um documento como a versão de trabalho atual do documento. O usuário pode, em seguida, editar o documento de trabalho atual 602 restaurado da versão anterior 610. O documento de trabalho atual 602 pode ser salvo como uma versão anterior antes de ser substituído como o documento de trabalho atual pela versão 610 duplicada. Assim, um usuário pode reverter de uma versão de trabalho atual de um documento de volta para uma versão anterior do documento e de volta (ou adiante) para a versão de trabalho atual do documento, pois uma versão do documento é salva em cada alteração ou evento significativo associado ao documento.
Um usuário pode interagir com uma versão anterior selecionada (por exemplo, a versão 604) do documento de trabalho atual 602. Por exemplo, um usuário pode selecionar e copiar o conteúdo da versão anterior de documento 604 e colar o conteúdo no documento de trabalho atual 602. Por exemplo, para uma versão de documento de texto, o usuário pode selecionar uma parte específica do texto (por exemplo, uma frase ou parágrafo) e copiar essa seleção a um local específico dentro do documento de trabalho atual 602. O usuário pode interagir com uma versão anterior selecionada e realizar quaisquer operações de edição no conteúdo da versão anterior do documento que não causa alterações à versão anterior do documento. Por exemplo, as versões anteriores de um documento podem ser somente para a leitura.
Um usuário pode fechar a interface de usuário 600 mediante a seleção de um elemento de interface de usuário 628. Por exemplo, o elemento de interface de usuário 628 pode ser um botão de fechar ou de cancelar que faz com que a interface de usuário 600 feche e a interface 100 da figura 1 seja exibida. Em algumas implementações, uma seleção do usuário do elemento de interface de usuário 626 pode fazer com que a interface de usuário 600 feche. Por exemplo, o elemento de interface de usuário 626 pode ser um botão de substituição que, quando selecionado, faz com que a versão atual de um documento seja substituída pela versão anterior selecio- nada do documento, faz com que a interface 600 feche e faz com que a interface 100 da figura 1 seja exibida tendo a versão anterior selecionada do documento exibida. A figura 7 é um diagrama de fluxo de um exemplo de processo 700 para exibir as versões de documento. Na etapa 702 uma versão atuai do documento é exibida. Por exemplo, a versão de trabalho atual de um documento pode ser exibida em uma interface de um aplicativo sensível ao não salvamento (por exemplo, a interface 100 da figura 1). Na etapa 704, uma indicação para exibir as versões anteriores do documento é recebida. Por exemplo, um usuário pode selecionar um elemento de interface de usuário ou um item de menu que indica que o usuário deseja visualizar as versões anteriores da versão de trabalho atual do documento.
Na etapa 706, a versão de trabalho atua! do documento e uma sequência de versões anteriores do documento são exibidas. Por exemplo, mediante a exibição tanto da versão de trabalho atual do documento quanto das versões anteriores do documento ao mesmo tempo na mesma interface, um usuário pode comparar as versões anteriores do documento à versão de trabalho atual do documento. Na etapa 708, uma operação pode ser realizada na versão de trabalho atual do documento e/ou nas versões anteriores do documento. Por exemplo, o usuário pode copiar o conteúdo das versões anteriores do documento e colar o conteúdo copiado na versão de trabalho atual.
Restauração do Lavout Automático do Documento A figura 8 é um diagrama de fluxo de um exemplo de processo 800 para restaurar os leiautes do documento. Na etapa 802 um ou mais documentos são exibidos. Por exemplo, múltiplos documentos podem ser exibidos em um visor de um dispositivo de computação. Os documentos podem ser exibidos nas múltiplas janelas do documento de um único aplicativo. Alternativamente, os documentos podem ser exibidos nas múltiplas janelas do documento de múltiplos aplicativo. Os aplicativos podem ser os aplicativos sensíveis ao não salvamentos, conforme descrito acima.
Na etapa 804, as posições do documento exibidos são determi- nadas. Por exemplo, as coordenadas das janelas do documento no visor podem ser determinadas. As coordenadas podem ser determinadas com base em um sistema de coordenadas Cartesianas. Por exemplo, as coordenadas podem ser determinadas como as coordenadas (x, y) que definem os locais no visor.
Na etapa 806, as informações do leiaute do documento são armazenadas. Por exemplo, as informações do leiaute do documento podem incluir os identificadores para os documentos exibidos e os locais de exibição correspondentes (por exemplo, as coordenadas x,y) para os documentos.
Na etapa 808, um fechamento anormal dos documentos ou aplicativos é detectado. Por exemplo, se um dispositivo de computação travar, mediante o qual um aplicativo está sendo executado, ou a fonte de alimentação do computador for interrompida, o dispositivo de computação pode parar de funcionar e os aplicativos que estão sendo executados no dispositivo de computação podem ser finalizados de forma anormal. Como outro exemplo, se um usuário executar um fechamento forçado em um aplicativo, o aplicativo pode ser finalizado de forma anormal. Ou seja, em resposta ao fechamento forçado ou ao travamento do dispositivo de computação, o aplicativo não é capaz de processar sua sequência de instruções de encerramento normal e, portanto, ele finaliza de forma anormal.
Um término anormal de um aplicativo pode ser indicado e detectado em uma variedade de maneiras. Por exemplo, um aplicativo pode ter um arquivo de status de aplicativo associado em um dispositivo de computação. O arquivo de status de aplicativo pode indicar o estado do aplicativo em vários momentos no processamento e pode indicar que a sequência de encerramento normal do aplicativo não foi realizada. O arquivo de status pode ler para determinar se um término anormal ocorreu. Alternativamente, um aplicativo pode simplesmente criar um arquivo em um sistema de computador quando o aplicativo está sendo executado e remover o arquivo durante o encerramento normal do aplicativo. Se o arquivo ainda existir no sistema de computador quando o aplicativo for iniciado, o aplicativo não processa um encerramento normal e um térmico anormal pode ser detectado.
Na etapa 810, as informações do leiaute do documento são obtidas. Por exemplo, mediante a detecção de um fechamento anormal na etapa 808, as informações do leiaute do documento armazenadas na etapa 806 podem ser obtidas. As informações do leiaute do documento podem incluir os identificadores de documento que permitem que o aplicativo localize os documentos exibidos anteriormente no armazenamento. As informações do leiaute do documento também podem incluir as informações de localização que permitem que o aplicativo exiba os documentos identificados nos seus locais anteriores no visor do dispositivo de computação.
Na etapa 812, a exibição do documento é restaurada. Por exemplo, com base nas informações do leiaute do documento obtidas na etapa 810, os documentos exibidos anteriormente podem ser restaurados nos seus locais de exibição anteriores no visor do dispositivo de computação.
As implementações também são descritas no apêndice A e no apêndice B anexos aqui.
Arquitetura de Sistema de Exemplo Afigura 9 é um diagrama em bloco de um exemplo de arquitetura de sistema 900 para implementar as características e os processos das figuras 1 a 8. A arquitetura 900 pode ser implementada em qualquer dispositivo eletrônico que executa os aplicativos de software derivados das instruções compiladas, incluindo sem limitação os computadores pessoais, os servidores, os smartphones, tocadores de mídia, os tablets eletrônicos, os consoles de jogo, os dispositivos de e-mail, etc. Em algumas implementações, a arquitetura 900 inclui um ou mais processadores 902, um ou mais dispositivos de entrada 904, um ou mais dispositivos de exibição 906, uma ou mais interfaces de rede 908 e um ou mais meios legíveis por computador 910. Cada um desses componentes pode ser acoplado pelo barramento 912. O dispositivo de exibição 906 pode ser qualquer tecnologia de exibição conhecida incluindo, mas não se limitando aos dispositivos de exibição com o uso da tecnologia de tela de cristal líquido (LCD) ou de diodo emissor de luz (LED). 0(s) processador(s) 902 pode(m) usar qualquer tecnologia de processador conhecida incluindo, mas não se limitando aos processadores gráficos e aos processadores de múltiplos núcleos. O dispositivo de entrada 904 pode ser qualquer tecnologia de dispositivo de entrada conhecida incluindo, mas não se limitando ao teclado (incluindo um teclado virtual), mouse, trackball, e visor ou tela sensível ou toque. O barramento 912 pode ser qualquer tecnologia de barramento interno ou externo conhecida incluindo, mas não se limitando a ISA, EISA, PCI, PCI Express, NuBus, USB, Serial ATA ou FireWire. O meio legível por computador 910 pode ser quaisquer meios que participam no fornecimento de instruções ao(s) processador(s) 902 para a execução, incluindo sem limitação, do meio de armazenamento não volátil (por exemplo, discos ópticos, discos magnéticos, unidades flash, etc.) ou meio volátil (por exemplo, SDRAM, ROM, etc.). O meio legível por computador 910 pode incluir várias instruções 914 para implementar um sistema operacional (por exemplo, Mac OS®, Windows®, Linux). O sistema operacional pode ser de multiusuários, de mul-tiprocessamento, de multitarefas, de multitransação, em tempo real e similares. O sistema operacional realiza as tarefas básicas incluindo, mas não se limitando a: reconhecer a entrada pelo dispositivo de entrada 904; enviar a saída ao dispositivo de exibição 906; manter o rastreamento dos arquivos e dos diretórios no meio legível por computador 910; controlar os dispositivos periféricos (por exemplo, as unidades de disco, as impressoras, etc.) que podem ser controladas diretamente ou através de um controlador de E/S; e gerenciar o tráfego no barramento 912. As instruções de comunicações de rede 916 podem estabelecer e manter as conexões de rede (por exemplo, o software para implementar os protocolos de comunicação, como TCP/IP, HTTP, Ethernet, etc.).
Um sistema de processamento gráfico 918 pode incluir as instruções que fornecem os gráficos e as capacidades de processamento de imagem. Por exemplo, o sistema de processamento gráfico 918 pode implementar os processos de retirada de uma nova amostra, conforme descrito com referência às figuras 1 a 8. 0(s) aplicativo(s) 920 pode(m) ser um aplicativo de processamento de imagem ou qualquer outro aplicativo que usa os processos de retirada de uma nova amostra descrito com referência às figuras 1 a 8, como um editor de foto ou de vídeo. Os processos de retirada de uma nova amostra também podem ser implementados no sistema operacional 914.
As características descritas podem ser implementadas de forma vantajosa em um ou mais programas de computador que podem ser executados em um sistema programável que inclui pelo menos um processador programável acoplado para receber os dados e as instruções dele e para transmitir os dados e as instruções para, um sistema de armazenamento de dados, pelo menos um dispositivo de entrada e pelo menos um dispositivo de saída. Um programa de computador é um conjunto de instruções que pode ser usado, diretamente ou indiretamente, em um computador para realizar uma determinada atividade ou obter um determinado resultado. Um programa de computador pode ser gravado em qualquer forma de linguagem de programação (por exemplo, Objective-C, Java), incluindo as linguagens compiladas ou interpretadas, e ele pode ser empregado sob qualquer forma incluindo um programa único ou como um módulo, um componente, uma subrotina, ou outra unidade adequada para o uso em um ambiente de computação.
Os processadores adequados para a execução de um programa de instruções incluem, a título de exemplo, tanto os microprocessadores de propósito gerai quanto os de propósito específico e o processador único ou um de múltiplos processadores ou núcleos de qualquer tipo de computador. Em geral, um processador receberá as instruções e os dados de uma memória somente para a leitura ou uma memória de acesso aleatório ou ambas. Os elementos essenciais de um computador são um processador para executar as instruções e um ou mais memórias para o armazenamento das instruções e dos dados. Em geral, um computador também incluirá ou será acoplado de forma operacional para se comunicar com um ou mais dispositivos de armazenamento em massa para armazenar os arquivos de dados de armazenamento; como os dispositivos que incluem os discos magnéticos, como os discos rígidos internos e os discos removíveis; os discos magneto-ópticos; e os discos ópticos. Os dispositivos de armazenamento adequados para concretizar de forma tangível as instruções e os dados do programa de computador incluem todas as formas de memória não volátil incluindo, a título de exemplo, os dispositivos de memória semicondutora, como EPROM, EEPROM, e os dispositivos de memória flash; os discos magnéticos, como os discos rígidos internos e os discos removíveis; os discos magneto-ópticos; e os discos de CD-ROM e de DVD-ROM. O processador e a memória podem ser suplementados por, ou incorporados em, ASICs (circuitos integrados de aplicação específica).
Para fornecer a interação com um usuário, as características podem ser implementadas em um computador que tem um dispositivo de exibição, como um monitor de CRT (tubo de raio de cátodo) ou LCD (tela de cristal líquido) para a exibição de informações ao usuário e um teclado e um dispositivo indicador, como um mouse ou trackbali, pelo qual o usuário pode fornecer a entrada ao computador.
As características podem ser implementadas em um sistema de computador que inclui um componente "back-end", como um servidor de dados, ou que inclui um componente de software de mediação, como um servidor de aplicativo ou um servidor de Internet, ou que inclui um componente de extremidade inicial, como um computador cliente que tem uma interface gráfica de usuário ou um navegador de Internet, ou qualquer combinação dos mesmos. Os componentes do sistema podem ser conectados por qualquer forma ou meio de comunicação digital de dados, como uma rede de comunicação. Os exemplos de redes de comunicação incluem, por exemplo, uma LAN, uma WAN, e os computadores e as redes que formam a Internet. O sistema de computador pode incluir os clientes e os servidores. Um cliente e um servidor são, em geral, remotos um do outro e, tipicamente, interagem através de uma rede. A relação entre o cliente e o servidor surge em virtude dos programas de computador sendo executados nos respectivos computadores e que têm uma relação cliente/servidor um com o outro.
Uma ou mais características de etapas das modalidades apresentadas podem ser implementadas com o uso de uma API. Uma API pode definir um ou mais parâmetros que passam entre um aplicativo de chamada e outro código de software (por exemplo, um sistema operacional, uma rotina de biblioteca, a função) que fornecem um serviço, que fornece os dados ou que realizam uma operação ou um cálculo. A API pode ser implementada como uma ou mais chamadas no código de programa que enviam ou recebem um ou mais parâmetros através de uma lista de parâmetro ou outra estrutura com base em uma convenção de chamada definida em um documento de especificação de API. Um parâmetro pode ser uma constante, uma tecla, uma estrutura de dados, um objeto, uma classe de objeto, uma variável, um tipo de dado, um indicador, um conjunto, uma lista ou outra chamada. As chamadas e os parâmetros de API podem ser implementados em qualquer linguagem de programação. A linguagem de programação pode definir a convenção de vocabulário e de chamada que um programador empregará ao acessar as funções que tem suporte para a API.
Em algumas implementações, uma chamada de API pode relatar a um aplicativo as capacidades de um dispositivo que está executando o aplicativo, como a capacidade de entrada, a capacidade de saída, a capacidade de processamento, a capacidade de potência, a capacidade de comunicação, etc.
Inúmeras implementações foram descritas. No entanto, ficará entendido que várias modificações podem ser feitas. Por exemplo, outras etapas podem ser fornecidas, ou as etapas podem ser eliminadas, do que foi descrito e outros componentes podem ser adicionados a ou removidos dos sistemas descritos. Cm conformidade, outras implementações estão dentro do escopo das reivindicações a seguir.
REIVINDICAÇÕES

Claims (29)

1. Método, que compreende: exibir uma versão atual de um documento em uma primeira interface do usuário de um dispositivo de computação; receber uma indicação para exibir as versões salvas anteriormente do documento; em resposta ao recebimento da indicação, exibir uma segunda interface do usuário que tem uma primeira parte e uma segunda parte, a versão atual do documento exibida na primeira parte da segunda interface do usuário e uma versão anterior específica do documento exibida em uma sequência de versões anteriores do documento na segunda parte da segunda interface do usuário.
2. Método, de acordo com a reivindicação 1, que compreende adicionalmente: receber uma seleção de conteúdo na versão anterior específica do documento; copiar o conteúdo selecionado; colar o conteúdo selecionado em uma versão atual do documento exibida na primeira parte da segunda interface do usuário.
3. Método, de acordo com a reivindicação 1, que compreende adicionalmente: exibir o conteúdo da versão atual do documento na primeira parte da segunda interface do usuário; exibir o conteúdo da versão anterior específica do documento na segunda parte da segunda interface do usuário.
4. Método, de acordo com a reivindicação 1, que compreende adicionalmente: rolar pelo conteúdo da versão anterior específica; exibir o conteúdo da versão anterior específica enquanto rola pelo conteúdo.
5. Método, de acordo com a reivindicação 1, que compreende adicionalmente: receber uma indicação para substituir uma versão atual do documento pela versão anterior específica; em resposta à indicação, copiar a versão anterior específica do documento, marcar uma versão atual como uma versão anterior e salvar a cópia da versão anterior específica como uma versão atual.
6. Método, de acordo com a reivindicação 1, que compreende adicionalmente: rolar pela sequência de versões anteriores do documento até que a versão anterior específica do documento seja exibida.
7. Método, de acordo com a reivindicação 1, em que a sequência de versões anteriores do documento é exibida em uma pilha de documentos.
8. Método, que compreende: detectar em um dispositivo de computação um evento de controle de versão associado ao documento; em resposta à detecção do evento de controle de versão, copiar o documento e armazenar de forma persistente a cópia como uma versão anterior do documento; em que o evento de controle de versão não é associado a uma indicação explícita de um usuário para criar uma versão do documento.
9. Método, de acordo com a reivindicação 8, em que o evento de controle de versão é uma abertura do documento, um fechamento do documento, um envio de e-mail do documento, uma impressão do documento, uma exclusão do documento, uma longa pausa na entrada do usuário ao documento, uma tentativa de editar um documento bloqueado.
10. Método, de acordo com a reivindicação 8, que compreende adicionalmente: gerar um rótulo para a versão anterior indicativa do evento de controle de versão; associar o rótulo à versão anterior do documento.
11. Método, de acordo com a reivindicação 8, em que copiar o documento inclui copiar as diferenças entre o documento e uma versão ante- rior específica do documento; em que armazenar de forma persistente a cópia como uma versão anterior do documento inclui armazenar as diferenças entre o documento e a versão anterior específica.
12. Método, que compreende: detectar em um dispositivo de computação um evento salvo associado a um documento; em resposta à detecção do evento salvo, salvar o documento; em que o evento salvo não é associado a uma indicação explícita de um usuário para salvar o documento.
13. Método, de acordo com a reivindicação 12, em que o evento salvo é um intervalo de tempo decorrido, uma pausa na entrada do usuário, um deslocamento de foco do documento, um fechamento do documento, uma impressão do documento, colar o conteúdo no documento, deletar o conteúdo do documento, ou formatar o documento.
14. Método, que compreende: exibir um ou mais documentos em um ou mais locais correspondentes em uma exibição de um dispositivo de computação; armazenar as informações do leiaute do documento que compreendem um ou mais identificadores que correspondem a um ou mais documentos e a um ou mais locais correspondentes.
15. Método, que compreende: detectar um fechamento anormal de um ou mais documentos exibidos em um dispositivo de computação; obter as informações do leiaute do documento que compreendem um ou mais identificadores que correspondem a um ou mais documentos e a um ou mais locais para um ou mais documentos; exibir um ou mais documentos de acordo com as informações do leiaute do documento.
16. Meio legível por computador não transitório que inclui uma ou mais instruções que quando executadas por pelo menos um processador, causa: a exibição de uma versão atual de um documento em uma pri- meira interface do usuário de um dispositivo de computação; a recepção de uma indicação para exibir as versões salvas anteriormente do documento; em resposta ao recebimento da indicação, a exibição de uma segunda interface do usuário que tem uma primeira parte e uma segunda parte, a versão atual do documento exibida na primeira parte da segunda interface do usuário e uma versão anterior específica do documento exibida em uma sequência de versões anteriores do documento na segunda parte da segunda interface do usuário.
17. Meio legível por computador não transitório, de acordo com a reivindicação 16, em que as instruções compreendem as instruções que causam: a recepção de uma seleção de conteúdo na versão anterior específica do documento; a cópia do conteúdo selecionado; a colagem do conteúdo selecionado em uma versão atual do documento exibida na primeira parte da segunda interface do usuário.
18. Meio legível por computador não transitório, de acordo com a reivindicação 16, em que as instruções compreendem as instruções que causam: a exibição do conteúdo de uma versão atual do documento na primeira parte da segunda interface do usuário; a exibição do conteúdo da versão anterior específica do documento na segunda parte da segunda interface do usuário.
19. Meio legível por computador não transitório, de acordo com a reivindicação 16, em que as instruções compreendem as instruções que causam: o rolamento pelo conteúdo da versão anterior específica; a exibição do conteúdo da versão anterior específica enquanto rola pelo conteúdo.
20. Meio legível por computador não transitório, de acordo com a reivindicação 16, em que as instruções compreendem as instruções que causam: a recepção de uma indicação para substituir uma versão atual do documento pela versão anterior específica; em resposta à indicação, a cópia da versão anterior específica do documento, a marcação da versão atual como uma versão anterior e o salvamento da cópia da versão anterior específica como uma versão atual.
21. Meio legível por computador não transitório, de acordo com a reivindicação 16, em que as instruções compreendem as instruções que causam: o rolamento pela sequência de versões anteriores do documento até que a versão anterior específica do documento seja exibida.
22. Meio legível por computador não transitório, de acordo com a reivindicação 16, em que a sequência de versões anteriores do documento é exibida em uma pilha de documentos.
23. Sistema, que compreende: um ou mais processadores; um meio de armazenamento legível por computador que armazena uma ou mais instruções que quando executadas por um ou mais processadores, causa: a exibição de uma versão atual de um documento em uma primeira interface do usuário de um dispositivo de computação; a recepção de uma indicação para exibir as versões salvas anteriormente do documento; em resposta ao recebimento da indicação, a exibição de uma segunda interface do usuário que tem uma primeira parte e uma segunda parte, a versão atual do documento exibida na primeira parte da segunda interface do usuário e uma versão anterior específica do documento exibida em uma sequência de versões anteriores do documento na segunda parte da segunda interface do usuário.
24. Sistema, de acordo com a reivindicação 23, em que as instruções compreendem as instruções que causam: a recepção de uma seleção de conteúdo na versão anterior es- pecífica do documento; a cópia do conteúdo selecionado; a colagem do conteúdo selecionado em uma versão atual do documento exibida na primeira parte da segunda interface do usuário.
25. Sistema, de acordo com a reivindicação 23, em que as instruções compreendem as instruções que causam: a exibição do conteúdo de uma versão atual do documento na primeira parte da segunda interface do usuário; a exibição do conteúdo da versão anterior específica do documento na segunda parte da segunda interface do usuário.
26. Sistema, de acordo com a reivindicação 23, em que as instruções compreendem as instruções que causam: o rolamento pelo conteúdo da versão anterior específica; a exibição do conteúdo da versão anterior específica enquanto rola pelo conteúdo.
27. Sistema, de acordo com a reivindicação 23, em que as instruções compreendem as instruções que causam: a recepção de uma indicação para substituir uma versão atual do documento pela versão anterior específica; em resposta à indicação, a cópia a versão anterior específica do documento, a marcação da versão atual como uma versão anterior e o salvamento da cópia da versão anterior específica como uma versão atual.
28. Sistema, de acordo com a reivindicação 23, em que as instruções compreendem as instruções que causam: o rolamento pela sequência de versões anteriores do documento até que a versão anterior específica do documento seja exibida.
29. Sistema, de acordo com a reivindicação 24, em que a sequência de versões anteriores do documento é exibida em uma pilha de documentos.
BR102012000929A 2011-01-14 2012-01-13 documentos não salvos BR102012000929A2 (pt)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201161433182P 2011-01-14 2011-01-14
US13/174,661 US20120185762A1 (en) 2011-01-14 2011-06-30 Saveless Documents

Publications (1)

Publication Number Publication Date
BR102012000929A2 true BR102012000929A2 (pt) 2016-10-11

Family

ID=45655137

Family Applications (1)

Application Number Title Priority Date Filing Date
BR102012000929A BR102012000929A2 (pt) 2011-01-14 2012-01-13 documentos não salvos

Country Status (8)

Country Link
US (1) US20120185762A1 (pt)
EP (1) EP2477123A3 (pt)
JP (1) JP2012185805A (pt)
KR (1) KR20120090794A (pt)
CN (1) CN102681914A (pt)
AU (1) AU2012200088A1 (pt)
BR (1) BR102012000929A2 (pt)
MX (1) MX2012000673A (pt)

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9009115B2 (en) 2006-08-04 2015-04-14 Apple Inc. Restoring electronic information
US8010900B2 (en) 2007-06-08 2011-08-30 Apple Inc. User interface for electronic backup
US20080307017A1 (en) 2007-06-08 2008-12-11 Apple Inc. Searching and Restoring of Backups
US9135312B2 (en) * 2009-11-02 2015-09-15 Google Inc. Timeslider
US8943026B2 (en) 2011-01-14 2015-01-27 Apple Inc. Visual representation of a local backup
US8984029B2 (en) 2011-01-14 2015-03-17 Apple Inc. File system management
US20130132870A1 (en) * 2011-11-23 2013-05-23 Salesforce.Com, Inc. System, method and computer program product for transient storage of user interface configurations
US9589541B2 (en) 2012-02-28 2017-03-07 Ebay Inc. Location-based display of pixel history
US9229919B1 (en) * 2012-03-19 2016-01-05 Apttex Corporation Reconciling smart fields
US20150205463A1 (en) * 2012-06-26 2015-07-23 Google Inc. Method for storing form data
US9582481B2 (en) * 2012-09-29 2017-02-28 Apple Inc. Mechanism for partial document restore
JP5898042B2 (ja) * 2012-10-19 2016-04-06 日本電信電話株式会社 履歴情報生成プログラム及び履歴情報生成装置
JP5947188B2 (ja) * 2012-10-19 2016-07-06 日本電信電話株式会社 履歴情報表示プログラム及び履歴情報表示装置
JP5898043B2 (ja) * 2012-10-19 2016-04-06 日本電信電話株式会社 履歴情報表示プログラム及び履歴情報表示装置
US20140123076A1 (en) * 2012-11-01 2014-05-01 Microsoft Corporation Navigating among edit instances of content
KR102289203B1 (ko) 2013-02-07 2021-08-12 디즈모 아게 디스플레이 디바이스상에 정보를 조직하고 디스플레이하기 위한 시스템
WO2015016921A1 (en) 2013-07-31 2015-02-05 Hewlett-Packard Development Company, L.P. Comparing user interfaces
CN103593258A (zh) * 2013-09-23 2014-02-19 西安酷派软件科技有限公司 界面备份方法、备份信息处理方法、终端及服务器
US20150165323A1 (en) * 2013-12-17 2015-06-18 Microsoft Corporation Analog undo for reversing virtual world edits
US9740777B2 (en) 2013-12-20 2017-08-22 Ebay Inc. Systems and methods for saving and presenting a state of a communication session
US10635540B2 (en) 2014-04-02 2020-04-28 Microsoft Technology Licensing, Llc Modern document save and synchronization status
US10671275B2 (en) * 2014-09-04 2020-06-02 Apple Inc. User interfaces for improving single-handed operation of devices
CN104615360A (zh) * 2015-03-06 2015-05-13 庞迪 一种基于语音识别的历史个人桌面恢复方法及系统
US20160299656A1 (en) * 2015-04-08 2016-10-13 Thomas M. Isaacson System and method for saving an open file
CN104915603A (zh) * 2015-04-30 2015-09-16 努比亚技术有限公司 一种终端设备上数据的保存方法和终端设备
US11106645B1 (en) * 2015-09-29 2021-08-31 EMC IP Holding Company LLC Multi point in time object store
US10102190B2 (en) 2015-12-28 2018-10-16 Microsoft Technology Licensing, Llc. Memory conserving versioning of an electronic document
US10769365B2 (en) 2015-12-29 2020-09-08 Microsoft Technology Licensing, Llc Document history interface
US10599526B2 (en) 2016-01-13 2020-03-24 Microsoft Technology Licensing, Llc Auto-save operation for collaborative editing of electronic documents
JP2017151727A (ja) * 2016-02-24 2017-08-31 富士通株式会社 カルテ表示プログラム、カルテ表示装置、およびカルテ表示方法
JP6203311B2 (ja) * 2016-03-12 2017-09-27 ヴェルク株式会社 見積管理システム
US11074112B2 (en) * 2017-01-13 2021-07-27 Microsoft Technology Licensing, Llc Maintaining the responsiveness of a user interface while performing a synchronous operation
US10802698B1 (en) * 2017-02-06 2020-10-13 Lucid Software, Inc. Diagrams for structured data
US20190005009A1 (en) * 2017-06-29 2019-01-03 Microsoft Technology Licensing, Llc Customized version labeling for electronic documents
CN107729108A (zh) * 2017-10-10 2018-02-23 天闻数媒科技(北京)有限公司 一种在线集体备课控制方法、装置、设备和存储介质
CN107885807B (zh) * 2017-11-03 2021-06-11 广州视源电子科技股份有限公司 一种文件保存方法、装置、智能平板和存储介质
KR20190119870A (ko) 2018-04-13 2019-10-23 황영석 재생이 가능한 텍스트 편집기 및 그 편집 방법
US11270069B1 (en) * 2018-04-30 2022-03-08 InVisionApp Inc. Collaboration synchronization across devices
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
JP7298133B2 (ja) * 2018-10-30 2023-06-27 セイコーエプソン株式会社 表示方法、および表示装置
US11240320B2 (en) 2018-11-16 2022-02-01 Microsoft Technology Licensing, Llc System and method for managing notifications of document modifications
CN109857999A (zh) * 2018-12-30 2019-06-07 广东一一五科技股份有限公司 一种文档草稿保存方法、装置、电子设备及存储介质
US10929814B2 (en) 2019-05-02 2021-02-23 Microsoft Technology Licensing, Llc In-context display of out-of-context contact activity
US11244100B2 (en) 2019-05-08 2022-02-08 Microsoft Technology Licensing, Llc Visualizing changes based on document scope
JP7443685B2 (ja) * 2019-07-19 2024-03-06 株式会社リコー 表示装置、表示方法、表示プログラム
KR102169097B1 (ko) * 2019-12-02 2020-10-23 황영석 재생이 가능한 텍스트 편집기 및 그 편집 방법
US20210390647A1 (en) * 2020-06-16 2021-12-16 Prologis, L.P. Systems and methods for automated staging and capture of real estate negotiations

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6701454B1 (en) * 2000-06-05 2004-03-02 Microsoft Corporation Method and system for recovering information during a program failure
US6825844B2 (en) * 2001-01-16 2004-11-30 Microsoft Corp System and method for optimizing a graphics intensive software program for the user's graphics hardware
US20020107886A1 (en) * 2001-02-07 2002-08-08 Gentner Donald R. Method and apparatus for automatic document electronic versioning system
US20040230892A1 (en) * 2003-03-17 2004-11-18 Libac Corporation Systems and methods for document project management
US20060224956A1 (en) * 2005-04-05 2006-10-05 International Business Machines Corporation Intelligent document saving
US7882072B1 (en) * 2005-12-30 2011-02-01 Google Inc. Autosave functionality for web browser
US8209308B2 (en) * 2006-05-01 2012-06-26 Rueben Steven L Method for presentation of revisions of an electronic document
US7856424B2 (en) * 2006-08-04 2010-12-21 Apple Inc. User interface for backup management
US20080126442A1 (en) * 2006-08-04 2008-05-29 Pavel Cisler Architecture for back up and/or recovery of electronic data
US7860839B2 (en) * 2006-08-04 2010-12-28 Apple Inc. Application-based backup-restore of electronic information
US7739622B2 (en) * 2006-10-27 2010-06-15 Microsoft Corporation Dynamic thumbnails for document navigation
US7974948B2 (en) * 2008-05-05 2011-07-05 Microsoft Corporation Automatically capturing and maintaining versions of documents
US8607155B2 (en) * 2008-09-12 2013-12-10 9224-5489 Quebec Inc. Method of managing groups of arrays of documents
US10747952B2 (en) * 2008-09-15 2020-08-18 Palantir Technologies, Inc. Automatic creation and server push of multiple distinct drafts
US20110296351A1 (en) * 2010-05-26 2011-12-01 T-Mobile Usa, Inc. User Interface with Z-axis Interaction and Multiple Stacks
US20120185767A1 (en) * 2011-01-14 2012-07-19 Apple Inc. Modifying application behavior
US20120246565A1 (en) * 2011-03-24 2012-09-27 Konica Minolta Laboratory U.S.A., Inc. Graphical user interface for displaying thumbnail images with filtering and editing functions
US8533593B2 (en) * 2011-04-19 2013-09-10 Autodesk, Inc Hierarchical display and navigation of document revision histories

Also Published As

Publication number Publication date
AU2012200088A1 (en) 2012-08-02
EP2477123A3 (en) 2012-11-14
JP2012185805A (ja) 2012-09-27
US20120185762A1 (en) 2012-07-19
KR20120090794A (ko) 2012-08-17
MX2012000673A (es) 2012-07-13
CN102681914A (zh) 2012-09-19
EP2477123A2 (en) 2012-07-18

Similar Documents

Publication Publication Date Title
BR102012000929A2 (pt) documentos não salvos
US20220244842A1 (en) User interface for database management services
US11010336B2 (en) System and method for provisioning databases in a hyperconverged infrastructure system
US10649864B1 (en) Framework to facilitate taking snapshots of web application on demand
US7250955B1 (en) System for displaying a notification window from completely transparent to intermediate level of opacity as a function of time to indicate an event has occurred
US9229818B2 (en) Adaptive retention for backup data
US20200210378A1 (en) System and method for protecting databases in a hyperconverged infrastructure system
US9218499B2 (en) Data duplication using a shared storage area with improved access control
JP2005276223A (ja) タイムラインベースのコンピューティング環境を使用してデータを回復するための方法、媒体、およびシステム
US9286307B2 (en) Document management apparatus improved in efficiency of deletion of files, method of controlling the same, and storage medium
JP2005198064A (ja) ファイル管理プログラム
BRPI0907464B1 (pt) Método para editar uma parte de texto de um conteúdo de um documento, mídia de armazenamento de computador e método para fornecer uma superfície de edição transitória
US20220138150A1 (en) Managing cluster to cluster replication for distributed file systems
US10867118B2 (en) Method and system for implementing a collaboration platform for structured objects in a document
US20120266078A1 (en) System and Method for Accessing and Displaying Remotely Backed Up Data by Deploying a Windows Desktop Style User Interface
WO2017136296A1 (en) Configurable access to a document's revision history
US8321867B1 (en) Request processing for stateless conformance engine
US20180322015A1 (en) User engagement aware auto-restart
CN116560961A (zh) 一种串口日志收集方法、装置及其介质
US20140310242A1 (en) Data processing method, system, and computer program product
JP2009093508A (ja) ファイル制御システム
CN107291400B (zh) 一种快照卷关系模拟方法及装置
US20120324345A1 (en) Transitioning between an Editing View and a Backstage View of an Electronic Document
US7747882B2 (en) Determining optimal power down of a system while indexes are being rebuilt
WO2023164458A1 (en) Document open detection and remediation

Legal Events

Date Code Title Description
B03A Publication of a patent application or of a certificate of addition of invention [chapter 3.1 patent gazette]
B08F Application fees: application dismissed [chapter 8.6 patent gazette]

Free format text: REFERENTE AS 4A E 5A ANUIDADES.

B08K Patent lapsed as no evidence of payment of the annual fee has been furnished to inpi [chapter 8.11 patent gazette]