CN102132270A - 用于设备和web服务的多主控方离线和协作所需要的最小扩展 - Google Patents

用于设备和web服务的多主控方离线和协作所需要的最小扩展 Download PDF

Info

Publication number
CN102132270A
CN102132270A CN2009801342889A CN200980134288A CN102132270A CN 102132270 A CN102132270 A CN 102132270A CN 2009801342889 A CN2009801342889 A CN 2009801342889A CN 200980134288 A CN200980134288 A CN 200980134288A CN 102132270 A CN102132270 A CN 102132270A
Authority
CN
China
Prior art keywords
equipment
data
web service
user
metadata
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.)
Granted
Application number
CN2009801342889A
Other languages
English (en)
Other versions
CN102132270B (zh
Inventor
M·克斯拉维
L·诺维克
M·R·克拉克
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 CN102132270A publication Critical patent/CN102132270A/zh
Application granted granted Critical
Publication of CN102132270B publication Critical patent/CN102132270B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/273Asynchronous replication or reconciliation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Multi Processors (AREA)
  • Telephonic Communication Services (AREA)

Abstract

所要求保护的主题提供了便于连同多个设备一起管理数据一致性的系统和/或方法。设备集合可与用户相关联。WEB服务可经由接口组件从至少一个设备接收一部分数据,其中WEB服务可主控该部分数据并将该部分数据与用户的账户相关。主同步组件可利用来自至少一个设备的计算资源以便在以下的至少一个情况保持数据一致性:与用户相关联的设备集合中的两个或多个设备之间;或由WEB服务主控的账户和与用户相关联的设备集合中的两个或多个设备之间。

Description

用于设备和WEB服务的多主控方离线和协作所需要的最小扩展
背景技术
计算机技术(例如,微处理器速度、存储器容量、数据传输带宽、软件功能等)的进步一般有助于各行业中的计算机应用的增长。通常提供常被配置为服务器阵列的甚至更强大的服务器系统来服务源自诸如万维网等外部源的请求。
由于这些进步,可用电子数据的量增长,且以方便用户友好和快速的数据搜索和检索的可管理方式来储存这些数据变得愈发重要。当今,一种常见的方法是将电子数据存储在一个或多个数据库或数据存储中。一般而言,典型的数据存储可被称作经组织的信息集合,其数据被结构化使得计算机程序可例如快速搜索和选择期望的数据段。通常,数据存储内的数据是经由一张或多张表来组织的。这些表被排列为行和列的数组。
每一个个别的数据段本身一般并不具有非常丰富的信息。数据存储应用使得数据更有用,因为它们帮助用户组织和处理数据。数据存储应用允许用户比较、分类、排序、合并、分离和互连数据,使得可从数据生成并可由数据呈现有用的信息。数据库的容量和多功能性已难以置信地增长,以允许利用数据库的实际上无止境的存储容量。然而,典型的数据库系统受限于以有效且流水线化的方式来传递信息或详细资料。例如,必须在详细视图中选择数据文件以便呈现诸如文件名、文件大小、创建日期、被存取、被修改、位置、属性等信息。
随着终端用户持续且日益增长的数据的创建,围绕查找、相关、操纵和储存这些数据的问题和困难也逐步增加。终端用户编写文档、储存照片、从光盘中抓取音乐、接收电子邮件、保留已发送邮件的副本等等。例如,在创建音乐光盘的简单过程中,最终用户可创建兆字节的数据。从光盘中抓取音乐、将文件转换成合适的格式、创建首饰盒封面,以及设计光盘标签,都需要数据的创建。
此外,由于围绕开发者和/或用户的无限量的数据,因此保持各种不同机器和/或系统之间的数据一致性会是一个复杂且难以实现的任务。例如,用户能够利用各种设备(如膝上型机器、台式机等),其中数据一致性和/或同步是必须考虑的问题。更具体地,由于每个机器和/或系统生成大量的数据,因此对这些数据进行同步是一个极其困难的目标。
发明内容
下面呈现了本发明的摘要,以便提供此处所描述的某些方面的基本概念。此小结不是所要求保护的主题的详尽的概述。既没有指出所要求保护的主题的关键性元素,也没有描述本发明的范围。唯一的目的是以简化形式呈现所要求保护的主题的某些概念,作为稍后呈现的比较详细的描述的前奏。
本发明涉及便于多个设备和web服务之间同步数据的系统和/或方法。主同步组件可允许两个或多个设备之间无缝且通用的数据同步。具体来说,主同步组件可通过仅仅利用与两个或多个设备中的至少一个有关的计算资源来在这些设备之间提供数据一致性。而且,主同步组件可在web服务和两个或多个设备之间提供数据改变和/或更新。通过利用并实施项目级元数据和集合级元数据,主同步组件能够以无缝且非侵入的方式为多个设备以及多个设备和/或web服务提供数据同步。
而且,本发明可允许正确的冲突检测和解决传播。一般来说,提供了一种算法,其中web服务可实现以便允许对等能力或离线能力,而不必重新重建这种web服务。在所要求保护的主题的其他方面,提供了便于管理与某一实体相关联的多个设备之间的数据一致性的方法。
下面的描述和附图详细地阐述了所要求保护的主题的某些说明性方面。然而,这些方面只是表示可以使用本发明的原理的各种方式中的一些方式,并且所要求保护的主题旨在包括所有这些方面和等效内容。通过与附图一起阅读下面的本发明的详细描述,所要求保护的主题的其他优点和新颖的特点将变得显而易见。
附图说明
图1例示出便于多个设备和web服务之间同步数据的示例性系统的框图。
图2例示出便于在连同一web服务检测到数据改变时维持用户设备之间的数据一致性的示例性系统的框图。
图3例示出便于使web服务适合于两个或多个用户设备之间无缝且通用的数据同步的示例性系统的框图。
图4例示出便于管理与某一实体相关联的多个设备之间的数据一致性的示例性系统的框图。
图5例示出便于增强标识数据更新和将这些更新渗透到各种设备和/或web服务的示例性系统的框图。
图6例示出便于自动化管理多个设备和/或设备与web服务之间数据同步的示例性系统的框图。
图7例示出用于管理与某一实体相关联的多个设备之间的数据一致性的示例性方法。
图8例示出便于使web服务适合于两个或多个用户设备之间无缝且通用的数据同步的示例性方法。
图9示出了其中可以使用所要求保护的主题的新颖方面的示例性网络环境。
图10示出了根据所要求保护的主题的可以使用的示例性操作环境。
具体实施方式
现在参考附图来描述所要求保护的主题,在所有附图中使用相同的附图标记来指代相同的元素。在以下描述中,为解释起见,阐明了众多具体细节以提供对本发明的全面理解。然而,很明显,所要求保护的主题可以在没有这些具体细节的情况下实施。在其他情况下,以框图形式示出了各个已知的结构和设备以便于描述本发明。
如在此使用的,术语“组件”、“系统”、“数据存储”、“服务”、“云”、“设备”、“账户”、“处理器”、“解决器”、“实体”等意图指代计算机相关的实体,它们可以是硬件、软件(例如,执行中的)和/或固件。例如,组件可以是在处理器上运行的进程、处理器、对象、可执行码、程序、函数、库、子例程,和/或计算机或者软件和硬件的组合。作为说明,在服务器上运行的应用程序和服务器两者都可以是组件。一个或多个组件可以驻留在进程中,且组件可以位于一个计算机上和/或分布在两个或更多计算机之间。应该理解在给定的二方同步中可存在多个主控方,以及能以近似任意的拓扑(如具有至少一个主控方的对等)同步数据。
此外,所要求保护的主题可以使用用于产生控制计算机以实现所公开的主题的软件、固件、硬件或其任意组合的标准编程和/或工程技术来实现为方法、装置或制品。在此使用的术语“制品”旨在涵盖可以从任何计算机可读设备、载体或介质访问的计算机程序。例如,计算机可读介质可以包括,但不仅限于,磁存储设备(例如,硬盘、软盘、磁条)、光盘(例如,紧致盘(CD)、数字多功能盘(DVD))、智能卡,以及闪存设备(例如,卡、棒、键驱动器...)。另外,应该理解,可以使用载波来携带计算机可读电子数据,诸如在传输和接收电子邮件或在访问诸如因特网或局域网(LAN)之类的网络时所使用的那些。当然,本领域的技术人员将会认识到,可在不背离所要求保护的主题的范围或精神的情况下对此配置进行许多修改。此外,在此使用词语“示例性”意指用作示例、实例或说明。在此被描述为“示例性”的任何方面或设计并不一定要被解释为相比其他方面或设计更优选或有利。
现在转到附图,图1例示出便于多个设备和web服务之间同步数据的系统100。系统100可包括主同步组件102,主同步组件可在两个或多个设备106之间和/或web服务104与所述两个或多个设备106之间实施数据一致性。一般来说,主同步组件102可采用多设备数据同步以及多个设备和web服务104之间的数据同步。具体来说,主同步组件102可利用与至少一个设备相关联的计算资源以便保持两个或多个设备106内的数据一致性。而且,主同步组件102可通过利用与两个或多个设备106有关的计算资源实现web服务104和两个或多个设备106之间的数据同步。换言之,系统100能够以无缝且web服务无关的方式提供数据同步。
例如,用户可拥有或使用智能电话、膝上型计算机、台式计算机以便存储数据(例如文件、图片、图像、视频、音频等)。本发明可允许智能电话、膝上型计算机、台式计算机之间的数据一致性。换言之,基于用户设置(如要包括哪些设备、要同步哪些数据等),可评估设备和相应的数据以便确保:智能电话上的数据包括于膝上型计算机和台式计算机;膝上型计算机上的数据包括在智能电话和台式计算机上;台式计算机上的数据包括在智能电话和膝上型计算机上。
在另一个例子中,用户可利用设备(如智能电话、膝上型计算机、台式计算机)来收集、捕捉、存储等诸如图像之类的数据,其中这些数据可连同与图像相关联的web服务被使用。Web服务可使得用户能够设置账户,以及上传图像供查看、共享、编辑等。然而,图像可分散或存储在诸如智能电话、膝上型计算机和/或台式计算机之类的各种设备上。通过利用各设备的计算资源,可提供数据同步以独立于web服务而确保数据一致性。换言之,可确保web服务具有精确且复制的数据,如下:用于该用户的web服务上的数据被包括在智能电话、膝上型计算机和台式计算机上;智能电话上的数据被包括在用于该用户的web服务、台式计算机和膝上型计算机上;膝上型计算机上的数据被包括在用于该用户的web服务、智能电话和台式计算机上;台式计算机上的数据被包括在用于该用户的web服务、智能电话和膝上型计算机上。
此外,系统100可包括任何合适的和/或必要的接口组件108(在此被称为“接口108),该接口组件提供各种适配器、连接器、通道、通信路径等,以将主同步组件102集成到实际上任何操作和/或数据库系统中,和/或彼此集成。另外,接口108可以提供各种适配器、连接器、通道、通信路径等,它们提供与主同步组件102、web服务104、设备集合106中的至少一个设备、以及与系统100相关联的任何其他设备和/或组件交互。
图2例示出便于在连同一web服务检测到数据改变时维持用户设备之间的数据一致性的系统200的框图。系统200可包括主同步组件102,主同步组件可在两个或多个设备106之间以及两个或多个设备106与web服务104之间使用数据同步。一般来说,系统100可利用数据复制技术以便确保与两个或多个设备106和/或web服务104相关联的数据基本相似。Web服务104可包括与某一用户相关联的用户账户202。该用户可提供担保信息或凭证(如用户名、口令等)以便访问web服务104。应该理解,该用户可将一部分数据传送到web服务104用于对这些web服务的使用。
应该理解,可以有任何合适数量设备,诸如设备1到设备N,其中N是正整数。设备可以是但不限于智能电话、膝上型计算机、台式机、计算机、机器、便携数字助理(PDA)、蜂窝设备、寻呼机、双向设备、手持设备、移动设备、浏览设备、无线设备、便携游戏设备、游戏控制台、媒体播放器、便携媒体播放器、笔式驱动器、硬盘驱动器、数据存储、数字照相机、图像采集设备、视频采集设备、视频摄像机、音频采集设备、音频录音机、全球定位系统(GPS)、便携web浏览器等。此外,应该理解本发明可提供与任何适用的web服务的数据同步。Web服务可以是但不限于图像web服务、视频web服务、存储web服务、音频文件web服务、数据备份web服务、社交网络服务等。
系统200可进一步包括数据存储204,数据存储可包括由主同步组件102、web服务104、所述两个或多个设备106、接口108等利用和/或存取的任何合适的数据。例如,数据存储204可包括但不限于包括同步数据、同步设置、用户偏好、时间戳数据、版本数据、web服务设置、设备列表、项目元数据要求、项目元数据要求集合、更新算法、冲突检测技术、冲突解决技术、更新数据(如时间、源、位置等)等。而且,尽管将数据存储204描述为独立的组件,但是应理解数据存储204可以是独立的组件,结合到主同步组件102、某一设备、接口108之中,和/或它们的任何合适的组合。
应该理解,数据存储器204可以是,例如,易失性存储器或非易失性存储器,或者可包括易失性和非易失性存储器两者。作为例示,而不是限制,非易失性存储器可包括只读存储器(ROM)、可编程序ROM(PROM)、电可编程序ROM(EPROM)、电可擦可编程序ROM(EEPROM)或闪存。易失性存储器可包括充当外部高速缓冲存储器的随机存取存储器(RAM)。作为说明而不是限制,RAM可以有许多形式,如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双倍数据速率SDRAM(DDR SDRAM)、增强的SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、直接型存储器总线(Rambus)RAM(RDRAM),直接型存储器总线(Rambus)动态RAM(DRDRAM),以及存储器总线(Rambus)动态RAM(RDRAM)。本系统和方法的数据存储器204旨在包括,而不仅限于,这些以及任何其他合适类型的存储器。另外,还可以理解,数据存储器204可以是服务器、数据库、硬盘驱动器、笔式驱动器、外部硬盘驱动器、便携式硬盘驱动器等等。
图3例示出便于使web服务适合于两个或多个用户设备之间无缝且通用的数据同步的系统300。系统300可包括主同步组件102,主同步组件可在两个或多个设备106之间或web服务104与两个或多个设备106之间提供数据同步。系统300可提供多主控方同步能力,能以完全连接网格将web服务104扩展到多个端点(如设备、组件等)之间的离线或协作情形。例如,web服务104可使得富客户机从各种位置(如工作、家庭、汽车、度假等)同步,以及与多个设备同步。
主同步组件102可允许端点解释多主控方同步系统中所需的同步元数据。具体来说,web服务104可提供API或利用现有的API,其中该API可实施项目和集合级同步元数据。通过使用项目和集合级同步元数据,web服务104可提供对等(P2P)或离线能力(包括数据同步),而无需重建此类web服务104(如客户机侧上的独立数据同步)。
系统300可包括实施项目(如照片、个人联系人、图像文件、数据的一部分、视频的一部分、音频的一部分、图形的一部分、文本的一部分等)的元数据特性的项目组件302。项目组件302可允许对同步元数据(例如要作为权标、小的数据团等处理)的存储和取回。项目级元数据可包括一个对(如第一个数、第二个数、小的数、大的数等)以表示更新版本结构。例如,更新版本结构可包括最后更新者(如提供了数据改变/更新的实体)以及端点作出改变的本地时间中的实际更新时间。例如,项目组件302可使用可由特定冲突解决和检测情形以及墓碑清除(例如下文中更为详细讨论的)所采用的创建版本。在另一个例子中,项目组件302可使用BOOL作为删除标志或墓碑标记中的至少一个。
系统300还可包括集合处理器304,集合处理器可实施同步项目集合(如专辑、地址簿、文件夹等)的元数据特性。集合处理器304可允许串行化同步元数据的存储和取回,其中串行化同步元数据可被客户机用作改变枚举和冲突检测的基础。在一个示例中,墓碑清除可用作清除远程删除(例如从数据存储等)的策略。该集合级元数据可以是可用于多主控方同步系统中的权标,如时钟向量。集合处理器304可使用版本向量和扩展信息一起允许部分更新、中断、过滤等。
系统300可包括冲突解决器306,冲突解决器可使用更新算法来允许正确的冲突检测和解决传播。冲突解决器306可采用这样一种算法,该算法允许web服务104参与同步并允许在更新存在冲突时端点能够合理解释。当更新由启用非同步的客户机(如web用户接口、现有应用、第三方等)作出时,冲突解决器306可擦除正被更新的项目的更新版本信息,同时保持剩余的元数据(如创建版本)完整无缺。应理解,这可允许端点确定项目是否被更新过(如用户更新他们早已“看到”的项目)。当允许同步的端点作出对项目的更新时,冲突解决器306可利用端点的API来设置该项目的版本信息。Web服务104可尊重该条目而不修改或操纵该版本信息。冲突解决器306可进一步处理删除和墓碑。具体来说,冲突解决器306可保持同步元数据的副本,并在项目被删除时给予对被删除项目的访问。而且,冲突解决器306可给予对从更新时分配的附加同步元数据的访问。而且,允许同步的端点还可作出集合级元数据的副本,按照同步的快照来取得。
图4例示出便于管理与某一实体相关联的多个设备之间的数据一致性的系统400。系统400可包括主同步组件102,主同步组件可实施项目和项目集合的元数据要求,以便确保多个设备404的数据同步。具体来所,多个设备404可与用户402相关联。例如,多个设备404可由用户402使用、访问、拥有等。而且,应理解用户402可以是能够与至少一个设备交互或通信的任何合适的实体。例如,实体可以是但不限于个人、一组人、机器、网站、公司、企业、社区、家庭、网络、服务器等。
用户402可与各种设备交互或利用各种设备,以便收集、操纵、管理、通信、浏览、编辑等数据和/或项目。在该特定示例中,多个设备可包括台式计算机406、膝上型计算机408、数字照相机410、平板计算机412、智能电话414、便携数字助理(PDA)416、视频摄像机418、蜂窝电话420。主同步组件102可允许所述多个设备404中的两个或更多设备之间的数据一致性和同步。通过允许两个或更多设备数据同步,用户402可以无缝且通用的方式来管理数据。换言之,每个设备上的数据可以一致,以便向每个设备提供基本类似的数据。而且,应理解用户402可提供用户偏好和/或设置。这些个人化的设置可包括要同步哪些数据、要与哪些设备同步、安全设置(如用户名、口令等)、同步频率、和/或与数据一致性相关联的任何其他适用的设置。
图5例示出便于增强标识数据更新和将这些更新渗透到各种设备和/或web服务的系统500。系统500可进一步使用云502,云502可结合注释聚合器102、POI(未示出)、接口108、具有标识的POI数据504的地图的至少一个,和/或它们的任何合适的组合。应该理解,云502可包括与本发明相关联的任何合适的组件、设备、硬件、和/或软件。云502可以指由某一方(例如,场外、现场、第三方等)维护并可以由所标识的用户504通过网络(例如,因特网、无线、LAN、蜂窝、Wi-Fi、WAN等)访问的资源(例如,硬件、软件、其组合等)的任何集合。云502旨在包括任何服务、网络服务、云服务、资源集合等并可由所标识的用户经由网络来访问。例如,两个或更多个用户(如用户504)可以访问、加入云502和/或与其交互,并且进而访问、加入主同步组件102、接口108的至少一个,和/或它们的任何合适的组合,和/或与其交互。例如,用户504可与云502通信以便访问web服务506的集合中的web服务。而且,在与web服务506的这种通信期间,云502可经由主同步组件102提供数据同步。另外,云502可以向任何合适数量的用户和/或客户机提供任何合适数量的服务。具体来说,云502可包括在与某一用户相关联的两个或多个设备之间,或web服务和与某一用户相关联的两个或多个设备之间,提供数据一致性的资源和/或服务。具体来说,云502可利用与至少一个设备相关联的资源以便提供数据同步,其中云502可独立于来自web服务的资源而自动并动态地确保数据一致性。
图6例示出采用智能来便于管理多个设备和/或设备与web服务之间数据同步的系统600。系统600可包括主同步组件102、两个或多个设备106、web服务104以及接口108,它们可以类似于先前的图中所描述的相应的组件、设备、服务和接口。系统600还包括智能组件602。智能组件可由主同步组件102使用来便于同步数据。例如,智能组件602可推断项目的元数据特性、项目集合的元数据特性、同步设置、冲突检测、冲突解决、与项目级元数据相关联的权标数据、与集合级元数据相关联的权标数据、更新版本结构、元数据对、串行化同步元数据、时钟向量数据、版本数据向量、端点数据等。
智能组件602可以采用信息值(VOI)计算,以便标识用于同步的最佳数据和与之相关联的特性。例如,通过使用VOI,可在两个或多个设备106或web服务104与两个或多个设备106之间同步最理想和/或合适的数据。此外,可以理解,智能组件602可以从经由事件和/或数据捕捉到的一组观察结果,推理或推断出系统、环境和/或用户的状态。可以使用推断来识别特定上下文或动作,也可以生成例如状态上的概率分布。推断可以是概率性的——即,基于对数据和事件的考虑来计算在感兴趣状态上的概率分布。推断也可以是指用于从一组事件和/或数据构成较高级事件的技术。这样的推断导致从一组观察到的事件和/或存储的事件数据构建新的事件或动作,而不管事件在时间接近度上是否紧密相关,以及事件和数据是来自一个还是若干个事件和数据源。可以与结合所要求保护的主题执行的自动和/或推断操作相结合地使用各种分类(显式地和/或隐式地训练的)方案和/或系统(例如,支持向量机、神经网络、专家系统、贝叶斯信任网络、模糊逻辑、数据融合引擎,等等)。
分类器是将输入属性矢量x=(x1,x2,x3,x4,xn)映射到该输入属于一个类的置信度的函数,即f(x)=置信度(类)。这样的分类可以使用基于概率和/或统计的分析(例如,分解成分析效用和成本)来预测或推断用户希望自动地执行的动作。支持矢量机(SVM)是可以使用的分类器的一个示例。SVM通过发现可能的输入的空间中的超曲面来操作,该超曲面试图将触发准则与非触发事件分离。直观地,这使得分类可以校正与训练数据接近但又不完全相同的测试数据。其他有向和无向模型分类方法包括,例如,朴素贝叶斯、贝叶斯网络、决策树、神经网络、模糊逻辑模型,且也可以使用提供不同独立性模式的概率分类模型。如这里所使用的分类还包括被用来开发优先级模型的统计回归。
主同步组件102还可利用提供各种类型的用户界面来方便用户和耦合到主同步组件102的任何组件之间的交互的呈现组件604。如图所示,呈现组件604是可以与主同步组件102一起利用的单独实体。然而,可以理解,呈现组件604和/或类似的查看组件可以被结合到主同步组件102中和/或是一独立单元。呈现组件604可以提供一个或多个图形用户界面(GUI)、命令行界面等等。例如,可以向用户呈现提供用于加载、导入、读取等等数据的区域或手段,并可包括呈现这样的操作的结果的区域的GUI。这些区域可以包括已知文本和/或图形区域,包括对话框、静态控件、下拉菜单、列表框、弹出式菜单,编辑控件、组合框、单选按扭、复选框、按钮,以及图形框。另外,还可以使用便于呈现的实用程序,诸如用于导航的垂直和/或水平滚动条以及工具条按扭以确定某一区域是否可查看。例如,用户可以与耦合到和/或结合到主同步组件102中的一个或多个组件交互。
用户还可以与区域进行交互以经由各种设备(诸如,例如,鼠标、滚球、触摸板、键区、键盘、触摸屏、笔和/或话音激话、人体运动检测)来选择和提供信息。通常,可在输入了信息之后采用诸如键盘上的按钮或回车键等机制。然而,可以理解,所要求保护的主题没有这样的限制。例如,只突出显示复选框可以发起信息传达。在另一示例中,可以使用命令行界面。例如,命令行界面可以经由提供文本消息向用户(例如,经由显示器上的文本消息和音频音调)提示信息。然后,用户可以提供合适的信息,如与界面提示中所提供的选项相对应字母数字输入或对在提示中提出的问题的回答。可以理解,可结合GUI和/或API使用命令行界面。另外,还可以结合具有有限图形支持和/或低带宽通信信道的硬件(例如,视频卡)和/或显示器(例如,黑白、EGA、VGA、SVGA等等)来使用命令行界面。
图7-8示出根据所要求保护的主题的方法和/或流程图。为简洁起见,方法被描绘并描述为一系列动作。可以理解和明白,本发明不仅限于所示出的动作和/或动作的顺序。例如,一些动作可以按各种顺序和/或并发地进行,并带有此处未呈现和描述的其他动作。此外,并非所有的所示出的动作都是实现根据所要求保护的主题的方法所必需的。另外,本领域的技术人员将了解和明白,方法也可以替代地经由状态图或事件表示为一系列相互相关联的状态。另外,还应该进一步理解,下面以及整个说明书中所公开的方法能够被存储在一种制品中,以促进将这样的方法传送和传输到计算机中。在此使用的术语“制品”旨在涵盖可以从任何计算机可读设备、载体、或介质访问的计算机程序。
图7例示出便于管理与某一实体相关联的多个设备之间的数据一致性的方法700。在参考标号702,可将两个或多个设备标识为连接的网格中的端点。例如,设备可以是但不限于智能电话、膝上型计算机、台式机、计算机、机器、便携数字助理(PDA)、蜂窝设备、寻呼机、双向设备、手持设备、移动设备、浏览设备、无线设备、便携游戏设备、游戏控制台、媒体播放器、便携媒体播放器、笔式驱动器、硬盘驱动器、数据存储、数字照相机、图像采集设备、视频采集设备、视频摄像机、音频采集设备、音频录音机、全球定位系统(GPS)、便携web浏览器等。
在参考标号704,可对与至少一个设备相关联的数据的一部分使用数据改变。例如,数据改变可以是添加数据、删除数据、操纵数据、编辑数据、和/或对数据的任何其他合适的修改。在参考标号706,使用来自至少一个设备的资源对连接的网格中的两个或多个设备实现数据改变。例如,可使用设备资源来跨连接的网格内的两个或多个设备使用数据同步。在另一实施例中,可在web服务和连接的网格内的两个和多个设备之间进行数据同步。而且,应理解来自web服务的计算资源无需被利用来提供与之的数据同步。
图8例示出用于使web服务适合于两个或多个用户设备之间无缝且通用的数据同步的方法800。在参考标号802,可实施项目级同步元数据来表示项目更新的更新版本结构。该项目可以是例如照片、个人联系人、图像文件、数据的一部分、视频的一部分、音频的一部分、图形的一部分、文本的一部分等。具体来说,项目级同步元数据可以是一个对,如第一个数和第二个数(如小的数和大的数等)。而且,版本结构可包括最新进的更新者和端点作出改变或项目更新的本地时间中的实际更新时间。
在参考标号804,项目级同步元数据可被串行化并用作用于改变枚举和冲突检测的时钟向量。例如,串行化的项目级同步元数据可由客户机用于改变枚举和冲突检测的基础。此外,串行化的项目级同步元数据可被定义成带有扩展信息的版本向量,以允许部分更新、中断、过滤等。
在参考标号806,如果更新是由启用非同步的客户机作出的,则可对正被更新的项目移除更新版本信息。换言之,与更新版本结构有关的信息可被移除,以允许端点(如设备等)确定已被看见或访问的项目已被更新。例如,启用非同步的客户机可以是,但不限于,web UI、现有应用、第三方等。在参考标号808,可使用端点来设置正由启用同步的端点更新的项目的版本信息(如与更新版本结构有关)。在一个例子中,当项目被更新时,可使用与端点有关的API来设置项目的版本信息。
为了提供用于实现所要求保护的主题的各个方面的附加的上下文,图9-10以及下面的讨论旨在提供其中可以实现本发明的各个方面的合适的计算环境的简要的、一般描述。例如,如先前的附图所述的利用通用算法在多个设备之间进行数据同步的主同步组件可在此类合适的计算环境中实现。尽管以上已在可以在本地计算机和/或远程计算机上运行的计算机程序的计算机可执行指令的一般上下文中描述了所要求保护的主题的,但是,本领域技术人员将认识到,也可结合其他程序模块来实现本发明。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、组件、数据结构等。
此外,本领域技术人员将了解,可以利用其他计算机系统配置来实施本发明的方法,包括单处理器和/或多处理器计算机系统,小型计算机、大型计算机,以及个人计算机,手持式计算设备、基于微处理器和/或可编程消费电子产品等等,上述每一种设备都可以可操作地与一个或多个相关联的设备进行通信。所要求保护的主题的所说明的方面也可以在其中某些任务由通过通信网络链接的远程处理设备执行的分布式计算环境中实现。然而,本发明的某些方面,如果不是所有方面的话,可以在独立计算机上实施。在分布式计算环境中,程序模块可以位于本地和/或远程存储器存储设备中。
图9是所要求保护的主题可以与其进行交互的示例计算环境900的示意框图。系统900包括一个或多个客户机910。客户机910可以是硬件和/或软件(例如,线程、进程、计算设备)。系统900还包括一个或多个服务器920。服务器920可以是硬件和/或软件(例如,线程、进程、计算设备)。服务器920可以,例如,通过使用本发明来保存执行变换的线程。
客户机910和服务器920之间的一种可能的通信可以是适用于在两个或更多计算机进程之间传输的数据包的形式。系统900包括通信框架940,该通信框架1050可以被用来促进客户机910和服务器920之间的通信。类似地,客户机910可操作地连接到一个或多个客户机数据存储950,这些数据存储可用于存储客户机910本地的信息。类似地,服务器920可操作地连接到一个或多个服务器数据存储930,这些数据存储可用于存储服务器920本地的信息。
参考图10,用于实现所要求保护的主题的各方面的示例性环境1000可以包括计算机1012。计算机1012包括处理单元1014、系统存储器1016,以及系统总线1018。系统总线1018将系统组件——包括但不仅限于系统存储器1016耦合到处理单元1014。处理单元1014可以是各种处理器中的任一种。还可以使用双微处理器及其他多处理器体系结构作为处理单元1014。
系统总线1018可以是若干类型的总线结构中的任一种,包括使用各种可用的总线体系结构中的任一种的存储器总线或存储器控制器、外围总线或外部总线,以及局部总线,总线体系结构包括,但不仅限于,工业标准体系结构(ISA)、微通道体系结构(MCA)、扩展的ISA(EISA)、智能驱动器电子(IDE)、VESA局部总线(VLB)、外围组件互连(PCI)、卡总线、通用串行总线(USB)、高级图形端口(AGP)、个人计算机存储器卡国际联合会总线(PCMCIA)、火线(IEEE 1394),以及小型计算机系统接口(SCSI)。
系统存储器1016包括易失性存储器1020和非易失性存储器1022。基本输入/输出系统(BIOS)被存储在非易失性存储器1022中,包含例如在启动过程中帮助在计算机1012内的元件之间传输信息的基本例程。作为说明,而不是限制,非易失性存储器1022可包括只读存储器(ROM)、可编程序ROM(PROM)、电可编程序ROM(EPROM)、电可擦可编程序ROM(EEPROM)或闪存。易失性存储器1020包括充当外部高速缓冲存储器的随机存取存储器(RAM)。作为说明而不是限制,RAM可以有许多形式,如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双倍数据速率SDRAM(DDR SDRAM)、增强的SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、直接型存储器总线(Rambus)RAM(RDRAM),直接型存储器总线(Rambus)动态RAM(DRDRAM),以及存储器总线(Rambus)动态RAM(RDRAM)。
计算机1012还包括可移动的/不可移动、易失性/非易失性的计算机存储介质。图10示出了例如磁盘存储器1024。磁盘存储器1024包括但不限于,诸如磁盘驱动器、软盘驱动器、磁带驱动器、Jaz驱动器、Zip驱动器、LS-100驱动器、闪存卡或记忆棒之类的设备。另外,磁盘存储器1024可包括存储介质——分开地或与其他存储介质相结合——包括,但不限于,诸如紧致盘ROM设备之类的光盘驱动器(CD-ROM)、CD可记录驱动器(CD-R驱动器)、CD可重写驱动器(CD-RW驱动器)或数字多功能盘ROM驱动器(DVD-ROM)。为便于磁盘存储设备1024连接到系统总线1018,通常使用诸如接口1026之类的可移动或不可移动接口。
可以理解,图10描述了在合适的操作环境1000中在用户和所描述的基本计算机资源之间充当中介的软件。这样的软件包括操作系统1028。可以存储在磁盘存储器1028上的操作系统1024用于控制和分配计算机系统1012的资源。系统应用程序1030利用由操作系统1028通过存储在系统存储器1016中或者存储在盘存储1024上的程序模块1032和程序数据1034对资源的管理。可以理解,所要求保护的主题可以利用各种操作系统或操作系统的组合来实现。
用户通过输入设备1036向计算机1012输入命令或信息。输入设备1036包括,但不限于,诸如鼠标、跟踪球、指示笔、触摸板之类的指示设备、键盘、麦克风、游戏杆、游戏手柄、圆盘式卫星天线、扫描仪、TV调谐器卡、数码相机、数字视频摄像机、网络摄像头等等。这些及其他输入设备通过系统总线1018经由接口端口1038连接到处理单元1014。接口端口1038包括,例如,串行端口、并行端口、游戏端口,以及通用串行总线(USB)。输出设备1040与输入设备1036使用一些相同类型的端口。如此,例如,可以使用USB端口来向计算机1012提供输入,以及从计算机1012向输出设备1040输出信息。提供了输出适配器1042,以示出有诸如监视器、扬声器、以及打印机之类的一些输出设备1040,还有需要专用适配器的其他输出设备1040。输出适配器1042包括,作为说明而不是限制,在输出设备1040和系统总线1018之间提供连接手段的视频卡和声卡。应该注意,其他设备和/或设备的系统提供诸如远程计算机1044之类的输入和输出两种能力。
计算机1012可以使用到诸如远程计算机1044之类的一个或多个远程计算机的逻辑连接来在联网环境中操作。远程计算机1044可以是个人计算机、服务器、路由器、网络PC、工作站、基于微处理器的电器、对等设备或其他公共网络节点等等,并且通常包括就计算机1012所描述的许多或全部元件。为简洁起见,与远程计算机1046一起,只示出了存储器设备1044。远程计算机1044通过网络接口1048在逻辑上连接到计算机1012,然后,经由通信连接1050在物理上连接。网络接口1048包含诸如局域网(LAN)和广域网(WAN)之类的有线或无线通信网络。LAN技术包括光纤分布式数据接口(FDDI)、铜线分布式数据接口(CDDI)、以太网、令牌环等等。WAN技术包括,但不限于,点对点链路、电路交换网,如综合业务数字网(ISDN)及其变体,分组交换网络,以及数字订户线(DSL)。
通信连接1050是指用来将网络接口1048连接到总线1018的硬件/软件。尽管为清楚起见通信连接1050被示为在计算机1012内部,但是,它也可以位于计算机1012外部。连接到网络接口1048所需的硬件/软件包括,只作示例,内部和外部技术,诸如,调制解调器,包括常规电话级调制解调器、电缆调制解调器和DSL调制解调器、ISDN适配器,以及以太网卡。
上文所描述的包括本发明的示例。当然,不可能出于描述所要求保护的主题的目的而描述组件或方法的每个可构想的组合,但是,本领域普通技术人员可以认识到,本发明的许多进一步的组合和置换都是可能的。因此,所要求保护的主题旨在包含在所附权利要求书的精神和范围内的所有这样的更改、修改和变化。
特别地,对于由上述组件、设备、电路、系统等执行的各种功能,除非另外指明,否则用于描述这些组件的术语(包括对“装置”的引用)旨在对应于执行所描述的执行此处在所要求保护的主题的示例性方面中所示的功能的组件的指定功能(例如,功能上等效)的任何组件,即使这些组件在结构上不等效于所公开的结构。关于这一点,还应认识到,本发明还包括了具有用于执行所要求保护的主题的各种方法的动作和/或事件的计算机可执行指令的系统以及计算机可读介质。
有多种实现本发明的方式,例如,使应用程序和服务能使用本发明的广告技术的适当的API、工具包、驱动程序代码、操作系统、控件、独立或可下载的软件对象等等。所要求保护的主题构想从API(或其他软件对象)的观点来看,以及从根据本发明的根据广告技术操作的软件或硬件对象来看的用途。如此,此处所描述的本发明的各种实现可以具有完全以硬件,部分以硬件且部分以软件,以及以软件来实现的方面。
如前所述的系统是利用多个组件之间的交互来描述的。可以了解,这样的系统和组件可以包括这些组件或其中指定的子组件,某些指定的组件或子组件,和/或附加的组件,并根据前述的内容的各种置换和组合。子组件也可以作为可通信地耦合到其他组件的组件来实现,而不是包括在父组件内(层次性)。另外,应该注意,一个或多个组件也可以组合到提供聚合功能的单个组件中,或者也可以分成若干个单独的子组件,并且可以提供诸如管理层之类的任何一个或更多中间层,以可通信地耦合到这样的子组件,从而提供集成的功能。此处所描述的任何组件也可以与一个或多个此处没有专门描述的但本领域技术人员广泛地知道的其他组件进行交互。
另外,尽管可相对于若干实现中的仅一个实现来公开本发明的一个特定特征,但是这一特征可以如对任何给定或特定应用所需且有利地与其它实现的一个或多个其它特征相组合。而且,就术语“包括”、“含有”、“具有”、“包含”、其变型以及其他类似单词在详细描述或权利要求书中的使用而言,这样的术语旨在以类似于术语“包括”作为开放的过渡词的方式为包含性的而不排除任何附加或其他元素。

Claims (15)

1.一种便于连同多个设备管理数据一致性的系统,包括:
与用户相关联的设备的集合(106);
经由接口组件(108)从至少一个设备接收一部分数据的web服务,所述web服务主控该部分数据并将该部分数据与所述用户的账户相关(104);以及
主同步组件(102),所述主同步组件利用来自至少一个设备的计算资源以便在以下的至少一个情况保持数据一致性:
与所述用户相关联的所述设备的集合内的两个或多个设备之间;或
由所述web服务所主控的所述账户和与所述用户相关联的所述设备的集合内的两个或多个设备之间。
2.如权利要求1所述的系统,其特征在于,所述设备是以下至少之一:智能电话、膝上型计算机、台式机、计算机、机器、便携数字助理(PDA)、蜂窝设备、寻呼机、双向设备、手持设备、移动设备、浏览设备、无线设备、便携游戏设备、游戏控制台、媒体播放器、便携媒体播放器、笔式驱动器、硬盘驱动器、数据存储、数字照相机、图像采集设备、视频采集设备、视频摄像机、音频采集设备、音频录音机、全球定位系统(GPS)或便携web浏览器。
3.如权利要求1所述的系统,其特征在于,所述web服务是以下至少之一:图像web服务、视频web服务、存储web服务、音频文件web服务、数据备份web服务,或社交网络服务。
4.如权利要求1所述的系统,其特征在于,与所述用户相关联的所述设备的集合是完全连接网格中的端点的集合。
5.如权利要求4所述的系统,其特征在于,所述web服务扩展了以下至少之一:多个端点之间的离线数据同步或多个端点之间的协作情形。
6.如权利要求1所述的系统,其特征在于,所述两个或多个设备以无缝方式解释同步元数据的一部分,其中所述同步元数据包括项目级同步元数据和集合级同步元数据。
7.如权利要求1所述的系统,其特征在于,还包括实施项目的元数据特性的项目组件,所述项目是以下至少之一:照片、个人联系人、图像文件、数据的一部分、视频的一部分、音频的一部分、图形的一部分、文本的一部分。
8.如权利要求7所述的系统,其特征在于,所述元数据特性是同步元数据的一部分,同步元数据的所述部分是以下至少之一:对或权标。
9.如权利要求8所述的系统,其特征在于,同步元数据的所述部分表示更新版本结构,所述更新版本结构包括以下至少之一:与最近更新有关的数据、作出改变的设备的本地时间中的实际更新时间,或作出改变的实体。
10.如权利要求8所述的系统,其特征在于,还包括集合处理器,所述集合处理器将同步元数据的所述部分串行化以使得客户机能够利用以下至少之一:改变枚举或冲突检测。
11.如权利要求10所述的系统,其特征在于,同步元数据的所述经串行化的部分使用墓碑清除中的至少一个来清除web服务的远程删除。
12.如权利要求11所述的系统,其特征在于,所述集合处理器将同步元数据的所述经串行化的部分用作时钟向量,其中这一时钟向量被定义为版本向量。
13.如权利要求12所述的系统,其特征在于,还包括冲突解决器,所述冲突解决器实施以下中的至少一个:
如果更新是由启用非同步的客户机作出的,则对正被更新的项目移除更新版本结构内的更新版本信息的一部分;
使用一设备来设置正由启用同步的设备更新的项目的更新版本结构内的更新版本信息的一部分;或
当项目被删除时保持同步元数据的所述部分的副本,并用更新时分配的附加同步元数据提供对被删除项目列表的访问。
14.一种便于在多个设备和web服务之间保持数据一致性的计算机实现的方法,包括:
将两个或多个设备定义成连接的网格中的端点(702);
对与至少一个设备相关联的数据的一部分使用数据改变(704);
仅利用来自这些设备中的至少一个设备的资源,对所述连接的网格中的所述两个或多个设备实现数据改变(706);以及
仅利用来自这些设备中的至少一个设备的资源对web服务实现数据改变(806)。
15.一种便于在web服务和多个设备之间对离线情形或协作情形使用数据同步的计算机实现的系统,包括:
用于标识与一实体相关联的多个设备的网格连接的装置(102,702);
用于在至少一个设备和web服务之间传送数据的装置(108,106,104,704);
用于在所述web服务内主控所述数据的装置(104);
用于将所述数据与所述实体的账户相关的装置(102,104);
用于检测所述数据中的改变的装置,所述改变在web服务或所述网格连接中的至少一个设备中的至少一个内执行(102,106,104,704,806,808);以及
用于利用来自至少一个设备的计算资源以便在以下的至少一个情况保持数据一致性的装置(102,106,706):
与所述用户相关联的所述设备的集合内的两个或多个设备之间;或
由所述web服务所主控的账户和与所述用户相关联的所述设备的集合内的两个或多个设备之间。
CN200980134288.9A 2008-08-26 2009-08-18 用于设备和web服务的多主控方离线和协作所需要的最小扩展 Active CN102132270B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/198,181 US8458128B2 (en) 2008-08-26 2008-08-26 Minimal extensions required for multi-master offline and collaboration for devices and web services
US12/198,181 2008-08-26
PCT/US2009/054223 WO2010027653A2 (en) 2008-08-26 2009-08-18 Minimal extensions required for multi-master offline and collaboration for devices and web services

Publications (2)

Publication Number Publication Date
CN102132270A true CN102132270A (zh) 2011-07-20
CN102132270B CN102132270B (zh) 2014-03-12

Family

ID=41726879

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200980134288.9A Active CN102132270B (zh) 2008-08-26 2009-08-18 用于设备和web服务的多主控方离线和协作所需要的最小扩展

Country Status (5)

Country Link
US (2) US8458128B2 (zh)
EP (1) EP2318952A4 (zh)
JP (1) JP2012501586A (zh)
CN (1) CN102132270B (zh)
WO (1) WO2010027653A2 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103314364A (zh) * 2012-01-17 2013-09-18 松下电器产业株式会社 内容数据管理装置、内容数据管理方法以及程序
WO2013185711A1 (zh) * 2012-08-23 2013-12-19 中兴通讯股份有限公司 同步web UI终端的时间的方法、接入设备及系统
CN104468767A (zh) * 2014-12-01 2015-03-25 无锡清华信息科学与技术国家实验室物联网技术中心 一种云存储数据冲突检测方法及系统
CN107222558A (zh) * 2017-06-30 2017-09-29 胡玥莹 一种移动客户端与计算机网页端信息同步的方法与系统
CN107690000A (zh) * 2012-02-24 2018-02-13 三星电子株式会社 用于处理移动终端的数据的装置和方法

Families Citing this family (100)

* 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
US8458128B2 (en) 2008-08-26 2013-06-04 Microsoft Corporation Minimal extensions required for multi-master offline and collaboration for devices and web services
SE533007C2 (sv) 2008-10-24 2010-06-08 Ilt Productions Ab Distribuerad datalagring
US9152644B2 (en) * 2008-12-30 2015-10-06 Novell, Inc. Systems and methods for providing collaborative editing
US8341099B2 (en) * 2010-03-12 2012-12-25 Microsoft Corporation Semantics update and adaptive interfaces in connection with information as a service
US20110225074A1 (en) * 2010-03-12 2011-09-15 Microsoft Corporation System and method for providing information as a service via web services
EP2712149B1 (en) 2010-04-23 2019-10-30 Compuverde AB Distributed data storage
US8966595B1 (en) * 2010-12-15 2015-02-24 A9.Com, Inc. Techniques for peer-to-peer communication using a “shared secret”
US9406043B1 (en) * 2010-12-15 2016-08-02 A9.Com, Inc. Techniques for peer-to-peer communication
US10554426B2 (en) 2011-01-20 2020-02-04 Box, Inc. Real time notification of activities that occur in a web-based collaboration environment
EP2715571A1 (en) 2011-06-03 2014-04-09 Apple Inc. Cloud storage
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
US9978040B2 (en) 2011-07-08 2018-05-22 Box, Inc. Collaboration sessions in a workspace on a cloud-based content management system
WO2013009337A2 (en) 2011-07-08 2013-01-17 Arnold Goldberg Desktop application for access and interaction with workspaces in a cloud-based content management system and synchronization mechanisms thereof
US8645978B2 (en) 2011-09-02 2014-02-04 Compuverde Ab Method for data maintenance
US8769138B2 (en) 2011-09-02 2014-07-01 Compuverde Ab Method for data retrieval from a distributed data storage system
US10091290B1 (en) * 2011-09-23 2018-10-02 Pear Software, Llc Methods for synchronizing files in a cloud network
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
WO2013062599A1 (en) 2011-10-26 2013-05-02 Box, Inc. Enhanced multimedia content preview rendering in a cloud content management system
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
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
WO2013082320A1 (en) 2011-11-29 2013-06-06 Box, Inc. Mobile platform file and folder selection functionalities for offline access and synchronization
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
US8725821B1 (en) * 2012-03-14 2014-05-13 Comindware Ltd. System and method for project and process management by synchronizing custom objects between ms outlook and external server
US9565246B1 (en) * 2012-03-14 2017-02-07 Comindware Ltd. System and method for project and process management by synchronizing custom objects between an application and external server
US10474728B2 (en) * 2012-03-21 2019-11-12 Oath Inc. Seamless browsing between 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
US9413587B2 (en) 2012-05-02 2016-08-09 Box, Inc. System and method for a third-party application to access content within a cloud-based 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
US9021099B2 (en) 2012-07-03 2015-04-28 Box, Inc. Load balancing secure FTP connections among multiple FTP servers
US9087020B1 (en) * 2012-07-05 2015-07-21 A9.Com, Inc. Managing and retrieving content from a shared storage
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
CN103765421B (zh) 2012-07-06 2018-03-06 松下电器(美国)知识产权公司 内容控制方法、内容控制装置以及程序
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
US9473532B2 (en) 2012-07-19 2016-10-18 Box, Inc. Data loss prevention (DLP) methods by a cloud service including third party integration architectures
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
US9794256B2 (en) 2012-07-30 2017-10-17 Box, Inc. System and method for advanced control tools for administrators in a cloud-based service
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
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
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
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
US9311071B2 (en) 2012-09-06 2016-04-12 Box, Inc. Force upgrade of a mobile application via a server side configuration file
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
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
US8635373B1 (en) 2012-09-22 2014-01-21 Nest Labs, Inc. Subscription-Notification mechanisms for synchronization of distributed states
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
US9756022B2 (en) 2014-08-29 2017-09-05 Box, Inc. Enhanced remote key management for an enterprise in a cloud-based environment
JP5982343B2 (ja) 2012-10-17 2016-08-31 ボックス インコーポレイテッドBox, Inc. クラウドベース環境におけるリモートキー管理
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
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
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
CN103986742B (zh) * 2013-02-08 2018-08-31 纬创资通股份有限公司 文件同步的方法及相关电子装置
US20140229438A1 (en) * 2013-02-12 2014-08-14 Dropbox, Inc. Multiple platform data storage and synchronization
US9858052B2 (en) * 2013-03-21 2018-01-02 Razer (Asia-Pacific) Pte. Ltd. Decentralized operating system
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
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
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
US10110656B2 (en) 2013-06-25 2018-10-23 Box, Inc. Systems and methods for providing shell communication in 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
US20150066853A1 (en) * 2013-08-30 2015-03-05 U-Me Holdings LLC Templates and mappings for user settings
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
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
US10509527B2 (en) 2013-09-13 2019-12-17 Box, Inc. Systems and methods for configuring event-based automation in cloud-based collaboration platforms
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
GB2518298A (en) 2013-09-13 2015-03-18 Box Inc High-availability architecture for a cloud-based concurrent-access collaboration platform
US10866931B2 (en) 2013-10-22 2020-12-15 Box, Inc. Desktop application for accessing a cloud collaboration platform
US10212143B2 (en) * 2014-01-31 2019-02-19 Dropbox, Inc. Authorizing an untrusted client device for access on a content management system
CN103927288B (zh) * 2014-04-30 2018-12-07 惠州Tcl移动通信有限公司 一种移动设备之间信息转移和共享的方法及系统
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
CN104123361B (zh) * 2014-07-18 2018-03-06 北京金山安全软件有限公司 导航页面的配置方法、装置
US10038731B2 (en) 2014-08-29 2018-07-31 Box, Inc. Managing flow-based interactions with cloud-based shared content
US9894119B2 (en) 2014-08-29 2018-02-13 Box, Inc. Configurable metadata-based automation and content classification architecture for cloud-based collaboration platforms
US10574442B2 (en) 2014-08-29 2020-02-25 Box, Inc. Enhanced remote key management for an enterprise in a cloud-based environment
JP2016143296A (ja) 2015-02-03 2016-08-08 富士通株式会社 情報記憶装置、ストレージシステムおよび情報記憶装置制御プログラム
US9736311B1 (en) 2016-04-29 2017-08-15 Rich Media Ventures, Llc Rich media interactive voice response
US10275529B1 (en) 2016-04-29 2019-04-30 Rich Media Ventures, Llc Active content rich media using intelligent personal assistant applications
CN115328997B (zh) * 2022-07-15 2023-04-07 深圳市数帝网络科技有限公司 数据同步方法、系统、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020099728A1 (en) * 2000-06-21 2002-07-25 Lees William B. Linked value replication
CN1739107A (zh) * 2003-08-21 2006-02-22 微软公司 为可由硬件/软件接口系统管理的信息单元提供同步服务的系统和方法
US20070276836A1 (en) * 2006-05-08 2007-11-29 Manjirnath Chatterjee Method for Synchronizing Software Application and User Data for Asynchronous Client-Server and Peer to Peer Computer Networks
CN101142573A (zh) * 2004-10-25 2008-03-12 恩鲍尔技术公司 全局数据同步的系统和方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001025948A1 (en) * 1999-10-05 2001-04-12 Zapmedia, Inc. System and method for distributing media assets to user devices and managing user rights of the media assets
US7689510B2 (en) * 2000-09-07 2010-03-30 Sonic Solutions Methods and system for use in network management of content
US7359920B1 (en) * 2001-04-18 2008-04-15 Intellisync Corporation Communication protocol for synchronization of personal information management databases
US7743022B2 (en) * 2003-02-28 2010-06-22 Microsoft Corporation Method and system for synchronizing data shared among peer computing devices
US7756825B2 (en) * 2003-07-31 2010-07-13 Microsoft Corporation Synchronization peer participant model
US7440985B2 (en) * 2003-07-31 2008-10-21 Microsoft Corporation Filtered replication of data stores
US6973299B2 (en) * 2003-08-01 2005-12-06 Microsoft Corporation Unified contact list
US7401104B2 (en) * 2003-08-21 2008-07-15 Microsoft Corporation Systems and methods for synchronizing computer systems through an intermediary file system share or device
CN1882936B (zh) * 2003-09-27 2010-05-12 韩国电子通信研究院 封包元数据和使用其的目标/同步服务提供系统
US7444278B2 (en) * 2004-03-19 2008-10-28 Microsoft Corporation Method and system for synchronizing the user interface language between a software application and a web site
AU2005299366A1 (en) * 2004-10-25 2006-05-04 Empower Technologies Inc., A Washington Corporation System and method for global data synchronization
US7930346B2 (en) * 2005-08-24 2011-04-19 Microsoft Corporation Security in peer to peer synchronization applications
BRPI0617490A2 (pt) * 2005-10-18 2010-03-23 Intertrust Tech Corp sistemas e mÉtodos de mÁquina de gerenciamento de direitos digitais
US20070094276A1 (en) * 2005-10-20 2007-04-26 Isaac Emad S Method for obtaining and managing restricted media content in a network of media devices
US7631017B2 (en) * 2005-12-08 2009-12-08 Motorola, Inc. Method and system for maintaining current data for wireless devices
US20070271338A1 (en) * 2006-05-18 2007-11-22 Thomas Anschutz Methods, systems, and products for synchronizing media experiences
KR100851665B1 (ko) 2006-12-29 2008-08-13 (주)제하시스템 오프라인 시 홈페이지 컨텐츠 사용 기능을 제공하는무선인터넷 시스템 및 휴대용 멀티미디어 플레이어 장치 및그 방법
US20080168185A1 (en) * 2007-01-07 2008-07-10 Robbin Jeffrey L Data Synchronization with Host Device in Accordance with Synchronization Preferences
US8458128B2 (en) 2008-08-26 2013-06-04 Microsoft Corporation Minimal extensions required for multi-master offline and collaboration for devices and web services

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020099728A1 (en) * 2000-06-21 2002-07-25 Lees William B. Linked value replication
CN1739107A (zh) * 2003-08-21 2006-02-22 微软公司 为可由硬件/软件接口系统管理的信息单元提供同步服务的系统和方法
CN101142573A (zh) * 2004-10-25 2008-03-12 恩鲍尔技术公司 全局数据同步的系统和方法
US20070276836A1 (en) * 2006-05-08 2007-11-29 Manjirnath Chatterjee Method for Synchronizing Software Application and User Data for Asynchronous Client-Server and Peer to Peer Computer Networks

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103314364A (zh) * 2012-01-17 2013-09-18 松下电器产业株式会社 内容数据管理装置、内容数据管理方法以及程序
CN103314364B (zh) * 2012-01-17 2016-08-31 松下电器(美国)知识产权公司 内容数据管理装置以及内容数据管理方法
CN107690000A (zh) * 2012-02-24 2018-02-13 三星电子株式会社 用于处理移动终端的数据的装置和方法
WO2013185711A1 (zh) * 2012-08-23 2013-12-19 中兴通讯股份有限公司 同步web UI终端的时间的方法、接入设备及系统
CN103634894A (zh) * 2012-08-23 2014-03-12 中兴通讯股份有限公司 同步web UI终端的时间的方法、接入设备及系统
CN104468767A (zh) * 2014-12-01 2015-03-25 无锡清华信息科学与技术国家实验室物联网技术中心 一种云存储数据冲突检测方法及系统
CN104468767B (zh) * 2014-12-01 2017-12-12 无锡清华信息科学与技术国家实验室物联网技术中心 一种云存储数据冲突检测方法及系统
CN107222558A (zh) * 2017-06-30 2017-09-29 胡玥莹 一种移动客户端与计算机网页端信息同步的方法与系统

Also Published As

Publication number Publication date
US20100057785A1 (en) 2010-03-04
EP2318952A4 (en) 2012-12-05
US20130198132A1 (en) 2013-08-01
CN102132270B (zh) 2014-03-12
WO2010027653A3 (en) 2010-05-06
WO2010027653A2 (en) 2010-03-11
JP2012501586A (ja) 2012-01-19
EP2318952A2 (en) 2011-05-11
US9009108B2 (en) 2015-04-14
US8458128B2 (en) 2013-06-04

Similar Documents

Publication Publication Date Title
CN102132270B (zh) 用于设备和web服务的多主控方离线和协作所需要的最小扩展
US10691292B2 (en) Unified presentation of contextually connected information to improve user efficiency and interaction performance
CN102713965B (zh) 数据源的可缩放主题聚集
JP5008878B2 (ja) データベース・オブジェクトへのファイル・システム・モデルのマッピング
CN100504861C (zh) 用于在展平的分层结构中有意义的名字的创建的方法和系统
US20210117469A1 (en) Systems and methods for selecting content items to store and present locally on a user device
CN101802815B (zh) 数据-驱动同步
US9171132B1 (en) Electronic note management system and user-interface
US20070067272A1 (en) Search interface for mobile devices
US20170344631A1 (en) Task completion using world knowledge
WO2013152101A1 (en) Smart document processing with associated online data and action streams
US20220100972A1 (en) Configurable generic language understanding models
CN104813256A (zh) 收集和组织经由社交媒体分发的内容
EP3111392A1 (en) Unified presentation of contextually connected information to improve user efficiency and interaction performance
EP2384490A1 (en) Method, apparatus and computer program product for providing analysis and visualization of content items association
US11474843B2 (en) AI-driven human-computer interface for associating low-level content with high-level activities using topics as an abstraction
WO2019033937A1 (zh) 一种用于提供桌面的方法与设备
CN101903902A (zh) 交易卡服务
CN103246748A (zh) 自动管理文件描述符的技术
US20230079753A1 (en) Aliased data retrieval for key-value stores
US20200005159A1 (en) Ai-synthesized application for presenting activity-specific ui of activity-specific content
CN1758251B (zh) 静态和动态数据集的交互
CN1828596B (zh) 在数据库内部表示的文件系统
JP2014021552A (ja) 業務文書処理システム、及びプログラム
US20080033949A1 (en) Electronic apparatus and method therefor

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
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: 20150506

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

Effective date of registration: 20150506

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.