Relocating item in distributed storage system
First Claim
1. A method comprising:
- sending a move request from a source server to a destination server, the move request requesting to move an item having item data from the source server to the destination server;
receiving a success response from the destination server in response to the move request, the success response indicating that the destination server has created an entry for the item in an ownership list associated with the destination server;
transferring the item data from the source server to the destination server, wherein transferring the item data from the source server to the destination server comprises;
transferring preliminary data associated with the item from the source server to the destination server, the preliminary data instructing the destination server to create a new item for the item data to be transferred,locking access to the item at the source server so that clients cannot update or read the item, andtransferring final data associated with the item from the source server to the destination server;
changing a move status of the item at the source server from stationary to source attempting transfer;
sending a change state request to a location service requesting the location service to change a state of the item from stable to attempting transfer;
transferring control to the destination server, wherein the control is transferred to the destination server in an instance when another change state request sent by the destination server to the location service is successful in changing the state of the item from attempting transfer to stable; and
deleting the item at the source server.
2 Assignments
0 Petitions
Accused Products
Abstract
Techniques are provided for moving an item from one item server to another item server in a distributed storage system, using a location service, APIs, and item states. There are three parties that transact with each other: a source item server, a destination item server, and a location service. Each item stored at the source has a move status, e.g., “stationary”, “source attempting transfer”, “destination accepting transfer”, or “destination attempting transfer”. Similarly, each item stored at the destination also has a move status, e.g., “stationary”, “source attempting transfer”, “destination accepting transfer”, or “destination attempting transfer”. The location service desirably has an entry for every item stored by the storage system. An item'"'"'s entry may comprise the item'"'"'s current location (e.g., an identifier of an item server) together with a state, such as “stable” or “attempting transfer”.
21 Citations
19 Claims
-
1. A method comprising:
-
sending a move request from a source server to a destination server, the move request requesting to move an item having item data from the source server to the destination server; receiving a success response from the destination server in response to the move request, the success response indicating that the destination server has created an entry for the item in an ownership list associated with the destination server; transferring the item data from the source server to the destination server, wherein transferring the item data from the source server to the destination server comprises; transferring preliminary data associated with the item from the source server to the destination server, the preliminary data instructing the destination server to create a new item for the item data to be transferred, locking access to the item at the source server so that clients cannot update or read the item, and transferring final data associated with the item from the source server to the destination server; changing a move status of the item at the source server from stationary to source attempting transfer; sending a change state request to a location service requesting the location service to change a state of the item from stable to attempting transfer; transferring control to the destination server, wherein the control is transferred to the destination server in an instance when another change state request sent by the destination server to the location service is successful in changing the state of the item from attempting transfer to stable; and deleting the item at the source server. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. At least one computer-readable memory device or storage device storing computer readable instructions which, when executed by at least one processing unit, cause the at least one processing unit to perform acts comprising:
-
sending a move request from a source server to a destination server, the move request requesting to move an item having item data from the source server to the destination server; receiving a success response from the destination server in response to the move request, the success response indicating that the destination server has created an entry for the item in an ownership list associated with the destination server; transferring the item data from the source server to the destination server, wherein transferring the item data from the source server to the destination server comprises; transferring preliminary data associated with the item from the source server to the destination server, locking access to the item at the source server so that clients cannot update or read the item, and transferring final data associated with the item from the source server to the destination server; changing a move status of the item at the source server from a first status indicating the item is stationary to a second status indicating the source server is attempting to transfer the item; sending a change state request to a location service requesting the location service to change a state of the item from a first state indicating the item is stable to a second state indicating there is an attempted transfer of the item; receiving another success response from the location service, the another success response indicating that the location service changed the state of the item to the second state; sending a transfer control request to the destination server responsive to receiving the another success response from the location service; and deleting the item at the source server. - View Dependent Claims (8, 9, 10, 11, 12, 13)
-
-
14. A computing device comprising:
-
one or more processing units; and at least one computer-readable memory device or storage device storing computer readable instructions that, when executed by the one or more processing units, cause the one or more processing units to; send a move request from the computing device to another computing device, the move request requesting to move an item having item data from the computing device to the another computing device; receive a success response from the another computing device in response to the move request, the success response indicating that the another computing device has received the move request; transfer the item data from the computing device to the another computing device, wherein, to transfer the item data from the computing device to the another computing device, the computer readable instructions further cause the one or more processing units to; transfer preliminary data associated with the item from the computing device to the another computing device, lock access to the item at the computing device, and transfer final data associated with the item from the computing device to the another computing device; change a move status of the item at the computing device from a first status indicating the item is stationary to a second status indicating the computing device is attempting to transfer the item; send a change state request to a location service requesting the location service to change a state of the item from a first state indicating the item is stable to a second state indicating there is an attempted transfer of the item; receive another success response from the location service, the another success response indicating that the location service changed the state of the item to the second state; send a transfer control request to the another computing device responsive to receiving the another success response from the location service; and delete the item at the computing device. - View Dependent Claims (15, 16, 17, 18, 19)
-
Specification