对僵尸虚拟机的识别和移除的制作方法

文档序号:12463476阅读:675来源:国知局
对僵尸虚拟机的识别和移除的制作方法与工艺

本发明涉及虚拟机的管理。更具体地,本发明涉及在虚拟机环境中对系统资源的管理。



背景技术:

在云计算环境中,用户被分配以在计算云中的某个地方的虚拟机。该虚拟机提供软件操作系统并且具有对诸如输入/输出带宽、处理功率和存储器容量的物理资源的访问以支持用户的应用。配置软件管理并分配在云中的可用计算机节点之中的虚拟机。因为每个虚拟机独立于其他虚拟机运行,所以多个操作系统环境可以彼此完全隔离地共存于相同的计算机上。

现今,存在比物理服务器更多地部署的虚拟机。部署新的虚拟机的过程现在是如此简单使得系统管理员可以为了各种各样的临时目的(例如测试、调试和临时开发环境)而创建它们。这些短时间使用的、长时间部署的虚拟机中的许多没有在它们的使用的最后被关闭并且作为僵尸虚拟机存在。

存在系统管理员可以运行以便确定哪些虚拟机与僵尸虚拟机类似地表现的可用的软件工具。然而,系统管理员必须之后仔细审查虚拟机的结果列表并且确定哪些虚拟机实际上为应当被关闭的僵尸虚拟机。遗憾的是,仔细的考虑可能需要大的时间投入并且得到的决定可能不是完全准确的。



技术实现要素:

本发明的一个实施例提供一种方法,其包括创建具有虚拟机标识符的虚拟机,以及将条目存储在临时虚拟机注册表中,其中该条目包括虚拟机标识符、针对虚拟机的不活动标准和针对虚拟机的响应动作。该方法还包括监测虚拟机的活动,以及响应于虚拟机满足不活动标准而发起与虚拟机相关联的响应动作。

本发明的另一实施例提供一种用于管理虚拟机的计算机程序产品,该计算机程序产品包括具有实施在其上的程序指令的非暂态计算机可读存储介质,其中该程序指令由处理器可执行以使得处理器执行一种方法。该方法包括创建具有虚拟机标识符的虚拟机,以及将条目存储在临时虚拟机注册表中,其中该条目包括虚拟机标识符、针对虚拟机的不活动标准和针对虚拟机的响应动作。该方法还包括监测虚拟机的活动,以及响应于虚拟机满足不活动标准而发起与虚拟机相关联的响应动作。

附图说明

图1是可以由当前公开的方法、系统和/或计算机程序产品使用的示例性计算机的示意图。

图2是可以由当前公开的方法、系统和/或计算机程序产品使用的备选计算机的示意图。

图3是运行在两个计算机节点上的虚拟机的框图。

图4是以表格的形式的临时虚拟机注册表的图示。

图5是根据本发明的一个实施例的方法的流程图。

具体实施方式

本发明的一个实施例提供一种方法,其包括创建具有虚拟机标识符的虚拟机,以及将条目存储在临时虚拟机注册表中,其中该条目包括虚拟机标识符、针对虚拟机的不活动标准和针对虚拟机的响应动作。该方法还包括监测虚拟机的活动,以及响应于虚拟机满足不活动标准而发起与虚拟机相关联的响应动作。

在一个选项中,不活动标准可以被表示为在预定时间段内的最大活动量。例如,不活动标准可以是在给定天数内在特定端口上没有活动。备选地,不活动标准可以是在给定月数内没有登录。条件的其他变型和组合可以被用作不活动标准。能够被监测的活动的任何度量可以被用作不活动标准。

