CN101836198B - 实时协作期间数据的专用视图和本地计算 - Google Patents
实时协作期间数据的专用视图和本地计算 Download PDFInfo
- Publication number
- CN101836198B CN101836198B CN2008801133677A CN200880113367A CN101836198B CN 101836198 B CN101836198 B CN 101836198B CN 2008801133677 A CN2008801133677 A CN 2008801133677A CN 200880113367 A CN200880113367 A CN 200880113367A CN 101836198 B CN101836198 B CN 101836198B
- Authority
- CN
- China
- Prior art keywords
- client computer
- electronic form
- form file
- calculating
- locally
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/10—Office automation; Time management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/178—Techniques for file synchronisation in file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/954—Navigation, e.g. using categorised browsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/177—Editing, e.g. inserting or deleting of tables; using ruled lines
- G06F40/18—Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/197—Version control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/101—Collaborative creation, e.g. joint development of products or services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Tourism & Hospitality (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Economics (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Artificial Intelligence (AREA)
- General Business, Economics & Management (AREA)
- Databases & Information Systems (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Information Transfer Between Computers (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本文公开了用于在多个用户或客户机对电子表格文件进行实时协作期间执行进程的技术,该进程可以允许计算由至少一个客户机本地执行。通过这样做,实现了性能的提高,因为仅需将数据更新提供给主机。由此,优选地做出本地执行的计算是否会产生不同的数据的判定。如果冲突的数据是可能的,则对于该电子表格文件的计算通常会由主机远程地执行。如果为否,则能够这么做的每个客户机会本地地执行计算并且接着仅将该经更新的数据提供给该主机。是否本地地执行计算的判定也可以动态地做出,诸如当一个或多个新的公式被添加到该电子表格文件中时。
Description
背景
与一些电子表格应用程序相关的新的特征是多个用户实时地同时对单个电子表格文件进行协作的能力。这是其中每个用户可以即时(或几乎即时)看到由编辑文件的其它用户做出的改变的编辑模式。例如,当第一用户对电子表格单元格做出改变时,所有其它用户可以在几毫秒之后更新他们的电子表格视图,以使所有的改变看起来随着它们的发生而显现。通常有其它的特征伴随这种类型的协作,诸如实时聊天和用户在场信息。如果实现得好,则该特征可以真实地创建用户同时对同一电子表格工作、共享数据和同时编辑数据的表现。
与实时协作相关联的一个问题是,在多数情形下,每个协作用户希望看到电子表格文件中相同的数据。这是清楚的用户期望,并且如果用户在他们做出改变之后没有看到相同的数据,则他们会有数据是不正确的或者他们的改变不能被适当地接收的感觉。用户可能也会变得对有关谁拥有‘正确的’数据不确定。由于该用户期望是用户体验的核心,因此常规实时协作环境中的计算是在诸如服务器的中心位置执行的,并且接着分别向每个客户机广播。这是因为在不同时间做出的不同计算会使得数据在许多情况下是不同的。由此,每次用户做出改变时就广播改变,并且重新计算并重新广播电子表格文件以使可以更新电子表格文件的每个客户机版本。这样做耗费时间并且对于具有更为复杂计算的电子表格而言尤其地慢。
与实时协作相关联的另一问题是协作用户常常会希望看到他们自己独特的数据视图。例如,当用户将数据输入到单个大表格中时,每个用户可以具有仅该个别用户关心查看的条目。每个个别的用户可能希望以独特的方式过滤表格,以使得仅示出该个别用户负责的条目。问题是每个用户通常具有不同的过滤器要应用到同一表格上,但是由于每个用户同时编辑同一表格,因此他们都看到彼此的改变。这在传统上使得在实时协作环境中操纵和分析数据即使不是不可能的也是非常困难的。
发明内容
本文公开了用于在多个用户或客户机对电子表格文件进行实时协作期间执行可以允许至少一个客户机本地地执行计算的进程的技术。通过这样做,由于仅需将数据更新提供给主机,因此实现了性能的提高。由此,优选地判定本地执行的计算是否会产生不同的数据。如果冲突数据是可能发生的,则对于电子表格文件的计算通常会由主机远程地执行。如果为否,则能够这么做的每个客户机会本地地执行计算,并接着仅将经更新的数据提供给主机。是否本地地执行计算的判定也可以动态地做出,诸如当协作客户机之一将一个或多个新的公式添加到电子表格文件中时。
本文还公开了关于由对电子表格文件进行协作的客户机提供电子表格文件的期望视图的技术。可以依照每个客户机选择的数据来向该客户机显示专用视图,而非显示包括电子表格文件的所有细节的典型的共享视图。这可以由例如使用排序、过滤或其它工具产生。相应地,可以仅在客户计算机和主机之间同步某些指定的操作,但是会提供所有的数据以使数据可被进一步发送给其他客户计算机。为了在协作之后使客户计算机的期望或专用视图可用,可以在主机的电子表格文件中保留每个这种视图。
提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的一些概念。该概述不旨在标识所要求保护的主题的关键特征或本质特征,也不旨在用于帮助确定所要求保护的主题的范围。
附图简述
在参考附图阅读以下详细描述之后,将更好地理解各说明性实施例,其中:
图1是示例性计算设备的框图。
图2是描述对电子表格文件进行协作的多个客户计算机的系统图示,其中一个客户计算机本地地执行计算。
图3是用于为对电子表格文件进行协作的多个客户计算机在电子表格文件中执行计算的进程的流程图。
图4是用于为对电子表格文件进行协作的客户计算机提供电子表格文件的视图的进程的流程图。
详细描述
此处用细节来描述本发明的主题以满足法定的要求。然而,描述本身并非旨在限制本专利的范围。相反,设想所要求保护的主题还可结合其它当前或未来技术按照其它方式来具体化,以包括不同的步骤或类似于本文中所描述的步骤的步骤组合。
图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输入命令和信息。其它输入设备(未示出)可以包括操纵杆、游戏垫、圆盘式卫星天线、扫描仪等。这些和其它输入设备通常由耦合至系统总线的用户输入接口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和220可能期望对诸如电子表格文件210的公共文件实时地进行协作。这是其中每个用户或客户机可以看到此时正在编辑文件的任何其他用户或客户机做出的改变的编辑模式。如图所示,这是经由诸如服务器230的单独主机来完成的,其包含将被保存的电子表格文件的版本。当然,任何一个客户计算机可以被用作协作用主机,只要它具有该能力并且客户计算机被适当地连网。
在典型的协作安排中,客户计算机(例如计算系统200)会经由计算机可执行指令将消息或数据更新传递给(如箭头240所示)主机230。主机230接着处理各种改变或从所有客户机接收到的传入数据(框250中所示),并且经由计算机可执行指令将这种更新发送给每个客户计算机(如如箭头260所示)。以此方式,电子表格文件210的状态对于所有的客户计算机在协作期间保持同步。可以理解由任一客户计算机对电子表格文件210做出的改变可以被很快地提供给其他客户计算机,以使所有的改变看起来随着它们的发生而显现。
优选的是至少在某些情况下计算由一个或多个客户计算机本地地执行(见框270),而非依赖主机230来集中地执行电子表格文件210中的所有计算然后重新将结果广播给个别的客户计算机。在图2的示例中,仅客户计算机220被描绘为执行这些本地计算,但是应该理解任何数目的其他客户计算机(例如客户计算机200)也可以执行这些本地计算。这些本地计算可以例如由本领域中公知的瘦客户机版本或通过使用其他逻辑(例如包含在本地网页中的逻辑)来完成。在这种本地计算由客户计算机220执行之后,接着仅将对数据的更新(见框280)发送给(如箭头290所示)主机230以供同步。可以理解在任何协作会话期间,一个或多个客户计算机可以对电子表格文件210本地地执行计算,并且一个或多个客户计算机可以依赖主机230来远程地执行这种计算。然而,通过本地地执行电子表格文件210所请求的计算,可以更快地完成数据更新,尤其是在涉及复杂计算时。
为了更好地理解在包括多个用户或客户机的协作会话期间如何优选地采用电子表格文件220的本地计算,在图3中描绘了所涉及的进程步骤。如此处所示,当多个客户机或用户打开存储在主机上的电子表格文件时(框300),实时协作开始。此后,主机确定如果由客户机本地地执行对电子表格文件的计算,则该计算是否可以返回不同的数据(框305)。更具体地,主机优选将电子表格文件内的所有公式与公知公式的预定列表作比较以生成不同的结果。计算结果之间的差异可能由不同的原因造成,包括在何时或在哪里做出计算。由于判定可能是根据如何评估函数的,因此每个电子表格的实现可独立地做出该判定。
如果计算由主机确定为总是返回相同的结果,则消息被发送给每个客户计算机以本地地执行计算(框310),并且客户计算机执行计算(框315)。可以理解,执行本地计算的每个客户计算机接着会在客户机上在电子表格文件内显示计算的结果(框320),并且将仅包括数据的相应更新发送给主机(框325)。结果,主机同步来自客户计算机的数据更新,并且将更新发送给所有这样的客户计算机(框330)。
即使判定如果由客户计算机本地地执行计算计算会返回不同的数据,优选仍然向每个用户或客户机提供是否本地地计算电子表格文件中的公式的选择或选项(框335)。例如,存在本地计算返回不同的结果是可接受的(例如当函数给出取决于客户计算机所处时间区的结果)情况。在这种情况下,计算可以由客户计算机本地地执行(框340),计算结果会由客户机计算机显示(框345),并且相应的数据更新会被提供给主机(框350)。
如果任一客户机不能本地地执行计算或者如果不同的结果被认为是不能接受的,则数据更新就被发送给主机(框355)并且对于电子表格文件的计算优选地由主机远程地执行(框360)。更新接着从主机发送给客户计算机(框330)。也有可能是否本地地计算电子表格文件内的公式的选择是由管理员策略预定的。
无论是否本地地执行对电子表格内的公式的计算,从反馈循环332中可以理解由主机同步并且被发送至所有客户机(框330)的数据更新优选地在协作期间是连续的。以此方式,客户计算机能够基于当前数据对电子表格文件做出改变并且对其执行计算。
为了允许动态地判定是否本地地执行电子表格文件中的计算,优选进程包括判定是否在协作期间已将任何新的公式添加到电子表格文件中的步骤(判定框365)。显然,如果客户计算机没有添加公式,则继续从主机向客户计算机发送更新(框330)。当在协作期间已添加了一个或多个新的公式时,可以理解创建了反馈循环370,其导致分析新的公式和做出如果本地地执行(框310)电子表格文件内的计算能否返回不同数据的新的判定。
本发明的另一方面涉及在协作期间在每个客户计算机上显示的电子表格文件的视图。当客户计算机显示其整体时,客户机或用户有时候更喜欢有其中仅在电子表格文件中显示特定对象的专用视图,而非被限于电子表格文件的共享视图。可以理解电子表格中所有的数据对于每个客户计算机是相同的,并且对任何数据做出的改变仍然由主机更新并且被发送给每个客户计算机。因为每个客户计算机能够应用仅应用于数据的客户机视图的分类和过滤,所以每个客户机能够具有他们自己的电子表格内数据的定制视图。这使得需要同时编辑或分析大表格的客户机能够具有与执行单次编辑时的体验相似的体验。当然,优选由一个客户计算机查看的改变不被广播到所有其他的客户机。
如图4中所示,当多个客户计算机打开电子表格文件时发起协作(框400)。可以理解(诸如例如由用户界面)提供允许客户机选择电子表格文件内的数据对象的专用视图或共享视图的选择或选项(框405)。该选项可以是全局性地用于整个电子表格的,或者它可以是按照每个电子表格对象的。如果客户机希望有专用视图,则可以由客户机生成数据的视图(框410),正如它在单用户编辑的情况下一样。
每当用户或客户机在协作中执行操作时,判定是否为电子表格文件将该操作与主机同步(框415)。由此,优选的是客户机应用程序包括知道要将哪些操作与主机同步而哪些不同步的逻辑。例如,可以判定不应该同步某些操作(即分类、过滤、PivotTable(旋转表格)操作等)。无论如何,优选由客户机在电子表格文件中添加或改变的任何数据总是与主机同步(框420)。
可以知道主机接着处理数据更新并且把他们发送给所有的客户计算机(框425)。由客户计算机从主机接收到的任何改变如同它们通常会在协作中那样地被应用。因此,数据中的任何改变,甚至是在专用视图中示出的数据接着会由协作中的每个其他客户计算机获得。同时,数据中的改变不会在专用视图的用户界面中示出,除非它在该视图中是可见的。由于在协作期间编辑进程的连续性质,优选提供反馈循环435以使接着在所选视图中显示来自主机的经更新数据。
当然,另一视图选择是以综合的方式显示电子表格文件的共享视图。如果不选择专用视图,则替代地生成共享视图(框430)。
一旦用户或客户计算机决定从协作退出,则优选在存储在主计算机中的电子表格文件中保留为这种客户计算机选择的视图(框440)。以此方式,当在稍后的时间打开电子表格文件时,客户计算机能够从中看到该视图。可任选地,可为每个客户计算机的视图将逻辑写入电子表格文件的格式中,其可以被表示为该文件格式的表格,该表格具有针对每个用户、对象和该对象的视图的条目。
示例性的情况会涉及使用例如电子表格应用程序的瘦客户机版本对电子表格中的大表格进行协作的第一用户和第二用户。表格可以包含例如有关每个国家的销售数据。第一用户或客户机可以应用过滤器以使得仅显示美国的销售,而第二用户可以采用过滤器以使得仅显示法国的销售。如果第二用户对表格内涉及法国销售的一行做出改变,则由于数据被改变了,该改变被发送给第一用户的计算机。然而,针对第一用户的视图不在屏幕上反应该改变,因为所有的法国销售当前被过滤到视图之外。然而,第一用户的电子表格中的其它地方被正确更新,诸如第一用户的电子表格中的总销售,其中第二用户做出的改变被考虑在内。此外,第二用户可以改变所应用的过滤器,以使来自法国和西班牙的销售都被查看。此改变可能不会被发送给主机并且不会被第一用户获取,因为它仅影响该视图。
尽管已经用结构特征和/或方法专用的语言描述了本主题,但是应该理解在所附权利要求中定义的主题不必限于上述具体特征或方法相反,上述具体特征和方法是作为实现权利要求的示例性形式公开的。
Claims (10)
1.一种在实时协作期间进行本地计算的方法,包括:
在第一客户机(200)上打开电子表格文件(210),所述电子表格文件(210)也在第二客户机(220)上打开,以使所述第一客户机(200)和所述第二客户机(220)两者对所述电子表格文件(210)进行协作;
确定在每个客户机本地地执行电子表格文件(210)内的计算的情况下所述计算是否能返回不同的结果;
如果是,则向所述第一客户机(200)提供是否本地地执行所述电子表格文件(210)内的计算的选择;
如果否,则:
向每个客户机发送消息以本地地执行计算;
在第一客户机(200)上对于所述电子表格文件(210)中的数据本地地执行至少一次计算;以及
在第一客户机(200)上的第一电子表格文件(210)内显示所述计算的结果。
2.如权利要求1所述的方法,其特征在于,还包括:
将所述电子表格文件(210)内的公式与公知公式的预定列表作比较以生成不同的结果。
3.如权利要求1所述的方法,其特征在于,本地地执行电子表格文件(210)内的计算的选择是由管理员策略预定的。
4.如权利要求1所述的方法,其特征在于,还包括:
动态地确定对于所述电子表格文件(210)中在所述协作期间添加的公式的计算在本地地执行的情况下是否可以返回不同的结果。
5.如权利要求1所述的方法,其特征在于,还包括:
接收对所述电子表格文件(210)中的数据的更新;以及
对于使用经更新数据的公式在所述电子表格文件(210)内本地地执行新的计算。
6.一种在实时协作期间进行本地计算的方法,包括:
在第一客户机(200)上打开电子表格文件(210),所述电子表格文件(210)也在第二客户机(220)上打开,以使所述第一客户机(200)和所述第二客户机(220)两者对所述电子表格文件(210)进行协作;
确定在每个客户机本地地执行电子表格文件(210)内的计算的情况下所述计算是否能返回不同的结果;
如果否,则向每个客户机发送消息以本地地执行计算;
如果是,则:
确定对于所述电子表格文件(210)内的数据的计算是应该在所述第一客户机(200)上本地地执行还是应该在所述第一客户机(200)之外的远程主机上执行;
如果所述计算应该被本地地执行,则在所述第一客户机(200)上本地地执行所述计算;以及
如果所述计算应该被远程地执行,则将数据发送给所述远程主机以供执行所述计算。
7.如权利要求6所述的方法,其特征在于,还包括:
将所述电子表格文件(210)内的公式与公知公式的预定列表作比较以生成不同的结果。
8.如权利要求6所述的方法,其特征在于,还包括:
向所述第一客户机(200)提供是否本地地执行所述电子表格文件(210)内的计算的选择。
9.如权利要求6所述的方法,其特征在于,还包括:
动态地确定对于所述电子表格文件(210)中在所述协作期间添加的公式的计算在本地地执行的情况下是否可以返回不同的结果。
10.如权利要求6所述的方法,其特征在于,还包括:
接收对所述电子表格文件(210)中的数据的更新;以及
对于使用经更新数据的公式在所述电子表格文件(210)内本地地执行新的计算。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/924,051 US8190987B2 (en) | 2007-10-25 | 2007-10-25 | Private views of data and local calculations during real time collaboration |
US11/924,051 | 2007-10-25 | ||
PCT/US2008/079668 WO2009055263A2 (en) | 2007-10-25 | 2008-10-11 | Private views of data and local calculations during real time collaboration |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101836198A CN101836198A (zh) | 2010-09-15 |
CN101836198B true CN101836198B (zh) | 2013-04-03 |
Family
ID=40580321
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008801133677A Active CN101836198B (zh) | 2007-10-25 | 2008-10-11 | 实时协作期间数据的专用视图和本地计算 |
Country Status (6)
Country | Link |
---|---|
US (2) | US8190987B2 (zh) |
EP (2) | EP3537313A1 (zh) |
JP (1) | JP5349484B2 (zh) |
KR (1) | KR101514103B1 (zh) |
CN (1) | CN101836198B (zh) |
WO (1) | WO2009055263A2 (zh) |
Families Citing this family (58)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080028302A1 (en) * | 2006-07-31 | 2008-01-31 | Steffen Meschkat | Method and apparatus for incrementally updating a web page |
US8190987B2 (en) | 2007-10-25 | 2012-05-29 | Microsoft Corporation | Private views of data and local calculations during real time collaboration |
US8006175B2 (en) * | 2007-10-29 | 2011-08-23 | Microsoft Corporation | Calculation of spreadsheet data |
US8943129B2 (en) * | 2008-01-28 | 2015-01-27 | Adobe Systems Incorporated | Document based conferencing |
US9613079B2 (en) * | 2008-03-14 | 2017-04-04 | Palo Alto Research Center Incorporated | System and method for providing a synchronized data rerepresentation |
US8520000B2 (en) | 2008-07-02 | 2013-08-27 | Icharts, Inc. | Creation, sharing and embedding of interactive charts |
US8271892B2 (en) * | 2008-07-02 | 2012-09-18 | Icharts, Inc. | Creation, sharing and embedding of interactive charts |
EP2558959A1 (en) | 2010-04-12 | 2013-02-20 | Google, Inc. | Collaborative cursors in a hosted word processor |
WO2011130307A1 (en) | 2010-04-12 | 2011-10-20 | Google Inc. | Real-time collaboration in a hosted word processor |
US9043706B2 (en) * | 2010-08-31 | 2015-05-26 | Anders Nancke-Krogh | System and method for using state replication between application instances to provide a collaborative desktop environment |
US8386501B2 (en) | 2010-10-20 | 2013-02-26 | Microsoft Corporation | Dynamically splitting multi-tenant databases |
US8799453B2 (en) | 2010-10-20 | 2014-08-05 | Microsoft Corporation | Managing networks and machines for an online service |
US8417737B2 (en) | 2010-10-20 | 2013-04-09 | Microsoft Corporation | Online database availability during upgrade |
US8850550B2 (en) | 2010-11-23 | 2014-09-30 | Microsoft Corporation | Using cached security tokens in an online service |
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 |
US9129234B2 (en) | 2011-01-24 | 2015-09-08 | Microsoft Technology Licensing, Llc | Representation of people in a spreadsheet |
US8996985B1 (en) | 2011-03-16 | 2015-03-31 | Google Inc. | Online document processing service for displaying comments |
US9336137B2 (en) | 2011-09-02 | 2016-05-10 | Google Inc. | System and method for performing data management in a collaborative development environment |
US8471871B1 (en) | 2011-10-17 | 2013-06-25 | Google Inc. | Authoritative text size measuring |
US10430388B1 (en) | 2011-10-17 | 2019-10-01 | Google Llc | Systems and methods for incremental loading of collaboratively generated presentations |
US8397153B1 (en) | 2011-10-17 | 2013-03-12 | Google Inc. | Systems and methods for rich presentation overlays |
US8266245B1 (en) | 2011-10-17 | 2012-09-11 | Google Inc. | Systems and methods for incremental loading of collaboratively generated presentations |
US8434002B1 (en) | 2011-10-17 | 2013-04-30 | Google Inc. | Systems and methods for collaborative editing of elements in a presentation document |
US8812946B1 (en) | 2011-10-17 | 2014-08-19 | Google Inc. | Systems and methods for rendering documents |
US20150199308A1 (en) | 2011-10-17 | 2015-07-16 | Google Inc. | Systems and methods for controlling the display of online documents |
US8738706B1 (en) | 2011-11-16 | 2014-05-27 | Google Inc. | Systems and methods for collaborative document editing |
US9367522B2 (en) | 2012-04-13 | 2016-06-14 | Google Inc. | Time-based presentation editing |
US9262420B1 (en) | 2012-04-23 | 2016-02-16 | Google Inc. | Third-party indexable text |
US9529785B2 (en) | 2012-11-27 | 2016-12-27 | Google Inc. | Detecting relationships between edits and acting on a subset of edits |
US10956667B2 (en) | 2013-01-07 | 2021-03-23 | Google Llc | Operational transformations proxy for thin clients |
US9462037B2 (en) | 2013-01-07 | 2016-10-04 | Google Inc. | Dynamically sizing chunks in a partially loaded spreadsheet model |
US9311622B2 (en) * | 2013-01-15 | 2016-04-12 | Google Inc. | Resolving mutations in a partially-loaded spreadsheet model |
US9461870B2 (en) | 2013-05-14 | 2016-10-04 | Google Inc. | Systems and methods for providing third-party application specific storage in a cloud-based storage system |
US9298688B1 (en) | 2013-05-22 | 2016-03-29 | Google Inc. | Non-collaborative filters in a collaborative document |
US8943142B1 (en) * | 2013-05-22 | 2015-01-27 | Google Inc. | Non-collaborative filters in a collaborative document |
US9361287B1 (en) | 2013-05-22 | 2016-06-07 | Google Inc. | Non-collaborative filters in a collaborative document |
DE202014010948U1 (de) * | 2013-05-22 | 2017-01-27 | Google Inc. | Nicht-kollaborative Filter in einem kollaborativen Dokument |
US9971752B2 (en) | 2013-08-19 | 2018-05-15 | Google Llc | Systems and methods for resolving privileged edits within suggested edits |
US9348803B2 (en) | 2013-10-22 | 2016-05-24 | Google Inc. | Systems and methods for providing just-in-time preview of suggestion resolutions |
US9542391B1 (en) | 2013-11-11 | 2017-01-10 | Amazon Technologies, Inc. | Processing service requests for non-transactional databases |
US10540404B1 (en) | 2014-02-07 | 2020-01-21 | Amazon Technologies, Inc. | Forming a document collection in a document management and collaboration system |
US10599753B1 (en) | 2013-11-11 | 2020-03-24 | Amazon Technologies, Inc. | Document version control in collaborative environment |
US11336648B2 (en) | 2013-11-11 | 2022-05-17 | Amazon Technologies, Inc. | Document management and collaboration system |
US9875226B1 (en) * | 2013-12-20 | 2018-01-23 | Google Llc | Performing server-side and client-side operations on spreadsheets |
US9292486B2 (en) | 2014-01-08 | 2016-03-22 | International Business Machines Corporation | Validation of formulas with external sources |
US10691877B1 (en) | 2014-02-07 | 2020-06-23 | Amazon Technologies, Inc. | Homogenous insertion of interactions into documents |
US9807073B1 (en) | 2014-09-29 | 2017-10-31 | Amazon Technologies, Inc. | Access to documents in a document management and collaboration system |
US9665654B2 (en) | 2015-04-30 | 2017-05-30 | Icharts, Inc. | Secure connections in an interactive analytic visualization infrastructure |
US11093703B2 (en) | 2016-09-29 | 2021-08-17 | Google Llc | Generating charts from data in a data table |
US10216494B2 (en) | 2016-12-03 | 2019-02-26 | Thomas STACHURA | Spreadsheet-based software application development |
US10725799B2 (en) | 2017-02-22 | 2020-07-28 | Microsoft Technology Licensing, Llc | Big data pipeline management within spreadsheet applications |
US11157690B2 (en) | 2017-02-22 | 2021-10-26 | Microsoft Technology Licensing, Llc | Techniques for asynchronous execution of computationally expensive local spreadsheet tasks |
CA3216654A1 (en) * | 2017-12-03 | 2019-06-06 | Thomas Stachura | Spreadsheet-based software application development |
CN109670159A (zh) * | 2018-12-28 | 2019-04-23 | 天津字节跳动科技有限公司 | 视图的创建及管理方法、装置、电子设备和存储介质 |
GB202002163D0 (en) | 2020-02-17 | 2020-04-01 | Microsoft Technology Licensing Llc | Spreadsheet with reuse functionality |
JP6846554B1 (ja) * | 2020-03-06 | 2021-03-24 | サイボウズ株式会社 | 表示制御システム、表示制御方法、及びプログラム |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6564246B1 (en) * | 1999-02-02 | 2003-05-13 | International Business Machines Corporation | Shared and independent views of shared workspace for real-time collaboration |
Family Cites Families (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5319777A (en) * | 1990-10-16 | 1994-06-07 | Sinper Corporation | System and method for storing and retrieving information from a multidimensional array |
US6157934A (en) * | 1995-10-24 | 2000-12-05 | Ultimus, L.L.C. | Method and apparatus for using distributed spreadsheets in a client/server architecture for workflow automation |
US6138130A (en) * | 1995-12-08 | 2000-10-24 | Inventure Technologies, Inc. | System and method for processing data in an electronic spreadsheet in accordance with a data type |
US6006239A (en) * | 1996-03-15 | 1999-12-21 | Microsoft Corporation | Method and system for allowing multiple users to simultaneously edit a spreadsheet |
US6233600B1 (en) * | 1997-07-15 | 2001-05-15 | Eroom Technology, Inc. | Method and system for providing a networked collaborative work environment |
US6342906B1 (en) | 1999-02-02 | 2002-01-29 | International Business Machines Corporation | Annotation layer for synchronous collaboration |
US6411967B1 (en) | 1999-06-18 | 2002-06-25 | Reliable Network Solutions | Distributed processing system with replicated management information base |
US6859821B1 (en) | 1999-07-19 | 2005-02-22 | Groove Networks, Inc. | Method and apparatus for prioritizing data change requests and maintaining data consistency in a distributed computer system equipped for activity-based collaboration |
US6341292B1 (en) * | 2000-05-30 | 2002-01-22 | Outlooksoft Corporation | Spreadsheet-based network information exchange with two-part cache |
WO2002005065A2 (en) | 2000-07-11 | 2002-01-17 | Juice Software, Inc. | A method and system for integrating network-based functionality into productivity applications and documents |
US6988241B1 (en) | 2000-10-16 | 2006-01-17 | International Business Machines Corporation | Client side, web-based spreadsheet |
EP1204048A1 (en) * | 2000-11-03 | 2002-05-08 | Sun Microsystems, Inc. | Method and apparatus for handling scenarios in spreadsheet documents |
US20030018719A1 (en) * | 2000-12-27 | 2003-01-23 | Ruths Derek Augustus Samuel | Data-centric collaborative computing platform |
US6832242B2 (en) * | 2000-12-28 | 2004-12-14 | Intel Corporation | System and method for automatically sharing information between handheld devices |
US7082569B2 (en) | 2001-01-17 | 2006-07-25 | Outlooksoft Corporation | Systems and methods providing dynamic spreadsheet functionality |
US20020188629A1 (en) | 2001-05-21 | 2002-12-12 | Burfoot Daniel C. | System, protocol, and methods for the creation of distributed spreadsheets |
US7047484B1 (en) | 2001-10-18 | 2006-05-16 | Microsoft Corporation | Method, system, and apparatus for providing access to asynchronous data in a spreadsheet application program |
US8010491B2 (en) | 2003-02-28 | 2011-08-30 | Microsoft Corporation | Method for managing multiple file states for replicated files |
US20040237045A1 (en) | 2003-05-21 | 2004-11-25 | Eintelligence, Inc. | Method for asynchronous sharing of integrated spreadsheets using a network |
US7640506B2 (en) * | 2003-06-27 | 2009-12-29 | Microsoft Corporation | Method and apparatus for viewing and managing collaboration data from within the context of a shared document |
FR2859552B1 (fr) | 2003-09-10 | 2006-03-31 | Granite Software | Procede et systeme de manipulation de donnees issues de bases de donnees multidimensionnelles a l'aide d'un tableur |
US7233951B1 (en) | 2004-02-18 | 2007-06-19 | Microsoft Corporation | Spreadsheet grid-like control for a web-based collaboration system |
US7213199B2 (en) | 2004-07-16 | 2007-05-01 | Cognos Incorporated | Spreadsheet user-interface for an enterprise planning system having multi-dimensional data store |
US9009582B2 (en) * | 2004-11-19 | 2015-04-14 | Google Inc. | Converting spreadsheet applications to web-based applications |
US7647551B2 (en) * | 2004-12-15 | 2010-01-12 | Microsoft Corporation | System and method for formatting a cell in response to data stored in a separate location |
US7693860B2 (en) * | 2005-03-18 | 2010-04-06 | Microsoft Corporation | Method and system to associate cell and item metadata |
US8275793B2 (en) * | 2005-04-29 | 2012-09-25 | Microsoft Corporation | Transaction transforms |
US8132148B2 (en) * | 2005-04-29 | 2012-03-06 | Microsoft Corporation | XML application framework |
US8046737B2 (en) * | 2005-04-29 | 2011-10-25 | Microsoft Corporation | XML application framework |
US7752536B2 (en) | 2005-09-09 | 2010-07-06 | Microsoft Corporation | Designating, setting and discovering parameters for spreadsheet documents |
US20070061699A1 (en) | 2005-09-09 | 2007-03-15 | Microsoft Corporation | Named object view of electronic data report |
US8307119B2 (en) * | 2006-03-31 | 2012-11-06 | Google Inc. | Collaborative online spreadsheet application |
US20080077631A1 (en) * | 2006-09-21 | 2008-03-27 | Petri John E | Multi-document attribute synchronization in a content management system |
US20080140623A1 (en) * | 2006-12-11 | 2008-06-12 | Microsoft Corporation | Recursive reporting via a spreadsheet |
US20080244442A1 (en) * | 2007-03-30 | 2008-10-02 | Microsoft Corporation | Techniques to share information between application programs |
US8190987B2 (en) | 2007-10-25 | 2012-05-29 | Microsoft Corporation | Private views of data and local calculations during real time collaboration |
-
2007
- 2007-10-25 US US11/924,051 patent/US8190987B2/en not_active Expired - Fee Related
-
2008
- 2008-10-11 EP EP19171333.8A patent/EP3537313A1/en not_active Ceased
- 2008-10-11 JP JP2010531123A patent/JP5349484B2/ja active Active
- 2008-10-11 KR KR1020107008313A patent/KR101514103B1/ko active IP Right Grant
- 2008-10-11 WO PCT/US2008/079668 patent/WO2009055263A2/en active Application Filing
- 2008-10-11 EP EP08841698.7A patent/EP2218011B1/en active Active
- 2008-10-11 CN CN2008801133677A patent/CN101836198B/zh active Active
-
2012
- 2012-04-30 US US13/459,845 patent/US9275032B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6564246B1 (en) * | 1999-02-02 | 2003-05-13 | International Business Machines Corporation | Shared and independent views of shared workspace for real-time collaboration |
Also Published As
Publication number | Publication date |
---|---|
US9275032B2 (en) | 2016-03-01 |
WO2009055263A3 (en) | 2009-07-16 |
EP2218011B1 (en) | 2019-05-01 |
EP3537313A1 (en) | 2019-09-11 |
US20120216103A1 (en) | 2012-08-23 |
US20090112990A1 (en) | 2009-04-30 |
KR101514103B1 (ko) | 2015-04-21 |
US8190987B2 (en) | 2012-05-29 |
EP2218011A2 (en) | 2010-08-18 |
JP5349484B2 (ja) | 2013-11-20 |
JP2011502303A (ja) | 2011-01-20 |
EP2218011A4 (en) | 2018-03-28 |
WO2009055263A2 (en) | 2009-04-30 |
CN101836198A (zh) | 2010-09-15 |
KR20100080802A (ko) | 2010-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101836198B (zh) | 实时协作期间数据的专用视图和本地计算 | |
US9705946B2 (en) | Method to initiate server based collaboration on e-mail attachments | |
CN1684110B (zh) | 混合的对象属性加关键帧模型 | |
CN1755599B (zh) | 软件程序的一次点击条件格式化方法和系统 | |
CN101431528B (zh) | 服务器设备、客户端设备、信息处理系统、方法和程序 | |
CN1842782B (zh) | 网络资源信息路由的服务器结构 | |
CN1906604B (zh) | 网络中资源信息的路由 | |
US8341531B2 (en) | Content formatting and installation techniques | |
US8336104B2 (en) | Generation and use of digital contents | |
CN1269022C (zh) | 设备环境配置系统和设备环境配置方法 | |
CN101842802A (zh) | 富客户端和浏览器客户端之间的电子表格协作 | |
CN101304414A (zh) | 用于处理信息的系统、装置、方法和程序 | |
CN101632063A (zh) | 用于优化设备操作的设备特定内容索引 | |
US8245221B2 (en) | Content formatting and installation techniques | |
US7299268B2 (en) | System for insertion and output of a second electronic material based on a first electronic material | |
CN103827777B (zh) | 社交网络报告 | |
WO2005052789A3 (en) | Method and graphical user interface (gui) for multiple managed objects (mos) viewing and editing | |
US8014883B2 (en) | Templates and style sheets for audio broadcasts | |
DE10297460T5 (de) | Multimedia-Präsentation, die einen Benutzer beim Spielen eines Musikinstruments unterstützt | |
WO2008123676A1 (en) | Method for providing service about making contents and three-dimensional animation | |
CN117273163A (zh) | 使用数据摘要的联邦学习系统及其方法 | |
JP2007271813A (ja) | 背景映像選択の利用者別管理機能付きカラオケシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
ASS | Succession or assignment of patent right |
Owner name: MICROSOFT TECHNOLOGY LICENSING LLC Free format text: FORMER OWNER: MICROSOFT CORP. Effective date: 20150428 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20150428 Address after: Washington State Patentee after: Micro soft technique license Co., Ltd Address before: Washington State Patentee before: Microsoft Corp. |