用于跨数据中心的资源定位和迁移的技术的制作方法

文档序号:6594777阅读:150来源:国知局
专利名称:用于跨数据中心的资源定位和迁移的技术的制作方法
用于跨数据中心的资源定位和迁移的技术背景大规模数据中心是相对新的人类产物,且随着它们所提供的商业机会已经扩展, 它们的组织和结构已经快速进化。典型的现代数据中心是由高速网络、路由器和防火墙互 连的运行诸如web服务器、数据库服务器等标准软件包的集合的硬件群集的有组织集合。 典型的数据中心响应于各请求而操作,其中各请求被路由到数据中心中的诸如文件、模块 等资源。这些资源中的一些可以是可迁移,即,它们可以经由网络从一个数据中心迁移到另 一个。受数据中心支持的Web服务(例如,作为服务“SaaS”的软件)也在快速进化(例 如,一公司可以首先提供搜索服务,且接着提供电子邮件服务,且在随后提供地图服务等 等)。当服务达到某种大小时,往往做出地理主存(geo-host)该服务的判决,即,将在多个 地理上迥然不同的数据中心处主控该服务。进一步,随着新的数据中心上线,服务运营者 可以决定将其服务扩展到一个或多个新的数据中心,同时维持或放弃对在其他数据中心处 的该服务进行主存。关于成本和性能(即,价值)的竞争也可以是定位服务以及相关联资 源的因素。给定此环境,大的地理主存服务倾向于存在于次最优状态,在次最优状态中,许 多用户以及他们所请求的资源没有地理学对应或者有很少的地理学对应性。例如,在加利 福尼亚州旧金山的用户可以使得她的电子邮件服务的邮箱被主存在弗吉尼亚州蓝山(Blue Ridge)。当时这样的场景被放置在上下文中时,可以得出结论,成千上万的用户可以地理上 远离他们的资源,这可以极大地缩减用户体验并且增加服务的操作成本。在此描述的各种示例性技术涉及可以判决是否将资源从一个数据中心迁移到另 一数据中心的技术,这样的迁移又可以增强“云”(例如,因特网和相关联数据中心)的用户 体验和性能。概述示例性系统包括前端组件,其用于接收对数据中心中的资源的请求且被配置成将 每一请求与唯一请求信息关联起来、为每一请求定位一个或多个资源、以及在日志文件中 存储该请求信息和关于一个或多个资源的位置的信息;一个或多个分布式计算和存储组 件,其用于获取日志文件信息且被配置成分析日志信息,以便判决与一个或多个请求相关 联的一个或多个资源是否应该被迁移到不同的地理位置处的数据中心;以及定位服务组 件,其用于接收由一个或多个分布式计算和存储组件做出的判决且被配置成在判决引起一 个或多个资源被迁移到不同的地理位置处的数据中心时告知前端组件,以便由此允许前端 组件将对一个或多个所迁移的资源的未来的请求重定向到该不同的位置处的数据中心。还 描述各种其他设备、系统和方法。


