COMMON MEMORY PROGRAMMING
First Claim
1. A method for unidirectional communication between tasks, comprising:
- blocking a communication channel portion of a first virtual memory of a first task, such that the first task cannot access said portion;
providing a second task, having access to a second amount of virtual memory with the same virtual address as the first virtual memory of the first task and having associated virtual table entries, wherein a communication channel portion of the second virtual memory corresponding to the blocked portion of the first virtual memory is usable;
mapping virtual table entries in the communication channel to physical memory;
transferring virtual table entries of the communication channel memory of the second task to the first task; and
unblocking the communication channel memory of the first task.
1 Assignment
0 Petitions
Accused Products
Abstract
A method for unidirectional communication between tasks includes providing a first task having access to an amount of virtual memory, blocking a communication channel portion of said first task'"'"'s virtual memory, such that the first task cannot access said portion, providing a second task, having access to an amount of virtual memory equivalent to the first task'"'"'s virtual memory, wherein a communication channel portion of the second task'"'"'s virtual memory corresponding to the blocked portion of the first task'"'"'s virtual memory is marked as writable, transferring the communication channel memory of the second task to the first task, and unblocking the communication channel memory of the first task.
-
Citations
20 Claims
-
1. A method for unidirectional communication between tasks, comprising:
-
blocking a communication channel portion of a first virtual memory of a first task, such that the first task cannot access said portion; providing a second task, having access to a second amount of virtual memory with the same virtual address as the first virtual memory of the first task and having associated virtual table entries, wherein a communication channel portion of the second virtual memory corresponding to the blocked portion of the first virtual memory is usable; mapping virtual table entries in the communication channel to physical memory; transferring virtual table entries of the communication channel memory of the second task to the first task; and unblocking the communication channel memory of the first task. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13)
-
-
11. A computer readable storage medium comprising a computer readable program, wherein the computer readable program when executed on a computer causes the computer to perform the steps of:
-
blocking a communication channel portion of a first virtual memory of a first task, such that the first task cannot access said portion; providing a second task, having access to a second amount of virtual memory with the same virtual address as the first virtual memory of the first task and having associated virtual table entries, wherein a communication channel portion of the second virtual memory corresponding to the blocked portion of the first virtual memory is usable; mapping virtual table entries in the communication channel to physical memory; transferring virtual table entries of the communication channel memory of the second task to the first task; and unblocking the communication channel memory of the first task.
-
-
14. A system for parallel processing, comprising:
-
a physical memory; a plurality of processes that are executed by one or more processors, including a first process and a second process, each process having a virtual memory that maps to the physical memory; and a communication channel that establishes a temporary, unidirectional pathway for the transfer of pointer-based structures between the respective virtual memories of the first and second processes. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification