The present disclosure relates to email address and telephone number unification systems and methods and more particularly to email address and telephone number unification systems and methods that unify an email address with a telephone number to simplify, among other things, the process of communicating the email address to others.
Currently, existing email providers typically cannot provide a user with the email address the user wants. For example, the user's name is typically not unique and is usually taken when availability is determined. Accordingly, many email addresses are long strings filled with, e.g., periods, under-scores, dashes, and easily confused domain name extensions (e.g., .net/.org/.gov/.edu), etc. In short, due to limited availability of unique email addresses, many email addresses make little sense. In addition, such email addresses are difficult to remember, communicate to others, and/or add to an address book.
A telephone number, on the other hand, is unique to a particular person and is more easily remembered, communicated, and recorded. However, telephone communications are not as versatile or flexible as email communications. For example, although a smart phone can send and receive text messages, the size and content of such messages is limited. Moreover, in many cases, a smart phone user must use the text message management interface provided by the smart phone vendor and may not have the option of using a desired email provider interface, such as that of Gmail, Yahoo, MSN/Hotmail, Outlook, Thunderbird, or other email provider software, for managing their messages.
In general, embodiments described herein relate to methods and systems for unifying an email address and a telephone number. Example email address and telephone number unification systems permit, for example, using a telephone number to conveniently and simply communicate an email address associated with any desired email provider.
A first general aspect described herein is a method for associating a telephone number with an email address. The method includes receiving a telephone number, receiving a first email address, and associating the first email address with a second email address. At least a portion of the second email address includes the telephone number.
A second general aspect described herein is a method for forwarding messages associated with a telephone number to an email address. The method includes sending a web link to a telecom device, the web link authenticating a telephone number of the telecom device. If the telephone number is authenticated, the user may be prompted for entry of a first email address. The first email address may then be received and associated with the telephone number. When a message associated with the telephone number is subsequently received, the received message may be forwarded to the first email address associated with the telephone number.
A third general aspect described herein is a method for forwarding messages associated with a telephone number to an email address. The method includes receiving an email message addressed to a first email address, the first email address identifying a telephone number. In response to receiving the message, the received message may be forwarded to a second email address associated with the telephone number.
A fourth general aspect described herein is a method for forwarding messages associated with a telephone number to an email address. The method includes at a server, receiving a message addressed to a telecom device, and, in response to receiving the message, forwarding the received message to an email address associated with the telecom device.
A fifth general aspect described herein is a system for associating a telephone number with an email address. The system includes a first server and a second server. The first server may be configured to receive a telephone number, receive a first email address, and associate the first email address with a second email address. At least a portion of the second email address may include the telephone number. The second server may be configured to forward messages addressed to the second email address to an email server providing service for the first email address.
A sixth general aspect described herein is a system for forwarding messages associated with a telephone number to an email address. The system comprises a first server and a second server. The first server may be configured to send a web link to a telecom device, the web link authenticating a telephone number of the telecom device, request entry of a first email address if the telephone number is authenticated, and receive the first email address and associate the first email address with the telephone number. The second server may be configured to receive a message associated with the telephone number, and in response to receiving the message, forward the received message to the first email address associated with the telephone number.
A seventh general aspect described herein is one or more computer storage media having stored thereon computer executable instructions that, when executed by at least one processor of a computer system, implement a method for forwarding messages associated with a telephone number to an email address. The method includes receiving an email message addressed to a first email address. The first email address may identify a telephone number. In response to receiving the message, the received message may be forwarded to a second email address associated with the telephone number.
Additional features described herein will be set forth in the description which follows, and in part will be obvious from the description, or may be learned by the practice of the invention. The features described herein may be realized and obtained by means of the instruments and combinations particularly pointed out in the appended claims. These and other features described herein will become more fully apparent from the following description and appended claims, or may be learned by the practice of these concepts as set forth hereinafter.
To further clarify the above and other features described herein, a more particular description will be rendered by reference to specific embodiments thereof which are illustrated in the appended drawings. It is appreciated that these drawings depict only typical embodiments of the invention and are therefore not to be considered limiting of its scope. Embodiments of the invention will be described and explained with additional specificity and detail through the use of the accompanying drawings in which:
Reference will now be made to the figures wherein like structures will be provided with like reference designations. It is understood that the figures are diagrammatic and schematic representations of presently preferred embodiments of the invention, and are not limiting of the present invention, nor are they necessarily drawn to scale.
Embodiments of systems and methods described herein provide, among other things, simple and convenient methods and systems for email address and telephone number unification. According to one example method, any desired email address (i.e. a “first” email address), such as john_smith1234.abcd@somedomain.net, is associated with another email address (i.e., a “second” email address) that includes a telephone number in a portion thereof (e.g., 9995551212@gmob.com). According to an example embodiment, the first email address may be selected by a user of the telephone number and any email that is addressed to the second email address will be forwarded to the first email address that the user selected. Consequently, a user may continue using their current preferred email provider and its associated email address to receive email without worrying about how complex or convoluted their email address is. Instead, the user may simply tell their new contacts to use an email address that is based on their more easily remembered and communicated telephone number. For example, instead of spelling out a long and convoluted email address, a user may instead indicate to contacts that his/her email address is his/her telephone number at gmob.com.
Moreover, according to certain embodiments of the invention, the only limit imposed on email size is that of the email provider associated with the first email address. The server that forwards emails may be configured to allow reception and forwarding of any size email. In addition, because telephone numbers are unique identifiers of individuals, availability of the second email address can be guaranteed. To guarantee availability, an authentication procedure may be carried out each time an email address is associated with a telephone number. Furthermore, not only does a telephone number uniquely identify an individual, it is persistent like a fingerprint because telephone numbers may now be ported at no cost when a user changes telecom service providers.
At stage 902, an account registration server 210 receives a request from a user to associate a telephone number 106 belonging to the user with an email forwarding service. As represented by a first arrow 202 in
Next, at stage 904, an authentication request is sent by account registration server 210 to a telecom device associated with the telephone number 106. The authentication request is represented by a second arrow 204 in
As another example of authentication, account registration server 210 may automatically generate an identification code, such as a random string of alphanumeric characters, and may send a message including the identification code to user terminal 212. The message may indicate that a telephone call will be made to the telecom device (which may or may not be user terminal 212) to which the telephone number 106 is assigned and that entry of the identification code will be requested for authentication purposes. Then, after sending the message, account registration server 210 may automatically call the telephone number 106 and request entry of the previously transmitted identification code. The foregoing authentication methods are merely presented as examples and other forms and methods of authentication may be used. For instance, authentication may be performed using a text message or other features of the user's telecom device.
At stage 906, account registration server 210 receives an email forwarding address, which is represented by a third arrow 206 in
Then, at stage 908, the email forwarding address is associated with the telephone number 106, e.g., in one or more databases. This association may be performed by account registration server 210 and/or an email relay server 230 communicatively coupled, as shown by a bidirectional arrow 240, to account registration server 210. The communicative coupling may provide bidirectional communications, as shown, or one-way communications from account registration server 210 to email relay server 230. For example, in one example implementation of system 200, account registration server 210 records the association in a database and email relay server 230 monitors the database for changes and makes a corresponding change to a corresponding database or table locally accessible to email relay server 230.
For example, an email service application that performs an email forwarding function at email relay server 230 may reference a table stored in a random access memory (RAM) 232 or other volatile memory, such as one or more microprocessor registers, of email relay server 230 to determine which email forwarding addresses to use when performing email forwarding. Rather than access the volatile memory through normal operating system, an assembly language routine may directly access the volatile memory. By using volatile memory to store this information the email service application is able to perform email forwarding with minimal latency. Moreover, due to this configuration, changes to the table are made directly in the volatile memory, e.g., by an assembly language software module. Recording updates on a hard disk or some other nonvolatile storage device would require a restart of the email service application to load the changes from the hard disk into the volatile memory, thereby introducing latencies and/or service interruptions.
The forwarding email address may be associated with the telephone number 106 by creating a new email address at account registration server 210 that contains the telephone number 106 in a portion thereof and associating the new email address with the forwarding email address. For example, the created email address may be the telephone number 106 at a particular domain, such as number@ gmob.com. Email relay server 230 may periodically monitor for or receive indications of new email addresses created by account registration server 210. Consequently, when an email message is sent to the telephone number at the gmob.com domain (e.g., to 9995551212@gmob.com), the email service application running on email relay server 230 receives the email message, recognizes the previously registered gmob email address as being associated with the forwarding email address designated by the user, and relays email message to the forwarding email address. Additional details of the email forwarding service are described below with reference to
In system 200 of
In one embodiment, account registration server 210 is a web server that hosts a web site accessible via the Internet. Thus, at stage 902, a user may submit a registration request by sending an HTTP query to the web site hosted at account registration server 210 and the web site may prompt for entry of the user's telephone number 106. After authentication of the telephone number 106 is performed at stage 904, the web site may prompt for entry of the forwarding email address to be associated with the telephone number at stage 906.
Alternatively or in addition, account registration server 210 may be a short code server and a registration request in stage 902 may be received in the form of a text message addressed to a short code hosted by the short code server. The short code server may implement a variety of services in association with the short code, including the email forwarding registration service described herein. Therefore, the user may be instructed, e.g., by an advertisement for the email forwarding service, to send a text message from their smart phone to request the email forwarding service. The user may be further instructed to include a specific alphanumeric string in the text message, such as “gmob”, to indicate to the short code server that the email forwarding service is requested, as opposed to some other service provided by the short code server. Moreover, the short code server may be configured to automatically parse a telephone number 106 from a sending field of the message to make an initial determination of what telephone number should be associated with a forwarding email address to be entered.
Furthermore, in one embodiment, the short code server is configured to automatically parse additional information in text messages it receives. For example, in addition to recognizing a service requesting word, such as “gmob”, the short code server may be configured to recognize an email address that follows or precedes the service requesting word as the forwarding email address. Consequently, the short code server may then automatically associate the forwarding email address with the telephone number 106 in a database, as described above with respect to stage 908 of method 900. However, prior to associating the forwarding email address with the telephone number 106, authentication of the telephone number may be performed by, for example, sending a web link or identification code in a text message to a telecom device assigned to the telephone number and confirming receipt of an expected response.
The registration method 900 may be repeated any number of times in series and/or in parallel for new users. Moreover, registration method 900, or portions thereof, may be repeated at any time for an existing user who wishes to update their forwarding email address.
Although method 900 above describes receipt of a single forwarding email address to be associated with a telephone number 106, an alternative method and system may permit entry of and association of multiple forwarding email address with a single telephone number. For example, the user may be permitted to enter any number of forwarding email address upon initial registration and may be permitted to add one or more additional forwarding email addresses at any time subsequent to initial registration. Consequently, messages sent to the telephone number 106 at the email forwarding service domain are forwarded to a plurality of forwarding email addresses.
In addition to the various alternative embodiments described above, various other versions of method 900 may be implemented including versions in which various acts are modified, omitted, or new acts added or in which the order of the depicted acts differ. For example, in one alternative embodiment, a forwarding email address entered by a user may be authenticated prior to associating it with the user's telephone number 106. The authentication of the forwarding email address may be performed by, for example, sending an email to the forwarding email address requesting confirmation that the forwarding email address should be associated with the telephone number 106.
At stage 702 of method 700, a message, such as an email message, is received at a server, such as email relay server 230. In
Email relay server 230 may be configured to relay messages like a solid state relay in an electrical circuit. For example, unlike typical email servers, in some embodiments email relay server 230 stores received email messages only in RAM 232 or some other volatile storage device without ever storing the messages in a nonvolatile storage device local to email relay server 230. Accordingly, email relay server 230 does not impose any limits on a size of forwarded email messages and performs the forwarding operation with minimal latency. However, email relay server 230 is not restricted to only relaying email messages. For example, in other embodiments, email relay server 230 may be configured to store received email messages in a nonvolatile storage device local to email relay server 230 for access by users of email addresses to which the email messages were sent. The storage of email messages in non-volatile memory may be performed in addition to, or as an alternative to, relaying the email messages to designated forwarding email addresses. In addition, email relay server 230 may be configured to relay a first portion of the received email messages without storing them in a nonvolatile storage device and to store a second portion, exclusive of the first portion, of the received email messages in a nonvolatile storage device. For example, email messages sent to the email address(es) of a select one or more designated users may be stored in a nonvolatile storage device for access by the designated users at any time.
Embodiments described herein may comprise or utilize a special purpose or general-purpose computer including computer hardware, such as, for example, one or more processors and system memory, as discussed in greater detail below. Embodiments described herein also include physical and other computer-readable media for carrying or storing computer-executable instructions and/or data structures. Such computer-readable media can be any available media that can be accessed by a general purpose or special purpose computer system. Computer-readable media that store computer-executable instructions in the form of data are computer storage media. Computer-readable media that carry computer-executable instructions are transmission media. Thus, by way of example, and not limitation, embodiments described herein can comprise at least two distinctly different kinds of computer-readable media: computer storage media and transmission media.
Computer storage media includes RAM, ROM, EEPROM, CD-ROM, solid state drives (SSDs) that are based on RAM, Flash memory, phase-change memory (PCM), or other types of memory, or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store desired program code means in the form of computer-executable instructions, data or data structures and which can be accessed by a general purpose or special purpose computer.
A “network” is defined as one or more data links and/or data switches that enable the transport of electronic data between computer systems and/or modules and/or other electronic devices. When information is transferred or provided over a network (either hardwired, wireless, or a combination of hardwired or wireless) to a computer, the computer properly views the connection as a transmission medium. Transmission media can include a network which can be used to carry data or desired program code means in the form of computer-executable instructions or in the form of data structures and which can be accessed by a general purpose or special purpose computer. Combinations of the above should also be included within the scope of computer-readable media.
Further, upon reaching various computer system components, program code means in the form of computer-executable instructions or data structures can be transferred automatically from transmission media to computer storage media (or vice versa). For example, computer-executable instructions or data structures received over a network or data link can be buffered in RAM within a network interface module (e.g., a network interface card or “NIC”), and then eventually transferred to computer system RAM and/or to less volatile computer storage media at a computer system. Thus, it should be understood that computer storage media can be included in computer system components that also (or even primarily) utilize transmission media.
Computer-executable (or computer-interpretable) instructions comprise, for example, instructions which cause a general purpose computer, special purpose computer, or special purpose processing device to perform a certain function or group of functions. The computer executable instructions may be, for example, binaries, intermediate format instructions such as assembly language, or even source code. Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the described features or acts described above. Rather, the described features and acts are disclosed as example forms of implementing the claims.
Those skilled in the art will appreciate that various embodiments may be practiced in network computing environments with many types of computer system configurations, including personal computers, desktop computers, laptop computers, message processors, hand-held devices, multi-processor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, mobile telephones, PDAs, tablets, pagers, routers, switches, and the like. Embodiments described herein may also be practiced in distributed system environments where local and remote computer systems that are linked (either by hardwired data links, wireless data links, or by a combination of hardwired and wireless data links) through a network, each perform tasks (e.g. cloud computing, cloud services and the like). In a distributed system environment, program modules may be located in both local and remote memory storage devices.
Additionally or alternatively, the functionally described herein can be performed, at least in part, by one or more hardware logic components. For example, and without limitation, illustrative types of hardware logic components that can be used include Field-programmable Gate Arrays (FPGAs), Program-specific Integrated Circuits (ASICs), Program-specific Standard Products (ASSPs), System-on-a-chip systems (SOCs), Complex Programmable Logic Devices (CPLDs), and other types of programmable hardware.
Still further, system architectures described herein can include a plurality of independent components that each contribute to the functionality of the system as a whole. This modularity allows for increased flexibility when approaching issues of platform scalability and, to this end, provides a variety of advantages. System complexity and growth can be managed more easily through the use of smaller-scale parts with limited functional scope. Platform fault tolerance is enhanced through the use of these loosely coupled modules. Individual components can be grown incrementally as business needs dictate. Modular development also translates to decreased time to market for new functionality. New functionality can be added or subtracted without impacting the core system.
The foregoing detailed description of various embodiments is provided by way of example and not limitation. Accordingly, the present invention may be embodied in other specific forms without departing from its spirit or essential characteristics. The described embodiments are to be considered in all respects only as illustrative and not restrictive. The scope of the invention is, therefore, indicated by the appended claims rather than by the foregoing description. All changes which come within the meaning and range of equivalency of the claims are to be embraced within their scope.
This application claims benefit and priority to U.S. Provisional Application No. 61/483,471, filed on May 6, 2012, the entirety of which is incorporated herein by reference.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/US2012/036628 | 5/4/2012 | WO | 00 | 6/2/2014 |
Number | Date | Country | |
---|---|---|---|
61483471 | May 2011 | US |