IP Library Granted Patent US 12,348,608
Granted Patent B2
US 12,348,608 · App. 17/899,648 · Granted Jul 1, 2025

Secure and efficient distributed processing

Inventors: Miriam Menes (Tel Aviv, IL); Liran Liss (Atzmon, IL); Noam Bloch (Bat Shlomo, IL); Idan Burstein (Akko, IL); Boris Pismenny (Haifa, IL); Ariel Shahar (Jerusalem, IL)
Assignee: Mellanox Technologies, Ltd.
H04L9/00G06F9/3877G06F9/4881G06F9/5027G06F9/5072H04L9/006H04L9/08H04L9/0816H04L9/0861
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,348,608
App. No.
17/899,648
Granted
Jul 1, 2025
Kind
B2
Abstract

In one embodiment, a secure distributed processing system includes nodes connected over a network, and configured to process tasks, each respective one of the nodes including a respective processor to process data of respective ones of the tasks, and a respective network interface controller to connect to other nodes over the network, store task master keys for use in computing communication keys for securing data transfer over the network for respective ones of the tasks, compute respective task and node-pair specific communication keys for securing communication with respective ones of the nodes over the network for respective ones of the tasks responsively to respective ones of the task master keys and node-specific data of respective node pairs, and securely communicate the processed data of the respective ones of the tasks with the respective ones of the nodes over the network responsively to the respective task and node-pair specific communication keys.

Claims (61)

1. A secure distributed processing system, comprising a plurality of nodes connected over a network, and configured to process a plurality of tasks, each respective one of the nodes including:

a respective processor to process data of respective ones of the tasks; and

a respective network interface controller (NIC) to:

connect to other ones of the nodes over the network;

store task master keys for use in computing communication keys for securing data transfer over the network for respective ones of the tasks;

compute respective task and node-pair specific communication keys for securing communication with respective ones of the nodes over the network for respective ones of the tasks responsively to respective ones of the task master keys and node-specific data of respective pairs of the nodes; and

securely communicate the processed data of the respective ones of the tasks with the respective ones of the nodes over the network responsively to the respective task and node-pair specific communication keys.

2. The system according to claim 1 , wherein each respective one of the tasks is processed as a respective distributed process by more than one of the nodes.

3. The system according to claim 1 , wherein respective ones of the tasks are performed for tenants.

4. The system according to claim 3 , wherein the respective processor includes a graphics processing unit (GPU) configured to process data of respective ones of the tasks for respective ones of the tenants.

5. The system according to claim 4 , wherein each respective one of the tasks is processed as a respective distributed process by more than one of the nodes.

6. The system according to claim 1 , wherein one of the nodes in each of the respective pairs of the nodes is configured to generate a respective nonce, the node-specific data of each of the respective pairs of the nodes comprising the respective nonce.

7. The system according to claim 6 , wherein the node-specific data of the respective pairs of the nodes comprise address information of the respective pairs of the nodes.

8. The system according to claim 1 , wherein the node-specific data of the respective pairs of the nodes comprise address information of the respective pairs of the nodes.

9. The system according to claim 1 , wherein the respective NIC is configured to compute the task and node-pair specific communication keys responsively to setting up new connections with the respective ones of the nodes over the network so that for each new connection with a respective one of the nodes the respective NIC is configured to compute a corresponding new task and node-pair specific communication key.

10. The system according to claim 9 , wherein the respective NIC is configured to:

set up a first connection with a given one of the nodes;

compute a first task and node-pair specific communication key for the first connection responsively to a first nonce;

securely communicate with the given one of the nodes responsively to the first task and node-pair specific communication key;

dismantle the first connection;

set up a second connection with a given one of the nodes;

compute a second task and node-pair specific communication key for the second connection responsively to a second nonce, different to the first nonce; and

securely communicate with the given one of the nodes responsively to the second task and node-pair specific communication key.

11. The system according to claim 10 , wherein each respective one of the tasks is processed as a respective distributed process by more than one of the nodes.

12. The system according to claim 10 , wherein the respective NEC is configured to:

generate the first nonce responsively to a first connection request from the given one of the nodes; and

generate the second nonce responsively to a second connection request from the given one of the nodes.

13. The system according to claim 12 , wherein the respective NIC is configured to:

compute the first task and node-pair specific communication key for the first connection responsively to the first nonce and address information of the respective node of the respective NIC and the given one of the nodes; and

compute the second task and node-pair specific communication key for the second connection responsively to the second nonce and the address information of the respective node of the respective NIC and the given one of the nodes.

14. The system according to claim 1 , wherein the respective NIC is configured to:

reserve hardware resources responsively to a request from a given one of the nodes to establish a connection with the respective node of the respective NIC; and

cancel reservation of the hardware resources after a given timeout responsively to not successfully decrypting data received from the given one of the nodes.

15. A secure distributed processing method, comprising:

processing data of respective ones of a plurality of tasks;

connecting to other ones of a plurality of nodes connected over a network;

storing task master keys for use in computing communication keys for securing data transfer over the network for respective ones of the tasks;

computing respective task and node-pair specific communication keys for securing communication with respective ones of the nodes over the network for respective ones of the tasks responsively to respective ones of the task master keys and node-specific data of respective pairs of the nodes; and

securely communicating the processed data of the respective ones of the tasks with the respective ones of the nodes over the network responsively to the respective task and node-pair specific communication keys.

16. The method according to claim 15 , wherein each respective one of the tasks is processed as a respective distributed process by more than one of the nodes.

17. The method according to claim 15 , wherein respective ones of the tasks are performed for tenants by a graphics processing unit (GPU).

18. The method according to claim 15 , further comprising generating a respective nonce for each of the respective pairs of the nodes, the node-specific data of each of the respective pairs of the nodes comprising the respective nonce.

19. The method according to claim 18 , wherein the node-specific data of the respective pairs of the nodes comprise address information of the respective pairs of the nodes.

20. The method according to claim 15 , wherein the computing includes computing the task and node-pair specific communication keys responsively to setting up new connections with the respective ones of the nodes over the network so that for each new connection with a respective one of the nodes a corresponding new task and node-pair specific communication key is computed.

21. The method according to claim 20 , further comprising:

setting up a first connection with a given one of the nodes;

computing a first task and node-pair specific communication key for the first connection responsively to a first nonce;

securely communicating with the given one of the nodes responsively to the first task and node-pair specific communication key;

dismantling the first connection;

setting up a second connection with a given one of the nodes;

computing a second task and node-pair specific communication key for the second connection responsively to a second nonce, different to the first nonce; and

securely communicating with the given one of the nodes responsively to the second task and node-pair specific communication key.

22. The method according to claim 21 , further comprising:

generating the first nonce responsively to a first connection request from the given one of the nodes; and

generating the second nonce responsively to a second connection request from the given one of the nodes.

23. The method according to claim 22 , wherein:

the computing the first task and node-pair specific communication key includes computing the first task and node-pair specific communication key for the first connection responsively to the first nonce and address information of the respective node of the respective NIC and the given one of the nodes; and

the computing the second task and node-pair specific communication key includes computing the second task and node-pair specific communication key for the second connection responsively to the second nonce and the address information of the respective node of the respective NIC and the given one of the nodes.

24. The method according to claim 15 , further comprising:

reserving hardware resources responsively to a request from a given one of the nodes to establish a connection; and

cancelling reservation of the hardware resources after a given timeout responsively to not successfully decrypting data received from the given one of the nodes.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 1, 2022
From: MENES, MIRIAM; LISS, LIRAN; BLOCH, NOAM; BURSTEIN, IDAN; PISMENNY, BORIS; SHAHAR, ARIEL
To: MELLANOX TECHNOLOGIES, LTD.
Reel/Frame 060961/0322 →
Priority Claims (1)
IL 289002 · Dec 14, 2021 · national
Continuity (1)
Related Publication 20230185606A1 · Jun 15, 2023
References Cited (64)
US 6002768A · Albanese · 1999 [cited by examiner]
US 6240188B1 · Dondeti · 2001 [cited by examiner]
US 6975728B1 · Eye · 2005 [cited by examiner]
US 8074073B2 · Gentry · 2011 [cited by examiner]
US 8250556B1 · Lee · 2012 [cited by examiner]
US 8418252B2 · Akyol · 2013 [cited by examiner]
US 8848922B1 · Durgin · 2014 [cited by examiner]
US 9110860B2 · Shahar · 2015 [cited by examiner]
US 9882713B1 · Raza · 2018 [cited by examiner]
US 10148736B1 · Lee · 2018 [cited by examiner]
US 10931450B1 · Chellappa · 2021 [cited by examiner]
US 20050204161A1 · Caronni · 2005 [cited by examiner]
US 20090106551A1 · Boren · 2009 [cited by examiner]
US 20140096182A1 · Smith · 2014 [cited by examiner]
US 20140215477A1 · Chen · 2014 [cited by examiner]
US 20140358977A1 · Cramer · 2014 [cited by examiner]
US 20170063843A1 · Vijayasankar · 2017 [cited by examiner]
US 20180081715A1 · LeBeane · 2018 [cited by examiner]
US 20180131516A1 · Meng · 2018 [cited by examiner]
US 20190238323A1 · Bunch · 2019 [cited by examiner]
US 20200076582A1 · Driever · 2020 [cited by examiner]
US 20200076618A1 · Driever · 2020 [cited by examiner]
US 20200076807A1 · Driever · 2020 [cited by examiner]
US 20200186335A1 · Destefanis · 2020 [cited by examiner]
US 20200267542A1 · Pronk · 2020 [cited by examiner]
US 20210120077A1 · Guim Bernat · 2021 [cited by examiner]
US 20210176217A1 · Liu · 2021 [cited by examiner]
US 20210176632A1 · Liu · 2021 [cited by examiner]
US 20210266147A1 · Zee · 2021 [cited by examiner]
US 20210266152A1 · Sczepczenski · 2021 [cited by examiner]
US 20210266154A1 · Sczepczenski · 2021 [cited by examiner]
US 20210266161A1 · Zee · 2021 [cited by examiner]
US 20210266177A1 · Sczepczenski · 2021 [cited by examiner]
US 20210266304A1 · Zee · 2021 [cited by examiner]
US 20210328783A1 · Doshi · 2021 [cited by examiner]
US 20210367772A1 · Wright · 2021 [cited by examiner]
US 20220006626A1 · Zee · 2022 [cited by examiner]
US 20220045844A1 · Menes · 2022 [cited by examiner]
US 20220188815A1 · Higgins · 2022 [cited by examiner]
US 20220294617A1 · Parry · 2022 [cited by examiner]
US 20220353077A1 · Oluyemi · 2022 [cited by examiner]
US 20230319023A1 · Bursell · 2023 [cited by examiner]
US 20240113902A1 · Michaelis · 2024 [cited by examiner]
US 20240146519A1 · Pascucci · 2024 [cited by examiner]
US 20240220973A1 · Yeshayahu · 2024 [cited by examiner]
CN 101964803A · 2011 [cited by applicant]
CN 110493272A · 2019 [cited by applicant]
CN 110752924A · 2020 [cited by applicant]
CN 111343207A · 2020 [cited by applicant]
CN 112218295A · 2021 [cited by applicant]
CN 113220431A · 2021 [cited by applicant]
CN 113613214A · 2021 [cited by applicant]
Li, Bojie, et al. “Kv-direct: High-performance in-memory key-value store with programmable nic.” Proceedings of the 26th Symposium on Operating Systems Principles. 2017. [cited by examiner]
Song, Heqing, Jifei Li, and Haoteng Li. “A cloud secure storage mechanism based on data dispersion and encryption.” IEEE Access 9 (2021): 63745-63751. [cited by examiner]
Pirelli, Solal, and George Candea. “A Simpler and Faster {NIC} Driver Model for Network Functions.” 14th USENIX Symposium on Operating Systems Design and Implementation (OSDI 20). 2020. [cited by examiner]
Barati, Hamid. “A hierarchical key management method for wireless sensor networks.” Microprocessors and Microsystems 90 (2022): 104489. [cited by examiner]
Atallah, Mikhail J., et al. “Dynamic and efficient key management for access hierarchies.” ACM Transactions on Information and System Security (TISSEC) 12.3 (2009): 1-43. [cited by examiner]
Zhu, Qi, et al. “Optimization of task allocation and priority assignment in hard real-time distributed systems.” ACM Transactions on Embedded Computing Systems (TECS) 11.4 (2013): 1-30. [cited by examiner]
Zhu, Sencun, et al. “Establishing pairwise keys for secure communication in ad hoc networks: A probabilistic approach.” 11th IEEE International Conference on Network Protocols, 2003. Proceedings. IEEE, 2003. [cited by examiner]
Liu, Donggang, Peng Ning, and Rongfang Li. “Establishing pairwise keys in distributed sensor networks.” ACM Transactions on Information and System Security (TISSEC) 8.1 (2005): 41-77. [cited by examiner]
Zhao, Chuan, et al. “Secure multi-party computation: theory, practice and applications.” Information Sciences 476 (2019): 357-372. [cited by examiner]
Hirshberg et al., U.S. Appl. No. 17/699,517, filed Mar. 21, 2022. [cited by applicant]
Pismenny et al., U.S. Appl. No. 17/676,890, filed Feb. 22, 2022. [cited by applicant]
CN Application # 202211537959.X Office Action dated May 27, 2025. [cited by applicant]