IP Library Granted Patent US 8,316,190
Granted Patent B2
US 8,316,190 · App. 12/051,701 · Granted Nov 20, 2012

Computer architecture and method of operation for multi-computer distributed processing having redundant array of independent systems with replicated memory and code striping

Assignee: Waratek Pty. Ltd.
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 8,316,190
App. No.
12/051,701
Granted
Nov 20, 2012
Kind
B2
Abstract

Computers and other computing machines and information appliances having a modified computer architecture and program structure which enables the operation of an application program concurrently or simultaneously on a plurality of computers interconnected via a communications link or network using a special distributed runtime (DRT), and that provides for a redundant array of independent computing systems that include computer code distribution using code-striping onto the plurality of the computers or computing machines. A redundant array of independent computing systems operating in concert and code-striping features.

Claims (17)

1. A method for striping computer program code across a plurality of computing machines in a multiple computer system including the plurality of computing machines, each computing machine having a processor and each processor having an associated local memory that is only accessible by an associated processor from among the plurality of processors, the method comprising:

replicating at least a portion of stored memory data contents from each local memory into the local memory of each of the plurality of computing machines;

interconnecting the plurality of computing machines by a communications network;

updating, via said communications network, a replicated memory content value in each other of the plurality of local memory every time a replicated local memory location is written to in any one or the local memory of the plurality of computing machines so that replicated memory locations remain substantially consistent between all of the computing machines, the updating including transmitting, via said communications network, the updated content value from the computing machine that performed the content value update to other ones of the plurality of computing machines and receiving of the updated content value by the other ones of the plurality of computing machines;

satisfying all computing machine memory access requirements from the processor, including read access and write access, substantially exclusively by access to the associated local memory for memory content that is part of the replicated memory, and preventing access to memory that is resident in a different one of the plurality of computing machines; and

replicating at least a portion of an executable code of an application program, the executable code of the application program being different from the replicated memory data contents that result from the execution of the application program code, on each of the plurality of computing machines, where replication is configured for variations of the executable code so that different computing machine operational requirements may be realized, and permits but does not require an exact copy of the executable code on each of the plurality of computing machines.

2. A method as in claim 1 , wherein the code-striping comprises an arrangement of in-memory computer program executable code replicated on the plurality of computing machines.

3. A method as in claim 1 , wherein the code-striping further comprises procedures for updating and manipulating the in-memory data.

4. A method as in claim 1 , wherein the code-striping comprises an arrangement of in-memory computer program executable code replicated on the plurality of computing machines, and procedures for updating and manipulating the in-memory data.

5. A method as in claim 1 , the method further comprising: a contention controller that allows the plurality of computing machines to update corresponding replicated memory locations concurrently and resolve any conflicts or inconsistencies arising with such updating.

6. A method as in claim 5 , wherein the contention controller comprises at least one of:

a contention detector,

a contention detector and contention resolver,

a contention detector with messenger and a modified message format,

a contention detector with data consolidation, and

a contention resolver with echo cancellation, and any combination of two or more of these.

7. A method as in claim 1 , further comprising synchronizing updating of replicated memory locations between and among the plurality of computing machines.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 16, 2023
From: WARATEK PTY LTD
To: WARATEK LIMITED
Reel/Frame 063005/0565 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 31, 2012
From: HOLT, JOHN M.
To: WARATEK PTY LTD.
Reel/Frame 028879/0890 →
Continuity (207)
Continuation In Part 11111779 · Apr 22, 2005
Continuation In Part 10830042 · Apr 23, 2004
Continuation In Part 12051701
Continuation In Part 11111778 · Apr 22, 2005
Continuation In Part 10830042
Continuation In Part 12051701
Continuation In Part 11111946 · Apr 22, 2005
Continuation In Part 10830042
Continuation In Part 12051701
Continuation In Part 11111757 · Apr 22, 2005
Continuation In Part 10830042
Continuation In Part 12051701
Continuation In Part 11111781 · Apr 22, 2005
Continuation In Part 10830042
Continuation In Part 12051701
Continuation In Part 11259634 · Oct 25, 2005
Continuation In Part 11259744 · Oct 25, 2005
Continuation In Part 11259761 · Oct 25, 2005
Continuation In Part 11259762 · Oct 25, 2005
Continuation In Part 11259885 · Oct 25, 2005
Continuation In Part 11973391 · Oct 5, 2007
Continuation In Part 11973370 · Oct 5, 2007
Continuation In Part 11973317 · Oct 5, 2007
Continuation In Part 11973318 · Oct 5, 2007
Continuation In Part 11973353 · Oct 5, 2007
Continuation In Part 11973396 · Oct 5, 2007
Continuation In Part 11973387 · Oct 5, 2007
Continuation In Part 11973339 · Oct 5, 2007
Continuation In Part 11973379 · Oct 5, 2007
Continuation In Part 11973375 · Oct 5, 2007
Continuation In Part 11973378 · Oct 5, 2007
Continuation In Part 11973394 · Oct 5, 2007
Continuation In Part 11973393 · Oct 5, 2007
Continuation In Part 11973384 · Oct 5, 2007
Continuation In Part 11973374 · Oct 5, 2007
Continuation In Part 11973373 · Oct 5, 2007
Continuation In Part 11973322 · Oct 5, 2007
Continuation In Part 11973389 · Oct 5, 2007
Continuation In Part 11973368 · Oct 5, 2007
Continuation In Part 11973380 · Oct 5, 2007
Continuation In Part 11973401 · Oct 5, 2007
Continuation In Part 11973400 · Oct 5, 2007
Continuation In Part 11973395 · Oct 5, 2007
Continuation In Part 11973388 · Oct 5, 2007
Continuation In Part 11973349 · Oct 5, 2007
Continuation In Part 11973399 · Oct 5, 2007
Continuation In Part 11973329 · Oct 5, 2007
Continuation In Part 11973390 · Oct 5, 2007
Continuation In Part 11973345 · Oct 5, 2007
Continuation In Part 11973346 · Oct 5, 2007
Continuation In Part 11973347 · Oct 5, 2007
Continuation In Part 11973340 · Oct 5, 2007
Continuation In Part 11973350 · Oct 5, 2007
Continuation In Part 11973351 · Oct 5, 2007
Continuation In Part 11973369 · Oct 5, 2007
Continuation In Part 11973355 · Oct 5, 2007
Continuation In Part 11973356 · Oct 5, 2007
Continuation In Part 11973385 · Oct 5, 2007
Continuation In Part 11973376 · Oct 5, 2007
Continuation In Part 11973381 · Oct 5, 2007
Continuation In Part 11973382 · Oct 5, 2007
Continuation In Part 11973372 · Oct 5, 2007
Continuation In Part 11973397 · Oct 5, 2007
Continuation In Part 11973341 · Oct 5, 2007
Continuation In Part 11973392 · Oct 5, 2007
Continuation In Part 11973383 · Oct 5, 2007
Continuation In Part 11973371 · Oct 5, 2007
Continuation In Part 11973325 · Oct 5, 2007
Continuation In Part 11973342 · Oct 5, 2007
Continuation In Part 11973348 · Oct 5, 2007
Continuation In Part 11973331 · Oct 5, 2007
Continuation In Part 11973338 · Oct 5, 2007
Continuation In Part 11973324 · Oct 5, 2007
Continuation In Part 11973354 · Oct 5, 2007
Continuation In Part 11973330 · Oct 5, 2007
Continuation In Part 11973326 · Oct 5, 2007
Continuation In Part 11973328 · Oct 5, 2007
Continuation In Part 11973320 · Oct 5, 2007
Continuation In Part 11973377 · Oct 5, 2007
Continuation In Part 11973398 · Oct 5, 2007
Continuation In Part 11973386 · Oct 5, 2007
Continuation In Part 11912141
Division 12051701
Continuation In Part 12011216 · Jan 23, 2008
Division 11583359 · Oct 18, 2006
Division 12051701
Continuation In Part 12011218 · Jan 23, 2008
Division 11583961 · Oct 18, 2006
Division 12051701
Continuation In Part 12011215 · Jan 23, 2008
Division 11583962 · Oct 18, 2006
Division 12051701
Continuation In Part 12011199 · Jan 23, 2008
Division 11583991 · Oct 18, 2006
Division 12051701
Continuation In Part 12011198 · Jan 23, 2008
Division 11583948 · Oct 18, 2006
Division 12051701
Continuation In Part 12011207 · Jan 23, 2008
Division 11583958 · Oct 18, 2006
Division 12051701
Continuation In Part 12011217 · Jan 23, 2008
Division 11583351 · Oct 18, 2006
Provisional Application 61008616 · Dec 29, 2006
Provisional Application 61008615 · Apr 6, 2007
Provisional Application 61008612 · Oct 9, 2006
Provisional Application 61008611 · Oct 9, 2006
Provisional Application 61008610 · Oct 9, 2006
Provisional Application 61008545 · Oct 9, 2006
Provisional Application 61008544 · Oct 9, 2006
Provisional Application 61008543 · Oct 9, 2006
Provisional Application 61008542 · Oct 9, 2006
Provisional Application 61008541 · Oct 9, 2006
Provisional Application 61008540 · Oct 9, 2006
Provisional Application 61008539 · Oct 9, 2006
Provisional Application 61008538 · Oct 9, 2006
Provisional Application 61008537 · Oct 9, 2006
Provisional Application 61008536 · Oct 9, 2006
Provisional Application 61008535 · Oct 9, 2006
Provisional Application 61008534 · Oct 9, 2006
Provisional Application 61008533 · Oct 9, 2006
Provisional Application 61008532 · Oct 9, 2006
Provisional Application 61008531 · Oct 9, 2006
Provisional Application 61008530 · Oct 9, 2006
Provisional Application 61008529 · Oct 9, 2006
Provisional Application 61008528 · Oct 9, 2006
Provisional Application 61008527 · Oct 9, 2006
Provisional Application 61008526 · Oct 9, 2006
Provisional Application 61008525 · Oct 9, 2006
Provisional Application 61008524 · Oct 9, 2006
Provisional Application 61008523 · Oct 9, 2006
Provisional Application 61008522 · Oct 9, 2006
Provisional Application 61008518 · Oct 9, 2006
Provisional Application 61008517 · Oct 9, 2006
Provisional Application 61008516 · Oct 9, 2006
Provisional Application 61008515 · Oct 9, 2006
Provisional Application 61008514 · Oct 9, 2006
Provisional Application 61008513 · Oct 9, 2006
Provisional Application 61008512 · Oct 9, 2006
Provisional Application 61008500 · Oct 9, 2006
Provisional Application 61008499 · Oct 9, 2006
Provisional Application 61008498 · Oct 9, 2006
Provisional Application 61008497 · Oct 9, 2006
Provisional Application 61008496 · Oct 9, 2006
Provisional Application 61008470 · Oct 9, 2006
Provisional Application 61008469 · Oct 9, 2006
Provisional Application 61008466 · Oct 9, 2006
Provisional Application 61008465 · Oct 9, 2006
Provisional Application 61008464 · Oct 9, 2006
Provisional Application 61008463 · Oct 9, 2006
Provisional Application 61008462 · Oct 9, 2006
Provisional Application 61008461 · Oct 9, 2006
Provisional Application 61008460 · Oct 9, 2006
Provisional Application 61008455 · Oct 9, 2006
Provisional Application 61008454 · Oct 9, 2006
Provisional Application 61008453 · Oct 9, 2006
Provisional Application 61008452 · Oct 9, 2006
Provisional Application 61008451 · Oct 9, 2006
Provisional Application 61008450 · Oct 9, 2006
Provisional Application 61008449 · Oct 5, 2007
Provisional Application 61008448 · Oct 9, 2006
Provisional Application 61008447 · Oct 9, 2006
Provisional Application 61008446 · Oct 9, 2006
Provisional Application 61008445 · Oct 9, 2006
Provisional Application 61008444 · Oct 9, 2006
Provisional Application 61008443 · Oct 9, 2006
Provisional Application 61008442 · Oct 9, 2006
Provisional Application 61008441 · Oct 9, 2006
Provisional Application 61008440 · Oct 9, 2006
Provisional Application 61008439 · Oct 9, 2006
Provisional Application 61008438 · Oct 9, 2006
Provisional Application 61008436 · Oct 9, 2006
Provisional Application 60998090 · Oct 9, 2006
Provisional Application 60998085 · Oct 9, 2006
Provisional Application 60922251 · Oct 9, 2006
Provisional Application 60878175 · Oct 9, 2006
Provisional Application 60850717 · Oct 9, 2006
Provisional Application 60850715 · Oct 9, 2006
Provisional Application 60850713 · Oct 9, 2006
Provisional Application 60850711 · Oct 9, 2006
Provisional Application 60850541 · Dec 19, 2007
Provisional Application 60850540 · Dec 19, 2007
Provisional Application 60850537 · Dec 19, 2007
Provisional Application 60850533 · Dec 19, 2007
Provisional Application 60850532 · Dec 19, 2007
Provisional Application 60850531 · Dec 19, 2007
Provisional Application 60850528 · Dec 19, 2007
Provisional Application 60850521 · Dec 19, 2007
Provisional Application 60850519 · Dec 19, 2007
Provisional Application 60850510 · Dec 19, 2007
Provisional Application 60850508 · Dec 19, 2007
Provisional Application 60850507 · Dec 19, 2007
Provisional Application 60850505 · Dec 19, 2007
Provisional Application 60850504 · Dec 19, 2007
Provisional Application 60850503 · Dec 19, 2007
Provisional Application 60850501 · Dec 19, 2007
Provisional Application 60850500 · Dec 19, 2007
Provisional Application 60850450 · Dec 19, 2007
Provisional Application 60850449 · Dec 19, 2007
Provisional Application 60730544 · Oct 25, 2005
Provisional Application 60730543 · Oct 25, 2005
Provisional Application 60730512 · Oct 25, 2005
Provisional Application 60730493 · Oct 25, 2005
Provisional Application 60730408 · Oct 25, 2005
Provisional Application 60730354 · Oct 25, 2005
Provisional Application 60730303 · Oct 25, 2005
Related Publication 20080250213A1 · Oct 9, 2008