CN101599881A - 用于在网络化设备之间实施连续同步化层级的方法及设备 - Google Patents
用于在网络化设备之间实施连续同步化层级的方法及设备 Download PDFInfo
- Publication number
- CN101599881A CN101599881A CNA2009101426369A CN200910142636A CN101599881A CN 101599881 A CN101599881 A CN 101599881A CN A2009101426369 A CNA2009101426369 A CN A2009101426369A CN 200910142636 A CN200910142636 A CN 200910142636A CN 101599881 A CN101599881 A CN 101599881A
- Authority
- CN
- China
- Prior art keywords
- node
- networked
- information
- level
- child node
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0679—Clock or time synchronisation in a network by determining clock distribution path in a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W56/00—Synchronisation arrangements
- H04W56/001—Synchronization between nodes
- H04W56/002—Mutual synchronization
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Small-Scale Networks (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开用于在网络化设备之间实施连续同步化层级的方法及设备。在此公开的一种范例同步化方法包括:配置一第一网络化节点,作为与第二及第三网络化节点直接相关的一父节点,而所述第二及第三网络化节点配置成所述父节点的相应第一及第二直接子节点;选择其他网络化节点,作为通过所述第一直接子节点与所述父节点间接相关的一集合的间接子节点;以及将所述父节点配置成根据与所述直接子节点相关的多个层级同步化水平,将正在接受同步化的信息连续地传送到所述直接子节点,而不是将所述信息传送到所述集合的间接子节点,其中所述第一直接子节点将所述信息传播到所述集合的间接子节点,而所述父节点则将所述信息传送到所述第二直接子节点。
Description
技术领域
本发明总体上涉及数据网络化,尤其涉及用于在网络化设备之间实施连续同步化层级的方法及设备。
背景技术
现代过程控制系统经常包括数据网络,以便互连多个(及可能是无数个)网络化节点,比如控制器、工作站等等。这样的过程控制系统一般需要某些公共信息可在所述网络化节点中的一些或所有网络化节点利用。可能需要一般可用的信息的范例包括系统中的一些或所有所述节点的地址、用于在所述系统中的多个节点产生公共显示的显示配置信息、等等。在许多实施例中,所述公共信息在每个节点上存储为一个或多个配置文件。在一个或多个这些配置文件改变时,已更新文件需要尽快在系统节点之间同步化,以便保持公共信息流。然而,由于用于实施过程控制系统的所述类别的节点的资源受限(例如处理器速度、网络带宽、等等)的特性,文件同步化经常是以连续方式执行的低优先级操作。受限的节点资源可以排除使用现有文件同步化技术,而现有文件同步化技术比从起始节点将更新的配置文件连续地传送到所述过程控制系统中的其他每个节点的较慢方式更为复杂,因此更快。
发明内容
于在此公开的一个实施例中,一种在包括多个网络化节点的层级同步化拓扑中同步化信息的范例方法包括配置一第一网络化节点,作为与第二及第三网络化节点直接相关的一父节点,而所述第二及第三网络化节点配置成所述父节点的相应第一及第二直接子节点。所述范例方法也包括选择一个或多个其他网络化节点,作为通过所述第一直接子节点与所述父节点间接相关的一第一集合的间接子节点。此外,所述范例方法包括将所述父节点配置成根据与所述第一及第二直接子节点相关的多个层级同步化水平,将正在接受同步化的信息连续地传送到所述第一及第二直接子节点,而不是将所述信息传送到所述第一集合的间接子节点。此外,在一实施例中,所述第一直接子节点将所述信息传播到所述第一集合的间接子节点,而所述父节点则将所述信息传送到所述第二直接子节点。
于在此公开的另一实施例中,用于同步化由一网络化节点获取的信息的一范例设备包括一范例节点选择器,以便选择多个直接子节点来直接接收来自所述网络化节点的、所述正在接受同步化的信息。所述范例设备也包括一范例节点清单分段器,以便选择一个集合或多个集合的间接子节点,其中每个集合的间接子节点通过一相应的直接子节点(而不是直接从所述网络化节点)接收所述正在接受同步化的信息。此外,所述范例设备还包括一范例同步化排序器,以便进行排序,使得在将所述正在接受同步化的信息传送到优先级低于第一层级同步化水平的第二层级同步化水平相关的第二直接子节点之前,将所述正在接受同步化的信息传送到与所述第一层级同步化水平相关的第一直接子节点。此外,在一实施例中,一第一集合的间接子节点通过所述第一直接子节点接收所述信息,而所述同步化排序器进行排序,使得在所述第一直接子节点已经配置成在从所述网络化节点接收所述信息之后将所述信息传送到所述第一直接子节点,不论所述第一集合的间接子节点是否配置成通过所述第一直接子节点接收所述正在接受同步化的信息。
于在此公开的又另一个实施例中,用于支持数据同步化的一范例数据网络包括多个网络化节点,这些网络化节点可配置成一实施包括多个层级同步化水平的同步化层级,其中分配到一第一层级水平的每个网络化节点可配置成同步化接收自分配到优先级高于所述第一层级同步化水平的一第二层级同步化水平的一个分别地配置的父节点的数据。分配到所述范例数据网络中的这样的第一层级水平的每个网络化节点也可配置成将所述数据连续地传输到唯一地分配到个别组合的多个层级同步化水平(每个层级同步化水平的优先级低于所述第一层级同步化水平)的、个别组合的多个相应地配置的子节点。此外,所述范例数据网络也包括一根节点,所述根节点可分配到最高优先级同步化水平,而且可配置成获取需同步化的数据、起动所述同步化层级的配置以及根据所述同步化层级,将所述数据连续地传输到第一组多个相应地配置的子节点。在一实施例中,所述第一组多个子节点中的所述第一子节点也可配置成一第一父节点,以便在从所述根节点接收所述数据之后、以及在所述根节点将所述数据传输到所述第一组多个子节点中的至少一个第二子节点时,根据同步化层级,将所述数据连续地传输到一第二组多个相应地配置的子节点。
附图说明
图1为一框图,其图解一范例过程控制系统。
图2图解一使用先前技术的范例连续文件同步化技术,该范例连续文件同步化技术可以将信息文件连续地传播到图1的范例系统中的网络化节点。
图3图解一使用先前技术的范例平行文件同步化技术,该范例平行文件同步化技术可以在图1的范例系统中的网络化节点之间传播平行的信息文件的部分。
图4图解一范例文件同步化技术,该范例文件同步化技术使用在此描述的一范例连续同步化层级,在图1的范例系统中的网络化节点之间传播信息文件。
图5A-5G共同地图解一范例程序,该范例程序用于配置图4的范例连续同步化层级。
图6为一框图,其图解一范例信息同步器,该范例信息同步器可以用于实施图4的范例连续同步化层级。
图7为一流程图,其描绘一范例信息同步化过程。执行该范例信息同步化过程至少可以实施图6的范例信息同步器及/或图4的范例连续同步化层级的部分。
图8图解图7的范例信息同步化过程的一范例操作,其中在一信息文件被更新的同时,所述信息文件的先前版本已经在图4的范例连续同步化层级中的节点之间传播。
图9为一流程图,其描绘一范例过程,该范例过程用于配置一连续同步化层级,该连续同步化层级至少可以用于实施图7的范例过程、图6的范例信息同步器及/或图4的范例连续同步化层级的部分。
图10图解图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上保持所述公用信息为最新。以下对范例同步化技术进行更详细的讨论。
虽然范例系统100在图中被图解为一过程控制系统,但范例系统100可以是任何类别的计算机网络、数据网络等等,而信息可以在其中的网络化节点之间交换。因此,在此描述的范例方法及设备并不限于只是用于一过程控制环境,而可以用于任何类别的数据网络化应用。
图2图解一可以用于在图1的范例过程控制系统100中同步化配置文件160的、使用先前技术的范例连续文件同步化技术200。由于图2的使用先前技术的连续文件同步化技术200是以图1的范例过程控制系统100的语境进行图解,图1及2中的相似元件以相同的参考数字标注。为求简短起见,这些相似元件的详细描述在以上连同有关图1的讨论来提供,因此在有关图2的讨论中不重复这些相似元件的详细描述。
参看图2,使用先前技术的范例连续文件同步化技术200通过将配置文件160连续地传播到网络化节点105-140中的每个网络化节点,在范例过程控制系统100中同步化配置文件160。例如,在不失去一般性的情况下,假设配置文件160的新版本在使用先前技术的范例连续文件同步化技术200的初始化阶段205期间被提供于网络化节点105(节点0),如图2所示。配置文件160的所述新版本可以(例如)由用户及/或应用程序离线地创建以及下载到网络化节点105(节点0)。附加地或可选择地,配置文件160的所述新版本可以根据由网络化节点105(节点0)下载、查询、监控、接收等等的信息,由网络化节点105(节点0)本身创建。
不论配置文件160的所述新版本如何创建,使用先前技术的范例连续文件同步化技术200在配置文件160在初始化阶段205期间被提供于网络化节点105(节点0)之后开始连续文件同步化。在所述图解范例中,使用先前技术的连续文件同步化技术200通过促使网络化节点105(节点0)在第一迭代阶段210期间将配置文件160传送到网络化节点110(节点1),开始文件同步化。接着,在配置文件160被传送到网络化节点110(节点1)之后,网络化节点105(节点0)在第一迭代阶段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的图解范例中,时间复杂性为O(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的范例过程控制系统100的语境进行图解,图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(节点0)存储在分别的传输同步化缓冲器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(节点1)中,在相应的接收同步化缓冲器335及340中接收及存储的数据接着用于重建相应于正在同步化的配置文件160的文件分段305及310。文件分段305及310接着合并而构成配置文件160,导致配置文件160在网络化节点110(节点1)同步化。
从这个范例可以显见,根据使用先前技术的范例平行文件同步化技术300来同步化所需要的总时间相对于使用先前技术的范例连续文件同步化技术200的同步化时间,按在节点之间平行地传输的配置文件160的分段数目成比例地减少。换句话说,使用先前技术的范例平行文件同步化技术300的时间复杂性为O(n/s),其中n为范例过程控制系统100中的网络化节点105-140的数目,而s为在节点之间平行地传输的配置文件160的分段数目。因此,在所述使用先前技术的平行文件同步化技术300的图解范例中,时间复杂性为O(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的范例过程控制系统100的语境进行图解,图1及4中的相似元件以相同的参考数字标注。为求简短起见,这些相似元件的详细描述在以上连同有关图1的讨论来提供,因此在有关图4的讨论中不重复这些相似元件的详细描述。
参看图4,为了信息(例如文件)同步化目的,范例过程控制系统100的范例网络化节点105-140配置成构成图中所示的范例连续同步化层级400。在所述图解范例中,每个网络化节点被分配到一特定层级同步化水平,而每个随后的水平的同步化优先级比在前的水平的同步化优先级低。例如,在图4的范例连续同步化层级400中,网络化节点105(节点0)被分配到根层级同步化水平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(节点0)的子节点,而网络化节点105(节点0)分配到优先级较高的根水平405并相应地配置成与网络化节点110(节点1)相关的父节点。在第二水平415的网络化节点115(节点2)及在第三水平420的网络化节点120(节点3)也配置成网络化节点105(节点0)的子节点,而网络化节点105(节点0)相应地配置成它们的相关父节点。
同样地,在第二水平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组织成带有log2(n)个层级同步化水平(例如水平410-420)及一个根水平(例如根水平405)的特定层级排列,其中n为网络化节点的数目。在所述图解范例中,所述层级的根(最高)水平405及第一水平410包含一(1)个节点(例如网络化节点105及网络化节点110)。范例连续同步化层级400的第二水平415包含两(2)个节点(例如网络化节点115及130)。第三水平420包含四(4)个节点(例如网络化节点120、125、135及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(节点0)的间接子节点。一般地说,范例连续同步化层级400中的特定父节点的派生节点可以分为一组与所述父节点直接相关的直接子节点以及一组通过所述组合的直接子节点与所述父节点间接相关的间接子节点。此外,所述整个组合的间接子节点可以进一步分为子组合的子节点,而每个子组合包括通过特定直接子节点与所述父节点相关的所有派生节点。
如以下所示,范例连续同步化层级400实施时间复杂性缩减为O(log2(n))的信息同步化技术,其中n为范例过程控制系统100中的网络化节点105-140的数目。因此,在图4的范例连续同步化层级400中,时间复杂性为O(log2(8)=3),这是由于范例过程控制系统100中有n=8个网络化节点105-140。范例连续同步化层级400的时间复杂性因此少于使用先前技术的同步化技术200及300。此外,在还只是需要在所述网络化节点之间连续传输信息(例如文件)的同时,这样的同步化时间缩减得以实现。
在高水平,为了在配置成构成在此描述的连续同步化层级的所有网络化节点之间同步化信息(比如数据文件),每个节点将正在连续地接受同步化的信息(例如数据文件)传送到其每个相关的直接子节点。此外,每个节点根据其相关的直接子节点被分配到的集合的层级同步化水平,将所述信息(例如数据文件)按优先级递减次序连续地传送到其相关的直接子节点。例如,当所述根节点获取需同步化为(例如)所述数据文件的更新版本的信息时,同步化开始。所述根节点接着将所述更新文件传送到其在所述同步化层级的所述第一层级同步化水平中的直接子节点。随后,同步化继续,而每个节点被分配到正在配置成只从其位于所述同步化层级的较高优先级水平的其中之一中的一个父节点接收所述接受同步化的更新文件的特定层级同步化水平。在从其分配父节点接收所述更新文件之后,所述节点将所述文件连续地传送到其在所述同步化层级的较低优先级水平中的相关直接子节点。由于每个节点将所述更新文件连续地传送到其相关直接子节点,相对于图2的使用先前技术的范例连续文件同步化技术200,专用于文件同步化的每个节点的资源没有受到附加的影响(或只受到可以忽略的影响)。然而,正在接受同步化的信息(例如数据文件)的传播沿着几个父-子节点传播路径同时发生,而每个父-子节点传播路径根据其相应集合的层级同步化水平的分配,使用连续信息传播。这个安排可以达到相对于图2的使用先前技术的范例连续文件同步化技术200的、潜在可观的总同步化时间缩减。
参看图4的特定范例,配置文件160可以在范例连续同步化层级400的所有网络化节点105-140之间以下述方式同步化。首先,在获取所述更新配置文件160之后,根网络化节点105(节点0)在第一同步化迭代期间执行第一文件传输430,将配置文件160传送到其被分配到第一层级同步化水平410的直接子网络化节点110(节点1)。随后,文件传输在父节点及子节点之间连续地发生,以便在所述系统中的所有节点之间同步化所述文件。例如,在第二同步化迭代期间,根节点105(节点0)执行第二文件传输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中的信息所需要的同步化迭代的数目与层级同步化水平的数目成比例,这产生一时间复杂性O(log2(n)),其中log2(n)为范例连续同步化层级400中的层级同步化水平的数目。
任何类别的文件传输协议(或更常称为信息交换协议)可以用于在范例连续同步化层级400中的网络化节点之间传送配置文件160。可以用于在所述网络化节点之间传送配置文件160的协议的范例包括文件传输协议(FTP)、简单信件传输协议(SMTP)、短信服务(SMS)等等。附加地或可选择地,一个或多个专用文件传输/信息交换协议可以用于在范例连续同步化层级400中的网络化节点之间同步化信息及/或数据文件。
图4的范例连续同步化层级400也支持将节点添加到范例过程控制系统100及将节点从范例过程控制系统100移除节点。在一实施例中,当一新网络化节点被添加到一现有连续同步化层级(比如范例连续同步化层级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)标注为N0,以初始化所述符号格式。
因此,根据这个标注惯例,网络化节点110(节点1)标注为((N0)1),这表示其为在所述第一层级同步化水平405的根节点N0的直接子节点。同样地,网络化节点115(节点2)及120(节点3)依次标注为((N0)2)及((N0)3),以表示它们是在相应的第二水平415及第三水平420的根节点N0的直接子节点。此外,网络化节点130(节点5)标注为(((N0)1)2),以表示其为在第二水平415的节点((N0)1)的直接子节点,而且同时也是通过节点((N0)1)与根节点N0相关的间接子节点。同样地,网络化节点135(节点6)标注为(((N0)1)3),以表示其为在第三水平420的节点((N0)1)的直接子节点,而且同时也是通过节点((N0)1)与根节点N0相关的间接子节点。此外,网络化节点124(节点4)标注为(((N0)2)3),以表示其为在第三水平420的节点((N0)2)的直接子节点,而且同时也是通过节点((N0)2)与根节点N0相关的间接子节点。最后,网络化节点140(节点7)标注为((((N0)1)2)3),以表示其为在第三水平420的节点(((N0)1)2)的直接子节点,而且同时也是通过节点(((N0)1)2)与节点((N0)1)相关的间接子节点,以及通过节点((N0)1)及(((N0)1)2)与根节点N0相关的间接子节点。
图5A-5G图解一范例配置程序,该范例配置程序用于配置图1的范例过程控制系统的网络化节点105-140,以构成图4的范例连续同步化层级400。图5A-5G中图解的范例配置程序使用分布式配置,其中配置成作为父节点进行操作的每个网络化节点只负责配置所述连续同步化层级的一部分,例如只负责配置包括任何直接相关的子节点的部分。在高水平,所述范例配置程序配置一同步化层级(比如连续同步化层级400)如下述。最初,一节点被分配成为一根节点。接着,所述根节点迭代地(i)从获得的剩余可用节点清单选择一节点及(ii)将包含在所述清单中的一子集合(例如一半)的剩余可用节点分配成为所述新选择的节点的派生节点。在所述迭代配置的每个通道,所述根节点向所选择的节点传送一配置信息,以便将所选择的节点绘制成与在所述同步化层级中的下一可用层级同步化水平的所述根节点直接相关的直接子节点。所述配置信息也促使所选择的节点将所述根节点当成其唯一的父节点。此外,所述配置信息包括被选定作为所述新配置的直接子节点的一集合的派生节点的所述子集合的剩余可用节点。这个信息允许所述新配置的直接子节点配置其本身的派生节点。所述根节点完成这个过程,直到其清单的剩余可用节点用完为止。
与所述根节点本身的直接子节点的配置平行(例如同时),由所述根节点选择作为直接子节点的每个节点以相同的迭代方式配置其各自的子节点。例如,如以上所述,在所述迭代配置的每个通道,所述根节点从一清单的剩余可用节点选择一节点,并传送一配置信息以便将所述特定选择节点绘制成所述根节点的直接子节点。所述配置信息也包括被选定作为所述新配置的直接子节点的一集合的派生节点的一子集合的剩余可用节点。在接收到所述选定集合的派生节点之后,所述新配置的直接子节点作为一父节点进行操作,以开始选择自所获取(例如接收)的集合的派生节点的、其本身的直接子节点的迭代配置。明确地说,在迭代配置的每个通道,一特定父节点(i)从其获得的剩余派生节点清单选择一节点作为一直接子节点及(ii)将包含在所述清单中的一子集合(例如一半)的剩余派生节点分配成为所述新选择的直接子节点的派生节点。同所述根节点的操作一样,所述特定父节点接着向所选择的节点传送一配置信息,以便将所选择的节点绘制成与在下一可用层级同步化水平的父节点(相对于所述特定父节点)直接相关的直接子节点。所述配置信息也包括所选择的集合的派生节点,以使这个新配置的直接子节点允许所述直接子节点接着配置其本身的派生节点。这个迭代配置程序继续,直到所有网络化节点已经包含在所述同步化层级中为止。
参看图5A,在范例过程控制系统100上执行的所述图解范例配置程序以第一配置迭代505为开始,在第一配置迭代505期间,被选择作为根节点并标注为N0的网络化节点105(节点0)配置网络化节点110(节点1),以便包含在范例连续同步化层级400中。明确地说,根节点105(节点0→N0)将节点110(节点1)配置成为其在第一层级同步化水平410的直接子节点,因此促使节点110(节点1)被标注为((N0)1)。在以下描述中,向右箭头(→)表示网络化节点已经分配到范例连续同步化层级400-如在所述箭头之后提供的标注所示。在第一迭代505期间执行的配置的进一步特征在图5B中图解。
如图5B中所示,节点105(节点0→N0)获取一剩余可用节点清单,以便以初始派生节点清单510的形式进行配置。在第一配置迭代505期间,初始派生节点清单510包括范例过程控制系统100中的所有其他网络化节点110-140(例如依次标注为N1-N7)的清单,而且可以通过存储在根节点105(节点0→N0)及/或可由根节点105(节点0→N0)存取的网络配置信息、通过由用户的输入等等来获取。根节点105(节点0→N0)接着通过选择节点110(节点1)作为其在第一水平410的直接子节点(以((N0)1))表示),以及选择初始派生节点清单510中的一子集合(例如一半)的剩余节点,作为与所选择的子节点110(节点1→((N0)1))相关的一集合的派生节点(例如N5-N7),构成一选择清单512。这些选定的节点接着从初始派生节点清单510中移除,以构成一与根节点105(节点0→N0)相关的更新派生节点(例如N2-N4)清单514。
亦在第一配置迭代505期间,根节点105(节点0→N0)将一配置信息传送到所选择的子节点110(节点1→((N0)1)),促使子节点110识别根节点105为其唯一父节点。因此,所述选定子节点110(节点1→((N0)1))将根节点105(节点0→N0)的一标识符存储在一父节点配置元件516中。来自根节点105(节点0→N0)的所述配置信息也包括被选择与子节点110(节点1→((N0)1))发生联系的、所述集合的派生节点(例如N5-N7)。因此,子节点110(节点1→((N0)1))将所接收的集合的派生节点(例如N5-N7)存储在其本身的初始派生节点清单518中。因此,在第一配置迭代505的末端,被分配到第一水平410(例如节点110)的所述节点准备开始从其相应的父节点(例如节点105)接收正在接受同步化的信息(例如一个或多个数据文件)。
接着,在图5C中图解的第二配置迭代520期间,根节点105(节点0→N0)配置网络化节点115(节点2),以包含在范例连续同步化层级400中;而节点110(节点1→((N0)1))在几乎同一时间配置网络化节点130(节点5),以包含在范例连续同步化层级400中。明确地说,根节点105(节点0→N0)将节点115(节点2)配置为其在第二层级同步化水平415的直接子节点,因此促使节点115(节点2)被标注为((N0)2)。此外,节点110(节点1→((N0)1))将节点130(节点5)配置为其在第二层级同步化水平415的直接子节点,因此促使节点130(节点5)被标注为(((N0)1)2)。在第二迭代520期间执行的配置的进一步特征在图5D中图解。
如图5D中所示,在第二配置迭代520期间,根节点105(节点0→N0)有一初始派生节点清单522,初始派生节点清单522相应于在第一配置迭代505期间创建的更新派生节点清单514。初始派生节点清单522包括需由根节点105(节点0→N0)配置的剩余网络化节点(例如N2-N4)清单。根节点105(节点0→N0)接着通过选择节点115(节点2)作为其在第二水平415的直接子节点(以((N0)2))表示),以及选择初始派生节点清单522中的一子集合(例如一半)的剩余节点,作为与所选择的子节点115(节点2→((N0)2))相关的一集合的派生节点(例如N4),构成一选择清单524。这些选定的节点接着从初始派生节点清单522中移除,以构成一与根节点105(节点0→N0)相关的更新派生节点(例如N3)清单526。此外,根节点105(节点0→N0)将一配置信息传送到所选择的子节点115(节点2→((N0)2)),促使子节点115识别根节点105为其唯一父节点。因此,所述选定子节点115(节点2→((N0)2))将根节点105(节点0→N0)的一标识符存储在一父节点配置元件516中。此外,子节点115(节点2→((N0)2))将包含在所接收的配置信息中的所述集合的派生节点(例如N4)存储在其本身的初始派生节点清单530中。
亦在第二配置迭代520期间,而且与由根节点105(节点0→N0)执行的配置几乎平行(例如同时),节点110(节点1→((N0)1))以相应于在第一配置迭代505期间创建的派生节点清单518的一初始派生节点清单532,开始其本身的节点配置。初始派生节点清单532包括需由节点110(节点1→((N0)1))配置的剩余网络化节点(例如N5-N7)清单。节点110(节点1→((N0)1))接着通过选择节点130(节点5)作为其在第二水平415的直接子节点(以(((N0)1)2)表示),以及选择初始派生节点清单532中的一子集合(例如一半)的剩余节点,作为与所选择的子节点130(节点5→(((N0)1)2))相关的一集合的派生节点(例如N7),构成一选择清单534。这些选定的节点接着从初始派生节点清单532中移除,以构成一与节点110(节点1→((N0)1))相关的更新派生节点(例如N6)清单536。此外,节点110(节点1→((N0)1))将一配置信息传送到所选择的子节点130(节点5→(((N0)1)2)),促使子节点130识别节点110为其唯一父节点。因此,所述选定子节点130(节点5→(((N0)1)2))将节点110(节点1→((N0)1))的一标识符存储在一父节点配置元件538中。此外,子节点130(节点5→(((N0)1)2))将包含在所接收的配置信息中的所述集合的派生节点(例如N7)存储在其本身的初始派生节点清单540中。
因此,在第二配置迭代520的末端,被分配到第二水平415的节点(例如节点115及130)准备开始从它们各自的父节点(例如节点105及110)接收正在接受同步化的信息(例如数据文件)。
最后,在图5E中图解的第三配置迭代550期间,根节点105(节点0→N0)配置网络化节点120(节点3),以包含在范例连续同步化层级400中;而节点110(节点1→((N0)1))、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→((N0)1))将节点135(节点6)配置为其在第三层级同步化水平420的直接子节点,因此促使节点135(节点6)被标注为(((N0)1)3)。同样地,节点115(节点2→((N0)2))将节点125(节点4)配置为其在第三层级同步化水平420的直接子节点,因此促使节点125(节点4)被标注为(((N0)2)3)。此外,节点130(节点5→(((N0)1)2))将节点140(节点7)配置为其在第三层级同步化水平420的直接子节点,因此促使节点140(节点7)被标注为((((N0)1)2)3)。在第三迭代550期间执行的配置的进一步特征在图5F-5G中图解。
如图5F中所示,在第三配置迭代520期间,根节点105(节点0→N0)有一初始派生节点清单552,初始派生节点清单552相应于在第二配置迭代520期间创建的更新派生节点清单526。初始派生节点清单552包括需由根节点105(节点0→N0)配置的剩余网络化节点(例如N3)清单。根节点105(节点0→N0)接着通过选择节点120(节点3)作为其在第三水平420的直接子节点(以((N0)3)表示),构成一选择清单554。此外,根节点105(节点0→N0)确定没有剩余节点可以被选择为所述选定子节点120(节点3→((N0)3))的派生节点。所述选定节点接着从初始派生节点清单552中移除,以构成一不包含更多剩余节点的更新派生节点清单556(这表示所述根节点的迭代配置将以这个迭代结束)。此外,根节点105(节点0→N0)将一配置信息传送到所选择的子节点120(节点3→((N0)3)),促使子节点120识别根节点105为其唯一父节点。因此,所述选定子节点120(节点3→((N0)3))将根节点105(节点0→N0)的一标识符存储在一父节点配置元件558中。此外,子节点120(节点3→((N0)3))没有相关的派生节点,因此,其本身的初始派生节点清单560保持空白(这表示子节点120为范例同步化层级400的叶节点)。
亦在第三配置迭代550期间,而且与由根节点105(节点0→N0)执行的配置几乎平行(例如同时),节点110(节点1→((N0)1))以相应于在第二配置迭代520期间创建的派生节点清单536的一初始派生节点清单562,开始其本身的节点配置。初始派生节点清单562包括需由节点110(节点1→((N0)1))配置的剩余网络化节点(例如N6)清单。节点110(节点1→((N0)1))接着通过选择节点135(节点6)作为其在第三水平420的直接子节点(以(((N0)1)3)表示),构成一选择清单564。此外,节点110(节点1→((N0)1))确定没有剩余节点可以被选择为所述选定子节点135(节点6→(((N0)1)3))的派生节点。所述选定节点接着从初始派生节点清单562中移除,以构成一不包含更多剩余节点的更新派生节点清单566(这表示这个节点的迭代配置将以这个迭代结束)。此外,节点110(节点1→((N0)1))将一配置信息传送到所选择的子节点135(节点6→(((N0)1)3)),促使子节点135识别节点110为其唯一父节点。因此,所述选定子节点135(节点6→(((N0)1)3))将节点110(节点1→((N0)1))的一标识符存储在一父节点配置元件568中。此外,子节点135(节点6→(((N0)1)3))没有相关的派生节点,因此,其本身的初始派生节点清单570保持空白(这表示子节点135为同步化层级400的叶节点)。
参看图5G,在第三配置迭代550期间,而且与由根节点105(节点0→N0)及节点110(节点1→((N0)1))执行的配置几乎平行(例如同时),节点115(节点2→((N0)2))以相应于在第二配置迭代520期间创建的派生节点清单530的一初始派生节点清单572,开始其本身的节点配置。初始派生节点清单572包括需由节点115(节点2→((N0)2))配置的剩余网络化节点(例如N4)清单。节点115(节点2→((N0)2)接着通过选择节点125(节点4)作为其在第三水平420的直接子节点(以(((N0)2)3)表示),构成一选择清单574。此外,节点115(节点2→((N0)2)确定没有剩余节点可以被选择为所述选定子节点125(节点4→(((N0)2)3))的派生节点。所述选定节点接着从初始派生节点清单572中移除,以构成一不包含更多剩余节点的更新派生节点清单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(节点1→((N0)1))及节点115(节点2→((N0)2))执行的配置几乎平行(例如同时),节点130(节点5→(((N0)1)2))以相应于在第二配置迭代520期间创建的派生节点清单540的一初始派生节点清单582,开始其本身的节点配置。初始派生节点清单582包括需由节点130(节点5→(((N0)1)2))配置的剩余网络化节点(例如N7)清单。节点130(节点5→(((N0)1)2))接着通过选择节点140(节点7)作为其在第三水平420的直接子节点(以((((N0)1)2)3)表示),构成一选择清单584。此外,节点130(节点5→(((N0)1)2))确定没有剩余节点可以被选择为所述选定子节点140(节点7→((((N0)1)2)3))的派生节点。所述选定节点接着从初始派生节点清单582中移除,以构成一不包含更多剩余节点的更新派生节点清单586(这表示这个节点的迭代配置将以这个迭代结束)。此外,节点130(节点5→(((N0)1)2))将一配置信息传送到所选择的子节点140(节点7→((((N0)1)2)3)),促使子节点140识别节点130为其唯一父节点。因此,所述选定子节点140(节点7→((((N0)1)2)3))将节点130(节点5→(((N0)1)2))的一标识符存储在一父节点配置元件588中。此外,子节点140(节点7→((((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可以配置成从由节点110的相关父节点(即根节点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(节点0→N0)(例如实施及/或配置范例信息同步器600以供根节点105(节点0→N0)使用),则范例同步化数据接收界面630可以配置成接收数据输入及/或由用户更新的数据(例如配置)文件为所述正在接收同步化的信息。然而,如果范例信息同步器600配置成支持节点110(节点1→((N0)1)),则范例同步化数据接收界面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也通过确定由范例同步化数据传输界面640传送的所述信息是否已经由所述预计接收节点接收及确认接收,支持信息同步化。如果确认接收所传送的信息,错误处理器645可以确定所述接收节点已经适当地接收所述正在接收同步化的信息而且可以以其本身的子节点继续同步化所述信息。然而,如果没有确认接收所传送的信息,则错误处理器645可以确定信息没有由所述预计接收节点成功地接收。在后者的情况下,错误处理器645可以确认接收的缺乏来进一步确定所述预计接收节点已经从范例过程控制系统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→N0),则在流程块705,范例同步化数据接收界面630可以接收由用户提供的一个或多个输入数据条目及/或数据(例如配置)文件作为所述需同步化的信息。可选择地,如果所述即时节点不是范例同步化层级400的根节点105(节点0→N0),则在流程块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中图解,并在以下作更详细讨论。
接着,控件进入流程块730。在流程块730,范例信息同步器600确定被选择作为所述即时节点的直接子节点的所述一个或多个未配置派生节点是否成功地配置(例如绘制)。在所述图解范例中,在流程块730,范例信息同步器600不考虑被选择与所述即时节点的所述直接子节点发生联系的任何间接子节点是否已经成功地配置,这是由于(如以上所述)只要一个或多个直接子节点已经配置,同步化可以进行。如果所述直接子节点尚未成功地配置(流程块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→N0)接收,并在第一同步化迭代期间传播到其在第一层级水平410的子节点110(节点1→((N0)1))。
接着,在第一同步化迭代之后,但在第二同步化迭代之前,所述相同的信息文件的第二版本810被提供于根节点105(节点0→N0),以进行所述图解范例中的同步化。因此,在第二同步化迭代之前,根节点105(节点0→N0)以第二版本810更新其信息文件的本地拷贝,但其子节点110(节点1→((N0)1))还是只有第一版本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→((N0)1))使用(例如)以上所述的流程块715的信息重写过程,以第二版本810重写所述信息文件的第一版本805。照这样,节点110(节点1→((N0)1))可以在不需要等待第一版本805的同步化完成的情况下,立即开始将所述信息文件的第二版本810传播到其剩余直接子节点。因此,在第三同步化迭代期间,节点110(节点1→((N0)1))将所述信息文件的第二版本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在流程块905开始。在流程块905,范例信息同步器600获取需与即时节点发生联系的、所述集合的派生网络化节点的清单(即派生节点清单)。例如,在流程块905,包含在范例信息同步器600中的范例节点配置界面605可以获取所述派生节点清单并将所述清单存储在范例节点清单存储单元625。此外,以及如以上所述,如果所述即时节点是范例同步化层级400的根节点105(节点0→N0),则在流程块905,范例节点配置界面605可以根据可用的网络配置信息、用户输入等等,获取所述派生节点清单。可选择地,如果所述即时节点不是范例同步化层级400的根节点105(节点0→N0),则在流程块905,范例节点配置界面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执行的处理为多余,因此流程块940可以从范例过程725中移除。控件接着返回到流程块910及流程块910之后的流程块。在流程块910,范例信息同步器600继续配置所述即时节点的派生节点清单中的剩余网络化节点。
返回到流程块910,如果所述派生节点清单为空白(流程块910),则表示没有剩余的派生节点需要配置,因此控件进入流程块945。在流程块945,范例信息同步器600指示,与所述即时节点相关的所述直接子节点的配置完成。例如,在流程块945,范例信息同步器600可以发出一状态信号、发出一状态信息等等来表示所述直接子节点的配置完成。范例层级节点配置过程725的执行接着结束。
图10图解用于在图4的范例连续同步化层级400的一部分中执行分布式信息同步化的、图7的范例信息同步化过程700及图9的范例层级节点配置过程725的多个实例的范例操作。明确地说,图10图解包含在范例同步化层级400中的四个节点的分布式信息同步化及节点配置。在所述图解范例中,这四个节点中的每个节点配置成执行范例信息同步化过程700及范例层级节点配置过程725的一个实例。
参看图10,并参看图4的范例连续同步化层级400,所述图解范例的操作从流程块1005开始。在流程块1005,根节点105(节点0→N0)接收需在范例连续同步化层级400中同步化的信息。作为响应,在流程块1010,根节点105(节点0→N0)调用其范例层级节点配置过程725的实例的至少一部分来配置节点110(节点1→((N0)1)),作为其第一直接子节点。此外,在流程块1010,过程725向节点110传送需由节点110配置以供包含在范例同步化层级400中的一清单的间接子节点。在节点110(节点1→((N0)1))配置之后,而且不论任何相关间接子节点的配置是否已经完成,在流程块1015,根节点105(节点0→N0)调用其范例信息同步化过程700的实例的至少一部分来传送所述正在接受同步化的信息到其第一直接子节点110(节点1→((N0)1))。因此,在流程块1020,直接子节点110(节点1→((N0)1))接收来自其相应父节点105(节点0→N0)的信息。
接着,由于每个节点可以自治地执行同步化处理,根节点105(节点0→N0)在节点110(节点1→((N0)1))执行其本身的信息同步化及节点配置的几乎同一时间(例如同时)继续执行信息同步化及节点配置。更明确地说,在流程块1025,根节点105(节点0→N0)调用其范例层级节点配置过程725的实例的至少一部分来配置节点115(节点2→((N0)2)),作为其第二直接子节点。此外,在流程块1025,过程725向节点115传送需由节点115配置以供包含在范例同步化层级400中的一清单的间接子节点。在节点115(节点2→((N0)2))配置之后,而且不论任何相关间接子节点的配置是否已经完成,在流程块1030,根节点105(节点0→N0)调用其范例信息同步化过程700的实例的至少一部分来传送所述正在接受同步化的信息到其第二直接子节点115(节点2→((N0)2))。因此,在流程块1035,直接子节点115(节点2→((N0)2))接收来自其相应父节点105(节点0→N0)的信息。
在几乎同一时间,在流程块1040,节点110(节点1→((N0)1))调用其范例层级节点配置过程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→((N0)1))调用其范例信息同步化过程700的实例的至少一部分,将在流程块1020接收的所述信息传送到其第一直接子节点130(节点5→(((N0)1)2))。因此,在流程块1050,直接子节点130(节点5→(((N0)1)2))接收来自其相应父节点110(节点1→((N0)1))的信息。
在图10的图解范例操作中这个阶段,范例节点105(节点0→N0)、110(节点1→((N0)1))、115(节点2→((N0)2))及130(节点5→(((N0)1)2))中的每个节点具有所述正在接受同步化的信息。因此,由于每个节点可以自治地执行同步化处理,节点105、110、115及120在几乎同一时间分别在流程块1055、1060、1065及1070为它们各自部分的范例同步化层级400继续执行信息同步化及节点配置。
图11A-11B图解一用于监控同步化层级(比如图4的范例同步化层级)的范例网络拓扑的范例网络拓扑监控过程1100。在一实施例中,网络拓扑监控过程1100由范例连续同步化层级400的根节点105(节点0→N0)实施。范例网络拓扑监控过程1100可以根据预定事件的发生(例如范例过程1100的中断调度执行),在预定间隔(执行网络拓扑监控的预期间隔)作为背景过程等等或其任何结合继续执行。
参看图11A,范例网络拓扑监控过程1100从流程块1105开始。在流程块1105,支持根节点105(节点0→N0)的范例信息同步器600发现实施范例同步化层级400的网络拓扑中的变化。例如,在流程块1105,包含在范例信息同步器600中的范例错误处理器645可以接收及/或确定关于一现有网络化节点已经从范例同步化层级400中移除或一新网络化节点已经添加到范例过程控制系统100中而且需包含在范例同步化层级400中的指示。在一实施例中,范例错误处理器645可以在没有从一直接子节点接收到接收确认(以响应(例如)已传送的配置信息或已传送的信息)时,确定一节点已经从范例同步化层级400中移除。范例错误处理器645可以确定需根据由用户提供的及/或以其他方式提供及/或查询(例如从另一网络化设备,比如一名称服务器、路由器等等)的网络配置信息,添加一节点到范例同步化层级400。
在检测到更新的网络拓扑之后,控件进入流程块1110。在流程块1110,范例信息同步器600确定所发现的变化相应于一移除网络化节点。如果所述变化相应于一网络化节点的移除(流程块1110),控件进入流程块1115。在流程块1115,范例信息同步器600开始将所述移除节点的任何派生节点重新配置为通过从所述移除节点的所述派生节点选择的一个新的直接子节点向根节点105报告的、根节点105(节点0→N0)的派生节点。例如,在流程块1115,范例信息同步器600可以从支持根节点105(节点0→N0)的范例节点清单存储单元625检索描述整个范例同步化层级400的拓扑配置信息,以确定哪个(或哪些)网络化节点(如有)是所述移除节点的派生节点。
假设所述移除节点有至少一个派生节点,为了重新配置所述移除节点的派生节点,控件进入流程块1120。在流程块1120,范例信息同步器600选择所述派生节点的其中之一作为根节点105(节点0→N0)的一个新的直接子节点。例如,在流程块1120,包含在范例信息同步器600中的范例节点选择器610可以选择被分配到所述移除节点的所述组合的派生节点之间的优先级最高的层级同步化水平的派生子节点。可选择地,所述选择可以随机进行或根据任何其他选择标准进行。
在流程块1120选择新的直接子节点之后,控件进入流程块1125。在流程块1125,范例信息同步器600将所述新选择的直接子节点分配于相对于根节点105(节点0→N0)的下一个可用层级同步化水平。例如,在流程块1125,范例信息同步器600将所选择的直接子节点分配于与根节点105(节点0→N0)相关的所述集合的直接子节点被分配的、一集合的层级同步化水平中的下一个可用(例如优先级最低的)层级同步化水平。控件接着进入流程块1130。在流程块1130,范例信息同步器600选择所述移除节点的剩余派生节点,作为通过在流程块1125选择的直接子节点与根节点105(节点0→N0)相关的间接子节点。
接着,控件进入流程块1135。在流程块1135,范例信息同步器600更新描述所述集合的直接子节点及向根节点105(节点0→N0)报告的整个集合的间接子节点的拓扑信息。例如,在流程块1135,范例信息同步器600可以在范例节点清单存储单元625中为根节点105(节点0→N0)维持的一直接子节点清单中包括所选择的直接子节点及其相关层级同步化水平。此外,范例信息同步器600可以在范例节点清单存储单元625中为根节点105(节点0→N0)维持的一间接子节点清单中包括所述新选择的集合的间接子节点及它们与所述新选择的直接子节点的联系。
接着,控件进入流程块1140。在流程块1140,范例信息同步器600将在流程块1120选择的所述网络化节点配置成范例同步化层级400中的根节点105(节点0→N0)的直接子节点。此外,在流程块1140,范例信息同步器600将在流程块1130选择的所述集合的间接子节点提供于所述直接子节点,以允许所述直接子节点开始配置所述集合的间接子节点,以供包含在范例同步化层级400中。例如,在流程块1140,包含在范例信息同步器600中的范例子节点绘制界面620可以向所述选择的直接子节点传送也描述需于所述直接子节点发生联系的所述集合的间接子节点的一配置(例如绘制)信息。所接收的配置信息促使所述直接子节点将根节点105(节点0→N0)当成其相关父节点及开始所述集合的间接子节点的层级配置。所述移除的网络化节点的任何派生节点的重新配置接着完成(流程块1145),然后控件进入图11B的流程块1150。
返回到图11A的流程块1110,如果所发现的网络拓扑变化不相应于一网络化节点的移除,控件进入图11B的流程块1155。在流程块1155,范例信息同步器600确定所发现的变化是否相应于需添加到范例同步化层级400的一网络化节点。如果所述变化相应于一添加的网络化节点(流程块1155),控件进入流程块1160。在流程块1160,范例信息同步器600随机地分配所述新网络化节点为范例同步化层级400中的叶节点的直接子节点。如以上所述,范例同步化层级400中的叶节点是没有直接子节点的节点。在一实施例中,在流程块1160,范例信息同步器600可以从支持根节点105(节点0→N0)的范例节点清单存储单元625检索描述整个范例同步化层级400的拓扑配置信息,以确定哪些网络化节点是范例同步化层级400中的叶节点。范例信息同步器600可以接着从所检索的拓扑配置信息选择其中一个叶节点,作为需添加到范例同步化层级400的所述新网络化节点的父节点。
接着,控件进入流程块1165。在流程块1165,范例信息同步器600更新描述整个范例同步化层级400的拓扑配置信息。例如,在流程块1165,范例信息同步器600可以更新描述存储在支持根节点105(节点0→N0)的范例节点清单存储单元625中的、整个范例同步化层级400的拓扑配置信息。控件接着进入流程块1170。在流程块1170,范例信息同步器600将所述新添加的网络化节点配置成在流程块1160选择的所述叶节点的直接子节点。例如,在流程块1170,包含在范例信息同步器600中的范例子节点绘制界面620可以传送一配置(例如绘制)信息到所选择的叶节点,这促使所述叶节点将所添加的节点当成一直接子节点。此外,范例子节点绘制界面620可以传送另一配置信息到所述新添加的网络化节点,以促使所述新添加的网络化节点将所选择的叶节点当成其相关父节点。控件接着进入流程块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并起动一连续同步化层级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可以是任何类别的处理单元,比如来自微处理器家族、微处理器家族、微处理器家族及/或Intel处理器家族的一个或多个微处理器。当然,来自其他家族的其他处理器也适当。
处理器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)中。
最后,虽然在此已经描述某些方法、设备及制造件,但本专利包括的范围并未受其限制。相反地,本专利包括所有根据字面意义或等效原则正当地属于附此的权利要求范围的方法、设备及制造件。
Claims (40)
1、一种用于在包括多个网络化节点的一层级同步化拓扑中同步化信息的方法,所述方法包括:
配置一第一网络化节点,作为与第二及第三网络化节点直接相关的一父节点,而所述第二及第三网络化节点配置成所述父节点的相应第一及第二直接子节点;
选择一个或多个其他网络化节点,作为通过所述第一直接子节点与所述父节点间接相关的一第一集合的间接子节点;以及
将所述父节点配置成根据与所述第一及第二直接子节点相关的多个层级同步化水平将正在接受同步化的信息连续地传送到所述第一及第二直接子节点,而不是将所述信息传送到所述第一集合的间接子节点;其中所述第一直接子节点将所述信息传播到所述第一集合的间接子节点,而所述父节点则将所述信息传送到所述第二直接子节点。
2、如权利要求1所述的方法,进一步包括配置所述第一直接子节点,以便将所述信息传送到所述第一集合的间接子节点中的至少一个间接子节点,所述至少一个间接子节点进一步配置成所述第一直接子节点的直接子节点。
3、如权利要求1所述的方法,其中所述第一及第二直接子节点两者各自与所述多个层级同步化水平中的一唯一层级同步化水平相关。
4、如权利要求1所述的方法,其中所述第一直接子节点将所述信息连续地传送到所述第一集合的间接子节点中的至少一些间接子节点。
5、如权利要求4所述的方法,其中所述第一集合的间接子节点包括一第一子集合及一第二子集合,其中所述第一直接子节点根据一第一集合的层级同步化水平与所述第一子集合的间接子节点相关,及其中在从所述父节点接收所述信息之后,所述第一直接子节点根据所述相关的第一集合的层级同步化水平,将所述信息连续地传送到所述第一子集合的间接子节点,而不是将所述信息传送所述信息到所述第二子集合的间接子节点。
6、如权利要求5所述的方法,其中所述第一子集合的间接子节点中的每个间接子节点与所述第一集合的层级同步化水平中的一唯一层级同步化水平相关。
7、如权利要求5所述的方法,进一步包括选择一个或多个其他网络化节点,作为通过所述第二直接子节点与所述父节点间接相关的一第二集合的间接子节点,其中在从所述父节点接收所述信息之后,所述第二直接子节点根据与所述第二集合的间接子节点相关的一第二集合的层级同步化水平,将所述信息连续地传送到所述第二集合的间接子节点中的至少一些间接子节点。
8、如权利要求7所述的方法,其中所述第二直接子节点在所述第一直接子节点从所述父节点接收所述信息之后从所述父节点接收所述信息,及其中所述第二直接子节点将所述信息连续地传送到所述第二集合的间接子节点中的一间接子节点,而所述第一直接子节点将所述信息连续地传送到所述第一子集合的间接子节点中的一间接子节点。
9、如权利要求1所述的方法,进一步包括通过下列步骤,根据所述多个层级同步化水平,配置所述多个网络化节点:
使所述第一网络化节点与一第一层级同步化水平发生联系;
使所述第二网络化节点与优先级低于所述第一层级同步化水平的一第二层级同步化水平发生联系;
使所述第三网络化节点与优先级低于所述第二层级同步化水平的一第三层级同步化水平发生联系;以及
使一第四网络化节点与优先级高于所述第一层级同步化水平的一第四层级同步化水平发生联系,其中所述第四网络化节点配置成所述第一网络化节点的唯一父节点。
10、如权利要求9所述的方法,其中所述第一网络化节点配置成从所述第四网络化节点接收所述正在接受同步化的信息,以及将所述信息连续地传送到所述第二网络化节点,然后根据优先级高于第三层级同步化水平的第二层级同步化水平,将所述信息连续地传送到所述第三网络化节点。
11、如权利要求10所述的方法,进一步包括使所述第一网络化节点与配置成一通过所述第二网络化节点与所述第一网络化节点相关的间接子节点的第五网络化节点发生联系,其中所述第五网络化节点与所述第三层级同步化水平相关,及其中在从所述第一网络化节点接收所述正在接受同步化的信息之后,所述第二网络化节点将所述信息传送到所述第五网络化节点,而所述第一网络化节点将所述信息传送到所述第三网络化节点。
12、如权利要求1所述的方法,进一步包括通过下列步骤,根据所述多个层级同步化水平,配置所述多个网络化节点:
获取选择自所述多个网络化节点的一集合的派生节点,以供与所述第一网络化节点发生联系;
在所述集合的派生节点中选择一第一派生节点,作为所述第一直接子节点以及在一第一层级同步化水平与所述第一网络化节点发生联系;
选择所述集合的派生节点的一第一子集合(排除所述第一派生节点),作为根据优先级低于所述第一层级同步化水平的一相应的第一集合的层级同步化水平、通过所述第一直接子节点与所述第一网络化节点发生联系的所述第一集合的间接子节点;以及
通过下列步骤,将所选择的第一派生节点绘制成所述第一网络化节点的所述第一直接子节点:
将所述第一网络化节点配置成与所述第一派生节点相关的一唯一父节点;及
向所选择的第一派生节点指示所选择的第一集合的间接子节点,以允许所述第一派生节点根据所述第一集合的层级同步化水平继续配置所述第一集合的间接子节点。
13、如权利要求12所述的方法,进一步包括通过下列步骤,根据所述多个层级同步化水平,配置所述多个网络化节点:
通过移除所述第一派生节点及所述第一子集合的派生节点,更新所述集合的派生节点;
在所述更新集合的派生节点中选择一第二派生节点,作为所述第二直接子节点以及在优先级低于所述第一层级同步化水平的一第二层级同步化水平与所述第一网络化节点发生联系;以及
除了使所述第一派生节点成为与所选择的第一派生节点相关的唯一父节点之外,通过使所述第一派生节点成为与所述第一派生节点及所述第二派生节点相关的唯一父节点,将所选择的第二派生节点绘制成所述第一网络化节点的所述第二直接子节点。
14、如权利要求13所述的方法,进一步包括通过下列步骤,根据所述多个层级同步化水平,配置所述多个网络化节点:
通过移除所述第二派生节点,进一步更新所述更新集合的派生节点;
选择所述进一步更新的集合的派生节点的一第二子集合,作为根据优先级低于所述第二层级同步化水平的一相应的第二集合的层级同步化水平、通过所述第二直接子节点与所述第一网络化节点发生联系的一第二集合的间接子节点;以及
通过向所选择的第二派生节点指示所述第二集合的间接子节点,以允许所述第二派生节点根据所述第二集合的层级同步化水平继续配置所述第二集合的间接子节点,从而将所选择的第二派生节点绘制成所述第一网络化节点的所述第二直接子节点。
15、如权利要求1所述的方法,进一步包括将所述多个网络化节点的其中之一配置成与所述多个同步化水平中一优先级最高的同步化水平相关的一唯一根节点。
16、如权利要求1所述的方法,进一步包括在需要将一新网络化节点添加到所述拓扑或在将现有网络化节点从所述拓扑移除这两种情况的至少其中之一发生时执行网络拓扑监控,以重新配置所述网络同步化拓扑。
17、如权利要求16所述的方法,其中在需要添加一新网络化节点时,所述网络拓扑监控包括:
在所述网络同步化拓扑中随机选择一叶网络化节点,其中所述叶网络化节点不与任何派生节点相关,以及
将所述新网络化节点配置成与所选择的叶网络化节点直接相关的一直接子节点。
18、如权利要求16所述的方法,其中在将一现有网络化节点移除时,所述网络拓扑监控包括:
将先前与所移除的现有节点相关的一第一派生节点配置成在相应于已经与所述根节点直接相关的、优先级低于任何现有直接子节点的任何现有层级同步化水平的一第一层级同步化水平,与所述网络同步化拓扑的一根节点直接相关的一直接子节点;以及
将先前与所移除的现有节点相关的任何剩余派生节点配置成通过所述第一派生节点并根据优先级低于所述第一层级同步化水平的一相应集合的层级同步化水平,与所述根节点间接发生联系。
19、一种用于存储机器可读指令的制造件,所述机器可读指令在被执行时促使机器:
配置一第一网络化节点,作为与第二及第三网络化节点直接相关的一父节点,而所述第二及第三网络化节点配置成所述父节点的相应第一及第二直接子节点;
选择一个或多个其他网络化节点,作为通过所述第一直接子节点与所述父节点间接相关的一第一集合的间接子节点;以及
将所述父节点配置成根据与所述第一及第二直接子节点相关的多个层级同步化水平将正在接受同步化的信息连续地传送到所述第一及第二直接子节点,而不是将所述信息传送到所述第一集合的间接子节点;其中所述第一直接子节点将所述信息传播到所述第一集合的间接子节点,而所述父节点则将所述信息传送到所述第二直接子节点。
20、如权利要求19所述的制造件,其中所述第一及第二直接子节点两者各自与所述多个层级同步化水平中的一唯一层级同步化水平相关。
21、如权利要求19所述的制造件,其中所述第一集合的间接子节点包括一第一子集合及一第二子集合,其中所述第一直接子节点根据一第一集合的层级同步化水平与所述第一子集合的间接子节点相关,其中在从所述父节点接收所述信息之后,所述第一直接子节点根据所述相关的第一集合的层级同步化水平,将所述信息连续地传送到所述第一子集合的间接子节点,而不是将所述信息传送所述信息到所述第二子集合的间接子节点;及其中所述机器可读指令在被执行时进一步促使所述机器选择一个或多个其他网络化节点,作为通过所述第二直接子节点与所述父节点间接相关的一第二集合的间接子节点,其中在从所述父节点接收所述信息之后,所述第二直接子节点根据与所述第二集合的间接子节点相关的一第二集合的层级同步化水平,将所述信息连续地传送到所述第二集合的间接子节点中的至少一些间接子节点。
22、如权利要求19所述的制造件,其中所述机器可读指令在被执行时进一步促使所述机器通过下列步骤,根据所述多个层级同步化水平配置所述多个网络化节点:
获取选择自所述多个网络化节点的一集合的派生节点,以供与所述第一网络化节点发生联系;
在所述集合的派生节点中选择一第一派生节点,作为所述第一直接子节点以及在一第一层级同步化水平与所述第一网络化节点发生联系;
选择所述集合的派生节点的一第一子集合(排除所述第一派生节点),作为根据优先级低于所述第一层级同步化水平的一相应的第一集合的层级同步化水平、通过所述第一直接子节点与所述第一网络化节点发生联系的所述第一集合的间接子节点;以及
通过下列步骤,将所选择的第一派生节点绘制成所述第一网络化节点的所述第一直接子节点:
将所述第一网络化节点配置成与所述第一派生节点相关的一唯一父节点;及
向所选择的第一派生节点指示所选择的第一集合的间接子节点,以允许所述第一派生节点根据所述第一集合的层级同步化水平继续配置所述第一集合的间接子节点。
23、一种用于将网络化节点获取的信息同步化的设备,所述设备包括:
一节点选择器,用于选择多个直接子节点,以便从所述网络化直接接收所述正在接受同步化的信息;
一节点清单分段器,用于选择一个集合或多个集合的间接子节点,其中每个集合的间接子节点通过一相应的直接子节点(而不是直接从所述网络化节点)接收所述正在接受同步化的信息;以及
一同步化排序器,用于进行排序,使得在将所述正在接受同步化的信息传送到优先级低于第一层级同步化水平的第二层级同步化水平相关的第二直接子节点之前,将所述正在接受同步化的信息传送到与所述第一层级同步化水平相关的第一直接子节点,其中一第一集合的间接子节点通过所述第一直接子节点接收所述信息,及其中所述同步化排序器进行排序,使得在所述第一直接子节点已经配置成在从所述网络化节点接收所述信息之后将所述信息传送到所述第一直接子节点,不论所述第一集合的间接子节点是否配置成通过所述第一直接子节点接收所述正在接受同步化的信息。
24、如权利要求23所述的设备,其中所述多个直接子节点及所述一个集合或多个集合的间接子节点需从被选择作为所述网络化节点的派生节点的一集合的派生网络化节点中选择。
25、如权利要求24所述的设备,进一步包括一节点配置界面,以便从与所述网络化节点相关的一父节点获取所述集合的派生网络化节点的清单。
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所述的方法,其中在所述父节点接收所述正在接受同步化的信息的步骤包括接收所述信息的一第一版本,并进一步包括:
在所述父节点已经将所述信息的所述第一版本传送到所述第一节点之后,但在所述父节点已经将所述信息的所述第一版本传送到所述第一集合的节点中的一第二节点之前,在所述父节点接收所述正在接受同步化的一第二版本;以及
在所述第一节点将所述信息的所述第一版本传送到所述第二集合的节点中的至少一些节点的几乎同一时间,将所述信息的所述第二版本(而不是所述信息的所述第一版本)从所述父节点传送到所述第二节点。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/134,563 US7793002B2 (en) | 2008-06-06 | 2008-06-06 | Methods and apparatus for implementing a sequential synchronization hierarchy among networked devices |
US12/134,563 | 2008-06-06 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101599881A true CN101599881A (zh) | 2009-12-09 |
Family
ID=40936910
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2009101426369A Pending CN101599881A (zh) | 2008-06-06 | 2009-06-02 | 用于在网络化设备之间实施连续同步化层级的方法及设备 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7793002B2 (zh) |
EP (1) | EP2131511A2 (zh) |
JP (1) | JP2009296595A (zh) |
CN (1) | CN101599881A (zh) |
GB (1) | GB2460520B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104380669A (zh) * | 2012-06-18 | 2015-02-25 | 西门子公司 | 在通讯网络中传输数据包的方法和通讯网络 |
CN105122698A (zh) * | 2013-01-18 | 2015-12-02 | 诺基亚技术有限公司 | 受控的同步群组选择 |
CN105988997A (zh) * | 2015-01-27 | 2016-10-05 | 珠海金山办公软件有限公司 | 一种基于层级架构的数据同步方法及装置 |
WO2018130064A1 (zh) * | 2017-01-10 | 2018-07-19 | 中兴通讯股份有限公司 | 支持分布式多场景的基站及其创建、通信方法、存储介质 |
US10244495B1 (en) | 2017-09-28 | 2019-03-26 | Hong Kong Applied Science And Technology Research Institute Co., Ltd. | Systems and methods for synchronization signal timeslot reselection for synchronization target selection in networks |
CN109873714A (zh) * | 2019-01-04 | 2019-06-11 | 平安科技(深圳)有限公司 | 云计算节点配置更新方法及终端设备 |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9686123B2 (en) * | 2015-10-19 | 2017-06-20 | Blackfire Research Corporation | System for media distribution and rendering on spatially extended wireless networks |
US8291143B1 (en) * | 2009-02-11 | 2012-10-16 | Brocade Communication Systems, Inc. | Single line communication |
US20100332634A1 (en) * | 2009-06-25 | 2010-12-30 | Keys Gregory C | Self-distribution of a peer-to-peer distribution agent |
US9031987B2 (en) * | 2009-09-30 | 2015-05-12 | Red Hat, Inc. | Propagation of data changes in distribution operations in hierarchical database |
US8984013B2 (en) | 2009-09-30 | 2015-03-17 | Red Hat, Inc. | Conditioning the distribution of data in a hierarchical database |
US8996453B2 (en) | 2009-09-30 | 2015-03-31 | Red Hat, Inc. | Distribution of data in a lattice-based database via placeholder nodes |
WO2011097770A1 (en) * | 2010-02-15 | 2011-08-18 | Nokia Siemens Networks Oy | Synchronisation in a communication system |
CN102143194A (zh) * | 2010-06-10 | 2011-08-03 | 华为技术有限公司 | 数据同步的方法、系统、中间数据节点及终止数据节点 |
EP2629398A4 (en) * | 2010-10-15 | 2017-10-04 | Panasonic Intellectual Property Management Co., Ltd. | Management system |
JP5776339B2 (ja) * | 2011-06-03 | 2015-09-09 | 富士通株式会社 | ファイル配布方法、ファイル配布システム、マスタサーバ、及びファイル配布プログラム |
US8934352B2 (en) * | 2011-08-30 | 2015-01-13 | At&T Intellectual Property I, L.P. | Hierarchical anomaly localization and prioritization |
US10078474B1 (en) * | 2012-06-29 | 2018-09-18 | Emc Corporation | Method of maintaining list of scratch volumes in shared filesystems across multiple nodes |
US9819548B2 (en) * | 2013-01-25 | 2017-11-14 | Cisco Technology, Inc. | Shared information distribution in a computer network |
CN104937582B (zh) * | 2013-02-27 | 2018-11-06 | 惠普发展公司,有限责任合伙企业 | 数据同步 |
US9519490B2 (en) | 2013-03-07 | 2016-12-13 | Microsoft Technology Licensing, Llc | Adaptive data synchronization |
US20140317256A1 (en) * | 2013-04-17 | 2014-10-23 | Cisco Technology, Inc. | Loop and Outage Avoidance in Software Defined Network |
US10229181B2 (en) * | 2013-07-16 | 2019-03-12 | Pankaj Sharma | System and method for synchronizing data between communication devices in a networked environment without a central server |
JP6204100B2 (ja) * | 2013-07-23 | 2017-09-27 | 株式会社Nttドコモ | 無線基地局及び無線通信方法 |
EP3047687B1 (en) * | 2013-09-27 | 2022-11-30 | Nokia Technologies Oy | Methods and apparatus for wireless device synchronization |
US9588983B2 (en) | 2013-10-17 | 2017-03-07 | Microsoft Technology Licensing, Llc | Data classification for adaptive synchronization |
US9935846B2 (en) | 2013-10-31 | 2018-04-03 | Google Llc | Synchronized distributed networks with frictionless application installation |
US9391844B2 (en) * | 2014-01-15 | 2016-07-12 | Dell Products, L.P. | System and method for network topology management |
WO2016019536A1 (en) | 2014-08-07 | 2016-02-11 | Telefonaktiebolaget L M Ericsson (Publ) | Methods implemented in access nodes for maintaining synchronization in radio access network and associated access nodes |
US10504034B2 (en) * | 2015-01-27 | 2019-12-10 | Huawei Technologies Co., Ltd. | Systems, devices and methods for distributed content interest prediction and content discovery |
US10083494B2 (en) * | 2015-01-30 | 2018-09-25 | Huawei Technologies Co., Ltd. | Systems, devices and methods for distributed content pre-fetching to a user device |
CN106302251B (zh) | 2015-06-26 | 2019-09-06 | 深圳市中兴微电子技术有限公司 | 一种交换网络同步方法及交换装置、接入装置 |
US9854038B2 (en) * | 2015-09-21 | 2017-12-26 | Facebook, Inc. | Data replication using ephemeral tree structures |
CN105611621B (zh) * | 2016-01-14 | 2019-03-29 | 南京航空航天大学 | 一种适用于多跳无线传感器网络的主从同步方法 |
US10754831B2 (en) | 2017-04-25 | 2020-08-25 | Salesforce.Com, Inc. | Generating a hierarchical data structure |
US10831783B2 (en) * | 2017-04-25 | 2020-11-10 | Salesforce.Com, Inc. | Updating a hierarchical data structure |
CN110972164B (zh) * | 2019-12-04 | 2023-02-03 | 深圳市国电科技通信有限公司 | 用于无线自组织网络的升级方法及系统 |
US11681677B2 (en) * | 2020-02-27 | 2023-06-20 | EMC IP Holding Company LLC | Geographically diverse data storage system employing a replication tree |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101040486A (zh) * | 2004-10-12 | 2007-09-19 | 国际商业机器公司 | 动态分布式环境中的自动拓扑形成方法、系统及程序产品 |
US20080034070A1 (en) * | 2006-08-04 | 2008-02-07 | Alcatel | Method and system for storing configuration information for network nodes in a network management system |
Family Cites Families (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS53148911A (en) * | 1977-05-31 | 1978-12-26 | Toshiba Corp | Facsimile communication system |
JPS57206147A (en) * | 1981-06-15 | 1982-12-17 | Fujitsu Ltd | Multiaddress calling system |
JPH0344972U (zh) * | 1989-09-05 | 1991-04-25 | ||
JPH07112197B2 (ja) * | 1991-07-23 | 1995-11-29 | 株式会社ダイナックス | カスケード通信方法 |
JPH06276584A (ja) * | 1993-03-19 | 1994-09-30 | Hitachi Telecom Technol Ltd | 端末群の制御方法 |
JP3302769B2 (ja) * | 1993-04-14 | 2002-07-15 | 三菱電機株式会社 | データ転送システム |
US5832487A (en) * | 1994-12-15 | 1998-11-03 | Novell, Inc. | Replicated object identification in a partitioned hierarchy |
JP3698761B2 (ja) * | 1995-07-19 | 2005-09-21 | 富士通株式会社 | 情報転送方法及び情報転送装置 |
DE69624359D1 (de) * | 1995-07-20 | 2002-11-21 | Novell Inc | Transaktionslogverwaltung in einem netz abtrennbarer rechner |
JP2772263B2 (ja) * | 1995-07-21 | 1998-07-02 | 日本電気移動通信株式会社 | 同報データ転送方式 |
JPH09149070A (ja) * | 1995-11-24 | 1997-06-06 | Mk Seiko Co Ltd | データ転送方法およびそれを用いたデータ転送装置 |
JPH09214552A (ja) * | 1996-01-31 | 1997-08-15 | Fujitsu Ltd | ファイル配信装置および配信中点決定方法 |
US5924094A (en) * | 1996-11-01 | 1999-07-13 | Current Network Technologies Corporation | Independent distributed database system |
US7302446B1 (en) * | 1996-11-13 | 2007-11-27 | Intellisync Corporation | Synchronizing databases |
US5787439A (en) * | 1996-12-13 | 1998-07-28 | Novell, Inc. | Method and system for maintaining a preferred sequence for accessing a plurality of objects |
JP3788843B2 (ja) * | 1997-06-18 | 2006-06-21 | 日本電信電話株式会社 | 電子ファイル配送方法及び該方法を実現するためのプログラムを記録した記録媒体 |
JPH1155259A (ja) * | 1997-08-07 | 1999-02-26 | Nippon Telegr & Teleph Corp <Ntt> | マルチプロセッサシステムおよびデータ転送方法 |
US6343299B1 (en) * | 1998-11-16 | 2002-01-29 | International Business Machines Corporation | Method and apparatus for random update synchronization among multiple computing devices |
JP2000174750A (ja) * | 1998-12-04 | 2000-06-23 | Toshiba Corp | 端末装置と監視システムと監視システムの監視方法 |
US6681370B2 (en) * | 1999-05-19 | 2004-01-20 | Microsoft Corporation | HTML/XML tree synchronization |
JP2001061046A (ja) * | 1999-08-23 | 2001-03-06 | Murata Mach Ltd | 通信端末装置 |
US6751248B1 (en) * | 1999-12-07 | 2004-06-15 | Koninklijke Philips Electronics N.V. | Method for nodes in a multi-hop wireless network to acquire and maintain synchronization with a master node |
US6484172B1 (en) * | 1999-12-24 | 2002-11-19 | Electronics And Telecommunications Research Institute | Concurrency control method for high-dimensional index structure using latch and lock |
US6615223B1 (en) * | 2000-02-29 | 2003-09-02 | Oracle International Corporation | Method and system for data replication |
US20040168174A1 (en) * | 2000-03-08 | 2004-08-26 | Baker Tyler Foley | System for object cloing and state synchronization across a network node tree |
US6868414B2 (en) * | 2001-01-03 | 2005-03-15 | International Business Machines Corporation | Technique for serializing data structure updates and retrievals without requiring searchers to use locks |
JP2002319937A (ja) * | 2001-04-20 | 2002-10-31 | Nec Corp | データ配信システム |
US7085779B2 (en) * | 2001-06-04 | 2006-08-01 | Sun Microsystems, Inc. | File tree change reconciler |
US7165248B2 (en) * | 2001-06-04 | 2007-01-16 | Sun Microsystems, Inc. | File tree conflict processor |
US6968372B1 (en) * | 2001-10-17 | 2005-11-22 | Microsoft Corporation | Distributed variable synchronizer |
JP3986316B2 (ja) * | 2002-01-17 | 2007-10-03 | 富士通株式会社 | データ転送方法及び装置 |
US7117491B2 (en) * | 2002-08-29 | 2006-10-03 | International Business Machines Corporation | Method, system, and program for determining whether data has been modified |
US7734585B2 (en) * | 2004-12-03 | 2010-06-08 | Oracle International Corporation | Updateable fan-out replication with reconfigurable master association |
US7505450B2 (en) * | 2005-03-23 | 2009-03-17 | Cisco Technology, Inc. | Configuration of failure and acquire timeouts to facilitate recovery from failures in hierarchical mesh networks |
JP4604824B2 (ja) * | 2005-05-10 | 2011-01-05 | ブラザー工業株式会社 | 情報配信システム、処理プログラム、管理プログラム及び情報配信方法等 |
US7953696B2 (en) * | 2005-09-09 | 2011-05-31 | Microsoft Corporation | Real-time synchronization of XML data between applications |
US7953785B2 (en) * | 2006-06-30 | 2011-05-31 | Microsoft Corporation | Content synchronization in a file sharing environment |
US20080005195A1 (en) * | 2006-06-30 | 2008-01-03 | Microsoft Corporation | Versioning synchronization for mass p2p file sharing |
US7506011B2 (en) | 2006-07-26 | 2009-03-17 | International Business Machines Corporation | System and apparatus for optimally trading off the replication overhead and consistency level in distributed applications |
-
2008
- 2008-06-06 US US12/134,563 patent/US7793002B2/en active Active
-
2009
- 2009-05-28 GB GB0909093.7A patent/GB2460520B/en not_active Expired - Fee Related
- 2009-06-02 CN CNA2009101426369A patent/CN101599881A/zh active Pending
- 2009-06-04 EP EP09161930A patent/EP2131511A2/en not_active Withdrawn
- 2009-06-08 JP JP2009137010A patent/JP2009296595A/ja active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101040486A (zh) * | 2004-10-12 | 2007-09-19 | 国际商业机器公司 | 动态分布式环境中的自动拓扑形成方法、系统及程序产品 |
US20080034070A1 (en) * | 2006-08-04 | 2008-02-07 | Alcatel | Method and system for storing configuration information for network nodes in a network management system |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104380669A (zh) * | 2012-06-18 | 2015-02-25 | 西门子公司 | 在通讯网络中传输数据包的方法和通讯网络 |
US9585053B2 (en) | 2012-06-18 | 2017-02-28 | Siemens Aktiengesellschaft | Communication network and method for transmitting data packets in the communication network |
CN104380669B (zh) * | 2012-06-18 | 2017-09-15 | 西门子公司 | 在通讯网络中传输数据包的方法和通讯网络 |
CN105122698A (zh) * | 2013-01-18 | 2015-12-02 | 诺基亚技术有限公司 | 受控的同步群组选择 |
CN105122698B (zh) * | 2013-01-18 | 2018-11-20 | 诺基亚技术有限公司 | 受控的同步群组选择 |
CN105988997A (zh) * | 2015-01-27 | 2016-10-05 | 珠海金山办公软件有限公司 | 一种基于层级架构的数据同步方法及装置 |
CN105988997B (zh) * | 2015-01-27 | 2019-11-26 | 珠海金山办公软件有限公司 | 一种基于层级架构的数据同步方法及装置 |
WO2018130064A1 (zh) * | 2017-01-10 | 2018-07-19 | 中兴通讯股份有限公司 | 支持分布式多场景的基站及其创建、通信方法、存储介质 |
US10244495B1 (en) | 2017-09-28 | 2019-03-26 | Hong Kong Applied Science And Technology Research Institute Co., Ltd. | Systems and methods for synchronization signal timeslot reselection for synchronization target selection in networks |
WO2019061587A1 (en) * | 2017-09-28 | 2019-04-04 | Hong Kong Applied Science and Technology Research Institute Company Limited | SYSTEMS AND METHODS FOR RESELECTING SYNCHRONIZATION SIGNAL TIME CRANES FOR SELECTING SYNCHRONIZATION TARGETS IN NETWORKS |
CN109873714A (zh) * | 2019-01-04 | 2019-06-11 | 平安科技(深圳)有限公司 | 云计算节点配置更新方法及终端设备 |
CN109873714B (zh) * | 2019-01-04 | 2023-12-22 | 平安科技(深圳)有限公司 | 云计算节点配置更新方法及终端设备 |
Also Published As
Publication number | Publication date |
---|---|
US7793002B2 (en) | 2010-09-07 |
GB2460520A (en) | 2009-12-09 |
GB2460520B (en) | 2012-08-08 |
GB0909093D0 (en) | 2009-07-22 |
EP2131511A2 (en) | 2009-12-09 |
JP2009296595A (ja) | 2009-12-17 |
US20090307336A1 (en) | 2009-12-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101599881A (zh) | 用于在网络化设备之间实施连续同步化层级的方法及设备 | |
US7616568B2 (en) | Generic packet generation | |
CN100495678C (zh) | 半导体测试系统及方法 | |
JPWO2008126210A1 (ja) | 通信経路選択プログラム、通信経路選択方法および通信経路選択装置 | |
CN105245301A (zh) | 一种基于时间触发的机载光网络仿真系统 | |
CN102546839B (zh) | 面向大规模网络的高效、可靠的软件分发方法 | |
EP2203840A2 (en) | Exchange of syncronization data and metadata | |
CN108833584B (zh) | 消息推送方法、终端、服务器及计算机存储介质 | |
CN102571923A (zh) | 数据同步系统及方法 | |
CN114153468A (zh) | 工业协议的适配方法、装置、边缘设备及云端服务器 | |
CN107704550A (zh) | 文件迁移方法、装置以及计算机可读存储介质 | |
CN110231944A (zh) | 自动化部署方法、装置、系统以及计算机可读存储介质 | |
US20140379100A1 (en) | Method for requesting control and information processing apparatus for same | |
CN114238703A (zh) | 事件流程编排方法、装置及应用 | |
CN104243533B (zh) | 在局域网络中进行数据分享与数据同步的方法 | |
CN113127023A (zh) | 业务升级的方法、装置和系统 | |
CN107045452A (zh) | 虚拟机调度方法和装置 | |
CN109873716A (zh) | 数据的处理方法、装置和存储介质 | |
CN112804313B (zh) | 基于跨域边缘节点的数据同步方法、装置、设备及介质 | |
JP2006155081A (ja) | 電子データ交換プログラム、電子データ交換装置および情報処理プログラム | |
KR100864987B1 (ko) | 클라이언트 동기화 시스템 및 그 방법 | |
CN106776756A (zh) | 服务器端、客户端处理天气资源数据的方法和装置 | |
CN110661655B (zh) | 一种集群部署方法、系统、电子设备及存储介质 | |
CN113315594A (zh) | 时间同步方法、装置及存储介质 | |
JP7268741B2 (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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20091209 |
|
WD01 | Invention patent application deemed withdrawn after publication |