Patent attributes
A system and a method are disclosed for delivering a video to a destination device using multiple sources and multiple protocols. The video can be on demand or a live video. A video is divided into several chunks distributed across devices and servers in the network. A node is selected for delivering a video chunk based on criteria including the cost of delivery of the chunk from the node to the destination node. This also improves the throughput of the entire system. Different nodes can use different communication protocols for delivering chunks of videos. Portions of videos are forward-cached to a node before a request for the video is made by the node. Activities associated with a device are gathered to determine a profile for the device. The profile of the device is used to select videos to be forward-cached to the peer device.