IP Library Granted Patent US 11,240,196
Granted Patent B2
US 11,240,196 · App. 16/432,137 · Granted Feb 1, 2022

Communication using DNS repurposing

Inventors: Paul Stahura (Sammanish, WA); Christopher L. Cowherd, Jr. (Bellevue, WA)
Assignee: Donuts Inc.
H04L61/1511G06F16/9537H04L61/609
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,240,196
App. No.
16/432,137
Granted
Feb 1, 2022
Kind
B2
Abstract

Technology for communicating by embedding messages in DNS requests/responses is disclosed. In many cases it is desirable for a device to communicate without that device having to supply network credentials. In some network environments, credentials are not required to send or receive DNS messages. The question section of a DNS request message may include a message for a destination DNS server and a query domain which, when using standard DNS routing, will result in the DNS request being directed to the intended destination DNS server. The message may be encoded in such a way that an algorithm run by the destination DNS server is able to parse the message from the DNS request.

Claims (63)

1. A method for communicating using embedded DNS messages performed by a computing system having one or more memories and one or more processors, the method comprising:

selecting a query domain corresponding to a destination DNS server, wherein the destination DNS server is authoritative for an intermediary server for servicing DNS requests for the selected query domain;

generating a message configured to be parsed from a DNS lookup request by the destination DNS server as data distinct from a DNS domain of the DNS lookup request, wherein the message comprises an identification of a parsing algorithm to use to extract data from the DNS lookup request; and

generating the DNS lookup request, the DNS lookup request comprising a question that includes a combination of at least a portion of the generated message and the query domain.

2. The method of claim 1 , further comprising:

concatenating the generated message before a first character; and

concatenating a string corresponding to the query domain after the first character.

3. The method of claim 1 , further comprising:

encoding the message into an encoded version with an encoding algorithm,

wherein the destination DNS server has a parsing algorithm configured to extract the message from the encoded version.

4. The method of claim 1 , wherein the message is further configured to be combined with the query domain to fit within a question portion of the DNS lookup request.

5. The method of claim 1 , wherein the query domain of the DNS lookup request is used to route the DNS lookup request to a DNS server providing a mapping between the query domain and an IP address.

6. The method of claim 1 , wherein the DNS lookup request is transmitted from one of:

an ingestible or implanted device;

a battery;

a microphone;

a video game controller;

a plumbing fixture;

a beacon;

a wallet or electronic credit card;

an irrigation system;

a motion sensor; or

a wall outlet.

7. The method of claim 1 , wherein the message comprises instructions to the destination DNS server specifying that a response should be sent to a device other than the device that originated the DNS lookup request.

8. The method of claim 1 , further comprising:

in response to determining that the message is larger than a maximum size that may be embedded in a single DNS request,

distributing the message across multiple DNS requests.

9. The method of claim 1 , wherein the message comprises an identification of the device that originated the DNS lookup request.

10. The method of claim 1 , further comprising:

determining that the DNS lookup request is an embedded type of message.

11. The method of claim 1 , wherein the generated message comprises GPS coordinates.

12. The method of claim 1 , further comprising:

sending a command to an appliance uniquely identified by an embedded message.

13. A computer-readable memory storing instructions configured to, when executed by a computing device, cause the computing device to perform a method comprising:

selecting a query domain corresponding to a destination DNS server;

generating a message configured to be parsed from a DNS lookup request by the destination DNS server as data distinct from a DNS domain of the DNS lookup request, wherein the message comprises an identification of a parsing algorithm to use to extract data from the DNS lookup request; and

generating the DNS lookup request, the DNS lookup request comprising a question that includes a combination of at least a portion of the generated message and the query domain.

14. The computer-readable memory of claim 13 , wherein the destination DNS server is authoritative for an intermediary server for servicing DNS requests for the selected query domain.

15. The computer-readable memory of claim 13 , the method further comprising:

receiving a DNS response;

parsing an answer portion of the DNS response such that a reply message is retrieved; and

storing the reply message.

16. The computer-readable memory of claim 13 , wherein the DNS lookup request is transmitted from one of:

a remote control device;

a suitcase;

a GPS sensing device;

a food package or carton;

a mail service letter or package;

a vehicle;

a fitness or personal health or activity tracker;

a light bulb; or

an HVAC system or control.

17. The computer-readable memory of claim 13 , the method further comprising:

in response to determining that the message is larger than a maximum size that may be embedded in a single DNS request,

distributing the message across multiple questions in a single DNS requests.

18. The computer-readable memory of claim 13 , wherein the message comprises instructions to the destination DNS server specifying that no response should be sent.

19. The computer-readable memory of claim 13 , wherein the generated message comprises GPS coordinates.

20. A computing system, having one or more memories and one or more processors, for communicating using embedded DNS messages, the computing system comprising:

a component configured to select a query domain corresponding to a destination DNS server, wherein the destination DNS server is authoritative for an intermediary server for servicing DNS requests for the selected query domain;

a component configured to generate a message configured to be parsed from a DNS lookup request by the destination DNS server as data distinct from a DNS domain of the DNS lookup request, wherein the message comprises an identification of a parsing algorithm to use to extract data from the DNS lookup request; and

a component configured to generate the DNS lookup request, the DNS lookup request comprising a question that includes a combination of at least a portion of the generated message and the query domain,

wherein each of the components comprises computer-executable instructions stored in the one or more memories for execution by the computing system.

21. The computing system of claim 20 , wherein the generated message comprises GPS coordinates.

Assignments (4)
RELEASE OF SECURITY INTEREST Recorded Mar 20, 2025
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS AGENT
To: IDENTITY DIGITAL INC. (FORMERLY KNOWN AS DONUTS, INC.)
Reel/Frame 070572/0404 →
ASSIGNMENT OF SECURITY INTEREST IN TRADEMARKS AND PATENTS Recorded Jan 19, 2021
From: BISF AGENT LLC, AS RESIGNING AGENT
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS SUCCESSOR AGENT
Reel/Frame 055029/0963 →
SECURITY INTEREST Recorded Dec 31, 2020
From: DONUTS INC.
To: BISF AGENT LLC, AS COLLATERAL AGENT
Reel/Frame 054785/0312 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 10, 2020
From: STAHURA, PAUL; COWHERD, CHRISTOPHER L.
To: DONUTS INC.
Reel/Frame 051481/0064 →