IP Library › Granted Patent US 10,917,926
Granted Patent B2
US 10,917,926 · App. 15/984,243 · Granted Feb 9, 2021

Establishing a private network using multi-uplink capable network devices

Inventors: Robert Tristan Shanks (San Mateo, CA); Jignesh Devji Patel (Fremont, CA); Patrick Douglas Verkaik (San Francisco, CA); Selahattin Daghan Altas (San Francisco, CA); Joseph Morgan Aronow (Oceanside, CA); Justin Delegard (San Francisco, CA); Dylan Jason Koenig (San Francisco, CA)
Assignee: CISCO TECHNOLOGY, INC.
H04W76/12H04L61/256H04L61/2592H04L63/029H04L63/0272H04W76/11H04L61/2514H04L61/2517
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 10,917,926
App. No.
15/984,243
Granted
Feb 9, 2021
Kind
B2
Abstract

Various implementations disclosed herein include systems, methods and apparatuses of a first device, that obtain contact point information of a second device associated with the first device, as a peer device in a private network, where the contact point information of the second device includes one or more peer uplink identifiers and each respective peer uplink identifier corresponds to a respective peer device uplink of the second device. The systems, methods and apparatuses establish a first private network data tunnel from a first uplink of the first device to the second device, using the contact point information of the second device, and a first uplink identifier associated with the first uplink, and establish a second private network data tunnel from a second uplink of the first device to the second device, using the contact point information of the second device, and a second uplink identifier associated with the second uplink.

Claims (82)

1. A method comprising:

receiving a first registry request message from one of a plurality of uplinks of a device, each of the plurality of uplinks associated with one of a plurality of uplink identifiers, the first registry request message including a first portion and a second portion, the first portion characterized by a first write privilege, the second portion characterized by a second write privilege more restrictive than the first write privilege, the first portion and/or the second portion including device contact point information associated with the one of the plurality of uplinks;

obtaining first peer contact point information corresponding to one or more peer device uplinks of one or more peer devices of the device by retrieving the first peer contact point information from a contact point registry; and

generating a first response message including the first peer contact point information.

2. The method of claim 1 , wherein the contact point registry includes a respective entry corresponding to each respective peer uplink identifier of one or more peer devices and each respective uplink identifier of the device.

3. The method of claim 2 , further comprising:

determining the device contact point information associated with the one of the plurality of uplinks by identifying a first Internet Protocol (IP) address and a first port number from the first portion of the first registry request message and a second IP address and a second port number from the second portion of the first registry request message; and

updating the contact point registry with the device contact point information, in accordance with a determination that a first entry in the contact point registry corresponding to the one of the plurality of uplinks does not contain the device contact point information.

4. The method of claim 2 , further comprising:

determining a first peer device identifier identifying a first peer device and one or more peer uplink identifiers from the first registry request message, at least one of the one or more peer uplink identifiers identifies a respective peer device uplink of the first peer device; and

obtaining the first peer contact point information from the contact point registry using the first peer device identifier and the one or more peer uplink identifiers.

5. The method of claim 2 ,

wherein,

the contact point registry includes one or more entries associated with the device,

each respective entry corresponds to a respective uplink identifier of the device,

and

each entry includes the one or more peer uplink identifiers of the first registry request message.

6. The method of claim 1 ,

wherein,

the first portion of the first registry request message includes a header,

the header includes a portion of the device contact point information associated with the one of the plurality of uplinks,

the portion of the device contact point information is public device contact point information associated with the one of the plurality of uplinks,

the second portion of the first registry request message includes a payload,

the payload includes another portion of the device contact point information associated with the one of the plurality of uplinks, and

the another portion of the device contact point information is private device contact point information associated with the one of the plurality of uplinks.

7. The method of claim 1 , further comprising:

receiving a second registry request message from a second uplink of another device having two or more uplinks;

retrieving second peer contact point information corresponding to one or more peer device uplinks of one or more respective peer devices of the another device; and

generating a second response message including the second peer contact point information.

8. A device comprising:

a shared contact point network entity having a memory, a non-transitory machine readable medium including instructions which, when executed by one or more processors, cause the device to perform steps for:

receiving a first registry request message from one of a plurality of uplinks of the device, each of the plurality of uplinks associated with one of a plurality of uplink identifiers, the first registry request message including a first portion and a second portion, the first portion characterized by a first write privilege, the second portion characterized by a second write privilege more restrictive than the first write privilege, the first portion and/or the second portion including device contact point information associated with the one of the plurality of uplinks;

obtaining first peer contact point information corresponding to one or more peer device uplinks of one or more peer devices of the device by retrieving the first peer contact point information from a contact point registry; and

generating a first response message including the first peer contact point information.

9. The device of claim 8 , wherein the contact point registry includes a respective entry corresponding to each respective peer uplink identifier of one or more peer devices and each respective uplink identifier of the device.

