# US 12,182,166 B1 · Asset gateway service with cloning capabilities

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,182,166 B1
- Document ID: US12182166B1
- Status: Granted
- Kind: B1
- Application number: 18/459,148
- Filed: 2023-08-31
- Granted: 2024-12-31
- Earliest claimed: 2022-06-27
- Assignees: Samsara Inc.
- Applicants: Samsara Inc.
- Inventors: Jennifer Zhang; Wei Wu; Christopher Mozzocchi; Joanne Wang; Henry Qin; Christopher Cunningham Frost; Zach Dylag
- Web page: https://patentgrep.com/patent/US12182166B1

## CPC

- G06F 16/273: {Asynchronous replication or reconciliation}
- H04L 67/12: specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## 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

### Claim 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:
generate a first representation of a gateway device onboard an asset and associate the first representation with a first organization;
generate a second representation of the gateway device and associate the second representation with a second organization different from the first organization;
receive a log message comprising asset data captured by the gateway device onboard the asset and a first identifier corresponding to the first representation of the gateway device associated with the 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;
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 the queue for a service that writes a second portion of the asset data to a second datastore accessible by the second organization, wherein the second portion is different from the first portion.

### Claim 2 (depends on 1)

The computing device of claim 1, wherein the program instructions further direct the computing device to:
display a first view of the asset data in a first dashboard associated with the first organization, wherein the first view is based on the first portion of the asset data.

### Claim 3 (depends on 2)

The computing device of claim 2, wherein to generate the second version of the log message, the program instructions direct the computing device to generate a code unique to the second organization.

### Claim 4 (depends on 3)

The computing device of claim 3, wherein the program instructions further direct the computing device to:
receive the code from the second organization; and
responsive to receiving the code, activate the second representation of the gateway device.

### Claim 5 (depends on 4)

The computing device of claim 4, wherein to activate the second representation, the program instructions direct the computing device to display, on a second dashboard associated with the second organization, a second view based on the second portion of the asset data.

### Claim 6 (depends on 5)

The computing device of claim 5, wherein to generate the second version of the log message, the program instructions further direct the computing device to generate an expiration date for the second representation of the gateway device.

### Claim 7 (depends on 1)

The computing device of claim 1, wherein to generate the second version of the log message, the program instructions further direct the computing device to filter the asset data according to configuration information associated with the second organization.

### Claim 8 (depends on 7)

The computing device of claim 7, wherein to filter the asset data, the program instructions further direct the computing device to exclude personally identifiable information.

### Claim 9

A method of operating a computing system to clone asset data captured by a gateway device onboard an asset, the method comprising:
generating a first representation of a gateway device and associating the first representation with a first organization;
generating a second representation of the gateway device and associating the second representation with a second organization different from the first organization;
receiving a log message comprising asset data captured by the gateway device onboard an asset and a first identifier corresponding to the first representation of the gateway device associated with the 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;
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 the queue for a service that writes a second portion of the asset data to a second datastore accessible by the second organization, wherein the second portion is different from the first portion.

### Claim 10 (depends on 9)

The method of claim 9, further comprising displaying a first view of the asset data in a first dashboard associated with the first organization, wherein the first view is based on the first portion of the asset data.

### Claim 11 (depends on 10)

The method of claim 10, wherein generating the second version of the log message comprises generating a code unique to the second organization.

### Claim 12 (depends on 11)

The method of claim 11, further comprising:
receiving the code from the second organization; and
responsive to receiving the code, activating the second representation of the gateway device.

### Claim 13 (depends on 12)

The method of claim 12, wherein activating the second representation of the gateway device comprises displaying, on a second dashboard associated with the second organization, a second view based on the second portion of the asset data.

### Claim 14 (depends on 13)

The method of claim 13, wherein generating the second version of the log message further comprises generating an expiration date for the second representation of the gateway device.

### Claim 15 (depends on 9)

The method of claim 9, wherein generating the second version of the log message comprises filtering the asset data according to configuration information associated with the second organization.

### Claim 16 (depends on 15)

The method of claim 15, wherein filtering the asset data comprises excluding personally identifiable information.

### Claim 17

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 associating the first representation with the primary organization;
generating a second representation of the gateway device and associating the second representation with the subsidiary organization;
receiving 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 the primary organization;
persisting, in a 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 first configuration information for the first representation of the gateway device;
persisting, in a second datastore accessible by the subsidiary organization, at least a second portion of the asset data in association with the second representation of the gateway device based at least on second configuration information for the second representation of the gateway device; and
displaying a view of the asset data in a dashboard associated with the primary organization, wherein the view is based on the first portion of the asset data.

### Claim 18 (depends on 17)

The method of claim 17, further comprising displaying a second view of the asset data in a second dashboard associated with the subsidiary organization, wherein the second view is based on the second portion of the asset data.

### Claim 19 (depends on 18)

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

### Claim 20 (depends on 18)

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