Abstract: A system comprising a CRAL and one or more clients (Personal Computers, laptops, mobile devices, etc.) for inputting, storing, updating and exchanging contact information. The clients are enabled to detect the changes in at least some of the contact information and transmit them to the CRAL. The clients may receive the changed contact information from acquaintances and update the applications which use the contact information (email clients, phone books, hosted address books, etc.) accordingly. [0069] Fig 1
[001] Field of the Invention
[002] The present disclosure relates generally to communications and specifically to exchanging and updating contact information.
[003] 1. Background Information
[004] Contact information refers to information such as Name, Address, Organization, Designation, Email Address(es), Contact Number(s), website address, GIS Location, etc. of a person (referred to as a contact), which are used by others (named acquaintances in this disclosure) to communicate with the person. Typically, when two persons meet, they may exchange the contact details through exchange of cards printed with the contact details. Such cards are generally known as business cards. Business cards may contain additional information such as the nature of business of the person/organization, products/services offered, etc.
[005] Generally, the persons who receive the business cards sort and store them so that the information is easily accessible. For this, they may be filed away in business card holders, stored in applications/databases which may be on local computers, servers on a network, online, etc. by entering the information from the business cards manually or by scanning the business cards and converting to text using appropriate applications.
[006] However, the contact information may change for many reasons. The contact may move to a new responsibility in the organization or may move to a new location or may change the job, change the service provider for telephone/mobile/email services etc. It is apparent that keeping track of all the changes is tedious and extremely difficult. As and when the changes of contact information of acquaintances is noticed, the contact may update the data manually, which may be time consuming. In many cases, the changes may not come to the notice of the contact.
[007] It is important that updated contact information be available at all times so that communications can take place with the intended contacts. This may become critical for business and many non-business interactions. There are many applications which store and keep track of changes in the contact information of acquaintances. Whenever changes to the contact information are updated by a contact, all the acquaintances who have been allowed by the contact to access the contact information may be intimated of the changes through various communication methods such as email, Short Messaging Service (SMS), etc. The acquaintances may also be allowed to access the updated information, for example over a network of computers or over a mobile telephony system.
[008] However, they have to manually update the contact information in applications which use the contact information (running on desktops, handhelds, mobile phones, etc.); for example email programs such as Microsoft Outlook, Outlook Express, thunderbird, etc, a phonebook on a mobile phone, hosted contact book provided by MSN Messenger, Yahoo Messenger, GoogleTalk, Skype, etc. It is desirable that the updated contact information be available to applications which use the contact information, without the necessity to manually update the information in each of the applications.
Brief Description of the Drawings
[009] Example embodiments will be described with reference to the following accompanying drawings, which are described briefly below.
[0010] Figure 1 is a block diagram illustrating an example environment in which various aspects of the present invention may be implemented.
[0011] Figure 2A is a flowchart illustrating the manner in which the changes in some of the contact details may be detected and updated, in an embodiment.
[0012] Figure 2B is a flowchart illustrating the manner in which the changed contact details received by CRAL 130 may be processed, in an embodiment.
[0013] Figure 3A is a flowchart illustrating the manner in which the changes in the mobile number of a contact may be detected, in an embodiment.
[0014] Figure 3B is a flowchart illustrating the manner in which a new email address used by a contact may be detected, in an embodiment.
[0015] Figure 4 is a block diagram illustrating the details of a digital processing system in which various aspects of the present invention are operative
[0016] In the drawings, like reference numbers generally indicate identical, functionally similar, and/or structurally similar elements. The drawing in which an element first appears is indicated by the leftmost digit(s) in the corresponding reference number.
Detailed Description
[0017] 2. Example Environment
[0018] Figure 1 is a block diagram of an example environment in which several aspects of the present invention may be implemented in an embodiment. The environment 100 is shown containing client systems (clients) 120a, 120b, 120c, 120d (together named 120a-d),CRAL 130, and a network of computers 110. Merely for illustration, only representative number/type of systems are shown in the Figure. Many environments often contain many more /fewer/different systems/ components, both in number and type, depending on the purpose for which the environment is designed, as will be apparent to one skilled in the relevant arts. Each block of Figure 1 is described below in further detail.
[0019] Clients 120a-d represent typical systems used by a contact. Client 120a is communicatively connected to the network of computers 110 through a wired network such as wired Ethernet. Similarly client 120b is communicatively connected to the network of computers 110 through a wireless network such as wireless Ethernet, Wifi, etc. Mobile device 120c represents a device such as a PDA, laptop, netbook, etc. which is also connected to the network of computers 110 through a wireless network as noted above. Mobile device 120d represents a mobile phone which is part of a mobile telephony system, and also connected to the network of computers 110 through GPRS. EDGE, CDMA, various wireless broadband technologies such as WiMax, etc. CRAL stands for Central Repository and Logic. CRAL 130 contains the logic necessary for implementing the contact management system described in this application. It also maintains a central database in which all the contact information of all contacts/acquaintances is stored. The database also contains the relationship information i.e. the details of which contact is allowed to access the contact information of which all acquaintances. CRAL 130 is capable of communicating to clients 120a-d over the network of computers 110. CRAL 130 may be implemented in a digital processing system such as the one shown in Figure 5.
[0020] The network of computers 110 is a network such as a Local Area Network, Wide Area Network, the global network of computers well known in the art as internet, a network of one or more of these, etc. and provides connectivity between clients 120a-d and CRAL 130. The network of computers 110 may use protocols such as TCP/IP which are well known in the art.
[0021] In general, a contact may use one or more of clients 120a-d. For illustration, the contact may be assumed to use client 120a. Client 120 may present the contact with a suitable interface such as a Graphical User Interface (GUI) to input the contact information the first time. The contact information so received may be stored on client 120a and also transmitted to CRAL 130 over the network of computers 110.
[0022] CRAL 130, on receiving the contact information, may generate and assign a unique identification (unique id) to the contact and may authenticate data such as mobile numbers, email addresses etc received from the contact. In an embodiment, CRAL 130 may send an SMS with a code (such as a multi digit number, a phrase/text, a combination of a number and text, etc.) to each of the mobile numbers that the contact has provided as part of the contact information. A similar code may also be sent to each of the email addresses provided by the contact. Each of the codes would be different from the others. The contact may, using a suitable interface such as a GUI presented on client 120 a-d, input each code received, to authenticate the respective contact information (mobile phone number or email address). The code so entered is transmitted to CRAL 130 over the network of computers 110, where the code received from client 120a-d is verified against the transmitted code to complete the authentication process and if verified, the respective contact information is marked as authenticated.
[0023] The contact may, through a suitable user interface such as a GUI on his client I20a-d, request that the contact information be exchanged with acquaintances, by entering a contact information such as a mobile phone number of email address of the acquaintances. The request is transmitted to CRAL 130. CRAL 130 checks whether the entered contact information has been verified, and if not verified, attempts to verify the contact detail as explained above. If it is found that the contact information of the acquaintance is not available in the database, the acquaintance may be requested to input the contact details, in manner described above, which may then be verified by CRAL 130 as described above.
[0024] After the contact detail of the acquaintance (entered by the contact while requesting contact information exchange) has been verified, the CRAL 130 may sent the contact details of the contact (requestor) to the acquaintance and enable the acquaintance to accept or reject the request for exchange of the contact information. The acquaintance may also configure the device such that all exchange requests are accepted without any further intervention by the acquaintance.
[0025] If the request is rejected by the acquaintance, CRAL 130 may intimate the rejection to the requestor. If the request is accepted by the acquaintance, CRAL 130 creates a relationship between the requestor and the acquaintance indicating that the two contacts have exchanged the contact information. The CRAL sends the contact details of the acquaintance to the requestor.
[0026] Once the contact details have been exchanged, both the requestor's client and the acquaintance's client may download the respective contact details from CRAL 130 periodically (to ensure that the contact information is up to date), save the contact details in local storage and update all the applications using the contact information.
[0027] Whenever a contact updates the contact information (using a user interface such as a GUI), the updated information is stored in the local storage as well as transmitted to CRAL 130. CRAL 130 may send/make available for access the updated information to all the acquaintances who have a relationship with the contact. The acquaintances may then update the applications which use the contact information and running on their clients with the updated contact information received from CRAL130.
[0028] The changes in some of the contact information in client 120a-d may be detected without the intervention of the contact and updated in both the local data base and in the data base in CRAL 130 and thereafter made available to all the acquaintances that have a relationship, as described above. The description is continued with an example of the manner in which the changes in some of the contact details may be detected and updated in applications that use the contact information.
[0029] 3. Processing changes in the contact information
[0030] Figure 2A is a flowchart illustrating the manner in which the changes in some of the contact details may be detected and updated, in an embodiment. The flowchart is described with respect to Figure 1, merely for illustration. However, various features can be implemented in other environments and other components. Furthermore, the steps are described in a specific sequence merely for illustration.
[0031] Alternative embodiments in other environments, using other components and different sequence of steps can also be implemented without departing from the scope and spirit of several aspects of the present invention, as will be apparent to one skilled in the relevant arts by reading the disclosure provided herein. The flowchart starts in step 201, in which control passes immediately to step 205.
[0032] In step 205, client I20a-d checks whether a contact detail has changed. The check may be implemented in many ways, as described in subsequent paragraphs. If no contact information has changed, control passes to step 220. If a contact detail has changed, processing continues with step 210.
[0033] In step 210, the changed contact information is stored in the local database. In step 215, the changed contact information is transmitted to CRAL 130 over the network of computers 110, using techniques well known in the art.
[0034] In step 220, client 120a-d receives updates in the contact information of acquaintances with which the contact has a relationship, as explained above. The updates to the contact information of acquaintances may be transmitted by CRAL 130 whenever the changes are received by CRAL 130 or the clients of the acquaintances may request CRAL 130 for the updates.
[0035] In step 225, client 120a-d updates all the applications which use contact information using techniques well known in the art. Thereafter, control passes back to step 205.
[0036] The example embodiment above describes how changes in the contact information may be detected in client 120a-d and intimated to acquaintances who have a relationship, as well how the changed contact information for acquaintances are received from CRAL 130 and used to update contact details in applications using them. The description is continued with the manner in which the changes in the contact details are processed in CRAL 130.
[0037] 4. Processing changed contact information in CRAL
[0038] Figure 2B is a flowchart illustrating the manner in which the changed contact details received by CRAL 130 may be processed, in an embodiment. The flowchart is described with respect to Figure 1 and 2A merely for illustration. However, various features can be implemented in other environments and other components. Furthermore, the steps are described in a specific sequence merely for illustration.
[0039] Alternative embodiments in other environments, using other components and different sequence of steps can also be implemented without departing from the scope and spirit of several aspects of the present invention, as will be apparent to one skilled in the relevant arts by reading the disclosure provided herein. The flowchart starts in step 251, in which control passes immediately to step 255.
[0040] In step 255, CRAL 130 receives the changed contact details from client 120a-d over the network of computers 110 using techniques well known in the art.
[0041] In step 265, CRAL 130 updates the database with the changed contact information. In step 270, CRAL 130 transmits the changes in the contact information to all the acquaintances which have a relationship with the contact whose contact information has changed. The acquaintances to whom the contact information is to be transmitted may be obtained from the relationship information maintained by CRAL 130.
[0042] In step 275, CRAL 130 receives requests from the acquaintances which have a relationship with the contact whose contact information has changed. The acquaintances may have to request the information because when CRAL 130 transmitted the changes to these acquaintances in step 270, some of them may have been offline or switched off etc., and therefore could not receive the updates. The acquaintances also may periodically request CRAL 130 for updated information if any.
[0043] In step 280, CRAL 130 checks whether all the acquaintances which have a relationship with the contact whose contact information has changed, have been updated. If not, processing goes back to step 275. If yes, processing ends in step 290.
[0044] The steps above describe how CRAL 130 processes the changed contact information. The description is continued with an example embodiment in which the change in the mobile number of a contact is detected.
[0045] 5. Detecting change of mobile number.
[0046] Figure 3A is a flowchart illustrating the manner in which the changes in the mobile number of a contact may be detected, in an embodiment. It is assumed that the contact is using a mobile phone, such as a windows mobile phone or other "smart phones" which have the capabilities of running email programs and other programs and may connect to a network of computers such as 110, in addition to the functionalities of a mobile phone such as voice and SMS and are well known in the art. The flowchart is described with respect to Figure 1, 2A and 2B merely for illustration. However, various features can be implemented in other environments and other components. Furthermore, the steps are described in a specific sequence merely for illustration.
[0047] Alternative embodiments in other environments, using other components and different sequence of steps can also be implemented without departing from the scope and spirit of several aspects of the present invention, as will be apparent to one skilled in the relevant arts by reading the disclosure provided herein. The flowchart starts in step 301, in which control passes immediately to step 310.
[0048] In step 310, Mobile device (mobile phone) 160 fetches the unique identifier for the phone. For example, in mobile phones working on the Global System for Mobile communications (GSM) technology and in mobile phones working on CDMA technology with Subscriber Identification Module (SIM) cards, the International Mobile Subscriber Identity (IMSI) is a unique identity assigned to the SIM cards provided to the customers. If the customer changes the mobile number (by changing the SIM card), the IMSI also changes. Similarly, mobile phones working on CDMA technology and not using SIM cards may be identified by a unique Equipment Identification Number.
[0049] In step 320, mobile phone 160 checks whether the unique identifier for the phone has changed. The unique identifier that is fetched in step 310 may be compared with the unique identifier which has been stored previously, to determine if it has changed. As noted above, the IMSI (unique identifier) changes because the SIM and hence the mobile number has changed. If it has not changed, the control passes on to step 310. If it has changed, the processing continues to step 325.
[0050] In step 325, the local database is updated with the new mobile number. The New number is also transmitted to CRAL 130 over the network of computers 110 using techniques well known in the art. CRAL 130 processes the new mobile number as a changed contact information as described earlier. Then, control passes back to step 310. The detection of a new email address in an embodiment is described next.
[0051] 6. Detecting a new email address.
[0052] Figure 3B is a flowchart illustrating the manner in which a new email address used by a contact may be detected, in an embodiment. The flowchart is described with respect to Figure 1, 2A, 2B and 3A, merely for illustration. However, various features can be implemented in other environments and other components. Furthermore, the steps are described in a specific sequence merely for illustration.
[0053] Alternative embodiments in other environments, using other components and different sequence of steps can also be implemented without departing from the scope and spirit of several aspects of the present invention, as will be apparent to one skilled in the relevant arts by reading the disclosure provided herein. The flowchart starts in step 351, in which control passes immediately to step 355.
[0054] In step 355, client 120a-d checks whether a new email address has been configured in any of the email programs in the contacts client 120a-d, for sending emails. This check may be implemented using techniques well known in the art. If no new email address has been configured so, control loops back to step 355. If a new email address has been configured, control passes to step 360.
[0055] In step 360, the local data base is updated and the new email address identified in step 355 is transmitted to CRAL 130. CRAL 130 processes the email address (changed contact information) as described earlier and the control is returned to step 355.
[0056] Thus, using the techniques described above, the contact details of various persons may be exchanged, changes in contact information such as mobile number detected and the changes in any contact information may be updated in applications using the contact information without the necessity for manually updating them.
[0057] 7. Digital Processing System
[0058] Figure 4 is a block diagram illustrating the details of a digital processing system in which various aspects of the present invention are operative by execution of appropriate software instructions. The Digital processing system may correspond to any system implementing several features of the present invention such as Personal Computers, servers, CRAL 130, handhelds, PDAs, mobile phones etc. Though shown as a stand-alone system, the features of the invention can be implemented using cooperating computer systems connected by a network, etc.
[0059] The Digital processing system may contain one or more processors such as a central processing unit (CPU), random access memory (RAM), secondary memory, graphics controller, display unit, network interface, and input interface. All the components except display unit may communicate with each other over wired or wireless communication paths, which may contain several buses as is well known in the relevant arts. The components of Figure 4 are described below in further detail.
[0060] The CPU may execute instructions stored in the RAM to provide several features of the present invention. The CPU may contain multiple processing units, with each processing unit potentially being designed for a specific task. Alternatively, the CPU may contain only a single general-purpose processing unit. The RAM may receive instructions from the secondary memory.
[0061] The Graphics controller generates display signals (e.g., in RGB format) to the display unit based on data/instructions received from the CPU. The Display unit contains a display screen to display the images defined by the display signals. The Input interface may correspond to a keyboard and a pointing device (e.g., touch-pad, mouse) and may be used to provide inputs. The Network interface provides connectivity to a network (e.g., using Internet Protocol), and may be used to communicate with other connected/cooperating systems.
[0062] The Secondary memory may contain hard drive, flash memory, and removable storage drive. The secondary memory may store the data and software instructions, which enable the digital processing system (or the CPU or the graphics controller, etc.) to provide several features in accordance with the present invention.
[0063] Some or all of the data and instructions may be provided on the removable storage unit, and the data and instructions may be read and provided by the removable storage drive to the CPU. Floppy drive, magnetic tape drive, CD-ROM drive, DVD Drive, Flash memory, removable memory chip (PCMCIA Card, EPROM) are examples of such a removable storage drive.
[0064] The Removable storage unit may be implemented using medium and storage format compatible with the removable storage drive such that the removable storage drive can read the data and instructions. Thus, the removable storage unit includes a computer readable (storage) medium having stored therein computer software and/or data. However, the computer (or machine, in general) readable medium can be in other forms (e.g., non-removable, random access, etc.).
[0065] The removable storage unit or hard disk installed in the hard drive constitute computer program product. These computer program products are means for providing software to the digital processing system. The CPU or the graphics controller may retrieve the software instructions, and execute the instructions to provide various features of the present invention.
[0066] 8. Conclusion
[0067] While various embodiments of the present invention have been described above, it should be understood that they have been presented by way of example only, and not limitation. Thus, the breadth and scope of the present invention should not be limited by any of the above described exemplary embodiments, but should be defined only in accordance with the following claims and their equivalents.
We claim:
1. A system for inputting, storing, updating and exchanging contact information
comprising:
One or more clients enabling a contact to input and update own contact information, request exchange of contact information with acquaintances, receive and access the contact information of acquaintances who have permitted their contact information to be accessed by the contact; and
A CRAL designed to receive, authenticate and store the contact information from the said client, receive request from the contact for exchange of contact information with an acquaintance, obtain acceptance of the acquaintance for exchanging the contact information, create a relationship between the contact and the acquaintance and provide the contact information of the acquaintance to the contact,
wherein the relationship indicates that the contact and the respective acquaintance have agreed to exchange contact information.
2. The system of claim 1 designed to detect a change in one or more contact information, provide the changed information to the CRAL, the CRAL making the changed contact information available to all acquaintances having a relationship with the contact.
3. The system of claim 2 wherein the clients of the acquaintances having a relationship with the contact receive the changed contact information from the CRAL and update the contact information in applications which use the contact information.
4. The system of claim 2 wherein the change is in the mobile number of the contact and the change is detected by monitoring the International Mobile Subscriber Identity (IMSI) number of the client used by the contact.
5. The system of claim 2 wherein the change is the use of a new email address and the change is detected by monitoring the email addresses which are configured for sending emails in the email programs on the client used by the contact.
6. A method of for inputting, storing, updating and exchanging contact information between persons, said method comprising the steps of:
receiving the contact information of a contact in a client;
storing the contact information;
transmitting the contact information to a CRAL;
request the CRAL to exchange contact information with an acquaintance;
receiving and making available the contact information of the acquaintance;
the CRAL receiving the contact information from the contact; authenticating at least some of the contact information;
receiving a request from the contact for exchanging contact information with acquaintances;
obtaining acceptance of the acquaintance for exchanging the contact information;
creating a relationship between the contact and the acquaintance; and providing the contact information of the acquaintance to the contact;
wherein the relationship indicates that the contact and the respective acquaintance have
agreed to exchange contact information.
7. The method of claim 6 comprising the steps of:
checking whether a contact information has changed;
storing the changes in a local database;
transmitting the changed contact details to the central repository;
receiving update from the CRAL; and
updating the contact information in all applications which use contact information.
8. The method of claim 6 comprising the steps of:
receiving the changed contact details from the client;
updating the database with the changed contact information;
transmitting the changes in the contact information to all the acquaintances which have a relationship;
receiving requests for updated contact information from the acquaintances which have a relationship with the contact; and
providing the acquaintances who request with the updated contact information till all the acquaintances have been updated.
9. The method of claim 7 wherein checking whether a mobile phone number (contact information) has changed comprising the steps of:
fetching a unique identifier for the phone;
comparing the fetched unique identifier with a stored unique identifier to determine whether they are different;
storing the fetched unique identifier when they are different; and transmitting the fetched unique identifier to the CRAL.
10. The method of claim 7 wherein checking whether a email address (contact
information) has changed comprising the steps of:
examining whether a new email address has been configured for sending mails in an email program;
storing the new email address when the examining identifies a new email address has been configured; and
transmitting the new email address to the CRAL.
11. A system for inputting, storing, updating and exchanging contact information
comprising:
One or more clients enabling a contact to input and update own contact information, request exchange of contact information with acquaintances, detect a change in contact information and transmit the change to a CRAL, receive the changed contact information of acquaintances who have permitted their contact information to be accessed by the contact and whose contact information has changed and use the received changed information to update the contact information in applications using the contact information; and
A CRAL designed to receive, authenticate and store the contact information from the said client, receive request from the contact for exchange of contact information with an acquaintance, obtain acceptance of the acquaintance for exchanging the contact information, create a relationship between the contact and the acquaintance and provide the contact information of the acquaintance to the contact, receive changed contact information from the contact and send the changed contact information to the acquaintances who have been permitted by the contact to access the contact information,
wherein the relationship indicates that the contact and the respective acquaintance have agreed to exchange contact information.
| # | Name | Date |
|---|---|---|
| 1 | 2499-che-2008 correspondence others.pdf | 2011-09-04 |
| 1 | 2499-che-2008 form 5 14-10-2009.pdf | 2009-10-14 |
| 2 | 2499-che-2008 description (provisional).pdf | 2011-09-04 |
| 2 | 2499-CHE-2008 FORM 2 14-10-2009.pdf | 2009-10-14 |
| 3 | 2499-che-2008 drawings 14-10-2009.pdf | 2009-10-14 |
| 3 | 2499-che-2008 form-1.pdf | 2011-09-04 |
| 4 | 2499-che-2008 abstract 14-10-2009.pdf | 2009-10-14 |
| 4 | 2499-che-2008 description (complete) 14-10-2009.pdf | 2009-10-14 |
| 5 | 2499-che-2008 correspondence others 14-10-2009.pdf | 2009-10-14 |
| 5 | 2499-che-2008 claims 14-10-2009.pdf | 2009-10-14 |
| 6 | 2499-che-2008 claims 14-10-2009.pdf | 2009-10-14 |
| 6 | 2499-che-2008 correspondence others 14-10-2009.pdf | 2009-10-14 |
| 7 | 2499-che-2008 abstract 14-10-2009.pdf | 2009-10-14 |
| 7 | 2499-che-2008 description (complete) 14-10-2009.pdf | 2009-10-14 |
| 8 | 2499-che-2008 drawings 14-10-2009.pdf | 2009-10-14 |
| 8 | 2499-che-2008 form-1.pdf | 2011-09-04 |
| 9 | 2499-che-2008 description (provisional).pdf | 2011-09-04 |
| 9 | 2499-CHE-2008 FORM 2 14-10-2009.pdf | 2009-10-14 |
| 10 | 2499-che-2008 form 5 14-10-2009.pdf | 2009-10-14 |
| 10 | 2499-che-2008 correspondence others.pdf | 2011-09-04 |