US20130157696A1 - Method of Displaying Contact Information - Google Patents

Method of Displaying Contact Information Download PDF

Info

Publication number
US20130157696A1
US20130157696A1 US13/407,014 US201213407014A US2013157696A1 US 20130157696 A1 US20130157696 A1 US 20130157696A1 US 201213407014 A US201213407014 A US 201213407014A US 2013157696 A1 US2013157696 A1 US 2013157696A1
Authority
US
United States
Prior art keywords
contact
record
day
records
time
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.)
Abandoned
Application number
US13/407,014
Inventor
Charles A. Eldering
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.)
Chartoleaux KG LLC
Original Assignee
Tepa Datasolutions Co LLC
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 Tepa Datasolutions Co LLC filed Critical Tepa Datasolutions Co LLC
Priority to US13/407,014 priority Critical patent/US20130157696A1/en
Assigned to TECHNOLOGY, PATENTS & LICENSING, INC. reassignment TECHNOLOGY, PATENTS & LICENSING, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: ELDERING, CHARLES A.
Assigned to TEPA DATASOLUTIONS CO.,LLC reassignment TEPA DATASOLUTIONS CO.,LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: TECHNOLOGY, PATENTS & LICENSING, INC.
Publication of US20130157696A1 publication Critical patent/US20130157696A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/029Location-based management or tracking services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4547Network directories; Name-to-address mapping for personal communications, i.e. using a personal identifier
    • 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
    • H04M1/2746Sorting, e.g. according to history or frequency of use
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72448User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions
    • H04M1/72457User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions according to geographic location
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2250/00Details of telephonic subscriber devices
    • H04M2250/10Details of telephonic subscriber devices including a GPS signal receiver

