Email service
First Claim
Patent Images
1. A method with computer readable instructions executable on a hardware processor, the method comprising:
- Implementing one or more of primary database devices, one or more plurality of secondary database devices, one or more file sharing devices and a topological data storage device for one or more email clients on a distribution network;
wherein each email within the network includes an email header and an email message;
wherein the email header comprise a set of metadata corresponding to the RFC 2822 and the email header is an index use for the indexing the email message that is stores separately;
wherein the one or more primary database devices and the one or more secondary database devices are used to store plurality of the email headers;
wherein the one or more secondary database devices serve as a backup database of the one or more primary databases;
using a log shipping process to replicate email headers from at least one of the primary database devices to at least one of the secondary database devices to eliminate a single point of failure;
issuing at least one or more email-related requests by the one or more email clients;
executing, by a load balancer, a load balancing algorithm to forward at least one or more email-related requests and to select at least one or more stateless protocol servers available to ensure the one or more email-related requests are serviced;
each email-related requests include;
an email, port assignments, number of sockets per server, worker threads, buffer sizes, physical storage address of each email client, and email client capacity data;
using each stateless protocol server to parse one or more email-related requests by separate the email header and the email message that are in each email contained in one or more email-related requests;
using each stateless protocol server to store the email header in the one or more primary database devices and to store the email message to one or more file share devices;
setting a state of the email header to a committed state as the email message is successfully written into the one or more file share devices; and
retrieving addresses that correspond to the email-related request or a requesting email clients for each of the one or more primary database devices and each of one or more file share devices;
using the retrieving addresses by the one or more stateless protocol servers to access the one or more primary database devices and accessing one or more file share devices;
wherein maintaining at least two copies of the email headers on the at least one of the file share devices to ensure a higher availability for a specific group of email clients that have a particular class of service;
wherein the set of metadata in each email header includes data from a group consisting of a transaction state, a sender of the email, a subject of the email, a receipt date of the email, a size of the email message, an email recipient preference, email folder hierarchy data, a rule for filtering of the email message, an identification of an email recipient, a globally unique identifier of the email message, and a timestamp of when the email header was last modified;
wherein each said stateless protocol server using a messaging protocol by which consistency in email header is maintained between the one or more of primary database devices and one or more plurality of secondary database devices.
2 Assignments
0 Petitions
Accused Products
Abstract
An email having a header and a message is processed by an email service to store the header in a plurality of attached storage devices that are each in communication with one of a respective plurality of header host computing devices. The email service stores the message in a separate file in a plurality of attached storage devices that are each in communication with one of a respective plurality of message host computing devices.
39 Citations
27 Claims
-
1. A method with computer readable instructions executable on a hardware processor, the method comprising:
-
Implementing one or more of primary database devices, one or more plurality of secondary database devices, one or more file sharing devices and a topological data storage device for one or more email clients on a distribution network; wherein each email within the network includes an email header and an email message; wherein the email header comprise a set of metadata corresponding to the RFC 2822 and the email header is an index use for the indexing the email message that is stores separately; wherein the one or more primary database devices and the one or more secondary database devices are used to store plurality of the email headers; wherein the one or more secondary database devices serve as a backup database of the one or more primary databases; using a log shipping process to replicate email headers from at least one of the primary database devices to at least one of the secondary database devices to eliminate a single point of failure; issuing at least one or more email-related requests by the one or more email clients; executing, by a load balancer, a load balancing algorithm to forward at least one or more email-related requests and to select at least one or more stateless protocol servers available to ensure the one or more email-related requests are serviced; each email-related requests include;
an email, port assignments, number of sockets per server, worker threads, buffer sizes, physical storage address of each email client, and email client capacity data;using each stateless protocol server to parse one or more email-related requests by separate the email header and the email message that are in each email contained in one or more email-related requests; using each stateless protocol server to store the email header in the one or more primary database devices and to store the email message to one or more file share devices; setting a state of the email header to a committed state as the email message is successfully written into the one or more file share devices; and retrieving addresses that correspond to the email-related request or a requesting email clients for each of the one or more primary database devices and each of one or more file share devices; using the retrieving addresses by the one or more stateless protocol servers to access the one or more primary database devices and accessing one or more file share devices; wherein maintaining at least two copies of the email headers on the at least one of the file share devices to ensure a higher availability for a specific group of email clients that have a particular class of service; wherein the set of metadata in each email header includes data from a group consisting of a transaction state, a sender of the email, a subject of the email, a receipt date of the email, a size of the email message, an email recipient preference, email folder hierarchy data, a rule for filtering of the email message, an identification of an email recipient, a globally unique identifier of the email message, and a timestamp of when the email header was last modified; wherein each said stateless protocol server using a messaging protocol by which consistency in email header is maintained between the one or more of primary database devices and one or more plurality of secondary database devices. - View Dependent Claims (2, 3)
-
-
4. A method with computer readable instructions executable on a hardware processor, the method comprising:
-
implementing one or more of primary database devices, one or more plurality of secondary database devices, one or more file sharing devices and a topological data storage device for one or more email clients on a distribution network; wherein each email within the network includes an email header and an email message; wherein the email header comprises a set of metadata corresponding to the RFC 2822 and the email header is an index used for indexing the email message that is stored separately; wherein the one or more primary database devices and the one or more secondary database devices are used to store plurality of the email headers; wherein the one or more secondary database devices serve as a backup database of the one or more primary databases; using a log shipping process to replicate email headers from at least one of the primary database devices to at least one of the secondary database devices to eliminate a single point of failure; issuing at least one or more email-related requests by the one or more email clients; executing, by a load balancer, a load balancing algorithm to forward at least one or more email-related requests and to select at least one or more stateless protocol servers available to ensure the one or more email-related requests are serviced; each email-related request includes;
an email, port assignments, number of sockets per server, worker threads, buffer sizes, physical storage address of each email client, and email client capacity data;using each stateless protocol server to parse one or more email-related requests by separating the email header and the email message that are in each email contained in one or more email-related requests; using each stateless protocol server to store the email header in the one or more primary database devices and to store the email message to one or more file share devices; setting a state of the email header to a committed state as the email message is successfully written into the one or more file share devices; retrieving addresses that correspond to the email-related request or a requesting email clients for each of the one or more primary database devices and each of one or more file share devices; using the retrieving addresses by the one or more stateless protocol servers to access the one or more primary database devices and accessing one or more file share devices; wherein maintaining at least two copies of the email headers on the at least one of the file share devices to ensure a higher availability for a specific group of email clients that have a particular class of service; storing a header of an email in a primary database, wherein the header is stored separately from the message of the email; replicating a message of the email into each of the 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; and rendering information from the header of the email, the header comprises an identity of a sender of the email, a subject of an email, a date the email was received, a size of a message of the email, email recipient preferences, email folder hierarchy data, and rules for filtering email messages; wherein each said stateless protocol server uses a messaging protocol by which consistency in email header is maintained between the one or more of primary database devices and one or more plurality of secondary database devices. - View Dependent Claims (5, 6, 7, 8, 9, 10, 11)
-
-
12. A method with computer readable instructions executable on a hardware processor, the method comprising:
-
implementing one or more of primary database devices, one or more plurality of secondary database devices, one or more file sharing devices and a topological data storage device for one or more email clients on a distribution network; wherein each email within the network includes an email header and an email message; wherein the email header comprises a set of metadata corresponding to the RFC 2822 and the email header is an index used for indexing the email message that is stored separately; wherein the one or more primary database devices and the one or more secondary database devices are used to store plurality of the email headers; wherein the one or more secondary database devices serve as a backup database of the one or more primary databases; using a log shipping process to replicate email headers from at least one of the primary database devices to at least one of the secondary database devices to eliminate a single point of failure; issuing at least one or more email-related requests by the one or more email clients; executing, by a load balancer, a load balancing algorithm to forward at least one or more email-related requests and to select at least one or more stateless protocol servers available to ensure the one or more email-related requests are serviced; each email-related request includes;
an email, port assignments, number of sockets per server, worker threads, buffer sizes, physical storage address of each email client, and email client capacity data;using each stateless protocol server to parse one or more email-related requests by separating the email header and the email message that are in each email contained in one or more email-related requests; using each stateless protocol server to store the email header in the one or more primary database devices and to store the email message to one or more file share devices; setting a state of the email header to a committed state as the email message is successfully written into the one or more file share devices; retrieving addresses that correspond to the email-related request or a requesting email clients for each of the one or more primary database devices and each of one or more file share devices; using the retrieving addresses by the one or more stateless protocol servers to access the one or more primary database devices and accessing one or more file share devices; wherein maintaining at least two copies of the email headers on the at least one of the file share devices to ensure a higher availability for a specific group of email clients that have a particular class of service; accessing a primary database, using a request to retrieve an email, to retrieve a header corresponding to the email; accessing a file share, 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 database and the file share; wherein the set of metadata in each email header includes data from a group consisting of a transaction state, a sender of the email, a subject of the email, a receipt date of the email, a size of the email message, an email recipient preference, email folder hierarchy data, a rule for filtering of the email message, an identification of an email recipient, a globally unique identifier of the email message, and a timestamp of when the email header was last modified. - View Dependent Claims (13, 14, 15, 16, 17, 18)
-
-
19. An email system comprising:
-
one or more of primary database devices, one or more plurality of secondary database devices, one or more file sharing devices and a topological data storage device implemented for one or more email clients on a distribution network; wherein each of the one or more of primary database devices, the one or more plurality of secondary database devices, the one or more file sharing devices, the topological data storage, the one or more email clients comprising a hardware processor; wherein each email within the network includes an email header and an email message; wherein the email header comprises a set of metadata corresponding to the RFC 2822 and the email header is an index used for indexing the email message that is stored separately; wherein the one or more primary database devices and the one or more secondary database devices are used to store plurality of the email headers; wherein the one or more secondary database devices serve as a backup database of the one or more primary databases; a messaging protocol to maintain consistency in data for a database device and a file share device; a log shipping process to replicate email headers from at least one of the primary database devices to at least one of the secondary database devices to eliminate a single point of failure; wherein maintaining at least two copies of the email headers on the at least one of the file share devices to ensure a higher availability for a specific group of email clients that have a particular class of service; load balancers distributing email related requests over the set of protocol servers, wherein the load balancers execute a load balancing algorithm to forward at least one or more email-related requests and to select at least one or more stateless protocol servers available to ensure the one or more email-related requests are serviced; wherein each email-related request includes;
an email, port assignments, number of sockets per server, worker threads, buffer sizes, physical storage address of each email client, and email client capacity data;wherein each stateless protocol server is used to parse one or more email-related requests by separating the email header and the email message that are in each email contained in one or more email-related requests and to store the email header in the one or more primary database devices and to store the email message to one or more file share devices; the set of protocol servers separating an email header corresponding to a plurality of emails and a message corresponding to the email header; a plurality of header host computing devices each having an attached database device for storing an email header corresponding to a respectively plurality of emails, wherein the email header is stored separately from the message of the email; another database device log shipping the email header to another database device, wherein the plurality of headers in the another database device act as respective indices to the set of messages in a message file server host; a plurality of message host computing devices each having an attached file share device for storing, in a separate file, a message that corresponds to a respective one header that is stored separately in an attached storage device of one header host computing device; wherein setting a state of a retrieved header of the email message to a committed state as the email message is successfully written into the one or more file share devices; wherein addresses that correspond to the email-related request or a requesting email clients for each of the one or more primary database devices and each of one or more file share devices are retrieved and the retrieved addresses are used by the one or more stateless protocol servers to access the one or more primary database devices and accessing one or more file share devices; and wherein the set of metadata in each email header includes data from a group consisting of a transaction state, a sender of the email, a subject of the email, a receipt date of the email, a size of the email message, an email recipient preference, email folder hierarchy data, a rule for filtering of the email message, an identification of an email recipient, a globally unique identifier of the email message, and a timestamp of when the email header was last modified; wherein each said stateless protocol server uses a messaging protocol by which consistency in email header is maintained between the one or more of primary database devices and one or more plurality of secondary database devices. - View Dependent Claims (20, 21, 22)
-
-
23. A method implemented on a computing device, comprising computer readable instructions executed on the computing device, in answer to a request to retrieve an email, for communication over a packet switched network, the method comprising:
-
implementing one or more of primary database devices, one or more plurality of secondary database devices, one or more file sharing devices and a topological data storage device implemented for one or more email clients on a distribution network; wherein each email within the network includes an email header and an email message; wherein the email header comprises a set of metadata corresponding to the RFC 2822 and the email header is an index used for indexing the email message that is stored separately; wherein the one or more primary database devices and the one or more secondary database devices are used to store plurality of the email headers; wherein the one or more secondary database devices serve as a backup database of the one or more primary databases; using a log shipping process to replicate email headers from at least one of the primary database devices to at least one of the secondary database devices to eliminate a single point of failure; issuing at least one or more email-related requests by the one or more email clients; executing, by a load balancer, a load balancing algorithm to forward at least one or more email-related requests and to select at least one or more stateless protocol servers available to ensure the one or more email-related requests are serviced; each email-related request includes;
an email, port assignments, number of sockets per server, worker threads, buffer sizes, physical storage address of each email client, and email client capacity data;using each stateless protocol server to parse one or more email-related requests by separating the email header and the email message that are in each email contained in one or more email-related requests; using each stateless protocol server to store the email header in the one or more primary database devices and to store the email message to one or more file share devices; setting a state of the email header to a committed state as the email message is successfully written into the one or more file share devices; retrieving addresses that correspond to the email-related request or a requesting email clients for each of the one or more primary database devices and each of one or more file share devices; using the retrieving addresses by the one or more stateless protocol servers to access the one or more primary database devices and accessing one or more file share devices; wherein maintaining at least two copies of the email headers on the at least one of the file share devices to ensure a higher availability for a specific group of email clients that have a particular class of service; using an email header corresponding to the email and derived from data stored in one of a plurality of attached database devices that are each in communication with one of a respective plurality of header host computing devices and at which the email headers of respective emails are stored; using an email message corresponding to the email and derived from data stored in a separate file in one of a plurality of attached file share devices that are each in communication with one of a respective plurality of message host computing devices and at which the email messages of respective emails are stored; wherein each of the email header and the email message are packetized for transmission over the packet switched network; wherein the set of metadata in each email header includes data from a group consisting of a transaction state, a sender of the email, a subject of the email, a receipt date of the email, a size of the email message, an email recipient preference, email folder hierarchy data, a rule for filtering of the email message, an identification of an email recipient, a globally unique identifier of the email message, and a timestamp of when the email header was last modified; wherein each said stateless protocol server uses a messaging protocol by which consistency in email header is maintained between the one or more of primary database devices and one or more plurality of secondary database devices. - View Dependent Claims (24, 25)
-
-
26. A protocol host computing device comprising:
-
a hardware processor; a log shipping process to replicate email headers from at least one of primary database devices to at least one of secondary database devices to eliminate a single point of failure; wherein each email within a network includes an email header and an email message; wherein the email header comprises a set of metadata corresponding to the RFC 2822 and the email header is an index used for indexing the email message that is stored separately; wherein the one or more primary database devices and the one or more secondary database devices are used to store plurality of the email headers; wherein the one or more secondary database devices serve as a backup database of the one or more primary databases; hardware means for issuing at least one or more email-related requests by one or more email clients and executing, by a load balancer, a load balancing algorithm to forward at least one or more email-related requests and to select at least one or more stateless protocol servers available to ensure the one or more email-related requests are serviced; wherein each email-related request includes;
an email, port assignments, number of sockets per server, worker threads, buffer sizes, physical storage address of each email client, and email client capacity data;hardware means for using each stateless protocol server to parse one or more email-related requests by separating the email header and the email message that are in each email contained in one or more email-related requests and using each stateless protocol server to store the email header in the one or more primary database devices and to store the email message to one or more file share devices; hardware means for setting a state of the email header to a committed state as the email message is successfully written into the one or more file share devices; hardware means for retrieving addresses that correspond to the email-related request or a requesting email clients for each of the one or more primary database devices and each of one or more file share devices and using the retrieving addresses by the one or more stateless protocol servers to access the one or more primary database devices and accessing one or more file share devices; wherein maintaining at least two copies of the email headers on the at least one of the file share devices to ensure a higher availability for a specific group of email clients that have a particular class of service; a fixed storage for storing an email including an email header and an email message; hardware means for transmitting the email header for storage at each of a plurality of attached database devices that are each in communication with one of a respective plurality of header host computing devices; hardware means for transmitting the email message in a separate file in a plurality of attached file share devices that are in communication with one of a respective plurality of message host computing devices; hardware means for including data from the email header, the email header comprises an identity of a sender of the email, a subject of an email, a date the email was received, a size of a message of the email, email recipient preferences, email folder hierarchy data, and rules for filtering email messages wherein each said stateless protocol server uses a messaging protocol by which consistency in email header is maintained between the one or more of primary database devices and one or more plurality of secondary database devices. - View Dependent Claims (27)
-
Specification