CN103136000A - Method and system of providing application program for virtual machine - Google Patents
Method and system of providing application program for virtual machine Download PDFInfo
- Publication number
- CN103136000A CN103136000A CN2011103787922A CN201110378792A CN103136000A CN 103136000 A CN103136000 A CN 103136000A CN 2011103787922 A CN2011103787922 A CN 2011103787922A CN 201110378792 A CN201110378792 A CN 201110378792A CN 103136000 A CN103136000 A CN 103136000A
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- application program
- shelves
- application
- destination application
- 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
Landscapes
- Stored Programmes (AREA)
Abstract
Description
技术领域 technical field
本发明是有关于一种提供虚拟机器的方法以及系统,且特别是有关于一种可于虚拟机器提供应用程序的方法以及系统。The present invention relates to a method and a system for providing a virtual machine, and in particular to a method and a system for providing an application program on a virtual machine.
背景技术 Background technique
在过去许多年中,电脑上的使用者界面已经历许多变更。早期的字符型使用者界面,例如微软的DOS界面,提供使用者字符输入指令以执行应用程序。接下来,发展出图形使用者界面(Graphical User Interface,GUI),用以通过图形化的图标(icon),提供使用者更为直觉的操作方式。User interfaces on computers have undergone many changes over the years. Early character-based user interfaces, such as Microsoft's DOS interface, provide users with character input commands to execute application programs. Next, a Graphical User Interface (GUI) is developed to provide users with a more intuitive operation mode through graphical icons.
近年来,虚拟机器的概念开始蓬勃发展。使用者可初始化一台虚拟机器,并将电脑应用程序和数据寄存于一虚拟机器,然后可以随时随地在任何电脑上存取所初始化的虚拟机器。如此一来,使用者可在一实体电脑中设置多台虚拟机器,每一台虚拟机器皆可配置不同的操作系统、不同的应用程序、不同的操作环境,甚至储存不同的数据,如同拥有多台电脑。In recent years, the concept of virtual machines has begun to flourish. The user can initialize a virtual machine and store computer applications and data in the virtual machine, and then can access the initialized virtual machine on any computer anytime and anywhere. In this way, users can set up multiple virtual machines in one physical computer, and each virtual machine can be configured with different operating systems, different applications, different operating environments, and even store different data, just like having multiple virtual machines. computer.
当使用者在操作虚拟机器时,多半只能执行已安装于虚拟机器上的应用程序,当虚拟机器未安装有所需要的应用程序时,此虚拟机器就必须仿照实体电脑,安装所需要的应用程序,相当不便。另一种解决方案,是由实体电脑再另外初始化一台已安装有所需要应用程序的虚拟机器,但此种方式仍有相当多的缺点,例如初始化另一台虚拟机器可能要花费数分钟以上,或者实体电脑可能未事先具有已安装有所需要应用程序的虚拟机器的映像档,又或者是实体电脑可能不具有足够的资源用来额外初始化一台虚拟机器。When a user is operating a virtual machine, most of them can only execute the applications that have been installed on the virtual machine. When the virtual machine does not have the required applications installed, the virtual machine must be like a physical computer and install the required applications. program, quite inconvenient. Another solution is to initialize another virtual machine with all required applications installed on the physical computer, but this method still has quite a few disadvantages, for example, it may take more than several minutes to initialize another virtual machine , or the physical computer may not have an image file of the virtual machine with all required applications installed in advance, or the physical computer may not have enough resources to initialize an additional virtual machine.
上述问题在云系统中将更加严重,由于云系统经常设置相当多个虚拟机器以提供众多使用者来使用,云系统为了管理方便,多只建置一种或极少的虚拟机器。因为众多使用者往往有各式各样的需求,因此,若欲满足大部分使用者的需求,云系统中的虚拟机器即必需安装相当多的应用程序,如此一来每个虚拟机器将需要相当大的资源,整个云系统也将耗费太多硬体资源。The above-mentioned problems will be more serious in the cloud system. Because the cloud system often sets up quite a few virtual machines for many users to use, the cloud system only builds one or very few virtual machines for the convenience of management. Because many users often have a variety of needs, therefore, in order to meet the needs of most users, the virtual machines in the cloud system must install quite a few applications, so that each virtual machine will require quite a few Large resources, the entire cloud system will also consume too many hardware resources.
发明内容 Contents of the invention
因此,本发明的一方面是在提供一种于虚拟机器提供应用程序的方法,用以在当客户端欲开启应用程序时,可将对应的执行档挂载(mount)至一虚拟机器,供虚拟机器执行。于虚拟机器提供应用程序的方法包含以下步骤:Therefore, one aspect of the present invention is to provide a method for providing an application program on a virtual machine, so that when the client wants to start the application program, the corresponding execution file can be mounted (mount) to a virtual machine for virtual machine execution. The method for providing an application program on a virtual machine includes the following steps:
(a)自一客户端接收一应用程序开启指令,用以开启一目标应用程序。(a) receiving an application opening command from a client to open a target application.
(b)根据应用程序开启指令,分配一可用虚拟机器。(b) Allocating an available virtual machine according to the application start instruction.
(c)自一执行档储存池所存有的数个候选应用程序执行档,寻找对应目标应用程序的一目标应用程序执行档。(c) Searching for a target application execution file corresponding to the target application from several candidate application execution files stored in an execution file storage pool.
(d)挂载目标应用程序执行档至可用虚拟机器。(d) mounting the target application program execution file to an available virtual machine.
(e)通过可用虚拟机器执行已挂载的目标应用程序执行档。(e) Executing the mounted target application execution file through the available virtual machine.
本发明的另一方面是在提供一种电脑可读取记录媒体,储存一电脑程序,用以执行上述于虚拟机器提供应用程序的方法。方法步骤流程如上所述,在此不再重复赘述。Another aspect of the present invention is to provide a computer-readable recording medium storing a computer program for executing the above-mentioned method for providing an application program in a virtual machine. The flow of the method steps is as described above, and will not be repeated here.
本发明的另一方面是在提供一种于虚拟机器提供应用程序的系统,用以在客户端欲开启应用程序时,将对应的执行档挂载至一虚拟机器,供虚拟机器执行。于虚拟机器提供应用程序的系统包含一执行档储存池、一指令接收模块、一机器分配模块、一执行档寻找模块以及一挂载模块。执行档储存池储存数个候选应用程序执行档。指令接收模块自一客户端接收一应用程序开启指令,用以开启一目标应用程序。机器分配模块根据应用程序开启指令,分配候一可用虚拟机器。执行档寻找模块自执行档储存池所存有的候选应用程序执行档,寻找对应目标应用程序的一目标应用程序执行档。挂载模块挂载目标应用程序执行档至可用虚拟机器,并通过可用虚拟机器执行已挂载的目标应用程序执行档。Another aspect of the present invention is to provide a system for providing an application program on a virtual machine, which is used to mount the corresponding execution file to a virtual machine when the client wants to start the application program, for the virtual machine to execute. The system for providing application programs in the virtual machine includes an execution file storage pool, an instruction receiving module, a machine allocation module, an execution file search module and a mount module. The execution file storage pool stores several candidate application execution files. The instruction receiving module receives an application opening instruction from a client to open a target application. The machine allocating module allocates an available virtual machine according to the opening instruction of the application program. The execution file searching module searches for a target application execution file corresponding to the target application from the candidate application execution files stored in the execution file storage pool. The mounting module mounts the execution file of the target application program to an available virtual machine, and executes the mounted target application execution file through the available virtual machine.
应用本发明具有下列优点:客户端的使用者欲透过客户端执行一应用程序时,可就现有的虚拟机器进行应用程序的执行。也就是说,即使现有的虚拟机器未安装有欲执行的应用程序,仍可自执行档储存池复制并挂载对应的执行档,而使现有的虚拟机器可执行原先未安装的应用程序。换言之,上述状况中,不需为了未安装的应用程序,另外初始化新的虚拟机器。也就是说,可不需安装太多应用程序于虚拟机器,减少维持各虚拟机器所需的资源,且可节省初始化新的虚拟机器所需的时间。此外,若有多个客户端欲使用同样的应用程序时,可通过重复复制并挂载多个对应的执行档,以供多个不同客户端分别使用。因此,可避免同一应用程序无法同时被多个客户端使用。The application of the present invention has the following advantages: when the user of the client terminal wants to execute an application program through the client terminal, the application program can be executed on the existing virtual machine. That is to say, even if the existing virtual machine is not installed with the application to be executed, the corresponding execution file can still be copied and mounted from the execution file storage pool, so that the existing virtual machine can execute the application that was not installed before . In other words, in the above situation, there is no need to additionally initialize a new virtual machine for an application that is not installed. That is to say, there is no need to install too many applications on the virtual machine, reducing the resources required to maintain each virtual machine, and saving the time required for initializing a new virtual machine. In addition, if multiple clients want to use the same application program, multiple corresponding execution files can be repeatedly copied and mounted for separate use by multiple different clients. Therefore, it can be avoided that the same application program cannot be used by multiple clients at the same time.
附图说明 Description of drawings
为让本发明的上述和其他目的、特征、优点与实施例能更明显易懂,所附附图的说明如下:In order to make the above and other objects, features, advantages and embodiments of the present invention more comprehensible, the accompanying drawings are described as follows:
图1是依照本发明一实施方式的一种于虚拟机器提供应用程序的方法流程图;FIG. 1 is a flowchart of a method for providing an application program on a virtual machine according to an embodiment of the present invention;
图2绘示依照本发明一实施方式的一种于虚拟机器提供应用程序的系统的功能方块图;FIG. 2 shows a functional block diagram of a system for providing application programs on a virtual machine according to an embodiment of the present invention;
图3绘示依照本发明另一实施方式的一种于虚拟机器提供应用程序的系统的功能方块图。FIG. 3 is a functional block diagram of a system for providing application programs on a virtual machine according to another embodiment of the present invention.
【主要组件符号说明】[Description of main component symbols]
100:于虚拟机器提供应用程序的方法100: Method for Serving Applications on Virtual Machines
120~170:步骤120~170: steps
200:于虚拟机器提供应用程序的系统200: A system that provides applications on virtual machines
210:执行档储存池210: Execution file storage pool
220:执行档提供池220: The execution file provides a pool
240:虚拟桌面提供模块240: Virtual desktop providing module
250:指令接收模块250: Instruction receiving module
260:机器分配模块260: Machine Allocation Module
270:执行档寻找模块270: Executable file search module
280:挂载模块280: Mount module
280a:判断器280a: Judgment
290:信息查询模块290: Information query module
300:资源监控模块300: resource monitoring module
400:客户端400: Client
具体实施方式Detailed ways
以下将以附图及详细描述,清楚说明本发明的精神,任何所属技术领域中具有通常知识者,在了解本发明的较佳实施例后,当可由本发明所教示的技术,加以改变及修饰,然其并不脱离本发明的精神与范围。The spirit of the present invention will be clearly illustrated with the accompanying drawings and detailed description below. Anyone with ordinary knowledge in the technical field, after understanding the preferred embodiments of the present invention, can make changes and modifications based on the techniques taught in the present invention. , but it does not depart from the spirit and scope of the present invention.
请参照图1,其是依照本发明一实施方式的一种于虚拟机器提供应用程序的方法流程图。于虚拟机器提供应用程序的方法可经由一于虚拟机器提供应用程序的系统来实作,在自客户端透过虚拟桌面欲开启应用程序时,可将对应的执行档挂载至提供虚拟桌面的虚拟机器,供虚拟机器执行。Please refer to FIG. 1 , which is a flowchart of a method for providing an application program on a virtual machine according to an embodiment of the present invention. The method of providing an application program on a virtual machine can be implemented through a system providing an application program on a virtual machine. When an application program is to be opened from a client through a virtual desktop, the corresponding execution file can be mounted to the system providing the virtual desktop. Virtual machine for execution by the virtual machine.
于虚拟机器提供应用程序的方法100包含以下步骤:The
在步骤120中,自一客户端接收一应用程序开启指令,用以开启一目标应用程序。In
在本发明的一实施例中,在客户端的使用者欲执行一目标应用程序时,客户端的使用者可经由操作客户端的一应用程序,产生及传送该应用程序开启指令,供步骤120接收。在本发明的另一实施例中,可提供一虚拟桌面至客户端,借此使客户端的使用者可经由操作虚拟桌面,而产生及传送应用程序开启指令,供步骤120接收。在本发明的又一实施例中,可提供一网页至客户端,借此使客户端的使用者可经由操作网页,产生及传送应用程序开启指令。In an embodiment of the present invention, when the user of the client terminal intends to execute a target application program, the user of the client terminal can generate and transmit the application program start command by operating an application program of the client terminal for receiving in
在一些实施例中,客户端可经由有线或无线通讯网络,连接到执行本发明方法的系统。在另一些实施例中,客户端亦可和执行本发明方法的系统设置在同一硬体中。In some embodiments, the client terminal can be connected to the system for performing the method of the present invention via a wired or wireless communication network. In some other embodiments, the client can also be set in the same hardware as the system that executes the method of the present invention.
在步骤130中,根据应用程序开启指令,分配一可用虚拟机器。In
在一实施例中,可用虚拟机器是指仍有资源可提供客户端服务的虚拟机器,但其可能具有或不具有应用程序开启指令所对应的应用程序。In an embodiment, an available virtual machine refers to a virtual machine that still has resources to provide client services, but it may or may not have an application corresponding to the application start instruction.
在本发明的一实施例中,可提供数个候选虚拟机器,且每一候选虚拟机器具有对应的资源信息。因此,在步骤130的一实施例中,可依据各候选虚拟机器对应的资源信息,判断是否足够挂载和执行目标应用程序执行档来进行分配。例如,从数个候选虚拟机器中,找出具有的资源信息足够挂载和执行目标应用程序执行档的一个或数个虚拟机器,选择其中的一来作为可用虚拟机器。In an embodiment of the present invention, several candidate virtual machines may be provided, and each candidate virtual machine has corresponding resource information. Therefore, in an embodiment of
在本发明的另一实施例中,每一候选虚拟机器还具有对应的已安装应用程序。于是,在步骤130可进一步依据各候选虚拟机器具有对应的已安装应用程序是否包含目标应用程序,以及各候选虚拟机器对应的资源信息是否足够执行目标应用程序来进行分配。例如,当候选虚拟机器中,已安装应用程序包含目标应用程序者,若尚有足够资源可执行目标应用程序,则可优先选择已安装有目标应用程序的候选虚拟机器来作为可用虚拟机器。当候选虚拟机器中,已安装应用程序包含目标应用程序者,皆未有足够资源可执行目标应用程序时,则可从候选虚拟机器中对应的已安装应用程序未包含目标应用程序者,依据其对应的资源信息判断是否足够挂载和执行目标应用程序执行档,而进一步进行分配,亦即找出具有的资源信息足够挂载和执行目标应用程序执行档的一个或数个虚拟机器,选择其中的一来作为可用虚拟机器。In another embodiment of the present invention, each candidate virtual machine also has a corresponding installed application. Therefore, in
更进一步时,步骤130可根据应用程序开启指令,查询目标应用程序的所需资源信息,例如所需的运算资源、所需的记忆体空间、所需的指令集或所需的其他类型资源的信息。于是,可自现有的数个候选虚拟机器中,选择符合所需资源信息者,作为可用虚拟机器。Further, step 130 can query the required resource information of the target application program according to the application program start instruction, such as the required computing resources, required memory space, required instruction set or other types of resources required information. Therefore, from several existing candidate virtual machines, one that meets the required resource information can be selected as an available virtual machine.
更进一步时,可监控各候选虚拟机器的剩余资源。因此,在执行步骤130时,可选择候选虚拟机器中,其剩余资源符合所需资源信息者(例如,具有足够剩余资源可提供给目标应用程序者),作为可用虚拟机器。In a further step, the remaining resources of each candidate virtual machine can be monitored. Therefore, when
在步骤140中,自一执行档储存池所存有的数个候选应用程序执行档中,寻找对应目标应用程序的一目标应用程序执行档。较佳的实施例中,执行档储存池所存有的候选应用程序执行档已符合各候选虚拟机器的一虚拟机器系统环境,而不需针对各候选虚拟机器的环境参数重新安装。In
在本发明的一实施例中,执行档储存池所存有的候选应用程序执行档,可于各候选虚拟机器的虚拟机器系统环境中直接执行。在本发明的另一实施例中,执行档储存池所存有的候选应用程序执行档可在即时编译后,于各候选虚拟机器的虚拟机器系统环境中执行。在本发明的又一实施例中,执行档储存池所存有的候选应用程序执行档可执行于一模拟器(emulator)上,以于各候选虚拟机器的虚拟机器系统环境中直接执行,而不需重新安装。In an embodiment of the present invention, the candidate application executable files stored in the executable file storage pool can be directly executed in the virtual machine system environment of each candidate virtual machine. In another embodiment of the present invention, the candidate application executable files stored in the executable file storage pool can be executed in the virtual machine system environment of each candidate virtual machine after real-time compilation. In yet another embodiment of the present invention, the candidate application executable files stored in the executable file storage pool can be executed on an emulator, so as to be directly executed in the virtual machine system environment of each candidate virtual machine without Need to reinstall.
在步骤150中,挂载目标应用程序执行档至步骤130所分配的可用虚拟机器。在步骤150的一实施例中,可自执行档储存池链结或复制目标应用程序执行档至一分享空间。接下来,将分享空间中的目标应用程序执行档挂载至步骤130所分配的可用虚拟机器。In
在步骤160中,通过步骤130所分配的可用虚拟机器执行已挂载的目标应用程序执行档。如此一来,客户端的使用者欲执行应用程序时,可就现有的虚拟机器执行应用程序。此外,应用本发明的一实施例,即使现有的虚拟机器未安装有欲执行的应用程序,仍可自执行档储存池复制并挂载对应的执行档,而使现有的虚拟机器可执行原先未安装的应用程序。换言之,上述状况中,不需因为未安装应用程序,另外初始化新的虚拟机器。也就是说,可不需安装太多应用程序于虚拟机器中,并减少维持各虚拟机器所需的资源,且可节省初始化新的虚拟机器所需的时间。此外,若有多个客户端欲使用同样的应用程序时,可通过重复复制并挂载多个对应的执行档,供多个不同客户端分别使用。因此,可避免同一应用程序无法同时被多个客户端使用。In
于是,在步骤170中,可于客户端的一显示器,显示可用虚拟机器执行目标应用程序执行档的一执行画面。Therefore, in
此外,在本发明的一实施例中,可预先挂载部份执行档至可用虚拟机器。因此,于虚拟机器提供应用程序的方法100更可包含以下步骤:可在初始化可用虚拟机器时,挂载数个预设应用程序执行档至可用虚拟机器。于是,在步骤150前,可判断可用虚拟机器上已预先挂载的预设应用程序执行档中,是否包含目标应用程序执行档。在已预先挂载的预设应用程序执行档不包含目标应用程序执行档时,执行步骤150。在已预先挂载的预设应用程序执行档包含目标应用程序执行档时,则跳过步骤150,继续执行步骤160。如此一来,可通过预先挂载部份常用程序的执行档,进一步节省挂载所需的时间。In addition, in an embodiment of the present invention, some executable files can be pre-mounted to available virtual machines. Therefore, the
请参照图2,其绘示依照本发明一实施方式的一种于虚拟机器提供应用程序的系统的功能方块图。客户端透过虚拟桌面欲开启应用程序时,于虚拟机器提供应用程序的系统将对应的执行档挂载至一虚拟机器,供虚拟机器执行。Please refer to FIG. 2 , which shows a functional block diagram of a system for providing application programs on a virtual machine according to an embodiment of the present invention. When the client wants to open the application program through the virtual desktop, the system providing the application program in the virtual machine mounts the corresponding execution file to a virtual machine for execution by the virtual machine.
于虚拟机器提供应用程序的系统200主要包含一执行档储存池210、一指令接收模块250、一机器分配模块260、一执行档寻找模块270以及一挂载模块280。其中,指令接收模块250、机器分配模块260、执行档寻找模块270以及挂载模块280,可由相同或相异的伺服器的处理组件所提供。The
执行档储存池210储存数个候选应用程序执行档。系统200还可提供已初始化的数个候选虚拟机器。在本发明的一实施例中,执行档储存池210可实作于一服务器的一储存组件。在本发明的另一实施例中,执行档储存池210可通过云系统的一储存云实作。此外,执行档储存池210所存有的候选应用程序执行档,符合各候选虚拟机器的一虚拟机器系统环境,而不需针对各候选虚拟机器的环境参数重新安装。在本发明的一实施例中,执行档储存池210所存有的候选应用程序执行档,可于各候选虚拟机器的虚拟机器系统环境中直接执行。在本发明的另一实施例中,执行档储存池210所存有的候选应用程序执行档,可在即时编译后,于各候选虚拟机器的虚拟机器系统环境中执行。在本发明的又一实施例中,执行档储存池210所存有的候选应用程序执行档可执行于一模拟器上,以于各候选虚拟机器的虚拟机器系统环境中直接执行,而不需重新安装。The execution
在客户端400的使用者欲执行一目标应用程序时,可通过操作客户端400而产生对应的应用程序开启指令。于是,指令接收模块250自客户端400接收一应用程序开启指令,用以开启目标应用程序。在本发明的一实施例中,客户端400的使用者可透过客户端400的一应用程序,而产生及传送应用程序开启指令,供指令接收模块250接收。在本发明的另一实施例中,系统200的一虚拟桌面提供模块240可提供一虚拟桌面至客户端400。于是,客户端400的使用者可经由操作虚拟桌面,而产生及传送应用程序开启指令,供指令接收模块250接收。虚拟桌面提供模块240可与客户端400于同一电子装置上执行。此外,虚拟桌面提供模块240亦可透过一网络,提供虚拟桌面至远端的客户端400。虚拟桌面提供模块240可使用一虚拟桌面介面(Virtual Desktop Interface,VDI),传送虚拟桌面的画面至客户端400以提供虚拟桌面。于是,客户端400的使用者即可操作客户端400上所显示的虚拟桌面。在本发明的又一实施例中,系统200的一网页提供模块可提供一网页至客户端400。于是,客户端400的使用者可经由操作网页,而产生及传送应用程序开启指令,供指令接收模块250接收。When the user of the
机器分配模块260根据应用程序开启指令,分配一可用虚拟机器。其中,系统200还可包含数个候选虚拟机器。其中,每一候选虚拟机器具有对应的资源信息。于是,机器分配模块260可依据各候选虚拟机器对应的资源信息,判断是否足够挂载和执行该目标应用程序执行档来进行分配。进一步来说,每一候选虚拟机器更具有对应的已安装应用程序。于是,机器分配模块260可依据候选虚拟机器具有对应的已安装应用程序是否包含目标应用程序,以及各候选虚拟机器对应的资源信息是否足够执行目标应用程序来进行分配。当候选虚拟机器中,已安装应用程序包含目标应用程序者,皆未有足够资源可执行目标应用程序时,该机器分配模块260从候选虚拟机器具有对应的已安装应用程序却未包含目标应用程序者,依据其对应的资源信息判断是否足够挂载和执行目标应用程序执行档来进行分配。The
执行档寻找模块270自执行档储存池210所存有的候选应用程序执行档,寻找对应目标应用程序的目标应用程序执行档。The execution
接下来,挂载模块280挂载目标应用程序执行档至可用虚拟机器。在本发明的一实施例中,挂载模块280可自执行档储存池210,链结或复制目标应用程序执行档至一执行档提供池220的一分享空间,并使可用虚拟机器挂载执行档提供池220的分享空间。于是,挂载模块280通过可用虚拟机器执行已挂载的目标应用程序执行档。执行档储存池210与执行档提供池220可能设置在同一硬体设备中,也可能分别设置在不同的硬体设备中。接下来,系统200可提供可用虚拟机器执行目标应用程序执行档的一执行画面至客户端400,以于客户端400的显示器显示上述执行画面。如此一来,客户端400的使用者透过客户端400欲执行应用程序时,可就现有提供的虚拟机器执行应用程序。此外,应用本发明的一实施例,即使现有的虚拟机器未安装有欲执行的应用程序,仍可自执行档储存池210复制并挂载对应的执行档,使现有的虚拟机器执行原先未安装的应用程序。换言之,上述状况中,不需因为未安装应用程序,另外初始化新的虚拟机器。也就是说,不需安装太多应用程序于虚拟机器,并减少维持各虚拟机器所需的资源,且可节省初始化新的虚拟机器所需的时间。此外,若有多个客户端400欲使用同样的应用程序时,可通过复制并挂载多个对应的执行档,提供多个不同客户端分别使用,避免同一应用程序无法同时被多个客户端使用。Next, the
请参照图3,其绘示依照本发明另一实施方式的一种于虚拟机器提供应用程序的系统的功能方块图。应了解到,在以下叙述中,已经在上述实施方式中叙述过的内容将不再重复赘述,仅就与更新相关的技术内容加以补充。Please refer to FIG. 3 , which is a functional block diagram of a system for providing application programs on virtual machines according to another embodiment of the present invention. It should be understood that, in the following description, the content described in the above implementation manner will not be repeated, and only the technical content related to the update will be supplemented.
于虚拟机器提供应用程序的系统200可根据执行应用程序所需资源信息,选择适合的虚拟机器执行。因此,于虚拟机器提供应用程序的系统200还可包含一信息查询模块290,用以根据应用程序开启指令,查询目标应用程序的一所需资源信息,例如所需的运算资源、所需的存储器空间、所需的指令集或所需的其他类型资源的信息。于是,机器分配模块260可自系统200所提供的候选虚拟机器中,选择符合所需资源信息者作为可用虚拟机器。此外,于虚拟机器提供应用程序的系统200还可包含一资源监控模块300,用以监控各候选虚拟机器的一剩余资源,如剩余运算资源、剩余存储器空间、或其他剩余资源的信息。于是,机器分配模块260可选择候选虚拟机器中,其剩余资源符合所需资源信息者,作为可用虚拟机器。The
此外,挂载模块280可预先挂载数个预设应用程序执行档至可用虚拟机器。于是,在挂载目标应用程序执行档至可用虚拟机器前,挂载模块280的一判断器280a可判断已预先挂载于可用虚拟机器的预设应用程序执行档,是否包含目标应用程序执行档。在已预先挂载的预设应用程序执行档不包含目标应用程序执行档时,挂载模块280挂载目标应用程序执行档至可用虚拟机器。在已预先挂载的预设应用程序执行档包含目标应用程序执行档时,挂载模块280不额外挂载目标应用程序执行档至可用虚拟机器。如此一来,可通过预先挂载部分常用程序的执行档,进一步节省挂载所需的时间。In addition, the mounting
于虚拟机器提供应用程序的方法可经由于虚拟机器提供应用程序的系统来进行实作,于虚拟机器提供应用程序的系统中各模块可应用具特定逻辑电路的独特硬件装置来实作,如将该计算机程序和一个以上的处理器或芯片整合成独特硬件。更进一步者,数据同步方法亦可经由一般用途处理器/计算机/服务器与其它硬件来进行实作,使一般用途处理器/计算机/服务器读取储存此计算机程序的记录媒体后执行于虚拟机器提供应用程序的方法。当计算机程序被一般用途处理器/计算机载入且执行时,此一般用途处理器/计算机成用以参与本发明的系统,此一般用途处理器/计算机类似于应用具特定逻辑电路的独特硬件装置,执行本发明方法的操作步骤。The method of providing an application program on a virtual machine can be implemented through a system providing an application program on a virtual machine, and each module in the system providing an application program on a virtual machine can be implemented using a unique hardware device with a specific logic circuit, such as the The computer program and more than one processor or chip are integrated into unique hardware. Furthermore, the data synchronization method can also be implemented through a general-purpose processor/computer/server and other hardware, so that the general-purpose processor/computer/server reads the recording medium storing the computer program and executes it on a virtual machine. method of the application. When the computer program is loaded and executed by a general-purpose processor/computer, the general-purpose processor/computer is used to participate in the system of the present invention, and the general-purpose processor/computer is similar to a unique hardware device with specific logic circuits. , to execute the operation steps of the method of the present invention.
虽然本发明已以实施方式揭露如上,然其并非用以限定本发明,任何熟悉此技艺者,在不脱离本发明的精神和范围内,当可作各种的更动与润饰,因此本发明的保护范围当视所附的权利要求书所界定的范围为准。Although the present invention has been disclosed above in terms of implementation, it is not intended to limit the present invention. Any skilled person can make various changes and modifications without departing from the spirit and scope of the present invention. Therefore, the present invention The scope of protection should be based on the scope defined by the appended claims.
Claims (18)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN2011103787922A CN103136000A (en) | 2011-11-21 | 2011-11-21 | Method and system of providing application program for virtual machine |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN2011103787922A CN103136000A (en) | 2011-11-21 | 2011-11-21 | Method and system of providing application program for virtual machine |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN103136000A true CN103136000A (en) | 2013-06-05 |
Family
ID=48495871
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN2011103787922A Pending CN103136000A (en) | 2011-11-21 | 2011-11-21 | Method and system of providing application program for virtual machine |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN103136000A (en) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN105589747A (en) * | 2016-02-25 | 2016-05-18 | 深圳市创想天空科技股份有限公司 | Method and system for controlling multi-running of application programs |
| CN106933634A (en) * | 2017-03-09 | 2017-07-07 | 北京奇虎科技有限公司 | The installation method of Android application, device and electronic equipment |
| CN113806007A (en) * | 2020-06-15 | 2021-12-17 | 中兴通讯股份有限公司 | Disk mounting method, disk mounting device, storage medium, and electronic device |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20080301770A1 (en) * | 2007-05-31 | 2008-12-04 | Kinder Nathan G | Identity based virtual machine selector |
| CN101512488A (en) * | 2006-08-07 | 2009-08-19 | Bea系统公司 | System and method for providing hardware virtualization in a virtual machine environment |
| WO2011127860A2 (en) * | 2011-05-18 | 2011-10-20 | 华为技术有限公司 | Method, server and system for starting application |
-
2011
- 2011-11-21 CN CN2011103787922A patent/CN103136000A/en active Pending
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101512488A (en) * | 2006-08-07 | 2009-08-19 | Bea系统公司 | System and method for providing hardware virtualization in a virtual machine environment |
| US20080301770A1 (en) * | 2007-05-31 | 2008-12-04 | Kinder Nathan G | Identity based virtual machine selector |
| WO2011127860A2 (en) * | 2011-05-18 | 2011-10-20 | 华为技术有限公司 | Method, server and system for starting application |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN105589747A (en) * | 2016-02-25 | 2016-05-18 | 深圳市创想天空科技股份有限公司 | Method and system for controlling multi-running of application programs |
| CN105589747B (en) * | 2016-02-25 | 2018-10-23 | 深圳市创想天空科技股份有限公司 | The control method and system that application program is opened more |
| CN106933634A (en) * | 2017-03-09 | 2017-07-07 | 北京奇虎科技有限公司 | The installation method of Android application, device and electronic equipment |
| CN113806007A (en) * | 2020-06-15 | 2021-12-17 | 中兴通讯股份有限公司 | Disk mounting method, disk mounting device, storage medium, and electronic device |
| WO2021254280A1 (en) * | 2020-06-15 | 2021-12-23 | 中兴通讯股份有限公司 | Disk mounting method and device, storage medium, and electronic device |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TWI478063B (en) | System and method for providing an application on a virtual machine and computer readable recording medium for storing the same | |
| CN107580083B (en) | Method and system for allocating IP addresses of containers | |
| US10333975B2 (en) | Enhanced computing system security using a secure browser | |
| US10341251B2 (en) | Method and system for securely transmitting volumes into cloud | |
| EP2344953B1 (en) | Provisioning virtual resources using name resolution | |
| US9851996B2 (en) | Applying firmware updates in a system with zero downtime by selectively offlining and onlining hardware using a scale-up hypervisor layer | |
| US20210406388A1 (en) | Accessing file systems in a virtual environment | |
| US20140214922A1 (en) | Method of providing virtual machine and service gateway for real-time virtual desktop service | |
| CN113196237A (en) | Container migration in a computing system | |
| CN113590146B (en) | Server and container upgrading method | |
| CN103108016B (en) | Cloud system for opening documents on virtual desktop and method for opening documents on virtual desktop | |
| US10320892B2 (en) | Rolling capacity upgrade control | |
| US11392395B2 (en) | Generating and presenting contextual user interfaces on devices with foldable displays | |
| CN104506635A (en) | Fast and efficient cloud mainframe creating and matching method and system | |
| US10404568B2 (en) | Agent manager for distributed transaction monitoring system | |
| CN111989903A (en) | Data caching for cloud services | |
| KR20110083084A (en) | Server operating device and method using virtualization | |
| US9058239B2 (en) | Hypervisor subpartition as concurrent upgrade | |
| CN110162397B (en) | Resource allocation method, device and system | |
| US20140082275A1 (en) | Server, host and method for reading base image through storage area network | |
| EP3213198B1 (en) | Monitoring a mobile device application | |
| CN110908675B (en) | Method and device for acquiring running environment and electronic equipment | |
| CN103136000A (en) | Method and system of providing application program for virtual machine | |
| CN111858035A (en) | A kind of FPGA device allocation method, device, device and storage medium | |
| US8442939B2 (en) | File sharing method, computer system, and job scheduler |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
| WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20130605 |