Non-disruptive transition to synchronous replication state
US-2020285655-A1 · Sep 10, 2020 · US
US11507559B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11507559-B2 |
| Application number | US-202016882590-A |
| Country | US |
| Kind code | B2 |
| Filing date | May 25, 2020 |
| Priority date | May 25, 2020 |
| Publication date | Nov 22, 2022 |
| Grant date | Nov 22, 2022 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
In some examples, a system provides a data structure containing an entry to store information for an object for sharing by a plurality of entities. The system allocates the object to a first entity of the plurality of entities based on an atomic access of the entry, the atomic access to update, in one operation, multiple information elements in the entry relating to allocation of the object. The system returns, to the first entity, a handle to the object, the handle based on a value in the entry.
Opening claim text (preview).
What is claimed is: 1. A non-transitory machine-readable storage medium comprising instructions that upon execution cause a system to: provide a data structure containing a first entry to store information for a first object for sharing by a plurality of entities; allocate the first object to a first entity of the plurality of entities based on an atomic access of the first entry, the atomic access to update, in one operation, multiple information elements in the first entry relating to the allocation of the first object to the first entity, wherein the updated multiple information elements in the first entry indicate that the first object has been allocated, and wherein the data structure further contains a second entry to store information for a second object, and the information in the second entry indicates that the second object is unallocated to any entity; return, to the first entity, a handle to the first object, the handle based on a value in the first entry and containing information from which a representation of a storage location of the first object is derivable; and access the first object at the storage location in response to a request comprising the handle. 2. The non-transitory machine-readable storage medium of claim 1 , wherein the instructions upon execution cause the system to: receive a lookup operation from a second entity of the plurality of entities, wherein the second entity received the handle from the first entity, and the lookup operation is for accessing the first object using the handle received by the second entity from the first entity. 3. The non-transitory machine-readable storage medium of claim 2 , wherein the first entry comprises a count advanced responsive to the lookup operation, the count representing a quantity of accesses of the first object. 4. The non-transitory machine-readable storage medium of claim 3 , wherein the instructions upon execution cause the system to: cause retreat of the count in the first entry responsive to an entity no longer accessing the first object. 5. The non-transitory machine-readable storage medium of claim 3 , wherein the instructions upon execution cause the system to: responsive to a request to free the first object: check a value of the count, and deny the request to free the first object responsive to the value of the count indicating an active access of the first object. 6. The non-transitory machine-readable storage medium of claim 5 , wherein the instructions upon execution cause the system to: responsive to the request: free the first object responsive to the value of the count indicating no active access of the first object, and update the multiple information elements of the first entry to indicate that the first object is unallocated. 7. The non-transitory machine-readable storage medium of claim 5 , wherein the instructions upon execution cause the system to: responsive to the value of the count indicating an active access of the first object, prevent a new access of the first object. 8. The non-transitory machine-readable storage medium of claim 1 , wherein the instructions upon execution cause the system to: responsive to a request to drain accesses of the first object, prevent a new access of the first object. 9. The non-transitory machine-readable storage medium of claim 8 , wherein the instructions upon execution cause the system to: responsive to the request to drain accesses of the first object, change a drain indicator in the first entry from a first value to a second value, the drain indicator when set to the second value indicating that the accesses of the first object are to be drained, and the drain indicator when set to the first value indicating that a new access of the first object is permitted. 10. The non-transitory machine-readable storage medium of claim 1 , wherein the handle is based on a combination of the value and an index to the first entry. 11. The non-transitory machine-readable storage medium of claim 10 , wherein the value comprises a random number. 12. The non-transitory machine-readable storage medium of claim 1 , wherein the second entry contains a pointer to a third entry of the data structure, the third entry to store information for a third object, wherein the information in the third entry indicates that the third object is unallocated, and wherein the first entry contains a count representing a quantity of accesses of the first object. 13. The non-transitory machine-readable storage medium of claim 12 , wherein the data structure comprises a header that comprises: a first indicator of a quantity of entries of the data structure that are associated with objects that have not been allocated, and a second indicator that points to an entry of the data structure that is associated with an object that has not been allocated. 14. The non-transitory machine-readable storage medium of claim 1 , wherein the atomic access is lock-free and does not block. 15. The non-transitory machine-readable storage medium of claim 1 , wherein the instructions upon execution cause the system to: derive a pointer to the first object based on the handle, wherein the representation of the storage location of the first object comprises the pointer. 16. A system comprising: a processor; and a non-transitory storage medium storing instructions executable on the processor to: store a data structure comprising a plurality of entries, wherein a first entry of the plurality of entries contains first information indicating that a first object is unallocated, and a second entry of the plurality of entries contains second information indicating that a second object has been allocated and is for sharing by a plurality of entities, set a count in the second entry that indicates a quantity of active accesses of the second object, receive a lookup operation from a first entity for accessing the second object, the lookup operation using a handle received by the first entity from a second entity that has allocated the second object, wherein the handle is based on a value in the second entry, and responsive to the lookup operation, update the second entry using an atomic access. 17. The system of claim 16 , wherein the update of the second entry comprises updating the count. 18. A method comprising: storing, in a storage medium, a data structure containing an entry to store information for an object for sharing by a plurality of entities, wherein the entry comprises a count advanced responsive to a lookup of the object, the count representing a quantity of accesses of the object; allocating, in a system comprising a hardware processor, the object to a first entity of the plurality of entities based on an atomic access of the entry, the atomic access to update, in one operation, multiple information elements in the entry relating to allocation of the object; returning, to the first entity, a handle to the object, the handle based on a value in the entry and containing information from which a representation of a storage location of the object is derivable; accessing the object at the storage location in response to a request comprising the handle; and responsive to a request to free the object: check a value of the count, and deny the request to free the object responsive to the value of the count indicating an active access of the object. 19. The method of claim 18 , comprising: responsive to the denying of the request to free the object: setting a drain indicator in the entry, and starting a draining process ind
Locking methods, e.g. distributed locking or locking implementation details · CPC title
Object-oriented method invocation or resolution · CPC title
for counting the input from several sources; for counting inputs of different amounts · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.