IP Library Granted Patent US 10,880,260
Granted Patent B1
US 10,880,260 · App. 16/906,984 · Granted Dec 29, 2020

Distributed domain name resolution and method for use of same

Inventors: Scott Gaydos (Plano, TX); Robert Otting (Plano, TX)
Assignee: Etherweb Technologies LLC
H04L61/10H04L61/1511
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 10,880,260
App. No.
16/906,984
Filed
Jun 19, 2020
Granted
Dec 29, 2020
Kind
B1
Art Unit
2449
USPC
709/245
Abstract

A system for distributed domain name address resolution, including top-level domain name address resolution, and method for use of the same are disclosed. In one embodiment of the system, a blockchain stores distributed domain names with respective Internet Protocol address information. A smart contract, which defines shared logic to execute operations on the blockchain, runs on the blockchain. With respect to distributed domain names, the system may perform read operations to identify the Internet Protocol address information, create operations to create a new distributed domain name with respective Internet Protocol address information, delete operations to remove a distributed domain name, and update operations to update the mapping between a distributed domain name and the respective Internet Protocol address information.

Claims (91)

1. A system for domain name address resolution, the system comprising:

a blockchain storing a plurality of distributed domain names with respective Internet Protocol address information;

a smart contract running on the blockchain, the smart contract being shared logic to execute operations on the blockchain;

one or more computing devices having a memory accessible to the processor, the memory including first processor-executable instructions that, when executed, cause the processor to:

receive a domain name request,

analyze the domain name request,

if the domain name request comprises a standard domain name request, serve with access to a standard domain name file,

if the domain name request comprises a distributed domain name request, the distributed domain name request including the distributed domain name and Internet Protocol address information, query the blockchain for the distributed domain name from the smart contract, and

receive a read response with Internet Protocol address information corresponding to the distributed domain name;

the memory including second processor-executable instructions that, when executed, cause the processor to:

receive a distributed domain name request, the distributed domain name request including the distributed domain name and Internet Protocol address information,

query the blockchain for the distributed domain name from the smart contract,

receive a read response indicating availability of the distributed domain name,

request from the smart contract a blockchain mapping of the distributed domain name, and

receive a mapping response indicating the blockchain mapping of the distributed domain name to the Internet Protocol address information; and

the memory including third processor-executable instructions that, when executed, cause the processor to:

receive a request to update a distributed domain name, the request including existing Internet Protocol address information and updated Internet Protocol address information,

query the blockchain for the distributed domain name from the smart contract,

receive a read response with existing Internet Protocol address information corresponding to the distributed domain name,

request from the smart contract an updated blockchain mapping of the distributed domain request, and

receive a mapping response indicating the blockchain mapping of the distributed domain name to the updated Internet Protocol address information,

wherein each request is verified according to a header, a nonce, and the data of the request by a blockchain miner.

2. The system as recited in claim 1 , wherein the memory further includes fourth processor-executable instructions that, when executed, cause the processor to:

receive a request to delete a distributed domain name,

query the blockchain for the distributed domain name from the smart contract,

receive a read response with Internet Protocol address information corresponding to the distributed domain name,

request from the smart contract deletion of the distributed domain name from the blockchain, and

receive a deletion response indicating deletion of the distributed domain name from the blockchain.

3. The system as recited in claim 1 , wherein the one or more computing devices further comprise a server.

4. The system as recited in claim 1 , wherein the one or more computing devices further comprise a distributed computing network.

5. The system as recited in claim 1 , wherein the one or more computing devices further comprise an application specific integrated circuit.

6. The system as recited in claim 1 , wherein the one or more computing devices further comprise a field programmable gate array.

7. A method for domain name address resolution, the method comprising:

executing, in response to a read request, a read operation, the read operation including:

receiving a domain name request,

analyzing the domain name request,

serving, if the domain name request comprises a standard domain name request, with access to a standard domain name file,

querying, if the domain name request comprises a distributed domain name request, a blockchain for the distributed domain name from a smart contract, the distributed domain name request including the distributed domain name and Internet Protocol address information, the blockchain storing a plurality of distributed domain names with respective Internet Protocol address information, the smart contract running on the blockchain, the smart contract being shared logic to execute operations on the blockchain, and

receiving a read response with Internet Protocol address information corresponding to the distributed domain name;

executing, in response to a create request, a create operation, the create operation including:

