← Back to Patent Explorer
EP0381645A2 Expired / Lapsed EP ⏱️ 0.0 years remaining

System and method for communicating between a plurality of processors

Assignee: International Business Machines Corp
•
Filing: 1990-01-15
•
Granted: —
•
Expires: 2010-01-15
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A communication protocol for direct communi- cations between operating system kernels of a plurality of processors in a clustered-type, shared virtual memory, multi-processor data processing system is disclosed. Each processor unit (10) includes a novel intermachine communications software system ("IMCS") which may be used by a trusted kernel of the operat­ing system of the processor, such as the page fault handler, to communicate with a service in another processor, either directly or through an intermediate processor. Communications are initiated when a user prepares a message in accordance with pre-programmed instructions from the IMCS in a standard format which contains both a data field and a header contain­ing specific control information. Once the message is pre­pared, the user calls IMCS which selects a route for the transmission of the message over a serial communications link (12) to the receiving processor using a "request to send immediate" serial link level protocol. The message is initi­ally directed to a common buffer pool previously assigned to IMCS by the various services in the receiving processor. IMCS calls special software to read the header of the message to determine the identity of the destined server (42) and to determine if the buffer in the buffer pool assigned to the called service has available buffer space to accept the message. If not, IMCS directs the sending of a negative acknowledgment to the sending processor. If sufficient buffer space is available, IMCS directs the sending of an acknowledge­ment to the sending processor. Upon receipt of the acknow­ledgement by the sending processor, IMCS calls a notifi­cation routine to inform the user of the status of the trans­mitted message.

Inventors

  • 👤 Marion Lee Blount
  • 👤 Stephen Paul Morgan
  • 👤 Katalin Anna Veronika Rader
  • 👤 Robert Kent Rader
  • 👤 Amal Ahmed Shaheen-Gouda

Bibliographic Details

Application Number —
Jurisdiction EP
Data Source google_patents
Last Synchronized 2026-10-30 11:33
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/54; G06F9/544; G06F15/00; G06F15/16; G06F15/163; G06F15/173; G06F15/17356; G06F15/17368; G06F15/17375; G06F9/546

Claims Analysis

Total Claims: 25
Claim 1
Independent Claim 120 words
A system for communicating between a plurality of pro­cessors (10) connected in a network, comprising: means (29) for sending a message, intended for a receiving component (42) of a receiving processor, from a component (39) of a sending processor to a receiving processor; means for dynamically determining, at the time the message is received at the receiving processor, whether said intended receiving component has buffer space available for said message; means for acknowledging to the sending processor that the message was received by the receiving processor; and means for notifying the sending processor, through said acknowledging means, of the determination by the receiving processor whether sufficient buffer space was available or unavailable at the receiving component to receive the message.
Claim 2
Independent Claim 120 words
A system for communicating between a plurality of pro­cessors (10) connected in a network, comprising: means (29) for sending a message, intended for a receiving component (42) of a receiving processor, from a component (39) of a sending processor to a receiving processor; means for dynamically determining, at the time the message is received at the receiving processor, whether said intended receiving component has buffer space available for said message; means for acknowledging to the sending processor that the message was received by the receiving processor; and means for notifying the sending processor, through said acknowledging means, of the determination by the receiving processor whether sufficient buffer space was available or unavailable at the receiving component to receive the message.
Claim 3
Dependent Claim 45 words
The system of Claim 1, further comprising: means for notifying the receiving component by the receiving processor of the message if buffer space is determined to be available, by providing means for performing some immediate processing by the receiving component in response to said message.
Claim 4
Dependent Claim 36 words
The system of Claim 1, wherein said sending means com­prises: means for sending a message containing both a control segment and a data segment from the sending component in the sending processor to the receiving processor.
Claim 5
Dependent Claim 20 words
The system of Claim 3, wherein: the control segment identifies an action which the intended receiving component is to perform.
Claim 6
Independent Claim 44 words
The system of Claims 1 and 3, wherein said determining means further comprises: means for separately determining that sufficient buffer space is available for the control segment of the message and that sufficient buffer space is available for the data segment of the message.
Claim 7
Dependent Claim 38 words
The system of Claim 1, further comprising: means for queuing the message at the sending processor, without notice to the sending component, when sufficient buffer space was unavailable and the message was not received by the receiving component.
Claim 8
Dependent Claim 43 words
The system of Claim 6, further comprising: means for notifying the sending processor, by the receiving processor, when buffer space becomes available to the receiv­ing component; and means for sending the queued message to the receiving pro­cessor, without notice to the sending component.
Claim 9
Dependent Claim 34 words
The system of Claim 6, further comprising: means for queuing a plurality of subsequent messages intended for the receiving component from the sending processor before said subsequent messages are sent to said receiving processor.
Claim 10
Dependent Claim 49 words
The system of Claim 8, further comprising: means for sending the queued message and subsequent messages to the receiving processor in the same order as sent from any sending component in said sending processor as buffer space is available for messages to the receiving component in the receiving processor.
Claim 11
Dependent Claim 84 words
The system of Claim 1, wherein said message comprises a control segment and a data segment, further comprising: means for dynamically determining separately, at the time the message is received at the receiving processor, an availabili­ty of buffer space of said receiving component for said control segment and for said data segment of said message; and means for notifying the sending processor that buffer space was unavailable, and identifying if at least one of said data segment and control segment had unavailable buffer space.
Claim 12
Dependent Claim 82 words
The system of Claim 1, further comprising: a plurality of components in said plurality of processors, means for allocating buffer space to each of said components; means for classifying a set of components into a class type; means for pooling said allocated buffer space by said class type; and means for allocating a buffer, from said pool of buffers for said class type of said intended receiving component, for said sent message if buffer space is unavailable for said intended receiving component.
Claim 13
Dependent Claim 30 words
The system of Claim 11, further comprising: means for limiting the number of buffers available at a given time to said intended receiving component from said pool of buffer space.
Claim 14
Dependent Claim 38 words
The system of Claim 11, further comprising: means for preventing the use of buffer space from said pool by the intended receiving component if the amount of available buffer space in said pool reaches a predetermined minimum amount.
Claim 15
Dependent Claim 35 words
The system of Claim 11, wherein said classifying means further comprises: means for classifying one of said components into a separate class if said allocated buffer space is to be reserved for said one component.
Claim 16
Dependent Claim 121 words
The system of Claim 1, further comprising: first means for sending the message for a receiving processor from the sending processor to an intermediate processor over a first communications link; second means for sending the message from the intermediate processor to the receiving processor over a second communica­tions link; means for acknowledging by the receiving processor to the intermediate processor whether there is sufficient buffer space available or unavailable for the receiving component at the receiving processor to receive the message; and means for acknowledging by the intermediate processor to the sending processor, in response to the receipt of an acknowledge­ment by the intermediate processor, whether sufficient buffer space is available or unavailable at the receiving processor to receive the message.
Claim 17
Dependent Claim 93 words
The system of Claim 15, further comprising: means in the receiving processor for allocating a portion of the available buffer space to each of the plurality of compo­nents available at the receiving processor, wherein said first sending means comprises means for sending a message from a sending component which identifies the receiving component in the receiving processor to receive the message; and said receiving processor acknowledgement means sends an acknowledgement to the intermediate processor only if there is sufficient space in the portion of the buffer space committed to the identified receiving component.
Claim 18
Dependent Claim 65 words
The system of Claim 15, further comprising: means in the intermediate processor for temporarily storing the message from the sending processor until such intermediate processor receives an acknowledgement from the receiving processor; and means for reserving the first communications link for the transmission of an acknowledgement from the intermediate processor to the sending processor until said intermediate processor receives an acknowledgement from the receiving processor.
Claim 19
Dependent Claim 93 words
The system of Claim 15, further comprising: means in the receiving processor for allocating a portion of the available buffer space to each of the plurality of compo­ nents at the receiving processor, wherein said first sending means includes means for sending a message from a component in the sending processor which identifies the receiving component to receive the message; and said receiving processor acknowledgement means sends a nega­tive acknowledgement to the intermediate processor that there is not sufficient space in the portion of the buffer space committed to the identified receiving component.
Claim 20
Dependent Claim 111 words
The system of Claim 1, further comprising: means for sending the message to one of a plurality of compo­nents in the receiving processor; concurrent means for dynamically specifying that a receiving component is available, and for identifying an associated processing action for immediate processing by said available component when a sent message arrives for said intended available component; means, in the receiving processor, for accessing said intended receiving component by calling said associated processing action upon arrival of said sent message; and means, in the receiving processor which, in response to said sent message, immediately performs said identified processing action, and defers other processing actions determined by said intended receiving component.
Claim 21
Independent Claim 111 words
A method for communicating between a plurality of pro­cessors connected in a network, comprising: sending a message, intended for a receiving component of a receiving processor, from a component of a sending processor to a receiving processor; dynamically determining, at the time the message is received at the receiving processor, whether said intended receiving component has buffer space available for said message; acknowledging to the sending processor that the message was received by the receiving processor; and notifying the component of the sending processor of the determination by the receiving processor whether sufficient buffer space was available or unavailable at the receiving processor for the receiving component to receive the message.
Claim 22
Independent Claim 111 words
A method for communicating between a plurality of pro­cessors connected in a network, comprising: sending a message, intended for a receiving component of a receiving processor, from a component of a sending processor to a receiving processor; dynamically determining, at the time the message is received at the receiving processor, whether said intended receiving component has buffer space available for said message; acknowledging to the sending processor that the message was received by the receiving processor; and notifying the component of the sending processor of the determination by the receiving processor whether sufficient buffer space was available or unavailable at the receiving processor for the receiving component to receive the message.
Claim 23
Dependent Claim 40 words
The method of Claim 20, further comprising: notifying the receiving component by the receiving processor of the message if buffer space is determined to be available, by performing some immediate processing by the receiving component in response to said message.
Claim 24
Dependent Claim 80 words
The method of Claim 21, for communicating between a plurality of components in the plurality of processors, further comprising: allocating buffer space to each of said components; classifying a set of components into a class type; pooling said allocated buffer space into a buffer pool by said class type; allocating additional buffer space from said pool of said class type of said intended receiving component, for said sent message if existing buffer space is unavailable for said intended receiving component.
Claim 25
Dependent Claim 108 words
The method of Claim 20, further comprising: sending a message, intended for one of a plurality of compo­nents of a receiving processor, from a component of a sending processor to a receiving processor; dynamically specifying that a receiving component is avail­able, and concurrently identifying an associated processing action for immediate processing by said available component when a sent message arrives for said intended available component; accessing, by an interrupt handler in said receiving pro­cessor, said intended receiving component by calling said associated processing action upon arrival of said sent mess­age; and immediately performing said identified processing action, while deferring other processing actions determined by said intended receiving component.

References Cited (Backward Citations)

EP0029331A1 Cited
US4532588A Cited
US4648061A Cited
US4605928A Cited
US4635250A Cited

USPTO Annuity & Maintenance Windows

Maintenance schedule is calculated for granted US utility patents.

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag