用于在网络化设备之间实施连续同步化层级的方法及设备的制作方法

文档序号:7708401阅读:179来源:国知局
专利名称:用于在网络化设备之间实施连续同步化层级的方法及设备的制作方法
技术领域
本发明总体上涉及数据网络化,尤其涉及用于在网络化设备之间实施连 续同步化层级的方法及设备。
背景技术
现代过程控制系统经常包括数据网络,以便互连多个(及可能是无数个) 网络化节点,比如控制器、工作站等等。这样的过程控制系统一般需要某些 公共信息可在所述网络化节点中的一些或所有网络化节点利用。可能需要一 般可用的信息的范例包括系统中的一些或所有所述节点的地址、用于在所述 系统中的多个节点产生公共显示的显示配置信息、等等。在许多实施例中, 所述公共信息在每个节点上存储为一个或多个配置文件。在一个或多个这些 配置文件改变时,已更新文件需要尽快在系统节点之间同步化,以便保持公 共信息流。然而,由于用于实施过程控制系统的所述类别的节点的资源受限 (例如处理器速度、网络带宽、等等)的特性,文件同步化经常是以连续方 式执行的低优先级操作。受限的节,泉资源可以排除使用现有文件同步化技 术,而现有文件同步化技术比从起始节点将更新的配置文件连续地传送到所 述过程控制系统中的其他每个节点的较慢方式更为复杂,因此更快。

发明内容
于在此公开的一个实施例中, 一种在包括多个网络化节点的层级同步化 拓朴中同步化信息的范例方法包括配置一第 一 网络化节点,作为与第二及第 三网络化节点直接相关的一父节点,而所述第二及第三网络化节点配置成所 述父节点的相应第一及第二直接子节点。所述范例方法也包括选择一个或多 个其他网络化节点,作为通过所述第一直接子节点与所述父节点间接相关的一第一集合的间接子节点。此外,所述范例方法包括将所述父节点配置成根 据与所述第 一及第二直接子节点相关的多个层级同步化水平,将正在接受同 步化的信息连续地传送到所述第一及第二直接子节点,而不是将所述信息传 送到所述第一集合的间接子节点。此外,在一实施例中,所述第一直接子节 点将所述信息传播到所述第 一 集合的间接子节点,而所述父节点则将所述信 息传送到所述第二直接子节点。
于在此公开的另 一实施例中,用于同步化由一网络化节点获取的信息的 一范例设备包括一 范例节点选择器,以便选择多个直接子节点来直接接收来 自所述网络化节点的、所述正在接受同步化的信息。所述范例设备也包括一 范例节点清单分段器,以便选择一个集合或多个集合的间接子节点,其中每 个集合的间接子节点通过一相应的直接子节点(而不是直接从所述网络化节 点)接收所述正在接受同步化的信息。此外,所述范例设备还包括一范例同 步化排序器,以便进行排序,使得在将所述正在接受同步化的信息传送到优 先级低于第一层级同步化水平的第二层级同步化水平相关的第二直接子节 点之前,将所述正在接受同步化的信息传送到与所述第 一层级同步化水平相 关的第一直接子节点。此外,在一实施例中, 一第一集合的间接子节点通过 所述第一直接子节点接收所述信息,而所述同步化排序器进行排序,使得在 所述第一直接子节点已经配置成在从所述网络化节点接收所述信息之后将 所述信息传送到所述第一直接子节点,不论所述第一集合的间接子节点是否 配置成通过所述第一直接子节点接收所述正在接受同步化的信息。
于在此公开的又另 一个实施例中,用于支持数据同步化的 一 范例数据网 络包括多个网络化节点,这些网络化节点可配置成一实施包括多个层级同步 化水平的同步化层级,其中分配到一第一层级水平的每个网络化节点可配置 成同步化接收自分配到优先级高于所述第一层级同步化水平的一第二层级 同步化水平的一个分别地配置的父节点的数据。分配到所述范例数据网络中 的这样的第 一层级水平的每个网络化节点也可配置成将所述数据连续地传 输到唯一地分配到个别组合的多个层级同步化水平(每个层级同步化水平的
13优先级低于所述第一层级同步化水平)的、个别组合的多个相应地配置的子 节点。此外,所述范例数据网络也包括一根节点,所述根节点可分配到最高 优先级同步化水平,而且可配置成获取需同步化的数据、起动所述同步化层 级的配置以及根据所述同步化层级,将所述数据连续地传输到第一组多个相 应地配置的子节点。在一实施例中,所述第一组多个子节点中的所述第一子 节点也可配置成一第一父节点,以便在从所述根节点接收所述数据之后、以 及在所述根节点将所述数据传输到所述第一组多个子节点中的至少一个第 二子节点时,根据同步化层级,将所述数据连续地传输到一第二组多个相应 地配置的子节点。


图l为一框图,其图解一范例过程控制系统。
图2图解一使用先前技术的范例连续文件同步化技术,该范例连续文件 同步化技术可以将信息文件连续地传播到图1的范例系统中的网络化节点。
图3图解一使用先前技术的范例平行文件同步化技术,该范例平行文件 同步化技术可以在图1的范例系统中的网络化节点之间传播平行的信息文 件的部分。
图4图解一范例文件同步化技术,该范例文件同步化技术使用在此描述 的一范例连续同步化层级,在图1的范例系统中的网络化节点之间传播信息 文件。
图5A-5G共同地图解一范例程序,该范例程序用于配置图4的范例连 续同步化层级。
图6为一框图,其图解一范例信息同步器,该范例信息同步器可以用于 实施图4的范例连续同步化层级。
图7为一流程图,其描绘一范例信息同步化过程。执行该范例信息同步 化过程至少可以实施图6的范例信息同步器及/或图4的范例连续同步化层 级的部分。图8图解图7的范例信息同步化过程的一范例操作,其中在一信息文件 被更新的同时,所述信息文件的先前版本已经在图4的范例连续同步化层级 中的节点之间传播。
图9为一流程图,其描绘一范例过程,该范例过程用于配置一连续同步 化层级,该连续同步化层级至少可以用于实施图7的范例过程、图6的范例 信息同步器及/或图4的范例连续同步化层级的部分。
图IO图解图7及9的范例过程的一范例操作,该范例操作用于执行图 4的范例连续同步化层级中的分布式信息同步化及层级节点配置。
图11A-11B共同为一流程图,该流程图描绘一用于执行网络拓朴监控 的范例过程。该范例过程至少可以用于实施图6的范例信息同步器及/或图4 的范例连续同步化层级的部分。
图12为一框图,其图解一范例计算机,该范例计算机可以执行用于实 施图7、 9及/或11A-11B的一些或所有过程的范例机器可读指令,以至少实 施图6的范例信息同步器及/或图4的范例连续同步化层级的部分。
具体实施例方式
本发明公开用于在网络化设备之间实施连续同步化层级的方法及设备。 在一范例连续同步化层级中,在一特定的分配层级同步化水平的每个网络化 节点(除了配置成根节点的一个节点以外)配置成作为一个分配到较高优先 级的同步化水平的相关父节点的子节点进行操作。此外,至少一些网络化节 点配置成作为较低优先级的同步化水平的一个或多个相关子节点的父节点 进行操作。为了在所述范例同步化层级中同步化信息,比如一个或多个数据 文件,每个父节点连续地传送所述信息到其每个相关子节点。此外, 一旦一 子节点接收所述信息,该子节点继续连续地将所述信息传送到其本身的相关 子节点。因此,正在接受同步化的所述信息可以沿着几个父-子节点传播路 径同时传播,而每个父-子节点传播路径使用连续信息传播。
与网络化节点之间的信息的连续传播比较,在此描述的这种范例同步化层级可以改善网络中的信息可同步化的速度。此外,由于每个单一网络化节 点还是连续地传送信息到其相关子节点,所述同步化速度的改善可以在比在 节点之间连续地交换信息需要很少或无附加资源要求的情况下达成。此外, 于在此描述的至少一些网络实施中,每个网络化节点只负责配置整体同步化 拓朴的一部分,例如只是配置任何直接相关的子节点。这样的分布式拓朴配 置也减轻对用于信息同步化的资源的影响,同时即使整体层级同步化拓朴的 配置可能尚未完成,也允许同步化开始。在此描述的至少一些范例实施例也 支持优雅附加网络化节点到所述层级同步化拓朴及/或从所述层级同步化拓 朴优雅移除网络化节点。
图1图解一范例过程控制系统100的框图。范例过程控制系统100可以
用于测量、分析、控制、自动化(等等)任何类别的工业中的任何类别的过
程。例如,图1的过程控制系统100可以用于控制化学制造过程、精炼过程
(例如石油或天然气精练过程)、纸浆及纸制造过程、药品开发过程、食品 及饮料包装过程、发电过程、水及/或废水管理过程等等的产量。
所述图解范例的过程控制系统100包括一组范例网络化节点105-140, 这组范例网络化节点105-140由一范例网络150互连。虽然图1中描绘依次 标注为节点0、节点1、节点2、节点3、节点4、节点5、节点6及节点7 的八(8)个网络化节点105、 110、 115、 120、 125、 130、 135及140, 但_ 范例过程控制系统100可以支持任何数目的网络化节点。网络化节点 105-140可以由能够网络化来交换信息的任何组合的设备来实施。例如,网 络化节点105-140中的每个网络化节点可以由控制器(比如可编程逻辑控制 器(PLC))、工作站(比如个人计算机)、膝上型/笔记本计算机、计算机 终端等等及/或任何其他类别的可网络化设备来实施。
所述图解范例的网络150配置成允许在所述组合的范例网络化节点 105-140之间交换信息。此外,范例网络150也配置成可升级,以便允许随 着时间的过去过程控制要求改变而添加及移除网络化节点。范例网络150可 以使用任何类别的网络技术来实施,例如使用 一个或多个以太网或类似的局域网络(LANs )、 一个或多个IEEE 802.11或类似的无线局域网络(WLANs )、 一个或多个移动蜂窝网络、互联网(Internet)、专用网络互连等等、及/或 其任何组合来实施。
如先前所述,范例网络150允许在范例网络化节点105-140之间交换信 息。在过程控制系统(比如图1的范例系统100)中,可能需要或至少期望 某些信息在范例网络化节点105-140中的 一些或所有范例网络化节点之间共 同可用。视正由范例过程控制系统100控制的过程而定,这样的需在网络化 节点105-140中的一些或所有网络化节点可用的公用信息的范例包括(1 ) 范例过程控制系统100中的 一 些或所有网络化节点的清单、(2 )网络化节 点105-140中的一些或所有网络化节点及/或实施及/或向范例过程控制系统 100提供连通性的其他网络设备(例如桥接、路由器等等)的地址、(3) 用于在范例过程控制系统100中的多个网络化节点105-140产生公用显示的 显示配置信息。
在范例过程控制系统100中,以及在许多其他过程控制系统的实施例 中,公用信息存储在网络化节点105-140中的一些或所有网络化节点上的一 个或多个配置文件中。例如,图1图解一范例配置文件160 (或一般称为信 息文件160),范例配置文件160包括需向范例网络化节点105-140中的每 个范例网络化节点提供的以及需存储在范例网络化节点105-140中的每个范 例网络化节点上的公用信息。由于预期范例配置文件160为公用,因此预期 范例配置文件160在网络化节点105-140中的每个网络化节点上相同,在文 件160更新及/或改变时,更新的文件160需要在网络化节点105-140之间同 步化。 一般上,这样的信息同步化应尽快发生,以便在受影响的网络化节点 105-140上保持所述公用信息为最新。以下对范例同步化技术进行更详细的 讨论。
虽然范例系统IOO在图中被图解为一过程控制系统,但范例系统IOO可
以是任何类别的计算机网络、数据网络等等,而信息可以在其中的网络化节 点之间交换。因此,在此描述的范例方法及设备并不限于只是用于一过程控制环境,而可以用于任何类别的数据网络化应用。
图2图解一可以用于在图1的范例过程控制系统100中同步化配置文件
160的、使用先前技术的范例连续文件同步化技术200。由于图2的使用先 前技术的连续文件同步化技术200是以图1的范例过程控制系统IOO的语境 进行图解,图1及2中的相似元件以相同的参考数字标注。为求简短起见, 这些相似元件的详细描述在以上连同有关图1的讨论来提供,因此在有关图 2的讨-论中不重复这些相似元件的详细描述。
参看图2,使用先前技术的范例连续文件同步化技术200通过将配置文 件160连续地传播到网络化节点105-140中的每个网络化节点,在范例过程 控制系统100中同步化配置文件160。例如,在不失去一般性的情况下,假 设配置文件160的新版本在使用先前技术的范例连续文件同步化技术200的 初始化阶段205期间被提供于网络化节点105 (节点0),如图2所示。配 置文件160的所述新版本可以(例如)由用户及/或应用程序离线地创建以 及下载到网络化节点105 (节点0)。附加地或可选择地,配置文件160的 所述新版本可以根据由网络化节点105 (节点0)下载、查询、监控、接收 等等的信息,由网络化节点105 (节点O)本身创建。
不论配置文件160的所述新版本如何创建,使用先前技术的范例连续文 件同步化技术200在配置文件160在初始化阶段205期间被提供于网络化节 点105 (节点0)之后开始连续文件同步化。在所述图解范例中,使用先前 技术的连续文件同步化技术200通过促使网络化节点105 (节点0)在第一 迭代阶段210期间将配置文件160传送到网络化节点110 (节点1),开始 文件同步化。接着,在配置文件160被传送到网络化节点110 (节点1)之 后,网络化节点105 (节点O)在第一迭代阶段215期间将配置文件160传 送到网络化节点115 (节点2)。同样地,使用先前技术的范例连续文件同 步化技术200继续促使网络化节点105 (节点0 )在迭代阶段220、 225、 230、 235及240期间依次将配置文件160连续地传送到每个网络化节点120、 125、 130、 135及140。在使用先前技术的范例连续文件同步化技术200中,在网络化节点105
(节点0)完成在第七迭代阶段240期间将配置文件160传送到网络化节点 140 (节点7)之后,配置文件160的所述新版本接着在所有网络化节点 105-140上同步化。由于配置文件160连续地传播到网络化节点105-140中 的每个网络化节点以实现同步化,根据使用先前技术的范例连续文件同步化 技术200来同步化配置文件160所需要的总时间与范例过程控制系统100中 的网络化节点105-140的数目成比例。换句话说,使用先前技术的范例连续 文件同步化技术200的时间复杂性为n次(以O(n)表示),其中n为范例 过程控制系统100中的网络化节点105-140的数目。因此,在所述使用先前 技术的连续文件同步化技术200的图解范例中,时间复杂性为0(8),这是由 于范例过程控制系统100中有n=8个网络化节点105-140。
由于使用先前技术的范例连续文件同步化技术200的时间复杂性为 O(n),使用这个技术来同步化信息(比如范例配置文件160)所需要的时间 数量随着范例过程控制系统100中的网络化节点105-140的数目线性地增 加。由于网络化节点105-140的数目变得很大,由信息同步化导致的过程耽 搁可能变得不可接受。例如, 一些过程控制系统可能有数以百计或甚至是数 以千计的网络化节点。在这样的系统中,使用先前技术的范例连续文件同步 化技术200可能需要长达数以分钟或甚至是数以小时计的时间来完成信息 同步化。
图3图解一可以用于在图1的范例过程控制系统100中同步化配置文件 160的、使用先前技术的范例平行文件同步化技术300。所述使用先前技术 的范例平行文件同步化技术300进行操作以分段信息及将所述分段信息平 行地传播,以便相对于(例如)图2的使用先前技术的连续文件同步化技术 200减少总同步化时间。由于图3的使用先前技术的使用先前技术的范例平 行文件同步化技术300是以图1的范例过程控制系统IOO的语境进行图解, 图1及3中的相似元件以相同的参考数字标注。为求简短起见,这些相似元 件的详细描述在以上连同有关图1的讨论来提供,因此在有关图3的讨论中不重复这些相似元件的详细描述。
参看图3,使用先前技术的范例平行文件同步化技术300通过将配置文
件160分段及将所述分段平行地传播到网络化节点105-140中的每个网络化 节点,在范例过程控制系统100中同步化配置文件160。例如,在不失去一 般性的情况下,图3图解使用先前技术的范例平行文件同步化技术300为在 网络化节点105 (节点0)及网络化节点110 (节点1)之间同步化配置文件 160而进行的操作。在所述图解范例中,同步化以网络化节点105 (节点0) 将所述配置文件分段成多个分段(比如图3中所示的两个分段305及310) 为开始。虽然图3描绘配置文件160被分段成两个分段305及310,但使用 先前技术的范例平行文件同步化技术300支持将所述配置文件分段成任何 数目的文件分段。
继续参看图3的图解范例,文件分段305及310由范例网络化节点105 (节点O)存储在分别的传输同步化緩冲器315及320中。传输同步化緩冲 器315及320可以使用任何存储技术来实施,比如通过一个或多个循环緩沖 器、先进先出(FIFO)緩冲器等等来实施。存储在分别的传输同步化緩冲器 315及320中的文件分段305及310接着由网络化节点105 (节点0)从每 个緩冲器平行地传送到一接收节点。例如,图3图解实施于范例网络150的 两个传播路径325及330,传播路径325及330允许来自网络化节点105(节 点0)的传输同步化緩冲器315及320的数据平行地传送到范例网络化节点 110 (节点1)的相应接收同步化緩冲器335及340。在范例网络化节点110 (节点l)中,在相应的接收同步化緩冲器335及340中接收及存储的数据 接着用于重建相应于正在同步化的配置文件160的文件分段305及310。文 件分段305及310接着合并而构成配置文件160,导致配置文件160在网络 化节点110 (节点1 )同步化。
从这个范例可以显见,根据使用先前技术的范例平行文件同步化技术 300来同步化所需要的总时间相对于使用先前技术的范例连续文件同步化技 术200的同步化时间,按在节点之间平行地传输的配置文件160的分革殳凄史目成比例地减少。换句话说,使用先前技术的范例平行文件同步化技术300的
时间复杂性为0(n/s),其中n为范例过程控制系统100中的网络化节点 105-140的数目,而s为在节点之间平4亍地传输的配置文件160的分段数目。 因此,在所述使用先前技术的平行文件同步化技术300的图解范例中,时间 复杂性为0(8/2=4),这是由于范例过程控制系统100中有n=8个网络化节点 105-140,而配置文件160作为s-2个分段平行地传输。
不幸的是,这样的总同步化时间减少对所述同步化程序增加资源使用有 损。例如,使用先前技术的范例平行文件同步化技术300需要的分段及平行 传输可以导致网络化节点105-140中的每个网络化节点为信息(例如文件) 同步化而消耗的处理资源(例如中央处理器)、存储器资源及/或网络带宽 资源需要相应的增加。然而,这种类别的用于实施过程控制系统的节点的有 限资源特性可能排除在许多过程控制环境中实施所述使用先前技术的范例 平行文件同步化技术300。
图4图解一根据在此描述的方法及设备实施的、可以用于在图1的范例 过程控制系统100中同步化配置文件160的范例连续同步化层级400。在一 实施例中,所述范例连续同步化层级400进行操作以相对于图2的使用先前 技术的范例连续文件同步化技术200减少总同步化时间,但不导致图3的使 用先前技术的范例平行文件同步化技术300的附加资源使用特性。由于图4 的范例连续同步化层级400是以图1的范例过程控制系统IOO的语境进行图 解,图1及4中的相似元件以相同的参考数字标注。为求简短起见,这些相 似元件的详细描述在以上连同有关图1的讨论来提供,因此在有关图4的讨 论中不重复这些相似元件的详细描述。
参看图4,为了信息(例如文件)同步化目的,范例过程控制系统100 的范例网络化节点105-140配置成构成图中所示的范例连续同步化层级 400。在所述图解范例中,每个网络化节点被分配到一特定层级同步化水平, 而每个随后的水平的同步化优先级比在前的水平的同步化优先级低。例如, 在图4的范例连续同步化层级400中,网络化节点105 (节点O)被分配到根层级同步化水平405 (或根水平405 ),网络化节点110 (节点1)被分配 到第一层级同步化水平410 (或第一水平410),网络化节点115 (节点2) 及130 (节点5)被分配到第二层级同步化水平415 (或第二水平415),而 网络化节点120 (节点3) 、 125 (节点4) 、 135 (节点6)及140 (节点7) 被分配到第三层级同步化水平420 (或第三水平420)。在所述图解范例中, 根水平405的同步化优先级最高,接着是第一水平410,然后是第二水平415, 而第三水平420的同步化优先级最低。 一般上,范例连续同步化层级400在 所述根水平只包括一个网络化节点(例如网络化节点105 )及在所述第 一 水 平只包括一个网络化节点(例如网络化节点110)。每个随后的水平(例如 水平415及420)可以被分配以多达所有在前的水平组合中包括的网络化节 点的数目的网络化节点。
除了所述根节点(例如网络化节点105)以外,在范例连续同步化层级 400中的特定分配层级同步化水平的每个网络化节点配置成作为分配到较高 优先级的同步化水平的一个相关父节点的子节点进行操作。此外,在所述图 解范例中,没有两个分配到相同的层级同步化水平的网络化节点与相同的父 节点相关。例如,在第一水平410的网络化节点110 (节点1)配置成作为 网络化节点105 (节点O)的子节点,而网络化节点105 (节点O)分配到优 先级较高的根水平405并相应地配置成与网络化节点110 (节点1)相关的 父节点。在第二水平415的网络化节点115 (节点2)及在第三水平420的 网络化节点120 (节点3)也配置成网络化节点105 (节点0)的子节点,而 网络化节点105 (节点O)相应地配置成它们的相关父节点。
同样地,在第二水平415的网络化节点130(节点5)及在第三水平420 的网络化节点135 (节点6)配置成网络化节点110 (节点1)的子节点,而 网络化节点110 (节点1)相应地配置成它们的相关父节点。此外,在第三 水平420的网络化节点125 (节点4)配置成网络化节点115 (节点2)的子 节点,而网络化节点115 (节点2)分配到优先级较高的第二水平415并相 应地配置成其相关父节点。最后,在第三水平420的网络化节点140 (节点7)配置成网络化节点130 (节点5)的子节点,而网络化节点130 (节点5 ) 分配到优先级较高的第二水平415并相应地配置成其相关父节点。
除了配置成作为分配到优先级较高的同步化水平的一个相关父节点的 子节点来进行操作之外,在范例连续同步化层级400中的特定分配层级同步 化水平的每个网络化节点也可以配置成作为在相应的 一 个或多个较低优先 级的同步化水平的一个或多个相关子节点的父节点进行操作。因此,在所述 图解范例中,网络化节点105 (节点0)配置成作为在第一水平410的网络 化节点110 (节点1 )、在第二水平415的网络化节点115 (节点2)及在第 三水平420的网络化节点120 (节点3)的父节点进行操作。同样地,网络 化节点110(节点1 )配置成作为在第二水平415的网络化节点130(节点5 ) 及在第三水平420的网络化节点135 (节点6)的父节点进行操作。此外, 网络化节点115(节点2)配置成在第三水平420的网络化节点125 (节点4) 的父节点进行操作,而网络化节点130 (节点5)配置成在第三水平420的 网络化节点140 (节点7)的父节点进行操作。
概要言之,范例连续同步化层级400将范例过程控制系统100的网络化 节点105-140组织成带有1og2(n)个层级同步化水平(例如水平410-420)及 一个根水平(例如根水平405 )的特定层级排列,其中n为网络化节点的数 目。在所述图解范例中,所述层级的根(最高)水平405及第一水平410包 含一 (1)个节点(例如网络化节点105及网络化节点110)。范例连续同 步化层级400的第二水平415包含两(2)个节点(例如网络化节点115及 130)。第三水平420包含四(4)个节点(例如网络化节点120、 l25、 I" 及140)等等。最后,范例连续同步化层级400的最后(最低)水平包含多 达n/2个节点,而在图4的图解范例中,范例连续同步化层级400的最后(最 低)水平相应于包含8/2=4个节点的第三水平420。
此外,在范例连续同步化层级400中,在特定分配层级同步化水平的每 个节点配置成与优先级较高的同步化水平中的一个父节点相关,而没有两个 节点在分配到相同的父节点的相同水平。此外,在特定分配水平的每个节点可以与范例连续同步化层级400其余的每个较低水平中的多达一个子节点 直接相关。换句话说,与一特定父节点相关的每个子节点分配到一唯一层级
同步化水平。因此,范例连续同步化层级400中的每个节点(除了所述根节
点之外)与一个父节点及零个、 一个或多个子节点直接相关。
此外,子节点本身也可以是与一个或多个子节点相关的父节点。因此,
范例连续同步化层级400中与一个或多个子节点直接相关的节点也可以与
那些与所述节点的子节点相关的附加子节点间接地相关。例如,参看图4,
网络化节点110 (节点1) 、 115 (节点2)及120 (节点3)都是与作为父
节点进行操作的根网络化节点105 (节点0)直接相关的子节点。换句话说,
网络化节点110 (节点1) 、 115 (节点2)及120 (节点3)都是与父网络
化节点105 (节点0)直接相关的直接子节点。此外,网络化节点125 (节
点4) 、 130 (节点5) 、 135 (节点6)及140 (节点7)都是与父节点105
(节点0)相关的直接子节点110 (节点1 ) 、 115 (节点2)及120 (节点3)
的派生节点(直接或间接)。因此,网络化节点125 (节点4) 、 130 (节点
5) 、 135 (节点6)及140 (节点7)都是父网络化节点105 (节点O)的间
接子节点。 一般地说,范例连续同步化层级400中的特定父节点的派生节点
可以分为一组与所述父节点直接相关的直接子节点以及一组通过所述组合
的直接子节点与所述父节点间接相关的间接子节点。此外,所述整个组合的
间接子节点可以进一步分为子组合的子节点,而每个子组合包括通过特定直 接子节点与所述父节点相关的所有派生节点。
如以下所示,范例连续同步化层级400实施时间复杂性缩减为0(1og2(n》 的信息同步化技术,其中n为范例过程控制系统100中的网络化节点105-140 的数目。因此,在图4的范例连续同步化层级400中,时间复杂性为 0(log2(8)=3),这是由于范例过程控制系统100中有n=8个网络化节点 105-140。范例连续同步化层级400的时间复杂性因此少于使用先前技术的 同步化技术200及300。此外,在还只是需要在所述网络化节点之间连续传 输信息(例如文件)的同时,这样的同步化时间缩减得以实现。
24在高水平,为了在配置成构成在此描述的连续同步化层级的所有网络化 节点之间同步化信息(比如数据文件),每个节点将正在连续地接受同步化 的信息(例如数据文件)传送到其每个相关的直接子节点。此外,每个节点 根据其相关的直接子节点被分配到的集合的层级同步化水平,将所述信息 (例如数据文件)按优先级递减次序连续地传送到其相关的直接子节点。例 如,当所述根节点获取需同步化为(例如)所述数据文件的更新版本的信息 时,同步化开始。所述根节点接着将所述更新文件传送到其在所述同步化层 级的所述第一层级同步化水平中的直接子节点。随后,同步化继续,而每个 节点被分配到正在配置成只从其位于所述同步化层级的较高优先级水平的 其中之一中的一个父节点接收所述接受同步化的更新文件的特定层级同步 化水平。在从其分配父节点接收所述更新文件之后,所述节点将所述文件连
于每个节点将所述更新文件连续地传送到其相关直接子节点,相对于图2的 使用先前技术的范例连续文件同步化技术200,专用于文件同步化的每个节 点的资源没有受到附加的影响(或只受到可以忽略的影响)。然而,正在接 受同步化的信息(例如数据文件)的传播沿着几个父-子节点传播路径同时 发生,而每个父-子节点传播路径根据其相应集合的层级同步化水平的分配,
使用连续信息传播。这个安排可以达到相对于图2的使用先前技术的范例连 续文件同步化技术200的、潜在可观的总同步化时间缩减。
参看图4的特定范例,配置文件160可以在范例连续同步化层级400的 所有网络化节点105-140之间以下述方式同步化。首先,在获取所述更新配 置文件160之后,根网络化节点105 (节点0)在第一同步化迭代期间执行 第一文件传输430,将配置文件160传送到其被分配到第一层级同步化水平 410的直接子网络化节点110 (节点1)。随后,文件传输在父节点及子节 点之间连续地发生,以便在所述系统中的所有节点之间同步化所述文件。例 如,在第二同步化迭代期间,根节点105 (节点O)执行第二文件传输435, 将配置文件160传送到其被分配到第二水平415的直接子节点115(节点2 );而网络化节点110 (节点1)在几乎同一时间执行第三文件传输440,将配
置文件160传送到其本身的、被分配到第二水平415的直接子节点130 (节 点5)。接着,在第三同步化迭代期间,根节点105 (节点0)执行第四文 件传输445,将配置文件160传送到其被分配到第三水平420的直接子节点 120 (节点3 );而网络化节点110 (节点1 )在几乎同一时间执行第五文件 传输450,也将配置文件160传送到其本身的、被分配到第三水平420的直 接子节点135 (节点6);网络化节点115 (节点2)执行第六文件传输455, 也将配置文件160传送到其本身的、被分配到第三水平420的直接子节点 125(节点4);以及网络化节点130 (节点5)执行第七文件传输460,也 将配置文件160传送到其本身的、被分配到第三水平420的直接子节点140 (节点7)。照这样,配置文件160在三(3)个同步化迭代之后(而不是 在七(7)个同步化迭代之后),在范例连续同步化层级400的所有节点 105-140之间同步化;而如果(例如)同步化已经根据图2的使用先前技术 的范例连续文件同步化技术200执行,则配置文件160需要在七(7)个同 步化迭代之后同步化。更概括地,同步化范例连续同步化层级400中的信息 所需要的同步化迭代的数目与层级同步化水平的数目成比例,这产生一时间 复杂性0(1og2(n)),其中1og2(n)为范例连续同步化层级400中的层级同步化 水平的数目。
任何类别的文件传输协议(或更常称为信息交换协议)可以用于在范例 连续同步化层级400中的网络化节点之间传送配置文件160。可以用于在所 述网络化节点之间传送配置文件160的协议的范例包括文件传输协议 (FTP)、简单信件传输协议(SMTP)、短信服务(SMS)等等。附加地 或可选择地, 一个或多个专用文件传输/信息交换协议可以用于在范例连续 同步化层级400中的网络化节点之间同步化信息及/或数据文件。
图4的范例连续同步化层级400也支持将节点添加到范例过程控制系统 IOO及将节点从范例过程控制系统IOO移除节点。在一实施例中,当一新网 络化节点被添加到一现有连续同步化层级(比如范例连续同步化层级400 )时,所述根节点从优先级最低的层级同步化水平随机选择一网络化节点(或 换句话说,随机选择所述范例连续同步化层级的一个叶节点)作为与所述新 添加的网络化节点相关的父节点。所述根节点接着将所述新添加的网络化节 点配置成与所述随机选择的叶节点直接相关的直接子节点。参看图4的图解 范例,在需将一新节点添加到范例连续同步化层级400时,根节点105(节
点0 )随机选择优先级最低的第三水平420的叶节点120 (节点3 ) 、 125 (节 点4)、 135 (节点6)或140 (节点7)的其中之一,并将所述新添加的节 点分配成为所选择的叶节点的子节点。
此外,在一实施例中,当需从一现有连续同步化层级(比如范例连续同 步化层级400)移除(例如在计划网络重新配置期间预期地移除或在发现错 误情况、运行中断等等之后移除) 一现有网络化节点时,所有被移除的节点 的相关派生节点自动地被重新分配成为所述根节点的派生节点。例如,所述 根节点可以配置成选择所述移除节点的所述派生节点的其中之一,作为在一 新的优先级最低的层级同步化水平与所述根节点直接相关的 一个新的直接 子节点,从而将这个新的子节点置于比已经与所述根节点直接相关的任何现 有直接子节点的优先级水平为低的优先级水平。所述根节点现在可以接着将 先前与所述移除节点相关的任何剩余的派生节点配置成通过所述新配置的 直接子节点与所述根节点间接相关的间接节点。参看图4的图解范例,如果 网络化节点130 (节点5)从范例连续同步化层级400移除,根节点105 (节 点0)可以将所述移除节点的派生节点140 (节点7)重新配置成在一新的 优先级最低的第四层级同步化水平(图中未显示)与根节点105 (节点0) 直接相关的直接子节点。
此外,在一实施例中,所述根节点监控所述连续同步化层级(比如范例 连续同步化层级400)的全部配置。如果通过所述同步化层级的一个或多个 父-子(或更明确地说,父-子-派生)节点传播路径因节点添加及/或移除而 变得比其他传播路径长得多,所述根节点可能破坏所述现有同步化层级并起 动在以下详细讨论的连续同步化层级的重新配置。图4也图解一便利符号,该便利符号可以用于表示网络化节点的层级水
平分配及范例连续同步化层级400中的父-子-派生节点关系。在所述图解范
例中,当通过将所述节点分配为一相关父节点的直接子节点配置一网络化节
点以包含在范例连续同步化层级400中时,所配置的节点使用以下递归格式 标注"((<父标注>)<分配子层级同步化水平>)"。根节点105 (节点0)标 注为NO,以初始化所述符号格式。
因此,根据这个标注惯例,网络化节点110 (节点1)标注为((NO)l), 这表示其为在所述第一层级同步化水平405的根节点NO的直接子节点。同 样地,网络化节点115(节点2)及120(节点3 )依次标注为((N0)2)及((N0)3), 以表示它们是在相应的第二水平415及第三水平420的根节点NO的直接子 节点。此外,网络化节点130 (节点5)标注为(((N0)1)2),以表示其为在第 二水平415的节点((N0)1)的直接子节点,而且同时也是通过节点((N0)1)与根 节点NO相关的间接子节点。同样地,网络化节点135 (节点6)标注为 (((N0)1)3),以表示其为在第三水平420的节点((N0)1)的直接子节点,而且 同时也是通过节点((N0)1)与根节点NO相关的间接子节点。此外,网络化节 点124(节点4)标注为(((兩)2)3),以表示其为在第三水平420的节点((N0)2) 的直接子节点,而且同时也是通过节点((N0)2)与根节点NO相关的间接子节 点。最后,网络化节点140 (节点7)标注为((((N0)1)2)3),以表示其为在第 三水平420的节点(((N0)1)2)的直接子节点,而且同时也是通过节点(((N0)1)2) 与节点((NO) 1 )相关的间接子节点,以及通过节点((NO) 1 )及(((NO) 1 )2)与根节 点NO相关的间接子节点。
图5A-5G图解一范例配置程序,该范例配置程序用于配置图1的范例 过程控制系统的网络化节点105-140,以构成图4的范例连续同步化层级 400。图5A-5G中图解的范例配置程序使用分布式配置,其中配置成作为父 节点进行操作的每个网络化节点只负责配置所述连续同步化层级的一部分, 例如只负责配置包括任何直接相关的子节点的部分。在高水平,所述范例配 置程序配置一同步化层级(比如连续同步化层级400)如下述。最初, 一节点被分配成为一根节点。接着,所述根节点迭代地(i)从获得的剩余可用 节点清单选择一节点及(ii)将包含在所述清单中的一子集合(例如一半) 的剩余可用节点分配成为所述新选择的节点的派生节点。在所述迭代配置的 每个通道,所述根节点向所选择的节点传送一配置信息,以便将所选择的节 点绘制成与在所述同步化层级中的下一可用层级同步化水平的所述根节点 直接相关的直接子节点。所述配置信息也促使所选择的节点将所述根节点当 成其唯一的父节点。此外,所述配置信息包括被选定作为所述新配置的直接 子节点的 一 集合的派生节点的所述子集合的剩余可用节点。这个信息允许所 述新配置的直接子节点配置其本身的派生节点。所述根节点完成这个过程,
直到其清单的剩余可用节点用完为止。
与所述根节点本身的直接子节点的配置平行(例如同时),由所述根节 点选择作为直接子节点的每个节点以相同的迭代方式配置其各自的子节点。 例如,如以上所述,在所述迭代配置的每个通道,所述根节点从一清单的剩 余可用节点选择一节点,并传送一配置信息以便将所述特定选择节点绘制成 所述根节点的直接子节点。所述配置信息也包括被选定作为所述新配置的直 接子节点的 一 集合的派生节点的 一子集合的剩余可用节点。在接收到所述选 定集合的派生节点之后,所述新配置的直接子节点作为一父节点进行操作, 以开始选择自所获取(例如接收)的集合的派生节点的、其本身的直接子节
点的迭代配置。明确地说,在迭代配置的每个通道, 一特定父节点(i)从
其获得的剩余派生节点清单选择一节点作为一直接子节点及(ii)将包含在 所述清单中的一子集合(例如一半)的剩余派生节点分配成为所述新选择的
直接子节点的派生节点。同所述根节点的操作一样,所述特定父节点接着向 所选择的节点传送一配置信息,以便将所选择的节点绘制成与在下一可用层 级同步化水平的父节点(相对于所述特定父节点)直接相关的直接子节点。 所述配置信息也包括所选择的集合的派生节点,以使这个新配置的直接子节 点允许所述直接子节点接着配置其本身的派生节点。这个迭代配置程序继 续,直到所有网络化节点已经包含在所述同步化层级中为止。参看图5 A,在范例过程控制系统100上执行的所述图解范例配置程序
以第一配置迭代505为开始,在第一配置迭代505期间,被选择作为根节点 并标注为NO的网络化节点105 (节点0)配置网络化节点110 (节点1 ), 以便包含在范例连续同步化层级400中。明确地说,根节点105(节点0+ NO ) 将节点110 (节点1)配置成为其在第一层级同步化水平410的直接子节点, 因此促使节点IIO(节点1 )被标注为((NO)l)。在以下描述中,向右箭头(^) 表示网络化节点已经分配到范例连续同步化层级400 -如在所述箭头之后 提供的标注所示。在第一迭代505期间执行的配置的进一步特征在图5B中 图解。
如图5B中所示,节点105 (节点O^NO)获取一剩余可用节点清单, 以便以初始派生节点清单510的形式进行配置。在第一配置迭代505期间, 初始派生节点清单510包括范例过程控制系统100中的所有其他网络化节点 110-140 (例如依次标注为Nl-N7)的清单,而且可以通过存^f诸在才艮节点105
(节点0+NO)及/或可由根节点105 (节点0"^NO)存取的网络配置信息、 通过由用户的输入等等来获取。根节点105 (节点0^N0)接着通过选择节 点110 (节点1 )作为其在第一水平410的直接子节点(以((N0)1))表示), 以及选择初始派生节点清单510中的一子集合(例如一半)的剩余节点,作 为与所选择的子节点no (节点l+((N0)1))相关的一集合的派生节点(例 如N5-N7),构成一选择清单512。这些选定的节点接着从初始派生节点清 单510中移除,以构成一与根节点105 (节点0+N0)相关的更新派生节点
(例如N2-N4)清单514。
亦在第一配置迭代505期间,根节点105 (节点0》N0)将一配置信息 传送到所选择的子节点110 (节点1^((N0)1)),促使子节点IIO识别根节 点105为其唯一父节点。因此,所述选定子节点110 (节点((NO)l))将 根节点105 (节点0^N0)的一标识符存储在一父节点配置元件516中。来 自根节点105(节点0+NO)的所述配置信息也包括被选择与子节点IIO(节 点((NO)l))发生联系的、所述集合的派生节点(例如N5-N7)。因此,子节点110 (节点1">((兩)1))将所接收的集合的派生节点(例如N5-N7) 存储在其本身的初始派生节点清单518中。因此,在第一配置迭代505的末 端,被分配到第一水平410 (例如节点110)的所述节点准备开始从其相应 的父节点(例如节点105)接收正在接受同步化的信息(例如一个或多个数 据文件)。
接着,在图5C中图解的第二配置迭代520期间,根节点105 (节点0 ^ NO )配置网络化节点115 (节点2 ),以包含在范例连续同步化层级400中; 而节点110 (节点1+ ((NO)l))在几乎同一时间配置网络化节点130 (节点 5),以包含在范例连续同步化层级400中。明确地说,根节点105(节点0 ^N0)将节点115 (节点2)配置为其在第二层级同步化水平415的直接子 节点,因此促使节点115 (节点2)被标注为((N0)2)。此外,节点110 (节 点((NO)l))将节点130 (节点5)配置为其在第二层级同步化水平415 的直接子节点,因此促使节点130 (节点5)被标注为(((N0)1)2)。在第二迭 代520期间执行的配置的进一步特征在图5D中图解。
如图5D中所示,在第二配置迭代520期间,根节点105 (节点0^N0) 有一初始派生节点清单522,初始派生节点清单522相应于在第一配置迭代 505期间创建的更新派生节点清单514。初始派生节点清单522包括需由根 节点105 (节点0"^NO)配置的剩余网络化节点(例如N2-N4)清单。根节 点105 (节点0^ NO)接着通过选择节点115 (节点2)作为其在第二水平 415的直接子节点(以((N0)2))表示),以及选择初始派生节点清单522中的 一子集合(例如一半)的剩余节点,作为与所选择的子节点115 (节点 ((N0)2))相关的一集合的派生节点(例如N4),构成一选择清单524。这 些选定的节点接着A^初始派生节点清单522中移除,以构成一与根节点105 (节点0^ NO)相关的更新派生节点(例如N3)清单526。此外,根节点 105 (节点0+ NO)将一配置信息传送到所选择的子节点115 (节点 ((N0)2)),促使子节点115识别根节点105为其唯一父节点。因此,所述选 定子节点115 (节点2^((N0)2))将根节点105 (节点0—NO)的一标识符存储在一父节点配置元件516中。此外,子节点115 (节点2~> ((N0)2))将 包含在所接收的配置信息中的所述集合的派生节点(例如N4)存储在其本 身的初始派生节点清单530中。
亦在第二配置迭代520期间,而且与由根节点105 (节点O^NO)执行 的配置几乎平4亍(例如同时),节点110 (节点1》 ((NO)l))以相应于在 第 一配置迭代505期间创建的派生节点清单518的 一初始派生节点清单532, 开始其本身的节点配置。初始派生节点清单532包括需由节点IIO(节点 ((NO)l))配置的剩余网络化节点(例如N5-N7)清单。节点110 (节点1 + ((NO)l))接着通过选择节点130 (节点5)作为其在第二水平415的直接子 节点(以(((N0)1)2)表示),以及选择初始派生节点清单532中的一子集合 (例如一半)的剩余节点,作为与所选择的子节点130(节点5+(((N0)1)2)) 相关的一集合的派生节点(例如N7),构成一选择清单534。这些选定的 节点接着从初始派生节点清单532中移除,以构成一与节点110 (节点 ((NO)l))相关的更新派生节点(例如N6)清单536。此外,节点110 (节点 l"^ ((NO)l))将一配置信息传送到所选择的子节点130 (节点 (((N0)1)2)),促使子节点130识别节点IIO为其唯一父节点。因此,所述 选定子节点130 (节点5+ (((N0)1)2))将节点110 (节点1— ((NO)l))的 一标识符存储在一父节点配置元件538中。此外,子节点130 (节点 (((N0)1)2))将包含在所接收的配置信息中的所述集合的派生节点(例如N7 ) 存储在其本身的初始派生节点清单540中。
因此,在第二配置迭代520的末端,被分配到第二水平415的节点(例 如节点115及130)准备开始从它们各自的父节点(例如节点105及110) 接收正在接受同步化的信息(例如数据文件)。
最后,在图5E中图解的第三配置迭代550期间,根节点105(节点0^ NO )配置网络化节点120 (节点3 ),以包含在范例连续同步化层级400中; 而节点110 (节点((NO)l)) 、 115 (节点2+ ((N0)2))及130 (节点5 — (((N0)1)2))在几乎同一时间依次配置网络化节点135 (节点6) 、 125 (节点4 )及140 (节点7 ),以包含在范例连续同步化层级400中。明确地说, 根节点105 (节点0^N0)将节点120 (节点3)配置为其在第三层级同步 化水平420的直接子节点,因此促使节点120 (节点3 )被标注为((N0)3)。 此外,节点110 (节点1》((NO)l))将节点135 (节点6)配置为其在第三 层级同步化水平420的直接子节点,因此促使节点135 (节点6)被标注为 (((N0)1)3)。同样地,节点115 (节点2》((N0)2))将节点125 (节点4)配 置为其在第三层级同步化水平420的直接子节点,因此促使节点125 (节点 4)被标注为(((N0)2)3)。此外,节点130 (节点5》(((兩)1)2))将节点140
(节点7)配置为其在第三层级同步化水平420的直接子节点,因此促使节 点140 (节点7)被标注为((((NO) 1)2)3)。在第三迭代550期间执行的配置的 进一步特征在图5F-5G中图解。
如图5F中所示,在第三配置迭代520期间,根节点105 (节点0^N0) 有一初始派生节点清单552,初始派生节点清单552相应于在第二配置迭代 520期间创建的更新派生节点清单526。初始派生节点清单552包括需由根 节点105 (节点0^ NO)配置的剩余网络化节点(例如N3)清单。根节点 105 (节点0^N0)接着通过选择节点120 (节点3 )作为其在第三水平420 的直接子节点(以((N0)3)表示),构成一选择清单554。此外,根节点105
(节点0+ NO )确定没有剩余节点可以被选择为所述选定子节点120 (节点 3》((N0)3))的派生节点。所述选定节点接着从初始派生节点清单552中移 除,以构成一不包含更多剩余节点的更新派生节点清单556 (这表示所述根 节点的迭代配置将以这个迭代结束)。此外,根节点105 (节点O^NO)将 一配置信息传送到所选择的子节点120(节点((N0)3)),促使子节点120 识别根节点105为其唯一父节点。因此,所述选定子节点120 (节点3+ ((N0)3))将根节点105 (节点0》N0)的一标识符存储在一父节点配置元件 558中。此外,子节点120 (节点3^((N0)3))没有相关的派生节点,因此, 其本身的初始派生节点清单560保持空白(这表示子节点120为范例同步化 层级400的叶节点)。亦在第三配置迭代550期间,而且与由根节点105 (节点NO )执行 的配置几乎平行(例如同时),节点110 (节点((NO)l))以相应于在 第二配置迭代520期间创建的派生节点清单536的 一初始派生节点清单562, 开始其本身的节点配置。初始派生节点清单562包括需由节点IIO(节点1 + ((NO)l))配置的剩余网络化节点(例如N6)清单。节点110 (节点 ((NO)l))接着通过选择节点135 (节点6)作为其在第三水平420的直接子 节点(以(((N0)1)3)表示),构成一选择清单564。此外,节点110 (节点1 ^ ((NO)l))确定没有剩余节点可以被选择为所述选定子节点135 (节点 (((N0)1)3))的派生节点。所述选定节点接着从初始派生节点清单562中移 除,以构成一不包含更多剩余节点的更新派生节点清单566 (这表示这个节 点的迭代配置将以这个迭代结束)。此外,节点110 (节点1 — ((NO)l))将 一配置信息传送到所选择的子节点135 (节点6^(((N0)1)3)),促使子节点 135识别节点110为其唯一父节点。因此,所述选定子节点135 (节点6+ (((N0)1)3))将节点110 (节点1 ^ ((NO)l))的一标识符存储在一父节点配 置元件568中。此外,子节点135 (节点(((N0)1)3))没有相关的派生 节点,因此,其本身的初始派生节点清单570保持空白(这表示子节点135 为同步化层级400的叶节点)。
参看图5G,在第三配置迭代550期间,而且与由根节点105 (节点O今 NO)及节点110 (节点1+ ((NO)l))执行的配置几乎平行(例如同时), 节点115 (节点((N0)2))以相应于在第二配置迭代520期间创建的派 生节点清单530的一初始派生节点清单572,开始其本身的节点配置。初始 派生节点清单572包括需由节点115 (节点((N0)2))配置的剩余网络 化节点(例如N4)清单。节点115 (节点2"^ ((N0)2)接着通过选择节 点125 (节点4)作为其在第三水平420的直接子节点(以(((N0)2)3)表示), 构成一选择清单574。此外,节点115(节点2今 ((N0)2)确定没有剩余节 点可以被选择为所述选定子节点125 (节点4+(((N0)2)3))的派生节点。所 述选定节点接着从初始派生节点清单572中移除,以构成一不包含更多剩余
34节点的更新派生节点清单576 (这表示这个节点的迭代配置将以这个迭代结
束)。此外,节点115 (节点2^((N0)2))将一配置信息传送到所选择的子 节点125 (节点4^(((N0)2)3)),促使子节点125识别节点115为其唯一父 节点。因此,所述选定子节点125 (节点4+(((N0)2)3))将节点115 (节点 2 + ((N0)2))的一标识符存储在一父节点配置元件578中。此外,子节点 125 (节点4^(((N0)2)3))没有相关的派生节点,因此,其本身的初始派生 节点清单580保持空白(这表示子节点125为同步化层级400的叶节点)。
亦在第三配置迭代550期间,而且与由根节点105 (节点0^N0)、节 点110 (节点((NO)l))及节点115 (节点((N0)2))执行的配置几 乎平行(例如同时),节点130 (节点(((N0)1)2))以相应于在第二配置 迭代520期间创建的派生节点清单540的一初始派生节点清单582,开始其 本身的节点配置。初始派生节点清单582包括需由节点130 (节点5 ^ (((N0)1)2))配置的剩余网络化节点(例如N7)清单。节点130 (节点 (((N0)1)2))接着通过选择节点140 (节点7)作为其在第三水平420的直接 子节点(以((((N0)1)2)3)表示),构成一选择清单584。此外,节点130(节 点(((NO) 1)2))确定没有剩余节点可以:故选择为所述选定子节点140 (节 点((((N0)1)2)3))的派生节点。所述选定节点接着从初始派生节点清单 582中移除,以构成一不包含更多剩余节点的更新派生节点清单586 (这表 示这个节点的迭代配置将以这个迭代结束)。此外,节点130 (节点5 + (((N0)1)2))将 一 配置信息传送到所选择的子节点140 (节点 ((((NO) 1)2)3)),促使子节点140识别节点130为其唯一父节点。因此,所 述选定子节点140(节点7》((((N0)l)2)3))将节点130(节点5+ (((兩)1)2)) 的一标识符存储在一父节点配置元件588中。此外,子节点140 (节点 ((((N0)1)2)3)没有相关的派生节点,因此,其本身的初始派生节点清单590 保持空白(这表示子节点140为同步化层级400的叶节点)。
因此,在第三配置迭代550的末端,被分配到第三水平420的节点(例 如节点120、 125、 135及140)准备开始从它们各自的父节点(例如105、115、 110及130)接收正在接受同步化的信息(例如数据文件)。此外,在 所述图解范例中,范例同步化层级400的配置在第三配置迭代550的末端完 成,而分配到相应的第三层级同步化水平420的节点构成所述层级的叶节点。
图6图解一可以用于图1的范例过程控制系统100中以实施图4的范例 连续同步化层级400的范例信息同步器600的框图。范例信息同步器600至 少支持范例连续同步化层级400的部分的配置以及信息(例如一个或多个数 据文件)的传播,以便在范例连续同步化层级400中执行同步化。此外,所 述图解范例的信息同步器600预计由范例过程控制系统100的范例网络化节 点105-140中的一个或多个网络化节点实施及/或使用。
参看图6,为了至少支持范例连续同步化层级400的部分的配置,范例 信息同步器600包括一节点配置界面605、 一节点选择器610、 一节点清单 分段器615、 一子节点绘制界面620以及一节点清单存储单元625。范例节 点配置界面605配置成获取需与范例过程控制系统100的网络化节点 105-140中的一个特定网络化节点发生联系的所述集合的派生网络化节点的 清单(在此亦称"派生节点清单")。例如,如果范例信息同步器600配置 成支持根节点105 (节点0+N0)(例如实施及/或配置范例信息同步器600 以供根节点105 (节点0+N0)使用),则范例节点配置界面605可以配置 成根据可用网络配置、用户输入等等,获得所述派生节点清单。然而,如果 范例信息同步器600配置成支持节点110 (节点1^((N0)1)),则范例节点 配置界面605可以配置成从由节点IIO的相关父节点(即根节点105 (节点 0^N0))传送的配置信息获取所述派生节点清单。不论如何获取所述派生 节点清单,范例节点配置界面605配置成将所述派生节点清单存储在范例节 点清单存储单元625中。
范例节点选择器610配置成从存储在范例节点清单存储单元625中的所 述派生节点清单选择一个或多个直接子节点,以便从由范例信息同步器600 支持的特定网络化节点接收正在接受同步化的信息。在一实施例中,对于一相关父节点而言,节点选择器610从所述派生节点清单迭代地选择个别的节 点作为一直接子节点,然后在从所述派生节点清单的更新版本选择另一直接 子节点之前等待所述选定直接子节点的配置完成。在所述一个或多个直接子
节点被选择之后,范例节点选择器610通过移除被选择作为由范例信息同步 器600支持的所述特定节点(例如作为一父节点进行操作)的直接子节点的 所述节点,更新存储在范例节点清单存储单元625中的所述派生节点清单。 范例节点选择器610也包括范例节点清单分段器615,以便从存储在范 例节点清单存储单元625中的派生节点清单选择需与由范例信息同步器600 支持的所述特定节点间接发生联系的 一集合或多集合的间接子节点。在一实 施例中,节点清单分段器615配置成迭代地选择所述派生节点清单中剩余的 节点的一部分(例如一半),作为通过在相同的迭代或先前的迭代期间由节 点选择器610选择的相应直接子节点来接收所述正在接受同步化的信息的、 所述集合的间接子节点。照这样,所述正在接受同步化的信息需由所述集合 的间接子节点通过所述选定的直接子节点间接地接收,而不是直接从由范例 信息同步器600支持的网络化节点接收。在所述一个集合或多个集合的间接 子节点被选择之后,
范例节点清单分段器615通过移除包含在所述一个或多个选定集合的间接 子节点中的节点,更新存储在范例节点清单存储单元625中的所述派生节点清单。
范例子节点绘制界面620操作来配置由节点选择器610选择的每个直接 子节点,以便直接从由范例信息同步器600支持的网络化节点(例如作为一 父节点进行操作)接收所述正在接受同步化的信息。此外,子节点绘制界面 620操作来向由范例节点清单分段器615选择的所述相应集合的间接子节点 提供正在接受配置的所述直接子节点。例如,子节点绘制界面620可以传送 一配置信息到目前由范例节点选择器610选择的的直接子节点,这包括目前 由范例节点清单分段器615选择的所述清单的间接节点。在接收之后,这样 的配置信息可以促使所述接收直接子节点将所述传送网络化节点当成其父节点。此外,所述新配置的直接子节点可以开始将所接收的集合的间接子节 点配置成通过所述新配置的直接子节点接收所述正在接受同步化的信息。
如以上所述,范例节点清单存储单元625配置成存储用于由范例信息同
步器600支持的网络化节点的所述派生节点清单。范例节点清单存储单元 625可以以任何类别的存储设备、存储器元件等等来实施。此外,范例节点 清单存储单元625可以以任何适当格式(例如数据库、链接清单、数组元件 等格式)存储。
为了根据范例连续同步化层级400同步化信息(例如一个或多个数据/ 配置文件),范例信息同步器600包括一同步化数据接收界面630、 一同步 化排序器635及一同步化数据传输界面640。范例同步化数据接收界面630 配置成接收所述正在接受同步化的信息,以供由范例信息同步器600支持的 网络化节点处理。所接收的信息可以是一个或多个接收数据(例如配置)文 件、 一个或多个数据包、 一个或多个数据输入等等形式。例如,如果范例信 息同步器600配置成支持根节点105 (节点NO)(例如实施及/或配置 范例信息同步器600以供根节点105 (节点O^NO)使用),则范例同步化 数据接收界面630可以配置成接收数据输入及/或由用户更新的数据(例如 配置)文件为所述正在接收同步化的信息。然而,如果范例信息同步器600 配置成支持节点110 (节点((NO)l)),则范例同步化数据接收界面630 可以配置成从节点110的所述父节点(即根节点105 (节点0^N0))接收 所述正在接收同步化的信息。不论范例同步化数据接收界面630需如何接收 所述正在接收同步化的数据,所接收的信息根据范例同步化排序器635同步 化。
在所述图解范例中,同步化排序器635配置成排序由范例同步化数据接 收界面630接收的信息连续地传播到由范例信息同步器600支持的父节点的 每个直接子节点。如以上所述,在一实施例中,范例同步化层级400中的特 定父节点的每个直接子节点分配到一唯一层级同步化水平。因此,在这样的 实施例中,同步化排序器635可以配置成根据所述直接子节点被分配到的所述唯一层级同步化水平,排序所述信息连续地传播到每个直接子节点。例如, 同步化排序器635可以通过按所述直接子节点被分配到的所述唯一集合的 层级同步化水平,以递减优先级次序连续地选择一被支持的父节点的直接子
节点,排序信息传播。换句话说,在这样的实施例中,同步化排序器635在 将所述正在接受同步化的信息传送到与优先级低于第一层级同步化水平的 第二层级同步化水平相关的第二直接子节点之前,排序所述正在接受同步化
的信息到与第一层级同步化水平相关的第一直接子节点的传送。
此外,所述图解范例的同步化排序器635配置成排序所述正在接受同步 化的信息到一直接子节点的传送,倘若所述直接子节点已经由范例子节点绘 制界面620成功地配置(例如绘制),不论所述直接子节点是否已经完成配 置(例如绘制)其本身的相关子节点以供包含在范例同步化层级400中。照 这样,范例同步化排序器635可以排序信息以供传播到一直接子节点,即使 整个范例同步化层级400的配置/构成尚未完成。此外,范例同步化排序器 635配置成自治地操作,以排序信息到每个直接子节点的传播,不论正在由 配置成作为范例同步化层级400中的父节点进行操作的任何其他节点执行 的信息传播。例如,假设支持第一配置父节点的、范例同步化排序器635的 第一实例排序所述正在接受同步化的信息到第一直接子节点的传送。接着, 由于每个范例同步化排序器635自治地操作,范例同步化排序器635的所述
第一实例可以排序所述正在接受同步化的信息到所述被支持的第一父节点 的第二直接子节点的传送;而支持所述第一直接子节点的、范例同步化排序
器635的第二实例正在重新传送所接收的正在接受同步化的信息到其本身 的直接子节点。换句话说,所述图解范例的同步化排序器635支持沿着几个 父-子节点连续传播路径,同时同步化信息。
范例信息同步器600也包括同步化数据传输界面640,以便按范例同步 化排序器635的排序,将所述正在接受同步化的信息传输到一个或多个直接 子节点。例如,同步化数据传输界面640可以根据任何标准及/或专用数据 传输协议,以一个或多个接收数据(例如配置)文件、 一个或多个数据包等等形式来传输所述正在接受同步化的信息。
范例信息同步器600也包括一错误处理器645。所述图解范例的错误处 理器645配置成支持范例信息同步器600的层级配置及信息同步化这两方 面。例如,错误处理器645可以配置成确定由范例子节点绘制界面620传送 的配置(例如绘制)信息是否已经由预定的接收节点接收及确认接收。如果 确认接收所述配置(例如绘制)信息,错误处理器645可以确定所述接收节 点已经适当地配置成为由范例信息同步器600支持的所述父节点的直接子 节点,而且确定所述配置(例如绘制)信息中包含的任何集合的间接子节点 已经由所述直接子节点成功地接收。然而,如果不确认接收所述配置(例如 绘制)信息,则错误处理器645可以确定所述预计接收节点的配置不成功, 及/或所述接收节点没有成功地接收到所述集合的间接子节点。
在后者的情况下,错误处理器645可以使用确认接收的缺乏来进一步确 定所述预计接收节点已经从范例过程控制系统100中移除,因此所述移除节 点的任何相关派生节点需要重新配置成为所述根节点的派生节点,如以上详 细讨论的那样。在范例信息同步器600支持范例同步化层级400的根节点 105 (节点0 — N0)的情况下,范例错误处理器645做出的有关所述预计接 收节点已经从系统100中移除的确定可以促使存储在范例节点清单存储单 元625中的派生节点清单被更新而包括所述移除节点的任何派生节点。范例 信息同步器600可以接着如以上讨论的那样处理所述更新派生节点清单,以 便重新配置(例如重新绘制)这些节点,以供包含在范例同步化层级400中。
所述信息是否已经由所述预计接收节点接收及确认接收,支持信息同步化。 如果确认接收所传送的信息,错误处理器645可以确定所述接收节点已经适 当地接收所述正在接收同步化的信息而且可以以其本身的子节点继续同步 化所述信息。然而,如果没有确认接收所传送的信息,则错误处理器645可 以确定信息没有由所述预计接收节点成功地接收。在后者的情况下,错误处 理器645可以确认接收的缺乏来进一步确定所述预计接收节点已经从范例
40过程控制系统100中移除,因此所述移除节点的任何相关派生节点需要重新 配置成为所述根节点的派生节点,如以上详细讨论的那样。如以上所述,如
果范例错误处理器645确定所述预计接收节点已经从系统100中移除,范例 错误处理器645可以促使存储在范例节点清单存储单元625中的派生节点清 单以所述移除节点的派生节点更新,以允许重新配置(例如重新绘制)这些 节点,以供包含在范例同步化层级400中。
虽然图6已经图解实施范例信息同步器600的范例方式,但图6中图解 的一个或多个元件、过程及/或设备可以以任何其他方式结合、分开、重新 排列、省略、排除及/或实施。此外,图6的范例节点配置界面605、范例节 点选择器610、范例节点清单分段器615、范例子节点绘制界面620、范例 节点清单存储单元625、范例同步化数据接收界面630、范例同步化排序器 635、范例同步化数据传输界面640、范例错误处理器645及/或(更概括地) 范例信息同步器600可以由硬件、软件、固件及/或硬件、软件及/或固件的 任何结合来实施。因此,(例如)图6的范例节点配置界面605、范例节点 选择器610、范例节点清单分段器615、范例子节点绘制界面620、范例节 点清单存储单元625、范例同步化数据接收界面630、范例同步化排序器635、 范例同步化数据传输界面640、范例错误处理器645及/或(更概括地)范例 信息同步器600可以由一个或多个电路、可编程处理器、专用集成电路 (ASIC(s))、可编程逻辑器件(PLD(s))及/或现场可编程逻辑器件(FPLD(s)) 等等来实施。此外,图6的范例信息同步器600可以包括一个或多个元件、 过程及/或图6中图解的那些设备或图6中图解的那些设备以外的设备,及/ 或可以包括超过一个的所述图解的任何或全部元件、过程及设备。
图7、 9及11A-11B中显示可以执行来实施(至少是部分地实施)范例 过程控制系统100 、范例网络化节点105-140 、范例连续同步化层级400 、图 6的范例信息同步器600、范例节点配置界面605、范例节点选择器610、范 例节点清单分段器615、范例子节点绘制界面620、范例节点清单存储单元 625、范例同步化数据接收界面630、范例同步化排序器635、范例同步化数据传输界面640及/或范例错误处理器645的范例过程的流程图。在这些范 例中,每个流程图代表的过程可以由包括供(a)处理器(比如连同图12 进行讨论的显示于范例计算机1200中的处理器1212) 、 (b)控制器及/或 (c)任何其他合适设备执行的机器可读指令的一个或多个编程来实施。所 述一个或多个编程可以包含于存储在有形媒介上的软件中,例如包含于存储 在闪速存储器、CD-ROM、软盘、硬盘、DVD或与处理器1212相关的存储 器上的软件中,但整个编程或多个编程及/或其部分可以选择地由处理器 1212之外的设备及/或包含在固件或专用硬件的设备执行,例如由专用集成 电路(ASIC)、可编程逻辑器件(PLD)、现场可编程逻辑器件(FPLD)、 离散逻辑等等实施。例如,范例过程控制系统100、范例网络化节点105-140、 范例连续同步化层级400、图6的范例信息同步器600、范例节点配置界面 605、范例节点选择器610、范例节点清单分段器615、范例子节点绘制界面 620、范例节点清单存储单元625、范例同步化数据接收界面630、范例同步 化排序器635、范例同步化数据传输界面640及/或范例错误处理器645中的 任何一项或全部可以以软件、硬件及/或固件的任何结合来实施。此外,图7、 9及11A-11B的流程图代表的一些或所有过程可以人工地实施。此外,虽然 所述范例过程以图7、 9及11A-11B中的流程图作为参考进行描述,但也可 以使用许多其他技术来实施在此描述的范例方法及设备。例如,关于图7、 9及11A-11B的流程图,流程块的执行顺序可以改变,及/或所描述的有些 流程块可以改变、去除、结合及/或再分为多个流程块。
图7图解 一 范例信息同步化过程700 ,范例信息同步化过程700可以执 行来实施图6的范例信息同步器600的至少一部分,以便根据范例连续同步 化层级400,在(例如)范例过程控制系统100的网络化节点105-140之间 执行信息同步化。在一实施例中,范例信息同步化过程700的一实例由范例 网络化节点105-140中的每个网络化节点执行,以便(例如)配置范例连续 同步化层级400及支持沿着多个父-子节点连续传播路径同时同步化数据。 在不失去一般性的情况下,范例信息同步化过程700的操作是以由以下称为"即时节点"的代表性网络化节点执行的语境来描述,而以下称为"即时节
点"的代表性网络化节点可以是(例如)范例网络化节点105-140的任何其 中之一。范例信息同步化过程700可以根据预定事件的发生(例如范例过程 700的中断调度执行),在预定间隔(接收需由所述即时节点同步化的信息 的预期间隔)作为背景过程等等或其任何结合继续执行。
参看图7,范例信息同步化过程700于流程块705开始,在流程块705, 范例信息同步器600接收需由所述即时节点同步化的信息(例如一个或多个 数据/配置文件)。例如,在流程块705,包含在范例信息同步器600中的范 例同步化数据接收界面630可以接收所述正在接受同步化的信息。此外,如 以上所述,如果所述即时节点为范例连续同步化层级400的根节点105 (节 点0 + NO ),则在流程块705,范例同步化数据接收界面630可以接收由用 户提供的一个或多个输入数据条目及/或数据(例如配置)文件作为所述需 同步化的信息。可选择地,如果所述即时节点不是范例同步化层级400的根 节点105 (节点0 NO),则在流程块705,范例同步化数据接收界面630 可以通过从与所述即时节点相关的父节点传播,接收所述需同步化的信息。
在需同步化的信息在流程块705被接收之后,控件进入流程块710。在 流程块710 ,范例信息同步器600确定所述即时节点是否与任何派生节点相 关。例如,在流程块710,包含在范例信息同步器600中的范例同步化排序 器635可以存取存储在范例节点清单存储单元625中的一派生节点清单,以 确定所述即时节点是否与有任何派生节点。如果所述即时节点不与任何派生 节点相关,则所述即时节点为范例同步化层级400的叶节点,而且因此不需 要传送所接收的信息到任何子节点。如果是那样的话,则范例过程700结束。 然而,如果所述即时节点与一个或多个派生节点相关,则所述即时节点将需 要进一步将所接收的信息传送到其直接子节点,而且因此控件进入流程块 715。
在流程块715,范例信息同步器600准备所接收的正在接受同步化的信 息,以供传播(例如传送)到所述即时节点的直接子节点。例如,在流程块715,范例同步化排序器635可以緩冲所接收的信息,以准备传播到下一个 适当的直接子节点。此外,在有些实施例中,在流程块715,范例同步化排 序器635可以重写所述目前被緩冲以供传播到一个或多个直接子节点的信 息,如果该信息的新版本在先前版本还在接受同步化的同时被接收。通过以 所述新版本重写所述先前版本,与如果所述新版本必须等待所述先前版本的 同步化完成比较,所述信息的最新版本可以更快地与所述即时节点的所述直 接子节点同步化。在流程块715执行的所述信息重写处理的 一 范例搡作在图 8中图解,并在以下作更详细讨论。
接着,控件进入流程块720。在流程块720,范例信息同步器600确定 与所述即时节点相关的任何派生节点是否尚未配置以供包含在范例同步化 层级400中。例如,在流程块720,包含在范例信息同步器600中的范例同 步化排序器635可以存取存储在范例节点清单存储单元625中的一派生节点 清单,以确定是否有任何剩余派生节点还需要配置(例如绘制)供包含在范 例同步化层级400中。如果有任何派生节点还需要配置(流程块720),控 件进入流程块725。在流程块725,范例信息同步器600执行一配置程序, 以便将所述剩余的未配置派生节点中的 一个或多个剩余未配置派生节点配 置(绘制)成在相应、唯一的层级同步化水平的直接子节点。此外,可以选 择一个或多个剩余未配置派生节点以供包含在需与一个或多个新配置的直 接子节点发生联系的一个集合或多个集合的间接子节点中,如以上讨论的那 样。在流程块725用于执行所述处理的一范例过程在图9中图解,并在以下 作更i羊细讨i仑。
接着,控件进入流程块730。在流程块730,范例信息同步器600确定 被选择作为所述即时节点的直接子节点的所述一个或多个未配置派生节点 是否成功地配置(例如绘制)。在所述图解范例中,在流程块730,范例信 息同步器600不考虑被选择与所述即时节点的所述直接子节点发生联系的 任何间接子节点是否已经成功地配置,这是由于(如以上所述)只要一个或 多个直接子节点已经配置,同步化可以进行。如果所述直接子节点尚未成功
44地配置(流程块730),控件进入流程块735。在流程块735,范例信息同 步器600等待直到所述直接子节点已经成功地配置。在所述直接子节点已经 成功地配置之后,控件进入流程块740。
从流程块740开始,范例信息同步器600根据所述直接子节点相关的所 述集合的层级同步化水平的优先级次序,将所述正在接受同步化的信息连续 地传送到所述即时节点的每个直接子节点。如以上所述,每个直接子节点与 带有不同同步化优先级的唯一层级同步化水平相关。因此,相应于所述即时 节点的所述集合的直接子节点的所述集合的层级同步化水平可以用于定义 将所述正在接受同步化的信息传播到所述即时节点的所述每个直接子节点 的优先级次序。
为了这个目的,在流程块740,范例信息同步器600在所述剩余直接子 节点之间选择所述正在接受同步化的信息需连续地传播到的、与优先级最高 的层级同步化水平相关的直接子节点。例如,在流程块740,包含在范例信 息同步器600中的范例同步化排序器635可以存取范例节点清单存储单元 625,以处理一清单的直接子节点及相关层级同步化水平,从而选择下一个 直接子节点供同步化排序。在下一个直接子节点在流程块740被选择之后, 控件进入流程块745。在流程块745,范例信息同步器600将所述正在接受 同步化的信息传送到所选择的直接子节点。例如,在流程块745,包含在范 例信息同步器600中的范例同步化数据传输界面640可以以 一个或多个数据 (例如配置)文件、 一个或多个数据包等等的形式,将所述正在接受同步化 的信息传输到所选择的直接子节点。
接着,控件进入流程块750。在流程块750,范例信息同步器600确定 所述正在接受同步化的信息是否已经连续地传送到所述即时节点的所有直 接子节点。如果所述信息尚未传送到所有直接子节点(流程块750),控件 返回到流程块740及流程块740之后的流程块。在流程块740,范例信息同 步器600根据层级优先级次序,选择所述正在接受同步化的信息需连续地传 播到的下一个直接子节点。然而,如果所述信息已经传播到所有直接子节点(流程块750 ),则范例过程700的执行结束。
图8图解在图7的范例信息同步化过程700的流程块715执行的所述信 息重写过程的一范例操作。图8描绘范例连续同步化层级400的一部分,以 说明所述范例同步化信息重写过程。在所述图解范例中, 一信息文件的第一 版本805正在接受同步化,而且因此正在范例同步化层级400的节点之间传 播。在这个特定范例中,所述信息文件的第一版本805已经由根节点105(节 点0 ^ NO)接收,并在第一同步化迭代期间传播到其在第一层级水平410 的子节点110 (节点1 + ((NO)l))。
接着,在第一同步化迭代之后,但在第二同步化迭代之前,所述相同的 信息文件的第二版本810被提供于根节点105(节点0^N0),以进行所述 图解范例中的同步化。因此,在第二同步化迭代之前,根节点105(节点0 + NO)以第二版本810更新其信息文件的本地拷贝,但其子节点110 (节点1 ^ ((NO)l))还是只有第一版本805。接着,在第二同步化迭代期间,根节点 105 (节点0^N0)将所述信息文件的第二版本810传送到其在第一层级水 平410的子节点110 (节点1 ^((N0)1)),而节点110则将所述信息文件的 第一版本805传送到其在第二层级水平415的子节点130 (节点5 + (((N0)1)2))。节点110还是传播所述信息文件的第一版本805,这是由于其 不能存取第二版本810,直到其在第二同步化迭代期间接收第二版本810为 止。
接着,代替继续连续地传播所述信息文件的第一版本805到其剩余子节 点,节点110 (节点1 ^ ((NO)l))使用(例如)以上所述的流程块715的信 息重写过程,以第二版本810重写所述信息文件的第一版本805。照这样, 节点110 (节点1 ^ ((NO)l))可以在不需要等待第一版本805的同步化完成 的情况下,立即开始将所述信息文件的第二版本810传播到其剩余直接子节 点。因此,在第三同步化迭代期间,节点110 (节点1 + ((NO)l))将所述信 息文件的第二版本810传送到其在第三层级水平415的子节点135(节点6 + (((N0)1)3)),即使第一版本805如图中所示那样还在通过范例同步化层级400传播。
图9图解一范例层级节点配置过程725。范例层级节点配置过程725可 以执行来实施图7的流程块725的处理及/或图6的范例信息同步器600的 至少 一部分,以便配置(例如)范例过程控制系统100的网络化节点105-140 中的一个或多个网络化节点,以供包含在范例连续同步化层级400中。在一 实施例中,范例层级节点配置过程725的一实例由范例网络化节点105-140 中的每个网络化节点执行,以便(例如)配置与相应节点相关的、范例连续 同步化层级400的至少一部分。因此,范例层级节点配置过程725可以用于 实施分布式配置,其中每个网络化节点可以作为负责配置所述连续同步化层 级的所述部分(包括其直接相关的子节点)的一父节点进行操作。在不失去 一般性的情况下,范例层级节点配置过程725的操作是以由以下称为"即时 节点,,的代表性网络化节点执行的语境来描述,而以下称为"即时节点"的 代表性网络化节点可以是(例如)范例网络化节点105-140的任何其中之一 。 范例层级节点配置过程725可以根据预定事件的发生(例如范例过程725的 中断调度执行),在预定间隔(配置节点供包含在范例同步化层级400中的 预期间隔)作为背景过程等等或其任何结合继续执行。
参看图9,范例层级节点配置过程725在流程块卯5开始。在流程块卯5, 范例信息同步器600获取需与即时节点发生联系的、所述集合的派生网络化 节点的清单(即派生节点清单)。例如,在流程块905,包含在范例信息同 步器600中的范例节点配置界面605可以获取所述派生节点清单并将所述清 单存储在范例节点清单存储单元625。此外,以及如以上所述,如果所述即 时节点是范例同步化层级400的根节点105 (节点O ^ NO),则在流程块 卯5,范例节点配置界面605可以根据可用的网络配置信息、用户输入等等, 获取所述派生节点清单。可选择地,如果所述即时节点不是范例同步化层级 400的根节点105(节点0^N0),则在流程块卯5,范例节点配置界面605 可以根据由所述即时节点的相关父节点传送的一配置信息,获取所述派生节 点清单。在为所述即时节点获取所述派生节点清单之后,控件进入流程块910。
在流程块910,范例信息同步器600确定所述派生节点清单是否空白。例如, 在流程块910,包含在范例信息同步器600中的范例节点选择器610可以从 范例节点清单存储单元625检索所述派生节点清单,并确定所述清单是否空 白。如果所述派生节点清单不是空白(流程块910),则表示有剩余派生节 点需要配置,因此控件进入流程块915。
在流程块915,范例信息同步器600选择所述派生节点清单中的下一个 可用派生节点,作为分配到下一个可用层级同步化水平的、所述即时节点的 直接子节点。例如,在流程块915,包含在范例信息同步器600中的范例节
点选择器610可以从范例节点清单存储单元625;险索所述派生节点清单,并 选择所述下一个剩余派生节点作为所述即时节点的直接子节点。范例节点选
择器610通过移除所选择的直接子节点,更新存储在范例节点清单存储单元 625中的所述派生节点清单。如以下更详细描述那样,所选择的直接子节点 将被分配到所述下 一 个可用层级同步化水平,并配置成从所述即时节点接收 正在接受同步化的信息。
在选择了下一直接子节点之后,控件进入流程块920。在流程块920, 范例信息同步器600从所述派生节点清单选择一集合的所述剩余派生节点, 作为通过在流程块915选择的直接子节点与所述即时节点相关的一集合的 间接子节点。例如,在流程块920,包含在范例信息同步器600中的范例节 点清单分段器615可以从范例节点清单存储单元625检索所述派生节点清 单,并选择所述剩余节点的一半剩余节点(例如当剩余节点数量为奇数时, 向上或向下求近似值),作为需配置成通过在流程块915选择的直接子节点 接收正在接受同步化的信息的间接子节点。
接着,控件进入流程块925。在流程块925,范例信息同步器600包括 在流程块915选择的派生节点,作为与所述即时节点相关的一集合的直接子 节点中的一个直接子节点。此外,在流程块925,范例信息同步器600将所 选择的直接子节点分配于一集合的层级同步化水平中的、与所述即时节点相关的所述集合直接子节点被分配到的下一个可用(例如优先级最低的)层级 同步化水平。相对于所述即时节点,这个分配允许所选择的直接子节点与范 例同步化层级400中的一个唯一层级同步化水平发生联系。在一实施例中,
在流程块925,范例节点选^^器610可以在范例节点清单存储单元625中维 持的一直接子节点清单中包括所选择的直接子节点及其相关层级同步化水平。
接着,控件进入流程块930。在流程块930,范例信息同步器600将在 流程块925选择的所述集合的间接子节点包含在与所述即时节点相关的整 个集合的间接子节点中。此外,在流程块930,范例信息同步器600指示, 所述新选择的集合的间接子节点需通过在流程块915选择的直接子节点,与 即时节点发生联系。例如,在流程块930,范例节点分段器615可以在范例 节点清单存储单元625中维持的一间接子节点清单中包括所述新选择的集 合的间接子节点及它们与所述新选择的直接子节点的联系。
控件接着进入流程块935。在流程块935,范例信息同步器600将在流 程块915选择的所述网络化节点配置成范例同步化层级400中的所述即时节 点的一个直接子节点。此外,在流程块935,范例信息同步器600向所述直 接子节点提供在流程块920选择的所述集合的间接子节点,以允许所述直接 子节点开始配置所述结合的间接子节点,以供包含在范例同步化层级400
中。例如,在流程块935,包含在范例信息同步器600中的范例子节点绘制 界面620可以传送也描述需与所述直接子节点发生联系的所述集合的间接 子节点的配置(例如绘制)信息到所选择的直接子节点。这样的范例中的所 接收的配置信息促使所述直接子节点将所述即时节点当成其相关父节点及 开始所述集合的间接子节点的层级配置。
在流程块935的处理完成,控件进入流程块940。在流程块940,范例 信息同步器600通过移除在流程块915选择的所述直接子节点及在流程块 920选择的所述相应集合的间接子节点,为所述即时节点更新所述派生节点 清单。照这样,所述派生节点清单表示所述即时节点的所述未配置派生节点。例如,在流程块940,范例信息同步器600可以更新存储在范例节点清单存
储单元625中的所述派生节点清单。当然,如果所述派生节点清单已经在(例 如)流程块915及920的选择处理期间更新,则在流程块940 4丸行的处理为 多余,因此流程块940可以从范例过程725中移除。控件接着返回到流程块 910及流程块910之后的流程块。在流程块910,范例信息同步器600继续 配置所述即时节点的派生节点清单中的剩余网络化节点。
返回到流程块910,如果所述派生节点清单为空白(流程块910),则 表示没有剩余的派生节点需要配置,因此控件进入流程块945。在流程块 945,范例信息同步器600指示,与所述即时节点相关的所述直接子节点的 配置完成。例如,在流程块945,范例信息同步器600可以发出一状态信号、 发出一状态信息等等来表示所述直接子节点的配置完成。范例层级节点配置 过程725的执行接着结束。
图IO图解用于在图4的范例连续同步化层级400的一部分中执行分布 式信息同步化的、图7的范例信息同步化过程700及图9的范例层级节点配 置过程725的多个实例的范例操作。明确地说,图10图解包含在范例同步 化层级400中的四个节点的分布式信息同步化及节点配置。在所述图解范例 中,这四个节点中的每个节点配置成执行范例信息同步化过程700及范例层 级节点配置过程725的一个实例。
参看图10,并参看图4的范例连续同步化层级400,所述图解范例的操 作从流程块1005开始。在流程块1005,根节点105 (节点0 — NO )接收需 在范例连续同步化层级400中同步化的信息。作为响应,在流程块1010, 根节点105 (节点0 + NO )调用其范例层级节点配置过程725的实例的至少 一部分来配置节点IIO(节点1 ^ ((NO)l)),作为其第一直接子节点。此外, 在流程块1010,过程725向节点IIO传送需由节点110配置以供包含在范 例同步化层级400中的一清单的间接子节点。在节点IIO(节点1 ^((N0)1)) 配置之后,而且不论任何相关间接子节点的配置是否已经完成,在流程块 1015,根节点105 (节点0》N0)调用其范例信息同步化过程700的实例的至少一部分来传送所述正在接受同步化的信息到其第一直接子节点110 (节
点1今((NO)l))。因此,在流程块1020,直接子节点IIO(节点1今((NO)l)) 接收来自其相应父节点105 (节点O^NO)的信息。
接着,由于每个节点可以自治地执行同步化处理"艮节点105(节点0 + NO)在节点110 (节点1 ^ ((NO)l))执行其本身的信息同步化及节点配置 的几乎同 一时间(例如同时)继续执行信息同步化及节点配置。更明确地说, 在流程块1025,根节点105 (节点0 + NO)调用其范例层级节点配置过程 725的实例的至少一部分来配置节点115 (节点2^((N0)2)),作为其第二 直接子节点。此外,在流程块1025,过程725向节点115传送需由节点115 配置以供包含在范例同步化层级400中的一清单的间接子节点。在节点115 (节点2 ^ ((N0)2))配置之后,而且不论任何相关间接子节点的配置是否 已经完成,在流程块1030,根节点105 (节点0 ^ NO)调用其范例信息同 步化过程700的实例的至少一部分来传送所述正在接受同步化的信息到其 第二直接子节点115 (节点2 ^ ((N0)2))。因此,在流程块1035,直接子 节点115 (节点2 ^ ((N0)2))接收来自其相应父节点105 (节点0 + NO ) 的信息。
在几乎同一时间,在流程块1040,节点110 (节点1 ^ ((NO)l))调用 其范例层级节点配置过程725的实例的至少一部分来处理先前接收自其父 节点105(节点0^N0)的所述集合的间接子节点。在所述图解范例中,在 流程块1040,过程725将节点130 (节点5 ^ (((N0)1)2))配置为节点110 的第一直接子节点。此外,在流程块1040,过程725向节点130传送需由 节点130配置以供包含在范例同步化层级400中的一清单的间接子节点。在 节点130 (节点5 ^ (((N0)1)2))配置之后,而且不论任何相关间接子节点 的配置是否已经完成,在流程块1045,根节点110 (节点1 ^ ((NO)l))调 用其范例信息同步化过程700的实例的至少一部分,将在流程块1020接收 的所述信息传送到其第一直接子节点130 (节点5 ^ (((N0)1)2))。因此, 在流程块1050,直接子节点130 (节点5 ^ (((N0)1)2))接收来自其相应父
51节点110 (节点1卡((NO)l))的信息。
在图10的图解范例操作中这个阶段,范例节点105 (节点0^ NO)、 IIO(节点((NO)l))、 115(节点2 + ((N0)2))及130(节点(((N0)1)2)) 中的每个节点具有所述正在接受同步化的信息。因此,由于每个节点可以自 治地4丸行同步化处理,节点105、 110、 115及120在几乎同一时间分别在流 程块1055、 1060、 1065及1070为它们各自部分的范例同步化层级400继续 执行信息同步化及节点配置。
图11A-11B图解一用于监控同步化层级(比如图4的范例同步化层级) 的范例网络拓朴的范例网络拓朴监控过程1100。在一实施例中,网络拓朴 监控过程1100由范例连续同步化层级400的根节点105 (节点0^N0)实 施。范例网络拓朴监控过程1100可以根据预定事件的发生(例如范例过程 1100的中断调度执行),在预定间隔(执行
网络拓朴监控的预期间隔)作为背景过程等等或其任何结合继续执行。
参看图IIA,范例网络拓朴监控过程1100从流程块1105开始。在流程 块1105,支持根节点105 (节点0 ^ NO)的范例信息同步器600发现实施 范例同步化层级400的网络拓朴中的变化。例如,在流程块1105,包含在 范例信息同步器600中的范例错误处理器645可以接收及/或确定关于一现 有网络化节点已经从范例同步化层级400中移除或一新网络化节点已经添 加到范例过程控制系统100中而且需包含在范例同步化层级400中的指示。 在一实施例中,范例错误处理器645可以在没有从一直接子节点接收到接收 确认(以响应(例如)已传送的配置信息或已传送的信息)时,确定一节点 已经从范例同步化层级400中移除。范例错误处理器645可以确定需根据由 用户提供的及/或以其他方式提供及/或查询(例如从另一网络化设备,比如 一名称服务器、路由器等等)的网络配置信息,添加一节点到范例同步化层 级400。
在才全测到更新的网络拓朴之后,控件进入流程块1110。在流程块1110, 范例信息同步器600确定所发现的变化相应于一移除网络化节点。如果所述变化相应于一网络化节点的移除(流程块1110),控件进入流程块1115。
在流程块1115,范例信息同步器600开始将所述移除节点的任何派生节点 重新配置为通过从所述移除节点的所述派生节点选择的 一个新的直接子节 点向根节点105报告的、根节点105 (节点O^NO)的派生节点。例如,在 流程块1115,范例信息同步器600可以从支持根节点105 (节点0 + NO) 的范例节点清单存储单元625检索描述整个范例同步化层级400的拓朴配置 信息,以确定哪个(或哪些)网络化节点(如有)是所述移除节点的派生节 点。
假设所述移除节点有至少一个派生节点,为了重新配置所述移除节点的 派生节点,控件进入流程块1120。在流程块1120,范例信息同步器600选 择所述派生节点的其中之一作为根节点105 (节点0 ^ NO )的一个新的直接 子节点。例如,在流程块1120,包含在范例信息同步器600中的范例节点 选择器610可以选择被分配到所述移除节点的所述组合的派生节点之间的 优先级最高的层级同步化水平的派生子节点。可选择地,所述选择可以随机 进行或根据任何其他选择标准进行。
在流程块1120选择新的直接子节点之后,控件进入流程块1125。在流 程块1125,范例信息同步器600将所述新选择的直接子节点分配于相对于 根节点105 (节点O^NO)的下一个可用层级同步化水平。例如,在流程块 1125,范例信息同步器600将所选择的直接子节点分配于与根节点105 (节 点0 + NO)相关的所述集合的直接子节点被分配的、 一集合的层级同步化 水平中的下一个可用(例如优先级最低的)层级同步化水平。控件接着进入 流程块1130。在流程块1130,范例信息同步器600选择所述移除节点的剩 余派生节点,作为通过在流程块1125选择的直接子节点与根节点105 (节 点O^NO)相关的间接子节点。
接着,控件进入流程块1135。在流程块1135,范例信息同步器600更 新描述所述集合的直接子节点及向根节点105(节点0"^NO)报告的整个集 合的间接子节点的拓朴信息。例如,在流程块1135,范例信息同步器600可以在范例节点清单存储单元625中为根节点105(节点0》N0)维持的一 直接子节点清单中包括所选择的直接子节点及其相关层级同步化水平。此 外,范例信息同步器600可以在范例节点清单存储单元625中为根节点105 (节点0 ^ NO)维持的一间接子节点清单中包括所述新选择的集合的间接 子节点及它们与所述新选择的直接子节点的联系。
接着,控件进入流程块1140。在流程块1140,范例信息同步器600将 在流程块1120选择的所述网络化节点配置成范例同步化层级400中的根节 点105 (节点0 + NO)的直接子节点。此外,在流程块1140,范例信息同 步器600将在流程块1130选择的所述集合的间接子节点提供于所述直接子 节点,以允许所述直接子节点开始配置所述集合的间接子节点,以供包含在 范例同步化层级400中。例如,在流程块1140,包含在范例信息同步器600 中的范例子节点绘制界面620可以向所述选择的直接子节点传送也描述需 于所述直接子节点发生联系的所述集合的间接子节点的一配置(例如绘制) 信息。所接收的配置信息促使所述直接子节点将根节点105 (节点0今NO ) 当成其相关父节点及开始所述集合的间接子节点的层级配置。所述移除的网 络化节点的任何派生节点的重新配置接着完成(流程块1145),然后控件 进入图11B的流程块1150。
返回到图UA的流程块lllO,如果所发现的网络拓朴变化不相应于一 网络化节点的移除,控件进入图11B的流程块1155。在流程块1155,范例 信息同步器600确定所发现的变化是否相应于需添加到范例同步化层级400 的一网络化节点。如果所述变化相应于一添加的网络化节点(流程块1155), 控件进入流程块1160。在流程块1160,范例信息同步器600随机地分配所 述新网络化节点为范例同步化层级400中的叶节点的直接子节点。如以上所 述,范例同步化层级400中的叶节点是没有直接子节点的节点。在一实施例 中,在流程块1160,范例信息同步器600可以从支持根节点105 (节点0 ^ NO)的范例节点清单存储单元625检索描述整个范例同步化层级400的拓 朴配置信息,以确定哪些网络化节点是范例同步化层级400中的叶节点。范例信息同步器600可以接着从所检索的拓朴配置信息选择其中一个叶节点,
作为需添加到范例同步化层级400的所述新网络化节点的父节点。
接着,控件进入流程块1165。在流程块1165,范例信息同步器600更 新描述整个范例同步化层级400的拓朴配置信息。例如,在流程块1165, 范例信息同步器600可以更新描述存储在支持根节点105 (节点0 + NO )的 范例节点清单存储单元625中的、整个范例同步化层级400的拓朴配置信息。 控件接着进入流程块1170。在流程块1170,范例信息同步器600将所述新 添加的网络化节点配置成在流程块1160选择的所述叶节点的直接子节点。 例如,在流程块1170,包含在范例信息同步器600中的范例子节点绘制界 面620可以传送一配置(例如绘制)信息到所选择的叶节点,这促使所述叶 节点将所添加的节点当成一直接子节点。此外,范例子节点绘制界面620可 以传送另 一配置信息到所述新添加的网络化节点,以促^f吏所述新添加的网络 化节点将所选择的叶节点当成其相关父节点。控件接着进入流程块1150。
返回到流程块1155,如果所发现的网络拓朴变化不相应于一网络化节 点的添加,控件进入流程块1175 。在流程块1175 ,范例信息同步器600执 行任何适当的错误处理,以处理不能确定发现的拓朴变化的类别的情况。控 件接着进入流程块1150。
在流程块1150,范例信息同步器600分析范例同步化层级400的整体 配置。例如,在流程块1150,范例错误处理器645 (及/或一分别的网络监 控器)可以监控范例同步化层级400的拓朴,以确定通过范例同步化层级 400的一个或多个父-子(或更明确地说是父-子-派生)传播路径是否已经由 于(例如)节点添加及/或移除而变得比其他路径长得多,因而需要重新配 置整个范例同步化层级400。控件接着进入流程块1180。在流程块1180, 范例信息同步器600确定是否需要重新配置整个范例同步化层级400。如果 不需要重新配置(流程块1180 ),范例网络拓朴监控过程1100的执行接着 结束。然而,如果需要重新配置(流程块1180),控件进入流程块1185。
在流程块1185,范例信息同步器600破坏现有范例同步化层级400并
55起动一连续同步化层级400的重新配置。例如,在流程块1185,范例信息 同步器600可以调用图9的一些或所有层级节点配置过程725,以起动包含 在范例过程控制系统100中的当前节点的重新配置,以构成一新范例连续同 步化层级400。在流程块1185的重新配置过程之后,范例网络拓朴监控过 程1100的执行接着结束。
图12为一框图,其图解一能够实施在此描述的设备及方法的范例计算 机1200。计算机1200可以是(例如)服务器、个人计算机、个人数字化助 手(PDA)、互联网设备、DVD播放机、CD播放机、数字录象机、个人录 象机、机上盒或任何其他类别的计算设备。
所述即时范例的系统1200包括一处理器1212,比如通用可编程处理器。 处理器1212包括一本地存储器1214,并执行本地存储器1214及/或另一存 储设备中存在的编码指令1216。处理器1212除了执行其他指令之外,还可 以执行机器可读指令,以实施图7、9及11A-11B中显示的过程。处理器1212 可以是4壬4可类别的处理单元,比如来自Intel Centrino⑧孩i处理器家族、 Intel Pentium⑧微处理器家族、Intel Itanium⑥微处理器家族及/或Intel XScale⑧处理器家族的一个或多个微处理器。当然,来自其他家族的其他处 理器也适当。
处理器1212通过一总线1222,与包括一易失性存储器1218及一非易 失性存储器1220的一主存储器通信。易失性存储器1218可以以静态随机存 储器(SRAM )、同步动态随机存储器(SDRAM )、动态随机存储器(DRAM )、 存储器总线式动态随机存取存储器(RDRAM)及/或任何其他类别的随机存 取存储器设备实施。非易失性存储器1220可以以闪速存储器及/或任何其他 期望类别的存储器设备实施。对主存储器1218、 1220的存取典型地是由一 存储器控制器(图中未显示)控制。
计算机1200也包括一界面电路1224。界面电路1224可以以任何类别 的界面标准,比如以太网界面、通用串行总线(USB)及/或第三代输入/输 出(3GIO)界面实施。一个或多个输入设备1226连接到界面电路1224。输入设备1226允许 用户将数据及命令输入到处理器1212。所述输入设备可以以(例如)键盘、 鼠标、手触屏幕、跟踪板、跟踪球、等点及/或语音识别系统实施。
一个或多个输出设备1228也连接到界面电路1224。输出设备1228可 以以(例如)显示设备(例如液晶显示器、阴极射线管显示器(CRT))、 打印机及/或扬声器实施。界面电路1224因此典型地包括一图形驱动卡。
界面电路1224也包括一通信设备,比如调制解调器或网络界面卡,以 便通过网络(例如以太网连接、数字用户线路(DSL)、电话线、同轴电缆、 蜂窝式电话系统等等)与外部计算机进行数据交换。
计算机1200也包括一个或多个大容量存储设备1230,以存储软件及数 据。这样的大容量存储设备1230的范例包括软盘驱动器、硬盘驱动器、致 密光碟驱动器及数字多功能光盘(DVD)。大容量存储设备1230可以实施 范例节点清单存储单元625。可选择地,易失性存储器1218可以实施范例 节点清单存储单元625。
作为在一系统(比如图12的设备)中实施在此描述的方法及/或设备的 一种选择,在此描述的方法及/或设备可以嵌入一结构中,比如嵌入一处理 器及/或一专用集成电路(ASIC)中。
最后,虽然在此已经描述某些方法、设备及制造件,但本专利包括的范 围并未受其限制。相反地,本专利包括所有根据字面意义或等效原则正当地 属于附此的权利要求范围的方法、设备及制造件。
权利要求
1、一种用于在包括多个网络化节点的一层级同步化拓扑中同步化信息的方法,所述方法包括配置一第一网络化节点,作为与第二及第三网络化节点直接相关的一父节点,而所述第二及第三网络化节点配置成所述父节点的相应第一及第二直接子节点;选择一个或多个其他网络化节点,作为通过所述第一直接子节点与所述父节点间接相关的一第一集合的间接子节点;以及将所述父节点配置成根据与所述第一及第二直接子节点相关的多个层级同步化水平将正在接受同步化的信息连续地传送到所述第一及第二直接子节点,而不是将所述信息传送到所述第一集合的间接子节点;其中所述第一直接子节点将所述信息传播到所述第一集合的间接子节点,而所述父节点则将所述信息传送到所述第二直接子节点。
2、 如权利要求l所述的方法,进一步包括配置所述第一直接子节点,以便 将所述信息传送到所述第 一集合的间接子节点中的至少一个间接子节点,所述 至少一个间接子节点进一步配置成所述第一直接子节点的直接子节点。
3、 如权利要求l所述的方法,其中所述第一及第二直接子节点两者各自与 所述多个层级同步化水平中的一唯一层级同步化水平相关。
4、 如权利要求l所述的方法,其中所述第一直接子节点将所述信息连续地 传送到所述第一集合的间接子节点中的至少一些间接子节点。
5、 如权利要求4所述的方法,其中所述第一集合的间接子节点包括一第一 子集合及一第二子集合,其中所述第一直接子节点根据一第一集合的层级同步 化水平与所述第一子集合的间接子节点相关,及其中在从所述父节点接收所述 信息之后,所述第一直接子节点根据所述相关的第一集合的层级同步化水平, 将所述信息连续地传送到所述第一子集合的间接子节点,而不是将所述信息传 送所述信息到所述第二子集合的间接子节点。
6、 如权利要求5所述的方法,其中所述第一子集合的间接子节点中的每个 间接子节点与所述第一集合的层级同步化水平中的一唯一层级同步化水平相 关。
7、 如权利要求5所述的方法,进一步包括选择一个或多个其他网络化节点, 作为通过所述第二直接子节点与所述父节点间接相关的一第二集合的间接子节 点,其中在从所述父节点接收所述信息之后,所述第二直接子节点根据与所述 第二集合的间接子节点相关的一第二集合的层级同步化水平,将所述信息连续 地传送到所述第二集合的间接子节点中的至少一些间接子节点。
8、 如权利要求7所述的方法,其中所述第二直接子节点在所述第一直接子 节点从所述父节点接收所述信息之后从所述父节点接收所述信息,及其中所述 第二直接子节点将所述信息连续地传送到所述第二集合的间接子节点中的一间 接子节点,而所述第一直接子节点将所述信息连续地传送到所述第一子集合的 间接子节点中的 一 间接子节点。
9、 如权利要求l所述的方法,进一步包括通过下列步骤,根据所述多个层 级同步化水平,配置所述多个网络化节点使所述第 一 网络化节点与 一第 一层级同步化水平发生联系;使所述第二网络化节点与优先级低于所述第一层级同步化水平的一第二层 级同步化水平发生联系;使所述第三网络化节点与优先级低于所述第二层级同步化水平的一第三层 级同步化水平发生联系;以及使一第四网络化节点与优先级高于所述第一层级同步化水平的一第四层级 同步化水平发生联系,其中所述第四网络化节点配置成所述第 一 网络化节点的 唯一父节点。
10、 如权利要求9所述的方法,其中所述第一网络化节点配置成从所述第 四网络化节点接收所述正在接受同步化的信息,以及将所述信息连续地传送到 所述第二网络化节点,然后^^艮据优先级高于第三层级同步化水平的第二层级同 步化水平,将所述信息连续地传送到所述第三网络化节点。
11、 如权利要求IO所述的方法,进一步包括使所述第一网络化节点与配置 成一通过所述第二网络化节点与所述第 一 网络化节点相关的间接子节点的第五 网络化节点发生联系,其中所述第五网络化节点与所述第三层级同步化水平相 关,及其中在从所述第一网络化节点接收所述正在接受同步化的信息之后,所 述第二网络化节点将所述信息传送到所述第五网络化节点,而所述第 一 网络化 节点将所述信息传送到所述第三网络化节点。
12、 如权利要求1所述的方法,进一步包括通过下列步骤,才艮据所述多个层级同步化水平,配置所述多个网络化节点获取选择自所述多个网络化节点的一集合的派生节点,以供与所述第 一网 络化节点发生联系;在所述集合的派生节点中选择一第一派生节点,作为所述第一直接子节点 以及在一第一层级同步化水平与所述第一网络化节点发生联系;选择所述集合的派生节点的一第一子集合(排除所述第一派生节点),作为 根据优先级低于所述第一层级同步化水平的一相应的第一集合的层级同步化水 平、通过所述第一直接子节点与所述第一网络化节点发生联系的所述第一集合 的间接子节点;以及通过下列步骤,将所选择的第一派生节点绘制成所述第一网络化节点的所 述第一直接子节点将所述第一网络化节点配置成与所述第一派生节点相关的一唯一父节点;及向所选择的第 一派生节点指示所选择的第 一集合的间接子节点,以允许所 述第一派生节点根据所述第一集合的层级同步化水平继续配置所述第一集合的 间接子节点。
13、 如权利要求12所述的方法,进一步包括通过下列步骤,根据所述多个 层级同步化水平,配置所述多个网络化节点通过移除所述第一派生节点及所述第一子集合的派生节点,更新所述集合 的派生节点;在所述更新集合的派生节点中选择一第二派生节点,作为所述第二直接子 节点以及在优先级低于所述第一层级同步化水平的一第二层级同步化水平与所述第一网络化节点发生联系;以及除了使所述第 一 派生节点成为与所选择的第 一派生节点相关的唯一 父节点 之外,通过使所述第 一派生节点成为与所述第 一派生节点及所述第二派生节点 相关的唯一父节点,将所选择的第二派生节点绘制成所述第 一 网络化节点的所 述第二直接子节点。
14、 如权利要求13所述的方法,进一步包括通过下列步骤,才艮据所述多个 层级同步化水平,配置所述多个网络化节点通过移除所述第二派生节点,进一步更新所述更新集合的派生节点; 选择所述进一步更新的集合的派生节点的一第二子集合,作为根据优先级 低于所述第二层级同步化水平的一相应的第二集合的层级同步化水平、通过所 述第二直接子节点与所述第 一 网络化节点发生联系的一第二集合的间接子节 点;以及通过向所选择的第二派生节点指示所述第二集合的间接子节点,以允许所 述第二派生节点根据所述第二集合的层级同步化水平继续配置所述第二集合的 间接子节点,/人而将所选择的第二派生节点绘制成所述第 一 网络化节点的所述 第二直接子节点。
15、 如权利要求1所述的方法,进一步包括将所述多个网络化节点的其中 之一配置成与所述多个同步化水平中一优先级最高的同步化水平相关的一唯一 根节点。
16、 如权利要求1所述的方法,进一步包括在需要将一新网络化节点添加 到所述拓朴或在将现有网络化节点从所述拓朴移除这两种情况的至少其中之一 发生时执行网络拓朴监控,以重新配置所述网络同步化拓朴。
17、 如权利要求16所述的方法,其中在需要添加一新网络化节点时,所述 网络拓朴监控包括在所述网络同步化拓朴中随机选择一叶网络化节点,其中所述叶网络化节点不与任何派生节点相关,以及将所述新网络化节点配置成与所选择的叶网络化节点直接相关的一直接子节点o
18、 如权利要求16所述的方法,其中在将一现有网络化节点移除时,所述 网络拓朴监控包括将先前与所移除的现有节点相关的一第一派生节点配置成在相应于已经与 所述根节点直接相关的、优先级低于任何现有直接子节点的任何现有层级同步 化水平的一第一层级同步化水平,与所述网络同步化拓朴的一根节点直接相关 的一直接子节点;以及将先前与所移除的现有节点相关的任何剩余派生节点配置成通过所述第一 派生节点并根据优先级低于所述第一层级同步化水平的一相应集合的层级同步 化水平,与所述根节点间接发生联系。
19、 一种用于存储机器可读指令的制造件,所述机器可读指令在被执行时 促使机器配置一第一网络化节点,作为与第二及第三网络化节点直接相关的一父节 点,而所述第二及第三网络化节点配置成所述父节点的相应第一及第二直接子节点5选择一个或多个其他网络化节点,作为通过所述第 一直接子节点与所述父 节点间接相关的一第一集合的间接子节点;以及将所述父节点配置成根据与所述第 一及第二直接子节点相关的多个层级同 步化水平将正在接受同步化的信息连续地传送到所述第一及第二直接子节点, 而不是将所述信息传送到所述第一集合的间接子节点;其中所述第一直接子节点将所述信息传播到所述第一集合的间接子节点,而所述父节点则将所述信息 传送到所述第二直接子节点。
20、 如权利要求19所述的制造件,其中所述第一及第二直接子节点两者各 自与所述多个层级同步化水平中的一唯一层级同步化水平相关。
21、 如权利要求19所述的制造件,其中所述第一集合的间接子节点包括一第一子集合及一第二子集合,其中所述第一直接子节点根据一第一集合的层级 同步化水平与所述第 一子集合的间接子节点相关,其中在从所述父节点接收所 述信息之后,所述第一直接子节点根据所述相关的第一集合的层级同步化水平, 将所述信息连续地传送到所述第一子集合的间接子节点,而不是将所述信息传送所述信息到所述第二子集合的间接子节点;及其中所述机器可读指令在被执行时进一步促使所述机器选择一个或多个其他网络化节点,作为通过所述第二 直接子节点与所述父节点间接相关的一第二集合的间接子节点,其中在从所述 父节点接收所述信息之后,所述第二直接子节点根据与所迷第二集合的间接子 节点相关的一第二集合的层级同步化水平,将所述信息连续地传送到所述第二 集合的间接子节点中的至少 一 些间接子节点。
22、如权利要求19所述的制造件,其中所述机器可读指令在被执行时进一 步促使所述机器通过下列步骤,根据所述多个层级同步化水平配置所述多个网 络化节点获取选择自所述多个网络化节点的一集合的派生节点,以供与所述第 一 网 络化节点发生联系;在所述集合的派生节点中选择一第一派生节点,作为所述第一直接子节点 以及在一第 一层级同步化水平与所述第 一 网络化节点发生联系;选择所述集合的派生节点的一第一子集合(排除所述第一派生节点),作为 根据优先级低于所述第一层级同步化水平的一相应的第一集合的层级同步化水 平、通过所述第一直接子节点与所述第一网络化节点发生联系的所述第一集合 的间接子节点;以及通过下列步骤,将所选择的第一派生节点绘制成所述第一网络化节点的所 述第一直接子节点将所述第一网络化节点配置成与所述第一派生节点相关的一唯一父节点;及向所选择的第 一派生节点指示所选择的第 一 集合的间接子节点,以允许所 述第一派生节点根据所述第一集合的层级同步化水平继续配置所述第一集合的间接子节点。
23、 一种用于将网络化节点获取的信息同步化的设备,所述设备包括 一节点选择器,用于选择多个直接子节点,以便从所述网络化直接接收所述正在接受同步化的信息;一节点清单分段器,用于选择一个集合或多个集合的间接子节点,其中每 个集合的间接子节点通过一相应的直接子节点(而不是直接从所述网络化节点) 接收所述正在接受同步化的信息;以及一同步化排序器,用于进行排序,使得在将所述正在接受同步化的信息传 送到优先级低于第一层级同步化水平的第二层级同步化水平相关的第二直接子 节点之前,将所述正在接受同步化的信息传送到与所述第一层级同步化水平相 关的第一直接子节点,其中一第一集合的间接子节点通过所述第一直接子节点 接收所述信息,及其中所述同步化排序器进行排序,使得在所述第一直接子节 点已经配置成在从所述网络化节点接收所述信息之后将所述信息传送到所述第 一直接子节点,不论所述第一集合的间接子节点是否配置成通过所述第一直接 子节点接收所述正在接受同步化的信息。
24、 如权利要求23所述的设备,其中所述多个直接子节点及所述一个集合 或多个集合的间接子节点需从被选择作为所述网络化节点的派生节点的一集合 的派生网络化节点中选择。
25、 如权利要求24所述的设备,进一步包括一节点配置界面,以1更从与所 述网络化节点相关的 一父节点获取所述集合的派生网绍_化节点的清单。
26、 如权利要求23所述的设备,进一步包括一子节点绘制界面,以便 将所述多个直接子节点中的每个直接子节点配置成从所述网络化节点接收所述正在接受同步化的信息,以及将每个集合的间接子节点传送到所述相应的直接子节点,以便将每个集合的间接子节点配置成通过所述相应的直接子节点接收所述正在接受同步化的信息。
27、 如权利要求23所述的设备,其中所述同步化排序器进一步配置成进行排序,以便分别地根据与所述多个直接子节点相关的多个层级同步化水平,将 所述正在接受同步化的信息传送到所述多个直接子节点。
28、 如权利要求23所述的设备,其中所述同步化排序器进一步配置成进行 排序,以便在所述第一直接子节点将所述正在接受同步化的信息重新传送到所 述第一集合的间接子节点中的一间接子节点的同时,将所述正在接受同步化的 信息传送到所述第二直接子节点。
29、 如权利要求23所述的设备,进一步包括一错误处理器,以便确定"将 所述第 一直接子节点配置成直接从所述网络化节点接收所述正在接受同步化的 信息是否成功"或"将所述信息传送到所述第一直接子节点是否成功"的至少 其中之一。
30、 如权利要求29所述的设备,其中所述多个直接子节点及所述一个集合 或多个集合的间接子节点需从被选择作为所述网络化节点的派生节点的一集合 的派生网络化节点中选择;及其中所述错误处理器进一步配置成更新所述集合 的派生网络化节点,以响应对有关"将所述第一直接子节点配置成直接从所述 网络化节点接收所述正在接受同步化的信息是否成功"或"将所述信息传送到 所述第一直接子节点是否成功"的至少其中之一的确定。
31、 一种用于支持数据同步化的数据网络,所述数据网络包括 多个网络化节点,所述多个网络化节点可配置成一实施包括多个层级同步化水平的同步化层级,其中分配到一第一层级水平的每个网络化节点可配置成 同步化接收自分配到优先级高于所述第一层级同步化水平的一第二层级同步化 水平的一个分别地配置的父节点的数据,而且可配置成将所述数据连续地传输 到唯一地分配到个别组合的多个层级同步化水平(每个层级同步化水平的优先 级低于所述第一层级同步化水平)的、个别组合的多个相应地配置的子节点; 以及一根节点,所述根节点可分配到最高优先级同步化水平,而且可配置成获 取需同步化的数据、起动所述同步化层级的配置以及根据所述同步化层级,将 所述数据连续地传输到第 一组多个相应地配置的子节点,其中所述第 一组多个子节点中的一第一子节点也可配置成一第一父节点,以便在从所述根节点接收 所述数据之后、以及在所述根节点将所述数据传输到所述第一组多个子节点中 的至少一个第二子节点时,根据同步化层级,将所述数据连续地传输到第二组 多个相应地配置的子节点。
32、 如权利要求31所述的数据网络,其中所述第一组多个子节点中的所述 第二子节点也可以配置成一第二父节点,以便在从所述冲艮节点接收所述数据之后、以及在所述根节点将所述数据传输到所述集合的子节点中的至少一个第三 子节点时,根据同步化层级,将所述数据连续地传输到一第三组多个相应地配 置的子节点。
33、 如权利要求31所述的数据网络,其中所述根节点可以配置成负责起动 所述第一组多个子节点的配置,以从所述根节点递降;而所述第一子节点可配 置成负责起动所述第二组多个子节点的配置,以从所述第一子节点递降。
34、 如权利要求31所述的数据网络,其中所述根节点进一步配置成通过随 机确定所述同步化层级的一现有叶节点(所述新网络化节点需从所述叶节点下 降),将所述新网络化节点添加到所述同步化层级。
35、 如权利要求31所述的数据网络,其中所述根节点进一步配置成通过下 列步骤,将一现有网络化节点从所述同步化层级移除将先前与所移除的现有节点相关的一第一派生节点分配到相对于所述#>节 点的一最低层级同步化水平;将所述根节点配置成将所述数据传输到所述第 一派生节点及将所述第 一派 生节点配置成将接收自所述根节点的所述数据同步化;以及将先前与所移除的现有节点相关的任何剩余派生节点配置成>^人所述第 一派 生节点递降。
36、 一种用于在多个网络化节点之间同步化信息的方法,所述方法包括 在一父节点接收正在接受同步化的信息;将所述信息从所述父节点连续地传送到一第一集合的节点中的每个节点; 以及在所述信息被所述第 一节点接收之后,将所述信息从所述第 一集合的节点 中的一第一节点传送到一第二集合的节点中的每个节点,其中所述第一节点在 所述父节点将所述信息传送到所述第一集合的节点中的至少一些节点(除了所 述第一节点之外)的几乎同一时间,将所述信息传送到所述第二集合的节点中 的至少一些节点。
37、 如权利要求36所述的方法,其中所述第一集合的节点中的每个节点不同于所述第二集合的节点中的每个节点。
38、 如权利要求36所述的方法,其中所述信息包括一数据文件。
39、 如权利要求36所述的方法,进一步包括在所述信息被所述第一集合的 节点中的一第二节点接收之后,将所述信息从所述第二节点连续地传送到一第 三集合的节点中的每个节点,其中所述第二节点在所述第一节点将所述信息传 送到所述第二集合的节点中的至少一些节点及所述父节点将所述信息传送到所 述第一集合的节点中的至少一些节点(除了所述第一及第二节点之外)的几乎 同 一时间,将所述信息传送到所述第三集合的节点中的至少一些节点。
40、 如权利要求36所述的方法,其中在所述父节点接收所述正在接受同步 化的信息的步骤包括接收所述信息的一第 一版本,并进一步包括在所述父节点已经将所述信息的所述第一版本传送到所述第一节点之后, 但在所述父节点已经将所述信息的所述第一版本传送到所述第一集合的节点中 的一第二节点之前,在所述父节点接收所述正在接受同步化的一第二版本;以 及在所述第一节点将所述信息的所述第一版本传送到所述第二集合的节点中 的至少一些节点的几乎同一时间,将所述信息的所述第二版本(而不是所述信 息的所述第 一版本)从所述父节点传送到所述第二节点。
全文摘要
本发明公开用于在网络化设备之间实施连续同步化层级的方法及设备。在此公开的一种范例同步化方法包括配置一第一网络化节点,作为与第二及第三网络化节点直接相关的一父节点,而所述第二及第三网络化节点配置成所述父节点的相应第一及第二直接子节点;选择其他网络化节点,作为通过所述第一直接子节点与所述父节点间接相关的一集合的间接子节点;以及将所述父节点配置成根据与所述直接子节点相关的多个层级同步化水平,将正在接受同步化的信息连续地传送到所述直接子节点,而不是将所述信息传送到所述集合的间接子节点,其中所述第一直接子节点将所述信息传播到所述集合的间接子节点,而所述父节点则将所述信息传送到所述第二直接子节点。
文档编号H04L12/28GK101599881SQ20091014263
公开日2009年12月9日 申请日期2009年6月2日 优先权日2008年6月6日
发明者布兰顿·希布 申请人:费舍-柔斯芒特系统股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1