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 PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/174—Form filling; Merging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/10—Office automation; Time management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
- G06F16/986—Document structures and storage, e.g. HTML extensions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
- G06F3/1242—Image or content composition onto a page
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
- G06F3/1242—Image or content composition onto a page
- G06F3/1243—Variable data printing, e.g. document forms, templates, labels, coupons, advertisements, logos, watermarks, transactional printing, fixed content versioning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/101—Collaborative 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
[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.
[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.
[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.
[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.
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)
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)
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 |
-
2009
- 2009-04-30 US US12/432,817 patent/US8346768B2/en active Active
-
2010
- 2010-03-24 TW TW099108780A patent/TWI427491B/zh not_active IP Right Cessation
- 2010-04-23 CA CA2756863A patent/CA2756863C/en active Active
- 2010-04-23 BR BRPI1011470-0A patent/BRPI1011470B1/pt active IP Right Grant
- 2010-04-23 MX MX2011011345A patent/MX2011011345A/es active IP Right Grant
- 2010-04-23 KR KR1020117025682A patent/KR101669699B1/ko active IP Right Grant
- 2010-04-23 AU AU2010241814A patent/AU2010241814B2/en active Active
- 2010-04-23 CN CN2010800194702A patent/CN102414678B/zh active Active
- 2010-04-23 RU RU2011143794/08A patent/RU2527744C2/ru active
- 2010-04-23 EP EP10770166.6A patent/EP2425358B1/en active Active
- 2010-04-23 WO PCT/US2010/032309 patent/WO2010126804A2/en active Application Filing
- 2010-04-23 JP JP2012508556A patent/JP5787878B2/ja active Active
-
2011
- 2011-09-22 ZA ZA2011/06946A patent/ZA201106946B/en unknown
- 2011-09-27 IL IL215415A patent/IL215415A0/en unknown
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. |