throbber
[19]
`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

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