CN102523242B - 用于计算机群集中的目标状态通信的方法和系统 - Google Patents

用于计算机群集中的目标状态通信的方法和系统 Download PDF

Info

Publication number
CN102523242B
CN102523242B CN201110340545.3A CN201110340545A CN102523242B CN 102523242 B CN102523242 B CN 102523242B CN 201110340545 A CN201110340545 A CN 201110340545A CN 102523242 B CN102523242 B CN 102523242B
Authority
CN
China
Prior art keywords
calculated examples
dbjective state
status report
computer
designator
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
CN201110340545.3A
Other languages
English (en)
Other versions
CN102523242A (zh
Inventor
S·P·鲁瓦斯卡
M·U·阿扎德
C·M·桑德斯
S·赛义德
C·T·伦茨梅尔
G·古普塔
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of CN102523242A publication Critical patent/CN102523242A/zh
Application granted granted Critical
Publication of CN102523242B publication Critical patent/CN102523242B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/0816Configuration setting characterised by the conditions triggering a change of settings the condition being an adaptation, e.g. in response to network events
    • 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
    • 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/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0631Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)
  • Communication Control (AREA)

Abstract

本申请涉及计算机群集中的目标状态通信。可以将目标状态指示符从计算机群集的构造控制器传递到由构造控制器所管理的在计算机群集中多个计算实例中的每个实例。可以根据定义多个可能的目标状态的结构化协议来格式化所述目标状态指示符。另外,可以从计算实例接收状况报告。每个状况报告可以指示相对于目标状态的计算实例之一的当前状态,所述目标状态先前已在传递到所述计算实例中的该计算实例的目标状态指示符中被指示过。

Description

