同步和合并引擎的制作方法

文档序号:6502780阅读:175来源:国知局

专利名称::同步和合并引擎的制作方法
技术领域
:本发明一般涉及个人信息管理领域,且更具体来说,本发明涉及使例如联系信息和地址信息的个人信息在连接到例如因特网的网络的多个用户和接口之间同步并公开所述个人信息。
背景技术
:朋友、家庭、商务合作、顾客和客户的最新联系信息的维持一直是一个挑战性的和艰难的任务。人们比预期的更频繁地改变他们的联系信息中的至少一些信息,例如电话号码、传真号码、移动电话号码、电子邮件地址、物理地址和类似物。如一个实例,目前大约35%的因特网用户每年将电子邮件地址改变一次,大约33%的移动电话号码每年改变一次,且每年大约改变4千万物理地址。过时的联系信息导致个人损失,如友谊损失和商务损失(如丢失了提高生产率和收入的机会)。举例而言,不精确的和低品质的客户数据导致不良的邮递且对于美国企业而言将导致一年花费超过$6000亿的员工额外开销。为了帮助管理这个大量的关于联系的数据,己为各种装置(例如个人计算机("PC")、个人数字助理("PDA")和移动电话)设计了许多个人信息管理器("PIM")应用程序,例如,MicrosoftOutlook、EudoraPro⑧和类似物。然而,随着其上驻留有信息的装置和接口的数量的增多,用户继续受到关于维持信息的结合或分离的挑战。通常,用户需要使信息在这些装置之间同步。举例而言,用户可使存储在家庭环境中的个人计算机、工作环境中的个人计算机和便携式PDA上并从所述计算机和PDA中访问的个人信息同步。帮助用户以这种方式使PEVI在不同装置上同步的常规的同步软件产品包括来自SanJose,California的PumaTechnology,Inc.的Intellisync软件。常规同步软件产品的缺点是需要PDA与控制PIM的计算机系统之间的物理连接。所述常规同步软件产品的另一缺点是其使用限于特定装置或PIM的同步且与其他用户无关。所述常规同步软件产品的另一缺点是对不同装置中的基本相同的项中的数据之间的差异的解决方案。用户被迫保存基本类似尽管不相同的项,或在完成任何同步方法之前用户必须肯定地选择哪些数据有待重写。因此,这对于用户来说降低了效率和灵活性。除了装置上的PIM信息外,还设计了用以维持PIM信息的在线源。例如网站门户(例如,S飄yvale,California的Yahoo!Inc.的Yahoo!和Irvington,NY的ExciteInc.的Excite)的常规在线服务已将地址簿和日历特征并入到其针对用户的门户服务中。举例而言,Yahoo!Inc.提供Yahoo!地址簿、Yahoo!日历和Yahoo!待执行的事项列表的服务,其中用户可将地址、日历和待执行的事项信息存储在由Yahoo!Inc.操作的远程服务器上。这些常规的网站门户进一步提供同步软件(例如,由ScottsValley,California的StarfishSoftware,Inc.开发的TrueSync③同步软件)来使在线存储的个人信息的复本与其他装置同步。然而,这些服务和相关的常规的同步软件具有类似于先前所述的缺点。为了帮助所述类型的常规同步软件解决问题,因特网上的在线服务提供商(例如PlanetAll.com(现由Amazon.com拥有))开发了常规在线服务以用于个人信息在服务器(可经由因特网访问)上的存储和维护。一般来说,这些服务允许用户预订服务且将个人信息存储在远程服务器上,使得用户的个人信息自动包括在那个在线服务的其他预订用户的在线地址簿中。在这些常规在线服务中,个人信息的预订拥有者负责维护其信息。只要预订拥有者改变了信息,就更新在线服务服务器。之后,系统的其他预订用户将可访问其在线地址簿内的经更新的信息。此外,这些在线服务宣扬通过在线服务服务器在各种物理装置上使信息同步的能力。举例而言,这些常规的在线服务通过可下载的常规同步软件产品(例如由SanJose,California的PumaTechnology,Inc.开发的针对PlanetAll.com的Intellisync)提供使PIM内维护的个人信息与存储在在线服务服务器上的个人信息同步的能力。这些常规在线服务的一个问题是它们必须是对称的。对称服务需要在由服务推动的信息交换的两方是服务的预订成员。即,只有常规在线服务的预订者可彼此更新个人信息。因此,服务仅在用户提供经更新的信息和预订服务的用户寻求信息更新的情况下起作用。非预订者不能使其个人信息与预订者同步,反之亦然。因此,服务预订者将不能维持与非预订者数据同步。这个对称要求在跨越多种类型的联系维持数据的一致性方面限制了用户灵活性。这些常规服务(包括PlanetAll.com)已用于基于预订专用网络来提供有价值的服务(即,中央地址簿)的前提,来促进预订者的专用网络的因特网上的部署。然而,所述部署专用网络的尝试主要由于缓慢的部署速率而失败。在某种程度上,这些专用网络不能扩充其成员关系,因为专用网络服务的对称性质限制用户的初始集合的值。当大量的信息用户成为专用网络服务的预订者时,才可实现服务的真正价值。因此,只要专用网络服务的预订者的数量较少,就不会诱使新用户预订。因此,在没有新的预订用户的情况下,专用网络服务不能成长到支撑其价值主张所必需的大小。因此,专用网络服务将最终崩溃并失败,且再次导致信息不再同步的问题。这些常规在线服务的另一问题是在配置用于以最适合预订者的方式同步的信息中,限制了预订者灵活性。举例而言,预订用户缺乏灵活性来允许预订者选择特定数据字段或数据字段集合以基于每一装置和/或预订者来更新其他装置和/或服务预订者。因此,预订者限于"所有或一个也没有"这样的表述来在装置和/或预订者之间更新信息。由上文可见,需要一种非对称地管理信息的系统和方法,包括(1)为一用户在一个或一个以上的层中使数据同步,且象征性地需要或不需要所述用户的干预;和(2)将涉及两个或两个以上的项的数据合并成单一项,且象征性地需要或不需要所述用户的干预,且基本上不会产生或写入重复的项。
发明内容本发明包括一种用于使含有一个装置中的信息的文件夹与含有一个或一个以上其他装置中的信息的一个或一个以上文件夹同步的系统和方法。本发明还包括一种用于在待同步的文件夹之间合并数据。文件夹是一种存储库且经配置为内容的分组。所述内容包含可包括其他文件夹和/或数据的信息。信息的实例包括电子邮件("e-maU")、联系方式、消息发送,和/或个人数据。含有文件夹的装置是物理装置上的应用程序,例如,个人计算机("PC")上的个人信息管理器("PIM")、移动电话或个人数字助理("PDA"),或逻辑装置上的应用程序,例如,通过例如Yahoo!或AmericaOnline的在线门户服务的个人信息管理器。根据本发明的一个实施例,同步系统(或引擎)包括一层选择模块、一解析模块、一比较模块、一映射(或链接)模块、一同步输出模块和一同步规则模块。所述模块可以是软件、硬件或其组合。所述模块经配置以通信的方式耦合在一起。所述层选择模块在用于同步的一个或多个信息层之间选择。所述解析模块解析所述层内的数据,且所述比较模块比较所述数据以确定重复数据。所述映射模块确定特定层、信息和/或数据是否以特定关系链接在一起。所述映射模块也可经配置以提供用于链接关系的唯一标识符。所述同步模块基于同步规则和链接关系使所述层内的数据同步。在本发明的一个实施例中,同步方法包括在一个或一个以上的文件夹层之间使文件夹同步。所述方法包括选择一个或一个以上层以链接在一起,且使用一不可改变的标识符比较选定层中的文件夹。所述方法还包括将选定层中的每一层的文件夹解析成字段,且比较经解析的文件夹的字段。所述方法接着确定是否基于响应于经解析文件夹的字段的比较结果而触发的一个或一个以上冲突规则来使选定层的文件夹同步。根据本发明的同步系统和方法的优势包括分层的一组文件夹的辨识,例如,可独立地或在其他层的子组中更新的联系信息的文件夹。因此,用户有利地在多个层或级处对信息的同步具有增强的控制能力和灵活性。本发明还包括用于在多种层中和在多种级处合并信息的合并系统(或引擎)。根据本发明的一个实施例,合并引擎包括一映射(或链接)模块、一重复估计模块、一矩阵表、一矩阵得分模块、一合并规则模块和一合并输出模块。模块可以是软件、硬件或其组合,且经配置以通信的方式耦合在一起。合并系统(和方法)可独立地或结合同步系统(和方法)起作用。所述映射模块在功能上类似于同步引擎的映射模块。所述映射模块可以是在两个系统中使用的相同模块,或可以是其子组。所述重复估计模块确定可被合并的项之间的潜在的重复。所述矩阵表和矩阵得分模块产生可合并的重复项矩阵,且基于一个或一个以上因数将一值(例如,得分)指派给每一矩阵项。所述合并规则模块确定是否基于考虑矩阵项的规则来合并特定项。所述输出模块输出确定合并成一合并项的项。本发明的一个实施例中的合并方法包括将一网络中的两个或两个以上文件夹合并成单个文件夹。所述方法包括将第一文件夹中的项与第二文件夹中的项相比较,以识别第一文件夹与第二文件夹之间的重复项。如果在第一文件夹中的一项中的标识符与第二文件夹中的项的标识符之间存在匹配,那么可确定所述项是重复的。所述方法将来自第一文件夹的经识别的重复项分组,且还将来自第二文件夹的经识别的重复项分组。所述方法还产生存在两个或两个以上矩阵项的矩阵。每一矩阵项包括与分组之间合并经识别的重复项相关的值。另外,基于所指派的值匹配所述矩阵项,以确定合并经识别的重复项的程度。根据本发明的合并系统和方法的优势包括能够在合并在一起的信息层或级之间比较项;和在不需要用户干预的情况下合并所述信息。此外,本发明有利地合并信息文件夹,其允许用户有目的地维护重复信息并使其同步。说明书中所述的特征和优势并未包括所有的特征和优势,且特定来说,鉴于图式,说明书和权利要求书,许多额外特征和优势将对于所属领域技术人员而言是显而易见的。此外,应注意,说明书中所用的语言主要出于可读性和说明性目的而选择,且并不是选择来描绘或限制本发明标的物。本发明具有其他优势和特征,其将结合附图并根据本发明的以下详细描述和附加的权利要求书变得显而易见,其中图1说明根据本发明的网络系统的一个实施例的实例。图2a说明根据本发明的逻辑网络环境的一实施例。图2b说明根据本发明的结构性网络环境的一实施例。图3a是根据本发明的一个实施例用于扩充专用网络的方法的流程图。图3b是根据本发明的一个实施例说明非对称操作的方法的一个实例的事件图。图4a到图4d根据本发明一个实施例说明网络的病毒性扩充阶段。图5说明通过根据本发明的同步引擎(或系统)进行同步的物理和逻辑装置的实例。图6说明根据本发明的同步和/或合并的文件夹的实例。图7说明根据本发明的一个实施例的同步引擎。图8a说明根据本发明的同步的分层组织的逻辑图。图8b说明根据本发明的同歩的逻辑图。图8c说明根据本发明的一个实施例的联系卡的逻辑图。图9a和图9b根据本发明的一个实施例说明用于同步的方法。图IO根据本发明的一个实施例说明合并引擎。图lla到图llc根据本发明的一个实施例说明用于合并信息的方法。图12说明根据本发明的信息冲突的解决方案的一个实施例。图13说明在根据本发明的装置之间使地址信息的集合同步并合并所述地址信息集合的实例。具体实施例方式图式和以下描述仅通过说明的方式涉及本发明的较佳实施例。在以下讨论中应注意,本文所揭示的结构和方法的替代实施例将易于被认为是可在不偏离所主张的发明的原理的情况下所使用的可变的替代方法。本发明包括一同步引擎(或系统)和一合并引擎(或系统),其用于使信息在各种层和级之间同步,且在最少用户干预的情况下合并所述经同步层和级内的信息。一层或级可以是物理层或级(例如,装置)或逻辑层或级(各种位置上的信息的位置,例如,各种装置或服务)。架构概述现参看图1,其说明根据本发明的一网络环境的实施例。所述网络环境包括一专用网络系统(或服务(或专用网络))100、一公用网络102和一组公用网络用户103。公用网络102以通信的方式将专用网络IOO与一组公用网络用户103耦合。在本发明的范围中,网络不限于特定物理网络,即,由物理通信通道(有线或无线)链接的装置。相反,网络可以是功能性(逻辑)网络,例如基于用户之间消息发送的类型的网络,其可以物理方式由各种通信通道运载。举例而言,网络可包括一组基于唯一的电话号码进行通信的无线电话用户,或其可包括一组基于唯一的电子邮件地址进行通信的计算机用户。另外,一个以上的功能性网络可包含在一单个物理网络中。举例而言,一计算机网络可包含一基于电子邮件的功能性网络和一基于即时消息发送的功能性网络(例如,AIM、ICQ或类似物)。因此,在一个实施例中,公用网络102包括一物理元件和一功能性元件。公用网络102的物理元件涉及通信网络,例如计算机网络(例如局域网("LAN")、广域网("WAN")、无线数据网("WDN"))、基于无线协议的通信网络(例如,基于个人通信系统(PCS)的网络、全球移动系统(GSM))或类似物。公用网络102的功能性元件涉及网络用户103之间的通信模式。通信模式的实例是即时消息发送、电子邮件、电话、无线消息发送或类似物。每一通信模式包括一个唯一的标识符,所述标识符可用于寻址公用网络102中用户103之间的通信。在本发明的范围中,公用网络102的功能性元件被称作公用协议或公用通信模式。举例而言,网络用户103可经由公用电子邮件协议(例如,邮局协议(POP)、因特网消息访问协议(IMAP)、简单邮件传输协议(SMTP)、多用途因特网邮件扩展(MIME)协议或类似物)进行通信。再次参考图1,网络用户103包括专用网络100的一个或一个以上的成员104和一个或一个以上的非成员(或非用户)。成员104使用专用或私有协议108在公用网络102上与专用网络系统IOO通信。非成员106经由共同或公用通信方法或协议110(其为公用网络102的一部分)与专用网络系统100中的成员104通信。专用网络100包括以通信的方式耦合在一起的中央服务器112和数据库系统114。在一个实施例中,专用网络系统100是基于混合的对等和客户端-服务器网络架构。对于网络的客户端-服务器方面,中央服务器112提供网络管理的集中式功能。中央服务器112可包括一个或一个以上的计算系统(或机器),即,可以是服务器群或类似物。中央服务器112连接到网络102且可实施专用和公用协议108、110,从而与网络用户103通信。类似地,数据库单元114可以是单个数据存储装置或一组互连的存储装置,例如,存储区域网络("SAN")、分布式数据库或类似物。现参考图2a,其说明根据本发明的逻辑网络环境的实施例。逻辑网络环境包括专用网络IOO、一个或一个以上的成员104和一个或一个以上的非成员106。如下文所陈述,还说明一实例成员系统104a。一个或一个以上的成员104(包括104a)与一个或一个以上的非成员通过专用网络100以通信的方式耦合。所说明的成员系统104a包括一客户端系统(或机器)116和一数据库128。客户端系统116是常规的计算系统(例如,个人计算机、个人数字助理("PDA")、移动电话、计算图形输入板(computingtablet)和类似物),其包括常规的操作系统(例如,基于窗口操作、图形和/或文本的操作系统)和一个或一个以上的应用程序。客户端系统116通过计算机网络102与专用网络100的服务器系统通信。每一客户端系统116可控制客户端应用程序以管理专用协议108和服务100功能。数据库128存储数据和其他信息实体,如本文进一步描述。图2b说明根据本发明的结构性网络环境的实施例。结构性网络环境包括一个或一个以上的客户端系统116、公用网络102和专用网络100中的一个或一个以上服务器112。客户端系统116可通过直接连接或网络连接与其他客户端系统或装置(例如PDA或移动电话)以通信的方式耦合。每一客户端系统116包括一客户端应用程序118、一因特网(或网站)浏览器120、一个人信息管理器("PIM")122、和一客户端服务模块126。客户端应用程序、因特网浏览器120、PIM122和客户端服务模块126通过操作系统以通信的方式耦合。因特网浏览器120是用于有线或无线系统的常规浏览器。实例包括Redmond,Washington的微软公司的InternetExplorer,MountainView,California的NetscapeCommunications,Corp.的NetscapeNavigator,Fremont,California的AccessSystemsAmerica,Inc.的NetFront网站浏览器,或RedwoodCity,California的OpenwaveSystems,Inc.的Openwave⑧移动浏將祖觅益。PIM122是常规的PIM。实例包括微软公司的MicrosoftOutlook和国际商务机器公司(IBM)(Cambridge,Massachusetts)的LotusSoftware的LotusNotes。应注意,因特网浏览器120可与客户端应用程序118整合。客户端应用程序118是用户与之交互以访问系统(例如,如本文所揭示的本发明的系统)机能的应用程序。客户端应用程序可包括文本或图形用户接口("GUI")124前端。客户端应用程序118有助于观看、访问、公开和同步。应注意,在替代实施例中,客户端应用程序118可完全与PIM122整合且在PIM122内实施,或其本身可组成全功能的PIM122,且因此回避了对任何另外的独立的或单独的PIM122的需要。在一个实施例中,客户端应用程序118通过促进/管理存储、公开和同步成员104的个人信息来提供PIM机能。应注意,在本描述的范围中,成员104的个人信息包括关于成员104他/她自身的信息和成员104与其他用户103相关(成员104和非成员106两者)的信息。应注意,非成员106用户与专用网络IOO交互的能力有利地增加了成员104关于从非成员106收集信息并存储信息的价值。客户端服务模块126将数据服务提供给客户端应用程序118和本地数据库128。此外,客户端服务模块126负责执行对本地数据库128的访问,使用客户端系统116的成员104的个人信息可维持在所述本地数据库128内。具体而言,客户端服务模块126负责在适当时间进行本地数据库128的整合和锁定。包括在客户端服务模块126内或与客户端服务模块126以通信的方式耦合的组件也可经配置以使本地数据库128中维持的信息和远程数据库114上维持的信息同步,本文将对其进行进一步描述。对于成员104而言,客户端服务模块126经由专用协议108在公用网络102上进行通信,所述专用协议可包括安全套接字层("SSL")堆栈。对于成员104而言,客户端服务模块126经由专用协议108在公用网络102上通信,所述专用协议可包括安全套接字层("SSL")堆栈。在一个实施例中,专用协议108是定义客户端系统116处的客户端应用程序118与服务器112之间通信的消息对象的常规专有二进制协议。其他可定制的通信协议可用于实施专有协议108,例如,可使用基于可扩展标记语言("XML")的协议或基于远程程序调用("RPC")的协议。消息对象可进一歩包括用于数据传输的其他类型的对象。举例而言,专用协议108可定义更新消息以基于时间戳检査数据更新,且可定义基本响应,例如,"过时"、"插入的记录"、"完成"或类似物。客户端服务模块126还视情况具有与客户端机器116上控制的或耦合到客户端机器116的第三方组件同步的能力。举例而言,客户端服务模块126可经由同步引擎与PIM122或PDA132或任何其他具PIM能力的装置同步。接下来参看图2b中的专用网络100的一个或多个服务器,说明实例服务器系统112。服务器系统112包括防火墙136、回响调度(resonatedispatch)138、SSL网关139、应说明书第9/24页用服务器140、网站服务器142、数据库管理系统("DBMS")/数据提炼服务器144、管理模块146和数据库114。这些组件在服务器系统112内以通信的方式耦合在一起。在一个实施例中,回响调度138是可选的,且执行多个服务器之间的负载平衡操作,在所述多个服务器上控制应用服务器140和网站服务器142。在一例示性实施例中,可在物理上或逻辑上单个的服务器上控制应用服务器140和网站服务器142。应用服务器140可利用Java技术开发,且服务客户端服务模块126和网站服务器142。应用服务器140包括允许访问应用服务器140的成员104仅访问成员104已被授权的信息的逻辑。应用服务器140也负责将个人信息更新发送到客户端服务模块126,从而将本地数据库128与服务器数据库114内针对特定成员104维持的信息的特定子组同步。应用服务器140的另一功能包括处理并安排来自成员104的服务请求和来自用户103的对应响应。这些功能包括专用网络中成员关系的确定、公用和专用协议通信和数据库114管理。应用服务器140询问数据库114以确定成员服务请求中所指定的哪些用户103也是专用网络IOO的成员104。应用服务器140使用专用协议108来将服务请求消息发送给成员104。相反,被确定为非成员106的用户103经由公用协议110从应用服务器140接收信息请求。为此,应用服务器140可包括公用协议通信模块以实施非成员通信。网站服务器142经由可选的SSL网关139与回响调度138通信,所述网关封装并解封例如超文本传输协议("HTTP")的协议,所述协议从网站服务器142发布且将在网站服务器142接收。举例而言,专用协议108消息可用安全HTTP("HTTPS")包装,即,用SSL加密来封装HTTP码。网站服务器142也可利用诸如Java、J2EE、.NET、VisualBasic或类似物的技术来开发。根据本发明的一个实施例,应用和网站服务器142和140通过其客户端系统116将对数据库114内的所允许的数据的完全访问提供给成员104。网站服务器142可进一步用作通过客户端应用程序118和应用服务器140之间的HTTP或HTTPS通信开通的用于专用协议108消息的管道。应用服务器140允许从任何平台访问数据库114内的所允许的数据。另外,本发明的非对称方面的一部分,应用服务器140还允许非成员106与专用网络IOO建立界面。因此,成员104收到与在本发明的系统的范围中的用户103(其他成员104和非成员106)通信的益处。管理模块146经配置以与应用服务器140整合或利用应用服务器140操作,从而管理根据本发明的同步和合并行为的机能和操作。DBMS(或数据提炼模块)144包括于系统IOO中。DBMS144在提示时或定期执行对数据库114的复杂询问。实施本发明的病毒引擎功能的算法可提供这些询问。DBMS144也可执行其他算法(包括自然语言处理或启发式算法)以从基于非成员106公用协议IIO的通信提取成员所请求的信息。举例而言,DBMS144可处理进入的电子邮件,以响应于提取非成员106联系信息的成员104联系更新请求。可在服务器系统上控制DBMS144,同时可使用RAID存储装置或其他类似系统实施服务器数据库114。服务器数据库114维持本地(客户端)数据库128的经同步的复本,所述本地(客户端)数据库128可在以通信的方式耦合到服务器系统112的许多客户端系统116上实施。服务器数据库114还记录关于个人信息的各种权限,特定用户的个人信息可根据所述权限由多个其他用户103访问,且因此向多个其他用户103公开,其如本文所述。应注意,在替代性实施例中,服务器数据库114不需要存储本地数据库128的复本。或者,服务器数据库114可存储到本地数据库128的链接以根据需要进行访问。根据本发明,服务器数据库114有有助于这样的系统,即其中特定成员104的地址簿(即,可由特定成员104观看的地址信息)由多个其他用户103(成员104和非成员106)所供应和/或工来的信息非对称地填充。因此,仅关于特定成员104的个人信息的单个复本可存在于服务器数据库114内,但这个特定复本可由拥有者成员104已授予访问权限的多个其他成员访问。注意,关于特定成员104的个人信息的单个复本可在系统操作期间被复制成缓存复本以帮助增大效率。相反,关于非成员106的个人信息的若干实例可存在于服务器数据库114内,尤其可存在于从本地客户端数据库128复制的个人成员104记录内。即,两个或两个以上的成员104可各具有相同非成员106的一个记录。另外,本发明设想拥有者成员104的个人信息的单个复本可用于填充个别客户端系统116上维持的多个本地数据库128。因此,远程客户端系统116上的本地数据库128可由从服务器数据库114取回的信息大量填充,且其由所述信息的始发者维持,其中所述信息与所述始发者相关。在本发明的一个实施例中,专用网络服务IOO包括经由无线电话用户103中的无线网络操作的个人联系信息更新服务。在另一实施例中,专用网络服务IOO包括在电子邮件用户103之间的因特网上操作的通用地址簿。参考图2a和图2b,举例而言,在存储装置(本地数据库128)中具有本地地址簿的成员104a利用个人计算机(客户端系统116)访问专用和公用网络。成员104a选择一组请求更新联系信息的电子邮件用户(用户103)。成员的个人计算机(例如,客户端系统116)使用私有消息发送(专用协议108)将通过电子邮件地址识别所述组电子邮件用户的更新请求发送到服务器系统112。基于所提供的电子邮件地址,服务器系统112在服务数据库114中为成员104a查找通用地址簿中的电子邮件用户,从而确定专用网络IOO中的成员关系。一旦电子邮件用户被识别为成员104(即,其他成员)和非成员106,服务器系统112就使用私有消息发送将更新请求消息发送到其他成员104,且将请求更新联系信息的电子邮件消息(公用协议110)发送到非成员106。本发明的优势包括非对称操作,其可起杠杆作用来扩充专用网络100。现参看图3a,其描述根据本发明的一个实施例用于扩充专用网络IOO的方法的流程图。当(例如)用户103接受一加入专用网络的邀请时,初始化服务150。举例而言,用户103可下载应用客户端软件并将其安装在用户的客户端系统116中。作为初始化方法150的一部分,用户103变为一成员104。服务初始化150经配置以成为一无摩擦的方法,其如美国专利申请案第_—/_—,—号,题为"ViralEngineforNetworkGrowth"进一步所述,其由发明者JohnT.Masonis、SeanParker、CameronT.Ring禾卩RichardJ.Carey发明且转让给与本发明相同的受让人,其内容以引用方式并入本文。在服务初始化方法150之后,新成员104可通过提交服务请求开始使用由服务100提供的特征。当成员104开始使用服务100时,接收服务请求152以进行处理。举例而言,成员104的客户端软件可指定成员的联系列表中的一组联系方式,其中请求所述成员更新信息。将服务请求发送154到其他成员104和非成员106。举例而言,可经由专用协议108将用来验证存储在系统数据库114中的成员自己的个人联系信息的通知发送到服务请求中所指定的任何成员104。另外,可将电子邮件消息发送到非成员106,请求非成员在回复电子邮件消息中提供当前联系信息。如果(例如)成员104存储在系统数据库114中的自己的信息需要更新,那么成员104可经由专用协议108响应服务请求。非成员106可经由公用协议110或一些其他替代性一般访问模式作出响应。在一个实施例中,非成员可经由因特网使用电子邮件消息或基于网站的形式响应更新请求。接收服务响应156,且在服务器112上执行对原始成员的服务158。举例而言,可使用启发式算法从响应的电子邮件消息中提取由非成员106提供的当前联系信息,且所述信息可用于更新关于非成员106的成员数据库记录。类似地,可经由专用协议108接收来自成员104的证实服务器系统数据库114中所存储的其自己的信息是当前信息或提供更新信息的响应消息,且在系统数据库114中链接请求和提供成员104的成员档案。接着,通过使用专用协议108来与请求成员的客户端系统116中的客户端应用软件通信,本地数据库128经更新160以包括服务器响应中的信息。可再次请求服务162,例如,可请求一组新联系,或可终止服务164。现参看图3b,其展示说明根据本发明的一个实施例的非对称操作的方法的一个实例的事件图。系统服务器112发送168—通信到用户103,其导致用户103成为一成员104a。通信可以是承担加入专用网络的邀请的更新请求、客户端软件的下载或类似物。成员104a发送170指定一组用户103的服务请求,其中由所述组用户103请求信息。服务器112访问172中央数据库114以确定所指定的哪些用户103是成员104且哪些用户是非成员106。数据库114将关于所指定的用户103的成员关系信息提供174给服务器112。服务器112经由专用协议108将信息请求发送176给成员104,且经由公用协议110将信息请求发送178给非成员106。来自成员104和非成员106的响应可出现在一段时间后且没有特定的次序。图3b还展示针对每一类型响应的代表性的一组动作。举例而言,成员104经由专用协议108响应180服务请求。特定成员104响应可以是(例如)对成员自己的信息的更新、对允许请求成员104a访问信息的授权或类似物。服务器112可访问182数据库114以处理来自其他成员104的响应。这些处理包括根据来自其他成员104的响应的更新信息,或启用请求成员104a和响应成员104的系统记录之间的链接。一旦已利用任何成员响应信息更新服务器数据库114,服务器112就与请求成员104a通信184。这些通信包括所建立的新链接的通知、同步系统(例如,通用地址簿)和本地(例如,PIM122)信息,或类似物。相反,非成员106以一个或一个以上的不同方式经由公用协议IIO作出响应186。举例而言,非成员可通过回复电子邮件、语音邮件、即时消息、网站访问或类似物来进行响应。服务器112通过从非成员106所使用的响应机制提取非成员106的相关信息来确定所述相关信息,从而处理非成员106的响应。一旦一些或所有相关信息有效,服务器112便更新188成员104a的关于非成员106的信息的系统记录。服务器112还关于非成员106与成员104a进行通信l卯。这个通信可用来关于从每一非成员106接收的信息(例如,包括于回复电子邮件中的服务不相关信息)更新成员104a,或用来使本地数据库118与更新的非成员信息同步。病毒性网络(viralnetwork)概述本发明提供用于管理联系信息的扩充的额外工具。这个扩充的源可以是病毒网络,例如,如美国专利申请案第—/——,——号,题为"ViralEngineforNetworkGrowth"中所述,其由发明者JohnT.Masonis、SeanParker、CameronT.Ring禾口RichardJ.Carey发明且转让给与本发明相同的受让人,其内容以引用的方式并入本文。简而言之,图4a到图4d在逻辑上说明根据本发明的病毒性网络扩充。在这些图中,字母"U"后面跟一个数字表示非成员106,且字母"M"后面跟一个数字表示成员104。另外,专用网络连接展示为单向箭头或双向箭头,单向箭头从成员M指向非成员U且描绘非对称网络链接,双向箭头指向两个成员M且描绘专用网络的可利用增强的服务的对称部分。请注意,专用网络连接未必是物理连接。相反,专用网络连接可包括用户103(成员M和非成员U)之间的表示由专用网络提供的服务的虚拟链接,且信息可结合那些服务而交换。图4a展示利用一组非成员Ul、U3、U7、Ull、U2、U4和U5使用专用网络服务100的第一成员M0。远离MO而指的箭头表示将非成员U暴露给专用网络的通信,例如,邀请加入的服务请求、电子邮件或关于专用网络服务的其他消息,或类似物。非成员U1和U2(例如)通过响应专用网络服务请求中包括的加入专用网络的邀请来决定加入专用网络100,且变为成员Ml和M2。其他非成员U3、U7、Ull、U4和U5巳第一次暴露给专用网络,且决定不加入专用网络,例如,可忽略来自MO的通信,可没有时间注意到服务,或因为一些其他原因不在这次加入。如图4b中所示,Ml和M2和非成员U的另一子组一起使用专用网络服务100。Ml和U6、U3、U5和MO—起使用专用网络服务100。M2和U11、U12、U10、U4禾卩MO一起使用专用网络服务100。因为MO已经是成员,所以M0与M1及M2之间的链接是对称的,显示为双箭头,且可在这些成员M之间使用增强的服务。应注意,因为MO与成员M1和M2具有联系,所以有可能M1和M2可共享与MO的联系,且因此可与MO—样和用户103的某一子组(例如,U3、U5、U4和U11)—起使用专^网络100。因此,一些非成员U由不同成员M多次暴露给专用网络服务100。因此,这些非成员具备加入专用网络的多次机会。多次暴露本身可促使非成员U加入专用网络。举例而言,非成员可认为如果两个朋友或商务联系正在使用服务,那么便值得注意到它,或他们可与第二个成员具有更近的或更值得信任的关系,或类似情况。图4c展示病毒性扩充展开的下一迭代。这里,由M0和M1联系的非成员用户U3已决定加入专用网络,且正和一些重叠的非成员(例如,U6)和一些先前尚未暴露给专用网络的非成员(例如,U9)—起使用服务。类似情况是关于成为成员M4的非成员U4。在若干次迭代之后,随着与专用网络联系的非成员U的池变得越来越大,成员M的数量呈指数增加。最终,所有用户103可成为成员M,如图4d所描绘。同步引擎专用网络的成员104的优势是非对称信息交换,其允许成员104以及非成员106将信息直接提供给专用网络IOO的成员104。随着信息量的增长,各种装置上的应用程序(例如,PIM122)之间的同步会变得逐渐困难。本发明包括同步引擎(或系统)和合并引擎(或系统),其允许成员104使来自各种装置的信息同步和合并。为了容易理解,同步和合并引擎的原理将在个人信息管理器(PIM)应用程序的内容中加以描述,且更特定来说,在联系信息的内容中加以描述。然而应注意,同步和合并引擎可对其起作用且加以处理的信息并不限于PIM和/或联系信息。相反,涉及同步和合并引擎的原理可用于和存储为数据的任何信息一起使用和操作,所述数据包括表示日历、会议、提示、注释和任务的项的数据以及诸如广告征求、租赁列表、拍卖列表的数据,和类似物。现在参看图5,其说明同步引擎可起始并管理涉及两个或两个以上装置的同步("synch")处理。所述装置可以是物理装置,其应用程序具有待同步的信息,例如,具有PIM122的客户端系统116、具有PIM的PDA132或具有PIM的移动电话510。或者,所述装置可以是具有待同步的信息的逻辑装置,例如,来自例如雅虎或美国在线的在线服务的基于网站的PIM(例如,地址簿)515。在另一实施例中,所述装置可以是具有在专用网络100内进行同步的应用程序的任何物理装置和/或逻辑装置520。本发明的同步引擎有利地允许文件夹级的信息的同歩。图6说明根据本发明的文件夹610的实例。一般而言,文件夹610含有内容以使得其用作信息(例如数据)存储库。文件夹610可包括一个或一个以上的项620和/或一个或一个以上的子文件夹630。文件夹610可经配置以多种变化将内容分组在一起,例如,分级或多个分层结构的项620和/或子文件夹630或平整结构的项620和/或子文件夹630。简而言之,项620的实例包括电子邮件、联系方式、IM消息、任务列表和注释。文件夹610和子文件夹630的实例包括项的分组,例如,关于工作的电子邮件的分组、关于家庭的电子邮件的分组、关于工作的联系方式的分组、关于家庭的联系方式的分组、关于工作的任务的分组、关于家庭的任务的分组,或其一些组合。现参看图7,其说明根据本发明的一个实施例的同步引擎的逻辑图。同步引擎(其也可称为系统)包括一层选择模块710、一解析模块720、一比较模块730、一映射(或链接)模块740、一同步输出模块750和一同步规则模块760。模块710、720、730、740、750、760可用软件、硬件或其组合实施,且可以通信的方式耦合在一起。层选择模块710在用于同步的一个或一个以上的信息层之间进行选择。一层是一种信息。举例而言,图8a说明根据本发明的在联系信息内容中的用于同步的逻辑分层组织。在这个实例中,层可包括拥有者层810、回复层820和服务层830(例如,专用网络服务或PNS)。拥有者层810对应于由成员104拥有并控制的信息(数据),其中所述成员维持关于如何操纵所述信息的权限。成员104手动地或通过自动的方法(例如软件)使拥有者层810同步。回复层820对应于可由向成员104请求更新的特定非成员106更改的信息。这里,非成员106提供与拥有者层810和/或服务层830同步的信息。服务层830与经更新以响应于由成员104起始的同步的信息相对应。在这种情况下,服务层820的信息与拥有者层810同步,且可经同步以响应于回复层820信息。应注意,不同信息层(例如810、820、930)可包括略微不同的信息,且维持它们允许地址簿项的拥有者控制所显示的信息。举例而言,在拥有者层810处输入的信息与通过回复层820获得的信息相对,与通过服务层830提供的信息(例如,经由专用网络160获得的信息)相对。此外,在每一层处的信息可通过让特定层允许访问特定层的用户界面操纵。返回参看图7,解析模块720解析层内的数据,且比较模块730比较数据以确定(或识别)重复数据。映射模块740确定特定层和/或信息是否以特定关系链接在一起。图8b(以下进一步对其进行描述)提供两个装置840、845之间的信息如何彼此同歩和存储在专用网络100的服务器系统112中的数据库114中的通用(或服务器)地址簿850的逻辑图的实例。返回图7,应注意,映射模块740也可经配置以提供链接关系的唯一标识符。在一个实施例中,唯一标识符是例如电子邮件地址、即时消息发送器地址、电话号码或其他唯一标识符(例如,社会安全号码)的不可改变的标识符。图8c说明根据本发明的一个实施例的联系卡的逻辑图的实例,其中唯一标识符875用于在专用网络IOO中将信息与成员104相关联。再次返回参看图7,同步输出模块750基于同步规则(来自同步规则模块760)和链接关系使层内的数据同步。为了辅助理解同步引擎如何运作,将使用图8b中的逻辑图提供一实例,其中图8b说明两个装置840、845之间的信息如何彼此同步和存储在专用网络100的服务器系统112中的数据库114中的通用地址簿850。图8c中的联系卡的逻辑图也用于所述实例,在图8c中唯一标识符860用于在专用网络100中使3信息875与成员104相关联。首先参看图8b,所述逻辑图说明一第一装置(称为DEVA)840、一第二装置(称为DEVB)845和专用网络100的服务器系统112中的数据库114中的一通用地址簿850(称为PNS),所述通用地址簿具有两个组(或文件夹)852、854。再次注意,装置840、845可以是具有PIM应用程序的物理装置(例如,个人计算机或PDA),或可以是具有PIM应用程序的逻辑装置(例如,门户网站)。两个装置(DEVA和DEVB)840、845包括例如PIM地址簿(PIMAB)842、847的应用程序和镜像844、849。如一实例,装置A840和/或装置B845两者/任一者的PIM地址簿842、847可在功能上类似于先前关于客户端系统116(装置A和装置B可在功能上和其类似)所述的PIM地址簿122。在本实例中,同步引擎通过镜像844、849使信息在两个装置840、845上的PIM地址簿与专用网络100的通用地址簿850之间同步。镜像844、849不需要物理地位于与PIM地址簿842、847相同的装置上,而是以通信的方式与其个别地址簿842、847耦合。镜像844、849用于使信息在PIM地址簿842、847与专用网络的服务器数据库114中的通用地址簿850文件夹(例如852、854)(或文件夹的子组)之间同步。镜像844、849使用一般是不可改变的唯一用户标识符860与通用地址簿850同步。PIM地址簿842、847、镜像844、849和数据库114中的通用地址簿文件夹852、854对于这个实例而言包括与联系信息相关的项。每一地址簿和镜像可包括一个或一个以上的项,每一项具有一个或一个以上的字段。这个实例在图8c中得以说明,其中信息870包含一项和具有所述项的一个或一个以上的数据字段875。另外,所述项一起可分成若干组。每一组可包括所述组内的组。组内的组可称为文件夹、子文件夹等,如参考图6所述的原理内所陈述。举例而言,PIM地址簿842、847可以是通用地址簿或分散地址簿的一部分。通用地址簿将所有的地址信息提供在一个地址簿中。通用地址簿与每一装置同步,使得用户在每一装置上看见相同的地址簿。分散地址簿包括两个或两个以上地址簿,其不需要是彼此的精确的复制品。分散地址簿可仅具有在其他装置上的其他地址簿之间同步的整个地址簿的子组。所述地址簿可基于每一项或更宏观的对象同步,例如,文件夹、文件夹组或子文件夹级。简而言之,图B说明关于装置A和装置B的分散PIM地址簿842、847的实例。在这个实例中,每一装置具有三个文件夹,每一文件夹具有项和项的组。还说明具有三个文件夹(或组)通用地址簿850。所述实例展示文件夹A地址簿在装置A、装置B和专用网络IOO上的数据库114中的通用地址簿850之间完全同步。所述实例还说明装置A地址簿842中的文件夹B与其他装置847、850中的文件夹不同步,而装置A842上的文件夹C与装置B847上的文件夹C和通用地址簿850中的文件夹部分地同步。本文在描述同步和合并引擎的实例中将进一步参考这个图。还应注意,专用网络的成员104可在各种级处起始同步。作为一实例,图8c说明成员104创建两个和两个以上不同的卡,例如880a、880b、880n(整体为880),所述卡由信息数据字段875的不同分组建立。每一卡880还包括一权限标记(例如,旗标和字段)885a、885b、885n(整体为885),其可用于识别卡880中的信息将在卡级处同步还是在单独的数据字段级处同步。权限标记885还包括关于特定卡是公用卡还是专用卡的数据。公用卡可经配置以用于与公用网络102或专用网络100中的信息大体同步,而专用卡与公用网络102或专用网络100中的信息有限地同步和不同步。现参看图9a和图9b,流程图说明根据本发明的一个实施例的用于文件夹同步的方法。图9a说明根据本发明的一般同步方法的一个实施例。在这个实施例中,方法开始910且确定915是否基于文件夹发生同步。如果不是,那么所述方法经配置以返回到开始建立随后将同步的文件夹。如果同步是基于文件夹,那么所述方法选择920文件夹来同步。举例而言,用于同步的文件夹可以是来自具有通用地址簿850的装置A和装置B上的PIM地址簿844、847的文件夹。接下来,所述方法识别用于同步的规则(或政策)(例如,来自同步规则模块760)。所述方法确定930是否将应用任何合并规则(或政策)。如果不是,那么在所述方法结束之前同步选定文件夹940。如果是应用合并规则,那么识别规则935,且在所述方法结束之前同步选定文件夹940期间应用所述规则。下文将和合并引擎一起进一步描述合并规则。图9b说明根据本发明的用于同歩的第二实施例。在这个实施例中,方法开始950,且选择层955以在不同装置(例如,装置A842上的PIM地址簿与通用地址簿850)之间链接在一起。通过将所述层映射在一起而链接所述层(例如,通过映射模块740)。应注意,可用替代的方法将层内的文件夹链接在一起。接着所述方法比较960所链接的层中的文件夹以识别它们之间的重复。所述方法可通过解析965文件夹并比较其中的970数据字段来看预定数据是否相同,从而执行所述比较。应注意,这可通过(例如)比较唯一用户标识符860或一个或一个以上的预定数据字段来完成。如果发现重复,那么由同步规则模块中的政策所陈述的冲突解决规则用于解决它们,且在方法结束980之前执行同步。关于同步中的冲突解决政策,本发明可有利地经配置以通过所指定的实体(例如,专用网络IOO中的服务器系统112上的管理模块146)所加强的政策或通过用户选择来实施同步规则。在同步引擎内,用于冲突解决和同步的政策可存储在同步规则模块760内。政策的实例包括确定同步规则,其包括时序授权(例如,最新信息优于其他信息而被同步)、拥有者地址簿授权(例如,地址簿拥有者输入的信息优于其他信息而被同步)、基于信息的授权(例如,专用网络100的数据库114中的信息优于其他信息而被同步),或覆盖授权(例如,来自公用网络102或专用网络100的信息优于其他信息而被同步,除非被用户覆盖)。现在参考本发明的另一实施例,首先注册待同步的信息。为了完成这个,用户输入新的帐户信息,且服务器系统112确定帐户是否作为成员存在。接下来,在收集了文件夹映射信息处执行初始映射。使用上述信息,列出需要解决的冲突。特定来说,存在两个不同的列表(1)重复项列表,需要选择所述项中的"最好"的项;且接着(因为第一步可创建更多冲突)(2)字段冲突列表,用户需要所述列表来选择最好的值。链接和同步的信息都存储在数据库114中,且将变化发送到远程系统,例如运行PIM应用程序122、842的客户端系统116。因此,客户端系统116将信息发送到服务器系统112,所述服务器系统将所述信息发送到其他客户端系统。本发明还提供同步引擎的配置和用来基于逐个文件夹同步的方法,从而允许用户有目的地维护可同步的重复数据。为了维护可同步的重复数据,成员104决定哪些文件夹是可同步的。相同文件夹中的重复项可使用不可改变的标识符被同步。这个不可改变的标识符可由服务器系统112指派。另外,成员104也会需要识别或建立不同系统上的文件夹之间(例如,842上的PIM地址簿和通用地址簿850)的映射。当同步方法开始时,如果不同系统上的文件夹之间的不可改变的标识符在其个别数据字段(例如,875)的任一者中匹配,那么认为项是重复的。这个实例将是相同的电子邮件地址(其他实例包括类似的即时消息发送器标识符或移动电话号码)。使用一些其他数据字段(例如,姓和名)来比较不具有电子邮件地址的项。如果在标识符之间存在初始匹配,那么可在几个不同方式之间使信息同步。举例而言,可存在远程装置同步,其中如果一项具有被填充的字段且另一项不具有,那么将信息移动到先前不具有字段的项中。这个方法也可通过下文进一步所述的合并引擎而实现。如果项在相同的字段中具有不同信息,那么成员104或服务器系统112必须进行如上所述的冲突解决方案。应注意,系统在服务器系统112和客户端系统116上保持唯一标识符数据。在一替代性实施例中,在涉及许多装置的远程装置同步情形中,成员104选择一项作为"可同步"的项。之后,将关于那个唯一标识符(例如,电子邮件地址)主动使这个项同步。应注意,重复项也可存储为不可同步的重复项。一旦完成了映射和初始同步,系统便有利地经配置以用于随后的同步。特定来说,在建立了初始映射之后,可在任一系统(例如,客户端系统116上的PIM地址簿122、842或服务器系统112上的通用地址簿850)上发生改变,且由于同步,所述改变可在另一系统内反映出来。这些改变包括添加、删除和更新。另外,在任一系统112、116上,一项可存在五个状态,例如,不存在("N")、添加("A")、改变("C")、未改变("U")和删除("D")。由此,可能的同步状态和动作可包括(应注意,"XX"表示不应该发生)N-N:XXN-A:将新项添加到其不存在的侧N-C:XXN-U:XXN-D:忽略(在系统辨识之前添加并删除)A-A:将项映射到彼此,且如果与新的信息冲突,那么成员104或系统应用冲突解决方案。另外,如果远程侧具有多个重复添加,那么成员103或系统或者强行干预或者使用合并引擎以确定"最好"匹配项。A-C:XXA-U:XXA-D:删除己添加的项C-C:传播远程项尚未改变的字段中的任何改变。如果相同字段在两个项上被改成不同值,那么成员104或系统就执行冲突解决方案。C-U:传播改变。C-D:删除己改变的项。U-U:忽略。U-D:删除对应项。D-D:忽略。将随后的同歩实例认为是这些状态可如何起作用的实例。在这里,标记是c-c,且应了解,数据在最后完成同步时相等。基于作为数据库114中的原始值的旧值(如果存在的话)和数据库114中的新值以及来自同步的新值进行比较。任何时候修改一项上的联系信息,服务器系统112均为每一同步装置存储旧数据(如果其并不存在或未存储在客户端系统116处)。一旦远程系统(例如,具有PIM应用程序/地址簿122、842的客户端系统116)经同步,便可移除或清除旧信息。应注意,数据复本可由客户端系统116、服务器系统112或两者来维持。还应注意,远程系统可以是一响应于同步请求提供数据的远程系统(且在那种情况下可被称作"被动的")。在新冲突解决方案的情况下,服务器系统112的管理模块146可经配置以(例如,基于系统缺省设置或成员104的预定设置)解决冲突,或可由系统(例如,管理模块146)向成员104发送电子邮件来通知成员。在这一点上,服务器系统112上的专用网络服务向成员104提供一选项以通过回复电子邮件或通过登录服务(PNS)网站并选择正确动作来解决冲突。同步方法也可经配置以根据本发明在客户端系统116上持续运行。随着所述方法的运行,对于每一通过,所述方法抓取未在预定时间间隔中发生的同步的一列表。对于每一通过,所述方法登录远程系统(例如,服务器系统112)且抓取最新的数据。接着基于上述状态对所述数据执行动作,且在服务器系统112与客户端系统116之间发布适当命令。作为一实例,系统可实施周期性轮询。轮询可采取单个、未加密、未授权消息的形式来询问服务器特定用户是否具有任何待决的改变。或者,轮询可以是对每一可同步对象的完全经加密、经授权的检査。在替代性实施例中,冲突字段信息可由数据库114存储为具有一个标记(例如,旗标或字段码)的旧字段,而可用另一标记(例如,旗标或字段码)在数据库中标示新的不可同步的项。还应注意,如果一项未经同步,且电子邮件/姓名发生改变以使得所述项是新的且不冲突,那么在数据库114中将所述项标示(或标记)为可同歩的,且其对于所有其装置而言变成"新"的项。还应注意,可用一种方式使字段同歩,使得在执行比较时认为某一字段值是等效的。例如,对于电话号码,"(abc)def-ghij"与"abc-def-ghij"相同,其中字母可与拨号键盘上的任何整数数字或字母对应。类似地,认为具有"最后、第一"的项与"第一最后"等效。应注意,字段等效性可由用户或专用网络IOO的中央服务器上的管理模块预定,以有助于限制对解决冲突的潜在干预。应进一步注意,在本发明的一个实施例中,包括文件夹、数据项等的信息和相关数据被存储为服务器系统112的数据库114中的数据库对象。所存储的数据包括可同步状态的项、文件夹映射数据(包括文件夹如何在远程站(例如,运行PIM应用程序/地址簿122、842的客户端系统116)与服务器系统122的地址簿850之间映射)、外地(或非本地)项标识符和本地项标识符之间的映射、任一特定项的旧状态,和所有同步帐户信息列表。根据本发明的同步系统和方法提供优势,其包括分层的一组文件夹(例如,可独立地更新或其他层的子组中的联系信息的文件夹)的辨识。本发明还有利地允许在各种层处在各种装置之间的同步方法期间设置并加强基于政策的冲突解决方案。因此,用户在多个层或级处对信息的同步具有增强的控制能力和灵活性。合并引擎如上所述,同步方法也可涉及装置之间的信息的合并。在合并方法中,两个或两个以上信息项被合并成单个合并的项。合并的项可包括来自每一项的信息的至少一个子组。在一个实施例中,信息的合并由合并引擎处理且根据本发明处理。应注意,合并引擎和合并方法可与同步引擎和方法合并(或组合),或可以是可与同步引擎和方法以通信的方式耦合的独立配置。图10说明根据本发明的一个实施例的合并引擎。合并引擎(其可称作一系统)包括一重复估计模块1010、一矩阵得分模块1020、一个或一个以上矩阵表1030、一映射(或链接)模块1040、一合并规则模块1050和一合并输出模块1060。模块1010、1020、1030、1040、1050、1060可实施于软件、硬件或其组合中,且可以通信的方式耦合在一起。重复估计模块1010经配置以处理不同组中的信息,从而识别重复信息并在组之间分组重复信息。举例而言,在PIM地址簿842的情形下,重复估计模块IOIO将处理两个文件夹中的地址簿项,且识别重复项并在这些文件夹之间分组重复项。对于每一组重复信息而言,矩阵得分模块1020经配置以建置一在每一组中的重复项之间的匹配得分的矩阵。这个矩阵存储在矩阵表1030中。举例而言,在PIM地址簿842中,对于每一组重复项而言,矩阵得分模块1020在这些项之间建置匹配得分的矩阵。匹配得分将存储在(例如)矩阵表1030中,其具有来自一边上的第一文件夹的重复项和来自第二边中的第二文件夹的重复项。应注意,匹配得分包含由潜在地合并来自矩阵的每一边的两个项产生的得分。矩阵表的实例如下文件夹1=重复项A、B、C文件夹2=重复项D、E、F每一项包括匹配的唯一标识符,例如,电子邮件地址矩阵表<table>tableseeoriginaldocumentpage25</column></row><table>可通过考虑以下因数的算法访问得分,所述因数包括(例如)精确数据字段匹配的数量(例如,相同位置中的相同数据)、(例如,在不重写先前数据的情况下)可安全填充的字段数量、将完全丢失的数据量(例如,如果被重写),和将移动到不相关的数据字段(例如,不易找到的数据字段)的数据量。此外,应注意,所使用的每一因数可关于得分以不同的量进行加权,且得分可由矩阵得分模块1020用任何方式(例如,力口、乘、加减组合等)组合以提供用于估计的值。在替代性实施例中,可通过其他机制建构配对。举例而言,域专家可创建构思(或算法),来基于通过那些构思获得的匹配得分找到项的理想配对。在这些构思中,将以最少丢失重复项之间的信息量的方式进行重复项的配对。映射模块1040可经配置以链接两个或两个以上信息组。举例而言,在PIM地址簿842中,联系信息的两个或两个以上文件夹可由映射模块1040链接,以用于那些文件夹内的联系项的现在和将来的合并。应注意,映射模块1040可经配置以在功能上类似于同步引擎的映射模块740和/或其合并。合并规则模块1050提供关于在合并中的冲突解决事件中如何处理数据的政策(或规则)。举例而言,政策可包括将最近输入的数据用作最相关数据、仅将由地址簿的拥有者输入的数据用作最相关数据,或在合并的每一项之间填充先前未被填充的信息。合并规则模块1050可经配置以在功能上类似于同步引擎的同步规则模块1050和/或与其合并。合并输出模块经配置以输出合并的单一项或两个或两个以上信息项。现转向图lla到图llc,这些图说明用于根据本发明的一个实施例合并信息的方法。图lla提供合并方法的概述,且将参考图llb和图llc进行描述。应注意,合并方法发生在(例如)一个或一个以上的PIM地址簿842、847(例如,具有PIM122的客户端系统116上的每一者)与服务器系统112的数据库114中的通用地址簿850之间的同步过程期间。举例而言且为了易于理解,合并方法在将两个文件夹(例如,来自装置APIM地址簿842的文件夹A和来自装置BPIM地址簿847的文件夹B)合并成通用地址簿850中的单个文件夹的情形下进行描述。返回参看图lla到图llc,在图lla中,方法通过处理PIM地址簿项而开始1110。处理包括识别1115重复项并将重复项分组。图lib说明用于识别重复项的方法。方法开始且识别用于匹配的唯一标识符(例如,860)。举例而言,在PIM地址簿的本实例中,唯一标识符可以是电子邮件地址。接着所述方法确定1160是否存在涉及电子邮件地址的匹配。如果一项中的任一电子邮件地址与一个或一个以上的其他项的任一电子邮件地址匹配,那么认为那些项是重复的。如果两个项都不含有电子邮件,那么其他数据字段标识符可用于比较,包括个人姓名、公司名、电话号码和类似物。当确定匹配时,那些重复项最终经处理以用于矩阵得分1165,接着处理结束1170。返回参看图lla,处理继续为每一组重复项建置1120—匹配得分矩阵。在矩阵中,一边包括文件夹A中的项,且另一边包括文件夹B中的项。每一矩阵项表示将两个项合并在一起的得分。得分可备用于匹配和最终合并项。匹配得分可基于值,例如,取代其他字符的特定字符或数字得分。图llc说明用于使用矩阵确定/计算匹配得分的方法。所述方法开始1175且识别1180矩阵内的得分参数(或因数)。如先前所述,因数的实例包括精确数据字段匹配数量(相同位置中的相同信息)、可安全填充的字段数量、将完全丢失的信息量,和将移动到不相关的字段(例如,不易于发现的数据字段)的信息量。此外,当确定最终得分时向每一因数指派不同的权数。所述方法继续计算1185涉及矩阵项的得分。得分可以是矩阵项加权得分的总和。或者,得分可以是用于提取每一矩阵项的数值的其他数学组合的结果。接着所述方法结束1190。返回参看图lla,项经匹配1125以最小化匹配得分的总和。在一个实施例中,可通过消除最高(最差)得分来匹配项,直到形成所有匹配为止。一旦形成匹配,便可在方法结束1140之前合并项1130。在一个实施例中,合并可包括使用合并规则模块1050内的政策。图12说明根据本发明的涉及合并的信息冲突的解决方案的一个实施例。举例而言,认为需要合并的重复项的一个复本作为黄金(原版)复本,且其另一复本作为提供(或从属)复本。这里,可基于授权原版1205、时序1215(例如,使用最近的信息)、授权拥有者1220(例如,地址簿拥有者解决)、授权服务器1225(例如,使用服务器上的项)或覆盖1230(例如,成员覆盖出现的任何冲突解决方案)来合并信息。用于合并中的解决方案的类似替代性规则包括一缺省政策,其中两个项中的一项具有被接受的信息,且将来自将被移除的另一项的信息移动到相同类型的其他数据字段中(例如,从家庭电话到家庭电话2)。另一政策可包括让成员104处理冲突且决定接受或清除哪个冲突。本发明有利地用以下方式来合并数据即使当待合并在一起的两个或两个以上文件夹和/或项之间的信息不同时也根据它们创建单个组的文件夹或项。本发明还有利地允许用以下方式自动进行合并方法通过映射合并的文件夹且接着使用预定的合并政策来合并文件夹内的信息而要求来自成员104的最少的交互(若有的话)。另外,通过巧妙地匹配待合并的项以最小化冲突数量,本发明有利地最小化需要发生的合并量。通过实例说明同步和合并图13说明根据本发明在同步和合并方法期间和之后装置之间的地址信息组的另一实例。在这个实例中,装置APIM地址簿842、装置BPIM地址簿847和通用地址簿850(专用网络100中的专用网络服务的一部分)各包括三个文件夹。对于这个实例而言,装置APIM地址簿847具有文件夹A、文件夹B和文件夹C。文件夹A将与装置BPIM地址簿847和通用地址簿850完全同步。文件夹B将与装置BPIM地址簿847和通用地址簿850部分同步。文件夹C不与装置BPIM地址簿847和通用地址簿850同步。另外装置BPIM地址簿847的文件夹D将仅与通用地址簿850同步。当地址簿842、847、850已准备好处理时,同步引擎便进行同步,其中地址簿组合和文件夹组合将经映射或链接以用于同步。同步引擎还经配置以通过将适当的项映射或链接在一起来以粒度级(例如,每一项和/或子文件夹(文件夹内的组))使文件夹同步。因此,文件夹A在所有三个地址簿中完全同步,而文件夹B在三个地址簿之间仅部分同步。此外,文件夹D仅在装置BPIM地址簿847与通用地址簿850之间同步。关于映射应再次注意,文件夹(或其子组)通过一般不可改变的唯一标识符链接在一起。合并引擎将每一地址簿中的所链接的文件夹和项的重复信息合并成单个项。因此,在所提供的实例中,文件夹A可具有合并在一起以形成单个项的略微不同的项和子文件夹(例如,在一项中为空且在另一项中完整的数据字段875,或仅略微不同但在所合并的项中具有包括两个数据字段(其内的元素)的空间的数据字段)。因此,在合并了项之后,装置APIM地址簿842中的文件夹A将包括装置BPIM地址簿847和通用地址簿850上的相同信息。本发明有利地提供用于在网络中使信息在装置之间同步的同步和合并引擎。可在各种层处使用预选择的或可选的冲突解决机制中的任何一者来使信息同步。本发明还有利地用以下方式合并数据即使当待合并在一起的两个或两个以上文件夹和/或项之间的信息不同时也根据它们创建单个组的文件夹或项。本发明还有利地允许用以下方式自动进行同步和合并方法要求用户或成员最少的交互(若有的话)。阅读完本揭示案后,所属领域技术人员将了解利用本发明所揭示的原理在专用网络系统内使同步的和不同步的信息同步并合并所述信息的系统和方法的额外替代结构和功能设计。因此,尽管已说明并描述了本发明的特定实施例和应用,但应了解,本发明不限于本文所揭示的准确构造和组件,且可在不偏离附加的权利要求书所界定的本发明的精神和范畴的情况下,对本文所揭示的本发明的方法和装置的配置、操作和细节进行所述领域技术人员显而易见的各种修改、改变和变化。权利要求1.一种用于使一个或一个以上文件夹层之间的文件夹同步的方法,所述方法包含选择一个或一个以上层以链接在一起;使用一不可改变的标识符比较所述选定的一个或一个以上层中的文件夹;将所述选定的一个或一个以上层中的每一层的所述文件夹解析成字段;比较所述选定的一个或一个以上层的经解析文件夹的所述字段;和确定是否基于响应于所述经解析文件夹的所述字段的所述比较而触发的一个或一个以上冲突规则来使所述选定的一个或一个以上层的所述文件夹同步。2.根据权利要求1所述的方法,其进一步包含响应于所述冲突规则而合并所述选定的一个或一个以上层的所述文件夹,其中所述冲突规则识别具有一项的所述选定的一个或一个以上层中的一层的一经解析文件夹中的一字段和不具有项的所述选定的一个或一个以上层中的一第二层的一经解析文件夹中的一字段。3.根据权利要求2所述的方法,其中所述合并所述文件夹的步骤进一步包含为具有所述经合并文件夹的所述选定的一个或一个以上层产生一单个逻辑文件夹。4.根据权利要求2所述的方法,其中所述合并所述文件夹的步骤进一步包含合并所述文件夹的所述选定的一个或一个以上层产生一重复文件夹。5.根据权利要求1所述的方法,其进一步包含响应于所述冲突规则而产生一重复文件夹,其中所述冲突规则识别具有一项的所述选定的一个或一个以上层中的一层的一经解析文件夹中的一字段,所述字段与所述选定的一个或一个以上层中的一第二层的一经解析文件夹中的一字段不同。6.根据权利要求1所述的方法,其中一文件夹包含对应于来自一个人信息管理器的联系的复数个项。7.根据权利要求l所述的方法,其中一文件夹包含复数个即时消息发送器地址。8.根据权利要求l所述的方法,其中一文件夹包含一子文件夹。9.一种将一网络中的复数个文件夹合并成一单个文件夹的方法,所述方法包含-比较所述第一文件夹中的项与一第二文件夹中的项,以识别所述第一文件夹与所述第二文件夹之间的重复项,响应于所述第一文件夹中一项的一标识符与所述第二文件夹中一项的一标识符的匹配而确定所述项为一重复项;对来自所述第一文件夹的所述经识别的重复项进行分组;对来自所述第二文件夹的所述经识别的重复项进行分组;产生项的配对,所述配对包括与合并一分组中的一经识别的重复项与另一分组中的每一经识别的重复项相关联的一值;和基于所述所指派的值匹配所述项,以确定合并一经识别的重复项的一程度。10.根据权利要求9所述的方法,其中所述产生步骤进一步包含产生一包含复数个矩阵项的矩阵,每一矩阵项包括与合并一分组中的一经识别的重复项与另一分组中的每一经识别的重复项相关联的一值。11.根据权利要求io所述的方法,其中所述合并步骤进一步包含从所述经匹配矩阵项中识别一基项,及从所述重复项合并到所述基项信息中。12.根据权利要求IO所述的方法,其中所述识别步骤进一步包含合并到仅存在于所述第二文件夹的所述经识别重复项中的所述基项信息中。13.根据权利要求9所述的方法,其中所述比较步骤进一步包含作为确定一重复项的所述标识符,匹配来自一由一电子邮件地址、一人名、一公司名和一电话号码组成的群中的一者。14.根据权利要求IO所述的方法,其中所述产生所述值矩阵的步骤对于每一矩阵项而言进一步包含识别与合并来自所述第一文件夹的所述分组的一经识别重复项与来自所述第二文件夹的所述分组的一经识别重复项相关联的一因数;和将一数字得分与所述因数相关联。15.根据权利要求14所述的方法,其进一步包含使用一乘数给所述数字得分加权。16.根据权利要求14所述的方法,其中去除所述矩阵项中的一最高数字得分和一最低数字得分。17.—种用于将一网络中的复数个文件夹合并成一单个文件夹的系统,所述系统包含一用于比较所述第一文件夹中的项与一第二文件夹中的项以识别所述第一文件夹与所述第二文件夹之间的重复项的构件,响应于所述第一文件夹中一项的一标识符与所述第二文件夹中一项的一标识符的匹配而确定所述项为一重复项;一用于将来自所述第一文件夹的所述经识别的重复项分组的构件;一用于将来自所述第二文件夹的所述经识别的重复项分组的构件;一用于产生一包含复数个矩阵项的矩阵的构件,每一矩阵项包括与合并一分组中的一经识别重复项与另一分组中的每一经识别重复项相关联的一值;和一用于基于所述所指派的值匹配所述矩阵项以确定合并一经识别重复项的一程度的构件。18.根据权利要求17所述的系统,其中所述用于合并的构件迸一步包含一用于从所述经匹配矩阵项中识别一基项并从所述重复项合并到所述基项信息中的构件。19.根据权利要求18所述的系统,其中所述用于识别的构件进一步包含一用于合并到仅存在于所述第二文件夹的所述经识别重复项中的所述基项信息中的构件。20.根据权利要求17所述的系统,其中所述用于产生所述值矩阵的构件对于每一矩阵项而言进一步包含一用于识别与合并来自所述第一文件夹的所述分组的一经识别重复项与来自所述第二文件夹的所述分组的一经识别重复项相关联的一因数的构件;和一用于将一数字得分与所述因数相关联的构件。全文摘要本发明揭示一种用于使一个或一个以上的文件夹层之间的文件夹同步的系统和方法。其包括选择层以链接在一起;使用一不可改变的标识符比较选定层中的文件夹;将选定层中的每一层的文件夹解析成字段;比较选定层的经解析文件夹的字段;和确定是否基于响应于经解析文件夹的字段的比较而触发的冲突规则来使选定层的文件夹同步。本发明还揭示一种将一网络中的两个或两个以上的文件夹合并成单个文件夹的系统和方法。其包括比较文件夹之间的项,以识别重复项;将每一文件夹中经识别的重复项分组;从重复项分组中产生一矩阵并向每一矩阵项指派一值;和基于所指派的值匹配所述矩阵项,以确定合并一经识别的重复项的程度。文档编号G06F17/30GK101189603SQ200480037483公开日2008年5月28日申请日期2004年11月8日优先权日2003年11月7日发明者卡梅伦·T·林,理查德·J·凯利,瑞安·A·金,约瑟夫·B·希尔,约翰·T·马松尼斯申请人:普拉克索公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1