Bakgrund. Inför projektet. Mätningar av existerande läge

Storlek: px
Starta visningen från sidan:

Download "Bakgrund. Inför projektet. Mätningar av existerande läge"

Transkript

1 Slutrapport, Projekt Hiper. Oktober 2006 Bakgrund libcurl är ett utvecklingsbibliotek för filöverföringar som stöder HTTP, HTTPS, FTP, FTPS, FILE, TELNET, DICT m.fl. Följande rapport är skriven utan att alltför mycket förkunskaper om libcurl måste finnas hos läsaren, men då libcurl är ett väletablerat och gammalt projekt (startades 1998) så kan jag inte beskriva samtliga detaljer här. Grundfakta kan inhämtas från libcurls webbsajt: Inför projektet Den 24:e oktober 2005 tog Daniel emot ett diplom och det officiella beskedet om det beviljade ekonomiska stödet från II Stiftelsen, under Internetdagarna Projektet fick namnet Hiper av Daniel, som en förkortning av High Performance projektet syftar till att optimera libcurls prestanda vid väldigt många samtidiga överföringar. I projektet lade Daniel till en punkt (nr 3) som inte fanns med i hans ansökan, så att de blev tre till antalet: 1. nytt API för att undvika select() relaterade problem 2. support för HTTP pipelining 3. ett zero copy interface Redan innan detta bidrag beviljades hade projektet efter många och långa diskussioner en ide om hur API:t skulle utformas för att bli så bra som möjligt, men under projektets gång kom det ändå att omformas och justeras på flera sätt flera gånger. Min plan fick en extrapunkt (zero copy interface) i ett infall av ambition som jag hade precis i början, men jag gjorde under projektets tid bedömningen att detta inte är en speciellt viktig förändring eller någon som efterfrågas på något sätt, så för att spara tid och verkligen komma i mål snyggt så strök jag denna punkt igen och lämnar den till att implementeras i framtiden istället. Mätningar av existerande läge (De mätningar och tider som refereras till i följande rapport är gjorda på en 2083 Mhz AMD Athlon XP körandes Linux 2.6. Testerna har gjorts utan att swap använts, allting har fått plats i RAM.) Projektet började med ganska detaljerade mätningar på det existerande gränssnittet och exakt hur lång 1 av 5

2 (extra ) tid det tar pga den select() centrerade designen. Problemen med select() är i korthet: 1. stöder endast ett (compile time) begränsat antal sockets 2. när man får veta att en eller flera sockets har trafik, kan man inte enkelt får reda på vilken det är utan man måste iterera över allihopa för att ta redan på vilken eller vilka det var 3. långsamt ju fler sockets man lägger till ju längre tar varje anrop till select() 4. det är också ett problem i sig att vi är låsta till att applikationen måste använda select() eftersom det inte passar alla Det existerande gränssnittet krävde att applikationen först gjorde ett anrop till curl_multi_fdset() för att sedan kunna göra select() för att vänta på trafik. När trafik noterats, eller timeout inträffat, skall curl_multi_perform() anropas. Då går libcurl igenom samtliga koppel och gör vad som skall göras, vilket inkluderar läsning och skrivning av de koppel som är redo. Mätningarna visade att vid 9000 koppel utan trafik och en med konstant trafik, så tog enbart select() 8ms per anrop och curl_multi_perform() 32 ms (libcurl var då patchad att endast läsa max 1 byte per anrop). Vi såg också att tiden dessa anrop tar är direkt proportionell med antalet sockets/koppel Illustration 1: tidsåtgång per funktionsanrop koppel skulle alltså ta totalt 89 ms per anrop! Det gör förstås att vi maximalt gör recv() anrop med en frekvens på cirka 11Hz, vilket vid full datahastighet på det enda kopplet med trafik (och 16KB läsbuffrar som libcurl använder) endast ger 180KB/sekund. Design av curl_multi_socket() För att undvika att select() måste användas så måste libcurl exponera exakt de sockets som den använder, och huruvida applikationen ska vänta på att socket blir skrivbar, läsbar eller både och. Vi vill heller inte att applikationen ska behöva plocka fram alla sockets i stil med curl_multi_fdset() då det ju också blir en massa jobb att utföra repetetivt. Slutsatsen blev att den nya funktionaliteten vi gör, måste informera applikationen om socket förändringar 2 av 5

3 med hjälp av en callback. Då endast förändringar rapporteras kan applikationen hela tiden hålla kvar information de sockets den redan fått info om, och se till att vänta på trafik på dem enligt samma info. Vi måste också tillåta att applikationen berättar för libcurl exakt vilket socket som den har noterat trafik på, och då skall libcurl kunna använda den direkt utan att behöva leta igenom tusentals andra. Alternativ till select() Vi har svängt in på och fokuserat ganska mycket på att se till att vi har ett API som är lätt att använda tillsammans med libevent 1. Men genom att göra så, gör vi det också det enkelt att använda andra eventbaserade system i samma anda. Helt enkelt system som kan vänta på trafik på en eller flera sockets och berätta exakt vilken som hade trafik (typ kqueue, epoll och liknande). På libevents webbsajt ser vi en graf över hur libevent skalar i jämförelse med select. Det framgå r inte exakt på vilken typ av maskin som tiderna är uppmätta, men det finns anledningar att tro att det är en långsammare maskin än den jag använt. Siffrorna där visar en konstant användning av 50 mikrosekunder för det enda aktiva kopplet, hur många samtidiga tysta koppel man än lagt till. Jag beslöt mig för att inte försöka upprepa libevents mätningar utan tror på dem, mest för att jag inte är insatt i dess interna funktionalitet och det därmed är lite svårt att göra bra Illustration 2: prestanda graf från libevents webbsajt mätningar. Test av curl_multi_socket() Då vi räknade med att undvika select() (genom t.ex libevent), byggde jag en applikation som trots allt var baserad på select() men endast för utvecklingsfasen. Sedan såg jag till att mäta tiden curl_multi_socket() tog på sig att hantera det enda koppel som hade trafik. Resultatet var mycket inspirerande: det tog i genomsnitt 7 mikrosekunder (fortfarande patchad att endast läsa en byte). De första testerna var dock fortfarande rätt simpla och implementerade inte hela API:et på rätt sätt. För att det skulle fungera rätt så var jag tvungen att implementera en hash uppslagning för socket => intern struct plus att jag stoppade in en hantering av timeout (med hjälp av splay träd) så att applikationen kan fråga av 5

