[go: up one dir, main page]

BRPI0209171B1 - método e sistema para dispor a sincronização das bases de dados, dispositivo de telecomunicação, dispositivo de sincronização - Google Patents

método e sistema para dispor a sincronização das bases de dados, dispositivo de telecomunicação, dispositivo de sincronização Download PDF

Info

Publication number
BRPI0209171B1
BRPI0209171B1 BRPI0209171A BR0209171A BRPI0209171B1 BR PI0209171 B1 BRPI0209171 B1 BR PI0209171B1 BR PI0209171 A BRPI0209171 A BR PI0209171A BR 0209171 A BR0209171 A BR 0209171A BR PI0209171 B1 BRPI0209171 B1 BR PI0209171B1
Authority
BR
Brazil
Prior art keywords
synchronization
update
update identifier
stored
transport layer
Prior art date
Application number
BRPI0209171A
Other languages
English (en)
Other versions
BR0209171A (pt
Inventor
Ari Sutinen
Jussi Piispanen
Mikko Sahinoja
Riku Mettälä
Original Assignee
Nokia Corp
Nokia Technologies Oy
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 Nokia Corp, Nokia Technologies Oy filed Critical Nokia Corp
Publication of BR0209171A publication Critical patent/BR0209171A/pt
Publication of BRPI0209171B1 publication Critical patent/BRPI0209171B1/pt

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/275Synchronous replication
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99938Concurrency, e.g. lock management in shared database
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Telephonic Communication Services (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

"método e sistema para dispor a sincronização das bases de dados, dispositivo de telecomunicação, dispositivo de sincronização, e, programa de computador". método para dispor a sincronização das bases de dados, compreendendo os passos de estabelecer a conexão da camada de transporte para a sincronização entre o primeiro e o segundo dispositivo, que sincroniza as bases de dados, durante a inicialização da sincronização, o primeiro identificador de atualização, o qual é armazenado ao menos no primeiro dispositivo, descreve o último evento de sincronização que os dispositivos têm executado nas bases de dados, e o segundo identificador de atualização, que é definido pelo primeiro dispositivo, descreve a sincronização atual, os identificadores são transmitidos do primeiro dispositivo para o segundo dispositivo. o segundo identificador de atualização é armazenado no primeiro e no segundo dispositivo. os conteúdos dos primeiros identificadores de atualização armazenados no dispositivo são atualizados no primeiro e no segundo dispositivo se a sincronização tiver sido executada e, após a conexão da camada de transporte tiver sido terminada substancialmente e apropriadamente.

Description

"MÉTODO E SISTEMA PARA DISPOR A SINCRONIZAÇÃO DAS DAS IS DH DADOS, DISPOSITIVO Dl TELECOMUNICAÇÃO. H DISPOSITIVO DE SINCRONIZAÇÃO".
Campo da Invenção A invenção relaciona à sincronização de dados da base de dados no sistema de telecomunicação, particularmente para manutenção dos dados nos eventos de sincronização. A sincronização de dados é uma função, onde ao menos duas coleções de dados são feitas similares entre si, de forma que as unidades dc dados das coleções de dados subsluncialmenie correspondam entre si após a sincronização.
Descrição da Técnica Anterior Os dados dos terminais portáteis, tal como os computadores portáteis, os dispositivos PDA (Assistente Pessoal Digital), as estações móveis ou os pagers, podem ser sincronizados com as aplicações de rede. as aplicações dos computadores de mesa ou com outras bases de dados no sistema de telecomunicação. Em particular, os dados das aplicações de calendário e e-mail, são tipicamente sincronizados. O pedido EP 102 444 1 descreve um método de sincronização das bases de dados. O método compreende os dados de manutenção, o tempo da base de dados ter transmitido os registros para outra base de dados (tempo de transmissão), o tempo da base de dados ter recebido os registros de outra base de dados (tempo de recepção) e o tempo de cada registro na base de dados ter sido modificado (tempo de modificação). O registro é transmitido da primeira base de dados para a segunda base de dados, apenas se o registro do tempo de modificação for posterior ao tempo de transmissão e o tempo de modificação for anterior ao tempo de recepção. A sincronização tem sido baseada no liso de diferentes protocolos específicos do fabricante, os quais são incompatíveis. Este restringe o uso dos terminais ou dos tipos de dados, e frequentemente causa problemas para o usuário. Na comunicação móvel, em particular, é importante que os dados possam ser recuperados e atualizados indiferente do terminal ou da aplicação usados.
Para melhorar a sincronização dos dados de aplicação, a linguagem conhecida como SyncML (Linguagem de Marcação de Sincronização), a qual c baseada no XME (Linguagem de Marcação Extensível), tem sido desenvolvida. Ao usar o protocolo dc sincronização SyncML, que emprega as mensagens no formato SyncML, os dados de qualquer aplicação podem ser sincronizados entre os terminais em rede de qualquer tipo. O protocolo de sincronização SyncML opera em ambas as redes, sem fio e fixa, e suporta vários protocolos de transferência. A Figura 1 ilustra um exemplo de sincronização, no qual a estação móvel EM funciona como o terminal do cliente SyncML e o servidor de rede S funciona como o servidor SyncML. O serviço de sincronização SyncML compreende primeiro a inicialização da sessão de sincronização durante a qual, por exemplo, a base de dados a ser sincronizada é selecionada. O terminal EM do cliente SyncML compreende o Agente Cliente Sinc, que implementa o protocolo SyncML e envia a mensagem SyncML (Modificações do Cliente), que inclui ao menos os dados que são para serem sincronizados na estação móvel EM e que tem alterado após a última sincronização. O servidor SyncML S compreende o agente servidor sinc, que controla a sincronização e o bloco de sincronização (Máquina Sinc). O servidor usualmente espera por uma iniciativa para sincronização do cliente SyncML (EM). O servidor S sincroniza os dados, isto é, analisa as modificações feitas nas bases de dados e nos dados do terminal do cliente, e harmoniza este (faz as modificações necessárias, as substituições e as eliminações). Após isto, o servidor SyncML S envia as modificações do servidor de volta para o cliente SyncML (EM). O exemplo acima descrito é simples, mas este ilustra as regras dos dispositivos de acordo com o padrão SyncML. O terminal do cliente SyncML (EM) é tipicamente uma estação móvel, um PC (Computador Pessoal), um computador laptop, ou um dispositivo PDA. O servidor SyncML S é tipicamente um servidor de rede ou um PC. O sistema de acordo com o padrão SyncML emprega as ‘âncoras de sincronização’ associadas com as bases de dados. Estas são caracteres que descrevem um evento de sincronização em termos de data e hora, por exemplo. As âncoras de sincronização usadas são denominadas de ‘Última’ âncora e ‘Próxima’ âncora, sendo que a Última âncora representa o último evento, quando a base de dados foi sincronizada em relação ao dispositivo de transmissão e a Próxima âncora representa o evento de sincronização presente em relação ao dispositivo de transmissão. Os dispositivos transmitem as suas âncoras entre si durante a inicialização da sessão de sincronização, de forma que a Próxima âncora possa ser armazenada após a sessão de sincronização bem sucedida. Durante a próxima sincronização o dispositivo pode comparar a Próxima âncora armazenada com a Ultima âncora recebida, e se elas forem iguais, o dispositivo nota que nenhum erro tem ocorrido desde a última sincronização. Se as âncoras não forem iguais, é necessário executar a sincronização lenta, por exemplo, onde todas as unidades de dados nas bases de dados têm de ser comparadas com uma outra. Na prática, na sincronização lenta, o terminal do cliente transmite todos os dados da base de dados a ser sincronizados para o servidor SyncML, que analisa campo a campo os dados que este tem recebido e os dados de outra base de dados a serem sincronizados, ou altemativamente substitui todos os dados de outra base de dados a ser sincronizada com os dados que este tem recebido. No Protocolo de Sincronismo SyncML padrão, versão 1.0, Dezembro de 2000, que define o protocolo de sincronização SyncML, é indicado que as âncoras de sincronização não devem ser atualizadas até a sessão de sincronização ter terminado. A Figura 2 ilustra o uso das âncoras de sincronização. Neste exemplo o cliente SyncML (EM) e o servidor SyncML (S) sincronizam duas vezes (sessões de sincronização 1 e 2). A âncora (9.9.2001, 09:09:09 AM) da sessão de sincronização precedente (que precede a sessão de sincronização 1) relacionada às mesmas bases de dados é armazenada no servidor de sincronização S. Esta âncora era os conteúdos da Próxima âncora da sessão de sincronização precedente que foi armazenada como a Última âncora para a primeira sessão de sincronização 1. O cliente EM inicia a sessão de sincronização 1 em 10 de outubro de 2001 às 10:10:10 AM. Esta hora será a Próxima âncora para a sessão de sincronização 1. A EM transmite a Última âncora armazenada nesta e a Próxima âncora para o servidor S. Durante a sessão de sincronização 1 é desnecessário iniciar a sincronização lenta, porque as Últimas âncoras de sincronização se associam, isto é, a Última âncora (9.9.2001, 09:09:09 AM) na memória do S que corresponde a Última âncora recebida. Após, o servidor S ter transmitido um reconhecimento (OK), os dados podem ser sincronizados. O reconhecimento é preferivelmente uma mensagem de inicialização, que também compreende a Última e a Próxima âncora. Após, a sessão de sincronização 1 ter terminado, o S substitui a Última âncora precedente (9.9.2001, 09:09:09 AM) com os conteúdos da Próxima âncora (10.10.2001, 10.10.10 AM) na sua memória. A falha de transporte ocorre no exemplo, isto é, a EM não atualiza a Última âncora na sua memória. A falha de transporte pode ser um erro na conexão de transmissão, por exemplo. O S também pode desconectar imediatamente após este ter recebido a mensagem de sincronização, mas o cliente SyncML pode ainda permanecer esperando por um reconhecimento do servidor. Neste caso, a desconexão é uma falha de transporte do ponto de vista do cliente SyncML. Durante a inicialização da segunda sessão de sincronização a EM transmite a Última âncora não-atualizada (9.9.2001, 09:09:09 AM) e a Próxima âncora (11.11.2001, 11:11:11 AM) para o servidor S. O S nota que as Últimas âncoras não se associam, e então esta solicita a restauração, tipicamente a sincronização lenta. O problema relacionado ao padrão SyncML é que o momento de atualização dos identificadores de atualização que descrevem a sincronização (a âncora de sincronização no SyncML, ex. o protocolo de tempo) não tem sido definido corretamente. Dependendo da aplicação do fabricante, alguns dispositivos podem atualizar o identificador tão logo quanto as mensagens de sincronização tiverem sido enviadas, considerando outras realizações desta após a conexão usada para a sessão de sincronização ter sido desconectada. Como descrito no exemplo da Figura 2, alguns dispositivos não necessariamente atualizam o identificador em uma situação de erro, como resultado do qual as sincronizações lentas são executadas desnecessariamente. As sincronizações lentas são particularmente indesejáveis para o usuário porque elas levam muito tempo e tipicamente causam custos de transmissão de dados adicionais. O usuário pode também achar que a sincronização falhou porque a sincronização lenta leva muito tempo.
Breve Descrição da Invenção Um objeto da invenção é evitar o problema acima descrito e prover uma função tão uniforme quanto possível nos dispositivos que participam da sincronização. Os objetos da invenção são alcançados com um método, um sistema de telecomunicações, um dispositivo de sincronização, um dispositivo de telecomunicação, um programa de computador, que são caracterizados pelo que é descrito nas reivindicações independentes. As incorporações preferidas da invenção são descritas nas reivindicações dependentes. A invenção é baseada na atualização no primeiro dispositivo e no segundo dispositivo dos conteúdos dos primeiros identificadores de atualização, que descrevem a sincronização precedente e que são armazenados nos dispositivos, com os conteúdos do segundo identificador de atualização, os quais descrevem a presente sincronização, se a sincronização tiver sido executada e, após esta, a conexão da camada de transporte estabelecida para a sincronização ter sido finalizada apropriadamente e substancialmente. A camada de transporte geralmente refere a uma camada que provê a camada de aplicação de sincronização com a conexão de transmissão de dados lógica confiável (não necessariamente um protocolo da camada de transporte de acordo com o modelo OSI, tal como o TCP). A conexão da camada de transporte tem sido terminada apropriadamente quando o estabelecimento da comunicação relacionado à finalização de uma conexão tem sido executado de acordo com os passos definidos no padrão da camada de transporte, após o qual os dispositivos não esperam por quaisquer das mensagens da camada de transporte de cada outra. Os conteúdos atualizados do identificador de atualização são usados no próximo evento de sincronização. O termo ‘base de dados’ é para ser entendido como referindo a uma coleção de dados de qualquer fonte de dados ou armazenagem de dados que pode ser atualizada por uma ou mais aplicações. O identificador de atualização é qualquer identificador que é associado com o evento de sincronização das bases de dados, tipicamente um número seqüencial ou o protocolo de tempo. O primeiro identificador de atualização sempre representa o evento de sincronização que precede ao evento de sincronização atual. A atualização pode ser executada ao substituir um valor anterior com o novo valor ou ao usar uma solução seqüencial, isto é, ao adicionar o novo valor para os valores anteriores, após o qual o valor mais recente é sempre logicamente o primeiro identificador de atualização no próximo evento de sincronização. A disposição da invenção tem a vantagem de que os dispositivos, que suportam a invenção sempre atualizam os identificadores de atualização substancialmente e simultaneamente, permitindo minimizar as sincronizações lentas desnecessárias e evitar as desvantagens relacionadas a elas. Ao usar a temporização de acordo com a invenção, pode ser assegurado em uma maneira confiável de que os dispositivos que participam na sincronização sempre atualizam ou não os identificadores de atualização.
De acordo com uma incorporação preferida da invenção, a sincronização é baseada no protocolo de sincronização de acordo com o padrão SyncML, e então o primeiro identificador de atualização é a Última âncora da sincronização e o segundo identificador de atualização é a Próxima âncora.
Breve Descrição das Figuras A invenção agora será descrita em maiores detalhes em conexão com as incorporações preferidas e, com referência aos desenhos apensos, nos quais: Figura 1 - ilustra a sincronização de acordo com o protocolo de sincronização SyncML;
Figura 2 — ilustra o uso das âncoras de sincronização;
Figura 3 — ilustra a rede sem fio e a rede de área local;
Figura 4 - ilustra um método de acordo com a incorporação preferida da invenção;
Figura 5 — ilustra um método de acordo com outra incorporação preferida da invenção; e Figura 6 — apresenta um gráfico de sinalização ilustrando os eventos de sinalização de acordo com as incorporações preferidas da invenção.
Descrição Detalhada da Invenção A seguir, a incorporação preferida da invenção será descrita em um sistema que suporta o padrão SyncML, sem, contudo, confinar a invenção a este. A Figura 3 apresenta o sistema de rede, onde os dados de sincronização das bases de dados BD e dos terminais TE podem ser sincronizados. Com relação à sincronização, o terminal TE funciona como o dispositivo cliente. A Figura 3 apresenta dois exemplos, no primeiro dos quais os terminais TE, as bases de dados BD e os servidores de sincronização S são conectados à rede de área local LAN. O terminal TE conectado à rede LAN compreende a funcionalidade para comunicar com os dispositivos da rede LAN, por exemplo, o cartão de rede e o programa que controla a transmissão de dados. A rede de área local LAN pode ser uma rede de área local de qualquer tipo, e o TE pode também comunicar com o servidor S através da Internet, tipicamente usando a barreira de proteção BP. No segundo exemplo, o terminal TE, o servidor de sincronização S e as bases de dados BD são conectadas à rede móvel RM. O terminal TE conectado à rede RM compreende a funcionalidade da estação móvel para a comunicação sem fio com a rede RM. A rede móvel RM pode ser qualquer rede sem fio conhecida, tal como, a rede que suporta o serviço GSM, a rede que suporta o serviço GPRS (Serviço de Rádio Pacote Geral), a rede móvel de terceira geração, tal como a rede UMTS (Sistema de Telecomunicação Móvel Universal), a rede de área local sem fio WLAN ou a rede privada. Deveria ser observado que o servidor S pode funcionar como a base de dados BD, embora na Figura 3 os servidores S e as bases de dados BD sejam apresentados separadamente por motivo de clareza.
Os terminais TE (nas redes cabeadas LAN e nas redes sem fio RM) e os servidores S compreendem a memória MEM, SMEM, a interface do usuário IU, SUI, dispositivos de I/O, SI/O para dispor a transmissão de dados, e a unidade de processamento central CPU; SCPU compreendendo um ou mais processadores. Na memória MEM, a SMEM inclui a parte não-volátil da unidade de processamento central CPU, a SCPU para armazenar e controlar as aplicações, e a parte da memória de acesso randômico a ser usada para processamento dos dados. A memória MEM do TE (que é neste exemplo, a base de dados a ser sincronizada), e a memória das bases de dados BD, armazenam os dados de aplicação que são para serem sincronizados. O agente do cliente AC que opera de acordo com a invenção é preferivelmente implementado ao executar o código de programa de computador armazenado na memória MEM na CPU. O servidor de sincronização S também provê o agente de sincronização AS e o bloco de sincronização MS de acordo com a invenção e preferivelmente roda o código de programa de computador armazenado na memória SMEM na SCPU. O código de programa de computador executado nas unidades de processamento central CPU e na SCPU ocasionam ao terminal TE e ao servidor de sincronização S a implementar as características inventivas. As incorporações destes dispositivos são ilustradas nas Figuras 4 e 5. Os programas de computador podem ser obtidos através da rede e/ou armazenados no dispositivo de memória, tal como, em um disquete, tal como no disco CD-ROM ou em outro dispositivo externo de armazenagem, dos quais eles podem ser carregados na memória MEM, SMEM. Os circuitos integrados também podem ser usados. A Figura 4 ilustra o método de sincronização de acordo com uma incorporação da invenção, onde o terminal TE inicia a sincronização com o servidor S.
Quando há necessidade 401 para sincronizar os dados das bases de dados (ex. MEM, DB), a conexão da camada de transporte é estabelecida 402 entre o servidor S e o TE. O TE recupera 403 a Ultima âncora atualizada após a sessão de sincronização precedente da sua memória MEM e define 403 a Próxima âncora, por exemplo, verifica a data e a hora. A Ultima e a Próxima âncora são tipicamente os números sequenciais ou os protocolos de tempo. As âncoras são bases de dados específicas, isto é, elas indicam quando os dados da base de dados concernidos têm sido atualizados. O TE também define a Próxima âncora para a sincronização e armazena esta temporariamente na seção da memória de acesso randômico da memória MEM. O TE transmite 404 a mensagem de inicialização do cliente para o servidor S. Os elementos de alerta da mensagem (para cada base de dados a ser sincronizada) compreende a Última âncora e a Próxima âncora. A mensagem de inicialização do cliente também informa ao servidor de sincronização S das bases de dados, os dados das quais são para serem sincronizados e que tipo de sincronização é para ser usado. A mensagem de inicialização do cliente tipicamente também inclui a informação de autenticação e a informação dos serviços e as características dos dispositivos suportadas pelo terminal TE. O servidor S recebe a mensagem de inicialização do cliente, armazena a Próxima âncora temporariamente na sessão da memória de acesso randômica da memória SMEM e recupera 405 a Última âncora armazenada da sua memória SMEM (que é o conteúdo da Próxima âncora da última/precedente sessão de sincronização armazenada preferivelmente no campo denominado de Última âncora). O S verifica 406 a Última âncora recebida e a Última âncora recuperada da sua memória. Após 407 a verificação 406 o servidor S envia ao servidor a mensagem de inicialização contendo a Próxima âncora (recebida do TE) e a Última âncora (da memória SMEM do servidor S) para o terminal TE, também. A mensagem de inicialização do servidor inclui a informação no caso dos protocolos de tempo corresponderem entre si. O TE verifica 408 a correspondência da Última âncora ao comparar a Última âncora recebida com a Última âncora armazenada na memória MEM.
Se ambas, a verificação 408 executada pelo TE e a verificação 406 executada pelo S indicam que a Última âncora corresponde entre si, a sincronização pode ser iniciada 410 da maneira solicitada, neste caso apenas as unidades de dados modificadas após a Última âncora necessitam ser sincronizadas. Após a inicialização ter terminado, os dados de ao menos uma base de dados BD definida na inicialização da sincronização e os dados do terminal TE podem ser sincronizados. As autenticações necessárias podem ser executadas (no caso da sincronização de modo dual) empregando as mensagens SyncML ilustradas na Figura 1 (Modificações do Cliente, Modificações do Servidor). O tipo de sincronização a ser usado pode ser, por exemplo: - sincronização de modo dual; - sincronização de modo-único do cliente apenas; - sincronização de restauração do cliente apenas; - sincronização de modo-único do servidor apenas; - sincronização de restauração do servidor apenas; - sincronização servidor-alertado.
Para uma descrição mais detalhada da inicialização de uma sessão de sincronização e da sincronização 407 dos dados, referência é feita ao padrão do Protocolo de Sincronismo SyncML, versão 1.0, Dezembro de 2000, que define o protocolo de sincronização SyncML.
Se a Última âncora não associar de acordo com as comparações 406 e/ou 408, um erro tem ocorrido e todos os dados das bases de dados sobre sincronização necessitam ser sincronizados. Após a comparação 406 o S pode dar a informação na sincronização mal sucedida ou mais preferivelmente enviar a mensagem de inicialização de acordo com a qual a sincronização lenta é iniciada 409. O TE pode também solicitar a sincronização lenta se as Últimas âncoras não corresponderem entre si de acordo com a comparação 408. A seguir, é verificado 411 se a sincronização tem sido executada e a conexão da camada de transporte terminada apropriadamente. A sincronização tem sido executada após todos os dados necessários de acordo com o tipo de sincronização ter sido transferido entre o TE e o S (nem ter algo a transmitir) e nem os dispositivos esperam por um reconhecimento do outro. No caso da sincronização de modo-dual, por exemplo, a sincronização tem sido executada quando o servidor S reconhece (Mapa de Reconhecimento do Servidor) para o terminal TE que tem recebido as modificações feitas pelo TE (Pacote de Status de Atualização de Dados para o Servidor) e o TE recebe o reconhecimento pelo qual tem esperado. A conexão não tem sido terminada apropriadamente se, por exemplo, o TE ou o S recebe uma mensagem de erro, uma mensagem da camada de transporte errônea ou não recebe a mensagem a qual este está esperando (neste caso o TE/S pode enviar uma mensagem de erro). O protocolo de sincronização SyncML pode ser implementado entre o TE e o S no topo do protocolo HTTP (Protocolo de Transferência de Hiper Texto), do protocolo WSP (Protocolo de Sessão Sem fio) do padrão WAP (Protocolo de Aplicação Sem fio), do protocolo OBEX (Object Exchange — Protocolo de troca de objeto) usado para as conexões a cabo, tal como o USB (Barramento Serial Universal) ou o RS-232, para as conexões de rádio freqüência de curto-alcance (Bluetooth) ou para as conexões infravermelhas (IrDA), a pilha TCP/IP (Protocolo de Controle de Transporte/Protocolo Internet), e também no topo do serviço da camada de transporte oferecida pelo protocolo de e-mail (SMTP, Protocolo de Transferência de Correio Simples). A transferência na camada inferior pode ser executada de acordo com a rede subjacente usando, por exemplo, as mensagens curtas SMS ou outros tipos de sinalização dos métodos de transmissão (por exemplo: USSD, Dados de Serviço Suplentar Não-estruturado), as chamadas de dados comutadas por circuito ou os serviços de transferência de dados comutados por pacote.
De acordo com a incorporação, o protocolo HTTP é usado para prover a conexão da camada de transporte. Neste caso, a conexão tem sido terminada apropriadamente após a mensagem de ‘pedido HTTP’ do protocolo HTTP, que inclui os últimos reconhecimentos da sessão SyncML, que não requer nenhuma resposta, e em resposta à qual uma mensagem de reconhecimento ‘resposta de status HTTP’ recebida no dispositivo que transmitiu a mensagem final ter sido transmitida, ter sido transferida entre os dispositivos. Por exemplo, o TE pode enviar a mensagem ‘pedido HTTP’ que inclui a última mensagem (Pacote de Status de Atualização de Dados para o Servidor) para a qual nenhum reconhecimento é requerido (isto é, a sincronização tem sido executada). O S responde ao transmitir a mensagem de ‘resposta de status HTTP’, após a qual esta pode atualizar 412 os conteúdos da última âncora. Se o TE recebe a última mensagem correta ‘resposta de status HTTP’ (ok no cabeçalho 200 HTTP) do servidor S, este pode atualizar 412 os conteúdos da Última âncora.
De acordo com uma incorporação, o protocolo OBEX é usado para oferecer a conexão da camada de transporte. Neste caso, a conexão tem sido terminada apropriadamente quando o comando ‘desconectar’ de acordo com o protocolo OBEX tem sido transferido entre os dispositivos e o comando ‘resposta’ relacionado ao comando ‘desconectar’ tem sido transmitido e recebido.
De acordo com uma incorporação, o protocolo WSP é usado para oferecer a conexão da camada de transporte. Neste caso, a conexão tem sido terminada apropriadamente se a mensagem ‘pedido de desconexão’ tiver sido transferido entre os dispositivos e a mensagem ‘indicação de desconexão’ relacionada à mensagem ‘pedido de desconexão’ tiver sido transmitido e recebido.
Os conteúdos das Últimas âncoras prévias são atualizados 412 no servidor S e no terminal TE (os conteúdos podem também ser zero ou vazio se a Última âncora não tiver sido armazenada anteriormente) com os conteúdos da Próxima âncora da sessão de sincronização presente se a sincronização tiver sido executada e a conexão da camada de transporte tiver sido terminada apropriadamente. A memória MEM, SMEM preferivelmente inclui um registro no qual a Última âncora é mantida para a próxima sincronização. É também possível que o valor da Última âncora precedente não seja eliminado, mas a atualização 412 é executada ao adicionar um registro com o novo valor para a memória e ao usar este na próxima sincronização. Assim, os valores armazenados no passo 412 podem ser usados 414 durante a próxima sincronização, quer dizer, a parte inicial pode enviar o valor armazenado na memória como a Última âncora e a parte de recepção pode recuperar o valor armazenado da sua memória para comparação.
Se a sincronização não tiver sido terminada e/ou a conexão da camada de transporte não tiver sido terminada apropriadamente, os valores das Últimas âncoras armazenadas na memória não são trocados 413 e as Próximas âncoras armazenadas temporariamente são rejeitadas. A Figura 5 ilustra a sincronização de acordo com outra incorporação da invenção. Quando há necessidade 501 para sincronizar os dados, a conexão da camada de transporte é estabelecida 502 entre o servidor S e o TE. O TE recupera 503 a Última âncora atualizada após a sessão de sincronização precedente da sua memória MEM e determina 503 a Próxima âncora. O TE envia 504 para o servidor S uma mensagem de inicialização da sessão de sincronização que compreende a Última e a Próxima âncora definida. O S recebe a mensagem de inicialização, armazena a Próxima âncora temporariamente e recupera 505 a Última âncora armazenada (que é os conteúdos da Próxima âncora da sincronização precedente) da sua memória SMEM. O S compara 506 a Última âncora recebida com a Última âncora que este tem recuperado da sua memória. Se eles correspondem entre si, a sincronização 507 pode ser implementada da maneira solicitada pelo TE e apenas as unidades de dados modificadas após a Última âncora necessitam ser sincronizadas. Neste caso, o S pode enviar uma mensagem de inicialização para o TE, que indica que a sincronização pode ser executada da maneira solicitada. Mesmo embora o S tipicamente sempre envie a Última e a Próxima âncora para o TE, o TE não compara estas âncoras com as suas próprias âncoras nesta incorporação. Após a inicialização ter sido terminada, os dados de pelo menos uma base de dados DB e do terminal TE definidos na inicialização de sincronização podem ser sincronizados.
Se as últimas âncoras não correspondem entre si de acordo com a comparação 506, um erro tem ocorrido e os dados de todas as bases de dados sob sincronização necessitam ser sincronizados 508. O passo 508 é também executado se os dados das bases de dados do S e do TE não tenham sido sincronizados anteriormente ou se a memória MEM, SMEM tem sido limpa, neste caso a Última âncora indica o valor ‘vazio’. Neste caso, o S pode obter a informação na sincronização mal sucedida ou preferivelmente enviar uma mensagem de inicialização de acordo com a qual a sincronização lenta é iniciada.
Após a sincronização (507 ou 508) ter sido executada, a sessão de sincronização e a conexão da camada de transporte são terminadas 509. Após isto, os conteúdos das Últimas âncoras armazenados são atualizados no servidor S 511 e no terminal TE 510 com os conteúdos da Próxima âncora da sessão de sincronização atual se a sincronização tiver sido executada e a conexão da camada de transporte tiver sido terminada apropriadamente (cf. passo 411, 412).
Deveria ser observado que, as funções ilustradas nas Figuras 4 e 5 podem ser utilizadas na sincronização entre mais de dois dispositivos, neste caso a Próxima e a Última âncoras podem ser transmitidas entre todos os dispositivos. A Última âncora é atualizada com o novo valor se a sincronização tiver sido executada entre todos os dispositivos e as conexões da camada de transporte tiverem sido terminadas apropriadamente.
Ao contrário das Figuras 4 e 5, a sincronização pode também ser iniciada sem separar as mensagens de inicialização. Neste caso, a inicialização é executada simultaneamente com a sincronização. Após a sessão de sincronização e a conexão da camada de transporte ter sido terminada, as Próximas âncoras da sessão de sincronização podem ser atualizadas de acordo com o valor das Últimas âncoras na memória MEM, SMEM, como descrito acima. Neste caso, o número de mensagens a ser enviado durante a sincronização pode ser reduzido. A Figura 6 ilustra o gráfico de sinalização de acordo com a incorporação da invenção, que se assemelha à sincronização ilustrada na Figura 2. A sincronização lenta não é necessária na sessão de sincronização 1 porque as Últimas âncoras de sincronização se associam, isto é, a Última âncora (9.9.2001, 09:09:09 AM) na memória do S corresponde à Última âncora recebida.
Após o servidor S ter enviado um reconhecimento (OK), os dados podem ser sincronizados. O reconhecimento é preferivelmente uma mensagem de inicialização que também inclui a Última âncora e a Próxima âncora. Após a sessão de sincronização 1 ter sido terminada, a falha de transporte ocorre no exemplo devido a um erro na transmissão de dados ou devido a uma função não-uniforme dos dispositivos (TE espera por um reconhecimento do servidor S). De acordo com a invenção, nem o terminal TE nem o servidor S tem atualizado o novo valor para a Última âncora na sua memória. Na sessão de sincronização 2 o TE envia 9.10.2001, 09:09:09 AM como o valor da Última âncora. A Última âncora armazenada na memória do servidor S e a Última âncora recebida do terminal TE corresponde a cada outra, e assim a sessão de sincronização 2 pode ser executada sem a sincronização lenta. Esta permite evitar a sincronização lenta devido à falha de transporte de acordo com a técnica anterior apresentada na Figura 2.
Será óbvio para o técnico que à medida que a tecnologia avança, o conceito inventivo pode ser implementado de várias formas. A invenção e as suas incorporações não são então limitadas aos exemplos descritos acima, mas pode variar dentro do escopo das reivindicações.

Claims (11)

1. Método para dispor a sincronização das bases de dados, c CARACTERIZADO pelo falo de que compreende as clapas de: - estabelecer a conexão da camada de transporte para a sincronização entre o primeiro e o segundo dispositivo que sincroniza as bases de ciados (402); - transmitir o primeiro identificador de atualização, que é armazenado ao menos no primeiro dispositivo e descreve o último evento de sincronização do primeiro e do segundo dispositivo que tem sido executado nas bases de dados, durante a inicialização da sincronização do primeiro dispositivo para o segundo dispositivo, e o segundo identificador de atualização, que é definido pelo primeiro dispositivo e descreve a sincronização presente (404): - armazenar o segundo identificador de atualização no primeiro dispositivo e no segundo dispositivo. - atualizar os conteúdos dos primeiros identificadores de atualização armazenados nos dispositivos com os conteúdos do segundo identificador de atualização no primeiro dispositivo e no segundo dispositivo se a sincronização tiver sido executada e, após a conexão da camada de transporte ter sido terminada siibstancíalmente e apropriadamente (412) e - não atualizar os conteúdos dos primeiros identificadores de atualização, se a sincronização não tiver sido realizada ou a conexão da camada de transporte não tiver sido propriamente substancial mente finalizada (413),
2. Método de acordo com a reivindicação 1, é CARACTERIZA 1)0 pelo fato de que também compreende os passos de: * comparar o primeiro identificador de atualização recebido no segundo dispositivo com o primeiro identificador de atualização armazenado no segundo dispositivo; - executar a sincronização da maneira solicitada se o primeiro identificador de atualização recebido corresponder ao primeiro identificador de atualização armazenado; - sincronizar todas as unidades de dados das bases de dados se o primeiro identificador de atualização recebido não corresponder ao primeiro identificador de a t uai i ζação armaze η ado.
3. Método de acordo com a reivindicação 2. c CARACTERIZADO pelo lato de que também compreende <,s passos dc: - transmitir o primeiro identificador de atualização armazenado do segundo dispositivo para o primeiro dispositivo; - comparar lambem o primeiro identificador de atualização recebido com o primeiro identificador de atualização armazenado no primeiro dispositivo.
4. Método de acordo com a reivindicação I, é CARACTERIZADO pelo fato de que os identificadores de atualização indicam a data e a hora.
5. Método de acordo com a reivindicação I, é CARACTFRIZADO pelo falo de que a sincronização é baseada no protocolo de sincronização de acordo com o padrão SyncML, o primeiro identificador de atualização sendo a Última âncora de sincronização e o segundo identificador de atualização a Próxima âncora.
6. Método de acordo com a reivindicação L é C A R A Cf E RIZA DO pelo fato de que: - a conexão da camada de transporte é uma conexão lógica de acordo com o protocolo ΙΠΊΡ. e - a conexão da camada de transporte tem sido terminada apropriadamente se a mensagem 'pedido HTTP’ tiver sido transferida entre o primeiro dispositivo e o segundo dispositivo após a sincronização e a mensagem 'resposta de staius HTTP’ relacionada ã mensagem 'pedido 111’ ET* tiver sido transmitida e recebida.
7. Sistema de sincronização para sincronizar as bases de dados é C AR ACT E RI Z A DO pelo fato de que compreende o primeiro dispositivo e o segundo dispositivo que executa a sincronização e são dispostos para: - estabelecer a conexão da camada de transporte entre o primeiro dispositivo e o segundo dispositivo para executar a sincronização (402); ■ transmitir o primeiro identificador de atualização, que é armazenado ao menos no primeiro dispositivo e descreve o último evento de sincronização do primeiro e do segundo dispositivo que tem sido executado nas bases de dados, do primeiro dispositivo para o segundo dispositivo durante a inicialização da sincronização, e o segundo identificador de atualizarão, que é definido pelo primeiro dispositivo e descreve a sincronização presente (404); - armazenar o segundo identificador de atualização. - atualizar os conteúdos dos primeiros identificadores de atualização armazenados nos dispositivos com os conteúdos do segundo identificador de atualização se a sincronização tiver sido executaria e, após a conexão da camada de transporte ler sido terminada substancialmente e apropriadamente (412) e - não atualizar os conteúdos dos primeiros identificadores de atualização, se sincronização não tiver sido realizada ou a conexão da camada de transporte não tiver sido propriamente substancial mente finalizada (413),
8_ Sistema de sincronização de acordo com a reivindicação 7, é CARACTERIZADO pelo fato de que: - ¢3 segundo dispositivo e disposto para comparar o primeiro identificador de atualização recebido com o primeiro identificador de atualização armazenado no segundo dispositivo; - o primeiro e o segundo dispositivos são dispostos para executar a sincronização da maneira solicitada se o primeiro identificador de atualização recebido corresponder ao primeiro identificador de atualização armazenado, ou - o primeiro e o segundo dispositivos são dispostos para sincronizar todas as unidades de dados tias bases de dados se o primeiro identificador de atualização recebido não corresponder ao primeiro identificador de atualização armazenado,
9. Dispositivo de telecomunicação, c CARACTEKIZAIM) pelo falo de que compreende: - um dispositivo para estabelecer a conexão chi camada de transporte para ao menos um outro dispositivo para sincronizar as bases de dados (402); - um dispositivo para transmitir o primeiro identificador de atualização e o segundo identificador de atualização definido pelo dispositivo de telecomunicação para outro dispositivo durante a inicialização da sincronização, o primeiro identificador de atualização sendo armazenado ao menos no dispositivo de telecomunicação e descreve o último evento de sincronização do dispositivo de telecomunicação e o outro dispositivo que tem executado nas bases de ciados, e o segundo identificador de atualização descrevendo a sincronização presente (404): - uni dispositivo para armazenar o segundo identificador de atualização, e - um dispositivo para atualizar os conteúdos dos primeiros identificadores de atualização armazenados nos dispositivos de telecomunicações com os conteúdos do segundo identificador de atualização se a sincronização tiver sido executada e após a conexão da camada de transporte ter sido terminada substancialmente e apropriadamente (412) e para não atualizar os conteúdos do primeiro identificador de atualização, se sincronização não tiver sido realizada ou a conexão da camada de transporte não tiver sido propriamente substancialmente finalizada (413).
10. Dispositivo de sincronização é CARAC I ERIZA 1)0 pelo fato de que compreende: - um dispositivo para estabelecer a conexão da camada de transporte para ao menos um outro dispositivo para a sincronização das bases de dados (402); - um dispositivo para receber o primeiro identificador de atualização e o segundo identificador de atualização de outro dispositivo durante a inicialização da sincronização, o primeiro identificador de atualização descrevendo o último evento de sincronização do dispositivo de sincronização e o outro dispositivo que tem executado nas bases de dados, e o segundo identificador de atualização descrevendo a sincronização presente (405); - um dispositivo para armazenar o segundo identificador de atualização, e - uni dispositivo para atualizar o primeiro identificador de atualização com os conteúdos do segundo identificador de atualização se a sincronização tiver sido executada e após a conexão da camada de transporte ter sido terminada substancialmente e apropriadamente (412) e para não atualizar os conteúdos do primeiro identificador de atualização, se sincronização não tiver sido realizada ou a conexão da camada de transporte não tiver sido propriamente substancialmente finalizada (413).
11. Dispositivo de sincronização de acordo com a reivindicação lü, é CARACTERIZADQ peto falo de que também compreende: - um dispositivo para comparar o primeiro identificador de atualização recebido com o primeiro identificador de atualização armazenado no dispositivo de sincronização; um dispositivo para executar a sincronização da maneira solicitada por outro dispositivo se o primeiro identificador de atualização recebido corresponder ao primeiro identificador de atualização armazenado, c - um dispositivo para sincronizar as unidades de dados de todas as bases de dados se o primeiro identificador de atualização recebido nào corresponder ao primeiro identificador de atualização armazenado.
BRPI0209171A 2001-04-25 2002-04-24 método e sistema para dispor a sincronização das bases de dados, dispositivo de telecomunicação, dispositivo de sincronização BRPI0209171B1 (pt)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/842,568 US6839564B2 (en) 2001-04-25 2001-04-25 Synchronization of database data
PCT/FI2002/000339 WO2002086758A1 (en) 2001-04-25 2002-04-24 Synchronization of database data

