Software

Google Earth er intet teknologisk vidunder

Til gengæld er programmet et resultat af stringent systemdesign, innovativt ingeniørarbejde og konsekvent logik - alle parametre, som er med til at skabe det fænomen, som er Google. Og Earth-programmet og de øvrige Google-tjenester er ikke noget særligt på grund af de teknologier, der tages i brug - de er det på grund af den måde, de bliver anvendt på.

Det er ikke med firmaet Googles hjælp eller gode vilje, at vi bringer denne artikel om teknologien bag Google Earth. Da vi stillede en række detaljerede tekniske spørgsmål via Googles presseafdeling, var det eneste, der var til at få ud af det firma, som af mange anses for at være Microsofts arvtager, følgende svar:

- Beklageligvis ser vi os ikke i stand til at dele specifikke detaljer om teknologien bag Google Earth med offentligheden.

Teknologien bag programmet
Det eneste Google ville ud med var to ting. Et at firmaet har købt sig til teknologien bag Earth-programmet ved at opsluge det mindre firma Keyhole - derved har Google også automatisk overtaget diverse aftaler med leverandører af satellitfotos herunder den amerikanske stat og NASA. Og to at Google selv anser Earth for at være en integration mellem firmaets mange søgemaskiner og oplysningstjenester på den ene siden og geografiske data og billeder på den anden. Og det vidste vi jo sådan set i forvejen. Vi kan nemlig også finde ud af at bruge Google til at søge efter information på internettet. Men med disse to oplysninger er vi alligevel kommet et stykke: Google Earth er en kombination af flydende 3D-navigation i et univers af satellitfotografier og af integrerede internetdata fra diverse Google-tjenester. Deraf følger, at Google Earth er baseret på den samme arkitektur som resten af viften af Google-produkter, og principperne bag denne arkitektur er man nødt til at forstå, før man kan forstå, hvordan det er lykkes Google at klemme hele Jorden ned i et stykke software.

Googleplex
Der er fire overordnede principper, som kendetegner Google i teknologisk forstand. Det er i kombinationen af og harmonien mellem disse principper, at den særlige Google-magi, som vi i denne artikel vil vælge at kalde Googleplex, opstår. Første kerneprincip hos Google er, at man bruger standardhardware - altså komponenter som hvem som helst kunne købe nede i den lokale computerbutik - som rygrad i alle systemer. Det sparer en masse omkostninger og lader i sidste ende Google indsætte langt større computerkraft, end man normalt ser, for at løse komplicerede regneopgaver.

Men billig hardware har det med at gå i stykker, og derfor er Googles arkitektur baseret på smart software, som hele tiden sørger for, at systemet ikke svigter, selvom et eller flere hardware-komponenter crasher.

Dette kan lade sig gøre på grund af den meget logiske tilgang Google har til systemarkitektur, hvilket er det andet bærende princip. Googles arkitektur er struktureret som en slags kinesisk æske. Hver server er en mindre kopi af hver enkelt cluster. Hver cluster replikerer hvert eneste datacenter og så fremdeles. Hele strukturen, fra den enkelte lille fil til de største datacentre, er nøjagtig replikeret hele vejen op igennem hierarkiet, således at systemet ikke svækkes af enkelte defekte komponenter. Fordi hele systemet således består af en række små komponenter, der er kopier af hinanden, kan Google skalere og udvide uden nogen som helst problemer, og opgaver - store som små - bliver løst på samme måde. Googleplex er simpelthen en supercomputer, der udgøres af summen af mange små enheder. Nøjagtig ligesom strukturen i et bistade. Hver enkelt fil er replikeret tre til seks gange, og Googleplex distribuerer opgaver derhen i strukturen, hvor der er plads til at løse dem. Dette betyder blandt andet, at Googles system ikke har været nede siden år 2000!!! Og det betyder også, at Google er hurtig. Faktisk fungerer Googleplex hurtigere end nogen kendt, færdigudviklet serverløsning på markedet (SUN, IBM eller lign). Tal for 2002 viser, at Google allerede dengang demonstrerede læsehastigheder på omkring 562 og 589 MB/s i ethvert givent cluster, hvorimod et kendt storage device fra den tid, IBM EXP3, selv i burst mode højst kunne læse med 58 MB/s. I dag regner man med, at Google har opnået en læsehastighed på 2 GB/s. Udover Googleplex-strukturen er det på grund af smartere software, at Google eksempelvis har opnået de hurtigste søgemaskinehastigheder på nettet. Google checker ikke bare en brugers forespørgsel op imod et indeks, men gør brug af diverse algoritmer, der vurderer forskellige datas relevans op imod søgningen.