4 libcurl hur länge den bör vänta som längst innan den anropar libcurl (för intern timeout och omförsökshantering etc). Denna extra hantering, samt att vi är tvungna att kontrollera och hantera eventuella timeouter i varje anrop till curl_multi_socket() lade på några mikro mer anrop. Jämförelse av curl_multi_perform och curl_multi_socket Med ett aktiv koppel och ett stort antal koppel så ligger vi nu nästan konstant på totalt mindre än 60 mikrosekunder (när vi läser en enda byte) per event, tiden växer lite långsamt pga hashtabellsuppslagningen. För koppel var vi alltså fortfarande under 10 mikrosekunder per curl_multi_socket anrop. I ett extremfall med tysta koppel och ett som är aktivt, och räknat på att läsningen av data går lika fort för 16KB som för 1 byte (vilket ju inte är fallet i verkligheten, men skillnaden kan ignoreras för tillfället) så når vi en anropsfrekvens på Hz, vilket motsvarar en datahastighet på 260MB/sekund. Skillnaden i hastighet mellan det gamla gränssnittet och det nya är alltså uppemot faktor 1:1500! HTTP Pipelining När prestandan på socket nivå förbättrats gick jag vidare till nätverks nivån och implementerade stöd för HTTP Pipelining. Pipelining betyder här i korthet att man skickar flera förfrågningar på en gång, utan att invänta svaret, och sedan tar man emot flera svar när de väl kommer. Den stora fördelen kommer förstås när man vill hämta många små filer från servrar med lång fördröjning (latency). HTTP Pipelining introducerades med HTTP 1.1 och skall stödjas av alla HTTP servrar som implementerar 1.1, vilket i dagens läge är i princip alla. För att möjliggöra pipelining fick jag först se till att ett multi handle (dvs det objekt som används när man använder libcurls mult interface, oavsett om man använder det gamla curl_multi_perform eller den nya curl_multi_socket) fick en gemensam koppel cache. Detta för att möjliggöra att man lägger till nya förfrågningar som ska kunna koppla på sig på en redan existerande för att bilda kedjor pipelines. Resultat I och med curl releasen (släppt 30 oktober 2006) är både curl_multi_socket() och Pipelining supportat. Därmed är projekt Hiper i mål! Idag, den 25 november 2006 skickar jag slutrapporten. 4 av 5

5 Användning av tillfördelade medel Daniel har under det gångna året fått totalt SEK, fördelat på tre stycken utbetalningar, från II Stiftelsen för genomförandet av detta projekt. Pengarna har används till att köpa RAM minne till utvecklingsdatorn samt till den allra största delen ersätta arbetstid för att möjliggöra att Daniel arbetat deltid med projekt Hiper under praktiskt taget ett helt år. Tack! Jag hade självklart inte kunnat genomföra detta utan II Stiftelsens generösa gåva. Jag har även haft stor hjälp och input från följande individer: Ravi Pratap, Jamie Lokier, Sun Yi Ming, Jeff Pohlmeyer, Alexander Lazic 5 av 5

1 Kravspecifikation Snake App

1 Kravspecifikation Snake App Kravspecifikation Snake App - Kravspecifikation Snake App Utskriven/PDF Export: 2011-09-07 Copyright 2011 Sidan 1 av 7 1 Kravspecifikation Snake App 1.1 Vad är Snake App? Vi skall gör ett Snake Spel för

Läs mer

Introduktion Schenker-BTL AB, Stab IT Beskrivning över informationsintegreringmed Schenker, metodbeskrivning version 1.

Introduktion Schenker-BTL AB, Stab IT Beskrivning över informationsintegreringmed Schenker, metodbeskrivning version 1. Schenker har interna system som handhar information som är av intresse för våra kunder/partners. Idag finns ett flertal av dem tillgängliga via Internet, sk Online-tjänster. Dessa erbjuder inte bara hämtning

Läs mer

Diskprestanda Tester

Diskprestanda Tester Linnéuniversitetet Projektrapport Grundläggande Operativsystem 1DV415 Diskprestanda Tester Matteus Gilis, Linus Fogelström 9 januari 2014 Sammanfattning Vi ville utföra läs och skrivhastighets tester mellan

Läs mer

Opponenter: Erik Hansen Mats Almgren Respondent: Martin Landälv ioftpd-verktyg

Opponenter: Erik Hansen Mats Almgren Respondent: Martin Landälv ioftpd-verktyg Datavetenskap Opponenter: Erik Hansen Mats Almgren Respondent: Martin Landälv ioftpd-verktyg Oppositionsrapport, C-nivå 2006:12 1 Sammanfattat omdöme av examensarbetet Examensarbetet är intressant eftersom

Läs mer

Pipelining i Intel Pentium II

Pipelining i Intel Pentium II Pipelining i Intel Pentium II John Abdulnoor Lund Universitet 04/12/2017 Abstract För att en processor ska fungera måste alla komponenter inuti den samarbeta för att nå en acceptabel nivå av prestanda.

Läs mer

Filöverföring i Windowsmiljö

Filöverföring i Windowsmiljö Linnéuniversitetet Projektrapport Grundläggande Operativsystem 1DV415 Filöverföring i Windowsmiljö Erik Ljungqvist, Viktor Hjertman 10 januari 2014 Sammanfattning I detta projekt undersöks skillnaden i

Läs mer

Objektorienterad programmering

Objektorienterad programmering Objektorienterad programmering Emil Ahlqvist (c10eat@cs.umu.se) Didrik Püschel (dv11dpl@cs.umu.se) Johan Hammarström (c08jhm@cs.umu.se) Hannes Frimmel Moström (c10hml@cs.umu.se) 1 1. Introduktion 1.1 Objektorienterad

Läs mer

IBM POWER4, den första flerkärniga processorn och dess pipelines.

IBM POWER4, den första flerkärniga processorn och dess pipelines. IBM POWER4, den första flerkärniga processorn och dess pipelines. 5 DECEMBER 2016 FÖRFATTARE: OSCAR STRANDMARK EXAMINATOR: ERIK LARSSON Abstract Rapporten redovisar IBM:s POWER-serie, generation ett till

Läs mer

Projektuppgift.

Projektuppgift. Projekt Projektuppgift Designa och implementera ett webbaserat gränssnitt för att söka information i en befintlig databas. Webssidan ska vara komplett med navigering, överblick, sökning och strukturerad

Läs mer

