throbber
liii
`
`11111
`
`III
`
`111111
`
`11111111
`
`III 111111111111111111111111111111111111111
`
`11111
`
`US005293618A
`Patent Number
`
`Date of Patent
`
`5293618
`Mar
`
`1994
`
`grammer of Hitachi Program Product VOS 3/ES Sys
`tem 1988 pp 97104
`
`Primary ExaminerGareth
`Assistant ExaminerA Katbab
`Attorney Agent or FirmAntonelli Terry Stout
`Kraus
`
`Shaw
`
`ABSTRACT
`
`file
`
`In an information processing system including
`shared by computer systems each having
`central pro
`cessing system and main memory method for con
`trolling access to the shared file includes
`step of stor
`read from the file into the main memory
`ing blocks
`when the blocks of the file are updated and
`step of
`portion of the blocks held in
`least
`comparing at
`cache memory with at
`portion of the blocks
`least
`stored in the main memory When the comparison of at
`the portion of the blocks held in the cache memory
`with at least
`the portion of the blocks stored in the main
`memory indicates mismatching the block is read from
`the file into the main memory and when the compari
`son indicates matching the block of the main memory is
`updated The data to be updated may be in
`resident
`same area
`area an input/output
`buffer or
`
`least
`
`Claims Drawing Sheets
`
`501
`
`IY
`
`503
`
`504
`
`UPDATE UPDATE STATUS
`INDICATOR IN CACHE
`MEMORY AND UPDATE
`BLOCK ON DISK MEDIUM
`
`BLOCK INTO
`WRITE
`MAIN MEMORY
`
`CEND
`
`United States Patent
`
`Tandal et al
`
`METHOD FOR CONTROLLING ACCESS TO
`SHARED FILE AND APPARATUS
`ThEREFOR
`
`Inventors
`
`Michio Tandai Yokohama Masaaki
`llama Fujisawa Fujio Fujita
`Yokohama all of Japan
`
`Assignees Hitachi Ltd Tokyo Hitachi
`Software Engineering Co Ltd
`Yokohama both of Japan
`AppI No 614088
`Nov 15 1990
`
`Filed
`
`Foreign Application Priority Data
`
`Japan
`
`1-300611
`
`Nov 18 1989
`mt Q5
`
`U.S Cl
`
`Field of Search
`
`364/246.6
`
`GO6F 7/00 GO6F 7/20
`GO6F 7/04
`395/650 364/DIG
`364/243.41
`364/228.1
`395/650 364/DIG
`364/246.6
`228.1 243.41
`
`References Cited
`U.S PATENT DOCUMENTS
`
`4823310
`4897782
`
`4/1989
`
`Grand
`
`1/1990
`
`Bennett et al
`
`364/900
`
`364/200
`
`OTHER PUBLICATIONS
`DASD sharing with other systems Manual for Pro
`
`START
`
`READ UPDATE STATUS
`OF BLOCK TO
`INDICATOR
`BE UPDATED
`IN CACHE
`MEMORY
`
`AND UPDATE
`STATUS INDICATOR IN
`CACHE MEMORY EQUAL
`
`ARE CONTENT OF SAVEffAREA
`
`Petitioner IBM – Ex. 1062, p. 1
`
`

`
`U.S Patent
`
`Mar
`
`1994
`
`Sheet
`
`of
`
`5293618
`
`I/O BUFFER
`
`106
`
`L5i
`
`RESIDENT
`AREA
`
`RESIDENT
`AREA
`
`RESI DENT
`AREA
`
`RESIDENT
`AREA
`
`RESIDENT
`AREA
`
`RESIDENT
`AREA
`
`_I08
`
`Petitioner IBM – Ex. 1062, p. 2
`
`

`
`U.S Patent
`
`Mar
`
`1994
`
`Sheet
`
`of
`
`5293618
`
`FIG
`
`-20I
`
`201
`
`DATA
`ACCESSING
`UNIT
`
`DATA
`ACCESSING
`UNIT
`
`CHANNEL
`PROGRAM
`UNIT
`
`202
`
`OPERATION OF DATA
`ACCESSING UNIT
`
`301
`
`304
`
`ISSUE CHANNEL PROGRAM
`HAVING PROCESS OF FIG.4
`AND START
`TO READ
`BLOCK TO BE UPDATED
`INTO I/O BUFFER
`
`302
`SAVE UPDATE STATUS
`INTO SAVE
`INDICATOR
`AREA
`
`303
`
`UPDATE
`CONTENT OF
`BLOCK IN I/O BUFFER
`
`ISSUE CHANNEL PROGRAM
`HAVING PROCESS OF FIG
`
`IS DECISION IN 502
`OF FIG.5 YES
`
`NQ
`
`YES
`
`CENDD
`
`Petitioner IBM – Ex. 1062, p. 3
`
`

`
`U.S Patent
`
`Mar
`
`1994
`
`Sheet
`
`of
`
`5293618
`
`FIG
`
`START
`
`POSITION READING OF BLOCK
`BY CHANNEL PROGRAM UNIT
`TO THE BLOCK ON DISK MEDIUM
`
`401
`
`READ BLOCK INTO MAIN
`MEMORY AND STORE
`UPDATE STATUS INDICATOR
`INTO CACHE MEMORY
`
`402
`
`CENDD
`
`FIG
`
`START
`
`50I
`
`NO
`
`503
`
`504
`
`BLOCK INTO
`WRITE
`MAIN MEMORY
`
`READ UPDATE
`STATUS
`INDICATOR OF BLOCK TO
`BE UPDATED IN CACHE
`MEMORY
`
`/SA\
`
`AREA AND UPDATE
`STATUS INDICATOR
`IN
`CACHE MEMORY EQUAL
`
`IYES
`
`UPDATE
`UPDATE
`STATUS
`INDICATOR IN CACHE
`MEMORY AND UPDATE
`BLOCK ON DISK MEDIUM
`
`CEDD
`
`Petitioner IBM – Ex. 1062, p. 4
`
`

`
`U.S Patent
`
`Mar
`
`1994
`
`Sheet
`
`of
`
`5293618
`
`FIG
`
`READ INDEX BLOCK
`AND
`HAVING POINTER
`WRITE BLOCK AT ADDRESS
`POINTED BY POINTER
`sTAm DATA ACCESSING UNIT
`
`PROGRAM
`ISSUE CHANNEL
`HAVING PROCESS OF FIG
`AND START READING OF
`INDEX BLOCK FROM DISK
`INTO I/O BUFFER
`
`601
`
`DETERMINE TARGET BLOCK
`ADDRESS BASED ON POINTER
`IN INDEX BLOCK
`
`602
`
`ISSUE CHANNEL PROGRAM
`HAVING PROCESS OF FIG
`FOR READING TARGET BLOCK
`
`YES
`
`CEND
`
`Petitioner IBM – Ex. 1062, p. 5
`
`

`
`U.S Patent
`
`Mar
`
`1994
`
`Sheet
`
`of
`
`5293618
`
`FIG
`
`POINTER RELATIONSHIP
`
`IN FILE
`
`109
`
`FIG
`TARD
`
`_______________________
`
`_______________________
`
`POSITION TO BLOCK
`ON DISK MEDIUM
`
`701
`
`BLOCK INTO MAIN
`WRITE
`MEMORY AND STORE
`BLOCK INTO CACHE
`MEMORY
`
`.--- 702
`
`CENDD
`
`Petitioner IBM – Ex. 1062, p. 6
`
`

`
`U.S Patent
`
`Mar
`
`1994
`
`Sheet
`
`of
`
`5293618
`
`FIG
`
`STARD
`
`COMPARE INDEX BLOCK
`STORED IN I/O BUFFER
`INDEX BLOCK IN
`WITH
`CORRESPONDING
`CACHE MEMORY
`
`801
`
`ARE COENT OF I/O
`BUFFER AND CONTENT CF
`
`CEMYEQUAL
`
`803
`
`YES
`
`WRITE TARGET BLOCK
`POINTED BY POINTER CF
`INDEX BLOCK INTO
`MAIN MEMORY
`
`WRITE INDEX BLOCK
`INTO MAIN MEMORY
`
`ENDD
`
`Petitioner IBM – Ex. 1062, p. 7
`
`

`
`U.S Patent
`
`Mar
`
`1994
`
`Sheet
`
`of
`
`5293618
`
`FIG 10
`
`START_D
`
`ISSUE CHANNEL
`AND DJMINE 901
`PROGRAM HAVING_PROCESS
`CF FIG
`WHETHER
`CONTENT OF
`BLOCK IN RESIDENT
`AREA IS LATEST ONE
`
`USE CONTENT OF BLOCK
`IN RESIDENT AREA
`
`STORE CCNTENT OF
`NEWLY
`READ BLOCK INTO
`RESIDENT AREA AND USE
`THE CONTENT
`
`END
`
`Petitioner IBM – Ex. 1062, p. 8
`
`

`
`U.S Patent
`
`Mar
`
`1994
`
`Sheet
`
`of
`
`5293618
`
`FIG II
`
`START
`
`UPDATE STATUS
`READ
`INDICATOR IN CACHE
`MEMORY CORRESPONDING
`TO BLOCK TO BE WRITTEN
`
`I00I
`
`/ARE CONTENT OF
`RESIDENT AREA AND
`UPDATE STATUS
`IN CACHE
`INDICATOR
`MEMORY EQUAL
`
`1002
`
`NO
`
`YES
`
`1003
`
`BLOCK INTO
`WRITE
`MAIN MEMORY
`
`LEND
`
`Petitioner IBM – Ex. 1062, p. 9
`
`

