摘要
- CES 以 Argus 原子动作、锁和版本栈,使参与其中的文档变更可串行化、可恢复,并能撤回跨越多个动作的修改。
- commit 能证明系统落在干净状态,却不能保存作者意图、保证及时的协作感知、解决编辑归属,也不能证明协作已经成功。
一把安静的锁,以及另一位等候的作者
一名作者写到一半,起身接电话。文档节点仍被锁住。另一处的合作者正准备修改同一段文字。
1985 年有关 Collaborative Editing System(CES)的论文没有把这一幕当作无关紧要的易用性细节。系统为它设置了“tickle lock”:持锁者空闲一段时间后,如果合作者提出请求,锁便可以释放。机器解决了一个很具体的问题——一次意外中断不应无限期冻结共同文档。
但释放锁并没有回答:先前的作者为何停下、谁的改写更重要、接手者是否理解那段尚未完成的思路,或者夺回编辑权会不会伤害合作关系。原子性能够安排节点的访问顺序,不能替人解释中断的社会含义。
这正是 CES 最耐久的价值。Irene Greif、Robert Seliger 与 William Weihl 用一个真正的协同应用,检验 Argus 中新原子数据类型的行为。系统对数据作出很强的保证,也在不经意间显出有多少“协作”留在事务边界之外。
文档从来不是一个不可分割的对象
CES 把文档组织成大纲和一组节点,每个节点由一位主要作者负责。文档结构有副本,节点内容可以分布保存。不同作者能并行处理不同节点;多人要写同一节点时,则由锁把操作排成顺序。阅读者不必等待所有远端更新,可以看到略旧但内部一致的版本。
这不是今天常见的逐字实时共同编辑。作者持锁时,较小的编辑命令作为原子动作提交。输入者在本地立即看到字符,其他人的屏幕却要等动作提交后按固定间隔刷新。因此,远端合作者可能正在阅读一个有效却过时的视图,而更新版本已经在别处完成 commit。
这里至少有三种不同证明。可串行化说明并发动作等价于某个串行次序;可恢复性说明动作要么完整生效,要么撤销而不留下半成状态;协作感知说明人们能否及时看见彼此正在做什么。CES 直接处理前两项,而它的显示机制明确告诉我们,第三项有自己的延迟和证据。
版本栈记得状态,却记不得动机
Argus 帮助 CES 在机器故障后恢复,原子类型则让操作纳入动作。CES 又加入版本栈,使作者可以取回旧状态,撤销不止一个原子动作。论文也记录了一个尴尬边缘:用户可能知道某项变更已经提交,而另一台尚未收到 commit 决定的机器仍显示更旧版本。
版本栈保存了内容,却没有保存作者为何改写、舍弃了哪个方案,或者一次恢复究竟是在纠错还是重新挑起争议。事务日志可以说明状态先后;作者意图需要出处、讨论与判断,而数据结构从未声称能提供这些东西。
性能也让成功故事无法过分干净。内存不足时,原型根本无法使用;内存够用后,它仍然迟缓。经由网络访问稳定存储,耗时可能增加一倍以上。一个“正确”却延迟感知的协同工具会改变人的行为:作者会等待、绕开系统,或把沉默误判为无人改动。响应速度不是原子性,却决定原子性被体验为合作还是阻碍。
早期研究说明了为何必须守住边界
Greif 在 1975 年 MIT 博士论文中主张,同步规范应使用系统内部能够导出的次序,而不是依赖可能根本无法实现的外部全局时钟。这篇论文没有设计 CES,也不应被包装成所有后来 groupware 的单线源头。它留下的是一种反复出现的纪律:只陈述机制确实能够强制的次序。
CES 延续了这种纪律。原子动作可以排列并恢复参与操作,却不能替所有人的观察建立一个总序,更不能把“最新提交版本”变成“所有合作者已经理解的版本”。后一个命题需要额外的沟通机制。
Greif 的贡献也远超一套程序。ACM 的机构资料把她称为 CSCW 的一位创始人,记载了 1984 年研讨会和 1986 年首届 CSCW 会议。更准确的理解是:她帮助建立了一处同时研究技术协调和人的场域,而不是说 groupware 由她一人发明。
主角不能吸收整个系统的功劳
论文对贡献边界写得很清楚。CES 由第二作者 Robert Seliger 开发,文中的三个例子来自他的系统;William Weihl 共同完成了原子数据类型分析;Argus 则来自 Barbara Liskov 更大的研究计划和团队。以 Greif 为主角,是因为 CES 连接了她对同步的研究和建立 CSCW 领域的工作,但这并不取代其他贡献者。
论文还强调,CES 的基本结构与界面在选择 Argus 之前已经确定。它不是为了宣传一种事务语言而搭建的演示。团队选择 Argus,是为了迅速做出原型,让真实用户试用共同写作系统,再根据反馈调整。那些不顺手之处因此是证据,不是需要遮掩的失败。
五条边界,而不是一个“是否成功”的判决
判断 CES,不应只问它是否“解决了协作”。它实际上分开了今天仍需独立衡量的五个维度:数据一致、故障恢复、交互响应、协作感知与社会协调。
原子 commit 能回答前两项;界面与网络设计支撑中间两项;谁有权修改、怎样解释冲突、哪一种意图应当生效,则需要人的规则、说明与正当权威。当一个绿色的提交标记被允许代表全部五项时,系统才真正危险。
来源
会员简报
档案背景详情
使用相应会员等级登录,即可解锁完整简报与来源注释。
仅限 Strategic Circle
Strategic Circle
所有读者均可浏览。加入并登录后可解锁档案简报。
加入 Strategic Circle仅限 Leadership Alliance
Leadership Alliance
符合条件的 IP 资产所有者和管理层可登录查看 Leadership Alliance 简报。
加入 Leadership Alliance
