3 4
Registration of the receiver processes comprises reg- Further, the manipulations performed are often re
istering message patterns, signaling ways and program ferred to in terms, such as adding or comparing, which
type identifiers. Registration of the sender process com- are commonly associated with mental operations per
prises registering signaling ways. Receiver and sender formed by a human operator. No such capability of a
processes may register dynamically at their initializa- 5 human operator is necessary, or desirable in most cases,
tion or some later points during their execution. in any of the operation described herein which form
Messages comprise a plurality of message attributes part of the present invention; the operations are madescribing the messages. Message attributes comprise a chine operations. Useful machines for performing the message identifier, a message class and a message state. operations of the present invention include general purMessage classes comprise "request" and "notice". Mes- 10 pose digital computers or other similar devices. In all sage states comprise "created", "sent", "handled", cases, it should be borne in mind that the distinction "queued", "started" and "failed". between the method operations in operating a computer
Selection comprises selecting at most one handler and the method of computation itself. The present inprocess and any number of observer processes for each vention relates to method steps for operating a cornmessage. Both handler processes and observer pro- 15 puter in processing electrical or other (e.g. mechanical, cesses are selected regardless of message class. Both chemical) physical signals to generate other desired executing as well as non-executing processes are se- physical signals.
lected. Processes are selected by matching message The present invention also relates to apparatus for
attributes. Matchings are performed against the regis- performing these operations. This apparatus may be
tered message patterns and message patterns within 20 specially constructed for the required purposes or it
message signatures contained in the program type defi- may comprise a general purpose computer as selec
nitions. tively activated or re-configured by a computer pro
„T,„„„„rT,,„,T ^,T„ . gram stored in the computer. The algorithms presented
BRIEF DESCRIPTION OF THE DRAWINGS ferein m nQt entirelyPrelated t0 ^ particmar com.
FIG. 1 is a block diagram illustrating the apparatus of 25 puter or other apparatus. In particular, various general
the present invention for interprocess message switch- purpose machines may be used with programs written
ing between a sender process and a plurality of receiver in accordance with the teaching herein, or it may prove
processes. more convenient to construct more specialized appara
FIG. 2 is a block diagram illustrating exemplary re- tus to perform the required method steps. The required
gistrations containing exemplary message patterns, sig- 30 structure for a variety of these machines will appear
naling way and program type identifier, and exemplary from the description given below.
gS^tJelSnti^ DETAILED r^CMPTION OF THE message signatures, used by the apparatus of the present
invention. 35 A method and apparatus for interprocess message
FIG. 3 illustrates exemplary message attributes used switching having particular application for switching
by the apparatus of the present invention for describing messages between a sender process and a plurality of
the messages. receiver processes being executed by one or more com
FIG. 4 illustrates the routing of a request message in puters on a network is disclosed. In the following de
the preferred embodiment of the present invention. 40 scription for purposes of explanation, specific numbers,
FIG. 5 illustrates the routing of a notice message in materials and configurations are set forth in order to
the preferred embodiment of the present invention. provide a thorough understanding of the present inven
FIG. 6 is a state diagram showing exemplary states of tion. However, it will be apparent to one skilled in the
the apparatus for interprocess message switching of the art that the present invention may be practiced without
present invention during its operation. 45 the specific details. In other instances, well known sys
-T__. . „TT^ „r^, ,„T^T , tems are shown in diagrammatical or block diagram
NOTATIONS AND NOMENCLATURE form m Qrder nQt tQ the present mventio* m.
The detailed description which follows are presented necessarily, largely in terms of algorithms and symbolic representa- nvcpvrcw tions of operations on data bits within a computer mem- 50 UViiKVlfcW ory. These algorithmic descriptions and representations Referring now to FIG. 1, a block diagram of the are the means used by those skilled in the data process- preferred embodiment of the apparatus for interprocess ing arts to most effectively convey the substance of message switching of the present invention 10 is shown, their work to others skilled in the art. The apparatus 10 is shown in the context of a plurality
An algorithm is here, and generally, conceived to be 55 of computers 30, 40, 50 connected to a network 60. The a self-consistent sequence of steps leading to a desired network of computers 30,40,50 comprises a plurality of result. These steps are those that require physical ma- sender processes 42 and a plurality of receiver processes nipulations of physical quantities. Usually, though not 52, 54, sending messages 64-67 to each other. The renecessarily, these quantities take the form of electrical ceiver processes 52, 54 comprise handler processes 52 or magnetic signals capable of being stored, transferred, 60 and observer processes 54. The messages 64-67 corncombined, compared, and otherwise manipulated. It prise request messages 64, notice messages 65, results 66 proves convenient at times, principally for reasons of and reply messages 67.
common usage, to refer to these signals as bits, values, The preferred embodiment of the apparatus for interelements, symbols, objects, characters, terms, numbers, process message switching of the present invention 10 or the like. It should be borne in mind, however, that all 65 comprises a registering means 12 comprising an interthese and similar terms are to be associated with the face (not shown) for receiving registrations 62 as inputs appropriate physical quantities and are merely conve- from the processes 42,52, 54, a selecting means 14 comment labels applied to these quantities. prising an interface (not shown) for receiving messages