US12242394B2ActiveUtilityA1

Transitioning between thread-confined memory segment views and shared memory segment views

78
Assignee: ORACLE INT CORPPriority: Nov 6, 2019Filed: Sep 22, 2023Granted: Mar 4, 2025
Est. expiryNov 6, 2039(~13.3 yrs left)· nominal 20-yr term from priority
G06F 12/0646G06F 2212/1052G06F 2209/5018G06F 9/5061G06F 2212/1016G06F 12/0284G06F 2212/1032G06F 12/1483G06F 2212/152G06F 12/1458G06F 12/1441
78
PatentIndex Score
0
Cited by
31
References
20
Claims

Abstract

Techniques for transitioning between memory segment views include: instantiating a first memory segment view that confines access to a memory segment to a first thread; receiving a request to transition ownership of the memory segment to a second thread; responsive to receiving the request to transition ownership of the memory segment to the second thread: instantiating a second memory segment view that permits access to the memory segment by the second thread; copying metadata from the first memory segment view to the second memory segment view; terminating the first memory segment view, to prevent access to the memory segment via the first memory segment view.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. One or more non-transitory computer-readable media storing instructions which, when executed by one or more hardware processors, cause performance of operations comprising:
 instantiating a first confined memory segment view as a first runtime object, wherein the first confined memory segment view confines access to a memory segment to a first thread, and wherein the memory segment is stored in memory separate from the first runtime object; 
 receiving a request to change ownership of the first confined memory segment view to a second thread; 
 responsive to receiving the request to change ownership of the first confined memory segment view to the second thread:
 instantiating a second confined memory segment view as a second runtime object, wherein the second confined memory segment view confines access to the memory segment to the second thread, and wherein the memory segment is stored in memory separate from the second runtime object. 
 
 
     
     
       2. The one or more non-transitory computer-readable media of  claim 1 , wherein instantiating the second confined memory segment view having the second thread as owner comprises:
 storing a reference to the second thread in an owner field associated with the second confined memory segment view; 
 copying a reference to the memory segment from the first confined memory segment view to the second confined memory segment view. 
 
     
     
       3. The one or more non-transitory computer-readable media of  claim 1 , the operations further comprising, responsive to receiving the request to change ownership of the first confined memory segment view to the second thread:
 marking the first confined memory segment view as inactive, such that a subsequent attempt to access the memory segment via the first confined memory segment view will fail. 
 
     
     
       4. The one or more non-transitory computer-readable media of  claim 1 , the operations further comprising:
 performing, by the first thread prior to receiving the request to change ownership of the first confined memory segment view, one or more operations on the memory segment via the first confined memory segment view. 
 
     
     
       5. The one or more non-transitory computer-readable media of  claim 1 , the operations further comprising:
 performing, by the second thread after instantiating the second confined memory segment view, one or more operations on the memory segment via the second confined memory segment view. 
 
     
     
       6. The one or more non-transitory computer-readable media of  claim 1 , the operations further comprising:
 closing, by the second thread, the second confined memory segment view. 
 
     
     
       7. The one or more non-transitory computer-readable media of  claim 1 , wherein instantiating the first confined memory segment view comprises storing a reference to the first thread in an owner field associated with the first confined memory segment view. 
     
     
       8. A system comprising:
 one or more hardware processors; 
 one or more non-transitory computer-readable media; and 
 program instructions stored on the one or more non-transitory computer readable media which, when executed by the one or more hardware processors, cause the system to perform operations comprising:
 instantiating a first confined memory segment view as a first runtime object, wherein the first confined memory segment view confines access to a memory segment to a first thread, and wherein the memory segment is stored in memory separate from the first runtime object; 
 receiving a request to change ownership of the first confined memory segment view to a second thread; 
 responsive to receiving the request to change ownership of the first confined memory segment view to the second thread:
 instantiating a second confined memory segment view as a second runtime object, wherein the second confined memory segment view confines access to the memory segment to the second thread, and wherein the memory segment is stored in memory separate from the second runtime object. 
 
 
 
     
     
       9. The system of  claim 8 , wherein instantiating the second confined memory segment view having the second thread as owner comprises:
 storing a reference to the second thread in an owner field associated with the second confined memory segment view; 
 copying a reference to the memory segment from the first confined memory segment view to the second confined memory segment view. 
 
     
     
       10. The system of  claim 8 , the operations further comprising, responsive to receiving the request to change ownership of the first confined memory segment view to the second thread:
 marking the first confined memory segment view as inactive, such that a subsequent attempt to access the memory segment via the first confined memory segment view will fail. 
 
     
     
       11. The system of  claim 8 , the operations further comprising:
 performing, by the first thread prior to receiving the request to change ownership of the first confined memory segment view, one or more operations on the memory segment via the first confined memory segment view. 
 
     
     
       12. The system of  claim 8 , the operations further comprising:
 performing, by the second thread after instantiating the second confined memory segment view, one or more operations on the memory segment via the second confined memory segment view. 
 
     
     
       13. The system of  claim 8 , the operations further comprising:
 closing, by the second thread, the second confined memory segment view. 
 
     
     
       14. The system of  claim 8 , wherein instantiating the first confined memory segment view comprises storing a reference to the first thread in an owner field associated with the first confined memory segment view. 
     
     
       15. A method comprising:
 instantiating a first confined memory segment view as a first runtime object, wherein the first confined memory segment view confines access to a memory segment to a first thread, and wherein the memory segment is stored in memory separate from the first runtime object; 
 receiving a request to change ownership of the first confined memory segment view to a second thread; 
 responsive to receiving the request to change ownership of the first confined memory segment view to the second thread:
 instantiating a second confined memory segment view as a second runtime object, wherein the second confined memory segment view confines access to the memory segment to the second thread, and wherein the memory segment is stored in memory separate from the second runtime object; 
 
 wherein the method is performed by at least one device including a hardware processor. 
 
     
     
       16. The method of  claim 15 , wherein instantiating the second confined memory segment view having the second thread as owner comprises:
 storing a reference to the second thread in an owner field associated with the second confined memory segment view; 
 copying a reference to the memory segment from the first confined memory segment view to the second confined memory segment view. 
 
     
     
       17. The method of  claim 15 , further comprising, responsive to receiving the request to change ownership of the first confined memory segment view to the second thread:
 marking the first confined memory segment view as inactive, such that a subsequent attempt to access the memory segment via the first confined memory segment view will fail. 
 
     
     
       18. The method of  claim 15 , further comprising:
 performing, by the first thread prior to receiving the request to change ownership of the first confined memory segment view, one or more operations on the memory segment via the first confined memory segment view; 
 performing, by the second thread after instantiating the second confined memory segment view, one or more operations on the memory segment via the second confined memory segment view. 
 
     
     
       19. The method of  claim 15 , further comprising:
 closing, by the second thread, the second confined memory segment view. 
 
     
     
       20. The method of  claim 15 , wherein instantiating the first confined memory segment view comprises storing a reference to the first thread in an owner field associated with the first confined memory segment view.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.