Method and system for servicing requests in a dynamic cluster
AssigneeOracle America, Inc.
InventorsHarold Carr, Ken M. Cavanaugh
Life of this patent
Estimating the term…
Abstract
A method for servicing requests in a dynamic cluster that includes receiving, by a first replica of the dynamic cluster, a first request that includes a first membership label from a client, wherein the client stores the first membership label and a first cluster list, determining whether the first membership label is obsolete, and sending a second membership label and a second cluster list to the client when the first membership label is obsolete, wherein the client updates the first cluster list with the second cluster list.
Claims16
A method for servicing requests in a dynamic cluster comprising:
- receiving, by a first replica of a first plurality of replicas in the dynamic cluster, a first request comprising a first membership label from a client,
- wherein the first request comprises an object key and the object key comprises an obsolete object reference,
- wherein the client stores the first membership label and a first cluster list corresponding to the first membership label, and
- wherein the first cluster list comprises identifiers of the first plurality of replicas;
- identifying a reference factory corresponding to the object key;
- obtaining an object reference template from the reference factory;
- updating the obsolete object reference using the object reference template to create an updated object reference;
- determining, by the first replica, whether the first membership label is obsolete;
- and
- sending, by the first replica to the client, a second membership label and a second cluster list corresponding to the second membership label when the first membership label is obsolete,
- wherein the second cluster list comprises identifiers of a second plurality of replicas in the dynamic cluster,
- wherein the sending the second membership label and the second cluster list comprises:
- intercepting, from a servant, a first response comprising results to the first request to the client;
- adding the updated object reference to the first response, wherein the updated object reference comprises the second membership label and the second cluster list;
- and
- sending the first response to the client, wherein the first response sent to the client comprises the results and the updated object reference, and
- wherein the client updates the first cluster list with the second cluster list.
A system comprising:
- a first replica of a first plurality of replicas, the first replica comprising:
- a first processor;
- and
- a first set of instructions that when executed by the first processor causes the first processor to:
- receive a first request comprising a first membership label from a client,
- wherein the first request comprises an object key and the object key comprises an obsolete object reference,
- wherein the client stores the first membership label and a first cluster list corresponding to the first membership label, and wherein the first cluster list comprises identifiers of the first plurality of replicas,
- identify a reference factory corresponding to the object key;
- obtain an object reference template from the reference factory;
- update the obsolete object reference using the object reference template to create an updated object reference;
- determine whether the first membership label is obsolete;
- and
- send, to the client, a second membership label and a second cluster list corresponding to the second membership label when the first membership label is obsolete,
- wherein the second cluster list comprises identifiers of a second plurality of replicas,
- wherein the sending the second membership label and the second cluster list comprises:
- intercepting, from a servant, a first response comprising results to the first request to the client;
- adding the updated object reference to the first response, wherein the updated object reference comprises the second membership label and the second cluster list;
- and
- sending the first response to the client, wherein the first response sent to the client comprises the results and the updated object reference, and
- wherein the client updates the first cluster list with the second cluster list;
- and
- a second replica of the second plurality of replicas, the second replica comprising:
- a second processor;
- and
- a second set of instructions that when executed by the second processor causes the second processor to:
- receive a second request comprising the second membership label from the client;
- and
- send a second response based on the second request to the client.
A computer readable medium comprising computer readable program code embodied therein for causing a replica of a first plurality of replicas in a dynamic cluster to:
- receive a request comprising a first membership label from a client,
- wherein the request comprises an object key and the object key comprises an obsolete object reference,
- wherein the client stores the first membership label and a first cluster list corresponding to the first membership label, and
- wherein the first cluster list comprises identifiers of the first plurality of replicas;
- identify a reference factory corresponding to the object key;
- obtain an object reference template from the reference factory;
- update the obsolete object reference using the object reference template to create an updated object reference;
- determine whether the first membership label is obsolete;
- and
- send, to the client, a second membership label and a second cluster list corresponding to the second membership label when the first membership label is obsolete,
- wherein the second cluster list comprises identifiers of a second plurality of replicas in the dynamic cluster,
- wherein the sending the second membership label and the second cluster list comprises:
- intercepting, from a servant, a response comprising results to the first request to the client;
- adding the updated object reference to the response, wherein the updated object reference comprises the second membership label and the second cluster list;
- and
- sending the response to the client, wherein the first response sent to the client comprises the results and the updated object reference, and
- wherein the client updates the first cluster list with the second cluster list.
Dependencies are inferred from the claim text.