IP Library Granted Patent US 11,258,585
Granted Patent B2
US 11,258,585 · App. 16/363,313 · Granted Feb 22, 2022

Systems and methods for implementing robotics frameworks

Inventors: Viktor Barinov (Sunnyvale, CA); Tirthkumar Nilaykumar Pandya (Foster City, CA)
Assignee: Woven Planet North America, Inc.
H04L9/0643G06F9/3885H04L2209/84
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,258,585
App. No.
16/363,313
Granted
Feb 22, 2022
Kind
B2
Abstract

Systems, methods, and non-transitory computer-readable media can receive a message transmitted over a robotics framework implemented on a vehicle. A determination can be made that the message satisfies criteria for multi-threaded hashing. The message can be divided into two or more message segments. A hash can be independently computed for each message segment of the two or more message segments to generate two or more message segment hashes. A message hash can be determined for the message based on the two or more message segment hashes.

Claims (36)

1. A computer-implemented method comprising:

receiving, by a computing system, a message transmitted over a robotics framework implemented on a vehicle;

determining, by the computing system, that the message satisfies criteria for multi-threaded hashing;

determining a number of threads to be utilized for multi-threaded hashing of the message according to at least a message size of the message and by maximizing the number of threads while satisfying a minimum message segment size threshold;

dividing, by the computing system, the message into two or more message segments;

independently computing, by the computing system, a hash for each message segment of the two or more message segments to generate two or more message segment hashes; and

determining, by the computing system, a message hash for the message based on the two or more message segment hashes.

2. The computer-implemented method of claim 1 , wherein the criteria for multi-threaded hashing comprises a message size threshold.

3. The computer-implemented method of claim 1 , wherein the number of threads to be utilized is determined based on how many CPU cores are available for multi-threaded hashing of the message.

4. The computer-implemented method of claim 3 , wherein the number of threads to be utilized is determined further based on a message size of the message and a minimum message segment size threshold.

5. The computer-implemented method of claim 3 , wherein a number of message segments in the two or more message segments is equal to the number of threads.

6. The computer-implemented method of claim 1 , wherein each message segment of the two or more message segments is assigned to a respective CPU core of a plurality of CPU cores and hashes are computed for the two or more message segments in parallel.

7. The computer-implemented method of claim 1 , wherein each message segment hash is computed using a rolling hash algorithm.

8. The computer-implemented method of claim 7 , wherein each message segment hash is computed using a polynomial hash algorithm.

9. A system comprising:

at least one processor; and

a memory storing instructions that, when executed by the at least one processor, cause the system to perform:

receiving a message transmitted over a robotics framework implemented on a vehicle;

determining that the message satisfies criteria for multi-threaded hashing;

determining a number of threads to be utilized for multi-threaded hashing of the message according to at least a message size of the message and by maximizing the number of threads while satisfying a minimum message segment size threshold;

dividing the message into two or more message segments;

independently computing a hash for each message segment of the two or more message segments to generate two or more message segment hashes; and

determining a message hash for the message based on the two or more message segment hashes.

10. The system of claim 9 , wherein the criteria for multi-threaded hashing comprises a message size threshold.

11. The system of claim 10 , wherein the number of threads to be utilized is determined based on how many CPU cores are available for multi-threaded hashing of the message.

12. The system of claim 11 , wherein the number of threads to be utilized is determined further based on a minimum message segment size threshold.

13. A non-transitory computer-readable storage medium including instructions that, when executed by at least one processor of a computing system, cause the computing system to perform a method comprising:

receiving a message transmitted over a robotics framework implemented on a vehicle;

determining that the message satisfies criteria for multi-threaded hashing;

determining a number of threads to be utilized for multi-threaded hashing of the message according to at least a message size of the message and by maximizing the number of threads while satisfying a minimum message segment size threshold;

dividing the message into two or more message segments;

independently computing a hash for each message segment of the two or more message segments to generate two or more message segment hashes; and

determining a message hash for the message based on the two or more message segment hashes.

14. The non-transitory computer-readable storage medium of claim 13 , wherein the criteria for multi-threaded hashing comprises a message size threshold.

15. The non-transitory computer-readable storage medium of claim 6 , wherein the number of threads to be utilized is determined based on how many CPU cores are available for multi-threaded hashing of the message.

16. The non-transitory computer-readable storage medium of claim 15 , wherein the number of threads to be utilized is determined further based on a minimum message segment size threshold.

Assignments (4)
CHANGE OF NAME Recorded Jun 22, 2023
From: WOVEN PLANET NORTH AMERICA, INC.
To: WOVEN BY TOYOTA, U.S., INC.
Reel/Frame 064065/0601 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 20, 2021
From: LYFT, INC.; BLUE VISION LABS UK LIMITED
To: WOVEN PLANET NORTH AMERICA, INC.
Reel/Frame 056927/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 12, 2021
From: LYFT, INC.; MAGNA AUTONOMOUS SYSTEMS, LLC
To: LYFT, INC.; MAGNA AUTONOMOUS SYSTEMS, LLC
Reel/Frame 057434/0623 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 27, 2019
From: BARINOV, VIKTOR; PANDYA, TIRTHKUMAR NILAYKUMAR
To: LYFT, INC.
Reel/Frame 048710/0930 →