throbber
Case 6:20-cv-01152-ADA Document 1-5 Filed 12/16/20 Page 1 of 19
`Case 6:20-cv-01152—ADA Document 1-5 Filed 12/16/20 Page 1 of 19
`
`EXHIBIT 5
`EXHIBIT 5
`
`

`

`Case 6:20-cv-01152-ADA Document 1-5 Filed 12/16/20 Page 2 of 19
`
`I 1111111111111111 1111111111111111111 IIII IIIII 11111 111111111111111111 IIII
`
`US008671132B2
`
`(12) United States Patent
`Carlson et al.
`
`(IO) Patent No.:
`(45) Date of Patent:
`
`US 8,671,132 B2
`Mar. 11, 2014
`
`(54) SYSTEM, METHOD, AND APPARATUS FOR
`POLICY-BASED DATA MANAGEMENT
`
`(75)
`
`Inventors: James Vernon Carlson, San Jose, CA
`(US); Linda Marie Duyanovich,
`Saratoga, CA (US); Toby Lyn Marek,
`Santa Clara, CA (US); David Ronald
`Nowlen, Morgan Hill, CA (US); David
`Allan Pease, Redwood Estates, CA
`(US); Michael Leo Walker, San Jose,
`CA (US); Paul Harold Hilton, Bragg
`Creek(CA)
`
`(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 2908 days.
`
`(21) Appl. No.: 10/389,408
`
`(22) Filed:
`
`Mar. 14, 2003
`
`(65)
`
`US 2004/0199566 Al
`
`Prior Publication Data
`Oct. 7, 2004
`
`(51)
`
`(2006.01)
`
`Int. Cl.
`G06F 15116
`(52) U.S. Cl.
`USPC ............................ 709/201; 709/203; 709/208
`(58) Field of Classification Search
`USPC . ... ... .. . . . ... ... . .. ... ... .. ...... ... . 707 /l; 709/208, 207
`Sec application file for complete search history.
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`4,755,928 A
`5,519,865 A '"
`6,154,776 A
`6,167,445 A
`6,212,562 Bl
`6,594,689 Bl '"
`
`7/1988
`5/1996
`J J/2000
`12/2000
`4/2001
`7/2003
`
`Johnson et al. . .............. 364/200
`Kondo et al.
`..................... 707/1
`Martin ................. , ...... .. 709/226
`Gai et al ....................... 709/223
`Huang ....... ... ... ... ..... ..... 709/227
`Nowatzki et al. ... .. ........ 709/208
`
`• cited by examiner
`
`Primary Examiner -Ad.nan Mi=
`(74) Altorney, Agent, or Firm -Kunzler Law Group
`
`(57)
`
`ABSTRACT
`
`A policy-based data management system, method, and appa(cid:173)
`ratus are disclosed. The system, method, and apparatus are
`configured to operate over a distributed storage system such
`as a storage area network (SAN). Files to be stored on the
`network are each assigned a service class and a storage pool
`based on the application of policies to file attributes such as
`file name, type, user, etc. The service class and storage pool
`designations are stored as metadata. Files may be retrieved
`using the metadata to identify the storage pool where the file
`is stored, and the service class listed within the metadata may
`be used to control the manner in which the file is handled. A
`metadata server may be utilized to provide the appropriate
`service class of files in response to requests from remote
`clients that may be of different computing platforms.
`
`27 Claims, 8 Drawing Sheets
`
`110
`
`,oo
`/
`
`

`

`Case 6:20-cv-01152-ADA Document 1-5 Filed 12/16/20 Page 3 of 19
`
`U.S. Patent
`
`Mar. 11, 2014
`
`Sheet 1 of 8
`
`US 8,671,132 B2
`
`110
`
`100
`
`/
`
`150
`
`104
`
`106
`
`108
`
`120
`
`156
`
`Fig. 1
`
`

`

`Case 6:20-cv-01152-ADA Document 1-5 Filed 12/16/20 Page 4 of 19
`
`U.S. Patent
`
`Mar.11,2014
`
`Sheet 2 of8
`
`US 8,671,132 B2
`
`200
`
`~
`
`220
`
`Policy Set
`
`230
`
`Service Class Policy
`
`285
`
`285
`
`Fig. 2
`
`

`

`Case 6:20-cv-01152-ADA Document 1-5 Filed 12/16/20 Page 5 of 19
`
`U.S. Patent
`
`Mar. 11, 2014
`
`Sheet 3 of 8
`
`US 8,671,132 B2
`
`File Transmission
`Module
`
`File
`
`310
`
`300
`
`File Attributes
`
`Policy Set
`
`210
`
`102
`
`To 150,
`152,154
`
`125
`
`350
`
`File Evaluation
`Module
`
`Service Class
`Selection Module
`
`Storage Pool
`Selection Module
`
`352
`
`354
`
`360
`
`44
`
`340
`
`File Attributes
`
`Metadata Storage
`Module
`
`346
`
`To 140
`
`Fig. 3
`
`

`

`Case 6:20-cv-01152-ADA Document 1-5 Filed 12/16/20 Page 6 of 19
`
`U.S. Patent
`
`Mar. 11, 2014
`
`Sheet 4 of 8
`
`US 8,671,132 B2
`
`470
`
`72
`
`File Usage Module
`
`RAM Allocation
`Module
`
`Cache Allocation
`Module
`
`1/0 Allocation
`Module
`
`50
`
`102
`
`125
`
`To, From
`150, 152,
`154
`
`File
`
`File Request
`
`File Request
`Transmission Module
`
`File Request or
`Metadata Request
`
`Translation Module
`
`Translated Metadata
`Request
`
`400
`
`420
`
`330
`
`440
`
`349
`
`Fig. 4
`
`From 140
`
`

`

`Case 6:20-cv-01152-ADA Document 1-5 Filed 12/16/20 Page 7 of 19
`
`U.S. Patent
`
`Mar.11,2014
`
`Sheet 5 of8
`
`US 8,671,132 B2
`
`140
`
`510
`
`540
`
`Filename 1
`
`Metadata for Filename 1
`
`Filename2
`
`Metadata for Filename 2
`
`. .
`
`Filename n
`
`Metadata for Filename n
`
`Fig. 5
`
`

`

`Case 6:20-cv-01152-ADA Document 1-5 Filed 12/16/20 Page 8 of 19
`
`U.S. Patent
`
`Mar. 11, 2014
`
`Sheet 6 of8
`
`US 8,671,132 B2
`
`610
`
`Start
`
`600
`
`~
`
`Provide Policy Set
`
`Receive File Attributes
`from Client Server
`
`Select Service Class
`for File
`
`Select Storage Pool for
`File
`
`Add Service Class and
`Storage Pool
`Designations to File
`Attributes to Create
`File Metadata
`
`Store Metadata in
`Metadata Disk pool
`
`Store File in Selected
`Storage Pool
`
`620
`
`630
`
`650
`
`660
`
`670
`
`680
`
`690
`
`695
`
`Fig. 6
`
`

`

`Case 6:20-cv-01152-ADA Document 1-5 Filed 12/16/20 Page 9 of 19
`
`U.S. Patent
`
`Mar. 11, 2014
`
`Sheet 7 of 8
`
`US 8,671,132 B2
`
`710
`
`Start
`
`650
`
`~
`
`730
`
`750
`
`770
`
`Assign the
`Service
`Class
`Dictated by
`Rule 1 to
`the FIie
`
`Assign the
`Service
`Class
`Dictated by
`Rule2 to
`the File
`
`Assign the
`Service
`Class
`Dictated by
`Rule n to
`the FIie
`
`810
`
`Start
`
`660
`
`~
`
`830
`
`850
`
`870
`
`Assign the
`Storage
`Pool
`Dictated by
`Rule 1 to
`the File
`
`Assign the
`Storage
`Pool
`Dictated by
`Rule2 to
`the File
`
`Assign the
`Storage
`Pool
`Dictated by
`Rule n to
`the File
`
`Assign the Default
`Service Class to
`the File
`
`790
`
`End
`
`Fig. 7
`
`Assign the Default
`Storage Pool to the
`File
`
`890
`
`Fig. 8
`
`

`

`Case 6:20-cv-01152-ADA Document 1-5 Filed 12/16/20 Page 10 of 19
`
`U.S. Patent
`
`Mar.11,2014
`
`Sheet 8 of8
`
`US 8,671,132 B2
`
`900
`
`~
`
`910
`
`Start
`
`Receive Metadata
`Request
`
`Translate Metadata
`Request
`
`Retrieve Metadata for
`Requested File
`
`Retrieve Requested
`File
`
`Use Metadata to
`Control Handling of File
`
`920
`
`930
`
`940
`
`950
`
`960
`
`970
`
`Fig. 9
`
`

`

`Case 6:20-cv-01152-ADA Document 1-5 Filed 12/16/20 Page 11 of 19
`
`US 8,671,132 B2
`
`1
`SYSTEM, METHOD, AND APPARATUS FOR
`POLICY-BASED DATA MANAGEMENT
`
`BACKGROUND OP THE INVENTION
`
`1. The Field of the Invention
`The invention relates to networking and data storage. More
`particularly, the invention relates to a system and method for
`policy-based data management on a distributed storage sys(cid:173)
`tem.
`2. The Relevant Art
`Networks have become instrumental in situations in which
`data is transferred from one computer to another, or from
`clients such as an independent workstation to a centralized
`storage facility. It is common for storage applications to have
`very speciali2.ed needs. In response to these needs, distributed
`storage systems have been developed. One type of distributed
`storage system is a storage area network (SAN).A distributed
`storage system typically has a plurality of clients connected to
`a plurality of storage pools. The clients of the distributed 20
`storage system may, in some cases, be servers that transmit
`data between the distributed storage system and individual
`computers.
`Unfortunately, a number of storage related issues have not
`yet been successfully addressed by known distributed storage 25
`system configurations. A distributed storage system is often
`called upon to carry out several different operations simulta(cid:173)
`neously. Consequently, the resources of the distributed stor(cid:173)
`age system, or of a server connected to the distributed storage
`system, can easily become saturated, particularly when many 30
`users wish to simultaneously store, retrieve, or move data on
`the distnlmted storage system.
`Additionally, many known distributed storage systems
`have no method of prioritizing operations. Consequently, a
`low-importance, high resource operation, such as a bulk tile 35
`tnmsfer, may preempt memory, caching space, input/output
`(I/0) bandwidth, processor capacity, or other resources that
`are needed for more important operations. Thus, performance
`of the more important operations is unnecessarily delayed.
`Also, current distributed storage systems are not capable of 40
`storing data using prioritized operations within multiple plat(cid:173)
`forms. Typically, all of the computers on a distributed storage
`system must have the same type of operating system. If data
`from multiple platforms are to be stored, the data must be
`routed through multiple distributed storage systems and 45
`stored in different locations.
`Furthermore, known distributed storage systems generally
`do not permit a user to automatically select between multiple
`storage options when generating files . Nor do these systems
`account for the different requirements placed on these files. 50
`Specifically, different files may have different requirements
`for accessibility, disaster recoverability, retrieval speed,
`retrieval consistency, and storage format. Some files may
`need to be accessed by many people simultaneously, while
`others are only used rarely, by a single user. Some files are 55
`"mission critical," and therefore must not be lost if hardware
`damage occurs; others are more expendable. Similarly, some
`files must be accessed rapidly and/or transferred at a consis(cid:173)
`tent, rapid data transfer rate, while others do not require rapid
`access. Certain file types, such as database files, are advanta- 60
`gcously stored in a "sparse" format that permits subsequent
`expansion, while other files can be densely packed together.
`By the same token, great variation exists in the equipment
`available to store data. In general, greater capacity, greater
`access speed, higher throughput, and higher disaster recover- 65
`ability equate to higher cost. Without a variety of options for
`data storage, some files are stored in a manner that provides
`
`2
`insufficient perlormance, and others take up comparatively
`expensive storage capacity that provides an unnecessarily
`expensive level of performance.
`Consequently, what is needed is a comparatively simple
`5 and versatile system, method, and apparatus for managing
`data in a network according to predetermined policies. What
`is particularly needed is a data management system, method,
`and apparatus that prioritize files within the network, with
`clients that operate based on a plurality of different operating
`10 platforms. Further, what is particularly needed is a data man(cid:173)
`agement system, method, and apparatus that intelligently
`stores files in storage pools with a variety of performance
`levels based policies and the nature of the storage pools. Such
`a system, apparatus, and method would be particularly desir-
`15 able if implemented for distributed storage systems that ser(cid:173)
`vice clients operating under heterogeneous platforms.
`
`BRIEF SUMMARY OF THE INVENTION
`
`The system, method, and apparatus of the present invention
`have been developed in response to the present state of the art,
`and in particular, in response to the problems and needs in the
`art that have not yet been fully solved by currently available
`storage area network systems. Accordingly, the present
`invention has been developed to provide a policy-based data
`management system that overcomes many or all of the above(cid:173)
`discussed shortcomings in the art.
`In one embodiment, the data management system may be
`implemented in a network having a plurality of clients. The
`clients may be individual workstations or servers connected
`to workstations. Due to the nature of the invention, the clients
`need not all operate on the same platform. The clients may be
`connected to a local area network (LAN) and to a distributed
`storage system, which may take the form of a storage area
`network (SAN). One or more servers are also connected to the
`LAN and the SAN. The servers have, as one oflheir functions,
`the duty of assigning and distributingmetadata for files on the
`system and will hereafter be referred to as "metadata servers."
`Additionally, a metadata disk or pool of disks may be con(cid:173)
`nected to the metadata servers through a LAN or the SAN.
`One or more storage devices or pools of storage devices are
`preferably connected to the distributed storage system.
`The data management system is, in one embodiment,
`policy-based. More precisely, the data management system
`preferably incorporates a policy set, which includes a service
`class policy and a storage pool policy. Each of the policies
`preferably includes a number of rules designed to select a
`service class and/or storage pool for a file based on attributes
`of the file. Service classes may be hierarchical, for example,
`platinum, gold, silver, or bronze, reflecting the relative impor(cid:173)
`tance of the data. Of course, the service classes may be
`assigned any combination of rules, and need not be hierarchi(cid:173)
`cal.
`In one embodiment, each of the clients is provided with a
`file traru;mission module that is configured lo lnmsmit
`attributes of a file to the metadata server. A file evaluation
`module is preferably configured to apply the rules of the
`service class policy and the storage pool policy to the file
`attributes and the storage pool characteristics to automati(cid:173)
`cally select a service class and a storage pool for the file.
`These may be added to the file attributes to create mctadata
`for the file. The metadata is in one embodiment stored in the
`metadata disk pool, and the file is then stored in the selected
`storage pool.
`Each of the clients is provided in one embodiment with a
`file request transmission module that is configured to transmit
`file request to the metadata server. A metadata retrieval mod-
`
`

`

`Case 6:20-cv-01152-ADA Document 1-5 Filed 12/16/20 Page 12 of 19
`
`US 8,671,132 B2
`
`4
`missions are not permitted to tie up undue resources. Further(cid:173)
`more, the files may be automatically assigned to storage
`locations that suit their need for rapid access, disaster recov(cid:173)
`erability, and the like.
`These and other features and advantages of the present
`invention will become more fully apparent from the following
`description and appended claims, or may be learned by the
`practice of the invention as set forth hereinafter.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`In order that the manner in which the advantages and
`objects of the invention are obtained will be readily under(cid:173)
`stood, a more particular description of the invention briefly
`described above will be rendered by reference to specific
`embodiments thereof which are illustrated in the appended
`drawings. Understanding that these drawings depict only
`typical embodiments of the invention and are not therefore to
`be considered to be limiting of its scope, the invention will be
`20 described and explained with additional specificity and detail
`through the use of the accompanying drawings in which:
`FIG. 1 is a schematic block diagram illustrating one
`embodiment of a network incorporating a policy based data
`management system within the scope of the present inven(cid:173)
`tion;
`PIG. 2 is a schematic block diagram illustrating one
`embodiment of a policy set used to select a service class and
`storage pool for the network of FIG. 1;
`FIG. 3 is a schematic block diagram illustrating one
`embodiment of executable modules and data structures
`withintheclientamlmeladata serverofthenetworkofFIG. l;
`FIG. 4 is a schematic block diagram illustrating additional
`embodiments of executable modules and data structures
`within the client and metadata serverof thenetwork of FIG. 1;
`FIG. 5 is a schematic block diagram illustrating one
`embodiment of data structures within the metadata disk pool
`ofFIG.1;
`FIG. 6 is a schematic flow chart diagram illustrating one
`embodiment of a method of storing a file in the network of
`FIG. 1 and assigning a service class and storage pool to the
`file;
`FIG. 7 is a schematic flow chart diagram illustrating one
`embodiment of a method of selecting the service class within
`the method of FIG. 6;
`FIG. 8 is a schematic flow chart diagram illustrating one
`embodiment of a method of selecting the storage pool within
`the method ofFJG. 6; and
`FIG. 9 is a schematic flow chart diagram illustrating one
`embodiment of a method for retrieving and using a file stored
`in the network of FIG. 1.
`
`3
`ule in one embodiment receives the translated metadata
`request and retrieves the metadata that corresponds to the file
`from the metadata disk pool. The file request transmission
`module receives the storage pool designation from the meta(cid:173)
`data for the file, and then transmits a file request to retrieve the 5
`file from the corresponding storage pool.
`The file and the service class designation for the file are, in
`one embodiment, received by a file usage module in the
`client. The file usage module preferably uses the service class
`to determine the proper allocation of client assets, such as 10
`RAM allocation, performance priority, cache allocation
`scheme, and input/output (l/0) allocation.
`The metadata may be stored in the form of a looJ...,ip table in
`the metadata disk pool. For example, file names or object
`identities related to unique files may be stored in the mctadata 15
`disk pool, and each file name or object identity may he hound
`lo the corresponding file metadata. Thus, the meladata server
`may retrieve the metadata for a file by locating the file name
`or object identity in the metadata disk pool, and reading the
`corresponding metadata.
`According to one embodiment of a file storage and classi(cid:173)
`fication method operable in conjunction with the system
`described above, a policy set is provided and configured. A
`system administrator may configure the appropriate policy.
`Attributes of the file to be stored and classified are received by 25
`the metadata server, and the file attributes are translated from
`the native platform of the file to obtain translated attributes.
`Based on the attributes, a service class and a storage pool
`are automatically selected for the file. Designations of the
`service class and storage pool may be added to the attributes 30
`of the file to provide the file metadata. The file metadata may
`be stored in the metadata disk pool, in the format described
`previously. The file may be stored in the selected storage pool.
`The service class and the storage pool may be selected
`based on an application of the policy set. More precisely, the 35
`rules of the service class policy may be applied lo determine
`the appropriate service class for the file. The rules may be
`analyzed in order until an appropriate classification is found.
`For example, the first rule of the service class policy may first
`be analyzed. If the file satisfies the conditions for the first rule, 40
`the file receives the service class that corresponds with the
`first rule. Ifthc file docs not satisfy the conditions for the first
`rule, the second rule is analyzed, and so on. If the file satisfies
`none of the rules, it receives a default service class.
`If desired, the storage pool may be determined partially or 45
`solely by the service class. '!bus, the rules of the storage pool
`policy may simply be based on the selected service class.
`Alternatively, the storage pool policy may involve criteria
`independent of the service class. The rules of the storage pool
`policy may be applied sequentially, in a manner similar to the 50
`rules of the service class policy. Because the storage pools
`typically vary in terms of speed, capacity, storage format,
`disaster recovery, and other factors, these characteristics are
`taken into account in selecting a storage pool. If the file
`satisfies none of the rules of the slomge pool policy, Lht! file is 55
`stored in a default storage pool.
`According to one embodiment of a file retrieval and usage
`method, a file request is first received by the metadata server.
`Metadata for the requested file is then retrieved from the
`metadata disk pool. The metadata is preferably used to deter- 60
`mine the appropriate storage pool. The requested file is then
`retrieved from the storage pool. In so doing, the metadata for
`the file is used lo control the manner in which the file is
`handled, including its priority level with respect to other files.
`ln this manner, files are automatically assigned relative 65
`priority levels and locations. Higher priority file transactions
`are performed more expeditiously, and lower priority trans-
`
`DETAILED DESCRIPTION OF THE PREFERRED
`EMBODIMENTS
`
`Many of the functional units described in this specification
`have been labeled as modules, in order to more particularly
`emphasize their implementation independence. For example,
`a module may be in1plemented as a hardware circuit compris(cid:173)
`ing custom VLSI circuits or gate arrays, off-the-shelf semi(cid:173)
`conductors such as logic chips, transistors, or other discrete
`components.A module may also be implemented in program(cid:173)
`mable hardware devices such as field programmable gate
`arrnys, programmable array logic, programmable logic
`devices or the like.
`Modules may also be implemented in software for execu(cid:173)
`tion by various types of processors. An identified module of
`executable code may, for instance, comprise one or more
`
`

`

`Case 6:20-cv-01152-ADA Document 1-5 Filed 12/16/20 Page 13 of 19
`
`US 8,671,132 B2
`
`6
`5
`pool 140 may include multiple physical storage units, which
`physical or logical blocks of computer instrnctions which
`may, for instance, be organized as an object, procedure, or
`may be housed in separate locations. Depiction of the meta(cid:173)
`data disk pool 140 as a single unit in FIG. 1 is by way of
`function. Nevertheless, the executables of an identified mod(cid:173)
`example, only. Similarly, the storage pools 150, 152, 154 are
`ule need not be physically located together, but may comprise
`depicted as discrete physical units only by way of example. If
`disparate instructions stored in different locations which,
`desired, one physical unit may contain multiple storage pools,
`when joined logically together, comprise the module and
`and a single storage pool may be spread over multiple physi(cid:173)
`achieve the stated purpose for the module.
`cal units. Vutual logical unit numbers (LUN s) may be used as
`Indeed, a module of executable code could be a single
`instruction, or many instructions, and may even be distributed
`part of a particular storage pool.
`The storage pools 150, 152, 154 may comprise a plurality
`over several different code segments, among different pro- 10
`of storage types. For example, a first storage pool 150 in one
`grams, and across several memory devices. Similarly, opera(cid:173)
`tional data may be identified and illustrated herein within
`embodiment comprises a high capacity hard drive. The first
`storage pool 150 may be comparatively slow, and may have a
`modules, and may be embodied in any suitable form and
`organized within any suitable type of data structure. The
`relatively lower probability of successful data recovery in the
`operational data may be collected as a single data set, or may 15 event of hardware damage, due to the lack of redundant
`storage hardware. Consequently, the first storage pool 150
`he distributed over different locations including overdifforent
`may be most suitable for files that do not need to be accessed
`storage devices, and may exist, al least partially, merely as
`and transferred rapidly, and that are not critical to users of the
`electronic signals on a system or network.
`network 100.
`Referring to FIG. 1, a schematic block diagram is shown
`A second storage pool 152, by way of example, may com-
`illustrating a representative network 100 suitable for use with 20
`the present invention. The network 100, as shown, includes a
`prise a RAID system of hard drives, with a comparatively fast,
`number of clients 102, 104, 106, 108. The clients 102, 104,
`cached input/output system. Thus, the second storage pool
`152 provides higher speed and greater disaster recoverability
`106, 108 may be workstations or servers communicating with
`than the first storage pool 150. The second storage pool 152
`workstations and in certain embodiments operate on a single
`25 may store data in a non-mirrored format. Toe first and second
`platform or a plurality of different operating system plat(cid:173)
`forms. For example, the client 102 may be Windows™ based,
`storage pools 150, 152 may be stored in a common facility,
`which may be designated "Building A."
`while the client 104 may be SolarisTM based, the client 106
`may run based onAIX®, and the client 108 may be Linux(cid:173)
`A third storage pool 154, by way of example, may com(cid:173)
`based. The network 100 is preferably configured to bear large
`prise a RAID system of hard drives, with a fast input/output
`amounts of traffic, particularly data packets and messaging
`30 system and a mirrored data storage format. The third storage
`pool 154 may thus provide the greatest disaster recoverability
`packets related to data storage, retrieval, and maintenance.
`As shown, the clients 102,104,106, and 108areconnected
`in addition to rapid file access and data transfer. The third
`storage pool 154 may be somewhat slower than the second
`to a local area network, or LAN 110.Aplurality ofmetadata
`storage pool 152 due to the time required for data mirroring.
`servers 120, 125 arc also connected to the LAN 110 and to a
`15 In the alternative, the third storage pool 154 may include
`distributed storage system, which may take the fom1 of a
`stor.1ge area network, or SAN 130. TI1e metadata servers 120,
`additional hardware, such as caching or an integrated proces(cid:173)
`sor, to enable the third storage pool 154 to access and transfer
`125 may each have components such as a processor, random
`data more rapidly than the second storage pool 152.
`access memory (RAM), an internal hard disk drive, a network
`Some storage pools, such as the third storage pool 154 may
`interface card (NI C ), and various 1/0 controllers. If desired,
`the metadata servers 120, 12S may cooperate to provide a
`40 be stored at a facility separate from that of the first and second
`server cluster. Alternatively, only a single metadata server 120
`storage pools 150, 152; for example, the third storage pool
`154 may be located in "Building B." Building B is separated
`or 125 may be used. An administrator workstation (not
`shown) may also be connected to the LAN 110, and may have
`from Building A by a distance sufficient to ensure that a single
`disaster will not destroy both the second storage pool 152 and
`specialized software and/or access to control policy imple(cid:173)
`45 the third storage pool 1S4. One of the pools 156 may also
`mentation over the network 100.
`A metadata disk pool 140 may be connected to the meta(cid:173)
`comprise a tape bach.'Up. While four storage pools are
`data servers 120, 125 througll a LAN or, as shown, througll
`depicted, it should be noted that any number of storage pools
`may be employed under the present invention.
`the SAN 130. A plurality of storage pools, including a first
`storage pool 150, a second storage pool 152, a third storage
`The determination of which of the storage pools 150, 152,
`so or 154 is to be used to store a particular file is preferably made
`pool 154, and a fourth storage pool 156 are also shown con(cid:173)
`nected to the SAN 130. The storage pools each contain one or
`selectively, so that more important files are more rapidly
`accessible and more likely to be fully recovered in the event of
`more storage devices and may vary in storage type, configu(cid:173)
`ration, location, accessibility, etc. The metadata disk pool 140
`a hardware failure. Furthermore, the network 100 is prefer(cid:173)
`ably able to intelligently allocate the resources of the network
`stores data related to the operation of the data management
`55 100, so that more important operations receive priority over
`system, in a manner that will be shown and described in
`greater detail below. The storage pools 150, 152, 154 provide
`less important ones. Such determinations may be made
`file storage to the clients 102-105.
`througll the use of policy based data management, as will be
`In one embodiment, the SAN 130 is a local area network in
`shown and described in greater detail in connection with FIG.
`which the metadata servers 120, 125, the metadata disk pool
`2.
`140, and the storage pools 150, 152, 154 are housed within the 60
`same facility or campus. In another embodiment, the SAN
`130 is a wide area network with at least some of the clients
`102, 104, 106, 108, the metadata server 125, the meladata
`disk pool 140, and the storage pools 150, 152, 154 housed in
`geographically disparate locations.
`The metadata disk pool 140 may be a single hard drive, a
`RAID system, or the like. Alternatively, the metadata disk
`
`The network 100 of FIG. 1 is only one embodiment ofa
`network in which the principles of the present invention may
`be utilized and is given by way of example only. It should be
`readily recognized that policy based data management may
`be applied to a variety of different system types, including
`65 LANs, WANs, and SANs, and combinations thereof. Com(cid:173)
`ponents of such a system maybe connected by a plurality of
`intermediate components known in the art, such as switches,
`
`

`

`Case 6:20-cv-01152-ADA Document 1-5 Filed 12/16/20 Page 14 of 19
`
`US 8,671,132 B2
`
`7
`routers, hubs, and bridges. File servers may or may not be
`utilized in the data paths of such networks. Policy based data
`management may also be used with components connected
`via the Internet.
`Referring to FIG. 2, a schematic block diagram is shown 5
`illustrating one concept of a policy implementation 200 suit(cid:173)
`able for a network such as the network 100. Policy based
`management is carried out through the use of a policy set 210.
`The policy set 210 may include several different types of
`policies. In the policy implementation 200 of FIG. 2, the 10
`policy set 210 is applied with respect to files. Hence,
`attributes of each file are used to classify the file according to
`the policy set 210. Such attributes may include the file name,
`the file extension (which often indicates the file type), the 15
`container administrative name, the file owner, the group name
`of the file owner, the system ID of the workstation or server
`sending the file, and the dates and times of file creation,
`access, and modification, etc. Other file attributes may also be
`used to aid policy-based data management.
`The policy set 210 may include multiple policies of each
`type to acco=odate the changing priorities caused by busi(cid:173)
`ness rules or cycles. Thus, when priorities on the network 100
`change, a different policy may be implemented accordingly.
`For example, it may be desirable to shift file priorities for 25
`end-of-year processing carried out by one or more of the
`clients 102, 104, 106, 108. lhus, the network administrator
`may activate a different policy or set of policies to give higher
`priority to the files to be processed. Only one policy is active
`for each policy type at any given time, however.
`In the depicted embodiment, the policy set 210 includes a
`service class policy 220 and a storage pool policy 230. The
`service class policy 220 includes at least one service class rule
`that dictates what service class is applied to a file with a given
`attribute. For example, the service class policy 220 includes a 3.5
`first rule 240, a second rule 242, andotherrules through an nth
`rule 244. Any number of rules may exist between the second
`rule 242 and the nth rule 244. Each of the rules 240,242, 244
`in one embodiment comprises a statement such as "If a given
`file attribute is X, the file receives service class Y."
`The storage policy 230 similarly has at least one storage
`pool rule that dictates which of the storage pools 150, 152,
`154 should receive a file with a given attribute. For example,
`the storage policy 230 may have a first rule 250, a second rule
`252, an nth rule 254, and any number of rules between the 45
`second rule 252 and the nth rule 254.
`The service class policy 220 is used to select from among
`a plurality of service classes, such as the service classes 280,
`282, 284, 286, and the storage policy 230 is used to select
`from among a plurality of storage pools, such as the storage 50
`pools 150, 152, 154 depicted in F

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