Prosecution Insights
Last updated: May 29, 2026
Application No. 18/780,266

SCALABLE RANGE LOCKS

Non-Final OA §101§103§112
Filed
Jul 22, 2024
Priority
Feb 15, 2019 — provisional 62/806,593 +2 more
Examiner
ALLEN, NICHOLAS E
Art Unit
2154
Tech Center
2100 — Computer Architecture & Software
Assignee
Oracle International Corporation
OA Round
2 (Non-Final)
76%
Grant Probability
Favorable
2-3
OA Rounds
1y 1m
Est. Remaining
92%
With Interview

Examiner Intelligence

Grants 76% — above average
76%
Career Allowance Rate
586 granted / 766 resolved
+21.5% vs TC avg
Strong +16% interview lift
Without
With
+15.6%
Interview Lift
resolved cases with interview
Typical timeline
3y 0m
Avg Prosecution
25 currently pending
Career history
828
Total Applications
across all art units

Statute-Specific Performance

§101
2.6%
-37.4% vs TC avg
§103
83.9%
+43.9% vs TC avg
§102
11.6%
-28.4% vs TC avg
§112
0.2%
-39.8% vs TC avg
Black line = Tech Center average estimate • Based on career data from 766 resolved cases

Office Action

§101 §103 §112
DETAILED ACTION Notice of Pre-AIA or AIA Status The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA . In response to Applicant’s claims filed on September 04, 2025, claims 21-40 are now pending for examination in the application. Response to Arguments “The 112 rejection under 35 USC 112 set forth in the 09/04/2025 office action is hereby withdrawn.” Applicant’s arguments: In regards to claim 1 on Page(s) 10, applicant argues “Therefore, even if the claims recite a judicial exception, which Applicant does not concede, the claims individually recite an ordered combination of features that demonstrate a technologically rooted solution to a computing problem and thus amount to significantly more than mere mental processes.” Examiner’s Reply: Managing synchronization issues is well-understood, routine, and conventional. Applicant’s arguments: In regards to claim 1 on Pages 9, applicant argues "Applicant respectfully submits that Reddy, alone or in combination with Kogan, fails to teach the features of claim 21 which recites: performing, by one or more processors implementing a plurality of threads, a non-exclusive allocation of a first range comprising a plurality of elements of a shared resource." Examiner’s Reply: At Column 17 Lines 8-25, Muniswamy Reddy et al. discloses Ranges of items may be incrementally locked, in some embodiments. For instance, prior to locking range 140, a range of items 116 to 118 may have been locked. Once the secondary index portion is created from items 116 and 118, the locked range may change to locked range 140, and so on. In at least some embodiments, updates 180 to indexed items 102 may also be propagated 184 to generated portion 152 of secondary index 150 if appropriate (e.g., the updates are to attribute values included in the secondary index). For updates 182 to items to be indexed 104, updates may only be applied to table 100, as the items may be subsequently included in a locked range for generating the secondary index 150. In at least some embodiments, other secondary index(es) may be maintained for table 100. Therefore, updates 182 to items to be indexed 104 may be propagated to those other secondary index(es) if appropriate. Locks would have been created and ranges would be identified in order to resolve synchronization issues. These locks and their ranges are easily modified in or to manage conflict in large amounts of data. Double Patenting A rejection based on double patenting of the "same invention" type finds its support in the language of 35 U.S.C. 101 which states that "whoever invents or discovers any new and useful process ... may obtain a patent therefor ..." (Emphasis added). Thus, the term "same invention," in this context, means an invention drawn to identical subject matter. See Miller v. Eagle Mfg. Co., 151 U.S. 186 (1894); In re Ockert, 245 F.2d 467, 114 USPQ 330 (CCPA 1957); and In re Vogel, 422 F.2d 438, 164 USPQ 619 (CCPA 1970). 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 obviousness-type 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); and 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 a nonstatutory double patenting ground provided the conflicting application or patent either is shown to be commonly owned with this application, or claims an invention made as a result of activities undertaken within the scope of a joint research agreement. Effective January 1, 1994, a registered attorney or agent of record may sign a terminal disclaimer. A terminal disclaimer signed by the assignee must fully comply with 37 CFR 3.73(b). Claims 21-40 are rejected on the ground of nonstatutory obviousness-type double patenting as being unpatentable over claims 1-20 of U.S. Patent No. 12079278. Although the conflicting claims are not identical, they are not patentably distinct from each other because claims 1-20 of Patent No. 12079278 contain every element of claims 21-40 of the instant application and as such anticipates claims 21-40 of the instant application. The difference between the inventions as recited in claim 1 of ‘266 application and ‘278 patent is that claim 1 of ‘278 patent recites executing an atomic operation. A person of ordinary skills would therefore be motivated to remove/modify some of the claim elements recited in the above two claims without affecting the context of the invention, i.e., machine learning classification. The dependent claims incorporate the differences indicated above and are considered obvious variants under the above rationale, and are rejected for the same reasons. Appl. No. 18780266 Patent No. 12079278 21. (New) A computer-implemented method, comprising: performing, by one or more processors implementing a plurality of threads, a non- exclusive allocation of a first range comprising a plurality of elements of a shared resource, comprising: inserting a descriptor for the first range in a sorted list of descriptors of currently allocated ranges of the shared resource, the descriptor identifying the first range as allocated for non-exclusive use, and subsequent to the inserting: traversing the sorted list of descriptors to identify a second plurality of elements of a shared resource allocated for exclusive use and overlapping the first range; and waiting for the second plurality of elements of a shared resource to be released; wherein the non-exclusive allocation executes on a particular thread of the plurality of threads, and wherein performing the non-exclusive allocation operation does not exclude access to the sorted list of descriptors by other threads of the plurality of threads. 1. A method, comprising: performing, by one or more processors implementing a plurality of threads, an allocation of a first range comprising a plurality of elements of a shared resource, comprising: identifying an insertion location for a descriptor for the first range in a sorted list of descriptors of currently allocated ranges of the shared resource; and executing an atomic operation to insert the descriptor for the first range into the sorted list of descriptors of currently locked ranges to allocate the first range of elements of the shared resource, wherein the atomic operation comprises determining that no ranges overlapping the first range of elements have been added to the sorted list of descriptors; wherein the allocation executes on a particular thread of the plurality of threads, and wherein the performing of the allocation operation does not exclude access to the sorted list of descriptors by other threads of the plurality of threads. 28. (New) One or more non-transitory computer-accessible storage media storing program instructions that when executed on or across one or more processors cause the one or more processors to implement: performing, by a thread of a plurality of threads, a non-exclusive allocation of a first range comprising a plurality of elements of a shared resource, comprising: inserting a descriptor for the first range in a sorted list of descriptors of currently allocated ranges of the shared resource, the descriptor identifying the first range as allocated for non-exclusive use, and subsequent to the inserting: traversing the sorted list of descriptors to identify a second plurality of elements of a shared resource allocated for exclusive use and overlapping the first range; and waiting for the second plurality of elements of a shared resource to be released; wherein the non-exclusive allocation executes on a particular thread of the plurality of threads, and wherein performing the non-exclusive allocation operation does not exclude access to the sorted list of descriptors by other threads of the plurality of threads. 8. One or more non-transitory computer-accessible storage media storing program instructions that when executed on or across one or more processors implementing a plurality of threads cause the one or more processors to perform an allocation of a first range of elements of a shared resource, comprising: identifying an insertion location for a descriptor for the first range in a sorted list of descriptors of currently allocated ranges of the shared resource; and executing an atomic operation to insert the descriptor for the first range into the sorted list of descriptors of currently locked ranges to allocate the first range of elements of the shared resource, wherein the atomic operation comprises determining that no ranges overlapping the first range of elements have been added to the sorted list of descriptors; wherein the allocation executes on a particular thread of the plurality of threads, and wherein the performing of the allocation operation does not exclude access to the sorted list of descriptors by other threads of the plurality of threads. 35. (New) A system, comprising: one or more processors implementing a plurality of threads and a memory, the memory comprising program instructions executable by the one or more processors to perform a non-exclusive allocation of a first range comprising a plurality of elements of a shared resource, wherein the first range comprises a plurality of elements, wherein the allocation executes on a particular thread of the plurality of threads, wherein the performing of the allocation operation does not exclude access to the sorted list of descriptors by other threads of the plurality of threads, and wherein to perform the non-exclusive allocation the one or more processors are configured to: insert a descriptor for the first range in a sorted list of descriptors of currently allocated ranges of the shared resource, the descriptor identifying the first range as allocated for non-exclusive use, and subsequent to the inserting: traversing the sorted list of descriptors to identify a second plurality of elements of a shared resource allocated for exclusive use and overlapping the first range; and wait for the second plurality of elements of a shared resource to be released; 15. A system, comprising: one or more processors implementing a plurality of threads and a memory, the memory comprising program instructions executable by the one or more processors to perform an allocation of a first range of elements of a shared resource, wherein the first range comprises a plurality of elements, wherein the allocation executes on a particular thread of the plurality of threads, wherein the performing of the allocation operation does not exclude access to the sorted list of descriptors by other threads of the plurality of threads, and wherein the allocation is configured to: identify an insertion location for a descriptor for the first range in a sorted list of descriptors of currently allocated ranges of the shared resource; and execute an atomic operation to insert the descriptor for the first range into the sorted list of descriptors of currently locked ranges to allocate the first range of elements of the shared resource, wherein the atomic operation comprises determining that no ranges overlapping the first range of elements have been added to the sorted list of descriptors. Claim Rejections - 35 USC § 112 The following is a quotation of the first paragraph of 35 U.S.C. 112(a): (a) IN GENERAL.—The specification shall contain a written description of the invention, and of the manner and process of making and using it, in such full, clear, concise, and exact terms as to enable any person skilled in the art to which it pertains, or with which it is most nearly connected, to make and use the same, and shall set forth the best mode contemplated by the inventor or joint inventor of carrying out the invention. The following is a quotation of the first paragraph of pre-AIA 35 U.S.C. 112: The specification shall contain a written description of the invention, and of the manner and process of making and using it, in such full, clear, concise, and exact terms as to enable any person skilled in the art to which it pertains, or with which it is most nearly connected, to make and use the same, and shall set forth the best mode contemplated by the inventor of carrying out his invention. Claim(s) 21-40 is/are rejected under 35 U.S.C. 112(a) or 35 U.S.C. 112 (pre-AIA ), first paragraph, as failing to comply with the written description requirement. The claim(s) 10 and 20 contain(s) subject matter which was not described in the specification in such a way as to reasonably convey to one skilled in the relevant art that the inventor or a joint inventor, or for applications subject to pre-AIA 35 U.S.C. 112, the inventor(s), at the time the application was filed, had possession of the claimed invention. With respect to claim(s) 21, 28, and 35 There is no support for ” identifying another descriptor for a second plurality of elements...” Dependent claims 22-27, 29-34, and 36-40 are also rejected for inheriting the deficiencies of the independent claims from which they depend on. 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 21-40 are rejected under 35 U.S.C. 101 because the claimed invention is directed to non-patentable subject matter. The claims are directed to an abstract idea without significantly more. Claim 21-40 are rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more. The judicial exception is not integrated into a practical application. The claims do not include additional elements that are sufficient to amount to significantly more than judicial exception. The eligibility analysis in support of these findings is provided below, on Claim Rejections - 35 USC 101 accordance with the "2019 Revised Patent Subject Matter Eligibility Guidance" (published on 1/7/2019 in Fed, Register, Vol. 84, No. 4 at pgs. 50-57, hereinafter referred to as the "2019 PEG"). Step 1. in accordance with Step 1 of the eligibility inquiry (as explained in MPEP 2106), it is first noted the claim method (claims 21-27), media (claims 28-34) and system (claims 35-40) are directed to one of the eligible categories of subject matter and therefore satisfies Step 1. Step 2A. In accordance with Step 2A, prong one of the 2019 PEG, it is noted that the independent claims recite an abstract idea falling within the Mental Processes enumerated groupings of abstract ideas set forth in the 2019 PEG. Examiner is of the position that independent claims 21 and 28 are directed towards the Mental Process Grouping of Abstract Ideas. Independent claim(s) 21 and 28 recite(s) the following limitations directed towards a Mental Processes: inserting a descriptor for the first range in a sorted list of descriptors of currently allocated ranges of the shared resource, the descriptor identifying the first range as allocated for non-exclusive use (The limitation recites a mental process of observation and/or evaluation capable of being performed by the human mind by using computer as a tool to inserting a descriptor), and subsequent to the inserting: traversing the sorted list of descriptors to identify a second plurality of elements of a shared resource allocated for exclusive use and overlapping the first range (The limitation recites a mental process of observation and/or evaluation capable of being performed by the human mind by using computer as a tool to identifying a descriptor); and waiting for the second plurality of elements of a shared resource to be released (The limitation recites a mental process of observation and/or evaluation capable of being performed by the human mind by using computer as a tool to waiting for a shared resource). Step 2A. In accordance with Step 2A, prong two of the 2019 PEG, the judicial exception is not integrated into a practical application because of the recitation in claim(s) 21 and 28: performing, wherein the non-exclusive allocation executes on a particular thread of the plurality of threads, and wherein performing the non-exclusive allocation operation does not exclude access to the sorted list of descriptors by other threads of the plurality of threads (recites insignificant extra solution activity that amounts to resource allocation). Step 2B. Similar to the analysis under 2A Prong Two, the claim(s) does/do not include additional elements that are sufficient to amount to significantly more than the judicial exception. Because the additional elements of the independent claims amount to insignificant extra solution activity and/or mere instructions, the additional elements do not add significantly more to the judicial exception such that the independent claims as a whole would be patent eligible. Independent claim(s) 35 recite(s) the following limitations directed towards a Mental Processes: insert a descriptor for the first range in a sorted list of descriptors of currently allocated ranges of the shared resource, the descriptor identifying the first range as allocated for non-exclusive use (The limitation recites a mental process of observation and/or evaluation capable of being performed by the human mind by using computer as a tool to inserting a descriptor), and subsequent to the inserting: traversing the sorted list of descriptors to identify a second plurality of elements of a shared resource allocated for exclusive use and overlapping the first range (The limitation recites a mental process of observation and/or evaluation capable of being performed by the human mind by using computer as a tool to identifying a descriptor); and wait for the second plurality of elements of a shared resource to be released (The limitation recites a mental process of observation and/or evaluation capable of being performed by the human mind by using computer as a tool to waiting for a release). Step 2A. In accordance with Step 2A, prong two of the 2019 PEG, the judicial exception is not integrated into a practical application because of the recitation in claim(s) 35: one or more processors (i.e., as a generic processor/component performing a generic computer function) implementing a plurality of threads and a memory (i.e., as a generic processor/component performing a generic computer function), the memory comprising program instructions executable by the one or more processors to perform a non-exclusive allocation of a first range comprising a plurality of elements of a shared resource, wherein the first range comprises a plurality of elements, wherein the allocation executes on a particular thread of the plurality of threads, wherein the performing of the allocation operation does not exclude access to the sorted list of descriptors by other threads of the plurality of threads, and wherein to perform the non-exclusive allocation the one or more processors are configured to: Step 2B. Similar to the analysis under 2A Prong Two, the claim(s) does/do not include additional elements that are sufficient to amount to significantly more than the judicial exception. Because the additional elements of the independent claims amount to insignificant extra solution activity and/or mere instructions, the additional elements do not add significantly more to the judicial exception such that the independent claims as a whole would be patent eligible. Therefore, independent claim(s) 21, 28, and 35 is/are rejected under 35 U.S.C. 101. With respect to claim(s) 22, 29, and 36: Step 2A, prong one of the 2019 PEG: wherein waiting for the second plurality of elements of the shared resource to be released is performed responsive to determining that the other descriptor is not marked for deletion (The limitation recites a mental process of observation and/or evaluation capable of being performed by the human mind by using computer as a tool to determining a deletion); and generating the output as an audio output based on the synthesized audio (The limitation recites a mental process of observation and/or evaluation capable of being performed by the human mind by using computer as a tool to generating an output). Step 2A Prong Two Analysis: This judicial exception is not integrated into a practical application because there are no additional elements to provide practical application. Step 2B Analysis: The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception. The claim is not patent eligible. With respect to claim(s) 23, 30, and 37: Step 2A, prong one of the 2019 PEG: wherein waiting for the second plurality of elements of the shared resource to be released is performed responsive to determining that the other descriptor indicates an exclusive allocation (The limitation recites a mental process of observation and/or evaluation capable of being performed by the human mind by using computer as a tool to waiting for a release). Step 2A Prong Two Analysis: This judicial exception is not integrated into a practical application because there are no additional elements to provide practical application. Step 2B Analysis: The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception. The claim is not patent eligible. With respect to claim(s) 24, 31, and 38: Step 2A, prong one of the 2019 PEG: verifying that no currently allocated ranges in the sorted list of descriptors overlap the first range of elements (The limitation recites a mental process of observation and/or evaluation capable of being performed by the human mind by using computer as a tool to verifying a range); executing an atomic insertion operation that determines that no ranges overlapping the first range of elements have been added to the sorted list of descriptors (The limitation recites a mental process of observation and/or evaluation capable of being performed by the human mind by using computer as a tool to determining an overlap). Step 2A Prong Two Analysis: This judicial exception is not integrated into a practical application because there are no additional elements to provide practical application. Step 2B Analysis: The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception. The claim is not patent eligible. With respect to claim(s) 25, 32, and 39: Step 2A, prong one of the 2019 PEG: wherein the atomic insertion operation comprises an atomic compare and swap operation on a link to a next descriptor of a descriptor of a currently locked range (The limitation recites a mental process of observation and/or evaluation capable of being performed by the human mind by comparing and swapping a descriptor). Step 2A Prong Two Analysis: This judicial exception is not integrated into a practical application because there are no additional elements to provide practical application. Step 2B Analysis: The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception. The claim is not patent eligible. With respect to claim(s) 26, 33, and 40: Step 2A, prong one of the 2019 PEG: scanning a linked list of descriptors of currently allocated ranges to identify allocated ranges of elements overlapping the first range of elements, wherein the descriptors for the currently allocated ranges each comprise a link to a next descriptor (The limitation recites a mental process of observation and/or evaluation capable of being performed by the human mind by scanning descriptors); waiting for each of the identified overlapping allocated ranges of elements to be released (The limitation recites a mental process of observation and/or evaluation capable of being performed by the human mind by using computer as a tool to waiting for a range). Step 2A Prong Two Analysis: This judicial exception is not integrated into a practical application because there are no additional elements to provide practical application. Step 2B Analysis: The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception. The claim is not patent eligible. With respect to claim(s) 27 and 34: Step 2A, prong one of the 2019 PEG: performing, on a descriptor of the currently locked range, an atomic fetch and add operation on the link to the next descriptor to update a particular bit of the next descriptor to indicate the currently locked range has been released (The limitation recites a mental process of observation and/or evaluation capable of being performed by the human mind by fetching and adding on a link). Step 2A Prong Two Analysis: This judicial exception is not integrated into a practical application because there are no additional elements to provide practical application. Step 2B Analysis: The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception. The claim is not patent eligible. 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. Claim(s) 21-24, 26, 28-31, 33, 35-38, and 40 is/are rejected under 35 U.S.C. 103 as being unpatentable over Muniswamy Reddy et al. (US Patent No. 9875270) in view of Kogan et al. (US Pub. No. 20160335117). With respect to claim 21, Muniswamy Reddy et al. teaches a computer-implemented method, comprising: performing, by one or more processors implementing a plurality of threads (Column 18 Lines 19-34 disclose handling threads), a non-exclusive allocation of a first range comprising a plurality of elements of a shared resource (Column 17 Lines 8-25 discloses locking the range of items), comprising: identifying another descriptor for a second plurality of elements of a shared resource allocated for exclusive use and overlapping the first range (Column 16 Lines 20-40 discloses identify the boundaries of the locked range) to determine whether or not an access request is within the range of items). Muniswamy Reddy et al. does not disclose inserting a descriptor for the first range in a sorted list of descriptors of currently allocated ranges of the shared resource, the descriptor identifying the first range as allocated for non-exclusive use. However, Kogan et al. teaches inserting a descriptor for the first range in a sorted list of descriptors of currently allocated ranges of the shared resource, the descriptor identifying the first range as allocated for non-exclusive use, and subsequent to the inserting: waiting for the second plurality of elements of a shared resource to be released (Paragraph 27 discloses If the lock acquisition fails, T1 may realize that another thread T2 is running as a combiner, and thus may wait for its operation to be completed by T2, or for the lock to become available again and Paragraph 84 discloses releasing a lock); wherein the non-exclusive allocation executes on a particular thread of the plurality of threads, and wherein performing the non-exclusive allocation operation does not exclude access to the sorted list of descriptors by other threads of the plurality of threads (See Paragraph 31 discloses atomically applied operations). Therefore, it would have been obvious before the effective filing data of invention was made to a person having ordinary skill in the art to modify Muniswamy Reddy et al. with Kogan et al. This would hake facilitated range lock management for performing atomic operations. See Kogan et al. Paragraph(s) 6-8. The Muniswamy Reddy et al. reference as modified by Kogan et al. teaches all the limitations of claim 21. With respect to claim 22, Kogan et al. teaches the computer-implemented method of claim 21, wherein waiting for the second plurality of elements of the shared resource to be released is performed responsive to determining that the other descriptor is not marked for deletion (Paragraph 97 discloses after selecting a subset of the operations to execute, mark those operations (e.g., change their status) as being selected or claimed (or remove those operations from the publication list) and release the lock on the publication list before attempting to execute those operations). The motivation to combine statement previously provided in the rejection of independent claim 21 provided above, combining the Muniswamy Reddy et al. reference and the Kogan et al. reference is applicable to dependent claim 22. The Muniswamy Reddy et al. reference as modified by Kogan et al. teaches all the limitations of claim 21. With respect to claim 23, Kogan et al. teaches the computer-implemented method of claim 21, wherein waiting for the second plurality of elements of the shared resource to be released is performed responsive to determining that the other descriptor indicates an exclusive allocation (Paragraph 27 discloses If the lock acquisition fails, T1 may realize that another thread T2 is running as a combiner, and thus may wait for its operation to be completed by T2, or for the lock to become available again and Paragraph 84 discloses releasing a lock). The motivation to combine statement previously provided in the rejection of independent claim 21 provided above, combining the Muniswamy Reddy et al. reference and the Kogan et al. reference is applicable to dependent claim 23. The Muniswamy Reddy et al. reference as modified by Kogan et al. teaches all the limitations of claim 21. With respect to claim 24, Kogan et al. teaches the computer-implemented method of claim 21, wherein inserting the descriptor comprises: verifying that no currently allocated ranges in the sorted list of descriptors overlap the first range of elements (Paragraph 31 discloses HCF may guarantee that all operations are executed exactly one either by a thread holding the lock associated with the data structure or by a hardware transaction while the lock is not held (e.g., by a hardware transaction that tests that this lock is not held). Thus, when implementing HCF, all operations may appear to be applied atomically, regardless of how many combiners are used, and regardless of the particular manner in which operations are divided among, and selected by, multiple combiners); and executing an atomic insertion operation that determines that no ranges overlapping the first range of elements have been added to the sorted list of descriptors (Paragraph 31 discloses HCF may guarantee that all operations are executed exactly one either by a thread holding the lock associated with the data structure or by a hardware transaction while the lock is not held (e.g., by a hardware transaction that tests that this lock is not held). Thus, when implementing HCF, all operations may appear to be applied atomically, regardless of how many combiners are used, and regardless of the particular manner in which operations are divided among, and selected by, multiple combiners). The motivation to combine statement previously provided in the rejection of independent claim 21 provided above, combining the Muniswamy Reddy et al. reference and the Kogan et al. reference is applicable to dependent claim 24. The Muniswamy Reddy et al. reference as modified by Kogan et al. teaches all the limitations of claim 21. With respect to claim 26, Kogan et al. teaches the computer-implemented method of claim 21, wherein inserting the descriptor comprises: scanning a linked list of descriptors of currently allocated ranges to identify allocated ranges of elements overlapping the first range of elements, wherein the descriptors for the currently allocated ranges each comprise a link to a next descriptor (Paragraph 45 discloses recent work using linked lists and locks); and waiting for each of the identified overlapping allocated ranges of elements to be released (See Paragraph 84 discloses releasing a lock). The motivation to combine statement previously provided in the rejection of independent claim 21 provided above, combining the Muniswamy Reddy et al. reference and the Kogan et al. reference is applicable to dependent claim 26. With respect to claim 28, Muniswamy Reddy et al. teaches one or more non-transitory computer-accessible storage media storing program instructions that when executed on or across one or more processors cause the one or more processors to implement: performing, by one or more processors implementing a plurality of threads (Column 18 Lines 19-34 disclose handling threads), a non-exclusive allocation of a first range comprising a plurality of elements of a shared resource (Column 17 Lines 8-25 discloses locking the range of items), comprising: identifying another descriptor for a second plurality of elements of a shared resource allocated for exclusive use and overlapping the first range (Column 16 Lines 20-40 discloses identify the boundaries of the locked range) to determine whether or not an access request is within the range of items). Muniswamy Reddy et al. does not disclose inserting a descriptor for the first range in a sorted list of descriptors of currently allocated ranges of the shared resource, the descriptor identifying the first range as allocated for non-exclusive use. However, Kogan et al. teaches inserting a descriptor for the first range in a sorted list of descriptors of currently allocated ranges of the shared resource, the descriptor identifying the first range as allocated for non-exclusive use, and subsequent to the inserting: waiting for the second plurality of elements of a shared resource to be released (See Paragraph 84 discloses releasing a lock); wherein the non-exclusive allocation executes on a particular thread of the plurality of threads, and wherein performing the non-exclusive allocation operation does not exclude access to the sorted list of descriptors by other threads of the plurality of threads (See Paragraph 31 discloses atomically applied operations). Therefore, it would have been obvious before the effective filing data of invention was made to a person having ordinary skill in the art to modify Muniswamy Reddy et al. with Kogan et al. This would hake facilitated range lock management for performing atomic operations. See Kogan et al. Paragraph(s) 6-8. With respect to claim 29, it is rejected on grounds corresponding to above rejected claim 22, because claim 29 is substantially equivalent to claim 22. With respect to claim 30, it is rejected on grounds corresponding to above rejected claim 23, because claim 30 is substantially equivalent to claim 23. With respect to claim 31, it is rejected on grounds corresponding to above rejected claim 24, because claim 31 is substantially equivalent to claim 24. With respect to claim 33, it is rejected on grounds corresponding to above rejected claim 26, because claim 33 is substantially equivalent to claim 26. With respect to claim 35, Muniswamy Reddy et al. teaches a system, comprising: one or more processors implementing a plurality of threads and a memory (See Fig. 7), the memory comprising program instructions executable by the one or more processors to perform a non-exclusive allocation of a first range comprising a plurality of elements of a shared resource, wherein the first range comprises a plurality of elements, wherein the allocation executes on a particular thread of the plurality of threads, wherein the performing of the allocation operation does not exclude access to the sorted list of descriptors by other threads of the plurality of threads, and wherein to perform the non-exclusive allocation the one or more processors are configured to: identify another descriptor for a second plurality of elements of a shared resource allocated for exclusive use and overlapping the first range (Column 16 Lines 20-40 discloses identify the boundaries of the locked range) to determine whether or not an access request is within the range of items). Muniswamy Reddy et al. does not disclose inserting a descriptor for the first range in a sorted list of descriptors of currently allocated ranges of the shared resource, the descriptor identifying the first range as allocated for non-exclusive use. However, Kogan et al. teaches insert a descriptor for the first range in a sorted list of descriptors of currently allocated ranges of the shared resource, the descriptor identifying the first range as allocated for non-exclusive use, and subsequent to the inserting: wait for the second plurality of elements of a shared resource to be released (See Paragraph 84 discloses releasing a lock); wherein the non-exclusive allocation executes on a particular thread of the plurality of threads, and wherein performing the non-exclusive allocation operation does not exclude access to the sorted list of descriptors by other threads of the plurality of threads (See Paragraph 31 discloses atomically applied operations). Therefore, it would have been obvious before the effective filing data of invention was made to a person having ordinary skill in the art to modify Muniswamy Reddy et al. with Kogan et al. This would hake facilitated range lock management for performing atomic operations. See Kogan et al. Paragraph(s) 6-8. With respect to claim 36, it is rejected on grounds corresponding to above rejected claim 22, because claim 36 is substantially equivalent to claim 22. With respect to claim 37, it is rejected on grounds corresponding to above rejected claim 23, because claim 37 is substantially equivalent to claim 23. With respect to claim 38, it is rejected on grounds corresponding to above rejected claim 24, because claim 38 is substantially equivalent to claim 24. With respect to claim 40, it is rejected on grounds corresponding to above rejected claim 26, because claim 40 is substantially equivalent to claim 26. Claim(s) 25, 32, and 39 is/are rejected under 35 U.S.C. 103 as being unpatentable over Muniswamy Reddy et al. (US Patent No. 9875270) and Kogan et al. (US Pub. No. 20160335117) in further view of Kim et al. (US Pub. No. 20170116255). The Muniswamy Reddy et al. reference as modified by Kogan et al. teaches all the limitations of claim 24. With respect to claim 25, Muniswamy Reddy et al. as modified by Kogan et al. does not disclose the an atomic compare and swap. However, Kim et al. teaches the method of claim 24, wherein the atomic insertion operation comprises an atomic compare and swap operation on a link to a next descriptor of a descriptor of a currently locked range (See Paragraph 53 disclose a compare and swap). Therefore, it would have been obvious before the effective filing data of invention was made to a person having ordinary skill in the art to modify Muniswamy Reddy et al. (locking item ranges) and Kogan et al. (synchronizing accesses to concurrent data structure by threads) and with Kim et al. (supporting use of lock-less algorithms to improve concurrency). This would have facilitated range lock management for performing atomic operations. See Arakawa et al. Paragraph(s) 51-53. With respect to claim 32, it is rejected on grounds corresponding to above rejected claim 25, because claim 32 is substantially equivalent to claim 25. With respect to claim 39, it is rejected on grounds corresponding to above rejected claim 25, because claim 39 is substantially equivalent to claim 25. Claim(s) 27 and 34 is/are rejected under 35 U.S.C. 103 as being unpatentable over Muniswamy Reddy et al. (US Patent No. 9875270) and Kogan et al. (US Pub. No. 20160335117) in further view of Dice et al. (US Pub. No. 20180107514). The Muniswamy Reddy et al. reference as modified by Kogan et al. teaches all the limitations of claim 21. With respect to claim 27, Muniswamy Reddy et al. as modified by Kogan et al. does not disclose the fetch and add operations. However, Dice et al. teaches the computer-implemented method of claim 21, further comprising performing a release of a currently locked range of elements of the shared resource, comprising: performing, on a descriptor of the currently locked range, an atomic fetch and add operation on the link to the next descriptor to update a particular bit of the next descriptor to indicate the currently locked range has been released (See Paragraph 53 disclose fetch-and-add instruction) the number of active threads that wait to acquire the lock). Therefore, it would have been obvious before the effective filing data of invention was made to a person having ordinary skill in the art to modify Muniswamy Reddy et al. and Kogan et al. with Dice et al. This would hake facilitated thread management for performing operations. See Dice et al. Paragraph(s) 2-7. With respect to claim 34, it is rejected on grounds corresponding to above rejected claim 27, because claim 34 is substantially equivalent to claim 27. Relevant Prior Art The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. US PG-PUB 20100076940 is directed to METHOD FOR PROVIDING MAXIMAL CONCURRENCY IN A TREE STRUCTURE: [0106] support three lock granularities: coarse, medium, and fine. In the coarse-grained implementation, an operation locks the entire tree. Search operations lock it in S (read) mode, whereas insert, delete, and SMO operations lock it in X (write) mode. In the medium-grained implementation, one can lock the internal (non-leaf) sub-tree separately from the leaves (see, for example FIG. 6). FIG. 6 is a diagram illustrating granularities of atomic blocks, according to an embodiment of the present invention. By way of illustration, FIG. 6 depicts a cursor navigation component 602 and a root navigation component 604. In both cases, the medium-grained locking locks only the internal (non-leaf) sub-tree, whereas the coarse-grained locking locks the entire tree. Conclusion THIS ACTION IS MADE FINAL. 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. Any inquiry concerning this communication or earlier communications from the examiner should be directed to NICHOLAS E ALLEN whose telephone number is (571)270-3562. The examiner can normally be reached Monday through Thursday 830-630. 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, Boris Gorney can be reached at (571) 270-5626. 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. /N.E.A/Examiner, Art Unit 2154 /BORIS GORNEY/Supervisory Patent Examiner, Art Unit 2154
Read full office action