Definitions

  • FIG. 1 is a system diagram of one embodiment of a contact and calendar record delivery system
  • FIG. 2 is a system diagram of one embodiment of a contact and calendar record delivery system
  • FIG. 3A is a use case diagram of an information management module in accordance with the contact and calendar record delivery system of FIG. 1 ;
  • FIG. 3B is a use case diagram of a component device in accordance with the contact and calendar record delivery system of FIG. 1 ;
  • FIG. 4 is an activity diagram of an embodiment of the contact and calendar record delivery system of FIG. 1 ;
  • FIG. 5 is an activity diagram of an embodiment of the contact and calendar record delivery system of FIG. 1 ;
  • FIG. 6 is a table showing an example of list directive data
  • FIG. 7A is a table showing an example of a contact record with group directive field data
  • FIG. 7B is a table showing an example of group directive data
  • FIG. 8A is a table showing an example of a contact record with two types of directive data
  • FIG. 8B is a table showing an example of group directive data
  • FIG. 8C is a table showing an example of geographic directive data
  • FIG. 9A is a table showing an example of a contact record with two types of directive data
  • FIG. 9B is a table showing an example of group directive data
  • FIG. 9C is a table showing an example of time of day directive data
  • FIG. 10 is a table showing data relating to contact reordering using geographic distances obtained through GPS
  • FIG. 11 is an example of the output from contact reordering using geographic distances obtained through GPS
  • FIG. 12 is a table showing data relating to contact reordering using geographic distances obtained through zip codes
  • FIG. 13 is an example of the output from contact reordering using geographic distances obtained through zip codes
  • FIG. 14 is a table showing data relating to contact reordering using geographic distances obtained through area codes and exchanges;
  • FIG. 15A is an example of the output from contact reordering using geographic distances obtained through area codes and exchanges
  • FIG. 15B is table showing data related to contact reordering using statistics related to call frequency information.
  • FIG. 15C is an example of the output from contact reordering using statistics related to call frequency information.
  • FIG. 16 is a system diagram of the auto-update feature where the updating is accomplished by updating Internet cookie files.
  • FIG. 17 is a system diagram of the auto-update feature where the updating is accomplished by updating a merchant website server.
  • UML Unified Modeling Language
  • UML diagrams including, but not limited to, use case diagrams, class diagrams and activity diagrams, are meant to serve as an aid in describing the embodiments of the present invention, but do not constrain implementation thereof to any particular hardware or software embodiments.
  • the notation used with respect to the UML diagrams contained herein is consistent with the UML 2.0 specification or variants thereof and is understood by those skilled in the art.
  • a contact management system distributes contact or calendar records to a plurality of devices.
  • the contact management system ensures that a user's devices have access to the most current appropriate contact or calendar information.
  • the user or in some cases the administrator, chooses which records or part(s) of records will be distributed to which component devices.
  • the contact management system is automated so that no user interaction is needed.
  • the contact management system distributes records through user record selection, such that some or all of the records are explicitly selected for distribution to individual devices by a user.
  • the contact management system thus ensures that the desired items appear or can be edited by the appropriate devices and/or users.
  • Devices associated with the contact management system receive information remotely in order to maintain a current record. Additionally, in some embodiments, the devices are displayed in an ordered structure where the most desired contacts are ordered first and less desired contacts are ordered to appear later or do not appear at all.
  • a contact management system 101 for distributing contact or calendar records to devices belonging to a single user is shown.
  • the devices to which the calendar or contact information is distributed belong to a plurality or group of users.
  • a contact record is generally any file or other unit of data which contains information relating to personal, professional or other information corresponding to a contact, such as name, address and phone number.
  • a contact may be an individual, entity, group or organization with some connection to the user, such as a colleague, a business or a friend.
  • a calendar record is generally a file or other unit of data which contains information relating to a specific event, such as an appointment or a meeting.
  • a calendar record may contain time and date information, information relating to individuals associated with the entry, location information as well as other information relevant to the calendar entry.
  • Contact and calendar records are generally known by those skilled in the art, thus further description of them has been omitted.
  • the contact management system 101 manages and autonomously distributes contact or calendar records to the plurality of component devices.
  • the component devices include a home PC 120 , a work PC 122 , a personal digital assistant (PDA) 124 , a cell phone 126 and a local PC 128 , although any device capable of receiving contact and calendar records could be used.
  • An information management module 100 maintains the plurality of contact or calendar records for distribution and determines which of the plurality of devices the record will be distributed to based on directives.
  • a directive is data or information that indicates properties about a contact or calendar record, including which devices the record should be distributed to, the priority of the record, the privacy features associated with the record, display features and any other information which indicates properties of a record. Based on the directives, the information management module 100 distributes the records to the component devices through a communication system 102 .
  • the information management module 100 can be implemented via a personal computer, an external hard drive, a server or any device capable of storing information and transmitting the contact or calendar information to a device.
  • the information management module 100 processes the data related to the plurality of contact or calendar records and prepares the contact or calendar record for distribution. Such processing includes managing data, interpreting the directives, determining which devices the records are to be distributed to, determining the method of distribution and completing any other pre-distribution processing.
  • the pre-distribution processing may include buffering of data in preparation for distribution, virus checking, integrity checking, error checking and any other operations needed to prepare data for transmission. In an alternative embodiment some or all of the processing is accomplished by the communication system 102 .
  • the information management module 100 stores the contact and calendar records in an electronic medium.
  • the information management module 100 may be implemented using commercially available software such as Microsoft Outlook® or other similar products.
  • the records can be maintained in a proprietary database or any other data structure.
  • the database which stores the records can be a relational database, a flat file database, an object oriented database or any other database capable of holding the appropriate information
  • the information management module 100 contains information related to the format of the component devices and the information management module 100 formats the corresponding records accordingly in preparation for distribution.
  • the information management module 100 formats the records prior to sending the records to the communications system 102 for distribution.
  • the files are formatted by the component devices after they are received.
  • the information management module 100 and the component devices use the same format, in which case no formatting, or minimal formatting, is necessary.
  • the information management module 100 sends the records to the communications system 102 for distribution to the component devices.
  • the communications system 102 may be any device or employ any interface or other system capable of communicating the contents of a record to the relevant component device.
  • the connection between information management module 100 and the communication system 102 may be any connection used for data transfer, such as a Universal Serial Bus (USB) connection, an Ethernet connection, a serial connection, a wireless connection such as 802.11g or any other connection generally used with a computer.
  • USB Universal Serial Bus
  • the information management module 100 and the communications system 102 can be located locally, near the user of the system, or held in an offsite location by a third party.
  • the Internet can serve as the connection between the information management module 100 and the communication system 102 .
  • the information management module 100 and the communications system 102 are a single component such as a computer with the appropriate communication channels to facilitate communication to the plurality of component devices and a hard disk drive or other electronic storage to store the records.
  • the communications system 102 connects to the component devices through a network 104 , a base station 110 , a wireless networking device 106 , and/or whatever means are appropriate depending on the capabilities or requirements of the component devices.
  • the network 104 may be the Internet, a local intranet, a direct connection or any other network capable of facilitating communications between the communications system 102 and the component devices.
  • the base station 110 is a device used to communicate with component devices using cell phone technology.
  • the wireless networking device 106 is a wireless device used to connect with devices located within the range of the wireless networking device 106 .
  • the communications system 102 may be connected to the network 104 , base station 110 , wireless networking device 106 and any other communication device which may be used through a T1 line, a cable modem or a DSL line, a modem, a computer connection such as USB, wireless connections such as 802.11n or Blue Tooth or any other connection capable of providing the appropriate bandwidth for distribution of the contact and calendar records.
  • the wireless networking device 106 is a wireless router using IEEE 802.11n or similar standard and the wireless networking device 108 is a wireless networking card using the same or compatible standard.
  • the wireless networking devices 106 and 108 are connected through a standardized communication technology such as Blue Tooth.
  • Information management module 100 and communication system 102 maintain records of information related to the component devices to facilitate communication. This information includes, but is not limited to, a device's network address, IP address, MAC address, phone number or other identifying information.
  • the contact management system 101 monitors information originating from outside the contact management system 101 to ensure that the user's own personal information is not altered or deleted. Alternatively, there may be information distributed to the devices that an administrator of the system would like to delete upon a user leaving the system.
  • the contact management system 101 maintains records of distribution information to facilitate a deletion process which leaves private data untouched while completely deleting other information.
  • the system maintains a history record of information which has been distributed.
  • the history record can be stored on the information management system 100 or any other device capable of holding this information.
  • the history record maintains information about which fields and records have been sent or received and which device sent or received such information.
  • the information management system 100 When a user or device is deleted from the system, the information management system 100 , in conjunction with the communications system 102 , deletes the information from the user's device which has been added to that device by the information management system 101 by comparing the device's information to the history record.
  • contact and calendar records and fields are flagged when received by the user device.
  • a flag is a Boolean variable or other indicator which determines whether that contact or calendar record originated from the user locally or from the contact management system 101 .
  • the contact management system 101 deletes a user or device's information it deletes the flagged records, thereby only deleting information originated from the system.
  • FIG. 3A is a use case diagram of the information management module 100 .
  • Component devices 202 include component devices a user of the contact management system 101 could use as described with reference to FIG. 1 , including the home PC 120 , work PC 122 , PDA 124 , cell phone 126 , local PC 128 or any other device capable of receiving contact or calendar information.
  • the information management module 100 receives new content at the receive component content use case 210 and the receive local input use case 204 .
  • the received content can be calendar and contact record information or any other information.
  • the receive component content use case 210 receives content from one or more of the component devices 202 .
  • the store content use case 212 stores content received by the receive component content use case 210 in the information management module 100 .
  • the receive local input use case 204 receives input from a local user 214 and/or any other entity 218 .
  • the local user 214 is a user who inputs information directly to the information management module 100 and submits requests or information through an input device.
  • the entity/system 218 is any entity or system which is not a component device that submits a request for information to the information management module 100 , such as a subsystem managing a user's contacts.
  • the information received by the receive local input use case 204 is stored using the store content use case 212 .
  • a request for content use case 220 allows a component device 202 to request an update or some other information from the information management module 100 .
  • the send content use case 206 sends the updated content or requested information to component devices.
  • the send content use case 206 includes the check directive use case 208 .
  • the check directives use case 208 checks the directives of the information being sent by the send content use case 206 prior to the sending of the information to ensure that the appropriate information is distributed to the one or more component devices 202 .
  • the check for update use case 216 checks the information management module for updated information to be sent to the component devices 202 through the send content use case 206 and the check directives use case 208 .
  • the check for update use case 216 is initiated by the information management module 100 either automatically through a timer operation or some other similar function or manually when the local user 214 or the entity 218 or a component device 202 or a user using a component device 202 makes such a request.
  • the above discussed communications between the component device 202 and the information management module 100 are facilitated either though communication system 102 (not shown) or alternatively a direct connection between the information management module 100 and the component device 202 .
  • FIG. 3B is a use case diagram of one of the component devices 202 .
  • the component device 202 receives input from a user 290 .
  • the user 290 is any individual, entity or group using the component device.
  • the view data use case 230 displays data which has been stored on the component device at the request of user 290 .
  • the basic functions use case 222 allows the user 290 to add, edit or delete a contact or calendar record from the component device and sends the added, edited or deleted contact or calendar record to the information management module 100 .
  • the store on component use case 228 updates the component device 202 by adding, editing or deleting the record or records affected by the basic functions use case 222 .
  • the request content use case 224 sends a request for content to the information management module 100 .
  • the request can be for every updated record available on the information management module 100 or alternatively the request can be for one or more specific item(s) that user 290 requests.
  • the receive content use case 226 receives any content that the information management module 100 sends to the component device 202 (e.g. updated contact or calendar records).
  • the content received can be the information requested by the component device 202 at the request content use case 224 or any data that the information management module 100 sends to the component device 202 .
  • the content received by the receive content use case 226 is stored on the component device at the store component use case 228 .
  • the communication between the component device 202 and the information management module 100 can be facilitated using the communication system 102 or alternatively can be a direct connection between the information management module 100 and the component device 202 .
  • FIG. 4 is an activity diagram corresponding to the contact management system 101 .
  • FIG. 4 is an example of the contact management system in a “push” environment, in that the information management module 100 sends information to the component devices whenever a contact record is updated.
  • the information management module 100 receives an update at receive update step 300 .
  • the information management module 100 may receive an update from local input into the information management module 100 or from any of the component devices.
  • An update refers to a record which has been newly added, edited or deleted.
  • the information management module 100 determines if a directive exists for the updated record at the directive test step 302 .
  • the information management module 100 determines that no directive exists, the information management module applies a default directive at the apply default directive step 304 . If, at the directive test step 302 , the information management module 100 determines that a directive exists or after the apply default directive step 304 has applied a default directive, the information management module 100 sends the record to the communications system, which is received at the receive record step 330 .
  • the communication system 102 in conjunction with the information management module 100 , sends the record to the component devices corresponding to the directives at the send updated contact step 306 .
  • the record is received by the component device at the message received step 308 . At the component device, the record can either be accepted or rejected at the accept test step 310 .
  • the record can be accepted or rejected at the component device either by explicit user input or by default settings predetermined by the user. If the record is accepted, the component device updates, creates or deletes the record locally at the update locally step 312 , followed by the component device sending a message back to the information management module 100 at the send response step 314 . If the record is rejected, the component device sends a response back to the information management module at the send response step 314 .
  • the messages sent from the component device at the send response step 314 are received by the communication system 102 and sent to the information management module 100 at the send response step 316 .
  • the message is received, interpreted and stored by the information management system 100 at the update server step 318 . This entire process is repeated for each individual updated record.
  • FIG. 4 is shown with respect to a single received is processed individually, those skilled in the art will understand that more than one record may be processed at the same time.
  • FIG. 5 illustrates an example of the contact management system 101 in a “pull” environment in that the component devices request updated records from the information management module 100 .
  • a user at a component device sends a request to receive updated records at the send update request step 340 .
  • the component device sends the request to the communication system 102 , which receives the request and sends the request to the information management system 100 at the send signal step 342 .
  • the message is received by the information management system 100 at the update available test step 344 , which determines if any updated records are available to send to the component device. If no updates are available, the information management system 100 sends a response indicating the situation to the component device through the communication system 102 at the send signal step 346 .
  • This message is received at the receive signal step 348 , which ends the process.
  • the contact management system 101 begins an iterative process of sending the available updated contact records to the component device at the directive test step 350 . All steps beginning at the check directive step 350 are repeated for each updated record.
  • the directive test step 350 checks if the current record has a directive. If no directive exists, the information management system 100 creates a default directive at the create default directive step 352 and sends the record and the directive to the communication system 102 , which is received at the receive record step 370 . If a directive already exists, the information management system 100 sends the record and the directive to the communication system 102 , which is received at the receive record step 370 .
  • the communication system 102 sends the record, based on the directive, to the proper components at the send record step 354 .
  • the component device receives the record at the receive record step 356 .
  • the component device can either accept or reject the received record at accept test step 358 . This acceptance or rejection is determined either by explicit user entry or by defaults created by the user. If the record is rejected, the component device sends a response indicating the rejection back to the information management system 100 through send response step 362 and send signal step 364 . If the record is accepted, the component device updates, creates or deletes the record locally at the update locally step 360 . The component device then sends a response indicating the acceptance back to the information management system 100 through send response step 362 and send signal step 364 .
  • a response is received by the information management module 100 and stored at the update server step 366 .
  • the more results test step 368 determines if more updated records exist to be sent to the component. If more results exist, the contact management system 101 returns to the directives test step 350 and continues the update. If no more results exist, the process is completed. Although in FIG. 5 the records are transmitted in one process, those skilled in the art will recognize that the records could be sent in groups or individually.
  • a contact or calendar record contains a plurality of fields.
  • a field is composed of a unit of data corresponding to the associated contact or calendar record. Examples of fields include name, home address, home phone number, work addresses, work phone numbers, personal email, business email, contact identification number and any other information relevant to a contact or calendar entry. New fields may be created by a user or an administrator of the contact management system 101 .
  • Directives are pieces of information which direct the contact record.
  • directives may contain information of which component devices receive the associated contact record.
  • Directives also contain information on permissions and authorizations pertaining to a user's ability to view, add, edit or delete an associated contact record or field within that contact record.
  • Directives can also contain information on how a contact record or associated field is ordered and displayed on the component device.
  • Directives are either part of a record or a separate file or piece of data associated with a record.
  • directives are files that are associated with individual records or fields and hold necessary distribution and authorization data.
  • the information management module 100 reads a directive file when distributing the associate record. Based on this directive file, the information management module 100 determines which component device the corresponding record or field within that record should be distributed to, what authorizations or permissions exist for that record and any other ancillary information concerning ordering of the record or display of the record.
  • a directive is data which is part of the record itself. The record holds data associated with each field. The information management module 100 reads the record to determine the directive information prior to distribution.
  • a list directive is used to determine to which component device a record or field within that record should be distributed.
  • a list directive contains a list of component devices that are associated with a record.
  • FIG. 6 illustrates an example of one contact record's fields, data and the field's list directives. In this example each field has a list directive.
  • the contact field heading column 712 contains the title of each contact field.
  • the contact field data column 714 contains the data associated with each contact field.
  • the directive field data column 716 contains the list directive for the field in that row.
  • the fields are Contact ID, Name, Home Address, Home Phone #, Work Address, Work Phone #, Personal Email, Business Email, Cell Phone # and Notes.
  • Each of these field headings has data associated with the field; for example the data contained in the field “name” is “Jon Doe.”
  • the communication system 102 performs the appropriate distribution of the record and the fields within that record based on the list directive.
  • Each component device listed in the “directive field data” column will receive the fields associated with the list directive.
  • the contact ID remains on the server and is not distributed to any other component devices.
  • the contact name is sent to the users cell phone, home PC, work PC and PDA. From these directives, the communication system 102 determines where to send each individual field based on the list directives.
  • FIGS. 7A and 7B provide examples of group directives that determine to which component devices a record or field should be distributed by grouping component devices and assigning the directive to fields or records. If a group directive is assigned to a field or record, that field or record will be distributed to the component devices listed in the group directive.
  • FIG. 7B illustrates an example of group directives.
  • the group ID column 708 contains the names of the groups.
  • the group directive information column 710 contains the list component devices associated with the group ID.
  • FIG. 7A contains a single contact record as described in the table in FIG. 6 , except the directive field data column 706 contains a group ID rather than a list of component devices. For example, the group with the group ID of “personal” is associated with the server, cell phone and home PC component devices.
  • the fields of “home address” and “home phone #” contain the directive information of “personal.” This means that the data in the home address and home phone # fields are to be distributed to the server, the cell phone and the home PC component devices.
  • Groups within the group directives are not typically exclusive, as a component device may be in several or all of the groups.
  • the information management module 100 maintains group directives in a table or similar data structure with the group names and the corresponding component devices associated with those groups.
  • the contact management system 101 distributes the records or fields associated with the group directive by analyzing the table or other data structure containing the group directive information and distributing the record accordingly.
  • FIGS. 8A , 8 B and 8 C provide examples of geographic directives. Additionally, the example of FIGS. 8A , 8 B and 8 C show the interaction when there are two types of directives applying to the same record or field.
  • Geographic directives are directives used to control the display order of contact records on a component device based on the geographic proximity of a contact. Alternatively, geographic directives control whether a contact record will be displayed at all. For example, geographic directives allow a user of a component device to display their Philadelphia contact records or fields more prominently when using a component device in the Philadelphia area and allows the user to display their non-Philadelphia contact records or fields less prominently or not at all when using a component device in the Philadelphia area. In the example illustrated by FIG. 8A and FIG.
  • FIG. 8C show geographic directive information.
  • the directive field data 2 column 724 indicates the associated geographic directive to the field and the directive field data 1 column 722 indicates the associated group directive to the field.
  • FIG. 8C shows the group ID's and the information associated with the group ID in the group ID column 730 and the information associated with that group ID in the group directive information column 732 . If the user of a component device containing the record shown in FIG. 8A were in Philadelphia the component device would display the fields whose directive indicated Philadelphia more prominently than the other fields. Additionally, the directives with the group ID “everywhere” are shown independent of location.
  • the fields corresponding to the name, the home address, the home phone number, the personal email, the business email and notes would be shown more prominently to a user of a component device when located in Philadelphia, while the other fields will be displayed less prominently or not at all. If the user on the component device were in San Diego, the fields corresponding to alternate address and alternate phone # would be displayed more prominently along with the fields corresponding to the everywhere geographic directive.
  • FIGS. 8A , 8 B and 8 C also illustrate the use of two types of directives simultaneously.
  • the example in FIGS. 8A , 8 B and 8 C show the use of group directives as well.
  • a user with the contact record shown in FIG. 8A and the directive information shown in FIG. 8B and FIG. 8C is able to view the contact's home phone number on all of the user's personal devices and the home phone number of the contact record is displayed more prominently when in the user is located in the Philadelphia area.
  • the contact management system 101 utilizes the group directive information from FIG. 8B to determine what information is distributed.
  • the appropriate information is distributed to the appropriate component devices by using the group directives in FIG. 8B and the distributed information is displayed when appropriate based on the geographic directives illustrated in FIG. 8C .
  • FIGS. 9A , 9 B and 9 C illustrate multiple directives in which one of the directives is based upon time of day information and another directive is based on group information. The interaction between these two directives is similar to the interaction between group directives and geographic directives described above.
  • Time of day directives control the prevalence of a record or field based on the time of day. In one embodiment records or fields are displayed at a user determined time of day; in an alternate embodiment the time of day directives effect the ordering of the fields and records, while still displaying all information.
  • the time of day determines which contact fields can be viewed.
  • FIG. 9C illustrates the time of day directive information.
  • the directive field data 2 column 740 lists, for each field, the associated time of day directive.
  • the group ID column 746 and the group directive information column 748 show the various time of day directives and their corresponding time restraints. For example, during work hours (8AM-6PM) the work phone number and address are displayed and during non-work hours (all other times) the home phone number and address are displayed.
  • the time of day directives could apply to the entire record, thereby making the individual records, rather than fields be displayed.
  • similar directives control display of records based on availability of individuals, rather than the time of day. A contact which is known to be unavailable due to a meeting or vacation is not visible or alternatively displayed less prominently.
  • the determination of unavailability can be done through explicit user input or can be done through a comparison of the contact record and a calendar record associated with that contact.
  • Directives are implemented by a user or administrator setting up each record and field individually by specifying categories of directives (list, group, geographical, time of day, etc.) and applying these directives to fields or records.
  • categories of directives list, group, geographical, time of day, etc.
  • a pull down menu is utilized to facilitate assignment of directives or other ordering information.
  • assignment is accomplished through text entry or any other data entry method.
  • the directive groups can be customized to fit a user's preference or are based on defaults implemented by a user or administrator. Default directives are assigned either when a record is created or alternatively when a record is transmitted. The default directives are selected by the user. For example, a user may implement default settings where phone numbers are sent to their cell phone, while phone numbers and addresses are sent to their PDA.
  • Default directives are available for all types of directives.
  • a user using time of day directives may select that business phone numbers always be displayed more prominently during work hours, while simultaneously setting up geographic default directives to specify that contacts with addresses in Philadelphia are always displayed and contacts with addresses in San Diego are displayed when in San Diego, within a predefined distance of San Diego, perhaps within the state of California of within the Pacific time zone.
  • a contact ordering mechanism is implemented through the use of directives. This mechanism can be applied to a variety of devices and systems outside the context of the contact management system 101 described herein. As such, the contact ordering mechanism can be applied to cell phones, PDA's, computers and other component devices containing contact record information.
  • the contact ordering mechanism enables a user to view contact records based upon geographic proximity to the user's current location.
  • the system determines the present location of the user's device and the present locations of various contacts and reorders the contacts so that more geographically proximate contacts are listed before less geographically proximate contacts.
  • Calculation of the user's position and the position of the relevant contacts may be accomplished using a global positioning satellite (GPS) device, zip code, phone number, cell phone triangulation or any number of different positioning schemes or combinations thereof.
  • GPS global positioning satellite
  • the distance calculations may be accomplished using a different positioning methodology for different contacts.
  • GPS location and cell phone triangulation are accomplished in real time, while zip code location and phone number location are static.
  • a user could implement the contact display mechanism to use GPS and cell phone triangulation if available and use zip code and phone number location as an alternative when the real time location techniques are unavailable.
  • the contact ordering mechanism need not necessarily reorder the entire set of contacts based solely on geographic proximity. For example, the contacts or records may be ordered alphabetically and then reordered within each letter or grouping of letters by geographic proximity.
  • the geographic contact ordering mechanism determines the distance between the user's position and the position of one or more of the relevant contacts.
  • the distance calculation made be made using any positioning calculation or algorithm that is generally known in the art to determine distance between two points.
  • FIG. 10 illustrates data when GPS has been used to determine the location of the user and the user's contacts.
  • the geographic contact ordering mechanism requires a user to have a GPS enabled device and the ability to receive GPS location of various contacts.
  • the GPS on the user's device has calculated the device location at latitude 40.39N and at longitude 75.25W.
  • the user device determines the latitude and longitude of each contact by locating the GPS signal of each contact's device. Then, using formulas well known in the art, the user device determines the distance of the contacts from the user device.
  • the contact latitude column 1006 , the contact longitude column 1008 and the distance from contact to user column 1010 illustrate the information determined by the user device about each contact. Once this process is complete, the device orders the contacts most geographically proximate contacts listed before less geographically proximate contacts.
  • FIG. 11 illustrates the output from the data in FIG. 10 as it might appear on a cell phone 1100 . Screen display 1102 shows the contacts as ordered based on GPS.
  • FIG. 12 illustrates data related to a geographic contact ordering mechanism where zip code is used rather than GPS to determine the distances.
  • the process is similar to the process described above but the algorithm used to determine distance is based on the distance between zip codes rather than the distance being determined based on GPS.
  • the contact zip code column 1202 and distance from zip code 1204 illustrate the distances used in determining ordering.
  • the user's location can be determined based on the user's home zip code, their GPS location, a zip code inputted by the user or any other geographically distinct value.
  • FIG. 13 illustrates the output from the data in FIG. 12 as it might appear on a cell phone 1300 .
  • Screen display 1302 shows the contacts as ordered based on zip code.
  • FIG. 14 illustrates data related to a geographic contact ordering mechanism where a user and contact's area code and exchange are used to determine the distances. This process is similar to the above described process.
  • the contact phone number column 1402 and the distance from user column 1404 illustrate the distances determined using area code and exchange.
  • FIG. 14B illustrates the output from the data in FIG. 14A as it might appear on cell phone 1500 .
  • Screen display 1502 shows the contacts as ordered based on area code and exchange.
  • any combination of the distance methods GPS, area code, zip code or some other distance method
  • users also have the ability to view records which have been reordered based on statistics.
  • the statistical information is kept by a component device and can include call frequency information, time stamp information, call length information or other information a user selects to maintain statistic on. By utilizing this type of information, a user is able to more easily retrieve desired contact information.
  • contacts are reordered by call frequency information.
  • Call frequency information refers to information related to communications with a contact and includes both incoming communications and outgoing communications.
  • the contact records are ordered so that contacts which are communicated with more frequently have their contact record displayed before contacts which are communicated less frequently. Records are maintained concerning how many communications each contact has with the user's component device.
  • the contact reordering scheme is implemented by maintaining a number indicating the amount of communications with each contact. Each time a communication occurs between a contact and the user's component device the number associated with that contact is incremented. The contact reordering system then orders the contacts based on the number, with the contact records with higher numbers listed before the contacts with lower numbers.
  • the contact records are ordered by call frequency information pertaining to incoming communications or outgoing communications. In this embodiment each contact record maintains a number for incoming communications and outgoing communications and increments each when appropriate.
  • FIG. 15A illustrates an example of call statistic information wherein call statistic information related to call frequency information is shown.
  • contacts which would be shown when the “JKL” button on a cell phone is pressed.
  • FIG. 15B illustrates two cell phone screen displays resulting from the contact list illustrated in FIG. 15A .
  • the cell phone screen display 502 shows contacts displayed alphabetically after pressing the “JKL” key on the keypad 506 .
  • the cell phone screen display 504 shows the same contact information, however it is sorted by call frequency information as illustrated in the table in FIG. 15A .
  • contacts are reordered by call length information wherein contact records with longer aggregate call lengths are ordered before contact records with shorter aggregate call length.
  • information is maintained by the user device concerning the length of calls as well as the time the calls were begun and whether the call was incoming or outgoing.
  • the contact management system 101 then reorders the contacts based on this statistical information.
  • contacts are reordered based on total call length over the life of the device.
  • the contacts or phone numbers which have longer combined totals for call length are listed prior to contacts or phone numbers with shorter combined totals for call length.
  • the contacts are ordered so that the call length is monitored based on a user defined time and date.
  • the contacts are sorted based on whether they are incoming or outgoing. This embodiment only includes call length times from the appropriate type of call. Further embodiments have combinations of the above defined reordering schemes.
  • a contact management system 600 maintains and distributes multiple users' contact and calendar records.
  • the contact management system 600 of FIG. 2 is shown as having multiple users and is similar to the contact management system 101 described with respect to FIG. 1 . It will be readily understood that the contact management system 600 could have any number of users.
  • the contact management system 600 includes the information management module 100 , the communication device 102 , the base station 110 , the wireless networking device 106 and the network 104 , all of which have features and operate in the same manner as described in reference to the contact management system 100 of FIG. 1 .
  • the contact management system 600 is able to manage distribution of contact and calendar records for multiple different users by communicating with component devices belonging to multiple different users.
  • directives include information regarding authorizations or permissions as well as information pertaining to which device the records are distributed to, to ensure appropriate distribution of records. In some instances certain users are prevented from accessing or editing contacts to ensure that appropriate users' and devices receive information.
  • a first user uses the cell phone 141 a , the home PC 143 a , the work PC 145 a and the PDA 147 a
  • a second user uses cell phone 141 b , home PC 143 b , and work PC 145 b
  • a third user uses cell phone 141 c and PDA 147 c .
  • their may be more or fewer users and corresponding devices associated with each user.
  • the contact management system distributes contact information to websites on an autonomous basis.
  • the contact management system distributes records which complete web forms such that each field in the web form corresponds to fields within a record.
  • the contact management system distributes records to websites whenever a relevant updated record is available for distribution.
  • an auto-fill mechanism for websites based on stored contact records is supported. This mechanism is applicable to merchant websites; however any website where contact related information is requested utilizes this feature.
  • This mechanism automatically fills contact fields in websites forms which typically need user input to complete.
  • the mechanism correlates the fields of a contact record in the contact management system 101 with the fields in a website form.
  • an algorithm is used which detects which of the fields in the website form need input from a record which is stored on information management module 100 in the contact management system 101 . This is accomplished through comparisons of the label in the website form to a list of common labels associated with the record in the contact management system. Through this comparison, the contact management system 101 sends information to the website form to promulgate the fields in the website form.
  • initiation of the auto-fill mechanism is accomplished through either drag and drop initiation or file upload initiation.
  • drag and drop initiation a user selects the contact record from a database program holding the user's contacts by clicking on it. The user can then drag the representation of the contact record directly to the website form.
  • the auto-fill mechanism automatically correlates the labels of the website form to the available fields of the contact management system and subsequently promulgates the contact data to the fields within the website form.
  • An alternate embodiment uses file upload initiation which is initiated through a menu selection associate with the website. Once a menu item is selected, the web browser opens a file selection window for selecting the contact record corresponding to the information the user wants filled into the website form.
  • an auto-update mechanism for populating merchant websites and keeping them updated with current contact information is supported.
  • This mechanism works in conjunction with the contact management system 101 or is utilized as a stand alone feature.
  • the feature updates merchant websites with the most current updated contact information by distributing contacts on a local computer or information management module 100 to the merchant website whenever a contact is updated.
  • the system updates files known as Internet cookies, which are stored locally on the user's PC, to update the contact information.
  • Internet cookies are files which contain information specific to a particular website.
  • a user logs into a website and the users' personalized information is stored in an Internet cookie on the local machine.
  • the web browser reads the Internet cookie file and utilizes it to read the personalized information.
  • the personalized information may include contact information, calendar information, credit card information, web site personalization information or any other information the web page administrator includes.
  • FIG. 16 illustrates an embodiment where Internet cookies are updated using the auto-update mechanism in conjunction with the contact management system.
  • the information management module 100 contains the contact record to be distributed to the website and the communications system 102 updates the Internet cookie file 402 .
  • the Internet cookie file 402 is read and interpreted by an Internet browser which connects to the network 104 .
  • the network 104 communicates with the merchant website server 404 in order to allow the merchant website to use this data. If an Internet cookie contains information relating to contact information or billing information, that information is updated in the Internet cookie file 402 when the local computer or the information management module 100 receives an update. This ensures that when a user returns to that website the contact information and billing information is updated without any user input.
  • the directives described above ensure that the appropriate websites and contacts stored in Internet cookies are updated.
  • the website stores contact information on a server, rather than in an Internet cookie.
  • FIG. 17 illustrates this embodiment.
  • the information management module 100 sends the desired records to the communications system 102 which distributes the updated contact information to the merchant website server 404 via the network 104 .
  • the website server 404 in this embodiment, is acting like a component in FIG. 1 . It has the ability to receive the contact record and update itself.
  • the embodiments of the present invention may be implemented with any combination of hardware and software. If implemented as a computer-implemented apparatus, the present invention is implemented using means for performing all of the steps and functions described above.
  • the embodiments of the present invention can be included in an article of manufacture (e.g., one or more computer program products) having, for instance, computer useable media.
  • the media has embodied therein, for instance, computer readable program code means for providing and facilitating the mechanisms of the present invention.
  • the article of manufacture can be included as part of a computer system or sold separately.

Abstract

A method of displaying contact method on a mobile device includes storing a plurality of contact records on a mobile device. At least one record contains information corresponding to the geographic location of at least one of the contacts. The geographic location of the mobile device is determined and compared with the geographic location of the contacts stored on the mobile device. The contacts are arranged based on the geographic proximity of the contact to the mobile device.

Description

    CROSS REFERENCE TO RELATED APPLICATIONS
  • This application is related to co-pending U.S. patent application No. ______, entitled Method of Distributing Contact and Calendar Records, filed Jan. 19, 2007, Attorney Docket No. TPL-011-1; U.S. patent application No. ______, entitled Method of Distributing Contact and Calendar Records, filed Jan. 19, 2007, Attorney Docket No. TPL-011-2; U.S. patent application No. ______, entitled Method of Displaying Contact Information, filed Jan. 19, 2007, Attorney Docket No. TPL-011-4; U.S. patent application No. ______, entitled Method of Distributing Contact Information to Merchant Websites, filed Jan. 19, 2007, Attorney Docket No. TPL-011-5; and U.S. patent application No. ______, entitled Method of Updating Contact Information on Merchant Websites, filed Jan. 19, 2007, Attorney Docket No. TPL-011-6, the entire disclosures of which are incorporated herein by reference.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The following detailed description will be better understood when read in conjunction with the appended drawings, in which there is shown one or more of the multiple embodiments of the present invention. It should be understood, however, that the various embodiments of the present invention are not limited to the precise arrangements and instrumentalities shown in the drawings.
  • In the Drawings:
  • FIG. 1 is a system diagram of one embodiment of a contact and calendar record delivery system;
  • FIG. 2 is a system diagram of one embodiment of a contact and calendar record delivery system;
  • FIG. 3A is a use case diagram of an information management module in accordance with the contact and calendar record delivery system of FIG. 1;
  • FIG. 3B is a use case diagram of a component device in accordance with the contact and calendar record delivery system of FIG. 1;
  • FIG. 4 is an activity diagram of an embodiment of the contact and calendar record delivery system of FIG. 1;
  • FIG. 5 is an activity diagram of an embodiment of the contact and calendar record delivery system of FIG. 1;
  • FIG. 6 is a table showing an example of list directive data;
  • FIG. 7A is a table showing an example of a contact record with group directive field data;
  • FIG. 7B is a table showing an example of group directive data;
  • FIG. 8A is a table showing an example of a contact record with two types of directive data;
  • FIG. 8B is a table showing an example of group directive data;
  • FIG. 8C is a table showing an example of geographic directive data;
  • FIG. 9A is a table showing an example of a contact record with two types of directive data;
  • FIG. 9B is a table showing an example of group directive data;
  • FIG. 9C is a table showing an example of time of day directive data;
  • FIG. 10 is a table showing data relating to contact reordering using geographic distances obtained through GPS;
  • FIG. 11 is an example of the output from contact reordering using geographic distances obtained through GPS;
  • FIG. 12 is a table showing data relating to contact reordering using geographic distances obtained through zip codes;
  • FIG. 13 is an example of the output from contact reordering using geographic distances obtained through zip codes;
  • FIG. 14 is a table showing data relating to contact reordering using geographic distances obtained through area codes and exchanges;
  • FIG. 15A is an example of the output from contact reordering using geographic distances obtained through area codes and exchanges;
  • FIG. 15B is table showing data related to contact reordering using statistics related to call frequency information.
  • FIG. 15C is an example of the output from contact reordering using statistics related to call frequency information.
  • FIG. 16 is a system diagram of the auto-update feature where the updating is accomplished by updating Internet cookie files; and
  • FIG. 17 is a system diagram of the auto-update feature where the updating is accomplished by updating a merchant website server.
  • DETAILED DESCRIPTION
  • Certain terminology is used herein for convenience only and is not to be taken as a limitation on the embodiments of the present invention. In the drawings, the same reference letters are employed for designating the same elements throughout the several figures.
  • Unified Modeling Language (“UML”) can be used to model and/or describe methods and systems and provide the basis for better understanding their functionality and internal operation as well as describing interfaces with external components, systems and people using standardized notation. When used herein, UML diagrams including, but not limited to, use case diagrams, class diagrams and activity diagrams, are meant to serve as an aid in describing the embodiments of the present invention, but do not constrain implementation thereof to any particular hardware or software embodiments. Unless otherwise noted, the notation used with respect to the UML diagrams contained herein is consistent with the UML 2.0 specification or variants thereof and is understood by those skilled in the art.
  • In accordance with the multiple embodiments of the present invention, a contact management system distributes contact or calendar records to a plurality of devices. The contact management system ensures that a user's devices have access to the most current appropriate contact or calendar information. The user, or in some cases the administrator, chooses which records or part(s) of records will be distributed to which component devices. In one embodiment the contact management system is automated so that no user interaction is needed. In an alternate embodiment the contact management system distributes records through user record selection, such that some or all of the records are explicitly selected for distribution to individual devices by a user. The contact management system thus ensures that the desired items appear or can be edited by the appropriate devices and/or users. Devices associated with the contact management system receive information remotely in order to maintain a current record. Additionally, in some embodiments, the devices are displayed in an ordered structure where the most desired contacts are ordered first and less desired contacts are ordered to appear later or do not appear at all.
  • Referring to FIG. 1, a contact management system 101 for distributing contact or calendar records to devices belonging to a single user is shown. In alternate embodiments, the devices to which the calendar or contact information is distributed belong to a plurality or group of users. A contact record is generally any file or other unit of data which contains information relating to personal, professional or other information corresponding to a contact, such as name, address and phone number. A contact may be an individual, entity, group or organization with some connection to the user, such as a colleague, a business or a friend. A calendar record is generally a file or other unit of data which contains information relating to a specific event, such as an appointment or a meeting. A calendar record may contain time and date information, information relating to individuals associated with the entry, location information as well as other information relevant to the calendar entry. Contact and calendar records are generally known by those skilled in the art, thus further description of them has been omitted. The contact management system 101 manages and autonomously distributes contact or calendar records to the plurality of component devices. As shown in FIG. 1, the component devices include a home PC 120, a work PC 122, a personal digital assistant (PDA) 124, a cell phone 126 and a local PC 128, although any device capable of receiving contact and calendar records could be used. An information management module 100 maintains the plurality of contact or calendar records for distribution and determines which of the plurality of devices the record will be distributed to based on directives. A directive is data or information that indicates properties about a contact or calendar record, including which devices the record should be distributed to, the priority of the record, the privacy features associated with the record, display features and any other information which indicates properties of a record. Based on the directives, the information management module 100 distributes the records to the component devices through a communication system 102.
  • The information management module 100 can be implemented via a personal computer, an external hard drive, a server or any device capable of storing information and transmitting the contact or calendar information to a device. The information management module 100 processes the data related to the plurality of contact or calendar records and prepares the contact or calendar record for distribution. Such processing includes managing data, interpreting the directives, determining which devices the records are to be distributed to, determining the method of distribution and completing any other pre-distribution processing. The pre-distribution processing may include buffering of data in preparation for distribution, virus checking, integrity checking, error checking and any other operations needed to prepare data for transmission. In an alternative embodiment some or all of the processing is accomplished by the communication system 102.
  • The information management module 100 stores the contact and calendar records in an electronic medium. The information management module 100 may be implemented using commercially available software such as Microsoft Outlook® or other similar products. Alternatively, the records can be maintained in a proprietary database or any other data structure. The database which stores the records can be a relational database, a flat file database, an object oriented database or any other database capable of holding the appropriate information
  • In one embodiment, the information management module 100 contains information related to the format of the component devices and the information management module 100 formats the corresponding records accordingly in preparation for distribution. The information management module 100 formats the records prior to sending the records to the communications system 102 for distribution. In an alternate embodiment, the files are formatted by the component devices after they are received. Alternatively, the information management module 100 and the component devices use the same format, in which case no formatting, or minimal formatting, is necessary.
  • As discussed, the information management module 100 sends the records to the communications system 102 for distribution to the component devices. The communications system 102 may be any device or employ any interface or other system capable of communicating the contents of a record to the relevant component device. The connection between information management module 100 and the communication system 102 may be any connection used for data transfer, such as a Universal Serial Bus (USB) connection, an Ethernet connection, a serial connection, a wireless connection such as 802.11g or any other connection generally used with a computer. The information management module 100 and the communications system 102 can be located locally, near the user of the system, or held in an offsite location by a third party. In the event that a third party, such as a telecommunications company, provides the communication system 102 at an offsite location, the Internet can serve as the connection between the information management module 100 and the communication system 102. In an alternate embodiment, the information management module 100 and the communications system 102 are a single component such as a computer with the appropriate communication channels to facilitate communication to the plurality of component devices and a hard disk drive or other electronic storage to store the records.
  • As shown in FIG. 1, the communications system 102 connects to the component devices through a network 104, a base station 110, a wireless networking device 106, and/or whatever means are appropriate depending on the capabilities or requirements of the component devices. The network 104 may be the Internet, a local intranet, a direct connection or any other network capable of facilitating communications between the communications system 102 and the component devices. The base station 110 is a device used to communicate with component devices using cell phone technology. The wireless networking device 106 is a wireless device used to connect with devices located within the range of the wireless networking device 106. The communications system 102 may be connected to the network 104, base station 110, wireless networking device 106 and any other communication device which may be used through a T1 line, a cable modem or a DSL line, a modem, a computer connection such as USB, wireless connections such as 802.11n or Blue Tooth or any other connection capable of providing the appropriate bandwidth for distribution of the contact and calendar records.
  • In one embodiment, the wireless networking device 106 is a wireless router using IEEE 802.11n or similar standard and the wireless networking device 108 is a wireless networking card using the same or compatible standard. In an alternate embodiment, the wireless networking devices 106 and 108 are connected through a standardized communication technology such as Blue Tooth. Information management module 100 and communication system 102 maintain records of information related to the component devices to facilitate communication. This information includes, but is not limited to, a device's network address, IP address, MAC address, phone number or other identifying information.
  • In one embodiment the contact management system 101 monitors information originating from outside the contact management system 101 to ensure that the user's own personal information is not altered or deleted. Alternatively, there may be information distributed to the devices that an administrator of the system would like to delete upon a user leaving the system. The contact management system 101 maintains records of distribution information to facilitate a deletion process which leaves private data untouched while completely deleting other information. In one embodiment, the system maintains a history record of information which has been distributed. The history record can be stored on the information management system 100 or any other device capable of holding this information. The history record maintains information about which fields and records have been sent or received and which device sent or received such information. When a user or device is deleted from the system, the information management system 100, in conjunction with the communications system 102, deletes the information from the user's device which has been added to that device by the information management system 101 by comparing the device's information to the history record. In an alternate embodiment contact and calendar records and fields are flagged when received by the user device. A flag is a Boolean variable or other indicator which determines whether that contact or calendar record originated from the user locally or from the contact management system 101. When the contact management system 101 deletes a user or device's information it deletes the flagged records, thereby only deleting information originated from the system.
  • FIG. 3A is a use case diagram of the information management module 100. Component devices 202 include component devices a user of the contact management system 101 could use as described with reference to FIG. 1, including the home PC 120, work PC 122, PDA 124, cell phone 126, local PC 128 or any other device capable of receiving contact or calendar information. The information management module 100 receives new content at the receive component content use case 210 and the receive local input use case 204. The received content can be calendar and contact record information or any other information. The receive component content use case 210 receives content from one or more of the component devices 202. The store content use case 212 stores content received by the receive component content use case 210 in the information management module 100. The receive local input use case 204 receives input from a local user 214 and/or any other entity 218. The local user 214 is a user who inputs information directly to the information management module 100 and submits requests or information through an input device. The entity/system 218 is any entity or system which is not a component device that submits a request for information to the information management module 100, such as a subsystem managing a user's contacts. The information received by the receive local input use case 204 is stored using the store content use case 212. A request for content use case 220 allows a component device 202 to request an update or some other information from the information management module 100. The send content use case 206 sends the updated content or requested information to component devices. The send content use case 206 includes the check directive use case 208. The check directives use case 208 checks the directives of the information being sent by the send content use case 206 prior to the sending of the information to ensure that the appropriate information is distributed to the one or more component devices 202. The check for update use case 216 checks the information management module for updated information to be sent to the component devices 202 through the send content use case 206 and the check directives use case 208. The check for update use case 216 is initiated by the information management module 100 either automatically through a timer operation or some other similar function or manually when the local user 214 or the entity 218 or a component device 202 or a user using a component device 202 makes such a request. The above discussed communications between the component device 202 and the information management module 100 are facilitated either though communication system 102 (not shown) or alternatively a direct connection between the information management module 100 and the component device 202.
  • FIG. 3B is a use case diagram of one of the component devices 202. The component device 202 receives input from a user 290. The user 290 is any individual, entity or group using the component device. The view data use case 230 displays data which has been stored on the component device at the request of user 290. The basic functions use case 222 allows the user 290 to add, edit or delete a contact or calendar record from the component device and sends the added, edited or deleted contact or calendar record to the information management module 100. The store on component use case 228 updates the component device 202 by adding, editing or deleting the record or records affected by the basic functions use case 222. The request content use case 224 sends a request for content to the information management module 100. The request can be for every updated record available on the information management module 100 or alternatively the request can be for one or more specific item(s) that user 290 requests. The receive content use case 226 receives any content that the information management module 100 sends to the component device 202 (e.g. updated contact or calendar records). The content received can be the information requested by the component device 202 at the request content use case 224 or any data that the information management module 100 sends to the component device 202. The content received by the receive content use case 226 is stored on the component device at the store component use case 228. The communication between the component device 202 and the information management module 100 can be facilitated using the communication system 102 or alternatively can be a direct connection between the information management module 100 and the component device 202.
  • FIG. 4 is an activity diagram corresponding to the contact management system 101. FIG. 4 is an example of the contact management system in a “push” environment, in that the information management module 100 sends information to the component devices whenever a contact record is updated. The information management module 100 receives an update at receive update step 300. The information management module 100 may receive an update from local input into the information management module 100 or from any of the component devices. An update refers to a record which has been newly added, edited or deleted. After an update has been received, the information management module 100 determines if a directive exists for the updated record at the directive test step 302. If, at the directive test step 302, the information management module 100 determines that no directive exists, the information management module applies a default directive at the apply default directive step 304. If, at the directive test step 302, the information management module 100 determines that a directive exists or after the apply default directive step 304 has applied a default directive, the information management module 100 sends the record to the communications system, which is received at the receive record step 330. The communication system 102, in conjunction with the information management module 100, sends the record to the component devices corresponding to the directives at the send updated contact step 306. The record is received by the component device at the message received step 308. At the component device, the record can either be accepted or rejected at the accept test step 310. The record can be accepted or rejected at the component device either by explicit user input or by default settings predetermined by the user. If the record is accepted, the component device updates, creates or deletes the record locally at the update locally step 312, followed by the component device sending a message back to the information management module 100 at the send response step 314. If the record is rejected, the component device sends a response back to the information management module at the send response step 314. The messages sent from the component device at the send response step 314 are received by the communication system 102 and sent to the information management module 100 at the send response step 316. The message is received, interpreted and stored by the information management system 100 at the update server step 318. This entire process is repeated for each individual updated record. Although FIG. 4 is shown with respect to a single received is processed individually, those skilled in the art will understand that more than one record may be processed at the same time.
  • FIG. 5 illustrates an example of the contact management system 101 in a “pull” environment in that the component devices request updated records from the information management module 100. A user at a component device sends a request to receive updated records at the send update request step 340. The component device sends the request to the communication system 102, which receives the request and sends the request to the information management system 100 at the send signal step 342. The message is received by the information management system 100 at the update available test step 344, which determines if any updated records are available to send to the component device. If no updates are available, the information management system 100 sends a response indicating the situation to the component device through the communication system 102 at the send signal step 346. This message is received at the receive signal step 348, which ends the process. If one or more records are available to be sent, the contact management system 101 begins an iterative process of sending the available updated contact records to the component device at the directive test step 350. All steps beginning at the check directive step 350 are repeated for each updated record. The directive test step 350 checks if the current record has a directive. If no directive exists, the information management system 100 creates a default directive at the create default directive step 352 and sends the record and the directive to the communication system 102, which is received at the receive record step 370. If a directive already exists, the information management system 100 sends the record and the directive to the communication system 102, which is received at the receive record step 370. The communication system 102, sends the record, based on the directive, to the proper components at the send record step 354. The component device receives the record at the receive record step 356. The component device can either accept or reject the received record at accept test step 358. This acceptance or rejection is determined either by explicit user entry or by defaults created by the user. If the record is rejected, the component device sends a response indicating the rejection back to the information management system 100 through send response step 362 and send signal step 364. If the record is accepted, the component device updates, creates or deletes the record locally at the update locally step 360. The component device then sends a response indicating the acceptance back to the information management system 100 through send response step 362 and send signal step 364. A response is received by the information management module 100 and stored at the update server step 366. The more results test step 368 determines if more updated records exist to be sent to the component. If more results exist, the contact management system 101 returns to the directives test step 350 and continues the update. If no more results exist, the process is completed. Although in FIG. 5 the records are transmitted in one process, those skilled in the art will recognize that the records could be sent in groups or individually.
  • A contact or calendar record contains a plurality of fields. A field is composed of a unit of data corresponding to the associated contact or calendar record. Examples of fields include name, home address, home phone number, work addresses, work phone numbers, personal email, business email, contact identification number and any other information relevant to a contact or calendar entry. New fields may be created by a user or an administrator of the contact management system 101.
  • Directives are pieces of information which direct the contact record. For example, directives may contain information of which component devices receive the associated contact record. Directives also contain information on permissions and authorizations pertaining to a user's ability to view, add, edit or delete an associated contact record or field within that contact record. Directives can also contain information on how a contact record or associated field is ordered and displayed on the component device. Directives are either part of a record or a separate file or piece of data associated with a record.
  • In one embodiment, directives are files that are associated with individual records or fields and hold necessary distribution and authorization data. In this embodiment, the information management module 100 reads a directive file when distributing the associate record. Based on this directive file, the information management module 100 determines which component device the corresponding record or field within that record should be distributed to, what authorizations or permissions exist for that record and any other ancillary information concerning ordering of the record or display of the record. In an alternate embodiment, a directive is data which is part of the record itself. The record holds data associated with each field. The information management module 100 reads the record to determine the directive information prior to distribution.
  • One type of directive is a list directive. A list directive is used to determine to which component device a record or field within that record should be distributed. A list directive contains a list of component devices that are associated with a record. FIG. 6 illustrates an example of one contact record's fields, data and the field's list directives. In this example each field has a list directive. The contact field heading column 712 contains the title of each contact field. The contact field data column 714 contains the data associated with each contact field. The directive field data column 716 contains the list directive for the field in that row. In the example of FIG. 6, the fields are Contact ID, Name, Home Address, Home Phone #, Work Address, Work Phone #, Personal Email, Business Email, Cell Phone # and Notes. Each of these field headings has data associated with the field; for example the data contained in the field “name” is “Jon Doe.” The communication system 102 performs the appropriate distribution of the record and the fields within that record based on the list directive. Each component device listed in the “directive field data” column will receive the fields associated with the list directive. As shown in FIG. 6, the contact ID remains on the server and is not distributed to any other component devices. The contact name is sent to the users cell phone, home PC, work PC and PDA. From these directives, the communication system 102 determines where to send each individual field based on the list directives.
  • FIGS. 7A and 7B provide examples of group directives that determine to which component devices a record or field should be distributed by grouping component devices and assigning the directive to fields or records. If a group directive is assigned to a field or record, that field or record will be distributed to the component devices listed in the group directive. FIG. 7B illustrates an example of group directives. The group ID column 708 contains the names of the groups. The group directive information column 710 contains the list component devices associated with the group ID. FIG. 7A contains a single contact record as described in the table in FIG. 6, except the directive field data column 706 contains a group ID rather than a list of component devices. For example, the group with the group ID of “personal” is associated with the server, cell phone and home PC component devices. The fields of “home address” and “home phone #” contain the directive information of “personal.” This means that the data in the home address and home phone # fields are to be distributed to the server, the cell phone and the home PC component devices. Groups within the group directives are not typically exclusive, as a component device may be in several or all of the groups. In one embodiment, the information management module 100 maintains group directives in a table or similar data structure with the group names and the corresponding component devices associated with those groups. The contact management system 101 distributes the records or fields associated with the group directive by analyzing the table or other data structure containing the group directive information and distributing the record accordingly.
  • FIGS. 8A, 8B and 8C provide examples of geographic directives. Additionally, the example of FIGS. 8A, 8B and 8C show the interaction when there are two types of directives applying to the same record or field. Geographic directives are directives used to control the display order of contact records on a component device based on the geographic proximity of a contact. Alternatively, geographic directives control whether a contact record will be displayed at all. For example, geographic directives allow a user of a component device to display their Philadelphia contact records or fields more prominently when using a component device in the Philadelphia area and allows the user to display their non-Philadelphia contact records or fields less prominently or not at all when using a component device in the Philadelphia area. In the example illustrated by FIG. 8A and FIG. 8C show geographic directive information. For each field, the directive field data 2 column 724 indicates the associated geographic directive to the field and the directive field data 1 column 722 indicates the associated group directive to the field. FIG. 8C shows the group ID's and the information associated with the group ID in the group ID column 730 and the information associated with that group ID in the group directive information column 732. If the user of a component device containing the record shown in FIG. 8A were in Philadelphia the component device would display the fields whose directive indicated Philadelphia more prominently than the other fields. Additionally, the directives with the group ID “everywhere” are shown independent of location. Consequently, the fields corresponding to the name, the home address, the home phone number, the personal email, the business email and notes would be shown more prominently to a user of a component device when located in Philadelphia, while the other fields will be displayed less prominently or not at all. If the user on the component device were in San Diego, the fields corresponding to alternate address and alternate phone # would be displayed more prominently along with the fields corresponding to the everywhere geographic directive.
  • FIGS. 8A, 8B and 8C also illustrate the use of two types of directives simultaneously. In addition to the use of geographic directives, the example in FIGS. 8A, 8B and 8C show the use of group directives as well. A user with the contact record shown in FIG. 8A and the directive information shown in FIG. 8B and FIG. 8C is able to view the contact's home phone number on all of the user's personal devices and the home phone number of the contact record is displayed more prominently when in the user is located in the Philadelphia area. In addition to utilizing the geographic directive information from FIG. 8C, the contact management system 101 utilizes the group directive information from FIG. 8B to determine what information is distributed. In this example, the appropriate information is distributed to the appropriate component devices by using the group directives in FIG. 8B and the distributed information is displayed when appropriate based on the geographic directives illustrated in FIG. 8C.
  • FIGS. 9A, 9B and 9C illustrate multiple directives in which one of the directives is based upon time of day information and another directive is based on group information. The interaction between these two directives is similar to the interaction between group directives and geographic directives described above. Time of day directives control the prevalence of a record or field based on the time of day. In one embodiment records or fields are displayed at a user determined time of day; in an alternate embodiment the time of day directives effect the ordering of the fields and records, while still displaying all information. In the example illustrated in FIGS. 9A, 9B and 9C, the time of day determines which contact fields can be viewed. FIG. 9C illustrates the time of day directive information. The directive field data 2 column 740 lists, for each field, the associated time of day directive. The group ID column 746 and the group directive information column 748 show the various time of day directives and their corresponding time restraints. For example, during work hours (8AM-6PM) the work phone number and address are displayed and during non-work hours (all other times) the home phone number and address are displayed. Alternatively, the time of day directives could apply to the entire record, thereby making the individual records, rather than fields be displayed. In an alternative embodiment similar directives control display of records based on availability of individuals, rather than the time of day. A contact which is known to be unavailable due to a meeting or vacation is not visible or alternatively displayed less prominently. The determination of unavailability can be done through explicit user input or can be done through a comparison of the contact record and a calendar record associated with that contact.
  • Directives are implemented by a user or administrator setting up each record and field individually by specifying categories of directives (list, group, geographical, time of day, etc.) and applying these directives to fields or records. In one embodiment a pull down menu is utilized to facilitate assignment of directives or other ordering information. In alternate embodiments assignment is accomplished through text entry or any other data entry method. The directive groups can be customized to fit a user's preference or are based on defaults implemented by a user or administrator. Default directives are assigned either when a record is created or alternatively when a record is transmitted. The default directives are selected by the user. For example, a user may implement default settings where phone numbers are sent to their cell phone, while phone numbers and addresses are sent to their PDA. Default directives are available for all types of directives. A user using time of day directives may select that business phone numbers always be displayed more prominently during work hours, while simultaneously setting up geographic default directives to specify that contacts with addresses in Philadelphia are always displayed and contacts with addresses in San Diego are displayed when in San Diego, within a predefined distance of San Diego, perhaps within the state of California of within the Pacific time zone.
  • In one embodiment, a contact ordering mechanism is implemented through the use of directives. This mechanism can be applied to a variety of devices and systems outside the context of the contact management system 101 described herein. As such, the contact ordering mechanism can be applied to cell phones, PDA's, computers and other component devices containing contact record information.
  • In one embodiment the contact ordering mechanism enables a user to view contact records based upon geographic proximity to the user's current location. The system determines the present location of the user's device and the present locations of various contacts and reorders the contacts so that more geographically proximate contacts are listed before less geographically proximate contacts. Calculation of the user's position and the position of the relevant contacts may be accomplished using a global positioning satellite (GPS) device, zip code, phone number, cell phone triangulation or any number of different positioning schemes or combinations thereof. Furthermore, since different types of information may be available for different contacts in the user's component device, the distance calculations may be accomplished using a different positioning methodology for different contacts. For example, GPS location and cell phone triangulation are accomplished in real time, while zip code location and phone number location are static. A user could implement the contact display mechanism to use GPS and cell phone triangulation if available and use zip code and phone number location as an alternative when the real time location techniques are unavailable. Additionally, the contact ordering mechanism need not necessarily reorder the entire set of contacts based solely on geographic proximity. For example, the contacts or records may be ordered alphabetically and then reordered within each letter or grouping of letters by geographic proximity.
  • Depending on the type or source of position data (e.g., GPS, zip code, area code, etc.), the geographic contact ordering mechanism determines the distance between the user's position and the position of one or more of the relevant contacts. The distance calculation made be made using any positioning calculation or algorithm that is generally known in the art to determine distance between two points. FIG. 10 illustrates data when GPS has been used to determine the location of the user and the user's contacts. In this scenario, the geographic contact ordering mechanism requires a user to have a GPS enabled device and the ability to receive GPS location of various contacts. In the example, the GPS on the user's device has calculated the device location at latitude 40.39N and at longitude 75.25W. The user device then determines the latitude and longitude of each contact by locating the GPS signal of each contact's device. Then, using formulas well known in the art, the user device determines the distance of the contacts from the user device. The contact latitude column 1006, the contact longitude column 1008 and the distance from contact to user column 1010 illustrate the information determined by the user device about each contact. Once this process is complete, the device orders the contacts most geographically proximate contacts listed before less geographically proximate contacts. FIG. 11 illustrates the output from the data in FIG. 10 as it might appear on a cell phone 1100. Screen display 1102 shows the contacts as ordered based on GPS.
  • FIG. 12 illustrates data related to a geographic contact ordering mechanism where zip code is used rather than GPS to determine the distances. The process is similar to the process described above but the algorithm used to determine distance is based on the distance between zip codes rather than the distance being determined based on GPS. The contact zip code column 1202 and distance from zip code 1204 illustrate the distances used in determining ordering. The user's location can be determined based on the user's home zip code, their GPS location, a zip code inputted by the user or any other geographically distinct value. FIG. 13 illustrates the output from the data in FIG. 12 as it might appear on a cell phone 1300. Screen display 1302 shows the contacts as ordered based on zip code. FIG. 14 illustrates data related to a geographic contact ordering mechanism where a user and contact's area code and exchange are used to determine the distances. This process is similar to the above described process. The contact phone number column 1402 and the distance from user column 1404 illustrate the distances determined using area code and exchange. FIG. 14B illustrates the output from the data in FIG. 14A as it might appear on cell phone 1500. Screen display 1502 shows the contacts as ordered based on area code and exchange. In any of the above described geographic contact ordering mechanisms any combination of the distance methods (GPS, area code, zip code or some other distance method) can be used in determining ordered display.
  • In another embodiment of the contact ordering mechanism, users also have the ability to view records which have been reordered based on statistics. The statistical information is kept by a component device and can include call frequency information, time stamp information, call length information or other information a user selects to maintain statistic on. By utilizing this type of information, a user is able to more easily retrieve desired contact information.
  • In one embodiment of statistical reordering, contacts are reordered by call frequency information. Call frequency information refers to information related to communications with a contact and includes both incoming communications and outgoing communications. The contact records are ordered so that contacts which are communicated with more frequently have their contact record displayed before contacts which are communicated less frequently. Records are maintained concerning how many communications each contact has with the user's component device. In one embodiment the contact reordering scheme is implemented by maintaining a number indicating the amount of communications with each contact. Each time a communication occurs between a contact and the user's component device the number associated with that contact is incremented. The contact reordering system then orders the contacts based on the number, with the contact records with higher numbers listed before the contacts with lower numbers. In one embodiment, the contact records are ordered by call frequency information pertaining to incoming communications or outgoing communications. In this embodiment each contact record maintains a number for incoming communications and outgoing communications and increments each when appropriate.
  • FIG. 15A illustrates an example of call statistic information wherein call statistic information related to call frequency information is shown. In this example, contacts which would be shown when the “JKL” button on a cell phone is pressed. FIG. 15B illustrates two cell phone screen displays resulting from the contact list illustrated in FIG. 15A. The cell phone screen display 502 shows contacts displayed alphabetically after pressing the “JKL” key on the keypad 506. The cell phone screen display 504 shows the same contact information, however it is sorted by call frequency information as illustrated in the table in FIG. 15A.
  • In one embodiment contacts are reordered by call length information wherein contact records with longer aggregate call lengths are ordered before contact records with shorter aggregate call length. In one embodiment, information is maintained by the user device concerning the length of calls as well as the time the calls were begun and whether the call was incoming or outgoing. The contact management system 101 then reorders the contacts based on this statistical information. In one embodiment contacts are reordered based on total call length over the life of the device. The contacts or phone numbers which have longer combined totals for call length are listed prior to contacts or phone numbers with shorter combined totals for call length. In an alternative embodiment the contacts are ordered so that the call length is monitored based on a user defined time and date. In another embodiment the contacts are sorted based on whether they are incoming or outgoing. This embodiment only includes call length times from the appropriate type of call. Further embodiments have combinations of the above defined reordering schemes.
  • Referring to FIG. 2, in an alternate embodiment, a contact management system 600 maintains and distributes multiple users' contact and calendar records. The contact management system 600 of FIG. 2 is shown as having multiple users and is similar to the contact management system 101 described with respect to FIG. 1. It will be readily understood that the contact management system 600 could have any number of users. The contact management system 600 includes the information management module 100, the communication device 102, the base station 110, the wireless networking device 106 and the network 104, all of which have features and operate in the same manner as described in reference to the contact management system 100 of FIG. 1. Thus, the contact management system 600 is able to manage distribution of contact and calendar records for multiple different users by communicating with component devices belonging to multiple different users. As previously discussed, directives include information regarding authorizations or permissions as well as information pertaining to which device the records are distributed to, to ensure appropriate distribution of records. In some instances certain users are prevented from accessing or editing contacts to ensure that appropriate users' and devices receive information. In FIG. 2, a first user uses the cell phone 141 a, the home PC 143 a, the work PC 145 a and the PDA 147 a, while a second user uses cell phone 141 b, home PC 143 b, and work PC 145 b, and a third user uses cell phone 141 c and PDA 147 c. In an alternate embodiment their may be more or fewer users and corresponding devices associated with each user.
  • The contact management system distributes contact information to websites on an autonomous basis. In one embodiment the contact management system distributes records which complete web forms such that each field in the web form corresponds to fields within a record. In an alternate embodiment the contact management system distributes records to websites whenever a relevant updated record is available for distribution.
  • In one embodiment an auto-fill mechanism for websites based on stored contact records is supported. This mechanism is applicable to merchant websites; however any website where contact related information is requested utilizes this feature. This mechanism automatically fills contact fields in websites forms which typically need user input to complete. The mechanism correlates the fields of a contact record in the contact management system 101 with the fields in a website form. In one embodiment an algorithm is used which detects which of the fields in the website form need input from a record which is stored on information management module 100 in the contact management system 101. This is accomplished through comparisons of the label in the website form to a list of common labels associated with the record in the contact management system. Through this comparison, the contact management system 101 sends information to the website form to promulgate the fields in the website form.
  • In one embodiment, initiation of the auto-fill mechanism is accomplished through either drag and drop initiation or file upload initiation. When using drag and drop initiation, a user selects the contact record from a database program holding the user's contacts by clicking on it. The user can then drag the representation of the contact record directly to the website form. Upon dropping the contact representation, the auto-fill mechanism automatically correlates the labels of the website form to the available fields of the contact management system and subsequently promulgates the contact data to the fields within the website form. An alternate embodiment uses file upload initiation which is initiated through a menu selection associate with the website. Once a menu item is selected, the web browser opens a file selection window for selecting the contact record corresponding to the information the user wants filled into the website form.
  • In one embodiment an auto-update mechanism for populating merchant websites and keeping them updated with current contact information is supported. This mechanism works in conjunction with the contact management system 101 or is utilized as a stand alone feature. The feature updates merchant websites with the most current updated contact information by distributing contacts on a local computer or information management module 100 to the merchant website whenever a contact is updated.
  • In one embodiment of the auto-update mechanism the system updates files known as Internet cookies, which are stored locally on the user's PC, to update the contact information. Internet cookies are files which contain information specific to a particular website. In one scenario, a user logs into a website and the users' personalized information is stored in an Internet cookie on the local machine. When the user logs onto this website, the web browser reads the Internet cookie file and utilizes it to read the personalized information. The personalized information may include contact information, calendar information, credit card information, web site personalization information or any other information the web page administrator includes. FIG. 16 illustrates an embodiment where Internet cookies are updated using the auto-update mechanism in conjunction with the contact management system. The information management module 100 contains the contact record to be distributed to the website and the communications system 102 updates the Internet cookie file 402. The Internet cookie file 402 is read and interpreted by an Internet browser which connects to the network 104. The network 104 communicates with the merchant website server 404 in order to allow the merchant website to use this data. If an Internet cookie contains information relating to contact information or billing information, that information is updated in the Internet cookie file 402 when the local computer or the information management module 100 receives an update. This ensures that when a user returns to that website the contact information and billing information is updated without any user input. The directives described above ensure that the appropriate websites and contacts stored in Internet cookies are updated.
  • In another embodiment of the auto-update mechanism, the website stores contact information on a server, rather than in an Internet cookie. FIG. 17 illustrates this embodiment. The information management module 100 sends the desired records to the communications system 102 which distributes the updated contact information to the merchant website server 404 via the network 104. The website server 404, in this embodiment, is acting like a component in FIG. 1. It has the ability to receive the contact record and update itself.
  • The embodiments of the present invention may be implemented with any combination of hardware and software. If implemented as a computer-implemented apparatus, the present invention is implemented using means for performing all of the steps and functions described above.
  • The embodiments of the present invention can be included in an article of manufacture (e.g., one or more computer program products) having, for instance, computer useable media. The media has embodied therein, for instance, computer readable program code means for providing and facilitating the mechanisms of the present invention. The article of manufacture can be included as part of a computer system or sold separately.
  • While specific embodiments have been described in detail in the foregoing detailed description and illustrated in the accompanying drawings, it will be appreciated by those skilled in the art that various modifications and alternatives to those details could be developed in light of the overall teachings of the disclosure and the broad inventive concepts thereof. It is understood, therefore, that the scope of the present invention is not limited to the particular examples and implementations disclosed herein, but is intended to cover modifications within the spirit and scope thereof as defined by the appended claims and any and all equivalents thereof.

