At least some embodiments disclosed herein relate to data and information processing systems in general, and more particularly, but not limited to, personalizing or customizing an Internet or other online service based on data collected for a user of a computing device.
The Twitter online service previously has launched a so-called “Twitter Lists” feature that provides a way to organize the people that a person is following on the Twitter service. Twitter Lists are a “groups” feature and offer a way for a person to collect together other users on Twitter into groups so that the person can get an overview of what these other users are doing. These Twitter Lists are not static listings of users, but are curated Twitter streams of the latest tweets from a specified set of users.
A user can create a list that groups together people for whatever reason the user may decide (e.g., the members of the user's family), and then the user can get a snapshot of the things those other users are saying online by viewing the page for that particular list (i.e., the page for that specific Twitter List that the user created). This page includes a complete tweet stream for everyone on the list. These lists allow the user to organize the people the user is following into groups, and the lists allow the user to include people that the user is not following.
Because Twitter Lists create grouped tweet streams of the people that are on them, a user can use Lists to organize the user's tweets into groups based on anything the user desires. For example, a list of every employee at a company may be created. By viewing or following this company list, the user could easily see what all of the company's employees are tweeting about. The user can do the same thing with his or her co-workers, family, or friends, or just group Twitter users based on location, subject, or anything else the user may select.
When a user follows a Twitter List, the user is not actually following every user on the list, but is following the entire list—those users' tweets aren't added to the user's main stream. The user can then visit that list and view its tweet stream. This is why the user can also use Lists to follow people without really following them. For example, if there are users whose tweets a user would like to follow, but whom the user does not necessarily want in his or her main Twitter stream (e.g., they tweet too often for a user's personal liking), the user can add them to a list and then check up on their latest tweets every once in a while by viewing the user's list.
Systems and methods for personalizing or customizing an Internet or other online service based on data collected for a user of a computing device (e.g., a mobile device, a desktop computer, or other computing device) are described herein. Some embodiments are summarized in this section.
In one embodiment, a method includes: storing a plurality of person profiles for persons associated with communications received by a user of a computing device; receiving data associated with an online service; and filtering, using at least one processor, the data based on the plurality of person profiles, wherein the filtered data is for display to the user on the computing device (e.g., display via a web page presented on a desktop or laptop computer).
In one embodiment, each of the persons associated with the communications received by the user may be a person cc'd or copied on one of the communications, a person bcc'd or blind-copied on one of the communications, a sender of one of the communications, a recipient of one of the communications, or a person referenced in the body, text, or other content of one of the communications.
In various embodiments, the computing device may be a mobile device (e.g., an iPhone or Android device), a desktop computer, a laptop computer, a tablet computer, or a computing apparatus for presenting information on an advertising display or electronic billboard (e.g., a billboard in Times Square or other forms of display suitable for public presentation).
In another embodiment, a method includes: storing, using at least one processor, a plurality of person profiles for persons associated with communications received by a user of a computing device (e.g., a desktop computer); creating a list of persons available on an online service; receiving a feed (e.g., a list or stream of messages or other information) from the online service that is based on the list of persons; and customizing the feed based on the plurality of person profiles.
In another embodiment, a method includes: storing a plurality of person profiles for persons associated with communications received by a user of a computing device; determining a set of persons of the person profiles that are active on an online service; filtering the set of persons to provide a plurality of highly-ranked persons, the filtering based on the plurality of person profiles; and creating a list using the highly-ranked persons, wherein the list is for presentation to the user on the computing device.
The disclosure includes methods and apparatuses which perform these methods, including data processing systems which perform these methods, and computer readable media containing instructions which when executed on data processing systems cause the systems to perform these methods.
Other features will be apparent from the accompanying drawings and from the detailed description which follows.
The embodiments are illustrated by way of example and not limitation in the figures of the accompanying drawings in which like references indicate similar elements.
The following description and drawings are illustrative and are not to be construed as limiting. Numerous specific details are described to provide a thorough understanding. However, in certain instances, well known or conventional details are not described in order to avoid obscuring the description. References to one or an embodiment in the present disclosure are not necessarily references to the same embodiment; and, such references mean at least one.
Reference in this specification to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the disclosure. The appearances of the phrase “in one embodiment” in various places in the specification are not necessarily all referring to the same embodiment, nor are separate or alternative embodiments mutually exclusive of other embodiments. Moreover, various features are described which may be exhibited by some embodiments and not by others. Similarly, various requirements are described which may be requirements for some embodiments but not other embodiments.
In one embodiment, a server stores and analyzes data associated with a user of a computing device (e.g., a mobile device). The server may store the data, for example, in a database in the form of person profiles. The data collected may be associated with prior communications and/or other activity of the user on the mobile or other computing device (e.g., data extracted from prior emails or other communications received or sent by the user). The data may be, for example, extracted by the server in the course of the transmission of the communications, the mobile or other computing device may send the data to the server, and/or other approaches may be used by the server to collect the data. Numerous examples of various types of data (e.g., person profiles for callers associated with the user) that may be collected in a database for the user are described in U.S. patent application Ser. No. 12/792,698 and/or other of the patent applications and patent publications incorporated by reference above.
In one embodiment, data may be collected from multiple different devices. For example, data may be collected from a user of a web page, a desktop application, a mobile device, etc. Feeds as described herein (e.g., a curated feed or stream of more meaningful or relevant contacts) may be displayed on multiple different devices such as, for example, a mobile device, another computing platform presenting a web page to a user, as part of a user interface in a desktop application, or even on public or large-scale display or advertising devices (e.g., Times Square ticker feed display). In addition, the behavior of a user on a mobile and other devices may be observed to provide data as to the user's context, and data be collected from these observations (e.g., by a server or otherwise). For example, data may be collected from the behavior of a user when the user is interacting with a desktop application, or making selections or other actions within a web page, etc.
The data collected on the server may be used to customize the providing of an online service (e.g., the Twitter service and providing of Twitter feeds or tweets) to the user. In one embodiment, the data collected for the user represents an implicit or social graph of the user that is used to filter or select a subset of data from a larger set of data associated with the online service. For example, the social graph may be used by a user of Twitter to select new people to follow on the Twitter service, or to customize the Twitter feed (e.g., to select the people to include in the feed). The use of the social graph may be done on a real-time or other periodic, dynamic basis (e.g., as the collected data is updated on the server, changes in the customization of the online service may be implemented). In other embodiments, the online service may be a travel service, a texting service, an e-commerce service or yet other services.
In an alternative embodiment, filtering of a feed may be based on more than merely a ranking of contacts. More specifically, a feed may be filtered based on the ratio of noise to a contact's rank. In other words, a contact determined to be un-important (e.g., having a rank below a predetermined threshold) is still included in the feed even though the contact tweets infrequently (e.g., less than once or other given number of times in a given time period). However, if this un-important contact (e.g., a low-ranked person based on relevancy) is noisy (e.g., tweets frequently, say more than a predetermined number of tweets for a given time period), the contact will be excluded. This creates a more diverse feed without flooding a user with lots of undesirable information. Although volubility may be used for such a noise filter, in other embodiments content analysis, personal relationship distance, similarity in job distance, etc., could also be used.
In one embodiment, a mobile device of a user or a server associated with the mobile device or the user stores data (e.g., in a database in the form of person profiles) associated with prior communications and/or other activity of the user on the mobile device (e.g., data extracted from one of more of the following: prior communications such as email or text messages, voice messages, or other documents or information received by the user from the user's friends or other persons such as work associates). The other activity may include the manner or ways in which the user operates the mobile device (e.g., what buttons or functions or activated when the user has previously interacted with another person, or what online service is used by the user when previously interacting with another person). This collected data is used for determining a ranking of contacts for personalizing or customizing an online service.
In one embodiment, a ranking server (e.g., ranking server 123 of
Using this obtained data, the ranking server determines which of the most highly-ranked contacts are on the Twitter service (e.g., by matching Twitter screen names or other information from the Twitter service with corresponding or related data in person profiles previously extracted from user communications data), and then a Twitter List is created using these contacts. The Twitter List (or data from the Twitter List) is followed by the user (e.g., on the user's mobile device) or otherwise presented to the user. As an alternative to use of the Twitter List, these contacts may be indicated to the Twitter service as contacts to be followed by the user.
The foregoing process can be dynamic such that the rankings and selected contacts change, for example, hourly or daily or using another predetermined time period. The ranking server also may infer data from user behavior on his or her mobile device. For example, the ranking may be adjusted for certain criteria on a mobile phone due to a mobile device being more temporally-based or focused. In contrast, other criteria that is less temporally focused may be used, for example, on a desktop computer of the user, or for the user's Outlook email client/account.
Thus, different user contexts may be used to provide different rankings appropriate to those contexts, and thus different feeds of data may be provided from the Twitter service to different, particular devices of the user (e.g., a mobile device feed is different than a tablet computer feed). For example, the top 100 contacts for a user's phone may be different than the top 100 contacts for the user's desktop computer, or the top 100 contacts from use of Outlook email.
In one embodiment, the list of persons for a user to follow on Twitter may be selected based on a ranking determined from relevancy of each person to the user by ranking of each person from data collected on the server associated with the mobile device. For example, this ranking may be done as described for ranking of contacts in U.S. patent application Ser. No. 12/792,698, incorporated by reference above.
In another embodiment, a Twitter List is used. A user of the Twitter service can create a Twitter List (and any Twitter contact may be added to the user's list). This Twitter List will create a feed from everyone on the List (so the user does not have to actually follow them). A Twitter List for a user is created and the List is given a name (e.g., Bambi). The user signs onto the Twitter service, and a server creates this List on the user's account on behalf of the user. The user then may log in (e.g., log into www.twitter.com) to see the feed from the List.
A user interface with a List tab may be presented to the user, and the List is accessed using this tab. The user does not create this List herself—instead a server acting at the user's request creates this List for the user from one or more servers by analyzing the data previously collected for the user.
If the user clicks on a user screen, the user can see tweets from numerous contacts on the Twitter service. The List can be created for the user, and then the user may access this List from any computing device that is configured to access the Twitter service and that supports Twitter Lists (e.g., a Twitter client).
As was mentioned above for
Finally, it should be noted that a mouse-over user movement in the user interface provides the user access to typical Twitter operations (e.g. follow, reply, retweet); but again, this is for tweets the user is seeing because the ranking server has determined that these contacts are tweeters who are likely to be interesting to the logged-in user, even though the user is not explicitly following them on Twitter. Not depicted here is that these tweets are gleaned from the Twitter service by assembling a Twitter List consisting of the Twitter IDs that match the contacts that the ranking server has determined are meaningful to the user (and who have Twitter IDs).
In an alternative embodiment, a user's home stream and a user's curated stream (i.e., stream for more meaningful contacts) may be combined for presentation. More specifically, a display of combined tweets (not illustrated) that come from the user's home feed and the curated feed are presented to the user on a display of a computing device. For example, the user may be following people not in the curated list, and vice versa. This combined feed allows the user to see the tweets from both types of feeds at the same time (e.g., on a single display).
Additional specific, non-limiting examples of the collection of user data and personalization of an online service are now discussed below.
In one example, when a person wants to join the Twitter service (or the person may already be active on the Twitter service), the person typically needs or desires to determine who to follow immediately, and then determine over time who else the person should be following.
The ranking server (e.g., ranking server 123) analyzes the person's emails and determines who is important to the person by ranking her contacts. The ranking server uses email addresses and Twitter IDs to determine who is using the Twitter service and who the person's top-ranked contacts are. Based on this, the ranking server recommends that the person follow these people. The ranking server also can create a Twitter List using those identified people. The person gets a feed from this List as if the person were following these identified people.
This need is not unique to the Twitter service. Any social network may have a curation need. A user joining a network has to curate who it is that the user wants to be following, or in the case of the Facebook service, be friends with, or in the case of LinkedIn, to be connected with.
The relevancy ranking or selection process may be further tuned by looking at data for people that the user is currently following and determining some characteristics of those people, and using data related to these characteristics to predict other persons who would be appropriate or relevant for following. For example, for the LinkedIn service, suggestions for someone to be connected to in LinkedIn may be based in part on analyzing the current people that the user is connected with, and examining the connectedness of each such person in the user's inbox. If a person is not connected to above a predefined number of other people in the user's inbox, then the user is unlikely to desire to connect with them. If a person is connected to above a predefined number of other people that the user already knows (e.g., from inbox communications having a lot of emails from those other people), then the user is likely to want to be connected with that person (and a server may make the suggestion to connect to that person). Characteristics used to predict who the user may or may not want to connect with may be based on data from emails, phone calls, or other communications.
So, the approach described above may be used to curate a user's social network (automatically and dynamically, or manually). The above approach also lets a user know who the user should not follow (e.g., persons having a low relevancy ranking and/or as determined from other collected or user-specified data).
In one example, because many online networks are public (data from the network is made available publicly), the ranking server may present the data to a user as if the user had curated a list to follow or be connected with—the user does not actually have to curate it. So, in the case of the Twitter service, most people's tweets are public. The ranking server can offer to users an example of what the user's Twitter feed would have looked like if the user permitted the ranking server to rank persons to follow.
In one example, the curation of the Twitter or other service is done on an ongoing basis. For example, a user may have a change in his life situation, such as a job change, so that the user does not receive emails from a supervisor anymore. So, the supervisor's ranking will fall and the supervisor is automatically removed from being followed on Twitter due to her falling to a lower relevance (e.g., below a threshold number or defined limit). So, data for this person is dropped from the feed of data that is provided from the Twitter service. The relevancy rankings may be dynamically recalculated as often as desired (e.g., every minute, hour or daily), and the relevance of the persons on the list to follow will be calculated as the user's life changes.
There may be a default relevance that is set to cut off people below a certain relevance, or the user can set this. For example, the user may adjust by the number of messages that a the user will see per day in total from all persons. In another situation, the user may want to set the number of persons to watch, for example 100 persons, because each person tweets very little. If the persons tweet a lot, the user may set the list to follow at, for example, five persons.
Now discussing an exemplary screen from the Twitter service, the user sees a stream of classic tweets (e.g., some of these people have the word “Following” displayed underneath or near them, which indicates that the user is already explicitly following those people). For other persons on the screen, the user never explicitly followed those persons on Twitter. But the ranking server has determined that these are important people in the user's network, and has determined their Twitter IDs based on the email addresses of these people.
In one example, the graph of a user that the ranking server determines is an implicit graph, which is a set of relationships determined by inference based on the user's prior communications. The graphs from a traditional social network such as LinkedIn, Facebook, or Twitter, are explicit graphs, for which a user indicates with an action that connection or following is desired. The ranking server may use the implicit graph to curate the explicit graph.
In one example, the algorithm used by the ranking server to determine relevancy for person profiles on a mobile or other computing device may be further tuned for a specific online service. Each individual online service or network may require that the ranking server add characteristics that are not necessarily taken into account for other rankings (e.g., for a user's Outlook email account). For example, a user's nanny may be highly ranked in one network ranking because the user has a lot of communications with her, but the nanny may not fit well the characteristics statistically that would be considered a highly relevant match for LinkedIn. For example, the ranking server would notice that people on LinkedIn are fairly highly connected through the user's business email account. In another example, the ranking server would notice that the potential person to be ranked highly and selected has an email with a domain from a company that is recognized by a third-party ratings service such as Hoover.
In another example, a user looks at a home screen that includes the normal Twitter home screen. The same screen display intersperses data feeds for other persons that have been selected by the ranking server. So, the user can be provided with a single unified data stream (e.g., that includes everyone that a user would normally be following on his or her Twitter clients and further everyone that the user is implicitly following based on the ranking server selections). The order of the persons presented on the single screen is time-based (i.e., based on time of receipt of the data such as “22 minutes ago”). The implicitly-followed people can be shaded or indicated in some other way on the screen to distinguish them from the explicitly-followed people.
In one example, the ranking server primarily looks at communications data for the user. This may include location information. From all of this data, the ranking server develops a model of the user's relationships—this is the user's social graph. This social graph can be intersected with any online or public service. Value can be added to that public service based on this knowledge of the user's private world. Thus, private communications of the user may be used to build preferences data that can then be used on a third-party server to improve the relevance of that service for the user. This might be used, for example, for travel, or e-commerce, or public or other events. The user's private information may remain private because it is not shared with third parties when personalizing the service. The user only shares sufficient data to get a personalized service (e.g., this may be only a portion of the user's social graph).
In another example, the online service is the travel service TripAdvisor, which asks a user whether she wants to contact other friends of the user that have gone to similar places being considered by the user. The ranking server may tune down this list of people suggested by TripAdvisor to those who are most relevant to the user for requesting travel suggestions (e.g., in this particular context). There are other services (e.g., Beluga, GroupMe, or Blackberry Messenger) that may benefit from the implicit relationships as provided by the ranking server as opposed to relying merely on a user's explicit graph.
The ranking server 123 may include one or more web servers (or other types of data communication servers) to communicate with the user terminals (e.g., 141, 143, . . . , 145) and/or mobile devices. An online server 160 provides an online service to mobile device 150 and other mobile devices.
The ranking server 123 may be connected to a data storage facility to store user provided content, such as multimedia content, navigation data, preference data, etc. The ranking server 123 may also store or have access to stored person profiles 154.
Person profiles 154 (and/or person profiles 152) may be created and updated based on email or other communications to and from mobile device 150 and other mobile devices of various users. In an alternative embodiment, person profiles 152 may be stored in a memory of mobile device 150. During operation, mobile device 150 may access and use person profiles obtained locally from mobile device 150 and/or obtained over communication network 121 from ranking server 123.
User data 164 (e.g., data regarding Twitter users that is stored at online server 160 and used for providing the Twitter or other online service and/or data that is provided to or made accessible to users of the Twitter or other online service) may be accessed and used (e.g., by mobile device 150 and/or ranking server 123) for relevancy rankings and/or presentation of contacts as described herein. Mobile device 150 or ranking server 123 may access user data 164 or other data from online server 160.
Although
In some embodiments, a combination of client server architecture and peer to peer architecture can be used, in which one or more centralized servers may be used to provide some of the information and/or services and the peer to peer network is used to provide other information and/or services. Thus, embodiments of the disclosure are not limited to a particular architecture.
In
The inter-connect 202 interconnects the microprocessor(s) 203 and the memory 208 together and also interconnects them to a display controller and display device 207 and to peripheral devices such as input/output (I/O) devices 205 through an input/output controller(s) 206. Typical I/O devices include mice, keyboards, modems, network interfaces, printers, scanners, video cameras and other devices which are well known in the art.
The inter-connect 202 may include one or more buses connected to one another through various bridges, controllers and/or adapters. In one embodiment the I/O controller 206 includes a USB (Universal Serial Bus) adapter for controlling USB peripherals, and/or an IEEE-1394 bus adapter for controlling IEEE-1394 peripherals.
The memory 208 may include ROM (Read Only Memory), and volatile RAM (Random Access Memory) and non-volatile memory, such as hard drive, flash memory, etc.
Volatile RAM is typically implemented as dynamic RAM (DRAM) which requires power continually in order to refresh or maintain the data in the memory. Non-volatile memory is typically a magnetic hard drive, a magnetic optical drive, or an optical drive (e.g., a DVD RAM), or other type of memory system which maintains data even after power is removed from the system. The non-volatile memory may also be a random access memory.
The non-volatile memory can be a local device coupled directly to the rest of the components in the data processing system. A non-volatile memory that is remote from the system, such as a network storage device coupled to the data processing system through a network interface such as a modem or Ethernet interface, can also be used. In one embodiment, a data processing system as illustrated in
In one embodiment, a data processing system as illustrated in
In some embodiments, one or more servers of the system can be replaced with the service of a peer to peer network of a plurality of data processing systems, or a network of distributed computing systems. The peer to peer network, or a distributed computing system, can be collectively viewed as a server data processing system.
Embodiments of the disclosure can be implemented via the microprocessor(s) 203 and/or the memory 208. For example, the functionalities described can be partially implemented via hardware logic in the microprocessor(s) 203 and partially using the instructions stored in the memory 208. Some embodiments are implemented using the microprocessor(s) 203 without additional instructions stored in the memory 208. Some embodiments are implemented using the instructions stored in the memory 208 for execution by one or more general purpose microprocessor(s) 203. Thus, the disclosure is not limited to a specific configuration of hardware and/or software.
In
In
Various further embodiments are now here described. In one embodiment, a method, comprises: storing a plurality of person profiles for persons associated with communications received by a user of a computing device; receiving data associated with an online service; and filtering, using at least one processor, the data based on the plurality of person profiles, wherein the filtered data is for display to the user on the computing device. In one embodiment, a server includes the at least one processor, and the method further comprises sending the filtered data to the computing device for display.
In one embodiment, the computing device may be a mobile device, a desktop computer, a laptop computer, a tablet computer, or a computing apparatus for presenting information on an advertising display or electronic billboard.
In one embodiment, the method further comprises storing data associated with prior activities of the user on the computing device, and wherein the filtering the data is further based on the stored data. In one embodiment, the computing device includes the at least one processor, and the method further comprises presenting, using a display of the computing device, the filtered data to the user. In one embodiment, the presenting comprises displaying a feed of persons provided from an online service.
In one embodiment, the method further comprises using message addresses and online service identifiers to determine persons of the plurality of person profiles that are active on the online service. In one embodiment, the method further comprises suggesting to the user a list of persons to be followed on the online service based on the persons determined to be active. In one embodiment, the method further comprises ranking the plurality of person profiles, and wherein the filtering uses the ranking.
In one embodiment, a non-transitory computer-readable storage medium stores computer-readable instructions, which when executed, cause a computing apparatus to: store, using at least one processor, a plurality of person profiles for persons associated with communications received by a user of a computing device; create a list of persons available on an online service; receive a feed from the online service that is based on the list of persons; and customize the feed based on the plurality of person profiles.
In one embodiment, the server includes the at least one processor, and the instructions further cause the computing apparatus to send the customized feed to the computing device for display. In one embodiment, the instructions further cause the computing apparatus to store data associated with prior activities of the user on the computing device, and wherein the customizing of the feed is further based on the stored data.
In one embodiment, the instructions further cause the computing apparatus to rank the plurality of person profiles, and the customizing uses the ranking. In one embodiment, the ranking is a relevancy ranking.
In one embodiment, a system, comprises: at least one processor; and memory storing instructions configured to instruct the at least one processor to: store a plurality of person profiles for persons associated with communications received by a user of a computing device; determine a set of persons of the person profiles that are active on an online service; filter the set of persons to provide a plurality of highly-ranked persons, the filtering based on the plurality of person profiles; and create a list using the highly-ranked persons, wherein the list is for presentation to the user on the computing device.
In one embodiment, each of the persons associated with the communications received by the user is a person selected from the group consisting of: a person cc'd or copied on one of the communications, a person bcc'd or blind-copied on one of the communications, a sender of one of the communications, a recipient of one of the communications, and a person referenced in the body, text, or other content of one of the communications.
In one embodiment, the instructions are further configured to instruct the at least one processor to collect communications associated with the computing device. The list comprises messages from the highly-ranked persons. In one embodiment, the system further comprises a display, and wherein the instructions are further configured to instruct the at least one processor to present, using the display, the list to the user.
In one embodiment, the list comprises data for each of the highly-ranked persons, and wherein the data is selected from the plurality of person profiles. In one embodiment, the filtering uses a relevancy ranking for each of the plurality of person profiles. In one embodiment, the system further comprises a database storing the plurality of person profiles.
In this description, various functions and operations may be described as being performed by or caused by software code to simplify description. However, those skilled in the art will recognize what is meant by such expressions is that the functions result from execution of the code by a processor, such as a microprocessor. Alternatively, or in combination, the functions and operations can be implemented using special purpose circuitry, with or without software instructions, such as using an Application-Specific Integrated Circuit (ASIC) or a Field-Programmable Gate Array (FPGA). Embodiments can be implemented using hardwired circuitry without software instructions, or in combination with software instructions. Thus, the techniques are limited neither to any specific combination of hardware circuitry and software, nor to any particular source for the instructions executed by the data processing system.
While some embodiments can be implemented in fully functioning computers and computer systems, various embodiments are capable of being distributed as a computing product in a variety of forms and are capable of being applied regardless of the particular type of machine or computer-readable media used to actually effect the distribution.
At least some aspects disclosed can be embodied, at least in part, in software. That is, the techniques may be carried out in a computer system or other data processing system in response to its processor, such as a microprocessor, executing sequences of instructions contained in a memory, such as ROM, volatile RAM, non-volatile memory, cache or a remote storage device.
Routines executed to implement the embodiments may be implemented as part of an operating system, middleware, service delivery platform, SDK (Software Development Kit) component, web services, or other specific application, component, program, object, module or sequence of instructions referred to as “computer programs.” Invocation interfaces to these routines can be exposed to a software development community as an API (Application Programming Interface). The computer programs typically comprise one or more instructions set at various times in various memory and storage devices in a computer, and that, when read and executed by one or more processors in a computer, cause the computer to perform operations necessary to execute elements involving the various aspects.
A machine readable medium can be used to store software and data which when executed by a data processing system causes the system to perform various methods. The executable software and data may be stored in various places including for example ROM, volatile RAM, non-volatile memory and/or cache. Portions of this software and/or data may be stored in any one of these storage devices. Further, the data and instructions can be obtained from centralized servers or peer to peer networks. Different portions of the data and instructions can be obtained from different centralized servers and/or peer to peer networks at different times and in different communication sessions or in a same communication session. The data and instructions can be obtained in entirety prior to the execution of the applications. Alternatively, portions of the data and instructions can be obtained dynamically, just in time, when needed for execution. Thus, it is not required that the data and instructions be on a machine readable medium in entirety at a particular instance of time.
Examples of computer-readable media include but are not limited to recordable and non-recordable type media such as volatile and non-volatile memory devices, read only memory (ROM), random access memory (RAM), flash memory devices, floppy and other removable disks, magnetic disk storage media, optical storage media (e.g., Compact Disk Read-Only Memory (CD ROMS), Digital Versatile Disks (DVDs), etc.), among others. The computer-readable media may store the instructions.
The instructions may also be embodied in digital and analog communication links for electrical, optical, acoustical or other forms of propagated signals, such as carrier waves, infrared signals, digital signals, etc. However, propagated signals, such as carrier waves, infrared signals, digital signals, etc. are not tangible machine readable medium and are not configured to store instructions.
In general, a tangible machine readable medium includes any mechanism that provides (e.g., stores) information in a form accessible by a machine (e.g., a computer, network device, personal digital assistant, manufacturing tool, any device with a set of one or more processors, etc.).
In various embodiments, hardwired circuitry may be used in combination with software instructions to implement the techniques. Thus, the techniques are neither limited to any specific combination of hardware circuitry and software nor to any particular source for the instructions executed by the data processing system.
Although some of the drawings illustrate a number of operations in a particular order, operations which are not order dependent may be reordered and other operations may be combined or broken out. While some reordering or other groupings are specifically mentioned, others will be apparent to those of ordinary skill in the art and so do not present an exhaustive list of alternatives. Moreover, it should be recognized that the stages could be implemented in hardware, firmware, software or any combination thereof.
In the foregoing specification, the disclosure has been described with reference to specific exemplary embodiments thereof. It will be evident that various modifications may be made thereto without departing from the broader spirit and scope as set forth in the following claims. The specification and drawings are, accordingly, to be regarded in an illustrative sense rather than a restrictive sense.
The present application is a continuation application of U.S. patent application Ser. No. 13/531,337, filed on Jun. 22, 2012, which claims priority to U.S. Prov. App. Ser. No. 61/500,613, filed Jun. 24, 2011, both entitled “Personalizing an Online Service Based on Data Collected for a User of a Computing Device,” the entire disclosures of which applications are incorporated herein by reference. The present application is related to U.S. patent application Ser. No. 14/084,299, filed Nov. 19, 2013, entitled “Personalizing an Online Service Based on Data Collected for a User of a Computing Device”, by Rubin et al., the entire contents of which application are incorporated by reference as if fully set forth herein. The present application is also related to U.S. patent application Ser. No. 12/792,698, filed Jun. 2, 2010, entitled “SELF POPULATING ADDRESS BOOK,” by Smith et al., which was also published as U.S. Patent Publication No. 2010/0306185 on Dec. 2, 2010, the entire contents of which application are incorporated by reference as if fully set forth herein. The present application is also related to U.S. Patent Application Ser. No. 61/423,052, filed Dec. 14, 2010, entitled “SENDER-BASED RANKING OF PERSON PROFILES AND MULTI-PERSON AUTOMATIC SUGGESTIONS,” by Peter Monaco, and also to U.S. Patent Publication No. 2012/0150979 published on Jun. 14, 2012, and having the same title and inventor as the foregoing provisional application, the entire contents of which application are incorporated by reference as if fully set forth herein. The present application is also related to Patent Publication No. US 2009/0031232, published Jan. 29, 2009, entitled “METHOD AND SYSTEM FOR DISPLAY OF INFORMATION IN A COMMUNICATION SYSTEM GATHERED FROM EXTERNAL SOURCES,” by Brezina et al., the entire contents of which application are incorporated by reference as if fully set forth herein. The present application is also related to Patent Publication No. US 2009/0031245, published Jan. 29, 2009, entitled “METHOD AND SYSTEM FOR COLLECTING AND PRESENTING HISTORICAL COMMUNICATION DATA,” by Brezina et al., the entire contents of which application are incorporated by reference as if fully set forth herein. The present application is also related to Patent Publication No. US 2009/0106676, published Apr. 23, 2009, entitled “APPLICATION PROGRAMMING INTERFACES FOR COMMUNICATION SYSTEMS,” by Brezina et al., the entire contents of which application are incorporated by reference as if fully set forth herein.
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 |
6285999 | Page | Sep 2001 | B1 |
6385644 | Devine et al. | May 2002 | B1 |
6405197 | Gilmour | Jun 2002 | B2 |
6484196 | Maurille | Nov 2002 | B1 |
6510453 | Apfel et al. | Jan 2003 | B1 |
6560620 | Ching | May 2003 | B1 |
6594654 | Salam et al. | Jul 2003 | B1 |
6615348 | Gibbs | Sep 2003 | B1 |
6721748 | Knight et al. | Apr 2004 | B1 |
6931419 | Lindquist | Aug 2005 | B1 |
6952805 | Tafoya et al. | Oct 2005 | B1 |
6965918 | Arnold et al. | Nov 2005 | B1 |
6996777 | Hipakka | 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 |
7181518 | Matsumoto et al. | Feb 2007 | B1 |
7185065 | Holtzman et al. | Feb 2007 | B1 |
7246045 | Rappaport et al. | Jul 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 |
7512788 | Choi et al. | Mar 2009 | B2 |
7512814 | Chen et al. | Mar 2009 | B2 |
7536384 | Venkataraman et al. | May 2009 | B2 |
7539676 | Aravamudan | May 2009 | B2 |
7580363 | Sorvari et al. | Aug 2009 | B2 |
7593995 | He et al. | Sep 2009 | B1 |
7606860 | Puthenkulam et al. | 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 | May 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 | Aug 2010 | B2 |
7805492 | Thatcher et al. | Sep 2010 | B1 |
7818396 | Dolin et al. | Oct 2010 | B2 |
7827208 | Bosworth | Nov 2010 | B2 |
7827265 | Cheever et al. | Nov 2010 | B2 |
7831692 | French et al. | Nov 2010 | B2 |
7836045 | Schachter | 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 | 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 | 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 |
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 |
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 |
8284783 | Maufer et al. | Oct 2012 | B1 |
8291019 | Rochelle et al. | 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 |
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 |
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 |
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 |
8745060 | Brezina et al. | Jun 2014 | B2 |
8793625 | Rhee et al. | Jul 2014 | B2 |
8849816 | Burba et al. | Sep 2014 | B2 |
8972257 | Bonforte | Mar 2015 | B2 |
8984074 | Monaco | Mar 2015 | B2 |
8990323 | Hein et al. | Mar 2015 | B2 |
9020938 | Cort et al. | Apr 2015 | B2 |
9058366 | Brezina et al. | Jun 2015 | B2 |
9087323 | Hein et al. | Jul 2015 | B2 |
9159057 | Monaco | Oct 2015 | B2 |
9275118 | Brezina et al. | Mar 2016 | B2 |
9275126 | Smith et al. | Mar 2016 | B2 |
9298783 | Brezina et al. | Mar 2016 | B2 |
20010037407 | Dragulev et al. | Nov 2001 | A1 |
20010049628 | Icho | Dec 2001 | 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 |
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 |
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 |
20030093483 | Allen et al. | May 2003 | A1 |
20030114956 | Cullen et al. | Jun 2003 | A1 |
20030120608 | Pereyra | Jun 2003 | A1 |
20030142125 | Salmimaa et al. | Jul 2003 | A1 |
20030167324 | Farnham et al. | Sep 2003 | A1 |
20030204439 | Cullen, III | Oct 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 |
20040128355 | Chao et al. | Jul 2004 | A1 |
20040128356 | Bernstein et al. | Jul 2004 | A1 |
20040133561 | Burke | 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 | Arning et al. | Oct 2004 | A1 |
20040260756 | Forstall et al. | Dec 2004 | A1 |
20040268229 | Paoli et al. | Dec 2004 | A1 |
20050015432 | Cohen | Jan 2005 | A1 |
20050027779 | Schinner | Feb 2005 | A1 |
20050038687 | Galdes | Feb 2005 | A1 |
20050044152 | Hardy et al. | Feb 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 |
20050080868 | Malik | Apr 2005 | A1 |
20050091272 | Smith et al. | Apr 2005 | A1 |
20050091314 | Blagsvedt 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 |
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 |
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 |
20050213511 | Reece et al. | Sep 2005 | A1 |
20050216300 | Appelman et al. | Sep 2005 | A1 |
20050222890 | Cheng 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 |
20060004892 | Lunt | 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 |
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 |
20060085752 | Beadle et al. | Apr 2006 | A1 |
20060095502 | Lewis et al. | May 2006 | A1 |
20060101285 | Chen et al. | May 2006 | A1 |
20060101350 | Scott | May 2006 | A1 |
20060123357 | Okamura | Jun 2006 | A1 |
20060136494 | Oh | Jun 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 |
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 |
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 |
20070060328 | Zrike et al. | Mar 2007 | A1 |
20070071187 | Apreutesei et al. | Mar 2007 | A1 |
20070083651 | Ishida | Apr 2007 | A1 |
20070088687 | Bromm et al. | Apr 2007 | A1 |
20070106780 | Farnham et al. | May 2007 | A1 |
20070112761 | Xu et al. | May 2007 | A1 |
20070115991 | Ramani 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 |
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 |
20070203991 | Fisher et al. | Aug 2007 | A1 |
20070214141 | Sittig | Sep 2007 | A1 |
20070218900 | Abhyanker | Sep 2007 | A1 |
20070244881 | Cha et al. | Oct 2007 | A1 |
20070250585 | Ly et al. | Oct 2007 | A1 |
20070255794 | Coutts | 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 |
20070294428 | Guy et al. | Dec 2007 | A1 |
20080005247 | Khoo | Jan 2008 | A9 |
20080005249 | Hart | Jan 2008 | A1 |
20080031241 | Toebes et al. | Feb 2008 | A1 |
20080037721 | Yao et al. | Feb 2008 | A1 |
20080040370 | Bosworth | Feb 2008 | A1 |
20080040435 | Buschi et al. | Feb 2008 | A1 |
20080040474 | Zuckerberg | Feb 2008 | A1 |
20080040475 | Bosworth | Feb 2008 | A1 |
20080055263 | Lemay et al. | Mar 2008 | A1 |
20080056269 | Madhani et al. | 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 |
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 |
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 |
20080242277 | Chen 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 |
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 |
20080307066 | Amidon et al. | Dec 2008 | A1 |
20080319943 | Fischer | Dec 2008 | A1 |
20090005076 | Forstall et al. | Jan 2009 | A1 |
20090010353 | She et al. | Jan 2009 | A1 |
20090029674 | Brezina et al. | 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 | Mar 2009 | A1 |
20090077026 | Yanagihara | 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 |
20090119678 | Shih et al. | May 2009 | A1 |
20090156170 | Rossano et al. | Jun 2009 | A1 |
20090157717 | Palahnuk 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 |
20090182788 | Chung et al. | Jul 2009 | A1 |
20090191899 | Wilson et al. | Jul 2009 | A1 |
20090198688 | Venkataraman et al. | Aug 2009 | A1 |
20090209286 | Bentley et al. | Aug 2009 | A1 |
20090213088 | Hardy 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 |
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 |
20090300127 | Du | Dec 2009 | A1 |
20090300546 | Kwok 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 |
20090328161 | Puthenkulam et al. | Dec 2009 | A1 |
20100009332 | Yaskin et al. | Jan 2010 | A1 |
20100030715 | Eustice et al. | Feb 2010 | A1 |
20100036833 | Yeung et al. | Feb 2010 | A1 |
20100049534 | Whitnah | Feb 2010 | A1 |
20100057858 | Shen et al. | Mar 2010 | A1 |
20100057859 | Shen et al. | Mar 2010 | A1 |
20100062753 | Wen et al. | Mar 2010 | A1 |
20100070875 | Turski 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 |
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 | Jul 2010 | A1 |
20100167700 | Brock et al. | Jul 2010 | A1 |
20100169327 | Lindsay | Jul 2010 | A1 |
20100174784 | Levey et al. | Jul 2010 | A1 |
20100185610 | Lunt | 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 |
20100229223 | Shepard | Sep 2010 | A1 |
20100235375 | Sidhu et al. | Sep 2010 | A1 |
20100241579 | Bassett et al. | Sep 2010 | A1 |
20100250682 | Goldberg et al. | Sep 2010 | A1 |
20100281535 | Perry, Jr. et al. | Nov 2010 | A1 |
20100306185 | Smith | 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 |
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 | Aug 2011 | A1 |
20110196802 | Ellis | Aug 2011 | A1 |
20110201275 | Jabara | Aug 2011 | A1 |
20110219317 | Thatcher | Sep 2011 | A1 |
20110225293 | Rathod | Sep 2011 | A1 |
20110231407 | Gupta 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 | Dec 2011 | A1 |
20110291933 | Holzer et al. | Dec 2011 | A1 |
20110298701 | Holzer et al. | Dec 2011 | A1 |
20120011204 | Morin et al. | Jan 2012 | A1 |
20120017158 | Maguire et al. | Jan 2012 | A1 |
20120036254 | Onuma | Feb 2012 | A1 |
20120041907 | Wang et al. | Feb 2012 | A1 |
20120054681 | Cort et al. | Mar 2012 | A1 |
20120079023 | Tejada-Gamero et al. | Mar 2012 | A1 |
20120084461 | Athias et al. | Apr 2012 | A1 |
20120089678 | Cort | 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 | Jun 2012 | A1 |
20120197871 | Mandel et al. | Aug 2012 | A1 |
20120198348 | Park | 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 |
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 |
20130080915 | Lewis et al. | Mar 2013 | A1 |
20130091288 | Shalunov et al. | Apr 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 |
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 |
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 |
20160182661 | Brezina et al. | Jun 2016 | A1 |
Number | Date | Country |
---|---|---|
1013518118 | 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 |
1020020060386 | Aug 2012 | KR |
1020090115239 | Aug 2012 | KR |
03098515 | Nov 2003 | WO |
2007037875 | Apr 2007 | WO |
2007143232 | Dec 2007 | WO |
2012082886 | Jun 2012 | WO |
2012082929 | Jun 2012 | WO |
Entry |
---|
Hannon et al., “Recommending Twitter Users to Follow Using Content and Collaborative Filtering Approaches”, RecSys2010, Sep. 26-30, 2010, Barcelona, Spain. |
European Patent Application No. 11849271.9, Extended Search Report, Apr. 3, 2014. |
European Patent Application No. 12801970.0, Extended Search Report, Oct. 23, 2014. |
European Patent Application 12801998.1, Extended Search Report, Feb. 10, 2015. |
Extended European Search Report, EP 10 78 3783, dated Mar. 24, 2014. |
International Patent Application PCT/US10/52081, International Search Report and Written Opinion, May 20, 2011. |
International Patent Application PCT/US11/64958, International Search Report and Written Opinion, Jul. 31, 2012. |
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. |
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). |
International Patent Application PCT/US10/34782, International Search Report, Dec. 22, 2010. |
International Patent Application PCT/US10/34782, Written Opinion, Dec. 22, 2010. |
International Patent Application PCT/US10/35405, International Search Report and Written Opinion, Jan. 3, 2011. |
International Patent Application PCT/US12/043523, International Search Report and Written Opinion, Nov. 28, 2012. |
Microsoft Corporation, “About AutoComplete Name Suggesting,” Microsoft Outlook 2003 help forum, located at http://office.microsoft.com/en-us/outlook/HP063766471033.aspx, 2003. |
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). |
International Patent Application PCT/US2011/064892, International Search Report and Written Opinion, Aug. 22, 2012. |
International Patent Application PCT/US2012/043507, International Search Report and Written Opinion, Jan. 3, 2013. |
U.S. Appl. No. 61/407,018, filed Oct. 27, 2010. |
Epstein, “Harnessing User Data to Improve Facebook Features”, Doctoral dissertation, Boston College, May 12, 2010. |
International Patent Application PCT/US10/56560, International Search Report and Written Opinion, Jun. 21, 2011. |
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-identifiabie-information/, Sep. 3, 2009. |
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. |
“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. |
Number | Date | Country | |
---|---|---|---|
20140089304 A1 | Mar 2014 | US |
Number | Date | Country | |
---|---|---|---|
61500613 | Jun 2011 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 13531337 | Jun 2012 | US |
Child | 14089485 | US |