Legal claims defining the scope of protection, as filed with the USPTO.
1. A method of accessing at least one target file in a computer system with an operating system with file locking implemented with byte-range locking, the method comprising: obtaining a set of handles that corresponds to a set of all files that are open in the computer system; determining within the kernel of the operating system a set of file identifiers that corresponds to the set of handles; identifying from the set of file identifiers a file identifier that corresponds to the target file; sending the identified file identifier to the kernel; requesting within the kernel, using the identified file identifier, a region of the target file from the file system driver of the operating system; and receiving data that corresponds to the target file.
2. The method of claim 1 wherein the obtaining comprises: issuing an NtQuerySystemInformation to the kernel, wherein the NtQuerySystemInformation asks for all information about each handle in the set of handles; and obtaining from the kernel an array of SYSTEM_HANDLE_INFORMATION for each handle in the set of handles, wherein the SYSTEM_HANDLE_INFORMATION comprises a pointer to a FILE_OBJECT, wherein the FILE_OBJECT comprises file identifier information.
3. The method of claim 2 wherein the determining comprises: for each handle in the set of handles, passing a pointer to the FILE_OBJECT corresponding to the each handle to the kernel.
4. The method of claim 3 wherein the determining further comprises: for the each handle in the set of handles, outputting from within the kernel a file identifier corresponding to the passed FILE_OBJECT.
5. The method of claim 4 wherein the identifying comprises: identifying the FILE_OBJECT corresponding to the identified file identifier that corresponds to the target file.
6. The method of claim 5 wherein the sending comprises: passing the identified FILE_OBJECT to the kernel; and requesting from the kernel a reading of data from the target file corresponding to the identified FILE_OBJECT via a cache read.
7. The method of claim 6 wherein the initializing comprises: checking within the kernel the identified FILE_OBJECT for an existing cache map; and if the existing cache map does not exist, creating a cache map for the identified FILE_OBJECT by using CcInitializeCacheMap.
8. The method of claim 7 wherein the requesting comprises: issuing the cache read for the identified FILE_OBJECT through CcMdlRead.
9. The method of claim 8 wherein the receiving comprises: receiving from the kernel the data that corresponds to the target file.
10. A programmable computer storing machine readable code that when executed accesses at least one target file, the machine readable code comprises: an obtaining module configured to obtain a set of handles that corresponds to a set of all files that are open in the computer system; a determining module configured to determine within the kernel of the operating system a set of file identifiers that corresponds to the set of handles; an identifying module configured to identify from the set of file identifiers a file identifier that corresponds to the target file; a sending module configured to send the identified file identifier to the kernel; a requesting module configured to request a region of the target file from the file system driver of the operating system; and a receiving module configured to receive data that corresponds to the target file.
11. The programmable computer of claim 10 wherein the obtaining module comprises: an issuing module configured to issue an NtQuerySystemInformation to the kernel, wherein the NtQuerySystemInformation asks for all information about each handle in the set of handles; and an obtaining module configured to obtain from the kernel an array of SYSTEM_HANDLE_INFORMATION-N for each handle in the set of handles, wherein the SYSTEM_HANDLE_INFORMATION comprises a pointer to a FILE_OBJECT, wherein the FILE_OBJECT comprises file identifier information.
12. The programmable computer of claim 11 wherein the determining module comprises: for each handle in the set of handles, a passing module configured to pass a pointer to the FILE_OBJECT corresponding to the each handle to the kernel.
13. The programmable computer of claim 12 wherein the determining module further comprises: for the each handle in the set of handles, an outputting module configured to output from within the kernel a file identifier corresponding to the passed FILE_OBJECT.
14. The programmable computer of claim 13 wherein the identifying module comprises: an identifying module configured to identify the FILE _OBJECT corresponding to the identified file identifier that corresponds to the target file.
15. The programmable computer of claim 14 wherein the sending module comprises: a passing module configured to pass the identified FILE_OBJECT to the kernel; and a requesting module configured to request from the kernel a reading of data from the target file corresponding to the identified FILE_OBJECT via a cache read.
16. The programmable computer of claim 15 wherein the initializing module comprises: a checking module configured to check within the kernel the identified FILE_OBJECT for an existing cache map; and if the existing cache map does not exist, a creating module configured to create a cache map for the identified FILE_OBJECT by using CcInitializeCacheMap.
17. The programmable computer of claim 16 wherein the requesting module comprises: an issuing module configured to issue the cache read for the identified FILE_OBJECT through CcMdlRead.
18. The programmable computer of claim 17 wherein the receiving module comprises: a receiving module configured to receive from the kernel the data that corresponds to the target file.
19. A method of accessing at least one target file in a computer system with an operating system with file locking implemented with byte-range locking, the method comprising: obtaining a set of handles that corresponds to a set of all files that are open in the computer system; determining within the kernel of the operating system a set of file identifiers that corresponds to the set of handles; identifying from the set of file identifiers a file identifier that corresponds to the target file; sending the identified file identifier to the kernel; and requesting, using the identified file identifier, a region of the target file from the file system driver of the operating system.
20. The method of claim 19 wherein the obtaining comprises: issuing an NtQuerySystemInformation to the kernel, wherein the NtQuerySystemInformation asks for all information about each handle in the set of handles; and obtaining from the kernel an array of SYSTEM_HANDLE_INFORMATION for each handle in the set of handles, wherein the SYSTEM_HANDLE_INFORMATION comprises a pointer to a FILE_OBJECT, wherein the FILE_OBJECT comprises file identifier information.
21. The method of claim 20 wherein the determining comprises: for each handle in the set of handles, passing a pointer to the FILE_OBJECT corresponding to the each handle to the kernel.
22. The method of claim 21 wherein the determining further comprises: for the each handle in the set of handles, outputting from within the kernel a file identifier corresponding to the passed FILE_OBJECT.
23. The method of claim 22 wherein the identifying comprises: identifying the FILE_OBJECT corresponding to the identified file identifier that corresponds to the target file.
24. The method of claim 23 wherein the sending comprises: passing the identified FILE_OBJECT to the kernel; and requesting from the kernel a reading of data from the target file corresponding to the identified FILE_OBJECT via a cache read.
25. The method of claim 24 wherein the initializing comprises: checking within the kernel the identified FILE_OBJECT for an existing cache map; and if the existing cache map does not exist, creating a cache map for the identified FILE_OBJECT by using CeInitializeCacheMap.
26. The method of claim 25 wherein the requesting comprises: issuing the cache read for the identified FILE_OBJECT through CcMdlRead.
27. A programmable computer storing machine readable code that when executed accesses at least one target file, the machine readable code comprises: an obtaining module configured to obtain a set of handles that corresponds to a set of all files that are open in the computer system; a determining module configured to determine within the kernel of the operating system a set of file identifiers that corresponds to the set of handles; an identifying module configured to identify from the set of file identifiers a file identifier that corresponds to the target file; a sending module configured to send the identified file identifier to the kernel; and a requesting module configured to request a region of the target file from the file system driver of the operating system.
28. The programmable computer of claim 27 wherein the obtaining module comprises: an issuing module configured to issue an NtQuerySystemInformation to the kernel, wherein the NtQuerySystemInformation asks for all information about each handle in the set of handles; and an obtaining module configured to obtain from the kernel an array of SYSTEM_HANDLE_INFORMATION-N for each handle in the set of handles, wherein the SYSTEM_HANDLE_INFORMATION comprises a pointer to a FILE_OBJECT, wherein the FILE_OBJECT comprises file identifier information.
29. The programmable computer of claim 28 wherein the determining module comprises: for each handle in the set of handles, a passing module configured to pass a pointer to the FLE_OBJECT corresponding to the each handle to the kernel.
30. The programmable computer of claim 29 wherein the determining module further comprises: for the each handle in the set of handles, an outputting module configured to output from within the kernel a file identifier corresponding to the passed FILE_OBJECT.
31. The programmable computer of claim 30 wherein the identifying module comprises: an identifying module configured to identify the FILE_OBJECT corresponding to the identified file identifier that corresponds to the target file.
32. The programmable computer of claim 31 wherein the sending module comprises: a passing module configured to pass the identified FILE_OBJECT to the kernel; and a requesting module configured to request from the kernel a reading of data from the target file corresponding to the identified FILE_OBJECT via a cache read.
33. The programmable computer of claim 32 wherein the initializing module comprises: a checking module configured to check within the kernel the identified FILE_OBJECT for an existing cache map; and if the existing cache map does not exist, a creating module configured to create a cache map for the identified FILE_OBJECT by using CcInitializeCacheMap.
34. The programmable computer of claim 33 wherein the requesting module comprises: an issuing module configured to issue the cache read for the identified FILE_OBJECT through CcMdlRead.
35. A programmable computer storing machine readable code that when executed accesses at least one target file in a computer system with an operating system with file locking implemented with byte-range locking, the programmable computer comprising: computer readable code for obtaining a set of handles that corresponds to a set of all files that are open in the computer system; computer readable code for determining within the kernel of the operating system a set of file identifiers that corresponds to the set of handles; computer readable code for identifying from the set of file identifiers a file identifier that corresponds to the target file; computer readable code for sending the identified file identifier to the kernel; computer readable code for requesting a region of the target file from the file system driver of the operating system; and computer readable code for receiving data that corresponds to the target file.
36. A programmable computer storing machine readable code that when executed accesses at least one target file in a computer system with an operating system with file locking implemented with byte-range locking, the programmable computer comprising: computer readable code for obtaining a set of handles that corresponds to a set of all files that are open in the computer system; computer readable code for determining within the kernel of the operating system a set of file identifiers that corresponds to the set of handles; computer readable code for identifying from the set of file identifiers a file identifier that corresponds to the target file; computer readable code for sending the identified file identifier to the kernel; and computer readable code for requesting a region of the target file from the file system driver of the operating system.
Unknown
May 27, 2008
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.