NO329425B1 - System og fremgangsmate til a forbedre konfigurasjon og kostnadseffektivitet for databehandlingsoppgaver - Google Patents

System og fremgangsmate til a forbedre konfigurasjon og kostnadseffektivitet for databehandlingsoppgaver Download PDF

Info

Publication number
NO329425B1
NO329425B1 NO20091142A NO20091142A NO329425B1 NO 329425 B1 NO329425 B1 NO 329425B1 NO 20091142 A NO20091142 A NO 20091142A NO 20091142 A NO20091142 A NO 20091142A NO 329425 B1 NO329425 B1 NO 329425B1
Authority
NO
Norway
Prior art keywords
address space
content stream
content
dependent
layers
Prior art date
Application number
NO20091142A
Other languages
English (en)
Other versions
NO20091142L (no
Inventor
Petter Moe
Kjetil Bergstrand
Clemens Marschner
Original Assignee
Microsoft Internat Holdings B
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 Microsoft Internat Holdings B filed Critical Microsoft Internat Holdings B
Priority to NO20091142A priority Critical patent/NO329425B1/no
Publication of NO20091142L publication Critical patent/NO20091142L/no
Publication of NO329425B1 publication Critical patent/NO329425B1/no

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Et system for å planlegge og koordinere utførelsen av databehandlingsoppgaver med innbyrdes avhengighet omfattende et adresserom (1) og en mengde (2) av operatorer (P) som kan forbindes med adresserommet ved hjelp av skrive- og lesekursorer (W;R). Adresserommet (1) omfatter en rekke lag, slik at et første lag (L1) av adresserommet (1) er innrettet til å lagre en inngitt innholdsstrøm (S1) og ytterligere lag (L2, L3,...) er anordnet for å lagre henholdsvis genererte og avhengige innholdsstrømmer (S2, S3, ...). Operatorene (P) som kan forbindes med adresserommet (1), benyttes til å prosessere data i en innholdsstrøm (S) og genererer avhengige, ytterligere innholdsstrømmer (SD) på grunnlag av dette. Hver operator (P) omfatter skrivekursorer (W) for å skrive data og lesekursorer (R) for å lese data. I en fremgangsmåte til bruk med systemet leses en inngitt innholdsstrøm og behandles for å generere en eller flere ytterligere avhengige innholdsstrømmer. Avhengige innholdsstrømmer lagres i respective virtuelle lagringslag anordnet i økende monoton orden i et adresserom. Leseoperasjoner utføres slik at avhengighetene mellom innholdsstrømmene danner en rettet asyklisk graf. Skriving av data til et lag finner sted slik at skrivingen alltid er forløpt kortere enn skrivingen av alle lag som det lag underskriving avhenger av.

Description

System og fremgangsmåte til å forbedre konfigurasjon og kostnadseffektivitet for databehandlingsoppgaver
OPPFINNELSENS OMRÅDE
Den foreliggende oppfinnelsen angår et system for å planlegge og koordinere eksekvering av databehandlingsoppgaver med innbyrdes avhengigheter, hvor dataene inngis til systemet eller genereres i dette som innholdsstrømmer fra forskjellige kilder innbefattet tekst-, audio- eller videokilder så vel som blandinger derav, og en fremgangsmåte til bruk med systemet i henhold til krav 1, hvor en innholdsstrøm inngis og lagres i et første virtuelt lagringslag i et adresserom.
Oppfinnelsen angår området databehandling, hvor inngangsdata så som databaseposter fra databaser, audio- eller videostrømmer eller dokumenter fra andre magasiner behandles med en mengde av algoritmer (analyseoperatorer) som kan være avhengige av hverandre og omformer inndataene til en utgangrepresentasjon som føres videre til andre systemer så som søkemotorer eller igjen databaser. Spesielt angår den foreliggende oppfinnelse annotering av innhold og lagring av annotert innhold.
INNLEDNING
Det er mange eksempler på behandlingssystemer hvor én eller flere inngitte representasjoner undergår en rekke omformings- eller analysetrinn. Ta f.eks. generering av undertekster, som for tiden forekommer i mange fjernsynsprogrammer. En måte å automatisk generere slike undertekster på er å utføre en rekke trinn: a) separere audioutgangen fra den kombinerte representasjon av programmet, b) kjøre en tale-til-tekstomforming over denne audioutgangen, c) mate utdata fra trinn b) gjennom et automatisk oversettelsessystem, og d) flette den skrevne tekst tilbake i den kombinerte representasjon av programmet.
En måte å planlegge denne omformingen ville være å ha det opprinnelige program lagret som en fil og kjøre hvert omformingstrinn uavhengig, slik at nye filer genereres med den nye informasjon. Selv om denne prosessen er enkel, har den en rekke ulemper. For det første antar den at programmet står til rådighet som en fullstendig fil, noe som gjør det vanskelig å kjøre hvis en direkte generering av resultatet er nødvendig. I tillegg vil flere gjennomkjøringer av data typisk ikke være effektivt i dagens behandlingssystemer.
En annen måte ville være å hardkode behandlingstrinnene i applikasjon som genererer dataene. Dette er kraftig, men ikke fleksibelt.
KJENT TEKNIKK
Det eksisterer i dag systemer som analyserer en lang rekke typer innhold. Disse systemene analyserer vanligvis innhold i en sekvens av diskrete trinn hvor hvert trinn må fullføre prosesseringen før et nytt trinn kan starte. Dette viser seg ineffektivt, spesielt hvis størrelsen av innholdet som analyseres, forhindrer innholdet fra å holdes i minnet.
En tilnærming som er benyttet for å redusere behovet for ekstern lagring i innholdsanalytikk har vært å hakke innholdet opp i håndterbare deler som vil kunne legges i minnet. Dette løser det nærliggende problem med behov for ekstern lagring, men kompliserer implementeringen av applikasjonen. De analytiske komponenter må behandle innholdsdeler ("content chunks") forskjellig fra deler som ikke er hakket opp. Dette gjelder spesielt analytiske komponenter som analyserer store deler av dokumentet, dvs. deler som er større enn en enkelt opphakket del. Særlig forsiktighet må utvises for å forhindre informasjon fra å gå tapt i opphakkingsprosessen.
Et annet eksempel er pipeline-baserte metoder som Unix skall-ledning ("shell pipeline"), hvor en enkelt strøm av innhold føres til et program, som frembringer en ny strøm som sendes over til den neste i ledningen. Øyensynlig behøver dette ikke å ta hensyn til det faktum at noen prosesseringstrinn kan kjøres i parallell, da informasjon lagt til av ett program bare behøver å leses av en liten undermengde av programmer. Hvert program må forbruke og reprodusere alle data, noe som blir ineffektivt i store behandlingsscenarier.
OPPFINNELSENS HENSIKTER
I lys av de ovennevnte ulemper er det en hovedhensikt med den foreliggende oppfinnelse å skaffe et system som tillater beskrivelse og utvikling av databehandling med behandlingsstrømmer muligvis i nettverk, og å formalisere systemet på en måte som tillater reduksjon av databehandlingslatens.
En annen hensikt med oppfinnelsen er å forenkle spesifikasjonen av slike behandlingssystemer med komplekse, innbyrdes avhengigheter mellom prosesseringstrinnene.
En tredje hensikt med oppfinnelsen er å fornekle prosessen med å utvikle programmer for individuell omforming eller analyseoperatorer i slike systemer.
En fjerde hensikt med oppfinnelsen er å øke eksekveringseffektiviteten til slike systemer, å utnytte mer effektivt de behandlingskapasiteter som står til rådighet og å redusere belastningen på I/U-operasjoner.
En femte hensikt med oppfinnelsen er å tillate tidlig ombruk av allokerte ressurser og således redusere det totale ressursforbruk for et system under kjøring. Dette kalles gjenvinning av ressursene og refererer seg til de ressurser som ikke er i bruk for det opprinnelige formål, men som stilles til rådighet for andre anvendelser.
SAMMENDRAG AV OPPFINNELSEN
De ovennevnte hensikter så vel som ytterligere trekk og fordeler realiseres med systemet i henhold til den foreliggende oppfinnelse som er kjennetegnet ved at det omfatter minst et adresserom for å lagre innholdsstrømmer, hvor adresserommet omfatter en rekke lag slik at et første lag i adresserommet er innrettet til å lagre et inngitt innholdsstrøm og at ytterligere lag dannes og tilpasses for lagring av genererte og avhengige innholdsstrømmer, og én eller flere operatorer som kan forbindes med adresserommet for å behandle dataene i en innholdsstrøm og generere de avhengige ytterligere innholdsstrømmer på basis av en inngitt innholdsstrøm, idet én eller flere operatorer omfatter lesemarkører for å lese data fra en innholdsstrøm og skrivemarkører for å skrive data til en innholdsstrøm eller skrive en avhengig innholdsstrøm til respektive ytterligere lag i adresserommet; og en fremgangsmåte i henhold til den foreliggende oppfinnelser som er kjennetegnet ved å lese og prosessere en inngitt innholdsstrøm for å generere en eller flere innholdsstrømmer som er avhengige av den inngitte innholdsstrøm og som danner en representasjon av minst en del derav, å lagre en eller flere avhengige innholdsstrømmer i respektive virtuelle lagringslag anordnet i en økende monoton orden i adresserommet, å utføre leseoperasjoner på den inngitte innholdsstrøm og avhengige innholdsstrømmer slik at avhengigheten mellom innholdsstrømmene danner en rettet asyklisk graf, og å skrive data til et lag slik skrivingen av dette vil være kortere fremskredet enn skrivingen av alle lag som laget under skriving avhenger av, innbefattet transitive avhengigheter.
Ytterligere trekk og fordeler vil fremgå av de vedføyde, avhengige krav.
OPPFINNELSENS REALISASJON
Oppfinnelsen skal forstås bedre fra den etterfølgende drøftelse av en rekke foretrukne utførelser og lest i samband med den vedføyde tegning, på hvilken fig. 1 viser hvordan et adresserom som benyttet ved den foreliggende oppfinnelse er organisert, og hvordan en analyseoperator aksesserer dette adresserom med bruk av lese- og skrivemarkører,
fig. 2 skjematisk et system i henhold til den foreliggende oppfinnelse, og fig. 3 hvordan en analyseoperator utfører avbildning mellom adresserommene i systemet på fig. 2.
GENERELL BAKGRUNN FOR OPPFINNELSEN
De i det følgende omtalte begreper og trekk er sentrale i realiseringen av systemet i henhold til oppfinnelsen.
Spesielt omfatter den foreliggende oppfinnelse de følgende tre elementer og deres vekselvirkninger som vil bli beskrevet i de påfølgende avsnitt. Disse er først data som består av innholdsstrømmer av informasjonsatomer organisert i et lag strukturert langs et adresserom, dernest prosessering organisert som analyseoperatorer lagt ut i en operatorstrøm og som vekselvirker med innholdsstrømmer med bruk av lese- og skrivemarkører, og endelig, som et resultat av å kombinere en rekke utledede egenskaper, dataopplegget og prosesseringen. Disse sentrale begreper og trekk skal nå forklares i noe detalj med henvisning til fig. 1 som viser organisasjonen et adresserom i systemet i henhold til den foreliggende oppfinnelse. Adresserommet 1 på fig. 1 kan betraktes som en skjematisk gjengivelse av et datalager eller en formalisert gjengivelse av arrangementet til et slikt.
Data
Informasjonsatomene som føres gjennom systemet kan være, men er ikke begrenset til tegn, tekstlinjer eller avsnitt, dokumenter, råbyter eller metadata på andre informasjonsatomer, også kalt annotasjoner.
En adresse angir posisjonen til et informasjonsatom. Eksempler kan være en tegnposisjon (angir posisjonen til et tegn innenfor en tekst), en postidentifikator, et linjetall (angir posisjonen til en linje) eller et tidsmerke (angir f.eks. et bestemt tidspunkt i en video).
En adressedimensjon er en (potensielt uendelig) adressemengde organisert i en monotont økende orden. Eksempler på adressedimensjoner er intervallet fra begynnelsen til slutten av en bestemt tekst, dvs. lengden til teksten som gitt ved antallets tegn, eller tidsintervallet fra starten til slutten av en bestemt video. Adressedimensjoner kan være kontinuerlige (slik tilfellet er med tid i en video) eller diskrete (som i adressedimensjonen for posisjonen innenfor en tekstfil), eller de kan være begrenset (igjen som når det leses en fil) eller ubegrenset (i tilfellet av en kontinuerlig videostrøm).
En innholdsstrøm S er en hvilken som helst sekvens av data som er organisert langs et adresserom 1. Disse data kan bestå, men er ikke begrenset til, sekvenser av informasjonsatomer så som tegn, binære videodata, eller metadata (annotasjoner) som er forbundet med bestemte punkter eller intervaller i adresserommet. Ethvert informasjonsatom som utgjør en del av en innholdsstrøm S har en bestemt posisjon innenfor adresserommet 1.
I systemet i henhold til den foreliggende oppfinnelse kan en rekke innholdsstrømmer S\, S2, S$ ..., selv om de kan inneholde forskjellige typer av informasjonsatomer, dele et adresserom 1 som kan være strukturert i lag Li, L2, L3, .... Strømmene Sh S2, S3 ... allokeres til respektive lag Z-i, L2, £3, .... Dette betyr at strømmene S er organisert langs en annen dimensjon av adresserommet 1, kalt lagdimensjonen. Hvert (virtuelt) lag L inneholder eksakt en innholdsstrøm S og er tilordnet et ordinaltall langs lagdimensjonen. Et eksempel ville være en videostrøm inneholdt i laget L\ og en metadatastrøm som inneholder tidspunkter hvor sceneoverganger er holdt i laget L2. Disse lagene L er virtuelle fordi de ikke kan være fysisk representert i forskjellige for, f.eks. som filer innenfor et filsystem, innførsler i en database eller blokker i et minne.
Prosessering
Med hensyn til dataprosesseringen er systemet i henhold til den foreliggende oppfinnelse sentrert omkring begrepet en analyseoperator P. Dette er en algoritme eller et dataprogram implementert på en databehandlingsinnretning som kan importere innholdsstrømmer S eller eksportere innholdsstrømmer S fra systemet i henhold til den foreliggende oppfinnelse eller definere en relasjon mellom innholdsstrømmer S, dvs. til data fra en eller flere strømmer. Analyseoperatoren P danner en eller flere nye strømmer ved å utføre en analyselignende beregning på inndataene. Et eksempel ville være ekstraheringen av teksten fra audio-inndata.
Analyseoperatorer P vekselvirker med innholdsstrømmene med bruk av lese-og skrivemarkører Æ;W. Disse markørene angir posisjoner i adresserommet 1 hvor en lese- eller skriveoperasjon finner sted. En skrivemarkør W tilføyer informasjonsatomer til en strøm S ved å plassere dem på deres nåværende adresse og flytte markøren opp i adresserommet 1. Lesemarkører R returnerer informasjonsatomet ved den nåværende adresse til operatoren P og flytter deretter også den nåværende posisjon frem. Markører kan oppvise en begrenset mengde slumpmessig aksess i foroverretningen (tilbyr muligheten av å flyttes frem mer enn en posisjon i adresserommet), men ikke i bakoverretningen.
En gruppe av operatorer P\, P2, ..., kan være organisert i en operatorstrøm som er en representasjon av hvordan data flyter gjennom systemet, og som vist på flg. 2, noe det skal sies mer om nedenfor. Operatorstrømmen er en rettet graf, dvs. en graf med operatorene P som noder og rettede forbindelser (piler) 103 som sider. Sidene i grafen angir datastrømretningen. Grafen er asyklisk, hvilket betyr at for enhver vei 201 mellom en operator P uten innkommende forbindelser og en operator P uten utgående forbindelser, er hver operator P i veien inneholdt bare en gang. Med andre ord har ikke grafen sløyfer.
Utledede begreper
Basert på trekkene til systemet i henhold til den foreliggende oppfinnelse og som drøftet med henvisning til fig. 2, kan et antall begreper som er sentrale for oppførselen til systemet utledes. De utgjør et tredje element i systemet i henhold til oppfinnelsen og skal drøftes nedenfor.
For det første kan mengden av operatorer oppstrøms for en spesifikk operator P i en operatorstrøm utledes fra grafopplegget. Oppstrømsoperatorene er operatorene som er forbundet til en spesifikk operator ved å følge forbindelsene bakover, anføre operatorene som nås, og fortsette rekursivt inntil operatorer uten inngående forbindelser nås. En analog definisjon gis for nedstrømsoperatorer ved å følge forbindelsen i pilretning. Dette ses lett for operatorstrømmen på fig. 2. Nedstrømsoperatorene til P\ er operatorene P2, Pi og P4. Operatoren P4 har ingen nedstrøms operatorer. Mengden av oppstrømsoperatorer for P4 omfatter P\, P2, og P3, mens den eneste oppstrømsoperator for P2 er P\.
Utledet fra begrepet oppstrømsoperatorer er begrepet av en spesifikk operator P. Et avhengig lag LD for en operator P er et lag som frembringes (f.eks. ved skriving eller prosessering) av en oppstrømsoperator for P. En spesifikk operator kan bare leses fra dens mengde av avhengige lag. Igjen, slik det kan ses av fig. 2, er de avhengige lagene til P4 Lu L2, Z-3.
DETALJERT DRØFTELSE
Nå skal systemet og fremgangsmåten i henhold til den foreliggende oppfinnelse drøftes mer detaljert med henvisning til fig. 1 som viser organisasjonen av et adresserom, som ovenfor nevnt, og fig. 2, som skjematisk viser systemet i henhold til den foreliggende oppfinnelse som bestående av to deler, nemlig som en første del det todimensjonale adresserom 1 med en mengde av lag L, og som en annen del 2, en mengde av operatorer P og deres innbyrdes avhengigheter. Mer bestemt viser denne annen del av systemet i henhold til oppfinnelsen også valgte innbyrdes avhengigheter for valgte operatorer og prosesstrømmer som ovenfor allerede nevnt. Fremgangsmåten i henhold til oppfinnelsen vil lett forstås ved drøftelsen av funksjonaliteten til systemet i henhold til oppfinnelsen.
Fysisk kan mengden av innholdsstrømmer og deres adresserom 1 være lagret på forskjellige måter. Eksempler innbefatter, men er ikke begrenset til: • Posisjoner i en fil angir adressen til et informasjonsatom. Strømmer S kan rommes i forskjellige filer slik at informasjonen ved adresse x i en fil svarer til den samme adresse i den andre, separate fil. • Informasjonsatomene lagres i forbindelse med deres adresser. Et eksempel ville være en fil med par av postnumre og postinnhold, hvor postnummeret spiller rollen til adressen i adresserommet.
I det følgende angir P\ en operator i operatormengden P og Lj et lag i lagmengden L. Rjj og WtJ er lese- og skrivemarkører for operatorene P, på laget Lj, henholdsvis.
En rekke innholdsstrømmer S kan foreligge over den sammen inngang og kan dele det samme adresserom. Disse mengder av innholdsstrømmer kan enten være inngitt til systemet eller kan være generert. Av grunner som skal forklares nedenfor er strømmene S organisert i virtuelle lag L\, L2, £3, etc. Innenfor et adresserom 1 er lagene L organisert i en monoton orden, uttrykt ved lagdimensjon.
En representasjon av en inngitt form er en strøm eller fil på gitt format. Når en strøm eller fil prosesseres, kan nye lag genereres i det samme eller forskjellige format. Eksempler på formater innbefatter tekst, audiofiler, videofiler og så videre. Som et eksempel, \ a. A være en audiofil, fra hvilken talt tekst B ekstraheres og en stavingskorrigert form representeres som C. Formatet til filen A er audio, filene B og C er tekst, og det er en opprinnelig representasjon A, en mellomliggende representasjon B, og en endelig representasjon C.
En operator innfører i<5>, en strøm Sj i et nytt lag L} eller definerer en relasjon mellom to eller flere slike strømmer: Den kan leses fra null eller flere strømmer ved bruk av lesemarkører R, j k, eller skrive til en eller flere andre strømmer med bruk av skrivemarkører W, j^ m.
En operator P, danner et nytt lag Lj i adresserommet 1 som vist på fig. 1. Her har operatoren P\ dannet et lag L3 ved å lese fra lagene L\ og L2 med bruk av lesemarkørene R\ \ og R\ >2. En operator P\ danner dets informasjonsatomer basert på innholdet i dets avhengige lag.
Som vist på fig. 2, kan en rekke operatorer P\, P2, ... være forbundet gjennom inn/utrelasjoner 201, noe som resulterer i en rettet graf, kalt en operatorstrøm som vist i delen 2. Inndataene til en operator P\ i denne modellen er definert som mengden av avhengige lag, som er de som ble frembrakt av mengden av oppstrømsoperatorer Pt.\, Pt. 2, ...
Fremgangsmåten i henhold til oppfinnelsen oppnår effektivitet ved å la operatorene P arbeide i parallell. Operatorstrømmen kan partisjoneres slik at undermengder eksekveres i forskjellige eksekveringstråder. I det ekstreme tilfellet kan hver operator P arbeide i sin egen tråd. Denne spesielle utførelse kan utvides for å utføre prosesseringen i separate prosesser og til og med i separat fysisk maskinvare.
Systemet i henhold til den foreliggende oppfinnelse må sikre at selv i dette tilfellet opprettholder hver operator P en betraktning av systemet som om foregående operatorer allerede hadde fullført prosesseringen av de lavere lag. For derfor å gjennomføre fremgangsmåten i henhold til oppfinnelsen har operatorene P bare aksess til sine avhengige lag, og lesemarkørene R må ikke lese forbi posisjonen til skrivemarkøren W. Skrivemarkøren Wjj i laget Lj definerer maksimumsposisjonen for lesemarkørene Ritj for dette bestemte lag. Dette er vist på fig. 2 hvor operatoren 2 leses i lagene L2, £3 dannet henholdsvis av operatorene P2 og operatorene P3. Dette betyr at lesemarkørene Æ4)3 og Æ4>2 ikke må lese forbi skrivemarkørene W3y3 og W2>2, henholdsvis. I tilfellet operatoren 7>4 forsøker å lese forbi posisjonen for noen av skrivemarkørene W, vil leseoperasjonen blokkeres inntil dataene er skrevet.
Fra utførelsen av strømmen som gjengitt i del 2 på fig. 2, følger det at operatorene kan arbeide i parallell hvis hver av mengdene av avhengige lag ikke er en undermengde av hverandre. Som et eksempel er operator P3 på fig. 2 uavhengig av laget L2 skrevet av operatoren P2. Operatoren P3 kan derfor arbeide i parallell med operator P2, siden det ikke eksisterer en inn/ut-avhengighet mellom de to.
Innhold som ikke lenger er i bruk kan fjernes fra systemet. Den del av innholdet som er aktivt i et bestemt lag L blir da definert som intervallet [ min( Rf), Wj\ hvor Rj er mengden av posisjoner for lesemarkørene på L} og Wj er posisjonen til den (eneste) skrivemarkør L}. min( R,) angir den minste (minimums) posisjon for alle lesemarkører Rj på Lr Igjen er dette vist på fig. 2, hvor min( R\) angir minimumsposisjonene på laget Lu og W\ er posisjonen til den (eneste) skrivemarkør W\^\ på det samme laget L\. Boksene rundt en strøm iSj innenfor et lag Lj illustrerer det aktive parti av innholdet innenfor dette lag. Det følger at et innhold som foreligger før min( Rj) i et lag Lj kan fjernes fra systemet, da det ikke lenger behøves.
En operator P kan bare skrive til lag L hvis ordinaltall er høyere enn de for lagene til de leste strømmer. På fig. 2 kan operatoren P4 bare skrive til et lag med ordinaltall 4, dvs. Z,4 (eller høyere), da den leser fra L2 og L3.
Lagene L er "virtuelle", fordi selv om de deler egenskaper så som adresserom, lagernummer eller strømmen de inneholder, kan de fysisk lagres på forskjellige måter.
På utgangssiden kan enhver undermengde av inngangsstrømmer eller strømmene dannet av operatorene P danne utdata fra systemet.
I en foretrukket utførelse av fremgangsmåten i henhold til den foreliggende oppfinnelse kan operatorer P også innføre en avbildning mellom to adresserom 1, 2 som vist på fig. 3. For eksempel kan en tale-til-tekstoperator P ekstrahere en transkripsjon fra en videofil organisert langs en adressedimensjon "tid" i det første adresserom 1 og ytterligere tekstbehandlingsoperatorer kan deretter arbeide i adressedimensjonen "tegn" i det annet adresserom 2, fremfor i videodimensjonen.
Fremgangsmåten i henhold til den foreliggende oppfinnelse som vist i det ovenstående, vil muliggjøre strømming av et dokument (innhold) gjennom en graf av operatorer med tanke på å prosessere og annotere det. Et dokument i denne konteksten kan være et tekstdokument (Office, PDF, HTML, etc.) men det kan også være innhold i form av rike media så som video, lydfiler eller til og med innmating lastet ned fra Internett (World Wide Web).
For å oppsummere skaffer den foreliggende oppfinnelse en rekke fordeler sammenlignet med kjent teknikk. Spesielt skal de foreliggende trekk fremheves:
• Kildeinnhold må leses fra start til slutt bare en gang.
• Bare en liten del av dokumentet må holdes i minnet hele tiden. Delen som holdes i minnet, er definert som den minste lesemarkøradresse og den største skrivemarkøradresse. Ved å innføre konfigurasjons-parametre, vil det være mulig å konfigurere den største innholdsdel som skal holdes i minnet eller et fysisk lager på ethvert tidspunkt. • Prosessering utføres ikke lenger som en sekvens av diskrete trinn som prosesserer hele dokumentet før det sendes videre. Tvert imot tillater fremgangsmåten i henhold til oppfinnelsen prosessering i strøm, noe som i sin tur gir mindre latens, mindre I/U og bedre utnyttelse av maskinvare. • Ved å modulere eksplisitt avhengighetene mellom operatorer som benytter begrepet operatorstrømmer, kan prosessering parallelliseres, noe som igjen fører til bedre utnyttelse av maskinvare.
Slik det vil være innlysende for fagfolk, implementeres adresserommet i den foreliggende oppfinnelse fysisk på et datalager eller fysisk minne som tillater gjentatte skrive- og leseoperasjoner (selv om det som nevnt, er slik at en spesifikk strøm naturligvis bare leses en gang). Operatorene implementeres på en passende databehandlingsinnretning og eksekveres på basis av instruksjoner tilpasset oppgaven som skal utføres og skrevet i en hvilken som helst kode som kan benyttes.