参考下列各图描述非限制性的且非详尽的示例图1是可以判决一个或多个可迁移资源是否应该被迁移到另一数据中心的示例 性数据中心的框图2是从客户端到数据中心中的数据的请求流的框图,其中该请求流基于发出请 求的客户端设备的各方面而不同;图3是用于判决是否将图2的用户的资源(例如,邮箱)迁移到不同的数据中心 的示例性方法的框图;图4是至少部分基于用户的地理位置(例如,作为近似,根据IP地址)决定是否 为多个用户迁移资源的示例性方法的框图;图5是用于判决是否在数据中心之间迁移资源的示例性优化技术的框图;图6是其中可以做出将组资源(group resource)从一个数据中心迁移到另一个 的判决的示例性场景的框图;图7是其中可以做出将由多个应用程序使用的资源从一个数据中心迁移到另一 数据中心的决定的示例性场景的框图;图8是用于控制被配置成做出迁移判决的各组件的示例性控制模块或控制器的 框图;以及图9是示例性计算设备的框图。详细描述在此描述的各种示例性方法、设备、系统等等涉及基于响应于对远程用户数据的 用户请求所生成的日志信息来跨地理上迥然不同的数据存储定位和迁移远程用户数据。将 远程用户数据从一个数据存储迁移到在另一地理位置的另一数据存储可以增加性能和可 用性。这样的迁移可以减少访问时间和增强用户体验。图1示出带有暴露给负载平衡器组件105处的公共接口的服务器群集(例如,服 务器112-1、112-2和112-3)的示例性数据中心100的逻辑视图。如在此所描述,系统100 包括允许定位数据并将数据迁移到在不同的地理位置处的另一数据中心的各种组件。各种 示例性技术识别地理布局和等待时间之间存在的关系,其中资源的请求者和资源之间的地 理距离越大,等待时间就越长(例如,由于网络缆线的长度、路由器跳跃的次数等等)。然 而,各种示例性技术还可以识别在判决是否迁移资源时可以计及其他因素。例如,如果数据 中心是接近的,然而流量被阻塞(例如,由于用户的数量和带宽限制),那么,地理接近性可 能不提供最小等待时间。在数据中心100中,负载平衡器组件105和前端组件120允许对服务器112_1、 112-2和112-3的外部访问,这些服务器可以由正在提交请求或从数据中心100检索请求 结果的应用程序服务器或用户访问。例如,考虑请求101是由访问被存储在数据中心100 的电子邮件文件夹的用户或者从先前提交给数据中心100的批处理作业检索结果的用户 生成的。尽管负载平衡器105和前端组件120被示出为分离的组件,但这些组件可以被聚 集在一个或多个机器(例如,计算机、网络设备等等)中。进一步,尽管图1的示例示出三 个服务器,但在实践中,数据中心中的服务器的数量通常是更大的数量级;因此,数据中心 100可以具有100个服务器或更多个服务器。在数据中心100中,所谓的“中间件”可以被安装在负载平衡器组件105和/或前 端组件120上,以提供用于资源管理、作业调度和节点状态监视等等的工具。进一步,群集 中的每一服务器112-1、112-2和112-3可以访问被存储在相关联数据中心存储设备中(例 如,在公共文件系统下)的信息,且可以对传入和/或检索到的信息进行操作(例如,数字捣弄(number crunching)、渲染、编译、文件处理等等)。在图1的示例中,尽管未示出各数 据存储,但服务器112-1、112-2和112-3中的每一个都被配置成访问数据存储(例如,经由 数据中心网络基础设施)。参见图1的时间线和相关联箭头,负载平衡器组件105可以接收请求101( "K") 并将请求ID指派给请求101 ( “B”)。请求101进一步包括源信息,例如可以用来标识请求 101的源的IP地址。然后,负载平衡器组件105将请求101及其请求ID以及源信息发送给 前端组件120。前端组件120包括关于数据中心100中的资源(例如,计算资源、数据等等) 的位置的信息,且可以将请求101定向到这样资源(“C”)。例如,如所示出的,请求101被 分成子请求Rl和R2,其中Rl被定向到服务器112-1而请求R2被定向到服务器112-3。前 端组件120在日志124中存储将此定向信息以及请求ID和源信息。进一步,服务器112-1 具有相关联日志114-1,而服务器112-3具有相关联日志114-3。日志114-1和114-3连同 至少的请求ID分别存储关于子请求Rl和R2的信息。因此,在系统100中,请求101的请 求ID可以被用来标识与请求101相关联的所有日志信息。系统100包括一个或多个分布式计算存储(DCS)组件130-1和130_2。在图1的 示例中,DCS组件130-1和130-2可以彼此通信,如由连接线所指示的,且可以与各种日志 (例如,124,114-1和114-2)通信。因此,DCS组件130-1和130-2可以收集关于诸如请求 101等请求的日志信息(“D”)。与分析过程140相关联的环形箭头分析所收集的日志信息(“E”)。分析140可 以依赖于模型、优化技术以及一种或多种其他类型的信息来关于数据中心100中的资源的 定位和迁移做出判决。可以由DCS组件以分布式方式执行分析140,这最终生成可以被传达 给定位服务组件150的判决,例如,用与请求101(或其他请求)相关联的资源的新的经优 化位置信息来更新定位服务150( “F”)。定位服务150又可以任选地调用对数据中心的资 源到另一数据中心的迁移。取决于其他数据中心对这样的迁移调用的接受,然后,定位服务 150可以执行将数据、对象、代码等等的一个或多个片段(piece)迁移到其他数据中心的迁 移过程。如所提到的,这样的过程可以帮助增加数据中心性能并减少对所迁移的资源的访 问时间,并且增强做出涉及所迁移的资源或多个资源的请求的一个或多个用户的体验。迁移或定位判决可以考虑各种因素中的任何因素。例如,各因素诸如在用户与一 个或多个数据中心之间的等待时间、一个或多个数据中心中的可用容量(例如,可用CPU、 可用存储器、可用盘存储空间、数据中心网络内的可用带宽、数据中心与一个或多个外部位 置之间的可用带宽)、跨数据中心外部的多个实体(例如,数据中心容纳的应用程序)共享 的状态、商业因素、法律约束(例如,加拿大的银行数据必须存储在加拿大),等等。而且,用 于硬状态的迁移判决可以不同于用于软状态的迁移判决。例如,对于硬状态,仅硬状态的最 频繁使用的部分可以被迁移,或者它可以被复制而不是被移动,或者仅主复制品可以被移 动。因此,关于何时在各数据中心之间迁移状态的片段以及迁往何处的判决可以取决于多 个因素。一般地,判决可以取决于可灵活且可测试地获得效率的因素(例如,更好的配置), 同时遵守不应违反的不灵活且不可测试的约束。如下面参照图3和图5更详细地解释的,相对于可迁移资源,数据中心可以被认为 处于“配置”(例如,迁移前的配置)中,其中一个或多个迁移(例如,进和/或出)引起数 据中心达成不同的配置(例如,迁移后的配置)。
如在此所描述,示例性系统可以包括前端组件(例如,前端组件120),其用于接收 对数据中心中的资源的请求且被配置成将每一请求与标识信息关联起来、为每一请求定位 一个或多个资源并在日志文件中存储标识信息以及关于一个或多个资源的位置的信息;一 个或多个分布式计算存储组件(例如,DCS组件130-1、130-2),其用于获取日志文件信息且 被配置成分析日志信息,以便判决与一个或多个请求相关联的一个或多个资源是否应该被 迁移到在不同的地理位置的数据中心;以及定位服务组件(例如,定位服务组件150),其用 于接收由一个或多个分布式计算存储组件做出的判决且被配置成在判决引起一个或多个 资源被迁移到在不同的地理位置的数据中心时告知前端组件,以便由此允许前端组件将对 一个或多个被迁移资源的未来的请求重定向到该不同的地理位置的数据中心。如在此所描述,在这样的系统中,一个或多个资源是能够被经由网络(例如,因特 网或其他一个网络或多个网络)从一个数据中心迁移到另一数据中心的可迁移资源。在这 样的系统中,日志信息可以包括地理上定位请求的发出者的IP地址和/或地理上定位对至 少一个公共资源的请求的发出者的IP地址。取决于资源的类型和请求的方式(例如,标 识过程、验证过程等等),其他类型的信息可用于在地理上定位请求的发出者。如下面更详 细地描述,一个或多个分布式计算和存储组件可以关于允许帮助避免局部最小值配置(例 如,以便寻求全局最小值)的迁移判决的模型分析日志信息。尽管各种示例描述特定类型 的日志信息,但迁移判决可以全部地或部分地基于各种信息中的任何信息(例如,用户请 求的频率、服务器可用性、服务器能力、网络路径质量、应用程序性能要求等等)。如所提到的,判决过程可以依赖于各种信息中的任何信息。在各种示例中,可以从 日志文件或多个日志文件(例如,日志信息)获取这样的信息。更一般地,判决过程可以依 赖于其中通信本身是信息或其中通信包括信息的通信。通信可以是与配置以及通过迁移 一个或多个资源更好的配置是否成为可能相关或有关的间接通信、直接通信或其他类型的 通信。例如,判决过程可以依赖于与优化系统的组件的直接实时通信。通信是仅仅充当信 号还是实际上提供信息“有效载荷”可以取决于优化算法的特异性,尤其取决于要达到的目 标(例如,优化数据中心、优化用户体验、优化当前工作量问题、优化未来的工作量问题等相对于标识信息,图1的示例提及“请求ID”,请求ID可以由数据中心的组件来指 派。然而,如在此所描述,替代地或另外,可以使用一种或多种其他类型的信息。例如,请求 者的时间戳和IP地址可能足以用于优化数据中心配置或多个数据中心配置的目的。一般 地,出于数据收集和分析的目的,可以关联各种信息片段中的任何信息片段以充分地标识 请求。出于判决是否迁移资源的目的,在此描述的各种示例性技术可以依赖于请求的唯一 标识符(例如,唯一请求ID)和/或依赖于足以标识请求的信息。还存在其中可以收集和 分析来自不同的地理位置的数据访问的模式以便判决是否将一个或多个资源从一个数据 中心迁移到另一个(或其他)的更一般的场景。如下面所描述,资源迁移改变一个或多个 数据中心的配置。在一些实例中,资源的地理主存可以是最优的,而在其他实例中,由特定 位置中的单个数据中心来主存可以是最优的。图2示出从客户端到目标数据200的请求流的示图。在此示例中,用户A具有台 式计算机210和移动计算机220,其中计算机210和计算机220两者均执行电子邮件应用程 序215。电子邮件应用程序215可以被认为是其中电子邮件被存储在远离用户计算机210和220的数据中心中的服务。如所示出的,在当前的状态中,用户A的邮箱217被存储在位 于旧金山的数据中心230。由于用户A生活在邻近社区,帕洛阿尔托(Palo Alto),因此当 用户A请求位于邮箱217的电子邮件时,请求被经由因特网路由到旧金山数据中心230。示 例性系统可以假设用户A的台式计算机210和相关联IP地址到旧金山数据中心230的接 近邻近性向用户A提供好的用户体验(S卩,在台式计算机210的应用程序215请求电子邮 件和接收电子邮件之间的很少的等待时间)。然而,在图2的示例中,当用户A使用她的移动计算机220来访问她的邮箱时,对 用户A来说,出现了次最优情况(例如,配置)。例如,由于公司策略,建立了将经由位于西 雅图(kattle)的公司总部205路由对电子邮件的所有请求的VPN网络(“A”)。在西雅 图HQ(总部)205处的系统又将该请求路由到在雷蒙德的邻近数据中心“B”)。这种 方法是有道理的,因为位于西雅图HQ 205的人们想要对电子邮件进行的低等待时间访问。 然而,当用户A的请求到达雷蒙德数据中心MO的前端组件M2时,它确定所请求的资源 (即,用户A的邮箱217)位于旧金山数据中心230。从而,雷蒙德数据中心240负担此确定 以及将请求发送给旧金山数据中心230的任务(“C”)。如果在某段时间期间用户A主要 使用她的移动计算机来访问她的邮箱,则使用她的移动计算机来访问她的邮箱的性能可以 被视为比使用她的台式计算机来访问她的邮箱更为重要。图3示出示例性方法300以及与图2的旧金山数据中心配置和雷蒙德数据中心配 置相关联的信息(例如,所生成的日志信息,所信令的信息或其他所获得的信息)。如所示 出的,在旧金山数据中心230和雷蒙德数据中心240处的信息包括日时(time of day)、请 求的数量和对其中用户A的邮箱217位于旧金山数据中心230的移动前的配置301的每一 请求的IP地址。这样的信息可以是由数据中心响应于请求而生成的典型日志信息。如在 此所描述,日志可以包括各种信息中的任何信息(例如,请求ID、数据的大小、对象的大小、 请求的时间、在请求的发送时间和接收时间之间的等待时间、始发IP地址、(诸)中间IP地 址、应用程序/服务类型等等)。一般地,日志可以包括在数据中心处生成的信息、对数据中 心信令的信息或以另外方式被数据中心获取的信息。日志可以是常规数据中心日志或包括 可以辅助判决分析的信息的定制日志。根据方法300,在获取阶段312中,DCS组件330_1从旧金山数据中心230获取信 息,且DCS组件330-2从雷蒙德数据中心240获取信息。在此示例以及其他示例中,获取可 以是经由其中日志文件被推(push)到一个或多个DCS组件中(例如,周期性地、响应于事 件、在填充缓冲器时等等)的推模型(push model)。DCS组件330-1和330-2协调动作,且 在分析阶段314中根据分析模块340分析所获取的信息。如所指出的,分析阶段314做出 将邮箱217从旧金山数据中心移动到雷蒙德数据中心MO的判决。在迁移阶段316中,定 位服务350根据分析阶段314的判决迁移邮箱217,以便生成移动后的配置303。在迁移之后,旧金山数据中心230上的总体负担得以减少。进一步,用户A在从她 的移动计算机220访问她的邮箱217时应该体验到等待时间的减少。换句话说,出于减少 在数据中心230处的负载和/或增强用户A在从她的移动计算机220访问她的邮箱217时 的用户体验的目标,移动后的配置303比移动前的配置更为最优。在图2和图3的示例中,分析模块340可以基于各种因素中的任何因素做出迁移 判决,这些因素例如请求的IP地址、多个负担(即,单个请求使两个数据中心负重担),请求的日时、请求的数量等等。在此示例中,这些因素中的任何因素单独可以导致迁移用户A的 邮箱217的判决。当组合这样的因素时,那么,移动到更高效的配置的置信度增加了。如在 此所描述的,迁移判决可以依赖于多个因素来增加判决置信度,或者换句话说,迁移判决的 概率将产生更为最优的配置。尽管图2和图3的示例提及资源被请求的次数以及与每一请求相关联的位置, 但其他信息可用于做出判决。例如,主存允许广告的应用程序的数据中心常常展示各种 统计数据以便帮助广告客户定标(target)广告。这样的统计数据——有时被称为目标 (target),可以包括年龄、代理、客户端、连接速度、性别、职业、州/省、时区、国家、区域和 用户语 曰ο主存称为HOTMAIL (华盛顿州雷蒙德的微软公司)的电子邮件服务的特定数据 中心为多于200个国家和地区的用户提供电子邮件服务。WINDOWS LIVE HOTMAIL 服 务提供消费者和广告功能部件,以便到达美国的超过两千万唯一用户的电子邮件受众(具 有数十亿次页面浏览量的受众)。如在此所描述,迁移和广告可以以协同方式操作,例如,通 过针对相同的底层信息做出判决。一种示例性方法可以基于各种统计数据中的任何统计数 据为可迁移资源做出迁移判决和广告判决。图4示出其中示例性方法400可以做出引起数据中心迁移多个用户的数据的多个 迁移判决的场景。例如,这样的方法可以被具体地应用到诸如电子邮件服务等特定分布式 服务中,在分布式服务中,现有配置跨多个地理上迥然不同的数据中心存储用户数据。图4的示例示出电子邮件服务,且数据存储在加利福尼亚州旧金山的数据中心 430、华盛顿州塔奇拉(Tukwila)的数据中心440和弗吉尼亚州蓝山的数据中心450。用户 A具有带有从塔奇拉IP地址发送请求的电子邮件应用程序415的计算机410,且用户B具 有带有从蓝山IP地址发送请求的电子邮件应用程序425的计算机420。由于各种原因中 的任何原因,当前的状态将用户A的邮箱417和用户B的邮箱427定位在旧金山数据中心 430。这样的情况可以归因于用户A和用户B的先前住处(例如,在旧金山的大学时签约了 电子邮件服务)。根据方法400,获取框472获取与分别来自用户A和用户B的对邮箱417和邮箱 427的请求相关联的数据(例如,信息)。分析框474分析所获取的数据。判决框475判决 对于一个邮箱或两个邮箱是否应该发生迁移。分析框474可以考虑与用户A和用户B的邮 箱417和427相关联的因素。例如,如果电子邮件账户与公司雇主的雇员账户有关且一定 百分比(数量、大小等等)的电子邮件起源于具有大量雇员的公司园区(例如,公司总部), 那么,分析框474可以考虑到此事实并判决不迁移这样的邮箱。在另一示例中,不考虑雇主 或关联,如果用户A和用户B具有一定百分比的交叉邮件(例如,彼此通邮件),那么,一种 算法可以在判决不迁移邮箱417和邮箱427两者时依赖于此事实。如所示出的,如果判决框475判决迁移一个邮箱或两个邮箱,那么,方法400进入 调用邮箱迁移的迁移框476。实际的迁移可以自动地发生,或者可以需要管理员(例如,数 据中心管理员或多个数据中心管理员)监督或接受。图5示出用于优化一个或多个数据中心配置的示例性分析技术500。云示出用于 包括用于各种用户的可迁移资源的数据中心510-1、510-2、…、510-n的配置A。如所提到 的,可迁移资源可以是可以从一个数据中心迁移到另一数据中心的数据、对象、代码等等。
9配置A是“高能量”配置,因为地理上分布的用户不接近他们在地理上分布的数据中心中请 求的资源。可以以各种方式来优化配置A。例如,当配置A中的用户做出对地理主存的服 务(即,被主存在多个地理上迥然不同的数据中心处)的请求时,那么,可以将与每一用户 和服务相关联的资源迁移到地理上接近的数据中心且由此可能取得较低能量配置。在图5的示例中,示例性技术500依赖于模拟退火(SA)的各方面。退火是常常 应用于金属的物理过程,该物理过程“重构”分子(例如,键、相、位置)以便引起延展性、 减轻内部应力、精化结构以及改善冷加工性质。通过模拟此物理过程,SA算法的每次迭代 用随机的“附近”配置来代替当前的配置,该随机的“附近”配置是用取决于对应函数值之 间的差异并取决于在该过程期间逐渐下降的全局参数“T”(被称为温度)的概率来选择 的。该依存性使得当T是大的时当前的配置几乎随机地改变,但当T趋向0时逐渐“向下 (downhill)”(S卩,到较低能量的配置)。对“向上(uphill)”移动(即,到更高能量的配 置)的允许帮助避免局部最小值。一种优化技术可以包括类似于布朗运动的各方面,其中平均动能与受控的或 调度的“温度”参数成正比。在布朗运动技术中,可以类似地计及“介质粘度(medium viscosity)”和“粒子大小”。例如,介质粘度可以由环绕数据中心的网络带宽来建模,其中 高度网络化的高流量区域中的数据中心具有较高的粘度,这要求更高的“资源”动能以供资 源迁移到或离开该数据中心。进一步,对于移动到数据中心,粘度可以较少,且对于移动离 开数据中心,粘度可以较高,或反之亦然。相对于粒子大小,诸如文件、对象、文件夹等等的 大小等因素可以被用来判断粒子大小参数。如在此所描述,粘度和大小参数可以类似于用 于粒子移动性(particle mobility) (B)的布朗运动参数,粒子移动性与介质的粘度和粒子 的大小成反比(即,较高的粘度和较大的大小使得粒子较少移动)。其他类比可以被吸引到 扩散,其中分析模块计及资源“密度”和扩散系数,这两者可以因资源、数据中心、地理学等 等的类型而不同。前述的技术都是温度依存的,且允许偶尔的“坏”迁移(不是局部最优的 迁移),以便避免局部最小值。如在此所描述,无论是否是温度依存的,一种示例性方法可以 允许次最优迁移判决以便避免局部最小值状态,次最优迁移判决又促进向最优全局最小值 状态迁移。再次参见图5的示例性技术500,定义框510定义搜索空间,而另一定义框520定 义能量函数(E)。在温度类型的方法中,优化框530通过改变状态并确定能量来执行优化, 直到温度T达到某个值(例如,T = O)。尽管此示例提到T趋向0且由此推断优化结束,但 在实践中,可以重复该过程且可以循环温度(例如,周期性地或连续地)。换句话说,优化 可以按需发生、响应于某个事件发生、周期性地发生、连续地发生等等。另外,可以预期系统 (即,“云”)由于服务、新用户等等的改变而具有自然扰动。因此,最优状态很可能仅在某个 时间段保持最优。图6示出其中用户A和用户B做出依赖于存储在数据中心630中的组对象(group object)或多个组对象617的请求的示例性场景600。在图6的示例中,用户A经由执行应 用程序615的计算机610做出对(诸)组对象617的请求,且用户B经由执行应用程序625 的计算机做出对(诸)组对象617的请求。在此示例中,数据中心640和数据中心650可 用来主存(诸)组对象617。如在此所描述,组对象可以是家庭邮箱(在家庭的所有成员之 间共享的邮箱)、组邮箱、视频或照片(例如,Y0UTUBE视频)等等。如在此所描述,诸如邮箱等资源可以被认为是用于一个或多个用户的通信信息。对于资源,通信信息通常包括可 以经由网络(例如,经由电子邮件应用程序、即时消息收发应用程序、社交网络网站等等) 来发送、接收、张贴或访问的文本、照片、音频或视频中的一种或多种。如示例性方法300所指出的,在获取阶段312中,DCS组件130_1至130_n获取诸 如用户A和用户B的日志数据之类的数据,以及任选地获取诸如其他用户的日志数据之类 的数据(其他用户也可以做出对(诸)组对象617的请求)。在分析阶段314中,分析模 块140 (例如,结合DCS组件以分布方式操作)分析所获取的数据,任选地通过诸如关于数 据中心的地理信息、关于数据中心和/或网络基础设施的负载信息等等的其他信息。分析 阶段314做出一个或多个判决,然后,在迁移阶段316中,这些判决可以被定向到定位服务 150。如所提到的,定位服务可以向各种数据中心向告知各位置,且还可以请求和执行数据 中心之间的迁移。图7示出其中用户A做出与依赖于被存储在数据中心730中的对象或多个对象 717的应用程序715 (App 1 (应用程序1))和另一应用程序716 (App 2(应用程序2))相关 联的请求的示例性场景700;注意,应用程序716 (App 2)还依赖于被存储在不同的数据中 心740中的对象或多个对象718。另外,数据中心740存储(诸)对象718的一个备份副本 或多个备份副本(例如,一个复制品或多个复制品)719。如示例性方法300所指出的,在获取阶段312中,DCS组件130-1至130_n获取诸 如与应用程序715(App 1)和应用程序716 (App 2)相关联的用户A的日志数据之类的数 据。在分析阶段314中,分析模块140(例如,结合各DCS组件以分布式方式操作)分析所 获取的数据,任选地通过诸如关于数据中心的地理信息、关于数据中心和/或网络基础设 施的负载信息等等的其他信息。分析阶段314做出一个或多个判决,然后,在迁移阶段316 中,这些判决可以被定向到定位服务150。如所提到的,定位服务可以向各个数据中心告知 数据对象的位置,且还可以请求和执行数据对象在数据中心之间的迁移。如在此所描述,一示例性方法(例如,至少部分地由计算设备实现)可以包括从数 据中心的前端组件和从该数据中心中的一个或多个服务器获取日志信息,其中日志信息包 括与对该数据中心中的资源的请求相关联的信息(例如,请求ID等等);关于一模型分析 该日志信息,以便确定该数据中心中的该资源是否应该被迁移到在不同的地理位置的数据 中心;并且,如果该分析判决该资源应该被迁移,那么,调用该资源至不同的地理位置处的 数据中心的迁移。这样的方法可以进一步包括将该资源迁移到在不同的地理位置的数据中 心。可以至少部分地以包括用于执行各种功能的计算机可执行指令的一个或多个计算机可 读介质的形式来实现这样的方法。如所提到的,模型可以允许帮助避免局部最小值配置(参见例如模拟退火和温 度)的迁移判决。在前述的示例性方法中,日志信息可以包括与请求的发出者相关联的IP 地址、与发出请求或由数据中心接收请求相关联的时间和/或与发出请求相关联的时间以 及与由数据中心接收请求相关联的时间。如所提到的,日志信息可以包括对数据中心中的 组资源(被多个用户或客户端访问的资源)的多个请求的日志信息,该多个请求由多个发 出者发出。另外或替代地,日志信息可以包括关于对数据中心中的资源的多个请求的日志 信息,该多个请求与公共IP地址相关联。日志信息可以包括可以允许标识用户、定位用户 或以其他方式将用户与一个或多个资源关联起来的各种其他信息中的任何信息。例如,日志信息可以是应用程序专用的信息(例如,用户ID、用户简档、地理位置、电子邮件地址等
等) ο相对于资源,资源可以是与请求的发出者相关联的电子邮件应用程序邮箱、与请求的发出者相关联的文件、组资源等等。在各种示例中,资源可以是诸如被存储在存储器中 的硬状态或软状态之类的持久状态。如所提到的,一般地,资源可以被经由网络从一个数据 中心迁移到另一个。图8示出用于控制一种或多种方法300至300-n的示例性控制模块800,示例性控 制模块800可以对带有多个地理上迥然不同的数据中心的系统(例如,“云”)中的资源做出 迁移判决。如所示出的,模块800包括数据中心信息模块802、地理/IP地址信息模块804、 成本信息模块806、模型信息模块808 (例如,与优化模型有关)、广告客户信息模块810、网 络负载信息模块812、警报模块814以及一个或多个应用程序编程接口 816。数据中心信息模块802可以获取诸如所主存的服务的类型、计算能力、存储容量、 带宽、操作成本等等关于数据中心操作的信息。地理/IP地址模块804可以包括用于将IP 地址与地理位置以及位置之间的网络路由(例如,因特网地图等等)关联起来的表。成本 信息模块806可以计及数据中心的成本以及与一个或多个资源从一个数据中心至另一数 据中心的迁移相关联的成本。模型信息模块808可以允许模型更新以及对参数的改变,这 些参数诸如前述的温度、状态空间、粘度等等参数。广告客户信息模块810可以跟踪广告收 入、广告投放和其他广告相关信息,尤其是在迁移判决可以影响(积极地或消极地)广告机 会的场合。例如,某些迁移判决可以降低将广告分发到用户的成本。网络负载信息模块812 可以耦合到全局流量监视器,以由此尤其关于时间和地理布局计及流量模式。警报模块814 可以被配置成接收来自紧急服务(例如,地震、停电、网络故障等等)的警报并由此影响如 何执行迁移判决。例如,警报可以引起分析的停止和紧急计划的实现。以这样的方式,模型 可以从紧急行动缓冲,紧急行动可以以其他方式污染(taint)模型(例如,影响其参数)。 (诸)API816可以允许数据中心运营者对控制模块800进行调用。这样的调用可以起到更 新数据中心信息802和/或改变一个或多个模型参数的作用。例如,如果特定的数据中心 正经历阻塞,则可以对控制模块作出API调用以改变其粘度参数(例如,使得更容易将资源 迁移离开数据中心或者引起针对此数据中心的所有迁移停止的改变)。此外,如果数据中 心正在对服务执行更新(或已调度升级),则数据中心可以经由(诸)API模块816而使用 API调用来告知控制模块800。如在此描述,示例性控制器包括数据中心信息模块,用于从主存公共服务的资源 的地理上迥然不同的数据中心获取信息;地理和IP地址信息模块,用于将服务请求的IP地 址与地理位置关联起来;以及模型信息模块,用于维持一模型,以便至少部分地基于对所主 存的资源中的一个或多个的服务请求的地理位置来做出公共服务的所主存的资源中的一 个或多个是否应该经由因特网从地理上迥然不同的数据中心中的一个被迁移到另一个的 判决。图9阐释示例性计算设备900,计算设备900可以用来实现各种示例性组件并形成 示例性系统。例如,图1的数据中心100的计算设备可以包括设备900的各种特征。在一种非常基本的配置中,计算设备900通常包括至少一个处理单元902和系统 存储器904。取决于计算设备的确切的配置和类型,系统存储器904可以是易失性的(例如RAM)、非易失性的(例如ROM、闪速存储器等等)或两种的某种组合。系统存储器904通常包 括操作系统905、一个或多个程序模块906且可以包括程序数据907。操作系统905包括基 于组件的框架920,基于组件的框架920支持组件(包括性质和事件)、对象、继承、多态性、 反射(reflection),并提供基于面向对象组件的应用程序编程接口(API),例如由华盛顿 州雷蒙德的微软公司制造的.NET 框架的基于面向对象组件的应用程序编程接口(API)。 设备900具有由虚线908划定的非常基本的配置。再次地,终端可以具有较少组件,但是将 与可以具有这样的基本配置的计算设备交互。计算设备900可以具有附加特征或功能性。例如,计算设备900还可以包括附加数 据存储设备(可移动的和/或不可移动的),诸如例如,磁盘、光学盘或磁带。在图9中,这 样的附加存储由可移动存储909和不可移动存储910来阐释。计算机存储介质可以包括以 用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术 来实现的易失性介质和非易失性介质、可移动介质和不可移动介质。系统存储器904、可移 动存储909和不可移动存储910都是计算机存储介质的示例。计算机存储介质包括但不限 于RAM、R0M、EEPR0M、闪速存储器或其他存储器技术、CD-ROM、数字多用盘(DVD)或其他光存 储、磁带盒、磁带、磁盘存储或其他磁存储设备、或可以用来存储所期望的信息且可以由计 算设备900访问的任何其他介质。任何这样的计算机存储介质可以是设备900的一部分。 计算设备900还可以具有诸如键盘、鼠标、笔、语音输入设备、触摸输入设备等等的(诸)输 入设备912。还可以包括诸如显示器、扬声器、打印机等等的(诸)输出设备914。这些设 备是本领域众所周知的且不需要在这里详细讨论。计算设备900还可以含有允许设备例如通过网络与其他计算设备918通信的通信 连接916。通信连接916是通信介质的一个示例。通信介质通常可以通过计算机可读指令、 数据结构、程序模块等等来实现,通信可以经由有线(例如,有线网络、直接有线连接等等) 或无线地(例如,声学、RF、红外和其他无线传输)而发生。尽管已经用对结构特征和/或方法论动作来说专用的语言描述了本主题,但应理 解,在所附权利要求中界定的本主题并不必限于以上所描述的具体的特征或动作。相反,以 上所描述的具体的特征和动作是作为实现权利要求的示例形式而公开的。
权利要求
1.一种至少部分地由计算设备实现的方法,所述方法包括从数据中心(100)的前端组件(120)以及从所述数据中心(120)中的一个或多个服务 器(11 获取(47 信息,其中所述信息包括与对所述数据中心中的资源的请求相关联的 fn息;关于一模型分析(474)所述信息,以便确定所述数据中心中的所述资源是否应该被迁 移到在不同的地理位置的数据中心;以及如果所述分析判决所述资源应该被迁移,则调用所述资源至所述不同的地理位置的所 述数据中心的迁移076)。
2.如权利要求1所述的方法,其特征在于,进一步包括将所述资源迁移到在所述不同 的地理位置的所述数据中心。
3.如权利要求1所述的方法,其特征在于,所述模型允许避免局部最小值状态的次最 优迁移判决,所述次最优迁移判决又促进向最优全局最小值状态迁移。
4.如权利要求1所述的方法,其特征在于,所述模型包括类似温度的参数。
5.如权利要求1所述的方法,其特征在于,所述模型包括模拟退火模型。
6.如权利要求1所述的方法,其特征在于,所述信息包括与发出所述请求或由所述数 据中心接收所述请求相关联的时间。
7.如权利要求1所述的方法,其特征在于,所述资源包括与所述请求的发出者相关联 的通信信息。
8.如权利要求1所述的方法,其特征在于,所述资源包括与所述请求的发出者相关联 的文件或其他持久状态。
9.如权利要求1所述的方法,其特征在于,所述资源包括组资源。
10.如权利要求9所述的方法,其特征在于,所述信息包括关于对所述数据中心中的所 述组资源的多个请求的信息,所述多个请求是由多个发出者发出的。
11.如权利要求1所述的方法,其特征在于,所述信息包括关于对所述数据中心中的所 述资源的多个请求的信息,所述多个请求与公共IP地址相关联。
12.—种系统,包括前端组件(120),所述前端组件用于接收对数据中心(100)中的资源的请求且被配 置成将每一请求与标识信息关联起来、为每一请求定位一个或多个资源、以及在日志文件 (124)中存储所述标识信息和关于所述一个或多个资源的所述位置的信息;一个或多个分布式计算和存储组件(130),所述分布式计算和存储组件用于获取日志 文件信息且被配置成分析日志信息以判决与一个或多个请求相关联的一个或多个资源是 否应该被迁移到不同的地理位置处的数据中心;以及定位服务组件(150),所述定位服务组件用于接收由所述一个或多个分布式计算和存 储组件(130)做出的判决且被配置成在判决引起一个或多个资源被迁移到在不同的地理 位置的数据中心时告知所述前端组件(120),以便由此允许所述前端组件将对所述一个或 多个所迁移的资源的未来的请求重定向到所述不同的地理位置处的所述数据中心。
13.如权利要求12所述的系统,其特征在于,所述日志信息包括在地理上定位请求的 发出者的IP地址。
14.如权利要求12所述的系统,其特征在于,所述日志信息包括在地理上定位对至少一个公共资源的请求的发出者的IP地址。
15. 一个控制器,包括数据中心信息模块(802),用于从主存公共服务的资源的地理上迥然不同的数据中心获取信息;地理和IP地址信息模块(804),用于将服务请求的IP地址与地理位置进行关联;以及 模型信息模块(808),用于维护一模型,以便至少部分地基于对所主存的资源中的一个 或多个的服务请求的地理位置关于所述公共服务的所述所主存的资源中的所述一个或多 个是否应该经由因特网从所述地理上迥然不同的数据中心中的一个被迁移到另一个做出 判决。
全文摘要
一个示例性系统包括前端组件、一个或多个分布式计算和存储(DCS)组件、以及定位服务组件。前端组件被配置成接收对数据中心中的资源的请求、将每一请求与标识信息关联起来、为每一请求定位资源、并在日志文件中存储标识信息。DCS组件被配置成获取和分析日志文件信息,以便判决与请求相关联的资源是否应该被迁移到不同的地理位置处的数据中心。定位服务组件被配置成接收由DCS组件做出的判决并向前端组件告知将资源迁移到不同地理位置处的数据中心的判决,由此允许前端组件将对所迁移的资源的未来的请求重定向到该不同地理位置处的数据中心。
文档编号G06F15/16GK102150150SQ200980135951
公开日2011年8月10日 申请日期2009年8月20日 优先权日2008年9月11日
发明者A·沃尔曼, J·D·杜南甘, J·R·汉米尔顿, M·J·马诺斯, M·张, S·阿加瓦尔 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1