IP Library Granted Patent US 9,444,722
Granted Patent B2
US 9,444,722 · App. 13/957,263 · Granted Sep 13, 2016

Method and apparatus for configuring routing paths in a custodian-based routing architecture

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 9,444,722
App. No.
13/957,263
Granted
Sep 13, 2016
Kind
B2
Abstract

A network-connectivity system uses one or more local endpoints to establish a set of directed network connections across network domains. During operation, the system determines a first network domain which is to function as a via that communicates data from other network devices to a predetermined endpoint of a local domain. The system then generates a via-domain description, which references the first network domain as a via for the local domain. The system also determines a second network domain which is to function as a proxy that communicates data to other network domains from a predetermined endpoint of the local domain. The system generates a proxy-domain description, which references the second network domain as a proxy for the local domain. The system then synchronizes the via-domain description with devices of the first network domain, and synchronizes the proxy-domain description with devices of the second network domain.

Claims (83)

1. A computer-implemented method, comprising:

determining, by a local computing device, a first network domain which is to function as a via for a local domain, wherein the via is to route data from other network devices to a predetermined endpoint of the local domain;

updating a via-domain description, within a routing-data collection for the local domain, to reference a via-domain description of the first network domain, thereby establishing the first network domain as the via for the local domain; and

synchronizing a network-configuration collection, which includes the routing-data collection for the local domain, with at least devices of the first network domain to provide the via-domain description to the first network domain.

2. The method of claim 1 , further comprising:

determining a second network domain which is to function as a proxy for the local domain, wherein the proxy is to communicate data to other network devices from a predetermined endpoint of the local domain;

updating a proxy-domain description, within a routing-data collection for the local domain, to reference the proxy-domain description of the second network domain, thereby establishing the second network domain as a proxy for the local domain; and

synchronizing the network-configuration collection, which includes the routing-data collection for the local domain, with at least devices of the second network domain to provide the proxy-domain description to the second network domain.

3. The method of claim 2 , wherein the first and second network domains are different network domains, and wherein synchronizing the network-configuration collection involves:

restricting the via-domain description from being provided to devices of the second network domain; and

restricting the proxy-domain description from being provided to devices of the first network domain.

4. The method of claim 2 , wherein the proxy configuration indicates one or more of:

an endpoint of the local domain from which devices of other network domains may receive packets from the local domain; and

a reference to the proxy-domain description for at least the second network domain.

5. The method of claim 1 , wherein the the network-configuration description also includes a via configuration which indicates one or more of:

an endpoint of the local domain, which other network domains may use to send packets to devices of the local domain; and

a reference to the via-domain description of the first network domain.

6. The method of claim 1 , further comprising:

determining a third network domain which has referenced the local domain as a via;

updating a transit-domain description, within the routing-data collection for the local domain, to reference a transit-domain description of the third network domain, thereby establishing the third network domain as a transit destination; and

synchronizing the routing-data collection for the local domain with devices of other network domains to provide a transit configuration to the other network domains.

7. The method of claim 6 , wherein the transit configuration indicates one or more of:

an endpoint of the local domain, which devices of the other network domains may use to send packets for the third network domain; and

a reference to the transit-domain description of the third network domain.

8. The method of claim 1 , further comprising:

selecting an endpoint of the local domain to designate as a supernode endpoint that is to function as a network interface for a set of network domains;

assigning the selected endpoint to a supernode-endpoint tier;

updating a custodian-to-endpoint table to designate the local endpoint as a supernode endpoint, and to associate the selected endpoint to the corresponding supernode-endpoint tier; and

synchronizing the custodian-to-endpoint table with devices of other network domains to advertise the supernode endpoint to the other network domains.

9. The method of claim 1 , further comprising:

determining that the routing-data collection for the local domain includes an update to one or more routing-configuration descriptions;

disseminating an interest directed to the routing-data collection for the local domain;

in response to disseminating the interest, obtaining routing-configuration descriptions for the local domain;

determining a set of endpoint objects referenced by the routing-configuration descriptions; and

updating an in-memory custodian-to-endpoint table to include the determined set of endpoint objects.

10. The method of claim 1 , further comprising:

determining a target network device that is a destination for a data packet;

identifying an endpoint for the target network device using a custodian-to-endpoints table;

generating a directed network path to the identified endpoint based on via-domain descriptions for a plurality of network domains;

selecting an endpoint for a network domain at the start of the directed network path; and

sending the data packet to the selected endpoint.

11. A non-transitory computer-readable storage medium storing instructions that when executed by a computer cause the computer to perform a method, the method comprising:

determining a first network domain which is to function as a via for a local domain, wherein the via is to route data from other network devices to a predetermined endpoint of the local domain;

