System and method for reducing latencies while translating internet host name-address bindings
First Claim
1. In a distributed network of host computers, a computer implemented method for translating names and addresses of the host computers, comprising the steps of:
- collecting the names of substantially all of the host computers by probing the network from a collecting site;
obtaining a name-address binding for each of the collected names;
storing the name-address bindings in a memory;
receiving translation requests for any of the name-address bindings stored in the memory, the translation requests including first translate requests for any of the name-address bindings stored in the memory; and
replying the name-address bindings in response to the translation requests including the first translation requests to avoid compulsory misses.
8 Assignments
0 Petitions
Accused Products
Abstract
In a distributed network of host computers, a system and method are provided for translating names and addresses of the host computers. The names of a substantial number of all of the host computers of the network are collected by probing the network from a collecting site. The names are stored in a table. Name-address bindings, which may include time-to-live information, are obtained for each of the collected names. The name-address bindings can be compressed and transferred to a cache memory of a recipient computer, such as, for example, a proxy server. The recipient computer receives translation requests for any of the name-address bindings stored in the memory. These translation requests can include first translation requests for the any of the name-address bindings stored in the memory. In response to the requests, including the first requests, the recipient computer replies the name-address bindings to reduce response latencies.
-
Citations
29 Claims
-
1. In a distributed network of host computers, a computer implemented method for translating names and addresses of the host computers, comprising the steps of:
-
collecting the names of substantially all of the host computers by probing the network from a collecting site;
obtaining a name-address binding for each of the collected names;
storing the name-address bindings in a memory;
receiving translation requests for any of the name-address bindings stored in the memory, the translation requests including first translate requests for any of the name-address bindings stored in the memory; and
replying the name-address bindings in response to the translation requests including the first translation requests to avoid compulsory misses. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
compressing the name-address bindings in the memory.
-
-
7. The method of claim 1, further comprising the step of:
obtaining a time-to-live value for each of the name-address bindings.
-
8. The method of claim 7 including a recipient computer including a cache memory for storing the name-address bindings.
-
9. The method of claim 8 including transferring the name address bindings from the collecting site to the cache memory of the proxy server computer.
-
10. The method of claim 9 including compressing the name-address bindings prior to transferring.
-
11. The method of claim 7 including a plurality of recipient computers, each recipient computer including a cache memory for storing a copy of the name-address bindings.
-
12. The method of claim 11 including transferring a copy of the name address bindings from the collecting site to each cache memory of each recipient computer.
-
13. The method of claim 12 wherein the copies of the name-address bindings are transferred from the collecting site to each cache memory of each server computer over the network in a multi-cast mode.
-
14. The method of claim 13 including encrypting each copy of the name-address bindings prior to transferring.
-
15. The method of claim 13 including compressing each copy of the name-address bindings prior to transferring.
-
16. The method of claim 7 wherein the name-address bindings are obtained from a distributed name system connected to the network.
-
17. The method of claim 7 including incrementally updating the name address bindings after collecting the names.
-
18. The method of claim 1 wherein each name-address binding includes a time-to-live value, and replying the name-address bindings for a particular translation request only if the time-to-live value is valid.
-
19. The method of claim 18 wherein the time-to-live values are incrementally updated after collecting the names to avoid time-out misses.
-
20. The method of claim 19 including only updating time-to-live values that are less than or equal to actual time-to-live values.
-
21. The method of claim 19 wherein the updating of the time-to-live values includes a bit vector, there being one bit for each time-to-live value, each bit indicating whether the corresponding time-to-live value is valid for a predetermined amount of time.
-
22. The method of claim 1 wherein the collecting site is distributed over a plurality of computers.
-
23. In a distributed network of host computers, a system for translating names and addresses of the host computers, comprising:
-
a collecting site probing the network for names of substantially all of the host computers;
a distributed name system connected to the network for obtaining name-address bindings for the collected names;
a recipient computer connected to the network, the proxy server computer including a memory for storing the name-address bindings;
means for receiving translation requests for any of the name-address bindings stored in the memory, the translation requests including first translation requests for any of the name-address bindings stored in the memory; and
means for replying the name-address bindings in response to the translation requests including the first request translation requests to reduce response latencies. - View Dependent Claims (24)
-
-
25. In a distributed network of host computers, a computer implemented method for translating names and addresses of the host computers, comprising the steps of:
-
collecting names of host computers by probing the network from a collecting site;
obtaining a name-address binding for each of the collected names;
storing a copy of the name-address bindings in a cache memory of each of a plurality of recipient computers;
receiving translation requests for any of the name-address bindings stored in the memory, the translation requests including first translate requests for any of the name-address bindings stored in the memory;
replying the name-address bindings in response to the translation requests including the first translation requests to avoid compulsory misses.
-
-
26. In a distributed network of host computers, a computer implemented method for translating names and addresses of the host computers, comprising:
-
collecting names of host computers by probing the network from a collecting site;
storing a table containing the collected names;
transferring the table to recipient computers each of which having a cache memory;
loading the table into the cache memory of each of the recipient computers;
obtaining and including in the table a name-address binding with an associated time-to-live value for each of the collected names;
storing a copy of the table containing the name-address bindings and associated time-to-live value in the cache memory of each of the recipient computers;
receiving translation requests including first translation requests for any of the name-address bindings; and
replying the name-address bindings in response to the translation requests including the first translation requests to avoid compulsory misses. - View Dependent Claims (27, 28, 29)
compressing the table; and
after transferring the table to the recipient computers, decompressing the table.
-
-
28. The computer implemented method wherein of claim 26 the collecting site sends the table to the recipient computers as a multicast.
-
29. The computer implemented method wherein of claim 26 the obtaining and including in the table of the name-address binding with the associated time-to-live value can be accomplished in the collecting site or the recipient computers.
Specification