在另一选项中,与虚拟机相关联的响应动作可以包括自动关闭虚拟机。毕竟,如果虚拟机已经在其消耗资源但不执行任何有用工作的意义上变成僵尸,则自动关闭虚拟机可以是最好的结果。然而,一些管理员可能偏好在采取动作之前分析虚拟机的活动或不活动。因此,与虚拟机相关联的响应动作可以包括通知用户虚拟机已经满足不活动标准。这样的用户通知可以包括但不限于从发送电子邮件消息、在显示器屏幕上输出消息以及生成定期报告中选择的动作。在另一选项中,该方法可以发起在通知用户时开始的超时时间段,以及在超时时间段的到期时自动关闭虚拟机,除非用户改变临时虚拟机注册表中的响应标准。如本文中所使用的,关于动作的术语“响应”意指该动作涉及确定如何处理虚拟机。

在另一实施例中,该方法还可以包括响应于对虚拟机的创建而提示用户将不活动标准和响应动作输入到注册表中。这允许由使得虚拟机被创建的个体用户并且在当虚拟机的功能和目的在用户的心中的时间段期间做出针对虚拟机的这些生命结束决定。任选地,管理程序可以初始地提示用户以指示虚拟机是否是“临时”的并且之后响应于正面指示,提示用户输入不活动标准和响应动作。

然而,当注册表中的条目可以在虚拟机被创建的时间处被输入并被存储时,注册表可以可用于在虚拟机的生命期间的任何时间处编辑和接收额外的条目。例如,用户可以决定作出关于特定虚拟机的第二条目,使得任何特定临时虚拟机可以具有多个不活动标准,每个不活动标准导致响应动作。在具体情形下,针对虚拟机的第一不活动标准可以导致通知并且针对相同虚拟机的第二不活动标准可以导致关闭。在另一示例中,给定虚拟机可能已经具有临时虚拟机注册表中的条目,但是用户可以审查注册表并对个体条目做出改变,改变不活动标准或响应动作。可以作为系统策略改变或系统资源上的增大的压力的结果实施这样的改变。在又一示例中,可以做出针对先前未被识别为临时的现有虚拟机的条目,使得虚拟机将随后在虚拟机满足不活动标准的情况下受制于响应动作。

本发明的另一实施例提供一种用于管理虚拟机的计算机程序产品,该计算机程序产品包括具有实施在其上的程序指令的非暂态计算机可读存储介质,其中该程序指令由处理器可执行以使得处理器执行一种方法。该方法包括创建具有虚拟机标识符的虚拟机,以及将条目存储在临时虚拟机注册表中,其中该条目包括虚拟机标识符、针对虚拟机的不活动标准和针对虚拟机的响应动作。该方法还包括监测虚拟机的活动,以及响应于虚拟机满足不活动标准而发起与虚拟机相关联的响应动作。

前面的计算机程序产品还可以包括用于实现或发起本文描述的方法的任何一个或多个方面的程序指令。因此,将不在计算机程序产品的背景中重复对方法的单独的描述。

图1是云计算节点的第一示例的示意图。云计算节点10仅仅是适当的云计算节点的一个示例并且不旨在暗示对本文描述的本发明的实施例的使用或功能的范围的任何限制。无论如何,云计算节点10能够被实施和/或执行上文中阐述的功能中的任何。

在云计算节点10中,存在计算机系统/服务器12,其可利用许多其他通用或专用计算系统环境或配置来操作。适合于与计算机系统/服务器12一起使用的公知的计算系统、环境和/或配置的示例包括但不限于个人计算机系统、服务器计算机系统、瘦客户端、肥客户端、手持或膝上型设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子设备、网络PC、微型计算机系统、主机计算机系统和包括以上系统或设备中的任何的分布式云计算环境等。

可以在由计算机系统执行的诸如程序模块的计算机系统可执行指令的总体背景下描述计算机系统/服务器12。总体上,程序模块可以包括例程、程序、对象、部件、逻辑、数据结构、等等,其执行特定任务或实现特定抽象数据类型。计算机系统/服务器12可以被实践在分布式云计算环境中,其中任务由通过通信网络链接的远程处理设备执行。在分布式云计算环境中,程序模块可以位于包括存储器存储设备的本地计算机系统存储介质和远程计算机系统存储介质两者中。

