WO2005076737A2 - Method and system for managing user's computerized database - Google Patents

Method and system for managing user's computerized database Download PDF

Info

Publication number
WO2005076737A2
WO2005076737A2 PCT/IL2005/000181 IL2005000181W WO2005076737A2 WO 2005076737 A2 WO2005076737 A2 WO 2005076737A2 IL 2005000181 W IL2005000181 W IL 2005000181W WO 2005076737 A2 WO2005076737 A2 WO 2005076737A2
Authority
WO
WIPO (PCT)
Prior art keywords
contact
message
target
computer
data
Prior art date
Application number
PCT/IL2005/000181
Other languages
French (fr)
Other versions
WO2005076737A3 (en
Inventor
Tomer Dror
Neriel Paglin
Original Assignee
Share-Manage Data Actualization Technologies Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from IL16032604A external-priority patent/IL160326A0/en
Application filed by Share-Manage Data Actualization Technologies Ltd. filed Critical Share-Manage Data Actualization Technologies Ltd.
Publication of WO2005076737A2 publication Critical patent/WO2005076737A2/en
Publication of WO2005076737A3 publication Critical patent/WO2005076737A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating

Definitions

  • This invention is generally in the field of communication techniques and relates to a method and system for managing a user's computerized database, for example, an address book.
  • a business card usually contains data pertaining to the following: name, occupation, company, position and addresses relative to communication systems such as mail, phone, fax, e-mail and the like. As time passes, it is usual for changes to occur in at least some of the data contained in a business card. Although names tend to remain the same, positions, occupations and many kinds of addresses are modified quite often. For example, a person may be promoted to a higher position in another division, may leave for another company or, as frequently occurs, his telephone number, facsimile or e- mail address can be modified. These are all "dynamic" changes that take place in everyday life.
  • a user A is the owner of contact information.
  • A can update this information in the contact book of user B by means of a return e-mail message thereto.
  • user A has to manually update all the data fields in the message, and do so each time he receives such an e-mail message.
  • WO 02/052436 disclosing a method for automatically updating and maintaining contact information for various contacts stored in a contact database without requiring an individual to manually update their contacts.
  • an automated reply process is used for the maintaining of contact information, requiring one individual to be a member of the service.
  • the reply process utilizes access to a respective WebSite where the user receives an HTML dynamic page, including the user's contact information and allowing the user to store the updated information in a server, while the latter is responsible for updating this contact information in a database of another user, who has requested for updated information.
  • This technique suffers from a need for a third party (server manager) involvement in a process of exchanging users' personal data, thus affecting the privacy of the process.
  • 6,393,421 of one of the inventors of the present application, discloses a communication system and method for enabling keep in touch technique between users utilizing a manager utility and user's related communication codes.
  • the owner of the code or any other authorized person, creates a data record containing information belonging to the code owner, and feeds this data record to the manager utility.
  • the manager utility upon receiving the data record, stores it in a database and assigns the communication code, associated with at least a part of the stored information, to the data record owner.
  • the manager utility Upon receiving the communication code from the code receiver, the manager utility provides him with the respective information of the code owner.
  • the manager utility Upon detecting that changes have been made to the data record of the code owner, the manager utility operates to update the code receiver.
  • the communication code may be e-mal address associated with the manager utility, and the process of requesting and updating the information may be conducted via e-mail messages.
  • the present invention provides a new software tool (utility) for managing the user's computerized database, such as contacts-related database or address book.
  • the owner of a database e.g., an address book owner, henceforth: "the source contact” who is interested in validating or receiving certain information (e.g. contact information) from another user (henceforth: “the target contact”) will, by using this new software tool, be able to send target contact validation/update requests (and receive the updated/validated information).
  • the present invention utilizes either a direct communication between the source and target computers or a communication between a source computer and another side that communicates with the target on behalf of the source, as per source request.
  • the present invention provides a user for replying to such requests in a semi-automatic manner, with no need for reentering updated/validated information per each new request and without exposing his data to an intermediary. Moreover, the present invention provides a solution for the above- described problem, when a source contact either has no e-mail of the target contact or e-mail stored in the database of the source contact is not updated.
  • the method of the present invention utilizes automatically searching in the database for a phone number associated with the target contact, contacting the target phone system and instructing the target, by a pre-recorder message, to feed his fax number or other contact information by using tone dialing and/or recording a voice message with the requested details.
  • a computer-implemented method for updating data relating to a target contact in a database accessible to a source contact comprising: conveying to the target contact a pre-designed message prompting the target contact to provide current data and configured for activating a predetermined script on the target contact computer to generate a reply message, to enable sending an updated version of said data from the target contact computer to an address specified in the message and enable storing the updated version of said data to a local storage repository of the target contact to enable automatic generation of similar reply messages in the future; receiving the current data from the target contact; and adding or replacing the current data in the database.
  • Said conveying of the message to the target contact may include conveying a first message to a certain contact thereby allowing said certain contact to generate the second message to be conveyed to the target contact.
  • the method includes decoding the current data received from the target contact in order to extract discrete fields of the data for updating corresponding fields in the database.
  • the current data is preferably a delimited text string
  • the decoding includes parsing the delimited text string to extract concatenated discrete fields therein.
  • the message may include existing data for displaying to the target the contact data as currently stored in the database.
  • the message may be an e-mail message, and may include an (HyperText Markup Language) HTML attachment or a link to a site where the target can get an empty HTML form.
  • the HTML file/form may include multiple fields each relating to an item in the database and includes the script for storing the data to the local storage repository associated with the target and automatically generating a reply message.
  • a computer-implemented method for use in updating data relating to a target contact in a database accessible to a source contact comprising: conveying to the target contact a pre-designed message configured to provide access at the target contact to an (HyperText Markup Language) HTML form prompting the target contact to provide current data and configured for activating a predetermined script on the target contact computer, said script being configured to automatically generate a reply message to enable sending an updated version of said data from the target contact computer to an address specified in the message and enable storing the updated version of said data to a local storage repository of the target contact to enable automatic generation of similar reply messages in the future.
  • an HTML form Markup Language
  • a computer-implemented method for updating data relating to a target contact in a database accessible to a source contact comprising: receiving, via a communication network, a message associated with the source contact prompting the target contact to provide current data, said message containing a predetermined script to enable storing the current data to a local storage repository of the target contact, and to enable automatically conveying the current data from the local storage repository to at least one address contained in the message for allowing respective recipients thereat to add or replace the current data in a respective database; searching said local storage repository to locate said current data; and if said current data is located on said local storage repository, generating a reply message directed to said at least one address specified in the message for conveying the current data to said at least one address for allowing a recipient thereat to add or replace the current data in the database.
  • the method provides for saving this data on the local repository.
  • This can be implemented using the script which calls to an internal object of Internet Explorer known as USERDATA Behavior, which when actuated, operates to save the data from the HTML file/form to the local storage repository in XML format.
  • the method preferably provides for encoding the data for conveying discrete fields thereof to said one or more predetermined destinations.
  • the encoding includes concatenating said discrete fields a delimited text string.
  • the message structure from the source to the target, requesting updating the target related record utilizes transmission of an attachment (such as HTML).
  • the attachments includes a script, which when activated by the recipient (target) by clicking a "Save” key (button), stores the data to a pre-defined location.
  • the script is of the kind capable of operating the USERDATA Behavior function, which is part of Internet Explorer, to save the data in a local storage repository.
  • the data is saved as XML document which is identified using a unique name (rather than a path to a file).
  • a link to a certain Internet server is transmitted, for example because of security problems (Firewalls etc.). Activation of this link by the target contact, queries an
  • Internet server to request for an empty HTML form which includes a similar script that functions as the HTML attachment.
  • This button activates a respective script (Java script), which is either the same script or another script that was in the HTML form to generate the reply message (from the target to the source), that uses the MAILTO protocol of the target e-mail program to generate an email message and insert the data from the saved XML document into the message or as an attachment to the message and insert the e-mail address of the source into the "To" field of the e- mail message.
  • a respective script Java script
  • opening of the HTML form displays the user the details which he saved previously. Now, the user can again update and save the data to the same destination and then push the "Send” button, or just push the "Send” button if the data is updated.
  • the script can be configured to cause automatic transmission of the email reply message or to provide a message form and wait for the user pushing the "Send" button of the message form (so the user can review the message before the message is sent).
  • a computer-implemented method for updating data relating to a target contact in a database accessible to a source contact comprising: obtaining at least one address of a source contact to which updated target contact data is to be sent; searching for a file containing current data; upon locating said file, automatically generating a message conveying, via a communication network, the current data to said at least one address for allowing a recipient thereat to add or replace the current data in the database.
  • the present invention in its yet another aspect, provides a computer- implemented program storage device readable by machine, tangibly embodying a program of instructions executable by the machine to perform method steps for updating data relating to a target contact in a database accessible to a source contact, said method comprising: obtaining at least one address of a source contact to which updated target contact data is to be sent; searching for a file containing current data; upon locating said file, automatically generating a message conveying the current data to at least one address for allowing a recipient thereat to add or replace the current data in the database.
  • a computer-implemented computer program product comprising a computer useable medium having computer readable program code embodied therein for updating data relating to a target contact in a database accessible to a source contact, said computer program product comprising: computer readable program code for causing the computer to obtain at least one address of a source contact to which updated target contact data is to be sent; computer readable program code for causing the computer to search for a file containing current data; computer readable program code responsive to locating said file for causing the computer to automatically generate a message conveying the current data to at least one address for allowing a recipient thereat to add or replace the current data in the database.
  • Instructions to the program can be executed either by entering the target contact's e-mail address on the appropriate screen or by selecting a contact from the source contact's address book (it is possible to select multiple target contacts at one time).
  • the program sends an update/validation request to the target contact that includes: 1. Free text (sample) "the following are your details as they appear in my address book. Please assist me in validating/updating these details... " 2.
  • a table for example in the form of a business card, containing the fields, which the target is asked to fill.
  • a Script to save the data to a local storage repository and to generate a return message, such as e-mail message, from the target contact to the source contact that will contain all the details saved in the table.
  • 2.5 A Script execution key Pressing this key will activate the script to call a system request to save the data from the file to the address on the target contact's computer that was pre-defined in the message (or using a unique name as described above) and will generate a reply message to the address specified in the message request.
  • the program will either respond to the source contact automatically, or alternatively ask permission from the target contact to respond automatically, all according to the preferences defined by the target contact in the program's user preference screen.
  • This technique is described in U.S. patent No. 6,393,421 of one of the inventors of the present application.
  • the following prompts are displayed if the target contact does not have the program of the present invention installed: 1. Open the Attachment that comes with the e-mail message or clicking the link to get the HTML file from an Internet site. 2. Fill the fields in the attached table. 3. Save the data to the pre-defined address by pressing the Save button on the message. 4.
  • Pressing the Activate Script key will once again compose a new e-mail message addressed to the new sender (source contact) that contains all the previously entered details.
  • the target contact has the ability to update any details that might have changed and save the new changes by pressing the Save key on the HTML page. If the target contact chooses to download the program by clicking the appropriate link, this will lead to an Internet site from which to download the identical program employed by the sender/source contact. Running the program the first time instructs the target contact how to set up his personal business card, and will automatically respond to the source contact's request, as described in the above-indicated U.S. patent No. 6,393,421 of one of the inventors of the present application.
  • a computer-implemented method for managing users related databases via a communication network comprising providing, in computer systems of at least some of the users, similar manager utilities configured to communicate with each other by using the users' unique communication codes, respectively, the manager utility of one user being capable of communicating with the manager utility of another user to update the database of said one user with information stored in the database of said another user, and capable of actuating the manager utility of said another user to contact yet another user on behalf of said one user to request for information relating to or stored in the database of said yet another user.
  • Fig. 1 is a pictorial representation of a system for maintaining a source contact's address book, according to one embodiment of the invention
  • Fig. 2A is a flowchart illustrating a method for managing a source contact's address book, according to one embodiment of the invention
  • Fig. 2B is a flowchart illustrating operations that can occur in a target contact's computer, after receiving an update request, according to one embodiment of the invention
  • Fig. 2C illustrates a target contact's business card, according to an embodiment of the invention
  • Fig. 3 is a flowchart of constructing an update request message in an agent program, according to an embodiment of the invention.
  • Fig. 4 is a flowchart of the method according to the invention, from the perspective of the target, for updating data relating to a target contact in a contact database accessible to a source contact;
  • Fig. 5 is a pictorial representation of a secured system used for managing a source contact's address book, according to the principles of the present invention
  • Fig. 6 is a flowchart illustrating secure update of contact data in a target contact's computer, according to an embodiment of the invention
  • Fig. 7 is an illustration of a list form including information, according to one embodiment of the invention
  • Figs. 8A and 8B exemplify the principles of one more aspect of the invention.
  • Fig. 1 is a pictorial representation of a system 100 for maintaining a source contact's address book, according to one embodiment of the invention.
  • the system 100 is formed by communication devices or computers connectable to each other via a communication network.
  • An address book owner 105, or "source contact”, shown seated at a computer/GUI 110, is interested in validating or receiving contact information from a target contact, whose computer 120 is shown.
  • the source contact will send to the target contact validation/update requests via the Internet 130, or other communication network, and receive the updated/validated information.
  • Computer/GUI 110 has been provided with an agent program 140.
  • the agent program is sometimes referred to also shortly as an "agent", a “micro- server” or a “plug-in agent” and it can be any computer program such as a stand alone program or a plug-in.
  • the target contact's computer may also have a copy of a target program 150 in his/ er computer 120. It is noted that the target program 150 can be similar to the agent 140.
  • the system 100 illustrated in Fig. 1 is by no way binding.
  • the present invention could utilize communication between telephone devices (sometimes referred to, shortly, as “phones” or “phone devices”), between computers, PDAs (Personal Digital Assistant), a combination thereof (e.g., communication between computers and telephones and/or PDAs) etc.
  • the communicating devices are telephones, for example, they can communicate via a switching system.
  • the target contact's computer 120 should not necessarily include a target program 150, as will be described with detail below.
  • the two programs can be similar and perform tasks adapted to the source contact's computer as well as to the target contact's computer.
  • the agent program 140 can perform tasks adapted to the source contact's computer as well as to the target contact's computer, while the target program 150 performs only tasks adapted to the target contact's computer.
  • the agent program 140 can perform tasks adapted to the source contact's computer while the target program 150 performs tasks adapted to the source contact's computer as well as to the target contact's computer.
  • the agent program 140 can perform tasks adapted to the source contact's computer while the target program 150 perform tasks adapted to the target contact's computer.
  • the source contact's computer and/or the target contact's computer can install the agent program 140 and the target program 150, instead of installing only one of them, as illustrated in the figure.
  • the source contact 105 in the figure is illustrated as a person, this is non-limiting too, and the source contact 105 can be any entity that owns a contacts' database. Examples to source contacts are a bank (wherein the contacts database includes, for example, information about the bank's customers), a man power company (wherein the contacts database includes, e.g., information about employees), a fast food supplier (wherein the contacts database includes information such as suppliers information) etc.
  • the source contact operates the source contact's computer (communication device), when he operates in accordance with the invention, it should be appreciated that he uses the source contact's computer (or telephone or PDA etc.).
  • the source contact operates in a certain way it should be appreciated that the source contact computer operates the same way.
  • the source contact's computer can be referred to as the source contact.
  • the target contact's computer is sometimes referred to as the target contact.
  • the present invention provides for a computer-implemented product (computer program) for updating data relating to a target contact in a contact database accessible to a source contact.
  • the computer readable program code causes the target contact's computer to obtain at least one address of a source contact to which updated target contact data (referred to also as target contact information) is to be sent; causes the computer to search for a file containing current contact data; and is responsive to locating the file for causing the computer to automatically generate a message conveying the current contact data, or part of it, to the at least one address for allowing a recipient thereat to add or replace the current contact data in the contact database.
  • Fig. 2A is a flowchart illustrating a method for managing a source contact's address book, according to one embodiment of the invention.
  • the process begins with 210 when an agent program is loaded, or installed in the source contact's computer.
  • the source contact may convey to the target contact a request message for the purpose of validating/updating the selected information of the target contact.
  • the message is conveyed by sending it to the target contact by e-mail.
  • uploading the request message to the target contact's computer when he downloads a web page wherein a link to an HTML page exist (such as a link having the text "Do we know you?"), wherein the HTML page is the request message.
  • the request message prompts the target contact to confirm that his current data saved in the source contact's database are correct, or to provide currently contact data.
  • the request message includes an update form.
  • the update form can be included in the request as an HTML file attachment and/or as a link to an Internet server where the HTML form could be imported from.
  • the update form (the file attachment and/or the linked HTML form) contains a script for automatically generating a reply message to an address specified in the message.
  • the script can collect information included in the form, construct a pre-formatted message including the collected information and convey the pre-formatted message to the source contact.
  • the target contact can have information stored in his computer.
  • the script can retrieve the stored information and fill it into the update form, reducing source contact's typing efforts thereby.
  • the request message may for example include the following free text: "Please take a moment to update your contact information in my address-book via direct e-mail, without any intermediary. Once done, you can answer similar messages with one click".
  • the request message may include, as an option, the target contact data that is currently stored in the source contact's address book.
  • the agent program can be pre-installed in the system, such as being part of the operating system or being associated with the installation thereof.
  • the agent program can be installed in a server, wherein the source contact's computer has access thereto, e.g., by using a browser or using a LAN (Local Area Network).
  • the source contact's computer can send update requests in 220 on a periodical basis, e.g., once in a year.
  • sending update requests can be based on different basis.
  • Fig. 2B is a flowchart illustrating operations that can occur in a target contact's computer, after receiving an update request message, according to one embodiment of the invention.
  • the target contact's computer receives an update request message.
  • the target contact receives such a message, then he is instructed in 240 to open the file attached to the request message, or to follow the link included therein in order to import an update form and follow further instructions as will be explained below. This is indicated, for example, by the following exemplary text that can be included in the update request message: "Open the attached file and follow the instructions " or "Activate the link to import a form ". IT should be understood the file attachment includes a copy of the update form.
  • the file attachment or linked update form can include HyperText Markup Language (HTML) data.
  • HTML HyperText Markup Language
  • the update form can include free text with explanation; one or more tables, or a form, containing fields that the target contact is asked to fill or confirm their content; a script capable of generating a return message from the target contact to the source contact containing the target contact's information; and "buttons" such as a Save button and/or a script execution key. It is noted that in order to find out whether this is the first time the target contact receives an update request message, a question can be displayed on his screen, prompting him to respond to a question. However, alternative methods can be used as well. For example, in an automated method, after the target contact's computer terminates handling an update request message (or sometimes after handling the first update request message), a flag is marked in therein, wherein in 230 this flag is checked. In 270 the update form is displayed. An example of a displayed form is illustrated in Fig. 2C, described in detail below.
  • the information included in the form is conveyed to the source contact's computer in response to the update request message.
  • the target contact had received an update request message in the past, then it is assumed that there is a file stored in the target contact's computer or accessible thereto, wherein this file includes target contact's information. It is possible to consider the file as the target contact's business card. Therefore, in 250 the target has to choose whether he wants to send stored information as response to the update request message, and if so, in 260, the target contact can indicate whether he wants to send his currently stored business card or view (and optionally update) the information stored therein before sending.
  • buttons can be presented, one indicating "View my updated Business Card” and the other "send my currently stored business card”. If the target contact opts to view the information, in 270 his business card is displayed (see Fig. 2C), where he can type additional or replacing information. In 275 the information included in the form is conveyed to the source contact's computer in response to the update request message. In addition, it is possible to offer the target contact to download and install a target program in his computer. If the target contact agrees, the target program is downloaded and installed. It is mentioned, though, that this is non-obligatory.
  • Fig. 2C illustrates a target contact's business card 2100, according to an embodiment of the invention.
  • the business card includes free test, such as "Your business card" 2110.
  • the business card includes also indication of different fields
  • pressing on the save button 2140 stores the information in a file accessible to the target contact's computer
  • pressing on the send button 2150 conveys the information to the source contact's computer, as indicated for example, in 275 (see Fig. 2B).
  • a system request to save the data to a local storage repository in or accessible to the target contact's computer is activated.
  • the data can be save in a file, for example. Alternatively, it can be stored in a database or in any other available way and format.
  • the file name (if required) may be either predetermined (e.g., by the script) or pre-defined by the target contact when he receives the first such request; Any other applicable way for determining the file name is allowed, such as generating a random name during installation or during the first request reception.
  • the local target contact storage repository can be, for example, a disk, non volatile memory or any other long term storage device such as flash memory card etc.
  • the business card illustrated in Fig. 2C is illustrated as an example, and is by no way binding.
  • the business card can include additional information such as an email address, while currently illustrated information (such as "FAMILY NAME") can be missing.
  • the target contact had filled such a form and saved, or stored the data in the past, the form can be automatically filled up with the stored data from his disk (those versed in the art will appreciated that a cookie, for example, can be utilized).
  • a cookie for example, can be utilized.
  • the request message can include data, such as textual data.
  • the data can be later filled into the downloaded HTML form, thus presenting to the target contact the data that is currently stored in the source contact's address book.
  • the request message it should be appreciated that it includes also an e-mail address of the source contact, or any indication thereto, so that the script can formulate an automatic reply to the source contact.
  • the message can include, for example, an index indication to the source contact's address, in order to locate this address in a database of addresses. It was noted before, following the description of Fig. 2A, that an update request message can include an update form.
  • the update form can be included in the request as an HTML file attachment, and/or as a link to an HTML form at the Internet server. It should be appreciated that by including a link it is possible to avoid a known problem associated with receipt of HTML file attachments that are attached to e-mail messages, which are blocked in some cases by security tools such as Firewalls. Thus, by selecting or clicking the link in the message, the target contact can receive an empty HTML form (such as the form of Fig. 2C when not including information), fill his details into the form and save his contact data to his disk by clicking a button on the HTML form.
  • an empty HTML form such as the form of Fig. 2C when not including information
  • the program in the source contact computer is capable of converting the mail message into corresponding text fields.
  • the message generated at the source contact computer is an acoustic data stream, such as a voice message or tones' stream, and is conveyed via a telephone network to the target contact telephone device 120.
  • an acoustic data stream can be stored, for example, in a known per se MP3 file, WAVE file etc.
  • an acoustic stream can be broadcasted to the target contact phone by a switch or by a server associated therewith.
  • This embodiment is effective, for example, when the source contact's database has no e-mail address of the target contact or when it appears that the e-mail address stored therein is incorrect (i.e., is not updated).
  • the voice message will include a request for the target contact to provide his/her e-mail or fax number, in order to be able to convey there the request message with the target contact information to be verified updated.
  • the source contact's computer 110 in Fig.
  • the acoustic data stream can represent the source contact's data that are kept in the target contact's database.
  • a message can include, for example, indication of different fields and information associated therewith (such as "FIRST NAME" and "Neri", respectively, as illustrated in Fig. 2C).
  • the target contact receives the message, he can listen to it, and then he can record new information (by using his voice or by pressing the telephone keys) to replace the previously stored information. Then, a message including the target contact's recorded information is conveyed to the source contact's computer, where the data is processed to update the contacts database. If the target contact only confirms that the received information is correct, it is unnecessary to record and convey the information to the source contact.
  • an indication is enough, indicating that the data included in the request is correct.
  • the target contact can have a program installed (the target program).
  • the target program can allocate a location (such as a pre- allocated location) in the local storage device or any other storage device that the target program's computer has access to (e.g., disk or local network), store target contact's information thereto, retrieve the information and/or send the information to the source contact.
  • Fig. 3 is a flowchart of constructing an update request message (shortly referred to as a "request message") in an agent program 140, according to an embodiment of the invention.
  • an update form is attached to the request message, together with a link to an HTML update form.
  • the attached update form (and/or the HTML update form) can be any form applicable for updating contact's information, such as the business card of Fig. 2C. It should be appreciated that after conveying the request message to a target contact, he will open the message and then he can open the attached update form or select the link to load the update form from the Internet. It is noted that according to several embodiments the agent program can be aware whether a certain target contact's computer has a target program installed therein or not (For example, while loading and/or installing the target program a target contacts' computer can notify the agent program thereof).
  • the agent program inserts into the request instructions to open the file attachment that comes with the request message or to request an update form from an Internet server by selecting the link included in the request. Then in 350 the agent program inserts into the request instructions for updating or validating displayed information. In 360 it inserts into the request instructions for saving changes to the information to a storage device that is local or accessible to the target contact's computer. In 370 the agent program inserts into the request instructions for authorizing sending the updated/validated details to the source contact (e.g., by pressing the "Send" button 2150 of Fig.
  • the agent in 380 the request is conveyed to the target contact.
  • the agent is aware that a target program is installed in the target contac's computer than instructions are not required (the target program will automatically respond to the request message or at least will ask the target contacts' permission to do so) and therefore the request message can be sent without including instructions therein.
  • the update form downloaded from a server can be an empty form.
  • the update form includes a script. Therefore, if the target contact had already saved his contact information in the past (see, e.g., 2150 in Fig. 2C), the script will fill the form with the details from the disk (local network).
  • the agent can include in the request also information that is currently stored in its accessible contacts database.
  • the target contact's computer can insert the information into the empty form for display.
  • the script included in the request message composes a pre-formatted network message (e.g., by activating a "mail to" system function).
  • the target contact's updated/validated data are included in the network message.
  • the target contact's computer conveys the network message to the source contact for updating the contacts database thereof.
  • the network message can include only an indication thereto, instead of validated information.
  • Fig. 4 is a method for updating contact information in a target contact's computer, according to one embodiment of the invention.
  • the target contact receives a message from the source contact prompting the target contact to provide current contact data.
  • the message contains an HTML attachment (an update form) with a script or a link to an HTML form (also an update form) containing the script
  • the script when activated causes automatic conveying of the current contact data from a local storage repository to one or more addresses contained in the message for allowing the source contact (respective recipients) to add or replace the current contact information in their respective contact database 410.
  • the local storage repository is searched to locate the current contact data 420. If the current contact data is located on the local storage repository 430, a response message is generated and directed to the one or more addresses specified in the script or in the request message for conveying the current contact data to the one or more addresses for allowing a recipient thereat to add or replace the current contact data in their contact database 440.
  • the target may use the update form to create more than one personal data containing card (Business Card, Private Card) and use a proper button (key) to actuate transmission of one of these cards or all of them to the source.
  • the message addressed to the target may arrive from a Web directory and include the address of a host site and password. So, the user at the target computer can publish a few fields (even from his Business card) on the Internet white paper guide: e.g., while not willing to publish his e-mail address and mobile phone, the user might agree to publish some other data which will not expose him to "junk" mail.
  • a visitor to the Web directory site may find the published details of the user of his interest and contact this user in the above- described manner to request for the updated contact information of this user.
  • the site visitor actuates a respective key (pushes a bottom), and is then invited to enter his e-mail address and send a request for the updated contact information of the target (user).
  • the Web-site automatically generates an e-mail message (the same as the first request) asking the target to send his updated contact information to the visitor as per his entered e-mail address.
  • the target opens the HTML form, he views the details he have saved before to his local storage and can send a reply to the visitor by just pushing the "Update" button.
  • the target contact's computer can store the source contact's email address in a list stored locally, or accessible thereto.
  • the list referred to as a "contacts list”
  • the script contained in the HTML form when activated, can automatically convey the current contact data to all or part of the address in the contacts list.
  • his data can be conveyed to all or part of the address in the contacts list, and not just to the source contact that sent the request.
  • the target program can retrieve an HTML form accessible thereto, such as from a local repository or from a networked server, sending the data to all or part of the address in the contacts list.
  • an HTML form accessible thereto such as from a local repository or from a networked server, sending the data to all or part of the address in the contacts list.
  • the contacts list can store also supplementary information, apart from source contacts' email addresses.
  • supplementary information are circumstances for updating the target contact's data in the listed source contact's database, such as 'update on telephone number change', or 'update on address change'.
  • this is non-limiting and other types of supplementary information may exist.
  • supplementary information can also allow periodically updating one or more source contacts listed in the contacts list, for example, by including a tag indicative of the last update time and another tag indicative of the period's cycle length (once in a week, one a day etc.).
  • addresses can be listed in the contacts list when new requests arrive at the target contact's computer.
  • addresses can be listed therein manually, i.e., the target contact can manually add addresses of source contacts he want to keep updated with his contact data.
  • addresses can be listed from web pages.
  • HTML includes, for example, 'mailto' tags, for specifying email address.
  • the target program when the target contact selects a mailto tag, the target program, for example, can ask whether he wants to send an email to the specified address, or whether he wants to add it to the contacts list.
  • a new tag such as 'contactto', wherein selecting an address associated with this tag in an HTML page automatically inserts the address to the contacts list.
  • a program such as the target program, can scan the contacts list and automatically convey contact data to addresses stored therein, if their associate supplementary information indicates so.
  • the program can display listed information, wherein the target contact can indicate zero or more addresses therefrom, for conveying contact data thereto.
  • HTML forms can reside on different web servers, for example, several source contacts can have their own web servers, while others can host their HTML forms in public web servers providing hosting services for such forms.
  • an HTML form can also display part or all of the information listed in the contacts list (a list form). Listed information that is displayed in an HTML form is referred to as "displayed listed information”.
  • the contacts list is in a format that is displayable in a web page, such as XML, it is possible to retrieve information therefrom, displaying it in a list form. Even further, it is possible to include target contact's information in the contacts list. Thus, it is possible to store on a web server an empty HTML list form that is filled with information stored in the list, including target contact's information and/or contact information and/or supplementary information. It can be appreciated now that instead of storing or displaying one HTML form per each source contact, there can be at least one HTML form, filled with the target contact's data and with a list of source contacts to whom the data should be conveyed ("displayed source contacts list"). Further to the previously provided explanation is appreciated that the displayed source contacts list can include one contact directly associated with a request, or all the contacts listed in the target contact's contacts list, or part of the listed contacts (for example, in accordance with supplementary data).
  • the target contact can select zero or more contact out of the displayed source contacts list wherein updates will be sent only to selected contact.
  • updates can be sent to all the source contacts in the displayed source contacts list.
  • Other embodiments are allowed as well, such as an embodiment that hides the displayed source contacts list, thus the target contact would notice only his data that is filled in the HTML form, but not the displayed source contacts list.
  • domains are established. An HTML form stored in a web server might be able to access only information associated with the same domain. For example, in order for an HTML form to access information listed in a contacts list, the HTML form and the contacts list should be generated by entities belonging to the same domain.
  • FIG. 5 is a pictorial representation of a secured system 510 used for managing a source contact's address book, according to the principles of the present invention.
  • 110 represents a source contact and/or his and his computer/GUI
  • 120 represents a target contact and/or his computer
  • 130 represents a communication network
  • 140 is an agent program.
  • the target contact 110 has access to a forms server 520.
  • the forms server 520 can be accessible to several target contacts, wherein it is unnecessary that the several target contacts have any connection or relation between them. That is, the several target contacts can be foreigners, and/or they can work for different companies, and/or operate behind different firewalls, and/or connect to different LANs (Local Area Networks) etc.
  • the target contacts 120 and the forms server 520 can communicate, for example, via the internet. However, this is non-limiting and it is possible, for example, that a large corporate would allow that a forms server 520 be installed in its local network.
  • Fig. 6 is a flowchart illustrating secure update of contact data in a target contact's computer, according to an embodiment of the invention.
  • the target contact receives an update request from the source contact via email.
  • the target contact selects the link included in the request, thus connecting to the forms server, from which an empty list form is downloaded in 630.
  • information included in the contact list is filled into the empty list form, information that can include target contact's information, and/or contacts list information and/or supplementary information. It is noted that on the first time that the target contact receives a request message his contacts list will be initially empty, and thus no information apart from the request message's source contact information will be filled into the empty list form.
  • the target contact validates the filled information or updates at least part thereof, in 660 a response network message is generated, to include at least modified target contact's information or indication that previously stored information is valid.
  • the response network message is conveyed to the source contact, and in 680 modified information is stored in the target contact's computer. It is noted that the modified information can be stored in any available form and format, as was previously noted. In addition it is possible to store the modified information in the contacts list. It should be noted that in 680, if the request message's source contact was not previously stored in the contacts list, its contact would be appended thereto, for example by the script included in the update form or by the target program (if installed).
  • Fig. 7 is an illustration of a list form 710 including information, according to one embodiment of the invention.
  • a target contact whose first name is “Neri” and his family name is “Paglin” has a contact list in his computer, wherein his first and family names are listed, together with three listed contacts (his bank, a man power company and a fast food supplier).
  • the target contact receives a request message form a daily news provider, requesting him to update his contact data in their contacts database.
  • the list form 710 is displayed on the target contacts' screen. Apart from including the target contact's information (as was in the business card illustrated in Fig. 2C, for example), the list form 710 allows the target contact to select amongst the source contacts 720 those to which information will be conveyed.
  • the target contact decided to convey his information to the daily news provider, as well as to the bank, although the bank did not request him to update his information at this stage. It is further noted that the target contact select to convey the information to zero or more source contacts, then he can change his selection and press the Save button. Thus, if the target contact will deselect the daily news provider before pressing the Save button, the daily news provider's contact information will not be listed in the contacts list. In an alternative embodiment there may be only one button, performing Save and Select, however, in this case the target contact will not be able to save one instance of the information while conveying a second instance thereof as a response. Similarly, the target contact will not be able to convey the response to a first portion of the listed contacts, while saving a second portion of the listed contacts in the contacts list.
  • Fig. 7 is a non-limiting simplified example. It should be appreciated that the list form can include any number of listed contacts, it can use different ways in order to display information (such as selection boxes instead of the illustrated radio buttons etc.) and it can display any set of available information (unlike the first and family names illustrated in the figure).
  • the contacts list is updated (and initially generated) by a script that is included in the request message or in the empty form.
  • a script that is included in the request message or in the empty form.
  • the request can include target contact's information as stored in the source contact's database.
  • the forms server can load an already filled (or at least partly filled) list form from the forms server.
  • the forms server can get access to the target contact's information in any available way. For example, it can have access to the source contact's database or it can receive the target contact's information in the link that the target contact accesses.
  • the forms server does not necessarily belongs to the source contact it is appreciated that such an embodiment harms the target contact's privacy, while revealing his contact information to a forms server,.
  • the source contact's privacy can be harmed as well, as the forms server becomes aware to contacts information stored thereby.
  • the target contact can encrypt the contact information in any known per se method.
  • the encrypted information can be revealed to the forms server without harming the privacy of the source and/or the target contacts.
  • a known per se key including a password
  • the source contact can include the key in the request message, thus allowing the target contact to decrypt the encrypted information.
  • the target contact When the at least partly filled list form is initially displayed on the target contact's computer, the information included therein is encrypted and therefore it is unreadable.
  • the target contact By inserting the password or key that he received in the request message (referred to as the "decryption key"), the target contact can decrypt the information in order to view it.
  • the decryption key can be stored in or in association with the contacts list, for returning usage, and is valid as long as the source contact does not replaces the decryption key.
  • a script that is associated with the at least partly filled list form can parse it and insert it into the corresponding fields in any method known per se. For example, if the target contact information is represented by a single string, wherein a punctuation character (such as ';' or',') marks the end of a field, the script can read the string and parse it in accordance with the punctuation character, giving rise to field- contents. Then the script can fill the form's field with their respective field- content. It is noted that some of the field-contents can include 'blanks', therefore leaving their respective form's fields empty. Furthermore, it was previously mentioned (for example, with reference to
  • the target contact can also generate a key ("encryption key"), and provide it to the source target. Then, when updating information, the information can be encrypted using this encryption key, allowing only the source contact to decrypt and view the content thereof. Similarly to the decryption key, the target contact can store the encryption key in or in association with the contacts list.
  • the encryption and decryption keys can not be displayed in the list form, as the list form can be associated with a different domain than the source and target contacts. Therefore, in order to encrypt and decrypt information, the target contact need to brows the contacts list with a different tool than the forms list, or alternatively, switch between the list form and the request message that includes at least one of the keys. This is uncomfortable.
  • another embodiment of the invention allows the source contact to include in the request message a link to a web page on a web server privately owned. When the target contact selects the link he is led to this privately owned web server that can provide the decryption key to the target contact.
  • the privately owned server can provide a fractioned form, for example by using known per se frames.
  • a first fraction thereof e.g., a first frame
  • the target contact can use this first fraction also in order to update the source contact with his encryption key.
  • the source contact's web server can access the forms server and retrieve therefrom an empty list form or a list form that is at least partly filled with encrypted information. The accessed list form is then displayed in a second fraction (e.g., a second frame) of the fractioned form.
  • a fractioned form is displayed on his computer's screen, including both fractions: a first fraction for the encryption and decryption keys, and a second fraction with the list form. This allows an easy and comfortable encryption and decryption of information displayed in the list form.
  • the technique of the present invention provides for obtaining target-related information at the source computer using not only a direct communication between the source and target computers, but also a communication via a third party.
  • the case may be such that user A (constituting a source) utilizes his manager utility (e.g., a software product) installed at his computer to obtain information relating to user B (constituting a target) by contacting another user C with a message requesting user C to provide user A with contact information of user B.
  • a request-message may include two options: 1. Contact information of user B is known to user A, and user A requests user C to communicate with user B to advise that user A wishes to communicate to him; 2.
  • Contact information of user B is unknown to user A, and user A requests that user C contact another user (e.g., user D) that can help in obtaining this information.
  • User C upon receiving such a message, selects the suitable one of the above two options (i.e., actuates the respective link), and thus receives an appropriate HTML form, previously designed to enable automatic reply. More specifically, the so-linked forms for the two options are designed as follows: - Form enabling user C to enter the contact information (e.g., email address) of user B, to thus automatically transmit from user's C computer to user B a message indicative of that user A wishes to communicate with user B or obtain his related information, and including user's A contact data.
  • the present invention provides for managing user's database by communicating with other users via a communication network, while eliminating a need for installing specific software products on the user's communication system (computer). This is due to the using of a message pre-designed to include a predetermined link to at least one HTML form.
  • a receiver of the message can thus choose the appropriate link and obtain at his computer the appropriate HTML form that includes a script and alternative options to proceed per user's choice, such that when the user makes his selection, the respective script is actuated to transmit a pre-designed message to an address that appeared in the first message or that has been collected by the message receiver.
  • the technique of the present invention allows for automatically storing the data formatted as defined by the script in a local data depository such that this data will fill the HTML in an automatic manner. Hence, if in the future a similar message is received with a link to the same HTML form, the message receiver will be able to provide an automatic reply on the basis of the data entered in reply to the first such message.
  • the technique of the present invention utilizes the software typically provided in a computer or phone device connectable to the communication network, and allows for managing the database by exchanging messages that either includes a specific script within the message body or includes a link to the network server from which this script can be obtained.
  • the script is configured (i.e., presents a computer readable program code) for causing the computer to obtain the address of one user to which updated data of the other user is to be sent, for causing the computer to search for a file containing the current version of this data, and for locating this file to cause the computer to automatically generate a reply message conveying the current data to said address to thereby allow the recipient thereat to add or replace the current data in the database.
  • the 8A exemplifies yet another aspect of the present invention allowing for managing users' databases for updating them and leveraging data stored therein, by means of communication (via a communication network) between manager utilities using users' related (unique) communication codes.
  • the general principles of communication between the manager utilities using users' communication codes are described in the above-indicated US Patent No. 6,393,421.
  • the communication code may be an e-mail address associated with the manager utility.
  • the manager utility is a software product, the so-called "software agent” or "micro-server", installed on the user's computer for acting on his/her behalf. These agents are preprogrammed to communicate with each other via a predetermined protocol by exchanging preset messages.
  • r-agent, s-agent and t-agent are associated with three users, respectively, each for managing the database of the respective user.
  • user may and may not be referred to a central computer system, for example a network server utility where a central database is maintained.
  • each of these agents operates as a source contact utility as described above to manage the existing database of the respective user termed "Knowledge of User” (in the present example - knowledge of user r, knowledge of user s, and knowledge of user t). This is actually the database created via direct communication between the respective user (his/her agent) and others from his/her sources and or distribution/mailing list.
  • his/her agent operates to communicate with agent r of user r, to update user s database with data that is currently unknown to him her (termed "Knowledge Gap of User s) but existing in the databases of users r.
  • each user defines his/her own agent as to whether to obtain his/her permission prior to forwarding any data from his/her database to other users.
  • the user s database in addition to his/her own knowledge (directly obtained from specific users), also contains information from the database of user r.
  • user t might update user s with his/her "knowledge”.
  • agent s while communicating with agent r gets from agent r data regarding the "knowledge gap" of user r.
  • Agent s upon communicating with agent r, identifies that agent r is capable of communicating with user t directly or via agent t (e.g., the user t associated data record appears in the distribution/mailing list of user r).
  • agent s may request that agent r, on behalf of agent s, communicate with user/agent t to obtain the updated information of user t, or provide agent t with the communication code of user/agent s, so that agent t will be able to communicate directly to agent s.
  • r-, s- and t-agents communicate with each other to exchange information relating to users r, s, t, p and.u.
  • a computer system of this user need not be installed with the micro-server, and the information can be requested and obtained in the manner described above using a message including attached or linked to HTML form that includes a script enabling automatic data storage and generation of reply messages. If, however, the user's computer system is installed with the micro-server, the user can enjoy benefit of communication between the micro-servers. It is noted that the description above illustrated embodiments of the invention wherein HTML files (or links thereto) are used. However, it should be appreciated that the invention is not limited to HTML.
  • XML extensible Markup Language
  • XSL extensible Style Language
  • Java applets flash files
  • executable programs etc.
  • the term 'script' used above is not limited to known per se scripts. This term can also describe any other set of instructions in any available format and type, such as executable code. The invention was described in association with a contacts database.

Abstract

A computer-implemented method for use in updating data relating to a target contact (220) in a database accessible to a source contact is disclosed (FIG. 2B). A message is conveyed from the source contact to a target contact, aimed at prompting the target contact to provide current data (230) and configured for activating by the target contact on a computer accessible to the target to generate a reply message (275), to enable sending an updated version of said data from the target contact to an address specified in the message. Upon receiving the current data from the target contact, adding or replacing the current data in the database of the source contact.

Description

METHOD AND SYSTEM FOR MANAGING USER'S COMPUTERIZED DATABASE
FIELD OF THE INVENTION This invention is generally in the field of communication techniques and relates to a method and system for managing a user's computerized database, for example, an address book.
BACKGROUND OF THE INVENTION When people meet for business purposes, it is commonly practiced to exchange business cards containing relevant information for future contacts. A business card usually contains data pertaining to the following: name, occupation, company, position and addresses relative to communication systems such as mail, phone, fax, e-mail and the like. As time passes, it is usual for changes to occur in at least some of the data contained in a business card. Although names tend to remain the same, positions, occupations and many kinds of addresses are modified quite often. For example, a person may be promoted to a higher position in another division, may leave for another company or, as frequently occurs, his telephone number, facsimile or e- mail address can be modified. These are all "dynamic" changes that take place in everyday life.
Several personal data update techniques have been developed. Some of these techniques provide for updating contact information of a specific person by contacting him by means of an e-mail message, including his contact information and requesting him to confirm and/or update this information. According to one such technique, available from GoodContacts Ltd., a user A is the owner of contact information. Upon receiving an e-mail message, including his contact information, from another user B, A can update this information in the contact book of user B by means of a return e-mail message thereto. To this end, user A has to manually update all the data fields in the message, and do so each time he receives such an e-mail message. Another technique of the kind specified is described in WO 02/052436 disclosing a method for automatically updating and maintaining contact information for various contacts stored in a contact database without requiring an individual to manually update their contacts. Here, an automated reply process is used for the maintaining of contact information, requiring one individual to be a member of the service. The reply process utilizes access to a respective WebSite where the user receives an HTML dynamic page, including the user's contact information and allowing the user to store the updated information in a server, while the latter is responsible for updating this contact information in a database of another user, who has requested for updated information. This technique suffers from a need for a third party (server manager) involvement in a process of exchanging users' personal data, thus affecting the privacy of the process. Yet another problem arises when the e-mail address of user A has been changed, and thus a request-message for updating the contact data of user A does not reach him at all. A solution for this problem is proposed in WO 02/080051 disclosing a method for automatically updating and maintaining email contact information for various contacts stored in a contact database within or outside of an email application without requiring an individual to manually verify and update email addresses. The method flags an invalid email address of a destination individual when an error message is received indicative of mail delivery failure. Another available email address of the destination individual is then automatically designated as their primary address. U.S. Patent No. 6,393,421, of one of the inventors of the present application, discloses a communication system and method for enabling keep in touch technique between users utilizing a manager utility and user's related communication codes. The owner of the code, or any other authorized person, creates a data record containing information belonging to the code owner, and feeds this data record to the manager utility. The manager utility, upon receiving the data record, stores it in a database and assigns the communication code, associated with at least a part of the stored information, to the data record owner. Upon receiving the communication code from the code receiver, the manager utility provides him with the respective information of the code owner. Upon detecting that changes have been made to the data record of the code owner, the manager utility operates to update the code receiver. The communication code may be e-mal address associated with the manager utility, and the process of requesting and updating the information may be conducted via e-mail messages.
SUMMARY OF THE INVENTION It would be desirable to have a simple, yet robust range of options for empowering the advantages of computer communication, particularly using e- mail, and especially by automated alternatives, for both requesting certain predefined information, such as e-mail and other target contact personal information, and replying to such requests. More specifically, the present invention is used for managing user's address book and is therefore described below with respect to this specific application. It should however be understood that the principles of the present invention may be used for managing other databases. The present invention provides a new software tool (utility) for managing the user's computerized database, such as contacts-related database or address book. The owner of a database (e.g., an address book owner, henceforth: "the source contact") who is interested in validating or receiving certain information (e.g. contact information) from another user (henceforth: "the target contact") will, by using this new software tool, be able to send target contact validation/update requests (and receive the updated/validated information). For the purposes of obtaining at the source computer the target-related information, the present invention utilizes either a direct communication between the source and target computers or a communication between a source computer and another side that communicates with the target on behalf of the source, as per source request. At the source contact side, a process of generating a request message, as well as a process of updating the database upon receiving a reply to this request, is fully automatic, and may not require the user's involvement. At the target contact side, where there is no specific program installed, the present invention provides a user for replying to such requests in a semi-automatic manner, with no need for reentering updated/validated information per each new request and without exposing his data to an intermediary. Moreover, the present invention provides a solution for the above- described problem, when a source contact either has no e-mail of the target contact or e-mail stored in the database of the source contact is not updated. To this end, the method of the present invention utilizes automatically searching in the database for a phone number associated with the target contact, contacting the target phone system and instructing the target, by a pre-recorder message, to feed his fax number or other contact information by using tone dialing and/or recording a voice message with the requested details. There is thus provided, according to one broad aspect of the present invention, a computer-implemented method for updating data relating to a target contact in a database accessible to a source contact, said method comprising: conveying to the target contact a pre-designed message prompting the target contact to provide current data and configured for activating a predetermined script on the target contact computer to generate a reply message, to enable sending an updated version of said data from the target contact computer to an address specified in the message and enable storing the updated version of said data to a local storage repository of the target contact to enable automatic generation of similar reply messages in the future; receiving the current data from the target contact; and adding or replacing the current data in the database. Said conveying of the message to the target contact may include conveying a first message to a certain contact thereby allowing said certain contact to generate the second message to be conveyed to the target contact.
Preferably, the method includes decoding the current data received from the target contact in order to extract discrete fields of the data for updating corresponding fields in the database. The current data is preferably a delimited text string, and the decoding includes parsing the delimited text string to extract concatenated discrete fields therein.
The message may include existing data for displaying to the target the contact data as currently stored in the database. The message may be an e-mail message, and may include an (HyperText Markup Language) HTML attachment or a link to a site where the target can get an empty HTML form. The HTML file/form may include multiple fields each relating to an item in the database and includes the script for storing the data to the local storage repository associated with the target and automatically generating a reply message. According to another broad aspect of the invention, there is provided a computer-implemented method for use in updating data relating to a target contact in a database accessible to a source contact, said method comprising: conveying to the target contact a pre-designed message configured to provide access at the target contact to an (HyperText Markup Language) HTML form prompting the target contact to provide current data and configured for activating a predetermined script on the target contact computer, said script being configured to automatically generate a reply message to enable sending an updated version of said data from the target contact computer to an address specified in the message and enable storing the updated version of said data to a local storage repository of the target contact to enable automatic generation of similar reply messages in the future. According to yet another broad aspect of the present invention, there is provided a computer-implemented method for updating data relating to a target contact in a database accessible to a source contact, said method comprising: receiving, via a communication network, a message associated with the source contact prompting the target contact to provide current data, said message containing a predetermined script to enable storing the current data to a local storage repository of the target contact, and to enable automatically conveying the current data from the local storage repository to at least one address contained in the message for allowing respective recipients thereat to add or replace the current data in a respective database; searching said local storage repository to locate said current data; and if said current data is located on said local storage repository, generating a reply message directed to said at least one address specified in the message for conveying the current data to said at least one address for allowing a recipient thereat to add or replace the current data in the database.
Preferably, if current data is not located on the local storage repository, the method provides for saving this data on the local repository. This can be implemented using the script which calls to an internal object of Internet Explorer known as USERDATA Behavior, which when actuated, operates to save the data from the HTML file/form to the local storage repository in XML format. The method preferably provides for encoding the data for conveying discrete fields thereof to said one or more predetermined destinations. The encoding includes concatenating said discrete fields a delimited text string. Thus, according to one embodiment of the invention, the message structure from the source to the target, requesting updating the target related record utilizes transmission of an attachment (such as HTML). The attachments includes a script, which when activated by the recipient (target) by clicking a "Save" key (button), stores the data to a pre-defined location. Considering that in most cases there is an Internet Explorer at the target side, the script is of the kind capable of operating the USERDATA Behavior function, which is part of Internet Explorer, to save the data in a local storage repository. The data is saved as XML document which is identified using a unique name (rather than a path to a file).
According to another embodiment, instead of transmitting the attachment, a link to a certain Internet server is transmitted, for example because of security problems (Firewalls etc.). Activation of this link by the target contact, queries an
Internet server to request for an empty HTML form which includes a similar script that functions as the HTML attachment.
Once the updated data is saved in the target's storage repository, the user at the target side is instructed to activate the data transmission (to push the send button). This button (key) activates a respective script (Java script), which is either the same script or another script that was in the HTML form to generate the reply message (from the target to the source), that uses the MAILTO protocol of the target e-mail program to generate an email message and insert the data from the saved XML document into the message or as an attachment to the message and insert the e-mail address of the source into the "To" field of the e- mail message.
After the target related data has been once saved to his local storage repository, when the target receives a similar message, opening of the HTML form (either by opening the HTML attachment or by actuating the respective link to an empty HTML form) displays the user the details which he saved previously. Now, the user can again update and save the data to the same destination and then push the "Send" button, or just push the "Send" button if the data is updated.
The script can be configured to cause automatic transmission of the email reply message or to provide a message form and wait for the user pushing the "Send" button of the message form (so the user can review the message before the message is sent).
According to yet another aspect of the present invention, there is provided a computer-implemented method for updating data relating to a target contact in a database accessible to a source contact, said method comprising: obtaining at least one address of a source contact to which updated target contact data is to be sent; searching for a file containing current data; upon locating said file, automatically generating a message conveying, via a communication network, the current data to said at least one address for allowing a recipient thereat to add or replace the current data in the database.
The present invention, in its yet another aspect, provides a computer- implemented program storage device readable by machine, tangibly embodying a program of instructions executable by the machine to perform method steps for updating data relating to a target contact in a database accessible to a source contact, said method comprising: obtaining at least one address of a source contact to which updated target contact data is to be sent; searching for a file containing current data; upon locating said file, automatically generating a message conveying the current data to at least one address for allowing a recipient thereat to add or replace the current data in the database. According to yet another aspect of the invention, there is provided, a computer-implemented computer program product comprising a computer useable medium having computer readable program code embodied therein for updating data relating to a target contact in a database accessible to a source contact, said computer program product comprising: computer readable program code for causing the computer to obtain at least one address of a source contact to which updated target contact data is to be sent; computer readable program code for causing the computer to search for a file containing current data; computer readable program code responsive to locating said file for causing the computer to automatically generate a message conveying the current data to at least one address for allowing a recipient thereat to add or replace the current data in the database. Instructions to the program can be executed either by entering the target contact's e-mail address on the appropriate screen or by selecting a contact from the source contact's address book (it is possible to select multiple target contacts at one time). The program sends an update/validation request to the target contact that includes: 1. Free text (sample) "the following are your details as they appear in my address book. Please assist me in validating/updating these details... " 2. An HTML file attachment or a link to an Internet server from where the HTML file could be provided, that contains: 2.1. Free text with explanation 2.2. A table, for example in the form of a business card, containing the fields, which the target is asked to fill. 2.3 A Script to save the data to a local storage repository and to generate a return message, such as e-mail message, from the target contact to the source contact that will contain all the details saved in the table. 2.5 A Script execution key. Pressing this key will activate the script to call a system request to save the data from the file to the address on the target contact's computer that was pre-defined in the message (or using a unique name as described above) and will generate a reply message to the address specified in the message request. 3. A card containing contact's details as they are currently known to the source contact, in the event that they exist in the source contact's address book. The source contact has the option to send a blank card even when the details do appear in the address book. 4. A link to the Internet site from which to download the program.
Where the target contact already has the program installed, the program will either respond to the source contact automatically, or alternatively ask permission from the target contact to respond automatically, all according to the preferences defined by the target contact in the program's user preference screen. This technique is described in U.S. patent No. 6,393,421 of one of the inventors of the present application. The following prompts are displayed if the target contact does not have the program of the present invention installed: 1. Open the Attachment that comes with the e-mail message or clicking the link to get the HTML file from an Internet site. 2. Fill the fields in the attached table. 3. Save the data to the pre-defined address by pressing the Save button on the message. 4. Authorize sending the updated/validated details to the sender (the source contact), by pressing the supplied Activate Script key (Named as "Reply to <applier name> " as an option. The script will then compose a pre-formatted e-mail message in which the target contact's updated/validated data is included. 5. Send the above e-mail message to the source contact by pressing the Send key on the e-mail form. Should a similar request reach the target contact from a different source contact at some future time, requesting updated contact information, the target contact simply has to click on the appropriate link (that contains an e-mail address from which the request originated). Clicking on this link will open up the previously saved HTML page or will import an empty HTML file from an Internet site and fill it with the data from the saved file. Pressing the Activate Script key will once again compose a new e-mail message addressed to the new sender (source contact) that contains all the previously entered details. The target contact has the ability to update any details that might have changed and save the new changes by pressing the Save key on the HTML page. If the target contact chooses to download the program by clicking the appropriate link, this will lead to an Internet site from which to download the identical program employed by the sender/source contact. Running the program the first time instructs the target contact how to set up his personal business card, and will automatically respond to the source contact's request, as described in the above-indicated U.S. patent No. 6,393,421 of one of the inventors of the present application. According to yet another aspect of the present invention, there is provided a computer-implemented method for managing users related databases via a communication network, the method comprising providing, in computer systems of at least some of the users, similar manager utilities configured to communicate with each other by using the users' unique communication codes, respectively, the manager utility of one user being capable of communicating with the manager utility of another user to update the database of said one user with information stored in the database of said another user, and capable of actuating the manager utility of said another user to contact yet another user on behalf of said one user to request for information relating to or stored in the database of said yet another user.
BRIEF DESCRIPTION OF THE DRAWINGS In order to understand the invention and to see how it may be carried out in practice, a preferred embodiment will now be described, by way of non- limiting example only, with reference to the accompanying drawings, in which:
Fig. 1 is a pictorial representation of a system for maintaining a source contact's address book, according to one embodiment of the invention; Fig. 2A is a flowchart illustrating a method for managing a source contact's address book, according to one embodiment of the invention;
Fig. 2B is a flowchart illustrating operations that can occur in a target contact's computer, after receiving an update request, according to one embodiment of the invention; Fig. 2C illustrates a target contact's business card, according to an embodiment of the invention;
Fig. 3 is a flowchart of constructing an update request message in an agent program, according to an embodiment of the invention;
Fig. 4 is a flowchart of the method according to the invention, from the perspective of the target, for updating data relating to a target contact in a contact database accessible to a source contact;
Fig. 5 is a pictorial representation of a secured system used for managing a source contact's address book, according to the principles of the present invention; Fig. 6 is a flowchart illustrating secure update of contact data in a target contact's computer, according to an embodiment of the invention; Fig. 7 is an illustration of a list form including information, according to one embodiment of the invention; and Figs. 8A and 8B exemplify the principles of one more aspect of the invention.
DETAILED DESCRIPTION OF THE INVENTION In the following description components that are common to more than one figure will be referenced by the same reference numerals. Reference is now made to Fig. 1, which is a pictorial representation of a system 100 for maintaining a source contact's address book, according to one embodiment of the invention. The system 100 is formed by communication devices or computers connectable to each other via a communication network. An address book owner 105, or "source contact", shown seated at a computer/GUI 110, is interested in validating or receiving contact information from a target contact, whose computer 120 is shown. The source contact will send to the target contact validation/update requests via the Internet 130, or other communication network, and receive the updated/validated information. Computer/GUI 110 has been provided with an agent program 140. The agent program is sometimes referred to also shortly as an "agent", a "micro- server" or a "plug-in agent" and it can be any computer program such as a stand alone program or a plug-in. The target contact's computer may also have a copy of a target program 150 in his/ er computer 120. It is noted that the target program 150 can be similar to the agent 140. The system 100 illustrated in Fig. 1 is by no way binding. Although in the present example, these are computer devices that are connectable via the Internet, it should be understood that the present invention could utilize communication between telephone devices (sometimes referred to, shortly, as "phones" or "phone devices"), between computers, PDAs (Personal Digital Assistant), a combination thereof (e.g., communication between computers and telephones and/or PDAs) etc. Thus, in the case when the communicating devices are telephones, for example, they can communicate via a switching system. Furthermore, the target contact's computer 120 should not necessarily include a target program 150, as will be described with detail below. In addition, it is noted that according to the illustrated embodiment there are two programs: the agent program 140 and the target program 150. It should be noted that according to one embodiment of the invention the two programs can be similar and perform tasks adapted to the source contact's computer as well as to the target contact's computer. According to a different embodiment the agent program 140 can perform tasks adapted to the source contact's computer as well as to the target contact's computer, while the target program 150 performs only tasks adapted to the target contact's computer. Alternatively, the agent program 140 can perform tasks adapted to the source contact's computer while the target program 150 performs tasks adapted to the source contact's computer as well as to the target contact's computer. According to yet a different embodiment the agent program 140 can perform tasks adapted to the source contact's computer while the target program 150 perform tasks adapted to the target contact's computer. Not only that, but according to an alternative embodiment the source contact's computer and/or the target contact's computer can install the agent program 140 and the target program 150, instead of installing only one of them, as illustrated in the figure. It should be understood that although the source contact 105 in the figure is illustrated as a person, this is non-limiting too, and the source contact 105 can be any entity that owns a contacts' database. Examples to source contacts are a bank (wherein the contacts database includes, for example, information about the bank's customers), a man power company (wherein the contacts database includes, e.g., information about employees), a fast food supplier (wherein the contacts database includes information such as suppliers information) etc. In addition, knowing that the source contact operates the source contact's computer (communication device), when he operates in accordance with the invention, it should be appreciated that he uses the source contact's computer (or telephone or PDA etc.). Thus, unless specifically noted, when it is noted that the source contact operates in a certain way it should be appreciated that the source contact computer operates the same way. Furthermore, in those cases when the source contact's computer operates automatically, without the source contact involvement (or with partial involvement thereof), realizing that the source contacts computer operates on behalf of the source contact it should be appreciated that the source contact's computer can be referred to as the source contact. Similarly, it is noted that the target contact's computer is sometimes referred to as the target contact. The present invention provides for a computer-implemented product (computer program) for updating data relating to a target contact in a contact database accessible to a source contact. The computer readable program code causes the target contact's computer to obtain at least one address of a source contact to which updated target contact data (referred to also as target contact information) is to be sent; causes the computer to search for a file containing current contact data; and is responsive to locating the file for causing the computer to automatically generate a message conveying the current contact data, or part of it, to the at least one address for allowing a recipient thereat to add or replace the current contact data in the contact database. Fig. 2A is a flowchart illustrating a method for managing a source contact's address book, according to one embodiment of the invention. The process begins with 210 when an agent program is loaded, or installed in the source contact's computer. In 220, the source contact may convey to the target contact a request message for the purpose of validating/updating the selected information of the target contact. According to one embodiment of the invention, the message is conveyed by sending it to the target contact by e-mail. However, other ways are allowed as well, such as uploading the request message to the target contact's computer when he downloads a web page wherein a link to an HTML page exist (such as a link having the text "Do we know you?"), wherein the HTML page is the request message. The request message prompts the target contact to confirm that his current data saved in the source contact's database are correct, or to provide currently contact data. In order to allow the target contact to do so, the request message includes an update form. The update form can be included in the request as an HTML file attachment and/or as a link to an Internet server where the HTML form could be imported from. The update form (the file attachment and/or the linked HTML form) contains a script for automatically generating a reply message to an address specified in the message. The script can collect information included in the form, construct a pre-formatted message including the collected information and convey the pre-formatted message to the source contact. In addition, it should be appreciated that the target contact can have information stored in his computer. Thus, when receiving a request and opening the update form (the file attachment and/or the linked HTML form), the script can retrieve the stored information and fill it into the update form, reducing source contact's typing efforts thereby. Thus, in order to explain to the target contact about the nature of the request message and about his required response, the request message may for example include the following free text: "Please take a moment to update your contact information in my address-book via direct e-mail, without any intermediary. Once done, you can answer similar messages with one click". The request message may include, as an option, the target contact data that is currently stored in the source contact's address book.
The method illustrated in Fig. 2A is non-limiting and different variations may exist. For example, according to a certain embodiment, instead of loading the agent program as part of the method, the agent program can be pre-installed in the system, such as being part of the operating system or being associated with the installation thereof. Alternatively, the agent program can be installed in a server, wherein the source contact's computer has access thereto, e.g., by using a browser or using a LAN (Local Area Network). According to an additional example, the source contact's computer can send update requests in 220 on a periodical basis, e.g., once in a year. Alternatively, or in addition, sending update requests can be based on different basis. For example, events occurring in business can trigger and cause the source contact to send update requests, e.g., a new industrial zone is opened, where to many companies move their headquarters, thus the source contact believes that information corresponding to many of his target contacts can change. It should be understood that sending update requests can be manually triggered too. For example, if the source contact or a person working on his behalf knows that information corresponding to a certain target contact had changed, he can a manually trigger sending an update request. Fig. 2B is a flowchart illustrating operations that can occur in a target contact's computer, after receiving an update request message, according to one embodiment of the invention. In 225 the target contact's computer receives an update request message. If in 230 it is found that this is the first time the target contact receives such a message, then he is instructed in 240 to open the file attached to the request message, or to follow the link included therein in order to import an update form and follow further instructions as will be explained below. This is indicated, for example, by the following exemplary text that can be included in the update request message: "Open the attached file and follow the instructions " or "Activate the link to import a form ". IT should be understood the file attachment includes a copy of the update form. The file attachment or linked update form can include HyperText Markup Language (HTML) data. The update form can include free text with explanation; one or more tables, or a form, containing fields that the target contact is asked to fill or confirm their content; a script capable of generating a return message from the target contact to the source contact containing the target contact's information; and "buttons" such as a Save button and/or a script execution key. It is noted that in order to find out whether this is the first time the target contact receives an update request message, a question can be displayed on his screen, prompting him to respond to a question. However, alternative methods can be used as well. For example, in an automated method, after the target contact's computer terminates handling an update request message (or sometimes after handling the first update request message), a flag is marked in therein, wherein in 230 this flag is checked. In 270 the update form is displayed. An example of a displayed form is illustrated in Fig. 2C, described in detail below.
In 275 the information included in the form is conveyed to the source contact's computer in response to the update request message. However, if in 230 it is found that the target contact had received an update request message in the past, then it is assumed that there is a file stored in the target contact's computer or accessible thereto, wherein this file includes target contact's information. It is possible to consider the file as the target contact's business card. Therefore, in 250 the target has to choose whether he wants to send stored information as response to the update request message, and if so, in 260, the target contact can indicate whether he wants to send his currently stored business card or view (and optionally update) the information stored therein before sending. For example, two buttons can be presented, one indicating "View my updated Business Card" and the other "send my currently stored business card". If the target contact opts to view the information, in 270 his business card is displayed (see Fig. 2C), where he can type additional or replacing information. In 275 the information included in the form is conveyed to the source contact's computer in response to the update request message. In addition, it is possible to offer the target contact to download and install a target program in his computer. If the target contact agrees, the target program is downloaded and installed. It is mentioned, though, that this is non-obligatory. For example, according to one embodiment if the target contact responds with 'No' to 280, it will not be suggested to him again, or it will be some predetermined time before it will be suggested to him again. Those versed in the art will also appreciate that if the target program is already installed in the target contact's computer, there may be no reason to offer him to download it again (unless a upgrade to a newer version is available), etc. It should also be understood that is it possible to offer the target contact to download and install an agent program in his computer. Thus, if the target contact has a contacts' database accessible to his computer he can send update request messages to other target contacts listed therein. Fig. 2C illustrates a target contact's business card 2100, according to an embodiment of the invention. The business card includes free test, such as "Your business card" 2110. The business card includes also indication of different fields
(2120) and information associated therewith (2130). It is noted that in the first time that the business card is viewed (such as following 240 in Fig. 2B), blank space can be displayed instead of unavailable information. Alternatively, an indication such as "UNAVAILABLE" can be displayed, instead of blank space, etc. The business card can include also buttons such as "Save" 2140 and "Send"
2150, wherein pressing on the save button 2140 stores the information in a file accessible to the target contact's computer, and pressing on the send button 2150 conveys the information to the source contact's computer, as indicated for example, in 275 (see Fig. 2B). According to one embodiment, in order to save the data from the HTML page, e.g., when pressing the Save button 2140, a system request to save the data to a local storage repository in or accessible to the target contact's computer is activated. The data can be save in a file, for example. Alternatively, it can be stored in a database or in any other available way and format. The file name (if required) may be either predetermined (e.g., by the script) or pre-defined by the target contact when he receives the first such request; Any other applicable way for determining the file name is allowed, such as generating a random name during installation or during the first request reception. The local target contact storage repository can be, for example, a disk, non volatile memory or any other long term storage device such as flash memory card etc. It is noted that the business card illustrated in Fig. 2C is illustrated as an example, and is by no way binding. For example, the business card can include additional information such as an email address, while currently illustrated information (such as "FAMILY NAME") can be missing. Similarly, there can other buttons as well. For example, there can be only a SEND button, wherein the information is automatically saved while (including before or after) conveying the response to the source contact. Alternatively, there can be a CANCEL button, closing the business card without sending or saving the information included therein. If the target contact (the recipient) had filled such a form and saved, or stored the data in the past, the form can be automatically filled up with the stored data from his disk (those versed in the art will appreciated that a cookie, for example, can be utilized). Thus, if something has changed since the last time the recipient updated his data, he can just update the changed data, and save the updated data by clicking the save button on the form. In a slightly different embodiment, apart form including an attachment and/or a link to the HTML form the request message can include data, such as textual data. The data can be later filled into the downloaded HTML form, thus presenting to the target contact the data that is currently stored in the source contact's address book. Returning to describe the request message, it should be appreciated that it includes also an e-mail address of the source contact, or any indication thereto, so that the script can formulate an automatic reply to the source contact. For example, apart from containing the address itself, the message can include, for example, an index indication to the source contact's address, in order to locate this address in a database of addresses. It was noted before, following the description of Fig. 2A, that an update request message can include an update form. The update form can be included in the request as an HTML file attachment, and/or as a link to an HTML form at the Internet server. It should be appreciated that by including a link it is possible to avoid a known problem associated with receipt of HTML file attachments that are attached to e-mail messages, which are blocked in some cases by security tools such as Firewalls. Thus, by selecting or clicking the link in the message, the target contact can receive an empty HTML form (such as the form of Fig. 2C when not including information), fill his details into the form and save his contact data to his disk by clicking a button on the HTML form. To this end, when the source contact's computer receives an email message carrying the target contact's data (substantially all his data or only part thereof, such as the updated data), the program in the source contact computer is capable of converting the mail message into corresponding text fields. According to another embodiment, the message generated at the source contact computer is an acoustic data stream, such as a voice message or tones' stream, and is conveyed via a telephone network to the target contact telephone device 120. It is appreciated that an acoustic data stream can be stored, for example, in a known per se MP3 file, WAVE file etc. Alternatively, an acoustic stream can be broadcasted to the target contact phone by a switch or by a server associated therewith. This embodiment is effective, for example, when the source contact's database has no e-mail address of the target contact or when it appears that the e-mail address stored therein is incorrect (i.e., is not updated). In this case, the voice message will include a request for the target contact to provide his/her e-mail or fax number, in order to be able to convey there the request message with the target contact information to be verified updated. The source contact's computer (110 in Fig. 1) or another computer associated therewith will thus have to be equipped with a suitable electronic card, such as DTMF, for generating voice messages and transforming the tones, generated by target, to data in the source database or saving a voice file attachment in the source database including a pointer at the source address book to from an association between the relevant contact's record and the voice attachment.
It should be appreciated that in an alternative embodiment the acoustic data stream can represent the source contact's data that are kept in the target contact's database. Such a message can include, for example, indication of different fields and information associated therewith (such as "FIRST NAME" and "Neri", respectively, as illustrated in Fig. 2C). When the target contact receives the message, he can listen to it, and then he can record new information (by using his voice or by pressing the telephone keys) to replace the previously stored information. Then, a message including the target contact's recorded information is conveyed to the source contact's computer, where the data is processed to update the contacts database. If the target contact only confirms that the received information is correct, it is unnecessary to record and convey the information to the source contact. Those versed in the art will appreciate that in this case only an indication is enough, indicating that the data included in the request is correct.
It should be appreciated that that acoustic streams can be used also with computers, for example. Thus this latter embodiment is not limited only for use in telephones. Furthermore, this latter embodiment is effective also for use, e.g., with the blinds, who have difficulties in reading emails. It was mentioned before, with reference to Fig. 1, that according to an embodiment of the invention, the target contact can have a program installed (the target program). The target program can allocate a location (such as a pre- allocated location) in the local storage device or any other storage device that the target program's computer has access to (e.g., disk or local network), store target contact's information thereto, retrieve the information and/or send the information to the source contact. If the target contact already has the target program installed and has previously saved updated target contact information to a pre-allocated location on disk (or local network), then the target program either responds to the source contact automatically or asks permission from the target contact to respond automatically, e.g., in accordance with preferences defined by the target contact in the program's user preference screen. It is noted that an exemplary method for communication between an agent program 140 and a target program 150 is described in U.S. Patent No. 6,393,421. Fig. 3 is a flowchart of constructing an update request message (shortly referred to as a "request message") in an agent program 140, according to an embodiment of the invention. In 305 an update form is attached to the request message, together with a link to an HTML update form. The attached update form (and/or the HTML update form) can be any form applicable for updating contact's information, such as the business card of Fig. 2C. It should be appreciated that after conveying the request message to a target contact, he will open the message and then he can open the attached update form or select the link to load the update form from the Internet. It is noted that according to several embodiments the agent program can be aware whether a certain target contact's computer has a target program installed therein or not (For example, while loading and/or installing the target program a target contacts' computer can notify the agent program thereof). If in 310 the agent program is unaware of the target contact's computer situation, or if it realizes that the target contact has no target program installed, then in 340 the agent program inserts into the request instructions to open the file attachment that comes with the request message or to request an update form from an Internet server by selecting the link included in the request. Then in 350 the agent program inserts into the request instructions for updating or validating displayed information. In 360 it inserts into the request instructions for saving changes to the information to a storage device that is local or accessible to the target contact's computer. In 370 the agent program inserts into the request instructions for authorizing sending the updated/validated details to the source contact (e.g., by pressing the "Send" button 2150 of Fig. 2C) and in 380 the request is conveyed to the target contact. If the agent is aware that a target program is installed in the target contac's computer than instructions are not required (the target program will automatically respond to the request message or at least will ask the target contacts' permission to do so) and therefore the request message can be sent without including instructions therein. It is appreciated that the update form downloaded from a server can be an empty form. According to the embodiment, the update form includes a script. Therefore, if the target contact had already saved his contact information in the past (see, e.g., 2150 in Fig. 2C), the script will fill the form with the details from the disk (local network). In an alternative embodiment the agent can include in the request also information that is currently stored in its accessible contacts database. After loading or opening an empty update form the target contact's computer can insert the information into the empty form for display. It should further be appreciated that when a target contact authorizes sending the updated/validated details to the source contact, the script included in the request message composes a pre-formatted network message (e.g., by activating a "mail to" system function). The target contact's updated/validated data are included in the network message. Then the target contact's computer conveys the network message to the source contact for updating the contacts database thereof. However, it is further noted that if the target contact validates the current information, without inserting new information, the network message can include only an indication thereto, instead of validated information. Returning to 310 in Fig. 3, it is noted that if the target contact's computer has a target program installed, the target program can automatically respond to the request message with or without requesting the target contact's permission, according to preference defined by the target contact, e.g., in a target program's preference screen or during the installation thereof. The target program can download the empty form and/or open the attachment for the target contact. Therefore, it is unnecessary to include instructions such as those included in the request in 340, 350, 360 and 370. In this case, it is possible to immediately convey the request to the target contact in 380. Fig. 4 is a method for updating contact information in a target contact's computer, according to one embodiment of the invention. The target contact receives a message from the source contact prompting the target contact to provide current contact data. The message contains an HTML attachment (an update form) with a script or a link to an HTML form (also an update form) containing the script, the script when activated causes automatic conveying of the current contact data from a local storage repository to one or more addresses contained in the message for allowing the source contact (respective recipients) to add or replace the current contact information in their respective contact database 410. Then the local storage repository is searched to locate the current contact data 420. If the current contact data is located on the local storage repository 430, a response message is generated and directed to the one or more addresses specified in the script or in the request message for conveying the current contact data to the one or more addresses for allowing a recipient thereat to add or replace the current contact data in their contact database 440.
It should be noted that the target may use the update form to create more than one personal data containing card (Business Card, Private Card) and use a proper button (key) to actuate transmission of one of these cards or all of them to the source. It should also be noted that the message addressed to the target may arrive from a Web directory and include the address of a host site and password. So, the user at the target computer can publish a few fields (even from his Business card) on the Internet white paper guide: e.g., while not willing to publish his e-mail address and mobile phone, the user might agree to publish some other data which will not expose him to "junk" mail. A visitor to the Web directory site may find the published details of the user of his interest and contact this user in the above- described manner to request for the updated contact information of this user. To this end, the site visitor actuates a respective key (pushes a bottom), and is then invited to enter his e-mail address and send a request for the updated contact information of the target (user). The Web-site automatically generates an e-mail message (the same as the first request) asking the target to send his updated contact information to the visitor as per his entered e-mail address. In this case, when the target opens the HTML form, he views the details he have saved before to his local storage and can send a reply to the visitor by just pushing the "Update" button.
According to yet a different embodiment, the target contact's computer can store the source contact's email address in a list stored locally, or accessible thereto. The list, referred to as a "contacts list", can be, for example, a known per se XML file. The script contained in the HTML form, when activated, can automatically convey the current contact data to all or part of the address in the contacts list. Thus, when the target contact receives an HTML form (the HTML form is included in a request or linked thereto), his data can be conveyed to all or part of the address in the contacts list, and not just to the source contact that sent the request. Alternatively, the target program can retrieve an HTML form accessible thereto, such as from a local repository or from a networked server, sending the data to all or part of the address in the contacts list. Thus, when some of the target contact's data changes, for example, the target contact can access the HTML form at his initiative (without waiting for a request), thus sending his data to all or part of the address in the contacts list.
Furthermore, the contacts list can store also supplementary information, apart from source contacts' email addresses. Examples to supplementary information are circumstances for updating the target contact's data in the listed source contact's database, such as 'update on telephone number change', or 'update on address change'. However, this is non-limiting and other types of supplementary information may exist. For example, supplementary information can also allow periodically updating one or more source contacts listed in the contacts list, for example, by including a tag indicative of the last update time and another tag indicative of the period's cycle length (once in a week, one a day etc.).
It should be noted that addresses can be listed in the contacts list when new requests arrive at the target contact's computer. Alternatively, addresses can be listed therein manually, i.e., the target contact can manually add addresses of source contacts he want to keep updated with his contact data. According to a different alternative addresses can be listed from web pages. Those versed in the art can appreciate that HTML includes, for example, 'mailto' tags, for specifying email address. According to an embodiment of the invention, when the target contact selects a mailto tag, the target program, for example, can ask whether he wants to send an email to the specified address, or whether he wants to add it to the contacts list. Alternatively there can be a new tag, such as 'contactto', wherein selecting an address associated with this tag in an HTML page automatically inserts the address to the contacts list. A program, such as the target program, can scan the contacts list and automatically convey contact data to addresses stored therein, if their associate supplementary information indicates so. Alternatively, the program can display listed information, wherein the target contact can indicate zero or more addresses therefrom, for conveying contact data thereto. However, according to a different embodiment it is possible to convey data to all or part of the addresses in the contacts list without having a program installed in the target contact's computer. It was previously explained that a request can include a link to an HTML forms. It is thus possible to include links to HTML forms in the contacts list, wherein the target contact can display the list in his browser, for example, select one or more links therefrom, and update his data with the source contact with whom the link is associated without requiring a request message. It is appreciated that the HTML forms can reside on different web servers, for example, several source contacts can have their own web servers, while others can host their HTML forms in public web servers providing hosting services for such forms. Moreover, it should be appreciated apart from displaying a form for filling the target contact's data (an update form), an HTML form can also display part or all of the information listed in the contacts list (a list form). Listed information that is displayed in an HTML form is referred to as "displayed listed information". That is, if the contacts list is in a format that is displayable in a web page, such as XML, it is possible to retrieve information therefrom, displaying it in a list form. Even further, it is possible to include target contact's information in the contacts list. Thus, it is possible to store on a web server an empty HTML list form that is filled with information stored in the list, including target contact's information and/or contact information and/or supplementary information. It can be appreciated now that instead of storing or displaying one HTML form per each source contact, there can be at least one HTML form, filled with the target contact's data and with a list of source contacts to whom the data should be conveyed ("displayed source contacts list"). Further to the previously provided explanation is appreciated that the displayed source contacts list can include one contact directly associated with a request, or all the contacts listed in the target contact's contacts list, or part of the listed contacts (for example, in accordance with supplementary data).
According to one embodiment the target contact can select zero or more contact out of the displayed source contacts list wherein updates will be sent only to selected contact. Alternatively, updates can be sent to all the source contacts in the displayed source contacts list. Other embodiments are allowed as well, such as an embodiment that hides the displayed source contacts list, thus the target contact would notice only his data that is filled in the HTML form, but not the displayed source contacts list. However, those versed in the art would appreciate that due to security limitations, domains are established. An HTML form stored in a web server might be able to access only information associated with the same domain. For example, in order for an HTML form to access information listed in a contacts list, the HTML form and the contacts list should be generated by entities belonging to the same domain.
Thus, belonging to different domains, an HTML form generated and stored in a source contact's privately owned web server, for example, may find it impossible to access and display information that is listed in a contacts list generated and stored in the target contact's computer. Fig. 5 is a pictorial representation of a secured system 510 used for managing a source contact's address book, according to the principles of the present invention. Similarly to the system illustrated in Fig. 1, 110 represents a source contact and/or his and his computer/GUI, 120 represents a target contact and/or his computer, 130 represents a communication network and 140 is an agent program. The target contact 110 has access to a forms server 520. It is noted that the forms server 520 can be accessible to several target contacts, wherein it is unnecessary that the several target contacts have any connection or relation between them. That is, the several target contacts can be foreigners, and/or they can work for different companies, and/or operate behind different firewalls, and/or connect to different LANs (Local Area Networks) etc. Although not illustrated in the figure, the target contacts 120 and the forms server 520 can communicate, for example, via the internet. However, this is non-limiting and it is possible, for example, that a large corporate would allow that a forms server 520 be installed in its local network. Fig. 6 is a flowchart illustrating secure update of contact data in a target contact's computer, according to an embodiment of the invention. In 610 the target contact receives an update request from the source contact via email. In 620 the target contact selects the link included in the request, thus connecting to the forms server, from which an empty list form is downloaded in 630. Then, in 640, information included in the contact list is filled into the empty list form, information that can include target contact's information, and/or contacts list information and/or supplementary information. It is noted that on the first time that the target contact receives a request message his contacts list will be initially empty, and thus no information apart from the request message's source contact information will be filled into the empty list form. In 650 the target contact validates the filled information or updates at least part thereof, in 660 a response network message is generated, to include at least modified target contact's information or indication that previously stored information is valid. In 670 the response network message is conveyed to the source contact, and in 680 modified information is stored in the target contact's computer. It is noted that the modified information can be stored in any available form and format, as was previously noted. In addition it is possible to store the modified information in the contacts list. It should be noted that in 680, if the request message's source contact was not previously stored in the contacts list, its contact would be appended thereto, for example by the script included in the update form or by the target program (if installed). In addition, while receiving the first request message and initializing the contacts list, the script included in the message can be stored therein for activation when updating contacts information. Furthermore, when conveying the response to the source contact, it is possible to convey it by sending an email message or by accessing a web server, conveying the information thereto, while the web server can send an email message to the source contact or update its contacts database in any other way, such as directly accessing the database and updating it thereby. Fig. 7 is an illustration of a list form 710 including information, according to one embodiment of the invention. A target contact whose first name is "Neri" and his family name is "Paglin" has a contact list in his computer, wherein his first and family names are listed, together with three listed contacts (his bank, a man power company and a fast food supplier). The target contact receives a request message form a daily news provider, requesting him to update his contact data in their contacts database. After loading an empty list form and filling information therein, the list form 710 is displayed on the target contacts' screen. Apart from including the target contact's information (as was in the business card illustrated in Fig. 2C, for example), the list form 710 allows the target contact to select amongst the source contacts 720 those to which information will be conveyed. According to the example, the target contact decided to convey his information to the daily news provider, as well as to the bank, although the bank did not request him to update his information at this stage. It is further noted that the target contact select to convey the information to zero or more source contacts, then he can change his selection and press the Save button. Thus, if the target contact will deselect the daily news provider before pressing the Save button, the daily news provider's contact information will not be listed in the contacts list. In an alternative embodiment there may be only one button, performing Save and Select, however, in this case the target contact will not be able to save one instance of the information while conveying a second instance thereof as a response. Similarly, the target contact will not be able to convey the response to a first portion of the listed contacts, while saving a second portion of the listed contacts in the contacts list.
It is further noted that Fig. 7 is a non-limiting simplified example. It should be appreciated that the list form can include any number of listed contacts, it can use different ways in order to display information (such as selection boxes instead of the illustrated radio buttons etc.) and it can display any set of available information (unlike the first and family names illustrated in the figure).
The contacts list is updated (and initially generated) by a script that is included in the request message or in the empty form. Thus, those versed in the art will appreciate that the method described is applicable as long as the script is generated in the same domain as the forms server's domain.
Returning now to Fig. 3, for example, it was mentioned that the request can include target contact's information as stored in the source contact's database. Thus, it should be appreciated that in Fig. 6 (see 630), if the forms server has access to the target contact's information, instead of loading an empty form, the target contacts' computer can load an already filled (or at least partly filled) list form from the forms server. The forms server can get access to the target contact's information in any available way. For example, it can have access to the source contact's database or it can receive the target contact's information in the link that the target contact accesses. However, remembering that the forms server does not necessarily belongs to the source contact it is appreciated that such an embodiment harms the target contact's privacy, while revealing his contact information to a forms server,. In addition, the source contact's privacy can be harmed as well, as the forms server becomes aware to contacts information stored thereby. In order to offer privacy to both the source and target contacts, the target contact can encrypt the contact information in any known per se method. The encrypted information can be revealed to the forms server without harming the privacy of the source and/or the target contacts. In order to decrypt the encrypted information a known per se key (including a password) is required, a key that is unavailable to the forms server. Furthermore, the source contact can include the key in the request message, thus allowing the target contact to decrypt the encrypted information.
When the at least partly filled list form is initially displayed on the target contact's computer, the information included therein is encrypted and therefore it is unreadable. By inserting the password or key that he received in the request message (referred to as the "decryption key"), the target contact can decrypt the information in order to view it. The decryption key can be stored in or in association with the contacts list, for returning usage, and is valid as long as the source contact does not replaces the decryption key.
After decrypting the target contact's information, a script that is associated with the at least partly filled list form can parse it and insert it into the corresponding fields in any method known per se. For example, if the target contact information is represented by a single string, wherein a punctuation character (such as ';' or',') marks the end of a field, the script can read the string and parse it in accordance with the punctuation character, giving rise to field- contents. Then the script can fill the form's field with their respective field- content. It is noted that some of the field-contents can include 'blanks', therefore leaving their respective form's fields empty. Furthermore, it was previously mentioned (for example, with reference to
Fig. 6) that conveying the message to the source contact could be done, e.g., by sending an email message to the source contact or via a web server that will later send an email message to the source contact or will update his contacts database. This too can harm the source and target contacts' privacy if the web server is not owned by one of them. Thus, the target contact can also generate a key ("encryption key"), and provide it to the source target. Then, when updating information, the information can be encrypted using this encryption key, allowing only the source contact to decrypt and view the content thereof. Similarly to the decryption key, the target contact can store the encryption key in or in association with the contacts list. However, the encryption and decryption keys can not be displayed in the list form, as the list form can be associated with a different domain than the source and target contacts. Therefore, in order to encrypt and decrypt information, the target contact need to brows the contacts list with a different tool than the forms list, or alternatively, switch between the list form and the request message that includes at least one of the keys. This is uncomfortable. Hence, another embodiment of the invention allows the source contact to include in the request message a link to a web page on a web server privately owned. When the target contact selects the link he is led to this privately owned web server that can provide the decryption key to the target contact. However, it is most probable that this web server cannot provide the empty list form that must be associated with a domain similar to the contacts list domain. Therefore the privately owned server can provide a fractioned form, for example by using known per se frames. A first fraction thereof (e.g., a first frame) includes the decryption key and allows direct communication between the target contact's computer and the source contact's web server. The target contact can use this first fraction also in order to update the source contact with his encryption key. In addition, the source contact's web server can access the forms server and retrieve therefrom an empty list form or a list form that is at least partly filled with encrypted information. The accessed list form is then displayed in a second fraction (e.g., a second frame) of the fractioned form. Thus, when the target contact selects the link included in the request message, a fractioned form is displayed on his computer's screen, including both fractions: a first fraction for the encryption and decryption keys, and a second fraction with the list form. This allows an easy and comfortable encryption and decryption of information displayed in the list form.
It should be understood that the technique of the present invention provides for obtaining target-related information at the source computer using not only a direct communication between the source and target computers, but also a communication via a third party. The case may be such that user A (constituting a source) utilizes his manager utility (e.g., a software product) installed at his computer to obtain information relating to user B (constituting a target) by contacting another user C with a message requesting user C to provide user A with contact information of user B. Hence, a request-message may include two options: 1. Contact information of user B is known to user A, and user A requests user C to communicate with user B to advise that user A wishes to communicate to him; 2. Contact information of user B is unknown to user A, and user A requests that user C contact another user (e.g., user D) that can help in obtaining this information. User C, upon receiving such a message, selects the suitable one of the above two options (i.e., actuates the respective link), and thus receives an appropriate HTML form, previously designed to enable automatic reply. More specifically, the so-linked forms for the two options are designed as follows: - Form enabling user C to enter the contact information (e.g., email address) of user B, to thus automatically transmit from user's C computer to user B a message indicative of that user A wishes to communicate with user B or obtain his related information, and including user's A contact data. - Form enabling user C to automatically contact another user, user D, to inquire whether this user can assist user A in obtaining contact data of user B. When user D receives such a message, he receives a form pre-designed to allow him to proceed according to the two options as described above. Thus, the present invention provides for managing user's database by communicating with other users via a communication network, while eliminating a need for installing specific software products on the user's communication system (computer). This is due to the using of a message pre-designed to include a predetermined link to at least one HTML form. A receiver of the message can thus choose the appropriate link and obtain at his computer the appropriate HTML form that includes a script and alternative options to proceed per user's choice, such that when the user makes his selection, the respective script is actuated to transmit a pre-designed message to an address that appeared in the first message or that has been collected by the message receiver. The technique of the present invention allows for automatically storing the data formatted as defined by the script in a local data depository such that this data will fill the HTML in an automatic manner. Hence, if in the future a similar message is received with a link to the same HTML form, the message receiver will be able to provide an automatic reply on the basis of the data entered in reply to the first such message. The technique of the present invention utilizes the software typically provided in a computer or phone device connectable to the communication network, and allows for managing the database by exchanging messages that either includes a specific script within the message body or includes a link to the network server from which this script can be obtained. The script is configured (i.e., presents a computer readable program code) for causing the computer to obtain the address of one user to which updated data of the other user is to be sent, for causing the computer to search for a file containing the current version of this data, and for locating this file to cause the computer to automatically generate a reply message conveying the current data to said address to thereby allow the recipient thereat to add or replace the current data in the database. Fig. 8A exemplifies yet another aspect of the present invention allowing for managing users' databases for updating them and leveraging data stored therein, by means of communication (via a communication network) between manager utilities using users' related (unique) communication codes. The general principles of communication between the manager utilities using users' communication codes are described in the above-indicated US Patent No. 6,393,421. The communication code may be an e-mail address associated with the manager utility. The manager utility is a software product, the so-called "software agent" or "micro-server", installed on the user's computer for acting on his/her behalf. These agents are preprogrammed to communicate with each other via a predetermined protocol by exchanging preset messages. As shown in the figure, r-agent, s-agent and t-agent are associated with three users, respectively, each for managing the database of the respective user. It should be understood that the term "user " may and may not be referred to a central computer system, for example a network server utility where a central database is maintained. According to the present invention, each of these agents operates as a source contact utility as described above to manage the existing database of the respective user termed "Knowledge of User" (in the present example - knowledge of user r, knowledge of user s, and knowledge of user t). This is actually the database created via direct communication between the respective user (his/her agent) and others from his/her sources and or distribution/mailing list.
As exemplified in the figure with respect to user s, his/her agent operates to communicate with agent r of user r, to update user s database with data that is currently unknown to him her (termed "Knowledge Gap of User s) but existing in the databases of users r. Obviously, each user defines his/her own agent as to whether to obtain his/her permission prior to forwarding any data from his/her database to other users. Thus, as a result of such communication between agent s and agent r, the user s database, in addition to his/her own knowledge (directly obtained from specific users), also contains information from the database of user r. As also exemplified in the figure, user t might update user s with his/her "knowledge". Moreover, agent s while communicating with agent r, gets from agent r data regarding the "knowledge gap" of user r.
The case may be such that user s is interested in certain information of user t that is not directly available to user s (e.g., user s is looking for updated contact information of user t with whom he has never communicated before and has no his associated communication code). Agent s, upon communicating with agent r, identifies that agent r is capable of communicating with user t directly or via agent t (e.g., the user t associated data record appears in the distribution/mailing list of user r). In this case, agent s may request that agent r, on behalf of agent s, communicate with user/agent t to obtain the updated information of user t, or provide agent t with the communication code of user/agent s, so that agent t will be able to communicate directly to agent s.
The above technique may be used not only for obtaining from user t the information directly relating to him/her (as described with reference to Fig. 8A), but also for obtaining other users' information stored in his/her database. This is exemplified in Fig. 8B. As shown, r-, s- and t-agents communicate with each other to exchange information relating to users r, s, t, p and.u.
It should also be understood that in order to just request for the updated version of user-related information, a computer system of this user need not be installed with the micro-server, and the information can be requested and obtained in the manner described above using a message including attached or linked to HTML form that includes a script enabling automatic data storage and generation of reply messages. If, however, the user's computer system is installed with the micro-server, the user can enjoy benefit of communication between the micro-servers. It is noted that the description above illustrated embodiments of the invention wherein HTML files (or links thereto) are used. However, it should be appreciated that the invention is not limited to HTML. Those versed in the art can appreciate that XML (extensible Markup Language) and/or XSL (extensible Style Language) can be used instead, and also Java applets, flash files, executable programs etc. Similarly, the term 'script' used above is not limited to known per se scripts. This term can also describe any other set of instructions in any available format and type, such as executable code. The invention was described in association with a contacts database.
However, after reading the description above those versed in the art will appreciate that other databases can be updated in accordance with the invention as well. Thus the invention is not bound to contacts database and other user's computerized databases can apply as well. Those skilled in the art will readily appreciate that various modifications and changes can be applied to the embodiments of the invention as hereinbefore described without departing from its scope defined in and by the appended claims.

Claims

CLAIMS:
1. A method for updating data relating to a target contact in a database accessible to a source contact, said method comprising: conveying to the target contact a pre-designed message prompting the target contact to provide current data and configured for activating a predetermined script on the target contact computer to generate a reply message, to enable sending an updated version of said data from the target contact computer to an address specified in the message and to enable storing the updated version of said data to a local storage repository of the target contact for automatic generation of similar reply messages in the future; receiving the current data from the target contact; and adding or replacing the current data in the database.
2. The method according to Claim 1, wherein said conveying of the message to the target contact comprises conveying from the source contact to a certain contact a first message configured for activating a predetermined script on the certain contact computer to generate the second message to the target contact.
3. The method according to Claim 2, wherein the first message includes contact data of the target, and presents the source request that the certain contact communicate with the target on behalf of the source.
4. The method according to Claim 2 or 3, wherein the first message includes contact data of the target, and presents the source request that the certain contact communicate with yet another contact that can assist the source in obtaining the current data of the target.
5. The method according to any one of preceding Claims, including decoding the current data received from the target contact in order to extract discrete fields of said data for updating corresponding fields in the database.
6. The method according to Claim 5, wherein the current data is a delimited text string, and said decoding includes parsing the delimited text string to extract concatenated discrete fields therein.
7. The method according to any one of preceding Claims, wherein the message includes existing data for displaying to the target contact data as currently stored in the database.
8. The method according to any one of preceding Claims, wherein the message is an e-mail message.
9. The method according to any one of preceding Claims, wherein the message includes an attachment of an (HyperText Markup Language) HTML form.
10. The method according to any one of preceding Claims, wherein the message includes a link to a server utility of the communication network providing an HTML form.
11. The method according to Claim 9 or 10, wherein the HTML form includes multiple fields each relating to an item in the database.
12. The method according to any one of Claims 9 to 11, wherein the HTML form includes the script configured for storing the data to the local storage repository and automatically generating the reply message to an address specified in the message.
13. A method for updating contact information relating to a target contact in a database accessible to a source contact's computer, said method comprising: conveying to the target contact a request message that includes an update form, the update form includes a script configured for activation in a target contact's computer; receiving updated contact information from the target contact's computer; and responsive to receiving the information updating the information in the database.
14. The method of Claim 13, wherein the request message includes encrypted information relating to the target contact, the information relating to the target contact is stored in the database.
15. The method of Claim 13, wherein the script is further configured to generate a response message, to enable sending an updated version of said contact information from the target contact's computer to an address specified in the message and to enable storing an updated version of said contact information to a local storage repository accessible to the target contact's computer for automatic generation of similar reply messages in the future.
16. A method for updating data relating to a target contact in a database accessible to a source contact, said method comprising: conveying to the target contact a pre-designed message configured to provide access at the target contact to an (HyperText Markup Language) HTML form prompting the target contact to provide current data and configured for activating a predetermined script on the target contact computer, said script being configured to automatically generate a reply message, to enable sending an updated version of said data from the target contact computer to an address specified in the message and enable storing the updated version of said data to a local storage repository of the target contact for automatic generation of similar reply messages in the future.
17. A method for updating contact information relating to a target contact in a database accessible to a source contact's computer, said method comprising: conveying to the target contact a request message configured to provide access at a target contact's computer to an update form, the update form includes a script.
18. The method of Claim 17, wherein the request message includes encrypted information relating to the target contact, the information relating to the target contact is stored in the database.
19. The method of Claim 17, wherein the request message is pre-designed to prompting the target contact to provide his current contact information; and the script is configured to activation on the target contact's computer, to automatically generate a response message, to enable sending an updated version of said contact information from the target contact computer to an address specified in the message and to enable storing the updated version of said contact information to a local storage repository accessible to the target contact for automatic generation of similar response messages in the future.
20. A computer- implemented method for use in updating data relating to a target contact in a database accessible to a source contact, said method comprising: generating at the source computer a first message pre-designed to include a predetermined link to at least one (HyperText Markup Language) HTML form so as to enable a receiver of the first message to actuate the selected link to obtain at his computer the respective HTML form that includes a predetermined script configured to carry out one of the following: generate a reply message to enable sending an updated version of the target data to an address specified in the first message; and transmit a pre-designed second message to an address indicated in the first message to thereby enable a receiver of the second message to generate a reply message to enable sending an updated version of the target data to an address specified in the first message.
21. A computer-implemented method for updating data relating to a target contact in a database accessible to a source contact, said method comprising: receiving, via a communication network, a message from the source contact prompting the target contact to provide current data, said message containing a predetermined script configured to enable storing the current data to a local storage repository of the target contact, and enable automatically conveying the current data from the local storage repository to at least one address contained in the message for allowing respective recipients thereat to add or replace the current data in a respective database; searching said local storage repository to locate said current data; and if said current data is located on said local storage repository, generating a reply message directed to said at least one address specified in the message for conveying the current data to said at least one address for allowing a recipient thereat to add or replace the current data in the database.
22. The method according to Claim 21 , further comprising: if current data is not located on said local storage repository, saving the current data on said local repository.
23. The method according to Claim 21 or 22, wherein the message is an e-mail message.
24. The method according to any one of Claims 21 to 23, wherein the message includes an HTML attachment.
25. The method according to any one of Claims 21 to 24, wherein the message includes a link to a server utility of the communication network providing an HTML form.
26. The method according to Claim 24 or 25, wherein the HTML form includes multiple fields each relating to an item in the database.
27. The method according to any one of Claims 24 to 26, wherein the HTML form includes a script configured for storing the data to the local storage repository and automatically generating the reply message to an address specified in the message.
28. The method according to any one of Claims 21 to 27, including encoding said data for conveying discrete fields thereof to said one or more predetermined destinations.
29. The method according to Claim 28, wherein encoding includes concatenating said discrete fields a delimited text string.
30. A computer-implemented method for updating data relating to a target contact in a database accessible to a source contact, said method comprising: obtaining at least one address of a source contact to which updated target contact data is to be sent; searching for a file containing current data; upon locating said file automatically generating a message conveying, via a communication network, the current data to said at least one address for allowing a recipient thereat to add or replace the current data in the database.
31. A computer-implemented program storage device readable by machine, tangibly embodying a program of instructions executable by the machine to perform method steps for updating data relating to a target contact in a database accessible to a source contact, said method comprising: obtaining at least one address of a source contact to which updated target contact data is to be sent; searching for a file containing current data; upon locating said file automatically generating a message conveying the current data to said at least one address for allowing a recipient thereat to add or replace the current data in the database.
32. A computer-implemented computer program product comprising a computer useable medium having computer readable program code embodied therein for updating data relating to a target contact in a database accessible to a source contact, said computer program product comprising: computer readable program code for causing the computer to obtain at least one address of a source contact to which updated target contact data is to be sent; computer readable program code for causing the computer to search for a file containing current data; computer readable program code responsive to locating said file for causing the computer to automatically generate a message conveying the current data to at least one address for allowing a recipient thereat to add or replace the current data in the database.
33. A computer-implemented method for managing users related databases via a communication network, the method comprising: providing, in computer systems of at least some of the users, similar manager utilities configured to communicate with each other by using the users' unique communication codes, respectively, the manager utility of one user being capable of communicating with the manager utility of another user to update the database of said one user with information stored in the database of said another user, and capable of actuating the manager utility of said another user to contact yet another user on behalf of said one user to request for information relating to or stored in the database of said yet another user.
PCT/IL2005/000181 2004-02-11 2005-02-13 Method and system for managing user's computerized database WO2005076737A2 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
IL16032604A IL160326A0 (en) 2004-02-11 2004-02-11 Method and system for managing user's electronic address book
IL160326 2004-02-11
IL160530 2004-02-23
IL16053004A IL160530A0 (en) 2004-02-11 2004-02-23 Method and system for managing user's electronic address book

Publications (2)

Publication Number Publication Date
WO2005076737A2 true WO2005076737A2 (en) 2005-08-25
WO2005076737A3 WO2005076737A3 (en) 2006-05-04

Family

ID=34082155

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IL2005/000181 WO2005076737A2 (en) 2004-02-11 2005-02-13 Method and system for managing user's computerized database

Country Status (2)

Country Link
IL (1) IL160530A0 (en)
WO (1) WO2005076737A2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109872197A (en) * 2019-03-12 2019-06-11 众安在线财产保险股份有限公司 Handle the method and device thereof of user information
CN110109897A (en) * 2019-04-15 2019-08-09 深圳壹账通智能科技有限公司 Database script generation method, device, computer equipment and storage medium

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020095413A1 (en) * 2001-01-16 2002-07-18 Uwe Meding Remote database update method and apparatus

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020095413A1 (en) * 2001-01-16 2002-07-18 Uwe Meding Remote database update method and apparatus
US6684224B2 (en) * 2001-01-16 2004-01-27 Chipdata, Inc. Remote database update method and apparatus

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109872197A (en) * 2019-03-12 2019-06-11 众安在线财产保险股份有限公司 Handle the method and device thereof of user information
CN109872197B (en) * 2019-03-12 2023-04-28 众安在线财产保险股份有限公司 Method and device for processing user information
CN110109897A (en) * 2019-04-15 2019-08-09 深圳壹账通智能科技有限公司 Database script generation method, device, computer equipment and storage medium

Also Published As

Publication number Publication date
IL160530A0 (en) 2004-07-25
WO2005076737A3 (en) 2006-05-04

Similar Documents

Publication Publication Date Title
RU2190876C2 (en) Visit card agent and its applications
US7506030B2 (en) System and method for providing wireless device access to e-mail applications
EP1146701B1 (en) Method of transferring data being stored in a database
US8122097B2 (en) System, method and computer program for recipient controlled communications
US8112544B2 (en) System and method for providing customizable options on a wireless device
US6983310B2 (en) System and method for providing search capabilties on a wireless device
US6757530B2 (en) System and method for providing wireless device access to scheduling applications
US20050159136A1 (en) System and method for providing wireless device access
US20020086661A1 (en) System and method for providing access to forms for displaying information on a wireless access device
US20020087627A1 (en) System and method for providing search capabilities and storing functions on a wireless access device
US20110225501A1 (en) Document Management Systems, Apparatuses And Methods Configured To Provide Document Notification
WO2005076737A2 (en) Method and system for managing user&#39;s computerized database
KR20010016370A (en) Electronic business card service system and method for performing the same
JP3979005B2 (en) Information distribution method, information distribution system, distribution management device, information management device
JP4892163B2 (en) Electronic post office box system
JP2003256344A (en) Information providing system, portable communication terminal, and web server for information provider
JP2003256623A (en) Schedule transfer system, schedule registering device and program
KR20030040252A (en) Contents transfering method and system thereof
JP2002049569A (en) Electronic mail system
MXPA00002992A (en) Business card agent and applications
KR20060005614A (en) Personal name card information regisration system and method thereof, and media that can record computer program thereof
KR20010056503A (en) Automatic notification method on arrival of new mail in web mail service

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

NENP Non-entry into the national phase

Ref country code: DE

WWW Wipo information: withdrawn in national office

Country of ref document: DE

121 Ep: the epo has been informed by wipo that ep was designated in this application
122 Ep: pct application non-entry in european phase