Prosecution Insights
Last updated: April 19, 2026
Application No. 18/622,000

HYBRID DATA REPLICATION

Non-Final OA §103
Filed
Mar 29, 2024
Examiner
LOONAN, ERIC T
Art Unit
2137
Tech Center
2100 — Computer Architecture & Software
Assignee
Microsoft Technology Licensing, LLC
OA Round
1 (Non-Final)
64%
Grant Probability
Moderate
1-2
OA Rounds
4y 0m
To Grant
91%
With Interview

Examiner Intelligence

Grants 64% of resolved cases
64%
Career Allow Rate
271 granted / 423 resolved
+9.1% vs TC avg
Strong +27% interview lift
Without
With
+27.0%
Interview Lift
resolved cases with interview
Typical timeline
4y 0m
Avg Prosecution
29 currently pending
Career history
452
Total Applications
across all art units

Statute-Specific Performance

§101
8.1%
-31.9% vs TC avg
§103
45.7%
+5.7% vs TC avg
§102
20.1%
-19.9% vs TC avg
§112
19.7%
-20.3% vs TC avg
Black line = Tech Center average estimate • Based on career data from 423 resolved cases

Office Action

§103
DETAILED ACTION This Office Action is filed in response to the initial filing of application 18/622,000 on 29 March 2024. Claims 1-20, as originally filed, are currently pending and have been fully considered below. 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 Objections The following claims are objected to due to informalities: Claims 5, 12, and 18: Lack of antecedent basis of the term “the second node”. While antecedent basis exists for the term “a plurality of second nodes” and “different second nodes”, antecedent basis does not exist for any particular “the second node of the plurality of second nodes”. Appropriate correction is required. 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. The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows: 1. Determining the scope and contents of the prior art. 2. Ascertaining the differences between the prior art and the claims at issue. 3. Resolving the level of ordinary skill in the pertinent art. 4. Considering objective evidence present in the application indicating obviousness or nonobviousness. Claim(s) 1, 2, 4, 5, 8, 9, 11, 12, 15, 17, and 18 is/are rejected under 35 U.S.C. 103 as being unpatentable over GOLDING (US PGPub 2005/0114596) in further view of FLYNN et al (US PGPub 2008/0168304). With respect to Claim 1, GOLDING discloses a method comprising: receiving first data (¶[0031] – “a newly created one-block object”; Fig 3, Physical Object C); storing a first copy of the first data on a first node (¶[0031] – the object … “is stored as two one-block physical objects C and C’ that are mirrors of each other … The two physical objects are stored on separate object storage devices”; Fig. 3, Physical Object C’ {analogous to ‘a first copy’}); storing a second copy of the first data on a plurality of second nodes by storing a first data fragment of the first data and a second data fragment of the first data on different second nodes (¶[0032] – “the invention converts C from being individually mirrored to an individual parity RAID 5 layout of a stripe width s by creating s+1 physical objects on separate object storage devices and copying data into the striped layout”; Fig 5 illustrates blocks C1 and C2 of physical object C placed in separate physical object storage devices 1 and 2, respectively); determining that the predetermined code generation condition is satisfied (Fig 6, Step 63 – “Conversion trigger met?” => YES); generating a code fragment based on the first data (Fig 6, Step 67 – “Convert A to parity RAID layout”; ¶[0035] – “Alternately, if the condition 64 on the size of the object is met, then the object is converted 67 to an individual parity layout. Specifically, one physical object is created on each of s+1 object storage devices, and the data in A is copied in such a way that it is striped over s of the physical objects. The parity of the stripes is computed {analogous to ‘generating a code fragment …”} and stored in the remaining physical object”); and deleting the first copy of the first data from the first node (¶[0035] – “Finally, after the object has been converted, the mirrored object A’ is discarded”; Fig 6, Step 68 – “Discard A’”). GOLDING may not explicitly disclose storing the second copy … prior to satisfaction of a predetermined code generation condition. However, FLYNN discloses storing the second copy … prior to satisfaction of a predetermined code generation condition (Fig 13, Step 1910 – “Storage Consolidation Operation?” {analogous to ‘prior to satisfaction of a predetermined code generation condition’}; Step 1910 happens after Step 1906 – “Write N data segments to N storage devices” and before Step 1912 – “Calculate and Store Parity Data Segment”, thus the step meets the timing elements of the claim). GOLDING and FLYNN are analogous art because they are from the same field of endeavor of managing the storage of data objects. Before the effective filing date of the claimed invention, it would have been obvious to one of ordinary skill in the art, having the teachings of GOLDING and FLYNN before him or her, to modify the storing of the second copy of the first data and subsequent parity calculation of GOLDING to include delaying the parity calculation until a condition is met including a ‘Storage Consolidation Operation?’ as taught by FLYNN. A motivation for doing so would have been to perform the calculation when the system is less busy (¶[0280]) enabling higher priority tasks to complete faster. Therefore, it would have been obvious to combine GOLDING and FLYNN to obtain the invention as specified in the instant claims. With respect to Claim 8, GOLDING discloses a system comprising: a processor (¶[0037] – “The system may incorporate computers, calculators, generators, storage units, converters, controllers, comparators, and other data generation, consolidation, and calculation devices arranged to perform the functions described above”); and a memory device (¶[0037] – “The system may incorporate computers, calculators, generators, storage units, converters, controllers, comparators, and other data generation, consolidation, and calculation devices arranged to perform the functions described above”) storing program code structured to cause the processor to: receive first data (¶[0031] – “a newly created one-block object”; Fig 3, Physical Object C); store a first copy of the first data on a first node (¶[0031] – the object … “is stored as two one-block physical objects C and C’ that are mirrors of each other … The two physical objects are stored on separate object storage devices”; Fig. 3, Physical Object C’ {analogous to ‘a first copy’}); store, prior to satisfaction of a predetermined code generation condition, a second copy of the first data on a plurality of second nodes by storing a first data fragment of the first data and a second data fragment of the first data on different second nodes (¶[0032] – “the invention converts C from being individually mirrored to an individual parity RAID 5 layout of a stripe width s by creating s+1 physical objects on separate object storage devices and copying data into the striped layout”; Fig 5 illustrates blocks C1 and C2 of physical object C placed in separate physical object storage devices 1 and 2, respectively); determine that the predetermined code generation condition is satisfied (Fig 6, Step 63 – “Conversion trigger met?” => YES); generate a code fragment based on the first data (Fig 6, Step 67 – “Convert A to parity RAID layout”; ¶[0035] – “Alternately, if the condition 64 on the size of the object is met, then the object is converted 67 to an individual parity layout. Specifically, one physical object is created on each of s+1 object storage devices, and the data in A is copied in such a way that it is striped over s of the physical objects. The parity of the stripes is computed {analogous to ‘generating a code fragment …”} and stored in the remaining physical object”); and delete the first copy of the first data from the first node (¶[0035] – “Finally, after the object has been converted, the mirrored object A’ is discarded”; Fig 6, Step 68 – “Discard A’”). GOLDING may not explicitly disclose store the second copy … prior to satisfaction of a predetermined code generation condition. However, FLYNN discloses store the second copy … prior to satisfaction of a predetermined code generation condition (Fig 13, Step 1910 – “Storage Consolidation Operation?” {analogous to ‘prior to satisfaction of a predetermined code generation condition’}; Step 1910 happens after Step 1906 – “Write N data segments to N storage devices” and before Step 1912 – “Calculate and Store Parity Data Segment”, thus the step meets the timing elements of the claim). GOLDING and FLYNN are analogous art because they are from the same field of endeavor of managing the storage of data objects. Before the effective filing date of the claimed invention, it would have been obvious to one of ordinary skill in the art, having the teachings of GOLDING and FLYNN before him or her, to modify the storing of the second copy of the first data and subsequent parity calculation of GOLDING to include delaying the parity calculation until a condition is met including a ‘Storage Consolidation Operation?’ as taught by FLYNN. A motivation for doing so would have been to perform the calculation when the system is less busy (¶[0280]) enabling higher priority tasks to complete faster. Therefore, it would have been obvious to combine GOLDING and FLYNN to obtain the invention as specified in the instant claims. With respect to Claim 15, GOLDING discloses a computer-readable storage medium comprising computer-executable instructions that, when executed by a processor, cause the processor to: receive the first data (¶[0031] – “a newly created one-block object”; Fig 3, Physical Object C); store a first copy of the first data on a third node (¶[0031] – the object … “is stored as two one-block physical objects C and C’ that are mirrors of each other … The two physical objects are stored on separate object storage devices”; Fig. 3, Physical Object C’ {analogous to ‘a first copy’}); store a second copy of the first data on the plurality of second nodes by storing a first data fragment of the first data and a second data fragment of the first data on different second nodes (¶[0032] – “the invention converts C from being individually mirrored to an individual parity RAID 5 layout of a stripe width s by creating s+1 physical objects on separate object storage devices and copying data into the striped layout”; Fig 5 illustrates blocks C1 and C2 of physical object C placed in separate physical object storage devices 1 and 2, respectively); determine that the predetermined code generation condition is satisfied (Fig 6, Step 63 – “Conversion trigger met?” => YES); generate a first code fragment based on the first data (Fig 6, Step 67 – “Convert A to parity RAID layout”; ¶[0035] – “Alternately, if the condition 64 on the size of the object is met, then the object is converted 67 to an individual parity layout. Specifically, one physical object is created on each of s+1 object storage devices, and the data in A is copied in such a way that it is striped over s of the physical objects. The parity of the stripes is computed {analogous to ‘generating a code fragment …”} and stored in the remaining physical object”); store the first code fragment on the first node(¶[0035] – “The parity of the stripes is computed {analogous to ‘generating a code fragment …”} and stored in the remaining physical object”); and delete the first copy of the first data (¶[0035] – “Finally, after the object has been converted, the mirrored object A’ is discarded”; Fig 6, Step 68 – “Discard A’”). GOLDING may not explicitly disclose designate, prior to receiving first data, a first node as a code fragment node for storing code fragments and a plurality of second nodes as data fragment nodes for storing data fragments, and store the second copy … prior to satisfaction of a predetermined code generation condition. However, FLYNN discloses store the second copy … prior to satisfaction of a predetermined code generation condition (Fig 13, Step 1910 – “Storage Consolidation Operation?” {analogous to ‘prior to satisfaction of a predetermined code generation condition’}; Step 1910 happens after Step 1906 – “Write N data segments to N storage devices” and before Step 1912 – “Calculate and Store Parity Data Segment”, thus the step meets the timing elements of the claim). GOLDING and FLYNN are analogous art because they are from the same field of endeavor of managing the storage of data objects. Before the effective filing date of the claimed invention, it would have been obvious to one of ordinary skill in the art, having the teachings of GOLDING and FLYNN before him or her, to modify the storing of the second copy of the first data and subsequent parity calculation of GOLDING to include delaying the parity calculation until a condition is met including a ‘Storage Consolidation Operation?’ as taught by FLYNN. A motivation for doing so would have been to perform the calculation when the system is less busy (¶[0280]) enabling higher priority tasks to complete faster. Therefore, it would have been obvious to combine GOLDING and FLYNN to obtain the invention as specified in the instant claims. GOLDING and FLYNN may not explicitly disclose designate, prior to receiving first data, a first node as a code fragment node for storing code fragments and a plurality of second nodes as data fragment nodes for storing data fragments. However, GOLDING states at ¶[0016] that “the invention provides a system for performing data redundancy comprising a set of object storage devices, a variably sized object in a first object storage device, a redundancy data management controller operable for duplicating the object, a second object storage device operable for temporarily storing the duplicated object” which at least suggests that data storage devices may be designated or purposed to store a particular type of data prior to storing the particular type of data. As such, with the suggestions asserted by GOLDING, it would have been obvious to one of ordinary skill in the art prior to the effective filing date of the claimed invention to have taken into consideration GOLDING’s explicit teachings and suggestions to have been able to modify GOLDING’s explicit teachings such that GOLDING’s storage devices are designated to store particular data prior to receiving the data including designating a first node for storing code fragments and second nodes for storing data fragments with a reasonable expectation of success. A motivation for doing so would be to keep similar types of data together for efficient organization of the particular types of data enabling faster accessing of the particular types of data since the particular types of data is limited to be stored in a particular location. With respect to Claims 2 and 9, GOLDING and FLYNN disclose the method/system of each respective parent claim. GOLDING and FLYNN may not explicitly disclose designating, prior to receiving the first data, the first node and a third node as code fragment nodes for storing code fragments; and designating, prior to receiving the first data, the plurality of second nodes as data fragment nodes for storing data fragments. However, GOLDING states at ¶[0016] that “the invention provides a system for performing data redundancy comprising a set of object storage devices, a variably sized object in a first object storage device, a redundancy data management controller operable for duplicating the object, a second object storage device operable for temporarily storing the duplicated object” which at least suggests that data storage devices may be designated or purposed to store a particular type of data prior to storing the particular type of data. As such, with the suggestions asserted by GOLDING, it would have been obvious to one of ordinary skill in the art prior to the effective filing date of the claimed invention to have taken into consideration GOLDING’s explicit teachings and suggestions to have been able to modify GOLDING’s explicit teachings such that GOLDING’s storage devices are designated to store particular data prior to receiving the data including designating a first node for storing code fragments and second nodes for storing data fragments with a reasonable expectation of success. A motivation for doing so would be to keep similar types of data together for efficient organization of the particular types of data enabling faster accessing of the particular types of data since the particular types of data is limited to be stored in a particular location. With respect to Claims 4, 11, and 17, the combination of GOLDING and FLYNN disclose the method/system/medium of each respective parent claim. FLYNN further discloses wherein the predetermined code generation condition is satisfied based on at least one of: a modification frequency associated with the first data; a proportion of the first data that has been modified during a predetermined time period; a computational cost associated with generating the code fragment; or an amount of time elapsed since a previous modification of the first data (¶[0280] – “the parity generation module 1708 simply calculates the parity data segment when the parity-mirror storage device 1602 is less busy”; ¶[0281] – “one of skill in the art will easily recognize other reasons to delay calculation of a parity data segment as part of a progressive RAID operation”). With respect to Claims 5, 12, and 18, the combination of GOLDING and FLYNN disclose the method/system/medium of each respective parent claim. GOLDING further discloses detecting, after generating the code fragment, an instruction that modifies the first data fragment; generating, while maintaining the first data fragment unchanged, a modified first data fragment by executing the instruction on the first data fragment (¶[0031] – “a newly created one-block object”; Fig 3, Physical Object C); storing a first copy of the modified first data fragment on the first node (¶[0031] – the object … “is stored as two one-block physical objects C and C’ that are mirrors of each other … The two physical objects are stored on separate object storage devices”; Fig. 3, Physical Object C’ {analogous to ‘a first copy’}); storing a second copy of the modified first data fragment on the second node of the plurality of second nodes storing the first data fragment (¶[0032] – “the invention converts C from being individually mirrored to an individual parity RAID 5 layout of a stripe width s by creating s+1 physical objects on separate object storage devices and copying data into the striped layout”; Fig 5 illustrates blocks C1 and C2 of physical object C placed in separate physical object storage devices 1 and 2, respectively); receiving a request for the first data fragment; and returning, as a response to the request, a copy of the modified first data fragment (¶[0034] – “reads and writes to the virtual object are processed by writing to both physical objects A and A’ and reading from A, A’, or both”). Claim(s) 3, 10, and 16 is/are rejected under 35 U.S.C. 103 as being unpatentable over GOLDING and FLYNN as applied to respective parent claims above, and further in view of MA et al (US PGPub 2022/0179743). With respect to Claims 3, 10, and 16, the combination of GOLDING and FLYNN disclose the method/system/medium of each respective parent claim. GOLDING and FLYNN may not explicitly disclose wherein said generating a code fragment comprises: generating, based on the first data, a plurality of code fragments comprising a first code fragment and a second code fragment; storing, on the first node, the first code fragment; and storing, on a third node, the second code fragment. However, MA discloses wherein said generating a code fragment comprises: generating, based on the first data, a plurality of code fragments comprising a first code fragment and a second code fragment; storing, on the first node, the first code fragment; and storing, on a third node, the second code fragment (Fig 3, Parity Values PA 310-2 and PB 310-1 are illustrated as being separately stored; ¶[0028] – “a parity value PA may correspond to node 110-1 and a parity value PB may correspond to node 110-2”; ¶[0027] – “two storage devices are used for storing the parity values”). GOLDING, FLYNN, and MA are analogous art because they are from the same field of endeavor of managing the storage of data objects. Before the effective filing date of the claimed invention, it would have been obvious to one of ordinary skill in the art, having the teachings of GOLDING, FLYNN, and MA before him or her, to modify the generating of a parity value {or ‘code fragment’} of the combination of GOLDING and FLYNN to include generating two parity values as taught by MA. A motivation for doing so would have been to enable different nodes to perform parallel writes to different storage spaces in the same stripe in the RAID (Abstract). Therefore, it would have been obvious to combine GOLDING, FLYNN, and MA to obtain the invention as specified in the instant claims. Claim(s) 6, 7, 13, 14, 19, and 20 is/are rejected under 35 U.S.C. 103 as being unpatentable over GOLDING and FLYNN as applied to respective parent claims above, and further in view of DEKONING (US Patent 6,275,898). With respect to Claims 6, 13, and 19, GOLDING and FLYNN disclose the method/system/medium of each respective parent claim. GOLDING and FLYNN may not explicitly disclose modifying, after generating the code fragment, the second copy of the first data; determining that a predetermined code deletion condition is satisfied based on a degree of modification associated with the second copy of the first data; generating a third copy of the first data based on the modified second copy of the first data stored on the plurality of second nodes; storing the third copy of the first data; and deleting the code fragment. However, DEKONING discloses modifying, after generating the code fragment, the second copy of the first data; determining that a predetermined code deletion condition is satisfied based on a degree of modification associated with the second copy of the first data; generating a third copy of the first data based on the modified second copy of the first data stored on the plurality of second nodes; storing the third copy of the first data; and deleting the code fragment (Abstract – “Initially, each partition is configured and mapped to run as a RAID level 1 mirrored storage area. As performance and storage capacity needs as measured for each partition dictate, a partition of a LUN may be reconfigured to use a different RAID level (i.e., level 3 or 5) to reduce overhead storage needs at the cost of decreased write performance. A partition may later be returned to RAID level 1 as performance needs so indicate.”. Converting RAID5=>RAID1 may be performed using the reverse of the RAID1=>RAID5 process disclosed by GOLDING). GOLDING, FLYNN, and DEKONING are analogous art because they are from the same field of endeavor of managing the storage of data objects. Before the effective filing date of the claimed invention, it would have been obvious to one of ordinary skill in the art, having the teachings of GOLDING, FLYNN, and DEKONING before him or her, to modify the process of converting an object from RAID1 (copy) storage to RAID5 (parity) storage of the combination of GOLDING and FLYNN to include reverting the conversion of the object back to RAID1 from RAID5 as taught by DEKONING. A motivation for doing so would have been to eliminate the performance penalty on write operations (Col 2, Lines 22-33). Therefore, it would have been obvious to combine GOLDING, FLYNN, and MA to obtain the invention as specified in the instant claims. With respect to Claims 7, 14, and 20, the combination of GOLDING, FLYNN, and DEKONING disclose the method/system/medium of each respective parent claim. FLYNN further discloses wherein the predetermined code deletion condition is satisfied based on at least one of: a modification frequency associated with the second copy of the first data stored on the plurality of second nodes; a proportion of the second copy of the first data that has been modified since generating the code fragment; or a computational cost associated with generating the code fragment (¶[0280] – “the parity generation module 1708 simply calculates the parity data segment when the parity-mirror storage device 1602 is less busy”; ¶[0281] – “one of skill in the art will easily recognize other reasons to delay calculation of a parity data segment as part of a progressive RAID operation”). Conclusion The prior art made of record and not relied upon is considered pertinent to applicant's disclosure teach similar data storage methods. Any inquiry concerning this communication or earlier communications from the examiner should be directed to ERIC T LOONAN whose telephone number is (571)272-6994. The examiner can normally be reached M-F 8am-5pm. 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, Arpan Savla can be reached at 571-272-1077. 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. /ERIC T LOONAN/Examiner, Art Unit 2137
Read full office action

Prosecution Timeline

Mar 29, 2024
Application Filed
Nov 29, 2025
Non-Final Rejection — §103 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12591369
NODE CACHE MIGRATION
2y 5m to grant Granted Mar 31, 2026
Patent 12578874
CONFIGURING A QUORUM COMPONENT ON NETWORK STORAGE
2y 5m to grant Granted Mar 17, 2026
Patent 12547334
REFRESH OF STALE REFERENCE TO PHYSICAL FILE LOCATIONS
2y 5m to grant Granted Feb 10, 2026
Patent 12530144
SYSTEM AND METHOD FOR ESTIMATION OF ERROR BOUNDS FOR FILE SIZE CALCULATIONS USING MINHASH IN DEDUPLICATION SYSTEMS
2y 5m to grant Granted Jan 20, 2026
Patent 12524336
MANAGEMENT OF ERASABLE UNITS OF MEMORY BLOCKS IN SOLID STATE DRIVES
2y 5m to grant Granted Jan 13, 2026
Study what changed to get past this examiner. Based on 5 most recent grants.

AI Strategy Recommendation

Get an AI-powered prosecution strategy using examiner precedents, rejection analysis, and claim mapping.
Powered by AI — typically takes 5-10 seconds

Prosecution Projections

1-2
Expected OA Rounds
64%
Grant Probability
91%
With Interview (+27.0%)
4y 0m
Median Time to Grant
Low
PTA Risk
Based on 423 resolved cases by this examiner. Grant probability derived from career allow rate.

Sign in with your work email

Enter your email to receive a magic link. No password needed.

Personal email addresses (Gmail, Yahoo, etc.) are not accepted.

Free tier: 3 strategy analyses per month