Prosecution Insights
Last updated: April 17, 2026
Application No. 18/654,592

MANAGING SNAPSHOTTING OF A DATASET USING AN ORDERED SET OF B+ TREES

Final Rejection §101§103§112
Filed
May 03, 2024
Examiner
UDDIN, MD I
Art Unit
2169
Tech Center
2100 — Computer Architecture & Software
Assignee
Microsoft Technology Licensing, LLC
OA Round
2 (Final)
77%
Grant Probability
Favorable
3-4
OA Rounds
3y 4m
To Grant
99%
With Interview

Examiner Intelligence

Grants 77% — above average
77%
Career Allow Rate
512 granted / 663 resolved
+22.2% vs TC avg
Strong +74% interview lift
Without
With
+73.5%
Interview Lift
resolved cases with interview
Typical timeline
3y 4m
Avg Prosecution
28 currently pending
Career history
691
Total Applications
across all art units

Statute-Specific Performance

§101
25.4%
-14.6% vs TC avg
§103
47.1%
+7.1% vs TC avg
§102
13.3%
-26.7% vs TC avg
§112
6.3%
-33.7% vs TC avg
Black line = Tech Center average estimate • Based on career data from 663 resolved cases

Office Action

§101 §103 §112
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 . DETAILED ACTION This action is response to the communication filed on May 02, 2025. Claims 1-7, 10-15, 18-24 are pending. Response to Arguments Applicant’s arguments regarding 102 rejection filed on May 02, 2025 have been considered but are moot in the view of new ground of rejection. The specification objection has been withdrawn as the amendment to the specification has been filed on August 13, 2024. Applicant argument regarding 101 rejection is not persuasive. Regarding 101 rejection, applicant argues claim recited “deleting the neighbor B+ tree” which is a practical application. In response examiner respectfully disagree. User can mentally ignore the record (B+ tree) which can be deleting. Further, deleting using a processor is no more than mere instructions to apply the exception using a generic computer component. The courts have recognized these functions as well‐understood, routine, and conventional as they are claimed in a merely generic manner (e.g., at a high level of generality) or as insignificant extra-solution activity (see MPEP 2106.05(d) II, Receiving or transmitting data over a network, e.g., using the Internet to gather data, Symantec, 838 F.3d at 1321, 120 USPQ2d at 1362 (utilizing an intermediary computer to forward information)). Mere instructions to apply an exception using a generic computer component cannot provide an inventive concept. 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. The following is a quotation of 35 U.S.C. 112 (pre-AIA ), second paragraph: The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention. Claims 1-7, 10-15, 18-24 are 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. Each independent claims recited “reference estate”. It is not clear what is meant by the limitation “reference estate”. Does the limitation indicate record location? Appropriate correction is required. The dependent clams are rejected based on their respective dependency. Claim Rejections - 35 USC § 101 35 U.S.C. 101 reads as follows: Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title. Claims 1-7, 10-15, 18-24 are rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more. Regarding the claim 1, it recites identify a subject B+ tree in the ordered set of B+ trees that corresponds to the identified snapshot, each leaf node within each B+ tree in the ordered set of B+ trees representing a corresponding key range and storing zero or more records for the corresponding key range, and a corresponding range of resources mapped thereto, that falls within the corresponding key range; identify a neighbor B+ tree that precedes the subject B+ tree in the ordered set of B+ trees; and merge the neighbor B+ tree into the subject B+ tree based at least on identifying a first record in the subject B+ tree that intersects with a second record in the neighbor B+ tree, wherein the first record is for a first key range and the second record is for a second key range that is different from the first key range and performing one of: splitting the first record into at least (i) a third record in the subject B+ tree for a first portion of the first key range that does not intersect with the second key range and (ii) a fourth record in the subject B+ tree for a second portion of the first key range that entirely intersects with the second key range, range, and merging the second record into the fourth record, including either freeing or preserving a resource mapped to a key range for the second record based on a combination of a reference state of the second record and a reference estate of the fourth record, each reference state being either a weak reference state or a strong reference state; or splitting the second record into at least (i) a third new record in the neighbor B+ tree for a first portion of the second key range that does not intersect with the first key range and (ii) a fourth new record in the neighbor B+ tree for a second portion of the second key range that entirely intersects with the first key range, and merging the sixth record into the first record, including either freeing or preserving a resource mapped to a key range for the sixth record based on a combination of a reference state of the sixth record and a reference estate of the first record, each reference state being either the weak reference state or the strong reference state; and delete the neighbor B+ tree. The limitations of identify (both identifying limitation) as drafted, is a process that, under its broadest reasonable interpretation, covers performance of the limitation in the mind. For example, the user can mentally identify a subject B+ tree and a neighbor B+ tree by reading, wherein the reading can be performed in the user (i.e. human) mind using his/her own eye to identify the tree as claimed. Therefore, the identifying limitations are a mental process. Similarly, delete the neighbor B+ tree as drafted, is a process that, under its broadest reasonable interpretation, covers performance of the limitation in the mind. User can mentally ignore the record. Hence, the deleting step is a mental process. The claim recites additional elements of merge the neighbor B+ tree and the subject B+ tree……. and splitting the first record ….. or splitting the second record ……. These limitation are nothing but data accumulating (gathering), which is a form of insignificant extra-solution activity, (see Symantec, 838 F.3d at 1321, 120 USPQ2d at 1362 (utilizing an intermediary computer to forward information)). Accordingly, even in combination, these additional elements do not integrate the abstract idea into a practical application because they do not impose any meaningful limits on practicing the abstract idea. The claim is directed to the abstract idea. The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception. As discussed above with respect to integration of the abstract idea into a practical application, the additional element of merge the neighbor B+ tree and the subject B+ tree……. and splitting the first record ….. or splitting the second record… steps amounts to no more than mere instructions to apply the exception using a generic computer component. The courts have recognized these functions as well‐understood, routine, and conventional as they are claimed in a merely generic manner (e.g., at a high level of generality) or as insignificant extra-solution activity (see MPEP 2106.05(d) II, Receiving or transmitting data over a network, e.g., using the Internet to gather data, Symantec, 838 F.3d at 1321, 120 USPQ2d at 1362 (utilizing an intermediary computer to forward information)). Mere instructions to apply an exception using a generic computer component cannot provide an inventive concept. The claim is not patent eligible. Claim 2 is dependent on claim 1 and includes all the limitations of claim 1. Therefore, claim 2 recites the same abstract idea of deleting an identified snapshot of a dataset from an ordered set of B+ trees representing the dataset. The claim recites the limitations of wherein the computer-executable instructions also include instructions that are executable by the processor to split both the first record and the second record, and wherein the second portion of the first key range for the third record is equal in size with the second portion of the second key range for the sixth record, which can be done mentally with or without the use of a physical aid (e.g., pen and paper) or with a generic computer and is not an inventive concept that meaningfully limits the abstract idea. Therefore, the limitation is a mental process. Claim 3 is dependent on claim 1 and includes all the limitations of claim 1. Therefore, claim 3 recites the same abstract idea of deleting an identified snapshot of a dataset from an ordered set of B+ trees representing the dataset. The claim recites the limitations of wherein, the dataset represents at least virtual cluster number (VCN) to logical cluster number (LCN) mappings of a file, each key range is a range of VCNs, and each range of resources is a range of LCNs, which can be done mentally with or without the use of a physical aid (e.g., pen and paper) or with a generic computer and is not an inventive concept that meaningfully limits the abstract idea. Therefore, the limitation is a mental process. Claim 4 is dependent on claim 1 and includes all the limitations of claim 1. Therefore, claim 4 recites the same abstract idea of deleting an identified snapshot of a dataset from an ordered set of B+ trees representing the dataset. The claim recites the limitations of wherein merging the neighbor B+ tree into the subject B+ tree includes splitting the first record into at least (i) the third record in the subject B+ tree for the first portion of the first key range that does not intersect with the second key range and (ii) the fourth record in the subject B+ tree for the second portion of the first key range that entirely intersects with the second key range, which can be done mentally with or without the use of a physical aid (e.g., pen and paper) or with a generic computer and is not an inventive concept that meaningfully limits the abstract idea. Therefore, the limitation is a mental process. Claim 5 is dependent on claim 1 and includes all the limitations of claim 1. Therefore, claim 5 recites the same abstract idea of deleting an identified snapshot of a dataset from an ordered set of B+ trees representing the dataset. The claim recites the limitations of wherein merging the neighbor B+ tree into the subject B+ tree includes splitting the second record into at least (i) the third record in the neighbor B+ tree for the first portion of the second key range that does not intersect with the first key range and (ii) the fourth record in the neighbor B+ tree for the second portion of the second key range that entirely intersects with the first key range, which can be done mentally with or without the use of a physical aid (e.g., pen and paper) or with a generic computer and is not an inventive concept that meaningfully limits the abstract idea. Therefore, the limitation is a mental process. Claim 6 is dependent on claim 1 and includes all the limitations of claim 1. Therefore, claim 6 recites the same abstract idea of deleting an identified snapshot of a dataset from an ordered set of B+ trees representing the dataset. The claim recites the limitations of obtain a merge lock on both the neighbor B+ tree and the subject B+ tree, which can be done mentally with or without the use of a physical aid (e.g., pen and paper) or with a generic computer and is not an inventive concept that meaningfully limits the abstract idea. Therefore, the limitation is a mental process. Claim 7 is dependent on claim 1 and includes all the limitations of claim 1. Therefore, claim 7 recites the same abstract idea of deleting an identified snapshot of a dataset from an ordered set of B+ trees representing the dataset. The claim recites the limitations push a seventh record in the neighbor B+ tree that has no intersecting record in the subject B+ tree into the subject B+ tree, which can be done mentally with or without the use of a physical aid (e.g., pen and paper) or with a generic computer and is not an inventive concept that meaningfully limits the abstract idea. Therefore, the limitation is a mental process. As to claims 10-15, 18-20, they have similar limitations as of claims 1-7 above. Hence, they are rejected under the same rational as of claims 1-7 above. 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. Claims 1-7, 10-15, 18-24 are rejected under 35 U.S.C. 103 as being unpatentable over Sarda et al. (Pub. No. : US 20200019619 A1) in the view of Desai et al. (Pub. No. : US 20200065196 A1). As to claim 1 Sarda teaches a computer system comprising: a processor; and a computer storage medium having stored thereon computer-executable instructions that are executable by the processor to delete an identified snapshot of a dataset from an ordered set of B+ trees representing the dataset, the computer-executable instructions including instructions that are executable by the processor to at least: identify a subject B+ tree in the ordered set of B+ trees that corresponds to the identified snapshot, each leaf node within each B+ tree in the ordered set of B+ trees representing a corresponding key range and storing zero or more records for the corresponding key range, and a corresponding range of resources mapped thereto, that falls within the corresponding key range (Paragraphs [0033], [0049]: when all of the new/modified snapshot (i.e. identified snapshot) data has been uploaded and the locally-staged snapshot metadata has been fully updated, archive management agent 114 can upload the snapshot metadata in the form of metadata chunks to cloud archive 116. Archive management agent 114 can also determine and upload archive metadata comprising information regarding the snapshot (e.g., an association between the snapshot ID and a pointer (i.e. mapped) to the root node of the snapshot's B+ tree (i.e. subject B+ tree), range of data chunks referred to by the snapshot, range of metadata chunks created by the snapshot, checksums, etc.). Note that snapshot ID can be interpreted as key); identify a neighbor B+ tree that precedes the subject B+ tree in the ordered set of B+ trees (paragraph [0073]-[0074]: deleting a particular snapshot SX, archive management agent 114 must determine which data chunks of SX can be safely removed from cloud/object storage 108 without breaking later (i.e., child) snapshots of the same dataset. Ideally, archive management agent 114 should keep all of the data chunks of snapshot SX that are referred to by child snapshots. Note: the child snapshot can be interpreted as “neighbor B+ tree”); merge the neighbor B+ tree into the subject B+ tree based at least on identifying a first record in the subject B+ tree that intersects with a second record in the neighbor B+ tree, wherein the first record is for a first key range and the second record is for a second key range that is different from the first key range and performing one of: splitting the first record into at least (i) a third record in the subject B+ tree for a first portion of the first key range that does not intersect with the second key range and (ii) a fourth record in the subject B+ tree for a second portion of the first key range that entirely intersects with the second key range; or splitting the second record into at least (i) a fifth record in the neighbor B+ tree for a first portion of the second key range that does not intersect with the first key range and (ii) a sixth record in the neighbor B+ tree for a second portion of the second key range that entirely intersects with the first key range (paragraphs [0048]-[0049]: assume a new data block of the initial snapshot is placed (imply merging) into the memory buffer at step 214 (for upload to cloud/object storage 108). In this case, a new leaf node (i.e. first record) of the snapshot's B+ tree can be created at step 218 that includes a pointer to the CPBA of the data block (i.e., chunk ID of memory buffer x chunk size+offset) and this leaf node will be written to the next free block within the reserved metadata LPBA range of resident archive 118 (merged records), wherein the internal nodes of the B+ tree are nodes that guide tree traversal down (imply intersects) to the leaf nodes. Further, if the creation of the leaf node necessitates the creation of one or more parent (i.e., intermediate) nodes (i.e. second record) in the B+ tree per standard B+ tree node split criteria, such parent nodes will also be created and written sequentially into blocks in the reserved LPBA range of resident archive 118). Note: the new leaf node does not intersect any other child node (i.e. neighbor B+ tree), so new leaf node is created that include the root node (i.e. subject B+ tree)). delete the neighbor B+ tree (paragraphs [0073]-[0075]: perform this determination is to walk the B+ tree of each child snapshot of SX, identify all of the data chunks that are referred to by the child snapshots, and mark those identified data chunks as being unsafe for deletion. The remaining data chunks of SX can then be deleted). Sarda does not explicitly disclose but Desai teaches merging the second record into the fourth record, including either freeing or preserving a resource mapped to a key range for the second record based on a combination of a reference state of the second record and a reference estate of the fourth record, each reference state being either a weak reference state or a strong reference state; or merging the sixth record into the first record, including either freeing or preserving a resource mapped to a key range for the sixth record based on a combination of a reference state of the sixth record and a reference estate of the first record, each reference state being either the weak reference state or the strong reference state; and delete the neighbor B+ tree (see fig. 2A-2C and paragraphs [0022]-[0025]: The UPIT manager 104 leverages B tree structures, such as copy-on-write (COW) B+ tree structures, to organize storage objects and their snapshots taken at different times. The B+ tree structure 202 includes nodes A1-G1. New nodes A2, B2 and E2 have been created after the first snapshot SS1 was taken, which now define the running point of the storage object. Thus, the nodes A2, B2 and E2, as well as the nodes C1, D1, F1 and G1, which are common nodes for both the first snapshot SS1. Further, new nodes A3, B3 and E3 have been created after the second snapshot was taken. Thus, nodes A3, B3 and E3, as well as the nodes C1, D1, F1 and G1, which are common nodes for both the second snapshot and the current running point, represent the current state of the storage object). It would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to modify Sarda by adding above limitation as taught by Desai to manage snapshots created by different entities (see Desai, paragraph [0003]). As to claim 2 Sarda together with Desai teaches a system according to claim 1. Sarda teaches wherein the computer-executable instructions also include instructions that are executable by the processor to split both the first record and the second record, and wherein the second portion of the first key range for the third record is equal in size with the second portion of the second key range for the sixth record (paragraphs [0032]-[0033]: fixed-size imply equal in size). As to claim 3 Sarda together with Desai teaches a system according to claim 1. Sarda teaches wherein, the dataset represents at least virtual cluster number (VCN) to logical cluster number (LCN) mappings of a file, each key range is a range of VCNs, and each range of resources is a range of LCNs (paragraph [0039]). As to claim 4 Sarda together with Desai teaches a system according to claim 1. Sarda teaches wherein merging the neighbor B+ tree into the subject B+ tree includes splitting the first record into at least (i) the third record in the subject B+ tree for the first portion of the first key range that does not intersect with the second key range and (ii) the fourth record in the subject B+ tree for the second portion of the first key range that entirely intersects with the second key range (paragraphs [0048]-[0049]). As to claim 5 Sarda together with Desai teaches a system according to claim 1. Sarda teaches wherein merging the neighbor B+ tree into the subject B+ tree includes splitting the second record into at least (i) the fifth record in the neighbor B+ tree for the first portion of the second key range that does not intersect with the first key range and (ii) the sixth record in the neighbor B+ tree for the second portion of the second key range that entirely intersects with the first key range (paragraph [0043]). As to claim 6 Sarda together with Desai teaches a system according to claim 1. Sarda teaches wherein the computer-executable instructions also include instructions that are executable by the processor to obtain a merge lock on both the neighbor B+ tree and the subject B+ tree (paragraphs [0058], [0075], [0066]). As to claim 7 Sarda together with Desai teaches a system according to claim 1. Sarda teaches wherein the computer-executable instructions also include instructions that are executable by the processor to: push a seventh record in the neighbor B+ tree that has no intersecting record in the subject B+ tree into the subject B+ tree (paragraphs [0049], [0033], [0037]). As to claims 10-15, 18-24, they have similar limitations as of claims 1-7 above. Hence, they are rejected under the same rational as of claims 1-7 above. Examiner's Note: Examiner has cited particular columns and line numbers or paragraphs in the references as applied to the claims above for the convenience of the applicant. Although the specified citations are representative of the teachings of the art and are applied to the specific limitations within the individual claim, other passages and figures may apply as well. It is respectfully requested from the applicant in preparing responses, to fully consider the references in its entirety as potentially teaching of all or part of the claimed invention, as well as the context. Conclusion Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a). A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action. The prior art made of record, listed on form PTO-892, and not relied upon, if any, is considered pertinent to applicant's disclosure. Any inquiry concerning this communication or earlier communications from the examiner should be directed to MD I UDDIN whose telephone number is (571)270-3559. The examiner can normally be reached M-F, 8:00 am to 5:00 pm. 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, Sherief Badawi can be reached at 571-272-9782. 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. /MD I UDDIN/Primary Examiner, Art Unit 2169
Read full office action

