CN1210656C - 用于客户和自适应同步和转换服务器的方法、装置 - Google Patents

用于客户和自适应同步和转换服务器的方法、装置 Download PDF

Info

Publication number
CN1210656C
CN1210656C CNB99120851XA CN99120851A CN1210656C CN 1210656 C CN1210656 C CN 1210656C CN B99120851X A CNB99120851X A CN B99120851XA CN 99120851 A CN99120851 A CN 99120851A CN 1210656 C CN1210656 C CN 1210656C
Authority
CN
China
Prior art keywords
server
synchronous
equipment
logic
data
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 - Lifetime
Application number
CNB99120851XA
Other languages
English (en)
Other versions
CN1252565A (zh
Inventor
黄允武
俞士纶
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.)
Alibaba Group Holding Ltd
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1252565A publication Critical patent/CN1252565A/zh
Application granted granted Critical
Publication of CN1210656C publication Critical patent/CN1210656C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
    • G06F11/1662Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit the resynchronized component or unit being a persistent storage device
    • 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

Abstract

使用网络分配的同步逻辑和/或转换码的同步代理或同步服务器逻辑、过程和装置,以便增加可伸缩性和改进诸如互联网应用;手提设备或掌上设备;智能电话或智能寻呼机的客户和它们远程复制品主机之间的同步管理。

Description

