Email service error recovery
First Claim
1. A method comprising:
- storing a header of an email in an attached storage device of a header host computing device, wherein;
the email includes a message; and
the header includes an email recipient identifier, a globally unique identifier of the message, a status indicator reflecting an incomplete status, and a timestamp of the time at which the header is stored;
storing the message of the email in a separate file in an attached storage device of a message host computing device; and
when the storing the message of the email is performed without a failure, then changing the stored header in the attached storage device of the header host computing device such that;
the status indicator reflects a complete status, and the timestamp reflects the time at which the message is stored.
2 Assignments
0 Petitions
Accused Products
Abstract
The header and message of an email are respectively stored in header and message hosts. The stored header includes a recipient identifier, a globally message identifier, an incomplete status, and a timestamp. When the message is stored at each message host, the stored header is changed to a complete status and the timestamp is updated. If the message can'"'"'t be stored at message host, a diagnostic can be output and the stored header is deleted from the header hosts. When the message is stored in at least one of message hosts, the status indicator in the stored header is changed to reflect a complete status. When the message is stored in only some of the message hosts, a partially complete status is set for each message host at which the failures occurred. The message can be replicated in each message host having a corresponding partially complete status indicator.
65 Citations
52 Claims
-
1. A method comprising:
-
storing a header of an email in an attached storage device of a header host computing device, wherein;
the email includes a message; and
the header includes an email recipient identifier, a globally unique identifier of the message, a status indicator reflecting an incomplete status, and a timestamp of the time at which the header is stored;
storing the message of the email in a separate file in an attached storage device of a message host computing device; and
when the storing the message of the email is performed without a failure, then changing the stored header in the attached storage device of the header host computing device such that;
the status indicator reflects a complete status, and the timestamp reflects the time at which the message is stored. - View Dependent Claims (2)
-
-
3. A method comprising:
-
storing a header of an email in each of a plurality of header host computing devices, wherein;
the email includes a message; and
the header includes an email recipient identifier, a globally unique identifier of the message, a status indicator reflecting an incomplete status, and a timestamp of the time at which the header is stored;
storing the message of the email in a separate file in each of a plurality of message host computing devices;
when the storing the message of the email is performed without a failure for at least one of the message host computing devices, then changing each said stored header such that the status indicator reflects a complete status;
when the storing the message of the email is performed with a failure for less than all of the message host computing devices, then setting a partially complete status indicator for the message host computing devices at which the failures occurred; and
when the storing the message of the email is performed with a failure for each of the message host computing devices, then outputting a diagnostic. - View Dependent Claims (4)
-
-
5. A method comprising:
-
storing a header of an email in an attached storage device, respectively, for each of a plurality of header host computing devices;
upon a failure of the storing the header in the attached storage device for one said header host computing device;
storing the header in the attached storage device for another said header host computing device;
reassigning the another said header host computing device to be the one said header host computing device; and
reassigning the one said header host computing device to be the another said header host computing device;
storing a message of the email in a separate file in an attached storage device, respectively, for each of a plurality of message host computing devices. - View Dependent Claims (6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A method comprising:
-
storing a header of an email in a primary database;
replicating the header from the primary database into a secondary database; and
replicating a message of the email into each of a plurality of file shares, wherein;
there is a logical and physical difference in respective addresses between each of the primary database, the secondary database, and each said file share;
the method further comprises, upon the failure of the storing the header in the primary database;
storing the header in the secondary database; and
reassigning;
the secondary database as the primary database; and
the primary database as the secondary database. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33)
-
-
34. A method comprising:
-
accessing a primary database, using a request to retrieve an email, to retrieve a header corresponding to the email, wherein the header is replicated from the primary database to a secondary database; and
upon a failure of the access to the primary database;
accessing the secondary database, using the request to retrieve the email, to retrieve the header corresponding to the email;
reassigning the secondary database to be the primary database; and
reassigning the primary database to be the secondary database;
accessing a first of a plurality of file shares, using the retrieved header, to retrieve a message corresponding to the email, wherein there is a logical and physical difference in respective addresses between the primary and secondary databases and each said file share. - View Dependent Claims (35, 36, 37, 38, 39)
-
-
40. A method comprising:
-
receiving, at one of a plurality of protocol servers, a request to retrieve an email, wherein the email includes a unique identifier for one of a plurality of users;
retrieving, at the one said protocol server, an address for each of a primary database and a file share, wherein the one said protocol server uses each said address to perform;
an access to the primary database, using the request to retrieve the email, to retrieve a header corresponding to the email, wherein;
the header is replicated from the primary database to a secondary database; and
upon a failure to retrieve the header corresponding to the email from the primary database, accessing the secondary database, using the request to retrieve the email, to retrieve the header corresponding to the email from the secondary database;
an access to the file share to retrieve there from a message corresponding to the email at an address corresponding to the one said user within the file share, wherein;
the message is replicated from a separate file in the file share to a separate file in each of a plurality of said file shares; and
there is a logical and physical difference in respective addresses between each of the primary database, the secondary database, and each said file share. - View Dependent Claims (41, 42)
-
-
43. A method comprising:
-
receiving, at one of a plurality of front doors, a request to retrieve an email, wherein each said front door stores information about a plurality of users;
determining with the one said front door, from a unique identifier for one said user included with the request to retrieve the email, whether the one said user exists; and
when the determining finds that the one said user exists;
sending the request from the one said front door to one of a plurality of load balancers;
performing a load balancing analysis at the one said load balancer to determine one of a plurality of protocol servers to receive the request to retrieve the email;
receiving the request to retrieve the email at the one said protocol server;
retrieving, at the one said protocol server, an address for each of a primary database and a file share, wherein the one said protocol server uses each said address to perform;
an access to the primary database, using the request to retrieve the email, to retrieve a header corresponding to the email, wherein;
the header is replicated from an attached storage device in communication with the primary database into an attached storage device in communication with a secondary database; and
upon a failure to retrieve the header corresponding to the email from the attached storage device in communication with the primary database by the access to the primary database, accessing the secondary database, using the request to retrieve the email, to retrieve the header corresponding to the email from the attached storage device in communication with the secondary database;
an access to the file share, using the retrieved header, to retrieve a message corresponding to the email, wherein;
the message is replicated from a separate file in an attached storage device in communication with the file share into a separate file in an attached storage device respectively corresponding to each of a plurality of said file shares;
upon a failure to retrieve the message corresponding to the email from the separate file in the attached storage device in communication with the file share by the access to the file share, accessing each said file share, using the retrieved header, until there is a successful retrieval of the message corresponding to the email from the respective attached storage device in communication with the respective said file share; and
there is a logical and physical difference in respective addresses between each of the primary database, the secondary database, and each said file share. - View Dependent Claims (44, 45)
-
-
46. A protocol host computing device comprising:
-
fixed storage means for storing an email including an email header and an email message;
means for transmitting the email header for storage at each of a plurality of attached storage devices that are each in communication with one of a respective plurality of header host computing devices, wherein the email header includes an email recipient identifier, a globally unique identifier of the message, a status indicator reflecting an incomplete status, and a timestamp of the time at which the email header is stored; and
means for transmitting the email message for storage in a separate file in a plurality of attached storage devices that are in communication with one of a respective plurality of message host computing devices;
means for receiving a success or a failure as to the storing the message of the email;
means, when each said email message is stored without a failure, for transmitting instructions to change the stored email header in the attached storage device of each said header host computing device such that;
the status indicator reflects a complete status, and the timestamp reflects the time at which the message is stored. - View Dependent Claims (47)
-
-
48. A protocol host computing device comprising:
-
fixed storage means for storing an email including a header and a message;
means for transmitting the header for storage at each of a plurality of header host computing devices, wherein the header includes an email recipient identifier, a globally unique identifier of the message, a status indicator reflecting an incomplete status, and a timestamp of the time at which the header is stored;
means for transmitting the message of the email for storage in a separate file in each of a plurality of message host computing devices;
means for receiving a success or a failure as to the storing the message of the email;
means, when storing the message of the email is performed without a failure for at least one of the message host computing devices, for transmitting instructions to change each said header at each said header host computing device such that the status indicator reflects a complete status;
means, when the storing the message of the email is performed with a failure for less than all of the message host computing devices, for setting a partially complete status indicator for the message host computing devices at which the failures occurred; and
means, when the storing the message of the email is performed with a failure for each of the message host computing devices, for outputting a diagnostic. - View Dependent Claims (49, 50, 51, 52)
-
Specification