US2009182842A1PendingUtilityA1

Method And System For Redirecting Data Requests In Peer-To-Peer Data Networks

Assignee: DUTTA RABINDRANATHPriority: Sep 13, 2001Filed: Mar 24, 2009Published: Jul 16, 2009
Est. expirySep 13, 2021(expired)· nominal 20-yr term from priority
H04L 67/1034H04L 69/329H04L 67/1001H04L 67/10015H04L 9/40H04L 67/1068H04L 67/06H04L 67/104H04L 67/1038
53
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A methodology for operating a data sharing application in a peer-to-peer network is presented. After a first peer node receives a request for a copy of a specified file from a second peer node, the first peer node may either return a copy of the specified file or a response message containing an alternate node list associated with the specified file. The alternate node list contains a set of node identifiers indicating a set of alternate peer nodes within the peer-to-peer network that may have a copy of the specified file. The alternate node list is dynamically maintained at each peer node. The response provided by the first peer node, i.e. either a copy of the specified file or the alternate node list, can be determined based on an operational condition of the first peer node, e.g., whether or not the first peer node is experiencing an overload condition.

Claims

exact text as granted — not AI-modified
1 . A method for operating a data sharing application in a peer-to-peer network, wherein nodes within the peer-to-peer network can operate both in a client mode while requesting data and in a server mode while transmitting data, the method comprising:
 receiving from a first peer node a request for a copy of a specified file at a second peer node; and   in response to receiving the request, returning a response message to the first peer node, wherein the response message comprises an alternate node list associated with the specified file, wherein the alternate node list comprises a set of node identifiers indicating a set of alternate peer nodes within the peer-to-peer network that may have a copy of the specified file.   
   
   
       2 . The method of  claim 1  wherein a node identifier is an Internet Protocol (IP) address. 
   
   
       3 . The method of  claim 1  further comprising:
 maintaining an uploadable file list at the second peer node, wherein the uploadable file list comprises a set of file identifiers indicating a set of files stored on the second peer node that are available for uploading in response to received requests; and   associating an alternate node list with each file in the list of files that are available for uploading.   
   
   
       4 . The method of  claim 1  further comprising:
 in response to receiving the request, determining whether or not the second peer node is in an overload condition; and   in response to a determination that the second peer node is not in an overload condition, sending a copy of the specified file to the first peer node.   
   
   
       5 . The method of  claim 4  further comprising:
 obtaining a node identifier for the first peer node; and   adding the node identifier for the first peer node to the alternate node list associated with the specified file.   
   
   
       6 . The method of  claim 5  further comprising:
 associating a timestamp with the node identifier in the alternate node list associated with the specified file to indicate a time value at which the specified file was sent to the first peer node.   
   
   
       7 . The method of  claim 1  further comprising:
 in response to receiving the request, determining whether or not the second peer node is in an overload condition; and   in response to a determination that the second peer node is in an overload condition, generating the response message.   
   
   
       8 . The method of  claim 1  further comprising:
 retrieving a copy of a file from a third peer node;   storing the retrieved file at the second peer node;   obtaining a node identifier for the third peer node; and   adding the node identifier for the third peer node to the alternate node list associated with the retrieved file.   
   
   
       9 . The method of  claim 8  further comprising:
 associating a timestamp with the node identifier in the alternate node list associated with the retrieved file to indicate a time value at which the retrieved file was retrieved from the third peer node.   
   
   
       10 . The method of  claim 1  further comprising:
 processing the alternate node list associated with the specified file with respect to a set of timestamps within the alternate node list in order to delete node identifiers associated with timestamps that are older than a configurable threshold value.   
   
   
       11 . A method for operating a data sharing application in a peer-to-peer network, wherein nodes within the peer-to-peer network can operate both in a client mode while requesting data and in a server mode while providing data, the method comprising:
 transmitting from a first peer node a request for a copy of a specified file to a second peer node; and   receiving a response message at the first peer node, wherein the response message comprises an alternate node list associated with the specified file, wherein the alternate node list comprises a set of node identifiers indicating a set of alternate peer nodes within the peer-to-peer network that may have a copy of the specified file.   
   
   
       12 . The method of  claim 11  wherein a node identifier is an Internet Protocol (IP) address. 
   
   
       13 . The method of  claim 11  further comprising:
 obtaining the alternate node list from the response message;   extracting a first node identifier from the alternate node list; and   sending from the first peer node a request for a copy of the specified file to a third peer node associated with the first node identifier.   
   
   
       14 . The method of  claim 13  further comprising:
 repeating the extracting and sending steps with a sequence of node identifiers from the alternate node list until a copy of the specified file is received from a peer node associated with one of the extracted node identifiers.   
   
   
       15 . The method of  claim 14  wherein the alternate node list comprises a set of timestamps, wherein each node identifier in the alternate node list is associated with a timestamp, the method further comprising:
 sorting the set of node identifiers from the alternate node list with reference to a timestamp associated with a node identifier; and   performing the repetition of the extracting and sending steps in accordance with the sorted set of node identifiers.   
   
   
       16 . A computer program product in a computer readable medium for use in a data processing system for sharing data in a peer-to-peer network, wherein nodes within the peer-to-peer network can operate both in a client mode while requesting data and in a server mode while transmitting data, the computer program product comprising:
 instructions for receiving from a first peer node a request for a copy of a specified file at a second peer node; and   instructions for returning a response message to the first peer node in response to receiving the request, wherein the response message comprises an alternate node list associated with the specified file, wherein the alternate node list comprises a set of node identifiers indicating a set of alternate peer nodes within the peer-to-peer network that may have a copy of the specified file.   
   
   
       17 . The computer program product of  claim 16  wherein a node identifier is an Internet Protocol (IP) address. 
   
   
       18 . The computer program product of  claim 16  further comprising:
 instructions for maintaining an uploadable file list at the second peer node, wherein the uploadable file list comprises a set of file identifiers indicating a set of files stored on the second peer node that are available for uploading in response to received requests; and   instructions for associating an alternate node list with each file in the list of files that are available for uploading.   
   
   
       19 . The computer program product of  claim 16  further comprising:
 instructions for determining whether or not the second peer node is in an overload condition in response to receiving the request; and   instructions for sending a copy of the specified file to the first peer node in response to a determination that the second peer node is not in an overload condition.   
   
   
       20 . The computer program product of  claim 19  further comprising:
 instructions for obtaining a node identifier for the first peer node; and   instructions for adding the node identifier for the first peer node to the alternate node list associated with the specified file.   
   
   
       21 . The computer program product of  claim 20  further comprising:
 instructions for associating a timestamp with the node identifier in the alternate node list associated with the specified file to indicate a time value at which the specified file was sent to the first peer node.   
   
   
       22 . The computer program product of  claim 16  further comprising:
 instructions for determining whether or not the second peer node is in an overload condition in response to receiving the request; and   instructions for generating the response message in response to a determination that the second peer node is in an overload condition.   
   
   
       23 . The computer program product of  claim 16  further comprising:
 instructions for retrieving a copy of a file from a third peer node;   instructions for storing the retrieved file at the second peer node;   obtaining a node identifier for the third peer node; and   instructions for adding the node identifier for the third peer node to the alternate node list associated with the retrieved file.   
   
   
       24 . The computer program product of  claim 23  further comprising:
 instructions for associating a timestamp with the node identifier in the alternate node list associated with the retrieved file to indicate a time value at which the retrieved file was retrieved from the third peer node.   
   
   
       25 . The computer program product of  claim 16  further comprising:
 instructions for processing the alternate node list associated with the specified file with respect to a set of timestamps within the alternate node list in order to delete node identifiers associated with timestamps that are older than a configurable threshold value.   
   
   
       26 . A computer program product in a computer readable medium for use in a data processing system for sharing data in a peer-to-peer network, wherein nodes within the peer-to-peer network can operate both in a client mode while requesting data and in a server mode while transmitting data, the computer program product comprising:
 instructions for transmitting from a first peer node a request for a copy of a specified file to a second peer node; and   instructions for receiving a response message at the first peer node, wherein the response message comprises an alternate node list associated with the specified file, wherein the alternate node list comprises a set of node identifiers indicating a set of alternate peer nodes within the peer-to-peer network that may have a copy of the specified file.   
   
   
       27 . The computer program product of  claim 26  wherein a node identifier is an Internet Protocol (IP) address. 
   
   
       28 . The computer program product of  claim 26  further comprising:
 instructions for obtaining the alternate node list from the response message;   instructions for extracting a first node identifier from the alternate node list; and   instructions for sending from the first peer node a request for a copy of the specified file to a third peer node associated with the first node identifier.   
   
   
       29 . The computer program product of  claim 28  further comprising:
 instructions for repeating the extracting and sending steps with a sequence of node identifiers from the alternate node list until a copy of the specified file is received from a peer node associated with one of the extracted node identifiers.   
   
   
       30 . The computer program product of  claim 29  wherein the alternate node list comprises a set of timestamps, wherein each node identifier in the alternate node list is associated with a timestamp, the computer program product further comprising:
 instructions for sorting the set of node identifiers from the alternate node list with reference to a timestamp associated with a node identifier; and   instructions for performing the repetition of the extracting and sending steps in accordance with the sorted set of node identifiers.   
   
   
       31 . An apparatus for sharing data in a peer-to-peer network, wherein nodes within the peer-to-peer network can operate both in a client mode while requesting data and in a server mode while transmitting data, the apparatus comprising:
 means for receiving from a first peer node a request for a copy of a specified file at a second peer node; and   means for returning a response message to the first peer node in response to receiving the request, wherein the response message comprises an alternate node list associated with the specified file, wherein the alternate node list comprises a set of node identifiers indicating a set of alternate peer nodes within the peer-to-peer network that may have a copy of the specified file.   
   
   
       32 . An apparatus for sharing data in a peer-to-peer network, wherein nodes within the peer-to-peer network can operate both in a client mode while requesting data and in a server mode while transmitting data, the apparatus comprising:
 means for transmitting from a first peer node a request for a copy of a specified file to a second peer node; and   means for receiving a response message at the first peer node, wherein the response message comprises an alternate node list associated with the specified file, wherein the alternate node list comprises a set of node identifiers indicating a set of alternate peer nodes within the peer-to-peer network that may have a copy of the specified file.

Join the waitlist — get patent alerts

Track US2009182842A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.