`United States Patent
`[1']
`5,835,943
`Patent Number:
`[45]
`Yolte et al.
`Date of Patent:
`*NOV. 10, 1998
`
`
`USIM15535943A
`
`[54]. APPARATUS AND METHOD FUR
`INCREASED DA'I‘A ACCESS IN A NETWORK
`FILE DR] ENTED CACHING SYSTEM
`
`us]
`
`[nvunlorsz Thomas Patrick “the, (Tunlcrville;
`Gurdttn L. Durwnrth. Spring, Valley.
`_
`._
`.
`l1“'1‘°mh“‘;-l""-l- FEW-"1 ““3"";
`51:0“ HUng, Round Rflli'k, lllll‘l (If
`TEX.
`
`[TF3] Amigncc: Slum pudu Tuchnulugies, Inc, [Jaylnm
`()hin
`,
`
`_
`antcc:
`
`|
`
`|
`
`‘
`
`_
`_
`l'hu: lcrm 01 [hrs palunl uhall not uxlund
`beyond lhu expiration dale 0f Pal. Na.
`5,M2,fil4.
`
`I 31 l AWL Nn; 333,311
`,.
`['"L'd:
`
`'33.
`
`.Iul. 3' 1997
`‘
`Related “‘5' Application Data
`‘
`.
`.
`.
`_
`_
`.
`.
`[63] Egankggmé‘gflfiu °I 5‘“ No‘ Mimi NW 30‘ “ml
`
`.._. H"
`'
`'
`‘
`
`[51]
`[111. CL“ vvvvvv
`“"51" 131““
`ISZ]
`[1.5. CI.
`Tllfllfi; NUDE; 395331033;
`3‘)5.fl'0[|_09
`Field nl’ Search H ”395:20t’14'l. 300.49,
`I‘l‘fifllllflfilfi1 3.00.09; 711E144. 113. 122
`
`[53]
`
`[56}
`
`References Cited
`U.S. PA'I‘ENT DOCUMEN'I'S
`
`[{IrI'IrB Kronies
`4.4llJf-‘44
`
`5,222,224 @1003 Flynn ul ul.
`
`..
`
`”ML-'14?
`”HUM-l
`
`
`TllfHS
`1'1903 Baird cl .II.
`5.32t),l43
`5201.010 1151”” Wilkinson El 91
`1- 7113145
`
`.. 1'1lr'l43
`5.274387
`2.!1993 ll'trnnn el
`:11.
`..
`.. T‘Ilrl44
`5110,1335
`1:1994 Multan etal.
`.
`
`3319‘“ D""“"'““" “1-
`" “W"?
`" “"34“
`4:193 Tam” ‘” a" "
`
`.. met-ts
`2H9”:
`llunlcrcl nl.
`.t
`-l.-'I.QUS Stummclal.
`.
`.. 7mm
`bfqufi Hfl’lllly CI lll- .
`.. jun 3“
`
`931.995 Nth-0n ulul.
`
`fi-E‘.”-3“°
`1“ “"33?
`3,394,535
`mugs;
`5.423.751
`$452.44?
`
`P’i’HWT it'nzrttt'rrer—Krisnu UTE .
`Anemia; Agent. or Firm—R. thlttun Graham
`[57]
`ABSTRACT
`
`An apparatus for increased data amass in a nulwcrk includes-
`a lilo svrvut‘ unmpulcr having a pct-marten! aluragc mumnry.
`a cache vsrifying cumPUIer operahly connectsd to the file
`scrv'er mmputer in a manner In form a network for rapidly
`Iransfcrrit‘tg (Iata. thc cache verifying ct'n'r‘rptltc'r having an
`rtpcraling system. a first memcary and a prnceawrwilh means
`1hr pcrl't'trming an :Jpnralinn an dala stored in the permanent
`storagc mcmut‘y of the tilt: server compulur to product: a
`silnaturc of the (lam characteristic or one of 0
`Ill: and
`difiuctury. a rumutc client computer having an operating
`system.
`at first memory .1 cache mcrnt-ry and a processor
`with means for performing an operation on data £10ch in the
`cache mumttry In producc a signalurr: nl' tltt: data, a cum—
`mltnicalitsn wwcr opuralnly cunncclcd [Ll lht; rurrmlt: client
`computer to Il‘lt:- wuhu vurifyirtg mmpulcr and the Iilt: serve-r
`computer and mmparalnm operably associated with the
`cache verifying computer and rrmotu client mmpulur for
`carnparit'tg the signatures (if data will] (mt: another In deter-
`131:3; whether the signature of data of the rumors; client is
`
`I2 Claims, 12 Drawing Sheets
`
`
`toRan-rate Client 14 ‘F’ Cache Verifying Computer
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Dem. EX. 1032
`MICROSOFT
`
`Page 1 of 21
`Page 1 0f21
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`IPR2012-00026
`EXHIBIT 1005
`IPR2013-00109
`
`MICROSOFT
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`5,835 .943
`
`1
`APPARATUS AND METHOD FOR
`INCREASED DATA ACCESS IN A NETWORK
`FILE ORIENTED CACHING SYSTEM
`
`This is a mntinuation-in-pttrt of U.S. Ser. No. 08561393
`tiled Nov. 30, 1995 which has now issued as US. Pat. No.
`5,633,514 issued on Clct. 28. 1997.
`
`BACKGROUND OF THE INVENTION
`
`:1
`
`'ll]
`
`15
`
`Ill
`
`31]
`
`35
`
`AlEI
`
`1. Field of the Invention
`The present
`invention relates to data access in a file
`oriented network system. More particularly,
`the present
`invention is directed to a client-agent-server utility which
`increases the speed in which data in the form of files and
`directories are accessed across slow link communications
`via remote node caching and verifying.
`2. Related An
`Many operating systems are equipped to handle caching
`and verifying of data. Traditionally.
`in a rcmote client's
`caching system, optimization in retrieving data is limited to
`prefetching. In other words. an application program in a
`remote client requests from a tile server transmission of a
`predetermined number of bytes of information leg, x bytes)
`and the operating system on the client prefelches the -
`requested data plus number number of bytes of information
`(eg. x+y bytes). Thus, when the application requests the
`bytes.
`it already exists in its readily accessible memory
`(cache).
`In addition. there also exist problems with verification of
`directories in existing systems.
`It has been found,
`for
`example. that two remote clients concurrently accessing data
`and attempting to verify a directory will not necessarily
`obtain the same data due to the feel that the data from the file
`server computer will not necessarily send out the data in the
`same order to each of the remote clients. Thus. there is no
`clear indication whether the directory data is current.
`In a desktop caching system. a high speed memory is used
`to cache data that is stored on a hard disk. While a desk—lop
`cache program, such as Microsoft's SmanDrive is a uselill
`loot
`to increase performance from the random access
`memory (RAM),
`this type of caching technique is not
`applicable to remote environments because of its inability to
`correctly handle multiple remote clients accessing the same
`data files concurrently. i.e., it is likely to corrupt the data.
`File servers have employed caching techniques which
`parallel
`techniques of the desktop. Here,
`the file server
`deviates in protecting against multiple common data user
`access by implementing or providing a tile locking service
`to clients.
`includes a remote
`As shown in FIG. 1. the related art
`client computer having an operating system (05) with a file
`system interface (F51). Operatively connected to the F8] is
`a
`local
`file system (Ll-“5) which in turn is operatively _-
`connected to a RAM based disk cacher (RBDC), disk driver
`(DD) and permanent storage disk {PSD}. Also, nperativcly
`connected to the FBI is a network file rcdirec‘tor (NFR) with
`prefelch capability, and a network transport layer (NTL)
`connected to a WAN driver. Aside From the 05, there exist
`application programs (AP) which employs the US via the
`13!. A mmmunic‘ation server (CS) connects to the remote
`client computer and includes a WAN driver, routing layer
`and [AN driver.
`The CS connects through a LAN link to a file server
`computer having an OS. The file server computer 05
`includes an NTL connected to a LAN driver and an F5]
`
`45
`
`60
`
`b5
`
`2
`connected to LFS which in turn is connected to an RBDC.
`a DD and a PSD. Aside from the 05. there exists a file server
`application which employs the 08 via the F51.
`The problem associated with these prior systems is their
`inability to provide a remote client user with greater speed
`of access to file server data andior file server directories.
`This is especially so because of the type oflink in which the
`remote client may be accessing the data through. such as a
`modem phone link. In the context of the present invention,
`"remote client" is defined as a user, accessing data over a
`relatively slow link, such as a modem phone link. A typical
`modem phone link provides a transfer rate of about 2.8.8
`kilobits of information per second. This is contrasted with a
`link in a LAN connection which can transfer at about 10
`Megabit: per second. These remote clients are thus greatly
`limited in speed of access.
`SUMMARY OF THE INVENTION
`
`invention overcomes the above described
`The present
`deficiencies which exist with remote clients sewing and
`verifying data in files and directories from a file oriented
`network environment.
`
`It is an object to increase the speed in which a remote
`client can access data and directories.
`
`It is another object to maintain integrity of the accessed
`data and directory while increasing the speed in which the
`data is accessed.
`
`to act as a
`is to implement an agent
`A further object
`caching verifier between a remote client and a file server
`computer.
`Still, another object is to add intelligence to a remote
`client in order to reduce the overall time in which a remote
`client accesses data.
`
`Another object is In overcome the deficiencies of data
`transfer for a remote client.
`
`t’Jther objects and advantages will be readily apparent
`from reading the following description and viewing Ihe
`drawings.
`Accordingly, the present invention is directed to an appa-
`ratus for increased data access in a network. which includes
`a tile server computer having a permanent storage memory.
`a cache verifying computer operably connected to the tile
`server computer in a manner to form a network for rapidly
`transferring data. the cache verifying computer having an
`operatingsystem. a first memory and a processor with means
`for performing an operation on data stored in the permanent
`storage memory of the file server computer to produce a
`signature of the data characteristic of one of a file and
`directory, a remote client computer having an operating
`system, a first memory, a cache memory and a processor
`with means for performing an operation on data stored in the
`cache memory to produce a signature of the data1 a com—
`munication server operably connected to the remote client
`computer to the cache verifying computer and the file server
`computer and comparators operably associated with the
`cache verifying computer and remote client computer for
`comparing the signatures of data with one another to deter-
`mine whether the signalure of data of the remote client is
`valid. The remote client computer includes means respon-
`sive to each comparison performed by the comparator on the
`data for generating and storing a validation ratio forthe data
`in the first memory and for removing the data from the cache
`memory when the validation ratio drops below a predeter-
`mined value. Also. the cache verifying computer includes
`means for recognizing a LOCK request from the remote
`
`Page 14 of 21
`Page 14 0f21
`
`
`
`5,835 .943
`
`:i
`
`ll]
`
`3
`client computer and for obtaininga lock on the data [mm the
`tile server computer in response to the LUCK request.
`Terminology
`"Permanent storage memory.“ as used herein. includeS.
`but
`is not
`limited to. disk drive,
`flash RAM or bubble
`memory. for example.
`“File oriented distributed network," as used in the present
`invention, will include a network wherein the file server
`computer data is accessed via the following set of file system
`primitives: OPEN, CREATE, READ, WRITE, SEEK,
`LOCK. UNLOFK, CLOSE and DIRECWRY REQUES'I‘.
`"Caching" is the function of retrieving an object from a
`relatively high speed storage device from a list of most-
`tecently—used objects.
`"Cache" is a file which resides in permanent storage and
`contains the most-recently-used blocks of data reatl from a
`remote tile scrver.
`“Object“ is a sequence of data of variable length.
`“Sub-object" is a portion of an Object.
`"File server computer" is a computer which includes a
`processor with its associated memory, an operating system.
`and a permanent storage memory.
`“Reverse channel" is the means by which a response .
`message is soot over the same network layer interface in
`which a request was received.
`BRIEF DESCRIPTION OF Tl 1E DRAWINGS
`
`ll!
`
`3‘1]
`
`FIG. 1 illustrates the block diagram configuration of the
`related art.
`FIG. 2 illustrates the block diagram motiguration ol‘ the
`present invention.
`FIG. 3 illustrates a flow chart of the operations of the
`present
`invention corresponding to the requests within a
`remote client.
`FIG. 4 illustrates a flow chart of the operations of the
`present
`invention corresponding to DPENiCREATE
`rcqutsts on remote client computer.
`FIG. 5 illustrates a flow chart of the operations of the
`present
`invention corresponding to OPENICREATE
`requests on cache verifying computer.
`FIG. 6 illustrates a flow chart of the operations of the
`present
`invention wrresponding to READ requests on
`remote client computer.
`FIG. 7 illustrates a flow chart of the operations of the
`present invention corresponding to REM) requests on cache
`verifying computer.
`FIG. 8 illustrates a flow chart of additional operations of
`the present invention corresponding to READ requests in the
`cache verifying computer.
`FIG. 9 illustrates a flow chart of the operations of the
`present
`invention corresponding to WRITE requests on
`remote client computer.
`FIG. ll! illustrates a flow chart of the operations of the
`present
`invention com-rsponding to WRJTE requests on
`cache verifying computer.
`FIG. 11 illustrates a flow chart of the operations of the
`present
`invention corresponding to LOCK requests on
`remote client computer.
`FIG. 12 illustrates a flow chart of the operations of the
`present invention corresponding to LOCK requests on cache
`verifying computer.
`FIG. 13 illustrates a flow chart of the operations of the
`present
`invention corresponding to CLOSE requests on
`remote client computer.
`
`4
`FIG. 14 illustrates a flow chart of the operations of the
`present
`invention corresponding to CLOSE requests on
`cache verifying computer.
`FIG. 15 illustrates a flow chart of the operations of the
`present
`invention corresponding to DIRECTORY
`REQUEST on cache verifying computer.
`FIG. 16 illustrator. a [low chart of the operations of the
`present invention corresponding to a part of the operations
`in FIG. 15.
`
`DETAILED DESCRIPTION OF A PREFERRED
`EMBODIMENT
`
`in the description which follows, the representation of the
`present invention is in part presented in terms of program
`operations executed on a tile oriented distributed network of
`computers, but may as well be applicable to distributed file
`oriented network systems. The operations are steps leading
`to a certain result. Typically, these steps take the form of
`electrical signals which are manipulated, stored, transmitted,
`combined, compared or othenvise operated upon by a par-
`ticular computer in the network. For simplicity, these signals
`may he referred to herein as hits, bytes or data.
`The following description describes solutions to the prob‘
`lems associated with a remote client computer's ability to
`access specified data from a file or directory of a file server
`computer located on a network or world wide web. An
`apparatus and method are disclosed which permit the remote
`client computer to reduce the time for accessing such data
`using a cache verifying computer coupled with a caching
`technique.
`The performance gains realized by the prownt invention
`are derived from the fact that remote clients tend to repeti-
`tively access the same data by performing file reads.
`[1" a
`copy of the data can be stored in the permanent storage
`memory of the remote client computer and also verified to
`be current when it
`is subsequently reLricved,
`this will
`improve performance significantly. This is because it
`requires much has bandwidth to verify a block of data than
`it would to actually transfer a block of data.
`Referring now to the FIGS. 2-15, the present invention is
`a network computer system 10 having at least one remote
`client computer 12, cache verifying computer 14. commu-
`nication server 16 and file server computer 18. The cache
`verifying computer 14 and file server computer 18 are
`connected via a local area network (LAN) link 20. The
`communication Senior 16 links thc remote client computer
`I). to the LAN 2", which in turn permits communication
`with the cache verifying computer [4 and the tile server
`computer 13.
`The remote client computer [2 communicates via com-
`munication link 22 to the communication server 16. The
`communication server 16 can be of a type such as that
`provided by Cisco, 3Com1 Shiva, etc, which will act as a
`router of traffic between the LAN 21] and communication
`link 22 and convert data through the LAN 20. The LAN 2!]
`can be Ethernet or Token Ring, for example.
`The remote client computer 12 has an operating system
`(08} 24 with a tile system interface (181)26. lI'Jtperntively
`connected to the [75126 is a local file system (US) 28 which
`in turn is operatively connected to n RAM based disk caeher
`{RBDC} 3|}, disk driver “30032 and pennanent storage disk
`{135D} 3-1. A network file redirector (NFR) 36 with prcfclch
`data 3?, operatively connects to a network transport layer
`{NTL} 38 which in turn is connected to a WAN driver 40.
`Additionally, the invention includes a network file cachcr
`(NFC) 42 which is operably disposed between and inter-
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Page 15 of 21
`Page 15 0f21
`
`.
`
`
`
`45
`
`ED
`
`hi
`
`
`
`5,835 .943
`
`ill
`
`ll!
`
`5
`connects the FSl 26 and NPR 36. The NFC 42 has operat-
`lively associated therewith a directory cacher {13C} 43 and
`directory signature comparator (Di-SC} 46.
`The NTL38 operativcly connects to the NFC 42. Also. the
`NFC 42 operatively connects to the LFS 28. The NFC 42
`includes a block signature generator {135(3) 44 and hit ratio
`analyzer (NRA) 45. which will be more fully described
`hereinafter. Aside from the 08. there exists on the computer
`12 application programs (AP) 46 which employ the OS 24
`via FS[ 26.
`The communication server (CS) 16 includes a WAN
`driver 48. a LAN driver 50 and routing layer (RL) 52
`nperatively interconnecting the WAN driver48 and the [AN
`50 driver.
`The cache verifying, computer 14 includes :1 cache veri-
`fying agent (CVA) 54 having a BSG 56 (of the type
`described herein). a directory signature generator (D50) 57
`and a comparator 58. Also. included is an as 60 having an
`F8! 62 operatively connected to CVA 54. an NPR 64
`operatively connected to the FS] 62. an NTL 66 operatively
`connected to the NI’R 64 and CVA 54. and a LAN driver 68
`uperalively connected to the NFL 66.
`The file server computer 18 includes an 05 711 having an
`lI‘Sl 72 which is operativ'ely connected to an LFS 74 which
`in turn is corinecled to an RHDC 76, a DD 78 and a P513 80.
`Also. the OS 70 includes an NH. 82 operatively connected “
`lo a LAN driver 84. A file server application (FSA) 86 exists
`on the computer 18 which is operably connected to both the
`NTL 82 and F51 72.
`it should be noted that one skilled in the art can modify
`the basic network computer to accomplish the ohjecls set
`l'orth herein and that such modifications are believed to fall
`within the scope of the claims appended hereto.
`Alternatively. for example.
`the cache verifying agent 54
`could reside as part of the communication server 16 or as a
`stand alone processor with its own memory and operating
`system. Still. other persons skilled in the art will appreciate
`the verifying agent can be implemented in other manners to
`accomplish the goals set forth herein.
`The operation of the system is as follows; and as repre-
`sented in FIGS. 3—15. The operations discussed hereafter
`assumes connections have been made among all computers
`12. 14 and 18 and communication server 16.
`On the remote client computer. AP 46 makes requests
`from a Iile server wherein the NFC 42 will intercept a file
`system call 100 from the AP46 and query whether the object
`to he acted upon is “remote-1y located?" 102. [f the answer
`is no, the NFC 42 ”instructs" 104 the LFS 28 to handle the
`object request. If yes, the type of request is ascenained and
`handled accordingly as follows.
`In the case of OPEN or CREME 106 requests. the NFC
`42 follows the operation under 200. The NFC 42 "invokes"
`202 the MFR 36 to process the request. The NFR 36 asks
`“whether there is a good status" 204 for the request. If no.
`NFR 36 "returns" 205 the results of the operation to AP 46.
`If yes. [he NPR 36 assigns a handle thereto and the NFC 42
`“builds and sends” 2116 an OPENJCREKI‘E request to C VA
`54 via NTL 38 which triggers operation 250.
`CVA 54 “Opens" 252 a file specified in OPENICREATE
`request via F8] 62. NF R 62 and NTL 66. The CVA 54 asks
`"whether there is a good status on the file?" 254. 11 the
`answer is. no. CVA 54 "sends" 256 the bad response hack to
`NFC 42 in a reverse channel. If the answer is yen. (TVA 54
`"assigns a handle to the object“ 258 and "sends" 260 a good
`response via a reverse channel.
`NFC 42 via N”. 38 "receives the response" 208 from
`CVA 54 and "asks for a good status?" 211]. l[ the answer is
`
`35
`
`4D
`
`45
`
`_-
`
`fill
`
`as
`
`6
`no. the NFC 42 "returns the results of the original OPEN}
`CREATE request“ 216 to AP 46. If the answer is yes. then
`the NFC 42 "associates 212 the handle assigned by the CVA
`54 with the handle returned by the NPR 36 in operation 202.
`The NFC 42 "updates" 214 the network file cache via LFS
`28 and "returns the results obtained by NFR 36” 216 to AP
`46 via PSI 26.
`
`In the case of a READ 108 requests, the computer 12
`follows the operation 3110. Via the PSI 26 and LFS 28. the
`NFC 42 "determines if the requested dattt is in cache?” 3112.
`If the answer is no. a subquery becomes “is the data locked?"
`304. To this subquary. if the answer is no.
`the NFC 42
`"retrieves" 3116 the dala via NFL 38 from the file server
`computer 18 and the NFC 42 “updates" 3118 the network file
`cache via UT) 28. If the answer to the suhquery is yes. the
`NFC 42 via the NTL 38 "sends" 310 a READ request to
`CVA 54 which triggers 380. CVA54 via the PSI 62 “reads"
`382 the data from the file server computer 18. The CVA 54
`"scods"384 a response back to NBC 42, wherein the data is
`"received" 312 and "updated" 308 as described above. The
`retrieved data is "returned" 314 by the NFC 42 to AP 46.
`If the data is in cache. NFC 42 is triggered to “invoke"
`316 the BBC- 44 to generate a signature of data. NFC 42 via
`NFR 36 and N']'I.38 “sends"320 a VERIFY request having
`the first signature of data therein to CVA 54 which triggers
`350.
`CW1 54 via [’51 62 “reads" 352 data from the file server
`computer 18. (TVA 54 "invokes" 354 1356 56 to generate a
`second signature nl‘dala. CVA 54 “invokes"1156 comparator
`58 to compare the first and second signatures of data and
`"sale". whether there is a match?" 358. If the answer is no.
`CVA 54 “asks if data is locked?" 360.
`11' no. the CVA 54
`“sends" 362 back a bad response to NFC 42 via a reverse
`channel. If yes. CVA 54 “sends" 364 back a bad response to
`NFC 42 along with read data via a reverse channel. lfthere
`is a match of the signatures. CVA 54 "sends" 366 a good
`response hack to NFC 42 via NTL 66.
`The NFC 42 receives 322 the response From CVA 54 and
`asks "is the data valid?” 324. If no. NFC 42 asks "is the data
`locked?” 326. [t' not locked. the NFC 42 retrieves data 306
`as described above. If locked. data will have been “returned"
`328 for updating per 308. 11' the data was valid, NFC 42
`returns the data to A? 46.
`In the case of a WRITE 110 request. the computer 12
`follows the operation 400. The NFC 42 "asks is the data
`locked?" 4112. If no. the NFR 36 is invoked to "write” 404
`to the lite server computer 18. [f the data is locked. NFC 42
`via NTL 38 “sends" 406 a WRITE. request to CW1 54 which
`ll'18gnrs 450.
`(TVA 54 "write-s" 452 data to tile server
`computer 18 via PSI 62. CVA 54 “sends“ 454 hack a
`response to NFC 42 which "receives"41|8 the response. The
`NFC 42 “asks is the data in cache?" 410. if no. [PS 28
`"reports status" 412 to AP 46. [1' yes. NFC 42 "updates” 414
`network cache via l..l-'S 28 and "reports status" 412 to AP 46.
`In the case of LOCKJ‘UNLOCK 1.12 request, operation
`500 is employed. The NFC 42 "builds." 502 an LUCK!
`UNLOCK request. The NFC 42 via NTI. 38 “sends" 504 the
`LDCKJUNLDCK request to CVA 54 which triggers opera-
`tion 550. CVA 54 “sends" 552 an LOCIQ'UNLOCK request
`to the file server computer 18 via F31 62. CVA 54 "sends"
`554 a response back to NFC 42 via a reverse channel. The
`NFC 42 "receive-s" 506 the response and “returns" 508 the
`results to AP 46.
`In the case of a CLOSE 1.14 request. operation 600 is
`employed. The NFC 42 “builds" 602 a CLOSE request. The
`NFC 42 via NTI. 38 "sends" 604 the CLOSE request to CVA
`
`Page 16 of 21
`Page 16 0f21
`
`
`
`5,835 .943
`
`7
`54 which triggers operation 650. CVA 54 "performs" 652
`internal prooeming of the request. CVA 54 "sends" 654 a
`response hack to N'FC 42. The NFC 42 ”receives“ 606 the
`response and invokes the NFR 36 to "close" 608 the tile and
`”return" fill] the results to APaIfi.
`In the ease of a DIRECTORY REQUEST 115, operation
`700 is employed. llere. the NFC 42 "processes“ 70]. a first
`directory sub-object request.
`lithe sub-object is not a lirst. NFC 42 "retrieves“ 703 the
`next directory sub-ohject from cache via LFS 28. NFC 42
`“asks" 704 whether this is the last sub—object from cache via
`LFS 28? II' no. NFC “returns" 705 a sub-ohjeCt to AP 46. If
`yes and it is the last sub-object. NFC 42 “returns" 706 a “no
`more objects" status to AP 46.
`It‘the sub-object is the first directory sub-object, the NFC
`42 “determines" ifthe requested object is in cache 702. II no.
`the NFC 42 “sends" 710 a directory verify request to CVA
`54 via NTL 38. This triggers the steps 750 and NFC 42 waits
`to “receive" 711 signature from CVA 54. As seen in FIG. 16.
`the steps 750 are performed by the CVASII. Particularly, the
`056 57 “initializes" 751 signature of a directory. The DSC.
`57 “retriewus” 752 the first directory sub—object From the f-‘S
`18 via NTL 66. The DEC 57 “asks" 753 is this the last
`r.uh-I:Il:tjeel‘_t If no, DSG 57 "factors" 754 the signature of this
`sub-object into the overall signature of the directory. The
`
`1|]
`
`1”
`
`056 57 then "retrieves" 755 the next sub-objed from 1:5 18
`and returns to step 753. If the last suh-ohiect, CVA 54
`“sends" 756 hack signature of directory to NFC 42 at block
`724 and proceeds therefrom.
`If yes and in cache, the NFC 42 “retrieves" 719 signature
`associated with this directory request from cache \tiu IFS
`28. NFC 42 ”sends" 720 directory verify request to [IVA 54
`via NTL 38. This triggers the steps 750 wherein NFC 42
`waiLs and "receives" 721 signature from CVA 54. NFC 42
`"invokes” 722 DSC 46 to compare whether signature
`matches the retriever] signature in 7197 If yes and the
`signatures match. NFC 42 "returns" 723 the first sub-object
`from cache via LFS 28 and returns it to AP 46. If no unrl the
`signature does not match, NFC 42 “invokes” 724 MR 36 to
`retrieve the first directory tub-object. NFC 42 "stores" 725
`the sub-object into cache via LFS 28. NFC 42 ”asks." 726
`whether this is the last sub-object? if no and it is not the last
`sub—object. NFC 42 inVoltes NPR 36 to "retrieve“ the next
`directory sub-object and returns to step 725. If yes and II is
`the last sub-object. NFC 42 "stores“ 728 the signature
`obtained via 721 or 711 into cache via LFS 28. NFC 42
`“returns" 729 first sub-object from cache via LFS 28 and
`returns the same to A? 46.
`
`By way of example. the following packet formats define
`this client server protocol:
`
`til"
`it TYPE DEFINTImNS
`.7
`
`Jr' always 0x30
`
`. START CONNECTION RS9:
`
`BYTE u an 3 hit value (octet) unsigned
`DWORD -: a to hit value in which network byte ordering is not important
`WORD u 32 hit value in which network byte ordering is not important
`MDWORD $31 bit value in which network byte ordering in important and represented
`using ‘ntotoroltf or “big cndiun" formnt
`it Slhm’CON‘NEC'nDS REQUEST
`typedcf met {
`BYTE thnctionCode: :7 always Uxttt]
`HYTE hResv: t7
`WORD wSCQuuneeVetue: r!
`} CVI’ START (“ERECTION .REQ. ‘pCVI" START LINNECI'ION REG;
`it START CONNECTION RESPONSE
`typedef strucl
`I
`BYTE thtctiorICode:
`BYTE bsutms:
`ir
`WORD wSequcnechtte r’t Some value as in request
`DWORI) dColIucctionIltlndla'. 77
`} (“VF STARTUCONNECI'ION REP. ‘tVCW'
`It END CONNECTION RF-QLIFSI'
`typcdcl' slrucl
`l
`BYTE hi-‘unctioncode'. #always Dxtll
`BYl‘E bResv:
`t7
`WORD wSequencevalue; it
`DWORD dConncctionIian-ile: i7
`3'} n5 returned on stand connection
`IT‘VP END mNNELTION REG. 'C‘V‘E‘ END CONNECTION REG:
`:
`rt END CONNECTION RESPONSE
`tvpcdef strucl {
`BYTE hr‘unetionCude: .‘tuiwttys Until
`BYTE bsmtunz
`Jr
`WORD wSequcneevalue: I! Some “11th as in rcqtrettt
`t CW END LUNNECHON _RSI', ‘pcw Em consecrtohfittsr;
`.-'t OPEN 0R CREATE FILE REQUEST
`type-def attract {
`BYTE ht'unctionmde: it always 11x02
`BYTE hRerrv: It!
`WORD wSulucanIuc: rt
`DW'ORD dConnectionl-lnndll; )7 As returned on SIN{I’_(.ONNEC1'
`MDWORD dFichttrihutesMask: H
`BYTE zF‘ilel‘nthlSn]: .I'i'null tannin-uteri file mun:
`} CVI’_0?EN_0R._CREA'I'E_MLE_RBQ, ‘pCVl’_DPEN_DR_CREM‘E_[’ILE_REQ'.
`.I'i'Ol-‘BN OR OR CRIEA'I'E Fl'LE RESPONSE
`typedef atruet {
`BYI‘E hFunctIonCc-dtr; it always tlxfl
`
`Page 17 of 21
`Page 17 of21
`
`
`
`5,835 .943
`
`10
`
`'pC‘VP. OPEN OR (‘RFJITE I'TI.1'-. _RS|‘¢
`
`{unlanwsd
`BY‘IE bsmus:
`H
`WORD wchucncthlue: #33111: value ms in mqursl
`DWORD dWI-irmeflcHnndlc; I!
`I C‘VP OPEN .OR._C‘REATE _FILE REF.
`-" CLOSE FILE REQUEST
`lypcdel' slmcl {
`BYTE hFunuionC‘udcj. I! niways 0xt13
`BYI‘E bliss“
`H
`WORD wchucnthluc: I
`DWORD dConnuciionIInndlc; HA5 rulurmd on START..CONNE(T
`DWORD dWrificrsI’l'ltl-{andlm N Na mlurmd on OPEN. OK CREATE.
`I CVP_CIDSE_FILE_REQ. 'pCVP_CIOGE_F[Lfi_REQ:
`,r.’ CLOSE FILE RESPONSE
`Iypedel flrucl {
`BYI‘E br‘unuionCoda; N always “5:113
`BYTE bSIBI'IIS: II
`WORD wchucrux'Wluu; H 58ml: wine In; In roqucsl
`I C‘VP _CLOSE. FILF.___RSP 'pCVI’ _CLO§E _ FILE RSP:
`I; LOCK REGION REQUEST
`Iy'pedel' slmu I
`BYI‘E bmnuianCudc: H always Lian-1
`BYTE bResx'; 2'1"
`WORD wchumceWun: H
`DWORD dConnecfionI-lnndln‘, {I As relurned on START _C‘ONNEC'I'
`DWORD dWrificraFIlcfinndlt; H A»; mlurmd on OPEN. .OK CREME
`MDWORD dScsznquz .I'Iufliacl into file
`MDWORD dbmglh: Ifnumbclr (If bylcs to lock
`} CVP_[.OCK_REGION_REQ, 'pCW_IDCK_REGION_REO:
`J! LOCK. REGION RESPONSE
`lypedel' slruu {
`BYTE bl-‘unuiont'ode‘. H always (15:84
`BYTE b51111“; Ia'
`WORD vacqucnoeValut: If Sum: value as in rchIcSI
`WORD
`dWriflcmlmkHandIc‘.
`I C'VP_LDCK_REGION_RSI‘, 'pCVF_LOCK_REfiION_ REP:
`a','1.‘NLOC'K REGION REQUESI‘
`typedcl' strut: {
`BYTE bFmelionC‘udc: H always 0x05
`BYI’E hResu: H
`WORD wSequemVfilne: H
`DWORD dCunneuiorlIIm-Jdln: (rm rammed on START_COIVNECT
`OWDRD dWrificrsLocuinndln'. HAS rammed IDCK REGION
`| I‘VE _LTNLOC‘K_ REGION__REO. 'pCVP _UNI.OCK_ REGION mic;
`.I'-f UNIDCK REGION RESPONSE
`lypcdd arruct [
`BYTE hFunctinnCnde: I! always 0x55
`BYTE Hiatus:
`WORD wSequence-Vhlufl'. I! Saw: value as in reqml
`}_ CVI’_UNLDCK_R.EGION_RSI’_ 'pC‘VI’_UNI.OCK_REG[ON_RSI’1
`.u'f VERIFY REGION REQUEST
`lypadel' strum {
`BYTE hFunuionCodc: .I'.r niwnys OKIJ“)
`BYTE bRAsax': .n'} if status is not OxFl
`WORD wSequunucValuc: fl"
`DWORD dConnchiouI-Inudlc; .I’a' As [clumed on START_E‘ONNEET
`DWORI) dWrifiErsFilelinlldla'. I! As returned on UPEN_DR_C‘REATE
`MDWORD dSeckvaqu; I! ufl'm into file
`MDWORD dbenglh'. .I'Jnumber ofhyses to verify
`BYTE Signalmdi‘]: II’CRC adaptation
`I CVP_ _\-"ERIFY_ REGION_ REG. 'pC’VF _ VERIFY REGION _REO:
`.-'-' VERIFY REGION RESPONSE #1 {ml lacked duln]
`lwcdcf Ell'flL'l. {
`BYTE hFuncIianC‘udc: fl nimys 0be
`BYI‘E bSLnLus:
`If
`WORD wSequeuceVaJue: {flame value as in request
`| CVI’ VERIFY__REGION REP. 'pWP_ VERIFY REGIOK Jail):
`,5.
`.-'.' VERIFY REGION RESPONSE #1
`.I'J {if signarums did no! mulch and rchDn wrls lucked!
`I;
`
`lypedef suuct {
`BYTE bliunuionCudve‘. H always mar.
`BYTE bsmus:
`humus - [RF] In! this my:
`wQRD wchuechlue; H Same value as in requeu
`MDWORD dlxngxh'. War bytes Ihnt follow
`abanIIchLaI I:
`If
`} C'VP_VERIFY_REGION_ RSP. ‘pCV"?_ VERII’T__REGIO§ JEEP:
`h‘READ REGION REQUESI'
`J'a'tucnl cniy when reading From a locked region]
`lypcdef slum {
`
`Page 18 of 21
`Page 18 of21
`
`
`
`11
`{unlinUfld
`
`
`
`12
`
`5,835 .943
`
`BYTE bb‘unuionL‘odct It always tthl‘l‘
`BVTF. bRcsv:
`t.ll
`“0RD wkqucrtuflhluc: ,‘t
`DWORD dConncotionHantllci I! A: returned on START CDNNECT
`DWORD dWrifict-sFiIeHnndlc'. H A: rututncd on OPEN_OR_CRENIE
`MDWORD dScckVaJuc; tfofllscl into file
`WDWDRD dmgth‘.
`H nun-the: of bytes to read
`[CVI’ READ REGION REG, 'pC'VI‘ READ REGION RED:
`3'}
`tr READ REC-ION RESPONSE
`
`lg‘podcf slrucl {
`BYTE hFunctlonE‘odeuMuntys 0x3?
`BYTE bStnt'tIs:
`Irsltttus MP] for this vast:
`WORD wchucnocV‘alnc: H Same value an in request
`MDWORD chngth'. all I! of bytes lltnl followI
`char TthtttaI I'. It
`ICVP READ REGION RSI-L ‘pCW__RF.AD_REGION REP:
`95'
`a" WRITE REGION REQUEST
`.t.-' (sent only for when writing to a lookgd regiont
`fl.
`
`[gt-pedal strum {
`BYFE hFunuionC‘odc: it always llxils
`BYTE thsu-i .a'r
`WQRD wchucnthhlucz H
`DWORD dConncdioanndlct If A5 mluntcd on START. .mNNECI
`DWORD dvuril'wruFl'chnndlc: .I't As rclumcd on 0PEN_OR_CREA'I'E
`MDWORD dSeekVituI'. .“t’ ul'l'aet into file
`MDWORD dtgngth: I! number of bytes to write
`BYTE Thelma I
`]: .“a' data to be written
`I CVP _WRTTE__REG[0N_ REQ.
`'pCVP WRITE REGION REQ'.
`t! WRITE REGION RESPONSE
`Iypcdul' slrucl. {
`BYTE bF‘urtclionlec'. H nhrnys third-3
`BYt‘h Insults:
`.rtstntus
`WORD wchuenchuc: I.“ Some value as in request.
`DWORD dLenth: n I! of bytes wlitlen
`I CV_WRI’I'E_RIE,GION_RSP ’pCVl-‘_WRII‘E_REGIUN_RSPL
`H
`,r.‘ \u’ERliF‘lr DIRECTORY REQUEST
`-'.'
`Iypedci itrucl [
`BYTE bF‘unuiont‘mtc:
`BYTE bRcs“:
`fr'
`f."
`WORD wchttcnothiuc:
`DWORD annneaioanndlc: I! As returned on STAR'I"_E‘ONNEC'['
`MDWORD wliileslnDircctoq'C‘ount; J't'
`MD‘WORD dAItribntnM‘isL‘; H llxmumflil a read only lile
`L" lleUUtlDutE - hidden file-
`fl’ ttxnuunnun-t . system fill.
`.n't 0x00000003 - x-ulurn: lnhcl.
`,t; 0x00000010 a udirtnflorf.r
`.I'r' Oxlllmmfil - changed and not archived
`BYIT: Signaturcllz