BR112014009652B1 - Método executado em um servidor de mapas para habilitar seleção de mapas em um dispositivo de usuário e recuperar mapas a partir de um servidor de mapas, servidor de mapas, dispositivo de usuário, meio de armazenamento não transitório legível por computador - Google Patents

Método executado em um servidor de mapas para habilitar seleção de mapas em um dispositivo de usuário e recuperar mapas a partir de um servidor de mapas, servidor de mapas, dispositivo de usuário, meio de armazenamento não transitório legível por computador Download PDF

Info

Publication number
BR112014009652B1
BR112014009652B1 BR112014009652-0A BR112014009652A BR112014009652B1 BR 112014009652 B1 BR112014009652 B1 BR 112014009652B1 BR 112014009652 A BR112014009652 A BR 112014009652A BR 112014009652 B1 BR112014009652 B1 BR 112014009652B1
Authority
BR
Brazil
Prior art keywords
map
metadata
server
user device
request
Prior art date
Application number
BR112014009652-0A
Other languages
English (en)
Other versions
BR112014009652A2 (pt
Inventor
Richard Carlsson
Staffan Larsson
Hjalmar Olsson
Original Assignee
Telefonaktiebolaget Lm Ericsson (Publ)
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 Telefonaktiebolaget Lm Ericsson (Publ) filed Critical Telefonaktiebolaget Lm Ericsson (Publ)
Publication of BR112014009652A2 publication Critical patent/BR112014009652A2/pt
Publication of BR112014009652B1 publication Critical patent/BR112014009652B1/pt

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/025Services making use of location information using location based information parameters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/029Location-based management or tracking services

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Remote Sensing (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Instructional Devices (AREA)

Abstract

métodos e dispositivos para fornecer, receber ou gerenciar mapas trata-se de um método para recuperar mapas a partir de um servidor de mapas onde, como uma etapa intermediária, metadados de mapa são solicitados com base nos quais um ou mais mapas posam ser selecionados posteriormente. metadados de mapa com base em dados de localização, que indicam a localização do dispositivo de usuário, e os critérios de mapa, que especificam pelo menos uma condição para selecionar mapas que pode ser fornecida manual ou automaticamente em um dispositivo de usuário. a solicitação é enviada para um servidor de mapas onde é executada uma pesquisa por metadados de mapa que correspondam aos dados de localização recebidos e os critérios de mapa. em caso de pelo menos uma correspondência entre os metadados de mapa, os dados de localização e os critérios de mapa, os metadados de mapa associados a pelo menos um mapa são fornecidos para o dispositivo de usuário, de modo que o dispositivo de usuário possa selecionar pelo menos um mapa, que possa ser obtido a partir do servidor de mapas, pelo menos parcialmente com base nos metadados de mapa recuperados.

Description

CAMPO DA TECNICA
[001] O presente documento se refere a métodos para fornecer mapas para um dispositivo de usuário, para selecionar mapas em um dispositivo de usuário, para gerenciar mapas em um banco de dados de mapas e para dispositivos e produtos de programa de computador capazes de executar estes métodos.
FUNDAMENTOS
[002] A crescente disponibilidade de telefones inteligentes equipados com GPS e processadores potentes, tais como, por exemplo, telefones Android, tem proporcionado um mercado grande e crescente para LBS (Serviços Baseados em Localizarão). Este e um tipo de serviço que cria valor para o usuário final baseado em informação que e intimamente ligado aos dados de localização geográfica. Muitas aplicações baseadas em LBS se baseiam fortemente na disponibilidade de mapas digitais.
[003] Um fator que tem contribuído para o grande sucesso de LBS e a disponibilidade publica de mapas e APIs (Interfaces de Programação de Aplicação) que são configuradas para fornecer acesso a, e para permitir que usuários construam aplicações que utilizam estes mapas. Estás opções tem possibilitado a qualquer desenvolvedor com pelo menos alguns conhecimentos básicos de programação criar aplicações de LBS que podem entregar grande valor para seus usuários.
[004] Até recentemente quase todos os LBS disponíveis eram destinados ao uso ao ar livre. Entretanto os recentes desenvolvimentos na tecnologia de posicionamento e ferramentas de criação de mapas tem começado a permitir que os LBS também se concentrem em uso interno. Adicionalmente, uma crescente quantidade de mapas que descrevem localizações internas também tem sido disponibilizados para o público recentemente.
[005] Existem várias estratégias a serem usadas para criar mapas internos. Uma forma, que pode ser referenciada como inspeção, conta com pessoal que e instruído a inspecionar edificações, tipicamente assistidos por ferramentas de inspeção, tais como, por exemplo, equipamento a laser ou radar, e desenhar mapas baseados em aquelas inspeções.
[006] Alternativamente, fornecedores de mapas podem aplicar fornecimento de plantas de construção, que podem ser obtidas por estábelecendo acordos com proprietários, de modo que a propriedade possa ser mapeada para fornecer esquemas e desenhos descritivos que compõem os mapas das respectivas propriedades.
[007] Fontes diversas e ainda outra forma alternativa para fornecer mapas onde fornecedores de mapas encorajam o público a usar suas ferramentas disponíveis para desenhar mapas de localizações diferentes que podem ser de interesse público. Estes mapas então são armazenados em um formato proprietário especificado pelo fornecedor de mapas e tornados disponíveis para desenvolvedores de mapas, de modo que os fornecedores de mapas possam usar estes dados para criar vários tipos de aplicações de LBS que serão aplicáveis em localizações mapeadas.
[008] LBS externos disponíveis normalmente contam com a disponibilidade de mapas digitais muito difundidos. Estes mapas digitais são tipicamente produzidos e fornecidos por grandes companhias que usam uma combinação de inspeção manual e compra de informação fornecida pelo governo para criar e fornecer mapas geográficos detalhados. Entretanto, quando se trata de mapas internos, existem pelo menos dois grandes desafios quando se trata de gerenciamento e distribuição destes mapas.
[009] Um problema com mapas que exibem localizações internas e que não existe nenhum repositório central de informação sobre as localizações. Planos e plantas de edificações de propriedades diferentes, ou mesmo da mesma propriedade, frequentemente são de propriedade de companhias diferentes, tais como, por exemplo, construtoras, proprietários de edificações ou companhias responsáveis pela manutenção das edificações. Está informação na maior parte dos casos não é disponibilizada para o público e consequentemente não existe nenhum armazenamento central onde está informação possa ser acessada. As companhias que tem feito um esforço em montar este tipo de informação de modo a serem capazes de criar mapas de localizações internas estão normalmente usando suas próprias tecnologias de mapa proprietárias, para, deste modo, deixar um desenvolvedor que deseje construir aplicações de LBS baseadas na mesma informação com a única opção de contar com a tecnologia de mapa presentemente usada e fornecida pela respectiva companhia, mesmo se aquela tecnologia e disponibilizada para uso externo.
[0010] Outro problema com os tipos de sistemas de fornecimento de mapas descritos, tais como, por exemplo, sistemas baseados em fontes diversas, onde uma grande quantidade de pessoas diferentes contribuem para criar mapas, e que e difícil controlar qual mapa deve ser usado por qual aplicação. Muitos usuários podem ter fornecido uma variedade de mapas diferentes para a mesma edificação ou para a mesma seção de uma edificação. Em cada situação existe geralmente um mapa disponível que é mais adequado do que o resto, dependendo das circunstancias, por exemplo, devido a ter a melhor qualidade para a tarefa requerida, enquanto que em outro caso outros mapas podem ser mais uteis e ilustrativos. Um mapa otimizado para manutenção de imóveis ou pessoal de segurança, por exemplo, certamente na maior parte dos casos não será o mapa mais adequado para clientes de um centro comercial que querem saber onde encontrar um produto específico.
[0011] Um sistema típico bem conhecido que é configurado para gerenciar e disponibilizar mapas para usuários móveis e ilustrado esquematicamente na figura 1, onde o sistema 10 compreende um servidor de mapas 11 que e conectado a uma pluralidade de bancos de dados de mapas 12, 13, 14, contendo uma pluralidade de mapas, de modo que todos os mapas disponíveis a partir do banco de dados de mapas 12, 13, 14 possam ser expostos, tipicamente através de uma API, e disponibilizados para dispositivos de usuários 15 a partir do servidor de mapas 11. Um usuário final pode acessar e usar mapas armazenados conectando a API de servidor de mapas 11 de uma aplicação de mapas rodando no dispositivo de usuário 15.
[0012] Um problema quando se implementa uma solução como sugerida na figura 1 e ser capaz de configurar um servidor de mapas que possa fornecer mapas que são adequados a uma grande variedade de tipos de mapa diferentes relacionado a aplicações e serviços. Quando uma aplicação solicita dados de mapa a partir de um servidor de mapas, o servidor de mapas tipicamente fornecera informação sobre a localização geográfica para a qual o usuário final solicita um mapa. Se existirem múltiplos mapas disponíveis em uma localização cabe ao usuário final usar seu julgamento para decidir qual mapa e o mais adequado de uma situação para outra. Entretanto, frequentemente e muito difícil determinar qual mapa e o mais adequado, e frequentemente o usuário pode não julgar se o mapa selecionado foi um apropriado antes de ter usado o mapa selecionado por um tempo.
[0013] Também e muito difícil projetar um servidor de mapas que seja adequado para manipular todos os tipos de mapas relacionados as aplicações. Embora um tipo de aplicações possa ser adaptado para selecionar mapas que fornecem a melhor informação sobre certos produtos em diferentes lojas de varejo, outro tipo de aplicações pode ser adaptado para selecionar mapas baseado em uso anterior dos mapas, por exemplo, com base em comentários e/ou classificações de usuários, embora ainda outros tipos de aplicações possam como alternativa ser adaptados para fornecer mapas fornecidos especificamente por um ou fornecedor mais específico. Todas estás varias demandas aumentam uma necessidade por um servidor de mapas que seja configurado de modo que o mesmo proporcione uma abordagem mais flexível e eficiente para a seleção de mapas.
SUMARIO
[0014] Um objetivo deste documento e endereçar pelo menos alguns dos problemas mencionados acima. Mais especificamente, um objetivo e fornecer mapas para um dispositivo de usuário, enquanto que outro objetivo e recuperar mapas em um dispositivo de usuário a partir de um servidor de mapas, e ainda outro objetivo e gerenciar estes dados de mapa.
[0015] De acordo com um aspecto, e fornecido um método para ser executado em um servidor de mapas para fornecer mapas para um dispositivo de usuário. O método e iniciado ao receber uma solicitaçãoo por metadados de mapa do dispositivo de usuário, onde a solicitaçãoo compreende pelo menos um critério de mapa, que especifica pelo menos uma condição para selecionar mapas, e dados de localização, que indicam a localização do dispositivo de usuário. Os dados de localização podem ser fornecidos na solicitaçãoo ou como uma mensagem separada. Em resposta a está solicitaçãoo, uma pesquisa por metadados de mapa que correspondam aos dados de localização e o pelo menos um critério de mapa recebidos e executada em um banco de dados de metadados de mapa, e, em caso de pelo menos uma correspondência entre os metadados de mapa, os dados de localização e o pelo menos um critério de mapa, os metadados de mapa associados a pelo menos um mapa são recuperados a partir do banco de dados de metadados de mapa. Os metadados recuperados então são fornecidos para o dispositivo de usuário, para, deste modo, habilitar o dispositivo de usuário a selecionar pelo menos um mapa a partir do banco de dados de mapas, através do servidor de mapas, pelo menos parcialmente com base nos metadados de mapa recuperados.
[0016] Mais especificamente, uma vez que um ou mais mapas tenham sido selecionados no dispositivo de usuário e solicitados a partir do servidor de mapas, o servidor de mapas responde a está solicitaçãoo obtendo o um ou mais mapas solicitados a partir de um banco de dados de mapas, e fornece o um ou mais mapas solicitados para o dispositivo de usuário.
[0017] Consequentemente, e introduzida uma etapa intermediaria, que precede a etapa de selecionar um mapa, onde e solicitada informação, aqui referenciada como metadados de mapa, que pode descrever mapas selecionáveis a partir de vários aspectos, antes de selecionar qualquer mapa.
[0018] Uma vantagem de fornecer metadados de mapa para o dispositivo de usuário em uma etapa intermediaria, antes de fornecer quaisquer mapas, e que um usuário, ou uma aplicação que roda em um dispositivo de usuário, será capaz de selecionar um mapa mais adequado com a ajuda dos metadados de mapa fornecidos.
[0019] De acordo com uma modalidade alternativa do método para acordo com o primeiro aspecto, a situação em que não existe nenhuma correspondência entre os metadados de mapa, os dados de localização e os critérios de mapa, pode ser controlada por, em vez de recuperar metadados de mapa em resposta a receber uma solicitaçãoo de um dispositivo de usuário, recuperar os critérios de mapa disponíveis para a localização indicada, e fornecer os critérios de mapa disponíveis para o dispositivo de usuário, para, deste modo, habilitar o dispositivo de usuário a repetir uma solicitaçãoo por metadados de mapa com base nos dados de localização e pelo menos um dos critérios de mapa disponíveis.
[0020] De acordo com um segundo aspecto, e fornecido um método executado por um dispositivo de usuário para recuperar mapas a partir de um servidor de mapas. O método e iniciado reconhecendo dados de localização, que especificam a localização do dispositivo de usuário, e pelo menos um critério de mapa, que especifica pelo menos uma condição para selecionar mapas, no dispositivo de usuário. Em resposta, o dispositivo de usuário transmite uma solicitaçãoo por metadados de mapa, que compreende o pelo menos um critério de mapa e os dados de localização para um servidor de mapas capaz de acessar mapas a partir de um banco de dados de mapas. A solicitaçãoo descrita inicia uma pesquisa por metadados de mapa que correspondam aos dados de localização obtidos e o pelo menos um critério de mapa no servidor de mapas. Em caso de pelo menos uma correspondência entre os metadados, os dados de localização e o pelo menos um critério de mapa, os metadados de mapa associados a pelo menos um mapa, são então recebidos do servidor de mapas, para deste modo habilitar o dispositivo de usuário a selecionar pelo menos um mapa, pelo menos parcialmente com base nos metadados de mapa recebidos.
[0021] De acordo com uma modalidade do método para acordo com o segundo aspecto, em caso de nenhuma correspondência na pesquisa por metadados de mapa, os critérios de mapa disponíveis para a localização indicada podem ser recebidos do servidor de mapas, em vez de metadados de mapa, que quando processados pelo dispositivo de usuário permitem que o dispositivo de usuário repita uma solicitaçãoo por metadados de mapa com base nos dados de localização e pelo menos um dos critérios de mapa disponíveis.
[0022] De acordo com ainda outra modalidade do método para acordo com o segundo aspecto, subsequente a receber metadados de mapa correspondentes, o dispositivo de usuário pode processamento os metadados de mapa, e iniciar um diálogo entre o dispositivo de usuário e o servidor de mapas, para deste modo habilitar um usuário do dispositivo de usuário a interagir com o servidor de mapas e a selecionar e solicitar pelo menos um mapa através do diálogo. Fornecendo este diálogo, um ou mais mapas podem ser selecionados manualmente em um processo interativo, visando fornecer o melhor mapa ou mapas.
[0023] Alternativamente, os metadados de mapa podem ser processados de modo que pelo menos um mapa possa ser selecionado automaticamente e solicitado pelo dispositivo de usuário.
[0024] De acordo com um terceiro aspecto, e fornecido um método para ser executado em um mecanismo de processamento de mapas para gerenciar mapas e para disponibilizar os mapas para um dispositivo de usuário através de um servidor de mapas, Este método e iniciado recuperando dados de mapa atualizados ou novos associado a um mapa a partir de pelo menos uma fonte de dados de mapas e convertendo os dados de mapa recuperados em um formato de dados comum.
[0025] Adicionalmente, os metadados de mapa associados ao mapa são extraídos a partir de pelo menos uma primeira fonte de metadados de mapa e/ou da pelo menos uma fonte de dados de mapas, depois do que os metadados de mapa extraídos são dispostos de modo que os mesmos sejam ligados aos dados de mapa associados. Os dados de mapa então são armazenados em um banco de dados de mapas e os metadados extraídos são armazenados em um banco de dados de metadados de mapa, para, deste modo, habilitar um dispositivo de usuário a selecionar mapas montados a partir de dados de mapa recuperáveis a partir do banco de dados de mapas pelo menos parcialmente com base em metadados de mapa associados, recuperáveis a partir do banco de dados de metadados de mapa. Os metadados de mapa podem compreender vários dados, tais como, por exemplo, uma ou mais informações de: o autor do mapa, o fornecedor do mapa, a data de criação do mapa, a data da última atualização do mapa, a localização do mapa, tipos de Pontos de Interesse incluídos no mapa, o tamanho do arquivo do mapa, palavras chave e/ou rótulos representativos do mapa.
[0026] De acordo com uma modalidade alternativa do método para acordo com o terceiro aspecto, adicionalmente aos metadados de mapa mencionados acima, metadados de mapa adicionais, disponíveis a partir de pelo menos uma segunda fonte de metadados, que fornece informação sobre o uso de mapas armazenados, também pode ser acessível ao mecanismo de processamento de mapas. Estes metadados de mapa adicionais podem compreender pelo menos uma de: estatísticas históricas de uso do mapa, informação de avaliação do mapa, informação de avaliação do autor do mapa e informação de restrições de uso do mapa.
[0027] Um método para atualizar bancos de dados de acordo com qualquer das modalidades acima pode ser repetido em um intervalo de tempo pré-definido. Adicionalmente, ou como uma alternativa um método pode ser repetido na ocorrência de pelo menos um evento de acionamento pré- definido, de modo que, por exemplo, quando novos dados de mapa são adicionados a uma fonte de dados. De acordo com um quarto aspecto e fornecido um servidor de mapas que compreende um processador e uma memória capazes de armazenar instruções que quando executadas pelo processador fazem com que o processador reconheça uma solicitaçãoo por metadados de mapa, recebida de um dispositivo de usuário, em que a solicitaçãoo compreende pelo menos um critério de mapa, que especifica pelo menos uma condição de seleção de mapa, e dados de localização, que indicam a localização do dispositivo de usuário; pesquise, em um banco de dados de mapas acessível ao servidor de mapas, por metadados de mapa que correspondam aos dados de localização e ao pelo menos um critério de mapa; recupere, em caso de pelo menos uma correspondência entre os metadados de mapa, os dados de localização e o pelo menos um critério de mapa, a partir de um banco de dados de metadados de mapa, metadados de mapa associados a pelo menos um mapa, e forneça os metadados de mapa recuperados para o dispositivo de usuário. Adicionalmente as instruções são capazes de fazer com que o processador receba uma solicitaçãoo por pelo menos um mapa do dispositivo de usuário, onde o pelo menos um mapa tenha sido selecionado pelo menos parcialmente com base nos metadados de mapa; para obter o um ou mais mapa solicitados e para fornecer o mapa ou mapas obtidos para o dispositivo de usuário.
[0028] A memória também pode ser capaz de armazenar instruções que quando executadas pelo processador fazem com que o processador: recupere os critérios de mapa disponíveis para a localização indicada, e forneça os critérios de mapa disponíveis para o dispositivo de usuário, em caso de nenhuma correspondência entre os metadados de mapa, os dados de localização e o pelo menos um critério de mapa, para, deste modo, habilitar o dispositivo de usuário a repetir uma solicitaçãoo por metadados de mapa com base nos dados de localização e pelo menos um dos critérios de mapa disponíveis.
[0029] Adicionalmente, a memória pode ser capaz de armazenar instruções legíveis por computador que quando executadas pelo processador fazem com que o processador torne uma API (Interface de Programação de Aplicação), que pode, por exemplo, ser uma Interface de Programação de Aplicação Agradável, acessível ao dispositivo de usuário, para deste modo habilitar o dispositivo de usuário para se comunicar com o servidor de mapas através da API. A API fornece para uma interface de usuário amigável e processamento eficiente de metadados de mapa a fim de filtrar o mapa ou mapas mais adequados.
[0030] De acordo com um quinto aspecto e revelado um produto de programa de computador que compreende meios de código legíveis por computador e um programa de computador que e configurado para fazer com que o processador realize as etapas descritas acima quando o programa de computador e executado no servidor de mapas.
[0031] De acordo com um sexto aspecto, um dispositivo de usuário compreende um processador e uma memória capaz de armazenar instruções que quando executadas pelo processador fazem com que o processador: reconheça dados de localização, que especificam a localização do dispositivo de usuário, e pelo menos um critério de mapa, que especifica pelo menos uma condição para selecionar um mapa e para transmitir, para um servidor de mapas capaz de acessar mapas a partir de um banco de dados de mapas, uma solicitaçãoo por metadados de mapa relacionados ao mapa, que compreendem o pelo menos um critério de mapa, e os dados de localização, para deste modo iniciar, no servidor de mapas, uma pesquisa por metadados de mapa que correspondam aos dados de localização e ao pelo menos um critério de mapa. O processador também pode ser instado a receber, a partir do servidor de mapas, metadados de mapa associados a cada correspondência, em caso de pelo menos uma correspondência entre os dados de localização e o pelo menos um critério de mapa; para selecionar pelo menos um mapa, pelo menos parcialmente com base nos metadados de mapa, e para solicitar o pelo menos um mapa selecionado a partir do servidor de mapas, antes de receber o um ou mais mapa solicitados do servidor de mapas.
[0032] Adicionalmente, a memória pode ser capaz de armazenar instruções que quando executadas pelo processador fazem com que o processador receba, do servidor de mapas, os critérios de mapa disponíveis para a localização indicada, e processe os critérios de mapa disponíveis, para deste modo habilitar o dispositivo de usuário a repetir uma solicitaçãoo por metadados de mapa com base nos dados de localização e pelo menos um dos critérios de mapa disponíveis, em caso de nenhuma correspondência na pesquisa por metadados de mapa.
[0033] Além disso, a memória pode ser capaz adicionalmente de armazenar instruções que quando executadas pelo processador fazem com que o processador inicie um diálogo entre o dispositivo de usuário e o servidor de mapas subsequente a reconhecer uma correspondência, para, deste modo, habilitar um usuário final do dispositivo de usuário a interagir na seleção de mapas através do diálogo, onde este um diálogo pode, por exemplo, ser iniciado ao reconhecer a ocorrência de pelo menos um evento de acionamento de diálogo pré-definido.
[0034] O dispositivo de usuário descrito acima pode ser, por exemplo, qualquer de: um telefone móvel, um telefone inteligente, um Tablet, um computador de mesa, um computador de colo, um computador portátil, um reprodutor multimídia, um decodificador de sinais, uma TV e um computador.
[0035] De acordo com um sétimo aspecto, um produto de programa de computador que compreende meios de código legíveis por computador e também e fornecido um programa de computador o qual e configurado para fazer com que o mencionado processador realize as etapas mencionadas quando o programa de computador e executado no dispositivo de usuário.
[0036] De acordo com um oitavo aspecto e fornecido um mecanismo de processamento de mapas que compreende um processador e uma memória, onde a memória e capaz de armazenar instruções que quando executadas pelo processador fazem com que o processador: recupere, a partir de pelo menos uma fonte de dados de mapas, dados de mapa atualizados ou novos associados a um mapa; converta os dados de mapa recuperados em um formato de dados comum; extraia, a partir de pelo menos uma de uma primeira fonte de metadados de mapa e a fonte de dados de mapas, um primeiro conjunto de metadados de mapa associados aos ditos dados de mapa; mapeie os metadados de mapa extraídos com os dados de mapa associados, e armazene os dados de mapa em um banco de dados de mapas, e os metadados de mapa extraídos em um banco de dados de metadados de mapa, para deste modo habilitar um dispositivo de usuário a selecionar mapas montados a partir de dados de mapa recuperáveis do banco de dados de mapas pelo menos parcialmente com base em metadados de mapa associados, recuperáveis a partir do banco de dados de metadados de mapa.
[0037] A memória do mecanismo de processamento de mapas também pode ser capaz de armazenar instruções que quando executadas pelo processador fazem com que o processador extraia, adicionalmente ao primeiro conjunto de metadados de mapa, um segundo conjunto de metadados de mapa a partir de pelo menos uma segunda fonte de metadados de mapa.
[0038] A memória pode ser capaz de armazenar instruções que quando executadas pelo processador fazem com que o processador recupere repetidamente dados de mapa novos ou atualizados em um intervalo de tempo pré-definido, e/ou recupere dados de mapa novos ou atualizados ao reconhecer a ocorrência de pelo menos um evento de acionamento de mapa pré-definido.
[0039] De acordo com um nono aspecto também e fornecido um produto de programa de computador que compreende meios de código legíveis por computador e um programa de computador, que e configurado para fazer com que o processador realize as etapas descritas acima quando o programa de computador e executado no mecanismo de processamento de mapas.
[0040] Detalhes e exemplos adicionais relacionados as modalidades descritas acima agora serão descritos em detalhes adicionais abaixo.
BREVE DESCRIÇAO DAS FIGURAS
[0041] Os objetivos, vantagens e efeitos, bem como recursos das modalidades descritas neste documento serão mais prontamente entendidos a partir da descrição detalhada a seguir quando lida em conjunto com os desenhos em anexo, em que: A Figura 1 e uma visão geral de um sistema da técnica anterior para gerenciar e fornecer mapas.
[0042] A Figura 2 e uma visão geral de um sistema para gerenciar e fornecer mapas, de acordo com uma modalidade.
[0043] A Figura 3 e um esquema de sinalização que ilustra como mapas podem ser solicitados e obtidos, de acordo com uma modalidade.
[0044] A Figura 4 e outro esquema de sinalização que ilustra etapas alternativas para manipular uma solicitaçãoo para a qual nenhum metadado de mapa pode ser encontrado, de acordo com uma modalidade.
[0045] A Figura 5 e um fluxograma que ilustra um método, executado em um servidor de mapas, para fornecer mapas para um dispositivo de usuário, de acordo com uma modalidade.
[0046] A Figura 6 e outro fluxograma que ilustra um método, executado em um dispositivo de usuário, para solicitar mapas, de acordo com uma modalidade.
[0047] A Figura 7 e ainda outro fluxograma que ilustra um método, executado em um mecanismo de processamento de mapas, para gerenciar e atualizar dados relacionados a mapa em um sistema de fornecimento de mapas, de acordo com uma modalidade.
[0048] A Figura 8 e uma arquitetura simplificada de um servidor de mapas, de acordo com uma modalidade.
[0049] A Figura 9 e outra arquitetura simplificada, que ilustra um dispositivo de usuário, de acordo com uma modalidade.
[0050] A Figura 10 e ainda outra arquitetura simplificada, que ilustra um mecanismo de processamento de mapas, de acordo com uma modalidade. DESCRIÇAO DETALHADA
[0051] Os desafios mencionados acima criam uma grande necessidade por um sistema que possa gerenciar e distribuir mapas digitais, e particularmente mapas internos, disponibilizados a partir de fontes diferentes, para dispositivos móveis através de um único ponto de acesso. Também existe uma necessidade por um sistema que possa fornecer para desenvolvimento muito difundido de aplicações e serviços que contam com este tipo de informação e descarga fácil e amigável para o usuário de mapas disponíveis a partir de várias localizações, enquanto que ao mesmo tempo assegurando que os mapas são continuamente adaptados ao contexto de situação e aplicação correntes. A seleção de mapas também pode ser possível ao mesmo tempo em que requerendo um mínimo de esforço do usuário final.
[0052] Como será descrito em detalhe adicional abaixo, com referências as respectivas figuras, e fornecido um sistema que e capaz de coletar mapas de múltiplas fontes diferentes, que podem ser geográficamente distribuídos e pertencer a diferentes fornecedores. Todos os mapas coletáveis são rotulados com várias categorias de metadados, daqui em diante referenciados como metadados de mapa, os quais são dados relacionados a mapa, tais como, por exemplo, informação sobre o criador de um mapa específico, um propósito ou catégoria de um mapa, ou a data de criação de um mapa. Metadados de mapa associados a um respectivo mapa podem se referenciar a uma catégoria de dados, mas tipicamente compreenderão dados agregados de diferentes categorias. Os mapas juntamente com os metadados de mapa associados então são disponibilizados para desenvolvedores que querem criar novas aplicações de LBS, que podem então ser disponibilizadas através de um servidor de mapas, que compreende tipicamente um API, para fornecer para usuários finais uma interface de usuário amigável relativa ao servidor de mapas.
[0053] O servidor de mapas fornece acesso tanto ao conteúdo do mapa como a quaisquer metadados de mapa associados que são disponibilizados a partir de uma fonte de metadados ou diretamente a partir dos dados de mapa, onde a informação acessível pode ser usada por qualquer aplicação que resida em um dispositivo de usuário e diga respeito, pelo menos em alguma extensão, ao uso de mapas.
[0054] Em vez de apenas descarregar um mapa que parece compreender os dados de mapa solicitados a partir de um servidor de mapas quando executa uma aplicação em um dispositivo de usuário, e iniciado um método que inclui uma seleção intermediaria de filtragem de metadados de mapa no dispositivo de usuário, antes de começar qualquer seleção de mapas. Ao fazer uma solicitaçãoo para o servidor de mapas, uma aplicação que reside no dispositivo de usuário será capaz de iniciar a descarga de uma lista de metadados de mapa, que descreve em algum sentido um ou mais mapas que correspondem a certa consulta. Uma solicitaçãoo ampla pode, por exemplo, ser uma solicitaçãoo por todos os mapas disponíveis em uma localização, enquanto que uma solicitaçãoo mais restrita ou detalhada, que compreende mais ou menos limitações detalhadas, deve resultar em uma filtragem mais ou menos detalhada dos metadados de mapa disponíveis para uma dada localização geográfica. No caso anterior mais esforço pode ficar na aplicação ou usuário final que então pode fazer uso de todos os metadados de mapa disponíveis para selecionar quais dos mapas associados devem ser usados na situação presente, enquanto que no último caso, uma grande quantidade de mapas pode ter sido filtrada já no estágio de dispor os metadados de mapa, e menos esforço será requerido da aplicação ou do usuário final para selecionar os mapas baseado nos metadados de mapa obtidos. Em certos casos apenas uns poucos mapas, ou mesmo somente um mapa, pode ser deixado para a escolha. Deste modo e fornecido um mecanismo mais sofisticado para selecionar o mapa ou mapas mais adequados para cada situação única, aplicando uma etapa intermediaria para filtragem indireta dos mapas adequados, antes de solicitar um mapa específico.
[0055] Uma aplicação típica onde o usuário possa se beneficiar de ser capaz de selecionar com eficiência a partir de um conjunto de mapas disponíveis de origem diferente e com conteúdo diferente e quando estándo localizado em um aeroporto. Quando um usuário final inicia uma aplicação de seu dispositivo de usuário ele pode ser solicitado a preencher informação, no contexto presente referenciado como critérios de mapa, que podem incluir, por exemplo, qual voo está para aterrissar, hora da aterrissagem e se existem quaisquer exigências especiais. Dependendo dos critérios de mapa fornecidos juntamente com o tempo restánte até a aterrissagem, o sistema então pode fornecer mapas adequados diferentes. Se o mesmo, por exemplo, está próximo a partir pode ser suficiente apresentar um mapa reduzido onde somente os portões são mostrados, de modo que o usuário final possa encontrar rapidamente seu caminho para o portão correto. A aplicação então pode consultar o sistema por um mapa que tenha a informação mais relevante, que no presente caso deve ser a informação do portão, mas omite detalhes adicionais. Se mais do que um mapa for fornecido como uma resposta a está solicitaçãoo, por exemplo, o mais popular destes mapas pode ser apresentado como o mais prioritário. Muito embora o termo critérios de mapa seja usado por todo o documento, deve ser entendido que a informação usada para selecionar metadados de mapa não tem que compreender uma pluralidade de critérios de mapa, mas também pode compreender somente um critério de mapa, dependendo da aplicação e do tipo de mapas solicitado.
[0056] Se, por outro lado, existir muito tempo restándo até a partida, a aplicação pode como alternativa solicitar por um mapa contendo informação mais detalhada do aeroporto, tal como por exemplo, informação de lojas e restáurantes. Outros critérios de mapa selecionáveis podem, por exemplo, incluir rotas alternativas disponíveis se for requerida assistência a deficiente ou salões disponíveis para proprietários de programas de fidelidade.
[0057] A aplicação também pode ser configurada de modo que a mesma continuamente retorne dados de realimentação para o sistema, fornecendo estátísticas de uso dos mapas, tais como, por exemplo, quais mapas foram selecionados pelos usuários finais, e em que extensão os mesmos foram usados. Este tipo de dados relacionados a mapa constitui um tipo de metadados externos de mapa que podem, por exemplo, ser gerenciados e disponibilizados para o sistema por certos fornecedores de dados de utilização.
[0058] Outro caso de uso pode ser onde uma grande companhia varejista tenha tido uma aplicação desenvolvida e disponibilizada para seus clientes onde os clientes são assistidos em seus trajetos nas lojas de varejo, por exemplo, recebendo mensagens de propaganda ao mesmo tempo em que sendo assistidos por um mapa quando fazendo compras. Está aplicação pode ser configurada de modo que sempre sejam fornecidos mapas do varejista para o usuário final quando em uma loja da empresa varejista, enquanto que quando em outras localizações, tais como, por exemplo, um museu ou uma escola, outros mapas mais relevantes podem ser fornecidos para o usuário final.
[0059] Uma vantagem de usar uma aplicação, tal como qualquer uma daquelas descritas acima, e que um usuário final será capaz de selecionar dinamicamente o mapa que e mais adequado a situação corrente dentre todos os mapas disponíveis em certa localização de acordo com os critérios de mapa preferidos. Uma aplicação pode ser configurada para selecionar um mapa aplicando automaticamente os critérios de mapa pré-definidos para selecionar metadados de mapa, com base nos quais um mapa e selecionado posteriormente, ou deixar o usuário final selecionar qual mapa usar baseado nos metadados de mapa apresentados em resposta a uma solicitaçãoo que compreende os critérios de mapa fornecidos manualmente pelo usuário final.
[0060] Uma vez que a aplicação do servidor especifica uma consulta para uma localização específica, tipicamente em combinação com critérios de mapa adicionais, somente metadados de mapa relevantes precisam ser transmitidos para a aplicação processar, ou seja, para disponibilizar os metadados de mapa de uma forma amigável para usuário para um usuário final através de uma interface gráfica de usuário, ou para disponibilizar os metadados de mapa para uma aplicação que roda no dispositivo de usuário, no caso em que e aplicada seleção automática de mapas. Deste modo a quantidade de processamento solicitada no dispositivo de usuário pode ser mantida em um mínimo, uma vez que a maior parte do processamento solicitado para filtragem dos metadados de mapa e executada no servidor de mapas. Adicionalmente, podem ser apresentadas somente partes de metadados de mapa selecionadas para o usuário final, para, deste modo, simplificar o processo de seleção de mapa para o usuário final.
[0061] Além disso, mapas de diferentes fornecedores de mapas podem ser fornecidos por uma única API comum, o que permite simplificação do processo de seleção de mapas, bem como o processamento dos dados relacionados ao mapa. Os desenvolvedores serão capazes de fazer uso de mapas mais facilmente, e em particular, mapas internos, com suas exigências específicas, sem ter que selecionar antecipadamente qualquer fornecedor de dados de mapa específico que os mesmos queiram usar.
[0062] Fornecedores de mapas também serão capazes de publicar seus mapas em uma API comum, que permite que também pequenos fornecedores de dados, que, por exemplo, somente fornecem dados para uma cidade, disponibilizem seus mapas em um sistema que pode fornecer cobertura global. Deste modo usuários finais terão uma ampla variedade de aplicações de diferentes desenvolvedores para escolher, de uma situação para outra.
[0063] Um sistema que é configurado para gerenciar mapas e dados relacionados a mapa, e para tornar está informação acessível facilmente para usuários finais como explicado em termos gerais acima, será descrita em mais detalhe agora de acordo com uma possível modalidade com referência a Figura 2.
[0064] Embora seja feita referência a dispositivos e métodos que são particularmente adequados para mapas internos, e as demandas que surgem em localizações internas, deve ser entendido que os exemplos a seguir também podem ser aplicáveis a fornecimento de dados de mapa de mapas externos.
[0065] O sistema 20 compreende um servidor, daqui em diante referenciado como um mecanismo de processamento de mapas 21, que e um servidor que e configurado para processar dados acessíveis a partir de várias fontes externas e internas de dados de mapa e de metadados de mapas, de modo que os dados processados relacionados a mapa sejam disponibilizados para os dispositivos de usuário, aqui representados pelo dispositivo de usuário 22, através de outro servidor, daqui em diante referenciado como um servidor de mapas 28, que fornece acesso aos dados relacionados a mapa. O mecanismo de processamento de mapas 21 e conectado operacionalmente a uma ou mais fontes de dados de mapas, aqui reapresentadas por duas fontes de dados de mapas internas 22a, 22b, ou seja, fontes de dados de mapas controladas diretamente a partir do mecanismo de processamento de mapas 21, e uma fonte de dados de mapas externa 22c, ou seja, uma fonte de dados de mapas mantida por um terceiro fornecedor de mapas, onde o último no presente exemplo está acessível através de um nó de acesso intermediário, aqui referenciada como um servidor de fornecedor externo 23.
[0066] As fontes de dados de mapas 22a,22b,22c contém dados de mapa, ou seja, dados que compõem mapas completos, que são tipicamente fornecidos em vários formatos proprietários se fornecidos a partir de vários fornecedores de dados de mapa diferentes (não mostrados). Todos estes mapas são rotulados com informação que indica as localizações exatas da edificação ou edificações que as mesmas representam, e também podem ser rotulados com outra informação, fornecendo vários fatos que são relevantes para o mapa respectivo. Dados de mapa típicos podem compreender, por exemplo, informação de disposição básica de edificações, tais como, por exemplo, localizações de paredes, salas, portas, pisos, saídas de emergência, e posições de objetos e recursos específicos em mapas, tais como, por exemplo, mesas, cadeiras, escadarias, equipamento de segurança e elevadores.
[0067] O mecanismo de processamento de mapas 21 também e conectado operacionalmente a uma ou mais fontes de metadados de mapas, aqui representadas por duas fontes de metadados de mapas que podem ser referenciadas como fontes de metadados de mapa internas 24a e uma fonte de metadados de mapa externa 24b, fornecidas a partir de um fornecedor de mapas terceiro, onde a último fonte de metadados de mapa 24b e acessível ao mecanismo de processamento de mapas 21 através de um nó intermediário, aqui referenciado como um servidor de realimentação de informação de uso 25. Tipicamente, a fonte de metadados de mapa interna 24a contém metadados de mapa indicativos da estrutura e conteúdo de mapas associados, enquanto que a fonte de metadados de mapas externa contém metadados de mapa indicativos da utilização anterior de mapas associados. Mais especificamente, o servidor de realimentação de informação de uso 25 e tipicamente configurado para coletar informação a partir de dispositivos de usuário 22 que estão usando um mapa relacionado a aplicação, tal como, por exemplo, informação indicativa de em que extensão cada mapa está sendo usado pelos usuários finais, e armazenar está informação em uma fonte de metadados de mapa externa 24b, para deste modo também disponibilizar este tipo de metadados históricos de mapa para o mecanismo de processamento de mapas 21.
[0068] Os metadados de mapa internos podem compreender informação relacionada a mapa, tal como, por exemplo, um ou mais de: data de criação do mapa, data da última atualização do mapa, o autor do mapa, direitos de acesso associados ao mapa, tamanho dos dados de mapa, nome do mapa, línguas suportadas, tipo de mapa, POIs (Pontos de Interesse) incluídos, bem como uma ou mais palavras chave e/ou rótulos dispostos em uma ou mais categorias para simplificar a categorização dos mapas, e por esse meio seleção dos mapas.
[0069] Por outro lado os metadados de mapa fornecidos externamente podem compreender dados relacionados a utilização, em vez de dados descritivos do respectivo mapa, onde os dados relacionados a utilização tipicamente são coletados a partir dos dispositivos de usuário em uma base contínua, e podem compreender, por exemplo, um ou mais de: informação histórica sobre a frequência com que um respectivo mapa tem sido selecionado, classificações de usuário sobre a qualidade, usabilidade de um mapa, o autor do mapa, bem como várias informações dos fornecedores de dados de mapa.
[0070] Por ter o sistema conectado a dados de mapa e fonte de metadados de mapas internos bem como externos, pode ser agregada uma ampla variedade de informação relacionada a mapa, para, deste modo, permitir que os desenvolvedores forneçam mais opções selecionáveis para o usuários finais.
[0071] Uma plataforma Java EE (Edição Empresarial) pode, por exemplo, ser aplicada nas respectivas entidades para fornecer conectividade entre o mecanismo de processamento de mapas 21 e as fontes de dados de mapa internas 22a, 22b, bem como entre o servidor de fornecedor externo 23 e as fontes de dados de mapa externas 22c, enquanto que HTTP (Protocolo de Transferência de Hipertexto) pode ser usado para fornecer conectividade entre o mecanismo de processamento de mapas 21 e os nós intermediários 23,25. Deve ser entendido que o sistema pode compreender mais ou menos fontes de dados de mapas e/ou fontes de metadados de mapas do que o que e ilustrado na figura 2, dependendo, por exemplo, de quantos fornecedores pretendem se conectar ao sistema.
[0072] O mecanismo de processamento de mapas 21 e configurado para processar dados de mapa e metadados de mapa extraídos, de modo que metadados de mapa associados a um mapa específico estão ligados ou mapeados ao respectivo mapa. Portanto o sistema 20 também compreende um banco de dados de mapas 26 que e conectado ao mecanismo de processamento de mapas 21 de modo que após o mapeamento dos dados relacionados a mapa descritos, o mecanismo de processamento de mapas 21 armazene os dados de mapa no banco de dados de mapas 26. De uma forma correspondente, um banco de dados de metadados de mapa 27 e conectado ao mecanismo de processamento de mapas 21, de modo que o mecanismo de processamento de mapas 21 possa armazenar quaisquer metadados de mapa naquele banco de dados.
[0073] Tanto o banco de dados de mapas 26 como o banco de dados de metadados de mapa 27 são conectados a outro servidor, daqui em diante referenciado como um servidor de mapas 28, por exemplo, aplicando uma plataforma Java EE, de modo que o servidor de mapas 28 possa fornecer para os dispositivos de usuário 22 que rodam uma aplicação relacionada a mapa acesso aos metadados de mapa e dados de mapa associados armazenados. Tipicamente, o usuário final será capaz de acessar os metadados de mapa e os dados de mapa através de um API, ou mais especificamente, uma API de mapa especialmente adaptada que resida no servidor de mapas 28.
[0074] Um usuário final que deseje obter acesso aos metadados de mapa e subsequentemente também aos dados de mapa associados, pode usar um dispositivo de usuário, tal como, por exemplo, qualquer de: um telefone móvel, tipicamente um telefone inteligente, um computador, um computador de mesa, um reprodutor multimídia, um computador de colo, um computador portátil, um Tablet, um decodificador de sinais (STB), uma TV, uma console de jogos, ou qualquer outro tipo de dispositivo de usuário que seja adaptado para rodar uma aplicação capaz de conectar ao servidor de mapas 28. A aplicação, que também pode tipicamente ser referenciada como um cliente, ou no presente caso mais especificamente como um cliente LBS interno, que e capaz de rodar no dispositivo de usuário, pode ser qualquer tipo de aplicação, tal como, por exemplo, uma aplicação ou serviço Android que seja configurado para utilizar mapas, e particularmente mapas internos.
[0075] A Figura 3 e um fluxograma que ilustra como um cliente ou aplicação executada em um dispositivo de usuário pode iniciar e completar um processador para obter mapas a partir de um servidor de mapas que faz parte de um sistema, tal como o descrito acima.
[0076] Em uma primeira etapa 3:1, um processo, que pode ser referenciado como um processo de seleção de mapa, e acionado por um cliente, ou seja, uma aplicação ou serviço que roda em um dispositivo de usuário 22, reconhece uma localização de usuário que pode ou ter sido fornecida manualmente por um usuário final através de qualquer tipo de interface de usuário do dispositivo de usuário 22, ou ter sido determinada automaticamente, por exemplo, com a ajuda de uma funga o de GPS do dispositivo de usuário 22, por, ou em cooperação com, o cliente se os metadados de mapa e dados de mapa são solicitados automaticamente pelo cliente. As funções GPS são comumente conhecidas na técnica, também quando configuradas como uma parte integrada de um dispositivo de usuário, e, portanto, estão fora do escopo do método descrito. Portanto as mesmas não serão descritas em qualquer detalhe adicional neste documento.
[0077] De uma forma correspondente o cliente reconhece os critérios de mapa, que devem ser interpretados como uma indicação em certas condições de como filtrar metadados de mapa relevantes a partir dos metadados que estão disponíveis para a dada localização. O reconhecimento dos critérios de mapa, que são fornecidos ou como entrados manualmente, ou como dados derivados automaticamente, e indicado em uma próxima etapa 3:2.
[0078] Se o processo descrito for um processo automático o cliente pode ser configurado para montar um ou mais critérios de mapa que são relevantes para o presente caso. Se como alternativa o processamento for gerenciado manualmente por um usuário final, uma opção dos critérios de mapa, ou um conjunto de questões, pode como alternativa ser exibida para o usuário final, de modo que o usuário final possa selecionar entrar ou indicar que condições solicitadas sejam aplicadas a um processo de filtragem de metadados de mapa próximo.
[0079] O cliente pode permitir que uma ampla variedade dos critérios de mapa sejam selecionáveis pelo usuário final, e quando a quantidade de metadados de mapa disponíveis aumenta, as opções e combinações de critérios de mapa selecionáveis possíveis também pode aumentar, para deste modo tornar os metadados de mapa e a seleção de mapas subsequente ainda mais sofisticados. Em seu caso mais simples, pode ser fornecido um critério de mapa que constitui uma instrução para solicitar todos os metadados de mapa disponíveis para a dada localização, enquanto que em uma solicitaçãoo mais sofisticada os critérios de mapa fornecidos podem como alternativa compreender uma ou mais especificações, mais ou menos detalhadas, de qual tipo de conteúdo os metadados de mapa, e subsequentemente, o mapa solicitado devem ter. Os critérios de mapa podem, por exemplo, compreender uma solicitaçãoo por metadados de mapa associados a mapas que mostram as lojas que são mais bem adaptadas para pessoas com deficiência. Os critérios de mapa também podem indicar solicitações, tais como, por exemplo, por certos restaurantes ou lojas em um centro comercial, pelos mapas com classificação mais alta ou pelos mapas visualizados mais frequentemente na localização relevante.
[0080] Os critérios de mapa podem, por exemplo, solicitar somente lojas que estejam presentemente abertas ou uma rota, ou seja, como chegar a partir do ponto A para o ponto B, que seja adaptada ao usuário final solicitante. no caso anterior, os critérios de mapa podem incluir preferencialmente uma indicação da hora obtenível a partir de qualquer relógio interno convencional do dispositivo de usuário. No último caso um guarda de segurança, por exemplo, terá acesso a mais portas, e, portanto, terá mais alternativas de rotas para escolher, do que um visitante regular, por exemplo, em um aeroporto, um hospital ou um centro comercial.
[0081] Uma vez que uma localização de usuário e os critérios de mapa tenham sido reconhecidos no dispositivo de usuário 22, está informação e fornecida para um servidor capaz de fornecer informação relacionada ao mapa, aqui referenciado como um servidor de mapas 28. Na figura 3, tanto os critérios de mapa como os dados de localização são enviados para o servidor de mapas em uma única solicitaçãoo, como indicado em outra etapa 3:3. Entretanto os critérios de mapa e os dados de localização podem alternativamente ser enviados em mensagens separadas. A solicitaçãoo por metadados de mapa pode ser vista como uma instrução, que e baseada nos critérios de mapa, para o servidor de mapas sobre como filtrar metadados de mapa que sejam relevantes para a localização fornecida na solicitaçãoo que devem ser aplicados a dada localização.
[0082] Uma vez que os metadados de mapa e os dados de localização tenham sido recebidos pelo servidor de mapas 28 o mesmo aciona uma pesquisa por metadados de mapa, que e executada em um banco de dados de metadados de mapa 27, como indicado em uma etapa 3:4, e em uma etapa subsequente 3:5, os metadados de mapa obtidos são fornecidos para o servidor de mapas 28 em uma mensagem de resposta. Durante a pesquisa, os metadados de mapa que tiverem sido rotulados para a dada localização são filtrados de acordo com o conteúdo da solicitaçãoo. Como está filtragem e executada e a saída da filtragem dependera de como os critérios de mapa detalhados que estão sendo fornecidos na solicitaçãoo e o nível de detalhe dos rótulos fornecidos para os metadados de mapa quando os metadados de mapa foram compilados.
[0083] Em outra etapa 3:6 o servidor de mapas 28 transmite os metadados de mapa obtidos para o dispositivo de usuário 22, para, deste modo, permitir que os metadados de mapa sejam processados pelo dispositivo de usuário 22, como indicado em uma etapa 3:7 subsequente. Este processamento pode, por exemplo, incluir a apresentação dos metadados de mapa obtidos para um usuário final de uma forma que simplifique uma etapa de seleção de mapa a seguir. A apresentação pode, por exemplo, incluir um diálogo estabelecido entre o cliente que roda no dispositivo de usuário 22 e o servidor de mapas 28 que está fornecendo questões para o usuário final com o propósito de ajudar o usuário final a fazer a melhor seleção de um mapa baseado nos metadados de mapa fornecidos. Em caso de um processo executado automaticamente, um algoritmo executado pelo cliente pode ser configurado de modo que, baseado nos metadados de mapa obtidos, possa ser executada a melhor seleção de mapas, ao mesmo tempo em que não requerendo nenhuma interação do usuário final.
[0084] Após os metadados de mapa terem sido processados de modo que os mesmos possam ser usados para selecionar um mapa, como indicado em uma etapa 3:8, e preparada uma solicitaçãoo para o mapa selecionado no dispositivo de usuário 22 e fornecida para o servidor de mapas 28, como indicado em uma etapa subsequente 3:9. A solicitaçãoo para um mapa aciona o servidor de mapas 28 para pesquisar pelo mapa solicitado em um banco de dados de mapas 26, e para obter o mapa a partir do banco de dados de mapas 26, como indicado nas etapas 2:10 e 3:11, respectivamente, depois do que o mapa obtido e fornecido para o dispositivo de usuário 22, como indicado em uma próxima etapa 3:12.
[0085] Embora, o processamento descrito acima se refira a seleção de um único mapa, o processo descrito também pode permitir que uma pluralidade de mapas seja selecionada, de modo que, por exemplo, um usuário final possa selecionar uma pluralidade de mapas baseado em metadados de mapa obtidos, e uma vez que todos os mapas obtidos tenham sido visualizados e avaliados, o usuário final pode fazer uma escolha de um preferido mapa. De acordo com ainda outra modalidade
[0086] alternativa, uma pluralidade de mapas obtidos podem ser armazenados no dispositivo de usuário 22, de modo que, a qualquer momento quando um mapa usado presentemente não preencher mais a demanda do usuário final, o mesmo pode escolher comutar para outro mapa, em vez de fazer uma solicitaçãoo completamente nova para o servidor de mapas. De maneira similar, as modalidades remanescentes, que fornecem exemplos de métodos e dispositivos, também podem se aplicar igualmente para a seleção de um mapa, bem como para uma pluralidade de mapas a partir de um servidor de mapas.
[0087] Como indicado em uma etapa final 3:13 o mapa, ou mapas, obtido pode ser apresentado pelo cliente a partir do dispositivo de usuário 22. Alternativamente, um diálogo ou um processo de seleção refinado pode começar neste estágio, onde o cliente repete o processo descrito, a partir da etapa ou 3:1 ou 3:2, solicitando um conjunto de metadados de mapa revisado, ou da etapa 3:8, de modo que, baseado nos metadados disponíveis, possa ser selecionado outro mapa mais adequado do que aquele primeiro selecionado, no caso de uma pluralidade de mapas adequados, em vez de um mapa priorizado, terem sido selecionados em uma seleção previa feita de acordo com a etapa 3:8.
[0088] Pode haver situações onde uma solicitaçãoo que e muito restrita, ou seja, muito detalhada comparada aos metadados de mapa disponíveis, e fornecida do dispositivo de usuário 22 para o servidor de mapas 28. Está pode, por exemplo, ser a situação quando um usuário final tiver solicitado um mapa que indique restaurantes Vietnamitas em um centro comercial, que não tem qualquer restaurante deste tipo. Para estás situações, o servidor de mapas 28 pode, por exemplo, ser dotado de funcionalidade que seja capaz de assistir o usuário final a continuar sua pesquisa por um restaurante alternativo, tal como, por exemplo, outro restaurante Asiatico, de uma forma amigável para o usuário, como alternativa a apenas informar para o usuário final que uma solicitaçãoo resultou em nenhum mapa correspondente. A Figura 4 e uma ilustração de um processo como este onde a etapa 3:5 da Figura 3 e substituída por uma quantidade de etapas alternativas consecutivas, começando com a etapa 4:1, onde, em resposta a não encontrar nenhum metadado de mapa correspondente no banco de dados de metadados de mapa 27 durante a filtragem, o servidor de mapas 28 continua o processo iniciado ao fazer uma nova solicitaçãoo para o banco de dados de metadados de mapa 27, de acordo com outra etapa 4:2, onde, como alternativa a solicitaçãoo por metadados de mapa de acordo com os critérios de mapa prévios, e fornecida uma solicitaçãoo por todos os metadados de mapa disponíveis para a dada localização a partir do banco de dados de metadados de mapa 27. O banco de dados de metadados de mapa 27 então fornece todos os metadados de mapa que tenham sido previamente rotulados para a dada localização, como indicado em uma próxima etapa 4:3, e em uma etapa subsequente 4:4, o servidor de mapas 28 mapeia todos os metadados de mapa obtidos contra uma lista de critérios de mapa disponíveis que tenha sido armazenada previamente no servidor de mapas 28. Filtrando todos os critérios de mapa para os quais existem metadados de mapa correspondentes, são fornecidas todas as opções selecionáveis para a dada localização. Em uma próxima etapa 4:5, a lista de critérios de mapa selecionáveis e transmitida para o dispositivo de usuário 22, e em uma etapa subsequente 4:6 os critérios de mapa podem ser processados no dispositivo de usuário 22 pelo cliente. Baseado nos metadados de mapa processados, o usuário final então pode continuar o processamento da Figura 3 a partir da etapa 3:8 selecionando um mapa baseado nos metadados de mapa relevantes.
[0089] Na etapa 4:6 somente os critérios de mapa para os quais existirem metadados de mapa disponíveis no banco de dados de metadados de mapa 27 serão fornecidos como opções selecionáveis para o dispositivo de usuário 22, e, portanto, uma vez que uma nova solicitaçãoo, que compreende os critérios de mapa incluídos nas opções selecionáveis, e enviada do dispositivo de usuário 22 para o servidor de mapas 28, está solicitaçãoo resultara no retorno de metadados de mapa correspondentes para o dispositivo de usuário 22. Preferencialmente, em caso de um processo manual, está opção também inclui um diálogo fornecido para o usuário final onde o usuário final e informado da primeira solicitaçãoo falha resultante, e recebe as opções disponíveis para serem usadas na solicitaçãoo mais detalhada subsequente.
[0090] Como mencionado acima, uma solicitaçãoo por metadados de mapa acionara um método para iniciar em um servidor de mapas. Este método para gerenciar uma solicitaçãoo por metadados de mapa, e uma solicitaçãoo subsequente por um mapa associado em um servidor de mapas, será descrito agora em detalhe adicional com referência a Figura 5.
[0091] Em uma primeira etapa 5:1, o servidor de mapas recebe uma solicitaçãoo por metadados de mapa de um dispositivo de usuário e dados de localização fornecidos em uma ou duas mensagens, onde a solicitaçãoo aciona uma pesquisa por metadados de mapa em um banco de dados de metadados de mapa, como indicado em uma próxima etapa 5:2. No caso da etapa 5:2 não resultar em uma correspondência, o servidor de mapas e configurado para recuperar os critérios de mapa disponíveis, e para fornecer os critérios de mapa disponíveis para o dispositivo de usuário, como indicado nas etapas 5:4 e 5:5, para, deste modo, habilitar o dispositivo de usuário a fornecer uma solicitaçãoo revisada para o servidor de mapas, repetindo as etapas 5:1-5:3 com a solicitaçãoo revisada. O processo descrito com as etapas 5:4 e 5:5 pode ser executado de acordo com o fluxograma da Figura 4. Como uma alternativa as etapas 5:4 e 5:5, o usuário final pode ser informado de que nenhuma correspondência foi encontrada para a dada solicitaçãoo e receber uma opção para repetir o processo de solicitaçãoo fazendo uma nova pesquisa, mas sem ter quaisquer critérios de mapa disponíveis para considerar, ou seja, sem executar as etapas 5:4 e 5:5, respectivamente, antes de começar com a etapa 5:1 novamente, ou casso o processamento possa ser terminado no dispositivo de usuário.
[0092] Uma vez que os metadados de mapa correspondentes tenham sido encontrados no banco de dados de metadados de mapa na etapa 5:3, o processamento continua recuperando metadados de mapa correspondentes a partir do banco de dados de metadados de mapa, como indicado em uma etapa subsequente 5:6, e fornecendo estes metadados de mapa para o dispositivo de usuário, como indicado em uma próxima etapa 5:7.
[0093] Subsequente a fornecer metadados de mapa para o dispositivo de usuário, e subsequente a um escolha de mapa no dispositivo de usuário, o servidor de mapas recebera uma solicitaçãoo pelo mapa selecionado, como indicado em uma etapa 5:8, que aciona o servidor de mapas para obter o mapa solicitado a partir de um banco de dados de mapas, e para fornecer o mapa para o dispositivo de usuário, como indicado nas etapas 5:9 e 5:10, respectivamente, antes do processamento ser terminado. Como já mencionado acima, um cliente que reside no dispositivo de usuário e capaz de executar o processamento descrito pode ser configurado para repetir o processamento no caso do mapa obtido does não atender as expectativas. no último caso a etapa 5:10 também pode incluir um acionamento no dispositivo de usuário para iniciar um diálogo manual ou automático entre o dispositivo de usuário e o servidor de mapas, que permite que o dispositivo de usuário inicie um processo repetido para solicitar novos metadados de mapa, ou para solicitar outro mapa baseado em metadados de mapa já disponíveis.
[0094] Um método correspondente, que como alternativa e executado por um cliente que roda em um dispositivo de usuário e e capaz de conectar ao servidor de mapas e de solicitar um mapa com base em metadados de mapa sempre que solicitado, será descrito agora em detalhe adicional com referência a Figura 6.
[0095] De acordo com A Figura 6 um processo para obter metadados de mapa e acionado por um cliente que roda no dispositivo de usuário, reconhecendo dados de localização e critérios de mapa, como indicado em uma primeira etapa 6:1, onde os dados de localização e os critérios de mapa podem ter sido ou fornecidos manualmente no dispositivo de usuário, ou gerados automaticamente pelo cliente, ou por uma combinação de ambos.
[0096] Em resposta a reconhecer os dados de localização e os critérios de mapa, uma solicitaçãoo por metadados de mapa e montada e transmitida para o servidor de mapas ou juntamente com os dados de localização, ou como mensagem separadas, como indicado em uma etapa subsequente 6:2.
[0097] Se a solicitaçãoo resulta em nenhum metadado de mapa correspondente sendo encontrado no banco de dados de metadados de mapa, o dispositivo de usuário recebera os critérios de mapa disponíveis como alternativa aos metadados de mapa, como indicado em uma etapa 6:4, e os critérios de mapa recuperados são disponibilizados para o dispositivo de usuário, de modo que um ou mais dos critérios de mapa possam ser selecionados, ou por um usuário final, ou automaticamente, como indicado na etapa 6:5. Os critérios de mapa disponíveis podem ser obtidos, por exemplo, como indicado na etapa 5:4 da Figura 5. Tipicamente o processamento compreende a apresentação dos critérios de mapa disponíveis para o usuário final, de modo que o usuário final possa selecionar facilmente como proceder na pesquisa iniciada, caso uma pesquisa manual esteja sendo executada. No caso de uma pesquisa automática executada por um cliente do dispositivo de usuário, será executado um algoritmo otimizado para obter os metadados de mapa disponíveis mais uteis sob as circunstancias presentes. Este processo automatizado também pode incluir o início de um subprocesso manual, de modo que se o processo automatizado não resultar no resultado esperado, um diálogo manual possa começar onde o usuário final continua entrando novos dados para uma nova solicitaçãoo. Alternativamente, o dispositivo de usuário pode receber somente uma indicação de que não foi encontrado nenhum metadado de mapa correspondente, depois do que uma nova solicitaçãoo pode ser fornecida para o servidor de mapas a partir do dispositivo de usuário, sem que o dispositivo de usuário seja notificado de quaisquer critérios de mapa disponíveis, ou caso contrário o processamento pode ser terminado.
[0098] Se, em vez disso a solicitaçãoo, a qual pode ser uma solicitaçãoo repetida, resulta em uma correspondência entre metadados de mapa e os critérios de mapa, como executado na etapa 6:3, o dispositivo de usuário recebera os metadados de mapa correspondentes, como indicado em outra etapa 6:6, e os metadados de mapa obtidos podem ser processados adequadamente, de modo que os mesmos sejam disponibilizados no dispositivo de usuário para seleção manual ou automática de um ou mais mapas, como indicado em uma etapa subsequente 6:7.
[0099] Uma vez que os metadados de mapa tenham sido disponibilizados para formar uma base para uma seleção e solicitaçãoo de um ou mais mapas a partir do servidor de mapas, pode ocorrer uma seleção, como indicado em uma próxima etapa 6:8, e o mapa solicitado e recebido subsequentemente em outra etapa 6:9, antes do processamento ser terminado, como indicado em uma etapa final 6:10.
[00100] Os métodos descritos acima contam ambos com metadados de mapa e dados de mapa associados disponíveis, e mantidos atualizados em bancos de dados respectivos, a partir de onde os mesmos são disponibilizados através do servidor de mapas. Agora um método para montar e gerenciar estes dados a partir de várias fontes será descrito em detalhe adicional abaixo, com referência a Figura 7. O método para montar e gerenciar metadados de mapa e dados de mapa e executado aqui por um mecanismo de processamento de mapas, tal como aquele mencionado acima com referência a Figura 2, ou por qualquer outro servidor que tenha funcionalidade correspondente. O método para A Figura 7 e configurado tipicamente como um processo que e repetido de modo que os dados de mapa e metadados de mapa sejam atualizados continuamente sempre que novos dados estiverem disponíveis em qualquer fonte de dados conectada. Está ocorrência e determinada em uma primeira etapa 7:1 do processo.
[00101] De acordo com uma modalidade, a atualização pode ser repetida em um intervalo de tempo pré-definido, de modo que fontes disponíveis sejam consultadas repetidamente por dados atualizados, ou dados atualizados sejam movidos para o mecanismo de processamento de mapas em intervalos de tempo regulares.
[00102] De acordo com outra modalidade, a atualização e controlada por um ou mais eventos de acionamento pré-definidos, tais como, por exemplo, a adição ou atualização de um novo mapa em uma fonte de dados de mapas, ou de novas estatísticas de usuário em uma fonte de metadados de mapa. Alternativamente, pode ser aplicada uma combinação das duas alternativas.
[00103] Em uma próxima etapa 7:2, dados atualizados relacionados a mapa, ou seja, metadados de mapa e/ou dados de mapa são recuperados pelo mecanismo de processamento de mapas, que processa os dados recuperados convertendo os dados do formato proprietário usado para um formato comum, como indicado em uma próxima etapa 7:3. Deste modo, podem ser usados dados relacionados a mapa originados a partir de fornecedores diferentes que podem usar formatos diferentes. Para este propósito pode ser selecionado qualquer tipo de formato que seja adequado para armazenar dados relacionados a mapa.
[00104] Um formato possível e, por exemplo, Mapa de Ruas Aberto que e descrito em http://wiki.openstreetmap.org/wiki/IndoorMapping, enquanto outro formato que pode ser usado como um formato comum e o KLM, descrito em http://code.google.com/apis/kml/documentation/kml_tut.html).
[00105] Em caso de dados de mapa recuperados, quaisquer metadados de mapa rotulados então são extraídos a partir dos dados de mapa, como indicado em uma etapa subsequente 7:4. Metadados de mapa que para extrair a partir dos dados de mapa são baseados tipicamente em uma lista, cujo conteúdo pode tipicamente diferir entre vários tipos de mapas e pode incluir dados, tais como, por exemplo, a data de criação, o autor, direitos de acesso, tamanho dos dados, nome do mapa, língua suportada, tipo de mapa, POIs incluídos e/ou palavras chave ou rótulos identificados nos dados de mapa.
[00106] Alternativamente, o procedimento de atualização descrito pode incluir apenas uma atualização de metadados de mapa, caso em que a etapa 7:1 e seguida pela etapa 7:5,
[00107] A etapa 7:5 ilustra como pode ser executada uma verificação para determinar se quaisquer metadados de mapa externos estão disponíveis em associação com a atualização de dados de mapa / metadados de mapa. Se este for o caso, metadados de mapa relevantes externos são extraídos, como indicado na etapa subsequente 7:6.
[00108] Uma vez que pelo menos algum tipo de dados relacionados a mapa tenha sido extraído, como sugerido acima, os dados relacionados a mapa são compilados de modo que quaisquer metadados de mapa extraídos estejam mapeados ou ligados a dados de mapa associados, como indicado em uma etapa 7:7, onde os dados de mapa relacionados podem ser dados de mapa atualizados, ou dados de mapa recuperados previamente. Uma vez que a compilação dos dados recuperados tenha sido executada com sucesso, resultado em uma ligação entre metadados de mapa e dados de mapa associados, os dados de mapa são armazenados em um banco de dados de mapas e quaisquer metadados de mapa associados são armazenados em um banco de dados de metadados de mapa, de modo que os dados respectivos sejam disponibilizados através de um servidor de mapas conectado aos dois bancos de dados.
[00109] Uma vez que diferentes tipos de dados podem ser atualizados de acordo com regras de atualização diferentes, deve ser entendido que uma pluralidade de processos de atualização, tais como aquele descrito acima, com referencia a Figura 7, podem ser executados em paralelo, de modo que, por exemplo, um ou mais processos sejam rodados para cada fonte de dados. Deste modo, o banco de dados de mapas e o banco de dados de metadados de mapa podem ambos ser mantidos atualizados com os últimos dados relacionados a mapa.
[00110] Como já mencionado acima, uma vantagem com o mecanismo de fornecimento de mapa descrito e que o acesso a uma pluralidade de mapas, que podem ser fornecidos a partir de uma pluralidade de fornecedores e fornecido a partir de um único ponto de acesso, que no contexto descrito e referenciado como um servidor de mapas. Uma configuração possível deste servidor será descrita agora em detalhe adicional abaixo com referência a Figura 8.
[00111] O servidor de mapas 28 compreende um processador 80 que e conectado a uma memória 81a que e capaz de armazenar um programa de computador 82, composto de instruções, na forma de código legível por computador, que quando executado pelo processador 80 faz com que o processador 80 execute um processo, que pode ser referenciado como um processo ou método de recuperação de mapa, tal como o método descrito acima com referência a Figura 5. O processador 80 pode, por exemplo, ser um DSP (Processador de Sinal Digital) ou uma CPU (Unidade de Processamento Central). Alternativamente, uma pluralidade de processadores pode ser capaz de executar o processo descrito.
[00112] ILUSTRAÇÃO O servidor de mapas 28 também compreende meios de comunicação que permitem comunicação entre o servidor de mapas 28, o banco de dados de mapas, o banco de dados de metadados de mapa e dispositivos de usuário (não mostrados). na Figura 8 estes meios de comunicação são representados pelos meios de comunicação 88 e 89, mas, alternativamente, outra quantidade de meios de comunicação pode ser usada, dependendo das capacidades acesso do servidor de mapas. Qualquer tipo adequado de meios de comunicação pode ser usado, mas a título de exemplo, podem ser fornecidos meios de comunicação capazes de fornecer acesso ao banco de dados de mapas e ao banco de dados de metadados de mapa, por exemplo, aplicando uma plataforma Java EE, enquanto que, por exemplo, os meios de comunicação podem ser configurados para fornecer acesso aos dispositivos de usuário sobre HTTP.
[00113] O programa de computador 82 e tipicamente dividido em um ou mais módulos. As instruções armazenadas no servidor de mapas 28 são configuradas de modo que quando executadas pelo processador 80 as mesmas fazem com que o processador 80 pesquise por metadados de mapa que correspondem aos dados de localização e aos critérios de mapa em um banco de dados de mapas acessível ao servidor de mapas 28, em consequência de reconhecer metadados de mapa e dados de localização, recebidos de um dispositivo de usuário através de qualquer dos meios de comunicação 88,89 ou como uma solicitaçãoo separada ou fornecida em duas mensagem separadas. A correspondência pode ser referenciada como um processo de filtragem onde são filtrados os metadados de mapa associados a dada localização e associados aos dados critérios de mapa.
[00114] De acordo com uma modalidade, o servidor de mapas da Figura 8 compreende um módulo, referenciada como um módulo de recuperação de metadados 84, que hospeda estás instruções adicionalmente as instruções capazes de instruir o processador 80 a recuperar, em caso de pelo menos uma correspondência entre os metadados de mapa, os dados de localização e os critérios de mapa, a partir de um banco de dados de metadados de mapa, metadados de mapa associados a cada mapa correspondente, e fornecer os metadados de mapa recuperados para o dispositivo de usuário. Um módulo de recuperação de dados de mapa 85 compreende instruções para fazer com que o processador 80 recupere dados de mapa a partir de um banco de dados de mapas em resposta ao servidor de mapas 28 ter recebido está solicitaçãoo através de qualquer dos meios de comunicação disponíveis 88,89. O processador 80 também pode ser capaz de executar instruções para recuperar os critérios de mapa disponíveis, em caso de uma solicitação por metadados de mapa não resultar em uma correspondência. Estás instruções podem ser armazenadas em um módulo, referenciado como um módulo de recuperação de critérios de mapa 86.
[00115] O servidor de mapas 28 tipicamente também compreendera um API, que é adaptada para permitir acesso amigável para o usuário ao serviço de mapa descrito. Está API pode, por exemplo, ser referenciada como uma API de mapa interna comum 87, uma vez que a aplicação apresentada e adequada para gerenciar a seleção de mapas internos. A API 87 pode, por exemplo, ser uma Interface de Programação de Aplicação Agradável. Adicionalmente, o servidor de mapas 28 pode compreender uma memória adicional 81b que pode conter listas, que listam os critérios de mapa que são disponíveis para varias aplicações, para serem usadas quando uma solicitaçãoo não resultar em nenhuma correspondência. Alternativamente, estás listas podem ser armazenadas em memória 81a. A memória 81a pode ser uma memória estacionaria, ou, uma memória não volátil, tal como, por exemplo, uma memória flash, uma EEPROM (Memória Somente de Leitura Programável e Apagável Eletricamente) que faz parte de um produto de programa de computador 82, ou uma memória, legível por um controlador de disco, que e contestável ao processador 80.
[00116] Agora será descrito em detalhe com referência a Figura 9 um dispositivo de usuário que e capaz de hospedar um cliente capaz de fornecer funcionalidade de seleção de mapa correspondente aquela descrita acima através de um servidor de mapas, tal como aquele descrito acima com referência a Figura 8. Sem qualquer Limitação, o dispositivo de usuário que pode ser usado para selecionar mapas como sugerido acima pode, por exemplo, ser qualquer um de: um telefone móvel, que pode tipicamente ser um telefone inteligente, um tablet, um desktop, um laptop, um computador portátil, um gravador de vídeo pessoal, um reprodutor multimídia, um decodificador de sinais, uma TV, um computador, ou qualquer outro tipo de entidade em que um cliente seja capaz de acessar um servidor de mapas.
[00117] O dispositivo de usuário 22 da Figura 9 compreende um processador 90 e uma memória 91a que e capaz de armazenar um programa de computador 92 composto de instruções, na forma de código legível por computador, que quando executado pelo processador 90 faz com que o processador 90 execute um processo ou método que corresponde ao método descrito acima com referência a Figura 6. O processador 90 pode, por exemplo, ser um DSP ou uma CPU. Alternativamente, uma pluralidade de processadores pode ser capaz de executar o método descrito.
[00118] O programa de computador 92, que e tipicamente disposto como compreendendo um ou mais módulos, e disposto de modo que quando executado pelo processador 90 as instruções do programa de computador 92 façam com que o processador 90 reconheça dados de localização, que especificam a localização do dispositivo de usuário 22, e os critérios de mapa, que especificam pelo menos uma condição para selecionar um mapa para transmitir os critérios de mapa e dados de localização, ou em uma solicitação ou separadamente, para um servidor de mapas capaz de acessar mapas a partir de um banco de dados de mapas, para, deste modo, iniciar uma pesquisa por metadados de mapa que correspondem aos dados de localização e aos critérios de mapa no servidor de mapas, e receber do servidor de mapas metadados de mapa associados a cada correspondência, em caso de pelo menos uma correspondência entre os dados de localização e os critérios de mapa.
[00119] Estás instruções podem, de acordo com uma modalidade, ser contidas em um módulo de solicitação de metadados de mapa 94, como sugerido na Figura 9. O processador 90 também e configurado para obter dados de mapa em resposta a receber uma solicitaçãoo por dados de mapa, após os metadados de mapa terem sido fornecidos para o dispositivo de usuário 22. Para este propósito A Figura 9 também e dotada de um módulo de seleção de mapa 95 contendo estás instruções.
[00120] O programa de computador 92 pode ser configurado como um produto de programa de computador 93, onde a memória 91a e uma memória não volátil, tal como, por exemplo, uma memória flash ou uma EEPROM, que e conectável ao processador 90.
[00121] O dispositivo de usuário 22 também compreende meios de comunicação para habilitar comunicação entre o dispositivo de usuário 22 e um servidor de mapas bem como entre o dispositivo de usuário 22 e um Servidor de Realimentação de Informação de Uso ou qualquer outro servidor capaz de coletar dados associados a utilização de mapa relacionado as aplicações, por exemplo, através de HTTP. na Figura 9, estes meios são representados pelos meios de comunicação 96 e 97. Adicionalmente, o dispositivo de usuário 22 também compreende uma UI (interface de usuário) 98, que pode ser qualquer tipo de UI que permita que um usuário inicie e execute um processo para selecionar um ou mais mapas, tal como aquele descrito acima, que pode incluir um diálogo estabelecido entre o dispositivo de usuário e o servidor de mapas. O dispositivo de usuário 22 também compreende um visor 99 para apresentar os metadados de mapa recebidos, os dados de mapa, bem como as instruções associadas a diálogos configurados para assistir um usuário final a fazer a escolha ótima durante a seleção de metadados de mapa e mapas.
[00122] O módulo de solicitaçãoo de metadados de mapa 94 também pode compreender instruções que quando rodadas pelo processador fazem com que o processador receba os critérios de mapa relevantes para a localização indicada a partir do servidor de mapas ou a partir de dados de localização de recuperação a partir de quaisquer meios adequados para fornecer está informação, tal como, por exemplo, um GPS (não mostrado), e processar os critérios de mapa relevantes adequadamente de modo que um usuário final possa repetir uma solicitaçãoo por metadados de mapa com base nos dados de localização e qualquer dos critérios de mapa relevantes, em caso de uma solicitaçãoo previa por metadados de mapa não resultar em nenhuma correspondência.
[00123] Além disso, qualquer dos módulos mencionados pode compreender instruções que quando executadas pelo processador 90 fazem com que o processador 90 inicie um diálogo entre o dispositivo de usuário 22 e o servidor de mapas subsequente a reconhecer uma correspondência, para, deste modo, habilitar um usuário final do dispositivo de usuário 22 a interagir na seleção de mapas através do diálogo estabelecido. Estás instruções podem, por exemplo, ser executadas em consequência de reconhecer a ocorrência de pelo menos um evento pré-definido de acionamento de diálogo.
[00124] Adicionalmente, a memória 91a, ou qualquer outra memória separada, aqui representada pela memória 91b, pode ser configurada para armazenar os critérios de mapa disponíveis para as respectivas aplicações.
[00125] A fim de ser capaz de fornecer dados de mapa e metadados de mapa, e solicitado um servidor capaz de coletar e gerenciar estes dados. Agora será descrito em detalhe adicional com referência a Figura 10 um mecanismo de processamento de mapas adequado para gerenciar estás tarefas.
[00126] O mecanismo de processamento de mapas 21 que pode, por exemplo, ser implementado em um servidor Glassfish, compreende um processador 100 e uma memória 101 que e capaz de armazenar um programa de computador 102, composto de instruções, na forma de código legível por computador, que quando executado pelo processador 100 faz com que o processador 100 execute um processo ou método de atualização que corresponde ao método descrito acima com referência a Figura 7. O processador 100 pode, por exemplo, ser um DSP ou uma CPU. Alternativamente, uma pluralidade de processadores pode ser capaz de executar o método descrito.
[00127] O programa de computador 102 tipicamente compreende um ou mais módulos. De acordo com uma modalidade, o programa de computador e capaz de fazer com que o processador 100 recupere dados de mapa atualizados ou novos, a partir de pelo menos uma fonte de dados de mapas executando instruções contidas em um módulo, aqui referenciado como um módulo de recuperação de dados de mapa 104, para ativar as instruções de um módulo de conversão de dados 105 para converter os dados de mapa recuperados para um formato de dados comum, e para ativar um módulo de extração de metadados de mapa 106 para extrair seletivamente, a partir de pelo menos uma de uma fonte de metadados de mapa e a fonte de dados de mapas, metadados de mapa associados a dados de mapa recuperados. Um módulo de mapeamento 107 mantem instruções que quando ativadas pelo processador 100 fazem com que o processador 100 mapeie metadados de mapa obtidos com dados de mapa associados, enquanto que um módulo de armazenamento 108 mantem instruções, que são capazes de instruir o processador 100 para armazenar dados mapeados relacionados a mapa em um respectivo banco de dados. Durante o mapeamento os metadados de mapa são compilados de modo que os mesmos posteriormente sejam pesquisáveis através de várias combinações dos critérios de mapa.
[00128] A compilação de metadados de mapa pode compreender a construção de conjuntos de sequencias de texto que são associadas a um respectivo mapa de modo que as mesmas possam posteriormente ser usadas para pesquisa livre de texto dos mapas armazenados. Estás sequencias de texto podem conter qualquer tipo de dados, mas exemplos típicos podem, por exemplo, ser "emergência", "incêndio", "centro comercial", "McDonalds", ou "Conferencia". Alternativamente os metadados de mapa podem compreender um conjunto de atributos específicos que são determinados. Estes atributos podem ser qualquer tipo de informação e são configurados de acordo com os tipos de consultas que o sistema deve ser capaz de manipular. Exemplos típicos incluem "data de criação=2011-10-25", "fornecedor de mapas=Ericsson", e "hora do dia valida=08:00-17:00". Ambas as sequencias de texto e os atributos especificados podem ou ser determinados manualmente ou extraídos automaticamente dos dados de mapa ou de qualquer outra fonte externa.
[00129] O programa de computador 102 pode ser armazenado em uma memória 91a que pode ser uma memória estácionaria ou uma memória que faz parte de um produto de programa de computador 103, onde, no último caso, a memória 91a pode ser uma memória não volatil, tal como, por exemplo, uma memória flash, uma EEPROM, ou uma memória legfvel por um controlador de disco que e conectado ao processador 100.
[00130] Adicionalmente, o mecanismo de processamento de mapas 21 compreende meios de comunicação, aqui representados pelos meios de comunicação 109 e 110. Pode ser usado qualquer tipo de meio de comunicação que permita que o mecanismo de processamento de mapas se comunique com a fonte de metadados de mapas e com as fontes de dados de mapas. A título de exemplo, podem ser usados meios de comunicação que permitem que o mecanismo de processamento de mapas 21 se comunique com as fontes de dados de mapas através de, por exemplo, Java EE e/ou HTTP.
[00131] As instruções contidas nos dados do módulo de recuperação de mapa 104 podem ser configuradas para fazer com que o processador 100 recupere repetidamente dados de mapa e/ou metadados de mapa novos ou atualizados em um intervalo de tempo pré-definido, em consequência de reconhecer a ocorrência de pelo menos um evento pré-definido de acionamento de mapa. Alternativamente pode ser aplicada uma combinação das duas alternativas. Fontes diferentes também podem ser atualizadas de formas diferentes, executando processos de atualização separados em paralelo.
[00132] Deve ser entendido que todas as modalidades de implementação sugeridas acima devem ser vistas como exemplos de possíveis implementações simplificados não limitantes, onde software e/ou hardware que podem normalmente ser incluídos neste tipo de servidores podem ter sido omitidos a menos que julgados necessários para ilustrar funcionalidade diretamente associada a manipulação de dados relacionados a mapa como descrito nas modalidades expostas acima.
[00133] Também deve ser entendido que a nomeação de entidades, tais como, por exemplo, mecanismo de processamento de mapas, servidor de mapas e servidor de realimentação de informação de uso, bem como módulos, tais como, por exemplo, módulo de recuperação de dados de mapa e módulo de extração de metadados devem ser vistos como exemplos não limitantes que podem ser substituídos por entidades ou módulos alternativos que forneçam a funcionalidade correspondente.
[00134] Além disso, as disposições de módulos descritos acima que são configurados para interagir adequadamente servem meramente como exemplos não limitantes de como a funcionalidade das respectivas unidades pode ser disposta. Outras configurações e combinações alternativas podem substituir aquelas sugeridas desde que possa ser obtida funcionalidade correspondente.

Claims (13)

1. Método executado em um servidor de mapas para habilitar seleção de mapas em um dispositivo de usuário, caracterizado pelo fato de que compreende: receber (5:1), do dispositivo de usuário, uma solicitação por metadados de mapa, em que a solicitação compreende pelo menos um critério de mapa, que especifica pelo menos uma condição de seleção de mapa, e dados de localização, que indicam a localização do dispositivo de usuário; pesquisar (5:2), em um banco de dados de metadados de mapa, por metadados de mapa que correspondam aos dados de localização recebidos e ao pelo menos um critério de mapa; recuperar (5:6), a partir do banco de dados de metadados de mapa, metadados de mapa associados a pelo menos um mapa, no caso de pelo menos uma correspondência (5:3) entre os metadados de mapa, os dados de localização e o pelo menos um critério de mapa, e, caso contrário, não havendo correspondência entre os metadados de mapa, os dados de localização e o pelo menos um critério de mapa: recuperar critérios de mapa disponíveis para o local indicado, o servidor de mapa que fornece os critérios de mapa disponíveis para o dispositivo do usuário, receber, do dispositivo do usuário, uma solicitação repetida para metadados do mapa, em que a solicitação compreende pelo menos um critério de mapa, selecionado pelo dispositivo do usuário a partir dos critérios de mapa disponíveis, e recuperar metadados do mapa associados a pelo menos um mapa com base no pelo menos um critério de mapa selecionado e nos dados de localização; fornecer (5:7) os metadados de mapa recuperados para o dispositivo de usuário, deste modo, habilitando o dispositivo de usuário a selecionar automaticamente, a partir de um banco de dados de mapas, através do servidor de mapas, pelo menos um mapa, pelo menos parcialmente com base nos metadados de mapa recuperados; receber (5:8), do dispositivo de usuário, uma solicitação por um mapa selecionado; obter (5:9) o mapa solicitado a partir do banco de dados de mapas, e fornecer (5:10) o mapa selecionado para o dispositivo de usuário.
2. Método executado por um dispositivo de usuário para recuperar mapas a partir de um servidor de mapas, caracterizado pelo fato de que compreende: reconhecer (6:1) dados de localização, que especificam a localização do dispositivo de usuário, e pelo menos um critério de mapa, que especifica pelo menos uma condição de seleção de mapa; transmitir (6:2), para um servidor de mapas capaz de acessar mapas a partir de um banco de dados de mapas, uma solicitação por metadados de mapa, em que a solicitação compreende o pelo menos um critério de mapa, e os dados de localização, deste modo, iniciando, no servidor de mapas, uma pesquisa por metadados de mapa que correspondam aos dados de localização e ao pelo menos um critério de mapa; receber (6:6), do servidor de mapas, em resposta a não haver correspondência entre os dados de localização e o pelo menos um critério de mapa na solicitação e os metadados de mapa no servidor de mapa, critério de mapa disponível para a localização indicada; reconhecer (6:5) pelo menos um critério de mapa selecionado a partir do critério de mapa disponível; transmitir uma solicitação repetida (6:2) por metadados de mapa com base nos dados de localização e no pelo menos um critério de mapa selecionado; receber, a partir do servidor de mapa, metadados de mapa associado com pelo menos um mapa; selecionar, pelo menos parcialmente com base nos metadados de mapa recebidos, e solicitar (6:8) do servidor de mapas, pelo menos um mapa, e receber (6:9) o pelo menos um mapa solicitado do servidor de mapas.
3. Método, de acordo com a reivindicação 2, caracterizado pelo fato de que compreende a etapa adicional de, subsequentemente a receber metadados de mapa, processar (6:7) os metadados de mapa, e iniciar um diálogo entre o dispositivo de usuário e o servidor de mapas, deste modo, habilitando um usuário do dispositivo de usuário a interagir com o servidor de mapas e a selecionar e solicitar (6:8) pelo menos um mapa através do diálogo.
4. Método, de acordo com a reivindicação 2, caracterizado pelo fato de que compreende a etapa adicional de, subsequentemente a receber metadados de mapa correspondentes, processar (6:7) os metadados de mapa de modo que pelo menos um mapa possa ser selecionado automaticamente e solicitado (6:8) pelo dispositivo de usuário.
5. Servidor de mapas (28), caracterizado pelo fato de que compreende: um processador (80) e uma memória (81a) operacionalmente conectada ao processador e que armazena instruções legíveis por computador que, quando executadas pelo processador (80), fazem com que o processador (80): reconhecer uma solicitação por metadados de mapa, recebida a partir de um dispositivo de usuário, em que a solicitação compreende pelo menos um critério de mapa que especifica pelo menos uma condição de seleção de mapa, e dados de localização, que indicam a localização do dispositivo de usuário; pesquisar, em um banco de dados de mapas acessível ao servidor de mapas, por metadados de mapa que correspondam aos dados de localização e ao pelo menos um critério de mapa; recuperar, a partir de um banco de dados de metadados de mapa, metadados de mapa associados a pelo menos um mapa, no caso de pelo menos uma correspondência entre os metadados de mapa, os dados de localização e o pelo menos um critério de mapa; e caso contrário, em resposta a não encontrar correspondência entre os metadados de mapa, os dados de localização e o pelo menos um critério de mapa: recuperar critérios de mapa disponíveis para o local indicado, enviar os critérios de mapa para o dispositivo do usuário, receber, do dispositivo do usuário, uma solicitação repetida para metadados do mapa, em que a solicitação compreende pelo menos um critério de mapa, selecionado pelo dispositivo do usuário a partir dos critérios de mapa disponíveis, e recuperar metadados do mapa associados a pelo menos um mapa com base no pelo menos um critério de mapa selecionado e nos dados de localização; fornecer os metadados de mapa recuperados para o dispositivo de usuário; receber, do dispositivo de usuário, uma solicitação por pelo menos um mapa, selecionado pelo menos parcialmente com base nos metadados de mapa; obter, a partir de um banco de dados de mapas, o pelo menos um mapa solicitado, e fornecer o pelo menos um mapa solicitado para o dispositivo de usuário.
6. Servidor de mapas, de acordo com a reivindicação 5, caracterizado pelo fato de que a memória (81a) armazena instruções legíveis por computador que, quando executadas pelo processador (80), fazem com que o processador (80) torne uma Interface de Programação de Aplicação (86) acessível ao dispositivo de usuário, deste modo, habilitando o dispositivo de usuário a se comunicar com o servidor de mapas e solicitar metadados de mapa e mapas através da Interface de Programação de Aplicação (87).
7. Servidor de mapas, de acordo com a reivindicação 6, caracterizado pelo fato de que a Interface de Programação de Aplicação (87) é uma Interface de Programação de Aplicação Agradável.
8. Meio de armazenamento não transitório legível por computador, caracterizado pelo fato de que compreende instruções legíveis por computador que, quando lidas por um processador (80) de um servidor de mapas, fazem com que o processador (80) realiza as etapas de: reconhecer uma solicitação por metadados de mapa, recebida de um dispositivo de usuário, em que a solicitação compreende pelo menos um critério de mapa, que especifica pelo menos uma condição de seleção de mapa, e dados de localização, que indicam a localização do dispositivo de usuário; pesquisar, em um banco de dados de mapas acessível ao servidor de mapas, por metadados de mapa que correspondam aos dados de localização e ao pelo menos um critério de mapa; recuperar, a partir de um banco de dados de metadados de mapa, metadados de mapa associados a pelo menos um mapa, no caso de pelo menos uma correspondência entre os metadados de mapa, os dados de localização e o pelo menos um critério de mapa; e caso contrário, em resposta a não haver correspondência entre os metadados de mapa, os dados de localização e o pelo menos um critério de mapa: recuperar critérios de mapa disponíveis para o local indicado, enviar os critérios de mapa para o dispositivo do usuário, receber, do dispositivo do usuário, uma solicitação repetida para metadados do mapa, em que a solicitação compreende pelo menos um critério de mapa, selecionado pelo dispositivo do usuário a partir dos critérios de mapa disponíveis, e recuperar metadados do mapa associados a pelo menos um mapa com base no pelo menos um critério de mapa selecionado e nos dados de localização; fornecer os metadados de mapa recuperados para o dispositivo de usuário; receber, do dispositivo de usuário, uma solicitação por pelo menos um mapa, selecionado pelo menos parcialmente com base nos metadados de mapa; obter, a partir de um banco de dados de mapas, o pelo menos um mapa solicitado, e fornecer o pelo menos um mapa solicitado para o dispositivo de usuário.
9. Dispositivo de usuário (22), caracterizado pelo fato de que compreende: um processador (90) e uma memória (91) operativamente conectada ao processador e armazenando instruções que, quando executadas pelo processador (90) fazem com que o processador (90): reconheça dados de localização, que especificam a localização do dispositivo de usuário (22), e pelo menos um critério de mapa, que especifica pelo menos uma condição de seleção de mapa; transmita, para um servidor de mapas capaz de acessar mapas a partir de um banco de dados de mapas, uma solicitação por metadados de mapa relacionados a mapa, em que a solicitação compreende o pelo menos um critério de mapa, e os dados de localização, deste modo, iniciando, no servidor de mapas, uma pesquisa por metadados de mapa que correspondam aos dados de localização e ao pelo menos um critério de mapa; receber, do servidor de mapas, em resposta a não haver correspondência entre os dados de localização e o pelo menos um critério de mapa na solicitação e os metadados de mapa no servidor de mapa, critério de mapa disponível para a localização indicada; reconhecer (6:5) pelo menos um critério de mapa selecionado a partir do critério de mapa disponível; transmitir uma solicitação repetida (6:2) por metadados de mapa com base nos dados de localização e no pelo menos um critério de mapa selecionado; receber, a partir do servidor de mapa, metadados de mapa associado com pelo menos um mapa; selecionar, pelo menos parcialmente com base nos metadados de mapa recebidos, e solicitar do servidor de mapas, pelo menos um mapa, e receber o pelo menos um mapa solicitado do servidor de mapas.
10. Dispositivo de usuário (22), de acordo com a reivindicação 9, caracterizado pelo fato de que a memória (91a) adicionalmente armazena instruções que, quando executadas pelo processador (90), fazem com que o processador (90) processe os metadados de mapa e inicie um diálogo entre o dispositivo de usuário (22) e o servidor de mapas subsequentemente a receber metadados de mapa, deste modo, habilitando um usuário final do dispositivo de usuário (22) a interagir com o servidor de mapas e a selecionar e solicitar pelo menos um mapa através do diálogo.
11. Dispositivo de usuário (22), de acordo com a reivindicação 10, caracterizado pelo fato de que a memória armazena instruções que, quando executadas pelo processador (90), fazem com que o processador (90) inicie o diálogo ao reconhecer a ocorrência de pelo menos um evento de acionamento de diálogo pré-definido.
12. Dispositivo de usuário (22), de acordo com a reivindicação 10, caracterizado pelo fato de que o dispositivo de usuário é qualquer um de: um telefone móvel, um telefone inteligente, um tablet, um computador de mesa, um laptop, um computador portátil, um reprodutor multimídia, um decodificador de sinais, uma TV e um computador.
13. Meio de armazenamento não transitório legível por computador, caracterizado pelo fato de que compreende instruções legíveis por computador que, quando executadas em um processador de um dispositivo de usuário, fazem com que o processador (90): reconheça dados de localização, que especificam a localização do dispositivo de usuário (22), e pelo menos um critério de mapa, que especifica pelo menos uma condição de seleção de mapa; transmita, para um servidor de mapa capaz de acessar mapas a partir de um banco de dados de mapas, uma solicitação por metadados de mapa relacionados a mapa, em que a solicitação compreende o pelo menos um critério de mapa, e os dados de localização, deste modo, iniciando, no servidor de mapas, uma pesquisa por metadados de mapa que correspondam aos dados de localização e ao pelo menos um critério de mapa; receba, do servidor de mapas, em resposta a não haver correspondência entre os dados de localização e o pelo menos um critério de mapa na solicitação e os metadados de mapa no servidor de mapa, critério de mapa disponível para a localização indicada; reconhecer (6:5) pelo menos um critério de mapa selecionado a partir do critério de mapa disponível; e transmitir uma solicitação repetida (6:2) por metadados de mapa com base nos dados de localização e no pelo menos um critério de mapa selecionado; receber, a partir do servidor de mapa, metadados de mapa associado com pelo menos um mapa; selecione, pelo menos parcialmente com base nos metadados de mapa recebidos, e solicite, do servidor de mapas, pelo menos um mapa, e receba o pelo menos um mapa solicitado do servidor de mapas.
BR112014009652-0A 2011-11-01 2011-11-01 Método executado em um servidor de mapas para habilitar seleção de mapas em um dispositivo de usuário e recuperar mapas a partir de um servidor de mapas, servidor de mapas, dispositivo de usuário, meio de armazenamento não transitório legível por computador BR112014009652B1 (pt)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/SE2011/051299 WO2013066221A1 (en) 2011-11-01 2011-11-01 Methods and devices for providing, receiving or managing maps

Publications (2)

Publication Number Publication Date
BR112014009652A2 BR112014009652A2 (pt) 2017-05-09
BR112014009652B1 true BR112014009652B1 (pt) 2021-06-29

Family

ID=48192442

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112014009652-0A BR112014009652B1 (pt) 2011-11-01 2011-11-01 Método executado em um servidor de mapas para habilitar seleção de mapas em um dispositivo de usuário e recuperar mapas a partir de um servidor de mapas, servidor de mapas, dispositivo de usuário, meio de armazenamento não transitório legível por computador

Country Status (5)

Country Link
US (1) US10271175B2 (pt)
EP (1) EP2774057A4 (pt)
BR (1) BR112014009652B1 (pt)
IL (1) IL231999A (pt)
WO (1) WO2013066221A1 (pt)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8732697B2 (en) 2010-08-04 2014-05-20 Premkumar Jonnala System, method and apparatus for managing applications on a device
US20140280723A1 (en) * 2013-03-13 2014-09-18 Keertikiran Gokul System, method and apparatus for managing services and applications
US20160210669A1 (en) * 2015-01-17 2016-07-21 Alfred Xueliang Xin On-site sales and commercial search method and system
US20160171543A1 (en) * 2014-12-10 2016-06-16 Alfred Xueliang Xin On-site sales and new products advertisements search method and system
US10620967B2 (en) * 2015-11-18 2020-04-14 Lenovo (Singapore)Pte Ltd Context-based program selection
DE102017222810A1 (de) 2017-12-14 2019-06-19 Robert Bosch Gmbh Verfahren zum Erstellen einer merkmalbasierten Lokalisierungskarte für ein Fahrzeug unter Berücksichtigung charakteristischer Strukturen von Objekten
CN116756438A (zh) * 2023-07-20 2023-09-15 兰州交通大学 一种基于向量空间模型检索微地图的改进方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4476687B2 (ja) * 2004-05-07 2010-06-09 株式会社ナビタイムジャパン 携帯ナビゲーション端末および地図表示方法ならびにプログラム
US20070233734A1 (en) * 2006-04-03 2007-10-04 Sony Ericsson Mobile Communications Ab Enhanced use of map and map metadata
US8290943B2 (en) 2006-07-14 2012-10-16 Raytheon Company Geographical information display system and method
US7768395B2 (en) * 2007-01-19 2010-08-03 Gold Steven K Brand mapping
GB2456909A (en) * 2008-01-30 2009-08-05 Logined Bv Coordinate system identification
WO2009145609A1 (en) * 2008-05-27 2009-12-03 Tele Atlas B.V. Method of and apparatus for generating/processing a spatial-data-change message
KR20100006353A (ko) * 2008-07-09 2010-01-19 삼성전자주식회사 이동 통신 단말의 위치 안내 방법 및 장치
US20100235376A1 (en) * 2009-03-10 2010-09-16 Nokia Corporation Method and apparatus for on-demand content mapping
US8319772B2 (en) * 2010-07-23 2012-11-27 Microsoft Corporation 3D layering of map metadata
US9477664B2 (en) * 2011-10-31 2016-10-25 Nokia Technologies Oy Method and apparatus for querying media based on media characteristics

Also Published As

Publication number Publication date
WO2013066221A1 (en) 2013-05-10
EP2774057A4 (en) 2016-07-06
US10271175B2 (en) 2019-04-23
US20140274137A1 (en) 2014-09-18
EP2774057A1 (en) 2014-09-10
IL231999A0 (en) 2014-05-28
BR112014009652A2 (pt) 2017-05-09
IL231999A (en) 2017-05-29

Similar Documents

Publication Publication Date Title
BR112014009652B1 (pt) Método executado em um servidor de mapas para habilitar seleção de mapas em um dispositivo de usuário e recuperar mapas a partir de um servidor de mapas, servidor de mapas, dispositivo de usuário, meio de armazenamento não transitório legível por computador
AU2017269110B2 (en) Defining application programming interfaces (APIs) using object schemas
ES2765415T3 (es) Aparato, método y programa de procesamiento de datos basado en microservicios
US9400647B2 (en) Application discovery and integration using semantic metamodels
US8438190B2 (en) Generating web services from business intelligence queries
US10866828B2 (en) Extending object-schema-based application programming interfaces (APIs)
US20140165028A1 (en) Guiding correction of semantic errors in code using collaboration records
US20150160928A1 (en) Business object model layer interface
US9256890B1 (en) Framework for geolocation-based customer-to-product matching hosted in a cloud-computing environment
WO2014145084A1 (en) Methods for managing applications using semantic modeling and tagging and devices thereof
US8688752B2 (en) Method and system for deploying a model-based application to an application server
CN107515866B (zh) 一种数据操作方法、装置和系统
US20130124611A1 (en) Unified repository & tool infrastructure
US20130227147A1 (en) Systems and methods for creating web service compositions
US20180157686A1 (en) System and method for datastore management framework
JP2011243213A (ja) データ言語中の複数の言語の管理
US8914738B2 (en) Community-based web service user interface annotations
KR100964969B1 (ko) 소프트웨어 및 파일 포맷의 관계 정보를 제공하는 소프트웨어 포탈 시스템 및 그의 동작 방법
Shabani et al. Consuming Web Services on Android Mobile Platform for Finding Parking Lots
Nguyen Android Mobile Application for Tours Guide System
WO2023137085A1 (en) Automated discovery of real estate parcels using geographic information system data sources
KR101453205B1 (ko) 유피엔피 기반 서비스 발견 방법 및 그 장치
Umanets GuideMe: service for consulting, publication and recommendation of touristic locations
Rydland A mobile application for public art: Utilising smartphones and crowdsourcing to enable users to discover and learn about public art
Chen et al. Linking the GUI to a Database

Legal Events

Date Code Title Description
B25D Requested change of name of applicant approved

Owner name: TELEFONAKTIEBOLAGET LM ERICSSON (PUBL) (SE)

B06F Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]
B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 01/11/2011, OBSERVADAS AS CONDICOES LEGAIS.