receiving a distributed domain name request, the distributed domain name request including the distributed domain name and Internet Protocol address information,

querying the blockchain for the distributed domain name from the smart contract,

receiving a read response indicating availability of the distributed domain name,

requesting from the smart contract a blockchain mapping of the distributed domain name, and

receiving a mapping response indicating the blockchain mapping of the distributed domain name to the Internet Protocol address information; and

executing, in response to an update request, an update operation, the update operation including:

receiving a request to update a distributed domain name, the request including existing Internet Protocol address information and updated Internet Protocol address information,

querying the blockchain for the distributed domain name from the smart contract,

receiving a read response with existing Internet Protocol address information corresponding to the distributed domain name,

requesting from the smart contract an updated blockchain mapping of the distributed domain request, and

receiving a mapping response indicating the blockchain mapping of the distributed domain name to the updated Internet Protocol address information,

wherein each request is verified according to a header, a nonce, and the data of the request by a blockchain miner.

8. The method as recited in claim 7 , the method further comprising:

executing, in response to a delete request, a delete operation, the deletion operation including:

receiving a request to delete a distributed domain name,

querying the blockchain for the distributed domain name from the smart contract,

receiving a read response with Internet Protocol address information corresponding to the distributed domain name,

requesting from the smart contract deletion of the distributed domain name from the blockchain, and

receiving a deletion response indicating deletion of the distributed domain name from the blockchain.

9. A system for domain name address resolution, the system comprising:

non-transitory memory accessible to a processor, the non-transitory memory including first processor-executable instructions that, when executed, by the processor cause the system to:

a blockchain storing a plurality of distributed domain names with respective Internet Protocol address information;

a smart contract running on the blockchain, the smart contract being shared logic to execute operations on the blockchain;

receive a domain name request,

analyze the domain name request,

if the domain name request comprises a standard domain name request, serve with access to a standard domain name file,

if the domain name request comprises a distributed domain name request, the distributed domain name request including the distributed domain name and Internet Protocol address information, query the blockchain for the distributed domain name from the smart contract, the blockchain storing a plurality of distributed domain names with respective Internet Protocol address information, the smart contract running on the blockchain, the smart contract being shared logic to execute operations on the blockchain, and

receive a read response with Internet Protocol address information corresponding to the distributed domain name;

the non-transitory memory including second processor-executable instructions that, when executed, by the processor cause the system to:

receive a distributed domain name request, the distributed domain name request including the distributed domain name and Internet Protocol address information,

query the blockchain for the distributed domain name from the smart contract,

receive a read response indicating availability of the distributed domain name,

request from the smart contract a blockchain mapping of the distributed domain name, and

receive a mapping response indicating the blockchain mapping of the distributed domain name to the Internet Protocol address information; and

the non-transitory memory including third processor-executable instructions that, when executed, by the processor cause the system to:

receive a request to update a distributed domain name, the request including existing Internet Protocol address information and updated Internet Protocol address information,

query the blockchain for the distributed domain name from the smart contract,

receive a read response with existing Internet Protocol address information corresponding to the distributed domain name,

request from the smart contract an updated blockchain mapping of the distributed domain request, and

receive a mapping response indicating the blockchain mapping of the distributed domain name to the updated Internet Protocol address information,

wherein each request is verified according to a header, a nonce, and the data of the request by a blockchain miner.

10. The system as recited in claim 9 , wherein the memory further includes fourth processor-executable instructions that, when executed, cause the processor to:

receive a request to delete a distributed domain name,

query the blockchain for the distributed domain name from the smart contract,

receive a read response with Internet Protocol address information corresponding to the distributed domain name,

request from the smart contract deletion of the distributed domain name from the blockchain, and

receive a deletion response indicating deletion of the distributed domain name from the blockchain.

11. The system as recited in claim 9 , wherein the non-transitory memory is stored on a server.

12. The system as recited in claim 9 , wherein the non-transitory memory is stored in a distributed computing network.

13. The system as recited in claim 9 , wherein the processor further comprises an application specific integrated circuit.

14. The system as recited in claim 9 , wherein the processor further comprises a field programmable gate array.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 19, 2020
From: GAYDOS, SCOTT; OTTING, ROBERT
To: ETHERWEB TECHNOLOGIES LLC
Reel/Frame 052993/0737 →
Continuity (1)
Provisional Application 62863478 · Jun 19, 2019
Cited By (1)
US 12,445,405