用于计算机群集中的目标状态通信的方法和系统
技术领域
本申请涉及改进计算机群集中的通信。特别是改进计算机群集中的目标状态通信。
背景技术
许多计算活动正向着云计算环境,例如计算机群集,的方向进展。在此所使用的计算机群集包括一组真实的和/或虚拟的机器,该组机器通常由控制器实体来管理以执行例如存储和计算的动作。在此被称为构造控制器的控制器实体是一种分配计算机群集中的资源的计算模块。构造控制器可以主存在单个机器上或跨多个机器分布,并且它可以在计算机群集的内部和/或外部。计算机群集的构造控制器可以包括互连节点的网络,其中每个节点可以主存在一个或多个真实的和/或虚拟的机器上。
构造控制器可以与计算实例进行交互,所述实例可以执行如构造控制器所请求的计算,并且,构造控制器的请求可以基于由请求使用计算机群集资源的客户所提供的输入。计算实例可以是,例如,真实的机器或主存在真实的机器上的虚拟的机器。在计算实例中,一个或多个角色可以运行。一个角色是部署的模块,例如应用程序,它在计算实例中运行以执行计算。
发明内容
无论先前的云计算工具和技术有何优点,它们都未能认识到在此描述和主张的计算机群集的目标状态通信工具和技术,也没有认识到由这种工具和技术所产生的优点。
在一个实施例中,工具和技术能够包括将目标状态指示符从计算机群集的构造控制器传递到由计算机群集中的构造控制器所管理的多个计算实例中的每个实例。可以根据定义多个可能的目标状态的结构化协议来格式化所述目标状态指示符。另外,可以从计算实例接收状况报告。每个状况报告可以指示相对于目标状态的计算实例之一的当前状态,所述目标状态已在传递到所述计算实例中的该计算实例的目标状态指示符中被指示过。
如在此处所使用的,计算实例的目标状态是指计算实例期望达到的状态。例如,目标状态可以是整个计算实例的状态和/或在计算实例中的一个或多个角色的状态。例如,目标状态可以包括计算实例或计算实例中的一个或多个角色的已启动或已停止状态。作为另一个示例,目标状态可以是已启动状态,对处于该已启动状态的计算实例和/或角色应用一个或多个配置。
如在此所使用,状况报告是指示计算实例的状况(当前的状态和/或健康状况)的数据结构(消息、文件等)。计算实例相对于目标状态的当前状态是相对于由目标状态所指定的参数的计算实例的当前状态。仅作为一个示例,如果目标状态角色处于已启动状态,则当前状态的示例可以包括该角色的下述项:已停止;正在启动;以及已启动。计算实例的健康状况是指计算实例的当前健康属性而不是相对于目标状态的计算实例的当前状态。
在工具和技术的另一个实施例中,可以将目标状态指示符从计算机群集的构造控制器传递到计算机群集中的计算实例。目标状态指示符可以指示用于计算实例的目标状态。响应于在计算实例处接收到目标状态指示符,计算实例可以向着目标状态转变。当计算实例正向目标状态转变时,可以将状况报告从计算实例传递到构造控制器。状况报告可以指示相对于目标状态的计算实例的当前状态。
在工具和技术的又另一个实施例中,可以将目标状态指示符从计算机群集的构造控制器传递到计算机群集中的计算实例。这种通信可以包括将目标状态指示符传递到根据结构化协议的不同版本格式化的不同计算实例。可以在构造控制器处从计算实例接收状况报告,并且,每个状况报告可以包括相对于目标状态的计算实例之一的当前状态,所述目标状态在先前传递到该计算实例的目标状态指示符中被指示。
提供本发明内容是为了以简化的形式介绍一些概念。这些概念将在以下具体实施方式中进一步描述。本概述并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。类似地,本发明不限于解决在背景技术、具体实施方式、或附图中讨论的特定技术、工具、环境、缺点、或优点的实现。
附图说明
图1是其中可实现所描述的各实施例中的一个或多个实施例的合适的计算环境的框图。
图2是一计算机群集的框图;
图3是说明在计算机群集的构造控制器和计算实例之间的通信的示意图。
图4是计算机群集目标状态通信技术的流程图。
图5是另一计算机群集目标状态通信技术的流程图。
图6是又一计算机群集目标状态通信技术的流程图。
具体实施方式
在此描述的实施例是针对用于在计算机群集的构造控制器和计算机群集中的计算实例之间的状态信息的改进通信的技术和工具。目标状态通信可以提供各种益处,例如,允许计算机群集中的计算实例具有附加的独立性,因为,它们驱动自身向实现目标状态前进,而不是由计算机群集的构造控制器主动驱动其向着目标状态。这样的改善可源于分开或组合地使用各种技术和工具。
这样的技术和工具可以包括使用例如结构化协议之类的协议来用计算实例的目标状态的指示呈现所述计算实例,以及从计算实例接收状况报告,该状况报告可以指示该计算实例的当前状态,并且还可能指示计算实例的健康状况。计算机群集的构造控制器可以同时支持协议的多个版本,使得不同的计算实例可以使用协议的不同版本以与同一构造控制器通信。例如,如果一个或多个计算实例能够使用协议的较旧版本来通信,但不能使用正由构造控制器所使用的协议的最近版本来通信的情况下是很有用的。如果状况报告指示计算实例中的使得有正当理由(warrant)执行合适动作的缺陷,则构造控制器可以响应于来自计算实例的状况报告来采取这样的动作。例如,在实例中的角色可以是无响应的,或者实例可以是有响应的,但不能向先前传递给该实例的目标状态转变。构造控制器可以将特定计算实例中的问题告知用户、重启所述实例、将该计算实例中的角色从一个物理机器迁移到不同的物理机器上,或依据缺陷的本质采取其它合适的动作。可以按不相信一个计算实例的报告的方式约束响应损害其他计算实例。例如,构造控制器可以发送通信以关闭虚拟机器的计算实例,但它可以避免关闭主存该虚拟机器的计算实例以及其它虚拟机器的计算实例的物理机器。因此,构造控制器响应可以影响该构造控制器从其接收状况报告的计算实例,但该响应可以仅限于避免响应于所述报告对其它计算实例造成不利影响。
所附权利要求中定义的主题不必限于本文描述的益处。本发明的特定实现可提供本文描述的益处的全部、一些、或未提供本文描述的益处。尽管本文出于呈现的目的以特定的顺序次序描述了用于各种技术的操作,但应理解除非要求特定的排序,否则这种描述方式涵盖了操作顺序上的重新安排。例如,在某些情况下,可以重新安排或并发执行顺序地描述的操作。本文参照流程图描述的技术可被用于本文描述的一个或多个系统和/或用于一个或多个其他系统。例如,在此描述的各种过程可用硬件或软件、或两者的组合来实现。此外,为了简单起见,流程图可能未示出可结合其他技术来使用特定技术的各种方式。
I.示例性计算环境
图1示出其中可实现所描述的各实施例中的一个或多个实施例的合适的计算环境(100)的一般化示例。例如,可将一个或多个此类计算环境用作计算机群集中的机器。例如,环境(100)可以被用作物理机器,该物理机器本身是计算实例,或者该物理机器主存一个或多个虚拟机器的计算实例。作为另一个示例,环境(100)可以被用于主存计算机群集的构造控制器的至少一部分。一般而言,可使用各种不同的通用或专用计算系统配置。适用于此处所描述的工具和技术的公知计算系统配置的示例包括,但不限于,服务器场和服务器群集、个人计算机、服务器计算机、手持式或膝上型设备、多处理器系统、基于微处理器的系统、可编程消费电子产品、网络PC、小型机、大型计算机、包括上述系统或设备中的任一个的分布式计算环境等。
计算环境(100)不旨在对本发明的使用范围或功能提出任何限制,因为本发明可以在完全不同的通用或专用计算环境中实现。
参考图1,计算环境(100)包括至少一个处理单元(110)和存储器(120)。在图1中,这一最基本的配置(130)被包括在虚线内。处理单元(110)执行计算机可执行指令,并且可以是真实或虚拟处理器。在多处理系统中,多个处理单元执行计算机可执行指令以提高处理能力。存储器(120)可以是易失性存储器(例如,寄存器、高速缓存、RAM)、非易失性存储器(例如,ROM、EEPROM、闪存)、或两者的某种组合。存储器(120)存储实现计算机群集中的计算中的目标状态通信的软件(180)。
尽管为了清楚起见用线条示出了图1的各框,但是,实际上,描绘各组件并不是那样清楚,并且用比喻方法,图1以及下文讨论的其他附图的线条更精确地将是灰色的和模糊的。例如,可以将诸如显示设备等的呈现组件认为是I/O组件。而且,处理器具有存储器。发明人关于此点认识到,这是本领域的特性,并且重申,图1的图示只是例示可结合本发明的一个或多个实施例来使用的示例性计算设备。诸如“工作站”、“服务器”、“膝上型计算机”、“手持式设备”等分类之间没有区别,它们全部都被认为是在图1的范围之内的并且被称为“计算机”、“计算环境”、或“计算设备”。
计算环境(100)可具有附加特征。在图1中,计算环境(100)包括存储(140)、一个或多个输入设备(150)、一个或多个输出设备(160)以及一个或多个通信连接(170)。诸如总线、控制器或网络等互连机制(未示出)将计算环境(100)的各组件互连。通常,操作系统软件(未示出)为在计算环境(100)中执行的其它软件提供操作环境,并协调计算环境(100)的各组件的活动。
存储(140)可以是可移动或不可移动的,并可包括诸如磁盘、磁带或磁带盒、CD-ROM、CD-RW、DVD之类的非瞬态计算机可读存储介质,或者可用于储存信息并可在计算环境(100)内访问的任何其它介质。存储(140)储存用于软件(180)的指令。
输入设备(150)可以是诸如键盘、鼠标、笔或跟踪球等触摸输入设备;语音输入设备;扫描设备;网络适配器;CD/DVD读取器;或可向计算环境(100)提供输入的另一设备。输出设备(160)可以是显示器、打印机、扬声器、CD/DVD刻录机、网络适配器、或从计算环境(100)提供输出的另一设备。
通信连接(170)允许通过通信介质与另一计算实体进行通信。因此,计算环境(100)可使用通往诸如个人计算机、服务器、路由器、网络PC、对等设备或另一常见网络节点等一个或多个远程计算设备的逻辑连接而工作在联网环境中。通信介质以已调制数据信号的形式传达诸如数据或计算机可执行指令或请求等信息。已调制数据信号是其一个或多个特征以在信号中编码信息的方式设置或改变的信号。作为示例而非局限,通信介质包括以电、光、RF、红外、声学或其他载波实现的有线或无线技术。
各种工具和技术可以在计算机可读存储介质的一般上下文中描述。计算机可读存储介质可以是可在计算环境内访问的任何可用的非瞬态的存储介质。作为示例而非局限,对于计算环境(100),结合计算环境(100),计算机可读介质包括存储器(120)、存储(140)、和以上的组合。
这些工具和技术可在诸如程序模块中所包括的在目标真实或虚拟处理器上的计算环境中执行的计算机可执行指令的一般上下文中描述。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、库、对象、类、组件、数据结构等。程序模块的功能可以如各实施例中所需的组合或在程序模块之间分离。用于程序模块的计算机可执行指令可以在本地或分布式计算环境中执行。在分布式计算环境中,程序模块可以位于本地和远程计算机存储介质中。
出于表示的目的,详细描述使用了如“确定”、“选择”、“调整”和“操作”等术语来描述计算环境中的计算机操作。这些以及其他类似术语是对计算机执行的操作的高层抽象,并且不应混淆于人类执行的动作,除非明确指出人类(诸如“用户”)的动作执行。对应于这些术语的实际的计算机操作取决于实现而不同。
II.计算机群集系统和环境
图2是结合使用其可实现所描述的各实施例中的一个或多个实施例的计算机群集(200)的框图。计算机群集(200)可以包括构造控制器(210),它可以包括管理器(220)。或者,部分或全部的构造控制器(210)可以是在计算机群集(200)之外。计算机群集(200)还可以包括多个计算实例(230和240),每个计算实例可以是真实的或虚拟的机器。每个计算实例(230和240)可以发送通信给构造控制器(210),并从构造控制器(210)接收通信。可以由管理器(220)对发送到构造控制器(210)的通信进行分析。类似地,还可以从构造控制器(210)向计算实例(230和240)发送通信。例如,可以从管理器(220)向计算实例(230和240)发送这样的通信。
在管理器(220)和计算实例(230)之间的通信可以利用一个或多个代理来帮助通过计算机群集(200)转发消息。例如,代表或主代理(245)可以存在于物理机器上,该物理机器主存一个或多个计算实例(230和/或240)作为在物理机器上运行的虚拟机器,或者用于计算实例的主代理可以存在于构造控制器(210)的任何地方。构造控制器(210)可以包括多个主代理(245),例如用于计算机群集(200)中的每个物理机器的或者主存一个或多个计算实例(230和/或240)的主代理(245)。另外,计算实例(230和240)可以包含帮助通信的代理。例如,计算实例(230或240)可以包括与构造控制器(210)中的主代理(245)通信的客代理。因此,主代理(245)可以主存在物理机器上,而客代理可以主存在由该物理机器所主存的虚拟机器上。或者,主代理(245)和客代理可以在同一物理机器上运行。
每个计算实例(230和240)可以运行一个或多个角色(250)。例如,角色可以是为web应用程序编程定制的web角色,用于概括开发的工作者角色或允许比web角色和工作者角色更加概括和独立的使用计算实例(230和240)的机器角色(例如虚拟机器角色)。角色(250)还可以是其它类型的角色。
计算机群集(200)还可以包括附加的组件和模块,例如存储组件。作为示例,计算机群集(200)可以运行
Figure GDA0000445555020000071
AzureTM云服务操作系统,该系统包括对在此所述的计算机群集目标状态通信的支持。
服务模块可以被用于描述要在计算机群集(200)上运行的服务的构成。这可以包括服务组成的应用程序或角色以及它们各自的资源要求的描述。服务模块可以是声明性模块,这样,在定义之外的资源不会被所述服务使用。在计算机群集(200)中的服务实例化可以被称为部署。服务模型还可以指示当将服务实例化为部署时要满足的约束。例如,具有一个前端的单个服务可以定义指示该服务包括前端和哪些前端将使用的资源的服务模型。服务模型还可以以角色(250)的形式指示前端的实例。由前端使用的资源可以是,将对前端可用的例如,处理能力量、存储资源的大小、网络端点、存储器大小等。另外,针对前端指定的配置能够包括网页的背景颜色、网页的标题等。这样,在计算机群集(200)中运行的服务部署可以包括在一个或多个计算实例(230和240)中运行的一个或多个角色(250)。这可以包括在一个实例或多个实例中运行服务角色。
管理器(220)可以是用于计算机群集(200)的操作系统的内核。管理器(220)可以使用服务模型,所述服务模型提供了如上所述的静态描述以在特定时间在不同的服务部署之间分配计算机群集(200)中的资源。计算机群集(200)的操作系统还包括展示服务管理API以控制服务部署的生命周期。
III.目标状态通信
不同的事件可以触发在实例(230和240)的目标状态中的改变。这些事件可以包括服务模型更新、平台更新、在计算实例(230和240)中的硬件故障等。例如,可以提供用户输入,其中,所述输入通过更新在服务模型中描述的配置指示对前端角色的背景颜色的更新。在另一个示例中,用户可以提供指示运行该用户的角色(250)的实例(230和/或240)将被停止的用户输入。计算机群集(200)可以将这样的目标状态传递给计算实例(230和240),并能监视在计算实例(230和240)向它们的目标状态(230和240)转变时所述计算实例(230和240)的当前状态和健康状况。
每个计算实例(230和240)可以了解将要在其中运行计算实例(230和240)的目标状态。为了完成这个操作,每个计算实例(230和240)可以建立与构造控制器(210)的通信信道(260)。这可以以各种方式来实现,例如通过发布固定公共IP地址,计算机群集(200)可以为其建立路由以便定向到该公共IP地址的通信将被重定向到正确的实体,所述实体可以用计算实例(230和240)的期望的状态来响应。例如,到公共IP地址的通信可以转发给主代理,主代理随后将通信转发给计算实例(230或240)(例如给计算实例(230or240)中的客代理)。可以根据协议格式化通过通信信道(260)的通信,它可以将每个计算实例(230和240)作为黑盒子处理,目标状态指示被发送到该黑盒子,并从该黑盒子接收当前状况报告。
协议可以是结构化协议以便于跨通信信道(260)的目标状态和相关信息的结构化通信。因此,跨通信信道(260)的格式化协议的通信可以为每个计算实例(230和240)提供用于在计算实例(230和240)和构造控制器(210)之间的通信的接口。协议可以是任意各种类型的协议。例如,协议可以是基于REST(代表性状态转移)的协议,该协议可以利用HTTP格式化的消息。基于REST的协议可以使用来自计算实例(230和240)的透视图的拉模型,以便计算实例可以发起对构造控制器(210)的请求。构造控制器(210)可以处理所述请求并返回响应。
参照图3,将讨论在计算机群集(300)中的在构造控制器(310)和计算实例(312)之间使用基于REST协议的请求/响应交换的一些示例。构造控制器(310)和计算实例(312)可以具有如上所述建立的通信信道(例如通过使得构造控制器(310)供给IP地址、使用DHCP选项并使得计算实例(312)在该IP地址上通信,或使得构造控制器(310)公布构造控制器(310)可将消息发送给其的公共IP地址)。
计算机群集(300)可以同时支持协议的多个版本。因此,计算实例(312)可以发现当前支持什么协议版本,并从这些协议版本中选择一个用于与构造控制器(310)通信。计算实例(312)可以发送版本信息查询(320)给构造控制器(310)。例如,版本信息查询可以是如下格式化的HTTP GET请求。
GET http://<hostip>/?comp=versions
在本示例中,“<hostip>”是根据协议指定的整个资源的基础URI的占位符,而“/?comp=versions”指定了具有版本信息的子资源。
响应于所述版本信息查询(320),构造控制器(310)可以发送版本信息(322)。例如,版本信息(322)可以是具有如下所示的文本的XML文档:
Figure GDA0000445555020000091
Figure GDA0000445555020000101
在本示例中,“2010-03-31”版本指示作为协议的首选版本,如果计算实例(312)能够支持该首选版本,则该计算实例(312)就使用该首选版本。该示例还指示了构造控制器(310)除了支持“2010-03-31”版本外,还支持“2009-11-28”版本。计算实例(312)可以选择一个版本用于与构造控制器(310)的将来通信。如果计算实例(312)支持首选版本,那么,计算实例(312)可以选择该首选版本。如果计算实例不支持首选版本,那么,该计算实例可以使用作为在版本信息(322)中所支持的版本所列出的不同版本。对于构造控制器(310)可以采取不同的途径以支持协议的多个版本。例如,在构造控制器(310)中的主代理可以用于转换不同的协议版本之间的通信以便于同时使用多个协议版本与计算机群集(300)中的计算实例(312)的通信。因此,主代理可以转换来自构造控制器管理器的通信并将它们传送给计算实例(312),并且反之亦然,因而,管理器可以在协议的最近版本中与主代理通信,并且,如果计算实例(312)不支持该最近版本,则主代理可以以协议的较早版本与计算实例(312)通信。
在与构造控制器(310)的通信信道上使用协议,计算实例(312)可以将查询发给构造控制器(310),并且回过来接收从构造控制器(310)的观点来看的计算实例(312)的目标状态的指示。该目标状态可以包括指示计算实例所期望的状态的各种状态参数中的一个或多个。例如,目标状态可以包括一个或多个下述项:整个计算实例(312)的期望的运行时状态;要在计算实例(312)中运行的一个或多个角色的列表以及从构造控制器(310)的观点来看的它们所期望的运行时状态;用于特定角色的配置信息;用于计算实例(312)的配置信息,例如用于计算实例(312)的网络配置;以及用于计算实例(312)和其角色的秘密(例如证书或口令)(可以以安全方式被发送,例如通过利用公钥和私钥技术对证书和口令加密)。
计算实例(312)可以接收目标状态指示符并向着实现所指示的目标状态工作。当计算实例(312)通过执行实现目标状态的动作而向着该状态转变时,所述计算实例(312)可以继续将状况报告发送给构造控制器(310)。状况报告可以指示相对于目标状态的计算实例(312)的状态,所述状态可以包括在计算实例(312)中运行的角色的状态。状况报告还可以指示整个计算实例(312)和其角色的健康状况,这可以包括除了相对于目标状态的实例(312)的状态之外的信息。构造控制器(310)可以使用状况报告以执行操作作为响应(例如继续更新或暂停安置的事物)。来自状况报告的信息还可以被展示给用户以向用户呈现它们的服务的部署的状态的完整画面(所述服务可以在一个计算实例(312)上运行或跨多个计算实例分散开)。
协议可以提供一种结构化的方式来展示供计算实例(312)报告其实例级状况(例如整个计算实例(312)的健康状况以及在计算实例上创建的帐户的信息)以及在计算实例(312)中的各个角色的状况。当计算实例(312)的状况改变时,计算实例(312)可以继续发送状况报告以指示所述改变。如上所述,可以由所述计算实例以各种不同结构化方式(例如不同的协议或协议的不同版本)中的一个或多个来提供查询、响应和报告。
还是参照图3,将讨论在计算实例(312)和构造控制器(310)之间的通信的一些示例。计算实例(312)可以将目标状态查询(330)发送给构造控制器(310),构造控制器(310)可以请求计算实例(312)的目标状态。例如,目标状态查询(330)可以是针对计算实例(312)的目标状态的URI的HTTP GET请求。例如,目标状态查询(330)可以如下被格式化:
Figure GDA0000445555020000111
在该示例中,“Host”字段指定了如上所述的基础URI,而“GET”行中的文本“/machine?comp=goalstate”指定了具有目标状态信息的子资源。另外,“x-ms-guest-agent-name”字段指定了在计算实例(312)中的代理的名字,该代理处理在计算实例(312)和构造控制器(310)之间的通信,并且,“x-ms-version”指定了由计算实例(312)使用的协议的版本。
响应于所述目标状态查询(330),构造控制器(310)可以发送目标状态指示符(332)。下面是具有XML格式的这样的指示符的HTTP响应的示例:
Figure GDA0000445555020000112
Figure GDA0000445555020000121
Figure GDA0000445555020000131
目标状态指示符(332)可以指示正被使用的协议的版本(“<Version>2010-03-31</Version>”),并且可以包括化身指示符(“<Incarnation>12</Incarnation>”)。计算实例(312)可以随后使用该化身指示符以确定目标状态指示符(332)的更新的化身是否可用,这将在下面进行讨论。目标状态指示符(332)可以指示整个计算实例(312)中的目标运行时状态,它被指示为“<ExpectedState>Started</ExpectedState>”,它指示了整个计算实例(312)中的目标状态是该计算实例(312)启动。类似地,如果计算实例(312)的目标运行时状态是要停止,这可以被指示为“<ExpectedState>Stopped</ExpectedState>”。目标状态指示符还可以包括角色的列表,可以由不同的实例ID来指定每个角色(例如“<InstanceId>R1</InstanceId>”)。另外,对于每个角色,目标状态指示符(332)可以指示配置指示(在“<Configuration>...</Configuration>“部分中为每个列出的角色指定),所述配置指示可用并可由计算实例请求。
使用来自目标状态指示符(332)的配置指示,计算实例(312)可以发送配置查询(340)以请求可以指定所述配置的配置指示符(342)。可用各种方法来指定配置。一些或所有的配置可以不被构造控制器(310)所理解,(例如主存环境配置信息),而其它信息可以被理解并由构造控制器可使用(例如共享配置信息)。因此,配置信息的至少一部分可以是在计算实例(312)中运行的角色特有的。可以由整个计算机群集(300)中的许多角色共享其它配置信息。作为示例,为接收在上述示例中指定的主存环境配置指示符,计算实例(312)可以发送URI请求的HTTP GET请求http://host-ip/machine/C1/R1?comp=config&type=hostingEnvironmentConfig&incarnation=12。响应可以包括,例如为该角色(R1,如在容器C1中所指定)指定的XML内容形式的配置指示符(342)。可以从计算实例(312)向构造控制器(310)发送类似的配置查询(340)以共享该角色的配置,并且如果在目标状态指示符(332)中指示了其它角色的配置也共享其它角色的配置。
还是参照图3,计算实例(312)还可以发送证书查询(350),并且构造控制器(310)可以通过以安全方式,例如使用公共和私有密钥,发送证书(352)来进行响应。下面是证书查询(350)的示例:
Figure GDA0000445555020000141
另外,计算实例(312)可以发送用户帐户细节查询(360)以请求计算实例(312)中的用户帐户的细节。构造控制器(310)可以用所请求的用户帐户细节(362)进行响应。可以以安全方式,例如使用公共和私有密钥,发送一些或所有的用户帐户细节(例如密码)。
除了发送如上所述的查询之外,计算实例(312)可以发送状况报告(370)给构造控制器(310)。状况报告(370)可以指示计算实例和其角色的当前状态和健康状况。计算实例(312)可以以某个周期性间隔,例如每5秒或每15秒向构造控制器(310)重复发送当前的状况报告(370)。这可以在计算实例(312)正向着其目标状态转变时或已经达到其目标状态时完成。因此,构造控制器(310)可以继续监视计算实例(312)的状态,通过检查状况报告(370)或告知计算实例已经在一指定时间周期中停止发送状况报告,确定计算实例(312)正向着其目标状态转变还是已经达到其目标状态。下面是一个状况报告的示例,所述状况报告指示了两个角色(R1以及R2)的状态,并且使用HTTPPUT消息发送所述状况报告。
Figure GDA0000445555020000151
Figure GDA0000445555020000161
如所见,角色R1的状态被指示为准备好,而角色R2的状态被指示为未准备好。R2的健康状况的细节随同其“未准备好”的状态被一起提供。特别的,存在角色启动失败的子状况指示。其它子状况指示可以包括,例如,角色正在初始化、繁忙、已停止、已中止、未响应的或不健康的指示。对于这些状况指示中的每个状况指示,可以将附加细节作为“说明”字段中的字符串来提供。计算实例(312)还可以指示其整体的计算实例级状态。例如,计算实例状态可以被指示为“已启动”或“已停止”、“健康”或“不健康”等等。状况报告(370)还可以指示是否成功执行了特定配置改变。例如,状况报告(370)可以指示特定的角色是否已经执行了已请求的配置改变(例如对前端web应用程序的背景的颜色改变)。可以考虑将这样的改变作为到不同状态的过渡,并且可以在状况报告(370)中报告它们的细节。
响应于状况报告(370),构造控制器(310)可以用当前目标状态化身数目(372)进行响应。计算实例(312)可以将接收到的目标状态化身数目(372)与由计算实例(312)最近收到的目标状态指示符(332)的化身数目进行比较。如果数目是不同的,那么,计算实例(312)可以发送目标状态查询(330)以检索最近的目标状态指示符(332)以及其它相关的经更新的信息(新的配置指示符(342)等)。
将目标状态指示符(332)从构造控制器(310)传递到计算实例(312)的细微问题可以是不同的。例如,可以使用不同的协议(例如使用标准web服务绑定的基于WCF(
Figure GDA0000445555020000171
通信基础)协议或者构造控制器将目标状态指示符和其它信息推入到计算实例中的基于HTTP的协议)。作为另一个示例,目标状态指示符还可以包括配置指示符、证书、用户帐户细节和/或在单个消息中的其它信息。还是作为另一个替换例,目标状态指示符中的信息可以被分割成较小的片断并在更多的消息中发送。另外,计算机群集(300)中的请求/响应交换可以从在图3中所描述的和如上所述的内容中重新排序。例如,可以重新排序查询。而且,可以在由计算实例(312)响应于一些或所有的查询(330、340、350和/或360)接收信息之前,或者在发送一些或所有的查询(330、340、350和/或360)之前,发送例如状况报告(370)的一个或多个状况报告。
IV.用于在计算机群集中的目标状态通信的技术
下面将讨论几种计算机群集目标状态通信技术。这些技术中的每种技术皆可在诸如图1-3的环境之类的计算环境中执行。例如,每种技术可在包括至少一个处理器和存储器的计算机系统中执行,该存储器包括存储于其上的、在由该至少一个处理器执行时使该至少一个处理器执行该技术的指令(存储器存储指令(例如,对象代码),并且当处理器执行这些指令时,处理器执行该技术)。类似地,一个或多个计算机可读存储介质可具有收录于其上的计算机可执行指令,该些指令在由至少一个处理器执行时使该至少一个处理器执行该技术。
参考图4,将要描述计算机群集目标状态通信技术。在一个技术中,将目标状态指示符从计算机群集的构造控制器传递到(410)由计算机群集中的构造控制器所管理的多个计算实例中的每个实例。例如,可以响应于来自计算实例的请求来完成目标状态指示符的通信(410)。可以根据定义多个可能的目标状态的结构化协议来格式化所述目标状态指示符。另外,可以从计算实例接收(420)状况报告。每个状况报告可以指示相对于目标状态的计算实例之一的当前状态,所述目标状态先前已在传递到所述计算实例中的该计算实例的目标状态指示符中被指示过。可以根据结构化协议来格式化状况报告。
计算机群集可以在操作上通过根据结构化协议的不同版本格式化的目标状态指示符,将该目标状态指示符传递给计算机群集中的不同的计算实例。
图4的技术可以进一步包括确定(430)状况报告是否指示环境中的第一计算实例中的使得响应有正当理由的缺陷。如果是,则响应于所指示的缺陷采取(440)一个或多个动作。可以将一个或多个动作限定为避免对计算机群集中除第一计算实例外的一个或多个计算实例的不利影响。第一计算实例可以包括第一服务部署的至少一部分,并且除第一计算实例外的一个或多个计算实例可以包括除第一服务外的一个或多个服务的一个或多个部署的至少一部分。
参考图5,将要描述另一计算机群集目标状态通信技术。该技术可以包括将第一目标状态指示符从计算机群集的构造控制器传递(510)到该计算机群集中的计算实例。例如,计算实例可以是虚拟机器。第一目标状态指示符可以指示用于计算实例的第一目标状态。响应于在计算实例处接收到第一目标状态指示符,计算实例可以向着第一目标状态转变(520)。计算实例可以向第一目标状态转变(520),而不是被诸如构造控制器或构造控制器中的组件之类的外部模块向着第一目标状态驱动。当计算实例正向第一目标状态转变(520)时,可以将第一状况报告从计算实例传递到构造控制器。
另外,可以将第二目标状态标识符从构造控制器传递(540)到计算实例。第二目标状态标识符可以取代第一目标状态标识符,并且能够指示计算实例的第二目标状态。可以在计算实例达到第一目标状态之前传递(540)第二目标状态标识符。响应于在计算实例处接收到第二目标状态指示符,计算实例可以向着第二目标状态转变(550)。当计算实例正向第二目标状态转变时,可以将第二状况报告从计算实例传递(560)到构造控制器。第二目标状态可以指示相对于第二目标状态的计算实例的当前状态,并且还可以指示计算实例的当前健康状况。
可以响应于来自计算实例的请求传递(530和/或560)一个或这两个目标状态指示符。另外,可以在计算实例未接收来自构造控制器的对状况报告的请求的情况下,通信一个或这两个状况报告。而且,计算机群集可以在操作上生成目标状态指示符并将其传递给根据结构化协议的不同版本格式化的不同计算实例。可以根据结构化协议,例如结构化的基于REST的协议,来格式化目标状态指示符和状况报告。可以从由启动计算实例中指定的角色、停止计算实例中指定的角色以及它们的组合所组成的组中选择第一和/或第二目标状态。
当计算实例正向着第二目标状态转变(550)(并且也可能是计算实例正向着第一目标状态转变(520))时,可以将附加状况报告从计算实例传递(570)给构造控制器。每个附加状况报告可以指示相对于目标状态的计算实例的当前状态。而且,当计算实例已经到达目标状态时,可以将另一状况报告从计算实例传递(580)到构造控制器。该另一状况报告可以将计算实例的当前状态指示为已经达到目标状态。
图5的技术还可以包括确定一个或多个状况报告是否指示使得响应有正当理由的缺陷。例如,确定缺陷是否使得响应有正当理由可以通过咨询规则来完成,这些规则规定什么类型的缺陷使得响应有正当理由、在使得响应有正当理由之前允许缺陷存在多久以及针对指定类型的缺陷要采取什么响应。另外,可以响应于指示的缺陷由构造控制器采取一个或多个响应。例如,一个或多个动作可以包括从将计算实例中的角色的实例从第一物理机器移动到第二物理机器。这样的响应可以被限制于对计算机群集中的其它计算实例没有不利影响的响应。
现在参考图6,将要描述另一计算机群集目标状态通信技术。该技术可以包括将目标状态指示符从计算机群集的构造控制器传递(610)到该计算机群集中的计算实例。通信(610)指示符可以包括将目标状态指示符传递到根据结构化协议的不同版本所格式化的不同计算实例。另外,可以由构造控制器从计算实例接收(620)状况报告。每个状况报告可以包括相对于目标状态的计算实例之一的当前状态,所述目标状态先前已在传递到所述计算实例中的该计算实例的目标状态指示符中被指示过。可以从对应的计算实例接收(620)每个状况报告,并且可以根据用于将目标状态指示符传递到对应的计算实例的协议的一个版本来格式化每个状况报告。
尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。更确切而言,上述具体特征和动作是作为实现权利要求的示例形式公开的。

