IP Library › Granted Patent US 11,228,559
Granted Patent B2
US 11,228,559 · App. 16/926,253 · Granted Jan 18, 2022

Domain management and synchronization system

Inventor: William Christopher Albert (Los Angeles, CA)
Assignee: Callfire, Inc.
H04L61/1552H04L61/1511H04L61/2007
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 11,228,559
App. No.
16/926,253
Granted
Jan 18, 2022
Kind
B2
Abstract

A domain management system that manages domain names, network addresses, and other aspects of a computing network domain is provided. The domain management system obtains domain data, such as domain name system (“DNS”) records, from any number of network-accessible providers of the domain data, such as DNS servers. The domain management system can store, transform, and synchronize the domain data among the network-accessible providers, even if the network-accessible providers do not all use or recognize the same format and/or content of domain data.

Claims (42)

1. A system comprising executable instructions and one or more computer processors configured by the executable instructions to at least:

subscribe to notifications from a first domain name system (“DNS”) server;

receive, from the first DNS server, a notification that a first DNS record for a domain has changed, wherein the first DNS record maps a resource associated with the domain to a network address of the resource, and wherein the notification is received based at least partly on subscribing to the notifications from the first DNS server;

retrieve, from the first DNS server, a first set of DNS records for the domain, wherein the first set of DNS records are retrieved in a first server-specific format associated with the first DNS server, and wherein the first set of DNS records comprises the first DNS record that has been changed;

determine a first transformation set associated with the first DNS server, wherein the first transformation set comprises one or more transformations to be applied to the first set of DNS records to generate a second set of DNS records in a DNS server-independent format;

generate the second set of DNS records in the DNS server-independent format using the first set of DNS records and the first transformation set, wherein a second DNS record in the DNS server-independent format is generated based at least partly on the first transformation set using a formatting alteration applied to a third DNS record in the first server-specific format;

determine, based at least partly on (1) an association of the domain with a second DNS server and (2) the notification from the first DNS server, to update domain-specific data at the second DNS server;

determine a second transformation set associated with the second DNS server, wherein the second transformation set comprises one or more transformations to be applied to the second set of DNS records to generate a third set of DNS records in a second server-specific format associated with the second DNS server;

generate the third set of DNS records using the second set of DNS records and the second transformation set; and

update the domain-specific data at the second DNS server using the third set of DNS records.

2. The system of claim 1 , wherein the one or more computer processors configured to generate the second set of DNS records are further configured to exclude a fourth DNS record of the first set of DNS records such that the second set of DNS records does not include any DNS record corresponding to the fourth DNS record.

3. The system of claim 1 , wherein the one or more computer processors configured to generate the second set of DNS records are further configured to generate, based at least partly on the first transformation set, a record of the second set of DNS records using a combination of data from a record of the first set of DNS records and data from a data source separate from the first DNS server.

4. The system of claim 1 , wherein the one or more computer processors configured to generate the second set of DNS records are further configured to generate, based at least partly on the first transformation set, a fourth DNS record of a first DNS record type using a fifth DNS record of a second DNS record type from the first set of DNS records.

5. The system of claim 1 , wherein the one or more computer processors configured to retrieve the first set of DNS records from the first DNS server are further configured to parse a markup-language based user interface, received from the first DNS server, to derive the first set of DNS records.

6. A computer-implemented method comprising:

as implemented by a computing system comprising one or more computer processors configured to execute specific instructions,

subscribing to notifications from a first domain name system (“DNS”) server;

receiving, from the first DNS server, a notification that a first DNS record for a domain has changed, wherein the first DNS record maps a resource associated with the domain to a network address of the resource, and wherein the notification is received based at least partly on subscribing to the notifications from the first DNS server;

retrieving, from the first DNS server, a first set of DNS records for the domain, wherein the first set of DNS records are retrieved in a first server-specific format associated with the first DNS server, and wherein the first set of DNS records comprises the first DNS record that has been changed;

determining a first transformation set associated with the first DNS server, wherein the first transformation set comprises one or more transformations to be applied to the first set of DNS records to generate a second set of DNS records in a DNS server-independent format;

generating the second set of DNS records in the DNS server-independent format using the first set of DNS records and the first transformation set, wherein a second DNS record in the DNS server-independent format is generated based at least partly on the first transformation set using a formatting alteration applied to a third DNS record in the first server-specific format;

determining, based at least partly on (1) an association of the domain with a second DNS server and (2) the notification from the first DNS server, to update domain-specific data at the second DNS server;

determining a second transformation set associated with the second DNS server, wherein the second transformation set comprises one or more transformations to be applied to the second set of DNS records to generate a third set of DNS records in a second server-specific format associated with the second DNS server;

generating the third set of DNS records using the second set of DNS records and the second transformation set; and

updating the domain-specific data at the second DNS server using the third set of DNS records.

7. The computer-implemented method of claim 6 , wherein generating the second set of DNS records comprises excluding a fourth DNS record of the first set of DNS records such that the second set of DNS records does not include any DNS record corresponding to the fourth DNS record.

8. The computer-implemented method of claim 6 , wherein generating the second set of DNS records comprises generating, based at least partly on the first transformation set, a record of the second set of DNS records using a combination of data from a record of the first set of DNS records and data from a data source separate from the fourth DNS server.

9. The computer-implemented method of claim 6 , wherein generating the second set of DNS records comprises generating, based at least partly on the first transformation set, a fourth DNS record of a first DNS record type using a fifth DNS record of a second DNS record type from the first set of DNS records.

10. The computer-implemented method of claim 6 , further comprising parsing a markup-language based user interface, received from the first DNS server, to derive the first set of DNS records.

11. A non-transitory computer storage medium storing executable code, wherein the executable code configures a computing system to perform a process comprising:

subscribing to notifications from a first domain name system (“DNS”) server;

receiving, from the first DNS server, a notification that a first DNS record for a domain has changed, wherein the first DNS record maps a resource associated with the domain to a network address of the resource, and wherein the notification is received based at least partly on subscribing to the notifications from the first DNS server;

retrieving, from the first DNS server, a first set of DNS records for the domain, wherein the first set of DNS records are retrieved in a first server-specific format associated with the first DNS server, and wherein the first set of DNS records comprises the first DNS record that has been changed;

determining a first transformation set associated with the first DNS server, wherein the first transformation set comprises one or more transformations to be applied to the first set of DNS records to generate a second set of DNS records in a DNS server-independent format;

generating the second set of DNS records in the DNS server-independent format using the first set of DNS records and the first transformation set, wherein a second DNS record in the DNS server-independent format is generated based at least partly on the first transformation set using a formatting alteration applied to a third DNS record in the first server-specific format;

determining, based at least partly on (1) an association of the domain with a second DNS server and (2) the notification from the first DNS server, to update domain-specific data at the second DNS server;

determining a second transformation set associated with the second DNS server, wherein the second transformation set comprises one or more transformations to be applied to the second set of DNS records to generate a third set of DNS records in a second server-specific format associated with the second DNS server;

generating the third set of DNS records using the second set of DNS records and the second transformation set; and

updating the domain-specific data at the second DNS server using the third set of DNS records.

12. The non-transitory computer storage medium of claim 11 , wherein generating the second set of DNS records comprises excluding a fourth DNS record of the first set of DNS records such that the second set of DNS records does not include any DNS record corresponding to the fourth DNS record.

13. The non-transitory computer storage medium of claim 11 , wherein generating the second set of DNS records comprises generating, based at least partly on the first transformation set, a record of the second set of DNS records using a combination of data from a record of the first set of DNS records and data from a data source separate from the first DNS server.

14. The non-transitory computer storage medium of claim 11 , wherein generating the second set of DNS records comprises generating, based at least partly on the first transformation set, a fourth DNS record of a first DNS record type using a fifth DNS record of a second DNS record type from the first set of DNS records.

Assignments (2)
RELEASE OF SECURITY INTEREST Recorded Dec 3, 2025
From: CANADIAN IMPERIAL BANK OF COMMERCE
To: CALLFIRE, INC.; MESSAGING SERVICES COMPANY, LLC
Reel/Frame 073107/0611 →
SECURITY INTEREST Recorded Aug 3, 2023
From: CALLFIRE, INC.; MESSAGING SERVICES COMPANY, LLC
To: CANADIAN IMPERIAL BANK OF COMMERCE
Reel/Frame 064488/0675 →
Continuity (2)
Continuation 16710537 · Dec 11, 2019
Related Publication 20210185003A1 · Jun 17, 2021