DETAILED ACTION
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Claim Status
Claims 1-14 are pending.
Claim Rejections - 35 USC § 101
35 U.S.C. 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
Claim 14 is rejected under 35 U.S.C. 101 because the claimed invention is directed to non-statutory subject matter. Claim 14 recites a “computer storage medium” which the specification does
not define as being strictly non-transitory. In view of this omission, the claimed “computer storage medium” can be interpreted as covering both non-transitory tangible media AND transitory propagating
signals per se. In re Nuijten (500 F.3d 1346), the Federal Circuit decided that "signals" are nonpatentable subject matter.
In an effort to assist the patent community in overcoming a rejection or potential rejection
under 35 U.S.C. §101 in this situation, the USPTO suggests the following approach. A claim drawn to such a computer storage medium that covers both transitory and non-transitory embodiments may be amended to narrow the claim to cover only statutory embodiments to avoid a rejection under 35 U.S.C. §101 by adding the limitation "non-transitory" to the claim.
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claims 1-14 are rejected under 35 U.S.C. 103 as being unpatentable over Daga et al (WO 2021156677 A2) hereafter Daga in view of Tormasov et al (US 20200174893 A1) hereafter Tormasov
Regarding claim 1, Daga teaches a data access method, applied to a client running on a hardware offloading device (Para 0066, a user application), wherein the hardware offloading device is communicatively connected to an electronic device through a bus (Para 0216, The storage controller 100 is connected to a storage device 130 over a data bus 140), and the method comprises: acquiring to-be-written files sent by an application on the electronic device, and writing the to-be-written files into a cache on the hardware offloading device (Para 0050, a small object having an attribute set to “short” may be cached in the persistent memory 210); writing the first object file into an object-based storage system (Para 0256, in an example case of performing writes to an object or file w using object-based operations, writes to a file are not visible until the file is closed using an object-based close operation) to which the client has an access permission (Para 00175, user access permissions on a particular file or object may depend on a particular set of user identifiers that are unique to a particular data access protocol).
Daga does not appear to explicitly teach if the to-be-written files cached in the cache meet a file merging condition, performing file merging on the to-be-written files cached in the cache to obtain a first object file to be written.
In analogous art, Tormasov teaches if the to-be-written files cached in the cache meet a file merging condition, performing file merging on the to-be-written files cached in the cache to obtain a first object file to be written (Para 0038, when the threshold for inefficiency is reached, merge the files 124 into one data blob). It would have been obvious to one having ordinary skill in the art before the effective filing date of the claimed invention to modify Daga to include the teaching of Tormasov. One of ordinary skill in the art would be motivated to implement this modification in order to implement efficient storage, as taught by Tormasov (Para 0002, The present disclosure relates generally to the field of data management, more specifically, to systems and methods of data packing into blobs for efficient storage).
Regarding claim 2, Daga in view of Tormasov teaches the method according to claim 1, wherein the hardware offloading device further comprises a memory, and the method further comprises: writing the first object file into the memory, and writing index information of the first object file into an index file, wherein the index information of the first object file comprises an object identifier of the first object file, a storage state of the first object file, and a-file names of the to- be-written files merged in the first object file, wherein the storage state indicates whether the first object file is stored in the memory and/or in the object-based storage system (Para 0004, One or more of the data objects that are stored in the object store may be accessed by a corresponding application by using an object identifier for identifying the data object that is sought to be accessed).
Regarding claim 3, Daga in view of Tormasov teaches the method according to claim 1, wherein the hardware offloading device further comprises a compressing module, and performing the file merging on the to-be-written files cached in the cache to obtain the first object file to be written comprises: sending the cached to-be-written files to the compressing module, to enable the compressing module to perform compression processing on the cached to-be-written files to obtain the first object file; receiving the first object file returned by the compressing module (Para 00168, Some comparative techniques for data compression perform data compression on a file basis or an object basis).
Regarding claim 4, Daga in view of Tormasov teaches the method according to claim 1, wherein acquiring the to-be-written files sent by the application on the electronic device comprises: receiving write requests sent by the application through a bus interface, wherein the write requests are sent by the application through calling a kernel module provided by a filesystem in userspace; processing the write requests through calling a userspace library module provided by the filesystem in userspace to obtain the to-be-written files (Para 00316, Some embodiments allow the creation of custom metrics that are generated in the context of a directory or file in the clustered file system namespace).
Regarding claim 5, Daga in view of Tormasov teaches the method according to claim 2, further comprising: receiving a first read request sent by the an application, wherein the first read request comprises a file name of a target file to which target data to be read belongs, and first location information of the target data in the target file; sending a second read request to the object-based storage system, wherein the second read request comprises the file name of the target file, to enable the object-based storage system to acquire, from stored object files, a second object file comprising the target file; receiving the second object file returned by the object-based storage system, and acquiring the target file from the second object file; reading the target data from the target file according to the first location information, and sending the target data to the application which sends the first read request (Para 00294, the reporting includes sending the update for the first metric, by a first node, to a second node, the first node being the primary owner node of the first directory, and the second node being the primary owner node of the second directory).
Regarding claim 6, Daga in view of Tormasov teaches the method according to claim 5, wherein before sending the second read request to the object-based storage system, the method further comprises: making a query in the index file according to the file name of the target file to acquire a storage state of the second object file; if the storage state of the second object file indicates that the second object file is stored only in the object-based storage system, performing the step of sending the second read request to the object- based storage system (Para 00152, the storage controller 100 maintains different active version pointers for different data access protocols, such as a file active version pointer for file-based access protocols (e.g., NFS and SMB) and an object active version pointer for object-based access protocols).
Regarding claim 7, Daga in view of Tormasov teaches the method according to claim 6, further comprising: if the storage state of the second object file indicates that the second object file is stored in the memory, acquiring the second object file from the memory (Para 00164, the storage controller 100 identifies the version log associated with the file to be read and retrieves the identified version entry from the version log).
Regarding claim 8, Daga in view of Tormasov teaches the method according to claim 5, wherein the hardware offloading device further comprises a decompressing module, and acquiring the target file from the second object file comprises: sending the second object file to the decompressing module, to enable the decompressing module to perform decompression processing on the second object file to obtain a decompressed second object file; receiving the decompressed second object file returned by the decompressing module, and making a query in a description file corresponding to the decompressed second object file according to the file name of the target file to obtain second location information of the target file in the decompressed second object file; acquiring the target file from the decompressed second object file according to the second location information (Para 00167, Some aspects of embodiments of the present disclosure relate to compression of data on a chunk basis. Some comparative techniques for data compression perform data compression on a file basis or an object basis. In these comparative techniques, modifications to select portions of the file or object or appending data to an object may require decompressing the entire file, writing the additional data, and recompressing the entire file).
Claim 9 is the device claim corresponding to the method claim 1, and is analyzed and rejected accordingly.
Claim 10 is the device claim corresponding to the method claim 2, and is analyzed and rejected accordingly.
Regarding claim 11, Daga in view of Tormasov teaches the hardware offloading device according to claim 9, wherein the hardware offloading device further comprises a co-processor; when performing the file merging, the main processor is specifically configured to: send the cached to-be-written files to the co-processor, and receive the first object file sent by the co-processor; the co-processor is configured to: perform compression processing on the cached to-be-written files to obtain the first object file, and send the first object file to the main processor (Para 00167, Some aspects of embodiments of the present disclosure relate to compression of data on a chunk basis. Some comparative techniques for data compression perform data compression on a file basis or an object basis. In these comparative techniques, modifications to select portions of the file or object or appending data to an object may require decompressing the entire file, writing the additional data, and recompressing the entire file).
Regarding claim 12, Daga in view of Tormasov teaches an electronic device, comprising: a processor and the hardware offloading device according to claim 9, wherein the processor runs at least one application, and the processor is communicatively connected to the hardware offloading device through a bus (Para 0006, Embodiments described herein provide improvements to data storage by allowing applications that process large amounts of unstructured data to efficiently handle variably sized metadata objects).
Regarding claim 13, Daga teaches a data access system, comprising: an electronic device, a hardware offloading device and an object-based storage system (Para 0066, a user application); wherein the electronic device is communicatively connected to the hardware offloading device through a bus, and the hardware offloading device is communicatively connected to the object-based storage system(Para 0216, The storage controller 100 is connected to a storage device 130 over a data bus 140); the electronic device runs at least one application(Para 0066, a user application), and is configured to send to-be-written files to the hardware offloading device through the application; the hardware offloading device is configured to: acquire the to-be-written files and write the to-be-written files into a cache on the hardware offloading device(Para 0050, a small object having an attribute set to “short” may be cached in the persistent memory 210); and send a write request comprising the first object file to the object-based storage system; the object-based storage system is configured to store the first object file in response to the write request (Para 0256, in an example case of performing writes to an object or file w using object-based operations, writes to a file are not visible until the file is closed using an object-based close operation).
Daga does not appear to explicitly teach if the to-be-written files cached in the cache meet a file merging condition, perform file merging on the to-be-written files cached in the cache to obtain a first object file to be written.
In analogous art, Tormasov teaches if the to-be-written files cached in the cache meet a file merging condition, perform file merging on the to-be-written files cached in the cache to obtain a first object file to be written (Para 0038, when the threshold for inefficiency is reached, merge the files 124 into one data blob). It would have been obvious to one having ordinary skill in the art before the effective filing date of the claimed invention to modify Daga to include the teaching of Tormasov. One of ordinary skill in the art would be motivated to implement this modification in order to implement efficient storage, as taught by Tormasov (Para 0002, The present disclosure relates generally to the field of data management, more specifically, to systems and methods of data packing into blobs for efficient storage).
Claim 14 is the medium claim corresponding to the method claims 1-8, and is analyzed and rejected accordingly.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to Brooks Hale whose telephone number is 571-272-0160. The examiner can normally be reached 9am to 5pm est.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Sanjiv Shah can be reached on (571) 272-4098. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/B.T.H./Examiner, Art Unit 2166
/SANJIV SHAH/Supervisory Patent Examiner, Art Unit 2166