Publications (2)

Publication Number Publication Date
BR0209171A BR0209171A (pt) 2004-08-03
BRPI0209171B1 true BRPI0209171B1 (pt) 2016-04-26

Family

ID=25287663

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI0209171A BRPI0209171B1 (pt) 2001-04-25 2002-04-24 método e sistema para dispor a sincronização das bases de dados, dispositivo de telecomunicação, dispositivo de sincronização

Country Status (10)

Country Link
US (2) US6839564B2 (pt)
EP (1) EP1390874B1 (pt)
JP (2) JP2004534994A (pt)
KR (1) KR100937163B1 (pt)
CN (1) CN100371929C (pt)
BR (1) BRPI0209171B1 (pt)
CA (1) CA2447821C (pt)
EE (1) EE200300518A (pt)
WO (1) WO2002086758A1 (pt)
ZA (1) ZA200308298B (pt)

Families Citing this family (154)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7039656B1 (en) * 1999-10-20 2006-05-02 Yodlee.Com, Inc. Method and apparatus for synchronizing data records between a remote device and a data server over a data-packet-network
US20020184234A1 (en) * 2001-06-01 2002-12-05 Lundberg Steven W. Internet-based patent and trademark applicaton management system
US20040132428A1 (en) * 2001-04-19 2004-07-08 Michael Mulligan Method and system for privacy preferences management using a synchronisation protocol
US20030028577A1 (en) * 2001-04-30 2003-02-06 Chia-Chu Dorland HTTP distributed XML-based automated event polling for network and E-service management
US7653631B1 (en) * 2001-05-10 2010-01-26 Foundationip, Llc Method for synchronizing information in multiple case management systems
US7320011B2 (en) 2001-06-15 2008-01-15 Nokia Corporation Selecting data for synchronization and for software configuration
FI114417B (fi) 2001-06-15 2004-10-15 Nokia Corp Datan valitseminen synkronointia varten
US20040093342A1 (en) * 2001-06-27 2004-05-13 Ronald Arbo Universal data mapping system
US8107937B2 (en) * 2001-07-31 2012-01-31 Nokia Corporation System and method for automatic provisioning detection and notification
US7149813B2 (en) * 2001-08-14 2006-12-12 Microsoft Corporation Method and system for synchronizing mobile devices
US20030045311A1 (en) * 2001-08-30 2003-03-06 Tapani Larikka Message transfer from a source device via a mobile terminal device to a third device and data synchronization between terminal devices
US7203505B1 (en) * 2001-08-30 2007-04-10 Nokia Corporation Message transfer from a source device via a mobile terminal device to a third device
FR2829330B1 (fr) * 2001-08-31 2003-11-28 Canon Kk Procede de demande de reception du resultat d'execution d'une fonction a distance a une date predeterminee
US7570668B2 (en) * 2001-10-03 2009-08-04 Nokia Corporation Data synchronization
KR100421624B1 (ko) * 2001-11-02 2004-03-11 (주) 한정문 플랫폼 독립적인 소프트웨어 자동 검색/배포/설치 장치 및그 방법
US20030093435A1 (en) * 2001-11-05 2003-05-15 Bandekar Vijay R. Method and system for application level data object synchronization between two or more processes
US20030087089A1 (en) * 2001-11-08 2003-05-08 Rodriguez Peter A. Roll of adhesive labels for cutting tape
WO2003058879A1 (en) 2002-01-08 2003-07-17 Seven Networks, Inc. Secure transport for mobile communication network
US6721871B2 (en) 2002-04-02 2004-04-13 Nokia Corporation Method and apparatus for synchronizing data stores with respect to changes in folders
US7076567B1 (en) * 2002-04-25 2006-07-11 Oracle International Corporation Simplified application object data synchronization for optimized data storage
US7606881B2 (en) * 2002-04-25 2009-10-20 Oracle International Corporation System and method for synchronization of version annotated objects
US20040039755A1 (en) * 2002-06-05 2004-02-26 Matthew Kunze Metadata relationships
AU2002314432A1 (en) * 2002-06-28 2004-01-19 Nokia Corporation Method and device for retrieving data store access information
US7787489B2 (en) * 2002-10-07 2010-08-31 Oracle International Corporation Mobile data distribution
FI114245B (fi) * 2002-11-13 2004-09-15 Nokia Corp Synkronointi-istunnon järjestäminen
US7171421B2 (en) * 2002-11-26 2007-01-30 General Electric Company System for automating operating parameter list process
AU2002346774A1 (en) * 2002-12-04 2004-06-23 Nokia Corporation Selecting data for synchronization and for software configuration
US20040127242A1 (en) * 2002-12-31 2004-07-01 Dashevsky Jane Y. Apparatus and associated methods for the synchronization of shared content
US7853563B2 (en) 2005-08-01 2010-12-14 Seven Networks, Inc. Universal data aggregation
US8468126B2 (en) 2005-08-01 2013-06-18 Seven Networks, Inc. Publishing data in an information community
US7917468B2 (en) 2005-08-01 2011-03-29 Seven Networks, Inc. Linking of personal information management data
US7613797B2 (en) * 2003-03-19 2009-11-03 Unisys Corporation Remote discovery and system architecture
JP2004318828A (ja) * 2003-03-31 2004-11-11 Seiko Epson Corp データバックアップシステム及びデータバックアップ方法、装着可能なコンピュータ、メール送信システム、画像情報送信システム並びにデータバックアッププログラム
US7216133B2 (en) * 2003-07-29 2007-05-08 Microsoft Corporation Synchronizing logical views independent of physical storage representations
KR100585748B1 (ko) * 2003-11-27 2006-06-07 엘지전자 주식회사 전화번호 싱크 방법 및 시스템
GB2409545A (en) * 2003-12-24 2005-06-29 Nokia Corp File synchronisation
US7437484B2 (en) * 2003-12-29 2008-10-14 International Business Machines Corporation Method for optimizing synchronization
US20050197747A1 (en) * 2004-03-04 2005-09-08 Jason Rappaport In-vehicle computer system
JP2005309968A (ja) * 2004-04-23 2005-11-04 Kyosan Electric Mfg Co Ltd 最新情報表示システム及びそれを使用した列車運行状況表示システム
US20060047837A1 (en) * 2004-06-14 2006-03-02 Jukka-Pekka Rissanen Arrangement for informing application capabilities by an object exchange protocol
JP2006018895A (ja) * 2004-06-30 2006-01-19 Sony Corp コンテンツ転送システム、コンテンツ記憶システム、コンテンツ記憶装置及びコンテンツ記憶方法
US7533074B2 (en) * 2004-07-23 2009-05-12 Sap Ag Modifiable knowledge base in a mobile device
US8036244B2 (en) * 2004-08-06 2011-10-11 Sharp Kabushiki Kaisha Transmitter, receiver, communication system, communication method, non-transitory computer readable medium
JP4529612B2 (ja) * 2004-09-21 2010-08-25 株式会社セガ 携帯端末におけるアプリケーションプログラム使用時の通信料の削減方法
US8775650B2 (en) * 2004-10-29 2014-07-08 Core Wireless Licensing S.A.R.L. Memory association to folder information
US8284684B2 (en) * 2005-01-28 2012-10-09 Sharp Kabushiki Kaisha Communication device, communication system, communication method, and communication circuit
US7787391B2 (en) * 2005-01-28 2010-08-31 Sharp Kabushiki Kaisha Communication device, communication system, communication method, communication program, and communication circuit
US8051182B2 (en) * 2005-01-28 2011-11-01 Sharp Kabushiki Kaisha Communication device, communication system, communication method, communication program, and communication circuit
US8291273B2 (en) * 2005-01-28 2012-10-16 Sharp Kabushiki Kaisha Communication device, non-transitory computer-readable medium storing a communication program
US7752633B1 (en) 2005-03-14 2010-07-06 Seven Networks, Inc. Cross-platform event engine
US20060212489A1 (en) * 2005-03-15 2006-09-21 Eggers Michael R Technique for effectively synchronizing data through an information service
EP1708095A1 (de) * 2005-03-31 2006-10-04 Ubs Ag Rechnernetzwerksystem zum Aufbauen, Synchronisieren und/oder Betreiben einer zweiten Datenbank aus/mit einer ersten Datenbank sowie Vorgehensweisen hierfür
US8438633B1 (en) * 2005-04-21 2013-05-07 Seven Networks, Inc. Flexible real-time inbox access
WO2006128183A2 (en) 2005-05-27 2006-11-30 Schwegman, Lundberg, Woessner & Kluth, P.A. Method and apparatus for cross-referencing important ip relationships
WO2006136660A1 (en) 2005-06-21 2006-12-28 Seven Networks International Oy Maintaining an ip connection in a mobile network
US8001076B2 (en) * 2005-07-12 2011-08-16 International Business Machines Corporation Ranging scalable time stamp data synchronization
US20070016636A1 (en) * 2005-07-14 2007-01-18 Yahoo! Inc. Methods and systems for data transfer and notification mechanisms
US7623515B2 (en) 2005-07-14 2009-11-24 Yahoo! Inc. Content router notification
US7849199B2 (en) * 2005-07-14 2010-12-07 Yahoo ! Inc. Content router
US20070014307A1 (en) * 2005-07-14 2007-01-18 Yahoo! Inc. Content router forwarding
US20070038703A1 (en) * 2005-07-14 2007-02-15 Yahoo! Inc. Content router gateway
US7631045B2 (en) 2005-07-14 2009-12-08 Yahoo! Inc. Content router asynchronous exchange
US7890508B2 (en) * 2005-08-19 2011-02-15 Microsoft Corporation Database fragment cloning and management
US8015319B2 (en) * 2005-10-27 2011-09-06 Huawei Technologies Co., Ltd. Method, system, client and server for implementing data sync
JP4786664B2 (ja) * 2005-11-10 2011-10-05 シャープ株式会社 データ送信装置およびその制御方法、データ送信装置制御プログラム、ならびに該プログラムを記録した記録媒体
US8024290B2 (en) 2005-11-14 2011-09-20 Yahoo! Inc. Data synchronization and device handling
US8065680B2 (en) 2005-11-15 2011-11-22 Yahoo! Inc. Data gateway for jobs management based on a persistent job table and a server table
CN100452734C (zh) * 2005-11-17 2009-01-14 中国科学院计算技术研究所 基于全局Internet拓扑知识的P2P应用构建方法
CN100429891C (zh) * 2005-11-17 2008-10-29 乐金电子(中国)研究开发中心有限公司 一种数据同步方法
US7657575B2 (en) * 2005-12-30 2010-02-02 Sap Ag Sequencing updates to business objects
US9367832B2 (en) * 2006-01-04 2016-06-14 Yahoo! Inc. Synchronizing image data among applications and devices
KR100725414B1 (ko) 2006-02-07 2007-06-07 삼성전자주식회사 디지털 컨텐츠 동기화를 위한 동기화 식별자 생성 방법 및장치
US7769395B2 (en) 2006-06-20 2010-08-03 Seven Networks, Inc. Location-based operations and messaging
CN100450108C (zh) * 2006-03-23 2009-01-07 华为技术有限公司 一种采用数据同步处理电子邮件的系统、装置及方法
KR100772879B1 (ko) 2006-04-19 2007-11-02 삼성전자주식회사 네트워크에서 디스커버리를 수행하는 장치, 시스템 및 그방법
KR100755715B1 (ko) * 2006-04-21 2007-09-05 삼성전자주식회사 복수의 컨텐츠 디렉토리 서비스 장치에 대한 동기화 지원방법, 상기 동기화 지원 방법에 이용되는 컨텐츠 디렉토리서비스 장치 및 이를 포함하는 시스템
US20070297458A1 (en) * 2006-06-27 2007-12-27 Microsoft Corporation Efficient and layered synchronization protocol for database systems
EP1883257A1 (fr) * 2006-07-28 2008-01-30 Gemplus Procédé de synchronisation entre un equipement mobile et une carte a puce
US20080034008A1 (en) * 2006-08-03 2008-02-07 Yahoo! Inc. User side database
US7860826B2 (en) * 2006-08-04 2010-12-28 Apple Inc. Method and system for using global equivalency sets to identify data during peer-to-peer synchronization
JP4219950B2 (ja) * 2006-10-16 2009-02-04 シャープ株式会社 通信機器、通信方法、通信回路、携帯電話機、プログラム、およびプログラムを記録したコンピュータ読み取り可能な記録媒体
US10255607B2 (en) * 2006-11-15 2019-04-09 Disney Enterprises, Inc. Collecting consumer information
US20080155112A1 (en) * 2006-12-22 2008-06-26 Nokia Corporation System and method for updating information feeds
US20080163743A1 (en) * 2007-01-07 2008-07-10 Freedman Gordon J Synchronization methods and systems
US8239504B2 (en) 2007-01-07 2012-08-07 Apple Inc. Synchronization methods and systems
US7778971B2 (en) * 2007-01-07 2010-08-17 Apple Inc. Synchronization methods and systems
US7761414B2 (en) * 2007-01-07 2010-07-20 Apple Inc. Asynchronous data synchronization amongst devices
US7805403B2 (en) 2007-01-07 2010-09-28 Apple Inc. Synchronization methods and systems
US7739410B2 (en) * 2007-01-07 2010-06-15 Apple Inc. Synchronization methods and systems
US7660831B2 (en) * 2007-01-07 2010-02-09 Apple Inc. Synchronization methods and systems
JP2008226167A (ja) * 2007-03-15 2008-09-25 Toshiba Corp データ配布システム及びデータ配布プログラム
US20080270629A1 (en) * 2007-04-27 2008-10-30 Yahoo! Inc. Data snychronization and device handling using sequence numbers
US8805425B2 (en) 2007-06-01 2014-08-12 Seven Networks, Inc. Integrated messaging
US8693494B2 (en) 2007-06-01 2014-04-08 Seven Networks, Inc. Polling
US8209540B2 (en) * 2007-06-28 2012-06-26 Apple Inc. Incremental secure backup and restore of user settings and data
CN100489787C (zh) * 2007-07-10 2009-05-20 北京大学 一种虚拟机的外存在线迁移方法
CN101355726A (zh) * 2007-07-25 2009-01-28 国际商业机器公司 基于多媒体消息传递服务的数据库同步方法和系统
CN101374144B (zh) * 2007-08-21 2012-04-25 华为技术有限公司 控制会话的数据同步的方法、装置和系统
US8073434B2 (en) 2007-09-18 2011-12-06 Sap Ag System and method of object simulation in an intermittently connected mobile application
US8364181B2 (en) 2007-12-10 2013-01-29 Seven Networks, Inc. Electronic-mail filtering for mobile devices
US9002828B2 (en) 2007-12-13 2015-04-07 Seven Networks, Inc. Predictive content delivery
US8862657B2 (en) 2008-01-25 2014-10-14 Seven Networks, Inc. Policy based content service
US20090193338A1 (en) 2008-01-28 2009-07-30 Trevor Fiatal Reducing network and battery consumption during content delivery and playback
US8787947B2 (en) 2008-06-18 2014-07-22 Seven Networks, Inc. Application discovery on mobile devices
US8078158B2 (en) 2008-06-26 2011-12-13 Seven Networks, Inc. Provisioning applications for a mobile device
US8135670B2 (en) * 2008-07-22 2012-03-13 International Business Machines Corporation Embedded change logging for data synchronization
CN101639950B (zh) * 2008-07-29 2011-07-13 中兴通讯股份有限公司 一种车道收费系统中的数据同步方法及装置
US8909759B2 (en) 2008-10-10 2014-12-09 Seven Networks, Inc. Bandwidth measurement
US20100131513A1 (en) 2008-10-23 2010-05-27 Lundberg Steven W Patent mapping
KR100935831B1 (ko) * 2008-11-17 2010-01-08 우용태 복수의 이벤트 식별자가 포함된 데이타구조체를 이용한 데이타동기화 방법 및 상기 방법을 이용한 데이타 백업솔루션
US20100211544A1 (en) * 2009-02-19 2010-08-19 Jyshyang Chen System with session synchronization
US20100268784A1 (en) * 2009-04-17 2010-10-21 Marc Henness Data synchronization system and method
TW201202956A (en) * 2010-06-01 2012-01-16 Htc Corp Method for exchanging device management (DM) tree information and communication apparatus
US9043433B2 (en) 2010-07-26 2015-05-26 Seven Networks, Inc. Mobile network traffic coordination across multiple applications
US8838783B2 (en) 2010-07-26 2014-09-16 Seven Networks, Inc. Distributed caching for resource and mobile network traffic management
US8484314B2 (en) 2010-11-01 2013-07-09 Seven Networks, Inc. Distributed caching in a wireless network of content delivered for a mobile application over a long-held request
WO2012060995A2 (en) 2010-11-01 2012-05-10 Michael Luna Distributed caching in a wireless network of content delivered for a mobile application over a long-held request
CN103620576B (zh) 2010-11-01 2016-11-09 七网络公司 适用于移动应用程序行为和网络条件的缓存
US8843153B2 (en) 2010-11-01 2014-09-23 Seven Networks, Inc. Mobile traffic categorization and policy for network use optimization while preserving user experience
WO2012071384A2 (en) 2010-11-22 2012-05-31 Michael Luna Optimization of resource polling intervals to satisfy mobile device requests
CA2798523C (en) 2010-11-22 2015-02-24 Seven Networks, Inc. Aligning data transfer to optimize connections established for transmission over a wireless network
CN102054035B (zh) * 2010-12-29 2013-01-02 北京播思软件技术有限公司 一种基于数据范围的数据库数据同步方法
EP2661697B1 (en) 2011-01-07 2018-11-21 Seven Networks, LLC System and method for reduction of mobile network traffic used for domain name system (dns) queries
EP2700019B1 (en) 2011-04-19 2019-03-27 Seven Networks, LLC Social caching for device resource sharing and management
EP2702827A4 (en) 2011-04-27 2014-10-22 Seven Networks Inc MOBILE DEVICE FOR REQUESTING INQUIRIES OF A MOBILE APPLICATION TO A REMOTE UNIT FOR PRESERVING RESOURCES OF THE MOBILE DEVICE AND A NETWORK AND METHOD THEREFOR
US8621075B2 (en) 2011-04-27 2013-12-31 Seven Metworks, Inc. Detecting and preserving state for satisfying application requests in a distributed proxy and cache system
US9904726B2 (en) 2011-05-04 2018-02-27 Black Hills IP Holdings, LLC. Apparatus and method for automated and assisted patent claim mapping and expense planning
EP2737741A4 (en) 2011-07-27 2015-01-21 Seven Networks Inc SURVEILLANCE OF MOBILE APPLICATION ACTIVITIES IN SEARCH OF MALICIOUS TRAFFIC ON A MOBILE DEVICE
US20130086080A1 (en) 2011-10-03 2013-04-04 Steven W. Lundberg System and method for information disclosure statement management and prior art cross-citation control
US20130086093A1 (en) 2011-10-03 2013-04-04 Steven W. Lundberg System and method for competitive prior art analytics and mapping
US20130097116A1 (en) * 2011-10-17 2013-04-18 Research In Motion Limited Synchronization method and associated apparatus
US8977755B2 (en) 2011-12-06 2015-03-10 Seven Networks, Inc. Mobile device and method to utilize the failover mechanism for fault tolerance provided for mobile traffic management and network/device resource conservation
US8934414B2 (en) 2011-12-06 2015-01-13 Seven Networks, Inc. Cellular or WiFi mobile traffic optimization based on public or private network destination
WO2013086447A1 (en) 2011-12-07 2013-06-13 Seven Networks, Inc. Radio-awareness of mobile device for sending server-side control signals using a wireless network optimized transport protocol
EP2788889A4 (en) 2011-12-07 2015-08-12 Seven Networks Inc FLEXIBLE AND DYNAMIC INTEGRATION SCHEMES OF A TRAFFIC MANAGEMENT SYSTEM WITH VARIOUS NETWORK OPERATORS TO REDUCE NETWORK TRAFFIC
US9832095B2 (en) 2011-12-14 2017-11-28 Seven Networks, Llc Operation modes for mobile traffic optimization and concurrent management of optimized and non-optimized traffic
US9021021B2 (en) 2011-12-14 2015-04-28 Seven Networks, Inc. Mobile network reporting and usage analytics system and method aggregated using a distributed traffic optimization system
US8861354B2 (en) 2011-12-14 2014-10-14 Seven Networks, Inc. Hierarchies and categories for management and deployment of policies for distributed wireless traffic optimization
GB2499306B (en) 2012-01-05 2014-10-22 Seven Networks Inc Managing user interaction with an application on a mobile device
US9203864B2 (en) 2012-02-02 2015-12-01 Seven Networks, Llc Dynamic categorization of applications for network access in a mobile network
WO2013116852A1 (en) 2012-02-03 2013-08-08 Seven Networks, Inc. User as an end point for profiling and optimizing the delivery of content and data in a wireless network
US8812695B2 (en) 2012-04-09 2014-08-19 Seven Networks, Inc. Method and system for management of a virtual network connection without heartbeat messages
US20130268656A1 (en) 2012-04-10 2013-10-10 Seven Networks, Inc. Intelligent customer service/call center services enhanced using real-time and historical mobile application and traffic-related statistics collected by a distributed caching system in a mobile network
KR101333468B1 (ko) * 2012-04-25 2013-11-26 한국항공우주산업 주식회사 비행제어컴퓨터의 채널 아이디 점검 방법 및 그 방법을 실행하기 위한 컴퓨터 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체
WO2014011216A1 (en) 2012-07-13 2014-01-16 Seven Networks, Inc. Dynamic bandwidth adjustment for browsing or streaming activity in a wireless network based on prediction of user behavior when interacting with mobile applications
US9161258B2 (en) 2012-10-24 2015-10-13 Seven Networks, Llc Optimized and selective management of policy deployment to mobile clients in a congested network to prevent further aggravation of network congestion
US9307493B2 (en) 2012-12-20 2016-04-05 Seven Networks, Llc Systems and methods for application management of mobile device radio state promotion and demotion
US9241314B2 (en) 2013-01-23 2016-01-19 Seven Networks, Llc Mobile device with application or context aware fast dormancy
US8874761B2 (en) 2013-01-25 2014-10-28 Seven Networks, Inc. Signaling optimization in a wireless network for traffic utilizing proprietary and non-proprietary protocols
US9326185B2 (en) 2013-03-11 2016-04-26 Seven Networks, Llc Mobile network congestion recognition for optimization of mobile traffic
US9065765B2 (en) 2013-07-22 2015-06-23 Seven Networks, Inc. Proxy server associated with a mobile carrier for enhancing mobile traffic management in a mobile network
US10243891B2 (en) * 2014-08-14 2019-03-26 Oath Inc. Cross-device integration system and method
US10671640B2 (en) 2017-06-02 2020-06-02 Apple Inc. Adaptive cross-device event data synchronization
KR102745395B1 (ko) 2022-04-27 2024-12-20 한국전자통신연구원 오픈 데이터 생태계에서의 다중 데이터 허브 간 데이터 실시간 동기화 시스템 및 방법

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5274240A (en) * 1990-01-12 1993-12-28 The Regents Of The University Of California Capillary array confocal fluorescence scanner and method
US5516409A (en) * 1991-02-28 1996-05-14 Hitachi, Ltd. DNA detector and DNA detection method
US5529679A (en) * 1992-02-28 1996-06-25 Hitachi, Ltd. DNA detector and DNA detection method
JPH04291556A (ja) 1991-03-20 1992-10-15 Fujitsu Ltd 通信制御方式
JP2785530B2 (ja) * 1991-09-13 1998-08-13 株式会社日立製作所 電気泳動装置
US5307487A (en) 1991-10-03 1994-04-26 The United States Of America As Represented By The Secretary Of The Navy Method of database synchronization with consistency determined by entry and exit counters used on both update and retrieval
US5608720A (en) * 1993-03-09 1997-03-04 Hubbell Incorporated Control system and operations system interface for a network element in an access system
US5730850A (en) * 1993-04-23 1998-03-24 Hitachi, Ltd. Capillary array electrophoresis system
US5710922A (en) 1993-06-02 1998-01-20 Apple Computer, Inc. Method for synchronizing and archiving information between computer systems
US5439578A (en) * 1993-06-03 1995-08-08 The Governors Of The University Of Alberta Multiple capillary biochemical analyzer
JP2605673B2 (ja) 1994-06-06 1997-04-30 日本電気株式会社 Tdma無線通信システム
US6515968B1 (en) * 1995-03-17 2003-02-04 Worldcom, Inc. Integrated interface for real time web based viewing of telecommunications network call traffic
US5582705A (en) * 1995-05-19 1996-12-10 Iowa State University Research Foundation, Inc. Multiplexed capillary electrophoresis system
US5943676A (en) * 1996-11-13 1999-08-24 Puma Technology, Inc. Synchronization of recurring records in incompatible databases
AU5686498A (en) 1996-11-13 1998-06-22 Puma Technology, Inc. Synchronization of databases
US5790727A (en) * 1997-02-05 1998-08-04 Brookhaven Science Associates Llc Laser illumination of multiple capillaries that form a waveguide
US6173311B1 (en) * 1997-02-13 2001-01-09 Pointcast, Inc. Apparatus, method and article of manufacture for servicing client requests on a network
CN1160970C (zh) * 1997-05-09 2004-08-04 美国阿尔卡塔尔资源有限合伙公司 可以进行快速数据库同步的通信系统和方法
US6654785B1 (en) * 1998-03-02 2003-11-25 Hewlett-Packard Development Company, L.P. System for providing a synchronized display of information slides on a plurality of computer workstations over a computer network
US6490617B1 (en) * 1998-06-09 2002-12-03 Compaq Information Technologies Group, L.P. Active self discovery of devices that participate in a network
US6516314B1 (en) * 1998-11-17 2003-02-04 Telefonaktiebolaget L M Ericsson (Publ) Optimization of change log handling
US6266525B1 (en) * 1998-12-17 2001-07-24 Lucent Technologies Inc. Method for detecting fraudulent use of a communications system
CN1262481A (zh) 1999-01-27 2000-08-09 电话通有限公司 多个数据库的同步方法及装置
JP2000222268A (ja) 1999-01-29 2000-08-11 Hitachi Ltd 複数のコンピュータ間におけるファイルの同期方法
US20050192008A1 (en) * 1999-03-31 2005-09-01 Nimesh Desai System and method for selective information exchange
AU5181700A (en) * 1999-06-01 2000-12-18 Siemens Automotive Corporation Portable driver information device
CA2276840A1 (en) * 1999-07-05 2001-01-05 Telefonaktiebolaget Lm Ericsson Method and apparatus for synchronizing a database in portable communication devices
EP1109106A1 (en) * 1999-12-14 2001-06-20 Sun Microsystems, Inc. Reference data base
US6643669B1 (en) 2000-03-14 2003-11-04 Telefonaktiebolaget Lm Ericsson (Publ) Method for optimization of synchronization between a client's database and a server database
US7035932B1 (en) * 2000-10-27 2006-04-25 Eric Morgan Dowling Federated multiprotocol communication

