FI106752B - Järjestelmä ohjelmiston vaihtamiseksi tietokoneen käytön aikana - Google Patents

Järjestelmä ohjelmiston vaihtamiseksi tietokoneen käytön aikana Download PDF

Info

Publication number
FI106752B
FI106752B FI946195A FI946195A FI106752B FI 106752 B FI106752 B FI 106752B FI 946195 A FI946195 A FI 946195A FI 946195 A FI946195 A FI 946195A FI 106752 B FI106752 B FI 106752B
Authority
FI
Finland
Prior art keywords
software
new
existing
data
processing
Prior art date
Application number
FI946195A
Other languages
English (en)
Swedish (sv)
Other versions
FI946195A0 (fi
FI946195A (fi
Inventor
Kjell Rickard Nilsson
Jan Leif Ingemar Kloefver
Ulf Kurt Haakan Markstroem
Original Assignee
Ericsson Telefon Ab L M
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 Ericsson Telefon Ab L M filed Critical Ericsson Telefon Ab L M
Publication of FI946195A0 publication Critical patent/FI946195A0/fi
Publication of FI946195A publication Critical patent/FI946195A/fi
Application granted granted Critical
Publication of FI106752B publication Critical patent/FI106752B/fi

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q3/00Selecting arrangements
    • H04Q3/42Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker
    • H04Q3/54Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker in which the logic circuitry controlling the exchange is centralised
    • H04Q3/545Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker in which the logic circuitry controlling the exchange is centralised using a stored programme
    • H04Q3/54575Software application
    • H04Q3/54583Software development, e.g. procedural, object oriented, software generation, software testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1433Saving, restoring, recovering or retrying at system level during software upgrading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/656Updates while running
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q3/00Selecting arrangements
    • H04Q3/42Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker
    • H04Q3/54Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker in which the logic circuitry controlling the exchange is centralised
    • H04Q3/545Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker in which the logic circuitry controlling the exchange is centralised using a stored programme
    • H04Q3/54508Configuration, initialisation
    • H04Q3/54516Initialization, software or data downloading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/865Monitoring of software
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/1305Software aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13057Object-oriented software
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13109Initializing, personal profile
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13376Information service, downloading of information, 0800/0900 services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Exchange Systems With Centralized Control (AREA)
  • Stored Programmes (AREA)
  • Telephonic Communication Services (AREA)
  • Hardware Redundancy (AREA)
  • Monitoring And Testing Of Exchanges (AREA)

Description

106752 Järjestelmä ohjelmiston vaihtamiseksi tietokoneen käytön aikana
Keksinnön tausta
Osa tämän patenttidokumentin selityksestä sisältää materiaalia, joka 5 on tekijänoikeuden suojaamaa. Tekijänoikeuden haltija ei vastusta patenttidokumentin tai patentin selityksen kopiointia, koska se on julkinen patentti- ja tava-ramerkkivirastossa, patenttiarkistossa tai -tallenteissa, mutta varaa muutoin kaikki tekijänoikeudet.
Keksinnön ala 10 Keksintö koskee ohjelmiston muuttamista ja erityisesti ohjelmiston vaihtamista käytössä olevassa tietokonejärjestelmässä.
Tekniikan taso
Yksi tietokoneohjelmiston ominaisuus on, että se täytyy päivittää ajoittain uusilla versioilla, lisäyksillä ja/tai poistoilla, jotta voitaisiin jatkaa riittävän 15 toiminnallisuuden tarjoamista käyttäjälle, ohjelmiston optimoimiseksi ja virheiden ja ristiriitojen korjaamiseksi, joita tulee esiin ohjelmiston elinaikana. Kun uusia ominaisuuksia lisätään ohjelmistoon, olemassa oleva ohjelmisto on toivottavaa korvata uusilla versioilla mahdollisimman varhain ja helposti, jotta käyttäjälle voitaisiin tarjota uuden ohjelmiston ominaisuudet.
20 Tietyn tyyppisissä tietokonejärjestelmissä, sellaisissa kuin erillisjär jestelmät tai eräajojärjestelmät, ohjelmiston vaihtamisessa versiosta toiseen esiintyy vähäisiä esteitä. Tyypillisesti tietokonejärjestelmä vain ajetaan alas sellaisena hetkenä päivästä, kun aktiviteettia on vähän ja ylläpitohenkilöstö on helposti käytettävissä. Sitten olemassa oleva ohjelmisto yksinkertaisesti poistetaan 25 ja korvataan ohjelmiston uudemmalla versiolla. Sen jälkeen tietokonejärjestelmä käynnistetään uudelleen ja kaikki tuleva käsittely suoritetaan ohjelmiston uudella versiolla. Menettelyllä on tietenkin olettamuksena, että uutta ohjelmistoa on testattu ja korjattu riittävästi erillisessä järjestelmässä siihen saakka, että ohjelmistosta vastaava henkilöstö ja käytön hallinta luottavat siihen, että se selviää riittä-30 vässä määrin toiminteista joihin se on tarkoitettu, ilman tarpeettomia keskeytyksiä, jotka voivat vaatia koko tietokonejärjestelmän pysäyttämisen ja uudelleen-käynnistämisen.
Toisen tyyppisissä tietokonejärjestelmissä, sellaisissa kuin nykyaikaiset tietokoneohjatut (SPC) teleliikenteen keskusjärjestelmät (joita nimitetään 35 alalla yksinkertaisesti "keskuksiksi"), ei ohjelmiston uusien versioiden testaaminen eikä ohjelmiston vaihtaminen järjestelmässä ole niin helppoa kuin erillisissä 2 106752 eräajojärjestelmissä. Esimerkiksi ohjelmiston uusia versioita ei voida testata tehokkaasti ilman, että se asetetaan todelliseen käyttöön käsittelemään puheluita. Ohjelmisto täytyy testata käytössä sen määrittämiseksi, toimiiko ohjelmisto riittävästi elävissä käyttöolosuhteissa, ja liittyvätkö uudet osuudet oikealla tavalla 5 kaikkiin muihin ohjelmistolohkoihin, jotka muodostavat osan toimivasta SPC-vaihdejärjestelmästä. Lisäksi tietoliikenteen vaihdejärjestelmät eivät käytännöllisesti katsoen ole koskaan pois toiminnasta. Ideaalisesti nämä järjestelmät toimisivat jatkuvasti ilman keskeytystä yhteiskunnan jatkuvasta teleliikennepalvelui-den tarpeesta johtuen. Tämä tarkoittaa, että on olemassa jatkuva teleliikenteen 10 virta, jota käsitellään järjestelmän läpi jopa päivän hiljaisina aikoina tai yöllä, ja jokainen keskuksen toiminnan keskeytys johtaa tuon teleliikenteen keskeytymiseen. Sellainen keskeytys voisi olla äärimmäisen vahingollinen järjestelmän toiminnalle ja sen tehokkuudelle, kuin myös sen hyväksymiselle järjestelmän käyttäjien tai asiakkaiden joukossa.
15 Nämä teleliikennekeskusten reaaliaikaisuusvaatimukset asettavat vakavia rajoituksia sekä ohjelmiston parannettujen versioiden, tai niiden osien, jotka sisältävät uutta tai parannettua toiminnallisuutta, testaukselle, kuin myös korjauksia tai "vian paikkauksia" sisältävän ohjelmiston korvaamisia keskukseen keskeyttämättä olemassa olevaa keskuksen käsittelemää teleliikennettä. Sen 20 vuoksi uusien ohjelmistokomponenttien tai yksiköiden integrointi järjestelmään käyttämällä perinteistä "muokkaa-käännä-ketjuta-lataa-aja"-lähestymistapaa ei ole toivottava. Parempana pidetään menetelmää, joka tarjoaa kyvyn muuttaa tai laajentaa ohjelmistoa järjestelmän ollessa toiminnassa ilman mitään tarvetta pois käytöstä ololle.
; ' 25 On tehty yrityksiä ratkaista ongelmia, jotka liittyvät uuden ohjelmiston sisällyttämiseen käytössä oleviin tietokonejärjestelmiin. Esimerkiksi jotkin edistyneet tänä päivänä käytössä olevat suorajärjestelmät, jotka eivät toimi erillään tai eräajotyyppisesti, ratkaisevat ohjelmiston vaihtamisen ongelman tavalla, joka eroaa selvästi erillis- ja eräajojärjestelmissä käytetystä menetelmästä. Sellaiset 30 järjestelmät kuitenkin silti korvaavat ohjelmiston manuaalisesti, vaikkakin läpinä-.· kyvämmin kuin erillisjärjestelmät, vaatimalla että yksittäiset käyttäjät tai käyttäjä ryhmät valitsevat aktiivisesti, ajavatko he ohjelmiston uutta, tai päivitettyä, versiota. Tätä vaihtoehtoa käyttäjät voivat käyttää muuttamalla heidän yksilöllisten käyttäjätunnustensa alla käytettävien prosessien käyttämän ohjelmiston ketju-35 tusta. Vaihtoehto pysyy käyttäjien saatavilla kiinteän ajanjakson, joka tavallisesti mitataan viikoissa tai kuukausissa, jossa ajassa ohjelmisto kulkeutuu useilla ta- 3 106752 soilla ketju rakenteessa toimittuaan menestyksellisesti kullakin edellisellä tasolla ilman ristiriitoja. Saavuttaessaan ketjutuksen ylimmän tason ohjelmisto julistetaan "toimivaksi" ja vanhemmat versiot eivät enää ole järjestelmän käyttäjien saatavilla. Uuden ohjelmiston vientiä järjestelmään, kuin myös sen kulkeutu-5 mistä eri tasoilla, ohjataan konfiguraation hallinnan prosessin toimesta, manuaalinen prosessi, joka raportoi, hyväksyy ja jäljittää ohjelmistoversioita kullakin tasolla ja toteuttaa hyväksyttyjä muutoksia.
Kuten menetelmissä, joita käytetään ohjelmiston päivittämiseen eräajo- tai erillisjärjestelmissä, esiintyy sisällytettäessä uutta tai muutettua ohjel-10 mistoa järjestelmään tällä tavalla hyvin tiedossa olevia haittoja. Se on suurelta osin manuaalinen, työläs järjestelmä, joka on mutkikas ja aikaa vievä. Se jättää käyttäjille kontrollin siitä, toimiiko järjestelmä tietyllä uudella ohjelmistolla ja missä tapauksissa, ilman mitään keinoa suorittaa asteittaista, rajoitettua suorakäyttöä siten, että virheet eivät lisäänny nopeasti tai vaikuta välittömästi kaikkiin me-15 neillä oleviin operaatioihin. Menetelmä pääsyn kontrolloimiseksi uuteen tai päivitettyyn ohjelmistoon liittyy ja rajoittuu suoraan ohjelmistoa suorittavaan yksittäiseen käyttäjään.
Muissa yrityksissä ratkaista ainakin joitakin ongelmista, jotka liittyvät ohjelmiston päivitykseen käytössä olevissa tietokonejärjestelmissä, on otettu toi-20 senlainen lähestymistapa. Esimerkiksi US-patentissa, joka sisältää Anders Ab-rahamssonin ja Lars Holmqvistin keksinnön ja joka on luovutettu Telefonaktie-bolaget L M Ericssonille, kuvataan järjestelmä, jolla ohjelmisto ketjutetaan dynaamisesti ajon aikana. Tuo järjestelmä pitää kuitenkin sisällään mutkikkaan epäsuoraa osoitusta käyttävän järjestelmän, joka joko vaatii erikoistuneen tai 25 laajennetun käyttöjärjestelmän ja/tai erikoiskääntäjän käytön. Tuossa järjestelmässä on myös useita haittoja, epästandardin käyttöjärjestelmän tarve mukaanlukien. Lisäksi järjestelmä ei toimi standardilla sovellusohjelmistolla. Järjestelmä on myös rajoittunut siinä suhteessa, että se kohdistuu vain osaan koko ongelmasta, eikä se tarjoa apua asteittaiseen testaukseen ja kontrollin vaihtami-30 seen olemassa olevien ja päivitettyjen ohjelmistomoduulien välillä.
.·· Tänä päivänä käytössä olevassa tyypillisessä teleliikennejärjestel- mässä ohjelmiston tai sen osan vaihtamisen ongelma on vielä vaikeampi. Vaikka sellaisia järjestelmiä ei voida oikein kutsua eräajo- tai erillisjärjestelmiksi, niiden toimintaan vaikutetaan myös aina, kun tehdään ohjelmiston vaihto. Uusi 35 ohjelmisto ladataan ja olemassa olevalle ohjelmistolle kuulunut data konvertoi- 4 106752 daan ja kuljetetaan uuteen ohjelmistoon. Tämän kuljetuksen ollessa käynnissä järjestelmä ei voi rekisteröidä uusia kutsuja. Tämä toimimattomuuden jakso voi kestää tunnin tai kauemmin, mikä tekee välttämättömäksi ajoittaa ohjelmisto-muutokset hiljaisen käytön tunteihin. Jopa näinkin menetellen tunnin alhaalla olo 5 teleliikenteen vaihdejärjestelmässä on hyvin pitkä ja kallis jakso, eikä hätälii-kenteen tarpeita voida palvella tänä aikana.
Sen vuoksi teleliikennealalla olisi erittäin käyttökelpoista kyetä testaamaan ja vaihtamaan ohjelmisto teleliikenteen vaihdejärjestelmän todellisen käytön aikana järjestelmän läpi kulkevaa teleliikennettä keskeyttämättä. Telelii-10 kenteen kannalta olisi lisäksi hyödyllistä omata kyky ohjata rajoitettu ja määritelty osa liikenteestä uuden ohjelmiston tai sen osien läpi siten, että ohjelmisto voitaisiin testata käyttöympäristössä ennen elävän datan käsittelyä. Sujuva läpinäkyvä menetelmä, joka ei vaadi erikoiskääntäjiä, ohjelmiston vaihtamiseksi käytön aikana olisi siten erittäin toivottava. Esillä olevan keksinnön mukainen järjestel-15 mä tarjoaa sellaisen menetelmän.
Keksinnön yhteenveto
Laskentajärjestelmien, sellaisten kuin SPC-tyyppiset teleliikenteen vaihdejärjestelmät, dynaaminen käyttäytyminen voidaan kuvata sarjana rinnakkaisia, suhteellisen itsenäisiä tapahtumia (nimitetään myös "poluiksi" tai "tapah-20 tumaketjuiksi"), joissa jokainen tapahtuma muodostuu useista toisistaan riippuvista aktiviteeteista. Tapahtuma suorittaa tyypillisesti työn, joka on nähtävissä ja järjestelmän ulkoiselle käyttäjälle hyödyllinen. Teleliikenteen vaihdejärjestelmässä tyypillinen tapahtuma voi olla puhelu.
Käytön aikana tapahtuva ohjelmiston vaihto käyttämällä esillä olevan 25 keksinnön mukaisia pehmeän ohjelmistonvaihdon menetelmiä hyödyntää ta-pahtumasuuntautunutta ohjelmistoa yhdessä muistin kanssa, joka kykenee tallentamaan sekä olemassa olevan että uuden ohjelmistoversion samanaikaisesti. Pehmeä vaihto uuteen ohjelmistoversioon saadaan aikaan antamalla meneillään olevien tapahtumien, so. "olemassa olevan liikenteen", mennä päätökseen 30 olemassa olevaa ohjelmistoversiota käyttäen. Tapahtumat, jotka on aloitettu .· sen jälkeen kun ohjelmiston vaihto on aloitettu, so. "uusi liikenne", ajetaan as teittaisella ja kontrolloidulla tavalla uutta ohjelmistoversiota käyttäen.
Päävaatimuksiin, jotka esillä olevan keksinnön mukaisen pehmeän ohjelmistonvaihdon menetelmä täyttää, sisältyy vähäinen tai kokonaan puuttuva 35 käyttäjien häirintä ja korkea järjestelmän käytettävyystaso.
5 106752
Keksinnön kohteena on menetelmä tietokonelaitteen datankäsittely-kontrollin siirtämiseksi olemassa olevalta ohjelmistolta uudelle ohjelmistolle, joka menetelmä käsittää vaiheet, joissa asennetaan uusi ohjelmisto tietokonelaitteeseen, käytetään uutta ohjelmistoa testidatan käsittelytapahtumien kä-5 sittelemiseksi, ja otetaan uusi ohjelmisto käyttöön tietokonelaitteessa, kun testidatan käsittelytapahtumat on käsitelty menestyksellisesti. Mainitulle menetelmälle on tunnusomaista, että siirretään automaattisesti datankäsittelykontrolli olemassa olevalta ohjelmistolta uudelle ohjelmistolle katkaisematta huomattavasti olemassa ole-10 van ohjelmiston olemassa olevan datan käsittelyä sallien molempien ohjel-mistoversioiden samanaikainen antodatan tuottaminen, käytetään uutta ohjelmistoa testidatan käsittelytapahtumien käsittelemiseksi olemassa olevan ohjelmiston käsitellessä samanaikaisesti sekä uusia että olemassa olevia datan käsittelytapahtumia, 15 siirretään automaattisesti kaikkien uusien datan käsittelytapahtumi en datankäsittelykontrolli uudelle ohjelmistolle sen käsiteltyä menestyksellisesti mainittuja testidatan käsittelytapahtumia jatkaen olemassa olevan ohjelmiston käyttämistä olemassa olevien datan käsittelytapahtumien käsittelemiseksi ja antodatan tuottamista samanaikaisesti sekä olemassa olevalla että 20 uudella ohjelmistolla, ja siirretään automaattisesti koko datankäsittelykontrolli uudelle ohjelmistolle sen käsiteltyä menestyksellisesti mainittuja uusia datankäsittelyta-pahtumia.
Keksinnön kohteena on edelleen järjestelmä tietokonelaitteen da-25 tankäsittelykontrollin siirtämiseksi olemassa olevalta ohjelmistolta uudelle ohjelmistolle, joka järjestelmä käsittää välineitä uuden ohjelmiston asentamiseksi tietokonelaitteeseen, välineitä uuden ohjelmiston käyttämiseksi testidatan käsittelytapahtumien käsittelemiseksi, ja välineitä uuden ohjelmiston käyttöönottamiseksi tietokonelaitteessa, kun testidatan käsittelytapahtumat on käsitelty 30 menestyksellisesti. Mainitulle järjestelmälle on tunnusomaista, että järjestelmä on sovitettu siirtämään automaattisesti datankäsittelykontrolli olemassa olevalta ohjelmistolta uudelle ohjelmistolle katkaisematta huomattavasti olemassa olevan ohjelmiston olemassa olevan datan käsittelyä ja sallimaan molempien ohjelmistoversioiden samanaikainen antodatan tuot-35 taminen, ja 6 106752 järjestelmä käsittää välineitä uuden ohjelmiston käyttämiseksi testi-datan käsittelytapahtumien käsittelemiseksi olemassa olevan ohjelmiston käsitellessä samanaikaisesti sekä uusia että olemassa olevia datan käsittelytapahtumia, 5 välineitä kaikkien uusien datan käsittelytapahtumien datankäsittely- kontrollin siirtämiseksi automaattisesti uudelle ohjelmistolle sen käsiteltyä menestyksellisesti mainittuja testidatan käsittelytapahtumia samalla kuin jatketaan olemassa olevan ohjelmiston käyttämistä olemassa olevien datan käsittelytapahtumien käsittelemiseksi ja antodatan tuottamista samanaikaisesti sekä 10 olemassa olevalla että uudella ohjelmistolla, ja välineitä koko datankäsittelykontrollin siirtämiseksi automaattisesti uudelle ohjelmistolle sen käsiteltyä menestyksellisesti mainittuja uusia datan-käsittelytapahtumia.
Esillä olevan keksinnön pääperiaatteisiin sisältyvät seuraavat seikat: 15 (1) järjestelmän käyttäjä kokee vähäisiä häiriöitä tai ei lainkaan häiri öitä tapahtuman (esim. puhelu) aikana, koska yksi ja vain yksi ohjelmistoversio kontrolloi kutakin määrättyä tapahtumaa, so. järjestelmä käyttää joko olemassa olevaa ohjelmistoversiota tai uutta ohjelmistoversiota tapahtuman alusta sen loppuun; ja 20 (2) järjestelmän käyttäjä ei koe mitään epäsaatavuutta ohjelmisto- vaihdoksen vuoksi, koska molempia ohjelmistoversioita käytetään rinnakkain vaihdoksen aikana.
Jos tämä jälkimmäinen ominaisuus ei olisi käytössä, yksinkertaisempi ratkaisu olisi tehdä yksinkertaisesti järjestelmän ohjelmiston irrallisvaihto.
25 Järjestelmän käsittelemä data voidaan tässä yhteydessä erottaa kahdeksi eri luokaksi; (1) dynaaminen data, joka luodaan ja jota käytetään tapahtuman aikana ja joka tuhotaan tapahtuman päättymisen jälkeen; ja (2) puolipysyvä data, jota käyttävät useat tapahtumat ja joka säilyy 30 niiden ajan, esimerkiksi telejärjestelmissä tieto järjestelmään liitetyistä tilaajanumeroista tai tiettyjen tilaajien käyttämät lyhytnumerot.
Ratkaiseva ongelma, joka liittyy käytön aikana tapahtuvaan ohjelmiston vaihtoon jossa vaaditaan vähäiset häiriöt, on se että olemassa olevan ohjelmistoversion tila täytyy siirtää uuteen ohjelmistoversioon. Esillä olevan kek-35 sinnön mukaisella pehmeällä ohjelmiston muuttamisella dynaamisen ja puolipy-syvän datan erottaminen tekee tämän ongelman yksinkertaisemmaksi siten, että 7 106752 vain puolipysyvä data, jos sitäkään, tulee siirtää olemassa olevasta ohjelmistosta uuteen versioon. Lisäksi puolipysyvä data toteutetaan tyypillisesti erillisessä tietokannassa olevina objekteina ja sitä muutetaan harvemmin kuin telelii-kenneohjelmistojäijestelmän muita osia.
5 Esillä olevan keksinnön mukainen järjestelmä huolehtii uuden ohjel miston asentamisesta telejärjestelmän muisteihin yhdessä olemassa olevan ohjelmiston kanssa ja sen lisäksi. Esillä olevan keksinnön mukaisessa järjestelmässä olemassa oleva liikenne käsitellään alussa olemassa olevalla ohjelmistolla ja testiliikennettä ohjataan keskuksen läpi uudella ohjelmistolla käsiteltä-10 väksi. Uuden ohjelmiston käsiteltyä testiliikenteen menestyksellisesti osa varsinaisesta elävästä liikenteestä (tai normaalista liikenteestä) ohjataan selektiivisesti uuden ohjelmiston läpi jäljelle jäävän elävän liikenteen ollessa yhä olemassa olevan ohjelmiston käsittelemä. Uuden ohjelmiston käsittelemän elävän näyteliikenteen prosenttiosuutta voidaan vaihdella nollan ja sadan prosentin vä-15 Iillä. Mikäli uusi ohjelmisto selvittää näyteliikenteen riittävän hyvin, koko liikenne ohjataan uudelle ohjelmistolle. Niin pian kuin olemassa olevan ohjelmiston käsittelemien puheluiden käsittely on saatettu päätökseen, järjestelmä ei enää käytä olemassa olevaa ohjelmistoa ja se voidaan poistaa järjestelmästä.
Toisen näkökohdan mukaisesti esillä olevan keksinnön mukainen 20 järjestelmä sisältää järjestelmän uuden tai muutetun ohjelmiston pehmeää tarkistusta varten. Esillä olevan keksinnön mukainen järjestelmä sallii datan kulkea uuden ohjelmiston läpi asteittain ja kontrolloidusti, kuitenkin osana elävää käytössä olevaa järjestelmää. Järjestelmä huolehtii virheiden ja ristiriitojen varhaisesta ilmaisusta vaikuttaen vähän, tai ei lainkaan, teleliikenteen vaihdejärjestel-25 män varsinaiseen toimintaan, koska ensimmäinen uuteen ohjelmistoon ohjattu data on vain järjestelmän generoimaa testidataa. Jos teleliikennejärjestelmä havaitsee virheen testidataa käsitellessään, uuteen ohjelmistoon ei ohjata lisää liikennettä, jotta jopa uuden ohjelmiston käsiteltyä todellista dataa häiriö järjestelmän kokonaisliikenteelle minimoituu.
30 Esillä olevan keksinnön toisen näkökohdan mukaisesti järjestelmä suuntaa asteittaisesti liikennettä olemassa olevasta ohjelmistosta uuteen ohjelmistoon. Esillä olevan keksinnön mukainen järjestelmä sisältää kyvyn sallia tapahtumien, jotka aloittivat käsittelyn olemassa olevalla ohjelmistolla, saattaa päätökseen käsittelynsä vain olemassa olevaa ohjelmistoa käyttäen. Vain uu-35 den ohjelmiston asennuksen jälkeen alkaneet tapahtumat käsitellään uudella ohjelmistolla. Esillä olevan keksinnön mukaisen järjestelmän tämä näkökohta 8 106752 johtaa vain vähäiseen käyttäjien häiritsemiseen siirryttäessä tietystä olemassa olevasta ohjelmistosta sen korvaavaan ohjelmistoon, tai sen täydentämiseen uudella ohjelmistolla. Lisäksi tämä näkökohta minimoi datamäärän, joka vaatii muunnoksen ja/tai siirron eri ohjelmistoon kuin se, jolla se alunperin käsiteltiin.
5 Vielä yhden näkökohdan mukaisesti esillä olevan keksinnön mukai nen järjestelmä sisältää ohjelmiston pehmeän muokkaamisen, prosessin joka mallintaa ohjelmiston toiminnan joukoksi tunnistettavia ja ylläpidettäviä tapahtumia. Esillä olevan keksinnön mukaisessa järjestelmässä sellaiset ketjut tunnistetaan ja niitä ylläpidetään koko käsittelyn ajan. Lisäksi tässä näkökohdassa 10 esillä olevan keksinnön mukainen järjestelmä valvoo kunkin tapahtuman kytkemistä joko uudelle tai olemassa olevalle ohjelmistoversiolle sen ajan, jolloin molemmat versiot ovat samanaikaisesti teleliikennekeskuksessa.
Toisen näkökohdan mukaisesti esillä olevan keksinnön mukainen järjestelmä sisältää mekanismit olemassa olevan ohjelmiston sisältämän ja suo-15 raan ohjaaman mahdollisen puolipysyvän datan muuntamiseksi ja siirtämiseksi uudelle ohjelmistoyksikölle.
Toisen näkökohdan mukaisesti esillä olevan keksinnön mukainen järjestelmä sisältää joukon ohjauspisteitä, joita käytetään toimivassa järjestelmässä tapahtumien ohjaamiseen dynaamisesti joko järjestelmän uuteen tai 20 olemassa olevaan versioon. Järjestelmä suorittaa dynaamisen ohjauksen useilla keinoilla, funktionimellä osoitettujen sanomien analysointi ja ohjelmayksiköiden dynaaminen ajonaikainen ketjutus mukaanlukien.
Vielä yhden näkökohdan mukaisesti esillä olevan keksinnön mukainen järjestelmä sisältää välittömän muokkausmenetelmän. Tätä menetelmää 25 käytetään, kun ohjelmiston kahden version samanaikainen olemassa olo ei ole mahdollinen, ja se tarjoaa hetkellisen vaihdon olemassa olevasta ohjelmistover-siosta uuteen ohjelmistoversioon. Kaikki liikenne suunnataan automaattisesti uuteen versioon siihen saakka, kunnes uudessa versiossa havaitaan virheitä, jotka tekevät mahdottomaksi tai epäkäytännölliseksi uuden version käytön. Sel-30 laisessa tapauksessa järjestelmä voidaan, jos se pysäytetään, uuden välittömän muutoksen avulla palauttaa käsittelemään kaikki liikenne olemassa olevaa oh-jelmistoversiota käyttäen. Tämän näkökohdan mukaisesti järjestelmä säilyttää olemassa olevan version passiivissa tilassa järjestelmän sisällä.
Vielä yhden näkökohdan mukaisesti esillä olevan keksinnön mukai-35 nen järjestelmä sisältää ketjutetun proseduurin (kutsun) mekanismin, joka pitää sisällään välittäjän ja ytimen, rajapinnan sallimiseksi eri luokista olevien ohjel- 9 106752 mistoyksiköiden välille. Tätä ketjutetun proseduurin kutsumekanismia käytetään myös olemassa olevan ja uuden ohjelmistoyksikön keskenään ketjutuksen ja sitomisen suorittamiseksi ajonaikaisesti. Tätä ketjutetun proseduurikutsun mekanismia esillä olevan keksinnön mukaisessa järjestelmässä käytettäessä luo-5 daan vaadittava rajapintamäärittely, joka käyttää esillä olevan keksinnön mukaisen järjestelmän toista näkökohtaa, erityistä objektipohjaista rajapinnan kuvauskieltä, jonka nimi on ELIN. Kieli sisältää erikoisen rakenteen, joka on sovitettu rajapintojen kehittämiseen esillä olevan keksinnön mukaisen järjestelmän ketjutetun proseduurikutsun näkökohtaa varten.
10 Vielä yhdessä näkökohdassa esillä olevan keksinnön mukainen jär jestelmä sisältää osoitusmekanismin sanomille, joilla on osoite funktionimeen, joka sisältää vaihde- tai sanomanreititysmekanismin rajapinnan järjestämiseksi ohjelmistoyksiköiden välille, jotka voidaan hajauttaa järjestelmään. Tätä mekanismia käytetään myös sanomien ohjaamiseen olemassa olevalle ja uudelle 15 ohjelmistoyksikölle ajonaikaisesti. Tätä osoitusmekanismia esillä olevan keksinnön mukaisessa järjestelmässä käytettäessä tarvittava rajapintamäärittely luodaan käyttämällä keksinnön mukaisen järjestelmän toista näkökohtaa, erikoistunutta kieltä, jota yllä nimitettiin nimellä ELIN. Kieli sisältää erikoisen rakenteen, joka on sovitettu rajapintojen kehittämiseen esillä olevan keksinnön mukaisen 20 järjestelmän sanomaprotokollanäkökohtia varten.
Tätä alaa tavanomaisesti tuntevat voivat helposti havaita, että tämän keksinnön periaatteita ja näkökohtia voitaisiin myös käyttää hyödyttämään ohjelmiston ajonaikaista muuntamista erilaisissa tietokonesovellutuksissa, jotka ovat muita kuin teleliikenteen vaihdejärjestelmiä.
25 Keksinnön mukaisen menetelmän ja järjestelmän edulliset suoritus muodot ilmenevät oheisista epäitsenäisistä patenttivaatimuksista.
Piirrosten lyhyt kuvaus
Esillä olevan keksinnön ja sen lisäkohteiden ja etujen ymmärtämiseksi voidaan nyt tarkastella seuraavaa selitystä yhdessä oheisten piirrosten kans-30 sa, joissa: .* Kuviot 1A - 1B ovat kaaviomaisia kuvauksia tekniikan tason mukai sesta järjestelmästä, jolla kontrolloidaan uuden tai muutetun ohjelmiston vientiä käytössä olevaan ohjelmistojärjestelmään; kuvio 2 on lohkokaavio, joka kuvaa esimerkkimenettelyä käsittelyn 35 suuntaamiseksi olemassa olevalta ohjelmistoyksiköltä uudelle ohjelmistoyksikölle esillä olevan keksinnön mukaisen järjestelmän mukaisesti; 10 106752 kuviot 3A - 3E ovat kaaviomaisia kuvauksia prosessista, jolla olemassa oleva ohjelmisto vaihdetaan uuteen ohjelmistoon esillä olevan keksinnön mukaisen järjestelmän mukaisesti; kuvio 4 on vuokaavio, joka kuvaa prosessia jolla ohjelmisto vaihde-5 taan ajonaikaisesti esillä olevan keksinnön mukaisen järjestelmän mukaisesti; kuvio 5 on lohkokaavio, joka kuvaa tapaa jolla sekä uutta ohjelmistoa että olemassa olevaa ohjelmistoa osoitetaan selektiivisesti esillä olevan keksinnön mukaisessa järjestelmässä; kuvio 6 on lohkokaavio, joka kuvaa tapaa jolla objekteja osoitetaan 10 esillä olevan keksinnön mukaisen järjestelmän ohjelmiston sisällä; kuvio 7 on lohkokaavio, joka kuvaa tapaa jolla ohjelmistoa osoitetaan esillä olevan keksinnön mukaisessa järjestelmässä; kuvio 8 on lohkokaavio, joka kuvaa tapaa jolla välittäjä osoittaa ohjelmistoa esillä olevan keksinnön mukaisessa järjestelmässä; 15 kuvio 9 on havainnollistava kaavio tavasta, jolla objektisuuntautuneen rajapinnan kuvauskieltä käytetään esillä olevan keksinnön mukaisen järjestelmän toteuttamiseen; ja kuvio 10 on kaavio, joka havainnollistaa esillä olevan keksinnön mukaisen järjestelmän tiettyjä näkökohtia; ja 20 kuvio 11 on havainnollistava kaavio tavasta, jolla tietyt protokollat te kevät helpoiksi rajapinnat esillä olevan keksinnön mukaisessa järjestelmässä.
Yksityiskohtainen kuvaus
Esillä olevan keksinnön mukainen järjestelmä käyttää joissakin näkökohdissa objektisuuntautuneen ohjelmoinnin periaatteita. Objektisuuntautunut ·: 25 ohjelmointi pitää sisällään oleellisesti neljä elementtiä - luokat, objektit, instans- simuuttujat (tai C++:Ha toteutetut datajäsenet) ja menetelmät (tai jäsenfunktiot C++:ssa). Luokka on yksinkertaisesti malli, jota käytetään määriteltäessä objekteja, jotka ovat luokan, josta ne luodaan, instansseja. Luokilla on kaksi kom-ponenttityyppiä - instanssimuuttujat ja menetelmät. Instanssimuuttujat palvelevat 30 dataelementteinä ja menetelmät palvelevat funktioina, so. ne määrittelevät objektin käyttäytymisen. Kukin näistä yhdistetään yhdeksi yhteiseksi objektiksi käytössä olevassa moduulissa. Sen vuoksi ohjelmointi suoritetaan painopisteen ollessa objekteissa, mieluummin kuin suoritettavissa funktioissa tai tehtävissä.
Tiettyjä objektiorientoituneen ohjelmoinnin menetelmiä, jotka tunne-35 taan hyvin alalla, on sisällytetty esillä olevan keksinnön mukaiseen järjestelmään esillä olevan keksinnön mukaisen järjestelmän C++-kielisessä edullisessa to- « 11 106752 teutuksessa. Sellaisiin menetelmiin sisältyvät periminen, polymorfismi ja kapselointi. Periminen sallii uuden luokan saamisen olemassa olevasta luokasta siten, että koodi on helposti uudelleenkäytettävää siten, että dataa ja koodia voidaan lisätä luokkaan tai luokan käyttäytymistä voidaan muuttaa tarvitsematta muuttaa 5 olemassa olevaa luokkaa. Polymorfismi on ominaisuus, joka tarjoaa kyvyn muuttaa eri objektien jakaman komponentin käyttäytymistä, mikä sallii komponentin tai objektin eri instanssien käyttäytymisen eri tavalla, vaikka ne näyttävät olevan identtisiä. Lopuksi kapselointi on menetelmä, jolla yhdistetään data ja datan käsittelyyn tarvittavat operaatiot yhden "katon" alle. Se lisäksi antaa kyvyn 10 suojata data liialliselta tai tarpeettomalta pääsyltä ja datarakenteen yksityiskohtien kätkemiseksi.
Tarkastellaan ensin kuviota 1A, jossa kuvataan ohjelmistonhallinta-malli, jota käytetään hallittaessa tekniikan tason mukaisessa järjestelmässä uuden tai muutetun ohjelmiston tuontia käytössä olevaan ohjelmistojärjestelmään. 15 Kuvio 1A kuvaa ohjelmistotasojen hierarkista joukkoa, jonka sisältöä tarkistus-neuvoston jäsenet valvovat. Kaikki muutokset ohjelmistoon tulee hyväksyä tämän neuvoston toimesta ennen kuin sellaiset muutokset toteutetaan järjestelmässä. Mitään ohjelmistoa ei integroida järjestelmään ennen kuin tarkistusneu-vosto suorittaa muodollisen päätöksen, että ohjelmistoa tarvitaan, että se on 20 riittävästi testattu ja että se ei todennäköisesti aiheuta vahinkoa tai keskeytystä järjestelmälle.
Tasojen hierarkia voi muodostua useista erillisistä hierarkioista, jotka ketjuttaa yhteen yksittäinen käyttäjä, jolla on pääsy ja tarve niihin tasoihin tai ohjelmiston "kirjastoihin" funktionsa suorittamiseksi. Hierarkian 1 päällä on reaa-25 liaikainen käytössä oleva ohjelmisto, jota tyypillisesti käytetään kaikkein laajimmin ja joka on tiukimmin kontrolloitu ("AB.D"). Tämän tason alapuolella on vaihtokirjasta 2, joka on merkitty lisäkirjaimella C loppuliitteessä ("AB.DC"). Alemmat tasot käytössä olevassa ohjelmistossa hierarkian sisällä voivat kuulua eri käyttäjäryhmille järjestelmässä, ja tarkistusneuvostot valvovat niitä noilla tasoilla. 30 Uusi tai muutettu reaaliaikainen ohjelmisto tulee järjestelmään, hyväksymisen jälkeen, alhaisimmalle mahdolliselle tasolle, so. tasolle joka päättyy kirjaimella C, kuten kohdissa 2 ja 3.
Kun uusi tai muutettu ohjelmisto tulee järjestelmään, se pysyy tulotasolla, kunnes määritelty ajanjakso on kulunut loppuun ja ohjelmisto ei ole tuotta-35 nut mitään havaittavia virheitä. Sitten se kulkeutuu seuraavaksi korkeimmalle tasolle. Joissakin tapauksissa tämä vaatii etukäteishyväksynnän määritellyltä tar- 12 106752 kistusneuvostolta; muissa tapauksissa kulkeutuminen tapahtuu automaattisesti, osana säännöllisesti ajastettua järjestelmäaktiviteettia. Kulkeutumiset ovat läpinäkyviä käyttäjille ja ohjelmisto on käytettävissä välittömästi kulkeutumisen jälkeen tai tultuaan hierarkiaan niille käyttäjille, jotka ovat rakentaneet ohjelmiston-5 sa ketjutuksen pääsemään käsiksi kirjastoissa olevaan ohjelmistoon, joka sisältää uuden tai muutetun ohjelmiston.
Kuten kuviossa 1A on myös kuvattu, sama prosessi voidaan toistaa ja se voi tapahtua samanaikaisesti ei-reaaliaikaista tekniikkatyyppiä olevalle ohjelmistolle, joka sijaitsee saman järjestelmän sisällä. Ainoa ero tässä tapaukses-10 sa on se, että valvontaprosessia hallitsee eri ihmisjoukko ja että prosessi ei ehkä ole yhtä tarkka kuin käytössä olevalle ohjelmistolle, jota käytetään yleensä koko järjestelmässä kriittisiin prosesseihin. Ohjelmiston integrointi tapahtuu kuitenkin samalla tavalla tämän teknisen ohjelmiston osalta kuin käytössä olevan ohjelmiston osalta. Uusi tai muutettu ohjelmisto tulee hierarkiaan alhaisimmalle sopi-15 valle muutostasolle, kuten C:llä on merkitty viimeisenä kirjaimena loppuliitteessä, kuten kohdassa 4. Sitten se kulkeutuu ylöspäin ajan mittaan tarvittavine hyväk-symisineen, kunnes se pääsee huipulle 5 omassa hierarkiassaan. Joko teknisen tai käyttöohjelmiston tapauksessa sen kulkeuduttua seuraavalle tasolle se ei enää sijaitse alhaisemmalla tasolla.
20 Päätös siitä uuden tai muutetun ohjelmiston, joka on tuotu järjestel män hierarkisiin kirjastoihin, käytöstä jätetään yksittäiselle käyttäjälle tai käyttäjäryhmälle. Käyttäjä(t) voi(vat) valita mitä tasoja järjestelmän kirjastoista tulee käyttää ketjutettaessa ohjelmistoa heidän käyttöönsä. He voivat valita ohjelmiston alempien tasojen ohittamisen kokonaan tai he voivat yksinkertaisesti valita ·: 25 alhaisimman muutostason välttämisen, joka sisältää uusimman ja vähiten tes tatun ohjelmiston. Korkein taso hierarkian kustakin osasta sisältää tietysti pääosan käytössä olevasta toimivasta ohjelmistosta.
Kuvio 1B kuvaa konfiguraationohjauksen ihmistä koskevaa prosessia, joka käyttää hyväkseen kuviossa 1A kuvattua ohjelmakirjastohierarkiaa 30 kontrollin ylläpitämiseksi sekä ohjelmiston perusosan että järjestelmään tuodun *; uuden tai muutetun ohjelmiston osalta päivittäisellä tasolla. Kuten yllä huomau tettiin, uusi ohjelmisto tulee hierarkiaan alhaisimmalle sopivalle muutostasolle tarkistusneuvoston hyväksymisen jälkeen. Jos uusi ohjelmisto johtaa virheisiin tai ristiriitoihin, ohjelmisto poistetaan hierarkiasta ja palautetaan ohjelmiston lisä-35 ylläpitotyötä varten, kuten kohdassa 6. Sen jälkeen kun ongelmat on korjattu ja ohjelmisto on testattu uudelleen, se voidaan jälleen neuvoston hyväksymisen • ·« · 13 106752 jälkeen integroida järjestelmään alhaisimmalle muutostasolle. Jos mitään ongelmia ei havaita sallitun kiinteän jakson aikana, ohjelmisto kulkeutuu automaattisesti seuraavalle tasolle, ellei seuraava taso vaadi toisen neuvoston hyväksyntää, kuten kohdassa 7. Muussa tapauksessa se kulkeutuu kiinteän aika-5 taulun mukaan asianmukaisen hyväksynnän jälkeen. Tämä prosessin toistaminen jatkuu, kunnes ohjelmisto saavuttaa korkeimman tason hierarkian tuossa osuudessa, jolloin se julistetaan täysin toimivaksi ohjelmistoksi.
Tarkastellaan seuraavaksi kuviota 2, jossa on kuvattu esillä olevan keksinnön yksi näkökohta, joka esittää mekanismin jonka kautta ohjelmiston 10 pehmeä muuttaminen tai vaihto voi tapahtua. Tämä pehmeän muuttamisen näkökohta, joka sallii järjestelmän tallentaa tietyn aikajakson aikana primaarimuis-tiin sekä ohjelmiston olemassa olevan että uuden version. Uutta liikennettä voidaan sitten asteittain tuoda ohjelmiston uuteen versioon tämän tuomisen tapahtuessa siten, että olemassa olevat tapahtumat suoritetaan päätökseen ole-15 massa olevalla ohjelmistoversiolla, kun taas uudet tapahtumat suoritetaan uudella ohjelmistoversiolla. Kuviossa 2 on kuvattu muuttamaton ohjelmistoyksikkö 11, joka on kytketty osoitusmekanismin 12, jota kutsutaan ohjauspisteeksi, kautta olemassa olevaan vaihtoyksikköön 13 ja uuteen vaihtoyksikköön 14. Muuttamattomat rajapinnat 15 ja 16 yhdistävät olemassa olevan vaihtoyksikön 20 13 ja uuden vaihtoyksikön 14 osoitusmekanismiin 12.
Kuvatulla tavalla on mahdollista sallia liikenteen tuonti uuteen ohjel-mistoversioon hallitulla tavalla. Se lisäksi sallii olemassa olevan ohjelmistoversi-on jatkaa toimintaa elävällä datalla, samalla kun uusi ohjelmistoversio samanaikaisesti käsittelee ensin testiliikennettä ja sitten myös tiettyä määriteltyä elävää 25 näyteliikennettä. Koska kyseiset kaksi ohjelmistoversiota voivat esiintyä samanaikaisesti järjestelmässä, olemassa olevalla ohjelmistoversiolla käsittelyn aloittaneet tapahtumat päättävät suorituksen olemassa olevaa ohjelmistoversiota käyttäen. Uuden ohjelmistoversion ensin käsittelemä liikenne käsitellään samoin vain uudella ohjelmistoversiolla. Tämä pehmeän vaihtamisen prosessi sallii uu-30 sien tapahtumien tuonnin asteittain uuteen ohjelmistoon, mikä siten vähentää häiriön riskiä järjestelmän käyttäjille. Tämä näkökohta vaatii, kuten kuviossa 2 on kuvattu, kyvyn esittää järjestelmän suoritustapahtuma joukkona rinnakkaisia, itsenäisiä tapahtumia, kuin myös kyvyn tunnistaa kukin tapahtuma ja ylläpitää ja valvoa sen kytkentää joko uuteen tai olemassa olevaan ohjelmistoversioon.
35 On melko mahdollista, ja itse asiassa tyypillistä, korvata esillä olevan keksinnön mukaisessa järjestelmässä kerrallaan vain osa ohjelmistosta. Kor- 14 106752 vattavaa ohjelmistoa nimitetään vaihtoyksiköksi. Kuvio 2 kuvaa tapausta jossa vaihtoyksikkö R on sekä olemassa olevassa ohjelmistoversiossa, so. vaihtoyk-sikkö 13, että uudessa ohjelmistoversiossa, so. uusi vaihtoyksikkö R' 14. Uusi vaihtoyksikkö R' on määritelmän kautta valittu omaamaan muuttamattomaan 5 ohjelmistoon 11 päin rajapinnan 16, joka on yhteensopiva olemassa olevan rajapinnan kanssa. Tämä merkitsee, että muuttamaton ohjelmisto kykenee olemaan yhteistoiminnassa sekä olemassa olevan että uuden ohjelmistoversion (vaihtoyksikkö) kanssa.
Esillä olevan keksinnön tämä näkökohta, so. tapahtumien dynaami-10 sen ohjauksen ja uudelleenohjauksen järjestäminen, on toteutettu ottamalla käyttöön ohjauspisteitä. Nämä ohjauspisteet muodostuvat hajautetussa järjestelmässä olevista kohdista, joissa tapahtumia voidaan ohjata määrätyllä tavalla. Kuviossa 2 kuvatun kaltainen osoitusmekanismi 12 edustaa ohjauspisteiden toteutusta ja keinoa, jolla järjestelmän tapahtumat ohjataan yksitellen joko uudelle 15 tai olemassa olevalle ohjelmistoversiolle. Nämä ohjauspisteet kykenevät toimimaan kolmella eri tavalla. Ensiksi ne voidaan Hipaista analysoimalla analysoimalla funktionimi, joka liittyy järjestelmän käsittelemään liikenteeseen. Tämän toimintamenetelmän mukaisesti liikenne voidaan ohjata kyseisen funktion, joka vaaditaan tarvittavan käsittelyn suorittamiseen, joko uudelle tai olemassa ole-20 valle ohjelmistoversiolle. Toiseksi tapahtumat voidaan ohjata suorittamaan ohjelman uusi tai olemassa oleva ohjelmistoversio riippuen informaatiosta, joka on syötetty ohjelmiston ajonaikaisen ketjutuksen tuloksena.
Tosiasialla, että useita versioita ohjelmiston osasta voi olla olemassa yhdessä määrätyn jakson ajan järjestelmässä, on useita seurauksia. Esimerkiksi ·: 25 tämä esillä olevan keksinnön pehmeän muuttamisen näkökohta vaatii, muutos ten kohdistuessa puolipysyvän datan esitysmuotoon, että sekä uusi että olemassa oleva ohjelmistoversio voivat käsitellä oikeata datan esitysmuotoa.
Tarkastellaan seuraavaksi kuvioita 3A - 3E, joissa on kuvattu vaiheet, joiden läpi vaihtoyksikkö voi kulkea yleisessä muutostapauksessa. Järjestelmän 30 käytännön toiminnassa määrätty muutosyksikkö kulkee vain kuvattujen vaihei-den alijoukon läpi. Lisäksi käytännössä kuvatut vaiheet eivät ole tarkka joukko suoritettavista sarjaoperaatioista. Mieluumminkin yksi tai useampia vaiheista voidaan toistaa muuttamisen aikana. Esillä olevan keksinnön tämän näkökohdan tärkeä ominaisuus on, että muuttamisprosessin eri vaiheiden kontrolli on lä-35 pinäkyvä sekä järjestelmän käyttäjille että melkein läpinäkyvä itse sovellusoh- • · 4 15 106752 jelmiston ohjelmille. Kuvattuja vaiheita kontrolloi koordinaattori, joka toimii eri ohjauspisteissä, joita järjestelmässä on olemassa.
Kuvio 3A edustaa järjestelmää 21, joka sisältää siihen toteutetun muutosyksikön R 22. Tämä edustaa järjestelmän tilaa muutosprosessin alussa.
5 Tässä kohden järjestelmä ohjaa kaiken tavallisen liikenteen olemassa olevaan ohjelmistoversioon. Kuvio 3B edustaa tuon muutosyksikön 22 muuttamista uuden version R' 23 avulla, johon liittyy datanmuutosinformaatio 24. Kun kuvio 3A kuvaa tilannetta muutoksen alussa, kuvio 3B edustaa aloitus- tai latausvaihetta, jossa uusi ohjelmisto R' 23 ja joissakin tapauksissa datanmuutosinformaatioon 10 24 sisältyvä uusi datamalli, ladataan sen lisäksi yhdessä olemassa olevan muutosyksikön R 22 kanssa. Datanmuutosinformaatio 24 on määritelty ohjel-mistonkehitysjärjestelmässä sen vuoksi, että tunnetaan datan esitysmuodot sekä olemassa olevalle että uudelle versiolle.
Kuvio 3C esittää graafisesti muutosprosessin datanvaihtovaihetta. 15 Tavoitteena tällä vaiheella on siirtää sopivalla hetkellä mahdollisesti olemassa olevan puolipysyvän datan oleelliset osat, jotka sisältyvät yllä esitetyllä tavalla olemassa olevaan ohjelmisto-osaan ja joita se ohjaa, uuteen ohjelmisto-osaan, so. joka on korvaamassa olemassa olevaa, ei-hyväksyttävissä olevien häiriöiden välttämiseksi. Keksinnön tämän näkökohdan toteutus hallitaan suorittamalla 20 useita eri aktiviteetteja. Ensinnäkin, datanvaihtovaiheeseen keskittyvät aktiviteetit sisältävät: (a) datan muunnoksen olemassa olevasta uuteen esitysmuotoon siinä tapauksessa, että datan esitysmuoto korvaavassa uudessa ohjelmisto-osassa on muutettu olemassa olevassa ohjelmisto-osassa käytetystä datan ·: 25 esitysmuodosta: ja (b) datan siirtämisen olemassa olevasta ohjelmisto-osasta uuteen ohjelmisto-osaan.
Toiseksi aktiviteetti, joka ulottuu testausvaiheeseen ja päättymisvaiheeseen, eli vaiheisiin joissa sekä olemassa olevaa että uutta ohjelmistoa käy-30 tetään rinnakkaisesti, sisältää sen, että jokaista "alkuperäistä" puolipysyvän da-tan päivitystä kohden joko uudessa tai olemassa olevassa ohjelmisto-osassa tehdään myöhempi vastaavan puolipysyvän datan päivitys toisessa. Tämä tarkoittaa, että myöhempi päivitys tehdään olemassa olevaan ohjelmistoon, jos alkuperäinen päivitys tehtiin uuteen ohjelmistoon, ja päin vastoin. Tämä tarkoittaa, 35 että yleisessä tapauksessa sekä datan muuntaminen että siirto joka kerta puoli-pysyvä data päivitetään uuden tai olemassa olevan ohjelmiston toimesta. Da- ie 106752 tanmuunnos on riippuvainen datanvaihtoinformaatiosta, joka luodaan tukijärjestelmässä ohjelmiston kehityksen aikana ja ladataan kohdejärjestelmään aloitus-/latausvaiheen aikana, jota nimitetään "datanvaihtotiedoksi" kuviossa 3.
Datanmuunnoksen suhteen järjestelmän vaihtoehtoinen toteutus voi 5 vain muuntaa datan esitysmuodon uuden ohjelmiston käyttämään muotoon tar-velähtöiseltä pohjalta, ja sitten ennen olemassa olevan ohjelmiston poistamista järjestelmästä muuntaa kaiken jäljelle jäävän datan, jota järjestelmä ei vielä tuolla hetkellä tarvitse. Samalla tavoin kaikki data voitaisiin aluksi muuntaa uuden ohjelmiston käyttämään esitysmuotoon muistitilan säästämiseksi ja käyttää 10 sitten uudelleenmuunnosohjelmaa datan muuntamiseksi takaisin olemassa olevan ohjelmiston käyttämään muotoon tarvelähtöiseltä pohjalta, kunnes se poistetaan.
Muutosprosessin kolmas vaihe, joka on myös esitetty graafisesti kuviossa 3C, on testausvaihe. Tämä vaihe on tarkoitettu sallimaan uuden ohjel-15 mistoversion lataaminen järjestelmään ja sen toimiminen aluksi vain testidatalla ohjelmiston laatutason määrittämiseksi ennen sen käyttämistä elävän liikenteen kanssa. Tämä testausvaihe voidaan jakaa kahteen alivaiheeseen: (a) testaus testiliikenteellä, eli vain keinotekoisesti generoidut tapahtumat käyttävät uutta ohjelmistoversiota; ja 20 (b) testaaminen näyteliikenteellä, eli valittu prosentti todellisista uu sista tapahtumista jossain nollan ja sadan prosentin välillä kaikesta elävästä liikenteestä ohjataan ajettavaksi uudella ohjelmistoversiolla.
Tämän toisen alivaiheen päättymistä kohden suurin osa tai koko elävä liikenne toimii uuden ohjelmistoversion alaisuudessa.
• 25 Testillenne generoidaan joko erikoisohjelmiston avulla tai käyttä mällä erityisiä testitilaajia. Testiliikennettä valvotaan siten, että vaihdetun yksikön R' 23 käyttö on varmaa. Tämä tulos taataan merkitsemällä testiliikenne testili-pulla, joka ohjaa tuon liikenteen automaattisesti uudelle ohjelmistoversiolle kaikissa ohjauspisteissä, joissa tapahtuu valinta uuden ja olemassa olevan ole-30 massa olevan ohjelmistoversion välillä. Tavanomaista elävää liikennettä varten päätös siitä, käytetäänkö uutta vai olemassa olevaa ohjelmistoversiota, tehdään ensimmäisessä kohdatussa ohjauspisteessä, jossa tapahtuu valinta. Sen jälkeen tuo liikenne tai tapahtumat käsitellään vain valitulla ohjelmistoversiolla. Vaihto toiseen versioon myöhemmässä ohjauspisteessä estetään järjestelmäs-35 sä. Jos tämän vaiheen aikana testaus osoittaa, että ongelmia tai virheitä esiintyy 17 106752 uuden ohjeimistoversion käytön seurauksena, muutos perutaan ja kaikki uudet tapahtumat ohjataan olemassa olevalle ohjelmistoversiolle.
Tulisi huomata, että tietyissä toteutuksissa näyteliikenteen, jota käytetään uuden ohjeimistoversion kanssa testiliikenteen menestyksellisen käsitte-5 lyn jälkeen, määrä voidaan vähentää nollaan. Sellaisissa tapauksissa, sen jälkeen kun uusi ohjelmistoversio on koeteltu testiliikenteellä, kaikkien uusien tapahtumien täysi kuorma voidaan siirtää siihen, jotta se voisi korvata täysin olemassa olevan ohjelmiston, kun kaikki olemassa olevat tapahtumat on saatettu päätökseen.
10 Neljäs vaihe, joka on esitetty graafisesti kuviossa 3D, on päättymis vaihe. Tässä vaiheessa olemassa olevaa ohjelmistoversiota käyttäneet tapahtumat jatkavat olemassa olevan muutosyksikön R 22 käyttämistä, kunnes järjestelmässä ei ole enää olemassa olevaa muutosyksikköä 22 käyttäviä tapahtumia. Tämä luonnollisesti tapahtuu, koska uudet tapahtumat käyttävät uuttaa 15 ohjelmistoversiota. Tämän vaiheen aikana molemmat ohjelmistoversiot pysyvät järjestelmän muistissa ja uuden ohjeimistoversion katsotaan olevan edelleen testausvaiheessa.
Päättymisvaihe voi joko jatkua, kunnes kaikki olemassa olevaa ohjelmistoversiota käyttävä olemassa oleva liikenne on saatettu päätökseen, tai se 20 voidaan saattaa päätökseen määritellyssä ajassa. Jos päättymisvaiheen lopussa vielä on olemassa olevaa liikennettä, joka yhä käyttää olemassa olevaa ohjelmistoversiota, liikenne päätetään tai mahdollisesti siirretään uuteen ohjelmis-toversioon. Sen jälkeen olemassa olevan ohjeimistoversion omistamaa dataa ei enää päivitetä, olemassa oleva vaihtoyksikkö suljetaan ja päättymisvaihe pää-• 25 tetään. Tulisi huomata, että päättymisvaihetta edeltävä testausvaihe voi olla päätetty pitkän aikajakson avulla, jonka aikana kaikki uusi liikenne luokiteltiin näyteliikenteeksi ja kaikki olemassa oleva liikenne oli saatettu päätökseen. Tässä tapauksessa päättymisvaihe olisi hyvin lyhyt ja tarkoittaisi yksinkertaisesti, että puolipysyvää dataa ei enää päivitetä ja että olemassa oleva vaihtoyksikkö 30 suljetaan.
Päättymisvaiheen päättyminen tarkoittaa, että koko ohjelmistonmuu-tosprosessi on päättynyt. Tämä tila on esitetty graafisesti kuviossa 3D.
Olemassa olevaa vaihtoyksikköä R 22 ja sen vaihtoinformaatiota ei enää ylläpidetä ja tässä pisteessä ei enää ole mahdollista palata toimimaan 35 olemassa olevan ohjeimistoversion alaisuudessa. Jos tässä vaiheessa esiintyy ongelma uuden ohjeimistoversion kanssa, vaaditaan kokonaan uusi muutos.
18 106752
Ohjelmiston olemassa oleva versio voidaan nyt myös poistaa järjestelmästä. Kuvio 3D kuvaa graafisesti tätä tilaa.
Esillä olevan keksinnön mukaisen järjestelmän toinen näkökohta sisältää vastakohtana tasaiselle muuttamiselle välittömän muuttamisen menetel-5 män. Tämä menetelmä tarjoaa kyvyn suorittaa välittömän tai lyhytkestoisen siirtymisen olemassa olevasta ohjelmistoversiosta uuteen versioon kaiken liikenteen käsittelemiseksi. Tämän tyyppistä modifikaatiota käytetään silloin kun sovellus estää kahden eri ohjelmistoversion olemisen samanaikaisesti järjestelmässä. Välittömällä muutosmenetelmällä ohjelmiston tila vaihtohetkellä voidaan 10 tarvittaessa muuntaa ja muuttaa uudeksi versioksi. Tämä on mahdollista tässä järjestelmässä, koska sovellusohjelmistolla on kyky kopioida tilansa uuteen oh-jelmistoversioon. Esillä olevan keksinnön mukaisen järjestelmän tämän näkökohdan tärkeä ominaisuus on, että vaikka vaihdot ovat sisäisesti melko äkillisiä, muutokset ovat läpinäkyviä järjestelmän käyttäjille ja myös käsiteltävälle liiken-15 teelle. Liikenne voidaan uudelleenohjata uudelle ohjelmistoversiolle aiheuttamatta mitään havaittavaa käsittelyn keskeytystä. Toinen etu esillä olevan keksinnön tästä näkökohdasta on, että olemassa oleva ohjelmistoversio jää järjestelmään, vaikkakin passiiviseen moodiin. Sen vuoksi jos uuden ohjelmistoversion osoitetaan omaavan ongelmia tai olevan virheellinen, paluu olemassa ole-20 vaan ohjelmistoversioon on yhä mahdollinen ilman suurempaa tai pitempää käsittelyn keskeytymistä.
Tarkastellaan seuraavaksi kuviota 4, jossa on esitetty vuokaavio, joka kuvaa pehmeän muutoksen menetelmää siirryttäessä olemassa olevasta ohjelmistoversiosta uuteen ohjelmistoversioon. Erityisesti järjestelmä olettaa ennalta, • 25 että olemassa oleva ohjelmisto on aktiivisesti ajossa järjestelmässä ja se alkaa kohdassa 101 ohjelmiston uuden version latauksella muistiin. Kohdassa 102 järjestelmä kopioi datan muutoksineen uuteen versioon ja ketjuttaa sen uuteen ohjelmistoon. Kohdassa 103 järjestelmä alkaa ajamaan testitapahtumia uudella ohjelmistolla ja normaalin liikenteen ajaminen jatkuu järjestelmässä olemassa 30 olevalla ohjelmistolla ja olemassa olevalla datalla. Kohdassa 104 järjestelmä ky-syy "toimiiko uusi ohjelmisto testiliikenteellä ?". Jos niin ei ole, järjestelmä siirtyy kohtaan 105, jossa pisteessä uusi ohjelmisto ja data poistetaan järjestelmästä ja proseduuri päättyy kohdassa 106. Jos uusi ohjelmisto toimii testiliikenteellä kohdassa 104, järjestelmä siirtyy kohtaan 107, jossa pisteessä se ajaa näytteitä to-35 dellisesta liikenteestä uudella ohjelmistolla pitäen jäljelle jäävän osan normaalista liikenteestä olemassa olevalla ohjelmistolla ja olemassa olevalla datalla.
•« 19 106752
Uuden ohjelmiston läpi ajetun näyteliikenteen prosenttia voidaan vaihdella selektiivisesti nollan ja sadan prosentin välillä elävästä kokonaisliikenteestä. Seu-raavaksi kohdassa 108 järjestelmä jälleen kysyy, toimiiko ohjelmisto näytelii-kenteellä. Jos niin ei ole, järjestelmä 105 siirtyy kohtaan 105 ja uusi ohjelmisto ja 5 data poistetaan prosessin päättämiseksi. Jos kuitenkin uusi ohjelmisto käsittelee näyteliikenteen menestyksellisesti kohdassa 108, järjestelmä siirtyy ajamaan tulevat puhelut uudella ohjelmistolla ja datalla kohdassa 109. Sen jälkeen kohdassa 110 järjestelmä jälleen kysyy, toimiiko ohjelmisto, ja jos niin ei ole, se siirtyy kohtaan 105 uuden ohjelmiston poistamiseksi kohdassa 106. Jos uusi oh-10 jelmisto toimii ajettaessa normaalia liikennettä järjestelmässä kohdassa 110, järjestelmä kysyy, onko kaikki olemassa olevat tapahtumat jo saatettu päätökseen järjestelmässä kohdassa 111, ja jos niin ei ole, se kysyy onko vaihdolle asetettu aikaraja saavutettu kohdassa 113, ja jos niin ei ole, jatkaa: (1) kaikkien uusien tapahtumien ajamista uudella ohjelmistolla, ja (2) ajaa kaikki olemassa 15 olevat tapahtumat olemassa olevalla ohjelmistolla kohdassa 109, kunnes kohdassa 111 saadaan myöntävä vastaus, tai aikaraja on ylitetty kohdassa 113. Jos aikaraja on ylitetty kohdassa 113, järjestelmä päättyy tai se siirtää jäljellä olevat puhelut ja siirtyy kohtaan 112. Jos myöntävä vastaus vastaanotettiin kohdassa 111, järjestelmä siirtyy kohtaan 112 ja olemassa oleva ohjelmisto poistetaan 20 olemassa olevan datan kanssa, ja järjestelmä on tehnyt ajonaikaisesti vaihdon olemassa olevasta ohjelmistosta uuteen ohjelmistoon vaarantamatta tai viivästämättä tarpeettomasti teleliikennekeskuksen olemassa olevaa liikennettä.
Tarkastellaan seuraavaksi kuviota 5, jossa on esitetty taulukko 120, joka sisältää puhelutunnisteen (ID) luokan ja osoittimen (ID) luokan. Jokaista 25 järjestelmässä olevaa puheluosoitetta, joka puhelu on testipuhelu, kohden an netaan osoitin uuteen ohjelmistoon 121, kun taas kaikille puhelu-ID:lle, jotka sisältävät normaalin tunnisteen, annetaan osoitin olemassa olevaan ohjelmistoon 122. Kuvio 5 kuvaa graafisesti menetelmää, jonka avulla esillä olevan keksinnön mukainen järjestelmä kykenee ohjaamaan oikein sekä tavallisen elävän liiken-30 teen että testiliikenteen oikeaan ohjelmistoversioon.
*; Vaikka tämä on yleinen yksinkertainen tulkinta tavasta, jolla olemas sa olevaa ja uutta ohjelmistoa osoitetaan esillä olevan keksinnön mukaisen järjestelmän sisällä, itse asiassa yksityiskohtaisia ketjutettuja proseduurikutsume-kanismeja käytetään luomaan dynaaminen ajonaikainen sidos erikseen ladattu-35 jen ohjelmayksiköiden välillä. Tämä tarkoittaa, että ohjelmayksikköä korvattaessa olemassa oleva ja uusi versio ohjelmistosta ovat olemassa samanaikaisesti 20 106752 sen ajan kunnes uusi versio voidaan todentaa oikeaksi ja olemassa olevassa versiossa suoritettavat aktiviteetit voidaan päättää kuten yllä kuvattiin. Sopiva ketjutettu proseduurimekanismi kuvataan rinnakkaisesti vireillä olevassa US-patenttihakemuksessa otsikoltaan "Järjestelmä samanaikaisesti suoritettavien 5 ohjelmistomoduulien dynaamista ajonaikaista sitomista varten tietokonejärjestelmässä" ("System För Dynamic Run-Time Binding of Simultaneously Executing Software Modules in a Computer System"), K. Lundin et ai, joka on luovutettu Telefonaktiebolaget L M Ericssonille, ja joka sisällytetään tässä viitteeksi. Esillä olevan keksinnön mukainen järjestelmä käyttää vaihdetta keinona päästä 10 käsiksi ohjelmistoon rajapinnan läpi ketjutetulla proseduurikutsulla. Latausaikaan kaikki rajapinnat, jotka ovat ketjutetun proseduurikutsun saatavilla, julkaistaan vaihdefunktiolle ytimessä. Jokainen rajapinta julkaistaan sen tunnisteella ja osoitteella, joka viittaa menetelmään joka luo objektin rajapinnasta. Sidos ohjel-mistoversioiden välillä tehdään ajonaikaisesti ja joka kerta luotaessa objektia 15 määrätylle rajapinnalle pyyntö ohjataan välittäjälle tai luontimenetelmän osoitteeseen, jota sitten kutsutaan, ja se palauttaa objektiosoittimen luotuun objektiin.
Kuten kuviossa 6 on kuvattu, kukin luokan X objekti 131 kutsutaan taulukosta 132 objektidatasta 133 objektiosoittimen 134 avulla, joka puolestaan osoittaa objektin 131 sisällä olevaan operaatiotaulukkoon 135, jonka osoite si-20 sältää operaation määritelmät, jotka luokan objekti määrittelee. Useita osoitteita, jotka viittaavat operaatiotaulukoihin palvelimen ohjelmayksikössä, tallennetaan objektin dataan. Operaatiotaulukot puolestaan sisältävät osoitteet operaatioihin, jotka kuuluvat määrättyyn rajapintaan. Koska operaatiotaulukoiden osoitteiden paikka objektin datassa ja järjestys, jolla operaatiotaulukossa olevat osoitteet 25 tallennetaan, ovat kiinteät ja tunnetut, operaatioita voidaan kutsua ilman välittäjän apua. Yksi sellainen operaatio rajapinnassa, jota voidaan kutsua ilman välittäjää, on poistaa luotu objekti.
Näiden operaatiotaulukoiden käyttö tarjoaa kyvyn saavuttaa polymorfismi, käsite joka voidaan toteuttaa käyttäen esimerkiksi ohjelmointikieltä 30 C++ ja sen virtuaalitaulukoiden rakennetta. Polymorfismi, joka tarkoittaa "monia muotoja", on menetelmä jolla komponentin, jonka eri objektit jakavat, käyttäytymistä voidaan muuttaa. Toisin sanoen komponentti voi näyttää samalta kaikissa tapauksissa, mutta sillä voi olla kyky käyttäytyä hiukan eri tavalla eri objektien yhteydessä, joihin se liittyy. Polymorfismi on hyödyllinen sallien objektiperheiden 35 luonnin, jotka ovat sukua keskenään, so. niillä on yhteinen alkuperä tai kanta, 21 106752 mutta ne käyttäytyvät eri tavalla eri tilanteissa. Tämä sallii kunkin objektin perheessä omata menetelmiä tai funktioita, joilla on identtiset nimet, vaikka varsinainen koodi kunkin objektin menetelmille voi poiketa suuresti. Esillä olevan keksinnön mukainen järjestelmä käyttää polymorfismia, kuin myös muita objekti-5 suuntautuneen ohjelmoinnin periaatteita. Esillä olevan keksinnön mukainen järjestelmä kuitenkin toteuttaa ja laajentaa periaatteita uudella ja erittäin käyttökelpoisella tavalla, jotta saavutettaisiin dynaaminen, läpinäkyvä ohjelmiston eri versioiden yhteen ketjutus suorituksen aikana.
Tarkastellaan seuraavaksi kuviota 7, jossa on kuvattu seikka, että 10 ketjutetun proseduurikutsun mekanismi toteuttaa ytimeen 142 sisältyvän välittäjän 141 käsitteen, joka sallii rajapintariippuvuuden ohjelmayksiköiden 143 ja 144 parin välillä, jotka sisältävät vastaavasti asiakas-luokan (client-luokan) 145 ja objektien server-luokan (palvelin-luokan) 146. Kuvio 7 kuvaa yksityiskohtaisesti vaiheet, jotka vaaditaan objektien luomiseksi järjestelmään, kuten kuviossa 6 on 15 myös esitetty.
Objektit ovat kielirakenteita, jotka sisältävät dataa ja koodia tai funktioita yhden paketin tai yksikön sisällä. Koska ne kykenevät sisältämään sekä dataa että koodia, ne toimivat pienoiskokoisina itsenäisinä ohjelmina. Niitä voidaan sen vuoksi käyttää rakennuspalikoina luotaessa mutkikkaampia ohjelmia 20 tarvitsematta uudelleenkehittää noihin funktioihin tarvittavaa koodia. Koska niitä voidaan ylläpitää ja muokata itsenäisesti, ohjelman ylläpito ja versiointi yksinkertaistuu.
Luokka on malli, jota käytetään objektin määrittelemiseen, ja objekti on luokan instanssi. Luokka sisältää kaksi komponenttityyppiä, instanssimuuttu-: 25 jia tai datajäseniä ja menetelmiä tai jäsenfunktioita. Ohjelmoijien, jotka kehittävät ohjelmia tietokonejärjestelmän asiakas- tai ei-asiakas-solmuille, tukemiseksi asiakas-luokka generoidaan automaattisesti käyttämällä rajapintamäärittelyä, joka toimii eräänlaisena agenttina palvelin-luokalle. Järjestelmän asiakas-solmu kutsuu operaatioita asiakas-luokasta sen takaamiseksi, että kutsut siirretään 30 ohjelmistototeutukseen, joka sijaitsee palvelin-luokassa. Sen vuoksi kaikki koodi, joka liittyy dynaamiseen sitomisfunktioon, löytyy asiakas-luokasta.
Luokan esittelyt valvovat tapaa, jolla kääntäjä tallentaa osoitteet objektien dataan, ja tapaa missä järjestyksessä osoitteet operaatiotaulukoihin asetetaan. Jotkin luokan esittelyt generoidaan automaattisesti järjestelmän toi-35 mesta. Kun järjestelmässä luodaan objekti, sen "luo menetelmä" jäsenfunktio voidaan sijoittaa pyynnön kautta käyttöjärjestelmän välittäjäosaan 141, joka si- 22 106752 jaitsee ytimessä 142. Välittäjä 141 sisältää kaiken rajapintainformaation kaikille luokille, joihin ketjutetut proseduurikutsut voivat päästä käsiksi järjestelmässä, so. se sisältää kullekin objektille informaatiota siitä, millä muilla objekteilla on siihen pääsy tai mihin sillä on pääsy.
5 Kuvion 8 kaavio kuvaa tapaa, jolla ohjelmayksikön olemassa oleva ohjelmisto ja uusi ohjelmisto on ketjutettu yhteen ja sidottu ajonaikaisesti ketjutetulla proseduurikutsulla. Ytimessä 142 sijaitseva välittäjä 141 voi ohjata ohjel-mistoyksikön 151 suoritusta kohti joko olemassa olevaa ohjelmistoyksikköä 152 tai uutta ohjelmistoyksikköä 153. Korvausta tehtäessä sekä olemassa olevasta 10 että uudesta versiosta peräisin olevilla palvelin-luokilla on kummallakin välittäjässä 141 julkaistut rajapinnat. Välittäjä 141 sisältää kaksi osoitetta kutakin nimikettä kohden, yhden olemassa olevalleohjelmistoyksikölle 152 ja yhden uudelle ohjelmistoyksikölle 153. Ennen korvausta luodut tapahtumat vastaanottavat osoitteen, joka osoittaa olemassa olevaa ohjelmistoyksikköön 152 ja sen palve-15 lin-luokkiin, samalla kun muut tapahtumat voivat vastaanottaa osoitteet palvelin-luokan uusiin versioihin.
Sen jälkeen kun korvaus on saatettu päätökseen ja olemassa olevaa ohjelmistoyksikköä 152 käyttävät tapahtumat ovat päättyneet, olemassa oleva ohjelmistoyksikkö 152 voidaan poistaa muistista ja olemassa olevassa ohjel-20 mistoyksikössä 152 olevien palvelin-luokkien julkaisemat rajapinnat voidaan poistaa. Jos yritys poistaa nämä palvelin-luokat muistista tehdään ennen kuin kaikki tapahtumat olemassa olevassa ohjelmistoyksikössä ovat menneet päätökseen, järjestelmä generoi poikkeuskutsun ytimeen 142. Poikkeustilanteen käsittelytapahtuma järjestelmässä sallii sitten kesken oleville prosesseille tilai-25 suuden suunnata itsensä uudelleen ja käyttää uutta ohjelmistoyksikköä 153, tai muuten päättyä.
Käytettäessä ketjutetun proseduurikutsun mekanismia esillä olevassa keksinnössä rajapintamäärittely kirjoitetaan objektisuuntautuneen rajapinnan kuvauskielellä, jonka nimitys on ELIN, kuten kuvataan US-patenttihakemuksessa 30 K. Lundin, ja joka on luovutettu Telefonaktiebolaget L M Ericssonille, joka sisäl-.. lytetään tässä viitteeksi. Tässä kielessä on erikoisrakenne (luokka), joka on ni menomaisesti tarkoitettu ketjutetun proseduurikutsun rajapintojen määrittelyyn. ELIN-kielessä luokka on tiettyjen tyyppien objektien tarjoaman rajapinnan määrittely. Nämä objektit soveltuvat hyvin toteutettaviksi luokan instansseina, jos 23 106752 käytetään objektisuuntautunutta ohjelmointikieltä. Ketjutetun proseduurikutsun rajapinnan määrittely ELIN-kielessä sisältää seuraavan informaation: (a) määrittelyn nimi; (b) muut rajapinnat, joita käytetään pohjana tälle nimelle; 5 (c) yksi tai useampia rakentajia (käytetään instanssien luontiin); ja (d) nolla tai useampia menetelmämäärittelyjä, joista kukin muodostuu menetelmänimestä, argumenteista, palautustyypistä ja poikkeustilanteista.
Alla on esitettynä koodin avulla esimerkki rajapintamäärittelystä, jota voitaisiin käyttää osana tätä ketjuproseduurin kutsumekanismia ja joka kuvaa 10 rajapinnan pinotuille objekteille: CLASS Stack;
BASE
CLASS TelecomObject;
ACCEPTS
15 CONSTRUCTOR (IN size Int); METHOD push (IN data Int); METHOD pop () RETURNS Int; DESTRYCTOR (); END CLASS Stack; 20 c 1992 Telefonaktiebolaget L M Ericsson Tämä rajapintamäärittely määrittelee pinottujen objektien luokan, kantaluokan nimen ollessa "TelecomObject". Tämän luokan objektit voivat hyväksyä sanomakutsuja luetelluilta funktiojäseniltä. Kannan nimeäminen tälle *: 25 luokalle osoittaa, että on olemassa toinen tämän tyypin luokan määrittely, jota kutsutaan nimellä TelecomObject. Tuolla kantaluokalla on myös tiettyjä määriteltyjä menetelmiä, jotka nykyinen luokka kantaluokan instanssina tulee perimään. Yllä olevassa luokkamäärittelyssä määritellyt funktiojäsenet tai menetelmät tulevat kantaluokassa määriteltyjen lisäksi. Yhteenvetona yllä oleva koodi 30 sisältää luokkamäärittelyn, joka on yksi rajapintamäärittelyn tyyppi, joka voidaan luoda järjestelmässä.
Rajapinta voidaan saada toisesta rajapinnasta, jota kutsutaan silloin saadun rajapinnan kantarajapinnaksi. Rajapintoja voidaan saada useammasta kuin yhdestä muusta rajapinnasta, saadun rajapinnan periessä kunkin rajapin-35 tansa operaatioista. Saatu rajapinta voi lisäksi esitellä omia lisäoperaatioitaan, vaikka se ei voi määritellä operaatioita, joilla on sama nimi kuin niillä, jotka on * · 24 106752 peritty kantarajapinnoista. Tulisi tehdä selväksi, että periminen vaikuttaa vain luokan rajapintatasoon, ei toteutustasoon.
Kuten kuviossa 9 on esitetty, esillä olevan keksinnön mukainen järjestelmä sisältää myös tynkäkoodin generointityökalun 162, jota käytetään serti-5 fioimaan koordinaatio asiakasohjelman ja palvelinohjelman välillä, jotka yhdistetään toisiinsa dynaamisesti ajonaikaisesti rajapinnan läpi. Rajapinta määritellään kieliriippumattomalla tavalla, mutta käyttäen objektisuuntautunutta paradigmaa. Tynkäkoodin generointiprosessi takaa, että saavutetaan vastaavuus yhteen useista ohjelmointikielistä, ja seuraavissa kappaleissa on lyhyt kuvaus 10 siitä kuinka sellainen vastaavuus C++:ssa voidaan suorittaa. Tarkastellaan kuviota 9, jossa on kuvattu tapa jolla rajapintamäärittely 161 käyttää tynkägene-rointityökalua 162 generoitujen tiedostojen 164 joukon yhteydessä esillä olevan keksinnön mukaisessa järjestelmässä. Kuvio 9 kuvaa erityisesti C++-vastaa-vuuden yleisen rakenteen tuolla kielellä toteutettuna. Rajapintamäärittely, joka 15 on kirjoitettu objektisuuntautuneen rajapinnan määrittelykielellä ELIN siten kuin esillä olevan keksinnön mukaisessa järjestelmässä käytetään, on samanlainen kuin luokkamäärittely, jota käytetään ohjelmointikielessä C++. Samalla tavoin mekanismi operaatioiden käsittelemiseksi ohjektien kautta on samanlainen kuin tapa, jolla ohjelmointikieli C++ käsittelee virtuaalifunktioita. Sen vuoksi vastaa-20 vuus C++:lla, joka on kuvattu kuviossa 9, on käskevä esillä olevan keksinnön mukaisen järjestelmän tämän näkökohdan operaation suhteen.
Tynkägenerointityökalu 162 generoi kaksi tiedostoa sekä asiakas-puolelle että palvelinpuolelle, yhden loppuliitteellä ".h" (otsikko) ja yhden loppu-liitteellä ".cc" (koodi). Asiakasohjelman tapauksessa ".h", tai otsikkotiedosto, si-25 sältää kaksi luokkamäärittelyä. Yksi luokka on tarkka kopio vastaavasta luokasta palvelinohjelman vastaavassa luokassa palvelinohjelman ",h":ssa, tai otsikkotie-dostossa. Tämä takaa yhteensopivuuden asiakasohjelman ja palvelinohjelman välillä ja tekee mahdolliseksi asiakasohjelman kutsua palvelinohjelman luomia objekteja. Tämä luokan rakentaja on yksityinen, kuitenkin siten, että luokkaa ei 30 voida käyttää automaattisten objektien luomisen pinoon. Toinen luokka on se, jota tulee käyttää asiakasohjelmassa, joka toimii agenttina jonka kautta palvelinohjelman luomiin objekteihin voidaan päästä käsiksi.
Tynkägenerointityökalu 162 generoi palvelimen puolelle samat kaksi ".h" (otsikko) ja ".cc" (koodi) -tiedostoa. ",h"-tiedoston sisältö muodostuu yhdestä 35 luokkamäärittelystä, joka takaa yhteensopivuuden clientin kanssa. Tämä on luokka, jota käytetään toteutuksen kantana. Toteutus voi perustua suoraan ge- 25 106752 neroituun luokkaan tai generoitua luokkaa voidaan käyttää kantana, josta muut luokat voidaan saada. ".cc"-tiedosto sisältää luurangon objektille "luomene-telmä", ja koodin joka suorittaa luomenetelmä:n osoitteen julkituonnin. Luome-netelmä:n runko on vastuussa objektin luonnista, joka on yhteensopiva generoi-5 dun luokan kanssa ja joka palauttaa osoittimen äskettäin luotuun osoittimeen, kuten myös kuviossa 6 on kuvattu.
On olemassa useita syitä poikkeavien, mutta kuitenkin yhteensopivien, luokkamäärittelyjen generoimiseksi asiakasohjelman ja palvelinohjelman puolelle, mieluummin kuin yhden jaetun luokkamäärittelyn generoimiseksi. En-10 siksi se tarjoaa eri näkyvyystasoja asiakasohjelmassa ja palvelinohjelmassa oleville jäsenille. Esimerkiksi rakentajan täytyy olla julkinen palvelinohjelmassa, mutta sen ei välttämättä tarvitse olla julkinen jos se sijaitsee asiakasohjelmassa. Toiseksi asiakas- ja palvelinohjelmat voidaan ketjuttaa yhteen testitarkoituksia varten kohtaamatta nimien yhteentörmäyksen ongelmaa, jos käytetään eri luok-15 kia. Tarkastellaan seuraavaksi kuviota 10, jossa on esitetty tietty kaaviojärjeste-ly, joka kuvaa tiettyjä esimerkinomaisia koodilohkoja ja niiden suhdetta toisiinsa sellaisina, kuin niitä käytetään esillä olevan keksinnön mukaisessa järjestelmässä. Korkeimmalla tasolla Yhteisen Rajapinnan Määrittely 171 määrittelee luokan "X" ja menetelmät, joille luokka hyväksyy kutsuja. Loogisesti tälle luokalle alis-20 tettuna määrittelyn seuraavalla tasolla on määrittely Rajapintamäärittelyn 171 käyttäjäyksikölle 172 ja määrittely Yhteisen Rajapinnan Määrittelyn 171 tarjoa-jayksikölle 173. Käyttäjäyksikön määrittely 172 määrittelee yhteisen rajapinnan asiakkaan, luokan X. Tarjoajayksikön määrittely 173 määrittelee luokan X palvelimen.
25 Seuraavalla loogisella tasolla yksikkömäärittelyjen 172 ja 173 ala puolella ovat generoidut luokkamäärittelyt vastaavasti käyttäjille ja tarjoajille. Generoitu luokkamäärittely XUsenlle 174 kuvaa tiettyjä käyttäjä luokkia, jotka on määritelty sekä julkiseen että yksityiseen käyttöön. Generoitu luokkamäärittely XProviderlle 175 kuvaa tiettyjä julkisia ja yksityisiä määrittelyjä tarjoajan datalle 30 ja funktioille.
Tarkastellaan lopuksi kuviota 11, jossa on esitetty havainnollistava kaavio siitä, kuinka protokollamäärittelyä käytetään tynkäkoodin generointiin, mikä takaa täydellisen koordinoinnin kahden kommunikoivan osapuolen välillä sanomia käyttäen. Tynkäkoodin rakenne on kuvattu kuviossa 11 ja se sisältää 35 Käyttäjän-kirjoittaman koodin 181, Generoidun koodin 182 ja Ytimen koodin 183. Hajautetuissa ja modulaarisissa tietokonejärjestelmissä, joista teleliikenne- 26 106752 järjestelmä on esimerkki, monia sovellustason protokollia käytetään liikennöinnin helpottamiseen järjestelmän osissa ja niiden välillä.
Protokollia voidaan pitää kokoelmana sopimuksia järjestelmässä olevien osapuoliparien välillä, jotka päätyvät kommunikoimaan tietyllä tavalla ja tie-5 tyssä muodossa. Joitakin protokollia voidaan kuvata asiakas-palvelin-proto-kolliksi, joissa vain yksi osapuoli on aloittajana. Muut protokollat, joita kutsutaan vertaisprotokolliksi, sallivat kummankin osapuolen aloittaa liikennöinnin. Esillä olevan keksinnön mukaisessa järjestelmässä, toisin kuin muissa olemassa olevissa järjestelmissä, koko sopimus tai protokolla osapuolten välillä määritellään 10 yhdessä rajapintamäärittelyssä, joka on osapuolten nimenomaisista toteutuksista poikkeava. Tämä merkitsee sen vuoksi, että tämä yksittäinen määrittely voi palvella yleisenä sopimuksena, jota voidaan uudelleenkäyttää järjestelmässä olevan osapuoliparin välisiin sopimuksiin.
Esillä olevan keksinnön mukainen järjestelmä toteuttaa yksittäisen 15 rajapinta-/protokollamäärittelyn erikoisella objektisuuntautuneen rajapinnan kuvauskielellä ELIN. Vertaistyypin (peer protocol) protokollien määrittely esimerkiksi sisältää seuraavat komponentit: (1) operaatioiden formaali ryhmittely protokolliksi, kunkin protokollan omatessa kaksi osapuolta; ja (2) vuorovaikutuksen rajoitusten määrittely. Vertaisprotokollan määrittely on olemassa erillään toteu-20 tuksista, jotka käyttävät protokollaa viestintänsä suorittamiseen. Vertaisprotokollan määrittely on järjestetty seuraavan esitysmuodon mukaiseksi: (1) Protokollan nimi; (2) ensimmäisen osapuolen nimi ja sen hyväksyttyjen operaatioiden luettelo; (3) toisen osapuolen nimi ja sen hyväksyttyjen operaatioiden luettelo; (4) Vuorovaikutusrajoitukset (valinnainen).
: 25 Alla on esitetty koodilla esimerkki protokollamäärittelystä, jolla on vuorovaikutusrajoituksia. Sellaiseen protokollamäärittelyyn sisällytettyä informaatiota voidaan käyttää tynkäkoodin generointiin: PROTOCOL Communication Service; 30 PARTY DataProducer;
ACCEPTS
StartTransmission,
TerminateTransmission, ResendData END PARTY DataProducer 35 PARTY DataConsumer
ACCEPTS
106752 27
StringData, IntegerData,
NoMoreDataToSend END PARTY DataConsumer;
INTERACTION
5 STATE START
WHEN StartTransmission THEN Started; STATE Started WHEN TerminateTransmission THEN START; WHEN IntegerData THEN Dataphase; 10 WHEN StringData THEN Dataphase; STATE Dataphase WHEN IntegerData THEN Dataphase; WHEN StringData THEN Dataphase; WHEN ResendData THEN Dataphase;
15 WHEN NoMoreDataToSend THEN
Dataphase Ended; STATE DataphaseEnded WHEN ResendData THEN ResendOrdered; WHEN TerminateTransmission THEN START; 20 STATE ResendOrdered WHEN StringData THEN DataphaseEnded; WHEN IntegerData THEN DataphaseEnded; END PROTOCOL CommunicationService; ·.: 25 c 1992 Telefonaktiebolaget L M Ericsson Järjestelmässä kommunikoivan osapuolen looginen rakenne on myös kuvattu kuviossa 11. Kuten kuviossa 11 on esitetty, ELIN-kieltä käytetään kommunikaation kuvaamiseen kaikkialle järjestelmään hajautettujen objektien 30 välillä, kuin myös datatyyppien kuvaamiseen, joita käytetään järjestelmässä. Esillä olevan keksinnön tässä näkökohdassa käytetyt ja määritellyt protokollat sallivat laitteiden toimia samanarvoisina, kumman tahansa osapuolen aloittaessa kommunikoinnin. Osapuolia ei ole määritelty ennalta isännäksi tai orjaksi kommunikointitarkoituksia varten. Esillä olevan keksinnön mukaisen järjestel-35 män tämä näkökohta sallii järjestelmät, jotka kehitetään ja joita käytetään erillisissä ja etäällä toisistaan olevissa paikoissa helppoa yhteistoimintaa varten, niin « I t 28 106752 kauan kuin kukin kehitetään käyttäen yhtä määriteltyä rajapintaa. Esillä olevan keksinnön mukaisen järjestelmän tämän näkökohdan mukaiset protokollamää-rittelyt ovat erillisiä ja poikkeavat mistä tahansa järjestelmässä olevasta sovel-lustoteutuksesta.
5 Kuten kuviossa 11 on edelleen kuvattu, käyttäjän kirjoittama koodi 181 toimii yhtenä osapuolena liikennöintiprotokollassa, joka voi sekä lähettää että vastaanottaa protokollamäärittelyn mukaisia sanomia. Datan vastaanottavat proseduurit 184, 185 ja 186 käsittelevät tulevia sanomia, jotka saapuvat protokollaan. Dataa lähettävät proseduurit 187, 188 ja 189 sisältävät tynkägeneroin-10 tityökalun automaattisesti generoiman koodin sanomien luomiseksi ja lähettämiseksi järjestelmään protokollamäärittelyn mukaisesti, kun käyttäjä kutsuu niitä. Toimenpiteet, joissa vastaanotetaan sanomia 190 ja lähetetään sanomia 191, ohjataan kaikki rajapinta-agentin 192 läpi, joka on osa generoitua koodia 182. Tämä rajapintamäärittely 192 on pakollinen osa generoitua koodia, ja sen tulee 15 olla mukana jotta rajapinta ja protokolla toimisivat kunnolla.
Lähettäjä 193 on funktio, jonka tynkägenerointityökalu generoi ja jota kutsutaan kutakin tulevaa sanomaa kohden, joka on määritelty protokollamää-rittelyssä. Vastaanottaja 193 vastaanottaa sanoman, dekoodaa sanoman, erottaa sanomatunnisteen sanoman rungosta ja jakelee sitten sen kohdassa 194 20 osoitetulla tavalla proseduurille, joka tulee kirjoittaa tässä toteutuksessa.
Protokollapoliisi 195, generoidun koodin 182 valinnainen osuus, valvoo liikennettä ja määrittää, mukautuvatko kyseiset kaksi kommunikoivaa osapuolta jokaisella määrätyllä hetkellä rajapinnan sääntöihin lähettäessään ja vastaanottaessaan sanomia. Protokollapoliisi 195 toimii tila-automaattina valvoja 25 essaan protokollasääntöjen noudattamista. Tila-automaatin logiikka on ilmaistu yllä annetussa esimerkkikoodissa.
Ytimen koodissa 183, kuten kuviossa 11 on esitetty, sijaitsee kom-munikointiportti 196. Esillä olevan keksinnön mukaisen järjestelmän osoitusme-kanismit pitävät tätä kommunikointiporttia 196 passiivisena tukijana. Kommuni-30 kointiportti 196 on tietämätön protokollasta, joka sen läpi kulkee, mutta se hel-, pottaa kommunikointia. Kommunikointituki 197 on yleinen kommunikointituki, jo ka sijaitsee käyttöjärjestelmässä. Se voi toimia samassa prosessorissa sijaitsevien prosessien välillä ja eri prosessoreissa sijaitsevien prosessien välillä. Jos se toimii prosessorien välille hajautetuissa objekteissa, kommunikointituki 197 35 muodostaisi laitteistopohjaisen kommunikointiyhteyden. Kuvioon 11 sisältyvän * 29 106752 koko kuvauksen peilikuva edustaisi vastaavia aktiviteetteja, jotka tapahtuvat järjestelmässä olevan toisen kommunikoivan osapuolen tuessa ja käytössä.
Kuten yllä on kuvattu, esillä olevan keksinnön mukainen järjestelmä sallii uuden ohjelmiston ajonaikaisen sisällyttämisen tai ketjuttamisen olemassa 5 olevaan ohjelmistoon tavalla, joka sallii sekä ohjelmiston tehokkaan testauksen reaaliajassa kuin myös sen korvaamisen tasaisesti ja läpinäkyvästi teleliikenne-verkossa ja vaihdejärjestelmässä häiritsemättä verkon teleliikennettä.
Näin ollen uskotaan, että esillä olevan keksinnön toiminta ja rakenne selviää edellä olevasta selityksestä. Vaikka esitetty ja selitetty menetelmä, laite 10 ja järjestelmä on kuvattu edulliseksi, on ilmeistä että siihen voidaan tehdä erilaisia muutoksia ja muunnelmia poikkeamatta seuraavissa patenttivaatimuksissa määritellyn keksinnön hengestä ja piiristä.
• · • „ • ·

Claims (69)

1. Menetelmä tietokonelaitteen datankäsittelykontrollin siirtämiseksi olemassa olevalta ohjelmistolta uudelle ohjelmistolle, joka menetelmä käsittää 5 vaiheet, joissa asennetaan uusi ohjelmisto tietokonelaitteeseen, käytetään uutta ohjelmistoa testidatan käsittelytapahtumien käsittelemiseksi, ja otetaan uusi ohjelmisto käyttöön tietokonelaitteessa, kun testidatan käsittelytapahtumat on käsitelty menestyksellisesti, tunnettu siitä, että siirretään automaattisesti datankäsittelykontrolli olemassa olevalta 10 ohjelmistolta uudelle ohjelmistolle katkaisematta huomattavasti olemassa olevan ohjelmiston olemassa olevan datan käsittelyä sallien molempien ohjel-mistoversioiden samanaikainen antodatan tuottaminen, käytetään uutta ohjelmistoa testidatan käsittelytapahtumien käsittelemiseksi olemassa olevan ohjelmiston (103) käsitellessä samanaikaisesti 15 sekä uusia että olemassa olevia datan käsittelytapahtumia, siirretään automaattisesti kaikkien uusien datan käsittelytapahtumien datankäsittelykontrolli uudelle ohjelmistolle (109) sen käsiteltyä menestyksellisesti mainittuja testidatan käsittelytapahtumia (104) jatkaen olemassa olevan ohjelmiston käyttämistä olemassa olevien datan käsittelytapahtumien kä-20 sittelemiseksi ja antodatan tuottamista samanaikaisesti sekä olemassa olevalla että uudella ohjelmistolla, ja siirretään automaattisesti koko datankäsittelykontrolli uudelle ohjelmistolle (112) sen käsiteltyä menestyksellisesti mainittuja uusia datankäsitte-lytapahtumia (110). : 25
2. Patenttivaatimuksen 1 mukainen menetelmä, tunnettu siitä, että mainittu vaihe koko datankäsittelykontrollin siirtämiseksi automaattisesti uudelle ohjelmistolle sen käsiteltyä menestyksellisesti mainittuja uusia datankäsit-telytapahtumia sisältää seuraavan vaiheen: siirretään automaattisesti koko datankäsittelykontrolli uudelle ohjel-30 mistolle uuden ohjelmiston käsiteltyä menestyksellisesti kaikki uudet datankä-sittelytapahtumat, ja olemassa olevan ohjelmiston saatettua päätökseen olemassa olevien datankäsittelytapahtumien käsittelyn.
3. Patenttivaatimuksen 1 mukainen menetelmä, tunnettu siitä, että sekä olemassa olevat datankäsittelytapahtumat että uudet datankäsittelyta-35 pahtumat sisältävät dynaamista dataa, joka luodaan ja jota käytetään kunkin tapahtuman käsittelyn aikana, ja joka tuhotaan kun käsittely on päättynyt, ja puoli- » « 31 106752 joka säilyy useiden tapahtumien ajan, mainitun menetelmän sisältäessä seuraa-van lisävaiheen: siirretään data olemassa olevalta ohjelmistolta uudelle ohjelmistolle.
4. Patenttivaatimuksen 3 mukainen menetelmä, t u n n e 11 u siitä, 5 että vain puolipysyvää dataa siirretään olemassa olevalta ohjelmistolta uudelle ohjelmistolle.
5. Patenttivaatimuksen 3 mukainen menetelmä, tunnettu siitä, että datan esitysmuoto uudessa ohjelmistossa on erilainen kuin datan esitys- 10 muoto olemassa olevassa ohjelmistossa, ja että mainittu vaihe datan siirtämiseksi olemassa olevalta ohjelmistolta uudelle ohjelmistolle sisältää seuraavan vaiheen: mainittu data muunnetaan mainitusta olemassa olevasta esitysmuodosta mainittuun uuteen esitysmuotoon.
6. Patenttivaatimuksen 5 mukainen menetelmä, tunnettu siitä, että mainittu vaihe mainitun datan muuntamiseksi mainitusta olemassa olevasta esitysmuodosta mainittuun uuteen esitysmuotoon suoritetaan mainitun uuden ohjelmiston tarpeeseen perustuen.
7. Patenttivaatimuksen 5 mukainen menetelmä, tunnettu siitä, 20 että mainittu vaihe mainitun datan muuntamiseksi mainitusta olemassa olevasta esitysmuodosta mainittuun uuteen esitysmuotoon sisältää kaiken mainitun datan muuntamisen mainittuun uuteen esitysmuotoon yhdellä kertaa seuraavan lisävaiheen kanssa: 25 muunnetaan mainittu data uudelleen mainitusta uudesta esitysmuo dosta mainittuun olemassa olevaan esitysmuotoon mainitun olemassa olevan ohjelmiston tarpeeseen perustuen.
8. Patenttivaatimuksen 3 mukainen menetelmä, tunnettu siitä, että se sisältää mainitun vaiheen, jossa data siirretään olemassa olevalta ohjel- 30 mistolta uudelle ohjelmistolle, jälkeen seuraavan lisävaiheen: päivitetään puolipysyvä data toisessa ohjelmistossa joko olemassa olevan ohjelmiston tai uuden ohjelmiston sisällä olevan puolipysyvän datan kunkin alkuperäisen päivityksen seurauksena.
9. Patenttivaatimuksen 5 mukainen menetelmä, tunnettu siitä, 35 että se sisältää mainitun vaiheen, jossa mainittu data muunnetaan olemassa olevasta esitysmuodosta uuteen esitysmuotoon, jälkeen seuraavan lisävaiheen: « 32 106752 päivitetään puolipysyvä data toisessa ohjelmistossa joko olemassa olevan ohjelmiston tai uuden ohjelmiston sisällä olevan puolipysyvän datan kunkin alkuperäisen päivityksen seurauksena.
10. Patenttivaatimuksen 1 mukainen menetelmä, tunnettu siitä, 5 että mainittu vaihe koko datankäsittelykontrollin siirtämiseksi automaattisesti uudelle ohjelmistolle sen käsiteltyä menestyksellisesti mainitut uudet datankäsitte-lytapahtumat sisältävät seuraavan vaiheen: koko datankäsittelykontrolli siirretään automaattisesti uudelle ohjelmistolle ennalta valitun aikajakson kuluttua loppuun sen jälkeen, kun on aloitettu 10 mainittu vaihe, jossa kaiken uuden datan käsittelykontrolli siirretään automaattisesti uudelle ohjelmistolle.
11. Patenttivaatimuksen 10 mukainen menetelmä, tunnettu siitä, että mainitun ennalta valitun aikajakson kuluttua loppuun kaikki olemassa olevaa ohjelmistoa käyttäen vielä käsiteltävät tapahtumat pakotetaan päättymään.
12. Patenttivaatimuksen 10 mukainen menetelmä, tunnettu siitä, että mainitun ennalta valitun aikajakson kuluttua loppuun kaikki olemassa olevaa ohjelmistoa käyttäen vielä käsiteltävät tapahtumat siirretään uudelle ohjelmistolle käsittelyn saattamiseksi päätökseen.
13. Patenttivaatimuksen 10 mukainen menetelmä, tunnettu siitä, 20 että mainitun ennalta valitun aikajakson kuluttua loppuun kaikki tapahtumat, jotka voivat selvitä aiheutuvasta häiriöstä, yritetään siirtää uudelle ohjelmistolle käsiteltäväksi, ja kaikki muut tapahtumat päätetään.
14. Patenttivaatimuksen 1 mukainen menetelmä, jossa tietokonelaite muodostaa osan tietoliikennevaihdejärjestelmästä, olemassa oleva ja uusi oh- ·’” 25 jelmisto ovat puhelunkäsittelyohjelmistoja ja datankäsittelytapahtumat ovat pu heluita, mainitun menetelmän ollessa tunnettu siitä, että se sisältää seuraavan vaiheen: reititetään järjestelmän vastaanottamat kaikki uudet puhelut olemassa olevalle ohjelmistolle uuden ohjelmiston ollessa kykenemätön käsittelemään 30 mainittuja testipuheluita menestyksellisesti.
. 15. Patenttivaatimuksen 14 mukainen menetelmä, t u n n e tt u siitä, että se sisältää myös seuraavan vaiheen: poistetaan olemassa oleva ohjelmisto järjestelmästä uuden ohjelmiston käsiteltyä menestyksellisesti uusia puheluita ja olemassa olevan ohjel-35 miston käsittelemien kaikkien puheluiden päätyttyä. 33 106752
16. Patenttivaatimuksen 14 mukainen menetelmä, jossa sekä olemassa oleviin puheluihin että uusiin puheluihin liittyy dynaamista dataa, joka luodaan ja jota käytetään kunkin tapahtuman käsittelyn aikana, ja joka tuhotaan, kun käsittely on päättynyt, ja puolipysyvää dataa, jota käytetään ja joka säilyy 5 useiden tapahtumien käsittelyn ajan, mainitun menetelmän ollessa tunnettu siitä, että se sisältää seuraavan lisävaiheen: siirretään data olemassa olevalta ohjelmistolta uudelle ohjelmistolle.
17. Patenttivaatimuksen 16 mukainen menetelmä, tunnettu siitä, että vain puolipysyvä data siirretään olemassa olevalta ohjelmistolta uudelle 10 ohjelmistolle.
18. Patenttivaatimuksen 16 mukainen menetelmä, tunnettu siitä, että datan esitysmuoto uudessa ohjelmistossa on erilainen kuin datan esitysmuoto olemassa olevassa ohjelmistossa, ja että mainittu vaihe, jossa data siirretään olemassa olevalta ohjelmistolta uudelle ohjelmistolle sisältää seuraa- 15 van vaiheen: muunnetaan mainittu data mainitusta olemassa olevasta esitysmuodosta mainittuun uuteen esitysmuotoon.
19. Patenttivaatimuksen 17 mukainen menetelmä, tunnettu siitä, että mainittu vaihe mainitun datan muuntamiseksi mainitusta olemassa olevasta 20 esitysmuodosta mainittuun uuteen esitysmuotoon suoritetaan mainitun uuden ohjelmiston tarpeeseen perustuen.
20. Patenttivaatimuksen 18 mukainen menetelmä, tunnettu siitä, että mainittu vaihe mainitun datan muuntamiseksi mainitusta olemassa olevasta esitysmuodosta mainittuun uuteen esitysmuotoon sisältää kaiken mainitun 25 datan muuntamisen mainittuun uuteen esitysmuotoon yhdellä kerralla yhdessä seuraavan lisävaiheen kanssa: muunnetaan mainittu data mainitusta uudesta esitysmuodosta mainittuun olemassa olevaan esitysmuotoon mainitun olemassa olevan ohjelmiston tarpeeseen perustuen.
21. Patenttivaatimuksen 16 mukainen menetelmä, tunnettu siitä, , että se sisältää mainitun vaiheen, jossa data siirretään olemassa olevalta ohjel mistolta uudelle ohjelmistolle, jälkeen seuraavan lisävaiheen: päivitetään puolipysyvä data toisessa ohjelmistossa joko olemassa olevan ohjelmiston tai uuden ohjelmiston sisällä olevan puolipysyvän datan kun- 35 kin alkuperäisen päivityksen seurauksena. 34 106752
22. Patenttivaatimuksen 18 mukainen menetelmä, tunnettu siitä, että se sisältää mainitun vaiheen, jossa mainittu data muunnetaan olemassa olevasta esitysmuodosta uuteen esitysmuotoon, jälkeen seuraavan lisävaiheen: päivitetään puolipysyvä data toisessa ohjelmistossa joko olemassa 5 olevan ohjelmiston tai uuden ohjelmiston sisällä olevan puolipysyvän datan kunkin alkuperäisen päivityksen seurauksena.
23. Patenttivaatimuksen 14 mukainen menetelmä, tunnettu siitä, että mainittu vaihe koko puhelunkäsittelyn ohjauksen siirtämiseksi sisältää seuraavan lisävaiheen: 10 siirretään koko puhelunkäsittelyn ohjaus uudelle ohjelmistolle ennalta valitun aikajakson kuluttua loppuun sen jälkeen, kun on aloitettu mainittu vaihe jossa kaikki uudet puhelut käsitellään mainitulla uudella ohjelmistolla.
24. Patenttivaatimuksen 23 mukainen menetelmä, tunnettu siitä, että mainitun ennalta valitun aikajakson kuluttua loppuun kaikki vielä olemassa 15 olevaa ohjelmistoa käyttäen käsiteltävät puhelut pakotetaan päättymään.
25. Patenttivaatimuksen 23 mukainen menetelmä, tunnettu siitä, että mainitun ennalta valitun aikajakson kuluttua loppuun kaikki vielä olemassa olevalla ohjelmistolla käsiteltävät puhelut siirretään uudelle ohjelmistolle käsittelyn saattamiseksi päätökseen.
26. Patenttivaatimuksen 23 mukainen menetelmä, tunnettu siitä, että mainitun ennalta valitun aikajakson kuluttua loppuun kaikki puhelut, jotka kykenevät selviämään aiheutuvasta häiriöstä, yritetään siirtää uudelle ohjelmistolle, ja kaikki muut päätetään.
27. Patenttivaatimuksen 14 mukainen menetelmä, tunnettu 25 siitä, että mainittu ohjelmisto käsittelee testipuheluita mainitun käyttövaiheen aikana ja käsittää uusien testipuheluiden muodostaman joukon reitittämisen mainittujen testipuheluiden lisäksi uudelle ohjelmistolle puheluiden käsittelemiseksi uudella ohjelmistolla uuden ohjelmiston käsiteltyä mainitut testipuhelut menestyksellisesti.
28. Patenttivaatimuksen 27 mukainen menetelmä, jossa sekä ole massa oleviin että uusiin puheluihin liittyy dynaamista dataa, joka luodaan ja käytetään jokaisen puhelun käsittelyn aikana ja tuhotaan käsittelyn päättyessä ja puolipysyvää dataa, jota käytetään ja joka säilyy useiden tapahtumien käsittelyn ajan, mainitun menetelmän ollessa tunnettu siitä, että se käsittää 35 seuraavan lisävaiheen: 35 106752 siirretään dataa olemassa olevalta ohjelmistolta uudelle ohjelmistolle.
29. Patenttivaatimuksen 28 mukainen menetelmä, tunnettu siitä, että vain puolipysyvää dataa siirretään olemassa olevalta ohjelmistolta 5 uudelle ohjelmistolle.
30. Patenttivaatimuksen 28 mukainen menetelmä, tunnettu siitä, että datan esitysmuoto uudessa ohjelmistossa on erilainen kuin datan esitysmuoto olemassa olevassa ohjelmistossa ja jossa mainittu vaihe datan siirtämiseksi olemassa olevalta ohjelmistolta uudelle ohjelmistolle käsittää vai- 10 heen, jossa muunnetaan mainittu data mainitusta olemassa olevasta esitystavasta mainittuun uuteenesitystapaan.
30 106752 Paten tti vaati m u kset:
31. Patenttivaatimuksen 30 mukainen menetelmä, tunnettu siitä, että mainittu vaihe mainitun datan muuntamiseksi mainitusta olemassa 15 olevasta esitysmuodosta mainittuun uuteen esitysmuotoon suoritetaan mainitun uuden ohjelmiston tarpeeseen perustuen
32. Patenttivaatimuksen 30 mukainen menetelmä, tunnettu siitä, että mainittu vaihe mainitun datan muuntamiseksi mainitusta olemassa olevasta esitysmuodosta mainittuun uuteen esitysmuotoon sisältää kaiken mainitun 20 datan muuntamisen mainittuun uuteen esitysmuotoon yhdellä kerralla yhdessä seuraavan lisävaiheen kanssa: muunnetaan mainittu data mainitusta uudesta esitysmuodosta mainittuun olemassa olevaan esitysmuotoon mainitun olemassa olevan ohjelmiston tarpeeseen perustuen.
33. Patenttivaatimuksen 28 mukainen menetelmä, tunnettu siitä, että se sisältää mainitun vaiheen, jossa data siirretään olemassa olevalta ohjelmistolta uudelle ohjelmistolle, jälkeen seuraavan lisävaiheen: päivitetään puolipysyvä data toisessa ohjelmistossa joko olemassa olevan ohjelmiston tai uuden ohjelmiston sisällä olevan puolipysyvän datan kun- 30 kin alkuperäisen päivityksen seurauksena.
34. Patenttivaatimuksen 30 mukainen menetelmä, tunnettu siitä, että se sisältää mainitun vaiheen, jossa mainittu data muunnetaan olemassa olevasta esitysmuodosta uuteen esitysmuotoon, jälkeen seuraavan lisävaiheen: päivitetään puolipysyvä data toisessa ohjelmistossa joko olemassa 35 olevan ohjelmiston tai uuden ohjelmiston sisällä olevan puolipysyvän datan kunkin alkuperäisen päivityksen seurauksena. 36 106752
35. Patenttivaatimuksen 14 mukainen menetelmä, tunnettu siitä, että poistetaan kaikki olemassa oleva ohjelmisto järjestelmästä uuden ohjelmiston käsiteltyä kaikki uudet puhelut menestyksellisesti ja 5 suoritetaan seuraavista vaiheista se, joka tapahtuu ensin: joko lo petetaan kaikki vielä olemassa olevalla ohjelmistolla käsiteltävät puhelut tai odotetaan kunnes ennalta valittu aikajakso on kulunut loppuun sen jälkeen, kun on aloitettu mainittu vaihe jossa siirretään kaikkien uusien puheluiden ohjaus uudelle ohjelmistolle.
36. Patenttivaatimuksen 35 mukainen menetelmä, tunnettu siitä, että mainittu vaihe koko puhelunkäsittelyn ohjauksen siirtämiseksi sisältää seu-raavan lisävaiheen: siirretään koko puhelunkäsittelyn ohjaus uudelle ohjelmistolle ennalta valitun aikajakson kuluttua loppuun sen jälkeen, kun on aloitettu mainittu vaihe 15 jossa kaikki uudet puhelut käsitellään mainitulla uudella ohjelmistolla.
37. Patenttivaatimuksen 35 mukainen menetelmä, tunnettu siitä, että mainitun ennalta valitun aikajakson kuluttua loppuun kaikki vielä olemassa olevaa ohjelmistoa käyttäen käsiteltävät puhelut pakotetaan päättymään.
38. Patenttivaatimuksen 35 mukainen menetelmä, tunnettu siitä, 20 että mainitun ennalta valitun aikajakson kuluttua loppuun kaikki vielä olemassa olevalla ohjelmistolla käsiteltävät puhelut siirretään uudelle ohjelmistolle käsittelyn saattamiseksi päätökseen.
39. Patenttivaatimuksen 1 mukainen menetelmä, tunnettu siitä, että se käsittää kaikkien muiden datankäsittelytapahtumien reitittämisen mai- 25 nitulle uudelle ohjelmistolle siinä käsiteltäväksi olemassa olevan ohjelmiston mainittujen olemassa olevien datakäsittelytapahtumien käsittelyn loputtua automaattisen siirtymisen suorittamiseksi mainitusta olemassa olevasta ohjelmistosta uuteen ohjelmistoon tietokonelaitteen ajoaikana ilman datankäsittely-operaatioiden huomattavaa keskeyttämistä.
40. Patenttivaatimuksen 39 mukainen menetelmä, joka käsittää li- . sävaiheen, joka suoritetaan mainitun käyttövaiheen ja ensin mainitun siirtovai heen välissä, tunnettu siitä, että siirretään mainitulle uudelle ohjelmistolle ennalta määrätty testimää-rä todellisia datankäsittelytapahtumia, jotka muuten käsiteltäisiin mainitulla 35 olemassa olevalla ohjelmistolla, mainitun ohjelmiston käsiteltyä menestyksellisesti mainittuja testidatan käsittelytapahtumia, ja sr 106752 mainittu ensinmainittu siirtovaihe suoritetaan mainitulla uudella ohjelmistolla testidatan käsittelytapahtumien ja mainitun rajatun todellisten da-tankäsittelytapahtumien joukon menestyksellisen käsittelyn seurauksena.
41. Patenttivaatimuksen 39 tai 40 mukainen menetelmä, tunnettu 5 siitä, että mainittu tietokonejärjestelmä on järjestetty teleliikenteen välitysjärjestelmään; ja mainitut olemassa olevat ja uudet datankäsittelytapahtumat ovat mainitun teleliikenteen välitysjäijestelmän vastaanottamia puheluita. 10
42. Järjestelmä tietokonelaitteen datankäsittelykontrollin siirtämi seksi olemassa olevalta ohjelmistolta uudelle ohjelmistolle, joka järjestelmä käsittää välineitä uuden ohjelmiston asentamiseksi tietokonelaitteeseen, välineitä uuden ohjelmiston käyttämiseksi testidatan käsittelytapahtumien käsittelemiseksi, ja välineitä uuden ohjelmiston käyttöönottamiseksi tietokonelaittees-15 sa, kun testidatan käsittelytapahtumat on käsitelty menestyksellisesti, tunnettu siitä, että järjestelmä on sovitettu siirtämään automaattisesti datankäsittely-kontrolli olemassa olevalta ohjelmistolta uudelle ohjelmistolle katkaisematta huomattavasti olemassa olevan ohjelmiston olemassa olevan datan käsittelyä 20 ja sallimaan molempien ohjelmistoversioiden samanaikainen antodatan tuottaminen, ja järjestelmä käsittää välineitä uuden ohjelmiston käyttämiseksi testi-datan käsittelytapahtumien käsittelemiseksi olemassa olevan ohjelmiston (103) käsitellessä samanaikaisesti sekä uusia että olemassa olevia datan kä-v 25 sittelytapahtumia, välineitä kaikkien uusien datan käsittelytapahtumien datankäsittelykontrollin siirtämiseksi automaattisesti uudelle ohjelmistolle (109) sen käsiteltyä menestyksellisesti mainittuja testidatan käsittelytapahtumia (104) samalla kuin jatketaan olemassa olevan ohjelmiston käyttämistä olemassa olevien 30 datan käsittelytapahtumien käsittelemiseksi ja antodatan tuottamista samanaikaisesti sekä olemassa olevalla että uudella ohjelmistolla, ja välineitä koko datankäsittelykontrollin siirtämiseksi automaattisesti uudelle ohjelmistolle (112) sen käsiteltyä menestyksellisesti mainittuja uusia datankäsittelytapahtumia (110).
43. Patenttivaatimuksen 42 mukainen järjestelmä, tunnettu siitä, että se sisältää lisäksi: 38 106752 välineet kaikkien uusien datankäsittelytapahtumien käsittelemiseksi uudella ohjelmistolla, samalla kun olemassa oleva ohjelmisto käsittelee olemassa olevaa datankäsittelytapahtumaa.
44. Patenttivaatimuksen 43 mukainen järjestelmä, tunnettu siitä, 5 että mainitut välineet koko datankäsittelykontrollin siirtämiseksi automaattisesti uudelle ohjelmistolle sen käsiteltyä mainitut uudet datankäsittelytapahtumat menestyksellisesti sisältävät: välineet koko datankäsittelykontrollin siirtämiseksi automaattisesti uudelle ohjelmistolle olemassa olevan ohjelmiston saatettua päätöskeen ole-10 massa olevien datankäsittelytapahtumien käsittelyn.
45. Patenttivaatimuksen 44 mukainen järjestelmä, tunnettu siitä, että mainitut välineet koko datankäsittelykontrollin siirtämiseksi automaattisesti uudelle ohjelmistolle sen käsiteltyä mainitut uudet datankäsittelytapahtumat menestyksellisesti sisältävät: 15 välineet koko datankäsittelykontrollin siirtämiseksi automaattisesti uudelle ohjelmistolle uuden ohjelmiston käsiteltyä kaikkia uusia datankäsittelyta-pahtumia menestyksellisesti ja olemassa olevan ohjelmiston saatettua päätökseen kaikkien olemassa olevien datankäsittelytapahtumien käsittelyn.
46. Patenttivaatimuksen 42 mukainen järjestelmä, tunnettu siitä, 20 että sekä olemassa olevat datakäsittelytapahtumat että uudet datankäsittelytapahtumat sisältävät dynaamista dataa, joka luodaan ja jota käytetään kunkin tapahtuman käsittelyn aikana ja joka tuhotaan, kun käsittely on saatettu päätökseen, ja puolipysyvää dataa, jota käytetään ja joka säilyy useiden tapahtumien käsittelyn ajan, mainitun järjestelmän sisältäessä myös: 25 välineet datan siirtämiseksi olemassa olevalta ohjelmistolta uudelle ohjelmistolle.
47. Patenttivaatimuksen 46 mukainen järjestelmä, tunnettu siitä, että vain puolipysyvä data siirretään olemassa olevalta ohjelmistolta uu-30 delle ohjelmistolle.
48. Patenttivaatimuksen 46 mukainen järjestelmä, tunnettu siitä, että datan esitysmuoto uudessa ohjelmistossa on erilainen kuin datan esitysmuoto olemassa olevassa ohjelmistossa, ja että mainitut välineet datan siirtämiseksi olemassa olevalta ohjelmistolta uudelle ohjelmistolle sisältää: 35 välineet mainitun datan muuntamiseksi mainitusta olemassa olevasta esitysmuodosta mainittuun uuteen esitysmuotoon. • I 39 106752
49. Patenttivaatimuksen 48 mukainen järjestelmä, tunnettu siitä, että mainitut välineet mainitun datan muuntamiseksi mainitusta olemassa olevasta esitysmuodosta mainittuun uuteen esitysmuotoon sisältää välineet mainitun datan muuntamiseksi mainitun uuden ohjelmiston tarpeeseen perustuen.
50. Patenttivaatimuksen 48 mukainen järjestelmä, tunnettu siitä, että mainitut välineet mainitun datan muuntamiseksi mainitusta olemassa olevasta esitysmuodosta mainittuun uuteen esitysmuotoon sisältää välineet kaiken mainitun datan muuntamiseksi mainittuun uuteen esitysmuotoon yhdellä kerralla, ja 10 välineet mainitun datan muuntamiseksi uudelleen mainitusta uudesta esitysmuodosta mainittuun olemassa olevaan esitysmuotoon mainittuun olemassa olevan ohjelmiston tarpeeseen perustuen.
51. Patenttivaatimuksen 46 mukainen järjestelmä, tunnettu siitä, että se sisältää myös: 15 välineet päivittää puolipysyvä data toisessa ohjelmistossa joko ole massa olevan ohjelmiston tai uuden ohjelmiston sisällä olevan puolipysyvän datan kunkin alkuperäisen päivityksen seurauksena.
52. Patenttivaatimuksen 48 mukainen järjestelmä, tunnettu siitä, että se sisältää myös: 20 välineet päivittää puolipysyvä data toisessa ohjelmistossa joko ole massa olevan ohjelmiston tai uuden ohjelmiston sisällä olevan puolipysyvän datan kunkin alkuperäisen päivityksen seurauksena.
53. Patenttivaatimuksen 43 mukainen järjestelmä, tunnettu siitä, että 25 automaattisen siirron suorittavia välineitä ohjaa ennalta valitun aika jakson kuluminen loppuun sen jälkeen kun uusi ohjelmisto on aloittanut kaikkien uusien datankäsittelytapahtumien mainitun käsittelyn.
54. Patenttivaatimuksen 53 mukainen järjestelmä, tunnettu siitä, että mainitun ennalta valitun aikajakson kuluttua loppuun kaikki mainittua ole- 30 massa olevaa ohjelmistoa käyttäen yhä käsiteltävät tapahtumat pakotetaan päättymään.
55. Patenttivaatimuksen 53 mukainen järjestelmä, tunnettu siitä, että mainitun ennalta valitun aikajakson kuluttua loppuun kaikki mainittua olemassa olevaa ohjelmistoa käyttäen yhä käsiteltävät tapahtumat siirretään uu- 35 delle ohjelmistolle käsittelyn saattamiseksi päätökseen. • < 40 106752
56. Patenttivaatimuksen 53 mukainen järjestelmä, tunnettu siitä, että mainitun ennalta valitun aikajakson kuluttua loppuun kaikki tapahtumat, jotka kykenevät selviytymään aiheutuvasta häiriöstä, yritetään siirtää uudelle ohjelmistolle käsiteltäviksi, ja kaikki muut päätetään.
57. Patenttivaatimuksen 42 mukainen järjestelmä, jossa tietokone- laite on osa tietoliikennevaihdejärjestelmää, olemassa oleva ja uusi ohjelmisto ovat puhelinkäsittelyohjelmistoja ja datankäsittelytapahtumat ovat puheluita, tunnettu siitä, että se sisältää: välineet poistaa olemassa oleva ohjelmisto järjestelmästä uuden oh-10 jelmiston käsiteltyä kaikki uudet puhelut menestyksellisesti, ja päättää kaikki olemassa olevan ohjelmiston käsittelemät puhelut.
58. Patenttivaatimuksen 57 mukainen järjestelmä, tunnettu siitä, että se sisältää myös: välineet reitittää valittu määrä todellisia puheluita uudelle ohjelmistolle 15 käsiteltäviksi, uuden ohjelmiston käsiteltyä menestyksellisesti mainitut testipu-helut, samalla kun jatketaan jäljelle jäävien todellisten puheluiden käsittelyä olemassa olevalla ohjelmistolla, ja jossa mainittuja välineitä kaikkien uusien puheluiden siirtämiseksi uudelle ohjelmistolle ohjaa se, että uusi ohjelmisto käsittelee menestyksellisesti sekä 20 mainitut testipuhelut että mainitun valitun määrän todellisia puheluita.
59. Patenttivaatimuksen 57 mukainen järjestelmä, tunnettu siitä, että sekä olemassa oleviin puheluihin että uusiin puheluihin liittyy dynaamista dataa, joka luodaan ja jota käytetään kunkin tapahtuman käsittelyn aikana, ja joka tuhotaan kun käsittely on päättynyt, ja puolipysyvää dataa, jota käytetään ja ; 25 joka säilyy useiden tapahtumien käsittelyn ajan, mainitun järjestelmän sisältäes sä myös: välineet datan siirtämiseksi olemassa olevalta ohjelmistolta uudelle ohjelmistolle.
60. Patenttivaatimuksen 59 mukainen järjestelmä, tunnettu siitä, 30 että vain puolipysyvä data siirretään olemassa olevalta ohjelmistolta uudelle ohjelmistolle.
61. Patenttivaatimuksen 59 mukainen järjestelmä, tunnettu siitä, että datan esitysmuoto uudessa ohjelmistossa on erilainen kuin datan esitys- 35 muoto olemassa olevassa ohjelmistossa, ja että mainitut välineet datan siirtämiseksi olemassa olevalta ohjelmistolta uudelle ohjelmistolle sisältää: 41 106752 välineet mainitun datan muuntamiseksi mainitusta olemassa olevasta esitysmuodosta mainittuun uuteen esitysmuotoon.
62. Patenttivaatimuksen 61 mukainen järjestelmä, tunnettu siitä, että mainitut välineet mainitun datan muuntamiseksi mainitusta olemassa ole- 5 vasta esitysmuodosta mainittuun uuteen esitysmuotoon sisältää: välineet mainitun datan muuttamiseksi mainitusta olemassa olevasta esitysmuodosta mainittuun uuteen esitysmuotoon mainitun uuden ohjelmiston tarpeeseen perustuen.
63. Patenttivaatimuksen 61 mukainen järjestelmä, tunnettu siitä, 10 että mainittu välineet mainitun datan muuntamiseksi mainitusta olemassa olevasta esitysmuodosta mainittuun uuteen esitysmuotoon sisältää välineet kaiken mainitun datan muuntamiseksi mainittuun uuteen esitysmuotoon yhdellä kerralla, ja se sisältää myös välineet mainitun datan muuntamiseksi uudelleen mainitusta uudesta 15 esitysmuodosta mainittuun olemassa olevaan esitysmuotoon mainitun olemassa olevan ohjelmiston tarpeeseen perustuen.
64. Patenttivaatimuksen 59 mukainen järjestelmä, tunnettu siitä, että se sisältää myös: välineet päivittää puolipysyvä data toisessa ohjelmistossa joko ole-20 massa olevan ohjelmiston tai uuden ohjelmiston sisällä olevan puolipysyvän datan kunkin alkuperäisen päivityksen seurauksena.
65. Patenttivaatimuksen 61 mukainen jäijestelmä, tunnettu siitä, että se sisältää myös: välineet päivittää puolipysyvä data toisessa ohjelmistossa joko ole-25 massa olevan ohjelmiston tai uuden ohjelmiston sisällä olevan puolipysyvän datan kunkin alkuperäisen päivityksen seurauksena.
66. Patenttivaatimuksen 57 mukainen järjestemä, tunnettu siitä, että se käsittää välineet reitittää vain testipuhelut uudelle ohjelmistolle käsiteltäviksi, 30 samalla kun todellisten puheluiden käsittely jatkuu olemassa olevalla ohjelmistolla; ja välineet reitittää sekä testipuhelut että valittu määrä uusia puheluita uuden ohjelmiston käsiteltäviksi sen jälkeen, kun uusi ohjelmisto on käsitellyt menestyksellisesti testipuhelut, samalla kun olemassa oleva ohjelmisto jatkaa 35 kaikkien jäljelle jäävien uusien puheluiden käsittelyä. 42 106752
67. Patenttivaatimuksen 42 mukainen järjestelmä, tunnettu siitä, että se käsittää välineet jotka keskeyttävät olemassa olevan ohjelmiston lisäkäytön riippuvaisina siitä, kumpi seuraavista tapahtuu ensin: lopetetaan kaikki vielä olemassa olevalla ohjelmistolla käsiteltävät datankäsittelytapahtu- 5 mat tai ennalta valittu aikajakso kuluu loppuun sen jälkeen, kun on aloitettu mainittu vaihe jossa siirretään kaikkien uusien datankäsittelytapahtumien kä-sittelykontrolli uudelle ohjelmistolle, jolloin siirtyminen olemassa olevalta ohjelmistolta mainitulle uudelle ohjelmistolle voidaan suorittaa automaattisesti tietokonelaitteen ajoaikana il-10 man siinä olevien datankäsittelyoperaatioiden jatkuvuuden huomattavaa keskeytystä.
68. Patenttivaatimuksen 67 mukainen järjestelmä, tunnettu siitä, että se käsittää välineet lähettää mainitulle uudelle ohjelmistolle ennalta määrätty, 15 rajoitettu näytemäärä todellista dataa, jonka mainittu olemassa oleva ohjelmisto muutoin käsittelisi, sen jälkeen kun mainittu uusi ohjelmisto on käsitellyt mainitun testidatan menestyksellisesti; ja jossa mainitut välineet kaikkien uusien datankäsittelytapahtumien käsittely-kontrollin siirtämiseksi mainitulle uudelle ohjelmistolle ovat riippuvaisia siitä, että 20 mainittu uusi ohjelmisto on käsitellyt menestyksellisesti sekä mainitut testidatan-käsittelytapahtumat että mainitun rajoitetun näytteen todellisia datankäsittelyta-pahtumia.
69. Patenttivaatimuksen 67 tai 68 mukainen järjestelmä, tunnettu siitä, että 25 mainittu tietokonelaite on teleliikenteen vaihdejärjestelmän osa; ja mainitut olemassa olevat ja uudet datankäsittelytapahtumat ovat mainitun teleliikenteen vaihdejärjestelmän vastaanottamia puheluita. « 43 106752
FI946195A 1992-07-01 1994-12-30 Järjestelmä ohjelmiston vaihtamiseksi tietokoneen käytön aikana FI106752B (fi)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US90729492 1992-07-01
US07/907,294 US5410703A (en) 1992-07-01 1992-07-01 System for changing software during computer operation
SE9300417 1993-05-11
PCT/SE1993/000417 WO1994001819A1 (en) 1992-07-01 1993-05-11 System for changing software during computer operation

Publications (3)

Publication Number Publication Date
FI946195A0 FI946195A0 (fi) 1994-12-30
FI946195A FI946195A (fi) 1994-12-30
FI106752B true FI106752B (fi) 2001-03-30

Family

ID=25423853

Family Applications (1)

Application Number Title Priority Date Filing Date
FI946195A FI106752B (fi) 1992-07-01 1994-12-30 Järjestelmä ohjelmiston vaihtamiseksi tietokoneen käytön aikana

Country Status (13)

Country Link
US (2) US5410703A (fi)
EP (1) EP0648353B1 (fi)
KR (1) KR100323881B1 (fi)
CN (2) CN1045829C (fi)
AU (1) AU667559B2 (fi)
BR (1) BR9306651A (fi)
DE (1) DE69326464T2 (fi)
DK (1) DK0648353T3 (fi)
ES (1) ES2140462T3 (fi)
FI (1) FI106752B (fi)
GR (1) GR3031915T3 (fi)
MX (1) MX9303648A (fi)
WO (1) WO1994001819A1 (fi)

Families Citing this family (309)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0458495A3 (en) * 1990-05-21 1993-04-14 Texas Instruments Incorporated Apparatus and method for managing versions and configurations of persistent and transient objects
US5841991A (en) * 1992-11-18 1998-11-24 Canon Information Systems, Inc. In an Interactive network board, a method and apparatus for storing a media access control address in a remotely alterable memory
US5623604A (en) * 1992-11-18 1997-04-22 Canon Information Systems, Inc. Method and apparatus for remotely altering programmable firmware stored in an interactive network board coupled to a network peripheral
US5590347A (en) * 1992-12-07 1996-12-31 Microsoft Corporation Method and system for specifying alternate behavior of a software system using alternate behavior indicia
JP3365576B2 (ja) * 1993-06-14 2003-01-14 インターナショナル・ビジネス・マシーンズ・コーポレーション オブジェクトの実行方法および装置
US6684261B1 (en) * 1993-07-19 2004-01-27 Object Technology Licensing Corporation Object-oriented operating system
US5809237A (en) * 1993-11-24 1998-09-15 Intel Corporation Registration of computer-based conferencing system
US5845090A (en) * 1994-02-14 1998-12-01 Platinium Technology, Inc. System for software distribution in a digital computer network
JP3140906B2 (ja) * 1994-04-12 2001-03-05 株式会社エヌ・ティ・ティ・データ システムファイルの更新及び復元方法
ES2116745T3 (es) * 1994-05-10 1998-07-16 Siemens Ag Sistema de administracion de datos de un sistema en tiempo real.
JP3160149B2 (ja) * 1994-05-13 2001-04-23 株式会社日立製作所 ディスク制御装置の無停止プログラム変更方法およびディスク制御装置
DE69534316T2 (de) * 1994-07-15 2006-04-20 Koninklijke Philips Electronics N.V. Telekommunikationsanlage mit einem prozessorsystem und ein prozessorsystem
US5684952A (en) * 1994-07-25 1997-11-04 Apple Computer, Inc. Supervisory control system for networked multimedia workstations that provides reconfiguration of workstations by remotely updating the operating system
WO1996003818A1 (fr) * 1994-07-26 1996-02-08 Sony Corporation Systeme serveur d'informations
DE4429969A1 (de) * 1994-08-24 1996-02-29 Sel Alcatel Ag Verfahren für einen Programmpaketeaustausch in einem Mehrrechnersystem und Rechner dafür
US5682533A (en) * 1994-09-27 1997-10-28 Telefonaktiebolaget Lm Ericsson (Publ) Updating software within a telecommunications switch without interrupting existing communication and neither moving nor converting data
US7188352B2 (en) 1995-07-11 2007-03-06 Touchtunes Music Corporation Intelligent digital audiovisual playback system
DK0786121T3 (da) * 1994-10-12 2000-07-03 Touchtunes Music Corp System til digital, intelligent audiovisuel gengivelse
US7424731B1 (en) * 1994-10-12 2008-09-09 Touchtunes Music Corporation Home digital audiovisual information recording and playback system
US8661477B2 (en) 1994-10-12 2014-02-25 Touchtunes Music Corporation System for distributing and selecting audio and video information and method implemented by said system
SE504943C2 (sv) * 1994-12-09 1997-06-02 Ericsson Telefon Ab L M Synkroniseringsförfarande som tillåter tillståndsöverföring
DE69510226T2 (de) * 1994-12-13 1999-11-04 Novell, Inc. Verfahren und vorrichtung zur aktualisierung oder änderung eines netzwerkverzeichnisses
US5680549A (en) * 1994-12-30 1997-10-21 Compuserve Incorporated System for transferring network connections from first to second program where the first enters an inactive state and resumes control of connections when second terminates
DE19502728A1 (de) * 1995-01-28 1996-08-01 Philips Patentverwaltung Telekommunikationsvorrichtung
IL117221A0 (en) * 1995-02-28 1996-06-18 Gen Instrument Corp Configurable hybrid medium access control for cable metropolitan area networks
US5892910A (en) * 1995-02-28 1999-04-06 General Instrument Corporation CATV communication system for changing first protocol syntax processor which processes data of first format to second protocol syntax processor processes data of second format
JPH08249136A (ja) * 1995-03-10 1996-09-27 Sony Corp 記録再生装置及び伝送方法
DE19518266A1 (de) * 1995-05-18 1996-11-21 Philips Patentverwaltung Kommunikationssystem mit Mitteln zum Austausch von Software
US5878246A (en) * 1995-07-05 1999-03-02 Sun Microsystems, Inc. System for linking an interposition module between two modules to provide compatibility as module versions change
US5805891A (en) * 1995-07-26 1998-09-08 International Business Machines Corporation System and method for managing maintenance of computer software
DE19533961A1 (de) * 1995-09-13 1997-03-20 Siemens Ag Verfahren zum Laden von Software in Kommunikationssystemen mit nichtredundanten, dezentralen Einrichtungen
US5838981A (en) * 1995-10-05 1998-11-17 Ricoh Company, Ltd. Data communication apparatus with a program renewal function
US6112253A (en) * 1995-10-12 2000-08-29 International Business Machines Corporation Object-oriented method maintenance mechanism that does not require cessation of the computer system or its programs
US6389483B1 (en) * 1995-10-17 2002-05-14 Telefonaktiebolaget L M Ericsson (Publ) System and method for reducing coupling between modules in a telecommunications environment
US6421679B1 (en) * 1995-10-27 2002-07-16 International Business Machines Corporation Concurrent patch to logical partition manager of a logically partitioned system
US5727215A (en) * 1995-11-30 1998-03-10 Otis Elevator Company Method for replacing software modules utilizing a replacement address table
US5708812A (en) * 1996-01-18 1998-01-13 Microsoft Corporation Method and apparatus for Migrating from a source domain network controller to a target domain network controller
US5946490A (en) * 1996-03-22 1999-08-31 Northeastern University Automata-theoretic approach compiler for adaptive software
US5999946A (en) 1996-04-10 1999-12-07 Harris Corporation Databases in telecommunications
DE19617976A1 (de) * 1996-05-06 1997-11-13 Philips Patentverwaltung Kommunikationssystem mit Mitteln zum Austausch von Softwareprozessen
DE59604300D1 (de) * 1996-05-22 2000-03-02 Siemens Ag Verfahren zum Austausch von Software in laufenden Steuerungssystemen
US5857106A (en) * 1996-05-31 1999-01-05 Hewlett-Packard Company Runtime processor detection and installation of highly tuned processor specific routines
GB2315637B (en) * 1996-07-19 2000-09-13 Ericsson Telefon Ab L M Testing mechanism
US5896535A (en) * 1996-08-20 1999-04-20 Telefonaktiebolaget L M Ericsson (Publ) Method and system for testing computer system software
FR2753868A1 (fr) 1996-09-25 1998-03-27 Technical Maintenance Corp Procede de selection d'un enregistrement sur un systeme numerique de reproduction audiovisuel et systeme pour mise en oeuvre du procede
US5911069A (en) * 1996-09-30 1999-06-08 Apple Computer, Inc. Exception handling techniques for native methods bound to SOM classes
US5832274A (en) * 1996-10-09 1998-11-03 Novell, Inc. Method and system for migrating files from a first environment to a second environment
DE19652629A1 (de) * 1996-12-18 1998-06-25 Philips Patentverwaltung System zum Austausch von Software
US6175855B1 (en) * 1996-12-20 2001-01-16 Siemens Aktiengesellschaft Method for instantiating a class having different versions
US5922072A (en) * 1997-01-03 1999-07-13 Ncr Corporation Method and apparatus for creating alternate boot environments in a computer
TW325551B (en) * 1997-01-04 1998-01-21 Inventec Corp Auto switching memory space method capable of judging if there is updated version stored in memory circuit to automatically select program stored in ROM or memory circuit as execution stating location
US6058396A (en) * 1997-02-06 2000-05-02 Sterling Software, Inc. Product interface method and system which allow class evolution
US6263376B1 (en) 1997-02-24 2001-07-17 Novell, Inc. Generic run-time binding interpreter
US5938766A (en) * 1997-03-21 1999-08-17 Apple Computer, Inc. System for extending functionality of a digital ROM using RAM/ROM jump tables and patch manager for updating the tables
US6223343B1 (en) * 1997-04-04 2001-04-24 State Farm Mutual Automobile Insurance Co. Computer system and method to track and control element changes throughout application development
FR2762737B1 (fr) * 1997-04-24 1999-06-11 Alsthom Cge Alcatel Procede pour changer de version de logiciel dans un systeme informatique comportant plusieurs stations, et systeme informatique pour la mise en oeuvre de ce procede
US7162519B2 (en) 1998-05-01 2007-01-09 Stratum Technologies Corporation Structure and method for providing customized web pages-therefor
US6401114B1 (en) * 1997-05-01 2002-06-04 Stratum Technologies Corporation Method and apparatus for dynamic programming across a computer network
US6324411B1 (en) * 1997-05-20 2001-11-27 Telefonaktiebolaget Lm Ericsson (Publ) Background software loading in cellular telecommunication systems
JPH10320205A (ja) 1997-05-20 1998-12-04 Fujitsu Ltd 情報処理装置
US6189145B1 (en) 1997-05-28 2001-02-13 International Business Machines Corporation Concurrent patch to logical partition manager of a logically partitioned system
GB9711920D0 (en) * 1997-06-09 1997-08-06 Honeywell Oy Computer system
US5913023A (en) * 1997-06-30 1999-06-15 Siemens Corporate Research, Inc. Method for automated generation of tests for software
SE521056C2 (sv) 1997-07-21 2003-09-23 Ericsson Telefon Ab L M Metod för genomförande av schemaförändringar i en databas
US5974429A (en) * 1997-09-03 1999-10-26 Northern Telecom Limited Method and apparatus for updating distributed databases in a telecommunications network
US6044461A (en) * 1997-09-16 2000-03-28 International Business Machines Corporation Computer system and method of selectively rebooting the same in response to a system program code update
FR2769165B1 (fr) 1997-09-26 2002-11-29 Technical Maintenance Corp Systeme sans fil a transmission numerique pour haut-parleurs
JP2914360B2 (ja) 1997-09-30 1999-06-28 ソニー株式会社 外部記憶装置及びデータ処理方法
US6074435A (en) * 1997-10-30 2000-06-13 Telefonakiebolaget Lm Ericsson (Publ) Remote software download with automatic adjustment for data access compatibility
KR100247467B1 (ko) 1997-11-07 2000-03-15 윤종용 엠엠씨 커맨드를 이용한 교체 블록 로딩 방법
US6620204B1 (en) * 1997-11-25 2003-09-16 International Business Machines Corporation Automated HTML test page and test data generation for javascript objects
EP1071991A4 (en) * 1997-12-11 2002-03-13 Digits Corp OBJECT CODE ANALYSIS AND IMPROVEMENT SYSTEM AND METHOD
US6105037A (en) * 1997-12-12 2000-08-15 International Business Machines Corporation Apparatus for performing automated reconcile control in a virtual tape system
US5911073A (en) * 1997-12-23 1999-06-08 Hewlett-Packard Company Method and apparatus for dynamic process monitoring through an ancillary control code system
US6360363B1 (en) 1997-12-31 2002-03-19 Eternal Systems, Inc. Live upgrade process for object-oriented programs
US6141683A (en) * 1998-01-30 2000-10-31 Lucent Technologies, Inc. Method for remotely and reliably updating of the software on a computer with provision for roll back
DE19803697C2 (de) * 1998-01-30 2000-03-16 Ericsson Telefon Ab L M Verfahren zum Aufrüsten eines Softwaresystems und Vorrichtung zur Durchführung des Verfahrens
US6345382B1 (en) 1998-02-12 2002-02-05 International Business Machines Corporation Run-time customization in object-oriented design
US6151709A (en) * 1998-02-13 2000-11-21 Novell, Inc. Processes and apparatuses for uploading instructions to a computer
DE19810814B4 (de) 1998-03-12 2004-10-28 Telefonaktiebolaget Lm Ericsson (Publ) Rechnersystem und Zustandskopierverfahren zur skalierbaren Software-Aktualisierung
DE19810784B4 (de) * 1998-03-12 2006-03-16 Telefonaktiebolaget Lm Ericsson (Publ) Rechnersystem
DE19810802A1 (de) * 1998-03-12 1999-09-16 Ericsson Telefon Ab L M Störungsfreies Aktualisieren von Daten
DE19810843B4 (de) 1998-03-12 2004-11-25 Telefonaktiebolaget Lm Ericsson (Publ) Verfahren und Zugriffseinrichtung zum Bestimmen der Speicheradresse eines Datenwerts in einer Speichereinrichtung
DE19810807A1 (de) * 1998-03-12 1999-09-23 Ericsson Telefon Ab L M Gerät und Verfahren zum Umsetzen von Meldungen
US7770123B1 (en) * 1998-05-08 2010-08-03 Apple Inc. Method for dynamically generating a “table of contents” view of a HTML-based information system
US6330715B1 (en) * 1998-05-19 2001-12-11 Nortel Networks Limited Method and apparatus for managing software in a network system
US6222916B1 (en) 1998-05-22 2001-04-24 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for introducing and modifying telecommunications services
US6070012A (en) * 1998-05-22 2000-05-30 Nortel Networks Corporation Method and apparatus for upgrading software subsystems without interrupting service
FR2781582B1 (fr) 1998-07-21 2001-01-12 Technical Maintenance Corp Systeme de telechargement d'objets ou de fichiers pour mise a jour de logiciels
FR2781591B1 (fr) 1998-07-22 2000-09-22 Technical Maintenance Corp Systeme de reproduction audiovisuelle
US8028318B2 (en) 1999-07-21 2011-09-27 Touchtunes Music Corporation Remote control unit for activating and deactivating means for payment and for displaying payment status
FR2781580B1 (fr) 1998-07-22 2000-09-22 Technical Maintenance Corp Circuit de commande de son pour systeme de reproduction audiovisuelle numerique intelligent
US6564369B1 (en) 1998-08-20 2003-05-13 Pearson Technical Software, Inc. Conflict checking using configuration images
JP4101368B2 (ja) * 1998-08-24 2008-06-18 松下電器産業株式会社 ボタン電話装置およびそのメンテナンス方法並びに記録媒体
DE19843048C2 (de) * 1998-09-19 2000-08-17 Nokia Networks Oy Verfahren für einen Softwarezugriffswechsel in einem Netzwerkknoten eines Telekommunikationsnetzwerkes sowie ein zum Durchführen eines solchen Verfahrens geeigneter Netzwerkknoten
WO2000022527A1 (en) * 1998-10-09 2000-04-20 Sun Microsystems, Inc. Process monitoring in a computer system
JP3837244B2 (ja) 1998-10-23 2006-10-25 松下電器産業株式会社 プログラムリンク装置及び方法
US6526523B1 (en) * 1998-10-27 2003-02-25 Microsoft Corporation Kernel streaming test method and system
US6237091B1 (en) * 1998-10-29 2001-05-22 Hewlett-Packard Company Method of updating firmware without affecting initialization information
US6314567B1 (en) * 1998-11-13 2001-11-06 Hewlett-Packard Company Apparatus and method for transferring state data when performing on-line replacement of a running program code and data
US6269442B1 (en) * 1998-11-13 2001-07-31 Hewlett-Packard Company Apparatus and method for on-line replacement of a running program code and data using checkpoints
JP3674351B2 (ja) * 1999-01-08 2005-07-20 富士通株式会社 マスタサーバ
US6795967B1 (en) * 1999-01-26 2004-09-21 Microsoft Corporation Changing user identities without closing applications
US6385770B1 (en) 1999-01-29 2002-05-07 Telefonaktiebolaget Lm Ericsson (Publ) Software upgrade
US8726330B2 (en) * 1999-02-22 2014-05-13 Touchtunes Music Corporation Intelligent digital audiovisual playback system
GB2348304B (en) * 1999-03-24 2003-07-09 Ibm Optimising Device Driver Debug Tracing
US6813629B1 (en) * 1999-04-02 2004-11-02 Oracle International Corporation Method and apparatus for facilitating object communication across a network
US6931440B1 (en) * 1999-04-21 2005-08-16 Emc Corporation Method and apparatus for dynamically determining whether access to a resource connected to a computer has changed and determining how to access the resource with a new identifier
US6425126B1 (en) * 1999-05-19 2002-07-23 International Business Machines Corporation Apparatus and method for synchronizing software between computers
US7107329B1 (en) * 1999-05-21 2006-09-12 Lucent Technologies Inc. In networks of interconnected router nodes for routing data traffic, a method of and system for imperceptibly upgrading router node software and the like without traffic interruption
US8033913B2 (en) * 1999-06-03 2011-10-11 Igt Gaming machine update and mass storage management
AU4982100A (en) * 1999-06-03 2000-12-28 Sycamore Networks, Inc. Software translation using metadata
WO2001020424A2 (en) * 1999-06-03 2001-03-22 Anchor Gaming Method and device for implementing a downloadable software delivery system
US6501995B1 (en) * 1999-06-30 2002-12-31 The Foxboro Company Process control system and method with improved distribution, installation and validation of components
US6698017B1 (en) * 1999-07-16 2004-02-24 Nortel Networks Limited Software migration on an active processing element
FR2796482B1 (fr) 1999-07-16 2002-09-06 Touchtunes Music Corp Systeme de gestion a distance d'au moins un dispositif de reproduction d'informations audiovisuelles
US6715145B1 (en) * 1999-08-31 2004-03-30 Accenture Llp Processing pipeline in a base services pattern environment
JP3669619B2 (ja) * 1999-09-06 2005-07-13 富士通株式会社 無線端末装置のソフトウェア更新方法及びその装置
US7016944B1 (en) * 1999-09-30 2006-03-21 Apple Computer, Inc. System and method for passive detection and context sensitive notification of upgrade availability for computer information
WO2001027710A2 (en) * 1999-10-14 2001-04-19 Nokia Corporation A method and system for software updating
US6560614B1 (en) * 1999-11-12 2003-05-06 Xosoft Inc. Nonintrusive update of files
US6886168B2 (en) * 2000-01-20 2005-04-26 Q3Dm, Llc Method and system for extensible data processing
FR2805377B1 (fr) * 2000-02-23 2003-09-12 Touchtunes Music Corp Procede de commande anticipee d'une selection, systeme numerique et juke-box permettant la mise en oeuvre du procede
FR2805072B1 (fr) 2000-02-16 2002-04-05 Touchtunes Music Corp Procede d'ajustement du volume sonore d'un enregistrement sonore numerique
GB2359385B (en) 2000-02-16 2004-04-07 Data Connection Ltd Method for upgrading running software processes without compromising fault-tolerance
FR2805060B1 (fr) 2000-02-16 2005-04-08 Touchtunes Music Corp Procede de reception de fichiers lors d'un telechargement
GB0004090D0 (en) * 2000-02-22 2000-04-12 Innovation Venture Ltd Application programming system and method of operation thereof
DE10008245A1 (de) * 2000-02-23 2001-09-06 Siemens Ag Verfahren zur Sicherstellung der Kompatibilität und Verfahren zur Datensicherung innerhalb eines mehrere Teilrechnersysteme aufweisenden verteilten Rechnersystems
JP3888827B2 (ja) * 2000-03-15 2007-03-07 富士通株式会社 プログラム置換システム、分散処理システム及びプログラム置換方法
DE10109365A1 (de) 2000-03-17 2001-09-20 Heidelberger Druckmasch Ag Vorrichtung zur Erkennung von Funktionseinheiten
GB2362064A (en) * 2000-05-04 2001-11-07 Marconi Comm Ltd Switching of software in a communications system
FR2808906B1 (fr) 2000-05-10 2005-02-11 Touchtunes Music Corp Dispositif et procede de gestion a distance d'un reseau de systemes de reproduction d'informations audiovisuelles
US6711572B2 (en) 2000-06-14 2004-03-23 Xosoft Inc. File system for distributing content in a data network and related methods
US7951002B1 (en) 2000-06-16 2011-05-31 Igt Using a gaming machine as a server
FR2811175B1 (fr) 2000-06-29 2002-12-27 Touchtunes Music Corp Procede de distribution d'informations audiovisuelles et systeme de distribution d'informations audiovisuelles
FR2811114B1 (fr) 2000-06-29 2002-12-27 Touchtunes Music Corp Dispositif et procede de communication entre un systeme de reproduction d'informations audiovisuelles et d'une machine electronique de divertissement
US6618805B1 (en) * 2000-06-30 2003-09-09 Sun Microsystems, Inc. System and method for simplifying and managing complex transactions in a distributed high-availability computer system
US6931636B2 (en) * 2000-08-08 2005-08-16 Texas Instruments Incorporated Multiprocessor emulation support using dynamic linking
EP1358643A2 (en) * 2000-08-18 2003-11-05 Igt Gaming system with player tracking
FR2814085B1 (fr) 2000-09-15 2005-02-11 Touchtunes Music Corp Procede de divertissement base sur les jeux concours a choix multiples
EP1352307A2 (en) * 2000-09-22 2003-10-15 EDC Systems, Inc. Systems and methods for preventing unauthorized use of digital content
US7237123B2 (en) * 2000-09-22 2007-06-26 Ecd Systems, Inc. Systems and methods for preventing unauthorized use of digital content
US9251647B2 (en) * 2000-10-19 2016-02-02 Igt Remote configuration of gaming terminals
US8636596B2 (en) * 2000-11-04 2014-01-28 Igt Dynamic player notices for operational changes in gaming machines
US6645077B2 (en) * 2000-10-19 2003-11-11 Igt Gaming terminal data repository and information distribution system
US20040180721A1 (en) * 2000-12-21 2004-09-16 Igt Gaming terminal data repository and information distribution system
US8556698B2 (en) 2000-10-19 2013-10-15 Igt Executing multiple applications and their variations in computing environments
US8479189B2 (en) 2000-11-17 2013-07-02 Hewlett-Packard Development Company, L.P. Pattern detection preprocessor in an electronic device update generation system
US7409685B2 (en) 2002-04-12 2008-08-05 Hewlett-Packard Development Company, L.P. Initialization and update of software and/or firmware in electronic devices
US7972214B2 (en) * 2000-12-07 2011-07-05 Igt Methods and devices for downloading games of chance
US20070136817A1 (en) * 2000-12-07 2007-06-14 Igt Wager game license management in a peer gaming network
US7515718B2 (en) * 2000-12-07 2009-04-07 Igt Secured virtual network in a gaming environment
US20050153778A1 (en) * 2004-01-14 2005-07-14 Dwayne Nelson Methods and apparatus for gaming data downloading
US7168089B2 (en) 2000-12-07 2007-01-23 Igt Secured virtual network in a gaming environment
US20080214300A1 (en) * 2000-12-07 2008-09-04 Igt Methods for electronic data security and program authentication
US20020073410A1 (en) * 2000-12-13 2002-06-13 Arne Lundback Replacing software at a telecommunications platform
US6961773B2 (en) * 2001-01-19 2005-11-01 Esoft, Inc. System and method for managing application service providers
EP1237078A1 (de) 2001-01-19 2002-09-04 Siemens Aktiengesellschaft Durchführung eines zeitoptimierten Austausches einer Software-Applikation
US7186181B2 (en) * 2001-02-02 2007-03-06 Igt Wide area program distribution and game information communication system
DE10105454A1 (de) * 2001-02-07 2002-08-29 Bosch Gmbh Robert Verfahren zur automatischen Ergänzung von Software
US7086060B2 (en) * 2001-02-15 2006-08-01 Sun Microsystems, Inc. Method for programmatic representation and enforcement of resource controls
US7031989B2 (en) * 2001-02-26 2006-04-18 International Business Machines Corporation Dynamic seamless reconfiguration of executing parallel software
ITTO20010264A1 (it) * 2001-03-21 2002-09-21 Telecom Italia Lab Spa Procedimento per l'aggiornamento delle condizioni di programmazione di server di rete, relativo sistema e prodotto informatico.
CA2446584A1 (en) * 2001-05-09 2002-11-14 Ecd Systems, Inc. Systems and methods for the prevention of unauthorized use and manipulation of digital content
ITMI20010997A1 (it) * 2001-05-16 2002-11-16 Cit Alcatel Metodi per testare il software di controllo di una apparecchiatura per telecomunicazioni dotata di un controllo di tipo distribuito
US20030005408A1 (en) * 2001-07-02 2003-01-02 Pradeep Tumati System and method for creating software modifiable without halting its execution
US20060059479A1 (en) * 2001-07-02 2006-03-16 Pradeep Tumati System and method for modifying software without halting its execution
WO2003009096A2 (en) * 2001-07-16 2003-01-30 Vibrant Solutions System and method for class transitioning
US20030037313A1 (en) * 2001-07-16 2003-02-20 Joel Halpern System and method for class transitioning
US7089559B2 (en) * 2001-07-31 2006-08-08 International Business Machines Corporation Method, apparatus, and program for chaining server applications
US7131909B2 (en) * 2002-09-10 2006-11-07 Igt Method and apparatus for managing gaming machine code downloads
US7931533B2 (en) 2001-09-28 2011-04-26 Igt Game development architecture that decouples the game logic from the graphics logics
US8708828B2 (en) 2001-09-28 2014-04-29 Igt Pluggable modular gaming modifiers and configuration templates for gaming environments
US6902481B2 (en) * 2001-09-28 2005-06-07 Igt Decoupling of the graphical presentation of a game from the presentation logic
US7210145B2 (en) * 2001-10-15 2007-04-24 Edss, Inc. Technology for integrated computation and communication; TICC
EP1306754A1 (en) * 2001-10-23 2003-05-02 Telefonaktiebolaget L M Ericsson (Publ) Device and method for software maintenance
US7162710B1 (en) * 2001-11-01 2007-01-09 Microsoft Corporation Dynamic modifications to a heterogeneous program in a distributed environment
US6931409B2 (en) * 2002-01-08 2005-08-16 International Business Machines Corporation Method, apparatus, and program to efficiently serialize objects
US20030140339A1 (en) * 2002-01-18 2003-07-24 Shirley Thomas E. Method and apparatus to maintain service interoperability during software replacement
US7168008B2 (en) * 2002-01-18 2007-01-23 Mobitv, Inc. Method and system for isolating and protecting software components
JP2003216449A (ja) * 2002-01-23 2003-07-31 Nec Corp パッチ処理システム
DE10206903A1 (de) * 2002-02-19 2003-09-04 Siemens Ag Softwareapplikation, Softwarearchitektur und Verfahren zur Erstellung von Softwareapplikationen, insbesondere für MES-Systeme
US6997803B2 (en) * 2002-03-12 2006-02-14 Igt Virtual gaming peripherals for a gaming machine
US8597116B2 (en) * 2002-03-12 2013-12-03 Igt Virtual player tracking and related services
US20030191870A1 (en) * 2002-04-02 2003-10-09 Dominic Duggan Method and apparatus for updating software libraries
US20040010474A1 (en) * 2002-05-15 2004-01-15 Lockheed Martin Corporation Method and apparatus for estimating the refresh strategy or other refresh-influenced parameters of a system over its life cycle
US7918730B2 (en) * 2002-06-27 2011-04-05 Igt Trajectory-based 3-D games of chance for video gaming machines
US8140635B2 (en) * 2005-03-31 2012-03-20 Tripwire, Inc. Data processing environment change management methods and apparatuses
US7307979B2 (en) * 2002-07-31 2007-12-11 Jeremy Benjamin As Receiver For Chiaro Networks Ltd Configuration rollback
US7185331B2 (en) * 2002-08-27 2007-02-27 Inrange Technologies Corporation Method and apparatus for downloading executable code in a non-disruptive manner
US7171432B2 (en) 2002-08-29 2007-01-30 Sap Aktiengesellschaft Phased upgrade of a computing environment
US7263698B2 (en) * 2002-08-29 2007-08-28 Sap Aktiengesellschaft Phased upgrade of a computing environment
US8083585B2 (en) * 2002-09-10 2011-12-27 Igt Apparatus and method for copying gaming machine configuration settings
US8103589B2 (en) 2002-09-16 2012-01-24 Touchtunes Music Corporation Digital downloading jukebox system with central and local music servers
US7822687B2 (en) 2002-09-16 2010-10-26 Francois Brillon Jukebox with customizable avatar
US9646339B2 (en) * 2002-09-16 2017-05-09 Touchtunes Music Corporation Digital downloading jukebox system with central and local music servers
US8332895B2 (en) 2002-09-16 2012-12-11 Touchtunes Music Corporation Digital downloading jukebox system with user-tailored music management, communications, and other tools
US8584175B2 (en) 2002-09-16 2013-11-12 Touchtunes Music Corporation Digital downloading jukebox system with user-tailored music management, communications, and other tools
US10373420B2 (en) 2002-09-16 2019-08-06 Touchtunes Music Corporation Digital downloading jukebox with enhanced communication features
US11029823B2 (en) 2002-09-16 2021-06-08 Touchtunes Music Corporation Jukebox with customizable avatar
US8151304B2 (en) 2002-09-16 2012-04-03 Touchtunes Music Corporation Digital downloading jukebox system with user-tailored music management, communications, and other tools
US7234056B2 (en) * 2002-09-24 2007-06-19 Inrange Technologies Corp. Method and apparatus for downloading executable code in a non-disruptive manner
DE10246097A1 (de) * 2002-10-02 2004-04-15 Siemens Ag Verfahren zum Testen eines Softwaresystems für technische Anlagen
US7284234B2 (en) * 2002-11-06 2007-10-16 Alcatel Canada Inc. System and method for implementing maintenance functions for a switch
US6996818B2 (en) * 2002-11-22 2006-02-07 Bitfone Corporation Update system for facilitating software update and data conversion in an electronic device
JP4417123B2 (ja) * 2003-02-19 2010-02-17 パナソニック株式会社 ソフトウェア更新方法及び無線通信装置
US7698700B2 (en) * 2003-04-17 2010-04-13 International Business Machines Corporation System quiesce for concurrent code updates
US7356577B2 (en) * 2003-06-12 2008-04-08 Samsung Electronics Co., Ltd. System and method for providing an online software upgrade in load sharing servers
US7379419B2 (en) * 2003-08-13 2008-05-27 Samsung Electronics Co., Ltd. Apparatus and method for performing an online software upgrade of resource servers
US8555273B1 (en) 2003-09-17 2013-10-08 Palm. Inc. Network for updating electronic devices
US20050114853A1 (en) * 2003-11-26 2005-05-26 Glider Joseph S. Software upgrade and downgrade in systems with persistent data
US7305672B2 (en) * 2004-01-06 2007-12-04 International Business Machines Corporation Dynamic software update system, method and program product
US20050198022A1 (en) * 2004-02-05 2005-09-08 Samsung Electronics Co., Ltd. Apparatus and method using proxy objects for application resource management in a communication network
JP2005259113A (ja) * 2004-02-12 2005-09-22 Ricoh Co Ltd プロセス編集装置、プロセス管理装置、プロセス編集プログラム、プロセス管理プログラム、記録媒体、プロセス編集方法及びプロセス管理方法
US7650593B2 (en) * 2004-03-25 2010-01-19 Microsoft Corporation Proxy objects for display
US7904895B1 (en) 2004-04-21 2011-03-08 Hewlett-Packard Develpment Company, L.P. Firmware update in electronic devices employing update agent in a flash memory card
US20050262495A1 (en) * 2004-05-18 2005-11-24 Bea Systems, Inc. Administration mode for server applications
US20050262494A1 (en) * 2004-05-18 2005-11-24 Bea Systems, Inc. Production redeployment through application versioning
US7660879B2 (en) 2004-05-20 2010-02-09 Ananthan Bala Srinivasan System and method for application deployment service
US7908047B2 (en) * 2004-06-29 2011-03-15 General Electric Company Method and apparatus for run-time incorporation of domain data configuration changes
US7617501B2 (en) 2004-07-09 2009-11-10 Quest Software, Inc. Apparatus, system, and method for managing policies on a computer having a foreign operating system
US20060217929A1 (en) * 2004-08-06 2006-09-28 Lockheed Martin Corporation Lifetime support process for rapidly changing, technology-intensive systems
US8526940B1 (en) 2004-08-17 2013-09-03 Palm, Inc. Centralized rules repository for smart phone customer care
US7404184B2 (en) * 2004-09-13 2008-07-22 International Business Machines Corporation Efficient firmware update for hierarchical data storage systems
US8146073B2 (en) * 2004-09-30 2012-03-27 Microsoft Corporation Updating software while it is running
US7219279B2 (en) * 2005-01-18 2007-05-15 International Business Machines Corporation Software testing
US20060179421A1 (en) * 2005-02-09 2006-08-10 International Business Machines Corporation Dynamic interface binding using XML transformations
US20070028208A1 (en) * 2005-06-07 2007-02-01 Alec Maki Runtime generative programming method and system
US8549172B2 (en) * 2005-08-19 2013-10-01 International Business Machines Corporation Distribution of software based on scheduled time to deploy software dynamic resource state of systems involved in deployment of software and based upon environmental conditions
ATE486316T1 (de) * 2005-08-30 2010-11-15 Sony Ericsson Mobile Comm Ab Verfahren und software für die optimierung der positionierung von software-funktionen in einem speicher
US8287379B2 (en) 2005-09-12 2012-10-16 Igt Distributed game services
US7887420B2 (en) * 2005-09-12 2011-02-15 Igt Method and system for instant-on game download
CN100459630C (zh) * 2005-09-30 2009-02-04 西安大唐电信有限公司 一种业务动态加载的方法
JP4732864B2 (ja) * 2005-11-15 2011-07-27 株式会社リコー プログラム配布サーバ、プログラム配布方法、及び、プログラム配布プログラムとその記録媒体
US7788660B2 (en) * 2005-11-17 2010-08-31 Bea Systems, Inc. Resource adapter classloading
US7882503B2 (en) * 2005-11-17 2011-02-01 Oracle International Corporation Production redeployment
US7904949B2 (en) 2005-12-19 2011-03-08 Quest Software, Inc. Apparatus, systems and methods to provide authentication services to a legacy application
US8087075B2 (en) 2006-02-13 2011-12-27 Quest Software, Inc. Disconnected credential validation using pre-fetched service tickets
JP4946141B2 (ja) * 2006-04-11 2012-06-06 ブラザー工業株式会社 構成変更プログラム、および情報処理装置
WO2007123527A1 (en) * 2006-04-20 2007-11-01 Srinivasan Chitoor V Technology for integrated computation and communication; ticc
US7996837B2 (en) * 2006-05-03 2011-08-09 Oracle International Corporation Recovery mechanism for transactions
EP2019985B1 (en) * 2006-05-12 2018-04-04 Nuance Communications Austria GmbH Method for changing over from a first adaptive data processing version to a second adaptive data processing version
EP2025095A2 (en) 2006-06-08 2009-02-18 Hewlett-Packard Development Company, L.P. Device management in a network
US8429712B2 (en) * 2006-06-08 2013-04-23 Quest Software, Inc. Centralized user authentication system apparatus and method
US20070299999A1 (en) * 2006-06-21 2007-12-27 Vicky Duerk Link protocol control for serial protocols
EP2047420A4 (en) 2006-07-27 2009-11-18 Hewlett Packard Development Co USER EXPERIENCE AND DEPENDENCE MANAGEMENT IN A MOBILE DEVICE
US8117461B2 (en) 2006-09-13 2012-02-14 Igt Method of randomly and dynamically checking configuration integrity of a gaming system
US7895332B2 (en) * 2006-10-30 2011-02-22 Quest Software, Inc. Identity migration system apparatus and method
US8086710B2 (en) 2006-10-30 2011-12-27 Quest Software, Inc. Identity migration apparatus and method
US7886270B2 (en) * 2006-11-28 2011-02-08 International Business Machines Corporation Methods, systems, and computer program products for file version control management
US9330529B2 (en) 2007-01-17 2016-05-03 Touchtunes Music Corporation Game terminal configured for interaction with jukebox device systems including same, and/or associated methods
US9171419B2 (en) 2007-01-17 2015-10-27 Touchtunes Music Corporation Coin operated entertainment system
US9953481B2 (en) 2007-03-26 2018-04-24 Touchtunes Music Corporation Jukebox with associated video server
CN100464522C (zh) * 2007-05-17 2009-02-25 华为技术有限公司 一种进程升级的方法及进程升级系统
US8132165B2 (en) * 2007-05-25 2012-03-06 Samsung Electronics Co., Ltd. Interception proxy-based approach for in-service software upgrade
US20090048022A1 (en) * 2007-08-13 2009-02-19 Igt Dynamic reconfiguration of promotional programs
US8868781B2 (en) * 2007-08-28 2014-10-21 Red Hat, Inc. Service forwarding addresses in distributed computing
US8332887B2 (en) 2008-01-10 2012-12-11 Touchtunes Music Corporation System and/or methods for distributing advertisements from a central advertisement network to a peripheral device via a local advertisement server
US10290006B2 (en) 2008-08-15 2019-05-14 Touchtunes Music Corporation Digital signage and gaming services to comply with federal and state alcohol and beverage laws and regulations
US8484376B2 (en) * 2007-10-31 2013-07-09 Red Hat, Inc. Hot-swappable services in distributed computing
US20090177862A1 (en) * 2008-01-07 2009-07-09 Kuo-Shu Cheng Input device for executing an instruction code and method and interface for generating the instruction code
US8689203B2 (en) * 2008-02-19 2014-04-01 Microsoft Corporation Software update techniques based on ascertained identities
US20090248397A1 (en) * 2008-03-25 2009-10-01 Microsoft Corporation Service Initiation Techniques
US20090247254A1 (en) * 2008-03-25 2009-10-01 Igt Physics modeling for gaming machine displays
US8101543B2 (en) * 2008-06-30 2012-01-24 Weyerhaeuser Nr Company Biodegradable superabsorbent particles
US8849435B2 (en) 2008-07-09 2014-09-30 Touchtunes Music Corporation Digital downloading jukebox with revenue-enhancing features
US8315996B2 (en) * 2008-08-13 2012-11-20 International Business Machines Corporation Efficient management of customized functionality within shared data objects
US8312447B2 (en) * 2008-09-25 2012-11-13 Microsoft Corporation Managing updates using compiler and linker information
US10235832B2 (en) * 2008-10-17 2019-03-19 Igt Post certification metering for diverse game machines
US10564804B2 (en) 2009-03-18 2020-02-18 Touchtunes Music Corporation Digital jukebox device with improved user interfaces, and associated methods
JP5567653B2 (ja) 2009-03-18 2014-08-06 タッチチューンズ ミュージック コーポレイション エンターテイメントサーバおよび関連するソーシャルネットワーキングサービス
US9292166B2 (en) 2009-03-18 2016-03-22 Touchtunes Music Corporation Digital jukebox device with improved karaoke-related user interfaces, and associated methods
US10719149B2 (en) 2009-03-18 2020-07-21 Touchtunes Music Corporation Digital jukebox device with improved user interfaces, and associated methods
US8438558B1 (en) 2009-03-27 2013-05-07 Google Inc. System and method of updating programs and data
EP2241977B1 (en) * 2009-04-17 2015-05-27 Accenture Global Services Limited Exchangeable application components
US8255984B1 (en) 2009-07-01 2012-08-28 Quest Software, Inc. Single sign-on system for shared resource environments
US8589904B2 (en) * 2009-08-10 2013-11-19 Symantec Corporation Systems and methods for updating a software product
JP4957765B2 (ja) * 2009-08-24 2012-06-20 日本電気株式会社 ソフトウェアプログラム実行装置、ソフトウェアプログラム実行方法、及びプログラム
US8335820B1 (en) * 2009-12-15 2012-12-18 Emc Corporation Techniques for persistence of connections
KR101446403B1 (ko) 2010-01-26 2014-11-04 터치튠즈 뮤직 코포레이션 개선된 사용자 인터페이스를 갖는 디지털 쥬크박스 장치, 및 관련된 방법
US8881134B2 (en) * 2010-04-29 2014-11-04 International Business Machines Corporation Updating elements in data storage facility using predefined state machine over extended time period
US9134996B2 (en) * 2011-04-28 2015-09-15 F-Secure Corporation Updating anti-virus software
CA2971002A1 (en) 2011-09-18 2013-03-21 Touchtunes Music Corporation Digital jukebox device with karaoke and/or photo booth features, and associated methods
US11151224B2 (en) 2012-01-09 2021-10-19 Touchtunes Music Corporation Systems and/or methods for monitoring audio inputs to jukebox devices
US9160653B2 (en) * 2012-06-07 2015-10-13 International Business Machines Corporation Dynamic redirection of network traffic within a system under test
US9043903B2 (en) 2012-06-08 2015-05-26 Crowdstrike, Inc. Kernel-level security agent
US9152410B2 (en) * 2012-06-21 2015-10-06 Vaibhav KHANDELWAL Auto-update while running client interface with handshake
US9292881B2 (en) 2012-06-29 2016-03-22 Crowdstrike, Inc. Social sharing of security information in a group
US20140053144A1 (en) * 2012-08-14 2014-02-20 Microsoft Corporation Service environment upgrades based on upgrade health of service units
CN103677878B (zh) * 2012-09-12 2017-07-14 国际商业机器公司 一种打补丁的方法和装置
CN102880495A (zh) * 2012-10-15 2013-01-16 华为终端有限公司 移动终端及其软件升级方法
US8997047B2 (en) * 2012-12-13 2015-03-31 International Business Machines Corporation Dynamically updating code without requiring processes to restart
US20140229928A1 (en) * 2013-02-11 2014-08-14 Claes Göran Edström Upgrading software in production environments
US8739151B1 (en) 2013-03-15 2014-05-27 Genetec Inc. Computer system using in-service software upgrade
US9158534B2 (en) * 2013-03-15 2015-10-13 Wolters Kluwer United States Inc. Smart endpoint architecture
WO2015070070A1 (en) 2013-11-07 2015-05-14 Touchtunes Music Corporation Techniques for generating electronic menu graphical user interface layouts for use in connection with electronic devices
US10289405B2 (en) 2014-03-20 2019-05-14 Crowdstrike, Inc. Integrity assurance and rebootless updating during runtime
JP6777545B2 (ja) 2014-03-25 2020-10-28 タッチチューンズ ミュージック コーポレイションTouchtunes Music Corporation 改善されたユーザインターフェースを備えたデジタルジュークボックス装置および関連する方法
US9947048B2 (en) * 2014-06-04 2018-04-17 Nasdaq Technology Ab Apparatus and methods for implementing changed monitoring conditions and/or requirements using dynamically-modifiable control logic
US9298590B2 (en) * 2014-06-26 2016-03-29 Google Inc. Methods and apparatuses for automated testing of streaming applications using mapreduce-like middleware
KR101907418B1 (ko) 2014-07-01 2018-10-12 한국전자통신연구원 동적 모듈, 이를 구비한 동적 업그레이드 장치 및 방법
GB2531546B (en) 2014-10-21 2016-10-12 Ibm Collaborative maintenance of software programs
EP3254189B1 (en) * 2015-02-18 2019-01-16 Huawei Technologies Co., Ltd. Upgrading of a mobile network function
US10580006B2 (en) 2015-07-13 2020-03-03 Mastercard International Incorporated System and method of managing data injection into an executing data processing system
US10339316B2 (en) 2015-07-28 2019-07-02 Crowdstrike, Inc. Integrity assurance through early loading in the boot phase
US10698675B2 (en) * 2016-12-19 2020-06-30 International Business Machines Corporation Decentralized automated software updates via blockchain
US10740459B2 (en) 2017-12-28 2020-08-11 Crowdstrike, Inc. Kernel- and user-level cooperative security processing
DE102018204188A1 (de) * 2018-03-20 2019-09-26 Audi Ag Verfahren zum Durchführen eines Updates einer Softwareapplikation in einem Gerät, das sich im Betrieb befindet, sowie Gerät und Kraftfahrzeug
CN108959102B (zh) * 2018-07-27 2020-01-17 百度在线网络技术(北京)有限公司 用于生成测试数据、测试待测试应用的方法和装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2472234A1 (fr) * 1979-12-21 1981-06-26 Philips Ind Commerciale Protocoles de communication geres par les modules de communication utilises dans un systeme de traitement de donnees reparti
US4688170A (en) * 1983-09-22 1987-08-18 Tau Systems Corporation Communications network for communicating with computers provided with disparate protocols
US4649473A (en) * 1985-06-17 1987-03-10 International Business Machines Corporation Flexible data transmission for message based protocols
US4787028A (en) * 1985-09-03 1988-11-22 Ncr Corporation Multicommunication protocol controller
US5093916A (en) * 1988-05-20 1992-03-03 International Business Machines Corporation System for inserting constructs into compiled code, defining scoping of common blocks and dynamically binding common blocks to tasks
US5008814A (en) * 1988-08-15 1991-04-16 Network Equipment Technologies, Inc. Method and apparatus for updating system software for a plurality of data processing units in a communication network
US4954941A (en) * 1988-08-31 1990-09-04 Bell Communications Research, Inc. Method and apparatus for program updating
US5175828A (en) * 1989-02-13 1992-12-29 Hewlett-Packard Company Method and apparatus for dynamically linking subprogram to main program using tabled procedure name comparison
US5155837A (en) * 1989-03-02 1992-10-13 Bell Communications Research, Inc. Methods and apparatus for software retrofitting
DE59005294D1 (de) * 1989-11-29 1994-05-11 Siemens Ag Verfahren zur dynamischen bindung von definierbaren programmelementen eines interaktiven datenverarbeitungssystems.
GB2242293A (en) * 1990-01-05 1991-09-25 Apple Computer Apparatus and method for dynamic linking of computer software components
US5297285A (en) * 1991-07-23 1994-03-22 Telefonaktiebolaget L M Ericsson System for dynamically linking modular portions of computer software
JPH06510150A (ja) * 1991-11-27 1994-11-10 テレフオンアクチーボラゲツト エル エム エリクソン 通信スィッチングシステムのソフトウエア構造

Also Published As

Publication number Publication date
DE69326464D1 (de) 1999-10-21
FI946195A0 (fi) 1994-12-30
AU667559B2 (en) 1996-03-28
KR100323881B1 (ko) 2002-07-08
CN1081010A (zh) 1994-01-19
AU4516493A (en) 1994-01-31
CN1233011A (zh) 1999-10-27
US5555418A (en) 1996-09-10
ES2140462T3 (es) 2000-03-01
US5410703A (en) 1995-04-25
DK0648353T3 (da) 2000-04-03
MX9303648A (es) 1994-01-31
WO1994001819A1 (en) 1994-01-20
GR3031915T3 (en) 2000-03-31
EP0648353B1 (en) 1999-09-15
FI946195A (fi) 1994-12-30
EP0648353A1 (en) 1995-04-19
CN1045829C (zh) 1999-10-20
DE69326464T2 (de) 2000-02-03
BR9306651A (pt) 1998-12-08

Similar Documents

Publication Publication Date Title
FI106752B (fi) Järjestelmä ohjelmiston vaihtamiseksi tietokoneen käytön aikana
EP0456249B1 (en) System for integrating application programs in a heterogeneous network enviroment
Seifzadeh et al. A survey of dynamic software updating
US5339430A (en) System for dynamic run-time binding of software modules in a computer system
Mennie et al. An architecture to support dynamic composition of service components
Tavares et al. A gentle introduction to OSGi
CN110716748A (zh) 业务处理方法、装置、计算机可读介质及电子设备
EP1300757A1 (en) Shareable installation hierarchies
Huston et al. The ACE programmer's guide: practical design patterns for network and systems programming
JPH02272627A (ja) デイジタル・コンピユータ・システムとその手続呼び出し方法
JPH07202979A (ja) 電気通信システムインタフェース
US11531526B1 (en) Creating portable serverless applications
US20110161930A1 (en) Melding of mediation flow service component architecture (sca) components
CN112328406B (zh) 一种基于tcc的微服务分布式事务系统以及业务处理方法
CN117873597A (zh) 一种通过可视化配置方式实现api编排的方法和系统
CN113626095A (zh) 配置中心的切换方法、切换系统、电子设备及存储介质
CN113032004A (zh) 在开发环境中管理开发作业的方法、设备和程序产品
US20080201691A1 (en) Version resiliency for a host application and custom code
US11513833B1 (en) Event listener interface for container-based execution of serverless functions
US20090199159A1 (en) Declarative execution context splitting
Abu-Matar et al. Architecture-based dynamic evolution runtime environment (ADERE) for service-based systems
Wani Leveraging SOA Principles in Development of Modular & Scalable NLP Pipelines
Estublier et al. Deployment descriptions in a world of COTS and open source
KR100475853B1 (ko) uniORB 코바 기반의 통신시스템에서 서비스 구현객체에 대한 동적 재구성 방법 및 그 장치
CN116166313A (zh) 接口的调用方法及其装置、电子设备及存储介质