US20100250592A1 - Unifying Web And Phone Presence - Google Patents
Unifying Web And Phone Presence Download PDFInfo
- Publication number
- US20100250592A1 US20100250592A1 US12/415,488 US41548809A US2010250592A1 US 20100250592 A1 US20100250592 A1 US 20100250592A1 US 41548809 A US41548809 A US 41548809A US 2010250592 A1 US2010250592 A1 US 2010250592A1
- Authority
- US
- United States
- Prior art keywords
- handle
- contact
- communication
- user
- account holder
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/335—Filtering based on additional data, e.g. user or group profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/48—Message addressing, e.g. address format or anonymous messages, aliases
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/56—Unified messaging, e.g. interactions between e-mail, instant messaging or converged IP messaging [CPM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4547—Network directories; Name-to-address mapping for personal communications, i.e. using a personal identifier
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1069—Session establishment or de-establishment
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1096—Supplementary features, e.g. call forwarding or call holding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/303—Terminal profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/306—User profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/24—Negotiation of communication capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/04—Real-time or near real-time messaging, e.g. instant messaging [IM]
Definitions
- This document describes systems and techniques for correlating and retrieving user contact identifiers with a handle.
- a user may be contacted using a single handle that triggers communication by a variety of different communication mechanisms using a plurality of communication modes, where modes are different types of communication connections such as telephone, e-mail, text messaging, and other such modes.
- modes are different types of communication connections such as telephone, e-mail, text messaging, and other such modes.
- a single alphanumeric string can be submitted by a party wanting to contact the user, whether the party wants to make the contact via telephone, e-mail, chat or other such mode of communication.
- a third party can “dial” the handle using a telephone and the handle will lead to a service that translates the handle into another telephone number where the user can currently be reached.
- a third party can use the handle plus a common domain (e.g., gmail.com) to e-mail the user, and the e-mail message can be forwarded, using rules defined by the user, to another e-mail account or address for the user.
- the handle can also be used to push updates regarding various contact mechanisms out to the third party when a user changes such information, such as by sending a new vcf card to the third party.
- a user can provide a single point of contact to which acquaintances may point in order to be updated regarding contact information for various contact mechanisms for the user.
- the acquaintance may be permitted to generally ignore changes in individual contact mechanisms, such as when the user switches to a new job and receives a new work telephone number and new work e-mail address, and simply remember a handle for their acquaintance, where the handle does not need to change every time one of the contact mechanisms that underlies the handle changes. Rather, the handle, by whatever mode submitted, may be mapped to the various communication modes and contact mechanisms (such as e-mail addresses and telephone numbers) for a user, so that the user can keep those mechanisms updated without bothering the user's acquaintances.
- the user may establish various routing rules to control how the user is contacting, and via which contact mechanism, where such rules may depend at least in part on the time of day or day of the week when the contact is made, the identity of the person seeking to make contact, and other similar factors that may affect a user's decisions regarding how to be contacted.
- a computer-implemented method includes obtaining, at a computer system, a plurality of different contact identifiers for a computer account holder, wherein the identifiers represent a plurality of different communication modes; identifying a handle for the account holder, wherein the handle is associated with a uniform resource locator; and correlating the handle with the plurality of contact identifiers, and storing the handle and plurality of contact identifiers together so as to permit retrieval of the contact identifiers in response to identification of the handle.
- a computer-implemented communication management method includes receiving at a computer system a handle for an account holder submitted by a computing device; providing, for presentation to the computing device, a group of contact identifiers from a plurality of different communication modes; and electronically connecting the computing device to the account holder by one of the plurality of communication modes in response to a selection by the computing device of a contact identifier corresponding to the one of the plurality of communication modes.
- a computer-implemented communication system for identifying contact identifiers for an account holder.
- the computer-implemented communication system includes an interface to obtain a plurality of different contact identifiers for a computer account holder, wherein the identifiers represent a plurality of different communication modes; an account manager to identify a handle for the account holder, wherein the handle is associated with a uniform resource locator; and a correlator to correlate the handle with the plurality of contact identifiers, and store the handle, the plurality of contact identifiers together so as to permit retrieval of the contact identifiers in response to identification of the handle.
- a computer implemented communication system for assisting in forming communication sessions.
- the computer implemented communication system includes an interface to receive a handle from a user of a computing device, wherein the handle is associated with a uniform resource locator; a central database associating a group of contact identifiers for an account holder to the uniform resource locator; and a communication mode selector to receive a mode indicator and one or more contact identifiers from the database and to select the contact identifier using a communication mode corresponding to the mode indicator to connect a third party for communication with the account holder.
- a computer implemented communication management method includes electronically providing a user account handle; retrieving a plurality of contact identifiers correlated with the user account handle; displaying the plurality of contact identifiers, each contact identifier being different from another contact identifier and associated with a contact rule; and receiving, at a computing device, at least one modification of one of the contact identifiers.
- FIG. 1 is a conceptual diagram of a system for retrieving a user's various contact identifiers correlated to a handle.
- FIG. 2A is a schematic diagram of a system for retrieving a user's various contact identifiers correlated to a handle.
- FIG. 2B is a sequence diagram depicting examples of interactions between clients and servers.
- FIG. 3 is a schematic diagram of a system for correlating a handle with contact identifiers.
- FIG. 4A is a flowchart showing actions taken to correlate a handle with contact identifiers.
- FIG. 4B is a flowchart showing actions taken to retrieve a user's contact identifiers correlated with a handle.
- FIG. 5A is a sequence diagram for generating a user account to correlate a handle with a user's contact identifiers.
- FIG. 5B is a sequence diagram for retrieving a user's contact identifiers correlated with a handle.
- FIG. 6A is an exemplary universal business card.
- FIG. 6B is a screenshot of a web page for retrieving a user's contact identifiers correlated with a handle.
- FIG. 6C is a screenshot of a web page for correlating a handle with contact identifiers
- FIG. 6D is a screenshot of a web page displaying a user's contact identifiers correlated with a handle.
- FIG. 7 shows an example of a computer device and a mobile computer device that can be used to implement the techniques described here.
- this document describes mechanisms for providing a single point of contact for a user so that third parties may contact the user through various forms of communication without having to use more than the single point of contact.
- Contact information for the single point of contact may be supplied to third parties who are acquaintances of the user, in one example, through a website that the third parties may visit.
- the contact information may be tailored to individual third parties or groups, e.g., family may obtain one set of contact information, friends another set, and work contacts a third set of contact information (where the various sets may overlap).
- the user may also update a particular contact identifier, for example, a work phone number, without needing to update customers, vendors, or co-workers of the contact information change, because the single point of contact may stay fixed while the various contact mechanisms that are made available there to third parties may change.
- the single point of contact may be designated by a handle, such as an alphanumeric code that can be resolved to a particular web page or IP address.
- the handle may be a unique string appended to a particular URL as a pointer to a file containing the user's contact information.
- a third party may also retrieve information and “slurp” a user's contact information, in the form of the particular contact mechanisms, without the need to copy the information on an individual basis.
- the third party may store the information for later use on various client devices, e.g., a home computer, an e-mail account, a mobile device, or a home phone, or the third party may use the handle each time to contact the user.
- client devices e.g., a home computer, an e-mail account, a mobile device, or a home phone, or the third party may use the handle each time to contact the user.
- some clients may allow the third party to choose the method of contact for the user and choose the handle in order to have the client retrieve the particular contact identifier correlated with the handle.
- the third party can simply supply the invariant handle along with an argument like “work,” and a service may route the third party to the user via the user's current work telephone number. In this manner, a user may update contact information on a regular basis without the concern that various friends, family, or work associates may be unable to contact the user.
- FIG. 1 is a conceptual diagram of a system 100 that connects third party 102 to a user 114 of the system 100 by one of a number of contact mechanisms, where the particular contact mechanism could be specified by the third party 114 or the user 102 .
- the system 100 may allow the third party 102 to provide a single handle, or perhaps the handled plus additional basic information, in order to contact the user 114 by various mechanisms, without having to know the contact information for those various contact mechanisms.
- the contact mechanisms may also take a variety of formats, such as telephone, e-mail, and the like.
- a third party 102 is shown submitting to the system 100 a handle 106 , which in this example is a 10 -digit telephone number.
- the third party 102 in this example is trying to contact user 114 (whether directly, by leaving a message for user 114 , or by being shown content such as a web page that user 114 has generated) by one of a variety of mechanisms.
- the handle 106 takes the form of a telephone number here because users are accustomed to memorizing such numbers and to assigning them as contact mechanisms, the handle 106 can take a variety of forms that “look” different than a telephone number, such as by looking like the person's full name or like an e-mail address.
- Various contact identifiers 104 are shown by which user 114 may be contacted. These contact identifiers are from a plurality of different modes of communication, such as telephone, e-mail, and others.
- a mode of communication is a particular distinct type of communicating, where each user may be contacted by one or more contact identifiers for any particular mode. For example, the user reflected in FIG. 1 has three telephone numbers, and thus three contact identifiers for the telephone mode of communication (in addition to the handle 106 , which may act like a telephone number).
- a routing mechanism 110 controls how the third party 102 communicates with the user 112 when the third party 102 provides the handle 106 to the system 100 .
- the handle may be correlated with a particular contact mechanism of a particular mode of communication.
- the handle may correlate much as a telephone handle is correlated to other telephone modes of contact in a system such as the known GRAND CENTRAL system.
- the handle in this example may also be correlated with multiple modes of communication, so that when the third party 102 provides the handle, the third party 102 is connected by a technique other than a telephone call, such as via e-mail.
- the handle may, in certain implementations, be a universal handle for contacting the user 114 , by whatever desired mode.
- the particular mode of communication may be set by the user 114 , by the third party 102 , or by one or more rules such as rules defined by the user 114 .
- the user 114 may manually set a flag that indicates their currently-preferred mode of receiving communications.
- the user 114 as they enter a large meeting or another location in which a telephone call would be inappropriate, may log into a system and indicate that their preferred mode of communication is one of a number of textual modes, such as e-mail or chat.
- the third party 102 may indicate the preferred mode by accompanying their submission of the handle 106 to the system with a mode indicator.
- the third party may type “123-456-7890 email” along with text for an e-mail message in order to e-mail another user.
- the system 100 will then interpret the request appropriately and form an e-mail message to the user 114 at an e-mail address that the system has determined to be an appropriate e-mail address. For example, if the system 100 matches a domain relating to the sender to a business-related domain for the user 114 , the system 100 may send the e-mail message to the user's work e-mail account. In contrast, if the domain is a domain such as “aol.com” or a domain on a whitelist for the user (such as an old college friend), the e-mail message may be sent to a personal account.
- the user 114 may also establish rules of various forms for selecting a communication mode. For example, if the user does not like to receive telephone calls or check voice mail over the weekend, but does carry a smart phone with them, they may set their mode of communication to e-mail, so that third parties are induced to send them e-mails. A mix of third party 102 defined mode and user 114 defined contact identifier under a mode may also be employed. For example, a third party 102 may identify e-mail as the mode of communication, and then user-defined rules may determine which e-mail account, from multiple e-mail accounts associated with the user, is to receive the e-mail. Responses by the user 114 may likewise be generalized to reflect the handle in the “from” field, rather than the particular e-mail account used by user 114 .
- the third party 102 may be prompted to user the other mode. For example, the third party may initially dial the handle 106 as part of a telephone call.
- the system 100 may determine that the user 114 currently wants to be contacted by e-mail, and may thus play a message such as “If you would like to contact Bob at the moment, please e-mail him at xyz@xyz.com.”
- the system 100 may also transmit data to the third party's computing device so as to start a form e-mail that is automatically addressed to the user 114 , or may simply send an e-mail from the user's account to the third party 102 (e.g., where the third party's telephone number can be determined from ANI or caller ID data, and can be correlated to an e-mail address for the third party 102 , such as through an address book for the user 114 ), so that the third party 102 can simply reply to the incoming e-mail.
- the mode indicator may be preselected based on the client device that the third party 102 uses. For example, if the third party 102 is using a mobile phone to transmit the handle 106 , the system 100 may directly connect the third party 102 to the user 114 via the telephone number in the contact identifiers 104 . Alternatively, if the third party's client device has more than one mode of communication (e.g., a smart phone), the third party 102 may be provided with various modes of contacting the user 114 , including phone, web page, IM, and e-mail, all associated with the handle 106 .
- the third party's client device has more than one mode of communication (e.g., a smart phone)
- the third party 102 may be provided with various modes of contacting the user 114 , including phone, web page, IM, and e-mail, all associated with the handle 106 .
- the handle 106 includes a telephone number or is in the form of a telephone number, “123-456-7890.”
- the use of a telephone number may be useful for an individual to remember, given that telephone numbers are commonplace in that many countries use Arabic numerals to some extent.
- the handle 106 may include an alphanumeric string.
- the handle 106 may be the user's name or the user's preferred e-mail address or street address.
- the handle 106 may be a portion of the user's full telephone number with a country or state code, or both, e.g., “US-MN-456-7890.”
- contact identifiers 104 are shown here conceptually as a virtual list from which a router 110 selects one identifier for connecting the third party 102 to the user 114 , they may also be actually displayed to the user 114 or third party 102 when such a party accesses a web page in the form of a contact page and directs their attention to the user 114 , such as by entering the handle 106 for the user 114 or by entering one of the contact identifiers 104 for the user 114 .
- Such a contact page can show contact identifiers that are a subset of a full set of contact identifiers.
- the user 114 may provide for a small subset of contact identifiers to be shown to the third party 102 , such as a work phone number, work e-mail address, and website.
- the user 114 can provide the third party 102 with a password to access a larger subset of the full set of contact identifiers.
- the user may provide group-specific passwords to provide different subsets of the full set of contact identifiers to different groups, e.g., family, friends, coworkers, and acquaintances.
- access to contact identifiers may be coordinated with user statuses in a social networking site, where strangers may be shown limited contact identifiers, acquaintances (which have been affirmatively approved by the user) may see additional identifiers, and an “inner circle” of friends may see even more identifiers (e.g., home phone numbers and the like).
- the third party's contact identifiers may already be associated with the user's account.
- the user 114 may have an address book of contacts stored as a part of his or her user account.
- Contact identifiers for the third party 102 may be associated with an entry for the third party 102 in the address book.
- a client device for a third party may transmit an identifier, e.g., an e-mail address, telephone number, or IM account name, with the handle 106 .
- the identifier may be associated with a group access level or an individual access level for a subset of contact identifiers.
- one or more third parties may use a handle such as handle 106 to contact user 114 and/or to see information about the user 114 .
- the handle 106 is provided so as to connect the third party 102 to the user 114 via one of a number of different contact identifiers and modes of communication.
- the handle 106 is used to allow the third party 102 to see information about the user 114 , such as various contact identifiers associated with the user 114 .
- the third party 102 can take advantage of a number of different communication techniques vis-à-vis the user 114 without having to memorize or otherwise manage a large number of different contact identifiers, each of which may change over time. Instead, the third party 102 can, in proper implementations, simply record
- the contact identifier server 206 may store contact identifiers for at least one user account correlated to a handle 208 .
- a plurality of contact identifiers may be correlated with a single handle, and a plurality of different communication modes may be represented by those identifiers.
- the contact identifier server 206 may automatically update data on a client device 204 for a third party when a particular user account is updated. For example, the contact identifier server 206 may receive data from the user for the account to update a phone number.
- the contact identifier server 206 may store the data and send an automatic update to any third party device associated with the previously stored phone number, such as users who are identified as friends of the main user in a social network.
- the contact identifier server 206 may send information reflecting that changed number to accounts of acquaintances of the main user, e.g. by sending a new user .vcf card with the new work phone number for MICROSOFT OUTLOOK.
- the update may be sent upon a request sent from the third party to the contact identifier server 206 .
- the contact identifier server 206 may update the client device 204 with a new IM contact identifier when the contact identifier server 206 connects the client device 204 to a user's device to communication through instant messaging.
- the new IM contact identifier can be transmitted before the connection is made, while the connection is occurring, or after the instant messaging connection has ended.
- the handle 208 may be the only identifier saved on the third party's client device 204 .
- the handle 208 may be stored in a list of handles on the client device 204 , where each handle corresponds to a particular acquaintance of the third party, and the third party makes communication connections simply using the various handles.
- the third party may have an address book of handles for various user accounts, including the name of a particular user assigned as a pseudonym for each handle.
- the third party may be able to designate a particular alias for a user, e.g., an IM screenname or an image.
- the handle 208 may be part of a Uniform Resource Identifier, e.g., a URL containing the handle 208 5555551234, “http://www.exampledomain.com/5555551234.”
- the third party's client device 204 may be one of a variety of client devices, such as a mobile device, a smart phone, a laptop computer, a desktop computer, or a landline.
- the client device 204 may provide a mode identifier to the contact identifier server 206 so that the contact identifiers transmitted to the client device are limited to contact identifiers with which the client device 204 can make a connection.
- the client device 204 can be a laptop computer with a VoIP application, an e-mail application, a web browser application, and an IM application.
- the contact identifier server 206 may then transmit contact identifiers including telephone numbers, e-mail addresses, blogs, websites, and an IM account name compatible with the particular IM application.
- FIG. 2B is a sequence diagram 250 depicting examples of interactions between a caller 252 , a contact identifier server 254 , and a friend 256 of the caller 252 to retrieve for the caller 252 contact identifiers using a handle 260 for the friend 256 .
- the sequence diagram shows the friend 256 providing contact identifiers to the contact identifier server 254 , the caller 252 accessing information from the contact identifier server 254 using the handle 260 , and the caller 252 contacting a friend 256 using the handle 260 .
- both the caller 252 and the friend 256 may have accounts with contact identifiers stored on the contact identifier server 254 .
- the friend 256 initially submits information (indicated by Arrow A 1 ) to the contact identification server 254 .
- the friend 256 provides his contact identifiers 258 (indicated by Arrow A 2 ) correlated to a handle 260 .
- the caller 252 transmits a request (indicated by Arrow B) to the contact identifier server 254 to access information for the friend 256 .
- the caller 252 is directly connected to the friend 256 (indicated by Arrow C) using a contact identifier provided by the contact identifier server 254 .
- the contact identifiers 258 may also be stored on a personal computing device.
- a computing device used by the caller 252 may store one or more of the contact identifiers that the contact identifier server 254 may grant to the caller 252 .
- the computing device may use the stored contact identifiers to connect to a computing device associated with one or more of the contact identifiers correlated with the user's handle 260 .
- the caller 252 may have a cell phone that receives a cell phone number for his friend 256 from the contact identification server 254 .
- the cell phone may store the cell phone number for his friend 256 .
- the cell phone can use the received cell phone number to connect to a cell phone of the friend 256 .
- the computing device may compare a stored list of contact identifiers with the contact identifiers 258 provided by the contact identifier server 254 to update one or more contact identifiers that the friend 256 may have updated since the caller 252 last sent a request to the contact identifier server 254 .
- connection may be made from the caller 252 to the friend 256 through the contact identifier server 254 .
- This connection may be made during the grant of the request for access or after the request for access is granted.
- the friend 256 may have a preferred method of contact associated with his user account, e.g., an e-mail address.
- the caller 252 may request information using a smart phone, and the contact identifier server 254 may provide the smart phone with the e-mail address.
- An e-mail application on the caller's computing device may receive the e-mail address and generate a new message using the e-mail address in the “To:” field.
- the caller 252 may designate “phone” as a method of contacting the friend 256 .
- the contact identifier server 254 can receive this request along with the handle 260 and connect the caller 252 with the friend 256 via a telephone connection.
- the caller 250 can access contact identifiers 258 from the contact identification server 254 through a query, using the friend's personal information to gain access to the account for the user.
- the caller 252 may not know the handle 260 .
- the contact identifier server 254 may provide access to one or more other contact identifiers to the caller 252 .
- the caller 252 may already have the work e-mail address for his friend 256 , but not have the work phone number for his friend 256 .
- the work e-mail address may act as a password or security identifier to the contact identifier server 254 .
- the contact identifier server 254 may associate the work e-mail address with the work phone number or a work address.
- the work e-mail address may also be associated with a cell phone number.
- the contact identifier server 254 may be associated with a website similar to white pages, where the website provides a search tool to find a handle for a user account. For example, if the caller 252 enters the friend's name, the website may provide the handle 260 .
- FIG. 3 is a schematic diagram of a system 350 for correlating a handle with contact identifiers, and for retrieving the contact identifiers correlated with the handle.
- the system 350 permits users to create user accounts that are represented to the outside world by a handle and that internally correlate to a plurality of different contact identifiers representing a plurality of communication modes.
- the system 350 then lets other users search user accounts for information about people or organizations they are trying to contact, where the system may provide such searching users with the handle, and the users may then use the handle to contact another user in various manners and using various different communication modes.
- a user 352 may interact with the system 350 using a computing device 354 to connect with a server 356 .
- Such communication may occur over one or more networks (not shown), which may include portions of the internet.
- the server 356 may be various devices, for example, a single computing device, multiple servers in a cluster, or multiple computing devices spread over the internet in a cloud.
- the server 356 may assist in providing contact identifiers to the computing device 354 .
- the server 356 may correlate contact identifiers with a handle for a user account.
- the computing device 354 may be provided with one or more communication applications such as a telephony application, IM application, and e-mail application, which may employ a handle to begin a communication session with a target user that corresponds to the handle.
- the server 356 contains a number of components that permit it to provide a user's computing device 354 with a connection to contact identifiers that have been correlated with a handle.
- an interface 358 may handle communications with remote devices such as computing device 354 .
- the interface 358 may, for example, receive requests from the computing device 354 for contact identifiers correlated to a handle.
- the user 352 may send a handle, such as “612-555-1234,” to request contact identifiers (in the form of e-mail addresses, telephone numbers and the like) for a particular user account holder.
- the contact identifiers may relate to various modes of communication, e.g., telephone, e-mail, instant messaging, blogs, and websites that are associated with a user who corresponds to the handle.
- the interface 358 may receive this handle and provide contact identifiers in response.
- the requesting user may employ such identifiers to update contact information for the other user stored in the computing device 354 or in a contact database associated with a user account for the user 352 .
- the interface 358 may transmit the data to another component such as an account manager 360 , which is responsible for providing consistent and personalized interaction with registered users of system 350 .
- the account manager 360 may identify a handle for a particular user in the received data.
- the handle may be correlated to a uniform resource locator (URL).
- URL uniform resource locator
- the account manager 360 may also identify passwords for particular accounts.
- the user 352 may provide a password to set up or edit a user account.
- users may provide passwords to gain access to various subsets of contact identifiers correlated to a particular handle.
- the user account can be set so that users with a “family” password have access to a mobile phone number and home phone number, but not a work phone number.
- the server 356 may also include a correlator 362 that correlates received handles with contact identifiers relating to the handles.
- the correlator 362 may be programmed to perform a look-up function on the handle, and to return a list of contact identifiers for the handle, where the list may be limited based on an authorization level of a user that is requesting the information. For example, only close friends that have full authorization may be shown a contact identifier for a home telephone number or very private e-mail account.
- the correlator 362 may also cause the handle, the contact identifiers, and pointers connecting the handle to the contact identifiers to be stored for later use.
- the correlator 362 may also correlate passwords with particular handles or particular contact identifiers.
- the correlator 362 may store the user account data in a single database. Alternatively, the correlator 362 may store the user account data in multiple databases.
- a database storing information for the server 356 may have various data stores that are used to correlate lists of contact identifiers for user accounts to the corresponding uniform resource locators for such accounts.
- the database may include a passwords data store 366 , a contact information data store 368 , and a handles data store 370 .
- the passwords data store 366 may contain passwords for the user account, including a password for editing the contact identifiers for a particular user account (e.g., where the “owner” of the account is accessing the information) and passwords for accessing various contact identifiers for a particular user account (e.g., where acquaintances of the “owner” are seeking information).
- the contact information data store 368 may contain contact identifiers for various users.
- the contact information data store 368 may also contain data regarding preferences for particular contact methods, groups for particular contact identifier subsets, and other user-preference data.
- the handles data store 370 may store handles for various user accounts. The handles may be integers, as in telephone numbers, alphanumeric strings, images, or other unique identifiers. Generally, the handles data store 370 and the contact information data store 368 may be combined in the form of a look-up table that is indexed according to particular user handles.
- the server 356 may also include a communication mode selector 364 to receive a mode indicator.
- the mode indicator may provide information as to the selection of communication method that has been selected for making contact between user 352 and another user.
- the communication mode selector 364 may receive a “mobile” mode indicator for the user 352 indicating that the user 352 wants to call the other user's cell phone.
- Such a mode indicator may accompany the handle, as may other mode indicators such as “e-mail” and “home phone”, so that user 352 merely needs to remember or store the single handle, and then add a general description of the communication mode—rather than having to remember or store a separate identifier for every way in which the user 352 can contact the other users.
- the mode indicator can be controlled by the target user either explicitly or via contextual rules.
- the user 352 may use a telephone to dial another user, and the call may be routed to server 356 .
- the server may recognize the call, via DNIS information received from the telephone system or from other data, as being directed to the particular handle, and may access information about the user that is the target of the call. For example, the system may determine that, at the current time, the target user would prefer to receive e-mail messages.
- the server 356 may use a voice synthesis module to speak a message to user 352 , such as “The user you are calling would prefer to receive e-mail for the next 24 hours. Press 1 to leave a voice message that will be transcribed into an e-mail message or e-mail the user at bob@acme.com.”
- the communication mode selector 364 may also receive one or more contact identifiers from the database, e.g., the contact information data store 368 . Where multiple contact identifiers are received for a particular mode, the appropriate mechanism for contacting the target user by that mode may need to be determined. For example, the communication mode selector 364 may receive a home phone number, a cell phone number, a URL for a website, and an e-mail address for a home e-mail account. The communication mode selector 364 may initiate a communication session between the user 352 and the other user according to one of the communication modes.
- the communication mode selector 364 can select a particular mode based on inputs from an initiating party, from a target party, or from rules set up by or selected by one of the parties, and can also select a particular contact identifier from multiple identifiers that may exist for a particular communications mode, by which to complete the communication.
- FIG. 4A is a flowchart showing an example of a process 400 for correlating a handle with contact identifiers.
- a process 400 for correlating a handle with contact identifiers may be employed by a user of a central connecting service who wants to initially set up a count by selecting a handle and then supplying all of the user's various contact identifiers to be correlated to the handle.
- the process 400 shows one example of generating a user account with contact identifiers across multiple modes of communication, correlated with a single user handle.
- the single user handle allows the user's contacts to communicate with the user in various communication modes without requiring the contacts to store information regarding the user's various contact identifiers separately or having to update the contact identifiers as the user changes individual contact identifiers.
- the process 400 obtains ( 402 ) identifiers for a plurality of contact identifiers for a computer account holder.
- the identifiers may be unique identifiers for particular mechanisms of communication under various communication modes for a particular user.
- the communication modes e.g., blogs, instant messaging, telephone, mail, and e-mail, can each have multiple unique identifiers for each of the mechanisms by which the user can be contacted.
- a user may have an MSN MESSENGER identifier, an AMERICA ONLINE Instant Messenger identifier, and a GOOGLE TALK identifier.
- the process 400 then identifies ( 404 ) a handle for the account holder.
- the handle may be a string that the user selects when setting up his account, such as the user's full name or a particular phone number.
- the handle can also be selected by the process for the user, such as in the manner that telephone numbers are provided for selection by a user seeking a new telephone number.
- the handle may be correlated to a URL.
- the URL may be a website address for a unifying presence site, e.g., “http://www.exampleonesite.com.”
- the correlated handle may navigate to a unique page designated for the account holder.
- the URL correlated with the handle may be “http://www.exampleonesite.com/612-555-1234.”
- the process 400 then correlates ( 406 ) the handle with the plurality of contact identifiers.
- the user's instant messenger accounts and e-mail addresses may be correlated with the handle “612-555-1234.”
- the process 400 may store the handle, the plurality of contact identifiers, and pointers connecting the handle to the plurality of contact identifiers in a database.
- the system 350 described in FIG. 3B may store the handle, the plurality of contact identifiers, and the pointers in multiple data stores, e.g., the handles data store 370 and the contact information data store 368 .
- the handles may be stored in an index field of a look-up table, with the contact identifiers stored in a target field of the same table so that a simply look-up on the handle field may return the corresponding contact identifiers.
- a user of a computing system may register their contact information, which may span multiple mechanisms for connecting and multiple modes of communication, with a central service.
- the service may then correlate such mechanisms with a single common handle by which the various forms of information may more easily be recovered or used by other users, such as by being used to connect to the first user in a communication session.
- FIG. 4B is a flowchart showing an example of a process 420 for retrieving an account holder's contact identifiers correlated with a handle. Such retrieval may be performed by someone searching for the user/account holder discussed in FIG. 4A or by an acquaintance of such an account holder. The acquaintance may have received the handle from the account holder, and may want to find out the latest contact information for the account holder.
- the process 420 shows one example of receiving a handle from a user and using the handle to identify contact identifiers for a particular account holder, though other examples may also be used.
- the handle allows the user to communicate with the account holder in various communication modes while only requiring the user to provide the single handle.
- the process 420 receives ( 422 ) a handle for an account holder submitted by a user of a computing device.
- the computing device may submit the handle “ChakaKhan”—a name that is unique enough that it alone could serve as a unique identifying handle.
- the handle can provide a unique identifier for the process 420 to identify a particular account of an account holder.
- the process 420 may request a password before providing information about other contact identifiers, such as a home telephone number or work e-mail address.
- the process 420 then provides ( 424 ) a list of contact identifiers from a plurality of different communication modes to the user of the computing device.
- the list of contact identifiers may include a home mailing or e-mail address, a work address, a work website, a Twitter account identifier, and a cell phone number.
- different subsets of the list of contact identifiers may be provided.
- the process 420 may only provide the work address and cell phone number to a person given “Work” group access, while a person designated as belonging to a “Friend” group may be provided the home address and the Twitter account. Groups may be designated through various mechanisms.
- the process 420 may determine the level of access through password requests or the process 420 identifying the client device used to request contact identifiers.
- the process connects the user to the account holder by one of a plurality of communication modes.
- a work e-mail address may be propagated to a word processing document, with the address field preset to the account holder's work e-mail address.
- the connection may be made in response to a selection by the user of the computing device of a contact identifier corresponding to the one of the plurality of communication modes. For example, the user may choose “Feed” to read the most recent Twitter post by the account holder.
- the handle may be correlated to a URL.
- the URL may be a website address for a unifying presence site, e.g., “http://www.exampleonesite.com.”
- the process 420 may receive a request with the URL “http://www.exampleonesite.com/612-555-1234”, retrieve the account for “612-555-1234”, and map the request to a contact identifier included in the account.
- FIG. 5A is a sequence diagram for depicting an example of interactions 500 between an account holder 502 in a communication system and a server 504 .
- the process shown here is similar to that shown in FIG. 4A , and provides a more explicit indication of exemplary manners in which an account holder and a server system can interact in correlating identifiers with a single user handle.
- the interactions involve a server generating a user account, assigning a handle to the user account, and correlating a number of contact identifiers with the account.
- the account holder 502 initially transmits identifiers (box 506 ), such as e-mail addresses, telephone numbers, and instant message accounts, to the server 504 . Such a transmission may occur after the account holder 502 initially establishes his or her account.
- the server 504 receives the identifiers (box 508 ) and determines a handle (box 510 ) for the account holder 502 .
- the account holder 502 provides input to the server 502 regarding a choice of handles. For example, the account holder 502 may provide an initial suggestion of a handle along with the first identifiers that the account holder transmitted to the server 504 .
- the server 504 can also provide a handle without input from the account holder 502 .
- the server 504 then correlates the handle with the identifiers (box 512 ). Such correlation may occur by storing the handle and the identifiers together in a look up table so that entry of the handle to the table causes the identifiers to be provided.
- the server 504 stores the handle and the identifiers in a database such as in a look up table.
- pointers from a handle to the identifiers may also be stored. As shown in FIG. 3 , the identifiers and the handle need not be stored in the same location, though they may.
- the pointers may be stored with the handle, or, alternatively, the pointers may be stored with the identifiers.
- the pointers may also be stored in a third location, separately from both the identifiers and the handle.
- the server 504 transmits a confirmation (box 516 ) that the handle and identifiers (and optionally the pointers) have been recorded and correlated to each other.
- the confirmation may be a complete listing of all the information, a confirmation containing the handle and identifiers, or simply the handle.
- the account holder 502 then receives the confirmation at box 518 .
- the confirmation can be received in various formats, including an HTML-embedded e-mail, an instant message, a web page, a text message on a cell phone, or a generated voice message.
- FIG. 5B is a sequence diagram that depicts an example of interactions 530 between a user 532 , an account holder 534 , and servers 536 .
- a third party use may submit a handle to a central system where the handle corresponds to an account holder in the system.
- the system then identifies a communication mode and mechanism by which the account holder should be contact, and automatically carries out the necessary steps to cause such communication to occur.
- the process shown here is similar to that shown in FIG. 4A , and provides a more explicit showing of exemplary manners in which a third party can contact the account holder without having to remember or provide detailed contact information.
- the servers 536 may be part of a unifying identifier system and may communicate with various client devices, such as cell phones, laptop computers, landlines, and smart phones to provide an ease of communication between the user 532 and the account holder 534 and also to more accurately provide the user's and account holder's preferred methods of communication.
- client devices such as cell phones, laptop computers, landlines, and smart phones
- the connection may be easier for the user 532 because the user 532 need only remember a single handle and perhaps some generic control information (e.g., a common term that identifies the mode of communication), and in certain implementations, the particular contact identifier may be kept anonymous from the user 532 .
- an actual e-mail address or telephone number may be masked using a system address or number via a bridging mechanism similar to that for e-mail communications using on-line services such as CRAIGSLIST.
- the user 532 initially submits to a group of servers ( 536 ) a handle for an account holder (box 538 ).
- the servers 536 receive the handle (box 540 ), such as a telephone number appended to a URL.
- the servers 536 determine contact identifiers (box 542 ) correlated to the handle.
- the contact identifiers may be selected from a larger group of contact identifiers for the account holder 534 , and may include one or more identifiers within each of a plurality of communication modes.
- the user 532 may be an unknown individual to the account holder 534 . Therefore, the account holder 534 may store a setting that the user 532 will not receive a home telephone number that is stored as one of the identifiers.
- the servers 536 then transmit a list of contact identifiers to the user 532 and the user 532 receives the list of contact identifiers (box 546 ).
- the user 536 may receive the list through an application programming interface (API) so that the contact identifiers can be updated in a client device that the user 532 is using to connect to the servers 536 .
- API application programming interface
- the user 532 may more readily contact the account holder 534 through a variety of methods of communication. For example, the user 532 may wish to call the account holder 534 to discuss an e-mail that the user 532 plans to send to the account holder 534 during the telephone conversation.
- the user 532 selects one of the contact identifiers (box 548 ). In some implementations, this determination is made through the user's client device that connects to the servers 536 . In other implementations, the determination is made because the user 532 is only granted access to one contact identifier, or the account holder 534 has only provided one contact identifier. Alternatively, the user 532 may select from the list of contact identifiers provided.
- the servers 536 receive the selection (box 550 ) of contact identifiers. The servers 536 then attempts to connect the user 532 to the account holder 534 by contacting the user 532 (box 552 ) and contacting the account holder 536 (box 554 ).
- the contact may be a VoIP connection or an instant messaging chat session.
- the user 532 receives the contact ( 556 ) and the account holder 558 receives the contact ( 558 ). If both the user 532 and the account holder 534 accept the contact, the user 532 and the account holder 534 are connected ( 560 ).
- the connection may be a direct connection, such as through landlines, a routed connection through the servers 536 , or a connection through a third party service, such as an instant messaging connection.
- the users may be connected directly, such as by the user 532 submitting a handle and receiving a telephone number in return.
- the telephone number then may be dialed automatically by the user's client device, such as via an automatically executing dialing link in a mark up document sent by the server 536 .
- the connection may also be made automatically through the servers 536 .
- the servers 536 may include servers for completing a VOIP telephone connection, and may carry out the necessary steps to connect the user 532 and the account holder 534 .
- Such an implementation is particularly well-suit for keeping contact identifiers of the account holder 534 private, and not sending any information about the identifiers (or at least some of the identifiers) to the user 532 .
- Such an approach may be useful when an account holder is working from home and would like to be reached at home, but does not want people calling his or her work number to get access to his or her home number.
- FIG. 6A is an exemplary universal business card 600 .
- the universal business card 600 may be in an electronic or hard copy format.
- the universal business card 600 shows one example of how an account holder like the account holder discussed above may share contact information with other users. While a traditional business card may include several telephone numbers and other contact information for a number of modes of communication (e.g., mail, e-mail, telephone, etc.), the universal business card 600 includes a single handle that can be resolved by a central system automatically into one of the modes of communication and a particular mechanism (e.g., telephone number) for that mode.
- modes of communication e.g., mail, e-mail, telephone, etc.
- the universal business card 600 includes the name 602 of the account holder, shown as “Jodi Cisewski,” the employer 604 of the account holder, “Engineering, Inc.,” and a link 606 to the user's contact identifiers using a handle 608 .
- the handle includes a telephone number and is appended to a URL.
- the URL may also, in appropriate circumstances, be considered to be part of the handle 608 .
- the URL may be a common URL that is easy for user to memorize (e.g., because many of their acquaintances have handles associated with the URL), and the handle may also be an alphanumeric string that is relatively easy for other users to memorize or store.
- the information underlying the universal business card 600 may be updated under the account holder's control to ensure that people may receive current contact information for the account holder, even as the data shown on the card stays the same.
- the universal business card 600 also provides a small amount of data for a third-party to receive. In this manner, a third party can see what the cardholder does, and can also be given access to more information about the cardholder without having the card 600 cluttered by detailed information.
- FIG. 6B is a screenshot of a web page 610 for retrieving a user's contact identifiers correlated with a handle.
- the web page 610 contains the name 612 of the account holder, a handle 614 , and a link 616 to contact the account holder.
- the web page 610 is the site connected to the link from the universal business card of FIG. 6A .
- a person looking at page 610 may select the link 616 to be connected automatically to the user, where a central system may automatically select the contact mechanism and mode of communication by which the contact is to occur.
- selection of the link 616 may cause a blank e-mail message with a relevant e-mail address for Jodi filled out, to be generated on the same client device that was previously displaying the page 610 .
- FIG. 6C is a screenshot of a web page 630 for correlating a handle with contact identifiers.
- the web page 630 provides entry forms for a user to provide contact identifiers for a system to store and correlate the contact identifiers provided with a handle.
- the fields include a handle field 632 , a password field 634 , and a name field 636 .
- Other fields include phone 640 , e-mail 642 , IM 644 , website 646 , blog 648 , networking site 650 , and VoIP 652 .
- the fields shown below the name field 636 each have a “+” button so that a user can add more than one of the types of fields display on the web page 630 .
- the web page 630 provides fields for other forms of contact, such as a call sign for an amateur radio broadcaster.
- the web page 630 may display one or more fields 632 - 652 that include predetermined information if the system is also connected to a communication mode. For example, if the user has an e-mail account that is accessible through a link displayed on the web page 630 , the web page 630 may already display the user's e-mail address, her home page, her user identifier and password for an instant messaging program, her time zone, and any other information she wishes to make public to at least some of the individuals who may access her information through the account.
- the web page 630 may have a separate page for different groups with different security levels or check boxes or pull-down menus for each field to designate the access level for each group.
- the web page 670 may also display contact information for an account associated with a group rather than an individual.
- the user may be a non-profit organization with a changing executive board and contact information.
- the single point of contact may provide continuity because members or interested parties may not need to update contact points.
- an executive board elects a president every year, the new president may update the contact name 672 , telephone number 674 , and home e-mail address 676 upon his election.
- the blog link 678 may not need to be changed, however.
- the third parties have the capability to update the information on an automatic basis, no time would be wasted looking up the new contact information. It would be provided to the third parties upon request.
- the web page 670 includes a column for advertisements 682 .
- the advertisements may be specified based on the user account information.
- the advertisements may also be sponsored.
- the user may be provided with a financial benefit for each visitor to the web page 670 .
- the user may be provided with a financial benefit each time a visitor clicks a link to one of the advertisements 682 on the web page 670 .
- FIG. 7 is a block diagram of computing devices 700 , 750 that may be used to implement the systems and methods described in this document, as either a client or as a server or plurality of servers.
- Computing device 700 is intended to represent various forms of digital computers, such as laptops, desktops, workstations, personal digital assistants, servers, blade servers, mainframes, and other appropriate computers.
- Computing device 750 is intended to represent various forms of mobile devices, such as personal digital assistants, cellular telephones, smartphones, and other similar computing devices.
- Additionally computing device 700 or 750 can include Universal Serial Bus (USB) flash drives.
- the USB flash drives may store operating systems and other applications.
- the USB flash drives can include input/output components, such as a wireless transmitter or USB connector that may be inserted into a USB port of another computing device.
- the components shown here, their connections and relationships, and their functions, are meant to be exemplary only, and are not meant to limit implementations of the inventions described and/or claimed in this document.
- the memory 704 stores information within the computing device 700 .
- the memory 704 is a volatile memory unit or units.
- the memory 704 is a non-volatile memory unit or units.
- the memory 704 may also be another form of computer-readable medium, such as a magnetic or optical disk.
- the storage device 706 is capable of providing mass storage for the computing device 700 .
- the storage device 706 may be or contain a computer-readable medium, such as a floppy disk device, a hard disk device, an optical disk device, or a tape device, a flash memory or other similar solid state memory device, or an array of devices, including devices in a storage area network or other configurations.
- a computer program product can be tangibly embodied in an information carrier.
- the computer program product may also contain instructions that, when executed, perform one or more methods, such as those described above.
- the information carrier is a computer- or machine-readable medium, such as the memory 704 , the storage device 706 , or memory on processor 702 .
- the high speed controller 708 manages bandwidth-intensive operations for the computing device 700 , while the low speed controller 712 manages lower bandwidth-intensive operations.
- the high-speed controller 708 is coupled to memory 704 , display 716 (e.g., through a graphics processor or accelerator), and to high-speed expansion ports 710 , which may accept various expansion cards (not shown).
- low-speed controller 712 is coupled to storage device 706 and low-speed expansion port 714 .
- the low-speed expansion port which may include various communication ports (e.g., USB, Bluetooth, Ethernet, wireless Ethernet) may be coupled to one or more input/output devices, such as a keyboard, a pointing device, a scanner, or a networking device such as a switch or router, e.g., through a network adapter.
- input/output devices such as a keyboard, a pointing device, a scanner, or a networking device such as a switch or router, e.g., through a network adapter.
- Computing device 750 includes a processor 752 , memory 764 , an input/output device such as a display 754 , a communication interface 766 , and a transceiver 768 , among other components.
- the device 750 may also be provided with a storage device, such as a microdrive or other device, to provide additional storage.
- a storage device such as a microdrive or other device, to provide additional storage.
- Each of the components 750 , 752 , 764 , 754 , 766 , and 768 are interconnected using various buses, and several of the components may be mounted on a common motherboard or in other manners as appropriate.
- Processor 752 may communicate with a user through control interface 758 and display interface 756 coupled to a display 754 .
- the display 754 may be, for example, a TFT (Thin-Film-Transistor Liquid Crystal Display) display or an OLED (Organic Light Emitting Diode) display, or other appropriate display technology.
- the display interface 756 may comprise appropriate circuitry for driving the display 754 to present graphical and other information to a user.
- the control interface 758 may receive commands from a user and convert them for submission to the processor 752 .
- an external interface 762 may be provide in communication with processor 752 , so as to enable near area communication of device 750 with other devices. External interface 762 may provide, for example, for wired communication in some implementations, or for wireless communication in other implementations, and multiple interfaces may also be used.
- the memory 764 stores information within the computing device 750 .
- the memory 764 can be implemented as one or more of a computer-readable medium or media, a volatile memory unit or units, or a non-volatile memory unit or units.
- Expansion memory 774 may also be provided and connected to device 750 through expansion interface 772 , which may include, for example, a SIMM (Single In Line Memory Module) card interface.
- SIMM Single In Line Memory Module
- expansion memory 774 may provide extra storage space for device 750 , or may also store applications or other information for device 750 .
- expansion memory 774 may include instructions to carry out or supplement the processes described above, and may include secure information also.
- expansion memory 774 may be provide as a security module for device 750 , and may be programmed with instructions that permit secure use of device 750 .
- secure applications may be provided via the SIMM cards, along with additional information, such as placing identifying information on the SIMM card in a non-hackable manner.
- Device 750 may communicate wirelessly through communication interface 766 , which may include digital signal processing circuitry where necessary. Communication interface 766 may provide for communications under various modes or protocols, such as GSM voice calls, SMS, EMS, or MMS messaging, CDMA, TDMA, PDC, WCDMA, CDMA2000, or GPRS, among others. Such communication may occur, for example, through radio-frequency transceiver 768 . In addition, short-range communication may occur, such as using a Bluetooth, WiFi, or other such transceiver (not shown). In addition, GPS (Global Positioning System) receiver module 770 may provide additional navigation- and location-related wireless data to device 750 , which may be used as appropriate by applications running on device 750 .
- GPS Global Positioning System
- Device 750 may also communicate audibly using audio codec 760 , which may receive spoken information from a user and convert it to usable digital information. Audio codec 760 may likewise generate audible sound for a user, such as through a speaker, e.g., in a handset of device 750 . Such sound may include sound from voice telephone calls, may include recorded sound (e.g., voice messages, music files, etc.) and may also include sound generated by applications operating on device 750 .
- Audio codec 760 may receive spoken information from a user and convert it to usable digital information. Audio codec 760 may likewise generate audible sound for a user, such as through a speaker, e.g., in a handset of device 750 . Such sound may include sound from voice telephone calls, may include recorded sound (e.g., voice messages, music files, etc.) and may also include sound generated by applications operating on device 750 .
- the computing device 750 may be implemented in a number of different forms, as shown in the figure. For example, it may be implemented as a cellular telephone 780 . It may also be implemented as part of a smartphone 782 , personal digital assistant, or other similar mobile device.
- implementations of the systems and techniques described here can be realized in digital electronic circuitry, integrated circuitry, specially designed ASICs (application specific integrated circuits), computer hardware, firmware, software, and/or combinations thereof.
- ASICs application specific integrated circuits
- These various implementations can include implementation in one or more computer programs that are executable and/or interpretable on a programmable system including at least one programmable processor, which may be special or general purpose, coupled to receive data and instructions from, and to transmit data and instructions to, a storage system, at least one input device, and at least one output device.
- the systems and techniques described here can be implemented on a computer having a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user and a keyboard and a pointing device (e.g., a mouse or a trackball) by which the user can provide input to the computer.
- a display device e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor
- a keyboard and a pointing device e.g., a mouse or a trackball
- Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form, including acoustic, speech, or tactile input.
- the systems and techniques described here can be implemented in a computing system that includes a back end component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front end component (e.g., a client computer having a graphical user interface or a Web browser through which a user can interact with an implementation of the systems and techniques described here), or any combination of such back end, middleware, or front end components.
- the components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network (“LAN”), a wide area network (“WAN”), peer-to-peer networks (having ad-hoc or static members), grid computing infrastructures, and the Internet.
- LAN local area network
- WAN wide area network
- peer-to-peer networks having ad-hoc or static members
- grid computing infrastructures and the Internet.
- the computing system can include clients and servers.
- a client and server are generally remote from each other and typically interact through a communication network.
- the relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- General Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Computational Linguistics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Operations Research (AREA)
- Marketing (AREA)
- Computer Security & Cryptography (AREA)
- Economics (AREA)
- Information Transfer Between Computers (AREA)
- Telephonic Communication Services (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
The subject matter of this specification can be embodied in, among other things, a computer-implemented method that includes obtaining, at a computer system, a plurality of contact identifiers for a computer account holder, wherein the identifiers represent a plurality of different communication modes; identifying a handle for the account holder, wherein the handle is associated with a uniform resource locator; and correlating the handle with the plurality of contact identifiers, and storing the handle and plurality of contact identifiers together so as to permit retrieval of the contact identifiers in response to identification of the handle.
Description
- This document describes systems and techniques for correlating and retrieving user contact identifiers with a handle.
- The development of modern communications technologies has enabled people to communicate by more and richer mechanisms—via e-mail, text messaging, video conferencing, posting content to web pages, microblogging, and other such expanding mechanisms. This increase in communication mechanisms, however, brings about a concomitant increase in the complexity of determining someone's contact information. For example, a particular internet user may have a home telephone number, a cellular telephone number, a work telephone number, a work e-mail address, a personal e-mail address, a home page, a blog, an IM account, and other such mechanisms for communicating with others. This multitude of connection mechanisms can make it difficult to keep track of contact information for a number of friends or acquaintances. Also, it can be hard to get and enter all such information from a new acquaintance. That is why, frequently, people tell a new acquaintance to call their telephone number or e-mail them, so that they can capture, respectively, the other user's telephone number or e-mail address.
- Such difficulties become even more pronounced across a user's lifetime as they move from situation to situation. For example, each time a user changes jobs, they generally lose their old work telephone number and e-mail address and acquire new ones. This may result in a business social networking site “pinging” all of their acquaintances to announce that the acquaintances should check for the new contact information. It may also result in acquaintances who are not updated in such a manner getting a wrong number or an e-mail bounce-back when they try to reach an old acquaintance.
- This document describes techniques for correlating and retrieving a handle with contact identifiers. In general, a user may be contacted using a single handle that triggers communication by a variety of different communication mechanisms using a plurality of communication modes, where modes are different types of communication connections such as telephone, e-mail, text messaging, and other such modes. For example, a single alphanumeric string can be submitted by a party wanting to contact the user, whether the party wants to make the contact via telephone, e-mail, chat or other such mode of communication. Thus, for example, a third party can “dial” the handle using a telephone and the handle will lead to a service that translates the handle into another telephone number where the user can currently be reached. In a similar manner, a third party can use the handle plus a common domain (e.g., gmail.com) to e-mail the user, and the e-mail message can be forwarded, using rules defined by the user, to another e-mail account or address for the user. The handle can also be used to push updates regarding various contact mechanisms out to the third party when a user changes such information, such as by sending a new vcf card to the third party.
- Such systems and techniques may provide one or more advantages in certain implementations. For example, a user can provide a single point of contact to which acquaintances may point in order to be updated regarding contact information for various contact mechanisms for the user. Also, the acquaintance may be permitted to generally ignore changes in individual contact mechanisms, such as when the user switches to a new job and receives a new work telephone number and new work e-mail address, and simply remember a handle for their acquaintance, where the handle does not need to change every time one of the contact mechanisms that underlies the handle changes. Rather, the handle, by whatever mode submitted, may be mapped to the various communication modes and contact mechanisms (such as e-mail addresses and telephone numbers) for a user, so that the user can keep those mechanisms updated without bothering the user's acquaintances. In addition, the user may establish various routing rules to control how the user is contacting, and via which contact mechanism, where such rules may depend at least in part on the time of day or day of the week when the contact is made, the identity of the person seeking to make contact, and other similar factors that may affect a user's decisions regarding how to be contacted.
- In a first general aspect, a computer-implemented method is described. The method includes obtaining, at a computer system, a plurality of different contact identifiers for a computer account holder, wherein the identifiers represent a plurality of different communication modes; identifying a handle for the account holder, wherein the handle is associated with a uniform resource locator; and correlating the handle with the plurality of contact identifiers, and storing the handle and plurality of contact identifiers together so as to permit retrieval of the contact identifiers in response to identification of the handle.
- In a second general aspect, a computer-implemented communication management method is described. The method includes receiving at a computer system a handle for an account holder submitted by a computing device; providing, for presentation to the computing device, a group of contact identifiers from a plurality of different communication modes; and electronically connecting the computing device to the account holder by one of the plurality of communication modes in response to a selection by the computing device of a contact identifier corresponding to the one of the plurality of communication modes.
- In a third general aspect, a computer-implemented communication system for identifying contact identifiers for an account holder is described. The computer-implemented communication system includes an interface to obtain a plurality of different contact identifiers for a computer account holder, wherein the identifiers represent a plurality of different communication modes; an account manager to identify a handle for the account holder, wherein the handle is associated with a uniform resource locator; and a correlator to correlate the handle with the plurality of contact identifiers, and store the handle, the plurality of contact identifiers together so as to permit retrieval of the contact identifiers in response to identification of the handle.
- In a fourth general aspect, a computer implemented communication system for assisting in forming communication sessions is described. The computer implemented communication system includes an interface to receive a handle from a user of a computing device, wherein the handle is associated with a uniform resource locator; a central database associating a group of contact identifiers for an account holder to the uniform resource locator; and a communication mode selector to receive a mode indicator and one or more contact identifiers from the database and to select the contact identifier using a communication mode corresponding to the mode indicator to connect a third party for communication with the account holder.
- In a fifth general aspect, a computer implemented communication management method is described. The method includes electronically providing a user account handle; retrieving a plurality of contact identifiers correlated with the user account handle; displaying the plurality of contact identifiers, each contact identifier being different from another contact identifier and associated with a contact rule; and receiving, at a computing device, at least one modification of one of the contact identifiers.
- The details of one or more embodiments are set forth in the accompanying drawings and the description below. Other features, objects, and advantages will be apparent from the description and drawings, and from the claims.
-
FIG. 1 is a conceptual diagram of a system for retrieving a user's various contact identifiers correlated to a handle. -
FIG. 2A is a schematic diagram of a system for retrieving a user's various contact identifiers correlated to a handle. -
FIG. 2B is a sequence diagram depicting examples of interactions between clients and servers. -
FIG. 3 is a schematic diagram of a system for correlating a handle with contact identifiers. -
FIG. 4A is a flowchart showing actions taken to correlate a handle with contact identifiers. -
FIG. 4B is a flowchart showing actions taken to retrieve a user's contact identifiers correlated with a handle. -
FIG. 5A is a sequence diagram for generating a user account to correlate a handle with a user's contact identifiers. -
FIG. 5B is a sequence diagram for retrieving a user's contact identifiers correlated with a handle. -
FIG. 6A is an exemplary universal business card. -
FIG. 6B is a screenshot of a web page for retrieving a user's contact identifiers correlated with a handle. -
FIG. 6C is a screenshot of a web page for correlating a handle with contact identifiers -
FIG. 6D is a screenshot of a web page displaying a user's contact identifiers correlated with a handle. -
FIG. 7 shows an example of a computer device and a mobile computer device that can be used to implement the techniques described here. - Like reference symbols in the various drawings indicate like elements.
- In general, this document describes mechanisms for providing a single point of contact for a user so that third parties may contact the user through various forms of communication without having to use more than the single point of contact. Contact information for the single point of contact may be supplied to third parties who are acquaintances of the user, in one example, through a website that the third parties may visit. The contact information may be tailored to individual third parties or groups, e.g., family may obtain one set of contact information, friends another set, and work contacts a third set of contact information (where the various sets may overlap). The user may also update a particular contact identifier, for example, a work phone number, without needing to update customers, vendors, or co-workers of the contact information change, because the single point of contact may stay fixed while the various contact mechanisms that are made available there to third parties may change. The single point of contact may be designated by a handle, such as an alphanumeric code that can be resolved to a particular web page or IP address. The handle may be a unique string appended to a particular URL as a pointer to a file containing the user's contact information.
- A third party may also retrieve information and “slurp” a user's contact information, in the form of the particular contact mechanisms, without the need to copy the information on an individual basis. The third party may store the information for later use on various client devices, e.g., a home computer, an e-mail account, a mobile device, or a home phone, or the third party may use the handle each time to contact the user. Likewise, some clients may allow the third party to choose the method of contact for the user and choose the handle in order to have the client retrieve the particular contact identifier correlated with the handle. For example, instead of providing an individual contact mechanism like a work phone number, the third party can simply supply the invariant handle along with an argument like “work,” and a service may route the third party to the user via the user's current work telephone number. In this manner, a user may update contact information on a regular basis without the concern that various friends, family, or work associates may be unable to contact the user.
-
FIG. 1 is a conceptual diagram of asystem 100 that connectsthird party 102 to auser 114 of thesystem 100 by one of a number of contact mechanisms, where the particular contact mechanism could be specified by thethird party 114 or theuser 102. In general, thesystem 100 may allow thethird party 102 to provide a single handle, or perhaps the handled plus additional basic information, in order to contact theuser 114 by various mechanisms, without having to know the contact information for those various contact mechanisms. The contact mechanisms may also take a variety of formats, such as telephone, e-mail, and the like. - In the
example system 100, athird party 102 is shown submitting to the system 100 ahandle 106, which in this example is a 10-digit telephone number. Thethird party 102 in this example is trying to contact user 114 (whether directly, by leaving a message foruser 114, or by being shown content such as a web page thatuser 114 has generated) by one of a variety of mechanisms. Although thehandle 106 takes the form of a telephone number here because users are accustomed to memorizing such numbers and to assigning them as contact mechanisms, thehandle 106 can take a variety of forms that “look” different than a telephone number, such as by looking like the person's full name or like an e-mail address. -
Various contact identifiers 104 are shown by whichuser 114 may be contacted. These contact identifiers are from a plurality of different modes of communication, such as telephone, e-mail, and others. A mode of communication is a particular distinct type of communicating, where each user may be contacted by one or more contact identifiers for any particular mode. For example, the user reflected inFIG. 1 has three telephone numbers, and thus three contact identifiers for the telephone mode of communication (in addition to thehandle 106, which may act like a telephone number). - A
routing mechanism 110 controls how thethird party 102 communicates with the user 112 when thethird party 102 provides thehandle 106 to thesystem 100. In particular, the handle may be correlated with a particular contact mechanism of a particular mode of communication. With respect to the telephone mode of communication and telephone numbers as contact mechanisms, the handle may correlate much as a telephone handle is correlated to other telephone modes of contact in a system such as the known GRAND CENTRAL system. However, the handle in this example may also be correlated with multiple modes of communication, so that when thethird party 102 provides the handle, thethird party 102 is connected by a technique other than a telephone call, such as via e-mail. As a result, the handle may, in certain implementations, be a universal handle for contacting theuser 114, by whatever desired mode. - The particular mode of communication may be set by the
user 114, by thethird party 102, or by one or more rules such as rules defined by theuser 114. For example, theuser 114 may manually set a flag that indicates their currently-preferred mode of receiving communications. As one example, theuser 114, as they enter a large meeting or another location in which a telephone call would be inappropriate, may log into a system and indicate that their preferred mode of communication is one of a number of textual modes, such as e-mail or chat. Thethird party 102 may indicate the preferred mode by accompanying their submission of thehandle 106 to the system with a mode indicator. For example, the third party may type “123-456-7890 email” along with text for an e-mail message in order to e-mail another user. Thesystem 100 will then interpret the request appropriately and form an e-mail message to theuser 114 at an e-mail address that the system has determined to be an appropriate e-mail address. For example, if thesystem 100 matches a domain relating to the sender to a business-related domain for theuser 114, thesystem 100 may send the e-mail message to the user's work e-mail account. In contrast, if the domain is a domain such as “aol.com” or a domain on a whitelist for the user (such as an old college friend), the e-mail message may be sent to a personal account. - The
user 114 may also establish rules of various forms for selecting a communication mode. For example, if the user does not like to receive telephone calls or check voice mail over the weekend, but does carry a smart phone with them, they may set their mode of communication to e-mail, so that third parties are induced to send them e-mails. A mix ofthird party 102 defined mode anduser 114 defined contact identifier under a mode may also be employed. For example, athird party 102 may identify e-mail as the mode of communication, and then user-defined rules may determine which e-mail account, from multiple e-mail accounts associated with the user, is to receive the e-mail. Responses by theuser 114 may likewise be generalized to reflect the handle in the “from” field, rather than the particular e-mail account used byuser 114. - Where the
third party 102 does not dictate the mode of communication and the user's preferred mode of communication does not match a mode that the third party initially selects, thethird party 102 may be prompted to user the other mode. For example, the third party may initially dial thehandle 106 as part of a telephone call. Thesystem 100 may determine that theuser 114 currently wants to be contacted by e-mail, and may thus play a message such as “If you would like to contact Bob at the moment, please e-mail him at xyz@xyz.com.” Thesystem 100 may also transmit data to the third party's computing device so as to start a form e-mail that is automatically addressed to theuser 114, or may simply send an e-mail from the user's account to the third party 102 (e.g., where the third party's telephone number can be determined from ANI or caller ID data, and can be correlated to an e-mail address for thethird party 102, such as through an address book for the user 114), so that thethird party 102 can simply reply to the incoming e-mail. - In some implementations, the mode indicator may be preselected based on the client device that the
third party 102 uses. For example, if thethird party 102 is using a mobile phone to transmit thehandle 106, thesystem 100 may directly connect thethird party 102 to theuser 114 via the telephone number in thecontact identifiers 104. Alternatively, if the third party's client device has more than one mode of communication (e.g., a smart phone), thethird party 102 may be provided with various modes of contacting theuser 114, including phone, web page, IM, and e-mail, all associated with thehandle 106. - As noted above, in this example, the
handle 106 includes a telephone number or is in the form of a telephone number, “123-456-7890.” The use of a telephone number may be useful for an individual to remember, given that telephone numbers are commonplace in that many countries use Arabic numerals to some extent. Alternatively, thehandle 106 may include an alphanumeric string. For example, thehandle 106 may be the user's name or the user's preferred e-mail address or street address. Likewise, thehandle 106 may be a portion of the user's full telephone number with a country or state code, or both, e.g., “US-MN-456-7890.” - While the
contact identifiers 104 are shown here conceptually as a virtual list from which arouter 110 selects one identifier for connecting thethird party 102 to theuser 114, they may also be actually displayed to theuser 114 orthird party 102 when such a party accesses a web page in the form of a contact page and directs their attention to theuser 114, such as by entering thehandle 106 for theuser 114 or by entering one of thecontact identifiers 104 for theuser 114. Such a contact page can show contact identifiers that are a subset of a full set of contact identifiers. For example, if thethird party 102 is a new acquaintance to theuser 114, theuser 114 may provide for a small subset of contact identifiers to be shown to thethird party 102, such as a work phone number, work e-mail address, and website. In some implementations, theuser 114 can provide thethird party 102 with a password to access a larger subset of the full set of contact identifiers. Likewise, the user may provide group-specific passwords to provide different subsets of the full set of contact identifiers to different groups, e.g., family, friends, coworkers, and acquaintances. In one implementation, access to contact identifiers may be coordinated with user statuses in a social networking site, where strangers may be shown limited contact identifiers, acquaintances (which have been affirmatively approved by the user) may see additional identifiers, and an “inner circle” of friends may see even more identifiers (e.g., home phone numbers and the like). - Similarly, the third party's contact identifiers may already be associated with the user's account. For example, the
user 114 may have an address book of contacts stored as a part of his or her user account. Contact identifiers for thethird party 102 may be associated with an entry for thethird party 102 in the address book. For example, a client device for a third party may transmit an identifier, e.g., an e-mail address, telephone number, or IM account name, with thehandle 106. The identifier may be associated with a group access level or an individual access level for a subset of contact identifiers. - In these manners, one or more third parties may use a handle such as
handle 106 to contactuser 114 and/or to see information about theuser 114. In one example, thehandle 106 is provided so as to connect thethird party 102 to theuser 114 via one of a number of different contact identifiers and modes of communication. In another example, thehandle 106 is used to allow thethird party 102 to see information about theuser 114, such as various contact identifiers associated with theuser 114. As a result, thethird party 102 can take advantage of a number of different communication techniques vis-à-vis theuser 114 without having to memorize or otherwise manage a large number of different contact identifiers, each of which may change over time. Instead, thethird party 102 can, in proper implementations, simply record -
FIG. 2A is a schematic diagram 200 of a system for retrieving a user's various contact identifiers correlated to a handle. In general, thesystem 200 permits various third parties to access and retrieve contact identifiers for users that have user accounts, using a single handle to identify a particular user account. Thesystem 200 includes athird party 202 using aclient device 204 to transmit a request to acontact identifier server 206, the request including ahandle 208. Thecontact identifier server 206 may store thehandle 208 with a contact page 210 along with contact identifiers 212 for a user account. - The
contact identifier server 206 may store contact identifiers for at least one user account correlated to ahandle 208. A plurality of contact identifiers may be correlated with a single handle, and a plurality of different communication modes may be represented by those identifiers. In some implementations, thecontact identifier server 206 may automatically update data on aclient device 204 for a third party when a particular user account is updated. For example, thecontact identifier server 206 may receive data from the user for the account to update a phone number. Thecontact identifier server 206 may store the data and send an automatic update to any third party device associated with the previously stored phone number, such as users who are identified as friends of the main user in a social network. For example, where a main user has changed their work phone number, thecontact identifier server 206 may send information reflecting that changed number to accounts of acquaintances of the main user, e.g. by sending a new user .vcf card with the new work phone number for MICROSOFT OUTLOOK. - In some implementations, the update may be sent upon a request sent from the third party to the
contact identifier server 206. For example, if theclient device 204 transmits a request for a user's IM contact identifier, thecontact identifier server 206 may update theclient device 204 with a new IM contact identifier when thecontact identifier server 206 connects theclient device 204 to a user's device to communication through instant messaging. Likewise, the new IM contact identifier can be transmitted before the connection is made, while the connection is occurring, or after the instant messaging connection has ended. - Alternatively, the
handle 208 may be the only identifier saved on the third party'sclient device 204. Thehandle 208 may be stored in a list of handles on theclient device 204, where each handle corresponds to a particular acquaintance of the third party, and the third party makes communication connections simply using the various handles. For example, on a mobile phone, the third party may have an address book of handles for various user accounts, including the name of a particular user assigned as a pseudonym for each handle. In some instances, the third party may be able to designate a particular alias for a user, e.g., an IM screenname or an image. Thehandle 208 may be part of a Uniform Resource Identifier, e.g., a URL containing thehandle 208 5555551234, “http://www.exampledomain.com/5555551234.” - The third party's
client device 204 may be one of a variety of client devices, such as a mobile device, a smart phone, a laptop computer, a desktop computer, or a landline. Theclient device 204 may provide a mode identifier to thecontact identifier server 206 so that the contact identifiers transmitted to the client device are limited to contact identifiers with which theclient device 204 can make a connection. For example, theclient device 204 can be a laptop computer with a VoIP application, an e-mail application, a web browser application, and an IM application. Thecontact identifier server 206 may then transmit contact identifiers including telephone numbers, e-mail addresses, blogs, websites, and an IM account name compatible with the particular IM application. -
FIG. 2B is a sequence diagram 250 depicting examples of interactions between acaller 252, acontact identifier server 254, and afriend 256 of thecaller 252 to retrieve for thecaller 252 contact identifiers using ahandle 260 for thefriend 256. The sequence diagram shows thefriend 256 providing contact identifiers to thecontact identifier server 254, thecaller 252 accessing information from thecontact identifier server 254 using thehandle 260, and thecaller 252 contacting afriend 256 using thehandle 260. In some implementations, both thecaller 252 and thefriend 256 may have accounts with contact identifiers stored on thecontact identifier server 254. - In the figure, the
friend 256 initially submits information (indicated by Arrow A1) to thecontact identification server 254. Thefriend 256 provides his contact identifiers 258 (indicated by Arrow A2) correlated to ahandle 260. Thecaller 252 transmits a request (indicated by Arrow B) to thecontact identifier server 254 to access information for thefriend 256. Thecaller 252 is directly connected to the friend 256 (indicated by Arrow C) using a contact identifier provided by thecontact identifier server 254. - In some implementations, the
contact identifiers 258 may also be stored on a personal computing device. For example, a computing device used by thecaller 252 may store one or more of the contact identifiers that thecontact identifier server 254 may grant to thecaller 252. The computing device may use the stored contact identifiers to connect to a computing device associated with one or more of the contact identifiers correlated with the user'shandle 260. For example, thecaller 252 may have a cell phone that receives a cell phone number for hisfriend 256 from thecontact identification server 254. The cell phone may store the cell phone number for hisfriend 256. The cell phone can use the received cell phone number to connect to a cell phone of thefriend 256. Likewise, the computing device may compare a stored list of contact identifiers with thecontact identifiers 258 provided by thecontact identifier server 254 to update one or more contact identifiers that thefriend 256 may have updated since thecaller 252 last sent a request to thecontact identifier server 254. - Alternatively, the connection may be made from the
caller 252 to thefriend 256 through thecontact identifier server 254. This connection may be made during the grant of the request for access or after the request for access is granted. For example, thefriend 256 may have a preferred method of contact associated with his user account, e.g., an e-mail address. Thecaller 252 may request information using a smart phone, and thecontact identifier server 254 may provide the smart phone with the e-mail address. An e-mail application on the caller's computing device may receive the e-mail address and generate a new message using the e-mail address in the “To:” field. Similarly, if thecaller 252 wishes to call thefriend 256, thecaller 252 may designate “phone” as a method of contacting thefriend 256. Thecontact identifier server 254 can receive this request along with thehandle 260 and connect thecaller 252 with thefriend 256 via a telephone connection. - In some implementations, the
caller 250 can accesscontact identifiers 258 from thecontact identification server 254 through a query, using the friend's personal information to gain access to the account for the user. For example, thecaller 252 may not know thehandle 260. If thecaller 252 provides personal information for thefriend 256, e.g., a name, an e-mail address, or a telephone number, thecontact identifier server 254 may provide access to one or more other contact identifiers to thecaller 252. For example, thecaller 252 may already have the work e-mail address for hisfriend 256, but not have the work phone number for hisfriend 256. If thecaller 252 provides the work e-mail address to thecontact identifier server 254 in a request for the work phone number, the work e-mail address may act as a password or security identifier to thecontact identifier server 254. Thecontact identifier server 254 may associate the work e-mail address with the work phone number or a work address. The work e-mail address may also be associated with a cell phone number. In some implementations, thecontact identifier server 254 may be associated with a website similar to white pages, where the website provides a search tool to find a handle for a user account. For example, if thecaller 252 enters the friend's name, the website may provide thehandle 260. -
FIG. 3 is a schematic diagram of a system 350 for correlating a handle with contact identifiers, and for retrieving the contact identifiers correlated with the handle. In general, the system 350 permits users to create user accounts that are represented to the outside world by a handle and that internally correlate to a plurality of different contact identifiers representing a plurality of communication modes. The system 350 then lets other users search user accounts for information about people or organizations they are trying to contact, where the system may provide such searching users with the handle, and the users may then use the handle to contact another user in various manners and using various different communication modes. - A
user 352 may interact with the system 350 using acomputing device 354 to connect with aserver 356. Such communication may occur over one or more networks (not shown), which may include portions of the internet. Theserver 356 may be various devices, for example, a single computing device, multiple servers in a cluster, or multiple computing devices spread over the internet in a cloud. Theserver 356 may assist in providing contact identifiers to thecomputing device 354. Likewise, theserver 356 may correlate contact identifiers with a handle for a user account. Thecomputing device 354 may be provided with one or more communication applications such as a telephony application, IM application, and e-mail application, which may employ a handle to begin a communication session with a target user that corresponds to the handle. - The
server 356 contains a number of components that permit it to provide a user'scomputing device 354 with a connection to contact identifiers that have been correlated with a handle. For example, aninterface 358 may handle communications with remote devices such ascomputing device 354. Theinterface 358 may, for example, receive requests from thecomputing device 354 for contact identifiers correlated to a handle. Theuser 352 may send a handle, such as “612-555-1234,” to request contact identifiers (in the form of e-mail addresses, telephone numbers and the like) for a particular user account holder. The contact identifiers may relate to various modes of communication, e.g., telephone, e-mail, instant messaging, blogs, and websites that are associated with a user who corresponds to the handle. Theinterface 358 may receive this handle and provide contact identifiers in response. The requesting user may employ such identifiers to update contact information for the other user stored in thecomputing device 354 or in a contact database associated with a user account for theuser 352. - Once the
interface 358 receives data, it may transmit the data to another component such as anaccount manager 360, which is responsible for providing consistent and personalized interaction with registered users of system 350. Theaccount manager 360 may identify a handle for a particular user in the received data. The handle may be correlated to a uniform resource locator (URL). For example, the handle may be included in a URL for a website: “http://www.examplehandle.com/612-555-1234.” Theaccount manager 360 may also identify passwords for particular accounts. For example, theuser 352 may provide a password to set up or edit a user account. Likewise, users may provide passwords to gain access to various subsets of contact identifiers correlated to a particular handle. For example, the user account can be set so that users with a “family” password have access to a mobile phone number and home phone number, but not a work phone number. - The
server 356 may also include acorrelator 362 that correlates received handles with contact identifiers relating to the handles. In particular, thecorrelator 362 may be programmed to perform a look-up function on the handle, and to return a list of contact identifiers for the handle, where the list may be limited based on an authorization level of a user that is requesting the information. For example, only close friends that have full authorization may be shown a contact identifier for a home telephone number or very private e-mail account. Thecorrelator 362 may also cause the handle, the contact identifiers, and pointers connecting the handle to the contact identifiers to be stored for later use. Thecorrelator 362 may also correlate passwords with particular handles or particular contact identifiers. In some implementations, thecorrelator 362 may store the user account data in a single database. Alternatively, thecorrelator 362 may store the user account data in multiple databases. - A database storing information for the
server 356 may have various data stores that are used to correlate lists of contact identifiers for user accounts to the corresponding uniform resource locators for such accounts. In some implementations, the database may include apasswords data store 366, a contactinformation data store 368, and ahandles data store 370. Thepasswords data store 366 may contain passwords for the user account, including a password for editing the contact identifiers for a particular user account (e.g., where the “owner” of the account is accessing the information) and passwords for accessing various contact identifiers for a particular user account (e.g., where acquaintances of the “owner” are seeking information). The contactinformation data store 368 may contain contact identifiers for various users. In some implementations, the contactinformation data store 368 may also contain data regarding preferences for particular contact methods, groups for particular contact identifier subsets, and other user-preference data. Thehandles data store 370 may store handles for various user accounts. The handles may be integers, as in telephone numbers, alphanumeric strings, images, or other unique identifiers. Generally, thehandles data store 370 and the contactinformation data store 368 may be combined in the form of a look-up table that is indexed according to particular user handles. - The
server 356 may also include acommunication mode selector 364 to receive a mode indicator. The mode indicator may provide information as to the selection of communication method that has been selected for making contact betweenuser 352 and another user. For example, thecommunication mode selector 364 may receive a “mobile” mode indicator for theuser 352 indicating that theuser 352 wants to call the other user's cell phone. Such a mode indicator may accompany the handle, as may other mode indicators such as “e-mail” and “home phone”, so thatuser 352 merely needs to remember or store the single handle, and then add a general description of the communication mode—rather than having to remember or store a separate identifier for every way in which theuser 352 can contact the other users. - Also, certain aspects of the mode indicator can be controlled by the target user either explicitly or via contextual rules. For example, the
user 352 may use a telephone to dial another user, and the call may be routed toserver 356. The server may recognize the call, via DNIS information received from the telephone system or from other data, as being directed to the particular handle, and may access information about the user that is the target of the call. For example, the system may determine that, at the current time, the target user would prefer to receive e-mail messages. As a result, theserver 356 may use a voice synthesis module to speak a message touser 352, such as “The user you are calling would prefer to receive e-mail for the next 24 hours.Press 1 to leave a voice message that will be transcribed into an e-mail message or e-mail the user at bob@acme.com.” - The
communication mode selector 364 may also receive one or more contact identifiers from the database, e.g., the contactinformation data store 368. Where multiple contact identifiers are received for a particular mode, the appropriate mechanism for contacting the target user by that mode may need to be determined. For example, thecommunication mode selector 364 may receive a home phone number, a cell phone number, a URL for a website, and an e-mail address for a home e-mail account. Thecommunication mode selector 364 may initiate a communication session between theuser 352 and the other user according to one of the communication modes. For example, thecommunication mode selector 364 may use a telephone mode indicator and then look at the target user's schedule to select the cell phone number for the other user, and cause theuser 352 to be connected to the cell phone of the target user. The schedule may be set by rules provided by the target user, such as rules defining that the target user is to be contacted at his or her work number during work hours and at his or her cell phone after hours (and perhaps that all calls should automatically roll to a central voice mail or voice mail to e-mail transcription service during sleeping hours). Thus, thecommunication mode selector 364 can select a particular mode based on inputs from an initiating party, from a target party, or from rules set up by or selected by one of the parties, and can also select a particular contact identifier from multiple identifiers that may exist for a particular communications mode, by which to complete the communication. -
FIG. 4A is a flowchart showing an example of aprocess 400 for correlating a handle with contact identifiers. Such a process may be employed by a user of a central connecting service who wants to initially set up a count by selecting a handle and then supplying all of the user's various contact identifiers to be correlated to the handle. Theprocess 400 shows one example of generating a user account with contact identifiers across multiple modes of communication, correlated with a single user handle. The single user handle allows the user's contacts to communicate with the user in various communication modes without requiring the contacts to store information regarding the user's various contact identifiers separately or having to update the contact identifiers as the user changes individual contact identifiers. - At an initial step, the
process 400 obtains (402) identifiers for a plurality of contact identifiers for a computer account holder. For example, the identifiers may be unique identifiers for particular mechanisms of communication under various communication modes for a particular user. The communication modes, e.g., blogs, instant messaging, telephone, mail, and e-mail, can each have multiple unique identifiers for each of the mechanisms by which the user can be contacted. For example, in instant messaging, a user may have an MSN MESSENGER identifier, an AMERICA ONLINE Instant Messenger identifier, and a GOOGLE TALK identifier. - The
process 400 then identifies (404) a handle for the account holder. For example, the handle may be a string that the user selects when setting up his account, such as the user's full name or a particular phone number. The handle can also be selected by the process for the user, such as in the manner that telephone numbers are provided for selection by a user seeking a new telephone number. In some implementations, the handle may be correlated to a URL. For example, the URL may be a website address for a unifying presence site, e.g., “http://www.exampleonesite.com.” The correlated handle may navigate to a unique page designated for the account holder. For example, the URL correlated with the handle may be “http://www.exampleonesite.com/612-555-1234.” - The
process 400 then correlates (406) the handle with the plurality of contact identifiers. For example, the user's instant messenger accounts and e-mail addresses may be correlated with the handle “612-555-1234.” In some implementations, theprocess 400 may store the handle, the plurality of contact identifiers, and pointers connecting the handle to the plurality of contact identifiers in a database. For example, the system 350 described inFIG. 3B may store the handle, the plurality of contact identifiers, and the pointers in multiple data stores, e.g., thehandles data store 370 and the contactinformation data store 368. Also, the handles may be stored in an index field of a look-up table, with the contact identifiers stored in a target field of the same table so that a simply look-up on the handle field may return the corresponding contact identifiers. - In this manner, a user of a computing system may register their contact information, which may span multiple mechanisms for connecting and multiple modes of communication, with a central service. The service may then correlate such mechanisms with a single common handle by which the various forms of information may more easily be recovered or used by other users, such as by being used to connect to the first user in a communication session.
-
FIG. 4B is a flowchart showing an example of a process 420 for retrieving an account holder's contact identifiers correlated with a handle. Such retrieval may be performed by someone searching for the user/account holder discussed inFIG. 4A or by an acquaintance of such an account holder. The acquaintance may have received the handle from the account holder, and may want to find out the latest contact information for the account holder. The process 420 shows one example of receiving a handle from a user and using the handle to identify contact identifiers for a particular account holder, though other examples may also be used. The handle allows the user to communicate with the account holder in various communication modes while only requiring the user to provide the single handle. - At an initial step, the process 420 receives (422) a handle for an account holder submitted by a user of a computing device. For example, the computing device may submit the handle “ChakaKhan”—a name that is unique enough that it alone could serve as a unique identifying handle. The handle can provide a unique identifier for the process 420 to identify a particular account of an account holder. Likewise, the process 420 may request a password before providing information about other contact identifiers, such as a home telephone number or work e-mail address.
- The process 420 then provides (424) a list of contact identifiers from a plurality of different communication modes to the user of the computing device. For example, the list of contact identifiers may include a home mailing or e-mail address, a work address, a work website, a Twitter account identifier, and a cell phone number. In some implementations, different subsets of the list of contact identifiers may be provided. For example, the process 420 may only provide the work address and cell phone number to a person given “Work” group access, while a person designated as belonging to a “Friend” group may be provided the home address and the Twitter account. Groups may be designated through various mechanisms. For example, the process 420 may determine the level of access through password requests or the process 420 identifying the client device used to request contact identifiers.
- At
box 426, the process connects the user to the account holder by one of a plurality of communication modes. For example, a work e-mail address may be propagated to a word processing document, with the address field preset to the account holder's work e-mail address. In some implementations, the connection may be made in response to a selection by the user of the computing device of a contact identifier corresponding to the one of the plurality of communication modes. For example, the user may choose “Feed” to read the most recent Twitter post by the account holder. - In some implementations, the handle may be correlated to a URL. As in an example for
FIG. 4A , the URL may be a website address for a unifying presence site, e.g., “http://www.exampleonesite.com.” The process 420 may receive a request with the URL “http://www.exampleonesite.com/612-555-1234”, retrieve the account for “612-555-1234”, and map the request to a contact identifier included in the account. -
FIG. 5A is a sequence diagram for depicting an example ofinteractions 500 between anaccount holder 502 in a communication system and aserver 504. The process shown here is similar to that shown inFIG. 4A , and provides a more explicit indication of exemplary manners in which an account holder and a server system can interact in correlating identifiers with a single user handle. In general, the interactions involve a server generating a user account, assigning a handle to the user account, and correlating a number of contact identifiers with the account. - In the figure, the
account holder 502 initially transmits identifiers (box 506), such as e-mail addresses, telephone numbers, and instant message accounts, to theserver 504. Such a transmission may occur after theaccount holder 502 initially establishes his or her account. Theserver 504 then receives the identifiers (box 508) and determines a handle (box 510) for theaccount holder 502. In some implementations, theaccount holder 502 provides input to theserver 502 regarding a choice of handles. For example, theaccount holder 502 may provide an initial suggestion of a handle along with the first identifiers that the account holder transmitted to theserver 504. Alternatively, theserver 504 can also provide a handle without input from theaccount holder 502. - The
server 504 then correlates the handle with the identifiers (box 512). Such correlation may occur by storing the handle and the identifiers together in a look up table so that entry of the handle to the table causes the identifiers to be provided. Atbox 514, theserver 504 stores the handle and the identifiers in a database such as in a look up table. In certain implementations, pointers from a handle to the identifiers may also be stored. As shown inFIG. 3 , the identifiers and the handle need not be stored in the same location, though they may. In some implementations, the pointers may be stored with the handle, or, alternatively, the pointers may be stored with the identifiers. The pointers may also be stored in a third location, separately from both the identifiers and the handle. - Once the
server 504 has stored the account information, theserver 504 transmits a confirmation (box 516) that the handle and identifiers (and optionally the pointers) have been recorded and correlated to each other. The confirmation may be a complete listing of all the information, a confirmation containing the handle and identifiers, or simply the handle. Theaccount holder 502 then receives the confirmation atbox 518. The confirmation can be received in various formats, including an HTML-embedded e-mail, an instant message, a web page, a text message on a cell phone, or a generated voice message. -
FIG. 5B is a sequence diagram that depicts an example ofinteractions 530 between auser 532, anaccount holder 534, andservers 536. By the process, a third party use may submit a handle to a central system where the handle corresponds to an account holder in the system. The system then identifies a communication mode and mechanism by which the account holder should be contact, and automatically carries out the necessary steps to cause such communication to occur. As such, the process shown here is similar to that shown inFIG. 4A , and provides a more explicit showing of exemplary manners in which a third party can contact the account holder without having to remember or provide detailed contact information. In particular, theservers 536 may be part of a unifying identifier system and may communicate with various client devices, such as cell phones, laptop computers, landlines, and smart phones to provide an ease of communication between theuser 532 and theaccount holder 534 and also to more accurately provide the user's and account holder's preferred methods of communication. In this manner, the connection may be easier for theuser 532 because theuser 532 need only remember a single handle and perhaps some generic control information (e.g., a common term that identifies the mode of communication), and in certain implementations, the particular contact identifier may be kept anonymous from theuser 532. For example, where the contact is made through theservers 536, an actual e-mail address or telephone number may be masked using a system address or number via a bridging mechanism similar to that for e-mail communications using on-line services such as CRAIGSLIST. - In the example process, the
user 532 initially submits to a group of servers (536) a handle for an account holder (box 538). Theservers 536 receive the handle (box 540), such as a telephone number appended to a URL. Theservers 536 then determine contact identifiers (box 542) correlated to the handle. The contact identifiers may be selected from a larger group of contact identifiers for theaccount holder 534, and may include one or more identifiers within each of a plurality of communication modes. For example, theuser 532 may be an unknown individual to theaccount holder 534. Therefore, theaccount holder 534 may store a setting that theuser 532 will not receive a home telephone number that is stored as one of the identifiers. - At
box 544, theservers 536 then transmit a list of contact identifiers to theuser 532 and theuser 532 receives the list of contact identifiers (box 546). Theuser 536 may receive the list through an application programming interface (API) so that the contact identifiers can be updated in a client device that theuser 532 is using to connect to theservers 536. In this manner, theuser 532 may more readily contact theaccount holder 534 through a variety of methods of communication. For example, theuser 532 may wish to call theaccount holder 534 to discuss an e-mail that theuser 532 plans to send to theaccount holder 534 during the telephone conversation. - The
user 532 then selects one of the contact identifiers (box 548). In some implementations, this determination is made through the user's client device that connects to theservers 536. In other implementations, the determination is made because theuser 532 is only granted access to one contact identifier, or theaccount holder 534 has only provided one contact identifier. Alternatively, theuser 532 may select from the list of contact identifiers provided. Theservers 536 receive the selection (box 550) of contact identifiers. Theservers 536 then attempts to connect theuser 532 to theaccount holder 534 by contacting the user 532 (box 552) and contacting the account holder 536 (box 554). The contact may be a VoIP connection or an instant messaging chat session. Theuser 532 receives the contact (556) and theaccount holder 558 receives the contact (558). If both theuser 532 and theaccount holder 534 accept the contact, theuser 532 and theaccount holder 534 are connected (560). The connection may be a direct connection, such as through landlines, a routed connection through theservers 536, or a connection through a third party service, such as an instant messaging connection. - In certain implementations, the users may be connected directly, such as by the
user 532 submitting a handle and receiving a telephone number in return. The telephone number then may be dialed automatically by the user's client device, such as via an automatically executing dialing link in a mark up document sent by theserver 536. - The connection may also be made automatically through the
servers 536. For example, theservers 536 may include servers for completing a VOIP telephone connection, and may carry out the necessary steps to connect theuser 532 and theaccount holder 534. Such an implementation is particularly well-suit for keeping contact identifiers of theaccount holder 534 private, and not sending any information about the identifiers (or at least some of the identifiers) to theuser 532. Such an approach may be useful when an account holder is working from home and would like to be reached at home, but does not want people calling his or her work number to get access to his or her home number. -
FIG. 6A is an exemplary universal business card 600. The universal business card 600 may be in an electronic or hard copy format. The universal business card 600 shows one example of how an account holder like the account holder discussed above may share contact information with other users. While a traditional business card may include several telephone numbers and other contact information for a number of modes of communication (e.g., mail, e-mail, telephone, etc.), the universal business card 600 includes a single handle that can be resolved by a central system automatically into one of the modes of communication and a particular mechanism (e.g., telephone number) for that mode. - The universal business card 600, as shown, includes the name 602 of the account holder, shown as “Jodi Cisewski,” the employer 604 of the account holder, “Engineering, Inc.,” and a link 606 to the user's contact identifiers using a handle 608. As shown, the handle includes a telephone number and is appended to a URL. The URL may also, in appropriate circumstances, be considered to be part of the handle 608. The URL may be a common URL that is easy for user to memorize (e.g., because many of their acquaintances have handles associated with the URL), and the handle may also be an alphanumeric string that is relatively easy for other users to memorize or store. The information underlying the universal business card 600 may be updated under the account holder's control to ensure that people may receive current contact information for the account holder, even as the data shown on the card stays the same. The universal business card 600 also provides a small amount of data for a third-party to receive. In this manner, a third party can see what the cardholder does, and can also be given access to more information about the cardholder without having the card 600 cluttered by detailed information.
-
FIG. 6B is a screenshot of aweb page 610 for retrieving a user's contact identifiers correlated with a handle. Theweb page 610 contains thename 612 of the account holder, a handle 614, and alink 616 to contact the account holder. In some implementations, theweb page 610 is the site connected to the link from the universal business card ofFIG. 6A . A person looking atpage 610 may select thelink 616 to be connected automatically to the user, where a central system may automatically select the contact mechanism and mode of communication by which the contact is to occur. For example, if Jodi currently wants to communicate by e-mail, selection of thelink 616 may cause a blank e-mail message with a relevant e-mail address for Jodi filled out, to be generated on the same client device that was previously displaying thepage 610. -
FIG. 6C is a screenshot of aweb page 630 for correlating a handle with contact identifiers. Theweb page 630 provides entry forms for a user to provide contact identifiers for a system to store and correlate the contact identifiers provided with a handle. InFIG. 6C , the fields include ahandle field 632, apassword field 634, and aname field 636. Other fields includephone 640,e-mail 642,IM 644,website 646,blog 648,networking site 650, andVoIP 652. The fields shown below thename field 636 each have a “+” button so that a user can add more than one of the types of fields display on theweb page 630. For example, there may be multiple instant messaging accounts for multiple instant messaging applications or multiple instant messaging accounts for one instant messaging application. If the “+” symbol is pressed, theweb page 630 can add another field of the same mode indicator. For example, theaddress field 638 inFIG. 6C is shown as displaying “home”. If the “+” symbol for the address field is selected, the second address field may be marked “work” or “home2”. - In some implementations, the
web page 630 provides fields for other forms of contact, such as a call sign for an amateur radio broadcaster. In some implementations, theweb page 630 may display one or more fields 632-652 that include predetermined information if the system is also connected to a communication mode. For example, if the user has an e-mail account that is accessible through a link displayed on theweb page 630, theweb page 630 may already display the user's e-mail address, her home page, her user identifier and password for an instant messaging program, her time zone, and any other information she wishes to make public to at least some of the individuals who may access her information through the account. In some implementations, theweb page 630 may have a separate page for different groups with different security levels or check boxes or pull-down menus for each field to designate the access level for each group. - In
FIG. 6C , theweb page 630 also includes acolumn including advertisements 654. In some implementations, theadvertisements 654 may include data based on the information that the user has input to the web page. For example, if the user provides a phone number with an area code “612”, theadvertisements 654 may include data specific to Minneapolis, Minn. Similarly, the advertisements may include data that is associated with a website or blog, as entered in thewebsite 646 and blog 648 fields. -
FIG. 6D is a screenshot of aweb page 670 displaying a user's contact identifiers correlated with a handle. Theweb page 670 has acontact name 672, atelephone number 674, a home e-mail address 676, a blog link 678, and acontact link 680 to allow a visitor to request further contact identifiers. Theweb page 670 may be a web page for a specific group, such as a friends group or a family group, or theweb page 670 may be intended for a general group. In some implementations, theweb page 670 may also include a login area so that viewers can provide a password to access more information. - In some implementations, the
web page 670 may also display contact information for an account associated with a group rather than an individual. For example, the user may be a non-profit organization with a changing executive board and contact information. In such an instance, the single point of contact may provide continuity because members or interested parties may not need to update contact points. For example, if an executive board elects a president every year, the new president may update thecontact name 672,telephone number 674, and home e-mail address 676 upon his election. The blog link 678 may not need to be changed, however. Likewise, if the third parties have the capability to update the information on an automatic basis, no time would be wasted looking up the new contact information. It would be provided to the third parties upon request. - The
web page 670 includes a column foradvertisements 682. The advertisements may be specified based on the user account information. The advertisements may also be sponsored. For example, the user may be provided with a financial benefit for each visitor to theweb page 670. Similarly, the user may be provided with a financial benefit each time a visitor clicks a link to one of theadvertisements 682 on theweb page 670. -
FIG. 7 is a block diagram of computing devices 700, 750 that may be used to implement the systems and methods described in this document, as either a client or as a server or plurality of servers. Computing device 700 is intended to represent various forms of digital computers, such as laptops, desktops, workstations, personal digital assistants, servers, blade servers, mainframes, and other appropriate computers. Computing device 750 is intended to represent various forms of mobile devices, such as personal digital assistants, cellular telephones, smartphones, and other similar computing devices. Additionally computing device 700 or 750 can include Universal Serial Bus (USB) flash drives. The USB flash drives may store operating systems and other applications. The USB flash drives can include input/output components, such as a wireless transmitter or USB connector that may be inserted into a USB port of another computing device. The components shown here, their connections and relationships, and their functions, are meant to be exemplary only, and are not meant to limit implementations of the inventions described and/or claimed in this document. - Computing device 700 includes a
processor 702,memory 704, astorage device 706, a high-speed interface 708 connecting tomemory 704 and high-speed expansion ports 710, and alow speed interface 712 connecting tolow speed bus 714 andstorage device 706. Each of thecomponents processor 702 can process instructions for execution within the computing device 700, including instructions stored in thememory 704 or on thestorage device 706 to display graphical information for a GUI on an external input/output device, such asdisplay 716 coupled to high speed interface 708. In other implementations, multiple processors and/or multiple buses may be used, as appropriate, along with multiple memories and types of memory. Also, multiple computing devices 700 may be connected, with each device providing portions of the necessary operations (e.g., as a server bank, a group of blade servers, or a multi-processor system). - The
memory 704 stores information within the computing device 700. In one implementation, thememory 704 is a volatile memory unit or units. In another implementation, thememory 704 is a non-volatile memory unit or units. Thememory 704 may also be another form of computer-readable medium, such as a magnetic or optical disk. - The
storage device 706 is capable of providing mass storage for the computing device 700. In one implementation, thestorage device 706 may be or contain a computer-readable medium, such as a floppy disk device, a hard disk device, an optical disk device, or a tape device, a flash memory or other similar solid state memory device, or an array of devices, including devices in a storage area network or other configurations. A computer program product can be tangibly embodied in an information carrier. The computer program product may also contain instructions that, when executed, perform one or more methods, such as those described above. The information carrier is a computer- or machine-readable medium, such as thememory 704, thestorage device 706, or memory onprocessor 702. - The high speed controller 708 manages bandwidth-intensive operations for the computing device 700, while the
low speed controller 712 manages lower bandwidth-intensive operations. Such allocation of functions is exemplary only. In one implementation, the high-speed controller 708 is coupled tomemory 704, display 716 (e.g., through a graphics processor or accelerator), and to high-speed expansion ports 710, which may accept various expansion cards (not shown). In the implementation, low-speed controller 712 is coupled tostorage device 706 and low-speed expansion port 714. The low-speed expansion port, which may include various communication ports (e.g., USB, Bluetooth, Ethernet, wireless Ethernet) may be coupled to one or more input/output devices, such as a keyboard, a pointing device, a scanner, or a networking device such as a switch or router, e.g., through a network adapter. - The computing device 700 may be implemented in a number of different forms, as shown in the figure. For example, it may be implemented as a standard server 720, or multiple times in a group of such servers. It may also be implemented as part of a rack server system 724. In addition, it may be implemented in a personal computer such as a
laptop computer 722. Alternatively, components from computing device 700 may be combined with other components in a mobile device (not shown), such as device 750. Each of such devices may contain one or more of computing device 700, 750, and an entire system may be made up of multiple computing devices 700, 750 communicating with each other. - Computing device 750 includes a processor 752,
memory 764, an input/output device such as adisplay 754, acommunication interface 766, and atransceiver 768, among other components. The device 750 may also be provided with a storage device, such as a microdrive or other device, to provide additional storage. Each of thecomponents - The processor 752 can execute instructions within the computing device 750, including instructions stored in the
memory 764. The processor may be implemented as a chipset of chips that include separate and multiple analog and digital processors. Additionally, the processor may be implemented using any of a number of architectures. For example, the processor 410 may be a CISC (Complex Instruction Set Computers) processor, a RISC (Reduced Instruction Set Computer) processor, or a MISC (Minimal Instruction Set Computer) processor. The processor may provide, for example, for coordination of the other components of the device 750, such as control of user interfaces, applications run by device 750, and wireless communication by device 750. - Processor 752 may communicate with a user through
control interface 758 and display interface 756 coupled to adisplay 754. Thedisplay 754 may be, for example, a TFT (Thin-Film-Transistor Liquid Crystal Display) display or an OLED (Organic Light Emitting Diode) display, or other appropriate display technology. The display interface 756 may comprise appropriate circuitry for driving thedisplay 754 to present graphical and other information to a user. Thecontrol interface 758 may receive commands from a user and convert them for submission to the processor 752. In addition, anexternal interface 762 may be provide in communication with processor 752, so as to enable near area communication of device 750 with other devices.External interface 762 may provide, for example, for wired communication in some implementations, or for wireless communication in other implementations, and multiple interfaces may also be used. - The
memory 764 stores information within the computing device 750. Thememory 764 can be implemented as one or more of a computer-readable medium or media, a volatile memory unit or units, or a non-volatile memory unit or units.Expansion memory 774 may also be provided and connected to device 750 throughexpansion interface 772, which may include, for example, a SIMM (Single In Line Memory Module) card interface.Such expansion memory 774 may provide extra storage space for device 750, or may also store applications or other information for device 750. Specifically,expansion memory 774 may include instructions to carry out or supplement the processes described above, and may include secure information also. Thus, for example,expansion memory 774 may be provide as a security module for device 750, and may be programmed with instructions that permit secure use of device 750. In addition, secure applications may be provided via the SIMM cards, along with additional information, such as placing identifying information on the SIMM card in a non-hackable manner. - The memory may include, for example, flash memory and/or NVRAM memory, as discussed below. In one implementation, a computer program product is tangibly embodied in an information carrier. The computer program product contains instructions that, when executed, perform one or more methods, such as those described above. The information carrier is a computer- or machine-readable medium, such as the
memory 764,expansion memory 774, or memory on processor 752 that may be received, for example, overtransceiver 768 orexternal interface 762. - Device 750 may communicate wirelessly through
communication interface 766, which may include digital signal processing circuitry where necessary.Communication interface 766 may provide for communications under various modes or protocols, such as GSM voice calls, SMS, EMS, or MMS messaging, CDMA, TDMA, PDC, WCDMA, CDMA2000, or GPRS, among others. Such communication may occur, for example, through radio-frequency transceiver 768. In addition, short-range communication may occur, such as using a Bluetooth, WiFi, or other such transceiver (not shown). In addition, GPS (Global Positioning System)receiver module 770 may provide additional navigation- and location-related wireless data to device 750, which may be used as appropriate by applications running on device 750. - Device 750 may also communicate audibly using
audio codec 760, which may receive spoken information from a user and convert it to usable digital information.Audio codec 760 may likewise generate audible sound for a user, such as through a speaker, e.g., in a handset of device 750. Such sound may include sound from voice telephone calls, may include recorded sound (e.g., voice messages, music files, etc.) and may also include sound generated by applications operating on device 750. - The computing device 750 may be implemented in a number of different forms, as shown in the figure. For example, it may be implemented as a
cellular telephone 780. It may also be implemented as part of a smartphone 782, personal digital assistant, or other similar mobile device. - Various implementations of the systems and techniques described here can be realized in digital electronic circuitry, integrated circuitry, specially designed ASICs (application specific integrated circuits), computer hardware, firmware, software, and/or combinations thereof. These various implementations can include implementation in one or more computer programs that are executable and/or interpretable on a programmable system including at least one programmable processor, which may be special or general purpose, coupled to receive data and instructions from, and to transmit data and instructions to, a storage system, at least one input device, and at least one output device.
- These computer programs (also known as programs, software, software applications or code) include machine instructions for a programmable processor, and can be implemented in a high-level procedural and/or object-oriented programming language, and/or in assembly/machine language. As used herein, the terms “machine-readable medium” “computer-readable medium” refers to any computer program product, apparatus and/or device (e.g., magnetic discs, optical disks, memory, Programmable Logic Devices (PLDs)) used to provide machine instructions and/or data to a programmable processor, including a machine-readable medium that receives machine instructions as a machine-readable signal. The term “machine-readable signal” refers to any signal used to provide machine instructions and/or data to a programmable processor.
- To provide for interaction with a user, the systems and techniques described here can be implemented on a computer having a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user and a keyboard and a pointing device (e.g., a mouse or a trackball) by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form, including acoustic, speech, or tactile input.
- The systems and techniques described here can be implemented in a computing system that includes a back end component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front end component (e.g., a client computer having a graphical user interface or a Web browser through which a user can interact with an implementation of the systems and techniques described here), or any combination of such back end, middleware, or front end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network (“LAN”), a wide area network (“WAN”), peer-to-peer networks (having ad-hoc or static members), grid computing infrastructures, and the Internet.
- The computing system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.
- A number of embodiments of the invention have been described. Nevertheless, it will be understood that various modifications may be made without departing from the spirit and scope of the invention. For example, various forms of the flows shown above may be used, with steps re-ordered, added, or removed. Also, although several applications of correlating and retrieving a handle with contact identifiers and methods have been described, it should be recognized that numerous other applications are contemplated. Accordingly, other embodiments are within the scope of the following claims.
Claims (22)
1. A computer-implemented communication management method, comprising;
receiving, at a computer system and submitted by a computing device, a handle for an account holder;
associating the received handle with an account that is identified for the account holder based on the handle, wherein the account includes multiple different contact identifiers that are for communicating with the account holder and that correspond to a plurality of different communications modes, wherein each of the different communication modes defines a form of communication that is distinct from the other communication modes;
causing to be electronically connected, using a preferred contact identifier corresponding to one of the plurality of different communication modes, the computing device for communication with a device associated with the account, the causing performed in response to a determination of the current preferred contact identifier from among the multiple different contact identifiers as indicated by the account holder or a third party who is using the computing device.
2. The method of claim 1 , wherein the determination of the current preferred contact identifier comprises analyzing information that identifies a preferred communication mode and that is received with the handle.
3. The method of claim 2 , wherein the computing device has communication capabilities corresponding to one of the plurality of communication modes, and the computing device automatically provides information about the communication capabilities to the computer system along with the handle.
4. The method of claim 1 , wherein the determination of the current preferred contact identifier comprises analyzing a rule for making communication contact with the account holder that is based on a preference provided to the computer system by the account holder.
5. The method of claim 4 , wherein the preference specifies a particular contact identifier for one of the modes of communication, and the computer system electronically connects the computing device with the account holder by mapping the handle to the particular contact identifier.
6. The method of claim 5 , wherein the modes of communication include telephone connections and electronic mail connections, and the contact identifiers include one or more different telephone numbers and one or more different electronic mail addresses.
7. The method of claim 1 , wherein causing to be electronically connected the computing device for communication with the device associated with the account is performed without providing the current preferred contact identifier to the computing device, so that the current preferred contact identifier stays undisclosed to a user of the computing device.
8. A computer-implemented communication management method, comprising:
obtaining, at a computer system, a plurality of different contact identifiers for a computer account holder, wherein the contact identifiers represent mechanisms for contacting the computer account holder by a plurality of different communication modes that each define a form of communication that is distinct from the other communication modes;
identifying a handle for the account holder, wherein the handle is associated with a uniform resource locator; and
correlating the handle with the plurality of contact identifiers, and storing information for carrying out a rule for selecting a current preferred contact identifier indicated by the account holder in response to receipt of the handle from a third party user of a communication device that is remote from the computer system.
9. The method of claim 8 , further comprising receiving the handle from the third party, selecting a contact identifier that is from the plurality and is associated with the handle, and connecting the third party for communication with the account holder according to the selected contact identifier, using a communication mode corresponding to the selected contact identifier.
10. The method of claim 9 , further comprising identifying a mode indicator in information received with the handle from the third party, and selecting the contact identifier after selecting the communication mode corresponding to the mode indicator.
11. The method of claim 10 , wherein the mode indicator comprises a prefix or suffix for the handle in a string that includes the handle and is submitted by a device of the third party.
12. The method of claim 9 , wherein selecting the contact identifier comprises analyzing one or more contact rules established by the account holder, and selecting the contact identifier that best matches the contact rules.
13. The method of claim 9 , further comprising connecting the third party for communication with the account holder without providing the selected contact identifier to the third party so as to maintain the contact identifier secret from the third party.
14. The method of claim 9 , further comprising identifying a relationship status of the third party relative to the account holder, and controlling which of the plurality of contact identifiers is used to make the connection based on the relationship status.
15. The method of claim 8 , wherein the handle comprises an alphabetic name for the computer account holder.
16. The method of claim 15 , wherein the handle comprises a uniform resource locator that includes a name.
17. The method of claim 8 , wherein the handle comprises a telephone number.
18. The method of claim 17 , wherein the handle comprises a uniform resource locator that includes a telephone number.
19. The method of claim 8 , wherein the plurality of different communication modes comprise two or more different modes comprising a telephone connection, an electronic mail communication, a text message, and a personal web page.
20. The method of claim 8 , further comprising transmitting, in response to a third party submission of the handle, information for presentation to the third party that permits the third party to select a communication mode, from among the plurality of different communication modes, to communicate with the account holder.
21. A computer-implemented communication system for identifying contact identifiers for an account holder:
an interface to obtain a first and second contact identifier for a computer account holder, wherein the first contact identifier is used to establish a verbal communication with the account holder and the second contact identifier is used to establish a textual communication with the account holder;
an account manager to identify a handle for the account holder, wherein the handle is associated with a uniform resource locator; and
a correlator to correlate the handle with the first and second contact identifiers, and to select one of the first and second contact identifiers, based on a preference of the account holder, for creating a communication session between a device of the account holder and a device that submits the handle.
22. A computer-implemented communication system for assisting in forming communication sessions, comprising;
an interface to receive a handle from a user of a computing device, wherein the handle is associated with a uniform resource locator;
a central database associating a group of contact identifiers for an account holder to the uniform resource locator, wherein the contact identifiers differ from each other and include contact identifiers for a plurality of different modes of communication, including a telephone mode and an electronic mail mode; and
a communication mode selector to receive a mode indicator and one or more contact identifiers from the database and to select a current preferred contact identifier for the account holder for connecting a third party for communication with the account holder in response to a submission of the handle by the third party.
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/415,488 US20100250592A1 (en) | 2009-03-31 | 2009-03-31 | Unifying Web And Phone Presence |
EP10728006A EP2415232A2 (en) | 2009-03-31 | 2010-03-25 | Unifying web and phone presence |
PCT/US2010/028717 WO2010117663A2 (en) | 2009-03-31 | 2010-03-25 | Unifying web and phone presence |
US14/791,839 US9781072B2 (en) | 2009-03-31 | 2015-07-06 | Unifying web and phone presence |
US15/685,082 US10764236B2 (en) | 2009-03-31 | 2017-08-24 | Unifying web and phone presence |
US16/940,811 US11283760B2 (en) | 2009-03-31 | 2020-07-28 | Unifying web and phone presence |
US17/650,785 US12015589B2 (en) | 2009-03-31 | 2022-02-11 | Unifying web and phone presence |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/415,488 US20100250592A1 (en) | 2009-03-31 | 2009-03-31 | Unifying Web And Phone Presence |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/791,839 Continuation US9781072B2 (en) | 2009-03-31 | 2015-07-06 | Unifying web and phone presence |
Publications (1)
Publication Number | Publication Date |
---|---|
US20100250592A1 true US20100250592A1 (en) | 2010-09-30 |
Family
ID=42785535
Family Applications (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/415,488 Abandoned US20100250592A1 (en) | 2009-03-31 | 2009-03-31 | Unifying Web And Phone Presence |
US14/791,839 Active 2029-06-27 US9781072B2 (en) | 2009-03-31 | 2015-07-06 | Unifying web and phone presence |
US15/685,082 Active 2030-07-17 US10764236B2 (en) | 2009-03-31 | 2017-08-24 | Unifying web and phone presence |
US16/940,811 Active 2029-05-15 US11283760B2 (en) | 2009-03-31 | 2020-07-28 | Unifying web and phone presence |
US17/650,785 Active US12015589B2 (en) | 2009-03-31 | 2022-02-11 | Unifying web and phone presence |
Family Applications After (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/791,839 Active 2029-06-27 US9781072B2 (en) | 2009-03-31 | 2015-07-06 | Unifying web and phone presence |
US15/685,082 Active 2030-07-17 US10764236B2 (en) | 2009-03-31 | 2017-08-24 | Unifying web and phone presence |
US16/940,811 Active 2029-05-15 US11283760B2 (en) | 2009-03-31 | 2020-07-28 | Unifying web and phone presence |
US17/650,785 Active US12015589B2 (en) | 2009-03-31 | 2022-02-11 | Unifying web and phone presence |
Country Status (3)
Country | Link |
---|---|
US (5) | US20100250592A1 (en) |
EP (1) | EP2415232A2 (en) |
WO (1) | WO2010117663A2 (en) |
Cited By (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110282946A1 (en) * | 2010-05-14 | 2011-11-17 | International Business Machines Corporation | Personal unique url access processing system |
US20120066339A1 (en) * | 2010-09-14 | 2012-03-15 | Alison Andrews | Never Out of Reach: A System and Method for Access and Management of Information Across a World Wide Network |
FR2965996A1 (en) * | 2010-10-07 | 2012-04-13 | Digital Airways | Method for creating electronic business card used in address book application of e.g. personal digital assistant, involves adapting software module to provide contact contacting unit to application by using coordinates and/or instructions |
US20120253990A1 (en) * | 2011-04-01 | 2012-10-04 | Skala Thomas E | Interactive communication system |
US20130259028A1 (en) * | 2012-04-02 | 2013-10-03 | Thomas E. Skala | Telephony integrated communication system and method |
US8666052B2 (en) | 2011-09-15 | 2014-03-04 | Microsoft Corporation | Universal phone number for contacting group members |
US20140074470A1 (en) * | 2012-09-11 | 2014-03-13 | Google Inc. | Phonetic pronunciation |
EP2733902A1 (en) * | 2012-11-19 | 2014-05-21 | Alcatel Lucent | Method and apparatus for setting up a telecommunication session between a first terminal and a second terminal |
US20140173748A1 (en) * | 2012-12-18 | 2014-06-19 | Arash ESMAILZDEH | Social networking with depth and security factors |
US20140172549A1 (en) * | 2012-12-18 | 2014-06-19 | Arash Esmailzadeh | E-commerce networking with depth and security factors |
US20150172241A1 (en) * | 2013-12-18 | 2015-06-18 | Verizon Patent And Licensing Inc. | Anonymous calling and/or texting via content provider web sites and applications |
US20160342676A1 (en) * | 2012-08-29 | 2016-11-24 | Sk Planet Co., Ltd. | Apparatus and method for managing phone number-based sns account |
US10018470B2 (en) | 2013-12-20 | 2018-07-10 | Apple Inc. | Location-based operating modes |
CN108924270A (en) * | 2018-06-19 | 2018-11-30 | 湖南人文科技学院 | Update method, server and the storage medium of terminal contact people's information |
EP3334138A4 (en) * | 2015-08-07 | 2019-01-09 | LG Electronics Inc. | Intelligent agent system including terminal device and control method therefor |
US10652195B2 (en) | 2015-09-16 | 2020-05-12 | CrowdReach, LLC | Systems, computing devices, and methods for facilitating communication to multiple contacts via multiple, different communication modalities |
US20200252479A1 (en) * | 2016-03-01 | 2020-08-06 | Nandbox Inc. | Managing Multiple Profiles for a Single Account in an Asynchronous Messaging System |
US10764236B2 (en) | 2009-03-31 | 2020-09-01 | Google Llc | Unifying web and phone presence |
EP3917090A1 (en) * | 2020-05-28 | 2021-12-01 | MessageBird BidCo B.V. | Omnichannel communication widget |
CN113986987A (en) * | 2021-10-09 | 2022-01-28 | 上海掌门科技有限公司 | Method and equipment for identifying abnormal user |
US11451498B2 (en) | 2020-05-28 | 2022-09-20 | Messagebird Bidco B.V. | Omnichannel communication widget |
US20220345426A1 (en) * | 2021-04-23 | 2022-10-27 | Slack Technologies, Inc. | Integrating external contacts in a communication platform |
WO2024100079A1 (en) * | 2022-11-11 | 2024-05-16 | Privacy Links B.V. | Method and system for managing communications |
US11997148B1 (en) * | 2014-03-25 | 2024-05-28 | 8X8, Inc. | User configurable data storage |
NL1044464B1 (en) * | 2022-07-04 | 2024-05-28 | Privacylinks B V | Method and system for managing communications |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8812035B2 (en) * | 2012-03-23 | 2014-08-19 | Giimme, Inc. | Apparatii and methods for providing texting services to voice grade telephone numbers |
CN108600402B (en) * | 2017-12-29 | 2021-12-14 | 龙尚科技(上海)有限公司 | Internet access method and device, intelligent terminal and storage medium |
GB2587425A (en) * | 2019-09-30 | 2021-03-31 | Egress Software Tech Ip Limited | Method, processor, and system for processing data packages |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020132635A1 (en) * | 2001-03-16 | 2002-09-19 | Girard Joann K. | Method of automatically selecting a communication mode in a mobile station having at least two communication modes |
US20020174363A1 (en) * | 2001-05-17 | 2002-11-21 | International Business Machines Corporation | Method and apparatus for providing an anonymous identity for a user |
US20060018441A1 (en) * | 2001-05-25 | 2006-01-26 | Timmins Timothy A | Technique for assisting a user with information services at an information/call center |
US20060041648A1 (en) * | 2001-03-15 | 2006-02-23 | Microsoft Corporation | System and method for identifying and establishing preferred modalities or channels for communications based on participants' preferences and contexts |
US7013326B1 (en) * | 1999-10-08 | 2006-03-14 | Fujitsu Limited | Chat system, dummy client system for chat system, and computer readable medium storing dummy client program |
US20060281490A1 (en) * | 2005-05-20 | 2006-12-14 | Kyocera Wireless Corp. | Systems and methods for using aliases to manage contact information in a mobile communication device |
US20070072642A1 (en) * | 2005-09-27 | 2007-03-29 | Tita Kangas | Mobile communication terminal and method |
US7231229B1 (en) * | 2003-03-16 | 2007-06-12 | Palm, Inc. | Communication device interface |
US20080077691A1 (en) * | 2006-04-12 | 2008-03-27 | Electronics And Telecommunications Research Institute | Method and apparatus for selecting telecommunication service mode |
US20080162037A1 (en) * | 2006-12-27 | 2008-07-03 | Hasan Mahmoud Ashraf S | Location-based interactive display and communication system |
US20080291899A1 (en) * | 2007-05-21 | 2008-11-27 | Stefan Gromoll | Method and system for sending, routing, and receiving information using concise messages |
US20090003569A1 (en) * | 2007-06-28 | 2009-01-01 | Microsoft Corporation | Virtual contact identifier |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6564261B1 (en) * | 1999-05-10 | 2003-05-13 | Telefonaktiebolaget Lm Ericsson (Publ) | Distributed system to intelligently establish sessions between anonymous users over various networks |
US6788769B1 (en) * | 1999-10-13 | 2004-09-07 | Emediacy, Inc. | Internet directory system and method using telephone number based addressing |
JP2001333188A (en) * | 2000-05-19 | 2001-11-30 | Fujitsu Ltd | Communication service information providing system |
WO2002073984A1 (en) * | 2001-03-09 | 2002-09-19 | Ayman, L.L.C. | Universal point of contact identifier system and method |
US8538895B2 (en) * | 2004-03-15 | 2013-09-17 | Aol Inc. | Sharing social network information |
JP4516398B2 (en) * | 2004-10-05 | 2010-08-04 | パナソニック株式会社 | IP communication apparatus and communication service selection method |
US7321299B2 (en) | 2005-06-08 | 2008-01-22 | Axcelis Technologies, Inc. | Workpiece handling alignment system |
US9043919B2 (en) | 2008-10-21 | 2015-05-26 | Lookout, Inc. | Crawling multiple markets and correlating |
US20100250592A1 (en) | 2009-03-31 | 2010-09-30 | Paquet Vincent F | Unifying Web And Phone Presence |
US9432395B2 (en) | 2014-04-28 | 2016-08-30 | Quixey, Inc. | Application spam detector |
US20190174319A1 (en) | 2017-12-01 | 2019-06-06 | Seven Networks, Llc | Detection and identification of potentially harmful applications based on detection and analysis of malware/spyware indicators |
-
2009
- 2009-03-31 US US12/415,488 patent/US20100250592A1/en not_active Abandoned
-
2010
- 2010-03-25 WO PCT/US2010/028717 patent/WO2010117663A2/en active Application Filing
- 2010-03-25 EP EP10728006A patent/EP2415232A2/en not_active Withdrawn
-
2015
- 2015-07-06 US US14/791,839 patent/US9781072B2/en active Active
-
2017
- 2017-08-24 US US15/685,082 patent/US10764236B2/en active Active
-
2020
- 2020-07-28 US US16/940,811 patent/US11283760B2/en active Active
-
2022
- 2022-02-11 US US17/650,785 patent/US12015589B2/en active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7013326B1 (en) * | 1999-10-08 | 2006-03-14 | Fujitsu Limited | Chat system, dummy client system for chat system, and computer readable medium storing dummy client program |
US20060041648A1 (en) * | 2001-03-15 | 2006-02-23 | Microsoft Corporation | System and method for identifying and establishing preferred modalities or channels for communications based on participants' preferences and contexts |
US20020132635A1 (en) * | 2001-03-16 | 2002-09-19 | Girard Joann K. | Method of automatically selecting a communication mode in a mobile station having at least two communication modes |
US20020174363A1 (en) * | 2001-05-17 | 2002-11-21 | International Business Machines Corporation | Method and apparatus for providing an anonymous identity for a user |
US20060018441A1 (en) * | 2001-05-25 | 2006-01-26 | Timmins Timothy A | Technique for assisting a user with information services at an information/call center |
US7231229B1 (en) * | 2003-03-16 | 2007-06-12 | Palm, Inc. | Communication device interface |
US20060281490A1 (en) * | 2005-05-20 | 2006-12-14 | Kyocera Wireless Corp. | Systems and methods for using aliases to manage contact information in a mobile communication device |
US20070072642A1 (en) * | 2005-09-27 | 2007-03-29 | Tita Kangas | Mobile communication terminal and method |
US20080077691A1 (en) * | 2006-04-12 | 2008-03-27 | Electronics And Telecommunications Research Institute | Method and apparatus for selecting telecommunication service mode |
US20080162037A1 (en) * | 2006-12-27 | 2008-07-03 | Hasan Mahmoud Ashraf S | Location-based interactive display and communication system |
US20080291899A1 (en) * | 2007-05-21 | 2008-11-27 | Stefan Gromoll | Method and system for sending, routing, and receiving information using concise messages |
US20090003569A1 (en) * | 2007-06-28 | 2009-01-01 | Microsoft Corporation | Virtual contact identifier |
Cited By (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10764236B2 (en) | 2009-03-31 | 2020-09-01 | Google Llc | Unifying web and phone presence |
US11283760B2 (en) | 2009-03-31 | 2022-03-22 | Google Llc | Unifying web and phone presence |
US12015589B2 (en) | 2009-03-31 | 2024-06-18 | Google Llc | Unifying web and phone presence |
US20110282946A1 (en) * | 2010-05-14 | 2011-11-17 | International Business Machines Corporation | Personal unique url access processing system |
US20120066339A1 (en) * | 2010-09-14 | 2012-03-15 | Alison Andrews | Never Out of Reach: A System and Method for Access and Management of Information Across a World Wide Network |
FR2965996A1 (en) * | 2010-10-07 | 2012-04-13 | Digital Airways | Method for creating electronic business card used in address book application of e.g. personal digital assistant, involves adapting software module to provide contact contacting unit to application by using coordinates and/or instructions |
US20120253990A1 (en) * | 2011-04-01 | 2012-10-04 | Skala Thomas E | Interactive communication system |
US20220004994A1 (en) * | 2011-04-01 | 2022-01-06 | Thomas E. Skala | Interactive communication system |
US8666052B2 (en) | 2011-09-15 | 2014-03-04 | Microsoft Corporation | Universal phone number for contacting group members |
US20130259028A1 (en) * | 2012-04-02 | 2013-10-03 | Thomas E. Skala | Telephony integrated communication system and method |
US10146847B2 (en) * | 2012-08-29 | 2018-12-04 | Sk Planet Co., Ltd. | Apparatus and method for managing phone number-based SNS account |
US20160342676A1 (en) * | 2012-08-29 | 2016-11-24 | Sk Planet Co., Ltd. | Apparatus and method for managing phone number-based sns account |
US20140074470A1 (en) * | 2012-09-11 | 2014-03-13 | Google Inc. | Phonetic pronunciation |
EP2733902A1 (en) * | 2012-11-19 | 2014-05-21 | Alcatel Lucent | Method and apparatus for setting up a telecommunication session between a first terminal and a second terminal |
WO2014076050A1 (en) * | 2012-11-19 | 2014-05-22 | Alcatel Lucent | Method and apparatus for setting up a telecommunication session between a first terminal and a second terminal |
US20140173748A1 (en) * | 2012-12-18 | 2014-06-19 | Arash ESMAILZDEH | Social networking with depth and security factors |
US11074639B2 (en) | 2012-12-18 | 2021-07-27 | Arash Esmailzadeh | Cloud-based item storage system |
US20140172549A1 (en) * | 2012-12-18 | 2014-06-19 | Arash Esmailzadeh | E-commerce networking with depth and security factors |
US10387943B2 (en) | 2012-12-18 | 2019-08-20 | Arash Esmailzadeh | Cloud-based item storage system |
US9167038B2 (en) * | 2012-12-18 | 2015-10-20 | Arash ESMAILZDEH | Social networking with depth and security factors |
US9374422B2 (en) * | 2012-12-18 | 2016-06-21 | Arash Esmailzadeh | Secure distributed data storage |
US9729483B2 (en) * | 2013-12-18 | 2017-08-08 | Verizon Patent And Licensing Inc. | Anonymous calling and/or texting via content provider web sites and applications |
US20150172241A1 (en) * | 2013-12-18 | 2015-06-18 | Verizon Patent And Licensing Inc. | Anonymous calling and/or texting via content provider web sites and applications |
US10018470B2 (en) | 2013-12-20 | 2018-07-10 | Apple Inc. | Location-based operating modes |
US11997148B1 (en) * | 2014-03-25 | 2024-05-28 | 8X8, Inc. | User configurable data storage |
US10567588B2 (en) | 2015-08-07 | 2020-02-18 | Lg Electronics Inc. | Intelligent agent system including terminal device and control method therefor |
EP3334138A4 (en) * | 2015-08-07 | 2019-01-09 | LG Electronics Inc. | Intelligent agent system including terminal device and control method therefor |
US10652195B2 (en) | 2015-09-16 | 2020-05-12 | CrowdReach, LLC | Systems, computing devices, and methods for facilitating communication to multiple contacts via multiple, different communication modalities |
US20200252479A1 (en) * | 2016-03-01 | 2020-08-06 | Nandbox Inc. | Managing Multiple Profiles for a Single Account in an Asynchronous Messaging System |
US11012527B2 (en) * | 2016-03-01 | 2021-05-18 | Nandbox Inc. | Managing multiple profiles for a single account in an asynchronous messaging system |
CN108924270A (en) * | 2018-06-19 | 2018-11-30 | 湖南人文科技学院 | Update method, server and the storage medium of terminal contact people's information |
EP3917090A1 (en) * | 2020-05-28 | 2021-12-01 | MessageBird BidCo B.V. | Omnichannel communication widget |
US11451498B2 (en) | 2020-05-28 | 2022-09-20 | Messagebird Bidco B.V. | Omnichannel communication widget |
US12015583B1 (en) | 2020-05-28 | 2024-06-18 | Messagebird Bidco B.V. | Omnichannel communication widget |
US20220345426A1 (en) * | 2021-04-23 | 2022-10-27 | Slack Technologies, Inc. | Integrating external contacts in a communication platform |
US11757809B2 (en) * | 2021-04-23 | 2023-09-12 | Salesforce, Inc. | Integrating external contacts in a communication platform |
CN113986987A (en) * | 2021-10-09 | 2022-01-28 | 上海掌门科技有限公司 | Method and equipment for identifying abnormal user |
NL1044464B1 (en) * | 2022-07-04 | 2024-05-28 | Privacylinks B V | Method and system for managing communications |
WO2024100079A1 (en) * | 2022-11-11 | 2024-05-16 | Privacy Links B.V. | Method and system for managing communications |
Also Published As
Publication number | Publication date |
---|---|
US11283760B2 (en) | 2022-03-22 |
US20200358739A1 (en) | 2020-11-12 |
US9781072B2 (en) | 2017-10-03 |
WO2010117663A3 (en) | 2011-03-17 |
WO2010117663A2 (en) | 2010-10-14 |
US20220166744A1 (en) | 2022-05-26 |
EP2415232A2 (en) | 2012-02-08 |
US12015589B2 (en) | 2024-06-18 |
US20150312207A1 (en) | 2015-10-29 |
US20170353425A1 (en) | 2017-12-07 |
US10764236B2 (en) | 2020-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12015589B2 (en) | Unifying web and phone presence | |
US10148609B2 (en) | Computing device with remote contact lists | |
US9159057B2 (en) | Sender-based ranking of person profiles and multi-person automatic suggestions | |
US9531649B2 (en) | Identification of message recipients | |
US20040181517A1 (en) | System and method for social interaction | |
US20110246910A1 (en) | Conversational question and answer | |
US20100299340A1 (en) | Distributed contact information discovery and sharing | |
US8744995B1 (en) | Alias disambiguation | |
US9230033B2 (en) | Location based clearinghouse search | |
US9578602B1 (en) | Device aware social graphs | |
AU2017200784B2 (en) | Computing device with remote contact list | |
AU2014200753B2 (en) | Computing device with remote contact list |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: GOOGLE INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:PAQUET, VINCENT F.;RAMAN, TIRUVILWAMALAI VENKATRAM;SIGNING DATES FROM 20090317 TO 20090318;REEL/FRAME:024141/0230 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |
|
AS | Assignment |
Owner name: GOOGLE LLC, CALIFORNIA Free format text: CHANGE OF NAME;ASSIGNOR:GOOGLE INC.;REEL/FRAME:044142/0357 Effective date: 20170929 |