Method and apparatus for routing messages to processes in a computer system
First Claim
1. A method for interprocess message routing in a computer system, said computer system comprising a sender process and a plurality of receiver processes, said plurality of receiver processes comprising handler processes and observer processes, said method comprising the steps of:
- registering each of said receiver processes with a routing apparatus in said computer system that performs interprocess message routing such that said receiver processes become registered receiver processes, said step of registering comprisingregistering a signaling way for each receiver process, said signaling way describing how said receiver process is to be signaled,registering at least one message pattern for each of said receiver processes, said message patterns describing at least one message which said registering receiver process is to receive;
sending at least one message from said sender process to said routing apparatus, said message sent by said sender process comprises at least one message attribute, one of said message attributes comprising a message class of "Request" or a message class of "Notice", message having a message class of "Request" requiring a reply, a message having a message class of "Notice" not requiring a reply;
selecting a set of said registered receiver processes to receive said message from said routing apparatus by matching said message against said message patterns registered by said receiver processes, said step of selecting a set of said registered receiver processes comprises said routing apparatus selecting at most one handler process to handle said received message and any number of observer processes;
queuing, in said routing apparatus, copies of said message with said set of receiver processes;
signaling said set of registered receiver processes from said routing apparatus regarding the availability of said queued copies of said message, said step of signaling performed by said routing apparatus using said signaling way given by said selected registered receiver process; and
sending said queued copies of said message from said routing apparatus to each of said set of registered receiver processes upon request of each of said set of registered receiver processes.
0 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for interprocess message switching between a sender process and a plurality of receiver processes is disclosed. Messages supported comprise request and notice messages. Receiver processes supported comprise handler processes and observer processes. Request messages may be observed as well as handled, and notice messages may be handled as well as observed. Handler and observer processes may be non-executing as well as executing. Sender processes do not need to specify the identity of the receiver processes. The sender process and the receiver processes may be executed on the same computer or on two or more computers in a network.
56 Citations
55 Claims
-
1. A method for interprocess message routing in a computer system, said computer system comprising a sender process and a plurality of receiver processes, said plurality of receiver processes comprising handler processes and observer processes, said method comprising the steps of:
-
registering each of said receiver processes with a routing apparatus in said computer system that performs interprocess message routing such that said receiver processes become registered receiver processes, said step of registering comprising registering a signaling way for each receiver process, said signaling way describing how said receiver process is to be signaled, registering at least one message pattern for each of said receiver processes, said message patterns describing at least one message which said registering receiver process is to receive; sending at least one message from said sender process to said routing apparatus, said message sent by said sender process comprises at least one message attribute, one of said message attributes comprising a message class of "Request" or a message class of "Notice", message having a message class of "Request" requiring a reply, a message having a message class of "Notice" not requiring a reply; selecting a set of said registered receiver processes to receive said message from said routing apparatus by matching said message against said message patterns registered by said receiver processes, said step of selecting a set of said registered receiver processes comprises said routing apparatus selecting at most one handler process to handle said received message and any number of observer processes; queuing, in said routing apparatus, copies of said message with said set of receiver processes; signaling said set of registered receiver processes from said routing apparatus regarding the availability of said queued copies of said message, said step of signaling performed by said routing apparatus using said signaling way given by said selected registered receiver process; and sending said queued copies of said message from said routing apparatus to each of said set of registered receiver processes upon request of each of said set of registered receiver processes. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27)
-
-
28. An apparatus for message routing between a sender process and a plurality of receiver processes, said plurality of receiver processes comprising handler processes and observer processes, said apparatus comprising:
-
a first registering means for registering said receiver processes with said apparatus, said first registering means comprising a first interface for receiving registrations, said first registering means registering a signaling way describing how said receiver process is to be signaled and at least one message pattern for each of said receiver processes, said message pattern describing at least one message which said registering receiver process is to receive; receiving means, said receiving means comprising a second interface for receiving at least one message sent by said sender process, said message comprising at least one message attribute, one of said message attributes in some of said received messages comprising a message class attribute, said message class attribute comprising a message class of "Request" or a message class of "Notice", a message having a message class "Request" requiring a reply, a message having a message class "Notice" not requiring a reply; first selecting means for selecting a set of said registered receiver processes to receive said message sent by said sender process, said first selecting means comprising a first matching means, said first matching means selecting a set of said registered receiver processes to receive said message sent by said sender process by matching said message against said first set of message attributes in said message patterns registered by said receiver processes, said set of said registered receiver processes comprising at most one handler process to handle said message and any number of observer processes; first queuing means coupled to said first selecting means, for queuing said message with said set of receiver processes; first signaling means coupled to said first queuing means and said first registering means, for signaling said set of receiver processes regarding availability of said queued messages, said first signaling means using said signaling way given by said set of registered receiver process; and first delivering means for delivering said queued messages to each of said set of said selected registered receiver processes which request delivery of said message, said first delivering means comprising a third interface for receiving said delivery request. - View Dependent Claims (29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55)
-
Specification