如所示出的,云计算节点10中的计算机系统/服务器12以通用计算设备的形式被示出。计算机系统/服务器12的部件可以包括但不限于一个或多个处理器或处理单元16、系统存储器28以及将包括系统存储器28的各种系统部件耦合到处理器16的总线18。

总线18表示若干类型的总线结构中的任何中的一个或多个,包括存储器总线或存储器控制器、外围设备总线、加速图形端口以及使用各种总线架构中的任何的处理器或本地总线。通过举例而非限制性的方式,这样的架构包括工业标准架构(ISA)总线、微通道架构(MCA)总线、增强ISA(EISA)总线、视频电子标准协会(VESA)本地总线、以及外围设备部件互连(PCI)总线。

计算机系统/服务器12通常包括各种计算机系统可读介质。这样的介质可以为可由计算机系统/服务器12访问的任何可用介质,并且其包括易失性介质和非易失性介质、可移除介质和不可移除介质两者。

系统存储器28可以包括以易失性存储器的形式的计算机系统可读介质,例如随机访问存储器(RAM)30和/或高速缓存存储器32。计算机系统/服务器12还可以包括其他可移除的/不可移除的、易失性的/非易失性的计算机系统存储介质。仅仅通过举例的方式,存储系统34可以被提供用于从不可移除的、非易失性磁性介质(未示出并通常被称为“硬盘驱动器”)读取和写入到不可移除的、非易失性磁性介质。尽管未示出,可以提供用于从可移除的、非易失性磁盘(例如,“软盘”)读取和写入到可移除的、非易失性磁盘的磁盘驱动器和用于从可移动的、非易失性光学盘读取和写入到可移除的、非易失性光学盘(例如,CD-ROM、DVD-ROM或其他光学介质)的光学盘驱动器。在这样的实例中,每个可以通过一个或多个数据介质接口被连接到总线18。如下面将进一步描绘并描述的,存储器28可以包括至少一个程序产品,其具有被配置为实现本发明的实施例的功能的程序模块的集合(例如,至少一个)。

具有程序模块42的集合(至少一个)的程序/实用工具40可以通过举例而非限制性的方式被存储在存储器28以及操作系统、一个或多个应用程序、其他程序模块和程序数据中。操作系统、一个或多个应用程序、其他程序模块和程序数据或其某一组合中的每个可以包括网络化环境的实施方式。程序模块42大体实现如本文中所描述的本发明的实施例的功能和/或方法。

计算机系统/服务器12还可以与以下各项进行通信:诸如键盘、指点设备、显示器24、等等的一个或多个外部设备14;使得用户能够与计算机系统/服务器12交互的一个或多个设备;和/或使得计算机系统/服务器12能够与一个或多个其他计算设备进行通信的任何设备(例如,网络卡、调制调解器、等等)。这样的通信可以经由输入/输出(I/O)接口22进行。而且,计算机系统/服务器12可以经由网络适配器20与诸如局域网(LAN)、一般的广域网(WAN)、和/或公共网络(例如,互联网)的一个或多个网络进行通信。如所描绘的,网络适配器20经由总线18与计算机系统/服务器12的其他部件进行通信。应当理解,尽管未示出,但是可以结合计算机系统/服务器12使用其他硬件和/或软件部件。示例包括但不限于:微代码、设备驱动器、冗余处理单元、外部盘驱动器阵列、RAID系统、磁带驱动器和数据归档存储系统、等等。

图2是可以根据本发明的一个或多个实施例利用的备选计算节点(或简单地为“计算机”)100的示意图。注意,针对计算机100示出的并且在计算机100内的、包括描绘的硬件和软件两者的示范性架构中的一些或全部可以由软件部署服务器150以及图3中示出的配置管理器/管理节点222和服务器刀片204a-n利用。注意,尽管本公开中描述的服务器刀片以示例性方式被描述并被描绘为刀片机箱中的服务器刀片,但是本文描述的计算机中的一些或全部可以是独立的计算机、服务器或其他集成的或独立的计算设备。因此,术语“刀片”、“服务器刀片”、“计算机”和“服务器”可在本说明书中互换地使用。