Claims (7)

1. System for å planlegge og koordinere eksekvering av databehandlingsoppgaver med innbyrdes avhengigheter, hvor dataene legges inn i systemet eller genereres deri som innholdsstrømmer ( S) fra forskjellige kilder innbefattet tekst-, audio- eller videokilder så vel som blandinger derav, hvor systemet omfatter minst et adresserom (1) for å lagre innholdsstrømmer ( S), hvor adresserommet omfatter en rekke lag ( L) slik at et første lag ( L}) i adresserommet er innrettet til å lagre et inngitt innholdsstrøm ( Sj) og at ytterligere lag ( L2, Z-3, ...) dannes og tilpasses for lagring av genererte og avhengige innholdsstrømmer ( S2, £3, ...), og én eller flere operatorer ( P) som kan forbindes med adresserommet (1) for å behandle dataene i en innholdsstrøm ( S) og generere de avhengige ytterligere innholdsstrømmer ( S2, <S3, ...) på basis av en inngitt innholdsstrøm ( Sj), idet én eller flere operatorer ( P) omfatter lesemarkører ( R) for å lese data fra en innholdsstrøm ( Si) og skrivemarkører ( W) for å skrive data til en innholdsstrøm ( Si) eller skrive en avhengig innholdsstrøm ( Sd; £»,) til respektive ytterligere lag ( LD; £»,) i adresserommet (1).
2. Fremgangsmåte til bruk ved systemet i henhold til krav 1, hvor en innholdsstrøm (Si) legges inn og lagres i et første virtuelt lagringslag ( L\) i et adresserom (1), karakterisert ved å lese og prosessere en inngitt innholdsstrøm for å generere én eller flere innholdsstrømmer som er avhengige av den inngitte innholdsstrøm og som danner en representasjon av minst en del derav, å lagre en eller flere avhengige innholdsstrømmer i respektive virtuelle lagringslag anordnet i en økende monoton orden i adresserommet, å utføre leseoperasjoner på den inngitte innholdsstrøm og avhengige innholdsstrømmer slik at avhengigheten mellom innholdsstrømmene danner en rettet asyklisk graf, og å skrive data til et lag slik skrivingen av dette vil være kortere fremskredet enn skrivingen av alle lag som laget under skriving avhenger av, innbefattet transitive avhengigheter.
3. Fremgangsmåte i henhold til krav 2, karakterisert ved å sette en dimensjonalitet for adresserommet henholdsvis som posisjon i innholdsstrømmene og lag.
4. Fremgangsmåte i henhold til krav 2, karakterisert ved å danne lagene i adresserommet som et lager med tidsreferanse.
5. Fremgangsmåte i henhold til krav 2, karakterisert ved å avbilde et adresserom for å danne et annet adresserom på basis av det første.
6. Fremgangsmåte i henhold til krav 2, karakterisert ved å referere informasjon i en avhengig innholdsstrøm til den inngitte innholdsstrøm ved å anordne henholdsvis en byte-offset for den refererte informasjon i den avhengige innholdsstrøm, eller en tidsforsinkelse fra enten begynnelsen av den inngitte innholdsstrøm eller et vilkårlig tidspunkt.
7. Fremgangsmåte i henhold til krav 2, karakterisert ved å gjenvinne en del av en avhengig innholdsstrøm under betingelse av at delen mindre enn den minste leste del av alle avhengige innholdsstrømmer.
NO20091142A 2009-03-17 2009-03-17 System og fremgangsmate til a forbedre konfigurasjon og kostnadseffektivitet for databehandlingsoppgaver NO329425B1 (no)

