`Gelb et al.
`
`[11] Patent Number:
`(45] Date of Patent:
`
`5,018,060
`May 21, 1991
`
`(75]
`
`(54] ALLOCATING DATA STORAGE SPACE OF
`PERIPHERAL DATA STORAGE DEVICES
`USING IMPLIED ALLOCATION BASED ON
`USER PARAMETERS
`Inventors: Jack P. Gelb; John C. Tyrrell, both of
`San Jose, Calif.
`IBM Corporation, Armonk, N.Y.
`(73] Assignee:
`(21] Appl. No.: 301,970
`(22] Filed:
`Jan. 26, 1989
`(51]
`Int. Cl.5 ••••••••••••••••••••••• G06F 13/00; G06F 12/00
`(52] U.S. Cl ..................................... 364/200; 364/970;
`364/970.2; 364/968; 364/967; 364/967.2;
`364/964.6; 364/253; 364/253.2; 364/253.l;
`364/243; 364/245.8; 364/245.5
`(58} Field of Search ... 364/200 MS File, 900 MS File
`References Cited
`[56]
`U.S. PATENT DOCUMENTS
`4,024,507 5/1977 Berkling .............................. 364/200
`4,121,286 10/1978 Venton ................................ 364/200
`4,310,883 1/1982 Clifton ................................ 364/200
`4,313,161 1/1982 Hardin ................................ 364/200
`4,429,363 1/1984 Duke ................................... 364/200
`4,463,424 7/1984 Mattson ............................... 364/200
`4,466,059 8/1984 Bastian ................................ 364/200
`4,574,346 3/1986 Hartung .............................. 364/200
`4,653,021 3/1987 Takagi ................................. 364/900
`4,660,130 4/1987 Bartley ................................ 364/200
`4,727,487 2/1988 Masui et al .......................... 364/300
`4,769,782 9/1988 Iwanaga .............................. 364/900
`4,771,375 9/1988 Belgin ................................. 364/200
`4,805,093 2/1989 Ward ................................... 364/200
`
`OTHER PUBLICATIONS
`Garbage Collection in a Large Lisp System, David A.
`Moon 1984, ACM. pp. 235-246.
`
`Garbage Collection in a Very Large Address Space, by
`Peter B. Bishop, MIT, Cambridge, Mass. 1975.
`Generation Scavenging: A Non-Disruptive High Per(cid:173)
`formance Storage Reclamation Algorithm, 1984 ACM,
`by David Ungar, pp. 157-167.
`Primary Examiner-Thomas C. Lee
`Assistant Examiner-Eric Coleman
`Attorney, Agent, or Firm-Herb Somermeyer
`ABSTRACT
`(57]
`Units of data (data sets, data bases, etc.) are allocated
`data storage space in a data storage system based on
`implicit analysis of the unit of data. A plurality of data
`classes, each defining predetermined characterisitics of
`diverse units of data, are established for the data storage
`system. A plurality of storage classes, each defining
`predetermined sets of storage performance and avail(cid:173)
`ability requirements are established for the data storage
`system. A plurality of management classes, each defin(cid:173)
`ing respective diverse sets of life cycle attributes for
`units of data are established for the data storage system.
`A plurality of storage groups, each defining diverse
`predetermined performance device and management
`available in the data storage system but independently
`of the individual storage devices of the data storage
`system are established. The devices are selectively as(cid:173)
`signed to different ones of the established storage
`groups. Each received spaced allocation requested has
`its parameters (source, type of data, etc.) matched with
`the data, storage and management classes for assign(cid:173)
`ment of one each of those classes to the unit of data
`related to the allocation request. A storage group is also
`assigned. The matching of the different classes and
`group are independent of one another. Allocation is
`based upon the resulting class and group selection.
`
`10 Claims, 3 Drawing Sheets
`
`(15
`
`DEFINE
`DATA CLASSES
`
`(/6
`
`DEFINE
`STORAGE
`CLASSES
`
`19
`
`(17
`
`DEFINE
`MANAGEMENT
`CLASSES
`
`(18
`
`DEFINE
`STORAGE
`GROUPS
`
`Microsoft Ex. 1005, p. 1
`Microsoft v. Daedalus Blue
`IPR2021-00831
`
`
`
`U.S. Patent
`
`May 21, 1991
`
`Sheet 1 of 3
`
`5,018,060
`
`/0
`
`-..
`
`•
`•
`•
`
`HOST
`PROCESSOR
`
`~I <12
`PERPHERAL
`DATA STORAGE
`
`,13
`
`~
`
`TERMINAL
`
`F:cGc:1
`
`(15
`
`DEFINE
`DATA CLASSES
`
`(16
`
`DEFINE
`STORAGE
`CLASSES
`
`19
`
`(17
`
`DEFINE
`MANAGEMENT
`CLASSES
`
`DEFINE
`STORAGE
`GROUPS
`
`'[/'25
`
`(26
`INPUT PARMS
`
`NAME CLASS
`
`COMPILE
`NAMED
`MODULE
`
`(27
`
`(28
`
`STORE
`MODULE
`AS "NAME•
`
`F:cGce
`
`F:cGc3
`
`Microsoft Ex. 1005, p. 2
`Microsoft v. Daedalus Blue
`IPR2021-00831
`
`
`
`U.S. Patent
`
`May 21, 1991
`
`Sheet 2 of 3
`
`5,018,060
`
`r·
`
`11
`
`I ,· ·--~-11~
`I . . I
`I i ..
`I i
`i
`I Ll45 _ _j
`l
`L;;r-·-·-.FrGc_S_ -
`
`I
`I
`I
`I
`'47 I
`I
`I
`L __ L=-=-
`I
`L _ _ _ _ _ _ _ _ _ _
`
`I
`
`AUTOMATIC
`LIBRARY
`55
`50
`
`SHELF
`STORAGE
`
`-
`
`____ _j
`
`Microsoft Ex. 1005, p. 3
`Microsoft v. Daedalus Blue
`IPR2021-00831
`
`
`
`U.S. Patent
`
`May 21, 1991
`
`Sheet 3 of 3
`
`5,018,060
`
`• •
`7.0
`•
`,, ' OSN 1 'LOC 1 ' STORCLAS 1 ' MGMTCLAS 1 '
`• C75
`i71
`C72
`C74
`• •
`DATACLAS I 1TYPE I ~F I kL I SPACE I j EXP I j RETENT I j VSAM ~ •••
`ts, <82 • <83
`BO_J
`,84
`ls7
`ls.,
`(86
`• •
`iJ . . .
`STORCLAS I ~EAD I ~RITE I I AVAIL
`•
`t~
`90_/
`(91
`t92
`• •
`MGMTCLAS EXPIRE RETENT MIGRATE BU
`Ii I
`/04
`IOOJ
`IQ
`/03
`
`•••
`
`VERSIONS
`/05
`sro:,g~f TYPE I 8
`ALLOC (vro I MIGRATEI buMP I I
`BU ~ • • •
`(116
`?111
`?112
`tit3
`?114
`<115
`'----------F:rsaB---------'
`NEW DATA SET
`140
`14/
`SELECT
`DATA CLASS
`142
`
`l5Dj
`
`I
`RECEIVE
`STORAGE
`ALLOCATION
`REQUEST
`
`SELECT
`STORAGE· CLASS
`.__..._~_..,..
`143
`144
`
`EXIT TO
`OTHER
`PRO<IIAMMING
`
`SELECT
`MANAGEMENT
`CLASS
`
`145
`
`SELECT
`STORAGE GROUP
`
`STORE IN A
`CONTROL
`RECORD
`
`F:rsa7
`
`15')
`
`1
`READ
`CONTROL RECORD
`FOR DATA SET
`
`152;
`
`'
`ACCESS
`STORAGE
`
`I
`F:cGaB
`
`Microsoft Ex. 1005, p. 4
`Microsoft v. Daedalus Blue
`IPR2021-00831
`
`
`
`ALLOCATING DATA STORAGE SPACE OF
`PERIPHERAL DATA STORAGE DEVICES USING
`IMPLIED ALLOCATION BASED ON USER
`PARAMETERS
`
`FIELD OF THE INVENTION
`This invention relates to computer-controlled periph(cid:173)
`eral data storage and more particularly to the global
`management of data storage for provided transparent
`isolation of the peripheral data storage characteristics
`from application programs using the peripheral data
`storage.
`
`BACKGROUND OF THE INVENTION
`Storing computerized data (coded or uncoded-un(cid:173)
`coded is also termed image, graphics or raster data) in
`peripheral devices and subsystems has become an im(cid:173)
`portant cost consideration in modem day information 20
`processing systems. Further, the immensity of the stor(cid:173)
`age capacity available in information processing sys(cid:173)
`tems has reached staggering levels. The current way of
`managing the peripheral storage of data is fast becom(cid:173)
`ing unsatisfactory because of the costs involved and 25
`difficulty in managing the data storage space, providing
`performance (rapid access to data storage spaces or
`areas) as well as placing the burden on application pro(cid:173)
`grammers to effectively utilize such immense peripheral
`data ~orag« ~city. lt is desired to insulate the appli- 30
`cation programmers from the current requirement that
`tht'ir respective programs must have some information
`about the physical parameters of the peripheral data
`storage. It is desired to provide a completely logical
`control wherein the application programmers need only 35
`concern their programming with data sets, data bases,
`and the like as such items best serve the application
`program. Such (i)ia.ta. set considerations can include a
`brl!Jlld in<licatio11 a £~ performance, indications of
`size, need for availability and reliability levels, and the 40
`like. All factors concerning space management, perfor(cid:173)
`mance management, availability management and de(cid:173)
`vice install management of the peripheral subsystems
`should not be noticeable to the user programmer in(cid:173)
`volved with application programs. To date, this has not 45
`been the situation.
`DISCUSSION OF THE PRIOR ART
`Initially job control language (JCL) required the
`computer user to specify many parameters of program 50
`execution including specifications of peripheral data
`storage. Then each time the peripheral data storage was
`dlanged, a con:~ing change was required in the
`JCL statements for the programs to be executed. An
`example of JCL control of a data processor is shown by 55
`Poublan et al in U.S. Pat. No. 4,104,718. It is this inter(cid:173)
`action between operation of the peripheral data storage
`and the user application programs that is to be mini(cid:173)
`mized, if not eliminated.
`It is desired to let the user or application programmer 60
`issue specifications, preferably implicitly, of program
`execution and data storage requirements which are at a
`relatively high or logical level. The term "logical"
`herein refers to the specifications for desired program
`execution, particularly for peripheral data storage. It is 65
`desired that all allocation and controls of the peripheral
`data storage be removed from direct intervention by the
`applicuion programmer.
`
`1
`
`5,018,060
`
`2
`The term "logical" has been used for years to de(cid:173)
`scribe program denominated units, such as "logical
`devices". Such logical descriptions did not remove the
`interaction of the application programmer with periph-
`5 eral data storage. An example of such logical device
`specifications is found in the Christian et al patent U.S.
`Pat. No. 4,403,288 wherein one physical device (DAS(cid:173)
`O-direct access storage device) was addressable as
`four logical devices. The proliferation of DASO in
`10 peripheral data storage subsystems resulted in a central(cid:173)
`ized DASO storage space allocation program called
`DADSM (direct access device space management).
`Still the application programmer had to request space in
`terms of device parameters and types. See the article by
`15 Duvall et al, "Asynchronous Allocation Requests",
`IBM TECHNICAL DISCLOSURE BULLETIN,
`Vol. 25 No. 8; January 1983, pp 4148-4150. It is desired
`to remove device parameter specifications from the
`application programmer; let the application program(cid:173)
`mer only be concerned with high or logical levels of
`specification independent of device parameters. This
`desire requires implicit translation of the logical param(cid:173)
`eter specification into data storage device selections and
`space allocation on selected devices.
`March in the article "Data Base Control and Process(cid:173)
`ing System", IBM TECHNICAL DISCLOSURE
`BULLETIN, Vol. 25, No. 7A, December 1982, pp
`357814 3582 illustrates some of the complexity involved
`with data base management. It is desired to remove the
`complexity from adversely affecting application pro(cid:173)
`grammer efforts.
`White in U.S. Pat. No. 4,467,421 describes a virtual
`data storage system which employs a memory control
`processor external to a host processor which divides
`user-defined data sets into blocks of a size convenient
`for storage in peripheral data storage devices. The
`memory processor assigns such blocks to storage loca(cid:173)
`tions on peripheral data storage devices. This memory
`processor intercepts the device oriented input-output
`commands from the host processor and adjusts opera(cid:173)
`tion of the peripheral data storage subsystem to make it
`more efficient. From this brief description, it is readily
`seen that the application programmer still is required to
`have JCL statements that are device dependent even if
`an external memory processor interprets the device
`dependencies differently than intended by the applica-
`tion programming. While this arrangement may ease
`the effects of changing device types and the like, it still
`seems to saddle the application programmer with de(cid:173)
`vice parameter considerations. It is desired to avoid the
`continuance of such a requirement.
`Hartung in U.S. Pat. No. 4,638,425 shows a cached-
`DASO data storage subsystem in which the application
`programmer may insert a storage parameter indication
`of whether certain data records can be stored primarily
`in volatile (cache) peripheral storage or is primarily
`retentively stored (DASO) in the peripheral subsystem.
`When primarily stored in the cache, performance is
`enhanced but the application program is responsible for
`any lost data due to power problems or equipment fail(cid:173)
`ures. The selection is based on "use" status, i.e. is the use
`interactive with terminals (to be cached for perfor(cid:173)
`mance) or is the use post-terminal activity (to be primar(cid:173)
`ily retentively stored). While the use indication appears
`logical, it is seen that the application programmer has to
`understand important operational characteristics of the
`peripheral data storage subsystem. It is desired to make
`such determinations implicit rather than explicit.
`
`Microsoft Ex. 1005, p. 5
`Microsoft v. Daedalus Blue
`IPR2021-00831
`
`
`
`5,018,060
`
`3
`Hill in U.S. Pat. No. 4,607,346 shows an implicit
`control of a peripheral DASO based upon the user or
`application programmer specifying "access densities"
`for a given program. Based upon such specified access
`densities, the data to be stored is directed to different 5
`portions of a DASO. From this description, it is seen
`that the application programmer is still involved with
`device parameters, but that the device parameter desig(cid:173)
`nations are complicated with desired access parameters
`of the application program. It is desired to avoid such 10
`additional complexities.
`Beglin et al in U.S. Pat. No. 4,638,424 describes a
`machine implemented management of peripheral data
`storage. The patent refers to the IBM product Hierar(cid:173)
`chical Storage Manager, now termed Data Facility 15
`Hierarchical Storage Manager. The patent teaches ma(cid:173)
`chine managed priority of access and allocation to a
`large plurality of peripheral data storage devices for the
`purposes of migration, recall, backup, recovery and
`defragmentation of the data sets stored in peripheral 20
`data storage. The patent is concerned with resolution of
`contentions for devices by attached host processors.
`The machine effected activities described in this patent
`occur after it has been determined to migrate or backup
`operating data sets which have already been stored in 25
`peripheral data storage devices, such as DASO. There(cid:173)
`fore, this patent does not address the problems of isolat(cid:173)
`ing the application programmer from peripheral data
`storage complexities.
`Kitajima et al in U.S. Pat. No. 4,542,458 teach allocat- 30
`ing data to devices based upon failure rates of the de(cid:173)
`vices. Such allocation certainly seems to continue the
`interaction of the application programmer with device
`parameters.
`Kamionka et al in U.S. Pat. No. 4,528,624 teach se- 35
`lecting peripheral devices for allocations preparatory to
`peripheral data storage based upon maximal free storage
`space in the devices. This selection is independent of the
`actual storage capacity of the various devices. This
`simple but effective selection process is machine exe- 40
`cuted after the application programmer has completed
`the device related JCL statements; i.e. the machine
`operations for data space allocations do not alleviate all
`of the interactions between the application programmer
`and device characteristics.
`Crabtree et al in U.S. Pat. No. 4,604,690 disclose an
`on-line method of reconfiguring a data processing sys(cid:173)
`tem for added 1/0 or peripheral devices. This patent
`teaches that a control block defining a newly added
`peripheral device can be added and stored in main mem- 50
`ory of a host processor so its use can start while the host
`processor is operating (no system generation is re(cid:173)
`quired).
`Setting up and attaching devices in real time does
`nothing to ease the above described interaction require- 55
`ments previously found in data processing environ(cid:173)
`ments.
`Kimura et al in U.S. Pat. No. 4,704,695 show an infer(cid:173)
`ence system wherein attributive information is supple(cid:173)
`mented to a knowledge unit for the purpose of smooth 60
`execution of the inference. While this patent shows
`adjusting operations based on later inputs (learning
`engine), it does not suggest how to resolve the problems
`set forth above.
`Clifton et al in U.S. Pat. No. 4,310,883 teach an allo- 65
`cation scheme for a tape library system, such as for the
`IBM 3850 Mass Storage System. This allocation process
`reqaires that the application programmer have an
`
`45
`
`4
`awareness of the tape library system-therefore does
`not eliminate the above referred to interaction that is to
`be eliminated. The patent does teach the concept of a
`group of storage volumes (virtual volumes in the tape
`library) which are scanned for finding a best suitable
`storage volume for storing a data set to be stored. Risk
`factors of the allocation succeeding or failing are a
`prime aspect of this teaching. Therefore, storage groups
`can be employed while still keeping the undesired inter(cid:173)
`action between application programmer and the periph(cid:173)
`eral data storage systems.
`
`SUMMARY OF THE INVENTION
`In accordance with the present invention, a plurality
`of data related classes are defined. Such classes are
`defined independent of each other. The classes are set
`up so as to enable a host processor to respond to data set
`parameters to implicitly select data storage units which
`can achieve the desired system operations for satisfying
`the data set parameters. The data set parameters are
`preferably implicitly derived from data set naming
`which arc governed by data set naming conventions
`and standards explicitly unrelated to peripheral data
`storage parameters.
`In a machine-effected method of the invention, the
`data related classes include data classes which are based
`upon predetermined data set parameters for diverse
`types of data sets to be stored and retrieved from pe(cid:173)
`ripheral data storage, storage classes which include
`classification by predetermined performance and avail(cid:173)
`ability parameters for data sets which are to be members
`of various ones of the storage classes, storage group(s),
`which define the collections of peripheral data storage
`devices as to status, capacity, connectability etc, and
`management classes which respectively define the life
`cycle characteristics of the various data sets. The infor(cid:173)
`mation from a storage class is used for selecting data
`storing volumes within one of the storage group(s)
`independently of any application program JCL state(cid:173)
`ments. Also, the available free space in the data storing
`volumes and their respective current levels of activity
`are factors in the selection of the storage group vol(cid:173)
`umes.
`The class selections for a given data set are preferably
`determined based upon a data set naming convention,
`such as a convention which includes identification of
`the business function which generated the data set, its
`size, allocation attributes, security criteria, and other
`related job information and needs. A data storing vol(cid:173)
`ume is directly or indirectly associable with a physical
`device; the selection of a data storing volume implies a
`selection of a device. Each physical device may have
`one or more data storing volumes, one data storing
`volume may be dispersed over a plurality of devices,
`logical devices may be used in addressing the physical
`device, and the like.
`The classes and groups are first defined using interac(cid:173)
`tive means by a so-called Storage Administrator. The
`defined classes and groups are assembled into control
`tables used to implicitly select data devices based on
`logical level specifications about the data set to receive
`an allocation of peripheral data storage space. In a pre(cid:173)
`ferred sequence of machine effected device selection,
`the data class is first selected, then a storage class is
`selected followed by selection of a management class.
`The selection of the three classes are then combined to
`select a storage group which best fits the parameters set
`forth in the three selected classes. The selection of
`
`Microsoft Ex. 1005, p. 6
`Microsoft v. Daedalus Blue
`IPR2021-00831
`
`
`
`5,018,060
`
`6
`program enables interactive steps 15-18 to generate
`data structures for insulating the application program(cid:173)
`mers from the characteristics of data storage system 12.
`The steps 15-18 can be an on-going time spaced interac(cid:173)
`tive operation, as schematically indicated by bracket 19,
`to keep tuning the operation of the data processing
`system.
`The interactive relationship between a host processor
`10 and an operator (Storage Administrator) includes
`terminal 13 and a terminal support program in such host
`processor 10. A preferred interactive system in setting
`up the classes and groups is the IBM Interactive System
`Management Facility (ISMF) which is a part of the
`IBM Data Facility Product (DFP). ISMF enables the
`steps illustrated in FIGS. 2 and 3 to be easily performed.
`In view of the plethora of interactive programs readily
`available, the internal details of such programs are not
`repeated here. The description herein discloses to one
`of ordinary skill how to implement the present inven(cid:173)
`tion. ISMF is menu driven having the following menu
`set up for establishing, inter alia, the classes, storage
`groups and ACS routines of the illustrated embodiment.
`
`5
`classes for any data set or data base depends not only on
`the class definitions, but also on the logic used in the
`automatic class selection processing. In all cases, the
`Storage Administrator (usually a person) has total con(cid:173)
`trol over the volume and class selection criteria; the s
`application programmer need not be concerned with
`such definitions. Once a storage group has been se(cid:173)
`lected, allocation of data storing space of a volume
`which is a member of the storage group may proceed
`asynchronously with respect to automatic class selec- 10
`tion.
`The foregoing and other objects, features, and advan(cid:173)
`tages of the invention will be apparent from the foUow(cid:173)
`ing more particular description of the preferred embodi(cid:173)
`ments of the invention, as illustrated in the accompany- I 5
`ing drawings.
`
`DESCRIPTION OF THE DRAWING
`FIG. 1 shows a plurality of host processors sharing a
`peripheral data storage system in which the present 20
`invention is advantageously practiced.
`FIG. 2 shows a simplified random executing set of
`machine operations involving interaction with a human
`being for establishing classes and groups usable for
`practicing the present invention in the FIG. 1 illustrated 25
`system.
`FIG. 3 is a simplified flowchart of machine effected
`operations which compile automatic class selection
`the classes and groups. defiaal by the FIG.
`roUitillilCS b
`2 illustrated machine operations.
`FIG. 4 is a simplified block diagram showing the
`relationships of application programs to peripheral data
`storage when practicing the present invention in the
`FIG. 1 illustrated system.
`FIG. 5 is a simplified block diagram of a peripheral 35
`data storage system for which the present invention is
`advantageously applied.
`FIG • i& a simplified sho,Ji,,ing of data structures us(cid:173)
`able with die FIG. 4 illustrated system.
`FIG. 7 is a simplified flow chart of machine opera- 40
`tions for selecting classes for a data set when practicing
`the present invention.
`FIG. 8 is a simplified flow chart of machine opera(cid:173)
`tions for allocating data storage space in one or more
`peripheral data storage devices after the class selections 45
`for data sets as shown in FIG. 7.
`
`30
`
`DETAILED DESCRIPTION
`Referring now more particularly to the appended
`drawings, like numerals indicate like features and opera- 50
`tions in the various figures. FIG. 1 shows a data pro(cid:173)
`cessing system having a plurality of host processors 10
`sharing a periphenl data storage system 12 via a plural-
`ity of input-output connections (such as 1/0 channels)
`11. The present invention makes the data processing 55
`system easier to use by application programmers.
`FIG. 2 illustrates the preparatory steps for imple(cid:173)
`menting the present invention in the FIG. I illustrated
`data processing system. A machine-human interactive
`
`ISMF PROFILE
`0
`1 DATA SET APPLICATION
`2 VOLUME APPLICATION
`3 MANAGEMENT CLASS
`
`4 DATACLASS
`5 STORAGE CLASS
`6 STORAGE GROUP
`7 ACS APPLICATION
`
`8 CDS
`S DFSORT
`X EXIT
`
`ISMF MENU
`change profile
`data set functions
`volume functions
`set up/alter management
`classes
`set up/alter data classes
`set up/alter storage classes
`set up/alter storage groups
`automatic class selection
`functions
`control data set functions
`sort/copy /merge functions
`
`The words selected above differ slightly from that
`used in ISMF.
`Step 15 provides for interactive definition of data
`classes. Such interactive definition is achieved by using
`ISMF selection number 4. A data class specifies data set
`logical attributes, such as data set type, record length,
`data storage space requirements in terms of logical
`bytes not in terms of physical storage space require(cid:173)
`ments, expiration and retention dates for the data set
`and any Virtual Storage Access Method (VSAM) data
`set options. Just the data class by itself will simplify data
`set allocation (eg JCL DD statements are simplified),
`help introduce allocations standards and can be used
`with later defined classes in accordance with the pres(cid:173)
`ent invention or can be used independently with in(cid:173)
`creased isolation of the application programmer from
`the peripheral data storage system, as will become ap(cid:173)
`parent.
`A suitable set of data classes, defined using ISMF, for
`first installing an embodiment of the invention is shown
`in the table below:
`
`TABLE OF DAT A CLASSES
`
`CLASS
`
`DATAF
`
`DATAV
`
`VB
`
`SRCFLIB FB
`
`DIR
`RECFM LRECL AVGREC AVGVAL PSPACE SSPACE
`u
`0
`FB
`SK
`80
`80
`5K
`u
`5K
`5K
`u
`SK
`
`255
`
`80
`
`255
`
`80
`
`0
`
`62
`
`Microsoft Ex. 1005, p. 7
`Microsoft v. Daedalus Blue
`IPR2021-00831
`
`
`
`7
`-continued
`TABLE OF DA TA CLASSES
`
`5,018,060
`
`8
`
`CLASS
`
`SRCVLIB VB
`LOADLIB u
`
`LISTING VBA
`
`ENTRY
`
`KEYED
`
`DIRECT
`
`LINEAR
`
`ES
`
`KS
`
`RR
`
`LS
`
`RECFM LRECL AVGREC AVGVAL PSPACE
`SK
`SK
`SK
`50
`50
`20K
`20K
`100
`100
`100
`100
`100
`100
`100
`100
`
`255
`
`NA
`
`137
`
`NA
`
`0
`
`u
`u
`u
`u
`u
`u
`u
`
`255
`
`23476
`
`137
`
`4K
`
`4K
`
`4K
`
`4K
`
`35
`
`In the table above the acronyms are:
`Data class names; DAT AF-sequential fixed length 20
`record; DAT AV -sequential variable length records;
`SRCFLIB-partitioned fixed length record source;
`SRCVLIB-partitioned variable length record source;
`LOADLIB-partitioned load module library; LISTIN(cid:173)
`G-sequential SYSOUT listing (SYSOUT is system 25
`output); ENTRY-VSAM entry sequenced; KEYE(cid:173)
`D-VSAM key sequenced; DIRECT-VSAM relative
`record and LINEAR-VSAM linear data set.
`The column headings; RECFM-record format;
`LRECL-logical record length; A VGREC-scale fac- 30
`tor for data storing space (i.e. megabyte (MB), kilobyte
`(KB) or other units of spaGe); A VG Value -average
`value of the record length; PSPACE-primary space
`required; SP ACE-secondary space required and
`DIR-size of a directory for the data set.
`Acronyms
`in
`the columns; FB-fixed block;
`VB-variably sized block; U-undefined records (mul(cid:173)
`tiply by 1); VBA-variable blocked with ASA charac(cid:173)
`ters; ES-entry sequenced; KS-key sequenced:
`RR-relative record; and LS-linear record.
`From inspection of the table above, it is seen that data
`set parameters are defined in the data classes for charac(cid:173)
`terizing the data of the various data sets to be stored. In
`other words, a data class sets forth how a data set looks
`to a data processor.
`A defined data class applies to data sets being stored
`on both system managed and non-system managed data
`storing volumes. The term non-system managed vol(cid:173)
`umes indicates those volumes not selected or otherwise
`controlled via the system in which the present invention 50
`may be incorporated. Data sets assigned to any data
`class are storable in data storage system 12 either as
`system managed or non-system managed data sets.
`Step 16, invoked by selecting 5 on the above ISMF
`menu, interactively defmes storage classes using the 55
`facilities and procedures referred to for step 15. Each
`storage class sets forth its own set of storage services in
`device independent terms. Such services include ran(cid:173)
`dom access specifications, sequential access specifica(cid:173)
`tions, guaranteed space (i.e. pre-allocation of data stor- 60
`age space before any attempted storage of data in the
`peripheral data storage system), etc. From the above
`listed terms, it is seen that the requirements are separate
`from device capabilities. Once a data set is assigned to a
`storage class, then the present invention is used in man- 65
`aging the data set; for convenience such a data set is
`termed a "system managed data set". The format of the
`class definition is arbitrary and not shown here. The
`
`40
`
`45
`
`DIR
`SSPACE
`
`62
`
`62
`
`0
`
`0
`
`0
`
`0
`
`0
`
`paragraph below lists a series of storage classes suitable
`for practicing the present invention.
`A brief description of some exemplary storage classes
`and their service attributes follows. Storage class
`DBLOG is for data base logs. It has direct access speci(cid:173)
`fication of a bias to reading with a response time of five
`milliseconds. Sequential specifications are a bias to re(cid:173)
`cording or writing data sets to the data storage system
`12 with a response time of three milliseconds. Guaran(cid:173)
`teed space is required for data sets in this class. The
`storage class DBBASE is for so-called standard or usual
`performance data bases. The only specification here is
`guaranteed space. The storage class DBENHANC for
`enhanced performance data bases have data sets with a
`direct access specification of reading in ten milliseconds
`and a sequential access read access time of ten millisec(cid:173)
`onds. Guaranteed space is provided for data sets in this
`storage class. The storage class DBCRIT for high avail(cid:173)
`ability data bases has a direct access read specification
`for ten milliseconds, a sequential read access specifica(cid:173)
`tion of ten milliseconds, continuous availability of the
`data to the host processors 10 and an entitlement to
`guaranteed space. The storage class DBF AST for high
`performance data bases has direct access read response
`time of five milliseconds, a sequential read response
`time of five milliseconds and guaranteed space for mem(cid:173)
`ber data sets. The storage class BASE includes standard
`performance services as may be provided by data stor(cid:173)
`age system 12. The storage class ENHANCED is a set
`of enhance performance storage services. A direct and
`sequential access response time of ten milliseconds is
`provided for all accesses (read and write). The storage
`class CRITICAL has the services of continuous avail(cid:173)
`ability with direct and sequential access responses of ten
`milliseconds for all types of accesses. The storage class
`F ASTREAD describes storage services for high read
`performance. The specifications are for an access re(cid:173)
`sponse time of five milliseconds for all read accesses in
`both the direct and sequential modes. The last described
`storage class is FASTWRIT for high write perfor(cid:173)
`mance services. A write or recording storage access of
`five milliseconds is provided in the direct access mode
`and three milliseconds in the sequential mode.
`Executing step 17, invoked by selecting 3 on the
`ISMF menu above, generates definitions for manage(cid:173)
`ment classes. Each management class relates to life
`cycle controls for a data set. Each specifies space, avail(cid:173)
`ability and retention management requirements. These
`specifications include migration from a high or rapid
`
`Microsoft Ex. 1005, p. 8
`Microsoft v. Daedalus Blue
`IPR2021-00831
`
`
`
`5,018,060
`
`9
`access level of a data storage hierarchy to lower levels
`or slower accesses, expiration and retention dates and
`limits, backup frequency (zero means no backup), reten(cid:173)
`tion of backup copies, generation data group (GOG)
`and set processing options (each GOG is a version of S
`data, each time a data set is updated it is a candidate to
`become a new version of that data-i.e. a next genera(cid:173)
`tion of the data) and partial release options. Partial
`release means an unused portion of the data storage may
`be released, i.e. returned to a free or available space list 10
`for the volume. The description below describes a set of
`management classes defined via ISMF and which are
`suitable for practicing the present invention.
`All management cla