IP Library › Granted Patent US 12,010,090
Granted Patent B2
US 12,010,090 · App. 17/740,562 · Granted Jun 11, 2024

Management of domain name services across multiple device and software configurations

Inventors: David Anderson (Victoria, CA); David J. Crawshaw (Berkeley, CA)
Assignee: Tailscale Inc.
H04L61/4511H04L41/0803H04L61/5007
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,010,090
App. No.
17/740,562
Granted
Jun 11, 2024
Kind
B2
Abstract

Described herein are systems, methods, and software to manage nameservers for domain name system (DNS) requests. In one implementation, a computing element receives a domain name system (DNS) configuration from a coordination service that includes a plurality of rules. The computing element identifies an operating system configuration on the computing element and maps each of the rules to local rule implementations on the computing element based on the operating system configuration. Once the local rule implementations are identified, the computing element applies the local rule implementations on the computing element.

Claims (54)

1. A method comprising:

receiving a domain name system (DNS) configuration from a coordination service at a computing element, wherein the DNS configuration comprises a plurality of rules, and wherein each rule or the plurality of rules associates at least one domain name with a nameserver of a plurality of nameservers;

identifying an operating system configuration on the computing element;

for each rule of the plurality of rules in the DNS configuration, mapping the rule to a local rule implementation for the computing element based on the operating system configuration on the computing element, wherein each local rule implementation indicates whether the rule should be implemented in an operating system for the computing element or a DNS application separate from the operating system on the computing element based on the operating system configuration; and

applying the local rule implementations in the computing element.

2. The method of claim 1 , wherein the operating system configuration comprises an operating system identifier and version.

3. The method of claim 1 further comprising:

identifying hardware information associated with the computing element; and

wherein mapping the rule to a local rule implementation for the computing element is further based on the hardware information associated with the computing element.

4. The method of claim 1 further comprising:

identifying a second operating system configuration on a second computing element;

for each rule of the plurality of rules in the DNS configuration, mapping the rule to a local rule implementation for the second computing element based on the second operating system configuration for the second computing element; and

applying the local rule implementations mapped for the second computing element in the second computing element, wherein at least one of the local rule implementations mapped for the second computing element differ from the local rule implementations mapped for the computing element.

5. The method of claim 4 further comprising:

receiving the DNS configuration from the coordination service at the second computing element.

6. The method of claim 1 further comprising:

in the coordination service, receiving input indicative of the plurality of rules;

determining that the plurality of rules satisfy at least one criterion associated with operating system configurations in a computing environment; and

in response to determining that the plurality of rules satisfy the at least one criterion, generating the DNS configuration based on the input.

7. A computing apparatus comprising:

a storage system;

a processing system operatively coupled to the storage system; and

program instructions stored on the storage system that, when executed by the processing system, direct the computing apparatus to:

receive a domain name system (DNS) configuration from a coordination service at a computing element, wherein the DNS configuration comprises a plurality of rules, and wherein each rule or the plurality of rules associates at least one domain name with a nameserver of a plurality of nameservers;

identify an operating system configuration on the computing element;

for each rule of the plurality of rules in the DNS configuration, map the rule to a local rule implementation for the computing element based on the operating system configuration on the computing element, wherein each local rule implementation indicates whether the rule should be implemented in an operating system for the computing element or a DNS application separate from the operating system on the computing element based on the operating system configuration; and

apply the local rule implementations in the computing element.

8. The computing apparatus of claim 7 , wherein the operating system configuration comprises an operating system identifier and version.

9. The computing apparatus of claim 7 , wherein the program instructions further direct the computing apparatus to:

identifying hardware information associated with the computing element; and

wherein mapping the rule to a local rule implementation for the computing element is further based on the hardware information associated with the computing element.

10. The computing apparatus of claim 7 , wherein the program instructions further direct the computing apparatus to:

identify a second operating system configuration on a second computing element;

for each rule of the plurality of rules in the DNS configuration, map the rule to a local rule implementation for the second computing element based on the second operating system configuration for the second computing element; and

apply the local rule implementations mapped for the second computing element in the second computing element, wherein at least one of the local rule implementations mapped for the second computing element differ from the local rule implementations mapped for the computing element.

11. The computing apparatus of claim 10 , wherein the program instructions further direct the computing apparatus to:

receive the DNS configuration from the coordination service at the second computing element.

12. A system comprising:

a plurality of computing systems; and

a coordination service computing system;

a first computing system of the plurality of computing systems configured to:

receive a domain name system (DNS) configuration from a coordination service, wherein the DNS configuration comprises a plurality of rules, and wherein each rule or the plurality of rules associates at least one domain name with a nameserver of a plurality of nameservers;

identify an operating system configuration on the first computing system;

for each rule of the plurality of rules in the DNS configuration, map the rule to a local rule implementation for the first computing system based on the operating system configuration on the first computing system, wherein each local rule implementation indicates whether the rule should be implemented in an operating system for the first computing system or a DNS application separate from the operating system on the first computing system based on the operating system configuration; and

apply the local rule implementations in the computing system.

13. The system of claim 12 , wherein a second computing system of the plurality of computing systems is further configured to:

receive the DNS configuration from the coordination service;

identify an operating system configuration for the second computing system;

for each rule of the plurality of rules in the DNS configuration, map the rule to a local rule implementation for the second computing system based on the operating system configuration on the second computing system; and

apply the local rule implementation for the second computing system in the second computing system.

14. The system of claim 12 , wherein coordination service computing system is further configured to:

receive input indicative of the plurality of rules;

determine that the plurality of rules satisfy at least one criterion associated with operating system configurations in a computing environment; and

in response to determining that the plurality of rules satisfy the at least one criterion, generate the DNS configuration based on the input.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 10, 2022
From: ANDERSON, DAVID; CRAWSHAW, DAVID J.
To: TAILSCALE INC.
Reel/Frame 059879/0333 →
Continuity (2)
Provisional Application 63288984 · Dec 13, 2021
Related Publication 20230188494A1 · Jun 15, 2023