US2013304864A1PendingUtilityA1

Publishing-Point Management for Content Delivery Network

Assignee: LIMELIGHT NETWORKS INCPriority: Mar 25, 2009Filed: Jul 18, 2013Published: Nov 14, 2013
Est. expiryMar 25, 2029(~2.7 yrs left)· nominal 20-yr term from priority
H04L 67/1008H04L 67/1001H04L 67/1006H04L 67/101H04L 65/60
50
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A system and method for delivering content objects over the Internet to an end user system with a content delivery network (CDN) is disclosed. The system and method allow for dynamically serving content objects by loading and/or reconfiguring publishing points upon receipt of an end user request. When a content object is requested by an end user media player, the request is assigned to an edge server within a particular POP of the CDN. An optional peer-discovery algorithm is used to determine a content source for the requested content object within the CDN. The peer-discovery algorithm first determines whether the publishing point associated with the requested content object is loaded into the edge server. Alternatively, the peer-discovery algorithm queries other edge servers within or remote from the particular POP to determine whether the request for content object is mapped by other edge servers to a content source using their respective publishing points. Once the content source for the requested content object is determined, the edge server reconfigures its publishing point toward the content source. Ultimately, the content object is streamed to the end user media player. Management of the publishing points avoids performance degradations on the edge server in some embodiments.

Claims

exact text as granted — not AI-modified
1 . (canceled) 
     
     
         2 . A content delivery network (CDN) for dynamically serving content objects over the Internet to an end user system, the CDN comprising:
 a content object request function that receives requests for streaming content objects to the end user system;   a plurality of points of presence (POPs), wherein:
 the plurality of POPs are geographically distributed; 
 at least one POP of the plurality of POPs comprises a plurality of servers including one or more edge servers; 
 an edge server selection function assigns received requests to an edge server that is one of the edge servers in the at least one POP, and 
 a plurality of publishing points map requests for content to corresponding storage locations for the content such that the at least one POP streams the content objects from storage locations mapped by the publication points to the end user system; and 
   an automatic purging function that removes a second subset of the plurality of publishing points from the edge server according to an automated algorithm, the automated algorithm comprising automatically determining publishing points for inclusion in the second subset of publishing points when the content objects corresponding to the publishing points are less popular.   
     
     
         3 . The CDN for dynamically serving the content objects over the Internet to the end user system as recited in  claim 2 , further comprising
 an edge server provisioning function that adds a first subset of the plurality of publishing points to the edge server; and   wherein the automated algorithm further comprises:   automatically determining a third subset of the plurality of publishing points that are designated as sticky; and   deleting any publishing points that are members of both the second and third subsets from the second subset, before the second subset is removed from the edge server, whereby members of the third subset are not removed from the edge server.   
     
     
         4 . The CDN for dynamically serving the content objects over the Internet to the end user system as recited in  claim 2 , further comprising a peer discovery function that:
 correlates each request for a content object to a publishing point of the plurality of publishing points that is associated with the content object;   determines whether the publishing point is loaded into the edge server;   determines whether the request is mapped to a storage location for the requested content object by other servers within the at least one POP if the publishing point is not loaded into the edge server,   queries a remote location away from the at least one POP to determine a storage location for the requested content object if the publishing point is not loaded into the edge server and other servers within the POP, and   maps the publishing point of the edge server to the storage location for the requested content object.   
     
     
         5 . The CDN for dynamically serving the content objects over the Internet to the end user system as recited in  claim 2 , wherein the edge-server provisioning function adds the first subset of the plurality of publishing points to the edge server by:
 determining that a publishing point associated with the requested streaming content object is not stored at the assigned edge server; and   creating a publishing point that maps the assigned edge server to a storage location of the requested streaming content object.   
     
     
         6 . The CDN for dynamically serving the content objects over the Internet to the end user system as recited in  claim 2 , wherein the automated algorithm further comprises:
 determining a fourth subset of publishing points that are currently coupled to the end user system; and   deleting any publishing points that are members of both the second and fourth subsets from the second subset, before the second subset is removed from the edge server, whereby members of the fourth subset are not removed from the edge server.   
     
     
         7 . The CDN for dynamically serving the content objects over the Internet to the end user system as recited in  claim 2 , wherein automatically determining publishing points for inclusion in the second subset of publishing points comprises:
 activating an inactivity timer associated with each publishing point when the end user system disconnects from the content object associated with the publishing point; and   selecting publishing points having the longest time values in their associated inactivity timers, for inclusion in the second subset of publishing points.   
     
     
         8 . The CDN for dynamically serving the content object over the Internet to the end user system as recited in  claim 2 , wherein one or more of the content objects comprise a stream. 
     
     
         9 . The CDN for dynamically serving the content object over the Internet to the end user system as recited in  claim 2 , wherein one or more of the content objects comprise a live stream. 
     
     
         10 . A method for dynamically serving a content object over the Internet to an end user system with a content delivery network (CDN), the method comprising:
 receiving a request to stream the content object to the end user system, wherein:
 the CDN comprises a plurality of points of presence (POPs) that are geographically distributed, and 
 each of the plurality of POPs comprises a plurality of servers, including an edge server; 
   assigning the request to the edge server in a POP of the plurality of POPs;   correlating the request to a publishing point associated with the content object, wherein the publishing point is part of a plurality of publishing points, wherein each publishing point maps a request for content to a storage location for the content;   determining whether the publishing point is loaded into the edge server, and if the publishing point is not loaded into the edge server;
 adding the publishing point to the edge server, and 
 mapping the publishing point of the edge server to the storage location; 
   streaming the content object from the edge server to the end user system in response to the request, utilizing the storage location mapped by the publishing point; and   automatically removing a first subset of the plurality of publishing points according to an automated algorithm, wherein the algorithm comprises:
 automatically determining publishing points for inclusion in the first subset of publishing points when the content objects corresponding to the publishing points are less popular. 
   
     
     
         11 . The method for dynamically serving a content object over the Internet to the end user system with the CDN as recited in  claim 10 , further comprising:
 automatically determining a second subset of publishing points of the plurality of publishing points that are designated as sticky; and   deleting any publishing points that are members of both the first and second subsets, from the first subset, before the first subset is removed from the edge server, whereby members of the second subset are not removed from the edge server.   
     
     
         12 . The method for dynamically serving a content object over the Internet to the end user system with the CDN as recited in  claim 10 , further comprising:
 determining whether the request is mapped to the storage location for the requested content object by other servers within the POP if the publishing point is not loaded into the edge server; and   querying a remote location away from the POP to determine the storage location for the requested content object if the publishing point is not loaded into at least one edge server of the POP.   
     
     
         13 . The method for dynamically serving a content object over the internet to the end user system with the CDN as recited in  claim 12 , wherein the remote location comprises an origin server. 
     
     
         14 . The method for dynamically serving a content object over the internet to the end user system with the CDN as recited in  claim 12 , further comprising determining a neighboring POP from the plurality of POPs, wherein the remote location is the neighboring POP. 
     
     
         15 . The method for dynamically serving a content object over the Internet to an end user system with a CDN as recited in  claim 10 , wherein the algorithm further comprises:
 determining a third subset of publishing points that are currently coupled to the end user system; and   deleting any publishing points that are members of both the second and third subsets from the second subset, before the second subset is removed from the edge server, whereby members of the third subset are not removed from the edge server.   
     
     
         16 . The method for dynamically serving a content object over the Internet to an end user system with a CDN as recited in  claim 10 , wherein the algorithm further comprises:
 activating an inactivity timer associated with each publishing point when the end user system disconnects from the content object associated with the publishing point; and   selecting publishing points having the longest time values in their associated inactivity timers, for inclusion in the first subset of publishing points.   
     
     
         17 . The method for dynamically serving a content object over the Internet to an end user system with a CDN as recited in  claim 10 , wherein the automatically removing is repeated after a predetermined time period that is a week, a day, a portion of a day, an hour, or a minute. 
     
     
         18 . The method for dynamically serving a content object over the Internet to the end user system with the CDN as recited in  claim 10 , wherein the content object comprises a stream. 
     
     
         19 . The method for dynamically serving a content object over the Internet to the end user system with the CDN as recited in  claim 10 , wherein the content object comprises a live stream. 
     
     
         20 . A method for dynamically serving a content object from a content delivery network (CDN) over the Internet to an end user system, the method comprising:
 receiving a request to stream the content object to the end user system, wherein:
 the CDN comprises a plurality of points of presence (POPs) that are geographically distributed, 
 each of the plurality of POPs comprises a plurality of servers, including an edge server, and 
 content is at least partially cached within a content database of the CDN; 
   assigning the request to the edge server in a POP of the plurality of POPs;   correlating the request to a publishing point associated with the content object, wherein the publishing point is part of a plurality of publishing points, wherein each publishing point maps a request for content to a storage location for the content;   determining whether the publishing point is loaded into the edge server, and if the publishing point is not loaded into the edge server;
 automatically adding the publishing point to the edge server; 
 mapping the publishing point of the edge server to the storage location for the content object; 
   streaming the content object from the edge server to the end user system in response to the request, utilizing the storage location mapped by the publishing point;   determining a set of content objects that are currently cached within the content database; and   automatically removing a subset of the plurality of publishing points such that publishing points that remain in the CDN correspond with content objects that are currently cached within the content database.   
     
     
         21 . The method for dynamically serving the content object over the Internet to the end user system as recited in  claim 20 , the method further comprising:
 automatically adding publishing points corresponding with content objects that have been cached within the content database, wherein   after the steps of automatically removing and automatically adding, the plurality of publishing points that exist in the CDN is reconciled with the content objects that are currently cached within the content database.

Join the waitlist — get patent alerts

Track US2013304864A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.