Distributed routing table architecture and design
First Claim
1. One or more computer-readable media comprising computer-executable instructions for creating a node instance, the node instance representing an endpoint of a distributed routing table mesh, the computer-executable instructions directed to steps comprising:
- selecting a transport module in accordance with a network transport used for the distributed routing table mesh;
instantiating the transport module;
selecting a bootstrap module in accordance with a predefined mechanism for initiating communication with other nodes of the distributed routing table mesh;
instantiating the bootstrap module;
selecting a security module in accordance with one or more security mechanisms associated with the distributed routing table mesh;
instantiating the security module; and
instantiating a node module for utilizing the transport module, the bootstrap module and the security module to participate in the distributed routing table mesh.
2 Assignments
0 Petitions
Accused Products
Abstract
A Distributed Routing Table (DRT) mesh can comprise two or more nodes, each of which maintains its own routing table that represents some or all of the overall routing knowledge of the DRT mesh. Each node can be comprised of modular components that can perform various defined functions such that the features and abilities of the node can be customized by an application based on which modular components are instantiated. A routing table management module can maintain individual routing tables at each node, and can ensure that only entries that are close to the node, in a network topology sense, are maintained in the routing table. In addition, a security module can verify received messages based on an agreed-upon root certificate.
-
Citations
20 Claims
-
1. One or more computer-readable media comprising computer-executable instructions for creating a node instance, the node instance representing an endpoint of a distributed routing table mesh, the computer-executable instructions directed to steps comprising:
-
selecting a transport module in accordance with a network transport used for the distributed routing table mesh; instantiating the transport module; selecting a bootstrap module in accordance with a predefined mechanism for initiating communication with other nodes of the distributed routing table mesh; instantiating the bootstrap module; selecting a security module in accordance with one or more security mechanisms associated with the distributed routing table mesh; instantiating the security module; and instantiating a node module for utilizing the transport module, the bootstrap module and the security module to participate in the distributed routing table mesh. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. One or more computer-readable media comprising computer-executable instructions for maintaining a routing table associated with a node instance, the node instance representing an endpoint of a distributed routing table mesh, the computer-executable instructions directed to steps comprising:
-
determining a first distance according to a network topology between a first node associated with a first key and the node instance; determining a second distance according to the network topology between a second node associated with a second key and the node instance; maintaining the routing table associated with the node instance to include an entry associated with the first node, the entry comprising the first key and a first routing from the node instance to the first node, if the first distance is less than the second distance; and maintaining the routing table associated with the node instance to include an entry associated with the second node, the entry comprising the second key and a second routing from the node instance to the second node, if the second distance is less than the first distance. - View Dependent Claims (11, 12, 13, 14, 15)
-
-
16. One or more computer-readable media comprising computer-executable instructions for verifying messages, the computer-executable instructions directed to steps comprising:
-
receiving a request to verify a message received by a node instance in a distributed routing table mesh from another node in the distributed routing table mesh, wherein the distributed routing table mesh is associated with at least one root certificate; receiving a certificate associated with the message, the certificate comprising a public key; verifying that the public key decodes the message; and verifying that the certificate is either the at least one root certificate, or that the certificate derives from the at least one root certificate. - View Dependent Claims (17, 18, 19, 20)
-
Specification