Private virtual LAN spanning a public network for connection of arbitrary hosts
First Claim
1. A computer-implemented networking system, comprising:
- a computing device having a processor for executing computer-executable components stored in memory, the computer-executable components including;
a management component for creating and managing a peer-to-peer (P2P) graph that overlays a private local area network which includes the computing device and a mobile device, the management component publishing name records of the computing device and the mobile device in the P2P graph to enable discovery of the computing device and the mobile device for P2P communications between nodes of the P2P graph, the management component including a local name resolver for resolving name records in the P2P graph, the local name resolver maintaining a list of peer identifiers, IP addresses, and name records published by the nodes of the P2P graph; and
an interface component for exposing the P2P graph to a public node of a public network as a virtual network interface card configured by the management component to;
receive packets from the public node of the public network, forward packets comprising name resolution requests to the management component for server-less name resolution of the name resolution requests by the local name resolver, and forward packets intended for a destination node of the P2P graph to the management component for routing the packets intended for the destination node of the P2P graph as P2P messages through the nodes of the P2P graph using the peer identifiers for enabling communication between the public node of the public network and the destination node of the P2P graph when an IP address of the mobile device changes.
2 Assignments
0 Petitions
Accused Products
Abstract
Architecture for exposing a virtual private network of peer devices into the public domain via an overlay network. Computing devices, peripheral devices, as well as mobile devices can be physically distributed, but appear to belong to the same virtual private (or home) network, and be accessible from anywhere. Benefits include access to user media/documents from anywhere, searching of all connected devices from one location, multicast and broadcast connectivity, management of the private network and the associated policies, and device discovery on the private network from across public networks. P2P networks and ad-hoc networks can be exposed as a virtual interface, as well as the utilization of client operating systems to create the virtual network, grouping, graphing, the integration with relay services and other NAT/firewall traversal schemes, and the creation of a P2P overlay manager on a physical NIC (network interface card) address rather than a virtual address.
-
Citations
20 Claims
-
1. A computer-implemented networking system, comprising:
-
a computing device having a processor for executing computer-executable components stored in memory, the computer-executable components including; a management component for creating and managing a peer-to-peer (P2P) graph that overlays a private local area network which includes the computing device and a mobile device, the management component publishing name records of the computing device and the mobile device in the P2P graph to enable discovery of the computing device and the mobile device for P2P communications between nodes of the P2P graph, the management component including a local name resolver for resolving name records in the P2P graph, the local name resolver maintaining a list of peer identifiers, IP addresses, and name records published by the nodes of the P2P graph; and an interface component for exposing the P2P graph to a public node of a public network as a virtual network interface card configured by the management component to; receive packets from the public node of the public network, forward packets comprising name resolution requests to the management component for server-less name resolution of the name resolution requests by the local name resolver, and forward packets intended for a destination node of the P2P graph to the management component for routing the packets intended for the destination node of the P2P graph as P2P messages through the nodes of the P2P graph using the peer identifiers for enabling communication between the public node of the public network and the destination node of the P2P graph when an IP address of the mobile device changes. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A computer-implemented method of networking devices, comprising:
-
creating, by a user application on client computing device, a peer-to-peer (P2P) graph that overlays a private local area network which includes the client computing device and a mobile device, the client computing device comprising a physical network interface card and a virtual network interface card (VNIC); publishing, by the user application, name records of the client computing device and the mobile device in the P2P graph to enable discovery of the client computing device and the mobile device for P2P communications between nodes of the P2P graph, the user application comprising a local name resolver for resolving name records in the P2P graph; maintaining, by the local name resolver, a list of peer identifiers, IP addresses, and name records published by the nodes of the P2P graph; exposing, by the VNIC, the P2P graph to a public node of a public network; receiving, by the VNIC, Internet Protocol (IP) traffic from the public node of the public network; forwarding, by the VNIC, IP packets comprising name resolution requests to the management component for server-less name resolution of the name resolution requests by the local name resolver; forwarding, by the VNIC, IP packets intended for a destination node of the P2P graph to the user application; and routing, by the user application, the IP packets intended for the destination node of the P2P graph as P2P messages through the nodes of the P2P graph for enabling communication between the public node of the public network and the destination node of the P2P graph when an IP address of the mobile device changes. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19)
-
-
20. A computer-readable storage device storing computer-executable instructions that, when executed, cause a computing device to performs steps comprising:
-
creating, via a user application, a peer-to-peer (P2P) graph that overlays a private local area network which includes the computing device and a mobile device; publishing, by the user application, name records of the computing device and the mobile device in the P2P graph to enable discovery of the computing device and the mobile device for P2P communications between nodes of the P2P graph, the user application comprising a local name resolver for resolving name records in the P2P graph; maintaining, by the local name resolver, a list of peer identifiers, IP addresses, and name records published by the nodes of the P2P graph; configuring, via the user application, a virtual network interface card to; expose the P2P graph to a public node of a public network, receive packets from the public node of the public network, forward packets comprising name resolution requests to the management component for server-less name resolution of the name resolution requests by the local name resolver, and forward packets intended for a destination node of the P2P graph to the user application for routing the packets intended for the destination node of the P2P graph as P2P messages through the nodes of the P2P graph using the peer identifiers for enabling communication between the public node of the public network and the destination node of the P2P graph when an IP address of the mobile device changes.
-
Specification