Abstract:
An email system for providing improved access and increased efficiency is disclosed. The system includes a master server with substantially constant connection to the internet and at least one local server that at least periodically interfaces with the master server to create a substantially identical copy of emails and settings. The interfacing includes transmits and receives bundled emails in bursts to synchronize the master server and the at least one local server to substantially identically copy emails and settings thereby improving access and increasing efficiency. A method of synchronizing outgoing and incoming emails in a two server email system is also disclosed.

Description:
RELATED APPLICATIONS  
       [0001]     This application claims the benefit of U.S. Provisional Application No. 60/727,633 filed Oct. 18, 2005, and the text of application 60/727,633 is incorporated by reference in its entirety herewith. 
     
    
     FIELD OF THE INVENTION  
       [0002]     The invention relates to an email system, and, more particularly, to an email system for providing improved access and increased efficiency.  
       BACKGROUND OF THE INVENTION  
       [0003]     With the advent of the internet, electronic mail has become one of the main ways that much of the developed world communicates with each other. The main reasons for this are the speed of email and its price compared with regular “snail mail”. Despite what many people think, email is not “free,” as it historically demands a computer, an internet connection, and a mail server in order to operate. It is because of these costs that most of the developing world is not using email to communicate.  
         [0004]     Further, small businesses and organizations throughout the world often do not have the money, the facilities, or the technical experience to set up their own dedicated mail servers. A dedicated mail server requires a computer with a constant internet connection and a static Internet Protocol (“IP”) address. It also requires a mail transfer agent (“MTA”) which handles incoming and outgoing standard Simple Mail Transport Protocol (“SMTP”) connections. MTAs may often be expensive or technically challenging to set up, secure, and manage. Furthermore, the ratio of SPAM to wanted mail has been increasing in recent years to as much as nine SPAM messages for each wanted one, thereby clogging the server&#39;s resources unnecessarily. Because of these challenges, many organizations do not provide their members with email addresses. Instead, their members, if they can access email at all, are forced to rely on free webmail services.  
         [0005]     These free webmail services require an active internet connection when in use. Often, the services have advertisements that use far more bandwidth than the contents of the emails themselves. Such free webmail (as well as general email) email addresses come in the form of [user name]@[domain]. Free webmail services generally do not allow members that have addresses with a common domain representative of the free webmail organization.  
         [0006]     Internet connections in much of the developing world often rely on expensive satellite connections or other unreliable connections with low bandwidth. On slow or saturated connections, it takes minutes to download a single email together with all of the advertisements. Service and power outages frequently result in people losing mail on which they were working.  
         [0007]     Thus, in view of these challenges, a need exists for providing an easy, cheap, and efficient way to make an email fast, reliable, and web accessible.  
       SUMMARY OF THE INVENTION  
       [0008]     An email system for providing improved access and increased efficiency is disclosed. The system includes a master server with substantially constant connection to the internet and at least one local server that at least periodically interfaces with the master server to create a substantially identical copy of emails and settings. The interfacing includes transmits and receives bundled emails in bursts to synchronize the master server and the at least one local server to substantially identically copy emails and settings thereby improving access and increasing efficiency.  
         [0009]     A method of synchronizing outgoing email and user data in a two server email system is also disclosed. The method includes receiving an email created on the local area network on a local server, pooling the received email in a database on the local server until a condition is met, connecting by the local server to a master server via an internet connection, and transferring the pooled email via the connection.  
         [0010]     A method of synchronizing incoming email and user data in a two server email system is also disclosed. The method includes receiving an email handled by the mail transfer agent on a master server, pooling the received email in a database on the master server until a condition is met, connecting by the master server to a local server via an internet connection, and transferring the pooled email via the connection.  
         [0011]     A method of synchronizing outgoing and incoming email and user data in a two server email system is disclosed. The method includes receiving an outgoing email created on the local area network on a local server, receiving an incoming email handled by the mail transfer agent on a master server, pooling the received outgoing email in a database on the local server until a condition is met and pooling the received incoming email in a database on the master server until the condition is met, connecting by the local server to a master server via an internet connection, and transferring the pooled outgoing email and the pooled incoming email via the connection.  
         [0012]     A method of substantially automatically saving compositions via the internet is also disclosed. The method includes analyzing a currently composed email for changes since the last transfer, identifying the changes, sending the changes to a server with the server receiving the sent changes, and applying the received changes to previously transferred email to thereby create a substantial copy of the currently composed email.  
         [0013]     A method of associating a address book entry with a digital sound file, and audibly alerting a user with the digital sound file upon receipt of an email corresponding to the address book entry is also disclosed. The method includes retrieving the sending address from an email, matching the sound file associated with the sending address, linking to the matched sound file, sending the link to a web browser with the web browser downloading the associated sound file from a server, and audibly alerting the user of the received email from the sending address. 
     
    
     BRIEF DESCRIPTION OF THE FIGURES  
       [0014]     Understanding of the present invention will be facilitated by consideration of the following detailed description of the preferred embodiments of the present invention taken in conjunction with the accompanying drawings, in which like numerals refer to like parts:  
         [0015]      FIG. 1  is a schematic view of a two server email system of the invention illustrating a local server and the master server;  
         [0016]      FIG. 2  is a schematic view of the two server email system of the  FIG. 1  embodiment and related connection options;  
         [0017]      FIG. 3  is a detailed schematic view of the two server email system of the  FIG. 1  embodiment;  
         [0018]      FIG. 4A  is a schematic view of the two server email system of the  FIG. 1  embodiment illustrating transfer of outgoing email (also referred to herein as mail) over the two server system;  
         [0019]      FIG. 4B  is a schematic view of the two server email system of the  FIG. 1  embodiment illustrating transfer of incoming mail over the two server system;  
         [0020]      FIG. 5  is a schematic overview of the features and tools of the  FIG. 1  embodiment used to automatically save compositions over the web; and  
         [0021]      FIG. 6  is a schematic overview of the features and tools of the  FIG. 1  embodiment used to play a new sound upon the arrival of new mail. 
     
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS  
       [0022]     It is to be understood that the figures and descriptions of the present invention have been simplified to illustrate elements that are relevant for a clear understanding of the present invention, while eliminating, for the purpose of clarity, many other elements found in email systems. Those of ordinary skill in the art may recognize that other elements and/or steps are desirable and/or required in implementing the present invention. However, because such elements and steps are well known in the art, and because they do not facilitate a better understanding of the present invention, a discussion of such elements and steps is not provided herein. The disclosure herein is directed to all such variations and modifications to such elements and methods known to those skilled in the art.  
         [0023]     The present invention discloses a unique email system that uses two synchronized servers. The email system provides features for data redundancy and backup, and pool and burst for minimal connection time. It is believed that the system overcomes challenges associated with access and availability of connections, slow speeds and low bandwidth, high costs and poor quality of connections, and unreliable power supplies.  
         [0024]     The two server email system of the present invention is illustrated with reference to the accompanying drawings in which  FIGS. 1 and 2  generally describe a system of the present invention. With particular reference to  FIGS. 1 and 2 , there is shown an email system of the present invention with two servers. One server is the master server. The other server is the local server. The master server has a constant connection to the internet and accepts standard email protocols. It interfaces with the local server to create an identical copy of all emails and settings. In  FIG. 2 , there is shown an embodiment of the two server system illustrating various internet connection options, including, but not limited to, a temporary connection such as a modem, a direct internet connection, and connection by using a nearby internet connection. In addition to minimizing bandwidth usage, the system allows for flexibility in internet connection methods.  
         [0025]     Turning now to  FIG. 3 , the master server has a static internet connection on which the email domains and the standard MTA (mail transfer agent—the mail server which handles incoming and outgoing standard SMTP connections) are hosted. The local server hosts email for all users on the local area network (“LAN”). The master server may serve many local servers, but the description herein refers only to a single local server, because the process is identical to a multiple local server system.  
         [0026]     The local server runs a version of the email system program or software. The system serves all users on the LAN, enabling them to read and write emails only while connected to the local server. All outgoing emails sent are “pooled” on the local server. At a specified time or when a specified number of emails have collected, the emails will automatically be sent in one “burst.” 
         [0027]     Similarly, new incoming email reaches the master server via SMTP (simple mail transfer protocol) and is delivered into the email system. This email is also ‘pooled’ and ready to be sent to the local server in one ‘burst’. When a connection is made between the local and the master servers, all incoming and outgoing mails are transferred. This transfer process results in a synchronization of the two servers.  
         [0028]     Also transferred during this synchronization are any new users, user&#39;s settings, address book entries, groups, files, calendar entries, etc., such that both servers contain the same data. This synchronization allows a user to use her account from both the local server and from the master server.  
         [0029]     The ‘pooled’ emails and settings are packaged before transferring to reduce the transfer size. This includes, but is not limited to, stripping out all of the headers except for the most essential information, and/or sending only one part of multi-part mime messages, compression, and encryption. It is also common for emails to contain large parts of previous emails, such as when replying or forwarding. This trait may be taken advantage of when transferring new emails by replacing the contents which match old emails with a marker which allows the program of the present invention to restore the missing content after it is transferred. Further, for example, it is known in the art that when an email is sent, the email often contains excess information. For example, an email may be sent with additional headers that are meant for only the computer to use, or information may be sent once in a text form and once in an html version. With the use of the present invention, the extra headers maybe cut, and only, for example, and the headers such as “To,” “From”, “CC,” and “Subject” headers sent. The two server system will also allow the local site to choose to select just the html version and not the text version or vice-versa, thereby sending only one copy of the content of the message instead of two. As a result of this two server system, a large savings of bandwidth and increased security may be achieved.  
         [0030]     Another feature of the two server system in reducing bandwidth requirements is that all email comes through the master server before it is delivered to the local server. This routing process allows for filtering of all incoming emails to remove any misaddressed emails, spam, and viruses before bandwidth is wasted in delivering them to the local server. Administrators may also set limits on the size of allowable emails and attachments to transfer.  
         [0031]     The synchronization process may happen over any internet connection (dialup, direct connection via DSL or cable modem, etc). The transfer may be executed at specific time intervals throughout a day or it may be transferred on any other number of conditions, such as the number of outgoing emails pooled, the number of outgoing emails for a specific user, or a specific amount of time passed. The synchronization process may also be triggered manually at any time.  
         [0032]     In the case where there is no local internet connection available, the synchronization process may also happen by using an intermediate computer which has an internet connection. In this case, the packet of pooled emails and user data may be copied to a storage medium (such as a disk or USB memory stick), and taken to an active internet connection. On the storage medium is a transfer program which may automatically transfer the data to the master server, and download the incoming data.  
         [0033]     Turning now specifically to  FIGS. 4A and 4B , the two-part synchronization process is illustrated. Illustrated in  FIG. 4A  is an embodiment of the synchronization process in which an outgoing email is sent over the two server system.  
         [0034]     Step 1. A user on the local area network (LAN) uses a web browser to log into the email system from a computer. This user writes an email on the system and, upon pressing the send button, the email gets sent to the local server.  
         [0035]     Step 2. The web server receives the email and relays it on to the email program.  
         [0036]     Step 3. The email program saves the email to the database. One copy of the email is put in the users sent folder, another is stored (pooled) ready to transfer.  
         [0037]     Step 4. When a transfer is called for, the email program collects all pooled outgoing emails together in preparation for them to be transferred to the master server.  
         [0038]     Step 5. The email program pools these emails together with any other changes that users might have made to their account from a computer on the LAN (such as adding or removing address book entries, moving or deleting an email, etc.).  
         [0039]     Step 6. Emails are stripped of excess and duplicate information and then compressed, with the other account changes, into an extremely reduced size transfer packet(s).  
         [0040]     Step 7. For added privacy, (though it will slightly increase transfer packet size) the transfer packet may be encrypted.  
         [0041]     Step 8. The transfer packet is stored and awaits the administrator of the local server to connect to the master server and perform the synchronization.  
         [0042]     Step 9. The administrator may connect to the master server in one of three ways.  
         [0043]     Step 9a. In the case that the local server does not have an internet connection, the administrator takes a disk with the transfer program and the transfer packet to a computer which is connected to the internet and runs the transfer program. The transfer program sends the packet through the internet to the master server.  
         [0044]     Step 9b. In the case when the local server does have a constant internet connection, the transfer program is run on a specified time interval, or when requested by the administrator. The transfer program sends the transfer packet direct to the master server across the internet.  
         [0045]     Step 9c. In the case when the local server has a temporary internet connection, such as a dial-up connection, the administrator runs the transfer program manually. The transfer program sends the transfer packet direct to the master server across the internet.  
         [0046]     Step 10. The master server receives the transfer packet from the internet.  
         [0047]     Step 11. The email program decrypts the transfer packet.  
         [0048]     Step 12. The transfer packet is decompressed, restoring it to its original state.  
         [0049]     Steps 13-14. The email program takes the emails and account changes and adds them to the master server, synchronizing the two servers.  
         [0050]     Steps 15-16. The script takes the outgoing email, converts it into standard email format, and sends it to the MTA.  
         [0051]     Step 17. The MTA sends the email across the internet using SMTP to its final recipients.  
         [0052]     The result is that the two servers are fully synchronized, and outgoing email is sent using minimal bandwidth from the local server. The email system program or software may be written in any suitable scripting language, including a compiled stand alone one. Since all scripting languages need a scripting engine to work, and since the software may be written in any suitable scripting language, it is shown in a single box in the FIGS and described as a single unit in the text herein. The software may be written, for example, in PHP (a scripting language) which may be interpreted on the fly by the PHP engine (scripting engine in the FIGS). A database may be used in the system to store emails and user information. In place of or in addition to the database, one may use the file system or any other method known to one skilled in the art to store emails and user information.  
         [0053]     Illustrated in  FIG. 4B  is an embodiment of the synchronization process in which an incoming email is retrieved from the internet and sent over the two server system. This is the second half of the two-part synchronization process and is described below:  
         [0054]     Step 1. An incoming email is received from the web and is handled by the MTA.  
         [0055]     Step 2. The mail transfer agent checks to make sure that the email is destined for somebody in its system and then passes it on to the email program.  
         [0056]     Step 3. The email program saves the email to the database. One copy is put in the user&#39;s inbox, and another is stored (pooled) ready to transfer.  
         [0057]     Steps 4-5. When the administrator of the local server connects to the master server, the email program collects all pooled incoming emails together along with any other changes that users might have made to their account from the web (such as adding or removing address book entries, moving or deleting an email, etc.) in preparation for the emails to be transferred back to the local server.  
         [0058]     Step 6. Emails are stripped of excess and duplicate information and then compressed together with the other account changes to become ultra small transfer packets.  
         [0059]     Step 7. For added privacy (though it will slightly increase transfer packet size) the transfer packet may be encrypted.  
         [0060]     Step 8. The transfer packet is now ready to be sent to the local server.  
         [0061]     Step 9. The transfer packet is sent over the internet using the connection that was already made by the local administrator.  
         [0062]     Step 10. The transfer packet gets delivered to the local server in three ways.  
         [0063]     Step 10a. In the case when the local server does not have an internet connection, the administrator takes a disk with the transfer program to a computer that is connected to the internet and runs the transfer program. The transfer packet is received from the internet and is put on the disk. The administrator carries the disk back to the local server where the administrator loads the transfer packet onto it.  
         [0064]     Step 10b. In the case when the local server does have a constant internet connection, the transfer program gets run on its own, at specified time intervals. The transfer program receives the transfer packet direct from the internet.  
         [0065]     Step 10c. In the case when the local server has a temporary internet connection, such as a dial-up connection, the administrator runs the transfer program manually. The transfer program then receives the transfer packet directly from the internet.  
         [0066]     Step 11. A script is then run which decrypts the transfer packet.  
         [0067]     Step 12. The script then decompresses the transfer packet.  
         [0068]     Step 13-14. The script then takes the emails and account changes and stores them on the local server.  
         [0069]     Steps 15-17. The users may connect to the local server over the LAN and be able to check their email quickly and without using any internet bandwidth.  
         [0070]     In another aspect of the invention, a method of automatically saving webmail to a remote server, while a user is typing an email, using dynamic hypertext markup language (“DHTML”) techniques, is disclosed. Webmail uses a server computer to send a web page containing a form (including “to” field, “subject” field, “message” field, etc. . .) to a client computer. Using DHTML techniques (such as JavaScript), code that is sent to the client computer may be executed, and any changes that the user makes to the form may be monitored and recorded. The changes may then be sent after a delay in typing, or at regular intervals, to the server computer (using XML, HTTP or via submission of a hidden form). The server computer, upon receiving the changes, may compile the changes together with all the previous ones, to get an exact copy of the email being typed on the client computer, and the server computer may save that on the server. In this way, if the client computer crashes or experiences unexpected work interruption, the user, upon rebooting the computer, may retrieve the email they were working on from the server.  
         [0071]     A method of automatically saving compositions (e.g., webmail), over the web, is illustrated in  FIG. 4B  and is described below:  
         [0072]     Step 1. In the first step, a user continues to type an email in a web browser on the client computer. At regular intervals, a client-side script analyzes the email for any recent changes the user has made since the last transfer. The script then sends these changes to the server.  
         [0073]     Step 2. The web server receives these changes and calls a server side-scripting engine to handle them.  
         [0074]     Steps 3-5. The email program receives the latest changes and applies these to the other parts of the email it had previously received. In this way, the email program recreates an exact copy of the email that the user is currently working on in real time.  
         [0075]     Step 6. The script then stores the entire email that has been written up to this point in time, on the server. Now, if the client computer crashes, the user will be able to retrieve a copy of the written email from the server.  
         [0076]     In another aspect of the present invention, a process of associating an entry in a computer-stored address book with a digital sound file, and having that sound file play on a client computer each time the user receives an email from that person, is disclosed. This playing of the sound file will alert the user to the fact that an email has been received, and the system will inform the user who the email was from. This process is also referred to herein as an “email receipt tone system.” 
         [0077]     For example, an email receipt tone system may be incorporated into webmail via the use of a DHTML script that regularly sends a request to a server computer and asks the server whether any new emails have arrived, for whom the emails have arrived, and which sound file to play. The DHTML code may then play the appropriate sound file on the client computer.  
         [0078]     The process whereby the email receipt tone system plays a new sound upon the arrival of new mail is illustrated in  FIG. 6  and is described below:  
         [0079]     Step 1. Using a client side script, the web browser periodically calls the server to ask if any new mail has been received.  
         [0080]     Step 2. The web server upon receiving the request calls the email program.  
         [0081]     Step 3. The email program looks in the database for new email.  
         [0082]     Step 4. The sender&#39;s email address is retrieved from the new email.  
         [0083]     Step 5. The email program checks to see if that address has a sound file associated with it.  
         [0084]     Step 6. A link to the appropriate sound file is created.  
         [0085]     Steps 7-8. The link to the sound file is sent to the web browser, which downloads the sound file from the server and plays it, notifying the user of receipt of the new email from a particular sender.  
         [0086]     Those of ordinary skill in the art may recognize that many modifications and variations of the present invention may be implemented without departing from the spirit or scope of the invention. Thus, it is intended that the present invention covers the modifications and variations of this invention provided they come within the scope of the appended claims and their equivalents.