CN100530176C - 多种同步源的交叉混合 - Google Patents

多种同步源的交叉混合 Download PDF

Info

Publication number
CN100530176C
CN100530176C CNB2005100091586A CN200510009158A CN100530176C CN 100530176 C CN100530176 C CN 100530176C CN B2005100091586 A CNB2005100091586 A CN B2005100091586A CN 200510009158 A CN200510009158 A CN 200510009158A CN 100530176 C CN100530176 C CN 100530176C
Authority
CN
China
Prior art keywords
project
synchronous
data source
data
described device
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.)
Expired - Fee Related
Application number
CNB2005100091586A
Other languages
English (en)
Other versions
CN1658195A (zh
Inventor
B·拉杰夫
G·霍尔
J·E·谢里弗尔
J·V·E·博尔杜西
M·弗斯特尔
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 CN1658195A publication Critical patent/CN1658195A/zh
Application granted granted Critical
Publication of CN100530176C publication Critical patent/CN100530176C/zh
Expired - Fee Related 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/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/275Synchronous replication
    • 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
    • AHUMAN NECESSITIES
    • A01AGRICULTURE; FORESTRY; ANIMAL HUSBANDRY; HUNTING; TRAPPING; FISHING
    • A01GHORTICULTURE; CULTIVATION OF VEGETABLES, FLOWERS, RICE, FRUIT, VINES, HOPS OR SEAWEED; FORESTRY; WATERING
    • A01G9/00Cultivation in receptacles, forcing-frames or greenhouses; Edging for beds, lawn or the like
    • A01G9/02Receptacles, e.g. flower-pots or boxes; Glasses for cultivating flowers
    • A01G9/021Pots formed in one piece; Materials used therefor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B44DECORATIVE ARTS
    • B44CPRODUCING DECORATIVE EFFECTS; MOSAICS; TARSIA WORK; PAPERHANGING
    • B44C5/00Processes for producing special ornamental bodies
    • B44C5/06Natural ornaments; Imitations thereof
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

Abstract

本发明使用户能让装置与可交叉混合的至少两个数据源同步。用户的装置被用以来回传送源之间的改变,并解决当在多个源上同时对项目作改变时的冲突。用户的装置追踪每个同步源具有何种项目版本,并使这些源的每一个同步为项目的最新版本。

Description

多种同步源的交叉混合
技术领域
本发明涉及使一个装置与一个以上计算装置(“同步源”)同步。
背景技术
用户能使一个装置与另一个装置同步。例如,用户可使其工作计算机与其移动装置同步。同步之后移动装置和计算机具有被选中进行同步操作的相同信息。同步的基本目标是保持两个系统彼此保持流动。当设备同步时对一个源所作的改变可传播到另一个中。
例如,当用户将其移动装置上的联系人与其家庭计算机同步时,在完成同步操作后家庭PC和移动装置将有相同的联系人。许多用户将包括电子邮件、联系人、日程安排、以及文档等的项目同步。然而,要在两个以上不同装置间进行信息同步操作是非常困难的。所需要的是一种把多个同步源同步的方法。
发明内容
根据本发明的一方面,装置“交叉混合”(cross-pollinate)其数据。一种诸如移动装置的计算装置追踪每个数据源具有何种项目版本,并将数据源同步为项目的最新版本。用户能可选择地允许或禁止对项目和数据源的交叉混合。
根据本发明的另一方面,副本检测算法帮助避免在装置间产生副本数据。
根据本发明的又一方面,取决于被删除项目与不再在用户过滤器中的项目相比较的差异,会对删除项目进行不同的处理。
根据本方面的再一方面,即使同步源使用了不同版本的同步协议,仍会发生交叉混合。
附图说明
图1和2示出的是可用于本发明一示例性实施例的示例性计算装置;
图3显示交叉混合同步系统;
图4示出了允许和禁止交叉混合;
图5示出的是示例性同步表格体系结构;
图6示出了软删除和硬删除;
图7示出了处理把项目添加到装置的命令;
图8示出的是示例性副本检测场景;
图9示出了处理用于装置上现有项目的副本添加命令;
图10示出了v1和v3服务器的交叉混合;
图11和12显示示例性同步场景;
图13示出了数据源创建;
图14示出的是用于去除数据源的过程;以及
图15示出了根据本发明诸方面,使没有同步的数据源信息相一致。
具体实施方式
贯穿本说明书和权利要求,以下术语具有明确相关联的含义,除非上下文中另有明显指示。术语“交叉混合”指的是混和或混合来自多个同步数据源的数据。
说明性操作环境
参照图1,用来实现本发明的一示例性系统包括诸如计算装置100的计算装置。在非常基本的配置中,计算装置100通常包括至少一个处理单元102和系统存储器104。取决于计算装置的准确配置和类型,系统存储器104可以是易失的(诸如RAM)、非易失的(诸如ROM、闪存等等)、或两者的某种组合。系统存储器104通常包括操作系统105、一个或多个应用程序106,也可包括程序数据107。在一实施例中,应用程序106可包括同步应用程序120。该基本配置在图1中由虚线108内的那些组件示出。
计算装置100可具有附加特征或功能。例如,计算装置100还可包括诸如磁盘、光盘、或磁带的其它数据存储装置(可移动和/或不可移动)。这种附加存储器在图1由可移动存储器109和不可移动存储器110中示出。计算机存储介质可包括以用来存储诸如计算机可读指令、数据结构、程序模块、或其它数据的信息的任何方法或技术实现的易失和非易失、可移动和不可移动的介质。系统存储器104、可移动存储器109和不可移动存储器110都是计算机存储介质的示例。计算机存储介质包括,但不限于RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字化通用光盘(DVD)或其它光学存储器、磁卡、磁带、磁盘存储器或其它磁性存储装置、或可用来存储所需信息并可由计算装置100访问的任何其它介质。任何这种计算机存储介质可以是装置100的一部分。计算装置100还可具有诸如键盘、鼠标、笔、语音输入装置、触摸输入装置等的输入装置112。还可包括诸如显示器、扬声器、打印机等的输出装置114。
计算装置100还可包含使装置能与其它计算装置118诸如在网络上进行通信的通信连接116。通信连接116是通信介质的一个示例。通信介质通常体现为计算机可读指令、数据结构、程序模块、或其它诸如载波或其它传输机制的已调制数据信号,并包括任何信息传输介质。术语“调制数据信号”意指具有以这种把信息编码到信号中的方式来设置或改变的一个或多个特征的信号。作为示例,而非限制,通信介质包括诸如有线网络或直接有线连接的有线介质,以及诸如声学、RF、红外和其它无线介质的无线介质。在此所用的术语计算机可读介质包括存储介质和通信介质。
图2示出的是用于本发明一示例性实施例的移动计算装置。参照图2,用来实现本发明的一示例性系统包括诸如移动计算装置200的移动计算装置。移动计算装置200包括处理器260、存储器262、显示器228和键盘232。存储器262通常包括易失存储器(例如RAM)和非易失存储器(例如ROM、闪存等等)。移动计算装置200包括驻留于存储器262并在处理器260上执行的诸如微软公司WindowsCE操作系统的操作系统264或另一操作系统。键盘232可以是按键式数字拨号盘(诸如典型的电话)、多键键盘(诸如常用键盘)。显示器228可以是液晶显示器,或其它通常用于移动计算装置的任何类型显示器。显示器228可以是触摸感应式的,且也可作为输入装置。
一个或多个应用程序266被装入存储器262并在操作系统264上运行。同步操作应用程序驻留于移动计算装置200,并被编程以执行同步操作应用程序。同步操作应用程序可驻留于装置的硬件或软件中。移动计算装置200还可包括存储器262中的非易失存储器268。可使用非易失存储器268来存储即使移动计算装置200断电也不应丢失的永久信息。
移动计算装置200包括可实现为一个或多个电池的电源270。电源270还可包括诸如AC适配器或对电池供电或充电的充电器的外部电源。
如图所示移动计算装置200具有两种类型的任选外部通知机制:LED 240和音频接口274。这些装置可直接与电源270耦合,从而当被激活时,即使处理器260和其它组件都会关闭以节约电池电源,它们可保留由通知机制所指示的一段时间。音频接口274被用来向用户提供可听信号,并从用户处接收可听信号。例如,音频接口274可与扬声器耦合用来提供可听输出,并可与话筒耦合用来接收可听输入,比如进行电话对话。
移动计算装置200还包括执行传送和接收通信功能的无线接口层272。无线接口层272便于移动计算装置200与外部世界的无线连接。根据一实施例,在操作系统264的控制下进行无线接口层272的往返传送。换言之,可经操作系统264把由无线接口层272接收的通信传播到应用程序266,反之亦然。
多个同步源的交叉混合
图3根据本发明诸方面显示了交叉混合同步系统。用户可使诸如装置1(305)的计算装置与每个都被视为“同步源”的一个以上计算装置同步。
在一示例性交叉混合场景中,用户通常具有与两个同步源同步的单独装置。用户使该装置与两个源都同步,且交叉混合使源互相同步。当在多个源上同时对项目作了改变时,用户装置被用来在源之间来回运送改变并解决冲突。用户装置追踪每个同步源具有何种项目版本,并使源的每一个都同步为项目的最新版本。
作为交叉混合的示例,假设用户使其PDA装置(305)与家庭PC(315)以及工作PC(310)同步。一旦同步了,装置(PDA装置305、工作PC 310以及家庭PC 315)的每一个都将包括项A 320。当用户使其PDA同步于工作PC时,由PDA接收项A。当用户使其PDA同步于家庭PC时,则从工作PC来到PDA的项A将自动传送到家庭PC。另外,当允许交叉混合时,在家庭PC上创建的任何项目都会经PDA自动传送到工作PC。
根据一实施例,用户可允许和禁止源之间的交叉混合。换言之,用户能在源之间交叉混合或使项目保持分离。该交叉混合设定能在任何时间开启和关闭。例如,用户可关闭与家庭PC(315)交叉混合的功能。当对家庭PC-禁止交叉混合时,来自工作PC的项目将不会移动到家庭PC。另外,用户可使一个源保持分离,而另两个源交叉混合。这种灵活性帮助用户能对如何同步操作数据有完全的控制。
根据一实施例,当装置不再与单个源同步时,则从该装置清除所有数据。数据也可留于该装置上。当装置与两个或多个装置同步时,因为它与另一源同步数据被留在该装置上。对于未同步的数据源和已去除的那个数据源的追踪数据,ID列被清除。
图4根据本发明诸方面示出了允许和禁止交叉混合。交叉混合同步装置知道它们正与之同步的源。根据一实施例,同步源配置信息存储在移动装置上并利用AirSyc协议。该配置信息可存储在其它地方,且该装置可利用其它同步协议。
根据一实施例,管理员把策略设置在装置上以限制装置可与之同步的源的数量。通过把装置能同步的源限制成一预定量,可用该特征来阻止交叉混合。根据其它实施例,任何经授权的用户都可把策略设置在在装置上。
示例1显示了使一数据源(工作PC 310)与PDA 305同步的同步操作。可见到项A在两个装置上复制。
示例2显示添加第二个数据源(家庭PC 315)。PDA 305与工作PC和家庭PC都同步,且每个装置包括在所有装置上的每个项目。原来在工作PC上的项A,被复制到PDA 305和家庭PC。原来在家庭PC上的项B,被复制到PDA 305和工作PC。
示例3示出了改变同步设定,使在装置上创建的项目与工作PC同步,且不允许工作PC和家庭PC交叉混合。可以见到,在装置上创建的项C与工作PC同步,但不对家庭PC交叉混合。
示例4显示在装置上创建的项目与工作PC同步,且在家庭PC上新创建的项目不对工作PC交叉混合。在此例中,项D在家庭PC上创建且与该装置同步,但不与工作PC同步。
示例5示出了改变同步设定,以跨越所有装置上交叉混合新创建的项目。在此例中,项E在工作PC上创建并与装置和家庭PC同步。根据一实施例,在不同同步设定中创建的项目保持那些同步设定。例如,如示例3和4中所示的在不同同步设定中创建的项C和项D是不交叉混合的。
示例6显示去除家庭PC同步源。根据一实施例,当那是该项唯一情况时,在被去除装置上创建的任何项目被去除。在此例中,从装置上去除了项D,但由于项B也与工作PC同步,未去除项B。
图5示出的是根据本发明诸方面的示例性同步表格体系结构。根据一实施例,SQL-CE用于维护同步状态。
DB文件(510)包含有对每种数据类型的单一表格以进行同步操作。该示例示出了同步的联系人、日程安排和任务。由于对一项目的改变在许多表格中发生,与该项目关联的LastModified字段(540)在每当编辑该项目时都得到了更新。这有助于确保通知并同步了所有的改变。项目表格、类别关联表格、或任何其它相关表格上对一个项目的改变触发对LastModified字段的更新。根据一实施例,对当前装置日期和时间设定值。在每次对项目的更新后接触该标记,有助于确保SQL-CE追踪系统正确追踪任何项目改变。如图所示,LastModified列被添加到联系人(524)、日程安排(520)和任务表格(522)中。每次改变项目时,都更新LastModified列。
以下是表格中该项目的示例性描述。
  类别   常量   值
  DataSourceType   alAirSyncServer   1
  alAirSyncDesktop   2
Figure C20051000915800101
根据本发明的一实施例,将每种数据源的用户属性(同步用户属性560)存储在登记表(Registry)中。这些用户属性包括同步引擎追踪的细节。根据一实施例,服务器追踪用户名、密码、区域、以及规则。桌面源追踪用户名、密码(任选的)、区域(domain)、规则以及机器名。
以下是根据本发明诸方面,示例性数据源应用程序接口的列表。
Figure C20051000915800102
Figure C20051000915800111
硬删除和软删除之间的差异
图6根据本发明诸方面示出了软删除和硬删除。根据一实施例,如果项目从过滤器上消失(不再同步)或已被物理删除了,同步协议发送对项目的删除。根据一实施例,用于对项目交叉混合的过滤器设定是装置范围的设定。由于因在交叉混合源上过滤器外删除的传播而可能有数据丢失,使用硬删除命令有助于区别软删除和硬删除。
术语“硬删除”指的是从每个存储中物理地删除该项目。硬删除跨越所有交叉混合源传播。术语“软删除”指的是项目已在过滤器上消失的事实。软删除从该装置中删除该项目,但并不把该删除传播到任何其它源。
如果同步协议的一个版本不支持软删除,则当接收删除命令时,该装置仅从其存储中删除该项目。换言之,删除并不交叉混合。因为有可能从上次同步操作起项目可在过滤器中消失,软删除发生在同步进程的末期。
例如,从服务器中删除项目610,则会在该装置上删除该项目而不会在家庭PC上删除该项目,如删除620所示。另一方面。如果在工作PC上硬删除该项目,则项目610在装置和家庭PC上都被删除,如删除625所示。当装置接收到对不存在项目的删除命令时,忽略删除命令。
副本检测
图7示出的是根据本发明诸方面,处理把项目添加到装置中的命令。在把项目添加到装置中之前,要完成副本检测检查。执行副本检测检查有助于确保正在进行交叉混合的不同装置上未创建副本。根据一实施例,副本检测基于项目属性比较,且副本检测代码在装置上实现(诸如图3中所示的装置305)。
在方框710,装置从被同步的数据源接收添加命令。移到方框715,装置为要添加的项目计算散列(hash)值,并对存储搜索具有相同散列值的任何其它项目。散列值被用来唯一地标识项目。也可使用其它唯一标识项目的方法。移到判定方框720,确定装置是否交叉混合。
如果在判定方框725散列被发现,装置将视该项目为副本,并移向判定方框方框735。当未发现同步散列时,过程移向方框730,在那里把项目添加到该装置中并设置同步未决位。在判定方框735,如果被发现项目当前与该数据源同步,则在方框730创建该项目,并设置同步未决字段。根据一实施例,如果装置上带有匹配同步散列的项目已与该源同步时,装置将不考虑把任何项目视为副本。
当项目当前不与数据源同步,则过程移到方框740,在那里该项目被检测为副本。此时,装置将保留已有版本并仅把新项目ID添加到现有记录中。
图8根据本发明诸方面,示出了示例性副本检测场景。通常,当把项目添加到装置上时,在项目属性的子集上计算SyncHash(同步散列810)。项A具有值为HASH 101(815)的同步值。当装置接收要添加的项目时,装置比较新项目和现有项目的SyncHash,使装置能够检测副本。
参照步骤1,来自服务器1的项A已与装置同步。此时,项A在服务器1和带有HASH 101的SyncHash值的装置上。在步骤2,用户把项A从其装置拷贝到服务器1上,从而在服务器1上创建项B。项B有与项A相同的SyncHash值。当在步骤3装置与服务器同步时,将在装置上创建项B,因为它已与服务器同步。
计算散列
在计算同步散列时采用了两种级别的属性级别匹配。
准确数据比较(主要关键字组):一组字段被定义为主要属性,把属性进行比较以把该项目视为副本。该组字段对每种数据类型而言可以是不同的。选定的该组字段应当不经重大代码改变就能适应代码。这可包括将这些字段列在标题文件中,从而在测试过程中可调节算法。
属性存在(次要关键字组):几乎包罗所有的更大的一组字段,用来检查这些属性中数据的简单存在。这有助于确保,如果在一项目中某字段被设定而在另一项目为空白,则即使其主要关键字匹配,项目也不会被视为彼此的副本。
存储/更新散列
当首次同步项目时,计算SyncHash并将其存储在该项目上。当对已同步的项目进行编辑时,更新SyncHash值。以下是根据本发明的一实施例,用于联系人、日程安排和任务的示例性主要和次要关键字组。其它属性被用来为要同步的其它项目创建主要和次要关键字组。
  联系人同步散列算法 属性
  主要关键字组(准确数据比较) FirstNameLastNameHomePhoneNumber的最后4个字符BusinessPhoneNumber的最后4个字符(如果少于4位数使用)
  次要关键字组(属性存在) Anniversary,AssistantName,AssistnamePhoneNumber,Birthday,Body,Business2PhoneNumber,BusinessCity,BusinessCountry,BusinessPostalCode,BusinessStateBusinessStreet,BusinessFaxNumber,CarPhoneNumber,CompanyName,Department,EmaillAddress,Email2Address,Email3Address,FileAs,Home2PhoneNumber,HomeCity,HomeCountry,HomePostalCode,HomeState,HomeStreetmHomeFaxNumber,JobTitle,MiddleName,MobilePhoneNumber,OfficeLocation,OtherCity,OtherCountry,OtherPostalCodeOtherState,OtherStreet,PagerNumber,RadioPhoneNumber,Spouse,Suffix,Title,WebPage,YomiCompanyName,YomiFirstName,YomiLastName
  日程安排同步散列算法   属性
  主要关键字组(准确数据比较) UID,StartTime,Location,Subject
  次要关键字组(属性存在) AllDayEvent,Email,Name,DtStamp,EndTime,Deleted,ExceptionStartTime,MeetingStatus,OrganizerEmail,OrganizerName,Recurrence,Type,Until,Occurrences,Interval,DayOfWeek,DayOfMonth,WeekOfMonth,MonthOfYear,Reminder
  任务同步散列算法 属性
  主要关键字组(准确数据比较) Subject,DueDate,Categories
  次要关键字组(属性存在) StartDate,CompletedDate,Importance,IsComplete,IsRecurring,Sensitivity,ReminderSet,ReminderTime,Body
如果项目被标记为交叉混合,装置上提供的数据将与其它数据源进行交叉混合。项目的截断版由于装置限制可交叉混合。根据一实施例,当发生截断时,把文本〔Message Truncated〕(消息被截断)添加到Notes(备注)字段的最后。用户将因此知道他们没有完全的原始拷贝。
装置上的同步引擎首先从数据源请求所有的添加。然后它把所有仍存在的添加(被复制添加作了标记,因此不会被发出)发送到数据源。
根据一实施例,装置上的项目追踪三个属性。ServerID和SyncHash将作为每个项目上的用户属性被存储。
属性   说明
ItemID   用于标识该项目。
ServerID 1...N   这是在服务器/台式机上标识项目的ID该项目有多个Server ID在项目上作为项目中用户属性的存储。
SyncHash   这是用以检测副本的同步散列值。在每次改变中都计算/重新计算该值。
ServerID属性有四个状态:
  同步状态   说明
  同步未决   项目在装置上且还未与目标数据源同步。在下次同步时,在数据源上创建该项目。
  有效ServerID   存储项目ServerID使与数据源的正确映射之用
  未决删除   在过去该项目对该数据源已同步,但用户已请求它不再同步。在下一次同步操作时,从数据源删除该项目,并清除该属性。
  未同步   项目未与该数据源同步
图9显示根据本发明诸方面,处理用于复制装置上现有项目副本的添加命令。对于被视为副本的项目,过程移到方框910,在那里添加命令被转换成改变命令。不是把整个项目拷贝到装置中,而是把项目更新。在方框920,属性列表与已知模式相比较。移到方框930,对于未提供的已知属性,显式删除被添加到改变命令中。方框940示出了经更新命令。在方框950,处理改变命令。
不同同步版本间的交叉混合
实施属性级别改变追踪是为了帮助支持多个同步协议版本交叉混合,且使不必要的写动作最少。每个同步提供者负责获知其同步的属性组,并仅当其关心的属性中发生改变时启动同步。由于同步供应者仅改变知道的属性,有可能装置上的项目将包含合并的属性组,部分属性来自v1服务器而其它属性来自同步的v3服务器。
图10示出了根据本发明诸实施例,v1和v3服务器的交叉混合。同步协议的不同版本支持不同属性。如实例中所示,v1协议支持属性A和B,而v3协议支持属性A、B和Z。
开始,装置未与v1服务器或v3服务器同步。在910,装置首先与v1服务器同步,并接收项A和B。然后,在920,装置与v3服务器同步。项A和B被检测为副本,且项A、B和Z与装置同步。在930,当装置再次与v1服务器同步时,没有同步操作发生,因为仅有项目Z作了改变而它不被v1服务器支持。
图11显示了根据本发明诸方面的示例性同步场景。步骤1110显示项A先前已与家庭PC及工作服务器交叉混合。在1120,编辑项A来创建项A的版本2(v2)。在1130装置与工作服务器同步,其中版本2与该装置同步。然后,在方框1140装置与家庭PC同步。由于装置被设定为服务器Wins,现在项A(版本1)在装置上。当装置再次与工作服务器同步时无冲突,而现在项A的版本1在工作服务器上(1150)。
图12根据本发明诸实施例显示示例性同步场景。步骤1210显示项A先前与家庭PC和工作服务器交叉混合。在1220,标识了工作服务器上的同步关键值为零。在方框1230用户进行交叉混合操作从而工作服务器ID被删除。移到方框1240,同步从头开始,且装置接收到请求把项A添加到装置中的命令。项目被检测为副本,且保留了来自家庭PC的项目。工作服务器ID被添加到项目标记中。
创建数据源
图13示出了根据本发明诸方面的数据源创建。开始框之后,过程移到方框1310,在那里获取新数据源的账户信息。移到方框1320,作了把新数据源登记到系统中的请求。在方框1330,数据源类型被设置为关联于数据源的类型。根据一实施例,数据源类型与装置类型(即DesktopSync和ServerSync)相关。然后,在方框1340,记录了机器名。如果丢失了DesktopSync信息,这促使装置有能力与台式机(大部分情形)重新连接。然后过程移动到结束方框,并返回以处理其它动作。
去除数据源
图14显示了根据本发明诸方面用于去除数据源的过程。删除数据源的动作删除了数据源以及与该数据源同步的所有项目。如果项目与一个以上数据源同步或未决同步,则不删除该项目。
在开始方框后,过程移到方框1410,在那里确定有多少源与装置同步。移到判定方框1420,当仅有一个数据源时,过程移到方框1430,在那里从装置中去除与被删除源同步的项目。当有一个以上装置时,过程移到方框1440,在那里去除装置上未交叉混合项目。转换到方框1450,去除已删除源的ID。根据一实施例,从应用表格中去除该数据源的用户列。根据一实施例,在去除任何数据之前,向用户提供警告消息。
以下是作进一步阐述的示例。假设,装置使其联系人和日程安排与第一源同步,而使日程安排和任务与第二源同步。然后用户删除第一源。作为去除该第一源的结果,从装置上清除所有的联系人。日程安排项目和任务留在装置上,且第一源的ID被去除。
协调同步之外的数据源信息
图15示出了根据本发明诸方面,协调没有同步的数据源信息。
使用以下示例进行说明。工作PC不知道的数据源(工作PC)在装置上存在。这会因很多原因而发生。例如,如果用户不得不重新安装同步程序或重建机器,它会发生。当装置连接到台式机上时,台式机通知装置已有与其同步的数据源设置(1510)。这可通过比较装置上数据源的网络机器名和工作PC名来确定。删除现有的台式机源,并重建一个新源。
装置不知道的数据源在台式机上存在。这可在比如装置冷启动时发生。通过比较存储在台式机上的数据源的DeviceID和装置的DeviceID,可确定装置过去与台式机同步,且可确定是否应再次设置装置使其与台式机同步。如果用户说“是”,则为用户创建新数据源。
以上说明书、示例和数据提供了本发明组成部分的制造和使用的完整描述。因为可作本发明的许多实施例而不背离本发明的精神和范围,本发明归属于所附权利要求。

Claims (22)

1.一种用来使一装置与数据源同步并允许所述数据源交叉混合的方法,其特征在于,包括:
创建一第一数据源和一第二数据源;
把所述装置连接到所述第一数据源;
使所述装置与所述第一数据源同步;
把所述装置连接到所述第二数据源;以及
使所述装置与所述第二数据源同步,其中所述装置被用作来回传送装置以在所述第一数据源和所述第二数据源之间交叉混合使得所述第一数据源、所述第二数据源和所述装置上均具有一项目的相同版本。
2.如权利要求1所述的方法,其特征在于,其中使所述装置与所述第一数据源同步进一步包括将所述第一数据源上的一项目添加到所述装置中,并且在将该项目添加到所述装置之前,执行副本检测检查以确定该要被添加的项目是否已经被同步了。
3.如权利要求2所述的方法,其特征在于,执行所述副本检测检查还包括在该要被添加的项目的属性和所述装置上现有项目的属性之间执行比较。
4.如权利要求2所述的方法,其特征在于,执行所述副本检测检查还包括为该要被添加的项目计算同步散列值。
5.如权利要求2所述的方法,其特征在于,还包括当该要被添加的项目已同步时更新该要被添加的项目。
6.如权利要求1所述的方法,其特征在于,还包括在所述第一数据源和所述第二数据源之间交叉混合后,如果一项目不再被同步或已被物理地删除,则从在所述装置和数据源之间使用的同步协议接收删除该项目的删除命令并执行所述删除命令,其中所述删除命令从软删除和硬删除中进行选择。
7.如权利要求2所述的方法,其特征在于,其中所述数据源之间的交叉混合能被用户限制。
8.如权利要求2所述的方法,其特征在于,创建所述第一数据源和所述第二数据源还包括指示数据源类型,并存储关联于所述第一数据源和所述第二数据源中每个数据源的标识符。
9.如权利要求2所述的方法,其特征在于,其中,使用第一同步协议使所述装置与所述第一数据源同步,而使用第二同步协议使所述装置与所述第二数据源同步。
10.一种用于交叉混合数据源的方法,其特征在于,包括:
创建至少两个数据源以与一装置同步;
使所述装置与所述至少两个数据源同步;以及
通过所述装置被配置成在所述至少两个数据源之间用作来回传送装置以在所述至少两个数据源之间交叉混合数据使得所述至少两个数据源和所述装置上均具有一项目的相同版本。
11.如权利要求10所述的方法,其特征在于,其中使所述装置与所述至少两个数据源同步进一步包括将一项目添加到所述装置中,并且在将该项目添加到所述装置之前,执行副本检测检查以确定该要被添加的项目是否已经被同步了。
12.如权利要求11所述的方法,其特征在于,执行所述副本检测检查还包括为该要被添加的项目计算同步散列值。
13.如权利要求11所述的方法,其特征在于,还包括在所述至少两个数据源之间交叉混合数据后,如果一项目不再被同步或已被物理地删除,则从在所述装置和所述至少两个数据源之间使用的同步协议接收删除该项目的删除命令并执行所述删除命令,其中所述删除命令从软删除和硬删除中进行选择。
14.如权利要求13所述的方法,其特征在于,其中所述数据源之间的交叉混合能被用户限制。
15.如权利要求13所述的方法,其特征在于,创建所述至少两个数据源还包括指示数据源类型,并存储关联于所述至少两个数据源中每个数据源的标识符。
16.如权利要求13所述的方法,其特征在于,使用一种以上同步协议使所述装置与至少两个数据源同步。
17.一种用于交叉混合数据源的系统,其特征在于,包括:
可相互交叉混合的至少两个数据源;
一装置,其被配置成在所述至少两个数据源之间担当来回传送装置以进行交叉混合,并被配置成与所述至少两个数据源同步,使得所述至少两个数据源和所述装置上均具有一项目的相同版本。
18.如权利要求17所述的系统,其特征在于,其中使所述装置与所述至少两个数据源同步进一步包括将一项目添加到所述装置中,并且在将该项目添加到所述装置之前,执行副本检测检查以确定该要被添加的项目是否已经被同步了。
19.如权利要求18所述的系统,其特征在于,执行所述副本检测检查还包括为该要被添加的项目计算同步散列值。
20.如权利要求18所述的系统,其特征在于,其中在所述至少两个数据源之间交叉混合数据后,如果一项目不再被同步或已被物理地删除,则从在所述装置和所述至少两个数据源之间使用的同步协议接收删除该项目的删除命令,其中所述删除命令从软删除和硬删除中进行选择,所述装置被配置成处理软删除和硬删除命令。
21.如权利要求20所述的系统,其特征在于,其中所述至少两个数据源之间的交叉混合能被用户限制。
22.如权利要求21所述的系统,其特征在于,使用一种以上同步协议使所述装置与所述至少两个数据源同步。
CNB2005100091586A 2004-02-04 2005-02-04 多种同步源的交叉混合 Expired - Fee Related CN100530176C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/771,896 2004-02-04
US10/771,896 US7526768B2 (en) 2004-02-04 2004-02-04 Cross-pollination of multiple sync sources

Publications (2)

Publication Number Publication Date
CN1658195A CN1658195A (zh) 2005-08-24
CN100530176C true CN100530176C (zh) 2009-08-19

Family

ID=34750440

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100091586A Expired - Fee Related CN100530176C (zh) 2004-02-04 2005-02-04 多种同步源的交叉混合

Country Status (5)

Country Link
US (3) US7526768B2 (zh)
EP (1) EP1569141A3 (zh)
JP (1) JP4726508B2 (zh)
KR (1) KR101137101B1 (zh)
CN (1) CN100530176C (zh)

Families Citing this family (157)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1466261B1 (en) 2002-01-08 2018-03-07 Seven Networks, LLC Connection architecture for a mobile network
US7917468B2 (en) * 2005-08-01 2011-03-29 Seven Networks, Inc. Linking of personal information management data
US8468126B2 (en) * 2005-08-01 2013-06-18 Seven Networks, Inc. Publishing data in an information community
US7853563B2 (en) * 2005-08-01 2010-12-14 Seven Networks, Inc. Universal data aggregation
US7526768B2 (en) * 2004-02-04 2009-04-28 Microsoft Corporation Cross-pollination of multiple sync sources
US9075805B2 (en) * 2004-02-04 2015-07-07 Sony Corporation Methods and apparatuses for synchronizing and tracking content
US7873646B2 (en) * 2004-02-25 2011-01-18 Research In Motion Limited Method for modifying notifications in an electronic device
US7398061B2 (en) * 2004-02-26 2008-07-08 Research In Motion Limited Method and apparatus for changing the behavior of an electronic device
WO2006045102A2 (en) 2004-10-20 2006-04-27 Seven Networks, Inc. Method and apparatus for intercepting events in a communication system
US8010082B2 (en) 2004-10-20 2011-08-30 Seven Networks, Inc. Flexible billing architecture
US7706781B2 (en) * 2004-11-22 2010-04-27 Seven Networks International Oy Data security in a mobile e-mail service
US7643818B2 (en) * 2004-11-22 2010-01-05 Seven Networks, Inc. E-mail messaging to/from a mobile terminal
FI117152B (fi) 2004-12-03 2006-06-30 Seven Networks Internat Oy Sähköpostiasetusten käyttöönotto matkaviestimelle
US7752633B1 (en) * 2005-03-14 2010-07-06 Seven Networks, Inc. Cross-platform event engine
US8438633B1 (en) 2005-04-21 2013-05-07 Seven Networks, Inc. Flexible real-time inbox access
US7796742B1 (en) 2005-04-21 2010-09-14 Seven Networks, Inc. Systems and methods for simplified provisioning
US7657574B2 (en) * 2005-06-03 2010-02-02 Microsoft Corporation Persistent storage file change tracking
WO2006136660A1 (en) 2005-06-21 2006-12-28 Seven Networks International Oy Maintaining an ip connection in a mobile network
US8069166B2 (en) * 2005-08-01 2011-11-29 Seven Networks, Inc. Managing user-to-user contact with inferred presence information
US7996442B2 (en) * 2005-10-17 2011-08-09 Oracle International Corporation Method and system for comparing and re-comparing data item definitions
US9049285B2 (en) * 2005-12-01 2015-06-02 At&T Intellectual Property I, L.P. Synchronization of client application data between POTS telephone and content portal through PSTN
US7769395B2 (en) 2006-06-20 2010-08-03 Seven Networks, Inc. Location-based operations and messaging
KR100789376B1 (ko) * 2006-04-13 2007-12-28 한국전자통신연구원 개인화된 데이터 관리 정책에 따른 정보생명주기관리 서비스 제공 방법
US8165221B2 (en) 2006-04-28 2012-04-24 Netapp, Inc. System and method for sampling based elimination of duplicate data
US8423347B2 (en) * 2006-06-06 2013-04-16 Microsoft Corporation Natural language personal information management
US8370423B2 (en) 2006-06-16 2013-02-05 Microsoft Corporation Data synchronization and sharing relationships
US20080001717A1 (en) * 2006-06-20 2008-01-03 Trevor Fiatal System and method for group management
US20070290787A1 (en) * 2006-06-20 2007-12-20 Trevor Fiatal Systems and methods for group messaging
US8332908B2 (en) 2006-06-22 2012-12-11 Nec Corporation Sharing management system, sharing management method and program
US8412682B2 (en) 2006-06-29 2013-04-02 Netapp, Inc. System and method for retrieving and using block fingerprints for data deduplication
US7921077B2 (en) * 2006-06-29 2011-04-05 Netapp, Inc. System and method for managing data deduplication of storage systems utilizing persistent consistency point images
US7730404B2 (en) 2006-07-31 2010-06-01 Research In Motion Limited Electronic device and method of messaging meeting invitees
US20080027955A1 (en) * 2006-07-31 2008-01-31 May Darrell R System and method for storage and display of time-dependent events
US8145200B2 (en) * 2006-07-31 2012-03-27 Research In Motion Limited Method and apparatus for configuring unique profile settings for multiple services
US7827138B2 (en) * 2006-10-02 2010-11-02 Salesforce.Com, Inc. Method and system for synchronizing a server and an on-demand database service
US20080103977A1 (en) * 2006-10-31 2008-05-01 Microsoft Corporation Digital rights management for distributed devices
US20080104206A1 (en) * 2006-10-31 2008-05-01 Microsoft Corporation Efficient knowledge representation in data synchronization systems
US20080109464A1 (en) * 2006-11-06 2008-05-08 Microsoft Corporation Extending Clipboard Augmentation
US8020112B2 (en) * 2006-11-06 2011-09-13 Microsoft Corporation Clipboard augmentation
US8453066B2 (en) 2006-11-06 2013-05-28 Microsoft Corporation Clipboard augmentation with references
US9552571B2 (en) 2007-02-02 2017-01-24 Blackberry Limited Electronic device and method of meeting notification
EP1956499A1 (en) 2007-02-09 2008-08-13 Research In Motion Limited System and method for managing databases associated with respective personal information manager service accounts
US7849056B2 (en) 2007-02-09 2010-12-07 Research In Motion Limited System and method for managing databases associated with respective personal information manager service accounts
US7620659B2 (en) * 2007-02-09 2009-11-17 Microsoft Corporation Efficient knowledge representation in data synchronization systems
US8751442B2 (en) 2007-02-12 2014-06-10 Microsoft Corporation Synchronization associated duplicate data resolution
EP2113863A4 (en) * 2007-02-21 2014-07-09 Nec Corp INFORMATION ASSOCIATION SYSTEM, USER INFORMATION ASSOCIATION PROCEDURE AND PROGRAM
US7933296B2 (en) * 2007-03-02 2011-04-26 Microsoft Corporation Services for data sharing and synchronization
US7900203B2 (en) * 2007-04-24 2011-03-01 Microsoft Corporation Data sharing and synchronization with relay endpoint and sync data element
US7725456B2 (en) * 2007-04-27 2010-05-25 Microsoft Corporation Item management with data sharing and synchronization
US8762345B2 (en) * 2007-05-31 2014-06-24 Netapp, Inc. System and method for accelerating anchor point detection
US7895246B2 (en) 2007-05-31 2011-02-22 Microsoft Corporation Collection bin for data management and transformation
US8805425B2 (en) * 2007-06-01 2014-08-12 Seven Networks, Inc. Integrated messaging
US8693494B2 (en) 2007-06-01 2014-04-08 Seven Networks, Inc. Polling
WO2009062182A1 (en) 2007-11-09 2009-05-14 Topia Technology Architecture for management of digital files across distributed network
US8364181B2 (en) * 2007-12-10 2013-01-29 Seven Networks, Inc. Electronic-mail filtering for mobile devices
US8793305B2 (en) 2007-12-13 2014-07-29 Seven Networks, Inc. Content delivery to a mobile device from a content service
US9002828B2 (en) 2007-12-13 2015-04-07 Seven Networks, Inc. Predictive content delivery
US8107921B2 (en) 2008-01-11 2012-01-31 Seven Networks, Inc. Mobile virtual network operator
US8862657B2 (en) 2008-01-25 2014-10-14 Seven Networks, Inc. Policy based content service
US20090193338A1 (en) * 2008-01-28 2009-07-30 Trevor Fiatal Reducing network and battery consumption during content delivery and playback
US20090248670A1 (en) * 2008-03-31 2009-10-01 Trevor Fiatal Content search engine
US8296671B2 (en) 2008-05-01 2012-10-23 Microsoft Corporation Enabling access to rich data by intercepting paste operations
EP2120196A1 (en) * 2008-05-12 2009-11-18 Research In Motion Limited Electronic device and method for managing storage of data
US8787947B2 (en) * 2008-06-18 2014-07-22 Seven Networks, Inc. Application discovery on mobile devices
US20090315766A1 (en) 2008-06-19 2009-12-24 Microsoft Corporation Source switching for devices supporting dynamic direction information
US8700301B2 (en) 2008-06-19 2014-04-15 Microsoft Corporation Mobile computing devices, architecture and user interfaces based on dynamic direction information
US20100009662A1 (en) 2008-06-20 2010-01-14 Microsoft Corporation Delaying interaction with points of interest discovered based on directional device information
US20090319166A1 (en) * 2008-06-20 2009-12-24 Microsoft Corporation Mobile computing services based on devices with dynamic direction information
US20090315775A1 (en) * 2008-06-20 2009-12-24 Microsoft Corporation Mobile computing services based on devices with dynamic direction information
US8078158B2 (en) 2008-06-26 2011-12-13 Seven Networks, Inc. Provisioning applications for a mobile device
US8909759B2 (en) * 2008-10-10 2014-12-09 Seven Networks, Inc. Bandwidth measurement
US10303787B2 (en) 2008-10-21 2019-05-28 Microsoft Technology Licensing, Llc Forgetting items with knowledge based synchronization
US8412676B2 (en) * 2008-10-21 2013-04-02 Microsoft Corporation Forgetting items with knowledge based synchronization
US8122092B2 (en) * 2008-11-10 2012-02-21 Microsoft Corporation Auto-resolve recipients cache
US8872767B2 (en) 2009-07-07 2014-10-28 Microsoft Corporation System and method for converting gestures into digital graffiti
US8375285B2 (en) * 2009-12-15 2013-02-12 International Business Machines Corporation Enabling access to data files unsupported by a computing device
US20110149086A1 (en) 2009-12-23 2011-06-23 Winbush Iii Amos Camera user content synchronization with central web-based records and information sharing system
US8555187B2 (en) * 2010-02-16 2013-10-08 Google Inc. Server-based data sharing in computer applications using a clipboard
TW201209697A (en) 2010-03-30 2012-03-01 Michael Luna 3D mobile user interface with configurable workspace management
US20110258160A1 (en) * 2010-04-15 2011-10-20 Po-Yen Lee Data synchronization methods for synchronizing data in communication system and communication systems
EP2569720B1 (en) * 2010-05-14 2015-04-08 BlackBerry Limited Communication system with PIM entry synchronization and related methods
CN102314454A (zh) * 2010-06-30 2012-01-11 百度在线网络技术(北京)有限公司 自动添加内链的方法及系统
CN102314411B (zh) * 2010-06-30 2015-02-18 百度在线网络技术(北京)有限公司 处理词条编创冲突的方法与系统
US8838783B2 (en) 2010-07-26 2014-09-16 Seven Networks, Inc. Distributed caching for resource and mobile network traffic management
GB2495877B (en) 2010-07-26 2013-10-02 Seven Networks Inc Distributed implementation of dynamic wireless traffic policy
GB2495066B (en) 2010-07-26 2013-12-18 Seven Networks Inc Mobile application traffic optimization
PL3407673T3 (pl) 2010-07-26 2020-05-18 Seven Networks, Llc Koordynacja ruchu w sieci komórkowej pomiędzy różnymi aplikacjami
US20120096368A1 (en) * 2010-10-14 2012-04-19 Microsoft Corporation Cloud-based virtual clipboard
US8484314B2 (en) 2010-11-01 2013-07-09 Seven Networks, Inc. Distributed caching in a wireless network of content delivered for a mobile application over a long-held request
US8326985B2 (en) 2010-11-01 2012-12-04 Seven Networks, Inc. Distributed management of keep-alive message signaling for mobile network resource conservation and optimization
WO2012060995A2 (en) 2010-11-01 2012-05-10 Michael Luna Distributed caching in a wireless network of content delivered for a mobile application over a long-held request
CN103620576B (zh) 2010-11-01 2016-11-09 七网络公司 适用于移动应用程序行为和网络条件的缓存
US8166164B1 (en) 2010-11-01 2012-04-24 Seven Networks, Inc. Application and network-based long poll request detection and cacheability assessment therefor
US8843153B2 (en) 2010-11-01 2014-09-23 Seven Networks, Inc. Mobile traffic categorization and policy for network use optimization while preserving user experience
US9060032B2 (en) 2010-11-01 2015-06-16 Seven Networks, Inc. Selective data compression by a distributed traffic management system to reduce mobile data traffic and signaling traffic
US9330196B2 (en) 2010-11-01 2016-05-03 Seven Networks, Llc Wireless traffic management system cache optimization using http headers
US8190701B2 (en) 2010-11-01 2012-05-29 Seven Networks, Inc. Cache defeat detection and caching of content addressed by identifiers intended to defeat cache
CN103404193B (zh) 2010-11-22 2018-06-05 七网络有限责任公司 调校数据传输以优化为通过无线网络的传输建立的连接
EP3422775A1 (en) 2010-11-22 2019-01-02 Seven Networks, LLC Optimization of resource polling intervals to satisfy mobile device requests
WO2012094675A2 (en) 2011-01-07 2012-07-12 Seven Networks, Inc. System and method for reduction of mobile network traffic used for domain name system (dns) queries
KR101755421B1 (ko) * 2011-01-10 2017-07-10 삼성전자주식회사 클라이언트 장치를 이용한 호스트 장치의 파일 정보 시스템 편집 방법 및 시스템
EP2700019B1 (en) 2011-04-19 2019-03-27 Seven Networks, LLC Social caching for device resource sharing and management
US8621075B2 (en) 2011-04-27 2013-12-31 Seven Metworks, Inc. Detecting and preserving state for satisfying application requests in a distributed proxy and cache system
GB2496537B (en) 2011-04-27 2014-10-15 Seven Networks Inc System and method for making requests on behalf of a mobile device based on atmoic processes for mobile network traffic relief
US9411687B2 (en) 2011-06-03 2016-08-09 Apple Inc. Methods and apparatus for interface in multi-phase restore
US9465696B2 (en) 2011-06-03 2016-10-11 Apple Inc. Methods and apparatus for multi-phase multi-source backup
US8819471B2 (en) * 2011-06-03 2014-08-26 Apple Inc. Methods and apparatus for power state based backup
US8868859B2 (en) 2011-06-03 2014-10-21 Apple Inc. Methods and apparatus for multi-source restore
CN102841897B (zh) * 2011-06-23 2016-03-02 阿里巴巴集团控股有限公司 一种实现增量数据抽取的方法、装置及系统
EP2737742A4 (en) 2011-07-27 2015-01-28 Seven Networks Inc AUTOMATIC PRODUCTION AND DISTRIBUTION OF GUIDELINES INFORMATION ON MOBILE MOBILE TRANSPORT IN A WIRELESS NETWORK
KR101888648B1 (ko) * 2011-09-01 2018-08-16 삼성전자주식회사 주소록에서 자동으로 그룹을 생성하고 관리하는 방법 및 그 장치
US10599620B2 (en) * 2011-09-01 2020-03-24 Full Circle Insights, Inc. Method and system for object synchronization in CRM systems
WO2013086214A1 (en) 2011-12-06 2013-06-13 Seven Networks, Inc. A system of redundantly clustered machines to provide failover mechanisms for mobile traffic management and network resource conservation
US8934414B2 (en) 2011-12-06 2015-01-13 Seven Networks, Inc. Cellular or WiFi mobile traffic optimization based on public or private network destination
US9208123B2 (en) 2011-12-07 2015-12-08 Seven Networks, Llc Mobile device having content caching mechanisms integrated with a network operator for traffic alleviation in a wireless network and methods therefor
WO2013086447A1 (en) 2011-12-07 2013-06-13 Seven Networks, Inc. Radio-awareness of mobile device for sending server-side control signals using a wireless network optimized transport protocol
US9396277B2 (en) 2011-12-09 2016-07-19 Microsoft Technology Licensing, Llc Access to supplemental data based on identifier derived from corresponding primary application data
WO2013090834A1 (en) 2011-12-14 2013-06-20 Seven Networks, Inc. Operation modes for mobile traffic optimization and concurrent management of optimized and non-optimized traffic
WO2013090821A1 (en) 2011-12-14 2013-06-20 Seven Networks, Inc. Hierarchies and categories for management and deployment of policies for distributed wireless traffic optimization
EP2792188B1 (en) 2011-12-14 2019-03-20 Seven Networks, LLC Mobile network reporting and usage analytics system and method using aggregation of data in a distributed traffic optimization system
US9367397B1 (en) * 2011-12-20 2016-06-14 Emc Corporation Recovering data lost in data de-duplication system
WO2013103988A1 (en) 2012-01-05 2013-07-11 Seven Networks, Inc. Detection and management of user interactions with foreground applications on a mobile device in distributed caching
US9203864B2 (en) 2012-02-02 2015-12-01 Seven Networks, Llc Dynamic categorization of applications for network access in a mobile network
US9326189B2 (en) 2012-02-03 2016-04-26 Seven Networks, Llc User as an end point for profiling and optimizing the delivery of content and data in a wireless network
US9110892B2 (en) 2012-03-13 2015-08-18 Microsoft Technology Licensing, Llc Synchronizing local and remote data
US8812695B2 (en) 2012-04-09 2014-08-19 Seven Networks, Inc. Method and system for management of a virtual network connection without heartbeat messages
WO2013155208A1 (en) 2012-04-10 2013-10-17 Seven Networks, Inc. Intelligent customer service/call center services enhanced using real-time and historical mobile application and traffic-related statistics collected by a distributed caching system in a mobile network
US8775631B2 (en) 2012-07-13 2014-07-08 Seven Networks, Inc. Dynamic bandwidth adjustment for browsing or streaming activity in a wireless network based on prediction of user behavior when interacting with mobile applications
US20150234908A1 (en) * 2012-09-24 2015-08-20 President And Fellows Of Harvard College Techniques for data synchronization using compressive sensing
US9161258B2 (en) 2012-10-24 2015-10-13 Seven Networks, Llc Optimized and selective management of policy deployment to mobile clients in a congested network to prevent further aggravation of network congestion
US20140177497A1 (en) 2012-12-20 2014-06-26 Seven Networks, Inc. Management of mobile device radio state promotion and demotion
US10348821B2 (en) * 2012-12-21 2019-07-09 Dropbox, Inc. Prioritizing structural operations and distributing changes in a synced online content management system
US9542423B2 (en) 2012-12-31 2017-01-10 Apple Inc. Backup user interface
US9271238B2 (en) 2013-01-23 2016-02-23 Seven Networks, Llc Application or context aware fast dormancy
US8874761B2 (en) 2013-01-25 2014-10-28 Seven Networks, Inc. Signaling optimization in a wireless network for traffic utilizing proprietary and non-proprietary protocols
US8750123B1 (en) 2013-03-11 2014-06-10 Seven Networks, Inc. Mobile device equipped with mobile network congestion recognition to make intelligent decisions regarding connecting to an operator network
US9858052B2 (en) * 2013-03-21 2018-01-02 Razer (Asia-Pacific) Pte. Ltd. Decentralized operating system
US9053165B2 (en) 2013-07-08 2015-06-09 Dropbox, Inc. Structured content item synchronization
US9065765B2 (en) 2013-07-22 2015-06-23 Seven Networks, Inc. Proxy server associated with a mobile carrier for enhancing mobile traffic management in a mobile network
US9715548B2 (en) * 2013-08-02 2017-07-25 Google Inc. Surfacing user-specific data records in search
US9892184B1 (en) 2013-08-29 2018-02-13 Servpro Industries, Inc. System and method for synchronizing incident response profiles across distinct computing platforms
JP6116065B2 (ja) * 2013-11-01 2017-04-19 フリュー株式会社 管理装置および管理装置の制御方法
US10171579B2 (en) 2014-04-08 2019-01-01 Dropbox, Inc. Managing presence among devices accessing shared and synchronized content
US10270871B2 (en) 2014-04-08 2019-04-23 Dropbox, Inc. Browser display of native application presence and interaction data
US10091287B2 (en) 2014-04-08 2018-10-02 Dropbox, Inc. Determining presence in an application accessing shared and synchronized content
US9998555B2 (en) 2014-04-08 2018-06-12 Dropbox, Inc. Displaying presence in an application accessing shared and synchronized content
US9661440B2 (en) 2014-07-25 2017-05-23 Qualcomm Incorporated Methods and systems for triggering efficient application synchronization
US9846528B2 (en) 2015-03-02 2017-12-19 Dropbox, Inc. Native application collaboration
US10248933B2 (en) 2015-12-29 2019-04-02 Dropbox, Inc. Content item activity feed for presenting events associated with content items
US10620811B2 (en) 2015-12-30 2020-04-14 Dropbox, Inc. Native application collaboration
US10382502B2 (en) 2016-04-04 2019-08-13 Dropbox, Inc. Change comments for synchronized content items
US10922702B2 (en) 2016-04-29 2021-02-16 Dotalign, Inc. Method, apparatus, and computer-readable medium for identifying
US10956406B2 (en) * 2017-06-12 2021-03-23 Palantir Technologies Inc. Propagated deletion of database records and derived data
CN109711644B (zh) * 2019-02-25 2023-04-18 安徽大学 基于改进花粉算法的火电机组负荷优化分配方法
US10887157B1 (en) 2019-07-31 2021-01-05 Splunk Inc. Dual-sourced incident management and monitoring system
US11023511B1 (en) * 2019-07-31 2021-06-01 Splunk Inc. Mobile device composite interface for dual-sourced incident management and monitoring system
CN112015738A (zh) * 2020-08-28 2020-12-01 支付宝(杭州)信息技术有限公司 用于实现多个数据明细表的联表处理的方法及装置

Family Cites Families (78)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6041365A (en) * 1985-10-29 2000-03-21 Kleinerman; Aurel Apparatus and method for high performance remote application gateway servers
US4714992A (en) * 1985-11-26 1987-12-22 International Business Machines Corporation Communication for version management in a distributed information service
US5490765A (en) * 1993-05-17 1996-02-13 Cybor Corporation Dual stage pump system with pre-stressed diaphragms and reservoir
EP0826181A4 (en) * 1995-04-11 2005-02-09 Kinetech Inc IDENTIFYING DATA IN A DATA PROCESSING SYSTEM
US5974238A (en) * 1996-08-07 1999-10-26 Compaq Computer Corporation Automatic data synchronization between a handheld and a host computer using pseudo cache including tags and logical data elements
US6647432B1 (en) * 1996-08-19 2003-11-11 Geoquest, A Division Of Schlumberger Technology Corporation Distributed framework for intertask communication between workstation applications
JP3554115B2 (ja) * 1996-08-26 2004-08-18 株式会社コガネイ 薬液供給装置
US5822758A (en) * 1996-09-09 1998-10-13 International Business Machines Corporation Method and system for high performance dynamic and user programmable cache arbitration
US6405218B1 (en) * 1996-11-13 2002-06-11 Pumatech, Inc. Synchronizing databases
US6044381A (en) * 1997-09-11 2000-03-28 Puma Technology, Inc. Using distributed history files in synchronizing databases
US6335927B1 (en) * 1996-11-18 2002-01-01 Mci Communications Corporation System and method for providing requested quality of service in a hybrid network
US6909708B1 (en) * 1996-11-18 2005-06-21 Mci Communications Corporation System, method and article of manufacture for a communication system architecture including video conferencing
US5867494A (en) * 1996-11-18 1999-02-02 Mci Communication Corporation System, method and article of manufacture with integrated video conferencing billing in a communication system architecture
US5867495A (en) * 1996-11-18 1999-02-02 Mci Communications Corporations System, method and article of manufacture for communications utilizing calling, plans in a hybrid network
US6754181B1 (en) * 1996-11-18 2004-06-22 Mci Communications Corporation System and method for a directory service supporting a hybrid communication system architecture
US7145898B1 (en) * 1996-11-18 2006-12-05 Mci Communications Corporation System, method and article of manufacture for selecting a gateway of a hybrid communication system architecture
US5999525A (en) * 1996-11-18 1999-12-07 Mci Communications Corporation Method for video telephony over a hybrid network
US6731625B1 (en) * 1997-02-10 2004-05-04 Mci Communications Corporation System, method and article of manufacture for a call back architecture in a hybrid network with support for internet telephony
US6633924B1 (en) * 1997-10-02 2003-10-14 Charles Wu Object synchronization between objects stores on different computers
US6260077B1 (en) * 1997-10-24 2001-07-10 Sun Microsystems, Inc. Method, apparatus and program product for interfacing a multi-threaded, client-based API to a single-threaded, server-based API
US6870546B1 (en) * 1998-06-01 2005-03-22 Autodesk, Inc. Protectable expressions in objects having authorable behaviors and appearances
US6317754B1 (en) * 1998-07-03 2001-11-13 Mitsubishi Electric Research Laboratories, Inc System for user control of version /Synchronization in mobile computing
US6367034B1 (en) * 1998-09-21 2002-04-02 Microsoft Corporation Using query language for event filtering and aggregation
US6314533B1 (en) * 1998-09-21 2001-11-06 Microsoft Corporation System and method for forward custom marshaling event filters
US6275957B1 (en) * 1998-09-21 2001-08-14 Microsoft Corporation Using query language for provider and subscriber registrations
US6131096A (en) * 1998-10-05 2000-10-10 Visto Corporation System and method for updating a remote database in a network
US6449622B1 (en) * 1999-03-08 2002-09-10 Starfish Software, Inc. System and methods for synchronizing datasets when dataset changes may be received out of order
US6343299B1 (en) * 1998-11-16 2002-01-29 International Business Machines Corporation Method and apparatus for random update synchronization among multiple computing devices
US6650739B1 (en) * 1998-12-28 2003-11-18 Pitney Bowes Inc. Method of providing personal messaging using a virtual messaging assistant
US6463427B1 (en) * 1999-03-16 2002-10-08 Microsoft Corporation Use of object signature property as a search parameter during synchronization of objects on a computer
US6678741B1 (en) * 1999-04-09 2004-01-13 Sun Microsystems, Inc. Method and apparatus for synchronizing firmware
US6725281B1 (en) * 1999-06-11 2004-04-20 Microsoft Corporation Synchronization of controlled device state using state table and eventing in data-driven remote device control model
US6401104B1 (en) * 1999-07-03 2002-06-04 Starfish Software, Inc. System and methods for synchronizing datasets using cooperation among multiple synchronization engines
US6704873B1 (en) * 1999-07-30 2004-03-09 Accenture Llp Secure gateway interconnection in an e-commerce based environment
US6601233B1 (en) * 1999-07-30 2003-07-29 Accenture Llp Business components framework
US6718535B1 (en) * 1999-07-30 2004-04-06 Accenture Llp System, method and article of manufacture for an activity framework design in an e-commerce based environment
US6633878B1 (en) * 1999-07-30 2003-10-14 Accenture Llp Initializing an ecommerce database framework
US6609128B1 (en) * 1999-07-30 2003-08-19 Accenture Llp Codes table framework design in an E-commerce architecture
US7100195B1 (en) * 1999-07-30 2006-08-29 Accenture Llp Managing user information on an e-commerce system
US6523027B1 (en) * 1999-07-30 2003-02-18 Accenture Llp Interfacing servers in a Java based e-commerce architecture
US6601195B1 (en) * 1999-09-09 2003-07-29 International Business Machines Corporation Switch adapter testing
US6487208B1 (en) * 1999-09-09 2002-11-26 International Business Machines Corporation On-line switch diagnostics
US6560720B1 (en) * 1999-09-09 2003-05-06 International Business Machines Corporation Error injection apparatus and method
US6694336B1 (en) * 2000-01-25 2004-02-17 Fusionone, Inc. Data transfer and synchronization system
EP1130513A3 (en) * 2000-01-25 2004-04-07 FusionOne, Inc. Data transfer and synchronization system
US6502102B1 (en) * 2000-03-27 2002-12-31 Accenture Llp System, method and article of manufacture for a table-driven automated scripting architecture
US6701514B1 (en) * 2000-03-27 2004-03-02 Accenture Llp System, method, and article of manufacture for test maintenance in an automated scripting framework
US6907546B1 (en) * 2000-03-27 2005-06-14 Accenture Llp Language-driven interface for an automated testing framework
US6598059B1 (en) * 2000-04-22 2003-07-22 Oracle Corp. System and method of identifying and resolving conflicts among versions of a database table
US6470329B1 (en) * 2000-07-11 2002-10-22 Sun Microsystems, Inc. One-way hash functions for distributed data synchronization
US20060031927A1 (en) * 2000-08-23 2006-02-09 Masahiro Mizuno Information management system, information management method, and system control apparatus
WO2002019096A2 (en) * 2000-08-31 2002-03-07 Docubase Reconfiguration and preservation of setup data
US6502170B2 (en) * 2000-12-15 2002-12-31 Intel Corporation Memory-to-memory compare/exchange instructions to support non-blocking synchronization schemes
US7017105B2 (en) * 2001-02-02 2006-03-21 Microsoft Corporation Deleting objects from a store of a device
GB2372590B (en) 2001-02-23 2005-03-23 Proksim Software Inc Duplication space
US7099896B2 (en) * 2001-04-06 2006-08-29 Patientkeeper, Inc. Synchronizing data between disparate schemas using composite version
US6918120B2 (en) * 2001-04-20 2005-07-12 Hewlett-Packard Development Company, L.P. Remote file system using network multicast
US20020198848A1 (en) * 2001-06-26 2002-12-26 Michener John R. Transaction verification system and method
US7054955B2 (en) * 2001-06-27 2006-05-30 Microsoft Corporation System and method for recovering from a failed synchronization session
US7761535B2 (en) * 2001-09-28 2010-07-20 Siebel Systems, Inc. Method and system for server synchronization with a computing device
FI112015B (fi) * 2001-11-12 2003-10-15 Nokia Corp Datan synkronoinnin järjestäminen tietoliikennejärjestelmässä
WO2003044698A1 (en) * 2001-11-15 2003-05-30 Visto Corporation System and methods for asychronous synchronization
US7574711B2 (en) * 2001-12-14 2009-08-11 Nvidia International, Inc. System for replaying and synchronizing patterns on a client and external data source devices
WO2003071441A1 (en) * 2002-02-19 2003-08-28 Pda Verticals Corp. Multiple wireless device synchronization server
US7606881B2 (en) * 2002-04-25 2009-10-20 Oracle International Corporation System and method for synchronization of version annotated objects
US6983293B2 (en) * 2002-07-24 2006-01-03 International Business Machines Corporation Mid-tier-based conflict resolution method and system usable for message synchronization and replication
US7890091B2 (en) * 2003-05-08 2011-02-15 Good Technology, Inc. Collaborative data and intelligent synchronization for mobile devices
US7219329B2 (en) * 2003-06-13 2007-05-15 Microsoft Corporation Systems and methods providing lightweight runtime code generation
KR100491541B1 (ko) * 2003-08-01 2005-05-25 니트젠테크놀러지스 주식회사 네트웍 환경에서의 컨텐츠 동기화 시스템 및 동기화 방법
US7584082B2 (en) * 2003-08-07 2009-09-01 The Mathworks, Inc. Synchronization and data review system
US7596790B2 (en) * 2003-08-29 2009-09-29 Intel Corporation Allocating computing resources in a distributed environment
US20050060370A1 (en) * 2003-09-17 2005-03-17 Sony Corporation Version based content distribution and synchronization system and method
US7281006B2 (en) * 2003-10-23 2007-10-09 International Business Machines Corporation System and method for dividing data into predominantly fixed-sized chunks so that duplicate data chunks may be identified
US20070067373A1 (en) * 2003-11-03 2007-03-22 Steven Higgins Methods and apparatuses to provide mobile applications
US7080104B2 (en) * 2003-11-07 2006-07-18 Plaxo, Inc. Synchronization and merge engines
US8909712B2 (en) * 2003-11-25 2014-12-09 Sap Ag System and method for a generic mobile synchronization framework
US20050165884A1 (en) * 2003-12-29 2005-07-28 Masek William J. System and method for automated distributed account maintenance
US7526768B2 (en) * 2004-02-04 2009-04-28 Microsoft Corporation Cross-pollination of multiple sync sources

Also Published As

Publication number Publication date
US9292585B2 (en) 2016-03-22
US8386558B2 (en) 2013-02-26
US20130138609A1 (en) 2013-05-30
KR20060041737A (ko) 2006-05-12
EP1569141A2 (en) 2005-08-31
KR101137101B1 (ko) 2012-04-19
JP2005222552A (ja) 2005-08-18
JP4726508B2 (ja) 2011-07-20
US20060020804A1 (en) 2006-01-26
US7526768B2 (en) 2009-04-28
EP1569141A3 (en) 2006-11-02
US20050172296A1 (en) 2005-08-04
CN1658195A (zh) 2005-08-24

Similar Documents

Publication Publication Date Title
CN100530176C (zh) 多种同步源的交叉混合
US11893052B2 (en) Management of local and remote media items
CN106663089B (zh) 文档编辑的智能冲突检测和语义表达
CN101331741B (zh) 用于自动同步的电子设备和方法以及通信系统
CN101627382B (zh) 根据同步偏好与主机设备的数据同步
CN101568919B (zh) 具有分布式存储的联网计算机系统中的单个数据视图
CN106663103B (zh) 使用逻辑文档日志的可扩展最终一致性系统
CN109313634A (zh) 用于单个文件的文件同步暂停
CN101398850A (zh) 主机和媒体设备间的多种媒体类型同步
WO2000062576A1 (en) System and method for synchronizing data among a plurality of users via an intermittently accessed network
WO2000062201A1 (en) System and method for synchronizing multiple calendars over a wide area network
KR20000035005A (ko) 서버에서 고객으로의 애플리케이션 및 데이터베이스 분배 방법 및 시스템과 그를 이용하는 컴퓨터 프로그램 장치
CN103703742A (zh) 基于电源状态的备份方法和装置
CN102257494A (zh) 选择性的数据库复制
US20140074663A1 (en) Integrating purchase history and metadata across devices
US8392365B2 (en) Identifying corrupted data on calendars with client intent
CN107077405A (zh) 使用位图数据结构的数据恢复
CN103019718A (zh) 在集中式源控制环境中使用分布式源控制
KR20070122274A (ko) 포터블 기기의 파일 관리 방법 및 장치
CN101821731A (zh) 通用模型编辑框架
US20080098034A1 (en) Method Of Updating Content Of A Portable Device
CN109408673A (zh) 地图管理方法和管理平台
US7206815B1 (en) Method and apparatus for synchronizing an email client on a portable computer system with an email client on a desktop computer
US8001081B1 (en) Determining priority between data items in shared environments

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

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

Effective date of registration: 20150507

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090819

Termination date: 20200204

CF01 Termination of patent right due to non-payment of annual fee