FI127113B - Tiedon haku - Google Patents

Tiedon haku Download PDF

Info

Publication number
FI127113B
FI127113B FI20085597A FI20085597A FI127113B FI 127113 B FI127113 B FI 127113B FI 20085597 A FI20085597 A FI 20085597A FI 20085597 A FI20085597 A FI 20085597A FI 127113 B FI127113 B FI 127113B
Authority
FI
Finland
Prior art keywords
search
response
information
request
query
Prior art date
Application number
FI20085597A
Other languages
English (en)
Swedish (sv)
Other versions
FI20085597A (fi
FI20085597A0 (fi
Inventor
Teemu Rantanen
Original Assignee
Tekla Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tekla Corp filed Critical Tekla Corp
Priority to FI20085597A priority Critical patent/FI127113B/fi
Publication of FI20085597A0 publication Critical patent/FI20085597A0/fi
Priority to US12/248,280 priority patent/US8171008B2/en
Publication of FI20085597A publication Critical patent/FI20085597A/fi
Application granted granted Critical
Publication of FI127113B publication Critical patent/FI127113B/fi

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques

Landscapes

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

Description

Tiedonhaku
Ala
Keksintö liittyy tiedonhakuun tietovarastosta.
Taustaa
Tietoliikenneteknologian kehittyminen, erityisesti langattoman tietoliikenneteknologian ja käyttäjäpäätelaitteiden, on lisännyt tiedonhakuja kenttä-olosuhteissa. Tiedonhakuun liittyvä ongelma kenttäolosuhteissa on, että kun tiedonsiirtolinkki on hidas, voi tiedonsiirto kestää kauan varsinkin, jos haetaan suuri määrä tietoa. US 6766315 liittyy käyttäjän päätelaitteessa olevan tiedon määräaikaiseen päivittämiseen ja siihen, kuinka saadaan muutokset näytettyä käyttäjälle. US 6638 314 esittää ratkaisuja, joissa hakutuloksina palautetaan ne dokumentit, jotka ovat muuttuneet ensimmäisen /jonkun muun määritellyn haun jälkeen, jos hakija etsii muuttuneita dokumentteja.
Housel, B.C. et al., “WebExpress: A client/intercept based system for optimizing Web browsing in a wireless environment” esittää sieppausmallin, jossa http-pyyntöjä sieppaamalla vähennetään tiedonsiirtoa langattoman linkin yli niin, että tietoa haettaessa käytetään asiakkaan muistissa olevaa tietoa, ja kun halutaan etäkäyttää ohjelmaa, hyödynnetään muutosvirtaa prosessoinnin tuloksen palauttamisessa. US 2006/0069719 esittää ratkaisun, jossa tieto segmentoidaan ja tietosegmentit tallennetaan palvelimen puolelle ja asiakkaan puolelle. US 2006/0069719:ssa palvelin lähettää vasteena tietopyynnölle asiakkaalle viitteitä segmentteihin, ja asiakas hakee viitatut segmentit muististaan. Mikäli asiakas vastaanottaa palvelimelta tuntemattoman viitteen, pyytää asiakas viitatun segmentin tiedon ja vastaanottaa tiedon palvelimelta. Kun tieto muuttuu palvelimella, palvelin luo uuden segmentin, lähettää sen viitteen, muita sidontoja (bindings) ja itse tiedon vastauksessa asiakkaalle. Ratkaisun ongelmana on, että jos tietoa päivitetään pirstoutuneesti, mitä luultavimmin päädytään tilanteeseen, jossa sen sijaan, että lähetetäisiin viitteitä segmentteihin, luodaan uusia segmenttejä ja lähetetään segmenttiviitteitä, niiden sidontoja ja tieto kokonaisuudessaan päätyen siten suurempaan lähetetyn tiedon määrään kuin tilanteessa, jossa segmentointia ei käytetä vaan vain tieto lähetetään.
Yhteenveto
Keksinnön tavoitteena on minimoida tietovarastosta lähetetyn tiedon määrää ja silti antaa tiedonhakijalle haetun tiedon päivitetty versio. Keksinnön tavoite saavutetaan menetelmillä, laitteilla, tietokoneohjelmistotuotteella ja järjestelmällä, joille on tunnusomaista se, mitä sanotaan itsenäisissä vaatimuksissa. Keksinnön edulliset suoritusmuodot esitetään epäitsenäisissä vaatimuksissa.
Keksintö perustuu ongelman havaitsemiseen ja tallennettujen viite-hakutulosten hyödyntämiseen pyytävällä puolella ja vastaavalla puolella, pyytävän puolen osoittaessa pyynnössä käytettävän viitehaun tai käytettävät viite-haut, ja vastaavan puolen lähettäessä vain muutokset vastaavien viite-haun(viitehakujen) hakutuloksiin vähentäen siten lähetetyn tiedon määrää. Tällä on etuna se, että tiedonhakija vastaanottaa päivitetyn version haetusta tiedosta, mutta koska vain muutokset lähetetään, lähetettävän tiedon määrä on pienempi ja siten tiedonsiirto on nopeampi. Tämä etu korostuu hitailla tiedon-siirtolinkeillä. Toinen etu on, että osoittamalla viitehaut pyynnössä, vastaava puoli tietää, mitä vastaavalla puolella tallennettuja viitehakuja voidaan käyttää, lisäpyynnöt vältetään eikä ole tarvetta, että sekä vastaava puoli että pyytävä puoli molemmat käsittävät koko tietokannan tiedot. Toisin sanoen asiakkaalla ei tarvitse olla koko tietovaraston replikaattia.
Kuvioluettelo
Keksinnön suoritusmuotoja selitetään seuraavassa ainoastaan esimerkinomaisesti viittaamalla oheisiin piirustuksiin, joissa
Kuvio 1 esittää tietoliikennejärjestelmän yleistä arkkitehtuuria;
Kuviot 2 ja 3 ovat yksinkertaistettuja lohkokaavioita suoritusmuodon mukaisista laitteista;
Kuviot 4 ja 5 ovat vuokaavioita havainnollistaen suoritusmuodon mukaisten laitteiden toiminnallisuuksia; ja
Kuviot 6 ja 7 havainnollistavat tiedonhakuja muiden suoritusmuotojen mukaisesti.
Suoritusmuotojen selitys
Seuraavat suoritusmuodot ovat esimerkinomaisia. Vaikka selitys voi useissa paikoissa viitata “erääseen”, “yhteen” tai “joihinkin” suoritusmuo-toon(muotoihin), ei tämä välttämättä tarkoita, että kukin sellainen viittaus on samaan suoritusmuotoon(muotoihin) tai että piirre soveltuu vain yksittäiseen suoritusmuotoon. Eri suoritusmuotojen yksittäisiä piirteitä voidaan myös yhdistää aikaansaamaan muita suoritusmuotoja.
Keksintö soveltuu mille tahansa tiedonhakulaitteelle, vastaavalle komponentille(komponenteille), ja/tai mihin tahansa tietovarastojärjestelmään tai mihin tahansa erilaisten tietovarastojärjestelmien yhdistelmään, kuten asi-kas-palvelin rakenne tai mikä tahansa vastaava rakenne. Käytetyt menetelmät ja prosessit, tietovarastojen ja/tai hakujärjestelmien määrittelyt, menetelmät ja algoritmit kehittyvät. Tällainen kehitys voi tarvita lisämuutoksia suoritusmuotoon. Siksi kaikki sanat ja ilmaisut tulisi tulkita laajasti ja ne on tarkoitettu havainnollistamaan, ei rajoittamaan, suoritusmuotoa.
Seuraavassa eri suoritusmuotoja selitetään käyttäen esimerkkiarkki-tehtuurina, johon suoritusmuotoja voidaan soveltaa, ja asiakas-palvelin-ra-kenteeseen perustuvaa arkkitehtuuria rajoittamatta kuitenkaan suoritusmuotoa sellaiseen arkkitehtuuriin.
Kuviossa 1 havainnollistetaan erään suoritusmuodon mukaista yleistä arkkitehtuuria. Kuvio 1 on erittäin yksinkertaistettu järjestelmäarkkitehtuuri, joka esittää vain joitakin elementtejä, verkkoja ja toiminnallisia entiteettejä, jotka kaikki ovat loogisia yksiköitä, joiden toteutus voi poiketa esitetystä. Kuviossa 1 esitetyt yhteydet ovat loogisia yhteyksiä, varsinaiset fyysiset yhteydet voivat olla erilaiset. Alan ammattilaiselle on ilmeistä, että järjestelmä käsittää myös muita toimintoja ja rakenteita. Tulee ymmärtää, että toiminnot, rakenteet, elementit ja tiedonvaihdossa tai -vaihtoon, tiedon pakkaamiseen (kompressio), muutosten havaitsemiseen (eli muutoshakuihin, difference search) ja osoitusten havaitsemiseen ja varsinaiseen tiedonsiirtoon käytetyt protokollat ovat merkityksettömiä varsinaiselle keksinnölle. Siksi niitä ei tarvitse käsitellä yksityiskohtaisemmin tässä.
Kuviossa 1 havainnollistettu järjestelmä 100 käsittää yhden tai useamman laitteen 200, 201, 210 asiakkaana, liitettynä palvelinjärjestelmään 300 verkon 400 kautta. Verkon 400 esimerkit sisältävät matkaviestinverkon, yleisen valinnaisen puhelinverkon, alueverkon WAN, Internetin ja lähiverkon LAN.
Laite 200, jota kuvataan yksityiskohtaisemmin kuvion 2 yhteydessä, voi olla mikä tahansa käyttäjälaite tai työasema, kuten sylimikro, matkaviestin, henkilökohtainen tietokone, kenttälaite tai kämmenmikro (PDA). Lisäksi laite 201 voi olla palvelin, johon käyttäjäpäätelaitteet 210 tai toiset palvelimet on liitetty, ja joka on liittynyt esimerkiksi hitaalla yhteydellä palvelinjärjestelmän lisä-palvelimeen joko suoraan tai verkon kautta (kuten kuviossa 1 on havainnollis tettu). Toisin sanoen laite 200, 201 voi toimia asiakkaana kohti palvelinjärjestelmää ja palvelimena kohti toisia laitteita.
Kuvion 1 suoritusmuodossa palvelinjärjestelmä 300 käsittää palve-linsolmun 301, joka on liitetty lähiverkolla 302 tietovarastoon 303. Muissa suoritusmuodossa palvelinsolmutoiminnallisuus ja tietovarasto voivat olla integroituna laitteeseen tai liitettynä toisiinsa esimerkiksi suuralueverkon kautta.
Palvelinsolmu 301, jota on selitetty yksityiskohtaisemmin kuviossa 3, voi olla mikä tahansa tietotekniikkalaite, kuten tietokone, joka on konfiguroitu suorittamaan ainakin osa tietokantapalvelutoiminnallisuutta ja joka siksi on osa tietokantahallinnointijärjestelmää.
Tietovarasto 303 voi olla mikä tahansa perinteinen tai tulevaisuuden tietovarasto mukaanlukien hajautetut ja keskitetyt tietovarastot. Tietovarasto voi olla muisti, tiedostopalvelin, joka käsittää muistia ja on konfiguroitu hakemaan tietoa, tai tiedonhallintapalvelin, joka käsittää muistia ja on konfiguroitu hakemaan tietoa ja suorittamaan laskentaa tiedolle. Tietovarasto voi käsittää tietoa tallennettuna tietueina, tiedostoina, taulukkoina, objekteina, binääridata-na, jne. ja tietovarasto voi olla järjestetty esimerkiksi relaatio- tai objektiorientoituneena tietokantana. Tietovaraston toteuttamisella ja sillä, kuinka tieto tallennetaan ja päivitetään, ei kuitenkaan ole merkitystä keksinnölle eikä sitä tarvitse selittää yksityiskohtaisesti tässä.
Kuvio 2 on yksinkertaistettu lohkokaavio erään suoritusmuodon mukaisesta pyytävästä laitteesta, kuten käyttäjälaitteesta. Jäljempänä laitetta kutsutaan selvyyden vuoksi käyttäjälaitteeksi. Vaikka käyttäjälaite on kuvattu yhtenä entiteettinä, eri moduulit ja muisti voidaan toteuttaa yhdessä tai useammassa fyysisessä tai loogisessa entiteetissä. Käyttäjälaite 200 on konfiguroitu antamaan käyttäjälleen tietoa, josta käyttäjä on kiinnostunut. Tätä tarkoitusta varten käyttäjälaite käsittää käyttöliit-tymäyksikön 21 käyttäjän syötteiden vastaanottamiseksi eri syötelaitteiden (esimerkiksi näppäimistö, osoitinlaite) ja eri tiedon tulostamiseksi käyttäjälle eri tulostuslaitteiden (esimerkiksi näyttö, tulostin) kautta, yhden tai useamman sovelluksen 22, joita käyttäjä voi käyttää tiedon tulostamiseksi ja/tai hakemiseksi, ja tiedonhakuyksikön 23 tiedonhakujen suorittamiseksi eli tiedon saamiseksi kuten jäljempänä selitetään, muistia 24 viitehakujen 25 tallentamiseksi, lähettimen 26 tiedonhakupyyntöjen lähettämiseksi ja vastaanottimen 27 tiedonha-kupyyntöjen vastausten vastaanottamiseksi, lähettimen ja vastaanottimen ollessa osa verkkorajapintaa. Käyttöliittymän lisäksi tai sen sijaan käyttäjälaitteel la voi olla rajapintayksikkö tai -yksikköjä syöte/tulostuslaitteille, kuten GPS-laitteelle (GPS, global positioning system), joka voi aikaansaada ilman käyttäjän vuorovaikutusta, tietoa, joka Hipaisee sovelluksen pyytämään tietoa. Yksiköt voivat olla toiminnallisesti kytkettyjä toisiinsa.
Kukin muistiin tallennettu viitehaku käsittää tunnisteen 251, haku-määrittelyt 252 (kutsutaan myös hakuehdoiksi) ja hakutulokset 253. Tunniste voi olla mikä tahansa tunniste, joka identifioi yksikäsitteisesti vastaavan viite-haun myös palvelinjärjestelmässä. Tällaisen tunnisteen esimerkit sisältävät digitaalisen allekirjoituksen, tarkistussumman tai esimerkiksi hakutuloksista, ha-kumäärittelyistä tai hakutulosten ja hakumäärittelyn yhdistelmästä lasketun hash-arvon, juoksevan numeron, mahdollisesti yhdistettynä käyttäjälaitteen osoitteeseen. Jos tunniste lasketaan muusta viitehakuun tallennetusta tiedosta, sen tallentaminen osaksi viitehakua ei ole tarpeellista vaan sen sijaan se voidaan laskea tarvittaessa (katso kuvio 4). Myös hakutulosten ja haun suoritusaikaa osoittavan aikaleiman yhdistelmää voidaan käyttää tunnisteena. Viitehaku voi käsittää myös muuta tietoa, kuten aikaleiman, joka osoittaa, koska hakutulos tallennettiin, ja aikaleiman, joka osoittaa, koska viitehakua viimeksi käytettiin. Eri viitehakujen hakutulokset voivat limittyä ja viitehaku voi olla jonkin toisen viitehaun osajoukko tai sisältää kahden tai useamman viitehaun osajoukkoja. Muisti 24 voi olla poistettava muisti, joka on irrotettavasti liitetty käyttäjälaitteeseen, ja viitehakujen tallentamiseksi voidaan käyttää mitä tahansa menetelmää. Käyttäjälaitteen toiminnallisuutta, tai täsmällisemmin tiedonhakuyk-sikön 23 toiminnallisuuden eri esimerkkejä, selitetään jäljempänä yksityiskohtaisemmin kuvioiden 4, 6 ja 7 yhteydessä. Tulee ymmärtää, että käyttäjälaite tai mikä tahansa vastaava tietoa pyytävä laite voi käsittää muita yksiköitä, joita käytetään tiedon antamisessa tai antamiseen. Ne ovat kuitenkin merkityksettömiä varsinaiselle keksinnölle eikä niistä siksi tarvitse keskustella yksityiskohtaisemmin tässä.
Kuvio 3 on yksinkertaistettu lohkokaavio erään suoritusmuodon mukaisesta pyyntöihin vastauksia lähettävästä laitteesta, kuten palvelinsolmusta. Jäljempänä laitetta kutsutaan selvyyden vuoksi palvelimeksi. Vaikka palvelin on kuvattu yhtenä entiteettinä, eri moduulit ja muisti voidaan toteuttaa yhdessä tai useammassa fyysisessä tai loogisessa entiteetissä.
Palvelin 301 on konfiguroitu antamaan asiakkaallensa tietoa, jota asiakas pyysi. Tätä tarkoitusta varten palvelin käsittää vastaanottoyksikön 31 pyyntöjen, vastausten ja muiden syötteiden vastaanottamiseksi, tiedonsaan-tiyksikön 32 tietovaraston käyttämiseksi, tiedonsaantiyksikön käsittäessä tieto-varastorajapintayksikön, tietopalveluyksikön 33 tiedonhakujen (eli tiedon saannin) suorittamiseksi, kuten jäljempänä kuvataan, ja muistia 34 viitehakujen 35 tallentamiseksi. Yksiköt voivat olla operatiivisesti kytkettynä toisiinsa.
Myös palvelimessa kukin viitehaku käsittää edullisesti ainakin ha-kumäärittelyt 353, hakutulokset 353 ja tunnisteen 351, kuten edellä on selitetty. Palvelimen puolella yksi viitehaku voi kuitenkin käsittää yksinkertaisimmillaan vain hakutulokset olettaen, että tunniste lasketaan hakutuloksista. Viitehaku voi käsittää myös muuta tietoa, kuten aikaleiman, joka osoittaa, milloin viitehaku tallennettiin, aikaleiman 354, joka osoittaa, milloin viitehakua viimeksi käytettiin, ja/tai laskuritietoa 355, joka osoittaa esimerkiksi, kuinka usein viitehakua on käytetty. Täten käyttäjälaitteen viitehaku ja vastaava palvelimen viitehaku voivat sisältää eri tietoa; riittää, että hakutulokset ovat samat ja vastaavat viite-haut voidaan löytää. Eri viitehakujen hakutulokset voivat olla päällekkäisiä ja viitehaku voi olla toisen viitehaun osajoukko tai se voi sisältää yhden tai useamman osajoukon yhdestä tai useammasta viitehausta, viitehaut voidaan tallentaa asiakaskohtaisesti ja/tai asiakkaille yhteisenä. Muisti 34 voi olla siirrettävä muisti, joka on irrotettavasti liitetty palvelimeen ja viitehakujen tallentamiseksi voidaan käyttää mitä tahansa menetelmää.
Palvelimen tai täsmällisemmin tietopalveluyksikön 33 toiminnallisuuden eri esimerkkejä kuvataan jäljempänä yksityiskohtaisemmin kuvioiden 5, 6 ja 7 yhteydessä. Tulee ymmärtää, että palvelin voi käsittää muita yksiköitä, joita käytetään tiedon antamisessa tai antamiseen käyttäjälle. Ne ovat kuitenkin merkityksettömiä varsinaiselle keksinnölle eikä niitä sen vuoksi tarvitse käsitellä yksityiskohtaisemmin tässä.
Laite, kuten käyttäjälaite tai palvelin, tai vastaava komponentti, joka toteuttaa yhden tai useamman vastaavan käyttäjälaitteen tai palvelimen erään suoritusmuodon yhteydessä kuvatun toiminnon, käsittää tunnetun tekniikan mukaisten välineiden lisäksi välineitä yhden tai useamman vastaavan laitteen erään suoritusmuodon yhteydessä kuvatun toiminnon toteuttamiseksi ja se voi käsittää erilliset välineet kullekin erillisille toiminnolle tai välineet voi olla konfi-guroitu suorittamaan kaksi tai useampia toimintoja. Laite voi olla konfiguroitu tietokoneena tai mikroprosessorina, kuten yksisiruisena tietokone-elementtinä, joka sisältää ainakin muistia aikaansaamaan aritmeettisen operaation ja viite-hakujen käyttämän tallennusalueen, ja toimintaprosessorin aritmeettisen ope raation suorittamiseksi. Nykyiset laitteet käsittävät prosessoreita ja muistia, joita voidaan hyödyntää erään suoritusmuodon toteuttamiseen. Muisti tai osa siitä voi olla liikuteltava muisti irrotettavasii liitettynä palvelimeen. Esimerkiksi tie-donhakuyksikkö tai tietopalveluyksikkö voi olla ohjelmistosovellus tai -moduuli tai yksikkö, joka on konfiguroitu toimintaprosessorin, kuten keskusyksikön, suorittamana aritmeettisena operaationa tai ohjelmana (mukaanlukien lisätyn tai päivitetyn ohjelmistorutiinin). Eräs suoritusmuoto aikaansaa tietokoneohjelman, joka on upotettu mille tahansa laitteella luettavalle jakelu/tiedontallen-nusvälineelle ja joka sisältää ohjelmaohjeita, jotka laitteeseen ladattuna muodostavat yksikön. Ohjelmat, usein myös ohjelmistotuotteiksi kutsutut, jotka sisältävät ohjelmistorutiineja, sovelmia ja makroja, voidaan tallentaa mille tahansa välineelle, ja ne voidaan ladata laitteeseen. Toisin sanoen kaikki erään suoritusmuodon yhden tai useamman toiminnon toteuttamiseksi tarvittavat modifioinnit ja konfiguraatiot voidaan toteuttaa lisättyinä tai päivitettyinä ohjelmistoru-tiineina, sovelluspiireinä (ASIC) ja/tai ohjelmoitavilla piireillä.
Kuvio 4 havainnollistaa käyttäjälaitteen toiminnallisuutta erään suoritusmuodon mukaisesti. Suoritusmuodossa oletetaan, että viitehakuja päivitetään ja/tai lisätään erillisesti käyttäjän pyynnöstä ja käyttäjälaite käsittää joko tietyn sovellusyksikön viitehakujen lisäämiseksi ja päivittämiseksi, tai perinteisissä hauissa käytetty sovellusyksikkö on konfiguroitu hallinnoimaan myös viitehakuja. Lisäksi oletetaan, että vain yksi hakutulos saadaan kyselyvastauksessa.
Kuvio 4 alkaa, kun tiedonhakuyksikkö vastaanottaa vaiheessa 401 sovellusyksiköltä hakupyynnön, joka sisältää hakumäärittelyt, ja vasteena hakupyynnölle generoi vaiheessa 402 kyselypyynnön, joka sisältää hakumäärittelyt. Sitten tiedonhakuyksikkö tarkistaa vaiheessa 403, onko hakupyyntö viite-haun lisäämiseksi tai päivittämiseksi. Toteutuksesta riippuen hakupyyntö voi sisältää osoituksen, josta se on pääteltävissä, tai se voidaan päätellä hakupyynnön lähettäneen sovellusyksikön perusteella.
Jos hakupyyntö ei ole (vaihe 403) viitehaun lisäämiseksi tai päivittämiseksi, tiedonhakuyksikkö aloittaa muistiin tallennettujen viitehakujen tutkimisen ottamalla vaiheessa 404 viitehaun ja vertaamalla vaiheessa 405 vastaanotettuja hakumäärittelyjä viitehaun hakumäärittelyihin. Jos vertailu osoittaa, että viitehaku on soveltuva (vaihe 406), tiedonhakuyksikkö lisää vaiheessa 407 viitehaun tunnisteen kyselypyyntöön ja tarkistaa sitten vaiheessa 408, onko kaikki viitehaut tutkittu. Jos vertailu osoittaa, että viitehaku ei ole soveltuva (vaihe 406), prosessi jatkuu vaiheessa 408 tarkistamalla, onko kaikki viitehaut tutkittu. Jos ei, prosessi palaa vaiheeseen 404 ottamaan jonkun toisen viite-haun. Jos kaikki viitehaut on tutkittu (vaihe 408), kyselypyyntö lähetetään vaiheessa 409. Kyselypyyntö sisältää hakumäärittelyjen lisäksi soveltuvien viite-hakujen viitehakutunnisteet. Voi kuitenkin käydä niin, ettei ole olemassa yhtään soveltuvaa viitehakua, jossa tapauksessa kyselypyyntö ei sisällä viitehakutun-nisteita.
Algoritmi, jolla päätetään, onko viitehaku soveltuva, voidaan vapaasti määritellä. Algoritmin esimerkit sisältävät seuraavat limittyviin hakumää-rittelyihin perustuvat vaihtoehdot (limittyvät kattavat saman, ylijoukon (superset), osajoukon ja osittain erilaisen): - vastaanotetut hakumäärittelyt ovat samat kuin viitehaun hakumää- rittelyt; - vastaanotetut hakumäärittelyt ovat viitehaun hakumäärittelyn osajoukko, osajoukon koolla/kattavuudella ei joko ole rajoituksia tai on rajoitus, kuten että osajoukon koon/kattavuuden täytyy olla ainakin 5 % tai 76 % viitehaun koosta/kattavuudesta; - vastaanotetut hakumäärittelyt ovat yhden tai useamman viitehaun ylijoukko; - vastaanotetut hakumäärittelyt limittyvät ennalta määritellyn määrän, kuten 85 % tai 97 % tai 55 % tai 33 %, viitehakujen hakumäärittelyjen kanssa; - kahden edellisen (osajoukko ja päällekkäisyys) yhdistelmä, kuten limittyvyys vähintään 70 % ja koko vähintään 35 %; - yksi edellinen yhdistettynä viitehaun ikäehdon kanssa.
Sitten kyselyvastaus vastaanotetaan vaiheessa 410 ja puretaan vaiheessa 411. Jos kyselyvastaus sisältää tunnisteen (vaihe 412), tiedonhaku-yksikkö havaitsee, että kyselyvastaus sisältää muutoksia (eroja) tunnisteen vii-tehakuun ja hakee vaiheessa 413 muistista viitehaun hakutulokset ja muutos-purkaa (difference decompress) vaiheessa 414 haetut hakutulokset vastaanotetuilla muutoksilla. Muutokset voivat sisältää uutta tietoa, osoituksen(osoi-tuksia) poistetusta tiedosta ja päivitettyä tietoa. Muutospurkaminen huolehtii automaattisesti siitä, että tulos on hakumäärittelyjen mukainen. (Jos hakumäärittelyt esimerkiksi määrittelevät viitehaun osajoukon, hakutulokset, jotka eivät kuulu osajoukkoon, voidaan osoittaa poistettuina.) Sitten tiedonhakuyksikkö lähettää vaiheessa 415 hakutuloksen sovellusyksikölle, jolta hakumäärittelyt vastaanotettiin vaiheessa 401.
Jos kyselyvastaus ei sisällä tunnistetta (vaihe 412), kyselyvastaus sisälsi hakutulokset, ja prosessi jatkaa vaiheesta 415 lähettämällä hakutulokset.
Jos hakupyyntö on viitehaulle (vaihe 403), tiedonhakuyksikkö tarkistaa vaiheessa 420 hakumäärittelyjä käyttäen, onko viitehaku päivitys olemassaolevaan hakuun vai uusi. Jos se on olemassa olevan haun päivittämiseen, tiedonhakuyksikkö poistaa vaiheessa 421 olemassa olevan viitehaun muistista ja lähettää vaiheessa 422 kyselyvastauksen viitehaun osoituksella (IRC). Jos hakupyyntö on uudelle viitehaulle (vaihe 420), tiedonhakuyksikkö hyppää vaiheen 421 yli ja jatkaa vaiheessa 422 lähettämällä kyselypyynnön.
Kun tiedonhakuyksikkö vastaanottaa vaiheessa 423 kyselyvastauksen vaiheessa 422 lähetettyyn pyyntöön, se purkaa vaiheessa 424 vastaanotetun vastauksen ja tallentaa vaiheessa 425 vastauksen vaiheessa 401 vastaanotettujen hakumäärittelyjen kanssa viitehauksi.
Vaikka edellä on oletettu, että viitehaut päivitetään ja/tai lisätään käyttäjän erillisestä pyynnöstä, tulee ymmärtää, että sen lisäksi tai sen sijaan voidaan käyttää myös jotain muuta mekanismia. Viitehaut voivat esimerkiksi olla niitä käyttävän sovelluksen ennaltamäärittelemiä ja/tai viitehaut voivat käsittää aikatietoa tai sisältää tiettyä päivitysaikavälitietoa, joka voi Hipaista viite-haun(hakujen) päivittämisen ilman käyttäjän vuorovaikutusta. Kun päivittäminen Hipaistaan ilman käyttäjän vuorovaikutusta, voidaan käyttäjältä kuitenkin pyytää lupa päivittämisen suorittamiseen.
Eräässä toisessa suoritusmuodossa käyttäjälaite on konfiguroitu vasteena sille, että soveltuvien viitehakujen määrä on suurempi kuin ennalta asetettu kynnysarvo, kuten esimerkiksi enemmän kuin viisi viitehakua, arvioimaan soveltuvia viitehakuja ja lähettämään kyselypyynnön vain yhdellä (tai joku muu, ennalta määritelty määrä) viitehaulla, joka on valittu arvioinnin perusteella.
Kuvio 5 havainnollistaa palvelimen, joka on käytettävissä kuvion 4 yhteydessä kuvatun suoritusmuodon mukaisen päätelaitteen kanssa, toiminnallisuutta. Kuvio 5 alkaa, kun palvelin vastaanottaa vaiheessa 501 kysely-pyynnön. Vasteena pyynnölle palvelin hakee vaiheessa 502 tietovarastosta tiedon, joka täyttää kyselypyynnössä saadut hakumäärittelyt.
Jos kyselypyynnössä ei ollut (vaihe 503) osoitusta viitehaun lisäämisestä tai päivittämisestä, tarkistetaan, sisälsikö kyselypyyntö viitehakutunnis-teita (vaiheet 504 ja 505) ja jos se sisälsi enemmän kuin yhden viitehakutun-nisteen, palvelin arvioi vaiheessa 506 viitehaut ja valitsee vaiheessa 506 en-naltamääriteltyjä valintasääntöjä käyttäen niistä yhden prosessoitavaksi. En-naltamääriteltyjen sääntöjen esimerkki on, että viitehaku, jolla on pienin määrä tietoa, määrän ollessa hakumäärittelyjen määrittelemä, valitaan, ja jos on useita hakumäärittelyjä, jotka määrittelevät saman määrän, ensimmäisenä listattu valitaan. Tulee ymmärtää, että keksintö ei rajoita valittujen viitehakujen määrää ja/tai valintasääntöjen sisältöä, ja mitä tahansa määrää voidaan käyttää, ennal-tamääriteltyä tai säännöistä riippuvaa ja/tai valintasääntöä voidaan käyttää. Palvelin voi esimerkiksi ylläpitää tietoa siitä, milloin viitehaku päivitettiin ja valita tuoreimman, tai tallentaa viimeisimmän muutospakkaamisen (difference compression) koon viitehakuun ja käyttää sitä kriteerinä tai yhtenä kriteereistä. Lisäksi palvelin voi olla konfiguroitu muutospakkaamaan taustatoimintona vii-tehakuja toisiinsa, suorittamaan tietokantahakuja käyttäen erityistä hakumäärit-telyä ja vertaamaan, mikä viitehauista on paras käytetylle hakumäärittelylle.
Kun viitehakutunniste on valittu tai jos pyyntö sisälsi vain yhden tunnisteen, haetaan vaiheessa 507 vastaavat viitehakutulokset ja vaiheessa 502 saatu tieto muutospakataan vaiheessa 508 viitehaun hakutuloksiin. Sitten vaiheessa 509 muodostetaan kyselyvastaus pakkaamalla muutospakkaamisen tulos ja vastaava tunniste kyselyvastaukseen. Sitten kyselyvastaus lähetetään vaiheessa 510.
Jos kyselypyyntö ei sisältänyt viitehakutunnistetta (vaihe 504), haettu tieto pakataan vaiheessa 509 olemaan kyselyvastaus. Sitten kyselyvastaus lähetetään vaiheessa 510.
Jos kyselyvastaus oli viitehaun lisäämiseksi tai päivittämiseksi (vaihe 503), tiedonhakuyksikkö generoi vaiheessa 520 tunnisteen viitehaulle ja tallentaa vaiheessa 521 viitehaun muistiin, tallennetun viitehaun käsittäessä edullisesti tunnisteen, hakumäärittelyt ja haetun tiedon. Sitten palvelin pakkaa vaiheessa 522 tiedon ja lähettää vaiheessa 523 tunnisteen ja pakatun tiedon kyselyvastaukseksi. Tässä suoritusmuodossa oletetaan, että käyttäjälaite tietää, mille hakumäärittelyille vastausta odotetaan. Kyselyvastaus voi kuitenkin sisältää myös hakumäärittelyt. Lisäksi eräässä suoritusmuodossa, jossa tunniste lasketaan tiedosta ja käyttäjälaite on lisäksi konfiguroitu suorittamaan laskemisen, kyselyvastaus ei sisällä tunnistetta.
Tulee ymmärtää, että viitehakujen kyselypyyntö voi sisältää useita viitehakuja, jossa tapauksessa kukin viitehaku päivitetään suorittamalla vaiheet 520-522 ja mahdollisesti myös lähettämisvaihe useita kertoja.
Eräässä toisessa suoritusmuodossa, jossa viitehakuja ylläpidetään asiakaskohtaisesti (käyttäjälaitekohtaisesti), palvelin poistaa olemassa olevan haun, jos hakupyyntö on viitehaulle (eli vaiheen 503 jälkeen ja ennen vaihetta 520).
Keksinnön lisäsuoritusmuodoissa palvelin hakee viitehakutulokset jokaiselle viitehakutunnisteelle ja suorittaa kullekin muutospakkaamisen, ja toteutuksesta riippuen lähettää ne kaikki kyselyvastauksena tai valitsee niistä yhden, esimerkiksi muutospakkaamisen jälkeen pienimmän, kyselyvastaukseksi. Eräässä jälkimmäisen suoritusmuodon toteutuksessa myös vaiheessa 502 haettu tieto voidaan pakata ja ottaa yhtenä ehdokkaana valintaprosessiin (esimerkiksi kokovertailu).
Pakkaaminen ja muutospakkaaminen voidaan suorittaa algoritmeilla, jotka kykenevät sellaiseen pakkaamiseen. Esimerkki on vcdiff, IETF Internet standardi geneeriselle muutos- ja pakkaamistietomuodolle (differencing and compression data format), jota on kuvattu RFC 3284:ssä, joka sisällytetään tähän viitteenä.
Eräässä toisessa suoritusmuodossa ei ole erityistä hakuviitteen li-säämis- tai päivitysosoitusta vaan kaikki vastaukset tallennetaan viitehauiksi. Tässä suoritusmuodossa kuvion 4 vaihe 403 hypätään yli ja prosessi jatkaa vaiheesta 404, ja sen jälkeen, kun vastaus on purettu ja mahdollisesti päivitetty (eli ennen vaihetta 415 tai sen aikana), viitehaku tallennetaan (vastaten vaihetta 425) ja vaiheet 420-425 jätetään pois. Vastaavasti kuviossa 5 vaihe 503 jätetään pois ja prosessi jatkuu vaiheesta 504 ja vaiheita 520 ja 521 vastaavat vaiheet suoritetaan ennen/sinä aikana, kun viitehakutulokset paka-taan/muutospakataan.
Eräässä edellä olevaan (eli ei ole erityistä viitehaun lisäämisen tai päivittämisen osoitusta) perustuvassa lisäsuoritusmuodossa käyttäjälaite tallentaa jotkut vastaukset viitehakuina ja palvelin tallentaa kaikki vastaukset vii-tehakuina. Käyttäjälaite voi olla konfiguroitu ylläpitämään tietoa siitä, kuinka usein tiettyjä hakumäärittelyjä käytetään ja käyttämään tätä tietoa päättäessään, mitkä hakutulokset tallennetaan viitehakuna. Toinen kriteeri viitehaun valitsemiseksi voi olla vastauksen koko. Käyttäjälaite voi olla myös konfiguroitu esimerkiksi tallentamaan joka toisen haun tai olemaan tallentamatta joka viidettä hakua.
Eräässä toisessa keksinnön suoritusmuodossa käyttäjälaite tallentaa jotkut vastaukset viitehakuina ja palvelin tallentaa samat viitehaut. Tässä suoritusmuodossa, kun tiedonhaku on tallennettava viitehauiksi, käyttäjälaite lähettää kyselyssä osoituksen, joka osoittaa, että tämän tietyn haun hakutulokset tullaan tallentamaan, ja sitten käyttäjälaite prosessoi kyselyvastauksen vaiheiden 411-415 mukaisesti ja lisäksi tallentaa hakutulokset (ne, jotka on lähetetty vaiheessa 415) viitehauiksi. Vastaavasti palvelin on konfiguroitu suorittamaan vaiheet 505-510 ja sitten lisäksi vaiheen 521 vasteena kyselylle, joka sisälsi osoituksen.
Kuvio 6 on kaavio, joka havainnollistaa tiedon hakemista erään suoritusmuodon mukaisesti. Tässä suoritusmuodossa oletetaan, että hakumäärit-telyjen täytyy olla täsmällisesti yhteensopiva viitehaun tai viitehakujen eksaktin yhdistelmän kanssa. Seuraavassa esimerkissä oletetaan selvyyden vuoksi, että viitehaku on täsmällisesti yhteensopiva.
Kuviossa 6 havainnollistetussa suoritusmuodossa palvelin on konfiguroitu suorittamaan ylläpitotoimenpiteitä 6-0 taustaprosessina. Ylläpitotoiminnot voivat sisältää tallennettujen viitehakujen koemuutospakkaamisen käyttäen hakumäärittelyjä ja viitehaun poistamisen, jos (pakatun) muutospakkaamisten koko on melkein sama tai suurempi kuin vastaavan tiedon päivitetyn version pakkaamisen jälkeen. Muita syitä poistamiselle voi olla, että viitehaku on liian vanha, sitä ei ole käytetty pitkään aikaan, käytetty harvoin, jne. Tässä suoritusmuodossa ylläpito on tilaton. Ylläpidon etuna on, että viitehaku, joka sisältää hakutuloksia, jotka ovat pääsääntöisesti vanhentuneita, poistetaan ja ajan tasalla oleva versio lähetetään ilman muutospakkaamista vähentäen näin laskentakapasiteetin käyttöä.
Vasteena sille, että käyttäjälaite UT vastaanottaa hakumäärittelyt viestissä 6-1, käyttäjälaite tutkii muistinsa viitehakuja ja löytää kohdassa 6-2 yhteensopivan. Toisin sanoen on olemassa viitehaku, jolla on samat hakumäärittelyt. Siksi UT lähettää kyselypyynnön 6-3 hakumäärittelyjen ja viitehaun tunnisteen kanssa.
Vasteena kyselypyynnön 6-3 vastaanottamiselle palvelin suorittaa vastaanotettuja hakumäärittelyjä käyttäen tiedonhaun tietovarastosta DB (viestit 6-4, 6-5) ja tutkii kohdassa 6-6 viitehakuja käyttäen tunnistetta. Tällä kertaa sellaista viitehakua ei löydetty, koska se on poistettu ylläpidon aikana. Siksi palvelin generoi kohdassa 6-6 tunnisteen ja tallentaa kohdassa 6-6 haetun tiedon hakumäärittelyjen ja tunnisteen kanssa muistiin, joka sisältää viitehakuja. Koska viitehakua ei löydetty, muutoksia ei määritellä, ja palvelin lähettää haetun tiedon, edullisesti pakkaamisen jälkeen, tunnisteen kanssa kyselyvastauksessa 6-7 käyttäjälaitteelle.
Kun käyttäjälaite vastaanottaa kyselyvastauksen 6-7 tunnisteella, se tutkii kohdassa 6-8 viitehakujaan löytääkseen viitehaun, jolla on sama tunniste. Koska tunniste kuitenkin luotiin kohdassa 6-6, ei vastaavaa tunnistetta löydy. Siksi käyttäjälaite tutkii viitehaut selvittääkseen, löytyvätkö samat määrittelyt (käyttäjälaite odottaa kyselyvastausta määrittelyille, joten se tietää ne) tallennetusta viitehausta, ja jos löytyvät, poistaa kohdassa 6-8 olemassa olevan viitehaun. Sitten käyttäjälaite tallentaa kohdassa 6-8 vastaanotetut tulokset, ha-kumäärittelyt ja tunnisteen uudeksi viitehauksi ja lähettää hakutulokset vastauksena viestissä 6-9. Vähän ajan kuluttua käyttäjälaite UT vastaanottaa samat hakumää-rittelyt viestissä 6-11 ja tutkii muistinsa viitehaut. Yhteensopiva löytyy (kohta 6-12). Siksi UT lähettää kyselypyynnön 6-13 hakumäärittelyjen ja viitehaun tunnisteen kanssa.
Vasteena kyselypyynnön 6-13 vastaanottamiselle palvelin suorittaa tiedonhaun tietovarastosta DB (viestit 6-14, 6-15) käyttäen vastaanotettuja ha-kumäärittelyjä ja tutkii kohdassa 6-15 tunnistetta käyttäen viitehakuja. Tällä kertaa yhteensopiva löytyy ja palvelin laskee kohdassa 6-16 muutokset vertaamalla haettua tietoa viitehaun hakutuloksiin. Kun muutokset on laskettu, lähettää palvelin muutokset kyselyvastauksessa 6-17 käyttäjälaitteelle. Jos tietoa ei ole päivitetty kahden haun välillä, kyselyvastaus 6-17 sisältää vain tunnisteen.
Kun käyttäjälaite vastaanottaa kyselyvastauksen 6-17, se tutkii kohdassa 6-18, löytyykö vastaava tunniste. Tällä kertaa vastaava tunniste löytyy. Siksi käyttäjälaite hakee viitehaun, jolla tunniste on, hakutulokset ja päivittää hakutulokset muutoksilla kohdassa 6-18 ja sitten lähettää hakutulokset vastauksena viestissä 6-19. Tallennettuja viitehakutuloksia ei kuitenkaan päivitetä, jotta varmistetaan, että palvelimessa ja käyttäjälaitteessa ovat samat viitehaku-tulokset. Jos kyselyvastaus 6-17 sisältää vain tunnisteen, päivittäminen hypätään yli.
Suoritusmuodoissa, joissa palvelin valitsee vastaanotetuista viite-hauista käyttökelpoisimman tai käyttökelpoisimmat, on ylläpidon 6-0 etuna se, että ylläpito helpottaa valintaa.
Toinen etu, jota erityisesti kuvio 6 havainnollistaa, on, että kummankaan asiakkaasta ja palvelimesta ei tarvitse tietää, mitä viitehakuja on tallennettu toiselle puolelle, pyydetty tieto toimitetaan minimitiedonvaihdolla.
Kuten edellä on sanottu, kuvion 6 suoritusmuodolla on etuna, että palvelinpuoli voi olla konfiguroitu huolehtimaan viitehakujen päivittämisestä poistamalla niitä automaattisesti palvelimen muistista. Jos syy poistamiseen on muutosten määrä verrattuna viitehaun hakutuloksiin, vertailu ja poistaminen voidaan suorittaa kohdassa 6-16.
Eräässä toisessa suoritusmuodossa, jossa kyselyvastaukset eivät sisällä tunnistetta tai tunnisteita, kun vastaava haku löytyy palvelimesta, käyttäjälaite on konfiguroitu havaitsemaan tallennettava viitehaku vasteena sille, että se vastaanottaa kyselyvastauksen tunnisteella.
Eräässä toisessa suoritusmuodossa jokainen kyselypyyntö, joka ei sisällä tunnistetta, tulkitaan käyttäjälaitteessa ja palvelimessa olemaan haulle, jonka tulokset tulee tallentaa viitehauksi, kun taas kyselypyyntö tunnisteella tulkitaan tarkoittavan vain tiedonhakua.
Lisäsuoritusmuodossa palvelin ja/tai käyttäjälaite ylläpitää tietoa ha-kumäärittelyistä, joilla ei ole tarkkaa yhteensopivuutta viitehauissa ja kuinka usein hakumäärittelyjä käytetään; ja vasteena sille, että hakumäärittelyjä käytetään ainakin tietty määrä, edullisesti ajanjakson aikana, palvelin tai käyttäjä-laite Hipaisee viitehaun päivittämisen/lisäämisen lisätäkseen hakumäärittelyjä vastaavan viitehaun viitehauksi.
Kuvio 7 on kaavio, joka havainnollistaa tiedonhakua erään suoritusmuodon mukaisesti. Suoritusmuodossa oletetaan, että jokainen kyselyvastaus tallennetaan aikatiedolla.
Kuvion 7 esimerkissä oletetaan, että käyttäjälaitteella UT ja palvelimella on kummallakin viitehaku, jonka tunniste on A, hakumäärittelyt b1-b7, hakutulokset ra, rb, rc, rd, re, rf, rg ja aikaleima 0:00.
Vasteena sille, että käyttäjälaite vastaanottaa hakumäärittelyt b1-b4 viestissä 7-1, käyttäjälaite tutkii muistissaan olevia viitehakuja ja löytää kohdassa 7-2 yhteensopivuuden, A:n, jolla on aikaleima 0:00. Siksi käyttäjälaite lähettää kyselypyynnön 7-3 hakumäärittelyjen b1-b4 ja viitehaun tunnisteen eli A: n kanssa.
Vasteena kyselypyynnön 7-3 vastaanottamiselle palvelin suorittaa vastaanotettuja hakumäärittelyjä käyttäen tiedonhaun tietovarastosta DB (viestit 7-4, 7-5) ja saa viestissä 7-5 hakutulokset, hakutulosten ollessa ra, rb’, rc ja rd. Sitten palvelin tutkii kohdassa 7-6 tunnistetta käyttäen palvelimen muistissa olevia viitehakuja. Yksi yhteensopivuus löytyy kohdassa 7-6 ja palvelin muu-tospakkaa kohdassa 7-6 haetun tiedon viitehaun hakutuloksiin. Lisäksi palvelin laskee kohdassa 7-6 tunnisteen B ja lähettää muutokset, tällä kertaa päivityksen rb+1 (eli rb:n muutoksen rb’:ksi) B:n ja uuden aikatiedon 0:20 kanssa kyselyvastauksessa 7-7 käyttäjälaitteelle. Palvelin myös tallentaa kohdassa 7-6 haun viitehauksi, jolla on tunnus B, hakumäärittelyt b1-b4, hakutulokset ra, rb’, rc ja rd, ja aikamäärittely 0:20.
Kun käyttäjälaite vastaanottaa kyselyvastauksen 7-7, se hakee kohdassa 7-8 kyselyvastausta odottavan viitehaun eli viitehaun A hakutulokset, ottaa ne, jotka ovat hakumäärittelyjen mukaiset, ja päivittää ne kohdassa 7-8 tekemällä muutospurkamisen. Tällä kertaa rb täytyy päivittää rb+1:Mä, päivittämisen lopputuloksen ollessa rb’. Sitten käyttäjälaite lähettää hakutulokset eli ra:n, rb’:n, rc:n ja rd:n vastauksena viestissä 7-9. Palvelin myös tallentaa kohdassa 7-8 kyselyvastauksen sisällön viitehauksi, jolla on tunniste B, hakumäärittelyt b1-b4, hakutulokset ra, rb’, rcja rd, ja aikamäärittely 0:20.
Jonkun ajan kuluttua käyttäjälaite vastaanottaa hakumäärittelyt b2-b8 viestissä 7-10 ja käyttäjälaite tutkii muistinsa viitehakuja ja löytää kohdassa 7-11 kaksi yhteensopivaa, A:n, jolla on aikaleima 0:00, ja B:n, jolla on aikalei-ma 0:20. Siksi käyttäjälaite lähettää kyselypyynnön 7-12 hakumäärittelyjen b2-b8 ja viitehakujen tunnisteiden eli A:n ja B:n kanssa.
Vasteena kyselypyynnön 7-12 vastaanottamiselle palvelin suorittaa vastaanotettuja hakumäärittelyjä käyttäen tiedonhaun tietovarastosta DB (viestit 7-13, 7-14) ja saa viestissä 7-14 hakutulokset, tulosten ollessa rb’, rc, rd, re, rf, rg ja rh. Sitten palvelin ja tutkii kohdassa 7-15 viitehakuja käyttäen tunnisteita ja aikatietoa. Kaksi yhteensopivaa löytyy, ja palvelin valitsee kohdassa 7-17 tuoreimman ja vertaa kohdassa 7-17 valitun viitehaun hakumäärittelyjä eli b1-b4:sta vastaanotettuihin hakumäärittelyihin eli b2-b8:aan, määrittää kohdassa 7-17, että b2-b4 muutospakataan B:hen, ja muutospakkaa kohdassa 7-17 haetun tiedon, joka on yhteensopiva määriteltyjen hakumäärittelyjen kanssa, valitun viitehaun vastaavaan tietoon. Tällä kertaa päivityksiä ei löytynyt ja vain tunniste B lisätään kyselyvastaukseen kohdassa 7-17. Sitten palvelin valitsee kohdassa 7-17 jäljellä olevan yhteensopivan (vanhemman), vertaa kohdassa 7-17 jäljellä olevia vastaanotettuja hakumäärittelyjä eli b5-b8:aa valitun viite-haun hakumäärittelyjen eli b1-b7:n kanssa, määrittelee kohdassa 7-17, että b5-b7 muutospakataan A:han, ja muutospakkaa kohdassa 7-17 haetun tiedon, joka sopii määritettyihin hakumäärittelyihin valitussa viitehaussa. Tällä kertaa päivityksiä ei löytynyt ja vain tunniste A lisätään kyselyvastaukseen kohdassa 7-17. Lisäksi palvelin havaitsee, että hakumäärittelyä b8 ei ole prosessoitu eikä kyselypyynnössä ole käytettävissä käyttämättömiä viitehakuja. Siksi palvelin generoi tunnisteen C ja pakkaa kohdassa 7-15 b8:Ile haetun tiedon ja lisää pakatun tiedon rh ja tunnisteen C ja aikatiedon 0:28 kyselyvastaukseen kohdassa 7-17 ja lähettää kyselyvastauksen 7-18. Palvelin myös tallentaa kohdassa 7-17 viitehaun C haetulla tiedolla (rb’, rc, rd, re, rf, rg and rh) ja aikaleimalla 0:28.
Kun käyttäjälaite vastaanottaa kyselyvastauksen 7-18, se hakee kohdassa 7-19 kyselyvastausta odottavien viitehakujen eli viitehakujen A ja B hakutulokset, ottaa tuoreemman ja ottaa tulokset b2-b4:Ile eli rb’:n, rc:n ja rd:n viitehausta B, sitten ottaa b5-b7:n eli re:n, rf:n ja rg:n viitehausta A, muutospur-kaa ne kyselyvastauksen 7-16 tiedon kanssa, lisää tuloksena (rb’, rc, rd, re, rf, rg and rh) vastaussanomaan 7-18. Käyttäjälaite myös tallentaa kohdassa 7-17 viitehaun C, joka sisältää hakutuloksina rb’:n, rc:n, rd:n, re:n, rf:n, rg:n ja rh:n ja aikaleimana 0:28.
Kuten edellä olevasta huomataan, sekä A:n että B:n käyttäminen pelkän A:n sijaan aikaansai laskentakapasiteetin vähemmän käytön ja vähemmän tiedon lähettämisen, koska muutoksia ei lähetetty. Jos vain A:ta olisi käytetty, muutos rb+1 olisi lähetetty (taas).
Eräässä toisessa suoritusmuodossa, jossa palvelin valitsee, mitä vastaanotetuista viitehauista käytetään, palvelin voi olla konfiguroitu suorittamaan vertailut saavuttaakseen heuristisen paremmuusjärjestyksen eri viite-hauista tietyille hakumäärittelyille. Esimerkiksi kohdan 7-15 jälkeen palvelin voi verrata, olisiko ollut mahdollista saada parempi tulos (eli pienempi ja/tai nopeampi vastaus), jos A:ta olisi käytetty B:n sijaan tai C paras. Tätä tietoa voidaan käyttää, kun seuraavan kerran haetaan b3-b8.
Edellä kuvioiden 4, 5, 6 ja 7 yhteydessä esitetyt vaiheet/kohdat, viestit ja liittyvät toiminnot eivät ole absoluuttisessa aikajärjestyksessä ja joitakin vaiheista/kohdista voidaan suorittaa samanaikaisesti tai esitetystä järjestyksestä poiketen. Palvelin voi esimerkiksi samanaikaisesti hakea tietoa tietokannasta, muutospakata sitä viitehakuun(viitehakuihin) ja lähettää muutospak-kaamisen tulosta asiakkaalle tietovirtana. Vastaavasti asiakas voi samanaikai sesti vastaanottaa kyselyvastauksen tietovirtana, purkaa sen ja aikaansaada hakutulos tietovuona. Muita toimintoja voidaan myös suorittaa vaihei-den/kohtien välissä tai vaiheissa/kohdissa ja muita viestejä voidaan lähettää havainnollistettujen viestin välissä. Jotkut vaiheet/kohdat tai osa vaiheis-ta/kohdista voidaan myös jättää pois tai yhdistää tai korvata vastaavalla vai-heella/kohdalla tai osalla vaihetta/kohtaa. Esimerkiksi tiedon pakkaaminen ja purkaminen voidaan jättää pois. Laitetoiminnot havainnollistavat proseduuria, joka voidaan toteuttaa yhdessä tai useammassa fyysisessä tai loogisessa epiteetissä. Viestit ovat vain esimerkinomaisia ja voivat jopa käsittää useita erillisiä viestejä saman tiedon siirtämiseksi. Lisäksi viestit voivat sisältää myös muuta tietoa. Lisäksi viestit voivat olla sisäistä tiedonvaihtoa, joita ei lähetetä verkon yli.
Vaikka keksintö on selitetty edellä olettaen, että palvelin generoi tunnisteet, on alan ammattilaisille selvää, että käyttäjälaite voi myös olla konfi-guroitu generoimaan tunnisteet.
Edellä selitetyissä suoritusmuodoissa muutosten havaitseminen ja muutospakkaaminen on selitetty yleisellä tasolla, joka havainnollistaa, mitä tarkoitetaan muutospakkaamisella. Tulee kuitenkin ymmärtää, että muutospak-kaamisen tekninen toteutus voi olla eri kuin yleisellä tasolla kuvatun. Jos esimerkiksi käytetään useita viitehakuja, muutospakkaaminen voi ottaa ne kaikki samanaikaisesti syötteinä ja prosessoida ne tämän erityisen muutospakkaa-mismenetelmän sääntöjen/toteutuksen mukaisesti. Tekninen toteutus riippuu luonnollisesti käytetystä muutospakkaamismenetelmästä.
Edellä selitettyjä suoritusmuotoja tai edellä kuvattujen piirteiden eri yhdistelmiä, jotka muodostavat lisäsuoritusmuotoja, voidaan soveltaa tiedonhakuihin yrityksissä, joilla on suuret tietokannat, yli niiden eri verkkojen, kuten sähköyhtiö, kaasuyhtiö, tietoliikenneyhtiö, tai tiedonhakuihin, kun rakenteellisia malleja haetaan rakennustyömaalla, arkkitehdin toimistossa tai betonielement-titehtaalla, jne.
Kuten edellä olevasta on ilmeistä, keksinnön eräs näkökohta käsittää tiedon kopioiden tallentamisen (melko) halvalle medialle, kopioiden ollessa tallennettuna viitehaun muodossa, ja vanhan tallennetun kopion hyödyntämisen niin paljon kuin on mahdollista mutta antaen silti tiedonhakijalle päivitettyä tietoa. Tiedon vanhojen kopioiden hyödyntäminen tekee helpommaksi eri hakujen, jotka hakevat samankaltaista tietoa monelle vaihtoehtoisella tavalla, käytön, erityisesti kun haut ovat toistuvia.
Keksinnön eräs toinen näkökohta on, että muutospakkaaminen voidaan suorittaa binääriesitystasolla, jolloin ei ole tarvetta ymmärtää tiedon sisältöä. Keksintö on kuitenkin hyvin sovellettavissa, jos käytetään suurempaa ymmärtämisen tasoa.
Alan ammattilaiselle on ilmeistä, että teknologian kehittyessä keksinnöllinen ajatus voidaan toteuttaa monin eri tavoin. Keksintö ja sen suoritusmuodot eivät rajoitu edellä kuvattuihin esimerkkeihin vaan voivat vaihdella vaatimusten puitteissa.

Claims (17)

1. Menetelmä, joka käsittää: ylläpidetään muistissa yhtä tai useampaa viitehakua, kunkin viite-haun käsittäessä ainakin hakutulokset, vastaanotetaan (7-1) hakupyyntö, joka käsittää pyynnön lisäksi ainakin hakumäärittelyt, tunnettu siitä, että menetelmä käsittää lisäksi: tarkistetaan (7-2) hakumäärittelyjä käyttäen, löytyykö muistista soveltuvaa viitehakua, soveltuvan viitehaun ollessa muistissa oleva viitehaku, joka vastaa ennalta määritellyn ehdon mukaisesti hakupyynnössä vastaanotettuja hakumäärittelyjä, jos soveltuva viitehaku löytyy, lähetetään (7-3) vasteena soveltuvan viitehaun olemassa olemiselle hakumäärittelyt ja viitehaun identifioivaa tietoa kyselypyyntönä palvelimelle, vastaanotetaan (7-7) kyselyvastaus kyselypyyn-töön, ja jos kyselyvastaus sisältää muutoksia viitehakuun, päivitetään (7-8) viitehaun tulokset vastaanotetuilla muutoksilla, päivittämisen sisältäessä muu-tospurkamisen, ja lähetetään (7-9) päivitetyt hakutulokset vastauksena hakupyyntöön, ja jos kyselyvastaus ei sisällä muutoksia viitehakuun, lähetetään viitehaun tulokset vastauksena hakupyyntöön, ja jos soveltuvaa viitehakua ei löydy, lähetetään hakumäärittelyt kyselypyyntönä palvelimelle, vastaanotetaan hakutulokset, ja lähetetään vastaanotetut hakutulokset vastauksena hakupyyntöön.
2. Patenttivaatimuksen 1 mukainen menetelmä, joka lisäksi käsittää päivitettyjen hakutulosten tallentamisen (7-8) uudeksi viitehauksi.
3. Patenttivaatimuksen 1 tai 2 mukainen menetelmä, jossa soveltuva viitehaku on viitehaku, jonka hakumäärittelyt limittyvät hakupyynnössä vastaanotettujen hakumäärittelyjen kanssa.
4. Patenttivaatimuksen 1 tai 2 mukainen menetelmä, joka lisäksi käsittää: löydetään tarkistamisen aikana useampi kuin yksi soveltuva viitehaku, ja lähetetään kyselypyynnössä kaikki löydetyt viitehaut identifioivaa tietoa.
5. Patenttivaatimuksen 1 tai 2 mukainen menetelmä, joka lisäksi käsittää: löydetään tarkistamisen aikana useampi kuin yksi soveltuva viiteha- ku, ja valitaan ennalta määritelty määrä löydetyistä viitehauista identifioitaviksi kyselypyynnössä.
6. Patenttivaatimuksen 5 mukainen menetelmä, jossa valitseminen suoritetaan vasteena sille, että soveltuvien viitehakujen määrä ylittää ennalta määritellyn kynnysarvon.
7. Menetelmä, joka käsittää: ylläpidetään (6-0) muistissa yhtä tai useampaa viitehakua, kunkin viitehaun sisältäessä ainakin hakutuloksia, vastaanotetaan (6-3) kyselypyyntö, joka käsittää ainakin hakumää- rittelyt, haetaan (6-4, 6-5) tietovarastosta hakumäärittelyjä käyttäen haku-määrittelyt täyttävä tieto, jos kyselypyyntö käsitti lisäksi tietoa, joka identifioi viitehaun, tarkistetaan (6-6) viitehaun identifioivaa tietoa käyttäen, onko vastaavaa viitehakua olemassa, vasteena sille, että vastaava viitehaku on olemassa, verrataan haettua tietoa viitehaun hakutuloksiin, suoritetaan muutosten havaitseminen muu-tospakkaamalla, ja jos muutoksia havaitaan, lähetetään viitehaun identifioivaa tietoa ja havaitut muutokset kyselyvastauksena, ja jos muutoksia ei havaita, lähetetään viitehaun identifioivaa tietoa kyselyvastauksena, ja jos kyselypyyntö ei käsittänyt tietoa, joka identifioi viitehaun, lähetetään haettu tieto kyselyvastauksena.
8. Patenttivaatimuksen 7 mukainen menetelmä, joka käsittää lisäksi haetun tiedon tallentamisen uudeksi viitehauksi.
9. Patenttivaatimuksen 7 tai 8 mukainen menetelmä, joka käsittää lisäksi: vastaanotetaan kyselypyynnössä tietoa, joka identifioi useamman kuin yhden viitehaun, ja valitaan yhden tai useamman ennalta määritellyn säännön mukaisesti identifioiduista viitehauista yksi tai useampi viitehaku käytettäväksi muutosten havaitsemiseen.
10. Patenttivaatimuksen 7 tai 8 mukainen menetelmä, vastaanotetaan kyselypyynnössä useamman kuin yhden viitehaun identifioivaa tietoa, suoritetaan vertailu kullekin viitehaulle.
11. Jonkin edellä olevan patenttivaatimuksen mukainen menetelmä, jossa ylläpitäminen käsittää lisäksi viitehakujen arvioinnin ja viitehakujen poistamisen.
12. Tietokoneohjelmistotuote, joka käsittää ohjelmaohjeita, jossa mainittujen ohjelmaohjeiden suorittaminen aikaansaa laitteen, joka sisältää tie-tokoneohjelmistotuotteen, suorittamaan minkä tahansa edellä olevan patenttivaatimuksen mukaisen menetelmän.
13. Laite (200), joka käsittää muistia (24) ainakin yhden viitehaun (25) tallentamiseksi, viitehaun käsittäessä ainakin hakutuloksia (253), välineitä hakumäärittelyt sisältävän hakupyynnön vastaanottamiseksi, välineet (23) kyselypyynnön muodostamiseksi, välineet (26) kyselypyynnön lähettämiseksi, välineet (27) kyselyvastauksen vastaanottamiseksi, välineet (23) vastauksen muodostamiseksi hakupyyntöön kyselyvastauksessa vastaanotetusta tiedosta, ja välineet (23) vastauksen lähettämiseksi hakupyyntöön, tunnettu siitä, että: laite käsittää lisäksi välineet (23) hakumääritelmiä käyttäen sen tarkistamiseksi muistista, onko soveltuvaa viitehakua olemassa, välineiden tarkistamiseksi ollessa vasteellisia välineille vastaanottamiseksi, ja siitä, että välineet (23) kyselypyynnön muodostamiseksi on konfiguroitu lisäämään vasteena soveltuvalle viitehaulle kyselypyyntöön tietoa, joka identifioi viitehaun, välineet (27) kyselyvastauksen vastaanottamiseksi on konfiguroitu vastaanottamaan vastaus, joka identifioi viitehaun ja sisältää muutoksia viite-hakuun, välineet (23) vastauksen muodostamiseksi hakupyyntöön on konfiguroitu vasteena viitehaun identifioimalle kyselyvastaukselle, joka sisältää muutoksia, päivittämään hakumäärittelyt täyttävät viitehakutulokset vastaanotetuilla muutoksilla, joka päivittäminen sisältää muutospurkamisen, ja muodostamaan vastaus hakupyyntöön päivitetyistä viitehakutuloksista vastauksena, vasteena viitehaun identifioimalle kyselyvastaukselle, joka ei sisällä muutoksia, muodostamaan vastaus hakumäärittelyt täyttävistä viitehakutuloksista.
14. Laite (301), joka käsittää muistia (34), välineitä (32) tietovaraston käyttämiseksi, välineitä (37) kyselyvastauksen, joka käsittää hakumäärittelyt, vastaanottamiseksi, välineitä (32) tiedon hakemiseksi tietovarastosta käyttäen hakumää- rittelyjä, välineitä (31) kyselyvasteen lähettämiseksi, joka kyselyvaste sisältää tietovarastosta haetun tiedon, tunnettu siitä, että muisti (34) on konfiguroitu tallentamaan ainakin yksi viitehaku, joka käsittää ainakin hakutuloksia, välineet (37) kyselyvastauksen vastaanottamiseksi on konfiguroitu vastaanottamaan kyselyvastaus, joka käsittää hakumäärittelyjen lisäksi viite-haun identifioivaa tietoa, ja siitä, että laite käsittää lisäksi välineitä (31) osoitetun viitehaun hakutulosten hakemiseksi, välineitä (31) haetun tiedon vertaamiseksi haettuihin osoitetun viite-haun hakutuloksiin ja muutospakkaamisen suorittamiseksi muutosten havaitsemista varten, ja siitä että, välineet (31) kyselyvasteen lähettämiseksi on konfiguroitu lähettämään vasteena kyselyvastaukselle, joka käsittää viitehaun identifioivaa tietoa, vertailun aikana havaitut muutokset tai osoituksen ettei muutoksia havaittu ky-selyvasteena.
15. Patenttivaatimuksen 14 mukainen laite (301), jossa laite on palvelin, joka käsittää lisäksi välineitä (31) viitehakujen tallentamiseksi asiakas-kohtaisesti.
16. Patenttivaatimuksen 13 tai 14 mukainen laite (301), jossa laite on palvelin tai käyttäjälaite tai työasema.
17. Järjestelmä (1), joka käsittää ainakin vaatimuksen 13 mukaisen laitteen (200, 210) ja vaatimuksen 14 tai 15 mukaisen laitteen (301) ja tietovaraston (303), joka sisältää ajan tasalla olevaa tietoa. Patentkrav
FI20085597A 2008-06-17 2008-06-17 Tiedon haku FI127113B (fi)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FI20085597A FI127113B (fi) 2008-06-17 2008-06-17 Tiedon haku
US12/248,280 US8171008B2 (en) 2008-06-17 2008-10-09 Data retrieval

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FI20085597A FI127113B (fi) 2008-06-17 2008-06-17 Tiedon haku

Publications (3)

Publication Number Publication Date
FI20085597A0 FI20085597A0 (fi) 2008-06-17
FI20085597A FI20085597A (fi) 2009-12-18
FI127113B true FI127113B (fi) 2017-11-15

Family

ID=39589360

Family Applications (1)

Application Number Title Priority Date Filing Date
FI20085597A FI127113B (fi) 2008-06-17 2008-06-17 Tiedon haku

Country Status (2)

Country Link
US (1) US8171008B2 (fi)
FI (1) FI127113B (fi)

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8930331B2 (en) 2007-02-21 2015-01-06 Palantir Technologies Providing unique views of data based on changes or rules
US8984390B2 (en) 2008-09-15 2015-03-17 Palantir Technologies, Inc. One-click sharing for screenshots and related documents
US8799240B2 (en) * 2011-06-23 2014-08-05 Palantir Technologies, Inc. System and method for investigating large amounts of data
US9092482B2 (en) 2013-03-14 2015-07-28 Palantir Technologies, Inc. Fair scheduling for mixed-query loads
US9547693B1 (en) 2011-06-23 2017-01-17 Palantir Technologies Inc. Periodic database search manager for multiple data sources
US9280532B2 (en) 2011-08-02 2016-03-08 Palantir Technologies, Inc. System and method for accessing rich objects via spreadsheets
US8504542B2 (en) 2011-09-02 2013-08-06 Palantir Technologies, Inc. Multi-row transactions
FI128995B (fi) 2012-01-02 2021-04-30 Tekla Corp Objektien ryhmittely tietokoneavusteisessa mallintamisessa
US20130339078A1 (en) 2012-06-18 2013-12-19 Coaxis, Inc. System and method linking building information modeling and enterprise resource planning
US10275778B1 (en) 2013-03-15 2019-04-30 Palantir Technologies Inc. Systems and user interfaces for dynamic and interactive investigation based on automatic malfeasance clustering of related data in various data structures
US9116975B2 (en) 2013-10-18 2015-08-25 Palantir Technologies Inc. Systems and user interfaces for dynamic and interactive simultaneous querying of multiple data stores
US9043696B1 (en) 2014-01-03 2015-05-26 Palantir Technologies Inc. Systems and methods for visual definition of data associations
US9619557B2 (en) 2014-06-30 2017-04-11 Palantir Technologies, Inc. Systems and methods for key phrase characterization of documents
US9535974B1 (en) 2014-06-30 2017-01-03 Palantir Technologies Inc. Systems and methods for identifying key phrase clusters within documents
US9419992B2 (en) 2014-08-13 2016-08-16 Palantir Technologies Inc. Unwanted tunneling alert system
US9454281B2 (en) 2014-09-03 2016-09-27 Palantir Technologies Inc. System for providing dynamic linked panels in user interface
US10362133B1 (en) 2014-12-22 2019-07-23 Palantir Technologies Inc. Communication data processing architecture
US9348920B1 (en) 2014-12-22 2016-05-24 Palantir Technologies Inc. Concept indexing among database of documents using machine learning techniques
US10552994B2 (en) 2014-12-22 2020-02-04 Palantir Technologies Inc. Systems and interactive user interfaces for dynamic retrieval, analysis, and triage of data items
US10452651B1 (en) 2014-12-23 2019-10-22 Palantir Technologies Inc. Searching charts
US9817563B1 (en) 2014-12-29 2017-11-14 Palantir Technologies Inc. System and method of generating data points from one or more data stores of data items for chart creation and manipulation
US9672257B2 (en) 2015-06-05 2017-06-06 Palantir Technologies Inc. Time-series data storage and processing database system
US9384203B1 (en) 2015-06-09 2016-07-05 Palantir Technologies Inc. Systems and methods for indexing and aggregating data records
US9407652B1 (en) 2015-06-26 2016-08-02 Palantir Technologies Inc. Network anomaly detection
US9537880B1 (en) 2015-08-19 2017-01-03 Palantir Technologies Inc. Anomalous network monitoring, user behavior detection and database system
US10402385B1 (en) 2015-08-27 2019-09-03 Palantir Technologies Inc. Database live reindex
US9454564B1 (en) 2015-09-09 2016-09-27 Palantir Technologies Inc. Data integrity checks
US10044745B1 (en) 2015-10-12 2018-08-07 Palantir Technologies, Inc. Systems for computer network security risk assessment including user compromise analysis associated with a network of devices
US9542446B1 (en) 2015-12-17 2017-01-10 Palantir Technologies, Inc. Automatic generation of composite datasets based on hierarchical fields
US9753935B1 (en) 2016-08-02 2017-09-05 Palantir Technologies Inc. Time-series data storage and processing database system
US10133588B1 (en) 2016-10-20 2018-11-20 Palantir Technologies Inc. Transforming instructions for collaborative updates
US10318630B1 (en) 2016-11-21 2019-06-11 Palantir Technologies Inc. Analysis of large bodies of textual data
US10884875B2 (en) 2016-12-15 2021-01-05 Palantir Technologies Inc. Incremental backup of computer data files
US10223099B2 (en) 2016-12-21 2019-03-05 Palantir Technologies Inc. Systems and methods for peer-to-peer build sharing
US10896097B1 (en) 2017-05-25 2021-01-19 Palantir Technologies Inc. Approaches for backup and restoration of integrated databases
GB201708818D0 (en) 2017-06-02 2017-07-19 Palantir Technologies Inc Systems and methods for retrieving and processing data
US11334552B2 (en) 2017-07-31 2022-05-17 Palantir Technologies Inc. Lightweight redundancy tool for performing transactions
US10417224B2 (en) 2017-08-14 2019-09-17 Palantir Technologies Inc. Time series database processing system
US10216695B1 (en) 2017-09-21 2019-02-26 Palantir Technologies Inc. Database system for time series data storage, processing, and analysis
US11281726B2 (en) 2017-12-01 2022-03-22 Palantir Technologies Inc. System and methods for faster processor comparisons of visual graph features
US10614069B2 (en) 2017-12-01 2020-04-07 Palantir Technologies Inc. Workflow driven database partitioning
US11016986B2 (en) 2017-12-04 2021-05-25 Palantir Technologies Inc. Query-based time-series data display and processing system
GB201807534D0 (en) 2018-05-09 2018-06-20 Palantir Technologies Inc Systems and methods for indexing and searching
CN110941641B (zh) * 2019-11-15 2022-06-21 南威软件股份有限公司 一种跨多个数据库进行数据搜索的方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6766315B1 (en) 1998-05-01 2004-07-20 Bratsos Timothy G Method and apparatus for simultaneously accessing a plurality of dispersed databases
US6638314B1 (en) 1998-06-26 2003-10-28 Microsoft Corporation Method of web crawling utilizing crawl numbers
US6763351B1 (en) * 2001-06-18 2004-07-13 Siebel Systems, Inc. Method, apparatus, and system for attaching search results
JP2003281191A (ja) * 2002-03-20 2003-10-03 Fujitsu Ltd 検索サーバ及び検索結果提供方法
US7120666B2 (en) * 2002-10-30 2006-10-10 Riverbed Technology, Inc. Transaction accelerator for client-server communication systems
US20080147601A1 (en) * 2004-09-27 2008-06-19 Ubmatrix, Inc. Method For Searching Data Elements on the Web Using a Conceptual Metadata and Contextual Metadata Search Engine

Also Published As

Publication number Publication date
US20090313223A1 (en) 2009-12-17
FI20085597A (fi) 2009-12-18
FI20085597A0 (fi) 2008-06-17
US8171008B2 (en) 2012-05-01

Similar Documents

Publication Publication Date Title
FI127113B (fi) Tiedon haku
US8117215B2 (en) Distributing content indices
US7640354B2 (en) Scalable differential compression of network data
US6760763B2 (en) Server site restructuring
US8996568B2 (en) Methods and apparatus for efficiently processing multiple keyword queries on a distributed network
KR101475964B1 (ko) 공유되는 커스터마이즈가능한 멀티-테넌트 데이터의 메모리내 캐싱
US9984093B2 (en) Technique selection in a deduplication aware client environment
KR100971863B1 (ko) 네트워크 문서의 배치화된 인텍싱을 위한 시스템 및 방법
US7860825B2 (en) Method for synchronizing software application and user data for asynchronous client-server and peer to peer computer networks
US7483925B2 (en) Selecting data for synchronization
US6957212B2 (en) Apparatus and methods for intelligently caching applications and data on a gateway
US8396843B2 (en) Active file instant cloning
US9935919B2 (en) Directory partitioned system and method
US9917894B2 (en) Accelerating transfer protocols
US10459886B2 (en) Client-side deduplication with local chunk caching
US20050027731A1 (en) Compression dictionaries
US11226944B2 (en) Cache management
CN101867607A (zh) 一种分布式数据存取方法、装置及系统
Tummarello et al. RDFSync: efficient remote synchronization of RDF models
CN108282525B (zh) 基于对等网络的视频资源管理系统和方法
US20040117437A1 (en) Method for efficient storing of sparse files in a distributed cache
KR20100070563A (ko) 디바이스 식별자를 이용한 디바이스 프로파일 제공 시스템 및 방법
CN111045988B (zh) 文件查找方法、设备和计算机程序产品
US20120203660A1 (en) Co-occurrence serendipity recommender
US20160044077A1 (en) Policy use in a data mover employing different channel protocols

Legal Events

Date Code Title Description
FG Patent granted

Ref document number: 127113

Country of ref document: FI

Kind code of ref document: B