Claims (11)

1.一种计算机实现的方法,包括:
将目标状态指示符(332)从计算机群集(300)的构造控制器(310)传递到所述计算机群集(300)中的多个计算实例(312)中的每一个,所述计算实例(312)由所述构造控制器(310)管理,所述目标状态指示符(332)根据定义多个可能的目标状态的结构化协议来格式化;以及
从所述计算实例(312)接收状况报告(370),每个所述状况报告(370)指示了相对于目标状态的所述计算实例(312)之一的当前状态,所述目标状态先前在传递给所述计算实例(312)中的该计算实例的目标状态指示符(332)中已被指示过。
2.如权利要求1所述的方法,其特征在于,所述计算机群集在操作上将目标状态指示符传递给所述计算机群集中的不同的计算实例,其中,所述目标状态指示符根据所述结构化协议的不同版本来格式化。
3.如权利要求1所述的方法,其特征在于,还包括:
确定所述状况报告之一是否指示第一计算实例中的使得响应有正当理由的缺陷;以及
如果所述状况报告之一指示了使得响应有正当理由的缺陷,则响应于所述缺陷采取一个或多个动作,所述一个或多个动作被局限于避免对所述计算机群集中除所述第一计算实例之外的一个或多个计算实例的不利影响。
4.如权利要求3所述的方法,其特征在于,所述第一计算实例包括第一服务部署的至少一部分,并且除所述第一计算实例外的所述一个或多个计算实例包括除所述第一服务外的一个或多个服务的一个或多个部署的至少一部分。
5.一种计算机实现的方法,包括:
将目标状态指示符(332)从计算机群集(300)的构造控制器(310)传递到所述计算机群集(300)中的一个计算实例(312),所述目标状态指示符(332)指示了所述计算实例(312)的目标状态;
响应于在所述计算实例(312)处接收到所述目标状态指示符(332),所述计算实例(312)向着所述目标状态转变;以及
当所述计算实例(312)正向着所述目标状态转变时,将状况报告(370)从所述计算实例(312)传递到所述构造控制器(310),所述状况报告(370)指示了相对于所述目标状态的计算实例(312)的当前状态。
6.如权利要求5所述的方法,其特征在于,响应于来自所述计算实例的请求传递所述目标状态指示符,并且其中在所述计算实例未接收来自所述构造控制器的对所述状况报告的请求的情况下传递所述状况报告。
7.如权利要求5所述的方法,其特征在于,所述目标状态选自由启动所述计算实例中指定的角色、停止所述计算实例中指定的角色以及它们的组合所组成的组。
8.如权利要求5所述的方法,其特征在于,所述目标状态是第一目标状态,其中,所述目标状态指示符是第一目标状态指示符,其中,所述状况报告是第一状况报告,并且其中所述方法进一步包括:
将第二目标状态指示符从所述构造控制器传递到所述计算实例,所述第二目标状态指示符取代所述第一目标状态指示符并指示所述计算实例的第二目标状态;
响应于在所述计算实例处接收到所述第二目标状态指示符,所述计算实例可以向着所述第二目标状态转变;以及
当所述计算实例正向着所述第二目标状态转变时,将第二状况报告从所述计算实例传递到所述构造控制器,所述第二状况报告指示了相对于所述第二目标状态的所述计算实例的当前状态。
9.如权利要求8所述的方法,其特征在于:
所述计算实例是虚拟机器;
所述第一目标状态指示符、所述第二目标状态指示符、所述第一状况报告以及所述第二状况报告根据结构化的基于代表性状态转移的协议来格式化;
所述第一状况报告进一步指示所述计算实例的当前健康状况;
所述计算机群集在操作上传递根据结构化协议的不同版本被格式化的目标状态指示符;
所述目标状态选自由启动所述计算实例中指定的角色、停止所述计算实例中指定的角色以及它们的组合所组成的组;
所述方法进一步包括:当所述计算实例正向着所述第二目标状态转变时,将附加状况报告从所述计算实例传递到所述构造控制器,每个所述附加状况报告指示了相对于所述第二目标状态的计算实例的当前状态;并且
所述方法进一步包括:当所述计算实例达到所述第二目标状态时,将另一状况报告从所述计算实例传递到所述构造控制器,所述另一状况报告将所述计算实例的当前状态指示为已经达到所述目标状态。
10.一种计算机实现的方法,包括:
将目标状态指示符(332)从计算机群集(300)的构造控制器(310)传递到所述计算机群集(300)中的计算实例(312),包括将所述目标状态指示符(332)传递到根据结构化协议的不同版本来格式化的不同计算实例(312);以及
从所述计算实例(312)接收状况报告(370),每个所述状况报告(370)包括相对于目标状态的所述计算实例(312)之一的当前状态,所述目标状态在先前传递给所述计算实例(312)中的该计算实例的目标状态指示符(332)中已被指示过。
11.一种计算机实现的系统,包括:
用于将目标状态指示符(332)从计算机群集(300)的构造控制器(310)传递到所述计算机群集(300)中的计算实例(312)的装置,包括用于将所述目标状态指示符(332)传递到根据结构化协议的不同版本来格式化的不同计算实例(312)的装置;以及
用于从所述计算实例(312)接收状况报告(370)的装置,每个所述状况报告(370)包括相对于目标状态的所述计算实例(312)之一的当前状态,所述目标状态在先前传递给所述计算实例(312)中的该计算实例的目标状态指示符(332)中已被指示过。
CN201110340545.3A 2010-10-21 2011-10-20 用于计算机群集中的目标状态通信的方法和系统 Active CN102523242B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/908,891 2010-10-21
US12/908,891 US8719402B2 (en) 2010-10-21 2010-10-21 Goal state communication in computer clusters

