Fast path message transfer agent
First Claim
1. A method, implemented in hardware and software, comprising:
- receiving, over a network connection, from a first email server by a second email server, bytes of an email message addressed to one or more intended recipients;
determining whether the number of bytes of the email message received at the second email server exceeds a predetermined threshold, wherein if not, then writing the email message only to a dynamic memory on the second email server, and wherein if so, then writing a portion of the bytes of the email message up to the predetermined threshold to the dynamic memory and storing a remainder of the bytes of the email message to a non-volatile storage on the second email server, the dynamic memory providing faster access time compared to the non-volatile storage; and
sending all bytes of the email message from the second email server to the one or more intended recipients of the email message after the second email server has received all bytes of the email message.
12 Assignments
0 Petitions
Accused Products
Abstract
A method of providing a fast path message transfer agent is provided. The method includes receiving bytes of a message over a network connection and determining whether the number of bytes exceeds a predetermined threshold. If the number of bytes is less than a predetermined threshold, then the message is written only to memory. However, if the number of bytes exceeds the predetermined threshold, then some of the bytes (e.g. up to the predetermined threshold) are written to memory, wherein the remainder of the bytes are stored onto the non-volatile storage. If the message was received successfully by each destination, then the message is removed from the memory/non-volatile storage. If not, all failed destinations are identified and the message (with associated failed destinations) is stored on the non-volatile storage for later sending.
44 Citations
22 Claims
-
1. A method, implemented in hardware and software, comprising:
-
receiving, over a network connection, from a first email server by a second email server, bytes of an email message addressed to one or more intended recipients; determining whether the number of bytes of the email message received at the second email server exceeds a predetermined threshold, wherein if not, then writing the email message only to a dynamic memory on the second email server, and wherein if so, then writing a portion of the bytes of the email message up to the predetermined threshold to the dynamic memory and storing a remainder of the bytes of the email message to a non-volatile storage on the second email server, the dynamic memory providing faster access time compared to the non-volatile storage; and sending all bytes of the email message from the second email server to the one or more intended recipients of the email message after the second email server has received all bytes of the email message. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A non-transitory computer readable storage medium storing software program, the software program being executable to provide operations comprising:
-
receiving, over a network connection, from a first email server by a second email server, bytes of an email message addressed to one or more intended recipients; determining if the number of bytes of the email message received at the second email server exceeds a predetermined threshold, wherein if not, then writing the email message only to a dynamic memory on the second email server, and wherein if so, then writing a portion of the bytes of the email message up to the predetermined threshold to the dynamic memory and storing a remainder of the bytes of the email message to a non-volatile storage on the second email server, the dynamic memory providing faster access time compared to the non-volatile storage; and sending all bytes of the email message from the second email server to the one or more intended recipients of the email message after the second email server has received all bytes of the email message. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A method, implemented in hardware and software, comprising:
-
receiving a number of bytes of an email message over a network connection; determining whether the received number of bytes of the email message exceeds a predetermined threshold, wherein if not, then writing the email message only to a dynamic memory, and wherein if so, then writing the email message only to a non-volatile storage; determining whether all bytes of the email message have been received; wherein if not, then receiving additional bytes of the email message over the network connection, wherein if a total number of bytes of the email message exceeds the predetermined threshold then writing the total number of bytes only to the non-volatile storage and erasing all bytes of the email message from the dynamic memory; and wherein if so, then proceeding to re-route the email message, accessing the email message; sending all bytes of the email message to each destination; and determining whether all bytes of the email message were received successfully by each destination; wherein if the email message was received successfully by each destination, then removing the email message from the dynamic memory or the non volatile storage; and indicating a successful receipt of the email message; and wherein if the email message was not received successfully by each destination, then identifying all failed destinations; storing the email message on the non-volatile storage; and indicating a successful receipt of the email message. - View Dependent Claims (20, 21, 22)
-
Specification