US20010013029A1 - Method of constructing and displaying an entity profile constructed utilizing input from entities other than the owner - Google Patents
Method of constructing and displaying an entity profile constructed utilizing input from entities other than the owner Download PDFInfo
- Publication number
- US20010013029A1 US20010013029A1 US09/271,022 US27102299A US2001013029A1 US 20010013029 A1 US20010013029 A1 US 20010013029A1 US 27102299 A US27102299 A US 27102299A US 2001013029 A1 US2001013029 A1 US 2001013029A1
- Authority
- US
- United States
- Prior art keywords
- profile
- term
- user
- entity
- knowledge
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/912—Applications of a database
- Y10S707/922—Communications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
- Y10S707/99935—Query augmenting and refining, e.g. inexact access
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99939—Privileged access
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99943—Generating database or data structure, e.g. via user interface
Definitions
- the present invention relates generally to the field of knowledge management and, more specifically, to a method and apparatus for constructing a user knowledge profile within a database.
- a knowledge management system may be presented with two primary challenges, namely (1) the identification of knowledge within the organization and (2) the distribution and accessing of information regarding such knowledge resources within the organization.
- a method of constructing a profile comprising terms indicative of a characteristic of an entity.
- a first electronic mail address, associated with a first entity is created.
- a first electronic document is received via an electronic communications network at the first electronic mail address from a second entity.
- the first electronic document is parsed to identify a first profile term therein.
- the first profile term is included within a first profile for the first entity.
- a method of displaying profile information on a computer display device A first profile term, included within a profile for a first entity as a result of a submission to the profile from the first entity, is displayed on the computer display device.
- the display of the first profile term is visually distinct from the display of the second profile term so as to indicate that the second profile term is included within the profile for the first entity as a result of the submission from the second entity and not from the first entity.
- FIG. 2 is a block diagram illustrating a knowledge site management server, according to an exemplary embodiment of the present invention.
- FIG. 3 is a block diagram illustrating a knowledge access server, according to an exemplary embodiment of the present invention.
- FIG. 4 is a block diagram illustrating a knowledge converter, according to an exemplary embodiment of the present invention.
- FIG. 5 is a block diagram illustrating a client software program, and an e-mail message generated thereby, according to an exemplary embodiment of the present invention.
- FIG. 6 is a block diagram illustrating the structure of a knowledge repository, according to an exemplary embodiment of the present invention, as constructed from the data contained in a repository database and a user database.
- FIG. 7 is a flowchart illustrating a method, according to an exemplary embodiment of the present invention, of constructing a user knowledge profile.
- FIG. 8 is a flowchart illustrating a high-level method, according to an exemplary embodiment of the present invention, by which terms may be extracted from an electronic document and by which confidence level values may be assigned to such terms.
- FIG. 9A is a flowchart illustrating a method, according to exemplary embodiment of the present invention, of determining a confidence level for a term extracted from an electronic document.
- FIG. 9B is a flowchart illustrating a method, according to exemplary embodiment of the present invention, by which a document weight value may be assigned to a document based on addressee information associated with the document.
- FIG. 10 illustrates a term-document binding table, according to an exemplary embodiment of the present invention.
- FIG. 11 illustrates a weight table, according to an exemplary embodiment of the present invention.
- FIG. 12 illustrates an occurrence factor table, according to an exemplary embodiment of the present invention.
- FIG. 13 illustrates a confidence level table, including initial confidence level values, according to an exemplary embodiment of the present invention.
- FIG. 14 illustrates a modified confidence level table, including modified confidence level values, according to an exemplary embodiment of the present invention.
- FIG. 15A is a flowchart illustrating a method, according to an exemplary embodiment of the present invention, of constructing a user knowledge profile that includes first and second portions.
- FIG. 15B is a flowchart illustrating a method, according to an exemplary embodiment of the present invention, of storing a term in either a first or a second portion of a user knowledge profile.
- FIG. 16A illustrates a user-term table, constructed according to the exemplary method illustrated in FIG. 15A.
- FIG. 16B illustrates a user-term table, constructed according to the exemplary method illustrated in FIG. 15A.
- FIG. 17A is a flowchart illustrating a method, according to an exemplary embodiment of the present invention, of facilitating access to a user knowledge profile.
- FIG. 17B is a flowchart illustrating an alternative method, according to exemplary embodiment of the present invention, of facilitating access to a user knowledge profile.
- FIG. 17C is a flowchart illustrating a method, according to exemplary embodiment of the present invention, of performing a public profile process.
- FIG. 17D is a flowchart illustrating a method, according to an exemplary embodiment of the present invention, of performing a private profile process.
- FIG. 17E is a flowchart illustrating a method, according to an exemplary embodiment of the present invention, of performing a profile modification process.
- FIG. 18A is a flowchart illustrating a method, according to an exemplary embodiment of the present invention, of addressing an electronic document for transmission over a computer network.
- FIG. 18B is a flowchart illustrating a method, according to an exemplary embodiment of the present invention, of executing an “explain” function that provides the reasons for the proposal of an e-mail recipient.
- FIG. 18C is a flowchart illustrating a method, according to an exemplary embodiment of the present invention, of executing a “more” function that proposes further potential recipients for an e-mail message.
- FIG. 18D illustrates a user dialog, according to an exemplary embodiment of the present invention, through which a list of potential recipients is displayed to an addressor of an e-mail message.
- FIG. 19 is a flowchart illustrating a method, according to an exemplary embodiment of the present invention, of managing user authorization to publish, or permit access to, a user knowledge profile.
- FIG. 20 is a flowchart illustrating a method, according to an exemplary embodiment of the present invention, of assigning a confidence value, either in the form of a confidence level value or a confidence memory value, to a term.
- FIG. 21 is a flowchart illustrating a method, according to an exemplary embodiment of the present invention, of determining or identifying a confidence value, either in the form of a confidence level value or a confidence memory value, for a term.
- FIG. 22 illustrates a user-term table, according to an exemplary embodiment of the present invention, that is shown to include a confidence level value column, a confidence memory value column and a time stamp column.
- FIG. 23 is a block diagram illustrating a machine, according to one exemplary embodiment, within which software in the form of a series of machine-readable instructions, for performing any one of the methods discussed above, may be executed.
- the present specification teaches a method and apparatus for intercepting electronic documents, such as for example e-mail messages, originated by a user, and extracting terms therefrom that are potentially indicative of a knowledge base of the originating user.
- the extracted knowledge terms may then be utilized to construct a user knowledge profile.
- the grammatical structure, length, frequency and density with which the extracted knowledge terms occur within electronic documents originated by a user, and prior history of use of the extracted knowledge terms within an organization may furthermore be utilized to attach a metric, in the form of a confidence level value, to the relevant knowledge terms for the purpose of grouping, ranking, and prioritizing such knowledge terms.
- Knowledge terms may furthermore be stored in either a private or public portion of the user knowledge profile, depending upon the confidence level values thereof.
- the present specification also teaches addressing privacy concerns associated with the examination of e-mail messages for the above purposes by providing users with the option selectively to submit originated e-mail messages for examination, or alternatively to bypass the examination and extraction system of the present invention.
- the e-mail message may be examined to identify terms therein.
- the identified terms are then compared to a number of user knowledge profiles with a view to detecting a predetermined degree of correspondence between the identified terms and any one or more of the user knowledge profiles.
- the sender of the electronic document is prompted to the either accept or decline the proposed recipient as an actual recipient of the electronic document, after first being offered an opportunity to inspect the specific basis of the correspondence between the identified terms and the proposed recipients.
- the e-mail message may also be parsed to extract recipients entered manually by the user.
- the degree of correspondence between the knowledge profiles of the manually entered recipients and the identified terms of the message is then optionally used as the basis of recommendations to the user that certain manually entered recipients be dropped from the ultimate list of recipients.
- This aspect of the present teachings is advantageous in that a sender of an e-mail message is presented with a list of proposed recipients, identified according to their knowledge profiles and the content of the e-mail message, who may be interested in receiving the e-mail message. Accordingly, the problems of over-distribution and under-distribution of e-mail messages that may be encountered within an organization may be reduced. Specifically, in the over-distribution situation, many users are frequently copied on e-mail messages, resulting in lost productivity as the users struggle to cope with increasing volumes of daily e-mail. Further, when the time available to read e-mail messages becomes restricted, users typically begin to defer reading of e-mail messages, and communication efficiency within the organization may be adversely affected. In the under-distribution situation, it may occur that the proper recipients of the message are not included in the distribution list, and accordingly fall “out of the loop”.
- the word “term” shall be taken to include any acronym, word, collection of words, phrase, sentence, or paragraph.
- the term “confidence level” shall be taken to mean any indication, numeric or otherwise, of a level within a predetermined range.
- FIG. 1 is a block diagram illustrating a knowledge management system 10 , according to an exemplary embodiment of the present invention.
- the system 10 may conveniently be viewed as comprising a client system 12 and a server system 14 .
- the client system 12 may comprise one or more clients, such as browser clients 16 and e-mail clients 18 , that are resident on terminals or computers coupled to a computer network.
- each of the browser clients 16 may comprise the Internet Explorer client developed by Microsoft Corp. of Redmond, Wash., or the Netscape Navigator client developed by Netscape Communications of Menlo Park, Calif.
- Each of the e-mail clients 18 may further comprise the Outlook Express, Outlook 97 , Outlook 98 or Netscape Communicator e-mail programs.
- the browser and e-mail clients 16 are complemented by extensions 19 , that enable the e-mail clients 18 to send an electronic message (e.g., either an e-mail or HTML document) to a knowledge server 22 implemented on the server side 14 of the system 10 .
- the extensions 19 may be integral with an e-mail client 18 , or external to the client 18 and in communication therewith.
- the clients 16 and 18 may default to sending every communication to a relevant component of the knowledge server 22 , while allowing a user specifically to designate a communication not suitable for transmission to the knowledge server 22 .
- the user designation may be facilitated through controls that are installed as software modules which interact with or modify an e-mail client 18 , and which cause messages to be copied to a special e-mail address (e.g., a Knowledge Server (KS) mailbox 25 maintained by a e-mail server 23 ) associated with a knowledge server component.
- a special e-mail address e.g., a Knowledge Server (KS) mailbox 25 maintained by a e-mail server 23
- KS Knowledge Server
- the user can manually add the e-mail address of the KS mailbox 25 to the list of recipients for the message. Further details in this regard are provided below.
- Files embedded within an e-mail message, such as attachments may also be selectively included or excluded from the capture process and may also be selectively included or excluded from retention in a knowledge repository.
- the browser clients 16 are used as an additional means to submit documents to the knowledge server 22 at the discretion of a user.
- the browser client 16 is used to access an interface application 34 , maintained on a web server 20 , which transmits documents to the knowledge server 22 .
- a client may also propagate a list of bookmarks, folders or directories to the knowledge server 22 for the purpose of user knowledge profile construction.
- the server side 14 of the system 10 includes the web server 20 , the e-mail server 23 and the knowledge server 22 .
- the web server 20 may be any commercially available web server program such as Internet Information Server (IIS) from Microsoft Corporation, the Netscape Enterprise Server, or the Apache Server for UNIX.
- the web server 20 includes the interface application 34 for interfacing with the knowledge server 22 .
- the web server 20 may run on a single machine that also hosts the knowledge server 22 , or may alternatively run along with the interface application 34 on a dedicated web server computer.
- the web server 20 may also be a group of web server programs running on a group of computers to thus enhance the scalability of the system 10 .
- the web server interface application 34 implements knowledge application interfaces, knowledge management interfaces, user profile creation and maintenance interfaces, and a server management interface.
- the web server 20 also facilitates knowledge profile queries, e-mail addressing to an e-mail client 18 , and any other access to the knowledge server 22 using the standard HTTP (web) protocol.
- the knowledge server 22 includes a knowledge site management server (KSMS) 27 and the knowledge access server (KAS) 26 .
- the knowledge server access 26 includes an interface that provides a local view of a knowledge repository 50 , which is physically stored in the user database 56 A and a repository database 56 B.
- the knowledge site management server 27 is shown to have access to the local view of the knowledge repository 50 maintained by the knowledge access server 26 .
- the illustrated components of the knowledge server 22 are collectively responsible for the capture (termed “knowledge discovery”) of terms indicative of a user knowledge base and for the distribution of user knowledge profile information.
- Knowledge discovery may be done by the examination and processing of electronic documents, such as e-mail messages, which may be propagated to the e-mail server 23 from an e-mail client 18 via the Simple Mail Transfer Protocol (SMTP), as shown at 32 .
- SMTP Simple Mail Transfer Protocol
- knowledge discovery may be implemented by the examination of submissions from a browser client 16 via the web server 20 .
- the knowledge server 22 includes the knowledge access server 26 and the knowledge site management server 27 as two separate and distinct server systems in view of the divergent functions provided by the servers 26 and 27 .
- the knowledge site management server 27 functions primarily to manage non-interactive processing (e.g., the extraction of knowledge from inbound e-mail messages), to manage the user information database 56 A, and to implement various centralized system management processes.
- the knowledge site management server 27 does not communicate interactively with clients 18 , or with clients 16 except for administrative functions.
- the knowledge access server 26 functions primarily to respond to queries and updates from users submitted via clients, typically browser clients 16 .
- a knowledge access server 26 may be required to support a large corporate environment and to provide appropriate scalability; however only one knowledge site management server 27 , one user database 56 A, and one repository database 56 B typically exist in a working system.
- the web server 20 , knowledge access server 26 , and knowledge site management server 27 , and even the e-mail server 23 may all optionally be deployed on the same physical computer.
- FIG. 2 is a block diagram illustrating an exemplary embodiment, according to the present invention, of the knowledge site management server 27 .
- the server 27 is shown to include a socket front-end 40 to facilitate communication with the web server 20 for administrative requests, a request handler 44 , a knowledge gathering system 28 , a knowledge converter 24 , and a variety of specialized controller modules 45 A- 45 C.
- the request handler 44 upon receiving a request from the web server 20 via the interface application 34 and socket front-end 40 , starts a session to process the request such as, for example, a request by an authorized systems administrator to configure the behavior of the knowledge gathering system 28 .
- the knowledge gathering system 28 is shown in FIG. 2 to include an extraction controller 47 , a mail system interface 42 , and a term extractor 46 including confidence logic 45 .
- the extraction controller 47 commands the mail system interface 42 to retrieve messages submitted by the e-mail client extensions 19 to the KS mailbox 25 on the e-mail server 23 for the purpose of extraction and processing.
- the extraction controller 47 can request this continuously or periodically on a scheduled basis, so that messages can be processed at a convenient time when computing resources are lightly loaded, for example, overnight.
- the mail system interface 42 retrieves e-mail messages from the e-mail server 23 using the Simple Mail Transfer Protocol (SMTP), Post Office Protocol 3 (POP 3 ), or Internet Message Access Protocol 4 (IMAP 4 ) protocols.
- SMTP Simple Mail Transfer Protocol
- POP 3 Post Office Protocol 3
- IMAP 4 Internet Message Access Protocol 4
- the mail system interface 42 propagates electronic documents directly to a term extractor 46 , including confidence logic 45 , that operates to convert electronic documents into per-user knowledge profiles that are stored in a knowledge repository 50 .
- the term extractor 46 may include any commercially available term extraction engine (such as “NPTOOL” from LingSoft Inc. of Helsinki, Finland, or “Themes” from Software Scientific) that analyzes the electronic document, recognizes noun phrases in the document, and converts such phrases to a canonical form for subsequent use by the confidence logic 45 as candidate terms in a knowledge profile.
- the term extractor 46 performs a variety of the steps when parsing and decoding an electronic document, such as interpreting any special attributes or settings encoded into the header of the message of the e-mail client 18 , resolving the e-mail addresses of recipients against either the built-in user database or an external user database, preprocessing the electronic document, extracting noun-phrases from the text as candidates for knowledge terms, processing these knowledge terms, and storing summary information about the document and extraction process in the databases 56 A and 56 B.
- the term extractor 46 further detects and strips out non-original texts, attachments and in some cases the entire electronic document based on the document not meeting predetermined minimum criteria. Further details regarding the exact procedures implemented by the term extractor 46 will be provided below.
- the knowledge repository 50 is updated. Specifically, new terms are added, and repetitions of known terms are used to update the knowledge repository 50 .
- the knowledge repository 50 is defined by a hierarchical structure of classes.
- the objects of these classes represent the knowledge information that includes, inter alia, user profiles (including knowledge profiles) and organizational structure, and are stored in two databases: the user database 56 A and the repository database 56 B.
- the repository database 56 B contains profile and repository information and can use one of a number of commercial relational database management systems that support the Open DataBase Connectivity (ODBC) interface standard.
- ODBC Open DataBase Connectivity
- a database interface 54 provides a logical database-independent class API to access the physical databases and to shield the complete server codes from accessing database native API so that the server process can use any relational database management system (RDMS).
- RDMS relational database management system
- the repository database 56 A is open to inspection by systems administrators, and may be hosted on an existing corporate system, special measures may be taken to enhance the privacy of information in the repository database 56 B; for example, the repository database 56 B contains no actual user names or e-mail addresses, but instead may use encrypted codes to represent users in a manner that is meaningful only in combination with the user database.
- the user database 56 A is a small commercial RDBMS embedded into the knowledge repository 50 in such a way that it cannot be accessed except through the interfaces offered by the system 10 .
- the user database 56 A contains encrypted identifying codes that allow the names of actual users to be associated with e-mail addresses, login IDs, passwords, and profile and repository information in the repository database.
- a lexicon controller 45 C is responsible for building tables of associated terms. Terms are considered “associated” with each other to the extent that they tend to co-occur in close proximity within the documents of multiple users.
- the lexicon controller 45 C manages the background process of data mining that is used to discover associations between terms and record those in special association tables within the repository database 56 B.
- a profile controller 45 B is a module that may optionally be included within the knowledge site management server 27 , and manages a queue of pending, compute-intensive operations associated with updating profiles. Since the algorithm for the confidence level value calculation of a term (embodied in the confidence logic 45 ) depends on the total number of documents profiled, the confidence level value for each and every term in a user's profile is technically obsolete when any document is profiled. The profile controller 45 B manages the “recalculation” of profiles. The actual operation is performed within the knowledge access server 26 , which has a knowledge repository 50 interface.
- a case controller 45 A keeps track of open cases and initiates notifications to users concerning their status.
- a “case” is a pending request from one user to another, as will be detailed below. For example, if a user requests an expert in a certain field via a client browser client 16 , the knowledge access server 26 matches the term against both the public and private portions of all user profiles. If a high confidence, but private, match is found, the system cannot reveal the identity of the matched person to the inquirer and must therefore open a “case”. The case places a notification in the profile “home” page of the target user and/or transmits an e-mail message with a link back to that page. The target user may then (via a browser):
- FIG. 3 is a block diagram illustrating the components that constitute the knowledge access server 26 .
- the knowledge access server 26 is shown to include a socket front-end 40 to facilitate communication with the web server interface application 34 .
- the knowledge access server 26 further includes a request handler 44 , a term extractor 46 , a knowledge repository 50 and a database interface 54 that function in a manner similar to that described above with reference to the knowledge gathering system 28 .
- the term extractor 46 includes comparison logic 51 , the functioning of which will be described below.
- the knowledge access server 26 functions primarily as an interface between knowledge users and the knowledge repository 50 . It provides services to the web server interface application 34 , which implements a number of user interfaces as described above for interacting with the knowledge repository 50 .
- FIG. 4 is a block diagram illustrating the components that constitute the knowledge converter 24 .
- the knowledge converter 24 is shown to include a term extractor 46 that is fed from an array of format converters 60 .
- the knowledge converter 24 is able to access the knowledge repository 50 , and to import data from other knowledge systems, or export knowledge to other knowledge systems, via each of the format converters 60 .
- FIGS. 3 and 4 illustrate data for the knowledge repository 50 as residing in databases 56 A and 56 B.
- the databases 56 A and 56 B are built on a general database interface 54 and provide persistent storage for the core system classes referred to above.
- the user database and the repository databases are implemented utilizing the Microsoft SQL server, developed by Microsoft Corp. of Redmond Wash., to provide default storage management services for the system.
- programming may be done at a more general level to allow for substitution of other production class relational database management systems, such as those developed by Sybase, Oracle or Informix.
- FIG. 5 is a diagrammatic representation of a client, according to an exemplary embodiment of the present invention, in the form of an e-mail client 18 .
- the e-mail client 18 may be any commercially available e-mail client, such as a Microsoft Exchange, Outlook Express, Outlook 97 / 98 or Lotus Notes client.
- the e-mail client 18 includes modifications or additions, in the form of the extensions 19 , to the standard e-mail client to provide additional functionality.
- three subsystems are included within the e-mail client extensions 19 , namely a user interface 80 , a profiling system 82 , and an addressing system 84 .
- the profiling system 82 implements properties on an originated message, as well as menu and property sheet extensions at global and message levels for users to set and manipulate these new properties. More specifically, profiling system 82 provides a user with a number of additional options that determine how a message 85 propagated from the e-mail client 18 to the knowledge repository 50 will be processed and handled for the purposes of knowledge management. A number of the provided options are global, while others apply on a per-message basis. For example, according to one exemplary embodiment, the following per-message options (or flags) may be set by a user to define the properties of an e-mail message:
- a “Repository” parameter 88 indicating that the message may be processed for the purposes of constructing a knowledge profile and then stored in the repository 50 for subsequent access as a document by others.
- the “Repository” parameter 88 also indicates whether the document (as opposed to terms therein) is to be stored in a private or public portion of the repository 50 .
- a number of global message options may also be made available to a user for selection.
- an e-mail address i.e., the KS mailbox 25 or the e-mail server 23
- the knowledge server 22 may be enabled, so that the e-mail message is propagated to the server 22 .
- the profiling system 82 encrypts and encodes the following information into the message header, for transmission to and decoding by the knowledge gathering system 28 , in accordance with Internet specification RFC 1522 :
- FIG. 6 is a block diagram illustrating the structure of the repository 50 , according to one exemplary embodiment of the present invention, as constructed from data contained in the repository database 56 B, and the user database 56 A.
- the repository 50 is shown to include a number of tables, as constructed by a relational database management system (RDBMS).
- RDBMS relational database management system
- the repository 50 includes a user table 90 , a term table 100 , a document table 106 , a user-term table 112 , a term-document table 120 and a user-document table 130 .
- the user table 90 stores information regarding users for whom knowledge profiles may be constructed, and includes an identifier column 92 , including unique keys for each entry or record within the table 90 .
- a name column 94 includes respective names for users for whom knowledge profiles are maintained within the repository 50 .
- a department column 96 contains a description of departments within an organization to which- each of the users may be assigned, and an e-mail column 98 stores respective e-mail addresses for the users. It will be appreciated that the illustrated columns are merely exemplary, and a number of other columns, storing further information regarding users, may be included within the user table 90 .
- the term table 100 maintains a respective record for each term that is identified by the term extractor 46 within an electronic document, and that is included within the repository 50 .
- the term table 100 is shown to include an identifier column 102 , that stores a unique key for each term record, and a term column 104 within which the actual extracted and identified terms are stored. Again, a number of further columns may optionally be included within the term table 100 .
- the document table 106 maintains a respective record for each document that is processed by the term extractor 46 for the purposes of extracting terms therefrom.
- the document table 106 is shown to include an identifier column 108 , that stores a unique key for each document record, and a document name column 110 , that stores an appropriate name for each document analyzed by the term extractor 46 .
- the user-term table 112 links terms to users, and includes at least two columns, namely a user identifier column 114 , storing keys identifying users, and a term identifier column 116 , storing keys identifying terms.
- the user-term table 112 provides a many-to-many mapping of users to terms. For example, multiple users may be associated with a single term, and a single user may similarly be associated with multiple terms.
- the table 112 further includes a confidence level column 118 , which stores respective confidence level values, calculated in the manner described below, for each user-term pair. The confidence level value for each user-term pair provides an indication of how strongly the relevant term is coupled to the user, and how pertinent the term is in describing, for example, the knowledge base of the relevant user.
- the term-document table 120 links terms to documents, and provides a record of which terms occurred within which document.
- the term-document table 120 includes a term identifier column 122 , storing keys for terms, and a document identifier column 124 , storing keys for documents.
- the table 120 further includes an adjusted count column 126 , which stores values indicative of the number of occurrences of a term within a document, adjusted in the manner described below. For example, the first record within the table 120 records that the term “network” occurred within the document “e-mail 1 ” 2.8 times, according to the adjusted count.
- the user-document table 130 links documents to users, and includes at least two columns, namely a user identifier column 132 , storing keys identifying users, and a document identifier column 134 , storing keys identifying various documents.
- the first record within the exemplary user-document table 130 indicates that the user “Joe” is associated with the document “e-mail 1 ”. This association may be based upon the user being the author or recipient of the relevant document.
- FIG. 7 is a flow chart illustrating a method 140 , according to an exemplary embodiment of the present invention, of constructing a user knowledge profile.
- FIG. 7 illustrates broad steps that are described in further detail with reference to subsequent flow charts and drawings.
- the method 140 commences at step 142 , and proceeds to decision box 144 , wherein a determination is made as to whether an electronic document, for example in the form of an e-mail propagated from an e-mail client 18 , is indicated as being a private document. This determination may be made at the e-mail client 18 itself, at the e-mail server 23 , or even within the knowledge site management server 27 .
- This determination may furthermore be made by ascertaining whether the Ignore flag 86 , incorporated within an e-mail message 85 , is set to indicate the e-mail message 85 as private.
- the Ignore flag 86 may be set at a users discretion utilizing the profiling system 82 , accessed via the user interface 80 within the extensions 19 to the e-mail client 18 .
- the method 140 terminates at step 146 , and no further processing of the electronic document occurs.
- the method 140 proceeds to step 148 , where confidence level values are assigned to various terms within the electronic document.
- a user knowledge profile is constructed utilizing the terms within the electronic document to which confidence level values were assigned at step 148 .
- the method 140 then terminates at step 146 .
- FIG. 8 is a flow chart illustrating a high-level method 148 , according to an exemplary embodiment of the present invention, by which terms may be extracted from an electronic document, and by which confidence level values may be assigned such terms.
- the method 148 comprises two primary operations, namely a term extraction operation indicated at 152 , and a confidence level value assigning operation, indicated at a 154 .
- the method 148 implements one methodology by which the step 148 shown in FIG. 7 may be accomplished.
- the method 148 begins at step 160 , and then proceeds to step 162 , where an electronic document, such as for example an e-mail, a database query, a HTML document and or a database query, is received at the knowledge site management server 27 via the mail system interface 42 .
- an e-mail message addressed to the KS mailbox 25 , is received at the knowledge site management server 27 via the mail system interface 42 , from the e-mail server 23 .
- terms and associated information are extracted from the electronic document.
- the e-mail message is propagated from the mail system interface 42 to the term extractor 46 , which then extracts terms in the form of, for example, grammar terms, noun phrases, word collections or single words from the e-mail message.
- the term extractor 46 may further parse a header portion of the e-mail to extract information therefrom that is required for the maintenance of both the repository and user databases 56 B and 56 A.
- the term extractor 46 will identify the date of transmission of the e-mail, and all addressees. The term extractor 46 will additionally determine further information regarding the electronic document and terms therein. For example, the term extractor 46 will determine the total number of words comprising the electronic document, the density of recurring words within the document, the length of each term (i.e., the number of words that constitute the term), the part of speech that each word within the document constitutes, and a word type (e.g., whether the word is a lexicon term). To this end, the term extractor 46 is shown in FIG.
- a database 49 of lexicon terms which may identify both universal lexicon terms and environment lexicon terms specific to an environment within which the knowledge site management server 27 is being employed. For example, within a manufacturing environment, the collection of environment lexicon terms will clearly differ from the lexicon terms within an accounting environment.
- a first relevancy indicator in the form of an adjusted count value is calculated for each term within the context of the electronic document at step 168 .
- a second relevancy indicator in the form of a confidence level is calculated for each term within the context of multiple electronic documents associated with a particular user. Further details regarding steps 168 and 170 are provided below.
- the method 148 then terminates at step 172 .
- FIG. 9A is a flow chart illustrating a method 154 , according to an exemplary embodiment of the present invention, of determining a confidence level for a term extracted from an electronic document.
- a term and associated information is received at the confidence logic 45 , included within the term extractor 46 . While the confidence logic 45 is shown to be embodied in the term extractor 46 in FIG. 2, it will be appreciated that the confidence logic 45 may exist independently and separately of the term extractor 46 .
- the associated information includes the following parameters:
- a density value expressed as a percentage, indicating the number of occurrences of the term relative to the total number of terms within the electronic document;
- a Part of Speech indication indicating the parts of speech that words included within the term comprise (e.g., nouns, verbs, adjectives, or adverbs); and
- a Type indication indicating whether the term comprises a universal lexicon term, an environment lexicon term, or is of unknown grammatical structure.
- a “binding strength”, indicative of how closely the term is coupled to the electronic document under consideration, is determined. While this determination may be made in any number of ways, FIG. 10 shows an exemplary term-document binding table 200 , utilizing which a class may be assigned to each of the extracted terms. Specifically, the term-document binding table 200 is shown to include three columns, namely a “number of occurrences” column 202 , a density column 204 , and an assigned class column 206 .
- a term having a density value of greater than four percent is identified as falling in the “A” class
- a term having a density of between two and four percent is identified as falling in the “B” class
- a term having a density of between one and two percent is identified as falling in the “C” class
- a term having a density of between 0.5 and one percent is identified as falling in the “D class.
- the density value is utilized to assign a class.
- the count value is utilized for this purpose.
- a term having a count value of greater than 3 is assigned to the “E” class, and a term having a count value of between 1 and 3 is assigned to the “F” class. Accordingly, the assigned class is indicative of the “binding strength” with which the term is associated with or coupled to the electronic document under consideration.
- a characteristic (or qualitative) indicator in the form of a term weight value is determined, based on characteristics qualities of the term such as those represented by the Type and Part of Speech indications discussed above. While this determination may again be made in any number of ways, FIG. 11 shows an exemplary weight table 210 , utilizing which a weight value may be assigned to each of the extracted terms. Specifically, the weight table 210 is shown to include four columns, namely a weight column 212 , a type column 214 , a length column 216 and a Part of Speech column 218 . By identifying an appropriate combination of type, length and Part of Speech indications, an appropriate term weight value is assigned to each term.
- a type “P” indication identifies an environment lexicon term
- a type “L” indication identifies a universal lexicon term
- a type “U” indication identifies a term of unknown grammatical structure for a given length.
- the entries within the length column 216 indicate the number of words included within the term.
- the entries within the Part of Speech column 218 indicate the parts of speech that the words within a term comprise.
- the “A” indication identifies the adjectives
- the “V” indication identifies a verb
- the “N” indication identifies a noun
- the “X” indication identifies an unknown part of speech.
- a relevancy quantitative indicator in the form of an adjusted count value for each term is calculated, this adjusted count value being derived from the binding strength and term weight values calculated at steps 184 and 186 . While this determination may again be made in any number of ways, FIG. 12 shows an exemplary occurrence factor table 220 , utilizing which an adjusted count value for the relevant term may be determined.
- the occurrence factor table 220 is shown to include values for various binding strength/term weight value combinations.
- the adjusted count value is indicative of the importance or relevance of term within a single, given document, and does not consider the importance or relevance of the term in view of any occurrences of the term in other electronic documents that may be associated with a particular user.
- step 190 a determination is made as to whether any adjusted count values exists for the relevant term as a result of the occurrence of the term in previously received and analyzed documents. If so, the adjusted count values for occurrences of the term in all such previous documents are summed.
- an initial confidence level values for the term is then determined based on the summed adjusted counts and the term weight, as determined above with reference to the weight table 210 shown in FIG. 11.
- FIG. 13 illustrates a confidence level table 230 , which includes various initial confidence level values for various summed adjusted count/weight value combinations that may have been determined for a term. For example, a term having a summed adjusted count of 0.125, and a weight value of 300, may be allocated an initial confidence level value of 11.5.
- confidence level values for various terms may be grouped into “classes”, which still retain cardinal meaning, but which standardize the confidence levels into a finite number of “confidence bands”.
- the modified confidence level values included within the table 240 may have significance in a number of applications. For example, users may request that terms with a confidence level of greater than 1000 automatically be published in a “public” portion of their user knowledge profile.
- e-mail addressees for a particular e-mail may be suggested based on a match between a term in the e-mail and a term within the user knowledge profile having a confidence level value of greater than, merely for example, 600 .
- the method 154 then terminates at step 194 .
- the method 154 may be supplemented by a number of additional steps 195 , as illustrated in FIG. 9B, by which a “document weight” value is assigned to a document based on addressee information associated with the document.
- the document weight value may be utilized in any one of the steps 182 - 192 illustrated in FIG. 9A, for example, as a multiplying factor to calculate a confidence level value for a term.
- the binding strength value as determined at step 184
- the term weight value as determined at step 186 , may be multiplied by the document weight value.
- the document weight value may be calculated by the confidence logic 45 within the term extractor 46 .
- the confidence logic 45 identifies the actual addressee information.
- the term extractor 46 may include a header parser (not shown) that extracts and identifies the relevant addressee information.
- the confidence logic 45 then accesses a directory structure that may be maintained by an external communication program for the purposes of determining the level of seniority within an organization of the addressees associated with the document.
- the directory structure may be a Lightweight Directory Access Protocol (LDAP) directory maintained by a groupware server, such as Microsoft Exchange or Lotus Notes.
- LDAP Lightweight Directory Access Protocol
- a cumulative seniority level for the various addressees is determined by summing seniority values for each of the addressees.
- the summed seniority value is scaled to generate the document weight value.
- the cumulative or summed seniority level of the various addressees comprises an “average” seniority value that is used for the purpose of calculating the document weight term.
- a “peak” seniority value i.e., a seniority value based on the seniority level of the most senior addressee
- the addressee information may be utilized in a different manner to generate a document weight value.
- a document weight value may be calculated based on the number of addressees, with a higher number of addressees resulting in a greater document weight value.
- a document weight value may be calculated based on the number of addressees who are included within a specific organizational boundary (e.g., a specific department or division). For example, an e-mail message addressed primarily to an executive group may be assigned a greater document weight value than an e-mail message addressed primarily to a group of subordinates.
- the document weight value may also be calculated using any combination of the above discussed addressee information characteristics. For example, the document weight value could be calculated using both addressee seniority and addressee number information.
- FIG. 15A is a flow chart illustrating a method 250 , according to one exemplary embodiment of the present invention, of constructing a user profile that includes first and second portions that may conveniently be identified as “private” and “public” portions.
- unrestricted access to the “public” portion of the user knowledge profile may be provided to other users, while restricted access to the “private” portion may be facilitated.
- unrestricted access may encompass allowing a user to review details concerning a user knowledge profile, and the target user, responsive to a specific request and without specific authorization from the target user.
- Restricted access may require specific authorization by the target user for the provision of information concerning the user knowledge profile, and the target user, in response to a specific request.
- the method 250 commences at step 252 , and then proceeds to step 254 , where a determination is made regarding the confidence level value assigned to a term, for example using the method 154 described above with reference to FIG. 9A. Having determined the confidence level value, the method 250 proceeds to step 256 , where a threshold value is determined.
- the threshold value may either be a default value, or a user specified value, and is utilized to categorize the relevant term. For example, users may set the threshold through the browser interface as a fundamental configuration for their profile. If set low, the user profile will be aggressively published to the public side. If set high, only terms with a high level of confidence will be published.
- FIG. 16A shows an exemplary user-term table 112 , constructed according to the method 250 illustrated in FIG. 15A.
- the table 112 is shown to include a first user knowledge profile 270 and a second user knowledge profile 280 .
- the first user knowledge profile 270 is shown to include a “public” portion 272 , and a “private” portion 274 , the terms within the “private” portion 274 having an assigned confidence level value (as indicated in the confidence level column 118 ) below a threshold value of 300 .
- the second user knowledge profile 280 similarly has a “public” portion 282 and a “private” portion 284 .
- the exemplary user-term table 112 shown in FIG. 16A comprises an embodiment of the table 112 in which the public and private portions are determined dynamically with reference to a confidence level value assigned to a particular user-term pairing.
- FIG. 16B illustrates an alternative embodiment of the user-term table 112 that includes a “private flag” column 119 , within which a user-term pairing may be identified as being either public or private, and accordingly part of either the public or private portion of a specific user profile. While the state of a private flag associated with a particular user-term pairing may be determined exclusively by the confidence level associated with the pairing, in an alternative embodiment of the invention, the state of this flag may be set by other mechanisms. For example, as described in further detail below with reference to FIG.
- a user may be provided with the opportunity manually to modify the private or public designation of a term (i.e., move a term between the public and private portions of a user knowledge profile).
- a user may be provided with an opportunity to modify the private or public designation of a term in response to a number of events.
- a user may be prompted to designate a term as public in response to a “hit” upon a term in the private portion during a query process, such as during an “expert-lookup” query or during an “addressee-lookup” query.
- the allocation of the term to the appropriate portion may be made by setting a flag, associated with the term, in the “private flag” column 119 within the user-term table 112 , as illustrated in FIG. 16B.
- a logical “1” entry within the “private flag” column 119 may identify the associated term as being in the “private” portion of the relevant user knowledge profile, while a logical “0” entry within the “private flag” column 119 may identify the associated term as being in the “public” portion of the relevant user knowledge profile.
- FIG. 15B illustrates an exemplary method 260 / 262 , according to one embodiment of the present invention, of storing a term in either a public or private portion of a user knowledge profile.
- a respective term is added to a notification list at step 1264 , following the determination made at decision box 258 , as illustrated in FIG. 15A.
- decision box 1268 a determination is made as to whether a predetermined number of terms have been accumulated within the notification list, or whether a predetermined time period has passed. If these conditions are not met, the method waits for additional terms to be added to the notification list, or for further time to pass, at step 1266 , before looping back to the step 1264 .
- the method proceeds to step 1270 , where the notification list, that includes a predetermined number of terms that are to be added to the user knowledge profile, is displayed to a user.
- the notification list may be provided to the user in the form of an e-mail message, or alternatively the user may be directed to a web site (e.g., by a URL included within e-mail message) that displays the notification list.
- the notification list may be displayed on a web or intranet page that is frequently accessed by the user, such as a home page.
- the user selects terms that are to be included in the public portion of the user knowledge profile.
- the user may select appropriate buttons displayed alongside the various terms within the notification list to identify terms for either the public or private portions of the user knowledge profile.
- private flags such as those contained within the “private flag” column 119 of the user-term table 112 as shown in FIG. 16B, may be set to a logical zero “0” to indicate that the terms selected by the user are included within the public portion.
- private flags may be set to a logical one “1” to indicate terms that were not selected by the user for inclusion within the public portion are by default included within the private portion.
- the user may, at step 1272 , select terms to be included within the private portion, in which case un-selected terms will by default be included within the public portion. The method then ends at step 1280 .
- the above described method is advantageous in that a user is not required to remember routinely to update his or her user profile, but is instead periodically notified of terms that are candidates for inclusion within his or her user knowledge profile. Upon notification, the user may then select terms for inclusion within the respective public and private portions of the user knowledge profile. As such, the method may be viewed as a “push” model for profile maintenance.
- FIG. 17A shows a flow chart illustrating a method 300 , according to one exemplary embodiment of the present invention, of facilitating access to a user knowledge profile.
- the method 300 commences at step 302 , and then proceeds to step 304 , where a threshold value is determined.
- a document term within an electronic document generated by a user hereinafter referred to as a “query” user is identified.
- Step 306 is performed by the term extractor 46 responsive, for example, to the receipt of an e-mail from the mail system interface 42 within the knowledge gathering system 28 .
- comparison logic 51 within the term extractor 46 identifies a knowledge term within the repository 50 corresponding to the document term identified at step 306 .
- the comparison logic 51 also determines a confidence level value for the identified knowledge term.
- the comparison logic 51 makes a determination as to whether the confidence level value for the knowledge term identified at step 308 is less than the threshold value identified at step 304 . If not (that is the confidence level value is greater than the threshold value) then a public profile process is executed at step 312 . Alternatively, a private profile process is executed at step 314 if the confidence level value falls below the threshold value.
- the method 300 then terminates at step 316 .
- FIG. 17B shows a flowchart illustrating an alternative method 301 , according to an exemplary embodiment of the present invention, of facilitating access to a user knowledge profile.
- the method 301 commences at step 302 , and then proceeds to step 306 , where a document term within an electronic document generated by a user (i.e., the “query” user) is identified.
- the term extractor 46 performs step 306 responsive, for example, to the receipt of an e-mail message from the mail system interface 42 within the knowledge gathering system 28 .
- the comparison logic 51 within the term extractor 46 identifies a knowledge term within the knowledge repository 50 corresponding to the document term identified at step 306 .
- the comparison logic 51 then makes a determination as to whether a “private” flag for the knowledge term is set to indicate the relevant knowledge term as being either in the public or the private portion of a user knowledge profile. Specifically, the comparison logic 51 may examine the content of an entry in the private flag column 112 of a user-term table for a specific user-term pairing of which the knowledge term is a component. If the “private” flag for the knowledge term is set, thus indicating the knowledge term as being in the private portion of a user knowledge profile, the private profile process is executed at step 314 . Alternatively, the public profile process is executed at step 312 . The method 301 then terminates at step 316 .
- FIG. 17C shows a flow chart detailing a method 312 , according to an exemplary embodiment of the present invention, of performing the public profile process mentioned in FIGS. 17A and 17B.
- the method 312 commences at step 320 , and user information, the knowledge term corresponding to the document term, and the confidence level value assigned to the relevant knowledge term are retrieved at steps 322 , 324 , and 326 . This information is then displayed to the query user at step 328 , whereafter the method 312 terminates at step 330 .
- FIG. 17D shows a flow chart detailing a method 314 , according to an exemplary embodiment of the present invention, of performing the private profile process mentioned in FIGS. 17A and 17B.
- the method 314 commences at step 340 , and proceeds to step 342 , where a user (herein after referred to as the “target” user) who is the owner of the knowledge profile against which the hit occurred is notified of the query hit.
- This notification may occur in any one of a number of ways, such as for example via an e-mail message.
- Such an e-mail message may further include a URL pointing to a network location at which further information regarding the query hit, as well as a number of target user options, may be presented.
- the reasons for the query hit are displayed to the target user.
- Such reasons may include, for example, matching, or similar, document and knowledge terms utilizing which the hit was identified and the confidence level value associated with the knowledge term. These reasons may furthermore be presented within the e-mail propagated at step 342 , or at the network location identified by the URL embedded within the e-mail.
- the target user then exercises a number of target user options. For example, the target user may elect to reject the hit, accept the hit, and/or modify his or her user knowledge profile in light of the hit. Specifically, the target user may wish to “move” certain terms between the public and private portions of the user knowledge profile.
- the user may optionally delete certain terms from the user knowledge profile in order to avoid any further occurrences of hits on such terms.
- These target user options may furthermore be exercised via a HTML document at the network location identified by the URL.
- a determination is made as to whether the user elected to modify the user knowledge profile. If so, a profile modification process, which is described below with reference to FIG. 17E, is executed at step 352 . Otherwise, a determination is made at decision box 354 as to whether the target user rejected the hit. If so, the hit is de-registered at step 356 . Alternatively, if the target user accepted the hit, the public profile process described above with reference to FIG. 17C is executed at step 358 . The method 314 then terminates at step 360 .
- FIG. 17E is a flowchart illustrating a method 352 , according to an exemplary embodiment of the present invention, for implementing the profile modification process illustrated at step 352 in FIG. 17D.
- the method 352 commences at step 362 , and then proceeds to display step 364 , where the target user is prompted to (1) move a term, on which a “hit” has occurred, between the private and public portions of his or her user knowledge profile, or to (2) delete the relevant term from his or her user knowledge profile.
- the target user may be presented with a user dialog, a HTML-enriched e-mail message, or a Web page, listing the various terms upon which hits occurred as a result of an inquiry, besides which appropriate buttons are displayed that allow the user to designate the term either to the included in the public or private portion of his or her user knowledge profile, or that allow the user to mark the relevant term for deletion from the user knowledge profile.
- the target user makes selections regarding the terms in the matter described above.
- decision box 368 a determination is made as to whether the user selected terms for transfer between the public and private portions of the user profile, or for inclusion within the user profile.
- step 370 the appropriate terms are designated as being either public or private, in accordance with the user selection, by setting appropriate values in the “private flag” column 119 within the user-term table, as illustrated in FIG. 16B.
- decision box 372 a determination is made as to whether the user has elected to delete any of the terms presented at step 364 . If so, the relevant terms are deleted from the user knowledge profile at step 374 . The method is then terminates at step 378 .
- the methodologies described above with reference to FIGS. 15 through 17E are advantageous in that, where the confidence level of a term falls below a predetermined threshold, the owner of the user knowledge profile may elect to be involved in the process of determining whether a query hit is accurate or inaccurate.
- the owner of the user knowledge profile is also afforded the opportunity to update and modify his or her knowledge profile as and when needed. Further, the owner of the user knowledge profile is only engaged in the process for hits below a predetermined certainty level and on a public portion of the knowledge profile. Matches between document terms and knowledge terms in the public portion are automatically processed, without any manual involvement.
- the addressing system 84 within the e-mail client extensions 19 operates independently of the profiling system 82 to suggest potential recipients for an e-mail message based on the content thereof.
- the user interface 80 within the e-mail client extensions 19 may pop-up a window when the system determines such suggestion is possible, based on the length of a draft message being sent, or may present a command button labeled “Suggest Recipients”.
- This button is user selectable to initiate a sequence of operations whereby the author of the e-mail is presented with a list of potential recipients who may be interested in receiving the e-mail based on predetermined criteria, such as a match between the content of the e-mail and a user profile, or a commonality with a confirmed addressee.
- FIG. 18A is a flow chart illustrating a method 400 , according to an exemplary embodiment of the present invention, of addressing an electronic document, such as an e-mail, for transmission over a network, such as the Internet or an Intranet.
- the method 400 commences at step 402 , and then proceeds to step 401 , where a determination is made as to whether the body of the draft message exceeds a predetermined length (or number of words). If so, content of the electronic document (e.g., an e-mail message body) is transmitted to the knowledge access server 26 via the web server 20 at step 404 .
- a predetermined length or number of words
- a socket connection is open between the e-mail client 18 and the web server 20 , and the content of the message body, which may still be in draft form, is transmitted using the Hypertext Transfer Protocol (HTTP) via the web server 20 to the knowledge access server 26 .
- HTTP Hypertext Transfer Protocol
- the knowledge access server 26 processes the message body, as will be described in further detail below.
- the knowledge access server 26 transmits a potential or proposed recipient list and associated information to the addressing system 84 of the e-mail client 18 .
- the information transmitted to the e-mail client 18 may include the following:
- Each “matching metric” comprises the sum of the confidence level values, each multiplied by the weighted occurrences of the term within the message body, for the terms identified by the list of term identifiers (2) and associated with the relevant user.
- This “matching metric” is indicative of the strength of the recommendation by the knowledge access server 26 that the relevant user (i.e., potential recipient) be included within the list of confirmed addressees.
- the author of the electronic document is presented with a list of potential recipients by the e-mail client 18 , and specifically by the addressing system 84 via a user dialog 440 as shown in FIG. 18D.
- FIG. 18D groups matching levels into matching classes each characterized by a visual representation (icon).
- the user dialog 440 shown in FIG. 18D presents the list of potential recipients in a “potential recipients” scrolling window 442 , wherein the names of potential recipients are grouped into levels or ranked classes according to the strength of the matching metric.
- An icon is also associated with each user name, and provides an indication of the strength of the recommendation of the relevant potential recipients.
- a fully shaded circle may indicate a high recommendation, with various degrees of “blackening” or darkening of a circle indicating lesser degrees of recommendation.
- a “rejection” icon may be associated with an actual recipient, and an example of such a “rejection” icon is indicated at 441 .
- the “rejection” icon indicates a negative recommendation on an actual recipient supplied by the author of the message, and may be provided in response to a user manually modifying his or her profile to designate certain terms therein as generating such a “rejection” status for a recipient against which a hit occurs.
- the user dialog 440 also presents a list of actual (or confirmed) recipients in three windows, namely a “to:” window 442 , a “cc:” window 444 and a “bcc:” window 446 .
- An inquiring user may move recipients between the potential recipients list and the actual recipients lists utilizing the “Add” and “Remove” buttons indicated at 450 .
- the user dialog 440 also includes an array of “select” buttons 452 , utilizing which a user can determine the recommendation group to be displayed within the scrolling window 442 .
- the user dialog 440 finally also includes “Explained Match” and “More” buttons 454 and 456 , the purposes of which is elaborated upon below. As shown in FIG.
- the author user may select an “Explain” function for any of the proposed recipients utilizing the “Explain Match” button 454 . If it is determined at decision box 412 that this “Explain” function has been selected, the method 400 branches to step 414 , as illustrated in FIG. 18B. Specifically at step 414 , the addressing system 84 propagates a further “Explain” query to the knowledge access server 26 utilizing HTTP, and opens a browser window within which to display the results of the query. At step 416 , the knowledge access server 26 retrieves the terms (i.e., the knowledge terms) that constituted the basis for the match, as well as associated confidence level values. This information is retrieved from the public portion of the relevant user knowledge profile in the knowledge repository 50 .
- the terms i.e., the knowledge terms
- the information retrieved at step 416 is propagated to the client 18 from the knowledge access server 26 via the web server 20 .
- the information is then displayed within the browser window opened by the e-mail client 18 at step 414 . Accordingly, the author user is thus able to ascertain the reason for the proposal of a potential recipient by the addressing system 84 , and to make a more informed decision as to whether the proposed recipient should be included within the actual recipients (confirmed addressee) list.
- the user also has the option of initiating a “More” function by selecting the “More” button 456 on the user dialog 440 , this function serving to provide the user with additional proposed recipients. Accordingly, a determination is made at step 422 as to whether the “More” function has been selected by the author user. If so, the method 400 branches to step 424 as shown in FIG. 18C, where the client 18 propagates a “More” request to the knowledge access server 20 in the same manner as the “Explain” query was propagated to the knowledge access server at step 414 .
- the knowledge access server 26 identifies further potential recipients, for example, by using a threshold value for the “matching metric” that is lower than a threshold value utilized as a cutoff during the initial information retrieval operation performed at steps 406 and 408 .
- the knowledge access server 26 then transmits the list of further potential recipients, and associated information, to the e-mail client 18 .
- the list of additional potential recipients is presented to the author user for selection in descending order according to the “matching metric” associated with each of the potential recipients.
- the user then adds at his or her option, or deletes selected potential or “rejected” recipients to the list of actual recipients identified in “to:”, “cc:” or “bcc:” lists of the e-mail, thus altering the status of the potential recipients to actual recipients.
- the e-mail message is then transmitted to the confirmed addressees.
- the user profile includes a “rejection” status on a term (something a user can do through manual modification of the profile), then a special symbol, such as that indicated 441 in FIG. 18D, may be returned indicating a negative recommendation on a recipient supplied by the author of the message.
- the exemplary method 400 discussed above is advantageous in that the knowledge access server 26 automatically provides the author user with a list of potential addressees, based on a matching between document terms identified within the message body of an e-mail and knowledge terms included within user profiles.
- FIG. 19 is a flow chart illustrating a method 500 , according to one exemplary embodiment of the present invention, of managing user authorization to publish, or permit access to, a user knowledge profile.
- the method 500 is executed by the case controller 45 A that tracks open “cases” and initiates notification to users concerning the status of such cases.
- the term “case” may be taken to refer to a user authorization process for publication of, or access to, a user knowledge profile.
- the method 500 commences at step 502 , and then proceeds to step 504 , where a match is detected with a private portion of a user knowledge profile.
- the case controller 45 A then opens a case, and notifies the target user at step 506 concerning the “hits” or matches between a document (or query) term and a knowledge term in a knowledge user profile. This notification may be by way of an e-mail message, or by way of publication of information on a Web page accessed by the user.
- the case controller 45 A determines whether an expiration date, by which the target user is required to respond to the hit, has been reached or in fact passed. If the expiration date has passed, the case controller 45 A closes the case and the method 500 terminates.
- an inquiring user e.g., the author user of an e-mail or a user performing a manual database search to locate an expert
- the notification of the inquiring user at steps 512 or 514 may be performed by transmitting an e-mail to the inquiring user, or by providing a suitable indication on a web page (e.g., a home page or search/query web page) accessed by the inquiring user.
- a web page e.g., a home page or search/query web page
- the appropriate portions of the user profile pertaining to the target user are published to the inquiring user, or the inquiring user is otherwise permitted access to the user profile.
- the case controller 45 A then closes the case, whereafter the method terminates.
- FIGS. 7 - 9 describe an exemplary method 140 of identifying knowledge terms and calculating associated confidence level values.
- a supplemental method 550 according to an exemplary embodiment of the present invention, of assigning a confidence value to a term will now be described with reference to FIGS. 20 - 22 .
- the supplemental method 550 seeks to compensate for a low confidence level value which may be associated with the term as a result of the term not appearing in any recent documents associated with a user. It will be appreciated that by calculating a confidence level value utilizing the method illustrated in FIG. 9, aged terms (i.e., terms which have not appeared in recent documents) may be attributed a low confidence level value even though they may be highly descriptive of a specialization or knowledge of a user. The situation may occur where a user is particularly active with respect to a particular topic for a short period of time, and then re-focuses attention on another topic. Over time, the methodology illustrated in FIG. 9 may too rapidly lower the confidence level values associated with terms indicating user knowledge.
- the exemplary method 550 of assigning a confidence value to a term commences at step 552 , whereafter an initial confidence memory value (as distinct from a confidence level value) is assigned a zero (0) value.
- a confidence level value for a term is calculated utilizing, for example, the method 154 illustrates in FIG. 9. However, this confidence level value is only calculated for occurrences of the relevant term within a particular time or document window.
- the adjusted count values for only documents received within a predetermined time e.g., the past 30 days
- a predetermined number of documents e.g., the last 30 documents
- FIG. 22 is an exemplary user-term table 112 , according to one embodiment of the present invention, that is shown to include a confidence level column 118 , a confidence memory value column 121 , and a time stamp column 123 .
- the table 122 records a confidence level value and a confidence memory value for each user-term pairing within the table 112 , and it is to this table that the confidence level values and the confidence memory values are written by the method 550 .
- the time stamp column 123 records a date and time stamp value indicative of the date and time at which the corresponding confidence memory value was last updated. This value will accordingly be updated upon the overwriting of the confidence memory value at step 560 .
- the method 550 then proceeds to decision box 562 , where a further determination is made as to whether another time or document window, associated with a step of decaying the confidence memory value, has expired. If not, the confidence memory value is left unchanged at step 564 . Alternatively, if the time or document window associated with the decay step has expired, the confidence memory value is decayed by a predetermined value or percentage at step 566 . For example, the confidence memory value may be decayed by five (5) percent per month. The time stamp value may be utilized to determine the window associated with the decay step. The time stamp value associated with the decayed confidence memory value is also updated at step 566 . The method 550 then terminates at step 568 .
- FIG. 21 is a flowchart illustrating an exemplary method 570 , according to one embodiment of the present invention, of determining or identifying a confidence value (e.g., either a confidence level value or a confidence memory value) for a term.
- the method 570 may be executed in performance of any of the steps described in the preceding flow charts that require the identification of a confidence level value for a term in response to a hit on the term by a document term (e.g., in an electronic document or other query).
- the method 570 commences at step 572 , and proceeds to step 574 , where a confidence level value for a term within a user profile is identified.
- the confidence level value may be identified within be user-term table 112 illustrated in FIG. 22.
- a confidence memory value for the term may then also be identified, again by referencing the user-term table 112 illustrated in FIG. 22.
- a determination is then made as to whether the confidence level value is greater than the confidence memory value. If the confidence level value is greater than the confidence memory value, the confidence level value is returned, at step 580 , as the confidence value. Alternatively, should the confidence memory value be greater than the confidence level value, the confidence memory value is returned, at step 582 , as the confidence value.
- the method 570 then terminates at step 584 .
- the present invention seeks to prevent having a potentially relevant term ignored or overlooked.
- FIG. 23 is a diagrammatic representation of a machine in the form of computer system 600 within which software, in the form of a series of machine-readable instructions, for performing any one of the methods discussed above may be executed.
- the computer system 600 includes a processor 602 , a main memory 603 and a static memory 604 , which communicate via a bus 606 .
- the computer system 600 is further shown to include a video display unit 608 (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)).
- the computer system 600 also includes an alphanumeric input device 610 (e.g., a keyboard), a cursor control device 612 (e.g.
- the disk drive unit 614 accommodates a machine-readable medium 615 on which software 620 embodying any one of the methods described above is stored.
- the software 620 is shown to also reside, completely or at least partially, within the main memory 603 and/or within the processor 602 .
- the software 620 may furthermore be transmitted or received by the network interface device 618 .
- machine-readable medium shall be taken to include any medium that is capable of storing or encoding a sequence of instructions for execution by a machine, such as the computer system 600 , and that causes the machine to performing the methods of the present invention.
- machine-readable medium shall be taken to include, but not be limited to, solid-state memories, optical and magnetic disks, and carrier wave signals.
- FIG. 24 is a block diagram illustrating a knowledge management system 10 , according to an alternative embodiment of the present invention, that corresponds substantially to that illustrated in FIG. 1.
- the knowledge management system 10 is shown to include a dedicated knowledge management client 700 that communicates with the web server 20 , or directly with the knowledge site management server 27 , to facilitate knowledge management activities by a user.
- the knowledge management client 700 may be utilized by a user to query the knowledge site management server 27 with a view to identifying the profiles of other users and entities that match specified criteria.
- a user may also access, modify and maintain his or her profile, as maintained by the knowledge site 27 , utilizing the knowledge management client 700 .
- FIG. 25 is a flowchart illustrating a method 800 , according to an exemplary embodiment of the present invention, of constructing a profile comprising terms indicative of a characteristic of an entity associated with the profile.
- the method 800 commences at step 802 , where an interactive user sends an electronic document to a “mailbox” for a third party.
- the interactive user may send the electronic document from the knowledge management client 700 , from a browser client 16 , or from an e-mail client 18 .
- the electronic document may comprise an electronic mail message, an attachment to such an electronic mail message, or any other document in electronic form.
- the term “electronic document” shall also be deemed to encompass the terms of a search query, or any string of characters in electronic form.
- the mailbox of the third party to which the electronic document is sent may be identified by an e-mail address that is known to the interactive user, that is presented to the interactive user via a graphical user interface, or that is identified by the e-mail server 23 from identity information associated with electronic document. It may be that the electronic document submitted by the interactive user at step 802 is the first submission of an electronic document to be utilized in the construction of a profile for the specific entity. In such a case, a mailbox for the third party may not as yet the existence. Nonetheless, in this case, the interactive user provides identity information that may be utilized to construct a mailbox. For example, the interactive user may specify a new e-mail address that is not as yet recorded within the knowledge server 22 .
- the e-mail server 23 determines whether a mailbox exists for the relevant third party. Following decision box 806 , should no mailbox exist for the third party, a determination is made at decision box 808 as to whether automatic third party profile creation has been enabled by a system administrator. If not, at step 810 , a message to this effect is sent to the interactive user who originated the transmission of the electronic document. Alternatively, following a positive determination at decision box 808 , at step 812 , a mailbox is automatically created by the knowledge site management server 27 for the third party, and this information is communicated to the e-mail server 23 . Further, a user record for the third party is created in the user table 90 . Reference is now made to FIG.
- a record for a third party within the user table indicates the third party as being a “non-interactive” user. Accordingly, the third party is, as a default condition, not permitted to interact with the profile created for the third party. However, a systems administrator may modify the status of the record for the relevant third party to enable the third party to participate within the knowledge management system as an interactive user.
- step 806 if a mailbox already exists for the third party (e.g., the third party is already registered and recorded as interactive user within the knowledge management system), the method 800 proceeds directly to step 814 .
- the method 800 also proceeds to step 814 following completion of step 812 .
- the knowledge site management server 27 parses the received electronic document to identify profile terms therein. This parsing is performed, in one exemplary embodiment, according to the method described above with reference to FIG. 8.
- a confidence level is calculated and assigned to the identified profile terms within the context of the electronic document. This may be done in the manner described above with reference to FIG. 9A.
- the identified profile terms are recorded in the term table 100 , as illustrated in FIG. 26, and a user-term binding record for each profile term and the third party is created within the user-term table 112 . If a relevant user-term binding record for a profile term and the third party already exists within the user-term table 112 , then the confidence level assigned to the binding may be adjusted at step 818 .
- a user-term binding record may be allocated to either the public or private portion of the user profile of the third entity, depending on the confidence level assigned to the relevant binding.
- the confidence level in the case of terms extracted from an electronic document submitted by third party, may in one embodiment be subject to slightly modified confidence level determining algorithms. For example, a predetermined threshold number of occurrences of a profile term across all documents received from third parties may be required before a non-owner submitted profile term is advanced from the private portion of a profile to the public portion thereof.
- the knowledge site management 727 may then mark the user-term binding record within the user-term table 112 as being either owner submitted or non-owner submitted.
- the user-term table 112 is shown to include an “owner-submitted” column 113 within which the source of the term may be recorded as being either the user identified by the user ID within the user ID column 114 or as being another user.
- an “owner-submitted” column 113 within which the source of the term may be recorded as being either the user identified by the user ID within the user ID column 114 or as being another user.
- a user-term binding record entered into the user-term table 112 for a term extracted from an electronic document submitted by the owner-user will be marked as being owner-submitted, and thus distinguishable from binding records for non-owner submitted profile terms.
- the method 800 then terminates at step 822 .
- a first member of a particular organization may submit documents that are believed to provide profile information regarding a second member to a mailbox dedicated to receiving documents for profiling the second member.
- the second member would typically be an interactive user of the knowledge management system, and thus able to control and edit his or her profile.
- FIG. 27 is a flowchart illustrating a method 900 , according to an exemplary embodiment of the present invention, of displaying profile information of a computer display device (e.g., a cathode ray tube (CTR) or a liquid crystal display (LCD)).
- the method 900 may be performed by the knowledge management client 700 , a browser client 16 , or an e-mail client 18 responsive to input (e.g., an HTML document) received from the Web server 20 or the e-mail server 23 .
- input e.g., an HTML document
- the method 900 commences at step 902 , where a profile to be displayed is access by the knowledge site management server 27 .
- a user-term table 112 and a term table 100 may be accessed with a view to displaying terms of the user profile for a first entity against which a match occurred during the processing of a query.
- the access to the profile may be performed responsive to a request from a user to modify his or her profile.
- step 906 a determination is made with respect to each term, identified as belonging to a particular profile according to the user-term table 122 , regarding whether relevant binding record indicates the term (in the context of the profile) as being non-owner submitted. If the term is identified as having been submitted to the profile by a non-owner of the profile, the method 900 proceeds to step 908 , where the display by a client of the profile term is distinguished by a graphic characteristic. For example, a grey icon may be displayed adjacent the relevant term to indicate the non-owner submitted nature thereof.
- step 910 the display by a client of the profile term may also be distinguished by a different graphic characteristic. For example, a color icon may be displayed adjacent to the relevant term to indicate the owner-submitted nature thereof.
- the method 900 provides a convenient and user-friendly manner in terms of which a user, viewing profile information presented to the viewer as a result, for example, of a query against a knowledge profile database, is able visually to distinguish between profile terms that have been owner-submitted and those that are not owner-submitted.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Description
- This application is a continuation-in-part of U.S. application Ser. No. 09/156,468, filed Sep. 18, 1998.
- The present invention relates generally to the field of knowledge management and, more specifically, to a method and apparatus for constructing a user knowledge profile within a database.
- The new field of “knowledge management” (KM) is receiving increasing recognition as the gains to be realized from the systematic effort to store and export vast knowledge resources held by employees of an organization are being recognized. The sharing of knowledge broadly within an organization offers numerous potential benefits to an organization through the awareness and reuse of existing knowledge, and the avoidance of duplicate efforts.
- In order to maximize the exploitation of knowledge resources within an organization, a knowledge management system may be presented with two primary challenges, namely (1) the identification of knowledge within the organization and (2) the distribution and accessing of information regarding such knowledge resources within the organization.
- The identification, capture, organization and storage of knowledge resources is a particularly taxing problem. Prior art knowledge management systems have typically implemented knowledge repositories that require users manually to input information frequently into pre-defined fields, and in this way manually and in a prompted manner to reveal their personal knowledge base. However, this approach suffers from a number of drawbacks in that the manual entering of such information is time consuming and often incomplete, and therefore places a burden on users who then experience the inconvenience and cost of a corporate knowledge management initiative long before any direct benefit is experienced. Furthermore, users may not be motivated to describe their own knowledge and to contribute documents on an ongoing basis that would subsequently be re-used by others without their awareness or consent. The manual input of such information places a burden on users who then experience the inconvenience and cost of a corporate knowledge management initiative long before any direct benefit is experienced.
- It has been the experience of many corporations that knowledge management systems, after some initial success, may fail because either compliance (i.e., the thoroughness and continuity with which each user contributes knowledge) or participation (i.e., the percentage of users actively contributing to the knowledge management system) falls to inadequate levels. Without high compliance and participation, it becomes a practical impossibility to maintain a sufficiently current and complete inventory of the knowledge of all users. Under these circumstances, the knowledge management effort may never offer an attractive relationship of benefits to costs for the organization as a whole, reach a critical mass, and the original benefit of knowledge management falls apart or is marginalized to a small group.
- In order to address the problems associated with the manual input of knowledge information, more sophisticated prior art knowledge management initiatives may presume the existence of a centralized staff to work with users to capture knowledge bases. This may however increase the ongoing cost of knowledge management and requires a larger up-front investment before any visible payoff, thus deterring the initial funding of many an otherwise promising knowledge management initiatives. Even if an initial decision is made to proceed with such a sophisticated knowledge management initiative, the cash expenses associated with a large centralized knowledge capture staff may be liable to come under attack, given the difficulty of quantifying knowledge management benefits in dollar terms.
- As alluded to above, even once a satisfactory knowledge management information base has been established, the practical utilization thereof to achieve maximum potential benefit may be challenging. Specifically, ensuring that the captured information is readily organized, available and accessible as appropriate throughout the organization may be problematic.
- According to a first aspect of the present invention, there is provided a method of constructing a profile comprising terms indicative of a characteristic of an entity. A first electronic mail address, associated with a first entity, is created. A first electronic document is received via an electronic communications network at the first electronic mail address from a second entity. The first electronic document is parsed to identify a first profile term therein. The first profile term is included within a first profile for the first entity.
- According to a second aspect of the present invention, there is provided a method of displaying profile information on a computer display device. A first profile term, included within a profile for a first entity as a result of a submission to the profile from the first entity, is displayed on the computer display device. A second profile term, included within the profile for the first entity has a result of a submission to the profile from a second entity, is displayed on the computer display device. The display of the first profile term is visually distinct from the display of the second profile term so as to indicate that the second profile term is included within the profile for the first entity as a result of the submission from the second entity and not from the first entity.
- Other features of the present invention will be apparent from the accompanying drawings and from the detailed description that follows.
- The present invention is illustrated by way of example and not limitation in the figures of the accompanying drawings, in which like references indicate similar elements and in which:
- FIG. 1 is a block diagram illustrating a knowledge management system, according to an exemplary embodiment of the present invention.
- FIG. 2 is a block diagram illustrating a knowledge site management server, according to an exemplary embodiment of the present invention.
- FIG. 3 is a block diagram illustrating a knowledge access server, according to an exemplary embodiment of the present invention.
- FIG. 4 is a block diagram illustrating a knowledge converter, according to an exemplary embodiment of the present invention.
- FIG. 5 is a block diagram illustrating a client software program, and an e-mail message generated thereby, according to an exemplary embodiment of the present invention.
- FIG. 6 is a block diagram illustrating the structure of a knowledge repository, according to an exemplary embodiment of the present invention, as constructed from the data contained in a repository database and a user database.
- FIG. 7 is a flowchart illustrating a method, according to an exemplary embodiment of the present invention, of constructing a user knowledge profile.
- FIG. 8 is a flowchart illustrating a high-level method, according to an exemplary embodiment of the present invention, by which terms may be extracted from an electronic document and by which confidence level values may be assigned to such terms.
- FIG. 9A is a flowchart illustrating a method, according to exemplary embodiment of the present invention, of determining a confidence level for a term extracted from an electronic document.
- FIG. 9B is a flowchart illustrating a method, according to exemplary embodiment of the present invention, by which a document weight value may be assigned to a document based on addressee information associated with the document.
- FIG. 10 illustrates a term-document binding table, according to an exemplary embodiment of the present invention.
- FIG. 11 illustrates a weight table, according to an exemplary embodiment of the present invention.
- FIG. 12 illustrates an occurrence factor table, according to an exemplary embodiment of the present invention.
- FIG. 13 illustrates a confidence level table, including initial confidence level values, according to an exemplary embodiment of the present invention.
- FIG. 14 illustrates a modified confidence level table, including modified confidence level values, according to an exemplary embodiment of the present invention.
- FIG. 15A is a flowchart illustrating a method, according to an exemplary embodiment of the present invention, of constructing a user knowledge profile that includes first and second portions.
- FIG. 15B is a flowchart illustrating a method, according to an exemplary embodiment of the present invention, of storing a term in either a first or a second portion of a user knowledge profile.
- FIG. 16A illustrates a user-term table, constructed according to the exemplary method illustrated in FIG. 15A.
- FIG. 16B illustrates a user-term table, constructed according to the exemplary method illustrated in FIG. 15A.
- FIG. 17A is a flowchart illustrating a method, according to an exemplary embodiment of the present invention, of facilitating access to a user knowledge profile.
- FIG. 17B is a flowchart illustrating an alternative method, according to exemplary embodiment of the present invention, of facilitating access to a user knowledge profile.
- FIG. 17C is a flowchart illustrating a method, according to exemplary embodiment of the present invention, of performing a public profile process.
- FIG. 17D is a flowchart illustrating a method, according to an exemplary embodiment of the present invention, of performing a private profile process.
- FIG. 17E is a flowchart illustrating a method, according to an exemplary embodiment of the present invention, of performing a profile modification process.
- FIG. 18A is a flowchart illustrating a method, according to an exemplary embodiment of the present invention, of addressing an electronic document for transmission over a computer network.
- FIG. 18B is a flowchart illustrating a method, according to an exemplary embodiment of the present invention, of executing an “explain” function that provides the reasons for the proposal of an e-mail recipient.
- FIG. 18C is a flowchart illustrating a method, according to an exemplary embodiment of the present invention, of executing a “more” function that proposes further potential recipients for an e-mail message.
- FIG. 18D illustrates a user dialog, according to an exemplary embodiment of the present invention, through which a list of potential recipients is displayed to an addressor of an e-mail message.
- FIG. 19 is a flowchart illustrating a method, according to an exemplary embodiment of the present invention, of managing user authorization to publish, or permit access to, a user knowledge profile.
- FIG. 20 is a flowchart illustrating a method, according to an exemplary embodiment of the present invention, of assigning a confidence value, either in the form of a confidence level value or a confidence memory value, to a term.
- FIG. 21 is a flowchart illustrating a method, according to an exemplary embodiment of the present invention, of determining or identifying a confidence value, either in the form of a confidence level value or a confidence memory value, for a term.
- FIG. 22 illustrates a user-term table, according to an exemplary embodiment of the present invention, that is shown to include a confidence level value column, a confidence memory value column and a time stamp column.
- FIG. 23 is a block diagram illustrating a machine, according to one exemplary embodiment, within which software in the form of a series of machine-readable instructions, for performing any one of the methods discussed above, may be executed.
- A method and apparatus for constructing a user knowledge profile are described. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the present invention. It will be evident, however, to one skilled in the art that the present invention may be practiced without these specific details.
- With a view to addressing the above described difficulties associated with manual knowledge capture either by a profile owner or by a dedicated staff, there is provided a method and apparatus for capturing knowledge automatically, without excessive invasion or disruption of normal work patterns of participating users. Further, the present specification teaches a method and apparatus whereby a database of captured knowledge information is maintained continuously and automatically, without requiring that captured knowledge information necessarily be visible or accessible to others. The present specification also teaches facilitating the user input and modification of a knowledge profile associated with the user in a knowledge database at the user's discretion.
- The present specification teaches a method and apparatus for intercepting electronic documents, such as for example e-mail messages, originated by a user, and extracting terms therefrom that are potentially indicative of a knowledge base of the originating user. The extracted knowledge terms may then be utilized to construct a user knowledge profile. The grammatical structure, length, frequency and density with which the extracted knowledge terms occur within electronic documents originated by a user, and prior history of use of the extracted knowledge terms within an organization may furthermore be utilized to attach a metric, in the form of a confidence level value, to the relevant knowledge terms for the purpose of grouping, ranking, and prioritizing such knowledge terms. Knowledge terms may furthermore be stored in either a private or public portion of the user knowledge profile, depending upon the confidence level values thereof.
- It will be appreciated that the large volume of e-mail messages traversing an e-mail system over a period of time will contain a large number of terms that may be irrelevant to the identification of the knowledge base of a user. With a view to determining which terms are truly indicative of a knowledge base, a number of rules (or algorithms) may be exercised with respect to extracted terms to identify terms that are candidates for inclusion within a public portion of the user knowledge profile. Further rules (or algorithms) may be applied to an assembled knowledge profile for the purpose of continually organizing and refining the profile.
- Corporate e-mail systems have become increasingly pervasive, and have become an accepted medium for idea communication within corporations. Accordingly, the content of e-mail messages flowing within a large organization amounts to a vast information resources that, over the course of time, may directly or indirectly identify knowledge bases held by individuals within the organization.
- The present specification also teaches addressing privacy concerns associated with the examination of e-mail messages for the above purposes by providing users with the option selectively to submit originated e-mail messages for examination, or alternatively to bypass the examination and extraction system of the present invention.
- There is also taught a computer-implemented method and apparatus for addressing an electronic document, such as an e-mail message, for transmission over a computer network. The e-mail message may be examined to identify terms therein. The identified terms are then compared to a number of user knowledge profiles with a view to detecting a predetermined degree of correspondence between the identified terms and any one or more of the user knowledge profiles. In the event that a predetermined degree of correspondence is detected, the sender of the electronic document is prompted to the either accept or decline the proposed recipient as an actual recipient of the electronic document, after first being offered an opportunity to inspect the specific basis of the correspondence between the identified terms and the proposed recipients. The e-mail message may also be parsed to extract recipients entered manually by the user. The degree of correspondence between the knowledge profiles of the manually entered recipients and the identified terms of the message is then optionally used as the basis of recommendations to the user that certain manually entered recipients be dropped from the ultimate list of recipients.
- This aspect of the present teachings is advantageous in that a sender of an e-mail message is presented with a list of proposed recipients, identified according to their knowledge profiles and the content of the e-mail message, who may be interested in receiving the e-mail message. Accordingly, the problems of over-distribution and under-distribution of e-mail messages that may be encountered within an organization may be reduced. Specifically, in the over-distribution situation, many users are frequently copied on e-mail messages, resulting in lost productivity as the users struggle to cope with increasing volumes of daily e-mail. Further, when the time available to read e-mail messages becomes restricted, users typically begin to defer reading of e-mail messages, and communication efficiency within the organization may be adversely affected. In the under-distribution situation, it may occur that the proper recipients of the message are not included in the distribution list, and accordingly fall “out of the loop”.
- There is also taught a method of facilitating a user profile query or look-up wherein, in response to a match between a query and a user profile, the owner of the user profile may be prompted for authorization to publish all (or a portion) of the user profile to the originator of the query or to others generally. This is advantageous in that it addresses the above mentioned privacy concerns by treating the knowledge profile as a confidential resource under the control of the user. The user is thus also able to control the timing, circumstances and extent to which it is made accessible to others. A further advantage is that the user is prompted for input specifically to satisfy specific, pending requests of others. This relieves the user of the need to remember to modify his or her profile on a regular basis and the need to make decisions concerning the composition of the profile prospectively, prior to any actual use of the profile by others. In this manner the user saves time and effort, since the determination that manual interaction with the profile is necessary is a function of the present system, not a responsibility of the user.
- There is also taught a method of assigning a confidence level value to a term within an electronic document. This confidence level value is based on a first quantitative indicator, derived from the number of occurrences of the term within the electronic document, and a second characteristic indicator, derived utilizing the characteristic of the term.
- For the purposes of the present application, the word “term” shall be taken to include any acronym, word, collection of words, phrase, sentence, or paragraph. The term “confidence level” shall be taken to mean any indication, numeric or otherwise, of a level within a predetermined range.
- FIG. 1 is a block diagram illustrating a
knowledge management system 10, according to an exemplary embodiment of the present invention. Thesystem 10 may conveniently be viewed as comprising aclient system 12 and aserver system 14. Theclient system 12 may comprise one or more clients, such asbrowser clients 16 ande-mail clients 18, that are resident on terminals or computers coupled to a computer network. In one exemplary embodiment, each of thebrowser clients 16 may comprise the Internet Explorer client developed by Microsoft Corp. of Redmond, Wash., or the Netscape Navigator client developed by Netscape Communications of Menlo Park, Calif. Each of thee-mail clients 18 may further comprise the Outlook Express, Outlook 97,Outlook 98 or Netscape Communicator e-mail programs. As will be described in further detail below, the browser ande-mail clients 16 are complemented byextensions 19, that enable thee-mail clients 18 to send an electronic message (e.g., either an e-mail or HTML document) to aknowledge server 22 implemented on theserver side 14 of thesystem 10. As shown in FIG. 1, theextensions 19 may be integral with ane-mail client 18, or external to theclient 18 and in communication therewith. Theclients knowledge server 22, while allowing a user specifically to designate a communication not suitable for transmission to theknowledge server 22. The user designation may be facilitated through controls that are installed as software modules which interact with or modify ane-mail client 18, and which cause messages to be copied to a special e-mail address (e.g., a Knowledge Server (KS)mailbox 25 maintained by a e-mail server 23) associated with a knowledge server component. In the case where aclient extension 19 for performing this automatic transmission is not available, the user can manually add the e-mail address of theKS mailbox 25 to the list of recipients for the message. Further details in this regard are provided below. Files embedded within an e-mail message, such as attachments, may also be selectively included or excluded from the capture process and may also be selectively included or excluded from retention in a knowledge repository. - The
browser clients 16 are used as an additional means to submit documents to theknowledge server 22 at the discretion of a user. Thebrowser client 16 is used to access aninterface application 34, maintained on aweb server 20, which transmits documents to theknowledge server 22. - In alternate embodiments, a client may also propagate a list of bookmarks, folders or directories to the
knowledge server 22 for the purpose of user knowledge profile construction. - The
server side 14 of thesystem 10 includes theweb server 20, thee-mail server 23 and theknowledge server 22. Theweb server 20 may be any commercially available web server program such as Internet Information Server (IIS) from Microsoft Corporation, the Netscape Enterprise Server, or the Apache Server for UNIX. Theweb server 20 includes theinterface application 34 for interfacing with theknowledge server 22. Theweb server 20 may run on a single machine that also hosts theknowledge server 22, or may alternatively run along with theinterface application 34 on a dedicated web server computer. Theweb server 20 may also be a group of web server programs running on a group of computers to thus enhance the scalability of thesystem 10. As theweb server 20 facilitates access to a local view of aknowledge repository 50, maintained by theknowledge access server 26, by thebrowser clients 16, the webserver interface application 34 implements knowledge application interfaces, knowledge management interfaces, user profile creation and maintenance interfaces, and a server management interface. Theweb server 20 also facilitates knowledge profile queries, e-mail addressing to ane-mail client 18, and any other access to theknowledge server 22 using the standard HTTP (web) protocol. - The
knowledge server 22 includes a knowledge site management server (KSMS) 27 and the knowledge access server (KAS) 26. Theknowledge server access 26 includes an interface that provides a local view of aknowledge repository 50, which is physically stored in theuser database 56A and arepository database 56B. The knowledgesite management server 27 is shown to have access to the local view of theknowledge repository 50 maintained by theknowledge access server 26. The illustrated components of theknowledge server 22 are collectively responsible for the capture (termed “knowledge discovery”) of terms indicative of a user knowledge base and for the distribution of user knowledge profile information. Knowledge discovery may be done by the examination and processing of electronic documents, such as e-mail messages, which may be propagated to thee-mail server 23 from ane-mail client 18 via the Simple Mail Transfer Protocol (SMTP), as shown at 32. Alternatively, knowledge discovery may be implemented by the examination of submissions from abrowser client 16 via theweb server 20. - The
knowledge server 22 includes theknowledge access server 26 and the knowledgesite management server 27 as two separate and distinct server systems in view of the divergent functions provided by theservers site management server 27 functions primarily to manage non-interactive processing (e.g., the extraction of knowledge from inbound e-mail messages), to manage theuser information database 56A, and to implement various centralized system management processes. The knowledgesite management server 27 does not communicate interactively withclients 18, or withclients 16 except for administrative functions. Theknowledge access server 26, on the other hand, functions primarily to respond to queries and updates from users submitted via clients, typicallybrowser clients 16. Multiple instances of aknowledge access server 26 may be required to support a large corporate environment and to provide appropriate scalability; however only one knowledgesite management server 27, oneuser database 56A, and onerepository database 56B typically exist in a working system. In small scale environments, theweb server 20,knowledge access server 26, and knowledgesite management server 27, and even thee-mail server 23, may all optionally be deployed on the same physical computer. - FIG. 2 is a block diagram illustrating an exemplary embodiment, according to the present invention, of the knowledge
site management server 27. Theserver 27 is shown to include a socket front-end 40 to facilitate communication with theweb server 20 for administrative requests, arequest handler 44, aknowledge gathering system 28, aknowledge converter 24, and a variety ofspecialized controller modules 45A-45C. Therequest handler 44, upon receiving a request from theweb server 20 via theinterface application 34 and socket front-end 40, starts a session to process the request such as, for example, a request by an authorized systems administrator to configure the behavior of theknowledge gathering system 28. - The
knowledge gathering system 28 is shown in FIG. 2 to include anextraction controller 47, amail system interface 42, and aterm extractor 46 includingconfidence logic 45. Theextraction controller 47 commands themail system interface 42 to retrieve messages submitted by thee-mail client extensions 19 to theKS mailbox 25 on thee-mail server 23 for the purpose of extraction and processing. Theextraction controller 47 can request this continuously or periodically on a scheduled basis, so that messages can be processed at a convenient time when computing resources are lightly loaded, for example, overnight. Themail system interface 42 retrieves e-mail messages from thee-mail server 23 using the Simple Mail Transfer Protocol (SMTP), Post Office Protocol 3 (POP3), or Internet Message Access Protocol 4 (IMAP4) protocols. Themail system interface 42 propagates electronic documents directly to aterm extractor 46, includingconfidence logic 45, that operates to convert electronic documents into per-user knowledge profiles that are stored in aknowledge repository 50. Theterm extractor 46 may include any commercially available term extraction engine (such as “NPTOOL” from LingSoft Inc. of Helsinki, Finland, or “Themes” from Software Scientific) that analyzes the electronic document, recognizes noun phrases in the document, and converts such phrases to a canonical form for subsequent use by theconfidence logic 45 as candidate terms in a knowledge profile. - The
term extractor 46 performs a variety of the steps when parsing and decoding an electronic document, such as interpreting any special attributes or settings encoded into the header of the message of thee-mail client 18, resolving the e-mail addresses of recipients against either the built-in user database or an external user database, preprocessing the electronic document, extracting noun-phrases from the text as candidates for knowledge terms, processing these knowledge terms, and storing summary information about the document and extraction process in thedatabases term extractor 46 further detects and strips out non-original texts, attachments and in some cases the entire electronic document based on the document not meeting predetermined minimum criteria. Further details regarding the exact procedures implemented by theterm extractor 46 will be provided below. Once theterm extractor 46 has extracted the knowledge terms, theknowledge repository 50 is updated. Specifically, new terms are added, and repetitions of known terms are used to update theknowledge repository 50. - The
knowledge repository 50 is defined by a hierarchical structure of classes. The objects of these classes represent the knowledge information that includes, inter alia, user profiles (including knowledge profiles) and organizational structure, and are stored in two databases: theuser database 56A and therepository database 56B. Therepository database 56B contains profile and repository information and can use one of a number of commercial relational database management systems that support the Open DataBase Connectivity (ODBC) interface standard. Adatabase interface 54 provides a logical database-independent class API to access the physical databases and to shield the complete server codes from accessing database native API so that the server process can use any relational database management system (RDMS). Because therepository database 56A is open to inspection by systems administrators, and may be hosted on an existing corporate system, special measures may be taken to enhance the privacy of information in therepository database 56B; for example, therepository database 56B contains no actual user names or e-mail addresses, but instead may use encrypted codes to represent users in a manner that is meaningful only in combination with the user database. Theuser database 56A is a small commercial RDBMS embedded into theknowledge repository 50 in such a way that it cannot be accessed except through the interfaces offered by thesystem 10. Theuser database 56A contains encrypted identifying codes that allow the names of actual users to be associated with e-mail addresses, login IDs, passwords, and profile and repository information in the repository database. - A
lexicon controller 45C is responsible for building tables of associated terms. Terms are considered “associated” with each other to the extent that they tend to co-occur in close proximity within the documents of multiple users. Thelexicon controller 45C manages the background process of data mining that is used to discover associations between terms and record those in special association tables within therepository database 56B. - A
profile controller 45B is a module that may optionally be included within the knowledgesite management server 27, and manages a queue of pending, compute-intensive operations associated with updating profiles. Since the algorithm for the confidence level value calculation of a term (embodied in the confidence logic 45) depends on the total number of documents profiled, the confidence level value for each and every term in a user's profile is technically obsolete when any document is profiled. Theprofile controller 45B manages the “recalculation” of profiles. The actual operation is performed within theknowledge access server 26, which has aknowledge repository 50 interface. - A
case controller 45A keeps track of open cases and initiates notifications to users concerning their status. A “case” is a pending request from one user to another, as will be detailed below. For example, if a user requests an expert in a certain field via aclient browser client 16, theknowledge access server 26 matches the term against both the public and private portions of all user profiles. If a high confidence, but private, match is found, the system cannot reveal the identity of the matched person to the inquirer and must therefore open a “case”. The case places a notification in the profile “home” page of the target user and/or transmits an e-mail message with a link back to that page. The target user may then (via a browser): - 1. See the identity of the inquirer and the basis of the match.
- 2. See comments added by the inquirer.
- 3. Deny the request, at which point the case is closed.
- 4. Put a block on any further matches from that person or based on that term.
- 5. Go into the profile and edit the term responsible for the match.
- 6. Indicate that the case is accepted and provide authorization to reveal the identity of the target to the inquirer.
- From the perspective of the inquirer, private matches are initially returned with a match strength only and do not reveal the name of the person or document matched. The user can then initiate cases for any or all of these private matches, based on how urgently the information is needed, how good the matches were, and whether the public matches are sufficient. Each case gets an expiration date set by the inquirer and notification options regarding how the inquirer wants to be told about the disposition of the case. Open cases are summarized in the Web area for the inquirer, along with the date and query that generated the return values. If the target denies a case, that status is communicated to the user. The user has no option to send e-mail or otherwise further identify that person. If the target accepts the case, the identity of the target is communicated to the user by updating the case record and the case is closed. Case history retention options are a site administration option.
- FIG. 3 is a block diagram illustrating the components that constitute the
knowledge access server 26. Theknowledge access server 26 is shown to include a socket front-end 40 to facilitate communication with the webserver interface application 34. Theknowledge access server 26 further includes arequest handler 44, aterm extractor 46, aknowledge repository 50 and adatabase interface 54 that function in a manner similar to that described above with reference to theknowledge gathering system 28. Theterm extractor 46 includescomparison logic 51, the functioning of which will be described below. Theknowledge access server 26 functions primarily as an interface between knowledge users and theknowledge repository 50. It provides services to the webserver interface application 34, which implements a number of user interfaces as described above for interacting with theknowledge repository 50. - FIG. 4 is a block diagram illustrating the components that constitute the
knowledge converter 24. Theknowledge converter 24 is shown to include aterm extractor 46 that is fed from an array offormat converters 60. Theknowledge converter 24 is able to access theknowledge repository 50, and to import data from other knowledge systems, or export knowledge to other knowledge systems, via each of theformat converters 60. - Returning to FIG. 1, the
knowledge access server 26 implements the interface to theknowledge repository 50 and the knowledgesite management server 27 is shown to access theknowledge repository 50 via theknowledge access server 26. FIGS. 3 and 4 illustrate data for theknowledge repository 50 as residing indatabases databases general database interface 54 and provide persistent storage for the core system classes referred to above. In one exemplary embodiment of the present invention, the user database and the repository databases are implemented utilizing the Microsoft SQL server, developed by Microsoft Corp. of Redmond Wash., to provide default storage management services for the system. However, programming may be done at a more general level to allow for substitution of other production class relational database management systems, such as those developed by Sybase, Oracle or Informix. - FIG. 5 is a diagrammatic representation of a client, according to an exemplary embodiment of the present invention, in the form of an
e-mail client 18. It will be appreciated that thee-mail client 18 may be any commercially available e-mail client, such as a Microsoft Exchange, Outlook Express, Outlook 97/98 or Lotus Notes client. Thee-mail client 18 includes modifications or additions, in the form of theextensions 19, to the standard e-mail client to provide additional functionality. Specifically, according to an exemplary embodiment of the present invention, three subsystems are included within thee-mail client extensions 19, namely auser interface 80, aprofiling system 82, and an addressingsystem 84. - The
profiling system 82 implements properties on an originated message, as well as menu and property sheet extensions at global and message levels for users to set and manipulate these new properties. More specifically,profiling system 82 provides a user with a number of additional options that determine how amessage 85 propagated from thee-mail client 18 to theknowledge repository 50 will be processed and handled for the purposes of knowledge management. A number of the provided options are global, while others apply on a per-message basis. For example, according to one exemplary embodiment, the following per-message options (or flags) may be set by a user to define the properties of an e-mail message: - 1. An “Ignore”
flag 86 indicating the e-mail message should not be processed for these purposes of constructing or maintaining a user knowledge profile, and should not be stored. - 2. A “Repository”
parameter 88 indicating that the message may be processed for the purposes of constructing a knowledge profile and then stored in therepository 50 for subsequent access as a document by others. The “Repository”parameter 88 also indicates whether the document (as opposed to terms therein) is to be stored in a private or public portion of therepository 50. - A number of global message options may also be made available to a user for selection. For example, an e-mail address (i.e., the
KS mailbox 25 or the e-mail server 23) for theknowledge server 22 may be enabled, so that the e-mail message is propagated to theserver 22. - Actual implementation and presentation of the above per-message and global options to the user may be done by the addition of a companion application or set of software modules which interact with API's provided by e-mail clients, or modules which modify the e-mail client itself, which are available during message composition. If the user activates the Ignore
flag 86, theprofiling system 82 will not make any modifications to the message and no copy of the message will be sent to theknowledge gathering system 28 via theKS mailbox 25. Otherwise, per-message options, once obtained from the user, are encoded. Subsequently, when the user chooses to send themessage 85 using the appropriate control on theparticular e-mail client 18, the e-mail address of the knowledge gathering server is appended to the blind copy list for the message. Theprofiling system 82 encrypts and encodes the following information into the message header, for transmission to and decoding by theknowledge gathering system 28, in accordance with Internet specification RFC 1522: - 1. The list of e-mail addresses in the “to:” and “cc:” lists;
- 2. Per-message options as appropriate; and
- 3. For those recipients suggested by the addressing system84 (see below), a short list of topic identifiers including the primary topics found within the message and the primary topics found within the user profile that formed a basis of a match.
- 4. Security information to validate the message as authentic.
- When the
message 85 is sent over the normal e-mail transport, the following events occur: - 1. Recipients on the “to:” and “cc:” lists will receive a normal message with an extra header containing the encoded and encrypted options. This header is normally not displayed by systems that read e-mail and can be ignored by recipients;
- 2. The recipients will not be aware that the knowledge gathering system has received a blind copy of the message; and
- 3. If the sender chooses to archive a copy of the
message 85, the e-mail address of theknowledge gathering system 28 will be retained in the “bcc” field as a reminder that the message was sent to the knowledge gathering server. - Further details concerning the addressing
system 86 will be discussed below. - FIG. 6 is a block diagram illustrating the structure of the
repository 50, according to one exemplary embodiment of the present invention, as constructed from data contained in therepository database 56B, and theuser database 56A. Therepository 50 is shown to include a number of tables, as constructed by a relational database management system (RDBMS). Specifically, therepository 50 includes a user table 90, a term table 100, a document table 106, a user-term table 112, a term-document table 120 and a user-document table 130. The user table 90 stores information regarding users for whom knowledge profiles may be constructed, and includes anidentifier column 92, including unique keys for each entry or record within the table 90. Aname column 94 includes respective names for users for whom knowledge profiles are maintained within therepository 50. A department column 96 contains a description of departments within an organization to which- each of the users may be assigned, and ane-mail column 98 stores respective e-mail addresses for the users. It will be appreciated that the illustrated columns are merely exemplary, and a number of other columns, storing further information regarding users, may be included within the user table 90. - The term table100 maintains a respective record for each term that is identified by the
term extractor 46 within an electronic document, and that is included within therepository 50. The term table 100 is shown to include anidentifier column 102, that stores a unique key for each term record, and a term column 104 within which the actual extracted and identified terms are stored. Again, a number of further columns may optionally be included within the term table 100. The document table 106 maintains a respective record for each document that is processed by theterm extractor 46 for the purposes of extracting terms therefrom. The document table 106 is shown to include anidentifier column 108, that stores a unique key for each document record, and adocument name column 110, that stores an appropriate name for each document analyzed by theterm extractor 46. - The user-term table112 links terms to users, and includes at least two columns, namely a
user identifier column 114, storing keys identifying users, and aterm identifier column 116, storing keys identifying terms. The user-term table 112 provides a many-to-many mapping of users to terms. For example, multiple users may be associated with a single term, and a single user may similarly be associated with multiple terms. The table 112 further includes aconfidence level column 118, which stores respective confidence level values, calculated in the manner described below, for each user-term pair. The confidence level value for each user-term pair provides an indication of how strongly the relevant term is coupled to the user, and how pertinent the term is in describing, for example, the knowledge base of the relevant user. - The term-document table120 links terms to documents, and provides a record of which terms occurred within which document. Specifically, the term-document table 120 includes a
term identifier column 122, storing keys for terms, and adocument identifier column 124, storing keys for documents. The table 120 further includes an adjustedcount column 126, which stores values indicative of the number of occurrences of a term within a document, adjusted in the manner described below. For example, the first record within the table 120 records that the term “network” occurred within the document “e-mail 1” 2.8 times, according to the adjusted count. - The user-document table130 links documents to users, and includes at least two columns, namely a
user identifier column 132, storing keys identifying users, and adocument identifier column 134, storing keys identifying various documents. For example, the first record within the exemplary user-document table 130 indicates that the user “Joe” is associated with the document “e-mail 1”. This association may be based upon the user being the author or recipient of the relevant document. - FIG. 7 is a flow chart illustrating a
method 140, according to an exemplary embodiment of the present invention, of constructing a user knowledge profile. FIG. 7 illustrates broad steps that are described in further detail with reference to subsequent flow charts and drawings. Themethod 140 commences atstep 142, and proceeds todecision box 144, wherein a determination is made as to whether an electronic document, for example in the form of an e-mail propagated from ane-mail client 18, is indicated as being a private document. This determination may be made at thee-mail client 18 itself, at thee-mail server 23, or even within the knowledgesite management server 27. This determination may furthermore be made by ascertaining whether the Ignoreflag 86, incorporated within ane-mail message 85, is set to indicate thee-mail message 85 as private. As discussed above, the Ignoreflag 86 may be set at a users discretion utilizing theprofiling system 82, accessed via theuser interface 80 within theextensions 19 to thee-mail client 18. In the event that the electronic document is determined to be private, themethod 140 terminates atstep 146, and no further processing of the electronic document occurs. Alternatively, themethod 140 proceeds to step 148, where confidence level values are assigned to various terms within the electronic document. Atstep 150, a user knowledge profile is constructed utilizing the terms within the electronic document to which confidence level values were assigned atstep 148. Themethod 140 then terminates atstep 146. - FIG. 8 is a flow chart illustrating a high-
level method 148, according to an exemplary embodiment of the present invention, by which terms may be extracted from an electronic document, and by which confidence level values may be assigned such terms. Themethod 148 comprises two primary operations, namely a term extraction operation indicated at 152, and a confidence level value assigning operation, indicated at a 154. Themethod 148 implements one methodology by which thestep 148 shown in FIG. 7 may be accomplished. Themethod 148 begins atstep 160, and then proceeds to step 162, where an electronic document, such as for example an e-mail, a database query, a HTML document and or a database query, is received at the knowledgesite management server 27 via themail system interface 42. For the purposes of explanation, the present example will assume that an e-mail message, addressed to theKS mailbox 25, is received at the knowledgesite management server 27 via themail system interface 42, from thee-mail server 23. Atstep 164, terms and associated information are extracted from the electronic document. Specifically, the e-mail message is propagated from themail system interface 42 to theterm extractor 46, which then extracts terms in the form of, for example, grammar terms, noun phrases, word collections or single words from the e-mail message. Theterm extractor 46 may further parse a header portion of the e-mail to extract information therefrom that is required for the maintenance of both the repository anduser databases term extractor 46 will identify the date of transmission of the e-mail, and all addressees. Theterm extractor 46 will additionally determine further information regarding the electronic document and terms therein. For example, theterm extractor 46 will determine the total number of words comprising the electronic document, the density of recurring words within the document, the length of each term (i.e., the number of words that constitute the term), the part of speech that each word within the document constitutes, and a word type (e.g., whether the word is a lexicon term). To this end, theterm extractor 46 is shown in FIG. 2 to have access to adatabase 49 of lexicon terms, which may identify both universal lexicon terms and environment lexicon terms specific to an environment within which the knowledgesite management server 27 is being employed. For example, within a manufacturing environment, the collection of environment lexicon terms will clearly differ from the lexicon terms within an accounting environment. - Following the actual term extraction, a first relevancy indicator in the form of an adjusted count value is calculated for each term within the context of the electronic document at
step 168. Atstep 170, a second relevancy indicator in the form of a confidence level is calculated for each term within the context of multiple electronic documents associated with a particular user. Furtherdetails regarding steps method 148 then terminates atstep 172. - FIG. 9A is a flow chart illustrating a
method 154, according to an exemplary embodiment of the present invention, of determining a confidence level for a term extracted from an electronic document. Following thecommencement step 180, a term and associated information is received at theconfidence logic 45, included within theterm extractor 46. While theconfidence logic 45 is shown to be embodied in theterm extractor 46 in FIG. 2, it will be appreciated that theconfidence logic 45 may exist independently and separately of theterm extractor 46. In one embodiment, the associated information includes the following parameters: - 1. A count value indicating the number of occurrences of the term within a single electronic document under consideration;
- 2. A density value, expressed as a percentage, indicating the number of occurrences of the term relative to the total number of terms within the electronic document;
- 3. A length of value indicating the total number of words included within the relevant term;
- 4. A Part of Speech indication indicating the parts of speech that words included within the term comprise (e.g., nouns, verbs, adjectives, or adverbs); and
- 5. A Type indication indicating whether the term comprises a universal lexicon term, an environment lexicon term, or is of unknown grammatical structure.
- At
step 184, a “binding strength”, indicative of how closely the term is coupled to the electronic document under consideration, is determined. While this determination may be made in any number of ways, FIG. 10 shows an exemplary term-document binding table 200, utilizing which a class may be assigned to each of the extracted terms. Specifically, the term-document binding table 200 is shown to include three columns, namely a “number of occurrences”column 202, adensity column 204, and an assignedclass column 206. A term having a density value of greater than four percent, for example, is identified as falling in the “A” class, a term having a density of between two and four percent is identified as falling in the “B” class, a term having a density of between one and two percent is identified as falling in the “C” class, while a term having a density of between 0.5 and one percent is identified as falling in the “D class. For the terms having a density of above 0.5 percent, the density value is utilized to assign a class. For terms which have a density value less than 0.5 percent, the count value is utilized for this purpose. Specifically, a term having a count value of greater than 3 is assigned to the “E” class, and a term having a count value of between 1 and 3 is assigned to the “F” class. Accordingly, the assigned class is indicative of the “binding strength” with which the term is associated with or coupled to the electronic document under consideration. - At
step 186, a characteristic (or qualitative) indicator in the form of a term weight value is determined, based on characteristics qualities of the term such as those represented by the Type and Part of Speech indications discussed above. While this determination may again be made in any number of ways, FIG. 11 shows an exemplary weight table 210, utilizing which a weight value may be assigned to each of the extracted terms. Specifically, the weight table 210 is shown to include four columns, namely aweight column 212, atype column 214, alength column 216 and a Part ofSpeech column 218. By identifying an appropriate combination of type, length and Part of Speech indications, an appropriate term weight value is assigned to each term. In thetype column 214, a type “P” indication identifies an environment lexicon term, a type “L” indication identifies a universal lexicon term, and a type “U” indication identifies a term of unknown grammatical structure for a given length. The entries within thelength column 216 indicate the number of words included within the term. The entries within the Part ofSpeech column 218 indicate the parts of speech that the words within a term comprise. The “A” indication identifies the adjectives, the “V” indication identifies a verb, the “N” indication identifies a noun, and the “X” indication identifies an unknown part of speech. By mapping a specific term to an appropriate entry within the weight table 210, an appropriate term weight value, as indicated in theweight column 212, may be assigned to the term. - At
step 188, a relevancy quantitative indicator in the form of an adjusted count value for each term, is calculated, this adjusted count value being derived from the binding strength and term weight values calculated atsteps - At
step 190, a determination is made as to whether any adjusted count values exists for the relevant term as a result of the occurrence of the term in previously received and analyzed documents. If so, the adjusted count values for occurrences of the term in all such previous documents are summed. - At
step 192, an initial confidence level values for the term is then determined based on the summed adjusted counts and the term weight, as determined above with reference to the weight table 210 shown in FIG. 11. To this end, FIG. 13 illustrates a confidence level table 230, which includes various initial confidence level values for various summed adjusted count/weight value combinations that may have been determined for a term. For example, a term having a summed adjusted count of 0.125, and a weight value of 300, may be allocated an initial confidence level value of 11.5. Following the determination of an initial confidence level value, confidence level values for various terms may be grouped into “classes”, which still retain cardinal meaning, but which standardize the confidence levels into a finite number of “confidence bands”. FIG. 14 illustrates a modified table 240, derived from the confidence level table 230, wherein the initial confidence levels assigned are either rounded up or rounded down to certain values. By grouping into classes by rounding, applications (like e-mail addressing), can make use of the classes without specific knowledge/dependence on the numerical values. These can then be tuned without impact to the applications. The modified confidence level values included within the table 240 may have significance in a number of applications. For example, users may request that terms with a confidence level of greater than 1000 automatically be published in a “public” portion of their user knowledge profile. Further, e-mail addressees for a particular e-mail may be suggested based on a match between a term in the e-mail and a term within the user knowledge profile having a confidence level value of greater than, merely for example, 600. - The
method 154 then terminates atstep 194. - In a further embodiment of the present invention, the
method 154, illustrated in FIG. 9A, may be supplemented by a number ofadditional steps 195, as illustrated in FIG. 9B, by which a “document weight” value is assigned to a document based on addressee information associated with the document. The document weight value may be utilized in any one of the steps 182-192 illustrated in FIG. 9A, for example, as a multiplying factor to calculate a confidence level value for a term. In one exemplary embodiment, the binding strength value, as determined atstep 184, may be multiplied by the document weight value. In another exemplary embodiment, the term weight value, as determined atstep 186, may be multiplied by the document weight value. - The document weight value may be calculated by the
confidence logic 45 within theterm extractor 46. Referring to FIG. 9B, atstep 196, theconfidence logic 45 identifies the actual addressee information. To this end, theterm extractor 46 may include a header parser (not shown) that extracts and identifies the relevant addressee information. Atstep 197, theconfidence logic 45 then accesses a directory structure that may be maintained by an external communication program for the purposes of determining the level of seniority within an organization of the addressees associated with the document. In one exemplary embodiment of the invention, the directory structure may be a Lightweight Directory Access Protocol (LDAP) directory maintained by a groupware server, such as Microsoft Exchange or Lotus Notes. Atstep 198, a cumulative seniority level for the various addressees is determined by summing seniority values for each of the addressees. Atstep 199, the summed seniority value is scaled to generate the document weight value. In this embodiment, the cumulative or summed seniority level of the various addressees comprises an “average” seniority value that is used for the purpose of calculating the document weight term. Alternatively, instead of summing in the seniority values atstep 198, a “peak” seniority value (i.e., a seniority value based on the seniority level of the most senior addressee) may be identified and scaled atstep 199 to generate the document weight value. - In alternative embodiments, the addressee information may be utilized in a different manner to generate a document weight value. Specifically, a document weight value may be calculated based on the number of addressees, with a higher number of addressees resulting in a greater document weight value. Similarly, a document weight value may be calculated based on the number of addressees who are included within a specific organizational boundary (e.g., a specific department or division). For example, an e-mail message addressed primarily to an executive group may be assigned a greater document weight value than an e-mail message addressed primarily to a group of subordinates. Further, the document weight value may also be calculated using any combination of the above discussed addressee information characteristics. For example, the document weight value could be calculated using both addressee seniority and addressee number information.
- FIG. 15A is a flow chart illustrating a
method 250, according to one exemplary embodiment of the present invention, of constructing a user profile that includes first and second portions that may conveniently be identified as “private” and “public” portions. Specifically, unrestricted access to the “public” portion of the user knowledge profile may be provided to other users, while restricted access to the “private” portion may be facilitated. For example, unrestricted access may encompass allowing a user to review details concerning a user knowledge profile, and the target user, responsive to a specific request and without specific authorization from the target user. Restricted access, on the other hand, may require specific authorization by the target user for the provision of information concerning the user knowledge profile, and the target user, in response to a specific request. Themethod 250 commences atstep 252, and then proceeds to step 254, where a determination is made regarding the confidence level value assigned to a term, for example using themethod 154 described above with reference to FIG. 9A. Having determined the confidence level value, themethod 250 proceeds to step 256, where a threshold value is determined. The threshold value may either be a default value, or a user specified value, and is utilized to categorize the relevant term. For example, users may set the threshold through the browser interface as a fundamental configuration for their profile. If set low, the user profile will be aggressively published to the public side. If set high, only terms with a high level of confidence will be published. Users can also elect to bypass the threshold publishing concept altogether, manually reviewing each term that crosses the threshold (via the notification manager) and then deciding whether to publish. Atdecision box 258, a determination is made as to whether the confidence level value for the term is less than the threshold value. If so, this may be indicative of a degree of uncertainty regarding the term as being an accurate descriptor of a user's knowledge. Accordingly, atstep 260, the relevant term is then stored in the “private” portion of the user knowledge profile. Alternatively, should the confidence level value be greater than the threshold value, this may be indicative of a greater degree of certainty regarding the term as an accurate descriptor of a user's knowledge, and the relevant term is then stored in the “public” portion of the user's knowledge profile atstep 262. Themethod 150 then terminates atstep 264. - FIG. 16A shows an exemplary user-term table112, constructed according to the
method 250 illustrated in FIG. 15A. Specifically, the table 112 is shown to include a firstuser knowledge profile 270 and a seconduser knowledge profile 280. The firstuser knowledge profile 270 is shown to include a “public”portion 272, and a “private”portion 274, the terms within the “private”portion 274 having an assigned confidence level value (as indicated in the confidence level column 118) below a threshold value of 300. The seconduser knowledge profile 280 similarly has a “public”portion 282 and a “private”portion 284. - The exemplary user-term table112 shown in FIG. 16A comprises an embodiment of the table 112 in which the public and private portions are determined dynamically with reference to a confidence level value assigned to a particular user-term pairing. FIG. 16B illustrates an alternative embodiment of the user-term table 112 that includes a “private flag”
column 119, within which a user-term pairing may be identified as being either public or private, and accordingly part of either the public or private portion of a specific user profile. While the state of a private flag associated with a particular user-term pairing may be determined exclusively by the confidence level associated with the pairing, in an alternative embodiment of the invention, the state of this flag may be set by other mechanisms. For example, as described in further detail below with reference to FIG. 17E, a user may be provided with the opportunity manually to modify the private or public designation of a term (i.e., move a term between the public and private portions of a user knowledge profile). A user may be provided with an opportunity to modify the private or public designation of a term in response to a number of events. Merely for example, a user may be prompted to designate a term as public in response to a “hit” upon a term in the private portion during a query process, such as during an “expert-lookup” query or during an “addressee-lookup” query. - When storing the term in the user knowledge profile at either
steps column 119 within the user-term table 112, as illustrated in FIG. 16B. For example, a logical “1” entry within the “private flag”column 119 may identify the associated term as being in the “private” portion of the relevant user knowledge profile, while a logical “0” entry within the “private flag”column 119 may identify the associated term as being in the “public” portion of the relevant user knowledge profile. - FIG. 15B illustrates an
exemplary method 260/262, according to one embodiment of the present invention, of storing a term in either a public or private portion of a user knowledge profile. Specifically, a respective term is added to a notification list atstep 1264, following the determination made atdecision box 258, as illustrated in FIG. 15A. Atdecision box 1268, a determination is made as to whether a predetermined number of terms have been accumulated within the notification list, or whether a predetermined time period has passed. If these conditions are not met, the method waits for additional terms to be added to the notification list, or for further time to pass, atstep 1266, before looping back to thestep 1264. On the other hand, should a condition within thedecision box 1268 have been met, the method proceeds to step 1270, where the notification list, that includes a predetermined number of terms that are to be added to the user knowledge profile, is displayed to a user. The notification list may be provided to the user in the form of an e-mail message, or alternatively the user may be directed to a web site (e.g., by a URL included within e-mail message) that displays the notification list. In yet a further embodiment, the notification list may be displayed on a web or intranet page that is frequently accessed by the user, such as a home page. Atstep 1272, the user then selects terms that are to be included in the public portion of the user knowledge profile. For example, the user may select appropriate buttons displayed alongside the various terms within the notification list to identify terms for either the public or private portions of the user knowledge profile. Atstep 1274, private flags, such as those contained within the “private flag”column 119 of the user-term table 112 as shown in FIG. 16B, may be set to a logical zero “0” to indicate that the terms selected by the user are included within the public portion. Similarly, private flags may be set to a logical one “1” to indicate terms that were not selected by the user for inclusion within the public portion are by default included within the private portion. It will of course be appreciated that the user may, atstep 1272, select terms to be included within the private portion, in which case un-selected terms will by default be included within the public portion. The method then ends atstep 1280. - The above described method is advantageous in that a user is not required to remember routinely to update his or her user profile, but is instead periodically notified of terms that are candidates for inclusion within his or her user knowledge profile. Upon notification, the user may then select terms for inclusion within the respective public and private portions of the user knowledge profile. As such, the method may be viewed as a “push” model for profile maintenance.
- While the
above method 250 is described as being executed at the time of construction of a user knowledge profile, it will readily be appreciated that the method may be dynamically implemented as required and in response to a specific query, with a view to determining whether at least a portion of a user knowledge profile should be published, or remain private responsive to the relevant query. To this end, FIG. 17A shows a flow chart illustrating amethod 300, according to one exemplary embodiment of the present invention, of facilitating access to a user knowledge profile. Themethod 300 commences atstep 302, and then proceeds to step 304, where a threshold value is determined. Atstep 306, a document term within an electronic document generated by a user (hereinafter referred to as a “query” user) is identified. Step 306 is performed by theterm extractor 46 responsive, for example, to the receipt of an e-mail from themail system interface 42 within theknowledge gathering system 28. Atstep 308,comparison logic 51 within theterm extractor 46 identifies a knowledge term within therepository 50 corresponding to the document term identified atstep 306. Thecomparison logic 51 also determines a confidence level value for the identified knowledge term. Atdecision box 310, thecomparison logic 51 makes a determination as to whether the confidence level value for the knowledge term identified atstep 308 is less than the threshold value identified atstep 304. If not (that is the confidence level value is greater than the threshold value) then a public profile process is executed atstep 312. Alternatively, a private profile process is executed atstep 314 if the confidence level value falls below the threshold value. Themethod 300 then terminates atstep 316. - FIG. 17B shows a flowchart illustrating an
alternative method 301, according to an exemplary embodiment of the present invention, of facilitating access to a user knowledge profile. Themethod 301 commences atstep 302, and then proceeds to step 306, where a document term within an electronic document generated by a user (i.e., the “query” user) is identified. Theterm extractor 46 performsstep 306 responsive, for example, to the receipt of an e-mail message from themail system interface 42 within theknowledge gathering system 28. Atstep 308, thecomparison logic 51 within theterm extractor 46 identifies a knowledge term within theknowledge repository 50 corresponding to the document term identified atstep 306. Atdecision box 311, thecomparison logic 51 then makes a determination as to whether a “private” flag for the knowledge term is set to indicate the relevant knowledge term as being either in the public or the private portion of a user knowledge profile. Specifically, thecomparison logic 51 may examine the content of an entry in theprivate flag column 112 of a user-term table for a specific user-term pairing of which the knowledge term is a component. If the “private” flag for the knowledge term is set, thus indicating the knowledge term as being in the private portion of a user knowledge profile, the private profile process is executed atstep 314. Alternatively, the public profile process is executed atstep 312. Themethod 301 then terminates atstep 316. - FIG. 17C shows a flow chart detailing a
method 312, according to an exemplary embodiment of the present invention, of performing the public profile process mentioned in FIGS. 17A and 17B. Themethod 312 commences atstep 320, and user information, the knowledge term corresponding to the document term, and the confidence level value assigned to the relevant knowledge term are retrieved atsteps step 328, whereafter themethod 312 terminates atstep 330. - FIG. 17D shows a flow chart detailing a
method 314, according to an exemplary embodiment of the present invention, of performing the private profile process mentioned in FIGS. 17A and 17B. Themethod 314 commences atstep 340, and proceeds to step 342, where a user (herein after referred to as the “target” user) who is the owner of the knowledge profile against which the hit occurred is notified of the query hit. This notification may occur in any one of a number of ways, such as for example via an e-mail message. Such an e-mail message may further include a URL pointing to a network location at which further information regarding the query hit, as well as a number of target user options, may be presented. Atstep 346, the reasons for the query hit are displayed to the target user. Such reasons may include, for example, matching, or similar, document and knowledge terms utilizing which the hit was identified and the confidence level value associated with the knowledge term. These reasons may furthermore be presented within the e-mail propagated atstep 342, or at the network location identified by the URL embedded within the e-mail. Atstep 348, the target user then exercises a number of target user options. For example, the target user may elect to reject the hit, accept the hit, and/or modify his or her user knowledge profile in light of the hit. Specifically, the target user may wish to “move” certain terms between the public and private portions of the user knowledge profile. Further, the user may optionally delete certain terms from the user knowledge profile in order to avoid any further occurrences of hits on such terms. These target user options may furthermore be exercised via a HTML document at the network location identified by the URL. Atdecision box 350, a determination is made as to whether the user elected to modify the user knowledge profile. If so, a profile modification process, which is described below with reference to FIG. 17E, is executed atstep 352. Otherwise, a determination is made atdecision box 354 as to whether the target user rejected the hit. If so, the hit is de-registered atstep 356. Alternatively, if the target user accepted the hit, the public profile process described above with reference to FIG. 17C is executed atstep 358. Themethod 314 then terminates atstep 360. - FIG. 17E is a flowchart illustrating a
method 352, according to an exemplary embodiment of the present invention, for implementing the profile modification process illustrated atstep 352 in FIG. 17D. Themethod 352 commences atstep 362, and then proceeds to displaystep 364, where the target user is prompted to (1) move a term, on which a “hit” has occurred, between the private and public portions of his or her user knowledge profile, or to (2) delete the relevant term from his or her user knowledge profile. Specifically, the target user may be presented with a user dialog, a HTML-enriched e-mail message, or a Web page, listing the various terms upon which hits occurred as a result of an inquiry, besides which appropriate buttons are displayed that allow the user to designate the term either to the included in the public or private portion of his or her user knowledge profile, or that allow the user to mark the relevant term for deletion from the user knowledge profile. Atinput step 366, the target user makes selections regarding the terms in the matter described above. Atdecision box 368, a determination is made as to whether the user selected terms for transfer between the public and private portions of the user profile, or for inclusion within the user profile. If so, themethod 352 proceeds to step 370, wherein the appropriate terms are designated as being either public or private, in accordance with the user selection, by setting appropriate values in the “private flag”column 119 within the user-term table, as illustrated in FIG. 16B. Thereafter, the method proceeds todecision box 372, wherein a determination is made as to whether the user has elected to delete any of the terms presented atstep 364. If so, the relevant terms are deleted from the user knowledge profile atstep 374. The method is then terminates atstep 378. - The methodologies described above with reference to FIGS. 15 through 17E are advantageous in that, where the confidence level of a term falls below a predetermined threshold, the owner of the user knowledge profile may elect to be involved in the process of determining whether a query hit is accurate or inaccurate. The owner of the user knowledge profile is also afforded the opportunity to update and modify his or her knowledge profile as and when needed. Further, the owner of the user knowledge profile is only engaged in the process for hits below a predetermined certainty level and on a public portion of the knowledge profile. Matches between document terms and knowledge terms in the public portion are automatically processed, without any manual involvement.
- Returning now briefly to FIG. 5, the addressing
system 84 within thee-mail client extensions 19 operates independently of theprofiling system 82 to suggest potential recipients for an e-mail message based on the content thereof. Theuser interface 80 within thee-mail client extensions 19 may pop-up a window when the system determines such suggestion is possible, based on the length of a draft message being sent, or may present a command button labeled “Suggest Recipients”. This button is user selectable to initiate a sequence of operations whereby the author of the e-mail is presented with a list of potential recipients who may be interested in receiving the e-mail based on predetermined criteria, such as a match between the content of the e-mail and a user profile, or a commonality with a confirmed addressee. - FIG. 18A is a flow chart illustrating a
method 400, according to an exemplary embodiment of the present invention, of addressing an electronic document, such as an e-mail, for transmission over a network, such as the Internet or an Intranet. Themethod 400 commences atstep 402, and then proceeds to step 401, where a determination is made as to whether the body of the draft message exceeds a predetermined length (or number of words). If so, content of the electronic document (e.g., an e-mail message body) is transmitted to theknowledge access server 26 via theweb server 20 atstep 404. Specifically, a socket connection is open between thee-mail client 18 and theweb server 20, and the content of the message body, which may still be in draft form, is transmitted using the Hypertext Transfer Protocol (HTTP) via theweb server 20 to theknowledge access server 26. Atstep 406, theknowledge access server 26 processes the message body, as will be described in further detail below. Atstep 408, theknowledge access server 26 transmits a potential or proposed recipient list and associated information to the addressingsystem 84 of thee-mail client 18. Specifically, the information transmitted to thee-mail client 18 may include the following: - 1. A list of user names, as listed within
column 94 of the user table 90, as well as corresponding e-mail addresses, as listed within thecolumn 98 of the user table 90; - 2. A list of term identifiers, as listed in
column 116 of the user-term table 112, that were located within the “public” portion of a user knowledge profile that formed the basis for a match between document terms within the message body and knowledge terms within the user knowledge profile; and - 3. A “matching metric” for each user included in the list of user names (1). Each “matching metric” comprises the sum of the confidence level values, each multiplied by the weighted occurrences of the term within the message body, for the terms identified by the list of term identifiers (2) and associated with the relevant user. This “matching metric” is indicative of the strength of the recommendation by the
knowledge access server 26 that the relevant user (i.e., potential recipient) be included within the list of confirmed addressees. - At
step 410, the author of the electronic document is presented with a list of potential recipients by thee-mail client 18, and specifically by the addressingsystem 84 via auser dialog 440 as shown in FIG. 18D. FIG. 18D groups matching levels into matching classes each characterized by a visual representation (icon). - The
user dialog 440 shown in FIG. 18D presents the list of potential recipients in a “potential recipients” scrollingwindow 442, wherein the names of potential recipients are grouped into levels or ranked classes according to the strength of the matching metric. An icon is also associated with each user name, and provides an indication of the strength of the recommendation of the relevant potential recipients. Merely for example, a fully shaded circle may indicate a high recommendation, with various degrees of “blackening” or darkening of a circle indicating lesser degrees of recommendation. A “rejection” icon may be associated with an actual recipient, and an example of such a “rejection” icon is indicated at 441. The “rejection” icon indicates a negative recommendation on an actual recipient supplied by the author of the message, and may be provided in response to a user manually modifying his or her profile to designate certain terms therein as generating such a “rejection” status for a recipient against which a hit occurs. - The
user dialog 440 also presents a list of actual (or confirmed) recipients in three windows, namely a “to:”window 442, a “cc:”window 444 and a “bcc:”window 446. An inquiring user may move recipients between the potential recipients list and the actual recipients lists utilizing the “Add” and “Remove” buttons indicated at 450. Theuser dialog 440 also includes an array of “select”buttons 452, utilizing which a user can determine the recommendation group to be displayed within the scrollingwindow 442. Theuser dialog 440 finally also includes “Explained Match” and “More”buttons button 454. If it is determined atdecision box 412 that this “Explain” function has been selected, themethod 400 branches to step 414, as illustrated in FIG. 18B. Specifically atstep 414, the addressingsystem 84 propagates a further “Explain” query to theknowledge access server 26 utilizing HTTP, and opens a browser window within which to display the results of the query. Atstep 416, theknowledge access server 26 retrieves the terms (i.e., the knowledge terms) that constituted the basis for the match, as well as associated confidence level values. This information is retrieved from the public portion of the relevant user knowledge profile in theknowledge repository 50. Atstep 418, the information retrieved atstep 416 is propagated to theclient 18 from theknowledge access server 26 via theweb server 20. The information is then displayed within the browser window opened by thee-mail client 18 atstep 414. Accordingly, the author user is thus able to ascertain the reason for the proposal of a potential recipient by the addressingsystem 84, and to make a more informed decision as to whether the proposed recipient should be included within the actual recipients (confirmed addressee) list. - The user also has the option of initiating a “More” function by selecting the “More”
button 456 on theuser dialog 440, this function serving to provide the user with additional proposed recipients. Accordingly, a determination is made atstep 422 as to whether the “More” function has been selected by the author user. If so, themethod 400 branches to step 424 as shown in FIG. 18C, where theclient 18 propagates a “More” request to theknowledge access server 20 in the same manner as the “Explain” query was propagated to the knowledge access server atstep 414. Atstep 46, theknowledge access server 26 identifies further potential recipients, for example, by using a threshold value for the “matching metric” that is lower than a threshold value utilized as a cutoff during the initial information retrieval operation performed atsteps step 428, theknowledge access server 26 then transmits the list of further potential recipients, and associated information, to thee-mail client 18. Atstep 430, the list of additional potential recipients is presented to the author user for selection in descending order according to the “matching metric” associated with each of the potential recipients. - At
step 432, the user then adds at his or her option, or deletes selected potential or “rejected” recipients to the list of actual recipients identified in “to:”, “cc:” or “bcc:” lists of the e-mail, thus altering the status of the potential recipients to actual recipients. Atstep 434, the e-mail message is then transmitted to the confirmed addressees. - If the user profile includes a “rejection” status on a term (something a user can do through manual modification of the profile), then a special symbol, such as that indicated441 in FIG. 18D, may be returned indicating a negative recommendation on a recipient supplied by the author of the message.
- The
exemplary method 400 discussed above is advantageous in that theknowledge access server 26 automatically provides the author user with a list of potential addressees, based on a matching between document terms identified within the message body of an e-mail and knowledge terms included within user profiles. - FIG. 19 is a flow chart illustrating a
method 500, according to one exemplary embodiment of the present invention, of managing user authorization to publish, or permit access to, a user knowledge profile. Themethod 500 is executed by thecase controller 45A that tracks open “cases” and initiates notification to users concerning the status of such cases. For the purposes of the present specification, the term “case” may be taken to refer to a user authorization process for publication of, or access to, a user knowledge profile. Themethod 500 commences atstep 502, and then proceeds to step 504, where a match is detected with a private portion of a user knowledge profile. At step 504, thecase controller 45A then opens a case, and notifies the target user atstep 506 concerning the “hits” or matches between a document (or query) term and a knowledge term in a knowledge user profile. This notification may be by way of an e-mail message, or by way of publication of information on a Web page accessed by the user. Atstep 508, thecase controller 45A determines whether an expiration date, by which the target user is required to respond to the hit, has been reached or in fact passed. If the expiration date has passed, thecase controller 45A closes the case and themethod 500 terminates. Alternatively, a determination is made atdecision box 510 as to whether the target user has responded to the notification by authorizing publication of, or access to, his or her user knowledge profile based on the hit on the private portion thereof. If the target user has not authorized such action (i.e., declined authorization), an inquiring user (e.g., the author user of an e-mail or a user performing a manual database search to locate an expert) is notified of the decline atstep 512. Alternatively, should the target user have authorized publication or access, the inquiring user is similarly notified of the authorization atstep 514. The notification of the inquiring user atsteps step 516, the appropriate portions of the user profile pertaining to the target user are published to the inquiring user, or the inquiring user is otherwise permitted access to the user profile. Atstep 518, thecase controller 45A then closes the case, whereafter the method terminates. - FIGS.7-9 describe an
exemplary method 140 of identifying knowledge terms and calculating associated confidence level values. Asupplemental method 550, according to an exemplary embodiment of the present invention, of assigning a confidence value to a term will now be described with reference to FIGS. 20-22. Thesupplemental method 550 seeks to compensate for a low confidence level value which may be associated with the term as a result of the term not appearing in any recent documents associated with a user. It will be appreciated that by calculating a confidence level value utilizing the method illustrated in FIG. 9, aged terms (i.e., terms which have not appeared in recent documents) may be attributed a low confidence level value even though they may be highly descriptive of a specialization or knowledge of a user. The situation may occur where a user is particularly active with respect to a particular topic for a short period of time, and then re-focuses attention on another topic. Over time, the methodology illustrated in FIG. 9 may too rapidly lower the confidence level values associated with terms indicating user knowledge. - Referring to FIG. 20, there is illustrated the
exemplary method 550 of assigning a confidence value to a term. Themethod 550 commences atstep 552, whereafter an initial confidence memory value (as distinct from a confidence level value) is assigned a zero (0) value. Atstep 556, a confidence level value for a term is calculated utilizing, for example, themethod 154 illustrates in FIG. 9. However, this confidence level value is only calculated for occurrences of the relevant term within a particular time or document window. For example, in summing the adjusted count values atstep 190 within themethod 154, the adjusted count values for only documents received within a predetermined time (e.g., the past 30 days), or only for a predetermined number of documents (e.g., the last 30 documents) are utilized to calculate the summed adjusted count value. It will be appreciated that by discarding documents, which occurred before the time or document window, the effect on the confidence level values for aged terms by the absence of such aged terms within recent documents may be reduced. - At
decision box 558, a determination is then made as to whether a newly calculated confidence level value for a term is greater than a previously recorded confidence memory value, or alternatively greater than a predetermined site-wide or system-wide threshold value. If the confidence level value is determined to be greater than the confidence memory value (or the threshold value), the confidence memory value is then made equal to the confidence level value by overwriting the previous confidence memory value with the newly calculated confidence level value. In this way, it is ensured that the confidence level value does not exceed the confidence memory value. - FIG. 22 is an exemplary user-term table112, according to one embodiment of the present invention, that is shown to include a
confidence level column 118, a confidencememory value column 121, and atime stamp column 123. The table 122 records a confidence level value and a confidence memory value for each user-term pairing within the table 112, and it is to this table that the confidence level values and the confidence memory values are written by themethod 550. Thetime stamp column 123 records a date and time stamp value indicative of the date and time at which the corresponding confidence memory value was last updated. This value will accordingly be updated upon the overwriting of the confidence memory value atstep 560. - Should the confidence level value not exceed the confidence memory value or the threshold value, as determined at
decision box 558, themethod 550 then proceeds todecision box 562, where a further determination is made as to whether another time or document window, associated with a step of decaying the confidence memory value, has expired. If not, the confidence memory value is left unchanged atstep 564. Alternatively, if the time or document window associated with the decay step has expired, the confidence memory value is decayed by a predetermined value or percentage atstep 566. For example, the confidence memory value may be decayed by five (5) percent per month. The time stamp value may be utilized to determine the window associated with the decay step. The time stamp value associated with the decayed confidence memory value is also updated atstep 566. Themethod 550 then terminates atstep 568. - FIG. 21 is a flowchart illustrating an
exemplary method 570, according to one embodiment of the present invention, of determining or identifying a confidence value (e.g., either a confidence level value or a confidence memory value) for a term. Themethod 570 may be executed in performance of any of the steps described in the preceding flow charts that require the identification of a confidence level value for a term in response to a hit on the term by a document term (e.g., in an electronic document or other query). Themethod 570 commences atstep 572, and proceeds to step 574, where a confidence level value for a term within a user profile is identified. For example, the confidence level value may be identified within be user-term table 112 illustrated in FIG. 22. Atstep 576, a confidence memory value for the term may then also be identified, again by referencing the user-term table 112 illustrated in FIG. 22. Atdecision box 578, a determination is then made as to whether the confidence level value is greater than the confidence memory value. If the confidence level value is greater than the confidence memory value, the confidence level value is returned, atstep 580, as the confidence value. Alternatively, should the confidence memory value be greater than the confidence level value, the confidence memory value is returned, atstep 582, as the confidence value. Themethod 570 then terminates atstep 584. - Accordingly, by controlling the rate at which a confidence value for a term is lowered or decayed, the present invention seeks to prevent having a potentially relevant term ignored or overlooked.
- FIG. 23 is a diagrammatic representation of a machine in the form of
computer system 600 within which software, in the form of a series of machine-readable instructions, for performing any one of the methods discussed above may be executed. Thecomputer system 600 includes aprocessor 602, amain memory 603 and astatic memory 604, which communicate via abus 606. Thecomputer system 600 is further shown to include a video display unit 608 (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)). Thecomputer system 600 also includes an alphanumeric input device 610 (e.g., a keyboard), a cursor control device 612 (e.g. a mouse), adisk drive unit 614, a signal generation device 616 (e.g., a speaker) and anetwork interface device 618. Thedisk drive unit 614 accommodates a machine-readable medium 615 on whichsoftware 620 embodying any one of the methods described above is stored. Thesoftware 620 is shown to also reside, completely or at least partially, within themain memory 603 and/or within theprocessor 602. Thesoftware 620 may furthermore be transmitted or received by thenetwork interface device 618. For the purposes of the present specification, the term “machine-readable medium” shall be taken to include any medium that is capable of storing or encoding a sequence of instructions for execution by a machine, such as thecomputer system 600, and that causes the machine to performing the methods of the present invention. The term “machine-readable medium” shall be taken to include, but not be limited to, solid-state memories, optical and magnetic disks, and carrier wave signals. - FIG. 24 is a block diagram illustrating a
knowledge management system 10, according to an alternative embodiment of the present invention, that corresponds substantially to that illustrated in FIG. 1. However, theknowledge management system 10 is shown to include a dedicated knowledge management client 700 that communicates with theweb server 20, or directly with the knowledgesite management server 27, to facilitate knowledge management activities by a user. For example, the knowledge management client 700 may be utilized by a user to query the knowledgesite management server 27 with a view to identifying the profiles of other users and entities that match specified criteria. A user may also access, modify and maintain his or her profile, as maintained by theknowledge site 27, utilizing the knowledge management client 700. - FIG. 25 is a flowchart illustrating a method800, according to an exemplary embodiment of the present invention, of constructing a profile comprising terms indicative of a characteristic of an entity associated with the profile. The method 800 commences at step 802, where an interactive user sends an electronic document to a “mailbox” for a third party. The interactive user may send the electronic document from the knowledge management client 700, from a
browser client 16, or from ane-mail client 18. The electronic document may comprise an electronic mail message, an attachment to such an electronic mail message, or any other document in electronic form. For the purposes of the present invention, the term “electronic document” shall also be deemed to encompass the terms of a search query, or any string of characters in electronic form. The mailbox of the third party to which the electronic document is sent may be identified by an e-mail address that is known to the interactive user, that is presented to the interactive user via a graphical user interface, or that is identified by thee-mail server 23 from identity information associated with electronic document. It may be that the electronic document submitted by the interactive user at step 802 is the first submission of an electronic document to be utilized in the construction of a profile for the specific entity. In such a case, a mailbox for the third party may not as yet the existence. Nonetheless, in this case, the interactive user provides identity information that may be utilized to construct a mailbox. For example, the interactive user may specify a new e-mail address that is not as yet recorded within theknowledge server 22. - At step804, the
e-mail server 23 determines whether a mailbox exists for the relevant third party. Following decision box 806, should no mailbox exist for the third party, a determination is made at decision box 808 as to whether automatic third party profile creation has been enabled by a system administrator. If not, at step 810, a message to this effect is sent to the interactive user who originated the transmission of the electronic document. Alternatively, following a positive determination at decision box 808, at step 812, a mailbox is automatically created by the knowledgesite management server 27 for the third party, and this information is communicated to thee-mail server 23. Further, a user record for the third party is created in the user table 90. Reference is now made to FIG. 26, which shows a modified example of the user table 90 shown in FIG. 6, that now includes an “interactive/non-interactive” column 99. As a default condition, a record for a third party within the user table indicates the third party as being a “non-interactive” user. Accordingly, the third party is, as a default condition, not permitted to interact with the profile created for the third party. However, a systems administrator may modify the status of the record for the relevant third party to enable the third party to participate within the knowledge management system as an interactive user. - Returning to decision box806, if a mailbox already exists for the third party (e.g., the third party is already registered and recorded as interactive user within the knowledge management system), the method 800 proceeds directly to step 814. The method 800 also proceeds to step 814 following completion of step 812. At step 814, the knowledge
site management server 27 parses the received electronic document to identify profile terms therein. This parsing is performed, in one exemplary embodiment, according to the method described above with reference to FIG. 8. - At step816, a confidence level is calculated and assigned to the identified profile terms within the context of the electronic document. This may be done in the manner described above with reference to FIG. 9A. At
step 86, the identified profile terms are recorded in the term table 100, as illustrated in FIG. 26, and a user-term binding record for each profile term and the third party is created within the user-term table 112. If a relevant user-term binding record for a profile term and the third party already exists within the user-term table 112, then the confidence level assigned to the binding may be adjusted at step 818. - As also described above, a user-term binding record may be allocated to either the public or private portion of the user profile of the third entity, depending on the confidence level assigned to the relevant binding. The confidence level, in the case of terms extracted from an electronic document submitted by third party, may in one embodiment be subject to slightly modified confidence level determining algorithms. For example, a predetermined threshold number of occurrences of a profile term across all documents received from third parties may be required before a non-owner submitted profile term is advanced from the private portion of a profile to the public portion thereof.
- At step820, the knowledge site management 727 may then mark the user-term binding record within the user-term table 112 as being either owner submitted or non-owner submitted. This end, and referring to FIG. 26, the user-term table 112 is shown to include an “owner-submitted” column 113 within which the source of the term may be recorded as being either the user identified by the user ID within the
user ID column 114 or as being another user. Of course it will be appreciated that a user-term binding record entered into the user-term table 112 for a term extracted from an electronic document submitted by the owner-user will be marked as being owner-submitted, and thus distinguishable from binding records for non-owner submitted profile terms. Following step 820, the method 800 then terminates at step 822. - Accordingly, by allowing an interactive user within a knowledge management system to submit an electronic document to a mailbox, containing information about a third party who may or may not be an active participant in the knowledge management system, for the purposes of profile creation, the profiling of entities (e.g., individuals, organizations or other bodies) selectable by the interactive user is facilitated. For example, it is envisage that within an organization, a profile of a particular customer may be created by the submission of electronic documents pertaining to the customer to an e-mail address dedicated to the customer. In this situation, the customer would typically remain a non-interactive entity within the context of the knowledge management system. On the other hand, a first member of a particular organization may submit documents that are believed to provide profile information regarding a second member to a mailbox dedicated to receiving documents for profiling the second member. In this case, the second member would typically be an interactive user of the knowledge management system, and thus able to control and edit his or her profile.
- FIG. 27 is a flowchart illustrating a
method 900, according to an exemplary embodiment of the present invention, of displaying profile information of a computer display device (e.g., a cathode ray tube (CTR) or a liquid crystal display (LCD)). Themethod 900 may be performed by the knowledge management client 700, abrowser client 16, or ane-mail client 18 responsive to input (e.g., an HTML document) received from theWeb server 20 or thee-mail server 23. - The
method 900 commences at step 902, where a profile to be displayed is access by the knowledgesite management server 27. Specifically, as indicated at step 904, a user-term table 112 and a term table 100 may be accessed with a view to displaying terms of the user profile for a first entity against which a match occurred during the processing of a query. Alternatively the access to the profile may be performed responsive to a request from a user to modify his or her profile. - At decision box906, a determination is made with respect to each term, identified as belonging to a particular profile according to the user-term table 122, regarding whether relevant binding record indicates the term (in the context of the profile) as being non-owner submitted. If the term is identified as having been submitted to the profile by a non-owner of the profile, the
method 900 proceeds to step 908, where the display by a client of the profile term is distinguished by a graphic characteristic. For example, a grey icon may be displayed adjacent the relevant term to indicate the non-owner submitted nature thereof. On the other hand, if a term is identified as having been submitted to the profile by the owner of the profile, themethod 900 proceeds to step 910, where the display by a client of the profile term may also be distinguished by a different graphic characteristic. For example, a color icon may be displayed adjacent to the relevant term to indicate the owner-submitted nature thereof. - At decision box912, a determination is made as to whether there are any further terms within the profile that are required to be displayed. For example, a determination may be made as to whether a match occurred against any further terms responsive to a query. Alternatively, where all terms within a user profile are to be displayed, a simple determination is made as to whether there are any further terms that are required to be displayed. If there are further terms to be displayed, the
method 900 then loops back to step 904. Alternatively, themethod 900 terminates at step 914. - Accordingly, the
method 900 provides a convenient and user-friendly manner in terms of which a user, viewing profile information presented to the viewer as a result, for example, of a query against a knowledge profile database, is able visually to distinguish between profile terms that have been owner-submitted and those that are not owner-submitted. - Thus, a method and apparatus for constructing a user knowledge profile have been described. Although the present invention has been described with reference to specific exemplary embodiments, it will be evident that various modifications and changes may be made to these embodiments without departing from the broader spirit and scope of the invention. Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense.
Claims (19)
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/271,022 US6405197B2 (en) | 1998-09-18 | 1999-03-17 | Method of constructing and displaying an entity profile constructed utilizing input from entities other than the owner |
AU59106/99A AU5910699A (en) | 1998-09-18 | 1999-09-10 | Method of constructing and displaying an entity profile constructed utilizing input from entities other than the owner |
PCT/US1999/020487 WO2000017784A1 (en) | 1998-09-18 | 1999-09-10 | Method of constructing and displaying an entity profile constructed utilizing input from entities other than the owner |
US09/697,700 US6640229B1 (en) | 1998-09-18 | 2000-10-25 | Automatic management of terms in a user profile in a knowledge management system |
US10/437,861 US20040107190A1 (en) | 1998-09-18 | 2003-05-13 | Automatic management of terms in a user profile in a knowledge management system |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/156,468 US6253202B1 (en) | 1998-09-18 | 1998-09-18 | Method, system and apparatus for authorizing access by a first user to a knowledge profile of a second user responsive to an access request from the first user |
US09/271,022 US6405197B2 (en) | 1998-09-18 | 1999-03-17 | Method of constructing and displaying an entity profile constructed utilizing input from entities other than the owner |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/156,468 Continuation-In-Part US6253202B1 (en) | 1998-09-18 | 1998-09-18 | Method, system and apparatus for authorizing access by a first user to a knowledge profile of a second user responsive to an access request from the first user |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/697,700 Continuation-In-Part US6640229B1 (en) | 1998-09-18 | 2000-10-25 | Automatic management of terms in a user profile in a knowledge management system |
Publications (2)
Publication Number | Publication Date |
---|---|
US20010013029A1 true US20010013029A1 (en) | 2001-08-09 |
US6405197B2 US6405197B2 (en) | 2002-06-11 |
Family
ID=22559697
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/156,468 Expired - Lifetime US6253202B1 (en) | 1998-09-18 | 1998-09-18 | Method, system and apparatus for authorizing access by a first user to a knowledge profile of a second user responsive to an access request from the first user |
US09/271,022 Expired - Lifetime US6405197B2 (en) | 1998-09-18 | 1999-03-17 | Method of constructing and displaying an entity profile constructed utilizing input from entities other than the owner |
US09/571,697 Expired - Lifetime US6970879B1 (en) | 1998-09-18 | 2000-05-15 | Method of constructing and displaying an entity profile constructed utilizing input from entities other than the owner |
US09/893,087 Expired - Lifetime US6647384B2 (en) | 1998-09-18 | 2001-06-26 | Method and apparatus for managing user profiles including identifying users based on matched query term |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/156,468 Expired - Lifetime US6253202B1 (en) | 1998-09-18 | 1998-09-18 | Method, system and apparatus for authorizing access by a first user to a knowledge profile of a second user responsive to an access request from the first user |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/571,697 Expired - Lifetime US6970879B1 (en) | 1998-09-18 | 2000-05-15 | Method of constructing and displaying an entity profile constructed utilizing input from entities other than the owner |
US09/893,087 Expired - Lifetime US6647384B2 (en) | 1998-09-18 | 2001-06-26 | Method and apparatus for managing user profiles including identifying users based on matched query term |
Country Status (4)
Country | Link |
---|---|
US (4) | US6253202B1 (en) |
EP (1) | EP1121652B1 (en) |
AU (1) | AU6139599A (en) |
WO (1) | WO2000017785A1 (en) |
Cited By (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020194178A1 (en) * | 1998-09-18 | 2002-12-19 | Tacit Knowledge Systems, Inc. | Method and apparatus for constructing and maintaining a user knowledge profile |
US20040267761A1 (en) * | 2003-06-23 | 2004-12-30 | Jiang-Liang Hou | Method/apparatus for managing information including word codes |
US20050131888A1 (en) * | 2000-04-24 | 2005-06-16 | Tafoya John E. | System and method for automatically populating a dynamic resolution list |
US20050187949A1 (en) * | 2000-01-14 | 2005-08-25 | Dirk Rodenburg | System, apparatus and method for using and managing digital information |
US20060129975A1 (en) * | 2003-08-01 | 2006-06-15 | Centrum für Ertragsoptimierung Aktiengesellschaft | Measuring method and automatic pattern recognition system for determining a business management related characteristic vector of a knowledge object and method and automatic system for the automatic business management related characterization of a knowledge object |
US20070078803A1 (en) * | 2005-10-05 | 2007-04-05 | Gilmour David L | Method, system and apparatus for searchcasting with privacy control |
US7203725B1 (en) * | 1998-09-18 | 2007-04-10 | Tacit Software, Inc. | Withdrawal of requests of target number of requests responses received |
US20070088687A1 (en) * | 2005-10-18 | 2007-04-19 | Microsoft Corporation | Searching based on messages |
US7219105B2 (en) | 2003-09-17 | 2007-05-15 | International Business Machines Corporation | Method, system and computer program product for profiling entities |
US7243092B2 (en) * | 2001-12-28 | 2007-07-10 | Sap Ag | Taxonomy generation for electronic documents |
US7305381B1 (en) * | 2001-09-14 | 2007-12-04 | Ricoh Co., Ltd | Asynchronous unconscious retrieval in a network of information appliances |
US7375835B1 (en) | 2001-10-29 | 2008-05-20 | Ricoh Co., Ltd. | E-mail transmission of print-ready documents |
US7428578B1 (en) | 2002-07-02 | 2008-09-23 | Ricoh Co., Ltd | Remotely initiated document transmission |
US20080288310A1 (en) * | 2007-05-16 | 2008-11-20 | Cvon Innovation Services Oy | Methodologies and systems for mobile marketing and advertising |
US20100241749A1 (en) * | 2009-03-23 | 2010-09-23 | Jens Eilstrup Rasmussen | System and Method for Editing a Conversation in a Hosted Conversation System |
US7877266B2 (en) | 2004-07-28 | 2011-01-25 | Dun & Bradstreet, Inc. | System and method for using social networks to facilitate business processes |
US20110055295A1 (en) * | 2009-09-01 | 2011-03-03 | International Business Machines Corporation | Systems and methods for context aware file searching |
US20130253916A1 (en) * | 2008-10-02 | 2013-09-26 | International Business Machines Corporation | Extracting terms from document data including text segment |
US8554794B2 (en) | 2004-05-17 | 2013-10-08 | Hoover's Inc. | System and method for enforcing privacy in social networks |
US8751941B1 (en) * | 2012-07-15 | 2014-06-10 | Identropy, Inc. | Graphical user interface for unified identity management across internal and shared computing applications |
US9021386B1 (en) | 2009-05-28 | 2015-04-28 | Google Inc. | Enhanced user interface scrolling system |
US9026935B1 (en) | 2010-05-28 | 2015-05-05 | Google Inc. | Application user interface with an interactive overlay |
US9166939B2 (en) | 2009-05-28 | 2015-10-20 | Google Inc. | Systems and methods for uploading media content in an instant messaging conversation |
US9380011B2 (en) | 2010-05-28 | 2016-06-28 | Google Inc. | Participant-specific markup |
US9602444B2 (en) * | 2009-05-28 | 2017-03-21 | Google Inc. | Participant suggestion system |
US9805373B1 (en) | 2002-11-19 | 2017-10-31 | Oracle International Corporation | Expertise services platform |
US11809432B2 (en) | 2002-01-14 | 2023-11-07 | Awemane Ltd. | Knowledge gathering system based on user's affinity |
Families Citing this family (325)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6353824B1 (en) * | 1997-11-18 | 2002-03-05 | Apple Computer, Inc. | Method for dynamic presentation of the contents topically rich capsule overviews corresponding to the plurality of documents, resolving co-referentiality in document segments |
JPH11313105A (en) * | 1998-04-24 | 1999-11-09 | Canon Inc | Server, client, server control method, client control method, client-server system and storage medium |
WO2000017784A1 (en) * | 1998-09-18 | 2000-03-30 | Tacit Knowledge Systems | Method of constructing and displaying an entity profile constructed utilizing input from entities other than the owner |
US6377949B1 (en) | 1998-09-18 | 2002-04-23 | Tacit Knowledge Systems, Inc. | Method and apparatus for assigning a confidence level to a term within a user knowledge profile |
WO2000022551A1 (en) | 1998-10-13 | 2000-04-20 | Chris Cheah | Method and system for controlled distribution of information over a network |
US6741995B1 (en) * | 1999-03-23 | 2004-05-25 | Metaedge Corporation | Method for dynamically creating a profile |
US6493702B1 (en) * | 1999-05-05 | 2002-12-10 | Xerox Corporation | System and method for searching and recommending documents in a collection using share bookmarks |
US6542515B1 (en) * | 1999-05-19 | 2003-04-01 | Sun Microsystems, Inc. | Profile service |
US7146505B1 (en) | 1999-06-01 | 2006-12-05 | America Online, Inc. | Secure data exchange between date processing systems |
US7584250B1 (en) * | 1999-06-28 | 2009-09-01 | Lockheed Martin Corp. | Method and system for distributing an invention disclosure over an intranet |
US6539379B1 (en) * | 1999-08-23 | 2003-03-25 | Oblix, Inc. | Method and apparatus for implementing a corporate directory and service center |
US7000194B1 (en) * | 1999-09-22 | 2006-02-14 | International Business Machines Corporation | Method and system for profiling users based on their relationships with content topics |
US6944669B1 (en) * | 1999-10-22 | 2005-09-13 | America Online, Inc. | Sharing the personal information of a network user with the resources accessed by that network user |
US7401115B1 (en) | 2000-10-23 | 2008-07-15 | Aol Llc | Processing selected browser requests |
US20100185614A1 (en) * | 1999-11-04 | 2010-07-22 | O'brien Brett | Shared Internet storage resource, user interface system, and method |
US6876991B1 (en) | 1999-11-08 | 2005-04-05 | Collaborative Decision Platforms, Llc. | System, method and computer program product for a collaborative decision platform |
US7680819B1 (en) * | 1999-11-12 | 2010-03-16 | Novell, Inc. | Managing digital identity information |
US6557008B1 (en) * | 1999-12-07 | 2003-04-29 | International Business Machines Corporation | Method for managing a heterogeneous IT computer complex |
US6704727B1 (en) * | 2000-01-31 | 2004-03-09 | Overture Services, Inc. | Method and system for generating a set of search terms |
US7143089B2 (en) * | 2000-02-10 | 2006-11-28 | Involve Technology, Inc. | System for creating and maintaining a database of information utilizing user opinions |
US6701362B1 (en) * | 2000-02-23 | 2004-03-02 | Purpleyogi.Com Inc. | Method for creating user profiles |
US7159039B1 (en) * | 2000-02-28 | 2007-01-02 | Verizon Laboratories Inc. | Systems and methods for providing in-band and out-band message processing |
JP2001312610A (en) * | 2000-04-28 | 2001-11-09 | Nec Corp | System and method for m and a plan development |
US7725525B2 (en) * | 2000-05-09 | 2010-05-25 | James Duncan Work | Method and apparatus for internet-based human network brokering |
US7177904B1 (en) | 2000-05-18 | 2007-02-13 | Stratify, Inc. | Techniques for sharing content information with members of a virtual user group in a network environment without compromising user privacy |
US7546337B1 (en) | 2000-05-18 | 2009-06-09 | Aol Llc, A Delaware Limited Liability Company | Transferring files |
US7096220B1 (en) | 2000-05-24 | 2006-08-22 | Reachforce, Inc. | Web-based customer prospects harvester system |
US7003517B1 (en) * | 2000-05-24 | 2006-02-21 | Inetprofit, Inc. | Web-based system and method for archiving and searching participant-based internet text sources for customer lead data |
US7120629B1 (en) | 2000-05-24 | 2006-10-10 | Reachforce, Inc. | Prospects harvester system for providing contact data about customers of product or service offered by business enterprise extracting text documents selected from newsgroups, discussion forums, mailing lists, querying such data to provide customers who confirm to business profile data |
US7082427B1 (en) | 2000-05-24 | 2006-07-25 | Reachforce, Inc. | Text indexing system to index, query the archive database document by keyword data representing the content of the documents and by contact data associated with the participant who generated the document |
US7366779B1 (en) | 2000-06-19 | 2008-04-29 | Aol Llc, A Delaware Limited Liability Company | Direct file transfer between subscribers of a communications system |
US20030204536A1 (en) * | 2000-06-30 | 2003-10-30 | Keskar Dhananjay V. | Technique for automatically associating desktop data items |
US7028020B1 (en) * | 2000-06-30 | 2006-04-11 | Intel Corporation | Interactive technique to automatically find and organize items similar to example items |
US7584251B2 (en) * | 2000-08-28 | 2009-09-01 | Brown Scott T | E-mail messaging system and method for enhanced rich media delivery |
US6895438B1 (en) | 2000-09-06 | 2005-05-17 | Paul C. Ulrich | Telecommunication-based time-management system and method |
US7043531B1 (en) | 2000-10-04 | 2006-05-09 | Inetprofit, Inc. | Web-based customer lead generator system with pre-emptive profiling |
US7330850B1 (en) | 2000-10-04 | 2008-02-12 | Reachforce, Inc. | Text mining system for web-based business intelligence applied to web site server logs |
JP3851944B2 (en) * | 2000-10-17 | 2006-11-29 | 株式会社メキキ | Human network relationship registration system, human network relationship registration method and server, human network relationship registration program, and computer-readable recording medium recording the program |
US7269624B1 (en) * | 2000-12-20 | 2007-09-11 | At&T Bls Intellectual Property, Inc. | Method and apparatus for dynamically managing electronic mail messages on a remote electronic mail messaging system |
US6741981B2 (en) * | 2001-03-02 | 2004-05-25 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration (Nasa) | System, method and apparatus for conducting a phrase search |
US6823333B2 (en) * | 2001-03-02 | 2004-11-23 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | System, method and apparatus for conducting a keyterm search |
US7237117B2 (en) | 2001-03-16 | 2007-06-26 | Kenneth P. Weiss | Universal secure registry |
RU2272316C2 (en) * | 2001-03-16 | 2006-03-20 | Нетомат, Инк. | Joint use, control and transmission of information along computer network |
JP3470704B2 (en) * | 2001-03-28 | 2003-11-25 | ミノルタ株式会社 | Data transmission device, data transmission method, data transmission program, and computer-readable recording medium recording data transmission program |
US20030074400A1 (en) * | 2001-03-30 | 2003-04-17 | David Brooks | Web user profiling system and method |
US6968334B2 (en) * | 2001-05-15 | 2005-11-22 | Nokia Corporation | Method and business process to maintain privacy in distributed recommendation systems |
US8291457B2 (en) | 2001-05-24 | 2012-10-16 | Vixs Systems, Inc. | Channel selection in a multimedia system |
US7301900B1 (en) * | 2001-05-24 | 2007-11-27 | Vixs Systems Inc | Method and apparatus for hub-based network access via a multimedia system |
US20090031419A1 (en) | 2001-05-24 | 2009-01-29 | Indra Laksono | Multimedia system and server and methods for use therewith |
US6978273B1 (en) | 2001-06-18 | 2005-12-20 | Trilogy Development Group, Inc. | Rules based custom catalogs generated from a central catalog database for multiple entities |
US7797271B1 (en) * | 2001-06-18 | 2010-09-14 | Versata Development Group, Inc. | Custom browse hierarchies for subsets of items in a primary hierarchy |
US20030004922A1 (en) * | 2001-06-27 | 2003-01-02 | Ontrack Data International, Inc. | System and method for data management |
US20030014395A1 (en) * | 2001-07-12 | 2003-01-16 | International Business Machines Corporation | Communication triggered just in time information |
US7716086B2 (en) * | 2001-08-31 | 2010-05-11 | Gateway, Inc. | Electronic retail order communication |
US6990495B1 (en) * | 2001-09-05 | 2006-01-24 | Bellsouth Intellectual Property Corporation | System and method for finding persons in a corporate entity |
US7171624B2 (en) * | 2001-10-05 | 2007-01-30 | International Business Machines Corporation | User interface architecture for storage area network |
US20030074456A1 (en) * | 2001-10-12 | 2003-04-17 | Peter Yeung | System and a method relating to access control |
US6744753B2 (en) * | 2001-11-01 | 2004-06-01 | Nokia Corporation | Local service handover |
US7151764B1 (en) | 2001-11-01 | 2006-12-19 | Nokia Corporation | Service notification on a low bluetooth layer |
US7555287B1 (en) | 2001-11-01 | 2009-06-30 | Nokia Corporation | Customized messaging between wireless access point and services |
US6769002B2 (en) | 2001-11-08 | 2004-07-27 | Jordan E. Ayan | System and methods for multilevel electronic mail communication programs |
US6938044B1 (en) * | 2001-12-28 | 2005-08-30 | Ncr Corporation | Tracking usage of resources of a database system |
EP1466261B1 (en) | 2002-01-08 | 2018-03-07 | Seven Networks, LLC | Connection architecture for a mobile network |
US7107297B2 (en) * | 2002-01-10 | 2006-09-12 | International Business Machines Corporation | System and method for metadirectory differential updates among constituent heterogeneous data sources |
US20030157470A1 (en) * | 2002-02-11 | 2003-08-21 | Michael Altenhofen | E-learning station and interface |
US7340214B1 (en) * | 2002-02-13 | 2008-03-04 | Nokia Corporation | Short-range wireless system and method for multimedia tags |
US7219301B2 (en) * | 2002-03-01 | 2007-05-15 | Iparadigms, Llc | Systems and methods for conducting a peer review process and evaluating the originality of documents |
US7102640B1 (en) * | 2002-03-21 | 2006-09-05 | Nokia Corporation | Service/device indication with graphical interface |
US7293033B1 (en) * | 2002-03-27 | 2007-11-06 | Swsoft Holdings, Ltd. | System and method for providing effective file-sharing in a computer system to allow concurrent multi-user access |
US7783665B1 (en) | 2002-03-27 | 2010-08-24 | Parallels Holdings, Ltd. | Effective file-sharing among virtual environments |
US7024404B1 (en) * | 2002-05-28 | 2006-04-04 | The State University Rutgers | Retrieval and display of data objects using a cross-group ranking metric |
US7096254B2 (en) * | 2002-05-30 | 2006-08-22 | International Business Machines Corporation | Electronic mail distribution network implementation for safeguarding sender's address book covering addressee aliases with minimum interference with normal electronic mail transmission |
US7103313B2 (en) * | 2002-06-05 | 2006-09-05 | Nokia Corporation | Automatic determination of access point content and services for short-range wireless terminals |
US8375113B2 (en) * | 2002-07-11 | 2013-02-12 | Oracle International Corporation | Employing wrapper profiles |
US7428592B2 (en) * | 2002-07-11 | 2008-09-23 | Oracle International Corporation | Securely persisting network resource identifiers |
US7467142B2 (en) * | 2002-07-11 | 2008-12-16 | Oracle International Corporation | Rule based data management |
US7512585B2 (en) | 2002-07-11 | 2009-03-31 | Oracle International Corporation | Support for multiple mechanisms for accessing data stores |
US7478407B2 (en) * | 2002-07-11 | 2009-01-13 | Oracle International Corporation | Supporting multiple application program interfaces |
US7206851B2 (en) | 2002-07-11 | 2007-04-17 | Oracle International Corporation | Identifying dynamic groups |
US20040024719A1 (en) * | 2002-07-31 | 2004-02-05 | Eytan Adar | System and method for scoring messages within a system for harvesting community kowledge |
US7539697B1 (en) | 2002-08-08 | 2009-05-26 | Spoke Software | Creation and maintenance of social relationship network graphs |
US7958144B2 (en) | 2002-08-30 | 2011-06-07 | Boss Logic, Llc | System and method for secure reciprocal exchange of data |
US7089248B1 (en) * | 2002-11-04 | 2006-08-08 | Adobe Systems Incorporated | Group file delivery including user-defined metadata |
US9100218B2 (en) * | 2002-11-18 | 2015-08-04 | Aol Inc. | Enhanced buddy list interface |
US20050083851A1 (en) * | 2002-11-18 | 2005-04-21 | Fotsch Donald J. | Display of a connection speed of an on-line user |
US8037150B2 (en) | 2002-11-21 | 2011-10-11 | Aol Inc. | System and methods for providing multiple personas in a communications environment |
US7636755B2 (en) * | 2002-11-21 | 2009-12-22 | Aol Llc | Multiple avatar personalities |
US20040117222A1 (en) * | 2002-12-14 | 2004-06-17 | International Business Machines Corporation | System and method for evaluating information aggregates by generation of knowledge capital |
US8719284B2 (en) * | 2002-12-18 | 2014-05-06 | International Business Machines Corporation | Method, system and program product for filtering an entry of data items |
US7853563B2 (en) | 2005-08-01 | 2010-12-14 | Seven Networks, Inc. | Universal data aggregation |
US7917468B2 (en) | 2005-08-01 | 2011-03-29 | Seven Networks, Inc. | Linking of personal information management data |
US8468126B2 (en) | 2005-08-01 | 2013-06-18 | Seven Networks, Inc. | Publishing data in an information community |
US7092958B2 (en) * | 2003-01-29 | 2006-08-15 | Battelle Energy Alliance, Llc | Knowledge information management toolkit and method |
US7472110B2 (en) * | 2003-01-29 | 2008-12-30 | Microsoft Corporation | System and method for employing social networks for information discovery |
US7627894B2 (en) * | 2003-02-04 | 2009-12-01 | Nokia Corporation | Method and system for authorizing access to user information in a network |
US7703000B2 (en) * | 2003-02-13 | 2010-04-20 | Iparadigms Llc | Systems and methods for contextual mark-up of formatted documents |
US7908554B1 (en) | 2003-03-03 | 2011-03-15 | Aol Inc. | Modifying avatar behavior based on user action or mood |
US7913176B1 (en) | 2003-03-03 | 2011-03-22 | Aol Inc. | Applying access controls to communications with avatars |
US20070168863A1 (en) * | 2003-03-03 | 2007-07-19 | Aol Llc | Interacting avatars in an instant messaging communication session |
US7484176B2 (en) * | 2003-03-03 | 2009-01-27 | Aol Llc, A Delaware Limited Liability Company | Reactive avatars |
US20040181517A1 (en) * | 2003-03-13 | 2004-09-16 | Younghee Jung | System and method for social interaction |
US7451113B1 (en) * | 2003-03-21 | 2008-11-11 | Mighty Net, Inc. | Card management system and method |
US20060277091A1 (en) * | 2003-04-02 | 2006-12-07 | Kochikar Vivekanand P | Automated method for quantitative measurement of benefits in a plurality of self-assessing, knowledge sharing communities |
GB0310371D0 (en) * | 2003-05-07 | 2003-06-11 | Salemander Organization The Lt | Method and system for performance analysis for a service provided to or in an organisation |
WO2004104789A2 (en) | 2003-05-20 | 2004-12-02 | America Online, Inc. | Presence and geographic location notification |
US7245932B2 (en) * | 2003-05-20 | 2007-07-17 | Lucent Technologies Inc. | Real time administration of shared communication plan arrangements |
KR100955764B1 (en) | 2003-06-30 | 2010-04-30 | 주식회사 케이티 | Knowledge management system and its method based on pattern network |
US7599938B1 (en) | 2003-07-11 | 2009-10-06 | Harrison Jr Shelton E | Social news gathering, prioritizing, tagging, searching, and syndication method |
US20050283753A1 (en) * | 2003-08-07 | 2005-12-22 | Denise Ho | Alert triggers and event management in a relationship system |
US7373389B2 (en) * | 2003-08-27 | 2008-05-13 | Spoke Software | Periodic update of data in a relationship system |
US7318037B2 (en) * | 2003-08-27 | 2008-01-08 | International Business Machines Corporation | Method, system and program product for calculating relationship strengths between users of a computerized network |
US20050071479A1 (en) * | 2003-09-30 | 2005-03-31 | Dimitris Achlioptas | Smart button |
US7882132B2 (en) | 2003-10-09 | 2011-02-01 | Oracle International Corporation | Support for RDBMS in LDAP system |
US7904487B2 (en) | 2003-10-09 | 2011-03-08 | Oracle International Corporation | Translating data access requests |
US7389324B2 (en) * | 2003-11-07 | 2008-06-17 | Plaxo, Inc. | Viral engine for network deployment |
US7080104B2 (en) * | 2003-11-07 | 2006-07-18 | Plaxo, Inc. | Synchronization and merge engines |
US8032555B2 (en) * | 2003-11-26 | 2011-10-04 | Buy.Com, Inc. | Method and apparatus for constructing a networking database and system proactively |
US20050120019A1 (en) * | 2003-11-29 | 2005-06-02 | International Business Machines Corporation | Method and apparatus for the automatic identification of unsolicited e-mail messages (SPAM) |
US9288000B2 (en) | 2003-12-17 | 2016-03-15 | International Business Machines Corporation | Monitoring a communication and retrieving information relevant to the communication |
US20050136837A1 (en) * | 2003-12-22 | 2005-06-23 | Nurminen Jukka K. | Method and system for detecting and using context in wireless networks |
US7545784B2 (en) | 2004-02-11 | 2009-06-09 | Yahoo! Inc. | System and method for wireless communication between previously known and unknown users |
US20050246221A1 (en) * | 2004-02-13 | 2005-11-03 | Geritz William F Iii | Automated system and method for determination and reporting of business development opportunities |
US20050188061A1 (en) * | 2004-02-24 | 2005-08-25 | Bloom Jack S. | Electronic matching system |
EP1728138A1 (en) * | 2004-03-16 | 2006-12-06 | Grid Analytics Llc | System and method for aggregation and analysis of information from multiple disparate sources while assuring source and record anonymity using an exchange hub |
JP4075883B2 (en) * | 2004-05-12 | 2008-04-16 | セイコーエプソン株式会社 | Droplet ejection device, electro-optical device manufacturing method, and electro-optical device |
EP1769452A4 (en) | 2004-06-29 | 2008-07-02 | Textura Corp | Construction payment management system and method |
US7181939B2 (en) * | 2004-08-11 | 2007-02-27 | Andersen Michael T | Key assembly |
US20060075075A1 (en) * | 2004-10-01 | 2006-04-06 | Malinen Jouni I | Method and system to contextually initiate synchronization services on mobile terminals in an enterprise environment |
US7752671B2 (en) * | 2004-10-04 | 2010-07-06 | Promisec Ltd. | Method and device for questioning a plurality of computerized devices |
US11283885B2 (en) | 2004-10-19 | 2022-03-22 | Verizon Patent And Licensing Inc. | System and method for location based matching and promotion |
WO2006044939A2 (en) * | 2004-10-19 | 2006-04-27 | Rosen James S | System and method for location based social networking |
US8010082B2 (en) | 2004-10-20 | 2011-08-30 | Seven Networks, Inc. | Flexible billing architecture |
WO2006045102A2 (en) | 2004-10-20 | 2006-04-27 | Seven Networks, Inc. | Method and apparatus for intercepting events in a communication system |
US7706781B2 (en) | 2004-11-22 | 2010-04-27 | Seven Networks International Oy | Data security in a mobile e-mail service |
FI117152B (en) | 2004-12-03 | 2006-06-30 | Seven Networks Internat Oy | E-mail service provisioning method for mobile terminal, involves using domain part and further parameters to generate new parameter set in list of setting parameter sets, if provisioning of e-mail service is successful |
US7468729B1 (en) | 2004-12-21 | 2008-12-23 | Aol Llc, A Delaware Limited Liability Company | Using an avatar to generate user profile information |
US9652809B1 (en) | 2004-12-21 | 2017-05-16 | Aol Inc. | Using user profile information to determine an avatar and/or avatar characteristics |
US20060149731A1 (en) * | 2005-01-05 | 2006-07-06 | Schirmer Andrew L | System and method for deriving affinity relationships between objects |
US7752633B1 (en) | 2005-03-14 | 2010-07-06 | Seven Networks, Inc. | Cross-platform event engine |
US8838588B2 (en) | 2005-03-30 | 2014-09-16 | International Business Machines Corporation | System and method for dynamically tracking user interests based on personal information |
US8175889B1 (en) | 2005-04-06 | 2012-05-08 | Experian Information Solutions, Inc. | Systems and methods for tracking changes of address based on service disconnect/connect data |
US7870079B2 (en) * | 2005-04-11 | 2011-01-11 | Jobfox, Inc. | Method and apparatus for employment system distributed hiring and co-operative pooling |
US8438633B1 (en) | 2005-04-21 | 2013-05-07 | Seven Networks, Inc. | Flexible real-time inbox access |
US7796742B1 (en) | 2005-04-21 | 2010-09-14 | Seven Networks, Inc. | Systems and methods for simplified provisioning |
US10699593B1 (en) * | 2005-06-08 | 2020-06-30 | Pearson Education, Inc. | Performance support integration with E-learning system |
WO2006136660A1 (en) | 2005-06-21 | 2006-12-28 | Seven Networks International Oy | Maintaining an ip connection in a mobile network |
US8046410B1 (en) * | 2005-06-29 | 2011-10-25 | Weidong Chen | System and method for attribute detection in user profile creation and update |
US8069166B2 (en) | 2005-08-01 | 2011-11-29 | Seven Networks, Inc. | Managing user-to-user contact with inferred presence information |
US7562287B1 (en) * | 2005-08-17 | 2009-07-14 | Clipmarks Llc | System, method and apparatus for selecting, displaying, managing, tracking and transferring access to content of web pages and other sources |
US20070100865A1 (en) * | 2005-10-28 | 2007-05-03 | Adobe Systems Incorporated | Aggregate file containing content-description files having native file formats |
US20070100846A1 (en) * | 2005-10-28 | 2007-05-03 | Adobe Systems Incorporated | Aggregate file containing a content-description file and a resource file |
US20070192461A1 (en) * | 2005-11-03 | 2007-08-16 | Robert Reich | System and method for dynamically generating and managing an online context-driven interactive social network |
US8065286B2 (en) | 2006-01-23 | 2011-11-22 | Chacha Search, Inc. | Scalable search system using human searchers |
US8117196B2 (en) | 2006-01-23 | 2012-02-14 | Chacha Search, Inc. | Search tool providing optional use of human search guides |
US9336333B2 (en) * | 2006-02-13 | 2016-05-10 | Linkedin Corporation | Searching and reference checking within social networks |
US8234220B2 (en) | 2007-02-21 | 2012-07-31 | Weiss Kenneth P | Universal secure registry |
US11227676B2 (en) | 2006-02-21 | 2022-01-18 | Universal Secure Registry, Llc | Universal secure registry |
US8001055B2 (en) | 2006-02-21 | 2011-08-16 | Weiss Kenneth P | Method, system and apparatus for secure access, payment and identification |
US7769395B2 (en) | 2006-06-20 | 2010-08-03 | Seven Networks, Inc. | Location-based operations and messaging |
US9288052B2 (en) * | 2006-04-13 | 2016-03-15 | Moreover Acquisition Corporation | Method and apparatus to provide an authoring tool to create content for a secure content service |
US20070242827A1 (en) * | 2006-04-13 | 2007-10-18 | Verisign, Inc. | Method and apparatus to provide content containing its own access permissions within a secure content service |
US20070261116A1 (en) * | 2006-04-13 | 2007-11-08 | Verisign, Inc. | Method and apparatus to provide a user profile for use with a secure content service |
US8103947B2 (en) * | 2006-04-20 | 2012-01-24 | Timecove Corporation | Collaborative system and method for generating biographical accounts |
US8793579B2 (en) | 2006-04-20 | 2014-07-29 | Google Inc. | Graphical user interfaces for supporting collaborative generation of life stories |
US8689098B2 (en) | 2006-04-20 | 2014-04-01 | Google Inc. | System and method for organizing recorded events using character tags |
US20070250479A1 (en) * | 2006-04-20 | 2007-10-25 | Christopher Lunt | System and Method For Facilitating Collaborative Generation of Life Stories |
US20070255675A1 (en) * | 2006-04-26 | 2007-11-01 | Jacquelyn Fuzell-Casey | Auto-updating, web-accessible database to facilitate networking and resource management |
US7707222B2 (en) * | 2006-07-06 | 2010-04-27 | The United States Of America As Represented By The Secretary Of The Air Force | Method and apparatus for providing access to information systems via e-mail |
EP2057532A4 (en) | 2006-08-07 | 2010-12-29 | Chacha Search Inc | Method, system, and computer readable storage for affiliate group searching |
US20080059447A1 (en) * | 2006-08-24 | 2008-03-06 | Spock Networks, Inc. | System, method and computer program product for ranking profiles |
US8069180B1 (en) | 2006-08-29 | 2011-11-29 | United Services Automobile Association | Systems and methods for automated employee resource delivery |
US20080097979A1 (en) * | 2006-10-19 | 2008-04-24 | International Business Machines Corporation | System and method of finding related documents based on activity specific meta data and users' interest profiles |
US8108501B2 (en) | 2006-11-01 | 2012-01-31 | Yahoo! Inc. | Searching and route mapping based on a social network, location, and time |
US7917154B2 (en) | 2006-11-01 | 2011-03-29 | Yahoo! Inc. | Determining mobile content for a social network based on location and time |
WO2008092079A2 (en) | 2007-01-25 | 2008-07-31 | Clipmarks Llc | System, method and apparatus for selecting content from web sources and posting content to web logs |
US10007895B2 (en) * | 2007-01-30 | 2018-06-26 | Jonathan Brian Vanasco | System and method for indexing, correlating, managing, referencing and syndicating identities and relationships across systems |
US20090055369A1 (en) * | 2007-02-01 | 2009-02-26 | Jonathan Phillips | System, method and apparatus for implementing dynamic community formation processes within an online context-driven interactive social network |
US20080228544A1 (en) * | 2007-03-15 | 2008-09-18 | Bd Metrics | Method and system for developing an audience of buyers and obtaining their behavioral preferences using event keywords |
EP1972994A1 (en) * | 2007-03-20 | 2008-09-24 | Seiko Epson Corporation | Projector |
US8285656B1 (en) | 2007-03-30 | 2012-10-09 | Consumerinfo.Com, Inc. | Systems and methods for data verification |
US8200663B2 (en) * | 2007-04-25 | 2012-06-12 | Chacha Search, Inc. | Method and system for improvement of relevance of search results |
US20080270151A1 (en) * | 2007-04-26 | 2008-10-30 | Bd Metrics | Method and system for developing an audience of buyers and obtaining their behavioral preferences to promote commerce on a communication network |
US8693494B2 (en) | 2007-06-01 | 2014-04-08 | Seven Networks, Inc. | Polling |
US8805425B2 (en) | 2007-06-01 | 2014-08-12 | Seven Networks, Inc. | Integrated messaging |
JP5072446B2 (en) * | 2007-06-15 | 2012-11-14 | スパンション エルエルシー | Semiconductor device and control method thereof |
US8600343B2 (en) | 2007-07-25 | 2013-12-03 | Yahoo! Inc. | Method and system for collecting and presenting historical communication data for a mobile device |
US8646039B2 (en) * | 2007-08-01 | 2014-02-04 | Avaya Inc. | Automated peer authentication |
US8950001B2 (en) * | 2007-08-01 | 2015-02-03 | Avaya Inc. | Continual peer authentication |
US7979711B2 (en) * | 2007-08-08 | 2011-07-12 | International Business Machines Corporation | System and method for privacy preserving query verification |
US8413167B2 (en) * | 2007-10-01 | 2013-04-02 | Microsoft Corporation | Notifying a user of access to information by an application |
WO2009049293A1 (en) * | 2007-10-12 | 2009-04-16 | Chacha Search, Inc. | Method and system for creation of user/guide profile in a human-aided search system |
US20090113006A1 (en) * | 2007-10-31 | 2009-04-30 | Mcwana Kal | Method and apparatus for mutual exchange of sensitive personal information between users of an introductory meeting website |
US8364181B2 (en) | 2007-12-10 | 2013-01-29 | Seven Networks, Inc. | Electronic-mail filtering for mobile devices |
US8793305B2 (en) | 2007-12-13 | 2014-07-29 | Seven Networks, Inc. | Content delivery to a mobile device from a content service |
US9002828B2 (en) | 2007-12-13 | 2015-04-07 | Seven Networks, Inc. | Predictive content delivery |
US20090157496A1 (en) * | 2007-12-14 | 2009-06-18 | Yahoo! Inc. | Personal broadcast engine and network |
US8838803B2 (en) * | 2007-12-20 | 2014-09-16 | At&T Intellectual Property I, L.P. | Methods and apparatus for management of user presence in communication activities |
US9584343B2 (en) | 2008-01-03 | 2017-02-28 | Yahoo! Inc. | Presentation of organized personal and public data using communication mediums |
US8107921B2 (en) | 2008-01-11 | 2012-01-31 | Seven Networks, Inc. | Mobile virtual network operator |
US8862657B2 (en) | 2008-01-25 | 2014-10-14 | Seven Networks, Inc. | Policy based content service |
US8577894B2 (en) * | 2008-01-25 | 2013-11-05 | Chacha Search, Inc | Method and system for access to restricted resources |
US20090193338A1 (en) | 2008-01-28 | 2009-07-30 | Trevor Fiatal | Reducing network and battery consumption during content delivery and playback |
US20090204676A1 (en) * | 2008-02-11 | 2009-08-13 | International Business Machines Corporation | Content based routing of misaddressed e-mail |
US7996357B2 (en) * | 2008-02-29 | 2011-08-09 | Plaxo, Inc. | Enabling synchronization with a difference unaware data source |
US8615515B2 (en) * | 2008-05-09 | 2013-12-24 | International Business Machines Corporation | System and method for social inference based on distributed social sensor system |
US8787947B2 (en) | 2008-06-18 | 2014-07-22 | Seven Networks, Inc. | Application discovery on mobile devices |
US8078158B2 (en) | 2008-06-26 | 2011-12-13 | Seven Networks, Inc. | Provisioning applications for a mobile device |
US8312033B1 (en) | 2008-06-26 | 2012-11-13 | Experian Marketing Solutions, Inc. | Systems and methods for providing an integrated identifier |
US9256904B1 (en) | 2008-08-14 | 2016-02-09 | Experian Information Solutions, Inc. | Multi-bureau credit file freeze and unfreeze |
CA2736622C (en) * | 2008-09-08 | 2017-04-04 | Jason Clark | A computer implemented system and method for providing a community and collaboration platform around knowledge transfer, expertise, innovation, tangible assets, intangible assets and information assets |
US8909759B2 (en) | 2008-10-10 | 2014-12-09 | Seven Networks, Inc. | Bandwidth measurement |
US8639920B2 (en) | 2009-05-11 | 2014-01-28 | Experian Marketing Solutions, Inc. | Systems and methods for providing anonymized user profile data |
WO2010141216A2 (en) | 2009-06-02 | 2010-12-09 | Xobni Corporation | Self populating address book |
US20110191717A1 (en) | 2010-02-03 | 2011-08-04 | Xobni Corporation | Presenting Suggestions for User Input Based on Client Device Characteristics |
US8984074B2 (en) | 2009-07-08 | 2015-03-17 | Yahoo! Inc. | Sender-based ranking of person profiles and multi-person automatic suggestions |
US7930430B2 (en) | 2009-07-08 | 2011-04-19 | Xobni Corporation | Systems and methods to provide assistance during address input |
US8990323B2 (en) | 2009-07-08 | 2015-03-24 | Yahoo! Inc. | Defining a social network model implied by communications data |
US9721228B2 (en) | 2009-07-08 | 2017-08-01 | Yahoo! Inc. | Locally hosting a social network using social data stored on a user's computer |
US9767434B2 (en) * | 2009-07-09 | 2017-09-19 | International Business Machines Corporation | Identifying contacts |
US20110047213A1 (en) * | 2009-08-20 | 2011-02-24 | Alan David Manuel | Method and process for identifying trusted information of interest |
CN102033877A (en) | 2009-09-27 | 2011-04-27 | 阿里巴巴集团控股有限公司 | Search method and device |
US9087323B2 (en) | 2009-10-14 | 2015-07-21 | Yahoo! Inc. | Systems and methods to automatically generate a signature block |
WO2011047722A1 (en) * | 2009-10-22 | 2011-04-28 | Telefonaktiebolaget Lm Ericsson (Publ) | Method for managing access to protected resources in a computer network, physical entities and computer programs therefor |
US8560482B2 (en) * | 2009-12-07 | 2013-10-15 | Alphaport, Inc. | Avatar-based technical networking system |
WO2011088900A1 (en) * | 2010-01-25 | 2011-07-28 | Nokia Siemens Networks Oy | Method for controlling access to resources |
US9652802B1 (en) | 2010-03-24 | 2017-05-16 | Consumerinfo.Com, Inc. | Indirect monitoring and reporting of a user's credit data |
TW201209697A (en) | 2010-03-30 | 2012-03-01 | Michael Luna | 3D mobile user interface with configurable workspace management |
US8972257B2 (en) | 2010-06-02 | 2015-03-03 | Yahoo! Inc. | Systems and methods to present voice message information to a user of a computing device |
US8620935B2 (en) | 2011-06-24 | 2013-12-31 | Yahoo! Inc. | Personalizing an online service based on data collected for a user of a computing device |
US8784113B2 (en) * | 2010-06-15 | 2014-07-22 | Aaron H Bridges | Open and interactive e-learning system and method |
US8931058B2 (en) | 2010-07-01 | 2015-01-06 | Experian Information Solutions, Inc. | Systems and methods for permission arbitrated transaction services |
US8744956B1 (en) | 2010-07-01 | 2014-06-03 | Experian Information Solutions, Inc. | Systems and methods for permission arbitrated transaction services |
GB2495877B (en) | 2010-07-26 | 2013-10-02 | Seven Networks Inc | Distributed implementation of dynamic wireless traffic policy |
US8838783B2 (en) | 2010-07-26 | 2014-09-16 | Seven Networks, Inc. | Distributed caching for resource and mobile network traffic management |
WO2012018556A2 (en) | 2010-07-26 | 2012-02-09 | Ari Backholm | Mobile application traffic optimization |
EP3651028A1 (en) | 2010-07-26 | 2020-05-13 | Seven Networks, LLC | Mobile network traffic coordination across multiple applications |
KR101452664B1 (en) | 2010-09-03 | 2014-10-22 | 아이패러다임스, 엘엘씨 | Systems and methods for document analysis |
WO2012037479A1 (en) | 2010-09-17 | 2012-03-22 | Universal Secure Registry, Llc | Apparatus, system and method employing a wireless user-device |
US9330196B2 (en) | 2010-11-01 | 2016-05-03 | Seven Networks, Llc | Wireless traffic management system cache optimization using http headers |
CN103620576B (en) | 2010-11-01 | 2016-11-09 | 七网络公司 | It is applicable to the caching of mobile applications behavior and network condition |
US8326985B2 (en) | 2010-11-01 | 2012-12-04 | Seven Networks, Inc. | Distributed management of keep-alive message signaling for mobile network resource conservation and optimization |
US8166164B1 (en) | 2010-11-01 | 2012-04-24 | Seven Networks, Inc. | Application and network-based long poll request detection and cacheability assessment therefor |
US8484314B2 (en) | 2010-11-01 | 2013-07-09 | Seven Networks, Inc. | Distributed caching in a wireless network of content delivered for a mobile application over a long-held request |
US8190701B2 (en) | 2010-11-01 | 2012-05-29 | Seven Networks, Inc. | Cache defeat detection and caching of content addressed by identifiers intended to defeat cache |
US8843153B2 (en) | 2010-11-01 | 2014-09-23 | Seven Networks, Inc. | Mobile traffic categorization and policy for network use optimization while preserving user experience |
WO2012060995A2 (en) | 2010-11-01 | 2012-05-10 | Michael Luna | Distributed caching in a wireless network of content delivered for a mobile application over a long-held request |
US9060032B2 (en) | 2010-11-01 | 2015-06-16 | Seven Networks, Inc. | Selective data compression by a distributed traffic management system to reduce mobile data traffic and signaling traffic |
US8930262B1 (en) | 2010-11-02 | 2015-01-06 | Experian Technology Ltd. | Systems and methods of assisted strategy design |
US8484186B1 (en) | 2010-11-12 | 2013-07-09 | Consumerinfo.Com, Inc. | Personalized people finder |
US9147042B1 (en) | 2010-11-22 | 2015-09-29 | Experian Information Solutions, Inc. | Systems and methods for data verification |
CN103404193B (en) | 2010-11-22 | 2018-06-05 | 七网络有限责任公司 | The connection that adjustment data transmission is established with the transmission being optimized for through wireless network |
EP2636268B1 (en) | 2010-11-22 | 2019-02-27 | Seven Networks, LLC | Optimization of resource polling intervals to satisfy mobile device requests |
US20120197881A1 (en) | 2010-11-23 | 2012-08-02 | Allen Blue | Segmentation of professional network update data |
WO2012094675A2 (en) | 2011-01-07 | 2012-07-12 | Seven Networks, Inc. | System and method for reduction of mobile network traffic used for domain name system (dns) queries |
US9172762B2 (en) | 2011-01-20 | 2015-10-27 | Linkedin Corporation | Methods and systems for recommending a context based on content interaction |
US9229900B2 (en) | 2011-01-20 | 2016-01-05 | Linkedin Corporation | Techniques for ascribing social attributes to content |
US8949239B2 (en) * | 2011-01-20 | 2015-02-03 | Linkedin Corporation | Methods and systems for utilizing activity data with clustered events |
US8543515B2 (en) | 2011-02-25 | 2013-09-24 | Career Management Solutions, Llc | System and method for social recruiting |
US20120271903A1 (en) | 2011-04-19 | 2012-10-25 | Michael Luna | Shared resource and virtual resource management in a networked environment |
GB2505585B (en) | 2011-04-27 | 2015-08-12 | Seven Networks Inc | Detecting and preserving state for satisfying application requests in a distributed proxy and cache system |
GB2493473B (en) | 2011-04-27 | 2013-06-19 | Seven Networks Inc | System and method for making requests on behalf of a mobile device based on atomic processes for mobile network traffic relief |
US9558519B1 (en) | 2011-04-29 | 2017-01-31 | Consumerinfo.Com, Inc. | Exposing reporting cycle information |
US9430583B1 (en) | 2011-06-10 | 2016-08-30 | Salesforce.Com, Inc. | Extracting a portion of a document, such as a web page |
US9607336B1 (en) | 2011-06-16 | 2017-03-28 | Consumerinfo.Com, Inc. | Providing credit inquiry alerts |
US10078819B2 (en) | 2011-06-21 | 2018-09-18 | Oath Inc. | Presenting favorite contacts information to a user of a computing device |
US9747583B2 (en) * | 2011-06-30 | 2017-08-29 | Yahoo Holdings, Inc. | Presenting entity profile information to a user of a computing device |
US9965133B1 (en) * | 2011-07-22 | 2018-05-08 | Ntrepid Corporation | Application for assisting in conducting covert cyber operations |
US8984581B2 (en) | 2011-07-27 | 2015-03-17 | Seven Networks, Inc. | Monitoring mobile application activities for malicious traffic on a mobile device |
US9245258B2 (en) * | 2011-08-23 | 2016-01-26 | Prophit Marketing, Inc. | System and method of electronic interpersonal communication |
US9106691B1 (en) | 2011-09-16 | 2015-08-11 | Consumerinfo.Com, Inc. | Systems and methods of identity protection and management |
US11030562B1 (en) | 2011-10-31 | 2021-06-08 | Consumerinfo.Com, Inc. | Pre-data breach monitoring |
US20130106894A1 (en) | 2011-10-31 | 2013-05-02 | Elwha LLC, a limited liability company of the State of Delaware | Context-sensitive query enrichment |
US8918503B2 (en) | 2011-12-06 | 2014-12-23 | Seven Networks, Inc. | Optimization of mobile traffic directed to private networks and operator configurability thereof |
WO2013086225A1 (en) | 2011-12-06 | 2013-06-13 | Seven Networks, Inc. | A mobile device and method to utilize the failover mechanisms for fault tolerance provided for mobile traffic management and network/device resource conservation |
US9009250B2 (en) | 2011-12-07 | 2015-04-14 | Seven Networks, Inc. | Flexible and dynamic integration schemas of a traffic management system with various network operators for network traffic alleviation |
US9277443B2 (en) | 2011-12-07 | 2016-03-01 | Seven Networks, Llc | Radio-awareness of mobile device for sending server-side control signals using a wireless network optimized transport protocol |
US8861354B2 (en) | 2011-12-14 | 2014-10-14 | Seven Networks, Inc. | Hierarchies and categories for management and deployment of policies for distributed wireless traffic optimization |
US9021021B2 (en) | 2011-12-14 | 2015-04-28 | Seven Networks, Inc. | Mobile network reporting and usage analytics system and method aggregated using a distributed traffic optimization system |
US9832095B2 (en) | 2011-12-14 | 2017-11-28 | Seven Networks, Llc | Operation modes for mobile traffic optimization and concurrent management of optimized and non-optimized traffic |
US8909202B2 (en) | 2012-01-05 | 2014-12-09 | Seven Networks, Inc. | Detection and management of user interactions with foreground applications on a mobile device in distributed caching |
US9203864B2 (en) | 2012-02-02 | 2015-12-01 | Seven Networks, Llc | Dynamic categorization of applications for network access in a mobile network |
US9326189B2 (en) | 2012-02-03 | 2016-04-26 | Seven Networks, Llc | User as an end point for profiling and optimizing the delivery of content and data in a wireless network |
US20130227712A1 (en) * | 2012-02-23 | 2013-08-29 | Accenture Global Services Limited | Method and system for resource management based on adaptive risk-based access controls |
US9954865B2 (en) | 2012-02-23 | 2018-04-24 | Accenture Global Services Limited | Sensors for a resource |
JP5915341B2 (en) * | 2012-04-06 | 2016-05-11 | ソニー株式会社 | Information processing apparatus, information processing method, and computer program |
US8812695B2 (en) | 2012-04-09 | 2014-08-19 | Seven Networks, Inc. | Method and system for management of a virtual network connection without heartbeat messages |
US20130268656A1 (en) | 2012-04-10 | 2013-10-10 | Seven Networks, Inc. | Intelligent customer service/call center services enhanced using real-time and historical mobile application and traffic-related statistics collected by a distributed caching system in a mobile network |
US9753926B2 (en) | 2012-04-30 | 2017-09-05 | Salesforce.Com, Inc. | Extracting a portion of a document, such as a web page |
US10592978B1 (en) * | 2012-06-29 | 2020-03-17 | EMC IP Holding Company LLC | Methods and apparatus for risk-based authentication between two servers on behalf of a user |
US8775631B2 (en) | 2012-07-13 | 2014-07-08 | Seven Networks, Inc. | Dynamic bandwidth adjustment for browsing or streaming activity in a wireless network based on prediction of user behavior when interacting with mobile applications |
US9336330B2 (en) * | 2012-07-20 | 2016-05-10 | Google Inc. | Associating entities based on resource associations |
US9161258B2 (en) | 2012-10-24 | 2015-10-13 | Seven Networks, Llc | Optimized and selective management of policy deployment to mobile clients in a congested network to prevent further aggravation of network congestion |
US8856894B1 (en) | 2012-11-28 | 2014-10-07 | Consumerinfo.Com, Inc. | Always on authentication |
US10192200B2 (en) | 2012-12-04 | 2019-01-29 | Oath Inc. | Classifying a portion of user contact data into local contacts |
US10255598B1 (en) | 2012-12-06 | 2019-04-09 | Consumerinfo.Com, Inc. | Credit card account data extraction |
US10069838B2 (en) * | 2012-12-18 | 2018-09-04 | Adobe Systems Incorporated | Controlling consumption of hierarchical repository data |
US20140177497A1 (en) | 2012-12-20 | 2014-06-26 | Seven Networks, Inc. | Management of mobile device radio state promotion and demotion |
US9271238B2 (en) | 2013-01-23 | 2016-02-23 | Seven Networks, Llc | Application or context aware fast dormancy |
US8874761B2 (en) | 2013-01-25 | 2014-10-28 | Seven Networks, Inc. | Signaling optimization in a wireless network for traffic utilizing proprietary and non-proprietary protocols |
US9697263B1 (en) | 2013-03-04 | 2017-07-04 | Experian Information Solutions, Inc. | Consumer data request fulfillment system |
US8750123B1 (en) | 2013-03-11 | 2014-06-10 | Seven Networks, Inc. | Mobile device equipped with mobile network congestion recognition to make intelligent decisions regarding connecting to an operator network |
CN103209174B (en) * | 2013-03-12 | 2016-03-30 | 华为技术有限公司 | A kind of data prevention method, Apparatus and system |
US9633322B1 (en) | 2013-03-15 | 2017-04-25 | Consumerinfo.Com, Inc. | Adjustment of knowledge-based authentication |
US10664936B2 (en) | 2013-03-15 | 2020-05-26 | Csidentity Corporation | Authentication systems and methods for on-demand products |
US9721147B1 (en) | 2013-05-23 | 2017-08-01 | Consumerinfo.Com, Inc. | Digital identity |
US9065765B2 (en) | 2013-07-22 | 2015-06-23 | Seven Networks, Inc. | Proxy server associated with a mobile carrier for enhancing mobile traffic management in a mobile network |
US20150111188A1 (en) * | 2013-10-23 | 2015-04-23 | Saji Maruthurkkara | Query Response System for Medical Device Recipients |
US10102536B1 (en) | 2013-11-15 | 2018-10-16 | Experian Information Solutions, Inc. | Micro-geographic aggregation system |
US9094396B2 (en) * | 2013-11-22 | 2015-07-28 | Match.Com, L.L.C. | Integrated profile creation for a social network environment |
US9529851B1 (en) | 2013-12-02 | 2016-12-27 | Experian Information Solutions, Inc. | Server architecture for electronic data quality processing |
US10262362B1 (en) | 2014-02-14 | 2019-04-16 | Experian Information Solutions, Inc. | Automatic generation of code for attributes |
US10373240B1 (en) | 2014-04-25 | 2019-08-06 | Csidentity Corporation | Systems, methods and computer-program products for eligibility verification |
US9826375B2 (en) * | 2014-05-12 | 2017-11-21 | Rufus Labs, Inc. | System and method for social networking among mutually-interested users |
WO2016061469A1 (en) | 2014-10-17 | 2016-04-21 | Givling, Inc. | Method and system for gamified crowdfunding |
US10628795B1 (en) * | 2015-05-14 | 2020-04-21 | Tri Dimensional Solutions Inc. | Articulation, aggregation, and peer review of accomplishments |
US10757154B1 (en) | 2015-11-24 | 2020-08-25 | Experian Information Solutions, Inc. | Real-time event-based notification system |
US10303799B2 (en) * | 2016-02-11 | 2019-05-28 | International Business Machines Corporation | Converging tool terminology |
CN110383319B (en) | 2017-01-31 | 2023-05-26 | 益百利信息解决方案公司 | Large scale heterogeneous data ingestion and user resolution |
US10735183B1 (en) | 2017-06-30 | 2020-08-04 | Experian Information Solutions, Inc. | Symmetric encryption for private smart contracts among multiple parties in a private peer-to-peer network |
US10911234B2 (en) | 2018-06-22 | 2021-02-02 | Experian Information Solutions, Inc. | System and method for a token gateway environment |
US10963434B1 (en) | 2018-09-07 | 2021-03-30 | Experian Information Solutions, Inc. | Data architecture for supporting multiple search models |
WO2020146667A1 (en) | 2019-01-11 | 2020-07-16 | Experian Information Solutions, Inc. | Systems and methods for secure data aggregation and computation |
US11941065B1 (en) | 2019-09-13 | 2024-03-26 | Experian Information Solutions, Inc. | Single identifier platform for storing entity data |
US11509661B2 (en) * | 2020-10-29 | 2022-11-22 | Disney Enterprises, Inc. | Dynamic authorization rule stacking and routing across multiple systems |
US11880377B1 (en) | 2021-03-26 | 2024-01-23 | Experian Information Solutions, Inc. | Systems and methods for entity resolution |
Family Cites Families (80)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5481741A (en) | 1986-04-14 | 1996-01-02 | National Instruments Corporation | Method and apparatus for providing attribute nodes in a graphical data flow environment |
EP0265232A3 (en) | 1986-10-20 | 1990-02-14 | Book Data Limited | Furnishing the identification of customers |
US4914586A (en) | 1987-11-06 | 1990-04-03 | Xerox Corporation | Garbage collector for hypermedia systems |
US5051891A (en) | 1987-12-23 | 1991-09-24 | International Business Machines Corporation | Method to manage transfer of ownership of electronic documents stored in an interactive information handling system |
US5247575A (en) | 1988-08-16 | 1993-09-21 | Sprague Peter J | Information distribution system |
US5297057A (en) | 1989-06-13 | 1994-03-22 | Schlumberger Technologies, Inc. | Method and apparatus for design and optimization for simulation of motion of mechanical linkages |
EP0411873A3 (en) | 1989-08-02 | 1993-11-18 | Westinghouse Electric Corp | Improved plant operating system employing a deterministic, probabilistic and subjective modeling system |
US6044205A (en) * | 1996-02-29 | 2000-03-28 | Intermind Corporation | Communications system for transferring information between memories according to processes transferred with the information |
US5333237A (en) | 1989-10-10 | 1994-07-26 | Hughes Aircraft Company | Hypermedia structured knowledge base system |
JP3268529B2 (en) | 1990-03-14 | 2002-03-25 | 株式会社日立製作所 | Knowledge database processing system and expert system |
US5544067A (en) | 1990-04-06 | 1996-08-06 | Lsi Logic Corporation | Method and system for creating, deriving and validating structural description of electronic system from higher level, behavior-oriented description, including interactive schematic design and simulation |
US5247661A (en) | 1990-09-10 | 1993-09-21 | International Business Machines Corporation | Method and apparatus for automated document distribution in a data processing system |
US5276869A (en) | 1990-09-10 | 1994-01-04 | International Business Machines Corporation | System for selecting document recipients as determined by technical content of document and for electronically corroborating receipt of document |
US5428740A (en) | 1990-10-18 | 1995-06-27 | Ventana Systems, Inc. | Applying successive data group operations to an active data group |
US5586218A (en) | 1991-03-04 | 1996-12-17 | Inference Corporation | Autonomous learning and reasoning agent |
US5251159A (en) | 1991-03-20 | 1993-10-05 | Vlsi Technology, Inc. | Circuit simulation interface methods |
US5438526A (en) | 1991-07-12 | 1995-08-01 | Hitachi, Ltd. | Program generation method for particles simulation |
US5251131A (en) | 1991-07-31 | 1993-10-05 | Thinking Machines Corporation | Classification of data records by comparison of records to a training database using probability weights |
US5488725A (en) | 1991-10-08 | 1996-01-30 | West Publishing Company | System of document representation retrieval by successive iterated probability sampling |
US5541836A (en) | 1991-12-30 | 1996-07-30 | At&T Corp. | Word disambiguation apparatus and methods |
US5555426A (en) | 1992-01-08 | 1996-09-10 | International Business Machines Corporation | Method and apparatus for disseminating messages to unspecified users in a data processing system |
US5628011A (en) | 1993-01-04 | 1997-05-06 | At&T | Network-based intelligent information-sourcing arrangement |
US5720001A (en) | 1993-04-16 | 1998-02-17 | Compaq Computer Corporation | Questionless case-based knowledge base and a method for constructing the same |
US5513126A (en) | 1993-10-04 | 1996-04-30 | Xerox Corporation | Network having selectively accessible recipient prioritized communication channel profiles |
US5473732A (en) | 1993-11-02 | 1995-12-05 | Chang; Hou-Mei H. | Relational artificial intelligence system |
US5692107A (en) | 1994-03-15 | 1997-11-25 | Lockheed Missiles & Space Company, Inc. | Method for generating predictive models in a computer system |
US5724567A (en) * | 1994-04-25 | 1998-03-03 | Apple Computer, Inc. | System for directing relevance-ranked data objects to computer users |
US5608900A (en) | 1994-06-21 | 1997-03-04 | Internationl Business Machines Corp. | Generation and storage of connections between objects in a computer network |
US5696965A (en) * | 1994-11-03 | 1997-12-09 | Intel Corporation | Electronic information appraisal agent |
US5717923A (en) | 1994-11-03 | 1998-02-10 | Intel Corporation | Method and apparatus for dynamically customizing electronic information to individual end users |
US6029195A (en) * | 1994-11-29 | 2000-02-22 | Herz; Frederick S. M. | System for customized electronic identification of desirable objects |
US5758257A (en) | 1994-11-29 | 1998-05-26 | Herz; Frederick | System and method for scheduling broadcast of and access to video programs and other data using customer profiles |
US5530852A (en) | 1994-12-20 | 1996-06-25 | Sun Microsystems, Inc. | Method for extracting profiles and topics from a first file written in a first markup language and generating files in different markup languages containing the profiles and topics for use in accessing data described by the profiles and topics |
US6292769B1 (en) * | 1995-02-14 | 2001-09-18 | America Online, Inc. | System for automated translation of speech |
US5659732A (en) | 1995-05-17 | 1997-08-19 | Infoseek Corporation | Document retrieval over networks wherein ranking and relevance scores are computed at the client for multiple database documents |
US5664115A (en) * | 1995-06-07 | 1997-09-02 | Fraser; Richard | Interactive computer system to match buyers and sellers of real estate, businesses and other property using the internet |
JP3428232B2 (en) | 1995-06-16 | 2003-07-22 | 富士通株式会社 | Electromagnetic field strength calculator |
US5659731A (en) | 1995-06-19 | 1997-08-19 | Dun & Bradstreet, Inc. | Method for rating a match for a given entity found in a list of entities |
IL118580A0 (en) * | 1995-06-30 | 1996-10-16 | Massachusetts Inst Technology | Method and apparatus for item recommendation using automated collaborative filtering |
US6112186A (en) * | 1995-06-30 | 2000-08-29 | Microsoft Corporation | Distributed system for facilitating exchange of user information and opinion using automated collaborative filtering |
US6006221A (en) | 1995-08-16 | 1999-12-21 | Syracuse University | Multilingual document retrieval system and method using semantic vector matching |
US5717914A (en) | 1995-09-15 | 1998-02-10 | Infonautics Corporation | Method for categorizing documents into subjects using relevance normalization for documents retrieved from an information retrieval system in response to a query |
US6397233B1 (en) * | 1995-11-22 | 2002-05-28 | Fujitsu Limited | Document processing apparatus and computer program product therefor |
US5794210A (en) | 1995-12-11 | 1998-08-11 | Cybergold, Inc. | Attention brokerage |
JP3612125B2 (en) | 1995-12-14 | 2005-01-19 | 株式会社東芝 | Information filtering method and information filtering apparatus |
US5778364A (en) * | 1996-01-02 | 1998-07-07 | Verity, Inc. | Evaluation of content of a data set using multiple and/or complex queries |
US5931907A (en) * | 1996-01-23 | 1999-08-03 | British Telecommunications Public Limited Company | Software agent for comparing locally accessible keywords with meta-information and having pointers associated with distributed information |
US5704017A (en) | 1996-02-16 | 1997-12-30 | Microsoft Corporation | Collaborative filtering utilizing a belief network |
US5867799A (en) | 1996-04-04 | 1999-02-02 | Lang; Andrew K. | Information system and method for filtering a massive flow of information entities to meet user information classification needs |
US5828837A (en) * | 1996-04-15 | 1998-10-27 | Digilog As | Computer network system and method for efficient information transfer |
US6026374A (en) | 1996-05-30 | 2000-02-15 | International Business Machines Corporation | System and method for generating trusted descriptions of information products |
US5802518A (en) * | 1996-06-04 | 1998-09-01 | Multex Systems, Inc. | Information delivery system and method |
US5727129A (en) | 1996-06-04 | 1998-03-10 | International Business Machines Corporation | Network system for profiling and actively facilitating user activities |
US5862223A (en) * | 1996-07-24 | 1999-01-19 | Walker Asset Management Limited Partnership | Method and apparatus for a cryptographically-assisted commercial network system designed to facilitate and support expert-based commerce |
US5907677A (en) * | 1996-08-23 | 1999-05-25 | Ecall Inc. | Method for establishing anonymous communication links |
US5892909A (en) * | 1996-09-27 | 1999-04-06 | Diffusion, Inc. | Intranet-based system with methods for co-active delivery of information to multiple users |
US6014644A (en) | 1996-11-22 | 2000-01-11 | Pp International, Inc. | Centrally coordinated communication systems with multiple broadcast data objects and response tracking |
US6233590B1 (en) * | 1996-12-13 | 2001-05-15 | Venson M. Shaw | Server apparatus for distributed communications supporting multiple user/application environment |
US6175831B1 (en) * | 1997-01-17 | 2001-01-16 | Six Degrees, Inc. | Method and apparatus for constructing a networking database and system |
US5995597A (en) | 1997-01-21 | 1999-11-30 | Woltz; Robert Thomas | E-mail processing system and method |
US5950200A (en) | 1997-01-24 | 1999-09-07 | Gil S. Sudai | Method and apparatus for detection of reciprocal interests or feelings and subsequent notification |
JPH10326289A (en) * | 1997-03-28 | 1998-12-08 | Nippon Telegr & Teleph Corp <Ntt> | Method for providing information and system therefor and storage medium for storing the same program |
US6044376A (en) * | 1997-04-24 | 2000-03-28 | Imgis, Inc. | Content stream analysis |
US6038560A (en) | 1997-05-21 | 2000-03-14 | Oracle Corporation | Concept knowledge base search and retrieval system |
US6052122A (en) | 1997-06-13 | 2000-04-18 | Tele-Publishing, Inc. | Method and apparatus for matching registered profiles |
US5913212A (en) | 1997-06-13 | 1999-06-15 | Tele-Publishing, Inc. | Personal journal |
US6119167A (en) * | 1997-07-11 | 2000-09-12 | Phone.Com, Inc. | Pushing and pulling data in networks |
US6105023A (en) * | 1997-08-18 | 2000-08-15 | Dataware Technologies, Inc. | System and method for filtering a document stream |
US5974412A (en) | 1997-09-24 | 1999-10-26 | Sapient Health Network | Intelligent query system for automatically indexing information in a database and automatically categorizing users |
US6021439A (en) * | 1997-11-14 | 2000-02-01 | International Business Machines Corporation | Internet quality-of-service method and system |
US6230189B1 (en) * | 1997-12-09 | 2001-05-08 | Ricoh Company, Ltd. | Apparatus and method for an HTTP server capable of connecting facsimile apparatuses and data terminals |
US6052709A (en) | 1997-12-23 | 2000-04-18 | Bright Light Technologies, Inc. | Apparatus and method for controlling delivery of unsolicited electronic mail |
US5999932A (en) * | 1998-01-13 | 1999-12-07 | Bright Light Technologies, Inc. | System and method for filtering unsolicited electronic mail messages using data matching and heuristic processing |
GB9801978D0 (en) | 1998-01-30 | 1998-03-25 | Orbital Technologies Limited | Information systems |
US6064980A (en) * | 1998-03-17 | 2000-05-16 | Amazon.Com, Inc. | System and methods for collaborative recommendations |
US6006200A (en) * | 1998-05-22 | 1999-12-21 | International Business Machines Corporation | Method of providing an identifier for transactions |
US6094652A (en) * | 1998-06-10 | 2000-07-25 | Oracle Corporation | Hierarchical query feedback in an information retrieval system |
US6182142B1 (en) * | 1998-07-10 | 2001-01-30 | Encommerce, Inc. | Distributed access management of information resources |
US6115709A (en) * | 1998-09-18 | 2000-09-05 | Tacit Knowledge Systems, Inc. | Method and system for constructing a knowledge profile of a user having unrestricted and restricted access portions according to respective levels of confidence of content of the portions |
US6298348B1 (en) * | 1998-12-03 | 2001-10-02 | Expanse Networks, Inc. | Consumer profiling system |
-
1998
- 1998-09-18 US US09/156,468 patent/US6253202B1/en not_active Expired - Lifetime
-
1999
- 1999-03-17 US US09/271,022 patent/US6405197B2/en not_active Expired - Lifetime
- 1999-09-10 EP EP99948163.3A patent/EP1121652B1/en not_active Expired - Lifetime
- 1999-09-10 WO PCT/US1999/020672 patent/WO2000017785A1/en active Search and Examination
- 1999-09-10 AU AU61395/99A patent/AU6139599A/en not_active Abandoned
-
2000
- 2000-05-15 US US09/571,697 patent/US6970879B1/en not_active Expired - Lifetime
-
2001
- 2001-06-26 US US09/893,087 patent/US6647384B2/en not_active Expired - Lifetime
Cited By (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7203725B1 (en) * | 1998-09-18 | 2007-04-10 | Tacit Software, Inc. | Withdrawal of requests of target number of requests responses received |
US8543649B2 (en) | 1998-09-18 | 2013-09-24 | Oracle International Corporation | Method and apparatus for constructing and maintaining a user knowledge profile |
US20020194178A1 (en) * | 1998-09-18 | 2002-12-19 | Tacit Knowledge Systems, Inc. | Method and apparatus for constructing and maintaining a user knowledge profile |
US7340456B2 (en) * | 2000-01-14 | 2008-03-04 | Govers Property Mgmt Limited Liability Company | System, apparatus and method for using and managing digital information |
US20050187949A1 (en) * | 2000-01-14 | 2005-08-25 | Dirk Rodenburg | System, apparatus and method for using and managing digital information |
US7734634B2 (en) * | 2000-01-14 | 2010-06-08 | Dirk Rodenburg | System, apparatus and method for using and managing digital information |
US20080215515A1 (en) * | 2000-01-14 | 2008-09-04 | Govers Property Management Limited Liability Company | System, apparatus and method for using and managing digital information |
US20050131888A1 (en) * | 2000-04-24 | 2005-06-16 | Tafoya John E. | System and method for automatically populating a dynamic resolution list |
US7328245B1 (en) | 2001-09-14 | 2008-02-05 | Ricoh Co., Ltd. | Remote retrieval of documents |
US7305381B1 (en) * | 2001-09-14 | 2007-12-04 | Ricoh Co., Ltd | Asynchronous unconscious retrieval in a network of information appliances |
US7375835B1 (en) | 2001-10-29 | 2008-05-20 | Ricoh Co., Ltd. | E-mail transmission of print-ready documents |
US7243092B2 (en) * | 2001-12-28 | 2007-07-10 | Sap Ag | Taxonomy generation for electronic documents |
US11809432B2 (en) | 2002-01-14 | 2023-11-07 | Awemane Ltd. | Knowledge gathering system based on user's affinity |
US7428578B1 (en) | 2002-07-02 | 2008-09-23 | Ricoh Co., Ltd | Remotely initiated document transmission |
US9805373B1 (en) | 2002-11-19 | 2017-10-31 | Oracle International Corporation | Expertise services platform |
US20040267761A1 (en) * | 2003-06-23 | 2004-12-30 | Jiang-Liang Hou | Method/apparatus for managing information including word codes |
US20060129975A1 (en) * | 2003-08-01 | 2006-06-15 | Centrum für Ertragsoptimierung Aktiengesellschaft | Measuring method and automatic pattern recognition system for determining a business management related characteristic vector of a knowledge object and method and automatic system for the automatic business management related characterization of a knowledge object |
US7219105B2 (en) | 2003-09-17 | 2007-05-15 | International Business Machines Corporation | Method, system and computer program product for profiling entities |
US8554794B2 (en) | 2004-05-17 | 2013-10-08 | Hoover's Inc. | System and method for enforcing privacy in social networks |
US7877266B2 (en) | 2004-07-28 | 2011-01-25 | Dun & Bradstreet, Inc. | System and method for using social networks to facilitate business processes |
US20070078803A1 (en) * | 2005-10-05 | 2007-04-05 | Gilmour David L | Method, system and apparatus for searchcasting with privacy control |
US7730081B2 (en) * | 2005-10-18 | 2010-06-01 | Microsoft Corporation | Searching based on messages |
US20070088687A1 (en) * | 2005-10-18 | 2007-04-19 | Microsoft Corporation | Searching based on messages |
US20080288310A1 (en) * | 2007-05-16 | 2008-11-20 | Cvon Innovation Services Oy | Methodologies and systems for mobile marketing and advertising |
US9043339B2 (en) * | 2008-10-02 | 2015-05-26 | International Business Machines Corporation | Extracting terms from document data including text segment |
US20130253916A1 (en) * | 2008-10-02 | 2013-09-26 | International Business Machines Corporation | Extracting terms from document data including text segment |
US20100241700A1 (en) * | 2009-03-23 | 2010-09-23 | Jens Eilstrup Rasmussen | System and Method for Merging Edits for a Conversation in a Hosted Conversation System |
US9294421B2 (en) | 2009-03-23 | 2016-03-22 | Google Inc. | System and method for merging edits for a conversation in a hosted conversation system |
US8700776B2 (en) | 2009-03-23 | 2014-04-15 | Google Inc. | System and method for editing a conversation in a hosted conversation system |
US20100241749A1 (en) * | 2009-03-23 | 2010-09-23 | Jens Eilstrup Rasmussen | System and Method for Editing a Conversation in a Hosted Conversation System |
US8949359B2 (en) | 2009-03-23 | 2015-02-03 | Google Inc. | Systems and methods for searching multiple instant messages |
US8984139B2 (en) | 2009-03-23 | 2015-03-17 | Google Inc. | System and method for editing a conversation in a hosted conversation system |
US20100241718A1 (en) * | 2009-03-23 | 2010-09-23 | Jens Eilstrup Rasmussen | Providing Access to a Conversation in a Hosted Conversation System |
US8639762B2 (en) | 2009-03-23 | 2014-01-28 | Google Inc. | Providing access to a conversation in a hosted conversation system |
US9166939B2 (en) | 2009-05-28 | 2015-10-20 | Google Inc. | Systems and methods for uploading media content in an instant messaging conversation |
US9602444B2 (en) * | 2009-05-28 | 2017-03-21 | Google Inc. | Participant suggestion system |
US9021386B1 (en) | 2009-05-28 | 2015-04-28 | Google Inc. | Enhanced user interface scrolling system |
US20110055295A1 (en) * | 2009-09-01 | 2011-03-03 | International Business Machines Corporation | Systems and methods for context aware file searching |
US9026935B1 (en) | 2010-05-28 | 2015-05-05 | Google Inc. | Application user interface with an interactive overlay |
US9380011B2 (en) | 2010-05-28 | 2016-06-28 | Google Inc. | Participant-specific markup |
US8751941B1 (en) * | 2012-07-15 | 2014-06-10 | Identropy, Inc. | Graphical user interface for unified identity management across internal and shared computing applications |
Also Published As
Publication number | Publication date |
---|---|
WO2000017785A9 (en) | 2002-08-22 |
WO2000017785A1 (en) | 2000-03-30 |
EP1121652A4 (en) | 2007-10-17 |
US20020078050A1 (en) | 2002-06-20 |
US6253202B1 (en) | 2001-06-26 |
US6970879B1 (en) | 2005-11-29 |
US6647384B2 (en) | 2003-11-11 |
EP1121652A1 (en) | 2001-08-08 |
EP1121652B1 (en) | 2017-05-03 |
AU6139599A (en) | 2000-04-10 |
US6405197B2 (en) | 2002-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6405197B2 (en) | Method of constructing and displaying an entity profile constructed utilizing input from entities other than the owner | |
US6377949B1 (en) | Method and apparatus for assigning a confidence level to a term within a user knowledge profile | |
US8543649B2 (en) | Method and apparatus for constructing and maintaining a user knowledge profile | |
US6154783A (en) | Method and apparatus for addressing an electronic document for transmission over a network | |
US6640229B1 (en) | Automatic management of terms in a user profile in a knowledge management system | |
US7203725B1 (en) | Withdrawal of requests of target number of requests responses received | |
US8131685B1 (en) | Duplicate account identification and scoring | |
US6785679B1 (en) | Method and apparatus for sending and tracking resume data sent via URL | |
US7000194B1 (en) | Method and system for profiling users based on their relationships with content topics | |
US20060074932A1 (en) | Systems and methods for recommendation of personal network | |
US8380875B1 (en) | Method and system for addressing a communication document for transmission over a network based on the content thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: TACIT KNOWLEDGE SYSTEMS, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:GILMOUR, DAVID L.;REEL/FRAME:009921/0550 Effective date: 19990415 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
AS | Assignment |
Owner name: AGILITY CAPITAL, LLC, CALIFORNIA Free format text: SECURITY AGREEMENT;ASSIGNOR:TACIT SOFTWARE, INC.;REEL/FRAME:021205/0007 Effective date: 20080707 Owner name: AGILITY CAPITAL, LLC,CALIFORNIA Free format text: SECURITY AGREEMENT;ASSIGNOR:TACIT SOFTWARE, INC.;REEL/FRAME:021205/0007 Effective date: 20080707 |
|
AS | Assignment |
Owner name: TACIT SOFTWARE, INC., CALIFORNIA Free format text: MERGER;ASSIGNOR:TACIT KNOWLEDGE SYSTEMS, INC.;REEL/FRAME:021523/0096 Effective date: 20040908 |
|
AS | Assignment |
Owner name: OAK LEAF CORPORATION, CALIFORNIA Free format text: CORRECTED SECURITY AGREEMENT RECORDATION, PREVIOUSLY RECORDED ON REEL 016978 FRAME 0799.;ASSIGNOR:TACIT SOFTWARE, INC.;REEL/FRAME:021679/0001 Effective date: 20051230 Owner name: OAK LEAF CORPORATION, CALIFORNIA Free format text: CORRECTED SECURITY AGREEMENT RECORDATION, PREVIOUSLY RECORDED ON REEL 016978 FRAME 0799;ASSIGNOR:TACIT SOFTWARE, INC.;REEL/FRAME:021679/0001 Effective date: 20051230 |
|
FPAY | Fee payment |
Year of fee payment: 8 |
|
AS | Assignment |
Owner name: ORACLE INTERNATIONAL CORPORATION, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:TACIT SOFTWARE, INC.;REEL/FRAME:023679/0359 Effective date: 20081029 Owner name: ORACLE INTERNATIONAL CORPORATION,CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:TACIT SOFTWARE, INC.;REEL/FRAME:023679/0359 Effective date: 20081029 |
|
FEPP | Fee payment procedure |
Free format text: PAT HOLDER NO LONGER CLAIMS SMALL ENTITY STATUS, ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: STOL); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
FPAY | Fee payment |
Year of fee payment: 12 |