对一个移动通信系统中的并行处理器进行同步的协议.pdf

上传人:32 文档编号:1058560 上传时间:2018-03-29 格式:PDF 页数:16 大小:654.35KB
返回 下载 相关 举报
摘要
申请专利号:

CN99813330.2

申请日:

1999.11.05

公开号:

CN1326570A

公开日:

2001.12.12

当前法律状态:

终止

有效性:

无权

法律详情:

未缴年费专利权终止IPC(主分类):G06F 17/60申请日:19991105授权公告日:20031029终止日期:20141105|||授权|||实质审查的生效|||公开

IPC分类号:

G06F17/60; G06F17/30

主分类号:

G06F17/60; G06F17/30

申请人:

艾利森电话股份有限公司;

发明人:

J·比克勒尔; L·诺瓦克; P·奥尔松

地址:

瑞典斯德哥尔摩

优先权:

1998.11.17 US 60/108,902; 1998.12.01 US 60/110,485; 1999.10.27 US 09/427,909

专利代理机构:

中国专利代理(香港)有限公司

代理人:

程天正;李亚非

PDF下载: PDF下载
内容摘要

公开了对一个移动通信系统中的并行处理器(12,14)进行同步的方法或协议,据此与一个处理器(12)相关联的同步机(104)为与第二个处理器(14)相关联的数据库(108)检索一个变化计数器的当前值,存储变化计数器的该当前值,从与第二个处理器(12)相关联的数据库(108)中检索所有的数据条目,并基于所有被检索的数据条目来对与第一个处理器(12)相关联的数据库(102)执行一个同步过程。通过检查变化计数器,同步(104)机可以确定当进行同步时,一个用户是否修改了数据库(102,108)。

权利要求书

1: 一种用来对电信系统中的处理器进行同步的方法,它包含的 步骤是: 第一个处理器单元检索与第二个处理器单元相关联的一个变化 计数器的当前值,与该第一个处理器单元相关联的第一个数据库要与 和上述第二个处理器单元相关联的第二个数据库同步; 上述第一个处理器单元存储上述变化计数器的当前值; 上述第一个处理器单元检索存储在上述第二个数据库中的数据 的实体部分;以及 上述第一个处理器对于上述被检索的所有数据的实体部分执行 一个同步过程。
2: 权利要求1的方法,其中上述第一个处理器单元包含一个同 步机。
3: 权利要求1的方法,其中上述第二个处理器单元包含一个同 步机。
4: 权利要求1的方法,其中上述处理器包含多个并行处理器。
5: 权利要求1的方法,进一步包含的步骤是: 上述第二个处理器单元为存储在上述第二个数据库中的上述数 据的一个变化而增加上述变化计数器; 上述第二个处理器单元确定是否新数据已经被存储到上述第二 个数据库中; 如果上述新数据已经被存储到上述第二个数据库中,则发送一个 与上述新数据相关联的唯一标识符到上述第一个处理器单元;以及 将上述变化计数器的当前值发送到上述第一个处理器单元。
6: 权利要求5的方法,进一步包含的步骤是: 上述第一个处理器单元接收上述变化计数器的当前值; 上述第一个处理器单元确定在上述被接收到的变化计数器的当 前值与该变化计数器的先前值之间是否有一个差值;以及 如果在上述被接收到的变化计数器的当前值与该变化计数器的 先前值之间有一个差值,则上述第一个处理器单元从上述第二个处理 器单元中检索一个变化日志; 否则,如果没有差值,则上述第一个处理器单元用从上述第二个 处理器单元检索到的一个新变化计数器值来更新上述变化计数器。
7: 权利要求6的方法,进一步包含的步骤是: 上述第一个处理器单元确定上述第二个数据库中的任意上述新 数据是否已经被处理;以及 如果上述新数据已经被处理,则上述第一个处理器单元用来自于 上述变化日志的一个值来更新上述变化计数器。
8: 权利要求1的方法,进一步包含的步骤是: 清除上述第二个数据库中的上述数据; 将上述变化计数器设置成一个初始值; 清除与上述第二个数据库相关联的变化日志中的条目; 生成一个与上述第二个数据库相关联的标识符;以及 将新数据存储到上述第二个数据库中。
9: 权利要求1的方法,进一步包含的步骤是: 将与上述第一个数据库相关联的第一个标识符存储到上述第一 个数据库中; 将与上述第二个数据库相关联的第二个标识符存储到上述第二 个数据库中; 上述第一个处理器单元从上述第二个处理器单元中检索一个变 化日志; 上述第一个处理器确定上述被检索的变化日志是否包含上述第 二个标识符;以及 如果上述被检索的变化日志不包含上述第二个标识符,则上述第 一个处理器执行一个慢速同步过程。
10: 一种用来对电信系统中的处理器进行同步的系统,它包含: 第一个处理器单元; 与上述第一个处理器单元相关联的第一个数据库; 第二个处理器单元; 与上述第二个处理器单元相关联的第二个数据库;以及 用来将上述第一个处理器单元与上述第二个处理器单元互连的 装置; 上述第一个处理器单元包括装置,该装置用来检索与上述第二个 处理器单元相关联的一个变化计数器的当前值,存储该变化计数器的 当前值,检索存储在上述第二个数据库中的数据的实体部分,并对于 上述被检索的所有数据的实体部分执行一个同步过程。
11: 权利要求10的系统,其中上述第一个处理器单元包含一个 同步机。
12: 权利要求10的系统,其中上述第二个处理器单元包括一个 同步机。
13: 权利要求10的系统,其中上述处理器包含多个并行处理器。

