Patent ID: 7792915

Claim:
A method for structuring a content distribution overlay network for a peer-to-peer network, comprising: receiving a request for content at a content node from a requesting node of the peer-to-peer network, the content node having processing capabilities to transcode the content for presentation to the requesting node; dynamically assembling an overlay network after receiving the request for content, the overlay network is defined by nodes of the peer-to-peer network and defined from available nodes of the peer-to-peer network that are capable of processing the request and are available at a time of the request, where each available node used for the overlay network is selected based on respective processing capabilities of the available nodes, and the requesting node and the content node being assembled as part of the overlay network, the assembling of the overlay network being self-organizing from nodes of the peer-to-peer network based on the request for content using the assembled overlay network, referring to a head node of the overlay network to determine if a child node of the content node has processing capabilities to process the content, the content node being the head node in the overlay network; and assigning the child node to process the content for presentation to the requesting node if the child node has processing capabilities to transcode the content for the requesting node, wherein the child node has lower processing capabilities to transcode the content than the head node, and the assigned child node is load balanced with respect to other nodes capable of transcoding for the requesting node, wherein the assigned child node has the lowest work load.