CN104981776B - To the system update of personal virtual disk - Google Patents

To the system update of personal virtual disk Download PDF

Info

Publication number
CN104981776B
CN104981776B CN201480008191.4A CN201480008191A CN104981776B CN 104981776 B CN104981776 B CN 104981776B CN 201480008191 A CN201480008191 A CN 201480008191A CN 104981776 B CN104981776 B CN 104981776B
Authority
CN
China
Prior art keywords
disk layer
renewal
virtual machine
virtual
disk
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.)
Expired - Fee Related
Application number
CN201480008191.4A
Other languages
Chinese (zh)
Other versions
CN104981776A (en
Inventor
迈克尔·拉金
沙希基兰·乌利
威廉·德福雷斯特
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.)
Citrix Systems Inc
Original Assignee
Citrix Systems Inc
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 Citrix Systems Inc filed Critical Citrix Systems Inc
Publication of CN104981776A publication Critical patent/CN104981776A/en
Application granted granted Critical
Publication of CN104981776B publication Critical patent/CN104981776B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • 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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/452Remote windowing, e.g. X-Window System, desktop virtualisation
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Disclose the method and system for updating a collection of software resource in virtual desktop architecture system.One or more renewals that can use software resource are provided to for example basic, department in the hierarchy of disk layer or the relevant virtual machine of group of the virtual disk element of user's virtual disk.Recorded in the database by controller server available for the renewal being deployed in virtual desktop architecture system.Controller server uses the cataloguing for all virtual machines that renewal can be used with the relevant application on it of each disk layer in the hierarchy of disk.The virtual machine that one or more renewals are applied to identify by controller server, and renewal is applied into result storage in the database.Controller server combines one or more renewals in situation about applying before, and the renewal is applied to and the relevant virtual machine of offspring's disk layer in the hierarchy of disk layer.

Description

To the system update of personal virtual disk
Submitted this application claims on 2 11st, 2013 entitled " to the system update (System of personal virtual disk Updates with Personal Virtual Disks) " and specify the volume of the artificial inventor such as William DeForeest Number for 13/764,295 U.S. Patent application priority, this application by quote be all incorporated into herein.
Field
Present invention relates generally to computer virtualized and establishment and manage virtual machine.Particularly, various aspects therein It is related to the management of the renewal of the virtual machine in desktop virtual system.
Background
Traditionally, personal computer configuration includes the combination of operating system, application and user setting, it is therein each Individually managed by the owner or administrator are continual.However, many tissues use desktop virtual system now To provide more flexible selection with the needs of the change of processing their user.In desktop virtual system, the calculating of user Environment (for example, operating system, application and/or user setting) can be with the physical computing devices of user (for example, smart phone, knee Laptop computer, desktop computer) separation.Using client-server technology, " virtualization desktop " is storable in remote service In device and by remote server administration, without being stored in the local storage of client computing device.
There are several different types of desktop virtual systems.As an example, virtual desktop architecture (VDI) refers to operation It is present in the process of user's desktop of the virtual machine internal on server.VDI and other desktop virtualization systems based on server System can provide personalized tabletop for each user, while allow centralized management and safety.Server in such a system It may include the memory of virtual desktop mirror image and system configuration information and virtual machine be provided and allows user to be interconnected to theirs Software part.For example, VDI servers may include that one or more hypervisors (virtual machine manager) are more to create and safeguard A virtual machine, the software for managing hypervisor, connection go-between and offer and the software for managing virtual desktop.VDI is managed Complicated and tedious process.
Desktop virtual system may include one or more virtual magnetic disc layer, it includes the classification of disk layer or " disk tree " Structure.Each disk layer in the hierarchy of disk layer is made of one or more virtual disks.The structure of these disk layers Making can be occurred by various devices.Disk tree is involved in the fusion during operation performed during booting operating system, it is provided The information related with the data included in each disk tree, and cause the generation of one or more virtual machines to be used for by finally using Family uses.
General introduction
According to foregoing background, the following describes the disclosure simplifies general introduction, in order to provide to some aspects described herein Basic comprehension.The general introduction is not extensive overview ot, and is not intended to crucial identification or critical elements or describes claim Scope.The various aspects described in simplified form are only introduced in following general introduction, using as being provided below in greater detail Preamble.
Even if the computer system updated in VDI systems is not thing once or once a day per week in modern computing Part, and mensal event.The security threat of latest find, the new version of software and increase new opplication may all need to change Become the data being stored in computer disk.For example, in the information technology sector for usually all deploying VDI systems, Ke Nengcun Management can with update and they are published to object-computer using the combination of algorithm and the selection made by operating personnel The center renewal management system of system.However, the selection that goal systems is set is probably very extensive and inaccurate.In addition, Operating personnel perhaps may be using various possible systems as target, and depend on the filter process for system come anti-locking system Error.Therefore, aspects described herein, which provides, is used for a collection of software resource of the renewal in virtual desktop architecture system Improved system and method.As it is used herein, renewal may include patch, software upgrading and may need be applied to one or Any other software maintenance of multiple software resources.
According to the disclosure in some terms, being configured to receive the more new management of multiple renewals of one or more software resources One or more renewals are published to the hierarchy of disk layer by database.Controller server is by one or more more new records In data storage device.Controller server then identifies the multiple virtual of each disk layer in the hierarchy of disk layer Machine, and one or more renewals are virtual applied to one or more of predetermined disk layer in the hierarchy of disk layer Machine.It is stored in using the result of the trial of one or more renewal at controller server.If to giving target virtual machine Renewal is successful, then the renewal pair that one or more is issued is relevant with the follow-up disk layer in the hierarchy of disk layer The application of each virtual machine in multiple virtual machines is suspended.If the renewal to given target virtual machine is unsuccessful, One or more issued renewal be applied to in the relevant multiple virtual machines of offspring's disk layer of and then predetermined disk layer Each virtual machine.The process of this iteration continues, until all virtual machines are all as the target for the renewal issued Or all remaining virtual machines for the target of renewals issued as one or more be all successfully be updated be Untill the offspring of system.
According to the other various aspects of the disclosure, more new management database can receive one or more software resources more Newly.This new renewal is recorded in data warehouse by controller server, and identify can be used as update one of target or Multiple available software resources.In addition, the identification of controller server is identified in the one or more with the target as renewal Software resource disk layer hierarchy in each disk layer.Controller server is also determined and identified with one Or the minimum disk layer in the hierarchy of the disk layer of multiple software resources identified.Afterwards, controller server can incite somebody to action Appropriate virtual machine in the disk layer identified is updated as target with receiving, and each offspring's virtual machine --- if If --- it can be updated will be received during updating the successive iterations applied to offspring's disk layer.
The brief description of accompanying drawing
After so various aspects of the disclosure is described with generic term, referring now to attached drawing, attached drawing is not necessarily It is drawn to scale, and wherein:
Fig. 1 shows Example Operating Environment, and various aspects of the disclosure can be implemented wherein.
Fig. 2 shows the computing device that can be used according to one or more illustrative aspects described herein.
Fig. 3 shows the computing device that can be used according to one or more illustrative aspects described herein.
Fig. 4 is the embodiment for describing the virtualized server according to one or more illustrative aspects described herein Block diagram.
Fig. 5 shows the virtual desktop architecture system described according to one or more illustrative aspects described herein Embodiment block diagram.
Fig. 6 is to show to be used to monitor and manage in virtual desktop according to one or more illustrative aspects described herein The block diagram of some components of the renewal of software resource in architecture system.
Fig. 7 is to show, according to one or more illustrative aspects described herein, to update virtual desktop architecture system In a collection of software resource instantiation procedure flow chart.
It is described in detail
Below in relation in the description of various embodiments, with reference to form a part of attached drawing therein, and in attached drawing In each embodiment is shown by way of illustration, and various aspects described herein can be in each embodiment Implement.It is to be understood that using other embodiment, and 26S Proteasome Structure and Function modification can be made, without departing from the scope of the present disclosure and Spirit.
As those of skill in the art will be recognized that when reading following open, various aspects described herein can It is presented as method, data handling system or computer program product.Therefore, these aspect can take devices at full hardware embodiment, The form of the embodiment of full software or the embodiment of the various aspects of integration software and hardware.In addition, these aspects can adopt Take and stored by one or more computer-readable recording medium storages with computer readable program code or instruction, realization The form of computer program product in medium or on storage medium.Using any appropriate computer-readable recording medium, Including hard disk, CD-ROM, optical storage apparatus, magnetic storage apparatus and/or its any combinations.In addition, represent as herein The data or the various signals of event can pass through signal transduction medium such as metal wire, optical fiber between a source and a destination And/or the form of the electromagnetic wave of wireless transmission medium (for example, air and/or space) propagation is transmitted.
Furthermore, it is to be understood that phraseology and terminology employed herein is for purposes of description, and it is not construed as restricted 's.More properly, phrase and term used herein should be given its broadest interpretation and implication." including (including) " it is intended to cover in the item listed thereafter with the use of " including (comprising) " and its deformation and its is equal Item and other item and its equivalent item.
Fig. 1 is shown can be according in the example computing device 100 that one or more illustrative embodiments of the disclosure use Universal computing device 101 (such as calculation server 106a) example block diagram.According to one or more aspects, general-purpose computations Equipment 101 can be configured as single server or multiserver desktop virtualization of client access device offer virtual machine Server 106a in system (such as cloud system).Universal computing device 101, which can have, to be used to control server and its dependent part Part (including random access memory (RAM) 105, read-only storage (ROM) 107, input/output (I/O) module 109 and storage Device 115) integrated operation processor 103.
I/O modules 109 may include that mouse, keyboard, touch-screen, scanner, optical reader and/or writing pencil are (or other Input equipment), the user of universal computing device 101 can provide input by these input equipments, and may also comprise for carrying Loudspeaker for audio output and for providing one or more in text, audiovisual and/or the video display apparatus of images outputting It is a.Software is storable in memory 115 and/or other storage devices to be used to set general-purpose computations to provide to processor 103 Standby 101 are able to carry out the instruction of various functions.For example, memory 115 can store the software used by universal computing device 101, Such as operating system 117, application program 119 and Relational database 121.Alternatively, universal computing device 101 is some or all of Computer executable instructions may be implemented in hardware or firmware (not shown).
Universal computing device 101 can support to be connected to one of such as terminal 140 (also referred to as client device) or Operated in the networked environment of the connection of multiple remote computers.Terminal 140 can be included above for universal computing device 101 The personal computer or server of many or whole elements of description.The network connection described in Fig. 1 includes LAN (LAN) 125 and wide area network (WAN) 129, but may also include other networks.When in LAN networked environments in use, universal computing device 101 can be connected to LAN 125 by network interface or adapter 123.When in WAN networked environments in use, general-purpose computations are set Standby 101 may include modem 127 or for establishing for example on the WAN 129 of computer network 130 (such as internet) Other network interfaces of communication.It will be appreciated that the network connection is illustrative, and it can be used and establish between computer Other devices of communication link.
Universal computing device 101 and/or terminal 140 can also be include various other components such as battery, loudspeaker and The mobile terminal (for example, mobile phone, smart phone, PDA, notebook etc.) of antenna (not shown).
The disclosure engages many other universal or special computing system environments or configuration is operated.It may be suitable for engaging The example of known computing system, environment and/or configuration that the disclosure uses includes but not limited to personal computer, server meter Calculation machine, hand-held or laptop devices, multicomputer system, the system based on microprocessor, set-top box, programmable consumer electronics are set Any one Distributed Calculation ring in standby, network PC, minicom, mainframe computer including said system or equipment Border etc..
As shown in Figure 1, one or more client devices 140 can be with one or more server 106a-106n (herein Be commonly referred to as " server 106 ") communication.In one embodiment, computing environment 100 may include to be installed on server 106 and visitor Utensil between family terminal device 140.The utensil can the connection of management client/server, and can make multiple in some cases Client connection load balance among back-end server 106.
Client machine 140 can be referred to as single client machine 140 or single group client machines in some embodiments Device 140, and server 106 is referred to alternatively as individual server 106 or single group server 106.In one embodiment, single visitor Family terminal device 140 communicates with more than one server 106, and in another embodiment, individual server 106 with it is more than one Client machine 140 communicates.In yet another embodiment, single client machine 140 communicates with individual server 106.
Any one during client machine 140 can list under in some embodiments is quoted:Client machine 140th, client, client computer, client device, client computing device, local machine, remote machine, client's end segment Point, endpoint, endpoint node or the second machine.Server 106 can be listd in some embodiments under in any one Quote:Server, local machine, remote machine, server zone, host computing device or the first machine.
In one embodiment, client machine 140 can be virtual machine.Virtual machine can be any virtual machine, and In some embodiments, virtual machine can be by Citrix systems, IBM, VMware exploitation hypervisor or it is any its Any virtual machine of its hypervisor management.In certain aspects, virtual machine can be by hypervisor management, and in other sides In face, virtual machine can be by the hypervisor performed on a server 106 or the hypervisor pipe performed in client 140 Reason.
Client machine 140 is executable, operates or provides application otherwise, during the application is listd under being Any one:Software, program, executable instruction, virtual machine, hypervisor, web browser, network client End, client-server application, thin-client calculate client, ActiveX control, Java Applet and soft IP phone Deng internet voice protocol (VoIP) communicate related software, the application for streaming video and/or audio, for easy to The application of real-time data communication, HTTP clients, ftp client, Oscar clients, telnet client or it is any other can Execute instruction collection.Other other embodiment includes display by long-range on server 106 or other remotely located machines The client device 140 of application program output caused by the application program that ground performs.In these embodiments, client is set Standby 140 can show the output of application program in application window, browser or other output windows.In one example, Application program is desktop, and in other examples, application program is to produce the application program of desktop.Desktop may include to provide operation The figure shell of the user interface of the example of system, locally and/or remotely application program can be integrated in the operation system example. As used herein, application program is to be loaded it in the example (also, alternatively equally including desktop) of operating system The program performed afterwards.
Server 106 performs long-range presentation client or other clients or program in some embodiments, it is used Thin-client or remote display protocol capture the display output as caused by the application program performed on a server 106 and will Application program display output is transferred to Terminal Server Client 140.Thin-client or remote display protocol can be in following agreement Any one:Independent counting system structure (ICA) agreement produced by the Citrix system house of Florey Dazhou City Luo De Dai Bao Or the Remote Desktop Protocol (RDP) produced by the Microsoft of Redmond, Washington.
Computing environment may include more than one server 106A-106N so that server 106A-106N is logically together Concentrate in server zone 106, such as concentrate on together in cloud computing environment.Server zone 106 may include geographically to disperse And the server 106 that logically concentrates on together in server zone 106 or it is positionable adjacent one another and logically concentrates together Server 106 in server zone 106.Geographically scattered server 106A-106N in server zone 106 is one WAN, MAN or LAN can be used to communicate in a little embodiments, wherein different geographic areas can list carry out table under Show:It is different continent, the different zones in continent, different national, different states, different cities, different school districts, different Room or any combinations in foregoing geographical location.In some embodiments, server zone 106 can carry out pipe as single entity Reason, and in other embodiments, server zone 106 may include multiple server zones 106.
In some embodiments, server zone 106 may include to perform the similar operating system platform (example of substantial type Such as, by Redmond, Washington Microsoft produce WINDOWS NT, UNIX, LINUX or SNOW LEOPARD) clothes Business device 106.In other embodiments, server zone 106 may include perform the operating system platform of the first kind first group Second group of server 106 of the operating system platform of server 106 and execution Second Type.Server zone 106 is in other implementations It may include the server 106 for performing different types of operating system platform in mode.
Server 106 can be any type of server in some embodiments.In other embodiments, server 106 can be any one in following services device type:File server, application server, web server, agency service Device, utensil, network appliance, gateway, application gateway, gateway server, virtualized server, deployment services device, SSL VPN services Device, fire wall, web server, application server or as master application server, perform Active Directory server 106 or hold Row provides the server 106 of the application acceleration program of firewall functionality, application function or load balance function.In some embodiment party In formula, server 106 can be the radius server for including Remote Authentication Dial-In User Service.Include device in server 106 In the embodiment of tool, server 106 can be by the utensil of any one manufacture in following manufacturer:Citrix application nets Network group, SilverPeak system house, Riverbed technology companies, F5 Networks Inc. or Juniper network companies.Some realities Applying mode includes receiving request from client machine 140, forwards requests to second server 106n and using from the second clothes The first server 106A that the response of business device 106n responds the request that client machine 140 produces.First server The application that 106A can obtain the list of 140 adoptable application of client machine and be identified with trustship in the list of the application 106 relevant address information of application server.First server 106A can then be presented using web interface and client is asked The response asked, and with 140 direct communication of client to provide the access of the application to being identified to client 140.
Server 106 can perform any one in following application in some embodiments:Use thin-client agreement By the thin-client application of application display data transmissions to client;Application is presented in long-range display;Citrix system house Any part of CITRIX ACCESS SUITE such as METAFRAME or CITRIX PRESENTATION SERVER;It is public by Microsoft Take charge of the MICROSOFT WINDOWS terminal services produced;Or the ICA client developed by Citrix System Co., Ltd.It is another Embodiment includes the server 106 as application server, such as provides E-mail service and for example manufactured by Microsoft E-mail server, web or the Internet Server of MICROSOFT EXCHANGE, desktop sharing server, cooperation clothes The application server of business device or any other type.Other other embodiment includes performing the Entrust Server of following classes Any one server 106 in:By the Citrix GOTOMEETING that sub- Co., Ltd provides online;By Jia Lifu The WEBEX that the WebEx Co., Ltds of Buddhist nun Asia state sage's santa clara the provide or Microsoft Office provided by Microsoft LIVE MEETING。
Client machine 140 can be the access for seeking the resource to being provided by server 106 in some embodiments Client node.In other embodiments, server 106 can give client 140 or client node to provide to trustship The access of resource.Server 106 plays host node in some embodiments so that it and one or more clients 140 or server 106 communicate.In some embodiments, host node can recognize that the server 106 with the requested application of trustship Relevant address information simultaneously provides the address information to one or more clients 140 or server 106.Other other In embodiment, host node can be server zone 106, client 140, the set of client node 140 or utensil.
One or more clients 140 and/or one or more servers 106 can pass through the machine in computing environment 100 The network 130 installed between device and utensil transmits data.Network 130 may include one or more sub-networks, and can be installed on visitor Family end 140, server 106, the computing device being included in computing environment 100 and utensil any combinations between.At some In embodiment, network 130 can be:LAN (LAN), Metropolitan Area Network (MAN) (MAN), wide area network (WAN), by positioned at client machine The master network 104 of multiple sub-networks composition between 140 and server 106, the main public network 130 with private subnets network (such as internet), the main dedicated network 130 with common subnet or the main dedicated network 130 with private subnets network.Again Some embodiments include network 130, it can be any one of following network type:Point to point network, radio network, Telecommunication network, data communication network, computer network, ATM (asynchronous transfer mode) network, SONET (Synchronous Optical Network) network; SDH (synchronous digital system) network, wireless network, wired networks or the network including Radio Link, radio chains therein Road can be infrared channel or Landsat band.The network topology of network 130 can be different in different embodiments, possible Network topology includes:Bus network topology, star network topology, ring network topology, the network topology based on repeater are divided Layer star network topology.Extra embodiment may include the multiple mobile electricity to communicate using agreement between mobile equipment The network of telephone network composition, wherein agreement can be any one in following agreement:AMPS、TDMA、CDMA、GSM、GPRS UMTS or any other agreement that data can be transmitted between mobile equipment.
Figure 2 illustrates the embodiment of computing device 200, client machine 140 and server wherein shown in Fig. 1 106 can be deployed as any embodiment of computing device 200 shown and described herein and/or shown and described herein Performed in any embodiment of computing device 200.It is total with the system of following component communication to be included in computing device 200 Line 250:Central processing unit 221, main storage 222, stored memory 228, input/output (I/O) controller 223, display are set Standby 224A-224N, installation equipment 216 and network interface 218.In one embodiment, stored memory 228 includes:Operation system System, software routines and Client Agent 220.I/O controllers 223 are connected further to 226 He of keyboard in some embodiments Instruction equipment 227.Other embodiment may include the I/O controllers for being connected to more than one input-output apparatus 223A-230N 223。
Fig. 3 shows an embodiment of computing device 300, client machine 140 and server wherein shown in Fig. 1 106 can be deployed as any embodiment of computing device 300 shown and described herein and/or shown and described herein Performed in any embodiment of computing device 300.It is total with the system of following component communication to be included in computing device 300 Line 350:370 and the first I/O equipment 330a of bridge.In another embodiment, bridge 370 further with main central processing unit 321 Communication, wherein central processing unit 321 can further with the 2nd I/O equipment 330b, main storage 322 and cache memory 340 communications.It is I/O ports, port memory 303 and primary processor to be included in central processing unit 321.
The embodiment of computing device 300 may include any one central processing characterized in being configured by following component Unit 321:In response to and handle from main storage unit 322 take out instruction logic circuit;Microprocessor unit for example by The microprocessor unit of Intel company's manufacture;The microprocessor unit manufactured by Motorola Inc.;By California The microprocessor of Transmeta Company's manufacture of holy santa clara;RS/6000 processors, such as by International Business Machine Corporation (IBM) The processor of manufacture;Processor, such as the processor manufactured by advanced micro devices company;Or any other group of logic circuit Close.The other other embodiment of central processing unit 322 may include any combinations of following component:Microprocessor, micro-control Device processed, the central processing unit with single processing core, the central processing unit with two processing cores or with being more than The central processing unit of one processing core.
Although Fig. 3 shows the computing device 300 for including single central processing unit 321, in some embodiments, calculate Equipment 300 may include one or more processing units 321.In these embodiments, computing device 300 can be stored and performed solid Part or other executable instructions, instruct guidance one or more processing units 321 while execute instruction when executed or in list On data at the same time execute instruction.In other embodiments, computing device 300 can store and perform firmware or other executable Instruction, instructs the part for instructing one or more processing units each to perform one group of instruction when executed.For example, each place Reason unit 321 can be instructed to a part for executive program or the particular module in program.
In some embodiments, processing unit 321 may include one or more processing cores.For example, processing unit 321 Can have two cores, four cores, eight cores etc..In one embodiment, processing unit 321 may include one or more A parallel processing cores.The processing core of processing unit 321 can access available memory in some embodiments as complete Office's address space, or in other embodiments, the memory in computing device 300 can be divided and be assigned to single in processing Particular core in member 321.In one embodiment, in one or more of computing device 300 processing core or processing Device can each access local storage.In yet another embodiment, the memory in computing device 300 can be in one or more It is shared between processor or processing core, and other memories can be by the subset access of specific processor or processor. Computing device 300 is included in the embodiment of more than one processing unit, and multiple processing units can be included in single integrated electricity In road (IC).The multiple processor in some embodiments can be by being referred to alternatively as the inner high speed bus of Component Interconnect bus Link together.
Include one or more processing units 321 in computing device 300 or include the processing of one or more processing cores In the embodiment of unit 321, processor can perform the single instruction (SIMD) simultaneously for more datas, or in other implementations It can perform the multiple instruction (MIMD) simultaneously for more datas in mode.In some embodiments, computing device 100 can wrap Include any amount of SIMD and MIMD processors.
Computing device 300 may include graphics processor or graphics processing unit (not shown) in some embodiments.Figure Shape processing unit may include any combinations of software and hardware, and can further input graphics data and graphics command, according to defeated The data and instruction entered render figure, and export rendered figure.In some embodiments, graphics processing unit may include In processing unit 321.In other embodiments, computing device 300 may include one or more processing units 321, wherein At least one processing unit 321 is exclusively used in handling and rendering figure.
One embodiment of computing device 300 includes the secondary bus and speed buffering via also referred to as rear side bus The central processing unit 321 that memory 340 communicates, and another embodiment of computing device 300 is included via system bus 350 The central processing unit 321 to communicate with cache memory.Local system bus 350 in some embodiments also can be in Central Processing Unit communicates using with the I/O equipment 330a-330n with more than one type.In some embodiments, local system Bus 350 of uniting can be any one of bus of following classes:VESA VL buses, isa bus, eisa bus, microchannel Architecture (MCA) bus, pci bus, PCI-X buses, PCI-Express buses or NuBus.Computing device 300 it is other Embodiment includes I/O equipment 330a-330n, it includes the video display 224 to communicate with central processing unit 321.Calculate Other other versions of equipment 300 include being connected to the place of I/O equipment 330a-330n via any one of following connection Manage device 321:HyperTransport, quick I/O and InfiniBand.The other embodiment of computing device 300 include with An I/O equipment 330a using local interconnection bus and the processor using the 2nd I/O equipment 330b communications being directly connected to 321。
Computing device 300 includes main storage unit 322 and cache memory 340 in some embodiments.It is high Fast buffer storage 340 can be any type of memory, and can be the memory of following classes in some embodiments Any one of:SRAM, BSRAM or EDRAM.Other embodiment includes cache memory 340 and main storage list Member 322, it can be any one of memory of following classes:Static RAM (SRAM), burst type SRAM or synchronization burst formula SRAM (BSRAM);Dynamic random access memory (DRAM);Fast page mode DRAM (FPM DRAM);Strengthen DRAM (EDRAM), growth data output RAM (EDO RAM);Growth data output DRAM (EDO DRAM);It is prominent Send out growth data output DRAM (BEDO DRAM);Strengthen DRAM (EDRAM);Synchronous dram (SDRAM);JEDEC SRAM; PC100SDRAM;Double data rate SDRAM (DDRSDRAM);Strengthen SDRAM (ESDRAM);Synchronization link DRAM (SLDRAM); Direct Rambus DRAM (DRDRAM);Ferroelectric RAM (FRAM);Or the memory of any other type.Other embodiment bag Include can via system bus 350, port memory 303 or allow processor 321 access memory 322 any other connection, Bus or port access the central processing unit 321 of main storage 322.
One embodiment of computing device 200/300 is provided to any one support in following installation equipment 216: It is CD-ROM drive, CD-R/RW drivers, DVD-ROM drive, various forms of tape drives, USB device, bootable Medium, bootable CD, for GNU/Linux issue for exampleBootable CD, hard disk drive or be suitable for Application program or any other equipment of software are installed.Using may include Client Agent 220 or visitor in some embodiments Any part of family end agency 220.Computing device 200/300 may also include storage device 228, it can be one or more hard One or more redundant arrays of disk drive or independent disk;Wherein storage device configurations into storage program area, software, Program is applied or at least a portion of Client Agent 220.Another embodiment of computing device 200,300 includes being used as storage The installation equipment 216 of equipment 228.
Computing device 200,300 may also include network interface 218 with by various connections --- include but not limited to standard Telephone wire, LAN or wide-area network link (such as 802.11, T1, T3,56kb, X.25, SNA, DECNET), broadband connection (such as ISDN, Frame relay, ATM, Gigabit Ethernet, the Ethernet on SONET), wireless connection or any or all above-mentioned connection certain Combination is connected to LAN (LAN), wide area network (WAN) or internet by interface.Can also be used various communication protocols (such as TCP/IP, IPX, SPX, NetBIOS, Ethernet, ARCNET, SONET, SDH, Fiber Distribution Data Interface (FDDI), RS232, RS485, IEEE 802.11, IEEE 802.11a, IEEE 802.11b, IEEE 802.11g, CDMA, GSM, WiMax and directly Asynchronous connection) establish connection.One version of computing device 200,300 includes can be via the net of any types and/or form Close or tunnel protocol such as Secure Socket Layer (SSL) or Transport Layer Security (TLS) or produced by Citrix System Co., Ltd The network interface 218 that Citrix gateway protocols communicate with extra computing device 200 ', 300 '.The version of network interface 218 can Any one in being listd including under:Built-in network adapter, network interface card, PCMCIA network interface cards, cassette bus network adaptation Device, wireless network adapter, USB network adapter, modem are suitable for making computing device 200,300 by interface connect It is connected to any other equipment for the network that can communicate and perform method described herein and system.
The embodiment of computing device 200,300 includes any one of following I/O equipment 230a-230n:Keyboard 226th, instruction equipment 227, mouse, track pad, light pen, trace ball, microphone, drawing board, video display, loudspeaker, ink-jet Printer, laser printer and dye-sublimation printer are able to carry out any other defeated of method described herein and system Enter/output equipment.I/O controllers 223 may be connected to multiple I/O equipment 230a-230n to control one in some embodiments A or multiple I/O equipment.Some embodiments of I/O equipment 230a-230n can be configured to offer storage or install medium 216, And other embodiment can provide for receiving the equipment that USB storage device is for example manufactured by Twintech Industrial Co., Ltd Universal Serial Bus (USB) interface of USB flash memory drives line.Other other embodiment includes I/O equipment 230, it can be with It is total in system bus 250 and external communication bus such as usb bus, Apple Desktop Bus, RS-232 serial connections, SCSI Line, FireWire buses, 800 buses of FireWire, industry ethernet, AppleTalk buses, Gigabit Ethernet bus, Asynchronous transfer mode bus, HIPPI buses, super HIPPI buses, SerialPlus buses, SCI/LAMP buses, Bridge between FibreChannel buses or serial connecting small computer system interface bus.
In some embodiments, computing device 200,300 may be connected to multiple display device 224a-224n, other In embodiment, computing device 100 may be connected to single display device 224, and in other other embodiment, calculating is set Standby 200,300 are connected to identical display type or the display device 224a-224n of display format, or are connected to different type or shape The display device of formula.The embodiment of display device 224a-224n can be supported and started by following component:One or more I/O Equipment 230a-230n;I/O controllers 223;The combination of I/O equipment 230a-230n and I/O controller 223;It can support to show Any combinations of the hardware and software of equipment 224a-224n;Connected by interface, communicated, connected or used otherwise Any types of display device 224a-224n and/or the video adapter of form, video card, driver and/or storehouse.Calculating is set Standby 200,300 can be configured to using one or more display device 224A-224N in some embodiments, these configuration bags Include:Display device 224A-224N is connected to by interface with multiple connectors;With multiple video adapters, each regard Frequency adapter is connected to one or more display device 224A-224N;With being configured to support multiple display 224A-224N's Operating system;Multiple display device 224A- are connected to and use using the circuit and software that are included in computing device 200 224N;And the software on execution host computer device 200 and multiple auxiliary computing devices is so that host computer device 200 can use Display device 224A-224N of the display of auxiliary computing device as host computer device 200.Computing device 200 it is other Other embodiment may include to be provided by multiple auxiliary computing devices and via the multiple aobvious of network connection to host computer device 200 Show equipment 224A-224N.
In some embodiments, computing device 200 can perform any operating system, and in other embodiments, meter Calculate equipment 200 and can perform any one of following operating system:Multiple versions of MICROSOFTWINDOWS operating systems, example Such as WINDOWS 3.x, WINDOWS 95, WINDOWS 98, WINDOWS 2000, WINDOWS NT 3.51, WINDOWS NT 4.0th, WINDOWS CE, WINDOWS XP and WINDOWS VISTA;The different release versions of Unix and (SuSE) Linux OS;By Any version for the MAC OS that Apple Computer produces;The OS/2 to be produced by International Business Machines Corporation;It is any embedded Operating system;Any real time operating system;Any open source operating system;Any special purpose operating system;Mobile computing device is appointed What operating system;Or any other operation system.In yet another embodiment, computing device 200 can perform multiple operating systems. For example, computing device 200 can perform PARALLELS or another virtual platforms, (its executable or management performs the first operation system The virtual machine of system), and computing device 200 performs the second operating system different from the first operating system.
Computing device 200 may be implemented in any type of following calculation equipment:Evaluation work station, desktop computer, knee Mo(u)ld top half or notebook, server, handheld computer, mobile phone, portable remote communication equipment, media play are set Standby, games system, mobile computing device, net book, by Apple Computer manufacture IPOD serial equipments equipment, by rope Any one of PLAYSTATION serial equipments of Buddhist nun company manufacture, the Nintendo's serial equipment manufactured by Nintendo Co. Any one of, by Microsoft's manufacture any one of XBOX serial equipments or can communicate and with enough Processor ability and memory span perform the calculating of any other type and/or form of method described herein and system Equipment, telecommunication equipment or media device.In other embodiments, computing device 100 can be mobile equipment, such as under Any one of mobile equipment of row:The mobile phone or personal digital assistant (PDA) of JAVA is enabled, such as all by Motorola Inc. I55sr, i58sr, i85s, i88s, i90c, i95cl or im1100 of manufacture;By the 6035 or 7135 of Kyocera manufacture;By The i300 or i330 of Co., Ltd of Samsung manufacture;The TREO 180 that is manufactured by Palm companies, 270,600,650,680, 700p, 700w or 750 smart phones;With different processors, operating system and any with the input equipment of hardware compatibility Computing device;Or it is able to carry out any other mobile computing device of method described herein and system.In other other realities Apply in mode, computing device 200 can be any one of following mobile computing device:Any one serial blackberry, blueberry or by RIM (Research In Motion) Co., Ltd manufacture other handheld devices, by Apple Computer manufacture IPhone, Palm Pre, Pocket PC, PocketPC phones or any other handheld mobile device.
In some embodiments, computing device 200 can have different processors, operating system and with hardware compatibility Input equipment.For example, in one embodiment, computing device 200 be manufactured by Palm companies TREO 180,270,600, 650th, 680,700p, 700w or 750 smart phones.In some of these embodiments, TREO smart phones are grasped in PalmOS Make under the control of system operation and including hand-written pen input device and five to omniselector equipment.
In other embodiments, computing device 200 is mobile equipment, such as enables the mobile phone of JAVA or individual digital helps Manage (PDA), such as all by schaumburg Motorola Inc. manufacture i55sr, i58sr, i85s, i88s, I90c, i95cl or im1100,6035 or 7135 or limited by Samsung of South Korea Seoul manufactured by the kyocera of kyoto, Japan The i300 or i330 of company's manufacture.In some embodiments, computing device 200 is by the Nokia of Finland or by Lund, Sweden Sony Ericsson Mobile Communications AB manufacture mobile equipment.
In other other embodiment, computing device 200 is that blackberry, blueberry is held or smart phone, such as limited by RIM The equipment of company's manufacture, including the series of blackberry, blueberry 7100,8700 series, 7700 series, 7200 series, blackberry, blueberry 7520 or blackberry, blueberry Pearl 8100.In other other embodiment, computing device 200 is smart phone, Pocket PC, Pocket PC electricity Words or the other handheld mobile devices for supporting Microsoft Windows movement softwares.Moreover, computing device 200 can be any work Stand, desktop computer, on knee or notebook, server, handheld computer, mobile phone, any other computer, Or it can communicate and perform the other forms of operation described herein with enough processor ability and memory span Calculating or telecommunication equipment.
In some embodiments, computing device 200 is digital audio-frequency player.In one of these embodiments, meter It is digital audio-frequency player to calculate equipment 200, such as manufactured by the Apple Computer of California cupertino Apple IPOD, IPOD Touch, IPOD NANO and IPOD SHUFFLE equipment chains.In another of these embodiments In, digital audio-frequency player can play portable electronic device and mass-memory unit.In other embodiment In, computing device 200 is digital audio-frequency player, such as Samsung's american system in the Ritchie Field park by New Jersey The DigitalAudioPlayer Select MP3 players made or Motorola Inc.'s manufacture by schaumburg Motorola m500 or m25 digital audio-frequency players.In other other embodiment, computing device 200 is portable Media player, such as the Zen Vision W, the Zen Vision that are manufactured by Creative Technology Ltd. are serial, Zen is portable Media Center device or the digital MP3 of MP3 player series.In other other embodiment, computing device 200 is to support (the AAC, AIFF, audible talking book, apple for including but not limited to MP3, WAV, M4A/AAC, WMA protection are lossless for file format Audio file formats and .mov .m4v and .mp4, MPEG-4 (H.264/MPEG-4AVC) video file format) portable matchmaker Body player or digital audio-frequency player.
In some embodiments, computing device 200 includes the combination of equipment, for example, with digital audio-frequency player or portable The mobile phone of formula media player combination.In one of these embodiments, computing device 200 is that combination digital audio plays Motorola RAZR or the Motorola ROKR of device and mobile phone series.In another of these embodiments, calculate Equipment 200 is by the iPhone smart phones of Apple Computer's manufacture of California cupertino.
Fig. 1-3 shows the High Level Architecture of illustrative desktop virtual system.As shown in the figure, desktop virtual system can To be single server or multi-server system or cloud system, including it is configured to carry to one or more client access devices 140 For virtual machine and/or at least one virtualized server 106 of virtual application.As it is used in the present context, desktop refers to figure ring Border or space, wherein one or more applications can be in trust and/or be performed.Desktop may include to provide use for the example of operating system The figure shell at family interface, locally and/or remotely application can integrate in an operating system.As used in this article, application program It is to be loaded the program performed afterwards in the example of operating system (and alternatively, also have desktop).Each example of operating system Can be that real (such as one operating system of each equipment) or virtual (such as the OS's run on a single device is very much Example).Each application can on the local device be performed or performed in the equipment (such as remote equipment) of long range positioning.
Figure 4 illustrates an embodiment of computing device 401, it is configured as the virtualization in virtualized environment Server, such as single server, multiserver or cloud computing environment.Virtualized server 401 shown in Fig. 1 can be deployed as figure One or more embodiments of the computing device 200 and 300 shown in server 106 or Fig. 2 and 3 shown in 1 and/or by Fig. 1 One or more embodiments of computing device 200 and 300 shown in shown server 106 or Fig. 2 and 3 are realized.It is included in In virtualized server 401 be may include one or more physical disks 404, one or more physical equipment 406, one or The hardware layer of multiple concurrent physical processors 408 and physical storage 416.In some embodiments, firmware 412 is storable in physics It can be performed in memory component in memory 416 and by one or more concurrent physical processors 408.Virtualized server 401 is also Performed in the memory component that may include to be storable in physical storage 416 and by one or more concurrent physical processors 408 Operating system 414.Moreover, hypervisor 402 is storable in the memory component in physical storage 416, and can be by one A or multiple concurrent physical processors 408 perform.What is performed on one or more concurrent physical processors 408 can be one or more empty Plan machine 432A-C (being generally designated as 432).Each virtual machine 432 can have virtual disk 426A-C and virtual processor 428A- C.In some embodiments, the first virtual machine 432A can perform the control for including instrument storehouse 424 on virtual processor 428A Processing procedure sequence 420.In other embodiments, one or more virtual machine 432B-C can perform visitor on virtual processor 428B-C Family operating system 430A-B.
With further reference to Fig. 4 and in more detail, virtual server 401 may include to have to communicate with virtualized server 401 One or more hardware hardware layer 410.In some embodiments, hardware layer 410 may include one or more physics magnetic Disk 404, one or more physical equipments 406, one or more concurrent physical processors 408 and one or more memories 416.Physics Component 404,406,408 and 416 may include any part for example described in fig. 1-3 above.For example, physical disk 404 can Including permanent memory storage device, temporary storage storage device, disc driver (such as CD drive, disk drive Device, tape drive), hard disk, external fixed disk drive, flash memory, network affixed storage device, storage area network or virtualization The addressable any other thesaurus of server 401.Physical equipment 406 may include to be included in appointing in virtual server 401 Times of what equipment and/or the equipment being included in virtual server 401 and the external equipment to communicate with virtualized server 401 What is combined.Physical equipment 406 can be such as network interface card, video card, keyboard, mouse, input equipment, monitor, display Equipment, loudspeaker, optical drive, storage device, Universal Serial Bus connection, printer, scanner, network element (such as Router, fire wall, network address translater, load balancer, Virtual Private Network (VPN) gateway, dynamic host configuration protocol (DHCP) router etc.) or it is connected to virtualized server 401 or any equipment to communicate with virtualized server 401.Hard Physical storage 416 in part layer 410 may include any kind of memory.Physical storage 416 can store data, and one One or more programs or executable instruction set can be stored in a little embodiments.Fig. 4 shows embodiment, and wherein firmware 412 is deposited Storage is in the physical storage 416 of virtualized server 401.The program or executable instruction being stored in physical storage 416 It can be performed by the one or more processors 408 of virtualized server 401.
Virtualized server 401 may also include hypervisor 402.In some embodiments, hypervisor 402 can To be to be performed by processor 408 on virtualized server 401 to create and manage the program of any amount of virtual machine 432. Hypervisor 402 is referred to alternatively as virtual machine monitor or platform virtualization software.In some embodiments, hypervisor 402 can be any combinations of the hardware for the virtual machine that executable instruction performs on the computing device with monitoring.Hypervisor 402 can be the super pipe performed in 2 hypervisor of type or the operating system 414 performed on virtualized server 401 Manage program.2 hypervisor of type performs in 414 environment of operating system in some embodiments, and virtual machine higher than Performed on the layer of hypervisor.In many embodiments, context of 2 hypervisor of type in the operating system of user Interior execution so that 2 hypervisor of type and the operating system of user interact.In other embodiments, virtualizing One or more of environment virtualized server 401 may include Class1 hypervisor (not shown).The super management of Class1 Device can be performed by directly accessing hardware in hardware layer 410 and resource on virtualized server 401.That is, Although 2 hypervisor 402 of type can be visited directly by 414 access system resources of host operating system, Class1 hypervisor All system resources are asked, without host operating system 414.Class1 hypervisor can be directly in virtualized server 401 One or more concurrent physical processors 408 on perform, and may include the routine data being stored in physical storage 416.
Hypervisor 402 can use the operating system 430 for simulating direct access system resources in some embodiments Or any mode of control program 420 provides virtually to operating system 430 or the control program 420 performed on virtual machine 432 Resource.System resource may include:Physical equipment 406, physical disk, concurrent physical processor, physical storage 416 and it is included in virtual Change any other component in the hardware layer 410 of server 401.In these embodiments, hypervisor 402 can be used for mould Intend virtual hardware, division physical hardware, virtualization physical hardware or perform the virtual machine that the access to computing environment is provided.Again In some other embodiments, hypervisor 402 is that the virtual machine 432 performed on virtualized server 401 is handled Device scheduling controlling and memory division.Hypervisor 402 may include by the VMWare companies more than the Paro Austria of California Those hypervisors produced;XEN hypervisors --- one kind is increased income product, it is developed by Xen.org communities prison of increasing income Superintend and direct;HyperV, the VirtualServer or Virtual PC hypervisor provided by Microsoft or other companies.In some embodiment party In formula, virtualized server 401 performs the hypervisor 402 for creating virtual machine platform, and client operating system can be virtual at this Performed on machine platform.In these embodiments, virtualized server 401 is referred to alternatively as host server.Such virtualization The example of server is by the XEN SERVER of the Citrix system house offer in Florida State Luo Dedai forts.
Hypervisor 402 can create one or more virtual machine 432B-C (generally being represented with 432), guest operation system System 430 performs wherein.In some embodiments, hypervisor 402 can loaded virtual machine mirror image to create virtual machine 432.In other embodiments, hypervisor 402 can perform the client operating system 430 in virtual machine 432.Another In a little other embodiments, virtual machine 432 can perform client operating system 430.
In addition to creating virtual machine 432, hypervisor 402 also can control the execution of at least one virtual machine 432. In other embodiment, hypervisor 402 can present what is provided by virtualized server 401 at least one virtual machine 432 The brief description of at least one hardware resource (such as available any hardware resource in hardware layer 410).In other embodiment party In formula, hypervisor 402 can control virtual machine 432 to access the available concurrent physical processor 408 in virtualized server 401 Mode.Access to concurrent physical processor 408 is controlled to may include to determine whether virtual machine 432 answers access process device 408, and how Concurrent physical processor ability is presented to virtual machine 432.
As shown in the example in fig. 4, virtualized server 401 can trustship or the one or more virtual machines 432 of execution.It is empty Plan machine 432 is one group of executable instruction, it imitates the operation of physical computer when being performed by processor 408 so that virtual machine 432 executable program of device and process, it is closely similar with actual computing device.Although the virtualized server that Fig. 4 is shown in which The embodiment of 401 three virtual machines 432 of trustship, but in other embodiments, virtualized server 401 can any number of trustship The virtual machine 432 of amount.It is available that hypervisor 402 provides virtual machine 432 to each virtual machine 432 in some embodiments Physical hardware, memory, the unique virtual view of processor and other system resources.In some embodiments, unique virtual View can be listd based under in any one:Virtual machine is permitted;For the policy engine of one or more virtual machine identifiers Application;Access the user of virtual machine;The application program performed on a virtual machine;The network accessed by virtual machine;Or it is any its Its similar standard.For example, hypervisor 402 can create one or more non-security virtual machines 432 and one or more peaces Full virtual machine 432.It can prevent non-security virtual machine 432 from accessing the resource that permissible secure virtual machine 432 accesses, hardware, storage Device position and program.In other embodiments, hypervisor 402 can give each virtual machine 432 to provide physical hardware, storage Device, processor and the available other system resources of virtual machine 432 substantially like virtual view.
Each virtual machine 432 may include virtual disk 426A-C (generally being represented with 426) and virtual processor 428A-C (generally being represented with 428).Virtual disk 426 is one or more things of virtualized server 401 in some embodiments Manage the virtualized view of a part for one or more physical disks 404 of disk 404 or virtualized server 401.Physics magnetic The virtualized view of disk 404 can be produced, provide and managed by hypervisor 402.In some embodiments, hypervisor 402 provide the different views of physical disk 404 to each virtual machine 432.Therefore in these embodiments, when with it is other virtual When disk 426 compares, it can be different to be included in the virtual disk 426 in each virtual machine 432.
Virtual processor 428 can be that the virtualization of one or more concurrent physical processors 408 of virtualized server 401 regards Figure.In some embodiments, the virtualized view of concurrent physical processor 408 is produced, provides and managed by hypervisor 402. In some embodiments, virtual processor 428 has the essentially all of identical spy of at least one concurrent physical processor 408 Sign.In other embodiments, virtual processor 408 provides the view of the modification of concurrent physical processor 408 so that virtual processor 428 at least some features are different from the feature of corresponding concurrent physical processor 408.
Fig. 5 shows to describe according to one or more illustratively virtual desktop architecture systems of aspect described herein The block diagram of embodiment.What is be briefly summarized says, system includes multiple virtual machines.With reference to figure 5, show to illustrate that illustrative desktop is empty The block diagram of the High Level Architecture of planization system.In this example, it is referred to alternatively as the virtual desktop foundation frame of desktop virtual system Construction system includes being configured to (such as the VDI of server 500 that virtual desktop is provided to one or more client access devices 600 Server).Server 500 includes processor 508 and memory 516, and may include universal computing device 101 discussed above One or more features.
In this example, server 500 includes to create and managing the hypervisor of the virtual machine on server 500 512.Hypervisor 512 is can to perform or can be held in the operating system of server 500 directly on the hardware of server 500 Capable software layer.Hypervisor 512 may include the one or more features of universal computing device 402 discussed above.Although One hypervisor 502 is only shown in this example, but the server in desktop virtual system may include it is multiple and different Hypervisor 512, each hypervisor 512 support one group of virtual machine 540 of its own.Virtual machine 540 may include above The one or more features of the universal computing device 432 of discussion.
Server 500 may also include virtual work area software 510.Virtual work area software 510 may include that there is control to surpass Level manager 512, create and manage virtual machine 530 and allow end user at client access device 600 to virtual machine 530 Carry out one or more software parts of the function of authorized access.As shown in this example, virtual work area software 510 can Performed in hypervisor 512 in server 500.For example, virtual work area software 510 can be in the super management that it is managed Run on device 512 as virtual machine.In other examples, virtual work area software 510 can be different from the independent of server 500 Run, and can be communicated via procotol with hypervisor 512 as application program on machine.
The each virtual machine 540 for being created and/or being managed by virtual work area software 510 can be supported in client device 600 One or more virtual desktops of the user at place.Client 600 can be connected to virtual machine by network (such as internet 130) 540 with initiate client device 600 (such as thin-client, laptop computer or mobile equipment etc.) place user it is virtual Desktop.For example, web browser software can be used to access the control based on web provided by virtual work area software 510 in user Platform.In other examples, graphical user disturb client application can be installed on be designed to connect to client device 600 and with Virtual work area software 510 communicates.When the user at client device 600 attempts to access that virtual work area software 510 with hair When playing virtual desktop session or performing any management or the administrative functionality of desktop virtual system, virtual work area software 510 can User is authenticated to perform the requested function of user to confirm that user has appropriate authority.After user is certified, Virtual work area software 510 can be that the virtual desktop session of user selects virtual machine 540, and provide the user with selected virtual Internet protocol (IP) address of machine 540 and/or the access equipment 600 of user can be connected to what is run on virtual machine 540 Remote Desktop Protocol client.In addition, virtual work area software 510 can control hypervisor 512 to be created for client 600 Run the virtual machine 540 of virtual desktop.
In one embodiment, desktop virtual system may include one or more VDI servers 500.In another reality Apply in mode, desktop virtual system may include one or more hierarchies of disk layer.In some embodiments, disk The hierarchy of layer is storable on VDI servers 500, as shown in Figure 5.In other embodiments, the classification knot of disk layer Structure is storable in by the addressable any storage device of hypervisor 512.It is referred to alternatively as the every of the disk layer of " disk tree " A hierarchy is made of multiple disk layers.The quantity of disk layer in each " disk tree " can be arbitrarily more.For example, Fig. 5 An embodiment for including " the disk tree " of three disk layers (such as 501,502,503) is shown.In the classification knot of disk layer Minimum disk layer in structure is basic disk layer 501, it includes single basic virtual disk 515.The one of these embodiments In a little, desktop virtual system utilizes operating system software resource and the basic virtual disk of globally required software resource 515.Next layer in the hierarchy of disk layer is department's disk layer 502, it is included in every in desktop virtual system A series of virtual disks 520 of a department.In the other embodiment of these embodiments, desktop virtual system is according to every The application of a department and software resource utilize department's disk layer 502.Top in the hierarchy of disk layer is user's magnetic Disc layer 503, it may include a series of virtual disks 530 for corresponding to one or more of desktop virtual system user. In other of these embodiments, desktop virtual system utilizes user disk according to the application of each user and software resource Layer 503.
The construction of multiple disk layers in the hierarchy of disk layer can pass through various devices such as difference disk or a People's virtual disk and occur.These systems will perform the fusion during operation of one or more " disk tree ", come from according to the rules Which resource priority of given disk layer is carried in the one group of rule or heuristics of the matching in other disk layers or conflicted resource For the unified view of the data included in each disk tree.This guiding-ageing is during booting operating system in foot Enough early stages are performed to allow to combine disk layer in a manner of consistent with the duration of guiding.Therefore, guiding-time group Close and produce one group of complete virtual machine 540 for being used by each end user in desktop virtual system.In some realities Apply in mode, disk combination algorithm is used to combine multiple disk layers when guiding VDI servers 500.Therefore, for desired Any amount of virtual machine, VDI servers 500 may be selected to include desired operation system type and the version of that specific virtual machine This single basic disk (such as basic virtual disk 515).In some embodiments, basic virtual disk 515 can also wrap Including all derivative virtual machine instances can the global any software application used or other resource.
For example, with multiple " disk trees " arrangement desktop virtual system can be included in virtualization system each not One or more basic virtual disks of same operating system version.Therefore, each virtual basic disk 515 can produce its own " tree " of offspring's virtual disk and caused virtual machine 540 in higher disk layer (such as 502,503).It is it is assumed that many empty Plan machine can merge basic virtual disk 515, then only an example needs to be stored and management.Desktop virtual system this The independent version that a embodiment saves each virtual machine under other modes operated by storage and maintenance user will may require that Larger numbers of disk storage and computer circulation.This identical analysis is suitable for what is derived from from basic virtual disk 515 Virtual disk " tree ".For example, department's disk layer 502 may include the whole department of employee, wherein each department can have multiple void Intend disk 520 to store the exclusive application of that department and software resource.Equally, it is every only in desktop virtual system The exclusive data of a user, application and software resource are just stored in exclusive disk (such as the 530A- in user disk layer 503 E) place.For example, user can deposit his or she installation of oneself favorite browser, document reader or other exclusive applications Store up in user's virtual disk 530 in user disk layer 503.User disk layer 503 is commonly referred to as personal virtual disk (PVD)。
Fig. 6 is to show to be used to manage in desktop virtual system according to one or more illustrative aspects described herein Renewal system some components block diagram.Say with being briefly summarized, system includes renewal management server 601, controller Server 620 and VDI servers 500.Desktop virtual system further includes renewal historical data base 611, virtual machine catalogue data Multiple renewals in storehouse 615, renewal inventory data base 612 and one or more software resources.Renewal management server 601, which receives, to be treated Multiple renewals of the one or more software resources for the virtual machine being deployed in desktop virtual environment.Update management server 601 issues are in the renewal proposed by one or more of multiple renewals received.Controller server 620 is from more new management Server 601 asks the mark of one or more renewals issued.Controller server 620 receives one or more issued Renewal mark, and updated storage described in inventory data base 612 is updated.Controller server 620 is identified to be taken in VDI The multiple virtual machines 540 for the predetermined disk layer being engaged in one or more hierarchies of the disk layer in device 500, service in VDI Applied on device 500 in one or more of multiple renewals renewal.
Controller server 620 by it is multiple renewal one or more of renewal be applied to in VDI servers 500 Each virtual machine in the relevant multiple virtual machines of predetermined disk layer in the hierarchy of disk layer.Controller server 620 Analysis receives each virtual machine in one or more of multiple renewals multiple virtual machines of renewal to confirm in multiple renewals One or more of renewal whether be applied successfully to predetermined disk layer.With attempting one or more of multiple renewals of installation The information that the result each updated of renewal is related is transferred to controller server 620.Controller server 620, which will update, pacifies Dress result is stored in renewal historical data base 611.Controller server 620 is determined whether one in multiple renewals or more A renewal is applied to follow-up (i.e. higher) disk layer in the hierarchy of disk layer in VDI servers 500.Controlling In the case that device server 620 determines that the renewal in multiple renewals has been applied successfully to predetermined disk layer, then pause should Renewal is applied to the follow-up disk layer in the hierarchy of disk layer.Determined in controller server 620 in multiple renewals In the case that renewal is not successfully applied to predetermined disk layer, by the renewal applied to the follow-up magnetic in the hierarchy of disk layer Each virtual machine in multiple virtual machines of disc layer.
In some embodiments, update management server 601 and send one for treating and being deployed in desktop virtual environment The request of at least one renewal in multiple renewals of one or more software resources of a or multiple virtual machines.In the implementation In the certain embodiments of mode, the one or more renewals of VDI managers identification are for transmission to renewal management server 601. In another embodiment, renewal management server 601 transmit it is adoptable to the application in desktop virtual environment it is multiple more New request.In other embodiments, deposited in multiple renewals of one or more of desktop virtual system software resource Storage is in storehouse 610 is updated the data.In other other embodiment, update the data storehouse 610 and store by renewal management server The cataloguing of the 601 all system updates received.In some embodiments, storehouse 610 and renewal inventory data base 612 are updated the data Communicate to exchange the data of the cataloguing on all system updates.In other embodiments, represent to be stored in and update the data storehouse The data of the cataloguing of all system updates in 610 are replicated updates inventory data base 612 to produce.In other other implementations In mode, the data for the cataloguing for representing all system updates can be transmitted to renewal inventory data base by renewal management server 601 612。
In another embodiment, updating the data storehouse can be by the controller server access that is present on virtual machine.At this In one of a little embodiments, one or more of hierarchy that storehouse can be with being present in disk layer virtual disk is updated the data On local data base exchange data.In another of these embodiments, be present in controller on virtual machine can with more New management server 601 communicates with the available renewal of identification desktop virtualization system.
In some embodiments, user can recognize that in one or more of multiple renewals renewal with applied in desktop Virtual machine in virtualized environment.In other embodiments, desktop virtual environment may include graphic user interface.At these In some of embodiment, graphic user interface can be configured to instruction be used to be deployed in desktop virtual system it is multiple it is available more Newly.In the other embodiment of these embodiments, graphic user interface can be configured to instruction as in VDI servers 500 Multiple void of the offspring of one or more of each disk layer of one or more hierarchies of interior disk layer virtual machine Plan machine.In another of these embodiments, graphic user interface can be configured in the hierarchy that instruction represents disk layer Follow-up disk layer in back to back offspring's virtual disk one or more of multiple virtual machines virtual machine.In these implementations In another of mode, graphic user interface, which can be configured to, allows user to identify that one or more virtual machines are used to dispose to receive One or more of multiple available renewals in desktop virtual system renewal.
In one embodiment, controller server 620 stores desktop to be deployed in inventory data base 612 is updated The available renewal of one or more of multiple renewals in virtual system.In another embodiment, controller server 620 is known Predetermined disk layer not in one or more hierarchies of disk layer, using one or more available on predetermined disk layer Renewal.In some of these embodiments, controller server 620 is by analyzing to be applied to the one of desktop virtual system A or multiple available predetermined disk layers of identification of more newly arriving.In another of these embodiments, controller server 620 is from void Plan machine inventory data base 615 is fetched and one or more information that can to use renewal related to be applied to desktop virtual system.
In some embodiments, controller server 620 is stored in one or more of desktop virtual system void Inside plan machine.In one of these embodiments, controller is communicated with renewal management server 601 and is virtualized with identification desktop The one or more of system can use renewal.
In some embodiments, virtual machine inventory data base 615 is stored on virtual in desktop virtual system The data of the cataloguing of machine.In other embodiments, virtual machine inventory data base 615 is stored on by Virtual Machine Management Service device The data of the cataloguing of the virtual machine of 602 management.In the certain embodiments of the embodiment, virtual machine inventory data base 615 identifications and the relevant one or more virtual machines of predetermined disk layer.For example, with reference to figure 5, virtual machine inventory data base 615 can Identification and the relevant one or more virtual machines of department's disk layer 520.As another example, virtual machine inventory data base 615 can Identification and the relevant one or more virtual machines of basic virtual disk 515.In some embodiments, virtual machine inventory data base The relation between each virtual machine in one or more hierarchies of disk layer in 615 identification VDI servers 500.Example Such as, with reference to figure 5, virtual machine inventory data base 615 can recognize that each virtual machine in VDI servers 500, and determine in basic magnetic Which of disc layer 501 virtual machine is related to which group virtual machine in department disk layer 502.In other embodiments, virtually Machine inventory data base 615 identifies one or more virtual disks of the offspring as the virtual disk in predetermined disk layer.For example, With reference to figure 5, virtual machine inventory data base 615 is identifiable as each department's virtual disk of the offspring of basic virtual disk 515 520.In another example, virtual machine inventory data base 615 is identifiable as each user of the offspring of department's virtual disk 520 Virtual disk 530.In some embodiments, virtual machine inventory data base 615 is by the identification transmission of one or more virtual machines To controller server 620.In other embodiments, the identification of controller server 620 as one of predetermined disk layer or Each virtual machine of the offspring of multiple virtual machines, updates and is successfully applied on predetermined disk layer.
In one embodiment, controller server 620 handles the data being stored in virtual machine inventory data base 615 To determine the predetermined disk layer in the hierarchy of disk layer.In some embodiments, controller server 620 is from virtual Machine inventory data base 615 receives the marks of one or more virtual machines to determine the predetermined disk in the hierarchy of disk layer Layer.In another embodiment, controller server 620 is identified by can be applied to the one or more of desktop virtual system The one or more resources or software resource of target are used as by the use of renewal.Controller server 620 is handled is used as mesh by available renewal The identification of target software resource is to determine the disk layer in the desktop virtual system with the available software resource identified Each hierarchy minimum disk layer (i.e. minimum offspring).In yet another embodiment, controller server 620 will more New opplication is in multiple virtual machines of predetermined disk layer.In a further embodiment, controller server 620 by it is one or more more New opplication in the disk layer in the desktop virtual system with available targeted software resource each hierarchy most Low disk layer.In one of these embodiments, controller server 620 will be updated according to disk combination algorithm to be applied to One or more of offspring's disk layer virtual machine.In another of these embodiments, controller server 620 will update Applied to the relevant multiple void of back to back offspring's virtual disk in the follow-up disk layer in the hierarchy with disk layer One or more of plan machine virtual machine.In another of these embodiments, renewal is applied to by controller server 620 The relevant multiple void of one or more of back to back offspring's disk layer in the hierarchy with disk layer virtual disk One or more of plan machine virtual machine.
In one embodiment, controller server 620 will be stored in each renewal application updated the data in storehouse 610 Each virtual machine at each disk layer in one or more hierarchies of the disk layer in VDI servers 500. In some of these embodiments, the order that controller server 620 is declined with disk layer will be each updated applied to disk layer Hierarchy in each virtual machine.For example, with reference to figure 5, controller server 620 will be stored in update the data storehouse first All renewals in 610 are applied to each virtual machine at basic disk layer 501.Then, controller server 620 will store It is applied to each virtual machine at department's disk layer 502 in all renewals in updating the data storehouse 610.Finally, controller takes Business device 620 will be stored in each virtual machine for updating the data all renewals in storehouse 610 and being applied at user disk layer 503. In some embodiments, the inquiry of controller server 620 updates historical data base 611 whether to determine target virtual machine It is provided of updating.In other embodiments, the inquiry of controller server 620 renewal historical data base 611 is with definite disk Whether layer is provided renewal.In another embodiment, renewal can not be applied to be known by controller server 620 The virtual machine in the disk layer of orientation renewal Wei not had been received by.In some embodiments, controller server 620 will more New opplication is updated in the predetermined disk layer in each virtual machine of the offspring of one or more virtual machines as predetermined disk layer On be successfully applied.It is present in controller server in the other embodiment of virtual machine, controller server can be with Which software application or resource will be applied to definite specific renewal for the communication of renewal historical data base.
In another embodiment, controller server 620 determines whether renewal is applied to (such as being installed to) in disk One or more target virtual machines of predetermined disk layer in the hierarchy of layer.In the certain embodiments of the embodiment In, if be applied to being updated successfully and the relevant one or more target virtual machines of predetermined disk layer, controller server 620 pauses are to remaining any virtual machine application renewal in the hierarchy of disk layer.In another of these embodiments, If renewal is not successfully applied to and the relevant one or more target virtual machines of predetermined disk layer, controller server 620 will to update the back to back offspring's virtual disk being applied in follow-up disk layer in the hierarchy to disk layer related One or more of multiple virtual machines virtual machine.In another of these embodiments, if renewal not successfully should For with the relevant one or more target virtual machines of predetermined disk layer, then controller server 620 will update be applied to The relevant multiple virtual machines of one or more of back to back offspring's disk layer in the hierarchy of disk layer virtual disk One or more of virtual machine.In other embodiments, controller server 620 identifies one as predetermined disk layer Or each virtual machine of the offspring of multiple virtual machines, renewal are successfully applied on the predetermined disk layer.In some implementations In mode, the identification information that the renewal attempted is installed is transferred to renewal historical data base 611 by controller server 620. In other embodiment, controller server 620 will update installation results and be stored in renewal historical data base 611.Another In a little other embodiments, renewal historical data base 611 asks the mark of attempted renewal installation from controller server 620 Information.In one embodiment, renewal historical data base 611 is produced can be used for being deployed to VDI servers 500 to attempting application The report that the history of one or more of multiple renewals of interior virtual machine renewal is identified.
In some embodiments, VDI servers 500 include one or more hierarchies of disk layer.In disk layer Each hierarchy in each disk layer include and the relevant one or more virtual disks of the disk layer.In an implementation In mode, controller server 620 is communicated with VDI servers 500 to identify the one or more point for the disk layer for needing to update One or more of level structure disk layer.In another embodiment, controller server 620 and virtual machine inventory data base 615 communications are to identify one or more of VID servers 500 that needs update virtual machine.In yet another embodiment, virtually Machine management server 602 performs on VDI servers 500.In some embodiments, Virtual Machine Management Service device 602 can be with Controller server 620 communicates to identify with by one or more virtual machines that can be by the use of renewal as the software resource of target 540.In other embodiments, Virtual Machine Management Service device 602 can communicate with controller server 620 has by one to identify Disk layer of a or multiple available renewals as the software resource of target.In another embodiment, Virtual Machine Management Service device 602 can make by updating as each available software resource of target and in one or more of the hierarchy of disk layer disk Layer is associated.In one of these embodiments, Virtual Machine Management Service device 602 can be by each associated storage in database In.In another of these embodiments, Virtual Machine Management Service device 602 can be by targeted software resource and point in disk layer The associated related data transfer of one or more of level structure disk layer is to controller server 620.In some embodiments In, controller server 620 can make by updating as each available software resource of target and in the hierarchy of disk layer One or more disk layers be associated.
Fig. 7 is one shown in one or more illustrative aspect renewal virtual desktop architectures described herein Criticize the flow chart of the instantiation procedure of software resource.In step 701, renewal management server receives one or more software resources Multiple renewals.In one embodiment, the one or more renewals of VDI managers identification are for transmission to renewal management server 601.In another embodiment, renewal management server 601 transmit to available for one or more software resources it is multiple more New request.In yet another embodiment, renewal management server 601 can will represent the data biography of the cataloguing of all system updates It is sent to renewal inventory data base 612.In other embodiments, in one or more of desktop virtual system software resource Multiple update storage in storehouse 610 is updated the data.In other other embodiment, one in desktop virtual system The multiple of a or multiple software resources are updated storage in storehouse 610 is updated the data.
In a step 702, multiple virtual machines of each disk layer in the hierarchy of disk layer are identified, in the magnetic Multiple renewals will be applied in disc layer.In one embodiment, the identification of virtual machine inventory data base 615 and the classification knot of disk layer The relevant one or more virtual machines of predetermined disk layer in structure, will apply multiple renewals on the disk layer.In some realities Apply in mode, virtual machine inventory data base 615 identifies the one or more of the offspring as the virtual disk in predetermined disk layer Virtual disk.In other embodiments, virtual machine inventory data base 615 by the identification transmission of one or more virtual machines to control Device server 620 processed.In another embodiment, controller server 620 identifies the one or more as predetermined disk layer Each virtual machine of the offspring of virtual machine, will apply multiple renewals on predetermined disk layer.In a further embodiment, controller It is predetermined in the hierarchy of disk layer to determine that the processing of server 620 is stored in the data in virtual machine inventory data base 615 Disk layer.In yet another embodiment, controller server 620 is identified by one to be applied to desktop virtual system or more A one or more resources or software resource as available more fresh target.
In step 703, multiple renewals are applied to the multiple virtual of the predetermined disk layer in the hierarchy of disk layer Each virtual machine in machine.In one embodiment, multiple renewals are applied to the classification of disk layer by controller server 620 Multiple virtual machines of predetermined disk layer in structure.In another embodiment, controller server 620 by it is one or more more Each hierarchy of disk layer of the new opplication in the desktop virtual system with available targeted software resource it is minimum Multiple virtual machines in disk layer.In one of these embodiments, controller server 620 will according to disk combination algorithm Renewal is applied to one or more of offspring's disk layer virtual machine.In another of these embodiments, controller service Device 620, which will update, to be applied to and one or more of back to back offspring's disk layer in the hierarchy of disk layer virtual magnetic One or more of the relevant multiple virtual machines of disk virtual machine.In some embodiments, controller server 620 will be multiple Each renewal in renewal is applied to each disk in one or more hierarchies of the disk layer in VDI servers 500 Each virtual machine at layer.In one of these embodiments, controller server 620 will be more with the order that disk layer declines Each renewal in a renewal is applied to each virtual machine in the hierarchy of disk layer.
In step 704, controller server confirms whether one or more of multiple renewals renewal successfully should For one or more of predetermined disk layer virtual machine.In some embodiments, controller server 620 will be attempted The identification information of renewal installation is transferred to renewal historical data base 611.In other embodiments, controller server 620 will Renewal installation results are stored in renewal historical data base 611.In other other embodiment, historical data base is updated 611 ask the identification information of attempted renewal installation from controller server 620.In another embodiment, more new historical Database 611 produces one or more of multiple renewals being deployed in attempting application can be used in desktop virtual system more The report that new history is identified.
In step 705, controller server determines whether one or more of multiple renewals renewal being applied to One or more of follow-up disk layer in the hierarchy of disk layer virtual machine, wherein, as one in multiple renewals Renewal has been when being applied successfully to one or more of predetermined disk layer virtual machine, pause pair with the hierarchy of disk layer The relevant multiple virtual machines of follow-up disk layer in each virtual machine application renewal;However, when one in multiple renewals When renewal is not successfully applied to one or more of predetermined disk layer virtual machine, the renewal is then applied to and disk layer Hierarchy in the relevant multiple virtual machines of follow-up disk layer in each virtual machine.In some embodiments, if Be applied to being updated successfully with the relevant one or more target virtual machines of predetermined disk layer, then controller server 620 suspend To remaining any virtual machine application renewal in the hierarchy of disk layer.In another embodiment, if renewal not into Be applied to work(with the relevant one or more target virtual machines of predetermined disk layer, then controller server 620 will update and apply One or more of back to back offspring's disk layer virtual disk is relevant multiple virtual in the hierarchy with disk layer One or more of machine virtual machine.
The aspect of the disclosure is described with reference to its illustrative embodiment.Pass through the reading to the disclosure, this area In those of ordinary skill will expect scope of the following claims and spirit in many other embodiments, modification and change Change.For example, it will be recognized by the person of ordinary skill in the art, the step of being shown in illustrative attached drawing, which can be used, is different from institute The other orders for the order listed perform, moreover, according to various aspects of the disclosure, shown one or more steps can be Optionally.Those of skill in the art can modify particularly in connection with foregoing teaching.For example, above-mentioned embodiment party Each element of formula can be used alone or be combined or carry out sub-portfolio use with the element of other embodiment.It will also recognize With understanding, can modify without departing from following spirit and scope by the claims.

Claims (20)

1. a kind of method for being used to update a collection of software resource in virtual desktop architecture system, the described method includes:
Receive multiple renewals of one or more software resources;
Identify multiple virtual machines in the predetermined disk layer in the hierarchy of disk layer, institute will be applied on the multiple virtual machine State multiple renewals;
The multiple renewal is applied to relevant described more with the predetermined disk layer in the hierarchy of disk layer Each virtual machine in a virtual machine;
Confirm whether one or more of the multiple renewal renewal has been applied successfully to one in the predetermined disk layer A or multiple virtual machines;
Determine whether after one or more of the multiple renewal renewal is applied in the hierarchy of disk layer One or more of continuous disk layer virtual machine, wherein:
I. when the renewal in the multiple renewal has been applied successfully to one or more of predetermined disk layer virtual machine When, suspend and be applied to the renewal and the relevant the multiple virtual machine of follow-up disk layer in the hierarchy of disk layer In each virtual machine;
Ii. when the renewal in the multiple renewal is not successfully applied to one or more of predetermined disk layer virtual machine When, which is applied to and the relevant the multiple virtual machine of the follow-up disk layer in the hierarchy of disk layer In each virtual machine.
2. the method as described in claim 1, further includes identification as relevant one or more empty with the predetermined disk layer Multiple virtual machines of the offspring of plan machine, successfully apply renewal on the one or more virtual machine.
3. method as claimed in claim 2, further includes and the renewal is applied to as relevant with the predetermined disk layer Each virtual machine in the multiple virtual machine of the offspring of one or more of virtual machines, on the one or more virtual machine Renewal is successfully applied.
4. the method as described in claim 1, further includes each updating storage in data in received multiple renewals In storehouse.
5. the method as described in claim 1, further includes one or more of the hierarchy of storage disk layer disk The renewal of each virtual machine in multiple virtual machines of layer confirms result.
6. the method as described in claim 1, further includes one in the hierarchy for making each software resource and disk layer A or multiple disk layers are associated.
7. the method as described in claim 1, further includes inquiry to determine the more new state of one or more target disk layers.
8. a kind of method for being used to identify the disk layer in virtual desktop architecture system, will perform more on the disk layer Newly, the described method includes:
Receive the renewal of one or more software resources;
Identify that the one or more as the target of the renewal can use software resource;
Identify the software money that there is the one or more of the target as the renewal to identify in the hierarchy of disk layer Each disk layer in source;
Determine the minimum magnetic with one or more of software resources identified in the hierarchy of disk layer Disc layer, wherein identified minimum disk layer is different from the minimum disk layer in the hierarchy of disk layer;
The renewal is applied to one or more of identified minimum disk layer software resource so that more than first virtual Machine is updated and a virtual machine is not updated more than second, wherein a virtual machine more than described first and more than second a virtual machine Different software resource in minimum disk layer determined by being based at least partially on and formed.
9. method as claimed in claim 8, further includes in response to determining that the renewal is applied at least part ground not successfully The particular virtual machine that software resource in identified minimum disk layer is formed, by the renewal be applied to from it is identified most Software resource in disk layer that low disk layer derives from and for forming particular virtual machine.
10. method as claimed in claim 8, identification is further included as determined by the hierarchy with disk layer Multiple virtual machines of the offspring of the minimum relevant one or more of virtual machines of disk layer.
11. method as claimed in claim 10, further includes the renewal applied to every in the multiple virtual machines identified A virtual machine.
12. method as claimed in claim 8, further include by it is each receive update storage in the database.
13. method as claimed in claim 8, further includes the classification knot by each software resource identified and disk layer One or more of structure disk layer is associated.
14. method as claimed in claim 8, further includes inquiry to determine the more new state of one or more target disk layers.
15. a kind of system for being used to update a collection of software resource in virtual desktop architecture, including:
Management server is updated, it receives multiple renewals of one or more software resources;
Controller server, it identifies multiple virtual machines of the predetermined disk layer in the hierarchy of disk layer, the multiple The multiple renewal will be applied on virtual machine, by it is the multiple renewal be applied to in the hierarchy of disk layer described in Each virtual machine in the predetermined relevant the multiple virtual machine of disk layer, confirms one or more of the multiple renewal more Newly one or more of predetermined disk layer virtual machine whether it has been applied successfully to, it is determined whether by the multiple renewal One or more of renewal it is virtual applied to one or more of follow-up disk layer in the hierarchy of disk layer Machine, wherein:
When i. when being updated successfully in the multiple renewal being applied to one or more of predetermined disk layer virtual machine, Pause by the renewal be applied to in the relevant the multiple virtual machine of follow-up disk layer in the hierarchy of disk layer Each virtual machine;
Ii. when the renewal in the multiple renewal is not successfully applied to one or more of predetermined disk layer virtual machine When, which is applied to and the relevant the multiple virtual machine of the follow-up disk layer in the hierarchy of disk layer In each virtual machine.
16. system as claimed in claim 15, wherein, the controller server is configured to each software identified One or more of resource and the hierarchy of disk layer disk layer is associated.
17. system as claimed in claim 15, wherein, the controller server is configured to be applied to make by the renewal For each virtual machine in multiple virtual machines of the offspring with the relevant one or more virtual machines of the predetermined disk layer, this one The renewal is successfully applied on a or multiple virtual machines.
18. system as claimed in claim 15, further includes graphic user interface.
19. system as claimed in claim 18, wherein, the graphic user interface be configured to allow user identify one or Multiple virtual machines are updated with receiving one or more of the multiple renewal.
20. system as claimed in claim 18, wherein, the graphic user interface is configured to instruction and is used as each disk layer One or more of the offspring of virtual machine multiple virtual machines.
CN201480008191.4A 2013-02-11 2014-02-10 To the system update of personal virtual disk Expired - Fee Related CN104981776B (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/764,295 US8997080B2 (en) 2013-02-11 2013-02-11 System updates with personal virtual disks
US13/764,295 2013-02-11
PCT/US2014/015549 WO2014124360A1 (en) 2013-02-11 2014-02-10 System updates with personal virtual disks

Publications (2)

Publication Number Publication Date
CN104981776A CN104981776A (en) 2015-10-14
CN104981776B true CN104981776B (en) 2018-04-24

Family

ID=50231526

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480008191.4A Expired - Fee Related CN104981776B (en) 2013-02-11 2014-02-10 To the system update of personal virtual disk

Country Status (4)

Country Link
US (2) US8997080B2 (en)
EP (1) EP2954410B8 (en)
CN (1) CN104981776B (en)
WO (1) WO2014124360A1 (en)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10333820B1 (en) 2012-10-23 2019-06-25 Quest Software Inc. System for inferring dependencies among computing systems
US9141400B2 (en) * 2012-12-21 2015-09-22 Unisys Corporation Technique for deploying operating systems in a virtualized environment
US9843624B1 (en) 2013-06-13 2017-12-12 Pouya Taaghol Distributed software defined networking
US11005738B1 (en) 2014-04-09 2021-05-11 Quest Software Inc. System and method for end-to-end response-time analysis
WO2015165057A1 (en) * 2014-04-30 2015-11-05 华为技术有限公司 Method and device for hard disk drive to execute application code
US10291493B1 (en) 2014-12-05 2019-05-14 Quest Software Inc. System and method for determining relevant computer performance events
US10187260B1 (en) 2015-05-29 2019-01-22 Quest Software Inc. Systems and methods for multilayer monitoring of network function virtualization architectures
US10200252B1 (en) * 2015-09-18 2019-02-05 Quest Software Inc. Systems and methods for integrated modeling of monitored virtual desktop infrastructure systems
US10387181B2 (en) * 2016-01-12 2019-08-20 International Business Machines Corporation Pre-deployment of particular virtual machines based on performance and due to service popularity and resource cost scores in a cloud environment
US10506012B2 (en) 2016-05-19 2019-12-10 Citrix Systems, Inc. Adding and removing virtual disks remotely to a streaming machine
US10185575B2 (en) 2016-05-20 2019-01-22 Citrix Systems, Inc. Computing device for operating a machine session with persistent read cache and non-persistent write cache and related methods
US10230601B1 (en) 2016-07-05 2019-03-12 Quest Software Inc. Systems and methods for integrated modeling and performance measurements of monitored virtual desktop infrastructure systems
US11700137B2 (en) * 2017-08-26 2023-07-11 Vmware, Inc. Collaborative access to virtual desktops
US11108868B2 (en) 2019-01-13 2021-08-31 Vmware, Inc. Live switching of collaborative virtual desktop sessions
US10986215B2 (en) * 2019-07-09 2021-04-20 Vmware, Inc. Access control in the remote device of network redirector
US20220382849A1 (en) * 2021-05-25 2022-12-01 Vmware, Inc. Credentials management and usage in application modernization

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101452397A (en) * 2008-11-27 2009-06-10 上海交通大学 Forced access control method and apparatus in virtual environment

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6009274A (en) * 1996-12-13 1999-12-28 3Com Corporation Method and apparatus for automatically updating software components on end systems over a network
US7016944B1 (en) * 1999-09-30 2006-03-21 Apple Computer, Inc. System and method for passive detection and context sensitive notification of upgrade availability for computer information
GB2364143A (en) * 2000-06-30 2002-01-16 Nokia Corp Resource allocation
ITTO20010264A1 (en) * 2001-03-21 2002-09-21 Telecom Italia Lab Spa PROCEDURE FOR UPDATING THE NETWORK SERVER PROGRAMMING CONDITIONS, RELATED SYSTEM AND IT PRODUCT.
US7165260B2 (en) * 2002-06-12 2007-01-16 Fsl, L.L.C. Layered computing systems and methods for insecure environments
US7945897B1 (en) * 2002-06-12 2011-05-17 Symantec Corporation Method and system for running an application in a clean operating environment using a layered computing system
US7337184B1 (en) * 2002-07-17 2008-02-26 International Business Machines Corporation Topology mapping of a multitier compute infrastructure
US7210143B2 (en) * 2002-07-17 2007-04-24 International Business Machines Corporation Deployment of applications in a multitier compute infrastructure
US20040187140A1 (en) * 2003-03-21 2004-09-23 Werner Aigner Application framework
US8321858B1 (en) * 2003-12-31 2012-11-27 Google Inc. Systems and methods for providing software updates
US7665085B2 (en) * 2004-03-15 2010-02-16 Ramco Systems Limited Flexible deployment of software applications
US7698685B2 (en) * 2005-10-12 2010-04-13 Microsoft Corporation Discovery, qualification, and activation of software add-in components
US20070174429A1 (en) * 2006-01-24 2007-07-26 Citrix Systems, Inc. Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment
US8555274B1 (en) * 2006-03-31 2013-10-08 Vmware, Inc. Virtualized desktop allocation system using virtual infrastructure
US8776041B2 (en) * 2007-02-05 2014-07-08 Microsoft Corporation Updating a virtual machine monitor from a guest partition
US8161478B2 (en) * 2007-05-10 2012-04-17 Embotics Corporation Management of computer systems by using a hierarchy of autonomic management elements
US8205194B2 (en) * 2007-06-29 2012-06-19 Microsoft Corporation Updating offline virtual machines or VM images
US8434077B2 (en) * 2007-10-18 2013-04-30 International Business Machines Corporation Upgrading virtual resources
US20110040812A1 (en) * 2007-12-20 2011-02-17 Virtual Computer, Inc. Layered Virtual File System
KR101178752B1 (en) 2008-02-26 2012-09-10 브이엠웨어, 인코포레이티드 Extending server-based desktop virtual machine architecture to client machines
US8365167B2 (en) 2008-04-15 2013-01-29 International Business Machines Corporation Provisioning storage-optimized virtual machines within a virtual desktop environment
US20090265699A1 (en) * 2008-04-18 2009-10-22 Telefonaktiebolaget Lm Ericsson (Publ) Methods and systems for embedding upgrade steps for layered architectures
US8819657B1 (en) * 2008-09-18 2014-08-26 Symantec Corporation Method and apparatus for maintaining data consistency in a virtualized application during software update installation
CN101727331B (en) * 2008-10-24 2013-03-20 国际商业机器公司 Method and equipment for upgrading client operating system of active virtual machine
US20110055299A1 (en) * 2008-12-18 2011-03-03 Virtual Computer, Inc. Managing User Data in a Layered Virtual Workspace
US8332848B2 (en) 2009-03-12 2012-12-11 Red Hat Israel, Ltd. Mechanism for staged upgrades of a virtual machine system
US8359594B1 (en) * 2009-06-30 2013-01-22 Sychron Advanced Technologies, Inc. Automated rapid virtual machine provisioning system
US8316125B2 (en) * 2009-08-31 2012-11-20 Red Hat, Inc. Methods and systems for automated migration of cloud processes to external clouds
US8756597B2 (en) * 2010-02-05 2014-06-17 Novell, Inc. Extending functionality of legacy services in computing system environment
US8533701B2 (en) * 2010-03-15 2013-09-10 Microsoft Corporation Virtual machine image update service
US8312471B2 (en) * 2010-04-26 2012-11-13 Vmware, Inc. File system independent content aware cache
US8364819B2 (en) * 2010-05-28 2013-01-29 Red Hat, Inc. Systems and methods for cross-vendor mapping service in cloud networks
US8489699B2 (en) * 2010-08-13 2013-07-16 Vmware, Inc. Live migration of virtual machine during direct access to storage over SR IOV adapter
US8627310B2 (en) * 2010-09-30 2014-01-07 International Business Machines Corporation Capturing multi-disk virtual machine images automatically
CN103329093B (en) * 2011-01-19 2017-09-12 国际商业机器公司 Method and system for updating the code in performing environment
US8683466B2 (en) 2011-05-24 2014-03-25 Vmware, Inc. System and method for generating a virtual desktop
US8819660B2 (en) * 2011-06-29 2014-08-26 Microsoft Corporation Virtual machine block substitution
US20130007736A1 (en) * 2011-06-30 2013-01-03 Hiroshi Nakajima Information processing apparatus, method of processing information and storage medium
US8813076B2 (en) * 2011-11-17 2014-08-19 International Business Machines Corporation Virtual machine updates
WO2013095622A1 (en) * 2011-12-23 2013-06-27 Empire Technology Develpment Llc Optimization of resource utilization in a collection of devices
US9176752B1 (en) * 2012-12-04 2015-11-03 Amazon Technologies, Inc. Hardware-based mechanisms for updating computer systems
US9459856B2 (en) * 2013-01-02 2016-10-04 International Business Machines Corporation Effective migration and upgrade of virtual machines in cloud environments

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101452397A (en) * 2008-11-27 2009-06-10 上海交通大学 Forced access control method and apparatus in virtual environment

Also Published As

Publication number Publication date
WO2014124360A1 (en) 2014-08-14
WO2014124360A9 (en) 2015-08-06
EP2954410B1 (en) 2019-12-18
CN104981776A (en) 2015-10-14
US10019177B2 (en) 2018-07-10
US20150160877A1 (en) 2015-06-11
EP2954410A1 (en) 2015-12-16
US8997080B2 (en) 2015-03-31
US20140229934A1 (en) 2014-08-14
EP2954410B8 (en) 2020-02-26

Similar Documents

Publication Publication Date Title
CN104981776B (en) To the system update of personal virtual disk
CN104956329B (en) Network plan in cloud computing environment
CN104981783B (en) Dynamic configuration in cloud computing environment
CN104487959B (en) The safety management of virtual machine
CN104067231B (en) Using virtual switch agentbased control network interface
CN104246703B (en) It is cloud resource designated state
CN104067288B (en) Storage encryption method
CN102754077B (en) The safety virtualization environment that can guide from external media device
CN104106052B (en) For the connection lease of the service of master control
CN104601622B (en) A kind of method and system for disposing cluster
CN102272726B (en) Systems and methods for facilitating virtualization of a heterogeneous processor pool
CN104106051A (en) Tagging physical resources in cloud computing environment
CN104487943A (en) Trusted file indirection
CN102202049B (en) Network policy implementation for multi-virtual machine appliance
CN102971706B (en) Information is redirected to dangerous virtual machine from secure virtual machine
CN104765620B (en) A kind of method and system of program module deployment
CN104137050B (en) The long-range display updated with classification
CN102971722B (en) Systems and methods for creation and delivery of encrypted virtual disks
CN104956290A (en) Automated meeting room
CN102804140B (en) For device driver being imported to the method and system in client's computing environment
CN104115471A (en) Client Bandwidth Emulation in Hosted Services
CN104067265A (en) System and method for supporting secure application deployment in the cloud
CN104303151A (en) Shell integration for an application executing remotely on a server
CN105074665A (en) Migration tool for implementing desktop virtualization
CN113454594A (en) Native code generation for cloud services

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180424

CF01 Termination of patent right due to non-payment of annual fee