CN1405692A - 基于无线设备资料复制的同步方法及存储系统 - Google Patents

基于无线设备资料复制的同步方法及存储系统 Download PDF

Info

Publication number
CN1405692A
CN1405692A CN 02126661 CN02126661A CN1405692A CN 1405692 A CN1405692 A CN 1405692A CN 02126661 CN02126661 CN 02126661 CN 02126661 A CN02126661 A CN 02126661A CN 1405692 A CN1405692 A CN 1405692A
Authority
CN
China
Prior art keywords
data
information
server
filtrator
personal digital
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN 02126661
Other languages
English (en)
Other versions
CN1271536C (zh
Inventor
史晓斌
德波拉·B·林可维奇
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.)
Fujin Precision Industry Shenzhen Co Ltd
Hon Hai Precision Industry Co Ltd
Original Assignee
Motorized Power Network Technology Co ltd
Hongfujin Precision Industry Shenzhen Co Ltd
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 Motorized Power Network Technology Co ltd, Hongfujin Precision Industry Shenzhen Co Ltd filed Critical Motorized Power Network Technology Co ltd
Publication of CN1405692A publication Critical patent/CN1405692A/zh
Application granted granted Critical
Publication of CN1271536C publication Critical patent/CN1271536C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

一种提供给一处于移动式电脑设备中的本地数据存储器与一处于服务器中的远程数据存储器进行同步的方法。该同步方法是基于资料过滤器和移动式电脑设备的地理位置。当需要同步时,移动式电脑设备会传送对应于存储于服务器中的一资料过滤器的过滤器识别资料和移动式电脑设备的地理位置信息,当远程服务器接收到同步需求,服务器会产生一基于相应的资料过滤器和地理信息的响应。利用本发明,可以利用最低的通讯频宽而实现本地存储器与远程存储器的精确同步。

Description

