IP Library Granted Patent US 11,748,377
Granted Patent B1
US 11,748,377 · App. 17/930,252 · Granted Sep 5, 2023

Asset gateway service with cloning capabilities

Inventors: Jennifer Zhang (San Francisco, CA); Wei Wu (San Francisco, CA); Christopher Mozzocchi (Denver, CO); Joanne Wang (Los Gatos, CA); Henry Qin (San Francisco, CA); Christopher Cunningham Frost (San Francisco, CA); Zach Dylag (San Francisco, CA)
Assignee: Samsara Inc.
G06F16/273
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,748,377
App. No.
17/930,252
Filed
Sep 7, 2022
Granted
Sep 5, 2023
Kind
B1
Art Unit
2161
USPC
707/613
Abstract

In various implementations, an asset gateway service receives log messages comprising asset data captured by a gateway device associated with an asset. The log messages each include a first identifier corresponding to a first representation of the gateway device, which itself is associated with a first organization. The service persists data from the log to a first datastore accessible by the first organization. The service also determines whether a second representation of the gateway device (i.e., a clone) exists. If so, the service persists at least some of the data from the log message to a second datastore, which itself may be associated with a second organization, thereby allowing both organizations to access the data in a secure yet convenient manner.

Claims (61)

1. A computing device comprising:

one or more computer readable storage media;

one or more processors operatively coupled with the one or more computer readable storage media; and

program instructions stored on the one or more computer readable storage media that, when executed by the one or more processors, direct the computing device to at least:

receive a log message comprising asset data captured by a gateway device onboard an asset, and a first identifier corresponding to a first representation of the gateway device associated with a first organization;

place the log message in a queue for a service that writes a first portion of the asset data to a first datastore accessible by the first organization;

determine that at least a second representation of the gateway device associated with a second organization exists;

generate a second version of the log message comprising the asset data and a second identifier corresponding to the second representation of the gateway device; and

place the second version of the log message in a same queue as the queue into which the log message was placed.

2. The computing device of claim 1 wherein the program instructions further direct the computing device to:

write the first portion of the asset data to the first datastore; and

remove the log message from the queue upon writing the first portion of the asset data to the first datastore.

3. The computing device of claim 1 wherein the program instructions further direct the computing device to at least:

determine which portion of the asset data to persist in the first datastore based at least on the first identifier;

determine which portion of the asset data to persist in a second datastore based at least on the second identifier, wherein the second datastore is accessible by the second organization; and

write a second portion of the asset data to the second datastore.

4. The computing device of claim 3 wherein to determine the portion of the asset data to persist in the first datastore, based at least on the first identifier, the program instructions further direct the computing device to at least:

access configuration information for the first representation of the gateway device based on the first identifier, wherein the configuration information for the first representation of the gateway device specifies which portions of the asset data to persist in the first datastore.

5. The computing device of claim 4 wherein to determine the portion of the asset data to persist in the second datastore, based at least on the second identifier, the program instructions further direct the computing device to at least:

access configuration information for the second representation of the gateway device based on the second identifier, wherein the configuration information for the second representation of the gateway device specifies which portions of the asset data to persist in the second datastore.

6. The computing device of claim 4 wherein the second organization controls at least a portion of the configuration information for the first representation of the gateway device corresponding to the first portion of the asset data.

7. The computing device of claim 6 wherein the first organization owns the asset, and the second organization is subsidiary to the first organization.

8. The computing device of claim 1 wherein to determine that at least the second representation of the gateway device exists, the program instructions further direct the computing device to at least:

determine that other representations of the gateway device are enabled by the first organization; and

identify the second representation of the gateway device based at least in part on the first identifier for the first representation of the gateway device.

9. The computing device of claim 3 wherein the first portion of the asset data and the second portion of the asset data comprise different portions of the asset data with respect to each other.

10. The computing device of claim 3 wherein the first portion of the asset data comprises a subset of the second portion of the asset data.

11. A method of operating a computing system to clone asset data captured by a gateway device onboard an asset, the method comprising:

receiving a log message comprising the asset data and a first identifier corresponding to a first representation of the gateway device associated with a first organization;

placing the log message in a queue for a service that writes a first portion of the asset data to a first datastore accessible by the first organization;

determining that at least a second representation of the gateway device associated with a second organization exists;

generating a second version of the log message comprising the asset data and a second identifier corresponding to the second representation of the gateway device; and

placing the second version of the log message in a same queue as the queue into which the log message was placed.

12. The method of claim 11 further comprising:

writing the first portion of the asset data to the first datastore; and

removing the log message from the queue upon writing the first portion of the asset data to the first datastore.

13. The method of claim 11 further comprising:

determining which portion of the asset data to persist in a second datastore based at least on the second identifier, wherein the second datastore is accessible by the second organization; and

writing a second portion of the asset data to the second datastore.

14. The method of claim 13 wherein determining the portion of the asset data to persist in the first datastore, based at least on the first identifier comprises:

accessing configuration information for the first representation of the gateway device based on the first identifier, wherein the configuration information for the first representation of the gateway device specifies which portions of the asset data to persist in the first datastore.

15. The method of claim 14 wherein determining the portion of the asset data to persist in the second datastore, based at least on the second identifier comprises:

accessing configuration information for the second representation of the gateway device based on the second identifier, wherein the configuration information for the second representation of the gateway device specifies which portions of the asset data to persist in the second datastore.

16. The method of claim 14 wherein the second organization controls at least a portion of the configuration information for the first representation of the gateway device corresponding to the first portion of the asset data.

17. The method of claim 16 wherein the first organization owns the asset, and the second organization is subsidiary to the first organization.

18. A method of operating a computing device to clone device data in association with one or more representations of a gateway device, the method comprising:

subsequent to receiving a request from a primary organization, creating a subsidiary organization within a tenant environment of the primary organization;

generating a first representation of the gateway device and associate the first representation with the primary organization;

generating a second representation of the gateway device and associate the second representation with the subsidiary organization;

receiving a log message comprising asset data captured by the gateway device, and a first identifier corresponding to the first representation of the gateway device;

persisting, in a first datastore accessible by the primary organization, at least a first portion of the asset data in association with the first representation of the gateway device based at least on configuration information for the first representation of the gateway device, wherein the subsidiary organization controls at least a portion of the configuration information for the first representation of the gateway device corresponding to the first portion of the asset data; and

persisting, in a second datastore accessible by the subsidiary organization, at least a second portion of the asset data in association with a second identifier corresponding to the second representation of the gateway device.

19. The method of claim 18 wherein persisting at least the first portion of the asset data in association with the first representation of the gateway device comprises:

placing the log message in a queue for a service that writes the first portion of the asset data to the first datastore;

determining which portion of the asset data to persist in the first datastore based least further on the first identifier in the log message;

writing the first portion of the asset data to the first datastore; and

removing the log message from the queue upon writing the first portion of the asset data to the first datastore.

20. The method of claim 19 wherein persisting at least the second portion of the asset data in association with the second identifier corresponding to the second representation of the gateway device comprises:

generating a second version of the log message comprising the asset data and the second identifier corresponding to the second representation of the gateway device;

placing the second version of the log message in a same queue as the queue into which the log message was placed; and

writing the second portion of the asset data to the second datastore accessible by the subsidiary organization.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 4, 2022
From: ZHANG, JENNIFER; WU, WEI; MOZZOCCHI, CHRISTOPHER; WANG, JOANNE; QIN, HENRY; FROST, CHRISTOPHER CUNNINGHAM; DYLAG, ZACH
To: SAMSARA INC.
Reel/Frame 061298/0805 →
Continuity (1)
Provisional Application 63355818 · Jun 27, 2022
Cited By (36)
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,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,426,007 US 12,445,285 US 12,450,329 US 12,479,446 US 12,481,649 US 12,501,178 US 12,511,947 US 12,511,952 US 12,524,314 US 12,534,097 US 12,561,624 US 12,565,143 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 US 12,730,425