Croquet OS
Croquet OS是基于web的操作系统,借此创造和实作协作性的多用户在线应用程序。 槌球项目(Croquet Project)是推出Croquet OS前的软件项目,其目的是促进Croquet的开源软件开发套件持续开发。
![]() Company logo | |
原作者 | Alan Kay, Julian Lombardi, Mark P. McCahill, Andreas Raab, David P. Reed, David A. Smith |
---|---|
首次发布 | 2004年[1] |
编程语言 | Squeak Smalltalk |
类型 | 操作系统 |
许可协议 | MIT |
网站 | www |
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的世界在系统运行的情况下也可以更新。
参考数据
外部链接
- 官方网站 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)