CN114189549B - 用于提供自选服务的***和方法 - Google Patents
用于提供自选服务的***和方法 Download PDFInfo
- Publication number
- CN114189549B CN114189549B CN202111481652.8A CN202111481652A CN114189549B CN 114189549 B CN114189549 B CN 114189549B CN 202111481652 A CN202111481652 A CN 202111481652A CN 114189549 B CN114189549 B CN 114189549B
- Authority
- CN
- China
- Prior art keywords
- managed device
- service
- managed
- message
- winning score
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 74
- 230000004044 response Effects 0.000 claims description 42
- 230000000737 periodic effect Effects 0.000 claims description 22
- 238000004891 communication Methods 0.000 claims description 13
- 238000012795 verification Methods 0.000 claims 1
- 238000007726 management method Methods 0.000 description 49
- 230000008569 process Effects 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000009434 installation Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000002405 diagnostic procedure Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005401 electroluminescence Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 210000002381 plasma Anatomy 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5041—Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
- H04L41/5054—Automatic deployment of services triggered by the service manager, e.g. service implementation by automatic configuration of network components
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- 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
-
- 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/104—Peer-to-peer [P2P] networks
- H04L67/1087—Peer-to-peer [P2P] networks using cross-functional networking aspects
- H04L67/1093—Some peer nodes performing special functions
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明涉及用于提供自选服务的***和方法。描述了一种用于受管理设备的自选服务的方法。该方法包括为受管理设备配置服务。该服务被配置在网络段中的至少一个附加的受管理设备上。该方法还包括通过基于预先配置的当选规则与所述网络段中的所述至少一个附加的受管理设备进行协商来确定所述受管理设备是否被选择提供所述服务。
Description
本申请是申请号为201780029424.2、申请日为2017年5月12日、发明名称为“用于提供自选服务的***和方法”的发明专利申请的分案申请。
相关申请的交叉引用
本申请是2016年5月13日提交的标题为“Systems and Methods for Providing aSelf-Electing Service”的美国专利申请No.15/154733的继续申请并且要求其优先权,该申请通过引用并入本文。
技术领域
本公开总体上涉及计算机和与计算机有关的技术。更具体地说,本公开涉及用于提供网络上的对等计算设备之间的自选服务(self-electing service)的***和方法。
背景技术
在现代社会中电子设备的使用已经变得日益普遍。随着电子设备的成本降低,并且随着电子设备的有用性提高,人们正在将它们用于多种多样的目的。例如,许多人使用电子设备来执行工作任务以及寻求娱乐。一种类型的电子设备是计算机。
计算机技术继续以快速的步伐发展。常用的计算机包括从手持计算设备到大型多处理器计算机***的一切。这些计算机包括软件(诸如包括用户界面的应用)以便使它们有用并且可供终端用户访问。计算机越来越多地通过网络与其他计算机链接。随着计算机技术的扩展,网络的大小持续增大。网络可以将相隔很远的计算机链接在一起。
网络所涉及的挑战之一是提供服务。网络中的一个或多个计算设备可以被配置为在网络段(network segment)中提供服务。传统上,网络管理员必须针对该任务对这些计算设备中的每个计算设备单独地进行配置。然而,这对于管理员来说可能是繁重的。此外,当服务被重复时,或者当提供服务的计算设备失败或离线时,可能出现问题。从该讨论可以观察到,在网络上的对等计算设备之间提供自选服务的***和方法可能有益于计算机网络的操作和管理。
附图说明
图1是例示了用于提供自选服务的网络的一种配置的框图;
图2是例示了被配置为提供自选服务的受管理设备的框图;
图3是例示了用于提供自选服务的方法的流程图;
图4是例示了用于提供自选服务的方法的另一配置的流程图;
图5是例示了用于提供自选服务的方法的又一配置的流程图;
图6是例示了用于提供自选服务的方法的另一配置的流程图;
图7是例示了用于提供自选服务的方法的又一配置的流程图;
图8是例示了其中可以实现用于提供自选服务的***和方法的网络的一种配置的框图;以及
图9例示了在计算设备中可以利用的各种组件。
具体实施方式
描述了一种用于受管理设备的自选服务的方法。所述方法包括为受管理设备配置服务。该服务被配置在网络段中的至少一个附加的受管理设备上。所述方法还包括通过基于预先配置的当选规则与网络段中的所述至少一个附加的受管理设备进行协商来确定受管理设备是否被选择提供所述服务。
确定受管理设备是否提供所述服务可以包括基于预先配置的当选规则所指示的准则来确定受管理设备的当选得分。可以将受管理设备的当选得分与至少一个附加的受管理设备的当选得分进行比较。当受管理设备的当选得分比所述至少一个附加的受管理设备的当选得分大上一个阈值量时,受管理设备可以被选择提供所述服务。当选得分指示受管理设备作为候选者提供所述服务有多好。
预先配置的当选规则可以被提供给网络段中的每个受管理设备。每个受管理设备可以使用预先配置的当选规则来确定它自己的当选得分。受管理设备的当选得分和所述至少一个附加的受管理设备的当选得分在网络段上发送的多播消息中被传送给彼此。
当受管理设备被选择提供所述服务时,所述方法还包括在多播信道上发送周期性消息。该周期性消息可以指示受管理设备被选择提供所述服务。该周期性消息还可以包括受管理设备的当选得分。所述至少一个附加的受管理设备在接收到所述周期性消息时允许所述受管理设备提供所述服务。
所述方法还可以包括当受管理设备加入网络段时在多播信道上发送查询消息。该查询消息可以指示受管理设备可以提供所述服务并且查询网络段中的另一受管理设备是否正在提供所述服务。
所述方法还可以包括从第二受管理设备接收查询响应。该查询响应可以指示第二受管理设备被选择提供所述服务。该查询响应还可以包括第二受管理设备的当选得分。所述方法可以进一步包括通过将第二受管理设备的当选得分与所述受管理设备的当选得分进行比较来确定所述受管理设备是否被选择代替第二受管理设备来提供所述服务。
当受管理设备被选择提供所述服务时,所述方法还可以包括在多播信道上从第二受管理设备接收查询消息。该查询消息可以查询所述服务是否正被提供。所述方法可以进一步包括在多播信道上发送指示受管理设备被选择提供所述服务的查询响应消息,该查询响应消息包括受管理设备的当选得分。
当先前选择的受管理设备变为离线或停止提供所述服务时,其余的受管理设备基于预先配置的当选规则来协商谁将提供所述服务。
在协商期间交换的消息可以包括来自于始发者的密码签名,以使得接受者可以对所述消息进行验证。如果用于消息的密码签名不匹配,则该消息可以被丢弃。
当受管理设备被选择提供所述服务时,所述方法还可以包括向管理服务器报告受管理设备被选择提供所述服务。所述方法可以进一步包括从管理服务器接收指示受管理设备是否应开始所述服务的指令。所述方法还可以包括向管理服务器发送指示所述服务的状态的状态报告。
还描述了一种被配置用于自选服务的受管理设备。所述受管理设备包括处理器、与处理器进行电子通信的存储器以及存储在存储器中的指令。所述指令可执行为为受管理设备配置服务。所述服务被配置在网络段中的至少一个附加的受管理设备上。所述指令还可执行为通过基于预先配置的当选规则与网络段中的所述至少一个附加的受管理设备进行协商来确定受管理设备是否被选择提供所述服务。
现在参照附图来描述所述***和方法的各种配置,在附图中相同的标号可以指示相同的或在功能上类似的元件。如本文的附图中大体上描述和例示的,目前的***和方法的配置可以按多种多样的不同的配置布置和设计。因此,如附图中表示的,以下对几种配置的更详细的描述并非意图限制要求保护的***和方法的范围,而是仅表示所述***和方法的各种配置。
图1是例示了用于提供自选服务118的网络100的一种配置的框图。网络100可以包括多个受管理设备102a-c。受管理设备102a-c的例子包括台式计算机、膝上型计算机、平板计算机、服务器、蜂窝电话、智能电话、路由器、游戏***等。网络100可以包括一个或多个局域网(LAN)、广域网(WAN)、无线局域网(WLAN)、互联网等。
在计算机管理领域中,有时需要的是使一个或多个设备在网络段上提供特定的服务118(或一组服务118)。在实现中,网络段可以是互联网协议(IP)网络的子网络(也被称为子网)细分。网络段可以经由路由器和交换机连接到更大的网络。
服务118是提供某种服务的任何种类的处理。受管理设备102可以提供的服务118的例子包括但不限于:预启动服务(例如,预启动执行环境(PXE)服务)、设备发现服务和媒体流传输服务(例如,通用随插即用(UPnP))。服务118可以是Windows服务、Linux/Unix守护进程、标准处理,或者甚至可以是可以被启用和禁用的给定处理内的服务。
网络段可以包括多个受管理设备102。在实现中,受管理设备102是被配置为与管理服务器104进行通信并且从管理服务器104接收指令的计算设备。管理服务器104可以位于与受管理设备102相同的网络段中,或者管理服务器104可以位于另一网络地点。例如,受管理设备102可以经由传输控制协议/互联网协议(TCP/IP)、通过内联网或外联网与管理服务器104进行通信。
在实现中,受管理设备102可以包括实现网络段内的管制处理和/或管理处理的代理模块。代理模块也可以与管理服务器104进行通信。例如,受管理设备102可以被配置为检测访问网络段的不受管理的设备,并且向管理服务器104报告这些不受管理的设备。
在目前的网络操作中,管理员必须将服务118安装在每个子网中的一个受管理设备102上。对于管理员来说难以具有必须被安装在每个子网上的仅一个计算机上的特殊配置。换句话说,具有包括服务118的安装的单独配置并且找到受管理设备102(每个子网上一个)的群组是个挑战。这是需要管理员知道哪个(哪些)受管理设备102将接收服务118、哪个(哪些)受管理设备102将提供服务118、以及哪个(哪些)受管理设备102不将提供服务118的耗时过程。该问题在包括多个网络段(每个网络段各自具有在给定的网络段中提供服务118的一个或多个受管理设备102)的网络100中是复杂的。
目前,网络管理员的责任是知道服务118被安装在哪个受管理设备102上、并然后应对安装包的使服务118特征被启用的一种配置和不使服务118被启用的另一配置。此外,管理员然后必须将这些各种配置部署到适当的受管理设备102。换句话说,***管理员必须创建不同的客户端配置,一些客户端配置具有期望的服务118而其他客户端配置则没有。管理员还必须决定在哪些机器上安装具有服务118的配置、以及在哪些机器上安装没有服务118的配置。通过该讨论看出,对于管理员来说希望的是不想必须专门将每个受管理设备102配置为提供服务118或不提供服务118。
在某个时间点,正在提供服务118的受管理设备102可能变为离线(例如,被关闭)。这可能是无意的或有意的。然后,管理员假定正在该网络段上提供的服务118将不再被提供。现在,没有受管理设备102正在提供服务118。在这种情况下,网络段将丧失预期的服务118。当服务118或受管理设备102掉线时,没有在无需管理员的干预的情况下允许另一受管理设备102接管的机制。
另外,当多个受管理设备102提供冗余的服务118时,可能出现相反的问题。例如,管理员可能意外地安装代理包以使服务118在所有的受管理设备102上都被启用。这些受管理设备102可能开始用比需要的信息多的信息涌进管理服务器104。这是网络资源的低效率使用。希望的是,多个***能够提供服务118,但是在每个网络段、任何给定时间可能只有一个受管理设备102是必需的。
本文中描述的***和方法在网络100上的对等受管理设备102之间提供客户端自选服务118。这些方法提供服务118故障转移,并且消除服务118重复。多个受管理设备102可以被配置为提供服务118,但是一旦被安装,只有一个受管理设备102或有限数量的受管理设备102会提供服务118。
网络段中的多个受管理设备102可以以类似的方式被配置,使得它们中的任何一个都可以提供给定的服务118。在图1所示的例子中,三个受管理设备102被配置为能够提供相同的服务118。受管理设备A 102a、受管理设备B 102b和受管理设备C 102c均被配置为提供相同的服务118。应注意到,该例子描述了单个服务118。然而,多个受管理设备102可以被配置为提供多个服务118。虽然三个受管理设备102被示出,但是应认识到,更多的或更少的受管理设备102可以被包括在给定的网络段中。
受管理设备102a-c分别可以被配置具有自选通信器110a-c和自选控制器112a-c。自选通信器110可以与管理服务器104进行通信。自选通信器110还可以通过多播信道120与其他受管理设备102进行通信。自选控制器112可以被配置为开始和停止受管理设备102上的各种种类的服务118。
在部署时,管理员可以为多个受管理设备102配置相等的能力。因此,所有的受管理设备102在被安装时都可以被相同地配置。如上所述,目前需要创建使该服务118被启用的唯一配置,然后一个受管理设备102或一组受管理设备102需要通过使用标准配置(其中未安装服务118)被选择用于与其他***分开的安装。
在实现中,***管理员可以配置什么受管理设备102可以提供服务118、什么服务118应被提供、以及哪些子网应具有这些服务118中的一些或任何一个。这可以在管理服务器104处配置。关于受管理企业中的所有受管理设备102的配置信息106可以包括诸如以下的信息:有资格提供特定服务118的设备、应被提供的服务118、以及每个服务118应在其上被提供的子网。管理员能够改变这些以满足公司或客户的业务需要。
管理服务器104还可以包括状态信息108,在状态信息108中,来自受管理设备102的状态被报告给管理服务器104以用于报告和管理的目的。该状态信息108可以在文件、数据库或任何其他种类的永久储存器上进行维护。
应注意到,本文中描述的***和方法可以在有或没有管理服务器104的情况下实现。例如,受管理设备102可以被配置为从管理服务器104接收配置信息106和向管理服务器104报告状态信息108。可替代地,受管理设备102可以在没有管理服务器104的情况下提供自选服务118。受管理设备102在它们自己之间自动地决定哪个(哪些)设备102应以可靠且值得信任的方式提供服务118。受管理设备102可以通过与网络段中的至少一个附加的受管理设备102进行协商来确定它是否被选择提供服务118。该协商可以基于预先配置的当选规则114。
当选规则114可以被提供给网络段中的每个受管理设备102。例如,当选规则114可以作为自选控制器112的一部分被安装在受管理设备102上。当选规则114对于每个受管理设备102可以是相同的,从而提供用于评估受管理设备102提供服务118的适合性的统一标准。当选规则114可以包括允许受管理设备102确定它的当选得分116的准则。当选得分116指示给定的受管理设备102作为候选者提供服务118有多好。
当选得分***可以包括与受管理设备102相关联的各种准则。准则可以包括设备类型(例如,台式vs膝上型)、处理器速度、可用的硬盘空间、以及受管理设备102是否已经运行期望的服务118。其他准则可以是当选规则114的一部分。当选规则114可以被更新以使得准则可以被添加、修改或移除。
每个受管理设备102可以使用预先配置的当选规则114来确定它自己的当选得分116。受管理设备102可以周期性地重新计算它的当选得分116以反映受管理设备102中的变化。
受管理设备102可以与其他受管理设备102交流它的当选得分116。例如,当网络段上的受管理设备102变为在线时,受管理设备102可以广播指示它们能够提供受管理设备102的一个服务118或一组服务118的查询消息。自选通信器110可以发送具有受管理设备102的当选得分116的查询消息。在实现中,送出的消息被始发者加上密码签名,以使得接受者能验证它们可以信任这些消息。如果密码签名不匹配,则消息被丢弃。查询消息可以包括给定服务118的标识(ID)。
消息可以在多播信道120上发送。多播是指单个计算设备可以将同一个数据发送到网络段上的许多(或者甚至所有)计算设备的通信技术。多播消息的使用比建立点对点通信更高效,在点对点通信中,子网中的每个受管理设备102均建立连接。
当接收到另一受管理设备102的当选得分116时,给定的受管理设备102可以将它的当选得分116与其他受管理设备102的当选得分116进行比较。具有最高当选得分116的受管理设备102获胜,并且被选择提供服务118。如果存在平局,则可以使用平局决胜(tie-breaker)算法来决定哪个受管理设备102获胜。
在图1所示的例子中,受管理设备B 102b具有比受管理设备A102a或受管理设备C102c高的当选得分116b。因此,受管理设备B102b被选择提供服务118b。受管理设备A 102a和受管理设备C 102c不被选择提供服务118。
在实现中,如果另一受管理设备102当前正在提供服务118,则当给定的受管理设备102的当选得分116比该另一受管理设备102的当选得分大上一个阈值量时,所述给定的受管理设备102被选择提供服务118。
一旦被选择,受管理设备102就可以在多播信道120上发送向另一受管理设备102指示它已经被选择提供服务118的消息。被选择的受管理设备102可以将它的当选得分116包括在该消息中以允许另一受管理设备102比较它们的当选得分116。
被选择的受管理设备102可以在多播信道120上发送周期性心跳消息以使得所有的受管理设备102都可以辨别被选择的提供服务118的受管理设备102仍在运行。如果被选择的受管理设备102由于某个原因停止提供服务118或变为离线,则其余的受管理设备102可以基于预先配置的当选规则114来协商谁将提供服务。例如,其余的受管理设备102可以再次开始当选处理,并且交换当选得分116以确定哪一个受管理设备102被选择提供服务118。
如果正在提供服务118的受管理设备102变为离线,则另一受管理设备102将通过自选服务来拾起并提供服务118,从而提供了动态的故障转移能力。如果曾提供服务118的受管理设备102恢复在线,并且另一受管理设备102已经接管,则它们将协商以使得它们中只有一个将继续提供服务118。
在实现中,一旦当选,受管理设备102可以向管理服务器104登记以察看是否应在受管理设备102所在的网络段上提供服务118(或多个服务118)。如果服务118应在该网络段上启用,则被选择的受管理设备102可以开始服务118。如果服务118不应被启用,则被选择的受管理设备102可以继续在多播信道120上发送指示被选择的受管理设备102仍被选择的周期性心跳消息。然而,被选择的受管理设备102可能不启用服务118。
在实现中,被选择的受管理设备102仅向其他受管理设备102报告它已经被选择。被选择的受管理设备102不向对等的受管理设备102报告它是否正在提供服务。在该实现中,被选择的受管理设备102没有公布服务118对于被选择的受管理设备102所在的子网已经被禁用或启用的事实。在另一实现中,被选择的受管理设备102可以向对等的受管理设备102公布该信息。
(一个或多个)服务118的状态可以(可选地)定期地被报告给管理服务器104,所以***管理员知道它仍在运行。在实现中,状态报告的间隔是可配置的,所以***管理员可以平衡数据被发送的时效性与他们愿意允许它消耗的网络带宽量。被选择的受管理设备102可以将状态信息108发送到管理服务器104。通过使状态报告限于被选择的受管理设备102,可以节省网络资源。
在实现中,管理服务器104可以包括列出子网和每个子网中包括的受管理设备102的图形界面。这给予了管理员从图形界面选择网络100中的子网的列表。管理员可以依次浏览这些子网。例如,管理员可能想要或者可能不想要给定子网上的给定服务118。管理员可以从管理服务器104启用或禁用子网上的服务118。该实现提供了子网级别上的粒度。这些决策可以经由配置信息106传送给受管理设备102。
此外,管理员还可以在设备级别上启用或禁用服务118。例如,管理员可能不想在特定个体的膝上型电脑上提供服务118。管理员可以对该特定的膝上型电脑禁用服务118,但是该子网上的其他受管理设备102将仍能够在那里以本地的方式提供该服务118。
管理服务器104上的图形界面可以显示状态信息108。例如,图形界面可以为管理员提供子网列表、哪些受管理设备102被选择、以及服务118已经运行了多久。这样,管理员可以辨别***是健康的。管理员可以辨别给定的受管理设备102上次报告是在何时。
应注意到,结合图1描述的例子是就仅使单个受管理设备102提供服务108而言进行讨论的。在另一个例子中,基于当选处理,多个受管理设备102可以被选择提供服务118。例如,具有最高当选得分116的两个受管理设备102可以被选择提供服务118,诸如此类。
所描述的用于提供自选服务118的***和方法使***管理员从必须创建不同的客户端配置(其中一些配置具有期望的服务118,而其他配置则没有)解放出来。这还使管理员从必须决定在哪些受管理设备102上安装具有服务118的配置、以及在哪些受管理设备102上安装没有服务118的配置解放出来。如果服务118或受管理设备102掉线,则自动故障转移允许另一受管理设备102接管而无需管理员的干预。如果在某个时间点,多个受管理设备102提供(一个或多个)服务118并且更少的受管理设备102是期望的,则受管理设备102在它们自己之间协商,并且只有一个(或几个)将提供服务118。当移动设备加入网络段时,这可能是尤其有益的。
图2是例示了被配置为提供自选服务218的受管理设备202的框图。受管理设备202可以根据结合图1描述的受管理设备102来实现。
受管理设备202包括代理模块222。代理模块222可以用硬件、软件或硬件和软件的组合来实现。代理模块222可以包括自选通信器210和自选控制器212。如结合图1所描述的,自选通信器210可以在多播信道120上与其他受管理设备202进行通信。自选通信器210还可以与管理服务器104进行通信。
代理模块222可以在管理服务器104和受管理设备202之间建立连接,其中,管理服务器104对受管理设备202具有一些控制。例如,代理模块222可以允许管理服务器104远程地控制受管理设备202的操作方面。代理模块222的功能的其他例子包括但不限于:在受管理设备202上运行诊断测试、在受管理设备202上安装设备驱动器和/或应用、扫描受管理设备202上的恶意软件、将报告发送到管理服务器104、禁止受管理设备202上的未授权使用(例如,禁止软件安装、禁止浏览)、将信息转播到管理服务器104、管理受管理设备202的许可证使用、管理受管理设备202上的电源保护、指导受管理设备202上的某些活动(例如,什么软件正在运行)、和/或对受管理设备202执行维护和/或修复。
网络段中的多个受管理设备202可以被配置为提供一个或多个服务118。每个受管理设备202均可以被配置相同的代理模块222。因此,受管理设备202可以同样地能够提供给定服务218。在该例子中,受管理设备202被配置多个服务218。可替代地,受管理设备202可以被配置单个服务218。
受管理设备202可以使用当选规则214来与其他受管理设备202协商它是否将提供服务218。当选规则214可以包括受管理设备202用于确定当选得分216的准则224。准则224可以反映受管理设备202的特性。每个准则224可以针对给定的特性提供当选得分216。这些当选得分216可以指示受管理设备202作为候选者提供服务218有多好。
一个准则224可以是受管理设备202具有的随机存取存储器(RAM)的量。较高的当选得分216可以与较多的RAM相关联,而较低的当选得分216可以与较少的RAM相关联。
另一个准则224可以是处理器速度,其中,与较低的处理器速度相比,较快的处理器速度具有较高的当选得分216。另一个准则224可以是可用的硬盘空间的量。另一个准则224可以包括设备类型(例如,台式vs膝上型)。
当选规则214可以根据正被提供的服务218的类型而变化。例如,如果服务218与有线连接(例如,以太网类型的连接)相关联,则与无线连接相反,如果受管理设备202具有有线网络连接,用于连接的准则224可以给予更高的当选得分216。在另一个例子中,服务218可以与无线连接相关。在这种情况下,如果受管理设备202具有无线网络连接,则用于连接的准则224可以给予更高的当选得分216。
又一准则224可以是受管理设备202当前是否被选择提供服务218。避免快速地切断一个受管理设备202上的服务218并且在另一受管理设备202上开始服务218是有益的。当受管理设备202当前被选择提供服务时,该准则224可以具有较高的当选得分216。应注意到,可以使用其他准则224来确定受管理设备202的当选得分216。
受管理设备202可以根据当选规则214来评估它自己的特性以确定当选得分216。例如,受管理设备202可以对每个准则224进行评估以确定一组当选得分216。受管理设备202可以将所有的准则224的当选得分216加起来以确定它的总当选得分216。该评分***使得网络段中的受管理设备202能够确定哪个受管理设备202最有可能提供服务218或者是提供服务218的最佳候选者。
受管理设备202可以将它的当选得分216与另一受管理设备202的当选得分216进行比较以确定谁将提供服务218。在一种实现中,具有最高的当选得分216的受管理设备202被选择提供服务218。在另一实现中,受管理设备202的当选得分216必须比当前被选择提供服务218的另一受管理设备202的当选得分216大上一个当选得分阈值228。当选得分阈值218可以是受管理设备202的当选得分216变为被选择提供服务218而必须超过的量。这样,给定的受管理设备202必须在切换选择之前具有足够高的当选得分216。
在例子中,第一受管理设备202和第二受管理设备202可以被配置为在网络段中提供服务218。此外,当选得分阈值228具有值“10”。在该例子中,第一受管理设备202当前被选择提供服务218。此外,第一受管理设备202具有150的当选得分。
在一种情形下,第二受管理设备202具有140的当选得分。在这种情况下,第一受管理设备202具有更高的当选得分,并且继续被选择提供服务218。
在另一情形下,第二受管理设备202具有152的当选得分。即使第二受管理设备202具有更高的当选得分,这两个当选得分之间的差(即,152-150=2)也小于10的当选得分阈值228。因此,第一受管理设备202继续被选择提供服务218。
在又一情况下,第二受管理设备202具有160的当选得分。在这种情况下,第二受管理设备202的当选得分216大于当选得分216和当选得分阈值228,并且第二受管理设备202被选择提供服务218。此刻,第一受管理设备202和第二受管理设备202这二者都实现第一受管理设备202应退位并且让第二受管理设备202提供服务218。
在两个或更多个受管理设备202具有相同的当选得分216的情况下,受管理设备202可以采用平局决胜算法。在实现中,受管理设备202可以创建随机ID。这可以是全局唯一ID(GUID)。当平局发生时,受管理设备202可以将它们的GUID相互进行比较。无论哪个受管理设备202具有最高的GUID或最低的GUID都将是该当选的赢家。因为它们是全球唯一的,所以一个受管理设备202被保证高于或低于所有其他的受管理设备202,在这种情况下,它然后将被选择。
在实现中,受管理设备202可以记录给定服务218的服务状态230。在受管理设备202在操作中时,自选控制器212可以记录不同服务218上的服务状态230。服务状态230可以指示给定服务218是否活跃、以及哪个受管理设备202正在提供服务218。服务状态230信息可以被存储在存储器中。当受管理设备202在网络段中变为在线(例如,上电或加入网络段)时,受管理设备202不知道服务状态230。
自选通信器210可以在多播信道120上送出具有服务218的ID的查询消息。网络段中的其他受管理设备202可以监听。如果另一受管理设备202已经当选,则该受管理设备202将用包括该受管理设备202的当选得分的查询响应做出响应。
如果受管理设备202送出查询消息并且没有其他的受管理设备202回复,则发起查询的受管理设备202可以假定它是网络段上的唯一一个受管理设备202,并且没有其他的受管理设备202被选择提供服务218。在这种情况下,受管理设备202可以变为自选提供服务218。
一旦受管理设备202被选择提供服务218,被选择的受管理设备202就可以送出周期性的心跳消息。心跳消息可以在心跳消息间隔234之后送出,心跳消息间隔234是可配置的时间量。心跳消息可以在多播信道120上发送。心跳消息可以指示受管理设备202仍被选择提供服务218。
受管理设备202可以包括查询计时器232。受管理设备202可以在查询计时器232到期时在多播信道120上发送查询消息。查询消息可以指示受管理设备202能提供服务218,并且可以查询网络段中的另一受管理设备202是否正在提供服务218。自选控制器212可以在从被选择提供服务218的另一受管理设备202接收到心跳消息、查询响应或其他消息时对查询计时器232进行重置。
在实现中,受管理设备202可以实现安全特征以确保在多播信道120上交换的消息的真实性。多播信道120本质上是开放的广播信道,所以能够在多播信道120上监听的任何人都将能够察看正在来往的所有流量。
恶意的设备可能将它自己的消息添加到多播信道120。恶意的设备甚至可能歪曲该消息来自的地方。它可能***消息,使得它表现为来自于以前被选择的受管理设备202或某个其他的设备。
为了防止这种情况,网络段中的每个受管理设备202在它们被安装时可以被配置它们之间的加密信任链。每个受管理设备202可以创建私钥236。受管理设备202然后可以创建证书签名请求(CSR),该CSR一直前进到管理服务器,管理服务器然后对它进行签名,并且送回公共证书238(例如,CRT文件或证书文件)。
如果所有的受管理设备202都已经被用相同的证书签名或者被相同的管理服务器签名,则它们将固有地信任彼此。在一种方法中,当受管理设备202在多播信道120上送出消息时,那么受管理设备202将首先广播它们的公共证书238。其他受管理设备202将捕捉这些公告证书238,并且如果公共证书238已经被信任的管理服务器签名,则它将会把它们的副本保存在公共证书高速缓存240中。当消息被接收到时,该消息然后可以被对照所接收的公共证书238进行检查。如果它通过密码检查(例如,消息被核实它被发送它的受管理设备202签名),则受管理设备202可以信任它。在这种情况下,消息只能被具有该私钥236的受管理设备202发送。
如果新的受管理设备202在线,则它可以开始察看来自其他受管理设备202的消息。如果新的受管理设备202没有其他受管理设备202的公共证书238,则新的受管理设备202可以将对于其他受管理设备202的公共证书238的请求发送给它们。新的受管理设备202可以将接收的公共证书238存储在它的公共证书高速缓存240中。新的受管理设备202然后可以开始验证传入的任何消息。
在实现中,消息可能未被加密。然而,消息可以被加上签名以确保没有其他的设备可以产生看起来像来自于有效的受管理设备202的消息,并且还确保消息没有被篡改。
另一关心问题是重放攻击。在这种情况下,恶意的设备可以记录来自网络上的有效的发送者的消息,然后保存它。然后,在适当的时候,恶意的设备可以将该消息重新广播到网络上,并且所有的正在监听的那些设备不能辨别它是否来自于有效的受管理设备202。
为了解决重放攻击,自选通信器210可以维护消息计数器242。这可以是64位递增计数器。每一次有新的消息被受管理设备202发送时,消息计数器242就增加一。受管理设备202可以将消息计数器242的计数值包括在送出的消息中。当从另一受管理设备202接收到消息时,进行接收的受管理设备202可以确定消息的计数值是否在容限水平内。如果消息在容限水平外,则消息被无视。
在例子中,进行监听的受管理设备202可以察看来自进行发送的受管理设备202的数据包(例如,命令消息),其中,该数据包的计数值为1000。然后,进行的监听受管理设备202突然察看到计数值为501的消息。监听受管理设备202会立即丢弃第二消息,因为它将认识到第二消息一定非常旧,因为它上面的计数值是不合理的。因为多播流量可能不按次序地得到数据包,所以它可能接收到具有计数值为10、然后9、然后11的消息。这些计数值在数字和顺序上彼此相对接近,因此这些消息将在容限水平内,并且被认为是有效的。
应注意到,使用日期和/或时间对于验证消息可能是有问题的。对于日期和时间没有好的参考点。受管理设备202可以被错误地设置日期和时间。因此,消息计数器242方法避免了错误配置日期和时间的问题。
图3是例示了用于提供自选服务118的方法300的流程图。方法300可以由受管理设备102执行。受管理设备102可以是网络段(例如,子网)的一部分。
受管理设备102可以被配置302服务118。服务118可以被配置302在网络段上的至少一个附加的受管理设备102上。
受管理设备102可以通过基于预先配置的当选规则114与网络段中的至少一个附加的受管理设备102进行协商来确定304它是否被选择提供服务118。在实现中,确定304受管理设备102是否将提供服务118可以包括基于预先配置的当选规则114所指示的准则224来确定受管理设备102的当选得分116。受管理设备102可以使用预先配置的当选规则114来确定与受管理设备102相关联的一个或多个准则224的当选得分216。当选得分216指示受管理设备102作为候选者提供服务118有多好。
受管理设备102可以将它自己的当选得分116与至少一个附加的受管理设备102的当选得分116进行比较。受管理设备102的当选得分和附加的受管理设备102(一个或多个)的当选得分在网络段的多播信道120上发送的多播消息中被传送给彼此。在协商期间交换的消息可以包括来自于始发者的密码签名,以使得接受者可以对消息进行验证。如果用于消息的密码签名不匹配,则消息被丢弃。
当受管理设备102的当选得分比附加的受管理设备102(一个或多个)的当选得分116大阈值量时,受管理设备102可以被选择提供服务118。例如,如果受管理设备102的当选得分116与当前被选择的受管理设备102的当选得分116之差比当选得分阈值228大,则受管理设备102现在被选择提供服务118。
图4是例示了用于提供自选服务118的方法400的另一配置的流程图。方法400可以由受管理设备102执行。受管理设备102可以是网络段(例如,子网)的一部分。受管理设备102可以被配置服务118。服务118可以被配置在网络段上的至少一个附加的受管理设备102上。在该例子中,第二受管理设备102也被配置为在网络段上提供服务118。
受管理设备102可以从第二受管理设备102接收402消息。例如,第二受管理设备102可以在加入网络段时发送查询消息。可替代地,第二受管理设备102可以在它当前被选择提供服务118时发送周期性的心跳消息。该消息可以在多播信道120上接收402。
该消息可以包括第二受管理设备102的当选得分116。第二受管理设备102可以使用被提供给受管理设备102和第二受管理设备102这二者的当选规则114来计算它的当选得分116。
受管理设备102可以基于预先配置的当选规则114所指示的准则来确定404它的当选得分116。例如,当选规则114可以包括与受管理设备102相关联的一个或多个准则224。受管理设备102可以针对每个准则224确定当选得分116。如果多个准则224被考虑,则受管理设备102可以将当选得分116相加以获得它的总当选得分116。应注意到,受管理设备102可以在从第二受管理设备102接收到所述消息(步骤402)之前或之后确定404它的当选得分116。
受管理设备102可以将它的当选得分116与第二受管理设备102的当选得分116进行比较406。如果受管理设备102确定408它的当选得分116大上一个阈值量(例如,当选得分阈值228),则受管理设备102可以变为410被选择提供服务118。
受管理设备102可以发送412指示它被选择提供服务118的多播消息。该消息可以包括受管理设备102的当选得分116,以使得网络段中的其他的受管理设备102可以比较它们的当选得分116以核实被选择的受管理设备102具有最高的当选得分116。
受管理设备102可以周期性地在多播信道120上发送消息(例如,心跳消息)。该周期性消息可以指示受管理设备102被选择提供服务118。该周期性消息还可以包括受管理设备102的当选得分116。附加的(一个或多个)受管理设备102在接收到该周期性消息时可以允许受管理设备102提供服务118。换句话说,网络段中的其他的受管理设备(一个或多个)102可以接收该周期性消息,认识到被选择的受管理设备102具有最高的得分,并且准许被选择的受管理设备102继续充当服务118的选定提供者。
在可选的实现中,受管理设备102可以在它被选择提供服务118时向管理服务器104报告。受管理设备102可以从管理服务器104接收指示受管理设备102是否应开始服务的指令。受管理设备102可以周期性地向管理服务器104发送指示服务118的状态的状态报告。
如果受管理设备102确定408它的当选得分116没有大上一个阈值量(例如,当选得分阈值228),则受管理设备102可以允许414第二受管理设备102提供服务118。如果第二受管理设备102当前被选择提供服务118,则受管理设备102可以准许第二受管理设备102继续作为被选择的服务118提供者。如果受管理设备102当前是被选择的服务118提供者,则受管理设备102可以退位,并且允许414第二受管理设备102提供服务118。
图5是例示了用于提供自选服务118的方法500的又一配置的流程图。方法500可以由受管理设备102执行。受管理设备102可以加入502网络段(例如,子网)。例如,受管理设备102可以上电,或者可以是加入网络段的移动设备。
受管理设备102可以被配置118。服务118可以被配置302在网络段上的至少一个附加的受管理设备102上。
受管理设备102可以在网络段的多播信道120上发送504查询消息。查询消息可以指示受管理设备102能提供服务118。查询消息还查询网络段中的另一受管理设备102是否正在提供服务118。
受管理设备102可以确定506是否从第二受管理设备102接收到查询响应。如果没有接收到查询响应,则这表明受管理设备102是加入网络段的第一个设备。如果没有接收到查询响应,则受管理设备102可以变为508被选择提供服务118。
受管理设备102可以发送510指示它被选择提供服务118的多播消息。这可以如结合图4描述的那样实现。
受管理设备102可以确定506接收到查询响应。查询响应可以指示第二受管理设备102被选择提供服务118。查询响应还可以包括第二受管理设备102的当选得分116。
受管理设备102可以将它的当选得分116与第二受管理设备102的当选得分116进行比较512。如果受管理设备102确定514它的当选得分116大上一个阈值量(例如,当选得分阈值228),则受管理设备102可以变为508被选择提供服务118。如果受管理设备102确定514它的当选得分116没有大上一个阈值量,则受管理设备102可以允许516第二受管理设备102提供服务118。
图6是例示了用于提供自选服务118的方法600的另一配置的流程图。方法600可以由受管理设备102执行。受管理设备102可以是网络段(例如,子网)的一部分。受管理设备102可以被配置服务118。服务118可以被配置在网络段上的至少一个附加的受管理设备102上。在该例子中,另一受管理设备102最初被选择在网络段上提供服务118。
受管理设备102可能未能602在心跳消息间隔234内从被选择的受管理设备102接收到周期性的消息。例如,被选择的受管理设备102可以发送周期性的消息(例如,心跳小)。在某个时刻,被选择的受管理设备102可能变为离线或停止提供服务118。此刻,被选择的受管理设备102可以停止发送周期性的心跳消息。
受管理设备102可以与其余的(一个或多个)受管理设备102进行协商来确定谁将提供服务118。如结合图1所描述的,该协商可以基于使用预先配置的当选规则114来确定其余的(一个或多个)受管理设备102的当选得分116。
如果受管理设备102确定606它被选择提供服务118,则受管理设备102可以发送608指示它被选择提供服务118的多播消息。这可以如结合图4描述的那样实现。如果受管理设备102确定606它未被选择提供服务118,则受管理设备102可以允许610另一受管理设备102提供服务118。
图7是例示了用于提供自选服务118的方法700的流程图。在步骤702中,管理服务器104处的***管理员可以配置什么受管理设备102可以提供服务118、什么服务118应被提供、以及哪些子网应具有这些服务118中的一些或任何一个。
在步骤704中,可以创建代理模块222,然后将代理模块222安装在全都能够运行期望的(一个或多个)服务118的受管理设备102上。代理模块222可以包括客户端自选组件(例如,自选通信器110和自选控制器112)。
在步骤706中,子网上的任何一个或所有的自选通信器110和自选控制器112都在线,并且广播指示它们能够提供一个服务118或一组服务118的消息。这些消息可以在多播信道120上发送。送出的消息可以被始发者加上密码签名,使得接受者可以验证它们能信任该消息。如果密码签名不匹配,则所述消息被丢弃。
在步骤708中,每个受管理设备102使用一套当选规则114来创建当选得分116。当选得分116确定给定的受管理设备102作为候选者提供每个服务118有多好。具有最高的当选得分116的受管理设备102获胜。如果存在平局,则可以使用平局决胜算法来决定哪个受管理设备102获胜。
在步骤710中,一旦被选择,受管理设备102向管理服务器104登记以察看是否应在受管理设备102所在的子网上提供(一个或多个)服务118。如果服务118应在该子网上启用,则被选择的受管理设备102可以启用该服务118。
在步骤712中,(一个或多个)服务118的状态被定期地报告给管理服务器104,所以***管理员知道它仍在运行。报告频率可以是可配置的。被选择的受管理设备102可以将状态信息108发送到管理服务器104。
在步骤714中,可以在多播信道120上发送周期性的心跳消息,以使得所有的受管理设备102都可以辨别被选择的提供服务118的受管理设备102仍在运行。如果被选择的受管理设备102由于某个原因停止提供服务118或变为离线,则其余的受管理设备102返回到步骤708,并且再次开始当选处理。
图8是例示了其中可以实现用于提供自选服务118的***和方法的网络800的一种配置的框图。管理服务器804连接到路由器850。路由器850连接到交换机856a、856b和856c。交换机856a经由几个节点854a、854b、854c等的各自的子网852a、852b和852c连接到这些节点。交换机856b经由几个节点854d、854e、854f等的各自的子网852d、852e和852f连接到这些节点。交换机856c经由几个节点854g、854h等的各自的子网852g和852h连接到这些节点。子网H952h包括一个或多个受管理设备102。
尽管图8仅示出了一个路由器850、有限数量的交换机856、子网852和节点854,但是许多的、不同数量的路由器850、交换机856、子网852和节点854可以被包括在可以实现用于提供自选服务118的***和方法的网络和/或***中。
应注意到,管理服务器804可以根据结合图1描述的管理服务器104来实现。此外,受管理设备102可以是本文中描述的受管理设备102和202中的一个或多个的例子。
图9例示了可以用在计算设备958中的各种组件。计算设备958可以根据本文中描述的受管理设备102、202和管理服务器104中的一个或多个来配置。计算设备958可以包括处理器960和存储器962。存储器962可以包括指令964a和数据966a。处理器960控制计算设备958的操作,并且可以例如是微处理器、微控制器、数字信号处理器(DSP)或本领域中已知的其他设备。处理器960典型地基于从存储器962接收的指令964b和/或数据966b来执行逻辑和数学运算。
计算设备958典型地可以包括用于与其他电子设备通信的一个或多个通信接口970。通信接口970可以基于有线通信技术、无线通信技术或这二者。不同类型的通信接口970的例子包括串行端口、并行端口、通用串行总线(USB)、以太网适配器、IEEE总线接口、小型计算机***接口(SCSI)总线接口、红外(IR)通信端口、蓝牙无线通信适配器等。
计算设备958典型地可以包括一个或多个输入设备974和一个或多个输出设备968。不同种类的输入设备974的例子包括键盘、鼠标、麦克风、遥控设备、按钮、操纵杆、跟踪球、触控板、光笔等。不同种类的输出设备968的例子包括扬声器、打印机等。在计算机***中可以包括的一种特定类型的输出设备是显示设备972。与本文中公开的配置一起使用的显示设备972可以利用任何合适的图像投影技术,诸如液晶显示器(LCD)、发光二极管(LED)、气体等离子体、电致发光、阴极射线管(CRT)等。
显示器控制器976也可以被提供,用于将存储在存储器962中的数据转换为在显示器设备972上显示的文本、图形和/或运动图像(视情况)。当然,图9仅例示了了计算设备958的一种可能的配置。各种其他的架构和组件可以被利用。
在以上描述中,标号有时是结合各种术语使用的。在术语结合标号使用的情况下,这意在指代一个或多个附图中示出的特定元素。在术语没有与标号一起使用的情况下,这意在于一般性地指代。
术语“确定”包含多种多样的动作,因此,“确定”可以包括运算、计算、处理、推导、调查、查找(例如,在表、数据库或另一数据结构中查找)、查明等。此外,“确定”可以包括接收(例如,接收信息)、访问(例如,访问存储器中的数据)等。此外,“确定”可以包括解决、选择、抉择、建立等。
措辞“基于”并不意指“仅基于”,除非另有明确指定。换句话说,措辞“基于”既描述“仅基于”,又描述“至少基于”。
术语“处理器”应被广泛地解释为包含通用处理器、中央处理单元(CPU)、微处理器、数字信号处理器(DSP)、控制器、微控制器、状态机等。在一些情况下,“处理器”可以是指专用集成电路(ASIC)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)等。术语“处理器”可以是指处理设备的组合,例如,DSP和微处理器的组合、多个微处理器、与DPS核结合的一个或多个微处理器、或任何其他的这样的配置。
术语“存储器”应被广泛地解释为涵盖能够存储电子信息的任何电子组件。术语存储器可以是指各种类型的处理器可读介质,诸如随机存取存储器(RAM)、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、可编程只读存储器(PROM)、可擦可编程只读存储器(EPROM)、电可擦PROM(EEPROM)、闪存、磁性或光学数据存储器等。如果处理器可以从存储器读取信息和/或将信息写入到存储器,则存储器被说成是与处理器进行电子通信。与处理器集成的存储器与处理器进行电子通信。
术语“指令”和“代码”应被广泛地解释为包括任何类型的计算机可读声明(一个或多个)。例如,术语“指令”和“代码”可以是指一个或多个程序、例程、子例程、函数、进程等。“指令”和“代码”可以包括单个计算机可读声明或许多计算机可读声明。
术语“计算机可读介质”是指可以被计算机或处理器访问的任何可用的非暂时性有形介质。以例子而非限制的方式,计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其他光学盘存储器、磁盘存储器或其他磁性存储设备、或可以用于以指令或数据结构的形式承载或存储期望的程序代码并且可以被计算机访问的任何其他的介质。如本文中使用的磁盘和光盘包括紧凑盘(CD)、激光盘、光学盘、数字多功能盘(DVD)、软盘和盘,其中磁盘通常磁性地再现数据,而光盘用激光光学地再现数据。
软件或指令也可以通过传输介质发送。例如,如果软件从网站、服务器或使用同轴线缆、光纤线缆、绞合对、数字客户线(DSL)或无线技术(诸如红外、无线电和微波)的其他远程源发送,则同轴线缆、光纤线缆、绞合对、DSL或无线技术(诸如红外、无线电和微波)被包括在传输介质的定义中。
本文中公开的方法包括用于实现所描述的方法的一个或多个步骤或动作。在不脱离权利要求的范围的情况下,方法步骤和/或动作可以彼此互换。换句话说,除非特定次序的步骤或动作是正在描述的方法的适当操作所需的,否则特定步骤和/或动作的次序和/或使用可以在不脱离权利要求的范围的情况下被修改。
要理解的是,权利要求不限于上面例示的精确的配置和组件。在不脱离权利要求的范围的情况下,可以在本文中描述的***、方法和设备的布置、操作和细节上做出各种修改、改变和变化。
Claims (18)
1.一种用于提供自选服务的方法,包括:
在网络段中的多个受管理设备中的第一受管理设备处使用与从所述多个受管理设备中识别要提供服务的受管理设备相关联的一组当选规则来确定第一受管理设备的当选得分;
经由第一受管理设备向所述多个受管理设备中的一组受管理设备发送多播消息,使得所述多个受管理设备中的第二受管理设备响应于接收到所述多播消息而使用所述一组当选规则确定第二受管理设备的当选得分并将第二受管理设备的当选得分发送到第一受管理设备;
在第一受管理设备处接收第二受管理设备的当选得分;
在第一受管理设备处将第一受管理设备的当选得分与第二受管理设备的当选得分进行比较;以及
响应于第一受管理设备的当选得分与第二受管理设备的当选得分相等:
在第一受管理设备处将第一受管理设备的唯一标识符与第二受管理设备的唯一标识符进行比较;
在第一受管理设备处基于第一受管理设备的唯一标识符与第二受管理设备的唯一标识符的比较,被选择在所述网络段上提供所述服务;以及
在第一受管理设备处为第一受管理设备配置所述服务。
2.根据权利要求1所述的方法,其中,第一受管理设备的当选得分基于第一受管理设备相对于所述多个受管理设备中的其它受管理设备的提供所述服务的能力。
3.根据权利要求1所述的方法,其中:
所述多播消息为第一多播消息;并且
第二受管理设备的当选得分被包括在第二多播消息中。
4.根据权利要求1所述的方法,还包括响应于被选择提供所述服务,在多播信道上从第一受管理设备向所述一组受管理设备发送周期性消息,其中所述周期性消息指示第一受管理设备已被选择提供所述服务并且包括所述受管理设备的当选得分,使得所述一组受管理设备中的每个受管理设备在接收到所述周期性消息时不提供所述服务。
5.根据权利要求1所述的方法,还包括响应于被选择提供所述服务:
响应于第三受管理设备加入所述网络段,在多播信道上从第三受管理设备接收查询消息,其中所述查询消息指示第三受管理设备能够提供所述服务并且查询所述网络段中的所述多个受管理设备中的受管理设备是否正在提供所述服务;以及
响应于接收到所述查询消息,从第一受管理设备向第三受管理设备发送指示第一受管理设备正在提供所述服务的响应。
6.根据权利要求1所述的方法,还包括:
响应于第三受管理设备加入所述网络段,接收来自第三受管理设备的并且包含基于所述一组当选规则确定的第三受管理设备的当选得分的第一消息;
在第一受管理设备处,将第一受管理设备的当选得分与第三受管理设备的当选得分进行比较;
当第三受管理设备的当选得分比第一受管理设备的当选得分大一个阈值量时,确定不使用第一受管理设备提供所述服务;以及
当第三受管理设备的当选得分大于第一受管理设备的当选得分并且不比第一受管理设备的当选得分大所述阈值量时,向第三受管理设备发送指示第一受管理设备正在提供所述服务的消息。
7.根据权利要求1所述的方法,还包括响应于被选择提供所述服务:
在多播信道上从第三受管理设备接收查询消息,所述查询消息查询所述服务是否正由所述网络段中的所述多个受管理设备中的受管理设备提供;以及
响应于所述接收,在所述多播信道上发送指示第一受管理设备已被选择提供所述服务的查询响应消息,所述查询响应消息包含第一受管理设备的当选得分。
8.根据权利要求1所述的方法,还包括:
在第一受管理设备处,基于与第二受管理设备相关联的密码签名对从第二受管理设备接收的消息进行验证,其中:
所述多播消息包括与第一受管理设备相关联的密码签名,
发送所述多播消息包括从第一受管理设备向第二受管理设备发送所述多播消息,使得第二受管理设备响应于接收到所述多播消息,基于所述密码签名对所述多播消息进行验证,并且响应于所述验证,向第一受管理设备发送所述消息,
接收第二受管理设备的当选得分包括从第二受管理设备接收包含第二受管理设备的当选得分和与第二受管理设备相关联的密码签名的消息,并且
第一受管理设备的当选得分和第二受管理设备的当选得分的比较响应于对从第二受管理设备接收的所述消息的验证而发生。
9.根据权利要求1所述的方法,还包括响应于被选择提供所述服务:
向管理服务器报告第一受管理设备已被选择提供所述服务;
在第一受管理设备处,从所述管理服务器接收指示第一受管理设备是否应开始所述服务的指令;以及
响应于所述管理服务器指示第一受管理设备应开始所述服务,在第一受管理设备处提供所述服务。
10.根据权利要求1所述的方法,还包括从第一受管理设备向管理服务器发送指示所述服务的状态的状态报告。
11.一种用于提供自选服务的装置,包括:
第一受管理设备的一个或多个处理器,所述第一受管理设备被配置为包括在网络段中的多个受管理设备中,所述一个或多个处理器被配置为:
基于服务的类型,使用一组当选规则来确定第一受管理设备的当选得分,第一受管理设备的当选得分指示第一受管理设备相对于所述多个受管理设备中的其它受管理设备的提供所述服务的能力;
向所述多个受管理设备中的一组受管理设备发送包含第一受管理设备的当选得分的第一多播消息,使得所述一组受管理设备中的每个受管理设备响应于接收到所述多播消息而使用所述一组当选规则确定该受管理设备的当选得分,将第一受管理设备的当选得分与该受管理设备的当选得分进行比较,并且基于第一受管理设备的当选得分与该受管理设备的当选得分的比较,不在所述网络段上提供所述服务;
在第一受管理设备处,接收来自所述多个受管理设备中的第二受管理设备的并且包含第二受管理设备的当选得分的第二多播消息;
响应于所述接收,将第一受管理设备的当选得分与第二受管理设备的当选得分进行比较;
基于第一受管理设备的当选得分与第二受管理设备的当选得分的比较,被选择在所述网络段上提供所述服务;以及
为第一受管理设备配备所述服务;以及
与所述一个或多个处理器电子通信的存储器,该存储器存储所述一组当选规则。
12.根据权利要求11所述的装置,其中,所述一个或多个处理器还被配置为响应于被选择提供所述服务:
向所述一组受管理设备发送周期性消息,所述周期性消息指示第一受管理设备已被选择提供所述服务并且包含所述受管理设备的当选得分,使得所述一组受管理设备中的每个受管理设备在接收到所述周期性消息时不提供所述服务。
13.根据权利要求11所述的装置,其中,所述一个或多个处理器还被配置为:
响应于第三受管理设备加入所述网络段,在多播信道上接收来自第二受管理设备的查询消息,所述查询消息指示第三受管理设备能够提供所述服务并且查询在所述网络段中除第三受管理设备以外的受管理设备是否正在提供所述服务;以及
响应于接收到所述查询消息,向第三受管理设备发送指示第一受管理设备正在提供所述服务的响应。
14.根据权利要求11所述的装置,其中,所述一个或多个处理器还被配置为:
响应于第三受管理设备加入所述网络段,接收来自第三受管理设备的并且包含基于所述一组当选规则确定的第三受管理设备的当选得分的消息;
将第一受管理设备的当选得分与第三受管理设备的当选得分进行比较;
当第三受管理设备的当选得分比第一受管理设备的当选得分大一个阈值量时,确定不使用第一受管理设备提供所述服务;以及
当第三受管理设备的当选得分大于第一受管理设备的当选得分并且不比第一受管理设备的当选得分大所述阈值量时,向第三受管理设备发送指示第一受管理设备正在提供所述服务的消息。
15.根据权利要求11所述的装置,其中,所述一个或多个处理器还被配置为:
在多播信道上接收来自第三受管理设备的查询消息,所述查询消息查询所述服务是否正由所述网络段中的受管理设备提供;以及
响应于接收到所述查询消息,在所述多播信道上发送指示第一受管理设备已被选择提供所述服务的查询响应消息,所述查询响应消息包含第一受管理设备的当选得分。
16.根据权利要求11所述的装置,其中,所述第一多播消息包括与第一受管理设备相关联的密码签名,使得所述一组受管理设备中的每个受管理设备响应于接收到所述第一多播消息能够基于所述密码签名对所述第一多播消息进行验证。
17.根据权利要求11所述的装置,其中,所述一个或多个处理器还被配置为:
向管理服务器报告第一受管理设备已被选择提供所述服务;
从所述管理服务器接收指示第一受管理设备是否应开始所述服务的指令;以及
响应于所述管理服务器指示第一受管理设备应开始所述服务,提供所述服务。
18.根据权利要求11所述的装置,其中,所述一个或多个处理器还被配置为向管理服务器发送指示所述服务的状态的状态报告。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111481652.8A CN114189549B (zh) | 2016-05-13 | 2017-05-12 | 用于提供自选服务的***和方法 |
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/154,733 | 2016-05-13 | ||
US15/154,733 US10116526B2 (en) | 2016-05-13 | 2016-05-13 | Systems and methods for providing a self-electing service |
CN201780029424.2A CN109314719B (zh) | 2016-05-13 | 2017-05-12 | 用于提供自选服务的***和方法 |
PCT/US2017/032396 WO2017197258A1 (en) | 2016-05-13 | 2017-05-12 | Systems and methods for providing a self-electing service |
CN202111481652.8A CN114189549B (zh) | 2016-05-13 | 2017-05-12 | 用于提供自选服务的***和方法 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780029424.2A Division CN109314719B (zh) | 2016-05-13 | 2017-05-12 | 用于提供自选服务的***和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114189549A CN114189549A (zh) | 2022-03-15 |
CN114189549B true CN114189549B (zh) | 2024-05-28 |
Family
ID=60267709
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111481652.8A Active CN114189549B (zh) | 2016-05-13 | 2017-05-12 | 用于提供自选服务的***和方法 |
CN201780029424.2A Active CN109314719B (zh) | 2016-05-13 | 2017-05-12 | 用于提供自选服务的***和方法 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780029424.2A Active CN109314719B (zh) | 2016-05-13 | 2017-05-12 | 用于提供自选服务的***和方法 |
Country Status (7)
Country | Link |
---|---|
US (1) | US10116526B2 (zh) |
EP (1) | EP3456035B1 (zh) |
CN (2) | CN114189549B (zh) |
AU (2) | AU2017264954A1 (zh) |
BR (1) | BR112018073174A2 (zh) |
CA (1) | CA3022677A1 (zh) |
WO (1) | WO2017197258A1 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9800423B1 (en) | 2012-05-14 | 2017-10-24 | Crimson Corporation | Determining the status of a node based on a distributed system |
US10834150B1 (en) | 2014-12-26 | 2020-11-10 | Ivanti, Inc. | System and methods for self-organizing multicast |
US10116526B2 (en) | 2016-05-13 | 2018-10-30 | Ivanti, Inc. | Systems and methods for providing a self-electing service |
US20180124220A1 (en) * | 2016-10-28 | 2018-05-03 | Hewlett Packard Enterprise Development Lp | DEPLOYING AN INTERNET STORAGE NAME SERVICE (iSNS) SERVER ON A NETWORK DEVICE |
US11134056B2 (en) | 2018-01-31 | 2021-09-28 | Sophos Limited | Portal for managing admission of unrecognized devices to an enterprise network |
US11310275B2 (en) * | 2018-01-31 | 2022-04-19 | Sophos Limited | Managing admission of unrecognized devices onto an enterprise network |
US11019056B2 (en) | 2018-01-31 | 2021-05-25 | Sophos Limited | Managing claiming of unrecognized devices for admission to an enterprise network |
US10798533B1 (en) * | 2019-03-12 | 2020-10-06 | Motorola Solutions, Inc. | System and method for subscription based deployment and management of a communication system |
US11870672B2 (en) * | 2020-04-16 | 2024-01-09 | Ivanti, Inc. | Self-election processes in managed subnets implementing modified swim protocols |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1653779A (zh) * | 2002-03-20 | 2005-08-10 | 捷讯研究有限公司 | 支持移动通信设备上多个证书状态提供器的***和方法 |
US7062555B1 (en) * | 2001-04-06 | 2006-06-13 | Networks Associates Technology, Inc. | System and method for automatic selection of service provider for efficient use of bandwidth and resources in a peer-to-peer network environment |
CN102402433A (zh) * | 2010-09-30 | 2012-04-04 | 微软公司 | 模型、操作以及实现的分离 |
Family Cites Families (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7035918B1 (en) * | 1999-09-03 | 2006-04-25 | Safenet Canada. Inc. | License management system and method with multiple license servers |
US6993587B1 (en) * | 2000-04-07 | 2006-01-31 | Network Appliance Inc. | Method and apparatus for election of group leaders in a distributed network |
US6980964B1 (en) * | 2000-07-27 | 2005-12-27 | Canon Kabushiki Kaisha | Virtual print market place |
US7107606B2 (en) | 2000-08-30 | 2006-09-12 | The Chinese University Of Hong Kong | System and method for highly scalable video on demand |
US7046666B1 (en) | 2001-12-06 | 2006-05-16 | The Directv Group, Inc. | Method and apparatus for communicating between divergent networks using media access control communications |
FR2833788B1 (fr) | 2001-12-13 | 2005-05-06 | France Telecom | Procede de diffusion d'une succession de contenus a partir d'une source vers des terminaux recepteurs, a travers un reseau informatique, signal, source de diffusion et terminal associe |
US20040107242A1 (en) | 2002-12-02 | 2004-06-03 | Microsoft Corporation | Peer-to-peer content broadcast transfer mechanism |
US7181521B2 (en) * | 2003-03-21 | 2007-02-20 | Intel Corporation | Method and system for selecting a local registry master from among networked mobile devices based at least in part on abilities of the mobile devices |
FI120950B (fi) | 2004-03-26 | 2010-05-14 | Anite Finland Oy | Menetelmä, laite, tietokoneohjelmatuote ja järjestely radioverkon datayhteyksien testaamiseksi |
US7447225B2 (en) | 2004-07-23 | 2008-11-04 | Cisco Technology, Inc. | Multiple multicast forwarder prevention during NSF recovery of control failures in a router |
JP4516397B2 (ja) | 2004-10-05 | 2010-08-04 | 株式会社日立製作所 | レイヤ2スイッチ |
US7899877B2 (en) | 2005-05-17 | 2011-03-01 | Dell Products L.P. | Method for dynamically managing multicast sessions for software downloads and related systems |
US7590120B2 (en) | 2005-11-18 | 2009-09-15 | Cisco Technology, Inc. | Enhanced multicast VLAN registration |
US20070156898A1 (en) | 2005-11-26 | 2007-07-05 | Appleby Richard M | Method, apparatus and computer program for access control |
US7529241B2 (en) | 2005-12-20 | 2009-05-05 | Matsushita Electric Works, Ltd. | Systems and methods for providing a network bridge for UDP multicast traffic |
US8144709B2 (en) | 2007-04-06 | 2012-03-27 | International Business Machines Corporation | Method, system and computer processing an IP packet, routing a structured data carrier, preventing broadcast storms, load-balancing and converting a full broadcast IP packet |
JP2009064252A (ja) | 2007-09-06 | 2009-03-26 | Hitachi Ltd | 情報処理システム及びログイン方法 |
US8028082B2 (en) | 2008-10-03 | 2011-09-27 | Cisco Technology, Inc. | Location based multicast policies |
US8189584B2 (en) | 2009-07-27 | 2012-05-29 | Media Patents, S. L. | Multicast traffic management in a network interface |
US8248925B2 (en) * | 2009-09-08 | 2012-08-21 | Rockstar Bidco, LP | Method and apparatus for selecting between multiple equal cost paths |
US9357001B2 (en) * | 2009-10-01 | 2016-05-31 | Telefonaktiebolaget Lm Ericsson (Publ) | Location aware mass information distribution system and method |
US8671436B2 (en) * | 2009-12-01 | 2014-03-11 | Beaumaris Networks Inc. | Dynamic service group discovery |
JP5416596B2 (ja) | 2010-01-07 | 2014-02-12 | アラクサラネットワークス株式会社 | ネットワーク中継装置、ネットワークシステム、それらの制御方法 |
JP5695571B2 (ja) * | 2010-06-23 | 2015-04-08 | パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America | サーバー装置及びコンテンツ取得方法 |
US9137780B1 (en) | 2010-07-29 | 2015-09-15 | Crimson Corporation | Synchronizing multicast data distribution on a computing device |
CN101984632A (zh) * | 2010-11-15 | 2011-03-09 | 中兴通讯股份有限公司 | 一种分布式缓存***中负荷分配方法、装置及服务器 |
WO2012115471A2 (ko) | 2011-02-23 | 2012-08-30 | 엘지전자 주식회사 | 무선통신 시스템에서 m2m(machine to machine) 기기가 멀티캐스트 데이터 관련 정보를 송신 및 수신하는 방법과 이를 위한 장치 |
CA2882904C (en) * | 2013-10-08 | 2017-03-07 | Paul J. Bultema | Service provider network migration |
US10116526B2 (en) | 2016-05-13 | 2018-10-30 | Ivanti, Inc. | Systems and methods for providing a self-electing service |
-
2016
- 2016-05-13 US US15/154,733 patent/US10116526B2/en active Active
-
2017
- 2017-05-12 CN CN202111481652.8A patent/CN114189549B/zh active Active
- 2017-05-12 AU AU2017264954A patent/AU2017264954A1/en not_active Abandoned
- 2017-05-12 WO PCT/US2017/032396 patent/WO2017197258A1/en unknown
- 2017-05-12 EP EP17796932.6A patent/EP3456035B1/en active Active
- 2017-05-12 BR BR112018073174-9A patent/BR112018073174A2/pt unknown
- 2017-05-12 CA CA3022677A patent/CA3022677A1/en active Pending
- 2017-05-12 CN CN201780029424.2A patent/CN109314719B/zh active Active
-
2022
- 2022-03-29 AU AU2022202117A patent/AU2022202117A1/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7062555B1 (en) * | 2001-04-06 | 2006-06-13 | Networks Associates Technology, Inc. | System and method for automatic selection of service provider for efficient use of bandwidth and resources in a peer-to-peer network environment |
CN1653779A (zh) * | 2002-03-20 | 2005-08-10 | 捷讯研究有限公司 | 支持移动通信设备上多个证书状态提供器的***和方法 |
CN102402433A (zh) * | 2010-09-30 | 2012-04-04 | 微软公司 | 模型、操作以及实现的分离 |
Also Published As
Publication number | Publication date |
---|---|
EP3456035A1 (en) | 2019-03-20 |
AU2017264954A8 (en) | 2019-01-17 |
US10116526B2 (en) | 2018-10-30 |
US20170331708A1 (en) | 2017-11-16 |
CN109314719B (zh) | 2021-12-28 |
BR112018073174A2 (pt) | 2019-02-19 |
CN114189549A (zh) | 2022-03-15 |
WO2017197258A1 (en) | 2017-11-16 |
CA3022677A1 (en) | 2017-11-16 |
EP3456035A4 (en) | 2019-12-18 |
CN109314719A (zh) | 2019-02-05 |
EP3456035B1 (en) | 2023-11-22 |
AU2017264954A1 (en) | 2018-11-15 |
AU2022202117A1 (en) | 2022-04-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114189549B (zh) | 用于提供自选服务的***和方法 | |
CN110771091B (zh) | 用于网络连接式装置的安全的***和方法 | |
KR101056104B1 (ko) | 공유 그룹 키를 사용하여 제2 노드 그룹을 제1 노드 그룹에 재결합하는 시스템 및 방법 | |
CN107567700B (zh) | 使用基于密钥的加入协议的物联网组形成 | |
US9912644B2 (en) | System and method to communicate sensitive information via one or more untrusted intermediate nodes with resilience to disconnected network topology | |
WO2020258912A1 (zh) | 一种区块链共识方法、装置和*** | |
US8903973B1 (en) | Parallel distributed network management | |
JP4743323B2 (ja) | ネットワーク上のマルチキャストトラフィックを減少するためのシステムおよび方法 | |
US20110066841A1 (en) | Platform for policy-driven communication and management infrastructure | |
US12028330B2 (en) | Systems and methods for credentials distribution | |
US10623178B2 (en) | System and method for secure messaging between distributed computing nodes | |
KR102132539B1 (ko) | 블록체인 기반의 안전한 소프트웨어 정의 네트워킹 시스템 및 그 방법 | |
RU2420893C2 (ru) | Системы и способы для распределения обновлений для ключа с максимальной интенсивностью смены ключа | |
US10409620B2 (en) | Spanning tree protocol warm reboot system | |
US10855463B2 (en) | System and method for providing quality of service during transport key rotation at a distributed management controller group | |
US8873428B1 (en) | Peer-to-peer based group configuration for interconnected devices | |
US20220046014A1 (en) | Techniques for device to device authentication |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |