System, method, and computer program product for providing relational patterns between entities6073138Abstract A contact intelligence data mining tool for storing, processing, displaying, and printing relational patterns between entities (e.g., business and other contacts). The tool allows proprietary individual contact data to be merged with accurate and up-to-date public information in order to explore the full scope (or sphere) of an individual's or business concern's scope of influence. It intelligently establishes and presents personal, direct contacts as well as contacts of contacts, and so on. The tool further displays, via a graphical user interface, the optimal relationship path (i.e., contact pathway) to reach desired contacts. Claims What is claimed is: Description BACKGROUND OF THE INVENTION
TABLE 1A
______________________________________
ACCTYPE TABLE 302
FIELD DESCRIPTION
______________________________________
*AccTypeId Identifies an accountability type
AccType Name of the accountability type
Hierarchic Boolean field for describing accountability
type
Directional Boolean field for describing accountability
type
Leveled Boolean field for describing accountability
type
______________________________________
An Accountability table 304 contains accountabilities which describes the situation when a person or organization is responsible to another. The Accountability table 304 is an abstract notion than can represent many specific issues, depending upon a particular context, including organization structures, contracts and employment. TABLE 1B describes its fields:
TABLE 1B
______________________________________
ACCOUNTABILITY TABLE 304
FIELD DESCRIPTION
______________________________________
*AccountabilityId
Identifies an accountability
AccTypeId Identifies an accountability type
OwnerId Owner of the record, this is ranged
over party with a special value
denoting the various owners of the
public database(s) 102
CommissionerId The owner of relationship in an
accountability for example, the
employer in an employment
relationship
ResponsibleId The party responsible to the
commissioner in an accountability,
for example the employee in an
employment relationship
Notes Any general description about the
record
Start The start date of an accountability,
for example the date of appointment
to a board of directors
Finish The finish date of an accountability,
for example the date a board
membership was terminated
SourceId Identifies an information source, for
examples Annual Report, Reuters,
Newspaper
SourceDate Date of the information in the source,
for example the publication date of an
annual report or newspaper
SourceKey Key derived from the information
source, for example the year of the
annual report, the title of a newspaper
LastUpdated Date the information was last updated
Name Short label for displaying purposes of
that Accountability (e.g., director).
______________________________________
A ContactType table 306 describes the contact types known to the system 100. TABLE 1C describes its fields:
TABLE 1C
______________________________________
CONTACTTYPE TABLE 306
FIELD DESCRIPTION
______________________________________
*ContactTypeId Identifies a contact type
ContactType Description of a contact type for
example "Casual acquaintance"
ContactLevel Numeric weighting to allow ranking of
different contact Types
______________________________________
A Country table 308 contains all countries known to the system 100 and TABLE 1D describes its fields:
TABLE 1D
______________________________________
COUNTRY TABLE 308
FIELD DESCRIPTION
______________________________________
*CountryCode Identifies a country
Country Name of country
DialingCode International dialing code
______________________________________
An Organization table 310 describes an organization known to the system 100. This includes both the public database 102 and user-specified values. TABLE 1E describes its fields:
TABLE 1E
______________________________________
ORGANIZATION TABLE 310
FIELD DESCRIPTION
______________________________________
*PartyId Identifies a party
OrgTypeId FK to party type; allows the
classification of organizations (e.g.,
charity, social, etc.)
Organization Name that the organization is known as
generally or to the user
LegalName Legal name of an organization
CountryCode Identifies a country
RegistrationNumber
Registration number of organization in
its home country
RegAddressId FK to an address table where address
string is stored
______________________________________
A Party table 312 describes a party entity which is the supertype of person and organization. TABLE 1F describes its fields:
TABLE 1F
______________________________________
PARTY TABLE 312
FIELD DESCRIPTION
______________________________________
*PartyId Identifies a party
PartyTypeId Identifies a party type
OwnerId Owner of the record, this is ranged over party
with a special value denoting The public database
102
Notes Any general description about the record
SourceId Identifies an information source, for examples
Annual Report, Reuters, Newspaper
SourceKey Key derived from the information source, for
example the year of the annual report, the title of
a newspaper
SourceDate Date of the information in the source, for example
the publication date of an annual report or
newspaper
LastUpdated Date the information was last updated
OrigPartyId Reference from one party object to another so as
to link multiple copies or versions of the same
item. Allows a different record to be kept as the
private copy of the data, e.g., "I known the
person's home address which is not public
knowledge." Company names and details evolve
over time, so the need to track old names of
entities exists.
Name Short text label for display purposes of that party
DuplicateId References any record that is a duplicate of the
current party
DupKey Calculated value to estimate whether the value is
duplicated by another party
______________________________________
A PartyType table 314 describes the various types of parties in the system 100. This allows the CIDM system 100 to subdivide the concepts of person and organization further. For example, a party type of "Department" could be used to denote a sub-unit of an organization or a party type of "Division" could be used to denote an aggregation of departments. TABLE 1G describes its fields:
TABLE 1G
______________________________________
PARTYTYPE TABLE 314
FIELD DESCRIPTION
______________________________________
*PartyTypeId Identifies a party type
PartyType Text label to describe a party type
______________________________________
a person known to the system 100. This includes both the public database 102 and user-specified people appearing in the private database 104. TABLE 1H describes its fields:
TABLE 1H
______________________________________
PERSON TABLE 316
FIELD DESCRIPTION
______________________________________
*PartyType Identifies a party
Title Title of the person, for example Mr., Mrs., Miss,
etc.
Forename A person's forename(s)
Prefix The prefix of a surname for example, van, de,
van der
Suffix Suffix of a surname for example, II, Jr., Sr., III
Surname A person's surname
Birthday Birthday of the person
Age Age of the person, calculated from the Birthday if
known, otherwise sourced manually and updated
by using the AgeUpdated field
AgeUpdated Date on which the system increments the Age
field, if Birthday is unknown
Envelope Person's name and title as they should be printed
on an envelope
Salutation Person's name as it should appear in the
introduction of a letter. This allows for
personalizing of mailings, for example you might
address someone as Mr Jones whereas your
colleague might use Dear Bob
CountryCode Identifies a country
HomeAddressId
FK to an Address table where home address string
is stored
WorkAddressId
FK to an Address table where work address string
is stored
______________________________________
A PersonRelationship table 318 describes a particular relationship between two people. Such relationship may be, for example, a personal contact or a family relationship. TABLE 1I describes its fields:
TABLE 1I
______________________________________
PERSONRELATION TABLE 318
FIELD DESCRIPTION
______________________________________
*AccountabilityId Identifies an accountability
ContactTypeId Identifies a contact type
Private Represents whether this personal
contact data will be shared in an
enterprise environment
______________________________________
A Relationship table 320 describes a relationship between an organization and a person. Examples of such relationships include employment and membership in a professional organization. TABLE 1J describes its fields:
TABLE 1J
______________________________________
RELATIONSHIP TABLE 320
FIELD DESCRIPTION
______________________________________
AccountabilityId
Identifies an accountability
Department The name of the department for a
organization/person relationship for
example "Managing Board"
Role The role the person is performing for
the organization, for example
"Manager"
SubRole The subrole the person is playing (e.g.,
Manager of Finance)
______________________________________
TABLES 1A-1J, in particularly tables 304 and 312, reflect the object-based design of the present invention. More specifically, the design of the tables is influenced by the party-accountability structure as a mechanism for organizing relationships, as described in M. Fowler, Analysis Patterns: Reusable Object Models, ISBN 0-201-896542-0, Addison-Wesley, 1997 (USA), which is incorporated herein by reference in its entirety. Referring to FIG. 3, an Entity-Relationship diagram 300, according to an embodiment of CIDM system 100 is shown. FIG. 3, in describing the tables of TABLE 1A-1J, employs the "Chen notation" data modeling approach which is well-known in the relevant art(s), and was first described in P. P. Chen, The Entity-relationship Model: Toward a Unified View of Data, ACM Transactions on Database Systems 1:1 pp 9-36, 1976 (USA), which is incorporated herein by reference in its entirety. In Chen notation, symbols denote the minimum and maximum cardinality of the relationship of entities (i.e., tables) to one another, such as a zero or one, a one and only one, a zero one or many, or a one or many cardinality. Because a relational database is employed for databases 102 and 104, in a preferred embodiment of the present invention, FIG. 3 identifies the fields for each table that are labeled primary keys. This is denoted by the symbol "PK," denotes a table field which is a primary key (i.e., the field or combination of fields that identify an entity uniquely) and the symbol "FK" denotes a table which is a foreign key (i.e., a reference from one record to another). Further, FIG. 3 depicts that the tables 301 are subtypes of the supertype AccType 302 table and that tables 303 are subtypes of the supertype PartyType 314 table. As will be apparent to one skilled in the relevant art(s), the specific fields (and thus, tables) used within the CIDM system 100 may vary depending on the type (i.e., field of business) of the user(s) utilizing the system, the public database(s) available, the jurisdiction and culture where the system is employed, etc. B. Private Contact Data Input As mentioned above, the CIDM tool has access to one or more public databases 102. However, in order to provide the benefits and advantages of the present invention, as described herein, the CIDM tool must also have access to a database 104 containing the private contact information of the user(s) of the system 100. As will be described below, it is the access to both the public database 102 and private database 104 that allows the CIDM tool, among other features, to display a user's contact pathway. In an embodiment of the present invention, the CIDM tool allows a user to directly input into the PC 106 their private contact information. Such input may be entered manually (i.e., entry by entry) in order to populate the database 104. Such manual entry would be utilized by users who currently hold their contact information in memory or in an non-electronic address book format. Such information would include, for example, person, organization, department, role (i.e., position), nationality, address, telephone numbers, etc. In an alternate embodiment, the CIDM tool may accept private contact data from each user in a batch format. That is, the CIDM tool would allow the transfer of personal contact information from a user's electronic files. In one embodiment of the present invention, the CIDM tool may accept data input to populate the private database 104 directly from several of the commercially available contact manager software applications. Such applications include, for example, Microsoft.RTM. Outlook.TM. from the Microsoft Corporation of Redmond, Wash., Lotus.RTM. Organizer.RTM. from the Lotus Development Corporation of Cambridge, Mass., Symantec.RTM. ACT!.RTM. from Symantec, Inc. of Cupertino, Calif., GoldMine.RTM. from the GoldMine Software Corporation of Pacific Palisades, Calif., Maximizer from Multiactive Software, Inc. of Vancover, British Columbia, Canada, and the like. Yet in another embodiment, the CIDM tool may provide a GUI push-button or radio button feature in each of the above named contact manager software applications in order to automatically start the batch export of private data into the CIDM tool. In an embodiment of the present invention, as users enter their private contact information into the private database 104, these names are checked against the public database 102. For example, as a user enters (manually or via batch process) a contact "John Smith," the CIDM system 100 will search the public database(s) 102 for "John Smith." If a match is found, the CIDM system 100 will query the user via a GUI screen 108, whether, for example, their contact "John Smith" is the same "John Smith" who is on the board of the XYZ Company. This process allows, as described below, the user's contact pathway to be generated and displayed within the CIDM system 100. In the enterprise versions of the CIDM tool, many users within the entity employing the CIDM system 100 may know the same "John Smith" who is on the board of XYZ Company. The CIDM system 100, however, will allow multiple copies of the "John Smith" record to exist in the public database 104, while linking each of those records to the one "John Smith" record in the public database 102. This may be achieved through the use of, for example, the PartyId, OrgPartyId, and OwnerId fields of the Party table 312. This allows each of the several enterprise users to hold their own personal information about "John Smith" (e.g., different contact numbers, different degrees of familiarity, etc.), while allowing an enterprise user to generate several, and locate the optimal contact pathway to John Smith via the records of PersonRelation table 318. C. Safeguarding Data In order to provide the benefits and advantages of the present invention, as described herein, public data must be provided by the contact intelligence service provider or other vendors of publicly available data. It is in conjunction with the private database 104, that all the advantages of the present invention mentioned above are fully achieved. Security concerns exists, however, with regard to the public database 102 and private database 104. That is, for maximum security, both these data stores--in terms of collection and/or storage--need to be safeguarded in several respects. First, the private contact data entered into CIDM system 100 must be safe-guarded among the several users of the CIDM system 100 in the enterprise embodiments described above (e.g., with reference to FIG. 1C). When, for example, an employee enters their personal contact data into the system 100 (i.e., into private database 104), it may be desirable for fellow employees not to be able to access this data. Therefore, system 100, as described in detail below, must account for different levels of access when users employ the system 100 to browse and search contact pathways. Second, the contact intelligence service provider (or other public data vendors which would provide database(s) 102) needs to be sensitive to the civil, privacy, and other legal rights of individuals who appear in these databases. As mentioned above, in an embodiment of the present invention the CIDM tool has access to a database 102 containing publicly available, multi-national information on the members of company boards of directors. This, by most (if not all) standards, is truly a "public" database 102. However, the contact intelligence service provider must be careful in some applications not to include certain information, or provide certain databases that may contain sensitive information, that although would aide in the task of determining contact pathways, would be considered an invasion of privacy (e.g., data on racial origin, religious affiliation, and the like). In another example (or embodiment), although not as alarming to most as databases 104 containing data on racial origin, religious affiliation, etc., databases 102 and 104 may include data indicating family relationships among those individuals in the database. The familial relationships would thus serve as another criteria in yielding optimal contact pathways during the browsing and searching functions of the CIDM tool. It is therefore sufficient to note that the contact intelligence service provider (or more generally, vendors who may market databases 102 for tools such as CIDM system 100) should consider and adhere to the laws and regulations (and possibly even the social norms/limits) of the jurisdiction(s) in which it operates and makes its different databases 102 available. Such legal considerations include, for example, the Council of Europe Convention for the Protection of Individuals with Regard to Automatic Processing of Data (1981), which has been ratified by at least 15 European nations, and the like. D. Updating Data In several of the above-described embodiments, an accurate database of public information (i.e., memberships on company boards of directors) can be provided by the contact intelligence service provider that would allow users to reliably merge their private contact data in order to ascertain their precise and up-to-date sphere of influence. The benefits and advantages of the present invention, as described herein, is provided when accurate public data is provided by the contact intelligence service provider or other vendors of publically available data. Such data can be consistently researched, periodically updated, and distributed to users of the CIDM system 100. In the case of multi-national corporation board of directors information, conventional database systems and services have traditionally deleted and removed person's names from their databases as these persons become disassociated with a company board. This may be the case if a person resigns, retires, is not re-elected, etc. However, the design of the CIDM system 100, in one embodiment, recognizes that despite the fact that someone leaves a board of directors, does not necessarily imply that they no longer have access to that company. Accordingly, the CIDM system does not simply remove such persons from the public database 102, but stores the date of when such persons have ceased to be associated with the company. This is accomplished, for example, through the Start and Finish fields of the Accountability table 304. As will be appreciated by those skilled in the relevant art(s), this is one of several ways described herein that the present invention allows the generation of the optimal contact pathways. V. Detailed Example of System Operation In an enterprise embodiment of the present invention, the CIDM system 100 organizes information and can be explained in terms of four browsing modes and three searching modes as summarized in TABLE 2 and TABLE 3, respectively, below:
TABLE 2
______________________________________
BROWSER MODE FOLDERS
______________________________________
User's Contacts: People
Organizations
Company Contacts: People
Organizations
Employees
Contact Pathway: User's Contact Pathway:
People
Organizations
Company:
People
Organizations
Employees
Public Information:
People
Organizations
______________________________________
It should be understood that the control flows shown in this section (i.e., FIGS. 25-27), which explain the browser and search modes of TABLE 2 and TABLE 3, respectively, are presented for example purposes only. The software architecture 200 (and thus, GUI screens 108) of the present invention is sufficiently flexible and configurable such that users may navigate through the system 100 in ways other than those shown in FIGS. 25-27. Furthermore, because it is well known in the relevant art(s), the GUI screens shown in FIGS. 4-24 are implemented using the Windows.RTM. 95/98 tree hierarchy of expandable (+) and contracting (-) folders (and subfolders). Such implementation is also exemplary and not intended to limit the present invention. In an alternative embodiment of the present invention, the GUI screens 108, rather than appearing like those in FIGS. 4-24, may appear as shown in FIGS. 25A-B. Referring the FIG. 25A, a contact pathway may be displayed as a node diagram where the nodes denote people and the links denote organizations that form the associations between the nodes (i.e., people). Alternatively, referring to FIG. 25B, a contact pathway may be displayed as a node diagram where the nodes denote organizations and the links denote the people that form the associations between the nodes (i.e., organizations). It also should be understood that the control flows shown in this section, utilize a public database 104 which contains publicly available information on the boards of directors of multi-national corporations. This public database 104 is presented only for example purposes and ease of explanation. As mentioned above, the CIDM system 100, in alternative embodiments, may utilize public information database(s) 102, singly or jointly, containing data on university alumni clubs, political party organizations, trade groups, social clubs, military branches, members of a legislature, and the like. In an alternative embodiment, the public database may include quasi-public information (i.e., the membership list of an exclusive club), which the user(s), who are legally in possession of such information, may combine with a (true) public database 102 (e.g., boards of directors) in using the present invention. Alternatively, the contact intelligence data management service provider may allow enterprise users to build quasi-public database(s) 102 which only the members of the enterprise may have access to upon accessing the WWW 120 hosting the service. In yet another embodiment, a stand-alone or enterprise user may have access to several public databases 102 which include true public data and quasi-public data. Referring to FIG. 26, a block diagram illustrating the physical architecture of a CIDM system 100 is shown. The enterprise user, as an employee of the enterprise and using their PC or workstation 106, has access to the enterprise-wide (quasi) private databases 104b and 104c. The quasi-private database 104b includes the private contact information (first level) data shared by the several users of the enterprise, while the private database 104c contains the form (second level) data collected by the enterprise. The user also has access to their own (top level three) secret private database 102 while using the CIDM tool over the Internet 118, via the enterprise network LAN or WAN 122. The CIDM provider can also provide the enterprise users with several quasi-public databases 102. As shown in FIG. 26, the CIDM provider can not only allow access to the multi-national boards of directors data in public database 102a, but also provide public databases 102b and 102c. These databases, in an embodiment of the present invention, can represent, for example, a university's alumni database 102b, and a private social club database 102c. Thus, if the enterprise user were also an alumni of the university and/or a member of the national social club, these databases can be accessed and used to display broader spheres of influence contact pathways. The public databases 102b and 102c can be provided to the CIDM service provider on a license basis where the owners of such data (i.e., the university and the private social club, respectively) excise a license fee for every "hit" (i.e., every time the data within the database is accessed). As will be apparent to one skilled in the relevant art(s), the stand alone embodiments of the present invention may also realize the database 102 and 104 access scheme presented in FIG. 26. A. Browser Modes The CIDM system 100 browser, after population of the databases 102 and 104, in an embodiment of the present invention, organizes information into four exemplary modes--User's Contacts, Company Contacts, Contact Pathways, and Public Information. Referring to FIG. 4, a user Paul Jones' CIDM system 100 browser screen 400 is shown. Screen 400 includes two buttons to toggle from the four browser modes of TABLE 2 and the three search modes of TABLE 3. A browser button 402 toggles the CIDM system 100 into the four browser modes and a button 404 toggles the CIDM system 100 into the three search modes. Screen 400 is separated into two regions--a tree display region 406 and a information field display regions 408. The region 406 allows a user to navigate through the folders and subfolders of the different browser modes as explained in detail below. The region 408 displays the applicable information fields present in the public database(s) 102 and private database(s) 104 in response to the user's navigation through the region 406. The display of region 408 is also responsive to three toggle buttons 410--Person, Organization, and Role--which display the applicable fields from the databases 102 and 104. 1. User's Contacts The "User's Contacts" (or the "My Contacts") mode allows an individual employee in a company (or a single user in a stand-alone embodiment), using the system 100, to keep track of their contacts--both in terms of people and the organizations those contacts represent. As mentioned above, in a preferred embodiment of the present invention, the databases 102 and 104 may reside on the same physical media and separated as two virtual databases. Thus, the private database 104 as well as the public database 102 may share a similar structure (i.e., have common fields) within a relational database. Thus, when entering a contact, the user is provided with a link to the public information available in the public database 102. This allows the user to enter proprietary information about their contacts (e.g., clients) as in a standard contact manager software application, except for the fact that in the system 100, a user is now able to also see any public information on the entered individual contact that is available within the public database 102. The information the user enters is stored "locally" and is kept proprietary to the user. It is not shared (i.e., copied into) the public database 102 (or provided to the contact intelligence service provider). In addition, the public information available for the user's entered contact is then used to establish potential relationship paths between the contact and individuals in the international corporate world that the user presently does not know. The "User's Contacts" browsing mode is divided into two information viewing folders--"People" and "Organizations." That is, under the folder "My Contacts" are the folders "People" and "Organizations." When the "People" folder is expanded it shows that the current user has contacts who reside in Switzerland and the United Kingdom. When the folder "United Kingdom" is opened, the display reveals that the user has contacts in that country whose surnames begin, in this case, with the letter F. Referring to FIG. 5, if the user clicks on Philippe Frances the user can then see that he has a Board position in a commercial organization named KINGFISHER PLC. The folder "Contact Pathway" is divided into two sections, "People" and "Organizations." Under the folder "People" is a list of people Mr. Frances has direct access to. If the user clicks on one of these contacts, the relationship path by which he has this access is shown. In this example, he has direct access to J. M. M. Banham through KINGFISHER PLC. Similarly John Smith, has indirect access to J. M. M. Banham through Philippe Frances. Under the folder "Organizations," a list of organizations that Smith has indirect access to, in the same way as with people, is shown in FIG. 6. If the user clicks on one of them, the information on how he has this access appears. In this example, he has indirect access to BASS PLC through Geoffrey Mulcahy who shares a Board position with Philippe Frances on KINGFISHER PLC. Under the folder "My Contacts," the user also have available the folder Organizations which is open in this example showing me that the user have contacts with Incorporated Company organizations in the United Kingdom. Incorporated Company is the type of organization, other types could be Social, Educational, etc. If the user opens the folder "Incorporated Company" the user will then see the names of the organizations which begin with the letters C, K and R. In an embodiment of the present invention, where the public database 102 includes multi-national corporation board of directors information, the GUI screens 108 will display in region 406 a flag corresponding to the national origin of the entity being browsed as shown in the (applicable) screen shots of FIGS. 5-24. 2. Company Contacts The "Company Contacts" mode allows a user, who is manager at the company utilizing an enterprise embodiment of the present invention, to keep track of any particular employee's contacts and the contacts of the company as a whole. These contacts, like the "User's Contacts" mode, include individual people as well as the organizations they represent. The "Company Contacts" browsing mode is divided into three information viewing folders People, Organizations, and Employees. That is, under the folder "Company Contacts" are the folders "People," "Organizations," and "Employees" as shown in FIG. 7. First, referring to FIG. 8, under the folder "People" the user can see that they have contacts in Switzerland and the United Kingdom. Upon opening the folder "United Kingdom" they user will see that they have contacts whose surnames begin with the letter E, F, G, K and M. Now the user has two folders that can be opened, the folder "Known by," and the folder "Contact Pathway." The folder "Known By" tells the user which employee(s) of the company know Colin Maughan. The folder "Contact Pathway" shows the user Colin Maughan's Contact Pathway (i.e., all the people and organizations he knows directly). Colin's Contact Pathway tells the user the people they know indirectly through Colin. In the example of FIG. 9, Brendan Carhew has indirect access to Leslie Carpenter through Watmoughs Holdings PLC. He also has access to Royal Insurance Holdings PLC through Antony Forbes because of his Board position in Watmoughs Holdings PLC. Second, referring to FIG. 10, under the folder "Company Contacts" the user has available the folder "Organizations." In the example, this folder is open and shows that the user has contacts with commercial organizations in the United Kingdom whose names begin with letters C, K, R and W. Third, referring to FIG. 11, under the folder "Company Contacts" the user has available the folder "Employees" where a list appears of the employees the user manages. By clicking, for example, on Brendan Carhew, the user can see that he has contacts with people in the United Kingdom. By opening the folder "United Kingdom" the user sees that he has contacts with people whose surnames begin with letter G. In an embodiment of the present invention, the enterprise versions of the CIDM system 100 will only allow certain (i.e., managerial) users of the system to browse in the "Company Contacts" mode. That is, security measures are implemented to safe-guard the private database 104, so that only certain users may view other user's personal contact information. In one example, if a large multinational bank employed an enterprise version of the CIDM system 100, the manager of the finance department may be able to access the personal contact information of all the employees in the bank's finance department. However, that same manager would not be able to access the personal contact information of the bank's employees who work in the trading department the manager of the trading department would, however, have access to this information. In an embodiment of the present invention, the entity employing the CIDM system 100 would decide (e.g., via their management information systems (MIS) department) which personnel would be deemed to have access to which employees based on a departmental or any other logical scheme. In such an embodiment, the CIDM system 100 may mirror the existing security features of that the entity's local or wide area network (e.g., user login, passwords, access groups, access levels, access rights, etc.) currently employs. The access levels, for example, may then be enforced within the CIDM system 100 by using the OwnershipId, CommisionerId, and ResponsibleID fields within the Accountability table 304. In another embodiment of the present invention, department managers, while having access to their employees private contact information for purposes of browsing in "Company Contacts" mode, may on be given access to certain fields within the tables of the private database 104. That is, the managers may be given access to the fields (e.g., ContactLevel in the ContactType table 306) relevant to browsing and displaying contact pathways, but may not be given access to more "sensitive" fields (e.g., the Notes Field in the Party table 302, the Salutation field in Person table 316, etc.) which employees would not want their managers viewing. 3. Contact Pathway The "Contact Pathway" mode allows a user or employee to generate an electronic Contact Pathway both in terms of people they have indirect access to, as well as organizations. This mode also allows a user, who is a company manager, to generate a Contact Pathway for the company as a whole. The "Contact Pathway" browsing mode is divided into two information viewing foldersUser's Contact Pathway and the Organization's Contact Pathway. That is, under the folder "Contact Pathway" are the folders "My Contact Pathway" and the "Company Contact Pathway" as shown in FIG. 12. When the user opens the "My Contact Pathway" folder, two subfolders are revealed a "People" folder and an "Organization" folder. Opening the "People" subfolder reveals a list of all the individuals which the user has indirect access to as shown in FIG. 13. Similarly, opening the "Organization" subfolder reveals the all the companies that the user has indirect access to as shown in FIG. 14. When the user opens the "Company Contact Pathway" folder, three subfolders are revealed a "People" folder, an "Organizations" folder, and an "Employees" folder. Opening the "People" subfolder reveals a list of all the individuals which the user has indirect access to through the fellow employees of company as shown in FIG. 15. Similarly, opening the "Organizations" subfolder reveals the a list of all the companies that the user has indirect access to through fellow employees of company as shown in FIG. 16. And opening the "Employees" subfolder shows all the Contact Pathways of the employees organized by people and by organization as shown in FIG. 17. This gives the user a view of all the people and organizations to which the company can have an indirect access to. In this case the user can see the people and organizations to which the company has indirect access through Brendan Carhew who is one of the employees of the company. 4. Public Information The "Public Information" mode, unlike the previous three modes which browsed information in both the public and private databases, allows a user (employee or manager) to scan solely the public information within public database 102 for reference purposes. By browsing the public database 102 for both people and organizations, the user is able to see the direct corporate involvement of an individual as well as an organization's list of individuals involved. In an embodiment of the present invention, the user is able to generate a Contact Pathway for any individual in the public database 102 regardless of the individual is an actual contact of the user. This allows the user to determine their potential sphere of influence should they meet an specific individual not presently known. The "Public Information" browsing mode is divided into two information viewing folders--People and Organizations. That is, under the folder "Public Information" are the folders "People" and "Organizations" as shown in FIG. 18. Referring to FIG. 19, opening the "People" folder reveals, under each country, an alphabetic list of people known to the CIDM system100 (i.e., public database 102) within that nationality, in this case with United Kingdom nationality. There are two subfolders folders available to the user for browsing. Via the folder "Known By" the user can see who, if any, of their fellow company employees has access to the individual. The folder "Contact Pathway" shows the people and organizations to which the fellow employee has direct access to. When a surname is opened, a list of all the people in the database with that surname is displayed. In the example, we have the list of people with the surname Abell. Referring to FIG. 20, opening the "Organizations" folder reveals a list of all the organizations, organized by country, that are available within database 102 that users have access to. When the "Incorporated Company" subfolder is opened a list of all the organizations in alphabetical order is revealed as shown in FIG. 21. By clicking on one of them the user can see the individuals at a particular company and their roles. In this example, the Board of AAF INDUSTRIES PLC is revealed. B. Search Modes Referring to FIG. 22, a CIDM system 100 browser screen 2200 is shown. Screen 2200 would appear when toggle button 404 is clicked (as explained with reference to Referring to FIG. 4) and includes additional toggle buttons to perform the particular people, organization, or target searches as detailed in TABLE 3. A person input region 2202 allows a user to enter a search string to perform a people search, while an organization input region 2204 allows a user to enter a search string to perform an organization search. To perform a target search, the user would need to enter search strings into both the input regions 2202 and 2204. In an embodiment of the present invention, the three different search modes (see TABLE 3), which are detailed below, are executed upon the user clicking one of the five search buttons 2206-2214, as applicable. Thus, any one of fifteen permutation of searches may be performed using the CIDM tool. The five search buttons are: A "Local" (L) search button 2206 searches the users' private database(s) 104 for direct contacts (i.e., "Do I have access to X?"). A "Company" (C) search button 2208 searches the enterprise's private database(s) 104 for direct contacts (i.e., "Does my company have access to X?"). A "Public" (P) search button 2210 searches the public database(s) 102 for contacts (i.e., "Is X in the public database[s]?"). A "Local Contact Pathway" (LCP) search button 2212 searches the users' private database(s) 104 in conjunction with the public database(s) 102 for indirect contacts (i.e., "Do I have a contact pathway to X?"). A "Company Contact Pathway" (CCP) search button 2214 searches the enterprise's private database(s) 104 in conjunction with the public database(s) 102 for indirect contacts (i.e., "Does my company have a contact pathway to X?"). In the above description it will be apparent to one skilled in the relevant art(s) that X may be a person, organization, or a targeted person at a specific organization as specified by the user in input regions 2202, 2204, and/or both, respectively. 1. Person Referring to FIG. 23, the surname "Mack" is searched and a list of all individuals whose surname is "Mack" or begins with "Mack" (e.g., Mackay, Mackaness, etc.) is produced in alphabetical order. The user can click on any of the names produced and the company the person works for and their position will be displayed. The user can also obtain the person's contact pathway and ascertain who knows them within the user's company using (i.e., clicking) the "Contact Pathway" and "Known By" folders, respectively. 2. Organization The public database 102 can be also searched for particular organizations. For example, the public database 102 is searched for organizations containing the keyword "bank" in their names, and a list is then produced in alphabetical order as shown in FIG. 24. The search can also be done using "key" terms or by introducing the first letters or words in the organization name. 3. Person at an Organization (Target) In an embodiment of the present invention, as indicated in TABLE 3, a user may perform a search of the databases 102 and/or 104 in order to determine the contact pathway, if any exists, from the user to a targeted person at a specific organization (i.e., "Can I get to John Smith at XYZ Company and not any other John Smith?"). An exemplary search control flow is detailed below. C. Detailed Search Flow Example Referring to FIG. 27, a flowchart 2700 depicting a search control flow according to an embodiment of the CIDM system 100 is shown. More specifically, flowchart 2700 depicts the control flow of the target search explained above with reference to FIG. 22. Flowchart 2700 begins at step 2702 with control passing immediately to step 2704. In step 2704, the user may enter a search string into input region 2202 for a person they desire to reach. In step 2706, the user may enter a search string into input region 2204 for the specific organization where they desire reach the person entered in step 2704. In step 2708, the user would first click the "Local" (L) search button 2206. In step 2710, the CIDM system 100 responds to this input by searching the users' private database(s) 104 for direct contacts (i.e., "Do I have access to the inputted person at the inputted organization?"). If successful, the CIDM system 100 produces, in step 2712, a screen 108 which displays the relevant contact information (and allows the user to print the display). The control flow of flowchart 2700 may then end as indicated by step 2732. If step 2710 is not successful, the user may then, in step 2714, click the "Local Contact Pathway" (LCP) search button 2212. In step 2716, the CIDM system 100 responds to this input by searching the users' private database(s) 104 in conjunction with the public database(s) 102 for direct contacts (i.e., "Do I have a contact pathway to the inputted person at the inputted organization?"). If successful, the CIDM system 100 produces, in step 2712, a screen 108 which displays the applicable user contact pathway. The control flow of flowchart 2700 may then end as indicated by step 2732. If step 2716 is not successful, the user may then, in step 2718, click the "Company Contact Pathway" (CCP) search button 2214. In step 2720, the CIDM system 100 responds to this input by searching the enterprise's private database(s) 104 in conjunction with the public database(s) 102 for contacts (i.e., "Does my company have a contact pathway to the inputted person at the inputted organization?"). If successful, the CIDM system 100 produces, in step 2712, a screen 108 which displays the applicable company contact pathway. If step 2720 is not successful, the CIDM system, in step 2730, determines that the user has no access to the inputted person at the inputted organization and the control flow of flowchart 2700 may then end as indicated by step 2732. D. Optimal Contact Pathways Referring to FIG. 28, a block diagram 2800 illustrating the determination of an optimal contact pathway for an entity (i.e., user), according to an embodiment of the present invention, is shown. During the above-described browse and search modes, to locate the optimal contact pathway to, for example, a Mr. John Smith, the CIDM system 100 would use the ContactLevel field of the ContactType table 306 (see TABLE 1C and FIG. 3). In an enterprise embodiment of the CIDM system 100, an entity-user ABC Company may have two contacts who know Mr. John Smith. However, the contact pathway from Ms. Sara Thomas to Mr. John Smith is more optimal for the ABC Company than through Mr. Tom Jones--a less than optimal contact pathway. The CIDM system 100 uses the ContactLevel weighting that were entered during population of the private database 104. In an embodiment of the present invention, the ContactLevel field of the ContactType table 306 may be a numerical weight ranging from 1 (i.e., casual acquaintance) to 5 (i.e., very close friends or family). The exact description of the differing numeric ContactLevels is contained in the ContactType field of the ContactType table 306. The contact pathway of FIG. 28 is a single step pathway presented for ease of explanation. In an embodiment of the present invention, however, the optimal generated contact pathway is a multi-step pathway where a user's optimal pathway includes a series of successive relationships to eventually reach a desired contact (e.g., "I know A, who knows B, who knows C, etc.). VI. Example Implementations The present invention (i.e., CIDM system 100 or any part thereof) may be implemented using hardware, software or a combination thereof and may be implemented in one or more computer systems or other processing systems. In fact, in one embodiment, the invention is directed toward one or more computer systems capable of carrying out the functionality described herein. An example of a computer system 2900 is shown in FIG. 29. The computer system 2900 includes one or more processors, such as processor 2904. The processor 2904 is connected to a communication infrastructure 2906 (e.g., a communications bus, cross-over bar, or network). Various software embodiments are described in terms of this exemplary computer system. After reading this description, it will become apparent to a person skilled in the relevant art(s) how to implement the invention using other computer systems and/or computer architectures. Computer system 2900 can include a display interface 2905 that forwards graphics, text, and other data from the communication infrastructure 2902 (or from a frame buffer not shown) for display on the display unit 2930. Computer system 2900 also includes a main memory 2908, preferably random access memory (RAM), and may also include a secondary memory 2910. The secondary memory 2910 may include, for example, a hard disk drive 2912 and/or a removable storage drive 2914, representing a floppy disk drive, a magnetic tape drive, an optical disk drive, etc. The removable storage drive 2914 reads from and/or writes to a removable storage unit 2918 in a well known manner. Removable storage unit 2918, represents a floppy disk, magnetic tape, optical disk, etc. which is read by and written to by removable storage drive 2914. As will be appreciated, the removable storage unit 2918 includes a computer usable storage medium having stored therein computer software and/or data. In alternative embodiments, secondary memory 2910 may include other similar means for allowing computer programs or other instructions to be loaded into computer system 2900. Such means may include, for example, a removable storage unit 2922 and an interface 2920. Examples of such may include a program cartridge and cartridge interface (such as that found in video game devices), a removable memory chip (such as an EPROM, or PROM) and associated socket, and other removable storage units 2922 and interfaces 2920 which allow software and data to be transferred from the removable storage unit 2922 to computer system 2900. Computer system 2900 may also include a communications interface 2924. Communications interface 2924 allows software and data to be transferred between computer system 2900 and external devices. Examples of communications interface 2924 may include a modem, a network interface (such as an Ethernet card), a communications port, a PCMCIA slot and card, etc. Software and data transferred via communications interface 2924 are in the form of signals 2928 which may be electronic, electromagnetic, optical or other signals capable of being received by communications interface 2924. These signals 2928 are provided to communications interface 2924 via a communications path (i.e., channel) 2926. This channel 2926 carries signals 2928 and may be implemented using wire or cable, fiber optics, a phone line, a cellular phone link, an RF link and other communications channels. In this document, the terms "computer program medium" and "computer usable medium" are used to generally refer to media such as removable storage drive 2914, a hard disk installed in hard disk drive 2912, and signals 2928. These computer program products are means for providing software to computer system 2900. The invention is directed to such computer program products. Computer programs (also called computer control logic) are stored in main memory 2908 and/or secondary memory 2910. Computer programs may also be received via communications interface 2924. Such computer programs, when executed, enable the computer system 2900 to perform the features of the present invention as discussed herein. In particular, the computer programs, when executed, enable the processor 2904 to perform the features of the present invention. Accordingly, such computer programs represent controllers of the computer system 2900. In an embodiment where the invention is implemented using software, the software may be stored in a computer program product and loaded into computer system 2900 using removable storage drive 2914, hard drive 2912 or communications interface 2924. The control logic (software), when executed by the processor 2904, causes the processor 2904 to perform the functions of the invention as described herein. In another embodiment, the invention is implemented primarily in hardware using, for example, hardware components such as application specific integrated circuits (ASICs). Implementation of the hardware state machine so as to perform the functions described herein will be apparent to persons skilled in the relevant art(s). In yet another embodiment, the invention is implemented using a combination of both hardware and software. VII. Conclusion While various embodiments of the present invention have been described above, it should be understood that they have been presented by way of example, and not limitation. It will be apparent to persons skilled in the relevant art(s) that various changes in form and detail can be made therein without departing from the spirit and scope of the invention. Thus the present invention should not be limited by any of the above-described exemplary embodiments, but should be defined only in accordance with the following claims and their equivalents.
|
Same subclass Same class Consider this |
||||||||||
