Creating contact entries on a computing device such as a mobile telephone is often time consuming. The small form factor of some of these devices, including the reduced keyboard size, makes it difficult to rapidly enter information such as the proper entity name, address, and complete telephone numbers. Some users occasionally cradle or otherwise connect their mobile telephones to a desktop or laptop computer to synchronize the contact information stored on the computer. However, many users fail to regularly synchronize their contacts, leaving the users with incomplete contact entries. Additionally, the information input by the user into the mobile computing device is basic.
Embodiments of the invention enable the creation or update of contact entries on a computing device based on call information. As a call on the computing device is detected, an identifier (e.g., telephone number) associated with the call is determined. Entity information for the identifier is generated. A subset of the entity information is selected based on filtering criteria. The selected subset of the entity information is associated with a contact entry for the identifier.
This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.
Corresponding reference characters indicate corresponding parts throughout the drawings.
Referring to the figures, embodiments of the disclosure create or update contact information based on calls between computing devices. The contents of the contact information varies and includes items or fields such as a name, work telephone number, home telephone number, street address, Internet protocol (IP) address for a voice-over-IP device, and any other information that can be linked with the person or organization. In some embodiments of the invention, the contact information is obtained based on one of the telephone numbers involved in the call. The contact information or other supplemental information may be obtained during the call or after the call has terminated, depending on the configuration and capabilities of the computing devices and network involved. Additionally, attempts to obtain the contact information may be triggered by outbound calls and/or inbound calls (e.g., including ignored or missed calls).
In some embodiments, the call represents a telephone call, VoIP call, text message, electronic mail message, or any other communication. In such embodiments, the detection of the communication triggers performance of the functionality described and illustrated herein. That is, aspects of the disclosure are not limited to telephone calls.
As shown in
A memory area 106 associated with the computing device 102 stores the address book 108. In the example of
The computing device 102 has a processor 104 associated therewith. The processor 104 is programmed to execute computer-executable instructions for implementing aspects of the disclosure. In an example in which the computing device 102 is the mobile computing device 204, the processor 104 is programmed to execute instructions such as those described in
The memory area 106 or other computer-readable media further stores computer-executable components including a contact component 112, an interface component 114, an update component 116, and a preference component 118, described next with reference to
Referring next to
The preference component 118 filters or supplements the entity information 209 received by the update component 116 based on a location of the mobile computing device 204 and/or a category associated with the entity information 209. The contact component 112 edits the contact entry 110 for the telephone number with the filtered entity information 209. For example, the entity information 209 is filtered, supplemented, or otherwise modified based on the location of the mobile computing device 204 such that a map, store hours, coupons, or advertisements relevant to that location are stored in the address book 108 or provided for display to the user 202. The location of the mobile computing device 204 may be determined, for example, by a global positioning system (GPS), by the area code of the telephone number of the mobile computing device 204, or by a zip code. In some embodiments, the entity is filtered based on a history of location data provided by the mobile computing device 204. For example, supplemental information may be obtained based on frequently visited locations.
Referring next to
The separate data sources 210 correspond to one or more information references including databases of publicly available information as well as proprietary or private databases.
Referring next to
Referring next to
In some embodiments, the entity information 209 includes an entity name. A category describing the entity information 209 is determined at 506. Example categories include a person, commercial entity, restaurant, home improvement, hotel/motel, bank, and church. Some embodiments contemplate sub-categories and other refined categories. In the restaurant category, for example, sub-categories describe the type of cuisine, environment (e.g., casual or dressy), average meal price at the restaurant, and more.
At 508, a subset of the entity information 209 is selected based on the category determined at 506. The contact entry 110 for the identifier is updated, populated, or created at 510 with the selected subset of the entity information 209.
Referring next to
At 606, entity information 209 for the received or determined identifier is generated and selected at 608 based on the determined filtering criteria. The selected entity information 209 is in conformance with the type and style of address book 108 data analyzed by the web service 208. The selected entity information 209 is provided to the computing device 102 at 610 for storage in the address book 108. For example, the user 202 may be prompted to accept the generated entity information 209. In other embodiments, the computing device 102 stores the generated entity information 209 without input from the user 202.
In embodiments in which the web service 208 defines a category for the selected entity information 209, the web service 208 may generate additional content for delivery to the computing device 102. For example, one or more competing retailers may be identified to the user 202, along with any current promotions of the retailers.
Referring next to
In other embodiments, the web service 208 identifies the competitor based on, for example, a sponsor payment by the competitor and a location of the mobile computing device 204. For example, the competitor is selected based on a current location or route of the mobile computing device 204. Such embodiments are referred to as “categorization mapping” from the identifier of the call to a commercial entity.
Referring next to
Referring next to
In some embodiments, the web service 208 performs a reverse telephone number lookup to obtain the entity information 209. If the entity is determined to be a person, the web service 208 also searches one or more social networking sites to obtain information about the person. For example, the hobbies, interests, birthday, or other publicly available information about the person may be obtained and delivered to the computing device 102 as part of the entity information 209.
In a real estate scenario, the user 202 is driving through a neighborhood looking for available houses. The user 202 finds a house, and wants to learn more about the house including the asking price, square footage, age, etc. The user 202 calls the agent listed on the for sale sign. The web service 208 receives the telephone number of the agent and a location of the user 202 (using GPS on the mobile computing device 204). The web service 208 then uses a reverse telephone number lookup to identify the agent. Based on the agent name, the web service 208 identifies a web page of the agent with the current house listings, and obtains information about the house of interest based on the location of the user 202. This information is then provided to the user 202 during the call to the agent. A contact entry (e.g., such as contact entry 110) for the agent is created on the mobile computing device 204 of the user 202. The house information is stored with the newly created contact entry for future reference by the user 202. Additionally, information about other local listings by that agent or other agents may also be provided to the user 202.
In some embodiments, the entity information 209 is obtained on every called telephone number that does not have a corresponding contact entry 110. In other embodiments, the entity information 209 is obtained only when the user 202 inputs a code while dialing the telephone number. For example, the user 202 may append a one or two digit code to the end of the dialed telephone number to instruct the mobile computing device 204 to resolve the telephone number, obtain the entity information 209, and store the entity information 209 as one of the contact entries 110 on the mobile computing device 204. A separate code may be used to identify the level of detail requested in the entity information 209. For example, a different one or two digit code instructs the web service 208 to obtain a map of the callee and place the map in a scratch pad or other temporary location.
In an example in which the mobile computing device 204 operates on a 3G or 4G network, the SUBSCRIBE and EVENT primitives are used to convey the entity information 209 during the call. On such networks, the mobile computing device 204 allows SUBSCRIBE to an EVENT during call setup. This allows networks to resolve the entity information 209 on demand during the call setup.
In some embodiments, when an incoming call is received and before the user 202 gets a chance to answer it, the service 208 is used to find the data associated with the call originator before the user 202 answers the call. In such embodiments, the user 202 is better able to determine whether to answer the call, and/or better able to make the call productive using the data.
Exemplary Operating Environment
Aspects of the invention transform a general-purpose computer into a special-purpose computing device when configured to execute the instructions described herein.
By way of example and not limitation, computer readable media comprise computer storage media and communication media. Computer storage media store information such as computer readable instructions, data structures, program modules or other data. Communication media typically embody computer readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transport mechanism and include any information delivery media. Combinations of any of the above are also included within the scope of computer readable media.
Although described in connection with an exemplary computing system environment, embodiments of the invention are operational with numerous other general purpose or special purpose computing system environments or configurations. Examples of well known computing systems, environments, and/or configurations that may be suitable for use with aspects of the invention include, but are not limited to, mobile computing devices, personal computers, server computers, hand-held or laptop devices, multiprocessor systems, gaming consoles, microprocessor-based systems, set top boxes, programmable consumer electronics, mobile telephones, network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, and the like.
Embodiments of the invention may be described in the general context of computer-executable instructions, such as program modules, executed by one or more computers or other devices. The computer-executable instructions may be organized into one or more computer-executable components or modules. Generally, program modules include, but are not limited to, routines, programs, objects, components, and data structures that perform particular tasks or implement particular abstract data types. Aspects of the invention may be implemented with any number and organization of such components or modules. For example, aspects of the invention are not limited to the specific computer-executable instructions or the specific components or modules illustrated in the figures and described herein. Other embodiments of the invention may include different computer-executable instructions or components having more or less functionality than illustrated and described herein.
The embodiments illustrated and described herein as well as embodiments not specifically described herein but within the scope of aspects of the invention constitute exemplary means for identifying the entity information 209 relevant to the user 202 based on a location of the mobile computing device 204 and the category describing the entity information 209, and exemplary means for profiling the user 202 of the mobile computing device 204 to select a subset of the received entity information 209.
The order of execution or performance of the operations in embodiments of the invention illustrated and described herein is not essential, unless otherwise specified. That is, the operations may be performed in any order, unless otherwise specified, and embodiments of the invention may include additional or fewer operations than those disclosed herein. For example, it is contemplated that executing or performing a particular operation before, contemporaneously with, or after another operation is within the scope of aspects of the invention.
When introducing elements of aspects of the invention or the embodiments thereof, the articles “a,” “an,” “the,” and “said” are intended to mean that there are one or more of the elements. The terms “comprising,” “including,” and “having” are intended to be inclusive and mean that there may be additional elements other than the listed elements.
Having described aspects of the invention in detail, it will be apparent that modifications and variations are possible without departing from the scope of aspects of the invention as defined in the appended claims. As various changes could be made in the above constructions, products, and methods without departing from the scope of aspects of the invention, it is intended that all matter contained in the above description and shown in the accompanying drawings shall be interpreted as illustrative and not in a limiting sense.
This application is a continuation of U.S. Pat. No. 8,676,755, filed Dec. 16, 2008, “Contact Population from Call Entity Information,” the entirety of which is hereby incorporated by reference herein.
Number | Name | Date | Kind |
---|---|---|---|
6052735 | Ulrich et al. | Apr 2000 | A |
6397059 | Vance et al. | May 2002 | B1 |
6782086 | Clapper | Aug 2004 | B2 |
6909910 | Pappalardo et al. | Jun 2005 | B2 |
7187932 | Barchi | Mar 2007 | B1 |
7231229 | Hawkins et al. | Jun 2007 | B1 |
7280647 | Henderson | Oct 2007 | B2 |
8566029 | Lopatenko et al. | Oct 2013 | B1 |
20030216860 | Shitamatsu et al. | Nov 2003 | A1 |
20040066920 | Vandermeijden | Apr 2004 | A1 |
20040119760 | Grossman et al. | Jun 2004 | A1 |
20050053220 | Helbling et al. | Mar 2005 | A1 |
20060195472 | Cadiz et al. | Aug 2006 | A1 |
20060282450 | Barnes | Dec 2006 | A1 |
20070041527 | Tuchman et al. | Feb 2007 | A1 |
20070064920 | Ruckart | Mar 2007 | A1 |
20070191034 | Lee et al. | Aug 2007 | A1 |
20070208564 | Tran | Sep 2007 | A1 |
20070250645 | Meadows et al. | Oct 2007 | A1 |
20070280445 | Shkedi | Dec 2007 | A1 |
20080010297 | Goldfarb et al. | Jan 2008 | A1 |
20080114862 | Moghaddam et al. | May 2008 | A1 |
20080147771 | Bertolino | Jun 2008 | A1 |
20080167796 | Narayanaswami | Jul 2008 | A1 |
20080222127 | Bergin | Sep 2008 | A1 |
20080281507 | Bergman | Nov 2008 | A1 |
20090089308 | Beadle et al. | Apr 2009 | A1 |
20090104920 | Moon et al. | Apr 2009 | A1 |
20090149200 | Jayasinghe et al. | Jun 2009 | A1 |
20090157717 | Palahnuk et al. | Jun 2009 | A1 |
20100153459 | Sousa et al. | Jun 2010 | A1 |
20120010998 | Spreen et al. | Jan 2012 | A1 |
Entry |
---|
“Search Now by Cell Number!”, Retrieved at <<http://reversecellphonedirectory.net/>>, Aug. 10, 2008, 5 Pages. |
Chartier, Arthur, “Reverse Phone Call Lookup-Get the Name, Address of Any Phone Number!”, Retrieved at <<http://www.goarticles.com/cgi-bin/showa.cgi?C=953771>>, Aug. 10, 2008, 2 Pages. |
“And Phone DECT”, Retrieved at <<http://www.andtek.com/communications-products-dect.html>>, Aug. 10, 2008, 1 Page. |
“Non-final Office Action in U.S. Appl. No. 12/335,552”, Mailed Date: Jun. 29, 2011, Filed Date: Dec. 16, 2008, 17 Pages. |
“Final Office Action in U.S. Appl. No. 12/335,552”, Mailed Date: Oct. 19, 2011, Filed Date: Dec. 16, 2008, 23 Pages. |
“Advisory Action for U.S. Appl. No. 12/335,552”, Mailed Date: Jan. 20, 2012, Filed Date: Dec. 16, 2008, 3 pages. |
“Non-final Office Action in U.S. Appl. No. 12/335,552”, Mailed Date: Jul. 9, 2013, Filed Date: Dec. 16, 2008, 10 Pages. |
“Notice of Allowance in U.S. Appl. No. 12/335,552”, Mailed Date: Oct. 29, 2013, Filed Date: Dec. 16, 2008, 10 Pages. |
Number | Date | Country | |
---|---|---|---|
20140187217 A1 | Jul 2014 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 12335552 | Dec 2008 | US |
Child | 14198349 | US |