IP Library Granted Patent US 12,021,679
Granted Patent B1
US 12,021,679 · App. 18/479,720 · Granted Jun 25, 2024

Cluster computing

Inventors: Zvi Tannenbaum (Palo Alto, CA); Dean E. Dauger (Huntington Beach, CA)
Assignee: Advanced Cluster Systems, Inc.
H04L41/04G06F9/5072G06F9/54G06F15/76
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,021,679
App. No.
18/479,720
Granted
Jun 25, 2024
Kind
B1
Abstract

In some embodiments, a computer cluster system comprises a plurality of nodes and a software package comprising a user interface and a kernel for interpreting program code instructions. In certain embodiments, a cluster node module is configured to communicate with the kernel and other cluster node modules. The cluster node module can accept instructions from the user interface and can interpret at least some of the instructions such that several cluster node modules in communication with one another and with a kernel can act as a computer cluster.

Claims (34)

1. A computer cluster comprising:

a plurality of nodes each comprising a hardware processor and configured to access a non-transitory computer-readable medium comprising program code that, when executed, is capable of causing the hardware processor to evaluate mathematical expressions comprising matrix operations; and

a communications network interface for the nodes to communicate results of mathematical expression evaluation with each other using a peer-to-peer architecture;

wherein the plurality of nodes comprises:

a first node comprising a first hardware processor configured to access a first memory comprising first program code for a user interface and second program code configured to interpret user instructions, identify an array of data elements, and distribute calls to at least one of a plurality of other nodes for execution of matrix operations on the array of data elements; and

a second node comprising a second hardware processor, wherein the second node is configured to receive the calls from the first node, execute the matrix operations on the array of data elements, and communicate a result of the matrix operations to a third node;

wherein the third node comprises a third hardware processor, wherein the third node is configured to receive the result of the matrix operations from the second node, execute at least a mathematical expression evaluation using the received result, and communicate the result of the mathematical expression evaluation to the first node;

wherein the first node is configured to return the result of the mathematical expression evaluation to the user interface;

wherein one or more of the nodes are configured to:

accept, via the user interface or via a script, user instructions; and

after accepting the user instructions, communicate at least some of the user instructions using the communications network interface for the nodes to communicate with each other.

2. The computer cluster of claim 1 , wherein the communications network interface comprises at least one of: a local bus, a local area network (LAN), a wide area network (WAN), a storage area network (SAN), a TCP/IP interface over Ethernet, or a wireless network interface.

3. The computer cluster of claim 1 , wherein each of the nodes comprises one or more cluster node modules.

4. The computer cluster of claim 1 , wherein each single-node kernel is stored in a non-transitory computer-readable medium and configured to accept and execute a request.

5. The computer cluster of claim 4 , wherein each of the nodes comprises one or more cluster node modules, wherein each of the cluster node modules comprises instructions stored in a non-transitory computer-readable medium, and wherein the instructions, when executed by the hardware processor, cause the cluster node module to communicate with the single-node kernel and with one or more other cluster node modules.

6. The computer cluster of claim 5 , wherein the one or more cluster node modules act as a cluster.

7. The computer cluster of claim 5 , wherein the one or more cluster node modules communicate with one another to act as a cluster.

8. The computer cluster of claim 1 , wherein the computer cluster includes the user interface.

9. The computer cluster of claim 5 , wherein each cluster node module accepts instructions from the user interface and interprets one or more of the instructions.

10. The computer cluster of claim 1 , wherein the program code, when executed, is further capable of causing the hardware processor to execute a cluster initialization process configured to establish communication among two or more of the nodes.

11. The computer cluster of claim 10 , wherein the cluster initialization process comprises configuring access by one or more of the nodes to a computer-readable medium comprising program code for a single-node kernel.

12. The computer cluster of claim 11 , wherein the cluster initialization process comprises establishing message-passing support among the nodes in the cluster.

13. The computer cluster of claim 11 , wherein the cluster initialization process comprises launching cluster node modules by the cluster.

14. The computer cluster of claim 13 , wherein the cluster initialization process comprises assigning a processor identification number to each of the cluster node modules.

15. The computer cluster of claim 10 , wherein the cluster initialization process comprises:

launching cluster node modules by the cluster; and

after launching the cluster node modules, configuring access by one or more of the nodes to a non-transitory computer-readable medium comprising program code for a single-node kernel.

16. The computer cluster of claim 10 , wherein the cluster initialization process comprises:

launching cluster node modules by the cluster;

after launching the cluster node modules, establishing communication among two or more of the nodes; and

after establishing communication among two or more of the nodes, assigning a processor identification number to each of the cluster node modules.

17. The computer cluster of claim 1 , wherein one or more of the nodes are configured to communicate at least some of the user instructions.

18. The computer cluster of claim 17 , wherein one or more of the nodes are configured to communicate at least some of the user instructions to one or more single-node kernels.

19. The computer cluster of claim 1 , wherein one or more of the nodes are configured to accept user instructions via one or more of the nodes.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 3, 2023
From: TANNENBAUM, ZVI; DAUGER, DEAN E.
To: ADVANCED CLUSTER SYSTEMS, INC.
Reel/Frame 065112/0090 →
Continuity (11)
Continuation 18158283 · Jan 23, 2023
Continuation 17374864 · Jul 13, 2021
Continuation 16449084 · Jun 21, 2019
Continuation 17374789 · Jul 13, 2021
Continuation 16449084 · Jun 21, 2019
Continuation 14181112 · Feb 14, 2014
Continuation 13423063 · Mar 16, 2012
Continuation 12040519 · Feb 29, 2008
Continuation In Part 11744461 · May 4, 2007
Provisional Application 60850908 · Oct 11, 2006
Provisional Application 60813738 · Jun 13, 2006
Cited By (1)
US 12,657,068