×

Modified computer architecture having coordinated deletion of corresponding replicated memory locations among plural computers

  • US 7,844,665 B2
  • Filed: 04/22/2005
  • Issued: 11/30/2010
  • Est. Priority Date: 04/23/2004
  • Status: Active Grant
First Claim
Patent Images

1. In a multiple computer system including a plurality of single computers interconnected via a communications link, a method of operating an application program having code written to include a plurality of threads all intended to execute on and reference a single independent computer having a single central processing unit (CPU) or symmetric multiple processing units and a single independent local memory that is not shared with any other computer of said plurality of single computers, said method comprising the steps of:

  • (a) allocating said plurality of application program code threads amongst said plurality of interconnected single computers so that at least a portion of the application program including at least one first thread of said application program code is allocated a first particular one of said plurality of single computers for execution thereon and at least one second thread of said application program code is allocated a second particular one of said plurality of single computers for execution thereon;

    (b) operating each single computer so that the memory locations of its single independent local memory are only addressable by the thread or threads allocated for execution thereon;

    (c) executing said allocated application program code thread or threads by those single computers having an application program code thread or threads allocated thereto for execution;

    (d) creating, either before or during said executing, a like plurality of memory locations each of the plurality of single computers and each having a name, wherein the initial memory location value contents of each of said named memory locations is the same when created;

    (e) storing, during or after execution, by said single computer in its single independent local memory, an original version of each application memory value addressable by execution of said thread or threads allocated thereto;

    (f) communicating an update via said communications link, a replica version of each new original version of each application memory value which has overwritten a previous corresponding application memory value as a consequence of execution of said thread or threads on any said single computer, to the single independent local memory of all other ones of said plurality of single computers; and

    (g) storing in said single independent local memory of all of said plurality of single computers said communicated updated replica version of each and every application memory value;

    (h) locking memory locations in each said single computer wherein any single computer wishing to utilize a memory location therein acquires an authorizing lock within the multiple computer system which permits said utilization of said memory location and which prevents all the other of the single computers from utilizing their corresponding memory location until said authorizing lock is relinquished;

    (i) the stored application memory values, including said original versions and said replica versions, of all said single computers thereby remaining, subject to a communications link updating transmission delay, identical without any of said single computers addressing the independent local memory of any other one of said plurality of single computers during execution of their allocated thread or threads; and

    (j) deleting all said original versions and replica versions of said identical memory locations collectively when all of said plurality of single computers no longer need to refer to their corresponding memory location.

View all claims
  • 2 Assignments
Timeline View
Assignment View
    ×
    ×