IP Library Granted Patent US 9,633,112
Granted Patent B2
US 9,633,112 · App. 13/946,684 · Granted Apr 25, 2017

Method of retrieving attributes from at least two data sources

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,633,112
App. No.
13/946,684
Granted
Apr 25, 2017
Kind
B2
Abstract

Systems, methods, and computer program products configured to collect attributes (A) from a plurality of potentially-incompatible data sources (DS), and synthesize collected attributes into a streamlined, elegant presentation e.g. for further data processing and/or review by a user are presented. The inventive concepts include accessing the data source(s); identifying a number of attributes of the data source(s); associating at least two attributes to a set of associated attributes; and storing a retrieving profile (RP) according to which attributes of the data sources may be subsequently retrieved. In more approaches, data source(s) may be accessed using a retrieving profile, and the retrieving profile is configured to access desired content thereof. In even more approaches, the retrieving profile may be further configured to automatically access a particular expected data structure (EDS) of the data source. The expected data structure may reflect a previous structure of the data source as recently accessed.

Claims (125)

1. A computer-implemented method of retrieving attributes from at least two data sources by:

accessing the data source(s);

identifying a number of attributes of said data source(s);

associating at least two attributes to a set of associated attributes;

storing a retrieving profile according to which attributes of the data sources may be retrieved; and

in response to determining one or more predefined conditions are met, storing a new retrieving profile according to which attributes of the data source(s) may be retrieved, wherein the one or more predefined conditions comprise at least one of:

the data source having changed in such a way that a new retrieving profile is necessary for retrieving data from the data source;

an instruction to establish a new retrieving profile every time data is retrieved from the data source; and

a requirement to enhance the retrieving profile in response to detecting minor changes in a data structure of the data source.

2. The method of retrieving attributes according to claim 1 , whereby the retrieving profile comprises at least one search profile according to which the attributes may be accessed.

3. The method of retrieving attributes according to claim 1 , further comprising categorizing at least two of the sets of associated attributes into categorized attributes.

4. The method of retrieving attributes according to claim 1 , further comprising displaying the set of associated attributes via a central window.

5. The method of retrieving attributes according to claim 1 , further comprising:

forming at least one entity, each entity being formed from at least one of the sets of associated attributes; and

assigning an entity identifier to at least one associated set of attributes.

6. The method of retrieving attributes according to claim 5 , further comprising: determining a data storage allocation structure according to which one or more of the entities may be retrieved.

7. The method of retrieving attributes according to claim 5 , further comprising verifying one or more of the attributes and the entities subsequent to associating the at least two attributes into the set of associated attributes.

8. The method of retrieving attributes according to claim 5 , further comprising storing information in a database, the information comprising one or more of:

the sets of associated attributes; and

the entities wherein the storing is performed according to certain predetermined storing criteria.

9. The method of retrieving attributes according to claim 8 , further comprising storing the information in association with data from which the attributes and/or entities have been retrieve, and

whereby the database comprises searchable attributes and/or entities.

10. The method of retrieving attributes according to claim 8 , whereby said database comprises manual input.

11. The method of retrieving attributes from at least two data sources according to claim 8 , whereby at least some of the information in the database comprises a link to at least one dedicated document located at the data source, and

whereby the said dedicated document is only accessed by the retrieving profile if a change in corresponding information in the database has been detected.

12. The method of retrieving attributes according to claim 5 , further comprising:

receiving a subscriber request;

determining whether the subscriber request matches one or more of the entities formed from at least one of the sets of associated attributes; and

forwarding a mail-back message to a subscriber in response to determining the entities match the subscriber request.

13. The method of retrieving attributes according to claim 12 , whereby the subscriber request comprises at least one query defined as an interval.

14. The method of retrieving attributes according to claim 1 , wherein at least two of the data sources:

are independent;

have different data formats; and

correspond to different retrieving profiles.

15. The method of retrieving attributes according to claim 1 , further comprising:

displaying the associated set of attributes in a central window; and

verifying a new set of associated attributes identified from the data source(s),

wherein the associated set of attributes are displayed in the central window until the new set of associated attributes has been verified.

16. The method of retrieving attributes according to claim 1 , further comprising initiating access to the data source(s) on the basis of one or more pre-established trigger rules.

17. The method of retrieving attributes according to claim 16 , whereby said trigger rules determine a frequency with which at least one of the data sources is accessed at a time interval.

18. The method of retrieving attributes according to claim 16 , whereby said trigger rules determine a frequency with which at least one of the data sources is accessed on the basis of one or more user queries.

19. The method of retrieving attributes according to claim 16 , whereby said trigger rules determine a frequency with which at least one of the data source(s) is accessed on the basis of one or more statistics of the data source(s).

20. The method of retrieving attributes according to claim 16 , whereby said trigger rules determine access to at least one of the data sources upon receiving a request by the data source or an owner of the data source.

21. The method of retrieving attributes according to claim 1 , whereby a user accesses the data source(s) via the retrieving profile.

22. The method of retrieving attributes according to claim 21 , whereby the user further accesses the data source(s) via a database.

23. The method of retrieving attributes according to claim 21 ,

whereby the retrieving profile comprises at least one search profile, and

whereby the user accesses said data source(s) directly via the search profile.

24. The method of retrieving attributes according to claim 21 , whereby the user accesses the data source(s) via a user query form, said user query form comprising at least two input query entries.

25. A data carrier comprising computer readable instructions for performing the method according to claim 1 in a computer system.

26. The method as recited in claim 1 , comprising, in response to determining one or more predefined conditions are met, storing a new retrieving profile according to which attributes of the data source(s) may be retrieved, wherein the one or more predefined conditions comprise at least one of:

the data source having changed in such a way that a new retrieving profile is necessary for retrieving data from the data source;

an instruction to establish a new retrieving profile every time data is retrieved from the data source; and

a requirement to enhance the retrieving profile in response to detecting minor changes in a data structure of the data source.

27. The method as recited in claim 1 , comprising retrieving the number of attributes from the data source(s) without transferring unique ID coding.

28. The method as recited in claim 1 , comprising correcting errors in a document representing the data source(s).

29. The method as recited in claim 1 , comprising removing irrelevant information from a document representing the data source(s); and

accessing the number of attributes of the data source(s) via the document.

30. A computer-implemented method of retrieving attributes from at least two data sources by:

accessing a retrieving profile according to which attributes of the data sources may be retrieved;

accessing the data source(s) on the basis of the retrieving profile

identifying a number of attributes;

associating at least two attributes to a set of associated attributes; and

in response to determining one or more predefined conditions are met, storing a new retrieving profile according to which attributes of the data sources may be retrieved.

31. The method as recited in claim 30 , wherein the one or more predefined conditions comprise the data source having changed in such a way that a new retrieving profile is necessary for retrieving data from the data source.

32. The method as recited in claim 31 , comprising reporting an error to the retrieving profile in response to determining the data source has changed in such a way that the new retrieving profile is necessary for retrieving data from the data source.

33. The method as recited in claim 30 , wherein the one or more predefined conditions comprise an instruction to establish a new retrieving profile every time data is retrieved from the data source.

34. The method as recited in claim 30 , wherein the one or more predefined conditions comprise a requirement to enhance the retrieving profile in response to detecting minor changes in a data structure of the data source.

35. A computer-implemented method of establishing a knowledge base, said knowledge base defining a number of relationships between attributes, said method comprising:

accessing a number of data sources;

identifying a number of attributes;

establishing a number of relationships between said attributes;

storing said established number of relationships between the said attributes; and

storing a retrieving profile according to which attributes of the data source(s) may be retrieved, in response to determining one or more predefined conditions are met, wherein the one or more predefined conditions comprise at least one of:

the data source having changed in such a way that a new retrieving profile is necessary for retrieving data from the data source;

an instruction to establish a new retrieving profile every time data is retrieved from the data source; and

a requirement to enhance the retrieving profile in response to detecting minor changes in a data structure of the data source.

36. A data source robot comprising data processing means for performing a computer-implemented method comprising:

automatically accessing the contents of at least one data source according to a retrieving profile;

identifying a number of attributes of said data source(s); and

associating at least two attributes to a set of associated attributes,

storing a retrieving profile according to which attributes of the data source(s) may be retrieved, in response to determining one or more predefined conditions are met, wherein the one or more predefined conditions comprise at least one of:

the data source having changed in such a way that a new retrieving profile is necessary for retrieving data from the data source;

an instruction to establish a new retrieving profile every time data is retrieved from the data source; and

a requirement to enhance the retrieving profile in response to detecting minor changes in a data structure of the data source; and

wherein said retrieving profile is configured to access an expected data structure of one or more of the data source(s), and

wherein said expected data structure represents the data structure of the data source as defined during at least one previous automatic access made to the data source by the data source robot.

37. A system comprising a plurality of the data source robot according to claim 36 , wherein the system complies with the following provisos:

at least one of said robots being adapted to accessing a corresponding data source having an unknown data structure;

said access being established according to a retrieving profile; and

said retrieving profile comprising at least one expected data structure of said data source.

38. A system comprising a plurality of the data source robot according to claim 36 , further comprising means for facilitating access by means of a common query form or query syntax to at least one of:

at least two of said data sources; and

a database comprising the expected data structure of one or more of the data sources.

39. A data carrier comprising computer readable instructions for establishment of a robot according to claim 36 in a computer system.

40. A computer-implemented method of retrieving entities from one or more data sources using a local query form, said method comprising the steps of:

entering an initial combination of query entries;

submitting a query comprising the initial combination of query entries;

receiving a plurality of results corresponding to the query

determining whether a number of the results invoked by the initial combination of query entries is greater than a maximum number of results; and

in response to determining the number of results invoked by the initial combination of query entries is greater than the maximum number of results:

manipulating the initial combination of query entries to define a subsequent combination of query entries, the subsequent combination of query entries being defined in such a way that the results of the said initial combination of query entries may be aggregated into sub-result lists, each sub-result list being represented as a single result among the plurality of results;

submitting a subsequent query comprising the subsequent combination of query entries; and

receiving a plurality of subsequent results corresponding to the subsequent query, the subsequent results comprising one or more of the sub-result lists,

wherein each sub-result list is established by a sub-combination of said initial combination of query entries; and

wherein each sub-result list is established in such a way that the number of results is less than or equal to the said maximum number of results.

41. The method according to claim 40 , comprising establishing one or more sub-queries, whereby the establishment of sub-queries further comprises binary traversing of appropriate query entry combinations selected from among the initial combination of query entries and the subsequent combination of query entries.

42. A computer-implemented method of establishing a robot for accessing attributes and/or entities in a data source said method comprising the steps of:

reading the content of the data source according to a retrieving profile;

in response to determining the content of the data source has changed, storing a new retrieving profile according to which attributes of the data source may be retrieved; and

establishing a series of processing steps from a set of possible processing steps, said processing steps being adapted to perform a predefined type of data analysis.

43. The method according to claim 42 , whereby at least one of said processing steps uses a nodeprocessor.

44. The method according to claim 42 , whereby at least one of said processing steps comprises processing a node of a document object model (DOM) tree representing a subset of a data source.

45. The method according to claim 42 , whereby at least one of said processing steps comprises outputting a node representing a subset of the data source to another of said processing steps.

46. The method according to claim 42 , whereby at least one of said processing steps is adapted to outputting a node representing a subset of the data source to a next processing step among the processing steps, the processing steps being arranged in in a step line.

47. A marketplace web-site embodied on a non-transitory data carrier, the marketplace web-site comprising an input query form or a search tool, said form or search tool comprising a plurality of input query types selected from selections, intervals and numbers; and

said marketplace web-site comprising means for:

communicating with at least two data independent sources; and

mapping a query established using said input query form or search tool into a number of sub-queries; and

at least two of the sub-queries being adapted to access information from at least two corresponding independent data sources.

48. A marketplace web-site embodied on a non-transitory data carrier, the marketplace web-site comprising an input query form or search tool, said form or search tool comprising a plurality of input query types selected from including selections, intervals and numbers,

said marketplace web-site comprising means for:

communicating with at least two data independent sources selected from web-sites and relational databases;

storing data extracted from said data sources in a central database; and

mapping a query established by means of said input query form or search tool into the database.

Assignments (6)
FIRST LIEN INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Jul 20, 2022
From: KOFAX, INC.; PSIGEN SOFTWARE, INC.
To: JPMORGAN CHASE BANK, N.A. AS COLLATERAL AGENT
Reel/Frame 060757/0565 →
SECURITY INTEREST Recorded Jul 20, 2022
From: KOFAX, INC.; PSIGEN SOFTWARE, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 060768/0159 →
MERGER Recorded Apr 14, 2022
From: KAPOW TECHNOLOGIES, INC.
To: KOFAX, INC.
Reel/Frame 059605/0733 →
CHANGE OF NAME Recorded Jun 13, 2019
From: KAPOW SOFTWARE
To: KAPOW TECHNOLOGIES, INC.
Reel/Frame 049464/0288 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 12, 2017
From: HELLES, MORTEN; ANDREASEN, STEFAN
To: KAPOW A/S
Reel/Frame 042990/0042 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 2, 2015
From: KAPOW A/S
To: KAPOW SOFTWARE
Reel/Frame 036482/0956 →