Method and system for name resolution across heterogeneous architectures
View Patent ↗One embodiment of the present invention provides a system for resolving a name request in a network comprising a plurality of groups that use different name-resolution schemes. During operation, the system receives, at a first group, the name request; identifies a parent group of the first group, which is a member of the parent group; and in response to failing to resolve the name request within the first group, forwards the name request to the identified parent group.
1. A method for resolving a name request in a network, comprising:
receiving the name request by a network node of a first group of network nodes that are operating under a first name resolution scheme, wherein the name request is for a node of a second group;
identifying, by the network node of the first group, a parent group of the first group in a hierarchy of name resolution groups, wherein the first group is lower in the hierarchy than the parent group, and the parent group operates under a name resolution scheme that is different from the first name resolution scheme;
in response to failing to resolve the name request within the first group using the first name resolution scheme, forwarding the name request to the identified parent group;
receiving, by the network node through the parent group, a first response to the name request, wherein the parent group is higher in the hierarchy than both the first group and the second group, and the first response indicates a network address of a requested name of the name request and a network address of an intermediate node;
caching the network address of the requested name;
determining, based on the hierarchy of name resolution groups, whether a hierarchy level of the intermediate node is equal to or below the first group;
in response to the hierarchy level of the intermediate node being equal to or below the first group, caching the network address of the intermediate node, wherein a name request to a node can be sent immediately to the cached network address of the intermediate node bypassing the parent group; and
sending a second response to the name request based on the first response.
2. The method of claim 1 , further comprising:
in response to the parent group not responding to the name request, forwarding the name request to a grandparent group of the first group.
3. The method of claim 1 , further comprising:
determining that a cached entry associated with the name request exists; and
forwarding the name request or generating a response based on the cached entry.
4. The method of claim 1 , wherein the hierarchy of name resolution groups uses a plurality of name-resolution approaches, including one or more of:
Domain Name System (DNS);
multicast DNS (mDNS); and
distributed hash table (DHT) based name-resolution scheme.
5. The method of claim 1 , further comprising:
responding with an error message to the name request in response to failing to forward the name request.
6. A non-transitory computer-readable storage medium storing instructions that, when executed by a computer, cause the computer to perform a method for resolving a name request in a network, the method comprising:
receiving the name request by a network node of a first group of network nodes that are operating under a first name resolution scheme, wherein the name request is for a node of a second group;
identifying, by the network node of the first group, a parent group of the first group in a hierarchy of name resolution groups, wherein the first group is lower in the hierarchy than the parent group, and the parent group operates under a name resolution scheme that is different from the first name resolution scheme;
in response to failing to resolve the name request within the first group using the first name resolution scheme, forwarding the name request to the identified parent group;
receiving, through the parent group, a first response to the name request, wherein the parent group is higher in the hierarchy than both the first group and the second group, and the first response indicates a network address of a requested name of the name request and a network address of an intermediate node;
caching the network address of the requested name;
determining, based on the hierarchy of name resolution groups, whether a hierarchy level of the intermediate node is equal to or below the first group;
in response to the hierarchy level of the intermediate node being equal to or below the first group, caching the network address of the intermediate node, wherein a name request to a node can be sent immediately to the cached network address of the intermediate node bypassing the parent group; and
sending a second response to the name request based on the first response.
7. The computer-readable storage medium of claim 6 , wherein the method further comprises:
in response to the parent group not responding to the name request, forwarding the name request to a grandparent group of the group.
8. The computer-readable storage medium of claim 6 , wherein the method further comprises:
determining that a cached entry associated with the name request exists; and
forwarding the name request or generating a response based on the cached entry.
9. The computer-readable storage medium of claim 6 , wherein the hierarchy of name resolution groups uses a plurality of name-resolution approaches, including one or more of:
Domain Name System (DNS);
multicast DNS (mDNS); and
distributed hash table (DHT) based name-resolution scheme.
10. The computer-readable storage medium of claim 6 , wherein the method further comprises:
responding with an error message to the name request in response to failing to forward the name request.
11. A system comprising:
a plurality of groups of network nodes that operate under different name-resolution schemes, wherein a node of a first group of the plurality of groups of network nodes is a computing device with one or more processors and a memory and is configured for receiving a name request, for a node of a second group of the plurality of groups of network nodes, and the node is configured to:
identify, by the one or more processors, a parent group of the first group in a hierarchy of name resolution groups, wherein the first group is lower in the hierarchy than the parent group, and the parent group operates under a name resolution scheme that is different from a first name resolution scheme of the first group;
in response to failing to resolve the name request within the first group using the first name resolution scheme, forward the name request to the identified parent group;
receive, through the parent group, a first response to the name request, wherein the parent group is higher in the hierarchy than both the first group and the second group, and the first response indicates a network address of a requested name of the name request and a network address of an intermediate node;
cache the network address of the requested name;
determine, based on the hierarchy of name resolution groups, whether a hierarchy level of the intermediate node is equal to or below the first group;
in response to the hierarchy level of the intermediate node being equal to or below the first group, cache the network address of the intermediate node, wherein a name request to a node can be sent immediately to the cached network address of the intermediate node bypassing the parent group; and
send a second response to the name request based on the first response.
12. The system of claim 11 , wherein the node is further configured to, in response to the parent group not responding to the name request, forward the name request to a grandparent group of the first group.
13. The system of claim 11 , wherein the node is further configured to:
determine that a cached entry associated with the name request exists; and
forward the name request or generate a response based on the cached entry.
14. The system of claim 11 , wherein the hierarchy of name resolution groups uses a plurality of name-resolution approaches, including one or more of:
Domain Name System (DNS);
multicast DNS (mDNS); and
distributed hash table (DHT) based name-resolution scheme.
15. The system of claim 11 , wherein the node is further configured to respond with an error message to the name request in response to failing to forward the name request.