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

Tapahtumien tallettaminen palvelutietokantajärjestelmässä Download PDF

Info

Publication number
FI104597B
FI104597B FI963368A FI963368A FI104597B FI 104597 B FI104597 B FI 104597B FI 963368 A FI963368 A FI 963368A FI 963368 A FI963368 A FI 963368A FI 104597 B FI104597 B FI 104597B
Authority
FI
Finland
Prior art keywords
measurement
time
value
measurement period
counter
Prior art date
Application number
FI963368A
Other languages
English (en)
Swedish (sv)
Other versions
FI963368A (fi
FI963368A0 (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 FI963368A0 publication Critical patent/FI963368A0/fi
Priority to FI963368A priority Critical patent/FI104597B/fi
Priority to CA002263996A priority patent/CA2263996A1/en
Priority to AU40173/97A priority patent/AU728516B2/en
Priority to CN97198249A priority patent/CN1231743A/zh
Priority to PCT/FI1997/000503 priority patent/WO1998009233A2/en
Priority to BR9711382A priority patent/BR9711382A/pt
Priority to JP10511321A priority patent/JP2000517120A/ja
Priority to EP97937605A priority patent/EP0978065A2/en
Publication of FI963368A publication Critical patent/FI963368A/fi
Priority to US09/251,277 priority patent/US6236998B1/en
Application granted granted Critical
Publication of FI104597B publication Critical patent/FI104597B/fi

Links

Classifications

    • 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
    • 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
    • H04M2201/00Electronic components, circuits, software, systems or apparatus used in telephone systems
    • H04M2201/12Counting circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Debugging And Monitoring (AREA)
  • Monitoring And Testing Of Exchanges (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Telephonic Communication Services (AREA)
  • Exchange Systems With Centralized Control (AREA)

Description

104597 .
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ä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 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ä 104597 - 2 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-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ä • < 104597 .
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 4 104597 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.IIe 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ää •.
5 104597 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 mittausmod uulin 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 104597 .
6 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ärjestelmässä on mittaus-ryhmää koskevan mittausvälin pituuden muutosten yhteydessä jouduttu ensin passivoimaan mittausryhmä ja sen jälkeen suorittamaan mittausryhmän uudelleen aktivointi. Tällöin on mittaustietoihin tullut katkos.
30
Keksinnön yhteenveto
Keksinnön tarkoituksena on eliminoida edellä mainittu epäkohta ja aikaansaada menetelmä, jossa mittausvälin pituutta voidaan muuttaa milloin tahansa mittausta katkaisematta.
35 Tämä päämäärä saavutetaan keksinnön mukaisella menetelmällä, • 104597 .
7 joka on määritelty itsenäisessä patenttivaatimuksessa.
Keksinnön ajatuksena on suorittaa mittausaikavälin vaihtumisen tarkkailua ylläpitämällä järjestelmässä tietoa seuraavaksi odotettavissa olevaa mittausvälin vaihtumishetkeä vastaavasta aika-arvosta ja vertaamalla 5 kulloinkin kulumassa olevaa kellonaika-arvoa odotettavissa olevan vaihtumishetken aika-arvoon. Mittausvälin pituuden kulloistakin arvoa tutkitaan jatkuvasti ja havaittaessa mittausvälin pituuden muutos päivitetään odotettavissa olevan vaihtumishetken arvoa ja sen mukaisesti myös sillä hetkellä kulumassa olevan mittausvälin pituutta.
10 Keksinnön erään edullisen suoritusmuodon mukaisesti päivitystä viivästetään mittausryhmän aktivoinnin tapauksessa siksi, kunnes odotettavissa olevalle vaihtumishetkelle mittausryhmän aktivoinnin yhteydessä annettu alkuarvo on ohitettu. Tällä tavoin saavutetaan se etu, että odotettavissa olevan välinvaihtumishetken ensimmäinen aika-arvo voidaan 15 asettaa mittausvälin pituudesta ja sen muutoksista riippumattomalla tavalla esim. mahdollisimman pian tapahtuvaksi (esim. ensimmäinen tasaminuutin kohta).
Keksinnön erään toisen edullisen suoritusmuodon mukaisesti kukin kohde on varustettu kahdennetulla laskurijoukolla, joita käytetään 20 vuoroväleittäin toisaalta laskuriarvojen kasvattamiseen ja toisaalta laskuriarvojen tallettamiseen. Tällä tavoin saadaan mahdollisimman yksinkertaisella tavalla aikaan se, että mittausvälin vaihtumishetket ovat samoja kuin laskurijoukon vaihtohetket, eikä molempia tarvitse määrittää erikseen, vaan mittausvälin vaihtumishetket saadaan automaattisesti 25 laskurijoukon vaihtohetkien perusteella.
Keksinnön erään muun edullisen suoritusmuodon mukaisesti talletus-ja nollausprosessi käynnistetään yhden mittausaikavälin kuluessa toistuvasti hyvin tiheästi, jolloin jokaisen käynnistyksen yhteydessä tarkistetaan, onko odotettavissa oleva mittausvälin vaihtumishetki saavutettu ja onko 30 odotettavissa olevaa vaihtumishetkeä siirrettävä eteenpäin.
Kuvioluettelo
Seuraavassa keksintöä ja sen edullisia suoritusmuotoja kuvataan tarkemmin viitaten oheisten kuvioiden 4-8 mukaisiin esimerkkeihin oheisissa 35 piirustuksissa, joissa 104597 .
8 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 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, kuviot 7a...7d muodostavat vuokaavion, joka kuvaa laskurien talletusprosessin kulkua, ja 15 kuvio 8 havainnollistaa aika-akselilla käyttäjän suorittamaa mittausvälin pituuden vaihtamista.
Keksinnön yksityiskohtainen kuvaus
Kuviossa 4 on havainnollistettu keksinnön mukaista 20 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 perustaulu ja kolme mittaustaulua.
Perustaulun yksi rivi vastaa yhtä mittauskohdetta (esim. tilaajaa).
25 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 sisältyä useaan eri mittaustauluun MT, esim. sama tilaaja voi olla mukana kutsumäärämittauksessa, jossa mittausvälin pituus on esim. 5 min. ja 30 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 parametrien tunnukset ovat ObjActj (j=1...mittausryhmien lukumäärä). Parametrien arvot ovat käyttäjän aseteltavissa.
35 Yksittäinen mittaustaulu käsittää otsikkorivin HR ja peräkkäisiä rivejä 9 104597
Ri (i=1...n). Mittaustaulun yhdellä rivillä Ri on kohdekohtaiset parametrit ja kohdekohtaiset laskurit. Kukin mittaustaulu muodostaa tietyn mittausryhmän edellä esitettyn tapaan. Kussakin mittaustaulussa ovat siis mukana ne kohteet, joille suoritetaan samanlaista mittausta. Esim. kuvion yhdessä mittaustaulussa 5 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, saman tyyppisestäkin mittauksesta (esim. kutsumäärämittauksesta) voi olla useita eri mittaustauluja.
10 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ä, 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 15 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 palvelulogiikkaohjelmasta palvelulogiikkaohjelmailmentymä SLPi, joka ryhtyy palvelemaan ko. palvelupyyntöä. Tämä tehdään sinänsä tunnetulla tavalla 20 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 vastaanotetun palvelupyynnön käyttöön. Palvelupyynnöt palvelulogiikan suorituslohko SLE noutaa puskurista BF, johon tulevat palvelupyynnöt 25 talletetaan.
SLPi lukee palvelupyynnöstä tilaajan tunnisteen, minkä jälkeen se 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, 30 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. kohteen rivillä olevan yhden tai useamman laskurin arvoa. Kuten kuviossa 4 esitetään, käyttäjä antaa parametrien ObjActj ja ActNew arvot 35 hallintajärjestelmän (SMP) välityksellä. Koska jatkossa käsitellään parametria 10 104597
ObjAct mittausryhmäkohtaisesti, ei indeksiä j käytetä.
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 5 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 ja joka toista viitemerkillä T. Mittausaikavälien F aikana kasvatetaan esim. laskuriryhmän CG1 laskureita ja mittausaikavälien T aikana laskuriryhmän 10 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 pariteettiparametrin arvon, jolloin se tietää, kumpaa mittaustaulun rivillä olevaa laskuria sen on kasvatettava. Pariteettiparametri on Boolen muuttuja, joka voi 15 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 vastasi laskurien kahdennusta. Vuorotteluperiaatetta voitaisiin kuitenkin noudattaa myös siten, että laskureita monistetaan useampi kuin kaksi. Tätä yleistä periaatetta on havainnollistettu 20 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 lukumäärä .· on suurempi kuin kaksi, aika-akseli on edelleenkin jaettu peräkkäisiin mittausaikaväleihin (TP) siten, että kussakin mittausaikavälissä kasvatetaan 25 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. Yksittäisen laskurijoukon laskurien talletus ja nollaus suoritetaan niiden mittausaikavälien aikana, jotka jäävät niiden mittausaikavälien väliin, joiden aikana kyseisen 30 laskurijoukon laskureita 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 35 ko. mittausaikaväliä vastaavien laskurijoukkojen talletus ja nollaus. Tällä tavoin t 104597 11 voidaan käytettävissä oleva aika hyödyntää tehokkaasti, mutta suorituslogiikasta tulee monimutkaisempi.
Koska laskurien kahdennus on kuitenkin keksinnön edullisin toteutusvaihtoehto, käytetään sitä jatkossakin esimerkkinä.
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 (kuvio 5a). Herätysaikavälin pituus voi olla esim. 10 sekuntia eli herätysaikaväli on hyvin lyhyt verrattuna 30 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 12 104597 passiivilaskurijoukot ehditään käsitellä mittausaikavälin kuluessa (eli siihen mennessä, kun todetaan uusi mittausvälin vaihtumishetki), asetetaan mittausryhmälle 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ätttä 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, i 104597 13 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__I_
LatlnterTime__Viimeisin välinvaihtumishetki_ I
SecondlnterTime Toiseksi viimeinen välinvaihtumishetki__I_
ThirdlnterTime Kolmanneksi viimeinen välinvaihtumishetki__I_
FollInterTime__Seuraava välinvaihtumishetki__(_
LatParityTime Viimeisin pariteetin vaihtumishetki__D_
PreParityTime Toiseksi viimeinen pariteetin vaihtumishetki D_
Parity__Pariteetti__B_
Batch__Kerralla käsiteltävien rivien lukumäärä__j_ 104597 .
14
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__I_ v PreMade__Rivin toiseksi viimeisin käsittelyaika__J_ 15 104597
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äynnistyskää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 104597 .
16 parametrien ActNew, IntervNew ja Batch arvot. Tämän jälkeen testataan vaiheessa 703a, onko kysymyksessä talletusprosessin 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 « 104597 17 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 104597 18 aikaansaadaan mm. se, että kaikki vanhat rivikohtaiset aikaleimat 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äsiteltä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 4 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 35 FollInterTime arvo sama kuin parametrin LatlnterTime arvo (arvot ovat samoja 104597 19 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 104597 .
20 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 SecondInterTime 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 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 104597 21 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 104597 22 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ä 104597 23 laskuriryhmän arvoja talletetaan kullakin rivillä.
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), aikalelmat LatlnterTime, SecondInterTime 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 Kuviossa 8 on esitetty aika-akseli, jolla havainnollistetaan mittausvälin vaihtumista kuvioiden 7a...7d mukaisessa talletus- ja nollausprosessissa. Oletetaan, että käytetty mittausvälin pituus on 5 minuuttia ja käyttäjä antaa • uuden mittausvälin pituuden 10 minuuttia hetkellä, jota on merkitty nuolella S.
Oletetaan lisäksi, että kyseisellä hetkellä ollaan minuuttilukemien 244801 ja 25 244802 välissä ja odotettavissa oleva mittausvälin vaihtumishetki on minuuttilukeman 244805 kohdalla. Muutosta seuraavalla käynnistyskerralla, jota on merkitty nuolella B, talletus- ja nollausprosessi huomaa mittausvälin pituuden vaihtumisen (vaihe 711). Jos rivit on jo käsitelty ja moduulin aktivointia seuraava tasaminuutti on ohitettu, laskee prosessi vaiheessa 715 30 uuden odotettavissa olevan välinvaihtumishetken FolllnterTime:=
CurrentMinute-mod(CurrentMinute/lnterv)+lnterv, jolle saadaan tässä tapauksessa arvo FollInterTime = 244801-mod(244801/10)+10 = 244801-1+10=244810. Seuraava mittausvälin vaihtumishetki siirtyy siis suoraan minuuttilukemaan 244810. Mikäli vaiheessa 712 havaitaan, että rivien käsittely 35 on kesken, siirtyy odotettavissa olevan vaihtumishetken määritys siihen 24 104597 ' käynnistyskertaan, jolloin rivit on saatu käsiteltyä (ko. aikavälin kuluessa). Tällöin käytetään määrityksessä vastaavasti kyseisen hetken minuuttilukemaa.
Mikäli rivien käsittelyä ei saada aikavälin 244800...244805 kuluessa päätökseen, havaitsee talletus- ja nollausprosessi käynnistyessään 5 ensimmäisen kerran minuuttilukeman 244805 jälkeen, että mittausvälin vaihtumishetki on ohitettu (vaihe 712), jolloin se laskee odotettavissa olevan vaihtumishetken käyttäen sen hetkistä minuuttilukemaa (vaihe 715).
Mikäli on kyseessä moduulin aktivointi, toimii prosessi siten, että aktivoinnin jälkeisellä ensimmäisellä käynnistyskerralla parametri FollInterTime 10 sekä parametrit LatlnterTime, SecondInterTime ja ThirdlnterTime saavat vaiheessa 710 arvon 244802 (eli kulumassa oleva minuuttilukema pyöristettynä ylöspäin). Lisäksi vaiheessa 710 otetaan uusi mittausvälin pituus käyttöön (eli lnterv:=lntervNew). Tämän jälkeen prosessi etenee vaiheesta 711 suoraan vaiheeseen 716, koska vaiheessa 711 havaitaan em. yhtäsuuruus (eli 15 lnterv:=lntervNew), ja vaiheesta 716 edelleen vaiheeseen 720. Sellaisella talletus- ja nollausprosessin herätyskerralla, joka on moduulin aktivoinnin havaitsemisen jälkeinen kerta, mutta ennen sitä ensimmäistä tasaminuuttia, johon välinvaihtumishetket initialisoitiin vaiheessa 710, otetaan uusi mittausvälin pituus käyttöön, mutta odotettavissa olevaa välinvaihtumishetkeä 20 ei päivitetä ennen kuin aktivoinnin jälkeinen tasaminuutti on ohitettu. Vasta aktivoinnin havaitsemiskertaa myöhäisemmällä käynnistyskerralla voidaan muuttunut välinpituus havaita vaiheessa 711, jolloin muutos voidaan myös • ottaa käyttöön vaiheessa 713 (koska parametrilla LatFinished on tässä vaiheessa arvo yksi). Oletetaan, että tarkasteltava käynnistyskerta on ennen 25 ensimmäistä tasaminuuttia. Tämän jälkeen edetään vaiheen 714 kautta suoraan vaiheeseen 716 (koska vaiheessa 714 havaitaan, että FollInterTime = LatlnterTime). Tästä edetään suoraan vaiheeseen 720. Kun talletus- ja nollausprosessi käynnistetään ensimmäisen kerran minuuttilukeman 244802 jälkeen (nuoli C), havaitaan vaiheessa 716, että kulumassa oleva 30 minuuttilukema on yhtä suuri kuin odotettavissa oleva välinvaihtumishetki (eli CurrentMinute= Folllntertime), jolloin vaiheessa 719 päivitetään odotettavissa oleva välinvaihtumishetki käyttäen uutta välinpituutta, joka em. tavalla havaittiin ennen ensimmäisen tasaminuutin saavuttamista. Odotettavissa olevaa välinvaihtumishetkeä ei siis päivitetä ennen kuin mittausryhmän aktivoinnin
• I
35 jälkeinen ensimmäinen tasaminuutti on ohitettu. Jos käy niin, että mittausvälin 104597 25 pituuden muutos (vaihe 711) havaitaan juuri sillä käynnistyskerralla, joka on ensimmäinen käynnistyskerta ensimmäisen tasaminuutin jälkeen, käytössä olevaa välinpituutta päivitetään vaiheessa 713 ja lisäksi odotettavissa oleva välinvaihtumishetki päivitetään vaiheessa 715, minkä seurauksena toiminta 5 etenee vaiheesta 715 suoraan vaiheeseen 720 (vaiheessa 716 ei tapahdu välinvaihtumishetken havaitsemista).
Kuten edellä esitetyistä esimerkeistä ilmenee, käyttäjä voi milloin tahansa muuttaa mittausryhmän mittausvälin pituutta ilman, että mittausryhmälle tarvitsee tämän takia suorittaa passivointia ja aktivointia.
10 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 keksinnöllisen ajatuksen puitteissa. Esim. monistettuja laskureita ja edellä esitettyä vuorotteluperiaatetta ei ole välttämättä noudatettava lainkaan, vaan 15 kullakin rivillä voi olla vain yksi kappale kutakin laskuria.
«

Claims (9)

26 104597
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, jonka mittausvälin arvo on 15 käyttäjän määritettävissä, ja - suoritetaan laskuriarvojen talletusta ottamalla kunkin mittausvälin jälkeen talteen mittauskohdekohtaisia laskuriarvoja, tunnettu siitä, että järjestelmässä - ylläpidetään seuraavaksi odotettavissa olevaa mittausvälin 20 vaihtumishetkeä vastaavaa aika-arvoa ja verrataan kulloinkin kulumassa olevaa kellonaika-arvoa odotettavissa olevan vaihtumishetken arvoon mittausvälin vaihtumishetken havaitsemiseksi, ja ·, - päivitetään odotettavissa olevan vaihtumishetken aika-arvoa ja kulumassa olevan mittausvälin pituutta vaihtumishetken uuden aika-arvon 25 mukaisesti vasteena mittausvälin pituuden muutokselle.
2. Patenttivaatimuksen 1 mukainen menetelmä, tunnettu siitä, että päivitystä viivästetään mittausryhmän aktivoinnin tapauksessa siksi, kunnes odotettavissa olevalle vaihtumishetkelle mittausryhmän aktivoinnin \ yhteydessä annettu alkuarvo on ohitettu.
3. Patenttivaatimuksen 1 mukainen menetelmä, tunnettu siitä, että laskuriarvojen talletusta ja nollausta suoritetaan kussakin mittausvälissä mittauskohde kerrallaan, ja että mainittu päivitys ja vertailu toteutetaan laskuriarvojen talletusta ja nollausta hoitavan prosessin avulla.
4. Patenttivaatimuksen 1 mukainen menetelmä, tunnettu siitä, 35 että mittaustaulun kutakin mittauskohdetta vastaavalla rivillä ylläpidetään Ϊ 104597 . 27 kutakin mittauslaskuria kahdennettuna, jolloin ensimmäinen laskuri kuuluu ensimmäiseen laskurijoukkoon (CG1) ja toinen laskuri kuuluu toiseen iaskurijoukkoon (CG2), ja aika-akseli jaetaan peräkkäisiin mittausväleihin (TP) siten, että joka toisessa mittausvälissä kasvatetaan ensimmäisten 5 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,
5. Patenttivaatimuksen 3 mukainen menetelmä, tunnettu siitä, 10 että mainittu prosessi käynnistetään yhden mittausvälin kuluessa toistuvasti lyhyin väliajoin, jolloin jokaisen käynnistyksen yhteydessä suoritetaan mainittu vertailu.
6. Patenttivaatimuksen 5 mukainen menetelmä, tunnettu siitä, että seuraavaksi odotettavissa olevan mittausvälin vaihtumishetken arvo 15 päivitetään lisäksi silloin, kun laskuriarvojen talletusta ja nollausta hoitava prosessi havaitsee, että odotettavissa oleva mittausvälin vaihtumishetki on jo saavutettu.
7. Patenttivaatimuksen 6 mukainen menetelmä, tunnettu siitä, että odotettavissa oleva mittausvälin vaihtumishetki määritetään kulumassa 20 olevan kellonajan ja mittausvälin pituuden avulla.
8. Patenttivaatimuksen 6 mukainen menetelmä, tunnettu siitä, että järjestelmässä ylläpidetään lippua, joka osoittaa, milloin mittaustaulun kaikki kohteet on saatu käsiteltyä kulumassa olevan mittausvälin aikana, jolloin uusi mittausvälin pituus otetaan käyttöön vasta, kun mainittu lippu osoittaa, 25 että kaikki kohteet on käsitelty.
9. Patenttivaatimuksen 2 mukainen menetelmä, tunnettu siitä, että odotettavissa olevan mittausvälin vaihtumishetken alkuarvoksi annetaan seuraavaa tasaminuuttia vastaava aika-arvo silloin, kun havaitaan, että \ passiivinen mittausryhmä on muutettu aktiiviseksi. 30 28 104597
FI963368A 1996-08-29 1996-08-29 Tapahtumien tallettaminen palvelutietokantajärjestelmässä FI104597B (fi)

Priority Applications (9)

Application Number Priority Date Filing Date Title
FI963368A FI104597B (fi) 1996-08-29 1996-08-29 Tapahtumien tallettaminen palvelutietokantajärjestelmässä
PCT/FI1997/000503 WO1998009233A2 (en) 1996-08-29 1997-08-29 Event recording in a service database system
AU40173/97A AU728516B2 (en) 1996-08-29 1997-08-29 Event recording in a service database system
CN97198249A CN1231743A (zh) 1996-08-29 1997-08-29 业务数据库系统中的事件记录
CA002263996A CA2263996A1 (en) 1996-08-29 1997-08-29 Event recording in a service database system
BR9711382A BR9711382A (pt) 1996-08-29 1997-08-29 Processo de relaliza-Æo de registros de evento em um sistema de base de dados de servico
JP10511321A JP2000517120A (ja) 1996-08-29 1997-08-29 サービスデータベースシステムにおける事象記録
EP97937605A EP0978065A2 (en) 1996-08-29 1997-08-29 Event recording in a service database system
US09/251,277 US6236998B1 (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
FI963368A FI104597B (fi) 1996-08-29 1996-08-29 Tapahtumien tallettaminen palvelutietokantajärjestelmässä
FI963368 1996-08-29

Publications (3)

Publication Number Publication Date
FI963368A0 FI963368A0 (fi) 1996-08-29
FI963368A FI963368A (fi) 1998-03-01
FI104597B true FI104597B (fi) 2000-02-29

Family

ID=8546549

Family Applications (1)

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

Country Status (9)

Country Link
US (1) US6236998B1 (fi)
EP (1) EP0978065A2 (fi)
JP (1) JP2000517120A (fi)
CN (1) CN1231743A (fi)
AU (1) AU728516B2 (fi)
BR (1) BR9711382A (fi)
CA (1) CA2263996A1 (fi)
FI (1) FI104597B (fi)
WO (1) WO1998009233A2 (fi)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3328208B2 (ja) * 1998-12-28 2002-09-24 富士通株式会社 インテリジェントネットワークシステム
US7082486B2 (en) * 2004-01-14 2006-07-25 International Business Machines Corporation Method and apparatus for counting interrupts by type
US8315990B2 (en) * 2007-11-08 2012-11-20 Microsoft Corporation Consistency sensitive streaming operators
US20090125550A1 (en) * 2007-11-08 2009-05-14 Microsoft Corporation Temporal event stream model
US20100088325A1 (en) * 2008-10-07 2010-04-08 Microsoft Corporation Streaming Queries
US9158816B2 (en) 2009-10-21 2015-10-13 Microsoft Technology Licensing, Llc Event processing with XML query based on reusable XML query template
US8413169B2 (en) * 2009-10-21 2013-04-02 Microsoft Corporation Time-based event processing using punctuation events
US11232137B2 (en) 2012-12-18 2022-01-25 RELX Inc. Methods for evaluating term support in patent-related documents
WO2014100202A1 (en) * 2012-12-18 2014-06-26 Lexisnexis, A Division Of Reed Elsevier Inc. Systems and methods for patent-related document analysis and searching

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3995123A (en) * 1974-01-09 1976-11-30 Wilson Charles H Telephone calculator
US4041291A (en) * 1975-12-19 1977-08-09 Pavda Philip D Dollars and cents telephone metering computer
JPS6014433B2 (ja) * 1978-03-01 1985-04-13 オリンパス光学工業株式会社 電卓付テ−プレコ−ダ
US4918593A (en) * 1987-01-08 1990-04-17 Wang Laboratories, Inc. Relational database system
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
US5446884A (en) * 1992-02-13 1995-08-29 International Business Machines Corporation Database recovery apparatus and method
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
CA2263996A1 (en) 1998-03-05
FI963368A (fi) 1998-03-01
EP0978065A2 (en) 2000-02-09
BR9711382A (pt) 1999-08-17
AU728516B2 (en) 2001-01-11
US6236998B1 (en) 2001-05-22
FI963368A0 (fi) 1996-08-29
CN1231743A (zh) 1999-10-13
JP2000517120A (ja) 2000-12-19
AU4017397A (en) 1998-03-19
WO1998009233A2 (en) 1998-03-05
WO1998009233A3 (en) 1998-04-30

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ä
FI104594B (fi) Tapahtumien tallettaminen palvelutietokantajärjestelmässä
FI104598B (fi) Tapahtumien tallettaminen palvelutietokantajärjestelmässä
FI104596B (fi) Tapahtumien tallettaminen palvelutietokantajärjestelmässä