updating a via-domain description, within a routing-data collection for the local domain, to reference a via-domain description of the first network domain, thereby establishing the first network domain as the via for the local domain; and

synchronizing a network-configuration collection, which includes the routing-data collection for the local domain, with at least devices of the first network domain to provide the via-domain description to the first network domain.

12. The storage medium of claim 11 , wherein the method further comprises:

determining a second network domain which is to function as a proxy for the local domain, wherein the proxy is to communicate data to other network devices from a predetermined endpoint of the local domain;

updating a proxy-domain description, within a routing-data collection for the local domain, to reference the proxy-domain description of the second network domain, thereby establishing the second network domain as a proxy for the local domain; and

synchronizing the network-configuration collection, which includes the routing-data collection for the local domain, with at least devices of the second network domain to provide the proxy-domain description to the second network domain.

13. The storage medium of claim 12 , wherein the first and second network domains are different network domains, and wherein synchronizing the network-configuration collection involves:

restricting the via-domain description from being provided to devices of the second network domain; and

restricting the proxy-domain description from being provided to devices of the first network domain.

14. The storage medium of claim 12 , wherein the proxy configuration indicates one or more of:

an endpoint of the local domain from which devices of other network domains may receive packets from the local domain; and

a reference to the proxy-domain description for at least the second network domain.

15. The storage medium of claim 11 , wherein the network-configuration description also includes a via configuration which indicates one or more of:

an endpoint of the local domain, which other network domains may use to send packets to devices of the local domain; and

a reference to a via-domain description of the first network domain.

16. The storage medium of claim 11 , wherein the method further comprises:

determining a third network domain which has referenced the local domain as a via;

updating a transit-domain description, within the routing-data collection for the local domain, to reference a transit-domain description of the third network domain, thereby establishing the third network domain as a transit destination; and

synchronizing the routing-data collection for the local domain with devices of other network domains to provide a transit configuration to the other network domains.

17. The storage medium of claim 11 , wherein the method further comprises:

selecting an endpoint of the local domain to designate as a supernode endpoint that is to function as a network interface for a set of network domains;

assigning the selected endpoint to a supernode-endpoint tier;

updating a custodian-to-endpoint table to designate the local endpoint as a supernode endpoint, and to associate the selected endpoint to the corresponding supernode-endpoint tier; and

synchronizing the custodian-to-endpoint table with devices of other network domains to advertise the supernode endpoint to the other network domains.

18. The storage medium of claim 11 , wherein the method further comprises:

determining that the routing-data collection for the local domain includes an update to one or more routing-configuration descriptions;

disseminating an interest directed to the routing-data collection for the local domain;

in response to disseminating the interest, obtaining routing-configuration descriptions for the local domain;

determining a set of endpoint objects referenced by the routing-configuration descriptions; and

updating an in-memory custodian-to-endpoint table to include the determined set of endpoint objects.

19. The storage medium of claim 11 , wherein the method further comprises:

determining a target network device that is a destination for a data packet;

identifying an endpoint for the target network device using a custodian-to-endpoints table;

generating a directed network path to the identified endpoint based on via-domain descriptions for a plurality of network domains;

selecting an endpoint for a network domain at the start of the directed network path; and

sending the data packet to the selected endpoint.

20. An apparatus comprising: a processor; a memory; and a data storage device storing instructions that when executed implement modules comprising:

a network-configuring module to determine a first network domain which is to function as a via for a local domain, wherein the via is to route data from other network devices to a predetermined endpoint of the local domain;

a collection-managing module to update a via-domain description, within a routing-data collection for the local domain, to reference a via-domain description of the first network domain, thereby establishing the first network domain as a via the via for the local domain; and

a collection-synchronizing module to synchronize a network-configuration collection, which includes the routing-data collection for the local domain, with at least devices of the first network domain to provide the via-domain description to the first network domain.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 14, 2017
From: PALO ALTO RESEARCH CENTER INCORPORATED
To: CISCO SYSTEMS, INC.
Reel/Frame 041714/0373 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 14, 2017
From: CISCO SYSTEMS, INC.
To: CISCO TECHNOLOGY, INC.
Reel/Frame 041715/0001 →
ASSIGNMENT (IN PART) Recorded Dec 2, 2016
From: PALO ALTO RESEARCH CENTER INCORPORATED
To: PALO ALTO RESEARCH CENTER INCORPORATED; SAMSUNG ELECTRONICS CO., LTD
Reel/Frame 040818/0419 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 29, 2016
From: JACOBSON, VAN L.
To: PALO ALTO RESEARCH CENTER INCORPORATED
Reel/Frame 040457/0018 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 5, 2013
From: MOSKO, MARC E.
To: PALO ALTO RESEARCH CENTER INCORPORATED
Reel/Frame 030940/0831 →