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)