WO2003058427A1 - Real time data warehousing - Google Patents

Real time data warehousing Download PDF

Info

Publication number
WO2003058427A1
WO2003058427A1 PCT/US2002/041630 US0241630W WO03058427A1 WO 2003058427 A1 WO2003058427 A1 WO 2003058427A1 US 0241630 W US0241630 W US 0241630W WO 03058427 A1 WO03058427 A1 WO 03058427A1
Authority
WO
WIPO (PCT)
Prior art keywords
records
received data
record
readable medium
computer readable
Prior art date
Application number
PCT/US2002/041630
Other languages
French (fr)
Other versions
WO2003058427A8 (en
Inventor
Jeffrey James Jonas
Original Assignee
Jeffrey James Jonas
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Jeffrey James Jonas filed Critical Jeffrey James Jonas
Priority to EA200400873A priority Critical patent/EA200400873A1/en
Priority to MXPA04006390A priority patent/MXPA04006390A/en
Priority to EP02806260A priority patent/EP1470475A4/en
Priority to JP2003558673A priority patent/JP2006501529A/en
Priority to IL16274602A priority patent/IL162746A0/en
Priority to CA2471940A priority patent/CA2471940C/en
Priority to BR0215411-0A priority patent/BR0215411A/en
Priority to AU2002367376A priority patent/AU2002367376A1/en
Priority to KR1020047010275A priority patent/KR100850255B1/en
Publication of WO2003058427A1 publication Critical patent/WO2003058427A1/en
Publication of WO2003058427A8 publication Critical patent/WO2003058427A8/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/254Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/40Data acquisition and logging

Definitions

  • This invention generally relates to a method, program and system for processing and retrieving data in a data warehouse and, more particularly, to a method, program and system for the processing of data into and in a data warehouse, to the querying of data in a data warehouse, and the analyzing of data in a data warehouse.
  • Data warehouses are computer-based databases designed to store records and respond to queries generally from multiple sources.
  • the records correspond with entities, such as individuals, organizations and property.
  • Each record contains identifiers of the entity, such as for example, a name, address or account information for an individual.
  • the issues and limitations include, without limitation, the following: (a) challenges associated with differing or conflicting formats emanating from the various sources of data, (b) incomplete data based upon missing information upon receipt, (c) multiple records entered that reflect the same entity based upon (often minor) discrepancies or misspellings, (d) insufficient capability to identify whether multiple records are reflecting the same entity and/or whether there is some relationship between multiple records, (e) lost data when two records determined to reflect the same entity are merged or one record is discarded, (f) insufficient capability to later separate records when merged records are later determined to reflect two separate entities, (g) insufficient capability to issue alerts based upon user- defined alert rules in real-time, (h) inadequate results from queries that utilize different algorithms or conversion processes than the algorithms or conversion processes used to process received data, and (i) inability to maintain a persistent query in accordance with a pre-determined criteria, such as for a certain period of time.
  • the records from one source may be available in a comma delimited format while the records of another source may be received in another data format;
  • data from various records may be missing, such as a telephone number, an address or some other identifying information; or
  • two records reflecting the same individual may be unknowingly received because one record corresponds to a current name and another record corresponds to a maiden name.
  • the system may determine that the two records ought to be merged or that one record (perhaps emanating from a less reliable source) be discarded.
  • current systems typically abandon data, which negates the ability to later separate the two records if the records are determined to reflect two separate entities.
  • the computer may perform transformation and enhancement processes prior to loading the data into the database.
  • the query tools of current systems use few, if any, of the transformation and enhancement processes used to receive and process the received data, causing any results of such queries to be inconsistent, and therefore inadequate, insufficient and potentially false.
  • current data warehousing systems do not have the necessary tools to fully identify the relationship between entities, or determine whether or not such entities reflect the same entity in real-time. For example, one individual may have the same address of a second individual and the second individual may have the same telephone number of a third individual. In such circumstances, it would be beneficial to determine the likelihood that the first individual had some relationship with the third individual, especially in real-time.
  • a persistent query would be beneficial in various circumstances, including, without limitation, in cases where the name of a person is identified in a criminal investigation.
  • a query to identify any matches corresponding with the person may initially turn up with no results and the queried data in current systems is essentially discarded.
  • it would be beneficial to load the query in the same way as received data wherein the queried data may be used to match against other received data or queries and provide a better basis for results.
  • any or all the issues and limitations (whether identified herein or not) of current data warehouse systems diminishes accuracy, reliability and timeliness of the data warehouse and dramatically impedes performance. Indeed, the utilization with such issues may cause inadequate results and incorrect decisions based upon such results.
  • the present invention is provided to address these and other issues.
  • the method preferably comprises the steps of: (a) receiving data for a plurality of entities, (b) utilizing an algorithm to process the received data, (c) storing the processed data in the database, (d) receiving data queries for retrieving data stored in the database, and (e) utilizing the same algorithms to process the queries.
  • the data comprises one or more records having one or more identifiers representing one or more entities.
  • the entities may be individuals, property, organizations, proteins or other things that can be represented by identifying data.
  • the algorithm includes receiving data that has been converted to a standardized message format and retains attribution of the identifiers, such as a source system, the source system's unique value for the identifier, query system and/or user.
  • the algorithm process includes analyzing the data prior to storage or query in the database wherein such analyzing step may include: (a) comparing one or more identifiers against a user-defined criterion or one or more data sets in a database, list, or other electronic format, (b) formatting the identifier in accordance with the user-defined standard, (c) enhancing the data prior to storage or query by querying one or more data sets in other databases (which may have the same algorithm as the first database and continue to search in a cascading manner) or lists for additional identifiers to supplement the received data with any additional identifiers, (d) creating hash keys for the identifiers, and (d) storing processed queries based upon user-defined criterion, such as a specified period of time.
  • the method, program and system would include: (a) utilizing an algorithm to process data and match records wherein the algorithm process would: (i) retrieve from the database a group of records including identifiers similar to the identifiers in the received data, (ii) analyze the retrieved group of records for a match to the received data, (iii) match the received data with the retrieved records that are determined to reflect the same entity, (iv) analyze whether any new identifiers were added to any matched record, and (v) re-search the other records of the retrieved group of records to match to any matched record, and (b) storing the matched records in the database.
  • the algorithm may include: (a) retrieving from the database an additional group of records including identifiers similar to the identifiers in the matched record, (b) repeating the steps of retrieving records, analyzing for matches, matching same entity records, analyzing new identifiers, and re-searching retrieved records until no additional matches are found, and (c) assigning a persistent key to the records.
  • Such processes could be performed in batch or in real-time.
  • the method, program and system includes determining whether a particular identifier is common across entities or generally distinctive to an entity, and separating previously matched records if the particular identifier used to match the records is later determined to be common across entities and not generally distinctive of an entity.
  • Such determining and separating steps may be performed in real- time or in batch.
  • the determining and separating steps may include stopping any additional matches based upon an identifier that is determined to be common across entities and not generally distinctive of an entity, as well as re-processing any separated records.
  • the received data is compared with at least one other previously stored record to determine the existence of a relationship between the entities, and that a relationship record is created for every two entities for which there exists a relationship.
  • the relationship record may include confidence indicator(s), indicating the likelihood of a relationship between the two entities or the likelihood that the two entities are the same.
  • the relationship record may also reference roles of the entities that are included in the received data or assigned.
  • the relationship records are analyzed to determine the existence of any previously unknown related records based upon the existence of a user- defined criterion.
  • the relationship records reflect a first degree of separation which may be analyzed and navigated to include only those records that meet a predetermined criterion, such as a maximum number of degrees of separation test or a minimum level of the relationship and/or likeness confidence indicators.
  • An alert may be issued identifying the group of related records based upon a user-defined alert rule.
  • the alert may be communicated through various electronic communication means, such as an electronic mail message, a telephone call, a personal digital assistant, or a beeper message.
  • the method would include: (a) duplicating the relationship records on one or more databases, (b) distributing received data to one or more of the additional databases for analysis based upon work load criteria; and (c) issuing any alerts from the additional databases. It is further contemplated that the method and system would include transferring the stored data to another database that uses the same algorithm as the first database. The steps of processing and transferring may be performed in real-time or in batch.
  • FIGURE 1 is a block diagram of a system in accordance with the present invention
  • FIGURE 2 is a flow chart for process data in the System block in FIGURE 1
  • FIGURES 3A-3C are a flow chart of the Process Algorithm block in FIGURE 2
  • FIGURES 4A-4B are a flow chart of the Evaluate Stored Analyzed Record block in
  • a data processing system 10 for processing data into and in a database and for retrieving the processed data is illustrated in Figures 1-4B.
  • the system 10 includes at least one conventional computer 12 having a processor 14 and memory 16.
  • the memory 16 is used for storage of the executable software to operate the system 10 as well as for storage of the data in a database and random access memory.
  • the software can be stored or provided on any other computer readable medium, such as a CD, DVD or floppy disc.
  • the computer 12 may receive inputs from a plurality of sources 18 ⁇ - 18 render.
  • the data comprises one or more records having one or more identifiers representing one or more entities.
  • the entities may be individuals, organizations, property, proteins, chemical or organic compounds, biometric or atomic structures, or other things that can be represented by identifying data.
  • the identifiers for an individual type entity may include the individual's name, address(es), telephone number(s), credit card number(s), social security number, employment information, frequent flyer or other loyalty program, or account information.
  • distinctive identifiers are those that are distinctive to a specific entity, such as a social security number for an individual entity.
  • the system 10 receives the data from the plurality of sources 181 - 18 formulate and utilizes an algorithm 22 to process the received data 20.
  • the algorithm is stored in the memory 16 and is processed or implemented by the processor 14.
  • the received data 20 including, without limitation, attributions of the received data
  • the received data 20 is converted into a standardized message format 24, such as Universal Message Format.
  • the algorithm 22 receives the standardized data 26 and analyzes 28 the received data 26 prior to storage or query in the database by: (a) comparing the received data 26 to user-defined criteria or rules to perform several functions, including, without limitation, the following: (i) name standardization 30 (e.g., comparing to a root names list), (ii) address hygiene 32 (e.g., comparing to postal delivery codes), (iii) field testing or transformations 34 (e.g., comparing the gender field to confirm M/F or transforming Male to M, etc.), (iv) user-defined formatting 36 (e.g., formatting all social security numbers in a 999-99-9999 format), (b) enhancing the data 38 by causing the system 10 to access one or more databases 40 (which may contain the same algorithm as the first database, thus causing the system to access additional databases in a cascading manner) to search for additional information (which may be submitted as received data 20) which can supplement 42 the received data 26,
  • name standardization 30 e.g.,
  • Any new, modified or enhanced data can be stored in newly created fields to maintain the integrity of the original data. For example, if the name "Bobby Smith" is received in a standardized format 26, the name “Bobby” may be compared to a root name list 30, standardized to the name "Robert” and saved in a newly created field for the standard name. Additionally, if the name and address for Bobby Smith is received 26, the system 10 can access a conventional Internet-based people finder database 40 to obtain Bobby Smith's telephone number, which can then be formatted in a standard way based upon user-defined criteria 36. Furthermore, the address field may be compared to an address list 32, resulting in the text "Street" added to the end of the standardized address. Hash keys are then built 44 based upon the enhanced data and stored in newly created fields.
  • the system 10 also receives queries 46 from the plurality of sources 18] - 18 n and utilizes the same algorithm 22 to analyze and process the received queries 46. For example, if a query for "Bobby Smith" is received 46, the same algorithm 22 which standardized the received name "Bobby” to the name "Robert” will also standardize the queried name "Bobby” to the queried name “Robert.” Indeed, the system 10 loads and stores received queries 46 the same as received data 20, maintaining the full attribution of the query system and user. As such, as the system 10 processes the received queries 46, the algorithm 22 may search other databases 40, such as a public records database, to find missing information. Query results 94 may be broader than exact matches, and may include relationship matches.
  • the query results 94 may include records of people who have used Bobby Smith's credit card, or have lived at Bobby Smith's address.
  • the algorithm 22 also performs a function upon receipt of any received data 26 to:
  • the algorithm retrieves a group of records 48 (including identifiers similar to the identifiers in the received data) from the database for possible candidates and analyzes the retrieved group of records for a match 50 identifying an existing stored record corresponding to the received data based upon generally distinctive identifiers 52. If a match is identified 54, the algorithm analyzes whether the matched record contains any new or previously unknown identifiers 56.
  • the algorithm 22 would analyze the new or previously unknown identifiers 58, add or update the candidate list/relationship records 70 based upon the new or previously unknown identifiers in the matched record, and determine whether any additional matches 50 exist. This process is repeated until no further matches can be discerned. The matching process would then assign all of the matched records the same persistent key 60. Furthermore, if no matches were found for any record, the unmatched record would be assigned its own persistent key 62. The records retain full attribution of the data and the matching process does not lose any data through a merge, purge or delete function. For example, if record #1 has an individual's name, telephone number and address, and record #2 has the same name and a credit card number.
  • data for record #3 is received, including the individual's name (same as record #1), address (same as record #1), telephone number (same as record #1) and credit card number. Because the name, telephone number and address for #1 and #3 match, the system 10 may determine that #1 and #3 are describing the same individual, so the algorithm matches record #1 with #3 data. The system 10 then re-runs the algorithm, comparing the matched record #1 with the other records of the candidate list or additional records that include identifiers similar to the matched record. Because the name and credit card number of matched record #1 matches the name and credit card number of record #2, these two records are also matched. This matched record is then run again against the candidate list or additional records retrieved looking for matches 54 until no more matches are obtained.
  • the system 10 may determine that two records were incorrectly matched.
  • social security numbers are considered generally distinctive identifiers for individuals, and thus records often are matched based upon the same social security number.
  • the social security number would be common across such individual type entities and no longer a generally distinctive identifier for these individuals. Accordingly: (a) the now known common identifier would be added to a list of common identifiers and all future processes would not attempt to retrieve records for the candidate list or create relationship records 70 based upon the now known common identifier, thus stopping any future matches 64 and (b) any records that were matched based upon that erroneous social security number would need to be split to reflect the data prior to the match, thus requiring no prior data loss. To accomplish the latter objective, the system 10 separates any matches that occurred based upon the incorrect assumptions 66 to the point prior to the incorrect assumption pursuant to the full attribution of the data, without any loss of data.
  • the system 10 compares all received data to all records in the stored data and creates a relationship record 70 for every pair of records for which there is some relationship between the respective entities.
  • the relationship record 70 would include relationship types (e.g., father, co-conspirator), the confidence indicators (which are scores indicating the strength of relationship of the two entities) 72 and the assigned persistent key 60 or 62.
  • the confidence indicators 72 may include a relationship score and a likeness score.
  • the relationship score is an indicator, such as between 1 and 10, representing the likelihood that there is a relationship between individual #1 and individual #2.
  • the likeness score is also an indicator, such as between 1 and 10, that individual #1 is the same person as individual #2.
  • the confidence indicators 72 could be identified during the matching process described hereinabove.
  • the system 10 also analyzes the received data 20 and queries 46 to determine the existence of a condition that meets the criteria of a user-defined alert rule 74, such as an inappropriate relationship between two entities or a certain pattern of activities based upon relationship records that have a confidence indicator greater than a predetermined value and/or have a relationship record less than a predetermined number of degrees of separation.
  • a user-defined alert rule 74 such as an inappropriate relationship between two entities or a certain pattern of activities based upon relationship records that have a confidence indicator greater than a predetermined value and/or have a relationship record less than a predetermined number of degrees of separation.
  • the system 10 may include a list of fraudulent credit cards that could be used to determine whether any received data or query contains a credit card number that is on the list of fraudulent credit card numbers.
  • the user-defined alert rule 74 may cause the received data and queries to be reported.
  • an alert rule may exist if, upon entering data of a new vendor, it was determined that the new vendor had the same address as a current employee, indicating a relationship between the vendor and the employee that perhaps the employer would like to investigate.
  • the system 10 issues an alert 74 which may be communicated through various mediums, such as a message via an e-mail or to a hand-held communication device, such as an alpha-numeric beeper, personal digital assistant or a telephone.
  • the system 10 will: (a) start with individual #1, (b) find all other individuals 80 related to #1 having a confidence indicator greater than seven 76, (c) analyze all of the first degree of separation individuals 80, and determine all individuals 82 related to the first degree of separation individuals 80 having a confidence indicator greater than seven 84 and (d) repeat the process until it meets the six degrees of separation parameter 78.
  • the system would send electronically an alert 74 (that may include all the resulting records based upon a user-defined criterion) to the relevant individual or separate system enabling further action.
  • the relationship records 70 could be duplicated over several databases.
  • the system Upon receipt of received data 20, the system could systematically evaluate the nature of the work load of each of the other databases and distribute the matched/related/analyzed records to the database most likely to efficiently analyze the stored analyzed record 68. Any alerts 74 could then be issued from any results emanating from the other databases.
  • the processed data can be transferred 88 to additional databases based upon a cascading warehouse publication list 86 that may utilize the same algorithm 92, either on a real-time or batch process. In this manner, the transferred data 88 can then be used to match with data (which may include different data) in the additional databases and any subsequent database to identify relationships, matches or processing of such data.
  • the matched records based upon the confidence indicators in a local database may be transferred 88 to the regional database to be compared and matched with data utilizing the same algorithm 92. Thereafter, the processed data resulting from the regional database may be transferred 88 to the national office.

Abstract

A method and system for processing data into and in a database (16) and for retrieving the processed data is disclosed. The data comprises identifiers of a plurality of entities (18). The method and system comprises: (a) processing data into and in a database (16), (b) enhancing received data (20) prior to storage in a database (16), (c) determining and matching records based upon relationships between the records in the received data (20) existing data without and loss of data, (d) enabling alerts based upon user-defined alert riles and relationships, (e) automatically stopping additional matches and separating previously matched when identifiers used to match records are later determined to be common across entities and not generally distinctive of an entity, (f) receiving data queries (46) for retrieving the processed data stored in the database (16), (g) utilizing the same algorithm to process the queries (46) and (h) transferring the processed data to another database that uses the same algorithm.

Description

REAL TIME DATA WAREHOUSING
DESCRIPTION
CROSS-REFERENCE TO RELATED APPLICATIONS
The present application claims the benefit of provisional application number 60/344,067, filed in the United States Patent Office on December 28, 2001.
FEDERALLY SPONSORED OR DEVELOPMENT
Not Applicable.
TECHNICAL FIELD:
This invention generally relates to a method, program and system for processing and retrieving data in a data warehouse and, more particularly, to a method, program and system for the processing of data into and in a data warehouse, to the querying of data in a data warehouse, and the analyzing of data in a data warehouse.
BACKGROUND OF THE INVENTION: Data warehouses are computer-based databases designed to store records and respond to queries generally from multiple sources. The records correspond with entities, such as individuals, organizations and property. Each record contains identifiers of the entity, such as for example, a name, address or account information for an individual.
Unfortunately, the effectiveness of current data warehouse systems is diminished because of certain limitations that create, perpetuate and/or increase certain data quality, integrity and performance issues. Such limitations also increase the risk, cost and time required to implement, correct and maintain such systems.
The issues and limitations include, without limitation, the following: (a) challenges associated with differing or conflicting formats emanating from the various sources of data, (b) incomplete data based upon missing information upon receipt, (c) multiple records entered that reflect the same entity based upon (often minor) discrepancies or misspellings, (d) insufficient capability to identify whether multiple records are reflecting the same entity and/or whether there is some relationship between multiple records, (e) lost data when two records determined to reflect the same entity are merged or one record is discarded, (f) insufficient capability to later separate records when merged records are later determined to reflect two separate entities, (g) insufficient capability to issue alerts based upon user- defined alert rules in real-time, (h) inadequate results from queries that utilize different algorithms or conversion processes than the algorithms or conversion processes used to process received data, and (i) inability to maintain a persistent query in accordance with a pre-determined criteria, such as for a certain period of time.
For example, when the identifiers of an individual are received and stored in a database: (a) the records from one source may be available in a comma delimited format while the records of another source may be received in another data format; (b) data from various records may be missing, such as a telephone number, an address or some other identifying information; or (c) two records reflecting the same individual may be unknowingly received because one record corresponds to a current name and another record corresponds to a maiden name. In the latter situation, the system may determine that the two records ought to be merged or that one record (perhaps emanating from a less reliable source) be discarded. However, in the merging process, current systems typically abandon data, which negates the ability to later separate the two records if the records are determined to reflect two separate entities.
Additionally, when the identifiers are received and stored in a database, the computer may perform transformation and enhancement processes prior to loading the data into the database. However, the query tools of current systems use few, if any, of the transformation and enhancement processes used to receive and process the received data, causing any results of such queries to be inconsistent, and therefore inadequate, insufficient and potentially false. Similarly, current data warehousing systems do not have the necessary tools to fully identify the relationship between entities, or determine whether or not such entities reflect the same entity in real-time. For example, one individual may have the same address of a second individual and the second individual may have the same telephone number of a third individual. In such circumstances, it would be beneficial to determine the likelihood that the first individual had some relationship with the third individual, especially in real-time. Furthermore, current data warehousing systems have limited ability to identify inappropriate or conflicting relations between entities and provide alerts in real-time based upon user-defined alert rules. Such limited ability is based upon several factors, including, without limitation, the inability to efficiently identify relationships as indicated above.
Furthermore, current data warehousing systems cannot first transform and enhance a record and then maintain a persistent query over a predetermined period. A persistent query would be beneficial in various circumstances, including, without limitation, in cases where the name of a person is identified in a criminal investigation. A query to identify any matches corresponding with the person may initially turn up with no results and the queried data in current systems is essentially discarded. However, it would be beneficial to load the query in the same way as received data wherein the queried data may be used to match against other received data or queries and provide a better basis for results.
As such, any or all the issues and limitations (whether identified herein or not) of current data warehouse systems diminishes accuracy, reliability and timeliness of the data warehouse and dramatically impedes performance. Indeed, the utilization with such issues may cause inadequate results and incorrect decisions based upon such results. The present invention is provided to address these and other issues.
SUMMARY OF THE INVENTION:
It is an object of the invention to provide a method, program and system for processing data into and in a database. The method preferably comprises the steps of: (a) receiving data for a plurality of entities, (b) utilizing an algorithm to process the received data, (c) storing the processed data in the database, (d) receiving data queries for retrieving data stored in the database, and (e) utilizing the same algorithms to process the queries.
The data comprises one or more records having one or more identifiers representing one or more entities. The entities may be individuals, property, organizations, proteins or other things that can be represented by identifying data.
The algorithm includes receiving data that has been converted to a standardized message format and retains attribution of the identifiers, such as a source system, the source system's unique value for the identifier, query system and/or user.
The algorithm process includes analyzing the data prior to storage or query in the database wherein such analyzing step may include: (a) comparing one or more identifiers against a user-defined criterion or one or more data sets in a database, list, or other electronic format, (b) formatting the identifier in accordance with the user-defined standard, (c) enhancing the data prior to storage or query by querying one or more data sets in other databases (which may have the same algorithm as the first database and continue to search in a cascading manner) or lists for additional identifiers to supplement the received data with any additional identifiers, (d) creating hash keys for the identifiers, and (d) storing processed queries based upon user-defined criterion, such as a specified period of time.
It is further contemplated that the method, program and system would include: (a) utilizing an algorithm to process data and match records wherein the algorithm process would: (i) retrieve from the database a group of records including identifiers similar to the identifiers in the received data, (ii) analyze the retrieved group of records for a match to the received data, (iii) match the received data with the retrieved records that are determined to reflect the same entity, (iv) analyze whether any new identifiers were added to any matched record, and (v) re-search the other records of the retrieved group of records to match to any matched record, and (b) storing the matched records in the database. Additionally, the algorithm may include: (a) retrieving from the database an additional group of records including identifiers similar to the identifiers in the matched record, (b) repeating the steps of retrieving records, analyzing for matches, matching same entity records, analyzing new identifiers, and re-searching retrieved records until no additional matches are found, and (c) assigning a persistent key to the records. Such processes could be performed in batch or in real-time. It is yet further contemplated that the method, program and system includes determining whether a particular identifier is common across entities or generally distinctive to an entity, and separating previously matched records if the particular identifier used to match the records is later determined to be common across entities and not generally distinctive of an entity. Such determining and separating steps may be performed in real- time or in batch. The determining and separating steps may include stopping any additional matches based upon an identifier that is determined to be common across entities and not generally distinctive of an entity, as well as re-processing any separated records.
It is further contemplated that the received data is compared with at least one other previously stored record to determine the existence of a relationship between the entities, and that a relationship record is created for every two entities for which there exists a relationship. The relationship record may include confidence indicator(s), indicating the likelihood of a relationship between the two entities or the likelihood that the two entities are the same. The relationship record may also reference roles of the entities that are included in the received data or assigned. The relationship records are analyzed to determine the existence of any previously unknown related records based upon the existence of a user- defined criterion. The relationship records reflect a first degree of separation which may be analyzed and navigated to include only those records that meet a predetermined criterion, such as a maximum number of degrees of separation test or a minimum level of the relationship and/or likeness confidence indicators. An alert may be issued identifying the group of related records based upon a user-defined alert rule. The alert may be communicated through various electronic communication means, such as an electronic mail message, a telephone call, a personal digital assistant, or a beeper message.
It is further contemplated that the method would include: (a) duplicating the relationship records on one or more databases, (b) distributing received data to one or more of the additional databases for analysis based upon work load criteria; and (c) issuing any alerts from the additional databases. It is further contemplated that the method and system would include transferring the stored data to another database that uses the same algorithm as the first database. The steps of processing and transferring may be performed in real-time or in batch.
These and other aspects and attributes of the present invention will be discussed with reference to the following drawings and accompanying specification.
BRIEF DESCRIPTION OF THE DRAWINGS:
FIGURE 1 is a block diagram of a system in accordance with the present invention; FIGURE 2 is a flow chart for process data in the System block in FIGURE 1 ; FIGURES 3A-3C are a flow chart of the Process Algorithm block in FIGURE 2; and FIGURES 4A-4B are a flow chart of the Evaluate Stored Analyzed Record block in
FIGURE 3.
DETAILED DESCRIPTION OF THE INVENTION:
While this invention is susceptible of embodiment in many different forms, there is shown in the drawing, and will be described herein in detail, specific embodiments thereof with the understanding that the present disclosure is to be considered as an exemplification of the principles of the invention and is not intended to limit the invention to the specific embodiments illustrated.
A data processing system 10 for processing data into and in a database and for retrieving the processed data is illustrated in Figures 1-4B. The system 10 includes at least one conventional computer 12 having a processor 14 and memory 16. The memory 16 is used for storage of the executable software to operate the system 10 as well as for storage of the data in a database and random access memory. However, the software can be stored or provided on any other computer readable medium, such as a CD, DVD or floppy disc. The computer 12 may receive inputs from a plurality of sources 18ι - 18„.
The data comprises one or more records having one or more identifiers representing one or more entities. The entities may be individuals, organizations, property, proteins, chemical or organic compounds, biometric or atomic structures, or other things that can be represented by identifying data. The identifiers for an individual type entity may include the individual's name, address(es), telephone number(s), credit card number(s), social security number, employment information, frequent flyer or other loyalty program, or account information. Generally distinctive identifiers are those that are distinctive to a specific entity, such as a social security number for an individual entity.
The system 10 receives the data from the plurality of sources 181 - 18„ and utilizes an algorithm 22 to process the received data 20. The algorithm is stored in the memory 16 and is processed or implemented by the processor 14. The received data 20 including, without limitation, attributions of the received data
(e.g., source system identification), is likely received in many data formats. Prior to being processed by the algorithm 22, the received data 20 is converted into a standardized message format 24, such as Universal Message Format.
Thereafter, as illustrated in FIGURES 3A-3C, the algorithm 22 receives the standardized data 26 and analyzes 28 the received data 26 prior to storage or query in the database by: (a) comparing the received data 26 to user-defined criteria or rules to perform several functions, including, without limitation, the following: (i) name standardization 30 (e.g., comparing to a root names list), (ii) address hygiene 32 (e.g., comparing to postal delivery codes), (iii) field testing or transformations 34 (e.g., comparing the gender field to confirm M/F or transforming Male to M, etc.), (iv) user-defined formatting 36 (e.g., formatting all social security numbers in a 999-99-9999 format), (b) enhancing the data 38 by causing the system 10 to access one or more databases 40 (which may contain the same algorithm as the first database, thus causing the system to access additional databases in a cascading manner) to search for additional information (which may be submitted as received data 20) which can supplement 42 the received data 26, and (c) building hash keys of the analyzed data 44. Any new, modified or enhanced data can be stored in newly created fields to maintain the integrity of the original data. For example, if the name "Bobby Smith" is received in a standardized format 26, the name "Bobby" may be compared to a root name list 30, standardized to the name "Robert" and saved in a newly created field for the standard name. Additionally, if the name and address for Bobby Smith is received 26, the system 10 can access a conventional Internet-based people finder database 40 to obtain Bobby Smith's telephone number, which can then be formatted in a standard way based upon user-defined criteria 36. Furthermore, the address field may be compared to an address list 32, resulting in the text "Street" added to the end of the standardized address. Hash keys are then built 44 based upon the enhanced data and stored in newly created fields.
The system 10 also receives queries 46 from the plurality of sources 18] - 18n and utilizes the same algorithm 22 to analyze and process the received queries 46. For example, if a query for "Bobby Smith" is received 46, the same algorithm 22 which standardized the received name "Bobby" to the name "Robert" will also standardize the queried name "Bobby" to the queried name "Robert." Indeed, the system 10 loads and stores received queries 46 the same as received data 20, maintaining the full attribution of the query system and user. As such, as the system 10 processes the received queries 46, the algorithm 22 may search other databases 40, such as a public records database, to find missing information. Query results 94 may be broader than exact matches, and may include relationship matches. For example, if the query is for "Bobby Smith", the query results 94 may include records of people who have used Bobby Smith's credit card, or have lived at Bobby Smith's address. The algorithm 22 also performs a function upon receipt of any received data 26 to:
(a) determine whether there is an existing record in the database that matches the entity corresponding to such received data and (b) if so, matching the received data to the existing record. For example, the algorithm retrieves a group of records 48 (including identifiers similar to the identifiers in the received data) from the database for possible candidates and analyzes the retrieved group of records for a match 50 identifying an existing stored record corresponding to the received data based upon generally distinctive identifiers 52. If a match is identified 54, the algorithm analyzes whether the matched record contains any new or previously unknown identifiers 56. If there were new or previously unknown identifiers 56, the algorithm 22 would analyze the new or previously unknown identifiers 58, add or update the candidate list/relationship records 70 based upon the new or previously unknown identifiers in the matched record, and determine whether any additional matches 50 exist. This process is repeated until no further matches can be discerned. The matching process would then assign all of the matched records the same persistent key 60. Furthermore, if no matches were found for any record, the unmatched record would be assigned its own persistent key 62. The records retain full attribution of the data and the matching process does not lose any data through a merge, purge or delete function. For example, if record #1 has an individual's name, telephone number and address, and record #2 has the same name and a credit card number. One does not know whether or not they are the same individual, so the records must be kept separate. Then data for record #3 is received, including the individual's name (same as record #1), address (same as record #1), telephone number (same as record #1) and credit card number. Because the name, telephone number and address for #1 and #3 match, the system 10 may determine that #1 and #3 are describing the same individual, so the algorithm matches record #1 with #3 data. The system 10 then re-runs the algorithm, comparing the matched record #1 with the other records of the candidate list or additional records that include identifiers similar to the matched record. Because the name and credit card number of matched record #1 matches the name and credit card number of record #2, these two records are also matched. This matched record is then run again against the candidate list or additional records retrieved looking for matches 54 until no more matches are obtained.
On occasion, the system 10 may determine that two records were incorrectly matched. For example, social security numbers are considered generally distinctive identifiers for individuals, and thus records often are matched based upon the same social security number. However, it is possible that such number, in certain circumstances, is later determined to be common across entities and not generally distinctive of an entity. For example, consider a data entry operation having a record field for social security numbers as a required field, but the data entry operator who did not know the social security number of the individuals merely entered the number "123-45-6789" for each individual.
In such a case, the social security number would be common across such individual type entities and no longer a generally distinctive identifier for these individuals. Accordingly: (a) the now known common identifier would be added to a list of common identifiers and all future processes would not attempt to retrieve records for the candidate list or create relationship records 70 based upon the now known common identifier, thus stopping any future matches 64 and (b) any records that were matched based upon that erroneous social security number would need to be split to reflect the data prior to the match, thus requiring no prior data loss. To accomplish the latter objective, the system 10 separates any matches that occurred based upon the incorrect assumptions 66 to the point prior to the incorrect assumption pursuant to the full attribution of the data, without any loss of data. Thus, if record #1 for "Bobby Smith" (which had been standardized to "Robert Smith") had been matched with record #2 for "Robert Smith", and it is later determined that these are two different individuals, and that they needed to be broken into the original record #'s 1 and 2, the algorithm would identify that the standardized "Robert Smith" of record #1 was known as "Bobby." Furthermore, the determining and separating steps can be performed in realtime or in batch. Furthermore, the separated records may be re-submitted as new received data to be processed in the system.
There are also times when relationships, even less than obvious relationships, need to be evaluated 68. For example, individuals #1 and #2 may each have a relationship to an organization #3. Thus it is possible, perhaps likely, that there is a relationship between individuals #1 and #2. The relationships can be extended to several degrees of separation. Accordingly, the system 10 compares all received data to all records in the stored data and creates a relationship record 70 for every pair of records for which there is some relationship between the respective entities. The relationship record 70 would include relationship types (e.g., father, co-conspirator), the confidence indicators (which are scores indicating the strength of relationship of the two entities) 72 and the assigned persistent key 60 or 62. For example, the confidence indicators 72 may include a relationship score and a likeness score. The relationship score is an indicator, such as between 1 and 10, representing the likelihood that there is a relationship between individual #1 and individual #2. The likeness score is also an indicator, such as between 1 and 10, that individual #1 is the same person as individual #2. The confidence indicators 72 could be identified during the matching process described hereinabove.
The system 10 also analyzes the received data 20 and queries 46 to determine the existence of a condition that meets the criteria of a user-defined alert rule 74, such as an inappropriate relationship between two entities or a certain pattern of activities based upon relationship records that have a confidence indicator greater than a predetermined value and/or have a relationship record less than a predetermined number of degrees of separation. For example, the system 10 may include a list of fraudulent credit cards that could be used to determine whether any received data or query contains a credit card number that is on the list of fraudulent credit card numbers. Additionally, the user-defined alert rule 74 may cause the received data and queries to be reported. For example, an alert rule may exist if, upon entering data of a new vendor, it was determined that the new vendor had the same address as a current employee, indicating a relationship between the vendor and the employee that perhaps the employer would like to investigate. Upon determination of a situation that would trigger the user-defined alert rule, the system 10 issues an alert 74 which may be communicated through various mediums, such as a message via an e-mail or to a hand-held communication device, such as an alpha-numeric beeper, personal digital assistant or a telephone. For example, based upon a user-defined alert rule for all records that have a likelihood of relationship confidence indicator greater than seven 76 to a maximum of six degrees of separation 78, the system 10 will: (a) start with individual #1, (b) find all other individuals 80 related to #1 having a confidence indicator greater than seven 76, (c) analyze all of the first degree of separation individuals 80, and determine all individuals 82 related to the first degree of separation individuals 80 having a confidence indicator greater than seven 84 and (d) repeat the process until it meets the six degrees of separation parameter 78. The system would send electronically an alert 74 (that may include all the resulting records based upon a user-defined criterion) to the relevant individual or separate system enabling further action. Furthermore, the relationship records 70 could be duplicated over several databases.
Upon receipt of received data 20, the system could systematically evaluate the nature of the work load of each of the other databases and distribute the matched/related/analyzed records to the database most likely to efficiently analyze the stored analyzed record 68. Any alerts 74 could then be issued from any results emanating from the other databases. Finally, the processed data can be transferred 88 to additional databases based upon a cascading warehouse publication list 86 that may utilize the same algorithm 92, either on a real-time or batch process. In this manner, the transferred data 88 can then be used to match with data (which may include different data) in the additional databases and any subsequent database to identify relationships, matches or processing of such data. For example, the matched records based upon the confidence indicators in a local database may be transferred 88 to the regional database to be compared and matched with data utilizing the same algorithm 92. Thereafter, the processed data resulting from the regional database may be transferred 88 to the national office. By combining the processed data in each step, especially in real-time, organizations or system users would be able to determine inappropriate or conflicting data prompting further action.
Conventional software code can be used to implement the functional aspects of the method, program and system described above. The code can be placed on any computer readable medium for use by a single computer or a distributed network of computers, such as the Internet.
From the foregoing, it will be observed that numerous variations and modifications may be effected without departing from the spirit and scope of the invention. It is to be understood that no limitation with respect to the specific apparatus illustrated herein is intended or should be inferred. It is, of course, intended to cover by the appended claims all such modifications as fall within the scope of the claims.

Claims

CLAIMS WHAT IS CLAIMED IS:
1. A method for processing data comprising the steps of: receiving data comprising at least one record having at least one identifier, each record representing at least one of a plurality of entities; utilizing an algorithm to process the received data; storing the processed data in a database; receiving data queries for retrieving at least a portion of the data stored in the database; and utilizing the algorithm to process the queries.
2. The method of claim 1 wherein the entities are people.
3. The method of claim 1 wherein the entities are personal property.
4. The method of claim 3 wherein the personal property are vehicles.
5. The method of claim 1 wherein the entities are real property.
6. The method of claim 1 wherein the entities are organizations.
7. The method of claim 1 wherein the entities are chemical compounds.
8. The method of claim 1 wherein the entities are organic compounds.
9. The method of claim 1 wherein the entities are proteins.
10. The method of claim 1 wherein the entities are biological structures.
11. The method of claim 1 wherein the entities are biometric values.
12. The method of claim 1 wherein the entities are atomic structures.
13. The method of claim 1 further comprising the step of converting the received data into a standardized message format prior to utilizing an algorithm to process the received data.
14. The method of claim 1 wherein the step of utilizing an algorithm to process the received data includes retaining an attribution of each record.
15. The method of claim 14 wherein the step of retaining an attribution of each record includes retaining an identity of: a source system providing each record and a unique identifier representing each record in the source system.
16. The method of claim 14 wherein the step of retaining an attribution of each record includes retaining an identity of a query system and a particular user.
17. The method of claim 1 wherein the step of utilizing an algorithm to process the received data includes analyzing the received data prior to one of storage in the database and query in the database.
18. The method of claim 17 wherein the step of analyzing the received data prior to one of storage in the database and query in the database includes comparing at least one of the identifiers against one of: a user-defined criterion and at least one data set in one of a secondary database and a list.
19. The method of claim 18 wherein the compared identifier is a name of at least one of the plurality of entities and the data set is in a names root list.
20. The method of claim 18 wherein the compared identifier is an address of at least one of the plurality of entities and the data set is in an address list.
21. The method of claim 18 wherein the step of comparing at least one of the identifiers against a user-defined criterion includes formatting at least one identifier in accordance with the user-defined standard.
22. The method of claim 18 wherein the step of analyzing the received data prior to one of storage in the database or query in the database includes enhancing the received data.
23. The method of claim 22 wherein the step of enhancing the received data includes: querying at least one data set in one of the secondary database and the list for additional identifiers for the received data, and supplementing the received data with the additional identifiers.
24. The method of claim 23 wherein the step of querying at least one data set includes: at least one data set being in the secondary database utilizing the algorithm to query additional databases to locate additional identifiers relating to at least one of the received identifiers; and supplementing the received data with the additional identifiers located in the secondary database.
25. The method of claim 17 wherein the step of analyzing the received data prior to one of storage in the database and query in the database includes creating hash keys of the identifiers.
26. The method of claim 1 wherein the step of utilizing an algorithm to process received data includes storing in the database processed queries based upon a user-defined criterion.
27. The method of claim 26 wherein the user-defined criterion includes an expiration date.
28. The method of claim 1 wherein the steps of receiving data comprising at least one record having at least one identifier, each record representing at least one of a plurality of entities, utilizing an algorithm to process the received data, and storing the processed data in a database are performed in real-time.
29. The method of claim 1 wherein the steps of receiving data comprising at least one record having at least one identifier, each record representing at least one of a plurality of entities, utilizing an algorithm to process the received data, and storing the processed data in a database are performed in batch.
30. The method of claims 1 or 17, wherein the step of utilizing an algorithm to process the received data includes: retrieving from the database a group of additional records having identifiers similar to the identifiers in the received data; analyzing each identifier of the retrieved group of records for a match to at least a portion of the received data; matching at least a portion of the received data with at least one analyzed record of the retrieved group of records that is determined to reflect a record having identifiers representing an identical one of the plurality of entities; analyzing whether at least one identifier is included in the at least a portion of the received data that was not previously stored in the at least one analyzed record of the retrieved group of records that is determined to reflect a record having identifiers representing an identical one of the plurality of entities; and re-analyzing each identifier of the retrieved group of records for a match to: at least a portion of the received data and the analyzed record of the retrieved group of records that is determined to reflect a record having identifiers representing an identical one of the plurality of entities; and storing the matched records in the database.
31. The method of claim 30 wherein matching at least a portion of the received data with at least one analyzed record includes assigning a persistent key.
32. The method of claim 30 wherein the step of utilizing an algorithm to process the received data further comprises retrieving from the database an additional group of records having identifiers similar to the identifiers in: at least a portion of the received data and the analyzed record of the retrieved group of records that is determined to reflect a record having identifiers representing an identical one of the plurality of entities prior to re-analyzing each identifier of the retrieved group of records for a match.
33. The method of claim 32 wherein utilizing an algorithm to process the received data includes repeating: retrieving from the database a group of records; analyzing each identifier of the retrieved group of records; matching at least a portion of the received data; analyzing whether at least one identifier is included in the at least a portion of the received data that was not previously stored; retrieving from the database an additional group of records; and re-analyzing each identifier of the retrieved group of records for a match until no additional matches are determined.
34. The method of claim 30 wherein the step of utilizing an algorithm to process the received data includes: determining whether a particular identifier is one of: common across records representing at least two different entities and generally distinctive of a record representing a particular entity; and separating records that were previously matched based on a particular identifier if the particular identifier is determined to be common across records representing at least two different entities and not generally distinctive of a record representing a particular entity.
35. The method of claim 34 wherein the step of utilizing an algorithm to process the received data includes prohibiting any additional matches of records based on a particular identifier if the particular identifier is determined to be common across records representing at least two different entities and not generally distinctive of a record representing a particular entity.
36. The method of claim 34 wherein the step of utilizing an algorithm to process the received data includes re-processing the separated records as received data.
37. The method of claim 34 wherein the steps of determining whether a particular identifier is one of common across records representing at least two different entities and generally distinctive of a record representing a particular entity and separating records that were previously matched are performed in real-time.
38. The method of claim 34 wherein the steps of determining whether a particular identifier is one of common across records representing at least two entities and generally distinctive of a record representing a particular entity and separating records that were previously matched are performed in batch.
39. The method of claim 30 wherein the step of utilizing an algorithm to process the received data includes: comparing the received data with at least one stored record to determine the existence of a relationship; and creating a relationship record for each stored record determined to reflect a relationship with at least a portion of the received data.
40. The method of claim 39 wherein the step of utilizing an algorithm to process the received data includes creating at least one confidence indicator for each relationship record.
41. The method of claim 40 wherein the steps of comparing the received data, creating a relationship record, and creating at least one confidence indicator are performed in real-time.
42. The method of claim 40 wherein the steps of comparing the received data, creating a relationship record, and creating at least one confidence indicator are performed in batch.
43. The method of claim 40 wherein at least one of the confidence indicators indicates the likelihood of a relationship between: an entity represented by the particular record having a relationship with the portion of the received data, and an entity represented by the portion of the received data.
44. The method of claim 40 wherein at least one of the confidence indicators indicates the likelihood that: an entity represented by the particular record having a relationship with the portion of the received data, and an entity represented by the portion of the received data are the same.
45. The method of claim 40 wherein the step of utilizing an algorithm to process received data includes analyzing the relationship records to determine whether the relationship records reflect at least one relationship not previously determined.
46. The method of claim 45 wherein the step of analyzing the relationship records includes analyzing relationship records reflecting at least one level of degrees of separation.
47. The method of claim 46 wherein the step of analyzing relationship records reflecting at least one level of degrees of separation includes analyzing relationship records meeting at least one user-defined criterion.
48. The method of claim 47 wherein the step of analyzing relationship records meeting at least one user-defined criterion includes limiting the relationship records analyzed to a maximum level of degrees of separation.
49. The method of claim 47 wherein the step of analyzing relationship records meeting at least one user-defined criterion includes limiting the relationship records analyzed to relationship records that include confidence indicators greater than a minimum amount.
50. The method of claim 45 wherein the step of utilizing an algorithm to process received data further comprises issuing an alert based upon at least one user-defined alert rule.
51. The method of claim 50 wherein the step of issuing an alert based upon at least one user-defined alert rule includes having the alert communicated via electronic communications means.
52. The method of claim 51 wherein the electronic communications means comprise an e-mail system.
53. The method of claim 51 wherein the electronic communications means comprise a telephone.
54. The method of claim 51 wherein the electronic communications means comprise a beeper.
55. The method of claim 51 wherein the electronic communications means comprise a personal digital assistant.
56. The method of claim 50 wherein the step of analyzing the relationship records includes: duplicating the relationship records on at least one secondary database; distributing received data to the at least one secondary database for analysis based upon a work load criteria; and issuing the alert meeting the criteria of a user-defined alert rule from the at least one secondary database.
57. The method of claims 1 or 28 wherein the step of utilizing an algorithm to process the received data further comprises transferring the stored processed data to at least one secondary database utilizing the algorithm.
58. The method of claim 57 wherein the step of transferring the stored processed data to at least one secondary database is performed in real-time.
59. The method of claim 57 wherein the step of transferring the stored processed data to at least one secondary database is performed in batch.
60. A method for processing data comprising the steps of: receiving data comprising at least one record having at least one identifier, each record representing at least one of a plurality of entities; utilizing an algorithm to: retrieve from a database a group of additional records having identifiers similar to the identifiers in the received data, analyze each identifier of the retrieved group of records for a match to at least a portion of the received data, match the at least a portion of the received data with at least one analyzed record of the retrieved group of records that is determined to reflect a record having identifiers representing an identical one of the plurality of entities, analyze whether at least one identifier is included in the at least a portion of the received data that was not previously stored in the at least one analyzed record of the retrieved group of records that is determined to reflect a record having identifiers representing an identical one of the plurality of entities; and re-analyze each identifier of the retrieved group of records for a match to: the at least a portion of the received data and the analyzed record of the retrieved group of records that is determined to reflect a record having identifiers representing an identical one of the plurality of entities; and storing the matched records in the database.
61. The method of claim 60 wherein the step of utilizing an algorithm includes assigning a persistent key.
62. The method of claim 60 wherein the step of utilizing an algorithm further comprises retrieving from the database an additional group of records having identifiers similar to the identifiers in: at least a portion of the received data and the analyzed record of the retrieved group of records that is determined to reflect a record having identifiers representing an identical one of the plurality of entities prior to re-analyzing each identifier of the retrieved group of records for a match.
63. The method of claims 60 or 62 wherein the step of utilizing an algorithm includes repeating: retrieving from a database a group of additional records; analyzing each identifier of the retrieved group of records; matching at least a portion of the received data; analyzing whether at least one identifier is included in the at least a portion of the received data that was not previously stored; retrieving from the database an additional group of records; and re-analyzing each identifier of the retrieved group of records for a match until no additional matches are determined.
64. The method of claim 63 wherein the steps of receiving data, utilizing an algorithm and storing the matched records are performed in real-time.
65. The method of claim 63 wherein the steps of receiving data, utilizing an algorithm and storing the matched records are performed in batch.
66. The method of claim 60 wherein the step of utilizing an algorithm includes: determining whether a particular identifier is one of: common across records representing at least two different entities and generally distinctive of a record representing a particular entity; and separating records that were previously matched based on a particular identifier if the particular identifier is determined to be common across records representing at least two different entities and not generally distinctive of a record representing a particular entity.
67. The method of claim 66 wherein the step of utilizing an algorithm includes prohibiting any additional matches of records based on a particular identifier if the particular identifier is determined to be common across records representing at least two different entities and not generally distinctive of a particular entity.
68. The method of claim 66 wherein the step of utilizing an algorithm includes reprocessing the separated records as received data.
69. The method of claim 66 wherein the steps of determining whether a particular identifier is one of common across records representing at least two entities and generally distinctive of a record representing a particular entity and separating records that were previously matched are performed in real-time.
70. The method of claim 66 wherein the steps of determining whether a particular identifier is one of common across records representing at least two different entities and generally distinctive of a record representing a particular entity and separating records that were previously matched are performed in batch.
71. The method of claim 60 wherein the step of utilizing an algorithm includes: comparing the received data with at least one stored record to determine the existence of a relationship; and creating a relationship record for each stored record determined to reflect a relationship with at least a portion of the received data.
72. The method of claim 71 wherein the step of utilizing an algorithm includes creating at least one confidence indicator for each relationship record.
73. The method of claim 72 wherein the steps of comparing the received data, creating a relationship record, and creating at least one confidence indicator are performed in real-time.
74. The method of claim 72 wherein the steps of comparing the received data, creating a relationship record, and creating at least one confidence indicator are performed in batch.
75. The method of claim 72 wherein at least one of the confidence indicators indicates the likelihood of a relationship between: an entity represented by the particular record having a relationship with the portion of the received data, and an entity represented by the portion of the received data.
76. The method of claim 72 wherein at least one of the confidence indicators indicates the likelihood that: an entity represented by the particular record having a relationship with the portion of the received data, and an entity represented by the portion of the receive data are the same.
77. The method of claim 72 wherein the step of utilizing an algorithm includes analyzing the relationship records to determine whether the relationship records reflect at least one relationship not previously determined.
78. The method of claim 77 wherein the step of analyzing the relationship records includes analyzing relationship records reflecting at least one level of degree of separation.
79. The method of claim 78 wherein the step of analyzing relationship records reflecting at least one level of degree of separation includes analyzing relationship records meeting at least one user-defined criterion.
80. The method of claim 79 wherein the step of analyzing relationship records meeting a user-defined criterion includes limiting the relationship records analyzed to a maximum level of degrees of separation.
81. The method of claim 79 wherein the step of analyzing relationship records meeting a user-defined criterion includes limiting the relationship records analyzed to relationship records that include confidence indicators greater than a minimum amount.
82. The method of claim 77 wherein the step of utilizing an algorithm further comprises issuing an alert based upon at least one user-defined alert rule.
83. The method of claim 82 wherein the step of issuing an alert based upon at least one user-defined alert rule includes having the alert communicated via electronic communications means.
84. The method of claim 83 wherein the electronic communications means comprise an e-mail system.
85. The method of claim 83 wherein the electronic communications means comprise a telephone.
86. The method of claim 83 wherein the electronic communications means comprise a beeper.
87. The method of claim 83 wherein the electronic communications means comprise a personal digital assistant.
88. The method of claim 82 wherein the step of analyzing the relationship records includes: duplicating the relationship records on at least one secondary database; distributing received data to the at least one secondary for analysis based upon a work load criteria; and issuing the alert based upon the user-defined alert rule from the at least one secondary database.
89. The method of claim 60 further comprising the step of converting the received data into a standardized message format prior to the step of utilizing an algorithm.
90. The method of claim 60 wherein the step of utilizing an algorithm includes retaining an attribution of each of the identifiers.
91. The method of claim 90 wherein the step of retaining the attribution of each record includes retaining an identity of: a source system providing each record and a unique identifier representing each record in the source system.
92. The method of claim 90 wherein the step of retaining an attribution of each of the identifiers includes retaining an identity of a query system and a particular user.
93. The method of claim 60 wherein the step of utilizing an algorithm includes analyzing the received data prior to one of storage in the database and query in the database.
94. The method of claim 93 wherein the step of analyzing the received data prior to one of storage in the database and query in the database includes comparing at least one of the identifiers against one of: a user-defined criterion and at least one data set in one of a secondary database and a list.
95. The method of claim 94 wherein the compared identifier is a name of at least one of the plurality of entities and the data set is in a names root list.
96. The method of claim 94 wherein the compared identifier is an address of at least one of the plurality of entities and the data set is in an address list.
97. The method of claim 94 wherein the step of comparing at least one of the identifiers against a user-defined criterion includes formatting at least one identifier in accordance with the user-defined criterion.
98. The method of claim 93 wherein the step of analyzing the received data prior to one of storage in the database and query in a database includes enhancing the received data.
99. The method of claim 98 wherein the step of enhancing the received data includes: querying at least one data set in one of the secondary database and the list for additional identifiers for the received data; and supplementing the received data with the additional identifiers.
100. The method of claim 99 wherein the step of querying at least one data set includes: at least one data set being in the secondary database utilizing the algorithm to query additional databases to locate additional identifiers relating to at least one of the received identifiers; and supplementing the received data with the additional identifiers located in the secondary database.
101. The method of claim 93 wherein the step of utilizing an algorithm includes creating hash keys of the identifiers.
102. The method of claim 60 wherein the step of utilizing an algorithm includes storing in the database processed queries based upon a user-defined criterion.
103. The method of claim 102 wherein the user-defined criterion includes an expiration date.
104. The method of claim 60 wherein the step of utilizing an algorithm further comprises transferring the stored processed data to at least one secondary database utilizing the algorithm.
105. The method of claim 104 wherein the step of transferring the stored processed data to at least one secondary database is performed in real-time.
106. The method of claim 104 wherein the step of transferring the stored processed data to at least one secondary database is performed in batch.
107. A method for separating previously matched records, the method comprising the steps of: determining whether a particular identifier in at least one record representing at least one entity is one of: common across records representing at least two different entities and generally distinctive of a record representing a particular entity; and separating records that were previously matched based on a particular identifier if the particular identifier is determined to be common across records representing at least two different entities and not generally distinctive of a record representing a particular entity.
108. The method of claim 107 further comprising prohibiting any additional matches of records based on a particular identifier if the particular identifier is determined to be common across records representing a plurality of entities and not generally distinctive of a record representing an entity.
109. The method of claim 107 further comprising the step of re-processing the separated records.
110. The method of claim 107 wherein the steps of determining whether a particular identifier is one of common across records representing at least two different entities and generally distinctive of a record representing a particular entity and separating records that were previously matched are performed in real-time.
111. The method of claim 107 wherein the steps of determining whether a particular identifier is one of common across records representing at least two different entities and generally distinctive of a record representing a particular entity and separating records that were previously matched are performed in batch.
112. A method for processing data in a database, the method comprising the steps of: receiving data comprising at least one record having at least one identifier, each record representing at least one of a plurality of entities; comparing the received data with at least one record stored in a database to determine the existence of a relationship in real-time; creating a relationship record for each record stored in a database determined to reflect a relationship with at least a portion of received data in real-time; and storing each relationship record in the database.
113. The method of claim 112 further comprising the step of creating at least one confidence indicator for each relationship record in real time.
114. The method of claim 113 wherein at least one confidence indicator indicates the likelihood of a relationship between: an entity represented by the particular record having a relationship with the portion of the received data, and an entity represented by the portion of the received data.
115. The method of claim 113 wherein at least one confidence indicator indicates the likelihood that: an entity represented by the particular record having a relationship with the portion of the received data, and an entity represented by the portion of the received data are the same.
116. The method of claims 112 or 113 further comprising the step of analyzing the relationship records to determine whether the relationship records reflect at least one relationship not previously determined.
117. The method of claim 116 wherein the step of analyzing the relationship records includes analyzing relationship records reflecting at least one level of degrees of separation.
118. The method of claim 117 wherein the step of analyzing relationship records reflecting at least one level of degrees of separation includes analyzing relationship records meeting at least one user-defined criterion.
119. The method of claim 118 wherein the step of analyzing relationship records meeting at least one user-defined criterion includes limiting the relationship records analyzed to a maximum level of degrees of separation.
120. The method of claim 118 wherein the step of analyzing relationship records meeting at least one user-defined criterion includes limiting the relationship records analyzed to relationship records that include confidence indicators greater than a minimum amount.
121. The method of claim 116 further comprising the step of issuing an alert based upon at least one user-defined alert rule.
122. The method of claim 121 wherein the step of issuing an alert based upon at least one user-defined alert rule includes having the alert communicated via electronic communication means.
123. The method of claim 122 wherein the electronic communication means comprise an e-mail system.
124. The method of claim 122 wherein the electronic communication means comprise a telephone.
125. The method of claim 122 wherein the electronic communication means comprise a beeper.
126. The method of claim 122 wherein the electronic communication means comprise a personal digital assistant.
127. The method of claim 121 further comprising the step of: duplicating the relationship records on at least one secondary database; distributing received data to the at least one secondary database for analysis based upon work load criteria; and issuing the alert meeting the criteria of a user-defined alert rule from the at least one secondary database.
128. For a system for processing data and a computer readable medium containing program instructions for execution by a computer for performing the method comprising the steps of: receiving data comprising at least one record having at least one identifier, each record representing at least one of a plurality of entities; utilizing an algorithm to process the received data; storing the processed data in a database; receiving data queries for retrieving at least a portion of the data stored in the database; and utilizing the algorithm to process the queries.
129. The computer readable medium of claim 128 wherein the entities are people.
130. The computer readable medium of claim 128 wherein the entities are personal property.
131. The computer readable medium of claim 130 wherein the personal property are vehicles.
132. The computer readable medium of claim 128 wherein the entities are real property.
133. The computer readable medium of claim 128 wherein the entities are organizations.
134. The computer readable medium of claim 128 wherein the entities are chemical compounds.
135. The computer readable medium of claim 128 wherein the entities are organic compounds.
136. The computer readable medium of claim 128 wherein the entities are proteins.
137. The computer readable medium of claim 128 wherein the entities are biological structures.
138. The computer readable medium of claim 128 wherein the entities are biometric values.
139. The computer readable medium of claim 128 wherein the entities are atomic structures.
140. The computer readable medium of claim 128 wherein the method further comprises the step of converting the received data into a standardized message format prior to utilizing an algorithm to process the received data.
141. The computer readable medium of claim 128 wherein the step of utilizing an algorithm to process the received data includes retaining an attribution of each record.
142. The computer readable medium of claim 141 wherein the step of retaining an attribution of each record includes retaining an identity of: a source system providing each record and a unique identifier representing record in the source system.
143. The computer readable medium of claim 141 wherein the step of retaining an attribution of each record includes retaining an identity of a query system and a particular user.
144. The computer readable medium of claim 128 wherein the step of utilizing an algorithm to process the received data includes analyzing the received data prior to one of storage in the database and query in the database.
145. The computer readable medium of claim 144 wherein the step of analyzing the received data prior to one of storage in the database and query in the database includes comparing at least one of the identifiers against one of: a user-defined criterion and at least one data set in one of the database and a list.
146. The computer readable medium of claim 145 wherein the compared identifier is a name of at least one of the plurality of entities and the data set is in a names root list.
147. The computer readable medium of claim 145 wherein the compared identifier is an address of at least one of the plurality of entities and the data set is in an address list.
148. The computer readable medium of claim 145 wherein the step of comparing at least one of the identifiers against a user-defined criterion includes formatting at least one identifier in accordance with a user-defined standard.
149. The computer readable medium of claim 144 wherein the step of analyzing the received data prior to one of storage in the database or query in a database includes enhancing the received data.
150. The computer readable medium of claim 149 wherein the step of enhancing the received data includes: querying at least one data set in one of a database and list for additional identifiers for the received data, and supplementing the received data with the additional identifiers.
151. The computer readable medium of claim 150 wherein the step of querying at least one data set includes: at least one data set being in at least one database utilizing the algorithm to query additional databases to locate additional identifiers relating to at least one of the received identifiers; and supplementing the received data with the additional identifiers located in at least one additional database.
152. The computer readable medium of claim 144 wherein the step of analyzing the received data prior to one of storage in the database and query in the database includes creating hash keys of the identifiers.
153. The computer readable medium of claim 128 wherein the step of utilizing an algorithm to process received data includes storing in the database processed queries based upon a user-defined criterion.
154. The computer readable medium of claim 153 wherein the user-defined criterion includes an expiration date.
155. The computer readable medium of claim 128 wherein the steps of receiving data comprising at least one record having at least one identifier, each record representing at least one of a plurality of entities, utilizing an algorithm to process the received data, and storing the processed data in a database are performed in real-time.
156. The computer readable medium of claim 128 wherein the steps of receiving data comprising at least one record having at least one identifier, each record representing at least one of a plurality of entities, utilizing an algorithm to process the received data, and storing the processed data in a database are performed in batch.
157. The computer readable medium of claims 128 or 144 wherein the step of utilizing an algorithm to process the received data includes: retrieving from the database a group of additional records having identifiers similar to the identifiers in the received data; analyzing each identifier of the retrieved group of records for a match to at least a portion of the received data; matching at least a portion of the received data with at least one analyzed record of the retrieved group of records that is determined to reflect a record having identifiers representing an identical one of the plurality of entities; analyzing whether at least one identifier is included in the at least a portion of the received data that was not previously stored in the at least one analyzed record of the retrieved group of records that is determined to reflect a record having identifiers representing an identical one of the plurality of entities; and re-analyzing each identifier of the retrieved group of records for a match to: at least a portion of the received data and the analyzed record of the retrieved group of records that is determined to reflect a record having identifiers representing an identical one of the plurality of entities; and storing the matched records in the database.
158. The computer readable medium of claim 157 wherein matching at least a portion of the received data with at least one analyzed record includes assigning a persistent key.
159. The computer readable medium of claim 157 wherein the step of utilizing an algorithm to process the received data further comprises retrieving from the database an additional group of records having identifiers similar to the identifiers in: at least a portion of the received data and the analyzed record of the retrieved group of records that is determined to reflect a record having identifiers representing an identical one of the plurality of entities prior to re-analyzing each identifier of the retrieved group of records for a match.
160. The computer readable medium of claim 159 wherein utilizing an algorithm to process the received data includes repeating: retrieving from the database a group of records; analyzing each identifier of the retrieved group of records; matching at least a portion of the received data; analyzing whether at least one identifier is included in the at least a portion of the received data that was not previously stored; retrieving from the database an additional group of records; and re-analyzing each identifier of the retrieved group of records for a match until no additional matches are determined.
161. The computer readable medium of claim 157 wherein the step of utilizing an algorithm to process the received data includes: determining whether a particular identifier is one of: common across records representing at least two different entities and generally distinctive of a record representing a particular entity; and separating records that were previously matched based on a particular identifier if the particular identifier is determined to be common across records representing at least two different entities and not generally distinctive of a record representing a particular entity.
162. The computer readable medium of claim 161 wherein the step of utilizing an algorithm to process the received data includes prohibiting any additional matches of records based on a particular identifier if the particular identifier is determined to be common across records representing at least two different entities and not generally distinctive of a record representing a particular entity.
163. The computer readable medium of claim 161 wherein the step of utilizing an algorithm to process the received data includes re-processing the separated records as received data.
164. The computer readable medium of claim 161 wherein the steps of determining whether a particular identifier is one of common across records representing at least two different entities and generally distinctive of a record representing a particular entity and separating records that were previously matched are performed in real- time.
165. The computer readable medium of claim 161 wherein the steps of determining whether a particular identifier is one of common across records representing at least two different entities and generally distinctive of a record representing a particular entity and separating records that were previously matched are performed in batch.
166. The computer readable medium of claim 157 wherein the step of utilizing an algorithm to process the received data includes: comparing the received data with at least one stored record to determine the existence of a relationship; and creating a relationship record for each stored record determined to reflect a relationship with at least a portion of the received data.
167. The computer readable medium of claim 166 wherein the step of utilizing an algorithm to process the received data includes creating at least one confidence indicator for each relationship record.
168. The computer readable medium of claim 167 wherein the steps of comparing the received data, creating a relationship record, and creating at least one confidence indicator are performed in real-time.
169. The computer readable medium of claim 167 wherein the steps of comparing the received data, creating a relationship record, and creating at least one confidence indicator are performed in batch.
170. The computer readable medium of claim 167 wherein at least one of the confidence indicators indicates the likelihood of a relationship between: an entity represented by the particular record having a relationship with the portion of the received data, and an entity represented by the portion of the received data.
171. The computer readable medium of claim 167 wherein at least one of the confidence indicators indicates the likelihood that: an entity represented by the particular record having a relationship with the portion of the received data, and an entity represented by the portion of the received data are the same.
172. The computer readable medium of claim 167 wherein the step of utilizing an algorithm to process received data includes analyzing the relationship records to determine whether the relationship records reflect at least one relationship not previously determined.
173. The computer readable medium of claim 172 wherein the step of analyzing the relationship records includes analyzing relationship records reflecting at least one level of degrees of separation.
174. The computer readable medium of claim 173 the step of analyzing relationship records reflecting at least one level of degrees of separation includes analyzing relationship records meeting a user-defined criterion.
175. The computer readable medium of claim 174 wherein the step of analyzing relationship records meeting a user-defined criterion includes limiting the relationship records analyzed to a maximum level of degrees of separation.
176. The computer readable medium of claim 174 wherein the step of analyzing relationship records meeting a user-defined criterion includes limiting the relationship records analyzed to relationship records that include confidence indicators greater than a minimum amount.
177. The computer readable medium of claim 172 wherein the step of utilizing an algorithm to process received data further comprises issuing an alert based upon at least one user-defined alert rule.
178. The computer readable medium of claim 177 wherein the step of issuing an alert based upon at least one user-defined alert rule includes having the alert communicated via electronic communications means.
179. The computer readable medium of claim 178 wherein the electronic communications means comprise an e-mail system.
180. The computer readable medium of claim 178 wherein the electronic communications means comprise a telephone.
181. The computer readable medium of claim 178 wherein the electronic communications means comprise a beeper.
182. The computer readable medium of claim 178 wherein the electronic communications means comprise a personal digital assistant.
183. The computer readable medium of claim 177 wherein the step of analyzing the relationship records includes: duplicating the relationship records on at least one secondary database; distributing received data to the at least one secondary database for analysis based upon a work load criteria; and issuing the alert meeting the criteria of a user-defined alert rule from the at least one secondary database.
184. The computer readable medium of claims 128 or 155 wherein the step of utilizing an algorithm to process the received data further comprises transferring the stored processed data to at least one secondary database utilizing the algorithm.
185. The computer readable medium of claim 184 wherein the step of transferring the stored processed data to at least one secondary database is performed in real-time.
186. The computer readable medium of claim 184 wherein the step of transferring the stored processed data to at least one secondary database is performed in batch.
187. For a system for processing data into and in a database and a computer readable medium containing program instructions for execution by a computer for performing the method comprising the steps of: receiving data comprising at least one record having at least one identifier, each record representing at least one of a plurality of entities; utilizing an algorithm to: retrieve from a database a group of additional records having identifiers similar to the identifiers in the received data, analyze each identifier of the retrieved group of records for a match to at least a portion of the received data, match at least a portion of the received data with at least one analyzed record of the retrieved group of records that is determined to reflect a record having identifiers representing an identical one of the plurality of entities, analyze whether at least one identifier is included in the at least a portion of the received data that was not previously stored in the at least one analyzed record of the retrieved group of records that is determined to reflect a record having identifiers representing an identical one of the plurality of entities; and re-analyze each identifier of the retrieved group of records for a match to: at least a portion of the received data and the analyzed record of the retrieved group of records that is determined to reflect a record having identifiers representing an identical one of the plurality of entities; and storing the matched records in the database.
188. The computer readable medium of claim 187 wherein the step of utilizing an algorithm to the received data with at least one analyzed record includes assigning a persistent key.
189. The computer readable medium of claim 187 wherein the step of utilizing an algorithm further comprises retrieving from the database an additional group of records having identifiers similar to the identifiers in: at least a portion of the received data and the analyzed record of the retrieved group of records that is determined to reflect a record having identifiers representing an identical one of the plurality of entities prior to re-analyzing each identifier of the retrieved group of records for a match.
190. The computer readable medium of claims 187 or 189 wherein the step of utilizing an algorithm includes repeating: retrieving from a database a group of additional records; analyzing each identifier of the retrieved group of records; matching at least a portion of the received data; analyzing whether at least one identifier is included in the at least a portion of the received data that was not previously stored; retrieving from the database an additional group of records; and re-analyzing each identifier of the retrieved group of records for a match until no additional matches are determined.
191. The computer readable medium of claim 190 wherein the steps of receiving data, utilizing an algorithm and storing the matched records are performed in real-time.
192. The computer readable medium of claim 190 wherein the steps of receiving data, utilizing an algorithm and storing the matched records are performed in batch.
193. The computer readable medium of claim 187 wherein the step of utilizing an algorithm includes: determining whether a particular identifier is one of: common across records representing at least two different entities and generally distinctive of a record representing a particular entity; and separating records that were previously matched based on a particular identifier if the particular identifier is determined to be common across records representing at least two different entities and not generally distinctive of a record representing a particular entity.
194. The computer readable medium of claim 193 wherein the step of utilizing an algorithm includes prohibiting any additional matches of records based an a particular identifier if the particular identifier is determined to be common across records representing at least two different entities and not generally distinctive of a particular entity.
195. The computer readable medium of claim 193 wherein the step of utilizing an algorithm includes re-processing the separated records as received data.
196. The computer readable medium of claim 193 wherein the steps of determining whether a particular identifier is one of common across records representing at least two entities and generally distinctive of a record representing a particular entity and separating records that were previously matched are performed in real-time.
197. The computer readable medium of claim 193 wherein the steps of determining whether a particular identifier is one of common across records representing at least two entities and generally distinctive of a record representing a particular entity and separating records that were previously matched are performed in batch.
198. The computer readable medium of claim 187 wherein the step of utilizing an algorithm includes: comparing the received data with at least one stored record to determine the existence of a relationship; and creating a relationship record for each stored record determined to reflect a relationship with at least a portion of the received data.
199. The computer readable medium of claim 198 wherein the step of utilizing an algorithm includes creating at least one confidence indicator for each relationship record.
200. The computer readable medium of claim 199 wherein the steps of comparing the received data, creating a relationship record, and creating at least one confidence indicator are performed in real-time.
201. The computer readable medium of claim 199 wherein the steps of comparing the received data, creating a relationship record, and creating at least one confidence indicator are performed in batch.
202. The computer readable medium of claim 199 wherein at least one of the confidence indicators indicates the likelihood of a relationship between: an entity represented by the particular record having a relationship with the portion of the received data, and an entity represented by the portion of the received data.
203. The computer readable medium of claim 199 wherein at least one of the confidence indicators indicates the likelihood that: an entity represented by the particular record having a relationship with the portion of the received data, and an entity represented by the portion of the receive data are the same.
204. The computer readable medium of claim 199 wherein the step of utilizing an algorithm includes analyzing the relationship records to determine whether the relationship records reflect at least one relationship not previously determined.
205. The computer readable medium of claim 204 wherein the step of analyzing the relationship records includes analyzing relationship records reflecting at least one level of degree of separation.
206. The computer readable medium of claim 205 wherein the step of analyzing relationship records reflecting at least one level of degree of separation includes analyzing relationship records meeting at least one user-defined criterion.
207. The computer readable medium of claim 206 wherein the step of analyzing relationship records meeting a user-defined criterion includes limiting the relationship records analyzed to a maximum level of degrees of separation.
208. The computer readable medium of claim 206 wherein the step of analyzing relationship records meeting a user-defined criterion includes limiting the relationship records analyzed to relationship records that include confidence indicators greater than a minimum amount.
209. The computer readable medium of claim 204 wherein the step of utilizing an algorithm further comprises issuing an alert based upon at least one user-defined alert rule.
210. The computer readable medium of claim 209 wherein the step of issuing an alert based upon at least one user-defined alert rule includes having the alert communicated via electronic communications means.
211. The computer readable medium of claim 210 wherein the electronic communications means comprise an e-mail system.
212. The computer readable medium of claim 210 wherein the electronic communications means comprise a telephone.
213. The computer readable medium of claim 210 wherein the electronic communications means comprise a beeper.
214. The computer readable medium of claim 210 wherein the electronic communications means comprise a personal digital assistant.
215. The computer readable medium of claim 209 wherein the step of analyzing the relationship records includes: duplicating the relationship records on at least one secondary database; distributing received data to the at least one secondary for analysis based upon a work load criteria; and issuing the alert based upon the user-defined alert rule from the at least one secondary database.
216. The computer readable medium of claim 187 further comprising the step of converting the received data into a standardized message format prior to utilizing an algorithm.
217. The computer readable medium of claim 187 wherein the step of utilizing an algorithm includes retaining an attribution of each of the identifiers.
218. The computer readable medium of claim 217 wherein the step of retaining the attribution of each record includes retaining an identity of: a source system providing each record and a unique identifier representing each record in the source system.
219. The computer readable medium of claim 217 wherein the step of retaining the attribution of each record includes retaining an identity of a query system and a particular user.
220. The computer readable medium of claim 187 wherein the step of utilizing an algorithm includes analyzing the received data prior to one of storage in a database and query in the database.
221. The computer readable medium of claim 220 wherein the step of analyzing the received data prior to one of storage in the database and query in the database includes comparing at least one of the identifiers against one of: a user-defined criterion and at least one data set in one of a database and list.
222. The computer readable medium of claim 221 wherein the compared identifier is a name of at least one of the plurality of entities and the data set is in a names root list.
223. The computer readable medium of claim 221 wherein the compared identifier is an address of at least one of the plurality of entities and the data set is in an address list.
224. The computer readable medium of claim 221 wherein the step of comparing at least one of the identifier against a user-defined criterion includes formatting at least one identifier in accordance with the user-defined criterion.
225. The computer readable medium of claim 220 wherein the step of analyzing the received data prior to one of storage in the database and query in a database includes enhancing the received data.
226. The computer readable medium of claim 225 wherein the step of enhancing the received data includes: querying at least one data set in one of a database and list for additional identifiers for the received data; and supplementing the received data with the additional identifiers.
227. The computer readable medium of claim 226 wherein the step of querying at least one data set includes: at least one data set being in at least one database utilizing the algorithm to query additional databases to locate additional identifiers relating to at least one of the received identifiers; and supplementing the received data with the additional identifiers located in at least one additional database.
228. The computer readable medium of claim 220 wherein the step of utilizing an algorithm includes creating hash keys of the identifiers.
229. The computer readable medium of claim 187 wherein the step of utilizing an algorithm includes storing in the database processed queries based upon a user- defined criterion.
230. The computer readable medium of claim 229 wherein the user-defined criterion includes an expiration date.
231. The computer readable medium of claim 187 wherein the step of utilizing an algorithm further comprises transferring the stored processed data to at least one secondary database utilizing the algorithm.
232. The computer readable medium of claim 231 wherein the step of transferring the stored processed data to at least one secondary database is performed in real-time.
233. The computer readable medium of claim 231 wherein the step of transferring the stored processed data to at least one secondary database is performed in batch.
234. For a system for separating previously matched records, a computer readable medium containing program instructions for execution by a computer for performing the method comprising the steps of: determining whether a particular identifier in at least one record representing at least one entity is one of: common across records representing at least two different entities and generally distinctive of a record representing a particular entity; and separating records that were previously matched based on a particular identifier if the particular identifier is determined to be common across records representing at least two different entities and not generally distinctive of a record representing a particular entity.
235. The computer readable medium of claim 234 further comprising prohibiting any additional matches of records based on a particular identifier if the particular identifier is determined to be common across records representing a plurality of entities and not generally distinctive of a record representing an entity.
236. The computer readable medium of claim 234 further comprising the step of re- processing the separated records.
237. The computer readable medium of claim 234 wherein the steps of determining whether a particular identifier is one of common across records representing at least two different entities and generally distinctive of a record representing a particular entity and separating records that were previously matched are performed in real- time.
238. The computer readable medium of claim 234 wherein the steps of determining whether a particular identifier is one of common across records representing at least two different entities and generally distinctive of a record representing a particular entity and separating records that were previously matched are performed in batch.
239. For a system for processing data in a database, a computer readable medium containing program instructions for execution by a computer for performing the method comprising the steps of: receiving data comprising at least one record having at least one identifier, each record representing at least one of a plurality of entities; comparing the received data with at least one record stored in a database to determine the existence of a relationship in real-time; creating a relationship record for each record stored in a database determined to reflect a relationship with at least a portion of received data in real-time; and storing each relationship record in the database.
240. The computer readable medium of claim 239 further comprising the step of creating at least one confidence indicator for each relationship record in real time.
241. The computer readable medium of claim 240 wherein at least one confidence indicator indicates the likelihood of a relationship between: an entity represented by the particular record having a relationship with the portion of the received data, and an entity represented by the portion of the received data.
242. The computer readable medium of claim 240 wherein at least one confidence indicator indicates the likelihood that: an entity represented by the particular record having a relationship with the portion of the received data, and an entity represented by the portion of the received data are the same.
243. The computer readable medium of claims 239 or 240 further comprising the step of analyzing the relationship records to determine whether the relationship records reflect at least one relationship not previously determined.
244. The computer readable medium of claim 243 wherein the step of analyzing the relationship records includes analyzing relationship records reflecting at least one level of degrees of separation.
245. The computer readable medium of claim 244 wherein the step of analyzing relationship records reflecting at least one level of degrees of separation includes analyzing relationship records meeting at least one user-defined criterion.
246. The computer readable medium of claim 245 wherein the step of analyzing relationship records meeting at least one user-defined criterion includes limiting the relationship records analyzed to a maximum level of degrees of separation.
247. The computer readable medium of claim 245 wherein the step of analyzing relationship records meeting at least one user-defined criterion includes limiting the relationship records analyzed to relationship records that include confidence indicators greater than a minimum amount.
248. The computer readable medium of claim 243 further comprising the step of issuing an alert based upon at least one user-defined alert rule.
249. The computer readable medium of claim 248 wherein the step of issuing an alert based upon at least one user-defined alert rule includes having the alert communicated via electronic communication means.
250. The computer readable medium of claim 249 wherein the electronic communication means comprise an e-mail system.
251. The computer readable medium of claim 249 wherein the electronic communication means comprise a telephone.
252. The computer readable medium of claim 249 wherein the electronic communication means comprise a beeper.
253. The computer readable medium of claim 249 wherein the electronic communication means comprise a personal digital assistant.
254. The computer readable medium of claim 248 further comprising the step of: duplicating the relationship records on at least one secondary database; distributing received data to the at least one secondary database for analysis based upon work load criteria; and issuing the alert meeting the criteria of a user-defined alert rule from the at least one secondary database.
PCT/US2002/041630 2001-12-28 2002-12-27 Real time data warehousing WO2003058427A1 (en)

Priority Applications (9)

Application Number Priority Date Filing Date Title
EA200400873A EA200400873A1 (en) 2001-12-28 2002-12-27 REAL-TIME DATA STORAGE
MXPA04006390A MXPA04006390A (en) 2001-12-28 2002-12-27 Real time data warehousing.
EP02806260A EP1470475A4 (en) 2001-12-28 2002-12-27 Real time data warehousing
JP2003558673A JP2006501529A (en) 2001-12-28 2002-12-27 Real-time data storage
IL16274602A IL162746A0 (en) 2001-12-28 2002-12-27 Real time data warehousing
CA2471940A CA2471940C (en) 2001-12-28 2002-12-27 Real time data warehousing
BR0215411-0A BR0215411A (en) 2001-12-28 2002-12-27 Methods for processing data and separating previously conjugated records, and, computer readable medium
AU2002367376A AU2002367376A1 (en) 2001-12-28 2002-12-27 Real time data warehousing
KR1020047010275A KR100850255B1 (en) 2001-12-28 2002-12-27 Real time data warehousing

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US34406701P 2001-12-28 2001-12-28
US60/344,067 2001-12-28

Publications (2)

Publication Number Publication Date
WO2003058427A1 true WO2003058427A1 (en) 2003-07-17
WO2003058427A8 WO2003058427A8 (en) 2005-06-02

Family

ID=23348900

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2002/041630 WO2003058427A1 (en) 2001-12-28 2002-12-27 Real time data warehousing

Country Status (14)

Country Link
US (2) US8452787B2 (en)
EP (1) EP1470475A4 (en)
JP (3) JP2006501529A (en)
KR (3) KR100856771B1 (en)
CN (2) CN101324902A (en)
AU (1) AU2002367376A1 (en)
BR (1) BR0215411A (en)
CA (1) CA2471940C (en)
EA (1) EA200400873A1 (en)
IL (1) IL162746A0 (en)
MX (1) MXPA04006390A (en)
PL (1) PL374305A1 (en)
WO (1) WO2003058427A1 (en)
ZA (1) ZA200405141B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7346927B2 (en) 2002-12-12 2008-03-18 Access Business Group International Llc System and method for storing and accessing secure data

Families Citing this family (157)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EA200400873A1 (en) * 2001-12-28 2005-12-29 Джеффри Джэймс Джонас REAL-TIME DATA STORAGE
US7200619B2 (en) * 2002-05-31 2007-04-03 International Business Machines Corporation Method and process to optimize correlation of replicated with extracted data from disparate data sources
CN1757188A (en) 2002-11-06 2006-04-05 国际商业机器公司 Confidential data sharing and anonymous entity resolution
US8620937B2 (en) * 2002-12-27 2013-12-31 International Business Machines Corporation Real time data warehousing
KR100800371B1 (en) 2002-12-31 2008-02-04 인터내셔널 비지네스 머신즈 코포레이션 Authorized anonymous authentication
WO2004097596A2 (en) * 2003-03-24 2004-11-11 Systems Research & Development Secure coordinate identification method, system and program
US7069308B2 (en) * 2003-06-16 2006-06-27 Friendster, Inc. System, method and apparatus for connecting users in an online computer system based on their relationships within social networks
US7747638B1 (en) * 2003-11-20 2010-06-29 Yahoo! Inc. Techniques for selectively performing searches against data and providing search results
CN100472520C (en) * 2003-12-31 2009-03-25 汤姆森环球资源公司 Systems, methods, interfaces and software for automated collection and integration of entity data into online databases and professional directories
US8572221B2 (en) 2004-05-26 2013-10-29 Facebook, Inc. System and method for managing an online social network
US8010458B2 (en) 2004-05-26 2011-08-30 Facebook, Inc. System and method for managing information flow between members of an online social network
US10373173B2 (en) * 2004-06-14 2019-08-06 Facebook, Inc. Online content delivery based on information from social networks
US7478078B2 (en) * 2004-06-14 2009-01-13 Friendster, Inc. Method for sharing relationship information stored in a social network database with third party databases
US7788260B2 (en) * 2004-06-14 2010-08-31 Facebook, Inc. Ranking search results based on the frequency of clicks on the search results by members of a social network who are within a predetermined degree of separation
US8161184B2 (en) * 2004-06-25 2012-04-17 Apple Inc. Method and apparatus for facilitating long-lived DNS queries
US8302164B2 (en) * 2004-07-22 2012-10-30 Facebook, Inc. Authorization and authentication based on an individual's social network
US7606687B2 (en) 2004-09-14 2009-10-20 Friendster, Inc. Proximity search methods using tiles to represent geographical zones
US20060085373A1 (en) * 2004-09-30 2006-04-20 Dhillion Jasjit S Method and apparatus for creating relationships over a network
US7451161B2 (en) 2005-04-28 2008-11-11 Friendster, Inc. Compatibility scoring of users in a social network
US9792351B2 (en) * 2005-06-10 2017-10-17 International Business Machines Corporation Tolerant and extensible discovery of relationships in data using structural information and data analysis
WO2007030685A2 (en) * 2005-09-09 2007-03-15 Robert Howe Pinckney Method and system for message storage and retrieval
CN100396002C (en) * 2005-11-23 2008-06-18 华为技术有限公司 System and method for identifying authority using relative inquire
US8204831B2 (en) 2006-11-13 2012-06-19 International Business Machines Corporation Post-anonymous fuzzy comparisons without the use of pre-anonymization variants
US10452763B2 (en) * 2007-03-08 2019-10-22 Oath Inc. Autocomplete for integrating diverse methods of electronic communication
US9372909B2 (en) * 2007-05-15 2016-06-21 Paypal, Inc. Defining a set of data across mutiple databases using variables and functions
US8156158B2 (en) * 2007-07-18 2012-04-10 Famillion Ltd. Method and system for use of a database of personal data records
DE102007057248A1 (en) * 2007-11-16 2009-05-20 T-Mobile International Ag Connection layer for databases
US10733223B2 (en) * 2008-01-08 2020-08-04 International Business Machines Corporation Term-driven records file plan and thesaurus design
CN101277272B (en) * 2008-05-16 2010-12-15 北京航空航天大学 Method for implementing magnanimity broadcast data warehouse-in
CN102227725B (en) * 2008-12-02 2014-05-07 艾利森电话股份有限公司 System and method for matching entities
US8359337B2 (en) * 2008-12-09 2013-01-22 Ingenix, Inc. Apparatus, system and method for member matching
US9910875B2 (en) * 2008-12-22 2018-03-06 International Business Machines Corporation Best-value determination rules for an entity resolution system
US8732176B2 (en) * 2009-04-28 2014-05-20 Palo Alto Research Center Incorporated Web-based tool for detecting bias in reviews
US9727842B2 (en) 2009-08-21 2017-08-08 International Business Machines Corporation Determining entity relevance by relationships to other relevant entities
US8423525B2 (en) 2010-03-30 2013-04-16 International Business Machines Corporation Life arcs as an entity resolution feature
US9110968B2 (en) 2010-04-14 2015-08-18 At&T Intellectual Property I, L.P. Removal of invisible data packages in data warehouses
US9633121B2 (en) 2010-04-19 2017-04-25 Facebook, Inc. Personalizing default search queries on online social networks
US9223838B2 (en) 2010-04-19 2015-12-29 Facebook, Inc. Sponsored search queries on online social networks
US9275101B2 (en) 2010-04-19 2016-03-01 Facebook, Inc. Search queries with previews of search results on online social networks
US8782080B2 (en) 2010-04-19 2014-07-15 Facebook, Inc. Detecting social graph elements for structured search queries
US8918418B2 (en) 2010-04-19 2014-12-23 Facebook, Inc. Default structured search queries on online social networks
US8180804B1 (en) 2010-04-19 2012-05-15 Facebook, Inc. Dynamically generating recommendations based on social graph information
US9092485B2 (en) 2010-04-19 2015-07-28 Facebook, Inc. Dynamic suggested search queries on online social networks
US9275119B2 (en) 2010-04-19 2016-03-01 Facebook, Inc. Sharing search queries on online social network
US8732208B2 (en) 2010-04-19 2014-05-20 Facebook, Inc. Structured search queries based on social-graph information
US9262482B2 (en) 2010-04-19 2016-02-16 Facebook, Inc. Generating default search queries on online social networks
US8751521B2 (en) 2010-04-19 2014-06-10 Facebook, Inc. Personalized structured search queries for online social networks
US8185558B1 (en) 2010-04-19 2012-05-22 Facebook, Inc. Automatically generating nodes and edges in an integrated social graph
US8868603B2 (en) 2010-04-19 2014-10-21 Facebook, Inc. Ambiguous structured search queries on online social networks
US10402419B1 (en) 2010-04-19 2019-09-03 Facebook, Inc. Search queries with previews of search results on online social networks
US8572129B1 (en) 2010-04-19 2013-10-29 Facebook, Inc. Automatically generating nodes and edges in an integrated social graph
CN102314460B (en) * 2010-07-07 2014-05-14 阿里巴巴集团控股有限公司 Data analysis method and system and servers
US8468119B2 (en) * 2010-07-14 2013-06-18 Business Objects Software Ltd. Matching data from disparate sources
CN102214228B (en) * 2011-06-24 2013-03-13 国电南瑞科技股份有限公司 Large-grid distributed real-time database system and data management method thereof
US8965848B2 (en) * 2011-08-24 2015-02-24 International Business Machines Corporation Entity resolution based on relationships to a common entity
US8943059B2 (en) * 2011-12-21 2015-01-27 Sap Se Systems and methods for merging source records in accordance with survivorship rules
US8812542B1 (en) * 2012-03-30 2014-08-19 Emc Corporation On-the-fly determining of alert relationships in a distributed system
US20130339186A1 (en) * 2012-06-15 2013-12-19 Eventbrite, Inc. Identifying Fraudulent Users Based on Relational Information
US8935255B2 (en) 2012-07-27 2015-01-13 Facebook, Inc. Social static ranking for search
US9398104B2 (en) 2012-12-20 2016-07-19 Facebook, Inc. Ranking test framework for search results on an online social network
US9223826B2 (en) 2013-02-25 2015-12-29 Facebook, Inc. Pushing suggested search queries to mobile devices
US9910887B2 (en) 2013-04-25 2018-03-06 Facebook, Inc. Variable search query vertical access
US9330183B2 (en) 2013-05-08 2016-05-03 Facebook, Inc. Approximate privacy indexing for search queries on online social networks
US9223898B2 (en) 2013-05-08 2015-12-29 Facebook, Inc. Filtering suggested structured queries on online social networks
US9305322B2 (en) 2013-07-23 2016-04-05 Facebook, Inc. Native application testing
US9514230B2 (en) 2013-07-30 2016-12-06 Facebook, Inc. Rewriting search queries on online social networks
US9317614B2 (en) * 2013-07-30 2016-04-19 Facebook, Inc. Static rankings for search queries on online social networks
US9460215B2 (en) 2013-12-19 2016-10-04 Facebook, Inc. Ranking recommended search queries on online social networks
US9336300B2 (en) 2014-01-17 2016-05-10 Facebook, Inc. Client-side search templates for online social networks
US9477760B2 (en) 2014-02-12 2016-10-25 Facebook, Inc. Query construction on online social networks
US9798832B1 (en) 2014-03-31 2017-10-24 Facebook, Inc. Dynamic ranking of user cards
US9794359B1 (en) 2014-03-31 2017-10-17 Facebook, Inc. Implicit contacts in an online social network
US20150278838A1 (en) * 2014-04-01 2015-10-01 TekWear, LLC Systems, methods, and apparatuses for agricultural data collection, analysis, and management via a mobile device
US11169773B2 (en) 2014-04-01 2021-11-09 TekWear, LLC Systems, methods, and apparatuses for agricultural data collection, analysis, and management via a mobile device
US9646055B2 (en) 2014-04-03 2017-05-09 Facebook, Inc. Blending search results on online social networks
US9679078B2 (en) 2014-05-21 2017-06-13 Facebook, Inc. Search client context on online social networks
US10268763B2 (en) 2014-07-25 2019-04-23 Facebook, Inc. Ranking external content on online social networks
US9871714B2 (en) 2014-08-01 2018-01-16 Facebook, Inc. Identifying user biases for search results on online social networks
US10255244B2 (en) 2014-08-01 2019-04-09 Facebook, Inc. Search results based on user biases on online social networks
US9792364B2 (en) 2014-08-08 2017-10-17 Facebook, Inc. Blending search results on online social networks
US10120909B2 (en) 2014-08-22 2018-11-06 Facebook, Inc. Generating cards in response to user actions on online social networks
US9754037B2 (en) 2014-08-27 2017-09-05 Facebook, Inc. Blending by query classification on online social networks
US9703859B2 (en) 2014-08-27 2017-07-11 Facebook, Inc. Keyword search queries on online social networks
US10255365B2 (en) 2014-08-29 2019-04-09 Facebook, Inc. Priming search results on online social networks
US10740412B2 (en) 2014-09-05 2020-08-11 Facebook, Inc. Pivoting search results on online social networks
US9507876B2 (en) 2014-10-06 2016-11-29 Facebook, Inc. Constructing queries using query filters on online social networks
US9703870B2 (en) 2014-11-05 2017-07-11 Facebook, Inc. Social-based optimization of web crawling for online social networks
US10409873B2 (en) 2014-11-26 2019-09-10 Facebook, Inc. Searching for content by key-authors on online social networks
US10552759B2 (en) 2014-12-01 2020-02-04 Facebook, Inc. Iterative classifier training on online social networks
US9679024B2 (en) 2014-12-01 2017-06-13 Facebook, Inc. Social-based spelling correction for online social networks
US9990441B2 (en) 2014-12-05 2018-06-05 Facebook, Inc. Suggested keywords for searching content on online social networks
US10102273B2 (en) 2014-12-30 2018-10-16 Facebook, Inc. Suggested queries for locating posts on online social networks
US10061856B2 (en) 2015-01-29 2018-08-28 Facebook, Inc. Multimedia search using reshare text on online social networks
US20160224993A1 (en) * 2015-02-03 2016-08-04 Bank Of America Corporation System for determining relationships between entities
US10997257B2 (en) 2015-02-06 2021-05-04 Facebook, Inc. Aggregating news events on online social networks
US10049099B2 (en) 2015-04-10 2018-08-14 Facebook, Inc. Spell correction with hidden markov models on online social networks
US10095683B2 (en) 2015-04-10 2018-10-09 Facebook, Inc. Contextual speller models on online social networks
US10628636B2 (en) 2015-04-24 2020-04-21 Facebook, Inc. Live-conversation modules on online social networks
US10298535B2 (en) 2015-05-19 2019-05-21 Facebook, Inc. Civic issues platforms on online social networks
US10397167B2 (en) 2015-06-19 2019-08-27 Facebook, Inc. Live social modules on online social networks
US10509832B2 (en) 2015-07-13 2019-12-17 Facebook, Inc. Generating snippet modules on online social networks
US10268664B2 (en) 2015-08-25 2019-04-23 Facebook, Inc. Embedding links in user-created content on online social networks
US10810217B2 (en) 2015-10-07 2020-10-20 Facebook, Inc. Optionalization and fuzzy search on online social networks
US10270868B2 (en) 2015-11-06 2019-04-23 Facebook, Inc. Ranking of place-entities on online social networks
US10795936B2 (en) 2015-11-06 2020-10-06 Facebook, Inc. Suppressing entity suggestions on online social networks
US9602965B1 (en) 2015-11-06 2017-03-21 Facebook, Inc. Location-based place determination using online social networks
US10534814B2 (en) 2015-11-11 2020-01-14 Facebook, Inc. Generating snippets on online social networks
US10387511B2 (en) 2015-11-25 2019-08-20 Facebook, Inc. Text-to-media indexes on online social networks
CN106817390B (en) 2015-12-01 2020-04-24 阿里巴巴集团控股有限公司 User data sharing method and device
US10740368B2 (en) 2015-12-29 2020-08-11 Facebook, Inc. Query-composition platforms on online social networks
US10853335B2 (en) 2016-01-11 2020-12-01 Facebook, Inc. Identification of real-best-pages on online social networks
US10262039B1 (en) 2016-01-15 2019-04-16 Facebook, Inc. Proximity-based searching on online social networks
US10162899B2 (en) 2016-01-15 2018-12-25 Facebook, Inc. Typeahead intent icons and snippets on online social networks
US10740375B2 (en) 2016-01-20 2020-08-11 Facebook, Inc. Generating answers to questions using information posted by users on online social networks
US10157224B2 (en) 2016-02-03 2018-12-18 Facebook, Inc. Quotations-modules on online social networks
US10270882B2 (en) 2016-02-03 2019-04-23 Facebook, Inc. Mentions-modules on online social networks
US10242074B2 (en) 2016-02-03 2019-03-26 Facebook, Inc. Search-results interfaces for content-item-specific modules on online social networks
US10216850B2 (en) 2016-02-03 2019-02-26 Facebook, Inc. Sentiment-modules on online social networks
US10452671B2 (en) 2016-04-26 2019-10-22 Facebook, Inc. Recommendations from comments on online social networks
US10659299B1 (en) 2016-06-30 2020-05-19 Facebook, Inc. Managing privacy settings for content on online social networks
US10635661B2 (en) 2016-07-11 2020-04-28 Facebook, Inc. Keyboard-based corrections for search queries on online social networks
US10223464B2 (en) 2016-08-04 2019-03-05 Facebook, Inc. Suggesting filters for search on online social networks
US10282483B2 (en) 2016-08-04 2019-05-07 Facebook, Inc. Client-side caching of search keywords for online social networks
US10726022B2 (en) 2016-08-26 2020-07-28 Facebook, Inc. Classifying search queries on online social networks
US10534815B2 (en) 2016-08-30 2020-01-14 Facebook, Inc. Customized keyword query suggestions on online social networks
US10102255B2 (en) 2016-09-08 2018-10-16 Facebook, Inc. Categorizing objects for queries on online social networks
US10645142B2 (en) 2016-09-20 2020-05-05 Facebook, Inc. Video keyframes display on online social networks
US10026021B2 (en) 2016-09-27 2018-07-17 Facebook, Inc. Training image-recognition systems using a joint embedding model on online social networks
US10083379B2 (en) 2016-09-27 2018-09-25 Facebook, Inc. Training image-recognition systems based on search queries on online social networks
US10579688B2 (en) 2016-10-05 2020-03-03 Facebook, Inc. Search ranking and recommendations for online social networks based on reconstructed embeddings
US10311117B2 (en) 2016-11-18 2019-06-04 Facebook, Inc. Entity linking to query terms on online social networks
US10650009B2 (en) 2016-11-22 2020-05-12 Facebook, Inc. Generating news headlines on online social networks
US10235469B2 (en) 2016-11-30 2019-03-19 Facebook, Inc. Searching for posts by related entities on online social networks
US10185763B2 (en) 2016-11-30 2019-01-22 Facebook, Inc. Syntactic models for parsing search queries on online social networks
US10162886B2 (en) 2016-11-30 2018-12-25 Facebook, Inc. Embedding-based parsing of search queries on online social networks
US10313456B2 (en) 2016-11-30 2019-06-04 Facebook, Inc. Multi-stage filtering for recommended user connections on online social networks
US10607148B1 (en) 2016-12-21 2020-03-31 Facebook, Inc. User identification with voiceprints on online social networks
US11223699B1 (en) 2016-12-21 2022-01-11 Facebook, Inc. Multiple user recognition with voiceprints on online social networks
US10535106B2 (en) 2016-12-28 2020-01-14 Facebook, Inc. Selecting user posts related to trending topics on online social networks
US10489472B2 (en) 2017-02-13 2019-11-26 Facebook, Inc. Context-based search suggestions on online social networks
US10614141B2 (en) 2017-03-15 2020-04-07 Facebook, Inc. Vital author snippets on online social networks
US10769222B2 (en) 2017-03-20 2020-09-08 Facebook, Inc. Search result ranking based on post classifiers on online social networks
US11379861B2 (en) 2017-05-16 2022-07-05 Meta Platforms, Inc. Classifying post types on online social networks
US10248645B2 (en) 2017-05-30 2019-04-02 Facebook, Inc. Measuring phrase association on online social networks
US10268646B2 (en) 2017-06-06 2019-04-23 Facebook, Inc. Tensor-based deep relevance model for search on online social networks
US10489468B2 (en) 2017-08-22 2019-11-26 Facebook, Inc. Similarity search using progressive inner products and bounds
US10776437B2 (en) 2017-09-12 2020-09-15 Facebook, Inc. Time-window counters for search results on online social networks
US10678786B2 (en) 2017-10-09 2020-06-09 Facebook, Inc. Translating search queries on online social networks
US10810214B2 (en) 2017-11-22 2020-10-20 Facebook, Inc. Determining related query terms through query-post associations on online social networks
US10963514B2 (en) 2017-11-30 2021-03-30 Facebook, Inc. Using related mentions to enhance link probability on online social networks
US10129705B1 (en) 2017-12-11 2018-11-13 Facebook, Inc. Location prediction using wireless signals on online social networks
US11604968B2 (en) 2017-12-11 2023-03-14 Meta Platforms, Inc. Prediction of next place visits on online social networks
CN110019274B (en) 2017-12-29 2023-09-26 阿里巴巴集团控股有限公司 Database system and method and device for querying database
CN108509182A (en) * 2018-02-27 2018-09-07 北京航空航天大学 Unstructured big data is carried out to the software technology of structuring processing and fusion
CN109086574B (en) * 2018-08-16 2022-01-07 国家卫生健康委科学技术研究所 Disease-associated protein database
JP7012879B2 (en) * 2019-11-06 2022-01-28 アリペイ (ハンジョウ) インフォメーション テクノロジー カンパニー リミテッド Consensus on storage of shared blockchain data based on error correction code
CN114969041B (en) * 2022-05-27 2023-06-30 河北省科学技术情报研究院(河北省科技创新战略研究院) Multi-source main and auxiliary entity identity discrimination and data self-supplementing processing method

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5991758A (en) * 1997-06-06 1999-11-23 Madison Information Technologies, Inc. System and method for indexing information about entities from different information sources
US6272495B1 (en) * 1997-04-22 2001-08-07 Greg Hetherington Method and apparatus for processing free-format data

Family Cites Families (109)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US579424A (en) * 1897-03-23 Edwakd c
US599175A (en) * 1898-02-15 Washing-machine
US1261167A (en) * 1917-10-25 1918-04-02 Robert C Russell Index.
US3659085A (en) * 1970-04-30 1972-04-25 Sierra Research Corp Computer determining the location of objects in a coordinate system
US4232313A (en) * 1972-09-22 1980-11-04 The United States Of America As Represented By The Secretary Of The Navy Tactical nagivation and communication system
US5010478A (en) * 1986-04-11 1991-04-23 Deran Roger L Entity-attribute value database system with inverse attribute for selectively relating two different entities
JPS63282838A (en) 1987-05-14 1988-11-18 Fujitsu Ltd Name collation processing system
JPH0212563A (en) 1988-06-30 1990-01-17 Nec Corp Information managing system
US5345587A (en) * 1988-09-14 1994-09-06 Digital Equipment Corporation Extensible entity management system including a dispatching kernel and modules which independently interpret and execute commands
JPH0317792A (en) 1989-06-14 1991-01-25 Mitsubishi Plastics Ind Ltd Card recording method
JPH03177972A (en) * 1989-12-07 1991-08-01 Nec Corp Data base system
US4981370A (en) * 1990-01-29 1991-01-01 Dziewit Halina S Document authentication apparatus
US5555409A (en) * 1990-12-04 1996-09-10 Applied Technical Sysytem, Inc. Data management systems and methods including creation of composite views of data
JPH04237373A (en) * 1991-01-22 1992-08-25 Toshiba Corp Keyword input system
US5560006A (en) * 1991-05-15 1996-09-24 Automated Technology Associates, Inc. Entity-relation database
US5229764A (en) * 1991-06-20 1993-07-20 Matchett Noel D Continuous biometric authentication matrix
JP2922347B2 (en) * 1991-11-07 1999-07-19 富士通株式会社 Apparatus and method for connecting data between different databases
JPH05250416A (en) * 1992-03-06 1993-09-28 Toshiba Eng Co Ltd Registering and retrieving device for data base
EP0581421B1 (en) * 1992-07-20 2003-01-15 Compaq Computer Corporation Method and system for certificate based alias detection
US5403639A (en) * 1992-09-02 1995-04-04 Storage Technology Corporation File server having snapshot application data groups
US5454101A (en) * 1992-09-15 1995-09-26 Universal Firmware Industries, Ltd. Data storage system with set lists which contain elements associated with parents for defining a logical hierarchy and general record pointers identifying specific data sets
US5742806A (en) * 1994-01-31 1998-04-21 Sun Microsystems, Inc. Apparatus and method for decomposing database queries for database management system including multiprocessor digital data processing system
US5764977A (en) * 1994-03-30 1998-06-09 Siemens Stromberg-Carlson Distributed database architecture and distributed database management system for open network evolution
US5848373A (en) * 1994-06-24 1998-12-08 Delorme Publishing Company Computer aided map location system
JPH0863382A (en) * 1994-08-19 1996-03-08 Fujitsu Ltd Method and device for confirming data compatibility in distributed system
US5675785A (en) * 1994-10-04 1997-10-07 Hewlett-Packard Company Data warehouse which is accessed by a user using a schema of virtual tables
US5873093A (en) * 1994-12-07 1999-02-16 Next Software, Inc. Method and apparatus for mapping objects to a data source
US5799309A (en) * 1994-12-29 1998-08-25 International Business Machines Corporation Generating an optimized set of relational queries fetching data in an object-relational database
JPH08305662A (en) * 1995-05-02 1996-11-22 Fujitsu Ltd Method and system for client authentication
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
US5758343A (en) * 1995-12-08 1998-05-26 Ncr Corporation Apparatus and method for integrating multiple delegate directory service agents
US6035300A (en) * 1995-12-15 2000-03-07 International Business Machines Corporation Method and apparatus for generating a user interface from the entity/attribute/relationship model of a database
US5991733A (en) * 1996-03-22 1999-11-23 Hartford Fire Insurance Company Method and computerized system for managing insurance receivable accounts
US5878416A (en) * 1996-06-14 1999-03-02 Electronic Data Systems Corporation Automated system and method for matching an item of business property to a recipient
US5778375A (en) * 1996-06-27 1998-07-07 Microsoft Corporation Database normalizing system
US6052693A (en) * 1996-07-02 2000-04-18 Harlequin Group Plc System for assembling large databases through information extracted from text sources
US5819263A (en) * 1996-07-19 1998-10-06 American Express Financial Corporation Financial planning system incorporating relationship and group management
US5781911A (en) * 1996-09-10 1998-07-14 D2K, Incorporated Integrated system and method of data warehousing and delivery
US5892828A (en) * 1996-10-23 1999-04-06 Novell, Inc. User presence verification with single password across applications
US6076167A (en) * 1996-12-04 2000-06-13 Dew Engineering And Development Limited Method and system for improving security in network applications
US5845285A (en) * 1997-01-07 1998-12-01 Klein; Laurence C. Computer system and method of data analysis
JP4268690B2 (en) * 1997-03-26 2009-05-27 ソニー株式会社 Authentication system and method, and authentication method
JP4027455B2 (en) * 1997-03-31 2007-12-26 富士通株式会社 Database management system
CA2286097C (en) * 1997-04-16 2006-11-07 British Telecommunications Public Limited Company Data summariser
US5794246A (en) * 1997-04-30 1998-08-11 Informatica Corporation Method for incremental aggregation of dynamically increasing database data sets
US6032158A (en) * 1997-05-02 2000-02-29 Informatica Corporation Apparatus and method for capturing and propagating changes from an operational database to data marts
US5991765A (en) * 1997-05-06 1999-11-23 Birdstep Technology As System and method for storing and manipulating data in an information handling system
US6202151B1 (en) * 1997-05-09 2001-03-13 Gte Service Corporation System and method for authenticating electronic transactions using biometric certificates
US5991408A (en) * 1997-05-16 1999-11-23 Veridicom, Inc. Identification and security using biometric measurements
JP3547069B2 (en) * 1997-05-22 2004-07-28 日本電信電話株式会社 Information associating apparatus and method
US6122757A (en) * 1997-06-27 2000-09-19 Agilent Technologies, Inc Code generating system for improved pattern matching in a protocol analyzer
US6092199A (en) * 1997-07-07 2000-07-18 International Business Machines Corporation Dynamic creation of a user account in a client following authentication from a non-native server domain
US6523041B1 (en) * 1997-07-29 2003-02-18 Acxiom Corporation Data linking system and method using tokens
US6073140A (en) * 1997-07-29 2000-06-06 Acxiom Corporation Method and system for the creation, enhancement and update of remote data using persistent keys
US5995973A (en) * 1997-08-29 1999-11-30 International Business Machines Corporation Storing relationship tables identifying object relationships
US6044378A (en) * 1997-09-29 2000-03-28 International Business Machines Corporation Method and system for a federated digital library by managing links
US6357004B1 (en) * 1997-09-30 2002-03-12 Intel Corporation System and method for ensuring integrity throughout post-processing
US6339775B1 (en) * 1997-11-07 2002-01-15 Informatica Corporation Apparatus and method for performing data transformations in data warehousing
US6014670A (en) * 1997-11-07 2000-01-11 Informatica Corporation Apparatus and method for performing data transformations in data warehousing
US6035306A (en) * 1997-11-24 2000-03-07 Terascape Software Inc. Method for improving performance of large databases
US6041410A (en) * 1997-12-22 2000-03-21 Trw Inc. Personal identification fob
US6263446B1 (en) * 1997-12-23 2001-07-17 Arcot Systems, Inc. Method and apparatus for secure distribution of authentication credentials to roaming users
JPH11184884A (en) 1997-12-24 1999-07-09 Ntt Data Corp System for judging the same person and method therefor
US5933831A (en) * 1998-01-09 1999-08-03 Lsi Logic Corporation Viewing entity relationship diagrams using hyperlinks
US6418450B2 (en) * 1998-01-26 2002-07-09 International Business Machines Corporation Data warehouse programs architecture
US6845453B2 (en) * 1998-02-13 2005-01-18 Tecsec, Inc. Multiple factor-based user identification and authentication
US6049805A (en) * 1998-02-24 2000-04-11 Microsoft Corporation Dynamic event mechanism for objects with associational relationships
GB2336007B (en) * 1998-04-01 2003-01-29 Mitel Corp Agent-based data mining and warehousing
JP3437441B2 (en) * 1998-04-08 2003-08-18 日本電信電話株式会社 Search method, search device, and storage medium storing search program
US6167517A (en) * 1998-04-09 2000-12-26 Oracle Corporation Trusted biometric client authentication
US6160903A (en) * 1998-04-24 2000-12-12 Dew Engineering And Development Limited Method of providing secure user access
US6684334B1 (en) * 1998-05-27 2004-01-27 Trusted Security Solutions, Inc. Secure establishment of cryptographic keys using persistent key component
US6208990B1 (en) * 1998-07-15 2001-03-27 Informatica Corporation Method and architecture for automated optimization of ETL throughput in data warehousing applications
US6185557B1 (en) * 1998-07-31 2001-02-06 Unisys Corporation Merge join process
US6743022B1 (en) * 1998-12-03 2004-06-01 Oded Sarel System and method for automated self measurement of alertness equilibrium and coordination and for ventification of the identify of the person performing tasks
US6931392B1 (en) * 1998-12-07 2005-08-16 Vitria Technology, Inc. Real-time decision support system
US6317834B1 (en) * 1999-01-29 2001-11-13 International Business Machines Corporation Biometric authentication system with encrypted models
US6819797B1 (en) * 1999-01-29 2004-11-16 International Business Machines Corporation Method and apparatus for classifying and querying temporal and spatial information in video
AU2523300A (en) 1999-04-07 2000-10-12 Reclaim Technologies And Sservices, Ltd. A system for identification of selectively related database records
US20020038308A1 (en) * 1999-05-27 2002-03-28 Michael Cappi System and method for creating a virtual data warehouse
US6697947B1 (en) * 1999-06-17 2004-02-24 International Business Machines Corporation Biometric based multi-party authentication
US6385604B1 (en) * 1999-08-04 2002-05-07 Hyperroll, Israel Limited Relational database management system having integrated non-relational multi-dimensional data store of aggregated data elements
JP2001118103A (en) * 1999-10-15 2001-04-27 Oki Electric Ind Co Ltd Gate managing device
ATE410754T1 (en) * 1999-10-19 2008-10-15 Stamps Com SYSTEM AND METHOD FOR ADDRESS COMPARISON
JP2001117940A (en) 1999-10-20 2001-04-27 Just Syst Corp Device and method for retrieving information and computer readable recording medium recording program for computer to execute the method
US7003560B1 (en) * 1999-11-03 2006-02-21 Accenture Llp Data warehouse computing system
AU2001253245A1 (en) * 2000-04-07 2001-11-07 Standard Analytics, Llc Method and apparatus for monitoring the effective velocity of items through a store or warehouse
JP2001325425A (en) 2000-05-15 2001-11-22 Fujitsu Ltd Name identification processing system
GB2366160B (en) * 2000-08-09 2004-03-17 Michaelhouse Man Ltd Information routing
US7302582B2 (en) * 2000-08-21 2007-11-27 United States Postal Service Delivery point validation system
US6675476B2 (en) * 2000-12-05 2004-01-13 Hewlett-Packard Development Company, L.P. Slotted substrates and techniques for forming same
US6757689B2 (en) * 2001-02-02 2004-06-29 Hewlett-Packard Development Company, L.P. Enabling a zero latency enterprise
WO2002077874A1 (en) * 2001-03-22 2002-10-03 United States Postal Service System and method for standardizing a mailing address
US7856420B2 (en) * 2001-04-19 2010-12-21 Hewlett-Packard Development Company, L.P. Zero latency enterprise enriched publish/subscribe
US7092951B1 (en) * 2001-07-06 2006-08-15 Ncr Corporation Auxiliary relation for materialized view
US20030030733A1 (en) * 2001-08-08 2003-02-13 Seaman Mark D. System and method for synchronization of media data
US6912549B2 (en) * 2001-09-05 2005-06-28 Siemens Medical Solutions Health Services Corporation System for processing and consolidating records
US7370044B2 (en) * 2001-11-19 2008-05-06 Equifax, Inc. System and method for managing and updating information relating to economic entities
EA200400873A1 (en) * 2001-12-28 2005-12-29 Джеффри Джэймс Джонас REAL-TIME DATA STORAGE
WO2003077075A2 (en) * 2002-03-06 2003-09-18 United States Postal Service A method for correcting a mailing address
AU2003213722A1 (en) * 2002-03-21 2003-10-08 David J. Payne Method and system for storing and retrieving data using hash-accessed multiple data stores
US7096213B2 (en) * 2002-04-08 2006-08-22 Oracle International Corporation Persistent key-value repository with a pluggable architecture to abstract physical storage
US6968338B1 (en) 2002-08-29 2005-11-22 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Extensible database framework for management of unstructured and semi-structured documents
US7159119B2 (en) * 2002-09-06 2007-01-02 United States Postal Service Method and system for efficiently retrieving secured data by securely pre-processing provided access information
CN1757188A (en) * 2002-11-06 2006-04-05 国际商业机器公司 Confidential data sharing and anonymous entity resolution
US20040099313A1 (en) * 2002-11-26 2004-05-27 Gotthelf Jeffrey Bryan Fluid flow pressure regulator
KR100800371B1 (en) * 2002-12-31 2008-02-04 인터내셔널 비지네스 머신즈 코포레이션 Authorized anonymous authentication
US7200602B2 (en) * 2003-02-07 2007-04-03 International Business Machines Corporation Data set comparison and net change processing
WO2004097596A2 (en) 2003-03-24 2004-11-11 Systems Research & Development Secure coordinate identification method, system and program

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6272495B1 (en) * 1997-04-22 2001-08-07 Greg Hetherington Method and apparatus for processing free-format data
US5991758A (en) * 1997-06-06 1999-11-23 Madison Information Technologies, Inc. System and method for indexing information about entities from different information sources

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7346927B2 (en) 2002-12-12 2008-03-18 Access Business Group International Llc System and method for storing and accessing secure data

Also Published As

Publication number Publication date
KR100877461B1 (en) 2009-01-07
CA2471940A1 (en) 2003-07-17
US8615521B2 (en) 2013-12-24
IL162746A0 (en) 2005-11-20
PL374305A1 (en) 2005-10-03
US20060010119A1 (en) 2006-01-12
EA200400873A1 (en) 2005-12-29
KR100856771B1 (en) 2008-09-05
EP1470475A4 (en) 2009-04-22
WO2003058427A8 (en) 2005-06-02
KR20040088036A (en) 2004-10-15
ZA200405141B (en) 2005-11-21
US8452787B2 (en) 2013-05-28
KR100850255B1 (en) 2008-08-19
CN1656442A (en) 2005-08-17
EP1470475A1 (en) 2004-10-27
KR20070112422A (en) 2007-11-23
AU2002367376A1 (en) 2003-07-24
CN101324902A (en) 2008-12-17
JP4456646B2 (en) 2010-04-28
JP4366433B2 (en) 2009-11-18
JP2009059372A (en) 2009-03-19
JP2009059371A (en) 2009-03-19
JP2006501529A (en) 2006-01-12
CN100483333C (en) 2009-04-29
MXPA04006390A (en) 2005-06-08
CA2471940C (en) 2019-03-05
BR0215411A (en) 2005-09-06
US20030154194A1 (en) 2003-08-14
KR20070112423A (en) 2007-11-23

Similar Documents

Publication Publication Date Title
CA2471940C (en) Real time data warehousing
US8620937B2 (en) Real time data warehousing
US10025904B2 (en) Systems and methods for managing a master patient index including duplicate record detection
US9256624B2 (en) System, method and software for providing persistent entity identification and linking entity information in a data repository
US8768914B2 (en) System and method for searching and matching databases
US20040133561A1 (en) System and method for identifying alternate contact information
US20050209892A1 (en) [Automated system and method for providing accurate, non-invasive insurance status verification]
CN108694657B (en) Client identification apparatus, method and computer-readable storage medium
JP2006501529A5 (en)
JP2009521770A (en) Method and system for enhancing matching from customer-driven queries
US20040098405A1 (en) System and Method for Automated Link Analysis
US6687707B1 (en) Unique object identification in a network of computing systems
JPH11184884A (en) System for judging the same person and method therefor
CN114090076A (en) Method and device for judging compliance of application program
CN115640369B (en) Piece information base data storage method applying star-shaped data model
JPH11259351A (en) Data base device, shared data base device, shared data base system, data extracting method for shared data base device and storage medium recording data extraction program for shared data base device
JP2006189972A (en) Information management system
JPH0778177A (en) Data retrieving system

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

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

AL Designated countries for regional patents

Kind code of ref document: A1

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

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
WWE Wipo information: entry into national phase

Ref document number: 2003558673

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 162746

Country of ref document: IL

WWE Wipo information: entry into national phase

Ref document number: 2004/05141

Country of ref document: ZA

Ref document number: PA/a/2004/006390

Country of ref document: MX

Ref document number: 374305

Country of ref document: PL

Ref document number: 1453/CHENP/2004

Country of ref document: IN

Ref document number: 2471940

Country of ref document: CA

Ref document number: 200405141

Country of ref document: ZA

Ref document number: 1-2004-500975

Country of ref document: PH

Ref document number: 1020047010275

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 2002367376

Country of ref document: AU

WWE Wipo information: entry into national phase

Ref document number: 2002806260

Country of ref document: EP

Ref document number: 200400873

Country of ref document: EA

WWE Wipo information: entry into national phase

Ref document number: 20028283759

Country of ref document: CN

WWP Wipo information: published in national office

Ref document number: 2002806260

Country of ref document: EP

WR Later publication of a revised version of an international search report
WWE Wipo information: entry into national phase

Ref document number: 1020077024459

Country of ref document: KR

Ref document number: 1020077024457

Country of ref document: KR