The patent badge is an abbreviated version of the USPTO patent document. The patent badge does contain a link to the full patent document.
The patent badge is an abbreviated version of the USPTO patent document. The patent badge covers the following: Patent number, Date patent was issued, Date patent was filed, Title of the patent, Applicant, Inventor, Assignee, Attorney firm, Primary examiner, Assistant examiner, CPCs, and Abstract. The patent badge does contain a link to the full patent document (in Adobe Acrobat format, aka pdf). To download or print any patent click here.
Patent No.:
Date of Patent:
Aug. 19, 1997
Filed:
May. 17, 1994
International Business Machines Corporation, Armonk, NY (US);
Abstract
A multi-processor computer system executes a single-thread program having a plurality of callable procedures. The local memory of each processor contains a program stack, the object code of each procedure that executes on that processor, and an agent object. In addition, the local memory contains a c-stub module for each procedure executable on a different processor, and a s-stub module for each local procedure that can be called by a remote procedure. When a procedure P1 executing on processor A calls a procedure P2 which executes in processor B, it issues a local call to P2's c-stub in processor A's local memory. The P2 c-stub then invokes the agent process in processor A, which communicates with a corresponding agent process in processor B. The agent process in processor B causes P2's s-stub in processor B to issue a local call to procedure P2. The return from a procedure follows the same path in reverse. Each processor independently maintains its own version of the program stack, with stack entries referencing the locally executable procedures, local stubs, or local agents. As a result, remote procedure calls are not constrained by the past calling history of a process. A procedure P1 in processor A may call a procedure P2 in processor B, which may in turn call another procedure P3 in processor A. It is therefore possible to convert a conventional single-thread program for operation on a multi-processor system without any significant modification to the source code.