USOO6281894B1 (12) United States Patent (10) Patent No.: US 6,281,894 B1 Rive (45) Date of Patent: Aug. 28, 2001

(54) METHOD AND APPARATUS FOR 5,379.407 1/1995 Todd. CONFIGURING A HARD DISK AND FOR 5,388,252 2/1995 Dreste et al. . PROVIDING SUPPORT FOR A COMPUTER 5,390,324 2/1995 Burckhartt et al. . SYSTEM 5,392,095 2/1995 Siegel. (List continued on next page.) (75) Inventor: Russell Rive, Palo Alto, CA (US) OTHER PUBLICATIONS (73) Assignee: Everdream, Inc., Fremont, CA (US) PCT International Search Report-PCT/US00/24176. “NTSystem Policy Editor”, http://scilnet.fortlewis.edu/tech/ (*) Notice: Subject to any disclaimer, the term of this Users/Policies NT.htm. patent is extended or adjusted under 35 PC World Philippines “System Policy Editor", http://www U.S.C. 154(b) by 0 days. pcworld.com.ph/backissues/pc1098/features/article2/ page3.html. (21) Appl. No.: 09/418,697 (List continued on next page.) (22) Filed: Oct. 15, 1999 Primary Examiner Steven Sax Related U.S. Application Data (74) Attorney, Agent, or Firm-Blakely, Sokoloff Taylor (60) Provisional application No. 60/151,676, filed on Aug. 31, and Zafman 1999. (57) ABSTRACT (51) Int. Cl." ...... C06K 15/00 (52) U.S. Cl...... 345/336; 358/1.14 A method and an apparatus for configuring a hard disk drive accessible by computer System increase the robustneSS and (58) Field of Search ...... 345/336-338, reliability of the computer System, So as to reduce technical 345/326,335, 333,330; 358/1.14, 1.15, Support requirements and costs for the computer System. A 1.16, 1.17; 707/10; 710/36, 200 first partition is defined within the disk drive that supports a (56) References Cited first operating environment of the computer System. The content of this first partition is protected from both user U.S. PATENT DOCUMENTS modification, Software modification and corruption by Vari 4,356,545 10/1982 West. ous mechanisms. Specifically, the first partition is protected 4,425,625 1/1984 Seligman et al.. from user modification when the first partition is active, in 4,695,946 9/1987 Andreasen et al. . that the user is prevented from modifying the content of the 4,823,343 4/1989 Takahashi. first partition when the partition is active. A Second partition 5,084875 1/1992 Weinberger et al.. is also defined on the Storage device that Supports a Second 5,124,622 6/1992 Kawamura et al. . operating environment of the computer System. Unlike the 5,179,695 1/1993 Derr et al. . first partition, the content of the Second partition is modifi 5,274,456 12/1993 Kinoshita. able by the user, and the user is accordingly able to Store 5,287,505 2/1994 Calvert et al. . 5,357,519 10/1994 Martin et al.. applications and data within the Second partition. A technical 5,361,358 11/1994 Cox et al.. Support Service may then ultimately provide technical Sup 5,361,359 11/1994 Tajalli et al.. port for the first partition at a reduced cost in view of the 5,367,667 11/1994 Wahlquist et al.. protections implemented with respect to this first partition. 5,367,682 11/1994 Chang. 5,371,883 12/1994 Gross et al.. 35 Claims, 19 Drawing Sheets

40 41 40 4

REGPOLICY REG POLICY 54 SUPPORTED UNSUPPORTED PARTITION PARTITION2

SUPPORTED UNSJPPORTED ENVIRONMENT ENVIRONMENT {EXECUTABLES) (EXECUTABLES) 88 -- OS -- APPICATIONS applications

... . OUTPUT PARTION 4: MIRROR SHARED PARTITION3: ENVIRONMENT SUPPORTED (DOCUMENTS) 70 } ENVIRONMENTMERROR - S. COMFG -- 72 7 STORAGEDEVICE 52

80

COMPUTERSYSTEM30 US 6,281,894 B1 Page 2

U.S. PATENT DOCUMENTS V Communications Web Site, “Announcing Partition Com mander” http://www.v-com/products/pc.html. 5,432,934 7/1995 Levin et al. . 5,448,045 9/1995 Clark. Corporation, “Registry”, http://spyder. macarthu 5,455,933 10/1995 Schieve et al.. r.uws.edu.au/iishelp/is/htm/core/iregtop.htm. 5,491,791 2/1996 Glowny et al.. 5,537,653 7/1996 Bianchini, Jr.. Tivoli Home Page, http://www.tivoli.com. 5,594,663 1/1997 Messaros et al. . Tivoli Products & Solutions, http://www.tivoli.com/prod 5,657,473 8/1997 Killean et al. . uctS/. 5,678,002 10/1997 Fawcett et al.. 5,694,528 12/1997 Hube. ZDNet, “Centerbeam aims for one-stop-IT, Margaret 5,732.212 3/1998 Perholtz et al. . Kane, Aug. 9, 1999, http://www.zdnet.com/zdnn/stories/ 5,732,268 3/1998 BiZZarri ...... 395/652 news/0,4586,2309952,00.html. 5,743,743 4/1998 Ho et al.. TechWeb, “Help Is On The Way”, Aaron Ricadela, Aug. 9, 5,748,877 5/1998 Dollahite et al. . 1999, http://www.informationweek.com/747/help.htm. 5,826,012 10/1998 Lettvin. 5,854.828 12/1998 Kocis et al.. SF Gate, Business & Finance, “Startup Launching PC 5,884,073 3/1999 Dent. Service Smallfirms to get constant tech Support at low cost”, 5,919.247 7/1999 Van Hoff et al. . Henry Noor, Aug. 9, 1999, http://www.sfgate.com/cgi-bin/ 5,933,646 8/1999 Hendrickson et al. . article.cgi?file=/chronical/archive/1999/08/09/ 5,944,820 8/1999 Beelitz. BU984.12.DTL. 5,974,567 10/1999 Dickson, Jr. et al.. 5,982,891 11/1999 Ginter et al...... 380/4 PC Magazine OnLine, “Lock Your Desktop', Mark 5,983,364 11/1999 Bortcosh et al.. Sweeney, Aug. 1, 1999, http://www.Zdnet.com/pcmag/ 5,983,369 11/1999 Bakoglu et al.. pctech/content/18/14/ut 1814.001.html. 6,016,536 1/2000 Wu et al. . 6,026,500 2/2000 Topff et al.. ZDNet, “Soup-to-Net Service Planned For Small Firms”, 6,078,322 * 6/2000 Simonoff et al...... 345/335 Todd Spangler, Aug. 9, 1999, http://www.zdnet.com/in 6,091,412 * 7/2000 Simonoff et al...... 345/335 tweek/storeis/news/0,4164,2310864,00.htm.

6,094,654 * 7/2000 Van Huben et al...... 707/8 InfoWorld Electric, “Ex-Novel execs push virtual IT ser 6,125,387 9/2000 Simonoff et al...... 709/218 vice', Michael Vizard and Jessica Davis, Aug. 9, 1999, OTHER PUBLICATIONS http://www.infoworld.com/cgi-bin/ displayStory.pl?99089.hnlaube.htm. Motive Communications Web page, http://www.. motive Computer Resellers News, “CenterBeam Looks To Bring .com/home.html. Outsourcing To The Masses”, Barbara Darrow, Aug. 6, Fortune, “Cool companies”, http://www.pathfinder.com/for 1999, http://www.crn.com/serach/display.asp?ArticleID-= tune/cool/centerbeam.html. 8245. “CenterBeam- Making the Internet work for small busi neSS”, http://www.centerbeam.com. Wired News, “Technical Suport Goes Off Hold', James New Riders: “Inside ", System Policies and Glave, May 18, 1998, http://www.wired.com/news/news/ User Profiles, Chapter 29, http://pbs.mcp.com/ebooks/ technology/story/12352.html. 1562O5788Xch29/ch29.htm. Network World Reprint Internetworks, “Tivoli refugees PC Magazine OnLine, “Partition Commander, Jay Munro, tackle tech support automation', Bob Brown, Aug. 3, 1998, Sep. 17, 1998, http://search.Zdnet.com/pcmag/firstlooks/ vol. 15, No. 31, htto://www.motive.com/news articles 9809/f)80917a.html. networkWorld.html. PC Magazine OnLine, “Software Partition Commander', Computerworld, “No rush to online help desks”, Kin Girard, http://search.Zdnet.com/pcmag/firstlooks/9809/ Jul. 6, 1998, http://www.computerworld.com/home/print f980917ala.html. Webopedia, “Partition”, http://webopedia.internet.com/ .nsf/all/9807O65872. TERM/p/partition.html. Red Herring, “CenterBeam finds support for IT outsourc Silicon Knight Computing Services, “The Reg ing, Lawrence Aragon, Aug. 11, 1999, http://www.redher istry, http://siliconknight.com/windowSregistry. ring.com/insider/1999/0811/vc-center.html. TechWeb, “The Registry Revealed”, http://www.winmag Microsoft , “System Policy Editor”, Aug. .com/library/1997/0201/featu159.htm. 15, 1999, http://www.microsoft.com/Windows95/down Microsoft Product Insider, “Easy Access to the Registry loads/contents/WUAdminiTools/S .../Default.as. Editor in Windows 95", http://www.microsoft.com/insider/ Reviews 'r'. Us, “Partition Commander", http://www.re windows95nt/tips/easy to.htm. ViewS-r-us.com/Software/partcomm.htm. PCWEEK Labs, “Registry and System Policy Editor are valuable Windows 95 resources”, Aug. 21, 1995, http:// TroubleShooting and Configuring the Windows NT/94 Reg www.zdnet.com/pcweek/sr/0821/tdate.html. istry, Chapter 28, “System Policy Editor: Understanding PC Magazine OnLine, “Partitioning Your Hard Disks”, Neil Policy Files”, http://docs.rinet.ru/Registratura/htm/ Randall, http://www.Zdnet.com/pcmag/pctech/content/16/ ch28.htm. 11/tu1611.001.html. Windows 95 Annoyances, “Getting to Know the Registry”, “How it WorkS-Partition Tables', Hale Landis, Version 1c, 1995-1999, http://www.annoyances.org/win95/regis (landisGSugs.tware.com). try.html. Motive Communications, “Motive Duet”, http://www.mo tive.com/prod duet.html. * cited by examiner U.S. Patent Aug. 28, 2001 Sheet 1 of 19 US 6,281,894 B1

PARTITIONTABLE 16 PARTITION 1: ACTIVE PARTITION 2 NACTIVE-U8 PARTITION 3: INACTIVE - 20 MASTER BOOT RECORD

30

PARTITION 1 BOOT SYSTEM SECTOR FILES

30 PARTITION 2 BOOT SYSTEM SECTOR FILES

30 PARTITION 3 BOOT SYSTEM SECTOR FILES

FIG. 1

U.S. Patent Aug. 28, 2001 Sheet 3 of 19 US 6,281,894 B1

REGISTRY

HKEY CLASSES ROOT

REGISTRY EDITOR

HKEY_CURRENT_USER

HKEY_USER

HKEY_LOCAL_MACHINE

HKEY CURRENT CONFIGURATION

HKEY DYN DATA

FIG. 3 U.S. Patent Aug. 28, 2001 Sheet 4 of 19 US 6,281,894 B1

40 41 40 41

7- -

SUPPORTED UNSUPPORTED PARTITION 1: PARTITION 2: SUPPORTED UNSUPPORTED ENVIRONMENT ENVIRONMENT (EXECUTABLES) (EXECUTABLES)

OUTPUT PARTITION 4: MIRROR SHARED PARTITION 3: ENVIRONMENT SUPPORTED (DOCUMENTS) ENVIRONMENT

STORAGE DEVICE 52

COMPUTER SYSTEM 50

FIG. 4 U.S. Patent Aug. 28, 2001 Sheet S of 19 US 6,281,894 B1

PRESENT BOOT MENU AND DETECT USER SELECTION OF SUPPORTED OR UNSUPPORTED ENVIRONMENTAS ACTIVE

BOOT COMPUTER SYSTEM FROM SELECTED ENVIRONMENT

SUPPORTED ENVIRONMENT ELECTED?

DESIGNATE SUPPORTED DISK PARTITIONAS ACTIVE PARTITION DESIGNATE UNSUPPORTED DISK PARTITIONAS ACTIVE PARTITION

PERFORM CONSISTENCY CHECK

BETWEEN SUPPORTED DISK EXECUTE APPLICATIONS

PARTITION AND PERSISTENT (EXECUTABLES) FROM THE

"MIRROR" COPY AND TAKE UNSUPPORTED DISK PARTITION

CORRECTIVE ACTION IF NECESSARY SAVE APPLICATION OUTPUTTO SHARED DISK PARTITION

EXECUTE APPLICATIONS (EXECUTABLES) FROM THE 18 SUPPORTED DISK PARTITION

DETECT ENVIRONMENT SAVE APPLICATION OUTPUT TO CHANGE REQUEST SHARED DSK PARTITION ROM USERT

102 104 120

DETECT ENVIRONMENT DETECT CHANGE RECUEST SHUTDOWN ROM USER2 REQUEST FROM

USER2

DETECT

SHUTDOWN REQUEST FROM USER2 FIG. 5 U.S. Patent Aug. 28, 2001 Sheet 6 of 19 US 6,281,894 B1

98

BOOT COMPUTER SYSTEM.IN 130 SUPPORTED ENVIRONMENT

132 PERFORM CONSISTENCY CHECK BETWEEN PERSISTENT COPY OF OS AND APPLICATIONS OF SUPPORTED PARTITION, STORED IN "MIRROR"PARTITION, AND OS AND APPLICATIONS STORED IN SUPPORTED PARTITION

INCONSISTENCY OPERATE IN 136 DETECTED? SUPPORTED ENVIRONMENT

OVERWRITE CONTENT OF SUPPORTED PARTITION WITH 138

CONTENTS OF "MIRROR" PARTITION TO RESTORE DISK DRIVE TO INITIAL (SHIPPED) CONDITION

FIG. 6 U.S. Patent Aug. 28, 2001 Sheet 7 of 19 US 6,281,894 B1

DEFINE 1STSUPPORTED h92 HARD DISK PARTITION: 2ND UNSUPPORTED HARD DISK PARTITION, A 3RDMRROR PARTITION AND 4TH MSEE9ESS SHARED PARTITION POINT TO PARTITIONSO THAT THE OUTPUT OF ALL APPLICATIONS EXECUTING FROM THE DESIGNATE 1 ST 1ST PARTITIONSSAVED 154 U-1 PARTITIONAS ACTIVE TO THE 4TH PARTITION

PLACE ACCESS 156 CEIGHRIST RESTRICTION REGISTRY AND POLICYFILE

DESIGNATE 3RD 158 U. "MIRROR"PARTITIONAS ACTIVE

COPY CONTENT OF ST 160 PARTITION TO 3RD ------PARTITION

DESIGNATE 2ND 162 PARTITIONAS ACTIVE

MODIFY POINTERS IN

CONFIGURE 2ND RESTRY FESTO 174 164 PARTITION PARTITION SO THAT THE OUTPUT OF ALL APPLICATIONS EXECUTING FROM THE 1ST PARTITIONSSAVED TO THE 4TH PARTITION FIG. 7 ------U.S. Patent Aug. 28, 2001 Sheet 8 of 19 US 6,281,894 B1

NN N U.S. Patent Aug. 28, 2001 Sheet 9 of 19 US 6,281,894 B1

Sz %% NX U.S. Patent Aug. 28, 2001 Sheet 10 of 19 US 6,281,894 B1

U.S. Patent Aug. 28, 2001 Sheet 11 of 19 US 6,281,894 B1

R?ZLOETIS W6"50IH

HBSTINBH8nJTABXHDÙGÌBNIHOVWTTWOOTAÐIHDJEl SHÆSTAÐIH DJEl9HNOOTINHHH00 ABXHDJEl VIVOTNAGTAÐIHDJEl

06

U.S. Patent US 6,281,894 B1

U.S. Patent US 6,281,894 B1

U.S. Patent Aug. 28, 2001 Sheet 14 of 19 US 6,281,894 B1

U.S. Patent Aug. 28, 2001 Sheet 15 0f 19 US 6,281,894 B1

200

202 CONFIGURE COMPUTER SYSTEM HARD DISK TO INCLUDE 1ST-4TH PARTITIONS, WHERE 1ST PARTITION IS PROTECTED FROM USER MODIFICATION

204 SUPPLY COMPUTER SYSTEM TO USER

PROVIDE SUPPORT FOR 1ST AND 3RD 2O6 PARTITIONS (AUTOFIX) AND 4TH PARTITION (REMOTE BACKUP) FOR FIXED FEE (MONTHLY OR LUMPSUM)

CORRUPTION OF CORRUPTION OF USER 1ST PARTITION 2ND PARTITION BACKUP REQUIRES NEW REPORTED BY REPORTED BY OUTPUT OF 1ST APPLICATION USER AND 2ND INSTALLED ON 208 212 PARTITIONS COMPUTER STORED IN 4TH SYSTEM 218 PARTITION TO OVERWRITE 1ST OVERWRITE 2ND REMOTE SITE PARTITION WITH PARTITION WITH "MIRROR" "MIRROR" 216 PARTITION 21 PARTITION 214

SUPPORT COMPANY 228 220 INSTALLS IN 1ST

PARTITION, SUPPORTED CREATES NEW "MIRROR" APPLICATION? NO PARTITION TO MANTAIN YES

PERSISTENT COPY 224 USER INSTALLS 222 WITHIN 2ND NO APPLICATION PARTITION INSTALLED BUT NOT ACTIVE7 YES

REMOTELY TAKE CONTROL OF 226 COMPUTER, AND ACTIVATE APPLICATION VIA REGISTRY FILE FIG. 10 U.S. Patent Aug. 28, 2001 Sheet 16 0f 19 US 6,281,894 B1

RECEIVE REQUEST FROM 252 CHARGE FIXED PERIODIC 268 CUSTOMER FOR APPLIANCE FEE/LUMPSUMFORAPPLIANCE COMPUTER COMPUTER WITH SELECTED APPLICATIONS SUPPORTED

DETERMINE PROFILE OF 254 270 CUSTOMER (E.G., LAW OFFICE) PERFORMREMOTE BACKUP OF APPLICATION OUTPUT

INSTALL APPLICATIONS SET BASED ON PROFILE 256 RECEIVE RECUEST FROM CLIENT 272 FOR "INSTALLATION"/ACTIVATION OFFURTHERAPPLICATION

IDENTIFY APPLICATIONS THAT CUSTOMER HAS REQUESTED BE 274 ACTIVE/ENABLED (I.E., USER 258 PERFORMREMOTE ENABLEMENT SELECTED APPLICATIONS) OF PRE-NSTALLED APPLICATION

ENABLE USER SELECTED MODIFY PERIODICFEE/LUMP 276 APPLICATIONS VIA REGISTRY 260 SUM TO REFLECT SUPPORT FOR FILE NEW CONFIGURATION

PLACE ACCESS RESTRICTION ON 278 REGISTRY FILE 262 END

SHIP CONFIGURED COMPUTER 264 TOUSER N 250

FIG. 11 U.S. Patent Aug. 28, 2001 Sheet 17 of 19 US 6,281,894 B1

280 ESTABLISHREMOTE CONTROL OF/ACCESS TO COMPUTER SYSTEMWA NETWORK (E.G., NETMEETING, SMS)

282 REMOTELY ACCESS REGISTRY EDITOR OF COMPUTER SYSTEM

REMOTELY SUPPLY PASSWORD TO 284 UNLOCK REGISTRY EDITOR

REMOTELY MODIFY REGISTRY FILE TO 286 ENABLE OPERATION AND EXECUTION OF APPLICATION IN SUPPORTED ENVIRONMENT

288 REMOTELY RESTORE RESTRICTIONS TO REGISTRY FILE

290 TERMINATE REMOTE CONTROL/ACCESS

292 END

274 FIG. 12

U.S. Patent Aug. 28, 2001 Sheet 19 of 19 US 6,281,894 B1

402 410

PROCESSOR VIDEO

DISPLAY INSTRUCTIONS 408

404 412

ALPHA-NUMERIC INPUT DEVICE INSTRUCTIONS 414 - 406

CURSOR CONTROL STATIC MEMORY DEVICE

420 416

NETWORK INTERFACE 422 DEVICE MACHINE-READABLE MEDIUM 424 INSTRUCTIONS

418

SIGNAL GENERATION DEVICE

FIG. 14 US 6,281,894 B1 1 2 METHOD AND APPARATUS FOR number of IT Support companies are offering remote diag CONFIGURING A HARD DISK AND FOR nostic Services, whereby a diagnosis of a faulty or failed PROVIDING SUPPORT FOR A COMPUTER computer System is performed remotely. However, Such a SYSTEM Service may require (1) the installation of a diagnostic agent on the faulty computer System that performs a complex and This application claims priority under 35 U.S.C. S119(e) time consuming diagnosis of the computer System, and (2) from U.S. provisional application Ser. No. 60/151,676, filed the taking of corrective action, which may again be time Aug. 31, 1999 pending, and entitled “METHOD AND consuming. Such a system is described in U.S. Pat. No. APPARATUS FOR CONFIGURING A HARD DISK AND 5,678,002, filed Jul. 18, 1995, and entitled “System and FOR PROVIDING SUPPORT FOR A COMPUTER SYS Method of Providing Automated Customer Support'. The TEM. performance of Such a remote diagnostic operations how ever requires the skills of a trained technician who is able to FIELD OF THE INVENTION interpret the results of the diagnostic operation and identify The present invention relates to the field of computer appropriate corrective actions. While the ability to perform System configuration and, more specifically, to a method of 15 diagnosis and repair operations remotely has provided Some configuring a storage device accessible by a computer time and cost Savings, the Support company is nevertheless System So as to facilitate the maintenance and verification of required to pay a trained technician for the period required the integrity and operation of the computer System, and to a to establish the remote connection, perform a diagnosis, busineSS method of Supporting a computer System So con interpret a diagnosis, identify a corrective action and then to figured. take the relevant corrective action. Following the purchase of a computer System, should a BACKGROUND OF THE INVENTION user wish to install further applications, these are usually not While large corporations can justify the employment of an purchased from the Supplier of the computer System, but in-house Information Technology (IT) Support department to from a Software vendor. Software applications purchased provide technical Support for computer, network and periph 25 Subsequent to the initial purchase of the computer System eral Systems, Small to medium size concerns typically can must then be installed in the computer System, which may be not justify the expense of full time, in-house IT Support. a time consuming proceSS or even beyond the technical Accordingly, the IT Support operations of Such Small and abilities of a user of the computer System for computer users. medium sized concerns may either be OutSourced to a Within large organizations, technical Support is usually computer Support company or consultant that provides tech available to perform the installation, or at least to assist nical Support as and when needed. However, Such Support therein. However, for the home user, or in Small and medium organizations, or consultants, may not be able to respond to Size organizations, Such technical Support may not be an equipment failure in a timely manner and may have available, and the user may be required to install the difficulty performing an appropriate diagnostic on the failed application without Support. Should problems be encoun equipment. AS Such Support companies and consultants 35 tered with the installation, the user may have to consult an typically charge on an hourly basis, the cost of having a outside technical Support operation for assistance that may technician or consultant perform an on-site visit, perform be costly and time consuming. extensive diagnostics to locate the cause of the failure, and SUMMARY OF THE INVENTION then repair the failure, may be financially burdensome to the 40 Small and medium size business concern. Where Small and According to the present invention there is provided a medium sized businesses do not feel justified in expending method of configuring a storage device accessible by a valuable financial resources on the Services of a technical computer System. A first partition is defined within the Support company, or consultant, the burden of responding to Storage device that Supports a first environment of the computer equipment and network failures may fall on an 45 computer System. A Second partition is defined within the employee who is knowledgeable in the technology area, but Storage device that Supports a Second environment of the who may be employed primarily in another capacity. In this computer System. The content of the first partition is pro Situation, the distraction of the relevant employee from his tected from user modification when the first partition is or her primary task is a relevant concern. The above active and the content of the Second partition is available for identified problems are particularly Serious for a Small 50 user modification when the Second partition is active. business concern that may have only a handful of The content of the first partition may be protected from employees, or that may in fact be a Solo operation. user modification by restricting user access to the first Computer Systems Supplied to home users may also environment Supported by the first partition. In an exem experience failures, which most often occur within the first plary embodiment, the first environment comprises a first three months of operation. AS Such computer Systems are 55 and a first application, and user access to usually covered by a warranty during this period, the com the first environment is restricted utilizing Settings within a pany that Supplied the computer typically Subcontracts to a System registry (or registry database) for the first environ local Support company, that will perform a location visit, ment and stored within the first partition. In a further diagnose and identify the cause of the System failure, and embodiment, user access to the first environment may also perform repairs. Many computer System manufacturers and 60 be restricted utilizing Settings within a System policy pro Suppliers provide warranty Support programs for computer vided within the first environment. Systems Supplied to both Small and large business concerns. Furthermore, in a further embodiment of the present It will be appreciated that there are Substantial costs to the invention, the content of the first partition may be protected computer System Suppliers and manufacturers in the Support from user modification by maintaining a persistent copy of of warranties that they provide. 65 Supported content of the first partition, and conforming the With a view to reducing the costs of providing technical content of the first partition to the persistent copy, for Support for computer Systems and installed Software, a example, upon boot-up of the computer System, upon detec US 6,281,894 B1 3 4 tion of a variance between the content of the first partition FIG. 7 is a flow chart illustrating a method, according to and the persistent copy, or upon the detection of any failure an exemplary embodiment of the present invention, of of, or fault within, the computer System. configuring a storage device accessible by a computer The persistent copy may, in an exemplary embodiment, be System to increase the robustneSS and reliability of the Stored within a third partition. According to an even further computer System. aspect of the present invention, a fourth partition may be FIGS. 8A-8C show a sequence of screen shots illustrating defined within the Storage device in which application how a System Policy Editor application may be utilized to output is Stored from the first environment of the computer modify a policy file of a Supported partition, according to an System. Additionally, Scheduled backup operations may be exemplary embodiment of the present invention. performed with respect to the content of the fourth parti FIGS. 9A-9D illustrate a sequence of screen shots show tions. These backup operations may be performed to a ing how a registry editor may be utilized to modify a registry remote Storage facility via a record computer network. of a Supported partition to implement access restrictions, The present invention also provides a storage device, according to an exemplary embodiment of the present accessible by a computer System, that comprises a first invention. partition that Supports a first operating environment of the 15 FIG. 10 is a flow chart illustrating a method, according to computer System and a Second partition that Supports a an exemplary embodiment of the present invention, of Second operating environment of the computer System. The providing Support for a computer System. content of the first partition is protected from user modifi FIG. 11 is a flow chart illustrating a method, according to cation when the first partition is active and the content of the an exemplary embodiment, of Supplying a preconfigured Second partition is available for user modification when the computer System to an end user. Second partition is active. FIG. 12 is a flow chart illustrating a method, according to The present invention also provides a method for provid an exemplary embodiment of the present invention, of ing Support for a computer System. The computer System is enabling or activating a preinstalled application that was configured Such that a Storage device accessible thereby 25 previously deactivated or disabled. includes a first partition that Supports a first operating FIG. 13 is a block diagram illustrating an exemplary environment of the computer System and a Second partition embodiment of a remote computer with a Supported partition that Supports a Second operating environment of the com having a specific configuration, and a Support computer that puter System, Such that the content of the first partition is is capable of remotely accessing the remote computer Sys protected from user modification when the first partition is tem via a network to modify this Specific configuration. active and the content of the Second partition is available for FIG. 14 is a block diagram illustrating a machine, in the user modification when the Second partition is active. The exemplary form of a computer System, within which a Set of configured computer System is Supplied to a user, and instructions for causing a computer System to perform any of technical Support is provided for the first operating the methodologies discussed in the present specification may environment, but not for the Second operating environment. The Support for the first operating environment may be 35 be executed. provided for a recurring fee or a one-time fee. DETAILED DESCRIPTION Other features of the present invention will be apparent A method and apparatus for configuring a storage device from the accompanying drawings and from the detailed accessible by computer System, and a method of providing description that follows. 40 Support for a computer System, are described. In the follow ing description, for purposes of explanation, numerous spe BRIEF DESCRIPTION OF THE DRAWINGS cific details are Set forth in order to provide a thorough The present invention is illustrated by way of example understanding of the present invention. It will be evident, and not limitation in the figures of the accompanying however, to one skilled in the art that the present invention drawings, in which like references indicate Similar elements 45 may be practiced without these specific details. and in which: Terminology FIG. 1 is a diagrammatic representation of a hard drive, For the purposes of the present invention, the term "stor that may be configured according to an exemplary embodi age device' shall be taken to refer to any device or medium ment of the present invention. that capable of Storing information (e.g., code or data). FIG. 2 is a diagrammatic representation of the Structure of 50 Accordingly, the term “storage device' shall be taken to a partition table entry, that may be utilized according to the encompass, but not be limited, to hard drives, hard disks, teachings of the present invention. hard disk drives, fixed disks, fixed disk drives, Winchester drives, floppy drives, removable drives, removal disk drives, FIG. 3 is a diagrammatic representation of an exemplary magnetic disk drives, optical disk drives, magneto-optical registry, that may be referenced and modified, according to 55 disk drives or the like. the teachings of the present invention. For the purposes of this specification the term “partition” FIG. 4 is a block diagram illustrating a computer System, shall be taken to refer to any division of data that is including a storage device, that is configured according to an accessible by a computer System. Accordingly, for purposes exemplary embodiment of the present invention. of the present specification, the term “partition” shall be FIG. 5 is a flow chart illustrating a method, according to 60 taken to include, but not be limited to, both hard partitions an exemplary embodiment of the present invention, of defined on the Storage medium, and Soft partitions that operating a computer System configured to implement both merely create views of data without performing any physical Supported and unsupported operating environments. division of a body of data. Accordingly, the term “partition” FIG. 6 is a flow chart illustrating a method, according to may, in one exemplary embodiment of the present invention, an exemplary embodiment of the present invention, of 65 be taken to refer to a Section of main memory or a mass restoring the content of a Supported partition to a Supported, Storage device that has been reserved for a particular oper or reference, State. ating environment or a particular application. US 6,281,894 B1 S 6 Overview of Exemplary Storage Device Partition Table The present invention is described as being implemented The partition table 14 is typically contained, together with utilizing a storage device in the exemplary form of a "hard the MBR 12, within the first physical sector of the hard drive drive', and a description of an exemplary embodiment of the 10. The table 14 is typically 64-bytes long, and comprises present invention will be provided below within this content. 5 four 16-byte partition table entries 32. FIG. 2 illustrates an It will however be appreciated that the broader teachings of exemplary Structure for a partition table entry 32, which is the present invention are not limited to a hard drive, and implemented in most operating Systems. Of particular inter could be implemented utilizing any Storage device acces Sible by a computer device, either directly or remotely. est is the boot indicator byte 34, that indicates whether the Hard drives are utilized as internal Storage devices used in relevant partition is active or inactive. Should the partition many computer Systems. Programs and data are Stored on table 14 indicate no active partition, the relative hard drive the hard drive in the form of binary 1’s and 0's, represented 10 will not boot. If more than one partition is indicated by magnetic flux patterns. Data is written to, and read from, within the partition table 14 to be active, an error message the hard drive in units termed “sectors' that constitutes is typically generated. 512-bytes. Sectors may be organized on a hard drive in a Also of interest is the partition type byte 36 that indicates matrix of cylinders, heads and Sectors, and cylinder/head/ 15 a partition type. While many different operating Systems Sector (CHS) may be utilized to implement Such an organi utilize Specific partition type codes to identify partition types Zation. A typical hard drive consists of a number of round recognized by the relevant operating System, a number of platters that are Stacked on top of each other, with tracks common partition types exist. Common partition type codes defined as concentric circles on both sides of each platter. may indicate an unused partition table entry, a primary Read/write heads are attached to a ganged assembly that partition or an extended partition. Furthermore, the partition moves all the heads in unison, with one head for each side type codes may indicate the type of file disk System of each respective platter. Cylinders refer to Sets of tracks, or employed within the relevant partition. For example, the concentric circles, and a Sector is a portion of a track that partition type code may indicate the relevant partition as holds 512-bytes of data. Each track is typically divided into implementing a (FAT) , a 8 Sectors. Hard drives are usually formatted at a manufac 25 VFAT file system, a FAT32 file system, a NTFS file system, turing facility, this format defining the tracks and Sectors of a HP file system, or an EXT2 file system (Linux). the relevant hard drive. Registry File/Database Operating Systems (e.g., the various Windows operating FIG. 3 is a block diagram providing a diagrammatic Systems, the Macintosh operating System, or various flavors representation of a registry 40 that may be utilized in an of the Unix operating System) define one or more partitions exemplary embodiment of the present invention. While the on a hard drive. Within the operating environments provided above discussion with reference to FIG. 3 describes the by the Windows 95/98 operating systems, a partitioning registry 40 implemented by the Windows 95 operating utility may be invoked utilizing the FDISK command, and System, for the purposes of the present specification, the a logical formatting may be performed utilizing the FOR terms “registry”, “registry file” and “registry database' shall MAT command. Similar functions are provided within other 35 be taken to encompass any data Structure that Stores Settings operating Systems. particular to a particular operating environment imple An exemplary description of the partitioning of a storage mented on a computer System. The operating environment device, in the exemplary form of a hard drive will be may, merely for example, be dictated by a particular oper described with reference to FIGS. 1 and 2. Specifically, ating System when Stored within a Specific partition. when executing the FDISK command within the DOS/ 40 Turning specifically to the registry 40 shown in FIG. 3, Windows 95/98 operating environments, a formatting pro the registry 40 comprises a database of Settings for the gram creates a 1-sector Master Boot Record (MBR) 12 for Windows 95 operating system, and is contained within two the hard drive 10 on the first sector of the hard drive 10 that hidden files, namely in the USERDAT and SYSTEM.DAT is being partitioned. The MBR 12 is also known as a Master The registry 40 has a hierarchical Structure, with each node, Book Sector (MBS), a partition sector or a Master Partition 45 or branch, termed "key'. Each key can contain child keys, Sector (MPS). The FDISK function may also be used to as well as values. These values constitute the actual Setting define additional partitions on a hard drive 10 that already information stored by the registry 40. There are three types has a MBR 12 defined by the same, or another, operating of values, namely string, binary and DWORD values, uti System. lized depending on the content. Upon boot of a computer system, the MBR 12 obtains a 50 The registry 40 of the Windows 95 operating system program that finds all partitions, defined on the hard drive includes three primary branches, each of which contains 10, by referencing a partition table 14, and any extended Specific Substantive information Stored within the registry partition tables (not shown), that list all defined partitions. 40. FIG. 3 illustrates these six branches, each of which is Specifically, the partition table 14 contains a record (or prefaced by the acronym “HKEY”. Of interest to an under entry) 16, 18 or 20, for each partition 22, 24 or 26 defined 55 Standing of an exemplary embodiment of the present inven within the hard drive 10. Each partition 22, 24 and 26 is tion is the HKEY CURRENT USER branch 42 that shown to include a boot sector 28, that includes boot code, points to a part of the HKEY USER branch 44, that in turn and system files 30. The MBR 12 identifies a partition that contains certain preferences for each user of a computer is indicated within the partition table 14 as being active and System. Specifically, although an operating System may be loads the boot sector 28 to the active partition. As described 60 configured for multiple users, one user is usually designated below, the boot sector 28 contains boot code that then loads as the default user. The various values contained within the the system files 30 on a partition. The system files 30, once registry 40 are shown to be modifiable by a registry editor loaded, may in turn load other files within the relevant 46, that constitutes an application included within the Win partition. Accordingly, while each partition 22, 24 and 26 dows 95 operating System that enables a user to View and includes a boot sector 28 including boot code, only the boot 65 edit the contents of the registry 40. Various screen shots of code contained in the boot sector 28 for the active partition a window presented by the registry editor 46 are discussed is executed. below. US 6,281,894 B1 7 8 Storage Device Configured with Multiple Partitions and Supported content of the Supported partition 54, is not FIG. 4 is a block diagram illustrating a computer System executed, and the computer system 50 is not booted from the 50, configured according to an exemplary embodiment of mirror partition 58. In this way the content of the mirror the present invention. Specifically, the computer system 50 partition 58 is not subject to modification or corruption. It is shown to include a Storage device, in an exemplary form should be noted that the content of the mirror partition 58 of a hard drive 52, that is configured to include four (i.e., the persistent copy of the Supported partition 54) may partitions, each of which Supports an operating environment. be the content of the Supported partition 54 as originally While the storage device is shown to be included within the installed. Accordingly, the content of the mirror partition 58 computer System 50, the present invention requires that the is only conformed to the content of the Supported partition Storage device merely be accessible by the computer System 54 upon initial installation So as to constitute a persistent 50, and could be external to the computer system 50 and, for copy, or Snapshot, of the original and unmodified content of example, accessed over a network. Alternatively, the Storage the Supported partition 54. In Summary, one aspect of the device may be a hard drive 52 that is directly accessible by present invention proposes that the content of the Supported the computer system 50. partition 54 be protected from user modification by over The hard drive 52 is shown to include four partitions, 15 writing the content of the Supported partition 54 with the namely a Supported partition 54 from which a Supported content of the mirror partition 58 on the occurrence of a environment is implemented, an unsupported partition 56 predetermined event (e.g., on booting of the computer from which an unsupported environment is implemented, a System, on the detection of a variance between the contents mirror partition 58 and an output partition 60. The partitions of the partitions 54 and 58, or upon a system failure) or on 54, 56, 58 and 60 may be defined utilizing the FDISK a regular and Scheduled basis (e.g., once a day or once a program, or any of a number of commercially available disk month). In this way, should a Sophisticated user manage to partitioning programs. The Supported partition 54 is Sup bypass the restrictions placed on access to Supported parti ported by a Support Service (e.g., an IT technical Support tion 54, or should a virus or execution error modify the company) and, in addition to the boot Sector 28 and System content of the Supported partition 54, this content can be files 30, includes operating System Software 62 and appli 25 restored to an original State by replacing the content of the cation software 64. The supported partition 54 is distin supported partition 54 with the content of the mirror parti guished in that the content of the partition 54, which tion 58. implements a Supported operating environment, is protected In one embodiment of the present invention, this over from user modification when the Supported operating envi Writing operation may be performed by inserting a “repair” ronment is implemented by the computer system 50 and the floppy disk into the computer system 150, the disk contain Supported partition 54 is designated as the active partition. ing a "copy program” that overwrites the content of Sup The protection of the Supported partition 54 may, according ported partition 54 with the contents of the mirror partition to an exemplary embodiment of the present invention, be 58. implemented in a number of ways. First, user modification The "copy program” may be a simple Script that formats of the content of the Supported partition 54 may be prevented 35 the Supported partition 54 (e.g., using the “format by assigning appropriate values to a registry 40 stored in the command), and then copies the content of the mirror parti Supported partition 54, and applicable to the Supported tion 58 to the newly formatted supported partition 54 (e.g., operating environment. For example, access to the hard using the "copy' command). Accordingly, the original, drive 52 or any other drive included within the computer installed content of the Supported partition 54, a copy of system 50, by a particular user may be prohibited by storing 40 which is maintained in the mirror partition 58, in one an appropriate value within the registry 40 of the Supported exemplary embodiment, may be labeled the “Supported partition 54. Further details regarding the attributing of Such content” of the supported partition 54. a value within the registry 40 are provided below. In Summary, the content of the Supported partition 54 is Second, a user may, according to a further aspect of the protected from modification in that it is protected from user invention, may be prevented from modifying the content of 45 modification when the supported partition 54 is active by the Supported partition 54 by Setting appropriate indicators appropriate Settings within the registry 40 and the policy file within a policy file 41 for the Supported partition 54. For 41, and is universally protected from modification, by a user example, for local users of the computer System 50, acceSS or otherwise and whether the partition is active or not, by to various control panels may be restricted, folders and task maintaining the persistent copy of the protected content in bars that are commonly utilized to modify an operating 50 the mirror partition 58. environment may be removed, and other icons or mecha Turning now to the unsupported partition 56, the content nisms for configuring or accessing tools for modifying the of this partition 56 is not protected from modification, by the supported environment may be hidden or disabled. The user or otherwise, in that little or no restriction is imposed policy file 41 may be edited utilizing a System policy editor upon user access to the contents of this partition by the application program, a number of which are commercially 55 registry 40 or the policy file 41 for this partition. While the available. registry 40 and the policy file 41 may contain certain The content of the Supported partition 54 is furthermore restrictions, for example established by a network protected from these modifications in a third way that Supervisor, user access to the content of this partition 56 is involves the Storage of a persistent copy of the content of the not restricted in the manner that access to the content of the supported partition 54 within the mirror partition 58 of the 60 Supported partition 54 is restricted. The unsupported parti hard drive 52. The content of the mirror partition 58 is tion 56 is also shown to include an operating System 66 and removed from user access in a Similar manner to that application programs 68 that may or may not correspond to described above by assigning appropriate values to a registry the operating System 62 and application programs 64 of the 40, and providing appropriate Settings within a policy file first partition. Accordingly, a user is free, when operating 41, stored within the mirror partition 58. Indeed, the mirror 65 within an unsupported environment implemented utilizing partition 58 is hidden from user view. The content of the the unsupported partition 56, to install any applications or mirror partition 58, which is an exact duplicate of original other software within this partition 56, and then to execute US 6,281,894 B1 10 Such Software. On the other hand, when operating within the a source provider. The content of the output partition 60 Supported operating environment implemented utilizing the could be uploaded utilizing any one of a number of protocols Supported partition 54, a user is prevented from installing utilized for communications over the Internet 82, Such as for any applications within the Supported partition 54. example the File Transfer Protocol (FTP) or the Transmis Returning now to the output partition 60, in a manner sion Control Protocol/Internet Protocol (TCP/IP). To this Similar to the unsupported partition 56, access to this par end, the Supported partition 54 and the unsupported partition tition by a user is not restricted, and this partition 60 is 56 may include remote backup Storage Software that per characterized in that it stores changing, or variable, infor forms Scheduled backup operations with respect to the mation generated by at least the Supported partition 54. This content of the output partition 60 on a periodic basis. variable information may include, merely for example, The output partition 60 is significant in that it is a further output documents 70 of the application program 64 of the mechanism proposed by the present invention by which the supported partition 54. These output documents 70 may content of the Supported partition 54 is protected from comprise, merely for example, user-generated documents modification. Such as word processor documents. The output partition 60 also Stores configuration, data 72 required by the operating 15 Methodology-Computer System Operation Within System 62 and the application program 64 of the Supported Supported and Unsupported Environments environment. Certain applications access configuration and FIG. 5 is a flow chart illustrating a method 90, according Setting files that record user preferences and Settings. For to an exemplary embodiment of the present invention, of example, where the application program 64 is a browser, the operating a computer System configured to implement both user-specific “bookmarks” that are displayable by the Supported and unsupported operating environments that may browser application are Stored as configuration data 72 be implemented, in one exemplary embodiment, utilizing within the output partition 60. Similarly, word processor, the supported partition 54 and the unsupported partition 56 Spreadsheet and many other application programs may respectively. The method 90 commences at step 92 with the access Setting or configuration files that constitute the con presentation of a boot menu, generated by Software within figuration data 72 stored within the output partition 60. 25 E- messages are another example of application out the master boot record 12, that prompts a user to Select either put that may be stored within the output partition 60. the Supported or unsupported operating environment for Application programs that execute within the Supported operation of the computer system 50. The user selection is and unsupported environments may be configured to Store detected and, at step 94, the computer system 50 is booted output and configuration data within the output partition 60 from the partition Supporting the Selected operating envi by making appropriate registry changes to the registry 40 ronment. For example, should the Supported environment (e.g., by Setting an appropriate HKEY value or indication have been selected, the boot sector 28 of the Supported within the registry 40). partition 54 is accessed, the appropriate boot code executed, In an exemplary embodiment, the location of the “My and the appropriate system files 30 loaded and executed. Documents' folder within a Windows operating environ 35 Should the Supported environment be selected, as part of ment is changed by a registry edit to be located within the the boot-up process, the method 90 proceeds to step 96 output partition 60, as opposed to within the partitions 54 or where the Supported partition 54 is designated as the active 56. It will be appreciated that while the output partition 60 partition. At Step 98, a consistency check between the will rarely be an active partition, it is nonetheless visible content of the Supported partition 54 and the mirror partition when either the Supported or unsupported partition 54 or 56 40 58 is performed, and any corrective action necessary is is active. taken. Further details in this regard are provided below. At In one exemplary embodiment of the present invention, Step 100, the user may then execute an application program the operating System and application programs 66 and 68 of 64, stored within the Supported partition 54, within the the unsupported partition 56 may similarly be configured to content of the Supported operating environment. At Step 102, save output documents 70 and configuration data 72 to the 45 the application output (e.g., a document 70) and any con output partition 60, so that data from both the Supported figuration data 72 is stored to the output partition 60. operating environment and unsupported operating environ At Step 104, a user request to change environments may ment are stored to the output partition 60. In an alternative be detected. For example, it may be that the user wishes to embodiment, the output documents 70 and the configuration install an application on the computer System 50 but is data 72 generated within the unsupported environment may 50 prevented from doing So by the appropriate registry 40 and Simply be Stored within the unsupported partition 56, again policy Settings within the Supported environment. In this by making appropriate changes to the registry 40. case, the user may elect to Switch to the unsupported The present invention also contemplates that the content environment, where the user is free to install the application of the output partition 60 be Subject to a backup operation on on the unsupported partition 56. If Such a user request to a periodic basis, or upon the occurrence of a predetermine 55 change operating environments is detected, the method 90 event. For example, the output partition 60 could be backed loops back to step 94, where the computer system 50 is again up daily, monthly, or upon detecting Shut down of the booted from the unsupported partition 56. On the other hand, computer system 50. The content of the output partition 60 should no user request to change operating environment be may, in one exemplary embodiment, be backed-up to a detected at decision box 104, the method 90 proceeds to further disk drive included within the computer system 50, 60 decision box 106, where a possible user shut down request an external Storage device (e.g., a floppy drive, ZIP(E) drive is detected. If no such request is detected, the method 90 or any other removable disk or hard drive medium), or via loops back to Step 100, and execution of the applications a network to a remote Storage facility. For example, the within the protected environment continues. On the other computer system 50 may establish a connection 80 to the hand, should a shut down request be detected at decision box Internet 82 (e.g., a dial up connection or a Digital Subscriber 65 106, the method 90 then terminates at step 108. Line (DSL) connection), and then upload the content of the Returning to step 94, should the user select to boot into the output partition 60 to a remote Storage facility maintained by unsupported environment, utilizing either the boot menu US 6,281,894 B1 11 12 presented at Step 92 or by issuing an environment change ration of Cupertino, Calif. Having established remote con request at decision box 104, the method 90 proceeds from trol over a computer System 50, the remote Support provider step 94 to step 110, where the unsupported partition 56 is may then, by providing a password known only to the designated as the active partition. At Step 112, an application remote Support provider, obtain access to the registry 40, and program 68 stored within the unsupported partition 56 is access this registry 40 So as to remove the restrictions placed executed, and output (e.g., document 70) and configuration on the Supported partition 54. The remote Support provider data 72 pertaining to application program 68 are Saved to the may then, by exercising remote control over the computer output partition 60 (e.g., the “My Documents” folder) at step system 50, copy the contents of the mirror partition 58 to the 116. supported partition 54 to thereby overwrite the modified Should a user request to change operating environments contents of the Supported partition 54. Again, this may be detected at decision box 118, the method 90 loops back involve simply formatting the Supported partition 54 (e.g., to step 94; otherwise the method proceeds to decision box using the “format command) and copying the content of the 120, where a determination is made as to whether a shut mirror partition 58 to the formatted Supported portion 54 down request has been received from the user. If not, the (e.g., using the "copy” command). method 90 loops back to step 114, where execution of the 15 In a further embodiment of the present invention, instead application program 68 within the unsupported environment of having a remote Support Service take control of the continues. Otherwise, the method 90 again terminates at step computer system 50 with the purpose of restoring the 108. content of the Supported partition 54 from the mirror parti The implementation of Separate and distinct Supported tion 58, a “self-healing' functionality is implemented, and unsupported operating environments, utilizing Separate wherein the corrective action referred to above at step 98 in Supported and unsupported partitions 54 and 56, is advan FIG. 5 is performed automatically by software upon the tageous from a customer, or technical Support viewpoint, in detection of an inconsistency between the content of the that a Support company is enabled to provide Support for the supported partition 54 and the mirror partition 58. To this Supported operating environment in a cost effective manner. end, reference is made to FIG. 6, which is a flow chart Specifically, by configuring the Supported environment, via 25 illustrating a method 98, that corresponds to the step 98 the Supported partition 54, to be protected from user shown in FIG. 5 and according to an exemplary embodiment modification, and also to be protected from Software modi of the present invention, of restoring the content of the fication and corruption, the Supported operating environ Supported partition 54 to a Supported State (also referred to ment provides a robust operating environment that can be as a “reference state”). Specifically, the method 98 com Supported at reduced cost. Furthermore, by providing the mences at step 130 when the computer system 50 is booted unsupported operating environment, utilizing the unsup into the Supported environment, implemented from the ported partition 56, the flexibility of a computer system 50 Supported partition 54. At Step 132, a consistency check is is not comprised in that a user still has the ability to performed between the content of the mirror partition 58 and configure the computer System 50, and install required the content of the Supported partition 54. This consistency Software, without compromising the integrity of the Sup 35 check may be performed automatically by code contained in ported and robust operating environment. the boot sector 28, or within the system files 30, of the Further, the provision of a persistent copy of a Supported Supported partition. In an alternative embodiment, an appli partition content, utilizing the mirror partition 58, provides cation program Stored within the Supported partition 54 may a “Self-healing functionality, in that any modifications to be evoked to perform the consistency check. the content of the Supported partition 54 can be “undone” by 40 At decision box 134, a determination is made as to simply replacing the content of this partition 54 with the whether any inconsistencies have been detected. If not, the content of the mirror partition 58. This again enhances the method 98 proceeds to step 136, where the computer system ease with which a technical Support company can provide 50 proceeds to operate within the Supported environment. cost effective Support for the Supported operating On the other hand, should a consistency be detected at environment, in that the need to perform a diagnosis of the 45 decision box 134, the content of the supported partition 54 Supported partition 54 is avoided, and a Support operation to is overwritten with the content of the mirror partition 58, so correct a System fault or failure requires only that the as to restore the “reference State', or original content, to the Supported content of the Supported partition 54be restored supported partition 54. The overwriting may be performed from the content of the mirror partition 58. Accordingly, the by “repair program' Stored either within the Supported need to perform Sophisticated diagnosis is reduced, the need 50 partition 54, or a floppy disk inserted into the computer to have Sophisticated diagnostic Software installed within the System or Stored on a remote device coupled to the computer computer system 50 is addressed, the need to have a System via a network connection. technically skilled person perform the corrective operation is reduced and the time required to perform the corrective Methodology-Configuring of a Storage Device operation is also reduced. Furthermore, the corrective opera 55 Accessed By Computer System tion can be performed remotely, for example using a net FIG. 7 is a flow chart illustrating a method 150, according work communications over a network (e.g., the Internet) by to an exemplary embodiment of the present invention, of a Support Service. To this end, a remote Support Service may configuring a storage device for example a hard drive 52, establish a network connection to the computer system 50 accessible by a computer System 50 So as to increase the (e.g., a TCP/IP connection via a dialup or DSL modem) and 60 robustness and reliability of the computer system 50. The communicate with a client application program installed on method 150 may, it will be appreciated, be performed by an the computer System to remotely take control of operations IT Support organization to configure a computer System of the computer system 50. Examples of programs which leased by the Support organization to an end user, or to allow a remote user to take control of a computer System configure a computer System already owned by an end user include the NetMeeting TM application developed by 65 for which the relevant IT Support company is providing Microsoft Corporation, of Redmond, Wash., or the pcAny technical support. The method 150 may also, in a further where TM Software developed and sold by Symantec Corpo embodiment, be performed by a computer System manufac US 6,281,894 B1 13 14 turer that provides warranty protection, either through an a selection of the “Network Neighborhood' icon. in-house technical Support Service or an outsourced Service, Furthermore, restrictions are placed on the “Display Con prior to Supplying a computer System to an end user. Finally, trol” panel and the “Network Control” panel. the method 150 could also be implemented by the end user FIG. 8B illustrates the removal of the folders and the task to increase the robustness of an owned or leased computer bar from the “settings' selection presented by the Windows system 50. . The method 150 commences at step 152 with the defini FIG. 8C illustrates the placing of restrictions on the tion of the Supported, the unsupported, the mirror, and the “Passwords Control” panel, printer settings and the “System Control” panel. Restrictions are also shown to include the output partitions 54, 56, 58 and 60 within a storage device, disablement of registry editing tools, the disablement of the such as for example the hard drive 52. The definition of these MS-DOS prompt, and the disablement of any applications four partitions may be performed in any one of a number of other than predetermined “allowed' applications. ways. For example, the FDISK program may be utilized. A Specifically, the registry 40 maintains a list of allowed more Sophisticated application, Such as Partition Com executables (e.g., winword.exe or notepad.exe) that may be manderTM developed by V Communications, Incorporated of edited. San Jose, Calif., may be utilized to perform the partitioning. 15 FIG. 9A shows a window 190 presented by the registry At Step 154, the Supported partition 54 is designated as editor 46, within which the six “keys” of the registry 40 are active. This designation may be as a result of a choice made represented by respective folders within the left hand side by a configurer responsive to a boot menu presented by boot panel 192. Following user selection of the following path: manager code incorporated within the MBR 12. HKEY CURRENT USER/SOFTWARE/MICROSOFTWIN Alternatively, the computer system 50 may be configured to DOWS/CURRENTVERSION/POLICIES/EXPLORER, recognize the Supported partition 54 as a default active partition and, on boot-up of the computer System 50, the utilizing the left hand side panel, the window 190 will Supported partition will automatically be designated as the appear as it is shown in FIG.9B. Moving across to the active partition. At step 154, supported partition 54 is right hand side panel 194 of the window 190, the configured according to the teachings of the present inven 25 “NoDrives' icon is then user-selected and deleted. tion. Specifically, at Step 166, an operating System 62 and Turning to FIG. 9C, the “new option” is then selected Selected application program 64 are installed within the from the “Edit” drop down menu and the “DWORD value” Supported partition 54. The operating System 62 and appli item is Selected from the menu generated responsive to the Selection of the “new' item. cation program 64 may be Selected based on a anticipated FIG. 9D shows an “Edit DWORD value” dialog box 196 use for the computer (e.g., a home user or a business user). that is then presented, utilizing which the configurer can Furthermore, the application programs 64 installed may be create a new “NoDrives' item having a hexadecimal value Selected based on a more Specific anticipated busineSS use. of 416. Having created such a new “NoDrives” item, the For example, a computer system 50 for use in law offices registry editor 46 is exited, and the computer system 50 would have a first bundle of application programs 64 restarted. installed thereon, whereas a computer system 50 destined 35 Returning to FIG. 7, following configuration of the first for use by an accountant may have an alternative bundle of partition at Step 156, for example in the manner described application programs 64 installed thereon. above, at Step 158 the mirror partition is designated as At step 168, pointers within the registry 40 for the active. At Step 160, the configured content of the Supported Supported partition are modified to point to the output partition 54 is copied to the mirror partition 58 to capture a partition 60. Specifically, these modifications to the registry 40 "SnapSShot” of the original Supported content of the Sup 40 will cause the application program 64 to Save all docu ported partition 54 (i.e., the “reference state”). ments 70 and configuration data 72, that are by necessity At Step 162, the unsupported partition 56 is designated as modifiable by a user or Software, automatically and Seam active, for example upon reboot of the computer system 50 lessly to the output partition 60, thus preserving the unmodi and utilizing a boot menu presented by a boot manager 45 program, whereafter the unsupported partition 56 is config fied State of the Supported partition. ured at Step 164. The configuration of the unsupported At Step 170, the configurer then places acceSS restrictions partition 56 is shown to involve the installation of an on the registry 40 and the policy file 41 for the Supported operating System 66, which may or may not be the same partition 54. To this end, FIGS 8A-8C show a sequence of operating System as that installed on the Supported partition Screen shots illustrating how a System Policy Editor appli 50 54, and application programs 68. At step 174, the pointers in cation may be utilized to modify a policy file 41 for the the registry 40 for the unsupported partition 56 are modified, supported partition 54. FIGS. 9A-9D illustrate how the as described above with reference to step 168, so that the registry editor 46 may be utilized to modify the registry 40 output, and configuration data 72, for applications of the of the Supported partition 54 to implement the acceSS unsupported partition 56 are Saved within the output parti restrictions. It will be appreciated that the various restric 55 tion 60. tions shown to be implemented in FIGS. 8A-8C and 9A-9D Having both the Supported partition 54 and the unsup are merely exemplary and the restrictions on the user acceSS ported partition 56 Save output and configuration informa could be implemented in a number of other ways. tion to the output partition 60 is advantageous in that it Furthermore, the provided examples are specific to the provides a Single, unified location at which output data, configuration data, and other modifiable data can be Saved. Windows 95/98/NT operating systems, and it will be appre 60 ciated that other operating Systems (e.g., Unix-operating This single location (e.g., the output partition 60) can then System, the Macintosh operating System, and the OS/2 conveniently be backed-up, for example, to a remote loca operating System) would require that the restrictions be tion in the manner described above. applied in an alternative manner. Methodology- The Provision of Technical Support Returning to FIG. 8A, it will be seen that the policy editor 65 for a Computer System is utilized to hide a “Network Neighborhood' icon, and the FIG. 10 is a flow chart illustrating a method 200, accord content of a window that is usually generated responsive to ing to an exemplary embodiment of the present invention, of US 6,281,894 B1 15 16 providing support for a computer system 50. The method is provided at step 206 may be favorable to the end user, and 200 may be implemented by a technical support provider, the Support may be provided at a relatively reduced cost. which may constitute an independent organization or may be A third support function is provided at step 216, with the part of a Support Structure of a computer System manufac content of the output partition 60 (i.e., output and configu turer. ration data from the Supported and unsupported partitions 54 and 56) being backed up, either locally or remotely, in an The method 200 commences with the configuration of a automated fashion. In one embodiment, the computer Sys Storage device, in the exemplary form of a hard drive 52, to tem 50 is configured to automatically establish a dial-up include the four partitions 54, 56, 58 and 60 described connection to a Support Service on a periodic basis, and to above, with the supported partition 54 being protected from backup the contents of the output partition 60 to Storage user modification. The protection mechanisms that provide facilities provided by the Support Service by the dial-up this protection are discussed above. connection. In a further embodiment, the computer System At Step 204, a computer System is Supplied to an end user 50 may have a permanent connection to the network, for (e.g., an individual, business concern or organization) by example the Internet via a DSL or ISDN connection, and either a computer manufacturer or by a leasing Service that remote backup Software may be configured periodically to leases the computer System to the end user. For example, an 15 perform backup to Storage facilities provided by a Supported end user may outright buy the computer System 50 and an Service. asSociated warranty from a Support Service, or may lease the A fourth aspect of the Support Service commences at Step computer System 50 from a Supply organization that pro 218, with a user request that a new application, or other vides the technical Support as part of the leasing Service. Software component, be installed upon the Supported com At Step 206, a Support Service provides Support for the puter System 50. For example, the user may become aware supported partition 54, and the mirror partition 58 and the of a new application program that was not previously output partition 60 under a predetermined compensation installed, an update to an installed application, or an update Scheme. In one embodiment of the present invention where to the installed operating System Stored within the Supported the computer System is leased, the computer System and the 25 partition 54. At Step 220, the Support Service makes a support provided at step 206 may be provided for a fixed determination as to whether the relevant application or other monthly fee, or other periodic fee, or a one-time lump Sum Software component is Supported. If not, the user is then payment. In an alternative embodiment of the present inven advised to install the application or Software component tion where the end user buys the computer system 50 within the unsupported partition 56, with the understanding outright, the Support may be provided under a compensation that no technical Support for this application is provided and Scheme for a lesser charge than if the computer System 50 should the Second partition become corrupted or experience were leased. The support provided at step 206 includes a a failure, only corrective actions described above at Steps number of components, examples of which are shown to 212 and 214 may be executed, wherein the content of the follow on from the step 206. unsupported partition 56 is restored to an original State. In Turning first to a first Support function provided under the 35 this case, the newly installed application would, it will be method 200, if corruption from a modification, or any other appreciated, be lost. fault, pertaining to the Supported partition 54 is detected On the other hand, should it be determined at decision box (e.g., automatically or by the user) at Step 208, the provision 220 that the desired application, or Software component, is of Support may constitute an overwrite operation of the in fact Supported, a further determination is then made by the supported partition 54 with the content of the mirror parti 40 Support Service at Step 224 as to whether the relevant tion 58 so as to restore the reference state to the Supported application, or Software component, is already installed partition 54. Steps 208 and 210 may manually be performed within the Supported partition 54 but not activated. This by a user on-site, may manually be performed by a Support determination may be made by referencing an installation Service either on-site or remotely via a network connection, record maintained by the Support Service, by referencing a or may be fully automated utilizing Software installed on the 45 copy of the Supported partition 54 maintained by the Support computer system 50 of the end user. Service at Support Service Site, or by referencing the actual A Second Support function commences at Step 212 with supported partition 54 of the computer system 50 utilizing a the detection of corruption resulting from a modification or remote connection. The application may be installed, but not a fault pertaining to the unsupported partition. Again, Step activated, by the State of various Settings within the registry 212 may be manually performed by a user, manually per 50 40 and the policy file 41. For example, a specific word formed by a Support Service or automatically detected by processor application may be installed, but not be readily Software. Responsive to Step 212, at Step 214, the content of accessible and invokable by a user. For example, the registry the unsupported partition 56 is overwritten with the content 40 may be specified such that the launch icon for the relevant of the mirror partition 58, so as to restore the content of the word processor is not displayed on the desktop, or on any Second partition to an original State, that corresponds to the 55 other menus, presented by the operating System installed on original state of the Supported partition 54. While, as stated the computer system 50. Accordingly, for the terms of the above, an end user is free to install application and data present Specification, an “inactive application' shall be within the unsupported partition 56, the method 200 pro defined as any application to which user access is restricted poses restoring the content of the unsupported partition 56 to and that is not readily invokable by a user in a manner a known State that is not corrupted and does not contain any 60 appropriate for the operating System installed on a computer faults upon the occurrence of a fault pertaining to the system 50. unsupported partition 56. Under this remedy, the user may Should it be determined at decision box 224 that the loose any data or applications installed in the unsupported desired application is in fact installed, but inactive, within partition 56 Subsequent to the initial installation. However, the Supported partition 54, the Support Service at Step 226 as the correction operations proposed by steps 208,210, 212 65 remotely takes control of the computer system 50 and and 214 requires reduced technical expertise and time activates the installed application by making appropriate expenditure, the compensation Scheme under which Support edits to the registry 40 of the supported partition 54. To this US 6,281,894 B1 17 18 end, the Support Service may have a password that enables by the Supplier, from information provided in the request at the Support Service to bypass the restrictions placed on edits Step 252, or utilizing any other resources. For example, to the registry 40 and to disable the restrictions on the where the customer is a law practice, this information may registry 40. Having access to the registry 40, the Support be communicated in the request at Step 252. Service may then modify Settings to make the desired At Step 256, a library of application programs is installed application available, readily executable, and easily on the supported partition 54, the content of the library, in launched in a conventional manner on the computer System one exemplary embodiment, being determined based on the 50. In an exemplary embodiment, the “activation” of the profile of the customer or the intended use of the computer desired application involves the restoration of launch icons system 50. to the desktop and/or appropriate menus presented by the At Step 258, Specific application programs within the operating System 62 and the designation of the application as library of application programs 64 are identified as “allow an “allowed application” within the registry 40. able' applications, in that the Selected applications are On the other hand, should it be determined that the desired executable by an end user. The identification of which application is in fact not installed within the Supported application programs within the library to activate may be partition 54, the method 200 proceeds to step 228 where the 15 made utilizing a number of criteria. Firstly, a user may Support company installs the application within the Sup Specify that certain application programs are required. ported partition 54, updates the contents of the mirror Secondly, a user may have specified a certain leasing or partition 58 to conform to the new Supported partition, and Subscription Scheme, in terms of which certain application accordingly defines a new “reference' state (or Supported programs are enabled. For example, a limited Set of appli state) for the Supported partition 54. This updating of the cation programs may be enabled for a first lower Subscrip supported partition 54 may be done remotely and with tion fee, whereas an expanded Set of applications may be respect to a computer System 50 that is already in possession enabled for an increased Subscription fee. of the end user. Alternatively, the Support Service may At Step 260, the Selected application programs 64 are configure a new computer System 50 to include a Supported enabled via the registry 40, in the manner described above, partition 54 having the content desired by the end user, and 25 to thereby configure the Supported partition 54. then replace the computer System 50 that is in possession of the end user with a newly configured computer system 50. At Step 262, acceSS restrictions are placed on the registry For example, the Support Service may arrange for the deliv 40 in the manner described above. At step 264, the config ery of the newly configured computer system 50 to a ured computer system 50 is then supplied to the user. location specified by the end user, and collect the “old” At Step 268, a compensation Scheme, or Subscription computer System for return to the Support Service. The Scheme, is implemented whereby the end user compensates Support Service may then optionally reconfigure the returned the Supplier of the computer System for a number of items “old” computer System 50, which may then be Supplied to a in terms of a Supplier agreement. For example, the end user further customer if and when required. may have purchased a computer System outright, and may 35 pay a monthly Subscription fee for only various applications Methodology-Supply of Pre-Configured Computer installed on the computer System as well as for technical System to End User Support on a month to month basis. Alternatively, the end A method 250, according to an exemplary embodiment of user may pay a periodic lease and Subscription fee to the the present invention, of Supplying a pre-configured com provider for the lease (or rental) of the computer equipment, puter system to an end user will now be described with 40 the applications installed thereon, and technical Support for reference to FIGS. 11-13. The present invention contem both the computer System hardware and the installed appli plates that a user may request a computer System 50 for a cation Software. In a further embodiment, the end user may Specific use or environment, and that a computer System 50 pay an up-front lump-sum payment for the computer hard configured for that environment is Supplied to the end user. ware and/or the applications, and pay a reduced Subscription Specifically, the computer system 50 is configured with a 45 fee for technical Support with respect to the computer System library of applications, a Subset of which may be enabled, or and installed Software. It will be appreciated that various “active', based on a user profile, user request and/or a permutations and combinations of the above-described payment Scheme Selected by the user. The user then has the Schemes may be implemented in performance of the Step option of modifying the configuration (e.g., which applica 268. tions are enabled or “allowed”) and the configuration 50 At Step 270, a back-up Support function, as describe above changes requested by the user are then implemented by a with respect to step 216, is performed at step 270. This may Support Service, in one exemplary embodiment, in a remote take the form of an automated or manual local back-up C. operation, or an automated or manual remote backup opera The method 250 commences at step 252 with the receipt tion performed to a Storage location operated by the Supplier. of a request from a customer for an “appliance' computer 55 At Step 272, a request is received by the Supplier from the system 50. For example, where the client is a law practice, client for the installation, or activation, of a further appli a request may be made for a "law appliance’ computer cation. This request may be in the form of an e-mail system 50 that is configured for use by a lawyer and within communication, a telephone call or a communication via a a law practice environment. The request may be made to a web-based interface. computer manufacturer or, reseller concern, or leasing 60 At Step 274, the preinstalled application, which was concern, and may be a request for an outright purchase of the previously deactivated or disabled, is then activated or computer System or to lease (or rent) the computer System enabled. In one exemplary embodiment, this may be per 50. The request may be received telephonically, by e-mail, formed remotely by the Supplier by establishing a network or via a web interface operated by the computer connection (e.g., via the Internet) in a computer System manufacturer, reseller or leasing concern. 65 operated by the Supplier and the computer System of the end At step 254, the profile of the customer is determined. user. In an alternative embodiment, the activation or enable This could be determined from existing records maintained ment of the pre-installed, but disabled, application program US 6,281,894 B1 19 20 may be performed manually by dispatching a representative At step 288, the service technician may then restore of the Support Service to a customer location, where the restrictions imposed by the registry 40 applicable to the activation operation is performed by the Service represen registry 40 itself, and to other applications that are not to be tative. In yet a further embodiment, the end user may enabled or activated. At step 290, the service technician, via themselves be instructed, for example via the telephone or the Support computer 300, then terminates the remote con e-mailed instructions, as to the Steps required to enable the trol of, or access to, the remote computer 50. The method pre-installed application. In this case, the end user may be ology then terminates at Step 2.92. given a "use-once', or time-limited, password that enables them to enable Specific applications but prevents the enable Computer System ment of other applications. FIG. 14 is a block diagram illustrating a machine, in the At step 276, the service provider modifies the compen exemplary form of a computer system 400, within which a sation scheme determined at step 268 to reflect the modified set of instructions for causing the computer system 400 to configuration of the Supported partition 54. For example, a perform any one of the methodologies discussed above may Subscription fee may be increased to reflect that the end user be executed. The computer system 400 includes a processor now has an additional application program, or application 15 402, a main memory 404, and a static memory 406, which programs, enabled on the computer system 50. The method communicate with each other via a bus 408. The computer 250 then terminates at step 278. system 400 further includes a video display unit 410 (e.g., a FIG. 12 is a flow chart illustrating Steps, according to an liquid crystal display (LCD) or a cathode ray tube (CTR)). exemplary embodiment of the present invention, that may be The computer system 400 further includes an alpha-numeric performed in the implementation of step 274 described input device 412 (e.g., a keyboard), a cursor control device above with reference to FIG. 11. Specifically, FIG. 12 details 414 (e.g., a mouse), a storage medium in the exemplary form the Steps that may, according to an exemplary embodiment of a disk drive unit 416, a signal generation device 418 (e.g., of the present invention, be performed remotely to enable a a speaker) and a network interface device 420. pre-installed, but disabled or inactive, application program The disk drive unit 416 includes a machine-readable 64 installed within the supported partition 54 of the com 25 medium 422 on which is stored a set of instructions (i.e., puter system 50. The steps illustrated in FIG. 12 will be Software 424) embodying any one, or all, of the method described with reference to FIG. 13, which is a block ologies described above. The software 424 is also shown to diagram illustrating an exemplary embodiment of a remote reside, completely or at least partially, within the main computer 50 with a supported partition 54 having a specific memory 404 and/or within the processor 402. The software configuration and a Support computer 300 that is capable of 424 may furthermore be transmitted or received via the remotely accessing the computer System 50 by a network, network interface device 420. For the purposes of the such as for example the Internet 302. To facilitate this present Specification, the term “machine-readable medium' remote access, the computer System 50 and the Support shall be taken to include any medium that is capable of computer 300 have remote access clients 304 installed Storing and encoding a Sequence of instructions for execu thereon that enable the support computer 300 to take control 35 tion by the machine, and that causes the machine to perform of, or at least access, the computer System 50 for the any one of the methodologies of the present invention. The purposes of modifying the configuration of the Supported term “machine-readable medium’ shall accordingly be partition 54. In one exemplary embodiment, the remote taken to include, but not limited to, Solid-State memories, access clients 304 may comprise NetMeetingTM client optical and magnetic disks, and carrier wave signals. programs, developed by MicroSoft Corporation. In an alter 40 Thus, a method and apparatus for configuring a storage native embodiment, the remote acceSS client 304 may com device accessible by computer System, and a method of prise the pcAnywhere TM Software, developed by Symantec providing Support for Such a computer System, have been Corporation. described. Although the present invention has been Returning to FIG. 13, at step 280, the support computer described with reference to Specific exemplary 300 establishes remote control of, or at least access to, the 45 embodiments, it will be evident that various modifications computer system 50 via a network, for example the Internet and changes may be made to these embodiments without 302. In this way, a Support technician operating the Support departing from the broader Spirit and Scope of the invention. computer 300 is, at step 282, able remotely to access a Accordingly, the Specification and drawings are to be registry editor 46 installed within the Supported partition 54. regarded in an illustrative rather than a restrictive Sense. At Step 284, the Service technician, via the Support 50 What is claimed is: computer 300 on the network 302, Supplies a unique pass 1. A method of configuring a Storage device accessible by word to “unlock” the registry editor 46, and to disable the a computer System, the method including: restrictions placed on the registry editor during an initial defining a first partition within the Storage device that configuration of the Supported partition 54. Having thus Supports a first operating environment of the computer Supplied the password, the Service technician is, at Step 286, 55 System; and able remotely to modify the registry 40 to enable launch, defining a Second partition within the Storage device that operation and execution of a pre-installed, but previously Supports a Second operating environment of the com disabled or inactive, application program installed on the puter System; Supported partition 54. AS mentioned above, this may wherein content of the first partition is protected from user involve the removal of various restrictions implemented via 60 modification when the first partition is active to Support the the registry 40 and via the policy file 41. For example, the first operating environment and content of the Second par Selected application may be designated as an “allowed' tition is available for user modification when the second application, in which case the restrictions implemented by partition is active to Support the Second operating the registry 40 will no longer be applicable. Furthermore, environment, and wherein only one of the first and Second icons via which a user may conveniently launch the relevant 65 partitions is active at any one time. application may be restored to appropriate menus presented 2. The method of claim 1 wherein the content of the first by the operating System 62 for the Supported partition 54. partition is protected from user modification by restricting US 6,281,894 B1 21 22 user access to the first operating environment Supported by 18. The storage device of claim 17 wherein the content of the first partition. the first partition is protected from user modification by 3. The method of claim 2 wherein the first operating restricting user access to the first operating environment environment comprises a first operating System and a first Supported by the first partition. application, and user access to the first operating environ 19. The storage device of claim 18 wherein the first ment is restricted utilizing Settings within a registry for the operating environment comprises a first operating System first operating environment and Stored within the first par and at least a first application, and user access to the first tition. operating environment is detected utilizing Settings within a 4. The method of claim 2 wherein user access to the first System registry for the first operating environment and operating environment is restricted utilizing Settings within stored within the first partition. a System policy provided within the first operating environ 20. The storage device of claim 17 wherein user access to ment. the first operating environment is restricted utilizing Settings 5. The method of claim 1 wherein the content of the first within a System policy provided within the first operating partition is protected from user modification by maintaining a persistent copy of Supported content of the first partition System of the first operating environment. and conforming the content of the first partition to the 15 21. The storage device of claim 17 that stores a persistent persistent copy. copy of Supported content of the first partition to which the 6. The method of claim 5 including defining a third Supported content of the first partition is conformed. partition within the Storage device, and Storing the persistent 22. The Storage device of claim 21 including a third copy of the Supported content within the third partition. partition defined within the Storage device, the persistent 7. The method of claim 5 wherein the persistent copy is copy being Stored within the third partition of the Storage protected from user access. device. 8. The method of claim 5 including conforming supported 23. The storage device of claim 22 wherein the persistent content of the first partition to the persistent copy on boot-up copy is protected from user access. of the computer System. 24. The storage device of claim 17 including a fourth 9. The method of claim 5 including detecting a variance 25 partition to which application output is Stored from within between the content of the first partition and the persistent the first operating environment of the computer System. copy, and conforming the Supported content of the first 25. The storage device of claim 17 wherein application partition to the persistent copy responsive to the detection of output is stored in the fourth partition from within both the the variance. first and the Second operating environments. 10. The method of claim 5 including conforming Sup 26. The storage device of claim 25 wherein the first and ported content of the first partition to the persistent copy Second partitions each Store installed applications and the upon a Software failure within the first operating environ fourth partition Stores output data of the installed applica ment. tions. 11. The method of claim 1 wherein the content of the first 27. The storage device of claim 17 comprising a local hard partition is protected from user modification by defining a 35 disk arrangement of computer System. fourth partition within the storage device within which 28. The storage device of claim 17 comprising a remote application output is Stored from the first operating envi hard disk arrangement accessible by the computer System ronment of the computer System. over a network. 12. The method of claim 11 wherein application output is 29. A method of providing Support for a computer System, stored in the fourth partition from within both the first and 40 the method including: the Second operating environments. configuring the computer System Such that a storage 13. The method of claim 12 wherein the first and second device accessed thereby includes a first partition that partitions each Store installed applications and the fourth Supports a first operating environment of the computer partition Stores output data of the installed applications. System and a Second partition that Supports a Second 14. The method of claim 9 including performing sched 45 operating environment of the computer System, and uled backup operations with respect to the fourth partition to Such that the content of the first partition is protected a remote Storage facility via a computer network. from user modification when the first partition is active 15. The method of claim 1 wherein the storage device is to Support the first operating environment and content a local hard disk arrangement of computer System. of the Second partition is available for user modification 16. The method of claim 1 wherein the storage device is 50 when the Second partition is active to Support the a remote hard disk arrangement accessible by the computer Second operating environment, only one of the first and System over a network. Second partitions being active at any one time, 17. A Storage device accessible by a computer System, the Supplying the configured computer System to a user; and Storage device comprising: providing technical Support for the first operating a first partition defined within the Storage device that 55 environment, and not providing technical Support for Supports a first operating environment of the computer the Second operating environment. System; and 30. The method of claim 29 wherein the Support for the a Second partition defined within the Storage device that first operating environment is provided for any one of a first Supports a Second operating environment of the com recurring fee and a first one-time fee. puter System; 60 31. The method of claim 29 including providing Support wherein content of the first partition is protected from user for the Second environment on a per Support operation fee modification when the first partition is active to Support the basis. first operating environment and content of the Second par 32. The method of claim 29 including configuring the tition is available for user modification when the second computer System Such that the Storage device includes a partition is active to Support the Second operating 65 third partition that Stores a persistent and non-modifiable environment, and wherein only one of the first and Second copy of Supported content of the first partition, and the partitions is active at any one time. provision of technical Support for the first operating envi US 6,281,894 B1 23 24 ronment constitutes overwriting Stored content of the first non-modifiable copy Stored in the third partition occurs upon partition with the persistent and non-modifiable copy Stored detecting an application or operating System failure or in the third partition. corruption within the first operating environment. 33. The method of claim 32 wherein the overwriting of the 35. The method of claim 29 including configuring the Stored content of the first partition with the persistent and computer System Such that the Storage device includes a non-modifiable copy Stored in the third partition occurs upon fourth partition to which application output is Stored within detecting a variance between the content of the first and third the first operating environment of the computer System and partitions of the Storage device. providing a backup Service for the fourth partition. 34. The method of claim 32 wherein the overwriting of the Stored content of the first partition with the persistent and k k k k k