BRPI0501959B1 - Method for publishing a workbook banner as a server data source, computer-readable medium, and system to expose and use a banner within a workbook as a server data source - Google Patents
Method for publishing a workbook banner as a server data source, computer-readable medium, and system to expose and use a banner within a workbook as a server data source Download PDFInfo
- Publication number
- BRPI0501959B1 BRPI0501959B1 BRPI0501959-1A BRPI0501959A BRPI0501959B1 BR PI0501959 B1 BRPI0501959 B1 BR PI0501959B1 BR PI0501959 A BRPI0501959 A BR PI0501959A BR PI0501959 B1 BRPI0501959 B1 BR PI0501959B1
- Authority
- BR
- Brazil
- Prior art keywords
- workbook
- data
- server
- computer
- data source
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/177—Editing, e.g. inserting or deleting of tables; using ruled lines
- G06F40/18—Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/283—Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Computer And Data Communications (AREA)
Abstract
"método, sistema e aparelho para expor faixas de pasta como fontes de dados". trata-se de um método, sistema e aparelho que são proporcionados para expor e utilizar faixas de pasta como fontes de dados do servidor. o sistema inclui um computador cliente capaz de executar um programa de aplicação de planilha para criar uma pasta incluindo uma faixa que inclui objetos de dados. a pasta pode ser publicada para um computador servidor onde os objetos de dados especificados são expostos como fontes de dados do servidor. o computador servidor permite às aplicações cliente descobrirem e conectarem-se com os objetos de dados contidos dentro da pasta como fontes de dados do servidor.
Description
Relatório Descritivo da Patente de Invenção para "MÉTODO PARA PUBLICAR UMA FAIXA DA PASTA DE TRABALHO COMO UMA FONTE DE DADOS DO SERVIDOR, MEIO LEGÍVEL POR COMPUTADOR E SISTEMA PARA EXPOR E UTILIZAR UMA FAIXA DENTRO DE UMA PASTA DE TRABALHO COMO UMA FONTE DE DADOS DO SERVIDOR".
FUNDAMENTO DA INVENÇÃO
[001] Ao construir pasta de trabalhos, os usuários de programas de aplicação de planilha frequentemente utilizam dados a partir de uma série de fontes diferentes. Por exemplo, ao criar uma pasta de trabalho dentro de um programa de aplicação de planilha, um usuário pode importar dados a partir de outra pasta de trabalho ou pode entrar com dados na pasta de trabalho manualmente ou pode obter dados por executar consultas em uma base de dados relacionai ou em um cubo de processamento analítico on-line (OLAP - On-Line Analytical Processing"). Uma vez que os dados tenham sido entrados a partir de qualquer uma destas fontes, um usuário tipicamente dispõe os dados na configuração desejada dentro da pasta de trabalho. No final deste processo, o usuário criou uma pasta de trabalho que inclui uma faixa tabular de dados nos quais a análise numérica significativa pode ser executada.
[002] De modo a outros usuários acessarem os conteúdos da pasta de trabalho, cópias da pasta de trabalho ou partes da mesma podem ser feitas. Por exemplo, em vários cenários a pasta de trabalho é enviada para outros usuários via uma mensagem de correio eletrônico (“e-maír). Os usuários que recebem a pasta de trabalho podem então executar a análise na pasta de trabalho ou adicionar os dados contidos na pasta de trabalho para outra pasta de trabalho. De forma alternativa, a pasta de trabalho pode ser armazenada em um compartilhamento de arquivo onde vários usuários podem acessar os conteúdos da pasta de trabalho. De modo a compartilhar os conteúdos da pasta de trabalho, faixas de dados também podem ser copiadas e coladas em outros documentos.
[003] Apesar destes métodos tradicionais para compartilhar uma pasta de trabalho permitirem que vários usuários acessem os conteúdos de uma pasta de trabalho, estes métodos possuem desvantagens. Em primeiro lugar, é muito difícil administrar várias cópias de uma pasta de trabalho que pode ser duplicada várias vezes através de vários computadores e domínios de rede. Em particular, é muito difícil para um administrador do sistema garantir que a pasta de trabalho esteja segura e que seja feita cópia de segurança da mesma frequentemente. Além disso, no caso de um compartilhamento de arquivo, pode ser muito difícil para vários usuários simultaneamente acessarem a pasta de trabalho. Por exemplo, se o autor da pasta de trabalho original precisar atualízá-ia, é então muito difícil rastrear todos os usuários que a utilizam e fazê-los atualizarem suas cópias. Em vários casos, a aplicação cliente de planilha trava a pasta de trabalho quando ela é aberta por um usuário, deste modo impedindo que outros acessem o arquivo. Adicionalmente, funções idênticas podem ser executadas em diferentes cópias da pasta de trabalho, deste modo causando a duplicação do esforço e reduzindo a produtividade.
[004] É com respeito à estas considerações e outras que as várias modalidades da presente invenção foram feitas, BREVE SUMÁRIO DA INVENÇÃO
[005] De acordo com a presente invenção, os problemas acima e outros são resolvidos por um método, sistema e aparelho para expor faixas de pasta de trabalho como fontes de dados. Por expor faixas dentro de uma pasta de trabalho como fontes de dados do servidor, o acesso estruturado pode ser facilmente tido para os conteúdos da pasta de trabalho por qualquer programa de aplicação capaz de conectar- se e consultar uma fonte de dados do servidor. Além disso, devido ao fato das faixas de pasta de trabalho serem expostas como fontes de dados do servidor quando a pasta de trabalho é publicada, qualquer usuário capaz de operar um programa de aplicação de planilha pode facilmente criar fontes de dados de nível empresarial.
[006] De acordo com um aspecto da invenção, é proporcionado um sistema para expor os conteúdos de uma pasta de trabalho como uma fonte de dados do servidor e para utilizar a fonte de dados do servidor. O sistema inclui um computador cliente capaz de executar um programa de aplicação de planilha para criar uma pasta de trabalho. A pasta de trabalho pode incluir uma ou mais faixas que incluem objetos de dados. Como definido aqui dentro, um objeto de dados inclui qualquer objeto dentro de um modelo que seja utilizado para armazenar dados. Por exemplo, os objetos de dados podem incluir, mas não estão limitados à uma faixa arbitrária de células, tabelas dinâmicas, objetos de exploração de dados (“DOEs - Data Exploration Ob-jects”), listas, bases de dados e tabelas de consulta.
[007] O programa de aplicação de planilha também pode ser operativo para gerar metadados para cada um dos objetos de dados quando a pasta de trabalho é autorada. Os metadados podem ser salvos com o modelo. Os metadados podem ser utilizados por um computador servidor quando recebendo e respondendo às requisições para acessar os objetos de dados dentro da pasta de trabalho como fontes de dados do servidor. A criação dos metadados para os objetos de dados pode ser executada de um modo automatizado pelo programa de aplicação de planilha quando os dados são criados, quando os dados são publicados ou em resposta à uma requisição do usuário para gerar os metadados. Também pode ser proporcionada uma facilidade para permitir à um usuário editar os metadados.
[008] O programa de aplicação de planilha é adicionalmente operativo para publicar uma pasta de trabalho para um computador servidor. Quando uma pasta de trabalho é publicada para um computador servidor, um usuário pode especificar que alguns, nenhum ou todos os objetos de dados dentro de uma pasta de trabalho sejam expostos como fontes de dados do servidor. A pasta de trabalho é então transmitida para o computador servidor onde as fontes de dados especificadas são expostas como fontes de dados do servidor.
[009] De acordo com os aspectos da invenção, o sistema também inclui um computador servidor operativo para executar um programa servidor para expor objetos de dados dentro de uma pasta de trabalho como objetos de dados do servidor. Como utilizados aqui dentro, os termos “fonte de dados” e “fonte de dados do servidor” referem-se de forma específica à uma base de dados junto a qual consultas podem ser executadas. Esta definição inclui bases de dados relacionais (tal como estas que podem ser construídas e consultadas utilizando a Linguagem de Consulta Estruturada (“SQL - Strutured Query Language”)), bases de dados hierárquicas, bases de dados com múltiplas dimensões (tal como um cubo OLAP) ou bases de dados que combinam aspectos de bases de dados relacionais e com múltiplas dimensões (tal como o Modelo Dimensional Unificado (“UDM - Unified Dimensional Model”)). A definição também inclui bases de dados que podem ser consultadas via serviços da Rede (Web). Como também utilizado aqui dentro, o termo “consulta à fonte de dados” significa uma consulta direcionada à uma fonte de dados, tal como uma consulta SQL.
[0010] Uma vez que os objetos de dados da pasta de trabalho tiverem sido expostos, as aplicações clientes podem descobrir e conectar-se com os objetos de dados como fontes de dados do servidor. Quando uma consulta é emitida junto a um objeto de dados como uma fonte de dados do servidor, o computador servidor é operativo para recalcular a pasta de trabalho. Se a pasta de trabalho contém uma referência para outra fonte de dados, quaisquer dados necessários para recalcular a pasta de trabalho podem ser recuperados a partir da fonte de dados antes de recalcular. Uma vez que a pasta de trabalho tenha sido recalculada, o computador servidor é operativo para gerar uma representação (tal como uma representação da base de dados) do objeto de dados identificado. Isto pode incluir, por exemplo, gerar uma base de dados ou cubo temporário correspondendo ao objeto de dados identificado.
[0011] Uma vez que a representação tenha sido gerada, o computador servidor é operativo para executar a consulta requisitada na representação. O resultado da consulta é então retornado para o programa de aplicação cliente requisitante. Deste modo, por exemplo, um usuário pode facilmente autorar uma pasta de trabalho e publicar a pasta de trabalho para um computador servidor onde seus objetos de dados podem ser expostos como fontes de dados do servidor. Outros usuários utilizando aplicações cliente de base de dados, tal como um cliente OLAP, podem então descobrir as fontes de dados contidas na pasta de trabalho e emitir consultas nativas junto as fontes de dados.
[0012] A invenção pode ser implementada como um processo de computador, um aparelho de computação ou como um artigo de fabricação tal como um produto de programa de computador ou meio legível por computador. O produto de programa de computador pode ser um meio de armazenamento do computador legível por um sistema de computador e codificando um programa de computador de instruções para executar um processo de computador. O produto de programa de computador também pode ser um sinal propagado em um portador legível por um sistema de computação e codificando um programa de computador de instruções para executar um processo de computador.
[0013] Estas e várias outras características, bem como vanta- gens, as quais caracterizam a presente invenção, serão aparentes a partir de uma leitura da descrição detalhada seguinte e de uma inspeção dos desenhos associados.
BREVE DESCRIÇÃO DAS VÁRIAS VISTAS DOS DESENHOS
[0014] A FIGURA 1 é um diagrama de rede de computador ilustrando aspectos de vários sistemas de computador utilizados e proporcionados pelas várias modalidades da invenção;
[0015] A FIGURA 2 é um diagrama da arquitetura de sistema de computador ilustrando aspectos de um sistema de computador cliente utilizado e proporcionado pelas várias modalidades da invenção;
[0016] A FIGURA 3 é um fluxograma lustrando aspectos de um processo para publicar uma faixa de pasta de trabalho como uma fonte de dados do servidor de acordo com uma modalidade da invenção;
[0017] A FIGURA 4 é um diagrama de tela ilustrando um aspecto da invenção para proporcionar uma facilidade através da qual um usuário pode editar metadados associados com os objetos de dados em uma faixa de uma pasta de trabalho; e [0018] A FIGURA 5 é um fluxograma ilustrando aspectos de um processo para receber e responder às requisições para faixas de pasta de trabalho como fontes de dados do servidor de acordo com uma modalidade da invenção.
DESCRIÇÃO DETALHADA DA INVENÇÃO
[0019] Referindo-se agora aos desenhos, nos quais números iguais representam elementos iguais, vários aspectos da presente invenção serão descritos. Em particular, a FIGURA 1 e a discussão correspondente são pretendidas de proporcionarem uma breve descrição geral de um ambiente de computação adequado no qual as modalidades da invenção podem ser implementadas. Enquanto a invenção será descrita no contexto geral de módulos de programa que funcionam em conjunto com módulos de programa que funcionam em um sistema operacional em um computador pessoal, os com conhecimento na técnica irão reconhecer que a invenção também pode ser implementada em combinação com outros tipos de sistemas de computador e módulos de programa.
[0020] Geralmente, os módulos de programa incluem rotinas, programas, componentes, estruturas de dados e outros tipos de estruturas que executam tarefas particulares ou implementam tipos de dados abstratos particulares. Além disso, os com conhecimento na técnica irão apreciar que a invenção pode ser praticada com outras configurações de sistema de computador, incluindo dispositivos portáteis, sistemas com múltiplos processadores, componentes eletrônicos que podem ser programados do consumidor, minicomputadores, computadores de grande porte e coisa parecida. A invenção também pode ser praticada em ambientes de computação distribuída onde as tarefas são executadas por dispositivos de processamento remoto que estão ligados através de uma rede de comunicações; Em um ambiente de computação distribuído, os módulos de programa podem estar localizados nos dispositivos de armazenamento em memória tanto local como remoto.
[0021] Referindo-se agora à FIGURA 1, um ambiente operacional ilustrativo para as várias modalidades da invenção será descrito. Como apresentado na FIGURA 1, uma rede 10 interconecta um computador cliente 2 e vários computadores servidores 12A a 12C. Deve ser apreciado que a rede 10 pode compreender qualquer tipo de rede de computação, incluindo uma rede de área local ou uma rede de área ampla, tal como a Internet. A rede 10 proporciona um meio para permitir comunicação entre o computador cliente 2, os computadores servidores 12A a 12C e potencialmente outros sistemas de computador conectados ou acessível através da rede 10.
[0022] O computador cliente 2 compreende um computador de área de trabalho ou laptop de propósito geral capaz de executar um ou mais programas de aplicação. Em particular, de acordo com as várias modalidades da invenção, o computador 2 é operativo para executar uma aplicação cliente de planilha 4. Como é conhecido para os com conhecimento na técnica, o programa de aplicação cliente de planilha 4 proporciona funcionalidade para criar orçamentos, executar prognóstico financeiro e outras tarefas financeiras e relacionadas à números. De modo a proporcionar esta funcionalidade, os valores de dados podem ser organizados utilizando células e as relações entre as células podem ser definidas utilizando fórmulas. Uma alteração em uma célula produz alterações nas células relacionadas. Os programa de planilha normalmente proporcionam capacidades de criação de gráfico para saída e uma variedade de opções de formatação para texto, valores numéricos e características de gráfico.
[0023] De acordo com as modalidades da invenção, a aplicação de planilha cliente 4 pode ser utilizada para criar uma pasta de trabalho 6. A pasta de trabalho 6 é um arquivo que é criado por um programa de planilha que contém um ou mais modelos (um modelo também pode ser referido aqui dentro como uma (“planilha”). Um modelo é uma única página organizada em linhas e colunas dentro do programa de planilha e aparecendo na tela e utilizado para construir uma única tabela.
[0024] Os modelos dentro da pasta de trabalho 6 podem incluir uma ou mais faixas que incluem objetos de dados. Como definido aqui dentro, um objeto de dados inclui qualquer objeto dentro de um modelo que é utilizado para armazenar dados. Por exemplo, os objetos de dados podem incluir, mas não estão limitados à uma faixa arbitrária de células, tabelas pivô, DOEs, listas, bases de dados e tabelas de consulta. Como será descrito mais completamente aqui dentro, cada um destes objetos de dados pode ser exposto como uma fonte de dados do servidor disponível a partir do servidor 12A. Outros tipos de objetos de dados utilizados dentro de um modelo também podem ser expostos como uma fonte de dados do servidor.
[0025] Deve ser apreciado que, de acordo com uma modalidade da invenção, a aplicação de planilha cliente 4 compreende o programa de aplicação de planilha EXCEL da MICROSOFT CORPORATION de Redmond, Washington. Entretanto, deve ser apreciado que os vários aspectos da invenção descritos aqui dentro podem ser utilizados com outros programas de aplicação de planilha de outros fabricantes. Além disso, apesar dos aspectos inventivos descritos aqui dentro serem apresentados no contexto de um programa de aplicação de planilha, deve ser apreciado que outros tipos de programas de aplicação também podem ser utilizados para incorporar os vários aspectos da invenção.
[0026] De acordo com outras modalidades da invenção, o computador cliente 2 também pode ser operativo para executar uma aplicação cliente OLAP 8. A aplicação cliente OLAP 8 compreende um programa de aplicação capaz de conectar-se, consultar e utilizar dados a partir de uma fonte de dados OLAP. Por exemplo, a aplicação cliente OLAP 8 pode conectar-se com o computador servidor 12B através da rede 10. Através do software de base de dados executando no computador servidor 12B, a aplicação cliente OLAP 8 pode emitir consultas junto a fonte de dados 16. O computador servidor 12B é então operativo para receber e responder às consultas a partir da aplicação cliente OLAP 8.
[0027] Como será descrito em maiores detalhes abaixo, a aplicação cliente OLAP 8 também pode emitir consultas junto a um modelo 6. De modo a permitir esta funcionalidade, a aplicação cliente de planilha 4 pode publicar o modelo 6 para um repositório 14 mantido por um computador servidor de arquivo 12C e acessível para o computa- dor servidor 12A. A aplicação de planilha do servidor 13 executando no computador servidor 12A pode então analisar o modelo 6 por faixas incluindo objetos de dados e expor os objetos de dados como fontes de dados do servidor. A aplicação cliente OLAP 8 pode então conectar-se com as fontes de dados expostas pela aplicação de planilha do servidor 12A do mesmo modo que ela se conectaria com uma fonte de dados OLAP dedicada, tal como esta proporcionada pelo computador servidor 12B. Deve ser apreciado que a aplicação de planilha cliente 4 pode atuar como um consumidor de dados a partir de uma fonte de dados do mesmo modo que a aplicação cliente OLAP 8. Também deve ser apreciado que o computador 2 pode ser operativo para executar aplicações clientes adicionais para consultar e consumir dados a partir de outros tipos de bases de dados. Também deve ser apreciado que em uma modalidade alternativa, as funções do computador 2 descritas acima podem ser divididas entre dois dispositivos de computação. Por exemplo um dispositivo de computação pode ser operativo para executar a aplicação de planilha 4 para publicar o modelo 6 enquanto o outro dispositivo de computação pode ser operativo para executar aplicações cliente para consumir dados.
[0028] Como utilizados aqui dentro, os termos “fonte de dados” e “fonte de dados do servidor” se referem de forma específica à uma base de dados junto a qual consultas podem ser executadas. Esta definição inclui bases de dados relacionais (tal como bases de dados SQL), bases de dados hierárquicas, bases de dados com múltiplas dimensões (tal como um cubo OLAP) ou bases de dados que combinam aspectos de bases de dados relacionas e com múltiplas dimensões (tal como o UDM). A definição também inclui bases de dados que podem ser consultadas via serviços da Rede. Como também utilizado aqui dentro, o termo “consulta à fonte de dados” significa uma consulta direcionada para uma fonte de dados, tal como uma consulta SQL.
[0029] A aplicação de planilha do servidor 13 compreende um programa de aplicação baseado em servidor que pode executar sem o uso de uma tela de exibição (acéfalo). A aplicação de planilha do servidor 13 é operativa para executar várias das funções da aplicação de planilha cliente 4 em um computador servidor. Por exemplo, a aplicação de planilha do servidor 13 pode carregar e calcular uma pasta de trabalho 6. Como será descrito aqui dentro, a aplicação de planilha do servidor 13 também proporciona funcionalidade para expor faixas dentro de uma pasta de trabalho 6 para clientes compatíveis via a rede 10. Detalhes adicionais com respeito às várias funções executadas pela aplicação de planilha cliente 4 e pela aplicação de planilha do servidor 13 serão proporcionados abaixo com respeito às FIGURAS 2 até 5.
[0030] Referindo-se agora à FIGURA 2, uma arquitetura de computador ilustrativa para um computador 2 utilizado nas várias modalidades da invenção será descrita. A arquitetura de computador apresentada na FIGURA 2 ilustra um computador de área de trabalho ou laptop convencional, incluindo uma unidade de processamento central 5 (“CPU”), uma memória do sistema 7, incluindo uma memória de acesso randômico 9 (“RAM”) e uma memória somente leitura (“ROM”) 11 e um barramento do sistema 12 que acopla a memória com a CPU 5. O sistema básico de entrada / saída contendo as rotinas básicas que ajudam a transferir informações entre os elementos dentro do computador, tal como durante a inicialização, é armazenado na ROM 11. O computador 2 adicionalmente inclui um dispositivo de armazenamento em massa 24 para armazenar um sistema operacional 18, os programas de aplicação e outros módulos de programa, os quais serão descritos em maiores detalhes abaixo.
[0031] O dispositivo de armazenamento em massa 24 está conectado com a CPU 5 através de um controlador de armazenamento em massa (não apresentado) conectado com o barramento 12. O dis- positivo de armazenamento em massa 24 e seu meio legível por computador associado proporcionam armazenamento não volátil para o computador 2. Apesar da descrição do meio legível por computador contida aqui dentro se referir à um dispositivo de armazenamento em massa, tal como um disco rígido ou unidade de CD-ROM, deve ser apreciado pelos com conhecimento na técnica que os meios legíveis por computador podem ser qualquer meio disponível que possa ser acessado pelo computador 2.
[0032] À título de exemplo e não de limitação, o meio legível por computador pode compreender o meio de armazenamento do computador e o meio de comunicação. O meio de armazenamento do computador inclui o meio volátil e não volátil, removível e não removível implementado em qualquer método ou tecnologia para armazenamento de informações tal como instruções legíveis por computador, estruturas de dados, módulos de programa ou outros dados. O meio de armazenamento do computador inclui, mas não está limitado à RAM, ROM, EPROM, EEPROM, memória flash ou outra tecnologia de memória de estado sólido, CD-ROM, discos versáteis digitais (“DVD”) ou outro armazenamento óptico, cassetes magnéticos, fita magnética, armazenamento em disco magnético ou outros dispositivos de armazenamento magnético ou à qualquer outro meio que possa ser utilizado para armazenar a informação desejada e que possa ser acessado pelo computador 2.
[0033] De acordo com várias modalidades da invenção, o computador 2 pode operar em um ambiente em rede utilizando conexões lógicas com computadores remotos através de uma rede 10, tal como a Internet. O computador 2 pode se conectar com a rede 10 através de uma unidade de interface com a rede 20 conectada com o barramento 12. Deve ser apreciado que a unidade de interface com a rede 20 também pode ser utilizada para conectar-se com outros tipos de rede e sistemas de computador remotos. O computador 2 também pode incluir um controlador de entrada / saída 22 para receber e processar a entrada a partir de uma série de outros dispositivos, incluindo um teclado, mouse ou caneta eletrônica (não apresentada na FIGURA 2). De forma similar, um controlador de entrada / saída 22 pode proporcionar saída para uma tela de exibição, para uma impressora ou para outro tipo de dispositivo de saída.
[0034] Como mencionado brevemente acima, uma série de módulos de programa e de arquivos de dados podem ser armazenados no dispositivo de armazenamento em massa 24 e na RAM 9 do computador 2, incluindo um sistema operacional 18 adequado para controlar a operação de um computador pessoal em rede, tal como o sistema operacional WINDOWS XP da MICROSOFT CORPORATION de Re-dmond, Washington. O dispositivo de armazenamento em massa 24 e a RAM 9 também podem armazenar um ou mais módulos de programa. Em particular, o dispositivo de armazenamento em massa 24 e a RAM 9 podem armazenar uma aplicação de planilha cliente 4 e uma aplicação OLAP cliente 8, como descrito acima. O dispositivo de armazenamento em massa 24 e a RAM 9 também podem armazenar uma pasta de trabalho 6 criada pela aplicação de planilha cliente 4.
[0035] De acordo com uma modalidade da invenção, o programa de aplicação de planilha 4 também é operativo para gerar os metada-dos 26 para cada um dos objetos de dados contidos dentro de uma pasta de trabalho. Os metadados 26 podem ser automaticamente gerados pela aplicação de planilha cliente 4 ou autorados à mão por um usuário. Os metadados 26 podem ser armazenados dentro da pasta de trabalho 6 e salvos com a pasta de trabalho. Os metadados 26 podem ser utilizados pelo computador servidor 12A quando recebendo e respondendo às requisições para acessar os objetos de dados dentro da pasta de trabalho como fontes de dados do servidor. Como um exemplo, o programa de aplicação de planilha 10 pode criar os meta-dados 26 para um campo em uma pasta de trabalho intitulada “CÓDIGO ZIP”. Os metadados 26 podem indicar o nome do campo e podem estabelecer um tipo de dados para o campo como um número. Os metadados 26 também podem indicar que a agregação padrão para o campo é uma “soma”. Este processo pode ser executado de um modo automatizado pelo programa de aplicação de planilha 4 quando a fonte de dados é criada, quando a fonte de dados é publicada ou em resposta à uma requisição do usuário para gerar os metadados.
[0036] Deve ser apreciado que, nas modalidades da invenção, o programa de aplicação de planilha cliente 4 é operativo para proporcionar uma facilidade para permitir à um usuário editar os metadados 26 criados pelo programa de aplicação de planilha 4 para os objetos de dados contidos em uma pasta de trabalho 6. Por exemplo, utilizando o exemplo acima, um usuário pode considerar inapropriado gerar uma soma de códigos zip. Por conseqüência, o usuário pode utilizar uma facilidade proporcionada pela aplicação de planilha cliente 4 para editar os metadados 26 para indicar que a agregação padrão para o campo “CÓDIGO ZIP” não deve ser uma soma, porém deve ao invés ser uma conta. Os metadados modificados 26 podem então ser persistidos para a pasta de trabalho 6 e publicados para o computador servidor 12A. Deste modo, o computador servidor 12A pode melhor responder às requisições de fonte de dados por dados contidos neste campo.
[0037] Uma interface com o usuário ilustrativa para editar os metadados 26 gerados para os objetos de dados em uma pasta de trabalho pela aplicação de planilha cliente 4 será descrita em maiores detalhes abaixo com respeito à FIGURA 4.
[0038] Deve ser apreciado que os computadores servidores 12A até 12C podem incluir vários dos componentes de computação con- vencionais lustrados na FIGURA 2 e descritos acima. Adicionalmente, o computador servidor 12A pode ser operativo para armazenar e executar uma aplicação de planilha do servidor 13. O computador servidor de arquivo 12C pode ser operativo para armazenar e executar uma aplicação do servidor de arquivo 28 para receber e responder às requisições por arquivos armazenados no repositório 14, tal como a pasta de trabalho 6. Deve ser apreciado que os computadores servidores 12A até 12C podem incluir outros componentes convencionais não ilustrados na FIGURA 2 porém conhecidos para estes com conhecimento na técnica.
[0039] Referindo-se agora à FIGURA 3, uma rotina ilustrativa 300 será descrita ilustrando um processo executado pelo programa de aplicação de planilha cliente 4 para publicar uma faixa de pasta de trabalho como uma fonte de dados do servidor. Quando lendo a discussão das rotinas apresentadas aqui dentro, deve ser apreciado que as operações lógicas das várias modalidades da presente invenção são implementadas (1) como uma seqüência de atos implementados por computador ou módulos de programa funcionando em um sistema de computação e / ou (2) como circuitos ou módulos de circuito de lógica de máquina interconectados dentro do sistema de computação. A implementação é uma questão de escolha dependente dos requerimentos de performance do sistema de computação implementando a invenção. Por conseqüência, as operações lógicas ilustradas nas FIGURAS 3 e 5 e constituindo as modalidades da presente invenção descritas aqui dentro são referidas variadamente como operações, dispositivos estruturais, atos ou módulos. Será reconhecido por alguém com conhecimento na técnica que estas operações, dispositivos estruturais, atos ou módulos podem ser implementados em software, firmware, na lógica digital de propósito especial e em qualquer combinação dos mesmos sem se desviar do espírito e escopo da presente invenção como declarado dentro das reivindicações expostas aqui dentro.
[0040] A rotina 300 começa na operação 302, onde um usuário utiliza a aplicação de planilha cliente 4 para autorar a pasta de trabalho 6. Em particular, como descrito aqui dentro, o usuário pode utilizar as várias facilidades proporcionadas pela aplicação de planilha cliente 4 para criar objetos de dados dentro da pasta de trabalho incluindo faixas de células, tabelas pivô, DOEs, listas, bases de dados, tabelas de consulta e outros objetos de dados. O usuário também pode manualmente entrar com dados ou criar uma consulta na pasta de trabalho 6 de uma fonte de dados 16. As várias funções e metodologias que podem ser utilizadas dentro de uma aplicação de planilha cliente 4 para criar uma pasta de trabalho 6 são virtualmente ilimitadas e bem conhecidas para os com conhecimento na técnica.
[0041] A partir da operação 302, a rotina 300 continua para a operação 304, onde a aplicação de planilha cliente 4 gera os metada-dos 26 para uso pela aplicação do servidor 13 em resposta às requisições para acessar a pasta de trabalho 6 como uma fonte de dados. Em particular, a aplicação de planilha cliente 4 pode analisar as várias fontes de dados contidas dentro da pasta de trabalho 6 para identificar dados que podem ser utilizados para descrever as várias fontes de dados dentro da pasta de trabalho 6. Por exemplo, com respeito à uma fonte de dados relacionai, a aplicação de planilha cliente 4 pode identificar os nomes das colunas e os vários tipos de dados das fontes de dados contidas com a pasta de trabalho 6. Com respeito às fontes de dados com múltiplas dimensões, a aplicação de planilha cliente 4 pode identificar medições, hierarquia e agregações padrão para as várias fontes de dados.
[0042] Valores para estas propriedades também podem ser estabelecidos pela aplicação de planilha cliente 4 de um modo inteligente.
Por exemplo, com respeito à um campo de dados de cadeia de caracteres, a aplicação de planilha cliente 4 pode indicar a agregação padrão como sendo uma conta. Com respeito aos campos de dados numéricos, a aplicação de planilha cliente 4 pode estabelecer a agregação padrão como sendo uma soma. Outros tipos de decisões inteligentes podem ser feitas pela aplicação de planilha cliente 4 para identificar metadados dentro da pasta de trabalho 6 e para estabelecer propriedades para os metadados.
[0043] A partir da operação 304, a rotina 300 continua para a operação 306, onde a aplicação de planilha cliente 4 determina se um usuário fez uma requisição para editar os metadados gerados pela aplicação de planilha cliente 4. Como descrito brevemente acima, a aplicação de planilha cliente 4 pode proporcionar uma interface com o usuário para editar os metadados gerados. Isto pode ser útil, por exemplo, para permitir à um usuário cancelar as decisões inteligentes feitas pela aplicação de planilha cliente 4 quando identificando metadados dentro da pasta de trabalho 6 e estabelecendo várias propriedades nos metadados.
[0044] Se, na operação 306, a aplicação de planilha cliente 4 determinar que uma requisição para editar os metadados foi recebida, a rotina 300 ramifica-se para a operação 308. Na operação 308, a aplicação de planilha cliente 4 recebe os metadados editados a partir do usuário. Uma interface com o usuário ilustrativa para permitir à um usuário editar os metadados será descrita em maiores detalhes abaixo com respeito à FIGURA 4. A partir da operação 308, a rotina 300 continua para a operação 310.
[0045] Se, na operação 306, a aplicação de planilha cliente 4 determinar que uma requisição para editar os metadados não foi recebida, a rotina 300 continua para a operação 310. Na operação 310, os metadados 26 gerados pela aplicação de planilha cliente 4 e potenci- almente editados pelo usuário, são salvos com a pasta de trabalho 6. O ato de salvar a pasta de trabalho 6 pode ocorrer automaticamente ou pode ocorrer em resposta à uma requisição do usuário.
[0046] A partir da operação 310, a rotina 300 continua para a operação 312, onde a pasta de trabalho 6, incluindo os metadados 26, são publicados para a aplicação de planilha do servidor 13. A publicação da pasta de trabalho 6 pode ocorrer em resposta à um comando do usuário ou pode ocorrer automaticamente. Por exemplo, a publicação da pasta de trabalho 6 pode incluir transferir uma planilha para o computador servidor 12A ou programaticamente gerar uma planilha e enviá-la para o computador servidor 12A através da interface de programa de aplicação (“API”) do servidor. Quando a pasta de trabalho 6 é publicada para a aplicação de planilha do servidor 13, a pasta de trabalho 6 é armazenada no repositório 14. A aplicação de planilha do servidor 13 também é notificada a cerca da existência da pasta de trabalho 6 e os vários objetos de dados contidos com a pasta de trabalho podem então ser expostos como fontes de dados do servidor. Deve ser apreciado que o usuário pode ser permitido de especificar quais dos vários objetos de dados dentro da pasta de trabalho 6 são expostos pela aplicação de planilha do servidor 13 como fontes de dados. De forma alternativa, todos os objetos de dados dentro de uma pasta de trabalho 6 podem ser expostos como objetos de dados ou um usuário pode ser permitido de indicar que nenhum objeto de dados dentro da pasta de trabalho 6 seja exposto como fonte de dados.
[0047] Uma vez que a pasta de trabalho 6 tenha sido propagada para o repositório 14 e analisada pela aplicação de planilha do servidor 13, as aplicações de base de dados cliente, tal como a aplicação cliente OLAP 8 ou a aplicação de planilha cliente 4, podem ser utilizadas para consultar os conteúdos da pasta de trabalho 6 como uma fonte de dados. Detalhes adicionais com respeito às várias funções execu- tadas pela aplicação de planilha do servidor 13 de modo a expor os conteúdos da pasta de trabalho 6 como uma fonte de dados e receber e responder às requisições de consulta à fone de dados serão descritos em maiores detalhes abaixo com respeito à FIGURA 5. A partir da operação 312, a rotina 300 continua para a operação 314, onde ela termina.
[0048] Referindo-se agora à FIGURA 4, uma interface com o usuário ilustrativa será descrita para permitir à um usuário editar os metadados gerados pela aplicação de planilha cliente 4 para as várias fontes de dados contidas dentro de uma pasta de trabalho 6. A FIGURA 4 apresenta uma janela de interface com o usuário 30 incluindo uma série de componentes de interface com o usuário para editar os metadados. Em particular, uma caixa de listagem 32 é proporcionada, a qual lista cada um dos campos disponíveis 34A até 34N para as fontes de dados contidas na pasta de trabalho 6. As relações entre os vários campos 34A até 34N podem ser ilustradas dentro da caixa de listagem 32 para indicar as relações entre os vários campos identificados pela aplicação de planilha cliente 4. Por exemplo, como apresentado na FIGURA 4, os campos de hora, ano, mês e data podem ser indentados um do outro para indicar a hierarquia entre os vários campos.
[0049] Vários botões de interface com o usuário 36A até 36F também podem ser proporcionados para permitir ao usuário dispor a ordem e a hierarquia dos campos 36A até 36N apresentados na caixa de listagem 32. Por exemplo, os botões de interface com o usuário 36A até 36D permitem ao usuário dispor os vários campos em cima, abaixo, à direita ou à esquerda, respectivamente. O botão de interface com o usuário 36E pode ser utilizado para copiar um dos campos 34A até 34N e o botão de interface com o usuário 36F pode ser utilizado para criar um novo campo de dados.
[0050] Adicionalmente, como apresentado na FIGURA 4, um dos campos identificados na caixa de listagem 32 pode ser selecionado por um usuário e as propriedades para o campo podem ser apresentadas na janela de interface com o usuário 30. Por exemplo, como apresentado na FIGURA 4, o campo 34N representando um código ZIP foi selecionado. Por conseqüência, o nome do campo é exibido utilizando o texto 38. O tipo de dados e a agregação designados para o campo de código ZIP pela aplicação de planilha cliente 4 também são apresentados. Um menu suspenso 40A pode ser proporcionado para alterar as propriedades do tipo de dados a partir de um número para uma cadeia de caracteres, por exemplo. De forma similar, um menu suspenso 40B pode ser proporcionado para permitir à um usuário alterar o valor do campo de agregação a partir de uma soma para uma conta. Deve ser apreciado que outros tipos de operações de edição podem ser permitidas através da janela de interface com o usuário 30 além destas ilustradas na FIGURA 4 e descritas aqui dentro. Quando um usuário tiver completado a edição, o botão 42 pode ser selecionado para persistir as modificações ou o botão 44 pode ser selecionado para cancelar as alterações.
[0051] Voltando-se à FIGURA 5, uma rotina ilustrativa 500 será descrita ilustrando a operação da aplicação de planilha do servidor 13 para receber e responder às requisições por faixas de pasta de trabalho como fontes de dados. A rotina 500 começa na operação 502, onde a aplicação de planilha do servidor 13 expõe as várias faixas de pasta de trabalhos de trabalho contidas dentro do repositório 14 como fontes de dados do servidor. De acordo com uma modalidade da invenção, as fontes de dados são expostas através de um gerenciador de conexão de dados tal como o descrito no Pedido de Patente US simultaneamente depositado intitulado “Method, System and Appara-tus for Discovering and Connecting to Data Sources”, a qual é expres- samente incorporada aqui dentro por referência (processo NQ 60001.0338US01). De forma alternativa, as fontes de dados contidas dentro do repositório 14 podem ser expostas utilizando outros tipos de interfaces de análise do servidor, tal como o UDM. Uma vez que a aplicação de planilha do servidor 13 tiver exposto as várias fontes de dados, uma aplicação cliente tal como a aplicação OLAP cliente 8 ou a aplicação de planilha cliente 4 pode descobrir fontes e emitir requisições consultando as várias fontes de dados.
[0052] A rotina 500 continua a partir da operação 502 para a operação 504, onde a aplicação de planilha do servidor 13 recebe uma requisição para se conectar com uma pasta de trabalho como uma fonte de dados do servidor. Por exemplo, na operação 56, uma aplicação de planilha do servidor 13 ode receber uma consulta nativa em relação à um objeto de dados contido dentro de uma faixa de uma pasta de trabalho. Por exemplo, a aplicação OLAP cliente pode emitir uma consulta OLAP nativa para a aplicação de planilha do servidor 13. De forma alternativa, outros tipos de consultas podem ser emitidas para a aplicação de planilha do servidor 13, tal como consultas ODB, ODBC, XML-A e SQL. Outros tipos de padrões para consultar uma base de dados conhecidos para os com conhecimento na técnica também podem ser utilizados.
[0053] Na operação 508, a aplicação de planilha do servidor 13 carrega a pasta de trabalho 6 contendo a fonte de dados para a qual uma consulta foi direcionada. Uma vez que a pasta de trabalho 6 tenha sido carregada pela aplicação de planilha do servidor 13, a rotina 500 continua para a operação 510, onde a aplicação de planilha do servidor 13 determina se a pasta de trabalho 6 inclui uma referência para outra fonte de dados. Por exemplo, como descrito brevemente acima, a pasta de trabalho pode incluir uma referência para uma fonte dados, tal como a fonte de dados 16.
[0054] Se a pasta de trabalho 6 incluir uma referência para outra fonte de dados, a rotina 500 se ramifica para a operação 512, onde a aplicação de planilha do servidor 13 consulta a fonte de dados 16 por quaisquer dados necessários para calcular a pasta de trabalho 6. Uma vez que os dados sejam recebidos pela aplicação de planilha do servidor 13, a pasta de trabalho 6 é atualizada com os dados recebidos.
[0055] Se, na operação 510, for determinado que a pasta de trabalho 6 não inclui uma referência para outra fonte de dados, a rotina 50 continua para a operação 514. Na operação 514, a aplicação de planilha do servidor 13 recalcula os conteúdos da pasta de trabalho 6. Será apreçado que o ato de recalcular dos conteúdos da pasta de trabalho pode ser uma “adição de valor maior”. Uma “adição de valor maior” permite cálculos de planilha em uma fonte de dados do servidor. A partir da operação 514, a rotina 500 continua para a operação 516, onde a aplicação de planilha do servidor 13 gera uma representação da base de dados da pasta de trabalho recalculada. Em particular, uma representação temporária da base de dados, tal como uma base de dados relacionai ou cubo OLAP, é gerada pela aplicação de planilha do servidor 13. A representação da base de dados é gerada é gerada temporariamente de modo a executar a consulta requisitada através da fonte de dados identificada.
[0056] Uma vez que a representação da base de dados da pasta de trabalho requisitada tenha sido gerada, a rotina 500 continua para a operação 518, onde a aplicação de planilha do servidor 13 executa a consulta requisitada na representação da base de dados da pasta de trabalho recalculada. Em resposta à executar a consulta, um resultado da consulta é gerado, o qual satisfaz a consulta inicial recebida a partir da aplicação cliente. A partir da operação 518, a rotina 500 continua para a operação 520, onde a aplicação de planilha do servidor 13 res- ponde à requisição de consulta original com o resultado da consulta identificado. A partir da operação 520, a rotina 500 continua para a operação 522, onde ela termina.
[0057] Baseado no que foi dito anteriormente, deve ser apreciado que várias modalidades da invenção incluem um método, sistema e aparelho e meio legível por computador para expor e utilizar faixas dentro de uma pasta de trabalho como fontes de dados do servidor. A especificação, exemplos e dados acima proporciona uma descrição completa da fabricação e do uso da composição da invenção. Desde que várias modalidades da invenção podem ser feitas sem se afastar do espírito e do escopo da invenção, a invenção reside nas reivindicações anexas aqui dentro posteriormente.
REIVINDICAÇÕES
Claims (13)
1. Método para publicar uma faixa da pasta de trabalho como uma fonte de dados do servidor compreendendo: proporcionar (302) uma facilidade para autorar (302) uma pasta de trabalho possuindo uma faixa armazenada na mesma incluindo um ou mais objetos de dados; gerar (304) metadados automaticamente para um ou mais objetos de dados ao identificar nomes, tipos e agregações padrões para campos de dados dentro da pasta de trabalho, caracterizado pelo fato de que a agregação padrão é indicada como sendo um somatório para um campo de dados numéricos e em que a agregação padrão é indicada como sendo uma contagem para um campo de dados de caracteres, os metadados para uso por um computador servidor ao se responder às requisições para o um ou mais objetos de dados como uma fonte de dados do servidor; e publicar (312) a pasta de trabalho e os metadados para o computador servidor, por meio do que os objetos de dados são expostos no computador servidor como fontes de dados do servidor.
2. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que ainda compreende: receber uma requisição a partir de um usuário para editar os metadados para o um ou mais objetos; e em resposta à requisição para editar os metadados, proporcionar uma facilidade para permitir à um usuário editar os metadados.
3. Método, de acordo com a reivindicação 1 ou 2, caracterizado pelo fato de que ainda compreende: receber (506) uma consulta de base de dados direcionada para a fonte de dados do servidor; em resposta à consulta, recalcular (514) a pasta de trabalho, gerar (516) uma representação da base de dados da pasta de trabalho recalculada, executar (518) a consulta requisitada na representação da base de dados da pasta de trabalho recalculada para obter um resultado da consulta, e transmitir (520) o resultado da consulta como uma resposta para a consulta à base de dados.
4. Método, de acordo com a reivindicação 3, caracterizado pelo fato de que ainda compreende: determinar se a pasta de trabalho contém uma referência para uma fonte de dados; em resposta à determinar que a pasta de trabalho contém uma referência para uma fonte de dados, recuperar, a partir da fonte de dados, os dados necessários para calcular a pasta de trabalho; e recalcular a pasta de trabalho utilizando os dados recuperados a partir da fonte de dados.
5. Método, de acordo com a reivindicação 4, caracterizado pelo fato de que a consulta à base de dados é recebida a partir de uma aplicação OLAP cliente.
6. Meio legível por computador caracterizado pelo fato de que possui instruções executáveis por computador armazenadas no mesmo que, quando executadas por um computador, fazem o computador executar o método conforme definido em, qualquer uma das reivindicações de 1 a 5.
7. Sistema para expor e utilizar uma faixa dentro de uma pasta de trabalho (6) como uma fonte de dados do servidor compreendendo: um computador cliente (2) operativo para executar um programa de aplicação de planilha (4) para autorar uma pasta de trabalho possuindo uma ou mais faixas incluindo um ou mais objetos de dados e para gerar metadados automaticamente para um ou mais objetos de dados ao identificar nomes, tipos e agregações padrões para campos de dados dentro da pasta de trabalho, caracterizado pelo fato de que a agregação padrão é indicada como sendo um somatório para um campo de dados numéricos e em que a agregação padrão é indicada como sendo uma contagem para um campo de dados de caracteres, os metadados para acessar um ou mais objetos de dados, o programa de aplicação de planilha ainda sendo operativo para publicar a pasta de trabalho e metadados para um computador servidor (12A); e um computador servidor (12A) operativo para executar um programa servidor para expor os objetos de dados contidos na pasta de trabalho como fontes de dados do servidor e para receber e responder às requisições de consulta direcionadas para as fontes de dados do servidor.
8. Sistema, de acordo com a reivindicação 7, caracterizado pelo fato de que o programa de aplicação de planilha é ainda operativo para gerar e armazenar metadados dentro da pasta de trabalho para um ou mais objetos de dados, os metadados para uso pelo computador servidor ao se responder às requisições para um ou mais objetos de dados como fontes de dados do servidor.
9. Sistema, de acordo com a reivindicação 8, caracterizado pelo fato de que o programa de aplicação de planilha é ainda operativo para proporcionar uma facilidade para permitir à um usuário editar os metadados.
10. Sistema, de acordo com a reivindicação 9, caracterizado pelo fato de que ainda compreende um segundo computador cliente operativo para executar um programa de aplicação para emitir consultas junto a uma fonte de dados do servidor, e em que o programa servidor é ainda operativo para receber e responder uma consulta à base de dados a partir do segundo computador cliente para a fonte de dados do servidor.
11. Sistema, de acordo com a reivindicação 10, caracterizado pelo fato de que responder à uma consulta à base de dados a partir do segundo computador cliente compreende: recalcular a pasta de trabalho; gerar uma representação da base de dados da pasta de trabalho recalculada; executar a consulta requisitada na representação da base de dados da pasta de trabalho recalculada para obter um resultado da consulta; e transmitir o resultado da consulta para o segundo computador cliente como uma resposta para a consulta à base de dados.
12. Sistema, de acordo com a reivindicação 11, caracterizado pelo fato de que responder a uma consulta à base de dados a partir do segundo computador cliente ainda compreende: determinar se a pasta de trabalho contém uma referência para uma fonte de dados; em resposta à determinar que a pasta de trabalho contém uma referência para uma fonte de dados, recuperar a partir da fonte de dados os dados necessários para calcular a pasta de trabalho; e recalcular a pasta de trabalho utilizando os dados recuperados a partir da fonte de dados.
13. Sistema, de acordo com a reivindicação 12, caracterizado pelo fato de que a aplicação executando no segundo computador cliente compreende uma aplicação OLAP cliente.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US10/858,175 US7664804B2 (en) | 2004-06-01 | 2004-06-01 | Method, system, and apparatus for exposing workbook ranges as data sources |
| US10/858.175 | 2004-06-01 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| BRPI0501959A BRPI0501959A (pt) | 2006-01-24 |
| BRPI0501959B1 true BRPI0501959B1 (pt) | 2017-10-10 |
Family
ID=35063258
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| BRPI0501959-1A BRPI0501959B1 (pt) | 2004-06-01 | 2005-05-31 | Method for publishing a workbook banner as a server data source, computer-readable medium, and system to expose and use a banner within a workbook as a server data source |
Country Status (19)
| Country | Link |
|---|---|
| US (1) | US7664804B2 (pt) |
| EP (1) | EP1605367B1 (pt) |
| JP (1) | JP4907906B2 (pt) |
| KR (1) | KR101122947B1 (pt) |
| CN (1) | CN100547586C (pt) |
| AU (1) | AU2005202284B2 (pt) |
| BR (1) | BRPI0501959B1 (pt) |
| CA (1) | CA2508933C (pt) |
| CO (1) | CO5710208A1 (pt) |
| EG (1) | EG23841A (pt) |
| IL (1) | IL168620A (pt) |
| MX (1) | MXPA05005856A (pt) |
| MY (1) | MY142330A (pt) |
| NO (1) | NO332884B1 (pt) |
| NZ (1) | NZ540421A (pt) |
| RU (1) | RU2406147C2 (pt) |
| SG (1) | SG117588A1 (pt) |
| TW (1) | TWI411928B (pt) |
| ZA (1) | ZA200504159B (pt) |
Families Citing this family (24)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7226791B2 (en) * | 2003-06-02 | 2007-06-05 | Bristol-Myers Squibb Company | Polynucleotides encoding novel guanylate binding proteins (GBP's) |
| US7664804B2 (en) | 2004-06-01 | 2010-02-16 | Microsoft Corporation | Method, system, and apparatus for exposing workbook ranges as data sources |
| US7991804B2 (en) * | 2004-07-30 | 2011-08-02 | Microsoft Corporation | Method, system, and apparatus for exposing workbooks as data sources |
| US8578399B2 (en) | 2004-07-30 | 2013-11-05 | Microsoft Corporation | Method, system, and apparatus for providing access to workbook models through remote function cells |
| US7533139B2 (en) * | 2004-09-27 | 2009-05-12 | Microsoft Corporation | Method and system for multithread processing of spreadsheet chain calculations |
| US8055995B2 (en) * | 2005-03-11 | 2011-11-08 | Orangescape Technologies Limited | System and method of defining a hierarchical datamodel and related computation and instruction rules using spreadsheet like user interface |
| CN101617504B (zh) * | 2005-11-15 | 2012-10-10 | 洛克威尔自动控制技术股份有限公司 | 用于工业控制设备数据的综合程序员参考 |
| US8032821B2 (en) * | 2006-05-08 | 2011-10-04 | Microsoft Corporation | Multi-thread spreadsheet processing with dependency levels |
| US7937426B2 (en) * | 2006-06-30 | 2011-05-03 | Mircosoft Corporation | Interval generation for numeric data |
| US20080046861A1 (en) * | 2006-08-15 | 2008-02-21 | Grieser Maria A | Method and interface for creating a workbook to implement a business process |
| US20080126395A1 (en) * | 2006-11-28 | 2008-05-29 | Ocyrhoe Technologies Ltd | Automatically creating a relational database from a spreadsheet |
| US20080229184A1 (en) * | 2007-03-15 | 2008-09-18 | Microsoft Corporation | Private sheets in shared spreadsheets |
| US20080243763A1 (en) * | 2007-03-27 | 2008-10-02 | International Business Machines Corporation | System, method and program to provide data to another program |
| US10133719B2 (en) * | 2007-09-28 | 2018-11-20 | Microsoft Technology Licensing, Llc | Spreadsheet workbook part libraries |
| US20090089315A1 (en) * | 2007-09-28 | 2009-04-02 | Tractmanager, Inc. | System and method for associating metadata with electronic documents |
| US8121975B2 (en) * | 2008-02-20 | 2012-02-21 | Panorama Software Inc. | Creating pivot tables from tabular data |
| US8281233B2 (en) | 2009-06-15 | 2012-10-02 | Microsoft Corporation | Architecture to expose internal business data on a website |
| US8458186B2 (en) * | 2009-11-06 | 2013-06-04 | Symantec Corporation | Systems and methods for processing and managing object-related data for use by a plurality of applications |
| US20110161796A1 (en) * | 2009-12-31 | 2011-06-30 | Edward Charles Laikin | FormDB: a process to create a forms database in Excel without user programming |
| US20110225579A1 (en) * | 2010-03-12 | 2011-09-15 | Nikhil Khandelwal | Configurable software deployment |
| US9952893B2 (en) * | 2010-11-03 | 2018-04-24 | Microsoft Technology Licensing, Llc | Spreadsheet model for distributed computations |
| US10140352B2 (en) * | 2014-07-17 | 2018-11-27 | Oracle International Corporation | Interfacing with a relational database for multi-dimensional analysis via a spreadsheet application |
| CN109815235B (zh) * | 2018-12-29 | 2021-10-15 | 东软集团股份有限公司 | 生成数据源的方法、装置、存储介质及电子设备 |
| US11886916B2 (en) | 2020-06-30 | 2024-01-30 | Microsoft Technology Licensing, Llc | System for adaptive multithreaded recalculation operations |
Family Cites Families (60)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE4392695T1 (de) | 1992-06-16 | 1994-10-20 | Samsung Electronics Co Ltd | Abwärtskompatibles HDTV-Aufnahme/Wiedergabesystem |
| US5437006A (en) | 1993-01-27 | 1995-07-25 | Microsoft Corporation | Spreadsheet command/function capability from a dynamic-link library |
| US5701451A (en) * | 1995-06-07 | 1997-12-23 | International Business Machines Corporation | Method for fulfilling requests of a web browser |
| US5893123A (en) | 1995-06-22 | 1999-04-06 | Tuinenga; Paul W. | System and method of integrating a spreadsheet and external program having output data calculated automatically in response to input data from the spreadsheet |
| 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 |
| US5890174A (en) | 1995-11-16 | 1999-03-30 | Microsoft Corporation | Method and system for constructing a formula in a spreadsheet |
| US6055548A (en) | 1996-06-03 | 2000-04-25 | Microsoft Corporation | Computerized spreadsheet with auto-calculator |
| US5937406A (en) | 1997-01-31 | 1999-08-10 | Informix Software, Inc. | File system interface to a database |
| US5933818A (en) | 1997-06-02 | 1999-08-03 | Electronic Data Systems Corporation | Autonomous knowledge discovery system and method |
| US6282548B1 (en) | 1997-06-21 | 2001-08-28 | Alexa Internet | Automatically generate and displaying metadata as supplemental information concurrently with the web page, there being no link between web page and metadata |
| US6012057A (en) * | 1997-07-30 | 2000-01-04 | Quarterdeck Corporation | High speed data searching for information in a computer system |
| US6094651A (en) | 1997-08-22 | 2000-07-25 | International Business Machines Corporation | Discovery-driven exploration of OLAP data cubes |
| US5974416A (en) | 1997-11-10 | 1999-10-26 | Microsoft Corporation | Method of creating a tabular data stream for sending rows of data between client and server |
| JP2000067143A (ja) * | 1998-08-26 | 2000-03-03 | Toshiba Corp | データベースシステム |
| US6269377B1 (en) | 1998-09-21 | 2001-07-31 | Microsoft Corporation | System and method for managing locations of software components via a source list |
| US6430585B1 (en) * | 1998-09-21 | 2002-08-06 | Rn2R, L.L.C. | Noise tolerant conductance-based logic gate and methods of operation and manufacturing thereof |
| US6317750B1 (en) | 1998-10-26 | 2001-11-13 | Hyperion Solutions Corporation | Method and apparatus for accessing multidimensional data |
| US6640234B1 (en) | 1998-12-31 | 2003-10-28 | Microsoft Corporation | Extension of formulas and formatting in an electronic spreadsheet |
| US7032030B1 (en) | 1999-03-11 | 2006-04-18 | John David Codignotto | Message publishing system and method |
| US6532458B1 (en) | 1999-03-15 | 2003-03-11 | Microsoft Corporation | Sampling for database systems |
| US6549907B1 (en) | 1999-04-22 | 2003-04-15 | Microsoft Corporation | Multi-dimensional database and data cube compression for aggregate query support on numeric dimensions |
| US6825945B1 (en) | 1999-05-25 | 2004-11-30 | Silverbrook Research Pty Ltd | Method and system for delivery of a brochure |
| US6411313B1 (en) * | 1999-06-14 | 2002-06-25 | Microsoft Corporation | User interface for creating a spreadsheet pivottable |
| US6701485B1 (en) | 1999-06-15 | 2004-03-02 | Microsoft Corporation | Binding spreadsheet cells to objects |
| US6446059B1 (en) | 1999-06-22 | 2002-09-03 | Microsoft Corporation | Record for a multidimensional database with flexible paths |
| US6477536B1 (en) | 1999-06-22 | 2002-11-05 | Microsoft Corporation | Virtual cubes |
| US6456999B1 (en) | 1999-06-22 | 2002-09-24 | Microsoft Corporation | Aggregations size estimation in database services |
| US6631497B1 (en) | 1999-07-19 | 2003-10-07 | International Business Machines Corporation | Binding data from data source to cells in a spreadsheet |
| US6920443B1 (en) | 1999-09-21 | 2005-07-19 | International Business Machines, Corporation | Method, system, program, and data structure for transforming database tables |
| US6898603B1 (en) * | 1999-10-15 | 2005-05-24 | Microsoft Corporation | Multi-dimensional data structure caching |
| US6493718B1 (en) | 1999-10-15 | 2002-12-10 | Microsoft Corporation | Adaptive database caching and data retrieval mechanism |
| US6473750B1 (en) | 1999-10-15 | 2002-10-29 | Microsoft Corporation | Adaptive query execution in a distributed database system |
| CN1408083A (zh) * | 1999-12-07 | 2003-04-02 | 数据基础公司 | 可升级存储器架构 |
| US7185279B2 (en) | 2000-01-07 | 2007-02-27 | Master Mine Software, Inc. | Data mining and reporting |
| AU2001236901A1 (en) | 2000-02-11 | 2001-08-20 | David A Keeney Jr. | Method and system for distributing and collecting spreadsheet information |
| GB0011426D0 (en) * | 2000-05-11 | 2000-06-28 | Charteris Limited | A method for transforming documents written in different XML-based languages |
| US6632249B2 (en) | 2000-06-23 | 2003-10-14 | Microsoft Corporation | Method for providing web-based services to an application program module |
| JP4465147B2 (ja) * | 2000-07-13 | 2010-05-19 | オラクル・インターナショナル・コーポレイション | データベースシステムにおいてスプレッドシートの算出を行なう方法 |
| US6944662B2 (en) | 2000-08-04 | 2005-09-13 | Vinestone Corporation | System and methods providing automatic distributed data retrieval, analysis and reporting services |
| US7082569B2 (en) * | 2001-01-17 | 2006-07-25 | Outlooksoft Corporation | Systems and methods providing dynamic spreadsheet functionality |
| US6684206B2 (en) | 2001-05-18 | 2004-01-27 | Hewlett-Packard Development Company, L.P. | OLAP-based web access analysis method and system |
| US20020188629A1 (en) | 2001-05-21 | 2002-12-12 | Burfoot Daniel C. | System, protocol, and methods for the creation of distributed spreadsheets |
| US7761403B2 (en) * | 2001-06-20 | 2010-07-20 | Oracle International Corporation | Run-time optimizations of queries with SQL spreadsheet |
| US7177855B2 (en) * | 2001-06-20 | 2007-02-13 | Oracle International Corporation | Compile-time optimizations of queries with SQL spreadsheet |
| US7251776B2 (en) | 2001-07-13 | 2007-07-31 | Netview Technologies, Inc. | System and method for efficiently and flexibly utilizing spreadsheet information |
| US20030195762A1 (en) | 2002-04-12 | 2003-10-16 | David Gleason | Automated workflow |
| JP3868331B2 (ja) * | 2002-05-20 | 2007-01-17 | 株式会社読売新聞東京本社 | データベース登録装置および方法 |
| US7266763B2 (en) | 2002-11-26 | 2007-09-04 | Microsoft Corporation | User defined spreadsheet functions |
| US20040103365A1 (en) | 2002-11-27 | 2004-05-27 | Alan Cox | System, method, and computer program product for an integrated spreadsheet and database |
| US7530012B2 (en) | 2003-05-22 | 2009-05-05 | International Business Machines Corporation | Incorporation of spreadsheet formulas of multi-dimensional cube data into a multi-dimensional cube |
| US7299223B2 (en) * | 2003-07-16 | 2007-11-20 | Oracle International Corporation | Spreadsheet to SQL translation |
| US7233956B2 (en) * | 2003-08-12 | 2007-06-19 | International Business Machines Corporation | Method and apparatus for data migration between databases |
| WO2005026991A1 (en) * | 2003-09-09 | 2005-03-24 | Ask Jeeves, Inc. | Refinement of web-based search queries |
| RU36541U1 (ru) * | 2003-12-23 | 2004-03-10 | Григорьев Евгений Александрович | Объектно-ориентированная система управления реляционными базами данных |
| US7664804B2 (en) | 2004-06-01 | 2010-02-16 | Microsoft Corporation | Method, system, and apparatus for exposing workbook ranges as data sources |
| US7991804B2 (en) | 2004-07-30 | 2011-08-02 | Microsoft Corporation | Method, system, and apparatus for exposing workbooks as data sources |
| US8578399B2 (en) | 2004-07-30 | 2013-11-05 | Microsoft Corporation | Method, system, and apparatus for providing access to workbook models through remote function cells |
| US20060069617A1 (en) | 2004-09-27 | 2006-03-30 | Scott Milener | Method and apparatus for prefetching electronic data for enhanced browsing |
| US7712049B2 (en) | 2004-09-30 | 2010-05-04 | Microsoft Corporation | Two-dimensional radial user interface for computer software applications |
| US20060112123A1 (en) * | 2004-11-24 | 2006-05-25 | Macnica, Inc. | Spreadsheet user-interfaced business data visualization and publishing system |
-
2004
- 2004-06-01 US US10/858,175 patent/US7664804B2/en not_active Expired - Lifetime
-
2005
- 2005-05-17 IL IL168620A patent/IL168620A/en unknown
- 2005-05-17 SG SG200503165A patent/SG117588A1/en unknown
- 2005-05-18 TW TW094116168A patent/TWI411928B/zh not_active IP Right Cessation
- 2005-05-23 ZA ZA200504159A patent/ZA200504159B/en unknown
- 2005-05-24 AU AU2005202284A patent/AU2005202284B2/en not_active Ceased
- 2005-05-27 MY MYPI20052414A patent/MY142330A/en unknown
- 2005-05-27 CN CNB2005100896528A patent/CN100547586C/zh not_active Expired - Lifetime
- 2005-05-30 KR KR1020050045690A patent/KR101122947B1/ko not_active Expired - Fee Related
- 2005-05-30 NZ NZ540421A patent/NZ540421A/en not_active IP Right Cessation
- 2005-05-30 EG EG2005050260A patent/EG23841A/xx active
- 2005-05-31 EP EP05104661.3A patent/EP1605367B1/en not_active Expired - Lifetime
- 2005-05-31 NO NO20052613A patent/NO332884B1/no not_active IP Right Cessation
- 2005-05-31 BR BRPI0501959-1A patent/BRPI0501959B1/pt not_active IP Right Cessation
- 2005-05-31 RU RU2005116632/08A patent/RU2406147C2/ru active
- 2005-05-31 CA CA2508933A patent/CA2508933C/en not_active Expired - Lifetime
- 2005-06-01 MX MXPA05005856A patent/MXPA05005856A/es active IP Right Grant
- 2005-06-01 CO CO05053195A patent/CO5710208A1/es not_active Application Discontinuation
- 2005-06-01 JP JP2005161207A patent/JP4907906B2/ja not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| HK1085818A1 (en) | 2006-09-01 |
| MY142330A (en) | 2010-11-15 |
| AU2005202284B2 (en) | 2011-01-27 |
| MXPA05005856A (es) | 2005-12-05 |
| EP1605367B1 (en) | 2016-11-02 |
| CA2508933C (en) | 2015-10-06 |
| RU2005116632A (ru) | 2006-11-20 |
| KR101122947B1 (ko) | 2012-03-22 |
| CA2508933A1 (en) | 2005-12-01 |
| SG117588A1 (en) | 2005-12-29 |
| RU2406147C2 (ru) | 2010-12-10 |
| KR20060046285A (ko) | 2006-05-17 |
| ZA200504159B (en) | 2006-08-30 |
| NO332884B1 (no) | 2013-01-28 |
| AU2005202284A1 (en) | 2005-12-15 |
| JP2006004418A (ja) | 2006-01-05 |
| CN100547586C (zh) | 2009-10-07 |
| US20050267853A1 (en) | 2005-12-01 |
| JP4907906B2 (ja) | 2012-04-04 |
| EP1605367A2 (en) | 2005-12-14 |
| NZ540421A (en) | 2006-11-30 |
| NO20052613D0 (no) | 2005-05-31 |
| TWI411928B (zh) | 2013-10-11 |
| TW200604862A (en) | 2006-02-01 |
| IL168620A (en) | 2010-11-30 |
| CN1758247A (zh) | 2006-04-12 |
| BRPI0501959A (pt) | 2006-01-24 |
| CO5710208A1 (es) | 2006-12-29 |
| EG23841A (en) | 2007-10-16 |
| NO20052613L (no) | 2005-12-02 |
| US7664804B2 (en) | 2010-02-16 |
| EP1605367A3 (en) | 2006-07-26 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7991804B2 (en) | Method, system, and apparatus for exposing workbooks as data sources | |
| US7664804B2 (en) | Method, system, and apparatus for exposing workbook ranges as data sources | |
| US10853338B2 (en) | Universal data pipeline | |
| JP4880152B2 (ja) | オブジェクト属性値に基づくオブジェクト間関係の複数階層の動的生成 | |
| US11100173B2 (en) | Autolayout of visualizations based on graph data | |
| BRPI0501957B1 (pt) | A method, system, and apparatus for providing access to workbook templates through remote function calls | |
| US7720885B2 (en) | Generating a word-processing document from database content | |
| US7620889B2 (en) | Method and system for linking data ranges of a computer-generated document with associated extensible markup language elements | |
| US20200097615A1 (en) | Difference-based comparisons in log-structured graph databases | |
| Bansal et al. | Are NoSQL databases affected by schema? | |
| Sattar et al. | Incorporating nosql into a database course | |
| Relan | Database modeling in flask | |
| Sun et al. | CF-PROV: A content-rich and fine-grained scientific workflow provenance model | |
| Bai | Practical database programming with Visual C#. NET | |
| Guiteras et al. | statacons: An SCons-based build tool for Stata | |
| HK1085818B (en) | Method, system, and apparatus for making available workbook ranges as data sources | |
| Wong et al. | A Comparative Study of Relational, Graph, Wide Column, Key-Value, and Document Models in Retail Industries | |
| Chang et al. | Amazing of Using ISG on Implementing a Web-Based System | |
| Aziz et al. | Realistic Approach to Design Data Warehouse Schema | |
| Mátyás et al. | A novel data storage logic in the cloud | |
| Chapuis | JCR or RDBMS |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| B03A | Publication of a patent application or of a certificate of addition of invention [chapter 3.1 patent gazette] | ||
| B25A | Requested transfer of rights approved |
Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC (US) |
|
| B07A | Application suspended after technical examination (opinion) [chapter 7.1 patent gazette] | ||
| B09A | Decision: intention to grant [chapter 9.1 patent gazette] | ||
| B09X | Republication of the decision to grant [chapter 9.1.3 patent gazette] | ||
| B16A | Patent or certificate of addition of invention granted [chapter 16.1 patent gazette] | ||
| B21F | Lapse acc. art. 78, item iv - on non-payment of the annual fees in time |
Free format text: REFERENTE A 19A ANUIDADE. |
|
| B24J | Lapse because of non-payment of annual fees (definitively: art 78 iv lpi, resolution 113/2013 art. 12) |
Free format text: EM VIRTUDE DA EXTINCAO PUBLICADA NA RPI 2777 DE 26-03-2024 E CONSIDERANDO AUSENCIA DE MANIFESTACAO DENTRO DOS PRAZOS LEGAIS, INFORMO QUE CABE SER MANTIDA A EXTINCAO DA PATENTE E SEUS CERTIFICADOS, CONFORME O DISPOSTO NO ARTIGO 12, DA RESOLUCAO 113/2013. |