PARALLELLISERING AV ALGORITMER PROCESSORER FÖR FLERKÄRNIGA

PARALLELLISERING AV ALGORITMER PROCESSORER FÖR FLERKÄRNIGA PARALLELLISERING AV ALGORITMER FÖR FLERKÄRNIGA PROCESSORER 870928 3017 Johan Gustafsson 870303 4952 Gustaf David Hallberg 880525 8210 Per Hallgren 801117 0597 Wuilbert Lopez 1/7 Innehållsförteckning Table

Läs mer

Java: Utvecklingsverktyg, datatyper, kontrollstrukturer

Java: Utvecklingsverktyg, datatyper, kontrollstrukturer Java: Utvecklingsverktyg, datatyper, kontrollstrukturer Sven-Olof Nyström Uppsala Universitet 13 juni 2005 1 Utvecklingsverktyg för Java Vi rekommenderar Suns utvecklingsverktyg (SDK, tidigare JDK), se

Läs mer

Högskolan i Gävle. Introduktion till att skapa appar för Android VT Eat App! Jacob Gavin

Högskolan i Gävle. Introduktion till att skapa appar för Android VT Eat App! Jacob Gavin Högskolan i Gävle Introduktion till att skapa appar för Android VT 2016 Eat App! Jacob Gavin tfk16jgi@student.hig.se Inledning Syftet med Eat App är att få människor som inte tidigare mött varandra att

Läs mer

Användarmanual: Ansökan och rapportering i E-kanalen för Energikartläggningsstödet

Användarmanual: Ansökan och rapportering i E-kanalen för Energikartläggningsstödet EM2000 W-4.0, 2010-11-17 Datum 1 (23) Användarmanual: Ansökan och rapportering i E-kanalen för Energikartläggningsstödet Box 310 631 04 Eskilstuna Besöksadress Kungsgatan 43 Telefon 016-544 20 00 Telefax

Läs mer

CDC en jämförelse mellan superskalära processorer. EDT621 Campus Helsingborg av: Marcus Karlsson IDA

CDC en jämförelse mellan superskalära processorer. EDT621 Campus Helsingborg av: Marcus Karlsson IDA CDC6600 - en jämförelse mellan superskalära processorer av: Marcus Karlsson Sammanfattning I denna rapport visas konkret information om hur den första superskalära processorn såg ut och hur den använde

Läs mer

Datorsystem 2 CPU. Förra gången: Datorns historia Denna gång: Byggstenar i en dators arkitektur. Visning av Akka (för de som är intresserade)

Datorsystem 2 CPU. Förra gången: Datorns historia Denna gång: Byggstenar i en dators arkitektur. Visning av Akka (för de som är intresserade) Datorsystem 2 CPU Förra gången: Datorns historia Denna gång: Byggstenar i en dators arkitektur CPU Visning av Akka (för de som är intresserade) En dators arkitektur På en lägre nivå kan vi ha lite olika

Läs mer

Prestandapåverkan på databashanterare av flertrådiga processorer. Jesper Dahlgren

Prestandapåverkan på databashanterare av flertrådiga processorer. Jesper Dahlgren Prestandapåverkan på databashanterare av flertrådiga processorer av Sammanfattning Behandling av information bli vanligare i dagens samhälle och för att klara denna uppgiften används ofta en databashanterare

Läs mer

Prestandatest Förberedelser & Faktainsamling. LIGHTS IN LINE AB Tegnérgatan 37 111 61 STOCKHOLM info@lightsinline.se

Prestandatest Förberedelser & Faktainsamling. LIGHTS IN LINE AB Tegnérgatan 37 111 61 STOCKHOLM info@lightsinline.se Prestandatest Förberedelser & Faktainsamling LIGHTS IN LINE AB Tegnérgatan 37 111 61 STOCKHOLM info@lightsinline.se Sida 2 (6) Innehåll 1 Introduktion... 3 2 Sammanfattning... 3 3 Testmetoder... 3 4 Prestandamål

Läs mer

Projektuppgift- Mashup- Applikation

Projektuppgift- Mashup- Applikation Projektuppgift- Mashup- Applikation Som avslutning på denna kurs är det tänkt att Du ska bygga en egen mashup- applikation. Du ska bygga en komplett applikation som du utan tvekan skulle kunna vilja visa

Läs mer

Reagera på WoW-event Att använda OnUpdate Introduktion Att kapa funktioner Automatisering och AI

Reagera på WoW-event Att använda OnUpdate Introduktion Att kapa funktioner Automatisering och AI Reagera på WoW-event Att använda OnUpdate Introduktion Att kapa funktioner Automatisering och AI Introduktion pptplex Section Divider The slides after this divider will be grouped into a section and given

Läs mer

Agenda. Syfte med datorbygge Datorns delar. Datorbygge. Moderkort Processor Minne och hårddisk Instickskort Övrigt

Agenda. Syfte med datorbygge Datorns delar. Datorbygge. Moderkort Processor Minne och hårddisk Instickskort Övrigt Datorbygge Agenda Syfte med datorbygge Datorns delar Moderkort Processor Minne och hårddisk Instickskort Övrigt Datorbygge Syfte med datorbygge Att alla ska ha byggt ihop en dator eftersom många tror att

Läs mer

Skicka och hämta filer med automatik till och från Försäkringskassan

Skicka och hämta filer med automatik till och från Försäkringskassan Skicka och hämta filer med automatik till och från Försäkringskassan 1 (25) Innehållsförteckning Revisionshistorik... 3 Inledning... 4 1 Förutsättningar... 4 1.1 Registrera... 4 1.2 Certifikat... 4 2 Skicka

Läs mer

TDTS04: Ett chattsystem i java baserat på corba

TDTS04: Ett chattsystem i java baserat på corba 18 January 2010 TDTS04: Ett chattsystem i java baserat på corba Juha Takkinen, Ph.D. IDA, Institutionen för datavetenskap 1.0 Översikt Labb 3 består av att utforma, implementera, testa och demonstrera

Läs mer

Proj-Iteration1. Arkitektur alt. 1

Proj-Iteration1. Arkitektur alt. 1 Proj-Iteration1 PVG/Coaching Boris Magnusson Datavetenskap LTH Proj-Iter1-1 Registrering Registrering Arkitektur alt. 1 Personuppgifter Starttid Sorterare Måltid Efterbehandling Resultat Tre program som

Läs mer

