Private peer-to-peer data transfers
First Claim
1. In a peer-to-peer computer network configured to support peer-to-peer data transfers among a plurality of peer computers, a peer computer comprising:
- a processing system comprising at least one processing unit and storage including computer program instructions to configure the processing system to be comprising;
a receiver configured to receive request messages from the plurality of peer computers, each request message including an identifier of a peer computer to which the request message is being sent, and a received encrypted address payload including an encrypted indication of a source peer computer for accessing the requested data;
a message processor configured, when the peer computer is an intermediate peer computer, to decrypt the received encrypted address payload in the received request message to identify another intermediate peer computer from among the plurality of peer computers to which the request message is to be next sent, and to extract a further encrypted address payload to be sent to the other intermediate peer computer for decryption by the other intermediate peer computer;
the processing system further configured, when the peer computer is a requestor peer computer, to generate a request message for requesting data from the plurality of peer computers by accessing, from an index, an indication of an intermediate peer computer and an encrypted address payload for decryption by the intermediate peer computer and including an encrypted indication of a source peer computer for accessing the requested data, wherein the source peer computer is not revealed to the requestor peer computer as a source of the requested data; and
a transmit interface configured to transmit the generated request message with the encrypted address payload to the intermediate peer computer.
1 Assignment
0 Petitions
Accused Products
Abstract
A computer system implements a peer-to-peer network that permits peer-to-peer data transfers with privacy with respect to the identities of requestor peers, provider peers and the requested data. The peer-to-peer network encrypts each communication among peers, and each message, whether a request or response, is transmitted through at least one intermediate peer. Each message received by any peer in the system appears the same to each peer in the sense that the message does not reveal how many intermediate peers have processed or will process the message. Further, a source of content is not revealed as a source; and a requestor of content is not revealed as a requestor.
-
Citations
19 Claims
-
1. In a peer-to-peer computer network configured to support peer-to-peer data transfers among a plurality of peer computers, a peer computer comprising:
-
a processing system comprising at least one processing unit and storage including computer program instructions to configure the processing system to be comprising; a receiver configured to receive request messages from the plurality of peer computers, each request message including an identifier of a peer computer to which the request message is being sent, and a received encrypted address payload including an encrypted indication of a source peer computer for accessing the requested data; a message processor configured, when the peer computer is an intermediate peer computer, to decrypt the received encrypted address payload in the received request message to identify another intermediate peer computer from among the plurality of peer computers to which the request message is to be next sent, and to extract a further encrypted address payload to be sent to the other intermediate peer computer for decryption by the other intermediate peer computer; the processing system further configured, when the peer computer is a requestor peer computer, to generate a request message for requesting data from the plurality of peer computers by accessing, from an index, an indication of an intermediate peer computer and an encrypted address payload for decryption by the intermediate peer computer and including an encrypted indication of a source peer computer for accessing the requested data, wherein the source peer computer is not revealed to the requestor peer computer as a source of the requested data; and a transmit interface configured to transmit the generated request message with the encrypted address payload to the intermediate peer computer. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A process for peer-to-peer data transfers in a peer-to-peer computer network comprised of a plurality of peer computers, the process, performed by a peer computer, comprising:
-
the peer computer, when an intermediate peer computer, receiving a request message, the request message including an identifier of the peer computer receiving the message, and a received encrypted address payload including an encrypted indication of a source peer computer for accessing the requested data; the peer computer, when an intermediate peer computer, decrypting the received encrypted address payload in the received request message to identify another intermediate peer computer from among the plurality of peer computers to which the request message is to be next sent, and to extract a further encrypted address payload to be sent to the other intermediate peer computer for decryption by the other intermediate peer computer; the peer computer, when a requestor peer computer, generating a request message for requesting data from the plurality of peer computers by accessing, from an index, an indication of an intermediate peer computer and an encrypted address payload for decryption by the intermediate peer computer and including an encrypted indication of a source peer computer for accessing the requested data, wherein the source peer computer is not revealed to the requestor peer computer as a source of the requested data; and the peer computer transmitting the generated request message with the encrypted address payload to the intermediate peer computer. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A peer-to-peer computer network configured to support peer-to-peer data transfers, comprising:
-
a plurality of peer computers, each peer computer comprising a processing system comprising at least one processing unit and storage including computer program instructions to configure the processing system, the processing system of the peer computer, when executing the computer program instructions, being configured to receive request messages, each request message including an identifier of a peer computer to which the message is being sent, and an encrypted address payload including an encrypted indication of a source peer computer for accessing the requested data; the processing system of the peer computer being further configured by the computer program instructions to decrypt the encrypted address payload from the received request message to identify a next peer computer from among the plurality of peer computers to which the request message is to be sent, and to extract a further encrypted address payload to be sent to the next peer computer for decryption by the next peer computer; the processing system of the peer computer being further configured by the computer program instructions to transmit the further encrypted address payload to the next peer computer; and an index server, the index server comprising a processing system comprising at least one processing unit and storage including computer program instructions to configure the processing system of the index server to respond to requests from the plurality of peer computers to provide to a requestor peer computer an indication of an intermediate peer computer and an encrypted address payload for decryption by the intermediate peer computer including an encrypted indication of a source peer computer for accessing the requested data wherein the source peer computer is not revealed to the requestor peer computer as a source of the requested data. - View Dependent Claims (17, 18, 19)
-
Specification