IP Library Granted Patent US 12,298,933
Granted Patent B2
US 12,298,933 · App. 18/555,473 · Granted May 13, 2025

Message based processor with transmission disabling mode

Inventor: Orlando Miguel Pires dos Reis Moreira (Eindhoven, NL)
Assignee: Snap Inc.
G06F15/80G06F9/546
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,298,933
App. No.
18/555,473
Granted
May 13, 2025
Kind
B2
Abstract

A message based processor comprises at least one processor cluster with a plurality of cluster elements each having a respective addressable storage space to store a state value indicative of its state, message handling utilities that are configured to receive input messages that designate specific ones of the plurality of cluster elements, and computation utilities that are configured to update a state value stored in the respective storage element of the designated cluster element. The addressable storage space of each cluster element further stores an operational mode indicator that is indicative of an operational mode of each cluster element. The operational mode is selected from at least one of transmission enabling operational mode and transmission disabling operational mode. The message handling utilities selectively transmit output messages for a cluster element to one or more cluster elements based on the operational mode.

Claims (33)

1. A message based processor having at least one processor cluster, the at least one processor cluster comprising:

a plurality of processor cluster elements, each processor cluster element of the plurality of processor cluster elements having a respective addressable storage space to store a state value indicative of a state of the processor cluster element;

common control utilities;

common computation utilities; and

common message handling utilities,

wherein the addressable storage space of each processor cluster element of the plurality of processor cluster elements further stores an operational mode indicator that is indicative of an operational mode of the processor cluster element, the operational mode being selected from at least one of a first, transmission enabling operational mode and a second, transmission disabling operational mode,

wherein the common message handling utilities are configured to:

receive input messages that designate specific ones of the plurality of processor cluster elements, the common computation utilities being configured to update the state value stored in a respective storage element of each designated processor cluster element of the specific ones of the plurality of processor cluster elements, and

selectively transmit output messages for a particular processor cluster element of the specific ones of the plurality of processor cluster elements to one or more other processor cluster elements of the plurality of processor cluster elements based on the operational mode of the particular processor cluster element,

wherein the common control utilities, upon setting the particular processor cluster element to the transmission disabling operational mode, also cause the common message handling utilities to transmit, with a delay, a re-enable control message to the particular processor cluster element, upon receipt of which the transmission enabling operational mode is to be reassumed.

2. The message based processor according to claim 1 , wherein the common control utilities, upon determining that the particular processor cluster element is in the transmission enabling operational mode, are configured to cause the common message handling utilities to transmit an output message before setting the particular processor cluster element to the transmission disabling operational mode.

3. The message based processor according to claim 1 , wherein transmission of an output message for the particular processor cluster element in the transmission enabling operational mode is postponed by first setting the particular processor cluster element to the transmission disabling operational mode and disabling transmission of the output message until the particular processor cluster element receives the re-enable control message.

4. The message based processor according to claim 1 , wherein the at least one processor cluster with the plurality of processor cluster elements embodies a neural network with neural elements, and wherein the state value corresponds to an action potential.

5. The message based processor according to claim 4 , wherein the re-enable control message conveys a state value of the particular processor cluster element at a time of transmission, and wherein the particular processor cluster element only performs preparatory steps for generating an output message if its state value has changed substantially relative to the state value conveyed by the re-enable control message.

6. The message based processor according to claim 5 , wherein an additional state register stores a binary value of a state value change indicator that is indicative of a direction of a previous state change exceeding a threshold value with respect to the particular processor cluster element, wherein selectively transmitting the output messages is further based on the binary value of the state value change indicator for the particular processor cluster element.

7. The message based processor according to claim 1 , wherein the common message handling utilities comprise a first message handling utility to handle update messages to update a state of each designated processor cluster element of the specific ones of the plurality of processor cluster elements and a message buffer unit to deliver re-enable control messages.

