# Patent

## Title
Matrix-connected, artificially intelligent address book system

## Abstract

An online address book system having sufficient hardware and software to operate an address book user interface and to perform intelligent interpretations of inputs from users. The system includes at least one server software module that includes software to perform a plurality of functions. These include the ability to receive input data and separate user queries, wherein the software can arrange the data so as to create a data base that includes at least three access dimensions, including contact access, contact-relationship access and contact-time frame access, and so as to create a connectivity matrix based on a plurality of contact pair relationships applying connective recognition logic. The system provides a user interface that permits access to address book stored data based on user input selected from the group consisting of contact, a contact-relationship pair, a contact-time frame pair, and combinations thereof.

## Background
REFERENCE TO RELATED PATENT APPLICATION
The present application hereby claims priority based on a United States Provisional Patent Application that was filed less than twelve months prior to the present application. Thus, priority is claimed based on U.S. Provisional Application No. 60/704,701 filed on Aug. 2, 2005, by the same inventor as herein, and entitled “Super Index Card Address Book”.


BACKGROUND OF INVENTION
a. Field of Invention
The invention relates generally to computer-based address books and particularly Internet accessible address book systems. The present invention is primarily directed to an advanced address book system that includes software that operates more like human thinking and offers additional features not heretofore offered by conventional computer-based address books. In particular, the present invention offers at least three dimensions or choices of queries, including a name search that includes comparative, connective and logic generated assistance for the user.
b. Description of Related Art
The following patents are representative of advances in computerized address book system and/or multiple message transmission technology:
U.S. Pat. No. 6,940,951 B2 describes a speech enabled automatic name dialer dialing system for connection to a telephone system, that includes a user computer with a computer-based address book program for retrieval of name-telephone number data for creation of speech enabling phoneme sets for autodialing by speaking a name and utilizing telephone application programming interface (TAPI) for use with user telephones connected to a PBX-type telephony mechanism. User computers have a microphone and speaker and contain at least one loaded address book program. There is software with access to the data base that creates name phonemes corresponding to the name-telephone number data; and software to access computer-based address book programs, to receive voice inputs from the telephony mechanism to create converted phonemes from the spoken names to match voice inputs with specific name-telephone number data from the computer-based address book programs for initiating an automatic dialing. Related U.S. Pat. No. 6,563,911 B2 describes a speech enabled automatic telephone dialer device, system, and method using a spoken name corresponding to name-telephone number data of computer-based address book programs. The invention includes user telephones connected to a PBX-type telephony mechanism, which is connected to a telephony board of a name dialer device. User computer workstations containing loaded address book programs with name-telephone number data are connected to the name dialer device. The name dialer device includes a host computer in a network; a telephony board for controlling the PBX for dialing; a memory within the host computer for storing software and name-telephone number data; and, software to access computer-based address book programs, to receive voice inputs from the PBX-type telephony mechanism, to create converted phonemes from names to match voice inputs with specific name-telephone number data from the computer-based address book programs for initiating an automatic dialing.
U.S. Pat. No. 6,829,607 B1 describes a system and method that automatically provides dynamically generated completion information for facilitating user input of email addresses or contact information. This completion information is developed from a “data store” comprised of multiple data sources such as previously sent or received mail, and other types of electronic files such as word processor or spreadsheet files. The present invention monitors and uses the information in the data store to automatically store, track, maintain, and organize data entries in a dynamic “resolution list”. As a user begins to input an email address or contact, the present invention can either automatically complete the entry using a most probable result from the resolution list, or can display a list of likely matches from which the user may select the desired email address or contact. U.S. Pat. No. 6,349,299 B1 describes a system, method, and computer readable medium containing computer readable instructions for causing a computer to parse selected electronic contact information into fields of a record for storage in a contact database for use by an electronic address book program without opening the electronic address book module. The system may include a selection module that permits a user to select electronic contact information, an initiation module that enables a user to initiate parsing of the selected electronic contact information into fields of a record for storage in the contact database, a parsing module that parses the electronic contact information into fields of a record in a format for storage in the contact database, and a storage module that stores a record from the fields assigned by the parsing module in the contact database. The selection module and the initiation module may operate through operation of a select and click combination through use of a computer mouse and selection of a computer screen icon presented to the user by the system.
U.S. Pat. No. 6,269,369 B1 describes a network-computer-based personal contact manager system wherein users of networked clients maintain and update a set of user information which is stored in a relational database on a networked server. The personal contact manager system allows each user to specify on an individual basis which of their contacts are permitted to access respective datums of their user information. In some cases, and assuming permission is granted, the system will issue notifications (e.g., by e-mail) to a user's contacts when the user changes his information or when a preset event, such as a birthday, as defined by the user, is to occur. The system also allows users to find contacts based on common group affiliations and notifies users when there are coincidences in their data (e.g., travel plans, astrological compatibility). The personal contact manager system supports the retrieval of information on the contacts of contacts, assuming such as permission has been granted by the contacts and their contacts, and can also be used to synchronize the server database with a PIM database of the user and any contacts of the user who have the appropriate permissions.
Notwithstanding the prior art, the present invention is neither taught nor rendered obvious thereby.
SUMMARY OF INVENTION
The present invention solves the problems and overcomes the drawbacks and deficiencies of prior art computer-based or Internet-based address books, by providing a matrix of resources for accessing contact information, by providing time-based alternatives and by growing and connecting (artificial intelligence) relationship information and historical usage to refine responses to user queries and inputs.
The present invention online address book system has sufficient hardware and software to operate an address book user interface and to perform intelligent interpretations of inputs from users. The system includes at least one server software module that includes software to perform a plurality of functions. These include:

    a) receive and store address book input data into a stored database, including unlimited names, with addresses, phone numbers and/or email addresses, for each contact record in the database;
    b.) receive and store relationship input data based on contact pair relationship inputs;
    c.) receive and store time frame input data based on contact-time frame inputs;
    d.) arrange the data so as to create a data base that includes at least three access dimensions, including contact access, contact-relationship access and contact-time frame access, and so as to create a connectivity matrix based on a plurality of contact pair relationships applying connective recognition logic;
    e.) provide a user interface that permits access to address book stored data based on user input selected from the group consisting of contact, a contact-relationship pair, a contact-time frame pair, and combinations thereof.