计算机100包括耦合到系统总线106的处理器单元104。处理器单元104可以利用一个或多个处理器,所述一个或多个处理器中的每个具有一个或多个处理器核心。驱动/支持显示器110的视频适配器108也耦合到系统总线106。在一个实施例中,交换机107将视频适配器108耦合到系统总线106。备选地,交换机107可以将视频适配器108耦合到显示器110。在任一实施例中,交换机107是交换机,优选是机械的,其允许显示器110被耦合到系统总线106,并且因此仅仅在执行支持本文描述的过程的指令(例如,下面描述的虚拟机配置程序-VMPP 148)后起作用。

系统总线106经由总线桥112耦合到输入/输出(I/O)总线114。I/O接口116耦合到I/O总线114。I/O接口116提供与包括键盘118、鼠标120、介质托盘122(其可以包括诸如CD-ROM驱动器的存储设备、多媒体接口、等等)、打印机124、以及(在VHDL芯片137未以下面描述的方式来利用的情况下)(多个)外部USB端口126的各种I/O设备的通信。尽管在连接到I/O接口116的端口的格式可以是计算机体系结构领域技术人员已知的任何,但是在优选实施例中,这些端口中的一些或全部是通用串行总线(USB)端口。

如所描绘的,计算机100能够使用网络接口130经由网络128与软件部署服务器150进行通信。网络128可以是外部网络,例如互联网或者内部网络,例如以太网或虚拟专用网络(VPN)。

硬盘驱动器接口132也耦合到系统总线106。硬盘驱动器接口132与硬盘驱动器134以接口方式连接。在优选实施例中,硬盘驱动器134填充系统存储器136,系统存储器136也耦合到系统总线106。系统存储器被定义为计算机100中的最低层的易失性存储器。该易失性存储器包括额外的较高层的易失性存储器(未示出),包括但不限于高速缓存存储器、寄存器和缓冲器。填充系统存储器136的数据包括计算机100的操作系统(OS)138和应用程序144。

操作系统138包括用于提供到诸如应用程序144的资源的透明用户访问的壳140。一般地,壳140是提供用户与操作系统之间的解释器和接口的程序。更特别地,壳140执行被输入到命令行用户接口中的或来自文件的命令。因此,也称作命令处理器的壳140一般是操作系统软件层级中的最高层并且用作命令解释器。壳提供系统提示,解释通过键盘、鼠标或其他用户输入介质输入的命令,并且将(多个)解释的命令发送到操作系统的合适较低层(例如,内核142)以用于处理。注意,尽管壳140是基于文本的、面向行的用户接口,但是本发明将同样很好地支持诸如图形、语音、姿势等的其他用户接口模式。

如所描绘的,OS 138还包括内核142,内核142包括OS 138的较低层的功能,包括提供由OS 138的其他部分和应用程序144需要的基本服务,包括存储器管理、进程和任务管理、盘管理以及鼠标和键盘管理。

应用程序144包括以示例性方式示出为浏览器146的渲染器。浏览器146包括使得万维网(WWW)客户端(即,计算机100)能够使用超文本传输协议(HTTP)消息传送将网络消息发送到互联网并接收网络消息由此使得与软件部署服务器150和其他所描述的计算机系统通信的程序模块和指令。

计算机100的系统存储器(以及软件部署服务器150的系统存储器)中的应用程序144可以包括用于将数据输入到虚拟机注册表151中的用户接口146和虚拟机配置程序(VMPP)148。VMPP 148包括用于实施本发明的过程的代码。VMPP 148能够与虚拟机注册表151进行通信,虚拟机注册表151接受并存储针对每个“临时”虚拟机的不活动标准和响应动作。在一个实施例中,计算机100能够从软件部署服务器150下载VMPP 148,包括在按需的基础上。