8. The message based processor according to claim 7 , wherein the message buffer unit comprises a FIFO-message buffer and comprises a clock-unit that compares a current time of a day with a time-stamp of an oldest message in the FIFO-message buffer, the message buffer unit being configured to deliver the oldest message if the clock-unit indicates that a predetermined period of time has lapsed since a point in time indicated by the time-stamp.

9. The message based processor according to claim 8 , wherein the message buffer unit delivers the oldest message if the FIFO-message buffer is full, regardless of whether or not the predetermined period of time has lapsed.

10. A method for operating a message based processor comprising at least one processor cluster with a plurality of processor cluster elements and common control utilities, common computation utilities, and common message handling utilities for the plurality of processor cluster elements, each processor cluster element of the plurality of processor cluster elements having a respective addressable storage space to store a state value indicative of a state of the processor cluster element and an operational mode indicator that is indicative of an operational mode of the processor cluster element, the operational mode being selected by the common control utilities from at least one of a first, transmission enabling operational mode and a second, transmission disabling operational mode, the method comprising:

receiving an input message that designates a specific one of the plurality of processor cluster elements;

updating, by the common computation utilities, the stored state value of the designated processor cluster element; and

based on the operational mode of the designated processor cluster element, selectively transmitting, by the message handling utilities, output messages directed from the designated processor cluster element to one or more other processor cluster elements of the plurality of processor cluster elements,

wherein the common control utilities, upon setting the designated processor cluster element to the transmission disabling operational mode, also cause the common message handling utilities to transmit, with a delay, a re-enable control message to the designated processor cluster element, upon receipt of which the transmission enabling operational mode is to be reassumed.

11. The method according to claim 10 , wherein the common control utilities, upon determining that the designated processor cluster element is in the transmission enabling operational mode, are configured to cause the common message handling utilities to transmit an output message before setting the designated processor cluster element to the transmission disabling operational mode.

12. The method according to claim 10 , wherein the common control utilities, upon determining that the designated processor cluster element is in the transmission enabling operational mode, are configured to cause the common message handling utilities to postpone transmission of an output message for the designated processor cluster element by first setting the designated processor cluster element to the transmission disabling operational mode and to enable transmission of the output message when the designated processor cluster element receives the re-enable control message.

13. The method according to claim 10 , wherein the at least one processor cluster with the plurality of processor cluster elements executes a neural network with neural elements, and wherein the state value corresponds to an action potential.

14. The method according to claim 13 , wherein the designated processor cluster element executes a particular neural element of the neural elements, and wherein selectively transmitting an output message for the designated processor cluster element is further subject to the action potential of the particular neural element having changed substantially.

15. The method according to claim 14 , further comprising dynamically controlling a duration of the delay with which the re-enable control message is transmitted.

16. A non-volatile record carrier, comprising a computer program, which when executed by a programmable processor causes the programmable processor to perform the method of claim 10 .

17. The method according to claim 10 , wherein an additional state register stores a binary value of a state value change indicator that is indicative of a direction of a previous state change exceeding a threshold value with respect to the designated processor cluster element, wherein selectively transmitting the output messages is further based on the binary value of the state value change indicator for the designated processor cluster element.

18. The method according to claim 10 , wherein the common message handling utilities comprise a first message handling utility to handle update messages to update a state of the designated processor cluster element and a message buffer unit to deliver re-enable control messages.

19. The method according to claim 18 , wherein the message buffer unit comprises a FIFO-message buffer and comprises a clock-unit that compares a current time of a day with a time-stamp of an oldest message in the FIFO-message buffer, the message buffer unit being configured to deliver the oldest message if the clock-unit indicates that a predetermined period of time has lapsed since a point in time indicated by the time-stamp.

20. The method according to claim 19 , wherein the message buffer unit delivers the oldest message if the FIFO-message buffer is full, regardless of whether or not the predetermined period of time has lapsed.