In some preferred embodiments, the online address book system software creates a connectivity matrix by operation of a subsystem that includes a plurality of familial relationship definitions and includes deductive logic to arrive at conclusions by matching contact-relationship inputs to familial relationship definitions and generating additional contact relationship pairs therefrom. In other words, the software infers the relationship between Person A and Person C if 1) there is a Person B, and 2) the relationship between Person A and Person B is inputted, and 3) the relationship between Person B and Person C is inputted, and 4) there are corresponding familial relationship definitions to which deductive logic is applied. The term “familial” as used herein means of or relating to the family, and the term “family” should be broadly interpreted to include a family of people of common interest, e.g., blood and marital relatives, employees of a company, members of an organization, etc.
In addition to the foregoing, some preferred embodiment online address book system software includes an intelligent interpretation feature wherein query information is stored, matched, and prioritized by a plurality of criteria including word spelling similarity and frequency of usage, to set response priorities for subsequent queries. Also, in some present invention embodiments, the online address book system software includes a spelling checking feature that matches inputted query words to at least one of a) existing database words, b) equivalent words (due to transliteration differences), c) standard abbreviations (like “Dick” for “Richard”), and d) custom abbreviations (like “Junior” for a son) and, when a match fails, finds the closest spelling and queries back if more than one potential match is found. The preferred sequence is that the software fist attempts to match a query to a contact record and to provide the information sought by the user. If this fails, then the software assumes a misspelling has occurred and finds the closest spelling, corrects it, and offers the contact record information to the user. If more than one possible spelling comes into play, the software is programmed to offer the user a choice to select the correct spelling, and after the user makes a choice, the contact record information is presented. Other alternative sequencing may occur. For example, the spell check feature itself could occur as an option to the user, and it could be turned on to an automatic feature, turned off or offered as a manual choice to be made at the time of use. In another preferred embodiment feature, there is an automatic category creation by the software in response to recognizable input information. This software may include an automatic category creation capability based on preprogrammed category term matches with inputted contact information. If a military title or professional title or other commonality is inputted with other contact information, an autocategory feature will create a category for the user, e.g., listing all doctors together, listing all professors together, listing all military personnel together, listing all contacts with the same last name together (perhaps a family list or clients from the same family list), etc.
Also, in some present invention embodiments, the online address book system software includes user customized category creation so that input data for a contact may be placed in a data subset by user-selected category. These categories may be selected from a list of preset choices, or the user may create a category, or both. In some preferred embodiments, the user customized category creation includes user ability to create as many categories as desired and to place contact information into as many categories as desired.
Further, in some present invention embodiments, the online address book system software includes an historical context feature that alters priority response to queries based on historical performance. For example, the software considers a contact record that has been accessed frequently to be a more likely match than one that has been accessed infrequently; also, a contact record with a close relationship to a frequently accessed contact record is accorded to a higher priority than a record without such a relationship (e.g., frequent searches for John Doe inform the software that a search for “Jane” is likely to be a search for John Doe's wife, Jane).
Also, in some present invention embodiments, the online address book system software includes an automatic word or phrase completion to assist a user when inputting a query.
Additionally, in some present invention embodiments, the online address book system software includes contact-time frame input lining to a primary contact data set and will create temporary or permanent override query responses made within override time frames. The term “time frame” as used herein means any word or phrase which describes or implies a particular time period, and should be broadly interpreted to include a) traditional time measures (10:00am Wednesday, 2006, yesterday, etc.), b) repeating time references (every summer, every other Tuesday, etc.), c) references to standard events which themselves define a time period (net semester, “the holidays”, “when the leaves turn”, “when we first met”, etc.).
In addition to the features set forth above, in some present invention embodiments, the software includes a security software module. It is preferred that the security software module has at least two levels of secure access, including a Level One Access that includes full access to use and read contact data, to input contact data, to change data and to delete contact data, and including a Level Two Access that includes preset limited access to use and read contact data, to input contact data, to change data and to delete contact data Additional variations on security are also possible and a primary user could set different levels of security for different subusers, e.g., children, with restrictive password/designated computer-based security levels.
Additional features, advantages, and embodiments of the invention may be set forth or apparent from consideration of the following detailed description, drawings, and claim. Moreover, it is to be understood that both the foregoing summary of the invention and the following detailed description are exemplary and intended to provide further explanation without limiting the scope of the invention as claimed.



BRIEF DESCRIPTION OF THE DRAWINGS
The accompanying drawings, which are included to provide a further understanding of the invention and are incorporated in and constitute a part of this specification, illustrate preferred embodiments of the invention and together with the detail description serve to explain the principles of the invention. In the drawings:
FIG. 1 is a block diagram of one preferred embodiment of the present invention address book system; and,
FIG. 2 is a block diagram of another preferred embodiment of the present invention address book system.



DETAILED DESCRIPTION OF THE EMBODIMENTS
Referring now to the drawings FIG. 1 is a block diagram of one preferred embodiment of the present invention address book system wherein block 1 shows the basic features of the present invention AB with at least three dimensions of accessibility for users. Block 3 shows the essential intelligent interpretation and connective matrix features and block 5 illustrates some optional but preferred additional features. FIG. 2 is a block diagram of another preferred embodiment of the present invention address book system wherein block 11 shows the basic features of the present invention AB with at least three dimensions of accessibility for users and at least two levels of user security. Block 13, as does block 3 above, shows the essential intelligent interpretation and connective matrix features and block 15, as does block 5 above, illustrates some optional but preferred additional features.
The present invention is a software address book system that provides access both via a designated source, e.g. a home computer network, an office computer or a collection of Level One computers, as well as via remote access, e.g., any Internet resource, or other Level Two access, with some functionality deliberately disabled during this Level Two remote access. There is a user interface that can be either a browser or a Java-based program, or both. The Java program gives the user much more power to manipulate the contact information, but the browser approach is well within the scope of the present invention and sufficient for critical basic tasks of the present invention.
The present invention Address Book System is referred to herein in many instances simply as “AB”. The following term definitions shall apply when the terms are used herein:
The term “contact” means a person whose information is captured in AB; “contact record” is the content and location where AB stores all the information about a contact. The term “address” means all contact information for a person, including but not limited to:

    
    
        Street/city/state address (like 501 N. Main St, Chatham N.J. 07803)
        Email address (like joesmith@abc.com)
        Phone number (like (908) 908-9080)
        Name (A single contact could have a set of names, i.e., two or more names, such as a pen name or a stage name, and a legal name; a formal name and a nickname; a married woman might have two names, retaining her maiden name for business purposes, etc., and any name from the set could be used to subsequently access the contact record.)
    
    


The AB presents itself as a single line user interface, with optional buttons and other user interface elements available for novice users. This enables the simplest approach as presented to the user, yet offers tremendous depth and breadth of operation internally. All access to the address book database can be accomplished with basic commands, or transactions. This unique methodology acknowledges the way people usually think when using an address book. For example, if a user wants Joe Smith's phone number, she just types “Joe Smith.” Traditional address book software requires the user to navigate to a particular section of the database (in this case either the “J”s or the the “S”s, depending upon whether the address book is sorted by first name or last) and then scan through a section of alphabetically sorted names until she finds the desired one. AB does that work for the user, showing the user a list only if it is unable to determine whom the user intended to find.
It is acknowledged that some traditional address books have “Find” or “Search” mode, and AB's interface could be considered simply permanent “Find” mode, However, AB's command line is neither an afterthought nor an additional tool—it is the primary interface and it is intelligent. Thus, it supercedes a mere permanent mode of the prior art existing rigid-by-the-rules search mode. It learns from usage to refine its own capabilities, it learns from various inputs coupled with conclusive usages, it learns from frequency of user inputs to prioritize and it learns from relationships to connect contacts to create an ever-growing matrix of connections. Thus, it has many features, among them:













Intelligent
Everything typed on the command line is analyzed and


Interpretation
remembered, not just discarded after use like a traditional search



command. If a command contains previously unknown



information, then AB saves that information, either by storing it in



a particular record (for future retrieval or as a means of speeding



up future searches), or by storing it in your user profile to allow



the program to better predict your intentions in the future. Your



command might contain indirect qualifying information; for



example, if you type “joe's son” then the program will not



consider any “joe” who is not old enough to have a son - similarly



it won't consider anyone named “joe” who you know only because they



work at retail stores you do business with, since it is unlikely



you would even know whether they have a son or not.


Spell Checking
Traditionally address book software doesn't do spell checking



because names are often spelled creatively and a program should



not second-guess your input. However, this should not apply to



searching, so AB will spell check your search input against your



address book data. For example, if you enter “Joe Lee” and your



data contains a person named “Joseph Li”, AB will suggest “did



you mean”. Plus, AB will remember that you spelled his name



wrong and take that into account for future searches.


Historical Context
AB uses its log of all transactions to narrow down your search. If



you recently searched for “Joe Smith” and then search for “Joe”,



Joe Smith tops the list of possible matches (or, if you're “feeling



lucky”, Joe Smith will be shown right away). This mimics real



life: you don't have to think about your old college roommate Joe



Smith each time you look up your current doctor Joe Smith's



telephone number.


Categories
Every phone book software allows you to assign a category to a



person; AB allows for an infinite number of categories, and allows



you to search within them effortlessly. If you have assigned Joe



Smith the category “doctor”, “dr joe” retrieves him instantly. If



you hadn't ever categorized him as a doctor but search for him



with “dr joe”, he is automatically assigned that category when you



find him.


Nicknames
Every entry in AB can have an unlimited number of aliases,



nicknames, abbreviations, etc. For example, “doctor” is



automatically understood as “dr”, as is “bill” for “William”, and



the like. Additionally you can manually assign nicknames, like



“js” (for Joe Smith) or “bubba”. This process is simple - if you



start a search for someone by typing “js”, when you finally select



the correct corresponding entry AB will assign that nickname to



that person, enabling you to type “js” the next time and



immediately retrieve the right record.


Ask questions to
If AB detects a lot of matching records it can ask you questions to


narrow down
winnow down the results. To do this it looks at similar data in the


possible choices
matching records and asks you to select among that data to limit



the possible choices. For example, if you type “joe” and there are



30 possible matches, AB might ask you “Is Joe A) family, B) work



related, C) a friend, or D) none of those?” Depending upon your



answer there may be only one qualifying Joe, or there may be a



few, but there will certainly be fewer than 30 for you to look



through.


Autocomplete
AB will suggest completions for words or phrases it knows, so if



you start typing “Worthington”, by the time you've typed “W-O”



AB will let you choose Worthington from a list.


Connective
AB will establish connective relationships from inputs coupled


Relationships
with pre-existing connective relationship definitions.


Matrix Expansion
AB will evolve the connective relationships by application of logic



to create additional connective relationships.


Security
AB may include at least Two Levels of security so that the



creation, change or deletion of a contact record can only occur



from designated site(s) and password(s).


Alternative Media
AB will integrate and function with other systems, such as email,


Integration
word programs, handheld hardware devices, etc. for capture,



release or coordination to offer additional functionalities









A Second Dimension: Structure
A conventional address book database record is a one dimensional snapshot of a person, capturing information about him or her and saving it in a preset way by rigid rules. This snapshot of information is inserted into fixed fields and is merely stored information, no different from a typed word processing document, but worse because of the narrowness of movement and space and other limitations inherent in a typical address book program (very much like one hundred years ago when we filled out only set data on a 3×5 index card or other card, and stored it alphabetically, e.g. a “Rolodex System”). But in real life, a person's contact information contains many structures that enable human beings to recall that information very quickly.
For example, consider a user of AB named Tom Jones. His mother's name is Sarah and her sister's name is Hannah. The underlying structure of these three contacts is their familial relationship, which enables any human intelligence to immediately retrieve the correct record (Hannah) when Tom types “my aunt.”
The AB software understands family relationships just this way, so that when Tom logs into AB, it knows to whom “my aunt” (or, with spell checking, “my ant”) refers. If Hannah has a son Max, Tom can add him to AB with the command “add Hannah son Max” and then retrieve Max's record with “my cousin”. Family relationship is just one type of structure that AB understands; there are others, like work relationships (e.g., boss, employee, etc.), professional relationships (e.g., doctor, referral, practice, etc.), and custom relationships that users can define on their own
In the present invention AB system, relationships link a user's contacts to each other. Thus, in some of the preferred embodiments of the present invention, there is sufficient software to provide the user with, inter ala, the following capabilities: One can see the contact relationships either by listing all linked contacts together (say, by displaying all the people who work someplace), or graphically (say, by displaying a family tree). One can also use relationships to share information across records; for example, linked family members or linked doctors in a practice might share one or more addresses. This can be especially beneficial in simulcasting messages, e.g., when linked with email transmittals.
A Third Dimension: Time
Traditional address book software captures a limited number of addresses for any given contact and categorizes them (e.g., “home” or “work”). In AB, each person can have unlimited addresses that are categorized not only by name, but also by dine. That is, each address can be associated with a particular time: a time of day (like 9am to 5pm), a time of the year (like summer), a recurring time (every Wednesday), an event whose time is defined (like spring semester), or even a time in the past (last year).
Again, AB mimics human behavior. When a person thinks of calling Joe Smith, he considers the day and time—depending upon Joe's work hours and the time one would first try to call him either at work or at home. One can enter this information into AB for Joe and when it displays his record his matching location according to the time will be shown first. This enables AB to store information that won't easily fit in other address book software:













Travel Itinerary
Store the addresses or locations of the person along with the time



they are expected to be there. When that time is past the



information will no longer be displayed (unless you wish to re-



create their itinerary for reference purposes). This could be



summer travel, business travel, vacation travel, etc.


Non-standard
In the child's record enter the parent and the days of the week (or


Living Arrangement
alternate weeks, or whatever arrangement they have) that he or she


(say, a child whose
is with that parent. For example, “M-F mom, S-S dad, xmas dad,


parents have
thanksgiving mom”.


divorced where the


child spends


different days with a


difierent parent)


Vacation Home
If someone lives at different homes different times of the year,



enter all the addresses and specify when the person is normally at



each location









AB presents itself as a single input field into which the user enters all queries and information. In some preferred embodiments, it uses this same input field in order to identify and validate the identity of the user (instead of the more usual user id and password fields that most computer software uses for this purpose). To start accessing their own personal database, a user would identify himself in this input field as “I am Joe Smith”, and AB would respond by validating his identity, asking him to answer a personal question randomly selected from the personal data he has already entered into his database. The user can combine this identification with a request for data (e.g., “I Joe Smith, mom” would identify the user and request his mother's contact record; before displaying it, AB would challenge the user to enter a random piece of personal information that confirms his or her identity). This eliminates the need for the user to assign and remember a single password (which could be stolen, compromising his data), and reduces the amount of interaction necessary to access his data. An incorrect response to the challenge question results in a much more stringent identification process; this scenario reduces the possibility that someone else will attempt to access other users' data, since the would-be wrongdoer won't know the answers to all of the possible questions and any wrong answer will result in even more difficult questions and access.
One Person—One Record
Most address book software is too rigid to handle our complex lives, but AB is designed to duplicate the way humans think about contact information. To accomplish this AB has a preferred embodiment primary tenet: every person has one and only one record in the database. That means that you never have to enter someone more than once to handle any situation (e.g., different homes at different times, or different legal names for the same person), and that every person a user knows gets his or her own record, (including minor children, husbands and wives, etc.).
Every person, no matter how old or young, deserves his or her own entry in one's address book. In most address book software, children are just notes added to either the mother or the father's record—even husbands and wives are often just “spouse:” fields, depending upon which one a user has entered first. But that doesn't leave room for real life, where both the husband and the wife might have work addresses cell phones and emails, and where some children might live at home while others are off at college. Each person needs their own work address, home address, cell phone number, and multiple emails. If one wants to see a family all together, AB will do that too—search for any member of a family and the user can see a list of everyone in that family.
Each person's data record may contain an unlimited number of addresses. Most address book software gives a user a pre-defined lint on addresses—even if the user could enter lots of them it would be too complicated to access them all since they are stored with no structure. In AB, one can track any number of addresses by time and by relationship. Just add a new address, assign it to someone, and say when they're there (if one knows). That address can now be used by any other person in one's address book—just create a relationship between two people who share an address (say, father and daughter) and they will automatically share the same address, unless the user specifically changes one or the other's address (say, a divorced father who does not live full time with his daughter) in which case the user would link the daughter to her other parent's address for some time period.
Creating Lists or Groups of Contacts
It is useful to be able to link several contacts together and refer to them as a unit. In AB, one can assign any number of categories to a contact record. For example, suppose a user is inviting people to a birthday party; she can assign each person the category “Joe's Birthday Party” and then see them all listed together (perhaps to send invitations or thank-you notes). Typically, to assign this category to each contact, she would have to individually choose each contact record and manually assign that category. However, there is an easier way. As she goes through her contact records in any way she'd like, she'd just click the “Hold” button on any contact record that she wants to add to the “Joe's Birthday Party” category. The Hold button adds a contact record to a temporary list visible on the screen, so she can see how many people are currently invited (she can also see totals at the bottom of the list showing the total number of people in the list, total number of adults, of children, of men, of women, and other customizable information). The Hold All button adds every record she is currently looking at (say she typed in “Joe's children” and AB is showing her a list of all the children in Joe's family—Hold All adds all these people to the list at once).
In AB, one can actually have multiple lists available simultaneously. Each list has a “Hold in List X” button so a user can add a person to any list at any time. This is an easy way to categorize one's contacts—a user only has to go through her entire contact list once and assign people to any list she'd like, then at the end she can manipulate that list all at once (say, by assigning or unassigning a category, by emailing them to someone, etc.). She can also create a list from a category, or from some other type of information. In this manner, she may start with a current list and update it. Lists can be combined in various ways (e.g., eliminating duplicates, retaining only unique names, etc.). Lists are also time-based, so the “Joe's Birthday Party” list from one year is unique and separate from the same-named list from a previous year, a comparison of the two lists shows people invited both parties and people invited to one party but not the other.
By Design
AB is designed to track people throughout their lives. Over time people are connected to others by information that either cannot be captured or cannot be used by traditional address book software. With its unlimited addresses and extra dimensions, AB can interpret one's queries using its knowledge of one's personal habits and retrieve the information one was actually looking for. Like a well-organized secretary, one can ask AB on Sunday night for “Joe smith phone” and it will not display the old college roommate's phone number and it will not show Joe Smith's work number. It will show Joe's family structure (in case his wife answers the phone), and if one finds out he's in Detroit for the week, one can easily add his itinerary to his record so that one can call him the next day without worrying that she'll be calling that hotel after he's left.
In traditional address book software all addresses are equal. If a user lists all the “A”s, she'll see every person whose name starts with “A”. AB knows that's not the way a user usually thins. One doesn't necessarily want to see all of the contacts who start with A, or someone the user has not looked up in long time, or minor children, or some other criteria. In AB, the user will only see the “A”s that matter to the user. Unless a user wants to see all of the “A”s, in which case AB can easily do that as well.
With AB, a user doesn't have to worry about whether she originally entered “Joe Smith” or “Smith, Joe” or “Dr. Smnith” or “Joseph Smythe”—it will find his record no matter how she searches for it.
Historical Tracking
One side effect of using AB will be an unanticipated result: a complete list of every address a person has had since the user has been entering data for them. Instead of overwriting a person's old address with a new one, the user will have a record of when they moved and their old address. The user will know when a child starts college, when they get their first apartment, when two people get married, and on and on. The user may not use or need this information, but it will always be available, and if the need arises someday, for any reason, the user will have it.
Public vs. Private Information
AB is designed to allow a user to access and update contact information from the Internet. Therefore, that information is stored on a public server and can only be accessed by a user when the user enters the correct username and secure password. However, there is some information that is so personal that it should never leave a user's designated computer(s), e.g. one's home computer network. No matter how secure the public network is, one may not want the family's social security number to leave the home. In one preferred embodiment, AB provides for two different types of data to be stored in a contact record: personal data, which is stored on the server and is available through the Internet through a secure log-in, and private data, which is stored on the chosen or designated computer(s) or computer network(s) and never leaves it. When a user logs in to AB from any designated computer, e.g. in one's home computer network, the two types of data are mixed together seamlessly; when the user logs in from outside of the designated computer(s), then the user never even knows that the private data exists because it is secure and unavailable from that resource (computer, location or system). Likewise, read, edit, write in, add, delete and other features may be similarly or partial secured. This protects private data from security breaches, password stealing, and the like.
Contact Types
Traditional address books have only one template for entering contact information, but no one template can possibly handle the different types of information that a user would prefer to enter for different types of contacts. For example, a family member has different data associated with them than does a professional (like a doctor or a lawyer), which in turn is different from a business (like a florist or a telephone company). AB allows for unlimited different templates to be used with different types of entities. The standard ones should be enough for most people:
















Person
Family or friend or acquaintance



Professional
Part of a practice, like a doctor or a lawyer



Retail
A company with different employees



Educational
A school or university



Organizational
Work personnel, vendor lists, supplier lists,




customer lists, sales leads list, a hobby,




recreational, professional or sports




organization list, common interest club,




sport team, church group, scout troop, etc.










Templates merely make data entry and presentation more useful to the user—they do not affect the underlying contact record. Therefore, in the present invention, one can present any contact using any template depending upon how one desires to use the contact information. For example, if one is looking up one's brother-in-law to find his home address, one would choose the Person template; if instead one wanted to purchase something from the store he works at, one might choose the Retail template instead.
No More Sorting!
Traditional address books sort contacts by their name—this makes sense if the user has to do the work of finding the right contact, since one can look through a sorted list much faster than a non-sorted list. But the question one always has to ask is which name is used to sort the records: first name, last name, business name, etc., and then the user has to guess which name she entered originally (e.g., Bill or William). Those problems are gone with AB, since records are only presented to the user after they have been filtered to just a few that match their criteria In AB, whether a user types Bill or William, she'll see the same records. If she types a business names she'll only see people associated with that business.
Event Recording
Addresses can be entered in AB without being attached to a person. One can give the address a name, and later one can associate that name with a person and a time. Because addresses have a time associated with them, one can use AB to track events or appointments. Just create an address with a name (for example, “add address graduation Main High School 555 Center St 07654 5/19 3-4pm”), then link it to people who will be attending. It can even be recurring (like “add address PokerNight home every Wednesday 8pm”, assuming one has previously entered one's address and named it “home”). To see everyone invited to an event, just type it in the entry field: “pokernight” and it will show a list of people currently linked to that address time/event. Import/export appointments, contact info
In AB, one can import addresses from a variety of other contact managers, and export the contact information to them as well (exporting will be limited to the small amount of information that each particular address book is capable of storing). If a user regularly exports certain contacts to her cell phone, she can make a category (say, “my cell phone”) out of just those people she wants exported (since she most likely does not want every single contact she has downloaded into her phone—imagine how difficult it would be to find someone in a long list of names!). Then she can just export that category every time she wishes to update her cell phone.
Access Via Cell Phone or Email
In most preferred embodiments, one can access AB from one's cell phone or PDA—one doesn't need a complicated user interface to look someone up. One can send AB an email or text message with the query and have it respond back with the results. Thus, a user's email/text message would contain a special pass-phrase that tells AB that the user is permitted to access her database. It then looks up the contact the user is looking for and sends the results back to her the same way she sent the request. This is useful when she does not have full access to the web but only to a device that can email or text message. AB knows about all of her email addresses and can import data from any of them. She can supply a different email address to be used by different people, so they each respond to her as a different person.
Send Emails to People Who Don't Use AB
If someone needs an address and the user wants to send it to that person, AB can email it to that person in a readable form. That person will not receive any private information that the user may have, and the user may select exactly which data will be sent.
Send Info to People Who Use AB
With AB, one can add one's contact information to other people's AB data. Private information will never be shared, but all other information can be inserted into their address books very easily. Additionally, one can specify that the shared contacts should be updated automatically whenever information is changed on one's computer. A user won't be using the same copy of the contact information as the person with whom it is shared, if desired. Thus, the present invention AB permits a user to modify information however she chooses, before sharing it. In some preferred embodiments, whenever a user changes that contact information (e.g., name changes, deletions, updates or corrections), other shared recipients may be notified of the change and will be able to automatically change it on their database, as they desire.
Public User IDs
With AB, if a user wishes to make certain parts of her address book available to others, the user can create a special user id and password that allows access to specific information in her database. For example, a user could create a family user id/password that could be given to anyone in the family who wants access to every family member's contact information.
Stay Current With Other Programs
AB can interact with other programs that have contact information in them in order to update itself with new information. For example, if a user has entered new contacts into her cell phone, when it is connected to the user's computer (say, via Bluetooth), AB will communicate with the software program that recognizes that there are additions and will update itself
Backup and Restoring Data
Personal data is stored securely and remotely on a user's web site and is backed up there. A user can also have a backup of this remote data on the designated (local) computer(s) as well. Private data is maintained on the designated local computer network, and is backed up for the user when AB is run locally. It backs this data up to another computer on the local network if one is available) or another physical disk drive, to reduce the chances of lost data. At no time is private data ever sent outside the designated home computer network.
To summarize, the present invention thus provides all of the software to provide for the foregoing features and now that the invention has been thoroughly described above, the particular source code to accomplish these software actions and capabilities is well within the skills of the artisan. For example, “autocomplete” functions are available in Google's email program for mailing addresses. SpellCheck features are well known in word processing programs, such as Word and WordPerfect.
Although particular embodiments of the invention have been described in detail herein with reference to the accompanying drawings, it is to be understood that the invention is not limited to those particular embodiments, and that various changes and modifications may be effected therein by one skilled in the art without departing from the scope or spirit of the invention as defined in the appended claims.

## Claims

1. An online address book system having sufficient hardware and software to operate an address book user interface and to perform intelligent interpretations of inputs from users, which comprises:
at least one server software module that includes software to:
a) receive and store address book input data for said contacts into a stored database, including names, and at least one of addresses, telephone numbers and email addresses, for each contact;
b) receive and store relationship input data based on contact pair relationship inputs;
c) receive and store time frame input data based on contact-time frame inputs;
d) arrange said data so as to create a data base that includes at least three access dimensions, including contact access, contact-relationship access and contact-time access, and so as to create a connectivity matrix based on a plurality of contact pair relationships applying connective recognition logic wherein each of said contact pair relationships connects into at least two levels of relationship;
e) provide a user interface that permits access to address book stored data based on user input selected from the group consisting of contact, a contact-relationship pair, a contact-time frame pair, and combinations thereof.

