DETAILED ACTION
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
This Office Action is responsive to preliminary amendment filed on 03/16/2025. Claims 1-20 were canceled and new claims 21-40 were added.
Information Disclosure Statement
The information disclosure statement (IDS) was submitted on 02/27/2025. The submission is in compliance with the provisions of 37 CFR 1.97. Accordingly, the information disclosure statement is being considered by the examiner.
Double Patenting
The nonstatutory double patenting rejection is based on a judicially created doctrine grounded in public policy (a policy reflected in the statute) so as to prevent the unjustified or improper timewise extension of the “right to exclude” granted by a patent and to prevent possible harassment by multiple assignees. A nonstatutory double patenting rejection is appropriate where the conflicting claims are not identical, but at least one examined application claim is not patentably distinct from the reference claim(s) because the examined application claim is either anticipated by, or would have been obvious over, the reference claim(s). See, e.g., In re Berg, 140 F.3d 1428, 46 USPQ2d 1226 (Fed. Cir. 1998); In re Goodman, 11 F.3d 1046, 29 USPQ2d 2010 (Fed. Cir. 1993); In re Longi, 759 F.2d 887, 225 USPQ 645 (Fed. Cir. 1985); In re Van Ornum, 686 F.2d 937, 214 USPQ 761 (CCPA 1982); In re Vogel, 422 F.2d 438, 164 USPQ 619 (CCPA 1970); In re Thorington, 418 F.2d 528, 163 USPQ 644 (CCPA 1969).
A timely filed terminal disclaimer in compliance with 37 CFR 1.321(c) or 1.321(d) may be used to overcome an actual or provisional rejection based on nonstatutory double patenting provided the reference application or patent either is shown to be commonly owned with the examined application, or claims an invention made as a result of activities undertaken within the scope of a joint research agreement. See MPEP § 717.02 for applications subject to examination under the first inventor to file provisions of the AIA as explained in MPEP § 2159. See MPEP § 2146 et seq. for applications not subject to examination under the first inventor to file provisions of the AIA . A terminal disclaimer must be signed in compliance with 37 CFR 1.321(b).
The filing of a terminal disclaimer by itself is not a complete reply to a nonstatutory double patenting (NSDP) rejection. A complete reply requires that the terminal disclaimer be accompanied by a reply requesting reconsideration of the prior Office action. Even where the NSDP rejection is provisional the reply must be complete. See MPEP § 804, subsection I.B.1. For a reply to a non-final Office action, see 37 CFR 1.111(a). For a reply to final Office action, see 37 CFR 1.113(c). A request for reconsideration while not provided for in 37 CFR 1.113(c) may be filed after final for consideration. See MPEP §§ 706.07(e) and 714.13.
The USPTO Internet website contains terminal disclaimer forms which may be used. Please visit www.uspto.gov/patent/patents-forms. The actual filing date of the application in which the form is filed determines what form (e.g., PTO/SB/25, PTO/SB/26, PTO/AIA /25, or PTO/AIA /26) should be used. A web-based eTerminal Disclaimer may be filled out completely online using web-screens. An eTerminal Disclaimer that meets all requirements is auto-processed and approved immediately upon submission. For more information about eTerminal Disclaimers, refer to www.uspto.gov/patents/apply/applying-online/eterminal-disclaimer.
The following table enumerates the claim status of instant independent claims 21, 28, and 35 with respect to independent claims 1, 13, and 17 of US Patent 12,210,422.
Status
Instant Claims
US Patent 12,210,422
1-20. (canceled)
Obvious in view of McCarthy et al. US 2015/0331607
21. A method, comprising:
storing data of a volume across a storage file system that stores data according to block-addressable access and a persistent memory file system that stores data according to byte-addressable access, wherein the storage file system and persistent memory file system are hosted by a primary source;
receiving a request to replicate the data of the volume from the primary source to a destination target; and implementing volume level data replication to replicate the data of the volume from the storage file system and the persistent memory file system to the destination target.
13. A method, comprising: receiving an operation by a persistent memory storage tier hosted within a storage operation system storage stack,
wherein the storage operation system storage stack hosts a storage file system that stores data according to block-address access, and wherein the persistent memory storage tier manages a persistent memory file system that stores data according to byte-addressable access; and
transmitting, based on an access pattern, the operation to the storage file system or rerouting the operation via the persistent memory storage tier; transmitting the operation to the storage file system based upon the operation targeting a file that has not been previously written to randomly.
Obvious in view of McCarthy et al. US 2015/0331607
28. A computing device comprising: a memory storing instructions; and a processor coupled to the memory, the processor configured to execute the instructions to cause the computing device to:
store data of across a storage file system that stores data according to block-addressable access and a persistent memory file system that stores data according to byte-addressable access, wherein the storage file system and persistent memory file system are hosted by a primary source;
receive a request to replicate the data from the primary source to a destination target; and implement data replication to replicate the data from the storage file system and the persistent memory file system to the destination target.
1. A computing device comprising: a storage file system tier within a storage operating system storage stack,
wherein the storage file system tier manages a storage file system that stores data according to block-addressable access; and a persistent memory storage tier within the storage operating system storage stack, wherein the persistent memory storage tier manages a persistent memory file system that stores data according to byte-addressable access,
and wherein the persistent memory storage tier utilizes a policy to determine whether a write operation, targeting the storage file system tier, is to be rerouted via the persistent memory storage tier; wherein the persistent memory storage tier utilizes the policy to determine that the write operation is to be retargeted to the persistent memory file system based upon the write operation targeting a file that will be subsequently overwritten while data of the file is stored within persistent memory.
Obvious in view of McCarthy et al. US 2015/0331607
35. A non-transitory machine readable medium comprising instructions for performing a method, which when executed by a device, causes the device to:
store data of across a storage file system that stores data according to block-addressable access and a persistent memory file system that stores data according to byte-addressable access, wherein the storage file system and persistent memory file system are hosted by a primary source;
receive a request to replicate the data from the primary source to a destination target; and implement data replication to replicate the data from the storage file system and the persistent memory file system to the destination target.
17. A non-transitory machine readable medium comprising instructions for performing a method, which when executed by a machine, causes the machine to:
host a persistent memory storage tier and a storage file system tier within a storage operating system storage stack, wherein the persistent memory storage tier manages a persistent memory file system that stores data according to byte-addressable access, and wherein the storage file system tier manages a storage file system that stores data according to block-addressable access; receive, by the storage operation system storage stack,
an operation; and transmit the operation to the storage file system or reroute the operation via the persistent memory storage tier; reroute the operation via the persistent memory storage tier to persistent memory based upon the operation targeting a file that has been previously written to randomly.
Claims 21, 28, and 35 are rejected on the ground of nonstatutory double patenting as being unpatentable over claims 1, 13, and 17 of U.S. Patent No. 12,210,422 in view of McCarthy et al. US 2015/0331607 (“McCarthy”).
As per independent claims 21, 28, and 35, taking claim 21 as exemplary, McCarthy teaches receiving a request to replicate the data of the volume from the primary source to a destination target (“In response to receiving a modifying data access request (such as a write request) from a client, the file system may use an address of kernel memory (i.e., an area of memory 300 allocated to the portions of the storage operating system residing in memory) to create an operation (such as a write operation) including (write) data.” Para 0028);
implementing volume level data replication to replicate the data of the volume from the storage file system and the persistent memory file system to the destination target (“Once the data of request 3 is written to the backing store, the flush thread 265 may process request 4 to, e.g., copy the data of the request to the staging area 320 and thereafter write that request to the backing store.” Para 0040).
Given the teaching of McCarthy, 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 the scope of the US Patent 12,210,422 with “receiving a request to replicate the data of the volume from the primary source to a destination target” and “implementing volume level data replication to replicate the data of the volume from the storage file system and the persistent memory file system to the destination target”.
The following table enumerates the claim status of instant independent claims 21, 28, and 35 with respect to independent claims 1, 11, and 20 of US Patent 11,748,208.
Status
Instant Claims
US Patent 11,748,208
1-20. (canceled)
Obvious in view of McCarthy et al. US 2015/0331607
21. A method, comprising:
storing data of a volume across a storage file system that stores data according to block-addressable access and a persistent memory file system that stores data according to byte-addressable access, wherein the storage file system and persistent memory file system are hosted by a primary source;
receiving a request to replicate the data of the volume from the primary source to a destination target; and implementing volume level data replication to replicate the data of the volume from the storage file system and the persistent memory file system to the destination target.
1. A method comprising:
hosting a persistent memory storage tier and a storage file system tier within a storage operating system storage stack of a node, and wherein the persistent memory storage tier is configured to manage a persistent memory file system that stores data within persistent memory according to byte-addressable access, wherein the persistent memory storage tier supports a first atomicity size for operations retargeted to the persistent memory, wherein the first atomicity size is larger than a second atomicity size natively supported by the persistent memory; and
wherein the storage file system tier is configured to manage a storage file system that stores data within a storage device according to block-addressable access; and generating a snapshot to comprise at least some data within the persistent memory and at least some data within the storage device.
Obvious in view of McCarthy et al. US 2015/0331607
28. A computing device comprising: a memory storing instructions; and a processor coupled to the memory, the processor configured to execute the instructions to cause the computing device to:
store data of across a storage file system that stores data according to block-addressable access and a persistent memory file system that stores data according to byte-addressable access, wherein the storage file system and persistent memory file system are hosted by a primary source;
receive a request to replicate the data from the primary source to a destination target; and implement data replication to replicate the data from the storage file system and the persistent memory file system to the destination target.
11. A computing device comprising: a memory comprising machine executable code for performing a method; and a processor coupled to the memory, the processor configured to execute the machine executable code to cause the processor to:
maintain a persistent memory storage tier and a storage file system tier within a storage operating system storage stack of a node, wherein the persistent memory storage tier is configured to manage a persistent memory file system that stores data within persistent memory according to byte-addressable access, wherein the persistent memory storage tier supports a first atomicity size for operations retargeted to the persistent memory,
wherein the first atomicity size is larger than a second atomicity size natively supported by the persistent memory; and wherein the storage file system tier is configured to manage a storage file system that stores data within a storage device according to block-addressable access; and mirror data within the persistent memory of the node to a partner persistent memory of a partner node that is a partner of the node, wherein subsequent operations are rerouted from the node to the partner node for access to the partner persistent memory.
Obvious in view of McCarthy et al. US 2015/0331607
35. A non-transitory machine readable medium comprising instructions for performing a method, which when executed by a device, causes the device to:
store data of across a storage file system that stores data according to block-addressable access and a persistent memory file system that stores data according to byte-addressable access, wherein the storage file system and persistent memory file system are hosted by a primary source;
receive a request to replicate the data from the primary source to a destination target; and implement data replication to replicate the data from the storage file system and the persistent memory file system to the destination target.
20. A non-transitory machine readable medium comprising instructions for performing a method, which when executed by a machine, causes the machine
hosting a persistent memory storage tier and a storage file system tier within a storage operating system storage stack of a node, and wherein the persistent memory storage tier is configured to manage a persistent memory file system that stores data within persistent memory according to byte-addressable access, and wherein the storage file system tier is configured to manage a storage file system that stores data within a storage device according to block-addressable access;
and supporting, by the persistent memory storage tier, a first atomicity size for operations retargeted to the persistent memory, wherein the first atomicity size is larger than a second atomicity size natively supported by the persistent memory.
Claims 21, 28, and 35 are rejected on the ground of nonstatutory double patenting as being unpatentable over claims 1, 11, and 20 of U.S. Patent No. 11,748,208 in view of McCarthy.
See rejection on pages 6-7 of this Office Action.
The following table enumerates the claim status of instant independent claims 21, 28, and 35 with respect to independent claims 1, 9, and 16 of US Patent 11,226,869.
Status
Instant Claims
US Patent 11,226,869
1-20. (canceled)
Obvious in view of McCarthy et al. US 2015/0331607
21. A method, comprising:
storing data of a volume across a storage file system that stores data according to block-addressable access and a persistent memory file system that stores data according to byte-addressable access, wherein the storage file system and persistent memory file system are hosted by a primary source;
receiving a request to replicate the data of the volume from the primary source to a destination target; and implementing volume level data replication to replicate the data of the volume from the storage file system and the persistent memory file system to the destination target.
1. A method comprising:
hosting a persistent memory storage tier and a storage file system tier within a storage operating system storage stack of a node, wherein the persistent memory storage tier is configured to manage a persistent memory file system that stores data within persistent memory according to byte-addressable access, wherein the storage file system tier is configured to manage a storage file system that stores data within a storage device according to block-addressable access,
and wherein the persistent memory storage tier manages the persistent memory at a higher level within the storage operating system storage stack than a level at which the storage file system is managed such that operations targeting the storage file system are intercepted by the persistent memory storage tier before reaching the storage file system tier; intercepting, by the persistent memory storage tier, an operation targeting the storage file system; in response to determining that the operation is to be executed through the storage file system, invoking the storage file system to execute the operation upon the storage device according to the block-addressable access; and in response to determining that the operation is to be executed through the persistent memory file system: retargeting, by the persistent memory storage tier, the operation from targeting the storage file system to targeting persistent memory; and invoking the persistent memory file system to execute the operation upon the persistent memory according to the byte-addressable access.
Obvious in view of McCarthy et al. US 2015/0331607
28. A computing device comprising: a memory storing instructions; and a processor coupled to the memory, the processor configured to execute the instructions to cause the computing device to:
store data of across a storage file system that stores data according to block-addressable access and a persistent memory file system that stores data according to byte-addressable access, wherein the storage file system and persistent memory file system are hosted by a primary source;
receive a request to replicate the data from the primary source to a destination target; and implement data replication to replicate the data from the storage file system and the persistent memory file system to the destination target.
16. A computing device comprising: a memory comprising machine executable code for performing a method; and a processor coupled to the memory, the processor configured to execute the machine executable code to cause the processor to:
maintain a persistent memory storage tier and a storage file system tier within a storage operating system storage stack of a node, wherein the persistent memory storage tier is configured to manage a persistent memory file system that stores data within persistent memory according to byte-addressable access, and wherein the storage file system tier is configured to manage a storage file system that stores data within a storage device according to block-addressable access;
intercept, by the persistent memory storage tier, an operation targeting the storage file system; and in response to determining that the operation is to be executed through the persistent memory file system: retargeting, by the persistent memory storage tier, the operation from targeting the storage file system to targeting persistent memory; and invoking the persistent memory file system to execute the operation upon the persistent memory according to the byte-addressable access.
Obvious in view of McCarthy et al. US 2015/0331607
35. A non-transitory machine readable medium comprising instructions for performing a method, which when executed by a device, causes the device to:
store data of across a storage file system that stores data according to block-addressable access and a persistent memory file system that stores data according to byte-addressable access, wherein the storage file system and persistent memory file system are hosted by a primary source;
receive a request to replicate the data from the primary source to a destination target; and implement data replication to replicate the data from the storage file system and the persistent memory file system to the destination target.
9. A non-transitory machine readable medium comprising instructions for performing a method, which when executed by a machine, causes the machine to:
maintain a persistent memory storage tier and a storage file system tier within a storage operating system storage stack of a node, wherein the persistent memory storage tier is configured to manage a persistent memory file system that stores data within persistent memory according to byte-addressable access, and wherein the storage file system tier is configured to manage a storage file system that stores data within a storage device according to block-addressable access;
intercept, by the persistent memory storage tier, an operation targeting the storage file system; in response to determining that the operation is to be executed through the persistent memory file system based upon a policy predicting that data targeted by the operation will be accessed within a threshold timespan or above a threshold frequency: retarget the operation from targeting the storage file system to targeting the persistent memory; and transmit the operation to the persistent memory for execution according to the byte-addressable access.
Claims 21, 28, and 35 are rejected on the ground of nonstatutory double patenting as being unpatentable over claims 1, 9, and 16 of U.S. Patent No. 11,226,869 in view of McCarthy.
See rejection on pages 6-7 of this Office Action.
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 21, 28, and 35 are rejected under 35 U.S.C. 103 as being unpatentable over McCarthy et al. US 2015/0331607 (“McCarthy”).
As per independent claim 21, McCarthy teaches A method (“The subject matter described herein provides a system and method for simulating a persistent random-access, byte-addressable storage device on a persistent random-access, block-addressable storage device of a storage system” para 0013), comprising:
storing data of a volume across a storage file system that stores data according to block-addressable access and a persistent memory file system that stores data according to byte-addressable access (“The file system 280 is illustratively a message-based system that provides logical volume management capabilities for use in access to the information stored on the storage devices, such as disks.” Para 0025. “The subject matter described herein provide a system and method for simulating a persistent random-access, byte-addressable storage device on a persistent random-access, block-addressable storage device of a storage system” para 0030), wherein the storage file system and persistent memory file system are hosted by a primary source (“FIG. 5 is an example simplified procedure for simulating a persistent random-access, byte-addressable storage device on a persistent random-access, block-addressable storage device of a storage system configured to enable asynchronous buffered access to information persistently stored on the block-addressable device.” Para 0047);
receiving a request to replicate the data of the volume from the primary source to a destination target (“In response to receiving a modifying data access request (such as a write request) from a client, the file system may use an address of kernel memory (i.e., an area of memory 300 allocated to the portions of the storage operating system residing in memory) to create an operation (such as a write operation) including (write) data.” Para 0028).
McCarthy discloses all of the claim limitations from above. McCarthy does not explicitly teach “volume level data replication”. The “volume level data replication” reasonably maps to copying data from a staging area. With this mapping, McCarthy teaches implementing volume level data replication to replicate the data of the volume from the storage file system and the persistent memory file system to the destination target (“Once the data of request 3 is written to the backing store, the flush thread 265 may process request 4 to, e.g., copy the data of the request to the staging area 320 and thereafter write that request to the backing store.” Para 0040).
Given the teaching of McCarthy, 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 the scope of the invention of McCarthy with “implementing volume level data replication to replicate the data of the volume from the storage file system and the persistent memory file system to the destination target”. The motivation would be that the invention improves the reliability, stability, and performance of a storage system, para 0028 of McCarthy.
As per independent claim 28, this claim is rejected based on arguments provided above for similar rejected independent claim 21. “The subject matter described herein provides a system and method for simulating a persistent random-access, byte-addressable storage device on a persistent random-access, block-addressable storage device of a storage system” para 0013 of McCarthy.
As per independent claim 35, this claim is rejected based on arguments provided above for similar rejected independent claim 21. For computer program product on a non-transitory computer readable medium, see para 0051 of McCarthy.
Allowable Subject Matter
Claims 22-27, 29-34, and 36-40 are objected to as being dependent upon a rejected base claim, but would be allowable if rewritten in independent form including all of the limitations of the base claim and any intervening claims.
Reasons for Allowance
The following is an examiner’s statement of reasons for allowance.
After careful considerations, examination and search of the claimed invention, the closest prior art of record does not teach or anticipate the claimed feature of claims 22, 29, and 36, taking claim 22 as exemplary “comprising: executing cloning functionality to capture a snapshot of a file within the volume, wherein the snapshot captures at least some data of the file stored within the persistent memory file system” in combination with the overall claimed limitations when interpreted in light of the specification.
McCarthy is believed to be the closest prior art. However, McCarthy is silent about “cloning” and “snapshotting”. Hence, McCarthy neither anticipates nor renders obvious the subject matter of claim 22. Therefore, claim 22 is patentable.
Dependent claims 23-25 directly or indirectly depend from claim 22 and these claims are also patentable by virtue of their dependency.
Dependent claims 30-32 directly or indirectly depend from claim 29 and these claims are also patentable by virtue of their dependency.
Dependent claims 37-39 directly or indirectly depend from claim 36 and these claims are also patentable by virtue of their dependency.
After careful considerations, examination and search of the claimed invention, the closest prior art of record does not teach or anticipate the claimed feature of claims 26, 33, and 40, taking claim 26 as exemplary “comprising: mirroring data of the persistent memory file system between a first node and a second node maintained as a pairing of nodes” in combination with the overall claimed limitations when interpreted in light of the specification.
McCarthy is believed to be the closest prior art. However, McCarthy does not teach “mirror” and “pair”. Hence, McCarthy neither anticipates nor renders obvious the subject matter of claim 26. Therefore, claim 26 is patentable.
Dependent claim 27 directly depend from claim 26 and this claim is also patentable by virtue of its dependency.
Dependent claim 34 directly depend from claim 33 and this claim is also patentable by virtue of its dependency.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to ZUBAIR AHMED whose telephone number is (571)272-1655. The examiner can normally be reached 7:30AM - 5:00PM 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, HOSAIN T. ALAM can be reached at (571) 272-3978. 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.
/ZUBAIR AHMED/Examiner, Art Unit 2132
/HOSAIN T ALAM/Supervisory Patent Examiner, Art Unit 2132