← Back to Patent Explorer
US5771383A Expired / Lapsed US ⏱️ 0.0 years remaining

Shared memory support method and apparatus for a microkernel data processing system

Assignee: International Business Machines Corp
•
Filing: 1997-02-13
•
Granted: 1998-06-23
•
Expires: 2017-02-13
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A data processing system and method provide for sharing a partition of a memory in the system between a first task and thread and a second task and thread, so as to more efficiently enable adaptive sharing of data for local tasks or alternately copying of data into I/O buffers for remote tasks. The system and method automatically determine whether sharing has been established between two local tasks and if not, the system and method will adaptively copy data for messages to be transferred between the tasks.

Inventors

  • 👤 James Michael Magee
  • 👤 Freeman L. Rawson, III
  • 👤 Christopher Dean Youngworth

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-05 16:35
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/54; G06F9/544

Claims Analysis

Total Claims: 27
Claim 1
Independent Claim 220 words
In a data processing system, including a processor for executing stored program instructions and a memory for storing program instructions describing a first task and thread and a second task and thread, a method for sharing a partition of the memory between the first task and the thread and the second task and thread, comprising; transferring a send call request from the first task and thread to an interprocess communications controller in the memory, to allocate a shared partition of the memory; transferring a receive call request from the second task and thread to the interprocess communications controller, to share the shared partition; writing data from the first task and thread to the shared partition; transferring a control message from the first task and thread to the interprocess communications controller, to give notice of the data transferred to the shared partition; first checking in the interprocess communications controller whether the second task and thread are local or remote; second checking in the interprocess communications controller whether the second task and thread share the shared partition with the first task and thread; writing an address for said shared partition in a look aside buffer; and transferring a token message from the interprocess communications controller to the second task and thread to give notice of the data available in the shared partition.
Claim 2
Dependent Claim 220 words
In a data processing system, including a processor for executing stored program instructions and a memory for storing program instructions describing a first task and thread and a second task and thread, a method for sharing a partition of the memory between the first task and the thread and the second task and thread, comprising; transferring a send call request from the first task and thread to an interprocess communications controller in the memory, to allocate a shared partition of the memory; transferring a receive call request from the second task and thread to the interprocess communications controller, to share the shared partition; writing data from the first task and thread to the shared partition; transferring a control message from the first task and thread to the interprocess communications controller, to give notice of the data transferred to the shared partition; first checking in the interprocess communications controller whether the second task and thread are local or remote; second checking in the interprocess communications controller whether the second task and thread share the shared partition with the first task and thread; writing an address for said shared partition in a look aside buffer; and transferring a token message from the interprocess communications controller to the second task and thread to give notice of the data available in the shared partition.
Claim 3
Dependent Claim 28 words
The method of claim 1, which further comprises: copying the data from said shared partition to an I/O buffer in the memory if said first checking step fails.
Claim 4
Dependent Claim 264 words
In a data processing system, including a a processor for executing stored program instructions and a memory for storing program instructions describing a first task and thread and a second task and thread, a method for sharing a partition of the memory between the first task and the thread and the second task and thread, comprising; transferring a send call request from the first task and thread to an interprocess communications controller in the memory, to allocate a shared partition of the memory; transferring a receive call request from the second task and thread to the interprocess communications controller, to share the shared partition; writing data from the first task and thread to the shared partition; transferring a control message from the first task and thread to the interprocess communications controller, to give notice of the data transferred to the shared partition; first checking in the interprocess communications controller whether the second task and thread are local or remote; second checking in the interprocess communications controller whether the second task and thread share the shared partition with the first task and thread; writing an address for said shared partition in a look aside buffer; transferring a token message from the interprocess communications controller to the second task and thread to give notice of the data available in the shared partition; copying the data from said shared partition to an I/O buffer in the memory if said first checking step fails; and copying said data from the shared partition to a receive buffer of the second task and thread if said second checking step fails.
Claim 5
Dependent Claim 264 words
In a data processing system, including a a processor for executing stored program instructions and a memory for storing program instructions describing a first task and thread and a second task and thread, a method for sharing a partition of the memory between the first task and the thread and the second task and thread, comprising; transferring a send call request from the first task and thread to an interprocess communications controller in the memory, to allocate a shared partition of the memory; transferring a receive call request from the second task and thread to the interprocess communications controller, to share the shared partition; writing data from the first task and thread to the shared partition; transferring a control message from the first task and thread to the interprocess communications controller, to give notice of the data transferred to the shared partition; first checking in the interprocess communications controller whether the second task and thread are local or remote; second checking in the interprocess communications controller whether the second task and thread share the shared partition with the first task and thread; writing an address for said shared partition in a look aside buffer; transferring a token message from the interprocess communications controller to the second task and thread to give notice of the data available in the shared partition; copying the data from said shared partition to an I/O buffer in the memory if said first checking step fails; and copying said data from the shared partition to a receive buffer of the second task and thread if said second checking step fails.
Claim 6
Dependent Claim 42 words
The method of claim 1, which further comprises: checking said look aside buffer during a subsequent transfer of data from said shared partition; and transferring a subsequent message if said address for said shared partition is stored in the look aside buffer.
Claim 7
Dependent Claim 234 words
A data processing system, comprising: a processor for executing stored program instructions; a bus means coupled to the processor for transferring information signals to and from the processor; a memory coupled to the bus means for storing program instructions which describe a first task and thread and a second task and thread; an interprocess communications means in said memory, for accepting a send call request from the first task and thread, for allocating a shared partition in the memory; said interprocess communications means further accepting a receive call request from the second task and thread, for sharing the shared partition; said first task and thread writing data into said shared partition; said interprocess communications means further accepting a control message from the first task and thread, to give notice of the data transferred to the shared partition; said interprocess communications means first checking whether the second task and thread are local or remote, then second checking whether the second task and thread share the shared partition with the first task and thread; a look aside buffer in said memory, for accepting a virtual address value written by said interprocess communications means, representing a virtual address of said shared partition in a virtual address space of said second task; and said interprocess communications means transferring a token message to the second task and thread to give notice of the data available in the shared partition.
Claim 8
Dependent Claim 234 words
A data processing system, comprising: a processor for executing stored program instructions; a bus means coupled to the processor for transferring information signals to and from the processor; a memory coupled to the bus means for storing program instructions which describe a first task and thread and a second task and thread; an interprocess communications means in said memory, for accepting a send call request from the first task and thread, for allocating a shared partition in the memory; said interprocess communications means further accepting a receive call request from the second task and thread, for sharing the shared partition; said first task and thread writing data into said shared partition; said interprocess communications means further accepting a control message from the first task and thread, to give notice of the data transferred to the shared partition; said interprocess communications means first checking whether the second task and thread are local or remote, then second checking whether the second task and thread share the shared partition with the first task and thread; a look aside buffer in said memory, for accepting a virtual address value written by said interprocess communications means, representing a virtual address of said shared partition in a virtual address space of said second task; and said interprocess communications means transferring a token message to the second task and thread to give notice of the data available in the shared partition.
Claim 9
Dependent Claim 32 words
The system of claim 5, which further comprises: said interprocess communications means copying the data from said shared partition to an I/O buffer in the memory if said first checking step fails.
Claim 10
Dependent Claim 285 words
A data processing system, comprising: a processor for executing stored program instructions; a bus means coupled to the processor for transferring information signals to and from the processor; a memory coupled to the bus means for storing program instructions which describe a first task and thread and a second task and thread; an interprocess communications means in said memory, for accepting a send call request from the first task and thread, for allocating a shared partition in the memory; said interprocess communications means further accepting a receive call request from the second task and thread, for sharing the shared partition; said first task and thread writing data into said shared partition; said interprocess communications means further accepting a control message from the first task and thread, to give notice of the data transferred to the shared partition; said interprocess communications means first checking whether the second task and thread are local or remote, then second checking whether the second task and thread share the shared partition with the first task and thread; a look aside buffer in said memory, for accepting a virtual address value written by said interprocess communications means, representing a virtual address of said shared partition in a virtual address space of said second task; said interprocess communications means transferring a token message to the second task and thread to give notice of the data available in the shared partition; said interprocess communications means copying the data from said shared partition to an I/O buffer in the memory if said first checking step fails; and said interprocess communications means copying said data from the shared partition to a receive buffer of the second task and thread if said second checking step fails.
Claim 11
Dependent Claim 285 words
A data processing system, comprising: a processor for executing stored program instructions; a bus means coupled to the processor for transferring information signals to and from the processor; a memory coupled to the bus means for storing program instructions which describe a first task and thread and a second task and thread; an interprocess communications means in said memory, for accepting a send call request from the first task and thread, for allocating a shared partition in the memory; said interprocess communications means further accepting a receive call request from the second task and thread, for sharing the shared partition; said first task and thread writing data into said shared partition; said interprocess communications means further accepting a control message from the first task and thread, to give notice of the data transferred to the shared partition; said interprocess communications means first checking whether the second task and thread are local or remote, then second checking whether the second task and thread share the shared partition with the first task and thread; a look aside buffer in said memory, for accepting a virtual address value written by said interprocess communications means, representing a virtual address of said shared partition in a virtual address space of said second task; said interprocess communications means transferring a token message to the second task and thread to give notice of the data available in the shared partition; said interprocess communications means copying the data from said shared partition to an I/O buffer in the memory if said first checking step fails; and said interprocess communications means copying said data from the shared partition to a receive buffer of the second task and thread if said second checking step fails.
Claim 12
Dependent Claim 47 words
The system of claim 5, which further comprises: said interprocess communications means checking said look aside buffer during a subsequent transfer of data from said shared partition and transferring a subsequent token message if said address for said shared partition is stored in the look aside buffer.
Claim 13
Dependent Claim 205 words
In a data processing system, including a processor for executing stored program instructions and a memory for storing program instructions describing a first task and thread and a second task and thread, a method for sharing a partition of the memory between the first task and the thread and the second task and thread, comprising; transferring a send request from the first task and thread to an interprocess communications controller in the memory, to allocate a shared partition of the memory; transferring a receive request from the second task and thread to the interprocess communications controller, to share the shared partition; writing data from the first task and thread to the shared partition; transferring a first control message from the first task and thread to the interprocess communications controller, to give notice of the data transferred to the shared partition; transferring a second control message from the second task and thread to the interprocess communications controller, to indicate availability to receive data int he shared partition; writing an address for said shared partition in a look aside buffer; and transferring a token message from the interprocess communications controller to the second task and thread to give notice of the data available in the shared partition.
Claim 14
Dependent Claim 205 words
In a data processing system, including a processor for executing stored program instructions and a memory for storing program instructions describing a first task and thread and a second task and thread, a method for sharing a partition of the memory between the first task and the thread and the second task and thread, comprising; transferring a send request from the first task and thread to an interprocess communications controller in the memory, to allocate a shared partition of the memory; transferring a receive request from the second task and thread to the interprocess communications controller, to share the shared partition; writing data from the first task and thread to the shared partition; transferring a first control message from the first task and thread to the interprocess communications controller, to give notice of the data transferred to the shared partition; transferring a second control message from the second task and thread to the interprocess communications controller, to indicate availability to receive data int he shared partition; writing an address for said shared partition in a look aside buffer; and transferring a token message from the interprocess communications controller to the second task and thread to give notice of the data available in the shared partition.
Claim 15
Dependent Claim 42 words
The method of claim 9, which further comprises: checking said look aside buffer during a subsequent transfer of data from said shared partition; and transferring a subsequent message if said address for said shared partition is stored in the look aside buffer.
Claim 16
Dependent Claim 197 words
A data processing system, comprising: a processor for executing stored program instructions; a bus means coupled to the processor for transferring information signals to and from the processor; a memory coupled to the bus means for storing program instructions which describe a first task and thread and a second task and thread; an interprocess communications means in said memory, for accepting a send request from the first task and thread, for allocating a shared partition in the memory; said interprocess communications means further accepting a receive request from the second task and thread, for sharing the shared partition; said first task and thread writing data into said shared partition; said interprocess communications means further accepting a control message from the first task and thread, to give notice of the data transferred to the shared partition; a look aside buffer in said memory, for accepting a virtual address value written by said interprocess communications means, representing a virtual address of said shared partition in a virtual address space of said second task; and said interprocess communications means transferring a token message to the second task and thread to give notice of the data available in the shared partition.
Claim 17
Dependent Claim 197 words
A data processing system, comprising: a processor for executing stored program instructions; a bus means coupled to the processor for transferring information signals to and from the processor; a memory coupled to the bus means for storing program instructions which describe a first task and thread and a second task and thread; an interprocess communications means in said memory, for accepting a send request from the first task and thread, for allocating a shared partition in the memory; said interprocess communications means further accepting a receive request from the second task and thread, for sharing the shared partition; said first task and thread writing data into said shared partition; said interprocess communications means further accepting a control message from the first task and thread, to give notice of the data transferred to the shared partition; a look aside buffer in said memory, for accepting a virtual address value written by said interprocess communications means, representing a virtual address of said shared partition in a virtual address space of said second task; and said interprocess communications means transferring a token message to the second task and thread to give notice of the data available in the shared partition.
Claim 18
Dependent Claim 47 words
The system of claim 11, which further comprises: said interprocess communications means checking said look aside buffer during a subsequent transfer of data from said shared partition and transferring a subsequent token message if said address for said shared partition is stored in the look aside buffer.
Claim 19
Dependent Claim 329 words
An article of manufacture for use in a data processing system, including a processor for executing stored program instructions and a memory for storing program instructions describing a first task and thread and a second task and thread, comprising: a computer useable medium having a computer readable program code means embodied therein for sharing a partition of the memory between the first task and the thread and the second task and thread, the computer readable program code means in said article of manufacture comprising: computer readable program code means for causing a computer to transfer a send call request from the first task and thread to an interprocess communications controller in the memory, to allocate a shared partition of the memory; computer readable program code means for causing a computer to transfer a receive call request from the second task and thread to the interprocess communications controller, to share the shared partition; computer readable program code means for causing a computer to write data from the first task and thread to the shared partition; computer readable program code means for causing a computer to transfer a control message from the first task and thread to the interprocess communications controller, to give notice of the data transferred to the shared partition; computer readable program code means for causing a computer to first check in the interprocess communications controller whether the second task and thread are local or remote; computer readable program code means for causing a computer to second check in the interprocess communications controller whether the second task and thread share the shared partition with the first task and thread; computer readable program code means for causing a computr to write an address for said shared partition in a look aside buffer; and computer readable program code means for causing a computer to transfer a token message from the interprocess communications controller to the second task and thread to give notice of the data available in the shared partition.
Claim 20
Dependent Claim 329 words
An article of manufacture for use in a data processing system, including a processor for executing stored program instructions and a memory for storing program instructions describing a first task and thread and a second task and thread, comprising: a computer useable medium having a computer readable program code means embodied therein for sharing a partition of the memory between the first task and the thread and the second task and thread, the computer readable program code means in said article of manufacture comprising: computer readable program code means for causing a computer to transfer a send call request from the first task and thread to an interprocess communications controller in the memory, to allocate a shared partition of the memory; computer readable program code means for causing a computer to transfer a receive call request from the second task and thread to the interprocess communications controller, to share the shared partition; computer readable program code means for causing a computer to write data from the first task and thread to the shared partition; computer readable program code means for causing a computer to transfer a control message from the first task and thread to the interprocess communications controller, to give notice of the data transferred to the shared partition; computer readable program code means for causing a computer to first check in the interprocess communications controller whether the second task and thread are local or remote; computer readable program code means for causing a computer to second check in the interprocess communications controller whether the second task and thread share the shared partition with the first task and thread; computer readable program code means for causing a computr to write an address for said shared partition in a look aside buffer; and computer readable program code means for causing a computer to transfer a token message from the interprocess communications controller to the second task and thread to give notice of the data available in the shared partition.
Claim 21
Dependent Claim 46 words
The article of manufacture for use in a computer system of claim 13, which further comprises: computer readable program code means for causing a computer to copy the data from said shared partition to an I/O buffer in the memory if said first checking step fails.
Claim 22
Dependent Claim 392 words
An article of manufacture for use in a data processing system, including a processor for executing stored program instructions and a memory for storing program instructions describing a first task and thread and a second task and thread, comprising: a computer useable medium having a computer readable program code means embodied therein for sharing a partition of the memory between the first task and the thread and the second task and thread, the computer readable program code means in said article of manufacture comprising: computer readable program code means for causing a computer to transfer a send call request from the first task and thread to an interprocess communications controller in the memory, to allocate a shared partition of the memory; computer readable program code means for causing a computer to transfer a receive call request from the second task and thread to the interprocess communications controller, to share the shared partition; computer readable program code means for causing a computer to write data from the first task and thread to the shared partition; computer readable program code means for causing a computer to transfer a control message from the first task and thread to the interprocess communications controller, to give notice of the data transferred to the shared partition; computer readable program code means for causing a computer to first check in the interprocess communications controller whether the second task and thread are local or remote; computer readable program code means for causing a computer to second check in the interprocess communications controller whether the second task and thread share the shared partition with the first task and thread; computer readable program code means for causing a computr to write an address for said shared partition in a look aside buffer; computer readable program code means for causing a computer to transfer a token message from the interprocess communications controller to the second task and thread to give notice of the data available in the shared partition; computer readable program code means for causing a computer to copy the data from said shared partition to an I/O buffer in the memory if said first checking step fails; and computer readable program code means for causing a computer to copy said data from the shared partition to a receive buffer of the second task and thread if said second checking step fails.
Claim 23
Dependent Claim 392 words
An article of manufacture for use in a data processing system, including a processor for executing stored program instructions and a memory for storing program instructions describing a first task and thread and a second task and thread, comprising: a computer useable medium having a computer readable program code means embodied therein for sharing a partition of the memory between the first task and the thread and the second task and thread, the computer readable program code means in said article of manufacture comprising: computer readable program code means for causing a computer to transfer a send call request from the first task and thread to an interprocess communications controller in the memory, to allocate a shared partition of the memory; computer readable program code means for causing a computer to transfer a receive call request from the second task and thread to the interprocess communications controller, to share the shared partition; computer readable program code means for causing a computer to write data from the first task and thread to the shared partition; computer readable program code means for causing a computer to transfer a control message from the first task and thread to the interprocess communications controller, to give notice of the data transferred to the shared partition; computer readable program code means for causing a computer to first check in the interprocess communications controller whether the second task and thread are local or remote; computer readable program code means for causing a computer to second check in the interprocess communications controller whether the second task and thread share the shared partition with the first task and thread; computer readable program code means for causing a computr to write an address for said shared partition in a look aside buffer; computer readable program code means for causing a computer to transfer a token message from the interprocess communications controller to the second task and thread to give notice of the data available in the shared partition; computer readable program code means for causing a computer to copy the data from said shared partition to an I/O buffer in the memory if said first checking step fails; and computer readable program code means for causing a computer to copy said data from the shared partition to a receive buffer of the second task and thread if said second checking step fails.
Claim 24
Dependent Claim 70 words
The article of manufacture for use in a computer system of claim 13, which further comprises: computer readable program code means for causing a computer to check said look aside buffer during a subsequent transfer of data from said shared partition; and computer readable program code means for causing a computer to transfer a subsequent message if said address for said shared partition is stored in the look aside buffer.
Claim 25
Dependent Claim 303 words
An article of manufacture for use in a data processing system, including a processor for executing stored program instructions and a memory for storing program instructions describing a first task and thread and a second task and thread, comprising: a computer useable medium having computer readable program code means embodied therein for sharing a partition of the memory between the first task and the thread and the second task and thread, the computer readable program code means in said article of manufacture comprising: computer readable program code means for causing a computer to transfer a send request from the first task and thread to an interprocess communications controller in the memory, to allocate a shared partition of the memory; computer readable program code means for causing a computer to transfer a receive request from the second task and thread to the interprocess communications controller, to share the shared partition; computer readable program code means for causing a computer to write data from the first task and thread to the shared partition; computer readable program code means for causing a computer to transfer a first control message from the first task and thread to the interprocess communications controller, to give notice of the data transferred to the shared partition; computer readable program code means for causing a computer to transfer a second control message from the second task and thread to the interprocess communications controller, to indicate availability to receive data int he shared partition; computer readable program code means for causing a computer to write an address for said shared partition in a look aside buffer; and computer readable program code means for causing a computer to transfer a token message from the interprocess communications controller to the second task and thread to give notice of the data available in the shared partition.
Claim 26
Dependent Claim 303 words
An article of manufacture for use in a data processing system, including a processor for executing stored program instructions and a memory for storing program instructions describing a first task and thread and a second task and thread, comprising: a computer useable medium having computer readable program code means embodied therein for sharing a partition of the memory between the first task and the thread and the second task and thread, the computer readable program code means in said article of manufacture comprising: computer readable program code means for causing a computer to transfer a send request from the first task and thread to an interprocess communications controller in the memory, to allocate a shared partition of the memory; computer readable program code means for causing a computer to transfer a receive request from the second task and thread to the interprocess communications controller, to share the shared partition; computer readable program code means for causing a computer to write data from the first task and thread to the shared partition; computer readable program code means for causing a computer to transfer a first control message from the first task and thread to the interprocess communications controller, to give notice of the data transferred to the shared partition; computer readable program code means for causing a computer to transfer a second control message from the second task and thread to the interprocess communications controller, to indicate availability to receive data int he shared partition; computer readable program code means for causing a computer to write an address for said shared partition in a look aside buffer; and computer readable program code means for causing a computer to transfer a token message from the interprocess communications controller to the second task and thread to give notice of the data available in the shared partition.
Claim 27
Dependent Claim 70 words
The article of manufacture for use in a computer system of claim 17, which further comprises: computer readable program code means for causing a computer to check said look aside buffer during a subsequent transfer of data from said shared partition; and computer readable program code means for causing a computer to transfer a subsequent message if said address for said shared partition is stored in the look aside buffer.

References Cited (Backward Citations)

US5485626A Cited
US5452447A Cited
US5481719A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2001-06-22 2001-12-22 2002-06-23 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2005-06-22 2005-12-22 2006-06-23 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2009-06-22 2009-12-22 2010-06-23 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag