WO2012100227A2 - Contact relevance based on context - Google Patents
Contact relevance based on context Download PDFInfo
- Publication number
- WO2012100227A2 WO2012100227A2 PCT/US2012/022117 US2012022117W WO2012100227A2 WO 2012100227 A2 WO2012100227 A2 WO 2012100227A2 US 2012022117 W US2012022117 W US 2012022117W WO 2012100227 A2 WO2012100227 A2 WO 2012100227A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- user
- contacts
- contact
- communication
- information
- Prior art date
Links
- 238000004891 communication Methods 0.000 claims abstract description 142
- 238000000034 method Methods 0.000 claims abstract description 48
- 230000015654 memory Effects 0.000 claims description 30
- 238000004590 computer program Methods 0.000 claims description 19
- 230000000977 initiatory effect Effects 0.000 claims description 4
- 238000005065 mining Methods 0.000 claims description 4
- 238000004458 analytical method Methods 0.000 description 29
- 230000006870 function Effects 0.000 description 11
- 230000008569 process Effects 0.000 description 8
- 230000009471 action Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 7
- 230000006855 networking Effects 0.000 description 6
- 239000000969 carrier Substances 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 239000000203 mixture Substances 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000012552 review Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 239000005022 packaging material Substances 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/101—Collaborative creation, e.g. joint development of products or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/01—Social networking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/26—Devices for calling a subscriber
- H04M1/27—Devices whereby a plurality of signals may be stored simultaneously
- H04M1/274—Devices whereby a plurality of signals may be stored simultaneously with provision for storing more than one subscriber number at a time, e.g. using toothed disc
- H04M1/2745—Devices whereby a plurality of signals may be stored simultaneously with provision for storing more than one subscriber number at a time, e.g. using toothed disc using static electronic memories, e.g. chips
- H04M1/27453—Directories allowing storage of additional subscriber data, e.g. metadata
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/26—Devices for calling a subscriber
- H04M1/27—Devices whereby a plurality of signals may be stored simultaneously
- H04M1/274—Devices whereby a plurality of signals may be stored simultaneously with provision for storing more than one subscriber number at a time, e.g. using toothed disc
- H04M1/2745—Devices whereby a plurality of signals may be stored simultaneously with provision for storing more than one subscriber number at a time, e.g. using toothed disc using static electronic memories, e.g. chips
- H04M1/27453—Directories allowing storage of additional subscriber data, e.g. metadata
- H04M1/2746—Sorting, e.g. according to history or frequency of use
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72448—User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions
- H04M1/72451—User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions according to schedules, e.g. using calendar applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72448—User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions
- H04M1/72457—User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions according to geographic location
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/029—Location-based management or tracking services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/18—Processing of user or subscriber data, e.g. subscribed services, user preferences or user profiles; Transfer of user or subscriber data
- H04W8/183—Processing at user equipment or user record carrier
Definitions
- the stored information may be, for example, in a list of contacts.
- the contacts may be friends, family members, business associates, acquaintances, etc. and the stored information may include, for example, phone numbers, home and/or business addresses, email addresses, websites, birthdays, etc.
- Contact lists may be organized manually by the user.
- the users may manually organize the contacts into standard categories such as "favorites,” “business,” “holiday cards,” etc., or customized categories.
- Contacts may be automatically organized according to communications with the contacts. For example, communication devices can automatically populate a "recently called" list indicating with which contacts communication has recently been had, e.g, in reverse chronological order.
- An example method of determining a communications contact relevance for a user includes: analyzing stored contact information of a plurality of contacts with which the user can at least one of receive information from or transmit information to;
- context information relevant to likelihoods of imminent communication by the user with the contacts including information different from ones of the contacts with which the user most recently communicated, the context information further including present user context information and at least one of present context or historical context associated with each of the contacts, respectively; and determining the likelihoods of imminent communication between the user and the contacts based on the context information.
- Implementations of such a method may include one or more of the following features.
- the method further includes presenting a prioritized list of the contacts to the user based on the likelihoods of initiation.
- the prioritized list indicates combinations of contacts and communication types.
- the method further includes prompting the user to contact at least one of the contacts based on the context information. The prompting includes suggesting a communication type.
- the context information includes at least one of: user present location of the user, contact present location, contact historical location, time of day, day of week, day of year, holiday/non-holiday, a historical communication pattern of the user with at least some of the contacts, a historical communication type for communications between the user and a particular contact of the plurality of contacts, a calendared event, security settings associated with the plurality of contacts, frequencies of communication with each of the plurality of contacts, frequencies of communication with each of the plurality of contacts combined with location of the user, a relationship between the user and each of the plurality of contacts, type of contact, present active application of the user, a user preference, a contact's preference setting, or a contact's permission setting.
- the method further includes organizing stored communications based on the determined likelihoods.
- the context information includes information as to the contacts with which the user most recently communicated.
- An example of an apparatus includes: a memory storing context information; and a processor communicatively coupled to the memory and configured to: analyze stored contact information of a plurality of contacts with which a user of the apparatus can at least one of receive information from or transmit information to; analyze the context information relevant to likelihoods of imminent communication by a user of the apparatus with the contacts, the context information including information different from ones of the contacts with which the user most recently communicated, the context information further including present user context information and at least one of present context or historical context associated with each of the contacts, respectively; and determine the likelihoods of imminent communication between the user and the contacts based on the context information.
- Implementations of such an apparatus may include one or more of the following features.
- the processor is further configured to present a prioritized list of the contacts to the user based on the likelihoods of imminent communication.
- the context information includes at least one of: user present location of the user, contact present location, contact historical location, time of day, day of week, day of year, holiday/non-holiday, a historical communication pattern of the user with at least some of the contacts, a historical communication type for communications between the user and a particular contact of the plurality of contacts, a calendared event, security settings associated with the plurality of contacts, frequencies of communication with each of the plurality of contacts, frequencies of communication with each of the plurality of contacts combined with location of the apparatus, a relationship between the user and each of the plurality of contacts, type of contact, present active application of the apparatus, a user preference, a contact's preference setting, or a contact's permission setting.
- the processor is further configured to organize stored communications based on the determined likelihoods.
- the apparatus further includes a network
- An example of a computer program product residing on a non-transitory processor-readable medium includes processor-readable instructions configured to cause a processor to: analyze stored contact information of a plurality of contacts with which a user of the computer program product can at least one of receive information from or transmit information to; analyze context information relevant to likelihoods of imminent communication by the user with the contacts, the context information including information different from ones of the contacts with which the user most recently communicated, the context information further including present user context information and at least one of present context or historical context associated with each of the contacts, respectively; and determine the likelihoods of imminent communication between the user and the contacts based on the context information.
- Implementations of such a computer program product may include one or more of the following features.
- the computer program product further includes instructions configured to cause the processor to present a prioritized list of the contacts to the user based on the likelihoods of initiation.
- the prioritized list indicates combinations of contacts and communication types.
- the computer program product further includes instructions configured to cause the processor to prompt the user to contact at least one of the contacts based on the context information.
- the instructions configured to cause the processor to prompt include instructions configured to cause the processor to suggest a communication type.
- the context information includes at least one of: user present location of the user, contact present location, contact historical location, time of day, day of week, day of year, holiday/non-holiday, a historical communication pattern of the user with at least some of the contacts, a historical communication type for communications between the user and a particular contact of the plurality of contacts, a calendared event, security settings associated with the plurality of contacts, frequencies of communication with each of the plurality of contacts, frequencies of communication with each of the plurality of contacts combined with location of the user, a relationship between the user and each of the plurality of contacts, type of contact, present active application of the user, a user preference, a contact's preference setting, or a contact's permission setting.
- the computer program product further includes instructions configured to cause the processor to organize stored communications based on the determined likelihoods.
- the context information includes information as to the contacts with which the user most recently
- An example of a mobile telecommunications device includes: a memory storing context information; and means, communicatively coupled to the memory, for: analyzing stored contact information of a plurality of contacts with which a user of the device can at least one of receive information from or transmit information to; analyzing the context information relevant to likelihoods of imminent communication by a user of the apparatus with the contacts, the context information including information different from ones of the contacts with which the user most recently communicated, the context information further including present user context information and at least one of present context or historical context associated with each of the contacts, respectively; and determining the likelihoods of imminent communication between the user and the contacts based on the context information.
- Implementations of such a device may include one or more of the following features.
- the means are further for presenting a prioritized list of the contacts to the user based on the likelihoods of imminent communication.
- the context information includes at least one of: user present location of the user, contact present location, contact historical location, time of day, day of week, day of year, holiday/non-holiday, a historical communication pattern of the user with at least some of the contacts, a historical communication type for communications between the user and a particular contact of the plurality of contacts, a calendared event, security settings associated with the plurality of contacts, frequencies of communication with each of the plurality of contacts, frequencies of communication with each of the plurality of contacts combined with location of the apparatus, a relationship between the user and each of the plurality of contacts, type of contact, present active application of the apparatus, a user preference, a contact's preference setting, or a contact's permission setting.
- the means are further for organizing stored communications based on the determined likelihoods.
- the device further includes a network
- Items and/or techniques described herein may provide one or more of the following capabilities. Less manual user input can be used to interact with a contacts list. Users can be prompted to communicate with a stored contact with whom the user is likely to want to communicate. Contacts can be organized and presented to a user according to likelihoods that the user will wish to communicate with the various contacts. While item/technique-effect pairs have been described, it may be possible for a noted effect to be achieved by means other than those noted, and a noted
- FIG. 1 is a schematic diagram of a communication and positioning network.
- FIG. 2 is a block diagram of an access terminal of the network shown in FIG. 1.
- FIG. 3 is a block diagram of a server shown in FIG. 1.
- FIG. 4 block diagram of a table of contact information and associated context information.
- FIG. 5 block diagram of a table of logged communication information.
- FIG. 6 is a block diagram of functional blocks of an access terminal shown in FIG. 1.
- FIG. 7 is a block flow diagram of a process of determining communication contact relevance.
- FIGS. 8A-8C are examples of screen displays of an access terminal shown in FIG. 1.
- FIG. 9 is another example of a screen display of an access terminal shown in FIG. 1.
- the user's present location, calendar events, historical communication patterns, as well as the user's contacts' present location, historical locations, can be analyzed relative to help determine which contacts the user is most likely to communicate with now and using which mode (e.g., phone, email, text message, social networking site).
- mode e.g., phone, email, text message, social networking site
- CDMA Code Division Multiple Access
- TDMA Time Division Multiple Access
- FDMA Frequency Division Multiple Access
- OFDM A Orthogonal FDMA
- SC-FDMA Single-Carrier FDMA
- a CDMA system may implement a radio technology such as CDMA2000, Universal Terrestrial Radio Access (UTRA), etc.
- CDMA2000 covers IS-2000, IS-95 and IS-856 standards.
- IS-2000 Releases 0 and A are commonly referred to as CDMA2000 IX, IX, etc.
- IS-856 (TIA-856) is commonly referred to as CDMA2000 lxEV-DO, High Rate Packet Data (HRPD), etc.
- UTRA includes Wideband CDMA (WCDMA) and other variants of CDMA.
- WCDMA Wideband CDMA
- a TDMA system may implement a radio technology such as Global System for Mobile Communications (GSM).
- GSM Global System for Mobile Communications
- An OFDM A system may implement a radio technology such as Ultra Mobile Broadband (UMB), Evolved UTRA (E-UTRA), IEEE 802.11 (Wi-Fi), IEEE 802.16 (WiMAX), IEEE 802.20, Flash-OFDM®, etc.
- UMB Ultra Mobile Broadband
- E-UTRA Evolved UTRA
- Wi-Fi Wi-Fi
- WiMAX IEEE 802.16
- IEEE 802.20 Flash-OFDM®
- Universal Mobile Telecommunication System UMTS
- 3GPP Long Term Evolution (LTE) and LTE-Advanced (LTE-A) are new releases of UMTS that use E-UTRA.
- UTRA, E-UTRA, UMTS, LTE, LTE-A and GSM are described in documents from an organization named "3rd Generation Partnership Project” (3GPP).
- CDMA2000 and UMB are described in documents from an organization named "3rd Generation
- 3GPP2 3GPP2
- the techniques described herein may be used for the systems and radio technologies mentioned above as well as other systems and radio technologies.
- a wireless communication network does not have all communications transmitted wirelessly, but is configured to have at least some communications transmitted wirelessly.
- a position location system and telecommunication network 10 includes mobile access terminals (ATs) 12 (also called a mobile device or mobile station), a base transceiver station (BTS) 14 (also called a base station), a position determining entity (PDE) 16, a satellite 18, and a server 20.
- the system 10 may support operation on multiple carriers (waveform signals of different frequencies).
- Multi-carrier transmitters can transmit modulated signals simultaneously on the multiple carriers.
- Each modulated signal may be a CDMA signal, a TDMA signal, an OFDMA signal, a SC-FDMA signal, etc.
- Each modulated signal may be sent on a different carrier.
- the ATs 12 can be wirelessly connected to the BTSs 14 and/or connected via wireline to the server 20. While the server 20 is shown as being disposed inside the cell 15, the server 20 may be located remotely from the cell 15.
- the BTS 14 can wirelessly communicate with the ATs 12.
- the BTS 14 may also be referred to as an access point, an access node (AN), a Node B, an evolved Node B (eNB), etc.
- the BTS 14 can be configured to communicate with the ATs 12 via multiple carriers.
- the BTS 14 can provide communication coverage for a respective geographic area, for example, the cell 15.
- the ATs 12 may be referred to as mobile stations, mobile devices, user equipment (UE), or subscriber units.
- the ATs 12 here are cellular phones, but could also include other wireless communication devices, personal digital assistants (PDAs), other handheld devices, laptop computers, notebook computers, desktop computers, etc.
- PDAs personal digital assistants
- the satellite 18 can be part of a global navigation satellite system, e.g., the Global Positioning System (GPS), the GLObal NAvigation Satellite System
- the satellite 18 is a GPS satellite with a transmitter capable of transmitting information for use in determining the position of the AT 12.
- the AT 12 includes a GPS receiver capable of wirelessly receiving position information from the satellite 18.
- an exemplary one of the ATs 12 comprises a computer system 30 including a processor 32, memory 34, a display 36, transceivers 38, antennas 40, and a GPS receiver 42.
- the AT 12 is configured to analyze would-be contact entities, assess the likelihoods of imminent communication with the entities, and present a user of the mobile device with a list and/or prompts for communication with a subset of the entities based on the likelihoods.
- the server 20 can perform this analysis and assessment, convey information to the AT 12, which is configured to use this information to present the user with the list and/or prompts.
- the processor 32 is preferably an intelligent hardware device, e.g., a central processing unit (CPU) such as those made by Intel® Corporation or AMD®, a microcontroller, an application specific integrated circuit (ASIC), etc.
- the memory 34 includes random access memory (RAM) and read-only memory (ROM).
- the memory 34 stores a computer program product comprising computer-readable, computer- executable software code 35 containing instructions that are configured to, when executed, cause the processor 32 to perform various functions described herein.
- the software 35 may not be directly executable by the processor 32 but configured to cause the processor 32, e.g., when the instructions are compiled and executed, to perform the functions described.
- the display 36 can be any of various types of displays, either now known or later developed.
- the display 36 can be a liquid crystal display (LCD) that may or may not be touch sensitive.
- the display 36 preferably has a size and a resolution such that indications of multiple contacts from a stored set of contacts associated with the AT 12 can be presented to the user simultaneously by the display 36.
- the AT 12 could include only one transceiver 38 and one antenna 40
- the AT 12 preferably, as assumed below, includes multiple transceivers 38 and multiple antennas 40.
- the transceivers 38 are configured to communicate through corresponding antennas 40 with the BTS 14, WLAN (wireless local area network) access points, the satellite 18, WW AN (wireless wide area network) access points, or other appropriate device for use in determining the position of the AT 12.
- the transceivers 38 may include, e.g., far-field communication transceivers such as GSM, CDMA, LTE, and WiMAX transceivers, near-field communication transceivers such as WLAN,
- the GPS receiver 42 is configured to process GPS signals received via a GPS antenna of the antennas 40 to determine a position of the mobile device 12, e.g., in conjunction with the processor 32 and the memory 34.
- the server 20 comprises a computer system including a processor 52, memory 54, transceivers 56, and an antenna 58.
- the processor 52 is preferably an intelligent hardware device, e.g., a central processing unit (CPU) such as those made by Intel® Corporation or AMD®, a microcontroller, an application specific integrated circuit (ASIC), etc.
- the memory 54 includes random access memory (RAM) and read-only memory (ROM).
- the memory 54 stores computer-readable, computer- executable software code 55 containing instructions that are configured to, when executed, cause the processor 52 to perform various functions described herein.
- the software 55 may not be directly executable by the processor 52 but configured to cause the processor 52, e.g., when the instructions are compiled and executed, to perform the functions described.
- the transceivers 56 are configured to communicate bi-directionally with the BTS 14 through the antenna 58 and to communicate bi-directionally with the PDE 16 through a wired connection.
- the memories 34, 54 store databases of information. These databases may include similar types of information in the two memories 34, 54, may include portions with sets of information different from other portions of the same memory and/or different than portions of the other memory.
- the memory 34 stores a table 60 that includes a list of contacts in records 62.
- Each of the records 62 provides fields for the contact's name 64, work address 66, home address 68, other address 70, work phone number 72, home phone number 74, mobile phone number 76, relationship (e.g., to the user) 78, email addresses 80, 82, social networking site addresses 84, 86, 88, 90, and log information 92 including the user's location 94, including city 96 and location label 98 (e.g., contact person's address, a store name, or other label such as a park name, zip code, etc.), and corresponding date and time 100.
- city 96 and location label 98 e.g., contact person's address, a store name, or other label such as a park name, zip code, etc.
- the date and time information 100 corresponds to the location information 94 to indicate on what date and at what time the AT 12 was at the indicated location.
- the table 60 provides a universal contact list of contacts (i.e., entities such as persons, businesses, etc.) that the user of the AT 12 has stored. This list may be presented to the user through the display 36 in a variety of ways, e.g., alphabetically.
- the table 60 can also be filtered and organized and a filtered, organized list provided to the user.
- a log 110 is stored by the memory 54 of the server 20 providing records 112 of context information for the user's contacts. This information can be added by the user over time, or may be provided or downloaded or otherwise obtained (e.g., by mining a wide area network such as the Internet), e.g., when a new contact is added.
- the log 110 includes fields for contact name 114, date/time 116, AT location 118 and contact's location 120, communication type 122, and connection information.
- the date and time 116 are stored for each new entry for location or contact type.
- the contact location 120 can be obtained and stored in a variety of ways, e.g., periodically (e.g., daily), periodically in response to being further than a threshold distance from the contact's home or typical location, for each region visited outside of a typical region for the contact, etc.
- the region visited could be any of a variety of resolutions such as each zip code, city, state, and/or country once the contact is outside the contact's typical region, e.g., home city or county.
- the location information 118, 120 can be obtained using different location techniques such as GPS.
- the location information 120 can provide a GPS trace of the contact's movement, i.e., historical location over time of the contact.
- the AT location 118 and communication type 122 are preferably only stored for times corresponding to a communication with the contact. Thus, the AT's location is logged when the AT 12 either sends information to or receives information from the contact. Further, the communication type 122, such as phone, email, text message, social networking site message, and the connection information 124, such as phone number, email address, website address, are logged when the AT 12 communicates with the contact.
- the AT 12 (or server 20) includes a context module 132, a GPS module 134, and a calendar module 136.
- the modules 132, 134, and/or 136 are part of the AT 12. These modules, however, may be part of the server 20. Further, portions of the modules 132, 134, and/or 136 may be in the AT 12 while other portions of the modules 132, 134, and/or 136 may be in the server 20. For the discussion below, however, it is assumed that all of the modules 132, 134, 136 are in the AT 12.
- the GPS module 134 is configured to determine the location of the AT 12 and provide this information for storage in the table 60.
- the GPS module 134 uses known GPS techniques to determine the location of the AT 12 on an ongoing basis, e.g., periodically.
- the module 134 may continuously determine the AT's position while the module 134 is activated while storing information in the table 60 less frequently, e.g., periodically such as hourly, semi-daily, daily, etc.
- the location information is stored in the location field 94 with corresponding date and time 100.
- the calendar module 136 is configured to provide a calendar for the user of the AT 12.
- the calendar module 136 can store indications of appointments and/or other calendar events entered by the user or input into the user's calendar by other means, such as by the user accepting a meeting request or an event indication otherwise received by the calendar module 136.
- the calendar module 136 can provide access to the user's calendar by the context analysis module 132.
- the context analysis module 132 is configured to analyze information stored in the context table 60, the log 110, and other portions of the memory 34 such as the calendar information stored by the calendar module 136.
- the context analysis module 132 is further configured to analyze information external to the memory 34, such as information obtained via a wide area network such as the Internet using an appropriate application program interface.
- the module 132 can use IMAP (Internet message access protocol) for accessing GmailTM.
- IMAP Internet message access protocol
- GmailTM GmailTM
- the context analysis module 132 can mine social networks over the Internet to determine information relevant to likelihoods that the user of the AT 12 will communicate with the contact stored in the table 60.
- the module 132 can analyze the information obtained over the Internet such as from social networking sites to adjust parameters and/or a priority list, discussed below, based on information obtained from the social networks. For example, the module 132 can determine the frequency of communication (e.g., using phone, email, social networking sites such as Facebook®, My Space®, etc.) between (from or to) the AT 12 and other entities.
- the frequency of communication e.g., using phone, email, social networking sites such as Facebook®, My Space®, etc.
- the context analysis module 132 is configured to analyze context information in order to determine a ranking of likelihoods of imminent communication between the user of the AT 12 and any of the stored contacts in the table 60 or even other potential contacts not stored in the table 60.
- the context analysis module 132 is configured to analyze the context information to develop a contact-relevance score for each of the would-be contacts. This score is a function of multiple criteria and can be represented as
- the criteria may include one or more of the following:
- calendar status e.g., whether the user has a meeting with one or more of the contacts near the current time
- the context analysis module 132 can combine the various criteria in a variety of manners.
- the criteria may be summed, multiplied, some criteria summed and others multiplied, or otherwise combined. Further, the criteria may be equally weighted (or not weighted), or may be unequally weighted to emphasize some criteria over other criteria, may have the weightings of the various criteria changed depending on the time or other factors, etc. For example, frequency of communication may receive a lower weighting based on the time since the last communication with that contact. Thus, even if the frequency of communication with the particular contact is historically high, this factor may receive a lower weighting if the most recent communication with that contact exceeds a threshold time, and may receive even lower weighting upon the most recent communication exceeding further thresholds.
- the presence of a particular contact in the calendar of the user of the AT 12 may be heavily weighted over other criteria.
- the application in use by the AT 12 may also affect the weightings or other calculations of the contact-relevance score. For example, if the user of the AT 12 is using the phone versus email versus text messaging, the weightings of the relevance score factors may change, e.g., depending upon the usual mode or type of communication with the various contacts. As another example, the mode of communication with a particular contact may be more highly weighted based upon the present application in use. For example, if the user is presently using a restaurant recommendation application such as Yelp®, then the weightings could help prioritize those contacts with relevant information.
- relevant information could be, e.g., frequency of visit by a contact to the restaurant type that the user is presently looking for, amount of interest indicated by a particular contact in that type of restaurant, existence of reviews by the contact of that restaurant type or the particular restaurant that the user is presently researching, etc.
- the context analysis module 132 can develop different priorities based on the information or type of communication sought by the user. For example, if the user is looking to have a live communication with a contact, then the priority may be different than if the user only wishes to see stored reviews by the user's contacts.
- the context analysis module 132 can develop different priorities or likelihoods of imminent communication with a contact based on historical patterns of communication. For example, if the user frequently sends a text message to the user's stockbroker immediately after a communication with a particular one of the user's friends, then the stockbroker can be given a higher weighting or likelihood of communication if the user is presently communicating with the particular friend. The context analysis module 132 can cause the user to be prompted to contact the stockbroker upon the termination of the communication with the particular friend. As another example, if the user frequently communicates with a particular contact during meetings, then the analysis module 132 can give a higher weighting to that particular contact during any future meetings indicated by the user's calendar.
- the module 132 can influence one or more of the relevance score weightings depending upon the user's communication patterns at different locations. For example, if the user has never called contact X when in San Francisco even though contact X lives in San Francisco and has received a higher weighting for relative location/distance, then the module 132 can adjust the weighting such that during the user's next San Francisco trip, the relative location/distance criterion in contact X's relevance score will receive a lower weighting than before.
- the context analysis module 132 can further reorganize prior communications stored in the memory 34 based on the context. For example, if the user is presently communicating over the Internet with a bookseller's website, then prior
- emails received from that bookseller can be moved to the top or near to the top of a displayed list of emails, e.g., in another open window or when the user changes from viewing the bookseller website to viewing the user's stored emails.
- the context analysis module 132 can further analyze the substance of communications between the user and other entities to help determine likelihood of future communication. For example, if the user of the AT 12 is presently reading an email, the context analysis module 132 can analyze the words contained in the email being read to determine weightings to give to contacts that the user may wish to communicate with. For example, if the user is reading an email regarding books, the context analysis module 132 can more heavily weight bookseller contacts and communications to effect a move of the contact information of the user's favorite bookseller to the top of the contacts list and/or to reorganize prior communications, e.g., to move emails received from the user's favorite bookseller to the top of a list of displayed emails.
- a process 150 of determining communication contact relevance includes the stages shown.
- the process 150 is, however, an example only and not limiting.
- the process 150 can be altered, e.g., by having stages added, removed, or rearranged.
- permissions/privacy settings and/or preference settings for various functions and features For example, the user may wish to set a certain person or entity, such as the person's mother or father, as the default highest priority contact at all times. Further, some of the contacts may not wish the AT 12 or the server 20 to be able to log the contact's location.
- present context information is obtained.
- the context analysis module 132 determines the user's present location via information from the GPS module 134, analyzes stored calendar information provided by the calendar module 136, determines the present day and time, analyzes any present communications by the AT 12, etc.
- the context analysis module 132 analyzes stored contact information and context information relative to the present context.
- the analysis module 132 analyzes the information in the contacts table 60 as well as the log 110.
- the module 132 further analyzes information as appropriate beyond the AT 12, such as by mining applications over the Internet (e.g., email applications, social networking websites, etc.).
- the analysis module 132 also analyzes the present date, time, location of the AT 12, frequencies of communication with the contacts, modes of
- the context analysis module 132 uses the information analyzed at stage 156 to determine contact relevance scores.
- the module 132 determines scores for each of the contacts stored in the table 60 as well as identifying other possibly relevant contacts and determining a score for each of those contacts as well.
- the module 132 determines any dynamic weightings, e.g., based on time of day, day of week, current communication mode if any, current contact in communication with if any, etc.
- the module 132 applies the weightings to the score criteria, and combines the weighted criteria to arrive at scores for the contacts.
- the context analysis module 132 ranks the contacts by
- the analysis module 132 organizes the contacts from the table 60 and other would-be contacts according to their contact-relevance scores. The rankings may be dependent upon the particular application accessed by the user of the AT 12.
- the context analysis module 132 presents the prioritized list of contacts to the user and/or prompts the user to communicate with one or more of the contacts.
- the analysis module 132 provides information via the display 136 to the user of the AT 12 to prompt the user to communicate with the highest-ranked contacts and/or to provide quick access for communication with the highest-ranked contacts without prompting the user.
- the displayed list may take a variety of forms, such as text indications, graphical indications, etc. The indications may directly link the user to a particular form of contact such as phone, text messaging, email, etc. or may provide a link to a further display that provides more detailed options of communication forms.
- the display 36 is showing a contacts page 180 including a top contacts list 182 for the user.
- the user's present location is "home" as indicated by a location indicator 184.
- the user's most likely contacts for imminent communication as determined by the context analysis module 132 are provided in the top contacts list 182.
- the user, Kate is having lunch soon with some of her friends. As the time for the event on Kate's calendar is near, those friends attending the lunch have become more relevant contacts as it is thus more likely that Kate will call or text message one of them.
- Kate's best friend Brittany is both an invitee to the lunch and Kate's friend and thus is in the top contacts list 182, indeed being at the top of the top contacts list 182.
- Other friends attending the lunch will also have more relevance in this context and are prioritized according to other factors such as how often Kate calls, texts, or otherwise interacts with them.
- the processor 32 has caused the display 36 to show a detail contact page 183 highlighting Brittany's icon and providing more details regarding Brittany and options for communicating with her or viewing information related to her.
- there are links 186 allowing Kate to call Brittany, message Brittany, view message history, view Brittany's profile, edit Brittany's contact information, and pin Brittany to the top contacts list 182.
- the top contacts list 182 has been reorganized.
- Kate is now in San Francisco as indicated by the location indicator 184 on vacation. This is planned in her calendar and confirmed by her GPS information provided by the GPS module 134.
- her friends that live in the area have become more relevant contacts and the context analysis module 132 has caused the display 36 to show more geographically-relevant contacts, providing the opportunity for Kate to more easily communicate with them.
- different ones of Kate's contacts are now provided in the state of the list 182 versus the state of the list 182 as shown in FIG. 8A.
- an icon 188 for Southwest Airlines® is also provided by the display 36.
- the context analysis module 132 determined from Kate's stored communications that she used Southwest Airlines® for travel to San Francisco and thus is likely to want to communicate with this airline's website, e.g., to check her flight status, check in, print her boarding pass, etc.
- the contacts shown in the list 182 will receive lower weightings and thus may no longer be as relevant to her daily life and thus may no longer be provided in the top contacts list 182.
- Kate has provided a user preference setting of having her mom be her top priority contact regardless of other context.
- the display 36 shows that Kate is home as indicated by the location indicator 184 and her contacts page 190 provides a top contacts list 192 with an icon 194 indicating her mom being highlighted or otherwise distinguished from other contacts icons.
- the contacts page 190 also provides various links 192 for modes in which to communicate with her mom.
- the various operations of methods described above may be performed by any suitable means capable of performing the corresponding functions.
- the means may include various hardware and/or software component(s) and/or module(s), including, but not limited to a circuit, an application specific integrate circuit (ASIC), or processor.
- ASIC application specific integrate circuit
- DSP digital signal processor
- ASIC application specific integrated circuit
- FPGA field programmable gate array signal
- PLD programmable logic device
- a general purpose processor may be a microprocessor, but in the alternative, the processor may be any commercially available processor, controller, microcontroller, or state machine.
- a processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.
- a software module may reside in any form of tangible storage medium.
- storage media include random access memory (RAM), read only memory (ROM), flash memory, EPROM memory, EEPROM memory, registers, a hard disk, a removable disk, a CD-ROM and so forth.
- RAM random access memory
- ROM read only memory
- flash memory EPROM memory
- EEPROM memory EEPROM memory
- registers a hard disk, a removable disk, a CD-ROM and so forth.
- a storage medium may be coupled to a processor such that the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor.
- a software module may be a single instruction, or many instructions, and may be distributed over several different code segments, among different programs, and across multiple storage media.
- the methods disclosed herein comprise one or more actions for achieving the described method.
- the method and/or actions may be interchanged with one another without departing from the scope of the claims.
- the order and/or use of specific actions may be modified without departing from the scope of the claims.
- a storage medium may be any available tangible medium that can be accessed by a computer.
- such computer-readable media can comprise RAM, ROM, EEPROM, CD-ROM, or other optical disk storage, magnetic disk storage, or other magnetic storage devices, or any other tangible medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer.
- Disk and disc include compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk, and Blu-ray® disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers.
- a computer program product may perform operations presented herein.
- a computer program product may be a computer readable tangible medium having instructions tangibly stored (and/or encoded) thereon, the instructions being executable by one or more processors to perform the operations described herein.
- the computer program product may include packaging material.
- Software or instructions may also be transmitted over a transmission medium.
- software may be transmitted from a website, server, or other remote source using a transmission medium such as a coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technology such as infrared, radio, or microwave.
- a transmission medium such as a coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technology such as infrared, radio, or microwave.
- modules and/or other appropriate means for performing the methods and techniques described herein can be downloaded and/or otherwise obtained by a user terminal and/or base station as applicable.
- a user terminal and/or base station can be coupled to a server to facilitate the transfer of means for performing the methods described herein.
- various methods described herein can be provided via storage means (e.g., RAM, ROM, a physical storage medium such as a compact disc (CD) or floppy disk, etc.), such that a user terminal and/or base station can obtain the various methods upon coupling or providing the storage means to the device.
- storage means e.g., RAM, ROM, a physical storage medium such as a compact disc (CD) or floppy disk, etc.
- CD compact disc
- floppy disk etc.
- any other suitable technique for providing the methods and techniques described herein to a device can be utilized.
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Signal Processing (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Business, Economics & Management (AREA)
- Tourism & Hospitality (AREA)
- Marketing (AREA)
- Economics (AREA)
- Data Mining & Analysis (AREA)
- Human Computer Interaction (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Library & Information Science (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Primary Health Care (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Environmental & Geological Engineering (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Telephone Function (AREA)
- Telephonic Communication Services (AREA)
- Information Transfer Between Computers (AREA)
- User Interface Of Digital Computer (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
A method of determining a communications contact relevance for a user includes: analyzing stored contact information of a plurality of contacts with which the user can at least one of receive information from or transmit information to; analyzing context information relevant to likelihoods of imminent communication by the user with the contacts, the context information including information different from ones of the contacts with which the user most recently communicated, the context information further including present user context information and at least one of present context or historical context associated with each of the contacts, respectively; and determining the likelihoods of imminent communication between the user and the contacts based on the context information.
Description
CONTACT RELEVANCE BASED ON CONTEXT
BACKGROUND
[0001] Users of communication devices often use these devices to communicate with other persons or entities for which the users have contact information stored. The stored information may be, for example, in a list of contacts. The contacts may be friends, family members, business associates, acquaintances, etc. and the stored information may include, for example, phone numbers, home and/or business addresses, email addresses, websites, birthdays, etc.
[0002] Contact lists may be organized manually by the user. The users may manually organize the contacts into standard categories such as "favorites," "business," "holiday cards," etc., or customized categories.
[0003] Contacts may be automatically organized according to communications with the contacts. For example, communication devices can automatically populate a "recently called" list indicating with which contacts communication has recently been had, e.g, in reverse chronological order.
SUMMARY
[0004] An example method of determining a communications contact relevance for a user includes: analyzing stored contact information of a plurality of contacts with which the user can at least one of receive information from or transmit information to;
analyzing context information relevant to likelihoods of imminent communication by the user with the contacts, the context information including information different from ones of the contacts with which the user most recently communicated, the context information further including present user context information and at least one of present context or historical context associated with each of the contacts, respectively; and determining the likelihoods of imminent communication between the user and the contacts based on the context information.
[0005] Implementations of such a method may include one or more of the following features. The method further includes presenting a prioritized list of the contacts to the user based on the likelihoods of initiation. The prioritized list indicates combinations of
contacts and communication types. The method further includes prompting the user to contact at least one of the contacts based on the context information. The prompting includes suggesting a communication type. The context information includes at least one of: user present location of the user, contact present location, contact historical location, time of day, day of week, day of year, holiday/non-holiday, a historical communication pattern of the user with at least some of the contacts, a historical communication type for communications between the user and a particular contact of the plurality of contacts, a calendared event, security settings associated with the plurality of contacts, frequencies of communication with each of the plurality of contacts, frequencies of communication with each of the plurality of contacts combined with location of the user, a relationship between the user and each of the plurality of contacts, type of contact, present active application of the user, a user preference, a contact's preference setting, or a contact's permission setting. The method further includes organizing stored communications based on the determined likelihoods. The context information includes information as to the contacts with which the user most recently communicated.
[0006] An example of an apparatus includes: a memory storing context information; and a processor communicatively coupled to the memory and configured to: analyze stored contact information of a plurality of contacts with which a user of the apparatus can at least one of receive information from or transmit information to; analyze the context information relevant to likelihoods of imminent communication by a user of the apparatus with the contacts, the context information including information different from ones of the contacts with which the user most recently communicated, the context information further including present user context information and at least one of present context or historical context associated with each of the contacts, respectively; and determine the likelihoods of imminent communication between the user and the contacts based on the context information.
[0007] Implementations of such an apparatus may include one or more of the following features. The processor is further configured to present a prioritized list of the contacts to the user based on the likelihoods of imminent communication. The context information includes at least one of: user present location of the user, contact present location, contact historical location, time of day, day of week, day of year, holiday/non-holiday, a historical communication pattern of the user with at least some
of the contacts, a historical communication type for communications between the user and a particular contact of the plurality of contacts, a calendared event, security settings associated with the plurality of contacts, frequencies of communication with each of the plurality of contacts, frequencies of communication with each of the plurality of contacts combined with location of the apparatus, a relationship between the user and each of the plurality of contacts, type of contact, present active application of the apparatus, a user preference, a contact's preference setting, or a contact's permission setting. The processor is further configured to organize stored communications based on the determined likelihoods. The apparatus further includes a network interface communicatively coupled with the processor and wherein the processor is further configured to mine context information from a wide area network via the network interface.
[0008] An example of a computer program product residing on a non-transitory processor-readable medium includes processor-readable instructions configured to cause a processor to: analyze stored contact information of a plurality of contacts with which a user of the computer program product can at least one of receive information from or transmit information to; analyze context information relevant to likelihoods of imminent communication by the user with the contacts, the context information including information different from ones of the contacts with which the user most recently communicated, the context information further including present user context information and at least one of present context or historical context associated with each of the contacts, respectively; and determine the likelihoods of imminent communication between the user and the contacts based on the context information.
[0009] Implementations of such a computer program product may include one or more of the following features. The computer program product further includes instructions configured to cause the processor to present a prioritized list of the contacts to the user based on the likelihoods of initiation. The prioritized list indicates combinations of contacts and communication types. The computer program product further includes instructions configured to cause the processor to prompt the user to contact at least one of the contacts based on the context information. The instructions configured to cause the processor to prompt include instructions configured to cause the processor to suggest a communication type. The context information includes at least one of: user present location of the user, contact present location, contact historical
location, time of day, day of week, day of year, holiday/non-holiday, a historical communication pattern of the user with at least some of the contacts, a historical communication type for communications between the user and a particular contact of the plurality of contacts, a calendared event, security settings associated with the plurality of contacts, frequencies of communication with each of the plurality of contacts, frequencies of communication with each of the plurality of contacts combined with location of the user, a relationship between the user and each of the plurality of contacts, type of contact, present active application of the user, a user preference, a contact's preference setting, or a contact's permission setting. The computer program product further includes instructions configured to cause the processor to organize stored communications based on the determined likelihoods. The context information includes information as to the contacts with which the user most recently
communicated.
[0010] An example of a mobile telecommunications device includes: a memory storing context information; and means, communicatively coupled to the memory, for: analyzing stored contact information of a plurality of contacts with which a user of the device can at least one of receive information from or transmit information to; analyzing the context information relevant to likelihoods of imminent communication by a user of the apparatus with the contacts, the context information including information different from ones of the contacts with which the user most recently communicated, the context information further including present user context information and at least one of present context or historical context associated with each of the contacts, respectively; and determining the likelihoods of imminent communication between the user and the contacts based on the context information.
[0011] Implementations of such a device may include one or more of the following features. The means are further for presenting a prioritized list of the contacts to the user based on the likelihoods of imminent communication. The context information includes at least one of: user present location of the user, contact present location, contact historical location, time of day, day of week, day of year, holiday/non-holiday, a historical communication pattern of the user with at least some of the contacts, a historical communication type for communications between the user and a particular contact of the plurality of contacts, a calendared event, security settings associated with the plurality of contacts, frequencies of communication with each of the plurality of
contacts, frequencies of communication with each of the plurality of contacts combined with location of the apparatus, a relationship between the user and each of the plurality of contacts, type of contact, present active application of the apparatus, a user preference, a contact's preference setting, or a contact's permission setting. The means are further for organizing stored communications based on the determined likelihoods. The device further includes a network interface communicatively coupled with the means and wherein the means are further for mining context information from a wide area network via the network interface.
[0012] Items and/or techniques described herein may provide one or more of the following capabilities. Less manual user input can be used to interact with a contacts list. Users can be prompted to communicate with a stored contact with whom the user is likely to want to communicate. Contacts can be organized and presented to a user according to likelihoods that the user will wish to communicate with the various contacts. While item/technique-effect pairs have been described, it may be possible for a noted effect to be achieved by means other than those noted, and a noted
item/technique may not necessarily yield the noted effect.
BRIEF DESCRIPTION OF THE DRAWINGS
[0013] FIG. 1 is a schematic diagram of a communication and positioning network.
[0014] FIG. 2 is a block diagram of an access terminal of the network shown in FIG. 1.
[0015] FIG. 3 is a block diagram of a server shown in FIG. 1.
[0016] FIG. 4 block diagram of a table of contact information and associated context information.
[0017] FIG. 5 block diagram of a table of logged communication information.
[0018] FIG. 6 is a block diagram of functional blocks of an access terminal shown in FIG. 1.
[0019] FIG. 7 is a block flow diagram of a process of determining communication contact relevance.
[0020] FIGS. 8A-8C are examples of screen displays of an access terminal shown in FIG. 1.
[0021] FIG. 9 is another example of a screen display of an access terminal shown in FIG. 1.
DETAILED DESCRIPTION
[0022] Techniques are discussed herein for determining contact relevance based on context and providing indications of the contact relevance to a user. For example, information regarding the contacts stored in a mobile device are analyzed for likelihood of imminent communication based on context information. The context information includes information aside from and/or in addition to contacts most recently
communicated with and favorites. For example, the user's present location, calendar events, historical communication patterns, as well as the user's contacts' present location, historical locations, can be analyzed relative to help determine which contacts the user is most likely to communicate with now and using which mode (e.g., phone, email, text message, social networking site). These examples, however, are not exhaustive.
[0023] Techniques described herein may be used for various wireless communication systems such as Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA), Frequency Division Multiple Access (FDMA), Orthogonal FDMA (OFDM A), Single-Carrier FDMA (SC-FDMA), and other systems. The terms "system" and "network" are often used interchangeably. A CDMA system may implement a radio technology such as CDMA2000, Universal Terrestrial Radio Access (UTRA), etc. CDMA2000 covers IS-2000, IS-95 and IS-856 standards. IS-2000 Releases 0 and A are commonly referred to as CDMA2000 IX, IX, etc. IS-856 (TIA-856) is commonly referred to as CDMA2000 lxEV-DO, High Rate Packet Data (HRPD), etc. UTRA includes Wideband CDMA (WCDMA) and other variants of CDMA. A TDMA system may implement a radio technology such as Global System for Mobile Communications (GSM). An OFDM A system may implement a radio technology such as Ultra Mobile Broadband (UMB), Evolved UTRA (E-UTRA), IEEE 802.11 (Wi-Fi), IEEE 802.16 (WiMAX), IEEE 802.20, Flash-OFDM®, etc. UTRA and E-UTRA are part of
Universal Mobile Telecommunication System (UMTS). 3GPP Long Term Evolution (LTE) and LTE-Advanced (LTE-A) are new releases of UMTS that use E-UTRA.
UTRA, E-UTRA, UMTS, LTE, LTE-A and GSM are described in documents from an organization named "3rd Generation Partnership Project" (3GPP). CDMA2000 and UMB are described in documents from an organization named "3rd Generation
Partnership Project 2" (3GPP2). The techniques described herein may be used for the systems and radio technologies mentioned above as well as other systems and radio technologies.
[0024] As used herein, including in the claims, "or" as used in a list of items prefaced by "at least one of indicates a disjunctive list such that, for example, a list of "at least one of A, B, or C" means A or B or C or AB or AC or BC or ABC (i.e., A and B and C). A wireless communication network does not have all communications transmitted wirelessly, but is configured to have at least some communications transmitted wirelessly.
[0025] Referring to FIG. 1, a position location system and telecommunication network 10 includes mobile access terminals (ATs) 12 (also called a mobile device or mobile station), a base transceiver station (BTS) 14 (also called a base station), a position determining entity (PDE) 16, a satellite 18, and a server 20. The system 10 may support operation on multiple carriers (waveform signals of different frequencies). Multi-carrier transmitters can transmit modulated signals simultaneously on the multiple carriers. Each modulated signal may be a CDMA signal, a TDMA signal, an OFDMA signal, a SC-FDMA signal, etc. Each modulated signal may be sent on a different carrier. The ATs 12 can be wirelessly connected to the BTSs 14 and/or connected via wireline to the server 20. While the server 20 is shown as being disposed inside the cell 15, the server 20 may be located remotely from the cell 15.
[0026] The BTS 14 can wirelessly communicate with the ATs 12. The BTS 14 may also be referred to as an access point, an access node (AN), a Node B, an evolved Node B (eNB), etc. The BTS 14 can be configured to communicate with the ATs 12 via multiple carriers. The BTS 14 can provide communication coverage for a respective geographic area, for example, the cell 15.
[0027] The ATs 12 may be referred to as mobile stations, mobile devices, user equipment (UE), or subscriber units. The ATs 12 here are cellular phones, but could also include other wireless communication devices, personal digital assistants (PDAs), other handheld devices, laptop computers, notebook computers, desktop computers, etc.
[0028] The satellite 18 can be part of a global navigation satellite system, e.g., the Global Positioning System (GPS), the GLObal NAvigation Satellite System
(GLONASS), or the Galileo system. Here, the satellite 18 is a GPS satellite with a transmitter capable of transmitting information for use in determining the position of the AT 12. The AT 12 includes a GPS receiver capable of wirelessly receiving position information from the satellite 18.
[0029] Referring to FIG. 2, an exemplary one of the ATs 12 comprises a computer system 30 including a processor 32, memory 34, a display 36, transceivers 38, antennas 40, and a GPS receiver 42. The AT 12 is configured to analyze would-be contact entities, assess the likelihoods of imminent communication with the entities, and present a user of the mobile device with a list and/or prompts for communication with a subset of the entities based on the likelihoods. Alternatively, or additionally, the server 20 can perform this analysis and assessment, convey information to the AT 12, which is configured to use this information to present the user with the list and/or prompts.
[0030] The processor 32 is preferably an intelligent hardware device, e.g., a central processing unit (CPU) such as those made by Intel® Corporation or AMD®, a microcontroller, an application specific integrated circuit (ASIC), etc. The memory 34 includes random access memory (RAM) and read-only memory (ROM). The memory 34 stores a computer program product comprising computer-readable, computer- executable software code 35 containing instructions that are configured to, when executed, cause the processor 32 to perform various functions described herein.
Alternatively, the software 35 may not be directly executable by the processor 32 but configured to cause the processor 32, e.g., when the instructions are compiled and executed, to perform the functions described.
[0031] The display 36 can be any of various types of displays, either now known or later developed. For example, the display 36 can be a liquid crystal display (LCD) that may or may not be touch sensitive. The display 36 preferably has a size and a resolution such that indications of multiple contacts from a stored set of contacts associated with the AT 12 can be presented to the user simultaneously by the display 36.
[0032] Although the AT 12 could include only one transceiver 38 and one antenna 40, the AT 12 preferably, as assumed below, includes multiple transceivers 38 and multiple antennas 40. The transceivers 38 are configured to communicate through corresponding
antennas 40 with the BTS 14, WLAN (wireless local area network) access points, the satellite 18, WW AN (wireless wide area network) access points, or other appropriate device for use in determining the position of the AT 12. The transceivers 38 may include, e.g., far-field communication transceivers such as GSM, CDMA, LTE, and WiMAX transceivers, near-field communication transceivers such as WLAN,
Bluetooth, and UWB transceivers, and/or broadcast receivers such as mobile TV (MediaFlo, DVB-H) receivers. The GPS receiver 42 is configured to process GPS signals received via a GPS antenna of the antennas 40 to determine a position of the mobile device 12, e.g., in conjunction with the processor 32 and the memory 34.
[0033] Referring to FIG. 3, the server 20 comprises a computer system including a processor 52, memory 54, transceivers 56, and an antenna 58. The processor 52 is preferably an intelligent hardware device, e.g., a central processing unit (CPU) such as those made by Intel® Corporation or AMD®, a microcontroller, an application specific integrated circuit (ASIC), etc. The memory 54 includes random access memory (RAM) and read-only memory (ROM). The memory 54 stores computer-readable, computer- executable software code 55 containing instructions that are configured to, when executed, cause the processor 52 to perform various functions described herein.
Alternatively, the software 55 may not be directly executable by the processor 52 but configured to cause the processor 52, e.g., when the instructions are compiled and executed, to perform the functions described. The transceivers 56 are configured to communicate bi-directionally with the BTS 14 through the antenna 58 and to communicate bi-directionally with the PDE 16 through a wired connection.
[0034] Referring to FIGS. 4-5, with further reference to FIGS. 2-3, the memories 34, 54 store databases of information. These databases may include similar types of information in the two memories 34, 54, may include portions with sets of information different from other portions of the same memory and/or different than portions of the other memory.
[0035] For example, the memory 34 stores a table 60 that includes a list of contacts in records 62. Each of the records 62 provides fields for the contact's name 64, work address 66, home address 68, other address 70, work phone number 72, home phone number 74, mobile phone number 76, relationship (e.g., to the user) 78, email addresses 80, 82, social networking site addresses 84, 86, 88, 90, and log information 92 including
the user's location 94, including city 96 and location label 98 (e.g., contact person's address, a store name, or other label such as a park name, zip code, etc.), and corresponding date and time 100. Other fields could be used and the quantities of fields, e.g., three address fields, three phone number fields, two email address fields, and four social network site fields, are given as an example as other quantities of any of such fields may be used. The date and time information 100 corresponds to the location information 94 to indicate on what date and at what time the AT 12 was at the indicated location.
[0036] The table 60 provides a universal contact list of contacts (i.e., entities such as persons, businesses, etc.) that the user of the AT 12 has stored. This list may be presented to the user through the display 36 in a variety of ways, e.g., alphabetically. The table 60 can also be filtered and organized and a filtered, organized list provided to the user.
[0037] A log 110 is stored by the memory 54 of the server 20 providing records 112 of context information for the user's contacts. This information can be added by the user over time, or may be provided or downloaded or otherwise obtained (e.g., by mining a wide area network such as the Internet), e.g., when a new contact is added. The log 110 includes fields for contact name 114, date/time 116, AT location 118 and contact's location 120, communication type 122, and connection information. The date and time 116 are stored for each new entry for location or contact type. The contact location 120 can be obtained and stored in a variety of ways, e.g., periodically (e.g., daily), periodically in response to being further than a threshold distance from the contact's home or typical location, for each region visited outside of a typical region for the contact, etc. The region visited could be any of a variety of resolutions such as each zip code, city, state, and/or country once the contact is outside the contact's typical region, e.g., home city or county. The location information 118, 120 can be obtained using different location techniques such as GPS. The location information 120 can provide a GPS trace of the contact's movement, i.e., historical location over time of the contact. The AT location 118 and communication type 122 are preferably only stored for times corresponding to a communication with the contact. Thus, the AT's location is logged when the AT 12 either sends information to or receives information from the contact. Further, the communication type 122, such as phone, email, text message, social networking site message, and the connection information 124, such as phone
number, email address, website address, are logged when the AT 12 communicates with the contact.
[0038] Referring to FIG. 6, the AT 12 (or server 20) includes a context module 132, a GPS module 134, and a calendar module 136. As shown, the modules 132, 134, and/or 136 are part of the AT 12. These modules, however, may be part of the server 20. Further, portions of the modules 132, 134, and/or 136 may be in the AT 12 while other portions of the modules 132, 134, and/or 136 may be in the server 20. For the discussion below, however, it is assumed that all of the modules 132, 134, 136 are in the AT 12.
[0039] The GPS module 134 is configured to determine the location of the AT 12 and provide this information for storage in the table 60. The GPS module 134 uses known GPS techniques to determine the location of the AT 12 on an ongoing basis, e.g., periodically. The module 134 may continuously determine the AT's position while the module 134 is activated while storing information in the table 60 less frequently, e.g., periodically such as hourly, semi-daily, daily, etc. The location information is stored in the location field 94 with corresponding date and time 100.
[0040] The calendar module 136 is configured to provide a calendar for the user of the AT 12. The calendar module 136 can store indications of appointments and/or other calendar events entered by the user or input into the user's calendar by other means, such as by the user accepting a meeting request or an event indication otherwise received by the calendar module 136. The calendar module 136 can provide access to the user's calendar by the context analysis module 132.
[0041] The context analysis module 132 is configured to analyze information stored in the context table 60, the log 110, and other portions of the memory 34 such as the calendar information stored by the calendar module 136. The context analysis module 132 is further configured to analyze information external to the memory 34, such as information obtained via a wide area network such as the Internet using an appropriate application program interface. For example, the module 132 can use IMAP (Internet message access protocol) for accessing Gmail™. As another example, the context analysis module 132 can mine social networks over the Internet to determine information relevant to likelihoods that the user of the AT 12 will communicate with the contact stored in the table 60. The module 132 can analyze the information obtained
over the Internet such as from social networking sites to adjust parameters and/or a priority list, discussed below, based on information obtained from the social networks. For example, the module 132 can determine the frequency of communication (e.g., using phone, email, social networking sites such as Facebook®, My Space®, etc.) between (from or to) the AT 12 and other entities.
[0042] The context analysis module 132 is configured to analyze context information in order to determine a ranking of likelihoods of imminent communication between the user of the AT 12 and any of the stored contacts in the table 60 or even other potential contacts not stored in the table 60. The context analysis module 132 is configured to analyze the context information to develop a contact-relevance score for each of the would-be contacts. This score is a function of multiple criteria and can be represented as
where S is the relevance score, and Ci - cn are the criteria. The criteria may include one or more of the following:
1. frequency with which the user has communicated with a contact at or near the current time;
2. frequency with which the user has interacted with a contact at or near the current day of week;
3. frequency with which the user has interacted with a contact at or near the current location;
4. frequency with which the user has interacted with a contact in
general;
5. frequency with which the user has interacted with a contact when other individuals are present nearby;
6. the nature (type or mode) of prior interactions (e.g., phone call, SMS message, IM message, Facebook® wallpost, email, rejected call followed by a text message, etc.);
7. relationship with the contact (e.g., spouse, son, daughter, co-worker, friend, etc.);
8. relationship with the contact (e.g., emergency contact) coupled with the current location of the AT 12 (e.g., high-crime area);
9. frequency with which the user has interacted with a contact after having called/interacted with another contact (i.e., communication patterns or communication chains);
10. calendar status, e.g., whether the user has a meeting with one or more of the contacts near the current time;
11. historical pattern/frequency and location combination, e.g., have never called X when in SF, therefore next SF trip, don't weight X highly;
12. location/distance relative to user's current location;
13. possession of relevant information;
14. contact's historical location relative to user's current location; and
15. others.
[0043] The context analysis module 132 can combine the various criteria in a variety of manners. The criteria may be summed, multiplied, some criteria summed and others multiplied, or otherwise combined. Further, the criteria may be equally weighted (or not weighted), or may be unequally weighted to emphasize some criteria over other criteria, may have the weightings of the various criteria changed depending on the time or other factors, etc. For example, frequency of communication may receive a lower weighting based on the time since the last communication with that contact. Thus, even if the frequency of communication with the particular contact is historically high, this factor may receive a lower weighting if the most recent communication with that contact exceeds a threshold time, and may receive even lower weighting upon the most recent communication exceeding further thresholds. As another example, the presence of a particular contact in the calendar of the user of the AT 12 may be heavily weighted over other criteria. The application in use by the AT 12 may also affect the weightings or other calculations of the contact-relevance score. For example, if the user of the AT 12 is using the phone versus email versus text messaging, the weightings of the relevance score factors may change, e.g., depending upon the usual mode or type of communication with the various contacts. As another example, the mode of
communication with a particular contact may be more highly weighted based upon the present application in use. For example, if the user is presently using a restaurant recommendation application such as Yelp®, then the weightings could help prioritize those contacts with relevant information. In this case, relevant information could be, e.g., frequency of visit by a contact to the restaurant type that the user is presently looking for, amount of interest indicated by a particular contact in that type of restaurant, existence of reviews by the contact of that restaurant type or the particular restaurant that the user is presently researching, etc. Further, the context analysis module 132 can develop different priorities based on the information or type of communication sought by the user. For example, if the user is looking to have a live communication with a contact, then the priority may be different than if the user only wishes to see stored reviews by the user's contacts.
[0044] With respect to call pattern analysis, the context analysis module 132 can develop different priorities or likelihoods of imminent communication with a contact based on historical patterns of communication. For example, if the user frequently sends a text message to the user's stockbroker immediately after a communication with a particular one of the user's friends, then the stockbroker can be given a higher weighting or likelihood of communication if the user is presently communicating with the particular friend. The context analysis module 132 can cause the user to be prompted to contact the stockbroker upon the termination of the communication with the particular friend. As another example, if the user frequently communicates with a particular contact during meetings, then the analysis module 132 can give a higher weighting to that particular contact during any future meetings indicated by the user's calendar.
[0045] With respect to historical pattern/frequency and location combination, the module 132 can influence one or more of the relevance score weightings depending upon the user's communication patterns at different locations. For example, if the user has never called contact X when in San Francisco even though contact X lives in San Francisco and has received a higher weighting for relative location/distance, then the module 132 can adjust the weighting such that during the user's next San Francisco trip, the relative location/distance criterion in contact X's relevance score will receive a lower weighting than before.
[0046] The context analysis module 132 can further reorganize prior communications stored in the memory 34 based on the context. For example, if the user is presently communicating over the Internet with a bookseller's website, then prior
communications received from that bookseller, or other booksellers, can be more heavily weighted. For example, emails received from a bookseller can be moved to the top or near to the top of a displayed list of emails, e.g., in another open window or when the user changes from viewing the bookseller website to viewing the user's stored emails.
[0047] The context analysis module 132 can further analyze the substance of communications between the user and other entities to help determine likelihood of future communication. For example, if the user of the AT 12 is presently reading an email, the context analysis module 132 can analyze the words contained in the email being read to determine weightings to give to contacts that the user may wish to communicate with. For example, if the user is reading an email regarding books, the context analysis module 132 can more heavily weight bookseller contacts and communications to effect a move of the contact information of the user's favorite bookseller to the top of the contacts list and/or to reorganize prior communications, e.g., to move emails received from the user's favorite bookseller to the top of a list of displayed emails.
[0048] Referring to FIG. 7, with further reference to FIGS. 1-6, a process 150 of determining communication contact relevance includes the stages shown. The process 150 is, however, an example only and not limiting. The process 150 can be altered, e.g., by having stages added, removed, or rearranged.
[0049] At stage 152, permissions/privacy settings and/or preferences are obtained. The user of the AT 12 and/or the user's contacts provide indications of
permissions/privacy settings and/or preference settings for various functions and features. For example, the user may wish to set a certain person or entity, such as the person's mother or father, as the default highest priority contact at all times. Further, some of the contacts may not wish the AT 12 or the server 20 to be able to log the contact's location.
[0050] At stage 154, present context information is obtained. The context analysis module 132 determines the user's present location via information from the GPS
module 134, analyzes stored calendar information provided by the calendar module 136, determines the present day and time, analyzes any present communications by the AT 12, etc.
[0051] At stage 156, the context analysis module 132 analyzes stored contact information and context information relative to the present context. The analysis module 132 analyzes the information in the contacts table 60 as well as the log 110. The module 132 further analyzes information as appropriate beyond the AT 12, such as by mining applications over the Internet (e.g., email applications, social networking websites, etc.). The analysis module 132 also analyzes the present date, time, location of the AT 12, frequencies of communication with the contacts, modes of
communication with the contacts, and other factors for determining the contact- relevance scores.
[0052] At stage 158, the context analysis module 132 uses the information analyzed at stage 156 to determine contact relevance scores. The module 132 determines scores for each of the contacts stored in the table 60 as well as identifying other possibly relevant contacts and determining a score for each of those contacts as well. The module 132 determines any dynamic weightings, e.g., based on time of day, day of week, current communication mode if any, current contact in communication with if any, etc. The module 132 applies the weightings to the score criteria, and combines the weighted criteria to arrive at scores for the contacts.
[0053] At stage 160, the context analysis module 132 ranks the contacts by
communication likelihood. The analysis module 132 organizes the contacts from the table 60 and other would-be contacts according to their contact-relevance scores. The rankings may be dependent upon the particular application accessed by the user of the AT 12.
[0054] At stage 162, the context analysis module 132 presents the prioritized list of contacts to the user and/or prompts the user to communicate with one or more of the contacts. The analysis module 132 provides information via the display 136 to the user of the AT 12 to prompt the user to communicate with the highest-ranked contacts and/or to provide quick access for communication with the highest-ranked contacts without prompting the user. The displayed list may take a variety of forms, such as text indications, graphical indications, etc. The indications may directly link the user to a
particular form of contact such as phone, text messaging, email, etc. or may provide a link to a further display that provides more detailed options of communication forms.
Case Examples
[0055] Referring to FIGS. 8A-8C, an example of an implementation of the techniques described above is shown. In this example, the display 36 is showing a contacts page 180 including a top contacts list 182 for the user. The user's present location is "home" as indicated by a location indicator 184. The user's most likely contacts for imminent communication as determined by the context analysis module 132 are provided in the top contacts list 182. In this example, the user, Kate, is having lunch soon with some of her friends. As the time for the event on Kate's calendar is near, those friends attending the lunch have become more relevant contacts as it is thus more likely that Kate will call or text message one of them. Kate's best friend Brittany is both an invitee to the lunch and Kate's friend and thus is in the top contacts list 182, indeed being at the top of the top contacts list 182. Other friends attending the lunch will also have more relevance in this context and are prioritized according to other factors such as how often Kate calls, texts, or otherwise interacts with them.
[0056] Referring to FIG. 8B in particular, the user, Kate, has selected the icon for her friend Brittany. In response, the processor 32 has caused the display 36 to show a detail contact page 183 highlighting Brittany's icon and providing more details regarding Brittany and options for communicating with her or viewing information related to her. As shown, there are links 186 allowing Kate to call Brittany, message Brittany, view message history, view Brittany's profile, edit Brittany's contact information, and pin Brittany to the top contacts list 182.
[0057] Referring to FIG. 8C, the top contacts list 182 has been reorganized. Kate is now in San Francisco as indicated by the location indicator 184 on vacation. This is planned in her calendar and confirmed by her GPS information provided by the GPS module 134. Given her present location, her friends that live in the area have become more relevant contacts and the context analysis module 132 has caused the display 36 to show more geographically-relevant contacts, providing the opportunity for Kate to more easily communicate with them. As shown, different ones of Kate's contacts are now provided in the state of the list 182 versus the state of the list 182 as shown in FIG. 8A. Further, an icon 188 for Southwest Airlines® is also provided by the display 36. The
context analysis module 132 determined from Kate's stored communications that she used Southwest Airlines® for travel to San Francisco and thus is likely to want to communicate with this airline's website, e.g., to check her flight status, check in, print her boarding pass, etc. When Kate returns home, the contacts shown in the list 182 will receive lower weightings and thus may no longer be as relevant to her daily life and thus may no longer be provided in the top contacts list 182.
[0058] Referring to FIG. 9, Kate has provided a user preference setting of having her mom be her top priority contact regardless of other context. Thus, as shown, the display 36 shows that Kate is home as indicated by the location indicator 184 and her contacts page 190 provides a top contacts list 192 with an icon 194 indicating her mom being highlighted or otherwise distinguished from other contacts icons. The contacts page 190 also provides various links 192 for modes in which to communicate with her mom.
[0059] Other examples and implementations are within the scope and spirit of the disclosure and claims. For example, while the description above focused on mobile apparatus and context including location, stationary apparatus such as desktop computers may also be used and context information used to adjust contact information including ordering of options for future communications and/or ordering of stored communications .
[0060] The various operations of methods described above may be performed by any suitable means capable of performing the corresponding functions. The means may include various hardware and/or software component(s) and/or module(s), including, but not limited to a circuit, an application specific integrate circuit (ASIC), or processor.
[0061] The various illustrative logical blocks, modules, and circuits described may be implemented or performed with a general purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array signal (FPGA), or other programmable logic device (PLD), discrete gate, or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general purpose processor may be a microprocessor, but in the alternative, the processor may be any commercially available processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and
a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.
[0062] The steps of a method or algorithm described in connection with the present disclosure, may be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. A software module may reside in any form of tangible storage medium. Some examples of storage media that may be used include random access memory (RAM), read only memory (ROM), flash memory, EPROM memory, EEPROM memory, registers, a hard disk, a removable disk, a CD-ROM and so forth. A storage medium may be coupled to a processor such that the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor. A software module may be a single instruction, or many instructions, and may be distributed over several different code segments, among different programs, and across multiple storage media.
[0063] The methods disclosed herein comprise one or more actions for achieving the described method. The method and/or actions may be interchanged with one another without departing from the scope of the claims. In other words, unless a specific order of actions is specified, the order and/or use of specific actions may be modified without departing from the scope of the claims.
[0064] The functions described may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored as one or more instructions on a tangible computer-readable medium. A storage medium may be any available tangible medium that can be accessed by a computer. By way of example, and not limitation, such computer-readable media can comprise RAM, ROM, EEPROM, CD-ROM, or other optical disk storage, magnetic disk storage, or other magnetic storage devices, or any other tangible medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer. Disk and disc, as used herein, include compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk, and Blu-ray® disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers.
[0065] Thus, a computer program product may perform operations presented herein. For example, such a computer program product may be a computer readable tangible
medium having instructions tangibly stored (and/or encoded) thereon, the instructions being executable by one or more processors to perform the operations described herein. The computer program product may include packaging material.
[0066] Software or instructions may also be transmitted over a transmission medium. For example, software may be transmitted from a website, server, or other remote source using a transmission medium such as a coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technology such as infrared, radio, or microwave.
[0067] Further, modules and/or other appropriate means for performing the methods and techniques described herein can be downloaded and/or otherwise obtained by a user terminal and/or base station as applicable. For example, such a device can be coupled to a server to facilitate the transfer of means for performing the methods described herein. Alternatively, various methods described herein can be provided via storage means (e.g., RAM, ROM, a physical storage medium such as a compact disc (CD) or floppy disk, etc.), such that a user terminal and/or base station can obtain the various methods upon coupling or providing the storage means to the device. Moreover, any other suitable technique for providing the methods and techniques described herein to a device can be utilized.
[0068] Various changes, substitutions and alterations to the techniques described herein can be made without departing from the technology of the teachings as defined by the appended claims. Moreover, the scope of the disclosure and claims is not limited to the particular aspects of the process, machine, manufacture, composition of matter, means, methods, and actions described above. Processes, machines, manufacture, compositions of matter, means, methods, or actions, presently existing or later to be developed, that perform substantially the same function or achieve substantially the same result as the corresponding aspects described herein may be utilized. Accordingly, the appended claims include within their scope such processes, machines, manufacture, compositions of matter, means, methods, or actions.
[0069] Further, more than one invention may be disclosed.
Claims
1. A method of determining a communications contact relevance for a user, the method comprising:
analyzing stored contact information of a plurality of contacts with which the user can at least one of receive information from or transmit information to;
analyzing context information relevant to likelihoods of imminent communication by the user with the contacts, the context information including information different from ones of the contacts with which the user most recently communicated, the context information further including present user context information and at least one of present context or historical context associated with each of the contacts, respectively; and determining the likelihoods of imminent communication between the user and the contacts based on the context information.
2. The method of claim 1 further comprising presenting a prioritized list of the contacts to the user based on the likelihoods of initiation.
3. The method of claim 2 wherein the prioritized list indicates combinations of contacts and communication types.
4. The method of claim 1 further comprising prompting the user to contact at least one of the contacts based on the context information.
5. The method of claim 4 wherein the prompting includes suggesting a communication type.
6. The method of claim 1 wherein the context information includes at least one of: user present location of the user, contact present location, contact historical location, time of day, day of week, day of year, holiday/non-holiday, a historical
communication pattern of the user with at least some of the contacts, a historical
communication type for communications between the user and a particular contact of the plurality of contacts, a calendared event, security settings associated with the plurality of contacts, frequencies of communication with each of the plurality of contacts, frequencies of communication with each of the plurality of contacts combined with location of the user, a relationship between the user and each of the plurality of contacts, type of contact, present active application of the user, a user preference, a contact's preference setting, or a contact's permission setting.
7. The method of claim 1 further comprising organizing stored communications based on the determined likelihoods.
8. The method of claim 1 wherein the context information includes information as to the contacts with which the user most recently communicated.
9. An apparatus comprising:
a memory storing context information; and
a processor communicatively coupled to the memory and configured to:
analyze stored contact information of a plurality of contacts with which a user of the apparatus can at least one of receive information from or transmit information to;
analyze the context information relevant to likelihoods of imminent communication by a user of the apparatus with the contacts, the context information including information different from ones of the contacts with which the user most recently communicated, the context information further including present user context information and at least one of present context or historical context associated with each of the contacts, respectively; and
determine the likelihoods of imminent communication between the user and the contacts based on the context information.
10. The apparatus of claim 9 wherein the processor is further configured to present a prioritized list of the contacts to the user based on the likelihoods of imminent communication.
11. The apparatus of claim 9 wherein the context information includes at least one of: user present location of the user, contact present location, contact historical location, time of day, day of week, day of year, holiday/non-holiday, a historical
communication pattern of the user with at least some of the contacts, a historical
communication type for communications between the user and a particular contact of the plurality of contacts, a calendared event, security settings associated with the plurality of contacts, frequencies of communication with each of the plurality of contacts, frequencies of communication with each of the plurality of contacts combined with location of the apparatus, a relationship between the user and each of the plurality of contacts, type of contact, present active application of the apparatus, a user preference, a contact's preference setting, or a contact's permission setting.
12. The apparatus of claim 9 wherein the processor is further configured to organize stored communications based on the determined likelihoods.
13. The apparatus of claim 9 further comprising a network interface communicatively coupled with the processor and wherein the processor is further configured to mine context information from a wide area network via the network interface.
14. A computer program product residing on a non-transitory processor- readable medium and comprising processor-readable instructions configured to cause a processor to:
analyze stored contact information of a plurality of contacts with which a user of the computer program product can at least one of receive information from or transmit information to;
analyze context information relevant to likelihoods of imminent communication by the user with the contacts, the context information including information different from ones of the contacts with which the user most recently communicated, the context information further including present user context information and at least one of present context or historical context associated with each of the contacts, respectively; and determine the likelihoods of imminent communication between the user and the contacts based on the context information.
15. The computer program product of claim 14 further comprising instructions configured to cause the processor to present a prioritized list of the contacts to the user based on the likelihoods of initiation.
16. The computer program product of claim 15 wherein the prioritized list indicates combinations of contacts and communication types.
17. The computer program product of claim 14 further comprising instructions configured to cause the processor to prompt the user to contact at least one of the contacts based on the context information.
18. The computer program product of claim 17 wherein the instructions configured to cause the processor to prompt include instructions configured to cause the processor to suggest a communication type.
19. The computer program product of claim 14 wherein the context information includes at least one of: user present location of the user, contact present location, contact historical location, time of day, day of week, day of year, holiday/non- holiday, a historical communication pattern of the user with at least some of the contacts, a historical communication type for communications between the user and a particular contact of the plurality of contacts, a calendared event, security settings associated with the plurality of contacts, frequencies of communication with each of the plurality of contacts, frequencies of communication with each of the plurality of contacts combined with location of the user, a relationship between the user and each of the plurality of contacts, type of contact, present active application of the user, a user preference, a contact's preference setting, or a contact's permission setting.
20. The computer program product of claim 14 further comprising instructions configured to cause the processor to organize stored communications based on the determined likelihoods.
21. The computer program product of claim 14 wherein the context information includes information as to the contacts with which the user most recently communicated.
22. A mobile telecommunications device comprising:
a memory storing context information; and
means, communicatively coupled to the memory, for:
analyzing stored contact information of a plurality of contacts with which a user of the device can at least one of receive information from or transmit information to;
analyzing the context information relevant to likelihoods of imminent communication by a user of the apparatus with the contacts, the context information including information different from ones of the contacts with which the user most recently communicated, the context information further including present user context information and at least one of present context or historical context associated with each of the contacts, respectively; and
determining the likelihoods of imminent communication between the user and the contacts based on the context information.
23. The device of claim 22 wherein the means are further for presenting a prioritized list of the contacts to the user based on the likelihoods of imminent
communication.
24. The device of claim 22 wherein the context information includes at least one of: user present location of the user, contact present location, contact historical location, time of day, day of week, day of year, holiday/non-holiday, a historical communication pattern of the user with at least some of the contacts, a historical communication type for communications between the user and a particular contact of the plurality of contacts, a calendared event, security settings associated with the plurality of contacts, frequencies of communication with each of the plurality of contacts, frequencies of communication with each of the plurality of contacts combined with location of the apparatus, a relationship between the user and each of the plurality of contacts, type of contact, present active application of the apparatus, a user preference, a contact's preference setting, or a contact's permission setting.
25. The device of claim 22 wherein the means are further for organizing stored communications based on the determined likelihoods.
26. The device of claim 22 further comprising a network interface communicatively coupled with the means and wherein the means are further for mining context information from a wide area network via the network interface.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013550646A JP5680765B2 (en) | 2011-01-21 | 2012-01-20 | Context-based contact relevance |
CN201280012599.XA CN103562902B (en) | 2011-01-21 | 2012-01-20 | Contact person's dependency based on context |
KR1020137021945A KR101564649B1 (en) | 2011-01-21 | 2012-01-20 | Contact relevance based on context |
EP20120704466 EP2676205A4 (en) | 2011-01-21 | 2012-01-20 | Contact relevance based on context |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/011,127 US9230240B2 (en) | 2011-01-21 | 2011-01-21 | Contact relevance based on context |
US13/011,127 | 2011-01-21 |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2012100227A2 true WO2012100227A2 (en) | 2012-07-26 |
WO2012100227A3 WO2012100227A3 (en) | 2013-11-14 |
Family
ID=45615056
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2012/022117 WO2012100227A2 (en) | 2011-01-21 | 2012-01-20 | Contact relevance based on context |
Country Status (6)
Country | Link |
---|---|
US (1) | US9230240B2 (en) |
EP (1) | EP2676205A4 (en) |
JP (1) | JP5680765B2 (en) |
KR (1) | KR101564649B1 (en) |
CN (1) | CN103562902B (en) |
WO (1) | WO2012100227A2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016005035A1 (en) * | 2014-07-11 | 2016-01-14 | Unify Gmbh & Co. Kg | Method for managing a call journal, device, computer program, and software product for this purpose |
Families Citing this family (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9536230B2 (en) * | 2008-12-30 | 2017-01-03 | International Business Machines Corporation | Managing calendaring events |
US9335893B2 (en) * | 2009-12-29 | 2016-05-10 | Here Global B.V. | Method and apparatus for dynamically grouping items in applications |
US9055415B2 (en) * | 2011-10-19 | 2015-06-09 | Facebook, Inc. | Urgency notification delivery channel |
US8934877B2 (en) | 2011-10-19 | 2015-01-13 | Facebook, Inc. | Inferential urgency notification delivery channel |
US10719840B2 (en) | 2011-10-24 | 2020-07-21 | Transform Sr Brands Llc | Systems and methods for distributing customizable and shareable tiered offers |
KR101579032B1 (en) * | 2012-06-22 | 2015-12-18 | 구글 인코포레이티드 | Labeling visited locations based on contact information |
US9088620B2 (en) * | 2012-06-28 | 2015-07-21 | Fujitsu Limited | System and method of recommending actions based on social capital of users in a social network |
KR101974820B1 (en) | 2012-09-10 | 2019-08-23 | 삼성전자주식회사 | Method for controlling a device and device performing the same |
US9300756B2 (en) * | 2012-09-28 | 2016-03-29 | Google Inc. | Identity crowd-sourced curation |
US10965775B2 (en) * | 2012-11-20 | 2021-03-30 | Airbnb, Inc. | Discovering signature of electronic social networks |
CN103037311B (en) * | 2012-12-24 | 2015-09-30 | 东莞市全方位信息科技有限公司 | A kind of mass-sending based on social networks is sought help and rescue skills |
KR102069867B1 (en) * | 2013-03-14 | 2020-01-23 | 삼성전자주식회사 | Contact provision using context information |
US9619846B2 (en) * | 2013-04-29 | 2017-04-11 | Linkedin Corporation | System and method for relevance-based social network interaction recommendation |
US20140344259A1 (en) * | 2013-05-15 | 2014-11-20 | Google Inc. | Answering people-related questions |
KR102089451B1 (en) * | 2013-07-30 | 2020-03-17 | 엘지전자 주식회사 | Mobile terminal and method for controlling of the same |
US9842113B1 (en) * | 2013-08-27 | 2017-12-12 | Google Inc. | Context-based file selection |
US9087110B2 (en) | 2013-10-21 | 2015-07-21 | Mylife.Com, Inc. | Prioritizing online relationships |
US20150178046A1 (en) * | 2013-12-19 | 2015-06-25 | BHI Inc. | Contact management system learning from message exchange patterns, positional information or calendar |
CN103684994A (en) * | 2013-12-19 | 2014-03-26 | 宇龙计算机通信科技(深圳)有限公司 | Method and system for recommending friends for instant messaging users |
US9779074B2 (en) * | 2013-12-20 | 2017-10-03 | International Business Machines Corporation | Relevancy of communications about unstructured information |
US20150242501A1 (en) * | 2014-02-21 | 2015-08-27 | Streetlights LLC | Social network address book |
US20150302054A1 (en) * | 2014-04-22 | 2015-10-22 | Dimitrios Spanos | Process for identifying contacts likely to be needed based on user communication habits |
CN104615616B (en) * | 2014-05-04 | 2017-03-22 | 腾讯科技(深圳)有限公司 | group recommendation method and system |
CN104182495A (en) * | 2014-08-13 | 2014-12-03 | 墨仕(厦门)电子商务有限公司 | SNS location information matching method based on scenes |
KR102319983B1 (en) * | 2014-09-24 | 2021-11-01 | 삼성전자주식회사 | Method for providing information and an electronic device thereof |
US10218843B2 (en) | 2014-12-04 | 2019-02-26 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Contextual contact substitution for mobile devices |
US9825966B2 (en) * | 2014-12-18 | 2017-11-21 | Intel Corporation | System platform for context-based configuration of communication channels |
CN105992144A (en) * | 2015-02-09 | 2016-10-05 | 中兴通讯股份有限公司 | Method and device for sorting contacts in contact list |
US10326748B1 (en) | 2015-02-25 | 2019-06-18 | Quest Software Inc. | Systems and methods for event-based authentication |
US10417613B1 (en) | 2015-03-17 | 2019-09-17 | Quest Software Inc. | Systems and methods of patternizing logged user-initiated events for scheduling functions |
US10536352B1 (en) | 2015-08-05 | 2020-01-14 | Quest Software Inc. | Systems and methods for tuning cross-platform data collection |
US9706349B2 (en) | 2015-09-30 | 2017-07-11 | Here Global B.V. | Method and apparatus for providing an association between a location and a user |
KR102469034B1 (en) | 2016-02-11 | 2022-11-22 | 삼성전자주식회사 | Electronic device for providing contact target and method for operating the same |
US10909181B2 (en) | 2016-03-28 | 2021-02-02 | Microsoft Technology Licensing, Llc | People relevance platform |
US20180032585A1 (en) * | 2016-08-01 | 2018-02-01 | Qualcomm Incorporated | Systems and methods for context-based contact suggestion |
US20180189382A1 (en) * | 2017-01-03 | 2018-07-05 | Microsoft Technology Licensing, Llc | System for Forming Connections Between Users |
US10348897B2 (en) | 2017-06-27 | 2019-07-09 | Avaya Inc. | System and method for reducing storage space in a contact center |
US10459953B1 (en) * | 2017-08-04 | 2019-10-29 | Microsoft Technology Licensing, Llc | Member privacy protection |
US11113617B1 (en) * | 2018-06-08 | 2021-09-07 | Facebook, Inc. | Ranking of user contacts to facilitate efficient user interfaces |
US20210279692A1 (en) * | 2018-06-18 | 2021-09-09 | Tocca, Inc. | Automated contact management |
US10783205B2 (en) * | 2018-07-25 | 2020-09-22 | International Business Machines Corporation | Mobile device having cognitive contacts |
KR102576267B1 (en) * | 2018-10-10 | 2023-09-07 | 스카라망가 테크놀로지스 프라이빗 리미티드 | Method, system and apparatus for providing a set of contextual keywords for communication events in a multi-communication platform environment |
CN109857557A (en) * | 2019-01-16 | 2019-06-07 | 北京明略软件系统有限公司 | The distributed computing method and system, computer readable storage medium of relationship discovery |
US10841415B2 (en) | 2019-04-11 | 2020-11-17 | International Business Machines Corporation | Sharing emergency information |
CN110753158B (en) * | 2019-10-12 | 2020-10-23 | 上海赛连信息科技有限公司 | Intelligent call recording method and device |
US11784961B2 (en) * | 2020-10-30 | 2023-10-10 | Honda Research Institute Europe Gmbh | Social interaction opportunity detection method and system |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6721410B1 (en) * | 1999-08-10 | 2004-04-13 | Nortel Networks Limited | Recursive identification of individuals for casual collaborative conferencing |
US7330895B1 (en) * | 2001-03-15 | 2008-02-12 | Microsoft Corporation | Representation, decision models, and user interface for encoding managing preferences, and performing automated decision making about the timing and modalities of interpersonal communications |
US7415417B2 (en) * | 2002-03-15 | 2008-08-19 | Avaya Technology Corp. | Presence awareness agent |
US7336779B2 (en) * | 2002-03-15 | 2008-02-26 | Avaya Technology Corp. | Topical dynamic chat |
JP4187987B2 (en) | 2002-03-25 | 2008-11-26 | 株式会社エヌ・ティ・ティ・データ | Instant messaging system and instant messaging program |
US7418663B2 (en) * | 2002-12-19 | 2008-08-26 | Microsoft Corporation | Contact picker interface |
US7580363B2 (en) * | 2004-08-16 | 2009-08-25 | Nokia Corporation | Apparatus and method for facilitating contact selection in communication devices |
US7548915B2 (en) * | 2005-09-14 | 2009-06-16 | Jorey Ramer | Contextual mobile content placement on a mobile communication facility |
US8345858B2 (en) | 2007-03-21 | 2013-01-01 | Avaya Inc. | Adaptive, context-driven telephone number dialing |
US20090063467A1 (en) * | 2007-08-30 | 2009-03-05 | Fatdoor, Inc. | Persona management in a geo-spatial environment |
US8832135B2 (en) | 2008-05-02 | 2014-09-09 | Verint Systems, Ltd. | Method and system for database query term suggestion |
WO2010004744A1 (en) * | 2008-07-09 | 2010-01-14 | パナソニック株式会社 | Path danger evaluation device |
US8805450B2 (en) | 2008-09-05 | 2014-08-12 | Microsoft Corp. | Intelligent contact management |
US8204897B1 (en) * | 2008-09-09 | 2012-06-19 | Google Inc. | Interactive search querying |
EP2175356B1 (en) | 2008-10-08 | 2018-08-15 | ExB Asset Management GmbH | Distance dependent selection of information entities |
US8856226B2 (en) | 2009-01-30 | 2014-10-07 | Nokia Corporation | Method, apparatus, and computer program product for context-based contact information management |
CN101848266B (en) | 2009-03-24 | 2014-03-26 | 北京网秦天下科技有限公司 | Multi-dimensional number address list inquiring method based on context |
US8332748B1 (en) * | 2009-10-22 | 2012-12-11 | Google Inc. | Multi-directional auto-complete menu |
US20120109836A1 (en) * | 2010-11-01 | 2012-05-03 | Google Inc. | Content sharing interface for sharing content in social networks |
-
2011
- 2011-01-21 US US13/011,127 patent/US9230240B2/en not_active Expired - Fee Related
-
2012
- 2012-01-20 CN CN201280012599.XA patent/CN103562902B/en not_active Expired - Fee Related
- 2012-01-20 EP EP20120704466 patent/EP2676205A4/en not_active Withdrawn
- 2012-01-20 JP JP2013550646A patent/JP5680765B2/en not_active Expired - Fee Related
- 2012-01-20 WO PCT/US2012/022117 patent/WO2012100227A2/en active Application Filing
- 2012-01-20 KR KR1020137021945A patent/KR101564649B1/en not_active IP Right Cessation
Non-Patent Citations (1)
Title |
---|
See references of EP2676205A4 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016005035A1 (en) * | 2014-07-11 | 2016-01-14 | Unify Gmbh & Co. Kg | Method for managing a call journal, device, computer program, and software product for this purpose |
US9979807B2 (en) | 2014-07-11 | 2018-05-22 | Unify Gmbh & Co. Kg | Method for managing a call journal, device, computer program, and software product for this purpose |
US10306041B2 (en) | 2014-07-11 | 2019-05-28 | Unify Gmbh & Co. Kg | Method for managing a call journal, device, computer program, and software product for this purpose |
US10686924B2 (en) | 2014-07-11 | 2020-06-16 | Unify Gmbh & Co. Kg | Method for managing a call journal, device, computer program, and software product for this purpose |
Also Published As
Publication number | Publication date |
---|---|
CN103562902B (en) | 2016-11-23 |
EP2676205A2 (en) | 2013-12-25 |
WO2012100227A3 (en) | 2013-11-14 |
KR101564649B1 (en) | 2015-10-30 |
CN103562902A (en) | 2014-02-05 |
KR20130120518A (en) | 2013-11-04 |
US20120191777A1 (en) | 2012-07-26 |
JP2014505948A (en) | 2014-03-06 |
US9230240B2 (en) | 2016-01-05 |
EP2676205A4 (en) | 2015-02-25 |
JP5680765B2 (en) | 2015-03-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9230240B2 (en) | Contact relevance based on context | |
US20170353815A1 (en) | Application Relevance Determination Based On Social Context | |
US9049547B2 (en) | Displaying place-related content on a mobile device | |
US9323416B2 (en) | Managing linked contact records containing information from multiple source records | |
AU2011216145B2 (en) | Methods and apparatus for contact information representation | |
US10885044B2 (en) | Techniques for device configuration for commerce messaging using commerce messaging history information | |
CN106031262B (en) | Proximity detection | |
US9877185B2 (en) | Techniques for phone number and data management | |
US20140245180A1 (en) | Apparatus and method for providing contact-related information items | |
CN102223429A (en) | Predictive contact information representation | |
US10713386B2 (en) | Method and system for protecting user privacy | |
AU2014412031B2 (en) | Techniques to associate user data with a mobile device | |
WO2014128645A1 (en) | Apparatus and method for providing contact-related information items | |
CN106412265B (en) | Method for pushing and device are reminded in interaction based on location information | |
CN105611071A (en) | Schedule information display method and terminal | |
US10255327B2 (en) | Apparatus and method for providing contact-related information items | |
US20170195988A1 (en) | Multi profile communication device | |
US20130191462A1 (en) | Prioritizing and providing information about user contacts | |
US10601760B2 (en) | Techniques for device configuration of prospective contacts using messaging history information | |
US10817481B2 (en) | Managing contact records between service provider accounts of a user | |
US9973613B1 (en) | Re-organize pins based on proximity of other people | |
JP6644655B2 (en) | Notification device | |
CA2766457C (en) | Managing linked contact records containing information from multiple source records | |
AU2012101624A4 (en) | Methods and Systems for Facilitating a Meeting between Two or More Members of a Social Network | |
JP2012064013A (en) | Information providing server and information provision method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ENP | Entry into the national phase |
Ref document number: 2013550646 Country of ref document: JP Kind code of ref document: A |
|
ENP | Entry into the national phase |
Ref document number: 20137021945 Country of ref document: KR Kind code of ref document: A |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2012704466 Country of ref document: EP |