Apparatus and method for recording incoming call information

A method for interrelating call information between programs of a data processing device. Call information including a caller's name, phone number, the date of the call, start time of the call, finish time of the call, the call duration, and the type of call, may be organized and accessed by several different programs running on a data processing device. Information such as a caller's name and phone number may be accessed by a caller identification device coupled to the data processing device. Information such as the start time and finish time may be accessed by a clock coupled to the data processing device. The call duration may be calculated from the start and finish times or may be accessed from a timer coupled to the data processing device.

FIELD OF THE INVENTION

The present invention relates to computers. In particular, the present invention relates to a method of organizing data in one or more user applications.

BACKGROUND OF THE RELATED ART

Data processing devices, such as Personal Digital Assistants (“PDAs”) and programmable wireless phones, may store information in a variety of ways using a variety of different applications. For example, cellular phones may automatically store call information for incoming, outgoing, and missed calls. The caller names and numbers associated with incoming and missed calls may be recorded using automatic number identification (“ANI”) technology. Similarly, PDAs may store detailed contact information such as contact names, addresses, and phone numbers using personal information management applications. These include simple address book applications as well as personal information management application suites comprised of calendar applications, contact applications, email applications, and to-do list applications, to name a few.

Once the information is stored on the data processing device, it may be utilized in a number of ways. For example, with respect to cell phones, once a caller's number is identified and stored via ANI technology, the user may manually select the number and/or caller name to return the call. However, even though this call information is temporarily accessible from the cell phone, no mechanisms currently exist for automatically importing the call information into the user's address book application or other personal information management application.

SUMMARY OF THE INVENTION

A method to receive and organize call information into an address book program, calendar program, and phone log program on a data processing device.

DETAILED DESCRIPTION

The following description makes reference to numerous specific details in order to provide a thorough understanding of the present invention. However, it is to be noted that not every specific detail need be employed to practice the present invention. Additionally, well-known details, such as particular materials or methods, have not been described in order to avoid obscuring the present invention.

Referring toFIG. 1, an embodiment of the invention is shown in form of an address book program for receiving and organizing call information. The address book program may receive relevant information for the call from different sources including, but not limited to, caller identification technology (e.g., ANI), a clock, a calendar program, a timer, and a network over which the data processing device communicates. As illustrated, various types of call information may be collected and organized including, but not limited to, the caller's name101and phone number103, the call date111, the call start time113and finish time115, the call duration117. The call type may also be stored including whether the call was sent or received, and whether (if received) the call was missed. In addition, an indication as to whether the call was personal or business may be determined.

In the illustrated embodiment of the address book program, shown on a data processing device screen129, address book entries121,123,125, and127may be displayed vertically along with the other relevant call information. A user may move through call information in the address book program using a scroll bar131. Other methods of moving through the address book program may also be within the scope of the invention. In addition, other address book programs or other formats for organizing call information are also within the scope of the invention.

In the embodiment of the invention shown inFIG. 1, each address book program entry, such as the entry121, may display the caller's name101, the caller's phone number103, the call information for a last call sent entry105, the call information for a last call received entry107, and the call information for a last call missed entry109.

The call information for the last call sent entry105, such as, but not limited to, the date111, the start time113, the finish time115, and the call duration117, may be organized horizontally next to the last call sent entry105. In addition, similar call information may be organized with the last call received entry107. Because there may not be a start time, finish time, and call duration for a missed call, the call information relevant to the missed call may include a date112and a time119the call was received. Other call information for the missed call may also be organized into the address book program.