2. The online address book system of claim 1 wherein said software creates a connectivity matrix by operation of a subsystem that includes a plurality of familial relationship definitions and includes deductive logic to arrive at conclusions by matching contact-relationship inputs to familial relationship definitions and generating additional contact relationship pairs therefrom.

3. The online address book system of claim 1 wherein said software includes an intelligent interpretation feature wherein query information is stored, matched, and prioritized by a plurality of criteria including word spelling similarity and frequency of usage, to set response priorities for subsequent queries.

4. The online address book system of claim 1 wherein said software includes a spelling checking feature that matches inputted query words to at least one of existing database words, transliteration equivalent words, and, when a match fails, finds the closest spelling and queries back if more than one potential match is found.

5. The online address book system of claim 1 wherein said software includes user customized category creation so that input data for a contact may be placed in a data subset by user-selected category selected from the group consisting of preexisting categories, customized categories and combinations thereof, wherein said software provides user customized category creation that includes user ability to create as many categories as desired and to place contact information into as many categories as desired.

6. The online address book system of claim 1 wherein said software includes an automatic category creation capability based on preprogrammed category term matches with inputted contact information.

7. The online address book system of claim 1 wherein said software includes an historical context feature that alters priority response to queries based on historical performance.

8. The online address book system of claim 1 wherein said software includes an automatic word or phrase completion to assist a user when inputting a query.

