FI112015B - Datan synkronoinnin järjestäminen tietoliikennejärjestelmässä - Google Patents
Datan synkronoinnin järjestäminen tietoliikennejärjestelmässä Download PDFInfo
- Publication number
- FI112015B FI112015B FI20012185A FI20012185A FI112015B FI 112015 B FI112015 B FI 112015B FI 20012185 A FI20012185 A FI 20012185A FI 20012185 A FI20012185 A FI 20012185A FI 112015 B FI112015 B FI 112015B
- Authority
- FI
- Finland
- Prior art keywords
- identifiers
- synchronization
- identifier
- mediator
- pairs
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/04—Speed or phase control by synchronisation signals
- H04L7/10—Arrangements for initial synchronisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/58—Message adaptation for wireless communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/28—Timers or timing mechanisms used in protocols
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Description
112015
Datan synkronoinnin järjestäminen tietoliikennejärjestelmässä
Keksinnön tausta
Keksintö liittyy datan synkronoinnin järjestämiseen, erityisesti da-tayksiköiden kaksoiskappaleiden havaitsemiseen useita synkronointipalvelimia 5 käsittävässä tietoliikennejärjestelmässä. Datan synkronointi on toiminto, jossa muodostetaan vastaavuus ainakin kahden datakokoelman välille niin, että da-takokoelmien datayksiköt vastaavat olennaisesti synkronoinnin jälkeen toisiaan.
Kannettavien päätelaitteiden, kuten kannettavien tietokoneiden, 10 PDA-laitteiden (Personal Digital Assistant), matkaviestimien tai hakulaitteiden dataa voidaan synkronoida verkkosovellusten, pöytätietokoneiden sovellusten tai muiden tietoliikennejärjestelmän tietokantojen kanssa. Tyypillisesti varsinkin kalenteri- ja sähköpostisovellusten dataa synkronoidaan. Synkronointi on aiemmin perustunut erilaisten valmistajakohtaisten protokollien käyttöön, jotka 15 eivät toimi toistensa kanssa. Tämä rajoittaa käytettävien päätelaitteiden tai datatyyppien käyttöä ja on monesti hankalaa käyttäjälle. Varsinkin matkaviestinnässä on tärkeää saada dataa hankituksi ja päivitetyksi käytettävästä päätelaitteesta ja sovelluksesta riippumatta. Sovellusdatan toimivampaa synkronointia varten on kehitetty XML-kieleen (Extensible Markup Language) perustuva : ... 20 SyncML (Synchronized Markup Language). SyncML-muotoisia viestejä käyttä- V.’ vän SyncML-synkronointiprotokollan avulla voidaan synkronoida minkä tahan- * * ’‘ sa sovelluksen dataa minkä tahansa verkotettujen päätelaitteiden välillä.
' ' Kuvio 1 havainnollistaa synkronointijärjestelmää, missä matkaviestin . i MS toimii asiakaslaitteena ja verkkopalvelimet S toimivat synkronointipalveli- : ‘': 25 minä. Asiakaslaite MS siirtää edellisen synkronointikerran jälkeen synkronoin- nin kohteena olevaan datajoukkoon tapahtuneet muutokset palvelimelle S, joka synkronoi datan eli analysoi asiakaslaitteen MS ja synkronoitavana olevan tietokannan dataan tehdyt muutokset ja yhdenmukaistaa (tekee tarvittavat . *· *. muokkaukset, korvaukset ja poistot) datan. Tämän jälkeen palvelin S palauttaa : 30 muutoksensa asiakaslaitteelle (MS), joka muuttaa datajoukkoa muutosten mu- kaisesti. Tavanomaisesti asiakaslaite-palvelinsynkronoinnissa (client-server :.,.: synchronization) asiakaslaitteella ja palvelimella on omat tunnisteensa datayk- siköille. Kuten esimerkiksi SyncML-spesifikaatiossa ”SyncML Sync Protocol,
IMI
: version 1.0.1”, kesäkuu 2001, kappaleessa 2.3 (sivut 12-13) on esitetty, palve- 35 limessa käytettäviä tunnisteita kutsutaan globaalitunnisteiksi GUID (Global Unique Identifier), jotka ovat aina mahdollisimman yksikäsitteisiä, eli niitä ei voi 2 112015 sekoittaa. Asiakaslaitteen tunnisteita kutsutaan paikallisiksi tunnisteiksi LUID (Local Unique Identifier). LUID-tunnisteet ovat muistin säästämiseksi lyhyempiä ja synkronointipalvelin ylläpitää vastaavuustaulukkoa (mapping table) GUID-ja LUID-tunnisteiden välillä. Asiakaslaite voi synkronoida dataa usean 5 palvelimen S kanssa ja myös palvelimet S voivat synkronoida keskenään dataa. Eräs yksinkertainen esimerkki tästä on, että pöytätietokoneeseen lisätään datayksikkö A ja sille allokoidaan tunniste GUID1. Pöytätietokone synkronoi matkaviestimen kanssa, jolloin sille allokoidaan lisäksi tunniste LUID1. Kun pöytätietokone ja sähköpostipalvelin ovat synkronoineet, datayksikkö A on tallo lennettuna tunnisteella GUID1 myös sähköpostipalvelimelle. Kun matkaviestin synkronoi sähköpostipalvelimen kanssa, sähköpostipalvelin ei tunne tunnistetta LUID1, tallentaa datayksikön ja allokoi sille uuden tunnisteen GUID2. Tämän jälkeen sähköpostipalvelimeen (sen tietokantaan) on tallennettu datayksikkö A kahteen kertaan. Tämä ns. silmukkaongelma aiheuttaa ylimääräistä 15 tiedonsiirtoa ja muistikapasiteettia kulutetaan turhien kaksoiskappaleiden säilyttämiseen.
Keksinnön lyhyt selostus
Keksinnön tavoitteena on siten kehittää menetelmä ja menetelmän toteuttavat välineet siten, että yllä mainitut kaksoiskappaleista aiheutuvat on- . . 20 gelmat voidaan välttää. Keksinnön tavoitteet saavutetaan menetelmillä, synk- • · * ronointijärjestelmällä, synkronointilaitteella, tietokoneohjelmatuotteella ja sig- * · · naalilla, joille on tunnusomaista se, mitä sanotaan itsenäisissä patenttivaati-; : muksissa. Keksinnön edulliset suoritusmuodot ovat epäitsenäisten patenttivaa- :.’*i timusten kohteena.
25 Keksintö perustuu siihen, että palvelimille ylläpidettäviä asiakaslait- teessä käytettäviä ensimmäisiä tunnisteita ja palvelimissa käytettäviä toisia tunnisteita toisiinsa liittäviä vastaavuustaulukolta verrataan. Keksinnön ensim-mäisen aspektin mukaisesti ainakin osa vastaavuustaulukoiden tunnistepareis- [···, ta saatetaan vastaamaan toisiaan. Tällöin voidaan ainakin lisätä vastaavuus- » * 30 taulukosta puuttuvia tunnistepareja. Keksinnön toisen aspektin mukaisesti es-:· tetään synkronoitavana olevan datayksikön tallentaminen, vasteena sille, että mainitulle datayksikölle allokoidun ensimmäisen tunnisteen mukainen datayk-sikkö on vastaavuustaulukoiden vertailun perusteella jo tallennettu. Vastaa-vuustaulukon ylläpitämisellä tarkoitetaan ensimmäisten ja toisten tunnisteiden 35 tallentamista missä tahansa muodossa olevaan vastaavuustaulukkoon niiden allokoinnin jälkeen esimerkiksi vasteena uuden datayksikön vastaanottamisel- 3 112015 le. On huomioitava, että termillä palvelin tarkoitetaan synkronoinnin asiakaslai-te-palvelin-arkkitehtuurin (client server architecture) palvelintoiminnot tarjoavaa lohkoa ja vastaavasti termillä asiakaslaite synkronoinnin asiakaslaitteen toiminnot tarjoavaa lohkoa ilman, että rajoituttaisiin tiettyyn fyysiseen palvelinlait-5 teeseen. Samassa tietokoneessa voi olla ohjelmistokomponentit, jotka suorittavat sekä palvelimen että asiakaslaitteen toiminnallisuuden.
Keksinnön mukaisen ratkaisun etuna on, että johonkin vastaavuus-taulukkoon lisätyt datayksiköiden tunnisteet saadaan myös muihin vastaavuus-taulukoihin. Tällä vastaavuustaulukoiden päivittämisellä on mahdollista välttää 10 silmukkaongelma (estämällä kaksoiskappaleiden syntyminen ja/tai havaitsemalla sekä poistamalla jo syntyneet kaksoiskappaleet), mikäli kaikki järjestelmän laitteet käyttävät keksinnön mukaista menetelmää. Vaikka osa järjestelmän laitteista ei käyttäisikään keksinnön mukaista menetelmää, keksinnön soveltamisella voidaan kuitenkin suuressa määrin helpottaa silmukkaongelmaa, 15 sillä keksinnön mukaiset laitteet estävät kuitenkin kaksoiskappaleiden muodostumista ja tunnistavat jo syntyneitä kaksoiskappaleita, jolloin ne voidaan poistaa.
Keksinnön erään edullisen suoritusmuodon mukaisesti käytetään ainakin yhtä mediaattoria, joka ylläpitää vastaavuustaulukkoja palvelimia var-20 ten, vertaa eri vastaavuustaulukkojen tunnistepareja, ja päivittää vastaavuus-: taulukon tunnistepareja vertailun perusteella. Mediaattoreiden käytöstä saa- I ’ [ daan seuraavia etuja: Jo käytössä oleviin palvelimiin ei tarvita muutoksia. Pal velimien ei tarvitse ylläpitää vastaavuustaulukkoja, vaan useankin eri palveli-’ men vastaavuustaulukoiden ylläpito voi olla keskitetty erilliselle mediaattorille.
; 25 Useiden palvelimien palvelun keskittäminen samaan mediaattoriin tehostaa mediaattoreiden toimintaa ja niiden hallintaa.
.,: Keksinnön erään edullisen suoritusmuodon mukaisesti vertailun pe rusteella myös poistetaan jo syntyneet kaksoiskappaleet niin, että poistetaan Γ·seuraavan synkronointi-istunnon aikana datayksikön ainakin yksi kaksoiskap-30 pale, jos ainakin kahdelle datayksikölle on vastaavuustaulukossa sama ensimmäinen tunniste ja/tai sama toinen tunniste. Näin voidaan poistaa kaksois-;;; * kappaleet, jotka ovat syntyneet esimerkiksi silmukkaongelman johdosta.
»>»
Kuvioiden lyhyt selostus / . : Keksintöä selostetaan nyt lähemmin edullisten suoritusmuotojen yh- 35 teydessä, viitaten oheisiin piirroksiin, joista:
Kuvio 1 esittää erästä synkronointijärjestelmää; 4 112015
Kuvio 2a esittää erästä toista synkronointijärjestelmää;
Kuvio 2b esittää SyncML-palvelinlaitetta;
Kuvio 3 esittää keksinnön erään edullisen suoritusmuodon mukaisia toimintalohkoja; 5 Kuvio 4 esittää keksinnön erään edullisen suoritusmuodon mukaista menetelmää vuokaaviona; ja
Kuvio 5 havainnollistaa eräitä synkronointitapahtumia.
Keksinnön yksityiskohtainen selostus
Seuraavassa kuvataan keksinnön erästä edullista suoritusmuotoa 10 SyncML-standardia tukevassa järjestelmässä. On kuitenkin huomioitava, että keksintöä voidaan soveltaa missä tahansa synkronointijärjestelmässä.
Kuviossa 2a on havainnollistettu erästä verkotettua järjestelmää, jossa tietokantojen dataa voidaan synkronoida synkronointipalvelimien S ja päätelaitteiden TE kesken, päätelaitteiden TE kesken tai palvelimien S kesken. 15 Päätelaite TE voi toimia synkronoinnin kannalta asiakaslaitteena ja käsittää tällöin synkronoitavan tietokannan. Palvelin S voi palvella useita asiakaslaitteita TE. Kuviossa 2a on esitetty kaksi esimerkkiä, joista ensimmäisessä lähiverkkoon LAN (Local Area Network) on kytkeytynyt asiakaslaitteita TE ja synk-ronointipalvelimia S. Verkkoon LAN kytkeytynyt asiakaslaite TE käsittää toi-. 20 minnallisuuden, esim. verkkokortin ja tiedonsiirtoa ohjaavan ohjelmiston, ver- *;*.* kon LAN laitteiden kanssa kommunikoimiseksi. Lähiverkko LAN voi olla minkä • · · v\ tahansa tyyppinen lähiverkko ja TE voi olla yhteydessä palvelimeen S myös In- ‘ ' ternetin kautta tyypillisesti palomuuria FW käyttäen. Toisessa esimerkissä
:. 'i asiakaslaite TE kommunikoi palvelimen S kanssa matkaviestinverkon MNW
25 (Mobile Network) kautta. Verkkoon MNW kytkeytynyt asiakaslaite TE käsittää matkaviestintoiminnallisuuden verkon MNW kanssa kommunikoimiseksi langattomasi. Matkaviestinverkon MNW ja palvelimen S välissä voi olla lisäksi ;*·*: muita verkkoja, kuten lähiverkko LAN. Matkaviestinverkko MNW voi olla mikä . · · ·. tahansa jo tunnettu langaton verkko, esimerkiksi GSM-palvelua tukeva verkko, : ’ 30 GPRS-palvelua tukeva verkko (General Packet Radio Service), kolmannen su- kupolven matkaviestinverkko, kuten UMTS-verkko (Universal Mobile Tele-communications System), langaton lähiverkko WLAN tai privaattiverkko. On huomioitava, että palvelin S voi itsessään käsittää synkronoimansa tietokan-
IMI
; nan tai sen synkronoima tietokanta voi sijaita jossain muussa laitteessa, kuvi- 35 ossa 2a palvelimet S ja tietokannat DB on havainnollisuuden vuoksi erotettu.
5 112015
Kuten kuviossa 2b on havainnollistettu, palvelin S käsittää muistia SMEM, käyttöliittymän SUI, l/O-välineet Sl/O tiedonsiirron järjestämiseksi, ja yhden tai useamman prosessorin käsittävän keskusprosessointiyksikön SCPU (Central Processing Unit). Muistissa SMEM on haihtumaton osuus keskuspro-5 sessointiyksikköä SCPU kontrolloivien sovellusten ja muiden säilytettävien tietojen tallentamiseksi ja haihtuva osuus käytettäväksi tilapäistä datan prosessointia varten. Synkronointipalvelin S toteuttaa synkronointiagentin SA ja synk-ronointilohkon SE edullisesti suorittamalla SCPU:ssa muistiin SMEM tallennettua tietokoneohjelmakoodia. Keskusprosessointiyksikössä SCPU suoritettavan 10 tietokoneohjelmakoodin avulla voidaan täydentää palvelimen S toimintaa keksinnöllisillä piirteillä, joiden eräitä edullisia suoritusmuotoja on havainnollistettu kuvioissa 3 ja 4. Tietokoneohjelmat voidaan saada verkon kautta ja/tai tallentaa muistivälineille, esimerkiksi levykkeelle, CD-ROM-levylle tai muulle ulkoiselle muistivälineelle, joista ne voidaan ladata muistiin SMEM. On myös mah-15 dollista käyttää kovo-ratkaisuja tai kovo- ja ohjelmistoratkaisuiden yhdistelmää.
Tavanomaisessa SyncML-synkronointipalvelussa alustetaan ensin synkronointi-istunto, jolloin mm. valitaan synkronoitava tietokanta. SyncML-asiakaslaite TE käsittää asiakasagentin (Sync Client Agent), joka huolehtii synkronointi-istuntoon liittyvistä toiminnoista asiakaslaitteessa. Asiakasagentti 20 lähettää palvelimen synkronointiagentille SA SyncML-viestin (Client Modifica-: tions), joka sisältää ainakin asiakaslaitteessa TE synkronoinnin kohteena ole- van edellisen synkronoinnin jälkeen muuttuneen datan. Palvelimen S synk- * \ ronointilohko SE analysoi erot ja yhdenmukaistaa datajoukot. Tämän jälkeen
1 « * · I
’ [ SA palauttaa palvelimessa S tehdyt muutokset (Server Modifications) asia- '· '·* 25 kasagentille, joka tekee tarvittavat muutokset TE:n tietokantaan. Synkronointi voi olla järjestetty esimerkiksi HTTP-protokollan (Hyper Text Transfer Proto- • ♦ · col), WAP-standardin (Wireless Application Protocol) WSP-protokollan (Wireless Session Protocol), kaapeliyhteyksiä, kuten USB (Universal Serial Bus) tai *·*: RS-232, tai lyhyen kantaman radiotaajuus- (Bluetooth) tai infrapuna-yhteyksiä ;··. 30 (IrDA) varten käytetyn OBEX-protokollan päällä, TCP/IP-pinon (Transport » « ·
Control Protocol/lnternet Protocol) päällä, tai myös sähköpostiprotokollan ‘‘ (SMTP, Simple Mail Transfer Protocol) päällä.
Kuviossa 3 on havainnollistettu toiminnallista järjestelyä, johon on ·:· SyncML-asiakaslaitteen toiminnallisuuden tarjoavan lohkon ja SyncML- •II· : 35 synkronointipalvelimen S toiminnallisuuden tarjoavan lohkon (synkronoin- tiagentti SA ja synkronointilohko SE) lisäksi lisätty mediaattorilohko MED.
6 112015
SyncML-sanomat TE:n ja S:n välillä kulkevat mediaattorin MED kautta. Edullisesti myös palvelimien S välinen tiedonsiirto järjestetään mediaattorin MED kautta. Mediaattorin MED päätehtäviä on ylläpitää GUID-LUID- vastaavuustaulukkoa ainakin yhtä palvelinta varten, siirtää synkronointisanomat palvelimen S 5 ja asiakaslaitteiden (TE) välillä vastaavuustaulukon avulla niin, että datayksik-kö identifioidaan palvelimelle sille allokoidulla GUID-tunnisteella ja asiakaslaitteelle TE sitä varten allokoidulla LUID-tunnisteella, vertailla eri vastaavuustaulukoiden tunnistepareja ja päivittää vastaavuustaulukolta. MED voidaan toteuttaa monella eri tavalla, edullisesti se toteutetaan palvelimen S SCPU:ssa suori-10 tettavana ohjelmistona (kuviossa 2b omana lohkonaan MED tai täydennyksenä synkronointilohkoon SE). On myös mahdollista käyttää erillistä laitetta, joka toimii mediaattorina. Erään edullisen suoritusmuodon mukaisesti yhteydet tietojärjestelmään, esimerkiksi yrityksen intranet-verkossa olevaan palvelimeen S, sallitaan ainoastaan luotettavan mediaattorin MED kautta. Mediaattori MED 15 voi toimia myös luotettavana kolmantena osapuolena (trusted third party) palvelinten S välisessä kommunikaatiossa, jolloin siltä voidaan saada varmistus palvelimen luotettavuudesta.
Yksi mediaattori MED voi palvella useaa eri palvelinta S tai jokaista palvelinta S varten voi olla oma mediaattorinsa MED. Mediaattori voidaan si-20 joittaa lähelle asiakaslaitetta TE ja sen avulla voidaan tarjota erilaisia lisätoi-: .·. minnallisuuksia, kuten välimuistitoiminnallisuuksia (caching functionality). Täl- V.‘ löin mediaattori voidaan sijoittaa niin, että voidaan taata ruuhkaton siirto asia- ' \ kaslaitteen ja mediaattorin välillä. Useiden palvelimien vastaavuustaulukoiden * 1 t f · [ ' keskittäminen samaan mediaattoriin tehostaa mediaattoreiden toimintaa ja nii- ’« "· 25 den hallintaa. Mediaattoreita MED käyttävä järjestelmä voi olla yhteensopiva : SyncML-standardin kanssa, koska asiakaslaitteelle mediaattori näyttää palve- limelta.
Kuten taulukossa 1 on havainnollistettu, vastaavuustaulukossa liite-tään datayksiköt palvelimessa identifioiville GUID-tunnisteisiin ja asiakaslait-; 30 teissä TE käytettäviin LUID-tunnisteisiin. Vastaavuustaulukot voidaan luonnol lisesti toteuttaa monella eri tavoin; edullisesti ainakin jokaista palvelinta varten on oma vastaavuustaulukkonsa, jolloin palvelimeen lisätyille tai sen kautta • synkronoiduille datayksiköille lisätään tunnisteita vastaavuustaulukkoon. On myös mahdollista, että jokaista palvelimen kanssa synkronoinutta asiakaslai-. : 35 tetta varten on oma vastaavuustaulukkonsa.
7 112015
Taulukko 1.
GUID__LUID
10203040 12_ 10406080 14_ ~15689421
Jos GUID-tunnistetta ei ole (datayksikkö ei tule toiselta palvelimel-5 ta), palvelin S allokoi sen itse. Jos datayksikkö ei ole ollut asiakaslaitteessa TE, vastaavuustaulukossa ei ole LUID-tunnisteita. Tällöin tunnistepariin voidaan lisätä LUID-tunniste asiakaslaitteen kanssa tehdyn synkronoinnin aikana.
Kuten taulukossa 2 on esitetty, palvelimen S ylläpitämässä tietokannassa on tallennettuna datayksiköitä niille allokoitujen GUID-tunnisteiden 10 mukaisesti, esimerkiksi datayksikkö ’EmaiIT on identifioitu tunnisteella Ί0203040’. Taulukkojen 1 ja 2 tiedot voidaan myös yhdistää, jolloin vastaavuustaulukossa ilmaistaan myös datayksikkö, johon kukin GUID-tunniste viittaa.
Taulukko 2.
15 __ GUID__Data
i 10203040 EmaiM
: V: 10406080 SMS2 » » ' - 15689421 Picture4 * »· • * .· ··. Erään edullisen suoritusmuodon mukaisesti mediaattori MED allokoi datayksiköille selvästi GUID-tunnisteita lyhyempiä (4-5 tavua) asiakaskohtaisia 20 tunnisteita (LUID) käytettäväksi asiakaslaitteessa TE sen sijaan, että TE itse • * · ; allokoisi niitä. Kullekin asiakaslaitteelle TE voidaan määrittää tietty tunniste- * > " ·; * * alue, jotta myös LUID-tunnisteet ovat yksikäsitteisiä. LUID-tunniste voi käsittää ; : : palvelinkohtaisen osan, esimerkiksi 3 bittiä, ja juoksevasti määräytyvän 29- : bittisen tunnisteen. On myös mahdollista, että asiakaslaite TE täysin autono- 25 misesti allokoi itse LUID-tunnisteet. Tällöin kuitenkin voi syntyä kaksoiskappa-* : leita eri asiakaslaitteiden synkronoidessa samaa datayksikköä synkronointipal- < i velimeen, eikä kaksoiskappaleita välttämättä saada vastaavuustaulukoiden vertailusta huolimatta poistettua, jos palvelimet eivät synkronoi keskenään.
8 112015
Mediaattori MED voi toimia esimerkiksi seuraavilla tavoilla: - Mediaattori kommunikoi palvelimen S kanssa ilman LUID-tunnisteita, eli korvaa ylläpitämänsä vastaavuustaulukon perusteella siirrettävistä datayksiköistä asiakaslaitteen LUID-tunnisteet niitä vastaavilla GUID- 5 tunnisteilla. Toiseen suuntaan MED korvaa palvelimen GUID-tunnisteet vastaavilla LUID-tunnisteilla ja allokoi tarvittaessa uusia LUID-tunnisteita. Asiakas-laite TE ei allokoi LUID-tunnisteita, vaan käyttää suoraan mediaattorilta MED saamiansa tunnisteita (LUID). Palvelimen S kannalta mediaattori MED on toinen palvelin, jonka kanssa ei tarvita LUID-tunnisteita. Jos palvelin S vaatii 10 LUID-tunnisteiden käyttöä, voidaan LUID-tunnisteet määritellä siten, että LUID (x) = GUID (x) kaikille datayksiköille x, tai muulla tavalla siten, että LUID-tunniste voidaan johtaa suoraan GUID-tunnisteesta.
- Mediaattori MED korvaa palvelimelta S saapuvissa sanomissa GUID-tunnisteet (kun kyseessä on asiakaslaitteelle uusi datayksikkö) allokoi- 15 mansa uuden LUID-tunnisteen indikoivalla tunnisteella GUID’, josta mediaatto-reista tietoinen asiakaslaite TE voi päätellä, mikä LUID-tunniste sen tulee allokoida. Asiakaslaite TE allokoi tämän LUID-tunnisteen ja jatkaa SyncML-standardin mukaisesti MAP-operaatiolla. MED voi esimerkiksi lähettää asiakaslaitteelle TE GUID-tunnisteen ’’UUID/1234”, mistä mediaattorin käytöstä tie-20 toinen asiakaslaite TE päättelee, että sen tulee allokoida tälle datayksikölle ; .·. LUID-tunniste ”1234”. Tässä toteutuksessa tuetaan SyncML-standardia, eli » t | ‘•V asiakaslaite TE allokoi LUID-tunnisteet, tunnisteen valinta vain määräytyy me- I · · diaattorin MED ohjeen mukaisesti. Jos asiakaslaite TE ei voi allokoida määrät- , tyä LUID-tunnistetta esimerkiksi siksi, että tällainen LUID-tunniste on jo asia- I 4 · '· Ί 25 kaslaitteessa käytössä, se voi myös kieltäytyä allokoimasta tunnistetta. Tässä tapauksessa palvelin S antaa asiakaslaitteelle TE uuden LUID-tunnisteen. Mediaattori voi itse ylläpitää palvelimen S vastaavuustaulukkoa. On myös mahdollista, että palvelimessa S ylläpidetään vastaavuustaulukkoa, jolloin me-diaattorin tulee päästä käsiksi vastaavuustaulukkoihin. Tällöin mediaattori MED 30 myös edelleenlähettää asiakaslaitteen TE synkronointisanomat suoraan palvelimelle ilman tunnisteen muuttamista. Mediaattoreista tietoinen asiakaslaite TE voi SyncML-protokollan mukaisen istunnon alustusvaiheessa ilmoittaa tästä, joten mediaattorin on mahdollista tietää milloin asiakaslaite ei tue mediaattori- *:· en MED indikoimien LUID-tunnisteiden käyttöä. Tällöin mediaattori MED voi ra- '»Il ' , · 35 joittaa toiminnallisuutensa pelkästään vastaavuustaulukoiden vertailuun, tällöin ei kuitenkaan välttämättä havaita kaikkia kaksoiskappaleita. Näin voi tapahtua, 112015 g jos palvelimet S eivät synkronoi keskenään ja sama datayksikkö kulkee palvelimesta toiseen eri asiakaslaitteiden TE suorittamien synkronointien kautta. Vastaavasti mediaattori MED voi alustusvaiheessa ilmoittaa asiakaslaitteelle TE itsestään, jolloin mediaattoreista tietoinen asiakaslaite osaa käsitellä LUID-5 ehdotukset mediaattorilta.
Kuviossa 4 on havainnollistettu erään edullisen suoritusmuodon mukaista menetelmää. Vaiheessa 401 palvelimissa S ylläpidetään vastaavuus-taulukolta. Vastaavuustaulukoiden tunnistepareja halutaan vertailla, jotta voidaan saattaa eri vastaavuustaulukot sisältämään samat tunnisteparit (jotta voi-10 täisiin estää kaksoiskappaleiden syntyminen ja/tai poistaa jo syntyneet kaksoiskappaleet). Vertailu voidaan tehdä automaattisesti esimerkiksi palvelinten S välisen synkronointi-istunnon aikana tai ennalta määritetyin aikavälein. Tällöin haetaan 402 vertailtavien vastaavuustaulukoiden tunnisteparit ja verrataan 403 niitä. Vertailun perusteella päivitetään 404 eri palvelimien S vastaavuus-15 taulukoita niin, että ainakin osa eri vastaavuustaulukoiden tunnistepareista saatetaan samoiksi. Tämä tarkoittaa sitä, että jos edellisen päivityskerran jälkeen johonkin palvelimeen on lisätty datayksikkö, jolle on allokoitu tunnistepari (ainakin GUID-tunniste), tämä tunnistepari lisätään myös muihin vastaavuus-taulukoihin.
20 Keksinnön erään edullisen suoritusmuodon mukaisesti käytetään : .·. vaiheiden 401-405 mukaista menetelmää jo syntyneiden kaksoiskappaleiden havaitsemiseen. Kaksoiskappaleita voi syntyä, jos palvelimet S synkronoivat ’ \ suoraan toistensa kanssa niin, etteivät tiedot LUID-tunnisteista siirry (mediaat- . toreita MED ei käytetä). Edellytyksenä kaksoiskappaleiden havaitsemiselle on, *· 25 että palvelimet S säilyttävät datayksiköiden GUID-tunnisteet palvelinten S väli- : ’ : sessä synkronoinnissa. Koska yhdelle datayksikölle voi olla useitakin kaksois- kappaleita, on jokaista tunnisteparia verrattava kaikkiin muihin tunnisteparei-hin. Tässä voidaan käyttää hyväksi sinänsä tunnettua indeksointitekniikkaa, eli vastaavuustaulukoiden tunnisteparit asetetaan järjestykseen sekä LUID-30 tunnisteiden että GUID-tunnisteiden mukaan. Jos vertailussa 403 (ainakin) kahdella datayksikölle on sama LUID-tunniste ja/tai sama GUID-tunniste, ja ne ‘ viittaavat eri datayksiköihin, sisällöltään sama datayksikkö on tallennettu (aina- ’ kin) kahdesti, eli datayksiköt ovat kaksoiskappaleita. Tällöin valitaan säilytettä väksi yksi datayksikkö ja sen kaksoiskappaleet merkitään poistettavaksi seu-35 raavalla synkronointikerralla. Palvelin edullisesti ylläpitää muutoslokia, jonka perusteella voidaan seuraavalla synkronointikerralla lähettää synkronointiviesti, 10 112015 jossa määrätään korvaus-operaatiolla (Replace operation) lokiin tallennetut GUID- tai LUID-tunnisteilla osoitetut kaksoiskappaleet poistettaviksi. Kaksoiskappaleet voidaan poistaa 405 heti niiden havaitsemisen jälkeen tietokannasta (TE, DB), johon ne on tallennettu. Seuraavilla synkronointikerroilla myös muis-5 ta laitteista poistetaan 405 kaksoiskappaleet palvelimen synkronoimaan tietokantaan vastaavuustaulukkojen vertailun perusteella tehdyn poiston mukaisesti.
Edullisesti valitun datayksikön kaksoiskappaleisiin viitanneet tunnis-teparit kuitenkin säilytetään vastaavuustaulukossa ylimääräisten kaksoiskap-10 paleiden poistamisen jälkeenkin, jotta voidaan estää uusien kaksoiskappaleiden syntyminen. Tällöin samaan datayksikköön voi viitata useita GUID-tunnisteita, eli taulukkoa 2 päivitetään esimerkiksi niin, että datayksikköön ’EmaiIT viittaa kaksi GUID-tunnistetta. Kuitenkin ainoastaan yksi tunnistepari jää aktiiviseksi, muut ovat lisätunnistepareja (alias-tunnistepari), jotka voidaan 15 poistaa myöhemmin. Näitä alias-tunnistepareja tavattaessa ne voidaan korvataan aktiivisella tunnisteella. Esimerkiksi jos asiakaslaite TE synkronoi myöhemmin datayksikköä, jolla on alias-LUID, tulee tämä alias-LUID korvata aktiivisella LUIDilla. Tämä saattaa vaatia, että datayksikkö ensin poistetaan ja lisätään sitten uuden LUID-tunnisteella identifioituna. On mahdollista, että lisätun-20 nistepareja säilytetään rajattomasti, tämä kuitenkin vaatii ylimääräistä muisti-. . kapasiteettia. Edullisesti lisätunnistepareja säilytetään ennalta määritetty aika t, :',; jolloin t:n arvoa muuttamalla voidaan säädellä tarvittavaa muistitilaa ja toisaalta ’ luotettavuutta. Käytettäessä mediaattoreita MED on edelleen mahdollista, että mediaattori MED poistaa kaksoiskappaleihin viittaavat lisätunnisteparit vasta . ’ i 25 kun se pystyy päättelemään, että missään sen tuntemassa palvelimessa S tai asiakaslaitteessa TE ei ole jäljellä kaksoiskappaleita samalle datayksikölle. j Tämä tieto voidaan johtaa pitämällä mediaattorilla listaa kaikista mahdollisista asiakaslaitteista ja palvelimista. Kun mediaattori MED on kaksoiskappaleiden havaitsemisen jälkeen päivittänyt tunnisteparinsa kaikkien sellaisten mediaat- . ·. 30 torien kanssa, joiden palvelema palvelin voi synkronoida mainitun mediaattorin • ‘ MED palveleman palvelimen S kanssa ilman mediaattoria (ja sen lisäksi vielä kaikki asiakaslaitteet TE ovat synkronoineet mediaattorin MED kanssa), tiede-
t 1 I
tään, ettei missään enää ole kaksoiskappaleita. On huomattava, että vaikka mediaattorin MED ylläpitämä palvelin- ja asiakaslista olisikin epätäydellinen, ’ \ ’; 35 helpottaa esillä olevan menetelmän käyttö silti silmukkaongelmaa.
I | 11 112015
Keksinnön erään edullisen suoritusmuodon mukaisesti käytetään mediaattoreita. Vastaavuustaulukoiden vertailu 403 ja päivitys 404 voidaan toteuttaa esimerkiksi niin, että yksi tai useampi mediaattori lähettää 402 vastaa-vuustaulukoidensa tunnisteparit vertailevalle mediaattorille, joka vertaa 403 5 vastaanottamiaan tunnistepareja omien vastaavuustaulukoidensa vastaavuus-pareihin ja päivittää oman taulukkonsa. Kun vertaileva mediaattori on havainnut erot, se lisää omaan vastaavuustaulukkoonsa siitä puuttuvat tunnisteparit ja lähettää tiedot lisättävistä tunnistepareista muille mediaattoreille, jotka huolehtivat vastaavuustaulukkojensa päivittämisestä 404. Tämä vertailu suorite-10 taan edullisesti erikseen synkronointi-istunnosta, jolloin synkronointiin ei tule vastaavuustaulukoiden vertailusta aiheutuvaa viivettä. Mediaattoreiden vastaavuustaulukoiden päivitys voidaan suorittaa tavanomaisen palvelinten välisen synkronoinnin aikana tai synkronoinnista erillisenä toimintona.
Mediaattorit MED voivat vastaavuustaulukkojen tunnisteparien ver-15 tailun 403 aikana havaita jo syntyneet kaksoiskappaleet jo edellä kuvatulla tavalla. Kaksoiskappaleiden etsiminen voidaan suorittaa itsenäisesti jokaisessa mediaattorissa. Tällöin tulee olla käytössä yhtenäinen käytäntö, jonka mukaisesti valitaan kaksoiskappaleista jäljelle jäävä datayksikkö, jotta kaikissa medi-aattoreissa tehdään asiasta sama päätös, esimerkiksi valitaan "aakkosjärjes-20 tyksessä" ensimmäinen. Kaksoiskappaleiden havaitseminen voidaan myös : , , tehdä keskitetysti, eli kun vertaileva mediaattori on havainnut kaksoiskappa- V leet, se lähettää tiedot poistettavista kaksoiskappaleista muille mediaattoreille, * * jotka huolehtivat kaksoiskappaleiden poistosta 404 ja päivittävät 405 vastaa- ' j vuustaulukoitaan.
· '·' 25 Jos yksi mediaattori MED ylläpitää eri palvelimille vastaavuustau- ': : lukkoja, se saa nopeasti verrattua 403 vastaavuustaulukoiden tunnistepareja ja * « » :,sa: havaittua kaksoiskappaleet. Mediaattori MED lähettää 405 vertailun perusteel
la palvelimen synkronointiagentille SA tiedon poistettavasta yhdestä tai use-;v: ämmästä kaksoiskappaleesta (niiden GUID-tunnisteen perusteella). Palvelin S
: ; 30 voi sitten poistaa tietokannasta (DB tai omasta muististaan) kaksoiskappaleen.
Kun palvelin S synkronoi seuraavan kerran esim. asiakaslaitteen TE kanssa, myös siinä mahdollisesti oleva sama kaksoiskappale poistetaan: Kun mediaat-...: tori MED vastaanottaa palvelimelta tiedon datayksikön (GUID=10203040) pois- ··· tamisesta, asiakaslaitteelle TE lähetetään tieto datayksikön (LUID = 12) pois- ’ t * * 35 tamisesta. SyncML-protokollan mukaisesti tämä tehdään käyttämällä Delete-komentoa.
12 112015
Erään suoritusmuodon mukaisesti palvelimet S synkronoivat keskenään mediaattorien MED kautta. Tällöin synkronoinnin aikana siirtyy synkronoitavan datayksikön mukana myös sen LUID-tunniste. Jos datayksikölle ei ole jo allokoitu LUID-tunnistetta, se tulee allokoida synkronoinnin aikana, toisin sa-5 noen, datayksikkö ei saisi koskaan lähteä palvelimesta ilman sille allokoitua LUID-tunnistetta. Näin varmistetaan se, että jos tietylle datayksikölle on jossain allokoitu LUID, samaa LUID-tunnistetta käytetään myös muualla. Jos GUID-tunnisteet säilyvät eri palvelimien välisessä synkronoinnissa, ne voivat synkronoida myös ilman mediaattoreita. Kaksoiskappaleita voi tällöin syntyä, mutta 10 edellä kuvatun mukaisesti ne kuitenkin havaitaan.
Palvelimien S välisessä synkronoinnissa ensimmäinen mediaattori siis lisää synkronoitavana oleva datayksikön tunnistetietoihin GUID-tunnisteen lisäksi vastaavuustaulukossa GUID-tunnisteen parina olevan LUID-tunnisteen. Synkronointisanoman vastaanottava toinen mediaattori vertaa 403 vastaan-15 otettua tunnisteparia oman vastaavuustaulukkonsa tunnistepareihin. Jos jossain vastaavuustaulukon tunnisteparissa on sama GUID-tunniste ja/tai LUID-tunniste kuin vastaanotetun datayksikön GUID- ja/tai LUID-tunniste, voidaan tämän perusteella vastaanotetun datayksikön tallentaminen estää 406 (li-säysoperaatio) tai kohdistaa oikeaan datayksikköön (muutosoperaatio). Tällöin 20 siis synkronoivien palvelimien S vastaavuustaulukolta päivitetään niin, että ai-: .·. nakin synkronoitavana olevien datayksiköiden tunnisteparit saatetaan vastaa- maan toisiaan. Tästä suoritusmuodosta saadaan se huomattava etu, että jo » · · kaksoiskappaleiden syntyminen voidaan estää. Tallentaminen voidaan estää . .* 406 ainoastaan, jos kyseisen datayksikön lisäämistä on pyydetty. Näin voidaan • » · '· 25 varmistaa muokattujen datayksiköiden tallentaminen. SyncML-protokollassa ‘ ’ voidaan siis estää Add-komennolla määritetyn datayksikön tallentaminen.
:= = = ; Jos palvelimet S käyttävät erilaisia GUID-tunnisteita (ei- yhteensopivia), on synkronointi aina suoritettava mediaattoreiden MED kautta, ΓΛ* jotta kaksoiskappaleiden synty voitaisiin estää ja syntyneet kaksoiskappaleet 30 havaita. Mikäli palvelimien välinen synkronointi tapahtuu aina mediaattorien \ kautta, GUID-tunniste voidaan haluttaessa jättää synkronoinnissa pois, koska se voi olla erilainen eri palvelimissa, ja datayksikkö voidaan identifioida yksikä-sitteisesti mediaattorin allokoiman LUID-tunnisteen ja käyttäjätunnuksen perus-;· teella. Käyttäjätunnus, jolle datayksiköt kuuluvat, tulee myös välittää synk- 35 ronoinnin yhteydessä. Mikäli palvelimien välinen synkronointi tapahtuu aina mediaattorien kautta, myöskään vastaavuustaulukolta ei tarvitse päivittää vas- 13 112015 taamaan toisiaan (vaihetta 404 ei tarvitse suorittaa), koska GUID-tunnisteet voivat olla erilaisia eri palvelimissa (samalla datayksiköllä voi yhdessä palvelimessa olla eri GUID kuin toisessa). Näin ollen suoraan vertailun 403 perusteella voidaan estää vastaanotetun datayksikön tallentaminen, jos mainitulle da-5 tayksikölle allokoidun LUID-tunnisteen mukainen datayksikkö on vastaavuus-taulukoiden vertailun perusteella jo tallennettu. On syytä huomioida, että jos palvelimet eivät säilytä GUID-tunnisteita synkronoinnissa eikä mediaattoreita MED käytetä, ei kaksoiskappaleita voida estää eikä havaita. Näin ollen palvelin tulee konfiguroida siten, että se ei synkronoi suoraan (ilman mediaattoreita) 10 palvelimien kanssa, jotka eivät säilytä GUID-tunnisteita synkronoitaessa.
Kuviossa 5 on havainnollistettu eräitä synkronointitapahtumia, joiden seurauksena syntyy kaksoiskappaleita. Palvelimessa S2 on datayksikkö DU, jolle on allokoitu GUID GUID1 ja LUID LUID1. Palvelinten S1 ja S2 välillä suoritetaan synkronointi, jolloin S2:sta siirretään 501 S1:een datayksikkö DU 15 (LUID ei siirry palvelimien välisessä synkronoinnissa). S1 synkronoi 502 asiakaslaitteen TE kanssa, jolloin asiakaslaite allokoi 503 uuden tunnisteen LUID2 vastaanottamalleen tunnisteettomalle datayksikölle DU. TE päivittää 504 sen palvelimelle S1 (MAP-operaatio), minkä jälkeen S1:n vastaavuustaulukossa on tunnistepari (GUID1, LUID2). Asiakaslaite TE synkronoi palvelimen S2 kanssa, 20 jolloin se siirtää 505 datayksikön DU tunnisteella (LUID2) palvelimelle S2. S2 : allokoi 506 datayksikölle uuden tunnisteen GUID2, koska tunnisteelle LUID2 ei ;:v ole vastaavaa GUID-tunnistetta. Tämän jälkeen palvelimessa S2 on kaksi kap paletta samaa datayksikköä ja vastaavuustaulukossa tunnisteparit (GUID1, ] [ LUID1) ja (GUID2, LUID2). Näin ollen kaksoiskappaleista muodostuu ketju :· j 25 (GUID1, LUID1), (GUID1, LUID2) ja (GUID2, LUID2), mikä voidaan havaita " : edellä havainnollistetulla keksinnön erään edullisen suoritusmuodon mukaisel- :...: la vastaavuustaulukoiden vertailulla 507 ja kaksoiskappaleet voidaan poistaa 508.
Jos kuvion 5 esimerkissä synkronointi 501 olisi suoritettu mediaatto-30 rien MED kautta, olisi kaksoiskappaleen syntyminen estetty: LUID1 olisi siirtynyt S2:n mediaattorin tietoon ja mediaattori olisi voinut lisätä LUID1:n asiakas-’;;; * laitteelle TE synkronoitavaan datayksikköön.
···* Alan ammattilaiselle on ilmeistä, että tekniikan kehittyessä keksin- ··· nön perusajatus voidaan toteuttaa monin eri tavoin. Keksintö ja sen suoritus- \: 35 muodot eivät siten rajoitu yllä kuvattuihin esimerkkeihin vaan ne voivat vaihdel la patenttivaatimusten puitteissa.
Claims (13)
1. Menetelmä kaksoiskappaleiden havaitsemiseksi ainakin yhden asiakaslaitteen ja ainakin kaksi synkronointipalvelinta käsittävässä synkronoin-tijärjestelmässä, joka menetelmä käsittää vaiheet: 5 allokoidaan synkronoitaville datayksiköille asiakaslaitteessa käytet täväksi ensimmäisiä tunnisteita ja synkronointipalvelimessa käytettäväksi toisia tunnisteita, ylläpidetään synkronointipalvelimille vastaavuustaulukkoja lisäämällä vastaavuustaulukkoon synkronointipalvelimen kautta synkronoitaville da-10 tayksiköille allokoituja ensimmäisiä tunnisteita ja toisia tunnisteita, tunnettu siitä, että menetelmä lisäksi käsittää vaiheet: verrataan eri synkronointipalvelimien vastaavuustaulukoihin lisättyjen ensimmäisten ja toisten tunnisteiden muodostamia tunnistepareja, ja saatetaan ainakin osa vastaavuustaulukoiden tunnistepareista vas-15 taamaan toisiaan.
2. Patenttivaatimuksen 1 mukainen menetelmä, tunnettu siitä, että järjestelmä käsittää lisäksi ainakin yhden mediaattorin, joka ainakin ylläpitää yhtä tai useampaa vastaavuustaulukkoa, vertaa tunnistepareja, ja . . 20 päivittää vastaavuustaulukon tunnistepareja vertailun perusteella. *;γ
3. Patenttivaatimuksen 2 mukainen menetelmä, tunnettu siitä, '·**’ että: ’ ' määritetään ensimmäiset tunnisteet mediaattoreissa.
4. Patenttivaatimuksen 2 tai 3 mukainen menetelmä, tunnettu 25 siitä, että järjestelmä käsittää ensimmäisen mediaattorin ja toisen mediaattorin, missä ensimmäinen mediaattori on järjestetty lähettämään vastaavuustau-, · · . lukkonsa tunnisteparit toiselle mediaattorille, ja ’ · ’ 30 toinen mediaattori on järjestetty vertailemaan ensimmäisen mediaat- ’.:. * torin tunnistepareja oman vastaavuustaulukkonsa tunnistepareihin ja ilmoitta- ,.: maan ensimmäiselle mediaattorille havaitsemistaan kaksoiskappaleista.
5. Jonkin edellisen patenttivaatimuksen mukainen menetelmä, : tunnettu siitä, että: 15 112015 poistetaan seuraavan synkronointi-istunnon aikana datayksikön ainakin yksi kaksoiskappale vasteena sille, että ainakin kahdelle datayksikölle on vastaavuustaulukossa sama ensimmäinen tunniste ja/tai sama toinen tunniste.
6. Jonkin edellisen patenttivaatimuksen mukainen menetelmä, 5 tunnettu siitä, että: määritetään vastaavuustaulukoiden vertailun perusteella havaituista kaksoiskappaleista yksi datayksikkö ja siihen viittaava tunnistepari säilytettäväksi, järjestetään mainitun datayksikön kaksoiskappaleisiin viitanneet 10 tunnisteparit viittaamaan mainittuun datayksikköön ja poistetaan vastaavuustaulukoista mainitun datayksikön kaksoiskappaleisiin viitanneet tunnisteparit ennalta määritetyn ajan kuluttua.
7. Jonkin patenttivaatimuksen 1-4 mukainen menetelmä, tunnettu siitä, että: 15 saatetaan ainakin synkronoitavana olevien datayksiköiden tunniste- parit vastaamaan toisiaan, ja estetään datayksikön tallentaminen, vasteena sille, että mainitulle datayksikölle allokoitu ensimmäinen tunniste ja/tai toinen tunniste on jo määritetty vastaavuustaulukossa.
8. Jonkin edellisen patenttivaatimuksen mukainen menetelmä, : .·. tunnettu siitä, että: ;:v datayksiköiden synkronointi on järjestetty SyncML-standardin mu- ’ kaisesti, jolloin ensimmäiset tunnisteet ovat LUID-tunnisteita (Local Unique , [ Identifier) ja toisen tunnisteet ovat GUID-tunnisteita (Global Unique Identifier). '· *; 25
9. Menetelmä kaksoiskappaleiden havaitsemiseksi ainakin yhden * ‘ asiakaslaitteen ja ainakin kaksi synkronointipalvelinta käsittävässä synkronoin- :... · tijärjestelmässä, joka menetelmä käsittää vaiheet: allokoidaan synkronoitaville datayksiköille asiakaslaitteessa käytet-j \: täväksi ensimmäisiä tunnisteita ja synkronointipalvelimessa käytettäväksi toisia 30 tunnisteita, ( I » \ ylläpidetään synkronointipalvelimille vastaavuustaulukkoja lisäämäl- ;;; lä vastaavuustaulukkoon synkronointipalvelimen kautta synkronoitaville da- ; · ’ tayksiköille allokoituja ensimmäisiä tunnisteita ja toisia tunnisteita, tunnettu : siitä, että menetelmä lisäksi käsittää vaiheet: 35 verrataan eri synkronointipalvelimien vastaavuustaulukoihin lisätty jen ensimmäisten ja toisten tunnisteiden muodostamia tunnistepareja, ja 16 112015 estetään synkronoitavana olevan datayksikön tallentaminen, vasteena sille, että mainitulle datayksikölle allokoidun ensimmäisen tunnisteen mukainen datayksikkö on vastaavuustaulukoiden vertailun perusteella jo tallennettu.
10. Synkronointijärjestelmä, joka käsittää ainakin yhden asiakaslait teen ja ainakin kaksi synkronointipalvelinta, tunnettu siitä, että synkronointijärjestelmä käsittää ainakin yhden mediaattorin, joka on järjestetty ainakin ylläpitämään ainakin yhden synkronointipalvelimen vastaavuustau-10 lukkoa, joka käsittää synkronoitaville datayksiköille asiakaslaitteessa käytettäväksi tarkoitettuja ensimmäisiä tunnisteita ja synkronointipalvelimessa käytettäväksi tarkoitettuja toisia tunnisteita, vertailemaan eri vastaavuustaulukoiden ensimmäisten ja toisten tunnisteiden muodostamia tunnistepareja, 15 havaitsemaan kaksoiskappaleet vertailun perusteella, ja saattamaan ainakin osa vastaavuustaulukoiden tunnistepareista vastaamaan toisiaan.
11. Synkronointilaite asiakaslaitteita ja synkronointipalvelimia käsittävää synkronointijärjestelmää varten, tunnettu siitä, että mainittu synk-20 ronointilaite käsittää: : välineet ainakin yhden vastaavuustaulukon ylläpitämiseksi ainakin ’ vyhtä synkronointipalvelinta varten, joka vastaavuustaulukko käsittää synkronoi-' taville datayksiköille asiakaslaitteessa käytettäväksi tarkoitettuja ensimmäisiä ’ ’ tunnisteita ja synkronointipalvelimessa käytettäväksi tarkoitettuja toisia tunnis- ; 25 teitä, välineet eri vastaavuustaulukoiden ensimmäisten ja toisten tunnis-,,.: teiden muodostamien tunnisteparien vertailemiseksi, ja välineet ainakin osan vastaavuustaulukoiden tunnistepareista saat-tamiseksi vastaamaan toisiaan.
12. Tietokoneen muistiin ladattavissa oleva tietokoneohjelmatuote, I * » tunnettu siitä, että mainittu tietokoneohjelmatuote käsittää ohjelmakoodia, joka tietokoneen prosessorissa suoritettuna aikaansaa tietokoneen: ylläpitämään ainakin yhtä vastaavuustaulukkoa ainakin yhtä synk-: ronointipalvelinta varten, joka vastaavuustaulukko käsittää synkronoitaville da- 35 tayksiköille asiakaslaitteessa käytettäväksi tarkoitettuja ensimmäisiä tunnisteita ja synkronointipalvelimessa käytettäväksi tarkoitettuja toisia tunnisteita, 17 112015 vertailemaan eri vastaavuustaulukoiden ensimmäisten ja toisten tunnisteiden muodostamia tunnistepareja, havaitsemaan kaksoiskappaleet vertailun perusteella, ja saattamaan ainakin osa vastaavuustaulukoiden tunnistepareista 5 vastaamaan toisiaan.
13. Signaali, joka käsittää tietokoneen muistiin ladattavissa olevaa ohjelmakoodia, tunnettu siitä, että ohjelmakoodi tietokoneen prosessorissa suoritettuna aikaansaa tietokoneen: ylläpitämään ainakin yhtä vastaavuustaulukkoa ainakin yhtä synk-10 ronointipalvelinta varten, joka vastaavuustaulukko käsittää synkronoitaville da-tayksiköille asiakaslaitteessa käytettäväksi tarkoitettuja ensimmäisiä tunnisteita ja synkronointipalvelimessa käytettäväksi tarkoitettuja toisia tunnisteita, vertailemaan eri vastaavuustaulukoiden ensimmäisten ja toisten tunnisteiden muodostamia tunnistepareja, 15 havaitsemaan kaksoiskappaleet vertailun perusteella, ja saattamaan ainakin osa vastaavuustaulukoiden tunnistepareista vastaamaan toisiaan. • * » * ♦ * • I « · * * » f f I • « t • · ! > t t · 1 » » I *
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FI20012185A FI112015B (fi) | 2001-11-12 | 2001-11-12 | Datan synkronoinnin järjestäminen tietoliikennejärjestelmässä |
CNB028223284A CN1280759C (zh) | 2001-11-12 | 2002-11-11 | 电信系统中的数据同步装置 |
US10/292,086 US7376697B2 (en) | 2001-11-12 | 2002-11-11 | Arrangement of data synchronization in a telecommunications system |
PCT/FI2002/000886 WO2003042863A1 (en) | 2001-11-12 | 2002-11-11 | Arrangement of data synchronization in a telecommunications system |
KR1020047003479A KR100945221B1 (ko) | 2001-11-12 | 2002-11-11 | 통신 시스템의 데이터 동기화 장치 |
EP02777372.0A EP1444606B1 (en) | 2001-11-12 | 2002-11-11 | Arrangement of data synchronization in a telecommunications system |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FI20012185 | 2001-11-12 | ||
FI20012185A FI112015B (fi) | 2001-11-12 | 2001-11-12 | Datan synkronoinnin järjestäminen tietoliikennejärjestelmässä |
Publications (3)
Publication Number | Publication Date |
---|---|
FI20012185A0 FI20012185A0 (fi) | 2001-11-12 |
FI20012185L FI20012185L (fi) | 2003-05-13 |
FI112015B true FI112015B (fi) | 2003-10-15 |
Family
ID=8562230
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FI20012185A FI112015B (fi) | 2001-11-12 | 2001-11-12 | Datan synkronoinnin järjestäminen tietoliikennejärjestelmässä |
Country Status (6)
Country | Link |
---|---|
US (1) | US7376697B2 (fi) |
EP (1) | EP1444606B1 (fi) |
KR (1) | KR100945221B1 (fi) |
CN (1) | CN1280759C (fi) |
FI (1) | FI112015B (fi) |
WO (1) | WO2003042863A1 (fi) |
Families Citing this family (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7024457B1 (en) * | 2000-02-17 | 2006-04-04 | J2 Global Communications, Inc. | E-mail synchronization between heterogeneous mail servers |
FI114245B (fi) * | 2002-11-13 | 2004-09-15 | Nokia Corp | Synkronointi-istunnon järjestäminen |
US20040127242A1 (en) * | 2002-12-31 | 2004-07-01 | Dashevsky Jane Y. | Apparatus and associated methods for the synchronization of shared content |
US8694620B2 (en) * | 2003-09-08 | 2014-04-08 | Microsoft Corporation | System and method for an OMA DM extension to manage mobile device configuration settings |
US20070180127A1 (en) * | 2003-11-11 | 2007-08-02 | Nokia Corporation | Preconfigured syncml profile categories |
GB2409545A (en) * | 2003-12-24 | 2005-06-29 | Nokia Corp | File synchronisation |
US7526768B2 (en) | 2004-02-04 | 2009-04-28 | Microsoft Corporation | Cross-pollination of multiple sync sources |
US7797386B2 (en) * | 2004-02-27 | 2010-09-14 | Research In Motion Limited | System and method for remotely configuring a desktop mailbox |
JP4415789B2 (ja) * | 2004-08-20 | 2010-02-17 | 株式会社日立製作所 | 無線通信システム |
KR20060054840A (ko) * | 2004-11-16 | 2006-05-23 | 엘지전자 주식회사 | 실외기 소프트웨어 업그레이드 시스템 및 그 방법 |
US7962448B2 (en) | 2004-12-17 | 2011-06-14 | International Business Machines Corporation | Optimizing a three tiered synchronization system by pre-fetching and pre-formatting synchronization data |
JP2006262311A (ja) * | 2005-03-18 | 2006-09-28 | Toshiba Corp | 情報記録装置及び情報記録方法 |
US7587410B2 (en) * | 2005-03-22 | 2009-09-08 | Microsoft Corporation | Dynamic cube services |
US7844044B2 (en) * | 2005-06-30 | 2010-11-30 | Alcatel-Lucent Usa Inc. | Control server employment of offer message from resource server to determine whether to add indication of the resource server to resource server mapping table |
KR100705238B1 (ko) * | 2005-11-15 | 2007-04-06 | 엘지전자 주식회사 | 에러 체크 코드를 이용한 데이터 동기화 방법과 이를 위한이동 통신 단말기 및 서버 |
CN101009516B (zh) * | 2006-01-26 | 2011-05-04 | 华为技术有限公司 | 一种进行数据同步的方法、系统及装置 |
CN100450108C (zh) | 2006-03-23 | 2009-01-07 | 华为技术有限公司 | 一种采用数据同步处理电子邮件的系统、装置及方法 |
US7797273B2 (en) * | 2006-03-27 | 2010-09-14 | Emoze Ltd. | System and a method for reliable symmetric data synchronization |
US7783723B2 (en) * | 2006-03-31 | 2010-08-24 | Sap Ag | Systems and methods for submitting data from a WML-based browser |
US8370423B2 (en) | 2006-06-16 | 2013-02-05 | Microsoft Corporation | Data synchronization and sharing relationships |
EP1883257A1 (fr) * | 2006-07-28 | 2008-01-30 | Gemplus | Procédé de synchronisation entre un equipement mobile et une carte a puce |
JP4341656B2 (ja) | 2006-09-26 | 2009-10-07 | ソニー株式会社 | コンテンツ管理装置、ウェブサーバ、ネットワークシステム、コンテンツ管理方法、コンテンツ情報管理方法およびプログラム |
US8020112B2 (en) * | 2006-11-06 | 2011-09-13 | Microsoft Corporation | Clipboard augmentation |
US8453066B2 (en) | 2006-11-06 | 2013-05-28 | Microsoft Corporation | Clipboard augmentation with references |
US8751442B2 (en) * | 2007-02-12 | 2014-06-10 | Microsoft Corporation | Synchronization associated duplicate data resolution |
US8799595B1 (en) * | 2007-08-30 | 2014-08-05 | American Megatrends, Inc. | Eliminating duplicate data in storage systems with boot consolidation |
US7716203B2 (en) * | 2007-08-31 | 2010-05-11 | International Business Machines Corporation | Method and system for tracking, evaluating and ranking results of multiple matching engines |
US7991740B2 (en) * | 2008-03-04 | 2011-08-02 | Apple Inc. | Synchronization server process |
US8296671B2 (en) | 2008-05-01 | 2012-10-23 | Microsoft Corporation | Enabling access to rich data by intercepting paste operations |
US8799429B1 (en) | 2008-05-06 | 2014-08-05 | American Megatrends, Inc. | Boot acceleration by consolidating client-specific boot data in a data storage system |
CN101677314B (zh) * | 2008-09-18 | 2013-01-09 | 华为终端有限公司 | 一种同步数据操作的标识方法、装置及系统 |
CN101753618B (zh) * | 2009-12-30 | 2012-12-19 | 中兴通讯股份有限公司 | 数据快同步方法及终端 |
CN101923571B (zh) * | 2010-07-29 | 2013-05-01 | 中兴通讯股份有限公司 | 管理终端数据记录的方法及装置 |
US9104765B2 (en) * | 2011-06-17 | 2015-08-11 | Robert Osann, Jr. | Automatic webpage characterization and search results annotation |
US9613104B2 (en) | 2012-02-17 | 2017-04-04 | Netflix, Inc. | System and method for building a point-in-time snapshot of an eventually-consistent data store |
TW201408885A (zh) * | 2012-08-17 | 2014-03-01 | Hon Hai Prec Ind Co Ltd | 風扇共用控制系統及方法 |
CN103629132B (zh) * | 2012-08-20 | 2016-09-14 | 国网浙江桐庐县供电公司 | 风扇共享控制系统及方法 |
US9635404B2 (en) | 2013-04-24 | 2017-04-25 | The Nielsen Company (Us), Llc | Methods and apparatus to correlate census measurement data with panel data |
US9049169B1 (en) * | 2013-05-30 | 2015-06-02 | Trend Micro Incorporated | Mobile email protection for private computer networks |
US9826359B2 (en) | 2015-05-01 | 2017-11-21 | The Nielsen Company (Us), Llc | Methods and apparatus to associate geographic locations with user devices |
US11310314B1 (en) * | 2017-07-28 | 2022-04-19 | Zero Cognitive Systems, Inc. | Automatic data synchronization across applications installed on multiple devices via mail server |
US10362105B1 (en) * | 2017-07-31 | 2019-07-23 | Amazon Technologies, Inc. | Generating probalistic data structures in gossip protocols |
CN108171527B (zh) * | 2018-03-09 | 2020-12-04 | 北京阿尔山金融科技有限公司 | 客户信息管理系统及方法 |
CN109618406B (zh) * | 2019-03-01 | 2019-07-05 | 展讯通信(上海)有限公司 | 无线连接方法、设备组、系统 |
US11573930B2 (en) * | 2019-06-03 | 2023-02-07 | Zuora, Inc. | Self-healing data synchronization |
CN110417887B (zh) * | 2019-07-29 | 2022-05-20 | 中国电子科技集团公司第二十八研究所 | 一种基于代理的信息资源目录同步方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5684990A (en) | 1995-01-11 | 1997-11-04 | Puma Technology, Inc. | Synchronization of disparate databases |
US5974238A (en) * | 1996-08-07 | 1999-10-26 | Compaq Computer Corporation | Automatic data synchronization between a handheld and a host computer using pseudo cache including tags and logical data elements |
US6044381A (en) | 1997-09-11 | 2000-03-28 | Puma Technology, Inc. | Using distributed history files in synchronizing databases |
US6810405B1 (en) * | 1998-08-18 | 2004-10-26 | Starfish Software, Inc. | System and methods for synchronizing data between multiple datasets |
US6477543B1 (en) | 1998-10-23 | 2002-11-05 | International Business Machines Corporation | Method, apparatus and program storage device for a client and adaptive synchronization and transformation server |
US6457062B1 (en) | 1999-04-08 | 2002-09-24 | Palm, Inc. | System and method for synchronizing multiple calendars over wide area network |
US6401104B1 (en) * | 1999-07-03 | 2002-06-04 | Starfish Software, Inc. | System and methods for synchronizing datasets using cooperation among multiple synchronization engines |
WO2001037092A1 (en) | 1999-11-12 | 2001-05-25 | Telefonaktiebolaget Lm Ericsson (Publ) | Apparatus and method for increasing the synchronization speed between a first device and a second device |
EP1130513A3 (en) * | 2000-01-25 | 2004-04-07 | FusionOne, Inc. | Data transfer and synchronization system |
US7743119B2 (en) * | 2001-08-07 | 2010-06-22 | Motorola, Inc. | System and method for mapping identification codes |
-
2001
- 2001-11-12 FI FI20012185A patent/FI112015B/fi not_active IP Right Cessation
-
2002
- 2002-11-11 EP EP02777372.0A patent/EP1444606B1/en not_active Expired - Lifetime
- 2002-11-11 WO PCT/FI2002/000886 patent/WO2003042863A1/en not_active Application Discontinuation
- 2002-11-11 CN CNB028223284A patent/CN1280759C/zh not_active Expired - Lifetime
- 2002-11-11 US US10/292,086 patent/US7376697B2/en not_active Expired - Lifetime
- 2002-11-11 KR KR1020047003479A patent/KR100945221B1/ko active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
US7376697B2 (en) | 2008-05-20 |
EP1444606B1 (en) | 2018-08-15 |
EP1444606A1 (en) | 2004-08-11 |
WO2003042863A1 (en) | 2003-05-22 |
CN1585944A (zh) | 2005-02-23 |
FI20012185A0 (fi) | 2001-11-12 |
KR100945221B1 (ko) | 2010-03-03 |
KR20050044311A (ko) | 2005-05-12 |
US20030115301A1 (en) | 2003-06-19 |
FI20012185L (fi) | 2003-05-13 |
CN1280759C (zh) | 2006-10-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
FI112015B (fi) | Datan synkronoinnin järjestäminen tietoliikennejärjestelmässä | |
FI114750B (fi) | Datan synkronoiminen | |
US8190671B2 (en) | Arranging synchronization session | |
US9594821B2 (en) | Method and apparatus for synchronizing how data is stored in different data stores | |
US9792343B2 (en) | Method, device and system for synchronizing of data providing for the handling of an interrupted synchronization process | |
CA2441705C (en) | Application data synchronization in telecommunications system | |
AU2002351015B2 (en) | Method and device for defining objects allowing to establish a device management tree for mobile communication devices | |
US20040010553A1 (en) | Peer to peer location based services | |
EP1543432A1 (en) | Addressing a management object | |
PT1518381E (pt) | Método e dispositivo para recuperar informação de acesso a armazenadores de dados | |
US20050021867A1 (en) | Synchronization arrangement | |
CN102148853A (zh) | 联系人信息的同步方法 | |
US20060047837A1 (en) | Arrangement for informing application capabilities by an object exchange protocol | |
FI120613B (fi) | Solmujen määrittäminen laitteenhallintajärjestelmässä | |
KR100731272B1 (ko) | 이동 통신 장치들을 위한 장치 관리 트리를 설정할 수 있는객체들을 정의하는 방법 및 장치 | |
Nieminen | Device Profile Management in ASEMA | |
JP2009054163A (ja) | 移動通信装置用の装置管理用ツリーの設定を可能にするオブジェクトを定義する方法および装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PC | Transfer of assignment of patent |
Owner name: VISTO CORPORATION Free format text: VISTO CORPORATION |
|
MM | Patent lapsed |