FI121900B - Tietokannan synkronointi - Google Patents

Tietokannan synkronointi Download PDF

Info

Publication number
FI121900B
FI121900B FI20045472A FI20045472A FI121900B FI 121900 B FI121900 B FI 121900B FI 20045472 A FI20045472 A FI 20045472A FI 20045472 A FI20045472 A FI 20045472A FI 121900 B FI121900 B FI 121900B
Authority
FI
Finland
Prior art keywords
party
data element
change amount
naa
data
Prior art date
Application number
FI20045472A
Other languages
English (en)
Swedish (sv)
Other versions
FI20045472A (fi
FI20045472A0 (fi
Inventor
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 FI20045472A priority Critical patent/FI121900B/fi
Publication of FI20045472A0 publication Critical patent/FI20045472A0/fi
Priority to EP05817671A priority patent/EP1828932A4/en
Priority to PCT/FI2005/050452 priority patent/WO2006061463A1/en
Priority to US11/296,255 priority patent/US9298792B2/en
Publication of FI20045472A publication Critical patent/FI20045472A/fi
Application granted granted Critical
Publication of FI121900B publication Critical patent/FI121900B/fi

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

Tietokannan synkronointi
Keksinnön tausta
Keksintö liittyy menetelmiin ja laitteistoihin tietokannan synkronointia varten kahden osapuolen välillä. Hyvin yleisessä mutta ei rajoittavassa sovel-5 luksessa yksi osapuoli on pöytätietokone ja toinen on kannettava tietokone, taskutietokone tai ’’älykäs” puhelin. Useimmissa sovelluksissa kumpikin osapuoli käsittää oman dataprosessorinsa, mutta keksintöä voidaan käyttää myös sovelluksissa, joissa yksi dataprosessori synkronoi dataelementtejä kahden datamuistin välillä, ja osapuolet voidaan tulkita yhdessä prosessorissa oleviksi 10 prosesseiksi. Tietokanta sisältää dataelementtejä, kuten dokumentteja tai ka-lenteritapahtumia, joita kumpikin osapuoli voi muuttaa. Synkronointi, niin kuin termiä yleisesti käytetään tietokantojen yhteydessä, tarkoittaa sitä, että vähennetään tai eliminoidaan eroja osapuolissa ylläpidettyjen tietokantakopioiden välillä, jotka kopiot ovat oletettavasti samanlaisia, mutta ainakin yksi tietokanta 15 käsittää muutettuja dataelementtejä, jotka eivät näy toisessa tietokannassa.
On yleisesti tunnettua varustaa dataelementit aikaleimoilla, jotka osoittavat viimeisen muutoksen ajankohdan. Graafiset käyttöliittymät käyttävät ’’vedä ja pudota” -metaforaa, jolla käyttäjä voi vetää joukon tiedostoja yhdestä sijainnista toiseen siten, että tiedostojen tuoreimmat versiot korvaavat van-20 hemmat. Synkronointi kahden kansion välillä voidaan saada aikaan suorittamalla "vedä ja pudota” -toiminto molempiin suuntiin. Mutta aikaleimaan perustuvaa synkronointia ei voida käyttää, jos dataelementeillä ei ole aikaleimoja. Toinen ongelma on, että jos osapuolten kellot ovat siirtyneet toisiinsa nähden, dataelementin vanhempi versio voi vahingossa kirjoittua tuoreemman päälle.
25 US-hakemusjulkaisussa 2004/0024795 esitetään A-osapuolen ja B- o osapuolten ylläpitämiin synkronointiparametreihin perustuva tietokannan synk-
CM
ronointitekniikka, joka kuitenkin keskittyy konfliktin havaitsemiseen ja jättää ° avoimeksi sen kysymyksen, millä tavalla tai hetkellä tietokannan synkronointi
LO
00 on parasta suorittaa.
X
en
CL
30 Keksinnön lyhyt selostus C\l ^ Keksinnön tavoitteena on siten kehittää menetelmä ja menetelmän
lO
o toteuttava laitteisto siten, että yllä mainitut ongelmat saadaan ratkaistua. Kek- o ^ sinnön tavoite saavutetaan menetelmällä ja järjestelmällä, joille on tunnus omaista se, mitä sanotaan itsenäisissä patenttivaatimuksissa. Keksinnön edul-35 liset suoritusmuodot ilmenevät epäitsenäisistä patenttivaatimuksista.
2
Keksinnön eräs näkökohta on menetelmä tietokannan synkronoimi-seksi A-osapuolen ja B-osapuolen välillä. 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 tietokoneen ohjelmistotuote, joka saa datapro-5 sessorin suorittamaan menetelmän, kun ohjelmistotuote suoritetaan.
Keksintö perustuu siihen ajatukseen, että kukin osapuoli ylläpitää kahta muutosmäärää dataelementtiä kohti. Ensimmäinen muutosmäärä pitää lukua osapuolen itsensä tekemistä muutoksista dataelementtiin, kun taas toinen muutosmäärä pitää lukua vastinelementin, siis toisen osapuolen, tekemis-10 tä 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 osapuolelle, montako muutosta osapuoli on tehnyt ja kuinka monesta vastinosapuolen muutoksesta osapuoli on tietoinen. 15 Kumpikin osapuoli havaitsee konfliktin, mikäli vastinosapuolen ylläpitämä muutosmäärä eroaa vastaavasta osapuolen itsensä ylläpitämästä muutosmääräs-tä. Tällainen ero muutosmäärissä toimii osoittimena siitä, että vastinosapuolel-ta vastaanotettu dataelementti ei edustanut kaikkia konfliktin havainneen osapuolen tekemiä muutoksia.
20 Yllä selostetun keksinnöllisen ajatuksen eräässä variaatiossa kum pikin osapuoli voi lähettää vastinosapuolelleen kunkin muuttamansa dataelementin tunnisteen plus kaksi muutosmäärää. Vertaamalla vastaanotettuja muutosmääriä vastaaviin paikallisesti ylläpidettyihin muutosmääriin osapuolet voivat määrittää, mitä dataelementtejä on muutettu viimeisimmän synkronoin-25 nin jälkeen, ja pyytää muutettujen dataelementtien lähettämistä erikseen. Nä-mä kaksi tekniikkaa voidaan tiivistää sanomalla, että kumpikin osapuoli lähet-5 tää vastinosapuolelleen osoituksen muuttamastaan dataelementistä plus kaksi
(M
^ muutosmäärää. Osoitus voi olla dataelementin tunniste tai dataelementti itse.
^ Kahden muutosmäärän lisäksi osapuolta kohti on edullista ylläpitää ^ 30 jonkinlaista kirjanpitoa siitä, mitä dataelementtejä on muutettu viimeisimmän £ synkronointitapahtuman jälkeen, jolloin vain muutetut dataelementin on synk- cu ronoitava. Tällainen kirjanpito voi perustua esimerkiksi dataelementtien aikani leimoihin, joita verrataan viimeisimmän synkronoinnin ajankohtaan. Vaihtoeh- § toisesti kirjanpito voi perustua yhden bitin lippuun, joka merkitään ’’muutetuksi”, ^ 35 kun dataelementtiä muutetaan, ja ’’muuttamattomaksi”, kun dataelementit synkronoidaan.
3
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. Joissakin toteutuksissa yksi sovellus (esimerkiksi kalenterisovellus) voi vastata 5 dataelementtien muuttamisesta, kun taas erillinen sovellus (tietoliikennesovellus tai protokollakerros) vastaa muutettujen dataelementtien varsinaisesta lähettämisestä.
Keksinnön mukaisen menetelmän ja järjestelyn eräänä etuna on, että dataelementtien synkronointi on mahdollista ilman, että kukin dataelementti 10 varustetaan aikaleimalla. Toisena etuna on, että synkronointi on mahdollista, vaikka osapuolten kellot olisivat siirtyneet toisiinsa nähden.
Keksintö soveltuu erityisesti matkaviestinsovelluksiin, koska muutettua dataelementtiä vastaanottavan osapuolen ei tarvitse kuitata vastaanotetun dataelementin vastaanottamista. Dataelementin lähettävä osapuoli voi määrit-15 tää seuraavasta muutosmäärien parista, vastaanottiko sen vastinosapuoli todella muutetun dataelementin.
Kuvioiden lyhyt selostus
Keksintöä selostetaan nyt lähemmin edullisten suoritusmuotojen yhteydessä, viitaten oheisiin piirroksiin, joista: 20 Kuvio 1 esittää hypoteettista tapahtumajoukkoa keksinnön mukai sessa synkronointiprosessissa;
Kuvio 2 esittää käyttöliittymän näyttöä käyttäjän avustamaa konflik-tinselvitystä varten; ja
Kuvio 3 esittää dataelementtien yhdistelmää konfliktitilanteessa.
^ 25 Keksinnön yksityiskohtainen selostus o ^ Kuvio 1 esittää hypoteettista tapahtumajoukkoa keksinnön mukai- 9 sessa synkronointiprosessissa. Kuvion 1 vasen puoli liittyy A-osapuoleen ja eu oikea puoli B-osapuoleen. Viitenumerot 100A ja 100B osoittavat dataelementin g kopioita (versiota) vastaavasti A- ja B-osapuolella.
CL
30 Vaiheessa 1-0 uusi dataelementti 100A, kuten sähköinen doku- mentti tai kalenteritapahtuma, luodaan A-osapuolella. Tällä hetkellä dataele-
LO
g menttiä ei vielä ole B-osapuolella. Vaiheessa 1-2 A-osapuoli havaitsee synk- ° ronointiliipaisun ja lähettää dataelementin 100A B-osapuolelle. Synkronointilii- paisu voi olla muutetun (tässä tapauksessa: juuri luodun) dataelementin ole-35 massaolo yhtaikaa osapuolten välisen datayhteyden kanssa. Kumpikin osa- 4 puoli ylläpitää kahta dataelementtiin liittyvää muutosmäärää. Muutosmääriä osoitetaan seuraavilla viitemerkeillä: - N aa, A:n tekemät muutokset, A:n näkeminä; - Nba, B:n tekemät muutokset, A:n näkeminä; 5 - NAb, A:n tekemät muutokset, B:n näkeminä; ja - NBb, B:n tekemät muutokset, B:n näkeminä.
Kuvion 1 esittämässä suoritusmuodossa dataelementin luontia pidetään muutoksena, minkä vuoksi vaiheiden 1-0 ja 1-2 jälkeen muutosmäärien Naa ja Nab arvo on 1. Keksintö toimii kuitenkin yhtä hyvin, jos dataelementin 10 luontia alussa ei pidetä muutoksena ja muutosmäärät alkavat nollasta.
Vaiheessa 1-4 A-osapuoli muuttaa dataelementtiä 100A. Synkronointi ei tapahdu välittömästi, mahdollisesti siksi että osapuolten välillä ei ole datayhteyttä. Muutosmäärä Naa on 2, koska A tietää muuttaneensa dataelementtiä kahdesti. Muutosmäärä NAb pysyy arvossa 1, koska B ei ole vielä tie-15 toinen viimeisimmästä muutoksesta.
Vaiheessa 1-6 dataelementti synkronoidaan taas. Toisin sanoen A lähettää B:lle dataelementin 100A sekä muutosmäärät Naa ja NBa- B vertaa vastaanotettuja muutosmääriä vastaaviin itse ylläpitämiinsä muutosmääriin Nab ja Nbb· Koska Naa = 2 ja Nab = 1, B havaitsee, että A on muuttanut dataele-20 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 1-8 B-osapuoli muuttaa omaa dataelementin kopiotaan 100B. Selvyyden vuoksi A-ja B-osapuolet lisäävät dataelementtiin vastaavasti 25 kirjaimia ”A” ja ”B”, suurina tai pieninä kirjaimina. Koska tämä on B:n ensim-mäinen muutos dataelementtiin, B myös muuttaa muutosmäärän Nbb arvoon 1. o Muutosmäärä NBA pysyy arvossa ”0”, koska A ei vielä ole tietoinen B:n teke- + mästä muutoksesta.
^ Vaiheessa 1-10 dataelementti synkronoidaan taas. B lähettää A:lle ^ 30 dataelementin 100B sekä muutosmäärät NAb ja NBB. A vertaa vastaanotettuja
X
£ muutosmääriä vastaaviin itse ylläpitämiinsä muutosmääriin Naa ja NBA- Koska c\j NBB = 1 ja Nba = ”0”, A havaitsee, että B on muuttanut dataelementtiä vaihees- 2> sa 1-6 tapahtuneen viimeisimmän synkronoinnin jälkeen. A voi hyväksyä muu- g tetun dataelementin, koska muutosmäärä NAb on yhtä suuri kuin muutosmäärä
C\J
35 Naa (kummankin arvo on 2).
Vaiheessa 1-12 kumpikin osapuoli A ja B muuttavat vastaavia data-elementin kopioitaan 100A ja 100B sekä muutosmääriä. A osapuoli kasvattaa 5 muutosmäärän Naa arvoon 3, ja B kasvattaa muutosmäärän Nbb arvoon 2. Mutta kumpikaan osapuoli ei ole vielä tietoinen kumppaninsa tekemästä muutoksesta.
Viitenumero 1-14A kuvaa tilannetta, jossa B yrittää lähettää A:lle da-5 taelementin 100B. 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 = 1, A havaitsee, että B on muuttanut dataelementtiä viimeisimmän synkronoinnin jälkeen. Mutta A ei voi hyväksyä muutettua dataelementtiä, koska vastaanotettu muutosmäärä Nab (arvo 2) on pienempi 10 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äpitä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 15 A:n tekemät muutokset menetettäisiin. Suuri ”X” nuolen yllä vaiheessa 1-14 osoittaa sitä, että A ei hyväksy muutettua dataelementtiä, ei ainakaan ilman jonkinlaista konfliktinselvitystä. Kuvion 1 tarkoituksiin oletetaan, että A hylkää B:n lähettämän dataelementin.
Viitenumero 1-14B kuvaa tilannetta, jossa A yrittää lähettää data-20 elementtiä 100A B:lle. Tilanne on symmetrinen aiemmin selostetun tilanteen 1-14A kanssa. Tässä tapauksessa B havaitsee konfliktin, koska A:lta vastaanotettu muutosmäärä NBa (arvo = 1) on pienempi kuin vastaava B:n itsensä 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.
25 Kuvion 1 esittämässä tapahtumasarjassa oletettiin, että synkronoin- titapahtumissa 1-6 ja 1-10 muutosmäärien yhteydessä lähetettiin myös muute-o tut dataelementit 100A ja 100B. On myös mahdollista lähettää vain muutetun .A dataelementin tunniste, jolloin muutosmäärät vastaanottava osapuoli vertaa 0 ^ vastaanotettuja muutosmääriä niiden paikallisesti ylläpidettyihin vastineisiin ja ^ 30 pyytää varsinaista dataelementtiä vain jos sitä on muutettu.
1 CC Q_
Kuvio 2 esittää käyttöliittymän näyttöä käyttäjän avustamaa konflikti tinselvitystä varten. Kuvion 1 vaiheessa 1-12 kumpikin osapuoli A ja B muutti- § vat dataelementin kopioita 100A ja 100B, kun synkronointi ei ollut mahdollista.
O
«m Synkronointiyritykset vaiheissa 1-14A ja 1-14B aiheuttivat konfliktinhavaitsemi- 35 sen toisen osapuolen havaitessa että sen kumppani ei ollut tietoinen kaikista dataelementtiin tehdyistä muutoksista.
6
Synkronointitekniikka käsittää edullisesti joukon ennalta määrättyjä sääntöjä konfliktinselvitystä varten. Käytettävissä olevat säännöt voidaan näyttää käyttäjän valittaviksi, tai ne voidaan valita joillakin ennalta määrätyillä kriteereillä, jotka voivat perustua esimerkiksi dataelementin tyyppiin.
5 Kuvio 2 esittää käyttöliittymän näyttöä 20. Viitenumero 22 osoittaa käytettävissä olevien sääntöjen valikkoa. Käyttäjä voi esimerkiksi valita data-elementtien 100A ja 100B tuoreimman kopion, mikäli oletetaan että kummallakin dataelementillä on aikaleima. Vaihtoehtoisesti käyttäjä voi valita suuremman version tai eksplisiittisesti yhden version (A:n tai B:n version). Tai käyttäjä 10 voi päättää näyttää molemmat versiot samanaikaisesti ja tehdä valinnan nähtyään molemmat versiot. Viimeisenä vaihtoehtona käyttäjä voi päättää yhdistää dataelementtien versiot.
Kuvio 3 esittää dataelementtien yhdistelmää 30. Viitenumerot 31 ja 32 osoittavat vastaavasti dataa, joka on vastaanotettu A-osapuolelta (versio 15 100A) ja B-osapuolelta (versio 100B).
Sen sijaan, että käytettävissä olevat säännöt näytetään käyttäjän valittaviksi, konfliktin havaitseva osapuoli voi valita jonkin säännön automaattisesti, edullisesti dataelementin tyypin perusteella. Esimerkiksi jos dataelementit ovat kalenteritapahtumia, on suhteellisen turvallista olettaa, että uudemman 20 tulee korvata vanhempi. Jos dataelementit ovat tekstinkäsittelyn dokumentteja, dokumentit voidaan yhdistää käyttäjän myöhempää editointia varten.
Alan ammattilaiselle on ilmeistä, että tekniikan kehittyessä keksinnön perusajatus voidaan toteuttaa monin eri tavoin. Keksintö ja sen suoritusmuodot eivät siten rajoitu yllä kuvattuihin esimerkkeihin vaan ne voivat vaihdel-25 la patenttivaatimusten puitteissa.
δ
(M
δ i tn
(M
X
en
CL
(M
h-· sj- m sj- o o
(M

Claims (8)

1. Menetelmä tietokannan synkronoimiseksi A-osapuolen ja B-osapuolen välillä, joka tietokanta sisältää synkronoitavia dataelementtejä (100A, 100B), jossa menetelmässä: 5. ylläpidetään A-osapuolessa tietokannan kopiota ja osoitusta viimei simmästä synkronoinnista A-osapuolen ja B-osapuolen välillä; - ylläpidetään A-osapuolessa A-muutosmäärää (Naa) ja B-muutosmäärää (NBa) kunkin synkronoitavan dataelementin osalta; - missä A-muutosmäärä (Naa) osoittaa A-osapuolen tekemien muutos- 10 ten määrän dataelementtiin ja B-muutosmäärä (Nba) osoittaa B- osapuolen tekemien ja A-osapuolen tuntemien muutosten määrän dataelementtiin; vasteena synkronoinnin liipaisulle; - lähetetään A-osapuolelta B-osapuolelle osoitus kustakin dataele- 15 mentistä (100A), jota A-osapuoli on muuttanut viimeisimmän synk- ronointitapahtuman jälkeen sekä A-muutosmäärä (Naa) ja B-muutosmäärä (NBa) kunkin synkronoitavan dataelementin osalta; - vastaanotetaan A-osapuolella B-osapuolelta osoitus kustakin data-elementistä (100B), jota B-osapuoli on muuttanut viimeisimmän 20 synkronointitapahtuman jälkeen sekä A-muutosmäärä (NAb) ja B- muutosmäärä (NBb) kunkin synkronoitavan dataelementin osalta; - havaitaan konflikti, mikäli vastaanotettu A-muutosmäärä (NAb) eroaa ylläpidetystä A-muutosmäärästä (Naa); tunnettu siitä, että: 25. vaihe osoituksen lähettämiseksi kustakin A-osapuolen muuttamasta ^ dataelementistä käsittää dataelementin tunnisteen lähettämisen ja Q itse dataelementin lähettäminen on vasteellinen erilliselle pyynnölle £ B-osapuolelta. JQ
2. Patenttivaatimuksen 1 mukainen menetelmä, tunnettu siitä, et- x 30 tä se lisäksi käsittää mainitun konfliktin selvittämisen ennalta määrätyn sääntö- α joukon (22) mukaan. (M h*.
3. Patenttivaatimuksen 2 mukainen menetelmä, tunnettu siitä, et- LO o tä konfliktin selvittämisvaihe käsittää ylläpidetyn dataelementin ja vastaanote- ^ tun dataelementin näyttämisen käyttöliittymässä. 8
4. Patenttivaatimuksen 2 mukainen menetelmä, tunnettu siitä, että konfliktin selvittämisvaihe käsittää ylläpidetyn dataelementin ja vastaanotetun dataelementin tarjoamisen käyttäjän valittaviksi käyttöliittymän kautta.
5. Patenttivaatimuksen 2 mukainen menetelmä, tunnettu siitä, et-5 tä konfliktin selvittämisvaihe käsittää ylläpidetyn dataelementin ja vastaanotetun dataelementin yhdistämisen yhdeksi dataelementiksi.
6. Jonkin edellisen patenttivaatimuksen mukainen menetelmä, tunnettu siitä, että se lisäksi käsittää A-osapuolen ja B-osapuolen kytkemisen matkaviestinverkon kautta.
7. Laitteisto, joka on sovitettu toimimaan A-osapuolena tietokannan synkronoimisessa B-osapuolen kanssa, missä tietokanta sisältää synkronoitavia dataelementtejä (100A, 100B), joka laitteisto käsittää: - välineet ylläpitämään tietokannan kopiota ja osoitusta viimeisimmästä synkronoinnista A-osapuolen ja B-osapuolen välillä; 15. välineet ylläpitämään A-muutosmäärää (Naa) ja B-muutosmäärää (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 20 dataelementtiin; - sekä synkronoinnin liipaisulle vasteelliset välineet: - lähettämään A-osapuolelta B-osapuolelle osoitus kustakin dataele mentistä (100A), jota A-osapuoli on muuttanut viimeisimmän synk-ronointitapahtuman jälkeen sekä A-muutosmäärä (Naa) ja B- ^ 25 muutosmäärä (NBa) kunkin synkronoitavan dataelementin osalta; o - vastaanottamaan A-osapuolella B-osapuolelta osoitus kustakin da- taelementistä (100B), jota B-osapuoli on muuttanut viimeisimmän o ^ synkronointitapahtuman jälkeen sekä A-muutosmäärä (NAb) ja B- 0X1 muutosmäärä (NBB) kunkin synkronoitavan dataelementin osalta; X 30. havaitsemaan konflikti, mikäli vastaanotettu A-muutosmäärä (NAb) cvj eroaa ylläpidetystä A-muutosmäärästä (Naa); S tunnettu siitä, että mainitut välineet osoituksen lähettämiseksi § kustakin A-osapuolen muuttamasta dataelementistä on sovitettu lähettämään C\j dataelementin tunnisteen ja itse dataelementin lähettäminen on vasteellinen 35 erilliselle pyynnölle B-osapuolelta. 9
8. Dataprosessorissa suoritettava tietokoneen ohjelmistotuote, tunnettu siitä, että ohjelmistotuote käsittää ohjelmakäskyjä dataprosessorin saamiseksi suorittamaan patenttivaatimuksen 1 mukainen menetelmä, kun ohjelmistotuote suoritetaan dataprosessorissa. 5 δ (M δ i tn (M X en CL (M h-· sj- in sj- o o (M 10
FI20045472A 2004-12-10 2004-12-10 Tietokannan synkronointi FI121900B (fi)

Priority Applications (4)

Application Number Priority Date Filing Date Title
FI20045472A FI121900B (fi) 2004-12-10 2004-12-10 Tietokannan synkronointi
EP05817671A EP1828932A4 (en) 2004-12-10 2005-12-07 DATABASE SYNCHRONIZATION
PCT/FI2005/050452 WO2006061463A1 (en) 2004-12-10 2005-12-07 Database synchronization
US11/296,255 US9298792B2 (en) 2004-12-10 2005-12-08 Database synchronization

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FI20045472A FI121900B (fi) 2004-12-10 2004-12-10 Tietokannan synkronointi
FI20045472 2004-12-10

Publications (3)

Publication Number Publication Date
FI20045472A0 FI20045472A0 (fi) 2004-12-10
FI20045472A FI20045472A (fi) 2006-06-11
FI121900B true FI121900B (fi) 2011-05-31

Family

ID=33548074

Family Applications (1)

Application Number Title Priority Date Filing Date
FI20045472A FI121900B (fi) 2004-12-10 2004-12-10 Tietokannan synkronointi

Country Status (1)

Country Link
FI (1) FI121900B (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

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
FI20045472A (fi) 2006-06-11
FI20045472A0 (fi) 2004-12-10

Similar Documents

Publication Publication Date Title
US9298792B2 (en) Database synchronization
US10893081B2 (en) Real time collaboration and document editing by multiple participants in a content management system
FI120165B (fi) Tietokannan synkronointi matkaviestinverkon kautta
US7373362B2 (en) Coordinated synchronization
US7966426B2 (en) Offline synchronization capability for client application
KR100994139B1 (ko) 데이터가 여러 데이터 저장부들에 저장되는 방식을동기화하기 위한 방법 및 장치
US7620663B2 (en) Maintaining time-date information for syncing low fidelity devices
US11921749B2 (en) Synchronization adapter for synchronizing application data
EP1672545B1 (en) System and method for synchronization of data items without snapshots.
US8001077B2 (en) Distributed method for synchronizing and updating bookmarks on multiple computer devices
US8751442B2 (en) Synchronization associated duplicate data resolution
US20040172425A1 (en) Method for managing file replication in applications
CA2515323C (en) Apparatus and method for synchronizing databases by comparing hash values
US20180121402A1 (en) Transfer of content between documents of different storage types
CN102591910A (zh) 用于组合oltp数据库和olap数据库环境的计算机方法和系统
WO2002079993A1 (en) Methods for synchronizing on-line and off-line transcript projects
CN101689180A (zh) 服务器目录方案比较器
CN112364049B (zh) 数据同步脚本生成方法、系统、终端及存储介质
CN108021580A (zh) 一种数据同步更新方法及其系统
US20050076094A1 (en) Method and apparatus for synchronizing data between multiple memories
EP1564658A1 (en) Apparatus and associated method for synchronizing databases by comparing hash values.
FI121900B (fi) Tietokannan synkronointi
US7392519B2 (en) Localization cataloguing tool
US7546384B1 (en) Maintaining relative time stamps when transferring files across network
CN105871815A (zh) 一种数据传输方法及装置

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: 121900

Country of ref document: FI

MM Patent lapsed