Patent ID: 7603474

Claim:
At a receiving computing device in a distributed environment running one or more services for processing messages, a method of efficiently determining those registered endpoints for which at least a portion of a message is destined, without having to compare each message header with each address header for each endpoint within each service, the method comprising: an act of receiving a SOAP message over a network that includes a set of message headers comprising information used in determining those endpoints for which at least a portion of the message is destined for processing, wherein at least one of the set of message headers includes a primary uniform resource identifier corresponding to the receiving computing device; an act of normalizing at least a portion of one or more of the set of message headers using a set of rules that when implemented produce identical unique data strings for equivalent portions of headers, which without normalization appear different; a step for creating a message header bit array by comparing the at least a portion of one or more of the set of message headers with a list of address headers within a header-to-bit conversion table, wherein each bit set true in the message header bit array represents a match and appropriate bit placement corresponding to an address header within the list; an act of using the primary uniform resource identifier to identify one or more endpoints such that only bit masks for the identified one or more endpoints are used for the comparison with the message header bit array; an act of receiving one or more endpoint bit masks wherein each endpoint bit mask corresponds to a particular endpoint of the one or more endpoints identified by the primary uniform resource identifier such that only bit masks for the identified one or more endpoints are used for the comparison with the message header bit array, and wherein each bit set true within each endpoint bit mask represents a header from the list of address headers that the message needs to have in order to satisfy criteria for the particular endpoint; and an act of comparing the message header bit array to the one or more endpoint address bit masks for determining those endpoints for which at least a portion of the SOAP message is destined.