Hybrid object placement in a distributed storage system
First Claim
1. At least one computer-readable medium having computer-executable instructions, which when executed perform steps, comprising:
- placing a first replica in a distributed object store as a smoothing replica based on an amount of load of a set of bricks; and
placing a second replica that has contents identical to the first replica in the distributed object store as a spreading replica based on a substantially random distribution among another set of bricks.
2 Assignments
0 Petitions
Accused Products
Abstract
Described is the differentiation of replicas in a large distributed object store as either being smoothing replicas based on an amount of load on storage nodes (bricks), or as spreading replicas based on a substantially random distribution among the system'"'"'s bricks. The smoothing replicas are placed among the lowest usage bricks, while the spreading replicas are placed randomly throughout other bricks in the system independent of load. As a result, fast, primarily parallel data repair is facilitated by selecting a spreading replica when repair is needed, while load balancing is facilitated by placing a smoothing replica on a low-usage brick when a new replica is checked in, and selecting a smoothing replica when load balancing is triggered by overloading of a brick and/or addition of a new brick. Check-in, data repair and load balancing policies specify how to use smoothing replicas and spreading replicas.
-
Citations
20 Claims
-
1. At least one computer-readable medium having computer-executable instructions, which when executed perform steps, comprising:
-
placing a first replica in a distributed object store as a smoothing replica based on an amount of load of a set of bricks; and
placing a second replica that has contents identical to the first replica in the distributed object store as a spreading replica based on a substantially random distribution among another set of bricks. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. At least one computer-readable medium having computer-executable instructions, which when executed perform steps, comprising:
-
determining that a replica needs to be stored on at least one brick in a distributed system of bricks; and
evaluating policy to establish whether to store the replica as a smoothing replica based on load, as a spreading replica based on distribution, or store at least one smoothing replica and at least one spreading replica. - View Dependent Claims (12, 13, 14)
-
-
15. In a computing environment in which objects are replicated among bricks of a distributed object store, a method comprising:
-
storing a copy of an object as a first replica on one brick;
storing another copy of an object as a second replica on another brick; and
maintaining information that indicates that the first replica is a smoothing replica and the second replica is a spreading replica. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification