Patent ID: 9037657
Filing Date: 2015-05-19
Classification: H04L

Abstract:
1. A computer-implemented method comprising: accessing, by a transmitter peer, a list of peer computers each having a respective data exchange metric, the list created, stored, and maintained at the transmitter peer, the list including peers with which the transmitter peer has had at least one transaction, and the list including at least one peer with a data block request and at least one peer without a data block request, the data exchange metric for each respective peer computer representing the difference between bytes sent to a respective peer computer from the transmitter peer and bytes received from the respective peer computer at the transmitter peer, and the list sorted by the data exchange metric from the greatest deficit to the least deficit; selecting, by the transmitter peer, a requester peer by traversing the list to identify a peer computer with a pending data block request, the peer computer with the pending data block request being the requester peer and having an associated data exchange metric, wherein selecting the requester peer comprises: maintaining a total amount of received data associated with each peer computer in the list of peer computers; and using the total amount of received data to select among a plurality of peer computers having equal data exchange metrics by selecting from the plurality of peer computers having equal data exchange metrics a peer computer having a largest total amount of transmitted data; and transmitting a data block to the requester peer from the transmitter peer.