Method and apparatus for offline cooperative file distribution using cache nodes
First Claim
1. A cooperative method for transferring a file from a sender to a receiver, comprising the steps of:
- receiving an indication from said sender that said sender has said file;
determining if said receiver is online; and
initiating a storage of said file on one or more storage proxies if said receiver is not online.
2 Assignments
0 Petitions
Accused Products
Abstract
Methods and apparatus are provided for cooperative file distribution system employing one or more storage proxies to allow an offline receiver to obtain files or pieces thereof when the receiver comes online. A central tracker receives an indication from the sender that the sender has the file; determines if the receiver is online; and initiates a storage of the file on one or more storage proxies if the receiver is not online. A proxy service can identify one or more potential storage proxies that can store the file and that each satisfy one or more predefined resource criteria. The sender can send a request to one or more of the storage proxies from the list of storage proxies to act as a storage proxy for the communication between the sender and the receiver. The potential storage proxies compare one or more resource measures to predefined criteria; and provide an acceptance if the one or more resource measures satisfy the predefined criteria.
-
Citations
30 Claims
-
1. A cooperative method for transferring a file from a sender to a receiver, comprising the steps of:
-
receiving an indication from said sender that said sender has said file;
determining if said receiver is online; and
initiating a storage of said file on one or more storage proxies if said receiver is not online. - View Dependent Claims (2, 3, 4, 7)
-
- 5. The method of claim 5, wherein each of said one or more storage proxies store a complete copy of said file.
-
8. A cooperative method for transferring a file from a sender to a receiver, comprising the steps of:
-
receiving an indication from said sender that said sender has said file;
determining if said receiver is online;
obtaining a list of potential storage proxies for transferring said file from said sender to said receiver if said receiver is not online; and
initiating a transfer of said file from said sender to said receiver using one or more of said potential storage proxies. - View Dependent Claims (9, 10, 11, 12)
-
-
13. A cooperative method for sending a file from a sender to a receiver, comprising the steps of:
-
sending an indication to a central tracker that said sender has said file;
receiving a list of potential storage proxies for storing said file while said receiver is unavailable;
sending a request to one or more of said storage proxies from said list of storage proxies to act as a storage proxy between said sender and said receiver; and
transferring said file to said one or more of said potential storage proxies. - View Dependent Claims (14)
-
-
15. A method for identifying one or more storage proxies for transferring a file from a sender to a receiver, comprising the steps of:
-
identifying one or more storage proxies that can store said file while said receiver is unavailable and satisfy one or more predefined resource criteria; and
providing a list of potential storage proxies for transferring said file from said sender to said receiver. - View Dependent Claims (16, 17, 18, 19)
-
-
20. A cooperative method for sending a file from a sender to a receiver, comprising the steps of:
-
receiving a request to act as a storage proxy for storing said file while said receiver is unavailable;
comparing one or more resource measures to predefined criteria; and
providing an acceptance if said one or more resource measures satisfy said predefined criteria. - View Dependent Claims (21, 22)
-
-
23. A cooperative method performed by a receiver for receiving a file from a sender, comprising the steps of:
-
sending a connection message to a central tracker to obtain said file;
receiving a notification of one or more storage proxies that stored at least a portion of said file while said receiver was unavailable; and
obtaining said at least a portion of said file from said one or more storage proxies. - View Dependent Claims (24)
-
-
25. A cooperative system for transferring a file from a sender to a receiver, comprising:
-
a memory; and
at least one processor, coupled to the memory, operative to;
receive an indication from said sender that said sender has said file;
determine if said receiver is online; and
initiate a storage of said file on one or more storage proxies if said receiver is not online.
-
-
26. A cooperative system for transferring a file from a sender to a receiver, comprising:
-
a memory; and
at least one processor, coupled to the memory, operative to;
receive an indication from said sender that said sender has said file;
determine if said receiver is online;
obtain a list of potential storage proxies for transferring said file from said sender to said receiver if said receiver is not online; and
initiate a transfer of said file from said sender to said receiver using one or more of said potential storage proxies.
-
-
27. A cooperative system for sending a file from a sender to a receiver, comprising:
-
a memory; and
at least one processor, coupled to the memory, operative to;
send an indication to a central tracker that said sender has said file;
receive a list of potential storage proxies for storing said file while said receiver is unavailable;
send a request to one or more of said storage proxies from said list of storage proxies to act as a storage proxy between said sender and said receiver; and
transfer said file to said one or more of said potential storage proxies.
-
-
28. A system for identifying one or more storage proxies for transferring a file from a sender to a receiver, comprising:
-
a memory; and
at least one processor, coupled to the memory, operative to;
identify one or more storage proxies that can store said file while said receiver is unavailable and satisfy one or more predefined resource criteria; and
provide a list of potential storage proxies for transferring said file from said sender to said receiver.
-
-
29. A cooperative system for sending a file from a sender to a receiver, comprising:
-
a memory; and
at least one processor, coupled to the memory, operative to;
receive a request to act as a storage proxy for storing said file while said receiver is unavailable;
compare one or more resource measures to predefined criteria; and
provide an acceptance if said one or more resource measures satisfy said predefined criteria.
-
-
30. A cooperative system for receiving a file from a sender, comprising:
-
a memory; and
at least one processor, coupled to the memory, operative to;
send a connection message to a central tracker to obtain said file;
receive a notification of one or more storage proxies that stored at least a portion of said file while said receiver was unavailable; and
obtain said at least a portion of said file from said one or more storage proxies.
-
Specification