用于在中间件机器环境中确保互联网协议(ip)地址和节点名称一致性的系统和方法
【专利说明】用于在中间件机器环境中确保互联网协议(IP)地址和节点名称一致性的系统和方法
[0001]版权声明
[0002]本专利文献的公开内容的一部分包含受到版权保护的资料。版权所有人不反对任何人按照其在专利商标局专利文件或记录中所出现的那样对专利文献或专利公开内容进行复制,但是在其他方面保留所涉及的所有版权权利。
技术领域
[0003]本发明总体上涉及计算机系统,并且特别涉及中间件机器环境。
【背景技术】
[0004]互连网络在下一代的超级计算机、集群和数据中心中扮演有益的角色。举例来说,InfiniBand(IB)技术已经被越来越多地部署,以作为云计算结构的基础。随着更大的云计算架构被引入,与传统的网络和存储相关联的性能和管理瓶颈已经成为严重的问题。
[0005]这正是本发明的实施例意图解决的总体领域。
【发明内容】
[0006]这里描述了一种可以在通过对应于相同的远程对等方的多个无关的IP地址实施远程事务时确保互联网协议(IP)地址和节点名称一致性的系统和方法。所述系统可以确保所有协作对等节点在任意时间点都完全同意所述名称和IP地址。具体来说,当网络配置可以被动态地更新时,所述系统可以确保这样的更新不会由于某一对等节点在将要使用哪些地址方面的观点陈旧而导致不一致的或者失败的事务。此外,发起事务的对等节点可以验证所有其他对等节点对于总体系统配置都具有完全相同的观点,以便确保利用一致的地址信息来实施每一项分布式事务。
【附图说明】
[0007]图1示出了根据本发明的一个实施例在中间件机器环境中利用高度可用的通信来支持分布式事务的图示。
[0008]图2示出了根据本发明的一个实施例在中间件机器环境中确保一致的地址信息以用于支持分布式事务的图示。
[0009]图3示出了根据本发明的一个实施例在中间件机器环境中发生网络配置改变时支持分布式事务的图示。
[0010]图4示出了根据本发明的一个实施例的对应于在中间件机器环境中确保一致的地址信息以用于支持分布式事务的示例性流程图。
[0011]图5示出了根据本发明的一个实施例的对应于在中间件机器环境中确保一致的地址信息以用于支持分布式事务的示例性方框图。
[0012]图6示出了根据本发明的一个实施例的对等节点。
【具体实施方式】
[0013]在附图中通过举例而非限制的方式示出了本发明,其中相同的附图标记表示类似的元件。应当提到的是,在本公开内容中提到“某一”、“一个”或“一些”实施例时并不一定都是指相同的实施例,而是意味着至少一个实施例。
[0014]后面对于本发明的描述使用互联网协议(IP)网络作为计算机网络的一个实例。本领域技术人员将认识到,在不做限制的情况下可以使用其他类型的计算机网络。
[0015]这里描述了一种可以在中间件机器环境中确保系统配置一致性(比如IP地址和节点名称一致性)的系统和方法。
[0016]图1示出了根据本发明的一个实施例在中间件机器环境中利用高度可用的通信来支持分布式事务的图示。如图1中所示,中间件机器环境100可以包括通过不同的子网(例如子网A-C 111-113)互连的一个或多个对等节点A-D 101-104。每一个对等节点A-D101-104可以与不同的IP地址(例如IP地址121-124)和各种网络接口(例如网络接口131-134)相关联。
[0017]根据本发明的一个实施例,在中间件机器环境100中,可以通过多个网络(或子网)并且通过多个本地网络接口以及多个独立的本地和远程IP地址利用高度可用的通信来执行或实施各种分布式事务。
[0018]此外,所有协作对等节点A-D 101-104可以在任意时间点都完全同意对于每一个这样的对等方是相关的名称和IP地址。此外,当网络配置(例如网络配置110)被动态地更新时,有益的是确保这样的更新不会由于某一对等方在将要使用哪些地址方面的观点(view)陈旧而导致不一致的或者失败的事务。
[0019]图2示出了根据本发明的一个实施例在中间件机器环境中确保一致的地址信息以用于支持分布式事务的图示。如图2中所示,在中间件机器环境200中,对等节点A 201可以与一个或多个远程对等节点(例如对等节点B 202)发起分布式事务210。在这里,对等节点A 201与网络地址211-212相关联,并且对等节点202与网络地址221-223相关联。
[0020]为了确保可以利用一致的地址信息来实施分布式事务210,对等节点A 201可以验证所有其他的对等节点(比如对等节点B 202)都具有与其自身完全相同的关于总体系统配置220的观点。
[0021]根据本发明的一个实施例,将由发起分布式事务210的对等节点A 201检查的信息可以包括与每一个对等节点相关联的一个或多个独有名称、网络列表以及对于每一个单独网络应当能够经由其到达每一个对等节点的IP地址。
[0022]此外,每一个远程对等节点(例如对等节点B 202)可以在做出响应之前确保关于其自身的信息与本地OS/联网配置230是一致的。因此,所述系统可以确保管理员错误不会阻碍分布式事务的一致执行。
[0023]图3示出了根据本发明的一个实施例在中间件机器环境中发生网络配置改变时支持分布式事务的图示。如图3中所示,可以在中间件机器环境300中实施涉及对等节点A-C 301-303的分布式事务。在这里,对等节点A 301可以与网络地址311相关联,对等节点B 302可以与网络地址321-322相关联,并且对等节点C 303可以与网络地址331-333相关联。
[0024]根据本发明的一个实施例,当网络配置320中的改变发生时,在可以实施任何后续的分布式事务之前,所述系统可以将所有协作对等节点A-C 301-303带入同步。此外,只要可以实现所需的一致性,网络配置320的更新可以是自动的或者是人工的。
[0025]此外,对于在联网地址信息方面具有潜在改变的协作对等节点A-C301-303的固定集合,在所有协作对等节点A-C 301-303之间的网络配置并不一致的时段期间,由所述系统作为每一项分布式事务的一部分所实施的鲁棒一致性检查能够足以确保不会成功地发起分布式事务。
[0026]此外还可能发生的情况是,协作节点A-C 301-303的集合就成员节点列表自身而言可能不同步。除了哪些地址与每一个节点相关联之外,所述鲁棒一致性检查可以确保每一个协作节点A-C 301-303在总的节点集合是什么方面具有相同的观点。举例来说,如果协作对等节点的列表将被改变,所述系统可以利用前面的方案检测网络配置320中的改变(或不一致性)。
[0027]根据本发明的一个实施例,可以同步地检测网络配置320中的改变(或不一致性),并且可以适当地检查和更新总体配置信息,以便允许后续的事务发生。
[0028]如图3中所示,在分布式事务的执行期间,网络地址331可以被动态地改变。网络配置320中的这一改变(或不一致性)可能在分布式事务期间不再使用相关地址(或者完全不使用相关地址)之后发生。在这些情况下,网络配置320中的改变(或不一致性)对于实施所述事务可能不会导致任何问题。
[0029]此外,网络配置320中的改变可能在所述地址仍被使用时或者在其被使用之前发生。在这样的情况下,所述问题可以通过地址探测操作被检测到,通过作为远程操作的一部分的明确检查操作被检测到,或者在实际通信期间作为通信失败(例如TCP超时)被处理。
[0030]图4示出了根据本发明的一个实施例的对应于在中间件机器环境中确保一致的地址信息以用于支持分布式事务的示例性流程图。如图4中所示,在步骤401处,对等节点可以发起与一个或多个远程对等节点的一项或多项分布式事务,其中每一个远程对等节点可以与多个网络地址相关联。随后,在步骤402处,所述对等节点可以验证每一个远程对等节点关于系统配置具有相同的观点。此外,在步骤403处,所述系统可以通过与所述远程对等节点相关联的多个网络地址执行分布式事务。
[0031]图5示出了根据本发明的一个实施例的对应于在中间件机器环境中确保一致的地址信息以用于支持分布式事务的示例性方框图。如图5中所示,每一个对等节点包括网络管理器501、网络接口 502、事务执行模块503以及验证模块504。网络管理器501管理系统配置,其与所有协作对等节点有关,并且包括一个或多个独有名称、网络列表以及互联网协议(IP)地址。网络接口 502充当用于向/从一个或多个远程对等节点传送和接收信号的物理层。
[0032]响应于任何明确的或隐含的事件,事务执行模块503发起与一个或多个远程对等节点的分布式事务。每一项分布式事务与多个网络地址相关联。验证模块504验证所述一个或多个远程对等节点在系统配置方面都具有相同的观点。作为一种示例性实现方式,验证模块504从其自身的对等节点中的网络管理器501获得系统配置并且从所述一个或多个远程对等节点获得(多项)系统配置,并且随后将其彼此进行比较以确保一致的地址信息。
[0033]一旦事务执行模块503接收到来自验证模块504的成功验证结果,事务执行模块503就开始通过与一个或多个远程对等节点相关联的多个网络地址执行分布式