当前位置: 首页 > 专利查询>微软公司专利>正文

数据中心编程模型制造技术

技术编号:7146860 阅读:203 留言:0更新日期:2012-04-11 18:40
一种示例性方法包括在数据中心处托管服务,该服务依赖于根据编程模型来开发的至少一个软件组件,并且该数据中心包括抽象该数据中心的资源的相应的编程模型抽象层;接收对该服务的请求;以及响应于该请求,将数据中心的至少某些资源分配给该服务来允许履行该请求,其中该编程模型抽象层部分地基于对至少一个软件组件中的资源类的引用来执行分配,可以修改该资源类来解决数据中心的一个或多个资源的改变。还描述了各种其他设备、系统和方法。

【技术实现步骤摘要】
【国外来华专利技术】数据中心编程模型背景大规模数据中心是相对较新的人类产物,而其组织和结构随着其提供的商业机会 的增加而快速地进化。典型的现代数据中心是运行标准软件包集合的硬件群集的有组织的 集合,诸如由高速联网、路由器和防火墙互连的web服务器数据库服务器等等。组织这些机 器、优化它们的配置、调试它们配置中的差错以及在构成机器上安装和卸载软件的任务在 很大程度上留给了操作人员。数据中心所支持的web服务(例如,作为服务的软件“Mas”)也正在快速地进化 (例如,公司可能首先提供搜索服务,随后提供电子邮件服务,然后提供地图服务等等)。这 些服务依赖于被分发到一个或多个数据中心且由一个或多个数据中心托管的应用。服务运 营者和数据中心运营者通常加入对具体硬件资源(例如,处理器的数量、盘空间、存储器、 带宽等等)的协议。典型的安排按照提供服务的应用“存活”在专用服务器上的方式来将 特定数量的服务器和盘空间贡献给服务。当条件改变时,这种类型的安排招致数据中心和 服务运营者的大量管理开销。例如,数据中心运营者可以升级影响服务的应用的执行的各 种硬件组件。在该示例中,硬件改变可以生成迫使服务运营者修订或重新开发其应用来解 决这些改变从而向服务的最终用户确保可接受的服务水平的连锁效应。本文描述了关于可以便于应用开发、托管和执行的体系结构和编程模型的各种示 例性技术。概述一种示例性方法包括在数据中心处托管服务,该服务依赖于根据编程模型而开发 的至少一个软件组件,并且该数据中心包括抽象该数据中心的资源的相应的编程模型抽象 层;接收对该服务的请求;以及响应于该请求,将数据中心的至少某些资源分配给该服务 来允许履行该请求,其中该编程模型抽象层至少部分地基于对至少一个软件组件中的资源 类的引用来执行分配,可以修改该资源类来解决数据中心的一个或多个资源的改变。还描 述了各种其他设备、系统和方法。附图描述参考以下附图描述非限制性和非穷尽的示例附图说明图1是应用开发、部署和托管的常规方法以及包括编程模型和用于抽象数据中心 的资源的相应的抽象层的示例性方法的框图;图2是编程模型以及用于抽象数据中心的资源的相应的抽象层的示例性体系结 构的框图;图3是示例性编程模型抽象层和实际的物理资源以及表示数据中心内的虚拟资 源的虚拟化层的框图;图4是用于部分地基于例如在接收请求时资源的可用性来分配资源以履行对服 务的请求的示例性技术的框图;图5是包括多个服务、服务级协定和事件跟踪的示例性方案的框图;图6是应用代码和引用资源类和事件跟踪的编程模型抽象层的近似逻辑的表示的框图;图7是其中编程模型抽象层可以例如部分地基于应用中的语句或引用来分发组 件和/或提供组件的并行执行的示例性方案的框图;以及图8是示例性计算设备的框图。详细描述示例性编程模型允许开发者开发以数据中心的编程模型抽象层为目标的应用 (例如,Web服务的应用)。该编程模型抽象层可以使用数据中心资源来监督应用的执行。 因此,开发者可以在不必知道关于数据中心的服务器、存储设备等某些具体细节的情况下 开发要由数据中心托管的应用。如此处所描述的,示例性编程模型和相关联的抽象层抽象数据中心资源,从而将 应用开发者与数据中心资源及其操作、维护等各方面隔离。该系统还可便于服务和数据中 心运营者之间的协商、增强服务的质量并降低成本。图1示出用于托管服务的常规方法101和示例性方法201。这些方法中的每一个 参考应用开发阶段103、应用部署阶段105、应用托管阶段107和应用使用阶段109来描述。对于常规方法101,在开发阶段103,开发者根据编程模型110来选择和开发应用 120。如图所示,编程模型110包括可被依赖来执行所发开的应用120中的特定功能的各个 类115。类115可以将操作计算机140的操作系统(OS) 130作为目标。作为替换,类115可 以将运行时引擎或虚拟机作为目标,该运行时引擎或虚拟机可以是可存在于应用120和OS 130之间的软件层。在部署阶段105,服务运营者将所开发的应用120部署到数据中心150。如图所示, 数据中心150包括各资源152-1,152-2,. . .,152_n。在部署阶段105期间,数据中心运营 者通常将应用120分配给具体资源。如所指示的,在托管阶段107,专用资源152-2托管应 用 120。一旦被托管,在使用阶段109,用户可以经由用户计算机160来请求使用应用(即, 服务)。在数据中心150接收到请求之后,该请求通过在专用资源152-2上执行应用120来 两足。如“托管成本”框所指示的,在常规方法101中,服务运营者对为该服务独占地保 留的资源152-2的使用记账。在常规方法101中,如果数据中心运营者执行影响资源152-2的硬件升级,则服务 运营者可以感受到这一改变的影响。例如,如果数据中心运营者升级服务器硬件和/或软 件,则应用120可能无法正确地执行或尽可能高效地执行。在这种情形中,数据中心运营者 可能无法直接通知服务运营者提供给最终用户的服务中的故障或延迟。相反,服务运营者 可能接收到来自不满的最终用户的投诉。进而,服务运营者可能向数据中心运营者投诉并 从而对关系施加压力,甚至要求托管成本的重新协商或主张违反合同的判断。虽然服务运 营者和数据中心运营者之间的服务级协定可以解决由于升级而导致的服务中断,但最终双 方的目标是提供可接受的服务。相反,示例性方法201依赖于将各种角色和责任转移给数据中心运营者且对服务 提供者施加附随义务的示例性编程模型210和相关联的编程模型抽象层255。如图1所示, 在开发阶段103,开发者使用示例性编程模型210来开发示例性应用220,而在部署、托管和使用阶段105、107和109,示例性数据中心250依赖于编程模型抽象层255来管理应用220 的资源。在示例性方法201中,编程模型210包括可被适当地放在应用220的应用代码中 的类215。类215包括编程模型抽象层255的资源管理专用的各个类。例如,类215可以包 括限制每单位时间的成本的成本类,设置每一请求的CPU功率的最小量的CPU类,设置每一 请求的RAM的最小量的存储器类,等等。因此,编程模型210可以包括在每一请求的基础上 设置某些要求的类215之中的一个或多个类。因为请求的数量可以改变或可以是未知的, 所以这种方法允许服务运营者和数据中心运营者在协商时具有某种灵活性,即,这种方法 可以减轻将资源专用于服务运营者的需求。如此处所描述的,可以将专用于数据中心250中的应用220的管理的类集中(例 如,表现为特定代码部分)在应用220的代码中或分布在整个应用220的代码中。此外,可 以一次(例如,在抽象层255的初始评估期间)或多次(例如,周期性地或只要数据中心 250中的条件发生改变时)依赖这些类。例如,应用220的一部分代码可以要求之后是引用 一组类215中的资源类的语句的具体功能,该资源类例如在给定典型的用户请求的情况下 为该功能指定合适的存储器。在部署阶段105,在接收到应用220之后,编程模型抽象层255可以执行资源类的 所有语句来确定或估计响应于每一用户请求所需的资源要求和资源特性。这种分析还可以 帮助数据中心运营者确定托管应用220的成本,如本文档来自技高网...

【技术保护点】
1.一种方法,包括:在数据中心处托管服务,所述服务依赖于根据编程模型而开发的至少一个软件组件,并且所述数据中心包括经由硬件和软件实现的、抽象所述数据中心的资源的相应的编程模型抽象层;经由网络接收对在所述数据中心处托管的所述服务的请求;以及响应于接收到所述请求,将所述数据中心的至少某些资源分配给所述服务来允许履行所述请求,其中所述编程模型抽象层部分地基于对所述至少一个软件组件中的资源类的引用来执行所述分配,可以修改所述资源类来解决所述数据中心的一个或多个资源的改变。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:B·J·史密斯
申请(专利权)人:微软公司
类型:发明
国别省市:US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1