IP Library Granted Patent US 7,350,191
Granted Patent B1
US 7,350,191 · App. 10/421,532 · Granted Mar 25, 2008

Computer implemented system and method for the generation of data access applications

Assignee: Noetix, Inc.
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 7,350,191
App. No.
10/421,532
Granted
Mar 25, 2008
Kind
B1
Abstract

A method and architecture is described that discovers software application metadata and generates data access applications based on the discovered software application metadata. The discovered metadata along with handcrafted metadata goes through a discovery process and is converted into common, generic abstract metadata objects. The abstract metadata objects then go through an instantiation process to be translated into concrete metadata objects that represent the unique configuration, context and terminology of the source software application. The concrete metadata objects can be generated into numerous forms for the purposes of data access and information sharing. The system also has upgrade protection.

Claims (78)

1. A data access and reporting application generation system implemented on a computer system that processes a source software application, the system comprising:

a computer system having a processor and a file system that stores a set of metadata associated with a source software application;

a discovery module executed by the processor that interfaces with a source software application and handcrafted metadata, each piece of handcrafted metadata describes one more pieces of business data stored in the source software application, many pieces of handcrafted metadata are combined together to create a reporting object template, and that automatically discovers metadata in the file system associated with the source software application configuration and creates, from the discovered metadata and the handcrafted metadata, one or more source metadata reporting object templates associated with the source software application and its configuration, the source metadata reporting objects being created from the discovered metadata or from the handcrafted metadata in combination with the discovered metadata, the discovery module further comprising a process that detects a business function of the source software application, a process that detects a business entity for the source software application, and a process that detects the relationships between the source software application configuration for the business function and the business entity; and

an instantiation module executed by the processor that creates, using the source metadata reporting object templates created during the discovery process, one or more target metadata reporting objects corresponding to each source metadata reporting object wherein the target metadata reporting objects are associated with a particular source software application configuration and allow business data in the particular source software application with the particular source software application configuration to be reported on even when the source software application configuration changes.

2. The system of claim 1 , wherein the source metadata object is an abstract metadata object and the target metadata reporting object is a concrete metadata object.

3. The system of claim 1 , wherein the source metadata object is an abstract metadata object and the target metadata reporting object is an abstract metadata object.

4. The system of claim 1 , wherein the source metadata object is a concrete metadata object and the target metadata reporting object is a concrete metadata object.

5. The system of claim 1 , wherein the source metadata object is a generated object and the target metadata reporting object is a generated object.

6. The system of claim 1 , wherein the source metadata object is an abstract metadata object and the target metadata reporting object is a generated object.

7. The system of claim 1 , wherein the source metadata object is a concrete metadata object and the target metadata reporting object is a generated object.

8. The system of claim 1 further comprising an upgrade protection module that, as the source software application is upgraded to a new source software application configuration, updates the target metadata reporting objects associated with the particular source software application configuration so that the target metadata reporting objects associated with the particular source software application configuration are compatible with the new source software application configuration.

9. The system of claim 8 , wherein the upgrade protection module further comprises a process for determining the target metadata reporting objects associated with the particular source software application and the target metadata reporting objects associated with the new source software application configuration, a process for determining the naming conventions of the target metadata reporting objects associated with the particular source software application configuration, a process that compares the target metadata reporting objects associated with the particular source software application configuration with the target metadata reporting objects associated with the new source software application configuration and a process that adjusts the target metadata reporting objects associated with the new source software application configuration to make the target metadata reporting objects associated with the new source software application configuration compatible with the target metadata reporting objects associated with the particular source software application configuration.

10. The system of claim 9 , wherein the adjustment process further comprises a process to adjust the target metadata reporting object names associated with the new source software application configuration to make them compatible with the target metadata reporting object names associated with the particular source software application configuration and a process to adjust the target metadata reporting object column names associated with the new source software application configuration to make them compatible with the target metadata reporting object column names associated with the particular source software application configuration.

11. The system of claim 9 , wherein the comparison step further comprises a process for comparing the target metadata reporting object names associated with the particular source software application configuration to the target metadata reporting object names associated with the new source software application configuration, a process for comparing the descriptions of the target metadata reporting object names associated with the particular source software application configuration to the descriptions of the target metadata reporting object names associated with the new source software application configuration, a process for comparing the horizontal partitioning of the target metadata reporting object names associated with the particular source software application configuration to the horizontal partitioning of the target metadata reporting object names associated with the new source software application configuration and a process that compares a list of columns associated with the particular source software application configuration to a list of columns associated with the new source software application configuration.

