Dynamically incorporating updates to active configuration information
First Claim
1. A method for a name server computer to dynamically update Domain Name System (DNS) resource records (RRs) that each contain mapping information associating a domain name with an Internet Protocol (IP) address, the mapping information for each DNS RR stored in one of multiple zone data files on a hard drive and in active use, the dynamic updating using an update file distinct from the zone data files to determine if any of the stored zone data files have updated DNS information without having to read or check each of the files, the method comprising:
- reading the mapping information for each of the DNS RRs from each of the multiple stored zone data files, and caching the read mapping information in temporary memory for use in responding to requests for mapping information;
repeatedly receiving requests from clients for mapping information for an indicated one of the DNS RRs, and in response to each request sending the cached mapping information for the indicated DNS RR to the requesting client;
receiving an indication of a change to the mapping information for a first of the DNS RRs;
determining that the mapping information for the first DNS RR is in a first stored zone data file, and updating the first stored zone data file so that the first DNS RR contains the changed mapping information;
modifying the update file to indicate that the first stored zone data file has been updated; and
before sending the mapping information for the first DNS RR to a client, reading the modified update file to determine that the first stored zone data file has been updated; and
upon determining that the first stored zone data file has been updated, reading the changed mapping information for the first DNS RR from the updated first stored zone data file and replacing the previously cached mapping information for the first DNS RR with the read changed mapping information, so that the mapping information for the first DNS RR is dynamically updated after a change such that the next request for first DNS RR information will receive the changed information.
19 Assignments
0 Petitions
Accused Products
Abstract
A method, system, and computer-readable medium is described for dynamically incorporating updates to configuration information in active use and for providing access to the updated configuration information as appropriate. In some situations, the configuration information being dynamically updated is various types of Domain Name System (DNS) information, including DNS resource records, configuration records, whois records, and delegation records. Depending on the manner in which configuration information is stored and used by a computer, that configuration information can be dynamically updated in different manners. When configuration information is stored in multiple data files and is also cached in memory, an update file can be maintained to indicate the stored data files that have been updated more recently than their corresponding cached information. Alternately, an update file can be maintained for configuration information stored using other storage schemes such as a database, and data structures other than a file can be used to hold the update information.
-
Citations
63 Claims
-
1. A method for a name server computer to dynamically update Domain Name System (DNS) resource records (RRs) that each contain mapping information associating a domain name with an Internet Protocol (IP) address, the mapping information for each DNS RR stored in one of multiple zone data files on a hard drive and in active use, the dynamic updating using an update file distinct from the zone data files to determine if any of the stored zone data files have updated DNS information without having to read or check each of the files, the method comprising:
-
reading the mapping information for each of the DNS RRs from each of the multiple stored zone data files, and caching the read mapping information in temporary memory for use in responding to requests for mapping information;
repeatedly receiving requests from clients for mapping information for an indicated one of the DNS RRs, and in response to each request sending the cached mapping information for the indicated DNS RR to the requesting client;
receiving an indication of a change to the mapping information for a first of the DNS RRs;
determining that the mapping information for the first DNS RR is in a first stored zone data file, and updating the first stored zone data file so that the first DNS RR contains the changed mapping information;
modifying the update file to indicate that the first stored zone data file has been updated; and
before sending the mapping information for the first DNS RR to a client, reading the modified update file to determine that the first stored zone data file has been updated; and
upon determining that the first stored zone data file has been updated, reading the changed mapping information for the first DNS RR from the updated first stored zone data file and replacing the previously cached mapping information for the first DNS RR with the read changed mapping information, so that the mapping information for the first DNS RR is dynamically updated after a change such that the next request for first DNS RR information will receive the changed information. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
determining that all of the mapping information is to be reread; and
rereading the mapping information for each of the DNS RRs from each of the multiple stored zone data files, and replacing the cached mapping information read from each of the DNS RRs with the read mapping information from that DNS RR.
-
-
4. The method of claim 3 wherein the rereading of the mapping information occurs after the modifying of the update file and before the reading of the modified update file, and including modifying the update file so that it does not indicate that the first stored zone data file has been updated.
-
5. The method of claim 1 including, after the replacing of the previously cached mapping information for the first DNS RR with the read changed mapping information, modifying the update file so that it does not indicate that the first stored zone data file has been updated.
-
6. The method of claim 1 wherein there are thousands of zone data files.
-
7. The method of claim 1 including checking the update file on a periodic basis to determine if any stored zone data files have been updated.
-
8. The method of claim 1 including performing the dynamic updating for types of stored DNS information that are cached in memory other than the DNS RRs.
-
9. A computer-implemented method for dynamically updating Domain Name System (DNS) information that is stored in one or more data files and is cached in memory, the dynamic updating performed using a update file distinct from the stored data files to determine if any of the stored data files have updated DNS information, the method comprising:
-
after the stored DNS information from the data files has been cached in memory, receiving multiple requests from clients for DNS information; and
in response to each received request, sending corresponding cached DNS information to the requesting client; and
after the stored DNS information in the data files is updated but the cached DNS information has not been updated, receiving a request from a first client for the DNS information;
determining that the update file indicates that the stored DNS information has changed to include updated DNS information;
in response to the determining, retrieving the updated DNS information;
caching the retrieved updated DNS information; and
sending the retrieved updated DNS information to the first client. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34)
periodically determining that all of the cached DNS information is to be replaced with a current version of the DNS information in the stored data files; and
after the determining, retrieving the DNS information from each of the stored data files and replacing the cached DNS information corresponding to each stored data file with the retrieved DNS information from that stored data file.
-
-
12. The method of claim 11 including modifying the update file after the determining so that it does not indicate that any stored DNS information has changed.
-
13. The method of claim 9 including:
-
receiving an indication from a user to replace all of the cached DNS information with a current version of the DNS information in the stored data files; and
retrieving the DNS information from each of the stored data files and replacing the cached DNS information corresponding to each stored data file with the retrieved DNS information from that stored data file.
-
-
14. The method of claim 9 including, after the retrieving of the updated DNS information, modifying the update file so that it does not indicate that any stored DNS information has changed.
-
15. The method of claim 9 wherein the determining that the update file indicates that the stored DNS information has changed is based on an indication from a user to change the stored DNS information in a specified manner.
-
16. The method of claim 9 wherein the determining that the update file indicates that the stored DNS information has changed is based on the existence of the update file.
-
17. The method of claim 9 wherein the determining that the update file indicates that the stored DNS information has changed is based on a most recent modification time of the update file.
-
18. The method of claim 9 wherein the determining that the update file indicates that the stored DNS information has changed is based on periodic checking of the update file.
-
19. The method of claim 9 wherein the determining that the update file indicates that the stored DNS information has changed is based on modifying of the update file that is performed after updated DNS information is received.
-
20. The method of claim 19 including receiving the updated DNS information and performing the modifying of the update file in response.
-
21. The method of claim 19 wherein the modifying of the update file includes creating the update file.
-
22. The method of claim 9 wherein the update file indicates that the stored DNS information has changed by indicating one or more stored data files that include the updated stored DNS information.
-
23. The method of claim 9 wherein the update file indicates that the stored DNS information has changed by including the updated DNS information, and wherein the retrieving of the updated DNS information retrieves the updated DNS information from the update file.
-
24. The method of claim 9 wherein multiple update files are used to indicate that the stored DNS information has changed.
-
25. The method of claim 9 wherein the updated DNS information is a modification of previously stored DNS information.
-
26. The method of claim 9 wherein the updated DNS information is a deletion of previously stored DNS information, and wherein the retrieving and caching of the updated DNS information includes removing references to the previously stored DNS information.
-
27. The method of claim 9 wherein the updated DNS information is new DNS information.
-
28. The method of claim 27 wherein the method is performed by a computer under control of a registrar, and wherein the updated DNS information relates to a new domain name.
-
29. The method of claim 9 wherein at least portions of the method are performed by an executing copy of Berkeley Internet Name Domain (“
- BIND”
) software.
- BIND”
-
30. The method of claim 9 wherein there are thousands of stored data files.
-
31. The method of claim 9 wherein the stored DNS information includes DNS resource records.
-
32. The method of claim 9 wherein the stored DNS information includes DNS configuration records.
-
33. The method of claim 9 wherein the stored DNS information includes DNS whois records.
-
34. The method of claim 9 wherein the stored DNS information includes DNS delegation records.
-
35. A computer-readable medium whose contents cause a computer system to dynamically update Domain Name System (DNS) information that is stored in one or more data files and is cached in memory, the dynamic updating performed using a update file distinct from the stored data files to determine if any of the stored data files have updated DNS information, by:
-
after the stored DNS information from the data files has been cached in memory, receiving multiple requests from clients for the DNS information; and
in response to each received request, sending the cached DNS information to the requesting client; and
after the stored DNS information in the data files is updated but the cached DNS information has not been updated, receiving a request from a first client for the DNS information;
determining that the update file indicates that the stored DNS information has changed to include updated DNS information;
in response to the determining, retrieving the updated DNS information;
caching the retrieved updated DNS information; and
sending the retrieved updated DNS information to the first client. - View Dependent Claims (36, 37, 38, 39, 40)
receiving an indication from a user to replace all of the cached DNS information with a current version of the DNS information in the stored data files; and
retrieving the DNS information from each of the stored data files and replacing the cached DNS information corresponding to each stored data file with the retrieved DNS information from that stored data file.
-
-
37. The computer-readable medium of claim 35 wherein the determining that the update file indicates that the stored DNS information has changed is based on an indication from a user to change the stored DNS information in a specified manner.
-
38. The computer-readable medium of claim 35 wherein the stored DNS information includes DNS resource records.
-
39. The computer-readable medium of claim 35 wherein the computer-readable medium is a data transmission medium transmitting a generated data signal containing the contents.
-
40. The computer-readable medium of claim 35 wherein the computer-readable medium is a memory of a computer.
-
41. A computing device for dynamically updating Domain Name System (DNS) information that is stored in one or more data files and is cached in memory, the dynamic updating performed using a update file distinct from the stored data files to determine if any of the stored data files have updated DNS information, comprising:
-
a memory capable of containing cached DNS information; and
a DNS information dynamic modifier component capable of, after the stored DNS information in the data files is updated but the cached DNS information has not been updated, determining that the update file indicates that the stored DNS information has changed to include updated DNS information, retrieving the updated DNS information in response to the determining, and caching the retrieved updated DNS information. - View Dependent Claims (42, 43, 44)
a DNS information dynamic provider component capable of receiving multiple requests from clients for DNS information and sending corresponding cached DNS information to the requesting client in response to each received request, and of, after the retrieving of the updated DNS information, sending the retrieved updated DNS information to a client in response to a request for the DNS information.
-
-
44. The computing device of claim 41 including:
a hard disk capable of storing the data files.
-
45. A computing device for dynamically updating Domain Name System (DNS) information that is stored in one or more data files and is cached in memory, the dynamic updating performed using a update file distinct from the stored data files to determine if any of the stored data files have updated DNS information, comprising:
-
means for, after the stored DNS information from the data files has been cached in memory, receiving multiple requests from clients for DNS information; and
in response to each received request, sending corresponding cached DNS information to the requesting client; and
means for, after the stored DNS information in the data files is updated but the cached DNS information has not been updated, determining that the update file indicates that the stored DNS information has changed to include updated DNS information;
in response to the determining, retrieving the updated DNS information; and
caching the retrieved updated DNS information.
-
-
46. A computer-implemented method for dynamically updating Domain Name System (DNS) information that is stored in multiple portions by a storage mechanism and that is cached, the dynamic updating performed using a update data structure that is distinct from storage information maintained by the storage mechanism so that a determination of whether the stored DNS information has been changed can be made without reading the stored DNS information portions or checking the storage information maintained by the storage mechanism, the update data structure consisting of multiple elements and having an element corresponding to each stored portion of DNS information, the method comprising:
-
receiving each stored portion of DNS information and caching the received DNS information portions;
receiving multiple indications of at least some of the DNS information;
in response to each received indication, providing at least one of the cached DNS information portions that corresponds to the indicated DNS information;
receiving an indication of a modification of the DNS information;
determining each stored DNS information portion that is changed by the modification;
for each determined stored DNS information portion, updating the element of the update data structure that corresponds to the determined stored DNS information portion to indicate that the corresponding stored DNS information portion has been changed; and
before providing a first cached DNS information portion whose corresponding first stored DNS information portion has changed, determining that the update data structure element corresponding to the first stored DNS information portion indicates that the first stored DNS information portion has changed;
retrieving the changed first stored DNS information portion; and
replacing the first cached DNS information portion with the retrieved first stored DNS information portion. - View Dependent Claims (47, 48, 49, 50, 51)
if an indication is received to update all of the cached DNS information portions, retrieving each stored portion of DNS information; and
for each retrieved stored information portion, updating the cached DNS information portion corresponding to the stored DNS information portion to reflect the retrieved stored DNS information portion.
-
-
52. A computer-readable medium whose contents cause a computer system to dynamically update Domain Name System (DNS) information that is stored in multiple portions by a storage mechanism and that is cached, the dynamic updating performed using a update data structure that is distinct from storage information maintained by the storage mechanism so that a determination of whether the stored DNS information has been changed can be made without reading the stored DNS information portions or checking the storage information maintained by the storage mechanism, the update data structure consisting of multiple elements and having an element corresponding to each stored portion of DNS information, by:
-
receiving each stored portion of DNS information and caching the received DNS information portions;
receiving multiple indications of at least some of the DNS information;
in response to each received indication, providing at least one of the cached DNS information portions that corresponds to the indicated DNS information;
receiving an indication of a modification of the DNS information;
determining each stored DNS information portion that is changed by the modification;
for each determined stored DNS information portion, updating the element of the update data structure that corresponds to the determined stored DNS information portion to indicate that the corresponding stored DNS information portion has been changed; and
before providing a first cached DNS information portion whose corresponding first stored DNS information portion has changed, determining that the update data structure element corresponding to the first stored DNS information portion indicates that the first stored DNS information portion has changed;
retrieving the changed first stored DNS information portion; and
replacing the first cached DNS information portion with the retrieved first stored DNS information portion.
-
-
53. A computing device for dynamically updating Domain Name System (DNS) information that is stored in multiple portions by a storage mechanism and that is cached, the dynamic updating performed using a update data structure that is distinct from storage information maintained by the storage mechanism so that a determination of whether the stored DNS information has been changed can be made without reading the stored DNS information portions or checking the storage information maintained by the storage mechanism, the update data structure consisting of multiple elements and having an element corresponding to each stored portion of DNS information, comprising:
-
a memory capable of containing cached DNS information;
a storage mechanism capable of storing multiple portions of DNS information; and
a DNS information dynamic modifier component capable of receiving an indication of a modification of DNS information, of determining each stored DNS information portion that is changed by the modification, of updating the element of the update data structure that corresponds to each determined stored DNS information portion to indicate that the corresponding stored DNS information portion has been changed, and of, before providing a first cached DNS information portion whose corresponding first stored DNS information portion has changed, determining that the update data structure element corresponding to the first stored DNS information portion indicates that the first stored DNS information portion has changed, retrieving the changed first stored DNS information portion, and replacing the first cached DNS information portion with the retrieved first stored DNS information portion.
-
-
54. A computer-implemented method for dynamically updating generated information that is based on other portions of information stored by a storage mechanism, the dynamic updating performed using a update file so that a determination of whether any of the stored portions of information have changed can be made without reading the stored information portions or checking any storage information maintained by the storage mechanism, the method comprising:
-
receiving an indication of a modification of at least one of the stored portions of information;
for each modified stored information portion, modifying the update file to indicate that the stored information portion has been modified; and
after the receiving of the indication of the modification but before providing the generated information, determining that the update file indicates that at least one of the stored information portions has been modified; and
updating the generated information based on the modifications to the modified stored information portions. - View Dependent Claims (55, 56, 57, 58)
-
-
59. A computer-readable medium whose contents cause a computer system to dynamically update generated information that is based on other portions of information stored by a storage mechanism, the dynamic updating performed using a update file so that a determination of whether any of the stored portions of information have changed can be made without reading the stored information portions or checking any storage information maintained by the storage mechanism, by:
-
receiving an indication of a modification of at least one of the stored portions of information;
for each modified stored information portion, modifying the update file to indicate that the stored information portion has been modified; and
after the receiving of the indication of the modification but before providing the generated information, determining that the update file indicates that at least one of the stored information portions has been modified; and
indicating to update the generated information based on the modifications to the modified stored information portions.
-
-
60. A computing device for dynamically updating generated information that is based on other portions of information stored by a storage mechanism, the dynamic updating performed using a update file so that a determination of whether any of the stored portions of information have changed can be made without reading the stored information portions or checking any storage information maintained by the storage mechanism, comprising:
-
a storage mechanism capable of storing multiple portions of information; and
a dynamic information modifier component capable of receiving an indication of a modification of at least one of the stored portions of information, of modifying the update file to indicate that each modified stored information portion has been modified, and of, after the receiving of the indication of the modification but before providing the generated information, determining that the update file indicates that at least one of the stored information portions has been modified and indicating to update the generated information based on the modifications to the modified stored information portions.
-
-
61. A computer-implemented method for dynamically updating Domain Name System (DNS) information that is stored in multiple portions and is cached in memory, the dynamic updating performed using a update file to determine if any of the stored DNS information portions have been updated, the method comprising:
-
receiving each stored portion of DNS information and caching the received DNS information portions in memory;
receiving multiple indications of at least some of the DNS information;
in response to each received indication, providing at least one of the cached DNS information portions that corresponds, to the indicated DNS information;
receiving an indication of a modification of the DNS information;
determining each stored DNS information portion that is changed by the modification;
for each determined stored DNS information portion, modifying the update file to indicate that the stored DNS information portion has been changed;
if an indication is received to update the cached DNS information portions that correspond to stored DNS information portions that have changed, determining from the update file the stored DNS information portions that have changed; and
for each determined stored information portion, retrieving the changed stored DNS information portion; and
updating the cached DNS information portion corresponding to the stored DNS information portion to reflect the retrieved changed stored DNS information portion; and
if an indication is received to update all of the cached DNS information portions, retrieving each stored portion of DNS information; and
for each retrieved stored information portion, updating the cached DNS information portion corresponding to the stored DNS information portion to reflect the retrieved stored DNS information portion. - View Dependent Claims (62, 63)
-
Specification