In one embodiment, the data processing device automatically collects call information associated with the call (e.g., using ANI or other call identification technologies) and attempts to associate this information with one or more address book program entries (e.g., by comparing the caller name or number with names/numbers stored in the address book). In one embodiment, if the address book program does not contain contact information related to the caller, it may set up a new entry with the call-related information automatically retrieved from the call (e.g., the caller's name and number). The user may subsequently update the entry with additional information as required.

As illustrated inFIG. 1, in one embodiment, the data processing device initially determines the date111and the start time113for each incoming call and organizes this information into the address book program entry associated with the incoming caller's name101. When the call is finished, the data processing device may also determine the finish time115and the call duration117and organize this information in the address book program. The organization of call data into the address book program may occur after the call is finished and/or as the call information is determined. Moreover, if the user of the data processing device receives or sends another call to a person with that caller's name101, the relevant call information next to the last call sent entry105or the last call received entry107may be updated with the call information of the current call sent or received.

In the same way, call information for a missed call entry109may be determined and organized into a relevant address book program entry. For example, when an incoming call is not answered, the data processing device may determine the current date and time the call came in and organize the call information into a relevant address book program entry. The call may or may not be redirected to a voicemail message. If a voicemail message is left by the caller, a voicemail indication may also be associated with the address book entry.

As mentioned above, the data processing device may determine which entry to associate the call with by comparing the call-related information (e.g., the name and/or phone number) to relevant address book program entries (e.g., the name entry101and/or the phone number entry103). If the call information from the caller identification device relates to a name that is in the address book program, but the phone number associated with the name and the caller identification device is not the same as the phone number associated with the name in the address book program, the data processing device may update and/or supplement the phone number in the address book program with the phone number from the caller identification device. Updating the phone numbers in the address book program in this manner makes it more likely that the caller will successfully reach the caller upon selecting the address book entry to initiate a return call.

Incoming call-related information may not exist for one or more entries in the address book. For example, in the address book program shown inFIG. 1, the missed call information118in the address book program entry123may indicate the word “No” next to missed call118to indicate that, for this address book program entry, there has been no missed call. In addition, certain information may be missing (i.e., unavailable) in the data processing device. The data processing device may indicate missing information with a missing call information identifier such as “X's”, or “-'s.” Different missing call information identifiers are also within the scope of the invention.

Referring toFIG. 2, an embodiment of the invention is shown in the form of a calendar program displayed on a data processing device screen229. Various types of call information may be determined and organized by the data processing device within the calendar program. The calendar program shown on the data processing device screen229may display information relevant to each date vertically. However, other formats for displaying information with the date for the calendar program are contemplated to be within the scope of the invention. In the embodiment of the invention shown inFIG. 2, a date201is shown for each entry with relevant call information (e.g., a call sent entry203and/or call received entry205). The relevant call information for a sent call203, such as, but not limited to, a caller's name207, start time209, finish time211, call duration213, and call type215, may be shown in association with a call sent entry203. In addition, similar information may be displayed for a call received entry205.

In one embodiment of the invention, all calls sent, received, and missed for each day in a calendar program are organized corresponding to a relevant date201and calendar program entry219,221,223, and225. Other formats of displaying relevant call information for each calendar program entry may also be included within the scope of the invention. In addition, a scroll bar231may be used to scroll through calendar program entries. The calendar entry program on the data processing device may be able to access call information, such as the caller's name207, from a caller identification device coupled to the data processing device. In one embodiment, the calendar program may access an address book program to associate a phone number of a call with a number/name within the address book. The calendar program may then display relevant address book data for the user. The call duration213may be calculated using the start time209and finish time211or using a timer coupled to the data processing device, or by other methods of determining the call duration. In addition, the call type, such as, but not limited to, personal215or business217may be determined by accessing information from the address book program. Other call information related to a call sent entry or a call received entry may be organized into the calendar program.

In addition, the call information related to missed call entries206may be organized into the calendar program. For example, the caller's name208may be determined using caller identification techniques and organized with the call missed entry206in the calendar program along with the start time210for the call. If the name of the caller is not organized in the address book program or if the address book program does not identify the call type for the current caller, the data processing device may use an appropriate identifier218(e.g., such as “Unknown”) in the call type entry.

In addition, as with the address book program described above, the data processing device may indicate missing call information in the calendar program with a missing call information identifier (e.g., using dashes, “X's”, or other missing call information identifier). Other missing call information identifiers may be used within the scope of the invention.

Referring toFIG. 3, an embodiment of the invention is shown in the form of a phone log for a data processing device. In addition to the embodiments described above, call information may also be organized in a phone log in a manner such as the list shown on data processing screen329. Each entry of the phone log, such as entries315,317, and319, may include call information such as, but not limited to, the call date301, the start time303, the finish time305, the call duration307, the phone number309, and the first313and last name311of the caller.

While the entries in the phone log are listed vertically in the embodiment shown inFIG. 3, other formats of displaying the call information may also be within the scope of the invention. In one embodiment, the phone log may retrieve and display other information related to the call from other different programs in the data processing device (e.g., the address book and/or calendar program). For example, the date301may be received from a calendar program. The start time303and the finish time305may be obtained from a clock coupled to the data processing device. In addition, the call duration307may be calculated using the start time303and the finish time305, or the call duration307may be obtained from a timer coupled to the data processing device. The phone number309, the last name311, and the first name313may be determined using caller identification techniques (e.g., ANI) coupled to the data processing device. If only the phone number309is provided by the caller identification techniques, the last name311and first name313may be determined by searching the address book program on the data processing device. Other information, such as the call type, including, but not limited to, whether the call was received, missed or sent; personal or business may also be organized in the phone log. Furthermore, in the embodiment of the phone log shown inFIG. 3a scroll bar331may be used to move through call information in the phone log.

Referring toFIG. 4, an embodiment of the invention is shown in the form of a calendar program on the screen of a Personal Digital Assistant411according to one embodiment. The Personal Digital Assistant411may have input devices including, but not limited to, a keyboard413, buttons415, and scroll device409. The screen429, on a screen mount407, may pivot on the Personal Digital Assistant to open and close as indicated by rotation arrow420. As seen on the screen429, calendar program entries401,403, and405may store relevant call information as described above. Information on the calendar program may be displayed by scrolling with scroll bar431. Other ways of displaying calendar program entries and moving through the calendar program and other programs are also contemplated within the scope of the invention.

A method according to one embodiment of the invention is illustrated inFIG. 5. At block501, the wireless data processing device determines call information by, for example, interacting with one or more programs (e.g., programs which employ ANI technology to extract information from incoming calls). At block503, the data processing device organizes the collected call information into an address book program. The user may also manually input various types of contact information into the address book program. At block505, one embodiment of the data processing device determines whether a name associated with a current incoming call is similar to a name in the address book program. For example, if a name associated with the call is in the form of a last name and a first initial, in one embodiment, the device will initially determine whether the last name appears and, if so, if the first initial matches the first letter of the first name in the address book entry. Various other known matching/correlation techniques may be employed to identify a matching entry. If the name associated with the current call does not match with an address book program entry then, at block507, the name and phone number may be added to the address book program (e.g., in response to the user configuring the wireless device to store all unlisted callers). If a name match is identified in the address book program then, at decision block509, the wireless device determines whether the phone number associated with the relevant name in the address book program is the same as the phone number associated with the current call. If the phone number is different then, at block511, the wireless device updates the phone number in the address book program with the phone number associated with the current call. Alternatively, the address book program may simply supplement the address book with the additional number. For example, the number stored in the address book may be the caller's work number and the current call may have been placed from the caller's home or cell phone. As such, in this embodiment, the wireless device may keep the caller's work number (e.g., identified as such in the address book entry) and store the new number as an “unknown” type. The user may subsequently be given the option to classify the unknown number under a certain type heading (e.g., “home,” “cell phone” . . . etc) the next time the user accesses the address book.

At block513, the updated call information is stored in the phone log. At block515, the wireless device organizes call information in each address book program entry according to call type (e.g., whether the incoming call was received or missed).

Although the process illustrated inFIG. 5initially searches for a match for the caller's name followed by the caller's number, it should be noted that the search process may start with caller's number (e.g., and search for the name only if the number is not listed in the address book). Moreover, various types of call-related information other than name and number may be used to identify a match in the address book. This may include address information and/or any other type of information transmitted along with the incoming call.

An embodiment of the invention which organizes relevant call information in a calendar program is illustrated inFIG. 6. At block601, the wireless data processing device determines call information and, at block603, organizes the call information in a calendar program entry. At decision block605, the device determines whether the phone number of the current call is in the address book program associated with a name. If the phone number of the current call is in the address book program associated with a name, then at block607, the device organizes the name in a calendar program entry. At block609, instructions from a machine-readable medium may cause the processor to organize call information in each calendar program entry according to call type. At block611, the processor stores the call information in the phone log.

Embodiments of the invention may include various steps as set forth above. The steps may be embodied in the machine-readable instructions which cause a general-purpose or special-purpose processor to perform the steps. Alternately, these steps may be performed by specific hardware components that contain hardware logic for performing the steps, or by any combination of programmed computer components and custom hardware components.

Elements of the present invention may also be provided as a machine-readable medium for storing the machine's executable instructions. The machine-readable medium may include but is not limited to floppy diskettes, optical disks, CD ROM's, and magneto-optical disks, ROMs, RAMs, EPROMs, EEPROMs, magnetic or optical cards, propagation media or other type of media/machine-readable medium suitable for organizing electronic instructions. For example, the present invention may be downloaded as a computer program which may be transferred from a remote computer (e.g., a server) to a requesting computer (e.g., a client) by way of data signals embodied in a carrier wave or other propagation media via communication link (e.g., a modem or network connection).

Throughout the foregoing description, for the purposes of explanation, numerous specific details were set forth in order to provide a thorough understanding of the invention. It will be apparent, however, to one skilled in the art that the invention may be practiced without some of these specific details. For example, while interrelated applications were described above in a context of a portable wireless device, such a limitation is not required for performing the underlying principles of the invention. Accordingly, the scope and spirit of the invention should be judged in terms of the claims, which follow.