9. The online address book system of claim 1 wherein said software includes contact-time frame input linking to a primary contact data set and will create override query responses made within override time frames.

10. An online address book system having sufficient hardware and software to operate an address book user interface and to perform intelligent interpretations of inputs from users, which comprises:
at least one server software module that includes software to:
a) receive and store address book input data into a stored database, including names, and at least one of addresses, telephone numbers and email addresses, for each contact;
b) receive and store relationship input data based on contact pair relationship inputs;
c) receive and store time frame input data based on contact-time frame inputs;
d) arrange said data so as to create a data base that includes at least three access dimensions, including contact access, contact-relationship access and contact-time access, and so as to create a connectivity matrix based on a plurality of contact pair relationships applying connective recognition logic wherein each of said contact pair relationships connects into at least two levels of relationship;
e) provide a user interface that permits access to address book stored data based on user input selected from the group consisting of contact, a contact-relationship pair, a contact-time frame pair, and combinations thereof; and,
wherein said software module has at least two levels of secure access, including a Level One Access that includes full access to use and read contact data, to input contact data, to change contact data and to delete contact data, and including a Level Two Access that includes preset limited access to use and read contact data, to input contact data, to change contact data and to delete contact data.

11. The online address book system of claim 10 wherein Level Two Access is a read only access.

12. The online address book system of claim 10 wherein said software includes a security feature that permits access to Level One Access and Level Two Access based on a combination of source of query and password input and challenge-response exchange whereby the software queries the user for personal information contained in its database before granting access.

13. The online address book system of claim 10 wherein said software creates a connectivity matrix by operation of a subsystem that includes a plurality of familial relationship definitions and includes deductive logic to arrive at conclusions by matching contact-relationship inputs to familial relationship definitions and generating additional contact relationship pairs therefrom.

14. The online address book system of claim 10 wherein said software includes an intelligent interpretation feature wherein query information is stored, matched, and prioritized by a plurality of criteria including word spelling similarity and frequency of usage, to set response priorities for subsequent queries.

15. The online address book system of claim 10 wherein said software includes a spelling checking feature that matches inputted query words to at least one of existing database words, transliteration equivalent words, and, when a match fails, finds the closest spelling and queries back if more than one potential match is found.

16. The online address book system of claim 10 wherein said software includes user customized category creation so that input data for a contact may be placed in a data subset by user-selected category.

17. The online address book system of claim 16 wherein said user customized category creation includes user ability to create as many categories as desired and to place contact information into as many categories as desired.

18. The online address book system of claim 10 wherein said software includes an historical context feature that alters priority response to queries based on historical performance.

19. The online address book system of claim 10 wherein said software includes an automatic word or phrase completion to assist a user when inputting a query.

20. The online address book system of claim 10 wherein said software includes contact-time frame input linking to a primary contact and will create override query responses corresponding to override time frames.