FI120165B - Tietokannan synkronointi matkaviestinverkon kautta - Google Patents
Tietokannan synkronointi matkaviestinverkon kautta Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/275—Synchronous replication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/178—Techniques for file synchronisation in file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/109—Time management, e.g. calendars, reminders, meetings or time accounting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/109—Time management, e.g. calendars, reminders, meetings or time accounting
- G06Q10/1093—Calendar-based scheduling for persons or groups
- G06Q10/1095—Meeting or appointment
-
- 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
-
- 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/04—Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
-
- 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/104—Peer-to-peer [P2P] networks
- H04L67/1087—Peer-to-peer [P2P] networks using cross-functional networking aspects
- H04L67/1091—Interfacing 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. |
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)
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)
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)
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 |
-
2004
- 2004-12-29 FI FI20045508A patent/FI120165B/fi active IP Right Grant
-
2005
- 2005-12-22 EP EP05818838.4A patent/EP1846843B1/en active Active
- 2005-12-22 WO PCT/FI2005/050480 patent/WO2006070071A1/en active Application Filing
- 2005-12-28 US US11/318,487 patent/US8620858B2/en active Active
-
2013
- 2013-12-31 US US14/145,843 patent/US9460104B2/en not_active Expired - Fee Related
-
2016
- 2016-08-30 US US15/251,277 patent/US10089376B2/en not_active Expired - Fee Related
-
2018
- 2018-07-26 US US16/046,910 patent/US20180357295A1/en not_active Abandoned
Cited By (2)
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 |