Patent ID: 8854952

Claim:
A method for reallocating primary and secondary destinations in a virtual server for one or more segmented servers, the method comprising the steps of: a computer allocating buckets to at least two data structures designated to the one or more segmented servers, wherein one of the at least two data structures includes one less bucket than the other data structure; the computer allocating primary destinations to the buckets, wherein a number, the number identifying the bucket destinations, of each primary destination is the same as the server number of the segmented server the data structure is designated thereto; the computer allocating secondary destinations in a predetermined sequential order to the buckets of each of the at least two data structures; responsive to a failure of one of the one or more segmented servers, the computer reallocating the primary destinations and the secondary destinations of buckets with primary destinations and secondary destinations designated to an offline segmented server to one or more online segmented servers without adjusting buckets with primary destinations and secondary destinations designated to the one or more online segmented servers; and the computer reallocating the buckets that have reallocated primary destinations or secondary destinations to each a beginning and an end of the at least two data structures designated to each of the one or more online segmented servers, wherein reallocating the buckets includes, the computer determining a value of a next primary destination; the computer detaching each bucket with the secondary destination as the offline segmented server from an initial location in each data structure; the computer reattaching each bucket with the secondary destination as the offline segmented server to the beginning of each data structure; and the computer allocating secondary destinations to the reattached buckets in each data structure by cycling back in sequence, skipping the offline segmented server number and all numbers of additional offline segmented servers, and looping back to the last online segmented server number until the first online segmented server number is reached, allocating the secondary destinations of the reattached buckets to these numbers until the secondary destination of the reattached bucket at the beginning of each data structure of the online segmented servers has a number equal to the number of the next primary destination.