Assignments (7)
CORRECTIVE ASSIGNMENT TO CORRECT THE CONVEYING PARTY NAME PREVIOUSLY RECORDED AT REEL: 69072 FRAME: 717. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Apr 8, 2025
From: GRAI MATTER LABS S.A.S.
To: SNAP INC.
Reel/Frame 070769/0791 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE THE PERIOD AFTER THE NAME OF THE RECEIVING PARTY PREVIOUSLY RECORDED ON REEL 68735 FRAME 232. ASSIGNOR(S) HEREBY CONFIRMS THE THE ASSIGNMENT. Recorded Apr 8, 2025
From: GRAI MATTER LABS S.A.S.
To: SNAP GROUP SAS
Reel/Frame 070769/0837 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 30, 2024
From: PIRES DOS REIS MOREIRA, ORLANDO MIGUEL
To: SNAP B.V.
Reel/Frame 068734/0561 →
MERGER Recorded Sep 30, 2024
From: GRAI MATTER LABS S.A.S.
To: SNAP GROUP SAS.
Reel/Frame 068735/0232 →
MERGER Recorded Sep 30, 2024
From: GRAI MATTER LABS B.V.
To: SNAP B.V.
Reel/Frame 068735/0341 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 30, 2024
From: SNAP B.V.
To: SNAP GROUP SAS
Reel/Frame 068734/0513 →
IP TRANSFER AGREEMENT Recorded Sep 30, 2024
From: GRAI MATTER LABS
To: SNAP INC.
Reel/Frame 069072/0717 →
Priority Claims (1)
EP 21290022 · Apr 16, 2021 · regional
Continuity (1)
Related Publication 20240211430A1 · Jun 27, 2024
References Cited (22)
US 6072781A · Feeney et al. · 2000 [cited by applicant]
US 8302109B2 · Arimilli · 2012 [cited by examiner]
US 8984256B2 · Fish · 2015 [cited by examiner]
US 10255077B2 · Ben-Kiki · 2019 [cited by examiner]
US 11321126B2 · Cayssials · 2022 [cited by examiner]
US 11842230B2 · Pires Dos Reis Moreira et al. · 2023 [cited by applicant]
US 11960946B2 · Yousefzadeh et al. · 2024 [cited by applicant]
CN 117529710 · 2024 [cited by applicant]
EP 3605401A1 · 2020 [cited by applicant]
EP 3716153A1 · 2020 [cited by applicant]
EP 4075275A1 · 2022 [cited by applicant]
EP 4323873 · 2024 [cited by applicant]
KR 20240016953 · 2024 [cited by applicant]
WO WO2022219201A1 · 2022 [cited by applicant]
“European Application Serial No. 21290022.9, Extended European Search Report mailed Nov. 18, 2021”, 11 pgs. [cited by applicant]
“International Application Serial No. PCT/EP2022/060300, International Search Report mailed Jul. 27, 2022”, 5 pgs. [cited by applicant]
“International Application Serial No. PCT/EP2022/060300, Written Opinion mailed Jul. 27, 2022”, 7 pgs. [cited by applicant]
“Chinese Application Serial No. 202280040516.1, Voluntary Amendment filed Jun. 19, 2024”, W/ Current English Claims, 34 pgs. [cited by applicant]
“European Application Serial No. 22719308.3, Response to Communication pursuant to Rules 161(1) and 162 EPC filed Jan. 5, 2024”, 17 pgs. [cited by applicant]
“European Application Serial No. 21290022.9, Noting of loss of rights pursuant to Rule 112(1) EPC mailed May 16, 2023”, 2 pgs. [cited by applicant]
“International Application Serial No. PCT/EP2022/060300, International Preliminary Report on Patentability mailed Oct. 26, 2023”, 9 pgs. [cited by applicant]
“PCT Direct Letter submitted with International Application Serial No. PCT/EP2022/060300 mailed Apr. 19, 2022”, 34 pgs. [cited by applicant]