IP Library Granted Patent US 12,665,939
Granted Patent B2
US 12,665,939 · App. 18/787,726 · Granted Jun 23, 2026

Apparatus and methods for packetized content routing and delivery

Inventors: James Panagos (Broomfield, CO); Justin Slaughter (Highlands Ranch, CO)
Assignee: CHARTER COMMUNICATIONS OPERATING, LLC
H04L65/612H04L61/106H04L61/4511H04L65/65H04L67/568
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,665,939
App. No.
18/787,726
Filed
Jul 29, 2024
Granted
Jun 23, 2026
Kind
B2
Art Unit
2445
USPC
709/231
Abstract

Apparatus and methods for managing content delivery in a packetized network. In one embodiment, the network provide content to a plurality of clients via a plurality of nodes and origin points, and resources are discreetly represented (e.g., with IP addresses, such as those afforded under the IPv6 protocol) to allows for direct advertisement of resources. Exemplary solutions described herein further advantageously leverage extant architectures and protocols (such as BGP), and make use of a common control plane, which can be utilized for example by different content delivery network (CDN) operators and different delivery components to advertise resources. Internally within a given CDN, increased granularity of resource addressing and advertisement may provide benefits including: (i) resource affinity; (ii) resource-level balancing; (iii) dynamic resource scoping; and (iv) “zero-touch” provisioning and resource relocation.

Claims (34)

1 . A computerized method of de-aggregating a plurality of addresses, the computerized method comprising:

receiving, at one or more border nodes of a first network, one or more sets of aggregated addresses from one or more border nodes of a second network, wherein addresses of the one or more sets of aggregated addresses are associated with respective origin server apparatus of the second network where respective resources associated with the addresses are located;

de-aggregating at least a portion of the one or more sets of aggregated addresses to separate a plurality of individual addresses therefrom; and

assigning at least one prefix of one or more of the plurality of individual addresses to an edge node of the first network, the assigning enabling the edge node of the first network to backfill one or more respective resources associated with the one or more of the plurality of individual addresses.

2 . The computerized method of claim 1 , wherein the receiving of the one or more sets of aggregated addresses comprises receiving a plurality of aggregated Internet Protocol version 6 (IPv6) addresses.

3 . The computerized method of claim 1 , wherein the de-aggregating of the at least portion of the one or more sets of aggregated addresses comprises limiting the de-aggregating to de-aggregating only a prescribed number of addresses from the one or more sets of aggregated addresses.

4 . The computerized method of claim 3 , wherein the de-aggregating of only the prescribed number of addresses from the one or more sets of aggregated addresses comprises applying an upper boundary of specificity to eBGP sessions so as to limit routing table pollution.

5 . The computerized method of claim 3 , further comprising dynamically varying the prescribed number of addresses from the one or more sets of aggregated addresses of which to de-aggregate.

6 . The computerized method of claim 1 , further comprising advertising all routes of the second network and associated with the one or more sets of aggregated addresses to a mid-tier node of the first network, the advertising enabling the mid-tier node to forward requests to the second network for the one or more respective resources associated with the one or more of the plurality of individual addresses based on a failure or outage of the edge node of the first network.

7 . The computerized method of claim 6 , wherein the advertising comprises advertising according to a border gateway protocol (BGP).

8 . Computer readable apparatus comprising a non-transitory storage medium having at least one computer program stored thereon, the at least one computer program comprising a plurality of instructions configured to, when executed on a digital processing device, cause a border node apparatus of a resource route (RR)-enabled network to:

receive, from an edge node of a non-RR network, data representative of a first request for at least one resource, the at least one resource disposed on the RR-enabled network;

based on receipt of the data representative of the first request, transmit data representative of a second request to a resource route (RR) mapping process, the data representative of the second request relating to a request for a network address associated with the at least one resource;

receive, from the RR mapping process, a first data communication, the first data communication comprising data indicating the network address; and

utilize the network address to backfill the at least one resource from an origin server apparatus of the RR-enabled network.

9 . The computer readable apparatus of claim 8 , wherein the receipt, from the edge node of the non-RR network, of the data representative of the first request for the at least one resource comprises receipt of an HTTP GET request issued to an anycast address associated with the RR mapping process.

10 . The computer readable apparatus of claim 8 , wherein the network address comprises Internet Protocol version 6 (IPv6) address.