Claims (22)

1.-20. (canceled)
21. A method of displaying contact information on a mobile device, the method comprising:
storing a plurality of contact records on a mobile device, wherein each of the plurality of contact records is associated with a contact and includes a name associated with the contact and contact information associated with the contact, wherein the plurality of the contact records comprises a first subset of contact records, and the contact information of each contact record included in the first subset of contact records includes time of day information indicating when at least a portion of a respective contact record is to be displayed;
determining a current time of day;
comparing the current time of day with the time of day information associated with the first subset of contact records;
identifying a second subset of the contact records that are to be always displayed independent of the current time of day; and
displaying the contact records on a display, such that the second subset of the contact records is displayed independent of the current time of day and the first subset of the contact records are displayed based on a comparison between the current time of day and the time of day information associated with the first subset of contact records.
22. The method as in claim 21, wherein time of day information associated with a first field of a first contact record in the first subset of contact records specifies a first time range during which display of the first field is to occur and displaying the contact records on the display comprises:
displaying the first field of the first contact record when the current time of day is within the first time range.
23. The method as in claim 22, wherein displaying the contact records on the display further comprises:
displaying the first field of the first contact record and the second subset of the contact records while the current time of day remains within the first time range.
24. The method as in claim 22, wherein time of day information associated with a second field of the first contact record specifies a second time range during which display of the second field is to occur and displaying the contact records on the display comprises:
displaying the second field of the first contact record when the current time of day is within the second time range, wherein the second time range is different than the first time range.
25. The method as in claim 24, wherein displaying the contact records on the display comprises:
displaying the second field of the first contact record and the second subset of the contact records while the current time of day remains within the second time range.
26. The method as in claim 21, wherein displaying the contact records on the display comprises:
determining unavailability of a person represented by a first contact record in the first subset of contact records; and
displaying at least a portion of the first contact record less prominently due to the unavailability of the person represented by the first contact record, wherein the first contact record is associated with time of day information indicating display of at least the portion of the first contact record to occur during the current time of day
27. The method as in claim 26, wherein determining the unavailability of the person represented by the first contact record comprises:
comparing the first contact record and a calendar record indicating at least one event during which the person represented by the first contact record is unavailable
28. The method as in claim 21, wherein storing the plurality of contact records on the mobile device comprises:
storing a first contact record in first subset of contact records, the first contact record including first time of day information associated with a first field of the first contact record and second time of day information associated with a second field of the first contact record.
29. A contact information display system for displaying information on a mobile device, the system comprising:
a storage device capable of storing a plurality of contact records, wherein each of the plurality of contact records is associated with a contact and includes a name associated with the contact and contact information associated with the contact, wherein the plurality of the contact records comprises a first subset of contact records, and the contact information of each contact record included in the first subset of contact records includes time of day information indicating when at least a portion of a respective contact record is to be displayed;
an information management module configured to:
determine a current time of day;
compare the current time of day with the time of day information associated with the first subset of records; and
identifying a second subset of the contact records that are to be always displayed independent of the current time of day; and
a display module configured to display the contact records such that the second subset of the contact records is displayed independent of the current time of day and the first subset of the contact records are displayed based on a comparison between the current time of day and the time of day information associated with the first subset of contact records.
30. The contact information display system as in claim 29, wherein time of day information associated with a first field of a first contact record in the first subset of contact records specifies a first time range during which display of the first field is to occur and the display module is configured to display the first field of the first contact record when the current time of day is within the first time range.
31. The contact information display system as in claim 30, wherein the display module is configured to display the first field of the first contact record and the second subset of the contact records while the current time of day remains within the first time range.
32. The contact information display system as in claim 30, wherein time of day information associated with a second field of the first contact record specifies a second time range during which display of the second field is to occur and the display module is configured to display the second field of the first contact record when the current time of day is within the second time range, the second time range being different than the first time range.
33. The contact information display system as in claim 32, wherein the display module is configured to display the second field of the first contact record and the second subset of the contact records while the current time of day remains within the second time range.
34. The contact information display system as in claim 29, wherein the information management module is configured to determine unavailability of a person represented by a first contact record in the first subset of contact records; and
wherein the display module is configured to display at least a portion of the first contact record less prominently due to the unavailability of the person represented by the first contact record, the first contact record associated with time of day information indicating display of at least the portion of the first contact record to occur during the current time of day.
35. The contact information display system as in claim 34, wherein the information management module is configured to determine the unavailability of the person by comparing the first contact record and a calendar record indicating at least one event during which the person represented by the first contact record is unavailable
36. The contact information display system as in claim 29, wherein the storage device is configured to store a first contact record in first subset of contact records, the first contact record including first time of day information associated with a first field of the first contact record and second time of day information associated with a second field of the first contact record.
37. A non-transitory computer-readable medium having instructions stored thereon, the instructions comprising:
instructions for storing a plurality of contact records on a mobile device, wherein each of the plurality of contact records is associated with a contact and includes a name associated with the contact and contact information associated with the contact, wherein the plurality of the contact records comprises a first subset of contact records, and the contact information of each contact record included in the first subset of contact records includes time of day information indicating when at least a portion of a respective contact record is to be displayed;
instructions for determining a current time of day;
instructions for comparing the current time of day with the time of day information associated with the first subset of contact records;
instructions for identifying a second subset of the contact records that are to be always displayed independent of the current time of day; and
instructions for displaying the contact records on a display, such that the second subset of the contact records is displayed independent of the current time of day and the first subset of the contact records are displayed based on a comparison between the current time of day and the time of day information associated with the first subset of contact records.
38. The non-transitory computer-readable medium as in claim 37, wherein time of day information associated with a first field of a first contact record in the first subset of contact records specifies a first time range during which display of the first field is to occur, wherein the instructions for displaying the contact records on the display comprise:
instructions for displaying the first field of the first contact record when the current time of day is within the first time range.
39. The non-transitory computer-readable medium as in claim 38, wherein the instructions for displaying the contact records on the display further comprise:
instructions for displaying the first field of the first contact record and the second subset of the contact records while the current time of day remains within the first time range.
40. The non-transitory computer-readable medium as in claim 38, wherein time of day information associated with a second field of the first contact record specifies a second time range during which display of the second field is to occur, wherein the instructions for displaying the contact records on the display comprise:
instructions for displaying the second field of the first contact record when the current time of day is within the second time range, wherein the second time range is different than the first time range.
41. The non-transitory computer-readable medium as in claim 40, wherein the instructions for displaying the contact records on the display comprise:
instructions for displaying the second field of the first contact record and the second subset of the contact records while the current time of day remains within the second time range.
US13/407,014 2007-01-19 2012-02-28 Method of Displaying Contact Information Abandoned US20130157696A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US13/407,014 US20130157696A1 (en) 2007-01-19 2012-02-28 Method of Displaying Contact Information

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/624,935 US8150422B2 (en) 2007-01-19 2007-01-19 Method of displaying contact information
US13/407,014 US20130157696A1 (en) 2007-01-19 2012-02-28 Method of Displaying Contact Information

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US11/624,935 Continuation US8150422B2 (en) 2007-01-19 2007-01-19 Method of displaying contact information