还存储在系统存储器136中的是任选的VHDL(VHSIC硬件描述语言)程序139。VHDL是针对现场可编程门阵列(FPGA)、专用集成电路(ASIC)以及其他类似的电子设备的示例性设计输入语言。在一个实施例中,来自VMPP 148的指令的执行使VHDL程序139对VHDL芯片137进行配置,VHDL芯片137可以为FPGA、ASIC、等等。

在本发明的另一实施例中,来自VMPP 148的指令的执行导致利用VHDL程序139对VHDL仿真芯片152进行编程。VHDL仿真芯片152可以并入如以上针对VHDL芯片127描述的类似的架构。一旦VMPP 148和VHDL程序139对VHDL仿真芯片152进行了编程,则VHDL仿真芯片152作为硬件执行由在VMPP 148中发现的指令中的一些或全部的一个或多个执行描述的一些或全部功能。即,VHDL仿真芯片152是在VMPP 148中发现的软件指令中的一些或全部的硬件仿真。在一个实施例中,VHDL仿真芯片152是可编程只读存储器(PROM),其一旦根据来自VMPP 148和VHDL程序139的指令被烧写,就被永久地转变成执行用于执行本发明的过程需要的功能的新电路。

描绘在计算机100中的硬件元件不旨在为穷举式的,而是代表性的以强调由本发明需要的基本部件。例如,计算机100可以包括诸如磁带盒、数字多用盘(DVD)、伯努利卡盒等的备选存储器存储设备。这些变型和其他变型旨在处于本发明的精神和范围内。

云计算环境允许用户工作负载被分配以在计算云中的某个地方的虚拟机(VM)。该虚拟机提供软件操作系统和诸如处理功率和存储器的物理资源以支持用户的应用工作负载。

图3描绘了可以根据本发明的一个或多个实施例使用的示例性刀片机箱。示例性刀片机箱202可以在“云”环境中操作以提供资源的池。刀片机箱202包括耦合到机箱主干206的多个刀片204a-n(其中“a-n”指示刀片的整数数量)。每个刀片支持一个或多个虚拟机(VM)。如对于计算机领域的技术人员已知的,VM是物理计算机的软件实施方式(仿真)。单个硬件计算机(刀片)可以支持多个VM,每个VM运行相同的、不同的、或共享的操作系统。在一个实施例中,每个VM可以被专门定制并被保留用于执行软件任务1)特定类型的(例如,数据库管理、图形、文字处理、等等);2)针对特定用户、订阅者、客户、组或其他实体的;3)在一天中的特定时间或一周中的特定天处的(例如,在一天或排程表的允许的时间处);等等。

如所示出的,刀片204a支持VM 208a-n(其中“a-n”指示VM的整数数量),并且刀片204n支持VM 210a-n(其中“a-n”指示VM的整数数量)。刀片204a-n被耦合到存储设备212,其提供管理程序214、访客操作系统、以及针对用户的应用(未示出)。来自存储设备212的配置软件分配存储设备212内的启动存储以包含最大数量的访客操作系统,并且基于云内的(例如,在存储设备212内发现的)存储的总数量来关联应用。例如,一个访客操作系统和其相关联的应用的支持可能需要存储设备212内的物理存储器存储的1G字节来存储应用,并且需要存储设备212内的存储器空间的另一1G字节来执行该应用。如果物理服务器内的存储器存储(例如启动存储设备212)的总数量为64GB,则配置软件假设物理服务器可以支持32个虚拟机。该应用可以远程地位于网络216中并且通过网络从网络附接的存储217被发送到存储设备212。运行在远程管理节点(调度服务器)230上的全局配置管理器232执行该任务。

