CN1722731A - 用于实现基于点对点规则的推进式自动同步系统的系统和方法 - Google Patents

用于实现基于点对点规则的推进式自动同步系统的系统和方法 Download PDF

Info

Publication number
CN1722731A
CN1722731A CNA200510089634XA CN200510089634A CN1722731A CN 1722731 A CN1722731 A CN 1722731A CN A200510089634X A CNA200510089634X A CN A200510089634XA CN 200510089634 A CN200510089634 A CN 200510089634A CN 1722731 A CN1722731 A CN 1722731A
Authority
CN
China
Prior art keywords
computer system
computer
network
file
synchronous
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
CNA200510089634XA
Other languages
English (en)
Other versions
CN1722731B (zh
Inventor
D·W·威廉姆斯
H-S·H·卢克
O·G·贝克斯
V·K·布兰科
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 CN1722731A publication Critical patent/CN1722731A/zh
Application granted granted Critical
Publication of CN1722731B publication Critical patent/CN1722731B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • EFIXED CONSTRUCTIONS
    • E02HYDRAULIC ENGINEERING; FOUNDATIONS; SOIL SHIFTING
    • E02BHYDRAULIC ENGINEERING
    • E02B3/00Engineering works in connection with control or use of streams, rivers, coasts, or other marine sites; Sealings or joints for engineering works in general
    • E02B3/04Structures or apparatus for, or methods of, protecting banks, coasts, or harbours
    • E02B3/12Revetment of banks, dams, watercourses, or the like, e.g. the sea-floor
    • E02B3/14Preformed blocks or slabs for forming essentially continuous surfaces; Arrangements thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • EFIXED CONSTRUCTIONS
    • E02HYDRAULIC ENGINEERING; FOUNDATIONS; SOIL SHIFTING
    • E02DFOUNDATIONS; EXCAVATIONS; EMBANKMENTS; UNDERGROUND OR UNDERWATER STRUCTURES
    • E02D17/00Excavations; Bordering of excavations; Making embankments
    • E02D17/20Securing of slopes or inclines
    • E02D17/205Securing of slopes or inclines with modular blocks, e.g. pre-fabricated
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/178Techniques for file synchronisation in file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1834Distributed file systems implemented based on peer-to-peer networks, e.g. gnutella
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • EFIXED CONSTRUCTIONS
    • E02HYDRAULIC ENGINEERING; FOUNDATIONS; SOIL SHIFTING
    • E02DFOUNDATIONS; EXCAVATIONS; EMBANKMENTS; UNDERGROUND OR UNDERWATER STRUCTURES
    • E02D2600/00Miscellaneous
    • E02D2600/20Miscellaneous comprising details of connection between elements

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Civil Engineering (AREA)
  • Computer Security & Cryptography (AREA)
  • Structural Engineering (AREA)
  • Mining & Mineral Resources (AREA)
  • Mechanical Engineering (AREA)
  • Ocean & Marine Engineering (AREA)
  • Environmental & Geological Engineering (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Life Sciences & Earth Sciences (AREA)
  • Paleontology (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及一种同步系统,其利用驻留在第一计算机设备上的同步向导(“PullSync”)从第二计算机请求并接收(或“拖(pull)”)数据。根据同步者建立的限定同步范围和程度的特定推进式同步规则(PSR),第一计算机设备(“同步者”)同步者从第二计算机设备(被同步者)上的共享文件夹中复制文件。前述复制基于使用现有的定义完善的协议的网络连接而发生,通过这些协议,一个计算机系统能够从第二计算机系统的可用共享文件夹查看并且复制文件,PullSync向导软件仅需要存在于第一计算机系统(同步者)上,来使用这些现有网络协议(包括现有的安全/验证协议)从第二计算机系统选择性地复制文件。

Description

用于实现基于点对点规则 的推进式自动同步系统的系统和方法
交叉引用
本申请要求于2004年5月3日提交的标题为“SYSTEMS AND METHODSFOR THE IMPLEMENTATION OF A PEER-TO-PEER RULE-BASED PULLAUTONOMOUS SYNCHRONIZATION SYSTEM”的美国临时申请No.60/567557(律师.Docket No.MSFT-3959/306708.01)的权益,其整个内容仅作为参考资料结合在此处。
技术领域
本发明一般涉及对等同步,尤其涉及特别应用于诸如膝上型电脑或手持计算机这样的移动设备(除了其它的移动设备之外)的、基于对等原则的推进式自动(pull autonomous)同步系统。
背景技术
正如本领域的普通技术人员熟知且容易理解的,对于同步两个或多个计算机系统之间的数据存在若干种理由,而且存在过多的用于同步两个或多个计算机系统之间的数据的方案、策略和技术方案。然而,许多现有技术中的这些同步方案具有功能上的限制,其降低了网络中特别是动态网络中同步的效率和效力。例如,典型的客户服务器同步方案被高度构造,并且要求在各个计算机系统之间有效定义的关系,这些计算机系统通常由在客户服务器关系中的“服务器”保持。这对于动态同步尤其有问题,在该动态同步中,在发生同步之前首先必须在该网络中识别和/或定义进入该同步网络的某些系统。另外,这些同步方案中的很多方案还要求在两个计算机系统上都具有特殊的同步软件,因此没有该特殊软件的一个计算机系统就不能与另一个具有该特殊同步软件的计算机系统动态地同步。
尽管通常这些缺点可能对同步不利,但对于可以动态地移入或移出某些通信网络和同步网络的移动计算设备尤其存在麻烦。移动设备尤其需要要求最小开销的高度灵活和动态的同步方案。在此描述的本发明克服了这些缺点。
发明内容
本发明的各种实施例旨在多种系统,和用于基于对等原则的推进式自动同步系统的方法,该同步系统尤其适于移动设备,而且还具有基于现有同步方案的重要的可操作优点。
本发明的几个实施例旨在包括利用驻留在(即,安装并执行)第一计算机设备上的同步向导(wizard)(以下称为“PullSync”)的同步系统,该第一计算机将从第二计算机请求并接收(或“拖(pull)”)数据,以使该第一计算机和第二计算机同步。为了同步,根据创建在第一计算机设备(下面称为“同步者”)上的限定同步范围和程度(稍后讨论)的特定PullSync规则(PSR),同步者从第二计算机设备(被同步者)上的共享文件夹中复制文件。前述复制基于使用现有的定义完善的协议的网络连接而发生,通过这些协议,一个计算机系统能够从第二计算机系统的可用共享文件夹查看并且复制文件。对于本发明的某些实施例,PullSync向导软件仅存在于第一计算机系统(同步者)上,并且基于所述第一计算机系统上的PullSync的PSR,利用这些现有网络协议(包括但不限于无线通信协议)从第二计算机系统选择性地复制文件。此外,PullSync还可以使用现有的安全协议,和已经适合于用于标准网络通信(包括但不限于无线通信协议)的这些计算机系统的技术。
附图说明
在结合附图、表格、和/或其它包括这些方法的可视表示(若有的话)阅读时,将更好地理解前面的概述说明,以及接下来的对优选实施例的详细说明。为了说明本发明,在这些附图中还可能存在本发明的示例性配置或者功能性说明和方法;然而,本发明不限于所公开的具体方法和手段。
图1是表示其中可能合并了本发明多个方面的计算机系统的框图;
图2是表示其中可能合并了本发明多个方面的传统网络配置的框图;
图3是表示在包括有线和无线设备的当前网络配置上,用于本发明几个实施例的同步方案的框图。
具体实施方式
具体描述主题以符合法规要求。然而,说明书本身并不是为了限制该专利的范围。相反,发明人已经考虑到,要求保护的主题可能以其它的方式来体现,即结合其它现有的或未来的技术,以包含与该文件中描述的步骤相似的不同步骤或步骤的合并。此外,尽管在此使用的术语“步骤”意思可能是所使用的方法的不同单元,但是该术语不应被解释为暗示了在此处公开的不同步骤之间的任何特定顺序,除非明确描述了单个步骤的顺序。
计算机环境
可以在计算机上执行本发明的多个实施例。图1和下面的讨论目的是提供对在其中可以实现本发明的合适的计算机环境的简要描述。尽管没有要求,但是将在可由计算机(诸如客户工作站或服务器)执行的计算机可执行指令(诸如程序模块)的一般环境中描述本发明。通常,程序模块包括执行特殊任务或实现特殊抽象数据类型的例程、程序、对象、分量、数据结构等。此外,本领域的普通技术人员将理解,可以利用其它计算机系统配置来实践本发明,这些计算机系统配置包括手持设备、多处理器系统、基于微处理器或可编程的用户电子设备、网络PC、小型机、主机等。本发明也可以在分布式计算环境中实现,在该环境中,任务是由通过通信网络连接的远程处理设备执行的。在分布式环境中,可将程序模块置于本地和远程存储器设备中。
如图1所示,示例性的一般用途的计算系统包括传统的个人计算机20等,该个人计算机包括处理单元21、系统存储器22、以及将包括系统存储器在内的各种各样的系统元件连接到处理单元21的系统总线23。该系统总线23可以是包括以下几种类型总线结构中的任何一种:存储器总线或存储器控制器、外围设备总线、和使用总线结构的任何一种变型的本地总线。系统存储器包括只读存储器(ROM)24和随机访问存储器(RAM)25。基本输入/输出系统26(BIOS),其包括存储在ROM 24中的基本例程,这些例程诸如在启动期间帮助在个人计算机20的单元之间传送信息。个人计算机20还包括:硬盘驱动器27,用于从硬盘(未示出)读取以及向其写入;磁盘驱动器28,用于从可移动磁盘29读取以及向其写入;和光盘驱动器30,用于从诸如CD ROM或其它光学介质这样的可移动光盘31读取或向其写入。硬盘驱动器27、磁盘驱动器28、和光盘驱动器30分别地通过硬盘驱动器接口32、磁盘驱动器接口33、和光盘驱动器接口34被连接到系统总线23。这些驱动器和它们的相关计算机可读介质为个人计算机20提供对计算机可读指令、数据结构、程序模块和其它数据的非易失性存储。尽管在此描述的示例性环境使用了硬盘、可移动磁盘29和可移动光盘31,但本领域普通技术人员应该理解,由计算机可用的能够存储数据的其它类型计算机可读介质也可以用在该示例性操作环境中,诸如磁带、闪存卡、数字视频盘、Bernoulli磁盘,随机访问存储器(RAM),只读存储器(ROM)等。
包括操作系统35、一个或多个应用程序36、其它程序模块37和程序数据38在内的很多程序模块可以存储在硬盘、磁盘29、光盘31、ROM 24或RAM 25上。用户可以通过诸如键盘40和点击设备42的输入设备将命令和信息输入到个人计算机20中。其它输入设备(未示出)可以包括麦克风、操作杆、游戏手柄、卫星盘、扫描仪等。这些和其它输入设备通常通过连接到系统总线的串行端口接口46连接到处理单元21,也可以通过诸如并行端口、游戏端口或通用串行总线(USB)的其它接口来连接。监视器47或其它类型的显示设备也经由诸如视频适配器48的接口连接到系统总线23。除监视器47之外,个人计算机还典型地包括诸如扬声器和打印机这样的其它外围输出设备(未示出)。图1的示例性系统还包括主机适配器55,小型计算机系统接口(SCSI)总线56,和连接到SCSI总线56的外部存储设备62。
个人计算机20可以利用到一个或多个诸如远程计算机49这样的远程计算机的逻辑连接在联网的环境中进行操作。远程计算机49可以是另一个个人计算机、服务器、路由器、网络PC、对等设备或其它的公用网络节点,并且典型地包括上述与计算机20相关的多个或全部单元,尽管在图1中仅示出了存储器存储设备50。在图1中表示出的逻辑连接包括局域网(LAN)51和广域网(WAN)52。这种联网的环境在政府机关、企业范围的计算机网络、内联网和互联网中是很平常的。
当用于LAN联网环境中时,个人计算机20通过网络接口或适配器53连接到LAN 51。当用于WAN联网环境中时,个人计算机20典型地包括调制解调器54或用于创建基于广域网52(诸如互联网)通信的其它装置。调制解调器54,其可能是内部的或外部的,经由串行端口接口46将其连接到系统总线23。在联网环境中,可能将所描述的与个人计算机20相关的程序模块,或程序模块的多个部分存储在远程存储器存储设备中。应该理解,所示出的网络连接是示例性的,而且还可以使用创建计算机之间通信链路的其它装置。
尽管预见本发明的多个实施例对于计算机化的系统尤其适合,但是在该文件中没有想要将本发明限制到这些实施例的内容。相反,此处使用的术语“计算机系统”旨在包含任何所有以下这样的设备,其能够存储和处理信息和/或能够利用所存储的信息来控制设备本身的行为和操作,而不管这种设备实际上是否是电子的、机械的、逻辑的、或虚拟的。
网络环境
图2示出了其中可以应用本发明的多个方面的示例性网络环境。当然,实际的网络和数据结构环境可以以多种配置来设置;然而,这里示出的示例性环境提供了一种结构,用于理解本发明在其中进行操作的环境类型。
该网络可以包括客户计算机20a,服务器计算机20b,数据源计算机20c和数据结构70、72a和72b。客户计算机20a和数据源计算机20c经由通信网络80(例如企业内部互联网)与服务器计算机20b进行电子通信。借助于通信接口82将客户计算机20a和数据源计算机20c连接到通信网络。通信接口82可以是任何一种熟知的通信接口,诸如以太网连接、调制解调器连接等。
服务器计算机20b借助于数据结构服务器系统软件来提供对数据结构70的管理,下面将更加全面地描述。照这样,服务器20b担当存储来自多个数据源的数据的仓库,并且将这些数据提供给多个数据用户。
在图2的实例中,由数据源计算机20c来提供数据源。数据源计算机20c经由通信网络80(其可以是LAN、WAN、内部网、互联网等)与服务器计算机20b交换数据。数据源计算机20c存储位于数据结构72a、72b中的数据,其可以是相关的数据结构服务器、电子制表软件、文件等。例如,数据结构72a示出了存储在表150、152和154中的数据。对由数据源20c提供的数据进行组合,并且将其存储在诸如由服务器20b保持的数据仓库这样的大的数据结构中。希望使用由服务器计算机20b存储的数据的客户计算机20a可以经由通信网络80来访问数据结构70。客户计算机20a在数据结构70中存储的数据上,借助于SQL询问程序(例如,更新、插入和删除)来请求数据。
Pullsync
本发明的各种实施例旨在计算机设备之间用于同步数据的系统和方法。对于各个实施例来说,同步系统包括:利用驻留在(即,安装并执行)第一计算机设备上的同步向导(以下称为“PullSync”),该第一计算机将从第二计算机设备请求并接收(或“拖”)数据,以使该第一计算机和第二计算机同步。
为了同步,根据创建在第一计算机设备(下面称为“同步者”)上的特定同步范围和程度(稍后讨论)的特定推进式同步规则(PSR),所述同步者从第二计算机设备(被同步者)上的共享文件夹中复制文件。前述复制基于使用现有的定义完善的协议的网络连接而发生,通过这些协议,一个计算机系统能够从第二计算机系统的可用共享文件夹查看并且复制文件。本领域的普通技术人员容易理解,通过运行所建立的网络协议,在计算机系统(在这种情况下是第二计算机设备,即被同步者)共享文件夹中的文件对其它计算机系统(在这种情况下是第一计算机设备,即同步者)来说完全是可见的,该其它的计算机系统具有经由某种网络连接来接入第二计算机系统(被同步者)的标准网络通信能力。的确,当一个计算机系统从其它计算机系统的共享文件夹中复制(或者“拖”)文件时,第二计算机系统甚至可能不会注意到第一计算机系统在其共享文件夹中复制文件(即使第二计算机系统实际上执行特定的系统级命令,以支持将文件复制到第一计算机系统,例如,执行从第二计算机系统的持久数据存储器中读取的运行所必须的命令)。因此,对于本发明的若干个实施例来说,仅存在于第一计算机系统(同步者)上的Pullsync向导软件利用存在于网络协议(包括但不限于无线通信协议)中的这些协议,基于在所述第一计算机系统上的Pullsync向导的PSR,选择性地从第二计算机系统中复制文件。此外,PullSync也可以利用现有的安全协议和技术,这些安全协议和技术已经适合于用于标准网络通信(包括但不限于无线通信协议)的这些计算机系统。
因此,通过使用现有的网络协议,PullSync仅需要驻留在同步者的计算机系统上,即从第二计算机系统中“拖”文件的第一计算机系统上,对于所述同步者计算机系统与通过网络(有线或无线)能够访问的其它计算机系统(第二/被同步者)同步来说,被同步者不从已建立好的网络协议中请求特定编程,该已建立好的网络协议存在于网路计算机系统上,并且允许无缝地确认和复制。因此,驻留到网络上的、在共享文件夹中具有文件的任何计算机系统都是潜在的被同步者,借助于这样一个事实,即可以基于网络将其共享文件夹的内容确认并复制到其它计算机系统。
同样,当不去请求时,特定的计算机系统可以是一个被同步者,即其是网络上的、且在共享文件夹中具有文件的计算机系统;也可以是一个同步者,即对PullSync向导进行安装和执行,以便根据本地PSR从网络上其它计算机系统的共享文件夹中拖文件。因此,这两个计算机系统(每个都在共享文件夹中具有文件,而且每个都执行PullSync)能够完全彼此同步到由各个计算机上建立的PSR所定义的程度。
图3是一个框图,该框图表示用于本发明若干实施例的、在现今流行的具有动态配置的ad hoc网络上的同步方案,所述动态配置包括曾经与通用移动计算设备彼此相联系的有线和无线设备。在该图中,通用移动计算设备300是超移动(ultra-mobile)计算设备(例如微软的GoPC),其利用标准无线网络协议与其它计算机系统进行通信,该其它的计算机系统分别包括但不限于工作桌上型电脑310和相应的工作Tablet PC320,各自的同事的工作桌上型电脑330和340,膝上型电脑350,配偶袖珍型PC 360和家庭桌上型电脑370。包括PullSync软件(如所示出的)的GoPC300,能够通过使用标准网络协议、且基于与通过拖动数据流312、322、332、342、352、362和372示出的各个设备的无线连接,不定时地(即,当GoPC300与各个其它的这种计算机系统具有有效的网络连接时)从这些系统中的每一个查看和复制文件。
对于缺少PullSync软件的系统,即计算机系统320、330、340和370来说,在不具有会出现任何同步操作的、受关注的所述系统的情况下,也会出现这种同步,而这种同步也不要求在所述系统上的、用于在GoPC300上出现的PullSync操作的任何特定软件(除了所述标准网络协议之外)。同样,其它具有PullSync软件的计算机系统,即计算机系统310、350和360也没有必要知道由GoPC执行的推进式同步(尽管包括GoPC的这些系统可以作为PullSync软件成分的一部分来包括逻辑电路,该软件成分可以通过若干装置的任何一个来识别这种同步)。然而,这些系统能够与GoPC和任何其它能够经由网络连接进行通信的计算机系统执行它们自己的同步操作。例如,当同事的工作计算机系统330和340仅可以作为用于GoPC的被同步者时,配偶袖珍型PC360可以与膝上型电脑350(数据流356)和家庭桌上型电脑(数据流376)、以及GoPC300本身(数据流364)同步。
应当注意,例如,GoPC300、膝上型电脑350和配偶袖珍型PC360完全能够彼此同步到各个计算机系统的PSR所允许的程度。此外,还应当注意,膝上型电脑350可以间接地经由配偶袖珍型PC360或GoPC300或者上述二者与家庭桌上型电脑370进行同步,以得到基于所有3种PullSync系统上的PSR的同步限制的组合。当然,膝上型电脑350也可以直接与家庭桌上型电脑370进行同步,这要求建立直接的网络连接(未示出),正是利用能够与任何其它计算机系统建立网络连接的任何PullSync计算机系统这种情况。
就PSR来说,以及对于这里所述本发明的各种实施例,应当注意,对于驻留在计算机系统上的PSR来说,该PSR仅仅定义了要从其它计算机系统复制/拖动到具有PSR的计算机系统的特定文件,即PSR定义了其所驻留的计算机系统的“同步者”(即拖动文件)的特性。与此相反,PSR决不会规定其它计算机系统对于这些文件的操作,这些文件是系统可以或不必从其上驻留有特定PSR的计算机系统拖动的文件(如果其它计算机系统可以使用PullSync对文件进行复制,则所述其它计算机系统也可以具有其自己的清楚且独立的PSR);作为替代,被同步者用于指定哪一个文件可以或不必从一个计算机系统复制到另一个计算机系统(后者使用PullSync)的唯一手段是相应地将这些文件放置到共享或专用文件夹中(其中共享文件夹的内容可以复制,而专用文件夹的内容不可以复制),定义计算机系统的被同步者(即“文件共享”)的特性是有效的。
对于本发明的多个实施例来说,PullSync PSR明确地定义了特定计算机系统、特定的文件夹和特性文件,该特性文件用于与其它由PullSync终端用户规定的参数相结合而从各个计算机系统进行复制/拖动。例如,考虑4个计算机系统,A、B、C、D和E,在该实例中,A是同步者(具有PullSync),而B、C、D和E是潜在的被同步者,即A与B、C、D和E中的每一个共享至少一个公用网络,尽管B、C、D和E不可以共享它们中间的任何网络。在该实例中,A可以具有如下的PSR:
  A的同步对等体   用于同步的文件夹  规则
  B   MyPicturesMyHomeDocsMyMusic  *.jpg(仅仅JPEG文件)*.*(所有文件)*.*<28天的陈旧文件(在最后28天内修改或创建的所有文件)
  C   MyWorkDocs  状态*.*(仅在文件名第一部分中的文件w/“状态”)
  E   MyVideoMyPictruesMyMusic  *.mpg,*.wmv,*.mov(仅这些文件类型)*.*<90天的陈旧文件(在最后90天内修改或创建的所有文件)*.WMA<2MB(小于2MB的所有WMA文件)
在该实例中,当A与B同步时,A将从驻留在B上的MyPictures共享文件夹中拖动所有*.jpg文件,和在B的MyhomeDocs共享文件夹中的所有文件,以及在B的MyMusic共享文件夹中的小于28天的所有文件。当与C同步时,A将仅拖动在C的MyWorkDocs共享文件夹中的、仅具有以“Status”开始的文件名的那些文件(其例如包括:“statuslog.doc”和“status-040428-update.xls”,但是不包括例如“backorderstatus.txt”)。当与E同步时,A将仅从E的MyVideo共享文件夹中拖动*.mpg,*.wmv,以及*.mov文件,和来自E的MyPicture共享文件夹中所有小于90天的文件,以及来自E的MyMusic共享文件夹中所有小于2MB的WMA文件。此外,由于D(及其文件夹和文件)没有在A的PSR中列出,所以A不会从D中拖动任何文件。
对于本发明的某些实施例来说,同步者(在我们的实例中是A)对于从其它计算机系统(B、C和E)拖动文件的目的地可能默认为是具有同名的A上的相应共享文件夹。然而在其它的实施例中,取而代之的是,可能要基于规则或附加条件的规则为这些PSR中的文件指定一个位置。此外,PSR可能包括阻止其计算机系统(A)从其它计算机系统(B、C和E)复制文件的逻辑,其它的计算机系统(B、C和E)除了被预先复制了文件、或已经存在于计算机系统(A)中之外,已经被PSR所覆盖。这可以由文件名、文件日期和时间、或某种其它的逻辑机制来确定。为了从其它计算机系统拖动具有与已经在相应文件夹中的文件同名的文件(所述其它计算机系统中的文件具有最近的日期/时间标记),某些实施例可以简化利用新文件来重写旧文件,或者作为选择,对旧文件重新命名和/或将其移动到旧文件夹归档,或者作为选择,完全使用其它的技术。
对于本发明的多个实施例来说,除了前述的规则(“第一组规则”或“1SR”)之外,PSR还可以包括附加的第二组规则(“2SR”)。第一组规则(1SR)可能仅适合于“拖动”PullSync单元(即如前所述,从什么地方和什么时间来拖动文件),而第二组规则(2SR)可以应用于其自身系统上的文件,即本质上是一组文件保持和管理规则。对于某些实施例来说,第二组规则(2SR)可能仅应用于在其计算机系统上的共享文件夹的内容,并且定义例如保持某种文件多长时间(即在MyPicture共享文件夹中使用的*.jpg文件不超过60天,而在MyVideo共享文件夹中使用的*.mpg文件不超过3天)。在任何情况下,像1SR一样,2SR可以在功能、性能和实现方面发生很大的变化,以在其所应用的计算机系统上提供多个选项。对于本发明的多个实施例来说,不仅PSR规则本身可以更改,而且规则的语法、适用范围、功能性和内容也是可扩展的,例如在其中添加模块和动态程序库。
对于本发明的多个实施例来说,PSR还可以进一步包括有关频率和/或同步方式、对移动设备来说特别有用的特性的第三组规则(3SR)。对于3SR,就同步频率来说,诸如移进和移出网络(例如经由它们的无线通信设备)的膝上型电脑、小型计算机系统(例如超移动PC)、或伪计算机设备(例如PDA)这样的移动计算设备不在网络中时,将受益于降低的网络速率/同步检测。例如,从一个位置移动到另一个位置的GoPC(来自微软的超移动计算设备)将在不同的时间接入一个或多个不同的网络,而在其它的时间不会接入网络。当不能连接到网络时,利用3SR,GoPC最初可能在5分钟内的每1分钟时间间隔重试一次与网络连接,以及如果没有发现网络,则在15分钟内的每5分钟时间间隔检测一次网络,如果还没有发现网络,则每15分钟时间间隔检测一次网络直到发现网络为止(然后再次开始寻找新网络时,恢复为每1分钟时间间隔)。同步的频率和持续时间还可以经历其它与设备的电池生命、处理器负载和各种其它参数相关的规则。另外,对于特定的实施例来说,PSR第三组规则(3SR)还可以包括用于从单网络的多个计算机中选择一个计算机进行同步的某种规则,该单网络对于同步(“连接优先级”)是有效的,还包括用于从两个或多个网络中选择用于同步的网络的规则,该两个或多个网络可用于在给定时间(“网络优先级”)进行同步,而且这些规则可以基于速度、资源成本、货币成本(基于付费的网络)、网络负载和/或其它多种不受限标准。
当然,正如这里所使用的,将PSR划分为3组规则仅在于帮助理解本发明多个方面和多个实施例的功能,而不应当解释为将PSR限制到特定的规则组、特定的数量或其特性。
另外,本发明的某些实施例旨在利用PullSync进行同步,以使得多个计算机系统(每个计算机系统都具有到至少一个其它计算机系统的网络连接)通过共享文件夹的自然传递与另一个计算机系统进行同步,所述自然传递是从一个机器通过同步网络传递到另一个机器(尽管被限制到在各个机器上的工作PSR)。因此,当本发明的某些实施例旨在借助于将单向同步PullSync设备安装到两个计算机系统上的双向同步,以使它们能够有效地彼此同步(因此形成自然的双向同步关系)时,其它的实施例旨在多个方向的同步,其中运行PullSync的多个计算机系统中的某些执行彼此有限的同步,以及在某些情况下,通过类似的自然传播彼此进行同步。
概述和附加的特性
为了再次陈述,扩展或添加到上面的内容,下面的内容是(1)对于本发明的各种替换实施例来说,简短的但不受限的对本发明特定单元的概述,和/或(2)对于本发明的各种替换实施例来说附加的创造性特征。
1.PullSync计算机系统或设备,尤其是具有动态变化网络的设备,包括(a)诸如膝上型计算机和小型计算机设备(诸如GoPC)这样的移动计算设备,和/或(b)与移动计算设备进行交换作用的其它计算机设备,在所述网络中规则地轮询与之接触的网络和设备,并且规则地从被同步者计算机系统上的共享文件夹中“拖动”新的和/或更新的文件。
2.当PullSync系统检测一个网络并且在匹配用于同步的PSR的网络上找到一个计算机时,可以使用于具有PullSync向导的计算机系统的同步完全自动化(即自动出现而没有任何终端的干涉)。
3.在多个实施例中,可以通过终端用户、其它的应用程序来直接修改/修订/扩展/限制PSR,和/或自动生成。
4.对于多个其它实施例来说,“共享文件夹”的概念还可以包括在两个设备之间的至少一个“专用文件夹”,换句话说,该“专用文件夹”被认为是一个可以经由标准网络复制协议或其它手段进行复制的共享文件夹。
5.对于某些实施例来说,共享文件夹还可以包括使用现有的安全和验证协议等的“确认文件夹”。
6.PullSync向导可以用于形成单一的“拖动”同步设备,其中没有文件曾经由一个系统“推到”另一个系统。
7.PullSync完全是一个分散的对等同步系统,其不需要集中式的同步服务器,对于多个实施例来说,不用在多个或两个不同的PullSync系统之间进行调整(或者甚至是注意),该PullSync在被同步到拱形(overarching)同步网络的范围和程度的不同计算机系统上运行。然而,某些实施例可以包括认知逻辑,以便与另一个也具有PullSync的计算机系统同步时增强同步经验,作为选择,也可以包括用于识别和跟踪拱形同步的软件,该拱形同步在所定义的或动态的网络中经由一个或多个PullSync向导系统而出现。
8.当PullSync被设计为基于任何现有网络、通过使用已建立的用于该网络的协议来运行时,该PullSync是独立于网络的(不需要网络特定的软件)。
9.本发明的某些实施例特别旨在对等的(没有中心同步服务器)、基于规则的(基于本地PSR在各个计算机系统上执行同步)、全部拖动的(totalpull)(没有文件被推动)同步系统;一个可替换的实施例旨在用于“漫游”(移动)的计算机设备的同步系统;以及另外的可替换实施例旨在用于独立于网络的(或多个网络)、恒定同步的、自动运行和同步的同步系统,该同步系统使用现有的网络、安全性和/或验证协议。
10.使用中的PullSync可以是一个“遍历机”(像网络爬行者),其连续搜索网络的宽度和范围(可能经常变化)、以及到其它计算机的网络连接和其中用于同步的文件夹和文件,对于某些这样的实施例来说,自动地检测和同步。
11.在另一个实施例中,PullSync也可以用于一种特定设备,例如使用PullSync的硬盘驱动器设备与计算机系统同步,并且根据其自己的本地PSR来备份该计算机共享文件夹中的内容。在一个可替换实施例当中,这种备份设备可以包括用于复制/备份整个与其同步的计算机系统的附加装置。
12.在另一个实施例中,利用PullSync的同步系统同样仅是拖动型的(pull-only),其中没有数据作为同步处理的一部分被推动,取而代之的是通过拖动数据来实现整个同步(经由PullSync向导)。
结论
可以以硬件或软件,适当的情况下以硬件和软件的组合来实现这里所描述的各种系统、方法和技术。因此,本发明的方法和装置,或者该方法和装置的某个部分可以采用嵌入到有形介质(诸如软盘、CD-ROM、硬盘驱动器或者任何其它的可机读存储介质)中的程序代码(即指令)的形式,其中当通过诸如计算机这样的机器来加载并执行程序代码时,该机器变为用于实践本发明的装置。在可编程计算机上执行的程序代码的情况下,计算机通常包括处理器,可由该处理器读取的存储介质(包括易失和非易失性存储器和/或存储单元),至少一个输入设备,以及至少一个输出设备。最好在高级程序或者源于对象的编程语言中实现一个或多个程序,以便与计算机系统进行通信。然而,如果需要的话,可以在汇编或机器语言中实现该程序。在任何情况下,该语言都可以是可编辑或解释的语言,并且与硬件设备相结合。
本发明的方法和装置也可以以程序代码的形式来实现,该程序代码基于某种传输介质来传送,诸如基于电线或电缆、通过光纤或者经由任何其它形式的传输介质,其中当通过诸如EPROM、门阵列、可编程逻辑器件(PLD)、客户计算机、视频记录设备等机器来接收、加载并执行程序代码时,该机器变为用于实践本发明的装置。当在通用处理器上执行时,该程序代码与处理器相结合来提供唯一的装置,该装置用于执行本发明的变址功能。
尽管已结合了各个附图的优选实施例描述了本发明,但是应当理解,也可以使用其它类似的实施例,也可以对所述实施例进行修改和添加,以实现本发明相同的功能而不脱离本发明的范围。例如,尽管在模拟个人计算机功能的数字设备的描述中描述了本发明的示范性实施例,但是本领域的普通技术人员将认识到本发明并不限于这些数字设备,本发明中所描述的内容可以应用于多种现有的计算设备或环境,诸如游戏控制台、手持计算机、便携式计算机等,无论是有线的还是无线的,而且还可以应用于经由通信网络连接的任意多个这种计算设备,并且通过网络进行交互作用。此外,需要强调的是,这里期待多种计算机平台,包括手持设备操作系统和其它应用程序规定的硬件/软件接口系统,尤其是随着无线网络设备的持续增加。因此,本发明不应当被限制到任何单个实施例,而是根据所附的权利要求来构造更宽的保护范围。

Claims (30)

1.一种用于同步第一计算机系统和第二计算机系统的方法,所述第一计算机系统包括用于推进式同步的软件成分,所述方法(“同步操作”)包括:
所述第一计算机系统在所述第一计算机系统和所述第二计算机系统之间建立网络连接,或者利用它们之间现有的网络连接(“连接单元”);
所述第一计算机系统查看在所述第二计算机系统上的至少一个文件(“查看单元”);
所述第一计算机系统确定在所述第二计算机系统上的所述至少一个文件是否需要被复制到所述第一计算机系统,以便所述第一计算机系统与所述第二计算机系统同步(“逻辑单元”);以及
所述第一计算机系统使用标准网络协议、基于所述网络连接从所述第二计算机系统复制至少一个文件(“复制单元”);
其中对于包括上述单元的同步操作,所述第二计算机系统仅使用用于所述同步操作的标准网络协议功能。
2.根据权利要求1所述的方法,其中所述第二计算机系统不知道其是否与所述第一计算机系统(作为同步者)同步(所述第二计算机系统作为被同步者)。
3.根据权利要求1所述的方法,其中所述连接单元的所述网络连接是无线连接。
4.根据权利要求1所述的方法,其中所述第一计算机系统是移动计算机系统,该移动计算机系统具有到所述第二计算机系统的动态网络连接,使得所述第一计算机系统在某个时期能够执行所述连接单元(及其之后的单元),而且在某个其它的时期不能够执行所述连接单元(及其之后的单元)。
5.根据权利要求1所述的方法,其中就在所述第一计算机系统和所述第二计算机系统之间的所述网络连接来说,所述同步操作进一步包括使用现有的标准网络安全协议。
6.根据权利要求1所述的方法,其中通过所述第一计算机系统根据一组同步规则来执行所述逻辑单元。
7.根据权利要求6所述的方法,所述同步规则组从下面多个同步参数中定义至少一个同步参数,所述多个同步参数包括:一组用于同步的计算机系统;在用于同步的计算机系统上的一组文件夹;在用于同步的计算机系统上的一组文件;在用于同步的计算机系统上的一组文件特性;以及上述同步参数中的至少两个的组合。
8.根据权利要求6所述的方法,其中所述同步规则组还包括用于管理和维护所述第一计算机系统上的所述文件的规则子集。
9.根据权利要求6所述的方法,其中所述第一计算机系统积极地搜索至少一个利用同步操作与之同步的附加计算机系统,以及其中一组同步规则还包括用于管理试图执行同步操作的频率的规则子集。
10.一种用于网络中至少两个计算机系统的双向对等同步方法,其中所述至少两个计算机系统中的每一个仅使用推进式同步软件成分,所述方法(“同步操作”)包括:
所述第一计算机系统在所述第一计算机系统和所述第二计算机系统之间建立网络连接,或者利用它们之间现有的网络连接(“连接单元”);
所述第一计算机系统查看在所述第二计算机系统上的至少一个文件(“查看单元”);
所述第一计算机系统确定在所述第二计算机系统上的所述至少一个文件是否需要被复制到所述第一计算机系统,以便所述第一计算机系统与所述第二计算机系统同步(“逻辑单元”);
所述第一计算机系统使用标准网络协议、基于所述网络连接从所述第二计算机系统复制至少一个文件(“复制单元”);
所述第二计算机系统在所述第二计算机系统和所述第一计算机系统之间建立网络连接,或者利用它们之间现有的网络连接(“连接单元”);
所述第二计算机系统查看在所述第一计算机系统上的至少一个文件(“查看单元”);
所述第二计算机系统确定在所述第一计算机系统上的所述至少一个文件是否需要被复制到所述第二计算机系统,以便所述第二计算机系统与所述第一计算机系统同步(“逻辑单元”);以及
所述第二计算机系统使用标准网络协议、基于所述网络连接从所述第一计算机系统复制至少一个文件(“复制单元”);
其中独立于所述第二计算机系统的所述单元来执行所述第一计算机系统的所述单元,以及对于同步操作,所述第二计算机系统仅使用标准网络协议功能,所述同步操作包括由所述第一计算机系统执行的上述单元;以及对于同步操作,所述第一计算机系统仅使用标准网络协议功能,所述同步操作包括由所述第二计算机系统执行的上述单元。
11.一种用于同步第一计算机系统和第二计算机系统的系统,所述第一计算机系统包括用于推进式同步的软件成分,所述系统(“同步系统”)包括至少下面的一个子系统:
所述第一计算机系统在所述第一计算机系统和所述第二计算机系统之间建立网络连接,或者利用它们之间现有的网络连接(“连接子系统部件”);
所述第一计算机系统查看在所述第二计算机系统上的至少一个文件(“查看子系统部件”);
所述第一计算机系统确定在所述第二计算机系统上的所述至少一个文件是否需要被复制到所述第一计算机系统,以便所述第一计算机系统与所述第二计算机系统同步(“逻辑子系统部件”);以及
所述第一计算机系统使用标准网络协议、基于所述网络连接从所述第二计算机系统复制至少一个文件(“复制子系统部件”);
其中对于包括上述子系统部件的同步系统,所述第二计算机系统仅使用用于所述同步系统的标准网络协议功能。
12.根据权利要求11所述的系统还包括至少一个子系统,借此子系统,所述第二计算机系统不知道其是否与所述第一计算机系统(作为同步者)同步(所述第二计算机系统作为被同步者)。
13.根据权利要求11所述的系统还包括至少一个子系统,借此子系统,所述连接子系统部件的所述网络连接是无线连接。
14.根据权利要求11所述的系统还包括至少一个子系统,借此子系统,所述第一计算机系统是移动计算机系统,该移动计算机系统具有到所述第二计算机系统的动态网络连接,使得所述第一计算机系统在某个时期能够执行所述连接子系统部件(及其之后的子系统部件),而且在某个其它的时期不能够执行所述连接子系统部件(及其之后的子系统部件)。
15.根据权利要求11所述的系统还包括至少一个子系统,借此子系统,就在所述第一计算机系统和所述第二计算机系统之间的所述网络连接来说,所述同步操作进一步包括使用现有的标准网络安全协议。
16.根据权利要求11所述的系统还包括至少一个子系统,借此子系统,通过所述第一计算机系统根据一组同步规则来执行所述逻辑子系统部件。
17.根据权利要求16所述的系统还包括至少一个子系统,借此子系统,所述同步规则组从下面多个同步参数中定义至少一个同步参数,所述多个同步参数包括:一组用于同步的计算机系统;在用于同步的计算机系统上的一组文件夹;在用于同步的计算机系统上的一组文件;在用于同步的计算机系统上的一组文件特性;以及上述同步参数中的至少两个的组合。
18.根据权利要求16所述的系统还包括至少一个子系统,借此子系统,所述同步规则组还包括用于管理和维护所述第一计算机系统上的所述文件的规则子集。
19.根据权利要求16所述的系统还包括至少一个子系统,借此子系统,所述第一计算机系统积极地搜索至少一个利用同步系统与之同步的附加计算机系统,以及其中一组同步规则还包括用于管理试图执行同步系统的频率的规则子集。
20.一种用于网络中至少两个计算机系统的双向对等同步系统,其中所述至少两个计算机系统中的每一个仅使用推进式同步软件成分,所述系统(“同步系统”)包括至少一个下面的子系统:
所述第一计算机系统在所述第一计算机系统和所述第二计算机系统之间建立网络连接,或者利用它们之间现有的网络连接(“连接子系统部件”);
所述第一计算机系统查看在所述第二计算机系统上的至少一个文件(“查看子系统部件”);
所述第一计算机系统确定在所述第二计算机系统上的所述至少一个文件是否需要被复制到所述第一计算机系统,以便所述第一计算机系统与所述第二计算机系统同步(“逻辑子系统部件”);
所述第一计算机系统使用标准网络协议、基于所述网络连接从所述第二计算机系统复制至少一个文件(“复制子系统部件”);
所述第二计算机系统在所述第二计算机系统和所述第一计算机系统之间建立网络连接,或者利用它们之间现有的网络连接(“连接子系统部件”);
所述第二计算机系统查看在所述第一计算机系统上的至少一个文件(“查看子系统部件”);
所述第二计算机系统确定在所述第一计算机系统上的所述至少一个文件是否需要被复制到所述第二计算机系统,以便所述第二计算机系统与所述第一计算机系统同步(“逻辑子系统部件”);以及
所述第二计算机系统使用标准网络协议、基于所述网络连接从所述第一计算机系统复制至少一个文件(“复制子系统部件”);
其中独立于所述第二计算机系统的所述子系统部件来执行所述第一计算机系统的所述子系统部件,以及对于同步系统,所述第二计算机系统仅使用标准网络协议功能,所述同步系统包括由所述第一计算机系统执行的上述子系统部件;以及对于同步系统,所述第一计算机系统仅使用标准网络协议功能,所述同步系统包括由所述第二计算机系统执行的上述子系统部件。
21.一种包括用于同步第一计算机系统和第二计算机系统的计算机可读指令的计算机可读介质,所述第一计算机系统包括用于推进式同步的软件成分,所述计算机可读指令(“同步指令”)包括下面的指令:
所述第一计算机系统在所述第一计算机系统和所述第二计算机系统之间建立网络连接,或者利用它们之间现有的网络连接(“连接指令”);
所述第一计算机系统查看在所述第二计算机系统上的至少一个文件(“查看指令”);
所述第一计算机系统确定在所述第二计算机系统上的所述至少一个文件是否需要被复制到所述第一计算机系统,以便所述第一计算机系统与所述第二计算机系统同步(“逻辑指令”);以及
所述第一计算机系统使用标准网络协议、基于所述网络连接从所述第二计算机系统复制至少一个文件(“复制指令”);
其中对于包括上述指令的同步系统,所述第二计算机系统仅使用用于所述同步指令的标准网络协议功能。
22.根据权利要求21所述的计算机可读指令还包括指令,借此指令,所述第二计算机系统不知道其是否与所述第一计算机系统(作为同步者)同步(所述第二计算机系统作为被同步者)。
23.根据权利要求21所述的计算机可读指令还包括指令,借此指令,所述连接指令的所述网络连接是无线连接。
24.根据权利要求21所述的计算机可读指令还包括指令,借此指令,所述第一计算机系统是移动计算机系统,该移动计算机系统具有到所述第二计算机系统的动态网络连接,使得所述第一计算机系统在某个时期能够执行所述连接指令(及其之后的指令),而且在某个其它的时期不能够执行所述连接指令(及其之后的指令)。
25.根据权利要求21所述的计算机可读指令还包括指令,借此指令,就在所述第一计算机系统和所述第二计算机系统之间的所述网络连接来说,所述同步操作进一步包括使用现有的标准网络安全协议。
26.根据权利要求21所述的计算机可读指令还包括指令,借此指令,通过所述第一计算机系统根据一组同步规则来执行所述逻辑指令。
27.根据权利要求26所述的计算机可读指令还包括指令,借此指令,所述同步规则组从下面多个同步参数中定义至少一个同步参数,所述多个同步参数包括:一组用于同步的计算机系统;在用于同步的计算机系统上的一组文件夹;在用于同步的计算机系统上的一组文件;在用于同步的计算机系统上的一组文件特性;以及上述同步参数中的至少两个的组合。
28.根据权利要求26所述的计算机可读指令还包括指令,借此指令,所述同步规则组还包括用于管理和维护所述第一计算机系统上的所述文件的规则子集。
29.根据权利要求26所述的计算机可读指令还包括指令,借此指令,所述第一计算机系统积极地搜索至少一个利用同步系统与之同步的附加计算机系统,以及其中一组同步规则还包括用于管理试图执行同步指令的频率的规则子集。
30.一种计算机可读介质,包括用于网络中至少两个计算机系统的双向对等同步的计算机可读指令,其中所述至少两个计算机系统中的每一个仅使用推进式同步软件成分,所述计算机可读指令(“同步指令”)包括指令:
所述第一计算机系统在所述第一计算机系统和所述第二计算机系统之间建立网络连接,或者利用它们之间现有的网络连接(“连接指令”);
所述第一计算机系统查看在所述第二计算机系统上的至少一个文件(“查看指令”);
所述第一计算机系统确定在所述第二计算机系统上的所述至少一个文件是否需要被复制到所述第一计算机系统,以便所述第一计算机系统与所述第二计算机系统同步(“逻辑指令”);
所述第一计算机系统使用标准网络协议、基于所述网络连接从所述第二计算机系统复制至少一个文件(“复制指令”);
所述第二计算机系统在所述第二计算机系统和所述第一计算机系统之间建立网络连接,或者利用它们之间现有的网络连接(“连接指令”);
所述第二计算机系统查看在所述第一计算机系统上的至少一个文件(“查看指令”);
所述第二计算机系统确定在所述第一计算机系统上的所述至少一个文件是否需要被复制到所述第二计算机系统,以便所述第二计算机系统与所述第一计算机系统同步(“逻辑指令”);以及
所述第二计算机系统使用标准网络协议、基于所述网络连接从所述第一计算机系统复制至少一个文件(“复制指令”);
其中独立于所述第二计算机系统的所述指令来执行所述第一计算机系统的所述指令,以及对于同步指令,所述第二计算机系统仅使用标准网络协议功能,所述同步指令包括由所述第一计算机系统执行的上述指令;以及对于同步指令,所述第一计算机系统仅使用标准网络协议功能,所述同步指令包括由所述第二计算机系统执行的上述指令。
CN200510089634XA 2004-05-03 2005-05-08 用于实现基于点对点规则的推进式自动同步系统的系统和方法 Active CN1722731B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US56755704P 2004-05-03 2004-05-03
US60/567,557 2004-05-03
US10/929,303 US7395446B2 (en) 2004-05-03 2004-08-30 Systems and methods for the implementation of a peer-to-peer rule-based pull autonomous synchronization system
US10/929,303 2004-08-30

Publications (2)

Publication Number Publication Date
CN1722731A true CN1722731A (zh) 2006-01-18
CN1722731B CN1722731B (zh) 2010-05-12

Family

ID=34939670

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200510089634XA Active CN1722731B (zh) 2004-05-03 2005-05-08 用于实现基于点对点规则的推进式自动同步系统的系统和方法

Country Status (6)

Country Link
US (1) US7395446B2 (zh)
EP (1) EP1594286B1 (zh)
JP (1) JP4851113B2 (zh)
KR (1) KR101122880B1 (zh)
CN (1) CN1722731B (zh)
DE (1) DE602005015377D1 (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102449616A (zh) * 2009-05-29 2012-05-09 微软公司 对象存储库在网络上的基于群的同步
US8225412B2 (en) 2007-06-15 2012-07-17 Canon Kabushiki Kaisha Document verification method, document verification apparatus and storage medium
US8359358B2 (en) 2008-03-28 2013-01-22 Alibaba Group Holding Limited File folder transmission on network
CN102955790A (zh) * 2011-08-23 2013-03-06 苏州彭华信息技术有限公司 网络文件同步方法及装置
US9300721B2 (en) 2009-09-14 2016-03-29 Alibaba Group Holding Limited Method, apparatus and system for file transfer based on file directory
CN106575233A (zh) * 2014-08-27 2017-04-19 惠普发展公司,有限责任合伙企业 便携式储存设备
CN110798586A (zh) * 2010-02-19 2020-02-14 株式会社尼康 电子设备

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE602005001315T2 (de) 2005-01-28 2008-02-14 Research In Motion Ltd., Waterloo Automatische Integration von Inhalt aus mehreren Datenspeichern mittels eines Mobilkommunikationsgeräts
US20060277224A1 (en) * 2005-06-07 2006-12-07 Microsoft Corporation Synchronizing arbitrary data using a flexible schema
US7523136B2 (en) * 2005-12-16 2009-04-21 Sony Ericsson Mobile Communications Ab Electronic equipment and method for automatic synchronization and communication system
KR100789376B1 (ko) * 2006-04-13 2007-12-28 한국전자통신연구원 개인화된 데이터 관리 정책에 따른 정보생명주기관리 서비스 제공 방법
US7890646B2 (en) * 2006-04-27 2011-02-15 Microsoft Corporation Synchronization orchestration
US7930270B2 (en) * 2007-02-26 2011-04-19 Microsoft Corporation Managing files on multiple computing devices
FR2918241B1 (fr) * 2007-06-28 2009-11-06 Bouygues Telecom Sa Procede, serveur et application pour le partage de contenus personnels entre terminaux d'usager(s)
US20090150569A1 (en) * 2007-12-07 2009-06-11 Avi Kumar Synchronization system and method for mobile devices
US9141483B1 (en) * 2008-03-27 2015-09-22 Dropbox, Inc. System and method for multi-tier synchronization
JP2009265930A (ja) * 2008-04-24 2009-11-12 Hitachi Ltd ストレージサブシステムおよびストレージシステム
US20090282169A1 (en) * 2008-05-09 2009-11-12 Avi Kumar Synchronization programs and methods for networked and mobile devices
WO2009149063A1 (en) * 2008-06-02 2009-12-10 Azuki Systems, Inc. Media mashup system
US20100070466A1 (en) 2008-09-15 2010-03-18 Anand Prahlad Data transfer techniques within data storage devices, such as network attached storage performing data migration
US20100076778A1 (en) * 2008-09-25 2010-03-25 Kondrk Robert H Method and System for Providing and Maintaining Limited-Subscriptions to Digital Media Assets
US8473543B2 (en) 2009-07-06 2013-06-25 Microsoft Corporation Automatic conflict resolution when synchronizing data objects between two or more devices
FR2950991A1 (fr) 2009-10-01 2011-04-08 Sagem Comm Procede de synchronisation d'elements stockes par des dispositifs d'un systeme de communication de type paire a paire
JP5430410B2 (ja) * 2010-01-05 2014-02-26 キヤノン株式会社 通信装置およびその制御方法
US20120023074A1 (en) * 2010-07-22 2012-01-26 Verizon Patent And Licensing, Inc. Scalable rule-based data synchronization systems and methods
US9244779B2 (en) 2010-09-30 2016-01-26 Commvault Systems, Inc. Data recovery operations, such as recovery from modified network data management protocol data
US10102242B2 (en) * 2010-12-21 2018-10-16 Sybase, Inc. Bulk initial download of mobile databases
KR101907009B1 (ko) * 2011-10-21 2018-10-12 삼성전자주식회사 디지털 상품을 설치하기 위한 장치 및 방법
CN103188330A (zh) * 2011-12-31 2013-07-03 北大方正集团有限公司 一种文件传输方法及系统
EP2712450A4 (en) * 2012-03-30 2015-09-16 Commvault Systems Inc INFORMATONS MANAGEMENT OF DATA OF MOBILE DEVICES
US9069799B2 (en) 2012-12-27 2015-06-30 Commvault Systems, Inc. Restoration of centralized data storage manager, such as data storage manager in a hierarchical data storage system
US9858052B2 (en) 2013-03-21 2018-01-02 Razer (Asia-Pacific) Pte. Ltd. Decentralized operating system
CN104243533B (zh) * 2013-06-21 2018-03-30 英华达(上海)科技有限公司 在局域网络中进行数据分享与数据同步的方法
US9928144B2 (en) 2015-03-30 2018-03-27 Commvault Systems, Inc. Storage management of data using an open-archive architecture, including streamlined access to primary data originally stored on network-attached storage and archived to secondary storage
US10963430B2 (en) 2015-04-01 2021-03-30 Dropbox, Inc. Shared workspaces with selective content item synchronization
US10001913B2 (en) * 2015-04-01 2018-06-19 Dropbox, Inc. Shared workspaces with selective content item synchronization
US9922201B2 (en) 2015-04-01 2018-03-20 Dropbox, Inc. Nested namespaces for selective content sharing
US10101913B2 (en) 2015-09-02 2018-10-16 Commvault Systems, Inc. Migrating data to disk without interrupting running backup operations
US10691718B2 (en) 2015-10-29 2020-06-23 Dropbox, Inc. Synchronization protocol for multi-premises hosting of digital content items
US9479567B1 (en) 2015-10-29 2016-10-25 Dropbox, Inc. Synchronization protocol for multi-premises hosting of digital content items
US9537952B1 (en) 2016-01-29 2017-01-03 Dropbox, Inc. Apparent cloud access for hosted content items
KR101929948B1 (ko) * 2017-04-07 2018-12-18 네이버 주식회사 데이터 타입 기반의 멀티 디바이스 데이터 동기화를 위한 방법 및 시스템
US10742735B2 (en) 2017-12-12 2020-08-11 Commvault Systems, Inc. Enhanced network attached storage (NAS) services interfacing to cloud storage
US11290530B2 (en) * 2018-06-01 2022-03-29 Apple Inc. Customizable, pull-based asset transfer requests using object models
KR102084014B1 (ko) * 2018-12-11 2020-03-04 네이버 주식회사 데이터 타입 기반의 멀티 디바이스 데이터 동기화를 위한 방법 및 시스템
JP7263023B2 (ja) * 2019-01-21 2023-04-24 キヤノン株式会社 画像処理装置及び方法
US11290531B2 (en) 2019-12-04 2022-03-29 Dropbox, Inc. Immediate cloud content item creation from local file system interface
US20230385236A1 (en) * 2022-05-31 2023-11-30 Microsoft Technology Licensing, Llc Maintaining Stale Files to Minimize Computing Costs

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6671705B1 (en) * 1999-08-17 2003-12-30 Emc Corporation Remote mirroring system, device, and method
US6671757B1 (en) * 2000-01-26 2003-12-30 Fusionone, Inc. Data transfer and synchronization system
US7505762B2 (en) * 2004-02-27 2009-03-17 Fusionone, Inc. Wireless telephone data backup system
US8156074B1 (en) * 2000-01-26 2012-04-10 Synchronoss Technologies, Inc. Data transfer and synchronization system
US6738766B2 (en) * 2000-02-02 2004-05-18 Doongo Technologies, Inc. Apparatus and methods for providing personalized application search results for wireless devices based on user profiles
EP1187421A3 (en) * 2000-08-17 2004-04-14 FusionOne, Inc. Base rolling engine for data transfer and synchronization system
US7440994B2 (en) * 2001-07-06 2008-10-21 Intel Corporation Method and apparatus for peer-to-peer services to shift network traffic to allow for an efficient transfer of information between devices via prioritized list
US7149813B2 (en) * 2001-08-14 2006-12-12 Microsoft Corporation Method and system for synchronizing mobile devices
US7213039B2 (en) * 2001-09-07 2007-05-01 Extended System, Inc. Synchronizing differing data formats
US6823349B1 (en) * 2001-09-21 2004-11-23 Emc Corporation Method and system for establishing, maintaining, and using a persistent fracture log
GB2380830A (en) * 2001-10-13 2003-04-16 Hewlett Packard Co Automatic file sharing in a peer to peer network by use of constraints between file system domains
AU2003219896A1 (en) * 2002-02-25 2003-09-09 Siebel Systems, Inc. (A Corporation Of Delaware) Method and system for server-based operations in server synchronization with a computing device
US7024214B2 (en) * 2002-02-26 2006-04-04 Microsoft Corporation Synchronizing over a number of synchronization mechanisms using flexible rules
US6721871B2 (en) * 2002-04-02 2004-04-13 Nokia Corporation Method and apparatus for synchronizing data stores with respect to changes in folders
WO2003094029A1 (en) * 2002-04-30 2003-11-13 Viair, Inc. Adaptive synchronization of service data
WO2003102778A2 (en) * 2002-05-31 2003-12-11 International Business Machines Corporation System and method for accessing different types of back end data stores
EP1383054A1 (en) * 2002-07-19 2004-01-21 SCHLUMBERGER Systèmes Data synchronization procedures for smartcards
US20040139180A1 (en) * 2003-01-10 2004-07-15 Sony Corporation Automobile media synchronization
US7451444B2 (en) * 2003-09-30 2008-11-11 Sas Institute Inc. Computer-implemented system and method for managing service agents

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8225412B2 (en) 2007-06-15 2012-07-17 Canon Kabushiki Kaisha Document verification method, document verification apparatus and storage medium
CN101325489B (zh) * 2007-06-15 2015-05-13 佳能株式会社 文档验证方法和文档验证设备
US9128952B2 (en) 2008-03-28 2015-09-08 Alibaba Group Holding Limited File folder transmission on network
US8359358B2 (en) 2008-03-28 2013-01-22 Alibaba Group Holding Limited File folder transmission on network
US8510401B2 (en) 2008-03-28 2013-08-13 Alibaba Group Holding Limited File folder transmission on network
CN102449616A (zh) * 2009-05-29 2012-05-09 微软公司 对象存储库在网络上的基于群的同步
CN102449616B (zh) * 2009-05-29 2013-09-18 微软公司 对象存储库在网络上的基于群的同步
US8694578B2 (en) 2009-05-29 2014-04-08 Microsoft Corporation Swarm-based synchronization over a network of object stores
US9300721B2 (en) 2009-09-14 2016-03-29 Alibaba Group Holding Limited Method, apparatus and system for file transfer based on file directory
CN110798586A (zh) * 2010-02-19 2020-02-14 株式会社尼康 电子设备
US11343387B2 (en) 2010-02-19 2022-05-24 Nikon Corporation Electronic device, imaging device, image reproduction method, image reproduction program, recording medium with image reproduction program recorded thereupon, and image reproduction device
US11882249B2 (en) 2010-02-19 2024-01-23 Nikon Corporation Electronic device, imaging device, image reproduction method, image reproduction program, recording medium with image reproduction program recorded thereupon, and image reproduction device
CN102955790A (zh) * 2011-08-23 2013-03-06 苏州彭华信息技术有限公司 网络文件同步方法及装置
CN106575233A (zh) * 2014-08-27 2017-04-19 惠普发展公司,有限责任合伙企业 便携式储存设备

Also Published As

Publication number Publication date
JP2005332388A (ja) 2005-12-02
US7395446B2 (en) 2008-07-01
EP1594286B1 (en) 2009-07-15
DE602005015377D1 (de) 2009-08-27
CN1722731B (zh) 2010-05-12
EP1594286A1 (en) 2005-11-09
US20050262371A1 (en) 2005-11-24
KR20060047709A (ko) 2006-05-18
KR101122880B1 (ko) 2012-03-22
JP4851113B2 (ja) 2012-01-11

Similar Documents

Publication Publication Date Title
CN1722731B (zh) 用于实现基于点对点规则的推进式自动同步系统的系统和方法
EP3408744B1 (en) Providing access to a hybrid application offline
CN101944107B (zh) 一种文件管理的方法
AU2014349154B2 (en) File-level commenting
CN101601027B (zh) 用于偶尔连接的应用程序的同步框架
CN101981557B (zh) 计算环境表示
CN102668516B (zh) 一种云消息服务中实现消息传递的方法和装置
EP2840481A1 (en) Apparatus and computer program product for virtualization of a file system
US8352430B1 (en) File storage system to support high data rates
CN1542637A (zh) 同步在对等计算设备中共享的数据的方法和系统
CN103907110A (zh) 文档协作
GB2497793A (en) Pre-emptive caching of potentially relevant content from a collaborative workspace at a client device
US8386430B1 (en) File storage method to support data recovery in the event of a memory failure
KR20130086149A (ko) 역할 기반의 프레젠테이션 뷰
KR20080113353A (ko) 데이터 전달 시스템 및 데이터 전달 방법
CN100418319C (zh) 透明计算系统中端设备间数据的传送方法
CN104641650A (zh) 在数据存储子系统中的源引用复制
US20180293021A1 (en) Method and system for transferring data between storage systems
US20070130183A1 (en) Methods, systems, and computer program products for associating computer-system-accessible resources using behaviors
KR20020038502A (ko) 공통 액세스 플랫폼을 통한 전자 파일의 선택적 분배
CN101065726A (zh) 在基本系统和移动系统之间基于使用历史的内容交换
CN1816020A (zh) 互换格式消息的有效变换
US10712951B2 (en) System and method for backing up social network data
KR101470857B1 (ko) iSCSI 스토리지 시스템을 이용한 네트워크 분산 파일 시스템 및 방법
US10880388B1 (en) Automatic redirection in scale-out cluster environments that perform distributed deduplication

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150428

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

Effective date of registration: 20150428

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.