IP Library Granted Patent US 11,888,811
Granted Patent B2
US 11,888,811 · App. 17/564,040 · Granted Jan 30, 2024

Communication using DNS repurposing

Inventors: Paul Stahura (Sammanish, WA); Christopher L. Cowherd, Jr. (Bellevue, WA)
Assignee: Identity Digital Inc.
H04L61/4511G06F16/9537H04L2101/69
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,888,811
App. No.
17/564,040
Granted
Jan 30, 2024
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 computer-readable memory storing instructions configured to, when executed by a computing device, cause the computing device to perform a method, the method comprising:

receiving a DNS lookup request comprising at least a portion of an embedded message in a question portion of the DNS lookup request, the embedded message being distinct from a query domain of the DNS lookup request:

determining a parsing algorithm corresponding to the embedded message from among multiple parsing algorithms using an identifier associated with the embedded message;

applying the parsing algorithm to the question portion of the DNS lookup request to extract at least the portion of the embedded message; and

wherein the embedded message comprises instructions specifying:

when a response should be sent; or that the response should be sent to another device upon receiving a request from the other device.

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

a food package or carton;

a vehicle;

an HVAC system or control;

a plumbing fixture;

an irrigation system; or

a wall outlet.

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

a GPS sensing device;

a wearable device;

a microphone;

a video game controller;

a motion sensor; or

a weather sensor.

4. A computing system, having at least one memory and at least one processor, for communicating using embedded DNS messages, the system comprising:

an interface configured to receive a DNS lookup request comprising at least a portion of an embedded message in a question portion of the DNS lookup request, the embedded message being distinct from a query domain of the DNS lookup request:

a DNS message receiver configured to determine a parsing algorithm corresponding to the embedded message from among multiple parsing algorithms using an identifier associated with the embedded message;

a DNS message parser configured to apply the parsing algorithm to the question portion of the DNS lookup request to extract at least the portion of the embedded message; and

wherein the embedded message comprises instructions specifying:

when a response should be sent; or that the response should be sent to another device upon receiving a request from the other device.

5. The computing system of claim 4 , further comprising:

a message generator configured to generate a message configured to be parsed by a destination device from an answer portion of a DNS response, wherein the destination device has sent a DNS message to the system: and

a DNS response generator configured to generate the DNS response, the DNS response comprising an answer that includes the generated message;

wherein the interface is further configured to transmit the DNS response to the destination device.

6. The computing system of claim 4 , wherein the DNS message receiver is further configured to determine that the DNS lookup request is an embedded type of message.

7. The system of claim 6 , wherein the embedded message comprises GPS coordinates.

8. The computing system of claim 4 , further comprising:

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

9. The computing system of claim 4 , wherein the embedded message comprises instructions to a destination DNS server specifying that a response should be sent to a device other than the device that originated the DNS lookup request.

10. The computing system of claim 4 , wherein the embedded message comprises instructions specifying that no response should be sent.

11. The computing system of claim 4 , wherein the DNS lookup request is transmitted from one of:

a remote control device;

a suitcase:

a mail service letter or package;

a light bulb;

an ingestible or implanted device; or

a wallet or electronic credit card.

12. The computing system of claim 4 , wherein the DNS lookup request is transmitted from one of:

a fitness or personal health or activity tracker;

a smartphone;

a battery;

a camera:

a beacon; or

a speaker.

13. A computing system for communicating using embedded DNS messages, the computing system comprising:

one or more memories;

one or more processors;

a component configured to select a query domain corresponding to a destination DNS server;

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 from among multiple parsing algorithms to use to extract data from the DNS lookup request; and

a component configured to generate the DNS lookup request, wherein each component comprises computer-executable instructions stored in the one or memories for execution by the computing system; and

wherein the embedded message comprises instructions specifying: when a response should be sent, or that the response should be sent to an other device upon receiving a request from the other device.

14. The computing system of claim 13 , wherein the DNS lookup request comprises a question that includes a combination of at least a portion of the generated message and the query domain.

15. The computing system of claim 13 , further comprising:

a component configured to embed the generated message in the DNS lookup request by concatenating the generated message before a character in the DNS lookup request to produce a first string and concatenating the first string before the query domain in the DNS lookup request.

16. The computing system of claim 13 , wherein the message is configured to be combined with the query domain to fit within a question portion of the DNS lookup request.

17. The computing system of claim 13 , wherein the destination DNS server is authoritative for an intermediary server for servicing DNS requests for the selected query domain.

18. The computing system of claim 13 , further comprising: a component configured to encode 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.

Assignments (2)
CHANGE OF NAME Recorded Oct 31, 2023
From: DONUTS INC.
To: IDENTITY DIGITAL INC.
Reel/Frame 065413/0093 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 29, 2021
From: STAHURA, PAUL; COWHERD, CHRISTOPHER L.
To: DONUTS, INC.
Reel/Frame 058500/0753 →
Continuity (3)
Continuation 16432137 · Jun 5, 2019
Continuation 14569208 · Dec 12, 2014
Related Publication 20220124064A1 · Apr 21, 2022