基于无线设备资料复制的同步方法及存储系统
【技术领域】
本发明关于一种更新移动式电脑设备中的数据存储器的方法,尤指一种基于地理信息可选择性地更新数据存储器的方法。
【背景技术】
在电脑发明后不久,人们开始把它们连接起来。多个电脑之间的连接可以使稀有资源诸如打印机、内存设备等被共享。起初,电脑之间利用电缆进行连接,随着技术的发展,及人们对灵活性的需求增加,无线通讯方式出现并发展起来。初期的无线通讯技术涉及移动式设备与网络连接端口间的周期性连接,这些连接经由在移动式电脑和网络连接端口之间的线缆或红外线信号实现。该技术需要在移动式设备上连接一线缆到网络连接端口,或者在移动式设备上设置一红外线装置,其要求该红外线装置与网络连接端口上相应的红外线装置必须处在一定的范围内。基本上,早期的无线通讯技术能使移动式设备之间或与别的电脑之间在有限的物理范围内进行通讯。而在十九世纪,当电脑设备利用新兴的无线通讯网络(如逐渐出现的移动电话系统)来通讯后,上述使用范围的限制被逐渐解决。
到十九世纪后期,无线网络在全世界被广泛应用。移动式电脑设备可以在任何区域与远程电脑主机的信息储存设备或“资料服务器”进行通讯。例如,利用这些通讯网络,一销售人员使用装备有无线调制解调器的膝上型电脑,可以和其公司的中央库存和订单系统保持联系。另外,移动式设备如个人数字助理(Personal Digital Assistant,PDA)和精密的移动电话可以让用户连上汇聚了全世界资源的国际互联网。很多移动式设备亦能利用连上公共电话网络(Public Telephone Network,PTN)和/或国际互联网,彼此进行通讯。
利用目前的移动式电脑设备,用户可连接到电子邮件服务器、网站服务器、在线银行和其它的位于远程资料服务器的“后台”应用设备。诸多公司,认识到通过移动式设备连上他们自身的系统或服务器的潜在优势,希望利用提供给其工作人员或客户的远程通讯使用者界面和后台系统,把他们的业务扩展到无线世界上,最终提供其用户用移动式设备进行交易的能力。
当然,新的无线技术具有其自身的问题,例如,受限于自身的尺寸,很多移动式电脑设备只提供很小的区域用于输入,及提供很小的内存空间用于存储资料和运行应用软件。这些问题意味着,在移动式设备上进行输入是很困难的,且在移动式设备上运行的应用软件都是很小型的。另外还存在一些诸如对无线连接的维护费用高以及确保移动式设备上的资料一致、准确以及是否为最新等有关的问题。
当前解决在有限区域进行输入或输出的问题可以利用手写识别软件。然而,手写识别软件都很庞大,在移动式设备上使用则又涉及到内存不够的问题。另一解决方法是提供一小键盘,然而这种小键盘一般较难于使用。还有一种解决方法是采用屏幕图标及一指示笔,其中每一图标代表某一定义的动作;指示笔用于点选移动式设备显示屏上的特定图标,当该指示笔点选一特定图标,该图标对应的动作即开始执行。众多个人数字助理采用了这种图标/指示笔的方法,因为它似乎在输入的简易性和执行输入软件的需求之间提供了最好的平衡。
如上所述,多数移动式设备均只具备有限的内存容量,移动式设备的内存容量不仅限制了在移动式设备上执行的应用软件必须非常小,而且,还限制了所有与所述应用软件有关资料储存装置空间的大小。解决这种问题的一种方法是在另一第二电脑(如一资料服务器)中设置一数据库,并让移动式设备周期性地连接该第二电脑以进行同步。
当然,如果一特定的资料源,如一产品数据库,存储于一远程电脑上分享给多个用户使用,就会涉及到资料连续性或“资料同步”问题。资料同步是一过程,其确保在一数据库中的资料与另一数据库中相应的资料保持一致,以使该资料的任一用户均了解到其它用户对这些资料的任何变更。例如,如果一个公司在库存中有一个棒球,第一个销售人员卖出了这个棒球,第二个销售人员有必要了解到公司不再有棒球可供销售。为了让第二个销售人员知道库存的变更信息,至少需完成如下两项事情:(1)第一个销售人员必须更新服务器以反映棒球的最新数目;并且(2)资料必须能被第二个销售人员所使用,如果这些资料位于销售人员的移动式设备上,则必须对其进行更新以反映服务器上的变更信息。
在数据库连接同步过程中存在另一问题,即移动通讯常具有区域相关性或被间断性。一个用户可能不需时时与网络连接,或一个确定的连接可能会在传输过程中出人意料地被中断。而且,无线连接的费用一般较有线连接的高,如果某一用户需要持续连接,维持该连接的支出费用可能会超过由无线连接所产生的利润。
【发明内容】
本发明的主要目的在于提供一种对本地数据存储器和远程数据存储器进行同步的方法。
本发明的另一目的在于提供一种为移动式电脑设备提供定位信息的方法。
本发明的再一目的在于提供一种驻存于一移动式电脑设备及一远程服务器中的分布式资料存储系统。
本发明提供了一种把移动式电脑设备如个人数字助理、网络电话、便携式电脑或膝上型电脑等的本地数据存储器与一服务器上的远程数据存储器进行同步的方法。所揭示的实施例中同步是一种基于服务的定位技术(Location Based Service,LBS),例如,这些定位技术可基于移动式电脑设备的地理位置。LBS整合了软件与硬件技术,包括国际互联网、无线通讯、移动式电脑设备、位置测定和地理信息系统(Geographical InformationSystems,GIS)等的优点。
在本发明所揭示的技术中,远程数据存储器被组织进一域对象,域对象可简称为“域”。每个域均包含有对以属性形式呈现的资料对象的定义,其均包含有一数据类型和一个值。例如,一个帐户域包含至少一帐户对象,其包含的属性有诸如拥有者、帐户结余和税率信息等。其中,帐户结余属性是类型为“十进制”,值可能为“100.00”,代表着一百元。远程服务器亦维护有用户的信息,包括一对应于该移动式电脑设备的用户的用户ID和一组资料过滤器。每一资料过滤器均对应着某一特定域中的一个或数个资料对象域。
本地数据存储器需与远程数据存储器保持周期性地同步或一致。同步是基于资料过滤器进行的,在服务器中安装有一组资料过滤器,每一过滤器均对应一用户ID。因为用户可以更动设备,所以基于用户为主的同步方式会比基于某一特定移动式电脑设备为主的同步更具优势。开始进行同步时,移动式电脑设备会传送一同步需求信息给服务器,该同步需求信息包括一用户ID,一返回地址和资料过滤器清单。该清单用过滤器ID表示,其对应于用户所选择的用于同步的资料。在另外一种情况,同步需求信息可以包括一现行资料过滤器。
除了用户ID和过滤器清单外,移动式电脑设备还可传送地理信息,诸如一全球定位系统资料或与其最靠近的移动电话信号塔的相关信息。该地理信息亦可由特定位置的发射器所产生,例如安装于医院病房的小型发射器,即可传送医院病房位置信息。当远程服务器接收到同步需求信息,则该服务器会基于包含有同步需求信息的资料过滤器产生一同步响应信息。该同步响应信息包含有对应于同步需求信息所定义或包含的资料过滤器中资料对象的更动信息。另外,该服务器还进一步限制了同步响应信息中基于同步需求信息的地理信息的资料对象。举例来说,在第一个城市的用户可以从个人数字助理的本地数据存储器中获得存储于其中的该城市的旅店的相关信息,当该用户到达第二个城市时,其可传送一包含有关于旅店资料过滤器的同步需求信息给一远程服务器。则该远程服务器即会产生一包含有第二城市的旅店信息的同步响应信息并发送给该个人数字助理。该同步响应可以按某一有规律的时间进程生成,或当检测到个人数字助理的位置发生变化后生成。
在另一实施例中,该地理信息可以以航线指示的形式展现,其中用户可以有选择地输入下一地理位置。例如,医生在病房巡查病人时,其个人数字助理中存储有该病人的相关信息。另外,该医生可以指定下一步其要检查的病房,这样,当医生真正进入下一病房之前,该下一病房中的第二个病人的信息即会存入其个人数字助理中。故此,医生可以在第一病户到第二病房的走廊上浏览第二个病人的信息。
本发明所揭示的方法的技术实质,是以最低的通讯频宽和根据存储于本地数据存储器中关于该移动式电脑设备的位置信息将本地数据存储器与远程数据存储器进行同步。换句话说,以一特定的地理位置为对象的资料更新,不但节省了移动式电脑设备和远程服务器之间的频宽,而且节省了本地电脑设备的内存。
【附图说明】
图1是一通讯系统的方块图,包括两个典型的移动式电脑设备,其可用于实施本方法所揭示的实质内容。
图2是本发明基于无线设备资料复制的同步方法及存储系统的一典型个人数字助理示意图。
图3是本发明基于无线设备资料复制的同步方法及存储系统的一无线应用程序示例结构的方块图。
图4是本发明基于无线设备资料复制的同步方法及存储系统的服务器组件的方块图。
图5是在客户端的移动式电脑设备的数据管理过程流程图。
图6是图5中同步步骤的流程图。
图7是在一支持图5中客户端和移动式电脑设备的服务器的数据管理过程流程图。
图8是本发明基于无线设备资料复制的同步方法及存储系统的更新识别过程的流程图。
图9是图1及图2中个人数字助理的主页屏幕显示器示意图。
图10是图1及图2中个人数字助理的编辑过滤器屏幕显示器示意图。
图11是图1及图2中个人数字助理的最佳产品搜索屏幕显示器示意图。
图12是图1及图2中个人数字助理的另一产品搜索屏幕显示器示意图。
【具体实施方式】
如图1所示,其为一典型的通讯系统100的方块图,该系统100可支持本发明所揭露的方法。通讯塔105提供有多重无线通讯信道,比如与个人数字助理(PDA)101连接的通讯信道115以及与膝上型电脑103连接的通讯信道117。通讯系统100、个人数字助理101以及膝上型电脑103均为可支持本发明方法的典型移动式电脑系统和设备。为简便起见,一电脑设备,无论其是否为可移动,只要采用了无线通讯技术,我们均称它为“移动式电脑设备”。许多类型的移动式设备,包括已在使用的和即将被发明的,均包含于本发明的权利要求中。例如,当今使用的许多移动电话即可利用本发明的方法可使其对资料和国际互联网的访问更加便利。另一类可利用本发明所揭示方法的系统为无线电子证章以及用来与其通讯的发射机和接收器。
通讯塔105通过专用或公用的通讯信道119与服务器107相连。当然,对于熟知此项技艺的人士来说,通讯信道119可以是有线通讯,也可以是无线通讯。服务器107可实现本发明标的的部分内容,以下会对其作更为详细的说明。服务器107和局域网(LAN)121相连。局域网121又与电脑设备109及111相连,其可为服务器107及电脑设备109及111提供访问国际互联网113的信道。个人数字助理101以及膝上型电脑103也可经由局域网121、服务器107、通讯信道119以及通讯信道115或者117来访问国际互联网113。
通讯系统100仅为本发明的一实例,由该系统所衍生出的其它一些系统,甚至是不同类型的系统,也可以采用本发明的方法。例如,本发明的方法可以于局域网的资料服务器架构中实现。对于熟知此项技艺的人士来说,所揭露的方法可以方便地在任何通讯系统或其它类型存在着频宽和/或设备内存问题的系统内展开具有一定优势。本发明非仅限于采用无线通讯链路的系统;虽然在该领域本发明的便利性最容易体现出来。
图2是图1所示的个人数字助理101的示意图。个人数字助理101可以执行本发明所揭示的方法,其输入与输出分别由资料输入区205以及显示屏203提供。本实施例所述的资料输入区205为一小键盘,用户可以在上面键入信息。另外,显示屏203也提供有资料输入功能。显示在显示屏203上的小图标(图中未画出)代表着预先定义好的、个人数字助理101可以执行的动作。用户可利用指示笔207来点选显示屏203上的一个特定的图标从而开始相应的动作。排列于个人数字助理101底部的控制按钮209可以供用户设置不同的功能,比如音量和显示屏203的亮度等。在另一实施例中,资料输入区205可被程序化以使指示笔207可以在其上书写,然后利用个人数字助理101中的笔迹分析软件分析该笔迹以决定一合适的动作。
图3是一无线应用程序的示例架构的方块图,该应用程序库在客户端,如个人数字助理101以及如服务器107(如图1所示)之类的服务器上运行,并采用了本发明所揭示的技术。无线应用架构301包括有一无线资料复制器307以及一移动交换器309,并向诸如个人数字助理101之类的可移动式设备提供促进无线应用程序发展的服务。该无线应用架构301是基于标准建构,并可容易地成为设备、操作系统或独立的数据库。
移动交换器309为移动客户端和跨平台客户端提供实时的访问企业服务器或其它类型的服务器的通路。内存的动作和配置,诸如在服务器中所执行或配置的程序和对象,可以由一客户端无线设备所控制。在本实施例中,移动交换器309也是基于可扩展标示语言(XML)和超文件传输协议(HTTP),可扩展标示语言(XML)使设计者可以定义、传送、验证以及解释应用程序之间和组织之间的资料,超文件传输协议(HTTP)是国际互联网所运用的根本协议,其定义了信息采用何种格式化及如何传送,以及网络服务器或浏览器应该采用什么动作以响应一特定的需求。XML和HTTP均使用了一种流行的方式—远程过程调用(Remote Procedure Call,RPC),以利用网络在不同电脑中的单独程序之间实现进程间通讯(Inter-ProcessCommunication,IPC)。当然,RPC和IPC也可以在单独的电脑设备上被执行。所揭露的无线应用架构301提供简洁有效的环境,以发展在无线结构中运行的主从式应用程序。
无线应用架构301的客户端库提供如下用于关系型客户应用程序的功能:
(1)生成远程过程调用的内容(方法名称和参数);
(2)形成XML信息;
(3)利用HTTP协议将该XML信息传送至服务器;以及
(4)接收并解释来自于服务器的相应的响应。
无线应用架构301的服务器端库提供如下用于关系型客户应用程序的功能:
(1)接收并解释一客户端的请求信息,尤其是利用上述的客户端库所产生、形成以及传送的请求信息;
(2)根据客户端的请求信息所请求的特定RPC,搜索一适合的程序;
(3)调用该合适的程序;
(4)将该合适的响应发回至客户端。
本发明中的远程过程调用(RPC)支持无线环境中以下的数据类型:整数(4位);布尔函数;字符串;日期;双精度;base-64;数组;结构以及杂凑表(hash table)。
无线资料复制器307处理并管理无线设备中的资料,它使用户能够在无线设备中选择用户所需要的特定信息,并且仅复制所选择的信息,利用该方法以节省传输媒介中的频宽和无线设备中的内存资源。无线资料复制器307将系统数据库用作客户端资料缓存,并给每位用户提供一无线设备资料过滤器,或称用户化脚本(customizable scripts),用以说明特定用户选择存储在移动式设备上的信息。资料过滤器可以由特定的用户在该用户的移动式设备上定义,或者,由系统管理器或系统程序员来生成一公用数据过滤器(或称标准过滤器)的菜单,然后用户依其特定的环境和职责从该菜单上做简单的选择即可。标准过滤器也可以简单地模块化,这样用户就可选择并定制。资料过滤器和标准过滤器可以很简单,就如等式匹配游戏一样,也可以很复杂,就如运用了乘法规则的乘算表一样。
无线资料复制器307和移动交换器309提供有一平台,专用应用程序可以建构于其上。在本实施例中,专用应用程序包括有移动电子商务应用程序310、移动医院应用程序320、移动物流应用程序330以及移动金融应用程序340。该专用应用程序310、320、330和340都仅仅是作为例子。实际上,本发明所揭露的方法可以用来实现任何应用程序,这些应用程序可以利用移动式访问中心应用程序或数据库服务器来获得帮助。应用程序310、320、330和340都是本系统的应用程序组件303之一。
任何一个应用程序310、320、330和340都包括有应用程序产品305。在本实施例中,移动电子商务应用程序310的应用程序产品305包括有应用程序A1 311(APP A1)、应用程序A2 312(APP A2)和应用程序A3 313(APP A3)。移动医院应用程序320的应用程序产品305包括有应用程序B1 321(APP B1)和应用程序B2 322(APP B2)。移动物流应用程序330的应用程序产品305包括有应用程序C1 331(APP C1)、应用程序C2 332(APP C2)和应用程序C3 333(APP C3)。最后,移动金融应用程序340的应用程序产品305包括有应用程序D1 341(APP D1)、应用程序D2 342(APP D2)和应用程序D3 343(APP D3)。如应用程序组件303一样,应用程序产品305的特定构成对本发明而言并非是必要的,而仅仅是作为一个例子。例如,APP A1 311可以是一个移动销售力自动控制应用程序;APP B1321可以是一个移动病人管理系统;APP C1 331可以是一个移动传输管理系统;APP D1 341可以是一个移动银行业务应用程序。
图4是本发明的服务器组件的方块图。如下的流程是在图1所示的服务器107上执行并支持上述与图3结合起来所描述的服务器端库。Java服务引擎401执行透过其它流程访问到该引擎的软件、或Java applets和/或servlets。虽然本例所使用的是Java语言,但是本发明实际上可以用任何软件语言来实现。特定的语言对本发明的实质并不重要。在本实施例当中,这些组件均以Java servlets构成。Java servlets与applets类似,也是一些应用程序,或为软件代码的集合,其可扩展网络浏览器和Java服务引擎401的功能。这种方法可以减小生成不同的扩充以和不同的后端系统相连接的需求。Java服务引擎401可根据不同的后端系统负载新的servlets,而不必修改Java服务引擎401本身。这样,servlets只有在它被需要的第一时间才被安装,并且并非所有时间都会生成对特定后端系统过程的需求。
通讯管理器403控制进出移动式设备的信息,为方便以下的描述,该移动式设备设为个人数字助理101。通讯管理器403使服务器107和个人数字助理101之间保持基于传输控制协议(TCP)的联接。在联接的服务器107端,通讯管理器403接收个人数字助理101处的字符串流形式的远程过程调用,并解析该远程过程调用字符串流,将字符串流参数转换成数据结构,然后调用具有已转换的数据参数的合适的本地程序。由远程过程调用所生成的结果被存储于数据结构的输出参数中。
和通讯管理器403通讯连接的是一复制管理器405、一缓存管理器411以及一图表管理器407。复制管理器403控制客户端之间的双向资料同步,比如个人数字助理101和服务器107之间的资料同步。此外,复制管理器403提供端对端的传输交易控制,该传输交易控制可以检测并解决不同客户端之间的资料冲突。与复制管理器405连接在一起的是初级域管理器409,详述如下。
资料之间的冲突可以基于下述四类方法来解决。这四类方法是“最后所写”、“基于时间标示”、“基于值”以及“基于时间标示和值”,详述如下:
(1)在“最后所写”冲突解决方法中,写入数据库的最后的值会成为对象的值。这类方法适用于那些极不可能发生的情形,即多人希望更新同一份资料。这会产生一个问题,那就是如果前一次的修改是在离线状态下进行的,而且直到后一次修改进行以后才被复制,则该前一次的修改会覆盖后一次的修改。
(2)在“基于值”的方法中,如果个人数字助理101的“旧值”和服务器107的当前值相匹配的话,服务器107就接受修改。
(3)在“基于时间标示”方法中,如果修改的时间标示大于(时间上晚于)服务器107中对象的当前时间标示,修改就被接受。这种方法之前提是假设个人数字助理101的时钟与服务器的时钟同步。
(4)在“基于时间标示和值”的冲突解决方法中,由个人数字助理101所提供的修改时间标示必须晚于服务器07上的修改时间标示。此外,由个人数字助理101所提供的作为“旧值”的值必须和服务器107上的当前值相匹配。这些条件可以确保修改是最近的,而且在做出修改时,用户可以知道服务器107中对象的当前表示法。注意如果个人数字助理101的数据库和服务器107的数据库都能够操纵对象属性层(相较于对象层)中的时间标示,则在更新操作进行时,可以生成一多重请求以更新一特定的对象。
对那些没有被服务器107中的复制管理器405所解决的资料所作的未被接受的修改,会被存储起来供系统管理员检查。系统管理员可以根据caseby case来决定一特定的修改是否应该被接受。
在本实施例中,图表管理器407管理有两个图表,皆为XML格式。第一图表,或称主图表描述服务器107以及存储在数据存储器417中的主数据库的图表,以及该主数据库的图表之间的关系。当然,如同上述与图1结合所述的内容一样,主数据库和数据存储器417无需一定处于服务器107上,其可以处于电脑设备109和111之一或二者上,并能被服务器107透过网络121所访问。图表管理器407中之一第二图表描述个人数字助理101的数据结构。当资料从主数据库检索出来后,图表管理器407就从所检索的资料中提取信息,并将该提取的信息传送至通讯管理器403以传给个人数字助理101。图表管理器407还有一附加的次图表,用以从其它移动式设备,诸如膝上型电脑103中提取信息。
缓存管理器411在资料对象从主数据库中被提取出来前为其提供一缓存,以使来自个人数字助理101的复制资料请求更有效。缓存的目的和功能是为电脑领域内的人士所熟知的。
开放式数据库互连(Open Database Connectivity,ODBC)连接管理器413(以下简称为ODBC连接管理器413)和图表管理器407进行通讯连接。除了为熟知此项技术的人员所熟悉的连接池服务(connection pool services)和本文服务(context services)外,ODBC连接管理器413在数据访问管理器415和图表管理器407之间还预建了一套ODBC连接,以从ODBC连接获得并返回开放式连接,以及在停工时返回所有的资源。ODBC连接管理器413也处理连接失效和通讯失效的情形。
资料访问管理器415控制着对数据存储器417的访问。在本说明书中,数据存储器417是指“远程”的数据存储器,而个人数字助理101上的数据存储器是指“本地”数据存储器。“本地”及“远程”的指定仅为简便起见,数据存储器417也可以被称为本地数据存储器,而移动式电脑设备上的数据存储器也可以被称为远程数据存储器。对“本地”及“远程”的指定仅为基于这样一个事实,即两个数据存储器没有驻存于同一设备上。资料访问管理器415可以是任何商用的数据库管理系统,或者是用户构建的系统。资料访问管理器415的具体的细节对本发明的精神并不重要,而且也应当为熟知本项技术的人士所熟悉。
资料应按技术域进行编排以使资料的存储、收集以及分发降低对特定服务器程序,如数据库管理系统和其它所采用的系统的依赖。特定技术域包含有特定对象的定义,包括构成对象的单个的资料组件,或“属性”。每条属性均具有数据类型和一个或多个值。例如,一“账户”对象可以包含与银行账户有关的属性,比如所有者姓名和余额等。在一服务器中,一对象也可以是相关的资料的逻辑表示。每个对象都有唯一的识别符,或相应对象的唯一的密钥。当一特定的对象被更新时,所有与该对象有关的资料也会被更新。诸如移动电子商务应用程序310、移动医院应用程序320、移动物流应用程序330以及移动金融应用程序340(图3所示)之类的应用程序都有与其相对应的域集合。
例如,移动医院应用程序320可具有病人对象和医生对象,移动电子商务应用程序310可包含产品对象。特定的应用程序310、320、330或340的对象均置于域管理器中,如域管理器一421,域管理器二422,域管理器三423。由于不同类型的对象需要不同类型的操作,因此每一域管理器421~423都包含有一套客制化的功能或者商业逻辑,比如商业逻辑431、商业逻辑432和商业逻辑433等。域管理器421~423透过资料访问管理器415从数据存储器417中提取与各自对象有关的信息。每一域管理器421~423都是相关域内信息管理的控制点。诸如搜索、增加、更新和删除等操作均是透过域管理器来完成。商业逻辑431~433为客制化的域,以使每一特定域的处理过程能够进行。商业逻辑431~433也可以包含用于解决数据冲突的逻辑。
为了防止不必要的软件复制,所有域管理器421~423的公共功能都集中在初级域管理器409。初级域管理器409是一个基础对象,域管理器421~423可从它那里继承一些属性和方法。
图5是客户端移动式电脑设备如个人数字助理101上的数据管理程序500的流程图。该流程始于开始步骤501,紧接着即为交易初始化步骤503,在这一步骤中个人数字助理101的用户执行一些动作以处理资料。例如,使用个人数字助理101的销售人员可以从客户那里接收购买特定棒球的请求。个人数字助理101上的本地数据库被更新以显示棒球库存量的变化,该库存量由服务器107上的数据库表示。在本例中,上述个人数字助理101的本地数据库可以被服务器107上的中央数据库所同步,也可以不被该中央数据库所同步。当然,一旦该棒球的库存量被输入到该本地数据库,则该本地数据库和中央数据库就彼此不同步了。
在资料创建或更新步骤507中,程序500确定该交易是代表新的资料还是对已有资料的更新。新的资料可以是销售人员在输入新的客户信息时所生成的帐户对象。虽然不大可能,但是如果生成或接收的资料没有改变或产生本地数据库,或者如果资料被标以“没有存储”(下面会解释),则控制过程会从步骤507跳到结束步骤523,交易的处理过程就此结束。如果资料是新的或被更新,则转至当前连接步骤509。在此步骤中,程序500确定在个人数字助理101和服务器107之间是否具有一当前动态连接。如果没有,则转到插入同步序列步骤511,在该步骤,资料被置于个人数字助理101的存储区域,那些未决的交易均存储于此。此外,这些资料的状态被设为“陈旧”,以下会对此做更为详细的解释。如果该程序在步骤509确定个人数字助理101和服务器107在当前是连接着的,则流程会转到同步步骤513。
资料在步骤509被插入到同步序列和在步骤513的同步化均涉及到将资料格式化为适合传送的格式,比如生成远程过程调用的内容(方法的名称和参数),以及基于所生成的内容和在步骤503所生成或者接收的资料形成XML信息。为了实现正确有效的同步,程序500将下列资料状态之一分配到每个对象:
(1)新:这种状态指在个人数字助理101上已经生成但在服务器107中未存在的对象。适合于相应对象的“增加”对象操作,或者“方法”必须在下一同步过程中被传送至服务器。该新对象的一些属性比如唯一的对象密钥须由服务器107生成并回传给个人数字助理101,并确定服务器107中的增加操作是成功的。当然,如果增加的操作不成功,服务器107需要将此情形传送给个人数字助理101,这样,个人数字助理101就可以采取合适的动作。
(2)更新:一个对象的更新指自从上次同步后已经在本地个人数字助理101资料存储区被更新。在更新的同一时刻,该对象的更新值必须被传送到服务器107上。任何可能发生的冲突,如两个互不相识的销售员都试图销售同一产品时发生的冲突,都会在服务器107上通过复制管理器405解决(图4)。然后更新过的对象重新被传送到个人数字助理101以确保个人数字助理上的副本资料与服务器107上的一致。如果复制管理器405确定来自于个人数字助理101的对象因为数据冲突而无效时,传送到个人数字助理101的更新对象还必须简要说明该冲突事实。
(3)不能存储:被指定为“不能存储”的对象来自服务器107并保存到个人数字助理101上。如果有必要的话,该对象可以会被个人数字助理所遗弃。一个典型的例子是个人数字助理临时需要某数据项目,而其属性不能被修改。当环境改变时,个人数字助理101可以将对象状态从“不能存储”状态改为“可存储”状态。
(4)存储:被指定为“存储”的对象不管是在本地的还是在远程的资料存储区都被作为永久的一部分,并与至少一个包含在同步过程中的预先定义的资料过滤器相匹配,从而使其属性值被保留在一个同步状态。
(5)陈旧:被指定为“陈旧”的对象被保留在个人数字助理101上但不包括在同步过程中。个人数字助理101可以根据其自身需求及(或)该陈旧对象的自身特性来决定保留还是清除该指定为陈旧的对象。
(6)删除:被指定为“删除”的对象是指已经从个人数字助理101的资料存储区移除的对象,且在一个同步过程中该删除信息需被传送到服务器107中。客户可以从本地资料存储区移除该删除的对象,而只需在一个同步过程中传送该对象的唯一密钥至服务器,或者标注该对象为删除状态,而正如同步过程所要求的那样,只有当该对象从服务器107成功删除时才将其从本地资料存储区移除。
个人数字助理101特定对象的状态维持追踪的方式对于本发明的精神并不很重要。如果个人数字助理101将对象保存在一个关系数据库中,该对象的指定状态可以简单地作为表格中的一个属性值范围。另外一种可替代的保存该状态信息的方法是,通过将对象的不同状态隔离在不同的文件里。例如,一个“不能保存”的对象可以保存在一临时文件中,只有当该“不能保存”状态转换为“保存”状态时才被保存到资料存储区。
步骤509是向步骤511进行还是向步骤513进行取决于个人数字助理101是处于在线状态还是处于离线状态。如果个人数字助理101处于在线状态,则转向步骤513且在步骤509创建的XML信息被传送到服务器107上。如果个人数字助理101处于离线状态,则转向步骤511,在该步骤,XML信息被插入到一个同步步骤中。接着,再转回至步骤509,在该步骤,个人数字助理一直为待机状态,直到在其与服务器107之间建立一条连接。个人数字助理101周期地核查一个连接是否被建立,例如当连接周期为定期排程事件或数据传输被服务器107所初始化等;或者当个人数字助理101需要传送一条或多条信息,被设定为初始化一个连接时,核查建立连接的条件是否已经具备。如果当个人数字助理101在等待与服务器之间建立一个连接时,一个新的交易被初始化,程序500会像处理以前的交易一样将该新的交易放到同步队列中等待建立连接,以便能产生一个同步过程。
上述提到的同步周期可以是固定不变的也可以是可变的。一个同步排程可以通过个人数字助理101或服务器107上的用户接口(UI)来建立。用户亦可在个人数字助理101或服务器107上利用该用户接口来初始化一同步过程。如果在初始化一同步过程的同时,在个人数字助理101和服务器107之间还未建立连接,初始化同步过程的个人数字助理101和服务器107辨识出该状态,并将连接请求放进同步序列中,然后周期地测试两者之间的连接是否建立或建立连接的必要条件是否存在。两者之间的连接一旦建立,同步过程将继续,控制过程509将转向步骤513。
该同步过程需保持本地的资料副本与服务器107上的对应资料一致。本发明的同步是基于资料过滤器的,这些将在后面结合图9到图12进行详细论述。个人数字助理101上的资料对象副本,如本地或客户端资料,通过一系列的客户端/服务器端的交易,与服务器107上对应的资料对象,如服务器端资料达成同步。
同步步骤513始于个人数字助理101向服务器107发送一个同步请求对象时。该同步请求对象会压缩所有个人数字助理101需要提供给服务器107的资料,以便执行一个特定的同步动作,包括一时间标记、一可选择的过滤器、一可选择列表、或一需要同步的对象“矢量”或一同步对象,以及一个包括个人数字助理101当前的地理位置信息的可选的位置对象。在另一实施例中,该位置对象可以是一个既包括个人数字助理101的当前地理位置信息还包括其未来地理位置信息的矢量。
有六种同步行为或操作:一同步过滤操作,一获取删除操作,一获取创建操作,一发送修改操作,一发送创建操作及一发送删除操作。该六个操作在下面结合图6有详细描述。每一操作都带有两个参数,一同步请求对象和一第二字段,或“结果ID”,其用于表明对应于该同步请求对象,个人数字助理101希望从服务器107返回的信息。该结果ID设置有如下几种值:
(1)全部:该“全部”结果标记值意味着服务器107必须返回该操作有关的所有对象的ID及其状态值。该“全部”结果标记值应该慎用,应为其会导致个人数字助理101与服务器107之间的通讯量剧增。
(2)更新:该“更新”结果标记值意味着服务器107应该返回与该更新操作有关的所有对象的ID及其状态值。此外,当服务器107上的副本与个人数字助理101上不一致时,对象副本也应返回。
(3)ID:该“ID”结果标记值意味着服务器107应该返回与该操作有关的所有对象的ID及其状态值。另外需返回基于操作之类型的信息。
(4)失败:该“失败”结果标记值意味着服务器107仅仅返回操作过程中不能处理的对象的错误信息。
(5)无记载:该“无记载”结果标记值意味着个人数字助理101对于接受关于操作的任何信息都不关心,服务器107应处理整个请求,而仅仅将操作完成的信息传送给个人数字助理101。
对应于特定操作的结果ID将在图6进行详细描述。该同步请求时间ID指示某特定同步操作执行的最新时间。如果资料过滤器是指定的,服务器107即利用该资料过滤器来限定返回的资料范围或“同步结果对象”。
如果可选的位置对象包括在同步结果对象里,则返回资料范围也可以基于位置对象中的位置信息来设定。例如,位于一城市的个人数字助理101用户,其在该个人数字助理101的本地资料存储区存有该城市的餐馆相关信息,当该用户旅行到另外一城市时,一个同步结果对象将包含该异地城市的餐馆相关信息。该位置信息可以基于一公用系统,如全球定位系统(GPS)或移动电话塔或一私有系统,如传送装置置于一医院房间,而仅仅在一有限的区域内发送信息。该位置对象还可以包括未来位置信息。例如通过该传送装置,一医生可以指定将来的房间矢量,不仅可以将当前房间里的病人信息下载到其个人数字助理101上,还可以把该房间周围矢量范围内的的房间内的病人信息都下载到其个人数字助理101上。
每一同步对象矢量都包括一时间ID,一对象ID,一基础对象,一对象状态ID,一旧值对象及一可选的信息字段。在一特定行为里,并不是所有的这些同步对象都必须指定。
例如,在一个添加操作中,同步对象不需要指定该旧值对象;在一个删除操作中,只需要指定要删除的对象ID即可;而旧值对象只有在更新操作时才需要指定。该同步对象的时间ID表示某特定对象在服务器107上被更新或核实的时间。如果同步对象的时间ID在某特定同步对象中没有指定,则服务器107将同步请求时间ID作为该同步对象的时间ID。对象ID指定一基础对象在整个同步对象中的唯一身份标识ID。该状态ID和信息字段描述一作为操作结果的同步对象的状态,主要应用在同步结果对象中。
当服务器107完成同步对象中指定的动作时,其会将同步结果对象传送到个人数字助理101。该同步结果对象包括一个时间ID和一同步对象矢量。该同步结果时间ID表示响应的同步操作在服务器107上执行的时间。同步结果对象中的每一同步对象的时间ID表示与该同步对象对应的行为被执行的时间。特别是当同步结果里的所有同步对象都有相同的时间ID时,如果一个时间ID没有被指定,则可以用同步结果的时间ID来代替。
同步结果中的同步对象的状态字段表示该对象与对应的操作的关系,其设定有如下几种值:
(1)更新:更新状态表示服务器107上的副本与个人数字助理101上的副本不一致。该状态意味着另外一客户在服务器收到同步请求前已经更新了数据库中的资料对象,此时个人数字助理101必须采取一适当操作来解决该种冲突。
(2)成功:成功状态表示同步对象在服务器107上处理成功,在服务器107满足同步请求时不需要对同步对象做任何修改。
(3)失败:失败状态表示服务器107不能执行某特定同步对象的操作请求。在这种情况下,该信息字段包含一关于该失败状态的文本信息。
(4)相同:相同状态表示服务器107上的对应对象同步对象时间ID没有变动。
(5)新匹配:新匹配状态表示自从个人数字助理101最后一次发出请求的时间后,对应的同步对象中描述的对象对于服务器107或某特定请求来说是新的。
(6)不匹配:不匹配的状态意味着服务器107不能找到对应值对象,可能因为其已被删除或更改,以致于不再匹配同步请求对象提供的资料过滤器。
该状态字段及其对应的特定操作将会对照图6作详细描述。
一旦同步步骤513完成,程序500将继续到良好状态返回的步骤517,在该步骤,会通过分析服务器107的返回信息来核实同步步骤513中的对象信息,如果该返回状态值信息表示某特定的资料更新或创建操作成功,则控制模块517转向标示资料状态步骤519,在该步骤,表示存储在本地资料存储区的对象值被与存储在服务器107的存储区417的对象值相匹配。如果某特定项目的返回信息表示一更新或创建操作在服务器107上没有被执行,那么控制模块517转向重处理步骤521,在该步骤,对应的对象值被设定为与存储在服务器107的存储区417中的对象值相同。此外,任何在个人数字助理101上基于资料对象的更新或操作的行为必须被确定是否有必要采取更进一步的操作。
在步骤519和521完成之后,程序500进行到结束步骤523,在该步骤,程序500运行结束。需要注意的是,步骤517,519及521在本质上是反复迭代的。换句话来说,如果一个同步过程包括多个对象且这些对象都被处理形成一同步队列,对应于每一对象的返回信息都必须通过步骤517,519及521才能到达最后的结束步骤523。
图6为一对应于同步步骤513(图5)的典型同步程序600流程图。程序600始于开始步骤601,当同步请求操作如图5中所描述的那样被初始化的同时,该步骤被初始化。如下的每一个步骤都表示一个与同步请求对象一起传送的操作。程序600从步骤601进行到与获取删除操作相关联的获取删除步骤603。该获取删除操作重新找回从上一次获取删除操作被执行后已经从服务器107上所删除的所有对象。
对应于同步请求对象,该获取删除操作发送一时间ID和一可选择的对象ID列表至服务器107。一般来讲,对应于该获取删除操作没有对应的资料过滤器。但是,如果某特定的服务器107执行一两步过程:删除和销毁,那么一个资料过滤器可以被发送。该获取删除操作的时间ID应被设定为个人数字助理101最近一次发送获取删除操作的时间(如果某给定的资料过滤器已经被发送)。如果该可选的ID列表与该获取删除操作一起被发送至服务器107,则该服务器107将同步结果对象回传至个人数字助理101,正如上述在图5的描述一样。该同步结果对象包含对象状态,包括已删除的和未删除的对象,连同列表上的对象ID。如果一个资料过滤器被发送,则仅仅只有符合该资料过滤器的对象状态被发送。否则,服务器107将回传一个包含自上一次同步后被删除的所有对象ID列表的同步结果对象。该同步结果对象的时间ID被保存在个人数字助理101上并被作为下一次同步请求对象的时间ID。个人数字助理101将返回的ID列表与其上保存的对象做比较,并据此更新其本地数据库。
如果该同步结果对象的结果标记值被指定为全部,则服务器107返回自上一次获取删除操作后被删除的所有对象的ID。如果提供有一ID列表,则该同步结果还将包含列表上每一ID的状态。“不匹配”状态表示该对应的对象在服务器107上不再存在。“更新”状态表示该对应的对象存在于该服务器上,但已经在该获取删除操作时间后被更新。在这种情形下,该更新过的对象副本也被返回至个人数字助理101。
更新、失败及无记载的结果标记值不适用于该操作。“ID”结果标记值会致使服务器107返回自上一次执行获取删除操作后被删除的所有对象ID。如果提供有一ID列表,则该服务器还将返回列表上每一ID的状态。在这种情形下,该结果状态不是匹配就是不匹配,且更新后的对象副本也不用返回。
接着步骤603进行到发送删除步骤605,在该步骤,个人数字助理101经由传送该同步请求对象中的发送删除对象,其包括被删除对象的对象ID,来向服务器107汇报在个人数字助理101本地数据库被删除的对象。服务器107据此更新服务器数据库并回复给服务器个人数字助理101,说明已经从服务器107的资料存储区417成功删除的对象。
完成发送删除步骤605后,程序600继续到获取创建步骤607。在该获取创建步骤607,个人数字助理101发送一时间ID和一可选的资料过滤器至服务器107。如果资料过滤器没有指定,则个人数字助理101找回自上一次执行获取创建步骤后在服务器107上所创建的所有资料对象。如果在同步请求对象中指定了资料过滤器,则仅仅返回该时间ID后新创建的符合该资料过滤器的新对象。在该操作中,不返回对象ID。服务器107回复一组同步对象矢量,每一对象均表示一新创建的基础对象。该返回对象的状态值为“新匹配”,且其时间ID对应于该对象在服务器107上创建的时间。
同步请求对象中的结果ID值为全部ID时,服务器107返回所有创建的对象;结果标记值为ID时,服务器107返回所创建对象的ID,但不返回对象本身的副本。结果标记值更新,失败及无记载不适用于该操作。
完成获取创建步骤607后,程序进行到发送创建步骤609,在该步骤,个人数字助理101通过在本地资料存储区搜索状态值为“新”的对象来创建一在本地资料存储区所创建的最新对象列表。该新对象随同上次发送创建操作执行的时间ID一起被发送至服务器107。该时间ID信息被复制管理器405用来探测及解决任何潜在的资料冲突,且在可能的情况下添加物件至服务器107的数据库。在该发送创建操作,没有指定资料过滤器,且个人数字助理101在请求中为每一对象创建一临时ID或ID密钥,用来将该对象与服务器107回复的同步结果对象中的对象ID相关联。
一旦服务器107接收到来自个人数字助理101的同步请求对象,服务器107产生相应的同步结果对象,指明在服务器107上所重新创建的新对象。该同步结果对象包括一基础对象,其可能与个人数字助理101所发送的新对象不尽相同。如果同步请求对象中的结果标记值设为“全部”,则该同步对象包括包含在该发送创建操作中的全部对象及其子对象。其包括有显示该操作后新增的对象、在该发送创建过程中更新的新增对象及不能添加物件的失败结果等基础对象。该全部结果标记值是同时返回该对象及其成功状态值的唯一设定值。该成功状态值意味着该对象没有任何变动地被添加到服务器107的数据库中。如果该结果标记值设定为“更新”,则返回对象ID及其成功状态值,但不返回对象本身。如果该添加物件的状态为更新,则对象ID,状态值及对象副本被返回。一般地,这种情形意味着有多个字段没有在原始请求中做描述,但需要由服务器107来设定。在这种情形下,对象ID由服务器107设定,且包含在返回信息字段里。如果对于某特定对象添加失败,则该失败状态值、信息字段中的错误信息及原始对象被返回至个人数字助理101。
如果同步请求中的结果标记值设定为“ID”,则该同步结果对象仅仅包括服务器创建的对象ID及所发送的所有对象的状态--没有任何对象被返回至个人数字助理101。如果该结果标记值设定为“失败”,则该同步结果对象仅仅包含临时ID、对象状态及失败的原因信息。如果该结果标记值设定为“无记载”,则关于操作成功或失败与否的任何信息都不返回至个人数字助理101。
如果该结果标记值设定为“全部”或“更新”,则客户端应依据同步结果对象中的结果来更新其本地资料存储区。如果该结果标记值设定为“失败”或“无记载”,则个人数字助理101应采取相应步骤以确保本地信息的正确性。如果该同步结果对象返回的状态值为“失败”,则个人数字助理101应采取相应步骤去修正该问题,有可能还需要再次进行相应的操作。一旦确认该发送创建操作在服务器107上已完成,正如在相应的同步结果对象中所指明的那样,原始对象从本地资料存储区被删除。如果一新创建对象符合一过滤器,则起将会在下一个同步过程中被重新创建。这样能确保个人数字助理101对该对象有一正确的表述。在某些情况下,服务器107将在将该对象添加至数据库之前填充缺省字段或更新新对象。
如果个人数字助理101不能决定服务器107是否已完成一添加操作,则个人数字助理101不知道是否所有的添加请求是否被服务器107所接收和(或)处理。在个人数字助理101再次与服务器107连接时,其将试图去确定先前的添加操作是否成功。如果该信息仍然不能确定,则个人数字助理101,或更精确地说是执行该操作的移动电子商务应用程序310将提示用户再次提交该添加请求或从本地资料存储区移除该操作请求。
一旦该发送创建步骤609完成,则程序将继续到发送更新步骤611,在该步骤,个人数字助理101将自上次执行发送创建操作后在本地资料存储区有变动的对象信息发送到服务器107。个人数字助理101利用上次发送创建操作的时间ID来填充同步请求对象中的时间ID字段,同时其还发送一组同步基础对象矢量。
对于在本地数据库存储区有变动的每一对象,个人数字助理101创建一同步基础对象。该同步基础包含同步基础对象中所表述的某次特定变更的时间ID。ID字段用该特定对象的唯一身份标识来填充。个人数字助理101还提交一更新的基础对象于同步对象中的基础对象字段中。只有有变动的值才会被表述。旧值被放置在另一基础对象中,包括旧值及属性等,不包括更新过的值。唯一需要被表述的值为在更新过的基础对象中所列示的属性的原始值。例如,如果一个对象值变更,则其原始值应放置在旧值对象中,而其新值则被放置在更新的基础对象中。该同步基础对象中的ID字段为变更的目标对象唯一的可靠标识。
下面描述的是由服务器107的返回信息,该信息是基于一为发送创建操作而设置的特定结果ID。
如果结果ID值设定为“全部”,服务器107则传回所有已被成功更新对象的ID和一错误信息,该错误信息显示没有被更新的对象。在完成所有的更新操作后所有对象的当前值会被传给客户端。
如果结果ID值设定为“更新”,服务器107则传回符合要求的每一对象的状态。那些已被更新对象的信息将不会传回。对于没有被成功更新的对象,传回的信息包括已更新对象的ID、该对象被存储于服务器107的状态和当前版本。个人数字助理101能用这些对象的当前值更新其本地的资料存储区。
如果结果ID值设定为“ID”,服务器107则传回所有符合要求对象的ID和状态。无对象传回至个人数字助理101。
如果结果ID值设定为“失败”,服务器107传回的结果将仅包括不能在服务器107上更新的对象的ID、状态和失败信息。服务器107不会传回该对象的当前版本。
如果结果ID值设定为“无记载”,服务器107不会传送有关更新成功与否的任何信息给个人数字助理。
在执行发送更新步骤611后,程序进行至一同步过滤步骤613,在该步骤使用者可选择保存一资料过滤器以供后续使用。该资料过滤器存储于个人数字助理101在本地的资料存储区的过滤器列表中。服务器107也可以保存资料过滤器,并为每一资料过滤器设一使用者ID和资料过滤器ID,以便在同步过程中个人数字助理101只需发送资料过滤器的ID即可,而非实际的资料过滤器。如果被保存的过滤器正在本地运行,除了资料过滤器的查询字符串、过滤器名称和该资料过滤器是否要同步外不会存储其它的信息。如果该资料过滤器是在服务器107上运行,被传回的ID清单也会与数据过滤器一起保存。
资料过滤器的同步操作即可成批进行,也可一次只执行一个。对于每一资料过滤器,个人数字助理101,或者更准确的说执行该资料过滤器的电子商务应用程序310提供一与上次执行同步操作时使用的数据过滤器相匹配的ID清单。个人数字助理101传送同步请求对象的矢量至服务器107。每一同步请求对象均包含一查询字符串和一同步对象的矢量。在每一同步对象内,由个人数字助理101填写该对象的ID和时间ID。
服务器107则传回同步结果对象的矢量。该矢量将含有对应于每一同步请求对象的一同步结果对象。每一同步结果对象将包含一被执行过的资料过滤器,显示该过滤器执行时间的ID和同步对象的矢量。每一同步对象均有一字段用下述四种状态描述其在结果信息中的存在方式。
如果一同步对象被标为“相同”,则该对象的ID已包含在请求信息ID内。换句话说,个人数字助理101已经知道该对象匹配的过滤器。而且,该对象自同步请求对象内的时间ID显示的时间以来尚未被更新过。所以个人数字助理101不需要对本地资料器存储做任何更动。服务器107可选择不传送该对象至个人数字助理101以减少网络上的通讯量。如果该对象的ID没有包含在结果信息内,个人数字助理仍可假定该对象与过滤器匹配并且未发生变动。随后,个人数字助理101将该对象在本地的副本上的时间ID更新为同步结果对象内提供的时间ID。时间ID被更新后,应保存该对象在本地的副本的状态,而不论其先前状态如何。遗漏的ID则留在与该过滤器相匹配的ID清单内。
如果该同步对象被标为“新匹配”,则同步请求对象内列明的已知ID中没有该对象的ID。即该对象与前一次被执行同步操作的过滤器不相匹配。在这种情形下,整个对象被传回至个人数字助理101。个人数字助理101将其存入本地存储区,同时将时间ID更新为同步请求对象内提供的时间ID。在个人数字助理101的资料存储区该对象的状态被设为“保存”,该对象的ID也添加至与过滤器相匹配的ID本地清单。
如果同步对象的状态为“更新”,其对应ID则在同步请求对象发送之前次结果信息内。但是自同步请求内提供的对象的时间ID显示的时间以来,该对象已被更新过。整个对象被传至个人数字助理101。个人数字助理101将其保存至本地资料存储区,同时将时间ID更新为同步请求对象内提供的时间ID。在个人数字助理101的资料存储区该对象的本地状态被设为“保存”,该对象的ID也被保留在与过滤器相匹配的ID清单内。
在与先前的特定过滤器相匹配的同步请求内,发送的同步对象状态为“不匹配”。但是该对象已经被更新或删除,所以不再与相应的查询字符串相匹配。个人数字助理101则在本地资料存储区将该对象状态设为“陈旧”,并将该对象的ID从与过滤器相匹配的ID清单中移除。如果本地资料存储区内并没有该对象,那么个人数字助理仅将该对象的ID从ID清单中移除。
个人数字助理101保存每一被执行同步操作的资料过滤器,以及表明该过滤器上一次被执行的时间的时间ID,每一次该过滤器被执行时与的匹配的ID清单。
除同步过滤请求外,个人数字助理101也提供指示传回信息的数量的结果ID。下面列出的即是个人数字助理101基于该ID可得到的结果。
如果结果ID的值为“全部”,服务器则传回与资料过滤器内的查询字符串相匹配的所有对象。该对象的状态会添加进去,然后传回整个对象。如果某一ID不再与过滤器相匹配,该对象则被设为“不匹配”,该对象的ID被传回。此时,没有对象传回个人数字助理101。
如果结果ID的值为“更新”,服务器107则传回与资料过滤器相匹配的所有对象的ID,而不是整个对象,因为这些对象的状态为“相同”。被传回的是被标为“更新”或“新匹配”的对象。同时,服务器107也指出不再与过滤器匹配的对象,将其状态设为“不匹配”。
如果结果ID的值为“ID”,服务器107则传回被标为“更新”或“新匹配”的对象,同时指出不再与过滤器匹配的对象,将其状态设为“不匹配”。对于任何标为“相同”的对象,服务器107不会传回其ID或对象。
如果结果ID设为失败或未记载,则不执行本步骤。
完成同步过滤步骤613后,同步程序600即进行至步骤615,至此整个同步程序结束。尽管图6的同步程序600不是一串连续的步骤,但这并不是本发明主题所必需的。举例来说,所有的步骤可结合成一单一的同步请求对象,由服务器107按照图6揭示的次序或其它次序依次执行不同的操作。
图7是在支持个人数字助理101的服务器107上运行的数据管理程序700的流程图。该程序始于一开始步骤701,并直接进行至一资料接收步骤703。比较典型的例子是,步骤703与一同步步骤513(图5)相连接。从步骤703到一新资料步骤705后,数据管理程序700判断在步骤703收到的资料对象的状态值是否为“新”(如图5所述)。如果该资料是新的,程序即转入一插入资料步骤707,由资料撷取管理器(图4)创建一新资料对象并将其插入数据存储器417(图4)的合适位置。随后程序进行至传送状态步骤715,在该步骤生成一传回信息,通知传送资料对象的个人数字助理101资料创建操作的结果。
如果在步骤705,数据管理程序700确定该资料对象不是新的,而是被传送它的个人数字助理101指定为“更新”的对象,那么程序即进行至核对时间ID步骤709,由程序700比对被传送来的资料对象的时间ID和存储的相应对象的时间ID。如果存储的资料对象比传送的资料对象新,那么该存储的对象不会被更新,程序直接跳至传送状态步骤715,发送一传回信息通知个人数字助理101该更新操作失败。如果在步骤711,程序确定传送的资料对象上的时间ID晚于该存储的对象上的时间ID,那么程序转入资料同步步骤713,用传来的对象取代存储的对象。随后,在传送状态步骤715,发送一传回信息通知个人数字助理101资料更新成功。需要注意的是,上述程序是不断重复的,因为个人数字助理101传送给服务器107的资料对象可以不只一个,而每一传送的资料对象需在一个同步操作完成前由程序700处理。
图8是在服务器107(图1)上执行的更新通知程序800的流程图。程序800始于一开始步骤801,然后直接到一初始化交易步骤803,在远程数据存储器417(图4)一些针对资料的操作已经完成。在本较佳实施例中,该操作可以是更新、添加或删除,只要与个人数字助理器101(图1)的使用者的ID相连的资料过滤器相符即可。每一对操作/资料过滤器都有一加权值、一临界值,或者一累积加权值(另一较佳实施例)。在某些情形下,该加权值和临界值可能相同。交易在步骤803被执行后,在检索加权值步骤805,程序将该操作以及该操作的目标值与服务器107上的资料过滤器清单进行比对。如果该操作与某一资料过滤器相符,那么就会检索到那一对操作/资料过滤器所对应的加权值。在累积加权值实施例中,还会检索到一个累积加权值。累积加权值是某一对操作/资料过滤器在程序800先前的多次反复操作中得到的各加权值的累加数。随后,程序进行到步骤807,比较加权值是否超过临界值。在累积加权值实施例中,则是将一对操作/资料过滤器的累积加权值与临界值相比对。
如果加权值或者是累积加权值没有超过临界值,程序即转入重算加权值步骤815,在累积加权值实施例中,则是直接跳至结束步骤817。在结束步骤815,该特定操作的处理程序完成。在重算加权值步骤815,将在步骤805检索到的加权值加到累积加权值上,然后将新的累积加权值存入数据存储器417,取代旧累积加权值。最后,程序转入结束步骤815。
在步骤807,如果加权值或是累积加权值超过了临界值,则程序转入传送信息步骤809。在步骤809,发送一通知信息至个人数字助理101,要求或建议其更新本地数据存储器。该通知信息是利用短讯服务(short messagingservice,SMS)从服务器107传送到个人数字助理101上的。SMS是寻呼型服务,为熟知该项技艺的人士所熟知。它仅是实施本发明所使用的一种传送媒介而已。每一SMS信息均包含一资料域名、需要执行的特定资料过滤器的名称或ID、需要执行的操作之类型以及该操作是否要立即执行。如果一SMS信息标有“立即”,则个人数字助理101可能需要建立一通讯联机以便立即执行同步操作。如果该SMS信息没有标上“立即”,则个人数字助理101既可立即执行同步操作,也可等待安排的下一同步时间段,或是将该信息存入一使用者日历,通知有同步本地数据存储器需求的使用者。
完成步骤809后,程序转入接收确认步骤811,步骤811是一个可选择的步骤,因而在图中用虚现表示。如果程序800在步骤809发出SMS信息后需要得到对方的确认,该确认信息可采用SMS信息的形式,从个人数字助理101传送至服务器107,或是采用同步请求的形式,该同步请求与通知信息中指定的资料过滤器相符。如果确认信息没有被服务器107上的程序800收到,程序将回到步骤809,重新发送通知信息。如果在步骤811收到了确认信息或是在步骤809没要求发送确认信息,程序即转到清除加权值步骤813,重设累积加权值(如果有的话)。最后,程序进行至结束步骤817,在步骤801初始化的交易执行结束。
图9是在个人数字助理101(图1和图2)的显示屏203(图2)上显示的一典型的主页901。使用者一执行实施本发明的应用程序该主页901即显示在屏幕上。如图3中解释的那样,该应用程序可以是移动电子商务应用程序310,移动医院应用程序320,移动物流应用程序330,移动金融应用程序340。为方便图9~12的描述,仅以移动电子商务应用程序310为例。
在主页901的最上端是一标题栏903,包含的内容有:一标题“主页面”、当前时间“11:25a”。标题栏903下面是一信息905,“欢迎”,该信息可依情况而变。信息905下面则是几个屏幕图标,它们分别是一目录图标907,一订单图标908,一帐户图标909,一同步图标910。每一屏幕图标(907~910)都代表者电子商务应用程序310的某一特定功能。使用者用指示笔207(图2)点击任一图标即可执行电子商务应用程序310的相应功能。具体而言,目录图标907透过执行个人数字助理101上的软件使得使用者可以浏览一产品档案中的产品目录,甚至可以做某些修改;订单图标908可使使用者发出采购订单,或是对订单作一些修改;帐户图标909能使使用者浏览或修改其帐号;同步图标910可使使用者定义、重新定义或改变其同步过滤器。图9~12的例子即是关于目录图标907和在电子商务应用程序中与一产品目录相对应的产品档案或数据库的。
在屏幕图标907~910下面是一状态区913,包括“帐号”、“订单”、“目录”、“同步”等四个选择键,与屏幕图标909、908、907、910一一对应。使用者用指示笔选择某一个键即可运行相应的软件,该软件与通过屏幕图标运行的软件相同。除了对应于屏幕图标的四个选择键外,状态区913还包含一“档案”键,该档案键的功能与Microsoft Word等程序中的相似,使用者透过此键可执行开启、关闭、保存文档等操作。此外,状态区913还包括几个状态图标:一电脑图标915,表明个人数字助理101是否与一远程服务器107(图1)相连;一指示笔图标917,表明个人数字助理101的指示笔207是否处于可用状态;一翻上页图标919,使用者用指示笔207点击该图标(一向上的箭头)即可翻动主页901。翻上页图标919适用于主页901不能一次在显示屏203内全部显示的情形。当然,图标919也可以是一个向下的箭头,或者是既有一个向下的箭头,又有一个向上的箭头,这取决于主页901的大小和主页901在显示屏203上的相对位置。
图10是电子商务应用程序310(图3)的编辑过滤器页面1001显示于个人数字助理101(图1,图2)的显示屏203(图2)上的示意图。使用者用指示笔207点击同步图标910(图9)或是在状态区913内的同步选择键显示的菜单中选择相应功能,编辑过滤器页面1001即会显示在显示屏203上。与主页901相似(图9),页面1001包含一标题栏1003,其含有标题“编辑过滤器”、当前时间“4:54p”。页面1001也含有一状态区1013和状态图标1015、1017、1019,其功能与状态区913和状态图标915、917、919(图9)相似。
页面1001还有一缩放图标1021,其能放大或缩小页面1001的尺寸;一取消图标1023,其能结束正在运行的程序,回到前一页面,如主页901。当然,和图9~12中的其它图标、箭头、菜单一样,缩放图标1021和取消图标1023也是用指示笔207来点选的。尽管使用何种用户接口对于本发明精神来说并不重要,但是下面几图都要用到指示笔207和显示屏201。
编辑过滤器页面1001还有几个区域,其能使用户指定资料过滤器。例如,用户在名称区1005输入资料过滤器名“全部产品”后,如果该“全部产品”过滤器已经存在,电子商务应用程序310即搜索出该过滤器上的信息,如果该“全部产品”过滤器不存在,电子商务应用程序310会使其创建一个新资料过滤器。一同步区1007可使用户选定是否将相应的资料过滤器包括在个人数字助理101的同步程序中。在本例中,全部产品资料过滤器并未包含在同步程序中,因为同步区1007没有标记。如果一资料过滤器所对应的数据库不经常的变动,该资料过滤器可以不包含在同步程序中。但是某些资料过滤器如订单资料过滤器(图中未标示),则需要同步,因为用户或者是销售人员需要随时了解公司库存发生的变动。
上次同步区1009显示的是日期“5/25/01”和时间“4:38:40PM”,表明全部产品资料过滤器上一次同步的日期和时间。搜索字符串1011则显示一实际对应的资料过滤器,其用熟悉本技艺的人士能够辨认的语法表示。在本例中,资料过滤器指定全部产品资料过滤器搜索产品数据库中的所有纪录,即用“PrName”表示产品数据库中的某一属性,用“=”表示搜索并显示等于*的纪录。由于*是一通用符号,所以该资料过滤器会显示产品数据库中的全部纪录。
可以用Backus Naur Form(BNF)符号来表示数据过滤器或查询字符串,其符号具体说明如下。
filter=“(“filtercomp”)”
filtercomp=and or simpleFilter
and=“&”filterlist
or=“  ”filterlist
filterlist=1*filter
simpleFilter=attributeName filtertype value
filtertype=“==”“>=”“<=”“!=”
属性名是文数型的,与产品数据库或档案中的一栏相对应。二进制不会在数据过滤器中使用,即,一个数据过滤器不能译成两个JPEG图像。对于某一属性,某一个值可符合任何允许的登录,如一个篮球的价格可以是任何数值;一个产品的名称则可以是一名词,如“baseball”。
图11是移动电子商务应用程序310的搜索产品页面1101显示于个人数字助理101(图1、图2)的显示屏203(图2)上的示意图。页面1101是一登录页面,利用此页面使用者或销售人员用显示屏203和指示笔201可定义或修改资料过滤器。与主页901(图9)和编辑过滤器页面1001(图10)类似,页面1101也包括一标题栏1103,其含有页面名称“查询产品”和当前时间“11:38a”;一状态区1113;三个状态图标1115、1117和1119。所有这些与图9和图10的标题栏、状态区、状态图标具有相似的功能。在标题栏1103的下面,页面1101有一执行图标1105和一高级过滤图标1121。当用户点选执行图标1105时,一对应于显示于显示屏幕1101上信息的当前资料过滤器即被建立。在本例中,该当前资料过滤器和上文图10所描述的一样,即“PrName==*”。当用户用指示笔203点选高级图标1121,既有的显示屏幕1101即会被另一搜索产品显示屏幕1201所替换,其会在后述的图12中进行说明,该显示屏幕1201可让用户建立及更改更为复杂和高级的资料过滤器。
显示屏幕包括一搜索范围1125,用户可在该区输入一特定属性的名称格式,例如,产品文档。当利用指示笔207点选搜索范围1125边缘倒三角形,则即会显示一下拉列表,可使用户从产品文档或数据库表中选择一属性。搜索值区1127可以让用户输入一个值,该值可用于其将要定义或创建资料过滤器中。在本例中,该值为“*”,其是一通配符,与文档中任何值相匹配。故,产品文档中的所有记录均会被返回。另一例子是在搜索值区输入一“baseball”,则资料过滤器会把产品文档中所有名称中包含有“baseball”的条目返回。如果用户输入“base*”,则资料过滤器即会返回产品文档中如“baseballs”或“baseball bats”等全部记录。两个运算符区1107能使用户定义其所期望的搜索范围1125与搜索值区之间的关系。在本例中,两个运算符区1107选项中,只能选择其中一个,即'=′或′!=′。′=′运算符1107表示用户希望资料过滤器返回产品中所有属性为搜索范围1125所输入的,且与搜索值区1127中所输入的值相匹配的条目。如果用户选择′!=′,则用户希望资料过滤器返回产品中所有属性为搜索范围1125所输入的,且与搜索值区1127中所输入的值不匹配的条目。
一显示值核对块1109可以让用户指定一“模糊”查询,换句话说,对在搜索范围1125中所输入的查询条件的查询不像在搜索值区1127那样精确匹配。资料过滤器会返回在产品中所有与的接近的资料。一匹配图标1111提供了与显示值核对块1109相似的功能,只不过其能使用户执行资料过波器并立刻能观看结果。一取消按纽1123,其能忽略当前的资料过滤器定义或创建过程,并把显示屏203返回至显示屏先前所显示的状态。
图12揭示了另一实施例的在个人数字助理101的显示屏203上出现的搜索产品显示屏幕1201。与搜索产品显示屏幕1101相似,搜索产品显示屏幕1201为一输入屏,其可使用户或销售人员利用显示屏203和指示笔207定义或更改资料过滤器。然而,与搜索产品显示屏幕1101只能让用户定义或更改一简单资料过滤器不同,搜索产品显示屏幕1201可让用户定义或更改更高级或更复杂的资料过滤器,与显示屏幕901、1001及1101一样,搜索产品显示屏幕1201亦包括:一标题栏1203,其上写有该显示屏幕的名称“搜索产品”,及当前时间“11:38a”;一状态区1213;及状态图标1215、1217及1219,这些标题栏、状态区及状态图标均与图9、图10及图11中相应的标题栏、状态区及状态图标具有相似的功能。与搜索产品显示屏幕1101相似,显示屏幕1201包括一匹配图标1211及一取消按纽1223,他们的功能分别与图11中的匹配图标1111及取消按纽1123相似。
在标题栏1203下面,显示屏幕1201包括两个图标,即执行图标1205和简单过滤图标1221。当用指示笔执行图标1205,一对应于显示盒1235所显示的信息,或本例中的“(&(PrName==*Base*)(PrRetailPrice>=5.00))”的当前资料过滤器被执行。当前资料过滤器即会返回产品数据库中所有名称中包含有“Base”且价格大于或等于5.00元的产品条目信息。例如会在个人数字助理101中显示价格在5.00元以上的baseballs,baseball mitts及baseball gloves等产品条目信息。这些资料过滤器的方法和语法在以前的技术中为众人所周知。该显示盒1235的一优势为具有一上拉箭头和一下拉箭头,当用户利用指示笔207这些箭头,在显示盒1235中即能卷出由于太大而处于显示盒1235边界的外的信息。当用户利用指示笔207简单过滤图标1221,个人数字助理101即会在显示屏203上显示搜索产品显示屏幕1101。
与搜索产品显示屏幕1101相似,显示屏幕1201可能让用户输入一资料过滤器,但其较显示屏幕1101中更为复杂。搜索范围1225可让用户选择产品数据库中的多种属性,每次选一种属性。搜索值区1227可使用户输入一价格或其它适当值以完成对数据库的查询。在上述显示屏幕1101中只提供了两个运算符域选择,而显示屏幕1201却代的以四个运算符域选择1207,一“=”运算符,表示等于;一“!=”运算符,表示不等于;一“>=”运算符,表示大于或等于;一“<=”运算符,表示小于或等于。一显示值核对块1209的功能与显示屏幕1101中的显示值核对块1109相似。
显示屏幕1201亦包含一建立按纽1229,两个关联按纽1231及一重置按纽1233。该建立按纽1229可以移动搜索范围1225、运算符区1207及搜索值区1227所指定的一个新查询字符串至显示盒1235中的表达式中,关联按纽1232决定一组合查询之间的关系,该组合查询是被建立按纽所移动的新查询字符串与现有的查询字符串之间的组合,如果该现有的查询字符串存在的话,通常会显示于显示盒1235上。“和”按纽创建一组合查询,其显示的于产品数据库中查询结果需符合新查询字符串和现有的查询字符串。“或”按纽创建一组合查询,其显示的于产品数据库中查询结果需符合新查询字符串和现有的查询字符串中的一个或全部的查询条件。当利用指示笔207点选重置按纽1233时,其会清除显示盒1235中的信息,从而可使用户重新开始建立一新的查询字符串。
利用图9~12中的屏幕,用户可以定义资料过滤器以实现实施例中的技术方案。但图9~12仅代表了可供选择的一部分图形用户界面(GUI),这些图形用户界面显示于个人数字助理101的显示屏203上,其可运行电子商务应用软件310。其余的应用软件320、330及340均具有自身特定的功能、GUI和相应屏幕等。

