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

Tapahtumien tallettaminen palvelutietokantajärjestelmässä Download PDF

Info

Publication number
FI104599B
FI104599B FI963370A FI963370A FI104599B FI 104599 B FI104599 B FI 104599B FI 963370 A FI963370 A FI 963370A FI 963370 A FI963370 A FI 963370A FI 104599 B FI104599 B FI 104599B
Authority
FI
Finland
Prior art keywords
measurement
value
group
activation
counters
Prior art date
Application number
FI963370A
Other languages
English (en)
Swedish (sv)
Other versions
FI963370A (fi
FI963370A0 (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 FI963370A0 publication Critical patent/FI963370A0/fi
Priority to FI963370A priority Critical patent/FI104599B/fi
Priority to CN97198254.6A priority patent/CN1231748A/zh
Priority to JP10511323A priority patent/JP2000517122A/ja
Priority to PCT/FI1997/000505 priority patent/WO1998009235A2/en
Priority to EP97937607A priority patent/EP0978067A2/en
Priority to BR9711385A priority patent/BR9711385A/pt
Priority to AU40175/97A priority patent/AU728707B2/en
Priority to CA002263597A priority patent/CA2263597A1/en
Publication of FI963370A publication Critical patent/FI963370A/fi
Priority to US09/250,113 priority patent/US6304875B1/en
Application granted granted Critical
Publication of FI104599B publication Critical patent/FI104599B/fi

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/22Arrangements for supervision, monitoring or testing
    • H04M3/36Statistical metering, e.g. recording occasions when traffic exceeds capacity of trunks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/4228Systems providing special services or facilities to subscribers in networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2201/00Electronic components, circuits, software, systems or apparatus used in telephone systems
    • H04M2201/12Counting circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Monitoring And Testing Of Exchanges (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

104599
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ärjestelmässä. Erään edullisen sovelluskohteen muodostavat älyverkon palvelutietokantajäijestelmä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 palvelulogiikan 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 104599 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 tarjoamien 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 nostosta 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-
I I
30 pyyntö. Mikäli näin on, SSF muodostaa standardoidun IN-palvelupyynnön ja lähettää pyynnön SCF.IIe 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ä 104599 .
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 SCPistä 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 104599 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ää SCFille 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ää . 104599 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 tietotauiut, 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 6 104599 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.
Tällaisessa palvelutietokantajärjestelmässä on paljon mittausryhmiä, joista jokainen voi olla aktiivinen (mittausta suoritetaan ko. ryhmän osalta) tai passiivinen (mittausta ei ko. ryhmän osalta suoriteta) ja aktiivisen ryhmän yksittäinen mittauskohde voi olla aktiivinen (mittausta suoritetaan ko. kohteen 30 osalta) tai passiivinen (mittausta ei ko. kohteen osalta suoriteta). Jokaisella kohteella voi myös olla tietyt aktivointi- ja passivointiajat, jolloin hallintajärjestelmä aktivoi/passivoi kohteen.
Tällaisessa ympäristössä on ongelmana se, kuinka toimitaan yksittäisten kohteiden aktivoinnin/passivoinnin yhteydessä ja yksittäisten 35 kohteiden poisto/lisäyksen yhteydessä niin, että kohteen 7 104599 aktivoinnit/passivoinnit tai poistot/lisäykset häiritsevät mahdollisimman vähän mittausta (kohteen passivointi/aktivointi tai lisäys/poisto ei keskeytä muiden kohteiden mittausta).
Konventionaalisissa jäijestelmissä on esim. kohteen käynnistys 5 toteutettu siten, että tietokannan hallintajärjestelmä antaa rivikohtaisen nollauskäskyn heti käyttäjän antaman aktivointikomennon jälkeen. Tällöin tulee ratkaisusta kuitenkin turhan monimutkainen, sillä, jos esim. ensimmäiseltä vajaalta mittausväliltä saatuja laskuriarvoja ei huomioida, on hallintajärjestelmän huolehdittava siitä, että laskurien kasvatusta suorittava 10 prosessi ei kasvata ko. kohteen laskureita ensimmäisen vajavaisen mittausvälin aikana, vaan säilyttää pakotetusti nollauksen. Jos taas ensimmäiseltä vajavaiselta mittausväliltä halutaan ottaa laskuriarvot huomioon, tulee mittausryhmän yksittäisille mittauskohteille eri pituisia mittausaikavälejä, mikä vaikeuttaa tulosten hallintaa.
15
Keksinnön yhteenveto
Keksinnön tarkoituksena on poistaa edellä kuvatut ongelmat ja saada aikaan järjestelmä, jossa milloin tahansa voidaan muuttaa yksittäisten kohteiden aktivointitiloja tai lisätä/poistaa yksittäisiä kohteita niin, että 20 järjestelmä pysyy mahdollisimman yksinkertaisena ja mittaukselle aiheutetut häiriöt ovat mahdollisimman vähäiset.
Tämä päämäärä saavutetaan keksinnön mukaisella menetelmällä, - ; joka on määritelty itsenäisessä patenttivaatimuksessa.
Keksinnön ajatuksena on ensinnäkin suorittaa tietokantajärjes-25 telmässä, jossa mittaustaulun kohdekohtaisella rivillä ylläpidetään monistettuja laskureita, joita käytetään vuoroväleittäin toisaalta laskuriarvojen kasvattamiseen ja toisaalta laskuriarvojen tallettamiseen ja nollaukseen, laskuriarvojen talletusta ja nollausta rivi riviltä (eli kohde kohteelta) siten, että ’ käsiteltäessä yksittäistä riviä suoritetaan talletus ja nollaus peräkkäin. Lisäksi 30 ajatuksena on säilyttää kohteen aktiivisuustilasta kertovaa parametria tietotaulun kohdekohtaisella rivillä ja suorittaa laskurijoukkojen nollaus talletus-ja noilausvaiheen yhteydessä siten, että mittauskohteen aktivoinnin jälkeen ko. kohteen kunkin laskurijoukon ensimmäinen käsittelykerta pakotetaan sellaiseksi, että laskurijoukon talletus on estetty, mutta laskurijoukon nollaus 35 on sallittu. Tällä tavoin talletus- ja nollausprosessi pystyy automaattisesti 8 104599 ottamaan huomioon muutokset kohteen aktiivisuustilassa. Lisäksi kohteita voidaan säilyttää määräämättömän ajan tietotaulussa niiden passivoinnin jälkeen tai kohteita voidaan lisätä tauluun milloin tahansa ottamatta niitä kuitenkaan vielä mukaan mittaukseen. (Huomattakoon, että vaikka tässä 5 yhteydessä puhutaan talletus- ja 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ä 10 nollausta, vaan molemmat voidaan ohittaa tai suorittaa ainoastaan nollaus.)
Keksinnön erään edullisen suoritusmuodon mukaisesti talletus- ja nollausprosessi käsittelee jokaista riviä vain kerran mittausvälin aikana.
Keksinnön erään toisen edullisen suoritusmuodon mukaisesti mittauskohteen aktivointiparametrille annetaan aktivoinnin seurauksena tietty 15 arvo, joka osoittaa juuri tapahtunutta aktivointia ja seuraavan rivinkäsittelyn yhteydessä mainittu arvo muutetaan toiseksi arvoksi, joka myös osoittaa aktivointitilaa. Näin voidaan helposti erottaa ne tilanteet, joissa kohde on initialisoitava mittausta varten. Tätä initialisointia varten on edullista säilyttää järjestelmässä mittausryhmäkohtaisesti tietoa aikaisemmista mittausvälin 20 vaihtumishetkistä ja mittauskohdekohtaisesti tietoa aikaisemmista rivi n käsitte lyaja n hetkistä, jolloin rivinkäsittelyn yhteydessä testataan, onko laskuriarvo kelvollinen talletettavaksi vertaamalla rivinkäsittelyajanhetkiä - . mittausvälinvaihtumishetkiin. Mittauskohteen aktivointia seuraava laskurien nollaus voidaan silloin toteuttaa yksinkertaisella tavalla. Tämä tapahtuu siten, 25 että aktivointia seuraavassa ensimmäisessä käsittelyssä ohitetaan talletusvaihe aktivointiparametrin arvon perusteella ja ennen aktivointia seuraavaa toista käsittelyä (ensimmäisen käsittelyn yhteydessä) initialisoidaan mittauskohdekohtaiset aikaleimat siten, että suoritettava testi kieltää talletuksen.
30
Kuvioluettelo
Seuraavassa keksintöä ja sen edullisia suoritusmuotoja kuvataan tarkemmin viitaten oheisten kuvioiden 4-7d mukaisiin esimerkkeihin oheisissa piirustuksissa, joissa 35 kuvio 1 havainnollistaa älyverkon toiminnallista arkkitehtuuria, 104599 .
9 kuvio 2 havainnollistaa älyverkon fyysistä arkkitehtuuria, kuvio 3 havainnollistaa SCP-solmun tapahtumamittauksen kannalta oleellisia osia, kuvio 4 havainnollistaa keksinnön mukaista palvelutietokanta-5 järjestelmää, kuvio 5a esittää aika-akselia, jolla on havainnollistettu kuvion 4 järjestelmässä noudatettavaa vuorotteluperiaatetta, kuvio 5b esittää aika-akselia, jolla on havainnollistettu yleistä vuorotteluperiaatetta, jota noudatetaan kuvion 4 järjestelmässä, 10 kuvio 6 on vuokaavio, joka esittää järjestelmän siirtymistä tyhjäkäyntitilasta normaaliin toimintatilaansa, ja kuviot 7a...7d muodostavat vuokaavion, joka kuvaa laskurien talousprosessin 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 mittaustaulun MT, joissa on paljon peräkkäisiä rivejä. Kuviossa on esitetty yksi 20 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 perustaulun kohteet ovat tyypiltään samanlaisia. Perustaulun yksi kohde voi 25 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 ' ·. mittausryhmiin kyseinen kohde on sisällytetty aktiivisena. Jatkossa näiden 30 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 kohdekohtaiset laskurit. Kukin mittaustaulu muodostaa tietyn mittausryhmän 35 edellä esitettyn tapaan. Kussakin mittaustaulussa ovat siis mukana ne kohteet, 10 104599 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 tilaajat, joille suoritetaan puhelunpituusmittausta. Kuten aiemmin todettiin, 5 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ä.
Palvelulogiikkaohjelmainstanssi SLPi lukee perustaulun BT rivejä, 10 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) tunnisteen. Kun SCP saa tällaisen palvelupyynnön luodaan 15 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, jotka on talletettu lohkoon SLPT. Tämä kopio (eli SLPi) asetetaan 20 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 pystyy lukemaan tunnistetta vastaavan rivin perustaulusta. Riviltä SLPi saa 25 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 sekä kohde että mittausryhmä ovat aktiivisia, SLPi kasvattaa mittaustaulun ko. 30 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 indeksiä j käytetä.
Mittaustaulun riveillä olevat laskurit on edullisesti kahdennettu siten, 35 että riville muodostuu kaksi laskuriryhmää, joita on merkitty viitemerkeillä CG1 104599 .
11 ja CG2. Ryhmissä on samat laskurit (yksi tai useampi laskuri ryhmässä) eli ryhmän kullakin laskurilla on vastaava laskuri toisessa ryhmässä. Laskureita kasvatetaan vuorovälein siten, että aika-akseli jaetaan kuvion 5 mukaisesti peräkkäisiin mittausaikaväleihin TP, joista joka toista on merkitty viitemerkillä F 5 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ä määritetään pariteettimuuttujalla, jota ylläpidetään mittaustaulujen otsikkoriveillä. Lukiessaan mittaustaulun otsikkoriviä SLPi lukee myös 10 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 merkitty viitemerkillä T ja joka toista puolestaan viitemerkillä F.
Edellä esitetty vuorotteluperiaate vastaa edullisinta 15 vuorotteluperiaatetta. Vuorotteluperiaatetta voitaisiin kuitenkin noudattaa myös siten, että laskureita monistetaan useampi kuin kaksi. Tätä yleistä periaatetta on havainnollistettu kuviossa 5b, jossa kutakin laskuria on N kappaletta, jolloin mittauskohdetta vastaavalla mittaustaulun rivillä on N kappaletta laskuriryhmiä (joista jokaisessa on yksi tai useampi laskuri). Kun monistettujen laskurien 20 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 arvoja ja kasvatettavaa laskurijoukkoa vaihdetaan mittausaikavälistä toiseen. Koska laskurijoukkoja on N kappaletta, samaa laskurijoukkoa kasvatetaan N mittausaikavälin välein.
25 Yksittäisen laskurijoukon laskurien talletus ja nollaus suoritetaan niiden mittausaikavälien aikana, jotka jäävät niiden mittausaikavälien väliin, joiden aikana kyseisen laskurijoukon laskureita kasvatetaan. Se, kuinka talletus ja nollaus jaetaan ko. mittausaikaväleihin voi myös vaihdella. Tietyn * f laskuriryhmän talletus- ja nollaus voidaan esim. tehdä aina yhden 30 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 laskurijoukkojen talletus ja nollaus. Tällä tavoin voidaan käytettävissä oleva aika hyödyntää tehokkaasti, mutta suorituslogiikasta tulee monimutkaisempi.
35 Laskurien kahdennus on kuitenkin edullisin toteutusvaihtoehto, koska t 12 104599 se takaa yksinkertaisimman toteutuksen ja mahdollistaa passiivilaskuri-joukkojen välittömän nollauksen (keskellä mittausväliä ensimmäisellä kohteen aktivoinnin jälkeisellä käsittelykerralla). Kahdennettuja laskureita käytetään sitä jatkossakin keksinnön edullisena suoritusesimerkkinä.
5 Palvelulogiikkaohjelmainstanssi SLPi hoitaa riveillä olevien 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 10 olla omat alilohkonsa CRj jokaisen mittausryhmän laskurien talletusta ja 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 15 niissä mittausaikaväleissä, joissa SLPi kasvattaa laskuriryhmän CG2 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 20 laskurien talousprosessi työskentelee. Jatkossa nimitetään niitä laskureita, 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 25 käsiteltiin edellisen mittausaikavälin aikana.
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 30 lyhyt verrattuna mittausaikaväliin TP. Herätysajastin tai -ajastimet voi(vat) olla mittausryhmäkohtaisia tai usealle mittausryhmälle yhteisiä.
Käyttäjän määrittämän parametrin avulla voidaan mittausryhmäkohtaisesti määritellä, kuinka monen kohteen laskurit enintään saadaan käsitellä yhdellä suorituskerralla eli yhtä herätystä kohti. Tästä 35 parametrista käytetään jatkossa nimitystä Batch. Jos kaikkien kohteiden 13 104599 passiivilaskurijoukot ehditään käsitellä mittausaikavälin kuluessa (eli siihen mennessä, kun todetaan uusi mittausvälin vaihtumishetki), asetetaan mittausryhmäile lippu merkiksi siitä, että kyseisen mittausaikavälin kuluessa ei enää tarvitse mennä käsittelemään mittausobjekteja. Vaikka siis laskurien 5 talletus- ja nollausprosessi herätetäänkin edelleen tihein välein herätysajastimen avulla, ei 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ä 10 prosessoria on merkitty viitemerkillä PR. Mittausohjelman suoritus käynnistetään ajastimen TM avulla aina, kun aikaväli WP on kulunut.
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 15 järjestelmässä on kaksi prosessoria siten, että toinen suorittaa palvelulogiikkaohjelmaa ja toinen käsittelee levyllä ylläpidettäviä laskuriarvoja. Joka tapauksessa prosessoriin liittyy tietyt muistialueet MA1...MA3, joilla mittausohjelmalohko, palvelulogiikkaohjelmalohko sekä tietokanta tietotauluineen ovat. Palvelun suorituslohkon muistialuetta on merkitty 20 viitemerkillä MA4 ja palvelulogiikkamallien muistialuetta viitemerkillä MA5.
Kuten edellä kuitenkin mainittiin, on vasteaikojen kannalta edullista käyttää RAM-muistia ja yhtä prosessoria.
Jos kaikkien kohteiden (tilaajien) passiivilaskurijoukkoja ei ehditä käsitellä, esim. prosessoriylikuorman takia, käytettävissä olevan 25 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 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.) 30 Palvelulogiikkaohjelmainstanssi kasvattaa sokeasti kaikkia laskureita, myös käsittelemättä jääneillä riveillä. Näitä rivejä ei kuitenkaan voida käsitellä 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 35 kasvatetaan siis sokeasti, mutta seuraavassa käsittelyaikavälissä tarkistetaan, 14 104599 onko arvo kelvollinen kirjoitettavaksi lokitiedostoon vai ei.
Tiheästi toistuvien herätyksien avulla saadaan hoidettua eri mittausryhmien eripituiset mittausaikavälit. Järjestelmässä ei siis ole omaa laskuria (ajastinta) jokaiselle eripituiselle mittausaikavälille, joita eri 5 mittausryhmillä on, vaan järjestelmässä on yksi ainoa laskuri, joka herättää mittausohjelman tiheästi, esim. 10 s välein. Jokaisella herätyskerralla 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 10 hellittäessä ajastin pääsee laukeamaan ja sen laukaisema talletus- ja nollausprosessi tietää, mitä kulloinkin on tehtävä. Prosessorin 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 15 asetetaan aina uudestaan saman aikavälin päähän. Tällöin pitäisi jollain tavalla hoitaa kellonajan ja laukeamishetkien välinen synkronointi.
Seuraavassa kuvataan niitä parametreja, jotka ovat oleellisia keksinnön mukaisessa järjestelmässä. Mittauskohderyhmälle yhteisiä parametreja, jotka ovat kunkin mittaustaulun MT otsikkorivillä, ovat: 20 ___
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__J_
LatlnterTime__Viimeisin välinvaihtumishetki__I_
SecondInterTime Toiseksi viimeinen välinvaihtumishetki I
» _____________*
ThirdlnterTime Kolmanneksi viimeinen välinvaihtumishetki__J_
FollInterTime__Seuraava välinvaihtumishetki__J_
LatParityTime Viimeisin pariteetin vaihtumishetki__D_
PreParityTime Toiseksi viimeinen pariteetin vaihtumishetki D_
Parity__Pariteetti__B_
Batch__Kerralla käsiteltävien rivien lukumäärä__J_ 15 104599
LatFinished Parametri, joka kertoo, onko taulun kaikki rivit B
__käsitelty__
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 aikavälin aikana.
Mittaustaulun yksittäisellä rivillä on ainakin seuraavat ·. mittauskohdekohtaiset parametrit:
PARAMETRI SELITYS_TYYPPI
ObjAct__Kohteen aktivointiparametri__B_
LatMade__Rivin viimeisin käsittelyaika__J_
PreMade__Rivin toiseksi viimeisin käsittelyaika__j_ 16 104599
Rivikohtaiset aikaleimat (LatMade ja PreMade) ovat minuuttilukuindeksejä samoin kuin mittausvälinvaihtumishetkiä indikoivat parametrit. Rivikohtaisia aikaleimoja kutsutaan jatkossa leimoiksi P (PreMade) ja L (LatMade).
5 Kuviossa 4 on esitetty ne parametrit, jotka ovat kohderivillä ja mittausryhmän otsikkorivillä.
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 10 601), asetetaan moduulikohtainen lippu (parametri Alive) nollaan indikoimaan, että on kysymyksessä kylmäkäynnistys (vaihe 602). Tämän jälkeen asetetaan 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äynnistystään 700.
15 Kuvioissa 7a...7d on esitetty vuokaaviona mittausohjelmalohkon suorittaman talletus- ja nollausprosessin kulkua. Kun prosessi on lämpimässä 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 20 ajastin taas laukeaa, talousprosessi käydään jälleen läpi ja viimeisenä vaiheena asetetaan ajastin laukeamaan uudelleen. Kuten edellä kuvattiin, 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 25 suorituskerta luokkaa 50 ms.
Kun ajastin on lauennut siirrytään vaiheeseen 702, jossa haetaan 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ä 30 käynnistyksen aiheuttama yksi suorituskerta kestää. Ajanarvosta määritetään kulumassa oleva (current) minuuttilukuindeksi (esim. laskettuna tietyn vuoden 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.
35 Mittaustaulun otsikkoriviltä noudetaan käyttäjän aseteltavissa olevien 17 104599 parametrien ActNew, IntervNew ja Batch arvot. Tämän jälkeen testataan vaiheessa 703a, onko kysymyksessä talousprosessin ensimmäinen 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 5 703b, onko käyttäjän aseteltavissa olevan moduulikohtaisen aktivointiparametrin ActNew arvo suurempi kuin nolla (eli onko moduuli 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 10 arvo yksi (vaihe 704). Vaiheeseen 704 tullaan siis vain kylmäkäynnistyksen kautta ja moduulin ollessa aktiivinen. Muussa tapauksessa siirrytään vaiheesta 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 15 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 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.
20 Mikäli näin ei ole, edetään vaiheeseen 706, jossa testataan, onko moduuli mahdollisesti muutettu laskurien talletus- ja nollausprosessin edellisen 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 25 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 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 30 käsiteltyä tai onko mahdollisesti ohitettu seuraava mittausaikavälin vaihtumishetki. Tämä tehdään testaamalla, onko parametrilla LatFinished arvo 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.
35 Kun mittausmoduuli on pysäytetty vaiheessa 708 asettamalla 18 104599 käytössä oleva aktivointiparametri nollaksi, siirrytään suoraan loppuun, jossa asetetaan ajastin laukeamaan uudelleen.
Jos muutoshetki ei ole vielä sovelias tai moduulia ei oltu pysäytetty (eli moduuli on aktiivinen), vaiheessa 709 testataan, onko moduuli mahdollisesti 5 muutettu edellisen suorituskerran jälkeen aktiiviseksi eli onko moduuli käynnistetty edellisen herätyskerran jälkeen. Tämä tehdään testaamalla, onko käyttäjän asettama aktivointiparametri ActNew 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 10 herätyskerran jälkeen, siirrytään initialisointivaiheeseen 710. Muussa tapauksessa siirrytään vaiheeseen 711, jossa testataan, onko mittausaikavälin pituus vaihtunut.
Edellä esitetyssä vaiheessa 704 asetetaan siis käyttäjän määräämä aktivointiparametri ActNew keinotekoisesti arvoon yksi, jotta kaikissa 15 tarpeellisissa tapauksissa päästäisiin vaiheesta 709 initialisointivaiheeseen 710. Tällainen tilanne voi olla esim. kahdennetussa tietokonejärjestelmässä 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 20 on ollut puolten vaihdon tapahtuessa sellainen arvo, joka tarkoittaa aktiivitilaa (arvo 1 tai 101 tässä esimerkkitapauksessa). Puolten vaihto ei siten vaadi 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.
25 Initialisointivaiheessa 710 annetaan käytössä olevalle aktivointiparametrille Act käyttäjän määräämän parametrin ActNew arvo, 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 30 709 huomataan, että enää tämän jälkeen ei ole kysymyksessä juuri tapahtunut moduulin aktivointi. Lisäksi aikaleimoille LatlnterTime, SecondlnterTime sekä
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ä 35 myöhäisempään ajanhetkeen. Tällaisella oikealla initialisoinnilla 19 104599 aikaansaadaan mm. se, että kaikki vanhat rivikohtaiset aikaieimat ovat vanhempia tai yhtäsuuria kuin välinvaihtumishetket, jolloin myös ne epäyhtälöt (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 5 kohdekohtainen mittaus käynnistetään.
Pariteettimuuttujalle Parity annetaan initialisointivaiheessa arvo nolla ja parametrille LatFinished arvo yksi, jotta moduulin käynnistystä seuraavan ensimmäisen vajaan minuutin aikana ei käsitettäisi mittaustaulun rivejä. Lisäksi järjestelmässä pidetään yllä tietoa kahdesta viimeksi tapahtuneesta pariteetin 10 vaihtumishetkestä. Näille parametreille (LatParityTime ja PreParityTime) annetaan initialisointivaiheessa aikaleima, joka osoittaa sen hetkistä oikeaa aikaa (pvm, tunnit, minuutit sekunnit).
Vaiheessa 711 testataan, kuten aiemmin mainittiin, onko mittausaikavälin pituus vaihtunut. Tämä tehdään testaamalla, onko uusi arvo 15 (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 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 20 edessä oleva mittausaikavälin vaihtumishetki vaiheessa 715. Nämä toimenpiteet tehdään kuitenkin vain silloin, kun kulumassa oleva ajanhetki on 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 25 olevan mittausvälin aikana on jo ehditty käsitellä kaikki rivit tai jos seuraava mittausaikavälin vaihtumishetki (joka on laskettu mittausaikavälin vanhan 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 30 pituudelle sen uusi arvo vaiheessa 713. Ennen kuin mittausaikavälin edessä olevan vaihtumishetken päivitys (vaihe 715) voidaan suorittaa on kuitenkin 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 9 " 35 FollInterTime arvo sama kuin parametrin LatlnterTime arvo (arvot ovat samoja ,n 104599 20 siihen asti, kunnes ensimmäisen tasaminuutin jälkeinen ensimmäinen herätyskerta tapahtuu; parametria FollInterTime päivitetään heti, kun ensimmäinen tasaminuutti on ylitetty, kuten jäljempänä havaitaan). Mikäli arvot ovat erisuuret, on ensimmäinen minuutti ohitettu ja voidaan suorittaa edessä 5 olevan vaihtumishetken päivitys. Moduulin käynnistyshetken jälkeen ensimmäinen välinvaihtumishetki (FollInterTime) asetetaan siis aina 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 10 välinvaihtumishetkiä indikoivat aikaleimat initialisoitiin vaiheessa 710. Ensimmäinen vajaa minuutti moduulin käynnistämisen jälkeen halutaan olla 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 15 ensimmäisen vajaan minuutin aikana tapahtuneesta rivien käsittelystä ei ole hyötyä (koska rivikohtaisesta leimasta ei siinä tapauksessa tiedettäisi, onko se 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 20 tasaminuutin jälkeen.
Edessä olevalle välinvaihtumishetkelle lasketaan (vaihe 715) uusi 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 25 jakojäännös ja erotukseen lisätään mittausvälin pituus (eli
FolllnterTime:=CurrentMinute-mod(CurrentMinute/lnterv)+lnterv). Edessä 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 30 on saattanut jäädä jälkeen, jolloin vastaava jälkeenjääneisyys näkyisi myös edessä olevan vaihtumishetken arvossa.
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 35 sekunteja ei huomioida) suurempi tai yhtä suuri kuin parametrin FollInterTime 104599 21 arvo. Mikäli näin ei ole, edetään suoraan vaiheeseen 720. Muussa tapauksessa edetään kohti vaihetta 718, jossa liuotetaan välinvaihtumishetkiä koskevia aikaleimoja eteenpäin. Tällöin viimeisimmän mittausaikavälin vaihtumishetken ilmoittava parametri LatlnterTime saa arvon CurrentMinute-5 mod(CurrentMinute/lnterv), sitä edellisen mittausaikavälin vaihtumishetken ilmoittava parametri SecondlnterTime saa parametrin LatlnterTime entisen 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 10 FollInterTime arvoa (eli ohitetun välinvaihtumishetken arvoa), vaan parametrin LatlnterTime arvo lasketaan em. tavalla kulumassa olevan minuuttilukeman 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, 15 vähennettynä mainitulla jakojäännöksellä, jonka arvo on yleensä nolla ja joka kompensoi mahdollisen jälkeenjääneisyyden.
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 20 vaiheessa 717 samanlaisella testillä kuin edellä vaiheessa 714 (eli jos parametrin FollInterTime arvo ei ole tässä vaiheessa yhtäsuuri kuin parametrin LatlnterTime arvo, ensimmäinen tasaminuutti on ylitetty moduulin aktivoinnin jälkeen). Vaiheessa 718 tapahtuvan aikaleimojen liputuksen jälkeen lasketaan vaiheessa 719 uusi arvo odotettavissa olevalle välinvaihtumishetkelle (eli 25 FolllnterTime=CurrentMinute-mod(CurrentMinute/lnterv)+lnterv). Tämä suoritetaan myös siinä tapauksessa, että vaiheessa 717 havaittiin, että 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 t 30 eteenpäin, jolloin parametri LatParityTime saa sen hetkisen todellisen aikaleiman arvon ja parametri PreParityTime saa parametrin LatParityTime 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 35 kesken ja huomataan, että välinvaihtumishetki on ohitettu, resetoidaan « 22 104599 parametri LatFinished uudelleen nollaksi.
Tämän jälkeen testataan vaiheessa 720 (johon voitiin tulla myös 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 5 suoraan vaiheeseen 745, jossa asetetaan ajastin uudelleen. Mikäli rivien käsittely on kesken tai ei ole vielä alkanutkaan (eli parametrilla LatFinished on 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 10 rivit luetuiksi (parametri LatFinished saa arvon yksi, vaihe 724) ja edetään suoraan vaiheeseen 745, jossa asetetaan ajastin uudelleen.
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 15 käsittelyn aikaleima (PreMade). Tämän jälkeen kasvatetaan rivilaskurin arvoa yhdellä (vaihe 726). Kun laskurin arvoa on kasvatettu, edetään vaiheeseen 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, 20 edetään vaiheen 744 kautta vaiheeseen 722 lukemaan seuraava rivi (jolle päästään rivilaskurin arvon perusteella) tai vaiheeseen 745 asettamaan 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 25 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 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 30 testataan, onko kohde mahdollisesti muutettu edellisen suorituskerran jälkeen aktiiviseksi eli onko kohteeseen liittyvä mittaus juuri käynnistetty. Tämä 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 35 732, jossa initialisoidaan rivillä olevat aikaleimat LatMade ja PreMade « 23 104599 kulumassa olevaa minuuttilukua seuraavaan minuuttilukuun ja annetaan kohteen aktivointiparametrille arvo, joka vastaa sen aikaisempaa arvoa (yksi) 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 5 nollaamaan jompi kumpi laskurijoukoista (vaihe 742 tai vaihe 743). Nollattava laskurijoukko riippuu pariteetin arvosta. Näistä vaiheista siirrytään vaiheeseen 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, 10 siirrytään takaisin vaiheeseen 722 lukemaan seuraava rivi.
Mikäli vaiheessa 730 havaittiin, ettei ollut kysymyksessä kohteen 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 15 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 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 20 vaiheessa 735, onko aikaleimaa L (LatMade) koskeva epäyhtälö [ThirdlnterTime]<L<[SecondlnterTime] tosi. Jos näin on, siirrytään vaiheeseen 736 tarkistamaan pariteettimuuttujan arvo, josta jatketaan edellä kuvattuun tapaan lokitiedoston kirjoittamisella. Lokitiedostoon kirjoitetaan moduulin ja kohteen tunnisteiden sekä rivillä olleiden kohdekohtaisten laskuriarvojen lisäksi 25 edellä kuvattujen parametrien arvoja.
Kirjoittamisen jälkeen, tai vaiheesta 735, jos aikaleimaa L koskeva 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ä 30 ylöspäin. Aikaleimojen päivityksen jälkeen siirrytään vaiheeseen 741 tarkistamaan pariteetti, josta prosessi etenee edellä kuvattuun tapaan. 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ä, 35 jossa pariteettiparametrin arvo määrää kussakin aikavälissä sen, minkä 24 104599 laskuriryhmän arvoja talletetaan.
Huomattakoon vielä, että edellä kuvattu talletus- ja nollausprosessi kuvasi yhden mittaustaulun käsittelyä. Edellä olevan selityksen täydentämiseksi voidaan lisäksi todeta, että kun talletus- ja nollausprosessi 5 havaitsee moduulin tulleen juuri käynnistetyksi (vaihe 709), aikaleimat LatlnterTime, SecondlnterTime ja ThirdlnterTime initialisoidaan (vaihe 710) edessä olevaan ensimmäiseen tasaminuuttilukemaan eli samaan ajanhetkeen kuin aikaleima FollInterTime. Ensimmäisen tasaminuuttilukeman jälkeisellä herätyskerralla todetaan välinvaihtumishetki FollInterTime ohitetuksi (vaihe 10 716), mutta välinvaihtumishetkiä LatlnterTime, SecondlnterTime ja
ThirdlnterTime ei tällöin tarvitse päivittää, koska ne ovat jo valmiiksi 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 15 välinvaihtumishetkille LatlnterTime, SecondlnterTime ja ThirdlnterTime, jotta yksikään näistä aikaleimoista ei olisi koskaan vanhempi kuin sen 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.
20 Kuten edellä esitetystä ilmenee, on talletus- ja nollausprosessi toteutettu siten, että mittauskohteen kummankin laskurijoukon osalta ko. mittauskohteen aktivoinnin jälkeinen ensimmäinen käsittelykerta pakotetaan sellaiseksi, että laskurijoukon talletus on estetty, mutta laskurijoukon nollaus on sallittu. Tämä hoidettiin siten, että mittauskohteen aktivointia seuraavassa 25 ensimmäisessä käsittelyssä ohitetaan talletusvaihe aktivointiparametrin arvon perusteella ja mittauskohteen aktivointia seuraavassa toisessa käsittelyssä aikaleimojen avulla siten, että mittauskohdekohtaiset aikaleimat initialisoidaan ennen toista käsittelyä siten, että suoritettavat testit (vaiheet 734 ja 735) kieltävät talletuksen. Mitä suurempi on monistuskerroin N, sitä kauemmin 30 kestää ennen kuin aktivoidun kohteen kaikki laskurijoukot on saatu nollattua. Viiveellä ei kuitenkaan ole merkitystä, koska laskurijoukkojen nollaus tapahtuu sitä mukaa kuin niitä tarvitaan tapahtumien tallettamiseen (vuorottelurytmin mukaisesti).
Kun käyttäjä passivoi tietyn kohteen asettamalla sen 35 aktivointiparametrin nollaksi, lakkaa SLPi heti kasvattamasta ko. kohteen 25 104599 laskureita. Talletus- ja nollausprosessi ei ehkä käsittele ko. riviä kyseisen mittausaikavälin kuluessa (koska se on ehkä käsitelty jo kyseisessä aikavälissä tai koska kaikkia rivejä ei ehkä ehditä käsitellä kyseisessä aikavälissä prosessorin liiallisen kuorman takia). Jonkin seuraavan aikavälin 5 kuluessa prosessori kuitenkin ehtii ko. riville ja havaitsee ko. kohteen passivoinnin (ellei käyttäjä ole suorittanut sillä välin uutta aktivointia). Viive ei kuitenkaan tuota virheellisiä laskuriarvoja, koska talletus on estetty heti mittauskohteen passivoinnin jälkeen. Syy tähän estoon on se, että SLPi:n lakatessa välittömästi kasvattamasta laskureita on viimeisen mittausvälin 10 pituus epämääräinen, koska ei tiedetä tarkasti sitä hetkeä, jolloin passivointi tapahtui.
Jos käyttäjä passivoi mittauskohteen ja aktivoi sen uudelleen ennen kuin talletus- ja nollausprosessi ehtii kyseiselle riville, talletus- ja nollausprosessi tunnistaa tilanteen siitä, että kohteen aktivointiparametrilla on 15 arvo, joka osoittaa juuri tapahtunutta aktivointia (esimerkissä arvo ykkönen). Havaittaessa aktivointi on talletus jälleen kielletty, kuten edellä esitettiin.
Vaikka keksintöä on edellä selostettu viitaten oheisten piirustusten mukaisiin esimerkkeihin, on selvää, ettei keksintö ole rajoittunut siihen, vaan sitä voidaan muunnella edellä ja oheisissa patenttivaatimuksissa esitetyn 20 keksinnöllisen ajatuksen puitteissa. Vaikka edellä on kuvattu vaihtoehtoa, jossa mittauskohteen aktivoinnin jälkeinen talletus estetään aikaleimojen initialisoinnin avulla, voitaisiin tähän käyttää myös muita keinoja. Aikaleimojen hyödyntäminen on kuitenkin siinä mielessä edullista, että ne ovat
V
järjestelmässä jo olemassa talletuspäätöksen tekoa varten ja niitä voidaan 25 käyttää molemmissa tarkoituksissa myös siinä tapauksessa, että laskurien monistuskerroin on suurempi kuin kaksi.
V
» I
• k

Claims (6)

104599 . 26
1. Menetelmä tapahtumamittausten suorittamiseksi palvelutietokanta-järjestelmässä, joka käsittää tietokannan, johon on talletettu mittaustauluja 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 palvelupyyntöjä (SR), joiden käsittelyn kuluessa on tarpeen laskea yhtä tai useampaa mittauskohdetta kohti tulevien 10 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, - suljetaan yksittäinen mittauskohde mittausryhmän mittauksesta passivoimalla kyseessä oleva kohde ja otetaan yksittäinen kohde mukaan mittaukseen aktivoimalla kyseessä oleva kohde, jolloin passivointia tai 20 aktivointia merkitsevä arvo annetaan mittauskohdekohtaiselle aktivointiparametrille, jonka arvoa päivitetään vasteena käyttäjän antamalle mittauskohdekohtaiselle aktivointi/passivointi-tiedolle, tunnettu siitä, että - mittaustaulun kutakin mittauskohdetta vastaavalla rivillä ylläpidetään 25 yksittäistä mittauslaskuria N kappaleeksi monistettuna siten, että kukin N:stä 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ä 30 toiseen, - laskuriarvojen talletusta ja nollausta hoidetaan mittausvälissä mittauskohde kerrallaan käsittelemällä mittaustaulun rivejä rivi kerrallaan siten, että rivillä olevan yksittäisen laskurijoukon laskurien talletus ja nollaus suoritetaan niiden mittausvälien aikana, jotka jäävät niiden mittausvälien väliin, 35 joiden aikana kyseisen laskurijoukon laskureita kasvatetaan, 27 104599 mittauskohteen aktivointiparametrin arvoa säilytetään mittauskohdetta vastaavalla rivillä ja mainittu arvo tarkastetaan kunkin rivinkäsittelyn yhteydessä ennen talletus- ja nollausvaihetta, jolloin talletus- ja nollausvaihe suoritetaan, jos tarkastetun parametrin arvo osoittaa 5 mittauskohteen olevan aktiivinen ja ohitetaan, jos tarkastetun parametrin arvo osoittaa mittauskohteen olevan passiivinen, - mittauskohteen laskurijoukkojen nollaus suoritetaan talletus- ja nollausvaiheen yhteydessä siten, että mittauskohteen kunkin laskurijoukon osalta kyseisen mittauskohteen aktivoinnin jälkeinen ensimmäinen 10 käsittelykerta pakotetaan sellaiseksi, että laskurijoukon talletus on estetty, mutta laskurijoukon nollaus on sallittu.
2. Patenttivaatimuksen 1 mukainen menetelmä, tunnettu siitä, että mittaustaulun kutakin mittauskohdetta vastaavalla rivillä ylläpidetään kutakin mittauslaskuria kahdennettuna siten, että ensimmäinen laskuri kuuluu 15 ensimmäiseen laskurijoukkoon (CG1) ja toinen laskuri kuuluu toiseen laskurijoukkoon (CG2) ja aika-akseli jaetaan peräkkäisiin mittausväleihin (TP) siten, että joka toisessa mittausvälissä kasvatetaan ensimmäisten laskurijoukkojen laskureita ja talletetaan sekä nollataan toisten laskurijoukkojen laskurien arvoja ja joka toisessa mittausvälissä kasvatetaan 20 toisten laskurijoukkojen laskureita ja talletetaan sekä nollataan ensimmäisten laskurijoukkojen laskurien arvoja, jolloin mittaustaulun rivit käsitellään mittausvälissä rivi kerrallaan ja yksittäisen käsittelykerran yhteydessä - . suoritetaan peräkkäin laskurijoukon talletus ja nollaus.
3. Patenttivaatimuksen 2 mukainen menetelmä, tunnettu siitä, 25 että järjestelmässä säilytetään mittausryhmäkohtaisesti tietoa aikaisemmista mittausvälin vaihtumishetkistä ja mittauskohdekohtaisesti tietoa aikaisemmista rivinkäsittelyajanhetkistä, ja että rivinkäsittelyn yhteydessä testataan onko laskuriarvo kelvollinen talletettavaksi vertaamalla rivinkäsittelyajanhetkiä * ·. mittausvälinvaihtumishetkiin.
4. Patenttivaatimuksen 3 mukainen menetelmä, tunnettu siitä, että mittauskohteen aktivointia seuraavassa ensimmäisessä käsittelyssä ohitetaan laskurijoukon talletusvaihe mittauskohteen aktivointiparametrin arvon perusteella ja mittauskohteen aktivointia seuraavissa myöhemmissä käsittelyissä ohitetaan kunkin laskurijoukon talletusvaihe sillä perusteella, että 35 mainitussa vertailussa käytetyt ajanhetkiarvot ovat sellaisia, että suoritettava 28 104599 testi kieltää talletuksen.
5. Patenttivaatimuksen 2 mukainen menetelmä, tunnettu siitä, että kukin rivi käsitellään korkeintaan kerran kunkin mittausvälin kuluessa.
6. Patenttivaatimuksen 4 mukainen menetelmä, tunnettu siitä, 5 että mittauskohteen aktivoinnin seurauksena mittauskohteen aktivointiparametrille annetaan tietty arvo, joka osoittaa juuri tapahtunutta aktivointia ja seuraavan rivinkäsittelyn yhteydessä mainittu arvo muutetaan toiseksi arvoksi, joka myös osoittaa aktivointitilaa. 29 104599
FI963370A 1996-08-29 1996-08-29 Tapahtumien tallettaminen palvelutietokantajärjestelmässä FI104599B (fi)

Priority Applications (9)

Application Number Priority Date Filing Date Title
FI963370A FI104599B (fi) 1996-08-29 1996-08-29 Tapahtumien tallettaminen palvelutietokantajärjestelmässä
EP97937607A EP0978067A2 (en) 1996-08-29 1997-08-29 Event recording in a service database system
JP10511323A JP2000517122A (ja) 1996-08-29 1997-08-29 サービスデータベースシステムにおける事象記録
PCT/FI1997/000505 WO1998009235A2 (en) 1996-08-29 1997-08-29 Event recording in a service database system
CN97198254.6A CN1231748A (zh) 1996-08-29 1997-08-29 业务数据库系统中的事件记录
BR9711385A BR9711385A (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
AU40175/97A AU728707B2 (en) 1996-08-29 1997-08-29 Event recording in a service database system
CA002263597A CA2263597A1 (en) 1996-08-29 1997-08-29 Event recording in a service database system
US09/250,113 US6304875B1 (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
FI963370A FI104599B (fi) 1996-08-29 1996-08-29 Tapahtumien tallettaminen palvelutietokantajärjestelmässä
FI963370 1996-08-29

Publications (3)

Publication Number Publication Date
FI963370A0 FI963370A0 (fi) 1996-08-29
FI963370A FI963370A (fi) 1998-03-01
FI104599B true FI104599B (fi) 2000-02-29

Family

ID=8546551

Family Applications (1)

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

Country Status (9)

Country Link
US (1) US6304875B1 (fi)
EP (1) EP0978067A2 (fi)
JP (1) JP2000517122A (fi)
CN (1) CN1231748A (fi)
AU (1) AU728707B2 (fi)
BR (1) BR9711385A (fi)
CA (1) CA2263597A1 (fi)
FI (1) FI104599B (fi)
WO (1) WO1998009235A2 (fi)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6233326B1 (en) * 1998-08-03 2001-05-15 Lucent Technologies Inc. Method and apparatus for identifying a line blockage
FI114428B (fi) * 2001-12-13 2004-10-15 Nokia Corp Menetelmä ja järjestelmä laskuridatan keräämiseksi verkkoelementissä
WO2012013213A1 (en) * 2010-07-26 2012-02-02 Nokia Siemens Networks Oy Feature access counting
CN111723093A (zh) * 2020-06-17 2020-09-29 江苏海平面数据科技有限公司 基于数据划分的不确定间隔数据查询方法
JP7481653B2 (ja) 2020-10-13 2024-05-13 日本電信電話株式会社 波長可変光源およびその制御方法

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3603986A (en) * 1969-01-28 1971-09-07 Rochester Instr Systems Inc Events recorder
US4446336A (en) * 1981-02-09 1984-05-01 Bell Telephone Laboratories, Incorporated Method for recording and updating stored messages in an announcement system
US4918593A (en) * 1987-01-08 1990-04-17 Wang Laboratories, Inc. Relational database system
JP2510696B2 (ja) * 1988-09-26 1996-06-26 株式会社日立製作所 計算機システム自動運転制御方式
US5067099A (en) * 1988-11-03 1991-11-19 Allied-Signal Inc. Methods and apparatus for monitoring system performance
US5113519A (en) * 1989-05-15 1992-05-12 International Business Machines Corporation Maintenance of file attributes in a distributed data processing system
US5065321A (en) * 1989-06-15 1991-11-12 Pulse Electronics, Inc. Solid state event recorder
US4998272A (en) * 1989-06-15 1991-03-05 Digital Voice Technologies, Inc. Personal voice mail system
JP3126225B2 (ja) * 1991-07-12 2001-01-22 富士通株式会社 データベース・システム
US5446884A (en) * 1992-02-13 1995-08-29 International Business Machines Corporation Database recovery apparatus and method
US5309919A (en) * 1992-03-02 1994-05-10 Siemens Pacesetter, Inc. Method and system for recording, reporting, and displaying the distribution of pacing events over time and for using same to optimize programming
US5657077A (en) * 1993-02-18 1997-08-12 Deangelis; Douglas J. Event recording system with digital line camera
US5613113A (en) * 1993-10-08 1997-03-18 International Business Machines Corporation Consistent recreation of events from activity logs
US5499358A (en) * 1993-12-10 1996-03-12 Novell, Inc. Method for storing a database in extended attributes of a file system
US5528516A (en) * 1994-05-25 1996-06-18 System Management Arts, Inc. Apparatus and method for event correlation and problem reporting
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ä
US6092067A (en) * 1996-05-30 2000-07-18 Microsoft Corporation Desktop information manager for recording and viewing important events data structure
US5857190A (en) * 1996-06-27 1999-01-05 Microsoft Corporation Event logging system and method for logging events in a network system

Also Published As

Publication number Publication date
EP0978067A2 (en) 2000-02-09
FI963370A (fi) 1998-03-01
AU728707B2 (en) 2001-01-18
CA2263597A1 (en) 1998-03-05
BR9711385A (pt) 1999-08-17
FI963370A0 (fi) 1996-08-29
US6304875B1 (en) 2001-10-16
CN1231748A (zh) 1999-10-13
WO1998009235A3 (en) 1998-04-16
JP2000517122A (ja) 2000-12-19
WO1998009235A2 (en) 1998-03-05
AU4017597A (en) 1998-03-19

Similar Documents

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