US005771354A Ulllted States Patent [19] [11] Patent Number: 5,771,354 Crawford [45] Date of Patent: Jun. 23, 1998

[54] INTERNET ()NLINE BACKUP SYSTEM 5,497,479 3/1996 Hornbuckle ...... 395/491 PROVIDES REMOTE STORAGE FOR 5,515,502 5/1996 Wood ...... 395/182.13 CUSTOMERS USING IDS AND PASSWORDS 5,535,407 7/1996 YanagaWa et al...... 395/800 5,544,320 8/1996 Konrad ...... 395/200.33 BACKUP3811531153311; SERVICES aggggggggwm 5,696,901 12/1997 Konrad e,...... 395/200.33 .. OTHER PUBLICATIONS [76] Inventor: Christopher M. Crawford, 3010 _ _ Wisconsin Ave” NW” Apt 08, Bershad, “Watchdogs: EXtendmg the UNIX F1le System”, Washington, Needham, “Using Encryption for Authentication in Large Networks of Computers” Dec. 1978 pp. 993—999. 21 A l. N .: 145825 ’ ’ [ 1 pp 0 ’ Arneson, “Mass Storage Archiving In Network Enviro [22] Filed: Nov. 4, 1993 ments”, 1988, IEEE, pp. 45—50. [51] Int. Cl.6 ...... G06F 13/00 (List continued on neXt page.) [52] US. Cl...... 395/200.59; 395/200.49; _ _ 395/186; 395/620 Primary Examttrer—Frank'J. Asta [58] Field of Search ...... 364/200; 395/800, Asslsm'” Ex‘lm‘”e’—.Le H16‘? Lu“ 395/876, 18204, 18209, 20059, 20049, Attorney, Agent, or Ftrm—N1Xon & Vanderhye RC. 186, 620; 380/4 [57] ABSTRACT [56] References Cited This invention makes it possible for a customer computer to connect to an online service provider computer by phone, us, PATENT DOCUMENTS Internet, or other method, pay a fee to said service provider, _ and obtain additional processing and storage resources for glib/am et a1‘ """""""""""" " the customer’s computer. The resources can take the form of 4’954’945 9/199O lnozllrieet'gl' """ " " 364000 virtual storage and processing capabilities. These capabili 4’982’324 1/1991 MCCOnaug'h}',"e/'t";i:"___ 'g'95/20052 ties give the customer computer what appears to be addi 4,994,963 2/1991 Rorden et al...... 364/200 Iional 106211 Processing Power an(ll/0f additional 106211 5,005,122 4/1991 Grif?n er a1, 395/20001 storage, this storage possibly including preloaded software 5,007,082 4/1991 Cummins ...... 380/4 and/or data. 5,023,774 6/1991 Sakai et al 395/849 5,089,958 2/1992 Horton 395/182-03 The additional resources made available to the customer ichuPr ~ ~ ~ ~ ~ ~ ~~ computer can be used either to enhance the customers’ local ’ ’ aggls e a ' """ " needs (such as access to virtual storage for additional disk 35315111211 2; a1‘ 23/ space, or access to a more powerful processor of similar type 572127784 5/1993 Sparli ...... '''''''''''' '. 395/182.04 for Program eXeclltion), Of these additional resources can be 5:276:867 1/1994 Kenley et aL __ 707/104 used by the customer computer to support services on-line 5,317,728 5/1994 Tevis er a1, __ 395/@()() that otherwise would be unavailable, impractical, or unaf 5,325,430 6/1994 Smyth et al...... 380/4 fordable. Examples of services include software and infor 5,353,411 10/1994 Nakaosa et al...... 395/275 [nation rental, sales, and release update services, anti-Viral 5,367,698 11/1994 Webber et al...... 395/800 Services, backup and recovery Services, and diagnostic and 5,379,418 1/1995 Sh1rnaZak1 et al 395/182.09 repair Services, to name a feW_ 5,404,527 4/1995 Irwm et al. 395/200.52 5,426,594 6/1995 Wright et al. 364/514 5,448,718 9/1995 Cohn et al. .. 395/404 27 Claims, 63 Drawing Sheets

Software and Services

/ / / / \ \ \ \ 100 X 50 \ / / ( Data \ 54 \\\\___f/// Storage JV @ 52 150 Program DATA LINK s'orage

Processing 58 56 input/ mu iii Output Devices

Online Service System 5,771,354 Page 2

OTHER PUBLICATIONS Advertisernent, “Rochester Software Connection, Inc., What’s fast, fun and does the AS/400?” 1 page. To et al, “Knowledge Enginerring Approach To Data Cen Robert Jourdan, Programers Problem Solver, Prentice Hall, tres Disaster Backup/Recovery Planning”, 1989, IEEE, pp. 1986, pp. 369—394, 395—406. 241—248. The Waite Group, MS—DOS Developers Guide, Howard Ford et al, “Juggling features and Options in retrospect”, Sarns & Co., 1989, pp. 281—354, 583, 739—748. Mar. 12, 1991, Macweek, p. 52. Advertisernent, PC/Computing, Control up to 96 PC ?le Steinberg, Jeffrey A., “Diverting Data from Disater servers with the 1 keyboard and monitor using . . . Corn (Advanced Systems Concepts Inc.’s Rernote Shadow Option rnander by cybex, p. 433. Disk Shadowing Software),” Software Review (Evaluation), G. Carnpbell & J. Heirn, PC World, “The Best of Online Abstract. Services,” Oct. 1993, pp. 225—240. S. Arrnburst et al., PC Tech Journal, vol. 3, No. 9, “Forward C. Shipley, Personal Computing, Ziff—Davis, “The World At Looking VDI,” Sep. 1985, pp. 42—53. Your Fingertips,” Fall 1993, pp. 52—56. E. R. Carpenter, IBM TechnicalDisclosure Bulletin, vol. 34, No. 10B, “Single System Image With Network File Sys J. Burgess, Washington Post Business Magazine Monday tern,” IBM Corp., Mar. 1992, pp. 408—409. Section, Wash Tech, Cybertalk, “Avoiding Highway Rob M. Tabes, Datamation, “Managing Storage Across the bery,” Nov. 1993, pp. 19,26. Enterprise,” May 1992, pp. 36—40. K. Neely, Midrange Computing, “Terrninal Ernulator or Network: A Management Guide,” Sep. 1993, pp. 56—60. P. KorZeniowski, Software Magazine, “Back to the Main frame For Storage of LAN Data,” Jul. 1992, pp. 73—77. P. Borsook, InfoWorld, “Enterprise Computing Internet Mark Ludwig, The Little Black Book of Computer Viruses, working,” Feb. 1, 1993, pp. 48—49. American Eagle publications, 1991, pp. 11—19, 23—29, F. Der?er & S. Rigney, PC Magazine, vol. 10, No. 15, “From 55—68, 69—76, 159—162. LAN to WAN, Bringing Your Networks Together,” Sep. 10, R. Waterrnan, Software Magazine, “Waiting for X500,” Jul. 1991, pp. 106—118. 1992, 2 pages. F. Der?er & S. Rigney, PC Magazine, vol. 10, No. 15, R. Brown, Systems 3X/400, “Serving Many Masters,” Mar. “Bridges and Routers, Srnart Links Between LAN Seg 1992, pp. 68—70. rnents,” Sep. 10, 1991, pp. 121—169. PC Computing, “Test and Evaluation Methods,” Jun. 1992, M. Thompson & S. Rigney PC Magazine, vol. 10, No. 15, pp. 238, 240, 247—248 and 262. “Access Servers, Dialing Up the LAN,” Sep. 10, 1991, pp. Price list, “Tape Backup,” 1 page. 177—227. Advertisement, “Let’s Talk®, Tired of the Runaround?,” 1 J. Salerni, PC Magazine, vol. 10, No. 15, “Bulletin Board page. Software, Tools for Wide—Area Cornrnunications,”Sep. 10, Advertisement, “PC/TCP® Plus,”1 page. 1991, pp. 231—300. Advertisement, News 3X/400, “Mirnix Hi—Net, Lakeview M. Stone, PC Magazine, vol. 10, No. 15, “E—Mail LAN Technology Inc.,” Sep. 1991, p. 140. Links, Gateways to the World,” Sep. 10, 1991, pp. 303—345. Advertisement, Network Innovation, “Server Based F. Der?er & K. Maxwell, PC Magazine, vol. 10, No. 15, Backup,” 1 page. “Linking LANs, The Media Move The Message,” Sep. 10, Advertisement, News 3X/400, “PC File Mail,” Nov. 1991, p. 1991, pp. 351—374. 74. F. Der?er & K. Maxwell, PC Magazine, vol. 10, No. 15, Advertisement, “HandsOn Software, Monarch 36/400TM lets “Public Data Networks, Reliable Relays,” Sep. 10, 1991, pp. PC users get their hands on rnid—range data,” 1 page. 177—227. Advertisement, Andrew, “NetLynxTM: LAN Connectivity by P. Stephenson, LAN Magazine, “Chip Away at Viruses,” Oct. the Numbers,” 1 page. 1992, pp. 95—102. Advertisement, “Innovation® Data Processing, FDR.Your PC Computing, “Mobile Computing, No—Hassle Solutions DASD Management System,” 1 page. for Keeping Files in Sync,” Jul. 1993, pp. 218—219. Advertisement, “Maynard®, Maynard Delivers a Super Advertisement, MicroCorn (R), “Carbon Copy, #1 in Remote Bundle,” 1 page. Control,” 1 page. Advertisement, “Central Point Software Inc.®, Never Advertisement, Syrnantec, “The pcAnywhere TM, Underestirnate the Importance of Cornplete Protection,” 1 Controlling your Desktop PC From A Portable Used To page. Require A Little Training,” 1 page. Advertisement, Business Communications, GaZelle, Corporation, Microsoft MS—DOS(R) 6 Users “Backup While You Work,” Jun. 1992, p. 436. Guide, Chapter 7 Features for Your Laptop Computer, Using Advertisement, “Works,” 1 page. Interlink to Connect Two Cornputers, Copyright 1993, pp. Advertisement, Intel®, Introducing fax software that can 161—166. send, receive and run with your faxes, 1 page. Syrnantec Corp., the Norton pcAnywhere Users Guide, Advertisement, “LapLink, With LapLink you’re only a Copyright 1990, 1991. phone call away,” 1 page. IBM Corporation, Application System/400m, System Intro M. Tischer, PC Systems Programming, Abacus, Apr. 1993, duction, GC21—9766—1, Copyright 1988, 1989. pp. 157—171, 208—212, Appendix B and C. IBM Corporation, Application System/400m, Program Advertisernent, PC/Computing, “SequeLinkTM, Middle ming: System Reference Summary, SC21—8104—1, Copy WareTM: Open Windows for Client/Server Cornputing,” p. right 1988, 1989. 427. IBM Corporation, Application System/400m, Program Advertisement, System Software Associates, Inc., BPCS ming: Control Language Reference Volume 1, Client/Server Application Software, 1 page. SC21—9775—1, Copyright 1988, 1989. 5,771,354 Page 3

IBM Corporation, Application System/400m, Program IBM Corporation, Application System/400m, PC Support: ming: Control Language Programmer’s Guide, DOS Operations Reference, SC21—8195—01, Copyright SC21—8077—1, Copyright 1988, 1989. IBM Corporation, Application System/400m, Program 1990. ming: Database Guide, SC21—9659—1, Copyright 1988, IBM Corporation, Application System/400m, PC Support: 1989. IBM Corporation, Application System/400m, Program DOS Users Guide, SC21—8199—0, Copyright 1990. ming: Data Management Guide, SC21—9658—1, Copyright IBM Corporation, Application System/400m, PC Support: 1988, 1989. IBM Corporation, Application System/400m, Program DOS and Os/2 Technical Reference, SC21—8091—2, Copy ming: Work Management Guide, SC21—8078—1, Copyright right 1988, 1990. 1988, 1989. IBM Corporation, Application System/400m, PC Support: IBM Corporation, Application System/400m, PC Support: DOS Planning and Installation Guide, SC21—8195—0, DOS and OS/2 Messages and Problem Analysis Guide, Copyright 1990. SC21—8093—2, Copyright 1988, 1990. U.S. Patent Jun. 23, 1998 Sheet 1 0f 63 5,771,354

ooF\ $5 @9206 9589a :35 595 $58 E29635%25:0

322mmoazzowEm

U.S. Patent Jun. 23, 1998 Sheet 3 0f 63 5,771,354

l I 116 I04\ [106 Online I r I N - I - ServIce l I I I @ Main Processors Pnnters 114 System I I 100 I I 108~"‘ Memory I" ------— "I I I II8 Tape I Other CustomerVirtual LvIZO l I Storage I IOJ‘ periphera| IDevlces (CD, FAX, etc.) | I I Controllers ———————— - -' I I I I I I 122/‘ Dismay Comm. Controllers? 160 164 l I l. 4 162 < l I 2 Customer Replica l I Modem — Service Computer l I I I I

l l l Customer l l l l Computer l l 54 50 I l l l l l l I l l l I // l , f 64 I @F6 Modem Processor Hard DIsk ~ I l , 60a l | I Controllers Memory DIskette -f | l I I I l l 1 I I l 78 7O 66 I l l | @ r56 l l | l L] UUEIDIIIIIIEIEIDDEIEIUUEIDUD l l \_ El [JUDGE] Keyboard UUUDU l l Mouse UEIEIIJUEIEIUDDEIUEIUUUEIU l l l l U.S. Patent Jun. 23, 1998 Sheet 4 0f 63 5,771,354

Offsite archival, Software & Information Server r r f—\ —I OtherCustomer : I on?ne 114 : Storage Devices | 1 Service | | I , | (cu ROM, etc.) I 1 Host Prrnters r. _ _\_ _ _ _ J : Computer _ _\_'1_2O_b_ _ I System _..______._Jr Other Customer ' rI | ;|_-_J '| Shared Devices :I r CommunicationsControllers. . I| (Fax’etci r I LAN ASCII ‘ Locai Attach L ——\\—- - - J r rsou 'PDN Replica Server 112 42021 r \ l r r

______.i

\ Microwave ' 132

Public Data Network >150 Microwave 134 5 g1‘ Cable TV Connect LAN —- Modem ‘? 80b [4 S l-— 8i rsurv Modem 86\COAX / 50(W1) [- 50(W2) WOW) WOW) (‘j/50(2) Customer W (1) Customer W (2) Customer X Customer Y Customer Z U.S. Patent Jun. 23, 1998 Sheet 5 0f 63 5,771,354

Fig. 5 I" ------“*1 I (______—R104 I I Colr-lnirsutter Rephca. 1,60 I I 116a ComputerServer I I Virtual Disk I I = 645D I l I Local Customer Virtual I I 164A Disk Drives Disk Drives Disk Drives kw“ I I66 \\ A:Drive DzDrive I:Drive - I l I vIIIIIaIDISk ) I64B// BzDrive E:Drive J:Drive e/I'wm I I . I 164C}, E:Drive F:Drive KzDrive "\I-136K l l l I 64BF/ \64BE I \isob /50b r l i ______I

l l l l I I I l I ComputerCustomer I Il Computer Il I I I l I | I 64BA I I I I I = 164A I l Local Virtual ' 1 Local Replica Virtual ' I Disk Drives Disk Drives I I Disk Drives Disk Drives Disk Drives /IFI36I4I I A:Drive I:Drive I I A:Drive DzDrive I:Drive -' I l I E:Drive JzDrive I I BzDrive E:Drive dzDrive ‘4136(5) l I l I l C:Drive KzDrive I I C:Drive F:Drive KzDrive /\I-I36(6) ' I x I I I I I l / / / k \ \ eve -lBiIBlJBiIZII lees“ 648C ‘640 164B ' U.S. Patent Jun. 23, 1998 Sheet 6 0f 63 5,771,354

Fig. 6A

Host 104 Computer

50A 150a 1615 I 161A _ 160A

\- Customer Offline Online / Computer Replica Replica 1608 /

Execution and I/O Routing

1508

505 Customer / Computer U.S. Patent Jun. 23, 1998 Sheet 7 0f 63 5,771,354

Fig. 68

Host 104 Computer

50A 150a 1608

\_ Customer Offline / Computer Replica

Signal Customer Process

150b

508 Customer / Computer U.S. Patent Jun. 23, 1998 Sheet 8 0f 63 5,771,354

Requests

Customer Onlme Host Computer Rephca Computer Processing Processing

f \ / Loggli//. RequestHost // RequestOffline // RequestSignal / U.S. Patent Jun. 23, 1998 Sheet 9 0f 63 5,771,354

Fig. 6D

i‘ “ ” _ _ __| | Offline : : Requests | ____],___l f \

Otlline Host cirenplftir Computer P p . Processing rocessing

\ J

K / Loggmg. / / RequestHost // RequestOffline RequestSignal \ U.S. Patent Jun. 23, 1998 Sheet 10 of 63 5,771,354

Fi . 6E 50: 160 g 104 Customer Online Service Online Service Computer System Replica Server Computer Host Computer System

Computer Processor Replica Processor Host Processor

Communications Communications Communications Logging Logging Logging Security Security Security

Routing Routing Command Control

Execution Execution Execution

Local Disk Local Disk Host Disk Access Program Access Program Access Program

Remote Disk Remote Disk Virtual Disk Access Program Access Program Access Program

Customer Replica Customer HQST Host Disk Disk Disk Disk Disk

164 11661 11Gb Virtual Virtual Disk Disk 136 136 U.S. Patent Jun. 23, 1998 Sheet 11 of 63 5,771,354

Fig. 7

l' ______— ______I Customer Online Service Control Process r 300 302 304 I 2 2 2 I Host/Replica Host/Replica interrupt l Signal Session Handler 0 : Control Control Control 326 I | Access Code Communications Redirected CIISIOmeI Sen/er | Identifies Software for Keyboard, Timer FIOIIIeI COIIIIOI : Message or Online Session and Comm. ‘to I Session Req. with Virtual Dev. Trigger Session Command Prompt Change I To & From Redirected | Drives Determines the : Execution Processor | Customer | Security Send Available Drive : Control Info. to Replica and | v Id d '=' Redirect Replica Drives : 8' ate an Customer to Customer Processor I $09 A0139? Computer I DIseIggfIg SR 314 Direct Data by Processor : Send Drive Data to Replica | Receive Data from Replica : | _ I Route Keystrokes I

Aim-“edessron sil'élin ST‘EZZ'ZP “idem- l Control Control Control Program Exeoutlon I | Manage Host Enter Commands Timer, User Req. | Dialogue by and Respond to or Comm. "Access I using Stored Host Prompts & Code" Signals I Script Data Request Options Online Session I l 2 2 2 | 312 310 308 | U.S. Patent Jun. 23, 1998 Sheet 12 0f 63 5,771,354

I K 77 Online Host interactive Offline Host Signal Service Security Customer Replica Request Customer Customer Router User Session Request Task Task Signup Exit Control Control Control Control Process Process Process Process Process Process

400A 402A 404A 406A 408A 410A iii iv iv iv iii iv Use Telco Validate Validate User Validate Read Host Read Signal Special Chg. Requests for Replica ID Request Data Customer Data Phone Virtual Device Number Attachment 4045 4068 4085 4108 i V i it i v i v 4020B " 40228 " Execute Anti- Read Replica Read Read I I Viral in Cust. Request Data Customer Customer Display Msg- Validate Processor Control Data Control Data with Time Requests for Left 10 EXil Virtual DGVlCG 404C 4066 408C 4100 BeforeSignup Dataand l v i ll 2 V l V Charge Software Get Host or Read Signal Verify Signal Occurs Customer Customer Customer is Necessary 4026 Request Control Data if Requested 4000 l ‘l l I" Log Access 404D 406D 408D 410D Assign User Requeststor l v i if i ll i ll ID and Wm" Dev'ce issue Offline Manage Script issue Replica Send Signal Download Data and Request or for Keystroke Request it Pattern and

Control Data 404E 406E ForService ) v i v Begin Begin Process Process Request Request U.S. Patent Jun. 23, 1998 Sheet 13 0f 63 5,771,354

Begin Process 404E, 406E Request Control Process

412f IT 420-“I 428-“Z l n- 446/ n- 456-“ Backup, Anti-Viral Program Program Release Other Restore, Device & lnfo. & Info. Update Online & Archive Scan Rental Purchase Service Service Request Request Request Request Request Request

414 422 430 438 448 458 l u ) u ) v ) u l u ) ti Log Request Log Request Log Request Log Request Log Request Log Request Begin & End Begin & End Begin & End Begin & End Begin & End Begin & End for Billing for Billing for Billing for Billing for Billing for Billing

416 424 432 440 450 460 l u ) u l v l u l u l v Allocate Allocate Animate Disk Allocate Disk Determine Allocate Source and Disk with With Rental with Purchase Software & Devices Target Anti-Viral Program Program Data to Rcv. to Manage Disk Software of WO- or Info. Update Request

418 426 434 442 452 462 i ll l v i u l u l u l u Execute Execute Execute Allocate Allocate Execute Disk Copy Anti-Viral Rental Destination Virtual Software & Software in Software in Program or Device for Disk with Access Data Customer Customer Access info. Purchase Release Within Host or Replica Processor with Program Updates or Replica Processor Customer or Info. or Customer or Replica 444 454 Processor Processor ) v i r Copy COPY/Apply Purchase to Updates to Destination Customer Device Computer if Necessary U.S. Patent Jun. 23, 1998 Sheet 14 0f 63 5,771,354

Fig. 9

r ______Customer Replica Control Process 470 474 476 2 2 2 Customer Host Customer Signal Session Session Control Control Control 430 Send Dialing Communications Ready Modem; RepHCa Server Pattern and Software for Pass Signon Access Code Online Session lnio. to/from Router Control to Customer with Virtual Dev. Cust. and Host Command Prompt Change 2 2 To & From Redirected 472 478 F Drives Determines the 482 Execution Processor Replica Security Send Available Drive Control Into. to Customer and Validate and '=l' Redirect Customer Drives Log Access colxputerRe ica J60 484\ to Replica- Processor Dis?andRe uests RAM for ~5O2 Direct-DataI by Processor Send Drive Data to Customer 498 494 490 486\ Receive Data from Customer 2 2 2 Automated Oniine. Oiiline. R t degysmjesK SessionControl SessionControl SessionControl Program Execut'on

. 2 Manage Host Pass Customer Read Replica 488 Dialogue by Commands to Requests and using Stored Host and Execute Process using Script Data Host Requests Script Data 2 2 2 500 496 492 U.S. Patent Jun. 23, 1998 Sheet 15 0f 63 5,771,354

Fig. 10 Fig. 11

502 _ 506 Boot Redirect ( Customer Computer interrupt

V 527 Load 504 Fleview/ Online Service Control Data J Change Default in Memory Coniig.

V

Redirect 506 Display Keyboard, _-/ 528 Online Service Timer, \“ Options and and Comm. Allow Changes Interrupts ii

ii Update 507 530 Online Service Pass Control to \‘ Control Data Operating System with Service Option Changes

ii Redirect 532 interrupts to \“ Manage Selected Service Options

534 U.S. Patent Jun. 23, 1998 Sheet 16 0f 63 5,771,354

Fig. 12A Fig. 128

536 542 Keyboard Timer Interrupt Handler Interrupt Handler

543 Oniine Time Service Session Triggered Host Requested Session

548

Begin Host 540 Reconfigure Session / Automated to Manage Dialog Option Automated rr Keystrokes

No ‘' 541 HTC V

v Begin Host 540 Session /

550 U.S. Patent Jun. 23, 1998 Sheet 17 0f 63 5,771,354

Fig. 126

554 Comm. Interrupt Handler 572 8 Set Ringing Answer Time to Received on Received on Trigger Modem Modem Online Session

Store Number of Calls, Number of Rings Per Call, 558 Log - and Time Interval / Error “0,11% Between Calls and Reset Received Pattern Stores

Log Error and Reset Perform Response 576 Pattern Based on Access / Store8 Code Table Entry 3 562 " ‘'

Set Modem to it Auto-Answer 534 Mode Hangup 577 ‘' Modem J

ll

566 RTC