IPC분류정보
국가/구분 |
United States(US) Patent
등록
|
국제특허분류(IPC7판) |
|
출원번호 |
US-0245861
(2011-09-27)
|
등록번호 |
US-8510417
(2013-08-13)
|
발명자
/ 주소 |
- Cadwell, Eric
- Corley, Jon B.
- Kokal, Mohan I.
- Monson, Tamara
|
출원인 / 주소 |
|
대리인 / 주소 |
Kilpatrick Townsend & Stockton LLP
|
인용정보 |
피인용 횟수 :
0 인용 특허 :
6 |
초록
▼
A system and method for delivering content objects over the Internet to an end user system with a content delivery network (CDN) is disclosed. Content objects may be dynamically served by loading and/or reconfiguring publishing points upon receipt of an end user request. When an end-user media playe
A system and method for delivering content objects over the Internet to an end user system with a content delivery network (CDN) is disclosed. Content objects may be dynamically served by loading and/or reconfiguring publishing points upon receipt of an end user request. When an end-user media player requests a content object, the request is assigned to an edge server within a particular POP of the CDN. An optional peer-discovery algorithm may determine a content source for the requested content object within the CDN. The peer-discovery algorithm determines whether the publishing point associated with the requested object is loaded into the edge server. Alternatively, the algorithm queries other edge servers within or remote from the POP to determine whether the request is mapped by other edge servers to a content source using their respective publishing points. The edge server may reconfigure its publishing point toward the content source.
대표청구항
▼
1. A content delivery network (CDN) for dynamically serving a content object over the Internet to an end user system, the CDN comprising: a content object request function that receives a request for streaming content object to the end user system;a plurality of points of presence (POPs), wherein: t
1. A content delivery network (CDN) for dynamically serving a content object over the Internet to an end user system, the CDN comprising: a content object request function that receives a request for streaming content object to the end user system;a plurality of points of presence (POPs), wherein: the plurality of POPs are geographically distributed;the plurality of POPs, one of the plurality of POPs being a POP, andeach of the plurality of POPs comprises a plurality of servers including an edge server;an edge server selection function that assigns the request to the edge server in the POP, andeach publishing point maps a request for content to a storage location for the content;an edge-server provisioning function that adds a first subset of the plurality of publishing points to the edge server;an automatic purging function that removes a second subset of the plurality of publishing points according to an automated algorithm; anda streaming function that streams the content object to the end user system,wherein the algorithm comprises: automatically determining a third subset of publishing points that are designated as sticky so as to disable the purging function for the third subset of publishing points; andavoiding removal of the third subset of the plurality of publishing points. 2. The CDN for dynamically serving the content object over the Internet to the end user system as recited in claim 1, further comprising a peer discovery function that: correlates the request to a publishing point associated with the content object, wherein the publishing point is part of the plurality of publishing points,determines whether the publishing point is loaded into the edge server,determines 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,queries 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 the edge server and other servers within the POP, andmaps the publishing point of the edge server to the storage location for the requested content object. 3. The CDN for dynamically serving the content object over the Internet to the end user system as recited in claim 1, wherein the edge-server provising 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; andcreating a publishing point that maps the assigned edge server to a storage location of the requested streaming content object. 4. The CDN for dynamically serving the content object over the Internet to the end user system as recited in claim 1, wherein the algorithm further comprises: determining a fourth subset of publishing points that are currently coupled to the end user system; andavoiding removal of the fourth subset of the plurality of publishing points. 5. The CDN for dynamically serving the content object over the Internet to the end user system as recited in claim 1, wherein the algorithm further comprises: organizing the plurality of publishing points according to a likelihood they will be used; anddetermining a fourth subset of publishing points beyond a threshold amount that are less likely to be used, wherein the plurality of publishing points that are within the fourth subset are removed. 6. The CDN for dynamically serving the content object over the Internet to the end user system as recited in claim 1, wherein the content object comprises a stream. 7. The CDN for dynamically serving the content object over the Internet to the end user system as recited in claim 1, wherein the content object comprises a live stream. 8. 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), which are geographically distributed,each of the plurality of POPs comprises a plurality of servers including an edge server, andthe plurality of POPs, one of the plurality of POPs being a POP;assigning the request to the edge server in the POP, which is part 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;adding the publishing point to the edge server;mapping the publishing point of the edge server to the storage location;automatically removing a first subset of the plurality of publishing points according to an automated algorithm, wherein the algorithm comprises: automatically determining a second subset of publishing points of the plurality of publishing points that are designated as sticky so as to disable the purging function for the second subset of publishing points; andavoiding removal of the second subset of the plurality of publishing points; andstreaming the content object from the edge server to the end user system. 9. The method for dynamically serving a content object over the Internet to the end user system with the CDN as recited in claim 8, 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; andquerying 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 the edge server and other servers within the POP. 10. The method for dynamically serving a content object over the internet to the end user system with the CDN as recited in claim 9, wherein the remote location comprises an origin server. 11. The method for dynamically serving a content object over the internet to the end user system with the CDN as recited in claim 9, further comprising determining a neighboring POP from the plurality of POPs, wherein the remote location is the neighboring POP. 12. A method for dynamically serving a content object over the Internet to an end user system with a CDN as recited in claim 8, wherein the algorithm further comprises: determining a third subset of publishing points that are currently coupled to the end user system; andavoiding removal of the third subset of the plurality of publishing points. 13. A method for dynamically serving a content object over the Internet to an end user system with a CDN as recited in claim 8, wherein the algorithm further comprises: organizing the plurality of publishing points according to a likelihood they will be used; anddetermining a third subset of publishing points beyond a threshold amount that are less likely to be used, wherein the plurality of publishing points that are within the third subset are removed. 14. A method for dynamically serving a content object over the Internet to an end user system with a CDN as recited in claim 8, wherein the removing is repeated after a predetermined time period that is a week, a day, a portion of a day, an hour, or a minute. 15. The method for dynamically serving a content object over the Internet to the end user system with the CDN as recited in claim 8, wherein the content object comprises a stream. 16. The method for dynamically serving a content object over the Internet to the end user system with the CDN as recited in claim 8, wherein the content object comprises a live stream. 17. A method for dynamically serving a content object over the Internet to an end user system with a CDN as recited in claim 8, wherein adding the publishing point to the edge server comprises: upon receiving the request, determining that no publishing point associated with the content object is stored at the edge server. 18. A method for dynamically serving a content object over the Internet to an end user system, the CDN 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), which are geographically distributed,each of the plurality of POPs comprises a plurality of servers including an edge server, andthe plurality of POPs, one of the plurality of POPs being a POP;assigning the request to the edge server in the POP, which is part of the plurality of POPs;correlating the request to a publishing point associated with the content object, wherein the publishing point is part of the plurality of publishing points;determining whether the publishing point is 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;determining a subset of publishing points that are designated as sticky; andavoiding removal of the subset of the plurality of publishing points, while automatically removing other of the plurality of publishing points according to an automated algorithm. 19. The method for dynamically serving the content object over the Internet to the end user system as recited in claim 18, the method 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; andquerying 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 the edge server and other servers within the POP. 20. The method for dynamically serving the content object over the Internet to the end user system as recited in claim 18, further comprising determining a neighboring POP from the plurality of POPs, wherein the remote location is the neighboring POP. 21. The method for dynamically serving the content object over the Internet to the end user system as recited in claim 18, further determining that no publishing point associated with the content object is stored at the edge server.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.