Claims
- 1. A method for automatically generating an end-user interface for working with the data within any arbitrary relational database, regardless of the size or complexity of said database, wherein said database comprises a plurality of tables, constraints and relationships, comprising:
(a) interrogating said database, and extracting therefrom information specifying its table structures, constraints and relationships; and (b) using said information to construct a corresponding client application.
- 2. The method of claim 1, wherein said client application provides support for end-user data-modification and -manipulation transactions, comprising creating, revising, removing, and selecting among data records.
- 3. The method of claim 1, wherein said client application further reveals and enforces non-relational constraints defined within the database for each individual table-column.
- 4. The method of claim 1, wherein said client application further reveals and enforces relational interdependencies (as embodied in referential-integrity constraints within the underlying database) across data tables.
- 5. The method of claim 1, wherein said client application deduces relational interdependencies, absent explicit back-end referential-integrity constraints, by comparing field names and associated attributes.
- 6. In a method for providing an automatically generated end-user interface for working with the data within any arbitrary relational database, said database comprising a plurality of tables, constraints and relationships, utilizing a hierarchical context stack for maintaining the working state of a particular (or primary) table while drilling-down across relationships to work with related information in a subordinate table.
- 7. The method of claim 6, wherein said hierarchical context stack further imposes (as necessary) a constraining working context on the subordinate (drilled-to) table, so as to reveal and enforce any relational interdependency (referential-integrity constraint) between the primary and subordinate tables.
- 8. The method of claim 6, wherein said hierarchical context stack can return relevant changes to the primary table, thereby updating the primary-table record according to data-entry or -modification undertaken in the subordinate-table context.
- 9. The method of claim 6, wherein said hierarchical context stack is exposed through the user interface, and allows random access to any pending (suspended) stack-context, with abandonment of all subordinate stack-contexts.
- 10. The method of claim 6, wherein said hierarchical context stack is exposed through the user interface, and allows the restoration of any current screen display to its initial state, thereby abandoning any subsequent but not-yet-committed changes or data-entry by the user.
- 11. The method of claim 6, wherein said hierarchical context stack is exposed through the user interface, and allows rollback recovery from a system exception, to any pending (suspended) stack context, with abandonment of all subordinate stack-contexts.
- 12. A method for providing an end-user interface for working with the data within any arbitrary relational database, said database comprising a plurality of tables, constraints and relationships, wherein said user interface conforms to a generalized and comprehensive paradigm.
- 13. The method of claim 12, wherein said paradigm comprises:
(a) a set of modes for interacting with the data in any given database table, and a corresponding display format for each mode; and (b) a set of rules and methods for moving among said modes.
- 14. The method of claim 12, wherein said paradigm comprises:
(a) a set of relationship types between individual database tables, and a corresponding user-interface convention for representing each type of relationship within the various display formats; and (b) a set of rules and methods for managing and navigating across such relationships.
- 15. The method of claim 12, wherein said paradigm comprises the sets of modes and rules of claim 13, and the sets of relationships and rules of claim 14.
- 16. The method of claim 12, further comprising revealing and enforcing non-relational constraints defined within the database for each individual table-column.
- 17. The method of claim 12, further comprising revealing and enforcing relational interdependencies (referential-integrity constraints) across data tables.
- 18. The method of claim 12, further comprising utilizing a hierarchical context stack to maintain the working state of particular tables while navigating across data relationships to other tables, and a set of rules and methods for traversing said hierarchical context stack.
- 19. The method of claim 12, further comprising providing integrated security mechanisms to mediate end-user access by function (browse, edit, add, delete) and scope (global-, table-, row-, and column-level).
- 20. The method of claim 12, further comprising providing integrated help mechanisms to allow display (and dynamic specification) of descriptive pop-up texts for navigational screen elements and for data-fields.
- 21. The method of claim 12, further comprising providing a structured framework for general, special-case, and user-defined exception-handling.
- 22. The method of claim 12, further comprising providing a set of mechanisms, rules, and methods through which each end-user can evolve and manage personalizations to said paradigm, with persistent back-end stogage and tracking by user and/or group.
- 23. The method of claim 12, further comprising providing configurable support for a range of (alternative) record-editing concurrency-control behaviors.
- 24. The method of claim 12, further comprising journaling and auditing of data-modification activity so as to allow reconstruction of user-action and data-state history.
- 25. The method of claim 24, further comprising requiring end-users to provide justification for changes to certain datafields (with transaction abandonment without said justification, and logging-to-journal of provided justifications).
- 26. A method for automatically constructing a representation of any database table, which resolves all cross-table relationships so as to supplant internal key fields in the primary table with corresponding descriptive fields derived from the related tables.
- 27. The method of claim 26, further comprising rendering said representation in the native language of the underlying relational-database engine, wherein it subsequently can be executed on demand.
- 28. The method of claim 26, further comprising utilizing formal data-structure rules and naming conventions in analyzing the related tables to automatically determine a default construction for each descriptive related-column field.
- 29. The method of claim 26, further comprising allowing for explicit specification of rendering instructions for individual related-column fields, as (ancillary) sub-representations, and for merging said ancillary representations into the primary representation.
- 30. The method of claim 29, wherein said explicit specification can override the default construction determined in accordance with claim 28.
- 31. The method of claim 29, further comprising scoping or explicit rendering specifications, so as to enable both database-wide (global) and primary-table-specific (local) specifications.
- 32. A method for automatically modifying the representation of any database table, so as to introduce additional row-level filtering logic based on a specified relation between the underlying-table data and the end-user identity, and without otherwise altering said representation or affecting any interdependent software functions.
- 33. The method of claim 32, further comprising rendering said representation in the native language of the underlying relational-database engine, wherein it subsequently can be executed on demand.
- 34. In a method for providing an automatically generated end-user interface for working with the data within any arbitrary relational database, said database comprising a plurality of tables, constraints and relationships, enhancing and extending the representation of the table structures and relationships so as to further support revelation of the schema structure through external interrogation.
- 35. The method of claim 34, further comprising using naming conventions.
- 36. The method of claim 34, further comprising using annotational methods.
- 37. The method of claim 36, further comprising storing said annotations within the database itself, or within ancillary storage.
- 38. In a method for providing an automatically generated end-user interface for working with the data within any arbitrary relational database, said database comprising a plurality of tables, constraints and relationships, extending, customizing, adapting, or overriding the baseline UI paradigm provided by said method to support special requirements.
- 39. The method of claim 38, further comprising using annotational methods.
- 40. The method of claim 38, further comprising storage said annotations within the database itself, or within ancillary storage.
- 41. A computer-readable medium containing program instructions for carrying out the method of any of claims 1, 6, 12, 26, 32, 34 and 38.
- 42. A system for automatically generating an end-user interface for working with the data within any arbitrary relational database, regardless of the size or complexity of said database, wherein said database comprises a plurality of tables, constraints and relationships, comprising:
(a) means for interrogating said database, and extracting therefrom information specifying its table structures, constraints and relationships; and (b) means for using said information to construct a corresponding client application.
- 43. The system of claim 42, wherein said system is integrated with an RDBMS.
- 44. In a system for providing an automatically generated end-user interface for working with the data within any arbitrary relational database, said database comprising a plurality of tables, constraints and relationships, means for utilizing a hierarchical context stack for maintaining the working state of a particular (or primary) table while drilling-down across relationships to work with related information in a subordinate table.
- 45. A system for providing an end-user interface for working with the data within any arbitrary relational database, said database comprising a plurality of tables, constraints and relationships, wherein said user interface conforms to a generalized and comprehensive paradigm.
- 46. The system of claim 45, wherein said system is integrated with an RDBMS.
- 47. A system for automatically constructing a representation of any database table, which resolves all cross-table relationships so as to supplant internal key fields in the primary table with corresponding descriptive fields derived from the related tables.
- 48. A system for automatically modifying the representation of any database table, so as to introduce additional row-level filtering logic based on a specified relation between the underlying-table data and the end-user identity, and without otherwise altering said representation or affecting any interdependent software functions.
- 49. In a system for providing an automatically generated end-user interface for working with the data within any arbitrary relational database, said database comprising a plurality of tables, constraints and relationships, means for enhancing and extending the representation of the table structures and relationships so as to further support revelation of the schema structure through external interrogation.
- 50. In a system for providing an automatically generated end-user interface for working with the data within any arbitrary relational database, said database comprising a plurality of tables, constraints and relationships, means for extending, customizing, adapting, or overriding the baseline UI paradigm provided by said method to support special requirements.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims the benefit and priority of U.S. patent application Ser. No. 09/703,267 filed Oct. 31, 2000 and U.S. provisional patent application serial no. 60/276,385 filed Mar. 16, 2001, and for purposes of the United States is a continuation-in-part of said application Ser. No. 09/703,267.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60276385 |
Mar 2001 |
US |
Continuations (2)
|
Number |
Date |
Country |
| Parent |
PCT/US01/42867 |
Oct 2001 |
US |
| Child |
10428209 |
Apr 2003 |
US |
| Parent |
09703267 |
Oct 2000 |
US |
| Child |
PCT/US01/42867 |
Oct 2001 |
US |