[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

FI120165B - Tietokannan synkronointi matkaviestinverkon kautta - Google Patents

Tietokannan synkronointi matkaviestinverkon kautta Download PDF

Info

Publication number
FI120165B
FI120165B FI20045508A FI20045508A FI120165B FI 120165 B FI120165 B FI 120165B FI 20045508 A FI20045508 A FI 20045508A FI 20045508 A FI20045508 A FI 20045508A FI 120165 B FI120165 B FI 120165B
Authority
FI
Finland
Prior art keywords
party
data element
amount
synchronization
data
Prior art date
Application number
FI20045508A
Other languages
English (en)
Swedish (sv)
Other versions
FI20045508A0 (fi
FI20045508A (fi
Inventor
Jukka Ahonen
Ari Backholm
Andew Everett
Marcus Groeber
Rauli Ikonen
Allan Mcleod
Petri Salmi
Seppo Salorinne
Lauri Vuornos
Heikki Ylinen
Original Assignee
Seven Networks Internat 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 Seven Networks Internat Oy filed Critical Seven Networks Internat Oy
Priority to FI20045508A priority Critical patent/FI120165B/fi
Publication of FI20045508A0 publication Critical patent/FI20045508A0/fi
Priority to EP05818838.4A priority patent/EP1846843B1/en
Priority to PCT/FI2005/050480 priority patent/WO2006070071A1/en
Priority to US11/318,487 priority patent/US8620858B2/en
Publication of FI20045508A publication Critical patent/FI20045508A/fi
Application granted granted Critical
Publication of FI120165B publication Critical patent/FI120165B/fi
Priority to US14/145,843 priority patent/US9460104B2/en
Priority to US15/251,277 priority patent/US10089376B2/en
Priority to US16/046,910 priority patent/US20180357295A1/en

Links

Classifications

    • 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/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/275Synchronous replication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/178Techniques for file synchronisation in file systems
    • 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/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/109Time management, e.g. calendars, reminders, meetings or time accounting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/109Time management, e.g. calendars, reminders, meetings or time accounting
    • G06Q10/1093Calendar-based scheduling for persons or groups
    • G06Q10/1095Meeting or appointment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/04Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1087Peer-to-peer [P2P] networks using cross-functional networking aspects
    • H04L67/1091Interfacing with client-server systems or between P2P systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Strategic Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Economics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Telephonic Communication Services (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Mobile Radio Communication Systems (AREA)

Description

Tietokannan synkronointi matkaviestinverkon kautta
Keksinnön tausta
Keksintö liittyy menetelmiin ja laitteisiin tietokannan synkronointia varten kahden osapuolen välillä matkaviestinverkon kautta. Eräässä hyvin ylei-5 sessä mutta ei-rajoittavassa sovelluksessa, yksi osapuoli on pöytätietokone toisen ollessa kannettava tietokone, taskutietokone tai ’’älypuhelin". Tietokone sisältää dataelementtejä, kuten dokumentteja, kalenteritapahtumia, tapaamis-pyyntöjä, osoitekirjan merkintöjä tai vastaavia, joita kumpi osapuoli tahansa voi muuttaa. Synkronointi, kuten termiä yleisesti käytetään tietokantojen yhteydes-10 sä, tarkoittaa osapuolissa ylläpidettyjen tietokannan kopioiden välisten erojen vähentämistä tai eliminoimista, jotka tietokannat ovat oletettavasti samanlaisia, mutta ainakin yksi tietokanta sisältää muutettuja dataelementtejä, jotka eivät ole läsnä toisessa tietokannassa.
Tunnetut matkaviestinverkon kautta tapahtuvat tietokantojen synk-15 ronointitekniikat on kehitetty piirikytkettyjä verkkoja varten, tai ne yrittävät simuloida piirikytkettyä toimintaa istuntojen avulla. Istuntopohjaisessa tietokannan synkronoinnissa kahden osapuolen välille muodostetaan istunto, tietokantakopioiden väliset erot havaitaan ja eliminoidaan lähettämällä eriävät dataelementit osapuolten välillä, minkä jälkeen istunto suljetaan. Monissa matkaviestinso-20 velluksissa tietokannan synkronointi matkaviestimen ja toimistotietokoneen välillä tapahtuu matkaviestimen ollessa sijoitettuna telineeseen, joka tietokannan synkronoinnin lisäksi voi ladata matkaviestimen akkua.
Tällaiset tunnetut tietokantojen synkronointitekniikat soveltuvat sovelluksiin, jotka eivät ole aikakriittisiä, ts. sovelluksiin, jotka sietävät pitkiä aika-25 välejä synkronointi-istuntojen välillä. Jos istuntopohjaisia synkronointitekniikoita käytetään aikakriittisiin tietokantoihin, jotka on synkronoitava usein, eräs suuri ongelma on istunnon muodostamiseen tarvittavan signaloinnin aiheuttama lisäkuormitus. Aikakriittisissä sovelluksissa synkronointi-istunto muodostetaan usein vain tietokantakopioiden välisten mahdollisten erojen toteamiseksi, ja 30 mikäli eroja ei havaita, istunto suljetaan ilman, että osapuolten välillä siirretään yhtään dataelementtiä. Lisäkuormitus on erityinen ongelma matkaviestinsovel-luksissa, joissa datasiirto on kallista, vaikka se on vain lisäkuormadataa. Lisäksi tarpeeton liikenne kuluttaa matkaviestimen akkua.
j 2
Keksinnön lyhyt selostus
Keksinnön tavoitteena on siten kehittää menetelmä ja menetelmän toteuttava laitteisto siten, että yllä mainittuja haittoja saadaan lievennettyä.
Keksinnön tavoite saavutetaan menetelmillä ja laitteilla, joille on tunnusomaista 5 se, mitä sanotaan itsenäisissä patenttivaatimuksissa. Keksinnön edulliset suoritusmuodot ovat epäitsenäisten patenttivaatimusten kohteena.
Keksinnön eräs näkökohta on menetelmä tietokannan synkronoimi-seksi A-osapuolen ja B-osapuoien välillä, missä osapuolet liikennöivät matkaviestinverkon kautta ja tietokanta sisältää synkronoitavia dataelementtejä.
10 Kumpikin osapuoli käsittää asiakas-palvelin -iiikennöintimoduulin asiakasosan ja palvelinosan. Yhden osapuolen asiakas-palvelin -Iiikennöintimoduulin asia-kasosa liikennöi toisen osapuolen asiakas-palvelin -Iiikennöintimoduulin palvelinosan kanssa matkaviestinverkon kautta. Kumpikin osapuoli ylläpitää tietokannan vastaavaa kopiota. Vasteena muutetun dataelementin kehittämiselle 15 muutetun dataelementin kehittänyt osapuoli aloittaa synkronointitapahtuman oman asiakas-palvelin -liikennöintimoduulinsa asiakasosan kautta.
Keksinnön eräs toinen näkökohta on laitteisto, joka on sovitettu toimimaan menetelmän yhtenä osapuolena. Keksinnön vielä eräs näkökohta on tietokoneohjelmatuote, joka saa dataprosessorin suorittamaan menetelmän, 20 kun ohjelmatuote suoritetaan.
Keksinnön etuna on vähentynyt lisäkuormitus verrattuna istuntope-rusteisiin synkronointitekniikoihin. Lisäkuormituksen väheneminen on hyödyllistä push-tyyppisissä sovelluksissa.
Kuvioiden lyhyt selostus 25 Keksintöä selostetaan nyt lähemmin edullisten suoritusmuotojen yh teydessä, viitaten oheisiin piirroksiin, joista:
Kuvio 1 esittää kahden tietokannan synkronointia, joista kumpaankin liittyy prosessori ja asiakas-palvelin -liikennöintimoduuii;
Kuvio 2 esittää esimerkinomaista järjestelmäarkkitehtuuria, jossa i 30 keksintöä voidaan käyttää;
Kuvio 3 esittää hypoteettista tapahtumaketjua kuvion 2 mukaisessa järjestelmässä;
Kuvio 4 on vuokaavio suoritusmuodosta, joka parantaa tietokan-tasynkronoinnin varmuutta tietoliikennekatkoksia vastaan; ja 3
Kuvio 5 esittää suoritusmuotoa, joka hyödyntää muutosmääriä tieto-kantasynkronoinnin varmuuden edelleen parantamiseksi.
Keksinnön yksityiskohtainen selostus
Kuvio 1 esittää kahden tietokannan 1QAja 10B synkronointia. Kos-5 ka järjestely on symmetrinen, vain A-puoli selostetaan. Tietokantaan 10A liittyy prosessori 11 A. Prosessorilla on rajapinta asiakas-palvelin -IiikennöintimodUuliin 12A. Asiakas-palvelin -liikennöintimoduuli 12A käsittää kaksi osaa, nimittäin asiakasosan 13Aja palvelinosan 14A. A-puolen asiakasosa 13A liikennöi B-puolen palvelinosan 14B kanssa matkaviestinverkon 16 kautta. A-puolen pal-10 velinosa 14A liikennöi B-puolen asiakasosan 13B kanssa matkaviestinverkon 16 kautta.
Keksinnön mukainen tietokantasynkronointi on tapahtumaperustei-nen, minkä vuoksi loogisesti prosessorin 11A ja tietokannan 10A välissä sijaitsee muutostenhavaitsemislogiikka tai -kerros 15A. Tämä tarkoittaa, että jos 15 yksi sovellus, kuten kalenterisovellus, muuttaa dataelementtiä tietokannassa 10A, muutostenhavaitsemislogiikka 15A havaitsee tämän muutoksen ja signa-loi sen asiakas-palvelin -iiikennöintimoduulille 12A.
Kuten asiakas-palvelin -tekniikassa on tavanomaista, asiakas ei tallenna kopiota kaikesta palvelimen datasta vaan ainoastaan näkymän dataan, 20 ja näkymä käsittää tyypillisesti vain alijoukon palvelimen datasta. Keksintö eroaa tavanomaisesta asiakas-palvelin -tekniikan käytöstä siinä, että kumpaankin kahdesta tietokannasta liittyy prosessori ja asiakas-palvelin -liikennöintimo-duuli, jolloin kummankin osapuolen asiakasosa liikennöi toisen osapuolen palvelinosan kanssa ja päinvastoin. Kumpikin osapuoli A ja B tallentaa siis vain 25 näkymän toisen osapuolen dataan, mutta toisin kuin istuntoperusteisissa synk-ronointimekanismeissa, joissa tietokantojen väliset erot määritetään ja eliminoidaan (kopioimalla eroavat dataelementit molempiin suuntiin), keksintö sietää tilanteita, joissa tietokannat 10A ja 10B eivät koskaan ole sisällöltään täysin identtiset. Tämä on hyödyllistä esimerkiksi kalenterisovelluksissa, joissa henki-30 lön toimistotietokone voi tallentaa kalenteritapahtumia usean vuoden ajalta j taaksepäin, kun taas käyttäjä on poistanut menneet tapahtumat matkaviestimestään muistin säästämiseksi. Lisäksi toimistotietokone voi tallentaa useampia datakenttiä kalenteritapahtumaa kohti. Koska keksinnön mukainen tietokantojen synkronointi perustuu dataelementtejä muuttavien tapahtumien ha-35 vaitsemiseen, niin dataelementtejä, jotka käyttäjä on poistanut matkaviestimen tietokannasta, ei tarvitse poistaa toimiston tietokannasta.
4
Laitteiston suhteen kuviota 1 on suuresti yksinkertaistettu. Ammattilainen ymmärtää, että prosessorilohkot 11 A, 11B sisältää kaiken keksinnön mukaisen päätelaitteen laitteiston, johon kuuluu muistia; tietokannat 10A ja 10B ovat loogisia tietorakenteita prosessorin muistissa ja liikennöintimoduulit 5 12A, 12B sekä muutoksenhavaitsemislogiikat 15A, 15B ovat prosessoreissa suoritettavia ohjelmistorutiineja.
Kuvio 1 esittää keksintöä laitteisto- ja ohjelmistolohkojen järjestelynä. Keksinnön ajatus voidaan ilmaista vaihtoehtoisella tavalla sanomalla, että keksintö yhdistää tiedonanto- {notifikaatio-) ja synkronointiprotokollat. Joissakin 10 tunnetuissa synkronointitekniikoissa dataelementtiä muuttava osapuoli lähettää toiselle osapuolelle tiedonantosanoman, joka osoittaa että muutos on tehty, minkä jälkeen osapuolet voivat sitten perustaa synkronointi-istunnon, jos käyttäjä katsoo tämän asialliseksi. Tämän keksinnön mukaisesti tiedonanto- ja synkronointiprotokollat yhdistetään, mikä tarkoittaa että tiedonantosanoma 15 myös kuljettaa synkronoitavan dataelementin.
Kuvio 2 esittää matkaviestin-sähköpostijärjestelmän erästä toteutusta, jossa keksintöä voidaan käyttää. Sähköpostisanomat eivät ole erityisen hyviä kandidaatteja synkronoitaviksi dataelementeiksi, koska sähköpostisanomia ei yleensä päivitetä vasteena toisen osapuolen tekemille muutoksille. Mutta 20 jotkut sähköpostijärjestelmät välittävät ohjaussanomia, jotka muuttavat sähköpostisanomien tilaa. Esimerkkejä tällaisista ohjaussanomista ovat ’’merkitse tunnisteen xxx osoittama sähköpostisanoma luetuksi/ei-luetuksi", ’’poista tunnisteen xxx osoittama sähköpostisanoma”, ’’siirrä tunnisteen xxx osoittama sähköpostisanoma kansioon yyy", tms. Tällaiset ohjaussanomat voidaan pro-25 sessoida samoin kuin synkronoitavat dataelementit. Lisäksi monet kaupalliset sähköpostisovelluspaketit myös sisältävät tai tukevat kalenterisovelluksia, jotka prosessoivat synkronoitavia dataelementtejä, kuten kalenteritapahtumia, ta-paamispyyntöjä tai vastaavia. Seuraavassa selostuksessa termiä ’’sähköpostijärjestelmä” käytetään siis laajassa merkityksessä.
30 Keksintöä voidaan soveltaa käytännöllisesti katsoen missä tahansa matkaviestin-sähköposti-jäijestelmäarkkitehtuurissa. Kuvio 2 esittää esimerkin- \ omaista järjestelmäarkkitehtuuria, jota tukee tämän hakemuksen haltija. Viitenumero 100 osoittaa isäntäjärjestelmää, joka pystyy lähettämään ja vastaanottamaan sähköpostiviestejä. Viitenumero 102 osoittaa matkaviestinpäätettä, 35 joka myös pystyy lähettämään ja vastaanottamaan sähköpostiviestejä. Sähköpostiviestit voivat alkaa tai päättyä ulkoisissa sähköpostipäätteissä, joista yhtä 5 osoitetaan viitenumerolla 104. Keksintö pyrkii parantamaan isäntäjärjesteimän 100 ja matkaviestinpäätteen 102 välistä yhteistyötä siten, että ne voivat käyttää vain yhtä sähköpostitiliä niin läpinäkyvästi kuin mahdollista. Tämä tarkoittaa esimerkiksi, että ulkoisten sähköpostipäätteiden 104 käyttäjien, sähköpostia 5 lähettäessään tai vastaanottaessaan, ei tarvitse tietää käyttääkö isäntäjärjesteimän 100 käyttäjä itse asiassa isäntäjärjestelmää 100 vai matkaviestinpäätet-tä 102 viestiäkseen sähköpostin välityksellä. Läpinäkyvyys tarkoittaa myös, että sähköpostien käsittelyllä matkaviestinpäätteellä 102 on sama vaikutus kuin vastaavalla sähköpostien käsittelyllä isäntäjärjestelmässä 100. Esimerkillä si sähköpostiviestit, jotka on luettu matkaviestinpäätteellä 102, tulisi edullisesti merkitä luetuiksi isäntäjärjestelmässä.
Viitenumero 106 osoittaa dataverkkoa, kuten IP- (Internet Protocol) -verkkoa, joka voi olla yleinen Internet tai sen suljetut osaverkot, joista yleisesti käytetään nimitystä intranet tai extranet. Viitenumero 108 osoittaa sähköposti-15 palvelinta siihen liitettyine tietokantoineen. Tulevalle ja lähtevälle sähköpostille voi olla erilliset sähköpostipalvelimet ja/tai palvelinosoitteet. Tietokantaan on tallennettu sähköpostitili, joka on osoitettavissa sähköpostiosoitteen avulla, joka näyttää postilaatikolta sähköpostitilin omistajalle. Liikennöidäkseen mat-kaviestinpäätteiden 102 kanssa dataverkko 106 on kytketty yhdyskäytävän 112 20 kautta pääsyverkkoon 114. Pääsyverkko käsittää joukon tukiasemia 116 langattoman peiton tarjoamiseksi langattoman rajapinnan 118 kautta matkavies-tinpäätteille 102.
Viitenumero 110 osoittaa viestintäkeskusta, joka on pitkälti vastuussa yllä mainitun läpinäkyvyyden tuottamisesta isäntäjärjesteimän 100 ja mat-25 kaviestinpäätteen 102 välillä. Järjestelmäarkkitehtuuri käsittää myös yhteys-toiminnon 120, jonka tehtävänä on työntää sähköpostiviestejä matkaviestin-päätteelle. Kuviossa 1 näytetyssä suoritusmuodossa yhteystoimintoa 120 pidetään viestintäkeskuksen fyysisesti integroituna mutta loogisesti erillisenä elementtinä.
30 Matkaviestinpääte 102 voi olla tasku- tai salkkutietokone, jossa on radiorajapinta, älykäs solukkopuhelin tai vastaava. Toteutuksesta riippuen isäntäjärjestelmällä, mikäli sellainen on, voi olla erilaisia rooleja. Joissakin toteutuksissa isäntäjärjestelmä 100 on valinnainen ja se voi olla tavanomainen toimistotietokone, joka toimii vain matkaviestinpäätteen käyttäjän ensisijaisena 35 tietokoneena ja sähköpostipäätteenä. Toisissa toteutuksissa isäntäjärjestelmä voi toimia alustana yhden käyttäjän yhteystoimintona, sen lisäksi että se on 6 toimistotietokone. Vielä muissa toteutuksissa isäntäjäqestelmä voi käsittää usean käyttäjän yhteystoiminnon. Normaalin toimistotietokoneen sijasta se on siis palvelin.
Tässä oletetaan, että pääsyverkko 114 pystyy muodostamaan ja yl-5 läpitämään tunnelin 122 viestintäkeskuksen 110 ja matkaviestinpäätteen 102 välillä. Tunneli voidaan muodostaa esimerkiksi käyttämällä GPRS-tunnelointi-protokollaa (GTP) tai sen myöhempiä johdannaisia, tai jotain muuta sopivaa tunneloäntiprotokollaa.
Kuvio 2 esittää suoritusmuotoa, jossa viestintäkeskus 110 on pitkälti 10 vastuussa sähköpostin kuljetuksesta matkaviestinpäätteelle/päätteeltä 102 pääsyverkon 114 kautta, kun taas erillinen yhteystoiminto 120 vastaa tietoturva-asioista. Yhteystoiminto 120 voi Olia fyysisesti liittynyt tai yhteissijoittunut viestintäkeskuksen kanssa, mutta ne ovat loogisesti erillisiä elementtejä. Itse asiassa eräs erillisen yhteystoiminnon 120 selkeä etu on, että se voidaan irrot-15 taa viestintäkeskuksesta yhtiössä, joka omistaa isäntäjärjestelmän 100 tai sähköpostipalvelimen 108. Pienelle käyttäjämäärälle yhteystoiminto 120 voidaan asentaa kuunkin isäntäjärjestelmäänlOO, tai isäntäjärjestelmä 100 voidaan tuikita erilliseksi palvelimeksi, joka on konfiguroitu tukemaan useita käyttäjiä.
On jopa mahdollista toteuttaa jotkut tai kaikki yllä mainitut optiot. Tämä tarkoit-20 taa esimerkiksi, että on yksi tai useampia viestintäkeskuksia 110, jotka tarjoa-vat palvelujaan verkko-operaattoreille, tai kullekin verkko-operaattorille voi olla tarkoitukseen varattu viestintäkeskus (jossakin määrin vastaavasti kuin lyhytsanomakeskukset). Kullakin viestintäkeskuksella 110 voi olla integroitu yhteys-toiminto 120 tukemaan käyttäjiä, jotka eivät halua asentaa erillistä yhteystoi-25 mintoa isäntäjärjestelmään 100. Käyttäjille, jotka asentavat erillisen yhteystoiminnon 120 isäntäjärjestelmiinsä 100, tällaiset yhteystoiminnot ohittavat viestintäkeskuksessa 110 olevan yhteystoiminnon ja osoittavat viestintäkeskusta suoraan.
Todellinen sähköpostijärjestelmä tukee suurta määrää matkavies- \ 30 tinpäätteitä 102 ja tunneleita 122. Luvun pitämiseksi siitä, mikä sähköpostitili ja ) mikä tunneli kuuluu kullekin matkaviestinpäätteelle, viestintäkeskus 110 ja yhteystoiminto ylläpitävät yhteisesti assosiaatiota 124, 124’ kutakin tuettua mat- j kaviestinpäätettä kohti. Periaatteessa kukin assosiaatio 124, 124’ liittää kolme kenttää, nimittäin matkaviestinpäätteelle tai sen käyttäjälle osoitetun sähköpos-35 tiosoitteen 124A, salausinformaation 124C ja matkaviestinpäätteen tilapäisen identiteetin 124D pääsyverkossa. Kuviossa 1 näytetty suoritusmuoto hyödyn- 7 tää myös päätelaitteen tunnistetta 124B, joka voi olla sama kuin matkaviestin-päätteen 102 sähköpostiosoite 124A, missä tapauksessa assosiaatio 124 todella liittää kolme informaatioelementtiä. Vaihtoehtoisesti päätelaitteen tunniste 124B voi olla matkaviestinpäätteelle mielivaltaisesti osoitettu tunniste. Erään 5 edullisen toteutuksen mukaisesti päätelaitteen tunniste 124B on matkaviestin-päätteen laitetunniste tai sen johdannainen. Salausinformaatio 124C liittyy edullisesti matkaviestinpäätteen laitetunnisteeseen ja sen kehittää edullisesti matkaviestinpääte itse, sen varmistamiseksi että mikään muu matkaviestin kuin salausinformaation luomisessa käytetty matkaviestin ei voi avata tulevia 10 salattuja sähköpostiviestejä. Tilapäinen langaton identiteetti 124D voi olla matkaviestimelle johtavan tunnelin 122 tunniste. Tunnelin tunniste ei tietenkään ole pysyvä, ja se tunnetaan vain kun tunneli on olemassa.
Kuvion 1 elementit voidaan kuvata kuvion 2 arkkitehtuuriin seuraavasti. Yhden osapuolen, esimerkiksi B:n, kaikki elementit toteutetaan matka-15 viestimessä 102, kun taas jäljellä oleva osapuoli, esimerkiksi A, toteutetaan siten, että asiakas-palvelin -moduuli 12B sijoitetaan yhteystoimintoon 120 ja tietokanta 10B ja muutosilmaisin 15B sijoitetaan sähköpostipalvelimeen 108. Vaihtoehtoisesti muutosilmaisin 15B voidaan asentaa isäntäjärjestelmään, joka suorittaa dataelementtejä muuttavia sovelluksia.
20 Kuvio 3 on signaiointikaavio, joka esittää tietokannan synkronointia keksinnön eräässä suoritusmuodossa. Kuvio 3 näyttää kaksi osapuolta A ja B. Kumpaankin osapuoleen kuuluu liitännäinen tietokanta, jotka on merkitty vastaavin viitemerkein DBA ja DBb. Kumpaankin osapuoleen kuuluu sovellus, kuten kalenterisovellus, muutosilmaisin sekä asiakas-palvelin -liikennöintimoduu-25 Iin asiakasosa ja palvelinosa. Selvyyden vuoksi kuviosta 3 on jätetty pois elementit, jotka eivät osallistu mihinkään tapahtumaan.
Vaiheet 3-2 ... 3-6 ovat valinnaisia ja liittyvät täyssynkronointiin paikallisyhteyden kautta. Vaiheessa 3-2 muodostetaan paikallisyhteys kahden j
osapuolen A ja B välille. Kaksi osapuolta voivat olla esimerkiksi matkaviestin ja I
30 toimistotietokone, jotka pystyvät liikennöimään paikallisliitännän, kuten lyhyen j kantaman radioliitännän tai telakointiaseman välityksellä. Vaiheessa 3-4 kahden tietokannan välillä tapahtuu täydellinen synkronointi. Täydellinen synkronointi ei välttämättä tarkoita, että tietokannat DBa ja DBb saatetaan täysin identtisiksi. Sen sijaan, kuten matkaviestinsovellusten yhteydessä hyvin tunne-35 taan, matkaviestin voi tallentaa kalenteritapahtumia rajoitetulta ajanjaksolta ja vähemmän datakenttiä kalenteritapahtumaa kohti kuin toimistotietokone. Täy- 8 dellinen synkronointi voi siis tarkoittaa kahden tietokannan synkronoitavien alueiden ja kenttien välisten erojen ilmaisemista ja eliminointia. Vaiheessa 3-6 paikallisyhteys puretaan.
Kuvio 3 esittää tapahtumaketjua, jossa vaiheet 3-8 ja 3-10 tapahtu-5 vat, kun A- ja B-osapuolen välillä ei ole paikallista eikä matkaviestinyhteyttä.
Vaiheessa 3-8 A-osapuolessa suoritettava sovellus muuttaa dataelementtiä tietokannassa DBa- Esimerkiksi kalenterisovellus voi muuttaa kalenteritapah-tumaa tai tapaamispyyntöä. Vaiheessa 3-10 muutosilmaisin havaitsee muutoksen ja signaloi sen A-osapuolen asiakasosalle. Vaiheet 3-8 ja 3-10 on esitetty 10 usealla nuolella, mikä tarkoittaa että osapuolten A ja B välisen liikennekatkon aikana voi tapahtua kuinka monta tietokantamuutosta tahansa. Vaiheessa ΟΙ 2 A- ja B-osapuoiten välille muodostetaan matkaviestinyhteys. Vaiheessa 3-14 A-osapuolen asiakasosa välittää kerätyt dataelementin muutokset B-osapuolen palvelinosalle, joka tekee vastaavat muutokset B-osapuolen tieto-15 kantaan DBb- Ennen muutosten välittämistä B-osapuolelle muutokset voidaan pakata resurssien säästämiseksi ja/tai salata tietoturvan parantamiseksi.
Vaiheessa 3-16 matkaviestinyhteys katkeaa. Vaiheessa 3-18 sovellus taas muuttaa dataelementtiä. Vaiheessa 3-20 muutosilmaisin havaitsee muutoksen ja signaloi sen signaloi sen A-osapuolen asiakasosalle, jonka tulee 20 puskuroida muutostiedotesanomaa niin kauan kun osapuolten välinen liikenne on katkenneena. Sen sijaan, että muutostiedonantoja puskuroidaan A-osa-puolen asiakasosassa, muutostiedonantoja voidaan puskuroida jossakin välillä olevassa verkkoelementissä, kuten kuviossa 2 näytetyssä viestintäkeskuksessa 110. Vaiheessa 3-22 osapuolten välinen yhteys palaa, ja vaiheessa 3-24 A-25 osapuolen asiakasosa voi tiedottaa muutokset B-osapuolen palvelinosalle.
Huomattakoon, että täysi synkronointi vaiheessa 3-4 on valinnainen, ja se näytetään ensisijaisesti selventämään, kuinka keksintö eroaa tavanomaisista synkronointiprotokollista. Varsinainen keksintö liittyy vaiheisiin, jotka tapahtuvat täyden synkronoinnin jälkeen. Kuviossa 3 näytetystä tapahtumaket- j 30 justa ilmenee, että keksinnön mukainen tietokansynkronointi sietää osapuolten välisiä liikennekatkoksia. Osapuolten välisen yhteyden katkeamisen ja uudel- j leenmuodostamisen jälkeen vaiheissa 3-16 ja 3-22 keksinnön mukainen synkronointi voi edetä ilman, että sen täytyy alkaa alusta. Muita suoritusmuotoja tekniikan kestävyyden edelleen parantamiseksi selostetaan kuvion 5 yhtey-35 dessä.
9
Kuvio 4 on vuokaavio suoritusmuodosta, joka parantaa tietokan-tasynkronoinnin kestävyyttä tietoliikennekatkoksia vastaan. Vuokaavio kuvaa asiakas-palvelin -liikennöintimoduulin asiakasosassa suoritettavaa prosessia.
Viitenumero 4-0 osoittaa jouto- eli lepotilaa, jossa asiakasosalla ei ole mitään 5 lähetettävää. Lepotila käsittää kaksi poistumismekanismia, joita osoitetaan viitenumeroilla 4-2 ja 4-20. vaiheessa 4-2 havaitaan dataelementtiin kohdistuva muutos. Vaiheet 4-4 ja 4-6 ovat valinnaisia ja selostetaan kohta. Vaiheessa 4-8 kokeillaan, onko osapuolten välinen yhteys olemassa. Jos yhteys on, muutettu dataelementti lähetetään toiselle osapuolelle välittömästi vaiheessa 4-10, min-10 kä jälkeen prosessi palaa lepotilaan 4-0. Jos osapuolten välistä yhteyttä ei ole olemassa, dataelementti tallennetaan puskuriin vaiheessa 4-12. Eräänä vaihtoehtona itse dataelementin puskuroimiselle on mahdollista puskuroida osoitus muutetusta dataelementistä, ja varsinainen dataelementti voidaan noutaa tietokannasta, kun yhteys on muodostettu uudelleen, 15 Vaiheessa 4-20 havaitaan, että osapuolten välinen yhteys on muo dostettu uudelleen. Vaiheessa 4-22 mahdolliset puskuroidut dataelementit lähetetään toiselle osapuolelle ja prosessi palaa lepotilaan 4-0. Verkon puolella tällainen puskurointi voidaan toteuttaa esimerkiksi yhteystoiminnossa 120 tai viestintäkeskuksessa 110.
20 Valinnainen vaihe 4-4 käsittää testin siitä, liittyykö dataelementin muutos puskurissa jo olevaan dataelementtiin. Jos näin on, vaiheessa 4-6 viimeisin muutos yhdistetään puskurissa olevaan, samaan dataelementtiin kohdistuvaan edelliseen muutokseen. Tällainen yhdistäminen voi perustua dataelementin tyyppiin ja/tai muutoksen luonteeseen. Monissa tapauksissa tuo-25 reempi muutos voi yksinkertaisesti korvata samaan dataelementtiin kohdistuvat aiemmat muutokset. Dataelementit voivat olla esimerkiksi sähköpostisovei-luksen ohjaussanomia. Jos aiempi ohjaussanoma oli "siirrä sähköpostisanoma xxx kansioon yyy", ja tuorein ohjaussanoma on "poista sähköpostisanoma j xxx”, on ilmeistä että vain viimeisin ohjaussanoma on poistettava. Samoin vii- \ 30 meisin kaienteritapahtumaan kohdistuva muutos voi yksinkertaisesti korvata j puskurissa olevat, samaan kaienteritapahtumaan kohdistuvat aiemmat muutokset.
Kuviossa 4 näytetty prosessi sietää yhteyskatkoksia synkronointita-pahtumien välillä. Kun osapuolten välinen yhteys muodostetaan uudelleen, 35 mahdolliset puskuroidut dataelementtien muutokset yksinkertaisesti lähetetään toiselle osapuolelle. On kaksi tyyppiä tilanteita, jotka voivat olla ongelmallisia 10 kuviossa 4 näytetylle prosessille. Tämä prosessi ei välttämättä ole riittävä selviytyäkseen yhteys katkoksista, jotka tapahtuvat synkronointitapahtuman aikana, eli muutettua dataelementtiä lähetettäessä. Toinen ongelmallinen tilanne on sellainen, jossa molemmat osapuolet muuttavat instanssejaan samasta da-5 taelementistä, kun osapuolten välinen yhteys on poikki. Kuvio 5 esittää vielä varmempaa synkronointimekanismia, joka pyrkii ratkaisemaan tällaiset ongelmat.
Kuvio 5 esittää suoritusmuotoa, joka hyödyntää muutosmääriä tieto-kantasynkronoinnin varmuuden parantamiseksi edelleen. Varmuus on toivotta-10 va ominaisuus, erityisesti matkaviestinsovelluksissa, joissa osapuolten välinen yhteys voi katketa.
Tämä suoritusmuoto perustuu siihen ajatukseen, että siihen ajatukseen, että kukin osapuoli ylläpitää kahta muutosmäärää dataelementtiä kohti. Ensimmäinen muutosmäärä pitää lukua osapuolen itsensä tekemistä muutok-15 sista dataelementtiin, kun taas toinen muutosmäärä pitää lukua vastinelemen-tin, siis toisen osapuolen, tekemistä muutoksista dataelementtiin. Kussakin synkronointitapahtumassa kumpikin osapuoli lähettää vastinosapuolelleen edellisen synkronointitapahtuman jälkeen muuttamansa dataelementit plus mainitut kaksi muutosmäärää. Lähetetyt muutosmäärät kertovat toiselle osa-20 puolelle, montako muutosta osapuoli on tehnyt ja kuinka monesta vastinosa-puolen muutoksesta osapuoli on tietoinen. Kumpikin osapuoli havaitsee konfliktin, mikäli vastinosapuolen ylläpitämä muutosmäärä eroaa vastaavasta osapuolen itsensä ylläpitämästä muutosmäärästä. Tällainen ero muutosmäärissä toimii osofttimena siitä, että vastinosapuolelta vastaanotettu dataelementti ei 25 edustanut kaikkia konfliktin havainneen osapuolen tekemiä muutoksia.
Yllä selostetun keksinnöllisen ajatuksen eräässä variaatiossa kumpikin osapuoli voi lähettää vastinosapuolelleen kunkin muuttamansa dataelementin tunnisteen plus kaksi muutosmäärää. Vertaamalla vastaanotettuja muutosmääriä vastaaviin paikallisesti ylläpidettyihin muutosmääriin osapuolet 30 voivat määrittää, mitä dataelementtejä on muutettu viimeisimmän synkronoinnin jälkeen, ja pyytää muutettujen dataelementtien lähettämistä erikseen. Nä- J
mä kaksi tekniikkaa voidaan tiivistää sanomalla, että kumpikin osapuoli lähettää vastinosapuolelleen osoituksen muuttamastaan dataelementistä plus kaksi muutosmäärää. Osoitus voi olla dataelementin tunniste tai dataelementti itse.
35 Kahden muutosmäärän lisäksi osapuolta kohti on edullista ylläpitää jonkinlaista kirjanpitoa siitä, mitä dataelementtejä on muutettu viimeisimmän 11 synkronointitapahtuman jälkeen, jolloin vain muutetut dataelementin on synkronoitava. Tällainen kirjanpito voi perustua esimerkiksi dataelementtien aika-leimoihin, joita verrataan viimeisimmän synkronoinnin ajankohtaan. Vaihtoehtoisesti kirjanpito voi perustua yhden bitin lippuun, joka merkitään "muutetuksi”, 5 kun dataelementtiä muutetaan, ja "muuttamattomaksi”, kun dataelementit synkronoidaan.
Eräänä vaihtoehtona sille, että osapuolet pitävät kirjaa viimeisimmän synkronoinnin jälkeen muutetuista dataelementeistä, ne voivat lähettää muutetut dataelementit tai osoitukset niistä välittömästi, mikäli mahdollista. 10 Joissakin toteutuksissa yksi sovellus (esimerkiksi kalenterisovellus) voi vastata dataelementtien muuttamisesta, kun taas erillinen sovellus (tietoliikennesovellus tai protokoilakerros) vastaa muutettujen dataelementtien varsinaisesta lähettämisestä.
Tämän suoritusmuodon eräänä etuna on, että dataelementtien 15 synkronointi on mahdollista ilman, että kukin dataelementti varustetaan aika-leimalla. Toisena etuna on, että synkronointi on mahdollista, vaikka osapuolten kellot olisivat siirtyneet toisiinsa nähden. Tämä suoritusmuoto soveltuu erityisesti matkaviestinsovelluksiin, koska muutettua dataelementtiä vastaanottavan osapuolen ei tarvitse kuitata vastaanotetun dataelementin vastaanottamista. 20 Dataelementin lähettävä osapuoli voi määrittää seuraavasta muutosmäärien parista, vastaanottiko sen vastinosapuoli todella muutetun dataelementin.
Kuvio 5 esittää hypoteettista tapahtumajoukkoa keksinnön mukaisessa synkronointiprosessissa. Kuvion 5 vasen puoli liittyy A-osapuoleen ja oikea puoli B-osapuoleen. Viitenumerot 50A ja 50B osoittavat dataelementin 25 kopioita (versiota) vastaavasti A- ja B-osapuolella.
Vaiheessa 5-0 uusi dataelementti 50A, kuten sähköinen dokumentti tai kalenteritapahtuma, luodaan A-osapuolella. Tällä hetkellä dataelementtiä ei vielä ole B-osapuolella. Vaiheessa 5-2 A-osapuoli havaitsee synkronointiliipai-sun ja lähettää dataelementin 50A B-osapuoIelle. Synkronointiliäpaisu voi olla 30 muutetun (tässä tapauksessa: juuri luodun) dataelementin olemassaolo yhtaikaa osapuolten välisen datayhteyden kanssa. Kumpikin osapuoli ylläpitää kahta dataelementtiin liittyvää muutosmäärää. Muutosmääriä osoitetaan seuraavil-la viitemerkeillä: - Naa, A:n tekemät muutokset, A:n näkeminä; 35 - Nba, B:n tekemät muutokset, A:n näkeminä; - Nab, A:n tekemät muutokset, B:n näkeminä; ja 12 - Nbb, B:n tekemät muutokset, B:n näkeminä.
Kuvion 5 esittämässä suoritusmuodossa dataelementin luontia pidetään muutoksena, minkä vuoksi vaiheiden 5-0 ja 5-2 jälkeen muutosmäärien Nm ja Nab arvo on T. Keksintö toimii kuitenkin yhtä hyvin, jos dataelementin 5 luontia alussa ei pidetä muutoksena ja muutosmäärät alkavat nollasta.
Vaiheessa 5-4 A-osapuoii muuttaa dataelementtiä 50A. Synkronointi ei tapahdu välittömästi, mahdollisesti siksi että osapuolten välillä ei ole datayhteyttä. Muutosmäärä Nm on 2, koska A tietää muuttaneensa dataelementtiä kahdesti. Muutosmäärä Nab pysyy arvossa T, koska B ei ole vielä tietoinen 10 viimeisimmästä muutoksesta.
Vaiheessa 5-6 dataelementti synkronoidaan taas. Toisin sanoen A lähettää B:lle dataelementin 50A sekä muutosmäärät Nm ja Nba· B vertaa vastaanotettuja muutosmääriä vastaaviin itse ylläpitämiinsä muutosmääriin Nab ja Nbb· Koska Nm = '2' ja NAb = T, B havaitsee, että A on muuttanut dataele-15 menttiä viimeisimmän synkronoinnin jälkeen. B voi hyväksyä muutetun data-elementin, koska muutosmäärä Nba on yhtä suuri kuin muutosmäärä NBb (molemmat ovat nollia).
Vaiheessa 5-8 B-osapuoli muuttaa omaa dataelementin kopiotaan 50B. Selvyyden vuoksi A- ja B-osapuolet lisäävät dataelementtiin vastaavasti 20 kirjaimia ”A" ja "B”, suurina tai pieninä kirjaimina. Koska tämä on B:n ensimmäinen muutos dataelementtiin, B myös muuttaa muutosmäärän NBB arvoon T. Muutosmäärä NBa pysyy arvossa "O", koska A ei vielä ole tietoinen B:n tekemästä muutoksesta.
Vaiheessa 5-10 dataelementti synkronoidaan taas. B lähettää A:lle 25 dataelementin 50B sekä muutosmäärät Nab ja NBb- A vertaa vastaanotettuja muutosmääriä vastaaviin itse ylläpitämiinsä muutosmääriin Nm ja NBa. Koska Nbb = T ja Nba = Ό’, A havaitsee, että B on muuttanut dataelementtiä vaiheessa 5-6 tapahtuneen viimeisimmän synkronoinnin jälkeen. A voi hyväksyä muutetun dataelementin, koska muutosmäärä Nab on yhtä suuri kuin muutosmäärä 30 Nm (kummankin arvo on '2').
Vaiheessa 5-12 kumpikin osapuoli A ja B muuttavat vastaavia data-elementin kopioitaan 50A ja 50B sekä muutosmääriä. A osapuoli kasvattaa ( muutosmäärän Nm arvoon '3’, ja B kasvattaa muutosmäärän NBB arvoon ’2’.
Mutta kumpikaan osapuoli ei ole vielä tietoinen kumppaninsa tekemästä muu-35 toksesta.
13
Viitenumero 5-14A kuvaa tilannetta, jossa B yrittää lähettää A:Ile dataelementin 50B. B lähettää myös muutosmäärät Nab ja NBb- A vertaa vastaanotettuja muutosmääriä vastaaviin itse ylläpitämiinsä muutosmääriin Naa ja Nba- Koska Nbb = '2' ja NBA = T, A havaitsee, että B on muuttanut dataeie-5 menttiä viimeisimmän synkronoinnin jälkeen. Mutta A ei voi hyväksyä muutettua dataelementtiä, koska vastaanotettu muutosmäärä NAb (arvo ’2r) on pienempi kuin paikallisesti ylläpidetty muutosmäärä Naa (arvo ’3’). A siis havaitsee konfliktin, jos muutosmäärä NAb (A:n tekemät muutokset B:n näkeminä) on pienempi kuin muutosmäärä Naa, ts. vastaava muutosmäärä A:n itsensä ylläpi-10 tämänä. Tällaisessa tilanteessa A havaitsee, että B:n lähettämä dataelementti ei sisältänyt kaikkia A:n tekemiä muutoksia, ja jos A hyväksyisi dataelementin, jotkut A:n tekemät muutokset menetettäisiin. Suuri ”X" nuolen yllä vaiheessa 5-14 osoittaa sitä, että A ei hyväksy muutettua dataelementtiä, ei ainakaan ilman jonkinlaista konfliktinselvitystä. Kuvion 5 tarkoituksiin oletetaan, että A hylkää 15 B:n lähettämän dataelementin.
Viitenumero 5-14B kuvaa tilannetta, jossa A yrittää lähettää dataelementtiä 50A B:lle. Tilanne on symmetrinen aiemmin selostetun tilanteen 5-14A kanssa. Tässä tapauksessa B havaitsee konfliktin, koska A:lta vastaanotettu muutosmäärä NBA (arvo = T) on pienempi kuin vastaava B:n itsensä 20 ylläpitämänä muutosmäärä NBB (arvo = ’2’). B siis havaitsee, että A:n lähettämä dataelementti ei sisältänyt kaikkia B:n tekemiä muutoksia.
Kuvion 5 esittämässä tapahtumasarjassa oletettiin, että synkronoin-titapahtumissa 5-6 ja 5-10 muutosmäärien yhteydessä lähetettiin myös muutetut dataelementit 50A ja 50B. On myös mahdollista lähettää vain muutetun da-25 taelementin tunniste, jolloin muutosmäärät vastaanottava osapuoli vertaa vastaanotettuja muutosmääriä niiden paikallisesti ylläpidettyihin vastineisiin ja pyytää varsinaista dataelementtiä vain jos sitä on muutettu.
Synkronointitekniikka käsittää edullisesti joukon ennalta määrättyjä sääntöjä konfliktinselvitystä varten. Käytettävissä olevat säännöt voidaan näyt-30 tää käyttäjän valittaviksi, tai ne voidaan valita joillakin ennalta määrätyillä kriteereillä, jotka voivat perustua esimerkiksi dataelementin tyyppiin. Sen sijaan, j että käytettävissä olevat säännöt näytetään käyttäjän valittaviksi, konfliktin ha- f vaitseva osapuoli voi valita jonkin säännön automaattisesti, edullisesti data-elementin tyypin perusteella. Esimerkiksi jos dataelementit ovat kalenteritapah-35 tumia, on suhteellisen turvallista olettaa, että uudemman tulee korvata van- hempi. Jos dataelementit ovat tekstinkäsittelyn dokumentteja, dokumentit voi daan yhdistää käyttäjän myöhempää editointia varten.
14
Alan ammattilaiselle on ilmeistä, että tekniikan kehittyessä keksinnön perusajatus voidaan toteuttaa monin eri tavoin. Keksintö ja sen suoritus-5 muodot eivät siten rajoitu yllä kuvattuihin esimerkkeihin vaan ne voivat vaihdella patenttivaatimusten puitteissa.
t

Claims (10)

1. Menetelmä tietokannan (10A, 10B) synkronoimiseksi A-osa-puolen ja B-osapuolen välillä, missä tietokanta sisältää synkronoitavia data-elementtejä, ja jossa menetelmässä ylläpidetään sekä A-osapuoiessa että B~ 5 osapuolessa tietokannan (10A, 10B) vastaavaa kopiota; tunnettu siitä, että: - osapuolet liikennöivät keskenään matkaviestinverkon (16, 114) kautta; - asennetaan sekä A-osapuoieen että B-osapuoleen asiakas-palvelin 10 -liikennöintimoduulin (12A, 12B) asiakasosa (13A, 13B) ja palve linosa (14A, 14B), missä yhden osapuolen asiakas-palvelin —liiken-nöintimoduulin asiakasosa (13A) liikennöi toisen osapuolen asiakas-palvelin -liikennöintimoduulin palvelinosan (14B) kanssa matkaviestinverkon (16,114) kautta; 15. vasteena muutetun dataelementin kehittämiselle muutetun dataele mentin kehittänyt osapuoli aloittaa synkronointitapahtuman oman asiakas-palvelin -Siikennöintimoduulinsa asiakasosan kautta, joka synkronointitapahtuma käsittää datasiirron matkaviestinverkon kautta.
2. Patenttivaatimuksen 1 mukainen menetelmä, tunnettu siitä, et tä puskuroidaan (4-12) muutettuja dataelementtejä osapuolten välisten liiken-nekatkosten aikana ja lähetetään (4-22) puskuroidut dataelementit, kun yhteys on muodostettu uudelleen.
3. Patenttivaatimuksen 2 mukainen menetelmä, tu n n ettu siitä, et-25 tä yhdistetään (4-6) äsken havaittu muutettu dataelementti puskuroidun data- elementin kanssa. j
4. Jonkin edellisen patenttivaatimuksen mukainen menetelmä, j tu n n ettu siitä, että: j - ylläpidetään tietokannan kopiota ja osoitusta viimeisimmästä synk- 30 ronoinnista A-osapuolen ja B-osapuolen välillä; - ylläpidetään A-muutosmäärää (Naa) ja B-muutosmäärää (NBa) kunkin synkronoitavan dataelementin osalta; J - missä A-muutosmäärä (Naa) osoittaa A-osapuoien tekemien muutosten määrän dataelementtiin ja B-muutosmäärä (Nba) osoittaa B-osapuolen tekemien ja A-osapuolen tuntemien muutosten määrän dataelementtiin; 5 vasteena synkronoinnin liipaisulle: - lähetetään A-osapuolelta B-osapuoIelle osoitus kustakin data-elementistä (50A), jota A-osapuoii on muuttanut viimeisimmän synkronointitapahtuman jälkeen sekä A-muutosmäärä (Naa) ja B-muutosmäärä (NBa) kunkin synkronoitavan dataelementin osalta; 10. vastaanotetaan A-osapuolella B-osapuolelta osoitus kustakin da taelementistä (50B), jota B-osapuoIi on muuttanut viimeisimmän synkronointitapahtuman jälkeen sekä A-muutosmäärä (Nab) ja B-muutosmäärä (Nbb) kunkin synkronoitavan dataelementin osalta; ja 15. havaitaan konflikti, mikäli vastaanotettu A-muutosmäärä (Nab) eroaa ylläpidetystä A-muutosmäärästä (Naa)·
5. Jonkin edellisen patenttivaatimuksen mukainen menetelmä, tunnettu siitä, että kukin dataelementti osoittaa kalenteritapahtuman tai ta-paamispyynnön.
6. Jonkin edellisen patenttivaatimuksen mukainen menetelmä, tunnettu siitä, että kukin dataelementti sisältää ohjaussanoman ja kukin oh-jaussanoma osoittaa sähköpostisanomalle suoritettavan toimenpiteen mutta ei sisällä sähköpostisanomaa.
7. Jonkin edellisen patenttivaatimuksen mukainen menetelmä, 25 tunnettu siitä, että synkronointitapahtuma käsittää tiedotesanoman lähettämisen matkaviestinverkon kautta, joka tiedotesanoma osoittaa mainitun muute- I tun dataelementin.
8. Laitteisto, joka on sovitettu toimimaan A-osapuolena tietokannan synkronoinnissa B-osapuo!en kanssa matkaviestinverkon (16, 114) kautta, kun 30 tietokanta sisältää synkronoitavia dataelementtejä, ja laitteisto käsittää välineet ylläpitämään tietokannan (10A) kopiota; tu n n ettu siitä, että laitteisto käsittää: - asiakas-palvelin -liikennöintimoduulin (12A), johon kuuluu asia-kasosa (13A) ja palvelinosa (14A), missä asiakas-paivelin -liikennöintimoduulin asiakasosa (13A) on järjestetty liikennöimään B-osa-puolen asiakas-palvelin -liikennöintimoduulin palvelinosan (14B) 5 kanssa matkaviestinverkon (16, 114) kautta; - muutetun dataelementin havaitsemiselle vasteelliset välineet (17A) aloittamaan synkronointitapahtuma (3-14, 3-24) asiakas-palvelin -liikennöintimoduulin asiakasosan kautta, joka synkronointitapahtuma käsittää datasiirron matkaviestinverkon kautta.
9. Patenttivaatimuksen 8 mukainen laitteisto, tunnettu siitä, että laitteistoon lisäksi kuuluu: - välineet ylläpitämään osoitusta viimeisimmästä synkronoinnista A-osapuolen ja B-osapuolen välillä; - välineet ylläpitämään A-muutosmäärää (Naa) ja B-muutosmäärää 15 (NBa) kunkin synkronoitavan dataelementin osalta; - missä A-muutosmäärä (Naa) osoittaa A-osapuolen tekemien muutosten määrän dataelementtiin ja B-muutosmäärä (Nba) osoittaa B-osapuolen tekemien ja A-osapuolen tuntemien muutosten määrän dataelementtiin; 20 synkronoinnin liipaisulle vasteelliset välineet: - lähettämään A-osapuolelta B-osapuolelle osoituksen kustakin dataelementistä (50A), jota A-osapuoli on muuttanut viimeisimmän synkronointitapahtuman jälkeen sekä A-muutosmäärän (NAA) ja B-muutosmäärän (NBA) kunkin synkronoitavan dataelementin 25 osalta; - vastaanottamaan A-osapuolella B-osapuolelta osoituksen kustakin dataelementistä (50B), jota B-osapuoli on muuttanut viimei- j simmän synkronointitapahtuman jälkeen sekä A-muutosmäärän I i (Nab) ja B-muutosmäärän (Nbb) kunkin synkronoitavan dataele- j 30 mentin osalta; I - välineet havaitsemaan konfliktin, mikäli vastaanotettu A-muutosmäärä (Nab) eroaa ylläpidetystä A-muutosmäärästä (Naa)·
10. Dataprosessorissa suoritettava tietokoneohjelmatuote, tun- j nettu siitä, että tietokoneohjelmatuote käsittää ohjelmakäskyjä dataproses- sorin saamiseksi suorittamaan patenttivaatimuksen 1 mukaisen menetelmän, kun ohjelmatuote suoritetaan dataprosessorissa. |
FI20045508A 2004-12-29 2004-12-29 Tietokannan synkronointi matkaviestinverkon kautta FI120165B (fi)

Priority Applications (7)

Application Number Priority Date Filing Date Title
FI20045508A FI120165B (fi) 2004-12-29 2004-12-29 Tietokannan synkronointi matkaviestinverkon kautta
EP05818838.4A EP1846843B1 (en) 2004-12-29 2005-12-22 Database synchronization via a mobile network
PCT/FI2005/050480 WO2006070071A1 (en) 2004-12-29 2005-12-22 Database synchronization via a mobile network
US11/318,487 US8620858B2 (en) 2004-12-29 2005-12-28 Database synchronization via a mobile network
US14/145,843 US9460104B2 (en) 2004-12-29 2013-12-31 Database synchronization via a mobile network
US15/251,277 US10089376B2 (en) 2004-12-29 2016-08-30 Database synchronization via a mobile network
US16/046,910 US20180357295A1 (en) 2004-12-29 2018-07-26 Database Synchronization via a Mobile Network

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FI20045508A FI120165B (fi) 2004-12-29 2004-12-29 Tietokannan synkronointi matkaviestinverkon kautta
FI20045508 2004-12-29

Publications (3)

Publication Number Publication Date
FI20045508A0 FI20045508A0 (fi) 2004-12-29
FI20045508A FI20045508A (fi) 2006-06-30
FI120165B true FI120165B (fi) 2009-07-15

Family

ID=33548104

Family Applications (1)

Application Number Title Priority Date Filing Date
FI20045508A FI120165B (fi) 2004-12-29 2004-12-29 Tietokannan synkronointi matkaviestinverkon kautta

Country Status (4)

Country Link
US (4) US8620858B2 (fi)
EP (1) EP1846843B1 (fi)
FI (1) FI120165B (fi)
WO (1) WO2006070071A1 (fi)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8620858B2 (en) 2004-12-29 2013-12-31 Seven Networks International Oy Database synchronization via a mobile network
US9298792B2 (en) 2004-12-10 2016-03-29 Seven Networks, Llc Database synchronization

Families Citing this family (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6804699B1 (en) 2000-07-18 2004-10-12 Palmone, Inc. Identifying and locating lost or stolen personal digital assistant devices via a landline- or wireless-connected web server
US7197541B1 (en) 2001-06-18 2007-03-27 Palm, Inc. Method and apparatus for automated personality transfer for a wireless enabled handheld device
WO2003058879A1 (en) 2002-01-08 2003-07-17 Seven Networks, Inc. Secure transport for mobile communication network
US7591020B2 (en) * 2002-01-18 2009-09-15 Palm, Inc. Location based security modification system and method
US8438633B1 (en) * 2005-04-21 2013-05-07 Seven Networks, Inc. Flexible real-time inbox access
US7493351B2 (en) * 2005-05-05 2009-02-17 International Business Machines Corporation Rapid integration mechanism for directory based applications
WO2006136660A1 (en) 2005-06-21 2006-12-28 Seven Networks International Oy Maintaining an ip connection in a mobile network
US7822985B2 (en) 2006-08-21 2010-10-26 The Boeing Company Real-time electronic signature validation systems and methods
US8479003B2 (en) * 2006-08-21 2013-07-02 The Boeing Company Electronic signature validation systems and methods for asynchronous environments
US8135798B2 (en) 2006-11-15 2012-03-13 Hewlett-Packard Development Company, L.P. Over-the-air device services and management
US20080115152A1 (en) 2006-11-15 2008-05-15 Bharat Welingkar Server-controlled heartbeats
US7574444B2 (en) 2006-11-15 2009-08-11 Palm, Inc. Device-side data de-duping
US7603435B2 (en) * 2006-11-15 2009-10-13 Palm, Inc. Over-the-air device kill pill and lock
US20080115141A1 (en) * 2006-11-15 2008-05-15 Bharat Welingkar Dynamic resource management
US8805425B2 (en) 2007-06-01 2014-08-12 Seven Networks, Inc. Integrated messaging
US7788360B2 (en) 2007-09-10 2010-08-31 Routesync, Llc Configurable distributed information sharing system
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
JP5455069B2 (ja) * 2008-05-14 2014-03-26 日本電気株式会社 情報処理システムと情報処理方法
US8909759B2 (en) 2008-10-10 2014-12-09 Seven Networks, Inc. Bandwidth measurement
US8350694B1 (en) * 2009-05-18 2013-01-08 Alarm.Com Incorporated Monitoring system to monitor a property with a mobile device with a monitoring application
US8694578B2 (en) 2009-05-29 2014-04-08 Microsoft Corporation Swarm-based synchronization over a network of object stores
US8886725B2 (en) * 2009-07-29 2014-11-11 Hewlett-Packard Development Company, L.P. Merging instances of a modular document
US8503984B2 (en) * 2009-12-23 2013-08-06 Amos Winbush, III Mobile communication device user content synchronization with central web-based records and information sharing system
US20110149086A1 (en) 2009-12-23 2011-06-23 Winbush Iii Amos Camera user content synchronization with central web-based records and information sharing system
US8838783B2 (en) 2010-07-26 2014-09-16 Seven Networks, Inc. Distributed caching for resource and mobile network traffic management
EP3407673B1 (en) 2010-07-26 2019-11-20 Seven Networks, LLC Mobile network traffic coordination across multiple applications
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
US8843153B2 (en) 2010-11-01 2014-09-23 Seven Networks, Inc. Mobile traffic categorization and policy for network use optimization while preserving user experience
EP3422775A1 (en) 2010-11-22 2019-01-02 Seven Networks, LLC Optimization of resource polling intervals to satisfy mobile device requests
US9325662B2 (en) 2011-01-07 2016-04-26 Seven Networks, Llc System and method for reduction of mobile network traffic used for domain name system (DNS) queries
GB2504411A (en) 2011-04-19 2014-01-29 Seven Networks Inc Shared resource and virtual resource management in a networked environment
EP2702500B1 (en) 2011-04-27 2017-07-19 Seven Networks, LLC Detecting and preserving state for satisfying application requests in a distributed proxy and cache system
GB2496537B (en) 2011-04-27 2014-10-15 Seven Networks Inc System and method for making requests on behalf of a mobile device based on atmoic processes for mobile network traffic relief
US8934414B2 (en) 2011-12-06 2015-01-13 Seven Networks, Inc. Cellular or WiFi mobile traffic optimization based on public or private network destination
EP2789138B1 (en) 2011-12-06 2016-09-14 Seven Networks, LLC A mobile device and method to utilize the failover mechanisms for fault tolerance provided for mobile traffic management and network/device resource conservation
US9009250B2 (en) 2011-12-07 2015-04-14 Seven Networks, Inc. Flexible and dynamic integration schemas of a traffic management system with various network operators for network traffic alleviation
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
US20130159511A1 (en) 2011-12-14 2013-06-20 Seven Networks, Inc. System and method for generating a report to a network operator by distributing aggregation of data
US8812695B2 (en) 2012-04-09 2014-08-19 Seven Networks, Inc. Method and system for management of a virtual network connection without heartbeat messages
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
KR101638656B1 (ko) * 2012-08-23 2016-07-11 엘에스산전 주식회사 산업용 자동화를 위한 클라우드 컴퓨팅 기반의 데이터 공유 시스템 및 산업용 기기 관리 장치
US9197700B2 (en) * 2013-01-18 2015-11-24 Apple Inc. Keychain syncing
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
US9678745B2 (en) 2013-01-28 2017-06-13 Paptap Ltd Automatic submission of applications to applications stores
US9176726B2 (en) 2013-01-28 2015-11-03 Paptap Ltd Method and apparatus for developing, distributing and executing applications
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
KR102096249B1 (ko) * 2014-06-24 2020-04-02 구글 엘엘씨 원격 데이터베이스에 대한 변경사항들의 프로세싱
US9836646B2 (en) * 2015-10-15 2017-12-05 I.R.I.S. Method for identifying a character in a digital image
DE112016004861T5 (de) 2015-10-23 2018-07-19 Kodiak Networks Inc. System und Verfahren zum Geofencing
GB2561722B (en) * 2015-10-23 2021-10-20 Kodiak Networks Inc System and method for content messaging
US11157307B2 (en) * 2017-05-24 2021-10-26 International Business Machines Corporation Count and transaction identifier based transaction processing
US10833938B1 (en) * 2019-07-31 2020-11-10 Oracle International Corporation Methods, systems, and computer readable media for network function (NF) topology synchronization
US11528334B2 (en) 2020-07-31 2022-12-13 Oracle International Corporation Methods, systems, and computer readable media for preferred network function (NF) location routing using service communications proxy (SCP)
US11290549B2 (en) 2020-08-24 2022-03-29 Oracle International Corporation Methods, systems, and computer readable media for optimized network function (NF) discovery and routing using service communications proxy (SCP) and NF repository function (NRF)
US11483694B2 (en) 2020-09-01 2022-10-25 Oracle International Corporation Methods, systems, and computer readable media for service communications proxy (SCP)-specific prioritized network function (NF) discovery and routing
US11570262B2 (en) 2020-10-28 2023-01-31 Oracle International Corporation Methods, systems, and computer readable media for rank processing for network function selection
US11470544B2 (en) 2021-01-22 2022-10-11 Oracle International Corporation Methods, systems, and computer readable media for optimized routing of messages relating to existing network function (NF) subscriptions using an intermediate forwarding NF repository function (NRF)
US11895080B2 (en) 2021-06-23 2024-02-06 Oracle International Corporation Methods, systems, and computer readable media for resolution of inter-network domain names
US11563638B1 (en) 2021-08-27 2023-01-24 Oracle International Corporation Methods, systems, and computer readable media for optimizing network bandwidth utilization through intelligent updating of network function (NF) profiles with NF repository function
US11849506B2 (en) 2021-10-08 2023-12-19 Oracle International Corporation Methods, systems, and computer readable media for routing inter-public land mobile network (inter-PLMN) messages related to existing subscriptions with network function (NF) repository function (NRF) using security edge protection proxy (SEPP)

Family Cites Families (110)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4831582A (en) * 1986-11-07 1989-05-16 Allen-Bradley Company, Inc. Database access machine for factory automation network
US4897781A (en) * 1987-02-13 1990-01-30 International Business Machines Corporation System and method for using cached data at a local node after re-opening a file at a remote node in a distributed networking environment
US4875159A (en) * 1987-12-22 1989-10-17 Amdahl Corporation Version management system using plural control fields for synchronizing two versions of files in a multiprocessor system
US5263157A (en) * 1990-02-15 1993-11-16 International Business Machines Corporation Method and system for providing user access control within a distributed data processing system by the exchange of access control profiles
US5519606A (en) * 1992-01-21 1996-05-21 Starfish Software, Inc. System and methods for appointment reconciliation
US5392390A (en) * 1992-04-10 1995-02-21 Intellilink Corp. Method for mapping, translating, and dynamically reconciling data between disparate computer platforms
US5581749A (en) * 1992-12-21 1996-12-03 Thedow Chemical Company System and method for maintaining codes among distributed databases using a global database
US5386564A (en) * 1993-02-24 1995-01-31 Hewlett-Packard Company Conversion of data and objects across classes in an object management system
US5799318A (en) * 1993-04-13 1998-08-25 Firstfloor Software Method and apparatus for collecting and displaying information from diverse computer resources
JPH06324928A (ja) * 1993-05-14 1994-11-25 Mitsubishi Electric Corp ログ生成装置とファイルの異なるバージョンの調停のための装置及び異なる場所にあるコンピュータファイルの異なるバージョンを調停するための装置
EP0647909B1 (en) * 1993-10-08 2003-04-16 International Business Machines Corporation Information catalog system with object-dependent functionality
US5704029A (en) 1994-05-23 1997-12-30 Wright Strategies, Inc. System and method for completing an electronic form
US5652884A (en) * 1994-11-14 1997-07-29 Object Technology Licensing Corp. Method and apparatus for dynamic update of an existing object in an object editor
US5623601A (en) * 1994-11-18 1997-04-22 Milkway Networks Corporation Apparatus and method for providing a secure gateway for communication and data exchanges between networks
US5715403A (en) * 1994-11-23 1998-02-03 Xerox Corporation System for controlling the distribution and use of digital works having attached usage rights where the usage rights are defined by a usage rights grammar
US5613012A (en) * 1994-11-28 1997-03-18 Smarttouch, Llc. Tokenless identification system for authorization of electronic transactions and electronic transmissions
US5627658A (en) * 1994-12-14 1997-05-06 Xerox Corporation Automatic networked facsimile queuing system
US5684990A (en) * 1995-01-11 1997-11-04 Puma Technology, Inc. Synchronization of disparate databases
US5729735A (en) * 1995-02-08 1998-03-17 Meyering; Samuel C. Remote database file synchronizer
US5758354A (en) * 1995-04-28 1998-05-26 Intel Corporation Application independent e-mail synchronization
US5682524A (en) * 1995-05-26 1997-10-28 Starfish Software, Inc. Databank system with methods for efficiently storing non-uniform data records
US5680542A (en) * 1995-06-07 1997-10-21 Motorola, Inc. Method and apparatus for synchronizing data in a host memory with data in target MCU memory
US5752246A (en) * 1995-06-07 1998-05-12 International Business Machines Corporation Service agent for fulfilling requests of a web browser
US5721908A (en) * 1995-06-07 1998-02-24 International Business Machines Corporation Computer network for WWW server data access over internet
US5710918A (en) * 1995-06-07 1998-01-20 International Business Machines Corporation Method for distributed task fulfillment of web browser requests
US5745360A (en) * 1995-08-14 1998-04-28 International Business Machines Corp. Dynamic hypertext link converter system and process
US5634053A (en) * 1995-08-29 1997-05-27 Hughes Aircraft Company Federated information management (FIM) system and method for providing data site filtering and translation for heterogeneous databases
US5647002A (en) * 1995-09-01 1997-07-08 Lucent Technologies Inc. Synchronization of mailboxes of different types
US5630081A (en) * 1995-09-07 1997-05-13 Puma Technology, Inc. Connection resource manager displaying link-status information using a traffic light iconic representation
US5721914A (en) * 1995-09-14 1998-02-24 Mci Corporation System and method for hierarchical data distribution
US5757916A (en) * 1995-10-06 1998-05-26 International Series Research, Inc. Method and apparatus for authenticating the location of remote users of networked computing systems
US5758150A (en) * 1995-10-06 1998-05-26 Tele-Communications, Inc. System and method for database synchronization
US5727202A (en) * 1995-10-18 1998-03-10 Palm Computing, Inc. Method and apparatus for synchronizing information on two different computer systems
US5572643A (en) * 1995-10-19 1996-11-05 Judson; David H. Web browser with dynamic display of information objects during linking
US5713019A (en) * 1995-10-26 1998-01-27 Keaten; Timothy M. Iconic access to remote electronic monochrome raster data format document repository
US5832483A (en) * 1995-12-15 1998-11-03 Novell, Inc. Distributed control interface for managing the interoperability and concurrency of agents and resources in a real-time environment
US5765171A (en) * 1995-12-29 1998-06-09 Lucent Technologies Inc. Maintaining consistency of database replicas
US5978933A (en) * 1996-01-11 1999-11-02 Hewlett-Packard Company Generic fault tolerant platform
US5787441A (en) * 1996-01-11 1998-07-28 International Business Machines Corporation Method of replicating data at a field level
US5806074A (en) * 1996-03-19 1998-09-08 Oracle Corporation Configurable conflict resolution in a computer implemented distributed database
US5706502A (en) * 1996-03-25 1998-01-06 Sun Microsystems, Inc. Internet-enabled portfolio manager system and method
US5857201A (en) * 1996-06-18 1999-01-05 Wright Strategies, Inc. Enterprise connectivity to handheld devices
JP3224745B2 (ja) * 1996-07-09 2001-11-05 株式会社日立製作所 高信頼化ネットワークシステム及びサーバ切り替え方法
US5758355A (en) 1996-08-07 1998-05-26 Aurum Software, Inc. Synchronization of server database with client database using distribution tables
US5870759A (en) * 1996-10-09 1999-02-09 Oracle Corporation System for synchronizing data between computers using a before-image of data
US5790790A (en) * 1996-10-24 1998-08-04 Tumbleweed Software Corporation Electronic document delivery system in which notification of said electronic document is sent to a recipient thereof
US6141664A (en) * 1996-11-13 2000-10-31 Puma Technology, Inc. Synchronization of databases with date range
US6044381A (en) * 1997-09-11 2000-03-28 Puma Technology, Inc. Using distributed history files in synchronizing databases
US6212529B1 (en) * 1996-11-13 2001-04-03 Puma Technology, Inc. Synchronization of databases using filters
US5943676A (en) * 1996-11-13 1999-08-24 Puma Technology, Inc. Synchronization of recurring records in incompatible databases
US6405218B1 (en) * 1996-11-13 2002-06-11 Pumatech, Inc. Synchronizing databases
US5785355A (en) * 1996-11-19 1998-07-28 Kobel, Inc. Single unit phone card assembly and method of producing same
US6708221B1 (en) * 1996-12-13 2004-03-16 Visto Corporation System and method for globally and securely accessing unified information in a computer network
US6085192A (en) * 1997-04-11 2000-07-04 Roampage, Inc. System and method for securely synchronizing multiple copies of a workspace element in a network
US6023708A (en) * 1997-05-29 2000-02-08 Visto Corporation System and method for using a global translator to synchronize workspace elements across a network
US6131116A (en) * 1996-12-13 2000-10-10 Visto Corporation System and method for globally accessing computer services
US6006274A (en) 1997-01-30 1999-12-21 3Com Corporation Method and apparatus using a pass through personal computer connected to both a local communication link and a computer network for indentifying and synchronizing a preferred computer with a portable computer
US5790425A (en) * 1997-02-19 1998-08-04 Sun Microsystems, Inc. Generic server benchmarking framework in a client-server environment
US5961590A (en) * 1997-04-11 1999-10-05 Roampage, Inc. System and method for synchronizing electronic mail between a client site and a central site
US5909689A (en) * 1997-09-18 1999-06-01 Sony Corporation Automatic update of file versions for files shared by several computers which record in respective file directories temporal information for indicating when the files have been created
US5924096A (en) * 1997-10-15 1999-07-13 Novell, Inc. Distributed database using indexed into tags to tracks events according to type, update cache, create virtual update log on demand
US6081806A (en) * 1998-01-15 2000-06-27 Inventec Corporation Computer database synchronization method
US6151606A (en) * 1998-01-16 2000-11-21 Visto Corporation System and method for using a workspace data manager to access, manipulate and synchronize network data
US6925477B1 (en) * 1998-03-31 2005-08-02 Intellisync Corporation Transferring records between two databases
US6233341B1 (en) * 1998-05-19 2001-05-15 Visto Corporation System and method for installing and using a temporary certificate at a remote site
US6131096A (en) * 1998-10-05 2000-10-10 Visto Corporation System and method for updating a remote database in a network
US6449622B1 (en) * 1999-03-08 2002-09-10 Starfish Software, Inc. System and methods for synchronizing datasets when dataset changes may be received out of order
US6516314B1 (en) * 1998-11-17 2003-02-04 Telefonaktiebolaget L M Ericsson (Publ) Optimization of change log handling
US6694335B1 (en) * 1999-10-04 2004-02-17 Microsoft Corporation Method, computer readable medium, and system for monitoring the state of a collection of resources
US20030078880A1 (en) * 1999-10-08 2003-04-24 Nancy Alley Method and system for electronically signing and processing digital documents
US20020055351A1 (en) * 1999-11-12 2002-05-09 Elsey Nicholas J. Technique for providing personalized information and communications services
US8156074B1 (en) * 2000-01-26 2012-04-10 Synchronoss Technologies, Inc. Data transfer and synchronization system
US6493727B1 (en) 2000-02-07 2002-12-10 Hewlett-Packard Company System and method for synchronizing database in a primary device and a secondary device that are derived from a common database
US6820088B1 (en) * 2000-04-10 2004-11-16 Research In Motion Limited System and method for synchronizing data records between multiple databases
US20050278641A1 (en) * 2000-11-30 2005-12-15 Steve Mansour Javascript Calendar Application Delivered to a Web Browser
US20020069298A1 (en) * 2000-12-01 2002-06-06 Jorgen Birkler Mobile terminal having multiple personal information management functionality
US20040190688A1 (en) * 2003-03-31 2004-09-30 Timmins Timothy A. Communications methods and systems using voiceprints
JP2002215582A (ja) * 2000-12-28 2002-08-02 Morgan Stanley Dean Witter Japan Ltd 認証方法及び装置
US6941326B2 (en) * 2001-01-24 2005-09-06 Microsoft Corporation Accounting for update notifications in synchronizing data that may be represented by different data structures
US6885388B2 (en) * 2001-04-25 2005-04-26 Probaris Technologies Inc. Method for automatically generating list of meeting participants and delegation permission
US7430609B2 (en) * 2001-04-30 2008-09-30 Aol Llc, A Delaware Limited Liability Company Managing access to streams hosted on duplicating switches
ATE350868T1 (de) * 2001-05-10 2007-01-15 Nortel Networks Ltd System und verfahren zur umleitung von kommunikation zwischen mobiltelekommunikationsnetzen mit unterschiedlichen funkzugangstechnologien
WO2003026235A1 (en) * 2001-09-21 2003-03-27 Research In Motion Limited System and method for managing data items
EP1459213B1 (en) * 2001-11-15 2017-05-10 Good Technology Holdings Limited System and methods for asychronous synchronization
US7373362B2 (en) * 2001-11-19 2008-05-13 Extended Systems, Inc. Coordinated synchronization
US20030172070A1 (en) * 2002-03-06 2003-09-11 Sawadsky Nicholas Justin Synchronous peer-to-peer multipoint database synchronization
US7346616B2 (en) * 2002-03-20 2008-03-18 Extended System, Inc. Synchronizing data shared between two devices independent of any other devices that may also share the data
EP1495420B1 (en) * 2002-04-17 2008-11-12 Nokia Corporation Method and network device for synchronization of database data routed through a router
GB0211736D0 (en) 2002-05-21 2002-07-03 Commtag Ltd Data communications systems
US20040010510A1 (en) * 2002-07-10 2004-01-15 Timo Hotti Method and system for database synchronization
US7085787B2 (en) * 2002-07-19 2006-08-01 International Business Machines Corporation Capturing data changes utilizing data-space tracking
US20040139235A1 (en) * 2002-11-01 2004-07-15 Gus Rashid Local intelligence, cache-ing and synchronization process
BR0315910A (pt) * 2002-11-04 2005-09-13 Research In Motion Ltd Método de estabelecer, e restabelecer automaticamente, uma conexão de dados em uma rede de dados sem fio e dispositivo móvel para estabelecer e manter a mesma conexão de dados
US20040255137A1 (en) * 2003-01-09 2004-12-16 Shuqian Ying Defending the name space
US20040176128A1 (en) * 2003-01-30 2004-09-09 3Com Corporation System, mobile communications unit, and softswitch method and apparatus for establishing an Internet Protocol communication link
FR2850814A1 (fr) 2003-02-03 2004-08-06 France Telecom Systeme et procede de synchronisation de donnees entre des portails de services et plate-forme d'acces a des services utilisant un tel systeme de synchronisation
US20050005259A1 (en) * 2003-03-14 2005-01-06 Infowave Software, Inc. System and method for communication and mapping of business objects between mobile client devices and a plurality of backend systems
US7895338B2 (en) * 2003-03-18 2011-02-22 Siemens Corporation Meta-search web service-based architecture for peer-to-peer collaboration and voice-over-IP
US7406499B2 (en) * 2003-05-09 2008-07-29 Microsoft Corporation Architecture for partition computation and propagation of changes in data replication
WO2004102858A2 (en) * 2003-05-13 2004-11-25 Cohen Hunter C Deriving contact information from emails
GB2402297B (en) * 2003-05-15 2005-08-17 Sun Microsystems Inc Update dependency control for multi-master replication
US7685127B2 (en) * 2003-06-04 2010-03-23 Sap Ag Database access system, method of accessing a database, and method of designing a database access system
US7822831B2 (en) * 2003-07-31 2010-10-26 International Business Machines Corporation Method, system and program product for preserving and restoring mobile device user settings
US8825502B2 (en) * 2003-09-30 2014-09-02 Epic Systems Corporation System and method for providing patient record synchronization in a healthcare setting
EP1622009A1 (en) * 2004-07-27 2006-02-01 Texas Instruments Incorporated JSM architecture and systems
US7720845B2 (en) * 2004-08-13 2010-05-18 Yahoo! Inc. Systems and methods for updating query results based on query deltas
US7412657B2 (en) * 2004-08-26 2008-08-12 International Business Machines Corporation Systems, methods, and media for updating an instant messaging system
WO2006061463A1 (en) 2004-12-10 2006-06-15 Seven Networks International Oy Database synchronization
FI121900B (fi) 2004-12-10 2011-05-31 Seven Networks Internat Oy Tietokannan synkronointi
FI120165B (fi) 2004-12-29 2009-07-15 Seven Networks Internat Oy Tietokannan synkronointi matkaviestinverkon kautta

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9298792B2 (en) 2004-12-10 2016-03-29 Seven Networks, Llc Database synchronization
US8620858B2 (en) 2004-12-29 2013-12-31 Seven Networks International Oy Database synchronization via a mobile network

Also Published As

Publication number Publication date
EP1846843A4 (en) 2008-02-20
FI20045508A0 (fi) 2004-12-29
US20140324504A1 (en) 2014-10-30
WO2006070071A1 (en) 2006-07-06
US20060184591A1 (en) 2006-08-17
US9460104B2 (en) 2016-10-04
US20160371359A1 (en) 2016-12-22
EP1846843A1 (en) 2007-10-24
EP1846843B1 (en) 2014-04-23
US10089376B2 (en) 2018-10-02
FI20045508A (fi) 2006-06-30
US8620858B2 (en) 2013-12-31
US20180357295A1 (en) 2018-12-13

Similar Documents

Publication Publication Date Title
FI120165B (fi) Tietokannan synkronointi matkaviestinverkon kautta
US7836264B2 (en) Method of replicating data between computing devices which each use local clocks
US20020107904A1 (en) Remote service agent for sending commands and receiving data over e-mail network
US7243163B1 (en) System and method for full wireless synchronization of a data processing apparatus with a messaging system
US6604104B1 (en) System and process for managing data within an operational data store
JP3837291B2 (ja) アプリケーション独立形メッセージングシステム
US7035878B1 (en) Base rolling engine for data transfer and synchronization system
US7739412B2 (en) Synchronization modification
US7287058B2 (en) Methods, systems and computer program products for performing document-inclusion operations over a network
EP1130513A2 (en) Data transfer and synchronization system
US20020087634A1 (en) Technique for enabling wireless messaging systems to use alternative message delivery mechanisms
CN101322147A (zh) 消息收发服务
JP2009199606A (ja) 処理状態を把握するウェブ・ベースのコンピュータ・システムと方法
JP2001356950A (ja) データ転送及び同期システム
JP2001356949A (ja) データ転送及び同期システム
US10282255B2 (en) Coordinating file synchronization between a sync engine and another application that supports document collaboration
EP1493086A1 (en) System and method for full wireless synchronization of a data processing apparatus with a data service
CN101184123A (zh) 一种通讯录中的联系人信息的获取方法、系统及通信终端
US20050148352A1 (en) Short message system for mobile devices
US7716343B2 (en) System and method for operating a networked software application on a network with sporadic connectivity
FI121900B (fi) Tietokannan synkronointi
US20060187915A1 (en) Method and apparatus for updating a wireless telephone
Xu et al. Design and implementation of mobile phone management software based on component technology
US6907274B1 (en) Methods and systems for using network capabilities to correct phone displays
KR20010085501A (ko) 클라이언트 시스템과 호스트 시스템 간의 데이터베이스동기화 시스템 및 그 방법

Legal Events

Date Code Title Description
PC Transfer of assignment of patent

Owner name: SEVEN NETWORKS INTERNATIONAL OY

Free format text: SEVEN NETWORKS INTERNATIONAL OY

FG Patent granted

Ref document number: 120165

Country of ref document: FI