Patent ID: 8725837

Claim:
A method comprising: receiving, by a computing device, subscriber information associated with user devices coupled to a network, the subscriber information related to subscribers associated with the user devices; receiving, by the computing device, network information associated with the network, wherein the network information comprises: attachment point information associated with the user devices, wherein the attachment point information includes information about one or more network devices used to connect each of the user devices to the network, bandwidth information associated with the network, wherein the bandwidth information includes an amount of bandwidth provisioned for each of the subscribers, a current bandwidth being used by each of the subscribers, or an amount of bandwidth available to each of the subscribers in the network, and congestion information that identifies congested areas of the network; receiving, by the computing device, user device information associated with the user devices; determining, by the computing device, which items of content, of multiple items of content stored by a content provider device, to cache in a cache device physically located near the user devices based on the network information comprising the attachment point information, the bandwidth information and the congestion information, and further based on the subscriber information or the user device information; requesting, by the computing device, the determined items of content from the content provider device; receiving, by the computing device, the determined items of content from the content provider device; and storing, by the computing device, the determined content in the cache device physically located near the user devices.