12. The system of claim 10 , wherein the reporting object name adjustment process further comprises a process that renames a target metadata reporting object associated with the new source software application configuration to a target metadata reporting object associated with the particular source software application configuration for the same target metadata reporting object.

13. The system of claim 10 , wherein the reporting object column name adjustment process further comprises a process that renames a target metadata reporting object column associated with the new source software application configuration to a target metadata reporting object column associated with the particular source software application configuration for the same target metadata reporting object column.

14. The system of claim 1 , wherein the discovery module further comprises a process that detects the source metadata object associated with the source software application that groups information into a topic, a process that detects the source metadata object associated with the source software application that specifies the source of the topic, a process that detects the source metadata object associated with the source software application that specifies information associated with a logical group and a process that detects the source metadata object associated with the source software application that specifies a horizontal partitioning of a topic.

15. The system of claim 1 , wherein the discovery module further comprises a process that detects security metadata.

16. The system of claim 1 , wherein the discovery module further comprises a process that detects the source metadata object associated with the source software application that is used to categorize information in the source software application and a process that detects the source metadata object associated with the source software application that relates topics together.

17. The system of claim 1 , wherein the discovery module further comprises a process that optimizes the discovery process.

18. The system of claim 1 , wherein the discovery module further comprises a hook task that modifies the processes associated with the discovery module.

19. The system of claim 1 , wherein the instantiation module further comprises a hook task that modifies the processes associated with the instantiation module.

20. The system of claim 1 , wherein the instantiation module further comprises a process for enhancing business terminology into the target metadata reporting objects.

21. The system of claim 1 further comprising a generation module that receives concrete metadata objects and creates one or more generated objects which are used to implement a data access application that operates with the data contained in the source software application.

22. A data access application generation method implemented on a computer system having a processor and a file system that stores a set of metadata associated with a source software application that processes a source software application, the method comprising:

a discovery process that interfaces with a source software application and handcrafted metadata, each piece of handcrafted metadata describes one more pieces of business data stored in the source software application, many pieces of handcrafted metadata are combined together to create a reporting object template, and that automatically discovers metadata in the file system associated with the source software application configuration and creates, from the discovered metadata and the handcrafted metadata, one or more source metadata reporting object templates associated with the source software application and its configuration, the source metadata reporting objects being created from the discovered metadata or from the handcrafted metadata in combination with the discovered metadata, the discovery module further comprising a process that detects a business function of the source software application, a process that detects a business entity for the source software application, and a process that detects the relationships between the source software application configuration for the business function and the business entity; and

an instantiation process that creates, using the source metadata reporting object templates created during the discovery process, one or more target metadata reporting objects corresponding to each source metadata reporting object wherein the target metadata reporting objects are associated with a particular source software application configuration and allow business data in the particular source software application with the particular source software application configuration to be reported on even when the source software application configuration changes.

23. The method of claim 22 , wherein the source metadata object is an abstract metadata object and the target metadata reporting object is a concrete metadata object.

24. The method of claim 22 wherein the source metadata object is an abstract metadata object and the target metadata reporting object is an abstract metadata object.

25. The method of claim 22 , wherein the source metadata object is a concrete metadata object and the target metadata reporting object is a concrete metadata object.

26. The method of claim 22 , wherein the source metadata object is a generated object and the target metadata reporting object is a generated object.

27. The method of claim 22 , wherein the source metadata object is an abstract metadata object and the target metadata reporting object is a generated object.

28. The method of claim 22 , wherein the source metadata object is a concrete metadata object and the target metadata reporting object is a generated object.

29. The method of claim 22 further comprising an upgrade protection process that, as the source software application is upgraded to a new source software application configuration, updates the target metadata reporting objects associated with the particular source software application configuration so that the target metadata reporting objects associated with the particular source software application configuration are compatible with the new source software application configuration.

30. The method of claim 29 , wherein the upgrade protection process further comprises determining the target metadata reporting objects associated with the particular source software application and the target metadata reporting object associated with the new source software application configuration, determining the naming conventions of the target metadata reporting objects associated with the particular source software application configuration, comparing the target metadata reporting objects associated with the particular source software application configuration with the target metadata reporting objects associated with the new source software application configuration and adjusting the target metadata reporting objects associated with the new source software application configuration to make the target metadata reporting objects associated with the new source software application configuration compatible with the target metadata reporting objects associated with the particular source software application configuration.

31. The method of claim 30 , wherein the adjustment further comprises adjusting the target metadata reporting object names associated with the new source software application configuration to make them compatible with the target metadata reporting object names associated with the particular source software application configuration and adjusting the target metadata reporting object column names associated with the new source software application configuration to make them compatible with the target metadata reporting object column names associated with the particular source software application configuration.

32. The method of claim 30 , wherein the comparison step further comprises comparing the target metadata reporting object names associated with the particular source software application configuration to the target metadata reporting object names associated with the new source software application configuration, comparing the descriptions of the target metadata reporting object names associated with the particular source software application configuration to the descriptions of the target metadata reporting object names associated with the new source software application configuration, comparing the horizontal partitioning of the target metadata reporting object names associated with the particular source software application configuration to the horizontal partitioning of the target metadata reporting object names associated with the new source software application configuration and comparing a list of columns associated with the particular source software application configuration to a list of columns associated with the new source software application configuration.

33. The method of claim 31 , wherein the object name adjustment further comprises renaming a target metadata reporting object associated with the new source software application configuration to a target metadata reporting object associated with the particular source software application configuration for the same target metadata reporting object.

34. The method of claim 31 , wherein the reporting object column name adjustment further comprises renaming a target metadata reporting object column associated with the new source software application configuration to a target metadata reporting object column associated with the particular source software application configuration for the same target metadata reporting object column.

35. The method of claim 22 , wherein the discovery process further comprises detecting the source metadata object associated with the source software application that groups information into a topic, detecting the source metadata object associated with the source software application that specifies the source of the topic, detecting the source metadata object associated with the source software application that specifies information associated with a logical group and a process that detects the source metadata object associated with the source software application that specifies a horizontal partitioning of a topic.

36. The method of claim 22 , wherein the discovery process further comprises detecting security metadata.

37. The method of claim 22 , wherein the discovery process further comprises detecting the source metadata object associated with the source software application that is used to categorize information in the source software application and detecting the source metadata object associated with the source software application that relates topics together.

38. The method of claim 22 , wherein the discovery process further comprises optimizing the discovery process.

39. The method of claim 36 , wherein the discovery process further comprises a hook task that modifies the processes associated with the discovery module.

40. The method of claim 22 , wherein the instantiation process further comprises a hook task that modifies the processes associated with the instantiation module.

41. The method of claim 22 , wherein the instantiation module further comprises enhancing business terminology into the target metadata reporting objects.

42. The method of claim 22 further comprising a generation process that receives concrete metadata objects and creates one or more generated objects which are used to implement a data access application that operates with the data contained in the source software application.

43. An upgrade protection system for a data access application generation system implemented on a computer system that processes a source software application, the upgrade protection system comprising:

a computer system having a processor and a file system that stores a set of metadata associated with a source software application;

a module that provides one or more source metadata objects associated with the source software application and its configuration and one or more target metadata reporting objects corresponding to each source metadata object wherein the target metadata reporting objects are associated with the particular source software application configuration; and

an upgrade protection module that, as the source software application is upgraded to a new source software application configuration, automatically updates the target metadata reporting objects associated with the particular source software application configuration to generate updated target metadata reporting objects so that the undated target metadata reporting objects are compatible with the new source software application configuration and the data access application remains unchanged and is usable with the new source software application configuration;

wherein the upgrade process further comprises a process to adjust a name of the updated target metadata reporting objects to make them compatible with the target metadata reporting object names associated with the particular source software application configuration and a process to adjust a column name of the updated target metadata reporting objects column names to make them compatible with the target metadata reporting object column names associated with the particular source software application configuration.

44. The system of claim 43 , wherein the source metadata object is an abstract metadata object and the target metadata reporting object is a concrete metadata object.

45. The system of claim 43 , wherein the source metadata object is an abstract metadata object and the target metadata reporting object is an abstract metadata object.

46. The system of claim 43 , wherein the source metadata object is a concrete metadata object and the target metadata reporting object is a concrete metadata object.

47. The system of claim 43 , wherein the source metadata object is a generated object and the target metadata reporting object is a generated object.

48. The system of claim 43 , wherein the source metadata object is an abstract metadata object and the target metadata reporting object is a generated object.

49. The system of claim 43 , wherein the source metadata object is a concrete metadata object and the target metadata reporting object is a generated object.

50. The system of claim 43 , wherein the upgrade protection module further comprises a process for determining the target metadata reporting object associated with the particular source software application and the target metadata reporting object associated with the new source software application configuration, a process for determining the naming conventions of the target metadata reporting objects associated with the particular source software application configuration, a process that compares the target metadata reporting objects associated with the particular source software application configuration with the target metadata reporting objects associated with the new source software application configuration and a process that adjusts the target metadata reporting objects associated with the new source software application configuration to make the target metadata reporting objects associated with the new source software application configuration compatible with the target metadata reporting objects associated with the particular source software application configuration.

51. The system of claim 43 , wherein the upgrade process further comprises a process to adjust the mapping of target metadata reporting objects associated with the new source software application configuration to make them compatible with source software application configuration.

52. The system of claim 50 , wherein the comparison step further comprises a process for comparing the target metadata reporting object names associated with the particular source software application configuration to the target metadata reporting object names associated with the new source software application configuration, a process for comparing the descriptions of the target metadata reporting object names associated with the particular source software application configuration to the descriptions of the target metadata reporting object names associated with the new source software application configuration, a process for comparing the horizontal partitioning of the target metadata reporting object names associated with the particular source software application configuration to the horizontal partitioning of the target metadata reporting object names associated with the new source software application configuration and a process that compares a list of columns associated with the particular source software application configuration to a list of columns associated with the new source software application configuration.

53. The system of claim 43 , wherein the metadata reporting object name adjustment process further comprises a process that renames a target metadata reporting object associated with the new source software application configuration to a target metadata reporting object associated with the particular source software application configuration for the same target metadata reporting object.

54. The system of claim 43 , wherein the metadata reporting object column name adjustment process further comprises a process that renames a target metadata reporting object column associated with the new source software application configuration to a target metadata reporting object column associated with the particular source software application configuration for the same target metadata reporting object column.

55. An upgrade protection method for a data access application generation method implemented on a computer system that processes a source software application, the upgrade protection method comprising:

providing one or more source metadata objects associated with the source software application and its configuration and one or more target metadata reporting objects corresponding to each source metadata object wherein the target metadata reporting objects are associated with the particular source software application configuration; and

as the source software application is upgraded to a new source software application configuration, automatically updating the target metadata reporting objects associated with the particular source software application configuration to generate updated target metadata reporting objects so that the updated target metadata reporting objects are compatible with the new source software application configuration and the data access application remains unchanged and is usable with the new source software application configuration;

wherein the adjustment further comprises adjusting a name the target metadata reporting objects to make them compatible with the target metadata reporting object names associated with the particular source software application configuration and adjusting a column name of the updated target metadata reporting objects column names to make them compatible with the target metadata reporting object column names associated with the particular source software application configuration.

56. The method of claim 55 wherein the source metadata object is an abstract metadata object and the target metadata reporting object is a concrete metadata object.

57. The method of claim 55 , wherein the source metadata object is an abstract metadata object and the target metadata reporting object is an abstract metadata object.

58. The method of claim 56 , wherein the source metadata object is a concrete metadata object and the target metadata reporting object is a concrete metadata object.

59. The method of claim 56 , wherein the source metadata object is a generated object and the target metadata reporting object is a generated object.

60. The method of claim 56 , wherein the source metadata object is an abstract metadata object and the target metadata reporting object is a generated object.

61. The method of claim 56 , wherein the source metadata object is a concrete metadata object and the target metadata reporting object is a generated object.

62. The method of claim 56 , wherein the updating further comprises determining the target associated with the particular source software application and the target associated with the new source software application configuration, determining the naming conventions of the target metadata reporting objects associated with the particular source software application configuration, comparing the target metadata reporting objects associated with the particular source software application configuration with the target metadata reporting objects associated with the new source software application configuration and adjusting the target metadata reporting objects associated with the new source software application configuration to make the target metadata reporting objects associated with the new source software application configuration compatible with the target metadata reporting objects associated with the particular source software application configuration.

63. The method of claim 55 , wherein the adjustment process further comprises a process to adjust the mapping of target metadata reporting objects associated with the new source software application configuration to make them compatible with the source software application configuration.

64. The method of claim 62 , wherein the comparison step further comprises comparing the target metadata reporting object names associated with the particular source software application configuration to the target metadata reporting object names associated with the new source software application configuration, comparing the descriptions of the target metadata reporting object names associated with the particular source software application configuration to the descriptions of the target metadata reporting object names associated with the new source software application configuration, comparing the horizontal partitioning of the target metadata reporting object names associated with the particular source software application configuration to the horizontal partitioning of the target metadata reporting object names associated with the new source software application configuration and comparing a list of columns associated with the particular source software application configuration to a list of columns associated with the new source software application configuration.

65. The method of claim 55 , wherein the reporting metadata object name adjustment further comprises renaming a target metadata reporting object associated with the new source software application configuration to a target metadata reporting object associated with the particular source software application configuration for the same target metadata reporting object.

66. The method of claim 55 , wherein the reporting metadata object column name adjustment further comprises renaming a target metadata reporting object column associated with the new source software application configuration to a target metadata reporting object column associated with the particular source software application configuration for the same target metadata reporting object column.

Assignments (15)
RELEASE OF SECURITY INTEREST Recorded Nov 5, 2021
From: BMO HARRIS BANK N.A.
To: NOETIX CORPORATION
Reel/Frame 058034/0057 →
CORRECTIVE ASSIGNMENT TO CORRECT THE NAME OF THE ASSIGNEE FROM NOETIX, INC. TO NOETIX CORPORATION PREVIOUSLY RECORDED ON REEL 014006 FRAME 0347. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jun 12, 2019
From: KOMPELLA, RADHA; COWLES, DEWAYNE
To: NOETIX CORPORATION
Reel/Frame 049441/0053 →
SECURITY INTEREST Recorded May 13, 2019
From: NOETIX CORPORATION
To: BMO HARRIS BANK
Reel/Frame 049160/0722 →
RELEASE OF SECURITY INTEREST Recorded May 9, 2019
From: STELLUS CAPITAL INVESTMENT CORPORATION
To: NOETIX CORPORATION
Reel/Frame 049134/0313 →
RELEASE OF SECURITY INTEREST Recorded May 9, 2019
From: BMO HARRIS BANK N.A.
To: NOETIX CORPORATION
Reel/Frame 049134/0321 →
PATENT SECURITY AGREEMENT Recorded Oct 26, 2017
From: NOETIX CORPORATION
To: STELLUS CAPITAL INVESTMENT CORPORATION, AS AGENT
Reel/Frame 044299/0104 →
RELEASE OF SECURITY INTEREST Recorded Oct 18, 2017
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS AGENT
To: NOETIX CORPORATION
Reel/Frame 043897/0073 →
SECURITY AGREEMENT Recorded Oct 17, 2017
From: NOETIX CORPORATION
To: BMO HARRIS BANK N.A., AS AGENT
Reel/Frame 044218/0798 →
RELEASE OF SECURITY INTEREST Recorded Oct 7, 2014
From: COMERICA BANK, A TEXAS BANKING ASSOCIATION
To: NOETIX CORPORATION
Reel/Frame 033905/0632 →
PATENT SECURITY AGREEMENT Recorded Sep 24, 2014
From: NOETIX CORPORATION
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, A NATIONAL BANKING ASSOCIATION, AS AGENT
Reel/Frame 033813/0215 →
SECURITY AGREEMENT Recorded Jul 24, 2013
From: NOETIX CORPORATION
To: COMERICA BANK, A TEXAS BANKING ASSOCIATION
Reel/Frame 030888/0579 →
RELEASE OF SECURITY INTEREST Recorded Jun 26, 2013
From: SILICON VALLEY BANK
To: NOETIX CORPORATION
Reel/Frame 030691/0937 →
SUPPLEMENT TO INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Sep 26, 2008
From: NOETIX CORPORATION
To: SILICON VALLEY BANK
Reel/Frame 021590/0311 →
SECURITY AGREEMENT Recorded Aug 29, 2008
From: NOETIX CORPORATION
To: SILICON VALLEY BANK
Reel/Frame 021460/0446 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 22, 2003
From: KOMPELLA, RADHA; COWLES, DEWAYNE
To: NOETIX, INC.
Reel/Frame 014006/0347 →