throbber
I 1111111111111111 11111 lllll lllll 111111111111111 1111111111111111 IIII IIII IIII
`US007269612B2
`
`c12) United States Patent
`Devarakonda et al.
`
`(IO) Patent No.:
`(45) Date of Patent:
`
`US 7,269,612 B2
`Sep.11,2007
`
`(54) METHOD, SYSTEM, AND PROGRAM FOR A
`POLICY BASED STORAGE MANAGER
`
`(75)
`
`Inventors: Murthy V. Devarakonda, Yorktown
`Heights, NY (US); Jack P. Gelb, San
`Jose, CA (US); Avijit Saha, Somers,
`NY (US); Jimmy Paul Strickland,
`Saratoga, CA (US)
`
`(73) Assignee: International Business Machines
`Corporation, Armonk, NY (US)
`
`( *) Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 434 days.
`
`(21) Appl. No.: 10/159,494
`
`(22) Filed:
`
`May 31, 2002
`
`(65)
`
`Prior Publication Data
`
`US 2003/0225801 Al
`
`Dec. 4, 2003
`
`(51)
`
`Int. Cl.
`G06F 17130
`(2006.01)
`(52) U.S. Cl. ....................................... 707/205; 707/200
`(58) Field of Classification Search ................ 707/205,
`7071200, 204
`See application file for complete search history.
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`5,018,060 A
`5,136,523 A
`5,239,647 A
`5,287,500 A
`5,317,728 A *
`5,367,671 A
`5,606,689 A
`5,630,127 A
`5,872,928 A
`5,978,815 A
`6,032,161 A
`6,154,817 A
`
`5/1991 Gelb et al.
`8/1992 Landers
`8/1993 Anglin et al.
`2/1994 Stoppani, Jr.
`5/1994 Tevis et al. ................. 707 /204
`11/1994 Feigenbaum et al.
`2/1997 Nakagawa
`5/1997 Moore et al.
`2/1999 Lewis et al.
`11/1999 Cabrera et al.
`2/2000 Fuller
`11/2000 Mohan et al.
`
`7/2001 Cabrera et al.
`6,269,382 Bl
`8/2001 Arlitt et al.
`6,272,598 Bl
`10/2001 Lopresti
`6,298,173 Bl
`6,330,621 Bl * 12/2001 Bakke et al. .................. 710/5
`10/2001 Oshinsky et al.
`2001/0034812 Al
`
`(Continued)
`
`FOREIGN PATENT DOCUMENTS
`
`EP
`
`0950965 A
`
`10/1999
`
`OTHER PUBLICATIONS
`
`J.P.Gelb, System-managed Storage, 1989, IBM Systems Journal
`vol. 28, No. 1, pp. 77-103.*
`
`(Continued)
`
`Primary Examiner-Paul Rodriguez
`Assistant Examiner-Luke Osborne
`(74) Attorney, Agent, or Firm-David W. Victor; Konrad
`Raynes & Victor LLP
`
`(57)
`
`ABSTRACT
`
`Provided are data structures for use in storing data. A
`plurality of data structures are defined in a computer read(cid:173)
`able medium, wherein each data structure indicates a plu(cid:173)
`rality of attributes and at least one function of a storage
`resource to store data. Policies are defined in the computer
`readable medium that associate data characteristics to data
`structures based on a correspondence of data characteristics
`and the attributes defined in the data structures, wherein each
`defined data structure is adapted to provide requirements to
`determine a storage resource to store associated data, and
`wherein the defined data structure is adapted to provide the
`storage resource with requirements for storing the data.
`
`47 Claims, 9 Drawing Sheets
`
`Appllcatlonlevel_,.--250
`
`264
`
`25 n
`
`Containers
`
`plication
`ttributes
`
`Functions
`
`-------------
`
`,,,,,.~,
`IJ
`I
`~~,1
`;:;i;;: ~
`A~~= l
`
`2
`
`Containers
`
`Microsoft Ex. 1008, p. 1
`Microsoft v. Daedalus Blue
`IPR2021-00831
`
`

`

`US 7,269,612 B2
`Page 2
`
`U.S. PATENT DOCUMENTS
`
`2002/0188592 Al
`
`12/2002 Leonhardt et al.
`
`OTHER PUBLICATIONS
`
`U.S. Appl. No. 09/544,625, filed Apr. 6, 2000, entitled "An Efficient
`Method for Rule-based Distribution and Management of Content in
`a Distributed Hierarchy of Storage Devices" by R. Chernock, P.
`Dettori, F.A. Schaffa, and D. Seidman.
`Chang, A., R.K. Rader, B.L. Ritter and M.D. Rogers. "Dynamic,
`Multi-Level Storage Policy for Managing External Page Table
`Space in the AIX Operating System", IBM Corp., Technical Dis(cid:173)
`closure Bulletin, vol. 32, No. 5A, Oct. 1989, pp. 270-273.
`Lortz, V. and L. Rafalow (eds.). "IPsec Policy Model", Version 0.82,
`Copyright Distributed Management Task Force, Inc. (DMTF) Nov.
`29, 2000, pp. 1-16.
`
`Ellesson, E. (ed.). "CIM Core Policy Model", Copyright Distributed
`Management Task Force, Inc. (DMTF) May 12, 2000, pp. 1-21.
`Chudnow, C. "Policy-Based Storage Management", [online], Copy(cid:173)
`right Westworld Productions, Inc. 2002, [retrieved on May 31,
`2002]. Retrieved from the Internet at <URL: http://www.wwpi.com/
`archive/ctr_l2_01/6910.cfm>.
`Leins, R. "Tivoli Storage Manager, A Technical Introduction",
`Copyright IBM Corp. 2000, May 2001. pp. 1-30.
`PCT Search Report dated Dec. 6, 2004 for Application No. PCT/GB
`03/02062, filed Dec. 5, 2003.
`PCT Preliminary Examination Report dated Oct. 28, 2005 for
`Application No. PCT/GB 03/02062, filed Dec. 5, 2003.
`
`* cited by examiner
`
`Microsoft Ex. 1008, p. 2
`Microsoft v. Daedalus Blue
`IPR2021-00831
`
`

`

`U.S. Patent
`
`Sep.11,2007
`
`Sheet 1 of 9
`
`US 7,269,612 B2
`
`FIG. 1
`
`14
`
`16
`
`~lication
`! - - - - - - - - - - - - - - - ~ Policies
`10c
`
`~
`
`Application Attributes ------ Appl. Level
`
`(Dynamic, Intrinsic)
`
`Mgmt Functions
`
`Business
`Enterprise
`Policies
`
`1 b
`
`Data
`Policies
`
`12b
`
`Data Attributes
`(Dynamic, Intrinsic)
`
`Data Level
`Mgmt Functions
`
`20
`
`Storage
`Policies
`
`Storage Attributes
`(Dynamic, Intrinsic)
`
`------
`
`Storage Level
`Mgmt Functions
`
`Microsoft Ex. 1008, p. 3
`Microsoft v. Daedalus Blue
`IPR2021-00831
`
`

`

`U.S. Patent
`
`Sep.11,2007
`
`Sheet 2 of 9
`
`US 7,269,612 B2
`
`FIG. 2
`
`Business Processes
`
`Applications
`
`_;_
`
`;
`
`Middleware
`,.
`
`Container/
`Connector
`Framework
`
`56
`
`commands,
`monitoring,
`control
`
`~ .....
`
`0
`
`_J
`
`2
`l.,_.,-)5
`
`v
`
`Storage
`Policy
`Manager
`
`Storage
`Resource
`Manager
`
`----,
`
`-
`,,.
`
`-,
`
`File System
`
`Volume Mgr.
`
`,
`
`~
`
`,
`'
`
`Container/
`Connector
`Framework
`
`~ ....
`
`~
`
`I;
`
`Storage
`System
`
`,~
`
`~
`
`Container/
`~ Connector
`Framework
`
`~ ....
`
`Microsoft Ex. 1008, p. 4
`Microsoft v. Daedalus Blue
`IPR2021-00831
`
`

`