Claims (15)

1.一种对本地数据存储器和远程数据存储器进行同步的方法,其特征在于包括如下步骤:
为一服务器上的远程数据存储器排配一组域;
维护服务器上的用户信息,其中该用户信息包括一对应于移动式电脑设备的用户ID,及一组资料过滤器,该资料过滤器对应于用户ID并对应于所述一组域中某一域的第一复数域对象;
从移动式电脑设备传送一同步需求信息,其中该同步需求信息包括用户ID,用于识别所述一组资料过滤器中某资料过滤器的识别信息,及表示该移动式电脑设备所处物理位置的定位信息;
服务器接收该同步需求信息;
在服务器上产生一基于同步需求信息的同步响应信息,其中,所述同步响应信息包括一对应于定位信息的第二复数域对象,其用于对资料过滤器进行标准说明;
传送该同步响应信息给移动式电脑设备。
2.如权利要求1所述的同步方法,其特征在于,其中移动式电脑设备是个人数字助理(PDA)。
3.如权利要求1所述的同步方法,其特征在于,其中移动式电脑设备是膝上型电脑。
4.如权利要求1所述的同步方法,其特征在于,其中定位信息是基于全球定位系统(GPS)。
5.如权利要求1所述的同步方法,其特征在于,其中定位信息是基于一个或多个基站传递的信息。
6.如权利要求5所述的同步方法,其特征在于,其中基站是移动电话单元站点。
7.如权利要求1所述的同步方法,其特征在于,其中定位信息还包括一用于表示移动式电脑设备的未来地理位置的信息。
8.如权利要求1所述的同步方法,其特征在于,其中所述资料过滤器可在移动式电脑设备上为用户所定义。
9.一种为移动式电脑设备提供定位信息的方法,其特征在于包括如下步骤:
依照存储于一远程服务器上的一组资料对象,定义移动式电脑设备上的一资料过滤器;
创建一同步需求信息,其中该同步需求信息包括用户ID,用于识别所述一组资料过滤器中某资料过滤器的识别信息,及表示该移动式电脑设备所处物理位置的定位信息;
传送该同步需求信息至远程服务器;
在远程服务器上产生一基于同步需求信息的同步响应信息,其中,所述同步响应信息包括有复数资料对象,每一资料对象用于对资料过滤器进行标准说明及表示定位信息。
10.如权利要求9所述的提供定位信息的方法,其特征在于,其中还包括如下步骤:维护服务器上的用户信息,其包括用户ID,一用于表示用户ID的资料过滤器清单。
11.一种驻存于一移动式电脑设备及一远程服务器中的分布式资料存储系统,其特征在于包括:
一处于移动式电脑设备中的本地数据存储器;
一处于一服务器中的远程数据存储器,其包括:
一组域;
一对应于该移动式电脑设备用户的用户ID;
一组对应于用户ID及一第一复数资料对象的资料过滤器,每一对象对应于域组中的域;
一同步需求信息,在移动式电脑设备中产生并传送至服务器,其包括:用户ID;
对应于服务器中资料过滤器组中一资料过滤器的识别资料;及
对应于移动式电脑设备所处地理位置的定位信息;
一同步响应信息,其由服务器根据所述同步需求信息生成,并传回至移动式电脑设备,其包括一用于表示资料过滤器和本地信息的第二复数资料对象。
12.如权利要求11所述的分布式资料存储系统,其特征在于,其中定位信息是基于全球定位系统(GPS)。
13.如权利要求11所述的分布式资料存储系统,其特征在于,其中定位信息是基于一个或多个基站所传递的信息。
14.如权利要求11所述的分布式资料存储系统,其特征在于,其中基站是移动电话单元站点。
15.如权利要求11所述的分布式资料存储系统,其特征在于,其中定位信息还包括一用于表示移动式电脑设备的未来地理位置的信息。
CN 02126661 2001-08-13 2002-07-27 基于无线设备资料复制的同步方法及存储系统 Expired - Fee Related CN1271536C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US92896401A 2001-08-13 2001-08-13
US09/928,964 2001-08-13

