Systems and methods for reliable replication of an application-state, distributed replication table

US9426220B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9426220-B2
Application numberUS-201414244949-A
CountryUS
Kind codeB2
Filing dateApr 4, 2014
Priority dateApr 6, 2013
Publication dateAug 23, 2016
Grant dateAug 23, 2016

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.

The present application is directed towards using a distributed hash table to track the use of resources and/or maintain the persistency of resources across the plurality of nodes in the multi-node system. More specifically, the systems and methods can maintain the persistency of resources across the plurality of nodes by the use of a global table. A global table may be maintained on each node. Each node's global table enables efficient storage and retrieval of distributed hash table entries. Each global table may contain a linked list of the cached distributed hash table entries that are currently stored on a node.

First claim

Opening claim text (preview).

What is claimed: 1. A method for replicating entries in an application-state, distributed replication table to track resources of applications across a cluster of nodes, the method comprising: maintaining, by each node in a cluster of nodes, a partition of a plurality of partitions of an application-state, distributed replication table, the application-state, distributed replication table distributed across the plurality of nodes, the application-state, distributed replication table comprising entries to track resources of applications across the cluster of nodes; detecting, by a node in the cluster of nodes, a change in a number of nodes in the cluster; determining, by the node, for a plurality of entries stored in the application-state, distributed replication table, whether the node remains assigned as an owner for each of the plurality of entries; determining, by the node, that the node is not currently assigned as the owner of an entry in the partition of the application-state, distributed replication table maintained by the node; and marking, responsive to the determination, the entry as a cached copy of the entry for a second node in the cluster of nodes to which the entry is now assigned. 2. The method of claim 1 , further comprising transferring, by the node, a copy of the entry to the second node. 3. The method of claim 1 , further comprising determining, by the node, if a replication chain for the node changed responsive to the change in the number of nodes in the cluster, the replication chain comprising a plurality of nodes to which the node in the cluster of nodes replicates the entry maintained by the node. 4. The method of claim 3 , further comprising marking, by the node, responsive to the determination that the replication chain changed, the entry to be to be re-replicated onto at least one node in a new replication chain. 5. The method of claim 1 , further comprising determining, by the node, whether the node is in a replication chain of the second node, wherein as part of the replication chain of the second node, the node receives a replica of the entry for storage. 6. The method of claim 5 , further comprising marking, by the node, responsive to determining the node is in the replication chain of the second node, the cached copy of the entry as a replica for the second node. 7. The method of claim 1 , further comprising determining, by the node, that the node is assigned as the new owner of a second entry stored on a third node. 8. The method of claim 7 , further comprising marking, by the node, a cached copy of the second entry, stored on the node, as an active copy of the second entry. 9. The method of claim 7 , further comprising receiving, by the node, a copy of the second entry from the third node. 10. The method of claim 1 , wherein the plurality of entries stored in the application-state, distributed replication table are the entries stored on the partition of the application-state, distributed replication table maintained by the node. 11. A system for replicating entries in an application-state, distributed replication table to track resources of applications across a cluster of nodes, the system comprising: a cluster of nodes, an application-state, distributed replication table comprising entries to track resources of applications across the cluster of nodes; each node of the cluster configured to maintain a partition of a plurality of partitions of the application-state, distributed replication table, the application-state, distributed replication table distributed across the plurality of nodes; each of the nodes of the cluster of nodes is configured to: detect a change in a number of nodes in the cluster; determine, for a plurality of entries stored the application-state, distributed replication table, whether the node remains assigned as an owner for each of the plurality of entries; determine that the node is not currently assigned as the owner of an entry in the partition of the application-state, distributed replication table maintained by the node; and mark, responsive to the determination, the entry as a cached copy of the entry for a second node in the cluster of nodes to which the entry is now assigned. 12. The system of claim 11 , wherein each of the nodes of the cluster of nodes are further configured to transfer a copy of the entry to the second node. 13. The system of claim 11 , wherein each of the nodes of the cluster of nodes are further configured to determine if a replication chain for the node changed responsive to the change in the number of nodes in the cluster, the replication chain comprising a plurality of nodes to which the node in the cluster of nodes replicates the entry maintained by the node. 14. The system of claim 13 , wherein each of the nodes of the cluster of nodes are further configured to mark, responsive to the determination that the replication chain changed, the entry to be to be re-replicated onto at least one node in a new replication chain. 15. The system of claim 11 , wherein each of the nodes of the cluster of nodes are further configured to determine whether the node is in the replication chain of the second node, wherein as part of the replication chain of the second node, the node receives a replica of the entry for storage. 16. The system of claim 15 , wherein each of the nodes of the cluster of nodes are further configured to mark, responsive to determining the node is in the replication chain of the second node, the cached copy of the entry as a replica for the second node. 17. The system of claim 11 , wherein each of the nodes of the cluster of nodes are further configured to determine that the node is assigned as the new owner of a second entry stored on a third node. 18. The system of claim 17 , wherein each of the nodes of the cluster of nodes are further configured to mark a cached copy of the second entry, stored on the node, as an active copy of the second entry. 19. The system of claim 17 , wherein each of the nodes of the cluster of nodes are further configured to receive a copy of the second entry from the third node. 20. The system of claim 11 , wherein the plurality of entries stored in the application-state, distributed replication table are the entries stored on the partition of the application-state, distributed replication table maintained by the node.

Assignees

Inventors

Classifications

  • Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes · CPC title

  • for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS] · 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 US9426220B2 cover?
The present application is directed towards using a distributed hash table to track the use of resources and/or maintain the persistency of resources across the plurality of nodes in the multi-node system. More specifically, the systems and methods can maintain the persistency of resources across the plurality of nodes by the use of a global table. A global table may be maintained on each node.…
Who is the assignee on this patent?
Citrix Systems Inc
What technology area does this patent fall under?
Primary CPC classification H04L67/1097. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Aug 23 2016 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).