Partial object distribution in content delivery network
First Claim
1. A method of distributing partial content objects in a content delivery network (CDN), the method comprising:
- receiving at a distribution server an indication that a content object is available at a first point of presence;
obtaining from the first point of presence information relating to the content object;
determining, based on the obtained information, whether the content object is a candidate for distribution;
upon determining that the content object is a candidate for distribution;
comparing the information relating to the content object with mapping data to identify specific mapping data associated with the content object, the specific mapping data identifying a select portion of the content object;
retrieving the select portion of the content object based on the specific mapping data, the select portion including at least one of information indicative of a content type associated with the content object, or information used by an end user system to prepare to playback the content object;
determining a plurality of edge servers to receive the select portion of the content object; and
not in response to an end user request for the content object, sending the select portion of the content object to the plurality of edge servers;
receiving a request from an end-user device for the content object;
assigning the request to a selected edge server at a second point of presence; and
sending the select portion of the content object to the end-user device.
3 Assignments
0 Petitions
Accused Products
Abstract
Techniques for the distribution of content objects in a content delivery network (CDN) are disclosed. In one embodiment, a CDN distribution server detects the availability of a content object and determines whether the content object is a candidate for distribution. The distribution server may detect the availability of the content object in response to a provider making new or updated content available at a content site or a location within the CDN. The distribution server obtains identifying information for a candidate content object and determines a select portion of the content object to be distributed within the CDN. The select portion can be a predetermined number of bytes located at a predetermined position in the content object, the size and location of which may be determined according to content-specific mapping data. The distribution server may push the select portion of the content object to one or more groups of CDN edge servers absent an end-user request.
121 Citations
29 Claims
-
1. A method of distributing partial content objects in a content delivery network (CDN), the method comprising:
-
receiving at a distribution server an indication that a content object is available at a first point of presence; obtaining from the first point of presence information relating to the content object; determining, based on the obtained information, whether the content object is a candidate for distribution; upon determining that the content object is a candidate for distribution; comparing the information relating to the content object with mapping data to identify specific mapping data associated with the content object, the specific mapping data identifying a select portion of the content object; retrieving the select portion of the content object based on the specific mapping data, the select portion including at least one of information indicative of a content type associated with the content object, or information used by an end user system to prepare to playback the content object; determining a plurality of edge servers to receive the select portion of the content object; and not in response to an end user request for the content object, sending the select portion of the content object to the plurality of edge servers; receiving a request from an end-user device for the content object; assigning the request to a selected edge server at a second point of presence; and sending the select portion of the content object to the end-user device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 25, 27)
-
-
19. A content distribution server, comprising:
-
a messaging subsystem configured to receive event messages and to communicate with a plurality of edge servers over a content delivery network (CDN); a memory configured to store mapping data comprising content identifiers and byte values corresponding to the content identifiers; one or more processors configured to distribute content objects, wherein distributing content objects comprises; determining whether the content object available at the first location is a candidate for positioning at edge servers of the CDN, obtaining an identifier associated with the content object, retrieving mapping data from the memory based on the identifier in response to determining that the content object is a candidate for positioning, the mapping data identifying a select portion of the content object, obtaining from the first location the select portion of the content object based on the mapping data, the select portion including at least one of information indicative of a content type associated with the content object, or information used by an end user system to prepare to playback the content object, and determining a plurality of edge servers to receive the portion of the content object, sending, after receiving a request from an end-user device for the content object, the portion of the content object to the end-user device via an edge server assigned to the request, wherein the content distribution server sends the portion of the content object to the plurality of edge servers over the CDN absent a request for the content object. - View Dependent Claims (20, 21, 22, 23, 24, 26)
-
-
28. A content delivery system (CDS), comprising:
-
a distribution server, comprising; a messaging interface configured to detect the availability of a content object at a first location independent of a request for delivery of the content object, an object analyzer configured to determine whether the content object is a candidate for positioning, the object analyzer further configured to obtain mapping information associated with the content object, the mapping information identifying a select portion of the content object, and to retrieve a portion of the content object from the first location based on the mapping information in response to a determination that the content object is a candidate for positioning, the portion of the content object including at least one of information indicative of a content type associated with the content object, or information used by an end user system to prepare to playback the content object, and an edge-server group manager configured to determine a group of edge servers to receive the portion of the content object based on content provider information and, absent a request for the content object to send the portion of the content object to the group in a manner that is asynchronous to the operation of the messaging interface; one or more request routers configured to route a request to a point of presence and to assign the request to one of a plurality of edge servers at the point of presence; and a plurality of edge servers arranged into an edge-server a-group, each edge server in the group comprising; a CDS interface configured to receive a group message with the portion of the content object from the distribution server, a byte store configured to store partial content objects at the edge server, said partial content objects comprising a number of bytes that varies according to a type of a corresponding full content object, a request interface configured to receive a content request and to send a content object to an end user computer in response to said content object request, and a storage controller configured to store the portion of the content object received from the distribution server in the byte store and to retrieve data from the byte store in response to receiving the content request after pre-population of the byte store, the storage controller configured to generate a CDS event if it is determined that the byte store does not contain a partial content object associated with the content request. - View Dependent Claims (29)
-
Specification