WO2002025403A2 - Automated system and method for downloading, updating and synchronizing contact information - Google Patents

Automated system and method for downloading, updating and synchronizing contact information Download PDF

Info

Publication number
WO2002025403A2
WO2002025403A2 PCT/US2001/029366 US0129366W WO0225403A2 WO 2002025403 A2 WO2002025403 A2 WO 2002025403A2 US 0129366 W US0129366 W US 0129366W WO 0225403 A2 WO0225403 A2 WO 0225403A2
Authority
WO
WIPO (PCT)
Prior art keywords
contact
record
database
contact record
information
Prior art date
Application number
PCT/US2001/029366
Other languages
French (fr)
Inventor
James Brown
Thomas Gieslmann
Rick Davis
David Mankin
Jonathan Nolen
Jason Carmel
Original Assignee
Ants.Com., Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ants.Com., Inc. filed Critical Ants.Com., Inc.
Priority to AU92838/01A priority Critical patent/AU9283801A/en
Publication of WO2002025403A2 publication Critical patent/WO2002025403A2/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

Definitions

  • the present invention relates generally to electronic contact management systdms and, more particularly, to a system for automatically updating and synchronizing a local contact manager with a centralized universal data base.
  • Personal contact data exchange occurs every time two or more individuals communicate, in either a business or personal context, face-to-face, or across space and time. Such exchanges frequently include the exchange of informal information, such as business cards, telephone numbers, addresses, dates, and times of appointments.
  • personal contact management application software programs have been developed by means of which an individual or entity can collect, store and maintain contact record information acquired through formal, or informal data exchanges. Contact management software automates the exchange of personal information typically found on a traditional business card and allows an individual or entity to bring up that information with the click of a mouse.
  • contact record information is often out-of-date after a relatively brief period of time.
  • a contact's circumstances may have changed to such an extent that their business address, telephone number and e-mail address may all have changed, making them difficult to reach in the best of circumstances.
  • a particular individual or entity may have exchanged business cards with one individual at one point in time and exchanged business card containing wholly different information with another individual at a second point of time.
  • the system should be able to synchronize a subscriber's personalized contact record database with an aggregate contact record database and update any stale records belonging to the subscriber. Further, as a subscriber updates their own contact record information, the system should provide notification of the change to all of the subscriber's associated entities, along with the updated contact information. Contact data is transferred between and among subscribers without regard to the contact management program they have implemented on their desktop. System participation should be encouraged by engaging non-subscribing associates of a participate during contact synchronization.
  • a matching engine matches the unique identification index to a corresponding particular contact record and a transmission engine forwards the particular contact record matched to the unique identification index to the source locus and thereby to the requester.
  • the invention includes a network enabled user terminal and a contact management program hosted on the user terminal.
  • An information exchange software program plug-in is also hosted on the user terminal and operates in cooperation with the contact management program.
  • the information exchange software program plug-in executes the contact record query and the particular contact record matched to the unique identification index is populated into a contact record maintained by the contact management program.
  • An advantageous feature of the present invention is implemented by an association engine, hosted on the database server, which forms an association between the requesting party and the provider of the particular contact record. As a provider modifies their personalized contact record, the modified contact record is automatically forwarded to each requesting party with which the provider is associated. In particular, an association is formed when one party's unique identification index is found within an aggregate of contact records belonging to another individual identified by their own unique identification index.
  • a synchronization engine synchronizes the contents of the database with a set of contact records maintained by a user and hosted on the user's contact management application software program. Each user maintained contact record, corresponding to a contact record in the database, is updated to reflect current information contained in the database contact record during content synchronization.
  • the system includes an engine for automatically populating empty contact fields in a user maintained contact record with corresponding current contact field information contained in the database contact record.
  • the engine automatically replaces field contact fields in a user maintained contact record with corresponding current contact field information contained in the database contact record.
  • a method for establishing efficient information updating an extraction includes the steps of establishing a database, the database including personalize contact records, each contributed by a contact record provider and each including a unique identification index.
  • a query is received from a information requester, with the requester providing an information index as the query.
  • the identification index query provided by the requester is matched with a unique identification index corresponding to a particular contact record and the particular contact record matched to the unique identification index is forwarded to an identified source locus corresponding to the requester.
  • user maintained contact record information which is replaced by current database contact field information is saved and appended into a free- form data field and defined by a local contact management software program.
  • record contents of the set of contact records maintained by a user are evaluated and a unique transmission index is identified, in each contact record of the set which does not correspond to a contact record in the database.
  • An invitation message is transmitted to each identified unique transmission index which does not correspond to a contact record in the database.
  • FIG. 1 is an exemplary screen shot of a contact management new contact record including client software interfaces in accordance with the present invention
  • FIG. 4 is an exemplary screen shot of synchronization preference options in accordance with the invention
  • FIG. 5 is an exemplary screen shot of a listing of contacts to which participation invitations are pending
  • FIG. 6 is simplified, semi-schematic block diagram of a conceptual data model in accordance with the present invention.
  • FIG. 9 is a logical data flow diagram illustrating a contact synchronization process.
  • FIG. 10 is a simplified, semi-schematic block diagram of site components of the network partition portion, of the system of the present invention.
  • the invention is characterized as an automated information exchange system which provides for efficient information intercommunication with respect to personalized contact data, and the like.
  • the system is devised to be implemented in a wide area network environment, where end-users are each facilitated with a data terminal device, such as a PC, running to any one of a number of various, commercially available contact management application software programs.
  • a network partition portion suitably comprises a data base server which hosts a system data base, including personalized contact records, each contributed by a contact record provider and each including a unique identification index.
  • the network partition portion further includes synchronization which synchronizes the record contents of the data base with a corresponding set of personalized contact records maintained by the user, without regard to the form or implementation of the user's contact management application software program.
  • Personalized contact record information is created by the "owner” of such information and is “published” to the network portion's data base through client software residing on the user's computer system.
  • "Publishers” of personalized contact information are associated with various particular ones of the universe of "subscribers” of the system through each individual user's list of contacts, residing in their contact management application software program. Each user (subscriber) thereby establishes a one-to-many relationship with each of their listed contacts who, in turn, may establish a one-to-many relationship, both with the first user, and with the various individuals and entities listed in their own contact management application software program.
  • the system associates the newly published information to all of the individuals and entities having a relational association to the publishing party.
  • newly published information is synchronized with the publishing party's relational partners at a determinable time when the relational partner's contact management application software program is available to system access.
  • the system automatically populates empty contact fields in a user maintained contact record with corresponding current contact field information contained in the most recently published data base contact record for the publishing entity.
  • the system further automatically replaces field contact fields in a user maintained contact record with corresponding contact field information contained in the most recently published data base contact record for the publishing entity.
  • each user maintained contact record which corresponds to a contact record maintained in the data base is updated to reflect the most recent information published to the data base by the owning entity of the data base contact record.
  • One particular embodiment of the invention provides an end-user with a substantially free, automated methodology by which to download, update and synchronize contact information without adding cost or requiring significant, or even inconvenient, changes in behavior.
  • the system catalogs contact information provided by subscribing users and disseminates any information changes or updates to any or all of the "contacts" contained in a subscribing user's contact manager program. Further, the system alerts Subscribers when their relational associates or colleagues have changed their own contact information.
  • the system maintains currency of files by generating a verification request and e-mailing the request to the individuals and entities contained in the contact listing of the system's Subscribers.
  • Each verification request is generated and directed to an individual or entity, as emanating from the e-mail address of a known colleague.
  • the verification request further acts as an invitation to download and use the system, for those individuals who do not already participate in the data base.
  • the system's data base entries are expected to expand exponentially.
  • the system includes a client application software program, configured to function as a plug-in to existing contact management software, rather than as a stand-alone system.
  • the plug-in capability of the client application provides a user with the functionality of the system, without requiring a user to learn new software or to abandon their present e-mail client or contact management software, with which they are already comfortable.
  • a "Subscriber” refers to a person, whether individual or entity, who receives contact information and who enters it into their local contact data base.
  • a “Publisher” refers to a person, whether individual or entity, who owns contact information (information contained within a contact record) and who is the ultimate authority for maintaining it.
  • An “Invitee” refers to a person, whether an individual or an entity, who has been invited to participate in the system by a Subscriber, but has yet to respond to the invitation.
  • Subscribers and Publishers both fall under the general rubric of "Users,” which refers to any individual or entity availing themselves of any of the functionality of the system.
  • Subscribers add new contacts into their local contact manager data base and synchronize their contact data base with the network portion of the system.
  • Subscribers and Publishers both update contact information and are notified automatically of detected contact information update changes. Additionally, Subscribers and Publishers respond to a notification from the network data base, in order to update their own local contact information data base.
  • a user downloads a client software application from the system's Web point of presence, for example, and associates the client software application to their particular contact management software program. This is done in several ways, the most prevalent of which are downloading a specific piece of client software adapted to the user's contact manager program, or downloading a universal client application and configuring the application's software switches for use with a particular contact manager by selecting the appropriate contact manager from a menu list of supported contact management programs. Other methodologies will be immediately apparent to those having skill in the art and need not be described further herein. All that is necessary is that the client software application be associated to the user's contact management program.
  • Microsoft Outlook is a commercially available contact manager, manufactured and sold by Microsoft Corporation of Redmond, Washington, and is merely illustrative of the presentation and functionality of contact management software.
  • the user's client software application functions as a plug-in to their conventional contact manager.
  • the plug-in interacts with a user through a graphical user interface (GUI) and presents its information fields and user input requests in the same, familiar form as the user's contact manager.
  • GUI graphical user interface
  • Registration and acquisition of the client software application begins by a prospective user" interacting with a registration agent provided over the Internet, for example.
  • the registration agent requests the prospective user to fill in certain fields of a registration form with the prospective user's personal or business contact information.
  • the registration form includes entry fields that contain the prospective user's first and last names, salutation and suffix information, title, employer and department data, residence address data, and the like.
  • the registration form requires entry of a prospective user's first and last names, along with an e-mail address and a security password.
  • the prospective user's first and last names in combination with their e- mail address, provides sufficient, unique identification information such that the user is uniquely identifiable from an extremely large data base set of similar users. Adding a first and last name to an e-mail address assures that each user is distinguished, even in the case where several users might share a common e-mail address, such as the different family members of a household.
  • the registration form also contains the optional fields within which a prospective user might list various telephonic contact numbers, facsimile numbers, pager numbers and other e- mail addresses or contact resources.
  • the registration form illustrated in the exemplary embodiment of FIG. 2 also requests the user to indicate what sort of software is used for contact management, by selecting a contact management program from a menu of such programs.
  • the registration form When the registration form is completed, it is submitted to the system administrator, over an Internet connection, whence the user's contact information is collected into a data base contact record.
  • the user is associated to their contact record as its Publisher and is allowed to download the client application software program.
  • the user becomes a Subscriber and may initiate interaction with the client.
  • One of the particular features of the client application of the invention is its ability to initiate searches of the data base for contact information relating to a prospective (or new) contact of the Subscriber.
  • a Subscriber can simply enter the prospective contact's e-mail address to start.
  • the e-mail address is entered into a dialogue box that also asks the Subscriber if they wish to search the system's network data base for additional information. By clicking on "yes," a search of the data base is conducted and the other contact fields are filled in if the Publisher is found.
  • the prospective contact's e-mail address is entered into the e-mail field 18 of a user's contact manager's general contact record.
  • a dialogue box appears which asks the Subscriber if they would like to invite the prospective contact to participate in the contact management and synchronization system of the invention.
  • the dialogue box offers a Subscriber the option to click either "yes" or "no". If the Subscriber clicks "yes," a form e-mail is sent to the Invitee, containing the contact information of the Subscriber both in the message body and as a "vCard" (a standardized personal data interchange methodology that transfers information in accordance with a structured .vcf file format).
  • the system intersperses the e-mail to the Invitee with URL links that allow the Invitee to traverse the system's Web pages.
  • an Invitee traverses a link to the system's Internet point of presence, they are able to register as a Publisher by filling out the above-mentioned registration form and automatically notify all Subscribers of these changes (change of contact data).
  • the system allows a Publisher to set permissions such that all or none of the Subscribers can access the changes and/or opt-out of the system completely.
  • the Invitee may download the client software application and become a Subscriber in addition to being a Publisher.
  • the original Subscriber's contact record containing the e-mail address of the Invitee, is saved and appended with a category flag of "Pending Invitation Response.”
  • the Subscriber also has the option of clicking on the synchronized button 14 and synchronizing the current contact record or all of their contact records with the system data base. Each contact not associated with a record in the data base will be sent an invitation to participate, in substantially the manner described above.
  • Those contact records that are determined to be associated to contact records maintained in the system data base are updated.
  • Local contact record updating includes automatically filling any empty contact fields in the local contact record with information contained in the corresponding system contact record. Further, all local contact fields containing existing information are updated with the corresponding information contained in the contact record maintained in the systems' network data base.
  • the original field content (the previous information) is saved and appended as textual data to the top of the "notes" field 20 for review and evaluation by a Subscriber. As indicated in the exemplary screen shot of FIG. 3, the original data which has been subject to update is flagged with an appropriate field name indicating which field it was reserved from.
  • Synchronization is accomplished in a couple of different ways, depending upon the architectural implementation choices of the system architect.
  • a "thicker" client software application accesses the contents of the contact manager's contact record data base file and extracts data, for each contact, from those fields which function to uniquely identify a contact (first and last name and e-mail address, for example).
  • a file, or data stream, comprising this information is forwarded to the system's network portion, for evaluation against the system's data base, over an Internet connection. Where a match is found, the complete record data is returned to the local client, whence it is populated into the corresponding local data base record.
  • the network portion understands the form and format of the data necessary to be returned to the local client. It will be understood by those having skill in the art, that the 3-character file extension of the local contact data base file necessarily identifies the contact manager software application being used in connection with that file. All the network portion need do is to parse the 3-character file extension of the mirror in order to determine how data is to be formatted for that particular contact management program.
  • thick client and thin client embodiments represent two ends of an implementation spectrum.
  • a system architect may well choose to implement a particular methodology which partitions the functional and operational tasks of the network portion and the local client in a manner anywhere along the spectrum.
  • Synchronization activities may be performed at any time, and in accordance with synchronization preferences that are settable through a Subscriber's client application.
  • the pop-up window 22 suitably comprises a set of activity pages, each accessible through a respective one of a set of "tabs," such as preferences 24, pending invitations 26, and view log 28. Selecting the preferences tab 24 accesses the preferences dialogue window which presents various synchronization options to the Subscriber, any of which may be selected by clicking an "activation" area.
  • FIG. 1 the preferences dialogue window which presents various synchronization options to the Subscriber, any of which may be selected by clicking an "activation" area.
  • the user is given the option of synchronizing all contacts automatically or synchronizing all contacts manually. Further, the user can instruct the system to initiate a synchronization request whenever the user creates a new contact record or the user can affirmatively defeat this functionality. Further, within the preferences dialogue window 24, the user can click on a "choice" switch 30 which instructs the client to perform synchronization with respect to a set of contacts affirmatively chosen by the Subscriber. This "choice" option allows the Subscriber to define synchronization options on a pre-determined plurality of contacts and, therefore, represents a synchronization activity between the "automatic all” and "manual all” poles. Further, synchronization timing is determined by the user's entry of a timing period into a timing window 32.
  • the user might prefer the system to synchronize all contacts automatically every three (3) days by setting those optional switches. Or, the user might prefer the system to synchronize only those "chosen” contacts every seven (7) days by setting those switches.
  • the window is closed and preferences are maintained within the client for future reference and activity control.
  • a "pending invitations" window is opened by the user's accessing the pending invitations tab 26 of the preferences pop-up window 22.
  • "Pending invitations” contains a listing of those e-mail addresses, and the entity names associated therewith, to which invitations to participate have been sent, but a response has not yet been forthcoming. This information is particularly helpful to a Subscriber in determining which of their local contact records may be incomplete or out-of- date, at least at such time as the invitation was sent.
  • a flag field 34 is associated with each entry and might indicate from which of the entries a response is awaited, and/or which of the entries have "bounced” the invitation such that no response is likely. Those entries from which a response was declined can therefore be removed from the synchronization schedule.
  • a further preference window, the view log window 28, gives a Subscriber the opportunity to view the system processing logs.
  • System processing logs contain conventional state completion logging data which is well understood by those having skill in the art. Accordingly, it will not be discussed in any greater detail herein.
  • a conceptual data model of the functional implementation of the system in accordance with the invention is illustrated, in simplified form, in FIG 6.
  • a subscriber 36 invites various Invitees to participate in the system by synchronizing at least a unique identification portion of contact information 38 with the system data base.
  • the subscriber 36 establishes an association 40, or set of associations, with each of the individuals or entities comprising their local contact record data base.
  • Each subscriber 36 develops a preference 42, or set of preferences, by which their associations 40 are defined.
  • System interaction allows a Subscriber 36 to receive communications 44 which, in turn, correspond to contact record associations derived through subscriber preferences.
  • a publisher 46 adds or updates their own contact information 38 which is communicated, on a one-to-many basis, to all of the subscribers 36 which have an association 40 with the publisher 46 as determined by their preferences 42.
  • Communications 44 provide publisher-defined updates to each associated subscriber 36 through a synchronization procedure.
  • the "don't ask again” engine sets future dialogues to the default value selected in the current action. This default value can be reset in the client system's "settings” dialogue, in conventional fashion.
  • the client application initiates a "find contact” procedure by which it accepts either a single contact value, or an array of contact values, and performs a search on them through the system's network data base.
  • the network system portion accepts a single contact value for an array variable, and selects a data base contact record where the record e-mail is equal to an input publisher e-mail and where the Publisher has not decided to opt-out of system usage during the publication process.
  • the system returns an empty results array and the user is prompted to trigger a participation invitation to the prospective Publisher.
  • a pop-up dialogue box initiates a request to the user as to whether the user wishes to invite the new contact to participate.
  • the dialogue elicits a "yes” or “no” response from the user, as well as gives the user the opportunity to check a "don't ask again” activity field.
  • the dialogue closes (or does not initially open) after appropriate negative responses. If the Subscriber chooses to make the new contact an Invitee, top-level contact data is saved in the "pending invitations" data base and the network portion is commanded to issue a participation invitation.
  • an invitation engine of the network system portion sends an e-mail to the Publisher (Invitee) of the contact information, as identified by the e-mail address provided by the Subscriber, and invites the Publisher to edit or approve the information.
  • the engine provides a link, within the e-mail message, that the Publisher can click on to traverse the Internet in order to access the requisite edit profile page. This engine provides the necessary functionality allowing for both new publisher entries and for allowing Publishers to edit existing contact records.
  • the engine is invoked either by a user explicitly logging-on to the system and accessing the requisite edit profile page, or by the system's sending an invitation to a Publisher that provides the link.
  • contact information provided to the Publisher includes both the Publisher contact information provided by a Subscriber and Subscriber contact information from the Subscriber which initiated the process.
  • the system creates a file in vCard format of both the Publisher's and/or Subscriber's contact information for attachment to the e-mail. In the case where a Publisher is an Invitee, they click on the URL contained in the e-mail and are then able to edit their contact information as shown on the contact information page.
  • an Invitee is given a choice of various preference options, including the option to opt-out of the process and to set various allowance levels in order to grant or preclude access in accordance with Publisher-defined metrics.
  • Changes from the edit contact information page are saved and the contact table for the current Publisher is updated with the values from the edit contact information page.
  • a confirmation page which confirms saving a Publisher's contact information, provides a link through which a Publisher downloads client software that is installed on their local data terminal device so as to function in cooperation with their locally-hosted contact management software program.
  • the link to the client download is also provided as a URL link in the e-mail directed to the Invitee by the system.
  • a Publisher need only click on the link and download proceeds in a conventional fashion.
  • Client software is installed, and the Publisher becomes a Subscriber.
  • the system gathers all of the e-mail addresses of Subscribers associated to the Publisher and creates an array of those e-mails. The system steps through the array and issues a notification e-mail to associated Subscribers that updated information is available for a particular Publisher.
  • a Publisher's updated contact information is formatted as a vCard file and attached to each e- mail.
  • the e-mail to Subscribers also contains a Publisher's contact change information in the message body in addition to its attachment as a vCard file.
  • a synchronization component allows a Subscriber to verify and synchronize their entire contact data base against the contents of the system data base. This element is triggered by an explicit action, taken by the user, and follows the logical synchronization process flow procedure exemplified in FIG. 9. As depicted in the process flow of FIG. 9, synchronization is initiated either at the time of client software installation by the user, as a Subscriber affirmatively clicks on the synchronization command button, or in accordance with a timing periodicity, affirmatively set by a Subscriber through interaction with a client software. Regardless of how initiated, the process initiates synchronization which allows the Subscriber to synchronize either the current contact, all contacts in their data base, or a selected set of contacts in the data base.
  • a contact dialogue presents an explicit request to the user as to whether the user wishes to synchronize contact information with the system, and presents the user with the synchronization options. If the user chooses a "sync current" option, the client software initiates synchronization for the current contact and accepts either a single contact value, or an array of contact values, and forwards them to the network system portion for searching, as was described above. If the user returns a "sync all” or “sync some” command, the client gathers and collects all Publisher e-mail addresses, for the contacts in the desktop data base, and passes them to the network system portion, in an array, along with a check sum value.
  • the network system portion accepts either a single contact value, or an array of contact values, and performs a search on each of the array values in a manner like that described above.
  • Each search establishes whether or not a contact was found and if so, constructs a "return found contacts" array which returns the results of the search in an array for processing on the client side.
  • Family tree information is updated and the process runs in a "for each" loop with respect to the array. If no contact records are found with respect to an item in the Subscriber's array, the system constructs a "not found array" of e-mails from all contact elements not found in the search process.
  • the "not found array” is forwarded to the Invite Publisher Process which constructs an e-mail to the Publisher of the contact information (as identified by the e-mail address) and invites them to edit or approve the information. Synchronization continues until all of the contact elements, forwarded to the system's network portion, have been compared to the network data base contents and either found and entered into the "return found contacts” array or not found and entered into the "not found contacts” array.
  • the "return found contacts" array is used to initiate synchronization with each individual contact record contained in a Subscriber's local contact management data base, in a manner similar to that described above.
  • PKI Personal Data Interchange
  • Such interchanges frequently include the exchange of informal information, such as business cards, telephone numbers, addresses, dates, and times of appointments. Augmenting PDI with electronics and telecommunication capabilities helps ensure that information is quickly and reliably communicated, stored, organized and easily located when needed.
  • vCard automates the exchange of personal information typically found on a traditional business card. vCard is used in applications such as Internet mail, voice mail, Web browsers, telephony applications, call centers, video conferencing, Personal Information Managers (PIMs), Personal Digital Assistants (PDAs), pagers, fax, office equipment, and smart cards.
  • PIMs Personal Information Managers
  • PDAs Personal Digital Assistants
  • vCard information goes beyond simple text, and includes elements such as digital photos, graphic company logos, live Web addresses, and the like.
  • the specifications for implementation of vCard technology are well known to those having skill in the art and further elaboration is not required herein. No matter how implemented, however, form entry field data is validated by way of
  • SMTP Secure HyperText Transfer Protocol
  • All data is transferred either as Post or Get Arguments or formatted as an Extensible Markup Language (XML) document.
  • XML Extensible Markup Language
  • the site components suitably comprise a relational data base 50 which functions as the central repository (data warehouse) for all contact record information and archiving of application actions.
  • the relational data base 50 operates under control of a relational data base management system (RDBMS) which functions to organize, populate, update and otherwise manage the components of the relational data base 50.
  • RDBMS relational data base management system
  • the system's network portion further comprises an application server, which runs middle wear application software routines providing a interface into the RDBMS, tools for data manipulation, and generates HTML-based presentation events for the user interface.
  • a user interface for data accessing and editing 56 controls all data access and display functions such that all data access and display occurs through either a direct HTTP connection to a user's desktop content application operating in cooperation with the system's client software, or a Web browser interface.
  • a Web server 58 hosts Web server software 60 that handles all communications between the client desktop and the application/data base.
  • System security is promoted by a network firewall 62 which controls definition of public and private access to the system servers. Filters are implemented for all servers to allow only those Internet protocols relevant to utilizing the system. Firewall hardware and software security is implemented at the hosting location in order to limit access to the system servers from the front end. This ensures that only valid HTTP requests are made to the server from authorized networks.
  • SSL Secure Socket Layer
  • Operating system software is provided as an operating system layer in the application server 54 and the data base server 64, and provides the foundation for all other applications to run and interact.
  • An e-mail server 66 provides e-mail communication capability for users of the system by way of SMTP calls from the application server 54.
  • the client application may be thicker or thinner, at the designer's option, and might be implemented as a standalone GUI, as opposed to being completely integrated with a user's contact management program.
  • the thickness and/or thinness of the client application would necessarily determine whether the client software participates in a greater or lesser degree with the organization of local contact record data for searching and/or synchronization.
  • a thick client may well be provided with functionality that enables a Subscriber to create, append, modify or otherwise inform the various lists, profiles, menu items, rule sets, and the like, and them communicate the various adaptations to the system, whenever the Subscriber establishes a connection session.
  • a thinner client would necessarily allocate these resources to a centralized application server which would then be available to a Subscriber either through the client application or through accessing the system's network presence by a conventional browser application.
  • the specific servers discussed above can be considered "virtual" servers, in that a single, unique piece of equipment is not necessarily allocated to the various functional aspects of the system. As data processing equipment grows in capability, it is quite likely that a single, monolithic piece of hardware might become practicable for carrying out all of the operational tasks of the system.
  • various pieces of data processing hardware might be coupled together to form a distributed server system, with the various operational tasks distributed between and among the various pieces of hardware in a non-intuitive fashion.
  • the system's network portion might be configured to have a particular operational presence in various locations, depending on the nature of the underlying transport network with which it is associated.