Also Published As

Publication number Publication date
EP1390874A1 (en) 2004-02-25
CA2447821A1 (en) 2002-10-31
ZA200308298B (en) 2005-06-29
US20020161769A1 (en) 2002-10-31
KR20040005933A (ko) 2004-01-16
CN100371929C (zh) 2008-02-27
EE200300518A (et) 2004-02-16
KR100937163B1 (ko) 2010-01-15
JP2009110530A (ja) 2009-05-21
BR0209171A (pt) 2004-08-03
WO2002086758A1 (en) 2002-10-31
EP1390874B1 (en) 2017-04-05
WO2002086758A8 (en) 2003-01-16
US7555303B2 (en) 2009-06-30
JP2004534994A (ja) 2004-11-18
CA2447821C (en) 2010-11-23
US20050125459A1 (en) 2005-06-09
US6839564B2 (en) 2005-01-04
CN1564990A (zh) 2005-01-12

Similar Documents

Publication Publication Date Title
BRPI0209171B1 (pt) método e sistema para dispor a sincronização das bases de dados, dispositivo de telecomunicação, dispositivo de sincronização
CN100401289C (zh) 配置同步会话
CN1708755B (zh) 用于同步为处理中断的同步过程而提供的数据的方法、设备和系统
US7624155B1 (en) Data replication facility for distributed computing environments
JP5662405B2 (ja) ユーザ装置をプロビジョニングするシステム及び方法
CN101313495B (zh) 数据同步方法、系统及装置
US8112549B2 (en) Alert mechanism for notifying multiple user devices sharing a connected-data-set
CN110730104A (zh) 一种mesh网络设备的多设备批量固件升级的方法
JP2010170569A (ja) 電気通信システムにおけるアプリケーション・データの同期
BRPI9908426B1 (pt) processo e sistema para reduzir o tempo excedente em comunicação de mensagens
KR100728076B1 (ko) 인터럽트된 동기화 프로세스의 처리를 제공하는 데이터를동기화하는 방법, 장치 및 시스템
CN101593119A (zh) 一种独占闪存组合设备空中固件升级方法及装置
CN111273924B (zh) 软件更新方法及装置
CN108205588A (zh) 基于主从结构的数据同步方法及装置
WO2024001787A1 (zh) 基于Gossip协议的文件分发方法、系统设备及存储介质
JPH08202657A (ja) ネットワーク管理システム
EP1835424A1 (en) Method, device and system for synchronizing of data providing for the handling of an interrupted synchronization process
CN100429891C (zh) 一种数据同步方法
CN112019360A (zh) 配置数据处理方法、软件定义网络设备、系统及存储介质
JP2000165474A (ja) データ通信装置および方法ならびにデータ通信プログラムを記録した記録媒体
JP2002189623A (ja) リモートファイル転送システム

Legal Events

Date Code Title Description
B07A Application suspended after technical examination (opinion) [chapter 7.1 patent gazette]
B25A Requested transfer of rights approved

Owner name: NOKIA TECHNOLOGIES OY (FI)

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

Free format text: PRAZO DE VALIDADE: 10 (DEZ) ANOS CONTADOS A PARTIR DE 26/04/2016, OBSERVADAS AS CONDICOES LEGAIS.