Publications (2)

Publication Number Publication Date
CN1405692A true CN1405692A (zh) 2003-03-26
CN1271536C CN1271536C (zh) 2006-08-23

Family

ID=25457094

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 02126661 Expired - Fee Related CN1271536C (zh) 2001-08-13 2002-07-27 基于无线设备资料复制的同步方法及存储系统

Country Status (2)

Country Link
CN (1) CN1271536C (zh)
TW (1) TWI260139B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100337420C (zh) * 2003-12-17 2007-09-12 财团法人资讯工业策进会 资料同步系统的验证与测试方法及装置
CN101751393B (zh) * 2008-12-01 2012-07-04 宏碁股份有限公司 数据同步系统及方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8676227B2 (en) 2011-05-23 2014-03-18 Transcend Information, Inc. Method of performing a data transaction between a portable storage device and an electronic device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100337420C (zh) * 2003-12-17 2007-09-12 财团法人资讯工业策进会 资料同步系统的验证与测试方法及装置
CN101751393B (zh) * 2008-12-01 2012-07-04 宏碁股份有限公司 数据同步系统及方法

Also Published As

Publication number Publication date
TWI260139B (en) 2006-08-11
CN1271536C (zh) 2006-08-23

Similar Documents

Publication Publication Date Title
CN1271535C (zh) 用于无线设备中资料和动作同步的方法及资料存储系统
CN1301475C (zh) 用于无线设备的主动资料复制方法
CN1230753C (zh) 提供和观看信息的系统和方法及控制电视机的操作控制设备
AU2010206022B2 (en) Electronic process-enabled collaboration system
JP4996685B2 (ja) コンテンツ同期化方法及び装置
CN1196068C (zh) 信息提供系统
US8296259B1 (en) Methods and systems for inventory management
CN1095568C (zh) 命名书签组
US20030069806A1 (en) System and method for sharing needs and information using physical entities
US20160134583A1 (en) System and method for openly sharing and synchronizing information across a plurality of mobile client application computers
CN102713791A (zh) 收集用于协作文档开发的社群反馈
CN1218568A (zh) 报文搜寻系统与终端机
JP2002202936A (ja) 情報収集サーバ及び情報収集方法並びに記録媒体
JP2011203894A (ja) 情報処理装置、帳票データ作成方法、及びコンピュータプログラム
JP2003233659A (ja) 配達予告方法、配達予告システム、中央装置、及びサーバコンピュータ
CN1292531A (zh) 信息管理系统和方法
CN1359501A (zh) 提供基于网络的咨询服务的方法和装置
CN1271536C (zh) 基于无线设备资料复制的同步方法及存储系统
CN1240006C (zh) 利用过滤器为无线设备进行个性化资料抄写的方法
CN1440531A (zh) 信息提供装置
US20110093192A1 (en) Application apparatus, server, system and method of travel service
JP4753666B2 (ja) 携帯サイト管理システム
JP4603515B2 (ja) 書籍流通システム、書籍流通方法、管理サーバ、及びプログラム
CN1742255A (zh) 移动数据和软件更新系统及方法
JP2003296339A (ja) 関連情報提供方法、関連情報提供装置、プログラム及び記録媒体

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: HONGFUJIN PRECISION INDUSTRY (SHENZHEN) CO., LTD.

Free format text: FORMER OWNER: HONGFUJIN PRECISION INDUSTRY (SHENZHEN) CO., LTD.; MOLI DONGWANG SCIENCE CO., LTD.

Effective date: 20080215

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

Effective date of registration: 20080215

Address after: No. two, 2 East Ring Road, tenth Pine Industrial Zone, Longhua Town, Guangdong City, Shenzhen Province, China: 518109

Co-patentee after: Hon Hai Precision Industry Co., Ltd.

Patentee after: Fujin Precision Industry (Shenzhen) Co., Ltd.

Address before: No. two, 2 East Ring Road, tenth Pine Industrial Zone, Longhua Town, Guangdong City, Shenzhen Province, China: 518109

Co-patentee before: Moli Dongwang Science Co., Ltd.

Patentee before: Fujin Precision Industry (Shenzhen) Co., Ltd.

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

Granted publication date: 20060823

Termination date: 20150727

EXPY Termination of patent right or utility model