Content Management in Peer-to-Peer Content Distribution Clouds
First Claim
1. A method of negotiating which one or more blocks of content are to be exchanged between two peers in a peer to peer content distribution cloud the method comprising, at a peer node acting as a client node:
- (i) sending an offer request message to another peer node acting as a server node to request an offer of one or more blocks of content available from that server node;
(ii) receiving an offer reply message from the server node comprising information about one or more blocks of content available from the server node;
(iii) selecting at least one block on the basis of the information in the offer reply message and sending a block request message to the server node to request the selected block(s);
and wherein the blocks are encoded using Group Network Coding and the offer request message comprises information about one or more groups the client node still needs content for.
2 Assignments
0 Petitions
Accused Products
Abstract
Managing content by influencing its distribution in the form of blocks or other units is crucial to the performance of a peer-to-peer content distribution system. We provide a content management module at each peer node to achieve this. The content management module implements a content request/response cycle in order to negotiate about blocks of content with other peer nodes. This cycle comprises an offer request, offer reply and a block request. These steps are preferably followed by data exchange and verification. The negotiation protocol used by our content management module provides a generic method that is advantageously used in conjunction with different encoding schemes such as full network coding and group network coding. In one embodiment we use group network coding and add information to the offer request and offer reply to facilitate efficient content distribution. Block request messages are selected to promote the use of on-the-fly decoding where possible.
80 Citations
20 Claims
-
1. A method of negotiating which one or more blocks of content are to be exchanged between two peers in a peer to peer content distribution cloud the method comprising, at a peer node acting as a client node:
-
(i) sending an offer request message to another peer node acting as a server node to request an offer of one or more blocks of content available from that server node; (ii) receiving an offer reply message from the server node comprising information about one or more blocks of content available from the server node; (iii) selecting at least one block on the basis of the information in the offer reply message and sending a block request message to the server node to request the selected block(s); and wherein the blocks are encoded using Group Network Coding and the offer request message comprises information about one or more groups the client node still needs content for. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 12)
-
-
9. A method of negotiating which one or more blocks of content are to be exchanged between two peers in a peer to peer content distribution cloud the method comprising, at a peer node acting as a server node:
-
(i) receiving an offer request message from another peer node acting as a client node requesting an offer of one or more blocks of content available from the server node; (ii) sending an offer reply message comprising information about one or more blocks of content available from the server node; (iii) receiving a block request message from the client node requesting one or more selected ones of the offered blocks; (iv) sending the requested block(s) to the client node; and
wherein the blocks are encoded using Group Network Coding and the offer request message comprises information about one or more groups the client node still needs content for. - View Dependent Claims (10, 11)
-
-
13. A computer-readable medium containing computer-executable instructions comprising:
-
(i) receiving an offer request message from another peer node acting as a client node requesting an offer of one or more blocks of content available from the server node; (ii) sending an offer reply message comprising information about one or more blocks of content available from the server node; (iii) receiving a block request message from the client node requesting one or more selected ones of the offered blocks; (iv) sending the requested block(s) to the client node; and
wherein the blocks are encoded using Group Network Coding and the offer request message comprises information about one or more groups the client node still needs content for.
-
-
14. A peer node suitable for acting as a client node in a peer to peer content distribution cloud, and for negotiating which one or more blocks of content are to be exchanged between itself and another peer in the cloud using Group Network Coding the peer node comprising:
-
(i) means for sending an offer request message to another peer node acting as a server node to request an offer of one or more blocks of content available from that server node; that offer request message comprising information about one or more groups the client node still needs content for; (ii) means for receiving an offer reply message from the server node comprising information about one or more blocks of content available from the server node; (iii) a processor arranged to select at least one block on the basis of the information in the offer reply message and to send a block request message to the server node to request the selected block(s). - View Dependent Claims (15, 16, 17, 18)
-
-
19. A peer node suitable for acting as a server node in a peer to peer content distribution cloud, and for negotiating which one or more blocks of content are to be exchanged between itself and another peer in the cloud using Group Network Coding the peer node comprising:
-
(i) means for receiving an offer request message from another peer node acting as a client node requesting an offer or one or more blocks of content available from the server node; that offer request message comprising information about one or more groups the other peer node still needs content for; (ii) means for sending an offer reply message comprising information about one or more blocks of content available from the server node; (iii) means for receiving a block request message from the client node requesting one or more selected ones of the offered blocks; and (iv) means for sending the requested block(s) to the client node. - View Dependent Claims (20)
-
Specification