`
`5293618
`
`METHOD FOR CONTROLLING ACCESS TO
`SHARED FILE AND APPARATUS THEREFOR
`
`cuted by another computer system Thus the resident
`function cannot be used among the computer systems
`SUMMARY OF THE INVENTION
`
`to
`
`It
`
`is
`
`cessing
`
`10
`
`plurality
`
`It
`
`is
`
`20
`
`It
`
`BACKGROUND OF THE INVENTION
`invention to enhance
`first object of the present
`information pro-
`processing efficiency of an overall
`The present
`invention relates to access control
`system by eliminating the exclusive control
`shared file stored for example on
`disk drive or mag-
`time period from the reading of desired block
`during
`netic tape drive which is shared and updated by
`plu-
`to the writing of update data in an update process for
`rality of computer systems and more particularly to
`plurality of computer systems with the
`file shared by
`access control which eliminates need for exclusive con-
`updating or from the reading of
`block having
`in an update process and improves performance of
`trol
`pointer such as an index to the reading of
`desired
`data accessing in block writing
`block at an address pointed by the pointer
`In middle size to large size information processing
`second object of the present invention to en-
`systems one disk file is frequently shared by
`file shared by
`data access performance in
`15 hance
`of computer systems Especially
`system register disk
`plurality of computer
`systems with the updating by
`on which files are registered is shared and fre-
`file
`suppressing the reading from the file and using the con
`quently updated or overwritten
`tent of the block stored in main memory when the
`In the past when one file is shared by
`plurality of
`desired block has not been updated
`computer systems duplicate updating is prevented by
`invention to pro-
`is another object of the present
`exclusive control of the writing of desired block to the
`data accessing perfor
`system which enhances
`vide
`reading for updating when data processing is to be per-
`mance of computer systems of multi-computer
`system
`formed for the desired stored block by
`computer sys-
`file shared by the computer system with the updat
`for
`in the DASD Sharing
`tem For example as described
`ing by using resident area of main memory of each of
`with other systems manual for Programmer of Hitachi
`cache memory of the file
`the computer systems and
`Program Product VOS3/ES
`System 1988
`pages
`shared by the computer systems so that
`the input/out-
`97104 when an I/O request
`shared file is issued
`put to the file medium is reduced
`to
`disk drive on which the shared file is stored is exclu-
`the above objects in accordance
`In order
`to achieve
`computer system by
`by the associated
`with the present
`cache
`invention
`there are provided
`an instruction set such as RESERVE macro which is 30 memory for storing all or
`predetermined portion of
`issued from CPU to the disk drive to designate
`block written from shared file into main memory
`occupy the disk drive and I/O requests
`from other
`block
`and means for comparing at the time of updating
`computer systems have to wait until
`the occupation is
`all or portion of the block stored in the cache memory
`released by an instruction set such as DEQ macro
`with the content of data in the main memory and read-
`which is issued to release the designated disk drive from
`the comparison indicates mismatch-
`ing the shared file if
`the occupation exclusive control
`ing In order
`the above sequence
`there is
`to support
`The file such as
`system register comprises an index
`scheme wherein when
`block on the shared
`provided
`data field and in many cases it
`field and
`file to be accessed is written into the main memory an
`file struc-
`relationship among blocks of the
`ture having
`portion of the block
`entire portion of the block or
`file When the file is shared with updating the exclusive
`an update status of the block
`40 which uniquely represents
`is performed even for an input process without
`referred to as an update indicator
`hereinafter
`is also
`period from the reading of an index
`stored in the cache memory The entire block in the
`updating during
`desired data block to the read-
`having the pointer into
`cache memory or the update indicator
`is updated in the
`cache memory when the block is written into the file
`ing by the disk drive of the data block which is at the
`address pointed by the pointer This is done in order to
`Thus
`the cache memory can also be shared by the
`if addition updating
`plurality of computer systems By comparing the entire
`prevent process discrepancy that
`of
`record to
`data block is done in an updating pro-
`block in the cache memory or the update indicator with
`cess by another computer system during the period
`the entire content of the block or the content
`of the
`update area stored in the main memory when the block
`from the reading of the index in the input process to the
`reading of the data block the target data which was in
`was written into the main memory it
`to
`is possible
`the time of read-
`the data block pointed by the index at
`determine whether
`the block has been updated by
`ing of the index in the input process has been moved to
`process of another computer system or not without
`actually reading the block stored in the file The deci
`another data block and the target data which should
`sion may be made without physical movement such as
`exist cannot be located
`In the prior art when the computer system accesses 55
`the movement of an access arm of
`disk drive or the
`disk Since no physical movement which
`the shared file the exclusive control
`is performed to
`rotation of
`suppress simultaneous access by other computer
`time
`considerable portion of an input/output
`occupies
`sys-
`tems Accordingly the processing performance of the
`to the disk file is involved the decision time for the
`information
`be en-
`processing system cannot
`process of another computer system is very small and
`overall
`hanced In
`single computer system resident area is 60 negligible
`When the block is written in
`main memory to reduce
`block update process
`input/output
`provided in
`the content of the cache memory is compared with the
`operation of the file and enhance data accessing perfor-
`mance On the other hand in multi-computer
`content of the corresponding data stored in the main
`system
`the updating has been
`memory to determine whether
`from the computer system to the
`in the input process
`shared file the content of the desired block which has 65 made by
`process of another computer system during
`time period from the reading of the block to the writing
`been previously written into the main memory is not
`used but the block on the file is fetched on the assump-
`In the writing of the block for updating the content
`tion tht the block has been updated by
`when the block was written into the main memory is
`process exe-
`
`sively occupied
`
`pointer
`
`control
`
`and
`
`is
`
`25
`
`35
`
`45
`
`50
`
`Petitioner IBM – Ex. 1062, p. 10
`
`

`
`5293618
`
`10
`
`compared with the content of the cache memory and if
`the comparison matches it means that no updating by
`another computer system has been made and the block
`is updated If
`the comparison mismatches the block is
`read out In this manner
`the data is correctly updated
`without
`the exclusive control and the duplicate updat
`ing by the plurality of computer systems is prevented
`structure which has
`pointer rela
`In
`file having
`plurality of com
`tionship such as an index shared by
`puter systems with the updating when
`target block is
`read in an input process is which an index block having
`pointer is written into the main memory and the target
`block is read based on an address pointed by the pointer
`the content of the index block written into the main
`memory is compared with the content of
`the index 15
`block stored in the cache memory to determine whether
`the index block has been updated by another computer
`time period from the reading of the
`system during
`index block to the reading of the target block Namely
`is determined whether
`the address of the target block 20
`the time of reading of the target
`may be determined at
`block based on the content of the index block at the time
`of writing into the main memory Thus when the target
`block is read the content of the index block stored in
`the main memory is compared with the content of the 25
`index block stored in the cache memory and if
`the
`comparison matches the target block is read and if the
`comparison mismatches the index block is read In this
`manner the process from the reading of the index block
`to the reading of the target block at 30
`having the pointer
`the address pointed by the pointer
`is correctly carried
`out without exclusive control
`
`it
`
`indicator of the
`Further by comparing the update
`block which is in the cache memory when the block is
`read with the update indicator of the block which was 35
`in the main memory when the block was written into
`the main memory it
`is possible to determine whether
`the content of the block stored in the main memory can
`be used as it
`is or not
`the comparison matches the
`If
`input/output operation to the file which is accompanied
`by the physical movement
`is not carried out but
`the
`content of the block stored in the main memory is used
`the comparison mismatches the block is read
`is If
`as it
`from the file In this manner the input/output
`operation
`to the file which is accompanied
`by the physical move- 45
`ment can be reduced
`high advantage
`is expected
`particularly when the present
`technique is applied to the
`index having
`frequency and
`high access
`small stor
`age capacity
`
`40
`
`FIG shows
`process of the channel program unit
`target block pointed by an index block
`for reading
`used in FIG
`FIG 10 shows
`process of the data accessing unit for
`residential area in main
`block reading by utilizing
`memory and
`FIG 11 shows
`process of the channel program unit
`for block reading used in FIG 10
`DESCRIPTION OF THE PREFERRED
`EMBODIMENTS
`
`resi
`
`invention will now be
`Embodiments of the present
`to the accompanying draw
`explained with reference
`ings
`FIG shows
`system configuration of one embodi
`ment of the present
`in which two computer
`invention
`common file 108 In the
`systems 101 and 101 share
`disk file The disk
`following description the file 108 is
`file 108
`plurality of disk media 109 and
`includes
`cache memory 110
`block data in
`block 111 stored
`on the disk medium 109 contains
`data field stored in an
`predetermined update area 112 to represent an update
`status The update status of the block can be detected by
`the update area 112 The computer system 101
`checking
`central processing unit 102
`channel
`103 and
`includes
`main memory 104 The central processing unit 102
`operation and carries out arith
`starts an input/output
`103 con
`metic and logical operations and the channel
`to the disk file 108 to transfer data
`trols the input/output
`with the main memory 104 The main memory 104 has
`an input/output buffer 105 for the block 111 on the disk
`medium 109 of the disk file 108
`save area 106
`for
`saving the update area 112 of the block 111 and
`dent area 107 for reducing the input/output
`operation
`to the disk file 108 The cache memory 110 in the disk
`file 108 may store the entire block inputted or outputted
`command from the channel 103 or only the content
`by
`of the update area which is
`portion of the block In the
`present embodiment only the latter is stored at an up
`113 in the cache memory 110
`date status indicator
`FIG shows
`relationship of the processing units of
`In FIG numerals 201 and 201
`invention
`the present
`denote
`data accessing Units in the central processing
`units 102 and 102 of the computer systems 101 and 101
`for executing I/O operations and numeral 202 denotes
`channel program unit
`channel pro
`for executing
`gram for the disk file in the input/output
`channel
`103 or
`the disk file 108
`referring to FIGS to
`the operation of the
`First
`data accessing units 201 and 201 and the channel pro
`gram unit 202 in the update process is explained FIG
`shows
`flow chart of the data accessing unit 201 in the
`present example in the update process FIG shows
`flow chart of the channel program unit 202 for block
`reading and FIG shows
`flow chart of the channel
`program unit 202 for block updating
`The data accessing
`channel
`unit 201
`issues
`process shown in FIG to the channel
`program of
`program unit 202 in order to read prior to the updating
`the block 111 to be updated which is stored on the disk
`medium 109 of the disk file 108 into the input/output
`buffer 105 of the main memory 104 step 301 In accor
`dance with the process shown in FIG the channel
`program unit 202 locates the block 111 on the disk me
`dium 109 step 401 writes the block 111 into the input
`/output buffer 105 in the main memory 104 and stores
`portion of the block 111 or the content of the update
`
`first
`
`50
`
`55
`
`data accessing unit which
`in an update process
`channel program unit for
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`FIG shows as system configuration of one embodi
`ment of the present
`invention
`FIG shows
`relational configuration of processing
`units of the present
`invention
`FIG shows
`process of
`eliminates exclusive control
`FIG shows
`process of
`block reading used in FIG
`FIG shows
`process of the channel program unit 60
`for block updating used in FIG
`FIG shows
`process of
`data accessing unit which
`in an input process for
`eliminates exclusive control
`having an index
`FIG shows
`view of pointer
`conceptual
`plurality of blocks
`ship among
`in
`file
`FIG shows
`process of the channel program unit
`for index block reading used in FIG
`
`file
`
`relation-
`
`65
`
`Petitioner IBM – Ex. 1062, p. 11
`
`

`
`5293618
`
`indicator
`
`15
`
`first
`
`35
`
`45
`
`113 of the
`
`area 112 into the update
`status
`cache memory 110 step 402
`The update area may store count data or time which
`may be used as an index of history of the updating of the
`block which is frequently updated Alternatively the
`entire content of the block 111 may be stored in the area
`112 clhis will be described
`later with reference to
`FIGS and
`The data accessing unit 201 than saves the content of
`buffer 105 into the 10
`the data stored in the input/output
`save area 106 step 302 Then the data accessing unit
`201 updates
`the content of the block under consider
`buffer 105 step 303 and
`ation in the input/output
`into the disk file 108 by issuing
`channel pro
`writes it
`process shown in FIG to the channel pro-
`gram of
`gram unit 202 step 304 In accordance with the pro
`cess shown in FIG the channel program unit
`reads the content stored in the cache memory 110 that
`is the content of the block to be updated which has
`been in the update status indicator 113 step 501 Then 20
`it compares the content of the update area 112 at
`the
`time of the reading which has been saved in the save
`area 106 of the main memory with the content of the
`update status indicator 113 in the cache memory 110 to
`determine whether
`the update status indicator 113 of 25
`the cache memory 110 of the disk file has been updated
`by the other computer system 101 after the reading of
`the block or not step 502 Since the decision is made
`by comparing the data in the cache memory 110 with
`out reading the block from the disk medium 109 no 30
`rotation waiting time of the disk medium 109 due to the
`the physical movement due to the
`read operation nor
`movement of the access arm of the disk file 108 is in
`time is minimized In the step
`volved and the process
`502 if
`there has been no updating by the other com-
`is YES and the updated
`puter system 101 the decision
`data is overwritten on the update status indicator 113 of
`the block in the cache memory 110 and it
`is written into
`the disk medium 109 step 503 to complete the desired
`the decision is NO it means 40
`updating In the step 502 if
`there has been updating of the disk data by the
`that
`other computer system 101 the channel program unit
`202 writes the block into the main memory 104 to up
`date the data which has been updated
`by the other
`computer system step 504
`On the other hand the data accessing unit 201 exam
`ines the result of execution of the channel program of
`FIG by the channel program unit 202 and if
`the
`decision in the step 502 is YES it means that the block
`has been read for updating and the process
`the decision is NO it means that
`nated If
`the updating
`has been made by the other computer system 101 and
`returns to the step 302 to process block
`the process
`which has been updated by the other computer system
`101 step 305
`In this manner by the processes of the data accessing
`unit and the channel program unit shown in FIGS to
`the duplicate updating due to the duplication of the
`can be
`plurality of computer
`updating by
`systems
`prevented without
`the exclusive control
`Referring now to FIGS to
`the operation of the
`data accessing unit 201 and the channel program unit
`202 when the input process for
`block is carried out by
`blocks
`pointer between
`tracking
`file having
`for
`relationship among blocks 65
`structure which has pointer
`as represented by an index FIG shows
`flow chart of
`the data accessing unit 201 from the reading of an index
`block having
`from the disk file to the reading
`pointer
`
`is termi- 50
`
`55
`
`60
`
`first
`
`issues
`
`the address pointed by the pointer
`target block at
`of
`and FIG shows
`relationship between
`pointer
`block 664 in the file and an index block 662 having
`pointer which indicates the location of the block FIG
`flow chart of the channel program unit 202
`shows
`and FIG shows
`for reading the index block
`flow
`chart of the channel program unit 202 for reading the
`target block pointed by the index block
`The disk medium 109 shown in FIG has
`second group of blocks 664
`group of blocks 662 and
`The former contains an index to indicate the location of
`the latter on the disk medium
`The data accessing unit 201 first
`channel
`program of the process shown in FIG to the channel
`to write the index block
`program unit 202 in order
`stored on the disk medium 109 of the disk file 108 into
`buffer 105 of the main memory 104
`the input/output
`step 601 The process of the channel program of FIG
`differs from that of FIG only in that the entire block
`portion of the block as in FIG is stored
`instead of
`into the cache memory 110 The channel program of
`FIG may also be used in the present embodiment by
`using the pointer field in the index block of FIG as the
`update status indicator In response to the issuance of
`the channel program of FIG the channel program
`read head to the block 111 to be read
`unit 202 positions
`on the disk medium 109 step 701 and reads the block
`buffer 105
`in the main memory
`into the input/output
`104 and also stores the content of the block 111 into the
`cache memory 110 step 702
`Then the data accessing unit 201 determines the
`address of the target block based on the pointer
`in the
`index block step 602 and issues the channel
`fetched
`program of FIG to the channel program unit 202 to
`read the target block step 603 In accordance with the
`process of FIG the channel program unit 202 com
`pares the content of the index block fetched
`into the
`buffer 105 of the main memory 104 with
`input/output
`the content of the index block stored in the cache mem
`ory 110 step 801 to determine whether the index block
`has been updated by the other computer system 101
`time period from the reading of the index block
`during
`to the reading of the target block step 802 If the com
`parison matches YES in the step 802 it means that
`there has been no updating of the index block by the
`other computer system 101 and the pointer of the index
`block stored in the input/output buffer 105 may be used
`Thus the target block designated by the pointer
`is read
`step 803 If
`the content of the index block has not been
`modified it
`for the processing unit which
`is necessary
`updates the index block and the target block pointed by
`the pointer of the index block to follow the process
`sequence of first updating the index block and then
`updating the target block or carry out
`the exclusive
`time period from the updating of the
`control during
`target block to the updating of the index block to pre
`vent
`operation during the period from
`the input/output
`the updating of the target block to the updating of the
`index block in order
`the content of the
`to assure that
`target block pointed by the pointer of the index block
`matches the content of the index block If
`the decision
`in the step 802 is NO it means that there has been updat
`ing of the index block by the other computer system
`101 and the index block is written again into the input
`/output buffer 105 to recycle the process step 804
`Like the step 502 of FIG the decision of the step 802
`in minimum process
`time without
`can be processed
`rotation waiting time of the disk medium
`
`Petitioner IBM – Ex. 1062, p. 12
`
`

`
`5293618
`
`10
`
`15
`
`25
`
`35
`
`On the other hand the data accessing unit 201 exam
`ines the result of execution of the channel program of
`FIG and if
`the decision in the step 802 is YES it
`means that
`the target block has been written and the
`is NO it means
`is terminated If
`the decision
`process
`there has been updating by the other computer
`that
`system 101 and the process
`returns to the step 602 to
`recycle the process step 604
`By the processes of the data accessing unit and the
`channel program unit shown in FIGS to
`the exclu-
`in the input process of the file can be elimi
`sive control
`nated where the file having the structure which has the
`relationship among blocks is shared by plural
`pointer
`ity of computer systems with the updating
`Referring now to FIGS 10 and 11 the enhancement
`of performance of data accessing by the resident area
`107 of the block on the main memory 104 for each of the
`101 and 101 is explained FIG 10
`computer systems
`shows
`flow chart of the data accessing unit 201 for
`operation to the disk medium 20
`reducing the input/output
`109 to enhance the speed of data accessing by providing
`the resident area 107 in the main memory 104 and FIG
`11 shows
`flow chart of the channel program unit 202
`for reading the block
`The data accessing unit 201 first
`issues the channel
`program of FIG 11 to the channel program unit 202
`step 901 to determine whether the content of the block
`in the resident area 107 of the main memory 104 is the
`is whether
`the content of the
`latest one or not
`that
`block in the resident area 107 may be used as it
`is or not 30
`The channel program unit 202 reads the update status
`indicator 113 in the cache memory 110 corresponding
`to the block be read step 1001 to and determines if
`the
`content of the update area in the block in the resident
`area 107 is equal
`to the content of the update status
`113 in the cache memory 110 step 1002 If
`indicator
`it means that the content of the block in
`they are equal
`is YES in the
`the resident area 107 may be used as it
`step 1002 and the process is terminated If they are not
`equal or the content corresponding to the block has not 40
`yet been stored in the update area 113 of the cache
`memory 110 NO in the step 1002 the block is read
`from the disk medium 109 step 1003 If
`the content
`corresponding to the block has not been stored in the
`113 of the cache memory 110 45
`update status indicator
`the update
`is newly stored into the
`status
`indicator
`cache memory 110
`On the other hand the data accessing unit examines
`the result of execution of the channel program in FIG
`11 step 902 If the decision in the step 1002 is YES the 50
`content of the block in the resident area 107 is used for
`the processing step 903 and if the decision is NO the
`block newly written from the disk medium 109 to the
`buffer 105 is stored into the resident area
`input/output
`107 and the content of the block is used for the process-
`ing step 904
`By the processes shown in FIGS 10 and 11
`portion
`of the block is stored in the update status indicator 113
`of the cache memory 110 The content of the update
`113 is compared with the update status 60
`status indicator
`in the block in the resident area 107 of the
`indicator
`main memory 104 so that
`the high performance and
`high efficiency data accessing with the resident area 107
`of the main memory of the computer system is attained
`in the disk file shared by the computer systems 101 and 65
`101 with the updating Since only
`portion of the block
`need be stored in the cache memory 110
`memory
`capacity required for the cache memory 110 is small
`
`55
`
`in the main
`
`from the cache
`
`Further like in the step 502 of FIG the comparison
`in the cache memory 110 is done in minimum process
`the rotation waiting time of the disk me
`time without
`dium 109
`We claim
`An information processing system comprising
`plurality of computer
`each including
`systems
`channel connected
`central processing unit
`to the
`central processing unit and main memory con
`nected to the central processing unit and
`to the channel of
`shared storage device connected
`each of the computer systems for storing plurality
`of data blocks each including an update area indi
`cating an update status of the associated data block
`cache
`wherein the shared storage device
`includes
`to the channel of each of the
`memory connected
`computer systems and
`wherein the central processing unit and the channel
`of each of the computer systems include means for
`data block to be updated from the shared
`reading
`storage device
`storing the data block to be updated in the main mem
`ory of the associated computer system
`the update area of the data block to be
`storing at least
`updated in the cache memory as an update status
`indicator
`updating the data block to be updated
`memory
`reading the update status
`memory
`determining whether
`the update status indicator
`from the cache memory and
`corresponding por
`tion of the updated data block in the main memory
`are equal
`the update status indicator and the corresponding
`portion of the updated data block are equal updat
`in the cache mem
`ing the update status indicator
`ory reading the updated data block from the main
`memory and storing the updated data block in the
`shared storage device in place of the data block to
`be updated and
`the update status indicator and the corresponding
`portion of the updated
`data block are not equal
`reading the data block to be updated
`from the
`shared storage device storing the data block to be
`in the main memory and repeating the
`updated
`preceding functions beginning with updating the
`data block to be updated in the main memory
`An information processing system comprising
`plurality of computer
`each including
`systems
`channel connected
`central processing unit
`to the
`central processing unit and main memory con
`nected to the central processing unit and
`to the channel of
`shared storage device connected
`each of the computer systems for storing plurality
`of data blocks each including an update area indi
`cating an update status of the associated data block
`wherein the main memory of each of the computer
`resident area for storing one of
`systems includes
`the data blocks stored in the shared storage device
`cache
`wherein the shared storage device
`includes
`to the channel of each of the
`memory connected
`systems
`least
`the update
`for storing at
`computer
`area of the one data block as an update status indi
`cator and
`wherein the central processing unit and the channel
`of each of the computer systems include means for
`
`read
`
`indicator
`
`if
`
`if
`
`Petitioner IBM – Ex. 1062, p. 13
`
`

`
`5293618
`
`status indicator
`
`from the cache
`
`reading the update
`memory
`determining whether
`the update status indicator
`from the cache memory and
`corresponding por
`tion of the one data block in the resident area are
`
`read
`
`if
`
`10
`ory reading the updated data block from the main
`memory and storing the updated data block in the
`shared storage device in place of the data block to
`be updated and
`the update status indicator and the corresponding
`portion of the updated
`data block are not equal
`reading the data block to be updated
`from the
`shared storage device storing the data block to be
`in the main memory and repeating the
`updated
`preceding fun

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