Abstract:
The present invention provides methods and apparatus for storing information in a computer system, and for retrieving the information from the computer system. More specifically, the present invention provides methods and apparatus for storing and retrieving business contact information, including dynamic business cards in an internet-accessible database of a computer system. In one general aspect, the invention features an information management method. The information management method includes steps of assigning a first user a unique user identification number, storing information related to the first user in a remote database operatively coupled to a remote computer, and enabling a second user to access the remote database over a network using a second computer to retrieve the information related to the first user by entering the unique user identification number.

Description:
Related Application  
       [0001]     This application is a continuation of patent application U.S. Ser. No. 10/657,757, filed Sep. 8, 2003, which is a continuation of and claims priority to U.S. Ser. No. 09/223,129, filed Dec. 30, 1998, which claims priority to U.S. Ser. No. 60/102,614, filed Oct. 1, 1998 (Abandoned), each of which are incorporated herein by reference. 
     
    
     FIELD OF THE INVENTION  
       [0002]     Embodiments of the present invention are directed generally to a method and an apparatus for storing information in a computer system, and for retrieving the information from the computer system. More specifically, embodiments of the present invention are directed to a method and apparatus for storing and retrieving business contact information in an internet-accessible database of a computer system.  
       BACKGROUND OF THE INVENTION  
       [0003]     The use of business cards is widespread in virtually all industries and professions, and the problem of efficiently organizing business cards can be appreciated by most people. Various solutions have been presented for solving this problem. These solutions include manual schemes in which business cards are organized in a binder, a notebook or some similar apparatus. Prior art solutions also include computer-based systems wherein information on a business card is scanned into a computer and stored in a database in the computer. While these solutions offer some help in relieving the organization problem associated with business cards, it is desirable to provide a more efficient, easy to use system of organizing business cards.  
         [0004]     A second problem associated with the use of business cards is that the information contained on business cards can not typically be updated once a card has been distributed. In today&#39;s fast-paced business world, it is not uncommon for the information on a person&#39;s business card to change frequently. It is desirable to provide a system for organizing business cards that allows information contained on the business cards to be periodically updated.  
       SUMMARY OF THE INVENTION  
       [0005]     Embodiments of the present invention provide systems and methods for organizing and updating business cards that overcome the problems associated with business cards described above.  
         [0006]     In one general aspect, the invention features an information management method. The information management method includes steps of assigning a first user a unique user identification number, storing information related to the first user in a remote database operatively coupled to a remote computer, and enabling a second user to access the remote database over a network using a second computer to retrieve the information related to the first user by entering the unique user identification number.  
         [0007]     The step of assigning can include a step of providing the first user with a bar code representation of the unique user identification number. The method can further include a step of printing characters representative of the unique user identification number on a document, and the document can be a business card. The step of printing can include a step of printing the bar code on the document. The method can further include steps of establishing a second database of user information in the second computer, and updating information in the second database of the second computer by accessing information in the remote database. The second computer can access the remote computer over the internet. The method can further include a step of enabling the first user to access the remote computer over a network using a first computer to edit the information related to the first user stored in the remote database.  
         [0008]     In another general aspect, the invention features an information management system. The information management system includes a remote computer, a remote database operatively coupled to the remote computer, the remote database containing contact information for each of a plurality of users of the information management system, wherein each of the users is assigned a unique user identification number, and the information for each user is stored along with the unique user identification number of the user in the remote database. The remote computer includes a network interface module that interfaces with a network to allow users of the information management system to access the remote computer, a database interface module that coordinates transfer of data between the remote database and the remote computer, and an application module containing instructions to enable a network user to access the remote database over the network using a second network computer to retrieve information in the remote database related to a first user by entering the unique user identification number.  
         [0009]     The application module can further include instructions to provide the first user with a bar code representation of the unique user identification number. The network computer can include a second database, and the application module can include instructions to provide updating of information in the second database of the network computer with information in the remote database. The application module can include instructions to enable the first user to access the remote computer over the network using a first network computer to edit the information related to the first user stored in the remote database.  
         [0010]     In yet another general aspect, the invention features an information management system. The system includes means for assigning a first user a unique user identification number, means for storing information related to the first user in a remote database operatively coupled to a remote computer, and means for enabling a second user to access the first database over a network using a second network computer to retrieve the information related to the first user by entering the unique user identification number.  
         [0011]     The system can further include means for providing the first user with a bar code representation of the unique user identification number. The means for enabling can include means for updating information in a second database of the second network computer by accessing information in the remote database. The system can further include means for enabling the first user to access the remote computer over a network using a first network computer to edit the information related to the first user stored in the remote database. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0012]     For a better understanding of the present invention, reference is made to the drawings which are incorporated herein by reference and in which:  
         [0013]      FIG. 1  is a block diagram showing one embodiment of a computer system used in embodiments of the present invention;  
         [0014]      FIG. 2A  is a flow chart of a method in accordance with one embodiment of the present invention;  
         [0015]      FIG. 2B  is a block diagram demonstrating operation of the method of  FIG. 2A  in the computer system of  FIG. 1 .  
         [0016]      FIG. 3  is a diagram showing a business card used with embodiments of the present invention;  
         [0017]      FIGS. 4A-4C  show a flow chart of a registration process used in embodiments of the present invention;  
         [0018]      FIG. 5  is a flow chart of a process for establishing user preferences used in embodiments of the present invention;  
         [0019]      FIG. 6  is a flow chart of a login process used in embodiments of the present invention;  
         [0020]      FIG. 7  is a flow chart of a synchronization process used in embodiments of the present invention; and  
         [0021]      FIG. 8  is a flow chart of an account preferences subroutine used in the synchronization process of  FIG. 7 . 
     
    
     DETAILED DESCRIPTION  
       [0022]     Illustrative embodiments of the present invention, described below are directed to methods and systems for managing contact information, and in particular, business contact information such as that typically contained on a business card. However, embodiments of the present invention are not limited to methods and systems that manage business contact information, but rather, include methods and systems that manage other information as well.  
         [0023]     Embodiments of the present invention will now be described with reference to  FIGS. 1-3 .  FIG. 1  shows a computer system  10  functioning as a contact information management system in accordance with one embodiment of the present invention. The computer system  10  includes a first personal computer  12 , a second personal computer  14 , and a remote computer  16  coupled to a database  18 . The first computer and the second computer are coupled to the remote computer  16  over a network  20 . In one embodiment of the present invention, the network  20  includes the internet, and the remote computer includes a web server and is accessible over the internet. The remote computer has an assigned uniform resource locator (URL) to allow the personal computers to access the remote computer over the internet. In other embodiments, the first and second personal computers may be coupled to the remote computer over a private dedicated computer network or the first and second personal computers may access the remote computer over a standard telephone line using a modem.  
         [0024]     In one embodiment, the first computer  12  and the second computer  14  contain a web browser that enables the computers to access the remote computer over the internet using the URL of the web site, as is known in the art. In embodiments of the present invention, the web browsers may be implemented using one of several known internet browsers such as Navigator® available from Netscape Communications, Inc., preferably version 4.0 or higher, or Internet Explorer® available from Microsoft, Inc, preferably version 4.0 or higher.  
         [0025]     As shown in  FIG. 1 , the second personal computer includes a synchronizer  24  and a personal information manager (PIM)  26 . The PIM may be implemented using, for example, one of a number of personal information programs, such as such as Microsoft Outlook, Symantec&#39;s ACT! and 3COM&#39;s Pilot, that allow a user to maintain a database of contact information. The synchronizer may be implemented in embodiments of the present invention using software installed in the second computer. In embodiments of the present invention, the synchronizer may be implemented as a software utility downloadable over the internet from the remote computer  16 . The synchronizer provides synchronization of contact information in the PIM with contact information contained in the database  18 . In embodiments of the present invention, the first computer, as well as other computers coupled to the network  20 , may also include a synchronizer and a PIM. In addition, in one embodiment, the synchronizer may be located in the remote computer in addition to or in place of the synchronizer in the second computer. Also, the synchronizer may be integrated into available PIM software.  
         [0026]     A general method  100  in accordance with one embodiment of the present invention for operating the computer system  10  to implement a contact management system will now be described with reference to  FIGS. 2A and 2B . In a first step  110  of the method, a user (hereinafter User  1 ) of the first personal computer  12  accesses the remote computer over the internet to input business contact information of User  1  or other information that User  1  wishes to store in the database  18 . In response, in step  120 , the remote computer  16  establishes an account for User  1 , stores the contact information for User  1  in the database  18 , and provides a unique identification number for User  1 . In embodiments of the present invention, the database  18  may contain contact information for a number of users each of whom is assigned a unique identification number.  
         [0027]     In the next step  130 , User  1  (or a commercial printer selected by User  1 ) prints business cards for User  1  containing the unique identification number, and in step  140 , passes one of the business cards to a second user (hereinafter User  2 ). In one embodiment, in place of, or in addition to the unique identification number, a bar code, or some other code representative of the unique identification number, may be printed on the business card.  FIG. 3  shows a business card  30  used with embodiments of the present invention having a bar code  32 , representative of the identification number, printed on the back, and having the unique identification number  34 , identified as a OnePIN™ number, printed on the front and on the back. In embodiments of the present invention, the bar code  32  and/or the unique identification number  34  can be printed at other locations on the business card  30 .  
         [0028]     In one embodiment of the present invention, a 16 digit number and/or letter combination or any other symbol combination can be used for the unique identification number. The use of 16 digits for the identification numbers provides sufficient unique numbers to allow random assignment of numbers to users with low probability of an unauthorized user guessing the unique identification number of an authorized user. In other embodiments, identification numbers may have more or less digits than 16. In addition, in embodiments of the present invention one of a number of known check sum schemes is used as part of a verification procedure of identification numbers.  
         [0029]     In step  150  of the method  100 , User  2  enters the unique identification number of User  1  into the second computer  14 . User  2  can enter the unique identification number by typing the OnePIN™ number or by scanning the number into the synchronizer of the second personal computer using a wand, or some other bar code reader, coupled to the second personal computer  14 . User  2  also can type in or scan the OnePIN number into PIM. As discussed below, the identification number is stored in the synchronizer and in the PIM of the second personal computer. The synchronizer and the PIM may already contain identification numbers for users of the contact management system other than User  1 .  
         [0030]     In step  160 , the second personal computer  14  makes a request to the remote computer  16  for contact information corresponding to unique identification numbers contained in either the synchronizer or the personal information manager, and in step  170 , the remote computer  16  accesses the database  18  to retrieve data corresponding to the identification numbers contained in the request from User  2 . In step  180 , the information retrieved from the database  18  is sent from the remote computer  16  to the second personal computer  14 , wherein contact information for users corresponding to the unique identification numbers contained in the request in step  150  is updated in the PIM. The request provided in step  150  can be for contact information of User  1  or for contact information of several users, each of whom is identified by a unique identification number. Users that have been assigned identification numbers may access the database through the remote computer to edit the contact information contained for them in the web database at any time.  
         [0031]     In the embodiment of the present invention described above, the computer system  100  has only two users, as understood by those skilled in the art, other embodiments of the present invention may include computer systems having many more users than two, and the web database may contain contact information for a large numbers of users.  
         [0032]     The architecture of the computer system  10  in accordance with one embodiment of the present invention will now be described in further detail. The remote computer  16  includes a web server  21  to provide access to the internet and includes a database server  23  to provide access to the database  18 . The remote computer also includes application specific software modules  25  that implement functions of the computer system  10  in conjunction with the web server and the database server. The web server  21 , the database server  23 , and the software modules  25  may be contained within one computer or may be installed in separate networked computers that together comprise the remote computer  16 . In a preferred embodiment, the operating system used for the computer or computers comprising the remote computer is Microsoft&#39;s Windows NT® operating system. In this preferred embodiment, the web server is implemented using Microsoft&#39;s Internet Information Server (IIS), version 4.0 or higher, and the database server is implemented using Microsoft&#39;s SQL Server, version 6.5 or higher. The web server includes application specific Active Server Pages to implement functionality of systems and methods of the present invention. In addition, in this preferred embodiment, the software modules  25  contain software code written in object oriented programming paradigm. In one embodiment, this includes an n-tiered architecture with a database layer including interfaces and stored procedures; a middle ware layer including MS Com models, JAVABEANS, and third party languages; and a client interface layer using Javascript, DHTML, PEAR and ASP.  
         [0033]     The steps of method  100  described above, as well as additional functions that may be implemented in contact information management methods and systems of the present invention, will now be described in further detail.  FIGS. 4A-4C  provide a flow chart of a registration procedure  200  of the remote computer  16  that allows a user, such as User  1 , to register with a contact information management system of the present invention. In a first step  202  of the procedure  200 , the system asks the user to provide a registration type. In embodiments of the invention, a variety of registration types may be used to distinguish a number of different services and/or payment plans that are available to users. For example, in one embodiment, there are different registration types for professionals, corporations, individuals, and children.  
         [0034]     After the user selects a registration type, in step  204 , the system asks the user to input contact data. The contact data includes, for example, the user&#39;s name, telephone numbers, facsimile numbers, pager number, home address, business address, employer, title, E-mail address, and any other information the user wishes to make available to other users of the contact information management system. Once the contact information is entered, then in step  206  the system attempts to determine whether the user has previously registered with the system. In one embodiment, the system makes this determination by scanning the database for names matching that input by the user, and if any matching names are found, the system compares the e-mail address of the user with the matching name with that input by the user to determine if a duplicate entry has been made. If the system determines that a duplicate entry has been made, then the registration process  200  terminates and the system performs a user verification process.  
         [0035]     The user verification process allows a prior-registered user who has forgotten his/her password to verify their identify and change their password. In one embodiment, the user is requested to enter either their mother&#39;s maiden name or the last four digits of their social security number to verify their identity. Once their identity has been verified, the user is allowed to change their password. The user verification process allows users who have forgotten their passwords to access the system without creating unwanted, and memory consuming duplicate entries.  
         [0036]     If in step  206  a duplicate entry is not found, then in step  208 , the user is asked to establish a password, selected by the user, by entering the password twice. In step  210 , the system determines whether the user entered the same password twice. If the outcome of step  210  is “NO”, then in step  212 , a warning message is provided to the user and the process then returns to step  208 . If the outcome of step  210  is “YES”, then the password entered by the user is assigned to the user.  
         [0037]     The process continues with step  214 , wherein account preferences are established for the user. In one embodiment, account preferences are established using a process  300  which will now be described with reference to  FIG. 5 . In a first step  302  of the process  300 , the system queries the user as to whether the user wishes to allow public access to the user&#39;s contact information. If the response to the query in step  302  is “NO”, then a private access flag is set on for the user in step  304 , and the process continues with step  306 . If the response to the query in step  302  is “YES” then process  300  proceeds directly to step  306 .  
         [0038]     In step  306 , the system queries whether the user wishes to allow access to the user&#39;s contact information by all registered users of the contact management system. If the response to the query in step  306  is “NO”, then a limited access flag is set on for the user in step  308 , and in step  310 , the user is asked to enter a list of identification numbers of privileged users that will be allowed access to the user&#39;s contact information. Process  300  then continues with step  312 . If the response to the query in step  306  is “YES” then process  300  proceeds directly to step  312 .  
         [0039]     In step  312 , the system queries whether the user wishes to block access to the user&#39;s contact information by any specific registered users. If the response to the query in step  312  is “YES”, then a blocked access flag is set on for the user in step  314 , and in step  316 , the user is asked to enter a list of identification numbers of blocked users that will be denied access to the user&#39;s contact information by the system. Process  300  then continues with step  318 . If the response to the query in step  306  is “NO” then process  300  proceeds directly to step  318 .  
         [0040]     In step  318  of process  300 , the system queries whether the user wishes to allow other users to search for his account to receive contact information using the user&#39;s unique identification number. If the response to the query in step  318  is “NO”, then in step  320 , a “no-search by ID” flag is set indicating that the user&#39;s account is not retrievable using an identification number search, and the process continues with step  322 . If the response to the query in step  318  is “YES” then process  300  proceeds directly to step  322 .  
         [0041]     In step  322  of process  300  , the system queries whether the user wishes to allow other users to search for the user&#39;s account to retrieve contact information using the user&#39;s name. If the response to the query in step  322  is “NO”, then in step  324 , a “no-search by name” flag is set indicating that the user&#39;s account is not retrievable using a name search, and process  300  ends. If the response to the query in step  318  is “YES”then process  300  ends. As understood by one skilled in the art, in step  214  of process  200 , account preferences may be set for a user using a process other than process  300 . Further, in other embodiments, users may be requested to select other preferences, either in addition to or in place of, the preferences selected in process  300 .  
         [0042]     After the user&#39;s account preferences are set in step  214  of process  200 , a unique identification number is assigned for the user in step  216 . In one embodiment, the unique identification number is assigned by randomly selecting an identification number from a pool of available identification numbers. After an identification number is assigned to a user, it is removed from the pool of available identification numbers. As discussed above, in one embodiment, the pool of available identification numbers includes 16 digit numbers that satisfy a check sum criteria.  
         [0043]     Process  200  continues with step  218 , wherein the system displays an account profile of the user. In one embodiment, the account profile includes a listing of the account preferences selected by the user and the user&#39;s unique identification number. Next, in step  220 , the user is asked if the profile is acceptable. If the response to step  220  is “YES”, then the process continues on with step  222 . If the response to step  220  is “NO”, then the process  200  returns to step  214  to allow the user to input new account preferences.  
         [0044]     In step  222  of process  200 , the system displays billing information for the user, and in step  224 , the user is asked if the billing information is acceptable. In one embodiment, the billing information displayed in step  222  includes customized billing information for the user based on the type of registration selected in step  202  and based on the account preferences selected by the user. In step  224 , the user is asked to accept charges for use of the contact information management system based on the billing information displayed in step  222 . If the outcome of step  224  is “YES”, then in step  226 , the user is requested to provide information for a credit card to be used by the user to pay the charges. If the outcome of step  224  is “NO”, then in step  223 , the user is asked if they would like to exit the system. If the outcome of step  223  is “NO”, then the process returns to step  222 . If the outcome of step  223  is “YES”, then in step  225 , the entry for the user is deleted, and in step  225 , the process ends.  
         [0045]     In step  228 , the system determines whether the credit card is valid using one of a number of known procedures. If the outcome of step  228  is “NO,” indicating that the credit card is not valid, then in step  230  a warning indicating invalid card entry is displayed, and process  200  returns to step  226 . In one embodiment, after a predetermined number of unsuccessful attempts by a user to enter a valid credit card number, process  200  ends. If the outcome of step  228  is “YES,” indicating that the credit card entered is valid, then the process  200  continues with step  232 , wherein the charges are applied to the user&#39;s credit card. The system then displays a message “receipt E-mailed” and sends an E-mail to the user to provide a receipt of the credit card transaction.  
         [0046]     Next, in step  236  of process  200 , the system generates a display to ask if the user would like a file containing a bar code corresponding to the user&#39;s assigned unique identification number to be downloaded to the user&#39;s computer. If the response to the query in step  236  is “YES,” then in step  238 , the system creates and downloads to the user&#39;s computer a file containing the bar code. In one embodiment, the file containing the bar code is an encapsulated postscript file, however, other file formats could be used as well. After downloading the file, process  200  proceeds to step  240 . If the response to the query in step  236  is “NO,” then the process continues with step  240 , wherein a message “REGISTRATION COMPLETED” is displayed . Process  200  terminates after step  240 .  
         [0047]     After a user has registered with contact information management systems of the present invention, the user can subsequently access the remote computer  16  to edit the contact data stored for the user or to check on account activity for the user&#39;s account established with the contact information management system. A process  400  for accessing the remote computer  16  in accordance with one embodiment of the present invention will now be described with reference to  FIG. 6 . In a first step  402  of the process  400 , the user is asked to input the user&#39;s name and password. Next in step  404 , the system verifies the name and password of the user. If the output of step  404  is “NO,” indicating that the system was not able to verify the entered name and password, then in step  406 , the system generates a display “WRONG ENTRY.” The process  400  then returns to step  402 . If the output of step  404  is “YES,” indicating that the system was able to verify the entered name and password, then the process continues with step  408 .  
         [0048]     In step  408 , the system displays a profile for the user. In one embodiment, the information displayed in step  408  is the same as that displayed in step  218  of process  200 . The system then queries whether the user would like to check account activity in step  410 . If the response to the query in step  410  is “YES,” then in step  416 , the system displays a list showing dates of access to the user&#39;s contact data by other users of the contact information management system. The process  400  then continues with step  412 .  
         [0049]     If the response to the query in step  410  is “NO,” then the process  400  proceeds with step  412 . In step  412 , the system queries whether the user would like to change the user&#39;s profile. If the response to the query in step  412  is “YES,” then in step  414 , the user repeats portions of the registration process  200  to change profile data of the user. If the response to the query in step  412  is “NO,” then process  400  ends.  
         [0050]     The operation of the synchronizer in the second personal computer  14  of the computer system  10  will now be further described with reference to  FIG. 7  which shows a flow chart of a synchronization process  500 . The synchronization process  500  allows a user (User  2 ) to obtain and update data for registered users of the contact management system using the unique identification numbers of the registered users.  
         [0051]     In a first step  510  of the process  500  a user identification number of User  1  is input into the synchronizer of the second computer. As described above, the identification number can be input into the synchronizer using a bar code reader, by typing the number in using a keyboard, or using other data entry techniques. In step  520 , the synchronizer determines whether a valid identification number has been entered into the synchronizer. As discussed above, in some embodiments of the present invention, a check sum scheme is used for the identification numbers, and this scheme can be used in step  520  to verify numbers entered. If the outcome of step  520  is “NO” indicating that the number entered is not a valid identification number, then in step  522  an error message is displayed, and the process returns to step  510 .  
         [0052]     If the outcome of step  520  is “YES”, then the process  500  continues with step  524 , wherein the system checks whether the identification number entered into the system is already stored in a synchronizer list in the synchronizer. If the outcome of step  524  is “YES,” then in step  526  a warning message is displayed, and the process returns to step  520 . If the outcome of step  524  is “NO,” then in step  528 , the identification number is added to the synchronization list.  
         [0053]     The synchronizer then connects to the database through the remote computer to obtain contact information of User  1  and to update contact information of other users whose identification number is contained in the synchronizer list. Next, in step  532 , the synchronizer selects one identification number from the synchronizer list, and in step  534 , an account preferences subroutine is conducted for the identification number selected in step  532 . The account preferences routine reviews preferences established by the user corresponding to the identification number selected in step  532  to determine whether User  2  should be allowed access to the contact information. One embodiment of an account preferences subroutine  600  used with process  500  will now be described with reference to  FIG. 8 .  
         [0054]     In a first step  602  of the process  600 , a determination is made as to whether the private access flag has been set on for the identification number. If the outcome of step  602  is “YES,” then in step  604 , a determination is made as to whether User  2  is a registered member of the contact information management system. If the outcome of step  604  is “NO,” then the process  600  proceeds to step  606 , wherein a message “Requested Data is not Available” is sent to User  2 . Process  600  then returns to step  538  of process  500 . If the outcome of step  604  is “YES,” or if the outcome of step  602  is “NO,” then the process  600  continues with step  608 .  
         [0055]     In step  608 , a determination is made as to whether the limited access flag has been set on for the identification number. If the outcome of step  608  is “YES,” then in step  610 , a determination is made as to whether User  2  is on an access list established by User  1 . If the outcome of step  610  is “NO,” then the process  600  proceeds to step  612 , wherein a message “Requested Data is not Available” is sent to User  2 . Process  600  then returns to step  538  of process  500 . If the outcome of step  610  is “YES,” or if the outcome of step  608  is “NO,” then the process  600  continues with step  614 .  
         [0056]     In step  614 , a determination is made as to whether the blocked access flag has been set on for the identification number. If the outcome of step  614  is “YES,” then in step  616 , a determination is made as to whether User  2  is on a blocked access list established by User  1 . If the outcome of step  616  is “YES,” then the process  600  proceeds to step  618 , wherein a message “Requested Data is not Available” is sent to User  2 . Process  600  then returns to step  538  of process  500 . If the outcome of either step  614  or step  616  is “NO,” then the process  600  ends and process  500  continues with step  536 .  
         [0057]     In step  536  of process  500 , contact information for the user corresponding to the identification number selected in step  532  is downloaded to the second computer wherein it is stored in the PIM of the second computer. Next, in step  538 , the process returns to step  532  wherein a next identification number in the synchronizer list is selected. Process  500  continues with steps  532  to  538  until contact information for all identification numbers in the synchronizer list has been downloaded to the second computer. In one embodiment of the present invention, a copy of all unique numbers in the synchronizer may also be stored in the remote database and be accessible by User  2  through an “Account Login” screen of the remote computer. This allows User  2  to access the remote computer and remote database from a computer other than the second computer to obtain contact information.  
         [0058]     In some embodiments of the present invention, both the synchronizer and the database maintain an update log indicating the last time that contact information for a user has been updated. The update log in the database indicates the last time that the user edited his contact information in the database, and the update log in the synchronizer indicates the last time that the contact information in the PIM for the user has been updated. In these embodiments, contact information for a first user is not updated in the PIM of a second user unless the date in the update log of the database is more recent than the date in the update log of the synchronizer of the second user.  
         [0059]     In embodiments of the present invention, users can utilize the synchronizer to periodically update contact information in the PIM. In one embodiment, the synchronizer is configured to automatically contact the remote computer and database on a periodic basis to update information in the PIM. In this embodiment, the synchronizer can access the remote computer over the internet using the web browser in the personal computer in a manner that is substantially transparent to a user of the personal computer.  
         [0060]     Embodiments of the present invention discussed above provide an electronic personal contact information management system that allows users of the system to easily maintain up-to-date contact information on other users of the system. In embodiments of the present invention described above, a user of the system uses business cards having the user&#39;s unique identification number encoded thereon to pass the user&#39;s unique identification number to other users. In other embodiments, the user&#39;s unique identification number may be contained on documents other than business cards such as on letterhead for the user&#39;s business or on a user&#39;s resume, and may also be contained within e-mails and other electronic documents such as a vcard. In other embodiments, identification numbers may be used in management systems of the present invention to manage the ordering of replacement parts in industries such as the automotive industry. In still other embodiments, known numbering systems, such as the ISDN numbering scheme used to identify books, may be used with systems of the present invention to allow users to update information related to books or other items.  
         [0061]     The methods and systems of embodiments of the present invention described above allow users to communicate business contact information to other users. Other embodiments of the present invention may be used in a similar manner to allow users to communicate personal contact information to friends and acquaintances. In still other embodiments, businesses may use contact information systems of the present invention to provide customers, vendors, or others with contact information regarding a particular position within the business. For example, a unique identification number may be assigned to a business&#39;s sales manager, and the unique identification number may be included on the sales manager&#39;s business card. Customers of the business may include the identification number of the sales manager in a synchronizer and/or PIM as described above and the customers can receive and update contact information of the sales manager. If a new sales manager is appointed by the company to replace the existing sales manager, then the contact information for the sales manager position in the system database can be updated to include the new sales manager&#39;s name. The name of the sales manager in the customer&#39;s PIM will be updated upon the next synchronization by the customer with the system database.  
         [0062]     Having thus described at least one illustrative embodiment of the invention, various alterations, modifications and improvements will readily occur to those skilled in the art. Such alterations, modifications and improvements are intended to be within the scope and spirit of the invention. Accordingly, the foregoing description is by way of example only and is not intended as limiting. The invention&#39;s limit is defined only in the following claims and the equivalents thereto.