IP Library Granted Patent US 8,219,919
Granted Patent B2
US 8,219,919 · App. 11/771,941 · Granted Jul 10, 2012

Method for automating construction of the flow of data driven applications in an entity model

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 8,219,919
App. No.
11/771,941
Granted
Jul 10, 2012
Kind
B2
Abstract

An associated between a data type and a user interface (UI) element such as a Page and/or Panel, and a data type allows dynamic determination of application flow including menu and menu items. This may allow a dynamic determination of all target UI elements to which an end user may navigate from a source UI element, that are capable of displaying the same record of information represented in the source UI element or a related record of information.

Claims (51)

1. A method of operating a computing system including at least one processor and at least one nontransitory computer-readable medium to dynamically determine application flows at run time, the method comprising:

determining at least one data type to which a first user has access rights that are based at least in part on inherited access rights by the at least one processor, wherein the determining at least one data type to which a first user has access rights comprises accessing a stored set of access rights assigned to a first entity object that represents the user, the access rights defining a right of the entity object to access data by data type;

identifying each of a number of data presentation user interface elements capable of representing the determined at least one data type by the at least one processor; and

dynamically building a navigation user interface element by the at least one processor that provides a user selectable representation of each of the identified number of data presentation user interface elements capable of representing the determined at least one data type to which a user may navigate.

2. The method of claim 1 , further comprising:

receiving a user selection of one of the representations, the user selection indicative of one of the number of user interface elements capable of representing the determined at least one data type;

dynamically building a data presentation user interface element corresponding to the user selected representation by the at least one processor; and

presenting the dynamically built data presentation user interface element to the user.

3. The method of claim 1 wherein determining at least one data type to which a first user has access rights further comprises:

determining by the at least one processor if the first entity object has at least one direct inheritance relationship with at least one other entity object;

for each of the direct inheritance relationships that the first entity object is determined to have with at least one other entity object, accessing a stored set of access rights assigned to the other entity object by the at least one processor, the access rights defining a right of the other entity object to access data by data type; and

adding the data types from the stored set of access rights assigned to the other entity object, if any, to the determined data types for the first entity object by the at least one processor.

4. The method of claim 3 wherein determining at least one data type to which a first user has access rights further comprises:

determining by the at least one processor if the first entity object has at least one indirect inheritance relationship with at least one further entity object through the at least one other entity object; and

for each of the indirect inheritance relationships that the first entity object is determined to have with at least one further entity object, accessing a stored set of access rights assigned to the further entity object by the at least one processor, the access rights defining a right of the other entity object to access data by data type; and

adding the data types from the stored set of access rights assigned to the further entity object, if any, to the determined data types for the first entity object by the at least one processor.

5. The method of claim 1 wherein determining at least one data type to which a first user has access rights comprises:

for each of a number of pieces of data displayed in a data presentation user interface element currently presented to the user, identifying a respective data type in which the respective piece of data is classed by the at least one processor.

6. The method of claim 1 wherein determining at least one data type to which a first user has access rights, further comprises:

for each determined data type, determining if a relationship exists between the determined data type and any additional data types by the at least one processor; and

adding by the at least one processor the additional data types, if any, to the determined data types before identifying each of the number of data presentation user interface elements capable of representing the determined at least one data type.

7. A non-transitory computer-readable medium storing instructions for causing a computer to dynamically determine application flows at run time, by:

determining at least one data type to which a first user has access rights, wherein the determining at least one data type to which a first user has access rights comprises accessing a stored set of access rights assigned to a first entity object that represents the user, the access rights defining a right of the entity object to access data by data type;

identifying each of a number of data presentation user interface elements capable of representing the determined at least one data type; and

dynamically building a navigation user interface element that provides a user selectable representation of each of the identified number of data presentation user interface elements capable of representing the determined at least one data type to which a user may navigate.

8. The non-transitory computer-readable medium of claim 7 where the instructions cause the computer to dynamically determine application flows at run time further by:

receiving a user selection of one of the representations, the user selection indicative of one of the number of user interface elements capable of representing the determined at least one data type;

dynamically building a data presentation user interface element corresponding to the user selected representation; and

presenting the dynamically built data presentation user interface element to the user.

9. The non-transitory computer-readable medium of claim 7 wherein determining at least one data type to which a first user has access rights further comprises:

determining if the first entity object has at least one direct inheritance relationship with at least one other entity object;

for each of the direct inheritance relationships that the first entity object is determined to have with at least one other entity object, accessing a stored set of access rights assigned to the other entity object, the access rights defining a right of the other entity object to access data by data type; and

adding the data types from the stored set of access rights assigned to the other entity object, if any, to the determined data types for the first entity object.

10. The non-transitory computer-readable medium of claim 9 wherein determining at least one data type to which a first user has access rights further comprises:

determining if the first entity object has at least one indirect inheritance relationship with at least one further entity object through the at least one other entity object; and

for each of the indirect inheritance relationships that the first entity object is determined to have with at least one further entity object, accessing a stored set of access rights assigned to the further entity object, the access rights defining a right of the other entity object to access data by data type; and

adding the data types from the stored set of access rights assigned to the further entity object, if any, to the determined data types for the first entity object.

11. The non-transitory computer-readable medium of claim 7 wherein determining at least one data type to which a first user has access rights comprises:

for each of a number of pieces of data displayed in a data presentation user interface element currently presented to the user, identifying a respective data type in which the respective piece of data is classed.

12. The non-transitory computer-readable medium of claim 7 wherein determining at least one data type to which a first user has access rights, further comprises:

for each determined data type, determining if a relationship exists between the determined data type and any additional data types; and

adding the additional data types, if any, to the determined data types before identifying each of the number of data presentation user interface elements capable of representing the determined at least one data type.

13. A method of dynamically determining application flows at run time by a computing system including at least one processor and at least one nontransitory computer-readable memory, the method comprising:

determining by the at least one processor each of a number of data types to which a first entity object has at least one of assigned access rights or inherited access rights, wherein the determining each of a number of data types to which the first entity object has at least one of assigned access rights or inherited access rights comprises accessing a stored set of access rights assigned to the first entity object, the access rights defining a right of the entity object to access data by data type; and

dynamically building a navigation menu user interface element during run time by the at least one processor that provides a selection list of each of a number of data presentation user interface elements capable of representing data of the determined data types to which the first entity object has at least one of assigned access rights or inherited access rights.

14. The method of claim 13 , further comprising:

in response to a user selection of one of the data presentation user interface elements capable of representing the determined at least one data type, dynamically building the selected one of the data presentation user interface elements by the at least one processor.

15. The method of claim 13 wherein determining each of a number of data types to which a first entity object has at least one of assigned access rights or inherited access rights comprise determining whether the first entity object inherits access rights directly from a second entity object.

16. The method of claim 15 wherein determining each of a number of data types to which a first entity object has at least one of assigned access rights or inherited access rights comprise determining whether the first entity object inherits access rights indirectly from a third entity object from who the second entity object directly inherits access rights.

17. The method of claim 13 wherein dynamically building a navigation menu user interface element during run time that provides a selection list of each of a number of data presentation user interface elements capable of representing data of the determined data types to which the first entity object has at least one of assigned access rights or inherited access rights comprises determining a size of a pull-down menu based on the number of data presentation user interface elements capable of representing data of the determined data types to which the first entity object has at least one of assigned access rights or inherited access rights, and populating the pull-down menu with identifiers that uniquely identify each of the number of data presentation user interface elements capable of representing data of the determined data types to which the first entity object has at least one of assigned access rights or inherited access rights.

18. The method of claim 13 wherein dynamically building a navigation menu user interface element during run time that provides a selection list of each of a number of data presentation user interface elements capable of representing data of the determined data types to which the first entity object has at least one of assigned access rights or inherited access rights comprises building a page comprising at least one panel.

Assignments (17)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 11, 2026
From: ATTACHMATE CORPORATION
To: MICRO FOCUS LLC
Reel/Frame 073758/0828 →
RELEASE OF SECURITY INTEREST REEL/FRAME 044183/0718 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC (F/K/A ENTIT SOFTWARE LLC); BORLAND SOFTWARE CORPORATION; MICRO FOCUS (US), INC.; SERENA SOFTWARE, INC; ATTACHMATE CORPORATION; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.); NETIQ CORPORATION
Reel/Frame 062746/0399 →
RELEASE OF SECURITY INTEREST REEL/FRAME 035656/0251 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: BORLAND SOFTWARE CORPORATION; ATTACHMATE CORPORATION; NETIQ CORPORATION; MICRO FOCUS (US), INC.; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.)
Reel/Frame 062623/0009 →
CORRECTIVE ASSIGNMENT TO CORRECT THE TO CORRECT TYPO IN APPLICATION NUMBER 10708121 WHICH SHOULD BE 10708021 PREVIOUSLY RECORDED ON REEL 042388 FRAME 0386. ASSIGNOR(S) HEREBY CONFIRMS THE NOTICE OF SUCCESSION OF AGENCY. Recorded Jul 26, 2018
From: BANK OF AMERICA, N.A., AS PRIOR AGENT
To: JPMORGAN CHASE BANK, N.A., AS SUCCESSOR AGENT
Reel/Frame 048793/0832 →
SECURITY INTEREST Recorded Oct 11, 2017
From: ATTACHMATE CORPORATION; BORLAND SOFTWARE CORPORATION; NETIQ CORPORATION; MICRO FOCUS (US), INC.; MICRO FOCUS SOFTWARE, INC.; ENTIT SOFTWARE LLC; ARCSIGHT, LLC; SERENA SOFTWARE, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 044183/0718 →
NOTICE OF SUCCESSION OF AGENCY Recorded May 2, 2017
From: BANK OF AMERICA, N.A., AS PRIOR AGENT
To: JPMORGAN CHASE BANK, N.A., AS SUCCESSOR AGENT
Reel/Frame 042388/0386 →
SECURITY INTEREST Recorded May 13, 2015
From: MICRO FOCUS (US), INC.; BORLAND SOFTWARE CORPORATION; ATTACHMATE CORPORATION; NETIQ CORPORATION; NOVELL, INC.
To: BANK OF AMERICA, N.A.
Reel/Frame 035656/0251 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 028253/0098 Recorded Nov 24, 2014
From: CREDIT SUISSE AG
To: ATTACHMATE CORPORATION
Reel/Frame 034443/0621 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 028253/0086 Recorded Nov 24, 2014
From: CREDIT SUISSE AG
To: ATTACHMATE CORPORATION
Reel/Frame 034443/0558 →
GRANT OF PATENT SECURITY INTEREST FIRST LIEN Recorded May 23, 2012
From: ATTACHMATE CORPORATION
To: CREDIT SUISSE AG, AS COLLATERAL AGENT
Reel/Frame 028253/0086 →
GRANT OF PATENT SECURITY INTEREST SECOND LIEN Recorded May 23, 2012
From: ATTACHMATE CORPORATION
To: CREDIT SUISSE AG, AS COLLATERAL AGENT
Reel/Frame 028253/0098 →
RELEASE OF SECURITY INTEREST IN PATENTS FIRST LIEN (RELEASES RF 026268/0096) Recorded May 22, 2012
From: CREDIT SUISSE AG, AS COLLATERAL AGENT
To: ATTACHMATE CORPORATION
Reel/Frame 028253/0059 →
RELEASE OF SECURITY INTEREST IN PATENTS SECOND LIEN (RELEASES RF 026275/0105) Recorded May 22, 2012
From: CREDIT SUISSE AG, AS COLLATERAL AGENT
To: ATTACHMATE CORPORATION
Reel/Frame 028253/0042 →
GRANT OF PATENT SECURITY INTEREST (SECOND LIEN) Recorded May 13, 2011
From: ATTACHMATE CORPORATION
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 026275/0105 →
GRANT OF PATENT SECURITY INTEREST Recorded May 12, 2011
From: ATTACHMATE CORPORATION
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 026268/0096 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 20, 2010
From: NORRING, MICHAEL; CHALIPARAMBIL, KISHORE; NARAYANASWAMY, KALPANA; GORDON, JONATHAN; DUBRAY, X JEAN-JACQUES; GRUNOW, BRYAN; CALLAHAN, MICHAEL; OREBAUGH, BILL
To: ATTACHMATE CORPORATION
Reel/Frame 024867/0844 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 1, 2008
From: CHALIPARAMBIL, KISHORE; GORDON, JONATHAN; DUBRAY, JEAN-JACQUES; GRUNOW, BRYAN
To: ATTACHMATE CORPORATION
Reel/Frame 020737/0903 →