CN101842802A - 富客户端和浏览器客户端之间的电子表格协作 - Google Patents

富客户端和浏览器客户端之间的电子表格协作 Download PDF

Info

Publication number
CN101842802A
CN101842802A CN200880114012A CN200880114012A CN101842802A CN 101842802 A CN101842802 A CN 101842802A CN 200880114012 A CN200880114012 A CN 200880114012A CN 200880114012 A CN200880114012 A CN 200880114012A CN 101842802 A CN101842802 A CN 101842802A
Authority
CN
China
Prior art keywords
client
renewal
electronic form
form file
change
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN200880114012A
Other languages
English (en)
Inventor
J·S·坎贝尔
J·M·切尔罗弗
M·H·史密斯
R·G·霍金
R·坦登
R·L·阿彻
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN101842802A publication Critical patent/CN101842802A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/177Editing, e.g. inserting or deleting of tables; using ruled lines
    • G06F40/18Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/93Document management systems
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99954Version management

Abstract

此处公开了用于由客户计算机在电子表格文件上实时协作的技术。具体地,优选地随主机一起提供修订管理器模块,该模块从该客户计算机接收更新、处理这些更新并接着将它们应用于电子表格文件。另外,描述了用于处理由客户端同时或近乎同时发送到修订管理器的更新的技术。在这种情况下,该修订管理器确定对该电子表格文件的更新是否可变换或能够被合并。如果是,那么该更新被组合到该电子表格文件中并且应用到其上。如果该更新是不可变换的,那么修订管理器在将该不可变换更新应用于该电子表格文件之前确定所有客户端接收到了所有先前的更新。

Description

