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 Rejections - 35 USC § 112
The following is a quotation of 35 U.S.C. 112(b):
(b) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention.
Claim 23,26 rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor (or for applications subject to pre-AIA 35 U.S.C. 112, the applicant), regards as the invention.
Regarding claim 23, the timing of when the second data is inconsistent with the parent claim 20. Claim 20 recites performing deduplication and compression operations on the first data to obtain second data, writing the second data into the storage device, receiving an execution success response, and thereafter deleting the first data from the persistent storage medium. Claim 23, however, recites that “deleting the first data” comprises deleting a duplicated data block “to generate the second data.” Thus, as presently written, claim 23 appears to require that the second data be generated by an operation that occurs after the second data has already been generated and stored, because deleting the first data is the very last step of claim 20, a step that happens after the second data has already been generated.
For the purposes of examination, claim 23 will be interpreted as “The method according to claim 20, wherein performing the deduplication operation of the deduplication and compression operations on the first data comprises deleting, from the first data, data blocks duplicated with data blocks that have already been stored in the storage device to generate the second data.” This interpretation is consistent with Specification paragraphs 11-13 and the previously presented version of claim 23.
Regarding claim 26, it is missing an operative verb in the limitation “further comprising: after performing the deduplication and compression operations on the data of the first file and storing the data in the storage device, the first file stored in the data processing apparatus;”. There needs to be a verb before “the first file” to describe what is happening to the first file. Examples could be “delete”, “retain”, “modify”, or some other operation.
For the purposes of examination, claim 26 will be interpreted as “delete the first file stored in the data processing apparatus”, as supported by claim 37, and the specification par 21,22,108,138, which describe deleting the locally stored first file/data after the data has been processed and stored in the storage device.
Claim Rejections - 35 USC § 103
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
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.
Claim(s) 20-21,23,28-31,33,38-39 is/are rejected under 35 U.S.C. 103 as being unpatentable over US 2016139849 A1 (Chaw) in view of US 20130007219 A1 (Sorenson).
Regarding claim 30, Chaw teaches,
A data processing apparatus, (fig 2:30; par 34 “The redundant data channel 30 may perform data processing functions on the payloads and commands received from the virtualized environment 10 over the network 20. The redundant data channel 30 may also be known as a gateway or some other term as the front end of the storage media 50, 60.”) comprising:
at least one processor;(fig 3:80; par 44 “Each of the processing channels may have an input buffer memory 65 comprising a non-volatile random access memory (NVRAM) and a controller 80 as well as ancillary memories, buffers, interfaces and the like (which are not shown).”) and
a memory with a computer readable instructions stored thereon, wherein the instructions, when executed by the at least one processor, enables the data processing apparatus to: (par 21-22, 44,47 – teaches a machine-readable medium having stored thereon instructions and identifies RAM/NVRAM among those mediums.)
receive a write request sent by a first host, wherein the write request carries first data designated to be backed up to a storage device,(fig 2:20,30; par 46 “Data and commands received by each channel of the gateway needs to be securely stored prior to acknowledgment to the user by the storage system.”; par 65 “Each NFS request may include a unique file handle or other identification (which can be used to map to the absolute pathname or metadata of the file) and information about the request. For example, a write request may contain a file offset, a length and a data payload.”)
after receiving the write request: (par 26 “Until the command and any data sent by the user (client) is stored in a non-volatile and redundant manner, the storage system may not acknowledge the command.”)
store the first data in the memory of the data processing apparatus, (par 35 “The passive channel has an role at all times as a NVRAM buffer in the channel is used to temporarily store a copy of data that has been received by the active channel, acknowledged to the user, but no as yet securely stored to the memory system.” Par 47 – teaches storing the received data (and commands) in a non-volatile memory (NVM) input buffer upon receipt. Par 50 – teaches receiving commands and data at the input buffer memory 65.) and
return a write request completion response to the first host, (par 26 “Until the command and any data sent by the user (client) is stored in a non-volatile and redundant manner, the storage system may not acknowledge the command.”; par 46 “To avoid confusions, the type of acknowledgement meant here is at a level in the software stack where the apparent execution of the user initiated command is acknowledged.”; par 93 “acknowledging the receipt of the commands and payload data to the user;”)
obtain the first data from the memory, (par 47 “The received data (and commands) is stored in a non-volatile memory (NVM) input buffer upon receipt, and a copy of the received data is sent to the other channel over a data like so as to be stored a NVM backup buffer.”; fig 3:65; par 59 “As the data is dequeued from the each buffer, the head of the queue for the buffer may be maintained by a pointer.”; par 51 “In an example, the input buffer memory 65 may be a NVRAM (non-volatile RAM) device comprising, for example, a volatile random access memory (e.g., DRAM) with a battery or supercapacitor to maintain the data for a period of time after a power failure,…”. Par 61 – teaches that the data extents which have been accumulating in the NVRAM input buffer may be ingested from the input buffer to a deduplication pipeline sequentially for processing.) and
send the second data to the storage device, (par 75 “…the changed data may be separated from the unchanged data and only the changed data that is not otherwise replicated (novel data) need be stored. This may considerably reduce the write load on the memory array 50, 60.”; claim 5 “The data channel of claim 4, where the data to be stored is compressed after de-duplication and prior to storage in a memory array.”)
receive an execution success response from the storage device in response to the storage device storing the second data,(par 59 – teaches that the data has not yet been securely stored until it is “acknowledged by the storage media 50, 60,” and that a pointer identifying the latest processed and acknowledged stored data “determines when data can be discarded.” par 66 “That is, the operation may be stateless and further operations are paused until completion of a request, which may be, for example, a remote procedure call (RPC) as is known in the art.”) and
However, Chaw does not specifically teach store the first data in a persistent storage medium of the data processing apparatus, wherein the persistent storage medium is different from the memory; obtain the first data from the persistent storage medium; perform deduplication and compression operations on the first data obtained from the persistent storage medium to obtain second data; and delete the first data from the persistent storage medium in response to receiving the execution success response from the storage device.
On the other hand, Sorenson teaches,
store the first data in a persistent storage medium of the data processing apparatus, wherein the persistent storage medium is different from the memory, (fig 24:810; Par 198 – teaches that both the write log 814 and data cache 812 may be implemented in a common, local block-based data store 810. Sorenson further explains that the block data store 810 may be implemented in volatile memory, non-volatile memory, or in a combination thereof, and that the block data store 810 may be implemented on physical memory within the physical device on which cached gateway 800 is implemented. par 209 – teaches that when an allocated buffer block is appended to until full, then another buffer block may be allocated for appending new write data. Full buffer blocks may be asynchronously and sequentially flushed to the write log 814 on the block data store. Par 207 – teaches that the block data store may be implemented by “a disk storage device”.)
obtain the first data from the persistent storage medium, (Par 197 – teaches that when write data is received from a customer process 830, the data is appended to a write log 814; the data is later uploaded to the remote data store 820 from the write log 814 by an upload process. Par 199 – teaches that blocks may be uploaded from the write log 814 to the remote data store 820 via an upload process.)
perform deduplication and compression operations on the first data obtained from the persistent storage medium to obtain second data, (par 115 - teaches uploading the locally stored write data from the write log to the shadowed data volume at remote data store 216. Par 116 – teaches that the upload process may employ one or more of data deduplication, compression, parallelization, and TCP window scaling techniques. Chaw par 54,76 – also teaches performing deduplication and compression.)
delete the first data from the persistent storage medium in response to receiving the execution success response from the storage device. (Par 115 – teaches that once a write log block has been successfully uploaded, the corresponding block may be marked as free in the write log. Par 214 – teaches that after the mutated data is uploaded to the remote data store 820, the data in the write log 814 and the corresponding data in the metadata store 806 can be discarded (e.g., marked as ‘free’), and the space can be reused.)
Chaw and Sorenson are analogous art because they are in the same field of endeavor of computer data storage systems.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify Chaw to incorporate the persistent write-log storage arrangement of Sorenson, such that data obtained from Chaw's input buffer memory is stored in a different persistent storage medium and subsequently obtained from the persistent storage medium for deduplication, compression, and transfer to the storage device, motivated to improve write performance. Sorenson teaches that its write-log arrangement “may be optimized for write performance” and that sequential writes reduce or eliminate random sector seeks and thereby increase disk I/O throughput. (Sorenson par 206-207).
Regarding claim 31, Chaw and Sorenson teach,
The apparatus according to claim 30,
Chaw further teaches,
wherein the apparatus is a network interface card or a data processing unit (DPU). (fig 2:30; par 34 “The redundant data channel 30 may perform data processing functions on the payloads and commands received from the virtualized environment 10 over the network 20. The redundant data channel 30 may also be known as a gateway or some other term as the front end of the storage media 50, 60.”. par 39 – teaches a network interface card (NIC) in the data-channel interface architecture.)
Regarding claim 33, Chaw and Sorenson teach,
The apparatus according to claim 30,
Chaw further teaches,
wherein deleting the first data (par 12 “After determining whether the data in a particular chunk of data is unique or has already been stored, the unique data is stored in the storage system or the metadata of the deduplication process is updated to reference the chunk of data. When has been performed, the data may be deleted (purged) from the channel buffer and the backup buffer in the channel pair where the data was temporarily stored.”; abstract “Data that is buffered in the first channel may be processed for storage, or for deduplication or compression prior to sending to the storage system subsequent to the acknowledgement of completion of the command and the data may then be purged from the data buffers in the redundant channels.”) comprises deleting a data block duplicated with a data block that has been stored in the storage device from the first data. (fig 3:80; par 54 “The controller 80 of each active channel may perform data processing functions such as data de-duplication and compression.”; par 76 “The new (novel) data may be compressed before storage, further reducing the memory requirements, if the data had not previously been compressed by the user. As compression is usually performed after the de-duplication process, data that has already been stored represents the compressed data and the compression step would only be done for new (novel) data to be stored.”)
Regarding claims 20-21, They are the method that the apparatus of claim 30-31 implements and are rejected for the same reasons as claims 30-31.
Regarding claim 23, Chaw and Sorenson teach,
The method according to claim 20,
Chaw further teaches,
wherein performing the deduplication operation of the deduplication and compression operations on the first data comprises deleting, from the first data, data blocks duplicated with data blocks that have already been stored in the storage device to generate the second data.(as interpreted above from the 112(b) rejection of claim 23)( Fig. 4; par 68 teaches determining whether a chunk is “a duplicate of data already stored in the deduplication repository” by performing an index lookup using the identifier for each chunk; when the identifier is not found, “the chunk is novel and needs to be stored,” and “the novel chunk may be compressed and then stored”; par 74 further teaches that when a match with previously deduplicated data is encountered, “the new data is not novel and need not be stored,” and the metadata is updated to redirect requests for the duplicated data to the previously stored data; par 76 teaches that compression is performed after deduplication and “the compression step would only be done for new (novel) data to be stored”.)
Regarding claim 28, Chaw and Sorenson teach,
The method according to claim 20,
Chaw further teaches,
wherein the data processing apparatus communicates with the storage device by using a TCP/IP protocol, a UDP/IP protocol. (par 39 “Data transfer protocols such as SCSI, Fibre Channel, Ethernet may be used simultaneously depending on the specific interface configuration provided for the storage system data channel 30. Individual interface adapters may be user or a converged network adapter (CNA) which a single network interface card (NIC) that contains both a Fibre Channel (FC) host bus adapter (HBA) and a TCP/IP Ethernet NIC connecting servers to PC-based storage area networks (SANs) and Ethernet-based local area networks (LANs).”)
Regarding claim 29, Chaw and Sorenson teach,
The method according to claim 20,
Chaw further teaches,
wherein the data processing apparatus communicates with the storage device by a fiber channel switch, an Ethernet switch, or an InfiniBand switch.(par 41 “A plurality of memory arrays 50, 60 may communicate with the data channel 30 through another network 40, which may be, for example, a redundant switched Fibre Channel (FC) protocol, local area network (LAN), PCie switched fabric, or the like.”)
Regarding claims 38-39, it is the non-transitory computer-readable storage medium containing instructions that the apparatus of claims 30-31 implements, and is rejected for the same reasons as claims 30-31,34.
Claim Rejections - 35 USC § 103
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
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.
Claim(s) 24-27, 34-37,40-41 is/are rejected under 35 U.S.C. 103 as being unpatentable over US 2016139849 A1 (Chaw) and US 20130007219 A1 (Sorenson) as applied to claims 23,33 above, and further in view of US 10417194 B1 (Desai).
Regarding claim 34, Chaw, and Sorenson teach,
The apparatus according to claim 33,
Chaw further teaches,
wherein: the apparatus further comprises a first file system;
the first file system is a version of a second file system of the storage device;
the write request is a write request based on the second file system;( par 61 “File systems may make changes to a cached version of the file and then write the file back to the storage medium when the file session is closed.) and
wherein the instructions, when executed by the at least one processor, further enable the data processing apparatus to store the first data in the persistent storage medium of the data processing apparatus by using the first file system.(par 61 “File systems may make changes to a cached version of the file and then write the file back to the storage medium when the file session is closed. Consequently, the files received by the deduplication process may comprise mostly "old" data extents, but may have new data in some data extents which may be unique (novel), and which need to be identified and stored. The "old" (unmodified) data is identified in the deduplication process and only a reference or pointer to the location where the data is stored is maintained in the metadata.”)
However, although Chaw teaches making changes to a cached version of the file, Chaw does not specifically teach the first file system is the same as a second file system of the storage device.
On the other hand, Desai teaches,
a system for accessing distributed file systems (col 1 ln 13-16 “This invention relates generally to distributed file systems, and more particularly to systems and methods for accessing distributed file systems using content delivery networks.”; col 2 ln 32-33 “Embodiments of the present disclosure provide a site cache for processing IO requests on a distributed file system.”), wherein:
the apparatus further comprises a first file system; (fig 2:206; col 5 ln 54-64 “Site cache 206 may comprise a transient object store capable of storing data object …. the transient object store is similar to the authoritative object store. For example, the transient object store may be a local cloud storage install, such as a local OpenStack Swift install, while the authoritative object store may be a public cloud storage, …. The transient object store may be capable of storing data and responding to read and/or write requests in the same manner as object store 104 discussed in reference to FIG. 1.”)
the first file system is the same as a second file system of the storage device; (col 3 ln 20-23 “Client computer 100 may interact with the distributed file system as it would with a traditional file system, such as by writing data to and reading data from the distributed file system.”. The first file system is treated the same as the second file system. To the client, there is no difference.)
the write request is a write request based on the second file system; (fig 2:206; col 5 ln 61-64 “The transient object store may be capable of storing data and responding to read and/or write requests in the same manner as object store 104 discussed in reference to FIG. 1.”) and
wherein the instructions, when executed by the at least one processor, further enable the data processing apparatus to store the first data in the persistent storage medium of the data processing apparatus by using the first file system. (fig 2:206; col 5 ln 61-64 “The transient object store may be capable of storing data and responding to read and/or write requests in the same manner as object store 104 discussed in reference to FIG. 1.”)
Therefore, it would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed invention to further modify Chaw and Sorenson to incorporate how the first file system is the same as a second file system of the storage device of Desai. One of ordinary skill in the art would have been motivated to remedy the shortcomings of Chaw and Sorenson -- a need for how to access files from a distributed file system (Desai col 1 ln 20-30 “Distributed file systems manage files and folders spread 20 across multiple computers. They may serve a similar function as traditional file systems, but are designed to provide file/folder storage and controlled access over local and wide area networks. Some individuals and/or enterprises may rely on distributed file systems …. There is a need, therefore, for an improved method, article of manufacture, and apparatus for accessing a distributed file system.”) -- with Desai providing a known method to solve a similar problem. Desai provides “This invention relates generally to distributed file systems, and more particularly to systems and methods for accessing distributed file systems using content delivery networks.” ;(Desai col 1 ln 13-16) “Embodiments of the present disclosure provide a site cache for processing IO requests on a distributed file system.”(Desai col 2 ln 32-33)
Regarding claim 35, Chaw, Sorenson, and Desai teach,
The apparatus according to claim 34,
Chaw further teaches,
wherein the instructions, when executed by the at least one processor, further enable the data processing apparatus to:
receive a file creation request;(par 65” Each NFS request may include a unique file handle or other identification (which can be used to map to the absolute pathname or metadata of the file) and information about the request. For example, a write request may contain a file offset, a length and a data payload.”; 66 “The datastore may be understood broadly to be a container (or partition) that the hypervisor can use to create and store the files of the virtualized user application.”)
send the file creation request to the storage device;(par 66 “A hypervisor may issue synchronous write requests in this environment and delays by the storage system (latency) in acknowledging the secure receipt of the command and payload (e.g., the data) reduces the system throughput. That is, the operation may be stateless, and further operations are paused until completion of a request, which may be, for example, a remote procedure call (RPC) as is known in the art.”)
receive a creation success response sent by the storage device;(par 66 “That is, the operation may be stateless, and further operations are paused until completion of a request, which may be, for example, a remote procedure call (RPC) as is known in the art.”) and
create a first file in the first file system (par 66 “The hypervisor may mount the NFS volume, which may be exported as a share, and use it as NAS datastore. The datastore may be understood broadly to be a container ( or partition) that the hypervisor can use to create and store the files of the virtualized user application.”; par 67 “Each virtual machine (guest) managed by the hypervisor may be represented as a set of files in a directory in a datastore.”), wherein the write request requests to store the first data in the first file of the second file system,(par 63 “… the whole file may be written to the storage system in an operation which may appear to the user to be a single atomic operation even if there are some other files or data being transferred contemporaneously.”) wherein storing the first data in the persistent storage medium of the data processing apparatus comprises writing the first data into the first file of the first file system.(par 68 “The novel chunk may be compressed and then stored in the memory array 450 and metadata created or updated 460.”)
Regarding claim 36, Chaw, Sorenson, and Desai teach,
The apparatus according to claim 35,
Chaw further teaches,
wherein the instructions, when executed by the at least one processor, further enable the data processing apparatus to:
after performing the deduplication and compression operations on the data of the first file and storing the data in the storage device, delete the first file stored in the apparatus.(par 12 “After determining whether the data in a particular chunk of data is unique or has already been stored, the unique data is stored in the storage system or the metadata of the deduplication process is updated to reference the chunk of data. When has been performed, the data may be deleted (purged) from the channel buffer and the backup buffer in the channel pair where the data was temporarily stored.”; abstract “Data that is buffered in the first channel may be processed for storage, or for deduplication or compression prior to sending to the storage system subsequent to the acknowledgement of completion of the command and the data may then be purged from the data buffers in the redundant channels.”)
Regarding claim 37, Chaw, Sorenson, and Desai teaches,
The apparatus according to claim 35,
Desai further teaches,
wherein the instructions, when executed by the at least one processor, further causes the data processing apparatus to:
receive a read request sent by the storage device, wherein the read request requests to read at least a part of data of the first file;(fig 6:600; col 8 ln 30-33 “At block 600, a read request comprising an object identifier is transmitted to the metadata server. This read request could include, for example, an identifier associated with an object the client wishes to read.”) and
send the at least a part of the data of the first file to the storage device. (Fig 6:602,604; col 8 ln 51-56 “A 602, the client may receive the site cache location from the MDS in response to the read request. The site cache location may be for a local site cache, or it may be for a site cache at a different location. Finally, at 604, the object associated with the identifier may be read from the site cache.”)
Regarding claim 40, it is the non-transitory computer-readable storage medium containing instructions that the apparatus of claim 34 implements, and is rejected for the same reasons as claim 34.
Regarding claim 41, Chaw, Sorenson, and Desai teaches,
The non-transitory computer-readable storage medium according to claim 40,
Chaw further teaches,
wherein the instructions, when executed by at least one processor, further enables the data processing apparatus to:
receive a file creation request; (par 65” Each NFS request may include a unique file handle or other identification (which can be used to map to the absolute pathname or metadata of the file) and information about the request. For example, a write request may contain a file offset, a length and a data payload.”; 66 “The datastore may be understood broadly to be a container (or partition) that the hypervisor can use to create and store the files of the virtualized user application.”)
forward the file create request to the storage device; (par 66 “A hypervisor may issue synchronous write requests in this environment and delays by the storage system (latency) in acknowledging the secure receipt of the command and payload (e.g., the data) reduces the system throughput. That is, the operation may be stateless, and further operations are paused until completion of a request, which may be, for example, a remote procedure call (RPC) as is known in the art.”)
create, in the second file system of the storage device, a first file that the file creation request requests to create;(par 66 “The hypervisor may mount the NFS volume, … and use it as NAS datastore. The datastore may be understood broadly to be a container (or partition) that the hypervisor can use to create and store the files of the virtualized user application. A hypervisor may issue synchronous write requests in this environment … .”)
generate mapping address information of the first file, wherein the mapping address information indicates that data of the first file is located in the data processing apparatus, or indicates an access path of the data of the first file in the data processing apparatus; (par 65 “Each NFS request may include a unique file handle or other identification (which can be used to map to the absolute pathname or metadata of the file) and information about the request. For example, a write request may contain a file offset, a length and a data payload.”; par 74 “Since the user refers to the data by the file handle, Mode, or other logical address or tag, a mapping between the user data reference and the actual storage location needs to also be updated. Most processes described herein use a level of indirection in addressing to facilitate communication between system elements, efficiently perform look up operations and table management and the like. Such housekeeping operations may be presumed.”)
send a creation success response to the data processing apparatus;( par 66 “A hypervisor may issue synchronous write requests in this environment and delays by the storage system (latency) in acknowledging the secure receipt of the command and payload (e.g., the data) reduces the system throughput. That is, the operation may be stateless and further operations are paused until completion of a request, which may be, for example, a remote procedure call (RPC) as is known in the art.”)
receive the creation success response sent by the storage device;(par 66 “That is, the operation may be stateless and further operations are paused until completion of a request, which may be, for example, a remote procedure call (RPC) as is known in the art.”)
create the first file in the first file system, (par 66 “The hypervisor may mount the NFS volume, which may be exported as a share, and use it as NAS datastore. The datastore may be understood broadly to be a container ( or partition) that the hypervisor can use to create and store the files of the virtualized user application.”; par 67 “Each virtual machine (guest) managed by the hypervisor may be represented as a set of files in a directory in a datastore.”) wherein the write request requests to store the first data in the first file of the second file system;(par 63 “… the whole file may be written to the storage system in an operation which may appear to the user to be a single atomic operation even if there are some other files or data being transferred contemporaneously.”) and
store the first data in the persistent storage medium of the data processing apparatus comprises writing the first data into the first file. (par 68 “The novel chunk may be compressed and then stored in the memory array 450 and metadata created or updated 460.”)
Regarding claim 24, it is the method that the apparatus of claim 34 implements and is rejected for the same reasons as claim 34.
Regarding claim 25, Chaw, Sorenson, and Desai teaches,
The method according to claim 24,
Chaw further teaches,
further comprising:
receiving a file creation request;( par 65” Each NFS request may include a unique file handle or other identification (which can be used to map to the absolute pathname or metadata of the file) and information about the request. For example, a write request may contain a file offset, a length and a data payload.”; 66 “The datastore may be understood broadly to be a container (or partition) that the hypervisor can use to create and store the files of the virtualized user application.)
forwarding the file create request to the storage device; (par 66 “A hypervisor may issue synchronous write requests in this environment and delays by the storage system (latency) in acknowledging the secure receipt of the command and payload (e.g., the data) reduces the system throughput. That is, the operation may be stateless and further operations are paused until completion of a request, which may be, for example, a remote procedure call (RPC) as is known in the art.”)
creating, in the second file system of the storage device, a first file that the file creation request requests to create; (par 66 “A hypervisor may issue synchronous write requests in this environment and delays by the storage system (latency) in acknowledging the secure receipt of the command and payload (e.g., the data) reduces the system throughput. That is, the operation may be stateless and further operations are paused until completion of a request, which may be, for example, a remote procedure call (RPC) as is known in the art.”)
generating mapping address information of the first file, wherein the mapping address information indicates that data of the first file is located in the data processing apparatus, or indicates an access path of the data of the first file in the data processing apparatus;(par 65 “Each NFS request may include a unique file handle or other identification (which can be used to map to the absolute pathname or metadata of the file) and information about the request. For example, a write request may contain a file offset, a length and a data payload.”)
sending a creation success response to the data processing apparatus;(par 66 “That is, the operation may be stateless and further operations are paused until completion of a request, which may be, for example, a remote procedure call (RPC) as is known in the art.”)
receiving the creation success response sent by the storage device;(par 66 “That is, the operation may be stateless and further operations are paused until completion of a request, which may be, for example, a remote procedure call (RPC) as is known in the art.”)
creating the first file in the first file system, (par 66 “The hypervisor may mount the NFS volume, which may be exported as a share, and use it as NAS datastore. The datastore may be understood broadly to be a container (or partition) that the hypervisor can use to create and store the files of the virtualized user application.”; par 67 “Each virtual machine (guest) managed by the hypervisor may be represented as a set of files in a directory in a datastore.”;) wherein the write request requests to store the first data in the first file of the second file system; (par 63 “… the whole file may be written to the storage system in an operation which may appear to the user to be a single atomic operation even if there are some other files or data being transferred contemporaneously.”) and
storing the first data in the persistent storage medium of the data processing apparatus comprises writing the first data into the first file. (par 68 “The novel chunk may be compressed and then stored in the memory array 450 and metadata created or updated 460.”)
Regarding claim 26, Chaw, Sorenson, and Desai teaches,
The method according to claim 25,
Chaw further teaches,
further comprising:
after performing the deduplication and compression operations on the data of the first file and storing the data in the storage device, (par 61 “File systems may make changes to a cached version of the file and then write the file back to the storage medium when the file session is closed. Consequently, the files received by the deduplication process may comprise mostly "old" data extents, but may have new data in some data extents which may be unique (novel), and which need to be identified and stored. The "old" (unmodified) data is identified in the deduplication process and only a reference or pointer to the location where the data is stored is maintained in the metadata.”) delete the first file stored in the data processing apparatus; (par 12 “After determining whether the data in a particular chunk of data is unique or has already been stored, the unique data is stored in the storage system or the metadata of the deduplication process is updated to reference the chunk of data. When has been performed, the data may be deleted (purged) from the channel buffer and the backup buffer in the channel pair where the data was temporarily stored.”; abstract “Data that is buffered in the first channel may be processed for storage, or for deduplication or compression prior to sending to the storage system subsequent to the acknowledgement of completion of the command and the data may then be purged from the data buffers in the redundant channels.”) and
modifying the mapping address information of the first file to indicate that the data of the first file is stored in the storage device. (par 69 “Once a novel chunk is successfully stored, the deduplication identifier index and the file block map need to be updated to store information regarding the location of the chunk in the memory array memory space.”)
Regarding claim 27, Chaw, Sorenson, and Desai teaches,
The method according to claim 25,
Desai further teaches,
further comprising:
receiving a first read request sent by a second host, (col 3 ln 7-10 “While only one client 100 is shown, the system may include multiple clients accessing the distributed file system. Similarly, the system may include multiple object stores 104 and/or multiple MDS 102.”) wherein the first read request is used to read at least a part of the data of the first file;(col 3 ln 20-23 “Client computer 100 may interact with the distributed file system as it would with a traditional file system, such as by writing data to and reading data from the distributed file system.”)
in response to determining that the at least a part of the data of the first file is located in the data processing apparatus, sending a second read request used to read the at least a part of the data of the first file to the data processing apparatus;(par 8 ln 36-48 “If the data has not been flushed to the authoritative object store, but rather exists on a site cache, a read URL for that site cache may be returned to the client. … Additionally or alternatively, the data object may exist in both a site cache and the authoritative object store. The metadata server may generate a URL for both the site cache and the authoritative object store. The client may then attempt to retrieve the data from the site cache first, and the authoritative object store second if there is a failure.”)
reading at least a part of the data of the first file from the data processing apparatus based on the second read request;(par 8 ln 36-48 “If the data has not been flushed to the authoritative object store, but rather exists on a site cache, a read URL for that site cache may be returned to the client.) and
sending the data to the storage device. (Fig 6:602,604; col 8 ln 51-56 “A 602, the client may receive the site cache location from the MDS in response to the read request. The site cache location may be for a local site cache, or it may be for a site cache at a different location. Finally, at 604, the object associated with the identifier may be read from the site cache.”)
Response to Arguments
Applicant’s arguments, see remarks , filed 5/26/2026, with respect to the rejections under 35 U.S.C. 101 have been fully considered and are persuasive. The rejections under 35 U.S.C. 101 of 04/07/2026 has been withdrawn.
Applicant argues that the rejection under 35 U.S.C. § 101 should be withdrawn because, “the claim as a whole integrates any alleged judicial exception into a practical application under Step 2A Prong 2” and “the claim improves the functioning of a computer.” Applicant further argues that the amended claims recite a specific data processing apparatus having a memory and a persistent storage medium different from the memory and a particular sequence of storage and data-processing operations. Applicants’ arguments have been considered and are persuasive. In view of the amendments and Applicant's arguments, the rejection of claims 20-21, 23-31, and 33-41 under 35 U.S.C. 101 is withdrawn.
Applicant’s arguments, see remarks , filed 5/26/2026, with respect to the rejection(s) of claim(s) 20-21, 23, 28-31, 33, 38-41, rejected under 35 U.S.C. 102(a)(1) and (a)(2) as being anticipated by US 2016139849 A1 (Chaw) have been fully considered and are persuasive. Therefore, the rejection has been withdrawn. However, upon further consideration, a new ground(s) of rejection is made in view of 35 U.S.C. 103 as being unpatentable over US 2016139849 A1 (Chaw) in view of US 20130007219 A1 (Sorenson).
Applicant argues that “Chaw's input buffer memory 65 cannot satisfy both limitations because the same hardware element cannot simultaneously serve as two different elements,” because amended claims 20, 30, and 38 now require the persistent storage medium to be different from the memory.
Applicant's argument is persuasive with respect to the previously applied anticipation rejection over Chaw alone. Accordingly, the rejection under 35 U.S.C. 102 over Chaw is withdrawn. However, the argument does not render the claims allowable because a new ground of rejection under 35 U.S.C. 103 is set forth herein over Chaw in view of Sorenson. Chaw teaches storing received data in input buffer memory 65, whereas Sorenson teaches a separate persistent block data store 810 on which write log 814 is implemented. Sorenson further teaches that full buffer blocks are subsequently “flushed to the write log 814 on the block data store,” and that the block data store may be implemented by a disk storage device. (Sorenson par 209) Thus, the combination teaches the claimed memory and a persistent storage medium different from the memory.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
US 10114829 B1 - Bono - cache storage before flushing out to secondary storage location. file system FS1 nested inside another file system FS2
US 8060476 B1 - Alfonso - backup proxy system with create, write, and close file handling and differential engine for backups.
US 20130290255 A1 - Lin - caching system in a distributed file system
US 20170131934 A1 - Kaczmarczyk - par 386 teaches writing and removing old blocks
Any inquiry concerning this communication or earlier communications from the examiner should be directed to MICHAEL XU whose telephone number is (571)272-5688. The examiner can normally be reached Monday-Friday 8:00am - 5:00pm.
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, Bryce Bonzo can be reached at (571) 272-3655. 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.
/MICHAEL XU/Examiner, Art Unit 2113