US5856978AExpiredUtility

Message queuing distribution services for mail systems

60
Assignee: IBMPriority: Aug 14, 1995Filed: Aug 12, 1996Granted: Jan 5, 1999
Est. expiryAug 14, 2015(expired)· nominal 20-yr term from priority
H04L 51/214H04L 51/48
60
PatentIndex Score
52
Cited by
4
References
24
Claims

Abstract

A message queuing mail system is improved by preventing duplication of mail messages at the source when the same mail message is being sent to a plurality of destinations and also preventing unnecessary later redirection of mail messages in the mail delivery network, without requiring that the mail delivery netowrk have access to a mail directory, by defining addressing information and procedures that create, manipulate, and use the addressing information in a way that ensures that messages are replicated and redirected in the mail delivery network only when required.

Claims

exact text as granted — not AI-modified
We claim: 
     
       1. Method for transmitting a message from a first user (a1) over a network to destination users (b1, e1), each user (a1, b1, e1) being assigned to a mail server (20.1, 20.2, 20.5) connected to said network such that this mail server can be reached via a queue manager (21.1, 21.2, 21.7), comprising the steps: 1. preparing addressing information for submission of said message from the mail server (20.1) assigned to said first user (a1) over said network to mail servers (20.2, 20.5) assigned to said destination users (b1, e1),   2. encapsulating said addressing information and message in an MQ message,   3. creating a queue list (QL) comprising the MQ addresses of those queue managers (21.3, 21.7) through which said mail servers (20.2, 20.5) can be reached,   4. determining from said queue list (QL) the set of next-hop queue managers and generating associated queue sublists (QSL), and   5. routing said MQ message to each of said next-hop queue managers together with a queue list (QL) being equal to the queue sublist (QSL) associated with the respective next-hop queue manager, such that said next-hop queue managers now become acting queue managers, each of which, i) if said queue manager is found to be a queue manager in said queue list (QL), gets the names of local queues from said queue list (QL) and delivers said message to them,   ii) repeats steps 4 and 5 until said message has been put in all queues of said queue list (QL),     6. retrieving said MQ messages and addressing information from said queues of said queue list,   7. determining from said addressing information the set of destination users assigned to said mail servers, each of which, i) if said assigned destination user is local to said mail server, delivers said message to said destination user,   ii) repeats steps 1-7 for the subset of destination users that is not local until said message has been delivered to all destination users.     
     
     
       2. Method of claim 1 whereby said first user (a1) identifies said destination users (b1, e1) by generating a recipient list (RL) comprising unique identifiers one for each single destination user (b1, e1). 
     
     
       3. Method of claim 2 whereby the mail server assigned to said first user (a1) performs the following steps when receiving said message and associated recipient list (RL), 1. delivering said message to destination users in said recipient list (RL) assigned to the same mail server as said first user (a1), and   2. preparing addressing information and said message for submission from the mail server (20.1) assigned to said first user (a1) over said network to those destination users in said recipient list (RL) assigned to mail servers other than said mail server assigned to said first user (a1).   
     
     
       4. Method of claim 2 whereby the mail server (20.1) assigned to said first user (a1) carries out the following steps in order to create a mail server table (MST) taking as input said recipient list (RL): 1. taking information corresponding to a destination user (b1, e1) from said recipient list (RL),   2. obtaining from a mail directory the identifier of the mail server (MSB) to which said destination user (b1, e1) is assigned,   3. adding the name of said destination user (b1) and the identifier of said mail server (MSB) obtained to a remote recipient table (RRT),   
     
     
       4. repeating the above three steps until all destination users (b1, e1) in said recipient list (RL) have been dealt with, 5. inverting said remote recipient table (RRT) to create said mail server table (MST).   
     
     
       5. Method of claim 4 whereby a particular mail server performs delivery/redirection of said message by executing the following steps: 1. determining from said mail server table (MST) or remote recipient table (RRT) the set of destination users assigned to said particular mail server,   2. getting destination user information from the set of assigned destination users,   3. if said destination user is local then delivering said message to said destination user,   4. if said destination user is not local then i) creating new recipient list, if one does not already exist, and   ii) adding said destination user to said new recipient list,     5. repeating steps 2-4 until all destination users from said set of assigned destination users are exhausted,   6. preparing addressing information and said message for submission to said network for transport to said destination users of said recipient list (RL).   
     
     
       6. Method of claim 5 whereby said particular mail server submits said message and addressing information encapsulated in an MQ message to the queue manager responsible for said mail server for transport to said destination users of said recipient list (RL) over said MQ network by performing the following steps: 1. creating a remote recipient table (RRT) based on said recipient list (RL) associated with said message,   2. creating a mail server table (MST) based on said remote recipient table (RRT),   
     
     
       3. creating a queue list (QL) based on said remote recipient table (RRT), 4. encapsulating said message and said mail server table (MST) or said remote recipient table (RRT) in an MQ message,   5. submitting said MQ message with said associated queue list (QL) to said responsible queue manager.   
     
     
       7. Method of claim 6 whereby said mail server carries out the following steps in order to create a remote recipient table (RRT) taking as input said recipient list (RL): 1. taking information corresponding to a remote destination user from said recipient list (RL),   2. obtaining from a mail directory the identifier of the mail server to which said remote destination user is assigned,   3. adding the name of said remote destination user and said mail server identifier to a remote recipient table (RRT),   4. repeating steps 1-3 until all remote destination users in said recipient list (RL) have been dealt with.   
     
     
       8. Method of claim 7 whereby the mail server carries out the following steps in order to create a queue list (QL) from said remote recipient table (RRT): 1. taking an entry (e) from said remote recipient table and extracting the mail server identifier from this entry,   2. obtaining from said MQ directory the MQ address, i.e., the name of the queue to which said mail server is assigned and the name of the queue manager owning said queue,   3. adding said MQ address to said queue list (QL),   4. repeating step 1 above and, if said mail server identifier thus obtained is distinct from all previous mail server identifiers, then repeating step 2 above,   5. repeating step 4 until all entries of the remote recipient table have been exhausted.   
     
     
       9. Method of claim 1 whereby said queue managers perform delivery/rerouting of said MQ message by executing the following steps: 1. taking an entry from said queue list (QL) associated to said MQ message and determining a queue manager name from that entry,   2. if said queue manager name is local then getting the respective queue name from said entry and delivering said message to the queue with said name,   3. if said queue manager name is not local then determining the next-hop queue manager, i.e, the queue manager which shall be the next acting queue manager, i) creating a new queue sublist (QSL) for said next-hop queue manager if not already existing, and   ii) adding said entry to the queue sublist of the respective next-hop queue manager,     4. repeating steps 1-3 until all entries in said queue list are exhausted,   5. getting said queue sublist (QSL) for a next-hop queue manager and rerouting said MQ message and said queue sublist (QSL), which becomes the associated queue list (QL) of said MQ message, to said next-hop queue manager,   6. repeating step 5 until all queue sublists (QSL) are exhausted.   
     
     
       10. Method of claim 1 whereby the entries in said queue list (QL) which has already been dealt with is distinguished from the entries which have not yet been dealt with by labelling the respective entries. 
     
     
       11. Method of claim 1 whereby the entries in said queue list (QL) which has already been dealt with is distinguished from the entries which have not yet been dealt with by deleting said information which has already been dealt with. 
     
     
       12. Method of claim 1 whereby it is determined which destination users (b1, e1) are assigned to which mail servers (20.2, 20.5) by looking up the respective information in a mail directory comprising a unique identifier for each mail server (20.2, 20.5). 
     
     
       13. Network for the transmission of a message from a first user (a1) to destination users (b1, e1), each user (a1, b1, e1) being assigned to a mail server (20.1, 20.2, 20.5) connected to said network such that said mail server can be reached via a queue manager (21.1, 21.2, 21.7), said network comprising: 1. means for preparing addressing information for submission of said message from the mail server (20.1) assigned to said first user (a1) over said network to mail servers (20.2, 20.5) assigned to said destination users (b1, e1),   2. means for encapsulating said addressing information and message in an MQ message,   3. means for creating a queue list (QL) comprising the MQ addresses of those queue managers through which said mail servers can be reached,   4. means for determining from said queue list (QL) the set of next-hop queue managers and for generating associated queue sublists (QSL),   5. means for routing said MQ message to each of said next-hop queue managers together with a queue list (QL) being equal to the queue sublist (QSL) associated with the respective next-hop queue manager such that said next-hop queue managers become acting queue managers   6. means for putting said message into a queue of said acting queue manager, if said acting queue manager is found to be a queue manager listed in said queue list (QL),   7. means for repeating the steps carried out by the means for routing and the means for putting until said message has been put in all queues of said queue list (QL),   8. means for retrieving said MQ messages and addressing information from said queues of said queue list,   9. means for determining from said addressing information the set of destination users assigned to said mail servers, each of which, i) comprises means for delivering said message to said destination user, if said assigned destination user is local to said mail server,   ii) and means for repeating the steps carried out by the preceding means for the subset of destination users that is not local until said message has been delivered to all destination users.     
     
     
       14. Network of claim 13 wherein said means for creating a queue sublist (QSL) distinguishes the entries in said queue list which have already been dealt with from those entries which have not yet been dealt with by labelling the respective entries. 
     
     
       15. Network of claim 13 wherein said mail server assigned to said first user (a1) comprises the following means which are employed when it receives said message and an associated recipient list (RL) used to identify all destination users, 1. means for delivering said message to destination users in said recipient list (RL) assigned to the same mail server as said first user (a1), and   2. means for preparing addressing information and said message for submission from the mail server (20.1) assigned to said first user (a1) over said network to those destination users in said recipient list (RL) assigned to mail servers other than said mail server assigned to said first user (a1).   
     
     
       16. Network of claim 13 wherein said queue managers perform delivery/rerouting of said MQ message by employing the following means: 1. means for taking an entry from said queue list (QL) associated to said MQ message and for determining a queue manager name from that entry,   
     
     
       2. means for getting the respective queue name from said entry and delivering said message to the queue with said name if said queue manager name is local, 3. means for determining the next-hop queue manager, i.e, the queue manager which shall be the next acting queue manager, if said queue manager name is not local, i) means for creating a new queue sublist (QSL) for said next-hop queue manager if not already existing, and   ii) means for adding said entry to the queue sublist of the respective next-hop queue manager,     4. means for repeating steps carried out by the means for taking an entry from said queue list, means for getting the respective queue name and means for determining the set of next-hop queue managers, until all entries in said queue list are exhausted,   5. means for getting said queue sublist (QSL) for a next-hop queue manager and rerouting said MQ message and said queue sublist (QSL), which becomes the associated queue list (QL) of said MQ message, to said next-hop queue manager,   6. means for repeating the step carried out by said means for getting said queue sublist (QSL) until all queue sublists (QSL) are exhausted.   
     
     
       17. Network of claim 13 wherein said means for creating a queue sublist (QSL) distinguishes the entries in said queue list which have already been dealt with from the entries which have not yet been dealt with by deleting said information which has already been dealt with from said queue list (QL). 
     
     
       18. Network of claim 13 wherein said first user (a1) comprises means for generating a recipient list (RL) comprising addressing information associated with each single destination user used to identify said destination users (b1, e1). 
     
     
       19. Network of claim 13, wherein said means for creating a queue list determine which mail servers (20.2, 20.5) are assigned to said destination users (b1, e1) by looking up the respective information in a mail directory comprising a unique identifier for each mail server. 
     
     
       20. Network of claim 13, wherein the mail server (20.1) to which said first user (a1) is assigned comprises the following means for creating a mail server table (MST) taking as input said recipient list (RL): 1. means for taking information corresponding to a destination user from said recipient list (RL),   2. means for obtaining from a mail directory the identifier of the mail server to which said destination users are assigned,   3. means for adding the name of said destination user and the identifier of said mail server obtained to a remote recipient table (RRT)   4. means for repeating the steps carried out by the above three means until all destination users in said recipient list (RL) have been dealt with,   5. means for inverting said remote recipient table (RRT) to create said mail server table (MST).   
     
     
       21. Network of claim 13, wherein the a particular mail server comprises the following means to perform delivery/redirection of said message: 1. means for determining from said mail server table (MST) or remote recipient table (RRT) the set of destination users assigned to said particular mail server,   2. means for getting destination user information from the set of assigned destination users,   3. means for delivering said message to said destination user, if said destination user is local,   4. means for carrying out the following two steps, if said destination user is not local, i) creating new recipient list, if one does not already exist, and   ii) adding said destination user to said new recipient list,     
     
     
       5. means for repeating steps carried out by said means for getting destination user information, said means for delivering said message to said destination user, and said means for carrying out the above two steps until all destination users from said set of assigned destination users are exhausted, 6. means for preparing addressing information and said message for submission to said network for transport to said destination users of said recipient list (RL).   
     
     
       22. Network of claim 21, wherein said particular mail server employs the below means for submission of said message and addressing information encapsulated in an MQ message to the queue manager responsible for said mail server for transport to said destination users of said recipient list (RL) over said MQ network: 1. means for creating a remote recipient table (RRT) based on said recipient list (RL) associated with said message,   2. means for creating a mail server table (MST) based on said remote recipient table (RRT),   3. means for creating a queue list (QL) based on said remote recipient table (RRT),   4. means for encapsulating said message and said mail server table (MST) or said remote recipient table (RRT) in an MQ message,   5. means for submitting said MQ message with said associated queue list (QL) to said responsible queue manager.   
     
     
       23. Network of claim 22, wherein said mail server comprises the following means to create a remote recipient table (RRT) taking as input said recipient list (RL): 1. means for taking information corresponding to a remote destination user from said recipient list (RL),   2. means for obtaining from a mail directory the identifier of the mail server to which said remote destination user is assigned,   
     
     
       3. means for adding the name of said remote destination user and said mail server identifier to a remote recipient table (RRT), 4. means for repeating steps carried out by the above means of this claim until all remote destination users in said recipient list (RL) have been dealt with.   
     
     
       24. Network of claim 23, wherein the mail server comprises the following means to create a queue list (QL) from said remote recipient table (RRT): 1. means for taking an entry (e) from said remote recipient table and extracting the mail server identifier from this entry,   2. means for obtaining from said MQ directory the MQ address, i.e., the name of the queue to which said mail server is assigned and the name of the queue manager owning said queue,   3. means for adding said MQ address to said queue list (QL),   4. means for repeating the step carried out by said means for taking an entry from said remote recipient table and, if said mail server identifier thus obtained is distinct from all previous mail server identifiers, then repeating the step carried out by said means for obtaining from said MQ directory the MQ address,   5. means for repeating step carried out by the latter means until all entries of the remote recipient table have been exhausted.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.