`Crawford
`
`I lllll llllllll Ill lllll lllll lllll lllll lllll 111111111111111111111111111111111
`US005771354A
`[11] Patent Number:
`[45] Date of Patent:
`
`5,771,354
`Jun. 23, 1998
`
`[54]
`
`INTERNET ONLINE BACKUP SYSTEM
`PROVIDES REMOTE STORAGE FOR
`CUSTOMERS USING IDS AND PASSWORDS
`WHICH WERE INTERACTIVELY
`ESTABLISHED WHEN SIGNING UP FOR
`BACKUP SERVICES
`
`[76]
`
`Inventor: Christopher M. Crawford, 3010
`Wisconsin Ave., NW., Apt. C-8,
`Washington, D.C. 20016
`
`[21]
`
`Appl. No.: 145,825
`
`[22]
`
`Filed:
`
`Nov. 4, 1993
`
`5,497,479
`5,515,502
`5,535,407
`5,544,320
`5,606,719
`5,696,901
`
`3/1996 Hornbuckle ............................. 395/491
`5/1996 Wood ................................. 395/182.13
`7/1996 Yanagawa et al.
`..................... 395/800
`8/1996 Konrad ............................... 395/200.33
`2/1997 Nichols et al.
`......................... 395/876
`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.
`Arneson, "Mass Storage Archiving In Network Enviro(cid:173)
`ments", 1988, IEEE, pp. 45-50.
`
`Int. Cl.6
`.......•.............................................. G06F 13/00
`U.S. Cl. ................................ 395/200.59; 395/200.49;
`395/186; 395/620
`Field of Search ............................. 364/200; 395/800,
`395/876, 182.04, 182.09, 200.59, 200.49,
`186, 620; 380/4
`
`(List continued on next page.)
`
`Primary Examiner-Frank J. Asta
`Assistant Examiner-Le Hien Luu
`Attorney, Agent, or Firm-Nixon & Vanderhye P.C.
`
`[57]
`
`ABSTRACT
`
`[51]
`[52]
`
`[58]
`
`[56]
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`4,649,479
`4,901,223
`4,954,945
`4,982,324
`4,994,963
`5,005,122
`5,007,082
`5,023,774
`5,089,958
`5,107,456
`5,109,515
`5,181,238
`5,210,866
`5,212,784
`5,276,867
`5,317,728
`5,325,430
`5,353,411
`5,367,698
`5,379,418
`5,404,527
`5,426,594
`5,448,718
`
`3/1987 Advani et al. .......................... 395/681
`2/1990 Rhyne ..................................... 364/200
`9 /1990 Inoue et al. .... ... ... ... ... .... ... ... ... 364/200
`1/1991 McConaughy et al. ........... 395/200.52
`2/1991 Rorden et al. .......................... 364/200
`4/1991 Griffin et al. ...................... 395/200.01
`4/1991 Cummins .................................... 380/4
`6/1991 Sakai et al. ............................. 395/849
`2/1992 Horton ............................... 395/182.03
`4/1992 Schuur .. ... ... ... .... ... ... ... ... ... .... .. 395 /310
`4/1992 Laggis et al. .. ... ... ... ... .... ... ... ... .. 707 /10
`1/1993 Medamana et al. ...................... 379/95
`5/1993 Milligan et al. ................... 395/182.04
`5/1993 Sparks ................................ 395/182.04
`1/1994 Kenley et al. .......................... 707/104
`5 /1994 Tevis et al. .... ... ... ... ... .... ... ... ... 395 /600
`6/1994 Smyth et al.
`............................... 380/4
`10/1994 Nakaosa et al. ........................ 395/275
`......................... 395/800
`11/1994 Webber et al.
`1/1995 Shimazaki et al. ................ 395/182.09
`4/1995 Irwin et al. ........................ 395/200.52
`6/1995 Wright et al. ........................... 364/514
`9/1995 Cohn et al. ............................. 395/404
`
`This invention makes it possible for a customer computer to
`connect to an online service provider computer by phone,
`Internet, or other method, pay a fee to said service provider,
`and obtain additional processing and storage resources for
`the customer's computer. The resources can take the form of
`virtual storage and processing capabilities. These capabili(cid:173)
`ties give the customer computer what appears to be addi(cid:173)
`tional local processing power and/or additional local
`storage, this storage possibly including preloaded software
`and/or data.
`
`The additional resources made available to the customer
`computer can be used either to enhance the customers' local
`needs (such as access to virtual storage for additional disk
`space, or access to a more powerful processor of similar type
`for program execution), or these additional resources can be
`used by the customer computer to support services on-line
`that otherwise would be unavailable, impractical, or unaf(cid:173)
`fordable. Examples of services include software and infor(cid:173)
`mation rental, sales, and release update services, anti-viral
`services, backup and recovery services, and diagnostic and
`repair services, to name a few.
`
`27 Claims, 63 Drawing Sheets
`
`Software and Services
`
`..,...... ........ ------
`
`.._ .._
`
`.....
`
`/
`
`.....
`
`50""
`
`54
`
`$
`
`100
`
`Data
`Storage
`
`Program
`Storage
`
`Processing
`
`Input/
`Output
`Devices
`
`Online Service System
`
`NetApp Exhibit 1009 Page 1
`
`
`
`5,771,354
`Page 2
`
`01HER PUBLICATIONS
`
`To et al, "Knowledge Enginerring Approach To Data Cen(cid:173)
`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. lOB, "Single System Image With Network File Sys(cid:173)
`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(cid:173)
`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®, Tired of the Runaround?," 1
`page.
`Advertisement, "PC/TCP® Plus,"1 page.
`Advertisement, News 3X/400, "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/400™ lets
`PC users get their hands on mid-range data," 1 page.
`Advertisement, Andrew, "NetLynx™: LAN Connectivity by
`the Numbers," 1 page.
`Advertisement, "Innovation® Data Processing, FDR.Your
`DASD Management System," 1 page.
`Advertisement, "Maynard®, Maynard Delivers a Super
`Bundle," 1 page.
`Advertisement, "Central Point Software Inc.®, Never
`Underestimate the Importance of Complete Protection," 1
`page.
`Advertisement, Business Communications, Gazelle,
`"Backup While You Work," Jun. 1992, p. 436.
`Advertisement, "Works," 1 page.
`Advertisement, Intel®, 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, "SequeLink™, Middle(cid:173)
`Ware™: Open Windows for Client/Server Computing," p.
`427.
`Advertisement, System Software Associates, Inc., BPCS
`Client/Server Application Software, 1 page.
`
`"Server Based
`
`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(cid:173)
`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(cid:173)
`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(cid:173)
`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(cid:173)
`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/400™, System Intro(cid:173)
`duction, GC21-9766-1, Copyright 1988, 1989.
`IBM Corporation, Application System/400™, Program(cid:173)
`ming: System Reference Summary, SC21-8104-1, Copy(cid:173)
`right 1988, 1989.
`IBM Corporation, Application System/400™, Program(cid:173)
`ming: Control
`Language Reference Volume
`l,
`SC21-9775-1, Copyright 1988, 1989.
`
`NetApp Exhibit 1009 Page 2
`
`
`
`5,771,354
`Page 3
`
`IBM Corporation, Application System/400™, Program(cid:173)
`ming:
`Control
`Language
`Programmer's Guide,
`SC21-8077-1, Copyright 1988, 1989.
`IBM Corporation, Application System/400™, Program(cid:173)
`ming: Database Guide, SC21-9659-1, Copyright 1988,
`1989.
`IBM Corporation, Application System/400™, Program(cid:173)
`ming: Data Management Guide, SC21-9658-1, Copyright
`1988, 1989.
`IBM Corporation, Application System/400™, Program(cid:173)
`ming: Work Management Guide, SC21-8078-1, Copyright
`1988, 1989.
`IBM Corporation, Application System/400™, PC Support:
`DOS Planning and Installation Guide, SC21-8195-0,
`Copyright 1990.
`
`IBM Corporation, Application System/400™, PC Support:
`DOS Operations Reference, SC21-8195-01, Copyright
`1990.
`
`IBM Corporation, Application System/400™, PC Support:
`DOS Users Guide, SC21-8199-0, Copyright 1990.
`
`IBM Corporation, Application System/400™, PC Support:
`DOS and Os/2 Technical Reference, SC21-8091-2, Copy(cid:173)
`right 1988, 1990.
`
`IBM Corporation, Application System/400™, PC Support:
`DOS and OS/2 Messages and Problem Analysis Guide,
`SC21-8093-2, Copyright 1988, 1990.
`
`NetApp Exhibit 1009 Page 3
`
`
`
`U.S. Patent
`
`Jun. 23, 1998
`
`Sheet 1 of 63
`
`5,771,354
`
`E
`(]) en >.
`
`(/)
`(])
`(.)
`·:;:
`.....
`(])
`(/)
`a>
`c
`c
`0
`
`.......
`..
`-~ LL:
`
`0
`0
`
`(])
`ctS O'l
`-
`ctS
`.....
`ctS
`.8
`0
`(/)
`
`E a>
`ctS O'l
`.....
`ctS
`O'l .....
`0
`0
`
`..... -a.. (/)
`
`O'l
`.S
`en
`CJ)
`a>
`(.)
`
`0 ..... a..
`
`:::J a>
`-
`CJ)
`-
`-
`:::J a.(.)
`a. :5 ·:;:
`c 0
`a>
`-
`0
`
`0
`I.()
`
`~ z
`:J
`~ <(
`0
`
`I
`I
`I
`I
`(.) I
`"> ...... I
`a>
`(/)
`-o I
`c
`ct:s I
`co \
`~ \
`\
`\
`\
`
`CJ)
`(])
`
`(])
`
`(/)
`
`~
`\
`
`\
`\
`\
`\
`\
`I -EA-
`I
`I
`I
`I
`I
`I
`I
`
`\
`
`\
`
`/ 0
`
`I.()
`
`NetApp Exhibit 1009 Page 4
`
`
`
`~
`Ul
`~
`~
`.....::.
`.....::.
`....
`Ul
`
`~
`O'I
`0 .....,
`N
`~ .....
`'Jl =(cid:173)~
`
`00
`\C
`'"""'
`\C
`
`~~
`N
`
`~ = ?
`
`~ = ......
`
`~ ......
`~
`\JJ. .
`d .
`
`Customer Computer
`
`u
`
`for Usage
`Customer
`Bill the
`
`Companies
`Telephone
`
`Exchanges
`Code, Pay
`900 Area
`
`Computer
`Customers
`Updated on
`Files are
`Software &
`
`Updates
`Release
`Automated
`
`Info. Sold
`Programs &
`Disks with
`
`Virtual
`
`Granted to
`Ownership
`
`Capability
`but No Copy
`and Files
`to Programs
`Disk Access
`
`Virtual
`
`Data Files
`Software &
`
`Data Files
`Software &
`
`Disks
`
`and Shared
`
`Private,
`Public,
`
`Attachment
`Disk Drive
`
`Virtual
`Unlimited
`
`Services
`One Time
`~
`
`Updates
`Software
`
`C 214
`
`Info. Sales
`Program &
`~
`
`Info. Rental
`Program &
`
`/210
`
`Drives
`
`Customer
`~
`
`Image, etc.
`Multi-media,
`Fax, Voice,
`
`Converted WP,
`Send, Receive
`
`& Conversion
`Media Routing
`
`Automated
`
`Media Service
`
`Electronic
`
`/206
`
`/204
`
`Online Service System
`
`u
`
`Fig. 2
`
`Servicing
`& Hardware
`Agreements
`Maintenance
`
`Maintenance
`& Storage
`Diagnostics
`Automated
`
`Sys. Drive
`Service as
`
`Boot to
`
`Disk Copy
`
`Virtual
`
`& Recovery
`Disk Copy
`
`Computer
`from Host
`Customer
`Loaded for
`
`Software
`Cleansing
`and Device
`Anti-Viral
`
`Maintenance
`Diagnostics
`
`Archival
`Off site
`~
`
`Services
`Anti-Viral
`~
`
`NetApp Exhibit 1009 Page 5
`
`
`
`U.S. Patent
`
`Jun. 23, 1998
`
`Sheet 3 of 63
`
`5,771,354
`
`Fig. 3
`1--100
`------------------------~---------------
`106
`104
`116
`' I
`Online
`Service
`I
`I
`System
`I
`100
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`1
`
`Main Processors
`
`Printers
`
`114
`
`118
`
`Memory
`..... - - - - - - - - - i
`...__-1 ~----~ .,_ _ ____.
`Other Customer Virtual ~ _ -120
`1
`I Devices (CD, FAX, etc.) 1
`Peripheral
`I __________ I
`Controllers
`
`122
`
`Display ....._---1 Comm. Controllers
`....__ ___ _____,
`
`112
`
`162
`
`160
`
`164
`
`I
`I
`I
`I
`
`102
`
`Customer Replica
`Disk
`Modem
`Modem
`Service Computer
`'------------------- --------------------
`~/50
`r----------------- -----------------~---,
`I
`I
`150
`Customer
`I
`1
`I
`Computer
`:
`I
`50
`I
`I
`I
`I
`1 74
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`DDDDDDDDDDDDDDDDDD
`I
`D D D D D Keyboard D D D D D
`I
`DDDDDDDDDDDDDDDDDD
`Mouse
`I
`I
`'----------------------------------------
`
`72
`
`78
`
`Fax Unit
`
`Printer
`
`76
`
`58
`
`CJ
`
`Monitor
`
`54
`
`80
`
`--====;-- 68
`
`52
`
`Processor
`
`Memory
`
`Diskette
`
`64
`
`60a
`
`70
`
`66
`
`56
`
`NetApp Exhibit 1009 Page 6
`
`
`
`U.S. Patent
`
`Jun. 23, 1998
`
`Sheet 4 of 63
`
`5,771,354
`
`Fig. 4
`
`116
`
`Disks
`
`1
`:
`
`118
`
`114
`
`Online
`Service
`
`Host
`Computer
`System
`
`104
`
`104
`
`1'100
`------------------------~---------------!
`Offsite archival, Software & Information Server
`:
`r _ _ _ _ _ _ _
`1
`1
`Other Customer :
`: Storage Devices 1
`1
`1
`1 (CD ROM, etc.)
`I
`L_\ ____ _J
`'-120b
`r-------
`.__ _____ _, Other Customer :
`: Shared Devices 1
`I
`I
`(Fax, etc.)
`1
`I
`L_\ ____ _j
`112
`'-120a
`
`Communications Controllers
`
`ISDN
`
`PON
`
`LAN
`
`Local Attach
`I
`Replica Server
`
`Microwave
`
`Tel co
`Switching
`Station
`
`128
`
`Fiber
`Optic
`Link
`
`132
`
`Public
`Data Network
`
`150
`
`Tel co
`Microwave
`Switching
`Station 1 - - - - - - - - - - - '
`
`134
`
`126
`
`Satellite
`
`82
`
`Satellite
`Dish
`
`80a
`
`Modem 1---~
`
`Customer X
`
`Customer Y
`
`Customer Z
`
`NetApp Exhibit 1009 Page 7
`
`
`
`U.S. Patent
`
`Jun. 23, 1998
`
`Sheet 5 of 63
`
`5,771,354
`
`Fig. 5
`----------------------------------------,
`104
`I
`I
`
`;---~~~~----....
`
`Host
`Computer
`
`116a
`Virtual Disk
`I I:Drive I
`
`166
`
`164A
`
`1648
`
`164C
`
`Replica
`Server
`Computer
`
`160
`
`1
`I
`
`:
`I
`I
`I
`I
`I
`
`1361
`
`6480
`Virtual
`Disk Drives
`I: Drive
`
`J:Drive
`
`K:Drive
`
`136J
`
`I
`I
`..--.-..__,_: 136K
`
`I
`648E
`I
`___________ J
`
`Local
`Disk Drives
`A: Drive
`
`Customer
`Disk Drives
`D:Drive
`
`B:Drive
`
`C:Drive
`
`E:Drive
`
`F:Drive
`
`150a
`
`150b
`
`~ 50b
`50a...
`\
`{
`~---~--- -------~ ~---------- -------~--~
`
`Customer
`Computer
`
`Customer
`Computer
`
`64AA
`
`136(1)
`
`648A
`
`Local
`Disk Drives
`A: Drive
`
`Replica
`Disk Drives
`D:Drive
`
`164A
`Virtual
`Disk Drives
`!:Drive
`
`B:Drive
`
`E:Drive
`
`J:Drive
`
`Local
`Disk Drives
`A:Drive
`
`Virtual
`Disk Drives
`!:Drive
`
`B:Drive
`
`C:Drive
`
`J:Drive
`
`K:Drive
`
`136(2)
`136(3)
`64A8
`64AC
`----------------
`
`C:Drive
`
`F:Drive
`
`K:Drive
`
`I
`I
`164C
`I
`1648
`______________________ !
`6488
`64BC
`
`136(4)
`
`136(5)
`
`136(6)
`
`I
`I
`
`NetApp Exhibit 1009 Page 8
`
`
`
`U.S. Patent
`
`Jun. 23, 1998
`
`Sheet 6 of 63
`
`5,771,354
`
`Fig. 6A
`
`Host
`Computer
`
`104
`
`1soa
`
`1618
`
`161A
`
`50A
`
`Customer
`Computer
`
`Offline
`Replica
`
`Online
`Replica
`
`160A
`
`1608
`
`Execution
`and I/O
`Routing
`
`1508
`
`508
`
`Customer
`Computer
`
`NetApp Exhibit 1009 Page 9
`
`
`
`U.S. Patent
`
`Jun. 23, 1998
`
`Sheet 7 of 63
`
`5,771,354
`
`Fig. 68
`
`Host
`Computer
`
`104
`
`1soa
`
`50A
`
`Customer
`Computer
`
`Offline
`Replica
`
`1606
`
`Signal
`Customer
`Process
`
`150b
`
`SOB
`
`Customer
`Computer
`
`NetApp Exhibit 1009 Page 10
`
`
`
`U.S. Patent
`
`Jun. 23, 1998
`
`Sheet 8 of 63
`
`5,771,354
`
`Fig. 6C
`
`r- -
`-
`-
`-
`-
`-
`-
`: Online Service
`Requests
`1
`
`l_ ___ r ___ I
`
`-1
`:
`1
`
`r
`
`\
`
`Customer
`Computer
`Processing
`
`Online
`Replica
`Computer
`Processing
`
`Host
`Computer
`Processing
`
`Logging
`
`Host
`Request
`
`Offline
`Request
`
`Signal
`Request
`
`NetApp Exhibit 1009 Page 11
`
`
`
`U.S. Patent
`
`Jun. 23, 1998
`
`Sheet 9 of 63
`
`5,771,354
`
`Fig. 60
`
`r------1
`:
`Offline
`:
`1 Requests
`1
`
`~--r---1
`
`r
`
`\
`
`Offline
`Replica
`Computer
`Processing
`
`Host
`Computer
`Processing
`
`Logging
`
`Host
`Request
`
`Offline
`Request
`
`Signal
`Request
`
`NetApp Exhibit 1009 Page 12
`
`
`
`U.S. Patent
`
`Jun. 23, 1998
`
`Sheet 10 of 63
`
`5,771,354
`
`50
`
`160
`
`Fig. 6E
`
`104
`
`Customer
`Computer System
`
`Online Service
`Replica Server Computer
`
`Online Service
`Host Computer System
`
`Computer Processor
`
`Replica Processor
`
`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
`
`Host Processor
`
`Communications
`
`Logging
`
`Security
`
`Command Control
`
`Execution
`
`Host Disk
`Access Program
`
`Virtual Disk
`Access Program
`
`I
`
`I
`
`4-____ I~~ ~:~:s!s ______ -~ _____ ~~ ~:q_u:s~s- ____ -+Y
`
`Execution
`
`Execution
`
`I
`
`NetApp Exhibit 1009 Page 13
`
`
`
`U.S. Patent
`
`Jun. 23, 1998
`
`Sheet 11 of 63
`
`5,771,354
`
`Fig. 7
`r------------------------------------------
`Customer Online Service Control Process
`302
`304
`)
`)
`
`300
`)
`
`Host/Replica
`Signal
`Control
`
`Access Code
`Identifies
`Message or
`Session Req.
`
`Host/Replica
`Session
`Control
`
`Communications
`Software for
`Online Session
`with Virtual Dev.
`
`Interrupt
`Handler
`Control
`
`Redirected
`Keyboard, Timer
`and Comm. to
`Trigger Session
`
`306
`I
`Customer Server
`Router Control
`
`Customer
`Security
`Control
`
`Validate and
`Log Access
`Requests for
`Disk and RAM
`
`314
`,__,
`
`Automated
`Session
`Control
`
`i:::::::::::::I
`Customer
`
`Online
`Session
`Control
`
`Session
`Trigger
`Control
`
`[JJ
`Computer I ~ Direct Data by Processor
`
`Command Prompt Change
`To & From Redirected
`Drives Determines the
`Execution Processor
`
`Send Available Drive
`Info. to Replica and
`Redirect Replica Drives
`to Customer Processor
`
`Send Drive Data to Replica
`Receive Data from Replica
`
`Route Keystrokes
`& Video During
`Program Execution
`
`I
`I
`I
`Timer, User Req.
`Enter Commands
`Manage Host
`I
`I
`or Comm. "Access
`and Respond to
`Dialogue by
`I
`Code" Signals
`Host Prompts &
`using Stored
`I
`Online Session
`Request Options
`Script Data
`I
`I
`I
`;
`;
`I
`I
`I
`308
`310
`312
`:
`~-----------------------------------------J
`
`NetApp Exhibit 1009 Page 14
`
`
`
`U.S. Patent
`
`Jun. 23, 1998
`
`Sheet 12 of 63
`
`5,771,354
`
`Fig. BA
`
`Host
`Tasks
`
`400
`
`Online
`Service
`Customer
`Sign up
`Process
`
`404
`
`406
`
`Host
`Security
`Router User
`Exit
`Process
`
`Interactive
`Customer
`Session
`Control
`Process
`
`Offline
`Replica
`Request
`Control
`Process
`
`Host
`Request
`Task
`Control
`Process
`
`Signal
`Customer
`Task
`Control
`Process
`
`400A
`
`402A
`
`404A
`
`406A
`
`408A
`
`410A
`
`Use Telco
`Special Chg.
`Phone
`Number
`
`Validate
`Requests for
`Virtual Device
`Attachment
`
`4008
`
`4028
`
`Display Msg.
`with Time
`Left to Exit
`Before Signup
`Charge
`Occurs
`
`400C
`
`Assign User
`ID and
`Download
`Software and
`Control Data
`For Service
`
`Validate
`Requests for
`Virtual Device
`Data and
`Software
`
`402C
`
`Log Access
`Requests for
`Virtual Device
`Data and
`Software
`
`Validate User
`
`Validate
`Replica ID
`
`Read Host
`Request Data
`
`Read Signal
`Customer Data
`
`4048
`
`4068
`
`4088
`
`4108
`
`Execute Anti·
`Viral in Gust.
`Processor
`
`Read Replica
`Request Data
`
`Read
`Customer
`Control Data
`
`Read
`Customer
`Control Data
`
`404C
`
`406C
`
`408C
`
`410C
`
`Get Host or
`Customer
`Request
`
`Read
`Customer
`Control Data
`
`Signal
`Customer
`if Requested
`
`Verify Signal
`is Necessary
`
`4040
`
`4060
`
`4080
`
`4100
`
`Issue Replica
`Request if
`Requested
`
`Send Signal
`Pattern and
`Access Code
`
`Issue Offline
`Request or
`
`Manage Script
`for Keystroke
`
`404E
`
`406E
`
`Begin
`Process
`Request
`
`Begin
`Process
`Request
`
`NetApp Exhibit 1009 Page 15
`
`
`
`U.S. Patent
`
`Jun. 23, 1998
`
`Sheet 13 of 63
`
`5,771,354
`
`Fig. BB
`
`Begin
`Process
`Request
`Control
`Process
`
`404E,406E
`__/
`
`Backup,
`Restore,
`& Archive
`Request
`
`Anti-Viral
`Device
`Scan
`Request
`
`Program
`& Info.
`Rental
`Request
`
`Program
`& Info.
`Purchase
`Request
`
`Release
`Update
`Service
`Request
`
`Other
`Online
`Service
`Request
`
`414
`
`422
`
`430
`
`438
`
`448
`
`458
`
`Log Request
`Begin & End
`for Billing
`
`Log Request
`Begin & End
`for Billing
`
`Log Request
`Begin & End
`for Billing
`
`Log Request
`Begin & End
`for Billing
`
`Log Request
`Begin & End
`for Billing
`
`Log Request
`Begin & End
`for Billing
`
`416
`
`424
`
`432
`
`440
`
`450
`
`460
`
`Allocate
`Source and
`Target
`Disk
`
`Allocate
`Disk with
`Anti-Viral
`Software
`
`Allocate Disk
`with Rental
`Program
`or Info.
`
`Allocate Disk
`with Purchase
`Program
`or Info.
`
`Determine
`Software &
`Data to Rev.
`Update
`
`Allocate
`Devices
`to Manage
`Request
`
`418
`
`426
`
`434
`
`442
`
`452
`
`462
`
`Execute
`Disk Copy
`Software in
`Customer
`or Replica
`Processor
`
`Execute
`Anti-Viral
`Software in
`Customer
`Processor
`
`Execute
`Rental
`Program or
`Access Info.
`with
`Customer
`or Replica
`Processor
`
`Execute
`Software &
`Access Data
`Within Host
`or Replica
`or Customer
`Processor
`
`Allocate
`Destination
`Device for
`Purchase
`Program
`or Info.
`444
`
`Copy
`Purchase to
`Destination
`Device
`
`Allocate
`Virtual
`Disk with
`Release
`Updates
`
`454
`
`Copy/Apply
`Updates to
`Customer
`Computer if
`Necessary
`
`NetApp Exhibit 1009 Page 16
`
`
`
`U.S. Patent
`
`Jun. 23, 1998
`
`Sheet 14 of 63
`
`5,771,354
`
`Fig. 9
`r------------------------------------------
`Customer Replica Control Process
`474
`476
`>
`>
`Host
`Customer
`Session
`Session
`Control
`Control
`
`470
`>
`Customer
`Signal
`Control
`
`480
`(
`
`Communications
`Software for
`Online Session
`with Virtual Dev.
`
`Ready Modem;
`Pass Signon
`Info. to/from
`Gust. and Host
`;
`478
`
`Replica Server
`Router Control
`
`Command Prompt Change
`To & From Redirected
`Drives Determines the
`Execution Processor
`
`r-
`482
`
`Replica
`Computer
`
`160
`.......,,
`
`484 "-
`
`Send Available Drive
`Info. to Customer and
`Redirect Customer Drives
`to Replica Processor
`
`4)4/ ~ Direct Data by Processor
`
`Send Drive Data to Customer
`486'-. Receive Data from Customer
`
`Route Keystrokes
`& Video During
`Program Execution
`;
`488
`
`Online
`Session
`Control
`
`Pass Customer
`Commands to
`Host and Execute
`Host Requests
`;
`496
`
`Offline
`Session
`Control
`
`Read Replica
`Requests and
`Process using
`Script Data
`;
`492
`
`Validate and
`Log Access
`Requests for
`Disk and RAM
`
`502
`....._,,
`
`Send Dialing
`Pattern and
`Access Code
`to Customer
`;
`472
`
`Replica
`Security
`Control
`
`498
`)
`
`Automated
`Session
`Control
`
`Manage Host
`Dialogue by
`using Stored
`Script Data
`;
`500
`
`NetApp Exhibit 1009 Page 17
`
`
`
`U.S. Patent
`
`Jun. 23, 1998
`
`Sheet 15 of 63
`
`5,771,354
`
`Fig. 10
`
`Boot
`Customer Computer
`
`502
`.--/
`
`504
`
`506
`
`Load
`Online Service
`Control Data
`in Memory
`
`Redirect
`Keyboard,
`Timer,
`and Comm.
`Interrupts
`
`Pass Control to
`Operating System
`
`Fig. 11
`
`Redirect
`Interrupt
`
`No
`
`528
`
`530
`
`Yes
`
`Display
`Online Service
`Options and
`Allow Changes
`
`Update
`Online Service
`Control Data
`with Service
`Option Changes
`
`532
`
`Redirect
`Interrupts to
`Manage Selected
`Service Options
`
`NetApp Exhibit 1009 Page 18
`
`
`
`U.S. Patent
`
`Jun. 23, 1998
`
`Sheet 16 of 63
`
`5,771,354
`
`Fig. 12A
`
`Keyboard
`Interrupt Handler
`
`No
`
`Yes
`
`Begin Host
`Session
`
`540
`
`Fig. 128
`
`Timer
`Interrupt Handler
`
`548
`
`Reconfigure
`to Manage
`Automated
`Keystrokes
`
`Yes
`
`No
`
`Begin Host
`Session
`
`540
`
`NetApp Exhibit 1009 Page 19
`
`
`
`U.S. Patent
`
`Jun. 23, 1998
`
`Sheet 17 of 63
`
`5,771,354
`
`Fig. 12C
`
`Comm. Interrupt
`Handler
`
`Yes
`
`Store Number of
`Calls, Number of
`Rings Per Call,
`and Time Interval
`Between Calls
`
`558
`
`No
`
`Log Error
`and Reset
`Pattern
`Stores
`
`Yes
`
`562
`
`Set Modem to
`Auto-Answer
`Mode
`
`564
`
`572
`
`Set
`Time to
`Trigger
`Online
`Session
`
`Yes
`
`No
`
`575
`
`Log
`Error
`and Reset
`Pattern
`Stores
`
`No
`
`Yes
`
`Yes
`
`Perform Response
`Based on Access
`Code Table Entry
`
`576
`
`Hangup
`Modem
`
`577
`
`NetApp Exhibit 1009 Page 20
`
`
`
`U.S. Patent
`
`Jun. 23, 1998
`
`Sheet 18 of 63
`
`5,771,354
`Fig. 13
`
`Load Virtual Device Drivers for Online Service Access
`
`Run Communication Program for Link to Online Service
`
`Begin Customer
`Security Program
`
`515
`
`518
`
`Yes
`
`Begin Customer
`Server Router
`
`Enter Signon User ID and Password
`
`520
`
`Issue Local/Remote Commands and
`Respond to Prompts for Input
`
`521
`
`524
`
`526
`
`Yes
`
`Disconnect
`
`No
`
`NetApp Exhibit 1009 Page 21
`
`
`
`U.S. Patent
`
`Jun. 23, 1998
`
`Sheet 19 of 63
`
`5,771,354
`
`518
`
`Begin Customer
`Server Router
`
`578
`
`Load Device Driver
`Call IN IT Function
`Load Gust Security Pgm
`
`Get Gust Processing
`Control Table
`
`Get Cust Redirected
`Drive Control
`Table
`
`582
`
`584
`
`YES
`
`Fig. 14A
`
`583
`
`Send Request to Update
`>----- Control Data; Send Gust.
`Control Data to Replica
`
`587
`
`No
`
`Yes
`
`589
`
`Receive Control
`Data from Replica
`Computer
`
`591
`
`Update Control Data
`Stored on Customer
`Computer with Data
`Received from Re lica
`
`NetApp Exhibit 1009 Page 22
`
`
`
`U.S. Patent
`
`Jun. 23, 1998
`
`Sheet 20 of 63
`
`5,771,354
`
`Fig. 148
`
`No
`
`Yes
`
`Yes
`
`No
`
`Receive Replica Drive Config
`Info. from Replica Computer
`
`593B
`
`No
`
`593D
`
`Build System Block Entries and Redirected
`Drive Control Table Entries for Replica Local Drives
`& Replica Locally Accessed Host Virtual Drives
`
`Send Virtual Drive
`Assignments
`to Replica Computer
`
`NetApp Exhibit 1009 Page 23
`
`
`
`U.S. Patent
`
`Jun. 23, 1998
`
`Sheet 21 of 63
`
`5,771,354
`
`Fig. 14C
`
`No
`
`No
`
`Clear First Time Condition
`
`651
`
`Send Customer Device Configuration Request to Replica
`Send Customer Drive Configuration Info.to Replica
`
`652
`
`654
`
`Receive Virtual Drive Assignments from Replica Computer
`
`Update Gust.Redirected Drive
`Control Table with Virtual
`Drive Assignments
`
`NetApp Exhibit 1009 Page 24
`
`
`
`U.S. Patent
`
`Jun. 23, 1998
`
`Sheet 22 of 63
`
`5,771,354
`
`Fig. 14D
`
`No
`
`No
`
`Yes
`
`666
`
`Execute 1/0 Request
`for Customer
`Disk Drive
`
`Send 1/0 Request
`and/or Data to
`Replica Computer
`
`670
`
`Send Data and/or
`Response to Replica
`Computer
`
`Receive Response
`and/or Data from
`Replica Computer
`
`679A
`
`679B
`
`Yes
`
`679C
`
`Set Processor
`In Use Flag
`
`NetApp Exhibit 1009 Page 25
`
`
`
`U.S. Patent
`
`Jun. 23, 1998
`
`Sheet 23 of 63
`
`5,771,354
`
`Fig. 14E
`
`Yes
`
`Yes
`
`No
`
`No
`
`Yes
`
`Yes
`
`No
`
`No
`
`No
`
`Yes
`
`686
`
`Use Processing Control Table
`Drive Translation Data to
`Alter Drive Designators
`on the Command Line
`
`Yes
`
`694
`
`Change Processor Flag
`
`Set Processor In Use and Route
`Keystrokes, Mouse, Video, Print,
`and Sound based on Active
`Processing Control Table Entry
`
`696
`
`NetApp Exhibit 1009 Page 26
`
`
`
`U.S. Patent
`
`Jun. 23, 1998
`
`Sheet 24 of 63
`
`5,771,354
`
`Fig. 14F
`
`Yes
`
`No
`
`No
`
`Yes
`
`702
`
`Use Redirected Drive Control
`Table Defaults for Changed
`Drive to Set Processing Control
`Table Entry and Make Active
`
`No
`
`No
`
`Yes
`
`708
`
`Round-Robbin to Next
`Processing Control Table
`Entry and Make Active
`
`710
`
`Set Online Service Control
`Data Processor Flag
`
`NetApp Exhibit 1009 Page 27
`
`
`
`U.S. Patent
`
`Jun. 23, 1998
`
`Sheet 25 of 63
`
`5,771,354
`
`Fig. 14G
`
`No
`
`No
`
`728
`
`Change Processing
`Control Table Entry
`for Keyboard Input
`Routin
`
`Change Processing
`Control Table Entry
`for Video Output
`Routin
`
`Change Processing
`Control Table Entry
`for Printer Output
`Routing
`
`NetApp Exhibit 1009 Page 28
`
`
`
`U.S. Patent
`
`Jun. 23, 1998
`
`Sheet 26 of 63
`
`5,771,354
`
`Fig. 14H
`
`No
`
`No
`
`734
`
`No n
`
`~~
`
`No
`
`Change Processing
`Control Table Entry
`for Sound Routing
`
`Create/Change Processor
`Control Table Drive
`Translation Data and
`Translation Active Fla
`
`NetApp Exhibit 1009 Page 29
`
`
`
`U.S. Patent
`
`Jun. 23, 1998
`
`Sheet 27 of 63
`
`5,771,354
`
`Fig. 15
`
`Begin Customer
`Security Program
`
`590
`
`Yes
`
`No
`
`Yes
`
`No
`
`748
`
`Log Billing Data,
`CPU Time, Storage
`Type and Usage on
`Host Virtual Disk
`
`Log Security Violation
`
`752
`
`754
`
`Set flag for Customer
`Router to Deny Request
`
`Send Violation Message
`to Controlling Session
`
`NetApp Exhibit 1009 Page 30
`
`
`
`U.S. Patent
`
`Jun. 23, 1998
`
`Sheet 28 of 63
`
`5,771,354
`
`600
`
`604
`
`~501
`
`1vu111111c
`
`,
`
`Fig. 16A
`""'\Hardware Configuration Data I Processor Make & Model I Memory I Peripherals
`I
`502 ,
`'\Customer Profile Data Userid Password Customer Name
`Phone Number
`'\Table Occurs I Access Code I Phone Number Access Reason Response Default I Replica/Host Link
`I
`606...,,
`'Session Active Flag Hostl!!eplica Session
`Automated Session Flag
`.__ 608
`7
`60
`61 o ,..Service Control Program Hot Key Session Initiation Hot Key~and Prompt Drive Chg Hot Key 612
`613
`"---- i--
`
`614
`
`616
`
`624
`
`626
`
`,....Redirected Interrupt Table Occurs J 1nterrupt Active
`_.,Automated Session Table Occurs Date I Day Time of Day I interval Time I Service Options
`,....Ringing Pattern Stores Table Occurs I Call I Rings I Wait Time Error Tolerance
`, Backup Option flag
`Incremental Flag Full Backup Backup File List
`
`628
`
`_......Restore Option Flag
`
`Incremental Flag Full Restore Restore File List
`
`630
`
`632
`
`_,....Anti-Viral Option Flag J Device Cleansing List Build Anti-Viral Environment
`...... Media Routing Option Flag I Default Customer & Host Storage Locations by Media Type
`
`63Li...-Media Origination Table Device Location Allocate Device Read Device Flag
`
`636~ [.....Media Destination Table Device Location Allocate Device Write to Device Flag
`"'Inter-Routing Media Option Flag I Media Conversion Table Occurs I From Media J To Media
`
`638
`
`640,
`
`[_..Diagnostic Option Flag J Diagnostic Function List
`
`64 2 vDisk Compression Option Flag Compression Method
`
`64 4
`
`..... Disk Encryption Option Flag
`
`Encryption Method
`
`64 6 vDisk Management Option Flag Management Functions
`
`64 8 L.Release Update Option Flag
`
`Software & Info List
`
`64 9A L-.Processor Flag (Customer, Replica, Host)
`
`64 98 l.-Processing Control Table Default Settings by Processor Flag
`
`64 9C
`
`...Customer Processor Command Prompt Drive Designator
`
`64 9D vReplica Processor Command Prompt Drive Designator
`
`64 9E
`
`i.....Drive Control Table Default Settings by Disk Type
`
`NetApp Exhibit 1009 Page 31
`
`
`
`U.S. Patent
`
`Jun. 23, 1998
`
`Sheet 29 of 63
`
`5,771,354
`
`Fig. 168
`
`/800
`
`Processor Flag (Customer, Replica, Host )
`
`_/
`
`Command Local (Yes, No)
`
`,;
`
`Processor In Use Flag (Yes, No)
`
`"'
`
`Customer Processor Command Prompt Drive Designator
`
`80
`8,_
`"'
`81 L ,,. Replica Processor Command Prompt Drive Designator
`81 2 _,,Drive Designator Translation on Command Line (Yes, No)
`
`80 2 ...
`
`80
`4
`
`80
`
`81
`
`/
`
`Drive Translation Table (Drive Designator, New Drive Designator)
`
`4
`'-
`81 6'- _,,Cancel Programs on Processor Flag Change
`81
`8
`'--
`82
`0
`'-
`82
`2
`,,, Video Routing ( Customer, Replica)
`'--
`82 4'-- ,.,,. Print O