Examensarbete utfört i datalogi vid Linköpings tekniska högskola Teknologier för tjänstesystem i trådlösa personliga nätverk av Markus Storm LiTH-IDA-Ex-ÅÅ/N ÅÅÅÅ-MM-DD Företag: GoldPen Computing AB Handledare på företaget: Fredrik Orinius Examinator: Juha Takkinen
SAMMANFATTNING Sammanfattning Inom den närmaste framtiden kommer många olika produkter att lanseras, vilka inriktar sig på trådlös kommunikation av olika varianter. Många av produkterna är avsedda att användas för att skapa ett personligt närverk vilket innefattar de enheter som finns inom ett par meters räckhåll från användaren. Ett problem med dessa olika nätverksteknologier är att de inte alltid kan samverka inom ett geografiskt område. Olika produkter tillhandahåller olika funktionalitet, somliga produkter inriktar sig på snabb överföring medan andra inriktar sig på att fungera bra i oroliga nätverk, där enheter ofta flyttas runt. Dessa olika fokuseringar gör att produkterna får svårt att existera inom samma område. System som inriktar sig på att tillhandahålla tjänster behöver inte bara en möjlighet att sända information mellan enheter i nätverket, de behöver även en standard för hur servrar ska presentera sina tjänster och för hur klienterna ska finna dessa tjänster. Det är också viktigt att informationen som utbyts mellan enheterna går att tolka på ett enhetligt sätt, och för detta ändamål krävs ytterligare protokoll. Denna rapport försöker utifrån många av de tillgängliga teknologierna välja ut ett system som är byggt på tjänster. Utifrån de teknologier som valts presenteras också ett testsystem som försöker testa delar av de valda teknologierna för att se hur de fungerar. iii
FÖRORD Förord Denna rapport är resultatet av ett examensarbete utfört vid Institutionen för Datavetenskap (IDA) på Linköpings Tekniska Högskola (LiTH), hösten 2001. Arbetet har utförts på uppdrag av GoldPen Computing AB i Linköping. Rapporten är intressant för personer som vill studera olika teknologier för trådlösa nätverk, samt vilka modeller som kan användas för att tillhandahålla tjänster och utbyta data inom sådana nätverk. Speciellt inriktar sig rapporten på Bluetooth och hur tjänster hanteras i nämnda teknologi. Rapporten lämpar sig därför även för personer som vill ha mer detaljkunskaper om Bluetooth. Rapporten är uppdelad i två huvudsakliga delar. Den första delen presenterar olika teknologier för trådlösa nätverk, modeller för tjänstesystem samt för utbyte av data. Den andra delen presenterar det testsystem som byggts för att testa en del av dessa teknologier. Vidare finns mycket information att inhämta från rapportens appendix. v
vi FÖRORD
INNEHÅLLSFÖRTECKNING Innehållsförteckning 1 INTRODUKTION...11 1.1 BAKGRUND...11 1.2 OM DOKUMENTET...12 2 PROBLEMSPECIFICERING...15 2.1 EXAMENSARBETETS MÅL...15 2.2 PROBLEMFORMULERING...15 2.3 SAMMANFATTNING...18 3 FÖRSTUDIE...19 3.1 VAL AV KOMMUNIKATIONSMEDIUM...19 3.2 VAL AV PROTOKOLL FÖR UPPTÄCKANDE AV TJÄNSTER...25 3.3 VAL AV PROTOKOLL FÖR INFORMATIONSUTBYTE...29 3.4 SAMMANFATTNING...32 4 SLUTSATSER AV FÖRSTUDIE...35 4.1 KOMMUNIKATIONSMEDIUM...35 4.2 PROTOKOLL FÖR UPPTÄCKANDE AV TJÄNSTER...35 4.3 PROTOKOLL FÖR INFORMATIONSUTBYTE...36 4.4 SAMMANFATTNING...36 5 LÖSNINGSGÅNG...37 5.1 ÖVERSIKT...37 5.2 UPDELNING I DELPROBLEM...38 5.3 TEST AV BLUEETOOTH-KOMMUNIKATION...38 5.4 IMPLEMENTATION AV EXEMPELSYSTEM...41 5.5 TEST AV SDP...46 5.6 UTÖKNING FÖR STÖD AV FLER TJÄNSTER...46 5.7 AUTOMATISK NERLADDNING AV INSTICKSMODULER...47 5.8 SAMMANFATTNING...48 6 TESTSYSTEMET...49 6.1 ÖVERSIKT...49 6.2 SERVER/KLIENT-STRUKTUR...50 6.3 KOMMUNIKATION...52 vii
INNEHÅLLSFÖRTECKNING 6.4 INSTICKSMODULER (PLUGINS)...55 6.5 TJÄNSTER I TESTSYSTEMET...57 6.6 PLUGIN REKLAM...57 6.7 PLUGIN INKÖPSLISTA...58 6.8 PLUGIN POWERPOINT-STYRNING...64 6.9 DISKUSSION...65 7 SLUTSATSER...67 7.1 SAMMANFATTNING...67 7.2 PERSONLIGA ERFARENHETER...67 7.3 FORTSATT ARBETE...68 BEGREPPSLISTA...71 REFERENSER...73 A. APPENDIX - BLUETOOTH...79 A.1 BAKGRUND...79 A.2 INTRODUKTION...80 A.3 PROTOKOLLÖVERSIKT...80 A.4 BASBANDSPROTOKOLLET...83 A.5 LÄNKHANTERINGSPROTOKOLLET...88 A.6 GRÄNSSNITT MOT VÄRDAPPARATEN (HCI)...89 A.7 L2CAP...90 A.8 SERIEPORTSPROTOKOLLET RFCOMM...92 A.9 PROTOKOLLET FÖR UPPTÄCKT AV TJÄNSTER (SDP)...92 A.10 APPLIKATIONSPROTOKOLLET...93 B. APPENDIX - SDP...95 B.1 KRAV...95 B.2 ÖVERSIKT...96 B.3 KLIENT SERVER INTERAKTION...96 B.4 TJÄNSTEBESKRIVNINGSTABELL...96 B.5 TJÄNSTEATTRIBUT...97 B.6 SERVICE CLASS...99 B.7 SÖKA EFTER TJÄNSTER... 100 B.8 BLÄDDRA BLAND TJÄNSTER... 100 B.9 UNIVERSELLA TJÄNSTEATTRIBUT... 101 viii
INNEHÅLLSFÖRTECKNING C. APPENDIX - OBEX... 103 C.1 OBEX OBJEKT-MODELL... 103 C.2 SESSIONS-PROTOKOLL... 105 C.3 SÄKERHET... 107 C.4 OBEX APPLICATION FRAMEWORK... 107 D. APPENDIX - ANVÄNDARFALL... 109 D.1 ANVÄNDARFALL... 109 E. APPENDIX HÅRDVARA I TESTSYSTEMET... 113 E.1 SOCKET COMMUNICATIONS INC. BLUETOOTH-KORT... 113 E.2 COMPAQ IPAQ 3630... 114 E.3 ERICSSON BLIP... 116 F. APPENDIX INSTALLATIONSANVISNINGAR... 119 F.1 INSTALLATION AV BLUETOOTH-STACKEN... 119 F.2 INSTALLATION AV HANDDATOR-SERVERN... 120 F.3 INSTALLATION AV KLIENTEN... 121 F.4 INSTALLATION AV TJÄNSTEN INKÖPSLISTA... 121 F.5 INSTALLATION AV TJÄNSTEN POWERPOINT... 123 G. APPENDIX ANVISNINGAR FÖR START AV TESTSYSTEMET... 125 G.1 MYSQL... 125 G.2 WEBBSERVER... 126 G.3 POWERPOINT-SERVER... 127 G.4 INKÖPSLISTANS SERVER... 128 G.5 HANDDATORSERVERN... 129 G.6 KLIENTEN... 129 H. APPENDIX - ANVISNINGAR FÖR VIDAREUTVECKLING... 131 H.1 VIDAREUTVECKLING AV TJÄNSTER... 131 H.2 PROGRAMVARA... 132 INDEX... 135 ix
x INNEHÅLLSFÖRTECKNING
PROBLEMSPECIFICERING 1 Introduktion Denna rapport är resultatet av ett examensarbete utfört vid Institutionen för datavetenskap (IDA) på Linköpings Tekniska Högskola (LiTH), hösten 2001. Arbetet har utförts på uppdrag av GoldPen Computing AB i Linköping. 1.1 Bakgrund 1.1.1 Syfte Under de senaste åren har handburna enheter, t.ex. telefoner och handdatorer, som har tillgång någon typ av trådlös nätverksteknologi blivit alltmer vanliga. Då fler och fler personer skaffar sig dessa trådlösa enheter ökar intresset av att ha tillgång till information på olika ställen i det dagliga livet. När så många trådlösa enheter rör sig mellan olika nät är det inte längre möjligt att manuellt konfigurera enheterna för att använda olika tjänster. Många utvecklare försöker därför skapa rutiner för hur klienterna i nätverket lätt ska kunna upptäcka tillgängliga tjänster och inhämta tillräckligt mycket information för att kunna använda dem. För att maximera nyttan av de trådlösa nätverken och alla tjänster som finns att tillgå, behövs en standard för hur klienterna upptäcker tjänsterna, lär sig mer om dem samt utnyttjar desamma. Tanken med examensarbetet är att undersöka vilka olika teknologier som finns att tillgå som kommunikationsmedium, protokoll för upptäckande av tjänster samt protokoll för informationsutbyte. Den bästa sammansättningen av dessa olika teknologier för trådlösa nätverk i begränsade områden ska också presenteras. För att testa och utvärdera delar av de enligt ovan valda teknologierna ska ett testsystem skrivas för att undersöka hur väl teknologierna fungerar. Rapporten undersöker vilka olika teknologier som finns att välja mellan för att implementera ett trådlöst nätverk. Ett trådlöst nätverk består inte bara av kommunikationsmediet och därför har även protokoll för tjänsteupptäckning och informationsutbyte studerats. 11
PROBLEMSPECIFICERING Rapporten syftar till att ge övergripande kunskaper inom de tre ovan nämnda områdena. Med denna information kan läsaren själv göra ett grovt urval av passande teknologier som är intressanta nog att studera mer noggrant. 1.2 Om dokumentet Rapporten är uppdelad i följande delar: Förstudie Studerar de olika teknologier som finns att välja mellan för trådlösa nätverk, tjänster resp. informationsutbyte. Implementation Presenterar det testsystem som byggts för att testa idéer från förstudien. Appendix Innehåller bl.a. mer information om de teknologier från förstudien som ansågs mest intressanta. För en snabb förståelse av detta dokument bör förtexterna samt kapitel 1 4 och 7 0 läsas. Den som vill skaffa sig allmänna kunskaper om olika trådlösa nätverk och tjänstesystem samt informationsutbyte i sådana nätverk bör läsa kapitel 2 4. Personer som är ute efter mer detaljerade kunskaper om de teknologier som författaren tyckte var mest intressanta bör studera appendix A C. 1.2.1 Rapportens uppläggning Rapporten innehåller följande kapitel: 1. Introduktion Presenterar dokumentet och dess delar. 2. Problemspecificering Formulerar problemställningen och presenterar examensarbetets mål. 3. Förstudie Presenterar olika teknologier för trådlösa nätverk, tjänstesystem samt informationsutbyte. 4. Slutsatser av förstudie Sammanfattar slutsatserna från kapitel 3. 12
PROBLEMSPECIFICERING 5. Lösningsgång Presenterar i vilka delsteg testsystemet byggdes. 6. Testsystemet Redovisar implementationen av testsystemet. 7. Arbetet summeras och jag presenterar de resultat jag kommit fram till. 8. Begreppslista En kort lista över centrala begrepp från texten. 9. Referenser Referenslista över de dokument som legat till grund för rapporten. Appendix: A. Bluetooth Presenterar Bluetooth i detalj. B. SDP Presenterar SDP (Service Discovery Protocol) i detalj. C. OBEX Presenterar Object Exchange Protocol i detalj. D. Användarfall Innehåller ett antal användarfall som bland annat innehåller idéer till tjänster. E. Hårdvara i testsystemet Presenterar den hårdvara som använts i implementationen av testsystemet. F. Installationsanvisningar Beskriver hur testsystemet ska installeras i en ny miljö. G. Anvisningar för start av testsystemet Beskriver hur testsystemet startas. H. Anvisningar för vidareutveckling Ger tips och idéer för fortsatt utveckling av testsystemet. 13
14 PROBLEMSPECIFICERING
PROBLEMSPECIFICERING 2 Problemspecificering Detta kapitel formulerar problemställningen för och målet med examensarbetet. 2.1 Examensarbetets mål Målet med examensarbetet är att undersöka hur trådlösa enheter som befinner sig inom ett begränsat område, på ett enhetligt sätt kan upptäcka varandra och därefter utbyta information. figur 1: Finna och kommunicera med tjänster inom räckhåll. Enheter i nätverket presenterar sig för varandra och nätverket som tjänster. Denna struktur ligger till grund för hur arbetet har delats upp i delproblem nedan. 2.2 Problemformulering Problemet kan delas upp i ett par delproblem som till viss del kan lösas oberoende av varandra. Målet har delats upp i etapper, där den första är att undersöka vilka teknologier som finns tillgängliga och att dra slutsatser 15
PROBLEMSPECIFICERING av detta. Ett högre delmål är att implementera en demonstration av hur resultaten kan användas. Val av kommunikationsmedium Det första delmålet är att välja ett lämpligt kommunikationsmedium. Val av protokoll för upptäckande av tjänster Därefter ska ett protokoll för att finna tjänster väljas. Val av protokoll för informationsutbyte När klienten kan finna tjänster behöver den veta hur den ska kommunicera med dem. Val av lösningar för implementation av demo Vilka protokoll går att använda för att göra ett demoprogram? Implementation av demo Bilden nedan ger exempel på teknologier ur de olika delproblemen. En viktig fråga är vilka tre teknologier som passar bäst tillsammans för det trådlösa system som ska utredas i denna rapport. figur 2: Exempel på protokoll i de olika delproblemen. 16
PROBLEMSPECIFICERING 2.2.1 Val av kommunikationsmedium För att kunna överföra information mellan en server och en bärbar klient behövs ett medel för att skapa en fast eller trådlös koppling mellan de båda enheterna. Det finns många medier att välja mellan, såsom t.ex. kabel eller radiokommunikation. Antal samtidiga användare, kommunikationshastighet och många andra aspekter måste vägas in i valet av kommunikationsmedium. 2.2.2 Val av protokoll för upptäckande av tjänster För att upptäcka att det finns en server i närheten som tillhandahåller en viss tjänst, måste ett tjänsteupptäckningsprotokoll användas. Det finns många sådana att välja mellan och några av dem är SDP (Service Discovery Protocol), Salutation och Jini. Det är också tänkbart att definiera ett nytt protokoll för användning i demo-systemet. 2.2.3 Val av protokoll för informationsutbyte När en koppling mellan klient och server finns tillgänglig behöver informationen representeras på ett enhetligt sätt för att kunna läsas av båda parter. Exempel på protokoll för detta ändamål är OBEX (IrOBEX) eller ett egenhändigt definierat protokoll för använding i demo-systemet. 2.2.4 Val av lösningar för demo Rapporten syftar i första hand till att utreda en bra lösning på problemet, men då ett demo ska byggas är det inte bara den bästa lösningen som behöver vägas in. Andra faktorer att ta hänsyn till är möjligheten att införskaffa hårdvara samt mängden tillgänglig arbetstid. Valet av lösningar vid implementationen behöver alltså inte nödvändigtvis vara desamma som rapporten kommit fram till. 2.2.5 Implementation av demo När valet i 2.2.4 är gjort kan ett demo implementeras, med målet att använda de lösningar som valts. Beroende på tillgången till arbetstid kommer implementationen att bli allt från enkel till avancerad. 17
PROBLEMSPECIFICERING 2.3 Sammanfattning I detta kapitel har examensarbetets mål och problemställning presenterats och i nästa kapitel presenteras en studie av vilka olika produkter som går att välja som kommunikationsmedium, protokoll för upptäckande av tjänster samt protokoll för informationsutbyte. 18
FÖRSTUDIE 3 Förstudie Förstudien syftar till att presentera information om olika valmöjligheter för de olika delproblemen som presenterats i avsnitt 2.2 ovan. 3.1 Val av kommunikationsmedium I rapporten Publika informationssystem med spontana trådlösa närverk [1] finns information om många olika kommunikationsutrustningar för trådlösa nätverk. Mycket utgående från nämnda rapport har en del av de tänkbara lösningarna direkt sållats bort och vissa studerats närmare. De olika kommunikationsmedierna har bland annat studerats med hänsyn till följande punkter: Samtidiga användare Mediets protokoll måste klara av att hantera ett flertal användare inom samma sändarområde. Räckvidd Varje sändares räckvidd bör inte vara för lång, eftersom det då blir svårt att avgöra vilken information som är relevant samt att det totala möjliga antalet användare inom ett område då minskar. Överföringshastighet Överföringshastigheten för data bör vara så hög som möjligt, men detta måste avvägas mot teknikens räckvidd. Den eftersökta lösningen bör uppfylla ovanstående krav med så goda resultat som möjligt. I figur 3 nedan har de olika tänkbara kommunikationsmedierna ritats ut med avseende på räckvidd och möjligt antal samtidiga användare inom ett begränsat område. De teknologier som är mest intressanta för detta arbete är de som befinner sig högt upp i diagrammet. Mängden samtidiga användare beror också på räckvidden, varför de valda teknologierna bör befinna sig i den vänstra delen av diagrammet. 19
FÖRSTUDIE figur 3: Olika kommunikationsmedier utritade med avseende på räckvidd och antal samtidiga användare. De teknologier som anses ha för lång räckvidd eller för få samtidiga användare har redan i ett tidigt stadium valts bort och har bara studerats ytligt, andra teknologier studeras närmare i efterföljande avsnitt. 3.1.1 Bortvalda lösningar Följande lösningar har av olika anledningar inte ansetts klara de krav som ställts i avsnitt 3.1 ovan. En vanligt förekommande orsak till varför lösningarna har blivit bortvalda är att deras räckvidd är för lång för att passa som kommunikationsmedium i personliga nätverk, specifika anledningar för olika produkter presenteras nedan. 1. HiperLAN2 Är en teknik som mestadels är tänkt att användas för att ersätta nätverk över lite större avstånd än vad det personliga nätverket sträcker sig. Räckvidden är som mest runt 100 m. Hastigheter på upp till 54 Mbps ska nås genom att använda frekvenser runt 5 GHz [7] [10]. Detta borde göra HiperLAN2 till ett bra komplement till Bluetooth. 20
FÖRSTUDIE 2. IrDA (Infrared Data Association) Specificerar standarder för hårdvara och mjukvara som används för kommunikation med infraröda enheter [4]. Sådana enheter använder infrarött ljus (ljus med våglängder mellan 750 14000 nm [5], befintliga produkter använder vanligen 850 950 nm våglängd). Nackdelarna med IrDA är att räckvidden är kort (c:a 1 till 2 m), samt att enheten måste riktas mot sändaren. 3. HiperAccess Avsedd för höga överföringshastigheter över längre avstånd. Överföringshastigheten förväntas bli c:a 25 Mbps. HiperAccess kommer att arbeta i frekvensområdet 40,5 43,5 GHz. En första specifikation ska vara klar under 2001 [6] [8]. 4. HiperLink Kommer att ha en hög överföringshastighet (c:a 115Mbit/s) och en medellång räckvidd (c:a 150 m) [8]. Frekvensområdet för HiperLink förväntas bli runt 17 GHz. Specifikationen har dock ej påbörjats [6]. 5. UWB (Ultra Wide Band) Denna teknik använder väldigt korta pulser för att sända data. Tester av tekniken har gjorts och överföringshastigheter på 5MBps har uppnåtts. Med minskad överföringshastighet kan tekniken även nå över långa avstånd (15 km och mer) [44]. Standarden är inte godkänd av FCC (Federal Communications Commission) i USA p.g.a. misstankar om att standarden kommer att störa bl.a. flygkommunikationen. 6. IEEE 802.11 Är en standard för trådlösa lokala nätverk (WLAN) som i standardutförandet kommer upp i hastigheter på 1 eller 2 Mbps [12]. Jämfört med Bluetooth har IEEE 802.11 längre räckvidd, något högre överföringshastighet, men använder framförallt mer effekt än Bluetooth vilket är en stor nackdel för bärbara enheter (se 3.1.3 samt appendix A) [13]. Det finns även två andra liknande standarder IEEE 802.11a som arbetar i frekvensområdet 5 GHz och IEEE 802.11b med överföringshastigheterna 5,5 eller 11 Mbps [1] [12]. 21
FÖRSTUDIE 3.1.2 HomeRF (Home Radio Frequency) HomeRF är en teknik som redan används av en del produkter. Den baseras på frekvensområdet 2,4 GHz och har en överföringshastighet på (idag) 1,6 Mbps, upp till 10 Mbps under 2001 och möjligen över 20 Mbps under 2002 [14]. Räckvidden inomhus är minst 50 m, vilket ger ännu längre räckvidd om omgivningen är öppet [15]. Det finns som sagt var redan produkter tillgängliga som använder HomeRF. Många av dessa produkter är stationära, d.v.s. de drivs från ett eluttag istället för batterier. Det verkar som om HomeRF använder mer effekt än Bluetooth för att sända, vilket ger kortare livstid för batteridrivna enheter. En stor del (c:a 95 %) av de trådlösa hemmanätverk som såldes under slutet av 2000 var baserade på HomeRF [15]. Om hastigheten kommer upp i hela 20 Mbps kan HomeRF även i framtiden tänkas behålla en stark position inom detta område. Att HomeRF bl.a. specificerats för att överföra tal från trådlösa telefoner märks på att det finns inbyggt stöd för DECT (Digital Enhanced Cordless Telecommunications). Upp till 4 samtidiga kanaler för tal kan finnas i den första versionen och i version 2.0 ska det gå att använda 8 st kanaler. HomeRF liknar till stor del Ethernet och stödjer TCP/IP, UDP/IP, IPX och många fler vanligt förekommande protokoll, vilket gör att det är lätt att byta ut ett Ethernet-baserat nätverk mot HomeRF. Drivrutiner finns för många vitt skilda operativsystem och drivrutinskoden finns tillgänglig för snabbare implemenation på nya system. Storleks- och prismässigt är en HomeRF modul nästan likvärdig med Bluetooth. Både Bluetooth och HomeRF kan använda samma RF-krets. Det finns även planer på att tillverka kretsar som klarar av att kommunicera med både HomeRF och Bluetooth [16]. 3.1.3 Bluetooth Bluetooth är en relativt ny produkt som under år 2001 börjar komma ut i färdiga produkter. Stödet från industrin för Bluetooth-standarden är enormt trots det tidiga stadiet i utvecklingen, antalet medlemmar i intressegruppen för Bluetooth (SIG) är c:a 2500 st. (okt. 2001) [2]. Medlemmarna 22
FÖRSTUDIE i gruppen är företag som av en eller annan anledning är intresserade av utvecklingen av Bluetooth. Likt många andra teknologier, såsom HomeRF och IEEE 802.15, arbetar Bluetooth med frekvenser runt 2,4 GHz eftersom det finns ett fritt frekvensområde där. Dessa frekvenser kan användas över nästan hela världen utan licens. Som exempel på icke fria frekvenser kan nämnas de frekvenser inom vilka tv-sändningarna sker. För att få sända information inom dessa frekvensområden krävs en speciell licens, vilket alltså inte krävs för de frekvenser som Bluetooth använder. Hastigheten beror på hur många användare som befinner sig inom samma område och skickar data samtidigt samt vilket läge överföringen utförs i. När data skickas kan detta ske med 433,9 kbps i vardera riktningen eller asymmetriskt med 723,2 kbps i den ena riktningen och 57,6 kbps i den andra. Det finns även protokoll specificerade för hur ljud ska överföras. Jämfört med HomeRF ger Bluetooth stöd mycket längre upp i systemarkitekturen. HomeRF specificerar bara hur den fysiska kopplingen ska fungera och hur den ska utnyttjas, medan Bluetooth även tillhandahåller stöd för bl.a. sessionshantering. Storleksmässigt är en Bluetooth-modul mycket liten, se figur 4 nedan för exempel. HomeRF-moduler går att göra i samma storlekordning eftersom båda teknikerna kan använda samma RF-modul. figur 4: Bluetoothmodul från Ericsson, storlek 33 x 17 x 3,65 mm. 1 1 Bildens ursprung: http://www.bluetooth.com/pressroom/photoarchive/photoarchive.asp 23
FÖRSTUDIE 3.1.4 IEEE 802.15 IEEE försöker utarbeta en standard för kommunikation inom s.k. personliga nätverk (PAN Personal Area Network). Arbetet sker för tillfället i fyra delgrupper (TG Task Group) med olika uppdrag [17]; TG1 arbetar med att standardisera WPAN (Wireless PAN) utgående från Bluetooth-specifikationen. TG2 arbetar för att få IEEE 802.15 att fungera ihop med andra WPAN-produkter. TG3 försöker finna en specifikation för WPAN med höga hastigheter (20+ Mbps). Låg kostnad samt låg effektförbrukning ska också uppfyllas. Om möjligt ska standarden, m.h.a. TG1, göras kompatibel med Bluetooth. TG4 arbetar hastighetsmässigt med motsatsen till vad TG3 undersöker. Målet för TG4 är att finna en specifikation för låga överföringshastigheter så att strömförbrukningen blir så låg som möjligt. Målet är att en batteridriven enhet ska fungera i allt från ett par månader till ett par år. Målprodukter är sensorer, interaktiva leksaker, smarta id-kort, fjärrkontroller m.m. [20]. Standarden utarbetas i nära samarbete med Bluetooth SIG eftersom denna grupp av företag är stor. Att i första hand göra en specifikation för WPAN som bygger på Bluetoothstandarden verkar vara IEEE:s mål med 802.15-standarden. Även HomeRF hjälper till med standarden. 3.1.5 SPIKE SPIKE är enligt Robert X. Cringely [18] en produkt som har många fördelar jämfört med andra teknologier, t.ex. Bluetooth, men även ett par nackdelar. Att priset för SPIKEenheter för tillfället är lägre än priset för Bluetooth-enheter är bara det ett bra argument för att använda SPIKE istället för Bluetooth. Dataöverföring skyddas även bättre mot störningar än i Bluetooth. SPIKE verkar i första hand vara skapat för att koppla trådlösa styrenheter till videospel och inriktar sig därför på att försöka överföra rätt information på första försöket. Bluetooth däremot använder sig av omsändingar om ett paket går 24
FÖRSTUDIE förlorat. Bluetooth är därför en i grunden säkrare teknik att använda om det är viktigt att all data når fram till mottagaren. Den version av SPIKE som för tillfället finns tillgänglig verkar använda frekvensen 900 MHz vilken redan används av mobiltelefoner över större delen av världen [19]. SPIKE håller även på att utvecklas i en version som använder 2,4 GHz vilket är fritt (samma frekvensområde som Bluetooth använder). Medan SPIKE är inriktat på att överföra data så snabbt som möjligt är Bluetooth gjort för att få över rätt data genom omsändingar. 3.2 Val av protokoll för upptäckande av tjänster Detta avsnitt presenterar de olika protokoll som finns för att upptäcka tjänster. Tanken med dessa protokoll är att programvara och enheter ska kunna söka efter den tjänst de behöver. Ett exempel är en portabel ordbehandlare som behöver skriva ut. Ordbehandlaren frågar nätverket om det finns någon skrivare och utifrån svaren, samt kännedom om grundläggande egenskaper hos skrivarfamiljen, kan programmet skriva ut sina dokument. Protokollen för tjänsteupptäckande används för att först hitta en enhet av en viss typ och sedan få mer information om den funna enheten (t.ex. utskriftskvalitet för en skrivare). 3.2.1 OSGi (Open Services Gateway Initiative) Tanken är att en tjänsteportal (SG Service Gateway) ska förmedla kontakten mellan klienter och tjänster. Klienter ska kunna koppla upp sig mot tjänster via en SG utan att behöva konfigureras manuellt [26]. OSG bygger på Java och det kan användas där det finns en fungerande Java-miljö som t.ex. Jini. För nätverksmiljöer som inte bygger på Java, t.ex. UPnP, fokuserar OSG på att försöka överbrygga de olika standarderna på ett enhetligt sätt. OSG verkar mest vara riktat mot lokala nätverk i hem eller mindre kontor och passar kanske därför inte så bra för att skapa tillfälliga nätverkskopplingar mellan en server och förbipasserande kunder vid ett butiksfönster. Istället för att specificera ett väldigt generellt protokoll för alla 25
FÖRSTUDIE 3.2.2 Jini tjänster, vilket t.ex. SDP gör, är OSG mer inriktat på att specificera ett protokoll för varje typ av tjänst, såsom t.ex. HTTP-servrar eller servrar för informationsloggande [27]. Jini är en teknologi för att skapa spontana nätverk mellan främst enheter som kör Java-program, ofta i en Java virtual machine (JVM), men även direkt på en Java-processor. Tanken med ett spontant nätverk är att det ska kunna konfigurera och koppla upp sig automatiskt, utan att någon administratör behöver hjälpa till [22]. Det är tänkbart att det skulle vara möjligt att använda Jini även på en enhet som inte använder Java, men det skulle innebära mycket extraarbete för att få ett sådant program att fungera, eftersom Java-kompatibel kommunikationskod först skulle behöva skrivas. Jini låter program använda tjänster på ett nätverk utan att veta något om det protokoll tjänsterna använder. Detta är möjligt eftersom tjänsten tillhandahåller ett API-objekt som är programmerat i Java som sedan kommunicerar med rätt protokoll mot tjänsten. Rätt protokoll kan vara RMI, CORBA, protokoll baserade på XML, eller andra godtyckliga protokoll [24]. Att Jini är så pass bundet till Java gör att det inte får samma spridning som andra system som är mindre bundna till vilket programmeringsspråk de är skrivna i, såsom t.ex. SDP. Eftersom det oftast går snabbt att utveckla programvara i Java (p.g.a. den stora mängden redan färdiga grundobjekt) kan många elektroniska enheter i framtiden komma att antingen helt eller delvis baseras på Java. Det gör att Jini kan tänkas få en större spridning om ett par år, men det beror på hur utvecklingen av bl.a. handdatorer och mobiltelefoner fortlöper. 3.2.3 Salutation Salutation skapades för att lösa problemen med att upptäcka och använda tjänster. Gruppen bakom Salutation består av mer än 20 företag och grundades 1995. Det argument som verkar vanligast för varför Salutation ska användas är att det finns tillgängligt nu och används, till skillnad från övriga teknologier som bara är under uppbyggnad. 26
FÖRSTUDIE Tjänster på ett Salutation-nätverk kan antingen hittas genom att användaren anger vilka servrar som tillhandahåller tjänster, eller genom att Salutation söker av nätverket efter tjänster. Identifikation med användarnamn och lösenord kan krävas av tjänsterna (Functional Units) för att det ska gå att använda dem [28]. Alla enheter som använder Salutation har en Salutation Manager (SLM). SLM har hand om att ta emot registreringar av tjänster, samt förfrågningar från klienter som söker efter tjänster. Salutation managers använder Salutation Manager Protocol för att kommunicera med varandra och detta protokoll använder sig av Remote Procedure Call (RPC) från Sun Microsystems Inc. [45]. Varje typ av tjänst har en egen protokolldefinition och för tillfället finns det protokoll specificerade för följande tjänster: Utskrift Fax-data och sändande av fax-data Dokumentlagring Adressbok Schema Röstmeddelande, sända och lagra 3.2.4 SDP (Service Discovery Protocol) SDP är en del av Bluetooth-standarden och specificerar hur Bluetooth-moduler ska hitta tjänster som tillhandahålls av andra Bluetooth-enheter eller applikationer. Sökningen efter tjänster sker antingen genom att ange den typ av tjänst som eftersöks, eller att begära en lista över alla tjänster. När den eftersökta tjänsten är funnen och dess parametrar är identifierade slutar definitionen av SDP; från och med denna punkt är det upp till applikationerna att upprätta en egen koppling för vidare kommunikation. SDP har designats för att vara utbyggbart eftersom alla möjliga tjänster inte kan räknas upp i dagsläget. Tjänster som kan tillhandahållas beror helt på vilka applikationer som skrivs av företag som använder Bluetooth. Istället ställdes 14 krav på SDP som stöd för definitionen av version 1.0 av protokollet. Av dessa krav kan nämnas: SDP ska ge klienter möjligheten att baserat på specifika attribut söka efter 27
FÖRSTUDIE nödvändiga tjänster och SDP ska tillåta en klient på en enhet att upptäcka tjänster på en annan enhet utan att konsultera en tredje enhet. Varje Bluetooth-enhet kan ha maximalt en SDP-server, vilket inte är nödvändigt om enheten till exempel inte har någon tjänst att erbjuda. Om flera applikationer använder samma enhet och vill tillhandahålla tjänster kan samma SDP-server användas av alla applikationerna. En enhet kan alltid agera SDP-klient, även när den har en server. Eftersom SDP är en del av Bluetooth-standarden verkar det bra att använda vid kommunikation baserad på Bluetooth. Denna information och ytterligare finns att läsa om SDP i Bluetooth-specifikationen [21]. 3.2.5 UPnP (Universal Plug and Play) UPnP är en teknologi för att skapa nätverkskopplingar mellan elektroniska enheter av alla slag. Enheter som använder UPnP ska kunna programmeras i godtyckligt programmeringsspråk på valfritt operativsystem [25]. UPnP utvecklas av en grupp av en grupp företag som kallar sig The Universal Plug and Play Forum. Gruppen består av över 350 medlemmar med Microsoft i spetsen. Även om UPnP bygger på existerande Internet-protokoll så kräver det inte att alla enheter använder sig av IP (Internet Protocol) för kommunikation. Det ska vara möjligt att klara sig utan IP i enheter som av någon anledning, t.ex. kostnad eller teknologi, inte kan implementera IP. I samma anda arbetar UPnP för att inte ignorera existerande teknologier, som t.ex. IEEE 1394-nätverk (FireWire [46]). För sådana existerande tekniker tillåter UPnP att det finns proxy-servrar på UPnP-nätverket som kan förmedla information mellan de båda nätverken. UPnP Forum håller även på att utveckla standardprotokoll för styrning av enheter (DCP Device Control Protocol). Dessa protokoll ska definieras för XML med tanken att de ska utbytas via HTTP. Precis som med Jini (se ovan) stödjer UPnP att nätverk skapas utan någon manuell konfiguration. En enhet ska dynamiskt kunna ansluta sig till nätverket, erhålla en IP-adress och erbjuda sina tjänster. Enheter ska även kunna lämna nätverket på ett lugnt och fint sätt utan att störa resten av nätverket. Som 28