US 12,079,278 B2
Scalable range locks
Alex Kogan, Needham, MA (US); David Dice, Foxboro, MA (US); and Shady Alaaeldin Mohamed Abdelkader Rabie Issa, Lisbon (PT)
Assigned to Oracle International Corporation, Redwood City, CA (US)
Filed by Oracle International Corporation, Redwood City, CA (US)
Filed on Mar. 14, 2023, as Appl. No. 18/183,891.
Application 18/183,891 is a continuation of application No. 16/407,007, filed on May 8, 2019, granted, now 11,636,152.
Claims priority of provisional application 62/806,593, filed on Feb. 15, 2019.
Prior Publication US 2023/0252081 A1, Aug. 10, 2023
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 16/901 (2019.01); G06F 11/30 (2006.01); G06F 16/176 (2019.01)
CPC G06F 16/9024 (2019.01) [G06F 11/3006 (2013.01); G06F 16/1774 (2019.01)] 20 Claims
OG exemplary drawing
 
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.