Independent message stores and message transport agents
First Claim
Patent Images
1. A computerized method of a notification agent, said method comprising:
- monitoring a message store of a cluster of servers for new messages, said cluster including a plurality of notification servers and a plurality of transport servers, wherein each server is independent of the other servers, wherein the monitored message store does not broadcast receipt of new messages;
obtaining a list of a plurality of message transport agents (MTA), wherein each MTA has direct access to the monitored message store;
selecting one of the plurality of MTAs for notification when a new message is directly received by the monitored message store and wherein the notification agent is otherwise unaware of the new message;
notifying the selected MTA that the received new message in a monitored message store is available for transmission without transmitting the received new message to the selected MTA, so that the selected MTA responds to the notification by retrieving the received new message directly from the monitored message store specified by the notification agent and transmitting the received new message to a specified destination;
executing the notification agent on one of the notification servers, wherein each notification server executes only one notification agent; and
executing each of the plurality of MTAs on one of the transport servers wherein each transport server executes only one of the MTAs,said selecting includes indexing an MTA Array as a function of an index number of the monitored message store that receives the new message in a sorted list of the plurality of message stores.
2 Assignments
0 Petitions
Accused Products
Abstract
Multiple independent MTAs transmit messages such that if one of the MTAs fails, the other MTAs may continue to transmit messages. Multiple independent message stores are provided such that if one of the message stores fails, messages on the other message stores may continue to be transmitted. Multiple notification agents monitor the message stores for new messages and notify one of the MTAs when a new message is available for transmission.
61 Citations
12 Claims
-
1. A computerized method of a notification agent, said method comprising:
-
monitoring a message store of a cluster of servers for new messages, said cluster including a plurality of notification servers and a plurality of transport servers, wherein each server is independent of the other servers, wherein the monitored message store does not broadcast receipt of new messages; obtaining a list of a plurality of message transport agents (MTA), wherein each MTA has direct access to the monitored message store; selecting one of the plurality of MTAs for notification when a new message is directly received by the monitored message store and wherein the notification agent is otherwise unaware of the new message; notifying the selected MTA that the received new message in a monitored message store is available for transmission without transmitting the received new message to the selected MTA, so that the selected MTA responds to the notification by retrieving the received new message directly from the monitored message store specified by the notification agent and transmitting the received new message to a specified destination; executing the notification agent on one of the notification servers, wherein each notification server executes only one notification agent; and executing each of the plurality of MTAs on one of the transport servers wherein each transport server executes only one of the MTAs, said selecting includes indexing an MTA Array as a function of an index number of the monitored message store that receives the new message in a sorted list of the plurality of message stores. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system, comprising:
-
a cluster of servers including a plurality of notification servers and a plurality of transport servers wherein each server is independent of the other servers, said cluster including a plurality of message stores; a plurality of notification agents, each associated with one of the plurality of message stores and each executed by one of the notification servers of the cluster wherein each notification server executes only one of the notification agents, wherein each notification agent monitors its associated message store for new messages, wherein the notification agent is otherwise unaware of the new messages; and a plurality of message transport agents (MTAs), each accessible by each of the notification agents and each executed by one of the transport servers of the cluster wherein each transport server executes only one of the MTAs, wherein each MTA can directly access each of the message stores, wherein the notification agent selects one of the plurality of MTAs for notification when a new message is directly received at a monitored message store, wherein the MTA is selected by the notification agent from the list of MTAs by indexing an MTA Array as a function of an index number of the monitored message store that receives the new message in a sorted list of the plurality of message stores, wherein said notification agent notifies the selected MTA that the received message is available for transmission in the monitored message store without transmitting the received new message to the selected MTA, and wherein the selected MTA responds to the notification by retrieving the received message directly from the monitored message store specified by the notification agent and transmitting the received message to a specified destination.
-
-
12. In a system wherein new messages are stored in a single message store for transmission by a single message transport agent (MTA), the improvement comprising:
-
a cluster of servers including a plurality of notification servers and a plurality of transport servers wherein each server is independent of the other servers, said cluster including all the message stores; additional MTAs, wherein each MTA can access each message store and each is executed by one of the transport servers, wherein each transport server executes only one of the MTAs; a plurality of notification agents, each associated with one or more of the plurality of message stores, wherein each notification agent monitors the associated message store for new messages, wherein the notification agent is otherwise unaware of the new messages, each notification agent executed by one of the notification servers, wherein each notification server executes only one of the notification agents; wherein the notification agent maintains a sorted list of the plurality of MTAs and further maintains a sorted list of all associated message stores, wherein the notification agent selects one of the plurality of MTAs for notification when a new message is directly received at an associated message store by determining an index of the associated message store having the new message from the sorted list of all associated message stores and indexing into the sorted list of the plurality of MTAs using the determined index of the associated message store, and said notification agent notifies the selected MTA that the received message is available for transmission from the associated message store without transmitting the received message to the selected MTA; wherein the selected MTA responds to the notification by retrieving the received new message directly from the monitored message store specified by the notification agent and transmitting the received message to a specified destination; and whereby if a message store is inaccessible and a remaining message store is accessible, the received messages on the remaining accessible message store may be transmitted, thus minimizing the impact of the inaccessible message store as a single point of failure; and if the selected MTA is inaccessible and a remaining MTA is accessible, the received message may be transmitted by the remaining accessible MTA, thus eliminating the selected MTA as a single point of failure.
-
Specification