`--..J
`0
`0
`N
`
`.... ~
`'? ....
`
`('D
`rJJ
`
`J4b
`
`I
`
`I
`
`r
`~
`
`.._
`
`-
`
`~
`
`~
`
`~ = ~
`
`~
`~
`~
`•
`00
`
`e •
`
`,.
`
`~
`
`('D
`('D
`
`0 ....
`.....
`rJJ =(cid:173)
`
`1,0
`
`Manager
`Resource
`Storage
`
`.
`
`-,
`
`Manager
`
`~ Policy
`~ Storage
`
`-
`
`' -..
`
`l
`
`I
`
`J ~
`
`T -logical mgmt funclns
`,_ loglcal attributes
`
`1 Data Container
`
`•t
`
`~ -logical mgmt functns
`
`-. -lcglcal attributes
`-Appl. Container
`
`r
`
`-
`
`'
`
`Connector
`Applfcation
`
`-
`
`,~
`
`-
`
`-physical rngmt functns
`-physical attributes
`
`...
`-Appl Elements
`
`F
`
`I
`
`FIG. 3
`
`"'""' N = N
`
`O'I
`\0
`0--,
`'N
`-....l
`
`d r.,;_
`
`I
`
`--
`
`~ -
`
`~
`
`: ..
`
`,
`I
`
`I
`
`'
`
`)4c
`
`..
`
`r -logical mg mt functns
`
`-_ -!agical attributes
`-Storage Container
`
`I
`
`r
`
`j'
`
`-
`
`Connector
`Storage
`
`1.32c
`
`I
`
`I
`
`-
`
`'
`,
`
`Connector
`
`Data
`
`02b
`
`I
`
`I
`
`'
`
`I
`
`~
`
`-
`-
`
`~
`
`• physical mgmt functns "'
`-physical attributes
`
`-Data Elements
`
`-
`
`I
`
`-
`-
`
`1?0c
`
`I
`
`I
`
`,
`
`•
`
`~
`
`JOb
`
`--physical altrib utes
`
`-Data Elements
`,,
`
`-physical mgmtfunctns ..
`
`I
`
`f
`
`J
`
`Microsoft Ex. 1008, p. 5
`Microsoft v. Daedalus Blue
`IPR2021-00831
`
`

`

`U.S. Patent
`
`Sep.11,2007
`
`Sheet 4 of 9
`
`US 7,269,612 B2
`
`FIG. 4
`
`204a
`
`Storage
`Resource
`
`204b
`
`Storage
`Resource
`
`04c
`
`Storage
`Resource
`
`202a
`
`02n
`
`Application
`Server
`
`r-----...J
`
`Network
`
`Application .
`1 - - - - - - - - '
`Server
`•
`
`I
`
`2~
`, ' - - - -~ - - - -
`Storage Server
`
`Policy Based
`Storage Manager,
`
`Storage Server
`
`Policy Based
`Storage Manager
`
`08n
`
`210n
`
`Storage
`Resource
`
`Microsoft Ex. 1008, p. 6
`Microsoft v. Daedalus Blue
`IPR2021-00831
`
`

`

`U.S. Patent
`
`Sep.11,2007
`
`Sheet 5 of 9
`
`US 7,269,612 B2
`
`FIG. 5 264
`Application Level,,--250
`/
`52
`~ - - - - -~ -
`Application
`Policy Mngr.
`
`Application
`Attributes
`
`256
`
`Application
`Policies
`
`25 n
`, - - - - - - - - - - ,
`
`258b
`
`Application Containers
`5oa Application
`Attributes
`
`Management
`Functions
`
`Management
`Functions
`
`Data Levev270
`72
`
`Data
`Attributes
`
`274
`
`Management
`Functions
`
`284
`
`278b278
`
`1·
`Data Po icy
`Mngr.
`
`Data Policies
`
`Data
`Attributes
`
`Management
`Functions
`
`Storage Level-;io~--~~-0-4~
`Storage
`Storage Policy
`296
`Attributes
`Mngr.
`
`Management
`Functions
`
`Storage
`Policies
`
`298~
`298b
`
`Storage Containers
`
`Storage
`Attributes
`
`Management
`Functions
`
`204b
`
`204n
`
`Storage
`Resources
`
`Storage
`Resources
`
`Storage Vendor
`Attributes
`
`Storage Vendor
`Attributes
`
`Storage Vendor
`Attributes
`
`Microsoft Ex. 1008, p. 7
`Microsoft v. Daedalus Blue
`IPR2021-00831
`
`

`

`U.S. Patent
`
`Sep.11,2007
`
`Sheet 6 of 9
`
`US 7,269,612 B2
`
`FIG. 6a
`
`Data Policy
`Manager
`
`410
`)
`
`I
`I
`I
`
`1
`
`1
`~-___,
`
`1e
`
`From data policies,
`determine data attributes
`--------.,~ that correspond to data
`characteristics.
`1
`I
`I
`I
`I
`I
`I
`I
`
`,,
`Select data container that is
`associated with selected
`application container and any
`additionally considered data
`attributes.
`
`Go to block
`414 in FIG. 6b
`
`Application Policy
`Manager
`
`Receive data file creation
`or access request from
`client system.
`
`4 2
`
`Does
`data file have
`metadata defining
`application, data, and
`storage containers for
`the data
`file?
`
`No
`
`400
`
`.
`Goto
`block 420.
`in FIG.
`6b.
`
`Yes
`
`Determine data characteristics.
`
`04
`
`4 6
`
`From application policies, determine
`application attributes that correspond
`to data characteristics.
`
`408
`
`Select one application container
`that has application attributes
`capable of satisfying determined
`application attributes for data file.
`
`Microsoft Ex. 1008, p. 8
`Microsoft v. Daedalus Blue
`IPR2021-00831
`
`

`

`U.S. Patent
`
`Sep.11,2007
`
`Sheet 7 of 9
`
`US 7,269,612 B2
`
`FIG. 6b
`
`Storage System Policy Manager
`
`From storage policies, determine
`storage attributes that correspond
`to data characteristics.
`
`414
`
`41
`
`418
`
`Select storage container that is
`associated with selected data
`container and any additionally
`considered storage attributes.
`
`Store the selected
`application, data, and
`storage containers with
`data file metadata.
`
`Determine the storage resource that
`is associated with the selected
`storage container indicated in the
`data file metadata.
`
`42
`
`4 4
`
`Route the data file to the
`determined storage resource.
`
`Determined storage resource implements
`the management functions defined in the
`application, data, and storage container
`indicated in the data file metadata.
`
`Microsoft Ex. 1008, p. 9
`Microsoft v. Daedalus Blue
`IPR2021-00831
`
`

`

`"'""' N = N
`
`O'I
`\0
`0--,
`'N
`-....l
`d r.,;_
`
`1,0
`
`0 ....
`.....
`rJJ =(cid:173)
`
`QO
`
`('D
`('D
`
`-....J
`0
`0
`N
`
`.... ~
`'? ....
`
`('D
`rJJ
`
`~ = ~
`
`~
`~
`~
`•
`00
`
`e •
`
`Container
`Storage
`
`630
`
`~
`
`~
`
`Data Container
`
`620
`
`~
`
`~
`
`Container
`Application
`
`610
`
`Storage
`
`624a
`
`Function
`Management
`
`Data
`
`614a
`
`Function
`Management
`
`612a
`Attribute
`Application
`
`634n
`Function
`Management
`
`632n
`Attribute
`Storage
`
`624n
`Function
`Management
`
`622n
`Attlibute
`Data
`
`614n
`Function
`Management
`
`612n
`Attribute
`Application
`
`600~
`
`Container
`
`FIG. 7
`
`Microsoft Ex. 1008, p. 10
`Microsoft v. Daedalus Blue
`IPR2021-00831
`
`

`

`U.S. Patent
`
`Sep.11,2007
`
`Sheet 9 of 9
`
`US 7,269,612 B2
`
`FIG. 8
`
`700
`
`\..------'--------------------,
`
`Computer Architecture
`
`Processor
`
`Memory
`
`Storage
`
`706
`
`710
`
`Network
`Card
`
`704
`
`708
`
`712
`
`Input Device
`
`Output
`Device
`
`Microsoft Ex. 1008, p. 11
`Microsoft v. Daedalus Blue
`IPR2021-00831
`
`

`

`US 7,269,612 B2
`
`2
`defined in the data structures, wherein each defined data
`structure is adapted to provide requirements to determine a
`storage resource to store associated data, and wherein the
`defined data structure is adapted to provide the storage
`resource with requirements for storing the data.
`Provided are a method and article of manufacture for
`processing data to be stored. An application attribute is
`associated with data based on an application policy. A
`determination is made of an application attribute value in a
`predetermined data structure, wherein the data structure is
`adapted to be received by a data level element and by a
`storage resource and to provide the storage resource with
`requirements for storing the data.
`Provided are a method, system, and article of manufacture
`for storing data. A determination is made of characteristics
`of the data. A plurality of data structures are processed. Each
`data structure may indicate a plurality of attributes and at
`least one function, to determine one data structure having
`attributes corresponding to the determined characteristics of
`the data. A storage resource is associated with the deter(cid:173)
`mined data structure and the storage resource associated
`with the determined data structure implements the attributes
`and functions indicated in the data structure.
`The described implementations provide techniques for
`implementing a policy based management framework for
`associating data with storage resources.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`1
`METHOD, SYSTEM, AND PROGRAM FOR A
`POLICY BASED STORAGE MANAGER
`
`BACKGROUND OF THE INVENTION
`
`5
`
`30
`
`1. Field of the Invention
`The present invention relates to a method, system, and
`program for a policy based storage manager.
`2. Description of the Related Art
`A policy based storage management framework specifies 10
`how data having certain characteristics is associated with
`different pools of storage space that will store such data, as
`well as how the data will be managed throughout its life(cid:173)
`cycle. One prior art policy based storage management
`framework, described in the commonly assigned U.S. Pat. 15
`No. 5,018,060, which patent is incorporated herein by
`reference in its entirety, describes a policy based storage
`management framework that provides constructs including
`data classes, storage classes, and management classes that
`are used to select storage devices for a data file or data set 20
`based on the characteristics of the data file. A data class
`specifies data file logical attributes, such as data file type,
`record length, logical data storage space requirements, expi(cid:173)
`ration and retention dates for the data, etc. A storage class
`defines a set of storage services, such as random access 25
`specifications, sequential access specifications, guaranteed
`space, etc. A management class specifies availability and
`retention management requirements for data, such as hier(cid:173)
`archical storage management (HSM), expiration, backup
`frequency, retention of backup copies, etc.
`An automatic class selection (ACS) routine receives a
`request to create or access a data file and then selects and
`assigns data, storage, and management classes that apply to
`the data file based on characteristics of the data file, e.g.,
`application that generated data file, file name, date, owner of 35
`file and/or application, etc. The final selection is of a storage
`group based on the data, storage, and management classes
`assigned to the data. The storage group provides the allo(cid:173)
`cation of physical storage space for the data file. With the
`described prior art policy based storage management frame- 40
`work, data files can be members of one data class, but be
`assigned to different storage and/or management classes,
`which determine to which storage group the data file is
`assigned.
`The above described policy based storage management 45
`framework was primarily intended for systems in which a
`storage subsystem, such as a Direct Access Storage Device
`(DASD) is directly attached to a storage controller, that
`assigns hosts data to particular storage groups in the manner
`described above.
`Notwithstanding, there is a need in the art for additional
`policy based storage management frameworks that may be
`used with both directly attached storage and indirectly
`attached storage, such as in a storage networking environ(cid:173)
`ment.
`
`Referring now to the drawings in which like reference
`numbers represent corresponding parts throughout:
`FIG. 1 a view of policy based storage management
`architecture in accordance with certain implementations of
`the invention;
`FIG. 2 illustrates a further view of a policy based storage
`management architecture in accordance with certain imple(cid:173)
`mentations of the invention;
`FIG. 3 illustrates a still further view of a policy based
`storage management architecture in accordance with certain
`implementations of the invention;
`FIG. 4 illustrates a network computing environment in
`which aspects of the invention are implemented in accor(cid:173)
`dance with certain implementations of the invention;
`FIG. 5 illustrates a policy based storage manager frame(cid:173)
`work in accordance with certain implementations of the
`invention;
`FIGS. 6a and 6b illustrates logic to select a storage
`50 resource for a data file using the policy based storage
`manager framework in accordance with certain implemen(cid:173)
`tations of the invention;
`FIG. 7 illustrates a container data structure in accordance
`with certain implementations of the invention; and
`FIG. 8 illustrates a computing architecture that may be
`utilized with certain implementations of the invention.
`
`55
`
`SUMMARY OF THE PREFERRED
`EMBODIMENTS
`
`Provided are a method and data structures for generating 60
`data structures for use in storing data. A plurality of data
`structures are defined in a computer readable medium,
`wherein each data structure indicates a plurality of attributes
`and at least one function of a storage resource to store data.
`Policies are defined in the computer readable medium that 65
`associate data characteristics to data structures based on a
`correspondence of data characteristics and the attributes
`
`DETAILED DESCRIPTION OF THE
`PREFERRED EMBODIMENTS
`
`In the following description, reference is made to the
`accompanying drawings which form a part hereof and which
`illustrate several embodiments of the present invention. It is
`understood that other embodiments may be utilized and
`structural and operational changes may be made without
`departing from the scope of the present invention.
`
`Microsoft Ex. 1008, p. 12
`Microsoft v. Daedalus Blue
`IPR2021-00831
`
`

`

`US 7,269,612 B2
`
`3
`Policy Based Management Framework
`
`Described implementations concern a comprehensive
`management platform for an environment that includes a
`variety of mission critical applications, large numbers of
`servers running different operating systems, storage systems
`with differing capabilities, and many network elements that
`interconnect servers with storage systems. Storage manage(cid:173)
`ment deals with many levels or layers of the system: i.e. disk
`(storage) level, data level, and application level. Storage
`management is also multi-faceted: e.g. performance, recov(cid:173)
`erability, capacity planning, security, and installation aspects
`and handles transient as well as persistent aspects: e.g. I/O
`requests (transient) and data (persistent). The described
`implementations may present and utilize the following con(cid:173)
`cepts: multi-level, inter-related policies, based on the layers
`of the storage environment, and mechanisms to establish
`these relationships; a container concept that allows defining
`an arbitrary set of storage, management, and/or service
`classes as per the needs of a management solution and/or
`installation; a tighter integration between resource manager
`and policy manager, allowing for a dynamic behavior; a
`connector concept to provide a standard characterization of
`managed elements and to provide a semantic mapping from
`the standard characterization to the actual. The described
`implementations allow the integration of business objec(cid:173)
`tives, specifying resource usage, availability, recoverability
`priorities; system model, specifying what changes should be
`noticed and how; metrics specifying what and how to
`measure the system, and when to raise "alarms"; and service
`contract, specifying the monitorable interactions with other
`components (e.g. application) of the information infrastruc(cid:173)
`ture.
`A policy is a "condition-action tuple." The condition part
`specifies an event or state that acts as trigger( s) for the action
`part to be executed. The condition can reflect a timer-based
`value ( e.g. midnight, Thursday, "first day of a new quarter"),
`an internal or external situation (e.g. error code raised/
`exception thrown, job successfully terminates), or an
`attribute value ( e.g. service level, size, application name).
`The action(s) associated with the occurrence of one or more
`conditions may involve the execution of specific procedures
`or functions, the raising of other conditions, and/or the
`setting of other attributes to particular values. In this last
`case, an action may thus establish triggers for other actions.
`FIG. 1 illustrates a conceptual view of how policy based
`management can be applied to the storage area. In FIG. 1,
`the system has three layers-storage 2, data 4, and the
`application 6. The storage level 2 relates to physical aspects
`of a storage system that deals with "storing and retrieving"
`of raw bits, the data level 4 relates to logical aspects of a
`storage system, such as providing data access methods, and
`the application level 6 relates to users of the storage system,
`such as middleware, applications, and business processes,
`and their requirements on data and storage supported at an
`aggregate level.
`Each policy level 2, 4, and 6 allows policies to be defined
`for that level. Policies at any given level are defined in terms
`of attributes lOa, lOb, 10c and management functions 12a,
`12b, 12c. Attributes lOa, lOb, 10c represent properties and
`characteristics of the managed environment ( e.g. capacity of
`a disk, throughput rates needed for an application, most
`recent modification time on a file). They are further distin(cid:173)
`guished as intrinsic (static) and dynamic (time-varying).
`Intrinsic attributes do not change with time and hence they
`can be referenced but not reset. Dynamic attributes can be
`referenced and can be reset. Management functions 12a,
`
`4
`12b, 12c are the basic mechanisms that perform the admin(cid:173)
`istration of the environment ( e.g. creating a logical disk,
`mounting a file system, quiescing an application). Manage(cid:173)
`ment functions 12a, 12b, 12c may be invoked as the action
`5 part of a policy execution. Both policies 10a, 10b, 10c and
`management functions 12a, 12b, 12c may use intrinsic
`attributes and may reset dynamic attributes. In certain imple(cid:173)
`mentations, each higher-level policy can influence the next
`lower level policies through the attributes and management
`10 functions. Attributes at a higher level can be used in the next
`lower level policies, and management functions at a higher
`level may activate policies at the next lower level.
`FIG. 1 further shows how business/enterprise policies 14,
`such as Service Level Agreements (SLAs) and service level
`15 objectives (SLOs), as well as government regulations affect
`the levels 2, 4, 6 and are translated either automatically or
`manually into policies at the three levels described here.
`Application policies 16 may be used to control the manner
`in which a particular task accesses or consumes computa-
`20 tional resources, or to prioritize that task relative to others.
`Application policies 16 concern an application's require(cid:173)
`ments on the data that it generates or uses-and, indirectly,
`the storage on which that data resides. For instance, an
`application may have specific requirements for the speed
`25 and format of data access, or for recoverability of the data
`in the event of an outage. The speed of access may be a
`consequence of needing to achieve a certain transaction rate,
`and may potentially vary during application execution.
`Hence, different applications may require different access
`30 rates when accessing the same file, or may require different
`types of I/O (e.g. read vs. write, sequential vs. random).
`Additionally, synchronizing the backup of modified files
`may vary across applications; this is particularly significant
`if different applications have diverse synchronization
`35 requirements and have a file in common.
`To implement the application policies 16, application
`attributes 10c are associated with the file when an applica(cid:173)
`tion is accessing that file. The application attributes 10c may
`include initial access delay, sustained access rate, I/O rate,
`40 I/O bandwidth, read/write ratio, sequential/direct access,
`aggregate backup/recovery criteria ( e.g. outage time, cur(cid:173)
`rency). Application attributes 10c may be collected into
`named sets of service classes. The association of such a set
`with an application's use of a file is one instance of an
`45 application policy 16. For instance, the service criteria may
`be used to determine whether data can be moved up and
`down the storage hierarchy.
`Data policies 18 are concerned with the data itself rather
`than any particular application's use of the data. These
`50 include criteria for the management of the data's life cycle,
`recoverability, and security. As with application policies,
`data policies may be based on data attributes 10b. Data
`attributes 1 Ob include life cycle attributes and recoverability
`attributes. Life cycle attributes specify the length of time the
`55 data needs to be kept and the number of versions of the data
`that must be maintained. Life cycle policies prescribe what
`actions should (or must) be taken when the time period has
`elapsed or the number of versions is exceeded. Recoverabil(cid:173)
`ity attributes indicate the number (and potentially the geo-
`60 graphic location) ofbackup copies of the data, and the cyclic
`nature of the backups. Recoverability attributes are used to
`trigger a backup action, delete older backup copies, or
`restore data from a backup copy. Data attributes 10b also
`include security attributes that define logical and physical
`65 security policies. Logical security is concerned with access
`lists (i.e. 'who' can access the data) and authorization levels
`(i.e. and do 'what' with it). Security attributes allow or deny
`
`Microsoft Ex. 1008, p. 13
`Microsoft v. Daedalus Blue
`IPR2021-00831
`
`

`

`US 7,269,612 B2
`
`5
`
`5
`access based on the requester's authorizations. Physical
`security relates to the placement of data on physically secure
`devices (e.g. in a locked room).
`Storage policies 20 govern the partitioning and use of
`storage space, the topology of storage within an enterprise,
`and the management of the storage components themselves.
`Storage attributes 10a may provide requirements on the
`storage device, or the storage systems (i.e. a number of
`storage devices packaged as a system). Storage policies 20
`may concern the management of the individual storage
`devices are primarily vendor-dependent. Examples of these
`are the use of dynamic RAID reconfiguration capability,
`specific 'snapshot' implementations, dynamic defragmenta(cid:173)
`tion/garbage collection, on-board cache management, per(cid:173)
`formance-based capacity control, etc. Storage attributes 10a
`that are device related include capacity, bandwidth, I/O
`rates, sequential/direct, reliability/error rates, concurrent
`copy capability, physical location, security, lease duration,
`cost, etc. The actions or management functions 12a associ(cid:173)
`ated with the storage policies 20 include enabling/disabling
`usage, draining, dumping, initiating transfers ( e.g. for copy
`purposes), hierarchy management, etc.
`The above described policies 16, 18, and 20 are designed
`for the management of storage (and data residing on the
`storage) and are intended to satisfy business objectives. 25
`These policies 16, 18, 20 may be explicitly stated, or implied
`by/derived from other policies that reflect business practices
`and guidelines (i.e. business policies). Thus, the application
`16, data 18, and storage policies 20 may be derived from the
`business policies. Examples of business policies include: 30
`financial transaction data must be kept for a certain period of
`time, employees must be paid at a certain day and time each
`month, up-to-the-minute copies of all financial records are to
`be stored in an off-site vault, etc.
`The first business policy implies a data policy that any 35
`data file containing financial transactions must have a mini(cid:173)
`mum retention characteristic of a number of years from the
`last update. The second business policy implies an applica(cid:173)
`tion policy determining when the payroll application must
`be run. The third business policy implies a data policy for the 40
`remote copying of specific data.
`Storage management may involve the following areas:
`performance, which involves service delivery rates, hot
`spots, latency, resources utilization, etc.; availability, which
`includes data protection as well as fault tolerance aspects; 45
`security, which involves access control, authentication, audit
`trails, physical security, etc.; space and capacity, which
`involves the amount of storage space, I/O bandwidth, size
`limits, etc.; and installation and physical entities, which
`include leases, housing issues, etc.
`FIG. 2 illustrates an embodiment of the policy based
`storage management architecture which includes three ele(cid:173)
`ments, a storage policy manager 50, storage resource man(cid:173)
`ager 52, and a connector framework 54. As FIG. 2 shows,
`the storage policy manager 50 and storage resource manager 55
`52 work with the environment using the connector frame(cid:173)
`work 54. The commands, controls, measurement, events,
`and feedback 56 flow through the connector framework 54
`between the environment and the management infrastruc(cid:173)
`ture. In the scenarios where the environment consists of a 60
`policy-based tool or a component, the connector framework
`54 may provide the mechanisms to influence policies of that
`tool/component.
`FIG. 3 is a detailed view of the policy based storage
`management framework. FIG. 3 containers are abstract 65
`constructs and, in certain implementations, may be imple(cid:173)
`mented as object oriented classes having certain associated
`
`6
`properties and functions. Elements added to a container may
`inherit functions and properties provided by the container.
`Thus, making an element a member of a container makes the
`functions and properties included in that container available
`to that element. A container is a collection of logical
`attributes and associated functions. For example, a storage
`container may comprise a collection of logical storage
`attributes and management functions. Several physical stor(cid:173)
`age elements may be used to support a storage container
`10 abstraction and hence the logical attributes of the container
`represent the physical attributes of the elements in an
`individualized as well as in an aggregate form. The attributes
`may refer to such aspects as reliability, performance, avail(cid:173)
`ability, and installability aspects of the elements. A specific
`15 container definition consists of a subset of the logical
`attributes. All elements supporting the container definition
`offer homogeneous attribute values. In embodiments where
`containers are implemented as an object oriented class, a
`container can be defined using a class definition in object
`20 oriented programming. The number of distinct container
`classes depends on the number oflogical attributes at a given
`level.
`The container maps a specific combination of logical
`attributes to a set of specific data and storage elements that
`can be used to support service implied by the attributes. An
`element may comprise any hardware or software product or
`component that provides some form of data or storage
`placement, access, or management function depending on
`the context. A container defines requirements for a number
`of data/storage software and hardware elements or parts/
`products that actually house and manage the application in
`a manner that meets the service requirements. Also, the same
`level of service defined by attributes and management
`functions included in a container may be implemented by
`different sets of elements or parts/products. For example,
`storage controllers provided by different vendors may satisfy
`the same level of service specified in a container. This allows
`data and storage used by a single business application to be
`placed, based on container policy, in more than one vendor's
`controllers (multiple containers) while managing all of the
`application's data/storage through a single instance of an
`application policy.
`Management functions define data/storage hardware or
`software functions implemented by a container. The man(cid:173)
`agement functions defined by a container may map to
`element functions provided by a vendor that supplies the
`underlying elements or third party software that sits between
`t

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket