Patent ID: 7685179

Claim:
A method of solving a max flow network problem regarding replica placement of primary and secondary replicas in a computer cluster having a plurality of computing devices, comprising: generating a directed graph based on the computing devices in the computer cluster by: creating a source node and a sink node; for each computing device, creating a respective primary node and a respective secondary node; creating a respective first edge from the source node to each primary node; assigning a respective first weight of each first edge equal to a number of primary replicas to be stored on a computing device associated with a corresponding primary node; creating a respective second edge from the sink node to each secondary node; assigning a respective second weight of each second edge eciual to a number of secondary replicas to be stored on a computing associated with a corresponding secondary node; when a first machine associated with a primary node and a second machine associated with a secondary node are allowed to store peers of a same object, creating a respective third edge of weight one from the associated primary node to the associated secondary node; generating a flow network based on the directed graph; solving a network problem based on the flow network to generate a solution; and placing the primary and secondary replicas on the computing devices based on the solution of the network problem.