11 . The computer readable apparatus of claim 8 , wherein the receipt, from the RR mapping process, of the first data communication comprises receipt of an HTTP redirect from a mapping node.

12 . The computer readable apparatus of claim 8 , wherein the utilization of the network address to backfill the at least one resource from the origin server apparatus of the RR-enabled network comprises:

utilize the network address to (i) perform an IP route lookup routine, and (ii) based on the IP route lookup routine, identify a selected route from the origin server apparatus of the RR-enabled network; and

send an HTTP GET request to an IP address of the origin server apparatus for backfill fulfillment of the at least one resource.

13 . The computer readable apparatus of claim 8 , wherein the receipt, from the edge node of the non-RR network, of the data representative of the first request for the at least one resource comprises receipt of a single message of an aggregated number of addresses.

14 . The computer readable apparatus of claim 8 , wherein the RR-enabled network comprises a managed network operated by a multiple systems operator (MSO), and the non-RR network comprises a third-party network not managed by the MSO.

15 . The computer readable apparatus of claim 8 , wherein the RR-enabled network comprises a control plane and a data plane, and the RR mapping process operates on the control plane only, such that the RR mapping process does not need to support demands of the data plane.

16 . Computer readable apparatus comprising a non-transitory storage medium having at least one computer program stored thereon, the at least one computer program comprising a plurality of instructions configured to, when executed on a digital processing device, cause an edge node apparatus of a resource route (RR)-enabled network to:

transmit, to a server apparatus of a non-RR network, data representative of a first request for a network address associated with at least one resource disposed on the non-RR network;

receive, from the server apparatus of the non-RR network, data representative of a first response to the first request, the data representative of the first response comprising the network address;

utilize the data representative of the first response to identify at least one of an edge node apparatus of the non-RR network or an origin server apparatus of the non-RR network; and

enable backfill of the at least one resource from the non-RR network from the at least one of the edge node apparatus of the non-RR network or the origin server apparatus of the non-RR network.

17 . The computer readable apparatus of claim 16 , wherein the utilization of the data representative of the first response to identify the at least one of the edge node apparatus of the non-RR network or the origin server apparatus of the non-RR network comprises utilization of at least one of (i) a DNS (domain name system) lookup or HTTP (Hypertext Transfer Protocol) redirect operation, to identify the at least one of the edge node apparatus or the origin server apparatus of the non-RR network.

18 . The computer readable apparatus of claim 17 , wherein the utilization of the at least one of (i) a DNS lookup or HTTP redirect operation comprises:

utilization of the DNS lookup to identify a redirector of the non-RR network and receive a HTTP redirect from the redirector; and

utilization of the HTTP redirect to identify the edge node apparatus of the non-RR network.

19 . The computer readable apparatus of claim 16 , wherein the RR-enabled network comprises a managed network operated by a multiple systems operator (MSO), and the non-RR network comprises a third-party network not managed by the MSO.

Continuity (5)
Division 18108815 · Feb 13, 2023
Division 17378553 · Jul 16, 2021
Division 16286200 · Feb 26, 2019
Provisional Application 62635430 · Feb 26, 2018
Related Publication 20250007971A1 · Jan 2, 2025
References Cited (156)
US 6161137A · Ogdon et al. · 2000 [cited by applicant]
US 6810417B2 · Lee · 2004 [cited by applicant]
US 7154898B1 · Pecus et al. · 2006 [cited by applicant]
US 7602820B2 · Helms et al. · 2009 [cited by applicant]
US 7793326B2 · McCoskey et al. · 2010 [cited by applicant]
US 7954131B2 · Cholas et al. · 2011 [cited by applicant]
US 8015306B2 · Bowman · 2011 [cited by applicant]
US 8073940B1 · Richardson et al. · 2011 [cited by applicant]
US 8141156B1 · Mao et al. · 2012 [cited by applicant]
US 8180896B2 · Sakata et al. · 2012 [cited by applicant]
US 8245259B2 · McCoskey et al. · 2012 [cited by applicant]
US 8301776B2 · Hebert et al. · 2012 [cited by applicant]
US 8386629B2 · Tan et al. · 2013 [cited by applicant]
US 8432791B1 · Masters · 2013 [cited by applicant]
US 8468271B1 · Panwar et al. · 2013 [cited by applicant]
US 8510826B1 · Reams, III et al. · 2013 [cited by applicant]
US 8713623B2 · Brooks · 2014 [cited by applicant]
US 8909736B1 · Bosch et al. · 2014 [cited by applicant]
US 8924508B1 · Medved et al. · 2014 [cited by applicant]
US 8954491B1 · Medved et al. · 2015 [cited by applicant]
US 8997136B2 · Brooks et al. · 2015 [cited by applicant]
US 9130970B2 · Carney et al. · 2015 [cited by applicant]
US 9141789B1 · Gerlach et al. · 2015 [cited by applicant]
US 9160809B2 · Carney et al. · 2015 [cited by applicant]
US 9215423B2 · Kimble et al. · 2015 [cited by applicant]
US 9235547B1 · Hartman, II et al. · 2016 [cited by applicant]
US 9276955B1 · Jain · 2016 [cited by applicant]
US 9350706B1 · Smith et al. · 2016 [cited by applicant]
US 9467369B2 · Panagos et al. · 2016 [cited by applicant]
US 9743142B2 · Cholas et al. · 2017 [cited by applicant]
US 9743151B2 · Patterson et al. · 2017 [cited by applicant]
US 9755950B2 · Butler et al. · 2017 [cited by applicant]
US 9847844B2 · Schooling et al. · 2017 [cited by applicant]
US 9906838B2 · Cronk et al. · 2018 [cited by applicant]
US 10070155B2 · Panagos et al. · 2018 [cited by applicant]
US 10341379B2 · George et al. · 2019 [cited by applicant]
US 10581721B2 · Panagos et al. · 2020 [cited by applicant]
US 11057650B2 · Panagos · 2021 [cited by examiner]
US 11070603B2 · Panagos et al. · 2021 [cited by applicant]
US 11522828B2 · Raza · 2022 [cited by examiner]
US 11582279B2 · Panagos et al. · 2023 [cited by applicant]
US 12052303B2 · Panagos · 2024 [cited by examiner]
US 20010018772A1 · Shibata et al. · 2001 [cited by applicant]
US 20010049740A1 · Karpoff · 2001 [cited by applicant]
US 20020035683A1 · Kaashoek et al. · 2002 [cited by applicant]
US 20020059621A1 · Thomas et al. · 2002 [cited by applicant]
US 20020116529A1 · Hayden · 2002 [cited by applicant]
US 20020142750A1 · Gill, III · 2002 [cited by applicant]
US 20020163935A1 · Paatela et al. · 2002 [cited by applicant]
US 20030028889A1 · McCoskey et al. · 2003 [cited by applicant]
US 20030110509A1 · Levinson et al. · 2003 [cited by applicant]
US 20030211839A1 · Baum et al. · 2003 [cited by applicant]
US 20040010588A1 · Slater et al. · 2004 [cited by applicant]
US 20040017769A1 · Denecheau et al. · 2004 [cited by applicant]
US 20040039844A1 · Bonn · 2004 [cited by applicant]
US 20050089050A1 · Cheriton · 2005 [cited by applicant]
US 20060050719A1 · Barr et al. · 2006 [cited by applicant]
US 20060130113A1 · Carlucci et al. · 2006 [cited by applicant]
US 20060182034A1 · Klinker et al. · 2006 [cited by applicant]
US 20060190589A1 · Parker et al. · 2006 [cited by applicant]
US 20060198394A1 · Gotoh et al. · 2006 [cited by applicant]
US 20060282891A1 · Pasko · 2006 [cited by applicant]
US 20070011717A1 · Lauder et al. · 2007 [cited by applicant]
US 20070091793A1 · Filsfils et al. · 2007 [cited by applicant]
US 20070101379A1 · Pereira et al. · 2007 [cited by applicant]
US 20070107010A1 · Jolna et al. · 2007 [cited by applicant]
US 20080115167A1 · Hermsmeyer et al. · 2008 [cited by applicant]
US 20080235746A1 · Peters et al. · 2008 [cited by applicant]
US 20080285945A1 · Rajakarunanayake et al. · 2008 [cited by applicant]
US 20090083279A1 · Hasek · 2009 [cited by applicant]
US 20090100459A1 · Riedl et al. · 2009 [cited by applicant]
US 20090138601A1 · Hebert et al. · 2009 [cited by applicant]
US 20090161674A1 · Bou-Diab et al. · 2009 [cited by applicant]
US 20090210899A1 · Lawrence-Apfelbaum et al. · 2009 [cited by applicant]
US 20090210912A1 · Cholas et al. · 2009 [cited by applicant]
US 20090217324A1 · Massimi · 2009 [cited by applicant]
US 20090248886A1 · Tan et al. · 2009 [cited by applicant]
US 20090260046A1 · Yang · 2009 [cited by applicant]
US 20090262741A1 · Jungck et al. · 2009 [cited by applicant]
US 20090313330A1 · Sakamoto · 2009 [cited by applicant]
US 20100036954A1 · Sakata et al. · 2010 [cited by applicant]
US 20100115565A1 · Fujihira et al. · 2010 [cited by applicant]
US 20100118758A1 · Brandt et al. · 2010 [cited by applicant]
US 20100121969A1 · Levitan · 2010 [cited by applicant]
US 20100128918A1 · Macwan · 2010 [cited by applicant]
US 20100231790A1 · Ansari et al. · 2010 [cited by applicant]
US 20100313215A1 · McCoskey et al. · 2010 [cited by applicant]
US 20100313223A1 · Straub · 2010 [cited by applicant]
US 20100332595A1 · Fullagar et al. · 2010 [cited by applicant]
US 20110103374A1 · Lajoie et al. · 2011 [cited by applicant]
US 20110107364A1 · LaJoie et al. · 2011 [cited by applicant]
US 20110131180A1 · Tuli et al. · 2011 [cited by applicant]
US 20110154213A1 · Wheatley et al. · 2011 [cited by applicant]
US 20110231475A1 · Van Der Merwe et al. · 2011 [cited by applicant]
US 20110274112A1 · Czaszar et al. · 2011 [cited by applicant]
US 20110302600A1 · Kelsen et al. · 2011 [cited by applicant]
US 20110320300A1 · Broms et al. · 2011 [cited by applicant]
US 20120008786A1 · Cronk et al. · 2012 [cited by applicant]
US 20120023535A1 · Brooks · 2012 [cited by applicant]
US 20120110202A1 · Niman · 2012 [cited by applicant]
US 20120151012A1 · Mustafa · 2012 [cited by applicant]
US 20120202447A1 · Edge et al. · 2012 [cited by applicant]
US 20120278312A1 · McCoskey et al. · 2012 [cited by applicant]
US 20130018978A1 · Crowe et al. · 2013 [cited by applicant]
US 20130044758A1 · Nguyen et al. · 2013 [cited by applicant]
US 20130046623A1 · Moritz et al. · 2013 [cited by applicant]
US 20130104180A1 · Knightbridge · 2013 [cited by applicant]
US 20130121339A1 · Dispensa et al. · 2013 [cited by applicant]
US 20130159472A1 · Newton et al. · 2013 [cited by applicant]
US 20130188645A1 · Mack-Crane · 2013 [cited by applicant]
US 20130262697A1 · Karasaridis et al. · 2013 [cited by applicant]
US 20130268856A1 · Hejl, Jr. et al. · 2013 [cited by applicant]
US 20130318195A1 · Kwapniewski et al. · 2013 [cited by applicant]
US 20140006158A1 · Cooper · 2014 [cited by applicant]
US 20140010161A1 · Jeong et al. · 2014 [cited by applicant]
US 20140036663A1 · Narayanan · 2014 [cited by applicant]
US 20140095491A1 · McCoskey et al. · 2014 [cited by applicant]
US 20140149552A1 · Carney et al. · 2014 [cited by applicant]
US 20140149601A1 · Carney et al. · 2014 [cited by applicant]
US 20140164760A1 · Hybertson et al. · 2014 [cited by applicant]
US 20140321561A1 · Stec et al. · 2014 [cited by applicant]
US 20150003517A1 · Misumi · 2015 [cited by applicant]
US 20150040173A1 · Panagos et al. · 2015 [cited by applicant]
US 20150043383A1 · Farkas et al. · 2015 [cited by applicant]
US 20150063249A1 · Jover et al. · 2015 [cited by applicant]
US 20150074187A1 · Fletcher et al. · 2015 [cited by applicant]
US 20150074697A1 · Van Vleck et al. · 2015 [cited by applicant]
US 20150113164A1 · Butler et al. · 2015 [cited by applicant]
US 20150161651A1 · Rodriguez et al. · 2015 [cited by applicant]
US 20150271541A1 · Gonder et al. · 2015 [cited by applicant]
US 20150381493A1 · Bansal et al. · 2015 [cited by applicant]
US 20170026712A1 · Gonder et al. · 2017 [cited by applicant]
US 20180014041A1 · Chen et al. · 2018 [cited by applicant]
US 20190036876A1 · Raza · 2019 [cited by examiner]
US 20190069004A1 · Badawiyeh · 2019 [cited by applicant]
US 20190069037A1 · Murphy · 2019 [cited by applicant]
US 20190268393A1 · Panagos et al. · 2019 [cited by applicant]
US 20190272358A1 · McCoskey et al. · 2019 [cited by applicant]
Adams A., et al., “Protocol Independent Multicast-Dense Mode (PIM-DM): Protocol Specification (Revised),” Jan. 2005, 61 pages. [cited by applicant]
Bhattacharyya S., “An Overview of Source-Specific Multicast,” Jul. 2003, 14 pages. [cited by applicant]
Bradner S., “Key Words for Use in RFCs to Indicate Requirement Levels”, BCP 14, RFC 2119, Mar. 1997, DOI 10.17487/RFC2119, Retrieved from the internet [ http://www.rfc-editor.org/info/rfc2119]. [cited by applicant]
Cain B., et al., “Internet Group Management Protocol, Version 3,” Oct. 2002, 53 pages. [cited by applicant]
Chandra R., et al., “BGP Communities Attribute”, RFC 1997, Aug. 1996, 5 pages, DOI: 10.17487/RFC1997, Retrieved from the internet [URL: http://www.rfc-editor.org/info/rfc1997]. [cited by applicant]
Deering, S., et al., “Internet Protocol, Version 6 (IPv6) Specification,” Internet Engineering Task Force (IETF) RFC 2460, Dec. 1998, 39 pages. [cited by applicant]
Fenner B., et al., “Internet Group Management Protocol (IGMP)/ Multicast Listener Discovery (MLD)-Based Multicast Forwarding (IGMP/MLD Proxying),” IETF RFC 4605, Aug. 2006, 12 pages. [cited by applicant]
Handley, et al., “Bidirectional Protocol Independent Multicast (BIDIR-PIM),” Oct. 2007, 43 pages. [cited by applicant]
Holbrook H., et al., “Using Internet Group Management Protocol Version 3 (IGMPv3) and Multicast Listener Discovery Protocol Version 2 (MLDv2) for Source-Specific Multicast,” Aug. 2006, 11 pages. [cited by applicant]
“Internet Protocol, DARPA Internet Program, Protocol Specification”, IETF RCF 791, Sep. 1981, 50 pages. [cited by applicant]
Katabi D., et al., “A Framework for Scalable Global IP-Anycast (GIA)”, MIT Laboratory for Computer Science, 545 Technology Square, Cambridge, MA 02139, 2000, 13 Pages. [cited by applicant]
Marques P., et al., “Advertisement of the best external route in BGP; draft-ietf-idr-best-external-05,” Advertisement of the Best External Route in BGP; DRAFT-IETF-IDR-BEST-EXTERNAL-05.TXT, Internet Engineering Task For… [cited by applicant]
Mohapatra P., et al., “Fast Connectivity Restoration Using BGP Add-path; draft-pmohapat-idr-fast-conn-restore-03,” Fast Connectivity Restoration Using BGP Add-Path; DRAFT-PMOHAPAT-IDR-FAST-CONN-RESTORE-03.TXT, Internet … [cited by applicant]
NAT—Network Address Translation web pages retrieved from the Internet Apr. 17, 2015, 13 pages. (http://www.karlrupp/net/en/computer/nat_tutorial ). [cited by applicant]
Raszuk R., et al., “Distribution of Diverse BGP Paths,” RFC6774.txt, Distribution of Diverse BGP Paths; RFC6774.TXT, Internet Engineering Task Force, IETF; Standard, Internet Society (ISOC) 4, Rue Des Falaises Ch—1205 G… [cited by applicant]
Vida R., et al., “Multicast Listener Discovery Version 2 (MLDV2) for IPV6,” Jun. 2004, 62 pages. [cited by applicant]
Weinda F., et al., “Anycast as a Load Balancing feature”, USENIX, Aug. 27, 2010 (Aug. 27, 2010), pp. 1-4, XP061010498, [retrieved on Aug. 27, 2010]. [cited by applicant]
Wing D., et al., “IP Multicast Requirements for a Network Address Translator (NAT) and a Network Address Port Translator (NAPT),” IETF RFC 5135, Feb. 2008, 16 pages. [cited by applicant]