US20050282578A1 - System and method of accessing contact information on a communication device - Google Patents

System and method of accessing contact information on a communication device Download PDF

Info

Publication number
US20050282578A1
US20050282578A1 US10/528,529 US52852905A US2005282578A1 US 20050282578 A1 US20050282578 A1 US 20050282578A1 US 52852905 A US52852905 A US 52852905A US 2005282578 A1 US2005282578 A1 US 2005282578A1
Authority
US
United States
Prior art keywords
contact
contact information
identified
network identifier
records
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
US10/528,529
Other versions
US7266367B2 (en
Inventor
Raymond Vander Veen
Andrew Bocking
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BlackBerry Ltd
Original Assignee
Research in Motion Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Research in Motion Ltd filed Critical Research in Motion Ltd
Priority to US10/528,529 priority Critical patent/US7266367B2/en
Assigned to RESEARCH IN MOTION LIMITED reassignment RESEARCH IN MOTION LIMITED ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: BOCKING, ANDREW D., VANDER VEEN, RAYMOND P.
Publication of US20050282578A1 publication Critical patent/US20050282578A1/en
Priority to US11/831,259 priority patent/US7519357B2/en
Application granted granted Critical
Publication of US7266367B2 publication Critical patent/US7266367B2/en
Assigned to BLACKBERRY LIMITED reassignment BLACKBERRY LIMITED CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: RESEARCH IN MOTION LIMITED
Adjusted expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/26Devices for calling a subscriber
    • H04M1/27Devices whereby a plurality of signals may be stored simultaneously
    • H04M1/274Devices 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/2745Devices 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/2753Devices 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 providing data content
    • H04M1/2757Devices 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 providing data content by data transmission, e.g. downloading
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/26Devices for calling a subscriber
    • H04M1/27Devices whereby a plurality of signals may be stored simultaneously
    • H04M1/274Devices 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/2745Devices 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/27467Methods of retrieving data
    • H04M1/2748Methods of retrieving data by matching character strings
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/57Arrangements for indicating or recording the number of the calling subscriber at the called subscriber's set
    • H04M1/575Means for retrieving and displaying personal data about calling party
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/26Devices for calling a subscriber
    • H04M1/27Devices whereby a plurality of signals may be stored simultaneously
    • H04M1/274Devices 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/2745Devices 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/27453Directories allowing storage of additional subscriber data, e.g. metadata

Definitions

  • the technology described in this patent document relates generally to the field of communication devices. More particularly, the patent document describes a system and method for accessing contact information on a communication device.
  • Communication devices having a contact information store used to display contact information, such as a name and telephone number, for an incoming communication are known in this field.
  • a typical mobile communication device may match a network identifier (e.g., a telephone number) in an incoming call with records in a contact information store to display the name of the caller.
  • this caller identification method does not account for the possibility that the same network identifier may be associated with multiple records in the contact information store. For example, if a mobile communication device has stored contact information records for persons named X and Y who work at the same company and thus have the same business telephone number, when Y telephones from her place of business, the mobile communication device may incorrectly display “X” to identify the caller.
  • a communication subsystem may be used to send and receive communications over a communication network.
  • a memory module may be used to store data and program information, including a plurality of contact records.
  • a processor may be used to store and retrieve data in the memory module, execute programs stored in the memory module, and cause the communication subsystem to transmit and receive communications over the communication network.
  • a contact information logic unit program may be stored in the memory module and executed by the processor.
  • the contact information logic unit program may be used to cause the communication device to identify a network identifier in a communication, compare the network identifier with contact information in the plurality of contact records stored in the memory module to identify contact information matching the network identifier, and if contact information is identified in more than one contact record matching the network identifier, then display a contact record field than is associated with the identified contact records.
  • FIG. 1 is a block diagram of an example communication system
  • FIG. 2 is a block diagram of a mobile communication device having a contact information logic unit for accessing contact information in a contact information store;
  • FIG. 3 is a table illustrating an example contact information store
  • FIG. 4 is a diagram of an example telephone number format
  • FIG. 5 is a flow chart illustrating an example method of accessing a contact information store.
  • FIG. 6 is a more-detailed block diagram of an example mobile communication device.
  • FIG. 1 is a block diagram of an example communication system, including a wireless network 102 , 104 , a computer network (e.g. the Internet), and a telephone network 114 . Also illustrated are a mobile communication device 100 , a telephone 118 and a personal computer 108 , all of which are examples of communication devices that may send and receive communications via the communication system.
  • a wireless network 102 e.g. the Internet
  • a computer network e.g. the Internet
  • telephone network 114 e.g. the Internet
  • the telephone 118 accesses the communication system via the telephone network 114 .
  • the mobile communication device 100 accesses the communication system via the wireless network 102 , 104 .
  • the personal computer 108 accesses the communication system via the computer network 112 . Since the wireless network 102 , 104 , computer network 112 , and telephone network 114 are all interconnected, each communication device 100 , 108 , 118 in the system can request and establish a network connection for voice communication (e.g., a telephone call) with each of the other communication devices that are connected to the system.
  • voice communication e.g., a telephone call
  • the communication system illustrated in FIG. I represents one illustrative example communication system. However, other system topologies could also be used.
  • the mobile communication device 100 may also be configured for data communications via a data communication network and the Internet 112 .
  • FIG. 2 is a block diagram of a mobile communication device 216 having a contact information logic unit 210 for accessing contact information in a contact information store 214 .
  • the mobile communication device 216 also includes a wireless transceiver 202 , a processor 204 , a memory module 206 and a user interface 212 . Also illustrated are a wireless communication 200 (e.g., a telephone call) transmitted or received by the mobile communication device 216 via a wireless network, and a network identifier 208 (e.g., a telephone number) included in the communication 200 .
  • a wireless communication 200 e.g., a telephone call
  • a network identifier 208 e.g., a telephone number
  • the wireless transceiver 202 enables the mobile communication device 216 to send and receive communications 200 over a communication system via a wireless network 102 , 104 .
  • the wireless transceiver 202 may, for example, include a single transceiver circuit or separate receiver and transmitter circuits.
  • the wireless transceiver 202 may be included in a communication subsystem, as described below with reference to FIG. 6 .
  • the memory module 206 may include a memory device or combination of memory devices (e.g., Flash memory, random access memory (RAM), etc.), and is used by the mobile communication device 216 to store and retrieve data, programs, and/or other information.
  • the contact information store 214 is included in the memory module 206 , and is used to store contact information relating to other communication devices. An example contact information store 214 is described below with reference to FIG. 3 .
  • the user interface 212 may include may include input device (e.g., a keyboard, a keypad, a thumbwheel, a touchscreen, etc.) and one or more output device (e.g., a display, a speaker, etc.).
  • input device e.g., a keyboard, a keypad, a thumbwheel, a touchscreen, etc.
  • output device e.g., a display, a speaker, etc.
  • the processor 204 may, for example, include of a microprocessor, a digital signal processor (DSP), and/or other processing device(s).
  • the processor 204 is coupled to the wireless transceiver, the memory module and the user interface, and is operable to control the operation of the mobile communication device 216 .
  • the processor 204 may be operable to send and receive data from the user interface 212 , to store and retrieve data in the memory module 206 , to execute programs stored in the memory module 206 , and to cause the wireless transceiver 202 to transmit and receive information over the communication system.
  • the contact information logic unit 210 may, for example, be a program stored in the memory module 206 and executed by the processor 204 .
  • the contact information logic unit 210 is operable to search the contact information store 214 to identify contact information records relating to a received network identifier 208 , and to retrieve the identified contact information for display by the user interface 212 .
  • the telephone number 208 is received by the wireless transceiver 202 and sent to the processor 204 , where it is processed by the contact information logic unit 210 .
  • the telephone number is provided to the contact information logic unit 210 by the user via the user interface 212 .
  • the contact information logic unit 210 uses the telephone number 208 to search the contact information store 214 for contact information which is associated with the telephone number. This information may, for example, include the first name, last name and company name from one or more contacts in the contact information store 214 (see, e.g., FIG. 3 ).
  • the contact information logic unit 210 searches for contact information by attempting to match the telephone number 208 with telephone numbers stored in the contact information store 214 , and then retrieves the records in which the matched fields are contained.
  • a field may be considered to match the received telephone number if the last seven digits of the received telephone number (excluding private branch extension (PBX) numbers) are the same as the last seven digits of the telephone number in the value of the field. In this manner, it is more likely that a received telephone number will properly match a telephone number field whose value only includes the local portion of a telephone number without an area code or country code as well as international telephone number formats.
  • PBX private branch extension
  • the contact information logic unit 210 then processes the identified records to retrieve contact information for display via the user interface 212 .
  • the type of contact information displayed is determined by the number of identified contact information records. For example, if no records are identified with matching telephone number fields, then the received telephone number 208 is displayed. If one matching contact information record is identified, then the contact information logic unit 210 may display one or more name field from the identified record, such as a first name field and a last name field 316 . If more than one matching contact information record is identified, however, then the contact information logic unit 210 may display a contact record field that is common to the identified contact records.
  • this common business name may be displayed by the contact information logic unit 210 instead of a more specific field, such as a first or last name field.
  • a more specific field such as a first or last name field.
  • the common last name field may be displayed.
  • the telephone number 208 may be displayed, or alternatively, the first name and last name from the first record found may be displayed.
  • FIG. 3 is a table illustrating an example contact information store 214 .
  • the contact information store is configured to store contact information records 300 , 302 , 304 , 306 , 308 , 310 associated with other mobile communication devices.
  • Each contact information record contains contact information for one contact.
  • the contact information in a contact information record is divided into a plurality of fields, each having a name and a value.
  • Example field names include “first name” 314 , “last name” 316 , “title” 318 , “company” 320 , “business telephone number” 322 , “home telephone number” 324 , “email address” 326 , and “physical address” 328 .
  • Each field value may include information of a type described by its name, or may contain no information.
  • the illustrated contact information record for John Doe 300 has values for the fields named “first name” (“John”), “last name” (“Doe”), “home telephone number” (“555-1234”), and “physical address” (“12 Main St.”), whereas the contact information record for Jacques Lachance 310 has values for all of the field names in the contact information store.
  • a contact information store may also contain fewer fields or additional fields. Also, the values of the fields in FIG. 3 are for illustrative purposes only. The actual values of fields in a contact information store may, for example, be entered by a user of a communication device on which the contact information store is implemented.
  • a mobile communication device may use a data structure stored in the memory module 206 to provide a more efficient means of retrieving contact information from the contact information store 214 .
  • a hash table may be used that is organized into keys and values. Given a particular key, a hash table returns a value associated with that key in a shorter time period than would be required to sequentially search through all of the data until that value is found.
  • the keys for the hash table may, for example, be the last seven digits from the telephone numbers in the contact information store 214 .
  • the values for the hash table may then be the contact information records.
  • FIG. 4 is a diagram of an example telephone number format.
  • a telephone number is an example of a network identifier, which is used to identify a resource (i.e., a communication device) in a communication system.
  • the telephone number format includes sections for a country code 400 , an area code 402 , a local number 404 and an extension 406 .
  • the country code 400 is a number that identifies a country.
  • the area code 402 is a number that identifies a region in a country.
  • the local number 404 identifies a telephone line within a region.
  • the extension 406 is an optional section that identifies a particular telephone that is typically part of an organization that uses a PBX (Private Branch Extension) as an intermediary between a number of telephone lines and a potentially greater number of telephones.
  • PBX Principal Branch Extension
  • FIG. 5 is a flow chart illustrating an example method of accessing a contact information store.
  • the network identifier is a telephone number and the contact information store contains at least contact record fields named “first name,” “last name,” “business telephone number” and “company.” It should be understood, however, that similar methods may be employed using different network identifiers and different contact record fields.
  • a telephone number (i.e., network identifier) is received by the mobile communication device.
  • the telephone number may, for example, be included in a communication received from a communication system, or may be provided to the mobile communication device via the user interface by a user wishing to initiate a telephone call.
  • the contact information store is searched to identify contact information records having contact record fields with values matching the received telephone number, as described above.
  • a hash table may be created and stored in a memory module.
  • the hash table keys may be the last seven digits of the phone numbers in the contact information store, excluding extensions, and the hash table values may be the contact information records.
  • the searching step 502 may then use the last seven digits of the received telephone number, excluding extension, as a key into the hash table to retrieve the matching records.
  • step 506 if no matching contact records have been identified, then the received telephone number is displayed at step 504 , and the method ends. If at least one matching contact record is identified, however, then the method continues from decision step 506 to step 510 .
  • step 510 the contact information store is searched for additional matching records, possibly using a hash table as described above. If no additional records are found, as determined at decision step 512 , then contact information from the single matching record is displayed at step 508 , and the method ends.
  • the contact information displayed at step 508 may, for example, include the values for the first name and last name fields. Otherwise, if additional matching records are identified, then the method continues from decision step 512 to step 514 .
  • the identified contact records are examined to determine whether the records are associated with an identifiable business entity.
  • the method determines if the matching value in each of the identified records is included in the “business telephone number” field. If the matching values in the identified records are not all business telephone numbers, then the received telephone number is displayed at step 504 , and the method ends. If the matching values in the identified records are all business telephone numbers, however, then the method continues to step 518 .
  • the “company” field in each of the identified records found is examined. If, at step 520 , one of the examined company fields is not empty, then the value for that company field is displayed to the user at step 522 . The examination at step 518 stops once a non-empty company field is found. If all of the company fields in the found records have empty values, then the received telephone number is displayed at step 504 .
  • the method of FIG. 5 may be used with contact record fields common to a group of records, other than the illustrated business name and company name fields. For example, if a received call matches the home telephone number field in multiple contact records, then the method may display other record fields common to the identified records, such as a last name field or a household name field.
  • a mobile communication device receiving a communication from telephone number “555-8888” may perform the following operations.
  • the mobile communication device will identify one of three contact records 304 , 306 , 308 that include the received telephone number “555-8888.” The method will then proceed to step 510 and will identify the additional two contact records that include the “555-8888” telephone number in a record field.
  • the method will then determine that the received number is included in the “business telephone number” field in each of the three identified records.
  • the method will locate a non-empty “company” field, which if examined in order will be the company name “Acme.” The identified “company” field will then be displayed at step 522 and the method will end.
  • a mobile device executing the method of FIG. 5 and including the contact information store of FIG. 3 received a communication including the telephone number “555-1234,” then the method would proceed as follows. At steps 502 and 506 , the method would identify one of two contact information records 300 , 302 including the received “555-1234” telephone number. Then, at step 510 , the method would identify the second contact information record including the “555-1234” number in one of its telephone number fields. At step 516 , the method will determine that the identified fields containing the “555-1234” value are not business telephone number fields. Thus, the method will proceed to step 504 and display the value “555-1234.”
  • FIG. 6 is a more-detailed block diagram of an example mobile communication device 610 that may include the contact information logic unit 210 and contact information store 214 described above.
  • the mobile communication device 610 includes a transceiver 611 , a microprocessor 638 , a display 622 , Flash memory 624 , RAM memory 626 , auxiliary input/output (I/O) devices 628 , a serial port 630 , a keyboard 632 , a speaker 634 , a microphone 636 , a short-range wireless communications sub-system 640 , and may also include other device sub-systems 642 .
  • I/O auxiliary input/output
  • the transceiver 611 preferably includes transmit and receive antennas 616 , 618 , a receiver 612 , a transmitter 614 , one or more local oscillators 613 , and a digital signal processor 620 .
  • the mobile device 610 preferably includes a plurality of software modules 624 A- 624 N that can be executed by the microprocessor 638 (and/or the DSP 620 ), including a voice communication module 624 A, a data communication module 624 B, and a plurality of other operational modules 624 N for carrying out a plurality of other functions, such as the contact information logic unit 210 .
  • the mobile communication device 610 is preferably a two-way communication device having voice and data communication capabilities.
  • the mobile device 610 may communicate over a voice network, such as any of the analog or digital cellular networks, and may also communicate over a data network.
  • the voice and data networks are depicted in FIG. 6 by the communication tower 619 . These voice and data networks may be separate communication networks using separate infrastructure, such as base stations, network controllers, etc., or may be integrated into a single wireless network.
  • the communication subsystem 611 is used to communicate with the voice and data network 619 , and includes the receiver 612 , the transmitter 614 , the one or more local oscillators 613 , and may also include the DSP 620 .
  • the DSP 620 is used to send and receive signals to and from the transmitter 614 and receiver 612 , and is also utilized to receive control information from the transmitter 614 and to provide control information to the receiver 612 . If the voice and data communications occur at a single frequency, or closely-spaced set of frequencies, then a single local oscillator 613 may be used in conjunction with the transmitter 614 and receiver 612 .
  • a plurality of local oscillators 613 can be used to generate a plurality of frequencies corresponding to the voice and data networks 619 .
  • two antennas 616 , 618 are depicted in FIG. 6
  • the mobile communication device 610 could be used with a single antenna structure.
  • Information which includes both voice and data information, is communicated to and from the communication module 611 via a link between the DSP 620 and the microprocessor 638 .
  • a mobile communication device 610 may include a communication subsystem 611 designed to operate with the MobitexTM DataTACTM or General Packet Radio Service (GPRS) mobile data communication networks and also designed to operated with any of a variety of voice communication networks, such as AMPS, TDMA, CDMA, PCS, GSM, etc. Other types of data and voice networks, both separate and integrated, may also be utilized with the mobile communication device 610 .
  • MobitexTM DataTACTM or General Packet Radio Service (GPRS) mobile data communication networks
  • GPRS General Packet Radio Service
  • voice communication networks such as AMPS, TDMA, CDMA, PCS, GSM, etc.
  • Other types of data and voice networks, both separate and integrated, may also be utilized with the mobile communication device 610 .
  • the access requirements for the mobile communication device 610 may also vary.
  • mobile devices are registered on the network using a unique identification number associated with each device.
  • network access is associated with a subscriber or user of a mobile device.
  • a GPRS device typically requires a subscriber identity module (“SIN4”), which is required in order to operate a mobile device on a GPRS network.
  • SIM4 subscriber identity module
  • Local or non-network communication functions may be operable, without the SIM, but a mobile communication device may be unable to carry out any functions involving communications over the data network 619 , other than any legally required operations, such as 911 emergency calling.
  • the mobile communication device 610 may send and receive communication signals, including both voice and data signals, over the network 619 (or networks).
  • Signals received by the antenna 616 from the communication network 619 are routed to the receiver 612 , which provides for signal amplification, frequency down conversion, filtering, channel selection, etc., and may also provide analog to digital conversion. Analog to digital conversion of the received signal allows more complex communication functions, such as digital demodulation and decoding, to be performed using the DSP 620 .
  • signals to be transmitted to the network 619 are processed (e.g., modulated and encoded) by the DSP 620 and are then provided to the transmitter 614 for digital to analog conversion, frequency up conversion, filtering, amplification and transmission to the communication network 619 (or networks) via the antenna 618 .
  • a single transceiver 611 is shown in FIG. 6 for both voice and data communications, it is possible that the mobile communication device 610 may include two distinct transceivers, a first transceiver for transmitting and receiving voice signals, and a second transceiver for transmitting and receiving data signals.
  • the DSP 620 In addition to processing the communication signals, the DSP 620 also provides for receiver and transmitter control. For example, the gain levels applied to communication signals in the receiver 612 and transmitter 614 may be adaptively controlled through automatic gain control algorithms implemented in the DSP 620 . Other transceiver control algorithms could also be implemented in the DSP 620 to provide more sophisticated control of the transceiver 611 .
  • the microprocessor 638 preferably manages and controls the overall operation of the mobile communication device 610 .
  • Many types of microprocessors or microcontrollers could be used, or, alternatively, a single DSP 620 could be used to carry out the functions of the microprocessor 638 .
  • Low-level communication functions including data and voice communications, are performed through the DSP 620 in the transceiver 611 .
  • Other, high-level communication applications such as a voice communication application 624 A and a data communication application 624 B, may be stored in the Flash memory 624 for execution by the microprocessor 638 .
  • the voice communication module 624 A may provide a high-level user interface operable to transmit and receive voice calls between the mobile communication device 610 and a plurality of other voice devices via the network 619 .
  • the data communication module 624 B may provide a high-level user interface operable to send and receive data, such as e-mail messages, files, organizer information, short text messages, etc., between the dual-mode mobile device 610 and a plurality of other data devices via the network 619 .
  • a system or method of accessing contact information may also be implemented as a software module or application, or incorporated into a software module, such as the voice communication module 624 A, which uses contact information.
  • the microprocessor 638 also interacts with other mobile device subsystems, such as the display 622 , Flash memory 624 , random access memory (RAM) 626 , auxiliary input/output (I/O) subsystems 628 , serial port 630 , keyboard 632 , speaker 634 , microphone 636 , short-range communications subsystem 640 and any other mobile device subsystems generally designated at reference numeral 642 .
  • mobile device subsystems such as the display 622 , Flash memory 624 , random access memory (RAM) 626 , auxiliary input/output (I/O) subsystems 628 , serial port 630 , keyboard 632 , speaker 634 , microphone 636 , short-range communications subsystem 640 and any other mobile device subsystems generally designated at reference numeral 642 .
  • Some of the subsystems shown in FIG. 6 perform communication-related functions, whereas other subsystems may provide “resident” or on-device functions.
  • some subsystems, such as keyboard 632 and display 622 may be used for both communication-related functions, such as entering a text message for transmission over a data communication network, and device-resident functions such as a calculator or task list or other PDA type functions.
  • Flash memory 624 Operating system software used by the microprocessor 638 is preferably stored in a persistent store such as Flash memory 624 .
  • the Flash memory 624 may include a plurality of high-level software application programs, or modules, such as a voice communication module 624 A, a data communication module 624 B, an organizer module, or any other type of software module 624 N.
  • the Flash memory 624 also may include a file system for storing data. These modules are executed by the microprocessor 638 and provide a high-level interface between a user of the mobile device and the mobile device.
  • This interface typically includes a graphical component provided through the display 622 , and an input/output component provided through the auxiliary I/O 628 , keyboard 632 , speaker 634 , and microphone 636 .
  • the operating system, specific mobile device software applications or modules, or parts thereof, may be temporarily loaded into a volatile store, such as RAM 626 , for faster operation.
  • received communication signals may also be temporarily stored to RAM 626 before being permanently written to a file system located in the persistent store 624 .
  • An exemplary application module 624 N that may be loaded onto the mobile communication device 610 is a personal information manager (PIM) application providing PDA functionality, such as calendar events, appointments, and task items.
  • PIM personal information manager
  • This module 624 N may interact with the voice communication module 624 A for managing phone calls, voice mails, etc., and may also interact with the data communication module for managing e-mail communications and other data transmissions.
  • all of the functionality of the voice communication module 624 A and the data communication module 624 B may be integrated into the PIM module.
  • the Flash memory 624 preferably provides a file system to facilitate storage of PIM data items on the mobile communication device 610 .
  • the PIM application preferably includes the ability to send and receive data items, either by itself, or in conjunction with the voice and data communication modules 624 A, 624 B, via the wireless network 619 .
  • the PIM data items are preferably seamlessly integrated, synchronized and updated, via the wireless network 619 , with a corresponding set of data items stored or associated with a host computer system, thereby creating a mirrored system for data items associated with a particular user.
  • Contact information is also preferably stored to the Flash memory 624 .
  • the mobile device 610 may also be manually synchronized with a host system by placing the mobile device 610 in an interface cradle, which couples the serial port 630 of the mobile device 610 to the serial port of the host system.
  • the serial port 630 may also be used to enable a user to set preferences through an external device or software application, or to download other application modules 624 N for installation.
  • Additional application modules 624 N may be loaded onto the mobile communication device 610 through the network 619 , through an auxiliary 1 /O subsystem 628 , through the serial port 630 , through the short-range communications subsystem 640 , or through any other suitable subsystem 642 , and installed by a user in the Flash memory 624 or RAM 626 .
  • Such flexibility in application installation increases the functionality of the mobile device 610 and may provide enhanced on-device functions, communication-related functions, or both.
  • secure communication applications may enable electronic commerce functions and other such financial transactions to be performed using the mobile device 610 .
  • a received signal such as a text message or a web page download
  • the transceiver 611 When the mobile communication device 610 is operating in a data communication mode, a received signal, such as a text message or a web page download, will be processed by the transceiver 611 and provided to the microprocessor 638 , which will preferably further process the-received signal for output to the display 622 , or, alternatively, to an auxiliary I/O device 628 .
  • a device user may also compose data items, such as email messages, using the keyboard 632 , which is preferably a complete alphanumeric keyboard laid out in the QWERTY style, although other styles of complete alphanumeric keyboards such as the known DVORAK style may also be used.
  • auxiliary I/O devices 628 may include a thumbwheel input device, a touchpad, a variety of switches, a rocker input switch, etc.
  • the composed data items input by the user may then be transmitted over the communication network 619 via the transceiver 611 .
  • the overall operation of the mobile device 610 is substantially similar to the data mode, except that received signals are preferably output to the speaker 634 and voice signals for transmission are generated by a microphone 636 .
  • Alternative voice or audio 1 /O subsystems such as a voice message recording subsystem, may also be implemented on the mobile device 610 .
  • voice or audio signal output is preferably accomplished primarily through the speaker 634
  • the display 622 may also be used to provide an indication of the identity of a calling party, the duration of a voice call, or other voice call related information.
  • the microprocessor 638 in conjunction with the voice communication module and the operating system software, may detect the caller identification information of an incoming voice call and display it on the display 622 , as described above.
  • a short-range communications subsystem 640 is also included in the mobile communication device 610 .
  • the subsystem 640 may include an infrared device and associated circuits and components, or a short-range wireless communication module such as a BluetoothTM module or an 802 . 11 module to provide for communication with similarly-enabled systems and devices.

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Library & Information Science (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Communication Control (AREA)
  • Telephonic Communication Services (AREA)
  • Computer And Data Communications (AREA)
  • Facsimiles In General (AREA)
  • Telephone Function (AREA)

Abstract

In accordance with the teachings described herein, systems and methods are provided for accessing contact information on a communication device. A communication subsystem may be used to send and receive communications over a communication network. A memory module may be used to store data and program information, including a plurality of contact records. A processor may be used to store and retrieve data in the memory module, execute programs stored in the memory module, and cause the communication subsystem to transmit and receive communications over the communication network. A contact information logic unit program may be stored in the memory module and executed by the processor. The contact information logic unit program may be used to cause the communication device to identify a network identifier in a communication, compare the network identifier with contact information in the plurality of contact records stored in the memory module to identify contact information matching the network identifier, and if contact information is identified in more than one contact record matching the network identifier, then display a contact record field than is associated with each of the identified contact records.

Description

    FIELD
  • The technology described in this patent document relates generally to the field of communication devices. More particularly, the patent document describes a system and method for accessing contact information on a communication device.
  • BACKGROUND
  • Communication devices having a contact information store used to display contact information, such as a name and telephone number, for an incoming communication are known in this field. For example, a typical mobile communication device may match a network identifier (e.g., a telephone number) in an incoming call with records in a contact information store to display the name of the caller. However, this caller identification method does not account for the possibility that the same network identifier may be associated with multiple records in the contact information store. For example, if a mobile communication device has stored contact information records for persons named X and Y who work at the same company and thus have the same business telephone number, when Y telephones from her place of business, the mobile communication device may incorrectly display “X” to identify the caller.
  • SUMMARY
  • In accordance with the teachings described herein, systems and methods are provided for accessing contact information on a communication device. A communication subsystem may be used to send and receive communications over a communication network. A memory module may be used to store data and program information, including a plurality of contact records. A processor may be used to store and retrieve data in the memory module, execute programs stored in the memory module, and cause the communication subsystem to transmit and receive communications over the communication network. A contact information logic unit program may be stored in the memory module and executed by the processor. The contact information logic unit program may be used to cause the communication device to identify a network identifier in a communication, compare the network identifier with contact information in the plurality of contact records stored in the memory module to identify contact information matching the network identifier, and if contact information is identified in more than one contact record matching the network identifier, then display a contact record field than is associated with the identified contact records.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a block diagram of an example communication system;
  • FIG. 2 is a block diagram of a mobile communication device having a contact information logic unit for accessing contact information in a contact information store;
  • FIG. 3 is a table illustrating an example contact information store;
  • FIG. 4 is a diagram of an example telephone number format;
  • FIG. 5 is a flow chart illustrating an example method of accessing a contact information store; and
  • FIG. 6 is a more-detailed block diagram of an example mobile communication device.
  • DETAILED DESCRIPTION
  • With reference now to the drawing figures, FIG. 1 is a block diagram of an example communication system, including a wireless network 102, 104, a computer network (e.g. the Internet), and a telephone network 114. Also illustrated are a mobile communication device 100, a telephone 118 and a personal computer 108, all of which are examples of communication devices that may send and receive communications via the communication system.
  • The telephone 118 accesses the communication system via the telephone network 114. The mobile communication device 100 accesses the communication system via the wireless network 102, 104. The personal computer 108 accesses the communication system via the computer network 112. Since the wireless network 102, 104, computer network 112, and telephone network 114 are all interconnected, each communication device 100, 108, 118 in the system can request and establish a network connection for voice communication (e.g., a telephone call) with each of the other communication devices that are connected to the system.
  • It should be understood that the communication system illustrated in FIG. I represents one illustrative example communication system. However, other system topologies could also be used. For example, in addition to voice communication capabilities, the mobile communication device 100 may also be configured for data communications via a data communication network and the Internet 112.
  • FIG. 2 is a block diagram of a mobile communication device 216 having a contact information logic unit 210 for accessing contact information in a contact information store 214. The mobile communication device 216 also includes a wireless transceiver 202, a processor 204, a memory module 206 and a user interface 212. Also illustrated are a wireless communication 200 (e.g., a telephone call) transmitted or received by the mobile communication device 216 via a wireless network, and a network identifier 208 (e.g., a telephone number) included in the communication 200.
  • The wireless transceiver 202 enables the mobile communication device 216 to send and receive communications 200 over a communication system via a wireless network 102, 104. The wireless transceiver 202 may, for example, include a single transceiver circuit or separate receiver and transmitter circuits. In addition, the wireless transceiver 202 may be included in a communication subsystem, as described below with reference to FIG. 6.
  • The memory module 206 may include a memory device or combination of memory devices (e.g., Flash memory, random access memory (RAM), etc.), and is used by the mobile communication device 216 to store and retrieve data, programs, and/or other information. The contact information store 214 is included in the memory module 206, and is used to store contact information relating to other communication devices. An example contact information store 214 is described below with reference to FIG. 3.
  • The user interface 212 may include may include input device (e.g., a keyboard, a keypad, a thumbwheel, a touchscreen, etc.) and one or more output device (e.g., a display, a speaker, etc.).
  • The processor 204 may, for example, include of a microprocessor, a digital signal processor (DSP), and/or other processing device(s). The processor 204 is coupled to the wireless transceiver, the memory module and the user interface, and is operable to control the operation of the mobile communication device 216. For example, the processor 204 may be operable to send and receive data from the user interface 212, to store and retrieve data in the memory module 206, to execute programs stored in the memory module 206, and to cause the wireless transceiver 202 to transmit and receive information over the communication system.
  • The contact information logic unit 210 may, for example, be a program stored in the memory module 206 and executed by the processor 204. The contact information logic unit 210 is operable to search the contact information store 214 to identify contact information records relating to a received network identifier 208, and to retrieve the identified contact information for display by the user interface 212.
  • In operation, when the mobile communication device 216 receives a communication request 200 for a telephone call, the telephone number 208 is received by the wireless transceiver 202 and sent to the processor 204, where it is processed by the contact information logic unit 210. Alternatively, for outgoing calls, the telephone number is provided to the contact information logic unit 210 by the user via the user interface 212. The contact information logic unit 210 uses the telephone number 208 to search the contact information store 214 for contact information which is associated with the telephone number. This information may, for example, include the first name, last name and company name from one or more contacts in the contact information store 214 (see, e.g., FIG. 3).
  • The contact information logic unit 210 searches for contact information by attempting to match the telephone number 208 with telephone numbers stored in the contact information store 214, and then retrieves the records in which the matched fields are contained. A field may be considered to match the received telephone number if the last seven digits of the received telephone number (excluding private branch extension (PBX) numbers) are the same as the last seven digits of the telephone number in the value of the field. In this manner, it is more likely that a received telephone number will properly match a telephone number field whose value only includes the local portion of a telephone number without an area code or country code as well as international telephone number formats.
  • The contact information logic unit 210 then processes the identified records to retrieve contact information for display via the user interface 212. The type of contact information displayed is determined by the number of identified contact information records. For example, if no records are identified with matching telephone number fields, then the received telephone number 208 is displayed. If one matching contact information record is identified, then the contact information logic unit 210 may display one or more name field from the identified record, such as a first name field and a last name field 316. If more than one matching contact information record is identified, however, then the contact information logic unit 210 may display a contact record field that is common to the identified contact records. For example, if the matching records each identify the same business entity name, then this common business name may be displayed by the contact information logic unit 210 instead of a more specific field, such as a first or last name field. In another example, if the received telephone number matches a home number field in multiple records, and the matching records each include the same last name field, then the common last name field may be displayed. In other cases where multiple records are identified, the telephone number 208 may be displayed, or alternatively, the first name and last name from the first record found may be displayed. An example operation of the contact information logic unit 210 is described in more detail below with reference to FIG. 5.
  • FIG. 3 is a table illustrating an example contact information store 214. The contact information store is configured to store contact information records 300, 302, 304, 306, 308, 310 associated with other mobile communication devices. Each contact information record contains contact information for one contact. The contact information in a contact information record is divided into a plurality of fields, each having a name and a value. Example field names include “first name” 314, “last name” 316, “title” 318, “company” 320, “business telephone number” 322, “home telephone number” 324, “email address” 326, and “physical address” 328. Each field value may include information of a type described by its name, or may contain no information. For example, the illustrated contact information record for John Doe 300 has values for the fields named “first name” (“John”), “last name” (“Doe”), “home telephone number” (“555-1234”), and “physical address” (“12 Main St.”), whereas the contact information record for Jacques Lachance 310 has values for all of the field names in the contact information store.
  • It should be understood that the example field names illustrated in FIG. 3 may be modified without affecting the meaning of the fields. For example, the field named “business telephone number” could instead be named “work telephone number”. A contact information store may also contain fewer fields or additional fields. Also, the values of the fields in FIG. 3 are for illustrative purposes only. The actual values of fields in a contact information store may, for example, be entered by a user of a communication device on which the contact information store is implemented.
  • In addition, a mobile communication device may use a data structure stored in the memory module 206 to provide a more efficient means of retrieving contact information from the contact information store 214. For example, a hash table may be used that is organized into keys and values. Given a particular key, a hash table returns a value associated with that key in a shorter time period than would be required to sequentially search through all of the data until that value is found. The keys for the hash table may, for example, be the last seven digits from the telephone numbers in the contact information store 214. The values for the hash table may then be the contact information records.
  • FIG. 4 is a diagram of an example telephone number format. A telephone number is an example of a network identifier, which is used to identify a resource (i.e., a communication device) in a communication system. The telephone number format includes sections for a country code 400, an area code 402, a local number 404 and an extension 406. The country code 400 is a number that identifies a country. The area code 402 is a number that identifies a region in a country. The local number 404 identifies a telephone line within a region. The extension 406 is an optional section that identifies a particular telephone that is typically part of an organization that uses a PBX (Private Branch Extension) as an intermediary between a number of telephone lines and a potentially greater number of telephones.
  • FIG. 5 is a flow chart illustrating an example method of accessing a contact information store. In this example, the network identifier is a telephone number and the contact information store contains at least contact record fields named “first name,” “last name,” “business telephone number” and “company.” It should be understood, however, that similar methods may be employed using different network identifiers and different contact record fields.
  • At step 500, a telephone number (i.e., network identifier) is received by the mobile communication device. The telephone number may, for example, be included in a communication received from a communication system, or may be provided to the mobile communication device via the user interface by a user wishing to initiate a telephone call. Then, at step 502, the contact information store is searched to identify contact information records having contact record fields with values matching the received telephone number, as described above.
  • In addition, if a hash table is used to enhance the speed of the search, then, before any telephone numbers are received at step 500, a hash table may be created and stored in a memory module. The hash table keys may be the last seven digits of the phone numbers in the contact information store, excluding extensions, and the hash table values may be the contact information records. The searching step 502 may then use the last seven digits of the received telephone number, excluding extension, as a key into the hash table to retrieve the matching records.
  • At decision step 506, if no matching contact records have been identified, then the received telephone number is displayed at step 504, and the method ends. If at least one matching contact record is identified, however, then the method continues from decision step 506 to step 510. At step 510, the contact information store is searched for additional matching records, possibly using a hash table as described above. If no additional records are found, as determined at decision step 512, then contact information from the single matching record is displayed at step 508, and the method ends. The contact information displayed at step 508 may, for example, include the values for the first name and last name fields. Otherwise, if additional matching records are identified, then the method continues from decision step 512 to step 514.
  • At steps 514-520, the identified contact records are examined to determine whether the records are associated with an identifiable business entity. At step 516, the method determines if the matching value in each of the identified records is included in the “business telephone number” field. If the matching values in the identified records are not all business telephone numbers, then the received telephone number is displayed at step 504, and the method ends. If the matching values in the identified records are all business telephone numbers, however, then the method continues to step 518.
  • At step 518, the “company” field in each of the identified records found is examined. If, at step 520, one of the examined company fields is not empty, then the value for that company field is displayed to the user at step 522. The examination at step 518 stops once a non-empty company field is found. If all of the company fields in the found records have empty values, then the received telephone number is displayed at step 504.
  • It should be understood that the method of FIG. 5 may be used with contact record fields common to a group of records, other than the illustrated business name and company name fields. For example, if a received call matches the home telephone number field in multiple contact records, then the method may display other record fields common to the identified records, such as a last name field or a household name field.
  • Cross-referencing the method of FIG. 5 with the example contact information store of FIG. 3, a mobile communication device receiving a communication from telephone number “555-8888” may perform the following operations. At method step 502, the mobile communication device will identify one of three contact records 304, 306, 308 that include the received telephone number “555-8888.” The method will then proceed to step 510 and will identify the additional two contact records that include the “555-8888” telephone number in a record field. At step 516, the method will then determine that the received number is included in the “business telephone number” field in each of the three identified records. At step 518, the method will locate a non-empty “company” field, which if examined in order will be the company name “Acme.” The identified “company” field will then be displayed at step 522 and the method will end.
  • In another example, if a mobile device executing the method of FIG. 5 and including the contact information store of FIG. 3 received a communication including the telephone number “555-1234,” then the method would proceed as follows. At steps 502 and 506, the method would identify one of two contact information records 300, 302 including the received “555-1234” telephone number. Then, at step 510, the method would identify the second contact information record including the “555-1234” number in one of its telephone number fields. At step 516, the method will determine that the identified fields containing the “555-1234” value are not business telephone number fields. Thus, the method will proceed to step 504 and display the value “555-1234.”
  • FIG. 6 is a more-detailed block diagram of an example mobile communication device 610 that may include the contact information logic unit 210 and contact information store 214 described above. The mobile communication device 610 includes a transceiver 611, a microprocessor 638, a display 622, Flash memory 624, RAM memory 626, auxiliary input/output (I/O) devices 628, a serial port 630, a keyboard 632, a speaker 634, a microphone 636, a short-range wireless communications sub-system 640, and may also include other device sub-systems 642. The transceiver 611 preferably includes transmit and receive antennas 616, 618, a receiver 612, a transmitter 614, one or more local oscillators 613, and a digital signal processor 620. Within the Flash memory 624, the mobile device 610 preferably includes a plurality of software modules 624A-624N that can be executed by the microprocessor 638 (and/or the DSP 620), including a voice communication module 624A, a data communication module 624B, and a plurality of other operational modules 624N for carrying out a plurality of other functions, such as the contact information logic unit 210.
  • The mobile communication device 610 is preferably a two-way communication device having voice and data communication capabilities. Thus, the mobile device 610 may communicate over a voice network, such as any of the analog or digital cellular networks, and may also communicate over a data network. The voice and data networks are depicted in FIG. 6 by the communication tower 619. These voice and data networks may be separate communication networks using separate infrastructure, such as base stations, network controllers, etc., or may be integrated into a single wireless network.
  • The communication subsystem 611 is used to communicate with the voice and data network 619, and includes the receiver 612, the transmitter 614, the one or more local oscillators 613, and may also include the DSP 620. The DSP 620 is used to send and receive signals to and from the transmitter 614 and receiver 612, and is also utilized to receive control information from the transmitter 614 and to provide control information to the receiver 612. If the voice and data communications occur at a single frequency, or closely-spaced set of frequencies, then a single local oscillator 613 may be used in conjunction with the transmitter 614 and receiver 612. Alternatively, if different frequencies are utilized for voice communications versus data communications, then a plurality of local oscillators 613 can be used to generate a plurality of frequencies corresponding to the voice and data networks 619. Although two antennas 616, 618 are depicted in FIG. 6, the mobile communication device 610 could be used with a single antenna structure. Information, which includes both voice and data information, is communicated to and from the communication module 611 via a link between the DSP 620 and the microprocessor 638.
  • The detailed design of the communication subsystem 611, such as frequency band, component selection, power level, etc., is dependent upon the communication network 619 in which the mobile device 610 is intended to operate. For example, a mobile communication device 610 may include a communication subsystem 611 designed to operate with the Mobitex™ DataTAC™ or General Packet Radio Service (GPRS) mobile data communication networks and also designed to operated with any of a variety of voice communication networks, such as AMPS, TDMA, CDMA, PCS, GSM, etc. Other types of data and voice networks, both separate and integrated, may also be utilized with the mobile communication device 610.
  • Depending upon the type of network or networks 619, the access requirements for the mobile communication device 610 may also vary. For example, in the Mobitex and DataTAC data networks, mobile devices are registered on the network using a unique identification number associated with each device. In GPRS data networks, however, network access is associated with a subscriber or user of a mobile device. A GPRS device typically requires a subscriber identity module (“SIN4”), which is required in order to operate a mobile device on a GPRS network. Local or non-network communication functions (if any) may be operable, without the SIM, but a mobile communication device may be unable to carry out any functions involving communications over the data network 619, other than any legally required operations, such as 911 emergency calling.
  • After any required network registration or activation procedures have been completed, the mobile communication device 610 may send and receive communication signals, including both voice and data signals, over the network 619 (or networks). Signals received by the antenna 616 from the communication network 619 are routed to the receiver 612, which provides for signal amplification, frequency down conversion, filtering, channel selection, etc., and may also provide analog to digital conversion. Analog to digital conversion of the received signal allows more complex communication functions, such as digital demodulation and decoding, to be performed using the DSP 620. In a similar manner, signals to be transmitted to the network 619 are processed (e.g., modulated and encoded) by the DSP 620 and are then provided to the transmitter 614 for digital to analog conversion, frequency up conversion, filtering, amplification and transmission to the communication network 619 (or networks) via the antenna 618. Although a single transceiver 611 is shown in FIG. 6 for both voice and data communications, it is possible that the mobile communication device 610 may include two distinct transceivers, a first transceiver for transmitting and receiving voice signals, and a second transceiver for transmitting and receiving data signals.
  • In addition to processing the communication signals, the DSP 620 also provides for receiver and transmitter control. For example, the gain levels applied to communication signals in the receiver 612 and transmitter 614 may be adaptively controlled through automatic gain control algorithms implemented in the DSP 620. Other transceiver control algorithms could also be implemented in the DSP 620 to provide more sophisticated control of the transceiver 611.
  • The microprocessor 638 preferably manages and controls the overall operation of the mobile communication device 610. Many types of microprocessors or microcontrollers could be used, or, alternatively, a single DSP 620 could be used to carry out the functions of the microprocessor 638. Low-level communication functions, including data and voice communications, are performed through the DSP 620 in the transceiver 611. Other, high-level communication applications, such as a voice communication application 624A and a data communication application 624B, may be stored in the Flash memory 624 for execution by the microprocessor 638. For example, the voice communication module 624A may provide a high-level user interface operable to transmit and receive voice calls between the mobile communication device 610 and a plurality of other voice devices via the network 619. Similarly, the data communication module 624B may provide a high-level user interface operable to send and receive data, such as e-mail messages, files, organizer information, short text messages, etc., between the dual-mode mobile device 610 and a plurality of other data devices via the network 619. In the mobile communication device 610, a system or method of accessing contact information may also be implemented as a software module or application, or incorporated into a software module, such as the voice communication module 624A, which uses contact information.
  • The microprocessor 638 also interacts with other mobile device subsystems, such as the display 622, Flash memory 624, random access memory (RAM) 626, auxiliary input/output (I/O) subsystems 628, serial port 630, keyboard 632, speaker 634, microphone 636, short-range communications subsystem 640 and any other mobile device subsystems generally designated at reference numeral 642.
  • Some of the subsystems shown in FIG. 6 perform communication-related functions, whereas other subsystems may provide “resident” or on-device functions. In addition, some subsystems, such as keyboard 632 and display 622 may be used for both communication-related functions, such as entering a text message for transmission over a data communication network, and device-resident functions such as a calculator or task list or other PDA type functions.
  • Operating system software used by the microprocessor 638 is preferably stored in a persistent store such as Flash memory 624. In addition to the operation system, which controls all of the low-level functions of the mobile device 610, the Flash memory 624 may include a plurality of high-level software application programs, or modules, such as a voice communication module 624A, a data communication module 624B, an organizer module, or any other type of software module 624N. The Flash memory 624 also may include a file system for storing data. These modules are executed by the microprocessor 638 and provide a high-level interface between a user of the mobile device and the mobile device. This interface typically includes a graphical component provided through the display 622, and an input/output component provided through the auxiliary I/O 628, keyboard 632, speaker 634, and microphone 636. The operating system, specific mobile device software applications or modules, or parts thereof, may be temporarily loaded into a volatile store, such as RAM 626, for faster operation. Moreover, received communication signals may also be temporarily stored to RAM 626 before being permanently written to a file system located in the persistent store 624.
  • An exemplary application module 624N that may be loaded onto the mobile communication device 610 is a personal information manager (PIM) application providing PDA functionality, such as calendar events, appointments, and task items. This module 624N may interact with the voice communication module 624A for managing phone calls, voice mails, etc., and may also interact with the data communication module for managing e-mail communications and other data transmissions. Alternatively, all of the functionality of the voice communication module 624A and the data communication module 624B may be integrated into the PIM module.
  • The Flash memory 624 preferably provides a file system to facilitate storage of PIM data items on the mobile communication device 610. The PIM application preferably includes the ability to send and receive data items, either by itself, or in conjunction with the voice and data communication modules 624A, 624B, via the wireless network 619. The PIM data items are preferably seamlessly integrated, synchronized and updated, via the wireless network 619, with a corresponding set of data items stored or associated with a host computer system, thereby creating a mirrored system for data items associated with a particular user. Contact information is also preferably stored to the Flash memory 624.
  • The mobile device 610 may also be manually synchronized with a host system by placing the mobile device 610 in an interface cradle, which couples the serial port 630 of the mobile device 610 to the serial port of the host system. The serial port 630 may also be used to enable a user to set preferences through an external device or software application, or to download other application modules 624N for installation.
  • Additional application modules 624N may be loaded onto the mobile communication device 610 through the network 619, through an auxiliary 1/O subsystem 628, through the serial port 630, through the short-range communications subsystem 640, or through any other suitable subsystem 642, and installed by a user in the Flash memory 624 or RAM 626. Such flexibility in application installation increases the functionality of the mobile device 610 and may provide enhanced on-device functions, communication-related functions, or both. For example, secure communication applications may enable electronic commerce functions and other such financial transactions to be performed using the mobile device 610.
  • When the mobile communication device 610 is operating in a data communication mode, a received signal, such as a text message or a web page download, will be processed by the transceiver 611 and provided to the microprocessor 638, which will preferably further process the-received signal for output to the display 622, or, alternatively, to an auxiliary I/O device 628. A device user may also compose data items, such as email messages, using the keyboard 632, which is preferably a complete alphanumeric keyboard laid out in the QWERTY style, although other styles of complete alphanumeric keyboards such as the known DVORAK style may also be used. User input to the mobile device 610 is further enhanced with a plurality of auxiliary I/O devices 628, which may include a thumbwheel input device, a touchpad, a variety of switches, a rocker input switch, etc. The composed data items input by the user may then be transmitted over the communication network 619 via the transceiver 611.
  • When the dual-mode mobile device 610 is operating in a voice communication mode, the overall operation of the mobile device 610 is substantially similar to the data mode, except that received signals are preferably output to the speaker 634 and voice signals for transmission are generated by a microphone 636. Alternative voice or audio 1/O subsystems, such as a voice message recording subsystem, may also be implemented on the mobile device 610. Although voice or audio signal output is preferably accomplished primarily through the speaker 634, the display 622 may also be used to provide an indication of the identity of a calling party, the duration of a voice call, or other voice call related information. For example, the microprocessor 638, in conjunction with the voice communication module and the operating system software, may detect the caller identification information of an incoming voice call and display it on the display 622, as described above.
  • A short-range communications subsystem 640 is also included in the mobile communication device 610. For example, the subsystem 640 may include an infrared device and associated circuits and components, or a short-range wireless communication module such as a Bluetooth™ module or an 802.11 module to provide for communication with similarly-enabled systems and devices.
  • This written description uses examples to disclose the invention, including the best mode, and also to enable a person skilled in the art to make and use the invention. The patentable scope of the invention may include other examples that occur to those skilled in the art. For example, although systems and methods for accessing contact information are described primarily as being implemented on a mobile communication device, these systems and methods could also be implemented on other types of communication devices, including a telephone and a personal computer. Also, the network identifier used to retrieve information from a contact information store is described primary as a telephone number, however, it could be a network identifier used by another network, such as an Internet Protocol (IP) address.

Claims (20)

1. A method of accessing contact information on a communication device, comprising:
receiving a communication from a communication network with the communication device;
identifying a network identifier in the received communication;
comparing the network identifier with contact information in a plurality of contact records stored in the communication device to identify contact information matching the network identifier;
if no contact information is identified matching the network identifier, then displaying the network identifier;
if contact information is identified in one contact record matching the network identifier, then displaying a name field from the one identified contact record; and
if contact information is identified in more than one contact record matching the network identifier, then displaying a field that is common to the identified contact records.
2. The method of claim 1, wherein the field that is common to the identified contact records identifies a business entity name that is common to the identified contact records.
3. The method of claim 1, wherein if the identified contact records do not include a common field, then displaying the network identifier.
4. The method of claim 1, wherein the communication network is a telephone network and the network identifier is a telephone number.
5. The method of claim 1, wherein if no contact information is identified in one contact record matching the network identifier, then displaying a last name field and a first name field from the one identified contact record.
6. The method of claim 1, wherein if contact information is identified in more than one contact record matching the network identifier, then:
determining if the matching contact information in each of the identified contact records is associated with a business entity;
if the matching contact information in each of the identified contact records is associated with a business entity, then displaying a business entity field from one of the identified contact records.
7. The method of claim 6, wherein a business telephone number field is examined in each of the identified contact records to determine if the matching contact information in each of the identified contact records is associated with a business entity.
8. The method of claim 6, wherein if the matching contact information in each of the identified contact records is not associated with a business entity, then displaying the network identifier.
9. The method of claim 6, wherein if none of the identified contact records include a business entity field, then displaying the network identifier.
10. The method of claim 1, wherein the field that is common to the identified contact records is a last name field.
11. The method of claim 1, wherein the communication device is a mobile communication device.
12. The method of claim 1, wherein the communication device is a telephone.
13. The method of claim 1, wherein the communication device is a personal computer.
14. The method of claim 1, wherein contact information is identified as matching the network identifier is a last seven digits of the network identifier are included in the contact information.
15. The method of claim 1, wherein if contact information is identified in more than one contact record matching the network identifier, then:
determining if the network identifier is included in a home phone number field of the matching contact records;
determining if the matching contact records each include a common last name field; and
if the network identifier is included in the home phone number field of the matching contact records and the matching contact records each include a common last name field, then displaying the common last name field.
16. A mobile communication device, comprising:
a communication subsystem operable to send and receive communications over a communication network;
a memory module operable to store data and program information, including a plurality of contact records;
a processor operable to store and retrieve data in the memory module, execute programs stored in the memory module, and cause the communication subsystem to transmit and receive communications over the communication network; and
a contact information logic unit program stored in the memory module and executed by the processor, the contact information logic unit program being operable to cause the mobile communication device to identify a network identifier in a communication, compare the network identifier with contact information in the plurality of contact records stored in the memory module to identify contact information matching the network identifier, and if contact information is identified in more than one contact record matching the network identifier, then display a contact record field than is associated with each of the identified contact records.
17. The mobile communication device of claim 16, wherein if no contact information is identified by the contact information logic unit program matching the network identifier, then the contact information logic unit program being operable to display the network identifier.
18. The mobile communication device of claim 16, wherein if contact information is identified by the contact information logic unit program that matches only one contact record, then the contact information logic unit program being operable to display a name field from the one identified contact record.
19. The mobile communication device of claim 16, wherein the contact record field that is associated with each of the identified contact records identifies a business entity name.
20. The mobile communication device of claim 16, wherein the contact record field that is associated with each of the identified contact records is a business telephone number field.
US10/528,529 2002-09-19 2003-09-19 System and method of accessing contact information on a communication device Expired - Lifetime US7266367B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US10/528,529 US7266367B2 (en) 2002-09-19 2003-09-19 System and method of accessing contact information on a communication device
US11/831,259 US7519357B2 (en) 2002-09-19 2007-07-31 System and method for accessing contact information on a communication device

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US41182102P 2002-09-19 2002-09-19
US10/528,529 US7266367B2 (en) 2002-09-19 2003-09-19 System and method of accessing contact information on a communication device
PCT/CA2003/001431 WO2004028123A1 (en) 2002-09-19 2003-09-19 System and method of accessing contact information on a communication device

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US11/831,259 Continuation US7519357B2 (en) 2002-09-19 2007-07-31 System and method for accessing contact information on a communication device

Publications (2)

Publication Number Publication Date
US20050282578A1 true US20050282578A1 (en) 2005-12-22
US7266367B2 US7266367B2 (en) 2007-09-04

Family

ID=32030744

Family Applications (2)

Application Number Title Priority Date Filing Date
US10/528,529 Expired - Lifetime US7266367B2 (en) 2002-09-19 2003-09-19 System and method of accessing contact information on a communication device
US11/831,259 Expired - Lifetime US7519357B2 (en) 2002-09-19 2007-07-31 System and method for accessing contact information on a communication device

Family Applications After (1)

Application Number Title Priority Date Filing Date
US11/831,259 Expired - Lifetime US7519357B2 (en) 2002-09-19 2007-07-31 System and method for accessing contact information on a communication device

Country Status (13)

Country Link
US (2) US7266367B2 (en)
EP (1) EP1543672B1 (en)
JP (2) JP4253639B2 (en)
KR (1) KR100635325B1 (en)
CN (1) CN100456778C (en)
AT (1) ATE390796T1 (en)
AU (1) AU2003269637B2 (en)
BR (1) BRPI0314454B1 (en)
CA (1) CA2499545C (en)
DE (1) DE60320002T2 (en)
HK (1) HK1080317A1 (en)
MX (1) MXPA05003067A (en)
WO (1) WO2004028123A1 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080044031A1 (en) * 2006-06-23 2008-02-21 Microsoft Corporation Initiating contact using protected contact data in an electronic directory
US20080044030A1 (en) * 2006-08-04 2008-02-21 Microsoft Corporation Protected contact data in an electronic directory
US20110142218A1 (en) * 2009-12-14 2011-06-16 International Business Machines Corporation Enhanced privacy caller identification system
US20120094635A1 (en) * 2006-10-31 2012-04-19 Microsoft Corporation Automated Secure Pairing for Wireless Devices
US8976946B2 (en) 2013-06-03 2015-03-10 Sharp Kabushiki Kaisha Communication apparatus
US20210023987A1 (en) * 2019-07-26 2021-01-28 Federal Signal Corporation Self-adapting variable loudness and/or variable sound pattern emergency vehicle siren system with optional collision warning

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100370877C (en) * 2004-09-28 2008-02-20 华为技术有限公司 Method for displaying current network operator information
US7542557B2 (en) * 2005-06-03 2009-06-02 Microsoft Corporation Display accurate information when multiple contacts are matched for an incoming phone number
US9043393B2 (en) * 2005-11-04 2015-05-26 Blackberry Limited Method and system for updating an electronic mail address book
US20070109299A1 (en) * 2005-11-15 2007-05-17 Vital Images, Inc. Surface-based characteristic path generation
US8285266B2 (en) * 2007-03-08 2012-10-09 Core Wireless Licensing S.A.R.L. Systems and methods for facilitating identification of communication originators
US7720832B1 (en) * 2007-04-25 2010-05-18 Intuit Inc. Dynamic contact information
DE102008019033A1 (en) * 2008-04-15 2009-10-22 T-Mobile International Ag Universal addressing of a communication partner via transparent static assignment of a phone number
SG157990A1 (en) 2008-07-04 2010-01-29 3Rd Brand Pte Ltd System and method for facilitating the growth of a mobile community
JP5136907B2 (en) * 2009-05-19 2013-02-06 Necインフロンティア株式会社 Incoming display control method for telephone device
CN101997964A (en) * 2009-08-13 2011-03-30 中国电信股份有限公司 Processing method of mobile communication terminal and contact records thereof
EP2505006B1 (en) * 2009-11-24 2019-04-10 Telefonaktiebolaget LM Ericsson (publ) Method and system to automatically identify unknown identities
US8208911B2 (en) 2010-02-26 2012-06-26 Research In Motion Limited System and method for identifying a contact associated with an electronic communication
EP2364002A1 (en) 2010-02-26 2011-09-07 Research In Motion Limited System and method for identifying a contact associated with an incoming communication
US20130006924A1 (en) * 2011-01-21 2013-01-03 Research In Motion Limited System and method of associating and maintaining a plurality of contacts stored in a personal information manager application of a portable electronic device
US9185235B2 (en) 2012-08-02 2015-11-10 Ab Initio Technology Llc Aggregating data in a mediation system
US20140074470A1 (en) 2012-09-11 2014-03-13 Google Inc. Phonetic pronunciation
US20140201246A1 (en) * 2013-01-16 2014-07-17 Google Inc. Global Contact Lists and Crowd-Sourced Caller Identification
US8831969B1 (en) * 2013-10-02 2014-09-09 Linkedin Corporation System and method for determining users working for the same employers in a social network
CN106060257A (en) * 2016-06-14 2016-10-26 北京小米移动软件有限公司 Method and device for viewing relevant information of contact

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5408528A (en) * 1991-02-27 1995-04-18 International Business Machines Corporation Method and apparatus for flexible and optimal telephone call acceptance and routing
US5475744A (en) * 1990-11-15 1995-12-12 Canon Kabushiki Kaisha Private branch exchange capable of adding a calling station ID number to the call signal
US6052451A (en) * 1997-11-10 2000-04-18 Alcatel Method of looking up a telephone number in a directory stored in memory in a telephone receiver
US6442263B1 (en) * 1997-04-23 2002-08-27 Nortel Networks Limited Electronic business cards
US6813344B1 (en) * 2001-08-29 2004-11-02 Palm Source, Inc. Method and system for providing information for identifying callers based on a partial number
US7046994B1 (en) * 2002-02-01 2006-05-16 Microsoft Corporation System and method for associating a contact with a call ID

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US704699A (en) * 1902-04-17 1902-07-15 George N Pierce Company Transmission-gear.
EP0933738B1 (en) * 1994-09-27 2002-02-27 Sony Corporation Paging
JP3529880B2 (en) * 1995-02-24 2004-05-24 佳能電産香港有限公司 Data management apparatus and method
JP3022863B1 (en) * 1998-12-24 2000-03-21 日本電気通信システム株式会社 Database search device, database search method, and recording medium
JP3134996B2 (en) 1999-01-05 2001-02-13 日本電気株式会社 Customer database search device using telephone number as key
US7127237B2 (en) 2000-06-29 2006-10-24 Kabushiki Kaisha Toshiba Communication terminal having caller identification information display function
JP2002049645A (en) * 2000-08-02 2002-02-15 Nec Soft Ltd Hash value computing method, hash value computing device, retrieval method, retrieval device and recording medium
CN1303211A (en) * 2001-01-16 2001-07-11 英业达集团(南京)电子技术有限公司 Match method for incoming display of telephone

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5475744A (en) * 1990-11-15 1995-12-12 Canon Kabushiki Kaisha Private branch exchange capable of adding a calling station ID number to the call signal
US5408528A (en) * 1991-02-27 1995-04-18 International Business Machines Corporation Method and apparatus for flexible and optimal telephone call acceptance and routing
US6442263B1 (en) * 1997-04-23 2002-08-27 Nortel Networks Limited Electronic business cards
US6052451A (en) * 1997-11-10 2000-04-18 Alcatel Method of looking up a telephone number in a directory stored in memory in a telephone receiver
US6813344B1 (en) * 2001-08-29 2004-11-02 Palm Source, Inc. Method and system for providing information for identifying callers based on a partial number
US7046994B1 (en) * 2002-02-01 2006-05-16 Microsoft Corporation System and method for associating a contact with a call ID

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080044031A1 (en) * 2006-06-23 2008-02-21 Microsoft Corporation Initiating contact using protected contact data in an electronic directory
US8254891B2 (en) 2006-06-23 2012-08-28 Microsoft Corporation Initiating contact using protected contact data in an electronic directory
US20080044030A1 (en) * 2006-08-04 2008-02-21 Microsoft Corporation Protected contact data in an electronic directory
US20120094635A1 (en) * 2006-10-31 2012-04-19 Microsoft Corporation Automated Secure Pairing for Wireless Devices
US8989706B2 (en) * 2006-10-31 2015-03-24 Microsoft Corporation Automated secure pairing for wireless devices
US20110142218A1 (en) * 2009-12-14 2011-06-16 International Business Machines Corporation Enhanced privacy caller identification system
US8917840B2 (en) * 2009-12-14 2014-12-23 International Business Machines Corporation Enhanced privacy caller identification system
US8976946B2 (en) 2013-06-03 2015-03-10 Sharp Kabushiki Kaisha Communication apparatus
US20210023987A1 (en) * 2019-07-26 2021-01-28 Federal Signal Corporation Self-adapting variable loudness and/or variable sound pattern emergency vehicle siren system with optional collision warning
US11801789B2 (en) * 2019-07-26 2023-10-31 Federal Signal Corporation Self-adapting variable loudness and/or variable sound pattern emergency vehicle siren system with optional collision warning

Also Published As

Publication number Publication date
KR20050050661A (en) 2005-05-31
BR0314454A (en) 2005-07-26
DE60320002D1 (en) 2008-05-08
EP1543672A1 (en) 2005-06-22
WO2004028123A8 (en) 2004-07-08
JP2005539440A (en) 2005-12-22
ATE390796T1 (en) 2008-04-15
CN1682520A (en) 2005-10-12
AU2003269637B2 (en) 2007-01-25
CA2499545C (en) 2009-06-30
MXPA05003067A (en) 2005-06-08
CA2499545A1 (en) 2004-04-01
AU2003269637A1 (en) 2004-04-08
JP4253639B2 (en) 2009-04-15
EP1543672B1 (en) 2008-03-26
US7519357B2 (en) 2009-04-14
HK1080317A1 (en) 2006-04-21
US7266367B2 (en) 2007-09-04
JP2008283703A (en) 2008-11-20
KR100635325B1 (en) 2006-10-18
BRPI0314454B1 (en) 2018-04-17
US20080020742A1 (en) 2008-01-24
CN100456778C (en) 2009-01-28
DE60320002T2 (en) 2009-04-23
WO2004028123A1 (en) 2004-04-01

Similar Documents

Publication Publication Date Title
US7519357B2 (en) System and method for accessing contact information on a communication device
US8131803B2 (en) System and method for integrating an address book with an instant messaging application in a mobile station
EP1806886B1 (en) System and method of message transport selection
US8532710B2 (en) Integrated dialing
KR101093440B1 (en) Mobile telecommunication terminal capable of preventing spam calls and method there-of
US20020187815A1 (en) Contact lookup by partial string entry in a communication device
EP2073517A1 (en) Display of call context information such as appointments with or communication history related to the other party
EP2222062B1 (en) A mobile device with enhanced contact information and a method of using same
WO2007093997A1 (en) Phonebook management for a mobile terminal
US20090161845A1 (en) Enhanced phone call context information
US8571065B2 (en) Method and apparatus for assigning a virtual address to and text-messaging to multiple text-capable destination entities
US7725133B2 (en) Mobile wireless communication devices with quick-send features and methods therefor
KR20040014947A (en) Method and apparatus for selectively admitting messages to a mobile station
US20030126220A1 (en) Quick reply codes for communication of information between electronic devices
KR101195305B1 (en) Method for managing a communication record of mobile terminal

Legal Events

Date Code Title Description
AS Assignment

Owner name: RESEARCH IN MOTION LIMITED, CANADA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:VANDER VEEN, RAYMOND P.;BOCKING, ANDREW D.;REEL/FRAME:016992/0519

Effective date: 20030909

STCF Information on status: patent grant

Free format text: PATENTED CASE

CC Certificate of correction
FPAY Fee payment

Year of fee payment: 4

AS Assignment

Owner name: BLACKBERRY LIMITED, ONTARIO

Free format text: CHANGE OF NAME;ASSIGNOR:RESEARCH IN MOTION LIMITED;REEL/FRAME:034045/0741

Effective date: 20130709

FPAY Fee payment

Year of fee payment: 8

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 12TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1553); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 12