IP Library Granted Patent US 11,659,060
Granted Patent B2
US 11,659,060 · App. 17/447,379 · Granted May 23, 2023

Device arrangement for deriving a communication data scheme

Inventors: Harrison Riley Davis (Oakland, CA); Elias Ray Dykaar (San Francisco, CA); Maxwell Anton Dergosits (San Francisco, CA); Ingo Gerhard Wiegand (San Francisco, CA); Justin Joel Delegard (West Chester, OH)
Assignee: Samsara Networks Inc.
H04L67/565G07C5/008H04L12/40006G07C2205/02H04L2012/40215H04L2012/40273
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,659,060
App. No.
17/447,379
Granted
May 23, 2023
Kind
B2
Abstract

Disclosed are systems, methods, and non-transitory computer-readable media for a device arrangement to derive unknown portions of a communication data scheme. A proxy node is established in a communication path between two nodes configured to transmit communications according to a communication bus standard. The communication data included in the communications transmitted between the nodes conforms to a communication data scheme. The proxy node logs communications transmitted between the nodes via the communication path, resulting in a communication log. The communication log can then be used to derive unknown portion of the communication data scheme, such as commands for requesting specified data types and the data format for transmitting data of specified data types.

Claims (36)

1. A method comprising:

establishing a communication path between a first node and a second node, a first portion of the communication path connecting the first node to a proxy node, and a second portion of the communication path connecting the proxy node to the second node;

causing a first node to transmit a request to a second node, the first node being connected to the second node via a communication path, the request being for data of a first data type;

logging, at a proxy node located within the communication path, a first communication transmitted from the first node to the second node as a result of causing the first node to transmit a request, and a second communication transmitted from the second node to the first node in response to the request; and

determining a data format used by the second node to transmit data of the first data type.

2. The method of claim 1 , wherein the data format used by the second node to transmit data of the first data type is determined based on the second communication.

3. The method of claim 1 , wherein the first node and the second node are configured to transmit communications according to a communication bus standard.

4. The method of claim 1 , wherein the first node is a vehicle diagnostic tool and the second node is a standardized communication port providing access to an on-board diagnostic system of a vehicle.

5. The method of claim 1 , wherein the second node is a standardized communication port providing access to a diagnostic system of an industrial machine.

6. The method of claim 1 , wherein the data format defines a unit of measurement in which data of the first data type is transmitted.

7. The method of claim 1 , wherein the data format defines an encoding used for transmitting data of the first data type.

8. The method of claim 1 , further comprising:

updating a file describing a communication data scheme based on the data format used by the second node to transmit data of the first data type.

9. The method of claim 1 , wherein logging the first communication comprises:

recording at least a portion of a set of communication data included in the first communication in a communication log; and

transmitting the first communication to the second node via the communication path.

10. A proxy node comprising:

one or more computer processors; and

one or more non-transitory computer-readable mediums storing instructions that, when executed by the one or more computer processors, cause the proxy node to perform operations comprising:

establishing a communication path between a first node and a second node, a first portion of the communication path connecting the first node to a proxy node, and a second portion of the communication path connecting the proxy node to the second node;

causing a first node to transmit a request to a second node, the first node being connected to the second node via a communication path, the request being for data of a first data type;

logging, at a proxy node located within the communication path, a first communication transmitted from the first node to the second node as a result of causing the first node to transmit a request, and a second communication transmitted from the second node to the first node in response to the request; and

determining a data format used by the second node to transmit data of the first data type.

11. The proxy node of claim 10 , wherein the data format used by the second node to transmit data of the first data type is determined based on the second communication.

12. The proxy node of claim 10 , wherein the first node and the second node are configured to transmit communications according to a communication bus standard.

13. The proxy node of claim 10 , wherein the first node is a vehicle diagnostic tool and the second node is a standardized communication port providing access to an on-board diagnostic system of a vehicle.

14. The proxy node of claim 10 , wherein the second node is a standardized communication port providing access to a diagnostic system of an industrial machine.

15. The proxy node of claim 10 , wherein the data format defines a unit of measurement in which data of the first data type is transmitted.

16. The proxy node of claim 10 , wherein the data format defines an encoding used for transmitting data of the first data type.

17. A non-transitory computer-readable medium storing instructions that, when executed by one or more computer processors of a proxy node, cause the proxy node to perform operations comprising:

establishing a communication path between a first node and a second node, a first portion of the communication path connecting the first node to a proxy node, and a second portion of the communication path connecting the proxy node to the second node;

causing a first node to transmit a request to a second node, the first node being connected to the second node via a communication path, the request being for data of a first data type;

logging, at a proxy node located within the communication path, a first communication transmitted from the first node to the second node as a result of causing the first node to transmit a request, and a second communication transmitted from the second node to the first node in response to the request; and

determining a data format used by the second node to transmit data of the first data type.

18. The proxy node of claim 17 , the operations further comprising:

updating a file describing a communication data scheme based on the data format used by the second node to transmit data of the first data type.

Assignments (3)
CHANGE OF NAME Recorded Jan 17, 2024
From: SAMSARA NETWORKS INC.
To: SAMSARA INC.
Reel/Frame 066154/0870 →
CORRECTIVE ASSIGNMENT TO CORRECT THE RECEIVING PARTY NAME TO SAMSARA NETWORKS INC. THAT WAS INCORRECTLY RECORDED AS SAMSARA INC. PREVIOUSLY RECORDED AT REEL: 057836 FRAME: 0406. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Nov 15, 2021
From: DAVIS, HARRISON RILEY; DYKAAR, ELIAS RAY; DERGOSITS, MAXWELL ANTON; WIEGAND, INGO GERHARD; DELEGARD, JUSTIN JOEL
To: SAMSARA NETWORKS INC.
Reel/Frame 058136/0143 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 19, 2021
From: DAVIS, HARRISON RILEY; DYKAAR, ELIAS RAY; DERGOSITS, MAXWELL ANTON; WIEGAND, INGO GERHARD; DELEGARD, JUSTIN JOEL
To: SAMSARA INC.
Reel/Frame 057836/0406 →
Continuity (2)
Continuation 16796762 · Feb 20, 2020
Related Publication 20220014601A1 · Jan 13, 2022
Cited By (37)
US 12,197,610 US 12,213,090 US 12,228,944 US 12,253,617 US 12,256,021 US 12,260,616 US 12,269,498 US 12,284,461 US 12,289,181 US 12,306,010 US 12,327,445 US 12,328,639 US 12,344,168 US 12,346,712 US 12,367,718 US 12,375,578 US 12,426,007 US 12,445,285 US 12,450,329 US 12,479,446 US 12,488,635 US 12,501,178 US 12,511,947 US 12,524,314 US 12,534,097 US 12,561,624 US 12,565,143 US 12,568,348 US 12,626,200 US 12,630,050 US 12,646,402 US 12,651,529 US 12,662,152 US 12,665,989 US 12,671,464 US 12,675,419 US 12,701,004