BRPI1011470B1 - Método implementado em um computador cliente para combinar metadados de documento em um computador cliente, dispositivo de computação e memória de armazenamento de dados legível por computador - Google Patents

Método implementado em um computador cliente para combinar metadados de documento em um computador cliente, dispositivo de computação e memória de armazenamento de dados legível por computador Download PDF

Info

Publication number
BRPI1011470B1
BRPI1011470B1 BRPI1011470-0A BRPI1011470A BRPI1011470B1 BR PI1011470 B1 BRPI1011470 B1 BR PI1011470B1 BR PI1011470 A BRPI1011470 A BR PI1011470A BR PI1011470 B1 BRPI1011470 B1 BR PI1011470B1
Authority
BR
Brazil
Prior art keywords
identifier
paragraph
document
metadata
range
Prior art date
Application number
BRPI1011470-0A
Other languages
English (en)
Inventor
Jonathan B. Bailor
David B. Robins
Original Assignee
Microsoft Technology Licensing, Llc
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 Microsoft Technology Licensing, Llc filed Critical Microsoft Technology Licensing, Llc
Publication of BRPI1011470A2 publication Critical patent/BRPI1011470A2/pt
Publication of BRPI1011470B1 publication Critical patent/BRPI1011470B1/pt

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/174Form filling; Merging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • G06F16/986Document structures and storage, e.g. HTML extensions
    • 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/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1242Image or content composition onto a page
    • 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/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1242Image or content composition onto a page
    • G06F3/1243Variable data printing, e.g. document forms, templates, labels, coupons, advertisements, logos, watermarks, transactional printing, fixed content versioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/101Collaborative creation, e.g. joint development of products or services

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Economics (AREA)
  • Operations Research (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Game Theory and Decision Science (AREA)
  • Development Economics (AREA)
  • Databases & Information Systems (AREA)
  • Educational Administration (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Document Processing Apparatus (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

método implementado em um computador cliente para combinar metadados de documento em um computador cliente, dispositivo de computação e memória de armazenamento de dados. a presente invenção refere-se a um método para combinar metadados de documento em um computador cliente. um documento obtido de um computador servidor é aberto por um usuário no computador cliente. se o documento não incluir identificadores de parágrafo, um identificador de parágrafo é designado a cada parágrafo no documento. quando o documento é aberto por um segundo usuário em um segundo computador cliente, os metadados para o documento são recebidos do computador servidor. realiza-se uma determinação quanto a se os metadados recebidos do computador servidor deverão ser combinados com os metadados atuais para o documento. quando for determinado que os metadados atuais e os metadados recebidos do computador servidor devem ser combinados, os identificadores de parágrafo são ajustados no documento com base nos metadados recebidos do computador servidor.

Description

ANTECEDENTES DA INVENÇÃO
[0001] Os sistemas de colaboração de documentos baseados em rede permitem que múltiplos usuários acessem e editem colaborativamente um documento. Embora seja possível múltiplos usuários editarem colaborativamente um documento, para prevenir conflitos, o sistema pode restringir as regiões em um documento nas quais cada usuário pode realizar edições para minimizar os riscos de alterações conflitantes quando as cópias dos documentos são combinadas.
[0002] Os sistemas herdados normalmente não permitem a edição colaborativa de documentos criados nos sistemas herdados. Os documentos criados nesses sistemas, portanto, podem não ser configurados apropriadamente para dar suporte à edição colaborativa em sistemas de colaboração de documentos. Isso pode resultar em edições conflitantes indesejadas.
SUMÁRIO DA INVENÇÃO
[0003] As concretizações da revelação estão direcionadas a um método para combinar metadados de documentos em um computador cliente. Um documento é obtido de um computador servidor por um usuário no computador cliente, e o documento é aberto no computador cliente. Em resposta à abertura do documento no computador cliente, é feita uma determinação quanto a se o documento inclui identificadores de unidade. Quando se determinar que o documento não inclui identificadores de unidade, um identificador de unidade é designado a cada unidade no documento.
[0004] Uma primeira mensagem é recebida do computador servidor, fornecendo uma notificação de que pelo menos um outro usuário está editando o documento. Em resposta ao recebimento da primeira mensagem a partir do computador servidor, fornecendo a notificação de que pelo menos um outro usuário está editando o documento, uma segunda mensagem é enviada ao computador servidor, a segunda mensagem incluindo primeiros metadados para o documento. Em resposta ao envio da segunda mensagem ao computador servidor, uma terceira mensagem é recebida do computador servidor, a terceira mensagem incluindo segundos metadados para o documento. Em resposta ao recebimento da terceira mensagem a partir do computador servidor, realiza-se uma determinação quanto a se os primeiros metadados e os segundos metadados devem ser combinados. Quando se determina que os primeiros metadados e os segundos metadados devem ser combinados, os identificadores de unidade são ajustados no documento baseado nos segundos metadados.
[0005] Os detalhes de uma ou mais técnicas são apresentados nos desenhos em anexo e na descrição a seguir. Outros aspectos, objetivos e vantagens dessas técnicas ficarão claros por meio da descrição, dos desenhos e das reivindicações.
BREVE DESCRIÇÃO DOS DESENHOS
[0006] A Figura 1 mostra um sistema ilustrativo para suporte à combinação rápida de documentos herdados.
[0007] A Figura 2 mostra módulos ilustrativos de um computador cliente ilustrativo da Figura 1, que implementa a capacidade de suporte à combinação rápida de documentos herdados.
[0008] A Figura 3 apresenta um exemplo de renumeração de identificadores de documento durante uma operação de combinação de metadados.
[0009] A Figura 4 mostra urn fluxograma de um método para combinar metadados de documento em um computador cliente.
[00010] A Figura 5 mostra um fluxograma de um método para determinar se os metadados devem ser combinados em um computador cliente.
[00011] A Figura 6 mostra componentes ilustrativos do computador cliente da Figura 2.
DESCRIÇÃO DETALHADA DA INVENÇÃO
[00012] O presente pedido está direcionado a sistemas e métodos para a criação de identificadores de unidade para documentos herdados criados em sistemas de documentos herdados compartilhados baseados em rede que não fornecem identificadores de unidade.
[00013] Nas concretizações ilustrativas, um documento é segmentado em unidades. As unidades podem ser qualquer subparte de um documento, por exemplo, frases, parágrafos, cabeçalhos, desenhos, tabelas, etc. Um documento pode conter apenas uma unidade, por exemplo, uma única tabela, frase, ou múltiplas unidades, como múltiplas tabelas, frases ou parágrafos. Para as concretizações ilustrativas aqui reveladas, uma unidade de documento é um parágrafo do documento.
[00014] Os documentos herdados são aqueles que foram criados por sistemas herdados que não dão suporte à edição colaborativa. Os documentos herdados, portanto, não incluem identificadores de parágrafo. Os identificadores de parágrafo são criados para um documento herdado quando o documento é salvo em um sistema de colaboração de documentos ou quando dois ou mais autores editam o documento no sistema de colaboração de documentos.
[00015] Uma vez que os identificadores de parágrafo são criados para um documento herdado dessa forma, quando dois ou mais autores usando o sistema de colaboração de documentos acessam o mesmo documento herdado, os parágrafos sendo atualmente editados por um dos autores são identificados e bloqueios de parágrafo são propagados aos outros autores. O bloqueio de parágrafo impede que os autores que não estão editando atualmente um parágrafo bloqueado editem o parágrafo bloqueado até que o bloqueio seja removido. Nesta revelação, define-se um autor como um usuário que está criando ou editando um documento.
[00016] Os sistemas e métodos também possibilitam a comparação e combinação de identificadores de parágrafos nos documentos e possibilitam a combinação de identificadores de parágrafos e a propagação de bloqueios de parágrafo. Um único conjunto de identificadores de parágrafo é criado toda vez que um autor acessa um documento herdado que não inclui identificadores de parágrafo. Quando um segundo autor acessa o mesmo documento herdado, os identificadores de parágrafo são comparados e combinados, de modo que cada autor tenha um conjunto sincronizado de identificadores de parágrafo para o documento herdado.
[00017] A Figura 1 mostra um sistema ilustrativo 100 que dá suporte à combinação rápida de documentos herdados. O sistema 100 inclui os clientes 102, 104, um servidor 106 e uma rede 108. Pode-se usar um número maior ou menor de clientes e servidores. Nesta revelação, os termos “cliente” e “computador cliente” são usados de maneira intercambiável, e os termos “servidor” e “computador servidor” são usados de maneira intercambiável.
[00018] Dentre a pluralidade de informações armazenadas no cliente 102, 104 estão um sistema operacional (“SO”) cliente e aplicativos clientes. O SO cliente é um programa que gerencia os recursos de hardware e software do sistema cliente. Os aplicativos clientes utilizam os recursos dos clientes 102, 104 para efetuar diretamente as tarefas especificadas por um usuário, por exemplo, um usuário que está editando um documento. Por exemplo, os clientes 102, 104 incluem um ou mais aplicativos de software, tais como programas de processamento de texto, que são usados para criar e editar arquivos de documentos. Um exemplo de tal aplicativo é o Microsoft Word da Microsoft Corporation of Redmond, Washington. Outros exemplos de tais aplicativos também são aplicáveis.
[00019] O servidor 106 é um servidor de arquivos que é acessível por meio de uma rede. O servidor 106 armazena uma pluralidade de arquivos. Esses arquivos podem incluir tanto aplicativos de software como documentos, conforme descrito em mais detalhes mais adiante. O servidor 106 controla o acesso aos documentos armazenados pelo servidor 106.
[00020] Nas concretizações ilustrativas, o servidor 106 pode estar localizado dentro de uma organização ou pode fazer parte de um sistema de colaboração de documentos. Um exemplo de sistema de colaboração de documentos são os serviços do servidor do portal de serviços em equipe SHAREPOINT® fornecido pela Microsoft Corporation. Um exemplo de servidor de documentos compartilhados é o Microsoft Office SharePoint Server 2007 fornecido pela Microsoft Corporation. É possível usar outras configurações.
[00021] Nas concretizações ilustrativas, os identificadores de parágrafos são combinados e os bloqueios de parágrafos são propagados através de um canal de metadados 111 que é separado de um canal de dados 113 usado para salvar os conteúdos editados do documento. Ao transmitir os metadados separadamente do conteúdo do documento, os autores podem receber os bloqueios de parágrafo de maneira rápida, independente de uma operação de salvamento de conteúdo. Uma vez que os bloqueios de parágrafo impedem que dois ou mais autores editem o mesmo conteúdo simultaneamente, a integridade do processo de edição colaborativa é aprimorada.
[00022] A Figura 2 mostra uma vista detalhada dos módulos lógicos do computador cliente 102. O computador cliente 102 inclui o módulo de processamento de documentos 202 ilustrativo, o módulo de processamento de metadados 204 ilustrativo e o módulo de combinação de metadados 206 ilustrativo. O módulo de processamento de documentos 202 ilustrativo dá suporte à criação, edição e salvamento de conteúdo de documento, tal como texto, cabeçalhos, tabelas, ilustrações, etc. O módulo de processamento de documentos 202 ilustrativo também dá suporte ao processamento de informações sobre o conteúdo do documento, conhecido como metadados. O módulo de processamento de documentos 202 ilustrativo implementa um aplicativo de processamento de texto, por exemplo, o aplicativo de processamento de texto Microsoft Word da Microsoft Corporation.
[00023] O módulo de processamento de metadados 204 ilustrativo processa os metadados no documento. Alguns exemplos de metadados são o nome do documento, a data de criação ou última edição, identificador de documento, identificador de revisão, identificadores de parágrafo, intervalo de parágrafos e bloqueios de parágrafo. Outros tipos de metadados de documentos são possíveis.
[00024] Um identificador de parágrafo é um número que identifica cada parágrafo em um documento. Nas concretizações ilustrativas, os identificadores de parágrafo podem incluir identificadores para subunidades de um documento, como cabeçalhos e rodapés, além dos parágrafos reais.
[00025] Um bloqueio de parágrafo são metadados que indicam que um autor está editando um parágrafo de um documento. No intuito de evitar conflitos, apenas um autor tem permissão para editar o mesmo conteúdo ao mesmo tempo. Quando um autor edita um parágrafo de um documento, um bloqueio de parágrafo é recebido para o parágrafo específico para todos os outros autores que estão com o documento aberto. O bloqueio de documento impede que esses outros autores editem o parágrafo até que o bloqueio seja removido.
[00026] Detalhes adicionais relativos a tais bloqueios podem ser encontrados no Pedido de Patente U.S. de N2 de Série 12/145,536, depositado em 25 de junho de 2008, cuja totalidade é aqui incorporada para fins de referência.
[00027] Quando um autor no computador cliente 102 abre um documento herdado que não inclui identificadores de parágrafo, o módulo de processamento de metadados 204 ilustrativo gera um identificador de documento para o documento. O identificador de documento é tipicamente um número que é gerado aleatoriamente a partir de uma faixa de números específica. Por exemplo, o identificador de documento pode ser um número de 32 bits que está na faixa de 1 a 0x7fffffff.
[00028] O módulo de processamento de metadados 204 ilustrativo designa o identificador de documento ao primeiro parágrafo no documento. Os parágrafos restantes são então numerados sequencialmente a partir do identificador de documento. Por exemplo, se houver cinco parágrafos no documento e o identificador de documento gerado aleatoriamente for 1000, aos cinco parágrafos são designados identificadores de parágrafo 1000, 1001, 1002, 1003 e 1004, respectivamente.
[00029] O módulo de processamento de metadados 204 ilustrativo também identifica como metadado o próximo número de parágrafo na sequência de identificadores de parágrafo. Neste exemplo, o próximo identificador de parágrafo é 1005. Embora os identificadores de parágrafo sejam gerados sequencialmente quando um documento é inicialmente aberto, identificadores de parágrafo para quaisquer parágrafos que possam ser adicionados como resultado da edição do documento são gerados aleatoriamente.
[00030] Quando o autor no cliente 102 abre o documento, o módulo de processamento de metadados 204 ilustrativo também obtém um identificador de revisão para o documento. Cada documento armazenado no sistema de colaboração de documentos ilustrativo inclui um identificador de revisão que identifica um número de versão para o documento. Em algumas concretizações ilustrativas, o identificador de revisão pode ser parte de um identificador de sistema de arquivos para o documento. O módulo de processamento de metadados 204 ilustrativo acompanha o identificador de revisão como metadado.
[00031] Uma vez que, nesse momento, o autor no cliente 102 é o único autor que abriu o documento, o documento não contém nenhum bloqueio de parágrafo. O autor no cliente 102 está livre para editar o documento à vontade, editando os parágrafos existentes, excluindo parágrafos, adicionando novos parágrafos, efetuando mudanças de formatação, etc. Até o autor no cliente 102 salvar essas alterações, o servidor 106 não tem ciência das alterações.
[00032] Quando um autor no cliente 104 abre uma cópia do mesmo documento, o servidor 106 apresenta, ao autor no cliente 104, uma versão do documento que não inclui as alterações que o autor no cliente 102 realizou no documento se o autor no cliente 102 não tiver salvado o documento antes de o cliente 104 abrir o documento.
[00033] Quando o documento é aberto no cliente 104, o módulo de processamento de metadado 204 ilustrativo no cliente 104 gera aleatoriamente um identificador de documento para a versão do documento aberto no cliente 104. O módulo de processamento de metadado 204 ilustrativo no cliente 104 ilustrativo atribui o identificador de documento ao primeiro parágrafo do documento aberto no cliente 104 e sequencialmente designa números de parágrafo aos parágrafos restantes do documento aberto no cliente 104.
[00034] Uma vez que os identificadores de documento são gerados aleatoriamente, o documento e os identificadores de parágrafo para as cópias do documento aberto nos clientes 102 e 104 são diferentes. De modo a propagar bloqueios de parágrafo aos dois documentos abertos, os identificadores de parágrafo para cada documento aberto devem ser combinados e sincronizados. Isso se deve ao fato de que os bloqueios de parágrafo estão associados a parágrafos específicos. Portanto, os parágrafos contendo conteúdo comum em múltiplas cópias dos documentos abertos precisam ter identificadores de parágrafo idênticos.
[00035] O módulo de combinação de metadados 206 ilustrativo compara e sincroniza os identificadores de parágrafo entre os documentos. Quando o autor no cliente 104 abre o documento, o servidor 106 informa o autor no cliente 104 de que há pelo menos um outro usuário já editando o documento. O servidor 106 também informa o autor no cliente 102 de que outro autor abriu o documento. Quando o autor no cliente 102 descobre que outro autor abriu o documento, o módulo de combinação de metadados 206 ilustrativo no cliente 102 envia metadados ao servidor 106. De modo similar, quando o autor no cliente 104 descobre que outro autor abriu o documento, o módulo de combinação de metadados 206 ilustrativo no cliente 104 envia metadados ao servidor 106 usando o canal de metadados 111.
[00036] Os metadados ilustrativos enviados ao servidor 106 pelos clientes 102 e 104 incluem três componentes de metadados - o identificador de documento, o identificador de parágrafo seguinte e o identificador de revisão. Nas concretizações ilustrativas, esses três componentes são chamados de semente de metadado. Quando o servidor 106 recebe a semente de metadado dos clientes 102 e 104, o servidor 106 determina qual semente de metadado chegou primeiro. A semente de metadado que chegou no servidor 106 primeiro é considerada a vencedora. A informação de semente de metadado vencedora é então propagada aos outros autores. Por exemplo, se o servidor 106 receber a semente de metadado do cliente 104 primeiro, a informação de semente de metadado no cliente 102 é combinada com a informação de semente de metadado do cliente 104.
[00037] A Figura 3 mostra um exemplo de como o módulo de combinação de metadados 206 ilustrativo combina metadados usando metadados de dois autores. Quando um autor no cliente 102 inicialmente abre um documento que não inclui identificadores de parágrafo (por exemplo, um documento criado em um sistema herdado que não dá suporte à edição colaborativa), o módulo de combinação de operações de metadados 204 designa identificadores de parágrafo a cada parágrafo do documento. Um conjunto ilustrativo de identificadores de parágrafo é ilustrado, na cópia do documento 302. Neste exemplo, há seis parágrafos no documento com identificadores de parágrafo 1000, 1001, 1002, 1003, 1004 e 1005, respectivamente.
[00038] Durante a edição do documento, o autor no cliente 102 exclui o parágrafo 1003 e adiciona parágrafos com os identificadores de parágrafo 2002, 8123 e 9123. Isso é ilustrado na cópia de documento 304 ilustrativa. O autor no cliente 102 é capaz de modificar, adicionar e/ou excluir qualquer parágrafo no documento, pois no momento não há outros usuários editando o documento, o que significa que não há bloqueios de parágrafo no documento. Os parágrafos adicionados possuem identificadores de parágrafo que são gerados aleatoriamente, conforme descrito acima.
[00039] Após o autor no cliente 102 efetuar as alterações no documento ilustrado na cópia de documento 304 ilustrativa, o autor no cliente 104 abre uma cópia do documento. Uma cópia do documento é obtida do servidor 106. Uma vez que as alterações no documento realizadas pelo autor no cliente 102 ainda não foram salvas no servidor 106, o documento aberto pelo autor no cliente 104 contém o mesmo conteúdo ilustrado na cópia de documento 302 ilustrativa.
[00040] Quando o documento é aberto no cliente 104, o módulo de operações de metadados 204 no cliente 104 gera aleatoriamente um identificador de documento para o documento aberto no cliente 104. Neste exemplo, o identificador de documento é 2000. O módulo de operações de metadados 204 ilustrativo no cliente 104 designa o identificador de documento 2000 ao primeiro parágrafo do documento aberto no cliente 104. O módulo de operação de metadados 204 ilustrativo no cliente 104 então numera sequencialmente os parágrafos restantes no documento. A numeração de parágrafo resultante é ilustrada na cópia de documento 306 ilustrativa.
[00041] Em algum dado intervalo, ambos os clientes 102, 104 sincronizam os metadados associados ao documento. Essa sincronização acontece por meio do canal de metadados 111, como descrito acima. Nas concretizações exemplificativas, o intervalo de sincronização pode ser ajustado para ocorrer em um período especifico, tal como a cada 2 segundos, 5 segundos, 10 segundos, 20 segundos, 30 segundos, 1 minuto, 5 minutos, 10 minutos ou 30 minutos. É possível usar outros intervalos.
[00042] No exemplo, a semente de metadado do cliente 104 é recebida no servidor 106 primeiro. Quando o servidor 106 determina que a semente de metadado do cliente 104 foi recebida primeira e é a semente vencedora, o servidor 106 envia a semente de metadado recebida do cliente 104 ao cliente 102. Quando o cliente 102 recebe a semente de metadado do servidor 106, o módulo de combinação de metadados 206 ilustrativo no cliente 102 combina a semente de metadado recebida do servidor 106 com os metadados de parágrafo no cliente 102. O resultado da combinação é ilustrado na cópia de documento 308 ilustrativa.
[00043] A cópia de documento 308 ilustrativa mostra que, como resultado da combinação, os identificadores de parágrafo 1000, 1001, 1002, 1004 e 1005 (da cópia de documento 304 ilustrativa) são alterados para 2000, 2001, 2002, 2004 e 2005, respectivamente. Uma vez que o identificador de documento da semente vencedora é 2000, o módulo de combinação de metadados 206 ilustrativo no cliente 102 renumera os parágrafos no intervalo de parágrafos determinada a partir da semente de metadados recebida do servidor 106. A renumeração torna os parágrafos no intervalo de parágrafos consistente com o identificador de documentos 2000. O intervalo de parágrafos pode ser determinado a partir da semente de metadados, pois a semente de metadados inclui o identificador de documento (que é também o primeiro parágrafo do intervalo de parágrafos) e o identificador de parágrafo seguinte (que é o próximo identificador de parágrafo sequencial após o último identificador de parágrafo no intervalo de parágrafos) e também porque todos os parágrafos no intervalo de parágrafos são numerados sequencialmente. Portanto, o primeiro parágrafo no documento aberto no cliente 102 é renumerado de 1000 a 2000. O intervalo de parágrafos inclui os parágrafos de 1000 a 1005. Portanto, o parágrafo 1001 é renumerado como 2001, o parágrafo 1002 é renumerado como 2002, o parágrafo 1004 é renumerado como 2004 e o parágrafo 1005 é renumerado como 2005. Como discutido anteriormente, o parágrafo 1003 foi excluído.
[00044] O módulo de combinação de metadados 206 no cliente 102 também determina todos os identificadores de parágrafo do documento aberto no cliente 102 que não estão inclusos no intervalo de parágrafos. Isso inclui parágrafos com os identificadores de parágrafo 2002, 8123 e 9123 que foram adicionados à cópia de documento 304 ilustrativa. Uma vez que o parágrafo 2002 adicionado entra em conflito com o parágrafo renumerado 2002 (parágrafo original 1002), o módulo de combinação de metadados 206 ilustrativos renumera o parágrafo adicionado 2002 como 1002. O módulo de combinação de metadados 206 ilustrativo renumera o parágrafo adicionado 2002 como 1002, uma vez que o identificador de parágrafo 1002 não é mais usado no documento, e, portanto, não há conflito se o parágrafo 1002 for usado. O módulo de combinação de metadados 206 ilustrativo não altera os identificadores de parágrafo 8123 e 9123, pois não há conflitos causados por esses identificadores de parágrafo.
[00045] Quando a combinação de metadados está completa, os parágrafos com conteúdo comum para o documento aberto no cliente 102 e para o documento aberto no cliente 104 possuem identificadores de parágrafo idênticos. Por exemplo, se antes da combinação, os parágrafos com os identificadores 1000, 1001, 1002, 1004 e 1005 para o documento aberto no cliente 1002 possuem conteúdo comum com os parágrafos com os identificadores 2000, 2001, 2002, 2004 e 2005, respectivamente, para o documento aberto no cliente 104, após a combinação, esses parágrafos tanto no cliente 102 quanto no cliente 104 possuem os identificadores de parágrafo 2000, 2001, 2002, 2004 e 2005. Isso permite que bloqueios de parágrafo sejam designados a esses parágrafos. Por exemplo, quando um autor no cliente 102 edita o parágrafo 2004, um bloqueio de parágrafo é transmitido ao documento no cliente 104, impedindo que o cliente 104 edite o parágrafo 2004. O bloqueio de parágrafo assegura que múltiplos autores não possam editar o mesmo parágrafo simultaneamente.
[00046] Quando o autor no cliente 102 realiza uma operação de salvamento, as alterações de conteúdo para o documento aberto no cliente 102 são enviadas ao servidor 106 através do canal de dados 113. Além de transmitir alterações de conteúdo, a operação de salvamento também remove quaisquer bloqueios de parágrafo associados aos parágrafos anteriormente editados no cliente 102. A alteração nos bloqueios é comunicada através do canal de metadados 111.
[00047] O conteúdo salvo e a remoção dos bloqueios de parágrafo são propagados a todos os autores que estão editando atualmente o documento. Isso permite que os autores editem parágrafos que foram bloqueados anteriormente. No entanto, uma vez que um autor inicia a edição de um parágrafo, um novo bloqueio de parágrafo é criado e propagado a todos os outros autores que estão atualmente editando o documento através do canal de metadados 111.
[00048] Uma vez sincronizados os identificadores de parágrafo, as alterações adicionais ao documento feitas tanto pelo cliente 102 quanto pelo cliente 104 podem ser sincronizadas usando os identificadores de parágrafo da maneira descrita no Pedido de Patente U.S. de N2 11/951,973, depositado em 6 de dezembro de 2007, cuja totalidade é aqui incorporada por referência.
[00049] A discussão anterior relativa à combinação dos metadados descreve dois autores. Em outras concretizações ilustrativas, mais de dois autores podem editar o mesmo documento. As mesmas operações de combinação de metadados aplicam-se a concretizações ilustrativas com mais de dois autores.
[00050] A Figura 4 mostra um fluxograma ilustrativo de um método 400 para combinar metadados de documento em um computador cliente. Na operação 402, um autor no cliente 102 ilustrativo obtém um documento do servidor 106 ilustrativo e abre o documento no cliente 102. O servidor 106 é um servidor, tal como o Microsoft SharePoint Server 2007, usado com um sistema de colaboração de documentos baseado em Internet, tal como o Microsoft SharePoint. O cliente 102 abre o documento com um programa de processamento de texto, tal como o Microsoft Word. O método 400 ilustrativo pressupõe que, no momento em que o autor no cliente 102 abre o documento, nenhum outro autor está com o documento aberto.
[00051] Na operação 404, o cliente 102 determina se o documento inclui identificadores de parágrafo. Normalmente, os documentos herdados armazenados no servidor 106 não incluem identificadores de parágrafo, pois os documentos herdados são criados por aplicativos de processamento de texto que não dão suporte à edição colaborativa ou incluem identificadores de parágrafo. Se o documento incluir identificadores de parágrafo, o cliente 102 pode iniciar a edição do documento na operação 406.
[00052] Se o documento não incluir identificadores de parágrafo, os identificadores de parágrafo são designados ao documento na operação 408. O módulo de operações de metadados 204 ilustrativo gera aleatoriamente um identificador de documento para o documento. O identificador de documento, geralmente um número de 32 bits com uma faixa de 1 a 0x7fffffff, é então designado ao primeiro parágrafo do documento. Em seguida, os parágrafos restantes são numerados sequencialmente a partir do identificador de documento.
[00053] Na operação 410, o autor no cliente 102 prossegue com a edição do documento. Uma vez que o autor no cliente 102 é o único autor que abriu o documento, o autor no cliente 102 pode editar qualquer parágrafo do documento e também pode adicionar e excluir parágrafos.
[00054] Na operação 412, o cliente 102 recebe uma mensagem do servidor 106 que fornece notificação ao cliente 102 de que pelo menos um outro autor, por exemplo, um autor no cliente 104, abriu o documento. Quando o cliente 102 recebe uma notificação de que pelo menos um outro autor abriu o documento, na operação 414, o módulo de operações de metadados 204 ilustrativo no cliente 102 envia primeiros metadados ao servidor 106. Os primeiros metadados incluem uma semente de metadados para o documento aberto no cliente 102, incluindo o identificador de documento, um identificador de parágrafo seguinte e um identificador de revisão.
[00055] Na operação 416, o cliente 102 recebe uma mensagem do servidor 106 que inclui segundos metadados. Os segundos metadados se originam de um dos outros autores que estão editando o documento, por exemplo, o autor no cliente 104. Os segundos metadados representam a semente de metadado vencedora recebida no servidor 106. A semente de metadado vencedora é a primeira semente de metadado recebida no servidor 106 a partir de pelo menos um dos outros autores que estão editando o documento. Os segundos metadados incluem o identificador de documentos, o identificador de parágrafo seguinte e o identificador de revisão do cliente que envia a semente de metadado vencedora ao servidor 106, por exemplo, o cliente 104.
[00056] Na operação 418, o cliente 102 determina se os primeiros metadados e os segundos metadados devem ser combinados. As etapas envolvidas na determinação quanto a se os primeiros metadados e os segundos metadados devem ser combinados são ilustradas na Figura 5 e discutidas posteriormente nesta revelação. Caso seja determinado que os primeiros metadados e os segundos metadados não devem ser combinados, na operação 420, o autor no cliente 120 continua a editar o documento.
[00057] Caso seja determinado que os primeiros metadados e os segundos metadados devem ser combinados, na operação 422, o módulo de combinação de metadados 206 ilustrativo no cliente 102 combina os primeiros metadados e os segundos metadados. Os metadados são combinados mediante o ajuste dos identificadores de parágrafo no documento aberto pelo autor no cliente 102. A operação de ajuste dos identificadores de parágrafo inclui alterar os identificadores de parágrafo para todos os parágrafos no documento abertos no cliente 102 que possuem conteúdo comum com os parágrafos correspondentes no documento aberto no cliente 104. Os identificadores de parágrafo no documento aberto no cliente 102 são alterados para identificadores de parágrafo correspondentes indicados pelo identificador de documento e pelo identificador de parágrafo seguinte incluso nos segundos metadados. Por exemplo, se os parágrafos 1-3 no documento aberto no cliente 102 tiverem conteúdo em comum com os parágrafos 1-3 no documento aberto no cliente 104 e se o identificador de documento para o documento no cliente 102 for 1000 e o identificador de documento nos segundos metadados for 2000, os primeiros três parágrafos no documento no cliente 104 são renumerados como 2000, 2001 e 2002.
[00058] Além disso, caso seja determinado que os parágrafos adicionados aos documentos abertos no cliente 102, mas não salvos, possuem identificadores de parágrafo no intervalo de parágrafos indicado pelos segundos metadados, o módulo de combinação de metadados 206 ilustrativo altera esses identificadores de parágrafo de modo que eles sejam únicos no documento.
[00059] A Figura 5 mostra um fluxograma ilustrativo de um método 418 para determinar se os metadados devem ser combinados em um computador cliente. O método é implementado quando um autor em um computador cliente, por exemplo, o computador cliente 102, edita um documento que inclui uma primeira semente de metadado e o computador cliente recebe uma segunda semente de metadado de um computador servidor. A segunda semente de metadado representa metadados de um segundo autor que abriu o documento. A segunda semente de metadados representa a primeira semente de metadado recebida no computador servidor a partir de um ou mais autores que abriram e estão editando o documento. As sementes de metadados incluem um identificador de documento, um identificador de página seguinte e um identificador de revisão.
[00060] Na operação 502, é feita uma determinação quanto a se o identificador de revisão da primeira semente de metadado corresponde ao identificador de revisão da segunda semente de metadado. O identificador de revisão indica a versão do documento. De modo a combinar os metadados, os documentos devem estar no mesmo nível de revisão. Isso se deve ao fato de que quando cada autor inicialmente abre o documento, o conteúdo de ambos os documentos deve ser igual. Quando se determina que o identificador de revisão da primeira semente de metadados não corresponde ao identificador de revisão da segunda semente de metadado, na operação 504, os metadados não são combinados e o autor no cliente 102 continua a edição.
[00061] Quando for determinado que o identificador de revisão da primeira semente de metadado corresponde ao identificador de revisão da segunda semente de metadado, na operação 506, é feita uma determinação quanto a se o identificador de documento da primeira semente de metadado corresponde ao identificador de documento da segunda semente de metadado. Quando os identificadores de documento se correlacionam, isso indica que os documentos já foram sincronizados e que uma combinação de metadados não é necessária. Neste caso, na operação 508, os metadados não são combinados e o autor no cliente 102 continua a edição.
[00062] Quando for determinado que o identificador de documento da primeira semente de metadado não corresponde ao identificador de revisão da segunda semente de metadado, na operação 510, é feita uma determinação quanto a se o tamanho do intervalo de parágrafos, conforme determinado a partir da primeira semente de metadado, corresponde ao tamanho do intervalo de parágrafo, conforme determinado a partir da segunda semente de metadado. Quando for determinado que os intervalos de parágrafo não são iguais, na operação 512, os metadados não são unidos e o autor no cliente 102 continua a edição.
[00063] Quando for determinado que os intervalos de parágrafos são iguais, na operação 514, a primeira semente de metadados e a segunda semente de metadados são combinadas. A combinação da primeira semente de metadado e da segunda semente de metadado compreende ajustar os identificadores de parágrafo no documento aberto no cliente 102 por operação 422, como discutido.
[00064] Com referência à Figura 6, componentes ilustrativos do cliente 102 são apresentados. Nas concretizações ilustrativas, o cliente 102 é um dispositivo de computação, tal como um computador de mesa, um computador laptop, um assistente de dados pessoal ou dispositivo celular. O cliente 102 pode incluir dispositivos de entrada/saída, uma unidade central de processamento (“CPU”), um dispositivo de armazenamento de dados, e um dispositivo de rede.
[00065] Em uma configuração básica, o dispositivo de computação 102 normalmente inclui pelo menos uma unidade de processamento 602 e memória de sistema 604. Dependendo da configuração exata e do tipo do dispositivo de computação, a memória de sistema 604 por ser volátil (tal como RAM), não-volátil (tal como ROM, memória flash etc.) ou alguma combinação de ambos. A memória do sistema 704 tipicamente inclui um sistema operacional 606 adequado para controlar a operação de um computador pessoal interligado em rede, tais como os sistemas operacionais WINDOWS® da MICROSOFT CORPORATION de Redmond, Washington ou um servidor, tal como o Windows SharePoint Server 2007, também da MICROSOFT CORPORATION de Redmond, Washington. A memória do sistema 604 também pode incluir um ou mais aplicativos de software 608 e pode incluir dados de programa 107.
[00066] O dispositivo de computação 102 pode ter características ou funcionalidades adicionais. Por exemplo, o dispositivo de computação 102 também pode incluir dispositivos de armazenamento de dados adicionais (removíveis e/ou não-removíveis), tais como, por exemplo, discos magnéticos, discos ópticos ou fitas. Tal armazenamento adicional é ilustrado na Figura 6 pelo armazenamento removível 610 e pelo armazenamento não-removível 612. Os meios de armazenamento em computador podem incluir meios voláteis e não- voláteis, removíveis e não-removíveis implementados em qualquer método ou tecnologia para o armazenamento de informações, tais como instruções legíveis por computador, estruturas de dados, módulos de programa ou outros dados. A memória de sistema 604, o armazenamento removível 610 e o armazenamento não-removível 612 são todos exemplos de meios de armazenamento de computador. Os meios de armazenamento incluem, sem a isto se restringirem, RAM, ROM, EEPROM, memória flash ou outra tecnologia de memória, CD- ROM, discos versáteis digitais (DVD) ou outro armazenamento em disco óptico, cassetes magnéticos, fita magnética, armazenamento em disco magnético ou outros dispositivos de armazenamento magnético, ou qualquer outro meio que possa ser usado para ser usado para armazenar informações desejadas e que possa ser acessado pelo dispositivo de computação 102. Qualquer meio de armazenamento de computador desse tipo pode ser parte do dispositivo 102. O dispositivo de computação 102 também pode ter dispositivo(s) de entrada 614, tal como um teclado, mouse, caneta, dispositivo de entrada de voz, dispositivo de entrada por toque etc. Também é possível incluir dispositivo(s) de saída 616, tal como uma tela, alto-falantes, impressora etc. Esses dispositivos são bem conhecidos na técnica e não precisam ser descritos em mais detalhes no presente documento.
[00067] O dispositivo de computação 102 também pode conter conexões de comunicação 618 que possibilitam que o dispositivo se comunique com outros dispositivos de computação 620, tal como por meio de uma rede em um ambiente de computação distribuída, por exemplo, uma intranet ou a Internet. A conexão de comunicação 618 é um exemplo de meio de comunicação. Normalmente, os meios de comunicação podem ser concretizados por instruções legíveis por computador, estruturas de dados, módulos de programa ou outros dados em um sinal de dados modulado, tal como uma onda portadora ou outro mecanismo de transporte, além de incluírem quaisquer meios de distribuição de informações. O termo “sinal de dados modulados” refere-se a um sinal que tem uma ou mais de suas características ajustadas ou alteradas de tal maneira a codificar as informações no sinal. A título exemplificative, e sem limitação, os meios de comunicação incluem meios com fio, tal como uma rede com fio ou conexão direta com fio, e meios sem fio, tal como acústico, RF, infravermelho e outros meios sem fio. O termo "meios legíveis por computador", conforme usado no presente documento inclui tanto meios de armazenamento quanto meios de comunicação.
[00068] As várias concretizações descritas acima são apresentadas a título meramente ilustrativo e não devem ser interpretadas como limitantes. Várias modificações e alterações podem ser realizadas nas concretizações descritas acima sem divergir do âmbito verdadeiro da revelação.

Claims (13)

1. Método implementado em um computador cliente (102) para combinar metadados de documento em um computador cliente (102) caracterizado pelo fato de que compreende as etapas de: obter, pelo computador cliente, um documento a partir de um computador servidor (106) no computador cliente (102), o documento sendo solicitado por um usuário no computador cliente (102); abrir o documento no computador cliente (102); em resposta à abertura do documento no computador cliente (102), determinar, pelo computador cliente, se o documento inclui identificadores de unidade, os identificadores de unidade incluindo um ou mais identificadores de parágrafo, identificadores de sentença ou identificadores de tabela; quando uma determinação é feita que o documento não inclui identificadores de parágrafo, designar um identificador de parágrafo para cada parágrafo no documento; receber uma primeira mensagem a partir do computador servidor (106) fornecendo uma notificação de que pelo menos um outro usuário está editando o documento; em resposta ao recebimento da primeira mensagem a partir do computador servidor (106) de que pelo menos um outro usuário está editando o documento, enviar uma segunda mensagem ao computador servidor (106), a segunda mensagem incluindo primeiros metadados para o documento, os primeiros metadados incluindo um primeiro identificador de próximo parágrafo para o documento, um primeiro identificador de documento e um primeiro identificador de revisão; determinar um primeiro intervalo identificador de parágrafo a partir do primeiro identificador de documento e a partir do primeiro identificador de próximo parágrafo, o primeiro identificador no primeiro intervalo identificador de parágrafo sendo o primeiro identificador de documento e um último identificador no primeiro intervalo identificador de parágrafo sendo um inferior ao primeiro identificador de próximo parágrafo; em resposta ao envio da segunda mensagem ao computador servidor (106), receber uma terceira mensagem a partir do computador servidor (106), a terceira mensagem incluindo segundos metadados para o documento, os segundos metadados incluindo um segundo identificador de próximo parágrafo para o documento, um segundo identificador de documento e um segundo identificador de revisão; determinar um segundo intervalo identificador de parágrafo a partir do segundo identificador de documento e a partir do segundo identificador de próximo parágrafo, o primeiro identificador no segundo intervalo identificador de parágrafo sendo o segundo identificador de documento e um último identificador no segundo intervalo identificador de parágrafo sendo um inferior ao segundo identificador de próximo parágrafo; em resposta ao recebimento da terceira mensagem a partir do computador servidor (106), determinar se o primeiro metadados e o segundo metadados devem ser combinados por: determinar se o primeiro identificador de revisão corresponde ao segundo identificador de revisão; quando uma determinação é feita que o primeiro identificador de revisão corresponde ao segundo identificador de revisão, determinar se o primeiro identificador de documento corresponde ao segundo identificador de documento; quando uma determinação é feita de que o primeiro identificador de revisão corresponde ao segundo identificador de revisão e quando uma determinação é feita de que o primeiro identificador de documento não corresponde ao segundo identificador de documento, determinar se um tamanho do primeiro intervalo identificador de próximo parágrafo corresponde a um tamanho do segundo intervalo identificador de parágrafo; e quando uma determinação é feita de que o primeiro identificador de revisão corresponde ao segundo identificador de revisão, quando uma determinação é feita de que o primeiro identificador de documento não corresponde ao segundo identificador de documento e quando uma determinação é feita de que o tamanho do primeiro intervalo identificador de próximo parágrafo corresponde ao tamanho do segundo intervalo identificador de parágrafo, determinar que os primeiros metadados e os segundos metadados devem ser combinados; e quando uma determinação for feita de que os primeiros metadado e os segundos metadados devem ser combinados, ajustar os identificadores de parágrafo no documento com base nos segundos metadados.
2. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que o primeiro intervalo identificador de parágrafo é determinado a partir do primeiro identificador de documento, e em que o segundo intervalo identificador de parágrafo é determinado a partir do segundo metadados, o primeiro intervalo identificador de parágrafo incluindo um primeiro identificador e um último identificador e o segundo intervalo identificador de parágrafo incluindo um primeiro identificador e um último identificador, o primeiro identificador no primeiro intervalo identificador de parágrafo tendo um valor inicial igual ao primeiro identificador de documento e o último identificador no primeiro intervalo identificador de parágrafo tendo um valor igual a um menor que o primeiro identificador de próximo parágrafo, o primeiro identificador no segundo intervalo identificador de parágrafo tendo um valor inicial igual ao segundo identificador de documento e o último identificador no segundo intervalo identificador de parágrafo tendo um valor igual a um a menos que o segundo identificador de próximo parágrafo.
3. Método, de acordo com a reivindicação 2, caracterizado pelo fato de que o primeiro identificador de documento é gerado aleatoriamente, em que cada parágrafo no primeiro intervalo identificador de parágrafo é numerado sequencialmente, iniciando do primeiro identificador de documento, e em que cada parágrafo no segundo intervalo identificador de parágrafo é numerado sequencialmente iniciando do segundo identificador de documento.
4. Método, de acordo com a reivindicação 3, caracterizado pelo fato de que ajustar os identificadores de parágrafo no documento com base no segundo metadados compreende alterar o primeiro identificador no primeiro intervalo identificador de parágrafo para o segundo identificador de documento.
5. Método, de acordo com a reivindicação 4, caracterizado pelo fato de que ainda compreende alterar identificadores de parágrafo para parágrafos incluídos no primeiro intervalo identificador de parágrafo para identificadores de parágrafo correspondentes incluídos no segundo intervalo identificador de parágrafo.
6. Método, de acordo com a reivindicação 5, caracterizado pelo fato de que ainda compreende determinar se um ou mais identificadores de parágrafo dos parágrafos não incluídos no primeiro intervalo identificador de parágrafo estão incluídos no segundo intervalo identificador de parágrafo.
7. Método, de acordo com a reivindicação 5, caracterizado pelo fato de que ainda compreende, quando uma determinação é feita de que um ou mais identificadores de parágrafo a partir dos parágrafos não incluídos no primeiro intervalo identificador de parágrafo estão incluídos no segundo intervalo identificador de parágrafo, alterar um ou mais identificadores de parágrafo a partir dos parágrafos não incluídos no primeiro intervalo identificador de parágrafo para um identificador de parágrafo incluído no primeiro intervalo identificador de parágrafo.
8. Dispositivo de computação (102) caracterizado pelo fato de que compreende: uma unidade de processamento (602); uma memória do sistema (604) conectada à unidade de processamento (602), a memória do sistema (604) compreendendo um método que cria: um módulo de processamento de metadados (204) que gera, monitora e armazena metadados para um documento no dispositivo de computação (102), os metadados incluindo primeiros metadados e segundos metadados, o primeiro metadados incluindo um primeiro identificador de documento, um primeiro identificador de próximo parágrafo e um primeiro identificador de revisão, os segundos metadados incluindo um segundo identificador de documento, um segundo identificador de próximo parágrafo e um segundo identificador de revisão, o módulo de processamento de metadados (204) gerando um primeiro intervalo identificador de parágrafo a partir do primeiro identificador de documento e a partir do primeiro identificador de próximo parágrafo e um segundo intervalo identificador de parágrafo a partir do segundo identificador de documento e a partir do segundo identificador de próximo parágrafo, o primeiro intervalo identificador de parágrafo incluindo um primeiro identificador de parágrafo e um último identificador de parágrafo, o primeiro identificador de parágrafo tendo um valor igual ao primeiro identificador de documento e o último identificador de parágrafo tendo um valor igual a um a menos do que o primeiro identificador de próximo parágrafo; e um módulo de combinação de metadados (206) que combina os metadados para o documento com metadados recebidos a partir de um computador servidor (106), em que o módulo de combinação de metadados (206) determina que o primeiro metadados e o segundo metadados devem ser combinados e ajusta os identificadores de parágrafo no documento com base no segundo metadados quando uma determinação é feita de que o primeiro identificador de revisão combina com o segundo identificador de revisão e quando uma determinação é feita de que o primeiro identificador documento não combina com o segundo identificador de documento e quando uma determinação é feita de que o tamanho do primeiro intervalo identificador de parágrafo combina com um tamanho do segundo intervalo identificador de parágrafo.
9. Dispositivo de computação, de acordo com a reivindicação 8, caracterizado pelo fato de que o módulo de processamento de metadados armazena metadados em um arquivo no computador servidor (106) que está separado do documento.
10. Dispositivo de computação, de acordo com a reivindicação 8, caracterizado pelo fato de que o módulo de processamento de metadados gera identificadores de parágrafo para cada parágrafo no primeiro intervalo identificador de parágrafo, cada identificador de parágrafo no primeiro intervalo identificador de parágrafo sendo sequencialmente numerado.
11. Dispositivo de computação, de acordo com a reivindicação 8, caracterizado pelo fato de que o módulo de combinação de metadados altera o segundo identificador de documento por um identificador de documento incluído nos metadados recebidos pelo computador servidor.
12. Dispositivo de computação, de acordo com a reivindicação 8, caracterizado pelo fato de que o módulo de combinação de metadados altera um identificador de parágrafo de um ou mais parágrafos não incluídos no primeiro intervalo de parágrafo por um identificador de parágrafo incluído no segundo intervalo de parágrafo quando um ou mais parágrafos não incluídos no primeiro intervalo de parágrafo são incluídos em um intervalo de parágrafo determinado a partir de um identificador de documento e um identificador de próximo parágrafo incluído nos metadados recebidos a partir do computador servidor (106).
13. Memória de armazenamento de dados legível por computador que compreende o método caracterizado pelo fato de que compreende: obter um documento a partir de um computador servidor (106), o documento sendo solicitado por um usuário no dispositivo de computador eletrônico (102); abrir o documento; em resposta à abertura do documento, determinar se o documento inclui identificadores de parágrafo; quando for determinado que o documento não inclui identificadores de parágrafo, designar um identificador de parágrafo a cada parágrafo no documento mediante as etapas de: gerar aleatoriamente um identificador para o primeiro parágrafo do documento; designar o identificador para o primeiro parágrafo do documento como um primeiro identificador de documento; designar sequencialmente identificadores aos parágrafos restantes no documento; e designar um primeiro identificador de próximo parágrafo tendo um valor um maior que o identificador atribuído ao último parágrafo no documento; receber uma primeira mensagem a partir do computador servidor (106) de que pelo menos um outro usuário está editando o documento; em resposta ao recebimento da primeira mensagem a partir do computador servidor (106) de que pelo menos um outro usuário está editando o documento, enviar uma segunda mensagem ao computador servidor (106), a segunda mensagem incluindo primeiro metadados para o documento, o primeiro metadados incluindo o primeiro identificador de documento, o primeiro identificador de próximo parágrafo e um primeiro identificador de revisão; determinar um primeiro intervalo identificador de parágrafo a partir do primeiro identificador de documento e a partir do primeiro identificador de próximo parágrafo, o primeiro identificador no primeiro intervalo identificador de parágrafo sendo o primeiro identificador de documento e o último identificador no primeiro intervalo identificador de parágrafo sendo um a menos do que o primeiro identificador de próximo parágrafo; em resposta ao envio da segunda mensagem ao computador servidor (106), receber uma terceira mensagem a partir do computador servidor (106), a terceira mensagem incluindo segundo metadados para o documento, o segundo metadados incluindo um segundo identificador de documento, um segundo intervalo identificador de parágrafo e um segundo identificador de revisão; determinar um segundo intervalo identificador de parágrafo a partir do segundo identificador de documento e a partir do segundo identificador de próximo parágrafo, o primeiro identificador no segundo intervalo identificador de parágrafo sendo o segundo identificador de documento e o último identificador no segundo intervalo identificador de parágrafo sendo um a menos do que o segundo identificador de próximo parágrafo; em resposta ao recebimento da terceira mensagem a partir do computador servidor (106), determinar se os primeiros metadados e os segundos metadados devem ser combinados mediante as etapas de: determinar se o primeiro identificador de revisão corresponde ao segundo identificador de revisão; quando for determinado que o primeiro identificador de revisão corresponde ao segundo identificador de revisão, determinar se o primeiro identificador de documento corresponde ao segundo identificador de documento; quando for determinado que o primeiro identificador de revisão corresponde ao segundo identificador de revisão e quando for determinado que o primeiro identificador de documento não corresponde ao segundo identificador de documento, determinar se o tamanho do primeiro intervalo identificador de parágrafo corresponde ao tamanho do segundo intervalo identificador de parágrafo; quando for determinado que o primeiro identificador de revisão corresponde ao segundo identificador de revisão, quando for determinado que o primeiro identificador de documento não corresponde ao segundo identificador de documento e quando for determinado que o tamanho do primeiro intervalo identificador de parágrafo corresponde ao tamanho do segundo intervalo identificador de parágrafo, determinar que os primeiros metadados e os segundos metadados devem ser combinados; e quando for determinado que os primeiros metadados e os segundos metadados devem ser combinados, ajustar os identificadores de parágrafo no documento com base nos segundos metadados mediante as etapas de: designar o segundo identificador de documento como o primeiro identificador de documento, o segundo identificador de documento sendo também designado como o identificador de parágrafo para o primeiro parágrafo no primeiro intervalo identificador de parágrafo; atribuir identificadores de parágrafo no segundo intervalo identificador de parágrafo aos parágrafos correspondentes no primeiro intervalo identificador de parágrafo; determinar se um identificador de parágrafo no documento a partir de um parágrafo não incluído no primeiro intervalo identificador de parágrafo corresponde a um identificador de parágrafo no segundo intervalo identificador de parágrafo; e quando for determinado que um identificador de parágrafo no documento a partir de um parágrafo não incluído no primeiro intervalo identificador de parágrafo corresponde a um identificador de parágrafo no segundo intervalo identificador de parágrafo, designar o identificador de parágrafo no documento que corresponde a um identificador de parágrafo no segundo intervalo identificador de parágrafo a um identificador de parágrafo no primeiro intervalo identificador de parágrafo.
BRPI1011470-0A 2009-04-30 2010-04-23 Método implementado em um computador cliente para combinar metadados de documento em um computador cliente, dispositivo de computação e memória de armazenamento de dados legível por computador BRPI1011470B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/432,817 2009-04-30
US12/432,817 US8346768B2 (en) 2009-04-30 2009-04-30 Fast merge support for legacy documents
PCT/US2010/032309 WO2010126804A2 (en) 2009-04-30 2010-04-23 Fast merge support for legacy documents

Publications (2)

Publication Number Publication Date
BRPI1011470A2 BRPI1011470A2 (pt) 2016-03-22
BRPI1011470B1 true BRPI1011470B1 (pt) 2020-09-29

Family

ID=43031189

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI1011470-0A BRPI1011470B1 (pt) 2009-04-30 2010-04-23 Método implementado em um computador cliente para combinar metadados de documento em um computador cliente, dispositivo de computação e memória de armazenamento de dados legível por computador

Country Status (14)

Country Link
US (1) US8346768B2 (pt)
EP (1) EP2425358B1 (pt)
JP (1) JP5787878B2 (pt)
KR (1) KR101669699B1 (pt)
CN (1) CN102414678B (pt)
AU (1) AU2010241814B2 (pt)
BR (1) BRPI1011470B1 (pt)
CA (1) CA2756863C (pt)
IL (1) IL215415A0 (pt)
MX (1) MX2011011345A (pt)
RU (1) RU2527744C2 (pt)
TW (1) TWI427491B (pt)
WO (1) WO2010126804A2 (pt)
ZA (1) ZA201106946B (pt)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7941399B2 (en) 2007-11-09 2011-05-10 Microsoft Corporation Collaborative authoring
US8825758B2 (en) 2007-12-14 2014-09-02 Microsoft Corporation Collaborative authoring modes
US8301588B2 (en) 2008-03-07 2012-10-30 Microsoft Corporation Data storage for file updates
US8352870B2 (en) 2008-04-28 2013-01-08 Microsoft Corporation Conflict resolution
US8429753B2 (en) 2008-05-08 2013-04-23 Microsoft Corporation Controlling access to documents using file locks
US8825594B2 (en) 2008-05-08 2014-09-02 Microsoft Corporation Caching infrastructure
US8417666B2 (en) 2008-06-25 2013-04-09 Microsoft Corporation Structured coauthoring
US9396279B1 (en) * 2009-02-17 2016-07-19 Jpmorgan Chase Bank, Na Collaborative virtual markup
JP5710156B2 (ja) * 2010-05-31 2015-04-30 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation コンテンツ・データ中のオブジェクトの共同編集を可能にする方法、並びにそのコンピュータ・システム及びコンピュータ・プログラム
US20120101980A1 (en) * 2010-10-26 2012-04-26 Microsoft Corporation Synchronizing online document edits
US10733151B2 (en) 2011-10-27 2020-08-04 Microsoft Technology Licensing, Llc Techniques to share media files
US9053079B2 (en) 2011-12-12 2015-06-09 Microsoft Technology Licensing, Llc Techniques to manage collaborative documents
US20130174030A1 (en) * 2012-01-04 2013-07-04 Freedom Solutions Group, LLC, d/b/a Microsystems Method and apparatus for analyzing abbreviations in a document
US20130174029A1 (en) * 2012-01-04 2013-07-04 Freedom Solutions Group, LLC d/b/a Microsystems Method and apparatus for analyzing a document
US8583614B1 (en) 2012-01-30 2013-11-12 Lucid Software, Inc. Automatic offline synchronization of browser documents
CN103377240B (zh) * 2012-04-26 2017-03-01 阿里巴巴集团控股有限公司 信息提供方法、处理服务器及合并服务器
US9946691B2 (en) * 2013-01-30 2018-04-17 Microsoft Technology Licensing, Llc Modifying a document with separately addressable content blocks
US9460073B2 (en) * 2013-02-27 2016-10-04 Google Inc. Systems and methods for mutations and operational transforms in a collaborative spreadsheet environment
US20150254213A1 (en) * 2014-02-12 2015-09-10 Kevin D. McGushion System and Method for Distilling Articles and Associating Images
US10891320B1 (en) 2014-09-16 2021-01-12 Amazon Technologies, Inc. Digital content excerpt identification
US9910916B1 (en) * 2014-09-16 2018-03-06 Amazon Technologies, Inc. Digital content excerpt identification
US10380226B1 (en) 2014-09-16 2019-08-13 Amazon Technologies, Inc. Digital content excerpt identification
US20160321226A1 (en) * 2015-05-01 2016-11-03 Microsoft Technology Licensing, Llc Insertion of unsaved content via content channel
US20210141648A1 (en) * 2018-07-31 2021-05-13 Hewlett-Packard Development Company, L.P. Configuration manager data structures
CN109597804B (zh) * 2018-10-08 2023-10-03 中国平安人寿保险股份有限公司 基于大数据的客户合并方法及装置、电子设备及存储介质

Family Cites Families (264)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4855580A (en) 1987-11-20 1989-08-08 Recognition Equipment Incorporated Data merge document processing method
US5107443A (en) 1988-09-07 1992-04-21 Xerox Corporation Private regions within a shared workspace
US5799320A (en) 1989-08-23 1998-08-25 John R. Klug Remote multiple-user editing system and method
US5142619A (en) 1990-02-21 1992-08-25 International Business Machines Corporation Method and apparatus for visually comparing files in a data processing system
CA2039652C (en) 1990-05-30 1996-12-24 Frank Zdybel, Jr. Hardcopy lossless data storage and communications for electronic document processing systems
US5313394A (en) 1990-12-11 1994-05-17 Barbara Clapp Document assembly customization system for modifying a source instrument including text and decisional commands
US5671428A (en) 1991-08-28 1997-09-23 Kabushiki Kaisha Toshiba Collaborative document processing system with version and comment management
US5339389A (en) 1991-12-31 1994-08-16 International Business Machines Corporation User selectable lock regions
JPH0827754B2 (ja) 1992-05-21 1996-03-21 インターナショナル・ビジネス・マシーンズ・コーポレイション コンピュータシステムにおけるファイル管理方法及びファイル管理システム
JP3252454B2 (ja) 1992-06-30 2002-02-04 富士ゼロックス株式会社 共有データ変更状況把握装置
US5555388A (en) 1992-08-20 1996-09-10 Borland International, Inc. Multi-user system and methods providing improved file management by reading
US5978784A (en) 1992-10-05 1999-11-02 Expert Systems Publishing Co. Computer-implemented decision management system with dynamically generated questions and answer choices
US5579223A (en) 1992-12-24 1996-11-26 Microsoft Corporation Method and system for incorporating modifications made to a computer program into a translated version of the computer program
US5446842A (en) 1993-02-26 1995-08-29 Taligent, Inc. Object-oriented collaboration system
JP2703498B2 (ja) 1993-04-30 1998-01-26 インターナショナル・ビジネス・マシーンズ・コーポレイション バージョン化オブジェクトに対するロッキング機構
JP3053153B2 (ja) * 1993-09-20 2000-06-19 株式会社日立製作所 文書管理システムのアプリケーション起動方法
US6760840B1 (en) 1994-03-15 2004-07-06 Kabushiki Kaisha Toshiba File editing system and shared file editing system with file content secrecy, file version management, and asynchronous editing
US6181837B1 (en) 1994-11-18 2001-01-30 The Chase Manhattan Bank, N.A. Electronic check image storage and retrieval system
US5751958A (en) 1995-06-30 1998-05-12 Peoplesoft, Inc. Allowing inconsistency in a distributed client-server application
US5887146A (en) 1995-08-14 1999-03-23 Data General Corporation Symmetric multiprocessing computer with non-uniform memory access architecture
US5729734A (en) 1995-11-03 1998-03-17 Apple Computer, Inc. File privilege administration apparatus and methods
US5781908A (en) 1995-12-18 1998-07-14 J.D. Edwards World Source Company File data synchronizer in a distributed data computer network
US6006239A (en) 1996-03-15 1999-12-21 Microsoft Corporation Method and system for allowing multiple users to simultaneously edit a spreadsheet
US5781732A (en) 1996-06-20 1998-07-14 Object Technology Licensing Corp. Framework for constructing shared documents that can be collaboratively accessed by multiple users
US5787262A (en) 1996-06-26 1998-07-28 Microsoft Corporation System and method for distributed conflict resolution between data objects replicated across a computer network
US5835950A (en) 1996-07-12 1998-11-10 Samsung Electronics Co., Ltd. Self-invalidation method for reducing coherence overheads in a bus-based shared-memory multiprocessor apparatus
US6244575B1 (en) * 1996-10-02 2001-06-12 Micron Technology, Inc. Method and apparatus for vaporizing liquid precursors and system for using same
US6202085B1 (en) 1996-12-06 2001-03-13 Microsoft Corportion System and method for incremental change synchronization between multiple copies of data
US6708221B1 (en) 1996-12-13 2004-03-16 Visto Corporation System and method for globally and securely accessing unified information in a computer network
US6065026A (en) 1997-01-09 2000-05-16 Document.Com, Inc. Multi-user electronic document authoring system with prompted updating of shared language
JP2996197B2 (ja) 1997-02-14 1999-12-27 日本電気株式会社 文書共有管理方法
US6233600B1 (en) 1997-07-15 2001-05-15 Eroom Technology, Inc. Method and system for providing a networked collaborative work environment
US6209010B1 (en) 1997-07-18 2001-03-27 Varis Corporation Computer implemented method for wrapping data to an arbitrary path defined by a page description language
US6240414B1 (en) 1997-09-28 2001-05-29 Eisolutions, Inc. Method of resolving data conflicts in a shared data environment
US5946700A (en) 1997-10-31 1999-08-31 Oracle Corporation Method and apparatus for preserving non-current information that can be overwritten in a computer file
US6327611B1 (en) 1997-11-12 2001-12-04 Netscape Communications Corporation Electronic document routing system
US6067551A (en) 1997-11-14 2000-05-23 Microsoft Corporation Computer implemented method for simultaneous multi-user editing of a document
US6073161A (en) 1997-12-16 2000-06-06 International Business Machines Corporation Method and apparatus for determining editing conflicts in a multi-authoring system
US6000945A (en) 1998-02-09 1999-12-14 Educational Testing Service System and method for computer based test assembly
US6088702A (en) 1998-02-25 2000-07-11 Plantz; Scott H. Group publishing system
AUPP252298A0 (en) * 1998-03-24 1998-04-23 80-20 Software Pty Limited Document management software
US6275935B1 (en) 1998-04-17 2001-08-14 Thingworld.Com, Llc Systems and methods for locking interactive objects
US6209128B1 (en) 1998-06-05 2001-03-27 International Business Machines Corporation Apparatus and method for providing access to multiple object versions
US6438564B1 (en) 1998-06-17 2002-08-20 Microsoft Corporation Method for associating a discussion with a document
US6507845B1 (en) 1998-09-14 2003-01-14 International Business Machines Corporation Method and software for supporting improved awareness of and collaboration among users involved in a task
US6341291B1 (en) 1998-09-28 2002-01-22 Bentley Systems, Inc. System for collaborative engineering using component and file-oriented tools
US6324544B1 (en) 1998-10-21 2001-11-27 Microsoft Corporation File object synchronization between a desktop computer and a mobile device
US6363352B1 (en) 1998-11-13 2002-03-26 Microsoft Corporation Automatic scheduling and formation of a virtual meeting over a computer network
US6502113B1 (en) 1998-11-23 2002-12-31 John E. Crawford Negotiation manager incorporating clause modification and markers for tracking negotiation progress
JP2000163344A (ja) 1998-11-27 2000-06-16 Nec Corp ネットワーク管理システムのデータベース復旧方式
US7024430B1 (en) 1998-12-08 2006-04-04 Starfish Software, Inc. Method and system for implementing a filter in a data synchronization system
US6681371B1 (en) 1998-12-21 2004-01-20 At&T Corp. System and method for using container documents as multi-user domain clients
KR100309803B1 (ko) 1998-12-26 2001-12-17 서평원 망관리시스템과관리대상장비간의데이터베이스동기화장치및방법
US7065633B1 (en) 1999-01-28 2006-06-20 Ati International Srl System for delivering exception raised in first architecture to operating system coded in second architecture in dual architecture CPU
US6342906B1 (en) 1999-02-02 2002-01-29 International Business Machines Corporation Annotation layer for synchronous collaboration
US6687878B1 (en) 1999-03-15 2004-02-03 Real Time Image Ltd. Synchronizing/updating local client notes with annotations previously made by other clients in a notes database
US7007235B1 (en) 1999-04-02 2006-02-28 Massachusetts Institute Of Technology Collaborative agent interaction control and synchronization system
US6317777B1 (en) 1999-04-26 2001-11-13 Intel Corporation Method for web based storage and retrieval of documents
TW428146B (en) 1999-05-05 2001-04-01 Inventec Corp Data file updating method by increment
US6430576B1 (en) 1999-05-10 2002-08-06 Patrick Gates Distributing and synchronizing objects
CN1154054C (zh) 1999-06-04 2004-06-16 网络装置公司 对不同文件锁定协议强制实施统一文件锁定的方法及文件服务器
US6438548B1 (en) 1999-06-30 2002-08-20 International Business Machines Corporation Method of and system for managing documents in a bandwidth constrained environment
US6327584B1 (en) 1999-07-30 2001-12-04 Hewlett-Packard Company Apparatus and method for using version control to dynamically update files while the files are available for access
US6560620B1 (en) 1999-08-03 2003-05-06 Aplix Research, Inc. Hierarchical document comparison system and method
JP3915331B2 (ja) 1999-08-10 2007-05-16 富士ゼロックス株式会社 共有ドキュメントの編集装置及び編集方法
US6516339B1 (en) 1999-08-18 2003-02-04 International Business Machines Corporation High performance client/server editor
US6526434B1 (en) 1999-08-24 2003-02-25 International Business Machines Corporation System and method for efficient transfer of data blocks from client to server
US6189009B1 (en) 1999-08-27 2001-02-13 The Voice.Com, Inc. System and method for integrating paper-based business documents with computer-readable data entered via a computer network
US7089278B1 (en) 1999-09-07 2006-08-08 Fuji Xerox Co., Ltd. Anchored conversations: adhesive, in-context, virtual discussion forums
US6560514B1 (en) * 1999-09-23 2003-05-06 Kic Thermal Profiling Method and apparatus for optimizing control of a part temperature in conveyorized thermal processor
JP2001092707A (ja) 1999-09-24 2001-04-06 Nec Corp 情報処理システム、構造化文書処理システム、その更新方法及びその更新プログラムを記録した記録媒体
US7039860B1 (en) * 1999-10-01 2006-05-02 Netspinner Solutions As Creating web pages category list prior to the list being served to a browser
US6578054B1 (en) 1999-10-04 2003-06-10 Microsoft Corporation Method and system for supporting off-line mode of operation and synchronization using resource state information
WO2001033362A1 (en) 1999-11-05 2001-05-10 Attivo Software, Inc. Action communication and synchronization for documents accessed by multiple users
US6560614B1 (en) 1999-11-12 2003-05-06 Xosoft Inc. Nonintrusive update of files
US6751618B1 (en) 1999-11-24 2004-06-15 Unisys Corporation Method and apparatus for a web application server to upload multiple files and invoke a script to use the files in a single browser request
AU3435801A (en) 1999-12-16 2001-06-25 Perimed Compliance Corporation System and method for electronic archiving and retrieval of medical documents
US6529905B1 (en) 2000-01-11 2003-03-04 Frontline Solutions, Inc. Method and system for allowing multiple users to edit a hierarchical data structure
US6694336B1 (en) 2000-01-25 2004-02-17 Fusionone, Inc. Data transfer and synchronization system
JP3879350B2 (ja) 2000-01-25 2007-02-14 富士ゼロックス株式会社 構造化文書処理システム及び構造化文書処理方法
SG99886A1 (en) 2000-02-24 2003-11-27 Ibm System and method for collaborative multi-device web browsing
US6842768B1 (en) 2000-03-01 2005-01-11 Siemens Communications, Inc. Apparatus and method for selectable compression
KR100331685B1 (ko) 2000-04-04 2002-04-09 오길록 문서 공동 편집 장치 및 그 방법
JP3549097B2 (ja) 2000-04-26 2004-08-04 インターナショナル・ビジネス・マシーンズ・コーポレーション 共同作業オブジェクトのオーナ識別方法、コンピュータシステムおよびコンピュータ可読な記録媒体
DE60111376T2 (de) 2000-05-16 2006-03-16 O'carroll, Garrett System und verfahren zur dokumentverarbeitung
US6931592B1 (en) 2000-05-22 2005-08-16 Microsoft Corporation Reviewing and merging electronic documents
US6757767B1 (en) 2000-05-31 2004-06-29 Advanced Digital Information Corporation Method for acceleration of storage devices by returning slightly early write status
SE522846C2 (sv) 2000-06-22 2004-03-09 Ericsson Telefon Ab L M Antenn med spiralformad radiator och återkopplingsledare, samt flerlagerkort och bärbar kommunikationsapparat innefattande en sådan antenn
US6596396B2 (en) 2000-08-09 2003-07-22 Mitsubishi Gas Chemical Company, Inc. Thin-film-like particles having skeleton constructed by carbons and isolated films
US6925476B1 (en) 2000-08-17 2005-08-02 Fusionone, Inc. Updating application data including adding first change log to aggreagate change log comprising summary of changes
WO2002017115A2 (en) 2000-08-21 2002-02-28 Thoughtslinger Corporation Simultaneous multi-user document editing system
US6681382B1 (en) 2000-09-18 2004-01-20 Cisco Technology, Inc. Method and system for using virtual labels in a software configuration management system
GB2390713B (en) 2000-10-18 2005-03-23 Chasseral Ltd Concurrent file access
US6976213B1 (en) * 2000-11-10 2005-12-13 Interspec, Inc. Method of automatically generating specifications and providing online services for same
US7080076B1 (en) 2000-11-28 2006-07-18 Attenex Corporation System and method for efficiently drafting a legal document using an authenticated clause table
US20020069192A1 (en) 2000-12-04 2002-06-06 Aegerter William Charles Modular distributed mobile data applications
US6941326B2 (en) 2001-01-24 2005-09-06 Microsoft Corporation Accounting for update notifications in synchronizing data that may be represented by different data structures
US7110936B2 (en) 2001-02-23 2006-09-19 Complementsoft Llc System and method for generating and maintaining software code
US7058663B2 (en) 2001-03-13 2006-06-06 Koninklijke Philips Electronics, N.V. Automatic data update
US6757678B2 (en) * 2001-04-12 2004-06-29 International Business Machines Corporation Generalized method and system of merging and pruning of data trees
US7409424B2 (en) 2001-04-24 2008-08-05 Parker James A Electronic mail file access system
US6950987B1 (en) * 2001-05-09 2005-09-27 Simdesk Technologies, Inc. Remote document management system
US6993522B2 (en) 2001-06-27 2006-01-31 Microsoft Corporation System and method for resolving conflicts detected during a synchronization session
US7124362B2 (en) 2001-08-31 2006-10-17 Robert Tischer Method and system for producing an ordered compilation of information with more than one author contributing information contemporaneously
US7149776B1 (en) 2001-08-31 2006-12-12 Oracle International Corp. System and method for real-time co-browsing
US20040205539A1 (en) 2001-09-07 2004-10-14 Mak Mingchi Stephen Method and apparatus for iterative merging of documents
US20030097410A1 (en) 2001-10-04 2003-05-22 Atkins R. Travis Methodology for enabling multi-party collaboration across a data network
JP2003150586A (ja) 2001-11-12 2003-05-23 Ntt Docomo Inc 文書変換システム、文書変換方法及び文書変換プログラムを記録したコンピュータ読み取り可能な記録媒体
JP4215425B2 (ja) 2001-11-21 2009-01-28 日本電気株式会社 文章管理システム、その管理方法及びそのプログラム
JP4051924B2 (ja) 2001-12-05 2008-02-27 株式会社日立製作所 送信制御可能なネットワークシステム
US6711718B2 (en) 2001-12-10 2004-03-23 Charles Pfeil Parallel electronic design automation: distributed simultaneous editing
US7496841B2 (en) 2001-12-17 2009-02-24 Workshare Technology, Ltd. Method and system for document collaboration
US7475242B2 (en) 2001-12-18 2009-01-06 Hewlett-Packard Development Company, L.P. Controlling the distribution of information
US20030140067A1 (en) 2002-01-18 2003-07-24 Robert Sesek Systems and methods for sending documents
US7024429B2 (en) 2002-01-31 2006-04-04 Nextpage,Inc. Data replication based upon a non-destructive data model
WO2003067448A1 (en) 2002-02-02 2003-08-14 E-Wings, Inc. Distributed system for interactive collaboration
US20030159105A1 (en) 2002-02-21 2003-08-21 Hiebert Steven P. Interpretive transformation system and method
US7200668B2 (en) * 2002-03-05 2007-04-03 Sun Microsystems, Inc. Document conversion with merging
US7340534B2 (en) 2002-03-05 2008-03-04 Sun Microsystems, Inc. Synchronization of documents between a server and small devices
US20030208534A1 (en) 2002-05-02 2003-11-06 Dennis Carmichael Enhanced productivity electronic meeting system
US7171467B2 (en) 2002-06-13 2007-01-30 Engedi Technologies, Inc. Out-of-band remote management station
US7565603B1 (en) * 2002-06-28 2009-07-21 Microsoft Corporation Representing style information in a markup language document
US6928476B2 (en) 2002-08-23 2005-08-09 Mirra, Inc. Peer to peer remote data storage and collaboration
US20040109025A1 (en) 2002-08-28 2004-06-10 Jean-Marie Hullot Computer program comprising a plurality of calendars
EP1588287A1 (en) 2002-09-30 2005-10-26 Systems Incorporated Qnaturally Blinking annotation callouts highlighting cross language search results
JP4737914B2 (ja) * 2002-10-02 2011-08-03 ケープレックス・インク 文書改訂支援プログラム及び当該支援プログラムを記録したコンピュータ読み取り可能媒体、並びに文書改訂支援装置。
US20040068505A1 (en) 2002-10-04 2004-04-08 Chung-I Lee System and method for synchronously editing a file on different client computers
US7328243B2 (en) 2002-10-31 2008-02-05 Sun Microsystems, Inc. Collaborative content coherence using mobile agents in peer-to-peer networks
DE10250842B4 (de) 2002-10-31 2010-11-11 OCé PRINTING SYSTEMS GMBH Verfahren, Computerprogrammprodukt und Vorrichtung zum Verarbeiten eines Dokumentendatenstroms eines Eingangsformates zu einem Ausgangsformat
US20040177343A1 (en) 2002-11-04 2004-09-09 Mcvoy Lawrence W. Method and apparatus for understanding and resolving conflicts in a merge
US20040143630A1 (en) 2002-11-21 2004-07-22 Roy Kaufmann Method and system for sending questions, answers and files synchronously and asynchronously in a system for enhancing collaboration using computers and networking
US7954043B2 (en) 2002-12-02 2011-05-31 International Business Machines Corporation Concurrent editing of a file by multiple authors
US7209948B2 (en) 2002-12-20 2007-04-24 International Business Machines, Corporation Collaborative review of distributed content
KR100490734B1 (ko) * 2002-12-21 2005-05-24 한국전자통신연구원 주석기반 문서 자동 생성장치 및 방법
KR100462839B1 (ko) 2002-12-24 2004-12-23 한국전자통신연구원 모바일 환경에서의 이동 클라이언트와 서버간의 데이터동기화 및 갱신 충돌 해결 방법
US7337388B2 (en) 2003-01-02 2008-02-26 Microsoft Corporation Tool-based iterative document management
US8010491B2 (en) * 2003-02-28 2011-08-30 Microsoft Corporation Method for managing multiple file states for replicated files
US8706760B2 (en) 2003-02-28 2014-04-22 Microsoft Corporation Method to delay locking of server files on edit
US7389309B2 (en) 2003-02-28 2008-06-17 Microsoft Corporation Method for managing file replication in applications
US9003295B2 (en) 2003-03-17 2015-04-07 Leo Martin Baschy User interface driven access control system and method
US20060259524A1 (en) 2003-03-17 2006-11-16 Horton D T Systems and methods for document project management, conversion, and filing
US7757162B2 (en) 2003-03-31 2010-07-13 Ricoh Co. Ltd. Document collection manipulation
US7155465B2 (en) 2003-04-18 2006-12-26 Lee Howard F Method and apparatus for automatically archiving a file system
US7290251B2 (en) 2003-05-16 2007-10-30 Microsoft Corporation Method and system for providing a representation of merge conflicts in a three-way merge operation
US20040230893A1 (en) * 2003-05-16 2004-11-18 Dethe Elza Method and system for enabling collaborative authoring of hierarchical documents with node privileges
US7660829B2 (en) 2003-05-30 2010-02-09 Microsoft Corporation System and method for delegating file system operations
US7444337B2 (en) 2004-03-09 2008-10-28 Ntt Docomo, Inc. Framework and associated apparatus for the adaptive replication of applications with server side code units
US7716593B2 (en) 2003-07-01 2010-05-11 Microsoft Corporation Conversation grouping of electronic mail records
WO2005008415A2 (en) 2003-07-08 2005-01-27 Us Lynx Llc An automated publishing system that facilitates collaborative editing and accountability through virtual document architecture
US7315978B2 (en) 2003-07-30 2008-01-01 Ameriprise Financial, Inc. System and method for remote collection of data
AU2003903994A0 (en) 2003-07-31 2003-08-14 Canon Kabushiki Kaisha Collaborative editing with automatic layout
US20050033811A1 (en) * 2003-08-07 2005-02-10 International Business Machines Corporation Collaborative email
US7363581B2 (en) 2003-08-12 2008-04-22 Accenture Global Services Gmbh Presentation generator
US7401104B2 (en) 2003-08-21 2008-07-15 Microsoft Corporation Systems and methods for synchronizing computer systems through an intermediary file system share or device
US7302274B2 (en) 2003-09-19 2007-11-27 Nokia Corporation Method and device for real-time shared editing mobile video
US7143117B2 (en) 2003-09-25 2006-11-28 International Business Machines Corporation Method, system, and program for data synchronization by determining whether a first identifier for a portion of data at a first source and a second identifier for a portion of corresponding data at a second source match
US7185277B1 (en) 2003-10-24 2007-02-27 Microsoft Corporation Method and apparatus for merging electronic documents containing markup language
WO2005043279A2 (en) 2003-10-31 2005-05-12 Disksites Research And Development Ltd. Device, system and method for storage and access of computer files
US20050097440A1 (en) 2003-11-04 2005-05-05 Richard Lusk Method and system for collaboration
US7203708B2 (en) 2003-11-06 2007-04-10 Microsoft Corporation Optimizing file replication using binary comparisons
US7839532B2 (en) 2003-12-12 2010-11-23 Ipro Tech, Inc. Methods and apparatus for imaging documents
US20050177617A1 (en) 2003-12-23 2005-08-11 Intel Corporation Conflict resolution during data synchronization
US7225189B1 (en) 2004-02-19 2007-05-29 Microsoft Corporation Data source write back and offline data editing and storage in a spreadsheet
JP2005267021A (ja) 2004-03-17 2005-09-29 Ricoh Co Ltd 文書作成方法、文書作成装置、プログラム、記憶媒体および文書のデータ構造
US20050216524A1 (en) 2004-03-23 2005-09-29 Integrated Data Corporation Smart and selective synchronization between databases in a document management system
US7912904B2 (en) 2004-03-31 2011-03-22 Google Inc. Email system with conversation-centric user interface
US7818679B2 (en) 2004-04-20 2010-10-19 Microsoft Corporation Method, system, and apparatus for enabling near real time collaboration on an electronic document through a plurality of computer systems
JP2005309745A (ja) 2004-04-21 2005-11-04 Nec Corp オリジナル画像文書情報と追記情報とを管理する文書管理ネットワークシステム、画像文書配信サーバ
US7536636B2 (en) 2004-04-26 2009-05-19 Kodak Graphic Communications Canada Company Systems and methods for comparing documents containing graphic elements
WO2005103935A1 (en) 2004-04-26 2005-11-03 Creo Inc. Systems and methods for comparing documents containing graphic elements
EP1751677A2 (en) 2004-05-19 2007-02-14 Universität Zürich Computer-based system and computer program product for collaborative editing of documents
US20060031228A1 (en) 2004-05-20 2006-02-09 Bea Systems, Inc. Adaptive user interface for occasionally-connected application server
US7603357B1 (en) 2004-06-01 2009-10-13 Adobe Systems Incorporated Collaborative asset management
JP4069905B2 (ja) 2004-06-28 2008-04-02 コニカミノルタビジネステクノロジーズ株式会社 共有ファイル管理システムおよびサーバー
JP2006031292A (ja) 2004-07-14 2006-02-02 Fuji Xerox Co Ltd 文書処理装置、文書処理方法及び文書処理プログラム
US7567988B2 (en) 2004-07-16 2009-07-28 Sap Ag Synchronizing agent for multiple clients/applications on a computer system
US7487471B2 (en) 2004-07-23 2009-02-03 Sap Ag User interface for conflict resolution management
US7966556B1 (en) 2004-08-06 2011-06-21 Adobe Systems Incorporated Reviewing and editing word processing documents
US20060041596A1 (en) 2004-08-19 2006-02-23 Vlad Stirbu Caching directory server data for controlling the disposition of multimedia data on a network
KR101138434B1 (ko) 2004-08-31 2012-04-26 텐센트 테크놀로지(센젠) 컴퍼니 리미티드 실시간 통신 플랫폼에 기반하여 네트워크 하드디스크를실행하는 시스템 및 그 방법
US20060047656A1 (en) * 2004-09-01 2006-03-02 Dehlinger Peter J Code, system, and method for retrieving text material from a library of documents
US20060053194A1 (en) 2004-09-03 2006-03-09 Schneider Ronald E Systems and methods for collaboration
US20060053195A1 (en) 2004-09-03 2006-03-09 Schneider Ronald E Systems and methods for collaboration
US20060080432A1 (en) 2004-09-03 2006-04-13 Spataro Jared M Systems and methods for collaboration
US20070118794A1 (en) 2004-09-08 2007-05-24 Josef Hollander Shared annotation system and method
KR20060034786A (ko) * 2004-10-19 2006-04-26 이유정 복수의 이용자가 문서를 공동으로 편집하는 방법 및 그시스템
US7392243B2 (en) 2004-10-20 2008-06-24 Microsoft Corporation Using permanent identifiers in documents for change management
US7814105B2 (en) * 2004-10-27 2010-10-12 Harris Corporation Method for domain identification of documents in a document database
US7472341B2 (en) 2004-11-08 2008-12-30 International Business Machines Corporation Multi-user, multi-timed collaborative annotation
US7577906B2 (en) 2004-11-08 2009-08-18 Microsoft Corporation Method and system for document assembly
US7440967B2 (en) 2004-11-10 2008-10-21 Xerox Corporation System and method for transforming legacy documents into XML documents
US20060106879A1 (en) 2004-11-16 2006-05-18 International Business Machines Corporation Conflict resolution in a synchronization framework
US7650336B1 (en) 2004-12-02 2010-01-19 Adobe Systems Incorporated File system atomic lock
US8108773B2 (en) 2004-12-17 2012-01-31 Xerox Corporation Method and apparatus for generating instances of documents
US7617229B2 (en) * 2004-12-20 2009-11-10 Microsoft Corporation Management and use of data in a computer-generated document
US7908247B2 (en) 2004-12-21 2011-03-15 Nextpage, Inc. Storage-and transport-independent collaborative document-management system
US7593943B2 (en) 2005-01-14 2009-09-22 Microsoft Corporation Method and system for synchronizing multiple user revisions to a shared object
US20060173901A1 (en) 2005-01-31 2006-08-03 Mediatek Incorporation Methods for merging files and related systems
US20060179026A1 (en) 2005-02-04 2006-08-10 Bechtel Michael E Knowledge discovery tool extraction and integration
US7313580B2 (en) 2005-02-08 2007-12-25 Domenico Vellante Systems and methods for sharing information between a user group and associated document
US7792788B2 (en) 2005-03-04 2010-09-07 Microsoft Corporation Method and system for resolving conflicts operations in a collaborative editing environment
US20060218476A1 (en) 2005-03-25 2006-09-28 Xerox Corporation Collaborative document authoring and production methods and systems
US20070016650A1 (en) 2005-04-01 2007-01-18 Gilbert Gary J System and methods for collaborative development of content over an electronic network
RU50695U1 (ru) 2005-04-28 2006-01-20 ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ УНИТАРНОЕ ПРЕДПРИЯТИЕ "ГЛАВНОЕ ПРОИЗВОДСТВЕННО-КОММЕРЧЕСКОЕ УПРАВЛЕНИЕ ПО ОБСЛУЖИВАНИЮ ДИПЛОМАТИЧЕСКОГО КОРПУСА ПРИ МИНИСТЕРСТВЕ ИНОСТРАННЫХ ДЕЛ РОССИЙСКОЙ ФЕДЕРАЦИИ" (ГлавУпДК при МИД России) Система хранения и обработки данных
US7454406B2 (en) 2005-04-29 2008-11-18 Adaptec, Inc. System and method of handling file metadata
US7536641B2 (en) 2005-04-29 2009-05-19 Google Inc. Web page authoring tool for structured documents
US20060265377A1 (en) 2005-05-19 2006-11-23 Trimergent Personalizable information networks
US7610287B1 (en) 2005-06-28 2009-10-27 Google Inc. System and method for impromptu shared communication spaces
US7779347B2 (en) 2005-09-02 2010-08-17 Fourteen40, Inc. Systems and methods for collaboratively annotating electronic documents
TWI276325B (en) 2005-09-16 2007-03-11 Hon Hai Prec Ind Co Ltd Mobile communication device and method for downloading configuration files thereof and wireless communication system
WO2007034858A1 (ja) 2005-09-22 2007-03-29 Justsystems Corporation データ管理装置、データ編集装置、データ閲覧装置、データ管理方法、データ編集方法およびデータ閲覧方法
GB0523703D0 (en) 2005-11-22 2005-12-28 Ibm Collaborative editing of a document
CN1979466A (zh) 2005-11-29 2007-06-13 国际商业机器公司 允许多个用户同时编辑一个共享的电子文档的方法及装置
US8015194B2 (en) 2005-12-29 2011-09-06 Ricoh Co., Ltd. Refining based on log content
US7529780B1 (en) 2005-12-30 2009-05-05 Google Inc. Conflict management during data object synchronization between client and server
US7774703B2 (en) 2006-02-09 2010-08-10 Microsoft Corporation Virtual shadow awareness for multi-user editors
US20070198952A1 (en) 2006-02-21 2007-08-23 Pittenger Robert A Methods and systems for authoring of a compound document following a hierarchical structure
US20070226604A1 (en) 2006-03-22 2007-09-27 Chalasani Nanchariah R System and method for merging a sub-document into a collaboratively authored master document
US8566301B2 (en) * 2006-05-01 2013-10-22 Steven L. Rueben Document revisions in a collaborative computing environment
GB0610116D0 (en) 2006-05-20 2006-06-28 Ibm A method, apparatus and computer program for collaborative editing of a document
US8407670B2 (en) 2006-06-02 2013-03-26 Microsoft Corporation Collaborative code conflict detection, notification and resolution
US20080059539A1 (en) 2006-08-08 2008-03-06 Richard Chin Document Collaboration System and Method
US7801951B2 (en) 2006-08-25 2010-09-21 Reframe-It, Inc. Process for referencing, prioritizing, accessing, and displaying marginalia in digital media
US8401841B2 (en) * 2006-08-31 2013-03-19 Orcatec Llc Retrieval of documents using language models
EP2067102A2 (en) 2006-09-15 2009-06-10 Exbiblio B.V. Capture and display of annotations in paper and electronic documents
US9207933B2 (en) 2006-10-10 2015-12-08 International Business Machines Corporation Identifying authors of changes between multiple versions of a file
JP5437557B2 (ja) 2006-10-19 2014-03-12 富士通株式会社 検索処理方法及び検索システム
US20080098294A1 (en) 2006-10-23 2008-04-24 Mediq Learning, L.L.C. Collaborative annotation of electronic content
US20080114740A1 (en) 2006-11-14 2008-05-15 Xcential Group Llc System and method for maintaining conformance of electronic document structure with multiple, variant document structure models
US8769006B2 (en) 2006-11-28 2014-07-01 International Business Machines Corporation Role-based display of document renditions for web conferencing
US20080177782A1 (en) 2007-01-10 2008-07-24 Pado Metaware Ab Method and system for facilitating the production of documents
JP2008186176A (ja) * 2007-01-29 2008-08-14 Canon Inc 画像処理装置、文書結合方法および制御プログラム
KR100904758B1 (ko) 2007-02-08 2009-06-29 삼성전자주식회사 버퍼 메모리를 포함하는 플래쉬 메모리 장치 및 시스템,플래쉬 메모리 장치의 데이터 업데이트 방법
JP2010518459A (ja) 2007-02-14 2010-05-27 ミューズアミ, インコーポレイテッド 配布オーディオファイル編集用ウェブポータル
US20080294895A1 (en) 2007-02-15 2008-11-27 Michael Bodner Disaggregation/reassembly method system for information rights management of secure documents
US7949938B2 (en) 2007-03-20 2011-05-24 International Business Machines Corporation Comparing and merging multiple documents
US8019780B1 (en) * 2007-03-30 2011-09-13 Google Inc. Handling document revision history information in the presence of a multi-user permissions model
US20080256114A1 (en) 2007-04-10 2008-10-16 Microsoft Corporation Techniques to display associated information between application programs
US8024652B2 (en) 2007-04-10 2011-09-20 Microsoft Corporation Techniques to associate information between application programs
US8504553B2 (en) * 2007-04-19 2013-08-06 Barnesandnoble.Com Llc Unstructured and semistructured document processing and searching
JP5154832B2 (ja) 2007-04-27 2013-02-27 株式会社日立製作所 文書検索システム及び文書検索方法
US20080320384A1 (en) * 2007-06-25 2008-12-25 Ramesh Nagarajan Automated addition of images to text
US8239760B2 (en) 2007-06-26 2012-08-07 Sap Ag Multi-user document editing system and method
US7933952B2 (en) 2007-06-29 2011-04-26 Microsoft Corporation Collaborative document authoring
US7937663B2 (en) 2007-06-29 2011-05-03 Microsoft Corporation Integrated collaborative user interface for a document editor program
JP5334335B2 (ja) * 2007-07-02 2013-11-06 フラウンホファー・ゲゼルシャフト・ツール・フォルデルング・デル・アンゲバンテン・フォルシュング・アインゲトラーゲネル・フェライン メディアデータコンテナおよびメタデータコンテナを有するファイルを記憶および読み出すための装置および方法
WO2009027138A1 (en) 2007-08-30 2009-03-05 International Business Machines Corporation Accessing data entities
US8595202B2 (en) 2007-10-03 2013-11-26 Siemens Aktiengesellschaft Method and system for intra-document object locking in collaborative authoring
US8280892B2 (en) * 2007-10-05 2012-10-02 Fujitsu Limited Selecting tags for a document by analyzing paragraphs of the document
US7941399B2 (en) 2007-11-09 2011-05-10 Microsoft Corporation Collaborative authoring
US8028229B2 (en) 2007-12-06 2011-09-27 Microsoft Corporation Document merge
US8825758B2 (en) 2007-12-14 2014-09-02 Microsoft Corporation Collaborative authoring modes
US8291308B2 (en) 2007-12-28 2012-10-16 International Business Machines Corporation Annotating collaborative information structures
US8301588B2 (en) 2008-03-07 2012-10-30 Microsoft Corporation Data storage for file updates
US20090249224A1 (en) 2008-03-31 2009-10-01 Microsoft Corporation Simultaneous collaborative review of a document
US8352870B2 (en) 2008-04-28 2013-01-08 Microsoft Corporation Conflict resolution
US8825594B2 (en) 2008-05-08 2014-09-02 Microsoft Corporation Caching infrastructure
US8429753B2 (en) 2008-05-08 2013-04-23 Microsoft Corporation Controlling access to documents using file locks
US8417666B2 (en) 2008-06-25 2013-04-09 Microsoft Corporation Structured coauthoring
US8332359B2 (en) * 2008-07-28 2012-12-11 International Business Machines Corporation Extended system for accessing electronic documents with revision history in non-compatible repositories
US9348499B2 (en) 2008-09-15 2016-05-24 Palantir Technologies, Inc. Sharing objects that rely on local resources with outside servers
US8286132B2 (en) 2008-09-25 2012-10-09 International Business Machines Corporation Comparing and merging structured documents syntactically and semantically
US20100095198A1 (en) 2008-10-15 2010-04-15 Apple Inc. Shared comments for online document collaboration
US20100131836A1 (en) 2008-11-24 2010-05-27 Microsoft Corporation User-authored notes on shared documents

Also Published As

Publication number Publication date
RU2011143794A (ru) 2013-05-10
KR20120014896A (ko) 2012-02-20
CA2756863A1 (en) 2010-11-04
CN102414678A (zh) 2012-04-11
AU2010241814B2 (en) 2014-06-05
EP2425358B1 (en) 2023-10-04
ZA201106946B (en) 2012-11-28
EP2425358A4 (en) 2014-07-30
RU2527744C2 (ru) 2014-09-10
US8346768B2 (en) 2013-01-01
AU2010241814A1 (en) 2011-10-20
JP2012525640A (ja) 2012-10-22
US20100281074A1 (en) 2010-11-04
TWI427491B (zh) 2014-02-21
KR101669699B1 (ko) 2016-10-26
WO2010126804A3 (en) 2011-02-03
CA2756863C (en) 2016-06-28
IL215415A0 (en) 2011-12-29
MX2011011345A (es) 2011-11-18
WO2010126804A2 (en) 2010-11-04
CN102414678B (zh) 2013-11-20
TW201039147A (en) 2010-11-01
BRPI1011470A2 (pt) 2016-03-22
JP5787878B2 (ja) 2015-09-30
EP2425358A2 (en) 2012-03-07

Similar Documents

Publication Publication Date Title
BRPI1011470B1 (pt) Método implementado em um computador cliente para combinar metadados de documento em um computador cliente, dispositivo de computação e memória de armazenamento de dados legível por computador
AU2018395856B2 (en) Allocation and reassignment of unique identifiers for synchronization of content items
US10089288B2 (en) Annotations management for electronic documents handling
US20200279028A1 (en) Technologies for integrating cloud content items across platforms
US7035910B1 (en) System and method for document isolation
US20140188790A1 (en) Globally unique identifiers in an online content management system
US20140189118A1 (en) Maintaining consistent globally unique identifiers via an asynchronous interface
US7818293B2 (en) Method and system to synchronize updated versions of a document edited on a collaborative site that are under document management control
KR20120011332A (ko) 메타데이터 병합에 걸친 실행 취소 및 재실행 능력의 유지
KR20120005006A (ko) 교차 채널 공동 저작 일관성
US9071654B2 (en) Maintaining concurrency and consistency of globally unique identifiers
KR20120017442A (ko) 서버 저장 모델을 이용하는 파일 파티션들의 동기화
US7499904B2 (en) System and method for client mastered replication of local files
US20070195959A1 (en) Synchronizing encrypted data without content decryption
US20140189355A1 (en) Encrypting globally unique identifiers at communication boundaries
WO2020046447A1 (en) Synchronizing in-use source data and an unmodified migrated copy thereof
Ahmad et al. Role of Wnt signalling in advanced prostate cancer
US10198449B2 (en) Creating unique content item identifiers
US9063949B2 (en) Inferring a sequence of editing operations to facilitate merging versions of a shared document
US20190303489A1 (en) Globalized object names in a global namespace
Hugo Constructing online language learning content archives for under-resourced language communities
Yule et al. Web and file based document collaboration via aysnchronous and synchronous updates

Legal Events

Date Code Title Description
B25A Requested transfer of rights approved

Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC (US)

B06F Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]
B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
B06A Patent application procedure suspended [chapter 6.1 patent gazette]
B15K Others concerning applications: alteration of classification

Free format text: AS CLASSIFICACOES ANTERIORES ERAM: G06F 17/21 , G06F 17/00

Ipc: G06F 15/16 (2006.01), G06F 16/20 (2019.01), G06F 1

B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 10 (DEZ) ANOS CONTADOS A PARTIR DE 29/09/2020, OBSERVADAS AS CONDICOES LEGAIS.