Croquet OS
Originalförfattare | Alan Kay , Julian Lombardi , Mark P. McCahill , Andreas Raab , David P. Reed , David A. Smith |
---|---|
Stabil frisättning | 0.4.0 / 20 november 2020
|
Skrivet i | Squeak Smalltalk |
Typ | Operativ system |
Licens | MIT |
Hemsida |
Croquet OS är ett webbaserat operativsystem för att skapa tredimensionella appar med fleranvändarfunktioner som körs samtidigt på vilken enhet som helst .
Croquet kan användas för kommunikation , onlinespelmiljöer som massivt multiplayer online role-playing games (MMORPGs), 3D- wikis , virtuella lärande och problemlösningsmiljöer, privat underhållna eller sammanlänkade virtuella miljöer för flera användare, och mer avancerade funktioner som mycket skalbar samarbetsdatavisualisering , resursdelning och synkron beräkning mellan flera användare .
Historia
De ursprungliga författarna till Croquet öppnade ett kommersiellt företag vid namn Qwaq som senare döptes om till Teleplace. Den tekniken såldes senare tillbaka till en grupp av de ursprungliga Croquet-utvecklarna och blev Immersive Terf.
Krocket är sammanflödet av flera oberoende arbetslinjer som utfördes av dess sex främsta arkitekter, Alan Kay, David A. Smith . David P. Reed , Andreas Raab , Julian Lombardi och Mark McCahill . Projektets nuvarande identitet har sitt ursprung i ett samtal mellan Smith och Kay 1990, där båda uttryckte sin frustration över operativsystemets tillstånd vid den tiden.
1994 byggde Smith ICE, en fungerande prototyp av ett tvåanvändarsystem som var en föregångare till kärnan i vad Croquet är idag. Också 1994 utvecklade Mark McCahills team vid University of Minnesota GopherVR , ett 3D-användargränssnitt till Internet Gopher för att utforska hur rumsliga metaforer kan användas för att organisera information och skapa sociala utrymmen. 1996 kontaktade Julian Lombardi Smith för att utforska utvecklingen av mycket utvidgbara samarbetsgränssnitt till World Wide Web . Senare, 1999, byggde Smith ett system kallat OpenSpace, som var en tidig bunden variant av Croquet. Också 1999 började Lombardi arbeta med Smith på prototypimplementeringar av mycket utvidgbara samarbetsmiljöer baserade på OpenSpace. En av dessa implementeringar var en prototypimplementering av ViOS , ett sätt att rumsligt organisera alla Internetlevererbara resurser (inklusive webbsidor) i en massivt skalad 3D-miljö för flera användare.
Smith och Kay startade officiellt Croquet Project i slutet av 2001 och fick omedelbart sällskap av David Reed och Andreas Raab. Reed tog med sig till projektet sitt mångåriga arbete med massivt skalbara peer-to-peer- meddelandearkitekturer i en form som härrör från hans doktorsavhandling som publicerades 1978. Den första fungerande Croquet-koden utvecklades i januari 2002. Samtidigt och oberoende, Lombardi och McCahill började samarbeta för att definiera och implementera mycket skalbara och företagsintegrerade arkitekturer för samarbete med flera användare och bjöds in av Kay att gå med i kärnarkitekturgruppen 2003.
Från 2003 till 2006 utvecklades tekniken under ledning av dess sex huvudarkitekter med ekonomiskt stöd från Hewlett-Packard , Viewpoints Research Institute Inc., University of Wisconsin–Madison , University of Minnesota , Japanese National Institute of Communication Technology (NICT) ), och privatpersoner. Den 18 april 2006 släppte projektet en betaversion av Croquet SDK 1.0 i öppen källkod . Sedan dess har Croquet-teknologins infrastruktur framgångsrikt använts av privat industri för att bygga och distribuera kommersiella applikationer med sluten källkod. Programvaruimplementeringar i produktionsklass med öppen källkod för att leverera säkra, interaktiva, beständiga virtuella arbetsytor för utbildning och träning har samtidigt utvecklats och distribuerats vid University of Minnesota, University of Wisconsin–Madison, University of British Columbia och Duke University .
I maj 2018 grundade David A. Smith Croquet Corporation. Alan Kays team av ingenjörer, Vanessa Freudenberg, Aran Lunzer, Yoshiki Ohshima, samt Smiths samarbetspartner från Red Storm Entertainment, Brian Upton, gick med Smith som medgrundare av Croquet Corporation för att bygga ett mjukvarusystem för att skapa flera användare digitala upplevelser på webben. Croquet låter utvecklare bygga fleranvändarappar i realtid utan att skriva en enda rad serverkod, eller distribuera eller hantera några servrar. Croquet består av ett JavaScript-bibliotek som ger tillgång till dess globala nätverk av offentliga reflektorer.
2020 tog företaget in sin första finansieringsrunda. Företaget är baserat i Los Angeles , Kalifornien .
Funktioner
- Det är plattforms- och enhetsoberoende
- Användare och utvecklare kan fritt dela, ändra och se källkoden för hela systemet, på grund av en liberal licens
- Tekniken finns inte på en organisations server och styrs därför inte av någon sådan organisation
- Den tillhandahåller ett komplett professionellt programmerarspråk (Squeak Smalltalk), integrerad utvecklingsmiljö (IDE) och klassbibliotek i varje distribuerad, körande deltagares kopia; själva programmeringsutvecklingsmiljön är samtidigt delbar och utbyggbar
- Krocketbaserade världar kan också uppdateras medan systemet är live och igång
Croquet tillåter användare att redigera källkoden för 3D-världen inifrån världen och omedelbart se resultatet, medan världen fortfarande är igång. Programmet som körs behöver inte avslutas, och det finns ingen kompileringslänk-kör-debug-utvecklingsloop. Alla delar av programmet kan redigeras, ner till VM- och OpenGL -anrop.
Tekniska funktioner
Croquet är ett mjukvaruutvecklingskit (SDK) för användning vid utveckling av kollaborativa virtuella världsapplikationer .
Applikationer som skapas med Croquet SDK samarbetar automatiskt eftersom applikationsobjekt i Croquet delar ett gemensamt protokoll som gör att de kan samarbeta med varandra genom att använda principen för replikerad beräkning (synkronisering) tillsammans med ett peer-baserat meddelandeprotokoll. Tekniken är utformad för att underlätta sådan replikering mellan kamrater, för att avsevärt minska de omkostnader som behövs för en utbredd distribution av virtuella samarbetsvärldar.
Denna effektivitet, i kombination med möjligheten att distribuera krocketbaserade virtuella världar på hårdvara på konsumentnivå, gör det möjligt för utvecklare att distribuera storskaliga och mycket deltagande samarbetsvärldar till mycket låg kostnad jämfört med virtuella världsteknologier som är helt beroende av servern -baserad infrastruktur för att stödja deras användares aktiviteter.
Virtuell maskin
Croquets virtuella maskin (VM) körs lite identiskt på flera plattformar och stöder flera förmågor som endast kan tillhandahållas av ett sant sent bunden meddelandesändande språk.
Croquets relation till Squeak ger Croquet egenskapen hos ett rent objektorienterat system som möjliggör betydande flexibilitet i designen och karaktären hos de protokoll och arkitekturer som har utvecklats för systemet.
På grund av detta har Croquet förmågan att fortsätta köra medan koden modifieras och testas, medan ändringar görs, en viktig del av Croquets samarbetsutvecklingsförmåga. Användare kan ändra koden som kör miljön medan miljön körs.
Synkroniseringsarkitektur
Croquets tidsbaserade synkroniseringsförmåga möjliggör identiska interaktioner i realtid mellan grupper av användare samtidigt som behovet av serverinfrastrukturer för att stödja implementeringen av den virtuella världen minskar dramatiskt. Croquets arkitektur gör det enkelt att utveckla applikationer som samarbetar på djupet utan att behöva lägga ner mycket ansträngning och expertis på att förstå hur replikerade applikationer fungerar.
TeaTime är en skalbar fleranvändararkitektur i realtid som är grunden för Croquets objekt-objekt-kommunikation och synkronisering. Den är utformad för att stödja fleranvändarapplikationer som kan skalas till ett enormt antal användare som interagerar samtidigt i ett delat virtuellt utrymme. Den mest direkt synliga delen av denna arkitektur är TObject-klassen som används för att definiera och konstruera underklassade Tea-objekt. Alla intressanta föremål inuti Croquet är konstruerade från underklasser av TObject.
Ett Tea-objekt agerar med egenskapen att meddelanden som skickas till det omdirigeras till replikerade kopior av sig själv på andra användares deltagande maskiner i ett peer-to-peer-nätverk . Det här meddelandeprotokollet stöder en koordinerad distribuerad tvåfasig commit som används för att styra framskridandet av beräkningar på deltagande användarplatser. På detta sätt kan meddelanden omdirigeras dynamiskt till ett stort antal användare med bibehållen lämplig deadline-baserad schemaläggning. Således är TeaTime utformad för att möjliggöra en stor del av anpassningsförmåga och motståndskraft och arbetar på en heterogen uppsättning resurser. Det är ett abstraktionsramverk som fungerar över en rad implementeringar och som kan utvecklas och justeras över tid, både inom en applikation och över applikationer.
Nyckelelement i TeaTime-synkroniseringsarkitekturen inkluderar:
- En koordinerad universell tidsbas inbäddad i kommunikationsprotokoll
- Replikerade, versionerade objekt som förenar replikerad beräkning och distribution av resultat
- Replikeringsstrategier som skiljer replikeringsmekanismerna från objektens beteendesemantik
- Deadline-baserad schemaläggning utökad med misslyckande och kapsling
- Koordinerad, distribuerad tvåfas-åtagande som används för att kontrollera framstegen för beräkningar på flera platser, för att ge motståndskraft, deterministiska resultat och anpassning till tillgängliga resurser
- Använder distribuerade set
Se även
- Öppen kobolt : en krocketgaffel
- Open Wonderland : en Java -baserad 3D-verktygssats med öppen källkod för att skapa virtuella världar för samarbete
- Overklig motor
- Introduktionsartikel ( kopia på archive.org) som beskriver Croquet av David Smith och Alan Kay
- C5-konferens och relaterade artiklar
- David P. Reeds papper
externa länkar
- Officiell webbplats croquet.io
- Officiell webbplats Viewpoints Research Institute (VPRI)
- Intervju med Julian Lombardi vid The Coalition for Networked Informations höstens arbetsgruppsmöte 2007.
- Video av David Smith & Alan Kay gjord för ett föredrag på Stanford (2003)
- Video gjord för O'Reilly etech av David Smith & Alan Kay (uppdelad i fina bitstorlekar, inkluderar även Kays fullständiga Squeak-demo)