说明书


对一个移动通信系统中的并行处理器进行同步的协议

    【相关申请的交叉引用】

    本专利申请要求以下共同未决的美国临时申请的优先权利益,即1998年11月17日提交的、专利序列号为60/108,902的美国临时申请以及1998年12月1日提交的、专利序列号为60/110,485的美国临时申请,并在此将它们的全部公开内容引入作为参考。

    发明背景发明的技术领域

    本发明一般涉及电信领域,具体地,涉及用于一个移动通信系统中的并行处理同步协议。

    相关技术描述

    图1是图解了在例如一个移动通信系统中如何使用多个并行处理器地框图。如图所示,一对位于例如一台个人计算机(PC)12和一部移动电话14中的互补数字处理器可以以并行同步模式一起运行或操作。可以在每个处理器(12,14)中复制程序和数据软件,且软件指令可以被并行执行。可以通过一个无线空中接口将PC和移动电话12,14中的各自的处理器互相连接。

    图2是一个同步设备的功能框图,该同步设备用于对类似诸如图1所示例的数字处理器这样的并行处理器进行同步。基本上,在这里所描述的同步过程优选地是一种据此两个数据库(例如,与12,14中的每个处理器相关联的各自的数据库)被处理成含有相同信息的方法。理想地,对一个数据库中的条目所做的修改同时也要针对另一个数据库进行。在广义上,这样的一个数据库可以包括,例如,来自于一个电话簿、日历等的信息。因此,这样一个数据库的内容可以包括典型地与一个并行处理方案相关联的信息类型。

    参考图2,将一个同步机104与一个特定的(同步机)数据库102相连接和相关联。例如,同步机数据库102可以是一个与图1所示的处理器12相关联或被包含作为该处理器的一部分的一个数据库。在本文中,“同步机”优选地是完成数据库同步功能的软件。不过,也可以认为完成同步机功能的设备是这样一台同步机的一部分。第二个(设备)数据库108要与同步机数据库102同步。例如,可以将该设备数据库与第二个处理器14相关联或被包含作为该处理器的一部分。在本文中,该设备可以是数字处理器14本身。特别地,一台同步机和数据库可以与要被同步的每个并行处理器相关联。换句话说,可以在任一方向上执行并行处理器同步过程。例如,第二个处理器14也可以包括一台同步机(104)和相关联的数据库(102),同时第一个处理器12(例如一台设备)也可以包括一个设备数据库(108)。

    用一个同步协议106来定义所使用的数据库同步方法。将一个变化日志110与设备数据库108相关联。一个变化日志优选地是其中临时存储了针对数据库的变化的日志或寄存器。例如,变化日志110的尺寸可以是固定的,且当新的变化被添加时,旧一些的变化就被移出该变化日志(先进先出或FIFO过程)。这样,变化日志中的每个条目与一个确定事件(例如添加,删除或修改),一个时间戳(例如一个变化计数器值),和一个唯一标识符(UID)相关联。一个UID是分配给数据库(102或108)中的每个新条目的号。这些号是唯一的,因为它们在同一数据库中不被重复使用。变化计数器(未明确显示出)优选地是对应于数据库中出现的每个变化而增加的计数器。优选地,对于出现的每个变化,将变化计数器值存储到变化日志中,且当同步出现后也将该变化计数器值存储到同步机104中。

    如果两个数据库(例如102或108)中的至少一个含有何时要做出第一个同步尝试的信息,则执行一个“慢速”同步过程。慢速同步过程是一个据此将其中一个数据库中的所有条目与有关的另一个数据库中的所有条目进行比较的过程。当执行这样一个慢速同步过程时,一个UID判定表被(例如通过同步机软件)生成。这样一个UID判定表中的条目反映了已经被同步的两个数据库中条目之间的关系。例如,如果有对于一个数据库(例如102)中的一个条目的UID,则UID判定表提供关于相同的条目在第二个数据库(例如108)中有什么UID的信息。另一方面,如果变化日志含有自从上次同步被执行后出现的所有的数据库变化,则一个“快速”同步过程被执行。当执行这样一个快速同步过程时,只有受到影响的数据库中的那些条目要被比较,并在设备数据库(108)和同步机104之间被传送。数据库的快速同步大大快于慢速同步。

    采用对确定的电信系统中的并行处理器进行同步的现有协议(例如如图2中的块106所例证的)随后会出现的一个重要问题是:如果当处理器正在被同步时,其中一个处理器中的一个数据库被(例如一个用户的直接修改112)修改,则该协议就不起作用了。这个问题的出现是因为现有的同步协议要求锁定正被同步的数据库以使得只有同步机能够修改该数据库。因此,对于那些由此同步被作为一个后台应用而执行的并行处理方案来说,例如,在同步过程中,所有与处理器(设备)的用户交互都被冻结。不过,由于在上述时段内设备的数据库被锁定,所以在任意一个时间内,只有上述其中一个设备的同步机可以执行其同步功能。

    当一台设备被复位和与多个同步机同步时,现有协议的另一个重要问题就会出现。例如,当一台设备已经被复位后,与它同步的第一台处理器会确定该设备已经被复位并将恢复所有的条目,因为此时变化计数器值是零。不过,当第二个处理器要与该设备同步时,该第二个处理器不知道上述设备已经被复位。因此,结果是数据将被丢失或出现一个慢速同步过程。同样,当在已经复位之后恢复一个数据库时,现有的数据库将被来自于新数据库的条目所重写,从而如果这个动作未被第二个处理器检测到则会引发另一个问题。然而,如下面将详细描述的,本发明成功地解决了上面描述的以及其它相关的问题。

    发明概述

    根据本发明的一个优选实施方案,提供了一种用来对并行处理器进行同步的方法,据此与一个处理器相关联的同步机为与第二个处理器相关联的数据库检索一个变化计数器的当前值,存储变化计数器的该当前值,从与第二个处理器相关联的数据库中检索所有的数据条目,并基于所有被检索的数据条目来对与第一个处理器相关联的数据库执行一个同步过程。

    本发明的一个重要技术优点在于提供了一个并行处理同步协议,由此当数据库被同步时能够对数据库条目进行修改。

    本发明的另一个重要技术优点在于提供了一个并行处理同步协议,由此大大减少了同步持续时间。

    本发明的另一个重要技术优点在于提供了一个并行处理同步协议,由此大大提高了系统的业务量处理和吞吐量。

    本发明的另一个重要技术优点在于提供了一个并行处理同步协议,由此可以有多个同步机执行复位和/或恢复,而不会丢失数据。

    附图简述

    参考下面的详细描述连同附图可以更完整地理解本发明的方法和设备,其中:

    图1是可用于一个移动电信系统的现有并行处理器子系统的框图;

    图2是可用来对诸如图1中所示的数字处理器的并行处理器进行同步的一台同步设备的框图;

    图3是一个可以根据本发明的一个优选实施方案来实现的、用来对一个电信系统中的多个处理器进行同步的一个示范协议或方法的流程图;且

    图4是一个可以根据本发明的第二个优选实施方案来实现的、用来对一个电信系统中的多个处理器进行同步的一个示范协议或方法的流程图。附图详述

    参考附图1-4来更好地理解本发明的优选实施方案及其优势,相同的编号用来指各图中相同和相应部分。

    基本上,根据本发明的一个优选实施方案提供了一种并行处理器同步协议和方法,据此与一个处理器相关联的同步机为与第二个处理器相关联的数据库检索一个变化计数器的当前值,存储变化计数器的该当前值,从与第二个处理器相关联的数据库中检索所有的数据条目,且基于所有被检索的数据条目来对与第一个处理器相关联的数据库执行一个同步过程。

    特定地,图3是一个可以根据本发明的一个优选实施方案来实现的、用来对一个电信系统中的多个处理器进行同步的一个示范协议或方法300的流程图。例如,可以用如图1和2所示的同步设备和/或系统来实现这个协议或方法,以对数据库102和108进行同步。特别地,如前面所描述的,可以在任一方向(例如与处理器12或处理器14相关联的同步机和数据库)上执行数据库同步。在该方法(协议)的步骤302,同步机(例如与处理器12相关联的软件)确定是否已经存储了一个“有效的”的变化计数器。例如,如果这个步骤在数据库被第一次同步的时段中发生,则可能已错误地存储了变化计数器。如果这样的一个变化计数器已经被错误地存储,则在步骤304,同步机104从与要被同步的第二个数据库(例如108)相关联的设备(例如处理器14)中请求该变化计数器的当前值。换句话说,在读取第二个数据库的全部内容之前要检索该变化计数器的当前值。作为响应,在步骤306,该设备将变化计数器的当前值返回给同步机。在步骤308,同步机104(临时地)存储所检索到的变化计数器的当前值。特别地,通过在读取设备数据库(108)的全部内容之前检索变化计数器的当前值,在内容被读取的同时所做的任何条目变化都可以在下一次对数据库进行同步时被检测到。

    在步骤310,同步机104从设备(例如处理器14)中请求被存储到设备数据库108中的所有条目。在步骤312,该设备将所有存储在设备数据库108中的现有条目发送给同步机104。在步骤314,同步机104执行一个慢速同步过程,由此设备数据库108中的所有已经被添加,修改和/或删除(例如自从上一次同步以来)的条目相应地在同步机数据库102中被添加,修改和/或删除。在步骤316,同步机104用步骤308中(临时地)存储的所检索到的变化计数器值来更新变化计数器。

    返回到步骤302,如果变化计数器的值是有效的,则在步骤318,同步机104从设备(108)中请求相对于在变化计数器的上一次值被存储之后出现在设备数据库108中的所有变化的变化日志110的条目。特别地,通过只读取那些同步机所关心的变化来最小化变化日志110的尺寸。这个方法方便地最小化了从设备到同步机的传输时间。在步骤320,设备108确定在变化计数器被(同步机)提供之后出现的(如果有的话)所有变化是否在变化日志110中可获得。如果是,则在步骤322,设备发送一条“太多变化”的消息给同步机104。否则,返回步骤320,如果被提供的变化日志不含有在变化计数器被提供之后出现的任何变化,则在步骤324,设备确定上次被提供给同步机的变化计数器值是否大于设备中当前变化计数器的值。换句话说,就是进行检查以确定变化计数器是否绕回。如果是,则在步骤322,设备发送一条“太多变化”的消息给同步机。特别地,通过在提供给同步机的变化计数器值大于设备的当前变化计数器值时让设备发送一条“太多变化”的消息给同步机,就可以避免关于变化计数器的值绕回到零这样的潜在问题。

    返回到步骤324,如果上次被提供的变化计数器值不大于设备(108)中的当前变化计数器值,则在步骤326,设备将设备计数器大于被提交的变化计数器情况下的这个变化日志的变化返回。优选地,对于本实施方案,按照时间顺序提供被返回的变化日志中的条目,其中最先提供最旧的变化。特别地,通过让设备首先返回最旧的变化,同步机在即使变化日志更新已经被打断时仍然可以处理一部分变化日志。

    在步骤328,如果同步机104确定它已经接收到来自于设备108的一条“太多变化”的消息,则该方法进行到步骤304。否则,在步骤330,同步机开始处理在步骤326中从设备返回的变化日志中的条目。同步机通过首先从最旧的变化开始来分析所接收到的变化日志条目。因此,如果由于某个原因而中断了同步,同步机也不需要重新开始该过程。在步骤332,如果同步机确定变化日志是空的(没有变化),则该方法进行到步骤317。否则,在步骤334,同步机从设备中请求如变化日志中所示的每个被添加和/或修改的条目。在步骤336,设备将每个被请求的这样的条目发送给同步机。优选地,最旧的条目被最先请求。在步骤338,同步机确定是否有更多的变化要被处理。如果是,则该方法回到步骤330以继续处理变化。否则,在步骤340,同步机用从设备的变化日志110中接收到(步骤318)的最高的变化计数器更新其变化计数器。

    在步骤317,同步机104确定自从上一次数据库同步出现以来,同步机数据库102是否有任何变化。如果自从上一次同步以来没有这样的变化,则该方法结束(步骤342)。否则,如果自从上一次同步以来发生了这样的变化,则在步骤344,同步机开始处理同步机数据库102发生的变化。在步骤346,同步机添加,修改和/或删除设备数据库108中恰当的条目。

    在步骤348,设备为设备数据库108中的一个条目出现的每个变化而增加其变化计数器一个单位。在步骤350,设备确定是否一个新条目已经被添加到设备数据库108。如果是,则在步骤352,设备将该新条目的一个UID发送给同步机104,且该方法进行到步骤354。否则,如果没有添加一个新条目,则在步骤354,设备将当前变化计数器值发送给同步机。特别地,通过响应对于设备数据库的一个变化或修改而将当前变化计数器值返回给同步机,同步机不需要明确地读取变化计数器值,从而节省了很大的处理时间量且避免了在有关的同步机之间出现的竞争问题。

    在步骤356,同步机确定在从设备返回(步骤354)的变化计数器值和已经存储在同步机中的变化计数器值之间是否有一个差值(即,该测试是用来确定是否该差值大于1)?如果是,则该方法进行到步骤318。特别地,根据本发明,通过在该点检查变化计数器,同步机就可以确定是否另外有人(例如用户或其它修改112)修改过设备数据库108。否则,在步骤356,如果同步机确定在从设备返回(步骤354)的变化计数器值和已经存储在同步机中的变化计数器值之间没有差值(例如,大于1),则在步骤358,同步机用从设备接收到(步骤354)的一个新值来更新变化计数器值。特别地,通过在对于设备数据库的每个变化或修改之后更新变化计数器值,同步机在由于某个原因中断了本同步时不需要重新开始同步过程。在步骤360,如果同步机确定要进行更多的同步机数据库的变化,则该方法回到步骤317。否则,在步骤342,该方法完成。

    如前面所描述的,当第二个处理器要与一台设备同步时,该第二个处理器不知道该设备已经被复位。因此,其结果是数据可能被丢失或出现一个慢速同步过程。同样,当在复位出现之后恢复一个数据库时,现有的数据库将被来自于新数据库的条目所重写,从而如果这个动作未被第二个处理器检测到则这会引发另一个问题。根据本发明的并行同步协议,第二个实施方案通过用一个唯一的标识符(优选地是与一个随机生成数相关联的)来标记一个新创建的数据库解决了上述问题。这个与一个新创建的数据库相关联的“数据库ID”被一台设备作为所有变化日志的一个条目提交。因此,通过在一个设备变化日志中检测这个数据库ID,一台同步机就可以确定一个数据库是何时被新创建的(或重新创建的)。换句话说,根据上面相对优选实施方案描述的并行同步协议,当一个变化日志被一台设备返回给一个特定的同步机时,对于新创建的数据库的数据库ID被包含在变化日志中。该同步机将这个数据库ID与先前被存储的数据库ID(如果有的话)进行比较,如果这两个数据库ID不匹配,则同步机就知道数据库已经被重新创建且要执行一个慢速同步过程。

    这样,当由于任意原因一台设备被复位之后,则要求该设备创建一个新的数据库。在创建这样一个新数据库的过程中,该设备生成一个新数据库ID(优选地是一个随机生成数)。不过,如果有关的整个数据库被(例如通过一个等级2 obex put)重写,则该设备优选地遵循下面描述的相对图4所示的流程图的方法(作为上面相对图3所描述的并行同步方法或协议的一个补充)。

    图4是用来对一个电信系统中的多个处理器进行同步的一个示范协议或方法400的流程图,该协议或方法可以根据本发明的第二个实施方案来实现。如果一个数据库(例如108)已经被完全重写,则在图4的步骤402中,设备清除这个数据库中的条目。在步骤404,设备将相关的变化计数器值设置成零。在步骤406,设备清除有关的变化日志(例如110)中的条目。在步骤408,设备生成一个新的数据库ID(优选地是与设备生成的一个随机数相关联的)。在步骤410,设备将新记录写到有关的数据库(例如108)中。根据本发明的并行同步协议或方法,一个新的变化日志被生成,且变化计数器被更新。

    尽管本发明的方法和设备的一个优选实施方案已经在附图中被说明并在前述的详细描述中被描述,但应当理解本发明并不局限于所公开的实施方案,而是在不偏离随后的权利要求中所提出和规定的本发明精神的前提下,可以有多种的重新安排,修改和替代。

对一个移动通信系统中的并行处理器进行同步的协议.pdf_第1页
第1页 / 共16页
对一个移动通信系统中的并行处理器进行同步的协议.pdf_第2页
第2页 / 共16页
对一个移动通信系统中的并行处理器进行同步的协议.pdf_第3页
第3页 / 共16页
点击查看更多>>
资源描述

《对一个移动通信系统中的并行处理器进行同步的协议.pdf》由会员分享,可在线阅读,更多相关《对一个移动通信系统中的并行处理器进行同步的协议.pdf(16页珍藏版)》请在专利查询网上搜索。

公开了对一个移动通信系统中的并行处理器(12,14)进行同步的方法或协议,据此与一个处理器(12)相关联的同步机(104)为与第二个处理器(14)相关联的数据库(108)检索一个变化计数器的当前值,存储变化计数器的该当前值,从与第二个处理器(12)相关联的数据库(108)中检索所有的数据条目,并基于所有被检索的数据条目来对与第一个处理器(12)相关联的数据库(102)执行一个同步过程。通过检查变化。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1