富客户端和浏览器客户端之间的电子表格协作
背景
电子表格应用程序是提供用于输入、组织、管理、查看、存储和搜索数据的便利的、简单的和直观的方式的常用程序。常规的电子表格应用程序的一个缺点是它们通常不允许多个用户同时在单个电子表格文件上协作。相反,在传统的电子表格中,当一个用户打开文件时,该文件变为“锁定的”,这样使得试图打开该文件的任何其他的用户仅能以只读方式这么做,意味着任何编辑都不会被保存到原始文件。
存在用户可能需要同时编辑文件的许多原因。电子表格通常被用作数据输入应用程序,并且某些人例如可以设置电子表格文件以从公司中的不同部门收集所有财务结果。文件通常具有多个作者,并且这些作者会想要随意编辑电子表格,而无需等待其他作者释放锁。
除了允许多个用户在单个电子表格文件上协作的期望之外,也有允许多个不同类型的客户端协作的期望。这种客户端可以包括“富”客户端和“浏览器”客户端两者。富客户端(也被称为胖客户端或肥客户端)是通常提供更多特征选择并且自身通常能够执行更多的数据处理操作且并非必须依赖于服务器的客户端。然而,存在其中富客户端可能选择允许服务器执行各种操作的多种情况。瘦客户端是通常提供减少的特征选择并且通常依赖于主机或服务器计算机的资源的客户端。特征的变化以及富客户端和瘦客户端之间的其他差异通常使这种不同的客户端处的用户难以协作。
概述
此处公开了用于客户计算机实时地在电子表格文件上协作的技术。具体地,优选地随着主机一起提供一修订管理器模块,该模块从客户计算机处接收更新、处理这种更新并接着将它们应用于电子表格文件。之后,通过轮询修订管理器,电子表格的当前版本对所有客户端可用。修订管理器将这些更新发送给先前未接收到的每个客户端,使得所有客户端可以在协作期间具有以当前状态显示的电子表格文件。
此外,描述了用于处理由客户端同时或近乎同时发送给修订管理器的更新的技术。在这种情况下,修订管理器确定对于电子表格文件的更新是否可变换或能够被合并。如果是,那么更新可以被结合到电子表格文件中并且应用到其中。如果更新是不可变换的,那么修订管理器在将不可变换的更新应用于电子表格文件之前确认所有的客户端已经接收到了所有先前的更新。这提供了在今后的发行中在协作环境中包括更多功能的能力,因为使得所有功能可变换会是非常耗时的过程。
提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的一些概念。该概述不旨在标识所要求保护的主题的关键特征或本质特征,也不旨在用于帮助确定所要求保护的主题的范围。
附图简述
在参考附图阅读以下详细描述之后,会更好地理解说明性实施例,附图中:
图1是示例性计算设备的框图。
图2是示出多个客户计算机在电子表格文件上协作的系统图示,其中主机包括用于管理对电子表格文件的同时更新的修订管理器模块。
图3是来自图2中所示的两个客户计算机的电子表格文件的一对局部视图和修订管理器模块的图示;
图4是在做出了同时更新的情况下图3中所示的客户计算机的电子表格文件的该对局部视图和修订管理器模块的图示;
图5是在修订管理器模块在电子表格文件中合并了图4的同时更新的情况下图3和4中所示的客户计算机的电子表格文件的该对局部视图和修订管理器模块的图示;以及
图6是在多个客户计算机实时协作期间合并对电子表格文件做出的同时更新的过程的流程图。
详细描述
此处用细节来描述本发明的主题以满足法定要求。然而,描述本身并非旨在限制本专利的范围。相反,设想所要求保护的主题还可结合其它当前或未来技术按照其它方式来具体化,以包括不同的步骤或类似于本文中所描述的步骤的步骤组合。
图1示出了可在其中实现上述主题的合适的计算系统环境100的示例。计算系统环境100仅为合适的计算环境的一个示例,并非旨在对上述主题的使用范围或功能提出任何局限。也不应该把计算环境100解释为对示例性操作环境100中示出的任一组件或其组合有任何依赖性或要求。
参考图1,计算系统环境100包括计算机110形式的通用计算设备。计算机110的组件可以包括但不限于处理单元120、系统存储器130以及将包括系统存储器在内的各类系统组件耦合至处理单元120的系统总线121。系统总线121可以是几种类型的总线结构中的任何一种,包括存储器总线或存储控制器、外围总线、以及使用各种总线体系结构中的任一种的局部总线。作为示例而非限制,这样体系结构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、增强ISA(EISA)总线、视频电子标准协会(VESA)局部总线和外围部件互连(PCI)总线(也称为夹层(Mezzanine)总线)。
计算机110通常包括各种计算机可读介质。计算机可读介质可以是能由计算机110访问的任何可用介质,而且包含易失性和非易失性介质以及可移动和不可移动介质。作为示例而非限制,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括易失性和非易失性、可移动和不可移动介质,它们以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据这样的信息的任意方法或技术来实现。计算机存储介质包括,但不限于,RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、磁带盒、磁带、磁盘存储或其它磁性存储设备、或能用于存储所需信息且可以由计算机110访问的任何其它介质。通信介质通常以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,且包含任何信息传递介质。术语“已调制数据信号”是指以在该信号中编码信息的方式来设置或改变其一个或多个特性的信号。作为示例而非限制,通信介质包括有线介质,诸如有线网络或直接线连接,以及无线介质,诸如声学、RF、红外线和其它无线介质。上述中的任意组合也应包括在计算机可读介质的范围之内。
系统存储器130包括形式为易失性和/或非易失性存储器的计算机存储介质,诸如只读存储器(ROM)131和随机存取存储器(RAM)132。基本输入/输出系统133(BIOS)包含有助于诸如启动时在计算机110中的元件之间传递信息的基本例程,它通常存储在ROM 131中。RAM 132通常包含处理单元120可以立即访问和/或目前正在操作的数据和/或程序模块。作为示例而非局限,图1示出了操作系统134、应用程序135、其它程序模块136和程序数据137。
计算机110也可以包括其它可移动/不可移动、易失性/非易失性计算机存储介质。仅作为示例,图1示出了从不可移动、非易失性磁介质中读取或向其写入的硬盘驱动器141,从可移动、非易失性磁盘152中读取或向其写入的磁盘驱动器151,以及从诸如CD-RW、DVD-RW或其它光学介质等可移动、非易失性光盘156中读取或向其写入的光盘驱动器155。可以在示例性操作环境中使用的其它可移动/不可移动、易失性/非易失性计算机存储介质包括,但不限于,盒式磁带、闪存卡、数字多功能盘、数字录像带、固态RAM、固态ROM等。硬盘驱动器141通常由不可移动存储器接口,诸如接口140连接至系统总线121,磁盘驱动器151和光盘驱动器155通常由可移动存储器接口,诸如接口150连接至系统总线121。
以上描述并在图1中说明的驱动器及其相关联的计算机存储介质为计算机110提供了对计算机可读指令、数据结构、程序模块和其它数据的存储。例如在图1中,硬盘驱动器141被示为存储操作系统144、应用程序145、其它程序模块146和程序数据147。注意,这些组件可以与操作系统134、应用程序135、其它程序模块136和程序数据137相同或不同。操作系统144、应用程序145、其它程序模块146和程序数据147在这里被标注了不同的标号是为了说明至少它们是不同的副本。用户可通过诸如键盘162和定点设备161(诸如鼠标、跟踪球或触摸垫)等输入设备向计算机110输入命令和信息。其它输入设备(未示出)可以包括操纵杆、游戏垫、圆盘式卫星天线、扫描仪等。这些和其它输入设备通常由耦合至系统总线121的用户输入接口160连接至处理单元120,但也可以由其它接口或总线结构,诸如并行端口、游戏端口或通用串行总线(USB)连接。图形接口182也可以连接到系统总线121。一个或多个图形处理单元(GPU)184可以与图形接口182通信。监视器191或其它类型的显示设备也经由接口,诸如视频接口190连接至系统总线121,后者可以进而与视频存储器186通信。此外,计算机也可以包括其它外围输出设备,诸如扬声器197和打印机196,它们可以通过输出外围接口195等连接。
计算机110可使用至一个或多个远程计算机,诸如远程计算机180的逻辑连接在网络化或分布式环境中操作。远程计算机180可以是个人计算机、服务器、路由器、网络PC、对等设备或其它常见网络节点,且通常包括上文相对于计算机110描述的许多或所有元件,尽管在图1中只示出存储器存储设备181。图1中所示的逻辑连接包括局域网(LAN)171和广域网(WAN)173,但也可以包括其它网络/总线。这样的网络环境常见于办公室、企业范围计算机网络、内联网和因特网。
当在LAN网络环境中使用时,计算机110通过网络接口或适配器170连接至局域网171。当在WAN网络环境中使用时,计算机110通常包括调制解调器172,或用于通过WAN 173,如因特网建立通信的其它装置。调制解调器172可以是内置或外置的,它可以通过用户输入接口160或其它合适的机制连接至系统总线121。在网络化环境中,相对于计算机110所描述的程序模块或其部分可以存储在远程存储器存储设备中。作为示例而非局限,图1示出远程应用程序185驻留在存储器设备181上。可以理解所示的这些网络连接起示例性的作用,也可以使用在计算机之间建立通信链路的其他手段。
从图2可以理解,如上所述也称为客户端、客户计算机或用户的多个计算系统200、210和220可能期望在诸如电子表格文件230等公共文件上实时地协作。这种客户端包括例如“胖”客户端电子表格应用程序或瘦客户端电子表格应用程序。计算系统200、210和220上的电子表格应用程序可以采用“协作”编辑模式,其中每个用户或客户端可以看到由在此时正在编辑文件230的任何其他用户或客户端做出的改变。如所示的,这可以经由诸如服务器等包含要保存的电子表格文件230的版本的单独的主机240来完成。然而,可以理解,任一客户计算机可以被用作用于协作的主机,只要它有该能力并且其他客户端计算机被适当地连网到其上。该协作模式由此不同于普通的电子表格操作,其中客户端以排他访问打开电子表格文件并且所有改变被直接推入到文件中,而当这发生时没有其他的客户端正在编辑该文件。
在典型的协作安排中,每个客户计算机会经由计算机可执行指令将消息或数据更新传递(如箭头250所示)给主机240。可以理解,由客户端做出的每次编辑或改变被包装成客户端的修订记录,其具有指示改变是什么、在何处发生、谁做出改变等的细节。主机240优选地包括随其一起包括的、在此处被称为修订管理器的模块310,其从客户端接收更新并处理这种改变或传入数据。来自客户端的修订记录被发送给修订管理器模块310,在那里这些记录被接收和处理。在完成对电子表格文件230的这种处理和更新后,并且通过由个别客户计算机请求或轮询主机240(由箭头265表示),修订管理器模块310经由计算机可执行指令将更新发送给(如箭头270所示)客户计算机。以此方式,使用包括协作期间接收到的、来自客户计算机的更新的电子表格文件230的当前版本,来更新做出请求的客户计算机的电子表格文件230的状态。可以理解,由主机240对电子表格文件230做出的改变优选地在几毫秒之内对客户计算机可用。主机240也可能自动地将更新推到客户计算机。修订管理器模块310识别协作中哪个客户端做出更新请求,记录该客户端看到的最近的更新,并且发送关于自从该时间开始的所有更新的修订记录。客户端接着应用该修订记录并且目前是最新的,具有所有客户端做出的所有更新。
一般而言,可以由修订管理器模块310以接收修订记录的顺序来处理它们。然而,如果两个客户端同时或近乎同时发送涉及电子表格文件内相同单元格或对象的修订记录或在处理期间记录重叠,那么可能在改变之间有冲突。如果第二客户端在记录发源期间不是最新的或者如果修订管理器模块310在接收第二客户端的记录之前接收了任何其他的更新,这样必须考虑到第二客户端提交记录(不必是马上)的时间、传送时间、和发送/接收开销,那么修订记录也会过时的。可以理解,一些修订可以被分解和合并(此处称为“可变换”改变),而其他修订不能被合并(此处称为“不可变换”改变)。
如何合并两个冲突的改变的一个示例在图3-5中示出。如图3中所示,与修订管理器模块310一起提供第一客户端的电子表格的局部视图300和第二客户端的电子表格的局部视图305。可以注意到在该协作点处电子表格的视图300和305是相同的,其中值5和6分别位于单元格A1和A2处。在图4中,可以看出第一客户端将涉及单元格A2内的值的公式(即A2+2)添加到电子表格300的单元格B2中。同时或近乎同时,第二客户端在电子表格305中在单元格A2上插入一行。这些改变的每一个被发送到必须协调冲突的修订管理器310,如箭头315和320所示。为此,修订管理模块310处理两个更新,并且在图5中做出适当的变换。相应地,修订管理器模块310将它需要在电子表格300中的行1和2之间插入行的消息325发送给第一客户端(用户A),第一客户端处理单元格B1内的公式更新(即A3+2)。同时,修订管理器模块310将它需要将新的公式插入到电子表格305内的单元格B1的消息330发送给第二客户端(用户B),其中所添加的公式被调整为考虑所插入的行。由此,通过做出对应于更新315和320的适当的变换,电子表格300和305反映来自每个客户机的预期的改变并且是相同的。
可以理解,修订管理器模块310将不能合并由客户计算机发送到它的每个冲突更新。这至少部分地阻止了由一个客户端提供的更新可能对由另一客户端提供的另一更新具有指数量的分支。此外,需要如何将电子表格的一个特征或在该处的操作中的改变与另一特征或操作中的改变进行合并的详细的知识量。该知识可能在运行时不可用。
因此,一种方法是在可变换修订和不可变换修订之间进行区分,并接着将对电子表格应用程序的所有可能的编辑分类为这两种类型之一。如此处所述,可变换记录是修订管理器模块310知道如何合并到一起的那些修订记录。所有其他修订记录被认为是不可变换的,修订管理器模块310将其识别为不可能有将这种修订记录与等待被应用的其他记录合并的方式。在该实例中,修订管理器模块310首先确定所有客户端接收到了所有其他先前的更新,使得所有的客户端当前处于相同的状态。这可以通过使每个客户端如同它通常做的那样轮询修订管理器以获取更新,并且客户端接收指示修订管理器将要执行不可变换操作并阻止用户做出任何进一步的编辑的消息而发生。换言之,为了确保所有客户端接收到了所有其他先前的更新,可以阻止每个客户端做出新更新,使得修订管理器可以继而应用不可变换操作。在协作的所有客户端同步之后,接着修订管理器模块310应用不可变换记录并且相应地更新所有客户端。
为了更好地理解发生的过程,所发生的步骤在图6的流程图中示出。如其中所示,修订管理器模块310本质上控制电子表格文件230上的锁,并且由此操作以便在客户端和主机240之间建立连接(由框600示出)。虽然对电子表格文件230的改变或更新可以经由任何数目的客户端传送给主机240,但是可以看出反映了第一和第二客户端将更新发送给修订管理器模块310(分别是框605和610)。当修订管理器模块310从第一和第二客户端接收更新时,它确定对电子表格文件230的两个更新都是可变换的(判定框615)。
如果认为两个更新都是可变换的(即其修订记录被识别为能够被合并),那么修订管理器模块310将更新组合到电子表格文件(框620)中并接着将这些更新应用于电子表格文件230(框650)。如果两个更新都被认为是不可变换的,那么修订管理器模块310首先确认所有客户端接收到了所有先前对电子表格文件230的更新(框630),并接着将不可变换更新应用于电子表格文件230(框635)。
在任一情况下,可以理解每个客户端优选地必须轮询修订管理器模块310以获取对电子表格文件230的更新(框640),之后修订管理器模块310会提供所有轮询客户计算机先前未接收到的、对电子表格文件230的更新(框645)。客户端接着应用由修订管理器模块310提供的修订记录(框650),以显示电子表格文件230的当前版本。
应该理解,客户端可以包括应用从修订管理器/服务器接收到的记录的附加的客户端侧合并逻辑。没有该附加的客户端侧合并逻辑,可能会要求富客户端在整个轮询和更新过程期间阻塞以防止用户发起任何改变直至应用了最近的更新。富客户端可以包括要做出响应的修订管理器合并引擎的版本。也应该理解实时同步可能不是完全可变换解决方案的必要条件。虽然连续的同步可以提供更好的用户体验,但是完全可变换解决方案的价值的一部分是它可以临时离线以提供更好的远程可用性并且提供对于网络问题的健壮性。此外,应该理解,在冲突的情况下,除了客户端还未看到的修订记录之外,修订服务器可以将所变换的修订记录发送回客户端,以便考虑到那些相同的修订记录和客户端当前正在发出的新的修订记录之间的冲突。
尽管已经用结构特征和/或方法专用的语言描述了本主题,但是应该理解在所附权利要求中定义的主题不必限于上述具体特征或方法。相反,上述具体特征和方法是作为实现权利要求的示例性形式公开的。

