BRPI0709656A2 - métodos de colaboração online em planilha eletrÈnica e sistemas e dispositivos de computação e de memória legìvel em computador - Google Patents

métodos de colaboração online em planilha eletrÈnica e sistemas e dispositivos de computação e de memória legìvel em computador Download PDF

Info

Publication number
BRPI0709656A2
BRPI0709656A2 BRPI0709656-9A BRPI0709656A BRPI0709656A2 BR PI0709656 A2 BRPI0709656 A2 BR PI0709656A2 BR PI0709656 A BRPI0709656 A BR PI0709656A BR PI0709656 A2 BRPI0709656 A2 BR PI0709656A2
Authority
BR
Brazil
Prior art keywords
spreadsheet
client
computing
devices
application
Prior art date
Application number
BRPI0709656-9A
Other languages
English (en)
Inventor
Jonathan Rochelle
Micah Lemonik
Farzad Khosrowshahi
John Stephen Danaher
Original Assignee
Google Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google Inc filed Critical Google Inc
Publication of BRPI0709656A2 publication Critical patent/BRPI0709656A2/pt
Publication of BRPI0709656B1 publication Critical patent/BRPI0709656B1/pt

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/177Editing, e.g. inserting or deleting of tables; using ruled lines
    • G06F40/18Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/93Document management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/174Form filling; Merging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/106Display of layout of documents; Previewing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/177Editing, e.g. inserting or deleting of tables; using ruled lines

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • Databases & Information Systems (AREA)
  • Tourism & Hospitality (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Primary Health Care (AREA)
  • Information Transfer Between Computers (AREA)
  • Document Processing Apparatus (AREA)
  • User Interface Of Digital Computer (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Stored Programmes (AREA)

Abstract

<B>MéTODOS DE COLABORAçãO ONLINE EM PLANILHA ELETRÈNICA E SISTEMAS E DISPOSITIVOS DE COMPUTAçãO E DE MEMóRIA LEGìVEL EM COMPUTADOR.<D> Uma aplicação de planilha eletrónica distribuída é executada num servidor e um cliente numa rede. A aplicação da planilha eletrónica ligada em rede pode ser geralmente usada sem exigir que um usuário instale qualquer software específico de planilha eletrónica antes de usar a aplicação. Numa modalidade, a implementação da planilha eletrónica pode incluir um motor de cliente que é executado dentro de programas de navegador de uma pluralidade de dispositivos clientes de computação e lógica de servidor. A lógica de servidor pode ser configurada para distribuir os motores de clientes para a pluralidade de dispositivos clientes de computação da aplicação de planilha eletrónica, quando solicitado pelos programas de navegador de cada um da pluralidade de dispositivos clientes de computação. A lógica de servidor sincroniza um documento único de planilha eletrónica que é simultaneamente aberto na pluralidade de dispositivos clientes de computação.

Description

"Métodos de Colaboração Online em Planilha Eletrônica e Sistemas
e Dispositivos de Computaçãoe de Memória Legível em Computador"
Relatório Descritivo
Antecedentes
A - Campo da Revelação
A presente revelação relaciona-se em geral com aplicaçõesde planilha eletrônica e, mais especificamente, com aplicações deplanilha eletrônica em colaboração com base em rede.
B- Descrição da Técnica Relacionada
As aplicações de planilha eletrônica estão em uso difundidoem várias indústrias, incluindo finanças, negócios e academia. Umaaplicação de planilha eletrônica é tipicamente usada para produzir umaplanilha eletrônica que é freqüentemente uma tabela retangular (ougrade) de dados e/ou informações de programação. Uma das razõespara a popularidade das aplicações de planilha eletrônica é que elaspodem ajudar a facilitar a implementação de aplicações analíticas e/oude banco de dados.
As aplicações de planilha eletrônica existentes tendem a serprogramas de software que executam localmente num sistema decomputador de um usuário único. As planilhas eletrônicas produzidaspor esse sistema podem ser difíceis de distribuir e difíceis de modificarou colaborar, quando se trabalha num ambiente de grupo.
Sumário
Um aspecto é dirigido para um método que compreende re-ceber um pedido de uma aplicação de planilha eletrônica num dispositi-vo de computação servidor a partir de um programa de navegador deum dispositivo de computação cliente. O método inclui ainda transmitirum código de programação para uma primeira parte da aplicação deplanilha eletrônica para o programa de navegador do dispositivo decomputação cliente em resposta ao pedido, sendo o código de progra-mação para a primeira parte da aplicação de planilha eletrônica proje-tado para manusear localmente pedidos a partir de um usuário dodispositivo de computação cliente em relação à navegação ou formata-ção de um documento de planilha eletrônica da aplicação de planilhaeletrônica. O método inclui ainda executar um código de programaçãopara uma segunda parte da aplicação de planilha eletrônica no disposi-tivo de computação servidor, sendo o código de programação para asegunda parte da aplicação de planilha eletrônica projetado paramanusear atualizações de funções no documento de planilha eletrônica.
Ainda outro aspecto é dirigido para um sistema que propor-cione uma aplicação de planilha eletrônica distribuída para umapluralidade de usuários. O sistema inclui lógica de motor de cliente queexecuta dentro de programas de navegador de dispositivos clientes decomputação. O sistema inclui ainda lógica de servidor configurada paradistribuir os motores de clientes para os dispositivos clientes de compu-tação das aplicações de planilha eletrônica, quando solicitado pelosprogramas de navegador dos dispositivos clientes de computação,sincronizando a lógica de servidor um documento de planilha eletrônicaúnica que é aberto simultaneamente na pluralidade de dispositivosclientes de computação.
Ainda outro aspecto é direcionado para um método quecompreende proporcionar um link que identifica exclusivamente umdocumento de planilha eletrônica; receber um pedido para o link apartir de um navegador de Web que está processando uma página daWeb que inclui o link embutido dentro da página da Web; e transmitir,em resposta ao recebimento do pedido para o link, o documento deplanilha eletrônica e pelo menos uma parte de uma aplicação deplanilha eletrônica configurada para proporcionar o documento deplanilha eletrônica para um usuário do navegador da Web.
Breve Descrição dos Desenhos
Os desenhos anexos, que são incorporados e constituemuma parte deste Relatório Descritivo, ilustram uma modalidade dainvenção e, em conjunto com a descrição, explicam a invenção. Nosdesenhos,
a Figura 1 é um diagrama de um sistema exempliíicativoem que podem ser implementados conceitos consistentes com osprincípios da invenção;
a Figura 2 é um diagrama exempliíicativo de um dispositivode computação ilustrado na Figura 1;
a Figura 3 é um diagrama que ilustra uma modalidade e-xemplificativa de uma aplicação de planilha eletrônica online;
a Figura 4 é um fluxograma que ilustra operações exempli-ficativas dos vários componentes da aplicação de planilha eletrônicaonline numa sessão exemplificativa de planilha eletrônica;
a Figura 5 é um diagrama que ilustra uma interface deplanilha eletrônica exemplificativa que pode ser apresentada a umusuário;
a Figura 6 é um diagrama que ilustra outra interface deplanilha eletrônica exemplificativa que pode ser apresentada a umusuário;
a Figura 7 é um diagrama que ilustra outra interface deplanilha eletrônica exemplificativa que pode ser apresentada a umusuário; e
a Figura 8 é um diagrama que ilustra uma planilha eletrô-nica embutida numa página da Web consistente com um aspecto dainvenção.
Descrição Detalhada
A descrição detalhada seguinte refere-se aos desenhos ane-xos. A descrição detalhada não limita a invenção.
Avaliação
As implementações consistentes com os princípios da in-venção relacionam-se com uma aplicação de planilha eletrônica online.A aplicação de planilha eletrônica online pode proporcionar muitas outodas as características proporcionadas por uma aplicação de planilhaeletrônica normal. A aplicação de planilha eletrônica online podeproporcionar a capacidade para que vários usuários, potencialmente emlocalizações fisicamente remotas umas das outras, facilmente colabo-rem e modifiquem uma planilha eletrônica. Além disso, a aplicação deplanilha eletrônica online pode permitir que os usuários facilmentepubliquem as suas planilhas eletrônicas criadas.
Descrição do Sistema
A Figura 1 é um diagrama de um sistema exemplificativo100 em que podem ser implementados conceitos consistentes com osprincípios da invenção. O sistema 100 pode incluir clientes múltiplos110 que podem conectar a servidores, como o servidor 120, via umarede 140. A rede 140 pode incluir uma rede de área local (LAN), umarede de área ampla (WAN), uma rede de telefone, tal como a Rede deTelefones Públicos Comutados (PSTN), uma intranet, a Internet ou umacombinação de redes. Três clientes 110 e um servidor 120 são ilustra-dos como conectados à rede 140 para simplicidade. Na prática, podehaver mais clientes e/ou servidores. Também em alguns casos, umcliente pode realizar uma ou mais funções de um servidor e um servidorpode realizar uma ou mais funções de um cliente.
Um cliente 110 pode incluir um dispositivo, tal como umcomputador pessoal, um computador de laptop, um telefone sem fio,um assistente digital pessoal (PDA) ou outro tipo de dispositivo decomputação ou comunicação. Os usuários dos clientes 110 podemacessar ou receber informações a partir do servidor 120.
Na modalidade mostrada, o servidor 120 pode geralmenteinteragir com clientes 110 de tal modo que os clientes 110, em conjuntocom o servidor 120, executem uma aplicação de planilha eletrônicaonline. O servidor 120 pode incluir software, etiquetado como compo-nente de servidor de planilha eletrônica 125, para ajudar a implementara aplicação de planilha eletrônica online. As aplicações de planilhaeletrônica online criadas por usuários de clientes 110 podem serarmazenadas pelo servidor 120, por exemplo, na mídia de armazena-mento tal como o banco de dados 130. Embora ilustrado como umdispositivo único na Figura 1, o servidor 120 pode ser implementado,por exemplo, como um dispositivo de computação único ou comodispositivos múltiplos de computação distribuída. Uma pessoa decapacidade ordinária na técnica observará que, se um dispositivo estáem funcionamento como um servidor ou um cliente depende freqüen-temente da aplicação específica que estiver sendo implementada. Isto é,se um dispositivo de computação estiver operando como um cliente ouum servidor pode depender do contexto do papel do dispositivo decomputação dentro da aplicação. A relação de cliente e servidor surgeem virtude de programas de computador que são processados noscomputadores respectivos e tendo uma relação cliente-servidor de umpara o outro.A interação de clientes 110 com o servidor 120 pode ser a-través de programas de navegador 115 nos clientes 110. Por exemplo, aaplicação de planilha eletrônica online pode ser uma aplicação da Webque é processada dentro de navegadores 115. Desta maneira, aosclientes 110 não pode ser exigido que instalem qualquer software deplanilha eletrônica específico para usar a planilha eletrônica online nocliente 110. Os programas de navegador são bem conhecidos e estãoextensamente disponíveis na técnica. Quando os navegadores ouprogramas de navegador são aqui discutidos, pretende-se que estestermos se refiram a qualquer programa que permita a um usuárionavegar documentos marcados (por exemplo, documentos da Web), nãoimportando se o programa de navegador é um programa sozinho ou umprograma embutido, tal como um programa de navegador incluído comoparte de um sistema operacional.
Computação Bxemplificativa
Arquitetura do Dispositivo
A Figura 2 é um diagrama exemplificativo do dispositivo decomputação 200, como um dos clientes 110 ou servidor 120. O Dispo-sitivo de computação 200 pode incluir um barramento 210, um proces-sador 220, uma memória principal 230, uma memória de leitura (ROM)240, um dispositivo de armazenamento 250, um dispositivo de entrada260, um dispositivo de saída 270 e uma interface de comunicação 280.O barramento 210 pode incluir um trajeto que permite a comunicaçãoentre os componentes do dispositivo de computação 200.
O processador 220 pode incluir qualquer tipo de processa-dor, microprocessador ou lógica de processamento que interprete eexecute instruções. A memória principal 230 pode incluir uma memó-ria de acesso aleatório (RAM) ou outro tipo de dispositivo de armazena-mento dinâmico que possa armazenar informações e instruções paraexecução pelo processador 220. A ROM 240 pode incluir um dispositivoROM ou outro tipo de dispositivo de armazenamento estático que possaarmazenar informações e instruções estáticas para uso pelo processa-dor 220. O dispositivo de armazenamento 250 pode incluir um meio degravação magnética e/ou ótica e seu drive correspondente.
O dispositivo de entrada 260 pode incluir um mecanismoque permita a um usuário introduzir informações no dispositivo decomputação 200, tal como um teclado, um mouse, uma caneta, reco-nhecimento de voz e/ou mecanismos biométricos etc. O dispositivo desaída 270 pode incluir um mecanismo convencional que dá saída ainformações para o usuário, incluindo uma tela, uma impressora, umalto falante etc. A interface de comunicação 280 pode incluir qualquermecanismo tal como um transceptor que ativa o dispositivo de compu-tação 200 para comunicar-se com outros dispositivos e/ou sistemas.Por exemplo, a interface de comunicação 280 pode incluir mecanismosde comunicação com outro dispositivo ou sistema via uma rede, talcomo a rede 140.
O componente de servidor de planilha eletrônica 125 podeser implementado em software e armazenado num meio legível emcomputador, tal como a memória 230. Um meio legível em computadorpode ser definido como um ou mais dispositivos de memória física oulógica e/ou ondas portadoras.
As instruções de software que definem o componente deservidor de planilha eletrônica 125 podem ser lidas para a memória 230a partir de outro meio legível em computador, tal como um dispositivode armazenamento de dados 250, ou a partir de outro dispositivo viauma interface de comunicação 280. As instruções de software contidasna memória 230 ocasionam que o processador 220 realize processosque serão descritos mais tarde. Alternativamente, podem ser usadoscircuitos de fiação no seu lugar ou em combinação com instruções desoftware para implementar processos consistentes com a presenteinvenção. Deste modo, as implementações consistentes com os princí-pios da invenção não ficam limitadas a nenhuma combinação específicade circuitos de hardware e software.
Aplicação de Planilha Eletrônica Online
Uma aplicação de planilha eletrônica online, conforme aquidescrita, pode ser implementada como uma aplicação de Web distribuí-da em que partes da aplicação são executadas num ou mais clientes110 e no servidor 120. Mais especificamente, os clientes 110 quepretendem usar a aplicação de planilha eletrônica online podem solicitara aplicação de planilha eletrônica a partir do servidor 120. Em respos-ta, o servidor 120 pode transmitir partes da aplicação de planilhaeletrônica para execução local nos clientes 110. A aplicação de planilhaeletrônica online pode executar, deste modo, como uma aplicação distribuída através do servidor 120 e um ou mais clientes 110.
A Figura 3 é um diagrama, semelhante à Figura 1, e ilustrauma modalidade exemplificativa da aplicação de planilha eletrônicaonline em detalhe adicional. O componente de servidor de planilhaeletrônica 125 pode incluir um componente front-end 326 e uma partede componente back-end 327. O componente front-end 326 pode incluirum servidor da Web e/ou XML que faça interface com os clientes 110.Por exemplo, o componente front-end 326 pode receber pedidos de HTTPa partir de clientes IlOe transmitir dados de XML para clientes 110. Ocomponente back-end 327 pode realizar o processamento mais substan-tivo em relação à aplicação de planilha eletrônica, tal como o cálculo defunções exigidas para atualizar uma planilha eletrônica.
As partes da aplicação de planilha eletrônica online podemtambém ser executadas dentro dos clientes 110. Por exemplo, dentrodo navegador 115, a aplicação de planilha eletrônica online pode serconceituada como incluindo um motor de clientes 316 e uma interfacede usuário 317. O motor de clientes 316 pode ser implementadousando, por exemplo, JavaScript que é baixado a partir do servidor 120,quando necessitado pelo cliente 110. A interface de usuário 317 podeproporcionar a interface de usuário final que é exibida no navegador115 com base, por exemplo, em dados HTML (hiper-text markup langua-ge) e CSS (cascading style sheets) fornecidos a partir do motor declientes 316.
A interface de usuário 317 e o motor de clientes 316 atuamem conjunto para reduzir a natureza de partida-parada partida-paradadas aplicações da Web com base em navegador tradicional, à medidaque o motor de clientes 316 adiciona uma camada lateral de cliente quepode manusear muitas das interações de usuário com a interface deusuário 317. Em vez de carregar uma página da Web no começo deuma sessão de usuário, o navegador 115 pode carregar o motor declientes 316 a partir do servidor 120 (ou, alternativamente, a partir deum cache local). O motor de clientes 316 pode ser responsável portanto prestar a interface que o usuário vê como comunicar com oservidor 120 no lado do usuário. O motor de clientes 316 permite que ainteração do usuário com a aplicação de planilha eletrônica onlineocorra assincronicamente, isto é, independente de comunicação comservidor 120.
Numa modalidade, a operação do lado do cliente da aplica-ção de planilha eletrônica online pode ser implementada usando asconhecidas técnicas de desenvolvimento da Web JavaScript e XMLAssíncronas (AJAX), embora uma pessoa de capacidade ordinária natécnica reconheça que outras tecnologias poderiam ser usadas.
A Figura 4 é um fluxograma que ilustra operações exempli-ficativas dos vários componentes da aplicação de planilha eletrônicaonline numa sessão de planilha eletrônica exemplificativa. Um usuárionum dos clientes 110 pode iniciar uma sessão de aplicação de planilhaeletrônica (ato 401). Por exemplo, o usuário de um cliente 110 pode ocomponente front-end 326 usando o navegador 115. Em algumasmodalidades, ao usuário pode ser exigido que se tenha registrado oucriada previamente uma conta e esteja logado no componente doservidor de planilha eletrônica 125.
Em resposta à iniciação pelo usuário de uma sessão de pla-nilha eletrônica, o componente de servidor de planilha eletrônica 125pode transmitir o motor de cliente 316 para o cliente 110 (ato 402).Algumas partes do motor de clientes 316 podem ser cached no cliente110 a partir de uma sessão prévia, caso em que estas partes nãoprecisam ser recarregadas a partir de servidor 120. Em algumasmodalidades, o código de programação que compreende o motor decliente 316 pode ser implementado de uma maneira modular. Nestasituação, partes do motor de cliente 316 podem ser transmitidas para ocliente 110 numa base de demanda, à medida que a funcionalidadedaquelas partes de motor de clientes 316 é necessitada pelo cliente 110.Por exemplo, o motor de clientes 316 pode implementar várias funçõesde "núcleo", tais como a interação do usuário e funções de exibiçãobásicas, que são sempre transmitidas para o cliente 110, enquantooutras funções, tais como funções de planilha eletrônica mais especiali-zadas, podem ser transmitidas para o cliente 110 numa base denecessidade. Além disso, algumas funções de aplicação de planilhaeletrônica online podem ser sempre executadas pelo componente back-end 327 e podem, portanto, nunca ser transmitidas para o motor declientes 316.
Como o motor de clientes 316 pode ser transmitido para ocliente 110 conforme necessitado pelo cliente 110, a aplicação deplanilha eletrônica online pode ser uma aplicação completamentebaseada na Web em que o cliente não precisa de pré-instalar nenhumaparte de motor de clientes 316. De modo vantajoso, um usuário poderáusar tipicamente a aplicação de planilha eletrônica online a partir dequalquer dispositivo de computação que inclua um navegador compatí-vel 115 e que esteja conectado à rede 140.
O motor de clientes 316, uma vez carregado no cliente 110, pode apresentar, via a interface de usuário 317, a interface gráfica deusuário de uma planilha eletrônica para o usuário (ato 403). A planilhaeletrônica, também chamada aqui de documento de planilha eletrônica,é o objeto de dados que a aplicação de planilha eletrônica apresenta aousuário. A planilha eletrônica apresentada a um usuário pode ser uma planilha eletrônica em "branco" a partir da qual o usuário pode começarum novo documento de planilha eletrônica, um documento de planilhaeletrônica recuperada a partir de uma sessão anterior da aplicação deplanilha eletrônica online ou uma versão do documento de planilhaeletrônica importada a partir de um documento de planilha eletrônica convencional (por exemplo, um documento ".xis", um documento ".cvs"ou outros tipos de formatos de documento de planilha eletrônicaconhecidos).
A Figura 5 é um diagrama que ilustra uma interface de pla-nilha eletrônica exemplificativa que pode ser apresentado a um usuário. Um navegador pode exibir a interface de planilha eletrônica 510 combase em dados de HTML e CSS recebidos a partir do motor de clientes316. A interface da planilha eletrônica pode incluir uma fila de controle511, uma fila de cabeçalho de coluna 512 e várias filas de dados 513etiquetadas de um até oito. A fila de controle 511 pode incluir umcampo 521 que exibe a célula atualmente ativa (por exemplo, a célulaD4 no exemplo mostrado na Figura 5) e um campo de fórmula 522 emque o usuário pode introduzir fórmulas ou outras operações de planilhaeletrônica. A fila de cabeçalho de coluna 511 inclui os cabeçalhos decoluna etiquetados de "A" até "H". Os usuários podem especificar uma célula particular na interface da planilha eletrônica 510 por umacombinação de um cabeçalho de coluna e um cabeçalho de fila. Acélula Dl, por exemplo, inclui o valor "$9.00".
Através da interface de planilha eletrônica 510, um usuáriopode, por exemplo, introduzir valores ou fórmulas nas células daplanilha eletrônica e realizar operações de formatação relativas àplanilha eletrônica. Em resposta, o motor de clientes 316 interage e fazpedidos de componente de servidor de planilha eletrônica 120 conformenecessário (ato 404). Conforme mostrado na Figura 5, um usuáriointroduziu o texto "Despesas de Viagem" na célula Bl e introduziuvalores de dólar nas células Dl, D2 e D3. A célula D4 é atualmente acélula ativa (mostrada pelas linhas a negrito que circundam estacélula). O usuário introduziu a fórmula "=soma(Dl:D3)," que é mostra-da no campo de fórmulas 522 e que direciona a planilha eletrônica asomar os valores das células Dl até D3 e escrever o resultado na célulaD4. Além disso, como também é mostrado na Figura 5, o usuáriomodificou a largura das colunas "F" e "G". O usuário pode fazer isto,por exemplo, arrastando a linha de separação da coluna entre ascolunas "F" e "G" na direção pretendida.
As funções e operações acima descritas que são permitidaspela aplicação de planilha eletrônica online são exemplificativas.
Através da interface de planilha eletrônica 510, a aplicação de planilhaeletrônica online pode permitir que um usuário realize numerosasoperações que são geralmente reconhecidas como sendo consistentescom uma aplicação de planilha eletrônica.
Numa modalidade, o motor de clientes 316 pode manuseara maioria ou toda a funcionalidade associada com a resposta a ações dousuário em relação à navegação e/ou à formatação da interface deplanilha eletrônica sem precisar contatar o componente de servidor deplanilha eletrônica 125. Outras funções da aplicação de planilhaeletrônica, tais como a avaliação de funções numa planilha eletrônica,podem ser manuseadas por lógica no componente back-end 327. Pelaformatação da manipulação e realimentação de entrada de dadoslocalmente no cliente 110, a aplicação de planilha eletrônica online podeproporcionar um alto nível de receptividade às ações do usuário quetendem a ocorrer freqüentemente e para as quais os usuários esperamrealimentação imediata. Pela manipulação da avaliação de fórmulas deplanilha eletrônica em componente back-end. 327, os resultados de umafórmula criada por um primeiro usuário podem ser compartilhados poroutros usuários sem necessariamente compartilhar os detalhes internosda fórmula. Deste modo, os usuários podem compartilhar ou publicarfórmulas/operações personalizadas, enquanto potencialmente mantêmos detalhes internos proprietários.
Uma pessoa de capacidade ordinária na técnica reconhece-rá que, em implementações alternadas, a divisão de funções executadasno motor de clientes 316 e no componente back-end 327 pode sermodificada de tal forma que o motor de clientes 316 manuseie mais oumenos funções e, de modo semelhante, o componente back-end 327pode também manusear mais ou menos funções.
Periodicamente ou sob a direção explícita do usuário via in-terface da planilha eletrônica 510, os dados que compreendem odocumento de planilha eletrônica podem ser salvos (ato 405). Numamodalidade possível, o documento de planilha eletrônica pode ser salvopelo componente do servidor de planilha eletrônica 125 para o banco dedados 130. Desta maneira, o documento de planilha eletrônica podeficar acessadível para o usuário (ou para outros usuários) a partir dequalquer dispositivo de computação conectado à rede 140.
Funcionalidade Adicionalda Aplicação de planilha Eletrônica Online
A funcionalidade adicional proporcionada pela aplicação deplanilha eletrônica online será descrita a seguir em detalhe adicional.A aplicação de planilha eletrônica online pode proporcionarcolaboração entre usuários múltiplos trabalhando numa planilhaeletrônica única. Por exemplo, usuários múltiplos podem editar simul-taneamente uma planilha eletrônica e visualizar as edições de cada umdos usuários. Quando um usuário editar uma célula particular daplanilha eletrônica, a edição pode ser transmitida para o componente deservidor de planilha eletrônica 125 e, depois, remetida para outrosusuários colaboradores que também estão editando ou visualizando aplanilha eletrônica. Para esta finalidade, o componente de servidor deplanilha eletrônica 125 pode gerenciar os conflitos entre os usuárioscolaboradores, tal como quando dois usuários tentam simultaneamenteeditar uma célula particular. Por exemplo, o componente de servidor deplanilha eletrônica 125 pode aceitar a primeira edição recebida ou dealguma maneira priorizar os usuários colaboradores de tal forma que asedições dos usuários de prioridade mais elevada se sobrescrevamàquelas de usuários de prioridade mais baixa. Se uma edição de umusuário é rejeitada pelo componente de servidor de planilha eletrônica125, o componente de servidor de planilha eletrônica 125 pode transmi-tir uma mensagem de volta para o usuário que informa aquele usuárioda rejeição da edição. Desta maneira, os usuários múltiplos podemcolaborar, potencialmente em tempo real (ou próximo do tempo real),numa planilha eletrônica única.
Numa modalidade, as partes que podem visualizar e colabo-rar numa aplicação de planilha eletrônica particular podem ser especifi-cadas por um criador inicial da planilha eletrônica. Por exemplo, ocriador inicial pode receber privilégios de "administrador" que permitemque o criador especifique os privilégios de cada um dos outros colabora-dores possíveis. O criador pode especificar que os outros colaboradorestêm privilégios para fazer um ou mais do seguinte: editar a planilhaeletrônica, visualizar somente a planilha eletrônica, editar partesdesignadas da planilha eletrônica ou adicionar outros usuários à listade colaboradores possíveis. Por exemplo, certos usuários podem sercapazes de editar certas partes da planilha eletrônica, enquanto outrascélulas ou regiões de células designadas permanecerão "bloqueadas"para aqueles usuários de tal forma que os usuários podem visualizarmas não editar as células bloqueadas. Em algumas modalidades, umaplanilha eletrônica pode ser designada como uma planilha eletrônica"pública" que alguém pode visualizar e/ou editar.
A Figura 6 é um diagrama que ilustra uma interface de pla-nilha eletrônica exemplificativa 610 que pode ser apresentada a umusuário. A interface 610 é semelhante à interface 510, a não ser queforam adicionadas quatro entradas adicionais etiquetadas como entra-das 640. Suponha-se que as entradas foram adicionadas por umusuário colaborador diferente do usuário que adicionou as entradasiniciais 645. As entradas 640 podem ter sido adicionadas simultanea-mente com o primeiro usuário adicionando as entradas iniciais 645 oudepois que o primeiro usuário adicionou as entradas 645. Cadaentrada feita por um usuário colaborador pode ser transmitida a partirdo motor de clientes 316 do usuário colaborador de volta para o com-ponente de servidor de planilha eletrônica 125 e, depois, remetida paratodos os outros usuários colaboradores online. Desta maneira, osusuários podem colaborar simultaneamente sobre um documento.
Em algumas implementações, os usuários podem ser capa-zes de configurar a apresentação de interface de planilha eletrônica 610para de alguma maneira ilustrar que usuários fizeram que edições. Porexemplo, mudanças feitas por usuários diferentes podem ser mostradasnuma fonte diferente ou numa cor diferente para cada usuário. Alter-nativa ou adicionalmente, quando um usuário passa com o mouse porcima ou de alguma forma seleciona uma célula, pode ser mostrada umaindicação do colaborador que editou pela última vez a célula. Noexemplo mostrado na Figura 6, as entradas 640 e 645 são mostradasem fontes diferentes. Também uma caixa de texto 650 é mostrada naFigura 6. A caixa de texto 650 pode ser preenchida com o nome doúltimo usuário que editou a célula atualmente selecionada. Nesteexemplo, a célula E4 é a célula atualmente selecionada (mostrada emnegrito) e a última pessoa a editar esta célula é o usuário "Julie".
Além da colaboração entre usuários, a aplicação de planilhaeletrônica online pode permitir que os colaboradores se comuniqueminterativamente uns com os outros, quando estão trabalhando numaplanilha eletrônica.
A Figura 7 é um diagrama que ilustra outra interface deplanilha eletrônica exempliflcativa 710 que pode ser apresentada paraum usuário. A interface 710 é semelhante às interfaces 510 e 610,exceto que a interface 710 inclui adicionalmente uma barra lateral deenvio de mensagens 715 em que os colaboradores para a aplicação deplanilha eletrônica podem comunicar-se uns com os outros.
A barra lateral 715 pode incluir uma área 720 que mostraos usuários que estão atualmente visualizando ou editando a planilhaeletrônica. Esta lista de usuários pode corresponder aos usuários quesão logados no componente de servidor de planilha eletrônica 125 paraa planilha eletrônica particular. A barra lateral 715 pode tambémincluir uma área de mensagem 725, que exibe mensagens passadasenviadas entre os usuários, e uma área de entrada 730, em que osusuários podem introduzir mensagens. As mensagens digitadas naárea de introdução 730 podem ser exibidas na área de mensagem 725para todos os outros usuários ou para um número seleto de usuários.Uma mensagem entrada pode, por exemplo, ser transmitida a partir domotor de clientes 316 do usuário enviando a mensagem para o compo-nente de servidor de planilha eletrônica 125. No componente deservidor de planilha eletrônica 125, a mensagem introduzida pode serretransmitida de volta para o motor de clientes 316 de todos os outroscolaboradores online. Desta maneira, os colaboradores numa planilhaeletrônica podem comunicar-se em tempo real uns com os outros aomesmo tempo em que trabalham com a planilha eletrônica.
Uma pessoa de capacidade ordinária na técnica reconhece-rá que a barra lateral de envio de mensagens 715, como descrito acima,é exemplificativa e que o leiaute visual e a funcionalidade de envio demensagens reais proporcionados pela barra lateral de envio de mensa-gens podem variar. Por exemplo, a barra lateral de envio de mensagenspode incluir um link de voz que permite que os usuários iniciem sessõesde voz pela rede 140 uns com os outros.
Em algumas modalidades, a aplicação de planilha eletrôni-ca online pode proporcionar uma interface através da qual os usuáriospodem publicar as suas planilhas eletrônicas criadas permitindo quequalquer usuário da aplicação de planilha eletrônica online abra asplanilhas eletrônicas ou permitindo que os usuários embutam umaplanilha eletrônica criada numas página da Web. Os usuários quepretendem publicar planilhas eletrônicas nas páginas da Web podem,por exemplo, ser providos de um componente de servidor de planilhaeletrônica de link 125 que também inclui uma identificação do docu-mento de planilha eletrônica particular que o usuário gostaria depublicar.
A Figura 8 é um diagrama que ilustrando uma planilha ele-trônica embutida dentro de uma página da Wisb consistentes com umaspecto da invenção. Neste exemplo, suponha-se que um usuáriocoloca o conteúdo 805 num servidor da Web 810 associado a umprimeiro domínio (por exemplo, "jimsWefapage.org"). Um cliente podevisitar, usando um navegador 815, o primeiro domínio e receber oconteúdo 805 como uma página da Web 820 a partir do servidor de Web810. O conteúdo 805 pode incluir dentro dele mesmo um link 825 (talcomo um link dentro de um frame inline HTML (IFRAMEj) para ocomponente de servidor de planilha eletrônica 125. Uma pessoa decapacidade ordinária na técnica reconhecerá que o link 825 pode serimplementado usando técnicas diferentes na de um IFRAME. O link825 pode incluir uma URL que inclui um identificador para o documen-to de planilha eletrônica particular que o cliente pretende carregar apartir do servidor 120. No exemplo mostrado em Figura 8, o componen-te de servidor de planilha eletrônica 125 é associado ao domínio "spre-adsheetserver.com" e o documento de planilha eletrônica particular quedeve ser carregado é identificado pela string "sheet= 123456". Quandose libera a página da Web, o navegador 815 contatará o componente deservidor de planilha eletrônica 125, fará o download do motor de cliente316 e exibirá a planilha eletrônica conforme apropriado no cliente 812.A partir do ponto de vista do usuário de cliente 812, a planilha eletrôni-ca é carregada em resposta a navegar para o primeiro domínio.
A aplicação de planilha eletrônica online pode permitir queos usuários criem funções ou operações personalizadas. Uma funçãode usuário personalizada pode ser criada como, por exemplo, umacombinação de funções existentes. A aplicação da planilha eletrônicaonline pode proporcionar ferramentas mais avançadas, tais como acapacidade de criar funções de personalização em outros idiomas deprogramação, tais como funções de personalização escritas em JavaS-cript ou funções de personalização que são compiladas como códigoexecutável, tais como arquivos DLL (biblioteca de link dinâmico). Numamodalidade, os criadores de funções personalizadas podem ter acapacidade de publicar as suas funções personalizadas para outrosusuários. O componente de servidor de planilha eletrônica 125 podefacilitar a capacidade de usuários de publicar as suas funções persona-lizadas proporcionando, por exemplo, uma interface através da qual umusuário pode submeter uma função e uma interface através da qualoutros usuários podem procurar, avaliar e escolher importar outrasfunções personalizadas nas suas aplicações. Em algumas modalidades,o componente de servidor de planilha eletrônica 125 pode permitir queos usuários carreguem as suas funções personalizadas.
Conclusão
Uma aplicação de planilha eletrônica ligada em rede é aquidescrita que é executada de uma maneira distribuída numa rede. Aaplicação de planilha eletrônica ligada em rede pode ser geralmenteusada sem exigir que um usuário instale algum software específico deplanilha eletrônica antes de usar a aplicação. Além do fato de que aaplicação de planilha eletrônica ligada em rede proporciona muitas outodas as características comumente associadas a uma aplicação deplanilha eletrônica, pode permitir que usuários múltiplos colaboremfacilmente numa planilha eletrônica proporcionando a capacidade deusuários múltiplos editarem a planilha eletrônica e enviarem mensa-gens imediatas uns para os outros, enquanto trabalham numa planilhaeletrônica.
A descrição precedente de modalidades exemplificativas dainvenção proporciona ilustração e descrição, mas não se pretende queseja exaustiva nem limite a invenção à forma precisa revelada. Asmodificações e variações são possíveis levando em conta os ensinamen-tos acima ou podem ser adquiridos a partir da prática da invenção. Porexemplo, embora os sistemas de computador aqui descritos fossemdescritos como sendo usados para implementar uma planilha eletrônicaonline, eles poderiam também ser usados para criar outros documentoscolaboradores, tais como wiki ou tabelas.
Além disso, embora tenham sido descritas séries de atoscom respeito à Figura 4, a ordem dos atos pode ser variada em outrasimplementações consistentes com a invenção. Além disso, podem serimplementados atos não dependentes em paralelo.
Também será evidente para uma pessoa de capacidade or-dinária na técnica que podem ser implementados aspectos da invenção,conforme descrita acima, de muitas formas diferentes de software,firmware e hardware nas implementações ilustradas nas Figuras. Ocódigo de software ou hardware de controle especializado real usadopara implementar aspectos consistentes com os princípios da invençãonão é limitativo da invenção. Deste modo, a operação e o comporta-mento dos aspectos da invenção forma descritos sem referência aocódigo de software específico - ficando entendido que uma pessoa decapacidade ordinária na técnica poderia projetar software e hardware decontrole para implementar os aspectos com base nesta descrição.
Além disso, certas partes da invenção podem ser implemen-tadas como "lógica" ou um "componente" que desempenha uma ou maisfunções. Esta lógica pode incluir hardware, tal como circuito integradode aplicação específica ou um conjunto ordenado de portão programá-vel, software ou uma combinação de hardware e software.
Nenhum elemento, ato ou instrução usado na descrição dainvenção deve ser interpretado como crítico ou essencial para a inven-ção, a menos que explicitamente descrito como tal. Também, conformeaqui usado, o artigo "um" pretende incluir um ou mais itens. Ondeapenas um item é pretendido, é usado o termo "um" ou linguagemsemelhante. Além disso, pretende-se que a frase "com base em"signifique "com base, pelo menos em parte, em", a menos que explici-tamente declarado de outra forma.

Claims (24)

"Métodos de Colaboração Online em Planilha Eletrônica e Sistemase Dispositivos de Computaçãoe de Memória Legível em Computador"
1. - Método de Colaboração Online em Planilha Eletrônica, caracte-rizado por que compreende:receber um pedido para uma aplicação de planilha eletrôni-ca num dispositivo servidor de computação a partir de um programa denavegador de um dispositivo cliente de computação;transmitir o código de programação para uma primeira par-te da aplicação de planilha eletrônica para o programa de navegador dodispositivo cliente de computação em resposta ao pedido, sendo ocódigo de programação para a primeira parte da aplicação de planilhaeletrônica localmente projetado para lidar com pedidos a partir de umusuário do dispositivo cliente de computação com relação a navegar ouformatar um documento de planilha eletrônica da aplicação de planilhaeletrônica; eexecutar o código de programação para uma segunda parteda aplicação de planilha eletrônica no dispositivo servidor de computa-ção, sendo o código de programação para a segunda parte da aplicaçãode planilha eletrônica programado para lidar com atualizações defunções no documento de planilha eletrônica.
2. - Método de Colaboração Online em Planilha Eletrônica, de acordocom a Reivindicação 1, caracterizado por que compreende ainda:transmitir o código de programação para a primeira parteda aplicação de planilha eletrônica para programas de navegador deuma pluralidade de dispositivos clientes de computação; eatualizar as mudanças feitas no documento da planilha ele-trônica via a primeira parte da aplicação de planilha eletrônica num dapluralidade de dispositivos clientes de computação para documentos deplanilha eletrônica em outros da pluralidade de dispositivos clientes decomputação.
3. - Método de Colaboração Online em Planilha Eletrônica, de acordocom a Reivindicação 2, caracterizado por que os outros da pluralidadede dispositivos clientes de computação são atualizados em tempo realou próximo do tempo real.
4. - Método de Colaboração Online em Planilha Eletrônica, de acordocom a Reivindicação 2, caracterizado por que a primeira parte daaplicação de planilha eletrônica exibe uma área de envio de mensagenspara exibir mensagens a partir de usuários da pluralidade de dispositi-vos clientes de computação.
5. - Método de Colaboração Online em Planilha Eletrônica, de acordocom a Reivindicação 4, caracterizado por que as mensagens sãocomunicadas entre os usuários da pluralidade de dispositivos clientesde computação em tempo real.
6. - Método de Colaboração Online em Planilha Eletrônica, de acordocom a Reivindicação 1, caracterizado por que compreende ainda:proporcionar uma pluralidade de funções para uso no do-cumento de planilha eletrônica, sendo pelo menos algumas da plurali-dade de funções funções que foram criadas por usuários de outrosdispositivos clientes de computação.
7. - Método de Colaboração Online em Planilha Eletrônica, de acordocom a Reivindicação 1, caracterizado por que compreende ainda:proporcionar uma opção para um usuário do dispositivo cli-ente de computação para tornar a planilha eletrônica um documentopublicamente acessível a usuários de outros dispositivos clientes decomputação.
8. - Dispositivo de Memória Legível em Computador, caracterizadopor que contém instruções de programação que, quando executadas porum dispositivo de computação, ocasionam que o dispositivo de compu-tação:receba um pedido para uma aplicação de planilha eletrônicaa partir de um programa de navegador de um dispositivo cliente decomputação;transmita o código de programação para uma primeira par-te da aplicação de planilha eletrônica para o programa de navegador dodispositivo cliente de computação em resposta ao pedido, sendo ocódigo de programação para a primeira parte da aplicação de planilhaeletrônica localmente projetado para lidar com pedidos a partir de umusuário do dispositivo cliente de computação com relação a navegar ouformatar um documento de planilha eletrônica da aplicação de planilhaeletrônica; eexecutar o código de programação para uma segunda parteda aplicação de planilha eletrônica, sendo o código de programaçãopara a segunda parte da aplicação de planilha eletrônica projetado paralidar com atualizações de funções no documento da planilha eletrônica.
9. - Dispositivo de Computação, caracterizado por que compreende:um processador; euma memória acoplada ao processador, armazenando amemória instruções que, quando executadas pelo processador, ocasio-nam que o processador:distribuir um motor de clientes para uma pluralidade dedispositivos clientes de computação numa rede, implementando o motorde clientes uma primeira parte de funcionalidade associada a umaaplicação de planilha eletrônica e sendo distribuído a cada um dapluralidade de dispositivos clientes de computação em resposta aaplicação a partir da pluralidade de dispositivos clientes de computaçãopara a aplicação de planilha eletrônica; eexecutar um componente de servidor de planilha eletrônicaque apresenta uma segunda parte da funcionalidade associada àaplicação de planilha eletrônica localmente no dispositivo, atualizando ocomponente de servidor de planilha eletrônica, em tempo real oupróximo do tempo real, mudanças feitas em um da pluralidade dedispositivos clientes de computação para outros da pluralidade dedispositivos clientes de computação.
10. - Dispositivo de Computação, de acordo com a Reivindicação 9,caracterizado por que o motor de clientes é distribuído para pelomenos um da pluralidade de dispositivos clientes de computação emresposta a um pedido de HTTP feito para o dispositivo por um navega-dor da Rede que executa uma da pluralidade dos dispositivos clientesde computação.
11. - Dispositivo de Computação, de acordo com a Reivindicação 9,caracterizado por que o motor de clientes na pluralidade de dispositi-vos clientes de computação proporciona uma interface de usuário queinclui uma área de envio de mensagens configurada para exibir mensa-gens comunicadas entre os usuários da pluralidade de dispositivosclientes de computação.
12. - Dispositivo de Computação, de acordo com a Reivindicação 10,caracterizado por que as mensagens são comunicadas entre os usuá-rios da pluralidade de dispositivos clientes de computação em temporeal.
13. - Dispositivo de Computação, de acordo com a Reivindicação 9,caracterizado por que o motor de cliente é configurado para exibir umainterface de usuário para a aplicação de planilha eletrônica comointerface de usuário da planilha eletrônica embutida numa janela donavegador.
14. - Dispositivo de Computação, de acordo com a Reivindicação 13,caracterizado por que a interface de usuário da planilha eletrônica éembutida numa moldura de uma página da Rede.
15. - Dispositivo de Computação, de acordo com a Reivindicação 10,caracterizado por que a primeira parte da funcionalidade associada àaplicação de planilha eletrônica é localmente projetada para lidar compedidos a partir de usuários dos dispositivos clientes de computaçãocom relação a navegar ou formatar um documento de planilha eletrôni-ca da aplicação de planilha eletrônica e uma segunda parte da funcio-nalidade associada à aplicação de planilha eletrônica é projetada paralidar com atualizações de funções na planilha eletrônica.
16. - Dispositivo de Computação, de acordo com a Reivindicação 10,caracterizado por que compreende ainda:um dispositivo de armazenamento para armazenar docu-mentos de planilha eletrônica criados pela pluralidade de dispositivosclientes de computação.
17. - Método de Colaboração Online em Planilha Eletrônica, caracte-rizado por que compreende:distribuir um motor de clientes para uma pluralidade dedispositivos clientes de computação numa rede, implementando o motorde clientes uma primeira parte de funcionalidade associada a umaaplicação de planilha eletrônica e sendo distribuído para cada um dapluralidade de dispositivos clientes de computação em resposta apedidos a partir da pluralidade de dispositivos clientes de computaçãopara a aplicação de planilha eletrônica; eexecutar um componente de servidor de planilha eletrônicaque realiza uma segunda parte da funcionalidade associada à aplicaçãode planilha eletrônica localmente no dispositivo, atualizando o compo-nente de servidor de planilha eletrônica, em tempo real ou próximo dotempo real, mudanças feitas num da pluralidade de dispositivos clientesde computação para outros da pluralidade de dispositivos clientes decomputação.
18. - Método de Colaboração Online em Planilha Eletrônica, deacordo com a Reivindicação 17, caracterizado por que compreende15 ainda proporcionar uma interface de usuário que inclui uma área deenvio de mensagens configurada para exibir mensagens comunicadasentre usuários da pluralidade de dispositivos clientes de computação.
19. - Sistema de Computação, para proporcionar uma aplicação deplanilha eletrônica distribuída para uma pluralidade de usuários,caracterizado por que compreende:lógica de motor de clientes que é executado dentro de pro-gramas de navegador de uma pluralidade de dispositivos clientes decomputação; elógica de servidor configurada para distribuir a lógica domotor de clientes para a pluralidade de dispositivos clientes de compu-tação da aplicação de planilha eletrônica, quando solicitado pelosprogramas de navegador de cada um da pluralidade de dispositivosclientes de computação, sincronizando a lógica de servidor um docu-mento de planilha eletrônica único que é simultaneamente aberto napluralidade de dispositivos clientes de computação.
20. - Sistema de Computação, de acordo com a Reivindicação 19,caracterizado por que a lógica do motor de clientes proporciona umainterface entre o navegador associado a um da pluralidade de dispositi-vos clientes de computação e a lógica do servidor, manuseando assin-cronicamente a lógica do motor de clientes as comunicações a partir donavegador e da lógica de servidor.
21. - Sistema de Computação, de acordo com a Reivindicação 19,caracterizado por que compreende ainda:lógica para proporcionar aos usuários da pluralidade dedispositivos de computação uma barra lateral de envio de mensagensimplementada dentro de uma interface de um documento de planilhaeletrônica da aplicação de planilha eletrônica através da qual sãoexibidas mensagens enviadas em tempo real entre os usuários dapluralidade de dispositivos de computação.
22. - Método de Colaboração Online em Planilha Eletrônica, caracte-rizado por que compreende:proporcionar um link que identifica exclusivamente um do-cumento de planilha eletrônica;receber um pedido para o link a partir de um navegador deRede que está processando uma página da Rede que inclui o linkembutido na página da Rede; etransmitir, em resposta ao recebimento do pedido para olink, o documento de planilha eletrônica e pelo menos uma parte de25 uma aplicação de planilha eletrônica configurada para proporcionar odocumento de planilha eletrônica a um usuário do navegador de Rede.
23. - Método de Colaboração Online em Planilha Eletrônica, deacordo com a Reivindicação 22, caracterizado por que o link é propor-cionado como parte de uma moldura inline de Linguagem de Markup deHipertexto (HTML).
24. - Sistema de Computação, caracterizado por que compreende:lógica de cliente que é executada dentro de programas denavegador de uma pluralidade de dispositivos clientes de computação,incluindo a lógica de cliente um componente de interface de usuáriopara lidar com a exibição de documentos de planilha eletrônica para umdo dispositivos clientes de computação e um componente de motor declientes para lidar localmente com pedidos a partir de um usuário deum dos dispositivos clientes de computação com relação a navegar ouformatar o documento de planilha eletrônica; elógica de servidor configurada para distribuir a lógica domotor de clientes para a pluralidade de dispositivos clientes de compu-tação, quando solicitado por programas de navegador de cada um dapluralidade de dispositivos clientes de computação, sincronizando alógica de servidor um documento de planilha eletrônica único que ésimultaneamente aberto na pluralidade de dispositivos clientes decomputação, incluindo a lógica de servidor um componente de servidorde front-end configurado para proporcionar uma interface da Rede paraa pluralidade de dispositivos clientes de computação e uma parte decomponente de back-end configurado para lidar com atualizações defunções no documento de planilha eletrônica.
BRPI0709656-9A 2006-03-31 2007-03-30 Métodos de colaboração online em planilha eletrônica e sistemas e dispositivos de computação e de memória legível em computador BRPI0709656B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/278,345 US8307119B2 (en) 2006-03-31 2006-03-31 Collaborative online spreadsheet application
US11/278,345 2006-03-31
PCT/US2007/065608 WO2007115149A1 (en) 2006-03-31 2007-03-30 Collaborative online spreadsheet application

Publications (2)

Publication Number Publication Date
BRPI0709656A2 true BRPI0709656A2 (pt) 2011-07-19
BRPI0709656B1 BRPI0709656B1 (pt) 2023-01-24

Family

ID=38267693

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI0709656-9A BRPI0709656B1 (pt) 2006-03-31 2007-03-30 Métodos de colaboração online em planilha eletrônica e sistemas e dispositivos de computação e de memória legível em computador

Country Status (9)

Country Link
US (7) US8307119B2 (pt)
EP (1) EP2002359A1 (pt)
JP (1) JP5005026B2 (pt)
KR (1) KR101044684B1 (pt)
CN (1) CN101454774B (pt)
AU (1) AU2007233090A1 (pt)
BR (1) BRPI0709656B1 (pt)
CA (1) CA2648043C (pt)
WO (1) WO2007115149A1 (pt)

Families Citing this family (194)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9009582B2 (en) 2004-11-19 2015-04-14 Google Inc. Converting spreadsheet applications to web-based applications
US8307119B2 (en) 2006-03-31 2012-11-06 Google Inc. Collaborative online spreadsheet application
US9037961B1 (en) 2006-09-18 2015-05-19 Credit Suisse Securities (Usa) Llc System and method for storing a series of calculations as a function for implementation in a spreadsheet application
US20080104542A1 (en) * 2006-10-27 2008-05-01 Information Builders, Inc. Apparatus and Method for Conducting Searches with a Search Engine for Unstructured Data to Retrieve Records Enriched with Structured Data and Generate Reports Based Thereon
US20080172597A1 (en) * 2007-01-16 2008-07-17 Siemens Medical Solutions Usa, Inc. Data Field Referencing Text Processing System
US20080229184A1 (en) * 2007-03-15 2008-09-18 Microsoft Corporation Private sheets in shared spreadsheets
US7937663B2 (en) * 2007-06-29 2011-05-03 Microsoft Corporation Integrated collaborative user interface for a document editor program
US8543683B2 (en) * 2007-09-26 2013-09-24 Microsoft Corporation Remote monitoring of local behavior of network applications
US8108513B2 (en) * 2007-09-26 2012-01-31 Microsoft Corporation Remote monitoring of local behavior of network applications
US20090083363A1 (en) * 2007-09-26 2009-03-26 Microsoft Corporation Remote monitoring of local behavior of network applications
US8190987B2 (en) * 2007-10-25 2012-05-29 Microsoft Corporation Private views of data and local calculations during real time collaboration
US7756824B2 (en) * 2007-10-26 2010-07-13 Microsoft Corporation Spreadsheet collaboration between rich and browser clients
US8862979B2 (en) * 2008-01-15 2014-10-14 Microsoft Corporation Multi-client collaboration to access and update structured data elements
US8650154B2 (en) 2008-02-19 2014-02-11 International Business Machines Corporation Document synchronization solution
US20090249224A1 (en) * 2008-03-31 2009-10-01 Microsoft Corporation Simultaneous collaborative review of a document
US8725679B2 (en) * 2008-04-07 2014-05-13 International Business Machines Corporation Client side caching of synchronized data
US8078957B2 (en) 2008-05-02 2011-12-13 Microsoft Corporation Document synchronization over stateless protocols
US8543926B2 (en) * 2008-06-10 2013-09-24 Microsoft Corporation Managing item access in a collaborative workspace
US8464161B2 (en) * 2008-06-10 2013-06-11 Microsoft Corporation Managing permissions in a collaborative workspace
US8341532B2 (en) * 2008-06-10 2012-12-25 Microsoft Corporation Automated set-up of a collaborative workspace
EP2163983A1 (de) 2008-09-15 2010-03-17 Deutsche Post AG Verfahren zur Erzeugung einer Druckdatei aus Datenobjekten eines Speichers
US8161099B2 (en) 2008-12-17 2012-04-17 Microsoft Corporation Techniques to automatically syndicate content over a network
US20100161463A1 (en) * 2008-12-23 2010-06-24 Lucrecia Cossette Richardson Digital register voice recorder (Digi RVR)
US8656290B1 (en) * 2009-01-08 2014-02-18 Google Inc. Realtime synchronized document editing by multiple users
US9286364B2 (en) * 2009-01-23 2016-03-15 Salesforce.Com Inc. Methods and systems for sharing information in a supply chain
US8327278B2 (en) * 2009-02-17 2012-12-04 Microsoft Corporation Synchronizing metadata describes user content updates and an indication of user gestures being performed within the document, and across client systems using different communication channels
US20100211862A1 (en) * 2009-02-18 2010-08-19 Microsoft Corporation Facilitating spreadsheet and database views on common data store
US9294421B2 (en) 2009-03-23 2016-03-22 Google Inc. System and method for merging edits for a conversation in a hosted conversation system
US9021386B1 (en) 2009-05-28 2015-04-28 Google Inc. Enhanced user interface scrolling system
US8527602B1 (en) 2009-05-28 2013-09-03 Google Inc. Content upload system with preview and user demand based upload prioritization
US9602444B2 (en) 2009-05-28 2017-03-21 Google Inc. Participant suggestion system
US10198523B2 (en) * 2009-06-03 2019-02-05 Microsoft Technology Licensing, Llc Utilizing server pre-processing to deploy renditions of electronic documents in a computer network
US8219526B2 (en) 2009-06-05 2012-07-10 Microsoft Corporation Synchronizing file partitions utilizing a server storage model
US20100318889A1 (en) * 2009-06-12 2010-12-16 Microsoft Corporation Automatic Insertion of Data from Web Forms into Documents
US8713584B2 (en) * 2009-08-13 2014-04-29 Google Inc. Event-triggered server-side macros
US20110047501A1 (en) * 2009-08-21 2011-02-24 Avaya Inc. Sequenced applications with user playback or other user controls utilizing a single window or dialog box
US9135312B2 (en) 2009-11-02 2015-09-15 Google Inc. Timeslider
SG181616A1 (en) * 2009-12-10 2012-07-30 Royal Bank Of Canada Synchronized processing of data by networked computing resources
US9940670B2 (en) 2009-12-10 2018-04-10 Royal Bank Of Canada Synchronized processing of data by networked computing resources
US10771536B2 (en) * 2009-12-10 2020-09-08 Royal Bank Of Canada Coordinated processing of data by networked computing resources
US9979589B2 (en) * 2009-12-10 2018-05-22 Royal Bank Of Canada Coordinated processing of data by networked computing resources
US9959572B2 (en) * 2009-12-10 2018-05-01 Royal Bank Of Canada Coordinated processing of data by networked computing resources
US10057333B2 (en) * 2009-12-10 2018-08-21 Royal Bank Of Canada Coordinated processing of data by networked computing resources
EP2558960A1 (en) 2010-04-12 2013-02-20 Google, Inc. Real-time collaboration in a hosted word processor
CN102934105B (zh) 2010-04-12 2016-10-05 谷歌公司 在驻留的文字处理器中的协作光标
US8510399B1 (en) 2010-05-18 2013-08-13 Google Inc. Automated participants for hosted conversations
US9081633B2 (en) * 2010-05-24 2015-07-14 Microsoft Technology Licensing, Llc Remote application connection sharing
US9380011B2 (en) 2010-05-28 2016-06-28 Google Inc. Participant-specific markup
US9026935B1 (en) 2010-05-28 2015-05-05 Google Inc. Application user interface with an interactive overlay
US20110302506A1 (en) * 2010-06-07 2011-12-08 Peter Noyes Method for Multi-User Collaboration on Visual Content Based Upon the Exchange of Session Data Objects Including New Parameters
US9058088B2 (en) * 2010-07-23 2015-06-16 Libera, Inc. Methods and systems for operating a remote computer application from a thin client
US9747270B2 (en) 2011-01-07 2017-08-29 Microsoft Technology Licensing, Llc Natural input for spreadsheet actions
EP2439692A1 (en) * 2010-09-23 2012-04-11 Webdoc SA Platform enabling web-based interpersonal communication within shared digital media
US8799453B2 (en) 2010-10-20 2014-08-05 Microsoft Corporation Managing networks and machines for an online service
US8386501B2 (en) 2010-10-20 2013-02-26 Microsoft Corporation Dynamically splitting multi-tenant databases
US8417737B2 (en) 2010-10-20 2013-04-09 Microsoft Corporation Online database availability during upgrade
WO2012061297A1 (en) * 2010-11-02 2012-05-10 Google Inc. Realtime synchronized document editing by multiple users for blogging
US8850550B2 (en) 2010-11-23 2014-09-30 Microsoft Corporation Using cached security tokens in an online service
ITGE20100132A1 (it) * 2010-11-30 2012-05-31 M 3 S S R L " metodo di distribuzione e condivisione di dati in fogli elettronici per sistemi informatici ".
US9721030B2 (en) * 2010-12-09 2017-08-01 Microsoft Technology Licensing, Llc Codeless sharing of spreadsheet objects
US8250459B2 (en) * 2010-12-13 2012-08-21 Google Inc. System and method for providing online data management services
US9898454B2 (en) 2010-12-14 2018-02-20 Microsoft Technology Licensing, Llc Using text messages to interact with spreadsheets
US9811516B2 (en) 2010-12-14 2017-11-07 Microsoft Technology Licensing, Llc Location aware spreadsheet actions
US8566708B1 (en) 2011-01-13 2013-10-22 Google Inc. Merging electronic document redraws
US8700986B1 (en) 2011-03-18 2014-04-15 Google Inc. System and method for displaying a document containing footnotes
US9129234B2 (en) 2011-01-24 2015-09-08 Microsoft Technology Licensing, Llc Representation of people in a spreadsheet
US10223346B2 (en) * 2011-01-25 2019-03-05 Microsoft Technology Licensing, Llc Hybrid client/network service application integration
CN102646049B (zh) * 2011-02-16 2016-03-02 阿里巴巴集团控股有限公司 一种组件协同方法和***
US8510266B1 (en) * 2011-03-03 2013-08-13 Google Inc. System and method for providing online data management services
US8996985B1 (en) 2011-03-16 2015-03-31 Google Inc. Online document processing service for displaying comments
US9524531B2 (en) 2011-05-09 2016-12-20 Microsoft Technology Licensing, Llc Extensibility features for electronic communications
US9330080B2 (en) * 2011-06-27 2016-05-03 Sap Se Methods and systems to facilitate providing spreadsheet and database data to users via a social network
US8739023B2 (en) * 2011-07-20 2014-05-27 International Business Machines Corporation Utilizing a graphical transition to sort an interface element independently of a document object model
US8875036B1 (en) * 2011-08-31 2014-10-28 Google Inc. Post edit localization evaluation in offline context of an application
US8484561B1 (en) 2011-09-02 2013-07-09 Google Inc. System and method for updating an object instance based on instructions received from multiple devices
US9336137B2 (en) 2011-09-02 2016-05-10 Google Inc. System and method for performing data management in a collaborative development environment
US8677230B2 (en) 2011-09-15 2014-03-18 Morgan Stanley Network-based data consolidation, calculation and reporting engine
US9250928B2 (en) 2011-10-18 2016-02-02 Mcafee, Inc. Cooperative mobile analytics
US9588953B2 (en) 2011-10-25 2017-03-07 Microsoft Technology Licensing, Llc Drag and drop always sum formulas
US8949352B2 (en) 2011-10-28 2015-02-03 Microsoft Corporation Document sharing through browser
US9053083B2 (en) 2011-11-04 2015-06-09 Microsoft Technology Licensing, Llc Interaction between web gadgets and spreadsheets
US8738706B1 (en) 2011-11-16 2014-05-27 Google Inc. Systems and methods for collaborative document editing
US20130159402A1 (en) * 2011-12-14 2013-06-20 Microsoft Corporation Social aspects for data collaboration
US9389891B2 (en) 2012-01-09 2016-07-12 Microsoft Technology Licensing, Llc Custom browser-side spreadsheet functions
US9171099B2 (en) * 2012-01-26 2015-10-27 Microsoft Technology Licensing, Llc System and method for providing calculation web services for online documents
US9514249B2 (en) * 2012-02-22 2016-12-06 David Qingdong Ge Re-arrangeable, and customizable access controllable data tree hierarchies, and methods of use thereof
KR101314098B1 (ko) * 2012-03-08 2013-10-04 주식회사 한글과컴퓨터 브라우저 구동 장치 및 방법
US9251360B2 (en) 2012-04-27 2016-02-02 Intralinks, Inc. Computerized method and system for managing secure mobile device content viewing in a networked secure collaborative exchange environment
US9253176B2 (en) 2012-04-27 2016-02-02 Intralinks, Inc. Computerized method and system for managing secure content sharing in a networked secure collaborative exchange environment
US9553860B2 (en) 2012-04-27 2017-01-24 Intralinks, Inc. Email effectivity facility in a networked secure collaborative exchange environment
US20140189483A1 (en) * 2012-04-27 2014-07-03 Intralinks, Inc. Spreadsheet viewer facility
AU2013251304B2 (en) 2012-04-27 2018-12-20 Intralinks, Inc. Computerized method and system for managing networked secure collaborative exchange
US9286276B2 (en) * 2012-06-11 2016-03-15 Google Inc. System and method of document embedding in collaborative editors
US9099031B2 (en) * 2012-06-15 2015-08-04 Apple Inc. Layout synchronization
US20140050311A1 (en) * 2012-08-17 2014-02-20 International Business Machines Corporation Telephone call set correlation and information ranking
US20150200893A1 (en) * 2012-09-13 2015-07-16 Google Inc. Document review system
US20150193492A1 (en) * 2012-11-08 2015-07-09 Google Inc. Editing sub-section of an electronic document via notification message
US9462037B2 (en) 2013-01-07 2016-10-04 Google Inc. Dynamically sizing chunks in a partially loaded spreadsheet model
US10956667B2 (en) 2013-01-07 2021-03-23 Google Llc Operational transformations proxy for thin clients
US9311622B2 (en) 2013-01-15 2016-04-12 Google Inc. Resolving mutations in a partially-loaded spreadsheet model
US9460073B2 (en) * 2013-02-27 2016-10-04 Google Inc. Systems and methods for mutations and operational transforms in a collaborative spreadsheet environment
US8856234B2 (en) * 2013-02-28 2014-10-07 Workiva Llc System and method for performing distributed asynchronous calculations in a networked environment
US20140281870A1 (en) * 2013-03-14 2014-09-18 Microsoft Corporation Document collaboration and notification of changes using different notification mechanisms
US9256341B2 (en) 2013-03-20 2016-02-09 Microsoft Technology Licensing, Llc Tracking changes in collaborative authoring environment
US11716392B2 (en) * 2013-04-24 2023-08-01 Blackberry Limited Updating an application at a second device based on received user input at a first device
US20140372369A1 (en) * 2013-06-14 2014-12-18 Microsoft Corporation Managing Changes to Shared Electronic Documents Using Change History
US10360297B2 (en) 2013-06-14 2019-07-23 Microsoft Technology Licensing, Llc Simplified data input in electronic documents
US10067927B2 (en) * 2013-06-14 2018-09-04 Microsoft Technology Licensing, Llc Updates to shared electronic documents in collaborative environments
US10664652B2 (en) 2013-06-15 2020-05-26 Microsoft Technology Licensing, Llc Seamless grid and canvas integration in a spreadsheet application
US10198420B2 (en) * 2013-06-15 2019-02-05 Microsoft Technology Licensing, Llc Telling interactive, self-directed stories with spreadsheets
US10133720B2 (en) * 2013-06-15 2018-11-20 Microsoft Technology Licensing, Llc Showing presence of multiple authors in a spreadsheet
US20140380139A1 (en) * 2013-06-21 2014-12-25 Microsoft Corporation Embedded experience through bidirectional integration of crm applications and spreadsheet applications
US9626146B2 (en) * 2013-07-24 2017-04-18 Kabushiki Kaisha Toshiba Electronic apparatus, configuration setting method for adjusting display size and storage medium
WO2015029115A1 (ja) * 2013-08-26 2015-03-05 楽天株式会社 電子書籍システム、電子書籍の提供方法、記録媒体、及び、プログラム
US9672200B1 (en) * 2013-11-06 2017-06-06 Apttex Corporation Spreadsheet with dynamic cell dimensions generated by a spreadsheet template based on remote application values
US9596319B2 (en) * 2013-11-13 2017-03-14 T1V, Inc. Simultaneous input system for web browsers and other applications
US9514327B2 (en) * 2013-11-14 2016-12-06 Intralinks, Inc. Litigation support in cloud-hosted file sharing and collaboration
CN103618960A (zh) * 2013-11-28 2014-03-05 乐视网信息技术(北京)股份有限公司 一种调用tv版的方法及电子设备
US10824787B2 (en) 2013-12-21 2020-11-03 Microsoft Technology Licensing, Llc Authoring through crowdsourcing based suggestions
US11514399B2 (en) 2013-12-21 2022-11-29 Microsoft Technology Licensing, Llc Authoring through suggestion
DE102014205609B4 (de) * 2014-03-26 2016-02-25 Bayerische Motoren Werke Aktiengesellschaft Bauteilverbindung sowie Verfahren zum Herstellen einer Bauteilverbindung
WO2015164521A1 (en) 2014-04-23 2015-10-29 Intralinks, Inc. Systems and methods of secure data exchange
US20150310751A1 (en) * 2014-04-24 2015-10-29 Indu Tolia Augmented reality assisted education content creation and management
US10318618B2 (en) * 2014-06-18 2019-06-11 Microsoft Technology Licensing, Llc Consistent views of partitioned data in eventually consistent systems
US9569418B2 (en) * 2014-06-27 2017-02-14 International Busines Machines Corporation Stream-enabled spreadsheet as a circuit
US10013412B2 (en) 2014-08-25 2018-07-03 Purple Robot Software, Inc. Peer to peer spreadsheet processing
US10133758B2 (en) * 2014-09-10 2018-11-20 Boardwalktech, Inc. Cell-based database management system
US20160092424A1 (en) 2014-09-25 2016-03-31 Oracle International Corporation Client side calculations
US10331775B2 (en) 2014-10-15 2019-06-25 Microsoft Technology Licensing, Llc Collaborative document editing using state-based revision
US10191895B2 (en) * 2014-11-03 2019-01-29 Adobe Systems Incorporated Adaptive modification of content presented in electronic forms
US10423806B2 (en) * 2014-11-12 2019-09-24 Calctopia Limited Secure multiparty computation on spreadsheets
US20160173541A1 (en) * 2014-12-12 2016-06-16 Microsoft Technology Licensing, Llc Presentation of content from within spreadsheet application
CN107113336B (zh) * 2014-12-31 2021-06-08 第三雷沃通讯有限责任公司 网络地址解析
US10013396B2 (en) 2015-01-29 2018-07-03 Dropbox, Inc. Modifying native documents with formulas in a preview
US9910843B2 (en) * 2015-02-03 2018-03-06 Intuit Inc. Systems, methods and articles for a web-based spreadsheet application
US9817876B2 (en) * 2015-06-29 2017-11-14 Planisware SAS Enhanced mechanisms for managing multidimensional data
US10033702B2 (en) 2015-08-05 2018-07-24 Intralinks, Inc. Systems and methods of secure data exchange
US11783120B2 (en) * 2015-08-26 2023-10-10 Roar Software Pty Ltd. System and process for generating an internet application
AU2015255223B2 (en) * 2015-08-26 2021-02-25 Roar Software Pty Ltd System and process for generating an internet application
US10409901B2 (en) 2015-09-18 2019-09-10 Microsoft Technology Licensing, Llc Providing collaboration communication tools within document editor
US9990349B2 (en) 2015-11-02 2018-06-05 Microsoft Technology Licensing, Llc Streaming data associated with cells in spreadsheets
US10713428B2 (en) 2015-11-02 2020-07-14 Microsoft Technology Licensing, Llc Images associated with cells in spreadsheets
US11971860B2 (en) 2015-12-28 2024-04-30 Dropbox, Inc. Embedded folder views
US10175955B2 (en) * 2016-01-13 2019-01-08 Hamilton Sundstrand Space Systems International, Inc. Spreadsheet tool manager for collaborative modeling
US10268833B2 (en) * 2016-04-07 2019-04-23 International Business Machines Corporation Method for conditional permission control in a digital data sheet based on a formula
US10466868B2 (en) 2016-04-27 2019-11-05 Coda Project, Inc. Operations log
CN106095739B (zh) * 2016-06-01 2019-07-19 腾讯科技(深圳)有限公司 信息创建方法及信息创建装置
WO2017206717A1 (zh) 2016-06-01 2017-12-07 腾讯科技(深圳)有限公司 信息创建方法、装置、信息发送方法、装置及存储介质
US10664654B2 (en) 2016-09-13 2020-05-26 Workiva Inc. Electronic document author identification
US11210459B1 (en) 2016-09-23 2021-12-28 Massachusetts Mutual Life Insurance Company Systems, devices, and methods for software coding
US11138370B1 (en) * 2016-09-23 2021-10-05 Massachusetts Mututal Life Insurance Company Modifying and using spreadsheets to create a GUI on another device
US11093703B2 (en) * 2016-09-29 2021-08-17 Google Llc Generating charts from data in a data table
US10313359B2 (en) 2016-11-01 2019-06-04 Microsoft Technology Licensing, Llc Protocols for accessing hosts
US10635509B2 (en) 2016-11-17 2020-04-28 Sung Jin Cho System and method for creating and managing an interactive network of applications
CN108268455B (zh) * 2016-12-30 2021-08-20 珠海金山办公软件有限公司 一种多媒体信息显示方法及装置
US10496737B1 (en) 2017-01-05 2019-12-03 Massachusetts Mutual Life Insurance Company Systems, devices, and methods for software coding
US10725799B2 (en) * 2017-02-22 2020-07-28 Microsoft Technology Licensing, Llc Big data pipeline management within spreadsheet applications
US11157690B2 (en) 2017-02-22 2021-10-26 Microsoft Technology Licensing, Llc Techniques for asynchronous execution of computationally expensive local spreadsheet tasks
JP6900727B2 (ja) * 2017-03-28 2021-07-07 横河電機株式会社 エンジニアリング支援システム、エンジニアリング支援方法、クライアント装置、及びクライアントプログラム
US10552529B2 (en) * 2017-05-03 2020-02-04 International Business Machines Corporation Data change alerts in a collaborative environment
US11048695B2 (en) * 2017-09-12 2021-06-29 Sap Se Context-aware data commenting system
US10742442B2 (en) 2017-10-21 2020-08-11 Mordechai Teicher Cluster of smart devices operable in hub-based and hub-less modes
US10620798B2 (en) 2017-10-21 2020-04-14 Mordechai Teicher Autonomously cooperating smart devices
US10437923B2 (en) * 2017-11-03 2019-10-08 Dropbox, Inc. Collaborative spreadsheet embedding and management
US11741300B2 (en) * 2017-11-03 2023-08-29 Dropbox, Inc. Embedded spreadsheet data implementation and synchronization
US10884571B2 (en) 2018-01-11 2021-01-05 Microsoft Technology Licensing, Llc Dependency-based presence for co-authored documents
KR102030582B1 (ko) * 2018-04-12 2019-10-10 주식회사 한글과컴퓨터 스프레드시트 편집 방법 및 이를 이용하는 장치
US20190361580A1 (en) * 2018-05-23 2019-11-28 Microsoft Technology Licensing, Llc Progressive presence user interface for collaborative documents
US10733169B2 (en) 2018-05-25 2020-08-04 Microsoft Technology Licensing, Llc Interactive user interface for refreshable objects in shared documents
US12020003B2 (en) * 2018-06-18 2024-06-25 Steepstreet, Llc Cell-based computing and website development platform
US11003427B2 (en) * 2018-09-28 2021-05-11 Salesforce.Com, Inc. Interface for generating and testing formulas using a formula language
US10819786B2 (en) * 2018-10-04 2020-10-27 Sap Se Local thin cloud tenant
CN109389372A (zh) * 2018-10-31 2019-02-26 天津津航计算技术研究所 一种企业微信公众号稿件在线协同审核方法
EP3895037A4 (en) * 2018-12-11 2022-08-31 Decision Scenarios Pty. Ltd. IMPROVED SPREADSHEETS AND METHODS TO UPDATE SAME
CN109753620B (zh) * 2018-12-27 2021-02-12 永中软件股份有限公司 网页文档处理方法和***
US11449569B2 (en) * 2019-04-02 2022-09-20 Vmware, Inc. Multi-entry point navigation for user interfaces
CN109976617B (zh) * 2019-04-03 2021-06-25 腾讯科技(深圳)有限公司 文档展示方法和装置
US10929814B2 (en) * 2019-05-02 2021-02-23 Microsoft Technology Licensing, Llc In-context display of out-of-context contact activity
CN112307731B (zh) * 2019-07-16 2023-11-28 珠海金山办公软件有限公司 一种跨表格引用方法、装置、服务器及客户端设备
US11689533B2 (en) 2019-10-10 2023-06-27 Sigma Computing, Inc. Managing worksheet access
CN112784558A (zh) * 2020-02-21 2021-05-11 珠海金山办公软件有限公司 电子表格应用方法、装置、服务器、客户端及通信***
CN111277905A (zh) * 2020-03-09 2020-06-12 新华智云科技有限公司 一种在线协同视频编辑方法及装置
CN111368519B (zh) * 2020-03-17 2023-05-02 北京字节跳动网络技术有限公司 一种线上表格的编辑方法、装置、设备和存储介质
US11397608B2 (en) * 2020-05-18 2022-07-26 Sudharshan Srinivasan Multi-dimensional spreadsheet system enabling stack based programming using a virtual machine
JP7449513B2 (ja) * 2020-06-18 2024-03-14 株式会社ジョブカン会計 情報処理サーバ
US11848976B2 (en) * 2020-06-30 2023-12-19 Oracle International Corporation Custom action invocation in a speadsheet integrated with web services
CN114564922A (zh) * 2020-09-28 2022-05-31 腾讯科技(深圳)有限公司 一种文档编辑方法、装置、计算机设备和存储介质
CN112702396A (zh) * 2020-12-11 2021-04-23 山东浪潮通软信息科技有限公司 一种多终端交互界面数据同步的方法
CN112508540A (zh) * 2020-12-28 2021-03-16 浪潮云信息技术股份公司 一种表单协同工具及其权限设计方法
CN113065320A (zh) * 2021-03-26 2021-07-02 上海玉数科技有限公司 协同编辑式思维导图共享组
CN113204947A (zh) * 2021-05-28 2021-08-03 北京字跳网络技术有限公司 在线表格的展示方法、服务器、第一客户端和源客户端
CN113468858B (zh) * 2021-07-21 2023-12-19 山谷网安科技股份有限公司 一种不依赖于客户端环境的office文件在线编辑的方法
US11625527B1 (en) * 2021-11-17 2023-04-11 Oracle International Corporation Method and system for creating, retrieving, and editing web service attachments in spreadsheets
US11755829B1 (en) * 2022-07-06 2023-09-12 Microsoft Technology Licensing, Llc Enhanced spreadsheet presentation using spotlighting and enhanced spreadsheet collaboration using live typing

Family Cites Families (100)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5220657A (en) * 1987-12-02 1993-06-15 Xerox Corporation Updating local copy of shared data in a collaborative system
JP2834205B2 (ja) * 1989-08-18 1998-12-09 株式会社日立製作所 画面表示方法および装置
US5339388A (en) * 1991-12-31 1994-08-16 International Business Machines Corporation Cursor lock region
US5337407A (en) * 1991-12-31 1994-08-09 International Business Machines Corporation Method and system for identifying users in a collaborative computer-based system
US5546580A (en) * 1994-04-15 1996-08-13 Hewlett-Packard Company Method and apparatus for coordinating concurrent updates to a medical information database
US5630126A (en) 1994-12-13 1997-05-13 International Business Machines Corp. Systems and methods for integrating computations into compound documents
RU2144283C1 (ru) * 1995-06-02 2000-01-10 Интел Корпорейшн Способ и устройство для управления вводом участников в систему конференц-связи
US6157934A (en) 1995-10-24 2000-12-05 Ultimus, L.L.C. Method and apparatus for using distributed spreadsheets in a client/server architecture for workflow automation
EP0880840A4 (en) 1996-01-11 2002-10-23 Mrj Inc DEVICE FOR CONTROLLING ACCESS AND DISTRIBUTION OF DIGITAL PROPERTY
US6006239A (en) * 1996-03-15 1999-12-21 Microsoft Corporation Method and system for allowing multiple users to simultaneously edit a spreadsheet
US5890177A (en) * 1996-04-24 1999-03-30 International Business Machines Corporation Method and apparatus for consolidating edits made by multiple editors working on multiple document copies
US6023715A (en) * 1996-04-24 2000-02-08 International Business Machines Corporation Method and apparatus for creating and organizing a document from a plurality of local or external documents represented as objects in a hierarchical tree
US6161099A (en) * 1997-05-29 2000-12-12 Muniauction, Inc. Process and apparatus for conducting auctions over electronic networks
US6233600B1 (en) 1997-07-15 2001-05-15 Eroom Technology, Inc. Method and system for providing a networked collaborative work environment
US6490620B1 (en) * 1997-09-26 2002-12-03 Worldcom, Inc. Integrated proxy interface for web based broadband telecommunications management
US6240414B1 (en) * 1997-09-28 2001-05-29 Eisolutions, Inc. Method of resolving data conflicts in a shared data environment
US6067551A (en) * 1997-11-14 2000-05-23 Microsoft Corporation Computer implemented method for simultaneous multi-user editing of a document
US6857102B1 (en) 1998-04-07 2005-02-15 Fuji Xerox Co., Ltd. Document re-authoring systems and methods for providing device-independent access to the world wide web
JP3202968B2 (ja) 1998-06-30 2001-08-27 インターナショナル・ビジネス・マシーンズ・コーポレーション 表示制御情報生成方法及びコンピュータ
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
US6519700B1 (en) 1998-10-23 2003-02-11 Contentguard Holdings, Inc. Self-protecting documents
US7162528B1 (en) * 1998-11-23 2007-01-09 The United States Of America As Represented By The Secretary Of The Navy Collaborative environment implemented on a distributed computer network and software therefor
US6691281B1 (en) * 1999-06-15 2004-02-10 Microsoft Corporation Publishing/republishing data tables in HTML documents while maintaining formatting and functionality for restoring back the data tables
US6613098B1 (en) 1999-06-15 2003-09-02 Microsoft Corporation Storage of application specific data in HTML
US6701485B1 (en) * 1999-06-15 2004-03-02 Microsoft Corporation Binding spreadsheet cells to objects
US6631497B1 (en) 1999-07-19 2003-10-07 International Business Machines Corporation Binding data from data source to cells in a spreadsheet
US6928468B2 (en) * 1999-10-29 2005-08-09 Koninklijke Philips Electronics N.V. System for broadcasting software applications and portable data communications device for use in such a system
SG99886A1 (en) 2000-02-24 2003-11-27 Ibm System and method for collaborative multi-device web browsing
US20020026478A1 (en) 2000-03-14 2002-02-28 Rodgers Edward B. Method and apparatus for forming linked multi-user groups of shared software applications
US6754677B1 (en) 2000-05-30 2004-06-22 Outlooksoft Corporation Method and system for facilitating information exchange
US6341292B1 (en) * 2000-05-30 2002-01-22 Outlooksoft Corporation Spreadsheet-based network information exchange with two-part cache
US7454471B2 (en) 2000-06-16 2008-11-18 Microsoft Corporation Sending a range
US6948134B2 (en) 2000-07-21 2005-09-20 Microsoft Corporation Integrated method for creating a refreshable Web Query
WO2002017115A2 (en) * 2000-08-21 2002-02-28 Thoughtslinger Corporation Simultaneous multi-user document editing system
US20020082857A1 (en) 2000-09-08 2002-06-27 Val Skordin Method and apparatus for providing an online document and input form creation and storage system
US7296219B1 (en) * 2000-10-16 2007-11-13 International Business Machines Corporation Client side, web-based calculator
US6988241B1 (en) * 2000-10-16 2006-01-17 International Business Machines Corporation Client side, web-based spreadsheet
WO2002045321A2 (en) * 2000-11-29 2002-06-06 Unilogic, Inc. A collaborative, fault-tolerant, scaleable, flexible, interactive real-time display and processing method and apparatus
US20020073163A1 (en) * 2000-12-12 2002-06-13 Fuji Xerox Co., Ltd. Systems and methods for supporting document centered discussion across heterogeneous devices and displays
US20030014513A1 (en) * 2000-12-27 2003-01-16 Ruths Derek Augustus Samuel System and method for collaborative data resource representation
US6973618B2 (en) * 2000-12-29 2005-12-06 International Business Machines Corporation Method and system for importing MS office forms
US6779151B2 (en) 2001-01-05 2004-08-17 Microsoft Corporation Storing objects in a spreadsheet
US6898760B2 (en) 2001-01-05 2005-05-24 Microsoft Corporation Reporting status of external references in a spreadsheet without updating
US7082569B2 (en) 2001-01-17 2006-07-25 Outlooksoft Corporation Systems and methods providing dynamic spreadsheet functionality
US20020129106A1 (en) 2001-03-12 2002-09-12 Surgency, Inc. User-extensible system for manipulating information in a collaborative environment
DE10117504A1 (de) 2001-04-07 2002-10-17 Degussa Injekt-Tinte
US20020188629A1 (en) 2001-05-21 2002-12-12 Burfoot Daniel C. System, protocol, and methods for the creation of distributed spreadsheets
US7251776B2 (en) * 2001-07-13 2007-07-31 Netview Technologies, Inc. System and method for efficiently and flexibly utilizing spreadsheet information
US7184759B2 (en) * 2001-07-26 2007-02-27 Kyocera Wireless Corp. Modular software components for wireless communication devices
US20030105816A1 (en) * 2001-08-20 2003-06-05 Dinkar Goswami System and method for real-time multi-directional file-based data streaming editor
EP1304626A1 (en) 2001-10-18 2003-04-23 Sun Microsystems, Inc. Managing modified documents
US7716170B2 (en) * 2002-01-08 2010-05-11 Wafik Farag Holistic dynamic information management platform for end-users to interact with and share all information categories, including data, functions, and results, in collaborative secure venue
US20030182621A1 (en) 2002-03-21 2003-09-25 Intel Corporation Websheets
US20030179230A1 (en) * 2002-03-25 2003-09-25 Gerry Seidman Method and apparatus for providing remote peer-to-peer collaborative user interfaces
US20030226105A1 (en) 2002-05-29 2003-12-04 Mattias Waldau Method in connection with a spreadsheet program
US7584419B1 (en) 2002-06-28 2009-09-01 Microsoft Corporation Representing non-structured features in a well formed document
US7523394B2 (en) 2002-06-28 2009-04-21 Microsoft Corporation Word-processing document stored in a single XML file that may be manipulated by applications that understand XML
US7206776B2 (en) * 2002-08-15 2007-04-17 Microsoft Corporation Priority differentiated subtree locking
JP2004110714A (ja) 2002-09-20 2004-04-08 Toyota Motor Corp 電子資料共同編集システム
US7328243B2 (en) * 2002-10-31 2008-02-05 Sun Microsystems, Inc. Collaborative content coherence using mobile agents in peer-to-peer networks
US7954043B2 (en) * 2002-12-02 2011-05-31 International Business Machines Corporation Concurrent editing of a file by multiple authors
US20040131999A1 (en) * 2003-01-06 2004-07-08 Dresnick Stephen J. Computer-based system for instruction using multi-modal teaching methods
US7213201B2 (en) 2003-03-03 2007-05-01 International Business Machines Corporation Meta editor for structured documents
US20040181748A1 (en) * 2003-03-10 2004-09-16 International Business Machines Corporation Thin client framework deployment of spreadsheet applications in a web browser based environment
US20040237045A1 (en) 2003-05-21 2004-11-25 Eintelligence, Inc. Method for asynchronous sharing of integrated spreadsheets using a network
US7523395B1 (en) * 2003-05-30 2009-04-21 Oracle International Corporation Web application generator for spreadsheet calculators
US9256753B2 (en) 2003-06-11 2016-02-09 Microsoft Technology Licensing, Llc Method and apparatus for protecting regions of an electronic document
US7904323B2 (en) * 2003-06-23 2011-03-08 Intel Corporation Multi-team immersive integrated collaboration workspace
US7640506B2 (en) * 2003-06-27 2009-12-29 Microsoft Corporation Method and apparatus for viewing and managing collaboration data from within the context of a shared document
US7181445B2 (en) * 2003-09-05 2007-02-20 Bellsouth Intellectual Property Corporation Aggregating, retrieving, and providing access to document visuals
US7233951B1 (en) * 2004-02-18 2007-06-19 Microsoft Corporation Spreadsheet grid-like control for a web-based collaboration system
US7225189B1 (en) 2004-02-19 2007-05-29 Microsoft Corporation Data source write back and offline data editing and storage in a spreadsheet
US7383272B2 (en) * 2004-05-03 2008-06-03 Boardwalktech, Inc. Method and system for versioned sharing, consolidating and reporting information
US20050268215A1 (en) 2004-06-01 2005-12-01 Microsoft Corporation Method and apparatus for viewing and interacting with a spreadsheet from within a web browser
US20060004832A1 (en) * 2004-06-10 2006-01-05 Langsford Richard G Enterprise infrastructure management appliance
WO2006001718A1 (en) * 2004-06-24 2006-01-05 Geoffrey David Bird Security for computer software
US7213199B2 (en) * 2004-07-16 2007-05-01 Cognos Incorporated Spreadsheet user-interface for an enterprise planning system having multi-dimensional data store
US20060026502A1 (en) * 2004-07-28 2006-02-02 Koushik Dutta Document collaboration system
US8578399B2 (en) 2004-07-30 2013-11-05 Microsoft Corporation Method, system, and apparatus for providing access to workbook models through remote function cells
US20060080432A1 (en) * 2004-09-03 2006-04-13 Spataro Jared M Systems and methods for collaboration
US7702730B2 (en) * 2004-09-03 2010-04-20 Open Text Corporation Systems and methods for collaboration
US7530077B2 (en) 2004-10-07 2009-05-05 International Business Machines Corporation Dynamic update of changing data in user application via mapping to broker topic
US7577906B2 (en) * 2004-11-08 2009-08-18 Microsoft Corporation Method and system for document assembly
US9009582B2 (en) 2004-11-19 2015-04-14 Google Inc. Converting spreadsheet applications to web-based applications
US20060112123A1 (en) * 2004-11-24 2006-05-25 Macnica, Inc. Spreadsheet user-interfaced business data visualization and publishing system
US20060179411A1 (en) * 2005-02-01 2006-08-10 Wolf John W Real-time sharing of single user applications among multiple users
US7584268B2 (en) * 2005-02-01 2009-09-01 Google Inc. Collaborative web page authoring
US20060265396A1 (en) 2005-05-19 2006-11-23 Trimergent Personalizable information networks
US7941484B2 (en) * 2005-06-20 2011-05-10 Symantec Operating Corporation User interfaces for collaborative multi-locale context-aware systems management problem analysis
US7657571B2 (en) * 2005-08-30 2010-02-02 Microsoft Corporation Electronic data snapshot generator
US9501463B2 (en) 2005-12-08 2016-11-22 Microsoft Technology Licensing, Llc Spreadsheet cell-based notifications
US7913162B2 (en) * 2005-12-20 2011-03-22 Pitney Bowes Inc. System and method for collaborative annotation using a digital pen
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
US7996776B2 (en) * 2006-02-27 2011-08-09 Microsoft Corporation Shared telepointer
US20070219956A1 (en) * 2006-03-16 2007-09-20 Milton Michael L Excel spreadsheet parsing to share cells, formulas, tables, etc.
US20070220417A1 (en) * 2006-03-17 2007-09-20 Sonolink Communications Systems, Llc System and method for editing online documents
US8307119B2 (en) 2006-03-31 2012-11-06 Google Inc. Collaborative online spreadsheet application
US9002935B1 (en) 2010-05-04 2015-04-07 Google Inc. Copying document content through a hosted system
US9026903B1 (en) 2011-01-11 2015-05-05 Google Inc. Abstract syntax tree interpreter for generating a valid HTML document

Also Published As

Publication number Publication date
US20130254270A1 (en) 2013-09-26
US20130007118A1 (en) 2013-01-03
US9280533B2 (en) 2016-03-08
US20210027014A1 (en) 2021-01-28
US20130262975A1 (en) 2013-10-03
EP2002359A1 (en) 2008-12-17
US9063920B2 (en) 2015-06-23
BRPI0709656B1 (pt) 2023-01-24
JP5005026B2 (ja) 2012-08-22
CN101454774B (zh) 2012-04-04
AU2007233090A1 (en) 2007-10-11
US9852120B2 (en) 2017-12-26
US20180101515A1 (en) 2018-04-12
CA2648043A1 (en) 2007-10-11
KR20090007365A (ko) 2009-01-16
WO2007115149A1 (en) 2007-10-11
US8307119B2 (en) 2012-11-06
US20130254644A1 (en) 2013-09-26
KR101044684B1 (ko) 2011-06-28
CN101454774A (zh) 2009-06-10
US11941352B2 (en) 2024-03-26
CA2648043C (en) 2013-05-07
US10740551B2 (en) 2020-08-11
US20070233811A1 (en) 2007-10-04
US8447886B2 (en) 2013-05-21
JP2009532778A (ja) 2009-09-10

Similar Documents

Publication Publication Date Title
BRPI0709656A2 (pt) métodos de colaboração online em planilha eletrÈnica e sistemas e dispositivos de computação e de memória legìvel em computador
US8375086B2 (en) Shared state manager and system and method for collaboration
JP2024075645A (ja) 仮想ウェブページのプレビュー中におけるデータベースの編集
US11206273B2 (en) Content management system connect
US8533238B2 (en) Sharing information about a document across a private computer network
US20090043867A1 (en) Synching data
US20140136497A1 (en) System And Method To Compare And Merge Documents
MX2014006002A (es) Habilitacion de caracteristicas de servicio dentro de aplicaciones de productividad.
AU2011244906B2 (en) Collaborative online spreadsheet application
Delgado Rodríguez Web 2.0 history, evolution and characteristics
Vogelsteller et al. Meteor: Full-Stack Web Application Development
Tagging Parag Walimbe Doodle–Remote Tagging, Storage, Retrieval and Display of User Annotations within a Browser Environment
Sadjadee Meteor framework, a new approach to webdevelopment: an experimental analysis
Tutorial XML Tutorial
Hetland et al. Project 7: Your Own Bulletin Board
Meyer et al. Web Site Database: Using PHP and MySQL
Milowski et al. Local Knowledge for In Situ Services
Raggett Testsuite and harness for browser based editing
UGOCHUKWU FUTURE WEB APPLICATION DEVELOPMENT: An XML-Based Framework
Joshi Using History API and Custom Data Attributes
Newmarch An Overview of REST

Legal Events

Date Code Title Description
B06G Technical and formal requirements: other requirements [chapter 6.7 patent gazette]

Free format text: APRESENTE O DEPOSITANTE NOVAS FOLHAS DE DESENHOS, CONFORME DETERMINA O ATO NORMATIVO 127.

B25D Requested change of name of applicant approved

Owner name: GOOGLE LLC (US)

B07A Application suspended after technical examination (opinion) [chapter 7.1 patent gazette]
B09B Patent application refused [chapter 9.2 patent gazette]
B12B Appeal against refusal [chapter 12.2 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 30/03/2007, OBSERVADAS AS CONDICOES LEGAIS. PATENTE CONCEDIDA CONFORME ADI 5.529/DF, QUE DETERMINA A ALTERACAO DO PRAZO DE CONCESSAO.