IP Library › Granted Patent US 11,803,487
Granted Patent B2
US 11,803,487 · App. 17/734,597 · Granted Oct 31, 2023

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

Inventors: Maurizio Cimadamore (Donabate, IE); James Malcolm Laskey (Lunenburg, CA); Jorn Bender Vernee (Leiden, NL)
Assignee: Oracle International Corporation
G06F12/1458G06F12/0646G06F2212/1052
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,803,487
App. No.
17/734,597
Granted
Oct 31, 2023
Kind
B2
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 (50)

1. One or more non-transitory machine-readable media storing instructions that, when executed by one or more processors, cause performance of operations comprising:

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.

2. The one or more non-transitory machine-readable media of claim 1 , the operations further comprising:

validating the request, at least by verifying that a requesting thread associated with the request owns the memory segment.

3. The one or more non-transitory machine-readable media of claim 2 , wherein verifying that the requesting thread associated with the request owns the memory segment comprises verifying that the requesting thread is referenced by the first memory segment view as an owner thread.

4. The one or more non-transitory machine-readable media of claim 1 , the operations further comprising:

after receiving the request and before terminating the first memory segment view, completing one or more pending operations that access the memory segment.

5. The one or more non-transitory machine-readable media of claim 1 , the operations further comprising:

storing, in association with the second memory segment view, a reference to the second thread as an owner thread.

6. The one or more non-transitory machine-readable media of claim 1 , wherein the second memory segment view is a shared memory segment view that is accessible to at least a third thread.

7. The one or more non-transitory machine-readable media of claim 1 , wherein the metadata comprises a reference to the memory segment.

8. A system comprising:

at least one device comprising one or more hardware processors,

the system being configured to perform operations comprising:

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.

9. The system of claim 8 , the operations further comprising:

validating the request, at least by verifying that a requesting thread associated with the request owns the memory segment.

10. The system of claim 9 , wherein verifying that the requesting thread associated with the request owns the memory segment comprises verifying that the requesting thread is referenced by the first memory segment view as an owner thread.

11. The system of claim 8 , the operations further comprising:

after receiving the request and before terminating the first memory segment view, completing one or more pending operations that access the memory segment.

12. The system of claim 8 , the operations further comprising:

storing, in association with the second memory segment view, a reference to the second thread as an owner thread.

13. The system of claim 8 , wherein the second memory segment view is a shared memory segment view that is accessible to at least a third thread.

14. The system of claim 8 , wherein the metadata comprises a reference to the memory segment.

15. A method comprising:

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;

wherein the method is performed by at least device comprising one or more hardware processors.

16. The method of claim 15 , further comprising:

validating the request, at least by verifying that a requesting thread associated with the request owns the memory segment.

17. The method of claim 16 , wherein verifying that the requesting thread associated with the request owns the memory segment comprises verifying that the requesting thread is referenced by the first memory segment view as an owner thread.

18. The method of claim 15 , the operations further comprising:

after receiving the request and before terminating the first memory segment view, completing one or more pending operations that access the memory segment.

19. The method of claim 15 , the operations further comprising:

storing, in association with the second memory segment view, a reference to the second thread as an owner thread.

20. The method of claim 15 , wherein the second memory segment view is a shared memory segment view that is accessible to at least a third thread.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 3, 2022
From: CIMADAMORE, MAURIZIO; LASKEY, JAMES MALCOLM; VERNEE, JORN BENDER
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 059801/0473 →
Continuity (3)
Continuation 17024209 · Sep 17, 2020
Provisional Application 62931412 · Nov 6, 2019
Related Publication 20220253390A1 · Aug 11, 2022