Publications (1)

Publication Number Publication Date
US20130157696A1 true US20130157696A1 (en) 2013-06-20

Family

ID=39641765

Family Applications (2)

Application Number Title Priority Date Filing Date
US11/624,935 Active 2029-08-06 US8150422B2 (en) 2007-01-19 2007-01-19 Method of displaying contact information
US13/407,014 Abandoned US20130157696A1 (en) 2007-01-19 2012-02-28 Method of Displaying Contact Information

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US11/624,935 Active 2029-08-06 US8150422B2 (en) 2007-01-19 2007-01-19 Method of displaying contact information

Country Status (1)

Country Link
US (2) US8150422B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104601772A (en) * 2014-12-08 2015-05-06 合肥联宝信息技术有限公司 Method and device for searching contacts of mobile terminal

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8515490B2 (en) * 2004-12-30 2013-08-20 Alcatel Lucent Method and apparatus for providing same session switchover between end-user terminals
CA2612645C (en) * 2006-12-22 2011-05-24 Bce Inc. Method and system for configuring information regarding processing of calls involving a party
US20080280600A1 (en) * 2007-05-08 2008-11-13 Samsung Electronics Co., Ltd. Geographic Mobile Address Book
US20100093323A1 (en) * 2008-10-09 2010-04-15 Jacob Warren Kimbrell Interactive contact list with expanded attributes creating personality
KR101592943B1 (en) * 2008-12-11 2016-02-12 엘지전자 주식회사 Mobile Terminal And Method Of Managing Data Thereof
CA2647921C (en) 2008-12-24 2014-06-10 Bce Inc. Method and system for configuring a contact database associated with a user
US8660246B1 (en) * 2009-04-06 2014-02-25 Wendell Brown Method and apparatus for content presentation in association with a telephone call
US20110009159A1 (en) * 2009-07-10 2011-01-13 Hrvoje Muzina Method for capturing files with a portable electronic device
US9215735B2 (en) * 2010-03-03 2015-12-15 Modena Enterprises, Llc Systems and methods for initiating communications with contacts based on a communication specification
WO2013056738A1 (en) * 2011-10-20 2013-04-25 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for handling contacts
US9819753B2 (en) * 2011-12-02 2017-11-14 Location Labs, Inc. System and method for logging and reporting mobile device activity information
US9154901B2 (en) 2011-12-03 2015-10-06 Location Labs, Inc. System and method for disabling and enabling mobile device functional components
KR101890674B1 (en) * 2011-12-07 2018-08-22 엘지전자 주식회사 Mobile Terminal And Method For Controlling Operation Thereof
US8811579B2 (en) * 2011-12-27 2014-08-19 Motorola Mobility Llc Location aware speed dial on a communication device
US8954571B2 (en) 2012-01-13 2015-02-10 Wavemarket, Inc. System and method for implementing histogram controlled mobile devices
US9826525B2 (en) 2012-04-26 2017-11-21 Industrial Technology Research Institute Resource management method and apparatuses for device to device communications
US9489531B2 (en) 2012-05-13 2016-11-08 Location Labs, Inc. System and method for controlling access to electronic devices
US20130346347A1 (en) * 2012-06-22 2013-12-26 Google Inc. Method to Predict a Communicative Action that is Most Likely to be Executed Given a Context
CN103595846A (en) * 2012-08-17 2014-02-19 中兴通讯股份有限公司 Mobile terminal address list sorting method and system
US9137342B2 (en) * 2012-08-22 2015-09-15 Mitel Networks Corporation Automatic contact population
CN103974381A (en) * 2013-01-31 2014-08-06 鸿富锦精密工业(深圳)有限公司 Mobile device and channel scanning method thereof
US10560324B2 (en) 2013-03-15 2020-02-11 Location Labs, Inc. System and method for enabling user device control
US10447838B2 (en) 2014-04-03 2019-10-15 Location Labs, Inc. Telephone fraud management system and method
US10148805B2 (en) 2014-05-30 2018-12-04 Location Labs, Inc. System and method for mobile device control delegation
US20160063054A1 (en) * 2014-08-26 2016-03-03 Scott Thompson Method and system for crowd sourced contact database management
CN105100359A (en) * 2015-09-01 2015-11-25 联想(北京)有限公司 Communication record generation method, communication record generation system and communication electronic equipment
US20190090090A1 (en) * 2017-09-15 2019-03-21 Intel Corporation Proof of location using proximity records and distributed ledger

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050048930A1 (en) * 2003-08-25 2005-03-03 Nec Corporation Portable communication terminal and method, and computer program for portable communication terminal

