IP Library › Granted Patent US 12,552,025
Granted Patent B1
US 12,552,025 · App. 17/806,417 · Granted Feb 17, 2026

Remote development of embedded systems

Inventor: Adi Singh (Munich, DE)
Assignee: Amazon Technologies, Inc.
B25J9/1656B25J13/006G06Q10/02G06Q10/06311H04L47/825H04L47/827
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 12,552,025
App. No.
17/806,417
Granted
Feb 17, 2026
Kind
B1
Abstract

A system for remote development of a robotic device is described. The robotic device comprising an embedded computing system and one or more subsystems, wherein the embedded computing system is programmable to control performance of respective operations of the one or more subsystems. The system includes a network tunneling system to receive, via an interface, one or more requests to specify an access configuration for the robotic device. The network tunneling system also receives a request to start a development session on the robotic device for a remote client. The network tunneling system evaluates the access configuration to determine that the request for the development session is permitted. The network tunneling system establishes a managed connection between the remote client and the embedded computing system of the robotic device to start the development session.

Claims (52)

1 . A system, comprising:

a robotic device comprising an embedded computing system and one or more subsystems, wherein the embedded computing system is programmable to control performance of respective operations of the one or more subsystems; and

a network tunneling system, comprising one or more computing devices, configured to:

receive, via an interface, one or more requests to specify an access configuration for the robotic device;

receive a request to start a development session on the robotic device for a remote client;

evaluate the access configuration to determine that the request for the development session is permitted; and

establish a managed connection between the remote client and the embedded computing system of the robotic device to start the development session, wherein the managed connection prevents an elevated command that requires a password and is received via the managed connection from being sent to and performed at the embedded computing system.

2 . The system of claim 1 , wherein to evaluate the access configuration to determine that the request for the development session is permitted, the network tunneling system is configured to evaluate a reservation schedule for the robotic device maintained as part of the access configuration.

3 . The system of claim 2 , wherein the network tunneling system is further configured to:

terminate the managed connection between the embedded computing system and the remote client after determining that a period of time has elapsed.

4 . The system of claim 3 , wherein the network tunneling system is further configured to send a termination indication to the robotic device that indicates the managed connection has been terminated, and wherein the robotic device is further configured to, in response to the termination indication, reset the robotic device to a default state.

5 . The system of claim 1 , further comprising:

a camera configured to:

capture video data stream of the robotic device; and

send the video data stream to the network tunneling system; and

wherein the network tunneling system is further configured to send the video data stream to the remote client via the managed connection.

6 . A method, comprising:

receiving, at a managed tunneling system via an interface, a request to start a remote access session on an embedded computing system for a remote client;

determining, by the managed tunneling system, that the request to start the remote access session is permitted according to an access configuration specified for the embedded computing system via an interface of the managed tunneling system, wherein the access configuration determines access controls for a plurality of different remote clients including the remote client; and

establishing, by the managed tunneling system, a managed connection between the remote client and the embedded computing system according to the access controls to start the development session, wherein the managed connection prevents an elevated command that requires a password and is received via the managed connection from being sent to and performed at the embedded computing system.

7 . The method of claim 6 , wherein determining that the request to start the remote access session is permitted comprises evaluating a reservation schedule for the embedded computing system maintained as part of the access configuration.

8 . The method of claim 7 , further comprising:

terminating the managed connection between the embedded computing system and the remote client after determining that a period of time has elapsed.

9 . The method of claim 8 , further comprising:

sending a termination indication to the embedded computing system that indicates the managed connection has been terminated.

10 . The method of claim 8 , further comprising:

resetting the embedded computing system to a previous state in response to terminating the managed connection between the embedded computing system and the remote client.

11 . The method of claim 10 , further comprising:

sending a notification to an administrator indicating that the rejected command was received from the remote client.

12 . The method of claim 7 , further comprising:

receiving an access modification request specifying one or more changes to the access configuration, wherein the one or more changes modify one or more of the reservation schedule, permitted clients, or command permissions for the embedded computing system.

13 . The method of claim 6 , further comprising:

receiving, from the remote client via the interface, a command to be sent to the embedded computing system;

determining whether the command is permitted according to the access configuration; and

based on a determination that the command is not permitted, rejecting the command.

14 . One or more computer-readable storage media storing instructions that, when executed on or across one or more processors, cause the one or more processors to:

in response to a request to start a remote access session on an embedded computing system for a remote client via a managed tunneling system, determine that the request to start the remote access session is permitted according to an access configuration specified for the embedded computing system via an interface of the managed tunneling system, wherein the access configuration determines access controls for a plurality of different remote clients including the remote client; and

establish a managed connection between the remote client and the embedded computing system according to the access controls to start the development session, wherein the managed connection prevents an elevated command that requires a password and is received via the managed connection from being sent to and performed at the embedded computing system.

15 . The one or more computer-readable storage media of claim 14 , wherein to determine that the request to start the remote access session is permitted, the one or more computer-readable storage media further comprises instructions that cause the one or more processors to:

evaluate a reservation schedule for the embedded computing system maintained as part of the access configuration.

16 . The one or more computer-readable storage media of claim 15 , further comprising instructions that, when executed on or across the one or more processors, cause the one or more processors to:

terminate the managed connection between the embedded computing system and the remote client after determining that a period of time has elapsed.

17 . The one or more computer-readable storage media of claim 16 , further comprising instructions that, when executed on or across the one or more processors, cause the one or more processors to:

send a termination indication to the embedded computing system that indicates the connection has been terminated; and

reset the embedded computing system to a previous state.

18 . The one or more computer-readable storage media of claim 15 , further comprising instructions that, when executed on or across the one or more processors, cause the one or more processors to:

in response to an access modification request specifying one or more changes to the access configuration, modify one or more of the reservation schedule, permitted clients, or command permissions of the access configuration for the embedded computing system.

19 . The one or more computer-readable storage media of claim 14 , further comprising instructions that, when executed on or across the one or more processors, cause the one or more processors to:

in response to receiving, from the remote client, a command to be sent to the embedded computing system, determine whether the command is permitted according to the access configuration; and

based on a determination that the command is not permitted, reject the command.

20 . The one or more computer-readable storage media of claim 14 , further comprising instructions that, when executed on or across the one or more processors, cause the one or more processors to:

send a notification to an administrator indicating that the rejected command was received from the remote client.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 14, 2022
From: SINGH, ADI
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 060192/0733 →
References Cited (15)
US 8799354B2 · Thomas et al. · 2014 [cited by applicant]
US 10277531B2 · Jackson · 2019 [cited by applicant]
US 10279476B2 · Jaekel et al. · 2019 [cited by applicant]
US 10701145B1 · Islam · 2020 [cited by examiner]
US 20050050148A1 · Mohammadioun · 2005 [cited by examiner]
US 20080046121A1 · Pao et al. · 2008 [cited by applicant]
US 20150326500A1 · Jackson · 2015 [cited by examiner]
US 20160337412A1 · Duby · 2016 [cited by examiner]
US 20190327309A1 · Henning · 2019 [cited by examiner]
US 20190342170A1 · Pathak · 2019 [cited by examiner]
US 20200102926A1 · Jaggi · 2020 [cited by examiner]
US 20200153967A1 · Cermak · 2020 [cited by examiner]
US 20210158814A1 · Hussain · 2021 [cited by examiner]
US 20210392142A1 · Stephens · 2021 [cited by examiner]
Brake, “BEC Systems-Remote access for embedded systems behind a firewall”, Jan. 9, 2009. (Year: 2009). [cited by examiner]