Claims (20)

1.一种其上存储有用于执行一过程的计算机可执行指令的计算机可读介质,所述过程包括:
从第一电子表格客户端(200)接收对电子表格文件(230)的第一更新;
从第二电子表格客户端(210)接收对电子表格文件(230)的第二更新;
确定所述第一更新和第二更新是否可变换,使得两个更新都可以被组合和应用到所述电子表格文件(230);
如果所述第一更新和第二更新是可变换的,则组合所述第一更新和第二更新并将它们应用于所述电子表格文件(230),并且计算相互的更新以发送回所述第一和第二电子表格客户端;并且
如果所述第一更新和第二更新中的至少一个是不可变换的,则依照用于不可变换改变的策略来处理该更新。
2.如权利要求1所述的计算机可读介质,其特征在于,所述第一和第二电子表格客户端(210)都是富客户端。
3.如权利要求1所述的计算机可读介质,其特征在于,所述第一电子表格客户端(200)是富客户端,而所述第二电子表格客户端(210)是浏览器客户端。
4.如权利要求1所述的计算机可读介质,其特征在于,所述过程在实时协作环境中执行。
5.如权利要求1所述的计算机可读介质,其特征在于,所述策略包括:
确认所有的电子表格客户端都接收到了所有先前的更新;以及
将所述不可变换更新应用于所述电子表格文件(230)。
6.如权利要求1所述的计算机可读介质,其特征在于,所述第一和第二更新是近乎同时接收到的。
7.如权利要求1所述的计算机可读介质,其特征在于,所述过程还包括:
从电子表格客户端接收对于对所述电子表格文件(230)的更新的请求;以及
发送包括所述电子表格客户端先前未接收到的对于所述电子表格文件(230)的所有更新的修订记录。
8.一种用于电子文件协作的方法,包括以下步骤:
从第一电子表格客户端(200)接收对电子表格文件(230)的第一改变从第二电子表格客户端(210)接收对所述电子表格文件(230)的第二改变;
确定所述第一改变和第二改变是否可变换,使得两个改变都可以被组合和应用到所述电子表格文件(230);
如果所述第一改变和第二改变是可变换的,则组合所述第一改变和第二改变并将它们应用于所述电子表格文件(230),并且计算相互的更新以发送回所述第一和第二电子表格客户端;并且
如果所述第一改变和第二改变是不可变换的,则依照用于不可变换改变的策略来处理该改变。
9.如权利要求8所述的方法,其特征在于,所述第一和第二电子表格客户端(210)都是富客户端。
10.如权利要求8所述的方法,其特征在于,所述第一电子表格客户端(200)是富客户端,而所述第二电子表格客户端(210)是浏览器客户端。
11.如权利要求8所述的方法,其特征在于,所述方法在实时协作环境中执行。
12.如权利要求8所述的方法,其特征在于,还包括以下步骤:
确认所有的电子表格客户端都接收到了所有先前的更新;以及
将所述不可变换更新应用于所述电子表格文件(230)。
13.如权利要求8所述的方法,其特征在于,所述第一和第二更新是近乎同时接收到的。
14.如权利要求8所述的方法,其特征在于,还包括以下步骤:
从电子表格客户端接收对于对所述电子表格文件(230)的更新的请求;以及
发送包括所述电子表格客户端先前未接收到的、对于所述电子表格文件(230)的所有更新的修订记录。
15.一种用于电子表格协作的系统,包括:
用于执行计算机可执行指令的处理器;以及
其上存储有用于执行一过程的计算机可执行指令的存储器,所述过程包括:
从第一电子表格客户端(200)接收对电子表格文件(230)的第一改变;
从第二电子表格客户端(210)接收对所述电子表格文件(230)的第二改变;
确定所述第一更新和第二更新是否可变换,使得两个改变都可以被组合和应用到所述电子表格文件(30);
如果所述第一改变和第二改变是可变换的,则组合所述第一改变和第二改变并将它们应用于所述电子表格文件(230);并且
如果所述第一改变和第二改变是不可变换的,则依照用于不可变换改变的策略来处理该改变。
16.如权利要求15所述的系统,其特征在于,所述过程是由修订管理器执行的。
17.如权利要求15所述的系统,其特征在于,所述第一客户端是富客户端,而第二客户端是浏览器客户端。
18.如权利要求15所述的系统,其特征在于,所述过程在实时协作环境中执行。
19.如权利要求15所述的系统,其特征在于,所述策略包括:
确认所有的电子表格客户端都接收到了所有先前的更新;以及
将所述不可变换更新应用于所述电子表格文件(230)。
20.如权利要求1所述的计算机可读介质,其特征在于,其中所述第一和第二更新是同时接收到的。
CN200880114012A 2007-10-26 2008-10-23 富客户端和浏览器客户端之间的电子表格协作 Pending CN101842802A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/925,019 US7756824B2 (en) 2007-10-26 2007-10-26 Spreadsheet collaboration between rich and browser clients
US11/925,019 2007-10-26
PCT/US2008/080887 WO2009055531A2 (en) 2007-10-26 2008-10-23 Spreadsheet collaboration between rich and browser clients