Publications (2)

Publication Number Publication Date
CN102523242A CN102523242A (zh) 2012-06-27
CN102523242B true CN102523242B (zh) 2014-06-25

Family

ID=45973923

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110340545.3A Active CN102523242B (zh) 2010-10-21 2011-10-20 用于计算机群集中的目标状态通信的方法和系统

Country Status (4)

Country Link
US (1) US8719402B2 (zh)
EP (1) EP2630576B1 (zh)
CN (1) CN102523242B (zh)
WO (1) WO2012054196A2 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9641394B2 (en) * 2012-01-30 2017-05-02 Microsoft Technology Licensing, Llc Automated build-out of a cloud-computing stamp
US9137111B2 (en) 2012-01-30 2015-09-15 Microsoft Technology Licensing, Llc Discovering, validating, and configuring hardware-inventory components
US9367360B2 (en) 2012-01-30 2016-06-14 Microsoft Technology Licensing, Llc Deploying a hardware inventory as a cloud-computing stamp
US9917736B2 (en) 2012-01-30 2018-03-13 Microsoft Technology Licensing, Llc Automated standalone bootstrapping of hardware inventory
US8595262B1 (en) * 2012-03-29 2013-11-26 Amazon Technologies, Inc. Resource resolution in computing environments using directed graphs
US10120725B2 (en) * 2012-06-22 2018-11-06 Microsoft Technology Licensing, Llc Establishing an initial configuration of a hardware inventory
US9130979B2 (en) * 2012-12-11 2015-09-08 Microsoft Technology Licensing, Llc Systems and methods for using virtual machines to sequence native applications into virtual packages and for reimaging virtual machines
US9742726B2 (en) * 2015-02-26 2017-08-22 Red Hat Israel, Ltd. Distributed dynamic host configuration protocol

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US320088A (en) * 1885-06-16 Maek pottee
CN101594377A (zh) * 2008-05-28 2009-12-02 国际商业机器公司 用于管理Feed数据的系统和方法
US7716274B1 (en) * 2004-04-14 2010-05-11 Oracle America, Inc. State data persistence in a distributed computing environment

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6421746B1 (en) * 1998-03-26 2002-07-16 Micron Electronics, Inc. Method of data and interrupt posting for computer devices
US6324619B1 (en) 1998-03-27 2001-11-27 Sony Corporation Of Japan Process and system for managing run-time adaptation for general purpose distributed adaptive applications
US6766470B1 (en) * 2000-03-29 2004-07-20 Intel Corporation Enhancing reliability and robustness of a cluster
US20020049859A1 (en) * 2000-08-25 2002-04-25 William Bruckert Clustered computer system and a method of forming and controlling the clustered computer system
US20020156888A1 (en) * 2001-04-23 2002-10-24 Lee Man-Ho L. Method and apparatus for detecting and reporting configuration errors in a multi-component switching fabric
US7076547B1 (en) 2001-06-21 2006-07-11 Amdocs (Israel) Ltd. System and method for network performance and server application performance monitoring and for deriving exhaustive performance metrics
US20030187991A1 (en) 2002-03-08 2003-10-02 Agile Software Corporation System and method for facilitating communication between network browsers and process instances
US20080008202A1 (en) * 2002-10-31 2008-01-10 Terrell William C Router with routing processors and methods for virtualization
US7747717B2 (en) 2003-08-14 2010-06-29 Oracle International Corporation Fast application notification in a clustered computing system
US7839765B2 (en) * 2004-10-05 2010-11-23 Hewlett-Packard Development Company, L.P. Advertising port state changes in a network
US7320088B1 (en) 2004-12-28 2008-01-15 Veritas Operating Corporation System and method to automate replication in a clustered environment
US8001205B2 (en) 2005-04-29 2011-08-16 Microsoft Corporation State management in a distributed computing system
US20060271542A1 (en) 2005-05-25 2006-11-30 Harris Steven T Clustered object state using logical actions
US8079037B2 (en) 2005-10-11 2011-12-13 Knoa Software, Inc. Generic, multi-instance method and GUI detection system for tracking and monitoring computer applications
US7831600B2 (en) 2005-12-28 2010-11-09 Sap Ag Cluster communication manager
US20080320088A1 (en) * 2007-06-19 2008-12-25 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Helping valuable message content pass apparent message filtering
US8301759B2 (en) * 2008-10-24 2012-10-30 Microsoft Corporation Monitoring agent programs in a distributed computing platform
US7996525B2 (en) 2008-12-31 2011-08-09 Sap Ag Systems and methods for dynamically provisioning cloud computing resources
US20100319004A1 (en) * 2009-06-16 2010-12-16 Microsoft Corporation Policy Management for the Cloud

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US320088A (en) * 1885-06-16 Maek pottee
US7716274B1 (en) * 2004-04-14 2010-05-11 Oracle America, Inc. State data persistence in a distributed computing environment
CN101594377A (zh) * 2008-05-28 2009-12-02 国际商业机器公司 用于管理Feed数据的系统和方法

