[go: up one dir, main page]

CN101971163A - 基于web的多用户协作 - Google Patents

基于web的多用户协作 Download PDF

Info

Publication number
CN101971163A
CN101971163A CN2009801094164A CN200980109416A CN101971163A CN 101971163 A CN101971163 A CN 101971163A CN 2009801094164 A CN2009801094164 A CN 2009801094164A CN 200980109416 A CN200980109416 A CN 200980109416A CN 101971163 A CN101971163 A CN 101971163A
Authority
CN
China
Prior art keywords
document
browser
instruction
user
revision
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
CN2009801094164A
Other languages
English (en)
Inventor
H·萨利巴
P·恩格拉弗
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 CN101971163A publication Critical patent/CN101971163A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/197Version control
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/95Retrieval from the web
    • G06F16/954Navigation, e.g. using categorised browsing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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
    • G06Q10/107Computer-aided management of electronic mailing [e-mailing]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Data Mining & Analysis (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Databases & Information Systems (AREA)
  • Computer Hardware Design (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Document Processing Apparatus (AREA)

Abstract

描述了用于基于web的多用户协作的工具和技术。这些工具可提供使用户能够使用各自的浏览器来就文档进行远程协作的方法。这些方法可将给定文档的各部分的表示发送到浏览器,并将文档的各部分与特定用户相关联。浏览器可接收如由用户提供的命令的表示,并且可确定是否在浏览器处执行命令。这些方法还可包括从浏览器接收对文档的各部分的修订,以及将文档的这些部分存储在被配置成存储相对新近变更的内容的存储区域中。

Description

基于web的多用户协作
背景
出于各种原因,在地理上彼此分开的不同用户可能希望就文档进行协作。先前用于方便这种类型的远程协作的技术通常涉及使这些不同用户在远程工作站上安装合适的特征丰富(richly-featured)的客户端。
概述
描述了用于基于web的多用户协作的工具和技术。这些工具可提供使用户能够使用各自的浏览器来就文档进行远程协作的方法。这些方法可将给定文档的各部分的表示发送到浏览器,并将文档的各部分与特定用户相关联。浏览器可接收如由用户提供的命令的表示,并且可确定是否在浏览器处执行命令。这些方法还可包括从浏览器接收对文档的各部分的修订,以及将文档的这些部分存储在被配置成存储相对新近变更的内容的存储区域中。
上述主题也可被实现为方法、计算机控制装置、计算机进程、计算系统或诸如计算机可读介质等制品。通过阅读下面的详细描述并审阅相关联的附图,这些及各种其他特征将变得显而易见。
提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的一些概念。本概述并不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在将本概述用来限制所要求保护的主题的范围。此外,所要求保护的主题不限于解决在本发明的任一部分中提及的任何或所有缺点的实现。
附图简述
图1是示出用于提供基于web的多用户协作的系统或操作环境的组合的框和流程图。
图2是示出涉及启动如图1所示的协作过程的组件和数据流的组合的框和流程图。
图3是示出用于启动对某一文档的协作工作(例如,编辑)的过程的流程图。
图4是示出用于在给定浏览器处启动协作的组件和流程的组合的框和流程图。
图5是示出用于处理协作用户对文档作出的修订的组件和流程的组合的框和流程图。
图6是示出用于处理由浏览器报告的修订的过程的流程图。
图7是示出浏览器可提供的用以处理对由多个用户协作编辑的内容的修订的组件和数据流的组合的框和流程图。
图8是示出用于接收并处理来自浏览器的修订的服务器侧组件和数据流的组合的框和流程图。
图9是示出用于提供协作客户机服务的服务器侧组件的框图。
详细描述
下面的详细描述涉及用于基于web的多用户协作的技术。尽管在结合计算机系统上的操作系统和应用程序的执行而执行的程序模块的一般上下文中提出了此处描述的主题,但是本领域技术人员将认识到,其他实现可以结合其他类型的程序模块来执行。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、组件、数据结构和其他类型的结构。此外,本领域技术人员将明白,可以利用其他计算机系统配置来实施此处描述的主题,这些计算机系统配置包括手持式设备、多处理器系统,基于微处理器的或可编程消费电子产品、小型计算机、大型计算机等等。
在下面的详细描述中,将参考构成本发明的一部分的附图,并且在附图中作为说明示出了各具体实施例或示例。现在参考附图(其中若干附图中相同的标号表示相同的元素),将描述用于访问和更新结构化数据元素的多客户机协作的工具和技术的各方面。
图1示出了在100处概括地表示的用于提供基于web的多用户协作的系统和操作环境。这些系统100可包括一个或多个服务器系统102,且本说明书的实现包括任何数量的前端和/或后端服务器,如以下更详细地描述的那样。服务器可包括一个或多个处理器104,这些处理器可具有被选为适于特定实现的特定类型或架构。处理器104可以耦合到被选为与处理器104兼容的一个或多个总线系统106。
服务器102还可包括耦合到总线系统106的计算机可读存储介质108的一个或多个实例。这些总线系统能使处理器104能够将代码和/或数据读取到计算机可读存储介质108或从计算机可读存储介质108中读取代码和/或数据。介质108可表示使用包括但不限于半导体、磁性材料、光学等任何合适的技术来实现的存储元件。介质108可包括存储器组件,无论其被归类为RAM、ROM、闪存、还是其他类型,并且还可表示硬盘驱动器。
存储介质108可包括指令的一个或多个模块,这些指令在被加载到处理器104中并被执行时,使得服务器102执行用于方便基于web的多用户协作的各种技术。更具体而言,存储介质108可包括向多个客户机系统提供协作客户机服务110的指令的模块。图1在112a和112n处提供了这样的客户机系统的两个示例(统称为客户机系统112)。然而,本说明书的实现可包括多个客户机系统。
存储介质108可包含文档存储114的一个或多个实例。虽然文档存储的进一步细节在下文中提供,但总而言之,该文档存储容纳或包含多个客户机系统可对其进行协作编辑或创建的文档。尽管图1示出了文档存储114和协作客户机服务110的软件驻留在相同的存储介质108上的情形,但该示例只是为了易于说明而提供的,而不是为了限制可能的实现。特别注意,在某些情况下,文档存储和协作客户机服务可以驻留在分开的介质和/或分开的系统或物理箱上。
更详细地转向协作客户机服务110,这些服务可方便服务器102和客户机系统112之间的协作流。图1提供了协作流的两个示例,协作流116a表示服务器102和客户机系统112a之间的数据和过程流,而协作流116N表示服务器102和客户机系统112n之间的数据和过程流。
更详细地转向客户机系统112,这些客户机系统可包括各自的处理器118a和118n(统称为处理器118),这些处理器可具有或不具有与处理器104相同的类型和架构。总线系统120a和120n(统称为系统120)可以分别耦合到处理器118a和118n,如图1所示。这些总线系统120可以在类型和架构方面与其对应的处理器118兼容,并且可具有或不具有与服务器102上的总线系统106相同的类型和架构。计算机可读存储介质122a和122n(统称为存储介质122)的各个实例可包含浏览器软件124a和124n(统称为浏览器124)。
如此处所描述的,客户机系统112和服务器系统102可以协作以使得各个终端用户126a和126n(统称为终端用户126)能够就编辑和/或创建来自文档存储114的文档(整体地或部分地)进行协作。在某些情况下,不同的终端用户126可协作编辑给定文档的相同部分。在其他情况下,不同的终端用户126可就给定文档的不同部分进行协作。
服务器系统102和各个客户机系统112可通过在128处概括地表示的一个或多个合适的网络来彼此通信。这些网络128可采取任何合适的形式,无论被表征为全球、地区、本地、个人、还是其他类型的网络。服务器系统和客户机系统可包括如适于与网络128接口的任何网络适配器、硬件、软件、协议栈等,但这些特征为了清楚和简明起见从图1中省略。
如将在下文中更详细地描述的,协作客户机服务110可使用户126能够使用浏览器来在编辑或创建文档的至少各部分时进行协作。因为用户126能够使用浏览器,所以客户机系统112可避免安装额外的客户机软件以使用户能够在协作体验中畅游(dissipate)。协作客户机服务110可通过普遍存在的浏览器来向用户126提供丰富的客户机体验。更具体而言,协作客户机服务可使用户能够访问各种类型的终端用户功能,包括但不限于文字处理、数据库管理、电子表格管理、数据共享、电子笔记本能力等。为了启用这些用户体验,服务器端处的协作客户机服务可转换成/自由执行上述功能中的任一个的特征丰富的客户机所使用的任何本机格式。
图1中用来描绘服务器和客户机系统的图形元素只是为了方便说明而选择的,并且不是为了限制此处的描述的可能的实现。更具体而言,图1示出了服务器系统102是可能由不止一个客户机系统共享的集中式计算系统的示例。客户机系统112可表示台式系统、膝上型或移动计算系统、智能电话、启用无线的个人数字助理(PDA)或其他合适的系统。然而,此处的描述还构想其他形式的服务器和/或客户机系统,包括但不限于图1所示的那些示例。
在描述了图1所示的系统和操作环境后,本讨论现在继续至对涉及启动协作过程的组件和流程的描述。该讨论现在用图2给出。
图2示出了在200处概括地表示的涉及启动如图1所示的协作过程的组件和数据流。为了易于引用而非限制,图2可从先前的附图带入某些附图标记以指代类似项目。例如,图2带入来自图1的协作客户机服务110、文档存储114、网络128、浏览器124和用户126的表示。
更详细地转向文档存储114,该文档存储可实现可用于客户机系统和终端用户的协作的文档模型。更具体而言,这些模型可促进在这些协作工作期间提高效率并优化。例如,某些文档模型可将文档的某些语义片段分配给此处被称为单元格的构造。另外,此处所描述的另一构造是修订,修订是在特定时刻拍摄的单元格的快照,提供该单元格在该时间点处的表示。例如,给定文档中的各个页面可使用具体的单元格来表示。进而,具体的修订可被细分成表示对应于该单元格的内容的各具体的部分或方面的一个或多个对象。例如,对象可包括出现在给定页面中的段落或图像、出现在给定列表中的项目符号等。
图2在202处示出了修订结构的示例,并且可以理解,各实现可以在适当时包括任何数量的单元格结构以表示一个或多个文档。进而,给定修订结构可包括一个或多个对象,且图2在204a和204n处示出了对象的示例(统称为对象204)。具体的对象可由对应的ID来标识。这些对象可以指向同一单元格中的其他对象,或者可以指向其他单元格中的对象。
协作客户机服务110可发送来自给定的某一文档的一个或多个修订以供不同的终端用户126经由浏览器124来协作。例如,协作客户机服务110可确定不同的终端用户对给定文档中的哪些修订感兴趣,并且然后可发送这些修订以便在浏览器上向这些终端用户显示。图2在206a处表示了发送到浏览器124a以便于用户126a交互的修订的示例,在206b处表示了发送到浏览器124b以便于用户126b交互的修订的示例,在206n处表示了发送到浏览器124n以便于用户126n交互的修订的示例。
协作客户机服务110可确定要将给定文档的哪些具体的修订206分发给各个客户机浏览器。例如,协作客户机服务最初可向浏览器发送包含给定文档中的所有页面的名称的导航页面,以及仅仅首页的内容。在浏览器处,不同的用户然后可点击他们各自的导航页面,并选择他们想要查看和编辑哪些页面。协作客户机服务然后可将所选页面的内容下载到各个浏览器。例如,不同的用户126可滚动到给定文档中的相同或不同页面。在该示例中,一旦协作客户机服务确定不同的用户希望编辑的页面,客户机服务就可从文档存储114中获取对应于这些页面的那些修订208。进而,协作客户机服务可将这些修订分发给合适的用户,如206a、206b和206n(统称为分发的修订206)所示。
在不同的情形中,协作客户机服务不仅可分发由某一用户正在编辑的给定页面,而且还可分发出现在该文档中的该给定页面之前和/或之后的特定数量的页面。通过提供特定数量的“前导”或“后继”页面,协作客户机服务可使这些用户能够在不被发送额外的修订的情况下滚动通过若干连续页面。
如将在下文中更详细地描述的,单元格模型可允许文档存储方便不同终端用户(例如,126)之间的更高效的协作。例如,文档的修订表示通常比作为整体的文档小得多。
如将在下文中更详细地描述的,文档的单元格模型可允许文档存储方便不同终端用户(例如,126)之间的更高效的协作。例如,文档的基于修订的表示通常比作为整体的文档小得多。由此,与将整个文档发送到不同的协作用户和客户机系统相比,协作客户机服务可通过发送这些修订表示来减少网络资源消耗并节省网络带宽。
一旦协作客户机服务已向浏览器分发具体的修订206,这些服务就可存储在210处概括地表示的协作信息。例如,该协作信息可指示已经向哪些具体用户分发了哪些具体修订。协作客户机服务可将该信息存储在服务器侧修订存储212中,该存储可包含不同用户126的表示214a和214m(统称为用户表示214)。进而,用户表示214可指示已经向具体用户分发了哪些修订,如216a和216m所示(统称为修订表示216)。如将在下文中更详细地描述的,服务器侧修订存储中的这些条目可使得协作客户机服务能够确定由某些用户作出的哪些修订可能与其他用户相关。
在图2中描述了涉及启动各个客户机系统和用户之间的协作的组件和流程之后,本讨论现在继续至对执行以启动对某一文档的协作工作的处理流程的描述。该描述现在用图3来提供。
图3示出了在300处概括地表示的、用于启动对某一文档的协作工作(例如,编辑)的处理流程。为了易于引用而非限制,图3可从先前的附图带入某些附图标记以指代类似项目。例如,图3从先前附图带入协作客户机服务110的表示。虽然处理流程300结合这些协作客户机服务来描述,但注意,处理流程300的实现还可由其他组件或服务来执行而不背离本说明书的范围和精神。
更详细地转向处理流程300,框302概括地表示标识一个或多个具体用户对给定文档中的哪些单元格感兴趣。例如,框302可包括将给定文档中的页面的名称连同该文档中的首页的内容一起发送到多个协作用户。这些用户然后可选择他们希望查看的页面的名称。框302可包括提供相对于某一用户感兴趣的给定单元格的某种程度的前导和/或后继。回想上文对文档的单元格模型的讨论,例如,某些单元格可表示这些文档中的页面。
框304概括地表示获取框302中所标识的感兴趣的修订。例如,框304可包括从包含内容的文档存储中获取感兴趣的修订,各个不同的用户可使用此处所描述的工具和技术来就该内容进行协作。图2在114处提供了这一文档存储的示例,并在208处表示单元格的示例。
框306概括地表示将所获取的感兴趣的修订发送到某些用户。例如,假设三个不同的用(例如,用户126a、126b和126n)户正在就如图2所示的给定文档进行协作,这些用户可表现出对该给定文档的相同或不同部分的兴趣。因此,框306可包括将给定文档的适当部分的修订表示发送到这些不同的用户(例如,206a、206b和206n)。
框308概括地表示将某些用户与这些用户正在操作的单元格相关联。例如,框308可包括将某些用户的表示(例如,图2中的214)与其修订已被提供给这些用户(例如,图2中的修订表示216)的单元格相关联。
框310概括地表示存储框308中所定义的关联。例如,框310可包括更新服务器侧修订存储(例如,212)以存储协作用户和这些用户正就其进行协作的单元格之间的关联或关系,如图2在214和216处所表示的。
在描述了用于启动对某一文档的协作工作的处理流程300后,本讨论现在继续至对可出现在浏览器侧以启动该协作的组件和流程的更详细的描述。该讨论现在用图4给出。
图4示出了在400处概括地表示的、可出现在浏览器侧以启动给定客户机系统处的协作的组件和流程。为了易于引用而非限制,图4可从先前的附图带入某些附图标记以指代类似项目。例如,图4从先前附图带入网络128、分发的单元格206、浏览器124和用户126。
更详细转向图4,客户机侧复制管理器402可通过网络128从服务器102接收分发的修订206。这些修订206可表示最初呈现给用户126的页面,或者可表示其他协作用户对这些单元格作出的修订。出于描述图4的目的,假设单元格206表示最初通过浏览器124呈现给用户126的页面。
一般而言,复制管理器402可以在浏览器和服务器之间上传和下载对单元格的修订。复制管理器还可以在适当时在网络和浏览器之间变换协议。在图4中,在206处表示的修订被假定为采用适于网络传输的协议,而在404处表示的修订被变换为适于供浏览器处理。
复制管理器402可将修订404转发到客户机侧修订存储406。一般而言,修订存储可管理和存储针对单元格206的修订(或对这些修订的变更),无论这些修订或变更是在给定的浏览器124处本地地发生,还是在其他浏览器处远程地发生并被报告到给定的本地浏览器124中。当开始涉及修订404的给定的协作工作时,修订存储406可存储这些单元格408的初始状态或修订以供将来参考。
修订存储406可将这些单元格的表示提供给图数据结构410,该图数据结构提供正在协作编辑的文档的语义模型,且该语义模型提供文档的分层结构。假设数据/视图模型的实现,图结构410可提供该模型的数据部分。图结构410可以是有向无环图,其包括不同类型的节点、特性集以及表示传入的单元格206的其他元素。图4在412a和412n处表示节点的示例(统称为图节点412)。例如,假设传入的修订表示协作编辑的文档的页面,图结构410中的不同节点412可表示不同的段落、图像、页面、章节或页面中的其他部分或子元素。某些对象可以用图中的一个节点(例如,图像)来表示,而诸如表等其他内容可用图中的许多节点来表示。
在说明性而非限制性实现中,客户机侧复制管理器402、客户机侧修订存储406、初始单元格状态408和图结构410可以用Script#来创作并用JavaScript来实现。然而,这些示例只是为了方便本说明书而提供的并且在不同的实现中其他情形是可能的。
图结构410可提供由传入的修订206表示的内容的浏览器无关模型。进而,该图结构中的节点412可以在各个不同的部分可用的浏览器中的任一个中呈现。因此,视图模型或视图代码414可将这些节点412从图结构410呈现或映射到浏览器相关的查看模型。图4提供了作为文档对象模型(DOM)416的这一查看模型的示例。DOM 416可存储协作编辑的文档的当前视图,以表示出现在文档的一个或多个页面中的段落、图像、列表、或其他元素。
视图代码414可从图结构410中创建DOM,且该图结构中的节点412a和412n对应于DOM中的节点418a和418n(统称为DOM节点418)。DOM416然后可被呈现在浏览器124上以供用户126查看。图4表示所呈现的内容部分可由用户在任何给定时刻在浏览器视口420处查看。用户然后可以在他或她觉得适合时与浏览器视口中所表示的无论哪些元素交互。
在图4中描述了用于启动对具体文档的协作工作的组件和流程之后,本讨论现在转向对用于处理协作用户对文档作出的修订的组件和流程的描述。该描述现在用图5来提供。
图5示出了在500处概括地表示的、用于处理协作用户对文档作出的修订的组件和流程。为了易于引用而非限制,图5可从先前的附图带入某些附图标记以指代类似项目。例如,图5从先前附图带入网络128、浏览器124、用户126、协作客户机服务110、服务器侧修订存储212以及相关用户表示214和修订表示216。
更详细地转向图5,假设用户126a和126b正在就给定文档中的相同单元格进行协作。图5在502a和502b处将该单元格表示为在用户126a和126b之间共享。如上所述,服务器侧修订存储212可创建并存储用户表示214和修订表示216以启动该情形。如果用户126a创建对共享单元格502a的修订504a,则浏览器124a可将这些修订发送到协作客户机服务110。关于修订504a的通知还可指示已被修订的单元格502a。
在接收到关于修订504a的通知后,协作客户机服务110可确定这些修订504a是否与其他用户正在编辑的单元格相关。为了作出该判定,协作客户机服务110可查询服务器侧修订存储212以确定任何其他用户是否正在编辑单元格502a。在这种情况下,该查询将指示用户126b也在编辑刚刚被修订的单元格502a。另外,浏览器124b可向协作客户机服务110查询对单元格502的任何新变更。以此方式,运行协作客户机服务的服务器可以隐式地确定两个客户机正在就单元格502进行协作。因此,在某些情况下,协作客户机服务110可形成关于这些修订的通知并将通知发送到浏览器124b。在其他情况下,协作客户机服务可从浏览器124b接收请求,并且可以用对单元格502的适当修订来响应这些请求。图5在504b处概括地表示这些和其他情形。进而,浏览器124b可更新其显示画面以结合修订504b。
在图5所示的情况下,假定用户126n正在编辑与用户126a和126b共享的单元格502a和502b(统称为单元格502)不同的单元格506。尽管这些不同的单元格502和506可以在相同的文档中,但用户126n当前未编辑单元格502。在这种情况下,其他用户作出的对该单元格502的修订不与用户126n和/或浏览器124n直接相关。因此,协作客户机服务110不会将这些修订立即通知给浏览器124n,由此节省与这一通知相关联的网络带宽。然而,用户126n可对单元格506作出修订508,且这些修订在适当时被传递给协作客户机服务110。进而,协作客户机服务可将这些修订传递给正在编辑同一单元格506的任何其他浏览器或用户。
如上所述,与先前的技术相比,图5所示的情形可提供操作效率。例如,协作客户机服务可分发文档的各部分(例如,修订),而不是整个文档本身。通常,这些修订比整个文档小得多。由此,与发送整个文档相比,通过网络发送这些修订消耗更少的网络带宽。另外,浏览器124和协作客户机服务110可交换对文档的这些部分的修订,而不是交换整个文档的已更新版本。因此,与交换整个文档的已更新版本相比,通过网络传递这些修订涉及发送少得多的数据。按照该模型进行的网络通信可以与所传递的变更的大小成比例,但不与变更的对象的大小成比例。
当各个浏览器124报告对正在协作地编辑的单元格的修订时,协作客户机服务只向正在编辑相同单元格的那些其他浏览器分发这些修订的指示。一般而言,如果给定文档是用多个单元格来建模的,并且如果多个用户正在就该文档进行协作,则这些单元格通常随机分布在该多个用户之间。由此,在最坏的情况下,所有这些用户都可能就同一单元格进行协作,但在最好的情况下,至多一个用户操作给定单元格。典型的操作情形可以落在这两个极端之间的某处,且协作客户机服务通过只向操作被修订的单元格的那些用户和浏览器报告修订来进一步节省网络带宽和资源。
在图5中描述了涉及处理协作用户对文档作出的修订的组件和数据流之后,本讨论现在转向对用于处理这些修订的处理流程的描述。该讨论现在用图6给出。
图6示出了在600处概括地表示的、用于处理如由浏览器报告的修订的流程。为了易于引用而非限制,图6可从先前的附图带入某些附图标记以指代类似项目。例如,图6从先前附图带入协作客户机服务110的表示。虽然处理流程600结合这些协作客户机服务来描述,但注意,处理流程600的实现还可由其他组件或服务来执行而不背离本说明书的范围和精神。
更详细地转向图6,框602表示接收如由一个或多个浏览器(例如,先前附图中的124)报告的修订的指示。例如,框602可包括协作客户机服务110接收这些修订的指示,如图5在504a和508处所表示的。
框604概括地表示标识经受框602中所报告的修订的单元格。例如,所报告的修订可包括指示这些修订所修改的单元格的标识符。
框606概括地表示存储如在框606中接收到的所报告的修订。例如,框606可包括将这些修订存储在服务器侧修订存储(例如,112)中。
判定框608表示确定任何其他浏览器是否已请求查看和/或编辑已被修订的给定单元格。如果当前没有其他浏览器在给定时刻请求给定单元格,则处理流程600可取“否”分支610以返回框602并等待来自一个浏览器的对单元格的下一次修订的通知。
返回到判定框608,如果其他浏览器已经请求所修订的单元格,则处理流程600可取“是”分支612至框614,框614表示将对单元格的修订发送到任何作出请求的浏览器。如以上在图5中所描述的,可供协作的单元格可以随机分布在协作用户之间。在这种情况下,框614可包括将关于这些更新的通知发送到在给定文档中协作的用户的某一较小的子集,而不是发送到就给定文档进行协作的所有用户。
在执行框614后,处理流程600可返回到框602以等到来自浏览器的下一个修订通知。在图6中描述了用于处理各个协作浏览器所报告的修订的流程之后,本讨论现在转向对出现在浏览器侧以处理这些修订的组件和数据流的描述。该描述现在用图7来提供。
图7示出了在700处概括地表示的组件和数据流,浏览器可提供这些组件和数据流以处理对多个用户协作地编辑的内容的修订。为了易于引用而非限制,图7可从先前的附图带入某些附图标记以指代类似项目。例如,图7从先前附图带入网络128、示例用户126、示例浏览器124、示例DOM 416、示例视图代码或视图模型408、以及示例图结构410。图7还带入客户机侧修订存储406,该修订存储406可包括显示在浏览器124中以供用户126编辑的单元格的初始状态408。另外,图7带入复制管理器402,该复制管理器402可通过网络128来报告来自浏览器的修订504。
更详细地转向图7,用户126可发出被发送出以与呈现在浏览器124中的内容交互的各种命令,并且可通过这些命令来对该内容作出任何数量的修订。这些命令702可采取各种类型,这取决于呈现在浏览器中的内容的类型,并且取决于什么能力通过协作客户机服务(例如,先前附图中的110)对浏览器可用。
取决于用户发出的命令702的类型,浏览器可对DOM或图结构执行这些命令。通常,可对图执行大多数命令,这可提供数据/视图模型的模型部分。以此方式,模型部分保持最新。然而,可对DOM执行编辑命令,并且在特定点(例如,在单词或段落的末尾),DOM可以用由于用户编辑而产生的修订来更新图结构。以此方式,DOM和图结构不会招致跟踪并处理用户键入的每一键击的性能惩罚,并且改为聚集键击或命令以提高处理效率。
图结构中的节点可响应于命令702被更新,且只更新受到命令影响的那些节点。一旦更新受影响的节点,视图代码408就可遍历这些节点并用例如适当的HTML来填充DOM。进而,浏览器124可遍历DOM并呈现HTML以便向用户126显示。以此方式,浏览器124可使用户126能够可视化该用户输入的任何命令的结果。
在某些情况下,浏览器124可确定是在浏览器处本地地执行命令,还是在服务器处远程地执行命令。该判定可基于性能考虑事项来作出;通常,可将资源密集的操作卸载到服务器。然而,供考虑的其他因素可包括服务器在给定时刻负载很重。
客户机侧修订存储406可存储由于命令或用户通过浏览器124采取的其他动作而产生的一组修订。以浏览器中所显示的单元格的初始状态的表示408开始,修订存储406可创建并存储一系列修订增量704。这些修订增量表示在给定浏览器124处本地地发生在图上的顺序的、增量的变更。除其他功能之外,这些修订增量可提供浏览器可用于向用户提供“撤消”功能的机制,用户可回退一组修订以返回到某一先前状态。
修订存储406可将修订和修订增量存储在例如最初按照出现次序排列的一个或多个链接列表中。然而,随着时间的流逝,这一链接列表可变得相当长以至于无法遍历。通常,用户感兴趣的大多数修订(例如,用于“撤消”操作)可能在该链接列表的末尾。然而,访问这些感兴趣的修订可涉及遍历整个链接列表,从而承担相当多的性能惩罚。在这种情况下,修订存储可重新组织修订增量的链接列表,以使得增量看上去“向前”将来状态,而不是看上去穿过列表“倒退”回早先的初始状态。
尽管修订存储406可存储表示出现在本地浏览器处的修订中的大多数或全部的增量,但修订存储406可通过网络128向服务器报告或可不报告所有这些修订。例如,给定本地地出现在浏览器上的一组完整的修订增量704,修订存储406可向复制管理器402报告这些修订增量的某一子集(在706处表示)。进而,复制管理器可将这些修订转发给服务器,如在504处带入的。更具体而言,浏览器中的复制管理器可确定何时将这些修订转发给服务器,以使得不会不恰当地打扰在浏览器中发生的用户交互。最终,给定浏览器处的复制管理器可将用户在该浏览器处作出的聚集或累积的所得变更传送到服务器。该浏览器处的复制管理器可组合出现在该浏览器处的修订和修订增量以定义模拟对单元格的聚集或累积变更的所得修订,由此建立单元格的当前状态。进而,复制管理器可将单元格的当前状态向上发送到服务器。
在图7中描述了用于处理修订的浏览器侧组件和数据流之后,本讨论现在转向对用于处理这些修订的服务器侧组件和数据流的描述。该描述现在用图8来提供。
图8示出了在800处概括地表示的、用于接收并处理来自浏览器的修订的服务器侧组件和数据流。为了易于引用而非限制,图8可从先前的附图带入某些附图标记以指代类似项目。
在图8所示的示例中,示例用户126a和126n可以与示例浏览器124a和124n交互以创建对某些单元格802a和802n的修订504a和504n。进而,浏览器124a和124n可通过网络128向协作客户机服务110报告这些修订。
在接收到来自浏览器的这些修订后,协作客户机服务110可将这些修订存储在服务器侧修订存储(例如,212)中,如在804处概括地表示的。图8只是出于本讨论的目的而示出两个浏览器传递修订,但本说明书的各种实现可包括向协作客户机服务报告修订的任何数量的浏览器124。
如以上在图2中所描述的,服务器侧修订存储212可包含任何数量的单元格的修订,这些修订进而可包含一个或多个对象表示204。这些对象表示204可以与初始修订806相关联,该初始修订指示单元格或对象在对该单元格或对象的任何修订通知到达前的状况或状态。
当关于修订504的通知从各个浏览器到达时,这些通知可指示哪些单元格正在被修订,如分别在802a和802n处表示的。当协作客户机服务110接收到这些通知时,这些服务可创建修订增量808并将其存储在服务器侧。在功能上,这些服务器侧的修订增量808可以与在浏览器侧描述的修订增量类似地操作。然而,应当理解,服务器侧修订增量可以与或不与浏览器侧修订增量完全相同。
在图8中描述了用于接收和处理来自浏览器的修订的服务器侧组件和数据流之后,本讨论现在继续至对服务器侧组件的更详细的描述。该描述现在用图9来提供。
图9示出了在900处概括地表示的、与协作客户机服务相关联的服务器侧组件。为了易于引用而非限制,图9可从先前的附图带入某些附图标记以指代类似项目。例如,图9带入协作客户机服务110的示例以及网络128的示例。
web服务902作为接口来提供,该接口从浏览器接收通信并将这些通信定向到协作客户机服务中的适当的组件。这些通信可包括例如,如从就给定内容实例进行协作的各个不同的浏览器接收到的修订或修订增量的通知。这些通知可来自/去往各个浏览器。该web服务可提供适配器904,该适配器904将这些通信从适于通过网络128来传输的协议转换成更适于在协作客户机服务中处理的内部二进制协议。
该web服务可支持用于向浏览器发送修订,从浏览器接收修订等的方法或应用程序编程接口(API)。另外,这些API可包括向服务器指示给定浏览器已经浏览离开给定页面,并由此已完成编辑该页面上的任何单元格的方法。
存储层906可通过web服务适配器904来进行通信,并且可抽象去往和/或来自服务器侧修订存储212的通信。存储层906还可提供存储适配器908,该存储适配器提供到服务器侧修订存储的接口。当修订从各个浏览器到达时,存储层906可将这些修订高速缓存在修订存储中。
服务器侧修订存储可包括具有不同特性的不同存储区域或高速缓存。例如,第一存储区域910可适用于或被配置成存储较新近且较频繁访问和修订的较小的数据组块。为了易于引用而不是为了限制可能的实现,图9将该第一存储区域表示为“热”存储区域或高速缓存。修订存储还可包括第二存储区域或高速缓存912,该第二存储区域或高速缓存适用于或被配置成存储较不新近且较不频繁访问和修订的较大的数据组块。为了易于引用而不是为了限制可能的实现,图9将该第二存储区域表示为“冷”存储区域或高速缓存。
归并层914及相关归并引擎916产生允许存储层调用归并能力的那些接口及相关方法。例如,当不同的浏览器向协作客户机服务发送对给定内容的修订时,存储层可将对应的修订和/或修订增量存储在高速缓存910和912中。在适当时,存储层906可调用归并层914来归并或协调这些各个修订以更新浏览器正就其进行协作的内容。另外,归并层914可基于诸如提供协作客户机服务的服务器在任何给定时刻负载有多重或有多忙等因素来确定何时调用和运行归并引擎916。
在上述处理中,保存操作变为与归并操作异步。通常,在浏览器侧,修订数据可以是高度串行化的,而在服务器侧,可以重新组织并优化修订数据以使其不那样串行化。由此,如由服务器维护的修订历史可以是或不是指示在浏览器上发生变更的次序的线性表示。相反,修订历史可包括分支或其他非线性特性。
通常,向用户和浏览器屏蔽归并过程的细节,以使得归并延迟不会过渡影响总体用户体验。换言之,用户可继续浏览器处的修订,而不等待归并完成或甚至知道归并在服务器端进行。
协作客户机服务110可使用图9所示的体系结构来执行若干功能。这些功能可包括但不限于优化传送至和传送自各个浏览器的数据净荷、确定运行发自浏览器的命令的最佳环境、优化内容和单元格在服务器上的存储、启用对协作内容的多用户编辑等。本讨论现在提供关于这些功能中的每一个的附加细节。
优化数据净荷
当打开文档或文件以便借助协作客户机服务来进行协作时,存储层906可检索该文件或文档中的一个或多个适当页面的内容。该存储层可从服务器侧修订存储中只读取该一个或多个页面的数据。可优化该读取以便首先在热存储(例如,910)中查找这些页面。如果所请求的这些页面不在热存储中,则该读取可增量式地搜索冷存储(例如,912)。
适当的数据从修订存储中被读取,存储在服务器上的前端高速缓存中,并向下发送到适当的浏览器(例如,124)。接收浏览器可将该数据存储在浏览器侧修订存储中(例如,306),并在图结构中重新创建或重新组合(rehydrate)该数据(例如,310)。当给定用户在给定浏览器中修订内容时,或者如果另一用户在另一浏览器中变更该内容,则协作客户机服务可生成指示这些变更的修订和修订增量,并且可将这些修订发送到就该内容进行协作的其他浏览器。
在浏览器侧,浏览器可以在浏览器侧修订存储中处理修订和修订增量,且浏览器在修订存储之外创建对图结构的适当更新。在服务器侧,协作客户机服务可将这些修订和修订增量存储在热存储(例如,910)中。之后,协作客户机服务可归并从不同的用户接收到的修订和修订增量。例如,客户机服务可与其他操作异步地运行归并操作,以使得不会不恰当地打扰这些其他操作(即,“安静地”)。
其他用户或浏览器可向服务器询问对协作内容作出的任何变更。在这些情况下,服务器可从前端服务器所维护的高速缓存中检索这些变更,或者前端服务器可从后端服务器中检索这些变更。一般而言,协作客户机服务可通过允许前端服务器本地地存储这些前端服务器先前已经读取的数据,并将这些数据返回给作出请求的浏览器而不去往后端服务器,来提供机会主义热存储高速缓存。协作客户机服务还可提供到高速缓存的重定向,其中在另一前端服务器包含浏览器正在请求的被高速缓存的数据的情况下,一个前端服务器可将来自该浏览器的请求重定向到该另一前端服务器。
在适当的环境中运行命令
协作客户机服务可以在不与服务器交互或没有服务器干预的情况下在浏览器中执行多个命令。该浏览器可通过操纵DOM(例如,316)以及对图结构(例如,310)执行操作的组合来执行这些命令。然而,某些命令可以在服务器上运行,因为服务器可提供运行这些命令的执行能力,并且因为在服务器上运行命令不涉及将代码(以及机密和/或敏感信息)下载到远程浏览器。
另外,在服务器上运行的那些命令可以在不会另外打扰服务器的“普通”操作的情况下这样做。例如,当存储层906接收到新变更时,该存储层可将该变更传递给服务器侧修订存储212以便存储。该存储层还可将该新变更通知给归并层914。然而,归并层可试图在适当时与该通知异步地归并该新内容。该异步操作可以将使服务器过载以使其太忙以至于无法处理其他请求的风险降到最低。就此,归并层可以只在前端服务器具有足够的空闲周期来投入到该归并的情况下操作。
诸如粘贴等命令可以在浏览器和服务器的组合中运行。浏览器可包括执行以下动作的逻辑:检测到在执行充分的粘贴操作时所涉及的处理太复杂以至于无法在该浏览器处本地地执行,并且可改为要求服务器来执行该操作。同样,在服务器上运行的代码可调度并执行该粘贴操作以使得不会不恰当地打扰在该服务器上执行的其他操作。
服务器存储
当要存储协作内容(例如,单元格)时,该内容可从浏览器移至前端服务器,并最终移至存储层。该存储层可以与服务器侧修订存储通信,并且可将单元格存储在两个不同的位置,较新近发生的相对较小的变更可被存储在较快、较昂贵的热存储(例如,910)中。这优化了检索该小数据集以将其传递给其他用户,而不是必须从较慢的、较昂贵的冷存储(例如,912)中检索数据。一旦修订或变更被合并或归并到主文件中,就可将该主文件存储在冷存储中。这通过将通常相对较大的主文件存储在比热存储便宜的存储中来优化成本。
在浏览器请求文件中的特定单元格时,存储层和文件提供者可从这些存储(即,热存储和冷存储)中的一个或两者中检索所请求的修订,并且可将修订作为统一数据呈现给浏览器和其余服务器侧组件。存储层还可将存储在服务器上的用户内容转换成可供浏览器消费的内容,同时扩展内容中的特定节点,并且不下载浏览器不使用的内容。
多用户编辑
如上所述,协作客户机服务所采用的数据模型可包括修订。客户机服务还可以在不表达用户交互的情况下(即,“在幕后”)加载/保存这些修订。该方法可以自动传播来自用户的变更,以便优化如何共享用户内容和修订(即,通过对线路(wire)造成最小负担)以及何时共享这些内容和修订。以此方式,一旦协作客户机服务检测到多个用户正在就给定内容进行协作,协作客户机服务就可以更快地将来自给定用户的变更同步到所有其他浏览器。
协作客户机服务可变换数据模型以允许浏览器和服务器高效地处理数据。浏览器然后可显示并处理适当的内容。另外,协作客户机服务可以与电子笔记本应用程序(例如,包括但不限于可从华盛顿州雷蒙德市的微软公司购得的OneNoteTM产品)集成。例如,存储层可改变修订格式以使得能够以与电子笔记本应用程序兼容的格式存储这些修订。以此方式,协作客户机服务可以与富客户端无缝集成,并且可利用可广泛购得的浏览器,同时依靠电子笔记本应用程序(或其他软件产品或应用程序)来提供更丰富的用户体验。
虽然以计算机结构特征、方法动作、以及计算机可读介质专用的语言描述了本文呈现的主题,但是应该理解,在所附权利要求书中所限定的本发明不必限于本文描述的具体特征、动作、或介质。相反,这些具体特征、动作和介质是作为实现权利要求的示例形式来公开的。
上述主题仅作为说明提供,并且不应被解释为限制。可对此处所述的主题作出各种修改和改变,而不必遵循所示和所述的示例实施方式和应用,且不背离所附权利要求书中所述的本发明的真正精神和范围。

Claims (20)

1.至少一种其上存储有计算机可执行指令(110)的计算机可读存储介质(108),所述指令在由计算机执行时使得所述计算机执行一种方法,所述方法包括:
使多个用户(126)能够使用各自的浏览器(124)来就至少一个文档(114)进行远程协作;
将所述文档的一部分的表示(206)发送(306)到与所述用户中的至少一个用户相关联的浏览器;以及
将所述文档的所述一部分与所述至少一个用户相关联(308)。
2.如权利要求1所述的存储介质,其特征在于,还包括用于从所述浏览器接收对所述文档的所述一部分的至少一个修订的表示的指令。
3.如权利要求2所述的存储介质,其特征在于,还包括用于确定所述用户中的至少另一个用户正在就所述文档的所述一部分进行协作的指令,并且还包括用于将所述修订的表示发送到所述用户中的所述至少另一个用户的指令。
4.如权利要求2所述的存储介质,其特征在于,还包括用于确定所述用户中的至少另一个用户正在就所述文档的所述一部分进行协作的指令,并且还包括用于只向所述用户中的所述至少另一个用户发送所述修订的表示的指令。
5.如权利要求2所述的存储介质,其特征在于,还包括用于从所述浏览器接收对所述文档的所述一部分的至少另一个修订的表示的指令。
6.如权利要求5所述的存储介质,其特征在于,还包括用于归并对所述文档的所述一部分的所述修订和所述至少另一个修订的指令。
7.如权利要求1所述的存储介质,其特征在于,还包括用于将所述文档建模为多个单元格的指令,并且其中所述用于发送所述文档的一部分的表示的指令包括用于将所述修订中的至少一个发送到所述浏览器的指令。
8.如权利要求1所述的存储介质,其特征在于,还包括用于高速缓存至少所述文档的所述一部分的指令。
9.如权利要求8所述的存储介质,其特征在于,还包括用于从所述高速缓存中检索至少所述文档的所述一部分,并且用于将所述文档的所述一部分的表示发送到与所述用户中的至少另一个用户相关联的至少另一个浏览器的指令。
10.如权利要求8所述的存储介质,其特征在于,还包括用于接收对至少所述文档的所述一部分的请求,并且用于将该请求重定向到所述高速缓存的指令。
11.至少一种其上存储有计算机可执行指令(110)的计算机可读存储介质(122或108),所述指令在由计算机执行时使得所述计算机执行一种方法,所述方法包括:
使多个用户(126)能够使用各自的浏览器(124)来就至少一个文档(114)进行远程协作;
在所述浏览器中的一个处接收由所述用户中的至少一个用户提供的至少一个命令(702)的表示;以及
确定(314)是否在所述浏览器处执行所述命令。
12.如权利要求11所述的存储介质,其特征在于,还包括用于在所述浏览器处执行所述命令的指令。
13.如权利要求12所述的存储介质,其特征在于,还包括用于对由所述浏览器维护的文档对象模型执行所述命令的指令。
14.如权利要求12所述的存储介质,其特征在于,还包括用于对由所述浏览器维护的图结构执行所述命令的指令。
15.如权利要求11所述的存储介质,其特征在于,还包括用于将所述命令转发给服务器以便执行的指令。
16.如权利要求11所述的存储介质,其特征在于,还包括用于接收在所述服务器上执行所述命令的结果的指令。
17.至少一种其上存储有计算机可执行指令(110)的计算机可读存储介质(108),所述指令在由计算机执行时使得所述计算机执行一种方法,所述方法包括:
使多个用户(126)能够使用各自的浏览器(124)来就至少一个文档(114)进行协作;
将所述文档的一部分的表示(206)发送到与所述用户中的至少一个相关联的浏览器;
从所述浏览器接收(602)对所述文档的所述一部分的至少一个修订(504);以及
将所述文档的所述一部分存储在被配置成存储相对较新近地变更的文档的各部分的第一存储区域(910)中。
18.如权利要求17所述的存储介质,其特征在于,还包括用于将所述文档的其余部分存储在被配置成存储未相对较新近地变更的文档的各部分的第二存储区域中。
19.如权利要求18所述的存储介质,其特征在于,还包括所述用于存储的指令包括用于将所述文档的所述一部分存储在热存储区域中的指令,并且其中所述用于存储所述文档的其余部分的指令包括用于将所述文档的其余部分存储在冷存储区域中的指令。
20.如权利要求17所述的存储介质,其特征在于,还包括用于将所述文档的所述一部分转换成与客户机应用程序相关联的至少一个格式或者将所述文档的所述一部分从所述至少一个格式转换的指令。
CN2009801094164A 2008-03-14 2009-01-30 基于web的多用户协作 Pending CN101971163A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/048,615 2008-03-14
US12/048,615 US9436927B2 (en) 2008-03-14 2008-03-14 Web-based multiuser collaboration
PCT/US2009/032560 WO2009114218A2 (en) 2008-03-14 2009-01-30 Web-based multiuser collaboration

Publications (1)

Publication Number Publication Date
CN101971163A true CN101971163A (zh) 2011-02-09

Family

ID=41064352

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009801094164A Pending CN101971163A (zh) 2008-03-14 2009-01-30 基于web的多用户协作

Country Status (15)

Country Link
US (1) US9436927B2 (zh)
EP (1) EP2266048B1 (zh)
JP (1) JP5611059B2 (zh)
KR (1) KR101584828B1 (zh)
CN (1) CN101971163A (zh)
AU (1) AU2009223346B2 (zh)
BR (1) BRPI0908188A2 (zh)
CA (1) CA2717347C (zh)
IL (1) IL207620A (zh)
MX (1) MX339987B (zh)
MY (1) MY155755A (zh)
RU (1) RU2507567C2 (zh)
SG (1) SG188886A1 (zh)
WO (1) WO2009114218A2 (zh)
ZA (1) ZA201005835B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104615420A (zh) * 2014-12-29 2015-05-13 芜湖乐锐思信息咨询有限公司 一种产品协作开发系统
CN104885073A (zh) * 2013-01-11 2015-09-02 拉笔事新闻报 用于生成数字版本的系统和方法
CN106570045A (zh) * 2015-10-13 2017-04-19 腾讯科技(深圳)有限公司 一种数据操作控制方法及其系统、用户终端
CN109753620A (zh) * 2018-12-27 2019-05-14 永中软件股份有限公司 网页文档处理方法和系统
CN109791653A (zh) * 2016-07-19 2019-05-21 微软技术许可有限责任公司 用于内容协作的自动推荐
CN109891445A (zh) * 2016-11-01 2019-06-14 微软技术许可有限责任公司 经由跨iframe信令重新归位嵌入式网络内容
CN115640801A (zh) * 2022-09-09 2023-01-24 南方电网数字平台科技(广东)有限公司 文稿修订方法及装置

Families Citing this family (129)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8326814B2 (en) 2007-12-05 2012-12-04 Box, Inc. Web-based file management system and service
EP2250623A4 (en) 2008-03-05 2011-03-23 Ebay Inc METHOD AND DEVICE FOR IMAGE RECOGNITION SERVICES
US9495386B2 (en) 2008-03-05 2016-11-15 Ebay Inc. Identification of items depicted in images
US8078957B2 (en) * 2008-05-02 2011-12-13 Microsoft Corporation Document synchronization over stateless protocols
US20090307607A1 (en) * 2008-06-10 2009-12-10 Microsoft Corporation Digital Notes
US9547589B2 (en) * 2008-06-18 2017-01-17 Super Talent Technology, Corp. Endurance translation layer (ETL) and diversion of temp files for reduced flash wear of a super-endurance solid-state drive
US9548108B2 (en) * 2008-06-18 2017-01-17 Super Talent Technology, Corp. Virtual memory device (VMD) application/driver for enhanced flash endurance
US8700776B2 (en) 2009-03-23 2014-04-15 Google Inc. System and method for editing a conversation in a hosted conversation system
US9665413B2 (en) * 2009-05-01 2017-05-30 Microsoft Technology Licensing, Llc Shared job scheduling in electronic notebook
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
US8219526B2 (en) 2009-06-05 2012-07-10 Microsoft Corporation Synchronizing file partitions utilizing a server storage model
US9164577B2 (en) 2009-12-22 2015-10-20 Ebay Inc. Augmented reality system, method, and apparatus for displaying an item image in a contextual environment
US9367123B2 (en) * 2010-01-29 2016-06-14 International Business Machines Corporation Systems and methods for collaborative browsing on the telecom web
AU2011240674B2 (en) 2010-04-12 2015-04-02 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
US8510399B1 (en) 2010-05-18 2013-08-13 Google Inc. Automated participants for hosted conversations
US9380011B2 (en) 2010-05-28 2016-06-28 Google Inc. Participant-specific markup
US9026935B1 (en) 2010-05-28 2015-05-05 Google Inc. Application user interface with an interactive overlay
US10127606B2 (en) 2010-10-13 2018-11-13 Ebay Inc. Augmented reality system and method for visualizing an item
US10554426B2 (en) 2011-01-20 2020-02-04 Box, Inc. Real time notification of activities that occur in a web-based collaboration environment
US9858552B2 (en) * 2011-06-15 2018-01-02 Sap Ag Systems and methods for augmenting physical media from multiple locations
US9015601B2 (en) 2011-06-21 2015-04-21 Box, Inc. Batch uploading of content to a web-based collaboration environment
US9063912B2 (en) 2011-06-22 2015-06-23 Box, Inc. Multimedia content preview rendering in a cloud content management system
WO2013009328A2 (en) 2011-07-08 2013-01-17 Box.Net, Inc. Collaboration sessions in a workspace on cloud-based content management system
EP2729877A4 (en) 2011-07-08 2015-06-17 Box Inc DESKTOP APPLICATION FOR ACCESS AND INTERACTION WITH JOBS IN A CLOUD-BASED CONTENT MANAGEMENT SYSTEM AND SYNCHRONIZATION MECHANISMS THEREFOR
US9336137B2 (en) 2011-09-02 2016-05-10 Google Inc. System and method for performing data management in a collaborative development environment
US20130076773A1 (en) * 2011-09-22 2013-03-28 National Tsing Hua University Nonlinear revision control system and method for images
US9197718B2 (en) 2011-09-23 2015-11-24 Box, Inc. Central management and control of user-contributed content in a web-based collaboration environment and management console thereof
US8515902B2 (en) 2011-10-14 2013-08-20 Box, Inc. Automatic and semi-automatic tagging features of work items in a shared workspace for metadata tracking in a cloud-based content management system with selective or optional user contribution
US9098474B2 (en) 2011-10-26 2015-08-04 Box, Inc. Preview pre-generation based on heuristics and algorithmic prediction/assessment of predicted user behavior for enhancement of user experience
WO2013062599A1 (en) 2011-10-26 2013-05-02 Box, Inc. Enhanced multimedia content preview rendering in a cloud content management system
US9449342B2 (en) 2011-10-27 2016-09-20 Ebay Inc. System and method for visualization of items in an environment using augmented reality
US8738706B1 (en) * 2011-11-16 2014-05-27 Google Inc. Systems and methods for collaborative document editing
US8990307B2 (en) * 2011-11-16 2015-03-24 Box, Inc. Resource effective incremental updating of a remote client with events which occurred via a cloud-enabled platform
GB2500152A (en) 2011-11-29 2013-09-11 Box Inc Mobile platform file and folder selection functionalities for offline access and synchronization
WO2013090908A1 (en) * 2011-12-16 2013-06-20 Charles Joseph Matthews Methods, systems, devices and computer program products for collaborative selection
US9019123B2 (en) 2011-12-22 2015-04-28 Box, Inc. Health check services for web-based collaboration environments
US9904435B2 (en) 2012-01-06 2018-02-27 Box, Inc. System and method for actionable event generation for task delegation and management via a discussion forum in a web-based collaboration environment
US11232481B2 (en) 2012-01-30 2022-01-25 Box, Inc. Extended applications of multimedia content previews in the cloud-based content management system
US9965745B2 (en) 2012-02-24 2018-05-08 Box, Inc. System and method for promoting enterprise adoption of a web-based collaboration environment
US9195636B2 (en) 2012-03-07 2015-11-24 Box, Inc. Universal file type preview for mobile devices
US9054919B2 (en) 2012-04-05 2015-06-09 Box, Inc. Device pinning capability for enterprise cloud service and storage accounts
US9575981B2 (en) 2012-04-11 2017-02-21 Box, Inc. Cloud service enabled to handle a set of files depicted to a user as a single file in a native operating system
US9396216B2 (en) 2012-05-04 2016-07-19 Box, Inc. Repository redundancy implementation of a system which incrementally updates clients with events that occurred via a cloud-enabled platform
US9691051B2 (en) 2012-05-21 2017-06-27 Box, Inc. Security enhancement through application access control
US8914900B2 (en) 2012-05-23 2014-12-16 Box, Inc. Methods, architectures and security mechanisms for a third-party application to access content in a cloud-based platform
US9027108B2 (en) 2012-05-23 2015-05-05 Box, Inc. Systems and methods for secure file portability between mobile applications on a mobile device
US20130326323A1 (en) 2012-05-30 2013-12-05 Google Inc. Systems and methods for displaying contextual revision history
US10846766B2 (en) 2012-06-29 2020-11-24 Ebay Inc. Contextual menus based on image recognition
US9021099B2 (en) 2012-07-03 2015-04-28 Box, Inc. Load balancing secure FTP connections among multiple FTP servers
US9712510B2 (en) 2012-07-06 2017-07-18 Box, Inc. Systems and methods for securely submitting comments among users via external messaging applications in a cloud-based platform
GB2505072A (en) 2012-07-06 2014-02-19 Box Inc Identifying users and collaborators as search results in a cloud-based system
US9792320B2 (en) 2012-07-06 2017-10-17 Box, Inc. System and method for performing shard migration to support functions of a cloud-based service
US9473532B2 (en) 2012-07-19 2016-10-18 Box, Inc. Data loss prevention (DLP) methods by a cloud service including third party integration architectures
US9794256B2 (en) 2012-07-30 2017-10-17 Box, Inc. System and method for advanced control tools for administrators in a cloud-based service
US8868574B2 (en) 2012-07-30 2014-10-21 Box, Inc. System and method for advanced search and filtering mechanisms for enterprise administrators in a cloud-based environment
US9369520B2 (en) 2012-08-19 2016-06-14 Box, Inc. Enhancement of upload and/or download performance based on client and/or server feedback information
US8745267B2 (en) 2012-08-19 2014-06-03 Box, Inc. Enhancement of upload and/or download performance based on client and/or server feedback information
GB2513671A (en) 2012-08-27 2014-11-05 Box Inc Server side techniques for reducing database workload in implementing selective subfolder synchronization in a cloud-based environment
US9135462B2 (en) 2012-08-29 2015-09-15 Box, Inc. Upload and download streaming encryption to/from a cloud-based platform
US9117087B2 (en) 2012-09-06 2015-08-25 Box, Inc. System and method for creating a secure channel for inter-application communication based on intents
US9311071B2 (en) 2012-09-06 2016-04-12 Box, Inc. Force upgrade of a mobile application via a server side configuration file
US9195519B2 (en) 2012-09-06 2015-11-24 Box, Inc. Disabling the self-referential appearance of a mobile application in an intent via a background registration
US9292833B2 (en) 2012-09-14 2016-03-22 Box, Inc. Batching notifications of activities that occur in a web-based collaboration environment
US10200256B2 (en) 2012-09-17 2019-02-05 Box, Inc. System and method of a manipulative handle in an interactive mobile user interface
US9553758B2 (en) 2012-09-18 2017-01-24 Box, Inc. Sandboxing individual applications to specific user folders in a cloud-based service
US10915492B2 (en) 2012-09-19 2021-02-09 Box, Inc. Cloud-based platform enabled with media content indexed for text-based searches and/or metadata extraction
WO2014051577A1 (en) * 2012-09-27 2014-04-03 Hewlett-Packard Development Company, L. P. Sharing content between collocated mobile devices in an ad-hoc private social group
US9959420B2 (en) 2012-10-02 2018-05-01 Box, Inc. System and method for enhanced security and management mechanisms for enterprise administrators in a cloud-based environment
US9495364B2 (en) 2012-10-04 2016-11-15 Box, Inc. Enhanced quick search features, low-barrier commenting/interactive features in a collaboration platform
US9705967B2 (en) 2012-10-04 2017-07-11 Box, Inc. Corporate user discovery and identification of recommended collaborators in a cloud platform
US9665349B2 (en) 2012-10-05 2017-05-30 Box, Inc. System and method for generating embeddable widgets which enable access to a cloud-based collaboration platform
EP2784717A1 (en) 2012-10-17 2014-10-01 Box, Inc. Remote key management in a cloud-based environment
US9756022B2 (en) 2014-08-29 2017-09-05 Box, Inc. Enhanced remote key management for an enterprise in a cloud-based environment
US9529785B2 (en) 2012-11-27 2016-12-27 Google Inc. Detecting relationships between edits and acting on a subset of edits
US10235383B2 (en) 2012-12-19 2019-03-19 Box, Inc. Method and apparatus for synchronization of items with read-only permissions in a cloud-based environment
US9396245B2 (en) 2013-01-02 2016-07-19 Box, Inc. Race condition handling in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform
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
US9953036B2 (en) 2013-01-09 2018-04-24 Box, Inc. File system monitoring in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform
EP2755151A3 (en) 2013-01-11 2014-09-24 Box, Inc. Functionalities, features and user interface of a synchronization client to a cloud-based environment
US9311622B2 (en) 2013-01-15 2016-04-12 Google Inc. Resolving mutations in a partially-loaded spreadsheet model
EP2757491A1 (en) 2013-01-17 2014-07-23 Box, Inc. Conflict resolution, retry condition management, and handling of problem files for the synchronization client to a cloud-based platform
US10846074B2 (en) 2013-05-10 2020-11-24 Box, Inc. Identification and handling of items to be ignored for synchronization with a cloud-based platform by a synchronization client
US10725968B2 (en) 2013-05-10 2020-07-28 Box, Inc. Top down delete or unsynchronization on delete of and depiction of item synchronization with a synchronization client to a cloud-based platform
US9633037B2 (en) 2013-06-13 2017-04-25 Box, Inc Systems and methods for synchronization event building and/or collapsing by a synchronization component of a cloud-based platform
US9805050B2 (en) 2013-06-21 2017-10-31 Box, Inc. Maintaining and updating file system shadows on a local device by a synchronization client of a cloud-based platform
US10229134B2 (en) 2013-06-25 2019-03-12 Box, Inc. Systems and methods for managing upgrades, migration of user data and improving performance of a cloud-based platform
US9535924B2 (en) 2013-07-30 2017-01-03 Box, Inc. Scalability improvement in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform
US9971752B2 (en) 2013-08-19 2018-05-15 Google Llc Systems and methods for resolving privileged edits within suggested edits
US10509527B2 (en) 2013-09-13 2019-12-17 Box, Inc. Systems and methods for configuring event-based automation in cloud-based collaboration platforms
US8892679B1 (en) 2013-09-13 2014-11-18 Box, Inc. Mobile device, methods and user interfaces thereof in a mobile device platform featuring multifunctional access and engagement in a collaborative environment provided by a cloud-based platform
GB2518298A (en) 2013-09-13 2015-03-18 Box Inc High-availability architecture for a cloud-based concurrent-access collaboration platform
US9704137B2 (en) 2013-09-13 2017-07-11 Box, Inc. Simultaneous editing/accessing of content by collaborator invitation through a web-based or mobile application to a cloud-based collaboration platform
US9213684B2 (en) 2013-09-13 2015-12-15 Box, Inc. System and method for rendering document in web browser or mobile device regardless of third-party plug-in software
US9535909B2 (en) 2013-09-13 2017-01-03 Box, Inc. Configurable event-based automation architecture for cloud-based collaboration platforms
US10866931B2 (en) 2013-10-22 2020-12-15 Box, Inc. Desktop application for accessing a cloud collaboration platform
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
US11336648B2 (en) 2013-11-11 2022-05-17 Amazon Technologies, Inc. Document management and collaboration system
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
US9690785B1 (en) * 2014-01-30 2017-06-27 Google Inc. Change notification routing based on original authorship of modified region
US10691877B1 (en) 2014-02-07 2020-06-23 Amazon Technologies, Inc. Homogenous insertion of interactions into documents
US9928241B2 (en) * 2014-03-18 2018-03-27 Smartsheet Inc. Systems and methods for analyzing electronic communications to dynamically improve efficiency and visualization of collaborative work environments
DE102014208454A1 (de) * 2014-05-06 2015-11-12 Siemens Aktiengesellschaft Wärmespeicher
US10530854B2 (en) 2014-05-30 2020-01-07 Box, Inc. Synchronization of permissioned content in cloud-based environments
US9602514B2 (en) 2014-06-16 2017-03-21 Box, Inc. Enterprise mobility management and verification of a managed application by a content provider
US10038731B2 (en) 2014-08-29 2018-07-31 Box, Inc. Managing flow-based interactions with cloud-based shared content
US10574442B2 (en) 2014-08-29 2020-02-25 Box, Inc. Enhanced remote key management for an enterprise in a cloud-based environment
US9894119B2 (en) 2014-08-29 2018-02-13 Box, Inc. Configurable metadata-based automation and content classification architecture for cloud-based collaboration platforms
US9811241B2 (en) 2014-09-17 2017-11-07 International Business Machines Corporation Shared inter-operational control among multiple computing devices
US9807073B1 (en) 2014-09-29 2017-10-31 Amazon Technologies, Inc. Access to documents in a document management and collaboration system
CN104536705A (zh) * 2015-01-19 2015-04-22 浪潮电子信息产业股份有限公司 一种高容量低功耗冷存储设计方法
KR101701110B1 (ko) * 2016-03-11 2017-02-13 주식회사 인프라웨어 공동 편집 문서를 공유하는 방법 및 장치
CN107924391A (zh) * 2015-04-20 2018-04-17 盈发伟公司 共享协同编辑文档的方法和装置
US12106039B2 (en) 2021-02-23 2024-10-01 Coda Project, Inc. System, method, and apparatus for publication and external interfacing for a unified document surface
US10466868B2 (en) * 2016-04-27 2019-11-05 Coda Project, Inc. Operations log
US10740553B2 (en) * 2017-04-17 2020-08-11 Microsoft Technology Licensing, Llc Collaborative review workflow graph
US10303420B2 (en) * 2017-05-02 2019-05-28 Microsoft Technology Licensing, Llc Proactive staged distribution of document activity indicators
RU2661327C1 (ru) * 2017-10-04 2018-07-13 Общество с ограниченной ответственностью "Электронный архив" Способ обеспечения конфиденциальности при поточной операторской электронной обработке бумажных документов и программное обеспечение для его реализации
CN108683694B (zh) * 2018-03-22 2021-09-14 厦门欣旅通科技有限公司 一种信息协同处理方法、系统及服务器
KR102087280B1 (ko) * 2018-06-27 2020-03-10 주식회사 한글과컴퓨터 편집 명령을 포함하는 메시지에 기초하여 전자 문서를 편집하는 서버 및 그 동작 방법
US11106823B1 (en) 2019-01-18 2021-08-31 Pitchly, Inc. System and method for generating reversible anonymized record identifiers from a remote data system
US11328238B2 (en) * 2019-04-01 2022-05-10 Microsoft Technology Licensing, Llc Preemptively surfacing relevant content within email
CN112654995B (zh) 2019-04-08 2024-11-08 谷歌有限责任公司 跟踪在线协作电子文档中的内容归因
KR102914832B1 (ko) * 2025-04-22 2026-01-19 주식회사 엑스프림 웹 애플리케이션 환경에서의 dom 상태 동기화 방법 및 그를 위한 장치

Family Cites Families (26)

* 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
US5890177A (en) * 1996-04-24 1999-03-30 International Business Machines Corporation Method and apparatus for consolidating edits made by multiple editors working on multiple document copies
US6233600B1 (en) * 1997-07-15 2001-05-15 Eroom Technology, Inc. Method and system for providing a networked collaborative work environment
US6516339B1 (en) * 1999-08-18 2003-02-04 International Business Machines Corporation High performance client/server editor
US6189009B1 (en) * 1999-08-27 2001-02-13 The Voice.Com, Inc. System and method for integrating paper-based business documents with computer-readable data entered via a computer network
US7152220B2 (en) * 1999-12-09 2006-12-19 Sensemaking Technologies Corp. Collaboration engine: adding collaboration functionality to computer software
WO2002017115A2 (en) * 2000-08-21 2002-02-28 Thoughtslinger Corporation Simultaneous multi-user document editing system
JP3943824B2 (ja) 2000-10-31 2007-07-11 株式会社東芝 情報管理方法および情報管理装置
US6907565B1 (en) * 2000-12-13 2005-06-14 Cisco Technology, Inc. Web-based output writer and editor
US20040205541A1 (en) * 2001-08-07 2004-10-14 D'amico Mario Web browser with annotation capability
WO2003017114A1 (en) * 2001-08-20 2003-02-27 Gausa, Llc System and method for real-time multi-directional file-based data streaming editor
US7725490B2 (en) * 2001-11-16 2010-05-25 Crucian Global Services, Inc. Collaborative file access management system
JP4017101B2 (ja) 2002-03-19 2007-12-05 株式会社リコー 電子会議システム
US20030233621A1 (en) * 2002-06-13 2003-12-18 International Business Machines Corporation Editor for smart version control
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
US7171618B2 (en) * 2003-07-30 2007-01-30 Xerox Corporation Multi-versioned documents and method for creation and use thereof
US20050044145A1 (en) * 2003-08-20 2005-02-24 International Business Machines Corporation Collaboration method and system
US20050131926A1 (en) * 2003-12-10 2005-06-16 Siemens Corporate Research Inc. Method of hybrid searching for extensible markup language (XML) documents
US7233951B1 (en) * 2004-02-18 2007-06-19 Microsoft Corporation Spreadsheet grid-like control for a web-based collaboration system
CN100458774C (zh) * 2004-11-29 2009-02-04 国际商业机器公司 文档编辑器及文档编辑方法
WO2007082166A2 (en) 2006-01-05 2007-07-19 Eyespot Corporation System and methods for distributed edit processing in an online video editing system
US7774703B2 (en) * 2006-02-09 2010-08-10 Microsoft Corporation Virtual shadow awareness for multi-user editors
US7917848B2 (en) * 2006-06-14 2011-03-29 Family Learn LLC Online publishing tools
US20080059539A1 (en) * 2006-08-08 2008-03-06 Richard Chin Document Collaboration System and Method
US8850332B2 (en) * 2006-12-28 2014-09-30 International Business Machines Corporation Object selection in web page authoring
US9298815B2 (en) * 2008-02-22 2016-03-29 Accenture Global Services Limited System for providing an interface for collaborative innovation

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104885073A (zh) * 2013-01-11 2015-09-02 拉笔事新闻报 用于生成数字版本的系统和方法
CN104885073B (zh) * 2013-01-11 2017-10-24 奴格里夫有限公司 用于生成数字版本的系统和方法
CN104615420A (zh) * 2014-12-29 2015-05-13 芜湖乐锐思信息咨询有限公司 一种产品协作开发系统
CN106570045A (zh) * 2015-10-13 2017-04-19 腾讯科技(深圳)有限公司 一种数据操作控制方法及其系统、用户终端
CN106570045B (zh) * 2015-10-13 2020-12-08 腾讯科技(深圳)有限公司 一种数据操作控制方法及其系统、用户终端
CN109791653A (zh) * 2016-07-19 2019-05-21 微软技术许可有限责任公司 用于内容协作的自动推荐
CN109891445A (zh) * 2016-11-01 2019-06-14 微软技术许可有限责任公司 经由跨iframe信令重新归位嵌入式网络内容
CN109753620A (zh) * 2018-12-27 2019-05-14 永中软件股份有限公司 网页文档处理方法和系统
CN109753620B (zh) * 2018-12-27 2021-02-12 永中软件股份有限公司 网页文档处理方法和系统
CN115640801A (zh) * 2022-09-09 2023-01-24 南方电网数字平台科技(广东)有限公司 文稿修订方法及装置

Also Published As

Publication number Publication date
MY155755A (en) 2015-11-30
IL207620A0 (en) 2010-12-30
ZA201005835B (en) 2011-10-26
US20090235181A1 (en) 2009-09-17
EP2266048A4 (en) 2013-01-02
KR20110000655A (ko) 2011-01-04
EP2266048A2 (en) 2010-12-29
WO2009114218A3 (en) 2009-11-05
MX339987B (es) 2016-06-17
SG188886A1 (en) 2013-04-30
AU2009223346B2 (en) 2014-02-20
AU2009223346A1 (en) 2009-09-17
RU2507567C2 (ru) 2014-02-20
MX2010009893A (es) 2010-10-15
KR101584828B1 (ko) 2016-01-12
JP5611059B2 (ja) 2014-10-22
CA2717347C (en) 2017-08-29
JP2011517809A (ja) 2011-06-16
RU2010137977A (ru) 2012-03-20
IL207620A (en) 2015-01-29
US9436927B2 (en) 2016-09-06
CA2717347A1 (en) 2009-09-17
BRPI0908188A2 (pt) 2015-09-29
EP2266048B1 (en) 2018-05-16
WO2009114218A2 (en) 2009-09-17

Similar Documents

Publication Publication Date Title
CN101971163A (zh) 基于web的多用户协作
US11782949B2 (en) Violation resolution in client synchronization
CN109189835B (zh) 实时生成数据宽表的方法和装置
US8725793B2 (en) Architectural pattern for persistent web application design
US8260876B2 (en) System and method for reducing startup cost of a software application
CN112947992B (zh) 代码版本管理的方法和装置
US10216755B2 (en) Multi-master text synchronization using deltas
US8495166B2 (en) Optimized caching for large data requests
CN101576915B (zh) 一种分布式b+树索引系统及构建方法
US7680844B2 (en) Method for preserving virtual filesystem information across high availability takeover
US11334526B2 (en) Handling previews of remotely stored content objects
US20130166507A1 (en) Declarative synchronization of shared data
US20100211543A1 (en) Synchronizing metadata and document content across client systems using different communication channels
CN112783887A (zh) 一种基于数据仓库的数据处理方法及装置
CN114896206B (zh) 一种对象存储文件系统的检索方法和装置
HK1152768A (zh) 編輯文件的基於web的多用戶協作
HK1152768B (zh) 編輯文件的基於web的多用戶協作
KR101345802B1 (ko) 룰 데이터 처리 시스템 및 그 방법

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: 20150729

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

Effective date of registration: 20150729

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: 20110209