CN102571905B - 一种为在线服务管理网络和机器的方法和系统 - Google Patents

一种为在线服务管理网络和机器的方法和系统 Download PDF

Info

Publication number
CN102571905B
CN102571905B CN201110339862.3A CN201110339862A CN102571905B CN 102571905 B CN102571905 B CN 102571905B CN 201110339862 A CN201110339862 A CN 201110339862A CN 102571905 B CN102571905 B CN 102571905B
Authority
CN
China
Prior art keywords
machine
task
manager
request
network
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
CN201110339862.3A
Other languages
English (en)
Other versions
CN102571905A (zh
Inventor
J·M·卡希尔
A·霍普曼
B·马列
Z·罗森菲尔德
M·K·温德尔
E·R·莱尔马
R·P·德奥利维拉
D·P·H·戈尔贝特
D·巴尔-卡斯彼
J·C·詹金斯
J·卢克
M·L·多菲尼
V·戈皮那丹
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 Technology Licensing LLC
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 Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Priority to CN201610127085.9A priority Critical patent/CN105681104B/zh
Publication of CN102571905A publication Critical patent/CN102571905A/zh
Application granted granted Critical
Publication of CN102571905B publication Critical patent/CN102571905B/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
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/0246Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • 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/082Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
    • 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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • 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/0895Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements

Abstract

本发明涉及为在线服务管理网络和机器。一种云管理器帮助为在线服务部署和管理网络。该云管理器系统接收执行与在网络中配置、更新和执行用于供应该在线服务的任务相关的操作的请求。这些资产的管理可以包括:部署机器;更新机器;移除机器;对服务器、虚拟机(VM)执行配置改变;以及执行与管理相关的其他任务。云管理器被配置为通过不能依靠可靠网络的幂等和异步应用编程接口(API)来接收请求。

Description

一种为在线服务管理网络和机器的方法和系统
技术领域
本发明涉及为在线服务管理网络和机器。
背景
基于web的服务一并包括了位于web服务器上的文件和存储在数据库中的数据。例如,存在大量位于不同网络中的服务器,以处理针对某服务的通信量。对于管理员和运营人员而言,管理与服务于大量消费者的内容管理应用相关的进程和过程的部署和运行可能是一个非常时间密集和易出错的过程。
发明内容
提供本发明内容以便以简化形式介绍将在以下的具体实施方式中进一步描述的一些概念。本概述并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
云管理器帮助为诸如在在线内容管理服务之类的在线服务部署和管理网络。云管理器系统是一种中央协调服务,其接收执行与在网络中配置、更新和执行用于供应在线服务的任务相关的操作的请求。例如,可以调用云管理器来管理所述网络中的一个或多个内的资产(例如服务器、场、用户属性等等)。这些资产的管理可以包括:部署机器;更新机器;移除机器;对服务器、虚拟机(VM)执行配置改变;以及执行与管理相关的其他任务。云管理器被配置为即使在该云管理器的升级期间仍然为所附连的网络提供服务。云管理器被配置为通过不能依靠可靠网络的幂等和异步应用编程接口(API)来接收请求。
附图说明
图1示出了用于管理与诸如内容管理服务之类的在线服务相关联的网络的云管理系统;
图2示出了包括管理器和相关联的数据库的云管理器;
图3示出了存储在数据库的行内的示例性作业记录;
图4示出了用于网络的示例性系统,其包括用于在线服务的前端和后端服务器;
图5示出计算机的计算机架构;以及
图6示出了用于中央地管理与在在线服务相关联的网络中的资产的示例性过程。
具体实施方式
现将参考其中相同的标号代表相似的元素的附图来描述各实施例。
一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、组件、数据结构和其它类型的结构。也可使用其它计算机系统配置,包括手持式设备、多处理器系统、基于微处理器或可编程消费电子产品、小型计算机、大型计算机等等。也可使用在其中任务由通过通信网络链接的远程处理设备执行的分布式计算环境。在分布式计算环境中,程序模块可位于本地和远程存储器存储设备两者中。
图1示出了用于管理与在线服务相关联的网络的云管理系统。系统100示出了云管理器105,该云管理器105连接到并且管理可能分布在世界各地的不同网络。每个网络都被配置为为一个或多个承租人(tenant)(例如客户、消费者)提供内容服务。这些网络可以在云服务内和/或内部部署的(on-premises)数据中心内来主控。云管理器105用于部署、配置和管理这些网络。云管理器被配置为通过可容忍间歇性网络故障的幂等的和异步的应用web服务应用编程接口(API)150来接收请求。
如所示那样,云管理器105包括工作管理器110、机器管理器115、应用特定的管理器120、脚本130以及诸如数据存储140(例如数据库)之类的中央储存库。未包括在所示管理器之一内的功能可以驻留在云管理器的某个其他位置处。根据一个实施例,应用管理器120是SharePoint承租人管理器,该SharePoint承租人管理器包括SharePoint特定的逻辑。
工作管理器110管理任务的执行,并且使得能够调度和重试较长时间运行的任务。工作管理器110启动存储在作业队列112中的作业(job)并且跟踪运行中的作业。当已经流逝了预定的时间时,工作管理器110可以自动地取消该任务并且执行一些与该任务相关的进一步处理。根据一个实施例,作业队列112中的任务由工作管理器110通过调用一个或多个脚本130来执行。例如,可以使用诸如微软的之类的脚本语言来对由工作管理器110执行的任务进行编程。每个脚本都可以作为新进程运行。尽管将每个脚本作为新进程来运行可能具有相当高的CPU开销,但是该系统是可伸缩的,并且有助于为每个脚本保证清洁的环境,加上在脚本完成时进行完全的清理。
机器管理器115被配置为管理网络(例如网络1、网络2、网络3)中的物理机。一般而言,机器管理器115理解网络、物理机、虚拟机(VM)、VM映像(VHD)等等。机器管理器不必强绑定到网络内运行的特定服务,而是在“角色”方面持续跟踪网络中的各个组件。例如,可以通过API150请求机器管理器115在网络3上部署类型为“Foo”的具有版本12.34.56.78的VM。响应于对云管理器105的请求,机器管理器115对位于网络3上的合适物理机进行定位,并且根据与VM的角色相关联的VM映像来配置VM。物理机被用类型为Foo的具有版本12.34.56.78的VHD来配置,其中该VHD存储在诸如数据存储140之类的数据存储内。在网络内使用的映像也可以存储在其他位置处,比如用于所述网络中的一个或多个的本地数据共享中。可以运行脚本来执行VHD在物理机上的安装以及用于执行任何部署后的配置。机器管理器115持续跟踪每个网络的机器配置。例如,机器管理器115可以持续跟踪VM的角色(VM的类型)、VM的状态(供应、运行、停止、故障)、版本以及VM是否存在于给定场(farm)中(这隐含了其网络)。
脚本130被配置为存储将要执行以便本地地为云管理器105执行工作以及远程地在所述网络中的一个或多个上执行工作的脚本。脚本130中的一个或多个还可以存储在其他位置处。例如,将要在网络(例如网络1、网络2、网络3)上执行的脚本可以存储在该网络的本地。这些脚本可用于许多不同目的。例如,所述脚本可以用于执行:对所述网络之中的一个或多个中的机器的配置;改变之前配置的机器的设定;添加新的VM;添加新的数据库;将数据从一个机器移动到另一个;移动承租人;改变方案等等。根据一个实施例,这些脚本是微软的脚本。可以使用其他编程实施方式。例如,可以使用经编译的编程语言和/或前期绑定的编程语言来实现该功能。然而,脚本是一种相当精确的用于表达将要执行的许多任务的语言。以诸如C#之类的编程语言对其等价物进行编程常常将需要冗长得多的实施方式。脚本还被后期绑定,这意味着,可以以多个版本的底层代码库为目标,而不必不断地链接到不同的接口DLL。使用PowerShell脚本将允许进程由云管理器105本地地启动,该云管理器105进而启动远程机器(即所附连的网络之一中的物理机)上的进程。还可以使用其他技术来启动远程机器上的进程,比如安全Shell(SSH)等等。
云管理器105所管理的应用特定的信息由应用管理器120来执行。根据一个实施例,应用特定的信息涉及微软因此,应用管理器120被配置为了解SharePoint、承租人、站点集合等等。
每个网络都可以被配置成用于承租人的专用网络和/或服务于一个以上客户的多承租人网络。该网络可以包括改变数目的物理/虚拟机,其中所述物理/虚拟机的配置在部署以后也改变。一般而言,只要未超过联网极限(例如负载平衡器和网络交换机),网络就可以继续增长。例如,网络可以从十个服务器开始,并且之后扩充为一百个或更多服务器。可以给网络内的物理机分配类或类型。例如,这些机器中的一些可以是计算机器(用于web前端和应用服务器),并且其他机器可以是与计算机器相比配备有更多存储的存储机器。根据一实施例,云管理器105用多个版本的映像文件来配置网络内的机器。根据一实施例,场常常具有相同版本的映像文件。
根据一个实施例,在网络内由云管理器105 通过虚拟化所述机器并且管理该网络内独立地行动的“场”来管理软件极限。每个网络都可以包括一个或多个场(例如参见网络1)。根据一个实施例,网络被认为是经网络负载平衡的机器的单个群集,其中所述机器向外部世界展示一个或多个VIP(虚拟IP)并且可以将该通信量路由到该网络内的任何机器。网络中的机器一般而言是紧密耦合的,并且具有最小等待时间(即<1ms的查验(ping)等待时间)。
场是用于对需要紧密绑定关系的应用进行协调的机器的基本编组。例如,内容场可以部署在每个网络内以用于诸如Microsoft之类的内容管理应用。一般而言,每个场中的那组机器一起提供web服务和应用服务器功能。通常,场内的机器运行相同构建的应用(即SharePoint)并且共享公共的配置数据库以服务于特定承租人和站点集合。
场可以包含不同种类的虚拟机组。云管理器105在数据存储140内维护“场目标”,该场目标是每个场的扮演每种角色的机器的目标数目。一些角色包括内容前端、内容中央管理员、内容定时器服务、联合中央管理员、联合应用服务器等等。例如,内容场是处理传入的消费者请求的基本SharePoint场。联合服务场包含可以在场的范围内运行的诸如搜索和简档存储之类的SharePoint服务。场可以用于主控大容量公共因特网站点。一些场可以包含一组活动目录服务器和供应端口监控程序(Daemon)。云管理器105自动地部署网络中的虚拟机和/或让网络中的虚拟机退役,以帮助满足所定义的目标。这些场目标可以自动地和/或人工地来配置。例如,场目标可以响应于活动和容量需求的改变而改变。网络场——每个网络存在一个如下的网络场:该网络场包含可以作为整个网络的资源的容易扩展的所有VM角色。
云管理器web服务API150被设计为在可大规模伸缩的全球服务的上下文中工作。该API假定:任何网络请求都可能失败和/或停留在传送中。对云管理器105的调用可以被配置为幂等的。换言之,相同调用可以对云管理器105多次进行(只要参数相同)而不改变结果。
云管理器105被设计为在返回对任何给定请求的响应以前进行非常少的处理(<10ms,<50ms)。云管理器105维护记录以跟踪当前请求。例如,云管理器105更新本地数据库中的记录,并且在需要的情况下在此后调度“作业”以执行更长的活动。
云管理器跟踪作为用于在网络内部署新机器的模板的映像(比如虚拟盘映像)。该映像引用可以存储在诸如数据库140之类的数据库中和/或某个其他位置处。这些映像可以存储在对于上面将部署该映像的网络而言为本地的一个或多个共享数据库中。根据一个实施例,每个映像都包括:虚拟机(VM)角色类型,其指定该映像可以部署的VM的类型;该映像应当使用的处理器的数目;将分配给该映像的RAM的数量;用于找出附近安装点的网络ID(使得它们不反复地通过跨数据中心链接被复制);以及可以被部署代码用于访问VHD的共享路径。
一般而言,由云系统100所管理的网络中的机器不是以传统方式通过下载数据并且将该数据合并到机器上的现有软件中来升级的。相反,机器是通过用经更新的VHD替换VHD来更新的。例如,当场需要新版本的软件时,部署具有安装了该新版本的新场。当新场被部署时,承租人被从旧场移动到该新场。通过这种方式,由于升级造成的停工期被最小化,并且场中的每个机器都具有已经过测试的相同版本。当虚拟机需要升级时,该机器上的VM可以被删除并且被用配置为运行所期望的服务的VM替换。
尽管对现有软件的升级不是最优的,但是网络内的许多服务器不使用原地升级的传统升级过程。例如,活动目录域控制器是通过在不完全替换机器上的映像的情况下升级服务器上的当前软件而升级的。在一些实例中,云管理器也可以原地升级。
图2示出了包括管理器和相关联的数据库的云管理器。如所示那样,云管理器200包括工作管理器210、工作数据库215、机器管理器220、机器数据库225、承租人管理器230、承租人数据库235、私密数据库245、以及web服务API240。
一般而言,在云管理系统(例如系统100)内使用的数据库的大小被确定为实现高性能。例如,数据库(比如工作数据库215、机器数据库225、承租人数据库235以及私密数据库245)不能超过预定义的大小限制(例如30GB、50GB、100GB等等)。根据一实施例,数据库的大小被确定为使得其小得足以放入物理机的存储器中。这有助于高读取I/O性能。数据库的大小还可以基于对于应用程序(比如与SQL服务器交互)的性能来选择。用在场中的数据库的大小还可以被确定为实现高性能。例如,它们的大小可以被确定为能放入主机的存储器中和/或被确定为使得备份操作、移动操作、复制操作、恢复操作一般在预定的时间段内执行。
云管理器200将云管理器数据划分成四个数据库。工作数据库215用于工作管理器。机器数据库225用于机器管理器220。承租人数据库235用于承租人管理器230,并且私密数据库245用于存储敏感信息,比如系统账户和口令信息、凭证、证书等等。这些数据库可以处于相同的服务器上,或者在服务器间分割。根据一实施例,每个数据库都以高可用性被镜像化,并且都是SQL数据库。
云管理器200被配置为使用减小的SQL特征组来与这些数据库交互以便有助于在数据库的升级期间提供云管理器200的可用性。例如,尝试避免外来密钥或所存储的过程。外来密钥可能使方案变得困难并且导致非预期的故障情况。所存储的过程将更多应用放置在数据库本身中。
尝试最小化与SQL服务器的通信,因为与底层操作的成本相比,往返可能是昂贵的。例如,如果到单个数据库的所有当前SQL服务器交互都被包装在单个往返中,则常常是效率高得多的。
极少在数据库(215,225,235)内使用限制条件。一般而言,限制条件在其有助于在没有额外查询的情况下提供具有正确类型的错误处理的简单更新时是有益的。例如,完全合格的域名(FQDN)表具有施加在“名称”上的限制条件,以有助于防止承租人意外地试图主张与已经被分配给不同承租人的FQDN相同的FQDN。
当添加索引时使用警告。索引通常以写入操作的额外I/O为代价来改善读取性能。由于数据库内的数据主要是驻留在RAM上的,因此即使全表扫描仍然是相对快的。根据一实施例,一旦查询模式已经稳定化并且所提出的索引可以确定性能改善,就可以添加索引。根据一实施例,如果添加索引将可能花费长时间,则“ONLINE=ON(在线=开启)”选项可以被指定,使得表在最初构该建索引时不被锁定。
根据一实施例,对云管理器内数据库的更新可以在不导致云管理器系统的停工的情况下执行。换言之,即使在云管理器升级期间,云管理器仍然继续处理所接收到的请求。因此,对方案作出的改变将与上一方案兼容。SQL方案升级在云管理器所使用的web服务器升级以前进行。当web服务器升级时,它们可以开始使用数据库中所启用的新特性。数据库升级被限制为使得升级中所涉及的操作是快速和有效的。例如,可以添加表,并且可以向现有列添加新的可空列。可以在表的结尾处添加新的列。一般而言,避免对数据库的耗时操作。例如,在创建时间向新近添加的列添加缺省值可能在存在大量数据时是非常耗时的操作。然而,添加可空列是非常快速的操作。如上面所讨论的那样,允许添加新的索引,但是在添加新的限制条件时应当采取警告,以有助于保证方案升级不会破除现有数据。例如,当添加限制条件时,该限制条件可以被设置为如下状态:该限制条件不被检查并且避免对现有行和潜在的错误进行高成本的确认。旧的表和不使用的列在新版本被使用并且云管理器不访问这些表和列以后被移除。
一般而言,每个数据库中的单个行被用于指示任务和/或所期望的状态。例如,承租人数据库235为每个承租人包括单个行。给定的承租人可以包括所要求的版本记录。该记录被用于帮助确保该承租人被放置在运行所要求的版本的场上。例如,对于将要停留在SharePoint14SP1上的承租人1而言,该承租人所要求的版本可以被设置为“14.1”,并且包括14.1的任何版本都将匹配并且任何其他版本(例如14.2.xxxx)都将不匹配。承租人记录可以包括诸如下列其他项目:经授权的用户数目、限额(例如所允许的总数据使用、每用户数据使用等等)、时间限制等等。某个组织可能具有代表不同地理位置、组合或容量的多个承租人。根据一实施例,在没有用户的明确邀请(通过外联网或其他特性)的情况下将承租人彼此隔开。
根据一个实施例,每个承租人都被锁定到一专用网络中。承租人被保持为相对于一小组数据库而言为本地化的。承租人要么是小的(小于将充满一个数据库的程度),在这种情况下,该承租人处于与其他承租人共享的恰好一个数据库中。这意味着,共享该数据库的所有承租人都需要同时升级。当承租人变大时,其可以被移动到其自己的专用数据库,并且现在可以具有一个以上、但是不与其他承租人共享的数据库。在一个或多个专用数据库中维护大承租人将有助于减小需要在单次升级中同时升级的数据库的数目。
类似地,工作数据库215为每个作业包括单个行。机器数据库225可以为每个物理机、VM、场等等包括行。例如,机器管理器数据库225可以包括版本字符串。根据一实施例,网络内的每个VHD、场和VM都具有相关联的版本字符串。
根据一个实施例,云管理器包括简单日志系统,该简单日志系统可以被配置为为每个web服务调用记录日志条目。可以实现包括如所期望的那样少和/或那样多的特性的日志系统。一般而言,日志系统被用于度量使用和性能剖析。
根据一实施例,web服务API240是使用ASP.net的SOAP构建的。API中的各种web方法遵循两种主要模式——获取(Get)和更新(Update)。一般而言,更新方法采取数据结构作为输入,并且返回相同的结构作为输出。输出结构返回数据库中的底层对象的当前状态,其中如果确认或其他业务逻辑改变了一些属性或者以其他方式填充了附加的属性(例如记录ID或由云管理器计算出的其他值),则该底层对象可能不同于输入对象。这些更新方法被用于初始对象创建以及随后的更新。换言之,对web服务API240的调用者可以简单地请求它们想要的配置并且它们不需要跟踪对象是否已经存在。另外,这意味着更新是幂等的,因为相同更新调用可以进行两次,其中相同效果仅仅发生一次。根据一示例实施例,更新方法可以包括LastUpdated(最后更新)属性。当存在LastUpdated属性时,云管理器200在LastUpdated的值不与数据库中当前存储的值匹配的情况下拒绝该更新。一些更新方法包括在第一次调用该方法以后被设置并且在该方法的其他调用以后未被设置的属性。
云管理器200被配置为避免使用回调。由于回调可能是不可靠的,因此与云管理器200交互的客户可以在他们想要检查更新状况时使用web服务API来检查对象状况。根据一实施例,对更新方法的调用致使云管理器200将底层对象的状态设置为“供应”,并且当更新完成时,该状态被设置为“活动的”。
图3示出了存储在数据库的行内的示例性作业记录。如所示那样,记录300包括作业标识符302、类型304、数据306、所有者308、步骤310、最后一次运行312、期满时间314、下次时间316、状态318以及状况320。
一般而言,针对所请求执行的每个任务,云管理器都在数据库350(例如,图2的工作数据库215)中创建记录。
作业标识符302用于为所请求的任务指定唯一的标识符。
类型304指定要执行的任务。例如,类型可以包括将要执行的脚本的名称。例如,当任务是运行名称为“DeployVM.ps1”的脚本时,则数据306可以包括该标识符(例如“-VMID123”)。这允许将新任务类型添加到系统,而不需要对该系统的经编译的或其他二进制部分进行任何改变。
数据306用于存储与该任务相关联的数据。例如,数据可以被发送给其上将执行该任务的承租人、机器、网络、VM等等。数据306还可以存储数据库中的值将设置成的一个或多个值。运行该任务的过程可以查看作业记录以获悉:所期望的机器数目被设置成何值。脚本使用数据库中的值来执行该操作。
所有者308指定过程/执行该过程的机器。例如,当云管理器机器开始执行作业时,该机器用该机器的ID来更新记录的所有者308部分。
步骤310提供对当前脚本的步骤的指示。例如,脚本可以将任务划分成任何数目的步骤。当该过程完成该脚本的步骤时,步骤310被更新。过程还可以查看步骤310以确定在该脚本中要执行什么步骤以及避免必须重新执行之前完成的步骤。
最后一次运行312提供脚本最后一次启动的时间。每当脚本启动时,最后一次运行时间都被更新。
期满时间314是指示该过程应当何时终止的时间。根据一实施例,期满时间是在过程启动以后的预定的时间量(例如5分钟、10分钟...)。期满时间可以通过经由web服务API的请求过程来更新。
下次时间316是指示任务下次应当何时被执行的时间。例如,过程可以在完成某步骤以后停止,并且被指示等待直到所指定的下次时间316以恢复处理。
状态318指示当前状态,并且状况310指示作业的状况(例如已创建、已挂起、已恢复、执行中、已删除)。
如果数据库中的复制行具有相同的任务类型和数据值,则它们可以在被执行以前被移除。例如,可以进行多个请求以执行存储在数据库的多个行中的相同任务。
作业可以具有相关联的一个或多个锁355。如果锁不可用,则作业将不被调度运行,直到锁可用。这些锁可以以许多不同的方式来配置。例如,锁可以基于互斥、信号机等等。一般而言,互斥防止代码被一个以上线程并发地执行,而信号机将共享资源的同时使用的数目限制为最高为最大数目。根据一实施例,锁是表示资源的字符串。该资源可以是任何类型的资源。例如,锁可以是场、机器、承租人等等。一般而言,锁用于延迟一个或多个任务的执行。每个作业都可以指定其在运行以前需要的一个或多个锁。作业可以在其操作期间的任何时间释放锁。当存在锁时,作业不被调度。需要一个以上锁的作业立刻请求被要求的所有锁。例如,已经持有锁的作业可以不请求附加的锁。这样的方案有助于防止由多个作业间的循环锁依赖性造成的可能的死锁情况。
图4示出了用于网络的示例性系统400,该网络包括用于在线服务的前端和后端服务器。示例性系统400包括客户端402和404、网络406、负载平衡器408、WFE服务器410、412、414以及后端服务器416-419。可使用更多或更少的客户端、WFE、后端服务器、负载平衡器和网络。附加地,由系统400中的组件所提供的一些功能可以由其他组件来执行。例如,一些负载平衡可以在WFE中执行。
在示例性实施例中,客户端402和404是诸如台式计算机、膝上型计算机、终端计算机、个人数字助理、或蜂窝电话设备之类的计算设备。客户端402和404可包括输入/输出设备、中央处理单元(“CPU”)、数据存储设备和网络设备。在本申请中,术语客户端和客户端计算机互换地使用。
WFE410、412和414可由客户端402和404经由负载平衡器408通过网络406访问。如所讨论的那样,这些服务器可以在场中配置。后端服务器416对WFE410、412和414是可访问的。负载平衡器408是专用网络设备和/或一个或多个服务器计算机。负载平衡器408、420、WFE410、412和414以及后端服务器416可包括输入/输出设备、中央处理单元(“CPU”)、数据存储设备和网络设备。在示例性实施例中,网络406是因特网,并且客户端402和404可以远程地访问WFE410、412和414以及连接到WFE410、412和414的资源。
在示例性实施例中,系统400是在线的、基于浏览器的文档协作系统。在线的、基于浏览器的文档协作系统的一个示例是来自美国华盛顿州雷蒙德市的微软公司的Microsoft在系统400中,一个或多个后端服务器416-419是SQL服务器,例如,来自美国华盛顿州雷蒙德市的微软公司的SQL服务器。
WFE410、412和414提供客户端402和404以及后端服务器416-419之间的接口。负载平衡器408、420将请求从自客户端402和404引导到WFE410、412和414,以及从WFE引导到后端服务器416-419。负载平衡器408使用诸如WFE的利用率、连接到WFE的连接数目和整体WFE性能之类的因素来确定哪个WFE服务器接收客户端请求。类似地,负载平衡器420使用诸如后端服务器利用率、连接到服务器的连接数目和整体性能之类的因素来确定哪个后端服务器接收请求。
客户端请求的示例可以是:访问存储在一个或多个后端服务器上的文档;编辑存储在后端服务器(例如416-419)上的文档;或者将文档存储在后端服务器上。当负载平衡器408通过网络406接收客户端请求时,负载平衡器408确定WFE服务器410、412和414中的哪个接收该客户端请求。类似地,负载平衡器420确定后端服务器416-419中的哪个从该WFE服务器接收请求。后端服务器可以被配置为存储一个或多个承租人(例如消费者)的数据。
现在参考图5,将描述在各实施例中利用的计算机500的说明性计算机体系结构。图5所示的计算机体系结构可被配置为服务器、台式或移动计算机,并且包括中央处理单元5(“CPU”)、包括随机存取存储器9(“RAM”)和只读存储器(“ROM”)11的系统存储器7、以及将存储器耦合至中央处理单元(“CPU”)5的系统总线12。
基本输入/输出系统存储在ROM11中,所述基本输入/输出系统包含有助于在诸如启动期间在计算机内元件之间传递信息的基本例程。计算机500还包括大容量存储设备14以用于存储操作系统16、应用程序10、数据存储24、文件、以及与云系统100的执行和同云系统100的交互相关的云程序26。
大容量存储设备14通过连接至总线12的大容量存储控制器(未示出)连接到CPU5。大容量存储设备14及其相关联的计算机可读介质为计算机500提供非易失性的存储。虽然此处包含的计算机可读介质的描述针对诸如硬盘或CD-ROM驱动器等大容量存储设备,但是计算机可读介质可以是能够由计算机100访问的任何可用介质。
作为示例而非限制,计算机可读介质可包括计算机存储介质和通信介质。计算机存储介质包括以存储如计算机可读指令、数据结构、程序模块或其它数据等信息的任何方法或技术来实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质还包括,但不限于,RAM、ROM、可擦除可编程只读存储器(“EPROM”)、电可擦可编程只读存储器(“EEPROM”)、闪存或其它固态存储器技术、CD-ROM、数字多功能盘(“DVD”)或其它光存储、磁带盒、磁带、磁盘存储或其它磁性存储设备、或能用于存储所需信息且可以由计算机500访问的任何其它介质。
根据各实施例,计算机500可以使用通过诸如因特网等网络18至远程计算机的逻辑连接在联网环境中操作。计算机500可以通过连接至总线12的网络接口单元20来连接到网络18。网络连接可以是无线的和/或有线的。网络接口单元20也可用于连接到其它类型的网络和远程计算机系统。计算机500还可以包括用于接收和处理来自多个其他设备的输入的输入/输出控制器22,这些设备包括键盘、鼠标或者电子指示笔(未在图5中示出)。类似地,输入/输出控制器22可以为显示屏28、打印机或其它类型的输出设备提供输出。
如上面简要提到的那样,多个程序模块和数据文件可以存储在计算机500的大容量存储设备14和RAM9内,包括适于控制联网计算机的操作的操作系统16,比如华盛顿州雷蒙德市的微软公司的操作系统。大容量存储设备14和RAM9还可以存储一个或多个程序模块。具体而言地,大容量存储设备14和RAM9可以存储诸如云程序26之类的执行与云系统相关的任务的一个或多个应用程序。
现在参考图6,将描述用于中央地管理与在线服务相关联的网络中的资产的过程。
当阅读对在此提供的例程的讨论时,应当理解,各实施例的逻辑操作被实现为(1)运行于计算系统上的一系列计算机实现的动作或程序模块,和/或(2)计算系统内互连的机器逻辑电路或电路模块。该实现是取决于实现本发明的计算系统的性能要求来选择的。因此,所例示的并且构成此处所描述的实施例的逻辑操作被不同地表示为操作、结构设备、动作或模块。这些操作、结构设备、动作和模块可用软件、固件、专用数字逻辑以及它们的任何组合来实现。
作为启动操作,过程600流向操作610,其中云管理器接收执行任务的请求。例如,请求可以是将机器添加到场。例如假定:使用UpdateMachine(更新机器)来请求添加/更新机器。在当前示例中,请求将因UpdateMachine(...)而被接收,其中UpdateMachine(...)指定要更新机器的网络和位置。根据一实施例,标识出脚本以执行该请求。
响应于接收该请求,云管理器在操作620用所请求的任务和相应信息来更新一个或多个数据库。例如,机器数据库可以被更新以反映网络内的新机器,并且为该机器设置所期望的值(包括将状态更新为“供应”),并且工作数据库可以用所期望的作业信息来更新。
移动到操作630,在作业被输入到作业队列中以后的某个时刻,由工作管理器启动该作业。例如,一旦该作业队列中的处于该作业之前的任何作业已经启动,该作业就启动。根据一实施例,作业通过执行脚本来启动。执行该脚本可以调用远程调用来启动脚本和/或在远程机器上执行其他一些任务。远程机器可以位于不同网络和/或不同数据中心上。
在判定操作640,执行该作业的过程检查状态以确定:该作业是否已经运行。例如,当任务的状态被设置成活动的时,则该任务的实例已经运行。如果任务已经运行,则当前任务退出并且移动到结束框。
当任务还未运行时,该过程移动到操作650并且执行脚本中所指定的任何任务。
在作业完成以后,该过程移动到操作660,其中作业信息被更新。例如,在当前示例中,一旦机器已经被配置,则其状态就被设置成活动的。还从作业队列中移除该作业。该作业可以在某时间段期满以后被自动移除和/或通过调用云管理器的指定移除该作业的过程来移除。
以上说明、示例和数据提供了对本发明的组成部分的制造和使用的全面描述。因为可以在不背离本发明的精神和范围的情况下做出本发明的许多实施例,所以本发明落在所附权利要求的范围内。

Claims (10)

1.一种用于为在线服务管理网络和机器的方法,包括:
在云管理器处接收执行包括不同网络的在线服务中的任务的请求,其中所接收的任务涉及下列项目至少之一:配置、更新和管理所述不同网络至少之一中的用于提供所述在线服务的机器;其中所述请求是通过幂等和异步应用编程接口(API)接收的(610),并且所述云管理器被配置成在升级期间继续接收和处理所述请求;
用与所述任务相关的一个或多个值更新数据库,其中所述一个或多个值是所述任务的所期望的状态(620);
将作业添加到用于执行所述任务的作业队列(630);以及
执行所述任务,其中执行所述任务包括:被分配以执行所述任务的过程从所述数据库中访问与所述任务相关的一个或多个值以确定所述任务的所期望的状态(650)。
2.如权利要求1所述的方法,其特征在于,执行所述任务包括:在本地机器上执行外壳程序,所述外壳程序调用用于要在所述不同网络之一中的远程机器上启动以执行所述任务的过程(650,130)。
3.如权利要求1所述的方法,其特征在于,当所述请求是更新所述不同网络之一中的至少一个机器的请求时,所述方法包括:自动地在该机器上安装虚拟硬盘映像并且在已安装时启动所述映像(115)。
4.如权利要求3所述的方法,其特征在于,当所述请求是升级一个场的请求时,所述方法包括:配置新的场,所述新的场包括不同的一组机器,这组机器具有相同版本的一个或多个虚拟硬盘;启动所述新的场;以及将请求从旧的场转移到所述新的场(610),其中所述场是用于对需要紧密绑定关系的应用进行协调的机器的基本编组。
5.如权利要求1所述的方法,其特征在于,在单个位置处为所述不同网络中的每个接收所述请求,其中所述单个位置包括:工作管理器,所述工作管理器用于执行与管理用于执行所述任务的作业相关的操作;机器管理器,所述机器管理器用于跟踪所述不同网络内的物理机的当前状态和所期望的状态;以及应用管理器,所述应用管理器用于为所述在线服务管理应用特定的信息(610)。
6.如权利要求1所述的方法,其特征在于,维护承租人数据库(235),所述承租人数据库(235)为每个承租人包括单个行,维护工作数据库,所述工作数据库为每个所请求的作业包括单个行,维护机器数据库,所述机器数据库为每个机器包括单个行。
7.一种用于为在线服务管理网络和机器的方法,其特征在于,包括:
在云管理器处接收执行为不同网络提供文档协作服务的在线服务中的任务的请求(610),其中所接收的任务涉及下列项目至少之一:配置、更新和管理所述不同网络至少之一中的用于供应所述在线服务的机器;其中所述请求是通过幂等和异步应用编程接口(API)接收的;其中所述云管理器被配置成在升级期间继续接收和处理所述请求,所述云管理器包括:工作管理器,所述工作管理器用于执行与管理用于执行所述任务的作业相关的操作;机器管理器,所述机器管理器用于跟踪所述不同网络内的物理机的当前状态和所期望的状态;以及应用管理器,所述应用管理器用于为所述在线服务的文档协作服务管理应用特定的信息;
用与所述任务相关的一个或多个值来更新数据库(620),其中所述一个或多个值是所述任务的所期望的状态;
将作业添加到用于执行所述任务的作业队列(630);以及
执行所述任务(650),其中执行所述任务包括:被分配以执行所述任务的过程从所述数据库中访问与所述任务相关的一个或多个值以确定所述任务的所期望的状态,其中执行所述任务包括:在本地机器上执行外壳程序,所述外壳程序调用用于要在所述不同网络之一中的远程机器上启动以执行所述任务的过程。
8.一种用于为在线服务管理网络和机器的系统,包括:
用于在云管理器处接收执行为不同网络提供文档协作服务的在线服务中的任务的请求(610)的装置,其中所接收的任务涉及下列项目至少之一:配置、更新和管理所述不同网络至少之一中的用于供应所述在线服务的机器;其中所述请求是通过幂等和异步应用编程接口(API)接收的;其中所述云管理器被配置成在升级期间继续接收和处理所述请求,所述云管理器包括:工作管理器,所述工作管理器用于执行与管理用于执行所述任务的作业相关的操作;机器管理器,所述机器管理器用于跟踪所述不同网络内的物理机的当前状态和所期望的状态;以及应用管理器,所述应用管理器用于为所述在线服务的文档协作服务管理应用特定的信息;
用于用与所述任务相关的一个或多个值来更新数据库(620)的装置,其中所述一个或多个值是所述任务的所期望的状态;
用于将作业添加到用于执行所述任务的作业队列(630)的装置;以及
用于执行所述任务(650)的装置,其中执行所述任务包括:被分配以执行所述任务的过程从所述数据库中访问与所述任务相关的一个或多个值以确定所述任务的所期望的状态。
9.如权利要求8所述的系统,其特征在于,执行所述任务包括:在本地机器上执行外壳程序,所述外壳程序调用用于要在所述不同网络之一中的远程机器上启动以执行所述任务的过程(650,130)。
10.如权利要求8所述的系统,其特征在于,当所述请求是更新所述不同网络之一内的至少一个机器的请求时,包括:自动地在该机器上安装虚拟硬盘映像并且在已安装时启动该映像(115)。
CN201110339862.3A 2010-10-20 2011-10-19 一种为在线服务管理网络和机器的方法和系统 Active CN102571905B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610127085.9A CN105681104B (zh) 2010-10-20 2011-10-19 为在线服务管理网络和机器的方法、系统和计算机可读存储设备

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/908,694 US8799453B2 (en) 2010-10-20 2010-10-20 Managing networks and machines for an online service
US12/908,694 2010-10-20

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201610127085.9A Division CN105681104B (zh) 2010-10-20 2011-10-19 为在线服务管理网络和机器的方法、系统和计算机可读存储设备

Publications (2)

Publication Number Publication Date
CN102571905A CN102571905A (zh) 2012-07-11
CN102571905B true CN102571905B (zh) 2016-04-06

Family

ID=45974098

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201110339862.3A Active CN102571905B (zh) 2010-10-20 2011-10-19 一种为在线服务管理网络和机器的方法和系统
CN201610127085.9A Active CN105681104B (zh) 2010-10-20 2011-10-19 为在线服务管理网络和机器的方法、系统和计算机可读存储设备

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201610127085.9A Active CN105681104B (zh) 2010-10-20 2011-10-19 为在线服务管理网络和机器的方法、系统和计算机可读存储设备

Country Status (5)

Country Link
US (2) US8799453B2 (zh)
CN (2) CN102571905B (zh)
HK (1) HK1173006A1 (zh)
SG (2) SG10201508594TA (zh)
WO (1) WO2012054222A2 (zh)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8386501B2 (en) 2010-10-20 2013-02-26 Microsoft Corporation Dynamically splitting multi-tenant databases
US8751656B2 (en) 2010-10-20 2014-06-10 Microsoft Corporation Machine manager for deploying and managing machines
US8417737B2 (en) 2010-10-20 2013-04-09 Microsoft Corporation Online database availability during upgrade
US9075661B2 (en) 2010-10-20 2015-07-07 Microsoft Technology Licensing, Llc Placing objects on hosts using hard and soft constraints
US8296267B2 (en) 2010-10-20 2012-10-23 Microsoft Corporation Upgrade of highly available farm server groups
US9721030B2 (en) 2010-12-09 2017-08-01 Microsoft Technology Licensing, Llc Codeless sharing of spreadsheet objects
EP2663954B1 (en) 2011-01-10 2019-05-01 International Business Machines Corporation System and method for extending cloud services into the customer premise
US8612405B1 (en) * 2011-09-30 2013-12-17 Emc Corporation System and method of dynamic data object upgrades
US20130138798A1 (en) * 2011-11-29 2013-05-30 International Business Machines Corporation Predictive and dynamic resource provisioning with tenancy matching of health metrics in cloud systems
US9246765B2 (en) * 2012-06-20 2016-01-26 Cognizant Business Services Limited Apparatus and methods for auto-discovery and migration of virtual cloud infrastructure
CN104104701A (zh) * 2013-04-08 2014-10-15 腾讯科技(深圳)有限公司 在线服务的配置更新的方法和系统
US10411961B2 (en) 2013-08-22 2019-09-10 Red Hat, Inc. Image management in cloud environments
CN112220406A (zh) 2014-03-24 2021-01-15 智能清洁设备控股有限公司 具有智能系统的地板清洁机器
CN105446793B (zh) * 2014-08-28 2018-08-28 国际商业机器公司 迁移虚拟资产的方法和设备
US11119745B2 (en) * 2014-11-10 2021-09-14 Amazon Technologies, Inc. Automated deployment of applications
US9558031B2 (en) 2015-04-29 2017-01-31 Bank Of America Corporation Updating and redistributing process templates with configurable activity parameters
US9772873B2 (en) 2015-04-29 2017-09-26 Bank Of America Corporation Generating process templates with configurable activity parameters by merging existing templates
US9954949B2 (en) * 2015-04-30 2018-04-24 Hewlett Packard Enterprise Development Lp Cloud images
CN104994524B (zh) * 2015-06-19 2018-09-07 海南电信规划设计院有限公司 一种基于lte-a网络的协作调节方法
CN108207114B (zh) * 2015-08-18 2021-12-21 瑞典爱立信有限公司 用于重新配置虚拟机的技术
CN105338069A (zh) * 2015-10-14 2016-02-17 深圳市金证科技股份有限公司 跨web容器的会话共享方法、系统及web应用服务器
CN106022007B (zh) * 2016-06-14 2019-03-26 中国科学院北京基因组研究所 面向生物组学大数据计算的云平台系统及方法
US11140032B2 (en) * 2018-05-04 2021-10-05 Oracle International Corporation System and method for building idempotent configuration management modules for a cloud Infrastructure Service
CN112433677A (zh) * 2020-11-24 2021-03-02 浪潮云信息技术股份公司 一种云镜像服务对接多种存储后端的方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101410774A (zh) * 2004-05-03 2009-04-15 微软公司 在线服务切换和定制

Family Cites Families (171)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5402428A (en) 1989-12-25 1995-03-28 Hitachi, Ltd. Array disk subsystem
US5913032A (en) 1994-04-04 1999-06-15 Inprise Corporation System and methods for automatically distributing a particular shared data object through electronic mail
US5553215A (en) 1994-09-21 1996-09-03 Microsoft Corporation Method and system of sharing common formulas in a spreadsheet program and of adjusting the same to conform with editing operations
GB2294181A (en) 1994-10-04 1996-04-17 Motorola Ltd Handover in a multilayer cellular radio system
US5835910A (en) 1994-11-10 1998-11-10 Cadis, Inc. Method and system for comparing attributes in an object-oriented management system
US6453325B1 (en) 1995-05-24 2002-09-17 International Business Machines Corporation Method and means for backup and restoration of a database system linked to a system for filing data
US6157934A (en) 1995-10-24 2000-12-05 Ultimus, L.L.C. Method and apparatus for using distributed spreadsheets in a client/server architecture for workflow automation
US5857211A (en) 1996-01-29 1999-01-05 Apple Computer, Inc. System for automatically detecting cyclical and recursive links between document components
US6363497B1 (en) 1997-05-13 2002-03-26 Micron Technology, Inc. System for clustering software applications
US6675226B1 (en) 1998-11-17 2004-01-06 Rockwell Automation Technologies, Inc. Network interface for industrial controller providing application programmer interface
US6385770B1 (en) * 1999-01-29 2002-05-07 Telefonaktiebolaget Lm Ericsson (Publ) Software upgrade
US6574657B1 (en) 1999-05-03 2003-06-03 Symantec Corporation Methods and apparatuses for file synchronization and updating using a signature list
US6654746B1 (en) 1999-05-03 2003-11-25 Symantec Corporation Methods and apparatuses for single-connection file synchronization workgroup file update
US7463648B1 (en) 1999-08-23 2008-12-09 Sun Microsystems, Inc. Approach for allocating resources to an apparatus based on optional resource requirements
US6578054B1 (en) 1999-10-04 2003-06-10 Microsoft Corporation Method and system for supporting off-line mode of operation and synchronization using resource state information
US6823384B1 (en) 1999-10-15 2004-11-23 James Wilson Methods and apparatus for securely collecting customer service agent data in a multi-tenant environment
US6983311B1 (en) 1999-10-19 2006-01-03 Netzero, Inc. Access to internet search capabilities
US6571283B1 (en) 1999-12-29 2003-05-27 Unisys Corporation Method for server farm configuration optimization
WO2001059675A1 (en) 2000-02-11 2001-08-16 Ryan Mark H Method and system for distributing and collecting spreadsheet information
US6898727B1 (en) 2000-03-22 2005-05-24 Emc Corporation Method and apparatus for providing host resources for an electronic commerce site
US7562153B2 (en) 2000-05-12 2009-07-14 AT&T Intellectual Property II, L. P. Method and apparatus for content distribution network brokering and peering
US6341292B1 (en) 2000-05-30 2002-01-22 Outlooksoft Corporation Spreadsheet-based network information exchange with two-part cache
US7155667B1 (en) 2000-06-21 2006-12-26 Microsoft Corporation User interface for integrated spreadsheets and word processing tables
US6711593B1 (en) 2000-06-26 2004-03-23 Camstar Systems, Inc. System and method for live update of a manufacturing system
WO2002005065A2 (en) 2000-07-11 2002-01-17 Juice Software, Inc. A method and system for integrating network-based functionality into productivity applications and documents
US6934848B1 (en) 2000-07-19 2005-08-23 International Business Machines Corporation Technique for handling subsequent user identification and password requests within a certificate-based host session
US20020161814A1 (en) * 2000-10-04 2002-10-31 Wical Kelly J. Batch processing system running in parallel on automated and distributed replication systems
US6988241B1 (en) 2000-10-16 2006-01-17 International Business Machines Corporation Client side, web-based spreadsheet
US6912690B2 (en) 2000-10-24 2005-06-28 International Business Machines Corporation Method and system in an electronic spreadsheet for persistently copy-pasting a source range of cells onto one or more destination ranges of cells
US7082569B2 (en) 2001-01-17 2006-07-25 Outlooksoft Corporation Systems and methods providing dynamic spreadsheet functionality
US20030061365A1 (en) 2001-03-14 2003-03-27 Microsoft Corporation Service-to-service communication for network services
JP4426736B2 (ja) 2001-04-27 2010-03-03 株式会社日立製作所 プログラム修正方法およびプログラム
US7647409B2 (en) 2001-06-28 2010-01-12 International Business Machines Corporation Gradual online subscription removal
US7251776B2 (en) 2001-07-13 2007-07-31 Netview Technologies, Inc. System and method for efficiently and flexibly utilizing spreadsheet information
US20030208527A1 (en) 2001-07-20 2003-11-06 Lino Lglesais Method for smart device network application infrastructure (SDNA)
FI20011651A (fi) 2001-08-15 2003-02-16 Nokia Corp Palveluklusterin kuormituksen tasapainoittaminen
GB2378782B (en) * 2001-08-16 2005-04-13 Sun Microsystems Inc Message brokering
US7047484B1 (en) 2001-10-18 2006-05-16 Microsoft Corporation Method, system, and apparatus for providing access to asynchronous data in a spreadsheet application program
US7000228B2 (en) 2002-01-17 2006-02-14 Sun Microsystems, Inc. Online upgrade of container-based software components
US7143158B2 (en) 2002-02-14 2006-11-28 America Online, Inc. Generating metrics for networked devices
US6731323B2 (en) 2002-04-10 2004-05-04 International Business Machines Corporation Media-enhanced greetings and/or responses in communication systems
US20030204460A1 (en) 2002-04-30 2003-10-30 Rodney Robinson Data collection and transaction initiation using a financial messaging protocol
US20030221190A1 (en) 2002-05-22 2003-11-27 Sun Microsystems, Inc. System and method for performing patch installation on multiple devices
US7774473B2 (en) 2002-07-31 2010-08-10 Oracle America, Inc. System and method for sticky routing of requests within a server farm
US7549166B2 (en) 2002-12-05 2009-06-16 International Business Machines Corporation Defense mechanism for server farm
US7283465B2 (en) 2003-01-07 2007-10-16 Corrigent Systems Ltd. Hierarchical virtual private LAN service protection scheme
US7577964B2 (en) 2003-02-28 2009-08-18 Hewlett-Packard Development Company, L.P. System and methods for defining a binding for web-services
US20040210623A1 (en) 2003-03-06 2004-10-21 Aamer Hydrie Virtual network topology generation
US20040237045A1 (en) 2003-05-21 2004-11-25 Eintelligence, Inc. Method for asynchronous sharing of integrated spreadsheets using a network
US6973654B1 (en) 2003-05-27 2005-12-06 Microsoft Corporation Systems and methods for the repartitioning of data
US7203944B1 (en) 2003-07-09 2007-04-10 Veritas Operating Corporation Migrating virtual machines among computer systems to balance load caused by virtual machines
CA2438997A1 (en) 2003-08-28 2005-02-28 Ibm Canada Limited - Ibm Canada Limitee System and method for carrying out legacy application transitions
US7529728B2 (en) 2003-09-23 2009-05-05 Salesforce.Com, Inc. Query optimization in a multi-tenant database system
US7779039B2 (en) 2004-04-02 2010-08-17 Salesforce.Com, Inc. Custom entities and fields in a multi-tenant database system
US20080154918A1 (en) 2003-09-24 2008-06-26 Sony Corporation Database Schemer Update Method
US7509636B2 (en) 2003-12-15 2009-03-24 Microsoft Corporation System and method for updating files utilizing delta compression patching
US7680933B2 (en) 2003-12-15 2010-03-16 International Business Machines Corporation Apparatus, system, and method for on-demand control of grid system resources
US7360208B2 (en) 2004-05-17 2008-04-15 Oracle International Corp. Rolling upgrade of distributed software with automatic completion
US7587721B2 (en) 2004-05-20 2009-09-08 Sap Ag Sharing objects in runtime systems
US7657932B2 (en) 2004-07-14 2010-02-02 Microsoft Corporation Extendible security token management architecture and secure message handling methods
US7434252B2 (en) 2004-07-14 2008-10-07 Microsoft Corporation Role-based authorization of network services using diversified security tokens
US7779431B2 (en) 2004-07-16 2010-08-17 Wallace Robert G Networked spreadsheet template designer
US7454659B1 (en) 2004-08-24 2008-11-18 The Mathworks, Inc. Distributed systems in test environments
US8578399B2 (en) 2004-07-30 2013-11-05 Microsoft Corporation Method, system, and apparatus for providing access to workbook models through remote function cells
US7555751B1 (en) 2004-08-11 2009-06-30 3Com Corporation Method and system for performing a live system upgrade
US7668961B2 (en) 2004-09-23 2010-02-23 Microsoft Corporation Unilateral web services interaction contract
US7496886B2 (en) 2004-09-30 2009-02-24 Microsoft Corporation Method and system for providing cross project commitments
US8146073B2 (en) 2004-09-30 2012-03-27 Microsoft Corporation Updating software while it is running
US7325156B1 (en) 2004-10-07 2008-01-29 Hewlett-Packard Development Company, L.P. Methods and apparatus for backing up data in a data center
US9329905B2 (en) 2004-10-15 2016-05-03 Emc Corporation Method and apparatus for configuring, monitoring and/or managing resource groups including a virtual machine
GB2419701A (en) 2004-10-29 2006-05-03 Hewlett Packard Development Co Virtual overlay infrastructure with dynamic control of mapping
US20060122469A1 (en) 2004-11-16 2006-06-08 Martel Normand M Remote medical monitoring system
US7899921B2 (en) 2004-12-08 2011-03-01 Microsoft Corporation Verifying and maintaining connection liveliness in a reliable messaging for web services environment
US7987225B2 (en) 2004-12-22 2011-07-26 International Business Machines Corporation Method for remembering resource allocation in grids
JP4555703B2 (ja) 2005-02-23 2010-10-06 株式会社日立製作所 領域集合設定方法、および、ネットワークシステム
US20060271931A1 (en) 2005-05-25 2006-11-30 Harris Steven T Distributed signaling in a virtual machine cluster
US20060274695A1 (en) 2005-06-03 2006-12-07 Nokia Corporation System and method for effectuating a connection to a network
US20060277224A1 (en) 2005-06-07 2006-12-07 Microsoft Corporation Synchronizing arbitrary data using a flexible schema
US7577661B2 (en) 2005-06-30 2009-08-18 Microsoft Corporation Extensible and automatically replicating server farm configuration management infrastructure
US7558857B2 (en) 2005-06-30 2009-07-07 Microsoft Corporation Solution deployment in a server farm
US7720820B2 (en) 2005-07-12 2010-05-18 Microsoft Corporation Logless persistent components for enterprise applications
US20070033635A1 (en) 2005-08-02 2007-02-08 Hirsave Praveen P K Method, apparatus, and program product for autonomic patch deployment based on autonomic patch risk assessment and policies
US8799431B2 (en) 2005-08-15 2014-08-05 Toutvirtual Inc. Virtual systems management
US7636704B2 (en) 2005-08-26 2009-12-22 Emc Corporation Methods and apparatus for scheduling an action on a computer
US7930736B2 (en) 2006-01-13 2011-04-19 Google, Inc. Providing selective access to a web site
US7603354B2 (en) 2006-02-09 2009-10-13 Cinnober Financial Technology Ab Method for enhancing the operation of a database
US20070198554A1 (en) 2006-02-10 2007-08-23 Sun Microsystems, Inc. Apparatus for business service oriented management infrastructure
US8117459B2 (en) 2006-02-24 2012-02-14 Microsoft Corporation Personal identification information schemas
US20070220415A1 (en) 2006-03-16 2007-09-20 Morgan Mao Cheng Excel spreadsheet parsing to share cells, formulas, tables or entire spreadsheets across an enterprise with other users
US20070219956A1 (en) 2006-03-16 2007-09-20 Milton Michael L Excel spreadsheet parsing to share cells, formulas, tables, etc.
US8307119B2 (en) 2006-03-31 2012-11-06 Google Inc. Collaborative online spreadsheet application
US7823145B1 (en) 2006-03-31 2010-10-26 Vmware, Inc. Updating software on dormant disks
US7818740B2 (en) 2006-05-05 2010-10-19 Microsoft Corporation Techniques to perform gradual upgrades
US20070271560A1 (en) 2006-05-18 2007-11-22 Microsoft Corporation Deploying virtual machine to host based on workload characterizations
US7991798B2 (en) * 2006-05-31 2011-08-02 Oracle International Corporation In place migration when changing datatype of column
US20070285501A1 (en) 2006-06-09 2007-12-13 Wai Yim Videoconference System Clustering
US7512639B2 (en) 2006-06-15 2009-03-31 International Business Machines Corporation Management of time-variant data schemas in data warehouses
US8285677B2 (en) * 2006-06-30 2012-10-09 International Business Machines Corporation Method and apparatus for propagating tables while preserving cyclic foreign key relationships
US8676845B2 (en) * 2006-08-22 2014-03-18 International Business Machines Corporation Database entitlement
US8768332B2 (en) 2006-09-01 2014-07-01 At&T Mobility Ii Llc Interactive personal information management system
US7730028B2 (en) 2006-09-22 2010-06-01 Research In Motion Limited Schema updating for synchronizing databases connected by wireless interface
US7870163B2 (en) 2006-09-28 2011-01-11 Oracle International Corporation Implementation of backward compatible XML schema evolution in a relational database system
CN101162988A (zh) 2006-10-11 2008-04-16 中兴通讯股份有限公司 一种采用主备用数据区实现不中断业务的数据同步方法
US8521706B2 (en) 2006-10-20 2013-08-27 Oracle International Corporation Low-downtime and zero-downtime upgrades of database-centric applications
US8909599B2 (en) 2006-11-16 2014-12-09 Oracle International Corporation Efficient migration of binary XML across databases
US7634505B2 (en) 2006-12-19 2009-12-15 Salesforce.Com, Inc. Methods and procedures to provide complete test copy environment of hosted applications
US7865556B2 (en) 2006-12-20 2011-01-04 International Business Machines Corporation Failover processing for automatic responder in mixed server environment
US8554981B2 (en) 2007-02-02 2013-10-08 Vmware, Inc. High availability virtual machine cluster
US20080243763A1 (en) 2007-03-27 2008-10-02 International Business Machines Corporation System, method and program to provide data to another program
US7680848B2 (en) 2007-03-29 2010-03-16 Microsoft Corporation Reliable and scalable multi-tenant asynchronous processing
US8095618B2 (en) 2007-03-30 2012-01-10 Microsoft Corporation In-memory caching of shared customizable multi-tenant data
US8019812B2 (en) 2007-04-13 2011-09-13 Microsoft Corporation Extensible and programmable multi-tenant service architecture
US8479194B2 (en) 2007-04-25 2013-07-02 Microsoft Corporation Virtual machine migration
US8122055B2 (en) 2007-04-26 2012-02-21 Microsoft Corporation Hosted multi-tenant application with per-tenant unshared private databases
US20080289020A1 (en) 2007-05-15 2008-11-20 Microsoft Corporation Identity Tokens Using Biometric Representations
US8244713B2 (en) 2007-07-12 2012-08-14 International Business Machines Corporation Content management system that retrieves data from an external data source and creates one or more objects in the repository
EP2188714A2 (en) * 2007-09-12 2010-05-26 Citrix Systems, Inc. Methods and systems for generating desktop environments providing integrated access to remote and local resources
US20090083561A1 (en) 2007-09-26 2009-03-26 Nikos Kaburlasos Dynamic power management of dimms
US8181173B2 (en) 2007-10-12 2012-05-15 International Business Machines Corporation Determining priority for installing a patch into multiple patch recipients of a network
US8190987B2 (en) 2007-10-25 2012-05-29 Microsoft Corporation Private views of data and local calculations during real time collaboration
US8701103B1 (en) * 2007-10-31 2014-04-15 Wal-Mart Stores, Inc. Method and system for minimizing or eliminating downtime when updating a website
US8275855B2 (en) 2007-12-20 2012-09-25 Yahoo! Inc. Method and system for monitoring rest web services
US8990360B2 (en) 2008-02-22 2015-03-24 Sonos, Inc. System, method, and computer program for remotely managing a digital device
WO2009108579A2 (en) 2008-02-26 2009-09-03 Vmware, Inc. Extending server-based desktop virtual machine architecture to client machines
US8230069B2 (en) 2008-03-04 2012-07-24 International Business Machines Corporation Server and storage-aware method for selecting virtual machine migration targets
US8196175B2 (en) 2008-03-05 2012-06-05 Microsoft Corporation Self-describing authorization policy for accessing cloud-based resources
US7949636B2 (en) 2008-03-27 2011-05-24 Emc Corporation Systems and methods for a read only mode for a portion of a storage system
US9501124B2 (en) 2008-05-22 2016-11-22 Microsoft Technology Licensing, Llc Virtual machine placement based on power calculations
US8935692B2 (en) * 2008-05-22 2015-01-13 Red Hat, Inc. Self-management of virtual machines in cloud-based networks
US7516367B1 (en) 2008-05-30 2009-04-07 International Business Machines Corporation Automated, distributed problem determination and upgrade planning tool
AU2009259876A1 (en) 2008-06-19 2009-12-23 Servicemesh, Inc. Cloud computing gateway, cloud computing hypervisor, and methods for implementing same
US20090327139A1 (en) 2008-06-27 2009-12-31 Microsoft Corporation Loosely coupled hosted application system
US20100011409A1 (en) 2008-07-09 2010-01-14 Novell, Inc. Non-interactive information card token generation
US8117410B2 (en) 2008-08-25 2012-02-14 Vmware, Inc. Tracking block-level changes using snapshots
US20100070466A1 (en) 2008-09-15 2010-03-18 Anand Prahlad Data transfer techniques within data storage devices, such as network attached storage performing data migration
US20100082860A1 (en) * 2008-09-26 2010-04-01 Yahoo! Inc. System and method for updating the status of an asynchronous, idempotent message channel
US8185897B2 (en) 2008-09-30 2012-05-22 Verizon Patent And Licensing Inc. Task management system
US20100095198A1 (en) 2008-10-15 2010-04-15 Apple Inc. Shared comments for online document collaboration
US9300532B2 (en) 2008-10-24 2016-03-29 Microsoft Technology Licensing, Llc Automating deployment of service applications by exposing hosting environment constraints
US20100113159A1 (en) 2008-11-06 2010-05-06 International Business Machines Corporation Method and apparatus for partitioning virtual worlds using prioritized topic spaces in virtual world systems
US7979512B2 (en) 2008-11-07 2011-07-12 Microsoft Corporation Service delivery online
US8271536B2 (en) 2008-11-14 2012-09-18 Microsoft Corporation Multi-tenancy using suite of authorization manager components
US9325695B2 (en) 2008-12-04 2016-04-26 International Business Machines Corporation Token caching in trust chain processing
US20100145861A1 (en) 2008-12-08 2010-06-10 Palm, Inc. Payment transaction processing for mobile computing devices
US9229707B2 (en) 2008-12-18 2016-01-05 Sap Se Zero downtime mechanism for software upgrade of a distributed computer system
CN101765225B (zh) * 2008-12-24 2012-05-23 华为技术有限公司 一种虚拟化的集群管理方法和集群节点
US9189221B2 (en) 2009-01-27 2015-11-17 Microsoft Technology Licensing, Llc Consistent operating system servicing for distributed nodes
US9344401B2 (en) 2009-02-04 2016-05-17 Citrix Systems, Inc. Methods and systems for providing translations of data retrieved from a storage system in a cloud computing environment
US9208188B2 (en) 2009-02-17 2015-12-08 Microsoft Technology Licensing, Llc Tenant management of a hosted multi-tenant application
US9705888B2 (en) 2009-03-31 2017-07-11 Amazon Technologies, Inc. Managing security groups for data instances
US8713060B2 (en) 2009-03-31 2014-04-29 Amazon Technologies, Inc. Control service for relational data management
US8713038B2 (en) * 2009-04-02 2014-04-29 Pivotal Software, Inc. Integrating map-reduce into a distributed relational database
US20100262632A1 (en) 2009-04-14 2010-10-14 Microsoft Corporation Data transfer from on-line to on-premise deployment
US9274796B2 (en) 2009-05-11 2016-03-01 Arm Finance Overseas Limited Variable register and immediate field encoding in an instruction set architecture
US20100312810A1 (en) 2009-06-09 2010-12-09 Christopher Horton Secure identification of music files
US20110071856A1 (en) 2009-09-23 2011-03-24 Nasenbenny Mary B System and method for dynamic real time insurance litigation management
US8276148B2 (en) 2009-12-04 2012-09-25 International Business Machines Corporation Continuous optimization of archive management scheduling by use of integrated content-resource analytic model
US8875143B2 (en) * 2009-12-31 2014-10-28 Bmc Software, Inc. Utility-optimized scheduling of time-sensitive tasks in a resource-constrained environment
KR100980599B1 (ko) 2010-01-19 2010-09-07 코아인텍주식회사 입출력 공유장치를 이용한 클라우드 서비스 시스템
US8326803B1 (en) * 2010-05-06 2012-12-04 Symantec Corporation Change tracking of individual virtual disk files
US8380667B2 (en) * 2010-08-11 2013-02-19 Sap Ag Selectively upgrading clients in a multi-tenant computing system
US8103906B1 (en) 2010-10-01 2012-01-24 Massoud Alibakhsh System and method for providing total real-time redundancy for a plurality of client-server systems
US9075661B2 (en) 2010-10-20 2015-07-07 Microsoft Technology Licensing, Llc Placing objects on hosts using hard and soft constraints
US8751656B2 (en) 2010-10-20 2014-06-10 Microsoft Corporation Machine manager for deploying and managing machines
US8296267B2 (en) 2010-10-20 2012-10-23 Microsoft Corporation Upgrade of highly available farm server groups
US20120102506A1 (en) 2010-10-20 2012-04-26 Microsoft Corporation Web service patterns for globally distributed service fabric
US8386501B2 (en) 2010-10-20 2013-02-26 Microsoft Corporation Dynamically splitting multi-tenant databases
US20120102480A1 (en) 2010-10-20 2012-04-26 Microsoft Corporation High availability of machines during patching
US8417737B2 (en) 2010-10-20 2013-04-09 Microsoft Corporation Online database availability during upgrade
US8850550B2 (en) 2010-11-23 2014-09-30 Microsoft Corporation Using cached security tokens in an online service
US9721030B2 (en) 2010-12-09 2017-08-01 Microsoft Technology Licensing, Llc Codeless sharing of spreadsheet objects

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101410774A (zh) * 2004-05-03 2009-04-15 微软公司 在线服务切换和定制

Also Published As

Publication number Publication date
US8799453B2 (en) 2014-08-05
SG10201508594TA (en) 2015-11-27
US20140337502A1 (en) 2014-11-13
US20120102494A1 (en) 2012-04-26
WO2012054222A3 (en) 2012-07-12
CN105681104B (zh) 2019-07-23
HK1173006A1 (zh) 2013-05-03
CN102571905A (zh) 2012-07-11
WO2012054222A2 (en) 2012-04-26
SG189413A1 (en) 2013-05-31
CN105681104A (zh) 2016-06-15

Similar Documents

Publication Publication Date Title
CN102571905B (zh) 一种为在线服务管理网络和机器的方法和系统
CN102541987B (zh) 升级期间的在线数据库可用性
CN102521009B (zh) 创建并部署服务准备完毕虚拟硬盘
CN102436485B (zh) 动态拆分多承租人数据库
CN102438041B (zh) 高可用性场服务器组的升级
CN102426543B (zh) 使用硬和软限制将对象放置在主机上
CN102571906B (zh) 打补丁期间机器的高可用性
CN102523101B (zh) 机器管理器服务结构
CN102420847B (zh) 在在线服务中以高可用性路由通信
CN102426530B (zh) 使用高特权过程远程安装软件
CN102455937A (zh) 用于全局分布的服务结构的Web服务模式

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1173006

Country of ref document: HK

ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150722

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

Effective date of registration: 20150722

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1173006

Country of ref document: HK