Öppna kobolt

Öppna kobolt
Utvecklare Gemenskapskälla och Duke University
Initial release 2009
Skrivet i Squeak Smalltalk
Operativ system macOS , Windows , Linux
Tillgänglig i engelsk
Typ 3D-webbläsare, virtuell värld, 3D-datorgrafik
Licens MIT
Hemsida www .opencobalt .net

Open Cobalt är en gratis mjukvaruplattform med öppen källkod för att konstruera, komma åt och dela virtuella världar både på lokala nätverk eller över Internet , utan behov av centraliserade servrar.

Tekniken gör det enkelt att skapa djupt samarbetande och hyperlänkade virtuella arbetsytor för flera användare, virtuella utställningsutrymmen och spelbaserade inlärnings- och träningsmiljöer som körs på alla större mjukvaruoperativsystem . Genom att använda ett peer-to-peer - baserat meddelandeöverföringsprotokoll för att minska beroendet av serverinfrastrukturer för att stödja grundläggande interaktioner i världen mellan många deltagare, gör Open Cobalt det möjligt för människor att hyperlänka sina virtuella världar via 3D - portaler för att bilda en stor distribuerat nätverk av sammankopplade samarbetsutrymmen. Det gör det också möjligt för skolor och andra organisationer att fritt skapa sina egna nätverk av offentliga och privata virtuella 3D-arbetsytor som har integrerad webbsurfning , röstchatt , textchatt och tillgång till fjärrskrivbordsapplikationer och -tjänster.

Open Cobalt använder mjukvarumiljön Squeak , som är ett Smalltalk- system med öppen källkod som är fritt tillgängligt för Windows, Mac och Unix. Som är sant för nästan alla Smalltalk-applikationer, har Open Cobalt identisk funktion på alla plattformar som stöds. Som ett Smalltalk-system kan det vanligtvis uppdateras medan systemet körs utan att behöva startas om.

Förväntade användningsområden

Open Cobalt är designat för att möjliggöra utbyggnaden av säkra virtuella världsutrymmen som stödjer utbildning, forskning och virtuella organisationers aktiviteter . Genom att utnyttja OpenGL -baserad 3D-grafik stöder Open Cobalt mycket skalbar samarbetsdatavisualisering , virtuella lärande- och problemlösningsmiljöer, 3D-wikis, onlinespelmiljöer kallade Massively multiplayer online role-playing games (MMORPGs), och privat och säkert underhållna fleranvändare virtuella miljöer.

Open Cobalt-applikationen utnyttjar peer-baserade meddelanden för att eliminera behovet av virtuella världsservrar/kommersiella tjänster och gör det mycket enkelt för slutanvändare att skapa och säkert dela djupt samarbetande virtuella världar som körs på alla större mjukvaruoperativsystem. Användare som rör sig genom och interagerar inom Open Cobalt-världar deltar och samarbetar samtidigt i en dynamisk, samtidig miljö där de kan arbeta, utforska och lära sig på en nivå av integration och utvidgning som inte lätt uppnås genom kommersiell virtuell världsteknologi. Utan licensavgifter kan användare och utvecklare också fritt bygga och dela mycket kapabla virtuella arbetsytor för flera användare, spelbaserade lärande- och träningsmiljöer, eller till och med bara skapa platser för att träffas och interagera med vänner.

Historia

Öppna Cobalt-användargränssnitt och avataraktiverad virtuell miljö som innehåller . kmz mesh-innehåll importerat från Googles 3D Warehouse . Användare kan tillhandahålla innehåll till Open Cobalt-utrymmen som kan utvecklas och hanteras med hjälp av verktyg och resurser från tredje part.

Open Cobalt kommer från Croquet Software Development Kit (SDK) som släpptes offentligt under MIT-licensen av Hewlett-Packard och Croquet Consortium i början av 2007.

I början av 2008, och med stöd av Andrew W. Mellon Foundation , lanserade Julian Lombardi och Mark P. McCahill, vid Duke University , den community-baserade mjukvaruutvecklingssatsningen för att bygga Open Cobalt som en webbläsarapplikation för en virtuell värld med öppen källkod och byggverktygslåda.