Multi-ported cache En rapport om några lösningar till att få flera minnesaccesser simultant.

Multi-ported cache En rapport om några lösningar till att få flera minnesaccesser simultant. Multi-ported cache En rapport om några lösningar till att få flera minnesaccesser simultant. Sammanfattning När processorns klockhastighet ökar medför det en ökning av instruktioner vilket såklart ökar

Läs mer

Introduktion till programmering och Python Grundkurs i programmering med Python

Introduktion till programmering och Python Grundkurs i programmering med Python Introduktion till programmering och Python Hösten 2009 Dagens lektion Vad är programmering? Vad är en dator? Filer Att tala med datorer En första titt på Python 2 Vad är programmering? 3 VAD ÄR PROGRAMMERING?

Läs mer

1. Starta om din Mac. 2. Kontrollera din Internetuppkoppling

1. Starta om din Mac. 2. Kontrollera din Internetuppkoppling 1. Starta om din Mac En av de enklaste sakerna du kan göra är också en av de mest effektiva. En omstart kan göra susen eftersom det sätter stopp för bakgrundsprocesser och frigör arbetsminne. Förhoppningsvis

Läs mer

- Effektiv prestandatestning, teknisk verifiering, tuning, verifiera krav, förvalta prestanda

- Effektiv prestandatestning, teknisk verifiering, tuning, verifiera krav, förvalta prestanda - Effektiv prestandatestning, teknisk verifiering, tuning, verifiera krav, förvalta prestanda 2015-08-27 1 Christian Gerdes Performance Engineering Evangelist LIGHTS IN LINE AB christian@lightsinline.se

Läs mer

Decentraliserad administration av gästkonton vid Karlstads universitet

Decentraliserad administration av gästkonton vid Karlstads universitet Datavetenskap Opponent(er): Markus Fors Christian Grahn Respondent(er): Christian Ekström Per Rydberg Decentraliserad administration av gästkonton vid Karlstads universitet Oppositionsrapport, C/D-nivå

Läs mer

Skärmbilden i Netscape Navigator

Skärmbilden i Netscape Navigator Extratexter till kapitel Internet Skärmbilden i Netscape Navigator Netscape är uppbyggt på liknande sätt som i de flesta program. Under menyraden, tillsammans med verktygsfältet finns ett adressfält. I

Läs mer

Cacheprobe: programbibliotek för extrahering av cacheminnesparametrar

Cacheprobe: programbibliotek för extrahering av cacheminnesparametrar Cacheprobe: programbibliotek för extrahering av cacheminnesparametrar Gabriel Gerhardsson Cacheprobe p.1/38 Abstract Kan analytiskt ta reda på associativitet, line storlek och storlek på processorns cacheminnen

Läs mer

Välkommen! SA S PSA S Im I puls s Mobilite t t e 8 1

Välkommen! SA S PSA S Im I puls s Mobilite t t e 8 1 Välkommen! SAPSA Impuls Mobilitet 81 Impuls sponsorer 2012 Guldsponsorer SAPSA Impuls Mobilitet 81 Mobilitet 81: Mobil reseräkningsapp med möjlighet att fotografera kvittona Christer Ingemarsson Lena Kågedal

Läs mer

1ME323 Webbteknik 3 Lektion 6 API. Rune Körnefors. Medieteknik Rune Körnefors