Prosecution Timeline

Jul 22, 2024
Application Filed
Feb 17, 2025
Response after Non-Final Action
Jun 04, 2025
Non-Final Rejection mailed — §101, §103, §112
Sep 04, 2025
Response Filed
Dec 18, 2025
Final Rejection mailed — §101, §103, §112
Feb 19, 2026
Response after Non-Final Action
May 18, 2026
Request for Continued Examination
May 20, 2026
Response after Non-Final Action

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12380068
RECENT FILE SYNCHRONIZATION AND AGGREGATION METHODS AND SYSTEMS
1y 6m to grant Granted Aug 05, 2025
Patent 12339822
METHOD AND SYSTEM FOR MIGRATING CONTENT BETWEEN ENTERPRISE CONTENT MANAGEMENT SYSTEMS
1y 10m to grant Granted Jun 24, 2025
Patent 12321704
COMPOSITE EXTRACTION SYSTEMS AND METHODS FOR ARTIFICIAL INTELLIGENCE PLATFORM
2y 7m to grant Granted Jun 03, 2025
Patent 12271379
CROSS-DATABASE JOIN QUERY
1y 9m to grant Granted Apr 08, 2025
Patent 12259876
SYSTEM AND METHOD FOR A HYBRID CONTRACT EXECUTION ENVIRONMENT
1y 6m to grant Granted Mar 25, 2025
Study what changed to get past this examiner. Based on 5 most recent grants.

Strategy Recommendation AI-generated — please review before filing

Get a prosecution strategy drawn from examiner precedents, rejection analysis, and claim mapping.
Typically takes 5-10 seconds — AI-generated, attorney review required before filing

Prosecution Projections

2-3
Expected OA Rounds
76%
Grant Probability
92%
With Interview (+15.6%)
3y 0m (~1y 1m remaining)
Median Time to Grant
Moderate
PTA Risk
Based on 766 resolved cases by this examiner. Grant probability derived from career allowance 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