Home

System and method for on-demand cloning of virtual machines

image

Contents

1. Co ee e FIG 6 U S Patent Jun 11 2013 Sheet 7 of 13 00033FFF80CCCEAF Properties sliberelisinotneed tolchangelgrinalygicupluniess gar ieoten ebe E Company 3 hilp Awwnw myvpe petSite detay asp Microsoit Internet Explorer Bo gdt yew Favortes Tods tpb Q heere ween Oa ie a DEAS US 8 464 250 B1 604 ete ional ae 5a ARES Please Watt Your Virtual Machine is now being created This will take about Imin FIG 8 U S Patent Jun 11 2013 Sheet 8 of 13 US 8 464 250 B1 OOO33FFFEGCCCEAF gt 000380008090F309 gt 0003800080815009 gt 000600008001E714 Sener Properes Unity Berver Saved ma Website Properties Resource Allocation H eee ah tat a EventViewer i i I gt Running 1 day 5 hours 53 minutes Sb htt p d wwermyypc netiSite VRMCClient asp Microsoft Internet Explorer ifo Et yew Favortes Tools Hiep A OO DEO Pm tom Ou OED VHLD eos E nto myvpenet SReNVRORCCler 20 0003800080915D06 Remote Contro Remote Control 7 AMIRINSIC ZOOI Anerican Megatrends Inc BIOS Date 08714793 19 41 02 Ver 08 00 02 DEL to run Setup Master IDE Hard Disk Slave Not Detected Master CDRAN Not Detected Sec Master Virtual CD U S Patent Jun 11 2013 Sheet 9 of 13 A hitp JAsnenw ype neUSiteVRMCClient_asp Microsolt Internet Explorer Ge Edt Yew Favortes Jods Heb US 8 464 250 B1
2. amp amp CmdArgs 0 amp Original XPPro FileReplace config AppSettings VMPath amp CmdArgs 0 amp amp CmdArgs 0 amp _Original XPPro vme 555444333222111 UTF 16 Exit Sub End If Next End Sub Sub FileReplace ByVal filePath As String ByVal oldString As String ByVal newString As String Dim sr As StreamReader New StreamReader filePath Dim file As String sr ReadToEnd sr Close file file Replace oldString newString Dim sw As StreamWriter New Stream Writer filePath sw Write file sw Close End Sub End Module While the VM clone 108 is being created the user may be prompted to wait as shown in the browser of FIG 8 since the process of copying the base image may take several seconds or longer depending on its size In certain embodiments multiple virtual servers 102 are provided for load balancing Accordingly in block 218 the script 110 may pull a list of potential virtual servers 102 to host the new VM clone 108 The system then attempts to determine which virtual server 102 has the resources e g available memory CPU resources etc to best handle the new VM clone 108 In one implementation this is done in block 220 using an XML eXtensible Markup Language file which pings each of the virtual servers 102 to determine resource availability Once a virtual server 102 has been selected control passes to block 222 in which the new VM c
3. w O BBO fo hrm 8 08 Ba Days 00033FFFE0CCCEAF Remote Control Remote Control 7 dbm Microsoft Windows p Professional Blo Ed Yew Favorites Jools hep On 0 DBO Pm fom ET e Administrator Maaa Logged on Windows To begin click your user name r Turn off computer After you log on you can add cr change accounts Just go to Cenuodl Pane ard cick User Accounts U S Patent Jun 11 2013 Sheet 10 of 13 US 8 464 250 B1 F hittpsftenw nyvpc nevSite VRMCCtiont asp Microsoft Internet Exptores Fie ER Yew Favortes Tools tep O O DAG P from Gu O BS a DEAS aes fa http tiae smyvic neti Ro RMC Chen i Automatic Updates Restart Your Computer To Finish The updates wal not be fully installed unt you restart your computes Before restarting be sure to tave pour work and clots ary open progama Rostat the compute now jst art natat Updates ERY tiome Microsoft Intern De ta y rotes Jos tke Om O MEO Das Fromm Jua OS D AA A S pms 42 herp pnysherepcirt rtopysrejdet ut agu Home Documents ond Livts Site Settings Help Up fe Mys mto E 2 m Create List Ha a Create Pago m menace Alerts My Lists Suratite Documents snareo sty Catendor 7D Documents H 2 Bea beat rony iiaiai sy soces Ay Internet access My Pages pines ty MSA tHotmas Nees e mas BG Dades ty Grneins gt
4. 102 7 577 722 B1 8 2009 Khandekar et al 709 220 7 784 088 B2 8 2010 Darbha etal 726 4 7 810 092 B1 10 2010 van Rietschote et al 718 1 2002 0069369 A1 6 2002 Tremain 713 201 2003 0033344 Al 2 2003 Abbott et al ce 709 1 2003 0088604 A1 5 2003 Kuck etal aeee 709 1 2004 0068731 Al 4 2004 Davis etal 719 310 2004 0221290 Al 11 2004 Casey etal 718 104 2004 0230970 Al 11 2004 Janzen 717 174 2005 0022184 A1 1 2005 Birkestrand et al 718 100 2005 0081210 Al 4 2005 Day etal 718 104 2005 0246453 Al 11 2005 Erlingsson et al 710 1 2007 0214456 Al 9 2007 Casey etal oe 718 100 OTHER PUBLICATIONS VMware VMware virtual center user s manual 1 0 Mar 2004 pp 1 360 Oppliger Microsoft NET passport A security analysis IEEE Jul 2003 pp 29 35 Microsoft Virtual Server 2005 White Paper Product Overview Microsoft Corporation May 2004 14 pgs cited by examiner Primary Examiner Jennifer To Assistant Examiner Caroline H Arcos 74 Attorney Agent or Firm Kory D Christensen Stoel Rives LLP 57 ABSTRACT A system for on demand cloning of virtual machines VMs includes a virtual server to host a number of VMs the virtual server including at least one master VM The system also includes a Web server to authenticate a user in response to a request for online access to anew VM on the virtual server I
5. duaneQmyvpenel pia erann E sign me in automatically C Do not remember my e mail address for future sign in Select this when using a public computer Member Services Tempciiina Pivar Statement Sema elementis 1900 2004 Microsoft Corporziion AB tights reserved U S Patent Jun 11 2013 Sheet 6 of 13 US 8 464 250 B1 http ttwwre myvpc net Mliser_Signup osp Microsoft Internet xplorer ffeil Ble ER Yew Pavrtes Too p O N BA Px syria Sun O BB TF a Dass xo Ege pints 7 New Virtual Machine Account il l i Please fill out the form below in order to create an account Profile Information FirstName SSS S NSR H kastName _OOCOCOCCCCSSY f wako eE Department J web Page a Address Street oe eee ee Officefaldg SCO city State Province Select a state province Postal Code _ Country Region iselacts county Telephone Numbers Office probiles DY Account Information ema Account Password ___ FIG 5 OGO3S3FFF8OCCCEAF Properties z Member OF 602 Eist naie duane Initials Last name fansel Display name Description duane ansel Office demo 604 Telephone number E iE Others E maik Web page MwPC NET ore
6. z e My Horoscope Eeter Ara Raatars a rip af a indatien agmesr roert gt 6 biriessons eames from tarma Suwari Hig gss Checkbook obsatste Top auto picks of 2004 Us teasing dght tor you Yote for the city s or 3 paai eiA Coach Team USA may lote again Sports by EDLE ORTS Pamer upttaged in frei NFL start Peoved Payton could snub Caes Fi start U S Patent Employee accesses any corporate terminal 1500 1508 Take employee to ActiveX page and display subscriber s VM in last known state in browser Jun 11 2013 Sheet 11 of 13 Employee clicks shortcut on browser opens internal MyvPC local sign in page User authenticates using corporate username and password 1502 Existing User Not Found Search MyvPC local Active Directory for existing user based on username and password 1506 Existing User Found Script will Employee completes employee profile form Create new user in active directory AD based on login credentials 1510 1512 US 8 464 250 B1 1504 Script Will Add new user to AD Security Group and set Primary Group Script will Create clone of pre defined master VM for 1516 FIG 15 U S Patent Jun 11 2013 Sheet 12 of 13 US 8 464 250 B1 F vetault Microsoft Internet Lxplorer fle id Yew Favorkes Joos tipp O O BEG Pm Kem OSS 5 VEBLSa sagdress BY netp 1 192
7. CN VM User OU VM_Accounts DC TCEDMZ DC local myNewUser CommitChanges System Diagnostics Process Start ConfigurationSettings AppSettings PhysicalPathto Tools amp InitialSignup InitialSignup txtUsername Text System Diagnostics Process Start ConfigurationSettings AppSettings PhysicalPathto Tools amp RegisterVM RegisterVM dmzvpc03 amp txtUsername Text amp _Original XPPro vme amp ConfigurationSettings AppSettings PhysicalPathtoVMs amp txtUsername Text amp Catch ex As Exception Response Write ex Message End Try End Sub End Class Once the new user has been created in the active directory 118 the script 110 continues at block 214 to add the new user to the security group of the active directory 118 as well as to set the primary group and give the user a full permission set As shown in FIG 7 the script 110 may do this automatically within the Member of tab of the user properties window 604 Continuing to block 216 the on demand cloning module 106 then creates a VM clone 108 from a pre defined master VM 104 for the new user In certain embodiments the user may be able to select from a number of master VMs 104 that have been optimized for different tasks i e word processing accounting gaming etc The cloning is accomplished in one implementation using a batch file that copies a base image of the master VM 104 creating a new VM clone 108 uniqu
8. cloning module is further to execute a script while the VM clone is logged into the administrator account to add the VM clone to a work group 14 The system of claim 1 wherein the cloning module includes a Lightweight Directory Access Protocol LDAP script and wherein the cloning module uses the LDAP script to clone the master VM 15 The system of claim 1 wherein the cloning module in response to a user being authenticated determines whether the user has an existing VM clone and in response to the user having an existing VM clone provides the user with online access to the VM clone 16 The system of claim 15 wherein the cloning module is to determine whether the user has an existing VM clone by checking for a VM clone uniquely named according to the passport unique identifier of the user 17 The system of claim 1 wherein the cloning module is further to prompt the user to select a master VM for cloning from a plurality of master VMs each master VM being opti mized for a different set of tasks 18 A method comprising providing a virtual server to host a number of virtual machines VMs the virtual server comprising at least one master VM each master VM having a respective base image stored on a non transitory non volatile com puter readable storage medium the base image com prising an operating system wherein the virtual server comprises a base image for the master VM and wherein creating the VM clone comprises
9. code to automatically clone the master 35 40 45 16 VM is further to execute a script while the VM clone is logged into the administrator account to add the VM clone to a workgroup 48 The article of manufacture of claim 35 wherein the computer readable code to automatically clone the master VM uses a Lightweight Directory Access Protocol script for cloning the master VM 49 The article of manufacture of claim 35 wherein the computer readable code to automatically clone the master VM in response to a user being authenticated determines whether the user has an existing VM clone and in response to the user having an existing VM clone provides the user with online access to the VM clone 50 The article of manufacture of claim 49 wherein the computer readable code to automatically clone the master VM is to determine whether the user has an existing VM clone by checking for a VM clone uniquely named according to the passport unique identifier of the user 51 The article of manufacture of claim 35 wherein the computer readable code to automatically clone the master VM is further to prompt the user to select a master VM for cloning from a plurality of master VMs each master VM being optimized for a different set of tasks 52 An apparatus comprising a computing device compris ing a processor for providing on demand access to virtual machines VMs comprising means for authenticating a user based upon a user creden tia
10. etc in a self contained isolated environment In one embodiment the system 100 includes one or more virtual servers 102 such as Microsoft Virtual Server 2005 for creating and managing one or more VMs 20 25 30 35 40 45 50 55 60 65 4 As will be described in greater detail hereafter the virtual server 102 may be pre configured with one or more master VMs 104 which are templates of PCs including all of the necessary software and settings In one embodiment the sys tem 100 also includes an on demand cloning module 106 for automatically creating a VM clone 108 based on one of the master VMs 104 whenever a user needs to use a PC with a particular configuration As explained below the cloning of VMs may be accomplished in one embodiment using one or more scripts 110 such as LDAP Lightweight Directory Access Protocol and WMI Windows Management Instru mentation scripts Each VM clone 108 may be accessed and used over a network 112 such as a Local Area Network LAN or the Internet by a different remote computer 114 In one embodi ment the ASPX framework may be used although the system 100 is not limited to any particular framework or program ming language As illustrated remote computers 114 may be embodied in a variety of form factors including desktop and pocket computers Moreover the remote computers 114 may access the network using any both wired and wireless tech nology A sta
11. hardware Installing or upgrading driver software such as printer drivers Configuring the computer to use various network resources Installing new application programs There are other examples these are merely illustrative Some of these tasks are merely tiresome and annoying while others are require technical competence beyond that of most users Until now no current system has been developed to alleviate such burdens on computer users Because most of the above described problems stem from each user having to configure and maintain a separate PC one approach has been to move as much of the processing as possible to central servers and allow users to access applica tions hosted by these central servers via the Internet The burdens placed on the individual PCs are much less since they only need to have basic Web browser functionality 30 35 40 45 55 60 65 2 For example Application Service Providers ASPs pro vide applications to individuals or organizations across the Internet or other network connections Hosted applications can vary but examples include financial applications like general ledger or purchasing software and office applica tions e g word processors spreadsheet programs etc Unfortunately the applications hosted by ASPs are often slow and not very responsive due to system load network bandwidth and latency issues As a result ASPs cannot gen erally guarantee a particular quality
12. non volatile computer readable storage medium wherein the computer readable code to automatically clone the master VM is to create the VM clone by renam ing the copy of the base image according to unique US 8 464 250 B1 15 information pertaining to the user wherein the unique information comprises a passport unique identifier and computer readable code to provide a common interface configured to provide for cloning the master VM to create the VM clone for the user and accessing to the cloned VM of the user based upon the same user creden tial 36 The article of manufacture of claim 35 wherein the unique information comprises identification information pro vided by the user 37 The article of manufacture of claim 35 wherein the unique information comprises one or more login credentials of the user 38 The article of manufacture of claim 35 wherein the computer readable code to authenticate a user employs a NET Passport authentication system that returns the passport unique identifier in response to the user being successfully authenticated 39 The article of manufacture of claim 35 wherein the computer readable code to automatically clone the master VM is further to create a new user object in an active directory according to the unique information pertaining to the user 40 The article of manufacture of claim 39 wherein the unique information comprises identification information pro vided by the user 41 The arti
13. of claim 18 further comprising creating a new user object in an active directory according to the unique information pertaining to the user 23 The method of claim 22 wherein the unique informa tion comprises identification information provided by the user 24 The method of claim 22 wherein the unique informa tion comprises one or more login credentials of the user 25 The method of claim 22 further comprising adding the new user object to a security group of the active directory as well as to set a primary group for the new user object 26 The method of claim 18 further comprising checking resources of a plurality of virtual servers to select a virtual server with adequate resources to host the VM clone and assigning the VM clone to the selected virtual server 27 The method of claim 26 further comprising booting the VM clone using an auto login sequence into an administrator account 28 The method of claim 27 further comprising executing a script while the VM clone is logged into the administrator account to change a computer name associated with the VM clone 29 The method of claim 28 further comprising executing a script while the VM clone is logged into the administrator account to add the VM clone to a domain 30 The method of claim 28 further comprising executing a script while the VM clone is logged into the administrator account to add the VM clone to a workgroup 31 The method of claim 18 further compri
14. the selected virtual server 102 automatically logging inthe VM clone 108 into an administrator account or the like in order to enable changing the computer name and or adding the VM clone 108 to a particular corporate domain or workgroup The above described process of hosting VM clones 108 results in many benefits to a corporation not the least of which is eliminating the cost of providing a full featured computer to each employee In addition using the principles discussed herein the corporation may install updates enforce security policies and troubleshoot systems much more easily than the conventional model in which the corporation pur chases individual computers for employees While specific embodiments and applications of the present invention have been illustrated and described it is to be understood that the invention is not limited to the precise configuration and components disclosed herein Various modifications changes and variations apparent to those of skill in the art may be made in the arrangement operation and details of the methods and systems of the present invention disclosed herein without departing from the spirit and scope of the present invention Embodiments of the invention may include various steps which may be embodied in machine executable instructions to be executed by a general purpose or special purpose com puter or other electronic device Alternatively the steps may be performed by hardwar
15. will reboot the new VM clone 108 to make all of the necessary changes to the system reg istry or other similar data structure in a non Windows 2000 XP environment The process of shutting down Windows and rebooting is illustrated in FIG 13 which may be per formed automatically without the need for intervention by the subscriber One possible script for carrying out this procedure may include the command shutdown r t 1 d p 2 3 c Shut ting Down VM Once the VM clone 108 has been rebooted the subscriber is taken at block 234 to an ActiveX webpage displaying the new VM clone 108 as shown in FIG 14 The subscriber can then at block 236 access VM from any PC connected to the Internet using their Microsoft Passport Because the VM clones 108 are centrally hosted on one or more virtual servers 102 they may be easily updated or repaired by service personnel without having to make an in home visit For example updates to virus scanners or the operating system itself may be automatically made by administrators of the virtual servers 102 Moreover if the user desires a new software application the user may simply pur chase it online after which the application may be automati cally installed on the user s VM clone 108 Automatic back ups of the VM clone 108 may be made daily or even more frequently permitting service personnel to easily trouble shoot serious problems with a minimum of downtime Furthermore the user
16. 1 GetVMVirtualServerClass CmdArgs 0 Else myVSErrMsg on local machine myVS myApp GetVMVirtualServerClass myVM myAppl GetVMVirtualServerClass End If Catch ex As Exception MsgBox Cannot connect to Virtual Server amp myVSErrMsg MsgBoxStyle OKOnly ShowVS Version Exit Sub End Try myVS CreateVirtualMachine CmdArgs 1 CmdArgs 2 myVM AddHardDiskConnection CmdArgs 2 amp CmdArgs 1 VMDriveBusType vmDriveBusType_IDE 0 1 End Sub End Module Once the new VM clone 108 has been added to the virtual server 102 it will appear in a listing of VMs on the virtual server 102 as shown in FIG 9 In the present example the new VM clone 108 is at the top of the list and shows a running time of 6 seconds Note that each of the VM clones 108 have a virtual machine name based on a different PUID 602 for a respective subscriber Continuing at block 224 the script 110 starts and tests the new VM clone 108 FIG 10 illustrates a POST Power On Self Test screen generated by the VM clone during the boot ing process which is displayed in the subscriber s browser Thereafter as shown in FIG 11 the Windows XP or another OS startup screen is displayed as the VM clone 108 continues by loading the installed OS At block 226 the script 110 may initiate an auto login procedure as shown in FIG 12 causing the VM clone 108 to automatically log into the Administrator account or another account wit
17. 168 10 1S7hogon aspx Rebun 2f Def aut aspx Username M i M a 1502 Login H D Persist Cookie Click here to Create a New Virtual Machine FIG 16 E https 192 168 10 157Mefault aspx Microsoft Internet Lxplorer EEEN E Edt yew Favortes Joos Heip 2 ae g Kja O 0 FAG Pua tom So WOBASe Pree a Hello cp You were authenticated usmg LdapAuthentication U S Patent Jun 11 2013 Sheet 13 of 13 US 8 464 250 B1 09 0 Bao Peel aa 08earAal TestVM Remote Control Administrator US 8 464 250 B1 1 SYSTEM AND METHOD FOR ON DEMAND CLONING OF VIRTUAL MACHINES TECHNICAL FIELD The present invention relates to digital computing and in particular relates to improved delivery of computing resources to remote users so as to minimize the burdens and inconvenience imposed on such users BACKGROUND OF THE INVENTION Personal computers PCs are now ubiquitous at least in developed countries PCs come in various form factors including desktop models towers laptops handheld devices tablet PCs etc As such the term PC or personal computer is used herein in a very broad sense and is intended to include awide variety of computing devices including but not limited to the kinds just mentioned By contrast the term PC as used herein would probably not include so called mainframe computers or other systems or clus
18. az United States Patent Ansel US008464250B1 US 8 464 250 B1 Jun 11 2013 a0 Patent No 45 Date of Patent 54 SYSTEM AND METHOD FOR ON DEMAND CLONING OF VIRTUAL MACHINES 75 Inventor Duane A Ansel Seattle WA US 73 Assignee Transcontinental Events LLC Seattle WA US Notice Subject to any disclaimer the term of this patent is extended or adjusted under 35 U S C 154 b by 1722 days 21 Appl No 10 948 381 22 Filed Sep 23 2004 51 Int Cl G06F 9 455 2006 01 G06F 9 46 2006 01 G0O6F 15 177 2006 01 52 U S CI USPC oan eh 718 1 718 100 709 220 58 Field of Classification Search USPE eita 718 100 102 104 709 225 229 See application file for complete search history 56 References Cited U S PATENT DOCUMENTS 6 353 923 B1 3 2002 Bogle etal oo 717 4 6 412 070 B1 6 2002 Van Dyke et al 726 17 6 463 352 B1 10 2002 Tadokoro et al 700 169 6 842 777 Bl 1 2005 TULL esis sseessecedivelessesvsvaions 709 217 7 080 378 Bl 7 093 086 B1 7 2006 Noland etal 718 104 8 2006 van Rietschote 711 161 7 191 441 B2 3 2007 Abbott etal ve T18 1 7 246 174 B2 7 2007 Sciandra et al 709 244 7 257 811 B2 8 2007 Hunt etal wee 718 1 7 299 468 B2 11 2007 Casey et al 718 104 7 356 679 BL 4 2008 Leetal wee 713 1 7 428 636 BL 9 2008 Waldspurger et al 713 164 ae Active 118 Directory Virtual Server
19. chnology also has limitations For example an IT professional is generally required to create US 8 464 250 B1 3 and set up each VM running on a Virtual Server There is no automated method by which an novice user may remotely log into a Virtual Server and havea VM automatically created and initialized with all of the software and settings needed for the user to immediately begin working on a desired task BRIEF DESCRIPTION OF THE DRAWINGS FIG 1 is a block diagram of a system for on demand cloning of virtual machines FIG 2 is a flowchart ofa process for on demand cloning of virtual machines FIG 3 is a screen shot of a shortcut FIG 4 is a screen shot of a sign in page FIG 5 is a screen shot of a subscriber profile form FIG 6 is a screen shot of a user properties window FIG 7 is a screen shot of a user properties window FIG 8 is a screen shot of a Web page displayed while a VM clone is being created FIG 9 is a screen shot of a user interface within a virtual server showing running VMs FIG 10 is a screen shot of a boot process for an operating system FIG 11 is a screen shot of a boot process for an operating system FIG 12 is a screen shot of a login process for an operating system FIG 13 is a screen shot of a shutdown process for an operating system FIG 14 is a screen shot of a fully configured and running VM clone FIG 15 is a flowchart of a process for on demand cloning of virtual machines i
20. cle of manufacture of claim 39 wherein the unique information comprises one or more login credentials of the user 42 The article of manufacture of claim 39 wherein the computer readable code to automatically clone the master VM is further to add the new user object to a security group of the active directory as well as to set a primary group for the new user object 43 The article of manufacture of claim 35 wherein the computer readable code to automatically clone the master VM is further to check resources of a plurality of virtual servers to select a virtual server with adequate resources to host the VM clone and assign the VM clone to the selected virtual server 44 The article of manufacture of claim 43 wherein the computer readable code to automatically clone the master VM is further to boot the VM clone using an auto login sequence into an administrator account 45 The article of manufacture of claim 44 wherein the computer readable code to automatically clone the master VM is further to execute a script while the VM clone is logged into the administrator account to change a computer name associated with the VM clone 46 The article of manufacture of claim 45 wherein the computer readable code to automatically clone the master VM is further to execute a script while the VM clone is logged into the administrator account to add the VM clone to a domain 47 The article of manufacture of claim 45 wherein the computer readable
21. e components that contain specific 20 25 30 35 40 45 50 55 60 65 12 logic for performing the steps or by any combination of hardware software and or firmware Embodiments of the present invention may also be pro vided as a computer program product including a machine readable medium having stored thereon instructions that may be used to program a computer or other electronic device to perform processes described herein The machine readable medium may include but is not limited to floppy diskettes optical disks CD ROMs DVD ROMs ROMs RAMs EPROMs EEPROMs magnetic or optical cards propagation media or other type of media machine readable medium suit able for storing electronic instructions For example instruc tions for performing described processes may be transferred from a remote computer e g a server to a requesting com puter e g a client by way of data signals embodied in a carrier wave or other propagation medium via a communica tion link e g network connection What is claimed is 1 A system comprising a computing device comprising a processor and a memory a virtual server resident on the memory and operating on the processor to host a number of virtual machines VMs the virtual server including at least one master VM having a base image stored on a non transitory non volatile computer readable storage medium the base image comprising an operating system a Web s
22. eX page which displays the employee s VM in its last known state This process is illustrated in FIG 18 If however the user does not exist in the active directory 118 e g a new employee control passes to block 1510 in which the employee completes an employee profile form The employee profile form may be similar to the new subscriber profile form 502 of FIG 5 Alternatively the employee profile form may have been completed previously in which case information from the form may be accessed from a stored location Continuing to block 1512 the script 110 will create a new user object in the active directory 118 based on the employ ee s login credentials Thereafter in block 1514 the script 110 will add the new user object to a security group of the active directory 118 as well as to set a primary group for the new user object In block 1516 the script 110 will create a clone of a pre defined or user selected master VM 104 In one embodiment this is accomplished using a batch file that copies a base image of the master VM 104 creating a new VM clone 108 uniquely renamed for the new employee based for example on the employee s login credentials The remainder of the process flow may occur essentially as outlined in the remainder of FIG 2 For example the system 100 may selectively assign the VM clone 108 to the virtual server 102 best able to accommodate it Additionally the system 100 may boot the VM clone 108 within
23. ely renamed for the new subscriber based on the subscriber s PUID 602 or other unique information such as e mail address login credentials or other identifying information provided by the user An example script 110 for carrying out this process is as follows US 8 464 250 B1 Imports System IO Module Modulel Sub Main By Val CmdArgs As String 1 Create New User Directory under VirtualMachines Dir 2 Move 1st available Master XPPro VM Syntax InitialSignup d CmdArgs 0 Username Dim config As Configuration ConfigurationSettings Dim i As Integer Dim objFileWriter As Stream Writer Fori 1 To 5 If File Exists config AppSettings MoveVM XPProMasterFrom amp i amp vme Then Try If Not Directory Exists config AppSettings VMPath amp CmdArgs 0 Then Directory CreateDirectory config AppSettings VMPath amp CmdArgs 0 End If System IO File Move config AppSettings MoveVM XPProMasterFrom amp i amp vme config AppSettings VMPath amp CmdArgs 0 amp amp CmdArgs 0 amp Original XPPro vmc System IO File Move config AppSettings MoveVM XPProMasterFrom amp i amp vhd config AppSettings VMPath amp CmdArgs 0 amp amp CmdArgs 0 amp Original XPPro vhd FileReplace config AppSettings VMPath amp CmdArgs 0 amp amp CmdArgs 0 amp _Original XPPro vme 111222333444555 CmdArgs 0
24. em IntPtr Zero End Sub Public Function GetVMVirtualServerClass ByVal server As String As VMVirtualServerClass Dim typeVSClass As Type Dim typeDCOM As Type Dim objDCOM As Object typeVSClass GetType VMVirtualServerClass typeDCOM Type GetTypeFromCLSID typeVSClass GUID server True obj DCOM Activator CreateInstance typeDCOM GetVMVirtualServerClass CType _ Marshal CreateW rapperOf Type objDCOM typeVSClass _ VMVirtualServerClass End Function Get VMVirtualServerClass instance from local server using COM Public Function GetVMVirtualServerClass As VMVirtualServerClass GetVMVirtualServerClass New VMVirtualServerClass End Function End Class Module RegisterVM lt MTAThread gt _ Sub Main ByVal CmdArgs As String with Impersonate first Dim myApp As InitVS myApp New InitVS Dim myApp1 As InitVS Check command line arguments help flag If CmdArgs Length gt 0 Then If Left CmdArgs 0 1 Or Left CmdArgs 0 2 Initialize COM Then Dim sHelp As String sHelp USAGE RegisterVM servername vmcfile vmepath MsgBox sHelp MsgBoxStyle OKOnly ShowVS Version Help Exit Sub End If End If Connect locally or remotely Dim myVS As VMVirtualServer Dim myVM As VMVirtualMachine Dim myVSErrMsg As String US 8 464 250 B1 9 continued Try If CmdArgs Length gt 0 Then myVSErrMsg at amp CmdArgs 0 myVS myApp GetVM VirtualServerClass CmdArgs 0 myVM myApp
25. erver resident on the memory and operating on the processor to authenticate a user based upon a user cre dential in response to a request for online access to a new VM on the virtual server a cloning module resident on the memory and operating on the processor in communication with the Web server and the virtual server to automatically clone a master VM to create a VM clone for the user on the virtual server responsive to the request wherein the VM clone comprises a copy of the base image on the non transitory non volatile computer readable storage medium and wherein the cloning module is to create the VM clone by copying the base image and renaming the copied image according to unique information pertaining to the user wherein the unique information comprises a passport unique identifier and wherein the Web server comprises a common interface configured to provide access to the cloning module for creating the VM clone for the user and to provide access to the deployed VM clone of the user based upon the same user credential 2 The system of claim 1 wherein the unique information comprises identification information provided by the user 3 The system of claim 1 wherein the unique information comprises one or more login credentials of the user 4 The system of claim 1 wherein the Web server is to authenticate the user with a NET Passport authentication system that returns the passport unique identifier in response to the user bei
26. erves a variety of purposes It enables hardware consolidation because multiple operating systems can run on one computer Key applications for VM technol ogy include cross platform integration as well as the follow ing Legacy application migration Legacy operating systems and applications can run on new hardware along with more recent operating systems and applications Server consolidation If several servers run applications that consume only a fraction of the available resources VM technology can be used to enable them to run side by side on a single server even if they require different versions of the operating system or middleware Isolation for development testing and technical support Each VM acts as a separate environment which reduces risk and enables developers to quickly recreate different operating system configurations or compare versions of applications designed for different operating systems In addition a developer can test an early version of an application in a VM without fear of destabilizing the system for other users Software demonstrations VM technology allows users to recreate a clean operating system environment or system configuration quickly Courseware delivery and training Organizations can con figure and deploy a variety of training scenarios quickly Software distribution IT groups can deliver prevalidated configurations for complex software solutions for fast deployment Unfortunately VM te
27. h suitable privileges to permit system level changes to various OS settings as described below A modification to the system registry for accomplishing the auto login procedure is as follows Windows Registry Editor Version 5 00 HKEY_LOCAL_MACHINE SOFTWARE Microsoft Windows NT CurrentVersion Winlogon DefaultUserName administrator DefaultUserPassword AutoAdminLogon 1 For example at block 228 the system may run a WMI script against the new VM clone 108 changing the computer name based in one embodiment on information from the subscriber profile form 502 An example of a suitable WMI script is as follows strComputer Set obj WMIService GetObject winmgmts impersonationLevel impersonate amp strComputer amp root cimv2 Set colComputers obj W MIService ExecQuery Select from Win32_ComputerSystem For Each objComputer in colComputers err ObjComputer Rename WScript arguments item 0 Wscript Echo err Next Sunilarly at block 230 the system may run a WMI script adding the new VM clone 108 to a particular domain or 20 25 30 35 40 45 50 55 60 65 10 workgroup also based on information from the subscriber profile form 502 For example the user may specify that he or she wants to be a part of a particular workgroup or domain of a virtual office provided by the present system 100 At block 232 the script 110
28. hEvents txtUsername As System Web UI WebControls TextBox Protected WithEvents txtPassword As System Web UI WebControls TextBox Protected WithEvents txtPasswordConfirm As System Web UI WebControls TextBox Protected WithEvents txtFirstName As System Web UI WebControls TextBox Protected WithEvents txtLastName As System Web UI WebControls TextBox Protected WithEvents txtStreet As System Web UI WebControls TextBox Pro TextBox Pro TextBox Protected WithEvents txtPostalCode As System Web UI WebControls TextBox Protected WithEvents txtCountry As System Web UI WebControls TextBox Protected WithEvents txtEmail As System Web UI WebControls TextBox Region Web Form Designer Generated Code This call is required by the Web Form Designer lt System Diagnostics DebuggerStepThrough gt Private Sub InitializeComponentt End Sub Private Sub Page_Init By Val sender As System Object ByVal e As System EventArgs Handles MyBase Init CODEGEN This method call is required by the Web Form Designer Do not modify it using the code editor InitializeComponentt End Sub End Region ected WithEvents btnSignUp As System Web UI WebControls ected WithEvents txtCity As System Web UI WebControls ected WithEvents txtState As System Web UI WebControls 20 30 35 40 45 50 55 60 65 6 continued Private Sub Page_Load ByVal sender As System Object ByVal e As System EventA
29. l in response to a request for online access to a new VM on a virtual server the virtual server comprising a plurality of master VMs representing personal comput ers optimized for different sets of tasks wherein each master VM comprises a respective base image stored on anon transitory non volatile computer readable storage medium the base image comprising an operating sys tem means for automatically cloning a selected one of the mas ter VMs to create a VM clone for the user on the virtual server responsive to the request wherein the selection is based on the set of tasks for which the selected master VM is optimized and wherein the means for automati cally cloning comprises means for creating a copy of the base image of the selected master VM on the non tran sitory non volatile computer readable storage medium wherein creating the VM clone comprises renaming the copy of the base image according to unique information pertaining to the user wherein the unique information comprises a passport unique identifier and means for upgrading hardware resources allocated to the VM clone in response to a user request and reverting to hardware resources originally allocated to the VM clone after a pre determined time wherein upgrading the hardware resources comprises providing access to one or more of graphics hardware and networking hardware not originally accessible to the VM clone
30. lone 108 is added to the virtual server 102 This may be accomplished in one embodi ment using a RegisterVM exe program which has the usage RegisterVM ServerName MachineName MachinePath Other programs or techniques may also be used for this pur pose A supporting script 110 for this process is as follows 5 10 20 25 30 35 40 45 50 55 60 65 ImportsSystem Reflection ImportsSystem Runtime InteropServices Imports Microsoft Virtual Server Interop Public Class InitVS lt Dilimport ole32 dll _ PreserveSig False _ ExactSpelling True __ EntryPoint ColnitializeSecurity _ CallingConvention CallingConvention StdCall _ SetlastError False gt _ Private Shared Sub ColnitializeSecurity __ ByVal pSD As IntPtr _ ByVal cAuthSve As UlInt32 _ ByVal asAuthSve As IntPtr _ ByVal pReserved1 As IntPtr _ ByVal dwAuthnlevel As UInt32 _ ByVal dwImpLevel As UInt32 _ ByVal pAuthInfo As IntPtr __ ByVal dwCapabilities As UInt32 _ ByVal pvReserved2 As IntPtr End Sub Private Const RPC_C_AUTHN_LEVEL_NONE As Long 1 Private Const RPC_C_IMP_LEVEL_IMPERSONATE As Long 3 Private Const EOAC_NONE As Long 0 Public Sub New ColnitializeSecurity System IntPtr Zero _ Convert ToUInt32 0 _ System IntPtr Zero _ System IntPtr Zero _ Convert ToUInt32 RPC_C_AUTHN_LEVEL_NONE Convert ToUInt32 RPC_C_IMP_LEVEL_ IMPERSONATE System IntPtr Zero _ Convert ToUInt32 EOAC_NONE __ Syst
31. may easily upgrade the VM clone 108 with more power hardware Since the VM clone s CPU is merely a share of the processing resources of a physical computer hosting the virtual server 102 that share may be increased or decreased based on the user s needs In fact processing graphics sound networking and other resources can be allocated on an application by application basis For instance the VM clone 108 may not normally provide computer gaming capability However should the user desire to run one of the latest games his or her machine may be temporarily upgraded with the requisite virtual hardware the cost of which would be billed to the user since the upgraded machine would be using a greater share of the physical host system As noted above the foregoing embodiment is specific to a subscriber creating a new VM clone 108 to be accessed over the Internet In an alternative embodiment a corporation may provide its employees with VM clones 108 hosted on a cor porate server Accordingly rather than providing each employee with a separate full featured computer the corpo ration may provide each employee with a basic terminal with a Web browser as well as a hosted VM clone 108 with all of the necessary software and settings for the employee s job description The process flow described in FIG 2 would only be changed in minor ways in a corporate environment For example FIG 15 partially illustrate
32. n addition the system includes a cloning module in commu nication with the Web server and the virtual server to auto matically clone the master VM to create a unique VM clone for the user on the virtual server responsive to the request 52 Claims 13 Drawing Sheets 114 000000 U S Patent Jun 11 2013 Sheet 1 of 13 US 8 464 250 B1 114 114 cooooo xX EEE EEEN EE E 112 o y FIG 1 On Demand Cloning Module 102 Master VM VM Clone VM Clone VM Clone U S Patent Jun 11 2013 Sheet 2 of 13 US 8 464 250 B1 Subscriber Subscriber clicks accesses Web shortcut on Subscriber authenticates 204 server via desktop browser opens using e mail address and browser sign in page password Existing Subscriber Not Found Search Active Directory for existing subscriber based on e mail address and password 206 208 Existing Subscriber Found Take subscriber to ActiveX page and display subscriber s VM in last known state in browser FIG 2A U S Patent Jun 11 2013 Sheet 3 of 13 US 8 464 250 B1 210 212 214 Subscriber Script will Script Will completes form for new Create a te User to subscriber user in active ecurity rofile directory Group and set P AD based Primary Group on PUID Batch file for cloning a p a master image VM boots up Script 226 Script will creating a new will VM uniquely gt Create cl
33. n a corporate environment FIG 16 is a screen shot of a sign in page in a corporate environment FIG 17 is a screen shot of a Web page displayed when a user is authenticated and FIG 18 is a screen shot of a cloned virtual machine within a browser DETAILED DESCRIPTION Reference is now made to the figures in which like refer ence numerals refer to like elements For clarity the first digit of a reference numeral indicates the figure number in which the corresponding element is first used In the following description numerous specific details of programming software modules user selections network transactions database queries database structures etc are provided for a thorough understanding of the embodiments of the invention However those skilled in the art will recognize that the invention can be practiced without one or more of the specific details or with other methods components materi als etc In some cases well known structures materials or opera tions are not shown or described in detail in order to avoid obscuring aspects of the invention Furthermore the described features structures or characteristics may be com bined in any suitable manner in one or more embodiments FIG 1 is a block diagram of a system 100 for on demand cloning of virtual machines VMs As previously noted a VM emulates the hardware and software of a stand alone computer including its CPU sound video and network adapters
34. ndard Web server 116 such as Microsoft s Internet Information Server IIS or the like may provide the remote computers 114 with online access to VMs on the virtual server 102 Such access may include for example replicating screen displays generated by the VMs on the remote comput ers 114 and forwarding user input from the remote computers 114 to the respective VMs In one embodiment an active directory 118 provides authentication and directory services to the virtual server 102 on demand cloning module 106 and Web server 116 An active directory 118 is a hierarchical collection of network resources that can contain users computers printers and other Active Directories Active Directory Services ADS allow administrators to handle and maintain all network resources from a single location FIG 2 is a flowchart of an exemplary process for on demand cloning of VMs While the process is shown in the context ofa subscriber establishing a new VM for use over the Internet a similar process could provide VMs to employees within a corporation or the like as will be described hereafter Referring to block 200 of FIG 2A a subscriber uses a Web browser to access the Web server 116 of FIG 1 This may be accomplished for example by providing the Web browser with a URL Uniform Resource Locator of the Web server 116 e g www myvpc net Continuing to block 202 the subscriber clicks on a shortcut displayed in the browser in order to o
35. ng successfully authenticated 5 The system of claim 1 wherein the cloning module is further to create a new user object in an active directory according to the unique information pertaining to the user 6 The system of claim 5 wherein the unique information comprises identification information provided by the user 7 The system of claim 5 wherein the unique information comprises one or more login credentials of the user 8 The system of claim 5 wherein the cloning module is further to add the new user object to a security group of the active directory as well as to set a primary group for the new user object US 8 464 250 B1 13 9 The system of claim 1 wherein the cloning module is further to check resources of a plurality of virtual servers to select a virtual server with adequate resources to host the VM clone and assign the VM clone to the selected virtual server 10 The system of claim 9 wherein the cloning module is further to boot the VM clone using an auto login sequence into an administrator account 11 The system of claim 10 wherein the cloning module is further to execute a script while the VM clone is logged into the administrator account to change a computer name asso ciated with the VM clone 12 The system of claim 11 wherein the cloning module is further to execute a script while the VM clone is logged into the administrator account to add the VM clone to a domain 13 The system of claim 11 wherein the
36. of service QoS for a given application Thin client systems like Citrix as well as emulation programs such as Attachmate sometimes provide better performance Attachmate for example Web enables legacy host applications Such applications run on thin termi nals often in character mode black screen dumb terminal However not every application can be made to work with emulation programs like Attachmate Furthermore setting up these applications is complicated typically requiring an IT professional to configure and maintain the application Another conventional technique that attempts to address the problems described above is virtual machine VM tech nology VM technology allows multiple operating systems to run concurrently on a single machine Each VM emulates the hardware and software of a stand alone computer including its CPU sound video and network adapters etc in a self contained isolated environment In particular Virtual PC and Virtual Server developed by Connectix and Microsoft allow one or more legacy oper ating systems to run on the same computer system as the current Windows operating system Today many older x86 based operating systems are supported by Virtual PC and Virtual Server Virtual PC for Mac allows for one or more other operating systems to run the Macintosh operating sys tem allowing users to run a Windows operating system and Windows applications on a Mac VM technology s
37. one of B auto log in as VM pre defined renamed for Administrator Service 216 the new master VM for account f subscriber subscriber based on the subscriber s PUID Script will Script will 224 218 Start VM and test Pull list of virtual new VM servers using XML file 222 RegisterVM exe will Script will Check virtual servers for 220 hosting resource availability Add assign new unique VM to 1 server and storage group with available resources RegisterVM exe This will connect to a remote server specified and a virtual machine to the Server Usage RegisterVM Servername MachineName MachinePath FIG 2B U S Patent Jun 11 2013 Sheet 4 of 13 US 8 464 250 B1 Run WMI script against new VM 228 clone changing computer name based on new subscriber profile Subscriber can now access VM from any PC connected to internet using Microsoft Passport Run WMI script adding new VM clone to domain 230 or workgroup Subscriber is ages pes new taken to Activex subscriber profile webpage displaying new Script will 232 reboot new VM clone FIG 2C U S Patent Jun 11 2013 Sheet 5 of 13 US 8 464 250 B1 4B MyVPCHET Microsoft Internet Explorer Bho Ee Dew Favemnes Tonk Oe O O DAG Le kan Ge O B FBIM S Aides fa http fweeew srrywpc net I Please sign in Microsoft Internet Lxptorer Be ER ee Foata Tooke tee NET Passport Sign in E mail Address
38. pen a sign in page An example of a shortcut 302 is shown in FIG 3 One possible sign in page 402 is shown in FIG 4 In this example the sign in page 402 is a NET Passport sign in page although other authentication technologies may be used In block 204 the subscriber authenticates with the system 100 by providing one or more login credentials and password assuming a NET Passport has already been established for the sub scriber after which the subscriber may click on a sign in button 404 or the like In block 206 the system may search the active directory 118 of FIG 1 for an existing subscriber based on the sub scriber s PUID NET Passport Unique ID In one embodi ment the PUID is returned by the sign in page 402 when the subscriber is successfully authenticated NET Passport is a Microsoft operated service that provides Internet authentica tion for Web sites no matter what kind of devices they use for access It provides reliable Internet authentication and allows users to sign in once to access a variety of NET Passport US 8 464 250 B1 5 enabled Web sites To log in to a Passport enabled site users present credentials to Passport via the SSI interface and get an encrypted ticket cookie containing PUID that is decrypted by the site and used to authenticate them A PUID is a 16 character string in the HexPUID property of the Passportl dentity class If an existing subscriber PUID is found in the active di
39. rectory 118 control passes to block 208 in which the sub scriber is taken to an ActiveX page that displays in the sub scriber s browser his or her VM in its last known state While ActiveX is used to display the VM in one embodiment other technologies may be used within the scope of the invention If however an existing subscriber is not found control passes to block 210 of FIG 2B in which the subscriber is asked to complete a profile form As shown in FIG 5 a subscriber profile form 502 may require the subscriber to provide for example his or her name address telephone number billing information and the like Once the form 502 has been completed control passes to block 212 in which the on demand cloning module uses a script 110 to create a new user object in the active directory 118 based in one embodiment on the subscriber s PUID An example screen shot showing the creation of a new user is provided in FIG 6 As illustrated the new subscriber is iden tified by the 16 character PUID 602 The relevant information may be automatically completed in the General tab of the user properties window 604 based on the information pro vided in the subscriber profile form 502 An example script 110 for carrying out this process is as follows Imports System DirectoryServices Public Class User_Signup Inherits System Web UI Page Protected WithEvents TABLE1 As System Web UI WebControls Table Pro Button Protected Wit
40. renaming the copy of the base image according to unique information pertaining to the user wherein the unique information comprises a passport unique identifier authenticating a user based upon a user credential in response to a request for online access to a new VM on the virtual server automatically cloning a master VM to create a VM clone for the user on the virtual server responsive to the request wherein the VM clone comprises a copy of the base image of the master VM on the non transitory non volatile computer readable storage medium upgrading hardware resources originally allocated to the VM clone in response to a request from the user wherein upgrading comprises providing access to one or more of graphics hardware and networking hardware not origi nally accessible to the VM clone and reverting to the hardware resources originally allocated to the VM clone after a pre determined time 19 The method of claim 18 wherein the unique informa tion comprises identification information provided by the user 20 The method of claim 18 wherein the unique informa tion comprises one or more login credentials of the user 20 25 30 35 40 45 50 55 60 65 14 21 The method of claim 18 wherein authenticating com prises authenticating the user with a NET Passport authenti cation system that returns the passport unique identifier in response to the user being successfully authenticated 22 The method
41. rgs Handles MyBase Load Put user code to initialize the page here End Sub Private Sub SignUp_Click ByVal s As System Object ByVal e As System EventArgs Handles btnSignUp Click Add User to Active Directory Dim strDisplayName txtFirstName Text amp amp txtLastName Text Try Dim strPath As String ConfigurationSettings AppSettings LDAPString Dim myDirectoryEntry As New DirectoryEntry strPath ConfigurationSettings AppSettings LDAPUser Amsterdam05 Dim myNewUser As New DirectoryEntry my DirectoryEntry UsePropertyCache True myNewUser myDirectoryEntry Children Add CN amp txtFirstName Text amp amp txtLastName Text user my NewUser Properties sAMAccountName Value txtUsername Text my NewUser Properties givenname Add txtFirstName Text my NewUser Properties sn Add txtLastName Text myNewUser Properties displayname Add strDisplayName myNewUser Properties homeDirectory Add ConfigurationSettings AppSettings PhysicalPathtoVMs amp txtUsername Text myNewUser CommitChanges myNewUser Password txtPassword Text myNewUser Invoke SetPassword Amsterdam0333 Dim userflags As Object myNewUser Properties UserAccountControl myNewUser Properties UserAccountContro Value amp H220 myNewUser Properties pwdlastset Value 0 myNewUser Properties memberOf 0 Value
42. s the corporate process which begins at block 1500 with the employee accessing any corporate terminal Moving to block 1502 the employee clicks on a shortcut which opens an internal MyvPC local sign in page 1502 as illustrated in FIG 16 In this case the employee would not log in using NET Passport as in FIG 4 but rather would log in with the employee s corporate login credentials or a pre assigned guest demo training account For greater security the employee may log in with an external e mail address In response the system 100 may send an e mail message to the specified address containing a spe US 8 464 250 B1 11 cial link to the Web server 116 which facilitates online cre ation of or access to a VM clone 108 Accordingly the user cannot use a VM clone 108 unless he or she provides a valid external e mail address during the login procedure At block 1504 the user may be authenticated for example using standard LDAP authentication Once the user is authen ticated a screen display similar to the one in FIG 17 may be shown which indicates that the user cp has been authenti cated using LDAP authentication Continuing to block 1506 the system 100 may search the MyvPC local active directory 118 for an existing user based on the employee s login credentials i e username and pass word If the user exists in the active directory 118 control passes to block 1508 in which the employee is taken to an Activ
43. sing using a Lightweight Directory Access Protocol script to clone the master VM 32 The method of claim 18 further comprising determining in response to a user being authenticated whether the user has an existing VM clone and in response to the user having an existing VM clone pro viding the user with online access to the VM clone 33 The method of claim 32 wherein determining whether the user has an existing VM clone comprises checking for a VM clone uniquely named according to ft the passport unique identifier of the user 34 The method of claim 18 further comprising prompting the user to select a master VM for cloning from a plurality of master VMs each master VM being optimized for a different set of tasks 35 An article of manufacture comprising a non transitory computer readable storage medium comprising computer readable code including computer readable code to authenticate a user based on a user credential in response to a request for online access to a new virtual machine on a virtual server the virtual server including at least one master VM the master VM having a base image stored on a non transitory non volatile computer readable storage medium the base image comprising an operating system computer readable code to automatically clone a master VM to create a VM clone for the user on the virtual server responsive to the request wherein the VM clone comprises a copy of the base image on the non transitory
44. ters intended to service large numbers e g thousands of simultaneous users or tasks PCs of which there are now millions in use can be found in homes and businesses large and small Since the advent of the PC somewhere around 1980 they have become dramati cally smaller faster and cheaper For most applications soft ware now provides graphical user interfaces GUIs that enable even unsophisticated users to accomplish substantial computing tasks That being said using maintaining and upgrading a modern PC is challenging for most users In the corporate environment many companies are large enough to afford an IT information technology department that can assist users with such tasks In many smaller businesses and in homes e g SOHO small office home office situations professional assistance is not readily available In some cases the user may employ on line help or tutorials but these resources are clumsy and few have the patience required to navigate them In other cases the user may pay hourly or per call charges for technical assistance To illustrate the burdens and challenges imposed on com puter users consider the following examples Replacing a failed disk drive Restoring lost data resulting e g from a failed memory device Installing frequent updates to the operating system Installing frequent software updates or patches to fix secu rity issues Adding more user memory typically DRAM or other

Download Pdf Manuals

image

Related Search

Related Contents

  Español Italiano Portoghese English ( 1 ) (23) (46) (69)  IPI, Plug & Play PC Coprocessor, GFK  Stemi DV4 Stemi DV4 Spot Stemi DR 1040 Stemi DR 1663    Samsung B2030N User Manual  RECARO start - AllegroMedical.com  Tutelle, curatelle : mode d`emploi et implications - Analys  StarTech.com White Cat 6 RJ45 Keystone Jack Network Coupler - F/F  809T_Cover pages_ItSpPo.indd  

Copyright © All rights reserved.
Failed to retrieve file