注意,机箱主干206也被耦合到网络216,其可以是公共网络(例如,互联网)、私有网络(例如,虚拟专用网络或实际内部硬件网络)、等等。网络216允许虚拟机工作负载218被通信给刀片机箱202的管理接口220。虚拟机工作负载218是软件任务,其在刀片机箱202内的VM中的任何上的执行是利用管理接口220请求和协同工作负载资源的部署。管理接口220之后将该工作负载请求发送到配置管理器/管理节点222,其是能够对刀片机箱202内的VM进行配置以执行所请求的软件任务的硬件和/或软件逻辑。本质上,虚拟机工作负载218通过与刀片机箱管理接口220和配置管理节点222进行通信来管理VM的总体配置。之后,该请求被进一步通信给计算机系统中的VMPP 148。注意,刀片机箱202是当前公开的方法可以在其中操作的示例性计算机环境。然而,当前公开的系统的范围不应当限于刀片机箱。即,如本文中所描述的,当前公开的方法还可以在利用某种类型的工作负载管理或资源配置的任何计算机环境中来使用。因此,术语“刀片机箱”、“计算机机箱”和“计算机环境”可互换地被用于描述管理多个计算机/刀片/服务器的计算机系统。

图4是以表格的形式的临时虚拟机注册表151的图示。注册表151被图示为具有针对虚拟机标识符的第一列、针对不活动标准的第二列和针对响应动作的第三列。在列标题下面,注册表包括两个条目的示例,其中每个条目包括同一行上的多个字段。第一条目包括虚拟机标识符(“VM00112”)、不活动标准(“10天端口2[上]没有活动”)、以及与第一临时虚拟机相关联的响应动作(“关闭VM”)。第二条目包括虚拟机标识符(“VM00253”)、不活动标准(“3个月没有登录”)、以及与第二临时虚拟机相关联的响应动作(“向Admin@XYZ.com发电子邮件通知”)。该方法将之后包括监测端口2上的VM00112活动并且监测到VM00253的登录。如果VM00253已经10天在端口2上没有活动,则自动关闭VM00112。如果VM00253已经3个月没有登录,则将该事实的电子邮件通知发送到Admin@XYZ.com。

图5是根据本发明的一个实施例的方法50的流程图。在步骤52中,该方法创建具有虚拟机标识符的虚拟机。在步骤54中,该方法将条目存储在临时虚拟机注册表中,其中该条目包括虚拟机标识符、针对虚拟机的不活动标准和针对虚拟机的响应动作。在步骤56中,该方法监测虚拟机的活动。之后,在步骤58中,该方法响应于虚拟机满足不活动标准而发起与虚拟机相关联的响应动作。

所属技术领域的技术人员知道,本发明可以实现为系统、方法或计算机程序产品。因此,本发明可以采取完全硬件实施例、完全软件实施例(包括固件、驻存软件、微代码、等等)或者可以全部在本文中总体上被称为“电路”、“模块”或“系统”的组合了软件和硬件方面的实施例的形式。此外,本发明可以采取实施在一个或多个计算机可读存储介质中的计算机程序产品的形式,该计算机可读介质具有存储在其上的计算机可用程序代码。

