US2017346893A1PendingUtilityA1

Peer-to-peer data migration

Assignee: EMPIRE TECHNOLOGY DEV LLCPriority: Sep 20, 2011Filed: Aug 18, 2017Published: Nov 30, 2017
Est. expirySep 20, 2031(~5.1 yrs left)· nominal 20-yr term from priority
H04L 67/2857H04L 67/1076H04L 29/08459H04L 67/2852G06F 17/30209H04L 67/2842H04L 29/08306H04L 67/104H04L 67/5683H04L 67/568H04L 67/5682G06F 16/1837
49
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Examples are disclosed for peer-to-peer data migration between nodes coupled via one or more peer-to-peer communication links.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A method comprising:
 receiving data at a first node communicatively coupled to a second node;   storing the data in a public cache of the first node configured to be accessible to the second node via a first peer-to-peer communication link between the first node and the second node;   setting a time-to-live timer for the data based on an available storage capacity in the public cache of the first node;   determining a first location of the first node relative to a second location of the second node;   determining whether a change has occurred in the first location of the first node relative to the second location of the second node;   in response to a determination that the change has occurred in the first location of the first node relative to the second location of the second node, adjusting the time-to-live timer to generate an adjusted time-to-live timer; and   deleting the data from the public cache of the first node upon expiration of the adjusted time-to-live timer.   
     
     
         2 . The method of  claim 1 , wherein the time-to-live timer is set based on a life span value, wherein the life span value is estimated based, at least in part, on an available bandwidth for the first node to communicatively couple to the second node via the first peer-to-peer communication link, or on an amount of time the first node remains communicatively coupled to the second node via the first peer-to-peer communication link. 
     
     
         3 . The method of  claim 1 , wherein the data includes a first portion of at least one of a video file, an audio file, a multimedia file, or a data file, and wherein a second portion of the at least one of the video file, the audio file, the multimedia file, and the data file is included in another data stored in a separate public cache of a third node, and wherein the third node is communicatively coupled to the first node via a second peer-to-peer communication link. 
     
     
         4 . The method of  claim 3 , further comprising:
 determining a third location of the third node relative to the first location of the first node; and   adjusting the time-to-live timer based on the third location of the third node and the second location of the second node.   
     
     
         5 . The method of  claim 4 , wherein the adjustment to the time-to-live timer based on the third location of the third node and the second location of the second node comprises reducing the time-to-live timer in response to determining that the third location of the third node and the second location of the second node indicate that the first node is not in a centralized location relative to the third node and the second node. 
     
     
         6 . The method of  claim 1 , further comprising adjusting the time-to-live timer to expire sooner in response to the change in the first location relative to the second location, which indicates that the first node has shifted away from a centralized location relative to the second node. 
     
     
         7 . The method of  claim 1 , further comprising adjusting the time-to live-timer to expire later in response to the change in the first location relative to the second location, which indicates that the first node has shifted toward a centralized location relative to the second node. 
     
     
         8 . The method of  claim 1 , further comprising determining the second location of the second node based on information included in a copy request received from the second node, wherein the information includes a physical location of the second node. 
     
     
         9 . The method of  claim 1 , wherein the public cache of the first node comprises a portion of memory to be configured based, at least in part, on an incentive program that includes at least one of a billing credit, a cash subsidy, or an equipment subsidy, and wherein the incentive program is offered to a user device determined to be associated with the first node by a network device in exchange for providing access to and for allowing the portion of memory to be configured to maintain the public cache of the first node. 
     
     
         10 . A method comprising:
 storing a directory file in a first public cache of a first node, wherein the directory file includes information associated with data stored in a second public cache of a second node;   setting a time-to-live timer for the stored directory file based on an amount of time the first node remains communicatively coupled to the second node via a peer-to-peer communication link;   determining a first location of the first node relative to a third location of a third node;   determining whether a change has occurred in the first location of the first node relative to the third location of the third node;   in response to a determination that the change has occurred in the first location of the first node relative to the third location of the third node, adjusting the time-to-live timer to generate an adjusted time-to-live timer; and   deleting the data from the first public cache of the first node upon expiration of the adjusted time-to-live timer.   
     
     
         11 . The method of  claim 10 , wherein the information associated with the data stored in the second public cache further includes an indication of a download time for the data received by the second node via a network communication link, wherein the download time is utilized by the third node to determine whether to copy the data from the second public cache. 
     
     
         12 . The method of  claim 11 , wherein the data stored in the second public cache includes data copied by the second node from a fourth public cache of a fourth node, wherein the data stored in the fourth public cache of the fourth node is received by the fourth node from a data store via the network communication link. 
     
     
         13 . The method of  claim 10 , wherein the determination of the first location of the first node relative to the third location of the third node comprises determining the third location of the third node based, at least in part, on information included in a directory request, received from the third node, that is utilized to indicate a physical location of the second node. 
     
     
         14 . The method of  claim 10 , further comprising:
 receiving a directory copy request from a fourth node to facilitate copying the directory file from the first public cache;   determining a fourth location of the fourth node relative to the first location of the first node;   adjusting the time-to-live timer based on the first location, the second location, the third location, and the fourth location of the first node, the second node, the third node, and the fourth node respectively to generate the adjusted time-to-live timer; and   forwarding an indication of the fourth location of the fourth node to other nodes other than the fourth node in response to deleting the directory file upon expiration of the adjusted time-to-live timer.   
     
     
         15 . The method of  claim 10 , further comprising:
 receiving information associated with other data stored in a fourth public cache of a fourth node;   determining whether the directory file stored in the first public cache has reached a predetermined memory size;   adding the information associated with the other data to the directory file stored in the first public cache based on a determination that the predetermined memory size has not been reached; and   sending an indication to the fourth node based on a determination that the predetermined memory size has been reached, wherein the indication includes declination of addition of the information associated with the other data to the directory file stored in the first public cache.   
     
     
         16 . The method of  claim 10 , wherein the information associated with the data stored in the second public cache includes information to indicate when the data will be deleted from the second public cache. 
     
     
         17 . The method of  claim 10 , further comprising:
 contacting a fourth node, the fourth node having other data stored in a fourth public cache of the fourth node;   receiving other information associated with the other data stored in the fourth public cache;   adding the other information associated with the other data stored in the fourth public cache to the directory file stored in the first public cache; and   forwarding a calling card to the fourth node, wherein the calling card includes location information for the first node and an indication that the first node has the directory file that includes the other information associated with the other data stored in the fourth public cache and, the information assigned to the data stored in the second public cache.   
     
     
         18 . An apparatus, comprising:
 a memory; and   a processor that executes or facilitates execution of computer-executable instructions stored on the memory, to at least:
 receive data at a first node communicatively coupled to a second node; 
 store the data in a public cache of the first node configured to be accessible to the second node via a first peer-to-peer communication link between the first node and the second node; 
 set a time-to-live timer for the data based on an available storage capacity in the public cache of the first node; 
 determine a first location of the first node relative to a second location of the second node; 
 determine whether a change has occurred in the first location of the first node relative to the second location of the second node; 
 in response to a determination that the change has occurred in the first location of the first node relative to the second location of the second node, adjust the time-to-live timer to generate an adjusted time-to-live timer; and 
 delete the data from the public cache of the first node upon expiration of the adjusted time-to-live timer. 
   
     
     
         19 . The apparatus of  claim 18 , wherein the time-to-live for the data is set based, at least in part, on a life span value assigned to the data, and wherein the life span value is estimated based, at least in part, on an available bandwidth for the first node to couple to the second node via the first peer-to-peer communication link, or an amount of time the first node remains coupled to the second node via the first peer-to-peer communication link. 
     
     
         20 . The apparatus of  claim 19 , wherein the processor further executes or facilitates the execution of the computer-executable instructions to adjust the time-to-live timer to expire sooner in response to a determination that the change in the first location relative to the second location indicates that the first node has shifted away from a centralized location relative to the second node. 
     
     
         21 . The apparatus of  claim 19 , wherein the processor further executes or facilitates the execution of the computer-executable instructions to adjust the time-to-live timer to expire later in response to a determination that the change in the first location relative to the second location indicates that the first node has shifted toward a centralized location relative to the second node. 
     
     
         22 . A system, comprising:
 a first node comprising a memory, the memory configured to include a first public cache accessible to other nodes coupled to the first node via one or more peer-to-peer communication links; and   a processor that executes or facilitates execution of computer-executable instructions to at least:
 store a directory file in the first public cache of the first node, wherein the directory file includes information associated with data stored in a second public cache of a second node; 
 set a time-to-live timer for the stored directory file based on an amount of time the first node remains communicatively coupled to the second node via one of the one or more peer-to-peer communication links; 
 determine a first location of the first node relative to a third location of a third node; 
 determine whether a change has occurred in the first location of the first node relative to the third location of the third node; 
 in response to a determination that the change has occurred in the first location of the first node relative to the third location of the third node, adjust the time-to-live timer to generate an adjusted time-to-live timer; and 
 delete the data from the first public cache of the first node upon expiration of the adjusted time-to-live timer. 
   
     
     
         23 . The system of  claim 22 , wherein the processor further executes or facilitates the execution of the computer-executable instructions to adjust the time-to-live timer to expire sooner in response to a determination that the change in the first location indicates that the first node has shifted away from a centralized location relative to the third node. 
     
     
         24 . The system of  claim 23 , wherein the processor further executes or facilitates the execution of the computer-executable instructions to adjust the time-to-live timer to expire later in response to a determination that the change in the first location indicates that the first node has shifted toward a centralized location relative to the third node. 
     
     
         25 . The system of  claim 23 , wherein the processor further executes or facilitates the execution of the computer-executable instructions to:
 receive information associated with other data stored in a fourth public cache of a fourth node;   determine whether the directory file stored in the first public cache has reached a predetermined memory size;   add the information associated with the other data to the directory file stored in the first public cache based on a determination that the predetermined memory size has not been reached; and   send an indication to the fourth node based on a determination that the predetermined memory size has been reached, wherein the indication includes declination of addition of the information associated with the other data to the directory file stored in the first public cache.

Join the waitlist — get patent alerts

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

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