Belastningen af Googles systemer er på trods af de mange komplicerede beregninger lavere, end den ville have været på et konventionelt system. Googleplex fungerer som en slags plug'n play, og fordi firmaet anvender hyldeprodukter slipper de også uden om dyre certificeringsprocesser, hvilket både sparer tid og penge. Også brugen af open source software som Linux gør Google mere prisbevidste og dermed hurtigere på aftrækkeren, når det gælder om at udvikle og præsentere nye tjenester. Dette har også været tilfældet med Google Earth, som Google fik på banen allerede i maj, hvorved firmaet atter engang fik overhalet Microsoft indenom.

Google Earth bygger på Google Maps
I begyndelsen var der Google Maps. En browserbaseret tjeneste som kombinerer en kort-tjeneste a la Krak.dk med Google-søgning og Yellow Pages. Men Google Maps kunne og kan mere end Krak.dk. Tjenesten låner grafisk motor fra computerspilsverdenen. Hvert kort består af en separat grafikfil, der passer ind i en raster, som måler 128 x 128 enheder. Ved hjælp af denne nøje klassificering af hver grafikfil kan Google opnå en fuldstændig glidende oplevelse, når brugeren bevæger sig rundt i kortet. I teknologisk forstand er der tale om usynlige frames, som konstant loader de nye billeder. På klientsiden anvendes XSLT for at konvertere XML-pakkerne med billedinformationer til HTML. Google Earth bygger på denne teknologi men tilføjer Keyhole's 3D-adgang til satellitfotos og hurtige rendering, der skaber den kendte flyveeffekt.

Google Earth på dimse-niveau
Landskaber i Google Earth programmeres i et særligt XML-baseret programmeringssprog ved navn KML (Keyhole Markup Language). KML bruges til at modellere og opbevare geografiske fænomener såsom punkter, linier, billeder og polygoner, der kan vises i Google Earth-klienten. Med KML kan programmøren altså specificere ikoner og lag, der kan identificere positioner på planetens overflade, skabe forskellige kamerapositioner, skabe hyperlinks og embedded images ved hjælp af HTML-beskrivelser af konkrete steder, etc. En KML-fil afvikles af Google Earth-klienten på samme måde, som en webbrowser afvikler en HTML-fil. Ligesom HTML er KML baseret på tags og egner sig til visning. Keyhole, der har udviklet KML, arbejdede tidligere sammen med det australske firma, ER Mapper, og anvender stadig i hovedtræk den dengang udviklede teknologi til kompression og streaming af kortoplysninger baseret på store mængde billeddata. Afviklingen af de store billeder, der til tider kan fylde flere terabytes, foregår via en såkaldt Image Web Server, der anvender diverse protokoller for at skabe en mosaik af de mange satellitfotografier samt for at "servere" dem for brugeren via en klient på dennes egen computer. Der er blandt andet tale om ImageX, en HTTP-protokol, ECWP, en image streaming protokol og OGC WMS, en billedvisningsprotokol, der fungerer med åbne webstandarder. Det er ECWP-protokollen, som tillader real time zoom og "flyvning" over den virtuelle jord.

Det er altså på serverniveau, at sammensætningen og komprimeringen af de mange satellitbilleder foregår. Google Earth skal som nævnt betragtes som en klient eller en virtuel applikation - programmet er simpelthen en browser, der kan vise KML-filer indeholdende store billeder, der afvikles fra en GIS Web Image Server. For at klienten, Google Earth, skal fungere, kræver det diverse 3D-afviklingsteknologier på brugerens computer, såsom OpenGL eller DirectX, men miraklerne sker i Googleplex-infrastrukturen.

Ofte stillede spørgsmål om Google Earth:

Hvornår blev satellitbillederne taget? Hvor ofte bliver de opdateret?
Google Earth bygger på billeder, der er blevet fotograferet af satellitter inden for de sidste tre år. Billederne bliver opdateret løbende.

Hvorfor er nogle billeder uskarpe, mens andre vises med alle detaljer?
Google Earth kombinerer billeder med forskellige opløsning i en såkaldt mosaik for at give brugeren en flydende oplevelse. I takt med at de billeder, som til sammen udgør den virtuelle Google Earth, opdateres, vil flere og flere byer og steder kunne vises ned til mindste detalje.

Hvilke byer vises i 3D-format?
Indtil videre er kun 38 byer i USA tilgængelige i 3D-format. Integration af Google Local Search fungerer indtil videre i USA, Canada og England.

Cookie-samtykke