Maintaining correctness of pointers from a managed heap to off-heap memory

US11086776B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11086776-B2
Application numberUS-201816115642-A
CountryUS
Kind codeB2
Filing dateAug 29, 2018
Priority dateAug 29, 2018
Publication dateAug 10, 2021
Grant dateAug 10, 2021

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A method of maintaining correctness of pointers from a managed heap to off-heap memory includes storing in a cache a first heap object in a managed heap that holds at least one off-heap pointer pointing to a first off-heap data structure and creating a weak reference node linked to the first heap object such that the first heap object is not kept alive by the weak reference node during garbage collection. Further disclosed are systems for maintaining correctness of pointers from a managed heap to off-heap memory.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of maintaining correctness of pointers from a managed, heap to off-heap memory, the method comprising: storing in a cache, by one or more processors of a computing system, a first heap object in a managed heap that holds at least one off-heap pointer pointing to a first off-heap data structure; and creating, by the one or more processors of the computing system, a weak reference node linked to the first heap object such that the first heap object is not kept alive by the weak reference node during garbage collection. 2. The method of claim 1 , further comprising maintaining, by a second off-heap data structure related to the first off-heap data structure, a pointer to a second heap object, wherein the cache is in the second heap object. 3. The method of claim 1 , further comprising: invalidating, by the one or more processors of the computing system, the at least one off-heap pointer; determining, by the one or more processors of the computing system, a new address of the first off-heap data structure; traversing, by the one or more processors of the computing system, the cache; checking, by the one or more processors of the computing system, whether the at least one off-heap pointer held by the first heap object requires updating by comparing against an old address of the first off-heap data structure; and updating, by the one or more processors of the computing system, the at least one off-heap pointer held by the first heap object. 4. The method of claim 1 , further comprising removing, by the one or more processors of the computing system, the weak reference node linked to the first heap object, wherein the removing occurs during the creating, by the one or more processors of the computing system, of a second weak reference node linked to at least one of the first heap object or another heap object stored in the cache or another cache. 5. The method of claim 1 , further comprising removing, by the one or more processors of the computing system, the weak reference node linked to the first heap object, wherein the removing occurs during the updating, by the one or more processors of the computing system. 6. The method of claim 1 , wherein the storing occurs during at least one of: as part of construction of the first heap object; and at the time when the at least one off-heap pointer is written. 7. The method of claim 1 , further comprising garbage collecting, by the one or more processors of the computing system, the first heap object. 8. A computer system, comprising: one or more processors; one or more memory devices coupled to the one or more processors; and one or more computer readable storage devices coupled to the one or more processors, wherein the one or more storage devices contain program code executable by the one or more processors via the one or more memory devices to implement a method of executing a digital action in a retail environment, the method comprising: storing in a cache, by the one or more processors of the computing system, a first heap object in a managed heap that holds at least one off-heap pointer pointing to a first off-heap data structure; and creating, by the one or more processors of the computing system, a weak reference node linked to the first heap object such that the first heap object is not kept alive by the weak reference node during garbage collection. 9. The computer system of claim 8 , the method further comprising: maintaining, by a second off-heap data structure related to the first off-heap data structure, a pointer to a second heap object, wherein the cache is in the second heap object. 10. The computer system of claim 9 , wherein the storing occurs during at least one of: as part of construction of the first heap object; and at the time when the at least one off-heap pointer is written. 11. The computer system of claim 10 , the method further comprising garbage collecting, by the one or more processors of the computing system, the first heap object. 12. The computer system of claim 8 , the method further comprising: invalidating, by the one or more processors of the computing system, the at least one off-heap pointer; determining, by the one or more processors of the computing system, a new address of the first off-heap data structure; traversing, by the one or more processors of the computing system, the cache; checking, by the one or more processors of the computing system, whether the at least one off-heap pointer held by the first heap object requires updating by comparing against an old address of the first off-heap data structure; and updating, by the one or more processors of the computing system, the at least one off-heap pointer held by the first heap object. 13. The computer system of claim 12 , the method further comprising removing, by the one or more processors of the computing system, the weak reference node linked to the first heap object, wherein the removing occurs during the creating, by the one or more processors of the computing system, of a second weak reference node linked to at least one of the first heap object or another heap object stored in the cache or another cache. 14. The computer system of claim 8 , the method further comprising removing, by, the one or more processors of the computing system, the weak reference node linked to the first heap object, wherein the removing occurs during the updating, by the one or more processors of the computing system. 15. A computer program product, comprising a computer readable hardware storage device storing a computer readable program code, the computer readable program code comprising an algorithm that when executed by one or more processors of a computer system implements a method for of executing a digital action in a retail environment, the method comprising: storing in a cache, by the one or more processors of the computing system, a first heap object in a managed heap that holds at least one off-heap pointer pointing to a first off-heap data structure; and creating, by the one or more processors of the computing system, a weak reference node linked to the first heap object such that the first heap object is not kept alive by the weak reference node during garbage collection. 16. The computer program product of claim 15 , the method further comprising: maintaining, by a second off-heap data structure related to the first off-heap data structure, a pointer to a second heap object, wherein the cache is in the second heap object. 17. The computer program product of claim 16 , the method further comprising: invalidating, by the one or more processors of the computing system, the at least one off-heap pointer; determining, by the one or more processors of the computing system, a new address of the first off-heap data structure; traversing, by the one or more processors of the computing system, the cache; checking, by the one or more processors of the computing system, whether the at least one off-heap pointer held by the first heap object requires updating by comparing against an old address of the first off-heap data stricture; and updating, by the one or more processors of the computing system, the at least one off-heap pointer held by the first heap object. 18. The computer program product of claim 15 , the method further comprising removing, by the one or more processors of the computing system, the weak reference node linked to the first heap object, wherein the removing occurs during the creating, by the one or more processors of the computing system, of a se

Assignees

Inventors

Classifications

  • Multiple user address space allocation, e.g. using different base addresses (interprocessor communication G06F15/163) · CPC title

  • Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators · CPC title

  • Limited pointers directories; State-only directories without pointers · CPC title

  • Resource optimization · CPC title

  • G06F12/023Primary

    Free address space management · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11086776B2 cover?
A method of maintaining correctness of pointers from a managed heap to off-heap memory includes storing in a cache a first heap object in a managed heap that holds at least one off-heap pointer pointing to a first off-heap data structure and creating a weak reference node linked to the first heap object such that the first heap object is not kept alive by the weak reference node during garbage …
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F12/023. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 10 2021 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 3 related publications on this page (citations in our corpus or others sharing the same primary CPC).