Priority Applications (1)

Application Number Priority Date Filing Date Title
NO20091142A NO329425B1 (no) 2009-03-17 2009-03-17 System og fremgangsmate til a forbedre konfigurasjon og kostnadseffektivitet for databehandlingsoppgaver

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
NO20091142A NO329425B1 (no) 2009-03-17 2009-03-17 System og fremgangsmate til a forbedre konfigurasjon og kostnadseffektivitet for databehandlingsoppgaver

Publications (2)

Publication Number Publication Date
NO20091142L NO20091142L (no) 2010-09-20
NO329425B1 true NO329425B1 (no) 2010-10-18

Family

ID=42989351

Family Applications (1)

Application Number Title Priority Date Filing Date
NO20091142A NO329425B1 (no) 2009-03-17 2009-03-17 System og fremgangsmate til a forbedre konfigurasjon og kostnadseffektivitet for databehandlingsoppgaver

Country Status (1)

Country Link
NO (1) NO329425B1 (no)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030187652A1 (en) * 2002-03-27 2003-10-02 Sony Corporation Content recognition system for indexing occurrences of objects within an audio/video data stream to generate an index database corresponding to the content data stream
US7698528B2 (en) * 2007-06-28 2010-04-13 Microsoft Corporation Shared memory pool allocation during media rendering