Prosecution Timeline

May 03, 2024
Application Filed
Dec 28, 2024
Non-Final Rejection — §101, §103, §112
May 02, 2025
Response Filed
Aug 01, 2025
Examiner Interview (Telephonic)
Aug 08, 2025
Final Rejection — §101, §103, §112
Oct 16, 2025
Request for Continued Examination
Apr 08, 2026
Response after Non-Final Action
Apr 13, 2026
Response after Non-Final Action

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12596935
SYSTEM AND METHOD FOR PROCESSING AND TRANSFORMING INCOMING RESOURCES TO AUTO-CODE REPORTING PARAMETERS
2y 5m to grant Granted Apr 07, 2026
Patent 12592068
ADVERSARIAL EXAMPLE DETECTION DEVICE, ADVERSARIAL EXAMPLE DETECTION METHOD, AND PROGRAM
2y 5m to grant Granted Mar 31, 2026
Patent 12591438
CONFIGURATION TRANSPORT BETWEEN TENANTS
2y 5m to grant Granted Mar 31, 2026
Patent 12579140
COMPUTATIONAL LOAD MITIGATION WITH PREDICTIVE SEARCH REQUEST ENRICHMENT
2y 5m to grant Granted Mar 17, 2026
Patent 12579177
CONTEXT MANAGEMENT IN A HIERARCHICAL AGENT MODEL
2y 5m to grant Granted Mar 17, 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

3-4
Expected OA Rounds
77%
Grant Probability
99%
With Interview (+73.5%)
3y 4m
Median Time to Grant
Moderate
PTA Risk
Based on 663 resolved cases by this examiner. Grant probability derived from career allow rate.

Sign in for Full Analysis

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

Free tier: 3 strategy analyses per month