Publications (1)

Publication Number Publication Date
CN101842802A true CN101842802A (zh) 2010-09-22

Family

ID=40580375

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200880114012A Pending CN101842802A (zh) 2007-10-26 2008-10-23 富客户端和浏览器客户端之间的电子表格协作

Country Status (6)

Country Link
US (1) US7756824B2 (zh)
EP (1) EP2220609B1 (zh)
JP (1) JP5426561B2 (zh)
KR (1) KR101566566B1 (zh)
CN (1) CN101842802A (zh)
WO (1) WO2009055531A2 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106663088A (zh) * 2014-12-04 2017-05-10 谷歌公司 协作电子表格中的有效拷贝粘贴
CN112784558A (zh) * 2020-02-21 2021-05-11 珠海金山办公软件有限公司 电子表格应用方法、装置、服务器、客户端及通信系统

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2420418C (en) * 2000-08-29 2013-01-29 Eloquent Tool for collaborative edit/search of dynamic objects
US7707249B2 (en) * 2004-09-03 2010-04-27 Open Text Corporation Systems and methods for collaboration
US7702730B2 (en) 2004-09-03 2010-04-20 Open Text Corporation Systems and methods for collaboration
US8140958B2 (en) * 2007-01-30 2012-03-20 International Business Machines Corporation Cyclical and synchronized multi-source spreadsheet imports and exports
US8464206B2 (en) * 2007-10-22 2013-06-11 Open Text S.A. Method and system for managing enterprise content
US20090300474A1 (en) * 2008-05-29 2009-12-03 Centralytics, Inc. Computer-based architecture using remotely-controlled electronic grid-based calculators
US8700776B2 (en) 2009-03-23 2014-04-15 Google Inc. System and method for editing a conversation in a hosted conversation system
US9021386B1 (en) 2009-05-28 2015-04-28 Google Inc. Enhanced user interface scrolling system
US8527602B1 (en) 2009-05-28 2013-09-03 Google Inc. Content upload system with preview and user demand based upload prioritization
US9602444B2 (en) 2009-05-28 2017-03-21 Google Inc. Participant suggestion system
US8510399B1 (en) 2010-05-18 2013-08-13 Google Inc. Automated participants for hosted conversations
US9652440B2 (en) * 2010-05-27 2017-05-16 Microsoft Technology Licensing, Llc Concurrent utilization of a document by multiple threads
US9026935B1 (en) 2010-05-28 2015-05-05 Google Inc. Application user interface with an interactive overlay
US9380011B2 (en) 2010-05-28 2016-06-28 Google Inc. Participant-specific markup
US9031957B2 (en) 2010-10-08 2015-05-12 Salesforce.Com, Inc. Structured data in a business networking feed
US9721030B2 (en) * 2010-12-09 2017-08-01 Microsoft Technology Licensing, Llc Codeless sharing of spreadsheet objects
US9898454B2 (en) * 2010-12-14 2018-02-20 Microsoft Technology Licensing, Llc Using text messages to interact with spreadsheets
US9811516B2 (en) 2010-12-14 2017-11-07 Microsoft Technology Licensing, Llc Location aware spreadsheet actions
US8700986B1 (en) 2011-03-18 2014-04-15 Google Inc. System and method for displaying a document containing footnotes
US9129234B2 (en) 2011-01-24 2015-09-08 Microsoft Technology Licensing, Llc Representation of people in a spreadsheet
US8510266B1 (en) * 2011-03-03 2013-08-13 Google Inc. System and method for providing online data management services
US8583614B1 (en) * 2012-01-30 2013-11-12 Lucid Software, Inc. Automatic offline synchronization of browser documents
US9099031B2 (en) * 2012-06-15 2015-08-04 Apple Inc. Layout synchronization
WO2014027998A1 (en) 2012-08-14 2014-02-20 Empire Technology Development Llc Updating a currently utilized device
US8983901B1 (en) * 2013-02-05 2015-03-17 Google Inc. System and method for rectangular region covering
US9460073B2 (en) 2013-02-27 2016-10-04 Google Inc. Systems and methods for mutations and operational transforms in a collaborative spreadsheet environment
US8856234B2 (en) 2013-02-28 2014-10-07 Workiva Llc System and method for performing distributed asynchronous calculations in a networked environment
US10067927B2 (en) * 2013-06-14 2018-09-04 Microsoft Technology Licensing, Llc Updates to shared electronic documents in collaborative environments
US10133720B2 (en) 2013-06-15 2018-11-20 Microsoft Technology Licensing, Llc Showing presence of multiple authors in a spreadsheet
US9569418B2 (en) * 2014-06-27 2017-02-14 International Busines Machines Corporation Stream-enabled spreadsheet as a circuit
US11783120B2 (en) * 2015-08-26 2023-10-10 Roar Software Pty Ltd. System and process for generating an internet application
US10884571B2 (en) 2018-01-11 2021-01-05 Microsoft Technology Licensing, Llc Dependency-based presence for co-authored documents
KR102076550B1 (ko) * 2018-06-22 2020-02-12 주식회사 한글과컴퓨터 스프레드시트 편집 장치 및 방법

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5671428A (en) * 1991-08-28 1997-09-23 Kabushiki Kaisha Toshiba Collaborative document processing system with version and comment management
US6067551A (en) * 1997-11-14 2000-05-23 Microsoft Corporation Computer implemented method for simultaneous multi-user editing of a document
US6558431B1 (en) * 1998-09-11 2003-05-06 Macromedia, Inc. Storing valid and invalid markup language in strict and relaxed tables respectively
US6754677B1 (en) * 2000-05-30 2004-06-22 Outlooksoft Corporation Method and system for facilitating information exchange
WO2002017115A2 (en) * 2000-08-21 2002-02-28 Thoughtslinger Corporation Simultaneous multi-user document editing system
US6988241B1 (en) * 2000-10-16 2006-01-17 International Business Machines Corporation Client side, web-based spreadsheet
US6898760B2 (en) 2001-01-05 2005-05-24 Microsoft Corporation Reporting status of external references in a spreadsheet without updating
US7818678B2 (en) 2002-10-31 2010-10-19 Litera Technology Llc Collaborative document development and review system
US8719325B2 (en) * 2003-02-28 2014-05-06 Microsoft Corporation Method to initiate server based collaboration on e-mail attachments
US7233951B1 (en) 2004-02-18 2007-06-19 Microsoft Corporation Spreadsheet grid-like control for a web-based collaboration system
US20050216522A1 (en) * 2004-03-23 2005-09-29 Integrated Data Corporation Multi-tier document management system
US7213199B2 (en) * 2004-07-16 2007-05-01 Cognos Incorporated Spreadsheet user-interface for an enterprise planning system having multi-dimensional data store
US20060026502A1 (en) * 2004-07-28 2006-02-02 Koushik Dutta Document collaboration system
DE102005048693B4 (de) * 2005-10-11 2009-07-09 Assa Abloy Sicherheitstechnik Gmbh Türöffneranordnung sowie Adapterstück zur Verwendung in einer Türöffneranordnung
CN1979466A (zh) 2005-11-29 2007-06-13 国际商业机器公司 允许多个用户同时编辑一个共享的电子文档的方法及装置
US8307119B2 (en) * 2006-03-31 2012-11-06 Google Inc. Collaborative online spreadsheet application

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106663088A (zh) * 2014-12-04 2017-05-10 谷歌公司 协作电子表格中的有效拷贝粘贴
CN106663088B (zh) * 2014-12-04 2021-05-07 谷歌有限责任公司 编辑托管在服务器上的协作电子表格的方法、系统及介质
CN112784558A (zh) * 2020-02-21 2021-05-11 珠海金山办公软件有限公司 电子表格应用方法、装置、服务器、客户端及通信系统