I maj 2008 tilldelades Lombardi ett anslag från National Science Foundation för att ytterligare stärka den gemenskapsbaserade mjukvaruutvecklingssatsningen och föra den virtuella webbläsaren Open Cobalt till sin alfaversion .

Tillsammans med John Dougan som teknisk projektledare och en växande internationell gemenskap av mjukvaruutvecklare och volontärer, släppte Open Cobalt-projektets bidragsgivare Open Cobalt Alpha i april 2010.

OpenCobalt 1.0 alpha 22 släpptes i juni 2015. Den senaste aktiviteten som involverar projektet finns i Open Cobalt Google Group.

Mål

Målet med Open Cobalt-satsningen är att stimulera användningen av distribuerade virtuella miljöer, föra fram visuella simuleringar och fördjupa samarbetet inom utbildning, forskning och personlig underhållning - och på så sätt:

  1. stimulera utvecklingen och spridningen av delade cybermiljöer för iscensättning, observation och utvärdering av samarbetande beslutsfattande, problemsökning och problemlösning bland medlemmar av distribuerade virtuella organisationer och utbildningsgemenskaper, och
  2. skapa förutsättningar för framväxten av ett fritt, öppet och skalbart 3D-aktiverat globalt informationsutrymme.

Funktioner

Open Cobalt är både en slutanvändarapplikation och en komplett mjukvaruutvecklingsmiljö för att skapa ett rikt nätverk av slutanvändarskapade sammanlänkade virtuella världar. Det är mer utbyggbart än den egenutvecklade tekniken bakom samarbetsvärldar som Second Life och dessförinnan ViOS . Det här är för att:

  • Det är gratis (det finns inga avgifter för dess användning eller distribution)
  • Hela systemet är öppen källkod (det är licensierat under MIT fri mjukvarulicens )
  • Den behöver inte använda servrar för att skapa och dela virtuella världar (eftersom den är baserad på en peer-to-peer synkroniseringsarkitektur/meddelandeprotokoll)
  • Det är plattforms- och enhetsoberoende (eftersom det är en virtuell maskinbaserad teknik som körs på Mac OS X , Windows och Linux )
  • Det tillhandahåller ett komplett professionellt programmerarspråk ( Smaltalk / Squeak , IDE och klassbibliotek i varje distribuerad, körande deltagares kopia (med själva programmeringsmiljön som kan delas och utökas samtidigt)
  • Den är baserad på Squeaks sent bindande arkitektur och metaprogrammeringsfaciliteter (som möjliggör effektiv hantering av media)
  • Användare/utvecklare inom virtuella världar kan fritt komma åt, ändra och se källkoden för hela systemet (de kan komma åt körande kod från in-world)
  • Användare/utvecklare kan importera 3D-innehåll direkt till sina världar ( Google 3D Warehouse- innehåll (. kmz ) och innehåll i andra format kan dra-och-släppas direkt till Open Cobalt-världar)
  • Användare/utvecklare kan importera en mängd olika mediainnehåll direkt till sina världar (Open Cobalt-världar stöder ljud- och mpeg -mediainnehåll)
  • Dess mjukvarukod kan uppdateras/ändras medan systemet är live (gör det möjligt att programmera världar inifrån världar medan de körs)
  • Den finns inte på en enda organisations server (och därför inte styrd av någon sådan organisation)

3D hyperlänkar

Öppna Cobalt 3D-hyperlänkar som förbinder fem olika virtuella utrymmen. Tredimensionella hyperlänkar visas som navigerbara portaler och gör det möjligt att organisera Open Cobalt-världar av slutanvändare till ett sammanlänkade nätverk av virtuella utrymmen över lokala och stora nätverk.

Till skillnad från de flesta andra virtuella världsplattformar (med undantag för OpenSimulators Hypergrid-arkitektur) använder Open Cobalt en metod för hyperlänkning , känd som "space-linking", som liknar en fönsterram eller portal och, när den roteras, visar en 360- graders realtidsvy av en region för en användare i en annan region; sådana portaler kan också gå igenom av användare. Space-linking är ett alternativ till teleportation, ett vanligare sätt att korsa mellan regioner eller utrymmen, och är också ett primärt sätt att resa mellan hela rutnät.

Liksom MediaWikis rödlänkar används sådana portaler också för att länka till oskapade utrymmen eller regioner (färgade i svart) för att indikera behovet av att skapa nyare utrymmen .

Fjärrsamarbete

Två användares avatarer som får åtkomst till en enda VNC-session inom ett säkert och samarbetande Open Cobalt-utrymme. Integration av VNC med Open Cobalt gör det möjligt för användare att tillsammans komma åt skrivborden och applikationerna som körs på fjärrdatorer var som helst i nätverket.

Stöd för filtyper

Tekniska funktioner

Open Cobalt är en applikation byggd med hjälp av Open Croquet- programutvecklarens verktygslåda. Dess relation till Open Croquet ger den ett antal kraftfulla funktioner.

Programmeringsmiljö

Open Cobalts mjukvaruutvecklingsmiljö gör det möjligt för programmerare att njuta av funktionerna i ett äkta sent bunden meddelandesändande språk. Eftersom det är byggt på Squeak / Croquet är Open Cobalt ett rent objektorienterat programmeringssystem som möjliggör betydande flexibilitet i dess design och implementering.

Inom Open Cobalt kan programmerare 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 den virtuella maskinen (VM) och OpenGL- anrop. Open Cobalts beroende av Squeaks generaliserade lagringsfördelare och sopsamlare gör den mycket effektiv i realtid och gör att omformning av objekt kan göras på ett säkert sätt.

Precis som med Squeak stöder Open Cobalt många icke-engelska språk och teckensnitt som tyska , spanska , franska och japanska .

Synkroniseringsarkitektur

Öppna Cobalts programmeringsmiljö. Ett komplett professionellt programmerarspråk ( Smalltalk / Squeak ), IDE , och klassbibliotek finns i varje distribuerad, körande deltagares kopia.

Underliggande Open Cobalt är en objektorienterad semantik baserad på aktiva objekt som har förmågan till tidsreflektion .

Varje objekt är medvetet om och har direkt kontroll över sitt beteende i tiden. Open Cobalt stöder också direkt replikering av beräkningar, vilket gör att beräkningar kan flyttas nära interaktionspunkten på begäran, samtidigt som man upprätthåller en konsekvent syn på beteenden som kan skalas till att inkludera tusentals noder. Den gör detta genom att använda en kombination av objektsemantik tillsammans med en modifierad version av David P. Reeds TeaTime peer-baserade meddelandeprotokoll som ett distribuerat meddelandetransaktionssystem som möjliggör replikerad beräkning (synkronisering) över flera peers. Detta gör replikerad beräkning lika lätt som att replikera data - och gör synkronisering av alla händelser över flera peers till en grundläggande egenskap hos systemet.

Tack vare dessa egenskaper kan mjukvaruutvecklare använda Open Cobalt som ett sätt att skapa djupt samarbetande applikationer utan den ansträngning som krävs för att förstå hur replikerade applikationer fungerar. Detta minskar de programmeringskostnader som behövs för utbredd distribution av djupt kapabla virtuella samarbetsutrymmen. Det gör det också möjligt att distribuera och koordinera aktiviteterna i virtuella världar på flera maskiner utan att behöva underhålla centrala serverresurser (andra än de som behövs för specialiserade data och institutionella mellanprogramtjänster).

Open Cobalts implementering av TeaTime inkluderar:

  1. En koordinerad universell tidsbas inbäddad i kommunikationsprotokollet ,
  2. Replikerade, versionerade objekt som förenar replikerad beräkning och distribution av resultat,
  3. Replikeringsstrategier som skiljer replikeringsmekanismerna från objektens beteendesemantik,
  4. Deadline-baserad schemaläggning utökad med misslyckande och kapsling,
  5. Samordnade, distribuerade tvåfas-commit 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,
  6. Användning av distribuerade set.

externa länkar