1. A method for presenting content comprising: aggregating endpoint metadata including endpoint computing device capability and network location for each of a plurality of endpoint computing devices in a computing system and content metadata of content including access restrictions, encoding bit rate, format, and playback state of content stored on each endpoint computing device into a content-on-endpoint table; receiving a request for a content item on a selected endpoint computing device; querying the content-on-endpoint table to find instances of the content item and corresponding endpoint computing device locations; generating a ranked list of instances of the content item by awarding a score based on selection criteria from the group consisting of access restrictions, network topology, and network bandwidth; and selecting an instance of the content item from the ranked list of instances for playback by the selected endpoint computing device based on a hardware capability of the selected endpoint computing device and on one or more of the aggregated endpoint metadata and the content metadata.