Method and computer readable medium for discovering master DNS server computers for a given domain name in multiple master and multiple namespace configurations
First Claim
1. In a system that comprises a client networked to one or more networks, each network having a database that is partitioned into one or more zones and distributed over one or more distributed database servers, at least one distributed database server being an authoritative server in that it maintains complete information as to at least one zone of the distributed database, and at least one authoritative server being a master server in that it is capable of updating the distributed database, and wherein each partition of the distributed database comprises partition information for identifying (i) a zone that corresponds to the partition, (ii) a master server for the zone, and (iii) any authoritative servers for the zone, a method of detecting multiple master servers within a single zone, the method comprising steps for:
- locating a plurality of distributed database servers, each maintaining one or more partitions of one or more distributed databases;
receiving, from each of the plurality of distributed database servers, partition information for at least one partition of at least one distributed database, whereby a plurality of partition information is received;
from the plurality of received partition information, identifying a zone that corresponds to each partition and a master server for that zone;
comparing master servers that are identified in the plurality of received partition information; and
if the plurality of received partition information identifies only one master server for a particular zone, then concluding that the particular zone has a single master server.
2 Assignments
0 Petitions
Accused Products
Abstract
The invention detects multiple master DNS server computers and handles multiple namespaces. In traditional DNS, each zone or domain has a primary or master server computer as well as one or more slave server computers. Both the master server computer and the slave server computers have complete information regarding a particular zone. The master server computer is distinct in that it receives changes made by a client. The slave server computers periodically update their own information from the master server computer. In multiple master DNS, each server computer is essentially a primary server computer in that any server computer may accept updates from a client. This information is then distributed to the other multiple master server computers. In order to determine whether a server computer is a multiple master server computer an analysis must be has as to the SOA record, which contains the name of the primary server computer as well as the zone for which the primary server computer is authoritative, and the NS record set, which holds the names of all server computers. The analysis of these records determines which server computers are multiple master DNS server computers. A client, by knowing which server computers are multiple master server computers, may send an update to any one of those server computers. A client is thus not limited to one server computer, which could be down or otherwise not functioning. In multiple master server computer configurations, a client has a choice as to where to send an update. The present invention also determines how many namespaces the client is in. This is also done by examining the SOA and NS record sets. While a client may be physically connected to one or more networks, the networks may in reality be in the same namespace. The invention determines the number of namespaces. When a client is prepared to update information contained in the network or on a server computer, the client need only update each namespace rather than send an update over each network connection.
-
Citations
38 Claims
-
1. In a system that comprises a client networked to one or more networks, each network having a database that is partitioned into one or more zones and distributed over one or more distributed database servers, at least one distributed database server being an authoritative server in that it maintains complete information as to at least one zone of the distributed database, and at least one authoritative server being a master server in that it is capable of updating the distributed database, and wherein each partition of the distributed database comprises partition information for identifying (i) a zone that corresponds to the partition, (ii) a master server for the zone, and (iii) any authoritative servers for the zone, a method of detecting multiple master servers within a single zone, the method comprising steps for:
-
locating a plurality of distributed database servers, each maintaining one or more partitions of one or more distributed databases;
receiving, from each of the plurality of distributed database servers, partition information for at least one partition of at least one distributed database, whereby a plurality of partition information is received;
from the plurality of received partition information, identifying a zone that corresponds to each partition and a master server for that zone;
comparing master servers that are identified in the plurality of received partition information; and
if the plurality of received partition information identifies only one master server for a particular zone, then concluding that the particular zone has a single master server. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
from the plurality of received partition information, identifying any authoritative servers for a given zone; and
for the given zone, if the received partition information identifies more than one master servers, and if no authoritative servers are common to the more than one master servers, then concluding that the given zone has a single master server.
-
-
5. The method as defined in claim 4, wherein a client has data to publish into a distributed database, the method further comprising a step for, for each zone having a single master server, sending the data from the client to the single master server for that zone, wherein the single master server for that zone publishes the data into the distributed database.
-
6. The method as defined in claim 1, further comprising steps for:
-
from the plurality of received partition information, identifying any authoritative servers for a given zone; and
for the given zone, if the received partition information identifies more than one master servers, but identifies at least one authoritative server that is common to the more than one master servers, then concluding that the given zone has multiple master servers.
-
-
7. The method as defined in claim 6, wherein a client has data to publish into a distributed database, the method further comprising a step for, for each zone having multiple master servers, sending the data from the client to only one master server for that zone, wherein the only one master server for that zone publishes the data into the distributed database.
-
8. The method as defined in claim 1, wherein the one or more distributed databases comprise a DNS database storing a Start of Authority record containing the name of a DNS zone that corresponds to a DNS partition and the name of a master DNS server for the DNS zone, and storing a Name Server record set representative of the names of any authoritative servers for the DNS zone.
-
9. In a system that comprises a client networked to one or more networks, each network having a database that is partitioned into one or more zones and distributed over one or more distributed database servers, at least one distributed database server being an authoritative server in that it maintains complete information as to at least one zone of the distributed database, and at least one authoritative server being a master server in that it is capable of updating the distributed database, and wherein each partition of the distributed database comprises partition information for identifying (i) a zone that corresponds to the partition, (ii) a master server for the zone, and (iii) any authoritative servers for the zone, a method of detecting multiple master servers within a single zone, the method comprising steps for:
-
locating a plurality of distributed database servers, each maintaining one or more partitions of one or more distributed databases;
receiving, from each of the plurality of distributed database servers, partition information for at least one partition of at least one distributed database, whereby a plurality of partition information is received;
from the plurality of received partition information, identifying a zone that corresponds to each partition and a master server for that zone;
comparing master servers that are identified in the plurality of received partition information; and
for a particular zone, if the plurality of received partition information identifies more than one master servers, but identifies at least one authoritative server that is common to the more than one master servers, then concluding that the particular zone has multiple master servers. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. For a system that comprises a client networked to one or more networks, each network having a database that is partitioned into one or more zones and distributed over one or more distributed database servers, at least one distributed database server being an authoritative server in that it maintains complete information as to at least one zone of the distributed database, and at least one authoritative server being a master server in that it is capable of updating the distributed database, and wherein each partition of the distributed database comprises partition information for identifying (i) a zone that corresponds to the partition, (ii) a master server for the zone, and (iii) any authoritative servers for the zone, a computer program product for implementing a method of detecting multiple master servers within a single zone, comprising:
-
a computer readable medium for carrying machine-executable instructions that implement the method; and
wherein said method is comprised of machine-executable instructions that perform steps for;
locating a plurality of distributed database servers, each maintaining one or more partitions of one or more distributed databases;
receiving, from each of the plurality of distributed database servers, partition information for at least one partition of at least one distributed database, whereby a plurality of partition information is received;
from the plurality of received partition information, identifying a zone that corresponds to each partition and a master server for that zone;
comparing master servers that are identified in the plurality of received partition information; and
if the plurality of received partition information identifies only one master server for a particular zone, then concluding that the particular zone has a single master server. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24)
from the plurality of received partition information, identifying any authoritative servers for a given zone; and
for the given zone, if the received partition information identifies more than one master servers, and if no authoritative servers are common to the more than one master servers, then concluding that the given zone has a single master server.
-
-
21. The computer program product as defined in claim 20, wherein a client has data to publish into a distributed database, the method further comprising a step for, for each zone having a single master server, sending the data from the client to the single master server for that zone, wherein the single master server for that zone publishes the data into the distributed database.
-
22. The computer program product as defined in claim 17, the method further comprising steps for:
-
from the plurality of received partition information, identifying any authoritative servers for a given zone; and
for the given zone, if the received partition information identifies more than one master servers, but identifies at least one authoritative server that is common to the more than one master servers, then concluding that the given zone has multiple master servers.
-
-
23. The computer program product as defined in claim 22, wherein a client has data to publish into a distributed database, the method further comprising a step for, for each zone having multiple master servers, sending the data from the client to only one master server for that zone, wherein the only one master server for that zone publishes the data into the distributed database.
-
24. The computer program product as defined in claim 17, wherein the one or more distributed databases comprise a DNS database storing a Start of Authority record containing the name of a DNS zone that corresponds to a DNS partition and the name of a master DNS server for the DNS zone, and storing a Name Server record set representative of the names of any auhoritative servers for the DNS zone.
-
25. For a system that comprises a client networked to one or more networks, each network having a database that is partitioned into one or more zones and distributed over one or more distributed database servers, at least one distributed database server being an authoritative server in that it maintains complete information as to at least one zone of the distributed database, and at least one authoritative server being a master server in that it is capable of updating the distributed database, and wherein each partition of the distributed database comprises partition information for identifying (i) a zone that corresponds to the partition, (ii) a master server for the zone, and (iii) any authoritative servers for the zone, a computer program product for implementing a method of detecting multiple master servers within a single zone, comprising:
-
a computer readable medium for carrying machine-executable instructions that implement the method; and
wherein said method is comprised of machine-executable instructions that perform steps for;
locating a plurality of distributed database servers, each maintaining one or more partitions of one or more distributed databases;
receiving, from each of the plurality of distributed database servers, partition information for at least one partition of at least one distributed database, whereby a plurality of partition information is received;
from the plurality of received partition information, identifying a zone that corresponds to each partition and a master server for that zone;
comparing master servers that are identified in the plurality of received partition information; and
for a particular zone, if the plurality of received partition information identifies more than one master servers, but identifies at least one authoritative server that is common to the more than one master servers, then concluding that the particular zone has multiple master servers. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32)
-
-
33. In a system that comprises a client connected to one or more networks, each network accessing one or more partitions of one or more distributed databases that may be updated by one or more primary servers, a method comprising:
-
receiving initial partition information that is associated with one or more partitions of one or more distributed databases maintained by one or more servers;
from the initial partition information, identifying one or more primary servers that are capable of updating at least one of the one or more partitions;
examining the initial partition information; and
if the initial partition information identifies a plurality of primary servers for a single partition, then receiving additional partition information from each of the plurality of primary servers, the additional partition information identifying zero or more additional servers capable of providing at least some form of access to the single partition, and, if the additional partition information from multiple primary servers identifies at least one additional server that is common to the multiple primary servers, then designating the single partition as having multiple primary servers. - View Dependent Claims (34, 35, 36, 37, 38)
-
Specification