The present invention relates generally to configuring electronic message programs, and in particular to assisting a user in configuring an electronic message program for connection to a message server.
The Post Office Protocol (POP), commonly known in its third version as POP3, provides a way for electronic messaging programs such as Outlook (from Microsoft Corporation) and Thunderbird (from Mozilla.org) to interface with a central, remote message server. Oftentimes, a user may not have the messaging program up, running and connected to the central message server for number of reasons. POP provides a simple protocol for retrieving messages from the central message server so that the messages can be manipulated on the user's client computer without requiring continuous connection to the central message server.
Messaging programs such as Outlook and Thunderbird, however, must be configured to interact with the message server implementing POP. Typically a user is required to specify at least the following parameters in order to establish a valid POP connection: email address, password, user name, POP server name, and whether the POP server requires “secure password authentication”. Unfortunately, knowledge of the user's email address and password is not sufficient, and the other POP setup parameters cannot be simply guessed from the user's email address. For instance, different POP service providers use different naming conventions for naming their POP servers, and may also use different POP servers for different sets of users, thereby making it difficult to determine the POP server name if one knows the domain name portion of the user's email address but does not have access to the POP setup instructions provided by the POP service provider.
It would be desirable to provide assistance to users with one or more of these inputs as they configure a messaging program to interface with a POP server.
According to one embodiment of the invention, a method for providing remote message server configuration information includes receiving an electronic mail address from a user. One or more field suggestions associated with a remote message server configuration field based on stored information are identified. The one or more field suggestions are presented to the user in a graphical user display.
According to another embodiment of the invention, a method for providing remote message server configuration information includes receiving a request for remote message server configuration information, the request including an electronic mail address. One or more remote message server configuration patterns from a remote message server configuration database are identified using at least a portion of the electronic mail address. The one or more POP configuration patterns are provided in response the request.
The aforementioned features and advantages of the invention as well as additional features and advantages thereof will be more clearly understood hereinafter as a result of a detailed description of embodiments of the invention when taken in conjunction with the drawings. Like reference numerals refer to corresponding parts throughout the several views of the drawings.
A user wishing to have an electronic mail (email) client interact with a remote message server must configure certain settings for the email client. These settings provide information necessary to create the remote message server connection. These settings include, for example, the user's email address and password, the name or internet protocol (IP) address of the remote message server to which the email client is to be connected and the username that the remote message server associates with the user's remote message server account. There may be additional settings as well as user preference information that the user may set. As described below, in some embodiments, when a user enters the user's email address, or the domain name portion thereof, into a graphical user display for configuring the remote message server connection, one or more suggestions are provided for one or more of the other configuration or preference settings. The suggestions are based on configuration settings successfully used by a community of users and may be ordered according to various criteria, such as a popularity of use.
One environment in which embodiments of the invention may operate includes a client application, such as an email client, communicating with a server implementing POP (e.g., POP3). Systems in which a client application can access a POP server may include a client application, a POP server, a Simple Mail Transfer Protocol (SMTP) server, a message repository and a POP configuration assistant. As illustrated in
Although the POP server 104, the SMTP server 106 and the message repository 108 are illustrated as discrete elements in
The POP server 104 is a server that permits access to a user's messages stored in the message repository 108 using one or more versions of POP, depending on the version or versions of POP implemented by the POP server 104. POP allows a user to download electronic mail messages stored on a remote server via local messaging clients, for example, Outlook, Outlook Express, Eudora and Thunderbird. POP allows a user to work in an off-line mode: the user downloads his or her messages and then reads them off-line. Although described in relation to POP, it will be readily apparent that the concepts and embodiments described herein will apply equally well to other types of remote mail protocols, including but not limited to the Internet Message Access Protocol (IMAP) and the Simple Mail Transfer Protocol (SMTP). Moreover, the techniques and concepts described herein apply equally well to configuring services where configuration settings may not be obvious to the user.
A user interacts with the email client 110 on the client 102 using the graphical user interface 114. The client 102 any be any number of devices including a desktop computer, personal digital assistant (PDA), wireless device, gaming console, internet kiosk, workstation, portable computer, server and the like. It is sufficient that the client 102 enable a user to interact with the email client 110 and communicate with the POP server 104 and/or the SMTP server 106, as appropriate.
In some embodiments, the email client 110 is an application (e.g., Outlook, Outlook Express, Eudora, or Thunderbird) that interacts with the POP server 104 using POP3. It is sufficient that the email client 110 be able to communicate with the POP server 104 or other mail servers using the appropriate protocols. In some embodiments, the email client 110 interacts with multiple POP servers and/or other mail servers which may operate using other protocols. When the email client 110 implements POP, it may interact with the POP server 104 to access messages stored for the user at the message repository 108. For example, using POP3, an email client 110 can download messages from the POP server 104 to the email client 110 for subsequent processing and storage in local message repository 112.
An SMTP server 106 may be associated with a POP mail account so that messages can be sent by the user of the account. SMTP is a protocol for sending email messages from a user's email account. From another viewpoint, SMTP handles routing, acceptance and delivery of email messages between email servers. The SMTP server 106 and the POP server 104 typically work together on the same repository of messages (such as message repository 108) for a particular message account. In some systems, they are implemented in the same server, although they do not need to be.
Before an email client (e.g., email client 110) can interface with a POP server (e.g., POP server 104), the email client must be properly configured. In some embodiments, the email client 110 communicates with a POP configuration assistant 116 to assist the user in configuring the POP settings and preferences for the POP connection. In some embodiments, the POP configuration assistant 116 is resident on a server, while in some embodiments the POP configuration assistant 116 is partially resident on the client 102. As discussed herein, the term “client” is used herein only to indicate the relationship between the email client 110 and the POP server 104. For example, the email client 110 could be resident on a central server that multiple users may access from across a network (e.g., the Internet) using a web-based interface. In some embodiments, the email client 110 is local to a particular computer, but the configuration assistant 116 is centrally located and used by a community of users. In some embodiments, the email client 110 includes an interface component allowing communication with the POP configuration assistant 116. In some embodiments, the interface component is an add-on program that works in conjunction with an email client 110. In some embodiments, portions of the POP configuration assistant 116 are incorporated into the email client 110.
The client system 122 may include a browser application 124 for accessing web pages and other documents and services, including email messages stored in the second email system 150. In some embodiments, the client system 122 may include another application, herein called an email assistant 126 or client assistant, which facilitates communications between the client system 122 and one or more servers or services, such as the second email system 150. In some embodiments, the email assistant 126 is an application downloaded from the second email system 150 or other server, and used by the client system 150 to access, compose and display email messages.
The client system 122 configures an email client 160 of the web based email server 150 to download mail from the message repository 108 of the first email server 105 into the message repository 154 of the web based email server 150. The email client 160 of the web-based email system 150 uses POP configuration settings 162 specified by a user of the client system 122 with the assistance of the POP configuration assistant 116. Those POP configuration settings 162 specify the POP server 104 to be accessed, as well as other parameters such as username and password, for retrieving messages in the first email system 105. Additional users of the second email system 150 may have email accounts in both the second email system 150 and other email systems 105, 170. These other users, using a variety of client systems and devices 172, may also specify POP configuration settings 162 for the email client 160 of the second email system 150 to use for copying or transferring messages from those other email system to the second email system 150.
Referring to
A “POP Server” label 210 has an associated POP server field 212 into which a user enters the name of the POP server 104 that service's the email account (sometimes called the POP account) associated with email address. Generally, the name of the POP server is obtained from the provider of the POP server 104. Providers may use different conventions for naming their server (e.g., popmail.someprovider.com, pop3.someotherprovider.com or username.pobox.someprovider.com). Accordingly, a user may not readily know the name of the server without asking the provider or having the name easily accessible. A “Username” label 214 has an associated username field 216 into which a user enters the username for the user's account at the POP server. Generally, this too is obtained from the provider of the POP server. Providers may use different conventions for usernames and so a user may not readily know the username without asking the provider or having the information easily accessible. Two common forms of usernames are: 1) the email address prefix (e.g., “name” from “name@server.com”); and 2) the whole email address (e.g., “name@server.com”).
In some embodiments, a number of other settings and preferences may be provided for a user to configure. For example, a user may be able to configure the email client 110 to automatically download messages from the POP server 104. An “Enable Automatic Download” label 218 is associated with a selection box 220 whereby the user selects whether to allow automatic download of messages. When a user selects the down arrow in selection box 220, the user is presented with the choices for automatic download (e.g., yes or no) from which to select. The user may also choose various options for what actions occur at the server when emails are downloaded. A “When Retrieving Email” label 222 is associated with a selection box 224 whereby the user may select an option presented to the user after selecting the down arrow (e.g., “Delete From Server” or “Leave on Server”). The user may also choose how often messages are downloaded. A “Download Email” label 226 is associated with a selection box 228 whereby the user selects a time period (e.g., “Hourly” or “Daily”) for the connection to periodically be made. Selecting the down arrow causes time periods to be displayed from which the user could select. The user may also choose the location for downloaded messages. A “Download Folder” label 230 is associated with a text box 232 in which the user may enter a location, for instance by entering the path and folder name of a local folder, in which messages are to be placed. If the user selects the “Browse” button, the user may choose various locations and folders by browsing the directory structure. In some embodiments, such as the embodiment shown in
In some embodiments, additional fields may exist such as a POP connection port which tells the email client 104 on which port to request connection to the POP server 104, whether the POP server 104 requires a secure connection (e.g., SSL), or whether to use secure password authentication (SPA). Additionally, a “done”, “save”, “OK” or other similar type button may be present for the user to indicate that he or she has finished entering configuration settings and preferences information.
As mentioned earlier, it would be desirable if one or more of the requested fields that the user enters when setting up a POP connection could be suggested for the user. These suggestions can be made based on previously entered information, either by a system administrator or learned over time from validated connections from a community of users. A process carried out by a POP configuration assistant 116 according to some embodiments of the invention can be understood with reference to
Initially, the user enters his or her email address into the email address field 204. The POP configuration assistant 116 receives the email address (302) and extracts the email name portion and a domain name portion (304). For example, the email address “sampleuser@gmail.com” is separated into “sampleuser” as the email name portion and “gmail.com” as the domain name portion. The “@” symbol serves as a separator between the email name portion and the domain name portion. The domain name portion of the address is used to look up POP configurations which form the basis for suggestions presented to the user (306). As will be explained below, the POP configurations are obtained from a POP configuration database which is populated with various patterns associated with a domain name. The patterns can be administratively entered or learned from user input over time from a community of users which utilize the POP configuration assistant 116. Of course, when the POP configuration assistant 116 encounters a domain name not previously encountered or for which no information has been entered, it will not have a specific configuration associated with the domain name. In some embodiments, the POP configuration assistant 116 responds to a newly encountered domain name with one or more default configuration suggestions.
When the POP configuration database contains configurations associated with the domain name identified at 304, one or more suggestions for one or more of fields are presented to the user. In some embodiments, the fields for which the one or more suggestions are provided are the POP server field 212 and the username field 216. In some embodiments, when more than one suggestion for a field is provided, the suggestions are ordered according to various ranking information (308). For example, the suggestions could be ranked according to a frequency of the number of users using that particular configuration. The suggestions could also be ranked according to characteristics associated with the user. For example, information supplied by the user or information detected about the user could indicate a geographical location of the user and that information could affect the ranking of the suggestions: a server with a known geographical location close to the user would be ranked above one further away from the user.
If the user selects one of the provided suggestions, then that suggestion is placed into the field. On the other hand, the user may decide to edit one of the suggestions or provide information not reflected in the suggestions. After the user has completed the configuration form (e.g., selecting an “OK” button on the graphical user interface), the POP configuration assistant 116 receives the user submission and examines the entered fields (310). If the submitted POP configuration information is consistent with the suggestions, then the POP configuration assistant 116 updates the POP configuration database by modifying the statistical information associated with the pattern(s) to reflect an additional user (312). However, when the user submits information inconsistent with the suggestions, this input is detected and processed. If the POP assistant determines that the submitted information resulted in a valid POP configuration (312), then the POP configuration assistant 116 incorporates the new pattern information into the POP configuration database (314). If the connection is not valid, then the information is not incorporated. In some embodiments, validation of the POP configuration information entered by the user is performed by a system other than the POP configuration assistant 116. For instance, the POP configuration validation may be performed by an email server 150 (
The exemplary suggestion area 404 illustrates two representative POP server suggestions: “pop1.xyz.com” 408 and “pop.abc.xyzz.com” 410 representing two different servers associated with the domain “xyzz.com” entered into text box 402 by the user as part of the email address. The number of suggestions presented to the user depends on a number of factors. For example, if no POP configuration information is associated with the identified domain name portion entered into text box 402, then no suggestion will be presented and the user may enter the name manually. However, in some embodiments, a default POP server name is presented based on, for example, a common pattern found among other entries. For example, if the email address was “userB@hostisp.com”, a suggestion of “pop.hostisp.com” could be provided, that is, prepending “pop” as a third level domain name to the domain name of the email address. In some embodiments, if more than one configuration is associated with a particular domain, then those suggestions are ranked according to various criteria. In some embodiments, the suggestions are ranked in accordance with how many users had been associated with the POP server. In some embodiments, the suggestions are ranked in accordance with information received from or detected about the user. For example, a server in the same geographic location as the user is ranked above a server in another geographical location. In some embodiments, a pattern for a POP server name is identified from previous entries and applied to provide a suggestion for the POP server name. For example, a pattern might be identified which uses the username of the user in the POP server name (e.g., “userB.pobox.xxyyzz.com”), where “userB” is the username. The user is also provided an “enter name” option 412 that allows the user to manually enter a POP Server (the actual name of the option 412 is a design choice).
The suggestion area 404 could be presented to the user in a number of variations, only one of which is discussed above. For example, the top most suggestion could be placed into the field associated with POP Server label 406 with a drop down window allowing the user to select a different server (if other choices exists). In another example, the user could manually modify the entry in the field without needing to select an “enter name” option 412.
The user interfaces in
After the user has finished completing the POP configuration settings and preferences window by entering text and/or selecting suggestions, the user indicates that the settings should be saved. This can be accomplished by, for example, selecting an “OK” button within the graphical user interface (not shown). Referring back to
The creation and modification of a POP configuration database according to some embodiments of the invention can be understood in reference to
The domain name field 604 contains the domain name as described above. In most instances, the domain name is the part of the email address following the “@” character and is the primary mechanism by which the domain configurations are identified when the user has input the email address into email field (e.g., field 204 of
The server field 606 includes at least a POP server name field 610 and number of users field 612. For a domain record 603, the POP server name field 610 contains one or more POP server names (e.g., “pop1.domain1.com” of 603-1) associated with the domain name in domain name field 604 (e.g., “domain1.com” of 603-1). In many instances the POP server name will include the domain name (i.e., the top and second domain levels) and one or more other domain levels (e.g., “pop1” in 603-1). In some instances, the POP server name field 610 will contain a server name pattern, such as “username.pobox.domain-name”, where “username” is the user name of the user and “domain-name” is the domain name (e.g., “gmail.com”) of the user's email address. Associated with each POP server name in the POP server name field 610 is a number of users field 612 indicating the number of users associated with that particular POP server name. Initially, this number will be zero if no users have yet been associated with the POP server when the POP server names are first entered (e.g., automatically based on one or more well known POP server name patterns). The number in field 612 will begin at one when the POP configuration assistant 116 detects a new, valid configuration for which it previously did not have an entry and creates one, or when it detects a first valid configuration for an automatically or speculatively entered entry. Of course, the administrator could set the number of users associated with any configuration to any value. As more users enter validated information consistent with the suggestions, this number will increase over time. In some embodiments, a username preference pattern field 614 indicates which username pattern, of a predefined set 618 of username patterns, is preferred for an associated POP server name. The predefined set 618 of username patterns may be stored in a table or other data structure, or may be embedded in the program instructions of the POP configuration assistant. As mentioned above, other fields may be associated with a particular POP server, such as a geographical field indicating a geographical location associated with a particular POP server.
As mentioned above, the POP server field 610 may contain one or more POP server names. POP service providers may utilize more than one POP server for a number of reasons. In some instances, POP server providers may have POP servers geographically dispersed and a user's primary POP server is the one located in the user's geographical region. In some instances, POP service providers may spread users over multiple POP server for load balancing or other reasons.
The set of predefined username patterns 618 includes at least two username patterns. As mentioned earlier, in most instances, the pattern will be one of two types, either the email name (i.e., that portion of the email address before the “@”) or the full email address. However, in some embodiments, other username patterns may be identified. Of course, different servers within the same domain may use different username patterns. As mentioned earlier, one of the patterns may be preferably associated with a particular POP server name in the preferred pattern field 614.
The POP configuration database 602 is populated in two main ways including administrative input and validated user input, both of which are functionally indicated in
The POP configuration database 602 may be populated by detecting validated user information and learning configuration information from the validated information. When the POP configuration assistant 116 encounters configuration information already present (i.e., consistent with the provided suggestions), it updates the number of users fields 612 and 620 as applicable to indicate an additional user having that configuration. On the other hand, when the email client encounters validated user information that is new or inconsistent with provided suggestions, the email client examines the configuration information to extract information relevant to the POP configuration database 602 to learn the new configuration and any associated patterns (e.g., the pop server name and username pattern). If the POP configuration assistant 116 detects that no domain record entry exists for the domain entered, a new domain record 603 is created in POP configuration database 602 for that domain. The POP server name portion 606 is populated with the identified pop server name from the validated information and the number of users is set to one. An entry in the username patterns field 618 is created for the identified username and the associated number of users 620 is set to one. A username pattern identifier, corresponding to the validated username, may also be stored in the preferred pattern 614 for the POP server 610. If the POP configuration assistant 116 is able to populate any other existing fields, it does so (e.g., security type and server port number). It is possible that the POP configuration assistant 116 client learned a new configuration from another user while the current user's information is being validated. If so, the email client will find an entry in the POP configuration database 602 for the learned information, and will in that instance, just increase the number of users field or fields 612 and 620 as applicable.
If the email client detects that a domain record does exist, then it adds as appropriate an additional POP server in the POP server field 610 (and associated number of user field 612 and preferred pattern field 614) or an additional username pattern 618 (and associated number of users field 620) whenever a new POP server or username pattern is first validated for that domain.
Over time, the POP configuration database 602 will represent information from a number of users and can be used to assist subsequent users when configuring POP connections by providing historically gathered suggestions.
Referring to
Referring to
In some embodiments, the POP configuration assistant 116 includes a receipt module (or instructions) 824 for receiving a request to provide suggestions user input such as the user's email address associated with the POP account or certain configuration settings; a learn module (or instructions) 826 for learning new configurations from validated user input as described above; a suggestion module (or instructions) 828 for providing configuration setting and preferences suggestions as described above; a configuration validation module (or instructions) 830 for detecting when user configuration settings produce a valid POP connection; a transmission module (or instructions) 832 for communicating suggestions to the email client 110; and a POP configuration database 602. In some embodiments, the POP configuration database 602 contains a number of domain name records 603-1 to 603-D, where D represents the number of domains for which records exist in the POP configuration database 602. Each domain record (e.g., 603-1) contains a POP server portion 606 (e.g., 606-1). A domain record 603 may additionally contain other fields 614, 620 for storing various other configuration and preference information. Although illustrated as part of the computer 802, the POP configuration database 602 could be distributed among a plurality of computers and portions of it could be located on the computer 802 while other portions or copies are located on other computers.
The foregoing description, for purpose of explanation, has been described with reference to specific embodiments. However, the illustrative discussions above are not intended to be exhaustive or to limit the invention to the precise forms disclosed. Many modifications and variations are possible in view of the above teachings. The embodiments were chosen and described in order to best explain the principles of the invention and its practical applications, to thereby enable others skilled in the art to best utilize the invention and various embodiments with various modifications as are suited to the particular use contemplated.
This application is a continuation of U.S. application Ser. No. 10/987,125, filed Nov. 11, 2004 now U.S. Pat. No. 7,984,484, entitled “System and Method for Assisting in Remote Message Server Configuration,” which is incorporated herein by reference in its entirety.
Number | Name | Date | Kind |
---|---|---|---|
5208748 | Flores et al. | May 1993 | A |
5216603 | Flores et al. | Jun 1993 | A |
5613108 | Morikawa | Mar 1997 | A |
5734837 | Flores et al. | Mar 1998 | A |
5948058 | Kudoh et al. | Sep 1999 | A |
6185551 | Birrell et al. | Feb 2001 | B1 |
6564213 | Ortega et al. | May 2003 | B1 |
6578066 | Logan et al. | Jun 2003 | B1 |
6959325 | Gardner et al. | Oct 2005 | B2 |
20030187951 | Shen | Oct 2003 | A1 |
20030233419 | Beringer | Dec 2003 | A1 |
Number | Date | Country |
---|---|---|
WO 0023931 | Apr 2000 | WO |
Number | Date | Country | |
---|---|---|---|
20110271196 A1 | Nov 2011 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 10987125 | Nov 2004 | US |
Child | 13183296 | US |