Abstract

An automated information exchange system allows addition, notification and synchronization of personal contact record data. A client application program functions as a plug-in to one of various supported contact management programs and communicates with a network-based database system. Contact records are generated and owned by their respective publishers. As contact data is entered or updated at the database level, by a publisher, service subscribers associated to the publisher are notified and receive updated contact data, in turn ported to the subscriber's corresponding contact management program's contact record. Subscribers periodically synchronize the contents of their local contact record database with the network database. Each element entry of a subscriber record database becomes associated to the subscriber. Association is made and publishers are identified through a unique communication identification index, such as an email address in combination with a name. A subscriber element entry not corresponding to a network database entry is evaluated for a unique communication identification index and a participation invitation is automatically forwarded to the included email address.

Description

AUTOMATED SYSTEM AND METHOD FOR DOWNLOADING, UPDATING AND SYNCHRONIZING CONTACT INFORMATION
CROSS REFERENCE TO RELATED APPLICATIONS
The present application is related to and takes priority from U.S. Provisional Patent Applications Serial Numbers 60/234,020 and 60/238,273, filed September 20, 2000 and October 5, 2000, respectively, entitled AUTOMATED SYSTEM FOR DOWNLOADING, UPDATING AND SYNCHRONIZING CONTACT INFORMATION, and ENHANCED AUTOMATED SYSTEM FOR DOWNLOADING, UPDATING AND SYNCHRONIZING CONTACT INFORMATION commonly owned by the assignee of the present application, the entire contents of which are expressly incorporated herein by reference.
FIELD OF THE INVENTION
The present invention relates generally to electronic contact management systdms and, more particularly, to a system for automatically updating and synchronizing a local contact manager with a centralized universal data base.
BACKGROUND OF THE INVENTION
Personal contact data exchange occurs every time two or more individuals communicate, in either a business or personal context, face-to-face, or across space and time. Such exchanges frequently include the exchange of informal information, such as business cards, telephone numbers, addresses, dates, and times of appointments. In order to support this kind of activity, personal contact management application software programs have been developed by means of which an individual or entity can collect, store and maintain contact record information acquired through formal, or informal data exchanges. Contact management software automates the exchange of personal information typically found on a traditional business card and allows an individual or entity to bring up that information with the click of a mouse.
However, given the fluidity of personal circumstances in the modern world, contact record information is often out-of-date after a relatively brief period of time. A contact's circumstances may have changed to such an extent that their business address, telephone number and e-mail address may all have changed, making them difficult to reach in the best of circumstances. Further, a particular individual or entity may have exchanged business cards with one individual at one point in time and exchanged business card containing wholly different information with another individual at a second point of time. These two individuals will have conflicting contact data and if they happen to find themselves in communication with one another, often find it difficult to reconcile these differences.
Conventional contact management software programs also generally requirement manual intervention with a user desires to update contact records after having discovered an error. While certain programs allow for the exchange of information in electronic form, as populated contact cards, for example, both the initiator and recipient of such an exchange must have recourse to the same contact management software program. Users with different contact management programs, must then default to manual data entry and/or updating in order to maintain their contact records in current condition. To date, their is no methodology available by which an individual's contact information may be acquired and centrally maintained and automatically forwarded to associated parties defined by that individual's own personal contact list, whenever the individual updates their own contact profile. Further, there is no methodology, to date, by which an individual is able to acquire a complete set of contact record data for a "just meet" colleague for example, when that individual only has recourse to the colleague's e-mail address or telephone number. This often occurs during modern electronic transaction communications, where communication parties identify themselves simply by name and e- mail address.
Accordingly, there is a need for a system and method by which an individual is able to add a contact record to their personalized contact database by performing a search and acquisition process on some unique communication identifier belonging to a new contact. The system should be able to synchronize a subscriber's personalized contact record database with an aggregate contact record database and update any stale records belonging to the subscriber. Further, as a subscriber updates their own contact record information, the system should provide notification of the change to all of the subscriber's associated entities, along with the updated contact information. Contact data is transferred between and among subscribers without regard to the contact management program they have implemented on their desktop. System participation should be encouraged by engaging non-subscribing associates of a participate during contact synchronization.
SUMMARY OF THE INVENTION
In one aspect, the present invention is directed to an automated information exchange system for establishing efficient information maintenance and extraction. The system generally comprises a database server with a database hosted on the server. The database includes personalized contact records with each record contributed by a contact record provider. Each record provider and thus each record is identified by a unique identification index. An information requester is identified to a source locus and queries the database for a contact record by providing the unique identification index as the query.
A matching engine matches the unique identification index to a corresponding particular contact record and a transmission engine forwards the particular contact record matched to the unique identification index to the source locus and thereby to the requester.
In a further aspect, the invention includes a network enabled user terminal and a contact management program hosted on the user terminal. An information exchange software program plug-in is also hosted on the user terminal and operates in cooperation with the contact management program. The information exchange software program plug-in executes the contact record query and the particular contact record matched to the unique identification index is populated into a contact record maintained by the contact management program.
An advantageous feature of the present invention is implemented by an association engine, hosted on the database server, which forms an association between the requesting party and the provider of the particular contact record. As a provider modifies their personalized contact record, the modified contact record is automatically forwarded to each requesting party with which the provider is associated. In particular, an association is formed when one party's unique identification index is found within an aggregate of contact records belonging to another individual identified by their own unique identification index. In a further aspect of the invention, a synchronization engine synchronizes the contents of the database with a set of contact records maintained by a user and hosted on the user's contact management application software program. Each user maintained contact record, corresponding to a contact record in the database, is updated to reflect current information contained in the database contact record during content synchronization. The system includes an engine for automatically populating empty contact fields in a user maintained contact record with corresponding current contact field information contained in the database contact record. The engine automatically replaces field contact fields in a user maintained contact record with corresponding current contact field information contained in the database contact record. In an automated information exchange system, a method for establishing efficient information updating an extraction includes the steps of establishing a database, the database including personalize contact records, each contributed by a contact record provider and each including a unique identification index. A query is received from a information requester, with the requester providing an information index as the query. The identification index query provided by the requester is matched with a unique identification index corresponding to a particular contact record and the particular contact record matched to the unique identification index is forwarded to an identified source locus corresponding to the requester. The method further includes a signing an association between the requester and the provider of the particular contact record and, as a provider modifies their personalized contact record, the modified contact record is automatically forwarded to each requester with which the provider is associated. The unique identification index is selected from a group consisting of an e-mail address, a telephone number, a social security number, a random alpha-numeric tag, or a sequential alpha-numeric tag. The unique identification index is preferably an e-mail address or an e-mail address in combination with a name. Contents of a centralized database are synchronized with a set of contact records maintained by a user, wherein each user maintain contact record, corresponding to a contact record of the database, is updated to reflect current information contained in the database contact record. The updating step further comprises automatically populating empty contact fields in a user maintained contact record with corresponding current contact field information contained in the database contact record and/or automatically replacing field contact fields in a user maintained contact record with corresponding current contact field information contained in the database contact record.
In a further aspect of the invention, user maintained contact record information which is replaced by current database contact field information is saved and appended into a free- form data field and defined by a local contact management software program.
In yet an additional aspect of the invention, record contents of the set of contact records maintained by a user are evaluated and a unique transmission index is identified, in each contact record of the set which does not correspond to a contact record in the database. An invitation message is transmitted to each identified unique transmission index which does not correspond to a contact record in the database.
BRIEF DESCRIPTION OF THE DRAWINGS
These and other features, aspects and advantages of the present invention will be more fully understood when considered in connection with the following specification, Appended Claims and Accompanying Drawings, wherein: FIG. 1 is an exemplary screen shot of a contact management new contact record including client software interfaces in accordance with the present invention;
FIG. 2 is an exemplary screen shot of a registration and new contact entry form, indicating data entry fields associated to a participant's unique identifier; FIG. 3 is an exemplary screen shot of a contact management contact record, including updated information and saved previous contact data;
FIG. 4 is an exemplary screen shot of synchronization preference options in accordance with the invention; FIG. 5 is an exemplary screen shot of a listing of contacts to which participation invitations are pending;
FIG. 6 is simplified, semi-schematic block diagram of a conceptual data model in accordance with the present invention;
FIG. 7 is a logical data flow diagram illustrating an add new contact process; FIG. 8 is a logical data flow diagram illustrating an invite publisher and edit publisher information process;
FIG. 9 is a logical data flow diagram illustrating a contact synchronization process; and
FIG. 10 is a simplified, semi-schematic block diagram of site components of the network partition portion, of the system of the present invention.
DESCRIPTION OF THE INVENTION
Briefly, the invention is characterized as an automated information exchange system which provides for efficient information intercommunication with respect to personalized contact data, and the like. The system is devised to be implemented in a wide area network environment, where end-users are each facilitated with a data terminal device, such as a PC, running to any one of a number of various, commercially available contact management application software programs. A network partition portion suitably comprises a data base server which hosts a system data base, including personalized contact records, each contributed by a contact record provider and each including a unique identification index. The network partition portion further includes synchronization which synchronizes the record contents of the data base with a corresponding set of personalized contact records maintained by the user, without regard to the form or implementation of the user's contact management application software program.
Personalized contact record information is created by the "owner" of such information and is "published" to the network portion's data base through client software residing on the user's computer system. "Publishers" of personalized contact information are associated with various particular ones of the universe of "subscribers" of the system through each individual user's list of contacts, residing in their contact management application software program. Each user (subscriber) thereby establishes a one-to-many relationship with each of their listed contacts who, in turn, may establish a one-to-many relationship, both with the first user, and with the various individuals and entities listed in their own contact management application software program. As will be discussed in greater detail below, as new information is "published" to the data base, the system associates the newly published information to all of the individuals and entities having a relational association to the publishing party. Periodically and rationally, newly published information is synchronized with the publishing party's relational partners at a determinable time when the relational partner's contact management application software program is available to system access.
The system automatically populates empty contact fields in a user maintained contact record with corresponding current contact field information contained in the most recently published data base contact record for the publishing entity. The system further automatically replaces field contact fields in a user maintained contact record with corresponding contact field information contained in the most recently published data base contact record for the publishing entity. Thus, each user maintained contact record which corresponds to a contact record maintained in the data base is updated to reflect the most recent information published to the data base by the owning entity of the data base contact record.
Further, and in keeping with principles of the invention, each data base contact record is identified by a unique identification index, such as an e-mail address, a telephone number, social security number, or a random or sequential alpha-numeric tag, in order to uniquely identify each record and obviate the confusion that might obtain in the case of multiple individuals, each named John Smith, for example. Subscribers are able to query the system for a contact record belonging to a particular individual or entity, by forwarding a contact record query associated to the unique identification index. For example, a contact record query for a particular John Smith is able to extract and return contact record information for John Smith of Santa Barbara, California, by querying for John Smith associated to the telephone number (805) 111-2345, for example. These, and other particular features of the present invention, will be described in greater detail below.
One particular embodiment of the invention provides an end-user with a substantially free, automated methodology by which to download, update and synchronize contact information without adding cost or requiring significant, or even inconvenient, changes in behavior. Using an individual's or entity's e-mail address, for example, as a unique identifier, the system catalogs contact information provided by subscribing users and disseminates any information changes or updates to any or all of the "contacts" contained in a subscribing user's contact manager program. Further, the system alerts Subscribers when their relational associates or colleagues have changed their own contact information. The system, according to the invention, maintains currency of files by generating a verification request and e-mailing the request to the individuals and entities contained in the contact listing of the system's Subscribers. Each verification request is generated and directed to an individual or entity, as emanating from the e-mail address of a known colleague. The verification request further acts as an invitation to download and use the system, for those individuals who do not already participate in the data base. By promoting peer-to-peer communication between businesses and professionals, the system's data base entries are expected to expand exponentially.
The system includes a client application software program, configured to function as a plug-in to existing contact management software, rather than as a stand-alone system. The plug-in capability of the client application provides a user with the functionality of the system, without requiring a user to learn new software or to abandon their present e-mail client or contact management software, with which they are already comfortable.
Prior to describing the details of the system's architectural and functional implementation, some discussion as to term definitional meaning would be appropriate. In the context of the application, a "Subscriber" refers to a person, whether individual or entity, who receives contact information and who enters it into their local contact data base. A "Publisher" refers to a person, whether individual or entity, who owns contact information (information contained within a contact record) and who is the ultimate authority for maintaining it. An "Invitee" refers to a person, whether an individual or an entity, who has been invited to participate in the system by a Subscriber, but has yet to respond to the invitation. It should further be noted, that Subscribers and Publishers both fall under the general rubric of "Users," which refers to any individual or entity availing themselves of any of the functionality of the system. Operationally, and in accordance with the invention, Subscribers add new contacts into their local contact manager data base and synchronize their contact data base with the network portion of the system. Subscribers and Publishers both update contact information and are notified automatically of detected contact information update changes. Additionally, Subscribers and Publishers respond to a notification from the network data base, in order to update their own local contact information data base.
Initially, a user downloads a client software application from the system's Web point of presence, for example, and associates the client software application to their particular contact management software program. This is done in several ways, the most prevalent of which are downloading a specific piece of client software adapted to the user's contact manager program, or downloading a universal client application and configuring the application's software switches for use with a particular contact manager by selecting the appropriate contact manager from a menu list of supported contact management programs. Other methodologies will be immediately apparent to those having skill in the art and need not be described further herein. All that is necessary is that the client software application be associated to the user's contact management program. This is particularly advantageous in providing translation field definitions between and among various contact managers, such that the ordering of a particular file string pertinent to Eudora will be recognizable and translatable into element fields of Outlook, for example. In this regard, the present invention will be discussed in terms of Microsoft Outlook being used as a user's contact management program. Microsoft Outlook is a commercially available contact manager, manufactured and sold by Microsoft Corporation of Redmond, Washington, and is merely illustrative of the presentation and functionality of contact management software.
As mentioned above, the user's client software application functions as a plug-in to their conventional contact manager. As such, the plug-in interacts with a user through a graphical user interface (GUI) and presents its information fields and user input requests in the same, familiar form as the user's contact manager.
In this regard, and with reference to the exemplary screen shot of FIG. 1, functionality of the client software is invoked by the addition of functional "buttons" disposed as additional "tools" within the "toolbar" 12 of a new contact form 10. In the exemplary embodiment of FIG. 1, a "synchronized" activity button 14 is appended to the task buttons of the toolbar 12. Further, a synchronization activity definitional page is added to each contact record, and is accessed through an identifying "tab" 16 that is appended to the conventional tabular definition of a record, such as the General tab, Details tab, Journal tab, Certificates tab, and all Fields tab, in the case of an Outlook contact record. Clicking on either the synchronization button 14 or synchronization tab 16 brings the client application functionality forward for interaction by a user.
Registration and acquisition of the client software application begins by a prospective user" interacting with a registration agent provided over the Internet, for example. The registration agent requests the prospective user to fill in certain fields of a registration form with the prospective user's personal or business contact information. As illustrated in the exemplary screen shot of FIG. 2, the registration form includes entry fields that contain the prospective user's first and last names, salutation and suffix information, title, employer and department data, residence address data, and the like. In particular, the registration form requires entry of a prospective user's first and last names, along with an e-mail address and a security password. The prospective user's first and last names, in combination with their e- mail address, provides sufficient, unique identification information such that the user is uniquely identifiable from an extremely large data base set of similar users. Adding a first and last name to an e-mail address assures that each user is distinguished, even in the case where several users might share a common e-mail address, such as the different family members of a household.
The registration form also contains the optional fields within which a prospective user might list various telephonic contact numbers, facsimile numbers, pager numbers and other e- mail addresses or contact resources. The registration form illustrated in the exemplary embodiment of FIG. 2 also requests the user to indicate what sort of software is used for contact management, by selecting a contact management program from a menu of such programs.
When the registration form is completed, it is submitted to the system administrator, over an Internet connection, whence the user's contact information is collected into a data base contact record. The user is associated to their contact record as its Publisher and is allowed to download the client application software program.
Once the client application is downloaded and installed on the user's system, the user becomes a Subscriber and may initiate interaction with the client. One of the particular features of the client application of the invention is its ability to initiate searches of the data base for contact information relating to a prospective (or new) contact of the Subscriber. A Subscriber can simply enter the prospective contact's e-mail address to start. The e-mail address is entered into a dialogue box that also asks the Subscriber if they wish to search the system's network data base for additional information. By clicking on "yes," a search of the data base is conducted and the other contact fields are filled in if the Publisher is found. Returning to the exemplary embodiment of FIG. 1, the prospective contact's e-mail address is entered into the e-mail field 18 of a user's contact manager's general contact record.
If an information publisher is not found which corresponds to the e-mail address entered into the e-mail record field 18, a dialogue box appears which asks the Subscriber if they would like to invite the prospective contact to participate in the contact management and synchronization system of the invention. The dialogue box offers a Subscriber the option to click either "yes" or "no". If the Subscriber clicks "yes," a form e-mail is sent to the Invitee, containing the contact information of the Subscriber both in the message body and as a "vCard" (a standardized personal data interchange methodology that transfers information in accordance with a structured .vcf file format). The system intersperses the e-mail to the Invitee with URL links that allow the Invitee to traverse the system's Web pages. Once an Invitee traverses a link to the system's Internet point of presence, they are able to register as a Publisher by filling out the above-mentioned registration form and automatically notify all Subscribers of these changes (change of contact data). The system allows a Publisher to set permissions such that all or none of the Subscribers can access the changes and/or opt-out of the system completely. Once registered as a Publisher, the Invitee may download the client software application and become a Subscriber in addition to being a Publisher.
As will be described in greater detail below, upon sending a system participation invitation, the original Subscriber's contact record, containing the e-mail address of the Invitee, is saved and appended with a category flag of "Pending Invitation Response." The Subscriber also has the option of clicking on the synchronized button 14 and synchronizing the current contact record or all of their contact records with the system data base. Each contact not associated with a record in the data base will be sent an invitation to participate, in substantially the manner described above.
Those contact records that are determined to be associated to contact records maintained in the system data base, are updated. Local contact record updating includes automatically filling any empty contact fields in the local contact record with information contained in the corresponding system contact record. Further, all local contact fields containing existing information are updated with the corresponding information contained in the contact record maintained in the systems' network data base. In accordance with the invention, as existing information is updated, the original field content (the previous information) is saved and appended as textual data to the top of the "notes" field 20 for review and evaluation by a Subscriber. As indicated in the exemplary screen shot of FIG. 3, the original data which has been subject to update is flagged with an appropriate field name indicating which field it was reserved from.
Synchronization is accomplished in a couple of different ways, depending upon the architectural implementation choices of the system architect. In one particular embodiment, a "thicker" client software application accesses the contents of the contact manager's contact record data base file and extracts data, for each contact, from those fields which function to uniquely identify a contact (first and last name and e-mail address, for example). A file, or data stream, comprising this information is forwarded to the system's network portion, for evaluation against the system's data base, over an Internet connection. Where a match is found, the complete record data is returned to the local client, whence it is populated into the corresponding local data base record. Necessarily, the data stream flowing from the system's network portion to the local client is formatted in a standardized manner, such that the client is able to recognize delimited data as pertaining to specific fields of its associated contact management application. In an alternative form, a "thinner" client communicates with the system's network portion and forwards a mirror image of its contact management application data base file. The network portion, suitably comprising a data processing server, performs the unique identification extraction, comparison and matching functions, with the system's network portion returning a constructed file of update information to the local client, with the constructed file delimited to such an extent as to enable the local client to seamlessly overlay the "update return" information on the local contact record data base contents. In this regard, the network portion understands the form and format of the data necessary to be returned to the local client. It will be understood by those having skill in the art, that the 3-character file extension of the local contact data base file necessarily identifies the contact manager software application being used in connection with that file. All the network portion need do is to parse the 3-character file extension of the mirror in order to determine how data is to be formatted for that particular contact management program.
Notwithstanding the foregoing, those having skill in the art will immediately recognize that the thick client and thin client embodiments represent two ends of an implementation spectrum. A system architect may well choose to implement a particular methodology which partitions the functional and operational tasks of the network portion and the local client in a manner anywhere along the spectrum.
Synchronization activities may be performed at any time, and in accordance with synchronization preferences that are settable through a Subscriber's client application. Turning now to the exemplary screen shot of FIG. 4, the various system synchronization options are accessible through a pop-up window 22 that appears when the user interacts with the synchronization button 14. The pop-up window 22 suitably comprises a set of activity pages, each accessible through a respective one of a set of "tabs," such as preferences 24, pending invitations 26, and view log 28. Selecting the preferences tab 24 accesses the preferences dialogue window which presents various synchronization options to the Subscriber, any of which may be selected by clicking an "activation" area. For example, in the exemplary embodiment of FIG. 4, the user is given the option of synchronizing all contacts automatically or synchronizing all contacts manually. Further, the user can instruct the system to initiate a synchronization request whenever the user creates a new contact record or the user can affirmatively defeat this functionality. Further, within the preferences dialogue window 24, the user can click on a "choice" switch 30 which instructs the client to perform synchronization with respect to a set of contacts affirmatively chosen by the Subscriber. This "choice" option allows the Subscriber to define synchronization options on a pre-determined plurality of contacts and, therefore, represents a synchronization activity between the "automatic all" and "manual all" poles. Further, synchronization timing is determined by the user's entry of a timing period into a timing window 32. For example, the user might prefer the system to synchronize all contacts automatically every three (3) days by setting those optional switches. Or, the user might prefer the system to synchronize only those "chosen" contacts every seven (7) days by setting those switches. Once preferences are set, the window is closed and preferences are maintained within the client for future reference and activity control.
Also, and as depicted in the exemplary screen shot of FIG. 5, a "pending invitations" window is opened by the user's accessing the pending invitations tab 26 of the preferences pop-up window 22. "Pending invitations" contains a listing of those e-mail addresses, and the entity names associated therewith, to which invitations to participate have been sent, but a response has not yet been forthcoming. This information is particularly helpful to a Subscriber in determining which of their local contact records may be incomplete or out-of- date, at least at such time as the invitation was sent. A flag field 34 is associated with each entry and might indicate from which of the entries a response is awaited, and/or which of the entries have "bounced" the invitation such that no response is likely. Those entries from which a response was declined can therefore be removed from the synchronization schedule.
A further preference window, the view log window 28, gives a Subscriber the opportunity to view the system processing logs. System processing logs contain conventional state completion logging data which is well understood by those having skill in the art. Accordingly, it will not be discussed in any greater detail herein.
A conceptual data model of the functional implementation of the system in accordance with the invention is illustrated, in simplified form, in FIG 6. A subscriber 36 invites various Invitees to participate in the system by synchronizing at least a unique identification portion of contact information 38 with the system data base. Through interaction with the system, the subscriber 36 establishes an association 40, or set of associations, with each of the individuals or entities comprising their local contact record data base. Each subscriber 36 develops a preference 42, or set of preferences, by which their associations 40 are defined. System interaction allows a Subscriber 36 to receive communications 44 which, in turn, correspond to contact record associations derived through subscriber preferences.
A publisher 46 adds or updates their own contact information 38 which is communicated, on a one-to-many basis, to all of the subscribers 36 which have an association 40 with the publisher 46 as determined by their preferences 42. Communications 44 provide publisher-defined updates to each associated subscriber 36 through a synchronization procedure.
Operationally, and with reference to the exemplary new contact logical flow diagram of FIG. 7, system processing initiates when a Subscriber brings up a new contact window from their local contact management software application. A client system-generated dialogue box pops-up on an e-mail insertion event, such as when a Subscriber enters the e- mail address of a prospective new contact in the e-mail window of the new contact record. The dialogue box makes a "find contact" request and elicits a "yes" or "no" response from the user. Further, the user is given the option to check a "don't ask again" activity field if they wish to disable this automatic portion of the system. If "don't ask again" is checked, the dialogue is closed. The "don't ask again" engine sets future dialogues to the default value selected in the current action. This default value can be reset in the client system's "settings" dialogue, in conventional fashion. Given an appropriate response to the dialogue, the client application initiates a "find contact" procedure by which it accepts either a single contact value, or an array of contact values, and performs a search on them through the system's network data base. The network system portion accepts a single contact value for an array variable, and selects a data base contact record where the record e-mail is equal to an input publisher e-mail and where the Publisher has not decided to opt-out of system usage during the publication process. The network system portion checks a security permission and selects "permission granted" where a Publisher's e-mail address is equal to the input publisher e-mail and the Subscriber's e-mail address is equal to the input Subscriber e-mail address (the e-mail address making the request). If the show value is false, the system hides the contact record data from the Subscriber and returns an empty contact results array.
If a corresponding contact record is found, the network system portion inserts an association between the Subscriber and the Publisher into the data base. The association is inserted into the Publisher's and Subscriber's ID, where they are equal to the respective e- mail addresses. Each Subscriber's association "family tree" is thereby updated and maintained. A contact record synchronization procedure is then carried out with respect to the Publisher's contact record maintained in the system's network data base and the new contact record established by the Subscriber at the beginning of the process. In the case of more than one match between an input Publisher e-mail address and a plurality of Publisher contact records, system defaults to the most recent entry for that Publisher.
In the case where no contact record has been found that corresponds to a Subscriber input e-mail address, the system returns an empty results array and the user is prompted to trigger a participation invitation to the prospective Publisher. A pop-up dialogue box initiates a request to the user as to whether the user wishes to invite the new contact to participate. The dialogue elicits a "yes" or "no" response from the user, as well as gives the user the opportunity to check a "don't ask again" activity field. The dialogue closes (or does not initially open) after appropriate negative responses. If the Subscriber chooses to make the new contact an Invitee, top-level contact data is saved in the "pending invitations" data base and the network portion is commanded to issue a participation invitation. Further, the prospective Invitees' contact data, as entered by the Subscriber in their contact management program and saved "pending invitation," is also forwarded to the network data processing portion whence it is presented to the Invitee along with the participation invitation. An exemplary logical flow diagram of an invitation process is depicted in FIG. 8. An invitation engine of the network system portion sends an e-mail to the Publisher (Invitee) of the contact information, as identified by the e-mail address provided by the Subscriber, and invites the Publisher to edit or approve the information. The engine provides a link, within the e-mail message, that the Publisher can click on to traverse the Internet in order to access the requisite edit profile page. This engine provides the necessary functionality allowing for both new publisher entries and for allowing Publishers to edit existing contact records. Thus, the engine is invoked either by a user explicitly logging-on to the system and accessing the requisite edit profile page, or by the system's sending an invitation to a Publisher that provides the link. It should be noted that contact information provided to the Publisher includes both the Publisher contact information provided by a Subscriber and Subscriber contact information from the Subscriber which initiated the process. The system creates a file in vCard format of both the Publisher's and/or Subscriber's contact information for attachment to the e-mail. In the case where a Publisher is an Invitee, they click on the URL contained in the e-mail and are then able to edit their contact information as shown on the contact information page. Further, an Invitee is given a choice of various preference options, including the option to opt-out of the process and to set various allowance levels in order to grant or preclude access in accordance with Publisher-defined metrics. Changes from the edit contact information page are saved and the contact table for the current Publisher is updated with the values from the edit contact information page. A confirmation page, which confirms saving a Publisher's contact information, provides a link through which a Publisher downloads client software that is installed on their local data terminal device so as to function in cooperation with their locally-hosted contact management software program. The link to the client download is also provided as a URL link in the e-mail directed to the Invitee by the system. A Publisher need only click on the link and download proceeds in a conventional fashion. Client software is installed, and the Publisher becomes a Subscriber.
If the Publisher checks the option to notify all Subscribers of changes, whenever the Publisher performs an update of their information through the Web page, the system gathers all of the e-mail addresses of Subscribers associated to the Publisher and creates an array of those e-mails. The system steps through the array and issues a notification e-mail to associated Subscribers that updated information is available for a particular Publisher. A Publisher's updated contact information is formatted as a vCard file and attached to each e- mail. The e-mail to Subscribers also contains a Publisher's contact change information in the message body in addition to its attachment as a vCard file.
A synchronization component allows a Subscriber to verify and synchronize their entire contact data base against the contents of the system data base. This element is triggered by an explicit action, taken by the user, and follows the logical synchronization process flow procedure exemplified in FIG. 9. As depicted in the process flow of FIG. 9, synchronization is initiated either at the time of client software installation by the user, as a Subscriber affirmatively clicks on the synchronization command button, or in accordance with a timing periodicity, affirmatively set by a Subscriber through interaction with a client software. Regardless of how initiated, the process initiates synchronization which allows the Subscriber to synchronize either the current contact, all contacts in their data base, or a selected set of contacts in the data base. A contact dialogue presents an explicit request to the user as to whether the user wishes to synchronize contact information with the system, and presents the user with the synchronization options. If the user chooses a "sync current" option, the client software initiates synchronization for the current contact and accepts either a single contact value, or an array of contact values, and forwards them to the network system portion for searching, as was described above. If the user returns a "sync all" or "sync some" command, the client gathers and collects all Publisher e-mail addresses, for the contacts in the desktop data base, and passes them to the network system portion, in an array, along with a check sum value. The network system portion accepts either a single contact value, or an array of contact values, and performs a search on each of the array values in a manner like that described above. Each search establishes whether or not a contact was found and if so, constructs a "return found contacts" array which returns the results of the search in an array for processing on the client side. Family tree information is updated and the process runs in a "for each" loop with respect to the array. If no contact records are found with respect to an item in the Subscriber's array, the system constructs a "not found array" of e-mails from all contact elements not found in the search process. The "not found array" is forwarded to the Invite Publisher Process which constructs an e-mail to the Publisher of the contact information (as identified by the e-mail address) and invites them to edit or approve the information. Synchronization continues until all of the contact elements, forwarded to the system's network portion, have been compared to the network data base contents and either found and entered into the "return found contacts" array or not found and entered into the "not found contacts" array.
Characteristically, the "return found contacts" array is used to initiate synchronization with each individual contact record contained in a Subscriber's local contact management data base, in a manner similar to that described above.
Personal Data Interchange (PDI) occurs every time two or more individuals communicate, in either a business or personal context, face-to-face, or across space and time. Such interchanges frequently include the exchange of informal information, such as business cards, telephone numbers, addresses, dates, and times of appointments. Augmenting PDI with electronics and telecommunication capabilities helps ensure that information is quickly and reliably communicated, stored, organized and easily located when needed. vCard automates the exchange of personal information typically found on a traditional business card. vCard is used in applications such as Internet mail, voice mail, Web browsers, telephony applications, call centers, video conferencing, Personal Information Managers (PIMs), Personal Digital Assistants (PDAs), pagers, fax, office equipment, and smart cards. vCard information goes beyond simple text, and includes elements such as digital photos, graphic company logos, live Web addresses, and the like. The specifications for implementation of vCard technology are well known to those having skill in the art and further elaboration is not required herein. No matter how implemented, however, form entry field data is validated by way of
JavaScript on Web pages, and by way of event handlers in the client contact manager program. Data base errors or captured and the most common errors are returned to the user in a friendly dialogue manner which explains the error. Contact information for reporting errors is also provided. In addition to integrating with a user's local contact data base, the system supports considerable e-mail traffic by way of SMTP. SMTP components are integrated with external e-mail servers. Data transfer between a Subscriber client application and the system's network portion occurs by way of Secure HTTP (SSL). All data is transferred either as Post or Get Arguments or formatted as an Extensible Markup Language (XML) document.
One exemplary embodiment of site components of the system's network portion, is illustrated in FIG. 10. In particular, the site components suitably comprise a relational data base 50 which functions as the central repository (data warehouse) for all contact record information and archiving of application actions. The relational data base 50 operates under control of a relational data base management system (RDBMS) which functions to organize, populate, update and otherwise manage the components of the relational data base 50. The system's network portion further comprises an application server, which runs middle wear application software routines providing a interface into the RDBMS, tools for data manipulation, and generates HTML-based presentation events for the user interface. A user interface for data accessing and editing 56 controls all data access and display functions such that all data access and display occurs through either a direct HTTP connection to a user's desktop content application operating in cooperation with the system's client software, or a Web browser interface. A Web server 58 hosts Web server software 60 that handles all communications between the client desktop and the application/data base. System security is promoted by a network firewall 62 which controls definition of public and private access to the system servers. Filters are implemented for all servers to allow only those Internet protocols relevant to utilizing the system. Firewall hardware and software security is implemented at the hosting location in order to limit access to the system servers from the front end. This ensures that only valid HTTP requests are made to the server from authorized networks. Secure Socket Layer (SSL) encryption is used to protect transfers of information from a client's Web browser to the Web server 58. This method of security provides a visual assurance to the user, at the browser, that the information they are submitted is not being intercepted by prying eyes.
Operating system software is provided as an operating system layer in the application server 54 and the data base server 64, and provides the foundation for all other applications to run and interact. An e-mail server 66 provides e-mail communication capability for users of the system by way of SMTP calls from the application server 54.
While the present invention has been described with reference to a number of exemplary embodiments, it will be understood by those having skill in the art that the invention is not limited to the specific structural arrangements and methodological steps exemplified therein. Indeed, the allocation of the various software elements comprising portions of the present invention may be made in substantially different fashion, depending on the architectural objectives of the system designer. For example, the client application may be thicker or thinner, at the designer's option, and might be implemented as a standalone GUI, as opposed to being completely integrated with a user's contact management program. The thickness and/or thinness of the client application would necessarily determine whether the client software participates in a greater or lesser degree with the organization of local contact record data for searching and/or synchronization.
A thick client may well be provided with functionality that enables a Subscriber to create, append, modify or otherwise inform the various lists, profiles, menu items, rule sets, and the like, and them communicate the various adaptations to the system, whenever the Subscriber establishes a connection session. A thinner client would necessarily allocate these resources to a centralized application server which would then be available to a Subscriber either through the client application or through accessing the system's network presence by a conventional browser application. Likewise, the specific servers discussed above can be considered "virtual" servers, in that a single, unique piece of equipment is not necessarily allocated to the various functional aspects of the system. As data processing equipment grows in capability, it is quite likely that a single, monolithic piece of hardware might become practicable for carrying out all of the operational tasks of the system. Conversely, various pieces of data processing hardware might be coupled together to form a distributed server system, with the various operational tasks distributed between and among the various pieces of hardware in a non-intuitive fashion. The system's network portion might be configured to have a particular operational presence in various locations, depending on the nature of the underlying transport network with which it is associated.
Accordingly, the present invention is not intended to be limited to the various exemplary embodiments illustrated above, but is rather intended to cover all manner of equivalent structure and operational steps that might be made within the scope and spirit of the present invention as defined by the Appended Claims.

Claims

WHAT IS CLAIMED IS:
1. In an automated information exchange system, a method for establishing efficient information extraction, comprising: establishing a database, the database including personalized contact records, each record contributed by a contact record provider, each record further including a unique identification index; receiving a query from an information requestor, the requestor providing an information index as the query; matching the identification index query provided by the requestor with a unique identification index corresponding to a particular contact record; identifying a source locus corresponding to the requestor; and forwarding the particular contact record matched to the unique identification index to the source locus and thereby to the requestor.
2. The method according to claim 1 , further comprising: assigning an association between the requestor and the provider of the particular contact record; and wherein, as a provider modifies their personalized contact record, the modified contact record is automatically forwarded to each requestor with which the provider is associated.
3. The method according to claim 2, wherein the unique identification index is one selected from a group consisting of an e-mail address, a telephone number, a social security number, a random alpha-numeric tag, and a sequential alpha-numeric tag.
4. The method according to claim 3, wherein the database is hosted on a web- based database server system, the requester communicating with the database server over a network communication link.
5. In an automated information exchange system, a method for establishing efficient information extraction, comprising: establishing a database, the database including personalized contact records, each record contributed by a contact record provider, each record further including a unique identification index; synchronizing the contents of the database with a set of contact records maintained by a user, the user maintained contact records hosted on a contact management application software program; and wherein, each user maintained contact record corresponding to a contact record in the database is updated to reflect current information contained in the database contact record.
6. The method according to claim 5, the updating step further comprising: automatically populating empty contact fields in a user maintained contact record with corresponding current contact field information contained in the database contact record; and automatically replacing filled contact fields in a user maintained contact record with corresponding current contact field information contained in the database contact record.
7. The method according to claim 6, each user maintained contact record including a free form data field, the method further comprising: saving the user maintained contact record information which is replaced by current database contact field information; and appending said saved contact field information into the free form data field.
8. The method according to claim 7, further comprising: evaluating the record contents of the set of contact records maintained by a user; identifying a unique transmission index in each contact record of the set which does not correspond to a contact record in the database; and transmitting an invitation message to each identified unique transmission index.
9. An automated information exchange system for establishing efficient information extraction, the system comprising: a database server; a database hosted on the server, the database including personalized contact records, each record contributed by a contact record provider; each record further including a unique identification index; an information requestor, the requestor identified to a source locus; means for receiving a contact record query from the information requestor, the requestor providing an information index as the query; a matching engine, the identification index query provided by the requestor matched with a unique identification index corresponding to a particular contact record; and a transmission engine, the engine forwarding the particular contact record matched to the unique identification index to the source locus and thereby to the requestor.
10. The system according to claim 9, further comprising: a network enabled user terminal; a contact management program hosted on the user terminal; an information exchange software program plug-in hosted on the user terminal and operative in cooperation with the contact management program; and wherein the information exchange software program plug-in executes the contact record query, the particular contact record matched to the unique identification index populating a contact record maintained by the contact management program.
11. The system according to claim 10, further comprising: an association engine, hosted on the database server, the engine forming an association between the requestor and the provider of the particular contact record; and wherein, as a provider modifies their personalized contact record, the modified contact record is automatically forwarded to each requestor with which the provider is associated.
12. An automated information exchange system for establishing efficient information extraction, the system comprising: a network enabled user terminal; a contact management application software program hosted on the user terminal; a database, hosted on a database server, the database including personalized contact records, each record contributed by a contact record provider, each record further including a unique identification index; a synchronization engine, the engine synchronizing the contents of the database with a set of contact records maintained by a user, the user maintained contact records hosted on the contact management application software program; and wherein, each user maintained contact record corresponding to a contact record in the database is updated to reflect current information contained in the database contact record.
13. The system according to claim 12, further comprising: means for automatically populating empty contact fields in a user maintained contact record with corresponding current contact field information contained in the database contact record; and means for automatically replacing filled contact fields in a user maintained contact record with corresponding current contact field information contained in the database contact record.
14. The system according to claim 13, further comprising: an association engine, hosted on the database server, the engine forming an association between a subscriber and the provider of the particular contact record; and wherein, as a provider modifies their personalized contact record, the modified contact record is automatically forwarded to each subscriber with which the provider is associated.
15. The system according to claim 14, wherein the modified contact record is automatically forwarded to associated subscriber as a vCard file.
PCT/US2001/029366 2000-09-20 2001-09-20 Automated system and method for downloading, updating and synchronizing contact information WO2002025403A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU92838/01A AU9283801A (en) 2000-09-20 2001-09-20 Automated system and method for downloading, updating and synchronizing contact information

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US23402000P 2000-09-20 2000-09-20
US60/234,020 2000-09-20
US23827300P 2000-10-05 2000-10-05
US60/238,273 2000-10-05

Publications (1)

Publication Number Publication Date
WO2002025403A2 true WO2002025403A2 (en) 2002-03-28

Family

ID=26927473

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2001/029366 WO2002025403A2 (en) 2000-09-20 2001-09-20 Automated system and method for downloading, updating and synchronizing contact information

Country Status (2)

Country Link
AU (1) AU9283801A (en)
WO (1) WO2002025403A2 (en)

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2850814A1 (en) * 2003-02-03 2004-08-06 France Telecom SYSTEM AND METHOD FOR SYNCHRONIZING DATA BETWEEN SERVICE PORTALS AND SERVICE ACCESS PLATFORM USING SUCH A SYNCHRONIZATION SYSTEM
EP1544762A1 (en) * 2003-12-11 2005-06-22 Groove Networks, Inc. Method and apparatus for storing and managing contacts in a distributed collaboration system
JP2005196581A (en) * 2004-01-08 2005-07-21 Groove Networks Inc Method and device for storing and managing contact in distributed collaboration system
WO2006010242A1 (en) * 2004-07-30 2006-02-02 Research In Motion Limited Method and apparatus for synchronizing contact data stores
US20060064436A1 (en) * 2004-08-12 2006-03-23 Fowler James F Contact information marketplace
GB2420644A (en) * 2004-11-25 2006-05-31 Sms Card Ltd Information request processing and monitoring
WO2007125427A2 (en) * 2006-05-02 2007-11-08 Skype Limited Synchronising contacts
WO2007135191A1 (en) * 2006-05-24 2007-11-29 Sagem Orga Gmbh Data synchronization
WO2008134821A1 (en) * 2007-05-07 2008-11-13 Accenture Global Services Gmbh Contact details service
GB2463028A (en) * 2008-08-28 2010-03-03 Cr Systems Ltd A method of operating an offline mobile sales service logistics system
US7756258B2 (en) 2003-12-11 2010-07-13 British Telecommunications Plc Communications system with direct access mailbox
EP2222056A1 (en) * 2009-02-24 2010-08-25 Research In Motion Limited Method and system for updating a virtual business card
US8060572B2 (en) 2009-02-24 2011-11-15 Research In Motion Limited Subscription management for a content-based presence service
US8452959B2 (en) 2009-02-24 2013-05-28 Research In Motion Limited Method and system for registering a presence user with a presence service
US8606233B2 (en) 2009-02-24 2013-12-10 Blackberry Limited Content-based publication-subscription system for presence information
US8625763B2 (en) 2006-03-30 2014-01-07 British Telecommunications Plc Telecommunications calls
US8798584B1 (en) 2002-11-07 2014-08-05 Joseph G. Swan Apparatuses for requesting, retrieving and storing contact records
AU2012238283B2 (en) * 2007-05-07 2015-01-22 Accenture Global Services Limited Contact details service
US9070142B2 (en) 2005-12-16 2015-06-30 Taylor Corporation Order fulfillment system and method for printing products including individualized information
EP3346399A1 (en) * 2017-01-04 2018-07-11 Palantir Technologies Inc. Integrated data analysis

