白丝美女被狂躁免费视频网站,500av导航大全精品,yw.193.cnc爆乳尤物未满,97se亚洲综合色区,аⅴ天堂中文在线网官网

Distributed components in computing clusters

專利號
US11616757B2
公開日期
2023-03-28
申請人
Microsoft Technology Licensing, LLC(US WA Redmond)
發(fā)明人
Philip A. Bernstein; Sergey I. Bykov; Jose Manuel Faleiro; Gabriel Kliot; Muntasir Raihan Rahman
IPC分類
G06F9/52; H04L61/4535; G06F11/14; G06F16/27; G06F11/16; H04L67/10
技術(shù)領(lǐng)域
cluster,clusters,activation,component,c0,in,doubtful,or,directory,c1
地域: WA WA Redmond

摘要

The subject disclosure is directed towards components in different server clusters, e.g., comprising software components such as components of a distributed computing system. Components are available for use by distributed computing system applications, yet managed by the distributed computing system runtime such that only a single instance can be activated and exist within communicating (non-partitioned) clusters. Also described is recovery from a situation in which no longer partitioned clusters each have created the same component.

說明書

RELATED APPLICATION

This application claims priority to and is a continuation application of U.S. patent application Ser. No. 16/297,580, filed Mar. 8, 2019, which is a continuation application of U.S. patent application Ser. No. 14/512,352, filed Oct. 10, 2014, which are expressly incorporated by reference herein.

BACKGROUND

Distributed computing systems may have software components such as software objects or other kinds of individually addressable isolated entities, such as distributed objects, agents, actors, virtual components and so forth. In general, each such component is individually addressable and in the distributed system has a unique identity (such as an integer, GUID, string or an opaque data structure or the like).

In a distributed system that allows for geographic distribution (including when two sets of servers arranged as clusters are within the same datacenter or in different datacenters), an application deployment may reside in one cluster. In such a situation, applications whose clients are widely distributed (e.g., around the world) process requests at a single datacenter, whereby clients that are distant from the datacenter may experience high latencies.

SUMMARY

This Summary is provided to introduce a selection of representative concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used in any way that would limit the scope of the claimed subject matter.

權(quán)利要求

1
What is claimed is:1. A method comprising:providing a component in a multi-cluster distributed system, in which the component is addressable by an application via an identity of the component with a first cluster being partitioned from a second cluster, the component being activated, by a runtime, from a deactivated state upon receipt of an operation for the component in the deactivated state by the multi-cluster distributed system, wherein the runtime is executed on the first cluster and the component was previously activated on the second cluster but currently remains in the deactivated state on the second cluster;directing the runtime on the first cluster to preserve the receipt of the operation for the component with the component in the deactivated state on the second cluster, wherein the operation comprises an operation or task for the application;obtaining a reference to the component in the deactivated state on the second cluster;incident to obtaining the reference to the component in the deactivated state, re-activating the component on the second cluster; andincident to re-activating the component on the second cluster, sending the preserved receipt of the operation to the re-activated component.2. The method of claim 1 further comprising, providing another single instance component in the multi-cluster distributed system that is only activated in a cluster when the multi-cluster distributed system has no clusters partitioned from one another.3. The method of claim 1 further comprising, providing another single instance component in the multi-cluster distributed system that is only activated when a cluster performing the activation is part of a cluster quorum.4. The method of claim 1 wherein providing the component comprises eliminating any duplicate components when clusters that were partitioned are no longer partitioned to provide only one surviving component of the duplicate components.5. The method of claim 1 further comprising directing the runtime to preserve one or more operation requests until the component in the deactivated state is activated to an activated state.6. The method of claim 1 providing the component comprises preventing a race condition state in which at least two non-partitioned clusters are concurrently attempting to activate the component, including detecting the race condition state and selecting only one winning component instance for activation.7. The method of claim 6 wherein preventing the race condition state comprises performing a deterministic operation to select the winning component instance for activation.8. A system comprising:a distributed computing system including:a plurality of clusters, a first cluster of the plurality of clusters having a runtime executing in a server memory on a processor,the runtime configured to:prevent race conditions in which two or more of the plurality of clusters are concurrently attempting to activate a component that was previously activated on a second cluster of the plurality of clusters but currently remains in a deactivated state on the second cluster upon receipt of an operation for the component, and to preserve the receipt of the operation for the component with the component in the deactivated state, wherein the operation comprises an operation or task for an application,allow the component to exist as a duplicate component when the second cluster is partitioned, including to associate state data with each possible duplicate indicating a possibly duplicate state,obtain a reference to the component in the deactivated state on the second cluster,incident to obtaining the reference to the component in the deactivated state, re-activate the component on the second cluster, andincident to re-activating the component on the second cluster, evaluate the state data when the second cluster is no longer partitioned to remove any duplicate component resulting in only one component surviving for any duplicate that existed.9. The system of claim 8 wherein the runtime is located on first cluster with the component in the deactivated state located on the second cluster.10. The system of claim 8 wherein the runtime is configured to optimistically activate an instance of the component before each other cluster has responded as to whether the component is activated on another cluster.11. The system of claim 8 wherein the runtime prevents race conditions by communicating an activation request to each other cluster with which a requesting cluster can communicate indicating an intent of the requesting cluster to activate the component.12. The system of claim 8 further comprising directing the runtime to preserve one or more operation requests until the component in the deactivated state is activated to an activated state.13. The system of claim 8 further comprising a tiebreaking mechanism, wherein the runtime removes any duplicate component by exchanging sets of possible duplicates to each other cluster with which the cluster can communicate, and using the tiebreaking mechanism to determine which duplicated component is to survive for any duplicate that existed and which duplicate or duplicates will be killed.14. The system of claim 8 wherein the runtime is configured to change the state data to indicate sole ownership by a cluster, having the surviving component, when no clusters are partitioned from one another.15. One or more machine-readable storage media devices having machine readable instructions, which when executed perform operations, comprising:executing a runtime on a first cluster;maintaining a component that was previously activated on a second cluster in a deactivated state on the second cluster, wherein the second cluster differs from the first cluster;directing the runtime on the first cluster to preserve a receipt of an operation for the component on the second cluster with the component in the deactivated state, wherein the operation comprises an operation or task for an application;obtaining a reference to the component in the deactivated state on the second cluster;incident to obtaining the reference to the component in the deactivated state, re-activating the component on the second cluster; andincident to re-activating the component on the second cluster, sending the preserved receipt of the operation to the re-activated component.16. The one or more machine-readable storage media devices of claim 15 having further machine-readable instructions comprising, determining that at least one previously partitioned cluster is no longer partitioned, and exchanging sets of possible duplicates with at least one other cluster.17. The one or more machine-readable storage media devices of claim 16 having further machine-readable instructions comprising, determining that a duplicate component exists, and selecting one component to survive.18. The one or more machine-readable storage media devices of claim 17 having further machine-readable instructions comprising changing a state data from indicating a possible duplicate to indicating sole ownership by a cluster when no clusters are partitioned from one another.19. The one or more machine-readable storage media devices of claim 15 having further machine-readable instructions comprising detecting a race condition in which at least two non-partitioned clusters are concurrently attempting to activate the component, and electing only one winning component instance for activation.20. The one or more machine-readable storage media devices of claim 15 having further machine-readable instructions comprising: detecting a partition, and allowing activation of another component only when a cluster attempting the activation is part of a cluster quorum.
微信群二維碼
意見反饋