Also Published As

Publication number Publication date
NO20091142L (no) 2010-09-20

Similar Documents

Publication Publication Date Title
US10942943B2 (en) Dynamic field data translation to support high performance stream data processing
US20220342875A1 (en) Data preparation context navigation
US11461304B2 (en) Signature-based cache optimization for data preparation
AU2013290313B2 (en) Method and system for automated improvement of parallelism in program compilation
JP5530449B2 (ja) モジュラフォレストオートマトン
WO2017065885A1 (en) Distributed pipeline optimization data preparation
CN109032662B (zh) 代码文件生成方法、装置、计算机设备和存储介质
US8788464B1 (en) Fast ingest, archive and retrieval systems, method and computer programs
JP2010267264A (ja) コンポーネント・ベース・アプリケーションに対して実行可能なコードを構築する方法、その方法を実行するプログラムを含むコンピュータ可読の記憶媒体、およびコンパイラ
EP1678643A1 (en) Expression grouping and evaluation
CN105677904B (zh) 基于分布式文件系统的小文件存储方法及装置
WO2006054959A1 (en) Device for structured data transformation
JP2009093349A (ja) 情報検索システム、情報検索用インデックスの登録装置、情報検索方法及びプログラム
US20080027908A1 (en) Method for requesting and processing metadata which is contained in a data stream and associated device
CN105706092A (zh) 四值模拟的方法和系统
JP5347965B2 (ja) Xmlデータ処理システム、該システムに用いられるデータ処理方法及びxmlデータ処理制御プログラム
Asadi et al. Concept location with genetic algorithms: A comparison of four distributed architectures
CN103279543A (zh) 海量图数据上的路径模式查询系统
WO2017065888A1 (en) Step editor for data preparation
Podgorelec et al. A brief review of database solutions used within blockchain platforms
JP2018530838A (ja) データ準備のためのキャッシュ最適化
US8321846B2 (en) Executable template
CN109947703A (zh) 文件系统、文件存储方法、存储装置和计算机可读介质
KR101450239B1 (ko) 대용량 xml 데이터에 대한 다수의 가지 패턴 질의의 동시 병렬처리시스템 및 그 방법
Gulati et al. Apache Spark 2. x for Java developers

Legal Events

Date Code Title Description
MM1K Lapsed by not paying the annual fees