Also Published As

Publication number Publication date
US8719402B2 (en) 2014-05-06
CN102523242A (zh) 2012-06-27
EP2630576A4 (en) 2016-10-26
EP2630576B1 (en) 2018-10-24
WO2012054196A2 (en) 2012-04-26
EP2630576A2 (en) 2013-08-28
US20120102186A1 (en) 2012-04-26
WO2012054196A3 (en) 2012-06-21

Similar Documents

Publication Publication Date Title
CN102523242B (zh) 用于计算机群集中的目标状态通信的方法和系统
US8180888B2 (en) Network mass operation infrastructure
JP5188817B2 (ja) 分散型資産管理システム及び方法
EP3338186B1 (en) Optimal storage and workload placement, and high resiliency, in geo-distributed cluster systems
CN103095490B (zh) 发现和挖掘设备的性能信息用于先行发送更新到设备
CN101589599B (zh) 移动设备管理代理系统
EP2909723B1 (en) Smart error recovery for database applications
CN102884525B (zh) 对于搜索配置的自动角色确定
CN103516777A (zh) 用于在云计算机环境中进行供应的方法和系统
US10491698B2 (en) Dynamic distribution of persistent data
Delicato et al. Resource management for Internet of Things
CN101796752A (zh) 无限企业平台
CN101689167A (zh) 在分布式系统中逐步实现声明性模型
CN102971707A (zh) 为软件包安装配置计算机系统
CN102419838B (zh) 提供合并后的项目信息服务
US20120191831A1 (en) System and method for cataloging assets in a network
CN102201031A (zh) 基于请求的服务器健康建模
Köksal et al. Obstacles in data distribution service middleware: a systematic review
CN104272280A (zh) 服务器装置、系统及其控制方法
CN104322012A (zh) 平台独立的管理控制器
EP3386151B1 (en) System of actions for iot devices
JP5268589B2 (ja) 情報処理装置及び情報処理装置の運用方法
CN104951855A (zh) 用于促进对资源的管理的装置和方法
CA2504170C (en) Clustering system and method having interconnect
Scholtz et al. An internet of things (iot) model for optimising downtime management: a smart lighting case study

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
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150427

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150427

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.