FI104594B - Tapahtumien tallettaminen palvelutietokantajärjestelmässä - Google Patents

Tapahtumien tallettaminen palvelutietokantajärjestelmässä Download PDF

Info

Publication number
FI104594B
FI104594B FI963365A FI963365A FI104594B FI 104594 B FI104594 B FI 104594B FI 963365 A FI963365 A FI 963365A FI 963365 A FI963365 A FI 963365A FI 104594 B FI104594 B FI 104594B
Authority
FI
Finland
Prior art keywords
measurement
counters
counter
service
interval
Prior art date
Application number
FI963365A
Other languages
English (en)
Swedish (sv)
Other versions
FI963365A (fi
FI963365A0 (fi
Inventor
Pekka Lehtinen
Original Assignee
Nokia Networks Oy
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nokia Networks Oy filed Critical Nokia Networks Oy
Publication of FI963365A0 publication Critical patent/FI963365A0/fi
Priority to FI963365A priority Critical patent/FI104594B/fi
Priority to AU40170/97A priority patent/AU728527B2/en
Priority to PCT/FI1997/000500 priority patent/WO1998009230A2/en
Priority to BR9711387A priority patent/BR9711387A/pt
Priority to JP10511318A priority patent/JP2000517117A/ja
Priority to CA002263595A priority patent/CA2263595A1/en
Priority to EP97937602A priority patent/EP0978063A2/en
Priority to CN97198252.XA priority patent/CN1231746A/zh
Publication of FI963365A publication Critical patent/FI963365A/fi
Priority to US09/249,866 priority patent/US6233569B1/en
Application granted granted Critical
Publication of FI104594B publication Critical patent/FI104594B/fi

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q3/00Selecting arrangements
    • H04Q3/0016Arrangements providing connection between exchanges
    • H04Q3/0062Provisions for network management
    • H04Q3/0075Fault management techniques
    • H04Q3/0079Fault management techniques involving restoration of networks, e.g. disaster recovery, self-healing networks
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99942Manipulating data structure, e.g. compression, compaction, compilation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Monitoring And Testing Of Exchanges (AREA)
  • Computer And Data Communications (AREA)
  • Exchange Systems With Centralized Control (AREA)
  • Telephonic Communication Services (AREA)

Description

Λ 104594
Tapahtumien tallettaminen palvelutietokantajärjestelmässä
Keksinnön ala 5 Keksintö liittyy yleisesti palvelutietokantajärjestelmään, ja erityisesti menetelmään, jonka avulla voidaan suorittaa erilaisia tapahtumamittauksia palvelutietokantajäijestelmässä. Erään edullisen sovelluskohteen muodostavat älyverkon palvelutietokantajärjestelmät.
10 Keksinnön tausta
Telekommunikaation nopea kehitys on tehnyt mahdolliseksi sen, että operaattorit voivat tarjota käyttäjille monia eri tyyppisiä palveluja. Kehittyneitä palveluja tarjoavaa verkkoarkkitehtuuria kutsutaan älyverkoksi, josta käytetään yleisesti lyhennettä IN (Intelligent Network).
15 Älyverkon toiminnallista arkkitehtuuria on esitetty kuviossa 1, jossa verkon toiminnalliset oliot (functional entities) on esitetty ovaaleina. Seuraavassa tätä arkkitehtuuria kuvataan lyhyesti, koska keksintöä kuvataan jatkossa viitaten älyverkkoympäristöön.
Loppukäyttäjän (tilaajan) pääsystä verkkoon huolehtii CCAF-toiminto 20 (Call Control Agent Function). IN-palveluihin pääsy toteutetaan olemassaoleviin digitaalisiin keskuksiin tehtävillä lisäyksillä. Tämä tehdään käyttämällä hyväksi yleistä puhelun tilamallia BCSM (Basic Call State Model), joka kuvaa sitä olemassaolevaa toiminnallisuutta, jolla kahden käyttäjän välinen puhelu prosessoidaan. BCSM on korkean tason tila-automaattikuvaus niistä puhe-25 linohjaustoiminnon (CCF, Call Control Function) toiminnoista, joita tarvitaan käyttäjien välisen yhteysreitin pystyttämiseen ja ylläpitoon. Tähän tilamalliin lisätään toiminnallisuutta palvelun kytkentätoiminnon SSF (Service Switching Function) avulla (vrt. olioiden CCF ja SSF osittainen päällekkäisyys kuviossa ^ ' 1), jotta voidaan päättää, milloin on kutsuttava älyverkon palveluja (eli IN- 30 palveluja). Kun näitä IN-palveluja on kutsuttu, huolehtii älyverkon palvelulo-" giikan sisältävä palvelun ohjaustoiminto SCF (Service Control Function) palve- lusidonnaisesta (puheluyrityksen) käsittelystä. Palvelun kytkentätoiminto SSF liittää siis puhelunohjaustoiminnon CCF (Call Control Function) palvelun ohjaustoimintoon SCF (Service Control Function) ja sallii palvelun ohjaus-35 toiminnon SCF ohjata puhelunohjausta CCF. SCF voi esim. pyytää, että 2 104594· SSF/CCF suorittaa määrättyjä puhelu- tai yhteystoimintoja, esim. laskutus- tai reititystoimenpiteitä. SCF voi myös lähettää pyyntöjä palveludatatoiminnolle SDF (Service Data Function), joka huolehtii pääsystä älyverkon palvelusidon-naisiin tietoihin ja verkkotietoihin. SCF voi näin ollen esim. pyytää SDF:ää ha-5 kemaan tiettyä palvelua koskevia tietoja tai päivittämään näitä tietoja.
Edellä esitettyjä toimintoja täydentää vielä erikoisresurssitoiminto SRF (Specialized Resources Function), joka tarjoaa sellaisia erikoiskeinoja, joita vaaditaan joidenkin älyverkon taijoamien palvelujen toteuttamiseksi. Esimerkkejä tällaisista ovat protokollamuunnokset, puheentunnistus, ääni-ilmoitukset, 10 jne. SCF voi esim. pyytää SSF/CCF-toimintoja luomaan ensin yhteyden loppukäyttäjien ja SRF:n välillä ja sen jälkeen pyytää SRF:ää antamaan ääniviestejä loppukäyttäjille.
Muita älyverkon toiminnallisia olioita ovat erilaiset hallintaan liittyvät toiminnot, joita ovat SCEF (Service Creation Environment Function), SMF 15 (Service Management Function) ja SMAF (Service Management Access Function). SMF käsittää mm. palvelujen hallinnan, SMAF tarjoaa liitynnän SMF:ään ja SCEF mahdollistaa älyverkon palvelujen määrittelyn, kehityksen, testauksen ja syötön SMF:n kautta SCF:lle. Koska nämä toiminnot liittyvät ainoastaan verkon operaattorin toimintaan, ei niitä ole esitetty kuviossa 1.
20 Seuraavassa kuvataan vielä lyhyesti kuviossa 1 esitettyjen toiminnal
listen olioiden roolia IN-palvelujen kannalta. CCAF vastaanottaa kutsuvan osapuolen antaman palvelupyynnön, joka muodostuu tyypillisesti kuulokkeen nos-. . tosta ja/tai tietystä kutsuvan osapuolen valitsemasta numerosarjasta. CCAF
välittää palvelupyynnön edelleen CCF/SSF:lle prosessointia varten. Puhe-25 lunohjaustoiminnolla CCF ei ole palvelutietoja, mutta se on ohjelmoitu tunnistamaan palvelupyynnöt. CCF keskeyttää puhelunmuodostuksen hetkeksi ja ilmoittaa palvelun kytkentätoiminnolle SSF tiedon puhelun tilasta. SSF:n tehtävänä on, käyttäen ennalta määrättyjä kriteerejä, tulkita palvelupyyntö ja näin ollen määrittää, onko kysymyksessä älyverkon palveluihin liittyvä palvelu-30 pyyntö. Mikäli näin on, SSF muodostaa standardoidun IN-palvelupyynnön ja lähettää pyynnön SCF:lle yhdessä palvelupyynnön tilaa koskevan informaation kanssa. SCF vastaanottaa pyynnön ja dekoodaa sen. Tämän jälkeen se toimii yhdessä SSF/CCF:n, SRF:n ja SDF:n kanssa pyydetyn palvelun antamiseksi loppukäyttäjälle.
35 Älyverkon fyysisen tason arkkitehtuuri kuvaa sitä, kuinka edellä 104594 3 kuvatut toiminnalliset oliot sijoittuvat verkon fyysisiin olioihin. Älyverkon fyysistä arkkitehtuuria on havainnollistettu kuviossa 2, jossa fyysiset oliot (physical entities) on kuvattu suorakaiteina tai ympyröinä ja toiminnalliset oliot ovaaleina. Merkinantoyhteyksiä on kuvattu katkoviivoilla ja varsinaista hyötyliikennettä 5 (transport), joka on esim. puhetta, yhtenäisillä viivoilla. Optionaalisia toiminnallisia olioita on merkitty katkoviivalla. Kuviossa esitetty signalointi-verkko on signalointijärjestelmän numero 7 mukainen verkko (SS7, Signalling System Number 7 on tunnettu signalointijärjestelmä, jota kuvataan CCITT:n (nykyisin ITU-T) sinisessä kirjassa Specifications of Signalling System No. 7, 10 Melbourne 1988).
Tilaajalaitteet SE (Subscriber Equipment), joita voivat olla esim. puhelin, tietokone tai telefax, kytkeytyvät joko suoraan palvelun kytkentäpisteeseen SSP (Service Switching Point) tai verkkoliittymäpisteeseen NAP (Network Access Point).
15 Palvelun kytkentäpiste SSP tarjoaa käyttäjälle pääsyn verkkoon ja hoitaa kaikki tarvittavat valintatoiminnot. SSP pystyy myös havaitsemaan älyverkon palvelupyynnöt. Toiminnallisesti SSP sisältää puhelunhallinta- ja palve-lunvalintatoiminnot.
Verkkoliittymäpiste NAP on puhelunohjaustoiminteen CCF sisältävä 20 perinteinen puhelinkeskus, esim. hakijan DX 220 -keskus, joka osaa erottaa älyverkon palveluja tarvitsevat puhelut perinteisistä puheluista ja reitittää älyverkon puheluja tarvitsevat puhelut asiaankuuluvalle SSP:lle.
Palvelun ohjauspiste SCP (Service Control Point) sisältää ne palveluohjelmat, joita käytetään tuottamaan älyverkon palveluja.
25 Palveludatapiste SDP (Service Data Point) on tietokanta, joka sisältää asiakkaan ja verkon dataa, jota SCP:n palveluohjelmat käyttävät tuottaakseen yksilöityjä palveluja. SCP voi käyttää SDP:n palveluja suoraan tai merkinantoverkon välityksellä.
* ' . Älykäs oheislaite IP (Intelligent Peripheral) tarjoaa erityistoimintoja, 30 kuten tiedonantoja sekä ääni- ja monivalintatunnistusta.
Palvelun kytkentä- ja ohjauspiste SSCP (Service Switching and Control Point) koostuu SCP:stä ja SSP:stä yhdessä solmussa (eli jos kuviossa esitetyssä SSP-solmussa on sekä SCF- että SSF-oliot, on kysymyksessä SSCP).
35 Palvelun hallintapisteen SMP (Service Management System) tehtäviin . 104594 4 kuuluu tietokannan (SDP) hallinta, verkon valvonta ja testaus sekä verkkotietojen keräys. Se voi kytkeytyä kaikkiin muihin fyysisiin olioihin.
Palvelun luontiympäristön pistettä SCEP (Service Creation Environment Point) käytetään älyverkon palvelujen määrittelyyn, kehittelyyn ja testauk-5 seen ja syöttämään palvelut SMP:lle.
Palvelun liitännäisohjain AD (Adjunct) vastaa toiminnallisesti palvelun ohjauspistettä SCP, mutta se on kytketty suoraan SSP:hen nopealla datayhteydellä (esim. ISDN 30B+D-liittymä), eikä yhteiskanavamerkinantoverkon SS No.7 kautta.
10 Palvelusolmu SN (Service Node) voi ohjata älyverkon palveluja ja suorittaa tiedonsiirtoa käyttäjien kanssa. Se kommunikoi suoraan yhden tai useamman SSP:n kanssa.
SMAP (Service Management Access Point) on fyysinen olio, joka tarjoaa tietyille käyttäjille yhteyden SMP:hen.
15 Edellä on lyhyesti kuvattu älyverkkoa taustaksi keksinnön mukaisen menetelmän kuvaukselle. Kiinnostunut lukija voi saada tarkemman käsityksen älyverkosta esim. ITU-T:n suosituksista Q.121X tai Bellcoren AIN-suo-situksista.
Kuten edellä esitettiin, SSF lähettää SCF:lle standardoituja IN-20 palvelupyyntöjä tietyissä vaiheissa puhelunmuodostusta. Koska palvelun ohjauspiste SCP (tai palvelun liitännäisohjain AD) on tyypillisesti verkon keskitetty solmu, joka palvelee useita puhelinkeskuksia, on myös tärkeää suorittaa jatkuvasti erilaisia kuormitusmittauksia tällaisen keskitetyn palvelupisteen tietokannassa. Esim. SCP (tai AD) voidaan jakaa tällaisten 25 mittausten kannalta toiminnallisiin osiin kuvion 3 mukaisesti. Alimman kerroksen muodostaa ns. platform-kerros 31, joka sisältää laitteiston ja peruskäyttöjärjestelmän (esim. Unix). Platform-kerroksen päällä on sovelluskohtainen kerros 32, joka voidaan jakaa kolmeen osaan: palvelutietokantaan (SDB, Service Data Base) 32a, 30 palvelulogiikkaohjelmalohkoon (SLP, Service Logic Programs) 32b ja mittausohjelmalohkoon (MP, Measurement Programs) 32c. Palvelulogiikkaohjelmat ovat niitä ohjelmia, jotka liipastuvat solmuun tulevista palvelupyynnöistä ja tarjoavat varsinaisen IN-palvelun. Nämä ohjelmat suorittavat siis prosessointityötä kutsukohtaisesti. Mittausohjelmalohko on 35 puolestaan se kokonaisuus, joka hoitaa SCP:n kuormitukseen liittyvää 104594 5 prosessointia. Mittausohjelmalohko ei siis suorita työtään kutsukohtaisesti kuten palvelulogiikkaohjelma, vaan se suorittaa operaationsa esim. mittausväleittäin tai tietyissä tilanteissa, esim. ylikuormitustilanteissa.
Palvelutietokannassa on tyypillisesti tietotauluja, joissa jokaisella 5 tilaajalla on oma rivinsä Ri (i=1,2,...n). Tilaajan tunniste OI on jokaisen rivin alussa avaimena. Keksinnön kannalta oleellisia ovat sellaiset tietotaulut, jotka liittyvät em. mittauksiin. Yhtä tälläistä mittaustaulua vastaa mittauskohteiden ryhmä, jota kutsutaan (mittaus)moduuliksi. Usean mittausmoduulin mittaustaulut voidaan sijoittaa samaan tietotauluun tai mittausmoduulin 10 mittaustaulu voi muodostaa oman tietotaulunsa. Mittaustaululla tarkoitetaan siis moduulikohtaista tietojoukkoa, joka voi olla järjestelmässä tietotaulun osa tai kokonainen tietotaulu. Mittausmoduulia kutsutaan jatkossa myös mittausryhmäksi.
Kullakin tilaajalla on järjestelmässä tilaajakohtaiset laskurit, joita 15 kasvatetaan niihin liittyvien tapahtumien seurauksena, esim. kutsumäärälaskuria kasvatetaan kutakin kutsua kohti. Laskureista kootaan lukuarvot mittausväleittäin.
Kuviossa 3 on havainnollistettu menetelmän sovellusympäristöä käyttäen edelleen esimerkkinä älyverkon palvelun ohjauspistettä SCP. 20 Yleisesti ottaen voidaan kuitenkin todeta, että menetelmää voidaan soveltaa missä tahansa palvelutietokantajärjestelmässä, johon tulee satunnaisesti palvelupyyntöjä, joihin järjestelmä antaa vastauksen. Seuraavassa kuvataan tällaista ympäristöä yleisesti rajoittumatta pelkästään älyverkon SCP-solmuun.
Jotta tuleviin palvelupyyntöihin voitaisiin antaa vastauksia, on 25 prosessorin, jolla on pääsy tietokantaan suoritettava palvelukohtaista prosessointia. Palvelupyyntöihin liittyvät (mittaus)kohteet (eli (mittaus)objektit) muodostuvat tietokantajärjestelmän tietotaulujen yksittäisistä riveistä, joita prosessori käsittelee. Järjestelmässä talletetaan pyyntöjen lukumäärät ja tietyt ' tapahtumat määrätyn pituisten mittausaikavälien aikana.
30 Kohteet voidaan luokitella kohdeluokkiin siten, että kussakin luokassa kaikki kohteet ovat samaa tyyppiä (esim. tilaajia), kun tilannetta tarkastellaan niiden tapahtumien kannalta, joita talletetaan. Saman tyyppisistä kohteista voidaan muodostaa mittausryhmä ja kunkin kohdeluokan sisällä voidaan määritellä useampi kuin yksi mittausryhmä. Mittausryhmän sisällä kuhunkin 35 kohteeseen liittyy laskureita, joilla tapahtumia talletetaan. Laskuriarvot voivat e 104594 vaihdella kohteesta toiseen, mutta tietyn tapahtuman tulkinta on samanlainen jokaisen kohteen osalta, tietyt tapahtumat voivat esim. merkitä numeromuunnospyyntöä jokaisen tilaajan (eli kohteen) kohdalla.
Mittaukseen liittyvä toiminnallisuus käsittää seuraavanlaisia 5 tallennustoimintoja riippumatta siitä, minkälaisessa ympäristössä palvelutietokantajärjestelmä on.
Jokaisen pyynnön saapuessa luodaan palvelulogiikkaproseduurista dedikoitu ilmentymä, halutun kohteen datarivi haetaan tietotaulusta ja vaadittava palvelulogiikkaprosessointi suoritetaan. Mittausryhmässä jokaiseen 10 yksittäiseen datariviin liittyy laskuriryhmä, jolla erilaisten tapahtumien esiintyminen talletetaan. Palvelulogiikkaprosessoinnin aikana kasvatetaan laskuriarvoja talletettaviksi haluttavien tapahtumien esiintymisen mukaisesti.
Lisäksi on edullista, jos sama prosessori voidaan asettaa hoitamaan palveluprosessointia, tapahtumien talletukseen liittyviä toimintoja (laskurien 15 kasvatusta) ja laskuriarvojen talletusta useiden eri mittausryhmien osalta. Laskuriarvojen talletuksella tarkoitetaan sitä, että laskurien arvot haetaan säännöllisin väliajoin, jotta ne voidaan kirjoittaa muistiin (lokitiedostoon) tai lähettää ulkopuoliseen järjestelmään prosessointia varten. Käytännössä yhden prosessorin käyttö saattaa olla jopa ainoa vaihtoehto. Tämä johtuu siitä, että 20 palvelupyyntöihin liittyy useinkin tiukat vasteaikavaatimukset, jolloin tietokanta on toteutettava RAM-muistiin (ei levylle). Kaikissa kaupallisissa tietokonejärjestelmissä ei ole edes mahdollista, että useammalla kuin yhdellä prosessorilla olisi pääsy samaan RAM-muistiin. Usealle prosessorille yhteinen RAM-muisti on myös vaikea toteuttaa, koska joudutaan huolehtimaan siitä, 25 ettei synny päällekkäisiä muistioperaatioita.
Konventionaalisissa palvelutietokantajäijestelmissä, joissa käytetään yhtä laskurijoukkoa kutakin mittauskohdetta kohden, kerätään mittausvälin päättyessä laskurien arvot mittauskohde mittauskohteelta, nollataan laskurit ja sen jälkeen aloitetaan uusi mittaus. Erityisesti silloin, kun mittauskohteitten 30 lukumäärä on suuri ei tällainen järjestelmä toimi tyydyttävästi, koska kaikkien mittauskohteitten mittausarvojen talletus kuormittaa prosessoria ja vie runsaasti aikaa. Tällainen on tilanne esim. SCP-solmun tietokannassa, jossa tilaajia voi olla tuhansia.
Erityisesti järjestelmissä, joissa laskurien kasvatus ja laskuriarvojen 35 talletus hoidetaan samalla prosessorilla on tällöin ongelmana lisäksi se, että 104594 7 palvelun vasteajat venyvät pitkiksi.
Keksinnön yhteenveto
Keksinnön tarkoituksena on ratkaista edellä kuvatut epäkohdat ja 5 saada aikaan järjestelmä, jossa pystytään tehokkaasti tallettamaan ja nollaamaan hyvinkin suuren laskurijoukon arvot ja silti aloittamaan uusi mittaus niin, että aikaa ei mene hukkaan ja niin, että kaikilla kohteilla alkaa laskurien kasvatus samanaikaisesti ja oikealla hetkellä (mittausaikavälin vaihtumishetkellä). Lisäksi tarkoituksena on aikaansaada järjestelmä, joka on 10 perusominaisuuksiltaan sellainen, että se mahdollistaa vasteaikojen pitämisen mahdollisimman lyhyinä myös silloin, kun em. tehtävät hoidetaan yhdellä prosessorilla.
Tämä päämäärä saavutetaan keksinnön mukaisella menetelmällä, joka on määritelty itsenäisessä patenttivaatimuksessa.
15 Keksinnön ajatuksena on ylläpitää tietokannan tietotaulun kullakin kohdekohtaisella rivillä monistettuja laskureita, joita käytetään jatkossa kuvattavalla tavalla vuoroväleittäin toisaalta laskuriarvojen kasvattamiseen ja toisaalta arvojen tallettamiseen ja nollaukseen.
Keksinnön edullisen suoritusmuodon mukaisesti kohdekohtaisella 20 rivillä ylläpidetään kahdennettuja laskureita (monistuskerroin on kaksi), jolloin ensimmäinen laskuri kuuluu ensimmäiseen laskurijoukkoon ja toinen laskuri toiseen laskurijoukkoon ja joka toisessa mittausaikavälissä kasvatetaan ensimmäisten laskurijoukkojen laskureita ja talletetaan sekä nollataan toisten laskurijoukkojen laskurien arvoja ja joka toisessa mittausaikavälissä 25 kasvatetaan toisten laskurijoukkojen laskureita ja talletetaan sekä nollataan ensimmäisten laskurijoukkojen laskurien arvoja. Kahdennetuilla laskureilla saavutetaan em. päämäärä yksinkertaisimmalla tavalla, joskin samanlaista vuorotteluperiaatetta voidaan noudattaa suuremmallakin määrällä samanlaisia ' . laskureita (monistuskerroin >2).
30 Keksinnön erään toisen edullisen suoritusmuodon mukaisesti laskureita kasvattava prosessi ja laskuriarvoja tallettava ja nollaava prosessi vaiheistetaan käytettyyn vuorottelurytmiin parametrilla, jota laskurien talletusta hoitava prosessi ylläpitää vahtimalla mittausvälin vaihtumishetkien saavuttamista ja jota laskurien kasvatusta hoitava prosessi käy lukemassa 35 kunkin palvelupyynnön yhteydessä. Kahdennettujen laskurien tapauksessa 104594 8 tätä parametria kutsutaan pariteettiparametriksi (koska se voi saada vain kaksi arvoa).
Keksinnön erään lisäsuoritusmuodon mukaisesti laskuriarvojen kasvatusta hoitavan prosessin ja laskuriarvojen talletusta ja nollausta hoitavan 5 prosessin välinen rajapinta toteutetaan siten, että järjestelmässä ylläpidetään mittausryhmäkohtaista aktivointiparametria ja mittauskohdekohtaista aktivointiparametria, ja että laskuriarvojen kasvatusta hoitava prosessi kasvattaa (pariteetti)parametrin ilmoittaman laskuriryhmän arvoja aina silloin, kun aktivointiparametrit osoittavat sekä mittausryhmän että mittauskohteen 10 olevan aktiivinen. Tällä tavoin saadaan laskurien kasvatusta hoitava prosessi mahdollisimman yksinkertaiseksi (sen ei tarvitse tehdä muita tarkistuksia, ei esim. tarkistaa sitä, missä vaiheessa talletusta ja nollausta hoitava prosessi on). Näin saadaan palvelun vasteajat mahdollisimman lyhyiksi (laskurien kasvatusta hoitava prosessi tarjoaa palvelun).
15 Erään toisen edullisen suoritusmuodon mukaisesti talletus- ja nollausprosessi käynnistetään toistuvasti lyhyin väliajoin yhden mittausaikavälin aikana ja prosessi tarkistaa jokaisella kerralla, sen hetkisen ajan perusteella, onko seuraava mittausvälin vaihtumishetki jo saavutettu. Tällä tavoin voidaan välttää kiinteän ajastimen käyttö mittausvälin vaihtumisen 20 indikoinnissa, jolloin samalla vältetään se vaikeus, joka liittyy kellonajan ja ajastimen laukeamishetkien välisen synkronoinnin ylläpitoon. Tämä vaikeus on seurausta siitä, että ajastimien laukeamiset viivästyvät satunnaisesti silloin, kun prosessorilla on liikaa kuormaa.
Huomattakoon, että vaikka tässä yhteydessä puhutaan talletus- ja 25 nollausprosessista, tarkoitetaan sillä prosessia, joka hoitaa sekä laskuriarvojen talteenottoa että niiden nollausta. Laskuriarvoja ei välttämättä kirjoiteta heti lokitiedostoon, vaan laskuriarvot voidaan esim. lähettää ulkopuoliseen järjestelmään. Mittauskohteen yksittäisellä käsittelykerralla ei myöskään aina . suoriteta sekä talteenottoa että nollausta, vaan molemmat voidaan ohittaa tai 30 suorittaa ainoastaan nollaus.
Kuvioluettelo
Seuraavassa keksintöä ja sen edullisia suoritusmuotoja kuvataan tarkemmin viitaten oheisten kuvioiden 4-7d mukaisiin esimerkkeihin oheisissa 35 piirustuksissa, joissa 104594 .
9 kuvio 1 havainnollistaa älyverkon toiminnallista arkkitehtuuria, kuvio 2 havainnollistaa älyverkon fyysistä arkkitehtuuria, kuvio 3 havainnollistaa SCP-solmun tapahtumamittauksen kannalta oleellisia osia, 5 kuvio 4 havainnollistaa keksinnön mukaista palvelutietokanta- järjestelmää, kuvio 5a esittää aika-akselia, jolla on havainnollistettu kuvion 4 järjestelmässä noudatettavaa ensisijaista vuorotteluperiaatetta, kuvio 5b esittää aika-akselia, jolla on havainnollistettu yleistä 10 vuorotteluperiaatetta, jota noudatetaan kuvion 4 järjestelmässä, kuvio 6 on vuokaavio, joka esittää järjestelmän siirtymistä tyhjäkäyntitilasta normaaliin toimintatilaansa, ja kuviot 7a...7d muodostavat vuokaavion, joka kuvaa laskurien talletus-ja nollausprosessin kulkua.
15
Keksinnön yksityiskohtainen kuvaus
Kuviossa 4 on havainnollistettu keksinnön mukaista tietokantajärjestelmää DBS, joka voi olla esim. älyverkon SCP-solmussa. Tietokanta sisältää ainakin yhden perustietotaulun BT ja ainakin yhden 20 mittaustaulun MT, joissa on paljon peräkkäisiä rivejä. Kuviossa on esitetty yksi perustaulu ja kolme mittaustaulua.
Perustaulun yksi rivi vastaa yhtä mittauskohdetta (esim. tilaajaa).
Rivin alussa on kohteen tunniste OI. Samassa perustaulussa olevat kohteet kuuluvat samaan mittauskohdeluokkaan, toisin sanoen kaikki saman 25 perustaulun kohteet ovat tyypiltään samanlaisia. Perustaulun yksi kohde voi sisältyä useaan eri mittaustauluun MT, esim. sama tilaaja voi olla mukana kutsumäärämittauksessa, jossa mittausvälin pituus on esim. 5 min. ja kutsumäärämittauksessa, jossa mittausvälin pituus on esim. 24 tuntia.
' . Perustaulun jokaisella rivillä ovat lisäksi parametrit, jotka kertovat, mihin » 30 mittausryhmiin kyseinen kohde on sisällytetty aktiivisena. Jatkossa näiden parametrien tunnukset ovat ObjActj (j=1...mittausryhmien lukumäärä). Parametrien arvot ovat käyttäjän aseteltavissa.
Yksittäinen mittaustaulu käsittää otsikkorivin HR ja peräkkäisiä rivejä Ri (i=1...n). Mittaustaulun yhdellä rivillä Ri on kohdekohtaiset parametrit ja 35 kohdekohtaiset laskurit. Kukin mittaustaulu muodostaa tietyn mittausryhmän 104594 10 edellä esitetyn tapaan. Kussakin mittaustaulussa ovat siis mukana ne kohteet, joille suoritetaan samanlaista mittausta. Esim. kuvion yhdessä mittaustaulussa voisivat olla ne tilaajat, joille suoritetaan kutsumäärämittausta, toisessa ne tilaajat, joille suoritetaan jotakin tapahtumalaskurimittausta ja kolmannessa ne 5 tilaajat, joille suoritetaan puhelunpituusmittausta. Kuten aiemmin todettiin, saman tyyppisestäkin mittauksesta (esim. kutsumäärämittauksesta) voi olla useita eri mittaustauluja.
Mittaustaulun otsikkorivillä HR ovat ne parametrit, jotka ovat yhteisiä koko mittausryhmälle. Nämä parametrit kuvataan jäljempänä.
10 Palvelulogiikkaohjelmainstanssi SLPi lukee perustaulun BT rivejä, joten perustaulun riveillä on myös sellaisia parametreja, joita käytetään palvelun tuottamiseen. Koska ne eivät kuitenkaan kuulu tämän keksinnön piiriin, ei niitä kuvata tässä yhteydessä tarkemmin.
SSP:n lähettämä palvelupyyntö SR sisältää tilaajan (kohteen) 15 tunnisteen. Kun SCP saa tällaisen palvelupyynnön luodaan palvelulogiikkaohjelmasta palvelulogiikkaohjelmailmentymä SLPi, joka ryhtyy palvelemaan ko. palvelupyyntöä. Tämä tehdään sinänsä tunnetulla tavalla siten, että järjestelmässä oleva palvelulogiikan suorituslohko SLE luo palvelulogiikkailmentymän SLPi ottamalla kopion palvelulogiikkamalleista, 20 jotka on talletettu lohkoon SLPT. Tämä kopio (eli SLPi) asetetaan vastaanotetun palvelupyynnön käyttöön. Palvelupyynnöt palvelulogiikan suorituslohko SLE noutaa puskurista BF, johon tulevat palvelupyynnöt talletetaan.
• · SLPi lukee palvelupyynnöstä tilaajan tunnisteen, minkä jälkeen se 25 pystyy lukemaan tunnistetta vastaavan rivin perustaulusta. Riviltä SLPi saa selville parametrien ObjActj (j=1,2...) arvot. Mikäli kohde on aktiivinen, SLPi lukee niiden mittaustaulujen otsikkoriveiltä, joissa kyseinen kohde on mukana, onko myös mittausryhmä aktiivinen. Tämä ilmoitetaan mittaustaulun otsikkorivillä olevalla parametrilla, jota kutsutaan jatkossa nimellä ActNew. Jos 30 sekä kohde että mittausryhmä ovat aktiivisia, SLPi kasvattaa mittaustaulun ko. kohteen rivillä olevan yhden tai useamman laskurin arvoa. Kuten kuviossa 4 esitetään, käyttäjä antaa parametrien ObjActj ja ActNew arvot hallintajärjestelmän (SMP) välityksellä. Koska jatkossa käsitellään parametria ObjAct mittausryhmäkohtaisesti, ei mittausryhmän ilmoittavaa indeksiä j 35 käytetä.
] 104594 11
Mittaustaulun riveillä olevat laskurit on edullisesti kahdennettu siten, että riville muodostuu kaksi laskuriryhmää, joita on merkitty viitemerkeillä CG1 ja CG2. Ryhmissä on samat laskurit (yksi tai useampi laskuri ryhmässä) eli ryhmän kullakin laskurilla on vastaava laskuri toisessa ryhmässä. Laskureita 5 kasvatetaan vuorovälein siten, että aika-akseli jaetaan kuvion 5a mukaisesti peräkkäisiin mittausaikaväleihin TP, joista joka toista on merkitty viitemerkillä F ja joka toista viitemerkillä T. Mittausaikavälien F aikana kasvatetaan esim. laskuriryhmän CG1 laskureita ja mittausaikavälien T aikana laskuriryhmän CG2 laskureita (tai päinvastoin). Se kumpi aikaväli kulloinkin on kysymyksessä 10 määritetään pariteettimuuttujalla, jota ylläpidetään mittaustaulujen otsikkoriveillä. Lukiessaan mittaustaulun otsikkoriviä SLPi lukee myös pariteettiparametrin arvon, jolloin se tietää, kumpaa mittaustaulun rivillä olevaa laskuria sen on kasvatettava. Pariteettiparametri on Boolen muuttuja, joka voi saada arvot T(rue) tai F(alse), mistä syystä joka toista aikaväliä on kuviossa 15 merkitty viitemerkillä T ja joka toista puolestaan viitemerkillä F.
Edellä esitetty vuorotteluperiaate vastaa keksinnön edullisinta suoritusmuotoa, jossa laskurit on kahdennettu. Vuorotteluperiaatetta voitaisiin kuitenkin noudattaa myös siten, että laskureita monistetaan useampi kuin kaksi. Tätä yleistä periaatetta on havainnollistettu kuviossa 5b, jossa kutakin 20 laskuria on N kappaletta, jolloin mittauskohdetta vastaavalla mittaustaulun rivillä on N kappaletta laskuriryhmiä (joista jokaisessa on yksi tai useampi laskuri). Kun monistettujen laskurien lukumäärä on suurempi kuin kaksi, aika- . akseli on edelleenkin jaettu peräkkäisiin mittausaikaväleihin (TP) siten, että * · kussakin mittausaikavälissä kasvatetaan vain tietyn laskurijoukon laskurien 25 arvoja ja kasvatettavaa laskurijoukkoa vaihdetaan mittausaikavälistä toiseen. Koska laskurijoukkoja on N kappaletta, samaa laskurijoukkoa kasvatetaan N mittausaikavälin välein. Yksittäisen laskurijoukon laskurien talletus ja nollaus suoritetaan niiden mittausaikavälien aikana, jotka jäävät niiden 'j' mittausaikavälien väliin, joiden aikana kyseisen laskurijoukon laskureita 30 kasvatetaan. Se, kuinka talletus ja nollaus jaetaan ko. mittausaikaväleihin voi myös vaihdella. Tietyn laskuriryhmän talletus- ja nollaus voidaan esim. tehdä aina yhden mittausaikavälin kuluessa. Jos talletus- ja nollaus jää kesken, on sitä kuitenkin mahdollista jatkaa toisessa mittausaikavälissä, mikäli kyseisessä mittausaikavälissä on jo ehditty suorittaa ko. mittausaikaväliä vastaavien 35 laskurijoukkojen talletus ja nollaus. Tällä tavoin voidaan käytettävissä oleva 104594 12 aika hyödyntää tehokkaasti, mutta suorituslogiikasta tulee monimutkaisempi.
Koska laskurien kahdennus on kuitenkin edullisin toteutusvaihtoehto, käytetään sitä jatkossakin esimerkkinä.
Palvelulogiikkaohjelmainstanssi SLPi hoitaa riveillä olevien 5 tapahtumalaskureiden kasvattamista itsenäisesti, mikä tarkoittaa sitä, että se kasvattaa sokeasti laskureiden arvoja, mikäli havaitsee kyseisen mittausryhmän ja -kohteen aktiivisiksi. Mittausohjelmalohko hoitaa sen sijaan riveillä olevien laskureiden talletusta ja nollausta. Mittausohjelmalohkossa voi olla omat alilohkonsa CRj jokaisen mittausryhmän laskurien talletusta ja 10 nollausta varten. Lisäksi mittausohjelmalohko (tai alilohko CRj) määrää laskurien vaihtohetket vaihtamalla pariteetin arvoa jokaisen mittausvälin TP alussa. Niissä mittausaikaväleissä, joissa SLPi kasvattaa laskuriryhmän CG1 laskureita mittausohjelmalohko käsittelee laskuriryhmän CG2 laskureita, ja niissä mittausaikaväleissä, joissa SLPi kasvattaa laskuriryhmän CG2 15 laskureita mittausohjelmalohko käsittelee laskuriryhmän CG1 laskureita. Laskurien kasvatus (eli tapahtumien talletus) hoidetaan siis laskurien talletus-ja nollausprosessiin nähden erillisellä prosessilla, joka hyödyntää ainoastaan pariteettiparametrin arvoa tietämättä mitään muuta siitä, missä vaiheessa laskurien talousprosessi työskentelee. Jatkossa nimitetään niitä laskureita, 20 joita kulloinkin kasvatetaan aktiivilaskureiksi ja niitä joiden arvoja talletetaan ja nollataan passiivilaskureiksi. Tietyn mittausaikavälin aikana kasvatetut laskuriarvot käsitellään siis kyseistä mittausaikaväliä seuraavan mittausaikavälin aikana, jolloin puolestaan kasvatetaan sitä laskurijoukkoa, jota • · käsiteltiin edellisen mittausaikavälin aikana.
25 Järjestelmään kuuluu lisäksi oleellisena osana herätysajastin TM, jonka avulla asetetaan prosessori PR käynnistämään mittausohjelmalohko (laskurien talletus ja nollaus) pienin väliajoin WP (kuviot 5a ja 5b). Herätysaikavälin pituus voi olla esim. 10 sekuntia eli herätysaikaväli on hyvin J' lyhyt verrattuna mittausaikaväliin TP. Herätysajastimia voi olla yksi tai useampi 30 ja ne voivat olla mittausryhmäkohtaisia tai usealle mittausryhmälle yhteisiä.
Käyttäjän määrittämän parametrin avulla voidaan mittausryhmäkoh-taisesti määritellä, kuinka monen kohteen laskurit enintään saadaan käsitellä yhdellä suorituskerralla eli yhtä herätystä kohti. Tästä parametrista käytetään jatkossa nimitystä Batch. Jos kaikkien kohteiden passiivilaskurijoukot ehditään » 35 käsitellä mittausaikavälin kuluessa (eli siihen mennessä, kun todetaan uusi "1 104594 13 mittausvälin vaihtumishetki), asetetaan mittausryhmälle lippu merkiksi siitä, että kyseisen mittausaikavälin kuluessa el enää tarvitse mennä käsittelemään mittausobjekteja. Vaikka siis laskurien talletus- ja nollausprosessi herätetäänkin edelleen tihein välein herätysajastimen avulla, ei 5 mittausobjekteja enää käsitellä kyseisessä aikavälissä.
Kuten edellä todettiin, on edullista, jos sama prosessori suorittaa sekä mittausohjelmaa että palvelulogiikkaohjelmaa SLPi. Kuviossa 4 tätä yhteistä prosessoria on merkitty viitemerkillä PR. Mittausohjelman suoritus käynnistetään ajastimen TM avulla aina, kun aikaväli WP on kulunut.
10 Tietokanta tietotauluineen sekä mittausohjelma ja palvelulogiikkaohjelma voivat olla samassa RAM-muistissa, mutta järjestelmä voi olla myös sellainen, että tietokanta tietotauluineen on levyllä. Tällöin järjestelmässä on kaksi prosessoria siten, että toinen suorittaa palvelulogiikkaohjelmaa ja toinen käsittelee levyllä ylläpidettäviä laskuriarvoja.
15 Joka tapauksessa prosessoriin liittyy tietyt muistialueet MA1...MA3, joilla mittausohjelmalohko, palvelulogiikkaohjelmalohko sekä tietokanta tietotauluineen ovat. Palvelun suorituslohkon muistialuetta on merkitty viitemerkillä MA4 ja palvelulogiikkamallien muistialuetta viitemerkillä MA5. Kuten edellä kuitenkin mainittiin, on vasteaikojen kannalta edullista käyttää 20 RAM-muistia ja yhtä prosessoria.
Jos kaikkien kohteiden (tilaajien) passiivilaskurijoukkoja ei ehditä käsitellä, esim. prosessoriylikuorman takia, käytettävissä olevan , mittausaikavälin TP kuluessa, jätetään loput kohteet käsittelemättä.
• ·
Periaatteena on, että tekemättömän työn ei anneta kasautua. Talletus- ja 25 nollausprosessi merkitsee kuitenkin rivikohtaisilla aikaleimoilla ne rivit, jotka on ehditty käsitellä. (Jos rivejä jää käsittelemättä, jäävät laskurit myös nollaamatta, eikä lokitiedostoon kyetä kirjoittamaan.)
Palvelulogiikkaohjelmainstanssi kasvattaa sokeasti kaikkia laskureita, \ myös käsittelemättä jääneillä riveillä. Näitä rivejä ei kuitenkaan voida käsitellä 30 jatkossa, koska niiden arvot eivät enää ole mittausaikavälin pituiselta ajalta, esim. 5 min. pituiselta ajalta. Kun mittausohjelma rupeaa käsittelemään rivejä, tarkistetaan erikseen, voiko laskuriarvon kirjoittaa lokitiedostoon. Laskuriarvoja kasvatetaan siis sokeasti, mutta seuraavassa käsittelyaikavälissä tarkistetaan, onko arvo kelvollinen kirjoitettavaksi lokitiedostoon vai ei.
35 Tiheästi toistuvien herätyksien avulla saadaan hoidettua eri 104594 14 mittausryhmien eripituiset mittausaikavälit. Järjestelmässä ei siis ole omaa laskuria (ajastinta) jokaiselle eripituiselle mittausaikavälille, joita eri mittausryhmillä on, vaan järjestelmässä on yksi ainoa laskuri, joka herättää mittausohjelman tiheästi, esim. 10 s välein. Jokaisella herätyskerralla 5 mittausohjelma tarkistaa, onko ruvettava käsittelemään (tallettamaan ja nollaamaan) kohdekohtaisia laskureita. Näin ollen voidaan esim. prosessorin ylikuormatilanteessa aina luottaa siihen, että jossain vaiheessa kuorman hellittäessä ajastin pääsee laukeamaan ja sen laukaisema talletus- ja nollausprosessi tietää, mitä kulloinkin on tehtävä. Prosessorin 10 jälkeenjääneisyys ratkaistaan siis tavalla joka on helpompi kuin erillisten ajastimien käyttö. Erillisten ajastimien tapauksessa liiallisen prosessorikuorman aiheuttama myöhästyminen kostautuisi, koska ajastin asetetaan aina uudestaan saman aikavälin päähän. Tällöin pitäisi jollain tavalla hoitaa kellonajan ja laukeamishetkien välinen synkronointi.
15 Seuraavassa kuvataan niitä parametreja, jotka ovat oleellisia keksinnön mukaisessa järjestelmässä. Mittauskohderyhmälle yhteisiä parametreja, jotka ovat kunkin mittaustaulun MT otsikkorivillä, ovat:
PARAMETRI SELITYS_ TYYPPI
Moduleldentifier Mittausmoduulin tunniste_ I
Act__Käytössä oleva aktivointiparametri__B_
ActNew__Uusi aktivointiparametri_ B
Interv__Käytössä oleva mittausvälin pituus_ I
IntervNew__Uusi mittausvälin pituus__I_
LatlnterTime__Viimeisin välinvaihtumishetki__I_
SecondInterTime Toiseksi viimeinen välinvaihtumishetki__I_
ThirdlnterTime Kolmanneksi viimeinen välinvaihtumishetki I
.. FollInterTime Seuraava välinvaihtumishetki I
* I
: LatParityTime Viimeisin pariteetin vaihtumishetki__D_
PreParityTime Toiseksi viimeinen pariteetin vaihtumishetki D_
Parity__Pariteetti__B_
Batch__Kerralla käsiteltävien rivien lukumäärä__(_
LatFinished Parametri, joka kertoo, onko taulun kaikki rivit B
___käsitelty_ 104594 15
Parametrin tyyppiä on merkitty kirjaimella I siinä tapauksessa, että kysymyksessä on kokonaislukumuuttuja, kirjaimella B siinä tapauksessa, että kysymyksessä on Boolen muuttuja sekä kirjaimella D siinä tapauksessa, että kysymyksessä on todellinen aikaleima (päivämäärä, tunnit, minuutit, sekunnit).
5 Mittausvälin pituus ilmoitetaan minuutteina.
Käyttäjän aseteltavissa ovat mittausryhmän aktivointiparametri ActNew, mittausvälin pituus IntervNew sekä kerralla käsiteltävien rivien lukumäärä Batch. Muut taulukossa esitetyt parametrit ovat järjestelmän sisäisiä parametreja, jotka eivät ole käyttäjän aseteltavissa. Aikaleimat, jotka 10 indikoivat viimeisimmän mittausaikavälin vaihtumishetken (LatlnterTime), sitä edellisen mittausaikavälin vaihtumishetken (SecondlnterTime) ja sitäkin edellisen mittausaikavälin vaihtumishetkeä (ThirdlnterTime) sekä edessä olevan mittausaikavälin vaihtumishetken (FollInterTime) ovat edullisesti minuuttilukuindeksejä, joten ne ovat tyypiltään kokonaislukumuuttujia, johtuen 15 siitä, että järjestelmässä käytetty aika on diskretoitu.
Viimeksi tapahtunut pariteetin vaihtumishetki (LatParityTime) ja sitä edellinen pariteetinvaihtumishetki (PreParityTime) täytyy myös säilyttää, koska ne eivät yleensä ole samoja kuin mittausaikavälin määritellyt vaihtumishetket. Tämä johtuu siitä, että jos mittausohjelma käynnistyy esim. 10 s välein, 20 pariteetin vaihtumishetki menee tyypillisesti muutaman sekunnin yli mittausaikavälin määritellystä vaihtumishetkestä. Viime mainittuja parametreja tarvitaan näin ollen, jotta saadaan selville sen aikavälin tarkka pituus, jolta laskuriarvot ovat. Parametri LatFinished kertoo, koska mittaustaulun kaikki rivit on ehditty käsitellä loppuun (tallettaa ja nollata laskurit) kulumassa olevan 25 mittausvälin aikana.
Mittaustaulun yksittäisellä rivillä on ainakin seuraavat mittauskohdekohtaiset parametrit:
' Ί PARAMETRI I SELITYS I TYYPPI
ObjAct__Kohteen aktivointiparametri__B__
LatMade__Rivin viimeisin käsittelyaika__j__
PreMade__Rivin toiseksi viimeisin käsittelyaika__|_ 30 Rivikohtaiset aikaleimat (LatMade ja PreMade) ovat minuuttilukuindeksejä samoin kuin mittausvälinvaihtumishetkiä indikoivat ie 104594 parametrit. Rivikohtaisia aikaleimoja kutsutaan jatkossa leimoiksi P (PreMade) ja L (LatMade).
Kuviossa 4 on esitetty ne parametrit, jotka ovat kohderivillä ja mittausryhmän otsikkorivillä.
5 Kuviossa 6 on esitetty vuokaaviona järjestelmän siirtyminen tyhjäkäyntitilasta 600 normaaliin toimintatilaansa eli ns. lämpimään käynnistyskään 700. Kun järjestelmä saa ns. kylmäkäynnistyssignaalin (vaihe 601), asetetaan moduulikohtainen lippu (parametri Alive) nollaan indikoimaan, että on kysymyksessä kylmäkäynnistys (vaihe 602). Tämän jälkeen asetetaan 10 vaiheessa 603 herätysajastin (TM, kuvio 4) laukeamaan lyhyen herätysaikavälin (WP, kuvio 5a) jälkeen, minkä jälkeen siirrytään ns. lämpimään käynnistyskään 700.
Kuvioissa 7a...7d on esitetty vuokaaviona mittausohjelmalohkon suorittaman talletus- ja nollausprosessin kulkua. Kun prosessi on lämpimässä 15 käynnistystilassa ja ajastin TM laukeaa (vaihe 701), lähtee laskurien talletus- ja nollausprosessi käyntiin. Viimeisessä vaiheessa asetetaan ajastin laukeamaan uudelleen (vaihe 745, kuvio 7d) ennalta määrätyn ajan WP kuluttua. Kun ajastin taas laukeaa, talousprosessi käydään jälleen läpi ja viimeisenä vaiheena asetetaan ajastin laukeamaan uudelleen. Kuten edellä kuvattiin, 20 laukeamisten välinen aika voi olla esim. 10 sekuntia. Käytännössä proseduurin yksi suorituskerta mittaustaulun yhtä riviä kohti on luokkaa 50 με, joten esim. käsiteltäessä 100 riviä kerrallaan kymmenessä eri moduulissa, kestää yksi suorituskerta luokkaa 50 ms.
M *
Kun ajastin on lauennut siirrytään vaiheeseen 702, jossa haetaan 25 kulumassa olevan ajan arvo sekä moduulin (eli mittausryhmän) parametrit moduulin otsikkoriviltä. Kulumassa oleva ajanarvo on sama kuin ajastimen käynnistyshetki ja tämä ajanarvo pysyy samana koko sen ajan, minkä käynnistyksen aiheuttama yksi suorituskerta kestää. Ajanarvosta määritetään kulumassa oleva (current) minuuttilukuindeksi (esim. laskettuna tietyn vuoden > 30 alusta). Kuten aiemmin todettiin, järjestelmässä käytetty aika on diskretoitu. Edullinen diskretointiväli on yksi minuutti, joka on samalla myös lyhyin mahdollinen mittausaikaväli.
Mittaustaulun otsikkoriviltä noudetaan käyttäjän aseteltavissa olevien parametrien ActNew, IntervNew ja Batch arvot. Tämän jälkeen testataan 35 vaiheessa 703a, onko kysymyksessä talousprosessin ensimmäinen 104594 .
17 käynnistys kylmäkäynnistyssignaalin jälkeen. Tämä tehdään testaamalla, onko em. moduulikohtaisen lipun arvo nolla. Mikäli näin on, testataan vaiheessa 703b, onko käyttäjän aseteltavissa olevan moduulikohtaisen aktivointiparametrin ActNew arvo suurempi kuin nolla (eli onko moduuli 5 aktivoitu). Mikäli ehto on tosi, annetaan mainitulle parametrille arvo ActNew=1, joka indikoi tuoretta käyttäjän suorittamaa moduulin aktivointia, ja käännetään kylmäkäynnistystä osoittava lippu pois päältä eli annetaan parametrille Alive arvo yksi (vaihe 704). Vaiheeseen 704 tullaan siis vain kylmäkäynnistyksen kautta ja moduulin ollessa aktiivinen. Muussa tapauksessa siirrytään vaiheesta 10 703a tai 703b vaiheeseen 705, jossa testataan, onko kyseessä oleva moduuli jatkuvasti passiivisena (mittausta ei ole aktivoitu). Tämä tehdään testaamalla, onko käytössä oleva aktivointiparametri Act pienempi tai yhtäsuuri kuin nolla ja käyttäjän asettama aktivointiparametri ActNew myös pienempi tai yhtä suuri kuin nolla (eli onko moduulin aktivointiparametrin vanha arvo nolla ja myös 15 uusi arvo nolla). Mikäli näin on (eli moduuli on jatkuvasti passiivinen), ohjelma etenee suoraan vaiheeseen 745, jossa herätysajastin TM asetetaan laukeamaan uudelleen.
Mikäli näin ei ole, edetään vaiheeseen 706, jossa testataan, onko moduuli mahdollisesti muutettu laskurien talletus-ja nollausprosessin edellisen 20 herätyskerran jälkeen passiiviseksi (mittaus pysäytetty). Tämä tehdään testaamalla, onko käytössä oleva aktivointiparametri Act suurempi kuin nolla ja käyttäjän asettama aktivointiparametri ActNew pienempi tai yhtäsuuri kuin nolla. Mikäli näin on, asetetaan käytössä olevalle aktivointiparametrille arvo nolla. Tämä tehdään vaiheessa 708, mutta tähän vaiheeseen voidaan 25 kuitenkin edetä vain silloin, kun ajanhetki on laskurien arvojen talletus- ja nollausprosessin kannalta sovelias ko. muutoksen tekemiseen. Tätä soveliasta hetkeä testataan vaiheessa 707, jossa testataan, onko kaikki rivit saatu käsiteltyä tai onko mahdollisesti ohitettu seuraava mittausaikavälin * " vaihtumishetki. Tämä tehdään testaamalla, onko parametrilla LatFinished arvo 30 yksi tai onko käynnistyksen yhteydessä määritetyn parametrin CurrentMinute arvo suurempi tai yhtä suuri kuin parametrin FollInterTime arvo, joka ilmoittaa seuraavan odotettavissa olevan välinvaihtumishetken.
Kun mittausmoduuli on pysäytetty vaiheessa 708 asettamalla käytössä oleva aktivointiparametri nollaksi, siirrytään suoraan loppuun, jossa 35 asetetaan ajastin laukeamaan uudelleen.
104594 .
18
Jos muutoshetki ei ole vielä sovelias tai moduulia ei oltu pysäytetty (eli moduuli on aktiivinen), vaiheessa 709 testataan, onko moduuli mahdollisesti muutettu edellisen suorituskerran jälkeen aktiiviseksi eli onko moduuli käynnistetty edellisen herätyskerran jälkeen. Tämä tehdään testaamalla, onko 5 käyttäjän asettama aktivointiparametri ActNevv pienempi kuin sata (käyttäjän suorittama aktivointi vastaa arvoa yksi, joka indikoi siis sitä, että moduulia ollaan aktivoimassa). Jos näin on, eli moduuli on käynnistetty edellisen herätyskerran jälkeen, siirrytään initialisointivaiheeseen 710. Muussa tapauksessa siirrytään vaiheeseen 711, jossa testataan, onko mittausaikavälin 10 pituus vaihtunut.
Edellä esitetyssä vaiheessa 704 asetetaan siis käyttäjän määräämä aktivointiparametri ActNew keinotekoisesti arvoon yksi, jotta kaikissa tarpeellisissa tapauksissa päästäisiin vaiheesta 709 initialisointivaiheeseen 710. Tällainen tilanne voi olla esim. kahdennetussa tietokonejärjestelmässä 15 tapahtuva puolen vaihto. Varapuolen käynnistyessä (kylmäkäynnistys) varmistetaan tällä tavalla, että talousprosessi etenee initialisointivaiheeseen 710 myös, jos käyttäjän määrittämällä moduulikohtaisella aktivointiparametrilla on ollut puolten vaihdon tapahtuessa sellainen arvo, joka tarkoittaa aktiivitilaa (arvo 1 tai 101 tässä esimerkkitapauksessa). Puolten vaihto ei siten vaadi 20 mitään lisätoimenpiteitä, vaan järjestelmä käyttäytyy myös siinä tapauksessa, että mittausryhmä on ollut aktiivinen aivan kuin käyttäjä olisi juuri aktivoinut mittausryhmän.
Initialisointivaiheessa 710 annetaan käytössä olevalle aktivointiparametrille Act käyttäjän määräämän parametrin ActNew arvo, 25 käytössä olevan mittausaikavälin pituuden kertovalle parametrille Interv annetaan parametrin IntervNew arvo, jonka käyttäjä määrää, ja käyttäjän määräämän aktivointiparametrin arvoa kasvatetaan sadalla, jotta vaiheessa 709 huomataan, että enää tämän jälkeen ei ole kysymyksessä juuri tapahtunut moduulin aktivointi. Lisäksi aikaleimoille LatlnterTime, SecondlnterTime sekä 30 ThirdlnterTime ja FollInterTime annetaan arvo, joka on sen hetkinen aika (currentMinute) pyöristettynä ylöspäin seuraavaan tasaminuuttiin.
Moduulikohtaiset parametrit on siis initialisoitava käynnistyshetkeä myöhäisempään ajanhetkeen. Tällaisella oikealla initialisoinnilla aikaansaadaan mm. se, että kaikki vanhat rivikohtaiset aikaleimat ovat 35 vanhempia tai yhtäsuuria kuin välinvaihtumishetket, jolloin myös ne epäyhtälöt 104594 19 (kuvataan jäljempänä), jotka määräävät, kirjoitetaanko lokitiedostoon vai ei ovat oikealla tavalla tosia tai epätosia, riippumatta esim. siitä, missä vaiheessa kohdekohtainen mittaus käynnistetään.
Pariteettimuuttujalle Parity annetaan initialisointivaiheessa arvo nolla 5 ja parametrille LatFinished arvo yksi, jotta moduulin käynnistystä seuraavan ensimmäisen vajaan minuutin aikana ei käsiteltäisi mittaustaulun rivejä. Lisäksi järjestelmässä pidetään yllä tietoa kahdesta viimeksi tapahtuneesta pariteetin vaihtumishetkestä. Näille parametreille (LatParityTime ja PreParityTime) annetaan initialisointivaiheessa aikaleima, joka osoittaa sen hetkistä oikeaa 10 aikaa (pvm, tunnit, minuutit sekunnit).
Vaiheessa 711 testataan, kuten aiemmin mainittiin, onko mittausaikavälin pituus vaihtunut. Tämä tehdään testaamalla, onko uusi arvo (IntervNew) yhtä suuri kuin vanha arvo (Interv). Mikäli näin on (eli muutosta ei ole tapahtunut), siirrytään suoraan vaiheeseen 716, jossa testataan, onko 15 odotettavissa oleva mittausaikavälin vaihtumishetki jo saavutettu tai ohitettu.
Mikäli käyttäjä on muuttanut mittausaikavälin arvoa, päivitetään mittausaikavälille sen uusi arvo vaiheessa 713 ja lasketaan seuraavaksi edessä oleva mittausaikavälin vaihtumishetki vaiheessa 715. Nämä toimenpiteet tehdään kuitenkin vain silloin, kun kulumassa oleva ajanhetki on 20 sovelias toimenpiteiden suorittamiseen. Tämä soveliaisuus testataan vaiheessa 712 suorittamalla samanlainen testi kuin vaiheessa 707. Toimenpiteet (vaiheen 713 päivitys) voidaan siis suorittaa vain jos kulumassa - . olevan mittausvälin aikana on jo ehditty käsitellä kaikki rivit tai jos seuraava mittausaikavälin vaihtumishetki (joka on laskettu mittausaikavälin vanhan 25 pituuden perusteella tai joka on moduulin käynnistyksen tapauksessa initialisoitu seuraavaan tasaminuuttiin vaiheessa 710) on saavutettu tai ohitettu. Mikäli jompi kumpi näistä ehdoista täyttyy, päivitetään mittausaikavälin pituudelle sen uusi arvo vaiheessa 713. Ennen kuin mittausaikavälin edessä olevan vaihtumishetken päivitys (vaihe 715) voidaan suorittaa on kuitenkin 30 täytettävä yksi lisäehto, joka testataan vaiheessa 714. Tässä vaiheessa testataan, onko ensimmäinen täyden minuutin vaihtuminen ohitettu moduulin aktivoinnin jälkeen. Tämä testi suoritetaan testaamalla, onko parametrin FollInterTime arvo sama kuin parametrin LatlnterTime arvo (arvot ovat samoja siihen asti, kunnes ensimmäisen tasaminuutin jälkeinen ensimmäinen 35 herätyskerta tapahtuu; parametria FollInterTime päivitetään heti, kun 104594 20 ensimmäinen tasaminuutti on ylitetty, kuten jäljempänä havaitaan). Mikäli arvot ovat erisuuret, on ensimmäinen minuutti ohitettu ja voidaan suorittaa edessä olevan vaihtumishetken päivitys. Moduulin käynnistyshetken jälkeen ensimmäinen välinvaihtumishetki (FollInterTime) asetetaan siis aina 5 ensimmäisen tasaminuutin kohdalle ja vasta sen jälkeen esim. tasatunteihin, jos uuden mittausaikavälin pituus on tunti. Tämä ensimmäinen välinvaihtumishetki (ensimmäinen tasaminuutti) on siis se ajanhetki, johon välinvaihtumishetkiä indikoivat aikaleimat initialisoitiin vaiheessa 710. Ensimmäinen vajaa minuutti moduulin käynnistämisen jälkeen halutaan olla 10 kokonaan käsittelemättä rivejä. Tätä varten asetettiin parametrille LatFinished arvo ykkönen vaiheessa 710. Tämä johtuu siitä, että rivikohtaiset käsittelyleimat asettuvat kuitenkin seuraavaan minuuttilukemaan, jolloin ensimmäisen vajaan minuutin aikana tapahtuneesta rivien käsittelystä ei ole hyötyä (koska rivikohtaisesta leimasta ei siinä tapauksessa tiedettäisi, onko se 15 vanha vai uusi eli onko se peräisin käynnistystä edeltävältä ajalta vai käynnistyksen jälkeiseltä ajalta). Moduulin aktivoinnin jälkeinen rivien käsittely (laskuriarvojen talletus ja nollaus) aloitetaan siis vasta ensimmäisen tasaminuutin jälkeen.
Edessä olevalle välinvaihtumishetkelle lasketaan (vaihe 715) uusi 20 estimaatti siten, että ensin jaetaan sen hetkinen minuuttilukema (currentMinute) mittausvälin pituudella ja otetaan jakojäännös muistiin. Uusi estimaatti saadaan, kun sen hetkisestä minuuttilukemasta vähennetään saatu jakojäännös ja erotukseen lisätään mittausvälin pituus (eli FolllnterTime:=CurrentMinute-mod(CurrentMinute/lnterv)+lnterv). Edessä 25 oleva vaihtumishetki määritetään siis kulumassa olevan kellonajan ja mittausvälin pituuden perusteella. Laskennassa ei siis oteta huomioon parametrin LatlnterTime arvoa, koska esim. ylikuormitustilanteessa prosessori on saattanut jäädä jälkeen, jolloin vastaava jälkeenjääneisyys näkyisi myös edessä olevan vaihtumishetken arvossa.
30 Tämän jälkeen testataan vaiheessa 716, onko odotettavissa oleva mittausvälin vaihtumishetki jo saavutettu. Tämä tehdään testaamalla, onko parametrin CurrentMinute arvo (eli kellonajasta otettu minuuttilukema, kun sekunteja ei huomioida) suurempi tai yhtä suuri kuin parametrin FollInterTime arvo. Mikäli näin ei ole, edetään suoraan vaiheeseen 720. Muussa 35 tapauksessa edetään kohti vaihetta 718, jossa liuotetaan välinvaihtumishetkiä 104594 .
21 koskevia aikaleimoja eteenpäin. Tällöin viimeisimmän mittausaikavälin vaihtumishetken ilmoittava parametri LatlnterTime saa arvon CurrentMinute-mod(CurrentMinute/lnterv), sitä edellisen mittausaikavälin vaihtumishetken ilmoittava parametri SecondlnterTime saa parametrin LatlnterTime entisen 5 arvon ja kolmanneksi viimeisen mittausaikavälin vaihtumishetken ilmoittava parametri ThirdlnterTime saa parametrin SecondlnterTime entisen arvon. Tässä yhteydessä ei siis sijoiteta parametrin LatlnterTime arvoksi parametrin FollInterTime arvoa (eli ohitetun välinvaihtumishetken arvoa), vaan parametrin LatlnterTime arvo lasketaan em. tavalla kulumassa olevan minuuttilukeman 10 perusteella, jotta mahdollinen prosessorin jälkeenjääneisyys ei vaikuttaisi parametrin arvoon. Parametrin LatlnterTime päivitetään siis arvoon, joka on kulumassa oleva kellonaika pyöristettynä alaspäin tasaminuuttilukemaan, vähennettynä mainitulla jakojäännöksellä, jonka arvo on yleensä nolla ja joka kompensoi mahdollisen jälkeenjääneisyyden.
15 Aikaleimoja ei kuitenkaan liu’uteta eteenpäin, jos vaiheessa 716 havaittu välinvaihtumishetken havaitaan olevan se välinvaihtumishetki, joka on moduulin aktivoinnin jälkeinen ensimmäinen tasaminuutti. Tämä testataan vaiheessa 717 samanlaisella testillä kuin edellä vaiheessa 714 (eli jos parametrin FollInterTime arvo ei ole tässä vaiheessa yhtäsuuri kuin parametrin 20 LatlnterTime arvo, ensimmäinen tasaminuutti on ylitetty moduulin aktivoinnin jälkeen). Vaiheessa 718 tapahtuvan aikaleimojen liikutuksen jälkeen lasketaan vaiheessa 719 uusi arvo odotettavissa olevalle välinvaihtumishetkelle (eli - - FolllnterTime=CurrentMinute-mod(CurrentMinute/lnterv)+lnterv). Tämä suoritetaan myös siinä tapauksessa, että vaiheessa 717 havaittiin, että 25 välinvaihtumishetki olikin moduulin aktivoinnin jälkeinen ensimmäinen tasaminuutti. Vaiheessa 719 vaihdetaan myös pariteetin arvo ja liputetaan viimeisimmän ja toiseksi viimeisimmän pariteetinvaihtumishetken aikoja eteenpäin, jolloin parametri LatParityTime saa sen hetkisen todellisen aikaleiman arvon ja parametri PreParityTime saa parametrin LatParityTime 30 entisen arvon. Koska lisäksi rivien käsittely on edessä, annetaan parametrille LatFinished tässä vaiheessa arvo nolla, jotta järjestelmä huomaa, että rivien käsittely on kesken. Huomattakoon myös, että vaikka rivien käsittely olisikin kesken ja huomataan, että välinvaihtumishetki on ohitettu, resetoidaan parametri LatFinished uudelleen nollaksi.
35 Tämän jälkeen testataan vaiheessa 720 (johon voitiin tulla myös 104594 .
22 suoraan vaiheesta 716), onko rivien käsittelyvaihe valmis eli onko kaikki rivit jo käsitelty (onko parametrilla LatFinished arvo yksi). Mikäli näin on, siirrytään suoraan vaiheeseen 745, jossa asetetaan ajastin uudelleen. Mikäli rivien käsittely on kesken tai ei ole vielä alkanutkaan (eli parametrilla LatFinished on 5 arvo nolla), edetään vaiheeseen 721, jossa initialisoidaan rivilaskuri. Sen jälkeen luetaan seuraava rivi moduulin mittaustaulusta. Mikäli uusi rivi luettiin onnistuneesti edetään vaiheeseen 725. Muussa tapauksessa merkitään kaikki rivit luetuiksi (parametri LatFinished saa arvon yksi, vaihe 724) ja edetään suoraan vaiheeseen 745, jossa asetetaan ajastin uudelleen.
10 Vaiheessa 725 haetaan riviltä kohteen parametrit, kuten tilaajan tunniste (OI), kohdekohtainen aktivointiparametri (ObjAct) sekä rivin viimeisimmän käsittelyn aikaleima (LatMade) ja rivin toiseksi viimeisimmän käsittelyn aikaleima (PreMade). Tämän jälkeen kasvatetaan rivilaskurin arvoa yhdellä (vaihe 726). Kun laskurin arvoa on kasvatettu, edetään vaiheeseen 15 727, jossa testataan, onko kyseessä oleva kohde jatkuvasti passiivisessa tilassa. Tämä tehdään testaamalla, onko kohdekohtaisen aktivointiparametrin ObjAct arvo sata (joka on valittu testissä käytettäväksi arvoksi). Mikäli näin on, edetään vaiheen 744 kautta vaiheeseen 722 lukemaan seuraava rivi (jolle päästään rivilaskurin arvon perusteella) tai vaiheeseen 745 asettamaan 20 ajastin. Muussa tapauksessa testataan vaiheessa 728, onko kohde mahdollisesti muutettu edellisen herätyskerran jälkeen passiiviseksi. Tämä tehdään testaamalla, onko kohdekohtainen aktivointiparametri ObjAct pienempi tai yhtäsuuri kuin nolla. Mikäli näin on, asetetaan kohdekohtaiselle aktivointiparametrille arvo sata, joka indikoi tämän jälkeen, että kohde on 25 jatkuvasti passiivinen. Tämä tehdään vaiheessa 729, josta edetään suoraan vaiheeseen 741. Mikäli vaiheessa 728 suoritettavan testin tulos on negatiivinen (eli objekti on aktiivinen), edetään vaiheeseen 730, jossa testataan, onko kohde mahdollisesti muutettu edellisen suorituskerran jälkeen aktiiviseksi eli onko kohteeseen liittyvä mittaus juuri käynnistetty. Tämä 30 tehdään testaamalla, onko kohdekohtaisen aktivointiparametrin ObjAct arvo pienempi kuin sata, mutta suurempi kuin nolla (eli onko se ykkönen). Jos näin on, eli kohde on juuri käynnistetty, siirrytään kohteen initialisointivaiheeseen 732, jossa initialisoidaan rivillä olevat aikafeimat LatMade ja PreMade kulumassa olevaa minuuttilukua seuraavaan minuuttilukuun ja annetaan 35 kohteen aktivointiparametrille arvo, joka vastaa sen aikaisempaa arvoa (yksi) 23 104594 lisättynä sadalla (ObjAct:= ObjAct+100). Tämän jälkeen edetään suoraan vaiheeseen 741, jossa tarkistetaan pariteetin arvo ja siirrytään sen jälkeen nollaamaan jompi kumpi laskurijoukoista (vaihe 742 tai vaihe 743). Nollattava laskurijoukko riippuu pariteetin arvosta. Näistä vaiheista siirrytään vaiheeseen 5 744, jossa testataan, onko rivilaskuri saavuttanut käyttäjän asettaman, kerralla käsiteltävien rivien lukumäärän (Batch). Mikäli näin on, siirrytään vaiheeseen 745, jossa ajastin asetetaan laukeamaan uudelleen, mutta mikäli näin ei ole, siirrytään takaisin vaiheeseen 722 lukemaan seuraava rivi.
Mikäli vaiheessa 730 havaittiin, ettei ollut kysymyksessä kohteen 10 muutos passiivisesta aktiiviseksi, siirrytään vaiheeseen 734, jossa testataan, onko edellä mainittu, aikaleimaa P (PreMade) koskeva epäyhtälö [ThirdlnterTime]<P<[SecondlnterTime] tosi (missä hakasuluilla on merkitty aikaleimojen arvoja). Mikäli näin on, hypätään suoraan vaiheeseen 736, jossa tarkistetaan pariteetin arvo ja siirrytään sen jälkeen lukemaan joko 15 ensimmäisen tai toisen laskuriryhmän arvot (vaiheet 737 tai 738), riippuen siitä, mikä oli pariteetin arvo. Tämän jälkeen kirjoitetaan lokitiedostoon vaiheessa 739. Mikäli aikaleimaa P koskeva epäyhtälö ei ollut tosi, testataan vaiheessa 735, onko aikaleimaa L (LatMade) koskeva epäyhtälö [ThirdlnterTime]<L<[SecondlnterTime] tosi. Jos näin on, siirrytään vaiheeseen 20 736 tarkistamaan pariteettimuuttujan arvo, josta jatketaan edellä kuvattuun tapaan lokitiedoston kirjoittamisella. Lokitiedostoon kirjoitetaan moduulin ja kohteen tunnisteiden sekä rivillä olleiden kohdekohtaisten laskuriarvojen lisäksi edellä kuvattujen parametrien arvoja.
Kirjoittamisen jälkeen, tai vaiheesta 735, jos aikaleimaa L koskeva 25 epäyhtälö oli epätosi, siirrytään vaiheeseen 740, jossa päivitetään rivillä olevat käsittelyleimat (P- ja L-leimat). P-leima saa L-leiman entisen arvon ja L-leima saa arvon, joka vastaa kulumassa olevaa minuuttilukemaa pyöristettynä ylöspäin. Aikaleimojen päivityksen jälkeen siirrytään vaiheeseen 741 - , tarkistamaan pariteetti, josta prosessi etenee edellä kuvattuun tapaan.
30 Rivikohtaiset aikaleimat päivitetään siis sen jälkeen, kun rivi on käsitelty.
Edellä kuvattua laskuriarvojen talletus- ja nollausprosessia käydään siis läpi tihein väliajoin käyttäen kuviossa 5a (tai 5b) esitettyä vuorottelurytmiä, jossa (pariteetti)parametrin arvo määrää kussakin aikavälissä sen, minkä laskuriryhmän arvoja talletetaan kullakin rivillä.
35 Huomattakoon vielä, että edellä kuvattu talletus- ja nollausprosessi « 104594 .
24 kuvasi yhden mittaustaulun käsittelyä. Edellä olevan selityksen täydentämiseksi voidaan lisäksi todeta, että kun talletus- ja nollausprosessi havaitsee moduulin tulleen juuri käynnistetyksi (vaihe 709), aikaleimat LatlnterTime, SecondlnterTime ja ThirdlnterTime initialisoidaan (vaihe 710) 5 edessä olevaan ensimmäiseen tasaminuuttilukemaan eli samaan ajanhetkeen kuin aikaleima FollInterTime. Ensimmäisen tasaminuuttilukeman jälkeisellä herätyskerralla todetaan välinvaihtumishetki FollInterTime ohitetuksi (vaihe 716), mutta välinvaihtumishetkiä LatlnterTime, SecondlnterTime ja ThirdlnterTime ei tällöin tarvitse päivittää, koska ne ovat jo valmiiksi 10 initialisoidut, eli vaiheesta 717 edetään suoraan vaiheeseen 719 päivittämään odotettavissa olevaa seuraavaa välinvaihtumishetkeä FollInterTime. Talletus-ja nollausprosessi tarvitsee edellä mainitun initialisointiarvon välinvaihtumishetkille LatlnterTime, SecondlnterTime ja ThirdlnterTime, jotta yksikään näistä aikaleimoista ei olisi koskaan vanhempi kuin sen 15 herätyskerran kellonaika, jolloin moduulin käynnistys havaitaan tapahtuneeksi.
Näin tehdään mahdolliseksi moduulin pysäyttäminen ja uudelleenkäynnistäminen esim. vain muutaman sekunnin kuluttua.
Vaikka keksintöä on edellä selostettu viitaten oheisten piirustusten mukaisiin esimerkkeihin, on selvää, ettei keksintö ole rajoittunut siihen, vaan 20 sitä voidaan muunnella monin tavoin oheisissa patenttivaatimuksissa esitetyn keksinnöllisen ajatuksen puitteissa. Kuten edellä jo mainittiin, voi monistuskerroin olla esim. 3 tai 4, jolloin mittaustaulun yksittäisellä rivillä on vastaavasti 3 tai 4 laskurijoukkoa.

Claims (10)

104594 25
1. Menetelmä tapahtumamittausten suorittamiseksi palvelutietokanta-järjestelmässä, joka käsittää tietokannan, johon on talletettu mittaustauiuja 5 (MT), joissa on peräkkäisiä rivejä (Ri), jolloin yksittäisellä rivillä on yhtä mittauskohdetta koskevia tietoja ja saman mittaustaulun mittauskohteet ovat keskenään saman tyyppisiä muodostaen mittausryhmän, jossa menetelmässä - vastaanotetaan järjestelmään ulkoa palvelupyyntöjä (SR), joiden käsittelyn kuluessa on tarpeen laskea yhtä tai useampaa mittauskohdetta kohti 10 tulevien tapahtumien lukumääriä, • käynnistetään palvelun tarjonta vasteena palvelupyynnölle, - suoritetaan tapahtumatalletusta kasvattamalla mittauskohde-kohtaista laskuria kutakin tiettyä palvelupyyntöön liittyvää tapahtumaa kohti tietyn ennalta määrätyn pituisen mittausvälin ajan, ja 15. suoritetaan laskuriarvojen talletusta ottamalla kunkin mittausvälin jälkeen talteen mittauskohdekohtaisia laskuriarvoja, tunnettu siitä, että - mittaustaulun kutakin mittauskohdetta vastaavalla rivillä ylläpidetään yksittäistä mittauslaskuria N kappaleeksi monistettuna siten, että kukin N:stä 20 laskurista kuuluu eri laskurijoukkoon, jolloin riville muodostuu N laskurijoukkoa, - aika-akseli jaetaan peräkkäisiin mittausaikaväleihin (TP) siten, että kussakin mittausaikavälissä kasvatetaan vain tietyn rivillä olevan laskurijoukon laskurien arvoja ja kasvatettavaa laskurijoukkoa vaihdetaan mittausvälistä toiseen, 25. laskuriarvojen talletusta ja nollausta hoidetaan mittausvälissä mittauskohde kerrallaan käsittelemällä mittaustaulun rivejä rivi kerrallaan siten, että yksittäisen laskurijoukon laskurien talletus ja nollaus suoritetaan niiden mittausvälien aikana, jotka jäävät niiden mittausvälien väliin, joiden aikana ' ( kyseisen laskurijoukon laskureita kasvatetaan.
2. Patenttivaatimuksen 1 mukainen menetelmä, tunnettu siitä, että - mittauskohdetta vastaavalla rivillä ylläpidetään kutakin laskuria kahdennettuna, jolloin ensimmäinen laskuri kuuluu ensimmäiseen laskurijoukkoon (CG1) ja toinen laskuri kuuluu toiseen laskurijoukkoon (CG2), 35. joka toisessa mittausvälissä kasvatetaan ensimmäisten 104594 26 laskurijoukkojen laskureita ja talletetaan sekä nollataan toisten laskurijoukkojen laskurien arvoja ja joka toisessa mittausvälissä kasvatetaan toisten laskurijoukkojen laskureita ja talletetaan sekä nollataan ensimmäisten laskurijoukkojen laskurien arvoja.
3. Patenttivaatimuksen 1 mukainen menetelmä, tunnettu siitä, että (a) laskurien kasvatus ja laskuriarvojen talletus ja nollaus hoidetaan kahdella erillisellä prosessilla, jotka vaiheistetaan mittausaikaväleihin nähden siten, että kunkin mittausvälin alussa muutetaan järjestelmässä ylläpidettävää parametria, joka ilmoittaa, mitä laskurijoukkoa kasvatetaan ja mitä talletetaan, 10 ja tapahtumatalletusta hoitava prosessi lukee mainitun parametrin arvon kunkin palvelupyynnön yhteydessä kasvattaen palvelupyyntöön liittyvän mittauskohteen monistetuista laskureista sitä, joka vastaa parametrin arvoa.
4. Patenttivaatimuksen 3 mukainen menetelmä, tunnettu siitä, että laskuriarvojen talletusta ja nollausta hoitava prosessi (MP, CRj) muuttaa 15 parametrin arvoa.
5. Patenttivaatimuksen 3 mukainen menetelmä, tunnettu siitä, että laskuriarvojen talletusta ja nollausta hoitava prosessi käynnistetään yhden mittausaikavälin kuluessa toistuvasti lyhyin väliajoin ja jokaisella suorituskerralla tarkistetaan, onko mittausvälin vaihtumishetki jo saavutettu, 20 jolloin aina kun vaihtumishetki on saavutettu muutetaan mainitun parametrin arvoa.
6. Patenttivaatimuksen 3 mukainen menetelmä, tunnettu siitä, että laskuriarvojen kasvatusta hoitavan prosessin ja laskuriarvojen talletusta hoitavan prosessin välinen rajapinta toteutetaan siten, että järjestelmässä 25 ylläpidetään mittausryhmäkohtaista aktivointiparametria ja kohdekohtaista aktivointiparametria, jolloin laskuriarvojen kasvatusta hoitava prosessi kasvattaa mainitun parametrin ilmoittaman laskuriryhmän arvoja aina, jos aktivointiparametrit osoittavat sekä mittausryhmän että mittauskohteen olevan aktiivinen. ψ
7. Patenttivaatimuksen 1 mukainen menetelmä, tunnettu siitä, että laskurien kasvatus ja laskuriarvojen talletus ja nollaus hoidetaan samalla prosessorilla (PR).
8. Patenttivaatimuksen 6 mukainen menetelmä, tunnettu siitä, että sama prosessi (CRj) hoitaa usean eri mittausryhmän laskurien talletusta ja 35 nollausta siten, että jokaisella käynnistyskerralla hoidetaan jokaista 104594 . 27 mittausryhmää.
9. Patenttivaatimuksen 2 mukainen menetelmä, tunnettu siitä, että järjestelmässä ylläpidetään lisäksi lippua, joka osoittaa voimassa ollessaan, että mittaustaulun kaikki rivit on saatu käsiteltyä kulumassa olevan 5 mittausaikavälin aikana, jolloin rivien käsittely ohitetaan niillä käynnistyskerroilla, joilla mainittu lippu on voimassa.
10. Patenttivaatimuksen 1 mukainen menetelmä, tunnettu siitä, että aika-akseli jaetaan järjestelmässä diskretoituihin aika-arvoihin diskretointivälin ollessa yksi minuutti. 10 28 104594
FI963365A 1996-08-29 1996-08-29 Tapahtumien tallettaminen palvelutietokantajärjestelmässä FI104594B (fi)

Priority Applications (9)

Application Number Priority Date Filing Date Title
FI963365A FI104594B (fi) 1996-08-29 1996-08-29 Tapahtumien tallettaminen palvelutietokantajärjestelmässä
JP10511318A JP2000517117A (ja) 1996-08-29 1997-08-29 サービスデータベースシステムにおける事象記録
PCT/FI1997/000500 WO1998009230A2 (en) 1996-08-29 1997-08-29 Event recording in a service database system
BR9711387A BR9711387A (pt) 1996-08-29 1997-08-29 Processo de realiza-Æo de registros de evento em um sistema de base de dados de servi-o
AU40170/97A AU728527B2 (en) 1996-08-29 1997-08-29 Event recording in a service database system
CA002263595A CA2263595A1 (en) 1996-08-29 1997-08-29 Event recording in a service database system
EP97937602A EP0978063A2 (en) 1996-08-29 1997-08-29 Event recording in a service database system
CN97198252.XA CN1231746A (zh) 1996-08-29 1997-08-29 业务数据库系统中的事件记录
US09/249,866 US6233569B1 (en) 1996-08-29 1999-02-16 Event recording in a service database system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FI963365A FI104594B (fi) 1996-08-29 1996-08-29 Tapahtumien tallettaminen palvelutietokantajärjestelmässä
FI963365 1996-08-29

Publications (3)

Publication Number Publication Date
FI963365A0 FI963365A0 (fi) 1996-08-29
FI963365A FI963365A (fi) 1998-03-01
FI104594B true FI104594B (fi) 2000-02-29

Family

ID=8546546

Family Applications (1)

Application Number Title Priority Date Filing Date
FI963365A FI104594B (fi) 1996-08-29 1996-08-29 Tapahtumien tallettaminen palvelutietokantajärjestelmässä

Country Status (9)

Country Link
US (1) US6233569B1 (fi)
EP (1) EP0978063A2 (fi)
JP (1) JP2000517117A (fi)
CN (1) CN1231746A (fi)
AU (1) AU728527B2 (fi)
BR (1) BR9711387A (fi)
CA (1) CA2263595A1 (fi)
FI (1) FI104594B (fi)
WO (1) WO1998009230A2 (fi)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6353820B1 (en) * 1999-09-29 2002-03-05 Bull Hn Information Systems Inc. Method and system for using dynamically generated code to perform index record retrieval in certain circumstances in a relational database manager
US6353819B1 (en) * 1999-09-29 2002-03-05 Bull Hn Information Systems Inc. Method and system for using dynamically generated code to perform record management layer functions in a relational database manager
US7320009B1 (en) * 2003-03-28 2008-01-15 Novell, Inc. Methods and systems for file replication utilizing differences between versions of files

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4908759A (en) * 1985-08-29 1990-03-13 Bell Communications Research, Inc. Hierarchical database conversion with conditional write
US4918593A (en) * 1987-01-08 1990-04-17 Wang Laboratories, Inc. Relational database system
US4893310A (en) * 1987-11-30 1990-01-09 Northern Telecom Limited Digital key telephone system
US5067099A (en) * 1988-11-03 1991-11-19 Allied-Signal Inc. Methods and apparatus for monitoring system performance
US5210870A (en) * 1990-03-27 1993-05-11 International Business Machines Database sort and merge apparatus with multiple memory arrays having alternating access
US5619274A (en) * 1990-09-10 1997-04-08 Starsight Telecast, Inc. Television schedule information transmission and utilization system and process
US5457792A (en) * 1991-11-07 1995-10-10 Hughes Aircraft Company System for using task tables and technical data from a relational database to produce a parsed file of format instruction and a standardized document
US5446884A (en) * 1992-02-13 1995-08-29 International Business Machines Corporation Database recovery apparatus and method
US5442690A (en) * 1992-08-25 1995-08-15 Bell Communications Research, Inc. Telecommunication service record structure and method of execution
US5737536A (en) * 1993-02-19 1998-04-07 Borland International, Inc. System and methods for optimized access in a multi-user environment
US5499358A (en) * 1993-12-10 1996-03-12 Novell, Inc. Method for storing a database in extended attributes of a file system
US5570410A (en) 1994-10-13 1996-10-29 Bellsouth Corporation Dynamic resource allocation process for a service control point in an advanced intelligent network system
US5581610A (en) 1994-10-19 1996-12-03 Bellsouth Corporation Method for network traffic regulation and management at a mediated access service control point in an open advanced intelligent network environment
FI98973C (fi) * 1994-11-22 1997-09-10 Nokia Telecommunications Oy Menetelmä ryhmätietojen ylläpitämiseksi matkaviestinjärjestelmässä ja matkaviestinjärjestelmä

Also Published As

Publication number Publication date
JP2000517117A (ja) 2000-12-19
FI963365A (fi) 1998-03-01
CN1231746A (zh) 1999-10-13
CA2263595A1 (en) 1998-03-05
FI963365A0 (fi) 1996-08-29
AU4017097A (en) 1998-03-19
EP0978063A2 (en) 2000-02-09
US6233569B1 (en) 2001-05-15
AU728527B2 (en) 2001-01-11
WO1998009230A3 (en) 1998-04-16
BR9711387A (pt) 1999-08-17
WO1998009230A2 (en) 1998-03-05

Similar Documents

Publication Publication Date Title
FI104600B (fi) Kuormitustilanteen valvonta palvelutietokantajärjestelmässä
FI104597B (fi) Tapahtumien tallettaminen palvelutietokantajärjestelmässä
FI104594B (fi) Tapahtumien tallettaminen palvelutietokantajärjestelmässä
FI104599B (fi) Tapahtumien tallettaminen palvelutietokantajärjestelmässä
FI104598B (fi) Tapahtumien tallettaminen palvelutietokantajärjestelmässä
FI104595B (fi) Tapahtumien tallettaminen palvelutietokantajärjestelmässä
FI104596B (fi) Tapahtumien tallettaminen palvelutietokantajärjestelmässä