Family Cites Families (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1993006444A1 (en) * 1991-09-24 1993-04-01 Nohmi Bosai Ltd. Pyroelectric element
US6269369B1 (en) 1997-11-02 2001-07-31 Amazon.Com Holdings, Inc. Networked personal contact manager
US6219694B1 (en) 1998-05-29 2001-04-17 Research In Motion Limited System and method for pushing information from a host system to a mobile data communication device having a shared electronic address
US6101480A (en) 1998-06-19 2000-08-08 International Business Machines Electronic calendar with group scheduling and automated scheduling techniques for coordinating conflicting schedules
JP3654773B2 (en) 1998-07-08 2005-06-02 富士通株式会社 Information exchange method, information management distribution device, information management device, information distribution device, computer readable recording medium recording information management distribution program, computer readable recording medium recording information management program, and information distribution program Computer-readable recording medium
WO2000022551A1 (en) 1998-10-13 2000-04-20 Chris Cheah Method and system for controlled distribution of information over a network
US6883000B1 (en) 1999-02-12 2005-04-19 Robert L. Gropper Business card and contact management system
US6385591B1 (en) 1999-05-11 2002-05-07 Jeffrey W. Mankoff Method and system for electronic organization of coupons
US6529724B1 (en) 1999-10-26 2003-03-04 Qualcomm Incorporated System and method for managing contact information based on use of a communications device
US6728886B1 (en) 1999-12-01 2004-04-27 Trend Micro Incorporated Distributed virus scanning arrangements and methods therefor
DE60021761T2 (en) 1999-12-08 2006-03-30 Flatwire, Inc. SYSTEM FOR STORING AND PROVIDING MOBILE COMMUNICATIONS ADDRESS INFORMATION
US6873841B1 (en) 1999-12-16 2005-03-29 Koninklijke Philips Electronics N.V. Shared address-data service for personal CE equipment
AU2001288733A1 (en) 2000-09-08 2002-03-22 United States Postal Service Systems and methods for soliciting secondary information while maintaining access to primary information
US7289614B1 (en) * 2000-09-29 2007-10-30 Palmsource, Inc. Making a call from an address list or a call history list
US20030050045A1 (en) 2001-09-12 2003-03-13 Kennedy Peter J. Wirelessly assisted contact information method
US20030084331A1 (en) 2001-10-26 2003-05-01 Microsoft Corporation Method for providing user authentication/authorization and distributed firewall utilizing same
US20030119561A1 (en) * 2001-12-21 2003-06-26 Richard Hatch Electronic device
US8019317B2 (en) 2002-04-12 2011-09-13 Thomson Licensing Simultaneous nationwide update of database information on mobile communications devices
FI20021213A0 (en) 2002-06-20 2002-06-20 Nokia Corp Method and apparatus for mobile telecommunications
US6956942B2 (en) 2002-09-18 2005-10-18 Sbc Properties, L.P. Multi-modal address book
US20040068572A1 (en) 2002-10-04 2004-04-08 Zhixue Wu Methods and systems for communicating over a client-server network
US7426382B2 (en) 2002-10-09 2008-09-16 Motorola, Inc. Contact validation and trusted contact updating in mobile wireless communications devices
US7116996B2 (en) 2002-10-17 2006-10-03 Cingular Wireless Ii, Llc Providing contact data in a wireless telecommunication system
US20040120316A1 (en) 2002-12-18 2004-06-24 Mccormack Tony Routing of web-based contacts
CN1778125A (en) * 2002-12-27 2006-05-24 诺基亚公司 Position-based service for mobile communication terminal
US20040199921A1 (en) 2003-02-28 2004-10-07 United Parcel Service Of America, Inc. Import of contact data from personal information manager software into application
WO2004102858A2 (en) 2003-05-13 2004-11-25 Cohen Hunter C Deriving contact information from emails
US7403785B2 (en) * 2003-06-17 2008-07-22 International Business Machines Corporation Consolidating online privacy preferences
US6973299B2 (en) 2003-08-01 2005-12-06 Microsoft Corporation Unified contact list
AU2004302220A1 (en) 2003-08-08 2005-02-17 Telecommunication Systems, Inc. Method and system for collecting synchronizing and reporting telecommunication call events and work flow related information
US7849103B2 (en) 2003-09-10 2010-12-07 West Services, Inc. Relationship collaboration system
WO2005060228A1 (en) 2003-12-15 2005-06-30 Vazu, Inc. Method and system for transferring contact information from a web search to a wireless device
US7177597B2 (en) 2003-12-22 2007-02-13 Nokia Corporation System and method for assigning contact information to an external device for communication purposes using a mobile device
US7398081B2 (en) * 2004-02-04 2008-07-08 Modu Ltd. Device and system for selective wireless communication with contact list memory
US20050208930A1 (en) * 2004-03-05 2005-09-22 Robert Zmrzli Method and apparatus for arranging network content on mobile devices
WO2005122733A2 (en) 2004-06-09 2005-12-29 James Bergin Systems and methods for management of contact information
US8965457B2 (en) * 2004-08-09 2015-02-24 Blackberry Limited Method and apparatus for controlling an electronic device display for presenting information on said display
US20060111975A1 (en) 2004-08-12 2006-05-25 Fowler James F System to solicit unknown corporate data
KR100698112B1 (en) * 2004-09-08 2007-03-26 엘지전자 주식회사 A Push-To-Talk service system via LBS function and the method thereof
JP4855697B2 (en) * 2005-03-17 2012-01-18 京セラ株式会社 Mobile phone
KR20080030086A (en) * 2005-07-07 2008-04-03 퀄컴 인코포레이티드 Method and apparatus for providing location information
KR100677487B1 (en) * 2005-09-02 2007-02-02 엘지전자 주식회사 Method for providing caller information of mobile communication terminal
US7620404B2 (en) * 2005-12-22 2009-11-17 Pascal Chesnais Methods and apparatus for organizing and presenting contact information in a mobile communication system
US8036677B2 (en) * 2006-01-31 2011-10-11 Kyocera Corporation System and method for locating a phone user
US7894859B2 (en) * 2006-03-13 2011-02-22 Alcatel-Lucent Usa Inc. Privacy protection in network-based phonebooks
US20070287474A1 (en) * 2006-03-28 2007-12-13 Clarity Communication Systems, Inc. Method and system for location based communication service
US7570959B2 (en) * 2006-04-19 2009-08-04 Nokia Corporation Apparatus, method and computer program product providing location-enhanced contact list
CN101449564A (en) * 2006-05-23 2009-06-03 诺基亚公司 Mobile communication terminal with enhanced phone book management
US20070276739A1 (en) 2006-05-23 2007-11-29 Microsoft Corporation Intermediary for Multiple Sales Channels
US8571580B2 (en) * 2006-06-01 2013-10-29 Loopt Llc. Displaying the location of individuals on an interactive map display on a mobile communication device
US9781071B2 (en) * 2006-06-28 2017-10-03 Nokia Technologies Oy Method, apparatus and computer program product for providing automatic delivery of information to a terminal
US20080132243A1 (en) * 2006-11-30 2008-06-05 Sony Ericsson Mobile Communications Ab Device and method for providing location information on a portable mobile communications device
US8190174B2 (en) * 2006-12-22 2012-05-29 Verizon Patent And Licensing Inc. Method, system, and computer program product for providing location based services
US9413866B2 (en) * 2006-12-29 2016-08-09 Nokia Technologies Oy Intelligent phone book
US20080167944A1 (en) 2007-01-09 2008-07-10 I4 Commerce Inc. Method and system for determining transactional data between a consumer and a merchant engaged in a purchase transaction

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050048930A1 (en) * 2003-08-25 2005-03-03 Nec Corporation Portable communication terminal and method, and computer program for portable communication terminal

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104601772A (en) * 2014-12-08 2015-05-06 合肥联宝信息技术有限公司 Method and device for searching contacts of mobile terminal

Also Published As

Publication number Publication date
US8150422B2 (en) 2012-04-03
US20080176585A1 (en) 2008-07-24

Similar Documents

Publication Publication Date Title
US8150422B2 (en) Method of displaying contact information
US20080177796A1 (en) Method of Distributing Contact Information to Merchant Websites
US8346307B2 (en) Method of displaying contact information
US20080177797A1 (en) Method of Updating Contact Information on Merchant Websites
US8417675B2 (en) Method of distributing contact and calendar records
US9165125B2 (en) Distribution of dynamic structured content
US10083189B2 (en) Systems and methods for management of contact information
US9049203B2 (en) Systems and methods for dynamically generating a privacy summary
US8595316B2 (en) Method and apparatus for managing shared data at a portable electronic device of a first entity
US20110029638A1 (en) Automatic Population of a Contact File with Contact Content and Expression Content
US20090143052A1 (en) Systems and methods for personal information management and contact picture synchronization and distribution
JP7118662B2 (en) computer readable recording medium
US10073904B2 (en) Event triggered service for the lightweight directory access protocol
US20070162322A1 (en) Social calendar
US8473457B2 (en) Method of distributing contact and calendar records
US20070106548A1 (en) Internet based calendar system linking all parties relevant to the automated maintenance of scheduled events
US20170337569A1 (en) User Active Lead Management System and Uses Thereof
WO2011050714A1 (en) Method and system for maintaining multi-dimensional relevant information related to contacts in address book
US20080195627A1 (en) System and method for managing databases associated with respective personal information manager service accounts
EP1956499A1 (en) System and method for managing databases associated with respective personal information manager service accounts
KR100500136B1 (en) Method for managing private community information
WO2018161105A1 (en) Shared contextual data transfer between preconfigured location devices
KR101958776B1 (en) A METHOD FOR for CREATING, UTILIZING, APPLYING AND TRANSFERRING Group OF Objects IN A COMMUNICATION DEVICE AND A REMOTE DEVICE
EP1868148B1 (en) Method and apparatus for folder synchronization and management
CA2771955C (en) Method and apparatus for folder synchronization and management

Legal Events

Date Code Title Description
AS Assignment

Owner name: TECHNOLOGY, PATENTS & LICENSING, INC., PENNSYLVANI

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ELDERING, CHARLES A.;REEL/FRAME:027927/0925

Effective date: 20070127

Owner name: TEPA DATASOLUTIONS CO.,LLC, DELAWARE

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:TECHNOLOGY, PATENTS & LICENSING, INC.;REEL/FRAME:027928/0257

Effective date: 20070824

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION