CN104981776B - To the system update of personal virtual disk - Google Patents
To the system update of personal virtual disk Download PDFInfo
- 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
Links
- 238000003860 storage Methods 0.000 claims abstract description 50
- 238000000034 method Methods 0.000 claims abstract description 32
- 230000004044 response Effects 0.000 claims description 4
- 238000012545 processing Methods 0.000 description 46
- 238000007726 management method Methods 0.000 description 37
- 230000015654 memory Effects 0.000 description 32
- 238000004519 manufacturing process Methods 0.000 description 18
- 238000004891 communication Methods 0.000 description 16
- 244000078534 Vaccinium myrtillus Species 0.000 description 10
- 238000009434 installation Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 239000011800 void material Substances 0.000 description 6
- 235000003095 Vaccinium corymbosum Nutrition 0.000 description 5
- 235000017537 Vaccinium myrtillus Nutrition 0.000 description 5
- 235000021014 blueberries Nutrition 0.000 description 5
- 230000008859 change Effects 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 239000012141 concentrate Substances 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 239000003795 chemical substances by application Substances 0.000 description 3
- 230000005611 electricity Effects 0.000 description 3
- 210000003127 knee Anatomy 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 241001269238 Data Species 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 230000033001 locomotion Effects 0.000 description 2
- 230000005039 memory span Effects 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- IRLPACMLTUPBCL-KQYNXXCUSA-N 5'-adenylyl sulfate Chemical compound C1=NC=2C(N)=NC=NC=2N1[C@@H]1O[C@H](COP(O)(=O)OS(O)(=O)=O)[C@@H](O)[C@H]1O IRLPACMLTUPBCL-KQYNXXCUSA-N 0.000 description 1
- 108010022579 ATP dependent 26S protease Proteins 0.000 description 1
- 241000501754 Astronotus ocellatus Species 0.000 description 1
- 101000666896 Homo sapiens V-type immunoglobulin domain-containing suppressor of T-cell activation Proteins 0.000 description 1
- 241000721662 Juniperus Species 0.000 description 1
- 241001147389 Panthera uncia Species 0.000 description 1
- UOZODPSAJZTQNH-UHFFFAOYSA-N Paromomycin II Natural products NC1C(O)C(O)C(CN)OC1OC1C(O)C(OC2C(C(N)CC(N)C2O)OC2C(C(O)C(O)C(CO)O2)N)OC1CO UOZODPSAJZTQNH-UHFFFAOYSA-N 0.000 description 1
- 102100038282 V-type immunoglobulin domain-containing suppressor of T-cell activation Human genes 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- ALEXXDVDDISNDU-JZYPGELDSA-N cortisol 21-acetate Chemical compound C1CC2=CC(=O)CC[C@]2(C)[C@@H]2[C@@H]1[C@@H]1CC[C@@](C(=O)COC(=O)C)(O)[C@@]1(C)C[C@@H]2O ALEXXDVDDISNDU-JZYPGELDSA-N 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- IJJVMEJXYNJXOJ-UHFFFAOYSA-N fluquinconazole Chemical compound C=1C=C(Cl)C=C(Cl)C=1N1C(=O)C2=CC(F)=CC=C2N=C1N1C=NC=N1 IJJVMEJXYNJXOJ-UHFFFAOYSA-N 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 235000002020 sage Nutrition 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000019491 signal transduction Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000000859 sublimation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
- G06F3/0665—Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
- G06F9/452—Remote windowing, e.g. X-Window System, desktop virtualisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
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
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.
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)
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)
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)
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 |
-
2013
- 2013-02-11 US US13/764,295 patent/US8997080B2/en active Active
-
2014
- 2014-02-10 EP EP14708167.3A patent/EP2954410B8/en active Active
- 2014-02-10 WO PCT/US2014/015549 patent/WO2014124360A1/en active Application Filing
- 2014-02-10 CN CN201480008191.4A patent/CN104981776B/en not_active Expired - Fee Related
-
2015
- 2015-02-19 US US14/626,516 patent/US10019177B2/en active Active
Patent Citations (1)
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 |