用于客户和自适应同步和转换 服务器的方法、装置
技术领域
本发明通常涉及信息管理系统中客户数据和数据复制品之间的更新同步和/或转换处理。
背景技术
随着半导体、存储和显示技术的快速发展,可能只是偶尔连到网络的手提设备或移动设备正日益普及。诸如3Com的PALM PILOTTM的移动设备所用的方式也变得非常通用。例如,PALM PILOTTM用户可能有与办公室桌面电脑的Lotus NOTESTM电子信箱系统同步的电子信箱应用。PALM PILOTTM中还可能有股票开盘应用,它通过与位于互联网的著名股票开盘网址同步而得到更新。还可能有与家庭PC财政软件同步的PALM PILOTTM的开支应用。因此,一个设备中的各种手提设备应用需要与网络计算机上运行的各种信息管理系统的不同应用(例如,Lotus NOTESTM、Microsoft EXCHANGETM、文件系统、相关数据库、面向目标的数据库)同步是非常可能的。还有可能一个手提设备应用(例如电子信箱)对于不同的手提设备(例如,PALM PILOTTM、夏普的ZAURUSTM、Psion plc的PSIONTM和运行Microsoft WINDOWS CETM的各种其它掌上设备)有不同的版本。
因为诸如PALM PILOTTM的手提设备典型地只是偶尔连到网络而且连接只持续较短的时间,所以手提设备应用和各种网络计算机中它们的对应物之间的同步处理非常有效是重要的(以便当手提设备连到网络时可以成功地完成同步处理)。由于手提设备典型地提供较少的CPU功率和较少的计算存储器,所以通常在手提设备中不进行同步处理。
这里,负责(hosting)来自手提设备的数据复制品的计算机叫做复制品主机或复制品源。因为手提设备通常具有少于复制品主机的计算功率和存储器,所以手提设备典型地在它们的复制品主机即桌面PC中处理同步。典型地,首先通过按手提设备的按钮(例如,PALM PILOTTM的HotSync按钮)开始同步。在按下按钮后,复制品主机的同步管理器软件(例如,桌面个人电脑(PC)的PALM PILOTTM的HotSync)立即接管同步处理。在PALM PILOTTM的情况下,HotSync管理器通过执行特定于应用的程序(叫做PALM PILOTTM的管道)来处理PALM PILOTTM应用的同步,该程序通过特定于应用的逻辑在PALM PILOTTM和桌面PC之间使应用同步。如果多个应用需要同步,则HotSync管理器顺序执行每个它们相应的管道。根据该方案,总是在一个PC和一个手提设备之间处理同步。不能得到多个手提设备和一个PC之间的同时同步。
通常来说,直接在复制品主机中进行同步处理是非常有限的。原因在于存在多个每个可以为许多不同手提设备(例如,PALM PILOTTM、ZAURUSTM、PSIONTM)所共享的应用。每个应用对于每个不同的设备需要不同的同步逻辑。为正确处理所有应用和所有设备的同步,复制品主机需要安装和管理许多不同版本的同步处理以便处理不同的手提设备。因此,在复制品主机进行同步处理对不同手提设备和它们的同步处理的管理产生繁重的负荷。对于许多复制品主机,它们最重要(mission-critical)的任务不是与各种手提设备同步,而是要像诸如数据库服务器、群件服务器的信息服务器,或个人桌面计算设备而运行。因此对它们进行同步不再是它们最重要的任务了。
管理多个手提设备和复制品主机之间同步的一种更有效的方案是使用保持持续网络连接的同步代理(或同步服务器、或同步代理服务器、或同步代理),以便代表手提设备和复制品主机进行同步(负责复制品的设备也保持持续的网络连接)。
为了同步,手提设备首先建立网络连接。一旦连接后,不是直接连到作为目标的复制品主机用于同步,而是向同步代理发出同步请求。在接收到这样的请求后,同步代理建立到作为目标的复制品主机的连接并通过向手提设备和它的复制品主机发送输入/输出请求开始同步处理。同步代理的一种直接设计是保持所有特定于设备和特定于应用的同步程序的代理,这些同步程序能处理复制品主机负责的所有手提设备类型和所有信息管理系统类型。这意味着每个应用必须具有特别编写的唯一的同步程序用于所有手提设备类型和负责手提设备数据复制品的所有信息管理系统之间的各种组合。例如,同步代理可以保持电子信箱应用的四种不同的同步程序,以便支持基于手提设备的PALM PILOTTM和WINDOWS CETM与PC的Microsoft EXCHANGETM和LotusNOTESTM。第一种同步程序用于PALM PILOTTM和EXCHANGETM之间的同步,第二种程序于PALM PILOTTM和Lotus NOTESTM之间的同步,第三种程序用于WINDOWS CETM和EXCHANGETM之间的同步和第四种程序用于PALMPILOTTM和Lotus NOTESTM之间的同步。
同步代理的另一种直接设计是允许同步代理和负责手提设备数据复制品的特定信息管理系统之间的同步输入输出接口对于不同的手提设备是相同的。是同步代理处理手提设备间的不同,而不是每个复制品主机。真正的同步处理由同步代理来完成。同步期间手提设备和复制品主机的角色只是响应同步代理的同步输入/输出呼叫。这些呼叫的典型形式是增加、恢复、删除、和更新信息。因此手提设备和复制品主机的计算负荷和同步逻辑的复杂性极大地降低了。
该直接同步代理方案的一个重要特征在于,为了所有设备类型的任何应用和所有复制品主机的任何信息管理系统间的正确同步,同步代理必须在同步任务期间能根据目标应用、设备和信息管理系统启用特定的同步逻辑。目前的直接同步代理方案通过首先限制它对少量应用、设备和信息管理系统的支持以便减少正确同步所需的同步逻辑变化的总数;和通过将同步逻辑预配置为存在磁盘存储器上的可动态链接(在同步运行时间期间)码来实现该特征。该方案的一个重要问题在于难以管理所有的各种同步逻辑。如果一个结构支持更多的应用、设备和管理信息系统,则同步逻辑变化的数目急剧增加。因此每个同步代理必须能连接正确的同步逻辑。而且,在具有布置的多个同步代理的结构中,同步逻辑的任何改变和更新都会产生将这些改变和更新通知给所有同步代理正确文件的困难的软件管理任务。同步逻辑管理的改进是本发明的一个焦点。
目前直接同步代理方案的另一个重要特征在于,由同步代理制造商预编码各种同步逻辑,一些制造商还为用户提供增加或修改同步逻辑的发展平台。同步代理制造商通常不产生应用、设备或信息管理系统。因此,他们并不具备该软件和硬件的专业知识并肯定限制他们支持的范围。目前同步代理关于支持更多的手提设备应用、更多的手提设备和更多的管理信息系统的可伸缩性是非常有限的。本发明解决该限制。
而且,该直接同步代理是一个独立系统,关于处理同时的同步请求的伸缩性受到安装同步代理的机器的计算功率的限制。在该直接同步代理方案中得不到同步代理之间关于负载平衡的合作。同步代理之间缺乏合作极有可能在代理之间产生不平衡的负载,这将导致一些同步请求延迟或根本不处理。本发明满足该需求。
发明内容
根据上述的需求,本发明涉及同步代理(或同步代理或同步服务器)的改进方法、装置和程序存储设备。该同步代理用作在客户之间进行更新同步的中介和计算平台,例子包括(但不局限于此):互联网应用;手提设备或掌上设备;灵巧电话或智能寻呼机;和负责来自这些设备的数据复制品的信息管理系统。客户可以离开网络一些或大部分时间,而信息管理系统几乎总是保持连接。客户设备中的数据和/或信息管理系统中它们的复制品可以彼此独立地进行更新。
根据本发明,提供一种用户向同步代理请求同步服务的方法。例如,手提设备向该代理发送同步请求(或sync请求)。同步请求可以包括一个或多个要同步的应用。在接收该同步请求之后,同步代理以顺序方式处理所有应用请求的同步于该手提设备的同步。对于每个要同步的应用,手提设备可以提供包括要同步应用的名称、该应用的复制品主机ID、具有该应用的应用特定同步逻辑的程序ID(同步逻辑)、和具有该手提设备的设备特定数据转换方法的程序ID(转换码)的同步识别符。这些ID最好包括唯一的标识符(或唯一的名称)和可以恢复该信息的网络地址。
或者,在应用的同步处理期间,手提设备不是将信息直接发送给同步代理,而是手提设备可以发送只包括用户、手提设备、和要同步的应用的一些标识信息的同步标识符以及存储应用名称和上述三条信息(例如,该应用的复制品主机ID、该应用的同步逻辑ID、和该手提设备的转换码ID)的目录服务地址。
一个用于在客户和远程复制品主机之间同步数据的具有本发明特征的自适应同步服务器的例子(其中远程复制品主机存储客户的数据复制品)包括:同步接收器逻辑,用于识别复制品主机和同步逻辑,同步逻辑是特定于与客户和远程主机有关的数据类型的应用;其中响应于同步请求,同步逻辑可以位于网络上远离同步服务器和远程主机的任何位置;和同步处理器逻辑,耦合到同步接收器逻辑,用于恢复网络的远程同步逻辑、连接到远程和利用恢复的同步逻辑使客户和远程主机间的数据同步。同步请求还可以包括用于识别在同步期间转换客户和远程主机之间数据的设备特定转换码的信息;其中同步处理器逻辑包括用于根据该信息恢复转换码并根据设备特定转换码转换客户和远程主机间的数据的装置。这里,该设备特定转换码可以是本地地或远离地位于网络的任何位置。
具有本发明的特征的另一个在客户和存储有关客户数据复制品的远程复制品主机之间转换数据的自适应同步服务器的例子,包括:同步接收器逻辑,用于识别远程复制品主机和将远程主机的数据转换成与客户有关的设备类型的数据的设备特定转换码,其中,响应于请求,该转换码可以位于网络上远离同步服务器和远程主机的任何位置;和同步处理器逻辑,耦合到同步接收器逻辑,用于恢复远程转换码并根据设备特定转换码转换客户和远程主机之间的数据。响应于同步请求,该请求可以包括识别同步逻辑的同步请求,它是特定于与客户和远程主机有关的数据类型的应用;和用于恢复同步逻辑、连接到远程主机和在转换期间同步客户和远程主机之间数据的装置。
根据本发明的另一个方面,为同步代理提供接收、接受、和处理来自手提设备的同步请求的方法。在本发明中,在接受来自手提设备的同步请求后,同步代理为一个或多个手提设备应用进行同步和/或转换。对于每个手提设备应用,代理可以或者直接接收来自请求手提设备或者间接接收来自请求手提设备所指定的目录服务的上述的应用名称、复制品主机ID、同步逻辑ID、和转换码ID。为同步该应用,同步代理可以从网络地址中恢复应用有关的同步逻辑,该网址在请求手提设备发送的该应用的同步逻辑ID指定。接着同步代理根据从请求手提设备接收的复制品主机ID建立与该应用有关的复制品主机的网络连接。
根据本发明的另一个方面,为处理该应用的同步,同步代理执行该应用的恢复的同步逻辑。在执行该应用的同步逻辑期间,如果需要数据转换,则同步代理连接到与该应用有关的转换码的网址。转换码的网址是由请求手提设备发送的转换码ID的一部分。接着,如果必要的话,在同步该应用时处理同步逻辑期间,同步代理通过执行该转换码来处理数据转换。虽然本发明没有指定同步逻辑的编程语言,本发明的特征即同步代理恢复远程主机的同步逻辑并执行该逻辑可以理解为允许现存的java的web处理,其中诸如小应用程序的Java程序可以从远程主机由web浏览器下载并由web浏览器本地执行以便进行web处理。
在本发明的一个实施例中,应用的同步过程分成同步逻辑和转换码。同步逻辑是同步任务的应用特定过程,而转换码是两种类型设备之间依赖设备转换过程。这两个分开意味着应用的同步逻辑可以由手提设备的制造商提供并保持,而转换码可以由该转换码应用的手提设备的提供商提供并保持。同步代理不再必须存储这些同步或转换过程了。它们所要作的只是在同步期间恢复正确的同步逻辑和或转换码。该方案极大地改进了同步代理的依赖于应用的管理处理和依赖于设备的同步和/或转换过程。
这种方案还使同步代理的制造商不再发展特定于应用和设备的同步过程。以便,只要依赖于应用和设备的同步过程由它们各自的制造商正确发展、保持和恢复,则在支持更多的应用、设备、和管理信息系统方面同步代理有更大的伸缩性。
根据本发明的再一个方面,同步代理使用超高速缓存器临时存储应用的同步逻辑或转换码,期望该同步代理在不久的将来可以使用这些可执行数据。下面将描述本发明超高速缓存器特征的例子。首先,同步代理留出一块存储器(主存或磁盘空间)作为超高速缓存器。同步代理采取索引方法搜索并恢复超高速缓存的同步逻辑或转换码(例如,根据它们唯一的名称)。为恢复超高速缓存的信息(应用的同步逻辑或转换码),同步逻辑在到网络恢复它之前首先搜索超高速缓存器。如果在超高速缓存器中没有发现该信息,同步代理则到与该信息ID有关的网址恢复它并利用它更新代理的超高速缓存器。如果在超高速缓存器中找到该信息,同步代理则从超高速缓存器中而不是网络中恢复该信息。接着,同步代理通过从超高速缓存器中下载用于执行的该数据来执行该可执行数据(应用的同步逻辑或转换码)。
根据本发明的另一个方面,同步代理可以连续监视其相对根据CPU功率、RAM与存储存储器的大小、和网络带宽容量固定的计算容量的计算负荷。同一网络中的所有同步代理可以彼此实时共享目前的计算负荷和预配置的计算容量。在接收到同步请求后,同步代理检验以发现同步任务所增加的目前的计算负荷是否超过代理的计算容量。如果超过了,该代理查询相同网络中其它代理的计算负荷和容量信息。在得到该信息后,该代理接着可以将输入的同步请求转给计算负载较少的另一个代理(在相同网络中)。如果同一网络的所有代理具有满计算负荷,则接收该同步请求的代理向请求手提设备返回标识所有同步代理的容量已满的消息。它还终止与请求手提设备的连接。在这种情况下不进行同步处理。利用这个特征,本发明还提供一种直接同步代理方案得不到的负载平衡功能。
附图说明
本发明的这些和其它的目的、优点、和特点将从下面对优选实施例和附图的详细描述中变得更加明显。
图1描述一个同步代理方案结构的例子;
图2描述一个用作具有本发明特征的手提设备的客户结构的例子;
图3描述一个本发明的同步代理结构的例子;
图4描述一个本发明的复制品主机特征结构的例子;
图5描述一个本发明的手提设备同步接收器特征的例子;
图6描述一个本发明的代理同步接收器特征的例子;
图7描述一个本发明的手提设备同步处理器特征的例子;
图8描述一个本发明的代理同步处理器特征的例子;
图9描述一个本发明的代理超高速缓存管理器特征的例子;
图10描述一个处理数据转换的代理同步处理器例子;
图12描述一个复制品主机的复制品管理器或手提设备的数据管理器的例子;
图13描述一个本发明的代理负荷管理器特征的例子。
具体实施方式
图1描述一个使用具有本发明特征的同步服务器方案的网络的整体结构的例子。客户(101、102)的例子包括(但不局限于此):手提设备或掌上设备(也叫手提设备终端、掌上计算机、互联网应用)。手提设备通常是指小到足以用一只手拿着而另一只手操作的基于计算机的设备。手提设备可能具有较小的显示屏,因为设计它们的本意并不需要一次显示大量的信息。手提设备通常包括允许它们与中央计算机通信和/或同步的通信装置。手提设备的例子包括(但不局限于此):3Com的PALM PILOTTM、Sharp的ZAURUSTM、Psion PLC的PSIONTM和其它各种运行Microsoft WINDOWS CETM的掌上型设备、智能型电话、或智能寻呼机等。因此,尽管优选实施例是指手提设备,但本领域普通技术人员可以理解本发明有利于任何通过网络同步数据的客户设备。
客户可以间歇地连到服务器(105-107)(也叫同步代理、同步服务器、或同步代理服务器)。服务器(105、106、107)的例子包括(但不局限于此):PC;工作站(例如IBM RS6000TM);或大型主机。复制品主机(109、110、111)可以是运行信息管理系统的任何计算机,该信息管理系统保持来自手提设备的数据复制品。复制品主机可以是PC、工作站、或大型主机等。同步代理通过网络(108)连到复制品主机。手提设备可以在一些或大部分时间不与网络连接,但在执行同步任务时必须保持连接(103、104)。本领域技术人员可以理解:通过调制解调器拨号到网络远程接入服务器或通过具有与网络相连的计算机直接串行端口连接,手提设备可以连接到网络(例如互联网或局域网)。按常规,目录服务器(112)提供包括用户信息预配置和存储的业务并提供应请求通过诸如互联网的网络动态恢复信息的查找机。这些业务的例子包括Novell的Novell目录业务(NDS)和Microsoft的积极(Active)目录,它们都提供可以通过LDAP(轻型目录存取协议-存取目录信息的互联网协议)存取的目录信息。
根据本发明,遥远地存储同步逻辑(120)和/或转换码(130)。用于同步客户(101-102)和存储客户数据复制品的远程复制品主机(109-111)之间数据的自适应同步服务器的一个例子包括:识别复制品主机(109-111)和同步逻辑(120)的同步代理逻辑(图3),它是特定于与客户和远程主机有关的数据类型的应用。响应于同步请求,同步逻辑(120)可以位于网上远离同步服务器(105-107)和远程主机(109-111)的任何位置。同步代理逻辑适于恢复网络(108)的远程同步逻辑;根据请求连到远程主机;和用恢复的同步逻辑同步客户和远程主机间的数据。同步请求还可以包括识别设备特定转换码(130)的信息以便在同步期间变换客户与远程主机之间的数据,包括用于根据该信息恢复转换码并根据设备特定转换码转换客户和远程主机间的数据的装置。这里,设备特定转换码可以是本地地或遥远地位于网络的任何位置。
或者,服务器适于转换客户(101、102)和存储客户数据复制品的远程复制品主机(109-111)间的数据。这里,该请求用于识别可应用的远程复制品主机和将远程主机的数据转换成与客户有关的设备类型数据的转换码(130)。转换码可以位于网上远离同步服务器和远程主机的任何位置。服务器根据请求恢复远程转换码(130)并根据设备特定转换码转换客户和远程主机间的数据。响应于同步请求,该请求可以包括具有识别同步逻辑(120)信息的同步请求,它是特定于与客户和远程主机有关的数据类型的应用。服务器恢复同步逻辑;根据信息连到远程主机;和在转换期间同步客户和远程主机间的数据。
图2描述一个用作能根据本发明执行同步的手提设备的客户的整体结构的例子。如图所示,手提设备包括CPU(201)、诸如易失性RAM的主存(203)、和使用诸如非易失性RAM、ROM、或磁盘的存储存储器(202)用于存储系统(诸如操作系统)、应用(诸如电子信箱和日历软件)、和数据(诸如地址簿或备忘日志的内容)。大部分手提设备在RAM和ROM而不是在磁盘中存储所有的信息。主存(203)存储本发明的手提设备逻辑(204),手提设备逻辑(204)最好作为可以从存储存储器(202)装载到主存(203)的计算机可执行码来实现。这里,本发明的手提设备逻辑(204)包括同步启动器(205)(在图5详细描述)、同步处理器(206)(在图7详细描述)、和数据管理器(207)(在图11详细描述)。本发明的手提设备逻辑(204)最初存在存储存储器(202)中。当同步任务开始时,CPU(201)将同步逻辑(根据按需方式需要全部或部分地)装入主存(202)并开始执行该逻辑以便同步。
图3描述一个配置为本发明同步代理的计算设备结构的例子。例子包括(但不局限于此):PC;工作站;服务器;或大型主机。同步代理可以包括CPU(301)、诸如磁盘的存储设备(302)、和诸如RAM的主存(303)。这里,主存(303)存储同步代理逻辑(304),它最好作为可以从磁盘(302)装载到主存(303)的计算机可执行码来实现。在本例中,同步代理逻辑(304)包括同步接收器(305)逻辑(在图7详细描述)、同步接收器(306)逻辑(在图8详细描述)、超高速缓存管理器(307)(在图9详细描述)、和负荷管理器(308)(在图13详细描述)。
图4描述一个配置为本发明复制品主机的计算设备结构的例子。复制品主机的例子包括(但不局限于此):PC;工作站;服务器;或大型主机。如图所示,复制品主机可以包括CPU(401)、诸如磁盘的存储设备(402)、和诸如RAM的主存(403)。主存(403)存储复制品主机逻辑(404),它最好作为可以从磁盘(402)装载到主存(403)的计算机可执行码来实现。复制品主机逻辑(304)包括复制品接收器(405)(在图12详细描述)和复制品管理器(406)(在图11详细描述)。
按常规,手提设备在能执行同步任务之前需要首先建立网络连接。有很多技术可以将手提设备连到诸如互联网或本地网的网络。例如,PALM PILOTTM具有随设备而来的TCP/IP软件。当PALM PILOTTM连到调制解调器时,它可以运行该TCP/IP软件通过电话线拨号到ISP(互联网业务提供商)以便连到互联网。或者,设备可以通过串行端口连到与网络相连的桌上PC。可以得到程序使PC成为网络接入服务器并提供网络连接到与PC串行端口相连的任何设备。虽然不是本发明的一个部分,但客户设备的网络连接过程是本发明实现的同步方法的先决条件。
在设备建立与网络的连接之后,现在通过开始图2(在图5中更详细)同步启动器(205)所示的同步启动器处理,该设备可以执行同步任务。为开始同步过程,同步启动器首先发送同步请求给同步代理(501)。本领域技术人员可以理解,手提设备应预先知道同步代理的网址,并且手提设备也可以将一个同步代理地址预配置为缺省值。手提设备发送给代理请求同步的信息可以包括标识它是同步请求的共同理解的码、还有一些关于手提设备用户(诸如用户ID和用于鉴别与授权的加密密码或共享秘密)、设备和系统类型的识别信息。虽然鉴别和授权的方法不是本发明的一部分,但本领域技术人员可以理解,网络上现有的鉴别和授权技术可以并入手提设备的同步启动器(图5的501)和同步代理的同步接收器(图3的305)之间的合作过程。
如果拒绝同步请求,同步启动器过程终止同步任务(504)。否则,同步启动器确定要同步的应用表(502)。要同步的应用例如可以包括地址簿应用、备忘日志应用、日历应用、电子信箱应用、或手提设备中的其它应用。本领域技术人员可以理解确定要同步的应用表可以包含用户输入的屏幕(例如,从用户接口检验要同步的应用)、恢复应用的缺省设置、或动态选择要同步应用的软件。一旦确定了要同步的应用表,则同步启动器过程为表上的每个应用开始同步处理器过程(503)(在图7详细描述)。同步代理的第一项任务是启动同步接收器(图3的305,并参照图6更详细地描述)。
图6描述本发明的代理同步接收器特征的例子。如图所示,同步接收器可以是无限环,其中同步代理可以连续接收来自手提设备的同步请求(601)。接收到同步请求之后,同步接收器首先检验它自己的计算负荷是否已经达到其容量(602)。如果达到了,同步接收器则启动负荷管理器(603)将该请求发送给相同网络上的另一个同步代理(在图13详细描述)。如果该同步代理没有超过负荷,同步接收器则根据从请求手提设备接收的请求消息中的识别信息执行传统的鉴别和授权过程。如果鉴别和授权过程失败(例如,手提设备用户鉴别失败或同步代理没有授权手提设备用户同步),则代理将拒绝消息发送回手提设备(605)、终止连接(606)并回去等待下一个同步请求(601)。如果鉴别和授权过程成功,则代理将接受消息发回给请求手提设备(607)。接着,代理为该同步任务启动代理同步处理器同步(608)。
本领域技术人员可以理解,同步接收器过程最好用目前的软件技术的多线程方案实现。这意味着,在接收来自手提设备的请求之后(601),同步接收器开始处理该请求余下的步骤(602-608)的一条新线。从603到601、从606到601、和从608到601的三个箭头线只是表示该线的终止。本领域技术人员也可以理解在不支持多线程的操作系统中,产生新线(601)可以看作是产生新过程。因此线的终止等于过程的终止。
现在回到手提设备,还参照图5,在接收来自代理的接受消息后(605),同步处理器顺序开始每个要同步的应用(503)。图7更详细地描述同步处理器逻辑(应用)。
如图7所示,特定应用的同步处理器首先恢复与该应用有关的信息(701)。该信息最好包括该应用的复制品主机ID、同步逻辑ID、和转换码ID(701)。
应用的复制品主机是存储此应用复制品的计算机设备。该设备可以是PC、工作站、服务器或大型主机,并且必须是网络连接。复制品主机ID可以包括复制品主机的网址和复制品主机中该应用复制品的位置。本领域技术人员可以理解,根据当前的互联网技术,URL(通用资源定位器)是实现复制品主机ID的合理方式。
最好体现为可执行码的应用的同步逻辑可用于解决冲突、指定优先方向、采取一定的行动满足该应用特定的需求。例如,花费保持应用的同步逻辑指定手提设备总是超越复制品主机(例如合作数据库服务器)一定的记录(例如酒店花费),因为合作记录代表建议的价格,而手提设备记录指定实际的帐单。同步逻辑ID可以包括同步逻辑的唯一名称、网址和该地址中同步逻辑所存储的位置。本领域技术人员也可以理解用当前存在的互联网技术即URL还是实现同步逻辑ID的合理方式。
最好体现为可执行码的特定设备和应用结合的转换码,可用于过滤、转换、和改变数据,以便在具有不同CPU功率、存储器容量、和物理结构的计算设备中可以使用并处理特定的信息。例如,从PC复制品主机发送给客户图象的网页可以运行转换码以便使所有的图象删除(过滤功能)或降低到非常粗的清晰度(转换功能),以便该页可以显示在客户的屏幕上而不需占用太多的存储空间。应用的转换码ID可以包括转换码的唯一名称、网址和该地址中转换码所存储的位置。本领域技术人员也可以理解,用现有的互联网技术即URL还是实现同步逻辑ID的合理方式。
根据本发明的另一个方面,每个应用的上述三个ID预配置并存储在手提设备中或在手提设备用户的目录服务中。如果这些ID存在手提设备中,则同步处理器向同步代理发送同步标识符(701),它最好与三个ID一起包括同步的应用名称,并随后进入循环(702)。如果这些ID以目录服务的方式存储,则同步处理器向同步代理发送同步标识符(701),它包括用户、设备、应用、和目录服务器地址(同步代理用它访问目录服务)的标识。
本领域技术人员可以理解,通过缺省值设置的使用可以避免发送三个ID的需要。例如,如果手提设备给同步代理配置要同步的缺省应用,则同步代理不需要在同步处理期间为手提设备恢复要同步的应用名称。
这种情况下缺少应用名称标识要同步缺省的应用。
同样,手提设备的用户也可以给同步代理配置缺省的复制品主机或设备。在这些情况下,同步代理不需要从手提设备中或从目录中恢复信息。相反,它可以使用为该手提设备预配置的缺省设置以便得到该信息。
虽然前面描述的诸如复制品主机、同步逻辑、或转换码的信息ID包括网址和它们各自地址的确切名称和位置,但说明它相应网址时不需要ID的另一种实现方式。这里,同步代理负责根据ID中所包含的名称找到特定ID的精确网址。例子是手提设备对应用进行同步请求,而转换码ID不包括该设备正确转换码的网址。同步代理接收到转换码的ID后,根据进行同步请求的设备类型确定正确转换码所位于的正确网络位置。
再参照图7,在循环中(702),同步处理器首先等待来自同步代理的API(应用程序接口)呼叫(702)。如果来自代理的呼叫标识应用的同步处理完成,则同步处理器终止并回到同步启动器以便处理下一个要同步的应用。如果API呼叫是数据管理命令(例如打开数据库、读取记录等),则同步处理器启动数据管理器来处理API(703)(在图11将更详细讨论)。
同步代理中的同步接收器(图6)在鉴别和授权过程完成并接收同步请求后可以发送接受消息给请求手提设备(图6的605),并接着启动代理同步处理器(图6的606)来处理同步。
图8描述详细说明代理同步处理器的例子。如图所示,代理同步处理器首先从请求手提设备接收要同步的应用名称和分别对于复制品主机、同步逻辑、和转换码的三个ID(801)。此信息可以直接从进行同步请求的手提设备中或通过前面所述的目录服务接收。如果不再有同步的应用,则手提设备发送标识这种情形的结束消息。如果接收到停止消息而不是上述三个ID,则同步处理器终止同步处理。否则,同步处理器可以请求超高速缓存管理器根据同步逻辑ID恢复同步逻辑(802)。超高速缓存器管理的例子在图9中讨论。恢复同步逻辑之后,同步处理器接着根据复制品主机ID建立与应用复制品的连接(803)。一旦建立连接后,同步处理器开始执行同步逻辑以便执行此应用的同步任务(804)。将参照图10更详细地讨论执行同步逻辑的例子。
图9描述一个同步代理所使用的超高速缓存管理器的例子以便管理超高速缓存和恢复诸如手提设备应用的同步逻辑和转换码的目标。接收到目标的请求后(901),超高速缓存管理器检验查看该目标是否在超高速缓存器中。超高速缓存器可以在主存(303)或磁盘(302)中。
如果超高速缓存器中没有请求目标,则超高速缓存管理器根据此目标的ID从网络恢复该目标(902)。一旦目标从网络恢复,就将它插入超高速缓存器中(903)并返回到请求者(904)。如果在超高速缓存器发现该目标,则超高速缓存管理器检验查看超高速缓存器的目标是否是当前的。如果它不是,则超高速缓存管理器用它的ID从网络上恢复它(902)。从网络恢复最新的目标后,它取代超高速缓存器中较旧的目标(903)并返回到请求者(904)。如果目标是最新的,则返回到请求者(904)。
虽然超高速缓存器目标当前性的证实不是本发明的特征,但本领域技术人员可以理解,本发明的超高速缓存管理器特征可以采用很多的这种现有技术。例如,超高速缓存管理器可以采取一种策略,即如果目标在超高速缓存器中一段固定的时间,则认为没有目标是最新的。另一个例子是超高速缓存管理器可以记录原始目标提供商,以便每次更新(或产生或删除)原始目标时,提供商发送关于此目标改变的消息给超高速缓存管理器。接收到该消息后,超高速缓存管理器可以或者从超高速缓存器中删除该目标、将它标为无效、或者恢复最新的目标并代替超高速缓存器中旧的目标。
图10中将更详细说明本发明的代理同步处理器特征(图8)执行同步逻辑(804)的例子。如图所示,同步逻辑包括从进行同步请求的手提设备(1003)和负责请求手提设备的同步逻辑应用复制品的复制品主机(1004)中读取数据或写数据到它们。在手提设备中的数据管理系统和手提设备复制品主机所使用的信息管理系统(例如,PALMPILOTTM电子信箱对Lotus NOTESTM电子信箱)之间存在许多区别。手提设备和复制品主机之间(例如,PALM PILOTTM对工作站)的存储容量可以不同。它们之间的显示设备也可以不同(例如,黑白低清晰度PALM PILOTTM屏幕对高清晰度PC监视器)。通过执行转换码,本发明解决从一端(例如,工作站复制品主机)到另一端(例如,PALM PILOTTM)正确转换信息的需求。
在执行应用的同步逻辑期间(图10),同步逻辑确定手提设备和复制品主机中应用的每个数据项的更新方向。例如,分别对于手提设备和复制品主机相同的唯一ID的两个数据项,同步逻辑确定手提设备数据项优先于复制品主机数据项,或相反。同步逻辑还可以确定这两个数据项是相同的并且数据移动是不必要的。同步逻辑也有可能发现这两个数据项冲突(例如,都已经单独更新)并决定在保持它自己的版本时复制每个数据项。
在本发明的代理同步处理器特征中,从一个设备向另一个(例如,从复制品主机到手提设备,或相反)写数据项之前,代理同步逻辑检验查看数据转换是否可用。如果可用,则代理同步处理器可以向超高速缓存管理器请求转换码(由进行同步请求的手提设备发送的ID指定)(1002)。超高速缓存管理器可以处理图9所示的过程以便得到请求的目标。一旦得到要同步的应用的转换码,则代理同步处理器执行该码以使数据项写入设备(1003)。
图11描述数据管理器(207)或复制品管理器(406)逻辑例于。代理同步处理器(图8的306)可以使用传统技术以便通过API向手提设备和它们的复制品主机读取数据(1103)和写数据(1104)。需要数据管理器(207)和复制品管理器(406)解释从同步代理接收的API呼叫并执行合适的数据或复制品管理功能。本领域技术人员可以理,这些APT呼叫可以是典型的诸如读数据项(1103)、写数据项(1104)、更新数据项(1105)、删除数据项等的数据管理功能。为了更有效地处理同步,利用任何版本并更新从手提设备和它们的复制品主机中可得到的历史信息来写应用的同步逻辑,以便加速同步处理。本领域技术人员可以理解,上述API可以包括恢复(1106)和/或设置(1106)版本并更新来自手提设备和复制品主机的历史信息。
图12描述本发明复制品接收器特征(405)的例子。复制品接收器可以是一个循环过程,其中它首先等待API呼叫(1201)。当同步代理的API呼叫到来时,复制品接收器开始鉴别和授权过程以便证实请求同步代理的身份(1202)。如果鉴别和授权过程失败,则复制品接收器拒绝API呼叫(1203)。否则,复制品接收器启动复制品管理器(1202),以便处理正确的复制品管理功能。
图13描述本发明同步代理中的负荷管理器特征(308)的例子。当代理同步接收器(图6)接收同步请求并检测到该同步代理超过负荷时,它能启动负荷管理器,将该同步请求发送给另一个同步代理(603)。接收到发送同步请求的要求(1301)后,负荷管理器确定相同网络上是否存在没有超过负荷的另一个代理(1302)。如果找到一个,负荷管理器将同步请求发送给此同步代理(1304)。如果相同网络的每个代理都满负荷了,负荷管理器拒绝该同步请求(1303)。本领域技术人员可以理解,所有同步代理的负荷管理器应加入一个协议,以便彼此交换负荷信息。根据相同网络其它代理的负荷信息,负荷管理器还可以采取一种策略,其中选择代理发送(例如,负荷管理器可以选择具有目前最低计算负荷的代理)以便平衡网络的全部负载。
同步代理处理器决定不只根据(602)所示的负荷状态发送同步请求。使用多个同步代理的网络中,每个同步代理为特定的手提设备或信息管理系统指定数据同步是有可能的。例如,在支持包括基于设备的PALM PILOTTM和WINDOWS CETM手提设备的数据同步的网络中,使用两个同步代理即指定PALM PILOTTM数据同步的代理1和指定WindowsCE数据同步的代理2。因此,根据这种配置,随着时间的流逝,代理1可以超高速缓存更多的与PALM PILOT设备有关的同步逻辑和转换码,而代理2可以超高速缓存更多的与Windows CETM设备有关的同步逻辑和转换码是可能的。接收到同步请求之后(601),同步代理不只是检验负荷(602),还检验设备类型,并且如果它没有指定此设备类型,则它将该请求发送给指定这种设备类型的代理。例如,代理1在接收到Windows CETM设备的同步请求后将该请求发送给指定Windows CETM数据同步的代理2,并且因此更有可能超高速缓存执行该同步请求所需的最新的同步逻辑和转换码。
除了上述的预配置说明分开方案,同步代理可以在它们之间动态广播超高速缓存情况,类似于它们彼此共享的负荷状态。以这种方式,每个同步代理可以动态发送同步请求给另一个超高速缓存情况更有利于处理该请求的同步代理。
本发明的优选实施例包括可以作为软件实现的特征,该软件在客户(101、102)和服务器(105-107)提供的CPU(201、301)执行的计算机程序产品或程序存储设备明确实施。例如,以诸如Sun的JAVATM的流行的面向目标的计算机可执行码实现的软件提供不同平台的可移植性。本领域技术人员可以理解,也可以使用其它面向过程和面向目标(00)的编程环境,包括(但不局限于)C++和Smalltalk。
本领域技术人员也可以理解,本发明的方法可以作为在计算机或其它基于处理器的设备上执行的软件来实现。该软件可以体现为磁、电、光或其它永久性程序和/或数据存储设备,包括(但不局限于):磁盘、DASD、磁泡存储器;磁带;诸如CD-ROM和DVD(数字化视频光盘)的光盘;和其它诸如磁心、ROM、PROM、快速擦写存储器、或备用电磁的RAM的永久性存储设备。本领域技术人员可以理解,在本发明的精神和范围内,客户(101、102)或服务器(105、107)的存储器(203)中举例的一个或多个成分可以通过磁盘(302)、存储器(202)、网络(108)、另一个服务器直接访问和保持或可以通过多个服务器分配。
虽然我们已经描述了本发明的优选实施例,但本领域技术人员可以理解,现在和将来可以实现各种等同物、改进和加强,它们都落入所附权利要求范围内。相应地,这些权利要求可理解为保持对首次公开的本发明的正当保护。

