`Crawford
`
`US005771354A
`Patent Number:
`11
`(45) Date of Patent:
`
`5,771,354
`Jun. 23, 1998
`
`54 INTERNET ONLINE BACKUP SYSTEM
`PROVIDES REMOTE STORAGE FOR
`CUSTOMERS USING DS AND PASSWORDS
`SESSESSESSup for
`BACKUP SERVICES
`
`76 Inventor: Christopher M. Crawford, 3010
`Wisconsin Ave., N.W., Apt. C-8,
`Washington, D.C. 20016
`
`21
`Appl. No.: 145,825
`21 Appl. No
`9
`22 Filled:
`Nov. 4, 1993
`(51) Int. Cl." ...................................................... G06F 13/00
`52 U.S. Cl. ................................ 395/200.59; 395/200.49;
`395/186; 395/620
`58 Field of Search ............................. 364/200; 395/800,
`395/876, 182.04, 182.09, 200.59, 200.49,
`186, 620; 380/4
`
`56)
`
`References Cited
`
`5,497,479 3/1996 Hornbuckle ............................. 395/491
`5,515,502 5/1996 Wood ................
`... 395/182.13
`5.535,407 7/1996 Yanagawa et al. ..................... 395/800
`5,544,320 8/1996 Konrad ..............
`... 395/200.33
`5,606,719 2/1997 Nichols et al. ......................... 395/876
`5,696,901 12/1997 Konrad ............................... 395/200.33
`OTHER PUBLICATIONS
`Bershad, “Watchdogs: Extending the UNIX File System”,
`Feb. 12, 1988, pp. 267 275.
`Needham, “Using Encryption for Authentication in Large
`Networks of Computers”, Dec. 1978, pp. 993–999.
`s
`s
`Arneson, “Mass Storage Archiving In Network Enviro
`ments”, 1988, IEEE, pp. 45-50.
`pp
`(List continued on next page.)
`Primary Examiner-FrankJ . ASta
`Allis AC"Cf. "N." Vanderhye PC
`s
`--
`57
`ABSTRACT
`This invention makes it possible for a customer computer to
`connect to an online Service provider computer by phone,
`U.S. PATENT DOCUMENTS
`Internet, or other method, pay a fee to Said Service provider,
`pay
`p
`and obtain additional processing and Storage resources for
`2. 3.E. Ital et al. .......................... SE the customer's computer. The resources can take the form of
`4954.94s 9/1990 Seal - - - - - - - -
`364f200
`Virtual Storage and processing capabilities. These capabili
`4,982,324
`1/1991 McConaughyet al...
`395/20052
`ties give the customer computer what appears to be addi
`4,994.963 2/1991 Rordeneral. ... 364,200
`tional local processing power and/or additional local
`5,005,122 4/1991 Griffin et al. ...
`395/200.01
`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
`The additional resources made available to the customer
`5,089,958 2/1992 Horton ...
`... 395/182.03
`computer can be used either to enhance the customers local
`ES :19: th tal.". 3.31
`needs (such as access to virtual Storage for additional disk
`2-Y---
`agglS et al. .......
`- - - -
`Space, or access to a more powerful processor of Similar type
`E. Ms. al.
`395i.G
`for program execution), or these additional resources can be
`5212,784 5/1993 SE - - - - - - - - - -o os/20
`used by the customer computer to Support Services on-line
`5,276.867
`1/1994 Kenley et al. .......................... 707/104
`that otherwise would be unavailable, impractical, or unaf
`5,317,728 5/1994 Tevis et al. .....
`... 395/600
`fordable. Examples of services include Software and infor
`5,325,430 6/1994 Smyth et al. ............................... 380/4
`mation rental, Sales, and release update Services, anti-viral
`5,353,411 10/1994 Nakaosa et al. ........................ 395/275
`E. ". She al. i - - - - - - - - - - - - - - - - - - - - - - - - 3. Services, backup and recovery Services, and diagnostic and
`379,418
`1/1995 Shimazaki et a
`395/182.09
`t
`few.
`5,404,527 4/1995 Irwin et al. .....
`gig, repair services, to name a few
`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
`
`Output
`Devices
`
`Online Service System
`
`Twitter-Google Exhibit 1013
`
`
`
`5,771,354
`Page 2
`
`OTHER PUBLICATIONS
`To et al., “Knowledge Enginerring Approach To Data Cen
`tres Disaster Backup/Recovery Planning”, 1989, IEEE, pp.
`241-248.
`Ford et al., “Juggling features and Options in retrospect',
`Mar. 12, 1991, Macweek, p. 52.
`Steinberg, Jeffrey A., “Diverting Data from Disater
`(Advanced Systems Concepts Inc.'s Remote Shadow Option
`Disk Shadowing Software).” Software Review (Evaluation),
`Abstract.
`S. Armburst et al., PC Tech Journal, vol. 3, No. 9, “Forward
`Looking VDI,” Sep. 1985, pp. 42–53.
`E. R. Carpenter, IBM Technical Disclosure Bulletin, vol. 34,
`No. 10B, “Single System Image With Network File Sys
`tem,” IBM Corp., Mar. 1992, pp. 408-409.
`M. Tabes, Datamation, “Managing Storage AcroSS the
`Enterprise,” May 1992, pp. 36-40.
`P. Korzeniowski, Software Magazine, “Back to the Main
`frame For Storage of LAN Data,” Jul. 1992, pp. 73-77.
`Mark Ludwig, The Little Black Book of Computer Viruses,
`American Eagle publications, 1991, pp. 11-19, 23–29,
`55–68, 69-76, 159-162.
`R. Waterman, Software Magazine, “Waiting for X500,” Jul.
`1992, 2 pages.
`R. Brown, Systems 3X/400, “Serving Many Masters,” Mar.
`1992, pp. 68–70.
`PC Computing, “Test and Evaluation Methods,” Jun. 1992,
`pp. 238, 240, 247–248 and 262.
`Price list, "Tape Backup, 1 page.
`Advertisement, “Let’s Talk(E), Tired of the Runaround?,’ 1
`page.
`Advertisement, “PC/TCP(R) Plus,” 1 page.
`Advertisement, NewS 3X7400, "Mimix Hi-Net, Lakeview
`Technology Inc.” Sep. 1991, p. 140.
`Advertisement, Network Innovation,
`Backup, 1 page.
`Advertisement, News 3X/400, “PC File Mail.” Nov. 1991, p.
`74.
`Advertisement, “HandsOn Software, Monarch 36/400TM lets
`PC users get their hands on mid-range data, 1 page.
`Advertisement, Andrew, “NetLynxTM: LAN Connectivity by
`the Numbers, 1 page.
`Advertisement, “Innovation(R) Data Processing, FDR.Your
`DASD Management System, 1 page.
`Advertisement, “Maynard(R), Maynard Delivers a Super
`Bundle, 1 page.
`Advertisement, “Central Point Software Inc.(E), Never
`Underestimate the Importance of Complete Protection, 1
`page.
`Communications,
`BusineSS
`Advertisement,
`“Backup While You Work,” Jun. 1992, p. 436.
`Advertisement, “Works, 1 page.
`Advertisement, Intel(F), Introducing fax Software that can
`Send, receive and run with your faxes, 1 page.
`Advertisement, “LapLink, With LapLink you’re only a
`phone call away, 1 page.
`M. Tischer, PC Systems Programming, Abacus, Apr. 1993,
`pp. 157-171, 208-212, Appendix B and C.
`Advertisement, PC/Computing, “Sequel linkTM, Middle
`WareTM: Open Windows for Client/Server Computing.” p.
`427.
`Advertisement, System Software Associates, Inc., BPCS
`Client/Server Application Software, 1 page.
`
`“Server Based
`
`Gazelle,
`
`Advertisement, “Rochester Software Connection, Inc.,
`What's fast, fun and does the AS/400?' 1 page.
`Robert Jourdan, Programers Problem Solver, Prentice Hall,
`1986, pp. 369-394, 395-406.
`The Waite Group, MS-DOS Developers Guide, Howard
`Sams & Co., 1989, pp. 281-354,583,739–748.
`Advertisement, PC/Computing, Control up to 96 PC file
`Servers with the 1 keyboard and monitor using . . . Com
`mander by cybex, p. 433.
`G. Campbell & J. Heim, PC World, “The Best of Online
`Services.” Oct. 1993, pp. 225-240.
`C. Shipley, Personal Computing, Ziff-Davis, “The World At
`Your Fingertips,” Fall 1993, pp. 52–56.
`J. Burgess, Washington Post Business Magazine Monday
`Section, Wash Tech, Cybertalk, “Avoiding Highway Rob
`bery,” Nov. 1993, pp. 19.26.
`K. Neely, Midrange Computing, “Terminal Emulator or
`Network: A Management Guide,” Sep. 1993, pp. 56-60.
`P. Borsook, InfoWorld, “Enterprise Computing Internet
`working.” Feb. 1, 1993, pp. 48-49.
`F. Derfler & S. Rigney, PC Magazine, vol. 10, No. 15, “From
`LAN to WAN, Bringing Your Networks Together,” Sep. 10,
`1991, pp. 106–118.
`F. Derfler & S. Rigney, PC Magazine, vol. 10, No. 15,
`“Bridges and Routers, Smart Links Between LAN Seg
`ments,” Sep. 10, 1991, pp. 121-169.
`M. Thompson & S. Rigney PC Magazine, vol. 10, No. 15,
`“Access Servers, Dialing Up the LAN,” Sep. 10, 1991, pp.
`177. 227.
`J. Salemi, PC Magazine, vol. 10, No. 15, “Bulletin Board
`Software, Tools for Wide-Area Communications,'Sep. 10,
`1991, pp. 231-300.
`M. Stone, PC Magazine, vol. 10, No. 15, “E-Mail LAN
`Links, Gateways to the World.” Sep. 10, 1991, pp. 303-345.
`F. Derfler & K. Maxwell, PC Magazine, vol. 10, No. 15,
`“Linking LANs, The Media Move The Message,” Sep. 10,
`1991, pp. 351-374.
`F. Derfler & K. Maxwell, PC Magazine, vol. 10, No. 15,
`“Public Data Networks, Reliable Relays,” Sep. 10, 1991, pp.
`177. 227.
`P. Stephenson, LAN Magazine, “Chip Away at Viruses.” Oct.
`1992, pp. 95-102.
`PC Computing, “Mobile Computing, No-Hassle Solutions
`for Keeping Files in Sync,” Jul. 1993, pp. 218-219.
`Advertisement, MicroCom (R), “Carbon Copy, #1 in Remote
`Control. 1 page.
`Advertisement, Symantec, “The Norton pcAnywhere TM,
`Controlling your Desktop PC From A Portable Used To
`Require A Little Training, 1 page.
`Microsoft Corporation, Microsoft MS-DOS(R) 6 Users
`Guide, Chapter 7 Features for Your Laptop Computer, Using
`Interlink to Connect Two Computers, Copyright 1993, pp.
`161-166.
`Symantec Corp., the Norton pcAnywhere Users Guide,
`Copyright 1990, 1991.
`IBM Corporation, Application System/400TM, System Intro
`duction, GC21–9766–1, Copyright 1988, 1989.
`IBM Corporation, Application System/400TM, Program
`ming. System Reference Summary, SC21-8104-1, Copy
`right 1988, 1989.
`IBM Corporation, Application System/400TM, Program
`ming.
`Control
`Language Reference
`Volume
`1,
`SC21–9775–1, Copyright 1988, 1989.
`
`
`
`5,771,354
`Page 3
`
`IBM Corporation, Application System/400TM, Program
`ming.
`Control
`Language
`Programmer's
`Guide,
`SC21-8077–1, Copyright 1988, 1989.
`IBM Corporation, Application System/400TM, Program
`ming. Database Guide, SC21-9659-1, Copyright 1988,
`1989.
`IBM Corporation, Application System/400TM, Program
`ming. Data Management Guide, SC21-9658-1, Copyright
`1988, 1989.
`IBM Corporation, Application System/400TM, Program
`ming. Work Management Guide, SC21-8078-1, Copyright
`1988, 1989.
`IBM Corporation, Application System/400TM, PC Support:
`DOS Planning and Installation Guide, SC21–8195-0,
`Copyright 1990.
`
`IBM Corporation, Application System/400TM, PC Support:
`DOS Operations Reference, SC21-8195-01, Copyright
`1990.
`IBM Corporation, Application System/400TM, PC Support:
`DOS Users Guide, SC21–8199–0, Copyright 1990.
`IBM Corporation, Application System/400TM, PC Support:
`DOS and OS/2 Technical Reference, SC21-8091–2, Copy
`right 1988, 1990.
`IBM Corporation, Application System/400TM, PC Support:
`DOS and OS/2 Messages and Problem Analysis Guide,
`SC21-8093–2, Copyright 1988, 1990.
`
`
`
`U.S. Patent
`US. Patent
`
`Jun. 23, 1998
`Jun.23,1998
`
`Sheet 1 of 63
`Sheet1,0f63
`
`5,771,354
`5,771,354
`
`
`
`
`
`cor
`
`$8
`
`@9206
`
`III,
`
`
`
`Emaoi
`
`moESw
`
`96meth
`
`59:0
`
`3038
`
`835m95:0
`
` E296
`I.I\I/ wmoEowEmmagzom
`
`
`
`Jun. 23, 1998
`
`Sheet 2 of 63
`
`5,771,354
`
`
`
`Ád00 YSIG
`
`ÁJ9A000H ?
`
`U.S. Patent
`
`Z ‘61-I
`
`N)^
`
`
`
`
`
`U.S. Patent
`
`Jun. 23, 1998
`
`Sheet 3 of 63
`
`5,771,354
`
`
`
`
`
`114
`
`Online
`Service
`System
`100
`
`r
`
`m m m r s m r
`
`Other Customer Wirtual !-- -120
`Devices (CD, FAX, etc.)
`
`Tape
`
`74
`
`150
`
`
`
`Customer
`Computer
`
`78
`
`70
`
`66
`
`56
`
`58
`
`o
`
`DDDDDDDDDDDDDDDDDD
`OOOOD Keyboard DODDD
`DDDDDDDDDDDDDD
`
`
`
`U.S. Patent
`
`Jun. 23, 1998
`
`Sheet 4 of 63
`
`5,771,354
`
`Fig. 4
`16
`
`18-(ape
`Storage
`
`-100
`-4 - - - - - - - - - - - - - - -
`Offsite archival, Software & Information Server
`Other Customer
`Storage Devices
`Online
`Service
`|
`(CDROM, etc.)
`-----
`Y
`Other Customer |
`Shared Devices
`Communications Controllers
`(Fax, etc.)
`ISDN PDN LAN ASCII
`OCai Attach
`----
`Replica Server-112 -120a
`160
`E--------- -------- -
`
`104
`
`O4
`
`Computer
`System
`
`Satellite
`Dish
`
`Switching
`Station
`
`126
`
`
`
`
`
`
`
`LAN
`
`50(W1)
`
`82
`
`80a
`
`Satellite
`Dish
`
`Public
`Data NetWOrk
`
`150
`
`134
`
`Cable TV Connect
`
`TelCO
`Switching
`Station
`
`
`
`8Ob
`
`isDN
`50(W2 O 50(X) O 50(Y)
`)
`
`86
`
`COAX
`
`50(Z)
`
`Customer W (1)
`
`Customer W (2)
`
`
`
`U.S. Patent
`
`Jun. 23, 1998
`
`Sheet S of 63
`
`5,771,354
`
`Computer
`116a
`
`Virtual Disk
`
`Virtual Disk
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Replica
`Server
`Computer
`
`LOCal
`Customer
`Virtual
`Disk Drives | Disk Drives || Disk Drives
`
`a so- - - -na a m m
`
`so - a
`
`ou wo mov
`
`we
`
`were was wom or impr row sw are
`
`Aw appy ampur
`
`ww Moa waw in or were spor sor
`
`Customer
`Computer
`
`Customer
`Computer
`
`
`
`
`
`
`
`
`
`LOCal
`Disk Drives
`
`Virtual
`Disk Drives
`
`
`
`LOCal
`Disk Drives
`
`Replica
`Disk Drives
`
`Wirtual
`Disk Drives
`
`is
`
`136
`
`136K
`
`136(4)
`
`136(5)
`
`136(6)
`
`64AB 64AC
`
`1863)
`
`is
`
`64BB-64BCT
`
`
`
`U.S. Patent
`
`Jun. 23, 1998
`
`Sheet 6 of 63
`
`5,771,354
`
`Fig. 6A
`
`HOSt
`Computer
`
`104
`
`
`
`
`
`1503
`
`50A
`
`Customer
`Computer
`
`Offline
`Replica
`
`
`
`Execution
`and I/O
`Routing
`
`50B
`
`CUStomer
`Computer
`
`
`
`U.S. Patent
`
`Jun. 23, 1998
`
`Sheet 7 of 63
`
`5,771,354
`
`Fig. 6B
`
`HOSt
`Computer
`
`104.
`
`
`
`
`
`
`
`1503
`
`
`
`50A
`
`CUStomer
`Computer
`
`Offline
`Replica
`
`16OB
`
`
`
`Signal
`CUStomer
`PrOCeSS
`
`5OB
`
`CUStomer
`Computer
`
`
`
`U.S. Patent
`
`Jun. 23, 1998
`
`Sheet 8 of 63
`
`5,771,354
`
`- - - - - - - - -
`
`Online Service
`Requests
`
`|
`
`Day
`
`
`
`
`
`Customer
`Computer
`Processing
`
`Online
`Replica
`Computer
`Processing
`
`HOst
`Computer
`Processing
`
`LOgging
`
`
`
`
`
`
`
`Offline
`Request
`
`HOSt
`Request
`
`
`
`U.S. Patent
`
`Jun. 23, 1998
`
`Sheet 9 of 63
`
`5,771,354
`
`Offline
`Requests
`
`
`
`
`
`Offline
`Replica
`Computer
`Processing
`
`HOSt
`Computer
`Processing
`
`LOgging
`
`
`
`HOSt
`Request
`
`
`
`U.S. Patent
`
`Jun. 23, 1998
`
`Sheet 10 of 63
`
`5,771,354
`
`
`
`160
`
`Fig. 6E
`
`CUStomer
`Computer System
`
`Online Service
`Replica Server Computer
`
`Online Service
`Host Computer System
`
`Computer Processor
`
`Replica Processor
`
`HOSt PrOCeSSOr
`
`Communications
`
`COmmunications
`
`Communications
`
`LOgging
`
`Security
`
`Routing
`
`Execution
`
`LOCal Disk
`ACCeSS Program
`
`Remote Disk
`ACCeSS Program
`
`LOgging
`
`Security
`
`Routing
`
`Execution
`
`LOCal Disk
`Access Program
`
`Remote Disk
`Access Program
`
`LOgging
`
`Security
`
`COmmand COntrol
`
`Execution
`
`HOst Disk
`Access Program
`
`Virtual Disk
`Access Program
`
`CUStomer
`DiSK
`
`Replica
`Disk
`
`CUStomer
`Disk
`
`Execution
`
`Execution
`
`
`
`U.S. Patent
`
`Jun. 23, 1998
`
`Sheet 11 of 63
`
`5,771,354
`
`Customer Online Service Control Process
`302
`304
`
`
`
`
`
`Host/Replica
`Signal
`Control
`
`ACCeSS COde
`identifies
`Message Or
`Session Req.
`
`Host/Replica
`SeSSion
`Control
`
`COmmunications
`Software for
`Online Session
`With VirtualDeV.
`
`Interrupt
`Handler
`Control
`
`Redirected
`Keyboard, Timer
`and COmm. to
`Trigger Session
`
`
`
`Customer
`Security
`COntrol
`
`Walidate and
`LOg ACCeSS
`Requests for
`Disk and RAM
`
`314
`
`
`
`Customer
`Computer
`
`Automated
`Session
`COntrol
`
`Manage Host
`Dialogue by
`using Stored
`Script Data
`
`Online
`Session
`COntrol
`
`SeSSion
`Trigger
`COntrol
`
`Enter Commands
`and Respond to
`Host Prompts &
`Request Options
`
`Timer, User Req.
`Or COmm. "ACCeSS
`Code" Signals
`Online Session
`
`306
`
`CUStomer Server
`ROuter Control
`
`Command Prompt Change
`TO & From Redirected
`Drives Determines the
`Execution PrOCeSSOr
`
`Send Available Drive
`Info. to Replica and
`Redirect Replica Drives
`to Customer Processor
`
`Direct Data by Processor
`Send Drive Data to Replica
`Receive Data from Replica
`
`Route Keystrokes
`& Video During
`Program Execution
`
`
`
`U.S. Patent
`
`23, 1998
`Jun.
`
`Sheet 12 of 63
`
`5,771,354
`
`
`
`
`
`
`
`
`
`
`
`
`
`Online
`Service
`Customer
`Signup
`PrOCeSS
`
`HOSt
`Security
`ROuter User
`Exit
`PrOCeSS
`
`Use TelCO
`Special Chg.
`PhOne
`Number
`
`Walidate
`Requests for
`Virtual Device
`Attachment
`
`Display Msg.
`With Time
`Left to Exit
`Before Signup
`Charge
`OCCUrS
`
`Assign User
`ID and
`DOWnload
`Software and
`COntrol Data
`For Service
`
`Walidate
`Requests for
`Virtual Device
`Data and
`Software
`
`LOg ACCeSS
`Requests for
`Virtual Device
`Data and
`Software
`
`
`
`
`
`HOSt
`Request
`Task
`COntrol
`Pr0CeSS
`
`Signal
`CUstomer
`Task
`COntrol
`PrOCeSS
`
`Interactive
`Customer
`Session
`COntrol
`PrOCeSS
`
`Control
`PrOCeSS
`
`406A
`
`Walidate User
`
`Walidate
`Replica ID
`
`Read HOSt
`Request Data
`
`Read Signal
`Customer Data
`
`Execute Anti
`Viral in CUSt.
`PrOCeSSOr
`
`Get Host Or
`Customer
`Request
`
`404D
`
`
`
`ISSUe Offline
`Request Or
`
`404E
`
`Begin
`PrOCeSS
`Request
`
`406B
`
`Read Replica
`Request Data
`
`Read
`Customer
`COntrol Data
`
`Read
`Customer
`Control Data
`
`Read
`Customer
`COntrol Data
`
`Signal
`CUstomer
`if Requested
`
`Verify Signal
`is Necessary
`
`Manage Script
`for Keystroke
`
`issue Replica
`Requestif
`Requested
`
`Send Signal
`Pattern and
`ACCeSS COce
`
`Begin
`PrOCeSS
`Request
`
`
`
`U.S. Patent
`
`Jun.
`23, 1998
`
`Sheet 13 of 63
`
`5,771,354
`
`Backup,
`Restore,
`& Archive
`Request
`
`Anti-Viral
`Device
`Scan
`Request
`
`L0g Request
`Begin & End
`for Billing
`
`L0g Request
`Begin & End
`for Billing
`
`AllOCate
`SOUrce and
`Target
`Disk
`
`ExeCute
`Disk Copy
`Software in
`Customer
`Or Replica
`PrOCeSSOr
`
`AllOCate
`Disk with
`Anti-Viral
`Software
`
`Execute
`Anti-Viral
`Software in
`Customer
`Pr0CeSSOr
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Begin
`Process
`404E, 406E
`Request -/
`Control
`Process
`
`
`
`
`
`
`
`Program
`& Info.
`Rental
`Request
`
`Program
`& Info,
`Purchase
`Request
`
`Log Request
`Begin & End
`for Billing
`
`LOg Request
`Begin & End
`for Billing
`
`Allocate Disk
`with Rental
`Program
`Or info.
`
`Allocate Disk
`With Purchase
`Program
`Or info.
`
`Execute
`Rental
`Program or
`ACCeSS Info.
`With
`Customer
`Or Replica
`PrOCeSSOr
`
`Allocate
`Destination
`Device for
`Purchase
`Program
`Or info.
`
`Copy
`Purchase to
`Destination
`Device
`
`
`
`Release
`Update
`Service
`Request
`
`Online
`Service
`Request
`
`LOg Request
`Begin & End
`for Billing
`
`LOg Request
`Begin & End
`for Billing
`
`Determine
`Software &
`Data to RCV.
`Update
`
`Allocate
`Devices
`to Manage
`Request
`
`ExeCute
`Software &
`ACCeSS Data
`Within Host
`Or Replica
`Or Customer
`PrOCeSSOr
`
`Allocate
`Wirtual
`Disk with
`Release
`Updates
`
`CopylApply
`Updates to
`Customer
`Computer if
`Necessary
`
`
`
`U.S. Patent
`
`Jun. 23, 1998
`
`Sheet 14 of 63
`
`5,771,354
`
`470
`
`Customer
`Signal
`Control
`
`Send Dialing
`Pattern and
`ACCeSS COce
`to CUStomer
`
`472
`
`Replica
`Security
`COntrol
`Walidate and
`
`Customer Replica Control Process
`474
`476
`
`HOSt
`Session
`COntrol
`
`COmmunications
`Software for
`Online Session
`With VirtualDeV.
`
`Customer
`Session
`Control
`
`Ready Modem;
`Pass Signon
`Info. to/from
`CUSt. and HOSt
`
`478
`
`
`
`482
`
`Replica
`
`160
`
`480
`
`Replica Server
`ROut
`Outer Control
`Command Prompt Change
`To & From Redirected
`Drives Determines the
`Execution PrOCeSSOr
`
`Send Available Drive
`Info, to CUStomer and
`Redirect Customer Drives
`to Replica PrOCeSSOr
`
`Requests for
`Disk and RAM
`
`502
`
`498
`
`494
`
`490
`
`Direct Data by Processor
`Send Drive Data to CUStomer
`Receive Data from CUStomer
`
`486
`
`Automated
`Session
`COntrol
`
`Manage Host
`Dialogue by
`using Stored
`Script Data
`
`Online
`Session
`Control
`
`PaSS Customer
`COmmands to
`HOst and ExeCute
`Host Requests
`
`Offline
`Session
`Control
`
`Read Replica
`Requests and
`Process using
`Script Data
`
`:
`
`Route Keystrokes
`& Video During
`Program Execution
`
`488
`
`
`
`
`
`
`
`U.S. Patent
`
`Jun. 23, 1998
`
`Sheet 15 of 63
`
`5,771,354
`
`Fig. 10
`
`BOOt
`Customer Computer
`
`502
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`504
`
`Online Service
`COntrol Data
`in Memory
`
`Redirect
`Keyboard,
`Timer,
`and COmm.
`Interrupts
`
`507
`
`PaSS COntrol to
`Operating System
`
`Fig. 11
`
`
`
`Redirect
`Interrupt
`
`527
`
`
`
`Review?
`Change Default
`Config.
`
`Display
`Online Service
`Options and
`Allow Changes
`
`Update
`Online Service
`Control Data
`with Service
`Option Changes
`
`528
`
`530
`
`
`
`
`
`
`
`
`
`532
`
`
`
`Redirect
`Interrupts to
`Manage Selected
`Service Options
`
`
`
`U.S. Patent
`
`Jun. 23, 1998
`
`Sheet 16 of 63
`
`5,771,354
`
`Fig. 12A
`Keyboard
`Interrupt Handler
`
`Online
`Service Session
`Requested
`
`
`
`
`
`Begin Host
`Session
`
`Fig. 12B
`
`
`
`Timer
`Interrupt Handler
`
`543
`
`546
`
`
`
`
`
`
`
`Time
`Triggered Host
`Session
`
`Automated
`Dialog Option
`
`
`
`
`
`Begin Host
`Session
`
`Reconfigure
`to Manage
`Automated
`Keystrokes
`
`
`
`U.S. Patent
`
`Jun. 23, 1998
`
`Sheet 17 of 63
`
`5,771,354
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Fig. 12C
`
`Comm. Interrupt
`Handler
`
`554
`
`No
`
`
`
`
`
`
`
`568
`
`Yes
`
`AnSWer
`Received On
`Modem
`
`
`
`
`
`
`
`
`
`
`
`ACCeSS
`COce
`Received
`
`
`
`572
`
`Set
`Time to
`Trigger
`Online
`SeSS-On
`
`556
`
`Ringing
`Received On
`MOdem
`
`Yes
`
`Store Number of
`Calls, Number of
`Rings Per Call,
`and Time Interval
`Between Calls
`
`558
`
`NO
`
`GTO
`
`
`
`LOg
`Error
`and Reset
`Pattern
`Stores
`
`i.e.
`Received
`
`
`
`
`
`
`
`
`
`Perform Response
`Based On ACCeSS
`Code Table Entry
`
`Hangup
`Modem
`
`577
`
`(ETC)
`
`560
`
`Ringing
`Pattern
`Match
`
`Log Error
`and Reset
`Pattern
`Stores
`
`562
`
`Set MOClem to
`Auto-AnSWer
`MOde
`
`
`
`Gro).5"
`
`
`
`U.S. Patent
`
`Jun. 23, 1998
`
`Sheet 18 of 63
`
`5,771,354
`
`Begin
`
`LOad Virtual Device Drivers for Online Service ACCeSS
`
`512
`
`Run Communication Program for Link to Online Service
`
`Begin Customer
`Security Program
`
`515
`
`518
`
`Yes
`
`Begin Customer
`Server ROuter
`
`516
`
`Replica
`Server
`Session
`
`
`
`Enter Signon User ID and PaSSWOrd
`
`520
`
`issue LOCal/Remote Commands and
`Respond to Prompts for input
`
`521
`
`
`
`
`
`
`
`
`
`
`
`522
`
`524.
`
`526
`
`Yes
`
`DisCOnnect
`
`GTO
`
`
`
`Signoff
`Request
`ISSUed
`
`
`
`U.S. Patent
`
`Jun. 23, 1998
`
`Sheet 19 of 63
`
`5,771,354
`
`Fig. 14A
`
`518
`
`Begin Customer
`Server ROuter
`
`LOad Device Driver
`Call NIT Function
`Load Cust Security Pgm
`
`Get Customer Online
`Service COntrol Data
`
`Get Cust Processing
`Control able
`
`578
`
`580
`
`582
`
`Get Cust Redirected
`Drive Control
`able
`
`584
`
`
`
`
`
`
`
`
`
`Replica
`Server Session
`Active
`
`
`
`YES
`
`
`
`
`
`58
`
`583
`
`Yes
`
`Send Reguest to Update
`Control Data Send Cust.
`Control Data to Replica
`
`First Ti
`irst Time
`Processing
`
`
`
`
`
`
`
`First Time
`Processing
`
`NO
`
`
`
`Replica
`Reqto Update
`Control
`Data
`
`
`
`Receive Control
`Data from Replica
`Computer
`
`
`
`Update Control Data
`Stored On Customer
`Computer with Data
`Received from Replica
`
`
`
`U.S. Patent
`
`Jun. 23, 1998
`
`Sheet 20 of 63
`
`5,771,354
`
`Fig. 14B
`
`
`
`
`
`
`
`
`
`Replica
`Device Config
`Request
`
`First Time
`Processing
`
`Receive Replica Drive Config 593B
`Info. from Replica Computer
`
`
`
`Yes
`Build System Block Entries and Redirected
`Drive Control Table Entries for Replica Local Drives
`& Replica Locally Accessed Host Virtual Drives
`
`593D
`
`593F
`
`
`
`Send Virtual Drive
`Assignments
`to Replica Computer
`
`
`
`U.S. Patent
`
`Jun. 23, 1998
`
`Sheet 21 of 63
`
`5,771,354
`
`Fig. 14C
`
`598
`
`Cust.
`
`Device Config
`Change
`
`NO
`
`
`
`
`
`
`
`
`
`650
`
`--
`
`First Time
`Processing
`
`NO
`
`Yes
`
`Clear First Time Condition
`
`651
`
`Send Customer Device Configuration Request to Replica
`Send Customer Drive Configuration info. to Replica
`
`652
`
`654
`
`Receive VirtualDrive Assignments from Replica Computer
`
`
`
`Update Cust. Redirected Drive
`Control Table With Virtual
`Drive Assignments
`
`
`
`U.S. Patent
`
`Jun. 23, 1998
`
`Sheet 22 of 63
`
`5,771,354
`
`
`
`Replica
`Request for
`CuSt. Data
`
`Fig. 14D
`
`Cust.
`Request for
`Replica
`Data
`
`Execute I/O Request
`for Customer
`Disk Drive
`
`Send I/O Request
`and/or Data to
`Replica Computer
`
`
`
`Send Data and/or
`Response to Replica
`Computer
`
`
`
`Receive Response
`and/or Data from
`Replica Computer
`
`Execution
`Request from
`Replica
`
`Set Processor
`in Use Flag
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`U.S. Patent
`
`Jun. 23, 1998
`
`Sheet 23 of 63
`
`5,771,354
`
`Fig. 14E
`
`
`
`
`
`
`
`
`
`
`
`
`
`Customer
`Execution
`Request
`
`Command
`Line
`Translation
`Active
`
`
`
`
`
`
`
`
`
`Use Processing Control Table
`Drive Translation Data to
`Alter Drive Designators
`On the COmmand Line
`
`PrOCeSSOr
`in Use
`
`Wait for
`PrOCeSSOr
`
`
`
`RerOut
`eOUe
`PrOCeSSOr
`
`
`
`Set PrOCeSSOr in USe and ROute
`Keystrokes, Mouse, Video, Print,
`and SOund based On ACtive
`Processing Control Table Entry
`
`
`
`
`
`U.S. Patent
`
`Jun. 23, 1998
`
`Sheet 24 of 63
`
`5,771,354
`
`
`
`Fig. 14F
`
`
`
`
`
`
`
`COmmand
`Prompt Drive
`Change
`
`PrOCeSSOr
`Flag Toggle
`
`Use Redirected Drive COntrol
`Table Defaults for Changed
`Drive to Set Processing Control
`Table Entry and Make Active
`
`
`
`
`
`ROUnd-RObbin tO Next
`Processing Control Table
`Entry and Make Active
`
`Set Online Service Contro
`Data Processor Flag
`
`
`
`U.S. Patent
`
`Jun. 23, 1998
`
`Sheet 25 of 63
`
`5,771,354
`
`Fig. 14G
`
`
`
`
`
`
`
`
`
`712
`
`Keyboard
`Input
`Toggle
`
`No
`
`
`
`
`
`Change Processing
`Control Table Entry
`for Keyboard Input
`ROutinC
`
`
`
`Change Processing
`Control Table Entry
`for Video Output
`Routino
`
`
`
`
`
`
`
`
`
`726
`
`No
`
`Change Processing
`Control Table Entry
`for Printer Output
`Routing
`
`
`
`U.S. Patent
`
`Jun. 23, 1998
`
`Sheet 26 of 63
`
`5,771,354
`
`Fig. 14H
`
`730
`
`
`
`
`
`Sound
`Input/Output
`Toggle
`
`NO
`
`736
`
`Drive
`Translation
`Toggle
`
`NO
`
`
`
`
`
`
`
`
`
`Yes
`
`732
`
`Yes
`
`738
`
`NO
`
`NO
`
`Yes
`
`734
`
`
`
`
`
`Change Processing
`Control Table Entry
`for Sound Routing
`
`Yes
`
`740
`
`Create/Change Processor
`COntrol Table Drive
`Translation Data and
`Translation Active Flac
`
`
`
`
`
`U.S. Patent
`
`Jun. 23, 1998
`
`Sheet 27 of 63
`
`590
`
`Begin Customer
`Security Program
`
`Get Request From
`Customer Router
`
`742
`
`5,771,354
`Fig. 15
`
`YeS
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`744
`
`s
`Command
`LOCal
`
`NO
`746
`
`748
`
`Program
`and/or Request
`AllOWed
`
`Yes | Log Billing Data,
`CPU Time, Storage
`Type and Usage On
`HOSt Virtual Disk
`
`NO
`
`750
`
`Log Security Violation
`
`752
`
`754
`
`Set flag for Customer
`Router to Deny Request
`
`Send Violation Message
`to Controlling Session
`
`
`
`
`
`
`
`
`
`756
`
`Yes
`
`758
`
`Authorized
`
`NO
`
`NO
`
`
`
`
`
`
`
`
`
`
`
`U.S. Patent
`
`Jun. 23, 1998
`
`Sheet 28 of 63
`
`5,771,354
`
`Fig. 16A
`
`-50
`
`Hardware Configuration Data Processor Make & Model
`
`Peripherals
`
`CUStOmer Profile Data
`
`PhOne Number
`
`Table Occurs Access Code Phone Number Access Reason Response Default Replica/Host Link
`
`
`
`
`
`
`
`6O7
`610
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Session Active Flag Host/Replica Session
`
`Automated Session Flag
`608
`-
`-
`612
`Service Control Program HotKey Session initiation HotKey Command Prompt Drive Chg Hot Key
`613
`N
`
`Redirected interrupt Table Occurs interrupt Active
`
`
`
`
`
`
`
`
`
`Automated Session Table OCCurs
`
`Service Options
`
`Ringing Pattern Stores Table Occurs
`
`Error Toleran Ce
`
`Media Origination Table
`
`edia Destination Table
`
`Inter-ROuting Media Option Flag Media Conversion Table OCCUrs From Media To Media
`Diagnostic Option Flag
`
`Diagnostic Function List
`
`Disk Compression Option Flag Compression Method
`
`Disk Encryption Option Flag
`
`Encryption Method
`
`Disk Management Option Flag Management Functions
`
`UStOmer PrOCeSSOr Command Prompt Drive Designator
`
`Replica Processor Command Prompt Drive Designator
`
`649E Drive Control Table Default Settings by Disk Type
`
`
`
`U.S. Patent
`
`Jun. 23, 1998
`
`Sheet 29 of 63
`
`5,771,354
`
`Fig. 16B
`
`1
`
`Processor Flag (Customer, Replica, Host)
`
`)
`Command Local (Yes, No
`
`
`
`Processor in Use Flag (Yes, No)
`
`Customer Processor Command Prompt Drive Designator
`
`
`
`
`
`ine (Yes, No)
`ive Designator)
`
`Keyboard Routing (Customer, Replica)
`
`ing (
`Mouse Routing (Customer, Replica)
`Replica)
`
`(
`
`ica)
`
`ica)
`
`ica)
`
`Wait for PrOCeSSOr
`
`
`
`Reroute Processor Flag (Rerouted to)
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`802
`804
`
`
`
`812
`
`814
`
`816
`
`818
`
`820
`
`822
`
`824
`
`826
`
`828
`
`830
`
`832
`
`833A
`
`
`
`833B
`
`
`
`U.S. Patent
`
`Jun. 23, 1998
`
`Sheet 30 of 63
`
`5,771,354
`
`Fig. 16C
`
`834
`
`836
`838
`
`840
`
`842
`
`844
`
`84
`
`848
`
`850
`852
`
`854
`856
`
`
`
`858
`86
`
`868
`864
`866
`
`Disk Type (Local Customer, Local Replica, Virtual Disk)
`Local Drive Designator (A, B, C:, D. E.,.Z.)
`
`BOS Parameter Block LoCation for LoCal Drive
`
`Drive Parameter BOCk Location for local Drive
`
`Redirected (Remote) Drive Designator (A., B., C., D. E., ..Z.)
`
`BIOS Parameter Block Location for Redirected (Remote) Drive
`
`Drive Parameter Block Location for Redirected (Remote) Drive
`
`
`
`
`
`Default Drive Designator Translation (Yes, No)
`
`Default Keyboard Routing (Customer, Replica)
`
`Default Mouse Routing (Customer. Replica)
`
`Default Video Routing (Customer, Replica)
`
`Default Print Routing (Customer, Replica)
`Default Sound Routing (Customer, Replica)
`Default Processor Flag (Customer. Replica. Host)
`Set Default Processor Flag on Command Prompt Drive Change (Yes, No)
`Default Escape Sequence for Processor Flag Toggle
`
`
`
`U.S. Patent
`
`Jun. 23, 1998
`
`Sheet 31 of 63
`
`5,771,354
`
`Fig. 17
`
`902
`
`BOOt Online
`Service Host
`
`900
`
`904
`
`Start Virtual Device Software
`
`906
`
`Begin Host
`Security Program
`
`908
`
`Start Interactive Subsystems for
`Customer and Replica Sessions
`
`910
`
`Begin Signal
`Customer Task
`
`912
`
`Begin Host
`Request Task
`
`
`
`
`
`
`
`
`
`915
`
`Customer
`Session
`Request
`
`NO
`
`Offline
`Replica Session
`Request
`
`
`
`NO
`
`916
`
`Yes
`
`917
`
`Yes
`
`Begin Customer
`Session
`
`Begin Offline
`Replica Session
`
`
`
`U.S. Patent
`
`Jun. 23, 1998
`
`Sheet 32 of 63
`
`5,771,354
`
`Fig. 18
`
`
`
`
`
`Begin Host
`Security Program
`
`906
`
`918
`
`
`
`
`
`Get request
`from HOSt ROuter
`
`Secured
`Device ACCeSS
`Requested
`
`
`
`922
`
`
`
`
`
`
`
`Program
`and/or Request
`AOWed
`
`
`
`Log Billing Data,
`CPU Time, Storage
`Type and Usage
`On the HOSt
`Computer
`
`
`
`
`
`Log Security Violation
`
`Set Flag for Host
`Router to Deny Request
`
`
`
`Send Violation Message
`to Controlling Session
`
`
`
`926
`
`928
`
`930
`
`
`
`U.S. Patent
`
`Jun. 23, 1998
`
`Sheet 33 of 63
`
`5,771,354
`
`Fig. 19A
`
`Begin Signal
`CuStOmer TaSK
`
`910
`
`
`
`Read Signal
`
`
`
`934
`
`Signal
`Time COndition
`Met
`
`
`
`YeS
`
`936
`
`Read CuStOmer
`COntrol Data
`
`938
`
`
`
`
`
`
`
`
`
`946
`
`
`
`CuStOmer
`SeSSiOn
`ACtive
`
`
`
`
`
`
`
`NO
`
`Write "Signal
`MeSSage" Host
`Request Data
`
`
`
`Clear
`Signal
`CuStOmer
`Data
`
`
`
`
`
`950
`948
`ReQuest
`Signal Data NYes PA with Nes Reye
`Await Pending
`Signal Notify
`citie?
`Flagged
`Flag
`Data
`
`
`
`
`
`NO
`
`NO
`
`
`
`U.S. Patent
`
`Jun. 23, 1998
`
`Sheet 34 of 63
`
`5,771,354
`
`Fig. 19B
`
`
`
`
`
`
`
`
`
`966
`
`968
`
`ACCeSS
`COde
`Requireg
`
`Yes Enter ACCeSS
`COce for
`Signal Type
`
`970
`Hangup Modem
`
`Set Signon
`Allowed Flag
`
`972
`
`974.
`
`Log Signal
`SuCeSSful for
`Billing and Security
`
`976
`
`
`
`Clear Signal Data
`
`Dialup Customer (?)
`Times, Ring (?) Times,
`and Wait (?) Seconds
`Between Rings Based on
`Ringing Pattern Stored
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`958
`
`NO
`
`AnSWer
`Received On
`Modem
`
`YeS
`
`Ringing
`Pattern
`Match
`
`YeS
`
`NO
`
`960
`
`
`
`
`
`LOg
`Error &
`Hangup
`
`964
`
`
`
`U.S. Patent
`
`Jun. 23, 1998
`
`Sheet 35 of 63
`
`5,771,354
`
`Fig. 20A
`
`912
`Begin Host --
`Request Task
`
`978
`
`Read HOSt
`Request Data
`
`980
`
`Request
`Time Condition
`Met
`
`
`
`NO
`
`YeS
`
`Read Customer
`Control Data
`
`
`
`CuStOmer
`SeSSiOn
`Active
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Signal
`Customer Before
`Notify Flag
`
`Write Signal
`Customer Data
`
`
`
`
`
`
`
`Requeue
`HOSt
`Request
`Data
`
`
`
`U.S. Patent
`
`Jun. 23, 1998
`
`Sheet 36 of 63
`
`5,771,354
`
`Fig. 20B
`
`
`
`
`
`Offline
`Replica
`Request
`
`994
`
`NO
`
`YeS
`
`996
`
`
`
`
`
`MOWe Parameters, Time,
`and Notify Method
`from Host Request Data
`to Replica Request Data
`
`997
`
`998
`
`Write
`Replica Request
`
`
`
`Log Request & End
`Time for Billing
`
`999
`
`Clear Host Request
`
`
`
`U.S. Patent
`
`Jun. 23, 1998
`
`Sheet 37 0f 63
`
`5,771,354
`
`Fig. 21A
`
`916
`--
`
`Begin Customer
`SeSSiOn
`
`NO
`
`1112
`
`Write Signal
`CuStOmer Data
`
`1114
`
`LOg Signoff
`Information
`for Billing
`and Security
`
`Signoff
`CuStOmer
`Computer
`
`DiSCOnnect
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Validate
`USerid and
`PaSSWOrd
`
`
`
`LOg Signon
`Information
`for Billing
`and Security
`
`
`
`Read CuStOmer
`Control Data
`
`
`
`
`
`
`
`HOSt
`Dialback
`Required
`
`
`
`
`
`
`
`U.S. Patent
`
`Jun. 23, 1998
`
`Sheet 38 of 63
`
`5,771,354
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Fig. 21B
`
`Replica
`Server Device
`ACCeSS
`
`Set Replica
`S-EAS,
`SeSSion Flag
`g
`p
`
`TelCO
`Billing Device
`ACCeSS
`
`Display Msg with
`Service Charges
`and Prompt for
`ACCeptance within
`a Specified Time
`
`Acceptance
`Received within
`Time
`
`
`
`Set Telco Billing
`ACCeSS Flag
`
`Log Signoff
`information
`for Billing
`and Security
`
`Signoff
`CuStOmer
`Computer
`
`1136
`
`DiSCOnnect
`
`RTC
`
`
`
`U.S. Patent
`
`Jun. 23, 1998
`
`Sheet 39 0f 63
`
`5,771,354
`
`Attach to Virtual
`Device With Anti
`Viral Software