1ME323 Webbteknik 3 Lektion 6 API. Rune Körnefors. Medieteknik Rune Körnefors 1ME323 Webbteknik 3 Lektion 6 API Rune Körnefors Medieteknik 1 2019 Rune Körnefors rune.kornefors@lnu.se Agenda API (Application Programming Interface) Mashup Flickr API Google Maps API Labb 6 2 API (Application

Läs mer

RFC 6106-stöd i Router Advertisment-klienten radns. Michael Cardell Widerkrantz mc@hack.org

RFC 6106-stöd i Router Advertisment-klienten radns. Michael Cardell Widerkrantz mc@hack.org RFC 6106-stöd i Router Advertisment-klienten radns Michael Cardell Widerkrantz mc@hack.org 24 augusti 2011 Innehåll Inledning................................... 2 Mål......................................

Läs mer

Att använda accelerationssensorn i en smarttelefon/surfplatta för att göra mätningar

Att använda accelerationssensorn i en smarttelefon/surfplatta för att göra mätningar Att använda accelerationssensorn i en smarttelefon/surfplatta för att göra mätningar Mats Braskén (Åbo Akademi) och Ray Pörn (Yrkeshögskolan Novia) Accelerationssensorn Accelerationssensorn mäter accelerationen

Läs mer

Hidden Camera App. Realtidsprogrammering EDA040. Joakim Svensson (dt05js8) Torbjörn Lundberg (dt05tl3) Henrik Andersson (dt05ha1)

Hidden Camera App. Realtidsprogrammering EDA040. Joakim Svensson (dt05js8) Torbjörn Lundberg (dt05tl3) Henrik Andersson (dt05ha1) Hidden Camera App Realtidsprogrammering EDA040 Joakim Svensson (dt05js8) Torbjörn Lundberg (dt05tl3) Henrik Andersson (dt05ha1) Manual och programbeskrivning 1. Manual 1.1 Kamerauppkoppling 1.2 Starta

Läs mer

Datorteknik 2 (AVR 2)

Datorteknik 2 (AVR 2) Namn: Laborationen godkänd: Digitala system 15 hp Datorteknik 2 (AVR 2) LTH Ingenjörshögskolan vid Campus Helsingborg Enkel in- och utmatning. Drivrutiner. Bithantering. I denna laboration ska vi förbättra

Läs mer

Agenda. Introducera det individuella projekt Multipla C-filer H-filer Introducera uppgifterna

Agenda. Introducera det individuella projekt Multipla C-filer H-filer Introducera uppgifterna Agenda Introducera det individuella projekt Multipla C-filer H-filer Introducera uppgifterna Projektupptakt I kursen ingår PRO1, enskild programmeringsuppgift En större programmeringsuppgift som ni löser

Läs mer

Bakom kulisserna. SMHI webservices. Infrastruktur och säkerhetslösningar Demonstration av webservices

Bakom kulisserna. SMHI webservices. Infrastruktur och säkerhetslösningar Demonstration av webservices OBS: Några av dessa webservice-länkar är nåbara externt. Andra öppnas om det kommer önskemål. SMHI webservices Bakom kulisserna Infrastruktur och säkerhetslösningar Demonstration av webservices Esa Falkenroth,

Läs mer

IBM FlashSystem (och lite SSD)

IBM FlashSystem (och lite SSD) IBM FlashSystem (och lite SSD) 2014-10-13 Henrik Grönberg Technical Director henrik.gronberg@load.se Förändringens tid är här Dagens naturresurser Morgondagens naturresurs LKAB omsätter 30 miljarder SEK

Läs mer

WWW. Exempel på klientsidan. Överföring av en html-fil. Snyggare variant. Verkligt format. Meddelandeformat för begäran HTTP

WWW. Exempel på klientsidan. Överföring av en html-fil. Snyggare variant. Verkligt format. Meddelandeformat för begäran HTTP Exempel på klientsidan WWW Javascript-interpretator XML-interpretator HTML-interpretator Java-interpretator CSS-interpretator Använder TCP Kan återanvända uppkoppling Inga tillstånd hos servern OS API

Läs mer

Fraktjakt erbjuder en fraktmodul till e-handelssystem byggt på oscommerce som förenklar vardagen för webbutiksadministratören.

Fraktjakt erbjuder en fraktmodul till e-handelssystem byggt på oscommerce som förenklar vardagen för webbutiksadministratören. Fraktjakts oscommerce Fraktmodul Instruktionsmanual Välkommen Fraktjakt erbjuder en fraktmodul till e-handelssystem byggt på oscommerce som förenklar vardagen för webbutiksadministratören. Den här manualen

Läs mer

Release notes för RemoteX Applications Windowsklient version 4.4

Release notes för RemoteX Applications Windowsklient version 4.4 Release notes för RemoteX Applications Windowsklient version 4.4 Version 4.4 av RemoteX Applications fokuserar på att väsentligen förbättra användarupplevelsen med avseende på stabilitet och hastighet.

Läs mer

Godkännande av kundapplikationer

Godkännande av kundapplikationer samhällsskydd och beredskap 1 (9) Godkännande av kundapplikationer MSB-50.2 samhällsskydd och beredskap 2 (9) Innehållsförteckning 1 Alla applikationer måste godkännas... 3 1.1 Hur går ansökan om godkännande

Läs mer

Arv. Fundamental objekt-orienterad teknik. arv i Java modifieraren protected Lägga till och modifiera metoder med hjälp av arv Klass hierarkier

Arv. Fundamental objekt-orienterad teknik. arv i Java modifieraren protected Lägga till och modifiera metoder med hjälp av arv Klass hierarkier Arv Fundamental objekt-orienterad teknik arv i Java modifieraren protected Lägga till och modifiera metoder med hjälp av arv Klass hierarkier Programmeringsmetodik -Java 165 Grafisk respresentation: Arv

Läs mer

Författare: Juha Söderqvist IT-GUI. Version 1.0. Datum

Författare: Juha Söderqvist IT-GUI. Version 1.0. Datum Författare: Juha Söderqvist IT-GUI Version 1.0 Datum 2017-08-18 Innehåll 1. Introduktion... 3 Human-computer interaction... 3 Grafiska användargränssnitt... 4 Operativsystem... 4 Xerox Alto Executive file

Läs mer

Webforum. Nytt i Senast uppdaterad:

Webforum. Nytt i Senast uppdaterad: Webforum Nytt i 17.3 Senast uppdaterad: 2017-09-17 Innehåll Välkommen till ett bättre Webforum!... 3 Översikt... 4 Dokument... 4 Ärenden... 4 Leverantörsfakturor... 4 Administration... 4 Dokument... 5

Läs mer

Publicera ett MSD-dokument istället för MXD-dokument

Publicera ett MSD-dokument istället för MXD-dokument Publicera ett MSD-dokument istället för MXD-dokument MSD introducerades i och med version 9.3.1. Syftet är att få så optimerade tjänster som möjligt. Genom analys av dokument får man ut följande kategorier

Läs mer

Manuell import till Lime Pro

Manuell import till Lime Pro Manuell import till Lime Pro Ibland kan det vara nödvändigt att göra en manuell import till Lime Pro, t.e.x. om en fil inte kan importeras och man behöver mer information för att felsöka. I den vanliga

Läs mer

Hur det går att minska effektutvecklingen i en processor genom att ändra pipeline

Hur det går att minska effektutvecklingen i en processor genom att ändra pipeline Hur det går att minska effektutvecklingen i en processor genom att ändra pipeline Linda Wapner HT2018 EITF60 Sammanfattning Effektutvecklingen i en processor har länge ökat genom att klockfrekvensen för

Läs mer

Multithreading in Intel Pentium 4 - Hyperthreading

Multithreading in Intel Pentium 4 - Hyperthreading Multithreading in Intel Pentium 4 - Hyperthreading Sammanfattning Hyper-threading är en implementation av SMT(Simultaneous Multithreading) teknologi som används på Intel processorer. Implementationen användes

Läs mer

web: www.injektor.com 2003-09-12 e-mail: info@injektor.com fax: 0709 66 78 96 tel: kontor 08-753 00 04, Toby Edmundsson mobil: 0704 38 01 99, Jan

web: www.injektor.com 2003-09-12 e-mail: info@injektor.com fax: 0709 66 78 96 tel: kontor 08-753 00 04, Toby Edmundsson mobil: 0704 38 01 99, Jan Quick-Start Manual TempRecord Temprecord är ett välbeprövat system för att ta in mätdata och möjliggöra senare analys av dessa. Företaget har funnits en längre tid på marknaden och borgar för god kvalitet.

Läs mer

1. Mekanisk svängningsrörelse

1. Mekanisk svängningsrörelse 1. Mekanisk svängningsrörelse Olika typer av mekaniska svängningar och vågrörelser möter oss överallt i vardagen allt från svajande höghus till telefoner med vibrationen påslagen hör till denna kategori.

Läs mer

Att använda DVD-RAM-skivor

Att använda DVD-RAM-skivor Denna bruksanvisning innehåller ett minimum av information för att använda DVD-RAM-skivor tillsammans med drivenheten DVD MULTI under Windows 98/Me/2000. Windows, Windows NT och MS-DOS är registrerade

Läs mer

Kriswebb och Krisserver ur ett tekniskt perspektiv

Kriswebb och Krisserver ur ett tekniskt perspektiv Kriswebb och Krisserver ur ett tekniskt perspektiv Av Johan Olsson vid IT avdelningen på HTU Johan.Olsson@htu.se Definition av kriswebb Kriswebb är ett system som möjliggör snabb publicering av information

Läs mer

Teoretisk del. Facit Tentamen TDDC (6)

Teoretisk del. Facit Tentamen TDDC (6) Facit Tentamen TDDC30 2014-08-29 1 (6) Teoretisk del 1. (6p) "Snabba frågor" Alla svar motiveras väl. a) Vad är skillnaden mellan synligheterna public, private och protected? (1p) Svar:public: Nåbar för