Claims (82)

1.一种用于在客户和存储客户数据复制品的远程复制品主机之间同步数据的自适应同步服务器,包括:
同步接收器逻辑,用于识别复制品主机和同步逻辑,此同步逻辑是特定于与客户和远程主机有关的数据类型的应用;其中响应于同步请求,此同步逻辑可以位于网络上远离同步服务器和远程主机的任何位置;和
同步处理器逻辑,耦合到同步接收器逻辑,用于从网络恢复远程同步逻辑,连接到远程和用恢复的同步逻辑使客户和远程主机间的数据同步。
2.如权利要求1所述的服务器,其中同步接收器逻辑还包括用于从客户接收包含识别复制品主机的信息和远程同步逻辑的同步请求的装置。
3.如权利要求1所述的服务器,其中同步逻辑包括解决冲突;指定最优先方向;和采取一定行动来满足应用特定需求的一个或多个装置。
4.如权利要求1所述的服务器,其中同步请求包括存储识别复制品主机信息的目录服务的地址和同步逻辑;和
响应于同步请求,同步处理器逻辑还包括恢复信息的装置。
5.如权利要求1所述的服务器,其中同步请求包括用于识别在同步期间转换客户和远程主机之间数据的设备特定转换码的信息;和
同步处理器逻辑包括用于根据该信息恢复转换码并根据设备特定转换码转换客户和远程主机之间数据的装置。
6.如权利要求5所述的服务器,其中设备特定转换码可以遥远地位于网络的任何位置。
7.如权利要求5所述的服务器,其中同步请求包括存储识别用于转换客户和远程主机之间数据的设备特定转换码信息的目录服务地址;和
同步处理器逻辑包括用于根据该信息恢复远程转换码并根据设备特定转换码转换客户和远程主机之间数据的装置。
8.如权利要求5所述的服务器,其中包括过滤;转换;和改变数据的一个或多个装置,以便可以在具有一个或多个不同CPU功率、存储器容量、和物理结构的不同计算设备中使用和处理所述转换码。
9.如权利要求1所述的服务器,还包括:
负荷管理器,耦合到接收器逻辑,用于监视服务器计算负荷和服务器计算容量并与合作的同步服务器一起共享计算负荷和计算容量;和
所述负荷管理器包括当服务器计算负荷超过门限时,将同步请求转给较少负荷服务器的逻辑。
10.如权利要求9所述的服务器,其中网络包括一个或多个内联网和互联网,其中所述的服务器还包括过滤图象或转换从远程主机发送到手提设备的网页中所包含图象的清晰度的装置,以便在手提设备的存储器约束下该网页可以显示在手提设备的屏幕上。
11.如权利要求1所述的服务器,还包括:
超高速缓存管理器,耦合到同步处理器,用于恢复并存储同步逻辑到超高速缓存器中。
12.如权利要求11所述的服务器,其中所述超高速缓存管理器还包括预置并存储同步逻辑到超高速缓存器中的装置。
13.如权利要求1所述的服务器,其中同步请求包括用于识别在同步期间转换客户和远程主机之间数据的设备特定转换码的信息,所述识别的信息包括URL。
14.一种用于在客户和存储客户数据复制品的远程复制品主机之间转换数据的自适应同步服务器,包括:
同步接收器逻辑,用于识别远程复制品主机和将远程主机的数据转换为与客户有关的设备类型的设备特定转换码,其中响应于同步请求,转换码可以位于网络上远离同步服务器和远程主机的任何位置;和
同步处理器逻辑,耦合到同步接收器逻辑,用于恢复远程转换码和根据设备特定转换码转换客户和远程主机间的数据。
15.如权利要求14所述的服务器,其中同步接收器逻辑还包括用于从客户接收包含识别复制品主机的信息和远程转换码的同步请求的装置。
16.如权利要求14所述的服务器,其中同步请求包括存储识别复制品主机的目录服务存储地址和转换码;和
响应于同步请求,同步处理器逻辑还包括恢复信息的装置。
17.如权利要求14所述的服务器,其中包括过滤;转换;和改变数据的一个或多个装置,以便可以在具有一个或多个不同CPU功率、存储器容量、和物理结构的不同计算设备中使用和处理转换码。
18.如权利要求14所述的服务器,其中还包括过滤图象或转换从远程主机发送到手提设备的网页中所包含图象的清晰度的装置,以便在手提设备的存储器约束下该网页可以显示在手提设备的屏幕上。
19.如权利要求14所述的服务器,其中同步请求包括响应于同步请求识别同步逻辑和远程主机的信息,同步逻辑是特定于与客户有关的数据类型的应用;和
同步处理器逻辑包括用于恢复同步逻辑、根据该信息连接到远程主机、和同步客户和远程主机之间数据的装置。
20.如权利要求19所述的服务器,其中同步逻辑包括解决冲突;指定优先方向;和采取一定行动满足应用特定需求的一个或多个装置。
21.如权利要求19所述的服务器,其中同步逻辑可以遥远地位于网络的任何位置。
22.如权利要求21所述的服务器,其中同步请求包括存储识别同步逻辑信息的目录服务的地址;和
同步处理器逻辑包括用于根据该信息恢复远程同步逻辑并根据同步逻辑同步客户和远程主机之间数据的装置。
23.如权利要求14所述的服务器,还包括:
负荷管理器,耦合到接收器逻辑,用于监视服务器计算负荷和服务器计算容量并与合作的同步服务器一起共享计算负荷和计算容量;和
所述负荷管理器包括当服务器计算负荷超过门限时将同步请求转给较少负荷服务器的逻辑。
24.如权利要求14所述的服务器,还包括:
超高速缓存管理器,耦合到同步处理器,用于恢复并存储同步逻辑到超高速缓存器中。
25.如权利要求24所述的服务器,其中所述超高速缓存管理器还包括预置并存储同步逻辑到超高速缓存器中的装置。
26.如权利要求14所述的服务器,其中同步请求包括用于识别在同步期间转换客户和远程主机之间数据的设备特定转换码的信息,所述识别的信息包括URL。
27.如权利要求26所述的服务器,其中网络是全球网络系统,而同步服务器是代理服务器和其中客户是从包括手提设备、智能电话或智能寻呼机的组中选择。
28.如权利要求13所述的服务器,其中网络是全球网络系统、同步服务器是代理服务器和其中客户是从包括手提设备、智能型电话或智能寻呼机的组中选择。
29.一种适合连接到同步服务器的客户设备,其中在客户和存储客户数据复制品的远程复制品主机之间执行数据同步,所述客户设备包括:
中央处理单元;
存储器,耦合到中央处理单元,存储在中央处理单元执行的可执行码;
同步启动器,用于向同步服务器发送同步请求,同步请求用于识别复制品主机和同步逻辑,同步逻辑是特定于与客户和远程主机有关的数据类型的应用;其中同步逻辑可以位于网络上远离同步服务器和远程主机的任何位置;
同步处理器逻辑,耦合到同步启动器逻辑,用于通过同步服务器与远程主机传送同步数据;和
数据管理器,耦合到同步处理器,用于处理一个或多个数据管理和复制品管理功能。
30.如权利要求29所述的客户设备,其中客户设备是从包括手持式计算机、智能电话或智能寻呼机的组中选择的可断开手提设备,包括与网络建立连接的装置。
31.如权利要求29所述的客户设备,其中数据管理包括一个或多个读数据项;写数据项;更新数据项;和删除数据项。
32.如权利要求29所述的客户设备,还包括在客户设备和远程复制品主机之间传递版本和更新历史信息的装置。
33.如权利要求29所述的客户设备,其中同步请求还包括识别复制品主机和远程同步逻辑的信息。
34.如权利要求29所述的客户设备,其中同步请求包括存储识别复制品主机和同步逻辑的信息的目录服务地址。
35.如权利要求29所述的客户设备,其中同步请求包括识别在客户设备和远程主机之间转换数据的设备特定转换码的信息。
36.如权利要求35所述的客户设备,其中设备特定转换码可以远程地位于网络上的任何位置。
37.如权利要求35所述的客户设备,其中同步请求包括存储识别一个或多个同步逻辑的信息和在客户设备与远程主机之间转换数据的设备特定转换码的目录服务地址。
38.如权利要求35所述的客户设备,其中客户设备是可断开地耦合到一个或多个内联网和互联网的手提设备,其中数据包括转换的在从远程主机发送到手提设备的网页中所包含的图象,以便在手提设备的存储器约束下该网页可以显示在手提设备的屏幕上。
39.如权利要求29所述的客户设备,其中同步请求包括用于识别在同步期间转换客户和远程主机之间数据的设备特定转换码的信息,所述识别的信息包括URL。
40.如权利要求29所述的客户设备,其中请求包括一个或多个存储在存储器中的存储的同步服务器的网络地址,其中一个同步服务器地址预配置为缺省的同步服务器地址。
41.如权利要求29所述的客户设备,其中请求包括关于客户或用户的识别信息,它从包括由下述的一个或多个构成的组中选择的客户或用户的识别信息:用户ID;加密口令;鉴别和授权的共享秘密信息;设备类型;或与客户有关的系统类型。
42.如权利要求29所述的客户设备,其中同步启动器适合确定需要同步的应用表,所述应用从包括一个或多个:地址簿应用;备忘日志应用;日历应用;电子信箱应用的组中选择。
43.一种适合连接到自适应服务器的客户设备,其中在客户设备和存储客户数据复制品的远程复制品主机之间执行数据转换,包括:
中央处理单元;
存储器,耦合到中央处理单元,存储在中央处理单元执行的可执行码;
同步启动器,用于向服务器发送请求,此请求用于识别复制品主机和在客户设备和复制品主机之间转换数据的设备特定转换码;其中转换码可以位于网络上远离服务器和远程主机的任何位置;和
同步处理器逻辑,耦合到同步启动器逻辑,用于通过同步服务器与远程主机发送转换数据;和
数据管理器,耦合到同步处理器,用于处理一个或多个数据管理和复制品管理功能。
44.如权利要求43所述的客户设备,其中客户设备是从手提设备计算机;智能电话或智能寻呼机的组中选择的可断开的手提设备,它包括与网络建立连接的装置。
45.如权利要求43所述的客户设备,其中同步请求还包括用于识别复制品主机和转换码的信息。
46.如权利要求43所述的客户设备,其中同步请求包括存储用于识别复制品主机和转换码的信息的目录服务的地址。
47.如权利要求43所述的客户设备,其中请求包括识别同步逻辑的信息,此同步逻辑是特定于与客户设备和远程主机有关的数据类型的应用。
48.如权利要求47所述的客户设备,其中同步逻辑可以位于网络上远离服务器和远程主机的任何位置。
49.如权利要求47所述的客户设备,其中同步请求包括存储用于识别一个或多个同步逻辑和设备特定转换码的信息的目录服务的地址。
50.如权利要求47所述的客户设备,其中客户设备是可断开地耦合到一个或多个内联网和互联网的手提设备,其中数据包括转换的在从远程主机发送到手提设备的网页中所包含的图象,以便在手提设备的存储器约束下该网页可以显示在手提设备的屏幕上。
51.如权利要求43所述的客户设备,其中请求包括用于识别在同步期间转换客户和远程主机之间数据的设备特定转换码的信息,所述识别的信息包括URL。
52.如权利要求43所述的客户设备,其中请求包括一个或多个存在存储器中的同步服务器的网络地址,其中一个同步服务器地址预配置为缺省的同步服务器地址。
53.如权利要求43所述的客户设备,其中请求包括关于客户或用户的识别信息,它从包括一个或多个:用户ID;加密口令;鉴别和授权的共享秘密信息;设备类型;或与客户有关的系统类型的组中选择。
54.如权利要求43所述的客户设备,其中同步启动器适合确定需要同步的应用表,所述应用从包括一个或多个:地址簿应用;备忘日志应用;日历应用;电子信箱应用的组中选择。
55.一种自适应同步服务器中在客户和存储客户数据复制品的远程复制品主机之间自适应同步数据的方法,该方法包括步骤:
响应于同步请求,识别复制品主机和同步逻辑,此同步逻辑是特定于与客户和远程主机有关的数据类型的应用;其中同步逻辑可以位于网络中远离同步服务器和远程主机的任何位置;
根据请求从网络恢复远程同步逻辑;和
连接到远程主机和用恢复的远程同步逻辑同步客户远程主机之间的数据。
56.如权利要求55所述的方法,还包括步骤:
从客户接收同步请求,此同步请求包括识别复制品主机和远程同步逻辑的信息。
57.如权利要求55所述的方法,其中同步逻辑还包括从包括一个或多个:解决冲突;指定优先方向;和采取一定的行动满足应用的特定需求的组中选择的步骤。
58.如权利要求55所述的方法,其中同步请求包括存储用于识别复制品主机和同步逻辑的信息的目录服务的地址,还包括响应于同步请求恢复信息的步骤。
59.如权利要求55所述的方法,其中同步请求包括用于识别同步期间转换客户和远程主机之间数据的设备特定转换码的信息,还包括步骤:
根据此信息恢复转换码;和
根据设备特定转换码转换客户和远程主机之间的数据。
60.如权利要求59所述的方法,其中设备特定转换码可遥远地位于网络的任何位置。
61.如权利要求59所述的方法,其中同步请求包括存储识别用于在转换客户和远程主机之间的数据的设备特定转换码的信息的目录服务的地址,还包括步骤:
根据此信息恢复远程转换码;和
根据设备特定转换码转换客户和远程主机之间的数据。
62.如权利要求59所述的方法,其中还包括从包括一个或多个:过滤;转换;和改变数据的组中选择的步骤,以便在具有一个或多个不同CPU功率、存储器容量、和物理结构的不同计算设备中使用和处理转换码。
63.如权利要求55所述的方法,还包括步骤:
监视服务器计算负荷和服务器计算容量;和
与合作的同步服务器共享计算负荷和计算容量;和
当服务器计算负荷超过门限时,将同步请求转给较少负荷的服务器。
64.如权利要求55所述的方法,其中网络包括一个或多个内联网和互联网,其中还包括从包含一个或多个:过滤图象;或转换从远程主机发送到手提设备的网页中所包含图象的清晰度的组中选择的步骤,以便在手提设备的存储器约束下该网页可以显示在手提设备的屏幕上。
65.如权利要求55所述的方法,还包括恢复并存储同步逻辑到超高速缓存器中的步骤。
66.如权利要求65所述的方法,还包括预置并存储同步逻辑到超高速缓存器中的步骤。
67.如权利要求55所述的方法,其中同步请求包括用于识别在同步期间转换客户和远程主机之间数据的设备特定转换码的信息,所述识别的信息包括URL。
68.一种在自适应同步服务器中在客户和存储客户数据复制品的远程复制品主机之间转换数据的方法,还包括步骤:
响应于请求,识别远程复制品主机和将远程主机的数据转换为与客户有关的设备类型的数据的设备特定转换码,其中转换码可以位于网络中远离服务器和远程主机的任何位置;和
响应于请求,恢复远程转换码;和
根据设备特定转换码转换客户和远程主机之间的数据。
69.如权利要求68所述的方法,还包括从客户接收同步请求的步骤,此同步请求包括识别复制品主机和远程转换码的信息。
70.如权利要求68所述的方法,其中此同步请求包括存储识别复制品主机和转换码的信息的目录服务的地址,还包括响应于同步请求恢复信息的步骤。
71.如权利要求68所述的方法,其中还包括从包括一个或多个:过滤;转换;和改变数据的组中选择的步骤,以便在具有一个或多个不同CPU功率、存储器容量、和物理结构的不同计算设备中使用和处理转换码。
72.如权利要求68所述的方法,其中还包括从包含一个或多个:过滤图象;或转换从远程主机发送到手提设备的网页中所包含图象的清晰度的组中选择的步骤,以便在手提设备的存储器约束下该网页可以显示在手提设备的屏幕上。
73.如权利要求68所述的方法,其中此请求包括识别同步逻辑的信息,此同步逻辑是特定于与客户和远程主机有关的数据类型的应用,为响应于同步请求,还包括步骤:
恢复同步逻辑;
根据信息连到远程主机;和
在客户和远程主机之间同步数据。
74.如权利要求73所述的方法,其中此同步逻辑还包括从包括一个或多个:解决冲突;指定优先方向;和采取一定的行动满足应用的特定需求的组中选择的步骤。
75.如权利要求73所述的方法,其中此同步逻辑可遥远地位于网络的任何位置。
76.如权利要求75所述的方法,其中此请求包括存储识别同步逻辑的信息的目录服务的地址,还包括步骤:
根据信息恢复远程同步逻辑;和
根据同步逻辑同步客户和远程主机之间的数据。
77.如权利要求68所述的方法,还包括步骤:
监视服务器计算负荷和服务器计算容量;和
与合作的同步服务器共享计算负荷和计算容量;和
当服务器计算负荷超过门限时,将同步请求转给较少负荷的服务器。
78.如权利要求68所述的方法,还包括恢复并存储同步逻辑到超高速缓存器中的步骤。
79.如权利要求65所述的方法,还包括预置并存储同步逻辑到超高速缓存器中的步骤。
80.如权利要求68所述的方法,其中请求包括用于识别在同步期间转换客户和远程主机之间数据的设备特定转换码的信息,所述识别的信息包括URL。
81.如权利要求80所述的方法,其中网络是全球网络系统,同步服务器是代理服务器和其中客户从包括手提设备、智能型电话或智能寻呼机的组中选择。
82.如权利要求68所述的方法,其中网络是全球网络系统、同步服务器是代理服务器和其中客户从包括手提设备、智能型电话或智能寻呼机的组中选择。
CNB99120851XA 1998-10-23 1999-09-30 用于客户和自适应同步和转换服务器的方法、装置 Expired - Lifetime CN1210656C (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/178,100 1998-10-23
US09/178100 1998-10-23
US09/178,100 US6477543B1 (en) 1998-10-23 1998-10-23 Method, apparatus and program storage device for a client and adaptive synchronization and transformation server

Publications (2)

Publication Number Publication Date
CN1252565A CN1252565A (zh) 2000-05-10
CN1210656C true CN1210656C (zh) 2005-07-13

Family

ID=22651194

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB99120851XA Expired - Lifetime CN1210656C (zh) 1998-10-23 1999-09-30 用于客户和自适应同步和转换服务器的方法、装置

Country Status (9)

Country Link
US (1) US6477543B1 (zh)
EP (1) EP1014266B1 (zh)
JP (1) JP3574017B2 (zh)
KR (1) KR100343823B1 (zh)
CN (1) CN1210656C (zh)
AT (1) ATE385330T1 (zh)
DE (1) DE69938077T2 (zh)
ES (1) ES2297914T3 (zh)
TW (1) TW474077B (zh)

Families Citing this family (166)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7293107B1 (en) 1998-10-09 2007-11-06 Netmotion Wireless, Inc. Method and apparatus for providing mobile and other intermittent connectivity in a computing environment
US6546425B1 (en) * 1998-10-09 2003-04-08 Netmotion Wireless, Inc. Method and apparatus for providing mobile and other intermittent connectivity in a computing environment
US8078727B2 (en) 1998-10-09 2011-12-13 Netmotion Wireless, Inc. Method and apparatus for providing mobile and other intermittent connectivity in a computing environment
US7778260B2 (en) 1998-10-09 2010-08-17 Netmotion Wireless, Inc. Method and apparatus for providing mobile and other intermittent connectivity in a computing environment
US8060656B2 (en) 1998-10-09 2011-11-15 Netmotion Wireless, Inc. Method and apparatus for providing mobile and other intermittent connectivity in a computing environment
US7673323B1 (en) 1998-10-28 2010-03-02 Bea Systems, Inc. System and method for maintaining security in a distributed computer network
US6678741B1 (en) * 1999-04-09 2004-01-13 Sun Microsystems, Inc. Method and apparatus for synchronizing firmware
WO2000069111A2 (en) * 1999-05-10 2000-11-16 Rienzo Andrew L Di Authentication
US7882247B2 (en) 1999-06-11 2011-02-01 Netmotion Wireless, Inc. Method and apparatus for providing secure connectivity in mobile and other intermittent computing environments
JP3963417B2 (ja) * 1999-11-19 2007-08-22 株式会社東芝 データ同期処理のための通信方法および電子機器
US20060235945A1 (en) * 2000-01-14 2006-10-19 Frietas Nathaniel X Software architecture for wireless data and method of operation thereof
US6671715B1 (en) * 2000-01-21 2003-12-30 Microstrategy, Inc. System and method for automatic, real-time delivery of personalized informational and transactional data to users via high throughput content delivery device
US7003571B1 (en) 2000-01-31 2006-02-21 Telecommunication Systems Corporation Of Maryland System and method for re-directing requests from browsers for communication over non-IP based networks
US8370435B1 (en) 2000-01-31 2013-02-05 Telecommunication Systems, Inc. System and method for servers to send alerts to connectionless devices
US6435164B1 (en) 2000-12-07 2002-08-20 Ford Global Technologies, Inc. Fuel weathering method for vehicle evaporative emission system
US20010042099A1 (en) * 2000-02-02 2001-11-15 Doongo Technologies, Inc. Apparatus and methods for optimizing traffic volume in wireless email communications
US6842861B1 (en) * 2000-03-24 2005-01-11 Networks Associates Technology, Inc. Method and system for detecting viruses on handheld computers
US6671700B1 (en) * 2000-05-23 2003-12-30 Palm Source, Inc. Method and apparatus for parallel execution of conduits during simultaneous synchronization of databases
US6785868B1 (en) * 2000-05-31 2004-08-31 Palm Source, Inc. Method and apparatus for managing calendar information from a shared database and managing calendar information from multiple users
WO2002023330A2 (en) 2000-09-11 2002-03-21 Avantgo, Inc. Method, system, and computer program product for synchronization of similar data objects with event information
DE60043815D1 (de) 2000-09-12 2010-03-25 Motorola Inc Ad hoc Telekommunikationsnetzwerkverwaltung und Vermittlung
US7051069B2 (en) * 2000-09-28 2006-05-23 Bea Systems, Inc. System for managing logical process flow in an online environment
US6856999B2 (en) * 2000-10-02 2005-02-15 Microsoft Corporation Synchronizing a store with write generations
KR20020033275A (ko) * 2000-10-30 2002-05-06 정정호 로컬 단말기와 서버간에 데이터 파일을 동기화시키는동기화 푸시 서비스 방법 및 시스템
US7363388B2 (en) * 2001-03-28 2008-04-22 Siebel Systems, Inc. Method and system for direct server synchronization with a computing device
TWI220199B (en) * 2001-03-30 2004-08-11 Compal Electronics Inc Personal data assistant (PDA) using a remote server to process
US7613834B1 (en) * 2001-04-04 2009-11-03 Palmsource Inc. One-to-many device synchronization using downloaded/shared client software
US20030069848A1 (en) * 2001-04-06 2003-04-10 Larson Daniel S. A User interface for computer network management
US7587669B2 (en) * 2001-04-09 2009-09-08 Aol Llc Server-based browser system
US7499948B2 (en) 2001-04-16 2009-03-03 Bea Systems, Inc. System and method for web-based personalization and ecommerce management
DE10118827A1 (de) * 2001-04-17 2002-10-31 Bucko Software Gmbh Verfahren zum automatischen Abgleich einer Datenmenge sowie Versandlogistiksystem
US6981062B2 (en) * 2001-04-20 2005-12-27 Sbc Technology Resources, Inc. World wide web content synchronization between wireless devices
US20020169863A1 (en) * 2001-05-08 2002-11-14 Robert Beckwith Multi-client to multi-server simulation environment control system (JULEP)
US7392546B2 (en) * 2001-06-11 2008-06-24 Bea Systems, Inc. System and method for server security and entitlement processing
US6883036B1 (en) * 2001-06-25 2005-04-19 Bellsouth Intellectual Property Corporation System and method for managing network directories
US7668535B2 (en) * 2001-07-09 2010-02-23 Palm, Inc. Notification infrastructure for sending device-specific wireless notifications
US7801941B2 (en) * 2001-07-09 2010-09-21 Palm, Inc. Apparatus and method for exchanging data between two devices
US20030014672A1 (en) * 2001-07-13 2003-01-16 Meera Desikamani Authentication protocol with dynamic secret
US7725584B1 (en) 2001-07-30 2010-05-25 Western Digital Ventures, Inc. Using multiple communication channels to synchronize a mobile terminal based on data type
US7275116B1 (en) 2001-07-30 2007-09-25 Western Digital Ventures, Inc. Mobile terminal synchronizing components of a document separately
US7743119B2 (en) * 2001-08-07 2010-06-22 Motorola, Inc. System and method for mapping identification codes
US7243163B1 (en) 2001-08-07 2007-07-10 Good Technology, Inc. System and method for full wireless synchronization of a data processing apparatus with a messaging system
US7962622B2 (en) 2001-08-07 2011-06-14 Motorola Mobility, Inc. System and method for providing provisioning and upgrade services for a wireless device
US7596565B2 (en) * 2001-08-07 2009-09-29 Good Technology System and method for maintaining wireless file folders at a wireless device
US20030033351A1 (en) * 2001-08-10 2003-02-13 Aleta Ricciardi Group proxy and method for grouping services in a distributed computing application
US20030061106A1 (en) * 2001-09-21 2003-03-27 Sunday Orhomuru Data transfer or transfer of data using wireless mobile phone and any other wireless mobile devices
US7415539B2 (en) * 2001-09-28 2008-08-19 Siebel Systems, Inc. Method and apparatus for detecting insufficient memory for data extraction processes
US7526575B2 (en) * 2001-09-28 2009-04-28 Siebel Systems, Inc. Method and system for client-based operations in server synchronization with a computing device
US7761535B2 (en) * 2001-09-28 2010-07-20 Siebel Systems, Inc. Method and system for server synchronization with a computing device
US7257649B2 (en) * 2001-09-28 2007-08-14 Siebel Systems, Inc. Method and system for transferring information during server synchronization with a computing device
US8046343B2 (en) * 2001-09-29 2011-10-25 Siebel Systems, Inc. Computing system and method for automatic completion of pick field
WO2003036609A1 (en) * 2001-10-24 2003-05-01 Bea Systems, Inc. Portal administration tool
US7149805B2 (en) * 2001-10-31 2006-12-12 Hewlett-Packard Development, L.P. Wireless trusted point of access to a computer network
FI112015B (fi) 2001-11-12 2003-10-15 Nokia Corp Datan synkronoinnin järjestäminen tietoliikennejärjestelmässä
US7350226B2 (en) 2001-12-13 2008-03-25 Bea Systems, Inc. System and method for analyzing security policies in a distributed computer network
US7054910B1 (en) * 2001-12-20 2006-05-30 Emc Corporation Data replication facility for distributed computing environments
US8799464B2 (en) * 2001-12-28 2014-08-05 Motorola Mobility Llc Multi-modal communication using a session specific proxy server
KR20030068624A (ko) * 2002-02-15 2003-08-25 홍정기 인터넷망을 기반으로 하는 클라이언트 정보 동기화 방법
JP3585468B2 (ja) * 2002-02-28 2004-11-04 株式会社コナミコンピュータエンタテインメント東京 ゲーム装置、プログラム及びゲーム装置の制御方法
US20080228904A1 (en) * 2002-03-20 2008-09-18 Daniel Crespo-Dubie Home Gateway Architecture and State Based Distributed System and Method
US7783593B2 (en) * 2002-04-04 2010-08-24 Verizon Business Global Llc Method, device and computer program product including a lightweight directory access protocol client
US20030191750A1 (en) * 2002-04-04 2003-10-09 Mayel Espino Method, system and computer program product for lightweight directory access protocol applications
US20030191748A1 (en) * 2002-04-04 2003-10-09 Mayel Espino Method, device and computer program product including a lightweight directory access protocol client architecture
EP2309411A3 (en) * 2002-04-23 2011-06-15 Panasonic Corporation Method and system for controlled distribution of software programs
US7447799B2 (en) 2002-04-24 2008-11-04 Good Technology, Inc. System and method for automatically updating a wireless device
US7725560B2 (en) * 2002-05-01 2010-05-25 Bea Systems Inc. Web service-enabled portlet wizard
US9813514B2 (en) 2002-06-12 2017-11-07 Good Technology Holdings Limited Information repository system including a wireless device and related method
US8516034B1 (en) 2002-07-08 2013-08-20 Good Technology Software, Inc System and method for modifying application behavior based on network bandwidth
US20040015537A1 (en) * 2002-07-15 2004-01-22 Richard Doerksen Handheld client framework system
GB2392800A (en) * 2002-09-04 2004-03-10 Matchtip Ltd Backup system for data stored in remote data storage systems
ES2292676T3 (es) * 2002-11-25 2008-03-16 T-Mobile Deutschland Gmbh Metodo y sistema para facilitar el acceso a una cuenta de correo electronico a traves de una red de comunicacon movil.
US7831734B2 (en) * 2002-11-25 2010-11-09 Sap Ag Method and system for remote configuration of network devices
US7035879B2 (en) * 2002-12-26 2006-04-25 Hon Hai Precision Ind. Co., Ltd. System and method for synchronizing data of wireless devices
US7243158B1 (en) * 2003-01-28 2007-07-10 Thomas Gutchigian Method, system and computer program for identification of data and translation of data between storage locations
US20050021371A1 (en) * 2003-01-31 2005-01-27 Basone Michael A. System for facilitating weight control incorporating hand-held computing device
FR2850814A1 (fr) * 2003-02-03 2004-08-06 France Telecom Systeme et procede de synchronisation de donnees entre des portails de services et plate-forme d'acces a des services utilisant un tel systeme de synchronisation
US8831966B2 (en) 2003-02-14 2014-09-09 Oracle International Corporation Method for delegated administration
US7653930B2 (en) 2003-02-14 2010-01-26 Bea Systems, Inc. Method for role and resource policy management optimization
US7591000B2 (en) 2003-02-14 2009-09-15 Oracle International Corporation System and method for hierarchical role-based entitlements
US7840614B2 (en) 2003-02-20 2010-11-23 Bea Systems, Inc. Virtual content repository application program interface
US7483904B2 (en) 2003-02-20 2009-01-27 Bea Systems, Inc. Virtual repository content model
US20040167880A1 (en) * 2003-02-20 2004-08-26 Bea Systems, Inc. System and method for searching a virtual repository content
US7562298B2 (en) 2003-02-20 2009-07-14 Bea Systems, Inc. Virtual content repository browser
US7293286B2 (en) 2003-02-20 2007-11-06 Bea Systems, Inc. Federated management of content repositories
US7415478B2 (en) 2003-02-20 2008-08-19 Bea Systems, Inc. Virtual repository complex content model
US7810036B2 (en) 2003-02-28 2010-10-05 Bea Systems, Inc. Systems and methods for personalizing a portal
US20040172622A1 (en) * 2003-02-28 2004-09-02 Nokia Inc. Systems, methods and computer program products for performing a task in a software application
US7562353B2 (en) * 2003-05-16 2009-07-14 Hewlett-Packard Development Company, L.P. Methods and systems for transforming Java applications of behalf of another device
EP1632081B1 (en) * 2003-05-23 2016-08-17 Kirusa, Inc. A method and system for communicating a data file over a network and teleconferencing over a telephony network
US7370051B2 (en) * 2003-06-24 2008-05-06 Microsoft Corporation Database driven type extensibility
US20050010646A1 (en) * 2003-07-08 2005-01-13 Toshio Shiina E-mail management server, attachment file output system, attachment file output method, recording medium, and program data signal
US7636776B2 (en) * 2003-07-31 2009-12-22 Microsoft Corporation Systems and methods for synchronizing with multiple data stores
US8131739B2 (en) * 2003-08-21 2012-03-06 Microsoft Corporation Systems and methods for interfacing application programs with an item-based storage platform
US8238696B2 (en) 2003-08-21 2012-08-07 Microsoft Corporation Systems and methods for the implementation of a digital images schema for organizing units of information manageable by a hardware/software interface system
US8166101B2 (en) 2003-08-21 2012-04-24 Microsoft Corporation Systems and methods for the implementation of a synchronization schemas for units of information manageable by a hardware/software interface system
US20050097186A1 (en) * 2003-10-08 2005-05-05 International Business Machines Corporation Method, system, and computer program product for managing interaction between remote devices and server resources
US20070180127A1 (en) * 2003-11-11 2007-08-02 Nokia Corporation Preconfigured syncml profile categories
JP2005157712A (ja) * 2003-11-26 2005-06-16 Hitachi Ltd リモートコピーネットワーク
US20050193326A1 (en) * 2004-02-26 2005-09-01 International Business Machines Corporation Tool for configuring available functions of an application
US20050192922A1 (en) * 2004-02-27 2005-09-01 Edlund Stefan B. Client-server computing system capable of validating cached data based on data transformation
US20060161778A1 (en) * 2004-03-29 2006-07-20 Nokia Corporation Distinguishing between devices of different types in a wireless local area network (WLAN)
US7774601B2 (en) * 2004-04-06 2010-08-10 Bea Systems, Inc. Method for delegated administration
US7236989B2 (en) * 2004-04-13 2007-06-26 Bea Systems, Inc. System and method for providing lifecycles for custom content in a virtual content repository
US20050251503A1 (en) * 2004-04-13 2005-11-10 Bea Systems, Inc. System and method for content and schema versioning
US20060041558A1 (en) * 2004-04-13 2006-02-23 Mccauley Rodney System and method for content versioning
US20050235279A1 (en) * 2004-04-14 2005-10-20 Heng-Chien Chen Method of updating software in a host-client network
US20050256906A1 (en) * 2004-05-14 2005-11-17 Bea Systems, Inc. Interface for portal and webserver administration-efficient updates
US20050256899A1 (en) * 2004-05-14 2005-11-17 Bea Systems, Inc. System and method for representing hierarchical data structures
US7761439B1 (en) * 2004-06-30 2010-07-20 Google Inc. Systems and methods for performing a directory search
US7506006B2 (en) * 2004-09-03 2009-03-17 Microsoft Corporation Synchronization for smart clients
US7558783B2 (en) 2004-09-03 2009-07-07 Microsoft Corporation Conversion between application objects and smart client objects
US20060075100A1 (en) * 2004-09-28 2006-04-06 Nokia Corporation System, device, software and method for providing enhanced UPnP support on devices
US7783670B2 (en) * 2004-11-18 2010-08-24 Bea Systems, Inc. Client server conversion for representing hierarchical data structures
EP1667021A1 (de) * 2004-12-03 2006-06-07 Jerry Muse Woldeab Datensicherungsverfahren für ein Kommunikationsgerät
US7587596B2 (en) * 2005-02-24 2009-09-08 International Business Machines Corporation Method and apparatus for updating information stored in multiple information handling systems
CN100352231C (zh) * 2005-04-11 2007-11-28 深圳市天路软件开发有限公司 异地数据同步的传输方法及系统
DE602006021173D1 (de) * 2005-05-02 2011-05-19 Oji Paper Co Analysevorrichtung und analyseverfahren für glykosyliertes hämoglobin
US7493351B2 (en) * 2005-05-05 2009-02-17 International Business Machines Corporation Rapid integration mechanism for directory based applications
US20060277282A1 (en) * 2005-06-02 2006-12-07 International Business Machines Corporation Federated scheduling method and system
US20070014243A1 (en) * 2005-07-14 2007-01-18 Yahoo! Inc. System and method for provisioning a user device
US20070033086A1 (en) * 2005-08-04 2007-02-08 International Business Machines Corporation System and method for interacting with participants of a future event
US8473971B2 (en) 2005-09-06 2013-06-25 Microsoft Corporation Type inference and type-directed late binding
US7818344B2 (en) 2005-09-26 2010-10-19 Bea Systems, Inc. System and method for providing nested types for content management
US7752205B2 (en) 2005-09-26 2010-07-06 Bea Systems, Inc. Method and system for interacting with a virtual content repository
US7953734B2 (en) 2005-09-26 2011-05-31 Oracle International Corporation System and method for providing SPI extensions for content management system
US7917537B2 (en) 2005-09-26 2011-03-29 Oracle International Corporation System and method for providing link property types for content management
EP1770954A1 (en) * 2005-10-03 2007-04-04 Amadeus S.A.S. System and method to maintain coherence of cache contents in a multi-tier software system aimed at interfacing large databases
US7844251B2 (en) * 2005-10-12 2010-11-30 Qualcomm Incorporated Peer-to-peer distributed backup system for mobile devices
US20070100843A1 (en) * 2005-10-20 2007-05-03 Chen Daniel Q System and method for mapping between different information management systems
US8015319B2 (en) * 2005-10-27 2011-09-06 Huawei Technologies Co., Ltd. Method, system, client and server for implementing data sync
US7464117B2 (en) * 2006-01-20 2008-12-09 Microsoft Corporation Using directory historical data to facilitate automated file updates
US7620392B1 (en) 2006-02-27 2009-11-17 Good Technology, Inc. Method and system for distributing and updating software in wireless devices
US7890646B2 (en) * 2006-04-27 2011-02-15 Microsoft Corporation Synchronization orchestration
US7792792B2 (en) * 2006-05-22 2010-09-07 Microsoft Corporation Synchronizing structured web site contents
US8745106B2 (en) * 2006-08-30 2014-06-03 Red Hat, Inc. Numeric identifier assignment in a networked computer environment
US20080077982A1 (en) * 2006-09-22 2008-03-27 Bea Systems, Inc. Credential vault encryption
US8463852B2 (en) 2006-10-06 2013-06-11 Oracle International Corporation Groupware portlets for integrating a portal with groupware systems
US7627595B2 (en) * 2006-12-06 2009-12-01 Verizon Data Services Inc. Apparatus, method, and computer program product for synchronizing data sources
US8005903B2 (en) * 2006-12-13 2011-08-23 International Business Machines Corporation Method and apparatus for managing locally stored E-mail messages
JP4789819B2 (ja) * 2007-01-31 2011-10-12 株式会社日立製作所 アプリケーションとデータの管理方法、管理システム、それに用いられるシンクライアント端末、管理サーバ、および、リモート計算機
ES2330816B1 (es) * 2007-04-18 2010-09-27 Comercial De Canalizaciones Y Maquinaria, S.L. Sistema de proteccion antifuego.
US8060653B2 (en) * 2007-04-23 2011-11-15 Ianywhere Solutions, Inc. Background synchronization
US20080320453A1 (en) * 2007-06-21 2008-12-25 Microsoft Corporation Type inference and late binding
US10671600B1 (en) 2007-07-24 2020-06-02 Avaya Inc. Communications-enabled dynamic social network routing utilizing presence
US8478880B2 (en) * 2007-08-31 2013-07-02 Palm, Inc. Device profile-based media management
US20090157615A1 (en) * 2007-12-18 2009-06-18 General Motors Corporation Synching online address book sources for a vehicle user
US8274935B2 (en) * 2008-02-11 2012-09-25 Amdocs Software Systems Limited Mobile communication device notifier
US7747784B2 (en) 2008-03-04 2010-06-29 Apple Inc. Data synchronization protocol
US7991740B2 (en) 2008-03-04 2011-08-02 Apple Inc. Synchronization server process
US20090228542A1 (en) * 2008-03-06 2009-09-10 Microsoft Corporation Occasionally-connected support through off-line service-supplied proxies
US8112537B2 (en) * 2008-09-29 2012-02-07 Apple Inc. Trickle sync protocol
US8572591B2 (en) * 2010-06-15 2013-10-29 Microsoft Corporation Dynamic adaptive programming
KR101824647B1 (ko) * 2010-10-12 2018-02-02 삼성전자주식회사 디바이스간 동기화 방법, 유저 디바이스, 및 컴퓨터로 읽을 수 있는 저장 매체
US9146936B2 (en) 2011-01-24 2015-09-29 Cox Communications, Inc. Systems and methods for automatically synchronizing data using a mobile communications device
KR101249719B1 (ko) * 2011-05-04 2013-04-03 주식회사 인프라웨어테크놀러지 어플리케이션 클론 실행 방법, 컴퓨터로 판독가능한 기록매체, 및 이를 지원하는 클론단말
US9256401B2 (en) 2011-05-31 2016-02-09 Microsoft Technology Licensing, Llc Editor visualization of symbolic relationships
JP5817348B2 (ja) 2011-08-31 2015-11-18 富士通株式会社 ファイル同期方法、ファイル同期サーバ装置及びファイル同期プログラム
CN102999491B (zh) * 2011-09-08 2018-02-23 百度在线网络技术(北京)有限公司 一种用于实现用户设备间浏览器操作同步的方法与设备
US9160697B2 (en) 2012-01-01 2015-10-13 Qualcomm Incorporated Data delivery optimization
EP4220354A1 (en) 2012-06-06 2023-08-02 Huawei Device Co., Ltd. Application management method and terminal
CN103905498B (zh) * 2012-12-27 2018-05-18 鼎捷软件股份有限公司 服务信息管理方法及服务信息管理系统
CN103747008A (zh) * 2014-01-22 2014-04-23 李南南 一种具有加密功能的互联网存储设备及其技术
WO2016070374A1 (zh) * 2014-11-06 2016-05-12 北京安奇智联科技有限公司 移动终端和web终端之间互连及同步通讯信息的方法
US20170178247A1 (en) * 2015-12-17 2017-06-22 SpringAhead, Inc. Dynamic data normalization and duplicate analysis
CA3159276A1 (en) * 2018-04-10 2019-10-17 Huawei Technologies Co., Ltd. Point-to-point database synchronization over a transport protocol
CN110413418B (zh) * 2019-06-25 2022-04-05 北京三快在线科技有限公司 缓存同步装置及方法,缓存同步系统、电子设备

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2048306A1 (en) * 1990-10-02 1992-04-03 Steven P. Miller Distributed configuration profile for computing system
US5434994A (en) * 1994-05-23 1995-07-18 International Business Machines Corporation System and method for maintaining replicated data coherency in a data processing system
US5729735A (en) * 1995-02-08 1998-03-17 Meyering; Samuel C. Remote database file synchronizer
US5757669A (en) * 1995-05-31 1998-05-26 Netscape Communications Corporation Method and apparatus for workgroup information replication
CA2227432C (en) * 1995-07-20 2001-05-22 Novell, Inc. Transaction synchronization in a disconnectable computer and network
US5884323A (en) * 1995-10-13 1999-03-16 3Com Corporation Extendible method and apparatus for synchronizing files on two different computer systems
US5884324A (en) * 1996-07-23 1999-03-16 International Business Machines Corporation Agent for replicating data based on a client defined replication period
US5943676A (en) * 1996-11-13 1999-08-24 Puma Technology, Inc. Synchronization of recurring records in incompatible databases
US6044381A (en) * 1997-09-11 2000-03-28 Puma Technology, Inc. Using distributed history files in synchronizing databases
CN1141846C (zh) * 1997-05-09 2004-03-10 美国阿尔卡塔尔资源有限合伙公司 服务控制点的数据库迁移

Also Published As

Publication number Publication date
ES2297914T3 (es) 2008-05-01
EP1014266A2 (en) 2000-06-28
JP2000132444A (ja) 2000-05-12
CN1252565A (zh) 2000-05-10
EP1014266B1 (en) 2008-01-30
ATE385330T1 (de) 2008-02-15
DE69938077T2 (de) 2009-01-22
US6477543B1 (en) 2002-11-05
EP1014266A3 (en) 2007-04-11
JP3574017B2 (ja) 2004-10-06
TW474077B (en) 2002-01-21
DE69938077D1 (de) 2008-03-20
KR20000028677A (ko) 2000-05-25
KR100343823B1 (ko) 2002-07-19

Similar Documents

Publication Publication Date Title
CN1210656C (zh) 用于客户和自适应同步和转换服务器的方法、装置
US6061686A (en) Updating a copy of a remote document stored in a local computer system
CN1129083C (zh) 用于更新网络中远程数据库的系统和方法
US8307364B2 (en) Multi-threaded annotator for hypertext information
CN1298151C (zh) 用于获取网格中的状态信息的方法和设备
CN1117333C (zh) 在一个计算机网络中提供通信链路的数据通信系统和方法
EP2021937B1 (en) Techniques to perform gradual upgrades
CN1294512C (zh) 在服务器上预先高速缓存数据的方法和设备
CN1197027C (zh) 计算机网络的分布式宿主构架,网页供应和内容传送方法
CN1132109C (zh) 在一个分布式文件系统中高效高速缓存的系统与方法
CN1439134A (zh) 实现移动个人化计算环境系统的智能卡
US6883020B1 (en) Apparatus and method for filtering downloaded network sites
CN1298147A (zh) 向虚拟主机提供服务品质保证的技术
CN1681248A (zh) 服务器与客户端间传送用于数据同步的数据的方法与系统
EP1407379A2 (en) Method and apparatus to improve file management
US20030037097A1 (en) Accessing information content
EP1538808A1 (en) Methods and devices for the asynchronous delivery of digital data
CN1302417C (zh) 临时目录管理
CN1791105A (zh) 控制到客户机的数据传送及更新数据的执行的方法
JP4936628B2 (ja) ウェブページ用画像の動的選択
EP1454268A2 (en) Electronic file management
US7908345B2 (en) Method and device for access to a digital document in a communication network of the station to station type
JP2001005832A (ja) 情報処理装置および情報処理方法、並びに記録媒体
JP2007148605A (ja) ワークフロー情報管理装置、同方法及びプログラム
JP2001216186A (ja) サーバ・クライアントシステムおよびそのプログラム記録媒体

Legal Events

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

Owner name: ALIBABA GROUP HOLDING CO., LTD.

Free format text: FORMER OWNER: INTERNATIONAL BUSINESS MACHINES CORPORATION

Effective date: 20140227

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20140227

Address after: Grand Cayman, Cayman Islands

Patentee after: Alibaba Group Holding Co., Ltd.

Address before: American New York

Patentee before: International Business Machines Corp.

CX01 Expiry of patent term
CX01 Expiry of patent term

Granted publication date: 20050713