CN101313278A - 保持虚拟机环境内的会话状态 - Google Patents
保持虚拟机环境内的会话状态 Download PDFInfo
- Publication number
- CN101313278A CN101313278A CN200680043480.3A CN200680043480A CN101313278A CN 101313278 A CN101313278 A CN 101313278A CN 200680043480 A CN200680043480 A CN 200680043480A CN 101313278 A CN101313278 A CN 101313278A
- Authority
- CN
- China
- Prior art keywords
- state
- session
- online
- client
- environment
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
Abstract
本发明涉及保持虚拟机(VM)环境内的会话状态。每个VM环境(104)主管客户操作系统(OS)(106)以及一个或多个应用程序(112)运行。每个VM环境的客户OS和应用计算机程序组成会话。连接代理器(116)保持关于会话状态的状态机并且允许响应于消息、命令以及内部决定而在状态之间进行转换。不同类型的代理(124)可以发送消息和命令。会话的状态可以包括未决状态和多个其他状态。未决状态是表明会话正在从其他状态中的一个转换为其他状态中的另一个的过渡状态。这些其他状态可以包括脱机状态、联机关闭状态、联机开启状态、挂起状态、活动状态、空闲状态、断开状态以及故障状态。
Description
技术领域
本发明一般地涉及虚拟机环境,其中客户操作系统运行在虚拟机内,并且更具体地涉及保持此类虚拟机环境内的会话状态。
背景技术
按照惯例,单个计算设备运行单个操作系统。例如,为每个计算机用户分配他所拥有的客户端计算设备,并且该计算设备运行操作系统,用户可以在操作系统中运行所希望的应用程序。类似地,服务器计算设备运行单个操作系统,该单个操作系统运行应用程序。
然而,此类计算机架构具有劣势。第一,它是昂贵的,因为每个计算设备需要完整的一套处理器、存储器以及输入/输出(I/O)设备(而不论是否会用到它)以正确地执行功能。第二,对此类架构的使用可能是效率低下的。在任何给定的时间,给定的计算设备可能不在进行工作,而是很可能正处于空闲,正在等待在工作负载增加时将要执行的任务。
因此,已经开发了这样的技术,即多个操作系统能够运行在单个计算设备上,至少共享该计算设备的存储器和处理器。此类技术称作虚拟化。利用虚拟化,给定的计算设备具有多个虚拟机(VM)或VM环境,其中客户操作系统运行在每个VM或VM环境中。因此,针对多个计算机用户的客户操作系统可以同时在单个计算设备上运行,诸如单个服务器计算设备。当工作负载需求为高时,可以实现并且运行更多的VM。当工作负载为低时,VM可被挂起。
VM的客户操作系统通常支持单个远程连接的用户,并且在该操作系统上运行一个或多个希望的应用程序。由VM主管的该客户操作系统以及在其上运行或能够运行的应用程序组成所谓的“会话”,该“会话”可以分配给各个用户。用户远程连接至VM,即,经由瘦客户端(thin-client)计算设备为客户分配了会话,该瘦客户端计算设备具有最少的硬件,因为大部分处理由运行VM的服务器计算设备执行。因此,最后得到与物理主管客户端(hosted-client)方式相对的虚拟化的主管客户端方式,在物理主管客户端方式中每个客户操作系统在其自己的独立物理计算设备或“机器”上而不是在VM上运行。
相对于物理主管客户端方式,虚拟化主管客户端方式是有优势的,因为通常需要更少的硬件资源来支持相同数量的终端用户。然而,虚拟主管客户端方式带来了必须满足的多个复杂度以便如期望的那样执行。这些复杂度源自以下事实,即给定的会话可以挂起、重启并且移动到相同(或不同)计算设备上的其他VM,而不是针对每个用户仅具有单个必须管理的物理计算设备或“机器”。
特别地,必须仔细地跟踪所有运行在VM上的会话的状态。例如,在挂起的会话可以分配给用户之前可能必须将该挂起的会话分配给VM并且重启它。如果并未正确地保持会话和到该会话的用户连接,那么虚拟主管客户端方式很可能将周期性地或者更频繁地发生故障。即,考虑到会话的各种特征,为了分配并且正确地保持会话,必须准确地跟踪会话的状态。因此,出于这种和其他原因,需要本发明。
发明内容
本发明一般地涉及保持虚拟机(VM)环境内的会话状态。本发明的一个实施例的计算机化系统包括一个或多个VM环境和连接代理器。每个VM环境主管客户操作系统(OS)以及能够在该客户OS上运行的一个或多个应用程序。每个VM环境的客户OS和应用计算机程序组成了可分配给用户的会话。连接代理器保持关于会话的状态机,并且允许响应于消息、命令和内部决定而在状态之间进行转换。
例如,系统可以包括一个或多个瘦客户端计算设备以接收来自于VM环境的输出并且向VM环境发送输入。而且,客户OS运行连接代理器代理,该连接代理器代理发送将会被连接代理器响应的消息。该系统可以进一步包括外部管理代理以管理VM环境,并且该外部管理代理发送将会被连接代理器响应的命令。在连接代理器本身的内部做出将会被该连接代理器响应的内部决定。
会话的状态可以包括未决状态和多个其他状态,该未决状态是表明会话从其他状态中的一个转换为其他状态中的另一个的过渡状态。这些其他状态可以包括:脱机状态、联机关闭状态、联机开启状态、挂起状态、活动状态、空闲状态、断开状态以及故障状态。
脱机状态表明会话不可用于分配。脱机状态可从联机关闭状态以及联机开启状态转换,并且当已初始地添加或创建会话时,在移除或解除会话的情况下会退出脱机状态。脱机状态可转换为联机关闭状态以及联机开启状态。联机关闭状态表明会话实际上关闭但是可用于分配。该联机关闭状态可从脱机状态、联机开启状态以及故障状态转换,并且可转换为脱机状态以及联机开启状态。
联机开启状态表明会话实际上开启并且可用于分配。联机开启状态可从脱机状态、联机关闭状态以及挂起状态转换,并且可转换为脱机状态、联机关闭状态、挂起状态以及故障状态。挂起状态表明会话正在VM环境中的一个已经挂起的VM环境内运行,并且还没有分配该会话。挂起状态可从联机开启状态和其本身转换,并且可转换为联机开启状态和其本身。
活动状态表明会话已经分配给已经登录到该会话的客户OS上并且正在活动地使用该会话的用户。活动状态可从联机开启状态和断开状态转换,并且可转换为联机开启状态、空闲状态以及断开状态。空闲状态表明会话已经分配给已经登录到该会话的客户OS上的用户,但是该会话正在VM环境中的一个已经挂起的VM环境内运行。空闲状态可从活动状态和其本身转换,并且可转换为断开状态和其本身。
断开状态表明会话已经分配给用户并且正在运行,但是该用户当前没有登录到该会话的客户OS上。断开状态可从活动状态和空闲状态转换,并且可转换为活动状态和故障状态。故障状态表明会话已经发生故障。故障状态可从联机开启状态和断开状态转换,并且可转换为联机关闭状态。
本发明的实施例的计算设备包括连接代理器和由该连接代理器实现的状态跟踪机制。该连接代理器针对一个或多个VM环境提供服务。每个VM环境主管客户OS和能够在该客户OS上运行的一个或多个应用计算机程序。每个VM环境的客户OS和应用计算机程序组成可分配给用户的会话。状态跟踪机制保持关于会话状态的状态机并且允许响应于消息、命令和命令代理器的内部决定而在状态之间进行转换。该状态包括未决状态和多个其他状态。未决状态表明会话从其他状态中的一个转换为其他状态中的另一个。
本发明的实施例的产品包括有形计算机可读介质以及该介质中的装置。该装置用于保持关于会话状态的状态机并且允许在状态之间进行转换。每个会话包括由VM环境主管的客户操作系统OS以及能够在该客户OS上运行的一个或多个应用程序。
本发明实施例的方法包括连接代理器接收关于会话第一状态的消息、命令或内部决定。该会话包括由VM环境主管的客户OS以及能够在该客户OS上运行的一个或多个应用程序。连接代理器作为响应而将会话从第一状态转换为第二状态。第一状态和第二状态选自多个不同的状态。这些状态包括脱机状态、联机关闭状态、联机开启状态、挂起状态、活动状态、空闲状态、断开状态以及故障状态。而且,在从第一状态向第二状态转换期间,会话处于过渡的未决状态。
本发明的实施例提供了相对于现有技术的优势。特别地,由连接代理器,诸如由其状态跟踪机制保持的状态机使虚拟化的主管客户端会话状态能够被仔细地跟踪。因此,连接代理器动态地跟踪会话,并且能够采取适当的措施以在终端用户连接至该会话之前准备会话。连接代理器执行的关于会话的操作被正确地管理,因为会话状态在所有时间都是已知的。结果,可以支持全部虚拟化主管客户端解决方案。通过阅读下文的详细描述以及通过参考附图,本发明的其他实施例、方面和优势将变得明显。
附图说明
这里引用的附图形成了说明书的一部分。除非另有指明,否则在该附图中示出的特征仅作为本发明某些而不是所有实施例的说明,并且不应造成相反的暗示。
图1是根据本发明的实施例在其中可以实现虚拟的主管客户端架构的计算机化系统的图示;
图2是根据本发明的实施例在其中可以实现虚拟机(VM)环境的服务器计算设备的图示;
图3是根据本发明的实施例的会话可以在其间进行转换的状态的状态图;
图4是根据本发明的实施例的方法的流程图。
具体实施方式
在对本发明的示例性实施例的以下详细描述中参考了附图,附图形成该详细描述的一部分,并且在附图中以说明的方式示出了其中可以实施本发明的特定示例性实施例。这些实施例被描述得足够详细,使本领域技术人员能够实施本发明。可以使用其他实施例,并且可以在不脱离本发明的精神和范围的情况下做出逻辑的、机械的和其他的改变。因此,不应认为以下的详细描述具有限制性意义,并且本发明的范围仅由所附的权利要求书限定。
图1示出了根据本发明实施例的可以在其中实现虚拟化主管客户端架构的系统150。该系统150包括服务器计算设备100和统称为瘦客户端计算设备152的多个瘦客户端计算设备152A、152B、...、152N。尽管在图1中仅描述了一个服务器计算设备100,但在另一个实施例中,可以存在多个此类服务器计算设备,使得在此类实施例中如这里描述的服务器计算设备100包括并且包容所有此类服务器计算设备的功能。
服务器计算设备100是其上实现有多个虚拟机(VM)的计算设备,如后面的更详细描述中所描述的那样。因此,服务器计算设备100能够支持多个瘦客户端计算设备152,以及因此支持多个用户。应当注意,虚拟化主管客户端架构不同于物理主管客户端架构。在后者中,每个用户以及因此每个瘦客户端计算设备被分配了独立的物理计算设备、或物理“机器”。作为比较,在前者中,每个用户以及因此每个瘦客户端计算设备没有被分配独立的物理计算设备,而是被分配了运行在服务器计算设备100上的独立的虚拟计算设备或虚拟“机器”(VM)。
在一个实施例中,希望每个瘦客户端计算设备152具有向服务器计算设备100发送用户在该瘦客户端计算设备键入的输入以及显示由服务器计算设备100提供给该瘦客户端计算设备处的用户的输出所需的仅有的最少硬件。因此,可以认为瘦客户端计算设备是远程用户的计算设备,或本身不执行应用处理的计算机。而且,瘦客户端计算设备的功能类似于输入/输出终端,仅处理键盘、鼠标以及其他输入设备的输入以及屏幕或显示器输出。所有应用处理都在服务器计算设备100上执行。
因此,服务器计算设备100可通信地连接至瘦客户端计算设备152。例如,在典型的情况中,服务器计算设备100可以位于服务器“机柜”(closet)中,通常仅有组织的信息技术(IT)人员对该“机柜”具有访问权。作为比较,瘦客户端计算设备152通常位于终端用户的房间或办公室内。因此,瘦客户端计算设备152远程连接至服务器计算设备100,并且因此认为使用计算设备152的终端用户是远程用户。
此外,在一个实施例中,瘦客户端计算设备可以包括笔记本计算机或其他便携式计算机或用户正在用来从远程位置登录VM的其他计算机。此类远程位置可以包括用户的住宅、用户因为出差或休闲旅行而居留的旅馆等等。在此类情况中,计算设备可以具有可以执行所希望的应用处理的全套硬件,但是在此实例中,其用作瘦客户端,因为服务器计算设备100仍旧要执行此类处理。
图2更详细地示出了根据本发明实施例的服务器计算设备100。该计算设备100包括VM管理器(VMM)102、以及统称为VM 104的多个VM 104A、104B、...、104N。VM 104还可以称作VM环境。VM 104在其上相应地运行有操作系统(OS)106A、106B、...、106N,统称为OS 106。
计算设备100还包括硬件,诸如一个或多个处理器108、以及存储器110。如本领域普通技术人员可以理解的,作为对图2所示出的硬件的补充或替代,计算设备100可以具有其他硬件。存储器110由VM 104共享。可通过具有大量物理存储器地址的物理地址空间对存储器110寻址。可以为每个VM 104分配一部分物理存储器地址空间,使得每个VM 104被分配有存储器110的物理存储器地址空间的一部分。处理器108可以由VM 104共享,或者每个处理器108可以由VM 104中的一个使用。在一个实施例中,处理器108是x86处理器。
每个VM 104都是虚拟化软件环境,该虚拟化软件环境使OS 106中对应的一个能够在其上运行,就好像所讨论的OS是运行在计算设备100上的仅有的OS。这样,在多个VM 104内,多个OS 106可以运行在计算设备100上。即,VM 104是VM环境,因为对于运行在每个VM 104内的软件,该VM 104表现得就好像传统硬件环境,诸如计算设备100的仅有的硬件环境。
存在多个应用计算程序112A、112B、...、112N,统称为应用计算程序112,应用计算程序112运行在或能够运行在VM 104的OS106上。这些应用计算程序112可以是文字处理程序、电子制表程序、展示程序、电子邮件程序、web浏览程序以及其他类型的应用计算程序。给定VM的一组应用计算程序和OS被称作会话。例如,会话114A包括OS 106A和应用计算程序112A。通常,存在会话114A、114B、...、114N,其包括OS 106和应用计算程序112。
给定的会话不一定要绑定到给定的VM,使得对应于图2中的VM 104的会话114的描述不意味着这些单独的会话仅能够运行在如图2所示的它们的各个VM上。因此,会话可以根据希望或需要而在VM之间移动。根据需要,可以实现或创建以及解除或删除会话。同样可以根据需要实现以及解除VM。例如,可以存在多个初始创建的VM 104,使得根据需要创建会话并且将其分配给这些VM 104中的一个。
VM管理器102是允许诸如网络管理员等信息技术(IT)人员之类的用户管理VM 104的软件。即,VM管理器102允许此类用户管理各个VM 104,诸如它们的启动、关闭和维护。VM管理器102更一般地是外部管理代理,因为其位于VM 104的外部。尽管在图2中将VM管理器102描述为与VM 104运行在相同的服务器计算设备100上,但是在本发明的另一个实施例中它可以运行在不同的计算设备上。当管理员或其他用户决定应该启动新VM时,他从VM管理器102内启动它,并且当该用户决定关闭现有的VM时,他从VM管理器102内关闭它。通常还将VM管理器102称作系统管理程序。
计算设备100还包括连接代理器116,其是提供关于VM 104和会话114的服务的软件。这些服务包括判断终端或远程用户的连接数量、挂起空闲会话、重启发生故障的或挂起的VM以及在物理计算设备之间移动VM,其中存在多个服务器计算设备。因此,连接代理器116对VM 104和会话114进行直接控制。作为比较,VM管理器102与连接代理器116进行通信,以便经由将会被连接代理器116响应的命令来管理VM 104。
连接代理器116实现状态跟踪机制118,该跟踪机制118也是软件。状态跟踪机制118保持会话114当前所处状态的状态机120,如稍后在详细描述中更详细地描述的那样。这些状态特别地由状态机120并且因此由状态跟踪机制118和连接代理器116存储于数据库122中。连接代理器116的状态跟踪功能使得可以正确地管理由连接代理器116提供的服务,以便支持虚拟化主管客户端架构。
因此,如网络管理员或其他IT人员之类的用户通过VM管理器102向连接代理器116发布的命令可以包括使会话114进入不同状态的那些命令。此类命令可以包括所请求的服务,比如提供新会话。同样地,连接代理器116可以自己做出使会话114进入不同状态的内部决定,这在后面的详细描述中称作连接代理器116自动引起给定转换。例如,如果会话都不处于既联机又实际上开启的状态,后者实际上等同于开启物理计算设备,则连接代理器116可以自己决定应当将联机但是实际上关闭的会话转换为既联机又实际上开启的状态。
而且,连接代理器116响应于由连接代理器代理124A、124B,...,124N发送的消息,其中连接代理器代理统称为连接代理器代理124,其运行在客户OS 106上。从OS 106的角度来看,连接代理器代理124是监测它们包含的会话114的会话相关事件的软件,并且该连接代理器代理124经由诸如状态更新消息之类的消息来传送这些事件。例如,一种此类消息可以表明所讨论的会话正在特别慢地运行,这可能意味着该会话应该移动到不同VM。
连接代理器116还对图1的瘦客户端计算设备152本身诸如通过这些计算设备152的固件发送的消息进行响应。此类消息可以包括会话请求消息。例如,此类瘦客户端计算设备处的终端或远程用户可能希望开始运行会话,以便经由所讨论的瘦客户端计算设备向连接代理器116传送该请求。还应当注意,在一个实施例中,VMM102、连接代理器116以及数据库122可以运行在相同或不同的计算设备上,这些计算设备本身与其上运行VM 104的计算设备相同或不同。
图3示出了根据本发明实施例的会话可以在其间转换的状态302、304、306、308、310、312、314、316和318。如图3中箭头所示,会话在状态之间转换。然而,还存在特殊的过渡状态,称作未决状态302,在图3中由虚线框表示。未决状态302是当在其他状态中的一个和其他状态中的另一个之间转换时会话有时会进入的状态。特别地,当针对会话完成了状态到状态的转换(由虚线表示)时,那么基于过渡进入未决状态302。这是因为转换需要一些时间,并且因此需要会话当前所处状态的准确表示,会话将进入未决状态302。由实线表示的其他状态到状态转换至少基本上是立刻发生的,使得当进行此类转换时所讨论的会话不进入未决状态302。
因此,未决状态302是表明状态转换正在进行的特殊状态。当转换处于未决时,连接代理器116保持关于初始“来自于”状态和所请求的“目的”状态的信息。当检测到转换完成时,则将当前状态更新到适当的状态。在一个实施例中,可以以两个方式之一检测转换完成:异步通知和轮询。
在异步通知中,由事件的发生来标记转换的完成,由如代理之类的外部组件来检测事件的发生并将其传送给连接代理器116。在轮询中,转换的完成不太容易被外部组件检测到。例如,通过VMM 102来实际关闭VM可能要花费一些时间才能完成,并且所讨论的连接代理器代理不能检测到该完成,因为在成功关闭时,它将不再运行。因此,连接代理器116仅仅监测所讨论的会话的状态。
在任一情况中,当会话的状态在转换开始时移动到未决状态302时,在一个实施例中,记录当前的时间以及起始和所请求的目的状态。连接代理器116在指定的时间限制之后检查完成,并且如果还没有接收到完成事件或者还没有检测到进入了目的状态,则将会话移动到故障状态318。因此,在一个实施例中,尽管没有在图3中特别示出,但是所有状态304、306、308、310、312、314和316都可以转换为故障状态318。
关于脱机状态304,该状态中的会话被连接代理器116看作不可用于分配给用户。可以对脱机会话执行维护,并且该会话运行在其上的VM可以实际上开启或实际上关闭。因此,连接代理器116已知会话,但是直到进入联机状态该会话都是不可访问的。
诸如VMM 102之类的外部管理代理可以经由连接代理器116使用适当的命令创建会话,并且同样可以使用适当的命令解除会话。这是由去往和来自脱机状态304以及来自和去往其他状态的实线箭头表示的。这些命令可以使得连接代理器116提供和解除会话。因此,一旦完成了提供,则在脱机状态304中创建新提供的会话。同样,解除新解除的会话。
如图3所示,脱机会话可以诸如经由适当的命令转换为联机开启状态308或联机关闭状态306。例如,该命令可以由VMM 102发布。所有进入和脱离脱机状态304的转换都立即完成而不进入未决状态302。
关于联机关闭状态306,该状态中的会话实际上关闭,但是其一旦实际上开启即可用于分配给终端用户。真实的物理计算机或“机器”并未实际地打开或关闭,而是运行在VM上的会话被开启或关闭,就此程度而言,开启或关闭是虚拟的。联机关闭会话可以利用诸如由VMM 102发布的一个命令之类的适当的命令移动到脱机状态304,并且此类转换立即完成而不会作为过渡而进入未决状态302。
可选地,联机关闭会话可以利用适当的命令由连接代理器116自动地或诸如从外部经由来自于VMM 102的命令移动到联机开启状态。在这种情况下,将转换表示为未决并且进入未决状态302,直到所讨论的客户OS已经启动并且相关的连接代理器已经通知连接代理器116其正在运行。然而,启动会话的命令发生故障会导致会话保持在联机关闭状态。
关于联机开启状态308,该状态中的会话实际上开启并且可用于立即分配给用户。可以通过来自于瘦客户端设备的适当消息请求分配,这启动了到活动状态312的转换。当接收到表明从运行在所讨论的OS上的连接代理器代理成功登录的适当消息时,该转换完成。然而,发生故障的登录使得会话进入故障状态318。
利用适当的命令,联机开启会话可以立即移动到脱机状态304,并且该转换可以立即完成。可选地,联机开启会话可以利用不同的命令返回到联机关闭状态306,或利用另一个命令移动到挂起状态310。在任一情况中,连接代理器116必须进行轮询来检测完成。
关于挂起状态310,该状态中的会话是诸如为了保留资源或使得该会话可以移动到另一个VM而运行在已经挂起的VM内的一个会话。根据定义,所讨论的会话没有登入的用户,因为在挂起VM上的具有登入用户的会话被认为处于空闲状态314。回到联机开启状态308的转换可以由连接代理器116自动启动,或者利用由VMM 102或另一个代理发布的适当命令手工地启动。连接代理器116必须进行轮询来检测完成。
当处于挂起状态310中时,利用所发布的适当命令,会话可以移动到另一个VM。在该情况中,连接代理器116也必须进行轮询来检测完成。然而,在该情况中,在转换结束时,会话保持在挂起状态310中。
关于活动状态312,该状态中的会话是运行已经分配给已经登录并且活动地使用该会话的用户的一个会话。当用户登出时,活动状态返回到联机开启状态308。直到连接代理器已经接收到运行在所讨论的客户OS上的连接代理器代理的表明登出事件的适当消息为止,不检测该转换。然后,立即完成该转换。而且,可以经由适当的命令强制地启动登出,在该情况中,将会话标记为正处于未决状态302中直到已经接收到表明完成的消息为止。
可选地,用户可以选择从会话完全断开而不是登出。当连接代理器116接收到来自于连接代理器代理的表明断开事件的适当消息时,再次检测转换。完成立即发生。可以利用来自于VMM 102或另一个代理的适当命令强制启动断开,在该情况中,会话进入未决状态302直到已经收到来自于连接代理器代理的适当消息为止。
而且,如果用户在一段时间内保持空闲,则可能希望挂起活动会话的VM。此类挂起可以由来自于连接代理器代理的表明空闲检测事件的消息来表明。因此,作为响应,连接代理器116断开用户并且挂起会话,会话移动到空闲状态314。此类挂起还可以利用由VMM102或另一个外部代理发布的适当命令来启动。在任一情况中,连接代理器116必须进行轮询来检测完成。
关于空闲状态314,该状态中的会话是具有登入用户并且运行在已经挂起的VM内的一个会话。利用由VMM 102或另一个代理发布的适当命令,空闲会话可以移动到断开状态316。在接收到来自于运行在该VM的OS上的连接代理器代理,特别是来自于已经具有处于空闲状态314中的会话的用户的适当的消息时,该转换还可以由连接代理器116自动启动。在任一情况中,连接代理器116必须进行轮询来检测完成。
当处于空闲状态314中时,会话可以利用由VMM 102或另一个代理发布的适当命令移动到另一个VM。然而,同样,连接代理器116必须进行轮询来检测完成。在转换结束时,会话保持在空闲状态314中。
关于断开状态316,该状态中的会话与用户相关并且具有正在运行的进程,诸如任务或线程,如本领域普通技术人员可以理解的那样。然而,该状态中的会话不具有当前登录的用户。当用户诸如通过再次登录进行重连接时,断开状态移动到活动状态312。转换开始于从所讨论的瘦客户端设备接收到消息,并且当连接代理器接收到来自于连接代理器代理的表明已经发生登录事件的消息时,完成该转换。
然而,在接收到来自于瘦客户端设备的消息时,连接代理器116可以首先执行端口测试,其中故障将导致立即转换为故障状态318。端口测试通常包括向目标会话发送网络消息并且验证已经接收到回复,表明会话仍旧有响应。即使端口测试成功,来自于连接代理器代理的表明成功登录的消息也可能未能在预定的时间限制内成功到达,在该情况中,会话仍旧移动到故障状态318。
最后,关于故障状态318,当某些类型的故障发生时,会话处于该状态。例如,如在前面的段落中描述的,端口测试故障可能会引起故障,或者在预定的时间限制内没有接收到表明成功登录的消息的故障。可以通过实际上关闭会话正运行于其上的VM来收回故障的会话,这使得会话移动到联机关闭状态306。可以利用VMM 102或另一个外部代理发布的适当命令手工地启动该转换,或由连接代理器116自动地启动该转换。在任一情况中,连接代理器116必须进行轮询来检测完成。
图4示出了根据本发明实施例的总结了会话通过连接代理器116从第一状态到另一个状态的转换的方法400。连接代理器116首先接收关于处于给定的第一状态中的会话的消息、命令或做出处于给定的第一状态中的会话的决定(402)。例如,如上所述,可以从瘦客户端设备或运行在所讨论的会话的客户OS上的连接代理器代理接收消息。同样如上所述,VMM 102或另一个外部代理可以发布命令。连接代理器116自己可以进一步做出关于会话在两个状态之间转换的决定,这在以上已经被描述为连接代理器116自动引起各种转换。
作为响应,连接代理器将会话转换为第二状态(404),已经参照图3描述了此类状态到状态转换的特定示例。应当注意,某些状态到状态转换可能会导致会话首先临时地进入中间的未决状态302。因此,连接代理器116甚至能够检测到给定的会话何时处于中间状态,因为此类会话在从其原始的第一状态进入希望的第二状态之前将首先处于未决状态302。
尽管已经在此处示出并且描述了特定实施例,但是本领域技术人员应该理解可以在本发明的范围内对所描述的实施例做出各种修改和增强。
Claims (20)
1.一种计算机化系统,包括:
一个或多个虚拟机(VM)环境,每个VM环境主管客户操作系统(OS)以及一个或多个能够在所述客户OS上运行的应用计算机程序,每个VM环境的所述客户OS和所述应用计算机程序组成可分配给用户的会话;以及
连接代理器,用于保持关于所述会话状态的状态机并且允许响应于消息、命令和内部决定而在所述状态之间进行转换。
2.根据权利要求1所述的系统,进一步包括数据库,由所述连接代理器在所述数据库中存储所述会话的所述状态。
3.根据权利要求1所述的系统,进一步包括一个或多个瘦客户端计算设备以接收来自于所述VM环境的输出并且向所述VM环境发送输入。
4.根据权利要求1所述的系统,进一步包括一个或多个连接代理器代理,其运行在所述客户OS上并且发送将会被所述连接代理器响应的所述消息。
5.根据权利要求1所述的系统,进一步包括管理所述VM环境的外部管理代理,所述外部管理代理发送将会被所述连接代理器响应的所述命令。
6.根据权利要求1所述的系统,其中所述状态包括未决状态和多个其他状态,所述未决状态表明会话正在从所述其他状态中的一个转换为所述其他状态中的另一个。
7.根据权利要求1所述的系统,其中所述状态包括:脱机状态、联机关闭状态、联机开启状态、挂起状态、活动状态、空闲状态、断开状态以及故障状态。
8.根据权利要求7所述的系统,其中所述脱机状态表明会话不可用于分配,所述脱机状态可从所述联机关闭状态以及所述联机开启状态转换,并且当已初始地添加或创建所述会话时,在移除或解除所述会话的情况下会退出所述脱机状态,并且所述脱机状态可转换为所述联机关闭状态以及所述联机开启状态。
9.根据权利要求7所述的系统,其中所述联机关闭状态表明会话实际上关闭但是可用于分配,所述联机关闭状态可从所述脱机状态、所述联机开启状态以及所述故障状态转换,并且可转换为所述脱机状态以及所述联机开启状态。
10.根据权利要求7所述的系统,其中所述联机开启状态表明会话实际上开启并且可用于分配,所述联机开启状态可从所述脱机状态、所述联机关闭状态以及所述挂起状态转换,并且可转换为所述脱机状态、所述联机关闭状态、所述挂起状态以及所述故障状态。
11.根据权利要求7所述的系统,其中所述挂起状态表明会话正在所述VM环境中的一个已经挂起的VM环境内运行,并且还没有分配所述会话,所述挂起状态可从所述联机开启状态和其本身转换,并且可转换为所述联机开启状态和其本身。
12.根据权利要求7所述的系统,其中所述活动状态表明会话已经分配给已经登录到所述会话的所述客户OS上并且正在活动地使用所述会话的用户,所述活动状态可从所述联机开启状态和所述断开状态转换,并且可转换为所述联机开启状态、所述空闲状态以及所述断开状态。
13.根据权利要求7所述的系统,其中所述空闲状态表明会话已经分配给已经登录到所述会话的所述客户OS上的用户,但是该会话正在所述VM环境中的一个已经挂起的VM环境内运行,所述空闲状态可从所述活动状态和其本身转换,并且可转换为所述断开状态和其本身。
14.根据权利要求7所述的系统,其中所述断开状态表明会话已经分配给用户并且正在运行,但是所述用户当前没有登录到所述会话的所述客户OS上,所述断开状态可从所述活动状态和所述空闲状态转换,并且可转换为所述活动状态和所述故障状态。
15.根据权利要求7所述的系统,其中所述故障状态表明会话已经发生故障,所述故障状态可从所述联机开启状态和所述断开状态转换,并且可转换为所述联机关闭状态。
16.一种计算设备,包括:
连接代理器,用于针对一个或多个虚拟机(VM)环境提供服务,每个VM环境主管客户操作系统(OS)以及一个或多个能够在所述客户OS上运行的应用计算机程序,每个VM环境的所述客户OS和所述应用计算机程序组成可分配给用户的会话;以及
状态跟踪机制,其由所述连接代理器实现以保持关于所述会话状态的状态机并且允许响应于消息、命令和所述连接代理器的内部决定而在所述状态之间进行转换,
其中,所述状态包括未决状态和多个其他状态,所述未决状态表明会话正在从所述其他状态中的一个转换为所述其他状态中的另一个。
17.根据权利要求16所述的计算设备,其中所述其他状态包括:脱机状态、联机关闭状态、联机开启状态、挂起状态、活动状态、空闲状态、断开状态以及故障状态,所述脱机状态表明会话不可用于分配,所述脱机状态可从所述联机关闭状态以及所述联机开启状态转换,并且当已初始地添加或创建所述会话时,在移除或解除所述会话的情况下会退出所述脱机状态,并且所述脱机状态可转换为所述联机关闭状态以及所述联机开启状态,
所述联机关闭状态表明会话实际上关闭但是可用于分配,所述联机关闭状态可从所述脱机状态、所述联机开启状态以及所述故障状态转换,并且可转换为所述脱机状态以及所述联机开启状态,
所述联机开启状态表明会话实际上开启并且可用于分配,所述联机开启状态可从所述脱机状态、所述联机关闭状态以及所述挂起状态转换,并且可转换为所述脱机状态、所述联机关闭状态、所述挂起状态以及所述故障状态,
所述挂起状态表明会话正在所述VM环境中的一个已经挂起的VM环境内运行,并且还没有分配所述会话,所述挂起状态可从所述联机开启状态和其本身转换,并且可转换为所述联机开启状态和其本身,
所述活动状态表明会话已经分配给已经登录到所述会话的所述客户OS上并且正在活动地使用所述会话的用户,所述活动状态可从所述联机开启状态和所述断开状态转换,并且可转换为所述联机开启状态、所述空闲状态以及所述断开状态,
所述空闲状态表明会话已经分配给已经登录到所述会话的所述客户OS上的用户,但是该会话正在所述VM环境中的一个已经挂起的VM环境内运行,所述空闲状态可从所述活动状态和其本身转换,并且可转换为所述断开状态和其本身,
所述断开状态表明会话已经分配给用户并且正在运行,但是所述用户当前没有登录到所述会话的所述客户OS上,所述断开状态可从所述活动状态和所述空闲状态转换,并且可转换为所述活动状态和所述故障状态,并且
所述故障状态表明会话已经发生故障,所述故障状态可从所述联机开启状态和所述断开状态转换,并且可转换为所述联机关闭状态。
18.一种产品,包括:
有形的计算机可读介质;以及
所述介质中的装置,用于保持关于会话状态的状态机并且允许在所述状态之间进行转换,
其中每个会话包括由虚拟机(VM)环境主管的客户操作系统(OS)以及一个或多个能够在所述客户OS上运行的应用程序。
19.根据权利要求18所述的产品,其中所述状态包括未决状态和多个其他状态,所述未决状态表明会话正在从所述其他状态中的一个转换为所述其他状态中的另一个,所述其他状态包括:脱机状态、联机关闭状态、联机开启状态、挂起状态、活动状态、空闲状态、断开状态以及故障状态。
20.一种方法,包括:
接收关于会话的第一状态的消息、命令或连接代理器的内部决定,所述会话包括由虚拟机(VM)环境主管的客户操作系统(OS)以及一个或多个能够在所述客户OS上运行的应用程序;以及
所述连接代理器作为响应而将所述会话从所述第一状态转换为第二状态,所述第一状态和所述第二状态选自:脱机状态、联机关闭状态、联机开启状态、挂起状态、活动状态、空闲状态、断开状态以及故障状态,
其中在从所述第一状态转换为所述第二状态期间,所述会话处于过渡的未决状态。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/292,774 | 2005-12-02 | ||
US11/292,774 US7877485B2 (en) | 2005-12-02 | 2005-12-02 | Maintaining session states within virtual machine environments |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101313278A true CN101313278A (zh) | 2008-11-26 |
Family
ID=37831691
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200680043480.3A Pending CN101313278A (zh) | 2005-12-02 | 2006-12-01 | 保持虚拟机环境内的会话状态 |
Country Status (5)
Country | Link |
---|---|
US (2) | US7877485B2 (zh) |
EP (1) | EP1960874A1 (zh) |
CN (1) | CN101313278A (zh) |
TW (1) | TW200802100A (zh) |
WO (1) | WO2007063132A1 (zh) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102215252A (zh) * | 2010-04-05 | 2011-10-12 | 微软公司 | 用于实现瘦客户机的四层体系结构 |
CN102446121A (zh) * | 2010-10-12 | 2012-05-09 | 思杰系统有限公司 | 根据用户指定的虚拟机指标分配虚拟机 |
CN102467414A (zh) * | 2010-11-19 | 2012-05-23 | 阿里巴巴集团控股有限公司 | 一种状态机控制方法、装置及状态机系统 |
CN102707900A (zh) * | 2011-03-11 | 2012-10-03 | 微软公司 | 虚拟盘存储技术 |
CN103116570A (zh) * | 2011-09-09 | 2013-05-22 | 通用汽车环球科技运作有限责任公司 | 具有动态可重构监督程序节点的分布式计算架构 |
WO2014141007A1 (en) * | 2013-03-15 | 2014-09-18 | International Business Machines Corporation | Virtual machine migration in a network |
CN104536825A (zh) * | 2010-01-15 | 2015-04-22 | 微软公司 | 持久的应用激活和计时器通知 |
US9104643B2 (en) | 2013-03-15 | 2015-08-11 | International Business Machines Corporation | OpenFlow controller master-slave initialization protocol |
US9118984B2 (en) | 2013-03-15 | 2015-08-25 | International Business Machines Corporation | Control plane for integrated switch wavelength division multiplexing |
CN105022659A (zh) * | 2014-04-30 | 2015-11-04 | 中国电信股份有限公司 | 虚拟机状态控制方法与系统 |
CN103064739B (zh) * | 2013-01-24 | 2016-07-27 | 浪潮(北京)电子信息产业有限公司 | 一种云计算中虚拟机的控制方法及装置 |
US9407560B2 (en) | 2013-03-15 | 2016-08-02 | International Business Machines Corporation | Software defined network-based load balancing for physical and virtual networks |
US9444748B2 (en) | 2013-03-15 | 2016-09-13 | International Business Machines Corporation | Scalable flow and congestion control with OpenFlow |
US9590923B2 (en) | 2013-03-15 | 2017-03-07 | International Business Machines Corporation | Reliable link layer for control links between network controllers and switches |
US9769074B2 (en) | 2013-03-15 | 2017-09-19 | International Business Machines Corporation | Network per-flow rate limiting |
US9817582B2 (en) | 2012-01-09 | 2017-11-14 | Microsoft Technology Licensing, Llc | Offload read and write offload provider |
Families Citing this family (58)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100420202C (zh) * | 2005-10-20 | 2008-09-17 | 联想(北京)有限公司 | 计算机管理系统以及计算机管理方法 |
JP5167589B2 (ja) * | 2006-02-13 | 2013-03-21 | 富士通株式会社 | アプリケーションサーバ装置および仮想マシンプログラム |
US7650406B2 (en) * | 2006-04-26 | 2010-01-19 | Microsoft Corporation | Termination of a security association between devices |
KR100804831B1 (ko) * | 2006-12-28 | 2008-02-20 | 삼성전자주식회사 | 무선 usb 호스트 및 무선 usb 디바이스간에 세션을생성하고 관리하는 방법, 무선 usb 호스트 및 무선usb 디바이스 |
US8578503B2 (en) * | 2007-08-17 | 2013-11-05 | Samsung Electronics Co., Ltd. | Portable storage device and method of managing resource of the portable storage device |
US8090847B2 (en) * | 2008-05-02 | 2012-01-03 | Microsoft Corporation | Session broker extensibility application program interface |
GB2459433B (en) | 2008-03-07 | 2012-06-06 | Hewlett Packard Development Co | Distributed network connection policy management |
GB2458157B (en) | 2008-03-07 | 2012-04-25 | Hewlett Packard Development Co | Virtual machine liveness check |
US10127059B2 (en) | 2008-05-02 | 2018-11-13 | Skytap | Multitenant hosted virtual machine infrastructure |
US20090307276A1 (en) * | 2008-06-06 | 2009-12-10 | Microsoft Corporation | Migration using file system links |
US20100088698A1 (en) * | 2008-10-03 | 2010-04-08 | Ravishankar Krishnamurthy | Techniques for managing communication sessions |
US8565067B2 (en) * | 2009-01-09 | 2013-10-22 | International Business Machines Corporation | Apparatus, system, and method for link maintenance |
US8245226B2 (en) * | 2009-01-13 | 2012-08-14 | Microsoft Corporation | Offline migration from prior operating system installation |
US9405347B2 (en) * | 2009-02-26 | 2016-08-02 | Microsoft Technology Licensing, Llc | Power-saving operating system for virtual environment |
US8219990B2 (en) | 2009-05-28 | 2012-07-10 | Novell, Inc. | Techniques for managing virtual machine (VM) states |
US8341213B2 (en) * | 2009-06-22 | 2012-12-25 | Red Hat Israel, Ltd. | Method for improving boot time of a client having a virtualized operating environment |
US8281018B2 (en) * | 2009-06-22 | 2012-10-02 | Red Hat Israel, Ltd. | Method for automatically providing a client with access to an associated virtual machine |
US8738781B2 (en) * | 2009-06-22 | 2014-05-27 | Red Hat Israel, Ltd. | Launching a virtual machine associated with a client during startup |
US8135818B2 (en) * | 2009-06-22 | 2012-03-13 | Red Hat Israel, Ltd. | Automatic virtual machine migration in mixed SBC/CBC environment |
JP5428581B2 (ja) * | 2009-06-30 | 2014-02-26 | 富士通株式会社 | 仮想マシン管理プログラム及び仮想マシン管理方法 |
US8607082B2 (en) * | 2009-08-31 | 2013-12-10 | Red Hat Israel, Ltd. | Mechanism for managing power in a virtual machine system |
US8443219B2 (en) * | 2009-08-31 | 2013-05-14 | Red Hat Israel, Ltd. | Mechanism for reducing the power consumption of virtual desktop servers |
US8949408B2 (en) * | 2009-12-18 | 2015-02-03 | Microsoft Corporation | Session monitoring of virtual desktops in a virtual machine farm |
CN102169484B (zh) * | 2010-02-26 | 2014-08-13 | 威睿公司 | 虚拟化环境中综合的、相关的和动态的数据搜索 |
US8255508B2 (en) | 2010-03-24 | 2012-08-28 | International Business Machines Corporation | Administration of virtual machine affinity in a data center |
US9367362B2 (en) * | 2010-04-01 | 2016-06-14 | International Business Machines Corporation | Administration of virtual machine affinity in a cloud computing environment |
US8572612B2 (en) | 2010-04-14 | 2013-10-29 | International Business Machines Corporation | Autonomic scaling of virtual machines in a cloud computing environment |
US9329947B2 (en) * | 2010-06-22 | 2016-05-03 | Red Hat Israel, Ltd. | Resuming a paused virtual machine without restarting the virtual machine |
US8473949B2 (en) * | 2010-07-08 | 2013-06-25 | Microsoft Corporation | Methods for supporting users with task continuity and completion across devices and time |
US20120084369A1 (en) * | 2010-09-30 | 2012-04-05 | Microsoft Corporation | Unified Reconnection To Multiple Remote Servers |
US8849941B2 (en) | 2010-09-30 | 2014-09-30 | Microsoft Corporation | Virtual desktop configuration and operation techniques |
US9092149B2 (en) | 2010-11-03 | 2015-07-28 | Microsoft Technology Licensing, Llc | Virtualization and offload reads and writes |
US8607225B2 (en) * | 2010-12-28 | 2013-12-10 | Oracle International Corporation | Managed upgrades of components in an integrated software and hardware system |
US8793684B2 (en) | 2011-03-16 | 2014-07-29 | International Business Machines Corporation | Optimized deployment and replication of virtual machines |
WO2012140667A2 (en) * | 2011-04-11 | 2012-10-18 | Ineda Systems Pvt. Ltd | Application sharing in multi host computing systems |
US8725782B2 (en) | 2011-04-25 | 2014-05-13 | Microsoft Corporation | Virtual disk storage techniques |
US9519496B2 (en) | 2011-04-26 | 2016-12-13 | Microsoft Technology Licensing, Llc | Detecting and preventing virtual disk storage linkage faults |
ITRM20110433A1 (it) * | 2011-08-10 | 2013-02-11 | Univ Calabria | Sistema per il risparmio di energia nei data center aziendali. |
CA2764283A1 (en) | 2012-01-16 | 2013-07-16 | Giovanni J. Morelli | Mobile device control application for improved security and diagnostics |
CA2764362A1 (en) * | 2012-01-16 | 2013-07-16 | Giovanni J. Morelli | Rdp session monitor/control system and application |
CA2764354A1 (en) | 2012-01-16 | 2013-07-16 | Giovanni J. Morelli | Host-emulator bridge system and method |
US9690605B2 (en) | 2012-04-09 | 2017-06-27 | Hewlett Packard Enterprise Development Lp | Configuration of an edge switch downlink port with a network policy of a published network configuration service type |
US9507612B1 (en) * | 2012-08-31 | 2016-11-29 | United Services Automobile Association (Usaa) | Managing dedicated and floating pool of virtual machines based on demand |
US9778860B2 (en) | 2012-09-12 | 2017-10-03 | Microsoft Technology Licensing, Llc | Re-TRIM of free space within VHDX |
US9071585B2 (en) | 2012-12-12 | 2015-06-30 | Microsoft Technology Licensing, Llc | Copy offload for disparate offload providers |
US9251201B2 (en) | 2012-12-14 | 2016-02-02 | Microsoft Technology Licensing, Llc | Compatibly extending offload token size |
US9569232B1 (en) * | 2013-02-19 | 2017-02-14 | Amazon Technologies, Inc. | Network traffic data in virtualized environments |
US9965301B2 (en) | 2013-03-28 | 2018-05-08 | Sphere 3D Inc. | Systems and methods for managing emulation resources |
US9864623B2 (en) * | 2013-11-21 | 2018-01-09 | Centurylink Intellectual Property Llc | Physical to virtual network transport function abstraction |
CN103701870A (zh) * | 2013-12-12 | 2014-04-02 | 上海兆民云计算科技有限公司 | 降低桌面云终端与服务器连接能耗的方法 |
JP2016177385A (ja) * | 2015-03-18 | 2016-10-06 | 株式会社リコー | 情報処理装置、情報処理方法およびプログラム |
CN105955837B (zh) * | 2015-05-21 | 2019-07-30 | 中国科学院计算技术研究所 | 一种虚拟机容错内存同步方法及系统 |
US10797977B2 (en) * | 2016-03-22 | 2020-10-06 | Citrix Systems, Inc. | Robust suspension and resumption of desktop virtualization |
CN106021014B (zh) * | 2016-05-12 | 2018-12-14 | 浪潮电子信息产业股份有限公司 | 一种内存管理方法及装置 |
EP3476080A4 (en) * | 2016-06-23 | 2019-11-13 | Intel IP Corporation | DEVICE AND METHOD FOR NFV LIFE CYCLE MANAGEMENT |
CN106445730B (zh) * | 2016-07-22 | 2019-12-03 | 平安科技(深圳)有限公司 | 一种提高虚拟机性能的方法和终端 |
US11032168B2 (en) * | 2017-07-07 | 2021-06-08 | Amzetta Technologies, Llc | Mechanism for performance monitoring, alerting and auto recovery in VDI system |
US20230065589A1 (en) * | 2021-08-30 | 2023-03-02 | Sap Se | Using persistent finite state machine to coordinate lifecycle operations in service broker |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5027269A (en) * | 1989-04-27 | 1991-06-25 | International Business Machines Corporation | Method and apparatus for providing continuous availability of applications in a computer network |
US6457879B1 (en) * | 1997-12-17 | 2002-10-01 | Microsoft Corporation | Method for continouously processing electronic messages throughout a transition between online and offline states |
US6529937B1 (en) * | 1999-01-29 | 2003-03-04 | International Business Machines Corporation | System and method for communicating client IP addresses to server applications |
US6877095B1 (en) * | 2000-03-09 | 2005-04-05 | Microsoft Corporation | Session-state manager |
NO20001655L (no) * | 2000-03-30 | 2001-10-01 | Ericsson Telefon Ab L M | Implementering av flere tilstandsmaskiner i samme prosess |
US7191440B2 (en) * | 2001-08-15 | 2007-03-13 | Intel Corporation | Tracking operating system process and thread execution and virtual machine execution in hardware or in a virtual machine monitor |
US7028149B2 (en) * | 2002-03-29 | 2006-04-11 | Intel Corporation | System and method for resetting a platform configuration register |
US6725289B1 (en) * | 2002-04-17 | 2004-04-20 | Vmware, Inc. | Transparent address remapping for high-speed I/O |
US7793286B2 (en) * | 2002-12-19 | 2010-09-07 | Intel Corporation | Methods and systems to manage machine state in virtual machine operations |
US7401230B2 (en) * | 2004-03-31 | 2008-07-15 | Intel Corporation | Secure virtual machine monitor to tear down a secure execution environment |
US7886293B2 (en) * | 2004-07-07 | 2011-02-08 | Intel Corporation | Optimizing system behavior in a virtual machine environment |
EP1705562A1 (en) * | 2005-03-18 | 2006-09-27 | Orange SA | Applications server and method of providing services |
US8387049B2 (en) * | 2005-07-15 | 2013-02-26 | International Business Machines Corporation | Facilitating processing within computing environments supporting pageable guests |
-
2005
- 2005-12-02 US US11/292,774 patent/US7877485B2/en not_active Expired - Fee Related
-
2006
- 2006-12-01 EP EP06830284A patent/EP1960874A1/en not_active Withdrawn
- 2006-12-01 TW TW095144800A patent/TW200802100A/zh unknown
- 2006-12-01 CN CN200680043480.3A patent/CN101313278A/zh active Pending
- 2006-12-01 WO PCT/EP2006/069217 patent/WO2007063132A1/en active Application Filing
-
2010
- 2010-11-07 US US12/941,068 patent/US8046473B2/en active Active - Reinstated
Cited By (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104536825B (zh) * | 2010-01-15 | 2019-04-09 | 微软技术许可有限责任公司 | 持久的应用激活和计时器通知 |
US10162713B2 (en) | 2010-01-15 | 2018-12-25 | Microsoft Technology Licensing, Llc | Persistent application activation and timer notifications |
CN104536825A (zh) * | 2010-01-15 | 2015-04-22 | 微软公司 | 持久的应用激活和计时器通知 |
CN102215252A (zh) * | 2010-04-05 | 2011-10-12 | 微软公司 | 用于实现瘦客户机的四层体系结构 |
CN102215252B (zh) * | 2010-04-05 | 2016-05-18 | 微软技术许可有限责任公司 | 用于实现瘦客户机的四层体系结构 |
CN102446121B (zh) * | 2010-10-12 | 2015-04-15 | 思杰系统有限公司 | 根据用户指定的虚拟机指标分配虚拟机 |
CN102446121A (zh) * | 2010-10-12 | 2012-05-09 | 思杰系统有限公司 | 根据用户指定的虚拟机指标分配虚拟机 |
CN102467414B (zh) * | 2010-11-19 | 2015-03-18 | 阿里巴巴集团控股有限公司 | 一种状态机控制方法、装置及状态机系统 |
CN102467414A (zh) * | 2010-11-19 | 2012-05-23 | 阿里巴巴集团控股有限公司 | 一种状态机控制方法、装置及状态机系统 |
US11614873B2 (en) | 2011-03-11 | 2023-03-28 | Microsoft Technology Licensing, Llc | Virtual disk storage techniques |
CN107092441A (zh) * | 2011-03-11 | 2017-08-25 | 微软技术许可有限责任公司 | 虚拟盘存储技术 |
CN102707900A (zh) * | 2011-03-11 | 2012-10-03 | 微软公司 | 虚拟盘存储技术 |
CN102707900B (zh) * | 2011-03-11 | 2017-04-26 | 微软技术许可有限责任公司 | 虚拟盘存储技术 |
CN103116570A (zh) * | 2011-09-09 | 2013-05-22 | 通用汽车环球科技运作有限责任公司 | 具有动态可重构监督程序节点的分布式计算架构 |
CN103116570B (zh) * | 2011-09-09 | 2016-01-20 | 通用汽车环球科技运作有限责任公司 | 动态重构分布式计算架构及其重构方法 |
US9817582B2 (en) | 2012-01-09 | 2017-11-14 | Microsoft Technology Licensing, Llc | Offload read and write offload provider |
CN103064739B (zh) * | 2013-01-24 | 2016-07-27 | 浪潮(北京)电子信息产业有限公司 | 一种云计算中虚拟机的控制方法及装置 |
US9503382B2 (en) | 2013-03-15 | 2016-11-22 | International Business Machines Corporation | Scalable flow and cogestion control with openflow |
US9104643B2 (en) | 2013-03-15 | 2015-08-11 | International Business Machines Corporation | OpenFlow controller master-slave initialization protocol |
US9590923B2 (en) | 2013-03-15 | 2017-03-07 | International Business Machines Corporation | Reliable link layer for control links between network controllers and switches |
US9596192B2 (en) | 2013-03-15 | 2017-03-14 | International Business Machines Corporation | Reliable link layer for control links between network controllers and switches |
US9609086B2 (en) | 2013-03-15 | 2017-03-28 | International Business Machines Corporation | Virtual machine mobility using OpenFlow |
US9614930B2 (en) | 2013-03-15 | 2017-04-04 | International Business Machines Corporation | Virtual machine mobility using OpenFlow |
US9407560B2 (en) | 2013-03-15 | 2016-08-02 | International Business Machines Corporation | Software defined network-based load balancing for physical and virtual networks |
US9444748B2 (en) | 2013-03-15 | 2016-09-13 | International Business Machines Corporation | Scalable flow and congestion control with OpenFlow |
US9769074B2 (en) | 2013-03-15 | 2017-09-19 | International Business Machines Corporation | Network per-flow rate limiting |
US9118984B2 (en) | 2013-03-15 | 2015-08-25 | International Business Machines Corporation | Control plane for integrated switch wavelength division multiplexing |
WO2014141007A1 (en) * | 2013-03-15 | 2014-09-18 | International Business Machines Corporation | Virtual machine migration in a network |
US9110866B2 (en) | 2013-03-15 | 2015-08-18 | International Business Machines Corporation | OpenFlow controller master-slave initialization protocol |
CN105022659A (zh) * | 2014-04-30 | 2015-11-04 | 中国电信股份有限公司 | 虚拟机状态控制方法与系统 |
CN105022659B (zh) * | 2014-04-30 | 2018-05-11 | 中国电信股份有限公司 | 虚拟机状态控制方法与系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2007063132A1 (en) | 2007-06-07 |
US8046473B2 (en) | 2011-10-25 |
EP1960874A1 (en) | 2008-08-27 |
US20110055406A1 (en) | 2011-03-03 |
US7877485B2 (en) | 2011-01-25 |
TW200802100A (en) | 2008-01-01 |
US20070130305A1 (en) | 2007-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101313278A (zh) | 保持虚拟机环境内的会话状态 | |
US9967136B2 (en) | System and method for policy-based smart placement for network function virtualization | |
US9659251B2 (en) | Systems and methods of autonomic virtual network management | |
US8069362B2 (en) | Automated electrical power savings in virtualization environments | |
US8176501B2 (en) | Enabling efficient input/output (I/O) virtualization | |
US9304819B2 (en) | Virtual deployment | |
CN101689161B (zh) | 自动管理计算机网络中的系统停机时间 | |
US20140143401A1 (en) | Systems and Methods for Implementing Cloud Computing | |
US20100064044A1 (en) | Information Processing System and Control Method for Information Processing System | |
US9992338B2 (en) | System and method for anticipating user interaction in a customer contact center | |
WO2016037479A1 (zh) | 虚拟化网络功能vnf优化方法、装置及系统 | |
CN106383706A (zh) | 基于虚拟桌面和虚拟操作系统的自适应云桌面服务系统 | |
CN103533086A (zh) | 一种云计算系统中的资源统一调度方法 | |
US7539987B1 (en) | Exporting unique operating system features to other partitions in a partitioned environment | |
Kibe et al. | The evaluations of desktop as a service in an educational cloud | |
US10936324B2 (en) | Proactive host device access monitoring and reporting system | |
CN111949444A (zh) | 一种基于分布式服务集群的数据备份与恢复系统及方法 | |
CN107026875A (zh) | 多个虚拟桌面架构的融合方法及装置 | |
CN108255547B (zh) | 一种应用程序控制方法及装置 | |
US8910154B2 (en) | Obtaining diagnostic information in a virtual environment | |
Daryapurkar et al. | Cloud computing: issues and challenges | |
US8850427B2 (en) | Bulk data management in a virtual environment | |
CN104144176A (zh) | 智能桌面系统客户端与服务器的连接方法 | |
Nithiyananthan et al. | Distributed mobile agent model for multi area power systems automated online state estimation | |
Wagner et al. | User managed virtual clusters in comet |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
AD01 | Patent right deemed abandoned |
Effective date of abandoning: 20081126 |
|
C20 | Patent right or utility model deemed to be abandoned or is abandoned |