Croquet OS
此條目需要補充更多來源。 (2022年2月7日) |
原作者 | Alan Kay, Julian Lombardi, Mark P. McCahill, Andreas Raab, David P. Reed, David A. Smith |
---|---|
首次發布 | 2004年[1] |
程式語言 | Squeak Smalltalk |
類型 | 作業系統 |
許可協議 | MIT |
網站 | www |
Croquet OS是基於web的作業系統,藉此創造和實作協作性的多用戶線上應用程式。 槌球專案(Croquet Project)是推出Croquet OS前的軟體專案,其目的是促進Croquet的開源軟體開發套件持續開發。
Croquet是以Squeak Smalltalk實作,可支援多個用戶之間的通訊、協作、資源共享和同步計算。 以Croquet的軟體開發套件(SDK)開發的應用程式可用於支援高擴充性的協作資料視覺化、虛擬學習和問題求解的環境、3D Wiki、線上遊戲環境( 大型多人在線角色扮演遊戲 (MMORPG))以及私人維護或互相連接的多用戶虛擬環境。
進階的技術還涉足到Open Cobalt和Open Croquet的工作。 [2]
技術功能
[編輯]Croquet是用於開發協作虛擬世界應用程式的軟體開發套件(SDK)。
使用Croquet SDK所創造的應用程式是自動協作的,因為在Croquet中的應用程式物件共享一個公用協定,透過採用複製計算(同步)的原則和基於對等(peer-based)的訊息傳遞協定相互合作。該技術是被設計來促進這種點對點之間的複製,大幅減少廣泛部署的協作式虛擬世界所需的開銷。
與完全依賴基於伺服器的基礎設施來支援用戶活動的虛擬世界技術相比,Croquet因其效率佳,再加上能夠在消費級硬體上部署基於Croquet的虛擬世界,讓開發者可用極低成本部署高度參與式的大型協作世界。
虛擬機
[編輯]Croquet的虛擬機在多個平台上的執行方式完全相同,並且支援多項功能,而這些功能只能由真正遲繫結的訊息發送語言提供。
Croquet與Squeak的關係使Croquet具有純物件導向系統的特性,從而在設計方面、為系統開發的協定和架構的性質方面十分靈活。
正因如此,Croquet能在修改代碼和測試的同時,維持執行的狀態,一邊修改一邊執行,這部分對Croquet協同開發能力相當重要。用戶可以在環境執行的同時修改環境的執行代碼。
同步架構
[編輯]Croquet有基於時間的同步功能,可在用戶組之間進行即時、完全相同的互動,同時大幅減少了對支援虛擬世界部署的伺服器基礎設施之需求。Croquet的架構使開發深度協作的應用程式變得容易,而無需花費大量的精力和專業知識來了解被複製的應用程式如何工作。
TeaTime是一個可擴展的即時多用戶架構,它是Croquet的物件之間通訊和同步的基礎。它被設計成支援多用戶應用,可以在一個共享的虛擬空間中擴展到大量同時互動的用戶。這個架構中最直接可見的部分是TObject類,它用於定義和構造子類的Tea物件。Croquet裡面所有有趣的物件皆由TObject的子類別所建立。
Tea物件的作用屬性是,向它發送的訊息會被重定向,轉送到點對點網路中它本身在其他參與用戶機器上的複製副本。這種消息傳遞協定支援協調式分布兩階段提交,用來控制參與用戶站點的計算進度。消息可透過這種方式動態地重定向到大量用戶,同時又可保持根據規定期限進行適當調度。因此,TeaTime的設計考慮了大量的適應性和彈性,並且可在各種的資源組合上工作。TeaTime是在一系列實作上工作的抽象框架,並且可以隨著時間的推移,在應用程式內和跨應用程式中進行演進和調整。
TeaTime同步架構有以下關鍵元素:
- 嵌入通訊協議中的協調通用時基
- 複製的版本對象,統一複製的計算和結果的分配
- 將複製機制與對象的行為語義分開的複製策略
- 基於截止日期的計劃擴展了故障和嵌套
- 協調的分佈式兩階段提交,用於控制多個站點上的計算進度,以提供彈性,確定性結果以及對可用資源的適應
- 使用分佈式集
Immersive Terf
[編輯]Croquet原本的作者開設了一家名為Qwaq的商業公司,後來更名為Teleplace。這個技術後來賣回去給原來Croquet的開發團隊,並成為了Immersive Terf。 [3] [4]
歷史
[編輯]槌球計畫是由六位主要締造者艾倫·凱、David A. Smith、David P. Reed、Andreas Raab、Julian Lombardi、馬克·麥卡希爾等人的幾條獨立工作線匯合而成。David P. Reed, Andreas Raab, Julian Lombardi, 和Mark McCahill。該專案目前確認起源於1990年史密斯和凱之間的一次談話,兩者皆對當時的作業系統狀況表示不滿。
獨特之處
[編輯]- 不受設備和平台限制
- 有自由許可證,用戶和開發人員可以自由共享,修改和檢視整個系統的源代碼
- 由於該技術並未讓某個組織的伺服器託管,因此不受任何此類組織的管轄
- 每個分佈式、執行中的參與者的副本都提供了完整專業的程式設計師語言(Squeak Smalltalk)、整合開發環境(IDE)和函式庫;編程開發環境本身是可共享和可擴展的。
- 基於Croquet的世界在系統執行的情況下也可以更新。
參見
[編輯]- Open Wonderland ,一個基於Java的開源3D工具包,用於創造協作的虛擬世界
- 虛幻引擎
參考資料
[編輯]- ^ Croquet Project. [17 February 2021]. (原始內容存檔於2004-10-14).
- ^ GitHub. [2022-02-06]. (原始內容存檔於2022-03-21).
- ^ Virtual Places For Real Work – 3dicc.com. [2022-03-22]. (原始內容存檔於2022-02-27).
- ^ Teleplace gone; 3D ICC steps in to help customers. [2022-02-06]. (原始內容存檔於2019-04-06).
外部連結
[編輯]- 官方網站[永久失效連結] Croquet Consortium, (defunct)
- Interview with Julian Lombardi at The Coalition for Networked Information's 2007 Fall Task Force Meeting.
- Video by David Smith & Alan Kay done for a talk at Stanford (2003)
- Video (頁面存檔備份,存於網際網路檔案館) done for the O'Reilly etech by David Smith & Alan Kay (broken up into nice bite-size chunks, also includes Kay's full Squeak demo)