1. A method for managing a video-on-demand (VoD) for a set of video files stored in a hierarchical network comprising a plurality of nodes, one or more of the plurality of nodes being user nodes, each of the user nodes connected to one or more of the plurality of nodes, and one or more of the plurality of nodes storing a video file previously requested by a user node, the method comprising: for a user node, periodically ranking a video file from the set of video files wherein the ranking is based on— a separation between a node in the network storing the video file and the user node, and interest of the user node for the video file; and on receiving a request for the VoD by the user node, performing the following: providing a list of the set of video files along with, recommending one or more video files from the set of video files having a predefined ranking.