`
`1111111111111111111111111111I112,1111°1111olll Jp,1111111111111111
`
`(19) United States
`(12) Patent Application Publication (10) Pub. No.: US 2002/0019908 Al
`Feb. 14, 2002
`Reuter et al.
`(43) Pub. Date:
`
`(54) SYSTEM AND METHOD FOR MANAGING
`VIRTUAL STORAGE
`
`(76)
`
`Inventors: James M. Reuter, Colorado Springs,
`CO (US); David W. Thiel, Colorado
`Springs, CO (US); Richard F. Wrenn,
`Colorado Springs, CO (US); Andrew
`St. Martin, Woodland Park, CO (US)
`
`Correspondence Address:
`HOGAN & HARTSON LLP
`ONE TABOR CENTER, SUITE 1500
`1200 SEVENTEENTH ST
`DENVER, CO 80202 (US)
`
`(21) Appl. No.:
`
`09/872,583
`
`(22) Filed:
`
`Jun. 1, 2001
`
`Related U.S. Application Data
`
`(63) Non-provisional of provisional application
`60/209,108, filed on Jun. 2, 2000.
`
`No.
`
`Publication Classification
`
`(51) Int. C1.7
`
` GO6F 12/00
`
`(52) U.S. Cl.
`
` 711/112; 711/203; 711/114
`
`(57)
`
`ABSTRACT
`
`Preferred embodiments of the present invention provide a
`system and method for the management of virtual storage.
`The system and method include an object-oriented computer
`hardware/software model
`that can be presented, for
`example, via a management interface (e.g., via graphical
`user interfaces, command line interfaces, application pro-
`gramming interfaces, etc.). In some preferred embodiments,
`the model separates physical storage management from
`virtual disks presented to hosts and management can be
`automated such that the user (e.g., customer, manager and/or
`administrator) specifies goals rather than means-enhancing
`ease of use while maintaining flexible deployment of storage
`resources.
`
`Logical View
`
`Virtual Disk
`
`capacity
`
`Virtual Disk Replica
`
`allocated capacity
`allocated storage
`reserved capacity
`reserved storage
`
`Storage Pool
`Hierarchy
`
`Physical View
`
`Storage Controller
`
`Data Container
`(e.g., LUNs)
`
`capacity
`occupancy
`reserved storage
`
`Adobe - Exhibit 1008, page 1
`
`Adobe - Exhibit 1023, page 1
`
`
`
`Patent Application Publication
`
`O
`O
`
`8Z Jo 1 lamIS
`
`IV 8066100/Z00Z Sfl
`
`z
`
`100
`
`120
`
`130
`
`Controller
`
`C Communication
`
`Channel
`
`150
`
`Virtual
`Disk
`
`110
`
`140
`
`Host
`
`110
`
`160
`
`Storage
`Containers
`
`Storage
`Containers
`
`160
`
`FIG. 1
`
`Virtual
`Disk
`
`140
`
`150
`
`Z efied `8001. l!q!LP(D - eqoPV
`
`Adobe - Exhibit 1023, page 2
`
`
`
`Patent Application Publication
`
`8Z Jo Z lamIS
`
`IV 8066100/Z00Z Sfl
`
`200
`
`Array
`Controller
`
`1
`
`0..n
`
`0..n
`
`Data
`Container
`
`160'
`
`230
`
`220
`
`210
`
`1 .7
`
`----.\
`
`\
`
`\ \Idi
`
`1 i. „....---.......\
`
`Host
`Folder
`0
`
`0..n
`Host
`
`14\0'
`\
`
`Virtual Disk
`Folder
`1
`
`0..1\1 -----1
`
`Pool
`(sub-pool
`
`0..1
`
`0..n
`
`0.. n
`
`150'
`
`Virtual Disk
`
`110'
`
`ti..r1
`0..n
`Host
`Agent
`
`0..n
`
`SCSI
`Presented
`Unit
`
`1..n
`
`/
`240
`
`SCSI
`Derived
`Unit
`7
`250
`
`1..n
`
`0..n
`
`Virtual Disk
`Replica
`
`R
`150R
`
`FIG. 2
`
`c efied Vol, ly:fitixD - eqoPV
`
`Adobe - Exhibit 1023, page 3
`
`
`
`Patent Application Publication
`
`8Z Jo £ lamIS
`
`IV 8066100/Z00Z Sfl
`
`Physical View
`
`Storage Controller
`
`Data Container
`(e.g., LUNs)
`
`capacity
`occupancy
`reserved storage
`
`Storage Pool
`Hierarchy
`
`FIG. 3
`
`Logical View
`
`Virtual Disk
`
`capacity
`
`Virtual Disk Replica
`
`allocated capacity
`allocated storage
`reserved capacity
`reserved storage
`
` efied 'goo I, ly:fitixD - eqoPV
`
`17
`
`Adobe - Exhibit 1023, page 4
`
`
`
`Feb. 14, 2002 Sheet 4 of 28
`
`IV 8066100/ZOOZ Sfl
`
`Virtual Disk X
`I.UN 1, LUN 2, LUN 3
`
`Virtual Disk Y
`LUN 1, LUN 2
`
`Virtual Disk Z
`LUN 3
`
`FIG. 4
`
`Physical Storage
`
`- acioPV
`
`S abed 'goo L i!ci!ipc
`
`Adobe - Exhibit 1023, page 5
`
`
`
`Patent Application Publication Feb. 14, 2002 Sheet 5 of 28
`
`US 2002/0019908 Al
`
`U) a)
`
`—
`
`LC)
`
`d
`
`0
`0
`
`
`
`0C
`
`Cl)
`
`-1-E 1a) ,
`0
`C.)
`-1.E., .......
`a)
`E
`a)
`cm
`co
`c
`co
`2
`
`Adobe - Exhibit 1008, page 6
`
`Adobe - Exhibit 1023, page 6
`
`
`
`Patent Application Publication Feb. 14, 2002 Sheet 6 of 28
`
`US 2002/0019908 Al
`
`(
`
`U—
`
`(9
`
`U—
`
`Adobe - Exhibit 1008, page 7
`
`Adobe - Exhibit 1023, page 7
`
`
`
`Patent Application Publication
`
`O
`
`8Z .0 L 13311S
`
`IV 8066100/Z00Z Sfl
`
`FIG. 8
`
`9
`
`fuweba
`
`myvddir
`
`El.._Tx6M1
`
`
`
`
`
`other
`x
`
`g
`
`g
`
`Y
`
`1 temp
`
`yourvddir
`
`n] •A9 fuwebb
`
`:44/irtualDisk Edit
`New
`Discard
`
`10-
`
`Virtual Disk Family
`Folder
`
`dir\examp
`Type
`3)
`
`VD Folder
`
`4000
`
`VD Family
`
`2000
`
`2500
`
`VD Family
`
`VD Family
`
`8 efied `800I, ly:fitixD - eqoPV
`
`Adobe - Exhibit 1023, page 8
`
`
`
`Patent Application Publication
`
`O
`O
`
`8Z Jo 8 13311S
`
`IV 8066100/ZOOZ Sfl
`
`FIG. 9
`
`New Virtual Disk Wizard - Typical Step 1 of 6
`
`Provide a name for the new Virtual Disk.
`
`Virtual Disk Name:
`
`Wuweba\myvddinexamp\sales_data
`
`I
`
`Browse
`
` i
`
`ype
`
`ler
`
`lily
`
`lily
`
`lily
`
`Previous
`
`I
`
`Next
`
`Cancel
`
`6 abed `900I. in4x3 - eqopv
`
`Adobe - Exhibit 1023, page 9
`
`
`
`Patent Application Publication
`
`8Z Jo 6 lamIS
`
`IV 8066100/Z00Z Sfl
`
`FIG. 10
`
`New Virtual Disk Wizard - Typical Step 2 of 6
`
`Specify the RAID level and write-caching policy for the new Virtual Disk.
`
`Desired Configuration
`Minimum RAID Level
`
`Mirrored (RAID-0+1)
`(J arity (RAID-3/5)
`Otriped (RAID-0)
`
`RAID 0+1 provides both high performance and protection against single
`disk failures, but consumes the most amount of allocated disk storage.
`
`ype
`
`ier
`
`pity
`
`Desired Configuration
`Write Cache Policy:
`
`E
`
`Olone
`arite-through
`Glnmirrored Write-back
`Mirrored Write-back
`
`Mirrored Write-back caching provides a very safe high-performance
`write operation.
`
`Previous
`
`I
`
`Next
`
`Cancel
`
`01. efied `8001. l!q!LP(D - eqoPV
`
`Adobe - Exhibit 1023, page 10
`
`
`
`Patent Application Publication F
`
`r
`
`8Z Jo OI lamIS
`
`IV 8066100/ZOOZ Sfl
`
`FIG. 11
`
`New Virtual Disk Wizard - Typical Step 3 of 6
`
`oQ
`
`Specify the capacity for the new Virtual Disk.
`
`ype
`
`Capacity:
`
`3500
`
`Storage Allocation Policy:
`
`01
`0
`0
`0
`
`Megabytes
`
`Allocate on Demand
`
`Fully Allocated
`Fully Reserved
`
`Previous
`
`I
`
`Next
`
`Cancel
`
`Adobe - Exhibit 1008, page 11
`
`Adobe - Exhibit 1023, page 11
`
`
`
`Patent Application Publication F
`
`r
`
`8Z Jo II lomIS
`
`IV 8066100/Z00Z Sfl
`
`FIG. 12
`
`New Virtual Disk Wizard - Typical Step 4 of 6
`
`oQ
`
`Specify the zone (logical location) for the storage used to realize the
`new Virtual Disk.
`
`Desired Configuration:
`
`Zone Selection
`Auto Man
`- - -
`-
`-
`ON/lain Campus
`
`Q
`
`Zone 1:
`
`Browse 1
`
`Previous
`
`I
`
`Next
`
`Cancel
`
`ype
`
`ier
`
`illy
`
`riiy
`
`I
`
`Adobe - Exhibit 1008, page 12
`
`Adobe - Exhibit 1023, page 12
`
`
`
`Patent Application Publication Feb. 14, 2002 Sheet 12 of 28 US 2002/0019908 Al
`
`LL
`
`New Virtual Disk Wizard - Typical Step 5 of 6
`
`he new virtual d
`
`;1
`
`O
`1:3
`
`CC
`
`O
`
`43 z
`
`LL
`
`fl
`
`Adobe - Exhibit 1008, page 13
`
`Adobe - Exhibit 1023, page 13
`
`
`
`Patent Application Publication
`
`8Z Jo CI lamIS
`
`IV 8066100/Z00Z Sfl
`
`FIG. 14
`
`New Virtual Disk Wizard - Typical Step 6 of 6
`
`IEI Q.
`
`Specify the unit access for the new virtual disk.
`
`Host System:
`
`\\Bealles\John
`
`Access:
`
`Read-Write: 0
`Enabled:
`10
`
`I I
`
`Browse
`Read-Only: s',D
`Disabled:
`0
`
`Unit Protocol:
`
`Type
`
`Name
`
`ID
`
`Access
`
`I
`
`SCSI-3
`
`Disk 29
`
`14-79-32-53 Read-Write
`
`ype
`
`ier
`
`lily
`
`lily
`
`lily
`
`To present the new virtual disk to an arbitrary set of hosts, finish the
`creation of the new virtual disk and then use the Unit Access properties
`page.
`
`Previous
`
`I
`
`Finish
`
`Cancel
`
`17 I, efied `9001, mq!qxj - eqopv
`
`Adobe - Exhibit 1023, page 14
`
`
`
`Patent Application Publication
`
`O
`
`8Z Jo 171 1331IS
`
`IV 8066100/Z00Z Sfl
`
`FIG. 15
`
`fie*
`
`I
`
`cr)
`
`fuweba
`
`El _ 111 myvddir
`
`E1-_,_x6M1
`
`other
`
`l temp
`
`yourvddir
`
`Ea
`
`fuwebb
`
`.01,7414T01, 1.5
`
`Adobe - Exhibit 1008, page 15
`
`Virtual Disk Folder examp
`__AVirtualDisk Edit
`Contents of Virtual Disk Folder \\fuwebalmyvddirlexamp
`Capacity (MB)
`Type
`
`Name
`9-DEC-1996 23:00
`_e6 other
`g
`sales_data
`
`x
`
`y
`z
`
`O
`
`g
`
`VD Folder
`
`VD Family
`
`VD Family
`
`3500
`
`4000
`
`2000
`
`VD Family
`
`2500
`
`VD Family
`
`Adobe - Exhibit 1023, page 15
`
`
`
`Patent Application Publication Feb. 14, 2002 Sheet 15 of 28 US 2002/0019908 Al
`
`,,R•rt^".
`
`ommm
`
`Adobe - Exhibit 1008, page 16
`
`a)
`C.)
`('3 9
`
`-DEC-1996 23:00
`
`8-DEC-1996 23:00
`
`7-DEC-1996 23:00
`
`Adobe - Exhibit 1023, page 16
`
`
`
`FIG. 17
`
`O
`O
`
`8Z Jo 91 WIN
`
`IV 8066100/ZOOZ Sfl
`
`Controller
`
`Mapping Agents
`
`Type
`
`Version
`
`controller_1
`
`controller_3
`
`Al
`
`A2
`
`XXX
`
`XXX
`
`V1.1
`
`V1.1
`
`Virtual Disk Name
`
`Unit Name
`
`Access
`
`\\•••\mYvddinexamP\x\active
`
`Disk 789
`
`read-wri
`
`\\...\myvddir\examp\y\active
`
`Disk 92
`
`read-wri
`
`.11,14,ww...Mr
`
`41, 4!".41,140. r ..1.1,
`
`"
`
`©tat) III cp
`
`beatles
`
`'ohn
`
`controller_1
`
`controller_3
`
`paul
`
`george
`
`ringo
`
`stones
`
`L I. e6ed 'amt. l!cl!qx - eqopv
`
`Adobe - Exhibit 1023, page 17
`
`
`
`Patent Application Publication Feb. 14, 2002 Sheet 17 of 28 US 2002/0019908 Al
`
`Co
`
`LE
`
`MIN
`
`cts
`
`‘77'
`
`Adobe - Exhibit 1008, page 18
`
`Adobe - Exhibit 1023, page 18
`
`
`
`Patent Application Publication
`
`8Z Jo 81 lamIS
`
`IV 8066100/Z00Z Sfl
`
`FIG. 19
`
`___AVirtualDiskFolder Edit
`
`Contents of Virtual Disk Folder \\fuweba\myvddir\examp
`
`Name
`
`Capacity (MB)
`
`Type
`
`other
`
`g
`
`z
`
`VD Folder
`
`4000
`
`VD Family
`
`2000
`
`VD Family
`
`2500
`
`VD Family
`
`* sto I
`
`imD
`
`fuweba
`Ey.„4 myvddir
`
`___Aa other
`
`x
`
`y
`
`g
`
`121.-_,A, temp
`
`yourvddir
`
`fuwebb
`
`61. e6ed 'NM l!q!L(D - eqoPV
`
`Adobe - Exhibit 1023, page 19
`
`
`
`8Z Jo 61 13MIS
`
`IV 8066100/Z00Z Sfl
`
`FIG. 20
`
`fuweba
`
`myvddir
`
`11:1-____c& other
`g
`x
`g
`
`Y
`
`temp
`
`a•__E6 yourvddir
`
`fuwebb
`
`Edit
`
`New
`
`Discard
`
`Rename
`
`Properties
`g x
`g Y
`g z
`
`11'• fuweba\myvddirkexamp
`Capacity (MB)
`Type
`
`VD Folder
`
`4000
`
`VD Family
`
`2000
`
`VD Family
`
`2500
`
`VD Family
`
`OZ e6ed VoL l!q!Lix - eqopv
`
`Adobe - Exhibit 1023, page 20
`
`
`
`FIG. 21
`
`8Z Jo OZ looOS
`
`IV 8066100/ZOOZ Sfl
`
`n**liczd
`
`Virtual Disk Folder examp
`__AVirtualDiskFolder
`:dit
`
`fuweba
`
`„I (
`
`Contents of Virtu:
`
`Cut
`
`D
`
`myvddir
`
`Name
`
`Paste
`
`e6 other
`
`g
`
`Y
`
`Ga.._441 other
`
`x
`
`y
`
`[2]-____A4 temp
`
`yourvddir
`
`III-
`
`fuwebb
`
`ddirkexamp
`
`AB)
`
`Type
`
`VD Folder
`
`4000
`
`VD Family
`
`2000
`
`VD Family
`
`2500
`
`VD Family
`
`.prrt.,141217WPrrIMMINSMI,
`
`V111,0 , 1,M1, .
`
`.11Plf
`
`LZ e6ed VoL l!q!Lix - eqopv
`
`Adobe - Exhibit 1023, page 21
`
`
`
`Patent Application Publication
`
`O
`
`8Z Jo IZ lamIS
`
`IV 8066100/Z00Z Sfl
`
`FIG. 22
`
`Virtual Disk Family x
`VirtualDisk Edit Configure
`Contents of Virtual Disk Family 1lfuweba1myvddir\examp\x
`Created
`Name
`Type
`
`Active
`
`12-NOV-1996 Active
`
`651 9-DEC-1996 23:00
`
`9-DEC-1996
`
`Stable
`
`8-DEC-1996 23:00
`
`8-DEC-1996
`
`Stable
`
`10i 7-DEC-1996 23:00
`
`7-DEC-1996
`
`Stable
`
`n * 1 6
`
`fuweba
`
`myvddir
`
`examp
`
`x
`
`Y
`
`g
`
`111..._141 temp
`
`yourvddir
`
`53.
`
`fuwebb
`
`,:trnwv,ittim'mvatr -Trim trwmf
`
`Adobe - Exhibit 1008, page 22
`
`Adobe - Exhibit 1023, page 22
`
`
`
`Patent Application Publication
`
`O
`O
`
`8Z Jo ZZ lamIS
`
`IV 8066100/Z00Z Sfl
`
`FIG. 23
`
`g y
`g z
`
`temp
`
`yourvddir
`
`[
`
`f uwebb
`
`Virtual Disk Family x
`irtualDisk Edit Configure
`
`Delete
`Undelete
`
`Discard
`Rename
`
`Snapshot
`
`Clone
`Clear Sei ious Condition
`
`Properties
`
`weba1myyddir\examp1x
`Created
`
`Type
`
`NOV-1996 Active
`
`DEC-1996 Stable
`
`DEC-1996 Stable
`
`DEC-1996 Stable
`
`CZ efied `8001. l!q!LP(D - eqoPV
`
`Adobe - Exhibit 1023, page 23
`
`
`
`Patent Application Publication
`
`8Z Jo £Z 13MIS
`
`IV 8066100/Z00Z Sfl
`
`FIG. 24
`
`151 VirtualDisk
`Contents o
`
`Virtual Disk Family x
`dit Configure
`Cut
`
`Ni
`
`Active
`
`Paste
`Make Alias
`
`9-DEC-1996 23:00
`
`9-DEC-1996 Stable
`
`8-DEC-1996 23:00
`
`8-DEC-1996 Stable
`
`101 7-DEC-1996 23:00
`
`7-DEC-1996 Stable
`
`g
`
`Y
`
`temp
`
`yourvddir
`
`fuwebb
`
`Adobe - Exhibit 1008, page 24
`
`Adobe - Exhibit 1023, page 24
`
`
`
`Patent Application Publication
`
`O
`O
`
`8Z Jo 17Z lomIS
`
`IV 8066100/Z00Z Sfl
`
`VirtualDisk Edit
`
`Virtual Disk Family x
`onfigure
`
`Contents of Virtual
`
`Write Protect
`
`Name
`
`Write Enable
`
`Active
`
`Enable Presentations
`
`Disable Presentations
`
`9-DEC-1996 2
`Increase Capacity...
`8-DEC-1996 2 Reduce Capacity...
`Set RAID Guarantees...
`
`7-DEC-1996 2
`
`Set Caching Policy...
`
`Add to Consistency Set...
`
`Remove from Consistency Set...
`
`FIG. 25
`
`b iy) fuweba
`Ei _441 myvddir
`
`examp
`
`x
`
`g
`Y
`g z
`e6 temp
`yourvddir
`
`fuwebb
`
`Adobe - Exhibit 1008, page 25
`
`Adobe - Exhibit 1023, page 25
`
`
`
`Patent Application Publication
`
`8Z Jo SZ lomIS
`
`IV 8066100/ZOOZ Sfl
`
`FIG. 26
`
`Virtual Disk Properties -- [Sales_datatActive]
`
`I Replication I
`Caching
`Unit Access I Unit Protocol I Performance
`
`Snapshot
`
`RAID
`
`General
`Configuration
`Capacity:
`
`3500 M erg abYtes
`
`01 locate on Demand
`Oully Allocated
`Oully Reserved
`
`*Read-Write
`(yead-Only
`
`C)resentations Enabled
`Oresentations Disabled
`0Aarked for Delete
`
`671 Megabytes
`1342 Megabytes
`Normal
`
`27-Jun-1997 10:37:49
`25-Aug-1997 8:03:45
`29-Sep-1997 20:13:12
`N/A
`
`OK
`
`I
`
`Cancel
`
`Storage Allocation Policy:
`
`Access:
`
`State:
`
`Information
`Allocated Capacity:
`Disk Storage Allocated:
`Condition
`
`Creation Date:
`Modification Date:
`Last Access Date:
`Marked For Delete Date:
`
`Adobe - Exhibit 1008, page 26
`
`Adobe - Exhibit 1023, page 26
`
`
`
`Patent Application Publication
`
`O
`O
`
`8Z Jo 9Z lamIS
`
`IV 8066100/Z00Z Sfl
`
`FIG. 27
`
`Virtual Disk Properties -- [Sales_datalActive]
`
`EM
`
`General
`
`RAID
`
`Caching
`Unit Access I Unit Protocol I Performance
`
`Replication
`
`Snapshot
`
`Add New Access to Unit:
`
`Host System:
`
`Access:
`
`Browse
`
` if
`
`Read-Write: 0
`Enabled:
`
`0
`
`Read-Only: 0
`
`Disabled:
`
`0
`
`Unit Protocol:
`
`Type
`
`Name
`
`ID
`
`Access
`
`I
`
`Disk 29
`SCSI-3
`iBlockMux DASD 15
`
`14-79-32-53 Read-Write
`14-58-AB-4 Read-Only
`
`Add
`
`Existing Access:
`
`Host System
`
`Access
`
`Unit Name
`
`Unit Type Unit ID
`
`1113eatles\John Read-Write Disk 29
`Meatles\Paul Read-Write Disk 29
`\\Beatles\Georg Read-Write Disk 29
`\\Beatles\Ringo Read-Write Disk 29
`\\Stones\Mick Read-Only DASD 15
`
`SCSI-3
`SCSI-3
`SCSI-3
`SCSI-3
`BlockMux
`
`14-79-32
`14-79-32
`14-79-32
`14-79-32
`14-58-AB
`
`Modify
`
`
`
`I
`
`Delete
`
`I
`
`OK
`
`I
`
`Cancel
`
`Adobe - Exhibit 1008, page 27
`
`Adobe - Exhibit 1023, page 27
`
`
`
`Patent Application Publication
`
`O
`O
`
`8Z Jo LZ 133qS
`
`IV 8066100/Z00Z Sfl
`
`FIG. 28
`
`Virtual Disk Properties
`
`[Sales_datalActiye]
`
`oQ
`
`General
`
`RAID
`
`I Caching
`I Unit Access
`
`1 Replication I
`Unit Protocol I Performance I Snapshot
`
`Create New Unit Protocol:
`
`Access:
`
`Read-Write:
`
`0
`
`Read-Only: 0
`
`Unit Type:
`
`1 SCSI-3
`
`Unit Name:
`
`New
`
`Existing Unit Protocols:
`
`Type
`
`Name
`
`ID
`
`Access
`
`Ref. Cnt. I
`
`Disk 29
`SCSI-3
`BlockMux DASD 15
`
`14-79-32-53-7B- Read-Write
`14-58-AB-49-C7 Read-Only
`
`4
`1
`
`Modify
`
`I
`
`Delete
`
`1
`
`OK
`
`Cancel
`
`Adobe - Exhibit 1008, page 28
`
`Adobe - Exhibit 1023, page 28
`
`
`
`Patent Application Publication
`
`O
`O
`
`8Z Jo 8Z 133qS
`
`IV 8066100/Z00Z Sfl
`
`FIG. 29
`
`Virtual Disk Properties -- [Sales_datalActive]
`
`1E1
`
`General
`RAID
`
`Caching
`Unit Access
`
`Unit Protocol
`Location
`
`I Performance
`
`Snapshot
`
`Current Configuration
`Zone 1:
`
`Main Campus
`
`Desired Configuration;
`
`Zone Selection
`Auto Man
`CMain Campus
`Q
`
`Zone 1:
`
`OK
`
`Cancel
`
`Adobe - Exhibit 1008, page 29
`
`Adobe - Exhibit 1023, page 29
`
`
`
`US 2002/0019908 Al
`
`Feb. 14, 2002
`
`1
`
`SYSTEM AND METHOD FOR MANAGING
`VIRTUAL STORAGE
`
`ments, such as Word documents, PDF files, web pages, etc.,
`or physical documents), or via other means.
`
`RELATED APPLICATIONS
`
`[0001] This application claims priority to U.S. Provisional
`Application No. 60/209,108, filed on Jun. 2, 2000, entitled
`Structure For Managing The Virtualization Of Block Stor-
`age, the disclosure of which is hereby incorporated by
`reference in its entirety. Additionally, the entire disclosures
`of the present assignee's following utility patent applications
`filed on the same date as the present application are both
`incorporated herein by reference in their entireties: Ser. No.:
`XX/XXX,XXX, Attorney Docket No. P01-3737 to James
`Reuter, et al., entitled Structure And Process For Distribut-
`ing SCSI LUN Semantics Across Parallel Distributed Com-
`ponent; and Ser. No.: XX/XXX,XXX, Attorney Docket No.
`P01-3665 to James Reuter, et al., entitled Data Migration
`Using Parallel, Distributed Table Driven I/O Mapping.
`
`FIELD OF THE INVENTION
`
`[0002] The present invention relates to systems and meth-
`ods for managing virtual disk storage provided to host
`computer systems.
`
`BACKGROUND OF THE INVENTION
`
`[0003] Virtual disk storage is relatively new. Typically,
`virtual disks are created, presented to host computer systems
`and their capacity is obtained from physical storage
`resources in, for example, a storage area network.
`
`In storage area network management, for example,
`[0004]
`there are a number of challenges facing the industry. For
`example, in complex multi-vendor, multi-platform environ-
`ments, storage network management is limited by the meth-
`ods and capabilities of individual device managers. Without
`common application languages, customers are greatly lim-
`ited in their ability to manage a variety of products from a
`common interface. For instance, a single enterprise may
`have NT, SOLARIS, AIX, HP-UX and/or other operating
`systems spread across a network. To that end, the Storage
`Networking Industry Association (SNIA) has created work
`groups to address storage management integration. There
`remains a significant need for improved management sys-
`tems that can, among other things, facilitate storage area
`network management.
`
`[0005] While various systems and methods for managing
`array controllers and other isolated storage subsystems are
`known, there remains a need for effective systems and
`methods for representing and managing virtual disks in
`various systems, such as for example, in storage area net-
`works.
`
`SUMMARY OF THE INVENTION
`
`In response to these and other needs, the preferred
`[0006]
`embodiments of the present invention provide a system and
`method for the management of virtual storage. The system
`and method include an object-oriented computer hardware/
`software model that can be presented via a management
`interface (e.g., via graphical user interfaces, GUIs, com-
`mand line interfaces, CLIs, application programming inter-
`faces, APIs, etc.), via documents (e.g., customer documents,
`training documents or the like, including electronic docu-
`
`In preferred embodiments, the model advanta-
`[0007]
`geously provides the separation of physical storage man-
`agement from virtual disks presented to the hosts. This is
`preferably done using virtual disks in conjunction with a
`storage pool hierarchy. The virtual disk can be a logical
`"disk" that is visible to one or more host system(s). It is
`independent of physical storage and is preferably managed
`by setting attributes. On the other hand, the storage pool
`hierarchy provides a boundary between the virtual and
`physical parts of the model via "encapsulation" of physical
`storage such that physical components may change without
`affecting the virtual parts of the model.
`
`[0008] Preferably, management can be automated such
`that the user (e.g., customer, manager and/or administrator)
`specifies goals rather than means—enhancing ease of use
`while maintaining flexible deployment of storage resources.
`The preferred embodiments of the invention may advanta-
`geously reduce the cost and/or complexity of managing
`storage—by simplifying the management of change. In
`preferred embodiments, one or more of the following and
`other advantages can be realized with the present invention.
`
`[0009] Erased Boundaries
`
`[0010] Typically, storage controller or subsystem bound-
`aries can cause inefficient use of capacity, capacity to be in
`the wrong place, manual rebalancing to be required and/or
`problems with host access to capacity. The preferred
`embodiments of the present invention can enable, for
`example, a host-independent, controller-independent, stor-
`age area network (SAN)-wide pool of storage for virtual
`disks, effectively erasing these boundaries and the problems
`caused by these boundaries. Among other things, this can
`also simplify the acquisition and deployment of new storage
`because new storage can simply be more capacity in the
`pool.
`
`[0011] Centralized Management
`
`[0012] Typically, each storage subsystem in a SAN is
`managed separately, causing boundaries in the management
`model with resulting complexities and inefficiencies of
`management. The preferred embodiments of the present
`invention enable, among other things, a single, central
`management view of an entire SAN.
`
`[0013] Uniform Capabilities
`
`[0014] Typically, when a SAN has multiple storage sub-
`systems, the subsystems may have different capabilities,
`adding complexity and confusion to the management of the
`storage and the hosts using the storage. The preferred
`embodiments of the present invention can provide, e.g., a
`virtual disk that has uniform management capabilities and
`that is independent of the capabilities offered by the sub-
`systems providing the capacity. Among other things, this can
`reduce management complexity. With the preferred embodi-
`ments of the present invention, virtual disks can be managed
`with attributes that are independent of the physical storage,
`separating the virtual parts of the model from the physical
`parts of the model.
`
`[0015] The preferred embodiments of the present inven-
`tion can enable features such as: a) substantially no disrup-
`tion of service to host systems and applications during
`
`Adobe - Exhibit 1008, page 30
`
`Adobe - Exhibit 1023, page 30
`
`
`
`US 2002/0019908 Al
`
`Feb. 14, 2002
`
`2
`
`management operations; b) easy to add/remove storage
`subsystems; c) more efficient use of space; d) less wasted
`space overhead; e) volume expansion; f snapshot copies; g)
`selective presentation of virtual disks only to desired hosts;
`h) attribute-based management of virtual disks; i) host
`systems de-coupled from storage management; and/or j)
`future extensions easily added without disruption to hosts or
`to storage subsystems.
`
`[0016] The above and other embodiments, features and
`advantages will be further appreciated upon review of the
`following description of the preferred embodiments in con-
`junction with the accompanying drawings.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`[0017] Preferred embodiments of the invention are shown
`by way of example and not limitation in the accompanying
`drawings in which like reference numbers represent like
`parts throughout and in which:
`
`[0018] FIG. 1 is a schematic illustration of a distributed
`virtual storage network;
`
`[0019] FIG. 2 is a schematic illustration of a preferred
`object-oriented model of the present invention;
`
`[0020] FIG. 3 is a schematic illustration of a storage pool
`hierarchy bridging the virtual and physical realms in pre-
`ferred embodiments of the present invention;
`
`[0021] FIG. 4 is a schematic illustration of an illustrative
`storage pool hierarchy;
`
`[0022] FIG. 5 is a schematic illustration of a management
`agent and corresponding management consoles that can be
`used in some preferred embodiments of the invention;
`
`[0023] FIGS. 6 and 7 schematically illustrate manage-
`ment operations that can be employed in some preferred
`embodiments of the present invention;
`
`[0024] FIGS. 8 to 15 illustrate graphical user interfaces
`that can be provided to facilitate management of virtual
`storage in relation to the creation of a virtual disk in some
`illustrative embodiments of the invention;
`
`[0025] FIGS. 16 to 18 illustrate some exemplary naviga-
`tional views that can be presented to a user to facilitate
`management of the storage system in some illustrative
`embodiments of the invention; and
`
`[0026] FIGS. 19 to 29 illustrate some exemplary disk
`management and properties views that can be presented to a
`user to facilitate management and selection of disk proper-
`ties in some illustrative embodiments of the invention.
`
`DETAILED DESCRIPTION OF THE
`PREFERRED EMBODIMENTS
`
`[0027]
`works)
`
`I. Preferred Environments (e.g., Storage Area Net-
`
`[0028] The present invention can be applied in a wide
`range of systems, e.g., in storage area network (SAN)
`systems and in other environments. In some embodiments,
`the present invention can be applied in, e.g., heterogeneous
`SAN environments (e.g., at the storage level). In some other
`embodiments, the present invention can be applied in, e.g.,
`open SAN environments (e.g., at the fabric level). In some
`other embodiments, the present invention can be applied in,
`
`e.g., non-SAN environments (e.g., at the server level). The
`present invention can also be applied in various systems
`shown in the above-identified patent applications incorpo-
`rated herein-by-reference and in other systems as would be
`apparent to those in the art based on this disclosure.
`
`In some non-limiting preferred embodiments, the
`[0029]
`present invention can be applied in a virtualized storage area
`network (SAN) system 100 using one or more distributed
`mapping tables, as needed to form one or more virtual disks
`for input/output (I/O) operations between hosts and storage
`containers 160, as illustrated in FIG. 1. In particular, the
`table contains a mapping that relates a position in a virtual
`disk 150 with an actual location on the storage containers
`160.
`
`[0030] The system 100 principles of distributed, virtual
`table mapping can be applied to any known SAN. It should
`therefore be appreciated that the storage devices are known
`technologies and may refer to any type of present or future
`known programmable digital storage medium, including but
`not limited to disk and tape drives, writeable optical drives,
`etc. Similarly, the hosts 140 may be any devices, such as a
`computer, printer, etc., that connect to a network to access
`data from a storage device.
`
`[0031] Likewise, the storage network is also intended to
`include any communication technology, either currently
`known or developed in the future, such as the various
`implementations of Small Computer Systems Interface
`(SCSI) or Fibre Channel. This distributed virtualization is
`most useful in environments where a large amount of storage
`is available and connected using some sort of "storage
`network" infrastructure. One preferred implementation uses
`Switched Fibre-Channel connected storage. However, noth-
`ing in the design of the system 100 precludes its use on other
`types of storage networks, including storage networks that
`are not yet invented.
`
`[0032] The hosts access the table through multiple map-
`ping agents 110. The system 100 uses multiple agents 110
`that are associated with the hosts 140. Preferably, each host
`has a separate agent 110, but the system 100 could be easily
`configured so that more than one host 140 connects to an
`agent 110. If multiple hosts 140 connect to the same agent
`110, the hosts 140 may share that agent's mapping table
`(alternately, there may be independent tables per host). The
`agent 110 stores the mapping table in volatile memory such
`as DRAM. As a result, if one of the agents 110 loses power,
`that agent 110 loses its copy of the table. Such an event could
`take place if the mapping agent 110 is embedded in the host
`140, for example, a backplane card serving as the mapping
`agent 110, and the host 140 system loses power.
`
`[0033] By storing the mapping table in volatile memory,
`the table can be easily and rapidly accessed and modified on
`the agents 110. Storing the mapping table in volatile memory
`has the further advantage of substantially reducing the cost
`and complexity of implementing the agents 110 as mapping
`agents. Overall, the agents 110 allow the performance-
`sensitive mapping process to be parallelized and distributed
`optimally for performance. The mapping agents 110 reside
`on a host 140 and are in communication with a virtual disk
`drive 150.
`
`[0034] The system 100 further comprises a controller 120
`that is separate from the mapping agents 110. The controller
`
`Adobe - Exhibit 1008, page 31
`
`Adobe - Exhibit 1023, page 31
`
`
`
`US 2002/0019908 Al
`
`Feb. 14, 2002
`
`3
`
`120 administers and distributes the mapping table to the
`agents 110. Control of the mapping table is centralized in the
`controller 120 for optimal cost, management, and other
`implementation practicalities. The controller 120 further
`stores the mapping table in a semi-permanent memory, such
`as a magnetic disk or an EPROM, so that the controller 120
`retains the table even after a power loss. In this way, the
`responsibility for persistent storage of mapping tables lies in
`the controller 120 so that costs and complexity may be
`consolidated. Any controller 120 known in the art of digital
`information storage may be employed as needed to imple-
`ment the present invention. Within this framework, each of
`the mapping agents 110 preferably interacts only with the
`controller 120 and not with the other agents 110. Further-
`more, the architecture allows for a controller 120 comprised
`of redundant, cooperating physical elements that are able to
`achieve very high availability. As a result, the system 100 is
`highly scaleable and tolerant of component failures.
`
`[0035] The interactions of the controller 120 and the
`agents 110 are defined in terms of functions and return
`values. In a distributed system, this communication is imple-
`mented with messages on some sort of network transport
`such as a communication channel 130. The communication
`channel 130 may employ any type of known data transfer
`protocol, such as TCP/IP. In one implementation, the com-
`munication channel 130 is the storage network itself. The
`communication channel 130 has access to non-virtual stor-
`age containers 160. Any suitable technique may be used to
`translate commands, faults, and responses to network mes-
`sages.
`
`[0036]
`
`II. Preferred Management Model
`
`illustrates an object-oriented model
`[0037] FIG. 2
`employed in some preferred embodiments of the invention.
`The objects in the illustrated model are described in detail
`below. The objects include operations that either humans or
`automated policy can invoke—e.g., based on the model, a
`user (e.g., a system administrator) can assign storage
`resources via a system management interface.
`
`[0038] As shown, the host folder, the virtual disk folder,
`and the storage pool objects can reference themselves. That
`is, multiple instances of these objects can be referenced
`under the same object type. This captures the notion of a
`tree-structured hierarchy. For example, the folder object
`representing the root of the tree always exists and sub-
`folders can be created as needed. This is generally analogous
`to a WINDOWS folder hierarchy, which is also a tree
`structure. A WINDOWS EXPLORER folder browser inter-
`face, for example, would be an illustrative graphical user
`interface representation of this kind of structure. Similarly,
`command line interfaces may support this concept with a
`notion such as "current directory."
`
`[0039] Host
`
`[0040] The host object 140' represents a host system (e.g.,
`a computer, etc.) that consumes a virtual disk and supports
`one or more applications.
`
`[0041] Host Agent
`
`[0042] The host agent object 110' is a component that
`provides virtualizing capability to the hosts (e.g., a "map-
`ping agent" ). A host has zero or more host agents through
`which virtual disks can be presented to that host. If a host has
`
`zero associated agents, presentation is not possible. The
`model preferably allows this because there may be tempo-
`rary situations where a i; host does not have an agent (e.g.,
`one has not been added or repaired). A host agent may serve
`multiple hosts or, alternatively, a host agent may attach to
`only a single host.
`
`[0043] The presented unit, described below, references all
`host agents through which a host may be reached for a given
`virtual disk. A host agent may be used by zero or more
`presented units to present zero or more virtual disks to a
`host.
`
`[0044] Virtual Disk
`
`[0045] The virtual disk object 150' represents a block-
`store disk as seen by a host system. It is independent of
`physical storage and is a logical object that contains the data
`that the system stores on behalf of host systems.
`
`[0046] Virtual disk service operations are preferably simi-
`lar to those of a locally attached physical disk. A virtual disk
`can include, for example, a compact (non-sparse) linear
`array of fixed-size data blocks indexed by nonnegative
`integers, which may be read or written. A read operation
`transfers the data from a set of consecutively indexed data
`blocks to the host system. A write operation transfers data
`from the host system to a set of consecutively indexed data
`blocks.
`
`[0047] While a virtual disk can be seen by host systems