Domain name routing
DCFirst Claim
1. A method for communicating with entities in a private network, comprising the steps of:
- initiating communication with a first entity, said communication is initiated from outside said private network using a unique identifier, said unique identifier is not an IP address, said unique identifier is used below an application layer, said first entity is in said private network, said first entity is an addressable physical entity that does not have a globally unique address; and
communicating messages toward said first entity that reach said first entity via an intermediate entity, said intermediate entity has a first global address.
5 Assignments
Litigations
0 Petitions
Accused Products
Abstract
The present invention provides for a Domain Name Router (DNR) that uses domain names to route data sent to a destination on a network (e.g., a stub network). Each corporate entity or stub network can be assigned one or a small number of global addresses. Each of the hosts on the stub network can be assigned a local address. When a source entity sends data to a destination entity with a local address, the data is sent to the DNR using a global address. The source entity embeds the destination'"'"'s domain name and its own domain name inside the data. The DNR extracts the destination'"'"'s domain name from the data, translates that domain name to a local address and sends the data to the destination.
108 Citations
47 Claims
-
1. A method for communicating with entities in a private network, comprising the steps of:
-
initiating communication with a first entity, said communication is initiated from outside said private network using a unique identifier, said unique identifier is not an IP address, said unique identifier is used below an application layer, said first entity is in said private network, said first entity is an addressable physical entity that does not have a globally unique address; and
communicating messages toward said first entity that reach said first entity via an intermediate entity, said intermediate entity has a first global address. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
said unique identifier includes a domain name.
-
-
3. A method according to claim 1, wherein:
said unique identifier includes a string.
-
4. A method according to claim 1, wherein:
said unique identifier includes information representing said domain name.
-
5. A method according to claim 1, wherein:
said step of initiating is performed using a source entity and said intermediate entity.
-
6. A method according to claim 1, wherein said step of initiating includes the step of:
identifying said first entity using said unique identifier.
-
7. A method according to claim 1, wherein said step of initiating includes the step of:
requesting an identification of said first entity using said unique identifier.
-
8. A method according to claim 1, wherein:
said unique identifier is used at a network layer.
-
9. A method according to claim 1, wherein:
said unique identifier is used at a transport layer.
-
10. A method according to claim 1, further including the steps of:
-
receiving a particular message at said intermediate entity, said particular message includes said unique identifier and said first global address;
determining a local address for said first entity based on said unique identifier; and
sending said particular message to said first entity based on said local address.
-
-
11. A method according to claim 10, wherein:
-
said unique identifier includes a domain name; and
said domain name is used at a network layer.
-
-
12. One or more processor readable storage devices having processor readable code embodied on said processor readable storage devices, said processor readable code for programming a processor to perform a method for communicating with entities in a private network, said method comprising the steps of;
-
initiating communication with a first entity, said communication is initiated from outside said private network using a unique identifier, said unique identifier is not an IP address, said unique identifier is used below an application layer, said first entity is in said private network, said first entity is an addressable physical entity that does not have a globally unique address; and
communicating messages toward said first entity that reach said first entity via an intermediate entity, said intermediate entity has a first global address. - View Dependent Claims (13, 14, 15, 16)
said unique identifier includes a domain name.
-
-
14. One or more processor readable storage devices according to claim 12, wherein:
said step of initiating is performed using a source entity and said intermediate entity.
-
15. One or more processor readable storage devices according to claim 12, wherein:
said unique identifier is used at a network layer.
-
16. One or more processor readable storage devices according to claim 12, wherein said method further comprises the steps of:
-
receiving a particular message at said intermediate entity, said particular message includes said unique identifier and said first global address of said intermediate entity, said first entity has a local address;
determining said local address based on said unique identifier; and
sending said particular message to said first entity based on said local address.
-
-
17. A method for supporting communication, comprising the steps of:
-
receiving a message from a first entity, said message includes a unique identifier other than an IP address, said unique identifier identifies a second entity, said second entity does not have a globally unique IP address, said second entity is in a private network, said first entity is outside said private network;
using said unique identifier to access a local address that is not globally unique, said step of using is performed below an application layer, said local address corresponds to said second entity; and
providing said local address in response to said message. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25, 26, 27)
said unique identifier includes a domain name.
-
-
19. A method according to claim 17, wherein:
said unique identifier includes information representing said domain name.
-
20. A method according to claim 17, further comprising the step of:
facilitating communication between said first entity and said second entity using said local address.
-
21. A method according to claim 17, further comprising the step of:
- adding said local address to said message and sending said message to said second entity.
-
22. A method according to claim 21, wherein:
said unique identifier includes a domain name.
-
23. A method according to claim 17, wherein:
said step of using includes accessing a table that correlates unique identifiers to local addresses.
-
24. A method according to claim 17, wherein:
-
said received message includes a destination address; and
said destination address corresponds to each entity in a set of entities, said set of entities includes said second entity and does not includes said first entity.
-
-
25. A method according to claim 24, further including the step of:
sending at least a portion of said message toward said second entity based on said local address.
-
26. A method according to claim 17, wherein:
said message is an initial communication between said first entity and said second entity.
-
27. A method according to claim 17, wherein:
said step of using is performed at a network layer.
-
28. One or more processor readable storage devices having processor readable code embodied on said processor readable storage devices, said processor readable code for programming a processor to perform a method comprising the steps of:
-
receiving a message from a first entity, said message includes a unique identifier other than an IP address, said unique identifier identifies a second entity, said second entity does not have a globally unique IP address, said second entity is in a private network, said first entity is outside said private network;
using said unique identifier to access a local address that is not globally unique, said unique identifier is used below an application layer, said local address corresponds to said second entity; and
providing said local address in response to said message. - View Dependent Claims (29, 30, 31, 32, 33)
said unique identifier includes a domain name.
-
-
30. One or more processor readable storage devices according to claim 28, further comprising the step of:
facilitating communication between said first entity and said second entity using said local address.
-
31. One or more processor readable storage devices according to claim 28, wherein:
-
said received message includes a destination address;
said destination address corresponds to each entity in a set of entities, said set of entities includes said second entity and does not includes said first entity; and
said method further includes the step of sending at least a portion of said message toward said second entity based on said local address.
-
-
32. One or more processor readable storage devices according to claim 28, wherein:
said message is an initiation of communication between said first entity and said second entity.
-
33. One or more processor readable storage devices according to claim 28, wherein:
said step of using is performed at a network layer.
-
34. A method for communicating data, comprising the steps of:
-
receiving a data unit, said data unit includes a destination address and a first set of information separate from said destination address, said first set of information is not an IP address, said destination address corresponds to each entity in a set of entities, said first information corresponds to a subset of said set of entities, said subset of said entities includes a first entity; and
sending said data unit toward said first entity, said step of sending includes addressing said data unit using said first information, said first information is used below an application layer. - View Dependent Claims (35, 36, 37, 38, 39, 40, 41)
said first information includes a domain name.
-
-
36. A method according to claim 34, wherein:
said first information includes information representing a domain name.
-
37. A method according to claim 34, wherein said step of sending includes:
using said first information to identify a local address, said step of sending includes sending said data unit using said local address, said local address corresponds to said first entity, said step of using said first information to identify a local address is performed below an application layer.
-
38. A method according to claim 37, wherein:
said first information includes a domain name.
-
39. A method according to claim 34, wherein said step of sending includes:
using said first information to identify a local address and editing said data unit to add said local address, said local address corresponds to said first entity, said step of using said first information to identify a local address is performed below an application layer.
-
40. A method according to claim 34, wherein:
said data unit is an initial communication between said a source entity and said first entity, said first entity is inside a private network, said first entity does not have a globally unique address, said source entity is outside said private network.
-
41. A method according to claim 40, wherein:
said first information is used at a network layer.
-
42. An apparatus used to communicate data, comprising:
-
a processor;
at least one network interface in communication with said processor; and
a processor readable storage medium in communication with said processor, said processor readable storage medium storing code for programming said processor to perform a method comprising the steps of;
receiving a data unit, said data unit includes a destination address and a first set of information separate from said destination address, said first set of information is not an IP address, said destination address corresponds to each entity in a set of entities, said first information corresponds to a subset of said set of entities, said subset of said entities includes a first entity, and sending said data unit toward said first entity, said step of sending includes addressing said data unit using said first information, said first information is used below an application layer. - View Dependent Claims (43, 44, 45, 46, 47)
said first information includes a domain name.
-
-
44. An apparatus according to claim 42, wherein said step of sending includes:
using said first information to identify a local address, said step of sending includes sending said data unit using said local address, said local address corresponds to said first entity, said step of using said first information to identify a local address is performed below an application layer.
-
45. An apparatus according to claim 42, wherein said step of sending includes:
using said first information to identify a local address and editing said data unit to add said local address, said local address corresponds to said first entity.
-
46. An apparatus according to claim 42, wherein:
said data unit is an initial communication between said a source entity and said first entity, said first entity is inside a private network, said first entity does not have a global address, said source entity is outside said private network.
-
47. An apparatus according to claim 42, wherein:
said first information is used at a network layer.
Specification