Also Published As

Publication number Publication date
EP2220609A4 (en) 2017-12-13
US7756824B2 (en) 2010-07-13
EP2220609B1 (en) 2018-07-11
KR20100070359A (ko) 2010-06-25
WO2009055531A2 (en) 2009-04-30
EP2220609A2 (en) 2010-08-25
JP5426561B2 (ja) 2014-02-26
WO2009055531A3 (en) 2009-07-02
JP2011501324A (ja) 2011-01-06
US20090112937A1 (en) 2009-04-30
KR101566566B1 (ko) 2015-11-05

Similar Documents

Publication Publication Date Title
CN101842802A (zh) 富客户端和浏览器客户端之间的电子表格协作
JP5349484B2 (ja) リアルタイムコラボレーションの間のデータ及びローカル計算のプライベートビュー
CN100555279C (zh) 不用快照的项同步系统和方法
CN100377099C (zh) 为复制文件管理多个文件状态的方法
CN102770854B (zh) 自动同步冲突解决
US7818679B2 (en) Method, system, and apparatus for enabling near real time collaboration on an electronic document through a plurality of computer systems
CN101568919B (zh) 具有分布式存储的联网计算机系统中的单个数据视图
CN104871133A (zh) 基于服务器健康以及客户端信息的应用智能请求管理
CN101809565B (zh) 电子表格工作簿部分库
CN105474209A (zh) 管理对共享文档的改动
JP2000511674A (ja) 企業間プロセスを作成し、実行し、保守するためのシステム及び方法
CN102238227A (zh) 服务器装置及终端装置
US20030140058A1 (en) Method and apparatus for sharing information between applications using common objects
CN102142014A (zh) 导入和导出位于元数据注册系统中的元数据的系统和方法
US20080086502A1 (en) Dynamic configuration of multiple sources and source types in a business process
CN100363890C (zh) 远程计算机文件同步更新系统及方法
JP2001175681A (ja) データベースシステム、データベースのレプリカ生成方法およびデータベースのレプリカ生成プログラムを記録したコンピュータ読み取り可能な記録媒体
CN105531977A (zh) 用于同步和远程数据访问的移动设备连接控制
CN101266617A (zh) 用于存储平台中的锁定和隔离的系统和方法
JPH1021061A (ja) クライアントソフトウェア自動バージョンアップシステム
JP2011519441A (ja) 切断データ/オフラインデータの処理/入力の同期化
CN1963813B (zh) 确定由一组装置存储其相关数据的目的地的方法和设备
JP2006079469A (ja) サポート情報処理システム及びサポート情報処理方法
US6415301B1 (en) Integrated retrieval system, integrated retrieval method and media recorded with integrated retrieval program in distributed file system
EP4328835A1 (en) Control method, control program, and information processing device

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150728

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150728

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20100922