NO300245B1 - Fremgangsmåte og innretning for informasjonsoverföring mellom samtidig arbeidende datamaskinprogrammer - Google Patents

Fremgangsmåte og innretning for informasjonsoverföring mellom samtidig arbeidende datamaskinprogrammer Download PDF

Info

Publication number
NO300245B1
NO300245B1 NO900236A NO900236A NO300245B1 NO 300245 B1 NO300245 B1 NO 300245B1 NO 900236 A NO900236 A NO 900236A NO 900236 A NO900236 A NO 900236A NO 300245 B1 NO300245 B1 NO 300245B1
Authority
NO
Norway
Prior art keywords
information
program
user
data
symbol
Prior art date
Application number
NO900236A
Other languages
English (en)
Other versions
NO900236D0 (no
NO900236L (no
Inventor
William E Good
Harold A Hildebrand
Jr Cedric V Snyder
Joseph L Stiles
Kathleen M Whitfield
Marie S Jansen
Original Assignee
Landmark Graphics Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Landmark Graphics Corp filed Critical Landmark Graphics Corp
Publication of NO900236D0 publication Critical patent/NO900236D0/no
Publication of NO900236L publication Critical patent/NO900236L/no
Publication of NO300245B1 publication Critical patent/NO300245B1/no

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/186Templates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Information Transfer Between Computers (AREA)
  • Communication Control (AREA)
  • Computer And Data Communications (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)
  • Digital Computer Display Output (AREA)
  • Hardware Redundancy (AREA)

Description

Oppfinnelsen angår en fremgangsmåte og en innretning for overføring av informasjon mellom flere programmer som arbeider samtidig i et datamaskinsystem.
Datamaskinsystemer, særlig de som arbeider med et nettverk, har ofte flere programmer som arbeider samtidig. Det er ofte nødvendig at informasjon overføres fra ett program til et annet, enten innen en eneste prosessor eller tvers over et nettverk. En bruker må ofte behandle informasjon ved benyttelse av forskjellige programmer, og også gjenfinne skjermvisingsinfor-mas jon ved benyttelse av flere programmer som er aktive samtidig i systemet. Det er derfor viktig at informasjon kan overføres raskt og lettvint mellom flere programmer som arbeider innenfor systemet. Det er dessuten viktig at brukeren er i stand til lettvint og raskt å endre og spesifisere typen av informasjon som utveksles mellom de mange programmer.
Vindusdannende programvareteknologi anvendes der hvor det er viktig for brukeren å være i stand til å fremvise og vekselvirke med flere programmer som kan være under kjøring samtidig i et datamaskinsystem. Et "vindu" er definert som et parti av en fremvisningsskjerm, såsom en bildeskjerm (CRT). Vinduet dekker mindre enn helheten av skjermen, slik at det kan være flere vinduer på skjermen på samme tid. Typisk beveger brukeren en markør rundt om på skjermen ved benyttelse av en inngangsanordning, såsom en skjermpilot eller flere taster på et tastbord. Markøren kan beveges fra ett vindu til det neste på skjermen, og når markøren er til stede i ett av vinduene, settes brukeren i forbindelse med det brukerprogram som frembrakte dette vindu. Denne type vindusdannelses-"miljø" tillater brukeren å få tilgang til flere forskjellige brukerprogrammer på lettvint måte, slik at han kan utføre flere oppgaver uten å måtte innlaste et nytt program hver gang en ny oppgave skal utføres.
Slik som med andre samtidig arbeidende programsystemer, er det ofte nødvendig for en bruker å overføre informasjon fra ett vindusutstyrt program til et annet. Overføring av informasjon mellom programmer er et hovedformål med den foreliggende oppfinnelse. Oppfinnelsen kan godt anvendes i et vindusdannel-sesmiljø, selv om et sådant miljø ikke er nødvendig for prak-tisering av oppfinnelsen.
Det finnes to konvensjonelle teknikker for overføring av informasjon mellom programmer. Den første kalles "kutte og klistre" ("cut and paste"). Denne består i å peke på (utvelge) informasjon, såsom tekst eller data, i ett vindu for å fremheve' denne og derved atskille den fra den resterende informasjon i vinduet. Brukeren inntrykker deretter en spesiell knapp eller tast som beveger den utvalgte informasjon til et lagerområde som er spesielt utpekt av operativsystemet og kjent som "klistre-lager" ("paste memory") eller "skriveplate" ("clipboard"). Brukeren beveger deretter markøren til et annet vindu som skal motta informasjonen. En "klistreknapp" eller kommando anropes eller påkalles av brukeren for å gjenfinne den lagrede informasjon fra det utpekte eller angitte lagerområde og plassere denne på stedet for markøren. Det skal bemerkes at alle trinn i denne prosess utføres av brukeren, og det finnes ingen angivelse av hvilket av vindusprogrammene som er inf ormas jonsprodusentprogram-mer eller informasjonsbrukerprogrammer.
En andre konvensjonell teknikk er å etablere en programmert forbindelse mellom to programmer av hvilke hvert kan fremvise informasjon i et vindu. Begge programmer må være konstruert for å reagere på en forutbestemt inngangskommando som forårsaker at informasjon forskyves fra det ene program til det andre. Denne operasjon kan likeledes være fullstendig under brukerledelse og krever en brukerinnmating før den kan fungere. En annen ulempe med denne teknikk er at hver kommunikasjonsbane mellom par av programmer må være programmert inn i koden til begge programmer, hvilket skaper et ufleksibelt system. Med denne konvensjonelle metode er det vanskelig å tilføye nye kommunika-sjonsbaner eller å endre eksisterende baner.
Formålet med oppfinnelsen er derfor å tilveiebringe en rask og fleksibel metode og en innretning for overføring av informasjon mellom flere brukerprogrammer som er tilgjengelige samtidig for en bruker.
For oppnåelse av ovennevnte formål er det tilveiebrakt en fremgangsmåte og en innretning som er kjennetegnet ved de karakteriserende trekk som er angitt i de etterfølgende krav 1 hhv. 12.
Ved fremgangsmåten ifølge oppfinnelsen overføres informasjon mellom flere programmer som arbeider samtidig i et datamaskinsystem som omfatter en ut-anordning, såsom en skjerm, for tilveiebringelse av informasjon til en bruker, og en inn-anordning, såsom en "mus" (skjermpilot) eller et tastbord, for mottakelse av kommandoer fra brukeren. Hvert av et antall brukerprogrammer kan generere en vindusfremvisning på ut-anord-ningen. Brukeren kommuniserer med (interfaces with) brukerprogrammene via den tilsvarende vindusskjermvising og inn-anordning-en. Én eller flere inf ormas jonskoder registreres med et tidsklareringsprogram for hvert av utvalgte av brukerprogrammene, for å frembringe en liste som omfatter informasjonskoder for hvert registrert brukerprogram. Hver av informasjonskodene representerer en spesiell type eller samling av den nevnte informasjon. Informasjonskodene i listen for de registrerte brukerprogrammer representerer informasjon som benyttes av tilsvarende brukerprogrammer. Symbolmaler som omfatter informasjon og den tilsvarende informasjonskode, genereres av ett eller flere av brukerprogrammene og overføres til tidsklareringsprogrammet. Informasjonskoden i den genererte symbolmal sammenliknes med inf ormas jonskodene i den registrerte liste for å finne eventuelle sammenpasninger (matches) som identifiserer de brukerprogrammer som er registrert for å motta den informasjon som identifiseres av inf ormas jonskoden i listen. Tidsklareringsprogrammet overfører deretter den genererte symbolmal, eller i det minste informasjonen i den genererte symbolmal, til hvert av de identifiserte brukerprogrammer som er identifisert av sammenpasninger. De inf ormas jons frembringende brukerprogrammer og inf ormas jonsbenyttende brukerprogrammer kan således utføre informasjonsutveksling etter hvert som informasjonen frembringes, uten behov for kommunikasjonsledelse av brukeren.
Oppfinnelsen skal beskrives nærmere i det følgende i forbindelse med et utførelseseksempel under henvisning til tegningene, der fig. 1 viser en illustrasjon av et datamaskinsystem med en skjerm som har flere vinduer åpnet på skjermen, sammen med tastbord-, fjernføler- og skjermpilot-innmatirigsan-ordninger, fig. 2A-2C illustrerer et vanlig symbolmal format såvel som tomme og fulle symbolmaler for data slik de benyttes i overensstemmelse med oppfinnelsen, fig. 3A-3D er tidssekvenserte, skjematiske oversiktsdiagrammer som viser datastrøm og vekselvirkning mellom samtidig arbeidende brukerprogrammer og et tidsklareringsprogram for datasymbolmalregistreringer i overensstemmelse med oppfinnelsen, fig. 4A-4D er tidssekvenserte, skjematiske oversiktsdiagrammer som viser datastrøm og veksel-virkningen mellom samtidig arbeidende brukerprogrammer og et tidsklareringsprogram for datasymbolmalregistrering i et mer sammensatt eksempel i overensstemmelse med oppfinnelsen, fig. 5A-5G er tidssekvenserte, skjematiske oversiktsdiagrammer som viser datastrøm og vekselvirkning mellom samtidig arbeidende brukerprogrammer og et tidsklareringsprogram for symbolmalsammenpassende symbolmalregistrering i overensstemmelse med oppfinnelsen, fig. 6 viser en illustrasjon av et datamaskinsystemnettverk som kan realisere den foreliggende oppfinnelse, fig. 7 viser en illustrasjon av brukerprogram-, tidsklareringsprogram- og nettverk-programvarevekselvirkning for et nettverksystem, fig. 8 er et flytskjema som illustrerer virkemåten av et brukerprogram som krever data og registrerer med tidsklareringsprogrammet for å oppnå dataene, fig. 9 er et flytskjema som illustrerer virkemåten av datagenereringsprogrammet som tilveiebringer data til tidsklareringsprogrammet, fig. 10-20 er flytskjemaer som illustrerer oppsettingen av en registreringsliste i et tidsklareringsprogram ved hjelp av et brukerprogram og overføringen av data mellom brukerprogrammene og tidsklareringsprogrammet, fig. 21 viser et strukturskjema for et tidsklareringsprogram, fig. 22 viser et strukturskjema for et brukerprogram som registrerer med tidsklareringsprogrammet for å motta data, og fig. 23 viser et strukturskjema for et brukerprogram som genererer data og tilveiebringer disse til tidsklareringsprogrammet.
Kort beskrivelse av tilleggene ( appendiksene)
Programkildekodelister for de programutførelser som er beskrevet her, er inkludert i Tilleggene. Beskrivelsen av den foreliggende oppfinnelse gjøres under henvisning til disse tillegg såvel som til tegningsfigurene.
Tillegg I-l til 1-55 er kildekodelister for det pekende tidsklareringsprogram eller PD-programmet (pointing dispatcher program) som er vist strukturelt på fig. 21, sammen med hver av de opplistede programmoduler som svarer til eller vekselvirker med PD-programmet,
Tillegg II-l til II-5 er kildekodelister for TPXDATA, et datagenererende program, som er strukturelt vist på fig. 22, og de tilhørende programmoduler som ikke er tidligere vist i
Tillegg I,
Tillegg III-l til III-2 er kildekodelister for TPXPDMT, et databenyttende program, som er strukturelt vist på fig. 23, og de tilhørende programmoduler som ikke er tidligere vist i Tilleggene I eller II.
Tilleggene I, II og III svarer til programstrukturskje-maene på fig. 21, 22 og 23. Hver programmodul er imidlertid listeført bare én gang selv om den kan forekomme flere ganger i strukturskj emaene.
Kildekodelistene i Tilleggene er i "C-språket som er et veletablert og i stor utstrekning benyttet språk innen faget.
Nærmere beskrivelse av oppfinnelsen
Den foreliggende oppfinnelse kan realiseres i form av et program for overføring av data mellom samtidig arbeidende programmer i et datamaskinsystem. Slik som nærmere beskrevet i det følgende, kan datamaskinsystemet være et nettverk eller en eneste prosessor. Den utførelse som er vist og beskrevet for den foreliggende oppfinnelse, benytter et "vindusdannende" miljø
("windowing" environment) i hvilket brukerprogrammer samtidig frembringer skjermvisinger på en eneste bildeskjerm. En sådan vindusdannende "konfigurasjon" kan frembringes ved benyttelse av et sådant program som "X Window", et programvareprodukt som distribueres av MIT X Window Consortium og selges av Inter-national Business Machines Corp. (IBM).
En maskinvareutførelse og prøve-skjermvising for realisering av den foreliggende oppfinnelse er vist på fig. 1. Et datamaskinsystem 30 omfatter en monitor 31 med en skjerm eller bildeflate 32, et understell 34 som inneholder datamaskin-elektronikken såvel som et diskettdrev 36 og et hardplatedrev 38. En kabel 35 forbinder systemet 30 med en fjernføler 37 som er f.eks. en industriprosessføler for overvåkning av sådanne parametere som temperatur, trykk, posisjon, etc. Systemet omfatter videre innmatings- eller inn-anordninger som er et tastbord 40 og en "mus" (skjermpilot) 42. Systemet 30 kan være enten en frittstående prosessor eller den ene prosessor i et nettverk som inneholder andre prosessorer, såsom systemet 30.
En utvalgt utførelse av systemet 30 er en IBM RT-PC modell 115.
RT-PC modell 115 arbeider med AIX-operativsystem-versjonen 2.2 som er beskrevet i en IBM-håndbok med tittelen "Using the AIX Operating System", med opphavsrettsdato 1985, 1988. Dette operativsystem omfatter evnen til å ha flere samtidig arbeidende programmer, en prosess som betegnes som multioppgave-kjøring. Dette operativsystem kan arbeide tvers over et nettverk, slik at programmer og data i forskjellige punkter i nettverket kan aksesseres av programmer i andre punkter i nettverket.
Slik det her benyttes, er uttrykket "brukerprogram"
("application program") et program som tilveiebringer de funksjonelle resultater som kreves av brukeren, og står i motsetning til operativsystemprogrammer som sørger for grunnleggende maskinvare- og programvareoperasjoner, men er ikke de som er spesifikke for brukerens anvendelse.
På bildskjermen 32 er det vist forskjellige "vinduer" som er blitt åpnet for respektive brukerprogrammer. Disse omfatter vinduer 50, 52, 54 og 56. Den foreliggende oppfinnelse er beskrevet med henvisning til et system for behandling og vurdering av brønninf ormas jon for petroleumsleteaktiviteter, selv om oppfinnelsen ikke er begrenset til denne anvendelse. Vinduet 50 fremviser et kart over brønnbeliggenheter med forskjellige betegnelser for forskjellige typer av brønner. Vinduet 52 viser en kryssplotting av brønnloggingsdata. Vinduet 54 er en loggfrem-visning for et område av dybder i en spesiell brønn. Vinduet 56 er en tredimensjonal plotting som betegnes som edderkopp-plotting (spider plot).
Bildeskjermen 32 omfatter videre driftsvinduer 58, 60 og 62 som benyttes til å frembringe eller endre vindusfremvis-ninger eller kalle opp driftsprogrammer, og til å fremvise valgmuligheter for brukeren. En markør beveges rundt på skjermen 32 ved manøvrering av musen 42 for å utvelge et spesielt program eller data for bruk av operatøren.
I dette spesielle eksempel har operatøren utvalgt én av de brønner som fremvises i vinduet 50, og har fremkalt informasjon angående denne brønn. Denne informasjon fremvises i vinduene 52, 54 og 56. Ved å vurdere brønninformasjon på denne måte, kan brukeren få tilgang til og undersøke store mengder av informasjon på en lettvint oppfattet måte. Sådan utnyttelse krever imidlertid at brukerprogrammene raskt overfører og mottar informasjon seg imellom, for frembringelse av de forskjellige skjermvisinger.
Den foreliggende oppfinnelse tjener til å overføre data mellom forskjellige brukerprogrammer, slik som foran omtalt. Ved den foreliggende oppfinnelse benyttes et element (item) som betegnes som "symbolmal" ("tempi a te11). En beskrivelse av symbolmalen i forskjellige former er vist på fig. 2A, 2B og 2C. Idet det nå henvises til fig. 2A, er det der vist en "generisk" symbolmal 66. En sådan symbolmal 66 inneholder et antall felter som definerer bruken av symbolmalen, og den informasjon som uttrykkes av denne. Ved betraktning fra venstre mot høyre finnes det først et "SYMBOLMAL-FORMATKODE"-felt som inneholder én av en gruppe på forhånd definerte koder som definerer den informasjon som skal uttrykkes av symbolmalen. Denne kode benyttes i relasjon til de datafelter som befinner seg på høyre side av symbolmalen. Det kan finnes ett eller flere sådanne datafelter. Symbolformat-koden definerer hvor mange felter som finnes i en spesiell symbolmal såvel som typen av informasjon som er inneholdt i hvert av feltene.
Symbolmalen 66 inneholder videre et "Symbolmal-jam-førende NØKKEL"-felt som har som oppgave å spesifisere spesielle forekomster av de datafelter som må jamføres før en "fylt" symbolmal sendes til et identifisert brukerprogram. For hvert av de spesifiserte dataf elter i en symbolmal, innbefattet SYMBOLMAL--FORMATKODEN, finnes en tilsvarende bitbeliggenhet eller bitnummer i det Symbolmal-jamførende NØKKEL-felt for å spesifisere om et spesielt felt må jamføres eller sammenpasses nøyaktig før den mottatte symbolmal overføres til et registrert brukerprogram. Dersom således det Symbolmal-jamførende NØKKEL-felt er null, fungerer dette felt som et "villkort" (wildcard) da ingen ting kreves for en jamføring, slik at alle data tillates å passe sammen med en symbolmal med en Symbolmal-jamførende NØKKEL som er lik null. En bruker som registrerer en symbolmal med et null-felt for det Symbolmal-jamførende NØKKEL-felt, mottar alle datasymbolmaler som overføres.
I symbolmalen 66 er det videre inkludert et felt som betegnes "ST YRE INFORMASJON" og som har som oppgave å medbringe informasjon som ble plassert i dette felt opprinnelig av det registrerende brukerprogram. STYREINFORMASJONEN er typisk adressen til en subrutine for et brukerprogram. Denne spesielle subrutine er den som innkalles når den fylte datasymbolmal returneres til brukerprogrammet. Når en sådan symbolmal mottas, utfører det mottakende brukerprogram den indikerte subrutine.
Idet det nå henvises til fig. 2B, er det der vist en symbolmal 67 som betegnes som en "tom" symbolmal, hvilket er en symbolmal uten noen informasjon i datafeltene. Denne symbolmal inneholder nummeret eller tallet "11" i SYMBOLMAL-FORMATKODE-feltet. Koden 11 er vilkårlig definert for dette eksempel som en symbolmal som har tre enheter eller felter av informasjon, ett for hvert av de tre dataf el ter. Felt 1 er definert som "BRØNN-ID", hvilket er identifikasjonen av en spesiell brønn, felt 2 er definert som "X-BELIGGENHET", og felt 3 er definert som "Y-BELIGGENHET". X- og Y-beliggenhetsfeltene definerer en spesiell beliggenhet for den brønn som er identifisert i felt 1. Beliggenhetene spesifiserer et punkt i et todimensjonalt gittersystem. Sådanne beliggenheter kan være, men er ikke nødvendigvis, breddegrads- og lengdegradstall. Symbolmalen 67 inneholder også tallet "1" i det Symbolmal-jamførende NØK-KEL- f elt. En "1" indikerer at SYMBOLMAL-FORMATKODEN og bare SYMBOLMAL-FORMATKODEN må passe sammen (match) mellom to symbolmaler før de to symbolmaler benevnes som jamførende eller sammenpassende (matching). Symbolmalen 67 er her videre definert som en "datajamførende symbolmal" som registreres på vegne av et brukerprogram for for dette program å oppnå de data som er definert i feltene 1, 2 og 3.
Det kan finnes hvilket som helst antall symbolmalformatkoder, og disse koder kan defineres slik at de representerer hvilken som helst spesifikk informasjon eller hvilken som helst samling av informasjon. I en mer generell betydning er disse symbolmal f ormatkoder inf ormas jonskoder som likeledes kan representere hvilken som helst spesifikk informasjon, såsom en BRØNN-ID, eller en samling av informasjon, såsom kombinasjonen av BRØNN-ID, X-beliggenhet og Y-beliggenhet.
Dersom et brukerprogram som krever data, genererer en symbolmal, slik som vist på fig. 2B, kan dette program også tilveiebringe en begrensning slik at det ikke mottar hver symbolmal med symbolmalformatkode 11. For eksempel kan det databenyttende brukerprogram innføre spesiell BRØNN-ID-informasjon i felt 1. For å indikere at bare de symbolmaler som har tilsvarende BRØNN-ID-data skal mottas, innstilles en bit eller et tall i det Symbolmal-jamførende NØKKEL-felt som svarer til felt 1. Tidsklareringsprogrammet (PD-programmet), som skal beskrives nedenfor, kontrollerer alltid hver mottatt symbolmal mot den symbolmal jamførende nøkkel for å bestemme om en jamføring eksisterer for de spesifiserte datafelter, innbefattet SYMBOLMAL- FORMATKODEN. Bare dersom det eksisterer jamføringer for alle disse felter, symbolmalformatkoden og hvilke som helst spesifiserte datafelter, sendes den genererte symbolmal deretter til det identifiserte, fordrende brukerprogram.
Idet det henvises til fig. 2C, er det der vist hva som betegnes som en "full" symbolmal 68, hvilket er en symbolmal som har data i datafeltene. Denne svarer til symbolmalen 67, men inneholder faktiske data i dataf eltene 1, 2 og 3. I felt 1 er det vist en faktisk BRØNN-ID som er TX-709. I felt 2 er det vist en faktisk X-BELIGGENHET, som er 29.1, og i felt 3 er det vist en faktisk Y-BELIGGENHET, som er 45.4.
Avhengig av sin funksjon kan de her beskrevne brukerprogrammer generere "tomme" eller "fulle" symbolmaler, eller begge deler.
I beskrivelsen av den foreliggende oppfinnelse blir uttrykkene data og informasjon begge benyttet, og uttrykket informasjon omfatter hvilken som helst form for data. Uttrykket "informasjonskode" betyr en kode, såsom et tall, som representerer en spesiell type informasjon eller en samling av spesielle typer av informasjon.
En funksjonsbeskrivelse av den foreliggende oppfinnelse skal nå gis under henvisning til fig. 3A, 3B, 3C og 3D. Disse figurer representerer skjematisk en tidssekvens av operasjoner for overføring av data mellom to brukerprogrammer. Et sentralt program i den foreliggende oppfinnelse betegnes som "tidsklareringsprogram". I flytskjemaene og tilleggene er dette videre omtalt som "Pekende Tidsklareringsprogram" ("Pointing Dispatcher"), og dette uttrykk forkortes som "PD". På fig. 3A-3D er det vist brukerprogrammer A, B og C såvel som et tidsklareringsprogram. Man må være klar over at illustrasjonene på fig. 3A-3D ikke er vinduer, slik det er vist på fig. 1.
Fig. 3A viser en fremstilling av trinnet "REGISTRERING AV DATASYMBOLMAL". I dette trinn overfører brukerprogrammet A en symbolmal 70 til tidsklareringsprogrammet hvor den plasseres i en liste 82. Symbolmalen 70 har en symbolmal f orma tkode (på 17) som vilkårlig definerer at symbolmalen inneholder ett datafelt, hvilket er vist på høyre side, og dette felt omfatter en BRØNN-ID. Den Symbolmal-jamførende NØKKEL inneholder en 1, hvilket indikerer at SYMBOLMALFORMATKODENE må jamføres eller sammenpasses. Ingen ting er blitt angitt i STYREINFORMASJON-feltet. I dette tilfelle betegnes symbolmalen 70 som en "tom symbolmal". Listen 82 omfatter ett eller flere sett av tilsvarende elementer omfattende en symbolmal og et anvendelses- eller brukskjennemerke (application identifier), såsom et kjennemerke 84. Kjennemerket 84 representerer identifikasjonen av det spesielle brukerprogram som har registrert en symbolmal i listen
82 med tidsklareringsprogrammet.
Brukerprogrammet A" registrerer symbolmalen 70 med tidsklareringsprogrammet som lagrer denne symbolmal i listen 82 for det formål å gjøre det kjent for tidsklareringsprogrammet at brukerprogrammet A krever den type data som er identifisert ved hjelp av symbolmal f ormatkoden (17) i symbolmalen 70.
Idet det nå henvises til fig. 3B, viser denne figur det neste tidssekvenstrinn med "FREMBRINGELSE OG OVERFØRING AV DATASYMBOLMAL". En datafylt symbolmal kan genereres av hvilket som helst av mange brukerprogrammer. I dette eksempel genererer brukerprogrammet B en symbolmal 70A, hvilken er symbolmalen 70 fylt med data i sitt ene dataf elt. Denne "fulle" symbolmal 70A overføres deretter til tidsklareringsprogrammet.
Det neste sekvenstrinn er vist på fig. 3C. Dette betegnes som "SAMMENLIKNING FOR Å FINNE JAMFØRINGER". I tidsklareringsprogrammet sammenliknes symbolmalformatkoden i symbolmalen 70A med hver av symbolmalformatkodene i symbolmalene i registrer-ingslisten 82. Hvilket som helst antall av inntastinger kan være registrert i listen 82. Når en jamføring eller sammenpasning finnes mellom symbolmalformatkoden i den mottatte symbolmal, såsom 70A, og en inntasting i listen, såsom symbolmalen 70, identifiseres altså et spesielt brukerprogram ved hjelp av brukskjennemerket, såsom 84, hvilket identifiserer det brukerprogram (A) som registrerte symbolmalen 70.
Idet det nå henvises til fig. 3D, viser denne figur det neste sekvenstrinn som betegnes som "OVERFØRING AV DATASYMBOLMAL" . I det foregående trinn hadde tidsklareringsprogrammet bestemt at det fantes en jamføring som identifiserte brukerprogrammet A. Som reaksjon på denne jamføring sender tidsklareringsprogrammet symbolmalen 70A til brukerprogrammet A. Brukerprogrammet A mottar symbolmalen 70A som inneholder dataene "TX-209", som er identifikasjonen av en brønn. Brukerprogrammet A har således mottatt de data som det opprinnelig krevde ved registrering med tidsklareringsprogrammet. Legg merke til at ved den foreliggende oppfinnelse kommuniserer ikke brukerprogrammene direkte med hverandre, men i stedet kommuniserer hvert brukerprogram bare med tidsklareringsprogrammet.
Et mer sammensatt eksempel på den foreliggende oppfinnelse skal nå beskrives under henvisning til fig. 4A, 4B, 4C og 4D. Disse figurer representerer likeledes tidssekvenstrinn i overensstemmelse med oppfinnelsen, men viser et mer sammensatt eksempel. På fig. 4A registrerer brukerprogrammet A tre "tomme" symbolmaler 70, 72 og 74 i listen 82 i tidsklareringsprogrammet. Disse symbolmaler har respektive symbolmalformatkoder på 17, 21 og 25. Symbolmalen 70 er f.eks. "BRØNN-ID", symbolmalen 72 er "BRØNNBELIGGENHET", og symbolmalen 74 er "LOGGTYPE". Symbolmalen 72 har to felter, hvilke er X- og Y-koordinater. Symbolmalen 72 har dessuten X'en utfylt til å være 29.1, og den symbolmal-jamførende nøkkel er 3, hvilket indikerer at både SYMBOLMALFORMATKODEN og det første datafelt må svare til en mottatt symbolmal for å ha en jamføring eller sammenpasning. Sammen med disse symbolmaler er det inkludert tilsvarende anvendelses- eller brukskjennemerker 85, 86 og 87. Disse symbolmaler kan registreres på hvilket som helst tidspunkt og i hvilken som helst rekkefølge. Brukerprogrammet C registrerer likeledes to symbolmaler 75 og 76. Symbolmalen 76 er f.eks. et dybdeområde for en brønn. Denne symbolmal har en formatkode på 27. I listen 82 er disse symbolmaler forsynt med tilsvarende brukskjennemerker 88 og 89.
Idet det nå henvises til fig. 4B, er det vist at brukerprogrammet B frembringer den fulle symbolmal 72A og overfører denne symbolmal til tidsklareringsprogrammet. Symbolmalen 72A er symbolmalen 72 fylt med data.
Idet det nå henvises til fig. 4C, sammenliknes symbolmal f ormatkodene i de symbolmaler som er lagret i listen 82, og de felter som svarer til bitene som er innstilt i nøkkelfeltet i hver av de lagrede symbolmaler i listen 82, med de samme felter i den mottatte symbolmal 72A. En sammenlikning utføres for å finne jamføringer. Disse jamføringer spesifiserer brukskjen-nemerkene 88 og 87. Dette indikerer at brukerprogrammene A og C har registrert for å motta den type data som er identifisert som BRØNNBELIGGENHET. Bemerk at dersom X-feltverdien i symbolmalen 72A hadde vært noe annet enn 29.1, ville symbolmalen 72A bare ha passet til brukerprogrammet C som er lagret i symbolmalen 75.
Idet det nå henvises til fig. 4D, viser denne figur trinnet med overføring av symbolmalen 72A til hvert av brukerprogrammene A og C. I den beskrevne utførelse overføres den fulle symbolmal til hvert av brukerprogrammene. Det er ikke nødvendig at hele symbolmalen 72A overføres til brukerprogrammene A og C, men i stedet kan det være ønskelig å overføre bare datadelen og eventuelt andre felter som inneholder ønsket informasjon, til brukerprogrammene A og C.
Legg merke til at i det eksempel som er vist på fig. 4A-4C, kan et eneste brukerprogram registrere for å motta mer enn én type data. Likeledes kan hvilket som helst antall av brukerprogrammer registreres med listen 82 i tidsklareringsprogrammet, og det er mulig at flere brukerprogrammer kan registrere for å motta de samme data, selv om dette ikke er nødvendig. Videre skal det bemerkes at tidsklareringsprogrammet sender den genererte symbolmal til hvert av brukerprogrammene der hvor en jamføring eller sammenpasning av de felter som er indikert av den symbolmal jamførende nøkkel, er identifisert. Fremgangsmåten ifølge oppfinnelsen gjør det således mulig uten vanskelighet å tilveiebringe en meget sammensatt datakommunikasjonsprosedyre som arbeider uten nødvendigheten av brukerinnblanding eller program— brukertilpasning. Videre, slik som beskrevet nedenfor, kan hvilket som helst av brukerprogrammene slette en registrert symbolmal og avslutte mottaking av den type data som er beskrevet i symbolmal f ormatkoden. Datakommunikasjonsvekselvirkningen kan således, selv om den kan være sammensatt, etableres og endres uten vanskelighet.
En ytterligere side ved oppfinnelsen skal nå beskrives under henvisning til fig. 5A-5G. Det er tidligere blitt beskrevet en prosess for registrering av en datasymbolmal ved hjelp av et databenyttende program, slik at dataene, etter generering av de registrerte data ved hjelp av et datagenererende brukerprogram, tilveiebringes til det registrerte, databenyttende brukerprogram. En ytterligere side ved oppfinnelsen angår registreringen av datagenererende programmer med tidsklareringsprogrammet. Formålet for sådan registrering er å sikre at det eksisterer brukerprogrammer for data som vil bli generert. Det er en sløsing med ressurser å generere og overføre data når det ikke finnes noe brukerprogram som krever disse data. Den følgende registreringsprosess utføres således slik at datasymbolmaler genereres bare når det finnes aktive brukere av disse symbolmaler.
Idet det nå henvises til fig. 5A-5G, er det vist en tidssekvens av trinn for utførelse av en ytterligere side ved oppfinnelsen. Disse trinn viser prosessen med registrering av et datagenererende brukerprogram. Idet det henvises til fig. 5A, er det der vist brukerprogrammer A, B og C sammen med tidsklareringsprogrammet. I tidsklareringsprogrammet finnes to lister. En datajamførende symbolmal li ste 90 tjener samme funksjon som listen 82 som er beskrevet tidligere under henvisning til fig. 3A-3D og fig. 4A-4D. En symbolmaljamførende symbolmalliste 91 er en registrering av datagenererende brukerprogrammer som er tilgjengelige for å generere den type data som er spesifisert i den registrerte symbolmal. På fig. 5A kan brukerprogrammet B generere data som er definert ved symbolmalformatkoden 39. Det henvises til fig. 2A-2C for en beskrivelse av symbolmalfelter. Brukerprogrammet B genererer en symbolmal 92 som inneholder tallet 39 i SYMBOLMALFORMATKODE-feltet, med tallet 1 i det Symbolmaljam-førende NØKKEL-felt, og med ingen ting i resten av feltene. Formatkoden 39 er vilkårlig og definerer for det foreliggende eksempel data som spesifiserer en BRØNN-ID. Denne BRØNN-ID, i en full symbolmal, uttrykkes i ett datafelt i symbolmalen 92. Brukerprogrammet B genererer symbolmalen 92, som er en tom symbolmal, og overfører denne til tidsklareringsprogrammet hvor den lagres i listen 91 sammen med et brukskjennemerke 93, hvilket kjennemerke spesifiserer brukerprogrammet B. Denne registrering registrerer i tidsklareringsprogrammet at datatypen 39 kan genereres, dersom det kreves, ved hjelp av et databenyttende brukerprogram.
Idet det nå henvises til fig. 5B, er det der vist trinnet med "REGISTRERING AV DATAJAMFØRENDE SYMBOLMAL". I dette trinn av prosedyren registrerer brukerprogrammet A en symbolmal for å indikere at det har behov for spesielle data. Dette er det samme som den registreringsprosess som er beskrevet i forbindelse med fig. 3A-3D og 4A-4D. Brukerprogrammet A genererer en symbolmal 94 som overføres til tidsklareringsprogrammet og lagres i datasymbolmallisten 90. Datasymbolmalen 94 inneholder koden 39 i SYMBOLMALFORMATKODE-feltet og 1 i det Symbolmaljamførende NØKKEL-felt, mens de gjenværende felter ikke inneholder noen informasjon. Tidsklareringsprogrammet tilordner et brukskjennemerke 95 for å svare til den lagrede symbolmal 94.
Idet det nå henvises til fig. 5C, er det der vist et trinn med "SAMMENLIKNING FOR A FINNE JAMFØRING". I dette trinn sammenlikner tidsklareringsprogrammet symbolmalformatkodene for symbolmalene i datasymbolmallisten 90 med symbolmalene i den jamførende symbolmalliste 91 for å finne eventuelle jamføringer eller sammenpasninger. Dersom det finnes en sammenpasning av disse koder, har tidsklareringsprogrammet bestemt at de data som kreves av brukerprogrammet A, kan produseres av brukerprogrammet B. Brukerprogrammet B identifiseres således som et nødvendig datagenererende program.
Idet det nå henvises til fig. 5D, er det der vist trinnet med "OVERFØRING AV TOM DATASYMBOLMAL". I dette trinn overfører tidsklareringsprogrammet datasymbolmalen 94 fra listen 90 til brukerprogrammet B. Denne handling tjener til å gjøre brukerprogrammet B oppmerksom på at en bruker er blitt registrert for å motta de data som brukerprogrammet B genererer.
Idet det nå henvises til fig. 5E, er det der vist trinnet med "FREMBRINGELSE OG OVERFØRING AV EN FULL DATASYMBOLMAL". Etter mottakelse av datasymbolmalen 94 av brukerprogrammet B i det foregående trinn er brukerprogrammet B blitt instruert til å fortsette med genereringen av sine symbolmaler, nemlig de som har en symbolmalformatkode på 39. Som reaksjon genererer brukerprogrammet B en symbolmal 94A som svarer til symbolmalen 94, men inneholder spesielle data innenfor symbolmalens felt 1. I dette eksempel er BRØNN-ID "TX-107" tilveiebrakt i dette felt. Symbolmalen 94A overføres fra brukerprogrammet B til tidsklareringsprogrammet .
Idet det nå henvises til fig. 5F, er det der vist trinnet med "SAMMENLIKNING FOR Å FINNE JAMFØRINGER". Denne prosess er den samme som den som er beskrevet tidligere under henvisning til fig. 3A-3D og 4A-4D. Tidsklareringsprogrammet sammenlikner symbolmalformatkoden i den mottatte symbolmal 94A med symbolmalformatkodene i de lagrede symbolmaler i listen 90. Denne sammenlikning frembringer en jamføring eller sammenpasning som identifiserer brukerprogrammet A som om det er en registrert bruker for den mottatte symbolmal 94A.
Tidsklareringsprogrammet bestemmer hvorvidt noen av brukerprogrammene er registrert for å motta den informasjon som er frembrakt i den genererte symbolmal, ved å bestemme hvorvidt den genererte symbolmal passer sammen med den registrerte symbolmal som er fremlagt ved hjelp av et brukerprogram. En jamføring eller sammenpasning bestemmes ved å benytte det Symbolmal jamførende NØKKEL-felt i hver registrert brukersymbolmal for å bestemme hvile felter i den registrerte symbolmal som må passe sammen med de tilsvarende felter i den genererte symbolmal for at de to symbolmaler skal betraktes som sammenpassende. Inf ormas jonskoden i hver symbolmal er inkludert som ett av feltene for hvilke en jamføring eller sammenpasning kan kreves. Normalt er informasjonskoden alltid nødvendig for en sammenpasning. Det er imidlertid mulig å innstille det Symbolmal j amf ørende NØKKEL-felt på null. Dette bringer nøkkelen til å virke som et vilt kort, ved at ingen felter innenfor de to symbolmaler som sammenliknes, kreves å passe sammen, slik at alle symbolmaler tillates å passe sammen med en registrert symbolmal som har en null i jamføringsnøkkelfeltet.
Idet det nå henvises til fig. 5G, er det der vist trinnet med "OVERFØRING AV EN FULL DATASYMBOLMAL". I dette avsluttende trinn overfører tidsklareringsprogrammet den mottatte symbolmal 94A til brukerprogrammet A for å fullføre dataover-føringsprosessen. Brukerprogrammet A har mottatt de data som det krevde, og brukerprogrammet B har generert disse data. Det har imidlertid ikke vært noen direkte kommunikasjon mellom brukerprogrammene A og B. Videre har brukerprogrammet B generert bare den mengde data som er blitt krevd av et brukerprogram. Brukerprogrammet B har således arbeidet på effektiv måte ved ikke å utsende symbolmaler som ikke kreves.
Registreringen av et databenyttende program eller et datagenererende program med tidsklareringsprogrammet kan initieres ved hjelp av mange typer av innmatingskommandoer. En bruker kan innmate en kommando til et databenyttende program, som typisk ville ha en vindusfremvisning, og beordre dette program til å registrere for å motta data fra tidsklareringsprogrammet. Likeledes kan en bruker innmate en kommando til et datagenererende program og bringe dette til enten umiddelbart å begynne å frembringe datasymbolmaler og utsende disse til de forskjellige tidsklareringsprogrammer i et system, eller beordre et datagenererende program til å registrere med tidsklareringsprogrammet. Innmatingskommandoer kan også mottas fra andre programmer som arbeider i prosessoren eller i systemet. For eksempel, i et sanntids industriproduksjonssystem, såsom et kjemisk anlegg, kan visse programmer overvåke prosessparametere ved benyttelse av den føler 37 som er vist på fig. 1. Ved deteksjon av en forutbestemt parameter kan et sådant overvåkningsprogram bringe ett eller flere brukerprogrammer til å registrere for å motta data, registrere for å generere data eller for å generere data for utsendelse (broadcast). Videre kan innmatingskommandoer for å sette opp de forskjellige registreringer frembringes i en oppsettingsrutine som utføres etter initialiseringen av det samlede system eller utføres under operasjon av systemet ved hjelp av enda en ytterligere innmating fra en operatør, andre programmer eller utvendige følere.
På bakgrunn av beskrivelsene av anvendelsen av data jam-førende symbolmaler og symbolmaljamførende symbolmaler slik som vist på fig. 3A-3D og 4A-4D, skal det nå gis et ytterligere eksempel under henvisning til de vindus-skjermvisinger som er vist på fig. 1. I en sekvens av operasjoner kan en bruker oppkalle et brukerprogram for å fremvise loggdata for en brønn. For eksempel kan en bruker etablere en bildeflate 54 for fremvisning av en spesiell type loggdata over et innstilt dybdeområde. Brukeren bestemmer den type informasjon som han ønsker å se, men det finnes ennå ikke noen informasjon for anvendelse av det brukerprogram som frembringer vinduet 54. Brukeren innmater en første kommando for å bringe brukerprogrammet til å registrere med tidsklareringsprogrammet for å motta den fordrede informasjon. Dette er et trinn med registrering av en datajamførende symbolmal. En slik symbolmal kan f.eks. være en registrering for å motta loggdata. Brukeren overfører deretter markøren til vinduet 50 som er et fremvisningskart for forskjellige brønner. Dersom brukeren deretter plasserer markøren i ett av brønnsymbolene og innmater en andre kommando, genererer det brukerprogram som frembringer vinduet 50, deretter en symbolmal som inneholder loggdata for en utvalgt brønn. Denne symbolmal overføres deretter til tidsklareringsprogrammet som undersøker sin registreringsliste for å bestemme om noe tidligere brukerprogram har registrert for å motta loggdata. I det spesielle eksempel har brukerprogrammet for vindu 54 utført en sådan registrering. Tidsklareringsprogrammet overfører deretter symbolmalen, som inneholder loggdataene, til det brukerprogram som frembringer vinduet 54. Alternativt kan symbolmalen bare inneholde en referanse til beliggenheten av de virkelige loggdata, for eksempel i en masselagringsanordning, for eksempel et platedrev. Brukerprogrammet kan da benytte den tilførte beliggenhet til å gjenfinne de virkelige loggdata. Referansen er en indikator for beliggenheten av de fordrede data, såsom en adresse i et masselagringsmedium. Dette brukerprogram behandler deretter de mottatte data for å frembringe den loggdatafremvis-ning som er vist i vinduet 54. Brukeren har således forårsaket overføring av informasjon mellom de samtidig arbeidende brukerprogrammer som frembringer vinduene 50 og 54.
Som vist på fig. 1, kan brukeren ha flere fremvis-ningsvinduer aktive på samme tid for å bringe forskjellige typer av loggdata til å overføres fra det datagenererende brukerprogram til hvert av de brukerprogrammer som frembringer de forskjellige loggfremvisninger. Brukeren kan videre utvelge forskjellige brønner og bringe overføringen av nye symbolmaler til å endre den informasjon som fremvises i vinduene.
Som et ytterligere eksempel under henvisning til fig. 1 kan brukeren etablere en fremvisning som viser en trykkmåler, en temperaturmåler, en posisjonsindikator eller liknende. Brukeren kunne da bringe ett eller flere av disse brukerprogrammer som frembringer disse vinduer, til å registrere med tidsklareringsprogrammet for å motta kritiske verdier eller verdier fra utvalgte følere. Et ytterligere brukerprogram, som muligens ikke frembringer en vindusfremvisning, kan overvåke prosessene via én eller flere av følerne 37. Dette prosessovervåk-nings-brukerprogram kan generere symbolmaler, enten selektivt eller periodisk, og overføre disse til tidsklareringsprogrammet. Når tidsklareringsprogrammet finner en jamføring eller sammenpasning, ved å benytte det Symbolmaljamførende NØKKEL-felt, kan symbolmaler deretter overføres til brukerprogrammene for å frembringe en fremvisning av den fordrede informasjon. I dette eksempel initierer ikke brukeren operasjonen av det datagenererende brukerprogram, men kommunikasjon tilveiebringes mellom flere samtidig arbeidende brukerprogrammer ved benyttelse av tidsklareringsprogrammet i overensstemmelse med oppfinnelsen.
Idet det nå henvises til fig. 6, er det der skjematisk vist en nettverksimplementering 100 for den foreliggende oppfinnelse. Nettverket 100 inneholder et antall prosessorer 102, 104, 106 og 108 av hvilke hver kan likne på systemet 30 som er vist på fig. 1. Disse prosessorer er hver tilkoplet til en nettverkssammenkopling 110. Det er videre inkludert en nettverks-server 112 som er forsynt med stor lagringskapasitet for tilveiebringelse av tilgang til data ved hjelp av hver av prosessorene på nettverket.
Under henvisning til fig. 3A-3D, fig. 4A-4D og fig. 5A-5G er det beskrevet flere brukerprogrammer og et tidsklareringsprogram. I nettverket 100 kan hvert av disse bruker- og tidsklareringsprogrammer være beliggende på hvilken som helst av terminalene eller serveren på nettverket. I en spesiell prosessor, såsom 104, kan det finnes et brukerprogram A som krever data. Brukerprogrammet A kan registrere med tidsklareringsprogrammet som kan være fysisk beliggende i prosessoren 108. Videre kan et datagenererende brukerprogram, såsom B, være beliggende i prosessoren 102. De virkelige beliggenheter av programmene er irrelevant. Kommunikasjonen og datautvekslingen mellom brukerprogrammene og tidsklareringsprogrammet utføres tvers over nettverket uten hensyn til programmenes beliggenhet. Samtlige programmer som frembringer vinduer på en eneste skjermvising, må arbeide med den samme kopi av tidsklareringsprogrammet. Dersom det finnes flere skjermvisinger eller bildeskjermer som drives på et nettverk, vil det finnes én kopi av tidsklareringsprogrammet for hver bildeskjerm. Ved en typisk anvendelse vil tidsklareringsprogrammet arbeide på den samme arbeidsstasjon som den tilsvarende bildeskjerm.
En representativ nettverksimplementering består av TCP-IP-protokollen som kjøres under AIX-versjonen 2.2 som benytter en Ungermann-Bass nettverks-styreenhetskrets som er koplet til en ETHERNET-kabel.
Slik det benyttes her, betyr uttrykket "datamaskinsystem" enten en eneste frittstående prosessor, som vist på fig. 1, eller et nettverk av sådanne prosessorer som vist på fig. 6.
Idet det nå henvises til fig. 7, er det der vist programvarevekselvirkningen mellom bruker- og tidsklareringspro-grammene i relasjon til kommunikasjonsprogrammene på et nettverk. Et brukerprogram 120, et tidsklareringsprogram 122 og et brukerprogram 124 kommuniserer henholdsvis med meldingsgrense-snittprogrammer eller MI-programmer (MI = message interface) 126, 128 og 130. Meldingsgrensesnitt- eller MI-programmene vekselvirker med nettverks- eller NW-programmer (NW = network) som selv kommuniserer tvers over nettverket med de forskjellige prosessorer, anordninger, lagre og andre programmer. Meldingsgrenses-nittprogrammene 126, 128 og 130 kommuniserer henholdsvis med nettverksprogrammer 132, 134 og 136, av hvilke alle nettverksprogrammer er sammenkoplet via nettverkssammenkoplingen.
Meldingsgrensesnitt(MI)- og nettverks(NW)-programmer lages i overensstemmelse med de standarder og definisjoner som er angitt i TCP/IP (Defense Communications Agency, DDN Protocol Handbook, Vol. 1-3 (NIC5004-6), desember 1985), som beskriver den valgte nettverk-programvareimplementering for den valgte utførelse. Man må imidlertid merke seg at det finnes tallrike typer og modeller av nettverk som like gjerne kunne omfatte den foreliggende oppfinnelse, og tilsvarende nettverksprogramvare ville bli benyttet med disse andre nettverk.
På fig. 3A-3D og fig. 4A-4D er trinnene med overføring av symbolmaler vist. Hvilket som helst av disse overføringstrinn kan være en overføring tvers over nettverket mellom prosessorene.
Den foreliggende oppfinnelse omfatter databenyttende brukerprogrammer, datagenererende brukerprogrammer og et tidsklareringsprogram for overføring av data mellom brukerprogrammer. Et gitt brukerprogram kan være både et databenyttende program og et datagenererende program. De databenyttende programmer registreres med tidsklareringsprogrammet for å motta spesielle typer av data. De datagenererende programmer frembringer symbolmaler av sådanne data og overfører disse til tidsklareringsprogrammet som på sin side tilfører dem til de
registrerte, databenyttende programmer.
En ytterligere beskrivelse av oppfinnelsen er rettet på en nærmere beskrivelse av hvert av disse tre programmer. Et databenyttende program som registrerer med tidsklareringsprogrammet, er beskrevet i et flytskjema på fig. 8. Et datagenererende brukerprogram som frembringer en datasymbolmal, er beskrevet under henvisning til fig. 9. Tidsklareringsprogrammet, som også betegnes som et pekende tidsklareringsprogram (PD-program), er beskrevet i de flytskjemaer som er vist på fig. 10-20.
Disse flytskjemaer viser til forskjellige programmoduler som tjener til å implementere spesielle programmer. En kildekodeliste er angitt i Tilleggene (Appendiksene) for hver av disse moduler som det er henvist til.
Den etterfølgende beskrivelse viser også til forskjellige subrutiner. Disse beskrives som følger:
Prosedyren for registrering av en symbolmal ved hjelp av et databenyttende brukerprogram med tidsklareringsprogrammet er beskrevet i det på fig. 8 viste flytskjema. Dette svarer til de trinn som er vist på fig. 3A og 4A. Brukerprogrammet ifølge eksemplet er betegnet som TPXPDMT. En kildekodeliste av dette program er gitt i Tillegg II-2. I en blokk 150 etableres en forbindelse mellom det databenyttende program TPXPDMT og tidsklareringsprogrammet PD ved å utføre et kall til PDOPEN-funksjonen. Denne funksjon er beskrevet i en kildekodeliste som er gitt i Tillegg 1-12. Den prosess som er angitt i blokken 150, etablerer en kommunikasjonsbane mellom brukerprogrammet og tidsklareringsprogrammet.
I en blokk 154 overføres en permanent datajamførende eller datasammenpassende symbolmal fra brukerprogrammet TPXPDMT til det pekende tidsklareringsprogram PD ved hjelp av et kall til PDRQST-funksjonen, hvilken funksjon er angitt som en kildekodeliste i Tillegg II-l. En permanent datasammenpassende symbolmal er en symbolmal som frembringes ved hjelp av et databenyttende brukerprogram som ønsker å motta alle overføringer av de utvalgte data inntil de annuleres av brukerprogrammet. Et eksempel er symbolmalen 70 som er vist på fig. 3A. På den annen side er en midlertidig datasammenpassende symbolmal en symbolmal i hvilken det databenyttende brukerprogram ønsker å motta bare én overføring av de utvalgte data. En symbolmal av denne type annuleres etter én dataoverføring til det registrerte program.
Etter blokken 154 foretar programmet en overgang til en funksjonsblokk 155 i hvilken tidsklareringsprogrammet mottar den overførte symbolmal ved anvendelse av subrutinen PDR 32. Denne subrutine er beskrevet som en kildekodeliste i Tillegg III-l.
I en blokk 156 avsluttes forbindelsen mellom det databenyttende brukerprogram TPXPDMT og tidsklareringsprogrammet PD ved å utføre et kall til PDCLOS-funksjonen. PDCLOS-funksjonen er angitt som en kodeliste i Tillegg 1-13.
Flytskjemaet for den operasjon som utføres av et datagenererende brukerprogram, er vist på fig. 9. Dette svarer til de trinn som er vist på fig. 3B og 4B. Denne operasjon initieres i en blokk 160. I dette trinn etableres en forbindelse mellom det datagenererende program som er merket eller betegnet som TPXDATA, og tidsklareringsprogrammet som er betegnet PD. Dette gjøres ved å utføre et kall til PDOPEN-funksjonen. Bemerk at en kodeliste for programmodulen PDOPEN er angitt i Tillegg 1-12. Formålet med det trinn som er angitt i blokken 160, er å etablere en kommunikasjonsbane mellom brukerprogrammet og tidsklareringsprogrammet.
I en blokk 162 overføres en "full" datasymbolmal til tidsklareringsprogrammet ved å utføre et kall til PDS32-funksjonen. Et eksempel på en sådan "full" symbolmal er 70A på fig. 3B. Den overførte symbolmal er en symbolmal som inneholder både en symbolmalformatkode og data som befinner seg i datafeltet. En kildeliste for PDS32-programmet er angitt i Tillegg 1-14.
Forbindelsen mellom brukerprogrammet og tidsklareringsprogrammet avsluttes ved hjelp av de operasjoner som er angitt i en blokk 164. Avslutningen av forbindelsen utføres ved hjelp av et kall til PDCLOS-funksjonen som er angitt i Tillegg 1-13. Den prosedyre som er beskrevet på fig. 9, åpner således en forbindelse, overfører en symbolmal til tidsklareringsprogrammet, og avstenger deretter forbindelsen mellom brukerprogrammet og tidsklareringsprogrammet.
Mottakelsen og anvendelsen av datasymbolmalen ved hjelp av tidsklareringsprogrammet er beskrevet i de flytskjemaer som er vist på fig. 10-20.
Et grunnleggende flytskjema for det pekende tidsklareringsprogram (PD) er vist på fig. 10. Disse operasjoner svarer til de trinn som er vist på fig. 3C, 3D og 4C, 4D. Kodelisten for tidsklareringsprogrammet (PD-programmet) er angitt i Tillegg I-l.
Slik som foran beskrevet, lagrer tidsklareringsprogrammet en registreringsliste for databenyttende brukerprogrammer som har registrert med PD-programmet. Det kan også finnes andre registreringslister som opprettholdes av tidsklareringsprogrammet. De registreringslister som kan opprettholdes av tidsklareringsprogrammet, er som følger: 1. En registrering av permanente datajamførende symbolmaler og de tilsvarende brukskjennemerker (application identifiers). 2. En registreringsliste av midlertidige datajam-førende symbolmaler og de tilsvarende brukskjennemerker . 3. En registreringsliste av permanente symbolmaljam-førende symbolmaler og de tilsvarende brukskjennemerker . 4. En registreringsliste av midlertidige symbolmal-jamførende symbolmaler og de tilsvarende brukskjennemerker .
Det første trinn i PD-programmet er vist i en blokk 170. I denne blokk initialiseres en identifikasjonsdatatabell eller ID-datatabell (ID array) for tidsklareringsprogrammet. Dette er en prosess for å sette til side et lagerområde for lasting av brukerprogram-kjennemerker og symbolmalformatkoder. Denne datatabell er opprinnelig innstilt for å være tom (blank). I en blokk 172 foretas en kontroll for å bestemme om eventuelle data er blitt mottatt fra meldingsgrensesnitt-undersystemet (MI-undersystemet). Dette er en kontroll for å bestemme om noe program har forsøkt å etablere en forbindelse med PD-programmet. Når bestemte funksjoner, som skal beskrives nedenfor, er blitt fullført av PD-programmet, foretas en retur via et inngangspunkt 173 til blokken 172. Svaret på den kontroll som foretas i blokken 172, utføres i en spørsmålsblokk 174. Dersom en forbindelsesanmodning er blitt mottatt, tas en Ja-utgang til en blokk 176. Dersom en f orbindelsesanmodning ikke er blitt mottatt, tas Nei-utgangen til en blokk 178.
Dersom Ja-utgangen tas i spørsmålsblokken 174, aksep-terer tidsklareringsprogrammet den forbindelse det har mottatt, og det plasserer "håndtaket" (handle) (identifikasjonen) for det tilkoplede brukerprogram i en fri spalte (slot) i bruks-ID-datat-abellen. Etter at dette er fullført foretas deretter inngang i blokken 172.
Dersom Nei-utgangen tas fra spørsmålsblokken 174, er data, en symbolmal eller en kommando blitt mottatt fra meldingsgrensesnittet (MI).
Etter blokken 178 foretas inngang til en spørsmålsblokk 180. Det stilles et spørsmål for å bestemme den type symbolmal eller kommando som er blitt mottatt av tidsklareringsprogrammet. De mulige typer av symbolmaler og kommandoer er oppført på fig.
10 og er beskrevet nedenfor. Avhengig av den symbolmal som mottas, fortsetter tidsklareringsprogrammet til det riktige flytskjema i den angitte figur. Dersom for eksempel symbolmalen
PDDATA mottas, fortsetter PD-programmet operasjon med det flytskjema som er vist på fig. 11. Flytskjemaene på fig. 11-20 er beskrevet for hver av de mulige symbolmaltyper.
Idet det nå henvises til fig. 11, er det der vist det tilfelle hvor tidsklareringsprogrammet mottar virkelige data, nemlig en "fylt" symbolmal. Dette omtales som PDDATA. I dette tilfelle har et datagenererende brukerprogram generert en symbolmal som inneholder virkelige data. Denne symbolmal overføres til tidsklareringsprogrammet. I en blokk 190 under-søker først tidsklareringsprogrammet alle inntastinger i en permanent, datasammenpassende symbolmalliste som opprettholdes i tidsklareringsprogrammet, for å finne om det forekommer noen sammenpasning med den nettopp mottatte, "fylte" datasymbolmal. Dette er en sammenlikning av feltene i den mottatte symbolmal med feltene for de lagrede symbolmaler, som angitt ved det Symbolmal-sammenpassende NØKKEL-felt for hver av de lagrede symbolmaler. Etter at undersøkelsen er utført entres en spørsmålsblokk 192 for å svare på spørsmålet om hvorvidt en sammenpasning (match) er blitt funnet. Ja-utgangen fører til en blokk 194 og Nei-utgangen
fører til en spørsmålsblokk 196.
Dersom Ja-utgangen tas fra blokken 192 til blokken 194, sendes den datasymbolmal som ble mottatt, til det brukerprogram som er blitt identifisert ved sammenpasningen. Dette identifiserte program betegnes som eieren av symbolmalen. Etter at dataene er blitt sendt går tidsklareringsprogrammet inn i spørsmålsblokken 196.
Dersom Nei-utgangen tas fra spørsmålsblokken 192, spørres et ytterligere spørsmål i spørsmålsblokken 196. Spørsmålet i denne blokk er å bestemme om det er mer gjennom-søking som skal utføres i listen av registrerte, permanente symbolmaler. Dersom Ja-utgangen tas, returnerer tidsklareringsprogrammet til blokken 190 og gjentar prosessen. Dersom Nei-utgangen tas, går tidsklareringsprogrammet inn i en blokk 198.
I blokken 198 foretas en undersøkelse over alle de midlertidige, datasammenpassende symbolmaler for å bestemme om det finnes noen sammenpasning på denne liste. Utgangen fra denne blokk fører til en spørsmålsblokk 200 for å utvelge den neste handling avhengig av om en sammenpasning ble funnet i den midlertidige, datasammenpassende symbolmalliste. Dersom en sammenpasning finnes, tas Ja-utgangen til en blokk 202 som utfører to handlinger. Først sendes den mottatte datasymbolmal til den oppgave (brukerprogram) som registrerte symbolmalen med tidsklareringsprogrammet. Deretter slettes den midlertidige symbolmal fra listen.
Etter blokken 202 går tidsklareringsprogrammet inn i en spørsmålsblokk 204 for å bestemme om det er mer igjen å gjennom-søke i listen over midlertidige, datasammenpassende symbolmaler. Blokken 204 entres likeledes dersom Nei-utgangen tas fra spørsmålsblokken 200. Dersom det bestemmes at det finnes flere dataelementer som skal gjennomsøkes i listen over midlertidige, datasammenpassende symbolmaler, tas Ja-utgangen fra blokken 204, hvilken utgang returnerer programmet til blokken 198. Dersom det ikke er noe mer å gjennomsøke, tas Nei-utgangen til en blokk 206, og tidsklareringsprogrammet dirigeres tilbake til den på fig. 10 viste returinngang 173 for tidsklareringsprogrammet.
Idet det nå henvises til fig. 12, er det der vist et flytskjema for mottakelsen av en permanent symbolmalsammenpassende symbolmal, hvilket er identifisert som PDPTMT. I denne prosedyre overfører et datagenererende brukerprogram en symbolmal som passer til en permanent symbolmal, til tidsklareringsprogrammet for det formål å registrere for å indikere at det datagenererende brukerprogram er tilgjengelig for å frembringe de data som er spesifisert i symbolmalen. Formålet med denne prosedyre er å sikre at data genereres bare dersom det eksisterer brukerprogrammer som er brukere av de genererte data.
Det første trinn i prosessen er å gjennomsøke listen over permanente, symbolmalsammenpassende symbolmaler i tidsklareringsprogrammet for å bestemme om denne permanente, symbolmalsammenpassende symbolmal tidligere er blitt registrert av det sendende brukerprogram. Blokken 220 fører til en spørsmålsblokk 222 for å bestemme om et duplikat eller motstykke er blitt funnet. Dersom svaret er ja, tas programmet til utgangsblokken 242 i det på fig. 12 viste flytskjema og returneres til inngangspunktet 173 på fig. 10 på grunn av at det ikke er noe behov for å registrere symbolmalen. Dersom ikke noe duplikat er blitt funnet, tar programmet Nei-utgangen fra spørsmålsblokken 222 til en blokk 224. Den funksjon som utføres i funksjonsblokken 224, er å tilføye den symbolmal som er blitt mottatt, til listen over permanente, symbolmalsammenpassende symbolmaler. Til denne symbolmal er det knyttet et brukerprogramkjennemerke.
Etter blokken 224 utføres en undersøkelse som angitt i en blokk 226. Legg merke til at i tidsklareringsprogrammet, slik som foran omtalt, registrerer databenyttende brukerprogrammer i en liste med tidsklareringsprogrammet for å motta en bestemt type data. Dette kan være enten en midlertidig eller en permanent registrering. Likeledes kan et datagenererende program registrere med tidsklareringsprogrammet for å indikere at det er tilgjengelig for å generere en spesiell type data. Disse registreringer kan likeledes være enten midlertidige eller permanente. Det foreliggende eksempel er en beskrivelse av registreringen av en permanent-symbolmalsammenpassende symbolmal ved hjelp av et datagenererende program.
I blokken 226 skjer en undersøkelse av de midlertidige, datasammenpassende symbolmaler som er blitt listeført for brukerprogrammer. Disse er de symbolmaler som er blitt registrert av databenyttende brukerprogrammer for å indikere at data fordres. Fra blokken 226 går tidsklareringsprogrammet inn i en spørsmålsblokk 228 for selektivt å svare på om en sammenpasning eller et motstykke er blitt funnet. Dersom et sådant motstykke er blitt funnet, tas Ja-utgangen til en blokk 230. I blokken 230 sendes den identifiserte, datasammenpassende symbolmal til det datagenererende brukerprogram som avga den permanente, symbolmal-sammenpassende symbolmal som ble notert i blokken 220. Den datasammenpassende symbolmal tas fra den liste som gjennomsøkes i blokken 226. Sendingen av den datasammenpassende symbolmal til det datagenererende brukerprogram meddeler dette program at det skal generere sådanne symbolmaler på grunn av at det nå finnes en identifisert bruker.
Dersom ingen sammenpasning er blitt funnet, overføres programmet til en spørsmålsblokk 232. Utgangen fra blokken 230 går likeledes inn i spørsmålsblokken 232.
I spørsmålsblokken 232 stilles et spørsmål for å bestemme om det er mer gjennomsøking som skal utføres i listen over midlertidige, datasammenpassende symbolmaler. Dersom det er mer gjennomsøking som skal utføres, tas Ja-utgangen for å returnere tidsklareringsprogrammet til blokken 226. Dersom gjennomsøkingen er fullstendig, tas Nei-utgangen til en blokk 234.
I blokken 234 utføres en undersøkelse for å foreta en sammenlikning med alle de sparte eller bevarte, permanente datasammenpassende symbolmaler for å bestemme om feltet i den mottatte symbolmal passer til noen av kodene i de lagrede symbolmaler, som angitt ved kodene i de sammenpassende nøkkelfel-ter. Etter blokken 234 går programmet inn i en spørsmålsblokk 236 for dirigering av programmet avhengig av funnet av en sammenpasning eller et motstykke. Dersom et sådant motstykke finnes, tas Ja-utgangen fra blokken 236 til en blokk 238. I blokken 238 sendes den datasammenpassende symbolmal som ble jamført, til det datagenererende program som frembrakte den permanente symbolmalsammenpassende symbolmal som ble mottatt i blokken 220. Dette gir det datagenererende program melding om at det finnes en bruker for dets data, og at det må fortsette med genereringen av sådanne datasymbolmaler.
Dersom ingen sammenpasning finnes for spørsmålsblokken 236, tas Nei-utgangen til en spørsmålsblokk 240. Denne blokk entres likeledes etter operasjonene i funksjonsblokken 238. Dersom det finnes flere dataelementer som skal undersøkes i listen over permanente datasammenpassende symbolmaler, tas Ja-utgangen for å returnere programmet til blokken 234. Dersom det ikke finnes ytterligere dataelementer i listen som skal undersøkes, tas Nei-utgangen til en blokk 242 som tar programmet til returinngangen 173 i det på fig. 10 viste tidsklareringsprogram .
Idet det nå henvises til fig. 13, er det der vist en prosess som er mye lik den som er beskrevet under henvisning til fig. 12, men som gjelder for en midlertidig, i stedet for en permanent, symbolmalsammenpassende symbolmal. I en blokk 250 utfører tidsklareringsprogrammet en gjennomsøking i listen over de midlertidige, symbolmalsammenpassende symbolmaler for å bestemme om det brukerprogram som avga eller forela den midlertidige symbolmalsammenpassende symbolmal, tidligere har foretatt en sådan fremleggelse. Etter blokken 250 går man inn i en spørsmålsblokk 252 for å dirigere programmet i avhengighet av funnet av et duplikat. Dersom et duplikat finnes, overføres programmet via Ja-utgangen til en blokk 254 som returnerer programmet til returinngangen 173 på fig. 10. Dersom ikke noe duplikat finnes, tas Nei-utgangen til en blokk 256. I denne blokk tilføyer tidsklareringsprogrammet den mottatte symbolmal til listen over midlertidige, symbolmalsammenpassende symbolmaler, sammen med et brukskjennemerke for det brukerprogram som forela symbolmalen.
Etter blokken 256 går tidsklareringsprogrammet inn i en blokk 258. I denne funksjonsblokk gjennomsøker tidsklareringsprogrammet alle inntastinger i listen over midlertidige, datasammenpassende symbolmaler for å bestemme om noen svarer til den symbolmal som er mottatt aller sist. Etter blokken 258 går tidsklareringsprogrammet inn i en spørsmålsblokk 260 for å dirigere programmet i avhengighet av svaret på spørsmålet om en sammenpasning. Dersom en sammenpasning finnes, velges Ja-utgangen som fører til blokken 262. Dersom ingen sammenpasning finnes, velges Nei-utgangen som fører til blokken 264. Dersom det foretas inngang i blokken 262, sender tidsklareringsprogrammet den datasammenpassende symbolmal som ble funnet ved sammenpasningen, til det brukerprogram som forela den midlertidige, symbolmalsammenpassende symbolmal. Sendingen av denne symbolmal pålegger det identifiserte, datagenererende program å frembringe den spesifiserte datasymbolmal. Et ytterligere trinn er å slette den midlertidige, symbolmalsammenpassende symbolmal fra den bevarte liste i hvilken den ble tilføyd under den operasjon som er angitt i blokken 256. Etter fullførelse av disse trinn går programmet ut av blokken 262 og går inn i tilbakesløyfeblokken 254.
Dersom Nei-utgangen velges fra spørsmålsblokken 260, går programmet inn i en funksjonsblokk 264. I denne blokk undersøker tidsklareringsprogrammet listen over permanente, datasammenpassende symbolmaler for å bestemme om det finnes noen symbolmalsammenpasning med den symbolmal som ble mottatt i blokken 250. Etter fullførelse av denne undersøkelse går programmet over fra blokken 264 til en spørsmålsblokk 266. Dersom en sammenpasning finnes under den undersøkelse som utføres i funksjonsblokken 264, tas Ja-utgangen til en funksjonsblokk 268. Dersom ingen sammenpasning finnes, tas Nei-utgangen til tilbakesløyfeblokken 254. I blokken 268 sender tidsklareringsprogrammet den datasammenpassende symbolmal som ble lokalisert i den undersøkelse som er angitt i blokken 264, til det brukerprogram (den eier) som fremla den symbolmalsammenpassende symbolmal for blokken 250. Overføringen av denne datasammenpassende symbolmal indikerer for det opprinnelig frembringende, datagenererende brukerprogram at det eksisterer et databenyttende brukerprogram som trenger de data som frembringes av det fremleggende brukerprogram. I blokken 268 strykes også den midlertidige, symbolmalsammenpassende symbolmal fra listen på grunn av at en sådan midlertidig symbolmal benyttes bare for ett tilfelle.
Etter fullførelse av de funksjoner som er angitt i blokken 268 går programmet ut til tilbakesløyfeblokken 254 som returnerer programmet til returinngangen 173 i dét på fig. 10 viste flytskjema for det grunnleggende tidsklareringsprogram.
De flytskjemaer som illustrerer virkemåten av tidsklareringsprogrammet for prosessen med registrering av permanente og midlertidige, datasammenpassende symbolmaler, er beskrevet på henholdsvis fig. 14 og fig. 15. Dette er en prosess i hvilken et databenyttende brukerprogram registrerer med tidsklareringspr-ogranunet for å motta én eller alle symbolmaler av en bestemt type som frembringes av de datagenererende brukerprogrammer. En midlertidig registrering forsyner det databenyttende brukerprogram med bare én datasymbolmal, og registreringen i tidsklareringsprogrammet annuleres etter at den ene symbolmal er sendt til det registrerte brukerprogram. Ved en permanent registrering tilveiebringes alle datasymbolmaler av den bestemte type til det registrerte brukerprogram inntil registreringen annuleres.
Idet det nå henvises til fig. 14, er det der beskrevet en prosess som utføres av tidsklareringsprogrammet etter mottakelse av en permanent, datasammenpassende symbolmal. Denne betegnes som PDPDMT-prosessen. Etter mottakelse av en permanent, datasammenpassende symbolmal, i en blokk 274, utføres den funksjon å kontrollere denne programløsnings tilsvarende, bevarte liste for å bestemme om den fremlagte symbolmal allerede er blitt registrert. Fra blokken 274 fortsetter programmet til en spørsmålsblokk 276. Dersom et duplikat finnes, tas Ja-utgangen som fortsetter til blokken 278 som returnerer programmet til inngangspunktet 173 på fig. 10. Dersom ikke noe duplikat finnes, tas Nei-utgangen fra blokken 276 til en funksjonsblokk 280.
I funksjonsblokken 280 tilføyer tidsklareringsprogrammet den mottatte symbolmal til den bevarte liste over permanente, datasammenpassende symbolmaler sammen med brukskjennemerket for det overførende brukerprogram.
Tidsklareringsprogrammet går over fra funksjonsblokken 280 til en funksjonsblokk 282 hvor den gjennomsøker hele listen over bevarte, midlertidige symbolmalsammenpassende symbolmaler for å bestemme om noen av disse passer til formatkoder med den nettopp mottatte symbolmal. Dette er en kontroll av sammenpassende symbolmaler for å bestemme om det finnes noen datagenererende programmer som har registrert for å indikere at de er klare til å produsere de data som kreves av det brukerprogram som fremla den permanente, datasammenpassende symbolmal. Fra funksjonsblokken 282 fortsetter programmet til funksjonsblokken 284. Dersom en sådan sammenpasning av den permanente, datasammenpassende symbolmal med en midlertidig, symbolmalsammenpassende symbolmal gjøres i blokken 282, tas Ja-utgangen til en funksjonsblokk 286. I funksjonsblokken 286 sender tidsklareringsprogrammet den datasammenpassende symbolmal som ble funnet i blokken 282, til det datagenererende brukerprogram som tidligere registrerte denne symbolmal. Dette tjener til å meddele dette brukerprogram at det må innlede generering av "fylte" datasymbolmaler da det nå finnes en registrert bruker for sådanne symbolmaler. Da imidlertid registreringen av den symbolmalsammenpassende symbolmal er bare midlertidig, slettes denne midlertidige symbolmal.
En spørsmålsblokk 288 entres både fra Nei-utgangen fra spørsmålsblokken 284 og utgangen fra funksjonsblokken 286. I spørsmålsblokken 288 bestemmer tidsklareringsprogrammet om det er mer gjennomsøking som skal utføres i listen over midlertidige, symbolmalsammenpassende symbolmaler. Dersom det er mer som skal gjennomsøkes, tas Ja-utgangen som returnerer programmet til f unksjonsblokken 282. Dersom det ikke er noe mer å gjennomsøke i denne liste, dirigeres programmet til en funksjonsblokk 290.
I blokken 290 gjennomsøker tidsklareringsprogrammet listen over bevarte, permanente symbolmalsammenpassende symbolmaler for å bestemme om det finnes noen symbolmalfunksjons-kode-sammenpasning med den mottatte, permanente datasammenpassende symbolmal. Fra blokken 290 fortsetter programmet til en spørsmålsblokk 292. Dersom en sammenpasning finnes ut fra den undersøkelse som ble utført i blokken 290, tas Ja-utgangen til en funksjonsblokk 294. I f unks j onsblokken 294 utfører tidsklareringsprogrammet operasjonen med sending av den datasammenpassende symbolmal som ble funnet ved den undersøkelse som ble utført i blokken 290, til det datagenererende brukerprogram som svarer til brukskjennemerket for den symbolmalsammenpassende symbolmal. Overføringen av denne datasammenpassende symbolmal tjener til å underrette dette datagenererende brukerprogram om at det må fortsette med genereringen av "fylte" datasymbolmaler da det nå finnes en registrert bruker for sådanne symbolmaler.
En spørsmålsblokk 296 entres dersom ingen sammenpasning finnes i spørsmålsblokken 292 og Nei-utgangen tas fra denne blokk, eller dersom funksjonen 294 utføres. I blokken 296 stilles et spørsmål for å bestemme om det er mer som skal gjennomsøkes i listen over permanente, symbolmalsammenpassende symbolmaler som er angitt i blokken 290. Dersom det er ytterligere materiale som skal gjennomsøkes, tas Ja-utgangen fra blokken 296 til f unksjonsblokken 290. Dersom gjennomsøkingen er blitt fullført, tas Nei-utgangen til blokken 278 som returnerer programmet til inngangspunktet 173 i tidsklareringsprogrammet på fig. 10.
Den siste registreringsfunksjon for tidsklareringsprogrammet er beskrevet under henvisning til fig. 15. Dette flytskjema beskriver de operasjoner som utføres når tidsklareringsprogrammet mottar en midlertidig, datasammenpassende symbolmal fra et databenyttende brukerprogram. En sådan symbolmal fremlegges for tidsklareringsprogrammet når et databenyttende brukerprogram krever bare én "fylt" datasymbolmal. Den første funksjonsoperasjon utføres i en blokk 304. Tidsklareringsprogrammet gjennomsøker listen over midlertidige, datasammenpassende symbolmaler for å bestemme om det fremleggende, databenyttende brukerprogram tidligere har registrert den samme symbolmal som ble mottatt. Et dirigeringsspørsmål stilles i en spørsmålsblokk 306 som følger etter funksjonsblokken 304. Dersom et duplikat finnes, tas Ja-utgangen til en funksjonsblokk 308 som dirigerer programmet tilbake til inngangspunktet 173 i det på fig. 10 viste flytskjema for tidsklareringsprogrammet.
Dersom ikke noe duplikat finnes i spørsmålsblokken 306, tas Nei-utgangen til en funksjonsblokk 310. I denne blokk tilføyer tidsklareringsprogrammet den mottatte symbolmal til listen over midlertidige, datasammenpassende symbolmaler sammen med det bruksk jennemerke som svarer til det overførende, databenyttende brukerprogram.
Tidsklareringsprogrammet fortsetter fra funksjonsblokken 310 til en funksjonsblokk 312. I blokken 312 gjennomsøker tidsklareringsprogrammet listen over bevarte, midlertidige symbolmalsammenpassende symbolmaler for alle brukerprogrammer for å bestemme om det finnes noen sammenpasning med den nettopp mottatte symbolmal. Programmet fortsetter til en spørsmålsblokk 314 for å dirigere programmet i avhengighet av om det finnes en sammenpasning. Dersom en sådan sammenpasning finnes, fortsetter tidsklareringsprogrammet til en funksjonsblokk 316 via Ja-utgangen, men dersom ingen sammenpasning finnes, fortsetter programmet via Nei-utgangen til en ytterligere spørsmålsblokk 318. I funksjonsblokken 316 sender tidsklareringsprogrammet den datasammenpassende symbolmal som ble mottatt i blokken 304, til det identifiserte brukerprogram som registrerte den midlertidige, symbolmalsammenpassende symbolmal som ble identifisert ved den gjennomsøking som ble utført i funksjonsblokken 312. Sendingen av denne symbolmal til det registrerte, datagenererende brukerprogram informerer dette program om at det må fortsette med genereringen av en "fylt" datasymbolmal på grunn av at det nå finnes en identifisert bruker av de data som det frembringer. I blokken 316 fortsetter tidsklareringsprogrammet med å slette den midlertidige, sammenpassende symbolmal som ble identifisert i blokken 312, på grunn av at midlertidige symbolmaler krever bare ett svar og den skal ikke brukes på nytt.
Dersom ingen sammenpasning finnes i spørsmålsblokken 314, eller funksjonene fullføres i blokken 316, fortsetter tidsklareringsprogrammet til en spørsmålsblokk 318. I denne blokk tas en bestemmelse med hensyn til hvorvidt mer gjennom-søking må utføres i listen over midlertidige, symbolmalsammenpassende symbolmaler. Dersom mer gjennomsøking kreves, tas Ja-utgangen tilbake til funksjonsblokken 312. Dersom ingen ytterligere gjennomsøking kreves, tar tidsklareringsprogrammet Nei-utgangen til en funksjonsblokk 320.
I funksjonsblokken 320 fortsetter tidsklareringsprogrammet med å gjennomsøke listen over permanente, symbolmalsammenpassende symbolmaler for alle brukerprogrammer for å bestemme om det finnes noen symbolmalsammenpasning med den midlertidige, datasammenpassende symbolmal som ble mottatt i blokken 304. Fra f unksjonsblokken 320 fortsetter tidsklareringsprogrammet til en spørsmålsblokk 322. Dersom en sammenpasning finnes, fortsetter programmet via Ja-utgangen til en funksjonsblokk 324, men dersom ingen sammenpasning finnes, tar programmet Nei-utgangen til en ytterligere spørsmålsblokk 326. I funksjonsblokken 324 sender tidsklareringsprogrammet den mottatte, datasammenpassende symbolmal til det identifiserte, datagenererende brukerprogram (eieren) av den symbolmalsammenpassende symbolmal som ble identifisert ved den sammenpasning som ble funnet ved den undersøkelse som ble utført i funksjonsblokken 320. Sendingen av denne datasammenpassende symbolmal til det datagenererende brukerprogram informerer programmet om at det må fortsette med genereringen av sin spesielle, "fylte" datasymbolmal da det nå finnes en identifisert bruker av disse data. Denne prosess fortsetter inntil den annuleres på grunn av at dette er en
permanent symbolmal.
I spørsmålsblokken 326 bestemmer tidsklareringsprogrammet om det er mer gjennomsøking som skal utføres i listen over permanente, symbolmalsammenpassende symbolmaler. Dersom mer gjennomsøking skal utføres, tas Ja-utgangen tilbake til f unksjonsblokken 320. Dersom gjennomsøkingen er fullstendig, tar tidsklareringsprogrammet Nei-utgangen til funksjonsblokken 308 som returnerer programmet tilbake til returinngangspunktet 173 for tidsklareringsprogrammet på fig. 10.
De umiddelbart foregående flytskjemaer for tidsklareringsprogrammet har beskrevet prosesser for registreringen av forskjellige typer av symbolmaler. Fig. 16-19 beskriver tidsklareringsprogramoperasjonene for strykning eller sletting av bestemte symbolmaler eller grupper av symbolmaler. Disse slettingsprosesser er nødvendige slik at kommunikasjonsf unksjonen ifølge oppfinnelsen kan være fleksibel og dynamisk.
Idet det nå henvises til fig. 16, er det der beskrevet en prosess for sletting av spesifikke eller bestemte symbolmaler ved hjelp av et brukerprogram. Brukerprogrammer kan generere både midlertidige og permanente symbolmaler. De kan også generere "data-sammenpassende" og "symbolmal-sammenpassende symbolmaler". Det finnes således fire mulige symbolmaler, og det finnes fire tilsvarende symbolmallister i tidsklareringsprogrammet. På fig. 16 er prosessen for sletting av en bestemt symbolmal som er av hvilken som helst av de fire typer, beskrevet. Den på fig. 16 beskrevne prosedyre innledes ved mottaking av en slettingskommando og en symbolmal. I en spørsmålsblokk 340 foretas en undersøkelse for å bestemme om den mottatte symbolmal er en "midlertidig, datasammenpassende symbolmal". Dersom dette er tilfelle, tas Ja-utgangen til en funksjonsblokk 342 i hvilken tidsklareringsprogrammet sletter den mottatte, midlertidige datasammenpassende symbolmal fra den tilsvarende, bevarte liste. Etter blokken 342 fortsetter tidsklareringsprogrammet til en blokk 344 som returnerer programmet til inngangspunktet 173 for det på fig. 10 viste flytskjema for tidsklareringsprogrammet.
Dersom Nei-utgangen tas fra spørsmålsblokken 340, entres en spørsmålsblokk 346 for å bestemme om den mottatte symbolmal er en "permanent datasammenpassende symbolmal". Dersom en sådan symbolmal mottas, tas Ja-utgangen fra blokken 346 til en funksjonsblokk 348. I blokken 348 sletter tidsklareringsprogrammet den mottatte, permanente datasammenpassende symbolmal fra den tilsvarende, bevarte liste. Tidsklareringsprogrammet går ut fra f unksjonsblokken 348 til tilbakesløyfeblokken 344 som returnerer programmet til inngangspunktet 173 på fig. 10.
Dersom Nei-utgangen tas fra blokken 346, går tidsklareringsprogrammet inn i en spørsmålsblokk 350. Denne blokk bestemmer om den mottatte symbolmal er en "midlertidig, symbolmalsammenpassende symbolmal". Dersom dette er tilfelle, tas Ja-utgangen til en funksjonsblokk 352 i hvilken tidsklareringsprogrammet sletter den mottatte, midlertidige symbolmalsammenpassende symbolmal fra den bevarte liste. Tidsklareringsprogrammet fortsetter deretter til tilbakesløyfe-funksjonsblokken 344.
Dersom Nei-utgangen tas fra spørsmålsblokken 350, går tidsklareringsprogrammet inn i spørsmålsblokken 354. Funksjonen i denne blokk bestemmer om den mottatte symbolmal er en "permanent, symbolmalsammenpassende symbolmal". Dersom dette er tilfelle, tas Ja-utgangen til en funksjonsblokk 356 i hvilken tidsklareringsprogrammet sletter den mottatte, permanente symbolmalsammenpassende symbolmal fra den tilsvarende, bevarte liste og deretter returnerer programmet til tilbakesløyfeblokken 344. Dersom Nei-utgangen tas fra spørsmålsblokken 354, tas tidsklareringsprogrammet til tilbakesløyfefunksjonsblokken 344 hvor programmet returneres til inngangspunktet 173 på fig. 10.
En gruppesletting av symbolmaler ved hjelp av tidsklareringsprogrammet skal nå beskrives under henvisning til fig. 17. Den prosess som er beskrevet i dette flytskjema, sletter alle permanente symbolmaler for et bestemt brukerprogram. Etter at tidsklareringsprogrammet har mottatt prosessen PDDAPT, entres en funksjonsblokk 360. I denne funksjonsblokk sletter tidsklareringsprogrammet alle permanente, datasammenpassende symbolmaler fra den bevarte liste for det fremleggende eller henstillende brukerprogram. Brukerprogrammet fortsetter deretter til en funksjonsblokk 362 og sletter alle de permanente, symbolmalsammenpassende symbolmaler fra den bevarte liste for det fremleggende eller henstillende brukerprogram. Således slettes alle permanente symbolmaler av både den datasammenpassende type og den symbolmalsammenpassende type for det spesielle brukerprogram som foretok henstillingen til tidsklareringsprogrammet. Til slutt går tidsklareringsprogrammet ut av funksjonsblokken 362 til en funksjonsblokk 364 som returnerer tidsklareringsprogrammet til inngangspunktet 173 på fig. 10.
Idet det nå henvises til fig. 18 for tidsklareringsprogrammet, har den der viste prosess som oppgave å slette alle symbolmallister for et bestemt brukerprogram. Dette er den prosess som betegnes som PDDATM. Etter mottakelse av denne prosess fra et brukerprogram går tidsklareringsprogrammet inn i en første funksjonsblokk 370. I denne funksjonsblokk sletter tidsklareringsprogrammet alle de permanente, datasammenpassende symbolmaler fra den tilsvarende liste for det henstillende brukerprogram.
Fra funksjonsblokken 370 fortsetter tidsklareringsprogrammet til en funksjonsblokk 372 hvor det sletter alle de midlertidige, datasammenpassende symbolmaler fra den tilsvarende, bevarte liste for det henstillende brukerprogram.
Fra blokken 372 fortsetter tidsklareringsprogrammet til en funksjonsblokk 374 hvor det sletter alle de permanente, symbolmalsammenpassende symbolmaler fra den tilsvarende, bevarte liste for det brukerprogram som fremsatte anmodningen om å foreta slettingene.
Fra funksjonsblokken 374 fortsetter tidsklareringsprogrammet til en funksjonsblokk 376 hvor det sletter alle de midlertidige, symbolmalsammenpassende symbolmaler i den bevarte liste for det henstillende brukerprogram. Ved dette tidspunkt er alle symbolmaler for det spesielle brukerprogram blitt slettet fra listene i tidsklareringsprogrammet. Tidsklareringsprogrammet fortsetter til slutt til funksjonsblokken 378 som returnerer programmet til inngangspunktet 173 på fig. 10.
Idet det nå henvises til fig. 19, er det der vist prosessen for sletting bare av de midlertidige symbolmaler for et spesielt brukerprogram. Denne prosess betegnes som PDDATT. I den første funksjonsblokk 390 sletter tidsklareringsprogrammet alle de midlertidige, datasammenpassende symbolmaler for det henstillende brukerprogram fra den tilsvarende liste som er lagret i tidsklareringsprogrammet. Tidsklareringsprogrammet fortsetter deretter til en funksjonsblokk 392 hvor det sletter alle de midlertidige, symbolmalsammenpassende symbolmaler fra den tilsvarende liste for det henstillende brukerprogram. Tidsklareringsprogrammet fortsetter til slutt til en funksjonsblokk 394 som returnerer programmet tilbake til inngangspunktet 173 på fig. 10.
Den siste funksjon som er beskrevet for tidsklareringsprogrammet, er vist på fig. 20. Denne prosess, som er betegnet som PDCLCH, stenger forbindelsen mellom et brukerprogram og tidsklareringsprogrammet. I en funksjonsblokk 400 informerer tidsklareringsprogrammet meldingsgrensesnittet (MI) om å stenge kommunikasjonsforbindelsen med brukerprogrammet (PD). MI er grensesnittet mellom tidsklareringsprogrammet, brukerprogrammene og grensesnitt-programvaren. Dette er vist på fig. 7.
Fra funksjonsblokken 400 fortsetter tidsklareringsprogrammet til en funksjonsblokk 402 hvor det sletter alle symbolmaler for det henstillende brukerprogram fra alle lister som er opprettholdt i tidsklareringsprogrammet.
Etter funksjonsblokken 402 fortsetter tidsklareringsprogrammet til en funksjonsblokk 404 hvor "brukshåndtaket"
(application handle) (identifikasjon av det henstillende brukerprogram) slettes fra den datatabell (array) som opprinnelig ble oppsatt av tidsklareringsprogrammet i den på fig. 10 viste funksjonsblokk 170. Til slutt overføres tidsklareringsprogrammet til en blokk 406 som fører programmet i sløyfe tilbake til inngangspunktet 173 på fig. 10.
Det flytskjema for PDCLCH som er vist på fig. 20, er forskjellig fra flytskjemaet for PDDATM som er vist på fig. 18. På fig. 18 er "brukshåndtaket" opprettholdt, og brukerprogrammet kan returnere og registrere nye symbolmaler i listene i tidsklareringsprogrammet. I det flytskjema som er vist på fig. 20, er imidlertid "brukshåndtaket" blitt slettet og må etableres på nytt før det kan skje noen registrering av symbolmaler ved hjelp av brukerprogrammet.
Idet det nå henvises til fig. 21, er det der vist et strukturskjema for det pekende tidsklareringsprogram (PD-programmet). Hver av de subrutiner som er vist i dette skjema, er tilveiebrakt som en liste i Tillegg I.
Fig. 22 viser et strukturskjema for et program TPXPDMT som er et program som registrerer med tidsklareringsprogrammet for å motta data. Hver av de subrutiner som utgjør dette program, er angitt som kodelister i Tilleggene I eller II.
På fig. 23 er det vist et strukturskjema for programmet TPXDATA. Dette er et datagenererende program som tilveiebringer informasjon til det pekende tidsklareringsprogram. Hver av subrutinene som er vist i dette strukturskjema, er angitt som en kodeliste i Tilleggene I, II eller III.
Sammenfatningsvis tilveiebringer den foreliggende oppfinnelse en ny, rask og effektiv metode for overføring av informasjon mellom uavhengige, men samtidig arbeidende programmer i et datamaskinsystem.

Claims (18)

1. Fremgangsmåte for overføring av informasjon mellom flere programmer som arbeider samtidig i et datamaskinsystem, KARAKTERISERT VED at den omfatter de trinn å registrere minst én informasjonskode og en brukerprogramidentif ikasjon for hver inf ormas j onskode ved hjelp av ett av et antall informasjonsbenyttende brukerprogrammer under utførelse på datamaskinsystemet med et tidsklareringsprogram, idet hver av informasjonskodene representerer en spesiell type eller samling av den nevnte informasjon og hver av brukerprogramidentifikasjonene svarer til ett av det nevnte antall av inf ormas jonsbenyttende brukerprogrammer, idet registreringen ved hjelp av ett av det nevnte antall av informasjonsbenyttende brukerprogrammer er for det formål å motta informasjon som er representert ved den registrerte minst ene informasjonskode, og uten ytterligere anmodninger hva angår det ene av det nevnte antall av informasjonsbenyttende brukerprogrammer, å frembringe en liste som omfatter minst én av informasjonskodene og de nevnte brukerprogramidentifikasjoner, å frembringe utvalgt informasjon og en tilsvarende informasjonskode ved hjelp av et informasjonsgenererende brukerprogram som utføres på datamaskinsystemet, å overføre den utvalgte informasjon og tilsvarende inf ormas j onskode ved hjelp av det inf ormas j onsgenererende brukerprogram som utføres på datamaskinsystemet, til tidsklareringsprogrammet , å sammenlikne den nevnte informasjonskode som svarer til den utvalgte informasjon, med inf ormas jonskodene i den nevnte liste for å finne sammenpasninger som ved hjelp av brukerprogramidentif ikasj onen identifiserer minst ett av antallet av informasjonsbenyttende brukerprogrammer som er registrert i listen, for å motta typen eller samlingen av informasjon som er indikert av den nevnte informasjonskode som svarer til utvalgt informasjon, og å overføre i det minste den utvalgte informasjon til hvert av de identifiserte informasjonsbenyttende brukerprogrammer.
2. Fremgangsmåte ifølge krav 1, KARAKTERISERT VED at den utvalgte informasjon er en indikator for å få tilgang til annen informasjon som skal utnyttes av det eller de identifiserte brukerprogrammer, og det eller de identifiserte brukerprogrammer gjenfinner den andre informasjon ved benyttelse av den nevnte indikator.
3. Fremgangsmåte ifølge krav 1, KARAKTERISERT VED at den utvalgte informasjon er informasjon som utnyttes direkte av det eller de identifiserte brukerprogrammer.
4. Fremgangsmåte ifølge krav 1, KARAKTERISERT VED at minst ett av de nevnte trinn med overføring omfatter overføring tvers over et nettverk som sammenkopler et antall prosessorer i datamaskinsystemet.
5. Fremgangsmåte ifølge krav 1, KARAKTERISERT VED at den registrerte informasjonskode som svarer til den overførte, utvalgte informasjon, er angitt som midlertidig, og at fremgangsmåten omfatter det trinn å slette den registrerte informasjonskode som svarer til den utvalgte informasjon, fra den nevnte liste for hvert av de identifiserte brukerprogrammer etter at den utvalgte informasjon er blitt overført til hvert av de identifiserte brukerprogrammer.
6. Fremgangsmåte ifølge krav 1, KARAKTERISERT VED at den registrerte informasjonskode som svarer til den overførte, utvalgte informasjon, er angitt som permanent, og at trinnene med frembringelse av utvalgt informasjon, overføring av den utvalgte informasjon, sammenlikning av den nevnte informasjonskode og overføring av i det minste den utvalgte informasjon gjentas sekvensielt for flere forekomster, for å overbringe ytterligere informasjon til de identifiserte brukerprogrammer.
7. Fremgangsmåte ifølge krav 1, hvor datamaskinsystemet inneholder en innmatingsanordning og en utmatingsanordning for kommunikasjon med en bruker, KARAKTERISERT VED at den videre omfatter det trinn å frembringe en vindusfremvisning på utmatingsanordnin-gen for hvert av et antall brukerprogrammer, hvor en bruker kommuniserer med vindusfremvisningen på innmatingsanordningen, og at trinnet med overføring av den utvalgte informasjon og tilsvarende informasjonskode til tidsklareringsprogrammet utføres ved hjelp av det informasjonsgenererende brukerprogram ved å frembringe en symbolmal som inneholder et sett av felter som inneholder én av inf ormas jonskodene i ett felt, og minst ett datafelt som er definert for data svarende til den informasjon som er definert ved informasjonskoden i symbolmalen, og å overføre den frembrakte symbolmal til tidsklareringsprogrammet.
8. Fremgangsmåte ifølge krav 7, KARAKTERISERT VED at inf ormas jonskoden i symbolmalen er en indikator for å skaffe tilgang til annen informasjon som skal utnyttes av det eller de identifiserte brukerprogrammer, og at det eller de identifiserte brukerprogrammer gjenfinner den nevnte andre informasjon ved benyttelse av indikatoren.
9. Fremgangsmåte ifølge krav 7, KARAKTERISERT VED at informasjonen i symbolmalen utnyttes direkte av det eller de identifiserte brukerprogrammer.
10. Fremgangsmåte ifølge krav 7, KARAKTERISERT VED at den registrerte informasjonskode i den overførte symbolmal er angitt som midlertidig, og at fremgangsmåten for overføring av informasjon omfatter det trinn å slette fra listen den registrerte informasjonskode i den overførte symbolmal for hvert av de identifiserte brukerprogrammer etter at symbolmalen er blitt overført til hvert av de identifiserte brukerprogrammer.
11. Fremgangsmåte ifølge krav 7, KARAKTERISERT VED at den registrerte informasjonskode i den overførte symbolmal er angitt som permanent, og at trinnene med frembringelse av utvalgt informasjon, overføring av den utvalgte informasjon, sammenlikning av informasjonskoden og overføring av i det minste den utvalgte informasjon, gjentas fortløpende for flere forekomster for å overbringe ytterligere informasjon til de identifiserte brukerprogrammer.
12. Innretning for overføring av informasjon mellom flere programmer som arbeider samtidig i et datamaskinsystem, KARAKTERISERT VED at den omfatter en registreringsanordning for registrering av minst én inf ormas j onskode og en brukerprogramidentif ikasjon for hver informasjonskode ved hjelp av et informasjonsbenyttende brukerprogram som utføres på datamaskinsystemet med en tidsklarerings-anordning for å frembringe en liste som omfatter minst én av informasjonskodene og brukerprogramidentifikasjonene, idet hver av informasjonskodene representerer en spesiell type eller samling av den nevnte informasjon og hver av brukerprogramidentifikasjonene svarer til ett av de informasjonsbenyttende brukerprogrammer, idet registreringen ved hjelp av det informasjonsbenyttende brukerprogram er for det formål å motta informasjon som er representert ved den registrerte minst ene informasjonskode, og uten ytterligere anmodninger hva angår det informasjonsbenyttende brukerprogram, en frembringelsesanordning for frembringelse av utvalgt informasjon og en tilsvarende informasjonskode ved hjelp av et inf ormas j onsgenererende brukerprogram som utføres på datamaskinsystemet , en overføringsanordning for overføring av den utvalgte informasjon og tilsvarende informasjonskode ved hjelp av det inf ormas j onsgenererende brukerprogram som utføres på datamaskinsystemet, til tidsklareringsprogrammet, en sammenlikningsanordning for sammenlikning av den nevnte informasjonskode som svarer til den utvalgte informasjon, med informasjonskodene i den nevnte liste for å finne sammenpas ninger som ved hjelp av den nevnte brukerprogramidentifikasjon identifiserer minst ett av de informasjonsbenyttende brukerprogrammer som er registrert i listen, for å motta typen eller samlingen av informasjon som er indikert ved den nevnte informasjonskode som svarer til den utvalgte informasjon, og en overføringsanordning for overføring av i det minste den utvalgte informasjon til hvert av de identifiserte informa-sj onsbenyttende brukerprogrammer.
13. Innretning ifølge krav 12, KARAKTERISERT VED at den utvalgte informasjon er en indikator for annen informasjon som skal benyttes av det eller de identifiserte brukerprogrammer, og de identifiserte brukerprogrammer gjenfinner den nevnte andre informasjon ved henvisning til den nevnte indikator for benyttelse ved hjelp av denne.
14. Innretning ifølge krav 12, KARAKTERISERT VED at minst én av datamaskinprogramanordningene for overføring omfatter en anordning for overføring tvers over et nettverk som sammenkopler et antall prosessorer i datamaskinsystemet.
15. Innretning ifølge krav 12, KARAKTERISERT VED at den omfatter en datamaskinprogramanordning for sletting av den registrerte informasjonskode som svarer til den utvalgte informasjon, fra den nevnte liste for hvert av de identifiserte brukerprogrammer etter at den utvalgte informasjon er blitt overført til hvert av de identifiserte brukerprogrammer.
16. Innretning ifølge krav 12, KARAKTERISERT VED at den omfatter en datamaskinprogramanordning for frembringelse av andre utvalgt informasjon og en tilsvarende informasjonskode ved hjelp av et brukerprogram, en datamaskinprogramanordning for overføring av den andre utvalgte informasjon og tilsvarende informasjonskode til tidsklareringsprogrammet, en datamaskinprogramanordning for sammenlikning av den nevnte informasjonskode som svarer til den andre utvalgte informasjon, med informasjonskodene i den nevnte liste for å finne sammenpasninger som ved hjelp av brukerprogramidentifika-sj onen identifiserer minst ett av brukerprogrammene som er registrert i listen, for å motta typen eller samlingen av informasjon som er indikert ved hjelp av den nevnte informasjonskode som svarer til den andre utvalgte informasjon, og en datamaskinprogramanordning for overføring av i det minste den andre utvalgte informasjon til hvert av de identifiserte brukerprogrammer.
17. Innretning ifølge krav 12, KARAKTERISERT VED at registreringsanordningen og frembringelsesanordningen initieres ved mottakelse av respektive brukerkommandoer.
18. Innretning ifølge krav 12, KARAKTERISERT VED at den totale utvalgte informasjon og tilsvarende informasjonskode overføres til de identifiserte brukerprogrammer.
NO900236A 1989-01-17 1990-01-16 Fremgangsmåte og innretning for informasjonsoverföring mellom samtidig arbeidende datamaskinprogrammer NO300245B1 (no)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US29765989A 1989-01-17 1989-01-17

Publications (3)

Publication Number Publication Date
NO900236D0 NO900236D0 (no) 1990-01-16
NO900236L NO900236L (no) 1990-07-18
NO300245B1 true NO300245B1 (no) 1997-04-28

Family

ID=23147233

Family Applications (1)

Application Number Title Priority Date Filing Date
NO900236A NO300245B1 (no) 1989-01-17 1990-01-16 Fremgangsmåte og innretning for informasjonsoverföring mellom samtidig arbeidende datamaskinprogrammer

Country Status (10)

Country Link
US (2) US5448738A (no)
EP (1) EP0380211B1 (no)
JP (1) JP2722268B2 (no)
AT (1) ATE140549T1 (no)
AU (1) AU626968B2 (no)
DE (1) DE69027788D1 (no)
HU (1) HU207170B (no)
MY (1) MY105196A (no)
NO (1) NO300245B1 (no)
YU (1) YU7590A (no)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0500262B1 (en) * 1991-02-15 2000-03-29 Sun Microsystems, Inc. Method and apparatus for extensible inter-application link management
US6683697B1 (en) * 1991-03-20 2004-01-27 Millenium L.P. Information processing methodology
US5258855A (en) * 1991-03-20 1993-11-02 System X, L. P. Information processing methodology
JPH06131153A (ja) * 1992-10-16 1994-05-13 Just Syst Corp 情報処理方法及び装置
GB2272544A (en) * 1992-11-10 1994-05-18 Ibm Clipboard facility for computer network
US5375200A (en) * 1992-11-13 1994-12-20 International Business Machines Corporation Method and system for graphic interaction between data and applications within a data processing system
US5774644A (en) * 1993-12-17 1998-06-30 International Business Machines Corporation Method and apparatus for generating a pair of interoperating communications programs
GB2288041A (en) 1994-03-23 1995-10-04 Ibm Object linking and embedding over a computer network.
US5805886A (en) * 1994-09-26 1998-09-08 Intel Corporation Method for notifying client applications of events in a shared application in a computer system
JP2859559B2 (ja) * 1995-05-26 1999-02-17 インターナショナル・ビジネス・マシーンズ・コーポレイション コンピュータ・ネットワーク・システム、コンピュータ・システム、及びクリップボード制御方法
JPH096582A (ja) * 1995-06-20 1997-01-10 Fujitsu Ltd アプリケーション・グルーピング方法及び装置
US5896533A (en) * 1995-07-06 1999-04-20 Intel Corporation Accessing internets world-wide web through object linking and embedding technology
JPH0946338A (ja) * 1995-07-28 1997-02-14 Toshiba Corp マルチキャスト通信制御システム
US6477585B1 (en) 1995-08-18 2002-11-05 International Business Machines Corporation Filter mechanism for an event management service
US5754856A (en) * 1995-08-30 1998-05-19 Candle Distributed Solutions, Inc. MVS/ESA message transport system using the XCF coupling facility
US5893911A (en) * 1996-04-17 1999-04-13 Neon Software, Inc. Method for defining and applying rules for message distribution for transaction processing in a distributed application
US5916307A (en) * 1996-06-05 1999-06-29 New Era Of Networks, Inc. Method and structure for balanced queue communication between nodes in a distributed computing application
US6073139A (en) * 1996-08-15 2000-06-06 Gioquest, A Division Of Schlumberger Technology Corp. Integrated data communication and data access system including the application data interface
US6647432B1 (en) * 1996-08-19 2003-11-11 Geoquest, A Division Of Schlumberger Technology Corporation Distributed framework for intertask communication between workstation applications
US6401138B1 (en) * 1996-10-28 2002-06-04 Koninklijke Philips Electronics N.V. Interface for patient context sharing and application switching
US5852733A (en) * 1996-12-16 1998-12-22 Chien; Yung-Ping S. Microcontroller development tool using software programs
US5970230A (en) * 1997-04-21 1999-10-19 Huck; Mark M. Apparatus and method for creating a virtual channel on a network of computers
JPH11316693A (ja) * 1998-05-01 1999-11-16 Nec Software Chugoku Ltd プログラム間データ連携システム及び方法
EP1140380B1 (en) 1998-12-22 2004-04-28 Honeywell Inc. Event driven multicast material sorting system
EP1630666A3 (en) * 1999-08-23 2007-01-03 Sentillion, Inc. Application launchpad
US6971067B1 (en) * 1999-08-23 2005-11-29 Sentillion, Inc. Application launchpad
US6978210B1 (en) * 2000-10-26 2005-12-20 Conocophillips Company Method for automated management of hydrocarbon gathering systems
US7178143B2 (en) * 2001-03-09 2007-02-13 Bea Systems, Inc. Multi-version hosting of application services
US20030004817A1 (en) * 2001-06-27 2003-01-02 Conoco Inc Visual database for linking geography to seismic data
US8234360B2 (en) * 2002-04-23 2012-07-31 Microsoft Corporation System for processing messages to support network telephony services
JP4007873B2 (ja) * 2002-07-09 2007-11-14 富士通株式会社 データ保護プログラムおよびデータ保護方法
US20040153700A1 (en) * 2003-01-02 2004-08-05 Nixon Mark J. Redundant application stations for process control systems
US7174052B2 (en) * 2003-01-15 2007-02-06 Conocophillips Company Method and apparatus for fault-tolerant parallel computation
US7337427B2 (en) * 2004-01-08 2008-02-26 International Business Machines Corporation Self-healing cross development environment
CN109308181A (zh) * 2018-08-23 2019-02-05 深圳点猫科技有限公司 一种便于少儿操作的移动端编程的分屏操作方法及系统

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3614745A (en) * 1969-09-15 1971-10-19 Ibm Apparatus and method in a multiple operand stream computing system for identifying the specification of multitasks situations and controlling the execution thereof
US3686641A (en) * 1970-09-30 1972-08-22 Burroughs Corp Multiprogram digital processing system with interprogram communication
US4228496A (en) * 1976-09-07 1980-10-14 Tandem Computers Incorporated Multiprocessor system
US4245306A (en) * 1978-12-21 1981-01-13 Burroughs Corporation Selection of addressed processor in a multi-processor network
US4333144A (en) * 1980-02-05 1982-06-01 The Bendix Corporation Task communicator for multiple computer system
US4418382A (en) * 1980-05-06 1983-11-29 Allied Corporation Information exchange processor
JPS5960542A (ja) * 1982-09-29 1984-04-06 Fujitsu Ltd タスク間通信方法
NL8400186A (nl) * 1984-01-20 1985-08-16 Philips Nv Processorsysteem bevattende een aantal stations verbonden door een kommunikatienetwerk, alsmede station voor gebruik in zo een processorsysteem.
DE3581000D1 (de) * 1984-05-19 1991-02-07 British Aerospace Industrielle verarbeitungs- und herstellungsverfahren.
US4694396A (en) * 1985-05-06 1987-09-15 Computer X, Inc. Method of inter-process communication in a distributed data processing system
JPS63223857A (ja) * 1987-03-13 1988-09-19 Hitachi Ltd 並列プロセツサ
JPH0664568B2 (ja) * 1987-02-03 1994-08-22 株式会社日立製作所 ダイナミックファイル処理方法
US4891785A (en) * 1988-07-08 1990-01-02 Donohoo Theodore J Method for transferring data files between computers in a network response to generalized application program instructions
EP0366583B1 (en) * 1988-10-24 1995-08-30 International Business Machines Corporation Method of exchanging data between programs in a data processing system

Also Published As

Publication number Publication date
HUT56195A (en) 1991-07-29
AU626968B2 (en) 1992-08-13
NO900236D0 (no) 1990-01-16
MY105196A (en) 1994-08-30
YU7590A (sh) 1994-04-05
HU207170B (en) 1993-03-01
ATE140549T1 (de) 1996-08-15
JP2722268B2 (ja) 1998-03-04
EP0380211B1 (en) 1996-07-17
NO900236L (no) 1990-07-18
HU900160D0 (en) 1990-03-28
US5448738A (en) 1995-09-05
US5574917A (en) 1996-11-12
AU4799590A (en) 1990-07-26
JPH02288918A (ja) 1990-11-28
EP0380211A3 (en) 1992-03-25
EP0380211A2 (en) 1990-08-01
DE69027788D1 (de) 1996-08-22

Similar Documents

Publication Publication Date Title
NO300245B1 (no) Fremgangsmåte og innretning for informasjonsoverföring mellom samtidig arbeidende datamaskinprogrammer
US8296736B2 (en) Automated business process testing that spans multiple platforms or applications
CN101145097B (zh) 通过布局图提供设备使用信息
US7917896B2 (en) Extensible execution language
CN101290562A (zh) 信息处理装置和信息传送方法
US20220207817A1 (en) Systems and methods for virtual reality environments
US11763527B2 (en) Systems and methods for providing virtual reality environment-based training and certification
US20020095418A1 (en) Document management system
EP3738047B1 (en) Interactive and non-interactive execution and rendering of templates to automate control and exploration across systems
US11263267B1 (en) Apparatuses, methods, and computer program products for generating interaction vectors within a multi-component system
US20040160630A1 (en) Image printing system
KR101877828B1 (ko) 인공지능 기반의 사용자 인터페이스 통합 플랫폼 시스템
JP4516815B2 (ja) 検索装置
JP2023152695A (ja) ロボティックプロセスオートメーション(rpa)ロボットを設計するためにブラウザを使用するシステムおよび方法
JP5910714B2 (ja) 情報処理装置、情報処理方法及びコンピュータプログラム
CN101903862A (zh) 用于在启动时设置计算机系统的方法和系统
CN109582406A (zh) 使用卡片系统框架的基于剧本的安全调查
JP2013033333A (ja) ビジネスプロセス/ビジネスルール実行システム、ビジネスプロセス/ビジネスルール実行方法及びプログラム
CN112437075A (zh) 数据处理方法、装置、设备和存储介质
CN116361192A (zh) 软件的持续集成方法、装置及电子设备
JPH0922348A (ja) プログラム作成方法およびプログラム管理方法
JPH06214905A (ja) 電子データ処理装置
WO2022109144A1 (en) Industrial commissioning procedures including loop checking
WO2022212379A1 (en) Apparatuses, methods, and computer program products for generating interaction vectors within a multi-component system
KR20010103804A (ko) 통신망을 이용한 전자 명함 검색 시스템 및 방법