CN102577249B - 动态寻址主机的连接的实例组 - Google Patents

动态寻址主机的连接的实例组 Download PDF

Info

Publication number
CN102577249B
CN102577249B CN201080041480.6A CN201080041480A CN102577249B CN 102577249 B CN102577249 B CN 102577249B CN 201080041480 A CN201080041480 A CN 201080041480A CN 102577249 B CN102577249 B CN 102577249B
Authority
CN
China
Prior art keywords
example set
machine
host machine
address
machines
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.)
Active
Application number
CN201080041480.6A
Other languages
English (en)
Other versions
CN102577249A (zh
Inventor
M·王
K·梁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cloud Software Group Inc
Original Assignee
Tibco Software Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tibco Software Inc filed Critical Tibco Software Inc
Publication of CN102577249A publication Critical patent/CN102577249A/zh
Application granted granted Critical
Publication of CN102577249B publication Critical patent/CN102577249B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1044Group management mechanisms 
    • H04L67/1046Joining mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1044Group management mechanisms 
    • H04L67/1048Departure or maintenance mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1087Peer-to-peer [P2P] networks using cross-functional networking aspects
    • H04L67/1093Some peer nodes performing special functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

一种用于建立和维持机器的连接的实例组的系统包括用于实例组创建的协议;用于主控机器创建、操作和恢复的协议;以及用于对等机器创建、操作和恢复的协议。这些协议允许每个机器连接数据源并且建立包含所述实例组中的机器的名称和IP地址的本地主机文件,由此在所述实例组中的机器之间提供网络连接。

Description

动态寻址主机的连接的实例组
相关申请的交叉引用:本申请涉及并要求2009年7月20日递交的、题目为“Connectedinstancegroupofdynamicallyaddressedhostsinanon-multicastenvironment(非多路广播环境中的动态寻址主机的连接的实例组)”的美国临时专利申请No.61/227,036的优先权,该申请通过引用被并入本文。
背景技术
域名系统(DNS)是针对以下内容的分层命名系统:计算机、服务(services)或与提供在IP地址和主机(host)名称之间的映射的因特网或者私用网络(privatenetwork)连接的任何资源。在给定主机名称的情况下,DNS提供将返回IP地址的方便的方式。DNS并不具有逻辑分组的概念,并且因此使用者会无法询问DNS并且请求某一组。此外,利用DNS,当使用者希望与特定机器通信时,他们首先必须以DNS查找该机器的IP地址。使用者可以背得出(recite)URL或者主机而不知晓IP地址并且无需知晓机器将如何定位到网站。因此,每当使用者希望浏览URL或者发送电子邮件时,就会在DNS中查找机器的IP地址。
对等(P2P)网络是由这样的参与者构成的分布式网络,所述参与者将其资源中的一部分设为是对其他网络参与者可用的,而无需中央协调实例(instance)。如果使用者正在请求来自实例中的一个的资源,则其他的实例可以得知该实例。但是P2P不会创建实例的完全连接,因而在P2P网络中并不是所有的实例都会相互得知。
在一类网络(例如云计算网络)中,机器不具有永久静态IP地址,从而IP地址不断变化,并且其中广播是未被启用的,仍旧需要应用程序来实现逻辑上相关的实例的群集或组的概念,该逻辑上相关的实例具有始终相互连接的能力。仍旧需要组中的实例全都相互得知。
发明内容
公开的是在联网计算环境中的连接的实例组中的机器,用于使机器与在联网计算环境中的连接的实例组连接的方法,以及如果机器失败用于恢复连接的实例组的方法。
总体地,根据一方面,一种用于将机器加入联网计算环境中的实例组的方法包括:确定所述机器的IP地址;将与所述实例组相关联的组名信息和所述IP地址传输到数据源;从所述数据源接收与所述实例组相关联的其他机器的IP地址;以及连接到所述实例组。所述机器可以连接到与所述实例组相关联的消息传递(messaging)服务,并且该消息传递服务根据该机器是否为加入该实例组的第一个机器而可以为消息传递服务客户端或者消息传递服务服务器。
总体地,根据另一方面,如果该实例组中的主控机器(mastermachine)失败,一种用于与连接的实例组中重启的主控机器重新连接的方法包括:确定对等机器和失败的主控机器之间缺少连接;周期性地尝试连接到与所述失败的主控机器相关联的消息传递服务服务器;以及在所述失败的主控机器重启之后,连接到与所述重启的主控机器相关联的消息传递服务服务器。
总体地,根据再一方面,一种在联网计算环境中的实例组的机器可以包括处理器部件、存储器部件、通信部件以及消息传递服务部件。所述处理器部件可以操作来确定所述机器的IP地址。所述存储器部件可以操作来储存与所述机器相关联的本地主机文件。所述通信部件可以操作来通过传输总线将与所述实例组相关联的组名信息和所述IP地址传输到与所述联网计算环境相关联的数据源,并且通过所述传输总线从所述数据源接收与所述实例组相关联的其他机器的IP地址。所述消息传递服务部件可以操作来连接所述实例组。
附图说明
在附图中以示意性的方式图示说明实施方案,在附图中:
图1是图示说明根据本公开的联网计算系统的示意图;
图2是图示说明根据本公开创建连接的实例组的流程图;
图3是图示说明根据本公开的用于实例组连接的系统的示意图;
图4是图示说明根据本公开创建组的示意图;
图5是图示说明根据本公开将主控机器加入实例组的示意图;
图6是图示说明根据本公开的加入的机器在实例组中寻找其他机器的流程图;
图7是图示说明根据本公开将对等机器加入实例组的示意图;
图8是图示说明根据本公开将另一对等机器加入实例组的示意图;
图9是图示说明根据本公开的主控机器失败的流程图;
图10是图示说明根据本公开的主控机器失败的示意图;
图11是图示说明根据本公开的主控机器恢复的示意图;以及
图12是图示说明根据本公开的数据源的示意图。
具体实施方式
本公开涉及用于建立和维持机器的连接的实例组的技术,所述机器的IP地址在其实例化时是被动态分配的。如本文所提及的,连接的实例组是在联网计算环境中的一组机器,在该联网计算环境中每个机器持有该组中所有其他机器的IP地址。因此,该机器可以相互连接并且相互通信(例如,通过TCP)。
图1是联网计算系统100的示意图。联网计算系统100具有机器集合102。在实施方案中,联网计算系统100为具有机器集合102的云计算环境。
在动作109,使用者/控制器108可以通过在与联网计算系统100相关联的数据源104处创建实例组来发起(initiate)联网计算系统100中实例组的创建。在动作110,使用者/控制器108创建第一实例。在实施方案中,第一实例是主控机实例(masterinstance)。当主控机实例106被启动时,其附接到网络102并且基础(underlying)操作系统将给予其一IP地址。在动作112,作为操作系统启动的一部分,运行一组软件,并且该组软件将会连接主控机实例106到数据源104并且通告(announce)其IP地址。主控机器106可以从数据源104接收关于实例组中其他机器(如果存在的话)的信息。主控机器106还启动消息传递服务服务器114并且监听对等机器连接,该消息传递服务服务器114可以提供公开信息和订阅信息。消息传递服务服务器114可以提供加入实例组的实例的通知到主控机(master)106。如在下面进一步详细论述的,除了将消息传递服务客户端用在对等机器之外,对等机器以相似的方式加入组。
图2是图示说明实例组创建的高级流程图200。在动作202,由控制器/使用者创建实例组。在动作204,创建主控机器或者主机。在动作206,启动对等机器。在动作208,主控机器和对等机器被连接。针对其他对等机器加入该实例组的情况,可以重复进行在动作206创建对等机器的操作。在每个对等机器加入该实例组之后,主控机器和对等机器通过本公开所公开的过程被连接。
在加入该实例组之前,机器可以不具有该实例组中其他机器的先验知识,而利用该先验知识它们可以就IP地址询问中央服务器。使用一通信协议来管理机器的动态组的连接,该动态组不具有预定义的成员条件(membership),该通信协议在处理过程中(onthefly)可以添加、删减以及重新引入失败的(或停止的)机器。
因此,在实施方案中,机器被给定实例化时所限定的动态IP地址并且不具有其自身IP地址、该组中其他(或者要被添加到该组的)机器的IP地址以及被重新实例化的失败的或停止的机器的修正的IP地址的先验知识。在另一实施方案中,广播和多路广播网络通信都是未被启用的,因而不能用来实现发现协议(discoveryprotocol)。
本公开涉及用于建立和维持连接的实例组的协议。本公开包括用于实例组创建(例如,动作202)的协议;用于主控机器创建(例如,动作204)、操作和恢复的协议;以及用于对等机器创建(例如,动作206)、操作和恢复的协议。这些协议允许每个机器建立本地机器主机识别文件,例如在Unix/Linux系统上的/etc/hosts文件,该本地机器主机识别文件包含该组中其他机器的名称和IP地址,因而提供该实例组中机器之间的网络连接(例如,动作208)。
图3是图示说明用于实例组连接的系统的示意图。一小组软件被安装在组304中的每个机器302上。作为启动操作系统的一部分,运行该组软件。例如,消息(message)服务服务器/客户端是该软件组的一部分。消息服务/客户端是实现公开和订阅(例如,Java消息传递服务,JMS)概念的消息传递技术。消息服务服务器是消息传递服务的服务器部分,而消息服务客户端是服务的客户端部分。一小组参数也被传递至每个机器302作为来自控制器306的启动命令的一部分。例如,机器302所属的组304的名称以字符串参数的形式被传递并且数据源310的位置也一起被传递。
实例组304可以被认为是机器的逻辑容器。机器302典型地具有正常工作(functioning)的操作系统,例如Linux或MicrosoftWindows,并且连接到网络。控制器306是控制机器302的生命周期(例如,启动机器、停止机器等)的外部应用程序。控制器306可以为外部事件发生器,例如图形用户界面(GUI)。数据源310可以为具有固定地址和永久储存器的公知的服务装置。所描述的部件通过因特网或其他通信网络320进行通信。
实例组创建
在实施方案中,使用者可以通过在数据服务装置310处的数据库(例如,Amazon的SimpleDB)中创建表来创建新的实例组304。数据源310应当具有可以存留信息的公知的接入点或地址(例如,http://sdb.amazonaws.com)。数据库和表具有对实例组304来说是唯一的名称。
图4是图示说明创建组的示意图。通过控制器406,实例组412在数据服务器410被发起。控制器406可以通过HTTP协议与数据服务器进行通信。在实施方案中,控制器406使用HTTP协议调用网页服务来创建实例组412。在这种操作情况下,逻辑边界或容器(实例组404)被创建,并且属于该实例组404的实例可以被认为是在该逻辑边界之内的。实例组412是在数据服务器410处创建的有形数据(tangibledata)。实例组404为将会属于组404的实例限定逻辑边界。
在数据源410创建实例组412的过程中,在数据源410的数据库中创建数据库表。在数据库中的表中可以追踪被创建或删除的实例。在加入组404、412之后,每个机器可以保持实例组404、412中机器的基本上完整的映射。
主控机器创建和连接
图5是图示说明第一机器522加入实例组504的示意图。控制器506创建第一机器522。在实施方案中,第一机器是主控机器522。名称(例如,“M”)被分配到主控机器522。因为机器522的名称是任意的,所以还可以使别名(例如,“topdog(领导者)”)与主控机器522相关联。因此,访问“M”等同于访问“topdog”,并且反之亦然。当主控机器522被启动时,其附接到网络并且基础操作系统将给予其IP地址(例如,192.168.1.1)。
一组软件作为启动操作系统的一部分被运行,并且该组软件将使主控机器522连接到数据源510并且通告其IP地址。更具体地,主控机522连接到数据源510并且告知数据源510其名称(例如,M)、其别名(例如,topdog)以及其IP地址(例如,192.168.1.1)。在用于实例组512的数据库表处,该信息可以被储存在数据源510中。
该别名可以被硬编码到主控机M522中。主控机M522可以通过其本地主机文件确定其别名和IP地址。该别名还可以被之后将会加入的机器使用来指代主控机。在实施方案中,软件将两条记录(entry)写入数据库表512:一个用于主控机实例,一个用于主控机实例的别名。所述记录在本质上是等同的。
数据源510知晓处于特定IP地址的主控机522。主控机522还可以获取包含在数据源510中的用于其实例组512的任何其他信息。当主控机522被创建为实例组504中的第一机器时,数据服务器510将仍不会包含关于其他机器的信息。主控机522然后更新被接收到其本地主机文件(例如,基于Linux的/etc/hosts文件)中的任何信息。
主控机522还启动可以提供公开和订阅信息的消息传递服务服务器530并且监听对等连接。消息传递服务530可以提供加入实例组504的实例的通知到主控机522。在实施方案中,消息传递服务530为Java消息传递服务。
图6是图示说明机器连接到实例组的流程图600。在动作602,加入的机器在其被启动之后确定其自身的IP地址。在动作604,机器与数据源连接并且通告其IP地址、别名以及实例组名称。在动作606,该机器接收该实例组中其他机器的IP地址。在动作608,该机器连接到实例组。
对等机器创建和连接
图7是图示说明对等机器724加入实例组704的示意图。控制器706发起对等机器724加入实例组704并且分配其名称(例如,“C1”)。与主控机器722类似地,对等机器724将会联络数据源710并且以其IP地址和其他信息更新实例组数据表712。同样,与主控机器722类似地,对等机器724将会读回储存在实例组数据库表712中的信息。对等机器724可以更新其自身的本地主机文件,并且因此,得知主控机的地址(例如,通过在本地主机文件中查找“topdog”)。
对等机器724还启动消息传递服务客户端,该消息传递服务客户端可以提供到主控机的消息服务服务器730的连接。一旦连接,对等机器724可以将自身通告给主控机器722。在实施方案中,对等机器724通过消息服务730就关于其自身存在和自身信息的主题进行通告。因为主控机器722正在聆听该主题,所以主控机器722被通知该对等机器724,并且可以以与对等机器724相关联的新的记录更新其本地主机文件。对等机器724得知主控机器722并且主控机器722得知对等机器724。
图8是另一对等机器826加入包含主控机器822和对等机器824的实例组804的示意图。类似于图5和图7中所描述的方式,控制器可以创建新的对等机器826到实例组804中,并且将名称(例如,“C2”)分配给新的对等机器826。控制器806启用实例组804中的新的对等机器826。
同样类似于图5和图7的方式,新的对等机器826联络数据源810并且以其IP地址更新实例组对象812。然后,新的对等机器826可以读回实例组对象812中的所有信息并且更新其本地主机文件。新的对等机器826得知主控机器822和另一对等机器824。
新的对等机器826正运行消息服务客户端并且其连接到主控机器822处的消息服务服务器830。一旦连接,其将就关于其自身存在的公知的主题通告消息服务830。因为主控机器822正在聆听该主题,所以其将被通知该新的对等机器826并且可以以新的记录更新其本地主机文件。主控机822和新的对等机器826相互得知。同样,因为另一对等机器824正在聆听该主题,所以其被通知该新的对等机器826并且以新的记录更新其本地主机文件。新的对等机器826和另一对等机器824相互得知。因此,主控机822和两个对等机器824、826相互得知。
可以以类似的方式将任一数目的机器添加到实例组804,形成连接的实例组。
机器恢复
图9是图示说明主控机器失败和恢复的流程图900。该过程开始于步骤901。主控机失败发生在动作903。在动作905,对等机器尝试与主控机器处的消息传递服务通信,但无法实现这一点,因为主控机器已经失败。在主控机器尚未被重启之时(动作907后的“否”循环),在动作905,对等机器将继续尝试与主控机器连接。在这种操作情况下,对等机器无法连接消息传递服务,并且无法连接数据源以获得主控机器的IP地址。当主控机器尚未恢复时,数据源持有失败的主控机器的IP地址并且将继续提供该IP地址至请求的对等机器。因此,对等机器仍旧无法连接主控机器并且将继续连接数据源来获得主控机器的IP地址。一旦主控机器恢复(动作907之后的“是”路径),数据源以主控机器的新IP地址进行更新(如上面在图5和图6的方式中所论述的),并且在对等机器从数据源请求主控机器的新IP地址时,在动作909该对等机器接收该新IP地址。在动作911,主控机器和对等机器再次被连接作为连接的实例组,并且该过程结束于步骤999。下面更加详细地论述该过程。
图10是图示说明主控机器1022失败的示意图。由于主控机器1022曾寄宿有(host)消息传递服务服务器1030,所以如果主控机器1022失败或者从网络消失,则对等机器1024、1026将失去与主控机器1022的连接。对等机器1024、1026将周期性地尝试重新连接到消息服务服务器1030。在实施方案中,对等机器1024、1026将联络数据源1010并且读回实例组对象1012的当前值。此时,实例组对象1012仍持有主控机器1022的先前IP地址值,因此对等机器对重新连接的尝试将继续失败。对等机器1024、1026将继续试图进行重新连接。
图11是图示说明实例组1104中的主控机器1122恢复的示意图。控制器可以发起主控机器1122的重启。在实施方案中,主控机器1122被自动重新初始化。在重启时,新IP地址(例如,192.168.1.9)可以被分配到主控机器1122。主控机器1122将联络数据服务器1110并且以其新IP地址更新实例组对象1112。主控机器1122将读回储存在实例组对象1112中的信息并且更新其本地主机文件。
作为重新连接尝试的一部分,对等机器1124、1126将联络数据源1110并且读回实例组对象1112的内容。实例组对象1112持有主控机器1122的新IP地址,因而对等机器1124、1126将读取主控机器1122的新的值。利用主控机器1122的新的值,对等机器1124、1126可以连接消息服务服务器1130。主控机器1122和对等机器1124、1126相互得知。
如果对等机器失效(die),则启动过程类似于结合图7和图8所描述的启动过程。
图12是图示说明储存在数据源1210上的一组实例组定义1212的示意图。数据源1210将信息储存为一组实例组定义1212,每个都是唯一的命名空间(namespace)。在每个实例组1212中,储存一组命名值对(namedvaluepairs)。
尽管上面已经描述了根据所公开的原理的各种实施方案,应当理解的是,它们仅通过示例性的方式被呈现,而非限制性的。因此,本发明(一个或多个)的宽度和范围不应被任何上面描述的示意性实施方案所限,而是应当仅根据权利要求及其由本公开所得到的等同形式来限定。此外,上面的优点和特征在所描述的实施方案中被提供,而不应限制这样的授权权利要求被应用到实现上述优点中的任一个或全部的处理过程和结构中。
例如,如本文所提及的,机器可以为虚拟机器、计算机、节点、实例、主机或联网计算环境中的机器。同样如本文所提及的,联网计算环境是通过便利机器之间的通信并且允许机器共享资源的通信信道连接的机器的集合。再如本文所提及的,服务器是被部署来执行程序的机器并且可以包括软件实例,该程序操作为套接字监听程序(socketlistener)。
资源可以囊括用于运行实例的任何类型的资源,包括硬件(例如,服务器、客户端、大型计算机、网络、网络储存器、数据源、存储器、中央处理单元时间、科学仪器以及其他计算设备)和软件、软件许可、可用网络服务以及其他非硬件资源或其组合。
联网计算环境可以包括,但不限于,计算网格系统(computinggridsystem)、分布式计算环境、云计算环境等。这样的联网计算环境包括硬件和软件基础架构,该硬件和软件基础架构被配置来形成包括多个资源的虚拟组织,该多个资源可以在地理上是分散在多个位置的。
尽管HTTP通信协议可以在本文被描述,但是本申请和由此获得的任何专利的覆盖范围均可以延伸到其他局域网、广域网或者使用其他通信协议操作的其他网络。
在本申请中使用可替换的术语描述服务和应用程序。服务可以为Java服务或者操作代码的其他实例。服务/应用程序是联网计算环境中的机器或机器群集上运行的程序。服务可以是可移植的(transportable)并且可以在多个机器上运行和/或可以从一个机器迁移(migrate)到另一个机器。
本文所使用的各种术语具有本技术领域中的特定含义。具体术语是否应当被认为是这样的“技术术语”取决于该术语被用于的上下文。“连接到”、“与……通信”或者其他类似的术语一般地应当被广义地认为是包括这样的两种情况的,其中通信和连接在所涉及的部件之间是直接的或者是通过所涉及的部件之间的一个或更多个中间物的,包括通过因特网或者某些其他通信网络。“网路”、“系统”、“环境”以及其他类似的术语一般地涉及体现本公开的一个或更多个方面的联网计算系统。这些和其他术语将根据在本公开中被用于的上下文来理解,并且将被理解为本领域普通技术人员中的一个都会理解的那些术语,所述本领域技术人员将会理解在所公开的上下文中的那些术语。上面的限定并不排除基于所公开的上下文可以被赋予那些术语的其他含义。
比较、度量和时间选择(timing)的词汇,例如“此时”、“等同形式”、“在……期间”、“完全”等,应当被理解为意指“基本上此时”、“基本上等同形式”、“基本上在……期间”、“基本上完全”等,其中“基本上”意指,对实现隐含地或明确地阐述的期望结果来讲,这样的比较、度量和时间选择是实际可行的。
此外,本文的段落标题是被提供来与37CFR1.77的建议一致,或者用于提供本文的结构线索。这些标题不应限制或表征可以从该公开公布的任何权利要求中所阐述的一个或多个发明。具体地并且作为示例,尽管标题指“技术领域”,但是权利要求书不应被该标题下所选择的语言限制为描述所谓的技术领域。进一步,“背景技术”中的技术的描述不是要被解读为承认该技术是该公开中的任意一个或多个发明的现有技术。“发明内容”也不是要被认为是在公布的权利要求书中所阐述的一个或多个发明的特征描述。另外,该公开中对单数的“发明”的任何引用不应被用于证明在该公开中仅有一个新颖点。根据从该公开公布的多个权利要求的限定,可以阐述多个发明,并且这些权利要求相应地定义了由其保护的一个或多个发明,以及它们的等同形式。在所有例子中,这些权利要求的范围应根据该公开按照这些权利要求本身的实质来理解,而不应被本文的标题限制。

Claims (16)

1.一种用于将机器加入联网计算环境中的实例组以连接与所述实例组相关联的其他机器的方法,所述方法包括:
通过加入所述实例组的所述机器,确定所述机器的IP地址;
通过加入所述实例组的所述机器,就与所述实例组相关联的组名信息和所述IP地址,同在所述实例组外部并且与所述联网计算环境相关联的数据源进行通信,其中所述数据源储存针对多个实例组的信息,所述多个实例组包括所述实例组;
通过加入所述实例组的所述机器,从所述数据源接收主控机器和与所述实例组相关联的其他机器的IP地址,所述主控机器可操作来通过消息服务服务器为所述实例组提供消息传递服务;
通过加入所述实例组的所述机器,连接到所述实例组;
通过加入所述实例组的所述机器,启动消息服务客户端并且将所述消息服务客户端连接到所述主控机器处的所述消息服务服务器;以及
加入所述实例组的所述机器通过所述消息服务客户端和所述消息服务服务器之间的所述连接向所述主控机器和所述其他机器通告所述机器加入所述实例组。
2.如权利要求1所述的方法,其中通告所述机器加入所述实例组的步骤包括通告所述机器的IP地址和与加入所述实例组的所述机器相关联的名称。
3.如权利要求1所述的方法,还包括:
如果所述实例组为空,将所述机器命名为与主控机器相关联的名称。
4.如权利要求1所述的方法,还包括监听加入所述实例组的对等机器。
5.如权利要求1所述的方法,还包括:
以有规律的时段,对与所述实例组相关联的其他机器的IP地址的所述数据源执行Ping操作。
6.如权利要求1所述的方法,还包括在所述数据源创建所述实例组。
7.如权利要求1所述的方法,还包括:
如果所述实例组已具有主控机器,将所述机器命名为与对等机器相关联的名称。
8.如权利要求1所述的方法,还包括将与所述实例组相关联的其他机器的所述IP地址写入本地主机文件。
9.如权利要求1所述的方法,还包括将所述机器的所述IP地址写入本地主机文件。
10.一种用于在联网计算环境中与连接的实例组中重启的主控机器重新连接的方法,所述方法包括:
确定对等机器和失败的主控机器之间缺少连接;
周期性地尝试连接到与所述失败的主控机器相关联的消息服务服务器;
在所述失败的主控机器重启之后,将所述对等机器连接到与所述重启的主控机器相关联的消息服务服务器;以及
同在与所述重启的主控机器相关联的所述消息服务服务器外部的数据源通信;
其中,所述主控机器可操作来通过消息服务服务器为所述实例组提供消息传递服务。
11.如权利要求10所述的方法,其中所述周期性地尝试连接的步骤还包括:
联络与所述联网计算环境相关联的数据源;以及
读取实例组对象的当前值。
12.如权利要求11所述的方法,还包括:
在所述主控机器重启之后,读取所述实例组对象的所述当前值并且以与所述重启的主控机器相关联的新IP地址更新本地主机文件。
13.如权利要求10所述的方法,还包括自动重启所述失败的主控机器。
14.如权利要求10所述的方法,还包括发起重启所述失败的主控机器的控制器。
15.一种联网计算环境中的实例组的机器,所述机器包括:
处理器部件,所述处理器部件用于确定所述机器的IP地址;
存储器部件,所述存储器部件用于储存与所述机器相关联的本地主机文件;
通信部件,所述通信部件用于通过传输总线将与所述实例组相关联的组名信息和所述IP地址传输到在所述实例组外部并且与所述联网计算环境相关联的数据源,并且用于通过所述传输总线从所述数据源接收主控机器和与所述实例组相关联的其他机器的IP地址,其中所述数据源储存针对多个实例组的信息,所述多个实例组包括所述实例组;以及
消息传递服务客户端,所述消息传递服务客户端用于连接所述实例组;
其中,所述主控机器可操作来通过消息传递服务客户端为所述实例组提供消息传递服务。
16.如权利要求15所述的机器,其中所述处理器部件可操作来确定所述机器和与所述实例组相关联的失败的主控机器之间缺少连接;并且
其中,在缺少所述连接时,所述通信部件可操作来周期性地尝试连接到与所述失败的主控机器相关联的消息服务服务器;并且
其中,在所述失败的主控机器重启之后,所述消息传递服务客户端可操作来重新连接到与所述重启的主控机器相关联的消息服务服务器。
CN201080041480.6A 2009-07-20 2010-07-20 动态寻址主机的连接的实例组 Active CN102577249B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US22703609P 2009-07-20 2009-07-20
US61/227,036 2009-07-20
PCT/US2010/042661 WO2011011459A2 (en) 2009-07-20 2010-07-20 Connected instance group of dynamically addressed hosts

Publications (2)

Publication Number Publication Date
CN102577249A CN102577249A (zh) 2012-07-11
CN102577249B true CN102577249B (zh) 2015-12-09

Family

ID=43499637

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201080041480.6A Active CN102577249B (zh) 2009-07-20 2010-07-20 动态寻址主机的连接的实例组

Country Status (3)

Country Link
US (1) US8996609B2 (zh)
CN (1) CN102577249B (zh)
WO (1) WO2011011459A2 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8370416B2 (en) * 2006-04-26 2013-02-05 Hewlett-Packard Development Company, L.P. Compatibility enforcement in clustered computing systems
US8037415B1 (en) * 2007-09-21 2011-10-11 United Services Automobile Association (Usaa) Systems, methods, and computer readable media for managing a hosts file
US8949655B2 (en) 2013-01-31 2015-02-03 Alcatel Lucent Preventing extreme coresidency hazards in cloud computing
DE102014117797A1 (de) * 2014-10-10 2016-04-14 Ebm-Papst Mulfingen Gmbh & Co. Kg Dynamisch adressierbares Master-Slave-System sowie Verfahren zum dynamischen Adressieren von Slave-Einheiten

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101035192A (zh) * 2007-04-06 2007-09-12 中兴通讯股份有限公司 一种ip机顶盒重启时快速接入网络的方法
CN101180859A (zh) * 2005-05-25 2008-05-14 摩托罗拉公司 通信设备编程的系统和方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030120680A1 (en) 2001-11-16 2003-06-26 Rakesh Agrawal Method for directly providing content and services via a computer network
US8027342B2 (en) * 2006-12-21 2011-09-27 Motorola Mobility, Inc. Method and apparatus for establishing peer-to-peer communications

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101180859A (zh) * 2005-05-25 2008-05-14 摩托罗拉公司 通信设备编程的系统和方法
CN101035192A (zh) * 2007-04-06 2007-09-12 中兴通讯股份有限公司 一种ip机顶盒重启时快速接入网络的方法

Also Published As

Publication number Publication date
US20110145328A1 (en) 2011-06-16
US8996609B2 (en) 2015-03-31
WO2011011459A2 (en) 2011-01-27
CN102577249A (zh) 2012-07-11
WO2011011459A3 (en) 2011-04-28

Similar Documents

Publication Publication Date Title
US8321862B2 (en) System for migrating a virtual machine and resource usage data to a chosen target host based on a migration policy
US7937482B1 (en) Scalable consensus protocol
CN107547654B (zh) 一种分布式对象存储集群、部署、服务方法及系统
TWI736657B (zh) 虛擬互聯網協定位址的切換方法及裝置
US20030177218A1 (en) Distributed computer system enhancing a protocol service to a highly available service
EP2151095B1 (en) Method and apparatus for discovering universal plug and play device using resource information
CN114070822B (zh) 一种Kubernetes Overlay IP地址管理方法
US10862856B2 (en) Distributed components in computing clusters
US9043492B2 (en) Method to publish remote management services over link local network for zero-touch discovery, provisioning and management
CN102577249B (zh) 动态寻址主机的连接的实例组
CN108933847A (zh) 一种地址快速分配的方法及装置
WO2011152996A2 (en) Leader arbitration for provisioning services
CN111787079A (zh) 基于通信群组的通信方法、装置、服务器、系统及介质
CN103229480A (zh) 分布式存储系统中的数据处理方法及设备、客户端
US11882090B2 (en) Efficiently mapping a distributed resource to a virtual network
EP2823622B1 (en) A control node in an overlay network
US7240088B2 (en) Node self-start in a decentralized cluster
US10305987B2 (en) Method to syncrhonize VSAN node status in VSAN cluster
CN114090342A (zh) 存储容灾的链路管理方法及消息执行节点、存储控制集群
JP2001230788A (ja) 多重化DHCP(DynamicHostConfigurationProtocol)サーバ
JP2014045437A (ja) ネットワークトポロジ生成システム、方法およびプログラム
JP5617628B2 (ja) サーバ所在地追跡装置、方法、およびプログラム
CN117201575A (zh) 数据发送方法、装置、设备及介质
Tirsa et al. Towards Configurable Building Blocks for the Development of Distributed Services: Resource Selection and Communication Protocols
CN117375915A (zh) 一种网卡数据纳管方法、装置、设备及可读存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant