Indexing and searching content behind links presented in a communication

Information

  • Patent Grant
  • 11552916
  • Patent Number
    11,552,916
  • Date Filed
    Friday, July 12, 2019
    5 years ago
  • Date Issued
    Tuesday, January 10, 2023
    a year ago
Abstract
Among other disclosures, a method may include identifying content in an electronic communication, the content including a link. The method may include characterizing content associated with the link and storing the characterization. Upon detecting a match of a characterization, presenting one or more of the communication or portion thereof, the link or content associated with the link.
Description
BACKGROUND

Electronic communications between persons for both business and personal use have increased substantially in recent years. In addition to the number of communications increasing, the number of available communication mediums has also increased. In addition to e-mail communications and telephone communications, additional forms of communication have become common in recent years, including instant messaging, social network messaging and commenting, message board posting, text messaging, and Voice Over Internet Protocol (VOiP) communications.


These additional forms of communication have led to individuals exchanging communications with more people than ever before, which leads to an even higher increase in the number of communications sent and received by an individual.


SUMMARY

The present disclosure relates to collecting and presenting historical communication data and/or personal data.


In a first aspect, a computer implemented method includes identifying content in a communication, the content including a link. The method can further include characterizing content associated with the link and storing the characterization. The method can further include, responsive to a user query, presenting one or more of the link, the communication or portion thereof and content associated with the link.


Characterizing content can further include indexing content behind the link and storing an index to the content.





DESCRIPTION OF DRAWINGS


FIG. 1A shows an example e-mail client with a person profile side bar.



FIG. 1B shows an example of a person profile.



FIG. 1C shows an example of a conversation thread profile.



FIG. 1D shows an example of a search panel.



FIG. 2 shows an example of a webpage with inserted communication profile web page links.



FIG. 3 is a block diagram of an example communication delivery system.



FIG. 4 is a flow diagram of an example process for organizing and retrieving information related to electronic communications.



FIG. 5 is a flow diagram of an example process for characterizing content behind links presented in a communication.





DETAILED DESCRIPTION


FIG. 1A shows an example system 100 for displaying information (e.g., a profile) about communications to, from, and involving an individual. The system 100 includes an e-mail client 102 which can include an inbox viewing panel 104 and an e-mail viewing panel 106. The e-mail client 102 can be a standard stand alone e-mail client such as Microsoft Outlook or Eudora. In an alternate implementation the e-mail client 102 can be a web based e-mail client such as Yahoo! mail or Gmail that is viewed using a web browser. The e-mail client 102 can allow a user to view a list of e-mails in the inbox viewing panel 104. The user can select an e-mail in the inbox viewing panel 104 causing the e-mail client 102 to display the selected e-mail in the e-mail viewing panel 106.


In some implementations, instead of an e-mail client, the system 100 can include an instant messaging client, a social network client, a text message client, or another communication viewing client. It is to be understood that while portions of this description describe systems and methods involving e-mail communications, these same systems and methods can be implemented using other forms of communication, including instant messages, phone calls, text messages, internet message board postings, social network messages or comments, or voice over IP communications.


The e-mail client 102 also includes a profile 108. In the example depicted, the profile 108 is displayed as an additional panel within the e-mail client 102 positioned to the right of the inbox viewing panel 104 and the e-mail viewing panel 106. This additional panel is sometimes referred to as a side bar. In other implementations, the profile 108 can be located at the top, bottom, left side, or any other location within the e-mail client 102. In still other implementations, the profile 108 can be displayed in a stand alone window, in a pop-up bubble displayed over a portion of the e-mail client 102, or integrated as part of one of the other viewing panels displayed by the e-mail client 102. For example, a pop up bubble containing a profile 108 can appear when an e-mail is selected in the inbox viewing panel 104, when an e-mail address or portion of text in the e-mail viewing panel 106 is selected, or when a mouse icon is moved over an e-mail address, name, icon, or portion of text. In another example, information can be integrated as part of the body of an e-mail, such as inserting a picture next to a person's name in the body of an e-mail, or inserting a person's name next to a phone number in an e-mail or attachment.


The profile 108 can contain information relating to a sender of an e-mail, a recipient of an e-mail, the body of an e-mail, an attachment to an e-mail, or a person or topic mentioned in an e-mail. In alternate implementations, the profile 108 can contain information related to a sender, recipient, body, attachment or topic of another communication medium such as an instant message, a phone call, a text message, an internet message board, a social network message or comment, or a voice over IP communication. The user can implicitly request information to be displayed in the profile 108 by selecting an e-mail in the inbox viewing panel 104 or selecting text within a header or body of an e-mail in the e-mail viewing panel 106. In some implementations, the profile can include additional information (e.g., derived information such as search results derived from a topic mentioned in a communication).


In some implementations, the profile 108 can display information about an entity other than a person. For example, a communication may be received from an automated system, such as from a travel website, on-line retailer, an advertising service, or a mailing list. The profile 108 can display information related to the sender of the communication. For example, if the communication received has been sent from a travel website, information related to the travel website, or other communications from the travel website can be displayed. In another example, if the communication received has been sent from an mailing list, information related to the mailing list, or other communications received from the mailing list can be displayed. As yet another example, if the communication received has been sent from a business entity, information about the business entity (e.g., address, telephone number, contact person name) can be included in the personal profile.


For example, the user can select an e-mail 110 in the inbox viewing panel 104 causing the profile 108 to display information related to a sender 112 of the e-mail 110. In another example, the user can select an e-mail address 114 or name of a recipient of the e-mail 110 in order to display information related to the recipient in the profile 108. In another example, the user can select an attachment to the e-mail 110 in order to display information related to the attachment in the profile 108. In yet another example, the user can select the name of a person, a user name of a person, or a particular topic listed in a header, a body, or an attachment of the e-mail 110 in order to display information related to the person or topic in the profile 108.


In some implementations, the system 100 can determine if the user has made an implicit request to view information in the profile 108 by tracking, for example, user input of the form of mouse movements, mouse locations, keyboard strokes, mouse clicks, or active windows. Implicit requests to view information in the profile 108 can include opening, viewing, reading or writing an e-mail or other communication medium. For example, if the user starts to compose an instant message, the profile 108 can display information related to the recipient of the instant message. In another example, if the user views a social network profile, either within the e-mail client 102 or in a separate web browser, the profile 108 can display information related to a person associated with the social network profile.


In some implementations, selecting an e-mail or communication for which a person is a recipient of the e-mail or communication can cause a profile 108 for the person to be displayed. For example, selecting an e-mail addressed to Steve Jones can cause a person profile for Steve Jones to be displayed. In some implementations, selecting an e-mail or communication on which a person has been copied (for example in a CC or BCC field) can cause a profile 108 for the person to be displayed. In some implementations, putting a person's e-mail address in the To, CC, or BCC field of an e-mail or communication can cause a profile 108 for the person to be displayed. In some implementations, hovering a mouse cursor or other selection tool over an e-mail where a person is listed in the To, From, CC, or BCC field can cause a profile 108 for the person to be displayed. In some implementations, typing a person's name can cause a profile 108 for the person to be displayed.


In some implementations, selecting a file that was sent or received as an attachment to a communication can cause a profile 108 to be displayed for a person listed as a recipient or sender of the communication. For example, selecting a file with the name “fourthquarterprogress.doc” that was received as an attachment to an e-mail from Adam Kempf can cause a person profile for Adam Kempf to be displayed. In some implementations, initiating, receiving, or viewing an instant message conversation with a person can cause a profile 108 for the person to be displayed.


In some implementations, receiving a phone call or Voice Over Internet Protocol communication from a person can cause a profile 108 for the person to be displayed. In some implementations, initiating a phone call or Voice Over Internet Protocol communication with a person can cause a profile 108 for the person to be displayed. In some implementations, listening to a voice message or other recorded audio communication involving a person can cause a profile 108 for the person to be displayed. In some implementations, viewing a written transcript of a phone call or other audio communication with a person can cause a profile 108 for the person to be displayed. In some implementations, sending or receiving a text message to or from a person can cause a profile 108 for the person to be displayed. In some implementations, viewing a person's name, contact information, picture or phone number on a cell phone or other mobile device can cause a profile 108 for the person to be displayed.


In some implementations, opening or viewing a webpage which contains a profile for a person can cause a profile 108 for the person to be displayed. For example, viewing Sarah Conrad's Facebook profile page can cause a profile 108 for Sarah Conrad to be displayed. In another example, viewing an employee profile for Samantha Jared on her employer's website can cause a profile 108 for Samantha Jared to be displayed. In another example, viewing Cynthia Burns' YouTube or Flicker profile can cause a profile 108 for Cynthia Burns to be displayed.


In some implementations, opening or viewing a webpage or other document that contains a person's name or other identifying information can cause a profile 108 for the person to be displayed. For example, viewing a website about a charity function that lists Frank Stevens as a volunteer can cause a profile 108 for Frank Stevens to be displayed. In another example, opening a PDF file of an article that lists Jason Rios as an author can cause a profile 108 for Jason Rios to be displayed. In another example, viewing a website that contains a person's screen name can cause a profile 108 for the person associated with the screen name to be displayed. In another example, opening a spread sheet that contains a person's e-mail address can cause a profile 108 for the person associated with the e-mail address to be displayed.


In some implementations, opening or viewing a webpage or other document that contains a name or other identifying information for a person with which the user has communicated or for which the system 100 can display a profile 108, and no other names or identifying information for persons with which the user has communicated or for which the system 100 can display a profile 108, can cause a profile 108 for the person to be displayed. For example, viewing a website about Bill Henderson that does not contain any other person's names can cause a profile 108 for Bill Henderson to be displayed. In another example, a user can view a website about a fishing tournament that lists the participants of the tournament. One of the participants listed can be a person named Jake Byron. If the system 100 is capable of displaying a profile 108 for Jake Byron, but is not capable of displaying a profile 108 for any of the other listed participants, the system 100 can display a profile 108 for Jake Byron in response to the user viewing the website. In another example, a user can open a spread sheet that lists employees of a company. If the user has only exchanged communications with one person listed in the spread sheet, the system 100 can display a profile 108 for the person in response to the opening of the spread sheet.


In some implementations, opening or viewing a webpage or other document that displays a person's name or other identifying information more prominently than the name's or identifying information of other people listed on the webpage or document can cause a profile 108 for the person to be displayed. For example, the user can view an article on a webpage about Jill Anders. The article can contain names of other people that the user has communicated with and for whom person profiles can be displayed. In this example, Jill Anders' name is listed more prominently than the other names, either by being listed in the title of the article, in a larger font than the main portion of the article, in bold, or highlighted in some other manner. Since Jill Anders' name is listed more prominently than the other names listed in the article, the system 100 can determine that a profile 108 should be displayed for Jill Anders rather than for one of the other persons listed in the article. In an example similar to the previous example, Jill Anders' name can be listed more often in the article than any of the other names listed in the article. This can cause the system 100 to determine that a profile 108 should be displayed for Jill Anders rather than for one of the other persons listed in the article. In another example, the user can view a profile for a person with the screen name “guitarguy24”. In this example, “guitarguy24” appears at the top of the profile page as a header. The profile also contains names and screen names for other persons with which the user has communicated. The system can determine that a profile 108 associated with the screen name “guitarguy24” should be displayed since “guitarguy24” is displayed in the header of the profile page.


In some implementations, a profile 108 for a person can be displayed in response to the user clicking on or selecting the person's name or other identifying information. For example, the user can view a web page that lists participants in a marathon that includes several persons with which the user has communicated. The user can select one of the names from the list to cause a profile 108 for the selected name to be displayed. In another example, the user can view a list of instant message contacts in an instant message client. The user can select a screen name from the list of instant message contacts to cause a profile 108 for the selected contact to be displayed. In another example, the user can view a document that contains a list of e-mail addresses. The user can select one of the e-mail addresses to cause a profile 108 associated with the selected e-mail address to be displayed. In another example, the user can view a list of a person's social network friends on the person's social network profile. The user can then select a social network profile name from the displayed list of friends to cause a profile 108 associated with the selected social network profile name to be displayed.


In some implementations, opening or viewing a photo or video of a person can cause a profile 108 for the person to be displayed. For example, viewing a photo of Frank Peppers on a picture sharing website can cause a profile 108 for Frank Peppers to be displayed. In another example, viewing a YouTube video that includes footage of Evan Carpenter can cause a profile 108 for Evan Carpenter to be displayed.


In some implementations, opening or viewing a webpage or document that contains subject matter related to a person can cause a profile 108 for the person to be displayed. For example, viewing a webpage for Cornell University can cause a profile 108 to be displayed for one of the user's contacts who attended Cornell University. In another example, viewing a webpage for a company can cause a profile 108 to be displayed for one of the user's contacts who works for the company. In another example, viewing a webpage can cause a profile 108 to be displayed for a person with an e-mail extension that is the same as or similar to the URL of the webpage.


In some implementations, viewing, opening, selecting, clicking on, hovering over, or indicating content created by a person can cause a profile 108 for the person to be displayed. For example, opening a Microsoft Word Document created by Matt Miller can cause a profile 108 for Matt Miller to be displayed, even if the body of the document does not contain Matt Miller's name or any other identifying information about Matt Miller. In another example, viewing a blog written or created by Jennifer Lansing can cause a profile 108 for Jennifer Lansing to be displayed. In another example, selecting a comment posted on a website by Lisa Bunge can cause a profile 108 for Lisa Bunge to be displayed. In another example, selecting a forum post written by Andrew Fenton can cause a profile 108 for Andrew Fenton to be displayed. In another example, hovering a mouse icon over a wall post posted by Dan Hues can cause a profile 108 for Dan Hues to be displayed.


In some implementations, the system 100 can determine if a person is more important than other persons and display a person profile for the more important person. This determination can be based on past user behavior. For example, the user can view an e-mail that is addressed to two persons. In the past, when a person profile for the first person was displayed, the user did not interact with, or showed minimal interaction with, the person profile for the first person. When a person profile for the second person was displayed in the past, the user interacted with the person profile for the second person more than the person profile for the first person. In this example, the system 100 can determine that the second person is more important than the first person and display a person profile for the second person in response to the e-mail addressed to both persons being viewed.


In another example, a first person listed on an e-mail may be the vice president of a company and a second person listed on an e-mail may be the first person's administrative assistant. The system 100 can determine that the first person is more important than the second person based on bibliographic data for each person and display a person profile for the first person in response to the e-mail addressed to both persons being viewed.


In some implementations, the system 100 can insert links or buttons into webpages and documents being viewed by the user. The system 100 can determine if a webpage or document being viewed includes names or other identifying information of any persons with which the user has exchanged communications. The system 100 can then insert a button or link in proximity to the identified names in the webpage or document. For example, if a webpage contains names of three people with which the user has exchanged communication, the system 100 can insert a button next to each of the three names. The user can then click on one of the buttons to cause a profile 108 for the selected person to be displayed. In another example, the system 100 can turn the identified names into hyperlinks instead of inserting buttons. When the user clicks on one of the hyperlinks, the system 100 can display a profile 108 for the selected person. In other implementations, the system 100 can make the identified names selectable in another manner.


In some implementations, the system 100 can be linked to a phone (e.g., voice over IP phone) used by the user. For example, the system 100 can include means for detecting when the user makes or receives a phone call or text message using the phone and display information related to a recipient or initiator of the phone call or text message in the profile 108. In some implementations, the user can make a specific request to view information in the profile 108 by performing a search for a person's name or other identifying information. In some implementations, the system 100 can display more than one person profile in response to any of the above described actions.


In the example depicted in FIG. 1A, the user has selected the e-mail 110 in the inbox viewing panel 104 and header information and a portion of the body of the e-mail 110 is displayed in the e-mail viewing panel 106. The e-mail 110 was received from the sender 112. The system 100 has determined that the user has made an implicit request to view information related to the sender 112 by selecting the e-mail 110. In response to this implicit request, the system 100 displays in the profile 108 information related to the sender 112.


In the example, the information displayed in the profile 108 includes an e-mail address 116, a phone number 118, communication statistics 120, a contact network 122, a conversation list 124, and a files exchanged list 126. In some implementations, the profile 108 can display additional contact information such as name, screen names, social network profile names, social network profile URLs, physical addresses, website URLs, additional e-mail addresses, or additional telephone numbers.


In the example, the communication statistics 120 include the number of e-mails received from the sender 112 and the number of e-mails sent to the sender 112. In other implementations, additional communication statistics 120 can be displayed, including times of communications, dates of communications, types of communications, volume of communications, length of communications, or speed of responses. For example, a statistic for the average amount of time it takes the sender 112 to respond to e-mails sent by the user can be displayed. In another example, the times of day that the sender 112 is most likely to respond to an e-mail or other form of communication can be displayed as a communication statistic 120. In another example, a statistic can be displayed that lists the percentage of communications between the user and the sender 112 that occur using a telephone, the percentage of communications that occur using instant messaging, the percentage of communications that occur using e-mails, or the percentage of communications that occur using a social network website as a percentage of all communications between the user and the sender 112. In another example, the number of communications sent or received on which the sender 112 has been copied can be displayed as a communication statistic 120. In another example, the number of communications received by the user on which the sender 112 has also been listed as a recipient can be displayed as a communication statistic 120.


In some implementations, the communication statistics 120 that are displayed can be chosen by the user. The user can choose to have a default set of communication statistics displayed, or the user can select which individual communication statistics 120 are to be displayed. The user can choose to have the same set of communication statistics 120 displayed for each profile 108 or the user can choose to have a different set of communication statistics 120 displayed depending on which person or topic the currently displayed profile 108 is associated with.


The contact network 122 displayed in the profile 108 shows a list of contacts 128 that are associated with the sender 112. In the example depicted, the contacts 128 are shown as e-mail addresses. In other implementations, the contacts 128 can be listed as names, screen names, nick names, employee numbers, social network profile names, social network profile URLs, telephone numbers, website URLs, or any combination of these.


In some implementations, details about a contact 128 can be displayed adjacent to the contact 128 in the contact network 122. These details can include time since last communication, last form of communication, frequency of communications, total numbers of communications, or other related data.


The contacts 128 listed in the contact network 122 are contacts that are associated with the sender 112. The contacts 128 can include recipients of communications from the sender 112, recipients of communications of which the sender 112 is also a recipient, individuals named in a body or header of a communication with the sender 112, or individuals named in a document that is attached to a communication with the sender 112. For example, a person who was copied on an e-mail between the user and the sender 112 can be listed as a contact 128 in the contact network 122. In the example depicted, the header of the e-mail 110 as shown in the e-mail viewing panel 106 lists all.houston@enron.com as a recipient of the e-mail 110. The contact network 122 lists all.houston@enron.com as a contact 128 of the sender 112. In another example, if the user receives an e-mail from the sender 112 with the subject line “Matt Smith's birthday party”, Matt Smith can be listed as a contact 128 in the contact network 122 even if Matt Smith has never been included in or been the recipient of any communications between the user and the sender 112. In another example, if the user posts a comment to a social network profile page belonging to the sender 112 and a person named Eric Johnson has also posted a comment to the social network profile page, or is listed as a friend of the sender 112 on the social network profile page, Eric Johnson can be listed as a contact 128 in the contact network 122.


In some implementations, the contacts 128 listed in the contact network 122 can be collected from sources other than communications between the user and the sender 112. In one implementation, the sender 112 can provide a list of contacts to the user to include in the contact network 122 for the sender 112. The sender 112 can provide the list of contacts to the user through sharing the list of contacts on a shared network, or by sending a communication to the user with, for example, the list of contacts in a body of the communication or in an attachment to the communication.


In some implementations, the system 100 can collect data from outside sources in order to determine contacts 128 to be listed in the contact network 122. The system 100 can query various sources to extract information on contacts that can be associated with the sender 112 and listed in the contact network 122. Sources of information that can be queried to derive contacts associated with the sender 112 can include web search engines, people search engines, social networks, personal web pages, telephone directories, scanned business card data or company website profiles.


For example, the system 100 can perform a search of a social network based on the sender 112's name, e-mail address, screen names or other information about the sender 112. The system can then identify a profile page on the social network belonging to the sender 112. Any contacts that are publicly listed on the social network profile page can be listed in the contact network 122 of the sender 112 even if the user has never communicated with the sender 112 using the social network or viewed the profile page of the sender 112 on this social network. In some implementations, the system 100 can access and extract contacts listed on a private social network profile page belonging to the sender 112 if the user has proper access information or authorization to view the private social network profile page of the sender 112.


In another example, the system 100 can use a search engine to perform a search based on the sender 112's name, e-mail address, screen names or other information about the sender 112 in order to identify web pages that may contain contacts that can be associated with the sender 112. For example, the system 100 can use a search engine to perform a search based on the sender 112's name. If one of the search results returned is for a blog written by a person named Mark Adams that mentions the sender 112, then Mark Adams can be listed as a contact 128 in the contact network 122. In another example, the system 100 can determine that the sender 112 works for the same company as a person who has sent a different communication to the user. This person can then be listed as a contact 128 of the sender 112. In some implementations, the system 100 can collect data using a peer to peer network.


Information that can be used to collect information about contacts 128 or other information displayed in the profile 108 can include e-mail addresses, names, screen names, social network profile names, phone numbers, personal website URLs, social network profile URLs, or physical addresses.


The contacts 128 displayed in the contact network 122 can be listed in order based on a ranking system. Criteria used to rank the contacts 128 can include total volume of communication, volume of communication over a period of time, length of communications, importance level of communications, types of communications, contents of communications, time of communications; methods by which the contacts 128 were determined to be associated with the sender 112, or any combination of these. For example, the contacts 128 can be ranked based on the total number of communications between the user and the sender 112 for which a contact is also a recipient of the communication. In another example, the contacts 128 can be ranked based on the number of communications between the user and the sender 112 for which a contact is also a recipient of the communication over the course of the last three weeks. In another example, the contacts 128 can be ranked based on the number of communications between the user and a contact for which the sender 112 is also a recipient of the communication.


In another example, the contacts 128 can be ranked based on the length of communications between the user and the sender 112 for which a contact is also a recipient of the communication with longer communications being ranked higher than shorter communications. In another example, contacts that are listed on communications flagged as urgent or important can be ranked higher than other contacts. In another example, the user can choose to have contacts who mainly communicate with the user or sender 112 using e-mail ranked higher than contacts who mainly communicate with the user or sender 112 using instant message or social networks. In another example, the system 100 can use the contents of communications involving each contact 128 and the sender 112 to determine if communications involving the contact 128 and the sender 112 are primarily business related or social related communications. The system 100 can then give a higher ranking to contacts associated with business communications than contacts associated with social communications.


In another example, contacts who are associated with more recent communications between the user and the sender 112 can be ranked higher than contacts associated with older communications between the user and the sender 112. In another example, contacts that have been determined to be associated with the sender 112 based on e-mail communication can be ranked higher than contacts that have been determined to be associated with the sender 112 based on web searches.


In some implementations, each contact 128 listed in the contact network 122 can be a link to more information about the contact 128. For example, if a contact 128 is clicked on, selected, or interacted with by the user, a person profile containing information about the selected contact 128 can be displayed. In another example, the user can hover a mouse cursor or other selection tool over a contact 128. This can cause a pop-up bubble containing additional information about the contact 128 to be displayed.


The conversation list 124 can display a list of recent communications between the user and the sender 112 or involving the user and the sender 112. The communications displayed on the conversation list 124 can be a list of past e-mails, text messages, instant messages, telephone calls, social network communications, message board posts or voice over IP communications involving the sender 112. In some implementations, the conversation list 124 can be a list of recent conversation threads involving the sender 112. A conversation thread is a series of communications that can be grouped together. For example, a series of e-mails having the same or similar subjects can be grouped together as a conversation thread. In another example, a group of instant messages between the sender 112 and the user that occurred over a specific period of time can be grouped together as a conversation thread. For example, if the user sent and received a series of instant messages from the sender 112 over a three hour period earlier in the day, and that conversation was separated from another series of instant messages between the user and the sender 112 by a period of 2 hours, the instant messages that were sent and received during that three hour period can be grouped together as a conversation thread. In another example, a series of telephone calls between the user and the sender 112 that occurred during a set time period can be grouped together as a conversation thread.


The communications or conversation threads displayed in the conversation list 124 can be listed in order based on a ranking system. In one implementation, conversation threads can be listed in order of most recent communications to oldest communications. In some implementations, conversation threads can be listed in order of oldest to most recent. In some implementations, conversation threads can be listed in order of importance with conversation threads containing communications marked as urgent being ranked higher than conversation threads with fewer communications marked urgent or no communications marked urgent. In some implementations, the system 100 can determine which conversation threads are work related and which conversation threads are social. The conversation threads that are work related can then be ranked higher than the conversation threads that are social. In some implementations, conversation threads can be ranked based on the number of communications in the conversation thread.


Communications that are listed in the conversation list can include communications initiated by the sender 112, communications for which the sender 112 is a recipient, communications on which the sender 112 has been copied, or communications in which the sender 112 is mentioned.


In the example depicted in FIG. 1A, the conversation list 124 displays a list of recent conversation threads involving the user and the sender 112. The conversation threads displayed are for recent e-mail communications involving the user and the sender 112. The e-mails in each conversation thread are grouped by subject. The conversation list 124 displays the subject for each conversation thread, the number of e-mails in each conversation thread, and the amount of time that has passed since the last communication for this conversation thread was sent or received. In other implementations, additional information can be displayed for each conversation thread, including: time and date of the last communication in the conversation thread, time and date of the first communication in the conversation thread, other contacts involved in the conversation thread, average length of communications in the conversation thread, total number of people involved in the conversation thread, level of importance of the communications in the conversation thread, attachments shared in the conversation thread, calendar events related to the conversation thread, other forms of communication related to the conversation thread, relevant web data, or average response time of communications in the conversation thread.


In some implementations, the conversation list 124 can display a summary or the first few lines of the most recent communication for each conversation list. In some implementations, the conversation list 124 can display a summary or the first few lines of the first communication for each conversation list. In some implementations, the conversation list 124 can display a summary or the first few lines of the last communication initiated by the sender 112 for each conversation list.


The files exchanged list 126 displays a list of files that were attached to communications involving the user and the sender 112. This can include communications initiated by the user for which the sender 112 was a recipient, communications initiated by the sender 112 for which the user was a recipient, or communications initiated by a third party for which the sender 112 and the user were both recipients. The files exchanged list 126 can also include files that were exchanged between the user and the sender 112 without using a communication medium. For example, the files exchanged list 126 can include files that were transferred from the sender 112's network drive to the user's computer or network drive. In another example, the files exchanged list 126 can include files that were transferred to the user's computer or network drive from an external hard drive, flash drive, or floppy disk belonging to or populated by the sender 112.


The files displayed in the files exchanged list 126 can be listed in order based on a ranking system. In one implementation, files can be listed in order of most recently received files to least recently received files. In some implementations, files can be listed in order of oldest to most recent. In some implementations, files can be listed in order of importance, with files that were attached to communications marked as urgent being ranked higher than files attached to communications that were not marked as urgent. In some implementations, the system 100 can determine which files are work related and which files are personal. The files that are work related can then be ranked higher than the files that are personal. In some implementations, files can be ranked based on the size of the files.


In some implementations, the files displayed in the files exchanged list 126 can be grouped together. The files can be grouped together based on the subject of the communications to which the files were attached, file name, file title, date of the file, date of the communication, file type, or subject matter of the file. For example, if a document has undergone several rounds of revisions, the different versions of the document can be grouped together so that the different versions of the document can be easily compared to one another. In another example, a number of files about rain forests can be grouped together since they all contain related subject matter. In another example, all image files can be grouped together so that they can be more easily viewed, or easily put into a slide show. For example, a group of image files can be displayed as a slide show and each slide can contain additional information about the image being displayed, such as who sent the image, recipients of the image, the date the image was sent or received, or other information drawn from one or more communications to which the image was attached.



FIG. 1B shows a profile 130 for a person 132 named “Jen Ertel”. The profile 130 for the person 132 can be displayed in response to an action by a user that indicates either an implicit or direct request to view the profile 130 of the person 132. Actions by the user that can cause the profile 130 for the person 132 to be displayed can include viewing or selecting a communication sent by the person 132, viewing or selecting a communication for which the person 132 is listed as a recipient, composing or initiating a communication with the person 132, selecting or clicking on a name, screen name, or e-mail address of the person 132, or performing a search for information related to the person 132.


The profile 130 includes a search bar 134. The search bar 134 can be used to request that information be displayed about a particular person, topic, conversation thread, communication, or file. For example, a search performed using the search bar 134 and the search string “Allan Tate” can result in a person profile for a person named Allan Tate being displayed. In another example, a search using the search string “sunday_presentation.ppt” can result in information about a file named “sunday_presentation.ppt” being displayed. In another example, a search using the search string “2002 Sales Goals” can result in information to be displayed regarding communications with the subject “2002 Sales Goals”, containing the phrase “2002 Sales Goals”, or having attachments that contain the phrase “2002 Sales Goals”.


Search criteria that can be used to identify a person profile can include names, screen names, social network profile names, social network profile URLs, physical addresses, website URLs, e-mail addresses, e-mail subject lines, file names, or telephone numbers. For example, a search using the search string “allan.tate@example.com” can result in a person profile for a person named “Allan Tate” being displayed. In the example depicted in FIG. 1B, a search for the phone number “(612) 555-1243” may have been performed in-order to display the profile 130 for the person 132 named “Jen Ertel”.


The profile 130 can include a title bar 136. The title bar 136 can display a name, a nick name, a screen name, a primary e-mail address, or other identifying title for the person 132 so that the user can easily identify who the information in the profile 130 is related to.


The profile 130 can also include an image 138. The image 138 can be a picture of the person 132 to help the user more easily identify who the information in the profile 130 is related to or to help the user identify whom he or she is communicating with. For example, if the user receives an instant message from a person with the screen name “summergirl” the user may not be able to remember who this screen name belongs to. When the instant message is received, the profile 130 can display information about the person with the screen name “summergirl” including a picture of the person as the image 138. This can help the user to identify whom he or she is communicating with. The image 138 can also be an image, icon, or picture associated with the person 132. The image, icon, or picture can be used to identify the person 132 as a business contact, co-worker, friend, social acquaintance, client, or contractor. For example, all of the person profiles 130 for contacts from a particular company can display a logo for that company. This can help the user to quickly identify what relationship he or she has with these particular contacts.


The image 138 can be added to the profile 130 by the user, or it can be automatically extracted from a communication with the person 132 or from a website or profile page belonging to or about the person 132. For example, if a social network screen name or URL for the person 132 is known, an image from the person 132's social network profile page can be extracted and used as the image 138. In another example, if instant message communications with the person 132 include an icon that identifies the person 132, this instant message icon can be extracted and used as the image 138.