Cited By (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8798584B1 (en) 2002-11-07 2014-08-05 Joseph G. Swan Apparatuses for requesting, retrieving and storing contact records
FR2850814A1 (en) * 2003-02-03 2004-08-06 France Telecom SYSTEM AND METHOD FOR SYNCHRONIZING DATA BETWEEN SERVICE PORTALS AND SERVICE ACCESS PLATFORM USING SUCH A SYNCHRONIZATION SYSTEM
WO2004071049A1 (en) * 2003-02-03 2004-08-19 France Telecom System and method for synchronisation of data between service portals and access platforms for services using such a synchronisation system
EP1544762A1 (en) * 2003-12-11 2005-06-22 Groove Networks, Inc. Method and apparatus for storing and managing contacts in a distributed collaboration system
US7756258B2 (en) 2003-12-11 2010-07-13 British Telecommunications Plc Communications system with direct access mailbox
JP2005196581A (en) * 2004-01-08 2005-07-21 Groove Networks Inc Method and device for storing and managing contact in distributed collaboration system
EP1723811A1 (en) * 2004-07-30 2006-11-22 Research In Motion Limited Method and apparatus for synchronizing contact data stores
EP1723811A4 (en) * 2004-07-30 2007-05-02 Research In Motion Ltd Method and apparatus for synchronizing contact data stores
WO2006010242A1 (en) * 2004-07-30 2006-02-02 Research In Motion Limited Method and apparatus for synchronizing contact data stores
US20060111975A1 (en) * 2004-08-12 2006-05-25 Fowler James F System to solicit unknown corporate data
US20060064436A1 (en) * 2004-08-12 2006-03-23 Fowler James F Contact information marketplace
GB2420644A (en) * 2004-11-25 2006-05-31 Sms Card Ltd Information request processing and monitoring
GB2425192A (en) * 2004-11-25 2006-10-18 Sms Card Ltd Providing up-to-date contact information
US9070142B2 (en) 2005-12-16 2015-06-30 Taylor Corporation Order fulfillment system and method for printing products including individualized information
US8625763B2 (en) 2006-03-30 2014-01-07 British Telecommunications Plc Telecommunications calls
US7743024B2 (en) 2006-05-02 2010-06-22 Skype Limited Synchronising contacts
WO2007125427A3 (en) * 2006-05-02 2008-01-24 Skype Ltd Synchronising contacts
EP3328045A1 (en) * 2006-05-02 2018-05-30 Skype Synchronising contacts
EP3291522A1 (en) * 2006-05-02 2018-03-07 Skype Synchronising contacts
WO2007125427A2 (en) * 2006-05-02 2007-11-08 Skype Limited Synchronising contacts
WO2007135191A1 (en) * 2006-05-24 2007-11-29 Sagem Orga Gmbh Data synchronization
US8850042B2 (en) 2007-05-07 2014-09-30 Accenture Global Services Limited Contact details service
AU2012238283B2 (en) * 2007-05-07 2015-01-22 Accenture Global Services Limited Contact details service
WO2008134821A1 (en) * 2007-05-07 2008-11-13 Accenture Global Services Gmbh Contact details service
GB2463028A (en) * 2008-08-28 2010-03-03 Cr Systems Ltd A method of operating an offline mobile sales service logistics system
US8606233B2 (en) 2009-02-24 2013-12-10 Blackberry Limited Content-based publication-subscription system for presence information
US8452959B2 (en) 2009-02-24 2013-05-28 Research In Motion Limited Method and system for registering a presence user with a presence service
US8060572B2 (en) 2009-02-24 2011-11-15 Research In Motion Limited Subscription management for a content-based presence service
EP2222056A1 (en) * 2009-02-24 2010-08-25 Research In Motion Limited Method and system for updating a virtual business card
EP3346399A1 (en) * 2017-01-04 2018-07-11 Palantir Technologies Inc. Integrated data analysis
EP3674913A1 (en) * 2017-01-04 2020-07-01 Palantir Technologies Inc. Integrated data analysis
US11100079B2 (en) 2017-01-04 2021-08-24 Palantir Technologies Inc. Integrated data analysis
US11803532B2 (en) 2017-01-04 2023-10-31 Palantir Technologies Inc. Integrated data analysis

Also Published As

Publication number Publication date
AU9283801A (en) 2002-04-02

Similar Documents

Publication Publication Date Title
WO2002025403A2 (en) Automated system and method for downloading, updating and synchronizing contact information
US9727632B2 (en) Contact builder
JP4688813B2 (en) Synchronization and merge engine
US7917468B2 (en) Linking of personal information management data
US8554794B2 (en) System and method for enforcing privacy in social networks
JP4979193B2 (en) Method, system and computer program for integrating events published on a server project calendar with "personal calendar and scheduling" application data of each of a plurality of clients
US6820204B1 (en) System and method for selective information exchange
CA2676006C (en) Sharing of media using contact data
US20050192008A1 (en) System and method for selective information exchange
US20070129014A1 (en) Information synchronization
WO2007002714A2 (en) Relationship definition and processing system and method
JP5574554B2 (en) System and method for global directory service
WO2008015256A1 (en) Method, system, and program product for managing conference calls
US20070005548A1 (en) System for enabling users to create tasks
Minerva et al. Unleashing the disruptive potential of user-controlled identity management
AU2004267510B2 (en) System for enabling users to create tasks
CA2536273A1 (en) System for enabling users to create tasks
KR20140006388A (en) Additional service providing system, organization information managing server, directory managing server, communication service server and additional service providing method

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 BY BZ CA CH CN CR CU CZ DE DK DM DZ EE 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 NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A2

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

WA Withdrawal of international application
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642