10. The device of claim 9 , further comprising:

determining the device contact point information associated with the one of the plurality of uplinks by identifying a first Internet Protocol (IP) address and a first port number from the first portion of the first registry request message and a second IP address and a second port number from the second portion of the first registry request message; and

updating the contact point registry with the device contact point information, in accordance with a determination that a first entry in the contact point registry corresponding to the one of the plurality of uplinks does not contain the device contact point information.

11. The device of claim 9 , further comprising:

determining a first peer device identifier identifying a first peer device and one or more peer uplink identifiers from the first registry request message, wherein at least one peer uplink identifier identifies a respective peer device uplink of the first peer device; and

obtaining the first peer contact point information from the contact point registry using the first peer device identifier and the one or more peer uplink identifiers.

12. The device of claim 9 ,

wherein,

the contact point registry includes one or more entries associated with the device,

each of the one or more entries corresponds to a respective uplink identifier of the device, and

each of the one or more entries includes the one or more peer uplink identifiers of the first registry request message.

13. The device of claim 8 ,

wherein,

the first portion of the first registry request message includes a header,

the header includes a portion of the device contact point information associated with the one of the plurality of uplinks,

the portion of the device contact point information is public device contact point information associated with the one of the plurality of uplinks,

the second portion of the first registry request message includes a payload,

the payload includes another portion of the device contact point information associated with the one of the plurality of uplinks, and

the another portion of the device contact point information is private device contact point information associated with the one of the plurality of uplinks.

14. The device of claim 8 , further comprising:

receiving a second registry request message from a second uplink of another device having two or more uplinks;

retrieving second peer contact point information corresponding to one or more peer device uplinks of one or more respective peer devices of the another device; and

generating a second response message including the second peer contact point information.

15. A non-transitory machine readable medium storing instructions which, when executed by one or more processors of a device with two or more communications ports, cause the device to perform steps comprising:

receiving a first registry request message from one of a plurality of uplinks of the device, each of the plurality of uplinks associated with one of a plurality of uplink identifiers, the first registry request message including a first portion and a second portion, the first portion characterized by a first write privilege, the second portion characterized by a second write privilege more restrictive than different from the first write privilege, the first portion and/or the second portion including device contact point information associated with the one of the plurality of uplinks;

obtaining first peer contact point information corresponding to one or more peer device uplinks of one or more peer devices of the device by retrieving the first peer contact point information from a contact point registry; and

generating a first response message including the first peer contact point information.

16. The non-transitory machine readable medium of claim 15 , wherein the contact point registry includes a respective entry corresponding to each respective peer uplink identifier of one or more peer devices and each respective uplink identifier of the device.

17. The non-transitory machine readable medium of claim 16 , wherein the steps include:

determining the device contact point information associated with the one of the plurality of uplinks by identifying a first Internet Protocol (IP) address and a first port number from the first portion of the first registry request message and a second IP address and a second port number from the second portion of the first registry request message; and

updating the contact point registry with the device contact point information, in accordance with a determination that a first entry in the contact point registry corresponding to the one of the plurality of uplinks does not contain the device contact point information.

18. The non-transitory machine readable medium of claim 16 , wherein the steps include:

determining a first peer device identifier identifying a first peer device and one or more peer uplink identifiers from the first registry request message, wherein at least one peer uplink identifier identifies a respective peer device uplink of the first peer device; and

obtaining the first peer contact point information from the contact point registry using the first peer device identifier and the one or more peer uplink identifiers.

19. The non-transitory machine readable medium of claim 16 ,

wherein,

the contact point registry includes one or more entries associated with the device,

each respective entry corresponds to a respective uplink identifier of the device, and

each entry includes the one or more peer uplink identifiers of the first registry request message.

20. The non-transitory machine readable medium of claim 15 ,

wherein,

the first portion of the first registry request message includes a header,

the header includes a portion of the device contact point information associated with the one of the plurality of uplinks,

the portion of the device contact point information is public device contact point information associated with the one of the plurality of uplinks,

the second portion of the first registry request message includes a payload,

the payload includes another portion of the device contact point information associated with the one of the plurality of uplinks, and

the another portion of the device contact point information is private device contact point information associated with the one of the plurality of uplinks.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 18, 2019
From: SHANKS, ROBERT TRISTAN; PATEL, JIGNESH DEVJI; VERKAIK, PATRICK DOUGLAS; ALTAS, SELAHATTIN DAGHAN; ARONOW, JOSEPH MORGAN; DELEGARD, JUSTIN; KOENIG, DYLAN JASON
To: CISCO TECHNOLOGY, INC.
Reel/Frame 049786/0891 →
Continuity (2)
Continuation 14974331 · Dec 18, 2015
Related Publication 20190141761A1 · May 9, 2019