Läs mer

Gränssnitt för FakeGranska. Lars Mattsson

Gränssnitt för FakeGranska. Lars Mattsson Gränssnitt för FakeGranska av Lars Mattsson (larsmatt@kth.se) Innehållsförteckning 1 Introduktion...3 2 Genomförande:...3 3 Användning...5 4 Kända buggar:...6 5 Källförteckning...6 2 1 Introduktion Taken

Läs mer

Webbtjänster med API er

Webbtjänster med API er Webbtjänster med API er Mål med lektionen! Veta kursmålen. Lite grunder om WCF Vem är jag? Mitt namn är Björn Jönsson och jobbar på Tahoe Solutions, ni når mig via mail: bjorn.jonsson@tahoesolutions.se

Läs mer

Swedbank Mobile Loadtesting. LoadRunner 11.04 Mobile App protocol

Swedbank Mobile Loadtesting. LoadRunner 11.04 Mobile App protocol Swedbank Mobile Loadtesting LoadRunner 11.04 Mobile App protocol Bakgrund Mission: Prestandatesta mobilt backend Typ: RESTful tjänst Underlag: Dokumenterat URI och API (Uniform Resource Identifier, Application

Läs mer

TENTAMEN I PROGRAMMERING. På tentamen ges graderade betyg:. 3:a 24 poäng, 4:a 36 poäng och 5:a 48 poäng

TENTAMEN I PROGRAMMERING. På tentamen ges graderade betyg:. 3:a 24 poäng, 4:a 36 poäng och 5:a 48 poäng TENTAMEN I PROGRAMMERING Ansvarig: Jan Skansholm, tel 7721012 Betygsgränser: Hjälpmedel: Sammanlagt maximalt 60 poäng. På tentamen ges graderade betyg:. 3:a 24 poäng, 4:a 36 poäng och 5:a 48 poäng Skansholm,

Läs mer

Repetition DK2 Middleware, P2P, Multimediatransport. Stefan Alfredsson 18 Mars 2005

Repetition DK2 Middleware, P2P, Multimediatransport. Stefan Alfredsson 18 Mars 2005 Repetition DK2 Middleware, P2P, Multimediatransport Stefan Alfredsson 18 Mars 2005 Några definitioner på middleware Klistret som gör det möjligt för en klient att få betjäning av en server / i klient/server

Läs mer

IP-baserade program. Telnet

IP-baserade program. Telnet Det här kapitlet behandlar några klassiska TCP/IP-baserade program. Främsta fokus är HTTP men även lite enklare applikationer som telnet och FTP behandlas. Kapitlet är tänkt att kunna läsas fristående

Läs mer

Filsystem. Varför? Hur? För att kunna lagra data mer permanent än i RAM. Vettig organisation Vettiga namn

Filsystem. Varför? Hur? För att kunna lagra data mer permanent än i RAM. Vettig organisation Vettiga namn Varför? För att kunna lagra data mer permanent än i RAM Hur? Vettig organisation Vettiga namn Stora/små bokstäver 8-bitars tecken (teckenkodning) File extensions Längd Struktur på filerna Byte efter byte,

Läs mer

Lunds Tekniska Högskola Datorarkitektur med operativsystem EITF60. Superscalar vs VLIW. Cornelia Kloth IDA2. Inlämningsdatum:

Lunds Tekniska Högskola Datorarkitektur med operativsystem EITF60. Superscalar vs VLIW. Cornelia Kloth IDA2. Inlämningsdatum: Lunds Tekniska Högskola Datorarkitektur med operativsystem EITF60 Superscalar vs VLIW Cornelia Kloth IDA2 Inlämningsdatum: 2018-12-05 Abstract Rapporten handlar om två tekniker inom multiple issue processorer

Läs mer

Vilket moln passar dig bäst?

Vilket moln passar dig bäst? Vilket moln passar dig bäst? Idag diskuteras ofta huruvida man ska kliva in i molnets underbara värld eller inte, men sällan om skillnaderna mellan olika moln och vilka tillämpningar som är lämpliga att

Läs mer

Digitala projekt rapport

Digitala projekt rapport Digitala projekt rapport Alexander Westrup, d04aw@student.lth.se Martin Sandgren, d04ms@student.lth.se 4 december 2007 Innehåll 1 Abstract 1 2 Inledning 1 3 Arbetsgång 1 4 Hårdvara 1 4.1 Processor...............................

Läs mer

HI1024 Programmering, grundkurs TEN2 2014-03-13

HI1024 Programmering, grundkurs TEN2 2014-03-13 HI1024 Programmering, grundkurs TEN2 2014-03-13 KTH STH Haninge 13.15-18.00 Tillåtna hjälpmedel: En A4 handskriven på ena sidan med egna anteckningar Kursboken C PROGRAMMING A Modern Approach K. N. King

Läs mer

3.2 1H[W*HQHUDWLRQ6HFXULW\ Användarmanual

3.2 1H[W*HQHUDWLRQ6HFXULW\ Användarmanual 3.2 1H[W*HQHUDWLRQ6HFXULW\ Användarmanual ,QQHKnOOVI UWHFNQLQJ,QVWDOODWLRQDY931NOLHQW 'DWRUHUVRPLQJnULHQ)DVW7UDFNPLOM $QYlQGDUHPHGNRQWRL9+6RFKGDWRUPHG:LQGRZV;3 $QYlQGDUHPHGNRQWRLDQQDQGRPlQlQ9+6HOOHUGDWRUPHG:LQGRZV

Läs mer

Anujan Balasingam IDA14 NAND flashminnen

Anujan Balasingam IDA14 NAND flashminnen Anujan Balasingam IDA14 NAND flashminnen Hur kan prestandan och kapaciteten förbättras? Kursansvarig: Erik Larsson Datorarkitektur med operativsystem 7,5 hp 04-12-2015 Innehållsförteckning 1. Inledning...

Läs mer

Vektorkartor för mobila terminaler

Vektorkartor för mobila terminaler Vektorkartor för mobila terminaler Magnus Janlert 3 juni 2004 Introduktion Externt examensarbete, utfört VT2003 Visualiseringscentrum, c:a tio anställda, en del av Lantmäteriet Handledare: Jerry Eriksson

Läs mer

Tekis-FB 7.1.0. Systemkrav

Tekis-FB 7.1.0. Systemkrav 7.1.0 Systemkrav Systemkrav 2015-09-17 MAAN 2 (2) Systemkrav 7.1.0 Dokumentet beskriver de krav som systemet ställer på maskinvara och programvara i de servrar och klientdatorer som ska användas för systemet.

Läs mer

WLTP. Worldwide harmonised Light vehicles Test Procedure

WLTP. Worldwide harmonised Light vehicles Test Procedure WLTP Worldwide harmonised Light vehicles Test Procedure Vad är WLTP? WLTP står för Worldwide harmonised Light vehicles Test Procedure som är den nya mätmetoden för laboratorietester av bilars bränsleförbrukning

Läs mer

Tentamen, Distribuerade System/Programvaruarkitektur 2001-08-24

Tentamen, Distribuerade System/Programvaruarkitektur 2001-08-24 Tentamen, Distribuerade System/Programvaruarkitektur 2001-08-24 FÖRSÄTTSBLAD Inlämnas ifyllt tillsammans med tentan. Skriv namn på samtliga blad. Ange nedan vilka uppgifter du besvarat. Uppgift Besvarad

Läs mer

Slutrapport för SquareShooter

Slutrapport för SquareShooter Slutrapport för SquareShooter Författare: Björn Overå Datum: 100609 Page 1 Abstrakt: Detta är en slutrapport för ett projekt jag har haft i kursen Individuellt Mjukvaruutvecklingsprojekt. Denna rapport

Läs mer

Snake App Rapport - Snake App Rapport Utskriven/PDF Export: 2011-10-17 Copyright 2011 - Version 1.2 Sidan 1 av 9.

Snake App Rapport - Snake App Rapport Utskriven/PDF Export: 2011-10-17 Copyright 2011 - Version 1.2 Sidan 1 av 9. Snake App Rapport - Snake App Rapport Utskriven/PDF Export: 20-0-7 Copyright 20 - Version.2 Sidan av 9 Snake App Rapport DAT255 - Software engineering project Jesper Sjövall Martin Sonesson Alesandro Sanchez

Läs mer

725G61 - Laboration 7 Implementation av ett API. Johan Falkenjack

725G61 - Laboration 7 Implementation av ett API. Johan Falkenjack 725G61 - Laboration 7 Implementation av ett API Johan Falkenjack December 13, 2013 1 Inledning Hittills i kursen har vi tittat på grundläggande programmering och grundläggande objektorientering. I den

Läs mer

Datakom II (MNP) ht 1998 Bengt Ahlgren 1. Vad är speciellt med implementering av kommunikationsprotokoll?

Datakom II (MNP) ht 1998 Bengt Ahlgren 1. Vad är speciellt med implementering av kommunikationsprotokoll? 1 Vad är speciellt med implementering av kommunikationsprotokoll? 2 Översikt Inledning Hårdvaru-vy och mjukvaru-vy Mjukvaruarkitektur Rules of thumb Minnesbandbredd TCP-implementering ILP Integrated Layer

Läs mer

RELEASE 14.1. Release 14.1 kommer finnas tillgänglig för er måndagen den 10 mars 2014. Allmänt

RELEASE 14.1. Release 14.1 kommer finnas tillgänglig för er måndagen den 10 mars 2014. Allmänt RELEASE 14.1 Release 14.1 kommer finnas tillgänglig för er måndagen den 10 mars 2014. Allmänt Under den gångna utvecklingsperioden har vi utöver nya funktioner och migrering av sidor för olika webbläsare,

Läs mer

Insamlingsverktyg - teknisk beskrivning av metadataformuläret

Insamlingsverktyg - teknisk beskrivning av metadataformuläret Digitala leveranser Insamlingsverktyg - teknisk beskrivning av metadataformuläret Innehåll: Allmänt Layout och uppbyggnad Hur man använder programmet Starta Fylla i metadata Skapa metadatafiler och leverera

Läs mer

Traffic Management i praktiken

Traffic Management i praktiken Traffic Management i praktiken Datum: Presentatör: Event: 1:a november 2004 Jon Lindén Internetdagarna Innehåll: Traffic Management i praktiken vad är möjligt och vad är önskvärt. Hur hanterar man snabb

Läs mer

Projektet. TNMK30 - Elektronisk publicering

Projektet. TNMK30 - Elektronisk publicering Projektet TNMK30 - Elektronisk publicering Gruppindelning projekt Valfria grupper ~4 per grupp TNM088 - Digitala media-grupperna är ok Projektgrupper 4 personer Jämna par Lika arbete för små grupper Anmäl

Läs mer

DI-institutionen Sid 1 av 6 Hans-Edy Mårtensson Sten Sundin

DI-institutionen Sid 1 av 6 Hans-Edy Mårtensson Sten Sundin DI-institutionen Sid 1 av 6 Hans-Edy Mårtensson Sten Sundin TENTAMEN I IKB007 INTERNETPROGRAMMERING MED JAVA för SY2 1999-03-17, kl 14.00-18.00 Hjälpmedel: En lärobok i Java programmering Återlämningstillfälle:

Läs mer

Trust-IT Cloud Services

Trust-IT Cloud Services Trust-IT Cloud Services IT-drift är vad vi arbetar med. IT-drift är det området vi är specialiserade på och också har stor kompetens inom. Att ni som kund har en IT-miljö som möter era behov och att ni

Läs mer

Systemkrav WinServ II Edition Release 2 (R2)

Systemkrav WinServ II Edition Release 2 (R2) Systemkrav WinServ II Edition Release 2 (R2) Observera: Alla rekommendationer är aktuella vid den tid då dokumentet publicerades och visar den senaste informationen för nödvändig mjukvara. Systemkrav för

Läs mer

Webbteknik II. Föreläsning 4. Watching the river flow. John Häggerud, 2011

Webbteknik II. Föreläsning 4. Watching the river flow. John Häggerud, 2011 Webbteknik II Föreläsning 4 Watching the river flow Web Service XML-RPC, SOAP, WSDL, UDDI HTTP Request, Response, Headers, Cache, Persistant Connection REST Hype or the golden way? Web Service / Webbtjänst

Läs mer

D/A- och A/D-omvandlarmodul MOD687-31

D/A- och A/D-omvandlarmodul MOD687-31 D/A- och A/D-omvandlarmodul MOD687-31 Allmänt Modulen är helt självförsörjande, det enda du behöver för att komma igång är en 9VAC väggtransformator som du kopplar till jacket J2. När du så småningom vill

Läs mer

(7) Neptune Version release information. Copyright Visma. Med ensamrätt.

(7) Neptune Version release information. Copyright Visma. Med ensamrätt. 2015-02-10 1 (7) Neptune 7.8.0. Version release information Innehållsförteckning 2015-02-10 2 (7) 1 Allmän information om versionen... 3 1.1 Förkrav... 3 2 Förändringar i denna version... 4 2.1 Ändrad

Läs mer

Praktiska tillämpningar av QoS-teknologi

Praktiska tillämpningar av QoS-teknologi Praktiska tillämpningar av QoS-teknologi Inlämningsuppgift till seminariekursen i datakommunikation och distribuerade system. Ola Lundgren d99eol@dtek.chalmers.se 790502-8531 Mattias Thorén d99torez@dtek.chalmers.se

Läs mer

ÖVERVAKNING AV SQL SERVER

ÖVERVAKNING AV SQL SERVER ÖVERVAKNING AV SQL SERVER Hantering resurser för samtidiga användare Övervakning av SQL Servers aktiviteter Hantering av blockerade processer Användning av SQL Profiler för att hitta besvärliga frågor

Läs mer

Random Access Memory. Amare Reda Jenny Holmberg Henrik Kreipke Gaylord Kaya

Random Access Memory. Amare Reda Jenny Holmberg Henrik Kreipke Gaylord Kaya Random Access Memory Amare Reda Jenny Holmberg Henrik Kreipke Gaylord Kaya Introduktion Historia Vad är RAM? Hur fungerar RAM? Dataöverföring, tidsklocka och termer Vilka är de olika typerna av RAM? Vad

Läs mer

Bonus Rapport Kommersiell Design KTH

Bonus Rapport Kommersiell Design KTH Bonus Rapport Kommersiell Design KTH Johan Holmström & Lars Åkesson Introduktion Denna rapport beskriver projektet och delmomentet Kommersiell Design i kursen Interaktionsdesign 2 på KTH i Stockholm. Detta

Läs mer

JavaScript in SharePoint and not just for Apps. Wictor Wilén

JavaScript in SharePoint and not just for Apps. Wictor Wilén JavaScript in SharePoint and not just for Apps Wictor Wilén Wictor Wilén Agenda Varför JavaScript? JavaScript bibliotek SharePoint JS bibliotek JavaScript Client Side Object Model (JSOM/CSOM) REST Client

Läs mer

Introduktion till integrering av Schenkers e-tjänster. Version 2.0

Introduktion till integrering av Schenkers e-tjänster. Version 2.0 Introduktion till integrering av Schenkers e- Version 2.0 Datum: 2008-06-18 Sida 2 av 8 Revisionshistorik Lägg senaste ändringen först! Datum Version Revision 2008-06-18 2.0 Stora delar av introduktionen

Läs mer

JavaScript del 9 Dynamik och animeringar

JavaScript del 9 Dynamik och animeringar JavaScript del 9 Dynamik och animeringar Det sista vi ska titta på när det kommer till att lära oss JavaScript är hur vi skapar dynamik på vår webbplats, ge användarna chansen att påverka vad som händer

Läs mer

TDDIU81. Processer och trådar. Andreas Dahlberg, Jonathan Doherty, Tony Magnusson, Patrik Ottosson, Rasmus Siljedahl

TDDIU81. Processer och trådar. Andreas Dahlberg, Jonathan Doherty, Tony Magnusson, Patrik Ottosson, Rasmus Siljedahl TDDIU81 Processer och trådar Andreas Dahlberg, Jonathan Doherty, Tony Magnusson, Patrik Ottosson, Rasmus Siljedahl Sammanfattning Den här rapporten innehåller en kort genomgång av allmän process och trådhantering

Läs mer

IT för personligt arbete F2

IT för personligt arbete F2 IT för personligt arbete F2 Nätverk och Kommunikation DSV Peter Mozelius Kommunikation i nätverk The Network is the Computer Allt fler datorer är sammankopplade i olika typer av nätverk En dators funktionalitet

Läs mer

Skriftlig tentamen i kursen TDTS04 Datornät och distribuerade system 2008-08-21 kl. 8 12

Skriftlig tentamen i kursen TDTS04 Datornät och distribuerade system 2008-08-21 kl. 8 12 LiTH, Tekniska högskolan vid Linköpings universitet (6) IDA, Institutionen för datavetenskap Juha Takkinen 2008-08-9 Skriftlig tentamen i kursen TDTS04 Datornät och distribuerade system 2008-08-2 kl. 8

Läs mer

Paraplyprojekt Events

Paraplyprojekt Events Paraplyprojekt Events Information till dig som vill söka check ur ett paraplyprojekt - Tänk på att stödet syftar till att utveckla befintliga evenemang eller skapa nya. Detta måste tydligt framgå i ansökan.

Läs mer

Objektorienterad programmering, Java, 5p TDBA63

Objektorienterad programmering, Java, 5p TDBA63 UMEÅ UNIVERSITET Datavetenskap 030219 PRAKTISKT DELPROV Objektorienterad programmering, Java, 5p TDBA63 Datum : 030205 Tid : 9 13 Hjälpmedel : Allt. Kommunikation med andra personer (direkt eller indirekt)

Läs mer

Palo Alto Networks. 10 saker din brandvägg måste klara av (För annars är det inte en riktig brandvägg)

Palo Alto Networks. 10 saker din brandvägg måste klara av (För annars är det inte en riktig brandvägg) Palo Alto Networks 10 saker din brandvägg måste klara av (För annars är det inte en riktig brandvägg) 1. Identifiera och kontrollera applikationer på alla portar Applikationsutvecklare bryr sig inte längre

Läs mer

Kortfattad instruktion för installation och användning av streckodsapplikationer

Kortfattad instruktion för installation och användning av streckodsapplikationer Kortfattad instruktion för installation och användning av streckodsapplikationer 2 1. Installation 2.2 1.1 Förberedelser För att installera applikationen scanner.s32 i streckodsläsaren Opticon OPL9728,

Läs mer