可以利用一个或多个计算机可用或(多个)计算机可读存储介质的任何组合。计算机可用或计算机可读存储介质可以例如但不限于电子的、磁性的、电磁的或半导体装置或设备。计算机可读介质的更具体的示例(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑盘只读存储器(CD-ROM)、光学存储设备或磁性存储设备。计算机可用或计算机可读存储介质可以甚至是程序被打印在其上的纸件或其他适当的介质,因为程序可以经由例如纸件或其他介质的光学扫描被电子地捕获、之后被编译、被解释或在必要时以适当的方式被处理,并且之后被存储在计算机存储器中。在本文档的背景下,计算机可用或计算机可读存储介质可以是可以包含或存储用于由计算机使用的程序的任何存储介质。包含于计算机可用存储介质上的计算机可用程序代码可以由传播数据信号在基带中或作为载波的部分通信。计算机可用程序代码可以使用任何适当的传输介质(包括但不限于无线、线缆、光纤线缆、RF、等等)从一个存储介质被发送到另一存储介质。

用于执行本发明的操作的计算机程序代码可以以一种或多种编程语言的任何组合来编写,一种或多种编程语言包括面向对象编程语言(例如Java、Smalltalk、C++等等)和常规过程化编程语言(例如“C”编程语言或类似的编程语言)。程序代码可以全部地执行在用户的计算机上、部分地执行在用户的计算机上、作为独立软件包执行、部分地执行在用户的计算机上并且部分地执行在远程计算机上或全部地执行在远程计算机或服务器上。在后一种情形下,远程计算机可以通过包括局域网(LAN)或广域网(WAN)的任何类型的网络连接到用户的计算机,或者可以(例如,通过使用互联网服务提供商的互联网)对外部计算机进行连接。

下面参考根据本发明的实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图来描述本发明。将理解,流程图和/或框图的每个框以及流程图和/或框图中的框的组合能够通过计算机程序指令来实施。这些计算机程序指令可以被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生一种机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实施流程图和/或一个或多个框图框中指定的功能/动作的部件。

这些计算机程序指令还可以被存储在能够引导计算机或其他可编程数据处理装置以特定方式工作的计算机可读存储介质中,使得存储在计算机可读存储介质中的指令产生一款制品,该制品包括实施流程图和/或一个或多个框图框中指定的功能/动作的指令。

计算机程序指令还可以被下载到计算机或其他可编程数据处理装置上以使得一系列操作步骤被执行在计算机或其他可编程装置上从而产生计算机实现的过程,使得执行在计算机或其他可编程装置上的指令提供用于实现流程图和/或一个或多个框图框中指定的功能/动作的过程。

附图中的流程图和框图图示了根据本发明的各个实施例的系统、方法和计算机程序产品的可能实施方式的体系结构、功能和操作。在这一点上,流程图或框图中的每个框可以表示包括用于实施(多个)指定的逻辑功能的一个或多个可执行指令的代码的模块、片段或部分。在一些备选实施方式中,框中指出的功能可以不以附图中指出的顺序发生。例如,取决于涉及的功能,连续示出的两个框实际上可以基本上同时地被执行,或各框可以有时以相反的顺序被执行。框图和/或流程图中的每个框以及框图和/或流程图中的框的组合能够通过执行指定功能或动作的基于专用硬件的系统、或专用硬件和计算机指令的组合来实施。

本文中使用的术语仅仅是为了描述具体实施例的目的并且不旨在为对本发明的限制。如本文中使用的,单数形式的“一”、“一个”和“所述”旨在还包括复数形式,除非上下文另行清楚指示。还将理解,术语“包括”和/或“包含”当在本说明书中使用时详细列举陈述的特征、整数、步骤、操作、元件、部件和/或组的存在,但是不排除一个多个其他特征、整数、步骤、操作、元件、部件和/或其组的存在或增加。术语“优选地”、“优选的”、“优选”、“可选地”、“可以”和类似的术语被用于指示被引用的项、条件或步骤是本发明的可选的(而非要求的)特征。

在下面的权利要求书中的所有装置或步骤加功能元件的对应的结构、材料、动作和等价物旨在包括用于与如特别要求保护的其他要求保护的元件组合地执行功能的任何结构、材料或动作。对本发明的描述已经出于说明和描述的目的被呈现,而且不旨在为穷举的或将本发明限于所公开的形式。在不脱离本发明的范围和精神的情况下,许多修改和变型对于本领域普通技术人员将是显而易见的。实施例被选择并被描述以便最好地解释本发明的原理、实际应用,并且以便使得本领域其他普通技术人员理解本发明用于具有如适于预见到的特定用途的各种修改的各种实施例。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1