The profile 130 can include communication statistics 140 about communications involving the person 132. These communication statistics 140 can include the statistics as previously described for FIG. 1A. In the example shown in FIG. 1B, one of the communication statistics 140 displayed is a graph 142 showing what times of day communications are received from the person 132 and the relative volume received from the person 132 at each time of day. This can help the user to determine when, or how quickly the person 132 will respond to a new communication from the user. For example, if the user lives in the United States and the person 132 lives in Germany, most of the communications received from the person 132 may occur between 5:00 am and 10:00 am of the user's local time. The graph 142 can easily display this information so that the user can determine when to reasonably expect a response to a recent communication from the person 132.


Other communication statistics 140 displayed in the profile 130 in FIG. 1B include the total number of communications received from the person 132, the total number of communications sent to the person 132, and a rank 144. The rank 144 can be the rank of the person 132 compared to all other persons that the user communicates with. The rank 144 can be based, for example, on total communications exchanged, total number of attachments exchanged, total number of communications sent, total number of communications received, length of communications or importance of communications.


Communication statistics 140 can be displayed as graphs or charts as shown in FIG. 1B, or as text. In some implementations, statistics can be displayed in the profile 130 or in an additional panel or pop-up window as “fun facts”. For example, when viewing a person profile for someone named “Matt Miller”, the person profile can display a message that reads “Matt's birthday is next week”. In another example, a pop-up bubble with the message “Your last communication with Matt was 21 days ago” can be displayed. In another example, a panel can display a message reading “You send Matt 20 times as many messages as he sends you.”


Another example of a fun fact that can be displayed is “Matt is your 5th most e-mailed contact”. Another example of a fun fact that can be displayed is “your most e-mailed contact is Steve.’. Another example of a fun fact that can be displayed is “the fastest responder to your communications is Garrett.” The fun facts can include any combination of communication statistics, communication information, contact information, or contact statistics.


In some implementations, communication statistics 140 can be shared with other persons. For example, the user can choose to share communication statistics with the person 132. The person 132 will then be able to view communication statistics 140 about his or her communications with the user. In some implementations, the user can indicate that one or more persons are trusted contacts. Communication statistics 140 can be automatically shared with all persons indicated as trusted contacts. Other information, such as calendar information, contact information, or contact network information can also be shared with trusted contacts.


The profile 130 can include contact information 146. The contact information 146 displayed can include e-mail addresses, telephone numbers, screen names, social network profile names, social network profile URLs, physical addresses, facsimile numbers, or website URLs. The contact information 146 can be collected from a variety of sources including communications between the person 132 and the user, communications between the user and other persons, e-mail body text, e-mail meta data, e-mail header information, e-mail attachments, web search engines, people search engines, social networks, e-mail clients, instant messages, personal web pages, telephone directories, scanned business card data, text messages, picture sharing websites, video sharing websites, personal profile pages, telephone communications, or customer relationship management systems. For example, when the user receives an e-mail from a person, that person's e-mail address can be added to the list of contact information 146 for that person's profile 130. In another example, when the user makes a phone call to a person, that person's telephone number can be added to the list of contact information 146 for that person's profile 130.


In some implementations, contact information 146 can be extracted from the body, subject, or meta data of a communication between the user and the person 132. For example, if the user receives an e-mail from the person 132 with a signature block at the end that includes a telephone number, facsimile number, and screen name for the person 132, this contact information can be extracted from the e-mail and added to the list of contact information 146 for the person 132's profile 130. In another example, an e-mail from a person can include an address for the person in the body of the e-mail or in an attachment to the e-mail, this address can be extracted from the e-mail or attachment and added to the list of contact information 146 for that person's profile 130. In another example, the person 132 can leave a social network post for the user telling the user the person 132's instant message screen name, this screen name can be added to the list of contact information 146 for the person 132's profile 130.


In some implementations, contact information 146 for the person 132 can be extracted from a communication from a third party. For example, the user can receive an e-mail from Bill that contains the text “Mary's cell phone number is 608-555-5353”. This phone number can be extracted from Bill's e-mail and added to the list of contact information 146 for Mary's profile 130. In another example, the user can receive an e-mail with an attachment that contains a list of telephone numbers, e-mail addresses, and office numbers for everyone in the user's office. The telephone number, e-mail address, and office number for each person listed on the attachment can be extracted and added to the list of contact information 146 for the person profiles 130 of each person listed on the attachment.


Contact information 146 can be extracted from multiple sources, including multiple e-mail clients, multiple web mail systems, multiple instant message clients, multiple telephone numbers, multiple social networks, or multiple web pages.


In some implementations, contact information 146 can be collected using search engines, telephone directories, or people search engines. Search criteria can include e-mail addresses, names, screen names, social network profile names, phone numbers, personal website URLs, social network profile URLs, facsimile numbers or physical addresses. For example, a search of a telephone directory or people search engine for “Rex Banner” can return a telephone number for Rex Banner. This telephone number can then be added to the list of contact information 146 for Rex Banner's profile 130. In another example, a people search or web search for the e-mail address “alewis@example.com” can return a URL for a social network profile for Adam Lewis. The name “Adam Lewis” can then be associated with the e-mail address “alewis@example.com” in a profile 130. In addition, the social network profile URL and social network screen name for Adam Lewis can be added to the list of contact information 146 for Adam Lewis's profile 130. Furthermore, additional contact information, that is listed on the social network profile for Adam Lewis, such as additional e-mail addresses, phone numbers, instant message screen names, etc., can be extracted from the social network profile and added to the list of contact information 146 for Adam Lewis's profile 130.


In another example, a web search or person search for a person can return a photo or video sharing website profile for the person. The URL or screen name for the person's photo or video sharing website profile can be added to the list of contact information 146 for the person's profile 130. In addition, the photo or video sharing website may contain additional contact information for the person that can be extracted and added to the list of contact information 146 for the person's profile 130.


In another example, contact information 146 for the person 132 can include an e-mail address “jertel@examplecompanyltd.com”. A web search can be performed to identify the website associated with the e-mail extension “exam plecompanyltd.com”. For example, this e-mail extension can be associated with a company called “Example Company ltd.” The website for Example Company ltd. can then be searched for information about the person 132. The website may include a profile page for the person 132 that includes contact information that can be added to the list of contact information 146 for the person 132's profile 130. In addition, the URL for the profile page can be added to the list of contact information 146 for the person 132's profile 130.


In some implementations, the address for a person can be used to refine the search results for that person by constricting the results to information about persons in a specific geographic area. For example, if a search is being performed for information on a person with a common name, such as “Bill Johnson”, and Bill Johnson's address is known, the search results can be refined by restricting the results to information about person's named Bill Johnson in the city of the known address. In some implementations, other information about a person can be used to refine search results for that person.


In some implementations, contact information can be extracted from a shared network drive or through a secure connection. In some implementations, contact information can be automatically shared between systems. For example, the person 132 can elect to share contact information with all people in a trusted network, such as all people with e-mail extensions from the same company. A computer belonging to the person 132 can then automatically send contact information to all trusted people. If the user is in the network of trusted people, the person 132's contact information will automatically be shared with a computer or system belonging to the user.


In some implementations, contact information for the person 132 can be manually added or removed from the profile 130 by the user. In some implementations, contact information for the person 132 can be manually added or removed from the person profile by the person 132 or by a third party. In some implementations, the user can choose which contact information for each person is displayed in that person's person profile.


In some implementations, when a mouse cursor or other selection tool is hovered over/indicates a piece of contact information in the list of contact information 146, a pop-up bubble or other indicator can be displayed which indicates the source from which the piece of contact information was received or extracted. For example, if a phone number has been extracted from an e-mail, a hover bubble can be displayed which shows the e-mail or a portion of the e-mail where the phone number was extracted with the extracted info highlighted or demarcated in some way.


In some implementations, the user can be allowed to validate contact information in the list of contact information 146. Validated contact information can be indicated as validated, and un-validated contact information can be indicated as un-validated. For example, if a phone number for the person 132 is extracted from an e-mail, the user can look at the phone number to determine if it is indeed the correct phone number for the person 132. If the user believes that the phone number is correct, the user can choose to validate the phone number. The phone number can then be displayed along with an indication that it has been validated, such as with a check mark icon, or text that reads “valid”. If the user is unsure if the phone number is correct, or has not taken the time to validate the phone number, the phone number can be displayed with an indication that it has not been validated, such as with a question mark icon, or the text “not validated”.


In some implementations, presence of the person 132 can be indicated for some or all of the contact information on the list of contact information 146. For example, an indicator next to a person's instant message screen name can indicated if the person is currently logged onto the related instant message network. In another example, an indicator next to a person's social network screen name or URL can indicate if the person is currently logged onto the related social network or if the person has made a recent update to his or her social network profile. In another example, an indicator next to a person's e-mail address can indicate if the person has put up an away message or out of the office message.


In some implementations, the profile 130 can display information about the person 132's current location. If the person 132 is in possession of a GPS unit, GPS enabled phone, or other location detection device, the person 132 can choose to share his or her location information. There are several services that allow a person to share location information with other people. The person 132 can choose to share his or her location information with the user. The profile 130 can then display the current location of the person 132. This location information can be displayed as an address, map coordinates, or a graphic of a map with an icon to indicate the person 132's present location.


Other information about the person 132 that can be displayed on the profile 130 can include birthday, gender, age, job title, employer, universities attended, family information, or other biographical data. Information from Customer Relationship Management Systems (CRMs) about or related to the person 132 can also be displayed in the profile 130. Information about calendar items or scheduled meetings related to the person 132 or related to a communication can also be displayed as part of the profile 130.


In some implementations, information from one or more websites can be displayed as a chronological feed of information in the profile 130. This information can be queried on the web via one or more search engines or from one or more specific websites through established associations between the person 132 and the one or more websites. For example, this information can be found by general searching, people searching, or querying websites where it has been established that the person 132 is generating content or is the subject of content on the website. Search terms for these searches can include e-mail addresses, names, screen names, social network profile names, phone numbers, personal website URLs, social network profile URLs, or physical addresses. Information that is extracted from communications with the person 132 can also be used as search criteria.


The profile 130 can include a schedule time link 148. The user can click on/interact with the schedule time link 148 to send a communication to the person 132 to request a meeting or to send the user's schedule to the person 132. For example, clicking on the schedule time link 148 can cause an e-mail to be automatically composed that is addressed to the person 132 that contains all of the times over the course of the next week that the user is available during business hours. This schedule information can be extracted from a calendar associated with an e-mail client, web mail account, social network account, instant messaging program, telephone, personal digital assistant (PDA), or website belonging to the user or associated with the user. In addition, schedule information can be extracted from a calendar stored on a computer, network drive, or other data storage location belonging to or associated with the user. In one implementation, clicking on the schedule time link 148 can cause a communication to be sent to the person 132 requesting schedule information from the person 132.


The profile 130 can also include one or more initiate communication links 150. In the example shown in FIG. 1B, the initiate communication link 150 displayed will cause an e-mail addressed to the person 132 to be automatically generated when it is clicked on. Other forms of communication that can be initiated using an initiate communication link 150 include telephone calls, instant messages, text messages, social network messages, social network posts, message board posts, facsimiles, or voice over IP communications. For example, the profile 130 can include a “call Jen” link that can cause the user's cell phone to dial Jen's phone number when clicked on. In another example, the profile 130 can include an “instant message” link that when clicked on, can cause an instant message program to automatically open and generate an instant message addressed to a screen name of the person 132.


The profile 130 can include a contact network 152. The contact network 152 can include a list of contacts associated with the person 132. The contact network 152 can be populated using the methods previously described in the description of FIG. 1A. The profile 130 can also display the total number of contacts associated with the person 132 in the contact network 152. In the example shown in FIG. 1B, the contact network 152 displayed in the profile 130 indicates that there are 50 contacts in Jen's contact network 152.


Clicking on, selecting, or interacting with one or more contacts from the contact network 152 can cause one or more actions to occur. In one implementation, selecting a contact from the contact network 152 can cause a person profile for that contact to be displayed. In some implementations, selecting one or more contacts from the contact network 152 can cause a communication directed to the selected contacts to be initiated. For example, selecting three contacts from the contact network 152 can cause an e-mail addressed to the three contacts to be generated. In another example, clicking on three contacts from the contact network 152 can cause the user's telephone to initiate a conference call with the selected contacts. In some implementations, selecting one or more contacts from the contact list can cause a communication directed to the selected contacts and the person 132 to be generated.


In other implementations, selecting a contact from the contact network 152 can cause the most recent communication or conversation thread between the user and the selected contact to be displayed. In some implementations, selecting a contact from the contact network 152 can cause the most recent communication or conversation thread involving the contact, the person 132, and the user to be displayed. In some implementations, moving a mouse cursor over a contact in the contact network 152 can cause information about the contact to be displayed. For example, moving a cursor over a contact can cause a small pop-up bubble to appear that displays the contact's phone number, e-mail address, or other contact information. In some implementations, contacts can be manually added or removed from the contact network 152 by the user.


The profile 130 can include a conversation list 154 that includes a list of recent communications or conversation threads involving the user and the person 132 as previously described in the description of FIG. 1A. The conversation list 154 can display the total number of communications or conversation threads involving the user and the person 132. In the example shown in FIG. 1B, the conversation list 154 indicates that 2510 conversation threads have occurred that involved the user and the person 132.


Clicking on or selecting a conversation thread or communication in the conversation list 154 can cause a more detailed summary of the conversation thread or communication to be displayed. For example, selecting a conversation thread can cause a summary of one or more communications in the conversation thread to be displayed. In another example, selecting a communication in the conversation list 154 can cause a summary of the communication to be displayed. In some implementations, selecting a communication in the conversation list 154 can cause the communication to be displayed. For example, selecting an e-mail from the conversation list 154 can cause the e-mail to be displayed.


In some implementations, selecting a conversation thread can cause the most recent communication to be received or the most recent communication to be sent in that conversation thread to be displayed. In some implementations, selecting a conversation thread in the conversation list 154 can cause the first communication in that conversation thread to be displayed. In some implementations, selecting a conversation thread from the conversation list 154 can cause a communication addressed to all of the participants of the conversation thread to be generated. For example, selecting an e-mail conversation thread can cause an e-mail to be automatically generated that is addressed to all of the e-mail addresses involved with the selected conversation thread.


In some implementations, selecting a conversation thread can cause a person profile for the initiator of the first communication in the conversation thread to be displayed. The person profile can be similar to the profile 130 in FIG. 1B. In some implementations, selecting a conversation thread can cause a person profile for the initiator of the most recent communication in the conversation thread to be displayed. In some implementations, selecting a conversation thread can cause a person profile for the initiator of the most communications in the conversation thread to be displayed. In some implementations, selecting a conversation thread can cause a person profile for the recipient of the most recent communication in the conversation thread to be displayed.


In some implementations, selecting a conversation thread can cause a person profile for a person associated with one or more communications in the conversation thread to be displayed. For example, a person profile can be displayed for a person who is listed in the To, From, CC, or BCC field in one or more of the communications in a conversation thread when the conversation thread is selected. In another example, a person profile can be displayed for a person who is listed in a communication or an attachment to a communication in a conversation thread when the conversation thread is selected. In some implementations, multiple person profiles can be displayed for multiple persons associated with one or more communications in a conversation thread when the conversation thread is selected.


In some implementations, communications or conversation threads can be manually added or removed from the conversations list 154 by the user.


The profile 130 can include a files exchanged list 156. The files exchanged list 156 can contain a list of files exchanged between the user and the person 132 as previously described in the description of FIG. 1A. For each file listed in the files exchanged list 156, the profile 130 can display a file name, a file title, an icon, the time or date when the file was received, the amount of time that has elapsed since the file was received, the subject of the communication to which the file was attached, or other information about the file. Icons displayed next to a file name or file title can indicate what type of document the file is. In the example depicted, a file 158 with the file name “sturgeon 001.jpg” is displayed. An icon next to the file name for the file 158 indicates that the file 158 is a picture file. A date next to the file name indicates that the file 158 was received on April 23.


Clicking on or selecting a file in the files exchanged list 156 can cause the file to open. In some implementations, selecting a file can cause the communication to which the file was attached to be displayed. In some implementations, selecting a file can cause a list of files with the same file name to be displayed. This allows the different versions of a document that has undergone several rounds of revisions to be reviewed and compared to each other. In some implementations, selecting a file can cause a summary of the file to be generated and displayed. For example, hovering a cursor over a file in the files exchanged list 156 can cause an information bubble containing the title and first few lines of the file to be displayed. This list of files can include a time and date stamp for each version of the file so that the most recent revision can be easily identified. In some implementations, files can be copied from the files exchanged list 156 to other locations. In some implementations, files can be manually added or removed from the files exchanged list by the user.


The profile 130 can include one or more menu buttons 160. The menu buttons can be used to change personal settings or preferences, change viewing preferences, or access menus or help information. The profile 130 can also include a minimize button 162 that can cause the profile 130 to minimize or close. When the minimize button 162 is clicked or selected, a minimized version of the profile 130 that takes up less space in a viewing window can be displayed. The minimized version of the profile 130 can include a summary of some or all of the information displayed by the profile 130.


In some implementations, the profile 130 can contain weather information. For example, the person profile can display current weather information for the location of the person 132 based on one or more addresses for the person 132. The weather information can be displayed as text or as one or more graphics.



FIG. 1C shows a viewing panel 164. The viewing panel 164 can display a person profile such as the profile 130 of FIG. 1B. The viewing panel 164 can also display information about communications, communication attachments, files, or conversation threads. In the example shown in FIG. 1C the viewing panel 164 displays information about a conversation thread 166. The information about the conversation thread 166 can be displayed in response to a user clicking on a conversation thread 166 in a conversation list, such as the conversation list 154 from FIG. 1B. In some implementations, the conversation thread 166 can be displayed in response to the user viewing, reading, selecting, opening, writing, initiating, or receiving a communication that is part of the currently displayed conversation thread 166. For example, the user can select an e-mail such as the e-mail 110 from FIG. 1A. This can cause a communication profile containing information about the conversation thread 166 that includes the selected e-mail to be displayed. The communication profile can include information about the selected e-mail as well as other e-mails and communications involved in the same conversation thread 166 as the selected e-mail.


In another example, the user can view an instant message which can cause information about a conversation thread 166 which includes the instant message to be displayed. In another example, the user can receive a phone call that is a continuation of a conversation thread 166. This can cause a communication profile containing information about the conversation thread 166 that includes the received phone call to be displayed. In another example, the user can compose an e-mail that is a continuation of a conversation thread 166. This can cause a communication profile containing information about the conversation thread 166 that includes the e-mail to be displayed.


In some implementations, the conversation thread 166 can be displayed in response to a search performed by the user. For example, the user can use a search bar 168 to search for a conversation thread 166 based on the subject of the conversation thread 166, participants in the conversation thread 166, files attached to communications in the conversation thread 166, or key words or terms in the communications of the conversation thread 166.


The viewing panel 164 can include one or more navigation buttons 170. The navigation buttons 170 can include a profile view navigation button 172. The profile view navigation button 172 can be used to return the viewing panel 164 to a profile view so that the viewing panel 164 displays information about the sender or recipient of a currently selected communication, or another person as indicated by the user. The navigation buttons 170 can also include a back button 174. The back button 174 can be used to display a person profile, conversation thread, or other information that was previously displayed in the viewing panel 164. For example, if the user was previously viewing a person profile for a person named Mark Wagner, clicking on the back button 174 can cause the viewing panel 164 to display the person profile for Mark Wagner. In another example, if the user was previously viewing information about an e-mail attachment, clicking on the back button 174 can cause the viewing panel 164 to display the previously viewed e-mail attachment information.


The navigation buttons 170 can also display a navigation history that has lead to the current information being displayed in the viewing panel 164. In the example shown in FIG. 1C, the navigation buttons 170 indicate that the user first viewed a person profile for Jen Ertel. The user then viewed a person profile for Jerri Clark Wagner. The user may have opened the person profile for Jerri Clark Wagner by clicking on the name Jerri Clark Wagner in a contact network or list of contacts on Jen Ertel's person profile, or by performing a search for Jerri Clark Wagner, or other information associated with Jerri Clark Wagner. The navigation buttons 170 indicate that the user then viewed a person profile for Mark Wagner. The user may have caused the current conversation thread 166 to be displayed by clicking on a conversation thread in a conversation list similar to the conversation list 124 from FIG. 1A. In some implementations, clicking on or selecting any of the buttons in the navigation history can cause the viewing panel 164 to display the person profile, conversation thread, communication, communication attachment, or other information associated with the selected navigation button 170.


The viewing panel 164 can include a title bar 176. The title bar 176 can include the type of information being displayed in the viewing panel, the subject, and other key information. When the information being displayed in the viewing panel 164 is a conversation thread 166, the title bar 176 can indicate that a conversation is being viewed, the title or subject line of the conversation thread, the number of communications involved in the conversation thread, the types of communications involved in the conversation thread, or the number of people involved in the conversation thread. In the example shown, the title bar 176 indicates that a conversation is being viewed, that the subject line of the communications in the conversation thread 166 is “dinner?”, that there are 8 people involved in conversation thread 166, that 18 communications are included in the conversation thread 166, and that all 18 communications are e-mails.


The viewing panel 164 can include a summary of some or all of the communications 178 that make up the conversation thread 166. Information displayed as part of the summary for each communication 178 can include the sender of the communication 178, the recipients of the communication 178, the time or day that the communication 178 was sent or received, attachments to the communication 178, the first few lines or sentences of the communication 178, the importance of the communication 178, or the number of recipients of the communication 178. For example, an e-mail summary 180 indicates that the user sent an e-mail in response to an e-mail from Jerri 1 week ago and that 5 additional recipients were also listed on the e-mail. The e-mail summary 180 also displays the first lines of the e-mail sent to Jerri.


In some implementations, the communications 178 that make up the conversation thread 166 can be of various communication types. For example, a conversation thread can include a combination of e-mails, instant messages, and social network profile comments. In another example, a conversation thread can include a combination of phone conversation transcripts, text messages, and blog posts.


In some implementations, clicking on or selecting a communication summary in the conversation thread 166 can cause the related communication to be displayed. For example, clicking on the e-mail summary 180 can cause the e-mail sent from the user to Jerri to be displayed. In another example, selecting a communication summary in the conversation thread 166 can cause a person profile for a sender or one or more recipients of the related communication to be displayed. In another example, selecting a communication summary in the conversation thread 166 can cause one or more attachments or a list of attachments to the related communication to be displayed. In some implementations, selecting a communication summary in the conversation thread 166 can cause a communication addressed to the sender or one or more recipients of the related communication to be automatically generated. In some implementations, selecting a communication summary in the conversation thread 166 can cause a more detailed summary for the related communication to be displayed. In some implementations, selecting a communication summary in the conversation thread 166 can cause a communication profile containing information about the communication to be displayed.


The viewing panel 164 can include a detail adjustment control 182. The detail adjustment control 182 can be used to modify the amount of detail that is displayed in each communication summary in the conversation list 166. In one implementation, adjusting the detail adjustment control 182 can increase or decrease the number of words or lines of a body of a communication that are displayed in each communication summary. In some implementations, adjusting the detail adjustment control 182 can increase or decrease the amount of information that is displayed for each communication summary. For example, the detail adjustment control can be changed to display an e-mail address and phone number for each sender or recipient of each communication 178 in the corresponding communication summary. In another example, the detail adjustment control 182 can be used to control what information is used to identify senders or recipients of communications 178 in each communication summary. Information used to identify senders or recipients can include names, nick names, screen names, e-mail addresses, telephone numbers, social network profile names, or company names.


In some implementations in which some or all of the communications that make up a conversation thread 166 are telephone calls or voice over IP communications, audio recordings of some or all of the telephone calls or voice over IP communications can be displayed in the conversation thread 166. Clicking on or selecting a telephone call or voice over IP communication in the conversation thread 166 can cause an audio recording of the communication to play. In some implementations, automatically or manually created transcripts of telephone calls or voice over IP communications that make up part or all of a conversation thread 166 can be displayed. In some implementations, a summary of a transcript of the audio communication can be displayed as part of a communication summary in the conversation thread 166. Clicking on or selecting a communication summary of a telephone call or voice over IP communication for which a transcript exists can cause the full transcript of the audio communication to be displayed, or an audio file of the audio communication to play.


The viewing panel 164 can include a conversation participants list 184. The conversation participants list 184 can be a list of senders and recipients of the communications 178 that make up the conversation thread 166. Information about each participant in the conversation thread 166 can be displayed, including name, contact information, number of communications initiated in the displayed conversation thread 166, and other relevant information. The conversation participants list 184 can also indicate the total number of participants involved in the conversation thread 166.


In some implementations, clicking on or selecting a person listed in the conversation participants list 184 can cause a person profile for the selected person to be displayed. In some implementations, selecting a person from the conversation participants list 184 can automatically generate a communication addressed to the selected person. In some implementations, selecting a person from the conversation participants list 184 can cause all communications or summaries of communications from the current conversation thread 166 that were initiated by the selected person to be displayed.


The viewing panel 164 can include a files exchanged list 186. The files exchanged list 186 can display a list of files that have been exchanged in the current conversation thread 166. For example, the files exchanged list 186 can list all of the files that have been attached to communications 178 in the conversation thread 166. Clicking on or selecting a file from the files exchanged list 186 can cause the selected file to open. In some implementations, selecting a file from the files exchanged list 186 can cause one or more communications to which the file was attached to be displayed. In some implementations, selecting a file from the files exchanged list 186 can cause one or more communication summaries for communications to which the file was attached to be displayed.


In some implementations, the viewing panel 164 can include web information derived from links in one or more of the communications 178 in the conversation thread 166. For example, one of the communications 178 can contain a link to a website for a restaurant. Information about the restaurant, such as hours of operation, address, daily specials, or type of food can be displayed in the viewing panel 164. In another example, a communication 178 in the conversation thread 166 can contain a link to a document that contains information about an upcoming meeting. Information about the meeting, such as meeting time, location, or agenda items can be displayed in the viewing panel 164. In another example, one of the communications 178 can contain a link to a website for a concert. Information about the concert, such as date, time, location, and artists performing, can be displayed in the viewing panel 164.


In some implementations, the viewing panel 164 can include information derived from a file attached to one or more of the communications 178 in the conversation thread 166. For example, if a file containing information about a birthday party is attached to one of the communications, information about the birthday party, such as name of the person who's birthday it is, date, time and location can be displayed in the viewing panel 164.


In some implementations, addresses or maps of locations listed in one or more of the communications 178 or in one or more files attached to one or more of the communications 178 can be displayed. For example, if an address is listed in one of the communications 178, the address can be displayed in the viewing panel 164. In another example, if an address is listed in one of the communications 178, a map of the address can be displayed in the viewing panel 164. In another example, if a city is listed in an attachment to one of the communications 178, a map of the city can be displayed in the viewing panel 164.



FIG. 1D shows a search panel 188 for a search titles “bike”. The search panel 188 can display search results gathered from, for example, a communication profile such as the communication profile 130 of FIG. 1B. The search panel 188 can also display information about communications, communication attachments, files, web page links, or conversation threads. The communications can be gathered from search engine input, social network communications, e-mail, instant messages, text messages, content sharing communications and telephone communications to name a few examples. In some implementations, the search bar 188 can operate similarly to the search bar 134 in the profile 130 described earlier. In the example shown in FIG. 1D the search panel 188 displays conversation data. The conversation data illustrated in FIG. 1D includes a web page hyperlinks list 190 and an email message list 192.


In some implementations, the web page hyperlinks list 190 can include web page hyperlinks gathered from communications. The hyperlinks shown in the list can be indexed in a data structure that relates the hyperlink to the communication from which the hyperlink is gathered. In some implementations, the index can be stored in a database to improve the access response time to the hyperlink or other data stored in the database.


The example search bar 188 illustrates a search term 194, in this example, the text “bike”. As illustrated in the search bar 188, the term “bike” reflects communications in the web page hyperlinks list 190 where hyperlink information is displayed. The web page hyperlinks list 190 can include highlighting 196 of content matching the term “bike”. For example, web page content 198 gathered from the web page http://www.joesbikeshop is displayed just below the web page link http://www.joesbikeshop. The content 198 includes occurrences of the search term 194 where the occurrences are highlighted by the system 100. In some implementations, if a match is found for one or more of the link, the communication associated with the link, or the content associated with the link including in some implementations, a specific or selected portion of the content, the portion of the content can be displayed in the web page hyperlinks list 190 for the web page content 198.



FIG. 2 shows a webpage 200. The webpage 200 includes pictures and names for several people. The webpage 200 includes a picture 202 and a name 204 for a person named Aarmir V. A button 206 has been inserted onto the webpage 200 over Aarmir V's name 204. The button 206 may have been inserted onto the webpage 200 by a system similar to the system 100 from FIG. 1A. The system may have identified Aarmir V as a person that a user has exchanged communications with. In some implementations, the user may never have communicated with Aarmir V, but the system may have enough information to create a person profile for Aarmir V. The presence of the button 206 which includes Aarmir V's name can indicate that the system is capable of presenting a person profile for Aarmir V. The user can click on or select the button 206 to cause a person profile for Aarmir V to be presented. In some implementations, the button 206 can take the form of a hyperlink. In some implementations, the button 206 can take the form of highlighted text.


The webpage 200 further includes a picture 208 and a name 210 for a person named Skyler Thomas. A button 212 has been inserted near the name 210. The button 212 may have been inserted onto the webpage 200 by a system similar to the system 100 from FIG. 1A. The presence of the button 212 near the name 210 can indicate that the system does not currently have enough data to present a person profile for Skyler Thomas, but that the system is capable of collecting information from one or more sources in order to create a person profile for Skyler Thomas. The user can click on or select the button 212 to cause the system to collect information about Sklyer Thomas from one or more sources. In some implementations, selecting the button 212 can cause a person profile for Skyler Thomas to be generated and displayed once information about Skyler Thomas has been collected.


The webpage 200 further includes a search toolbar 214. In some implementations, the search toolbar 214 can be included as part of the webpage 200. In some implementations, the search toolbar 214 can be installed as a “plug-in” application to the internet web browser displaying the webpage 200. In some implementations, the search toolbar 214 can be a standalone application which directs its search results into or onto the webpage 200. Other implementations of the search toolbar 214 can also be implemented.


In the example webpage 200, the search toolbar 214 includes an entry field 216 for entering search terms. In some implementations, the field 216 can accept alphanumeric text entries. In this example, the text entry field 216 illustrates a search using the alphabetic search term “bike”. Another method for searching can include selecting content within the webpage 200 and choosing from a popup context menu to perform a search on the selected content.


The webpage 200 further includes an overlay 218 for displaying information. In some implementations, the overlay 218 can appear automatically when a search is initiated. In some implementations, the overlay 218 can appear when requested specifically by a user viewing the webpage 200. In some implementations, the overlay 218 can include personal and conversation data. In some implementations, the overlay 218 can include other suggested information. For example, the overlay 218 may include hyperlinks to information relevant to the search term “bike”. In another example, the overlay 218 can include randomly selected hyperlinks.


In some implementations, the overlay 218 can include an area to display a web page hyperlinks list 220. In some implementations, the web page hyperlinks list 220 can include items commonly displayed to describe a hyperlink, including a title, the hyperlink address, and a short description of the hyperlink's destination webpage. In some implementations, the web page hyperlinks list 220 can include highlighting 222 of each occurrence for the search term entered in the search field 216. The highlighting 222 can include markings placed within the example webpage 200. The search term “bike” is shown entered in the search toolbar 214, and the web page hyperlinks list 220 includes hyperlinks where the title, hyperlink, description, or some content included in the destination web page for the hyperlink were indexed as part of a conversation or person profile. The indexing of data included in the web page hyperlinks list is described previously and in more detail for FIG. 1D.



FIG. 3 shows an example communication delivery system 300. In the system 300, a first device (e.g., computer 302) belonging to a first user can transmit a communication to a second device (e.g., computer 304) belonging to a second user over a computer network 306. The computer network 306 can be the Internet, an intranet, a LAN system or a company's internal computer network. In some implementations, the computer 302 and the computer 304 can be desktop computers, laptop computers, cell phones, web enabled televisions, or personal digital assistants. The communication transmitted from the computer 302 to the computer 304 can be an e-mail, phone call, instant message, text message, social network message or comment, message board post, or voice over IP communication.


The computer 304 can extract data from the communication about the first user. This data can be used to make a person profile similar to the profile 130 shown in FIG. 1B. Data extracted from other communications with the first user can also be used to create a person profile for the first user. Data that is extracted from communications with the first user can be used to query websites, search engines, person search directories and other sources of information for additional information about the first user that can be used to create a person profile. Information from communications that can be used as search criteria include names, screen names, social network profile names, social network profile URLs, physical addresses, website URLs, e-mail addresses, or telephone numbers. Information that is collected as a result of these queries can be used in future searches to identify additional information that can be used to create a person profile.


For example, the computer 304 can receive an e-mail sent by the first user from the computer 302. The computer 304 can perform a search using a search engine 308 with the first user's e-mail address as the search criteria. The search engine 308 can return a search result that includes the first user's phone number. This phone number can be displayed as part of a person profile for the first user. The search engine 308 can also return the URL for or link to a personal website 310 belonging to the first user. The personal website 310 may contain additional information about the first user that can be used to create a person profile, such as additional contact information or biographical information.


In another example, the e-mail address belonging to the first user may include an extension for a company. The computer 304 can perform a search using the search engine 308 with the e-mail extension as the search criteria. A result returned by the search can be a company website. The company website can be searched to reveal a profile page 312 for the first user on the company website. The profile page 312 may contain additional information about the first user that can be used to create a person profile, such as additional contact information or biographical information.


In another example, the computer 304 can perform a search using a person search directory 314 with the first user's name or other contact information as the search criteria. The person search directory 314 can return search results with additional contact information and other information that can be used to create a person profile for the first user.


In another example, the computer 304 can receive an e-mail sent by the first user from the computer 302. The e-mail can contain a social network profile name for the first user. The computer 304 can extract this social network profile name from the e-mail and use it to access a social network webpage 316. The social network webpage 316 can contain additional contact information and other information that can be extracted and used to create a person profile for the first user. The social network webpage 316 can also contain additional contacts that can be associated with the first user in a person profile. For example, persons on the friends list of the social network webpage 316, or persons who have posted comments or messages on the social network webpage 316 can be listed as contacts in a contact network for the first user.


In another example, a search performed using the search engine 308 can return a URL or link for a photo or video sharing website 318 on which the first user has a profile. Additional contact information or biographical information that can be extracted and used to create a person profile for the first user. For example, a profile belonging to the first user on a video sharing website may include an instant message screen name for the first user. This screen name can be extracted and displayed as part of a person profile for the first user.


In some implementations, the communication data, contact information, bibliographic information and other data collected by the computer 304 can be stored locally on a hard drive or other media storage device of the computer 304. In some implementations, the data collected by the computer 304 is stored in a location external to an e-mail client, instant message client, or other communication client used in making the communications. For example, a person profile for the first user can include information about e-mails exchanged between the first user and the second user, the person profile for the first user is stored in a memory location on the computer 304 that is separate from a memory location used by an e-mail client used to send and receive the e-mails exchanged between the first user and the second user. In another example, data related to the contents of communications in a conversation thread can be stored in a memory location on the computer 304 that is separate from a memory location used by an e-mail client that was used to send and receive the communications in the conversation thread.


In some implementations, the communication data, contact information, bibliographic information and other data collected by the computer 304 can be stored in a remote database 320 that is external to the computer 304. In some implementations, the computer 304 can connect to the remote database 320 via the computer network 306 as shown in FIG. 3. In some implementations, the computer 304 can connect to the remote database 320 directly or via a separate computer network. The data stored in the remote database 320 can be separate from data stored by an e-mail client, instant message client, or other communication client. For example, an e-mail client running on the computer 304 can store data locally on the computer 304 while data collected as part of a person profile, including communication data collected from the e-mail client, is stored in the remote database 320.


Information extracted from communications between the first user and second user can be used to update profile information on a social network webpage or other webpage. For example, the computer 304 can detect that the second user system has primarily used e-mail address “david@foo.com” in recent communications, while the second user's profile on the social network webpage 316 shows his e-mail address as “david@bar.com”. The computer 304 can share the second user's new e-mail address with the social network webpage 316 and the social network can automatically update the second user's info or suggest he update it based on this changed behavior recorded by the computer 304.


The computer 304 can monitor the behavior of the second user to determine if the second user has made an implicit request to view a person profile. For example, the second user can view the social network page 316 for the first user. The computer 304 can detect that the second user is viewing the social network page 316 associated with the first user and present a person profile for the first user. In another example, the second user can view a social network profile for a third person which can cause the computer 304 to present a person profile for the third person.


In another example, the second user can view the personal website 310 of the first user. The computer 304 can detect that the second user is viewing the personal website 310 associated with the first user and present a person profile for the first user. In another example, the second user can view the profile page 312 for the first user on the first user's company website. The computer 304 can detect that the second user is viewing the profile page 312 associated with the first user and present a person profile for the first user.


In another example, the second user can view a profile for the first user on the photo or video sharing website 318. The computer 304 can detect that the second user is viewing the profile associated with the first user on the photo or video sharing website 318 and present a person profile for the first user. In another example, the second user can view a photo of a third person on the photo or video sharing website 318. The computer 304 can detect that the second user is viewing a photo of the third person and present a person profile for the third person.


In another example, the second user can view a list of people in the person search directory 314. The second user can then select or indicated a person's name on the list of people. The computer 304 can detect that the second user has selected or indicated the person's name and present a person profile for the person.



FIG. 4 is a flow diagram of an example process 400 for organizing and retrieving information related to electronic communications. The process 400 can, for example, be implemented in a system such as the system 100 of FIG. 1A. In another example, the process 400 can be implemented in a system such as the communication delivery system 300 of FIG. 3.


Stage 402 identifies content in a communication, the content including a link. For example, content including links can be collected from communications such as e-mails, instant messages, phone calls, text messages, internet message board postings, social network messages or comments, or voice over IP communications can be collected.


In some implementations, identifying content that contains links can be accomplished by an application that searches for textual patterns common to links. For example, identifying links can include comparisons of content to a known list of link prefixes including “http://”, “ftp://”, “www.”, “.com”, “.net”, or other types of web page link textual patterns.


Stage 404 characterizes content associated with the link. In some implementations, characterizing content associated with the link can include extracting keywords from the language of the link. For example, the link “http://www.fastcars.com” includes keywords that may be extracted such as “fast” and “cars”. In some implementations, these keywords may later be used when searching for similar content or content associated with historical communications.


In some implementations, characterization may include characterizing the content of the communication to which the link was attached (i.e., the content associated with the link can include the original communication or any other related communication). For example, an email communication may include content that describes what the link refers to. For example, an email communication may include the text “Hello, please visit this link, it's all about cars, trucks, and motorcycles” followed by the link “http://www.fastcars.com”. In this example, the text included in the email communication includes keywords such as “cars” and “trucks” can be included in the characterization of the link “http://www.fastcars.com”.


In some implementations, characterizing content associated with the link can include extracting keywords from the name or title of the webpage that the link refers to. For example, the webpage “http://www.fastcars.com” can have a title embedded in the content of the webpage that can be accessed and parsed into separate keywords or phrases. These keywords or phrases may later be used when searching for similar content or content associated with historical communications.


In some implementations, characterizing content associated with the link can include extracting keywords from the content of a webpage, where the webpage has been referenced by a link within a communication. For example, an email communication may include a link to a webpage that one user might suggest another user visit. Identifying keywords can include traversing or scanning the contents of the webpage referenced by the link and extracting these keywords.


In some implementations, webpages may include embedded links to other webpages and webpages behind the embedded links may include embedded links to still other webpages. In this case, keywords can be identified within webpages one or many embedded levels from the original link. For example, a link included in an email communication may link to a webpage such as “http://www.fastcars.com:”. The content of the webpage “www.fastcars.com” may include a list of other links to webpages related to cars such as links to tire companies, chrome accessory companies and lubricant companies. In this example, keywords may be extracted from not only the original “www.fastcars.com” webpage content, but also the content of the webpages of the tire companies, chrome accessory companies and lubricant companies.


In some implementations, characterizing content associated with a link can include describing a link by assigning a name or title to the link. For example, the link “http://www.marathonsandfitness.com” may be described with a single name or title such as “exercise”. In some implementations, characterizing content associated with a link can include describing the link in terms of the keywords that a user might enter to search for the link. For example, a web link of “http://www.bicycles.com” may be described using a list of keywords such as “bicycle, bike, wheels, pedals”. In some implementations, characterizing content associated with a link can include describing the link in terms of the keywords that relate to the content behind the link. For example, content behind a link can include the text, images, animations or other types of information included in a webpage. Additionally, the content behind a link can include a webpage that includes other embedded links. In some implementations, the system 400 may characterize content by following or accessing the information or content behind the links embedded in the web pages of other embedded links. In some implementations, the number of embedded links and the corresponding content behind those links that can be characterized may be configurable for the system 400.


In some implementations, the characterization can be updated to reflect new or changed content included in the web pages or embedded links. In one example, changes to the content of a web page may result in the need for the generation of additional keywords that can be included in a characterization. In some implementations, the system 400 may include a mechanism for performing regular updates to characterizations by indexing content of a link or accessing the information or content behind the link at set time intervals. In some implementations, updates to characterizations can happen whenever the link is seen again (received, typed, etc.).


Stage 406 stores the characterization. For example, a system implementing the method 400 can store the characterization in a searchable form to allow for the easy retrievability of information based on a user prompt (e.g., in response to a search request) or the like. In some implementations, storing the characterization can include indexing the content including the link that is identified at stage 402 and characterization at state 404. In some implementations, the index can relate the characterization, the link and the communication that included the link. In some implementations, the index can include a single word that is common to a link, a communication, and a characterization. For example, the word “car” may provide an index for accessing a webpage with a link of “www.cars-r-us.com”, a communication such as an email including the link and a file attachment with a filename of “mynicecar.jpg” which characterizes the link.


In some implementations, the index can include the name of a category. For example, a category named “automobiles” can provide an index to any communications, links, and characterizations related to cars, trucks, vans and other types of automobiles.


In some implementations, the index can provide traceability of content including links back to its source. For example, indexing content can include a pointer to an identifier for an email message where the email message included the link. In this example, a conversation that included a link to a webpage can be traced from a reference to the link back to the original conversation.


Stage 408 detects a request for content. The request can be explicit or implicit. For example, a system implementing the method can track the mouse movements, keyboard strokes, or mouse clicks of a user of the system or active windows or mouse locations displayed on a monitor or other display device of the system. The user's behavior can be monitored to determine if the user has opened, viewed, read, composed, initiated or received a communication such as an email that relates to content that has been characterized. The user's behavior can also be monitored to determine if the user has performed a search, clicked on a particular item, or selected a particular item. Implicit requests to view the characterized information can include opening, viewing, reading, writing, initiating, or receiving an e-mail, performing a search or other communication. For example, the user can make an implicit request to view a link by typing a search in the search toolbar described previously for FIG. 1D.


Stage 410 presents one or more of the link, the communication or portion thereof that included the link or content associated with the link. In some implementations, the link can be presented along with other information, such as characterizing information. In some implementations, the link is presented along with, or part of, a communication profile. The communication profile displayed can be associated with the communications that include the link. For example, a system implementing the method 400 can display a communication profile for communications in response to the user making an implicit search request to view communications relevant to a search term. The example search panel 188 in FIG. 1D illustrates just one view of communications where the characterized content associated with the link matches a performed search.



FIG. 5 is a flow diagram of another example process 500 for characterizing and retrieving information related to links in an electronic communication. The process 500 can, for example, be implemented in a system such as the system 100 of FIG. 1A. In another example, the process 500 can be implemented in a system such as the communication delivery system 300 of FIG. 3.


Stage 502 receives an electronic communication that includes a link. In some implementations, the communication received can include an email message that includes a link. In other implementations, the communication received can include an text message sent through telephone, where the text message includes a link.


Stage 504 characterizes the link. In some implementations, characterizing the link can include extracting keywords from the language of the link address. For example, the link “http://www.fastcars.com” includes keywords that may be extracted such as “fast” and “cars”. In some implementations, these keywords may later be used when searching for similar content or content associated with historical communications. Other characterizations are possible.


Stage 506 evaluates user input to determine if input matches an entry in an index. For example, a search performed using the search panel 118 depicted for FIG. 1D can be used to execute a text search for one or more keywords. In some implementations, the search can be executed on a repository of communication data (i.e., that includes the characterizations and links), such as the remote database 320 shown for FIG. 3.


An example of a user interface for entering user input is illustrated and described previously for FIG. 1D. In the example search panel 188, the search field 194 depicts the text “bike”. In some implementations, the text “bike” can be evaluated against one or more indexes. The indexes can relate historical communications, links, and characterizations.


Stage 508 presents one or more of the link, the communication or portion thereof associated with the link or associated content. In some implementations, the communication including one or more links can be displayed in an overlay of webpage, where the links are displayed in a list of links, for example, the web page links list 220 portion of the overlay 218, depicted for FIG. 2. In some implementations, the communication including one or more links can be displayed as a list of links shown in a sidebar, for example, the sidebar 188 for FIG. 1D.


The apparatus, methods, flow diagrams, and structure block diagrams described in this patent document may be implemented in computer processing systems including program code comprising program instructions that are executable by the computer processing system. Other implementations may also be used. Additionally, the flow diagrams and structure block diagrams described in this patent document, which describe particular methods and/or corresponding acts in support of steps and corresponding functions in support of disclosed structural means, may also be utilized to implement corresponding software structures and algorithms, and equivalents thereof.


This written description sets forth the best mode of the invention and provides examples to describe the invention and to enable a person of ordinary skill in the art to make and use the invention. This written description does not limit the invention to the precise terms set forth. Thus, while the invention has been described in detail with reference to the examples set forth above, those of ordinary skill in the art may effect alterations, modifications and variations to the examples without departing from the scope of the invention.

Claims
  • 1. A method, comprising: receiving, at a computing device, communications from senders to a user;creating, by the computing device, profiles for the senders;extracting, by the computing device, links from the communications in response to receiving the communications; andadding, by the computing device, each of the extracted links to a respective profile for a sender of the communication from which the link is extracted.
  • 2. The method of claim 1, the extracting links from the communications comprising identifying one or more elements in the communications matching a preset web page link textual pattern.
  • 3. The method of claim 1, further comprising: characterizing, by the computing device, content associated with each of the extracted links to provide characterization data; andstoring, by the computing device in a memory, the characterization data for use in responding to an access request.
  • 4. The method of claim 3, the characterizing content comprising generating a textual summary of the extracted links.
  • 5. The method of claim 4, the generating the textual summary of the extracted links comprising analyzing a content source selected from the group consisting of a uniform resource locator (URL) of an extracted link, text content surrounding the extracted link, metadata associated with a page referenced by the extracted link, content associated with the page referenced by the extracted link, a plurality of additional links included in the page referenced by the extracted link.
  • 6. The method of claim 3, the storing the characterization data for use in responding to an access request further comprising indexing the characterization data.
  • 7. The method of claim 6, the indexing the characterization data comprising utilizing a category index, the category index mapping categories to the characterization data.
  • 8. A non-transitory computer readable storage medium for tangibly storing computer program instructions capable of being executed by a computer processor, the computer program instructions defining the steps of: receiving, at the computer processor, communications from senders to a user;creating, by the computer processor, profiles for the senders;extracting, by the computer processor, links from the communications in response to receiving the communications; andadding, by the computer processor, each of the extracted links to a respective profile for a sender of the communication from which the link is extracted.
  • 9. The computer readable storage medium of claim 8, the extracting links from the communications comprising identifying one or more elements in the communications matching a preset web page link textual pattern.
  • 10. The computer readable storage medium of claim 8, the computer program instructions further defining the steps of: characterizing, by the computer processor, content associated with each of the extracted links to provide characterization data; andstoring, by the computer processor in a memory, the characterization data for use in responding to an access request.
  • 11. The computer readable storage medium of claim 10, the characterizing content comprising generating a textual summary of the extracted links.
  • 12. The computer readable storage medium of claim 11, the generating the textual summary of the extracted links comprising analyzing a content source selected from the group consisting of a uniform resource locator (URL) of an extracted link, text content surrounding the extracted link, metadata associated with a page referenced by the extracted link, content associated with the page referenced by the extracted link, a plurality of additional links included in the page referenced by the extracted link.
  • 13. The computer readable storage medium of claim 10, the storing the characterization data for use in responding to an access request further comprising indexing the characterization data.
  • 14. The computer readable storage medium of claim 13, the indexing the characterization data comprising utilizing a category index, the category index mapping categories to the characterization data.
  • 15. An apparatus, comprising: a processor; anda storage medium for tangibly storing thereon program logic for execution by the processor, the program logic causing the processor to perform the operations of: receiving communications from senders to a user;creating profiles for the senders;extracting links from the communications in response to receiving the communications; andadding each of the extracted links to a respective profile for a sender of the communication from which the link is extracted.
  • 16. The apparatus of claim 15, the extracting links from the communications comprising identifying one or more elements in the communications matching a preset web page link textual pattern.
  • 17. The apparatus of claim 15, the operations further comprising: characterizing content associated with each of the extracted links to provide characterization data; andstoring, in memory, the characterization data for use in responding to an access request.
  • 18. The apparatus of claim 17, the characterizing content comprising generating a textual summary of the extracted links.
  • 19. The apparatus of claim 18, the generating the textual summary of the extracted links comprising analyzing a content source selected from the group consisting of a uniform resource locator (URL) of an extracted link, text content surrounding the extracted link, metadata associated with a page referenced by the extracted link, content associated with the page referenced by the extracted link, a plurality of additional links included in the page referenced by the extracted link.
  • 20. The apparatus of claim 17, the storing the characterization data for use in responding to an access request further comprising indexing the characterization data.
PRIORITY APPLICATION

This application is a continuation of and claims the benefit of U.S. patent application Ser. No. 15/953,365, filed Apr. 13, 2018, which is a continuation of and claims the benefit of U.S. patent application Ser. No. 14/739,370, filed on Jun. 15, 2015, which is a continuation of and claims the benefit of U.S. patent application Ser. No. 14/224,446, filed on Mar. 25, 2014, which is a continuation of and claims the benefit of U.S. patent application Ser. No. 12/180,503, filed on Jul. 25, 2008, which claims the benefit of U.S. Provisional Patent Application Ser. No. 60/951,880, filed on Jul. 25, 2007, entitled “Presentation of Personal and Public Data Queried Through Implicit Actions”, all of which are hereby incorporated by reference herein in their entirety.

US Referenced Citations (700)
Number Name Date Kind
5396647 Thompson et al. Mar 1995 A
5610915 Elliott et al. Mar 1997 A
5966714 Huang et al. Oct 1999 A
6020884 MacNaughton et al. Feb 2000 A
6154205 Carroll et al. Nov 2000 A
6285999 Page Sep 2001 B1
6321187 Squier et al. Nov 2001 B1
6385644 Devine et al. May 2002 B1
6405197 Gilmour Jun 2002 B2
6484196 Maurille Nov 2002 B1
6502131 Vaid et al. Dec 2002 B1
6510453 Apfel et al. Jan 2003 B1
6546393 Khan Apr 2003 B1
6560620 Ching May 2003 B1
6594654 Salam et al. Jul 2003 B1
6606744 Mikurak Aug 2003 B1
6615348 Gibbs Sep 2003 B1
6714967 Horvitz Mar 2004 B1
6721748 Knight et al. Apr 2004 B1
6816850 Culliss Nov 2004 B2
6832245 Isaacs et al. Dec 2004 B1
6931419 Lindquist Aug 2005 B1
6952805 Tafoya et al. Oct 2005 B1
6965918 Arnold et al. Nov 2005 B1
6996777 Hiipakka Feb 2006 B2
7003724 Newman Feb 2006 B2
7058892 MacNaughton et al. Jun 2006 B1
7076533 Knox et al. Jul 2006 B1
7085745 Klug Aug 2006 B2
7103806 Horvitz Sep 2006 B1
7149985 Crosby et al. Dec 2006 B1
7181518 Matsumoto et al. Feb 2007 B1
7185065 Holtzman et al. Feb 2007 B1
7187932 Barchi Mar 2007 B1
7237009 Fung et al. Jun 2007 B1
7246045 Rappaport et al. Jul 2007 B1
7272637 Himmelstein Sep 2007 B1
7289614 Twerdahl et al. Oct 2007 B1
7328242 McCarthy et al. Feb 2008 B1
7333976 Auerbach et al. Feb 2008 B1
7359894 Liebman et al. Apr 2008 B1
7383307 Kirkland et al. Jun 2008 B2
7444323 Martinez et al. Oct 2008 B2
7454464 Puthenkulam et al. Nov 2008 B2
7475109 Fletcher et al. Jan 2009 B1
7475113 Stolze Jan 2009 B2
7478361 Peteanu et al. Jan 2009 B2
7512788 Choi et al. Mar 2009 B2
7512814 Chen et al. Mar 2009 B2
7536384 Venkataraman et al. May 2009 B2
7539676 Aravamudan et al. May 2009 B2
7580363 Sorvari et al. Aug 2009 B2
7593995 He et al. Sep 2009 B1
7606860 Puthenkulam et al. Oct 2009 B2
7610341 Daniell Oct 2009 B2
7620407 Donald et al. Nov 2009 B1
7624103 Wiegering et al. Nov 2009 B2
7627598 Burke Dec 2009 B1
7634463 Katragadda et al. Dec 2009 B1
7639157 Whitley et al. Dec 2009 B1
7653695 Flury et al. Jan 2010 B2
7685144 Katragadda Mar 2010 B1
7692653 Petro et al. Apr 2010 B1
7698140 Bhardwaj et al. Apr 2010 B2
7702730 Spataro et al. Apr 2010 B2
7707249 Spataro et al. Apr 2010 B2
7707509 Naono et al. Apr 2010 B2
7716140 Nielsen et al. May 2010 B1
7720916 Fisher et al. May 2010 B2
7724878 Timmins et al. May 2010 B2
7725492 Sittig et al. May 2010 B2
7730010 Kishore et al. Jun 2010 B2
7743051 Kashyap et al. Jun 2010 B1
7752081 Calabria Jul 2010 B2
7756895 Emigh Jul 2010 B1
7756935 Gaucas Jul 2010 B2
7761436 Norton et al. Jul 2010 B2
7788260 Lunt et al. Aug 2010 B2
7805492 Thatcher et al. Sep 2010 B1
7818396 Dolin et al. Oct 2010 B2
7827208 Bosworth et al. Nov 2010 B2
7827265 Cheever et al. Nov 2010 B2
7831676 Nagar Nov 2010 B1
7831692 French et al. Nov 2010 B2
7836045 Schachter Nov 2010 B2
7836132 Qureshi et al. Nov 2010 B2
7836134 Pantalone Nov 2010 B2
7849141 Bellegarda et al. Dec 2010 B1
7849142 Clegg et al. Dec 2010 B2
7853602 Gorti et al. Dec 2010 B2
7853881 Aly Assal et al. Dec 2010 B1
7865562 Nesbitt et al. Jan 2011 B2
7870197 Lewis et al. Jan 2011 B2
7899806 Aravamudan et al. Mar 2011 B2
7899871 Kumar et al. Mar 2011 B1
7908647 Polis et al. Mar 2011 B1
7925690 Smith et al. Apr 2011 B2
7930430 Thatcher et al. Apr 2011 B2
7949611 Nielsen et al. May 2011 B1
7949627 Aravamudan et al. May 2011 B2
7970832 Perry, Jr. et al. Jun 2011 B2
7979569 Eisner et al. Jul 2011 B2
7991764 Rathod Aug 2011 B2
7996456 Gross Aug 2011 B2
8005806 Rupp et al. Aug 2011 B2
8028032 Laird-McConnell Sep 2011 B2
8032598 He et al. Oct 2011 B1
8055715 Bensky et al. Nov 2011 B2
8073928 Dolin et al. Dec 2011 B2
8086676 Palahnuk et al. Dec 2011 B2
8086968 McCaffrey et al. Dec 2011 B2
8112437 Katragadda et al. Feb 2012 B1
8140566 Boerries et al. Mar 2012 B2
8145791 Thatcher et al. Mar 2012 B2
8151358 Herold Apr 2012 B1
8161122 Sood et al. Apr 2012 B2
8200761 Tevanian Jun 2012 B1
8200808 Ishida Jun 2012 B2
8204897 Djabarov et al. Jun 2012 B1
8239197 Webb et al. Aug 2012 B2
8244848 Narayanan et al. Aug 2012 B1
8271025 Brisebois et al. Sep 2012 B2
8284783 Maufer et al. Oct 2012 B1
8291019 Rochelle et al. Oct 2012 B1
8296179 Rennison Oct 2012 B1
8316315 Portnoy et al. Nov 2012 B2
8363803 Gupta Jan 2013 B2
8365235 Hunt et al. Jan 2013 B2
8392409 Kashyap et al. Mar 2013 B1
8392836 Bau et al. Mar 2013 B1
8412174 Khosravi Apr 2013 B2
8423545 Cort et al. Apr 2013 B2
8433762 Wald et al. Apr 2013 B1
8443441 Stolfo et al. May 2013 B2
8447789 Geller May 2013 B2
8452745 Ramakrishna May 2013 B2
8463872 Pounds et al. Jun 2013 B2
8468168 Brezina et al. Jun 2013 B2
8495045 Wolf et al. Jul 2013 B2
8510389 Gurajada et al. Aug 2013 B1
8522257 Rupp et al. Aug 2013 B2
8549412 Brezina et al. Oct 2013 B2
8566306 Jones Oct 2013 B2
8600343 Brezina et al. Dec 2013 B2
8606335 Ozaki Dec 2013 B2
8620935 Rubin et al. Dec 2013 B2
8661002 Smith et al. Feb 2014 B2
8666035 Timmins et al. Mar 2014 B2
8694633 Mansfield et al. Apr 2014 B2
8706652 Yang et al. Apr 2014 B2
8717933 Fisher et al. May 2014 B2
8745060 Brezina et al. Jun 2014 B2
8754848 Holzer et al. Jun 2014 B2
8768291 Williams et al. Jul 2014 B2
8793625 Rhee et al. Jul 2014 B2
8818995 Guha Aug 2014 B1
8819234 Bauer et al. Aug 2014 B1
8849816 Burba et al. Sep 2014 B2
8850343 Klassen et al. Sep 2014 B2
8924956 Smith Dec 2014 B2
8930463 Bonforte et al. Jan 2015 B2
8972257 Bonforte Mar 2015 B2
8982053 Holzer et al. Mar 2015 B2
8984074 Monaco Mar 2015 B2
8990323 Hein et al. Mar 2015 B2
9009065 Reis et al. Apr 2015 B2
9020938 Cort et al. Apr 2015 B2
9058366 Brezina et al. Jun 2015 B2
9069825 Chang Jun 2015 B1
9087323 Hein et al. Jul 2015 B2
9159057 Monaco Oct 2015 B2
9195753 King et al. Nov 2015 B1
9195969 Bau et al. Nov 2015 B2
9235848 Gourley et al. Jan 2016 B1
9275118 Brezina et al. Mar 2016 B2
9275126 Smith et al. Mar 2016 B2
9298783 Brezina et al. Mar 2016 B2
9304621 Wakim et al. Apr 2016 B1
9501561 Rubin et al. Nov 2016 B2
9514466 Jacobson et al. Dec 2016 B2
9569529 Rubin et al. Feb 2017 B2
9584343 Brezina et al. Feb 2017 B2
9591086 Brezina et al. Mar 2017 B2
9594832 Rubin et al. Mar 2017 B2
9596308 Brezina et al. Mar 2017 B2
9685158 Bonforte Jun 2017 B2
9699258 Brezina et al. Jul 2017 B2
9716764 Brezina et al. Jul 2017 B2
9721228 Cort et al. Aug 2017 B2
9747583 Monaco Aug 2017 B2
9760866 Quintela et al. Sep 2017 B2
9800679 Hein et al. Oct 2017 B2
9819765 Thatcher et al. Nov 2017 B2
9842144 Cort et al. Dec 2017 B2
9842145 Cort et al. Dec 2017 B2
9954963 Brezina et al. Apr 2018 B2
10069924 Brezina et al. Sep 2018 B2
10078819 Bonforte Sep 2018 B2
10089986 Bonforte Oct 2018 B2
20010022792 Maeno et al. Sep 2001 A1
20010037407 Dragulev et al. Nov 2001 A1
20010049628 Icho Dec 2001 A1
20020007310 Long Jan 2002 A1
20020016818 Kirani et al. Feb 2002 A1
20020024536 Kahan et al. Feb 2002 A1
20020049751 Chen et al. Apr 2002 A1
20020054587 Baker et al. May 2002 A1
20020059402 Belanger May 2002 A1
20020059418 Bird et al. May 2002 A1
20020059425 Belfiore et al. May 2002 A1
20020073011 Brattain et al. Jun 2002 A1
20020073058 Kremer et al. Jun 2002 A1
20020076004 Brockenbrough et al. Jun 2002 A1
20020078090 Hwang et al. Jun 2002 A1
20020087647 Quine et al. Jul 2002 A1
20020091777 Schwartz Jul 2002 A1
20020103873 Ramanathan et al. Aug 2002 A1
20020103879 Mondragon Aug 2002 A1
20020107991 Maguire et al. Aug 2002 A1
20020116396 Somers et al. Aug 2002 A1
20020143871 Meyer et al. Oct 2002 A1
20020152216 Bouthors Oct 2002 A1
20020163539 Srinivasan Nov 2002 A1
20020194502 Sheth et al. Dec 2002 A1
20030028525 Santos et al. Feb 2003 A1
20030037116 Nolan et al. Feb 2003 A1
20030041030 Mansfield Feb 2003 A1
20030046311 Baidya et al. Mar 2003 A1
20030093483 Allen et al. May 2003 A1
20030114171 Miyamoto Jun 2003 A1
20030114956 Cullen et al. Jun 2003 A1
20030120608 Pereyra Jun 2003 A1
20030131062 Miyashita Jul 2003 A1
20030142125 Salmimaa et al. Jul 2003 A1
20030167324 Farnham et al. Sep 2003 A1
20030195937 Kircher, Jr. et al. Oct 2003 A1
20030204439 Cullen, III Oct 2003 A1
20030217106 Adar et al. Nov 2003 A1
20030220835 Barnes, Jr. Nov 2003 A1
20030220978 Rhodes Nov 2003 A1
20030220989 Tsuji et al. Nov 2003 A1
20030233419 Beringer Dec 2003 A1
20040002903 Stolfo et al. Jan 2004 A1
20040015547 Griffin et al. Jan 2004 A1
20040015554 Wilson Jan 2004 A1
20040034537 Gengarella et al. Feb 2004 A1
20040039630 Begole et al. Feb 2004 A1
20040056901 March et al. Mar 2004 A1
20040068545 Daniell et al. Apr 2004 A1
20040073616 Fellenstein et al. Apr 2004 A1
20040078443 Malik Apr 2004 A1
20040078444 Malik Apr 2004 A1
20040078445 Malik Apr 2004 A1
20040100497 Quillen et al. May 2004 A1
20040122904 Kim Jun 2004 A1
20040128355 Chao et al. Jul 2004 A1
20040128356 Bernstein et al. Jul 2004 A1
20040133561 Burke Jul 2004 A1
20040133809 Dahl et al. Jul 2004 A1
20040153504 Hutchinson et al. Aug 2004 A1
20040162878 Lewis et al. Aug 2004 A1
20040174964 Koch Sep 2004 A1
20040177048 Klug Sep 2004 A1
20040186851 Jhingan et al. Sep 2004 A1
20040202117 Wilson et al. Oct 2004 A1
20040205002 Layton Oct 2004 A1
20040210827 Burg et al. Oct 2004 A1
20040215726 Aming et al. Oct 2004 A1
20040215734 Nagai et al. Oct 2004 A1
20040236749 Cortright et al. Nov 2004 A1
20040260756 Forstall et al. Dec 2004 A1
20040268229 Paoli et al. Dec 2004 A1
20050015432 Cohen Jan 2005 A1
20050027699 Awadallah et al. Feb 2005 A1
20050027779 Schinner Feb 2005 A1
20050038687 Galdes Feb 2005 A1
20050044152 Hardy et al. Feb 2005 A1
20050049896 Giunta Mar 2005 A1
20050055409 Alsarraf et al. Mar 2005 A1
20050055639 Fogg Mar 2005 A1
20050060638 Mathew et al. Mar 2005 A1
20050076090 Thuerk Apr 2005 A1
20050076221 Olkin et al. Apr 2005 A1
20050080868 Malik Apr 2005 A1
20050090911 Ingargiola et al. Apr 2005 A1
20050091272 Smith et al. Apr 2005 A1
20050091314 Blagsvedt et al. Apr 2005 A1
20050091401 Keohane et al. Apr 2005 A1
20050102257 Onyon et al. May 2005 A1
20050102361 Winjum et al. May 2005 A1
20050108273 Brebner May 2005 A1
20050131888 Tafoya et al. Jun 2005 A1
20050138070 Huberman et al. Jun 2005 A1
20050138631 Bellotti et al. Jun 2005 A1
20050140653 Pletikosa et al. Jun 2005 A1
20050149620 Kirkland et al. Jul 2005 A1
20050159970 Buyukkokten et al. Jul 2005 A1
20050164704 Winsor Jul 2005 A1
20050165584 Boody et al. Jul 2005 A1
20050165893 Feinberg et al. Jul 2005 A1
20050172234 Chuchla Aug 2005 A1
20050188028 Brown et al. Aug 2005 A1
20050198159 Kirsch Sep 2005 A1
20050198299 Beck et al. Sep 2005 A1
20050198305 Pezaris et al. Sep 2005 A1
20050203929 Hazarika et al. Sep 2005 A1
20050204009 Hazarika et al. Sep 2005 A1
20050210111 Fukudome Sep 2005 A1
20050213511 Reece et al. Sep 2005 A1
20050216300 Appelman et al. Sep 2005 A1
20050222890 Cheng et al. Oct 2005 A1
20050223315 Shimizu et al. Oct 2005 A1
20050228881 Reasor et al. Oct 2005 A1
20050228899 Wendkos et al. Oct 2005 A1
20050235224 Arend et al. Oct 2005 A1
20050278317 Gross et al. Dec 2005 A1
20050278321 Vailaya et al. Dec 2005 A1
20060004713 Korte et al. Jan 2006 A1
20060004892 Lunt et al. Jan 2006 A1
20060004914 Kelly et al. Jan 2006 A1
20060015533 Wolf et al. Jan 2006 A1
20060020398 Vernon et al. Jan 2006 A1
20060031340 Mathew et al. Feb 2006 A1
20060031775 Sattler et al. Feb 2006 A1
20060041508 Pham et al. Feb 2006 A1
20060047747 Erickson et al. Mar 2006 A1
20060053199 Pricken et al. Mar 2006 A1
20060056015 Nishiyama Mar 2006 A1
20060059151 Martinez et al. Mar 2006 A1
20060059238 Slater et al. Mar 2006 A1
20060064431 Kishore et al. Mar 2006 A1
20060064434 Gilbert et al. Mar 2006 A1
20060065733 Lee et al. Mar 2006 A1
20060074932 Fong et al. Apr 2006 A1
20060075046 Yozell-Epstein et al. Apr 2006 A1
20060083357 Howell et al. Apr 2006 A1
20060083358 Fong et al. Apr 2006 A1
20060085752 Beadle et al. Apr 2006 A1
20060095331 O'Malley et al. May 2006 A1
20060095502 Lewis et al. May 2006 A1
20060101285 Chen et al. May 2006 A1
20060101334 Liao et al. May 2006 A1
20060101350 Scott May 2006 A1
20060106793 Liang May 2006 A1
20060123357 Okamura Jun 2006 A1
20060129844 Oshikiri Jun 2006 A1
20060136494 Oh Jun 2006 A1
20060168059 Chang et al. Jul 2006 A1
20060168073 Kogan et al. Jul 2006 A1
20060173824 Bensky et al. Aug 2006 A1
20060173961 Turski et al. Aug 2006 A1
20060179415 Cadiz et al. Aug 2006 A1
20060195361 Rosenberg Aug 2006 A1
20060195474 Cadiz et al. Aug 2006 A1
20060195785 Portnoy et al. Aug 2006 A1
20060217116 Cassett et al. Sep 2006 A1
20060218111 Cohen Sep 2006 A1
20060224675 Fox et al. Oct 2006 A1
20060224938 Fikes et al. Oct 2006 A1
20060242536 Yokokawa et al. Oct 2006 A1
20060242609 Potter et al. Oct 2006 A1
20060248151 Belakovskiy et al. Nov 2006 A1
20060256008 Rosenberg Nov 2006 A1
20060265460 Kiyohara Nov 2006 A1
20060271630 Bensky et al. Nov 2006 A1
20060281447 Lewis et al. Dec 2006 A1
20060282303 Hale et al. Dec 2006 A1
20070005702 Tokuda et al. Jan 2007 A1
20070005715 LeVasseur et al. Jan 2007 A1
20070005750 Lunt et al. Jan 2007 A1
20070011367 Scott et al. Jan 2007 A1
20070016647 Gupta et al. Jan 2007 A1
20070022447 Arseneau et al. Jan 2007 A1
20070038720 Reding et al. Feb 2007 A1
20070050455 Yach et al. Mar 2007 A1
20070050711 Walker et al. Mar 2007 A1
20070060328 Zrike et al. Mar 2007 A1
20070071187 Apreutesei et al. Mar 2007 A1
20070073652 Taboada et al. Mar 2007 A1
20070078884 Ott et al. Apr 2007 A1
20070083651 Ishida Apr 2007 A1
20070088687 Bromm et al. Apr 2007 A1
20070106780 Famham et al. May 2007 A1
20070112761 Xu et al. May 2007 A1
20070115991 Ramani et al. May 2007 A1
20070118528 Choi et al. May 2007 A1
20070118533 Ramer et al. May 2007 A1
20070123222 Cox et al. May 2007 A1
20070124432 Holtzman et al. May 2007 A1
20070129977 Forney Jun 2007 A1
20070130527 Kim Jun 2007 A1
20070135110 Athale et al. Jun 2007 A1
20070143414 Daigle Jun 2007 A1
20070153989 Howell et al. Jul 2007 A1
20070156732 Surendran et al. Jul 2007 A1
20070162432 Armstrong et al. Jul 2007 A1
20070174304 Shrufi et al. Jul 2007 A1
20070174432 Rhee et al. Jul 2007 A1
20070177717 Owens et al. Aug 2007 A1
20070185844 Schachter Aug 2007 A1
20070192490 Minhas Aug 2007 A1
20070192699 Lee et al. Aug 2007 A1
20070198500 Lucovsky et al. Aug 2007 A1
20070203991 Fisher et al. Aug 2007 A1
20070208802 Barman et al. Sep 2007 A1
20070214141 Sittig et al. Sep 2007 A1
20070218900 Abhyanker Sep 2007 A1
20070244881 Cha et al. Oct 2007 A1
20070244977 Atkins Oct 2007 A1
20070250585 Ly et al. Oct 2007 A1
20070255794 Coutts Nov 2007 A1
20070266001 Williams et al. Nov 2007 A1
20070271527 Paas et al. Nov 2007 A1
20070273517 Govind Nov 2007 A1
20070282956 Staats Dec 2007 A1
20070288578 Pantalone Dec 2007 A1
20070294281 Ward et al. Dec 2007 A1
20070294428 Guy et al. Dec 2007 A1
20080005247 Khoo Jan 2008 A9
20080005249 Hart Jan 2008 A1
20080010460 Schuschan Jan 2008 A1
20080031241 Toebes et al. Feb 2008 A1
20080037721 Yao et al. Feb 2008 A1
20080040370 Bosworth et al. Feb 2008 A1
20080040435 Buschi et al. Feb 2008 A1
20080040474 Zuckerberg et al. Feb 2008 A1
20080040475 Bosworth et al. Feb 2008 A1
20080055263 Lemay et al. Mar 2008 A1
20080056269 Madhani et al. Mar 2008 A1
20080059428 Kinder Mar 2008 A1
20080065701 Lindstrom et al. Mar 2008 A1
20080071872 Gross Mar 2008 A1
20080077614 Roy Mar 2008 A1
20080104052 Ryan et al. May 2008 A1
20080113674 Baig May 2008 A1
20080114758 Rupp et al. May 2008 A1
20080119201 Kolber et al. May 2008 A1
20080120411 Eberle May 2008 A1
20080122796 Jobs et al. May 2008 A1
20080134081 Jeon et al. Jun 2008 A1
20080147639 Hartman et al. Jun 2008 A1
20080147810 Kumar et al. Jun 2008 A1
20080154751 Miles Jun 2008 A1
20080162347 Wagner Jul 2008 A1
20080162649 Lee et al. Jul 2008 A1
20080162651 Madnani Jul 2008 A1
20080163164 Chowdhary et al. Jul 2008 A1
20080170158 Jung et al. Jul 2008 A1
20080172362 Shacham et al. Jul 2008 A1
20080172464 Thattai et al. Jul 2008 A1
20080183832 Kirkland et al. Jul 2008 A1
20080189122 Coletrane et al. Aug 2008 A1
20080201304 Sue Aug 2008 A1
20080208812 Quoc et al. Aug 2008 A1
20080216092 Serlet Sep 2008 A1
20080220752 Forstall et al. Sep 2008 A1
20080222279 Cioffi et al. Sep 2008 A1
20080222546 Mudd et al. Sep 2008 A1
20080235353 Cheever et al. Sep 2008 A1
20080235681 Bamett Sep 2008 A1
20080242277 Chen et al. Oct 2008 A1
20080243841 Bonnet et al. Oct 2008 A1
20080244070 Kita et al. Oct 2008 A1
20080261569 Britt et al. Oct 2008 A1
20080270038 Partovi et al. Oct 2008 A1
20080270939 Mueller Oct 2008 A1
20080275748 John Nov 2008 A1
20080275865 Kretz et al. Nov 2008 A1
20080290987 Li Nov 2008 A1
20080293403 Quon et al. Nov 2008 A1
20080301166 Sugiyama et al. Dec 2008 A1
20080301175 Applebaum et al. Dec 2008 A1
20080301245 Estrada et al. Dec 2008 A1
20080307046 Baek et al. Dec 2008 A1
20080307066 Amidon et al. Dec 2008 A1
20080313650 Arnquist et al. Dec 2008 A1
20080319943 Fischer Dec 2008 A1
20080320417 Begley et al. Dec 2008 A1
20090005076 Forstall et al. Jan 2009 A1
20090006366 Johnson et al. Jan 2009 A1
20090010353 She et al. Jan 2009 A1
20090012806 Ricordi et al. Jan 2009 A1
20090029674 Brezina et al. Jan 2009 A1
20090030773 Kamhoot Jan 2009 A1
20090030872 Brezina et al. Jan 2009 A1
20090030919 Brezina et al. Jan 2009 A1
20090030927 Cases et al. Jan 2009 A1
20090030933 Brezina et al. Jan 2009 A1
20090030940 Brezina et al. Jan 2009 A1
20090031232 Brezina et al. Jan 2009 A1
20090031244 Brezina et al. Jan 2009 A1
20090031245 Brezina et al. Jan 2009 A1
20090037541 Wilson Feb 2009 A1
20090041224 Bychkov et al. Feb 2009 A1
20090048994 Applebaum et al. Feb 2009 A1
20090054091 van Wijk et al. Feb 2009 A1
20090070412 D'Angelo et al. Mar 2009 A1
20090076795 Bangalore et al. Mar 2009 A1
20090077026 Yanagihara Mar 2009 A1
20090082038 McKiou et al. Mar 2009 A1
20090083278 Zhao et al. Mar 2009 A1
20090100384 Louch Apr 2009 A1
20090106415 Brezina et al. Apr 2009 A1
20090106676 Brezina et al. Apr 2009 A1
20090111495 Sjolin et al. Apr 2009 A1
20090112678 Luzardo Apr 2009 A1
20090119678 Shih et al. May 2009 A1
20090125321 Charlebois et al. May 2009 A1
20090125462 Krishnaswamy et al. May 2009 A1
20090125517 Krishnaswamy et al. May 2009 A1
20090125585 Krishnaswamy et al. May 2009 A1
20090132949 Bosarge May 2009 A1
20090138546 Cruzada May 2009 A1
20090150251 Zhitomirsky Jun 2009 A1
20090156170 Rossano et al. Jun 2009 A1
20090157717 Palahnuk et al. Jun 2009 A1
20090164902 Cohen et al. Jun 2009 A1
20090171930 Vaughan et al. Jul 2009 A1
20090171979 Lubarski et al. Jul 2009 A1
20090174680 Anzures et al. Jul 2009 A1
20090177754 Brezina et al. Jul 2009 A1
20090182552 Fyke et al. Jul 2009 A1
20090182788 Chung et al. Jul 2009 A1
20090187991 Freericks et al. Jul 2009 A1
20090191899 Wilson et al. Jul 2009 A1
20090198688 Venkataraman et al. Aug 2009 A1
20090204903 Edelen et al. Aug 2009 A1
20090209286 Bentley et al. Aug 2009 A1
20090213088 Hardy et al. Aug 2009 A1
20090216847 Krishnaswamy et al. Aug 2009 A1
20090217178 Niyogi et al. Aug 2009 A1
20090228555 Joviak et al. Sep 2009 A1
20090234815 Boerries et al. Sep 2009 A1
20090234925 Seippel, III et al. Sep 2009 A1
20090240669 Ando et al. Sep 2009 A1
20090248415 Jablokov et al. Oct 2009 A1
20090249198 Davis et al. Oct 2009 A1
20090271370 Jagadish et al. Oct 2009 A1
20090271409 Ghosh Oct 2009 A1
20090276713 Eddy Nov 2009 A1
20090299824 Barnes, Jr. Dec 2009 A1
20090300127 Du Dec 2009 A1
20090300546 Kwok et al. Dec 2009 A1
20090300596 Tyhurst et al. Dec 2009 A1
20090306981 Cromack et al. Dec 2009 A1
20090313573 Paek et al. Dec 2009 A1
20090319329 Aggarwal et al. Dec 2009 A1
20090327226 Brito et al. Dec 2009 A1
20090327849 Kavanagh et al. Dec 2009 A1
20090328161 Puthenkulam et al. Dec 2009 A1
20100009332 Yaskin et al. Jan 2010 A1
20100015954 Yang Jan 2010 A1
20100030715 Eustice et al. Feb 2010 A1
20100036833 Yeung et al. Feb 2010 A1
20100049534 Whitnah et al. Feb 2010 A1
20100057858 Shen et al. Mar 2010 A1
20100057859 Shen et al. Mar 2010 A1
20100060595 Lee et al. Mar 2010 A1
20100062753 Wen et al. Mar 2010 A1
20100070875 Turski et al. Mar 2010 A1
20100073284 Dods et al. Mar 2010 A1
20100077041 Cowan et al. Mar 2010 A1
20100082693 Hugg et al. Apr 2010 A1
20100083182 Liu et al. Apr 2010 A1
20100088340 Muller et al. Apr 2010 A1
20100094869 Ebanks Apr 2010 A1
20100094911 Bird Apr 2010 A1
20100100899 Bradbury et al. Apr 2010 A1
20100121831 Lin et al. May 2010 A1
20100131447 Creutz et al. May 2010 A1
20100153832 Markus et al. Jun 2010 A1
20100158214 Gravino et al. Jun 2010 A1
20100161547 Carmel et al. Jun 2010 A1
20100161729 Leblanc et al. Jun 2010 A1
20100162171 Felt et al. Jun 2010 A1
20100164957 Lindsay et al. Jul 2010 A1
20100167700 Brock et al. Jul 2010 A1
20100169327 Lindsay et al. Jul 2010 A1
20100174784 Levey et al. Jul 2010 A1
20100185610 Lunt et al. Jul 2010 A1
20100191844 He et al. Jul 2010 A1
20100216509 Riemer et al. Aug 2010 A1
20100228560 Balasaygun et al. Sep 2010 A1
20100229096 Maiocco et al. Sep 2010 A1
20100229157 Ergan et al. Sep 2010 A1
20100229223 Shepard et al. Sep 2010 A1
20100235375 Sidhu et al. Sep 2010 A1
20100241579 Bassett et al. Sep 2010 A1
20100250682 Goldberg et al. Sep 2010 A1
20100273456 Wolovitz et al. Oct 2010 A1
20100275128 Ward et al. Oct 2010 A1
20100281535 Perry, Jr et al. Nov 2010 A1
20100306185 Smith et al. Dec 2010 A1
20100312837 Bodapati et al. Dec 2010 A1
20100318614 Sager et al. Dec 2010 A1
20100330972 Angiolillo Dec 2010 A1
20110010423 Thatcher et al. Jan 2011 A1
20110035451 Smith et al. Feb 2011 A1
20110040726 Crosbie et al. Feb 2011 A1
20110072052 Skarin et al. Mar 2011 A1
20110078259 Rashad et al. Mar 2011 A1
20110086627 Khosravi Apr 2011 A1
20110087969 Hein et al. Apr 2011 A1
20110119593 Jacobson et al. May 2011 A1
20110123005 Segall et al. May 2011 A1
20110145192 Quintela et al. Jun 2011 A1
20110145219 Cierniak et al. Jun 2011 A1
20110173274 Sood Jul 2011 A1
20110173547 Lewis et al. Jul 2011 A1
20110191337 Cort et al. Aug 2011 A1
20110191340 Cort et al. Aug 2011 A1
20110191717 Cort et al. Aug 2011 A1
20110191768 Smith Aug 2011 A1
20110196802 Ellis et al. Aug 2011 A1
20110201275 Jabara et al. Aug 2011 A1
20110202532 Nakazawa et al. Aug 2011 A1
20110219317 Thatcher et al. Sep 2011 A1
20110225293 Rathod Sep 2011 A1
20110231396 Dhara et al. Sep 2011 A1
20110231407 Gupta et al. Sep 2011 A1
20110231499 Stovicek et al. Sep 2011 A1
20110235790 Strope et al. Sep 2011 A1
20110252383 Miyashita Oct 2011 A1
20110276396 Rathod Nov 2011 A1
20110282905 Polis et al. Nov 2011 A1
20110291860 Ozaki et al. Dec 2011 A1
20110291933 Holzer et al. Dec 2011 A1
20110298701 Holzer et al. Dec 2011 A1
20110302123 Nista et al. Dec 2011 A1
20110302509 Leacock et al. Dec 2011 A1
20120011204 Morin et al. Jan 2012 A1
20120017158 Maguire et al. Jan 2012 A1
20120023416 Khoo Jan 2012 A1
20120036254 Onuma Feb 2012 A1
20120041907 Wang et al. Feb 2012 A1
20120054681 Cort et al. Mar 2012 A1
20120060102 Shohfi et al. Mar 2012 A1
20120079023 Tejada-Gamero et al. Mar 2012 A1
20120084461 Athias et al. Apr 2012 A1
20120089678 Cort et al. Apr 2012 A1
20120089690 Hein et al. Apr 2012 A1
20120110080 Panyam et al. May 2012 A1
20120110096 Smarr et al. May 2012 A1
20120150970 Peterson et al. Jun 2012 A1
20120150978 Monaco et al. Jun 2012 A1
20120150979 Monaco Jun 2012 A1
20120166999 Thatcher et al. Jun 2012 A1
20120197871 Mandel et al. Aug 2012 A1
20120198348 Park Aug 2012 A1
20120204089 Boudreau et al. Aug 2012 A1
20120246065 Yarvis et al. Sep 2012 A1
20120259834 Broder et al. Oct 2012 A1
20120271822 Schwendimann et al. Oct 2012 A1
20120278428 Harrison et al. Nov 2012 A1
20120310977 Bush et al. Dec 2012 A1
20120330658 Bonforte Dec 2012 A1
20120330980 Rubin et al. Dec 2012 A1
20120331418 Bonforte Dec 2012 A1
20130007627 Monaco Jan 2013 A1
20130014021 Bau et al. Jan 2013 A1
20130053074 Sanchez et al. Feb 2013 A1
20130080915 Lewis et al. Mar 2013 A1
20130091288 Shalunov et al. Apr 2013 A1
20130120444 Allyn et al. May 2013 A1
20130173712 Monjas Llorente et al. Jul 2013 A1
20130246931 Harris et al. Sep 2013 A1
20130260795 Papakipos et al. Oct 2013 A1
20140011481 Kho Jan 2014 A1
20140081914 Smith et al. Mar 2014 A1
20140081964 Rubin et al. Mar 2014 A1
20140087687 Brezina et al. Mar 2014 A1
20140089304 Rubin et al. Mar 2014 A1
20140089411 Rubin et al. Mar 2014 A1
20140095433 Cort et al. Apr 2014 A1
20140100861 Ledet Apr 2014 A1
20140115086 Chebiyyam Apr 2014 A1
20140156650 Jacobson Jun 2014 A1
20140207761 Brezina et al. Jul 2014 A1
20140214981 Mallet et al. Jul 2014 A1
20140215626 Pam et al. Jul 2014 A1
20140280094 Brandstetter Sep 2014 A1
20140280097 Lee et al. Sep 2014 A1
20140287786 Bayraktar et al. Sep 2014 A1
20150074213 Monaco Mar 2015 A1
20150170650 Bonforte Jun 2015 A1
20150222719 Hein et al. Aug 2015 A1
20160070787 Brezina et al. Mar 2016 A1
20160147899 Smith et al. May 2016 A1
20160182661 Brezina et al. Jun 2016 A1
20170083190 Jacobson et al. Mar 2017 A1
20170147699 Rubin et al. May 2017 A1
20170171124 Brezina et al. Jun 2017 A1
20170187663 Brezina et al. Jun 2017 A1
20170287483 Bonforte Oct 2017 A1
20170302749 Brezina et al. Oct 2017 A1
20170324821 Brezina et al. Nov 2017 A1
20170337514 Cort et al. Nov 2017 A1
20170372265 Quintela et al. Dec 2017 A1
20180046985 Monaco Feb 2018 A1
20180095970 Cort et al. Apr 2018 A1
Foreign Referenced Citations (14)
Number Date Country
101351818 Jan 2009 CN
0944002 Sep 1999 EP
2003006116 Jan 2003 JP
2007249307 Sep 2007 JP
20060056015 May 2006 KR
1020090068819 Jun 2009 KR
1020090112257 Oct 2009 KR
1020090115239 Nov 2009 KR
1020020060386 Aug 2012 KR
2003098515 Nov 2003 WO
2007037875 Apr 2007 WO
2007143232 Dec 2007 WO
2012082886 Jun 2012 WO
2012082929 Jun 2012 WO
Non-Patent Literature Citations (33)
Entry
“OpenSocial Specification v0.9”, OpenSocial and Gadgets Specification Group, Apr. 2009.
“The Ultimate Guide for Everything Twitter”, Webdesigner Depot, archive.org copy of webpage https://web.archive.org/web/20090325042115/http://www.webdesignerdepot.com/2009/03/the-ultimate-guide-for-everything-twitter/ from Mar. 25, 2009.
Android-Tips.com, “Android Tips & Tricks: How to Import Contacts into Android Phone,” located at http://android-tips. com/how-to-import-contacts-into-android/, Nov. 17, 2008 (document provided includes third-party comments submitted under the USPTO PeerToPatent program).
Bernstein, Michael S. et al., “Enhancing Directed Content Sharing on the Web,” Proceedings of the 28th International Conference on Human Factors in Computing Systems, Atlanta, GA, Apr. 10-15, 2010, pp. 971-980.
Carvalho, Vitor R. et al., “Ranking Users for Intelligent Message Addressing,” Proceedings of the 30th European Conference on Information Retrieval, Glasgow, England, Mar. 30-Apr. 3, 2008, pp. 321-333.
Culotta, Aron et al., “Extracting Social Networks and Contact Information from Email and the Web,” Proceedings of the First Conference on Email and Anti-Spam (CEAS), Mountain View, CA, Jul. 30-31, 2004 (document provided includes third-party comments submitted under the USPTO PeerToPatent program).
Elsayed, Tamer et al., “Personal Name Resolution in Email: A Heuristic Approach,” University of Maryland Technical Report No. TR-LAMP-150, Mar. 17, 2008.
Epstein, “Harnessing User Data to Improve Facebook Features”, Doctoral dissertation, Boston College, May 12, 2010.
European Patent Application No. 11849271.9, Extended Search Report, dated Apr. 3, 2014.
European Patent Application No. 12801970.0, Extended Search Report, dated Oct. 23, 2014.
European Patent Application 12801998.1, Extended Search Report, dated Feb. 10, 2015.
European Patent Application No. 10797483.4, extended European Search Report, dated Dec. 20, 2016.
Extended European Search Report, EP 10 78 3783, dated Mar. 24, 2014.
Fitzpatrick, Brad, “AddressBooker,” Github Social Coding, located at http://addressbooker.appspot.com/, Nov. 28, 2008 (document provided includes third-party comments submitted under the USPTO PeerToPatent program).
Google Inc. “OpenSocial Tutorial,” located at http://code.google.com/apis/opensocial/articles/tutorial/tutorial-0 8.html, Aug. 2008.
Google Inc., “Automatic Updating of Contacts,” Gmail help forum, located at http://74.125.4.16/support/forum/p/gmail/thread?tid=03f7b692150d9242&hl=en, Apr. 27, 2009 (document provided includes third-party comments submitted under the USPTO PeerToPatent program).
Hillebrand, Tim, “Plaxo: The Smart Auto Update Address Book,” Smart Phone Mag, located at http://www. smartphonemag.com/cms/blogs/9/plaxo_the_smart_auto_update_address_book, Nov. 6, 2006 (document provided includes third-party comments submitted under the USPTO PeerToPatent program).
Hannon et al., “Recommending Twitter Users to Follow Using Content and Collaborative Filtering Approaches”, RecSys2010, Sep. 26-30, 2010, Barcelona, Spain.
International Patent Application PCT/US10/34782, International Search Report and Written Opinion, dated Dec. 22, 2010.
International Patent Application PCT/US10/35405, International Search Report and Written Opinion, dated Jan. 3, 2011.
International Patent Application PCT/US10/52081, International Search Report and Written Opinion, dated May 20, 2011.
International Patent Application PCT/US10/56560, International Search Report and Written Opinion, dated Jun. 21, 2011.
International Patent Application PCT/US11/64958, International Search Report and Written Opinion, dated Jul. 31, 2012.
International Patent Application PCT/US12/043523, International Search Report and Written Opinion, dated Nov. 28, 2012.
International Patent Application PCT/US2011/064892, International Search Report and Written Opinion, dated Aug. 22, 2012.
International Patent Application PCT/US2012/043507, International Search Report and Written Opinion, dated Jan. 3, 2013.
Microsoft Corporation, “About AutoComplete Name Suggesting,” Microsoft Outlook 2003 help forum, located at http://office microsoft.com/en-us/outlook/HP063766471033.aspx, 2003.
Oberhaus, Kristin, “Look for Cues: Targeting Without Personally Identifiable Information,” W3i, LLC blog entry located at http://blog.w3i.com/2009/09/03/looking-for-cues-targeting-without-personally-identifiable-information/, Sep. 3, 2009.
OpenSocial Foundation, “Social Application Tutorial (v0.9),” located at http://wiki.opensocial.org/index.php?title=Social_Application_Tutorial, accessed Oct. 8, 2010.
PCWorld Communications, Inc., “Your Contacts Are Forever: Self-Updating Address Book,” located at http://www.pcworld.com/article/48192/your_contacts_are_forever_selfupdating_address_book.html, May 1, 2001 (document provided includes third-party comments submitted under the USPTO PeerToPatent program).
U.S. Appl. No. 61/407,018, filed Oct. 27, 2010.
W3i, LLC, “Advertiser Feedback System (AFS),” company product description. Sep. 22, 2009.
Wikimedia Foundation, Inc., “Machine Learning,” Wikipedia encyclopedia entry located at http://en.wikipedia.org/wiki/Machine_learning, Jan. 30, 2011.
Related Publications (1)
Number Date Country
20190342408 A1 Nov 2019 US
Provisional Applications (1)
Number Date Country
60951880 Jul 2007 US
Continuations (4)
Number Date Country
Parent 15953365 Apr 2018 US
Child 16509640 US
Parent 14739370 Jun 2015 US
Child 15953365 US
Parent 14224446 Mar 2014 US
Child 14739370 US
Parent 12180503 Jul 2008 US
Child 14224446 US